Граф коммитов

317 Коммитов

Автор SHA1 Сообщение Дата
Eden Chuang f519d74b3b Bug 1598131 - Propagate the browsingContext's COEP to the new created one in nsFrameLoader::Recreate r=farre
The COEP header needs to propagate to the new created BrowsingContext for process switching.

Differential Revision: https://phabricator.services.mozilla.com/D69936
2020-04-17 11:29:13 +00:00
Ciure Andrei c15dcac93b Backed out 10 changesets (bug 1614462) for causing xpcshell failures CLOSED TREE
Backed out changeset 34d4a86530b4 (bug 1614462)
Backed out changeset dbc2e2556d08 (bug 1614462)
Backed out changeset 512bbab4730c (bug 1614462)
Backed out changeset cd6b8d630f4c (bug 1614462)
Backed out changeset e4ad5037658f (bug 1614462)
Backed out changeset 0ffed1dc4296 (bug 1614462)
Backed out changeset 90ed81cbfe34 (bug 1614462)
Backed out changeset 6d2137eb1d52 (bug 1614462)
Backed out changeset b4819c99e16e (bug 1614462)
Backed out changeset b7deaed376ed (bug 1614462)
2020-04-17 02:26:14 +03:00
Kris Maglione 0cbfb2510e Bug 1614462: Part 1 - Remove unused message principals. r=nika
These were added for the sake of app browsers, and all of the code which
actually needed them has since been removed.

Differential Revision: https://phabricator.services.mozilla.com/D70741
2020-04-16 16:58:08 +00:00
Matt Woodrow a27cfc760b Bug 1627971 - Add option to MaybeFireEmbedderLoadEvents to also fire the error event to the embedder element. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D70585

--HG--
extra : moz-landing-system : lando
2020-04-15 22:30:13 +00:00
Nika Layzell 3fee0903f1 Bug 1616353 - Part 7.3: Use nsOpenWindowInfo for initializing xul:browser elements, r=kmag
This patch adds a `openWindowInfo` XPCOM attribute to the `nsIBrowser` interface
supported by the browser custom element. This attribute is then read by
`XULFrameElement`, and passed to `nsFrameLoader` to ensure the relevant flags
are used for newly opened windows.

This patch does not add support for passing openWindowInfo into mozbrowser
elements.

Differential Revision: https://phabricator.services.mozilla.com/D67052

--HG--
extra : moz-landing-system : lando
2020-04-07 21:39:34 +00:00
Nika Layzell 570fcda0e2 Bug 1616353 - Part 6.1: Implement nsILoadContext on BrowsingContext, r=smaug
This also moves nsDocShell's implementation of nsILoadContext to be based on its
BrowsingContext.

This patch does not, by itself, fix all places which try to mutate
`nsILoadContext`. Those are fixed by the other parts of this patch stack.

Differential Revision: https://phabricator.services.mozilla.com/D67045

--HG--
extra : moz-landing-system : lando
2020-04-07 21:39:12 +00:00
Nika Layzell dd1ef62596 Bug 1616353 - Part 3: Use an attribute to set geckoViewUserContextId on a browser, r=geckoview-reviewers,esawin
This is necessary to avoid the use of setOriginAttributesBeforeLoading, which is
being removed in this patch set.

Differential Revision: https://phabricator.services.mozilla.com/D67042

--HG--
extra : moz-landing-system : lando
2020-04-07 21:39:04 +00:00
Cosmin Sabou aefb5f9c88 Backed out 24 changesets (bug 1616353) for fission assertion failures nsGlobalWindowOuter.cpp.
Backed out changeset 3a43210e4900 (bug 1616353)
Backed out changeset cb77e9149cf8 (bug 1616353)
Backed out changeset 3aacc7cfe33f (bug 1616353)
Backed out changeset c026b06063a5 (bug 1616353)
Backed out changeset 580e790c5d17 (bug 1616353)
Backed out changeset 6f09bc1c476d (bug 1616353)
Backed out changeset 6955906262c0 (bug 1616353)
Backed out changeset a7700472807a (bug 1616353)
Backed out changeset a4735096e01b (bug 1616353)
Backed out changeset bd1706c57d91 (bug 1616353)
Backed out changeset 363c13296fda (bug 1616353)
Backed out changeset e414df387524 (bug 1616353)
Backed out changeset 765d3364cca0 (bug 1616353)
Backed out changeset 8a13355b4ac4 (bug 1616353)
Backed out changeset ada17fb8fca7 (bug 1616353)
Backed out changeset 6b6b99af186d (bug 1616353)
Backed out changeset ea966e78b296 (bug 1616353)
Backed out changeset cb88e0bbb3b9 (bug 1616353)
Backed out changeset f89a89015114 (bug 1616353)
Backed out changeset ae6058552969 (bug 1616353)
Backed out changeset f42bb5b48c1b (bug 1616353)
Backed out changeset 1ab9d22c73bb (bug 1616353)
Backed out changeset 2692c2c1396b (bug 1616353)
Backed out changeset 11a279c8da08 (bug 1616353)
2020-04-06 20:03:02 +03:00
Nika Layzell c17f79efce Bug 1616353 - Part 7.3: Use nsOpenWindowInfo for initializing xul:browser elements, r=kmag
This patch adds a `openWindowInfo` XPCOM attribute to the `nsIBrowser` interface
supported by the browser custom element. This attribute is then read by
`XULFrameElement`, and passed to `nsFrameLoader` to ensure the relevant flags
are used for newly opened windows.

This patch does not add support for passing openWindowInfo into mozbrowser
elements.

Differential Revision: https://phabricator.services.mozilla.com/D67052

--HG--
extra : moz-landing-system : lando
2020-04-06 14:30:04 +00:00
Nika Layzell 92cfb14d09 Bug 1616353 - Part 6.1: Implement nsILoadContext on BrowsingContext, r=smaug
This also moves nsDocShell's implementation of nsILoadContext to be based on its
BrowsingContext.

This patch does not, by itself, fix all places which try to mutate
`nsILoadContext`. Those are fixed by the other parts of this patch stack.

Differential Revision: https://phabricator.services.mozilla.com/D67045

--HG--
extra : moz-landing-system : lando
2020-04-06 14:29:47 +00:00
Nika Layzell e1bf02fc4f Bug 1616353 - Part 3: Use an attribute to set geckoViewUserContextId on a browser, r=geckoview-reviewers,esawin
This is necessary to avoid the use of setOriginAttributesBeforeLoading, which is
being removed in this patch set.

Differential Revision: https://phabricator.services.mozilla.com/D67042

--HG--
extra : moz-landing-system : lando
2020-04-06 14:29:35 +00:00
Alphan Chen cb65e20cb3 Bug 1507287 - Make sessionRestore work with session history living in the parent process. r=peterv,mikedeboer
Differential Revision: https://phabricator.services.mozilla.com/D46281

--HG--
extra : moz-landing-system : lando
2020-03-19 14:31:52 +00:00
Noemi Erli 744bc34135 Backed out changeset 4c6b9209306d (bug 1507287) for causing geckoview failures CLOSED TREE 2020-03-16 23:23:09 +02:00
Alphan Chen a9d46bba49 Bug 1507287 - Make sessionRestore work with session history living in the parent process. r=peterv,mikedeboer
Differential Revision: https://phabricator.services.mozilla.com/D46281

--HG--
extra : moz-landing-system : lando
2020-03-16 18:33:32 +00:00
Daniel Varga 8d900cf3ef Backed out changeset e51b4e883adc (bug 1507287) for not having proper review 2020-03-03 18:23:07 +02:00
Alphan Chen 9ead74bd10 Bug 1507287 - Make sessionRestore work with session history living in the parent process. r=peterv
Differential Revision: https://phabricator.services.mozilla.com/D46281

--HG--
extra : moz-landing-system : lando
2020-03-03 16:16:03 +00:00
Dan Glastonbury 8b1ffac083 Bug 1616171 - P1: Remote obsolete RemoteFrameChild fwd decl. r=nika
According to searchfox, this class doesn't exist anymore.

Differential Revision: https://phabricator.services.mozilla.com/D63453

--HG--
extra : moz-landing-system : lando
2020-02-25 23:17:45 +00:00
Nika Layzell 771fc6dd18 Bug 1615480 - Part 3: Rename nsFrameLoader::mBrowsingContext to avoid confusion, r=kmag
The new name should make it more clear that this should not be the default way
to look up the BrowsingContext instance from a nsFrameLoader, as it does not
ensure that the BrowsingContext has been fully initialized and attached to the
tree.

Differential Revision: https://phabricator.services.mozilla.com/D62959

--HG--
extra : moz-landing-system : lando
2020-02-21 21:53:33 +00:00
Nika Layzell 04b9498a12 Bug 1615480 - Part 1: Return a raw pointer from Get[Extant]BrowsingContext, r=kmag
The BrowsingContext is guaranteed to be being kept alive by
`nsFrameLoader::mBrowsingContext` and by the nsDocShell or RemoteBrowser object.
This improves the ergonomics of this helper method, which may help avoid misuse
of `mBrowsingContext`.

Differential Revision: https://phabricator.services.mozilla.com/D62957

--HG--
extra : moz-landing-system : lando
2020-02-21 21:03:54 +00:00
Cosmin Sabou 887b32be68 Backed out 3 changesets (bug 1615480) for causing build bustages on nsFrameLoader.cpp.
CLOSED TREE

Backed out changeset d6fd08e3fccf (bug 1615480)
Backed out changeset ad31eae54af2 (bug 1615480)
Backed out changeset 70aff2593d98 (bug 1615480)
2020-02-21 23:00:55 +02:00
Nika Layzell bab25b308b Bug 1615480 - Part 3: Rename nsFrameLoader::mBrowsingContext to avoid confusion, r=kmag
The new name should make it more clear that this should not be the default way
to look up the BrowsingContext instance from a nsFrameLoader, as it does not
ensure that the BrowsingContext has been fully initialized and attached to the
tree.

Differential Revision: https://phabricator.services.mozilla.com/D62959

--HG--
extra : moz-landing-system : lando
2020-02-21 18:46:38 +00:00
Nika Layzell df715e383d Bug 1615480 - Part 1: Return a raw pointer from Get[Extant]BrowsingContext, r=kmag
The BrowsingContext is guaranteed to be being kept alive by
`nsFrameLoader::mBrowsingContext` and by the nsDocShell or RemoteBrowser object.
This improves the ergonomics of this helper method, which may help avoid misuse
of `mBrowsingContext`.

Differential Revision: https://phabricator.services.mozilla.com/D62957

--HG--
extra : moz-landing-system : lando
2020-02-21 18:44:57 +00:00
Kris Maglione 1722817403 Bug 1582832: Part 1 - Make FrameLoader owner rather than DocShell responsible for discarding a BC. r=nika
There are all sorts of lifecycle issues which arise from making DocShell
responsible for discarding BrowsingContexts. In this particular bug, we tend
to run into them in cases where we create a BrowsingContext for a FrameLoader,
and then never create a DocShell for it, leading to it never being destroyed.
But there are myriad other issues as well.

This patch moves the responsibility for BrowsingContext lifecycle management
to the FrameLoader/FrameLoaderOwner, rather than the DocShell, which makes
things more consistent, and more closely aligns with spec-defined behavior.

Differential Revision: https://phabricator.services.mozilla.com/D59008

--HG--
extra : moz-landing-system : lando
2020-02-06 19:07:56 +00:00
Kris Maglione 11a00dbf84 Bug 1595936: Part 4 - Assert that we don't init FrameLoaders when unsafe. r=smaug
We go to some lengths to defer FrameLoader initialization to the end of
document updates. However, it is still possible for initialization to happen
earlier as a side-effect of other operations (such as
`nsFrameLoader::GetBrowsingContext()`) if they're called before initialization
has already happened. Since this is such an easy mistake to make, we should
assert that it doesn't happen so that we find out about it sooner rather than
later.

Differential Revision: https://phabricator.services.mozilla.com/D55877

--HG--
extra : moz-landing-system : lando
2020-01-24 19:03:20 +00:00
Kris Maglione b0061d264f Bug 1595936: Part 3b - Don't force FrameLoader initialization on removal. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D55875

--HG--
extra : moz-landing-system : lando
2020-01-24 19:03:20 +00:00
Matt Woodrow 4c52496f39 Bug 1603196 - Skip START_STOP notifications from old process being delivered to RemoteWebProgress when process switching during a load. r=kmag,nika
This doesn't block the STATE_START notification from the new process, as we currently have a second start notification (when DocumentChannel redirects to the real channel), so this is unchanged.

Differential Revision: https://phabricator.services.mozilla.com/D56818

--HG--
extra : moz-landing-system : lando
2020-01-09 22:31:40 +00:00
Emilio Cobos Álvarez 5e95f50f4f Bug 1606659 - Don't pass margin and scrollbar preferences to nsFrameLoader::Show. r=mattwoodrow
Instead, get them on the relevant code paths.

Differential Revision: https://phabricator.services.mozilla.com/D58534

--HG--
extra : moz-landing-system : lando
2020-01-05 22:48:40 +00:00
Emilio Cobos Álvarez ac506d6f4b Bug 1603889 - Simplify the scrollbar preference setup. r=smaug
So much plumbing to pass an enum down.

Differential Revision: https://phabricator.services.mozilla.com/D57182

--HG--
extra : moz-landing-system : lando
2019-12-15 22:56:23 +00:00
Olli Pettay c6003cd98a Bug 1596763 - Remove unused ParentSHistory, r=peterv
Differential Revision: https://phabricator.services.mozilla.com/D53190

--HG--
extra : moz-landing-system : lando
2019-11-27 10:36:32 +00:00
Nika Layzell d9c800fe18 Bug 1589054 - Part 3: Store mDocShell directly on nsFrameLoader, r=farre
This is necessary as the nsFrameLoader may have been swapped, due to a process
switch, before the teardown of the old nsDocShell is complete. In this case, the
nsDocShell is still present on the BrowsingContext despite a nsFrameLoader for a
remote frame having been set up.

This will also be important for future changes such as cross-process bfcache. It
may be possible to change the calls to `nsFrameLoader::GetDocShell()` back to
`mDocShell` accesses in the future.

Differential Revision: https://phabricator.services.mozilla.com/D49648

--HG--
extra : moz-landing-system : lando
2019-10-22 13:57:01 +00:00
Cosmin Sabou cce21ffe59 Backed out 3 changesets (bug 1589054) for browser chrome failures on browser_crash_oopiframe.js CLOSED TREE
Backed out changeset 1a43032819e1 (bug 1589054)
Backed out changeset 91e4d5c6422a (bug 1589054)
Backed out changeset 03bc24aa3a2c (bug 1589054)
2019-10-21 19:29:20 +03:00
Nika Layzell 5edef5cff0 Bug 1589054 - Part 3: Store mDocShell directly on nsFrameLoader, r=farre
This is necessary as the nsFrameLoader may have been swapped, due to a process
switch, before the teardown of the old nsDocShell is complete. In this case, the
nsDocShell is still present on the BrowsingContext despite a nsFrameLoader for a
remote frame having been set up.

This will also be important for future changes such as cross-process bfcache. It
may be possible to change the calls to `nsFrameLoader::GetDocShell()` back to
`mDocShell` accesses in the future.

Differential Revision: https://phabricator.services.mozilla.com/D49648

--HG--
extra : moz-landing-system : lando
2019-10-21 14:03:40 +00:00
Nika Layzell 965f006a70 Bug 1576714 - Part 3: Initiate subframe process switches from the parent, r=kmag
This flips the direction in which the BrowserBridge actor is generally created
such that it is generally created in the parent and sent down to a child
process.

This is done by making the decision about what kind of switch to perform in the
parent, and sending messages down to child processes async to orchestrate these
process changes.

Process launching is changed to use an async `MozPromise`-returning API in this
patch, though the actual process launching still occurs synchronously. A future
patch will enable performing async process launching through the
NewOrUsedBrowserProcess mechanism.

I know of at least a few timing issues which exist with the new logic,
especially around the state of the BrowsingContext during the process
transition. I decided to not try to fix all of these issues in this patch, as
many are complex and will require changing how we manage the lifecycle of
BrowsingContext substantially. I do, however, think that the new logic is more
reliable and has fewer timing issues than the previous logic.

Differential Revision: https://phabricator.services.mozilla.com/D47310

--HG--
extra : moz-landing-system : lando
2019-10-15 16:19:16 +00:00
Csoregi Natalia 8768a4f5e3 Backed out 7 changesets (bug 1576714) for fission permafailures on test_bug590812.html. a=backout
Backed out changeset d0c49f00eb91 (bug 1576714)
Backed out changeset faecc9f35b49 (bug 1576714)
Backed out changeset 2e156655c31e (bug 1576714)
Backed out changeset eece722082c7 (bug 1576714)
Backed out changeset ebda40f96884 (bug 1576714)
Backed out changeset 7dce423417d8 (bug 1576714)
Backed out changeset 9a5072019168 (bug 1576714)
2019-10-05 00:08:33 +03:00
Nika Layzell 89b22d83ef Bug 1576714 - Part 3: Initiate subframe process switches from the parent, r=kmag
This flips the direction in which the BrowserBridge actor is generally created
such that it is generally created in the parent and sent down to a child
process.

This is done by making the decision about what kind of switch to perform in the
parent, and sending messages down to child processes async to orchestrate these
process changes.

Process launching is changed to use an async `MozPromise`-returning API in this
patch, though the actual process launching still occurs synchronously. A future
patch will enable performing async process launching through the
NewOrUsedBrowserProcess mechanism.

I know of at least a few timing issues which exist with the new logic,
especially around the state of the BrowsingContext during the process
transition. I decided to not try to fix all of these issues in this patch, as
many are complex and will require changing how we manage the lifecycle of
BrowsingContext substantially. I do, however, think that the new logic is more
reliable and has fewer timing issues than the previous logic.

Differential Revision: https://phabricator.services.mozilla.com/D47310

--HG--
extra : moz-landing-system : lando
2019-10-03 21:40:24 +00:00
Brindusan Cristian 950e03660b Backed out 6 changesets (bug 1576714) for build bustages at nsFrameLoaderOwner.cpp. CLOSED TREE
Backed out changeset 083967e704d2 (bug 1576714)
Backed out changeset b3467f1bdde7 (bug 1576714)
Backed out changeset 88e3b4b7fbaf (bug 1576714)
Backed out changeset b91221da32c7 (bug 1576714)
Backed out changeset 6996b7705f06 (bug 1576714)
Backed out changeset a303fc193f60 (bug 1576714)
2019-10-02 04:14:53 +03:00
Nika Layzell f55d088ec3 Bug 1576714 - Part 3: Initiate subframe process switches from the parent, r=kmag
This flips the direction in which the BrowserBridge actor is generally created
such that it is generally created in the parent and sent down to a child
process.

This is done by making the decision about what kind of switch to perform in the
parent, and sending messages down to child processes async to orchestrate these
process changes.

Process launching is changed to use an async `MozPromise`-returning API in this
patch, though the actual process launching still occurs synchronously. A future
patch will enable performing async process launching through the
NewOrUsedBrowserProcess mechanism.

I know of at least a few timing issues which exist with the new logic,
especially around the state of the BrowsingContext during the process
transition. I decided to not try to fix all of these issues in this patch, as
many are complex and will require changing how we manage the lifecycle of
BrowsingContext substantially. I do, however, think that the new logic is more
reliable and has fewer timing issues than the previous logic.

Differential Revision: https://phabricator.services.mozilla.com/D47310

--HG--
extra : moz-landing-system : lando
2019-10-01 18:09:03 +00:00
Nika Layzell f103e26834 Bug 1579213 - Remove unused fields from ChangeRemoteness API, r=farre
This patch changes a few things about how nsFrameLoader is created, specifically
around the ChangeRemoteness API.

1. The private 'nsFrameLoader::nsFrameLoader' constructor has been simplified to
   only have one overload, shared by the different `::Create` static methods.

2. The creation static method used by `ChangeRemoteness` has changed name to
   `::Recreate`, as the signature is becoming more like the old method.

3. The `mNetworkCreated` bit is preserved when doing a `ChangeRemoteness`, as a
   remoteness change shouldn't be affecting that property.

4. Unused fields are removed from the ChangeRemoteness API.

5. The `remoteType` attribute is now mandatory in the ChangeRemoteness API,
   which simplifies the logic and makes it harder to accidentally misuse.

Differential Revision: https://phabricator.services.mozilla.com/D44893

--HG--
extra : moz-landing-system : lando
2019-09-11 08:09:58 +00:00
Nika Layzell 0354cad681 Bug 1577711 - Part 2: Perform frame static clone after parent static clone, r=smaug
This is done by delaying the code within nsFrameLoader::CreateStaticClone until
after the document has been created. The nsFrameLoader is re-discovered using
the subframe BrowsingContext's mEmbedderElement.

Differential Revision: https://phabricator.services.mozilla.com/D44586

--HG--
extra : moz-landing-system : lando
2019-09-05 14:55:19 +00:00
Kris Maglione 85c7f7187f Bug 1566186: Part 1 - Remove DocShell support for isolated mozbrowsers. r=nika
This functionality is currently unused, and blocks work needed to support
Fission.

Differential Revision: https://phabricator.services.mozilla.com/D39542

--HG--
extra : rebase_source : 1d8fdea73d48c714112d13844f5110f7f1892dda
2019-07-16 16:40:19 -07:00
Alphan Chen 02e1dcbe25 bug 1562889 - Convert content-sessionStore to C++: add browser epochs support r=peterv
Differential Revision: https://phabricator.services.mozilla.com/D36606

--HG--
extra : moz-landing-system : lando
2019-07-11 09:46:14 +00:00
Ryan Hunt 27bd25767f Bug 1561395 - Move drawSnapshot API to WindowGlobalParent and allow specifying the whole viewport as a rect. r=mattwoodrow,nika
Differential Revision: https://phabricator.services.mozilla.com/D35842

--HG--
extra : moz-landing-system : lando
2019-07-10 16:45:46 +00:00
Nika Layzell e3eb05b9c9 Bug 1560399 - Propagate remote type selection into subframes with Fission, r=farre
Differential Revision: https://phabricator.services.mozilla.com/D35451

--HG--
extra : moz-landing-system : lando
2019-06-21 16:24:55 +00:00
Mike Conley 45db9df532 Bug 1559240 - Make sure oop-browser-context passes the BrowsingContext of the crashing subframe. r=rhunt
Differential Revision: https://phabricator.services.mozilla.com/D34930

--HG--
extra : moz-landing-system : lando
2019-06-13 21:06:23 +00:00
Ryan Hunt 298a301151 Bug 1556548 - Make RenderFrame an internal detail to BrowserParent. r=mattwoodrow,farre
Code outside of BrowserParent should just get the LayersId from a getter
and not worry about RenderFrame.

Differential Revision: https://phabricator.services.mozilla.com/D33562

--HG--
extra : rebase_source : 63f9f9680a7cb16a18d9e56999e02a124aa63429
extra : source : e86839ca63260b09184755c98890fa8abf371530
extra : histedit_source : 34333f5f78ecf9b4f3e12c6175a6e81724a41fb2
2019-05-31 16:00:57 -05:00
Ryan Hunt ea567d2cec Bug 1519546, part 4 - Wire up basic EffectsInfo updates in DOM IPC. r=farre
This commit adds RemoteBrowser::UpdateEffects for updating a remote browser's
EffectsInfo over IPC.

A following commit will actually use the EffectsInfo for
enabling/disabling rendering for a remote browser, and another
commit will actually use these IPDL methods.

Differential Revision: https://phabricator.services.mozilla.com/D31472

--HG--
extra : rebase_source : 304d843d2c4a35f468aa847ee66005a932bb7eb2
extra : intermediate-source : d31b7d33efc711fb8115663f4cfc5bc98fd58d73
extra : source : 5aea122dea2120efe107c639b17678e0464b1389
2019-05-15 15:26:25 -05:00
Nika Layzell e24cefae3f Bug 1553952 - Fire oop-browser-crashed when mBrowserParent construction fails, r=mconley
This is an attempt to reduce the negative impact of bug 1553644 by replacing a
remote browser which fails to create an `mBrowserParent` actor with a tab
crashed display rather than a failed `nsFrameLoader`. This is done by firing the
`oop-browser-crashed` event on the owner `<browser>` element when the attempt
fails, even if no `BrowserParent` was ever created.

This does not fix the root cause of bug 1553644, but may make the browser better
at recovering.

Differential Revision: https://phabricator.services.mozilla.com/D32381

--HG--
extra : moz-landing-system : lando
2019-05-24 22:14:44 +00:00
Ryan Hunt 1a2ad4026e Bug 1525720, part 11 - Use RemoteBrowser interface instead of IPDL actors in nsFrameLoader. r=nika
This commit replaces the direct use of the IPDL actors in nsFrameLoader with
the RemoteBrowser interface. Some special use cases are adapted to still use
the IPDL actors. In the future, we should burn these use cases down.

Differential Revision: https://phabricator.services.mozilla.com/D31442

--HG--
extra : source : 1bcf9f586c5582ddeb822f4c2be3ca314694337e
2019-05-06 21:29:48 -05:00
Ryan Hunt 7959d6495e Bug 1525720, part 7 - Use getter methods to access mBrowserParent and mBrowserBridgeChild. r=farre
This prepares nsFrameLoader for replacing mBrowserParent and mBrowserBridgeChild
with a common interface by making special case code use a getter method instead
of direct access.

Differential Revision: https://phabricator.services.mozilla.com/D31437

--HG--
extra : source : 32eeee79d628dade8109454c636d5f8aaff0c93e
2019-04-25 12:36:16 -05:00
Ryan Hunt 936683ad1d Bug 1525720, part 3 - Remove method to createRemoteFrameLoader from nsIMozBrowserFrame interface. r=farre
This appears unused and adds unneeded surface area for these API's to support.

Differential Revision: https://phabricator.services.mozilla.com/D31431

--HG--
extra : source : 9a255864f75ddcf4096b6222d016a914f5a43c8a
2019-04-24 23:25:56 -05:00
Gurzau Raul 57f573a6ff Backed out 18 changesets (bug 1525720) for mass failures on Windows platform e.g ProcessPriorityManager.cpp on a CLOSED TREE.
Backed out changeset 1f2e86c2d691 (bug 1525720)
Backed out changeset 9b79caa460a0 (bug 1525720)
Backed out changeset e65cb2d4c5a5 (bug 1525720)
Backed out changeset 99f971a02d87 (bug 1525720)
Backed out changeset d25963c72ff7 (bug 1525720)
Backed out changeset 810b73719871 (bug 1525720)
Backed out changeset ee10a8254481 (bug 1525720)
Backed out changeset 1bcf9f586c55 (bug 1525720)
Backed out changeset d3b2ac8d5ca4 (bug 1525720)
Backed out changeset 697774dd8984 (bug 1525720)
Backed out changeset eadeacbe4483 (bug 1525720)
Backed out changeset 32eeee79d628 (bug 1525720)
Backed out changeset 07678a2fa9e7 (bug 1525720)
Backed out changeset 757b4f595cc4 (bug 1525720)
Backed out changeset b255e0a84e12 (bug 1525720)
Backed out changeset 9a255864f75d (bug 1525720)
Backed out changeset 5f1c1b609ec1 (bug 1525720)
Backed out changeset 00d83f1d02e0 (bug 1525720)
2019-05-23 01:57:16 +03:00
Ryan Hunt 9196bf1d7b Bug 1525720, part 11 - Use RemoteBrowser interface instead of IPDL actors in nsFrameLoader. r=nika
This commit replaces the direct use of the IPDL actors in nsFrameLoader with
the RemoteBrowser interface. Some special use cases are adapted to still use
the IPDL actors. In the future, we should burn these use cases down.

Differential Revision: https://phabricator.services.mozilla.com/D31442

--HG--
extra : rebase_source : f3a53c733cfaee33bec4a74615f87fd636ddd22a
extra : histedit_source : 10c5071221fe61418ee7dc72668c99243f50087d
2019-05-06 21:29:48 -05:00
Ryan Hunt 1d9e574c17 Bug 1525720, part 7 - Use getter methods to access mBrowserParent and mBrowserBridgeChild. r=farre
This prepares nsFrameLoader for replacing mBrowserParent and mBrowserBridgeChild
with a common interface by making special case code use a getter method instead
of direct access.

Differential Revision: https://phabricator.services.mozilla.com/D31437

--HG--
extra : rebase_source : a3493579481b7b79086c34486b7342783fd68070
extra : histedit_source : d4a2909d13575822d36611879d2e14211ef2cf3a
2019-04-25 12:36:16 -05:00
Ryan Hunt 5592e0d298 Bug 1525720, part 3 - Remove method to createRemoteFrameLoader from nsIMozBrowserFrame interface. r=farre
This appears unused and adds unneeded surface area for these API's to support.

Differential Revision: https://phabricator.services.mozilla.com/D31431

--HG--
extra : rebase_source : 7886ce8abf398d13432fa9e2ef61cedac41f52b4
extra : histedit_source : dc5404d058bac24d47459bd89d261a506a2a891b
2019-04-24 23:25:56 -05:00
Alphan Chen 2dbd18c6c8 Bug 1549973 - Force tabState flush from C++ listener before tab is closed r=peterv
Differential Revision: https://phabricator.services.mozilla.com/D30475

--HG--
extra : moz-landing-system : lando
2019-05-22 09:06:14 +00:00
Kyle Machulis 9f9436d028 Bug 1540839 - Add ability to preserve browsing contexts between FrameLoaders; r=nika
When changing processes and therefore destroying/rebuilding
frameloaders, add ability to keep the browsing context around and add
it to the new frameloader.

Differential Revision: https://phabricator.services.mozilla.com/D26267
2019-05-14 10:51:04 -07:00
Razvan Maries 1be8bab7d1 Backed out 8 changesets (bug 1540839) for build bustages. CLOSED TREE
Backed out changeset f7e477858ab7 (bug 1540839)
Backed out changeset 55e841a0f005 (bug 1540839)
Backed out changeset b71b58e40426 (bug 1540839)
Backed out changeset 484a54613358 (bug 1540839)
Backed out changeset b34c4d71f202 (bug 1540839)
Backed out changeset 8ff2ff524489 (bug 1540839)
Backed out changeset 27492a30286c (bug 1540839)
Backed out changeset f1c35e8e84f6 (bug 1540839)
2019-05-14 04:23:27 +03:00
Kyle Machulis deebf851e0 Bug 1540839 - Add ability to preserve browsing contexts between FrameLoaders; r=nika
When changing processes and therefore destroying/rebuilding
frameloaders, add ability to keep the browsing context around and add
it to the new frameloader.

Differential Revision: https://phabricator.services.mozilla.com/D26267
2019-05-13 17:58:44 -07:00
Hiroyuki Ikezoe 863f6d62eb Bug 1518919 - Propagate CSS visibility information to descendant documents via IPC call for fission. r=jwatt
Differential Revision: https://phabricator.services.mozilla.com/D30460

--HG--
extra : moz-landing-system : lando
2019-05-13 01:49:07 +00:00
Masayuki Nakano 19fbb1a392 Bug 1549925 - Mark all methods of nsIDocumentStateListener as can_run_script r=m_kato
`nsIDocumentStateListener` is a scriptable interface and each method may run
any script.  So, we should mark them as `can_run_script`.  Then, we need to
mark a lot of editing methods because we need to mark
`EditorBase::EndTransactionInternal()` and `EditorBase::DoTransactionInternal()`
as `MOZ_CAN_RUN_SCRIPT`.

Differential Revision: https://phabricator.services.mozilla.com/D30360

--HG--
extra : moz-landing-system : lando
2019-05-09 07:37:51 +00:00
Alphan Chen d12fbd8633 Bug 1474130 - Implement ScrollPosition/Privacy/DocCapability listeners in C++ r=peterv
Differential Revision: https://phabricator.services.mozilla.com/D23057

--HG--
extra : moz-landing-system : lando
2019-05-04 10:42:52 +00:00
Ryan Hunt d6509bb237 Bug 1534395 - Rename TabChild to BrowserChild. r=nika
This commit renames TabChild to BrowserChild.

Differential Revision: https://phabricator.services.mozilla.com/D28135

--HG--
rename : dom/base/InProcessTabChildMessageManager.cpp => dom/base/InProcessBrowserChildMessageManager.cpp
rename : dom/base/InProcessTabChildMessageManager.h => dom/base/InProcessBrowserChildMessageManager.h
rename : dom/ipc/TabChild.cpp => dom/ipc/BrowserChild.cpp
rename : dom/ipc/TabChild.h => dom/ipc/BrowserChild.h
extra : rebase_source : e7fcfb845a971a2760e73d517e24da18ce2551b5
extra : histedit_source : d1991334ccb107fe56e478865f22fd97b041a317
2019-04-09 17:39:01 -05:00
Ryan Hunt 0eeced87be Bug 1534395 - Rename TabParent to BrowserParent. r=nika
This commit renames TabParent to BrowserParent.

Differential Revision: https://phabricator.services.mozilla.com/D28133

--HG--
rename : dom/ipc/TabParent.cpp => dom/ipc/BrowserParent.cpp
rename : dom/ipc/TabParent.h => dom/ipc/BrowserParent.h
extra : rebase_source : d2706b9f42177d8de16068b7b1d088a44b8720a4
extra : histedit_source : a617ddac45c58050ef799116a67d2d983f2a8f6d%2C1d1dabd8761a32d548a6fbf1027be960698f6a5e
2019-04-09 16:38:15 -05:00
Ryan Hunt 3675f2449b Bug 1534395 - Rename nsITabParent to nsIRemoteTab. r=nika,mconley
nsITabParent is exposed to frontend code and is generally used as a representation of a remote tab. We could just rename the interface to nsIBrowserParent and worry about it later, but I think it's better to rename the interface to nsIRemoteTab so that we can later work on splitting the interface away from the PBrowser protocol.

Note: Some frontend code refers to a TabParentId. This commit renames this to RemoteTabId. We need to figure out the purpose of TabId with fission.

Differential Revision: https://phabricator.services.mozilla.com/D28132

--HG--
rename : dom/interfaces/base/nsITabParent.idl => dom/interfaces/base/nsIRemoteTab.idl
extra : rebase_source : 9d8a1790a7bb10195ad063644d1a93d63b2afb72
2019-04-09 15:59:37 -05:00
Ryan Hunt a964b8a7f2 Bug 1534395 - Rename mRemoteBrowser to mBrowserParent in nsFrameLoader. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D28131

--HG--
extra : rebase_source : f4a2805ac72f79248121591926a2d1cc06f82f0c
2019-04-08 16:23:25 -05:00
Nika Layzell bc80781e67 Bug 1539163 - Part 1: support resuming load after process switch, r=qdot
This adds a codepath to the process switching logic to, rather than triggering
a fresh load, resume a process switching load.

Differential Revision: https://phabricator.services.mozilla.com/D27512

--HG--
extra : moz-landing-system : lando
2019-04-17 00:53:28 +00:00
Nika Layzell 40f91b783c Bug 1542790 - Part 4: Change definition of toplevel content to match reality in nsFrameLoader, r=qdot
This prevents cross-process window proxies for being created for remote
browsers embedded in a content browser, as well as establishing a boundary at
<iframe mozbrowser>

Differential Revision: https://phabricator.services.mozilla.com/D27515

--HG--
extra : moz-landing-system : lando
2019-04-17 00:53:14 +00:00
Andreas Farre 29d439a983 Bug 1523636 - Create BrowsingContext in nsFrameLoader. r=nika,qdot
Differential Revision: https://phabricator.services.mozilla.com/D25039

--HG--
extra : moz-landing-system : lando
2019-04-15 15:14:54 +00:00
Masayuki Nakano 414509fe00 Bug 1543315 - part 9: Mark nsIPresShell::FlushPendingNotifications() as MOZ_CAN_RUN_SCRIPT r=smaug
So, this patch makes all caller of it safe including its arguments unless
they come from other methods.

Differential Revision: https://phabricator.services.mozilla.com/D27225

--HG--
extra : moz-landing-system : lando
2019-04-13 12:43:57 +00:00
Csoregi Natalia b794b31607 Backed out changeset d76b42f0d6ca (bug 1523636) for causing bug 1543015. a=backout 2019-04-10 18:46:01 +03:00
Andreas Farre 888908c3cb Bug 1523636 - Create BrowsingContext in nsFrameLoader. r=nika,qdot
Differential Revision: https://phabricator.services.mozilla.com/D25039

--HG--
extra : moz-landing-system : lando
2019-04-08 08:21:40 +00:00
Ryan Hunt 7f35fd333c Bug 1516425 - Hold a strong reference to TabParent from nsFrameLoader and make TabParent cycle collected. r=smaug
Currently TabParent is refcounted, but nsFrameLoader hold a weak pointer. The pointer
should be cleared out when the TabParent is destroyed, but that's a bit of a footgun
and it's not obvious that we always do this correctly.

Because TabParent holds a reference to a nsFrameLoader and the frame element (which
contains a nsFrameLoader), I think this means we need to cycle collect TabParent.

--HG--
extra : rebase_source : 06e04c2ba8ea81d996d2688a1b0064aa37f45bbc
2019-04-02 10:35:51 -04:00
Christoph Kerschbaumer 49a632b6c1 Bug 1532207: Do not query the CSP from the principal within LoadFrame, but rather do not even set the Principal if it does not override the CSP within nsContentUtils::GetAttrTriggeringPrincipal. r=bzbarsky
Differential Revision: https://phabricator.services.mozilla.com/D22121

--HG--
extra : moz-landing-system : lando
2019-03-14 11:39:04 +00:00
Kyle Machulis 514400e811 Bug 1522713 - Allow updating of Frameloader Remoteness via FrameLoaderOwner; r=nika
Adds a method for to nsFrameLoaderOwner destroying and rebuilding a
FrameLoader in order to facilitate a process switch. Method works
without requiring that the work be done in the frontend.

Depends on D22789

Differential Revision: https://phabricator.services.mozilla.com/D22790

--HG--
extra : moz-landing-system : lando
2019-03-14 01:25:07 +00:00
Kyle Machulis 0f2bca226d Bug 1522713 - Rename mRemoteFrame to mIsRemoteFrame; r=nika
We have mRemoteFrameChild which owns a RemoteFrameChild, but
mRemoteFrame is just a state. Change to mIsRemoteFrame to reflect
this.

Differential Revision: https://phabricator.services.mozilla.com/D22789

--HG--
extra : moz-landing-system : lando
2019-03-14 00:51:58 +00:00
Ryan Hunt c39b1f89d0 Bug 1532725 - Rename PRemoteFrame to PBrowserBridge. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D22132

--HG--
rename : dom/ipc/RemoteFrameChild.cpp => dom/ipc/BrowserBridgeChild.cpp
rename : dom/ipc/RemoteFrameChild.h => dom/ipc/BrowserBridgeChild.h
rename : dom/ipc/RemoteFrameParent.cpp => dom/ipc/BrowserBridgeParent.cpp
rename : dom/ipc/RemoteFrameParent.h => dom/ipc/BrowserBridgeParent.h
rename : dom/ipc/PRemoteFrame.ipdl => dom/ipc/PBrowserBridge.ipdl
extra : rebase_source : d5ca117b96c0d266041d23d80f0f4ab9b0471fb6
2019-03-04 20:15:58 -06:00
Hiroyuki Ikezoe af78a85968 Bug 1532443 - Drop clampScrollPoistion stuff. r=kats
This was introduced in bug 726817 for B2G stuff and there is no call site of
SetClampScrollPosition now and the only one entry point to call the function
was nsIFrameLoader.clampScrollPosition which was removed in
https://hg.mozilla.org/mozilla-central/rev/cd9aace7bb96 .

ScrollFrameHelper::ShouldClampScrollPosition() had always returned true in both
cases of root and non-root scrollable frames. (In the case of non-root
scrollable, nsFrameLoader.mClampScrollPosition is initially set to true and
nobody changes the value)

Differential Revision: https://phabricator.services.mozilla.com/D22026

--HG--
extra : moz-landing-system : lando
2019-03-04 22:16:46 +00:00
Henri Sivonen 8d2a0bd7ac Bug 1524977 - Use RemoteFrameChild if present in nsFocusManager::GetNextTabbableContent(). r=nika
Differential Revision: https://phabricator.services.mozilla.com/D21913

--HG--
extra : moz-landing-system : lando
2019-03-05 19:33:09 +00:00
Kyle Machulis 342d109220 Bug 1529164 - Remove FakePlugin frame loading; r=nika
Remove the ability for fake plugins to create frames. Fake plugins
aren't used anymore, so we can simplify nsFrameLoader a bit by
removing some of the related checks.

Differential Revision: https://phabricator.services.mozilla.com/D20430

--HG--
extra : moz-landing-system : lando
2019-02-20 14:12:05 +00:00
Kyle Machulis 2bb286e58e Bug 1524683 - Move all nsIFrameLoaderOwner references to nsFrameLoaderOwner; r=nika
Depends on D19728

Differential Revision: https://phabricator.services.mozilla.com/D19729

--HG--
extra : moz-landing-system : lando
2019-02-15 22:20:53 +00:00
Ryan Hunt 2feee8e648 Bug 1500257 part 8 - Remove dependency on RenderFrame from nsDisplayRemote. r=aosmond
This commit removes the dependency on RenderFrame from nsDisplayRemote so that
it can work in child processes with remote subframes. Instead nsDisplayRemote
now works with an nsFrameLoader, which will return the LayerId from either
the RenderFrame (for top-level remote browsers), or from RemoteFrameChild
(for remote subframes).

Differential Revision: https://phabricator.services.mozilla.com/D17448

--HG--
extra : source : 1e1b5cd23412a85fad19ab8ec5aacf31b3a9c9b6
extra : intermediate-source : a62c029510315d109faa9edb31216014e7c70367
extra : histedit_source : 3df246e632fbb71f731c856779e0d2201b3673a3
2019-01-23 11:07:57 -06:00
Ryan Hunt 0d69472e8b Bug 1500257 part 4 - Modify nsFrameLoader to create PRemoteFrame when enabled via pref and attribute. r=qdot
This commit hooks up nsFrameLoader in the child process to use the
PRemoteFrame protocol to support remote iframes. This is only activated
when a special pref is set, and the iframe has a marker attribute on it.

For example:
<iframe fission/>

In the future, we should unify nsFrameLoader to operate on a common
interface between the parent process top-level browser, and child
process subframe case. This commit just adds a new member that can
be used instead of mRemoteBrowser, when appropriate. IsRemoteFrame()
will return true for both cases.

Differential Revision: https://phabricator.services.mozilla.com/D17444

--HG--
extra : source : e33b9de7283e5fb6441e118b25af8d4ac3411bf2
extra : intermediate-source : 697a9159e0d260118ee6ebd34948d187a8c5359f
2019-01-23 10:56:27 -06:00
Emilio Cobos Álvarez d2ed260822 Bug 1517241 - Rename nsIDocument to mozilla::dom::Document. r=smaug
Summary: Really sorry for the size of the patch. It's mostly automatic
s/nsIDocument/Document/ but I had to fix up in a bunch of places manually to
add the right namespacing and such.

Overall it's not a very interesting patch I think.

nsDocument.cpp turns into Document.cpp, nsIDocument.h into Document.h and
nsIDocumentInlines.h into DocumentInlines.h.

I also changed a bunch of nsCOMPtr usage to RefPtr, but not all of it.

While fixing up some of the bits I also removed some unneeded OwnerDoc() null
checks and such, but I didn't do anything riskier than that.
2019-01-03 17:48:33 +01:00
Peter Van der Beken 58c7fc4d20 Bug 1353867 - Change WindowProxyHolder's native type to BrowsingContext. r=bzbarsky
Make the WindowProxyHolder hold a strong reference to a BrowsingContext, as in the future
we might not have a nsPIDOMWindowOuter (if the document is loaded in a different process).

Differential Revision: https://phabricator.services.mozilla.com/D12651

--HG--
extra : moz-landing-system : lando
2019-01-02 13:27:05 +00:00
Nika Layzell 554bfd2811 Bug 1500948 - Expose BrowsingContext on nsFrameLoader objects, r=farre
This should make BrowsingContext more usable by making it much easier to obtain
for a given frame or browser. BrowsingContext and nsFrameLoader should have
the same lifetime.

Differential Revision: https://phabricator.services.mozilla.com/D9395
2018-12-05 10:18:36 -05:00
Sylvestre Ledru 265e672179 Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format
# ignore-this-changeset

--HG--
extra : amend_source : 4d301d3b0b8711c4692392aa76088ba7fd7d1022
2018-11-30 11:46:48 +01:00
Emilio Cobos Álvarez cf56163d41 Bug 1509044 - FrameLoader.clipSubdocument is unused. r=jwatt,smaug
Plus it generally doesn't work for e10s, etc. etc.

Differential Revision: https://phabricator.services.mozilla.com/D12547

--HG--
extra : moz-landing-system : lando
2018-11-21 20:06:15 +00:00
Ryan Hunt 5b463a82c1 Bug 1503655 part 11 - Rename RenderFrameParent to RenderFrame. r=kats
Differential Revision: https://phabricator.services.mozilla.com/D11114

--HG--
rename : layout/ipc/RenderFrameParent.cpp => layout/ipc/RenderFrame.cpp
rename : layout/ipc/RenderFrameParent.h => layout/ipc/RenderFrame.h
extra : rebase_source : d47ebaef909d8705a7d5d9d2eab8ca2053f58054
extra : histedit_source : dc40313790b59161b3df86c09efb7092bcedb5d8
2018-11-06 15:35:37 -06:00
Andreas Farre 89cb220346 Bug 1480198 - Construct nsDocShell objects inside BrowsingContext. r=peterv
Differential Revision: https://phabricator.services.mozilla.com/D7400

--HG--
extra : moz-landing-system : lando
2018-11-05 12:43:10 +00:00
Ryan Hunt 3bb8e3eca9 Bug 1475139 part 12 - Expose drawSnapshot API to <browser>. r=nika
This commit initially exposes the drawSnapshot API off of <browser>. This
is done by adding a WebIDL binding to FrameLoader and wrapping it in
browser.xml.

Differential Revision: https://phabricator.services.mozilla.com/D6791

--HG--
extra : rebase_source : 9f819b13c102edf42ab2bb2466578751a7a2f647
2018-09-24 21:48:30 -05:00
Nicholas Nethercote d0be881cf4 Bug 1494244 - Remove dead code in and around nsFrameLoader methods. r=nika
This was found with the help of code coverage results.
2018-10-03 13:09:26 +10:00
Jonathan Kingston 33b8e3a7b3 Bug 1493956 - Pass an explicit triggeringPrincipal in nsFrameLoader. r=ckerschb,nika
Differential Revision: https://phabricator.services.mozilla.com/D6773

--HG--
extra : moz-landing-system : lando
2018-09-28 14:00:13 +00:00
Kris Maglione 6b594aefe4 Bug 1480244: Part 1b - Rename nsInProcessTabChildGlobal to InProcessTabChildMessageManager. r=bz
MozReview-Commit-ID: GgleVt1tXTG

--HG--
rename : dom/base/nsInProcessTabChildGlobal.cpp => dom/base/InProcessTabChildMessageManager.cpp
rename : dom/base/nsInProcessTabChildGlobal.h => dom/base/InProcessTabChildMessageManager.h
extra : rebase_source : c0a595cb31c98952e9586830c8d1cee9f9d4c62b
2018-08-10 14:08:07 -07:00
Boris Zbarsky b421d6d7fb Bug 1479569 part 1. Add a ContentFrameMessageManager getter on nsIDocShell. r=kmag 2018-08-02 23:49:09 -04:00
Csoregi Natalia 08c950712e Backed out 3 changesets (bug 1479569) for devtools/client/responsive.html failures. CLOSED TREE
Backed out changeset e123d0aa911c (bug 1479569)
Backed out changeset b828a58404e5 (bug 1479569)
Backed out changeset 97041ef8f311 (bug 1479569)
2018-08-03 10:39:12 +03:00
Boris Zbarsky 0bfdfe4699 Bug 1479569 part 1. Add a ContentFrameMessageManager getter on nsIDocShell. r=kmag 2018-08-02 23:49:09 -04:00
Andi-Bogdan Postelnicu 88cc63910d Bug 1453795 - DOM - Initialize member fields in classes/ structures. r=peterv
--HG--
extra : rebase_source : 249fc26e50bded4e94f5effa4308af0f1e54b908
2018-06-16 17:21:46 +03:00
Peter Van der Beken 0dbc31467c Bug 1451973 - Split off process from non-process message managers. r=bz.
Process and non-process managers have different script loader interfaces
(ProcessScriptLoader/GlobalProcessScriptLoader vs FrameScriptLoader). The WebIDL
conversion used the same interface for some process and
non-process managers, but because of the different script loader interfaces they really
should be using separate interfaces.

--HG--
rename : dom/base/ChromeMessageBroadcaster.cpp => dom/base/MessageBroadcaster.cpp
rename : dom/base/ChromeMessageBroadcaster.h => dom/base/MessageBroadcaster.h
rename : dom/base/ChromeMessageBroadcaster.cpp => dom/base/ParentProcessMessageManager.cpp
rename : dom/base/ChromeMessageBroadcaster.h => dom/base/ParentProcessMessageManager.h
rename : dom/base/ChromeMessageSender.cpp => dom/base/ProcessMessageManager.cpp
rename : dom/base/ChromeMessageSender.h => dom/base/ProcessMessageManager.h
extra : rebase_source : c9b0c543f9f367535919a6c6840e5ba038023112
extra : histedit_source : 7749f98e11e25423fcf414cc1f0415104343798a
2018-04-16 15:18:48 +02:00
Mike Conley 0c2106dafb Bug 1358712 - Force the frameloader to go through layout when content causes a TabParent to be created. r=Nika
This is necessary to avoid web platform test failures for tests that rely on layout calculations occurring
inside a recently opened tab or window. Originally, the layout flush was happening "accidentally" within
the StatusPanel that displays loading status for the browser. That flush is being removed in another patch
in this series.

MozReview-Commit-ID: IUxiBS9CDRY

--HG--
extra : rebase_source : 1174290fc6fa8da68bfe383e79daa417bbb8de39
2018-04-19 14:26:56 -07:00
Nika Layzell 11744e4b91 Bug 1434768 - Part 4: Create a ParentSHistory in nsFrameLoader, r=bz 2018-04-10 17:49:45 -04:00
Boris Zbarsky eb5f28a236 Bug 1452321. Remove nsIWebBrowserPersistable. r=mystor
MozReview-Commit-ID: CCw86gAtKn3
2018-04-09 16:30:33 -04:00
Peter Van der Beken 001dd2aa3b Bug 1448850 - Empty nsIMessageSender. r=bz.
--HG--
extra : rebase_source : 267648b64b9fcfc4217cf59aad524a27fecd5b82
2018-02-16 10:34:21 +01:00
Boris Zbarsky 75860ea92d Bug 1445005. Remove the eventMode bits from frameloader. r=qdot 2018-03-28 18:01:46 -04:00
Boris Zbarsky 5b5356eada Bug 1445006. Remove the scriptable version of FrameLoader::LoadURI. r=mystor
MozReview-Commit-ID: 4UY2dtk5kpR
2018-03-21 22:43:17 -04:00
Boris Zbarsky d989f864ea Bug 1444143 part 14. Rename nsIFrameLoader.idl to nsIFrameLoaderOwner.idl. r=mystor
MozReview-Commit-ID: 1XpEjoFLSQh

--HG--
rename : dom/base/nsIFrameLoader.idl => dom/base/nsIFrameLoaderOwner.idl
2018-03-21 22:43:17 -04:00
Boris Zbarsky 35d4bc91ec Bug 1444143 part 13. Remove nsIFrameLoader. r=mystor
MozReview-Commit-ID: 4LG8nIePsMH
2018-03-21 22:43:17 -04:00
Boris Zbarsky e15f8f10ff Bug 1444143 part 12. Remove use of nsIFrameLoader from XPIDL files. r=mystor
MozReview-Commit-ID: 8pZ655SgrZ0
2018-03-21 22:43:17 -04:00
Boris Zbarsky 357aae06ff Bug 1444143 part 9. Remove nsIFrameLoader::LoadURI. r=mystor
MozReview-Commit-ID: fSRCzBiHUE
2018-03-21 22:43:16 -04:00
Boris Zbarsky ebf5282891 Bug 1444143 part 8. Remove nsIFrameLoader::LoadFrame. r=mystor
MozReview-Commit-ID: Ackil1mtVy0
2018-03-21 22:43:16 -04:00
Boris Zbarsky 1f1d1c0a81 Bug 1444143 part 7. Remove nsIFrameLoader::Destroy. r=mystor
MozReview-Commit-ID: GObbSTCrjad
2018-03-21 22:43:16 -04:00
Boris Zbarsky 4e7d30f872 Bug 1444143 part 6. Remove nsIFrameLoader::Get/SetEventMode. r=mystor
MozReview-Commit-ID: Jvevh2puiLY
2018-03-21 22:43:16 -04:00
Boris Zbarsky 8ce517e191 Bug 1444143 part 5. Remove nsIFrameLoader::GetOwnerIsMozBrowserFrame. r=mystor
MozReview-Commit-ID: 6IfTdTvDZtm
2018-03-21 22:43:16 -04:00
Boris Zbarsky 9cb6df0dac Bug 1444143 part 2. Remove nsIFrameLoader::GetDocShell. r=mystor
The change from "docShell" to "mDocShell" for the SetName call in the
OwnerIsMozBrowserFrame case in nsFrameLoader::MaybeCreateDocShell is a
drive-by correctness fix for a bug the rename of "docShell" to "parentDocShell"
caught: setting the name of our _parent_ docshell based on the name attr of our
owner makes no sense.

MozReview-Commit-ID: DwnWt8jTokV
2018-03-21 22:43:15 -04:00
Boris Zbarsky 810e12d143 Bug 1444143 part 1. Remove unused stuff from nsIFrameLoader. r=mystor
MozReview-Commit-ID: 3FpiEo2pxjr
2018-03-21 22:43:15 -04:00
Peter Van der Beken e673e5f508 Bug 888600 - Move ContentFrameMessageManager to WebIDL. Part 5: Convert MessageManager globals to WebIDL. r=bz.
The change in browser_net_view-source-debugger.js is needed because we now use WebIDL callbacks for MessageListener, and they add async creation stack frames.

--HG--
extra : rebase_source : 0adb349b40a0c51bb3d8f4b9b7d98106a3929cbd
extra : source : a88d94ec010a12c1d829708aaf59a85609478477
2017-07-19 14:59:02 +02:00
Peter Van der Beken 50944763eb Bug 888600 - Move ContentFrameMessageManager to WebIDL. Part 3: Add message manager concrete classes for WebIDL. r=bz.
--HG--
extra : rebase_source : 15d951ed53530387235db2aa1f3dad69d16c9fa7
2017-06-14 16:44:17 +02:00
Sebastian Hengst 3a10644021 Backed out 6 changesets (bug 888600) for beta simulation failures: build bustage on Linux and Windows opt (bug 1442036) and devtools failure browser_net_view-source-debugger.js (bug 1441961). a=backout
Backed out changeset 83c87140dc3d (bug 888600)
Backed out changeset 2efb9b1753f6 (bug 888600)
Backed out changeset af5303781961 (bug 888600)
Backed out changeset 79ef59047e63 (bug 888600)
Backed out changeset 30d568d628dd (bug 888600)
Backed out changeset c7bd4c6c9741 (bug 888600)

--HG--
extra : histedit_source : 791b22f6770f4fead2f909478a93d65d85829fe0%2Cbb387309e90f53e1dde45dcf8cf4ebedcc6e5c5e
2018-03-01 11:51:09 +02:00
Peter Van der Beken fc804325a9 Bug 888600 - Move ContentFrameMessageManager to WebIDL. Part 5: Convert MessageManager globals to WebIDL. r=bz.
The change in browser_net_view-source-debugger.js is needed because we now use WebIDL callbacks for MessageListener, and they add async creation stack frames.

--HG--
extra : rebase_source : d7c026d8a77634ef2566feba78168beb8a66a552
2017-07-19 14:59:02 +02:00
Peter Van der Beken 0dc914a027 Bug 888600 - Move ContentFrameMessageManager to WebIDL. Part 3: Add message manager concrete classes for WebIDL. r=bz.
--HG--
extra : rebase_source : 8fb313cbfda3eeec985ba2060abdfe307963a553
2017-06-14 16:44:17 +02:00
Masayuki Nakano a04da0af59 Bug 1134542 - Get rid of nsIDOMWindowUtils::sendKeyEvent() and nsIFrameLoader::sendCrossProcessKeyEvent() r=smaug
nsIDOMWindowUtils::sendKeyEvent() is already replaced with nsITextInputProcessor
for making callers set any attributes of KeyboardEvent and guaranteeing
consistency behavior with keyboard events caused by native key events.  E.g.,
whether keypress event should be dispatched or not is automatically decided.

nsIFrameLoader::sendCrossProcessKeyEvent() is similart to
nsIDOMWindowUtils::sendKeyEvent() but it dispatches keyboard events in
child process directly.  Currently, nsITextInputProcessor doesn't have this
feature but nobody wants/uses this feature.  So, for removing actual
implementation of nsIDOMWindowUtils::sendKeyEvent(), i.e.,
nsContentUtils::SendKeyEvent(), which is shared by both
nsDOMWindowUtils::SendKeyEvent() and nsFrameLoader::SendCrossProcessKeyEvent(),
we should remove this unused API too. (FYI: it's implemented for old Fennec,
by bug 553149.)

MozReview-Commit-ID: 9n0UVo8Me8k

--HG--
extra : rebase_source : e9b117f5b9afec76e63d57ab8cd86dafb5873789
2018-01-31 17:04:20 +09:00
Nika Layzell a0d1f16079 Bug 1383876 - Part 1: Remove GroupedSHistory and Prerendering logic from C++ code, r=freesamael, r=smaug
MozReview-Commit-ID: 2aHA6NcQPGk
2018-01-12 17:52:52 -05:00
Andrew Swan 63c732760f Bug 1396399 - Clarify rules for applying activeTab permission to content scripts. r=kmag, r=bz
MozReview-Commit-ID: 9xPDX8Qk2iR
2017-11-04 21:06:20 -07:00
Luca Greco 305df319dc Bug 1390445 - Fix select popup positioning for oop extensions options_ui pages. r=billm,kats,kmag
MozReview-Commit-ID: Izt10SuUK0i

--HG--
extra : rebase_source : d6e302d4fd8b78100d98cbe52c4234bd49de1dfd
2017-09-20 20:03:58 +02:00
Kris Maglione 154e5011a0 Bug 1406278: Part 4 - Use subject principal as triggering principal in <iframe>/<frame> "src" attribute r=bz
MozReview-Commit-ID: AgxZmfRvfTR

--HG--
extra : rebase_source : 5663f54ae3d03870d38107e1703902df5ade4b10
2017-10-04 22:59:44 -07:00
Nicholas Nethercote d225f7151b Bug 1400460 - Rename nsIAtom as nsAtom. r=hiro.
(Path is actually r=froydnj.)

Bug 1400459 devirtualized nsIAtom so that it is no longer a subclass of
nsISupports. This means that nsAtom is now a better name for it than nsIAtom.

MozReview-Commit-ID: 91U22X2NydP

--HG--
rename : xpcom/ds/nsIAtom.h => xpcom/ds/nsAtom.h
extra : rebase_source : ac3e904a21b8b48e74534fff964f1623ee937c67
2017-10-03 09:05:19 +11:00
Kris Maglione 90f1e3558c Bug 1391110: Part 3 - Add nsIWebBrowserPersistable to FrameLoader bindings. r=smaug
MozReview-Commit-ID: 8mBNbgmrXBV

--HG--
extra : rebase_source : d553bca30c3fa4affc9e6ee9e65e5b4000e0cac2
2017-08-19 14:16:16 -07:00
Kris Maglione 470160f420 Bug 1391110: Part 1 - Convert FrameLoader bindings to WebIDL. r=smaug
XPConnect wrapper overhead for this interface has been showing up heavily in a
lot of my profiles, in some places accounting for 50ms of the 80ms we spend
getting getting <browser> messageManagers. This improves the situation
considerably.

MozReview-Commit-ID: 9d1hCORxsYG

--HG--
rename : dom/base/nsIFrameLoader.idl => dom/webidl/FrameLoader.webidl
extra : rebase_source : d8a1fc1a19632ba36a9fc6f63873f7534671a13b
2017-08-19 00:55:00 -07:00
Kris Maglione 654f2c0c26 Bug 1374025. Try calling ShowViewer again later if it hasn't succeeded yet when we get a render frame parent. r=tnikkel 2017-07-20 16:24:40 -05:00
Peter Van der Beken 2310b3bd39 Bug 558184 - Part 8 - Load js plugins in a separate process. r=billm.
Every JS plugin is assigned a unique ID. When an instance of a JS plugin is created the
frame loader that we use to load the plugin's handler URI will create a special
TabContext. This TabContext causes the ContentParent to use the process for this specific
JS plugin (creating one if it hasn't already) when it creates the PBrowser actors.
This causes the iframes for all the instances of a specific JS plugin to be grouped in the
same process.

--HG--
extra : rebase_source : c39560bdf66cda1a005c7b823b3a46e4734878a4
extra : source : 9cba1db527c7eed4371c9f4caf96fd942608cab6
2017-05-29 12:38:46 +02:00
Andrea Marchesini da7aba03b1 Bug 1368712 - Get rid of nsIBrowserElementAPI.{set,get}Visible, r=kanru 2017-05-31 21:15:23 +02:00
Mats Palmgren 6ef6efaea3 Bug 1340771 part 2 - Introduce a WeakFrame class for heap allocated weak frame pointers, stored in a hashtable for fast lookup. r=tn
* * *
Bug 1340771 part 3 - Change existing heap allocated AutoWeakFrame instances to use WeakFrame instead.  r=tn

MozReview-Commit-ID: GSuUiy98jBa
2017-03-01 18:03:14 +01:00
Mats Palmgren d13aaf9ce0 Bug 1340771 part 1 - Rename nsWeakFrame to AutoWeakFrame (automated change). r=tn
MozReview-Commit-ID: 8pl4nyeGEkr
2017-03-01 18:03:14 +01:00
Andrea Marchesini 359ae91eac Bug 1328653 - Merging all the various *OriginAttributes to just one, r=huseby 2017-01-12 17:38:48 +01:00
Samael Wang 1e9e35e6e1 Bug 1323651 - Rename Partial/GroupedSessionHistory to Partial/GroupedSHistory. r=ehsan
MozReview-Commit-ID: G2GW4ZPIfH3
2016-12-22 16:06:50 +08:00
Michael Layzell 3244cf77dd Bug 1315105 - Part 1: Add support for prerendering PartialSHistories to GroupedSHistory, r=smaug
MozReview-Commit-ID: A5bwSy8NkH3

--HG--
extra : rebase_source : e87ff9754b8174f546b262f9ac7dae9157ecb130
2016-12-19 15:03:17 +08:00
Carsten "Tomcat" Book 72f817124f Backed out changeset ab6c012704b9 (bug 1315105) for failing on own test 2016-12-19 16:34:18 +01:00
Michael Layzell 64de9ea0a7 Bug 1315105 - Part 1: Add support for prerendering PartialSHistories to GroupedSHistory, r=smaug
MozReview-Commit-ID: A5bwSy8NkH3
2016-12-19 15:03:17 +08:00
Bob Owen f5830d5e44 Bug 1147911 Part 7: Create browsing context with no opener if URI needs different process. r=smaug
This also means window.open returns null in the same circumstance.
2016-11-24 15:08:31 +00:00
Sebastian Hengst 3e560293d1 Backed out changeset f8ff074e9145 (bug 1147911) 2016-11-23 18:32:50 +01:00
Bob Owen 3f62d10e4d Bug 1147911 Part 7: Create browsing context with no opener if URI needs different process. r=smaug
This also means window.open returns null in the same circumstance.
2016-11-23 13:36:58 +00:00
Michael Layzell d77310ec7b Bug 1310771 - Part 2: Emit BrowserWillChangeProcess and BrowserChangedProcess when doing cross-frameloader navigations, r=smaug
With GroupedSHistory, history navigations may now require the browser to
change which frameloader is stored internally from within Core. This
patch adds a mechanism to allow for chrome code to respond to these
changes and both delay the change, or respond once the change is
performed.

Delaying the change is accomplished through the BrowserWillChangeProcess
event, which is fired when it is determined that a process change will
happen for the given browser, but the change has not occured yet. During
this time the nsIFrameLoader::AddProcessChangeBlockingPromise method may
be called on the target browser's frameloader. Any promises passed to
this method will be waited on, and the process change will not occur
until they have all been fulfiled.

Once that has occured, the process change occurs, and the
BrowserChangedProcess event is fired.

This is useful for chrome code which needs to flush state from the
original process before the change, and then which needs to connect
state in the new process with state in the chrome process.

MozReview-Commit-ID: C0Xn6pfruB2
2016-11-18 16:00:43 -05:00
Sebastian Hengst f02ffed0dd Backed out changeset f768dac3f7a9 (bug 1147911) 2016-11-18 00:58:51 +01:00
Bob Owen ce1bc7d820 Bug 1147911 Part 7: Create browsing context with no opener if URI needs different process. r=smaug
This also means window.open returns null in the same circumstance.
2016-11-17 15:48:53 +00:00
Ehsan Akhgari dc33b55d94 Bug 1312101 - Part 2: Remove AppProcessChecker and code that depends on it; r=baku 2016-11-16 14:51:08 -05:00
Ehsan Akhgari eac76d9772 Bug 1310845 - Remove support for mozapp iframes; r=fabrice,jryans,baku,mcmanus
This patch removes support for mozapp iframes, leaving support for
mozbrowser iframes intact.  Some of the code has been rewritten in order
to phrase things in terms of mozbrowser only, as opposed to mozbrowser
or app.  In some places, code that was only useful with apps has been
completely removed, so that the APIs consumed can also be removed.  In
some places where the notion of appId was bleeding out of this API, now
we use NO_APP_ID.  Other notions of appId which were restricted to this
API have been removed.
2016-11-16 09:13:38 -05:00
Carsten "Tomcat" Book 3eacc680db Backed out changeset 7d1f7dd996f7 (bug 1310845) 2016-11-16 14:50:44 +01:00
Ehsan Akhgari cb369370b3 Bug 1310845 - Remove support for mozapp iframes; r=fabrice,jryans,baku,mcmanus
This patch removes support for mozapp iframes, leaving support for
mozbrowser iframes intact.  Some of the code has been rewritten in order
to phrase things in terms of mozbrowser only, as opposed to mozbrowser
or app.  In some places, code that was only useful with apps has been
completely removed, so that the APIs consumed can also be removed.  In
some places where the notion of appId was bleeding out of this API, now
we use NO_APP_ID.  Other notions of appId which were restricted to this
API have been removed.
2016-11-15 18:31:46 -05:00
Valentin Gosu 656872593e Bug 1315302 - Remove signedPkg from origin attributes r=baku
MozReview-Commit-ID: L1xvRgeO6De

--HG--
extra : rebase_source : dee943054af499b6e3f0aca2801fa9414f5567be
2016-11-06 16:15:36 +01:00
Michael Layzell 209fba3a7f Bug 1304140 - Part 1: Implement support for the Large-Allocation header behind the dom.largeAllocationHeader.enabled pref, r=smaug
MozReview-Commit-ID: 5KBIu6Fc3Ea
2016-10-31 16:38:54 -04:00
Phil Ringnalda b6eec64324 Merge m-c to a CLOSED TREE m-i
MozReview-Commit-ID: 2JxLeQ8GYIX
2016-10-27 20:36:38 -07:00