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

6081 Коммитов

Автор SHA1 Сообщение Дата
Olli Pettay 7a22246c6d Bug 1666010 - Ensure nsDocShell::mActiveEntryIsLoadingFromSessionHistory value is set correctly r=peterv
Differential Revision: https://phabricator.services.mozilla.com/D90891
2020-09-21 16:57:23 +00:00
pbz b81e69ee95 Bug 1314912 - Rate limit calls to History and Location interfaces. r=smaug
This adds a rate limit to methods and setters of the History and Location
for non-system callers.
The rate limit is counted per BrowsingContext and can be controlled by prefs.

This patch is based on the original rate limit patch by :freesamael.

Differential Revision: https://phabricator.services.mozilla.com/D90136
2020-09-21 11:54:50 +00:00
Peter Van der Beken 595c969e2a Bug 1666194 - Return before touching session history in the child in nsDocShell::Reload if session history in the parent is enabled. r=farre
Differential Revision: https://phabricator.services.mozilla.com/D90821
2020-09-21 09:07:17 +00:00
Peter Van der Beken 41e9c935de Bug 1665322 - Error page loads should add entries for the original load with session history in the parent. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D90393
2020-09-20 13:49:50 +00:00
Peter Van der Beken a8c40b4ffe Bug 1664655 - Update loading entry's layout history state if it shares it with the current active entry. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D90030
2020-09-20 12:40:45 +00:00
Peter Van der Beken 2b10b0874a Bug 1664656 - Support nsIWebNavigation::LOAD_FLAGS_REPLACE_HISTORY with session history in the parent. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D90029
2020-09-20 12:40:33 +00:00
Peter Van der Beken aa030970db Bug 1664656 - Decide whether to add a new entry based on the load type. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D90028
2020-09-20 12:40:10 +00:00
Dorel Luca 594edf3c57 Backed out 3 changesets (bug 1664656, bug 1664655) for multiple failures in checkouts/gecko/docshell/base/nsDocShell.cpp
Backed out changeset ac1e652efeb6 (bug 1664655)
Backed out changeset c8c1abf5f616 (bug 1664656)
Backed out changeset 3c1e9e36a39e (bug 1664656)
2020-09-19 16:38:26 +03:00
Peter Van der Beken 9348dc4a06 Bug 1664655 - Update loading entry's layout history state if it shares it with the current active entry. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D90030
2020-09-18 16:49:41 +00:00
Peter Van der Beken 25833b010a Bug 1664656 - Support nsIWebNavigation::LOAD_FLAGS_REPLACE_HISTORY with session history in the parent. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D90029
2020-09-19 12:29:10 +00:00
Peter Van der Beken 9d54c7ab78 Bug 1664656 - Decide whether to add a new entry based on the load type. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D90028
2020-09-18 16:49:35 +00:00
Olli Pettay c1560ee4eb Bug 1666010 - Ensure nsDocShell::mActiveEntryIsLoadingFromSessionHistory value is set correctly r=nika
Differential Revision: https://phabricator.services.mozilla.com/D90751
2020-09-18 20:29:52 +00:00
Nika Layzell 1d58fba49c Bug 1659696 - Check PendingInitialization before targeting in window.open, r=kmag
This requires adding the flag as a synced field on the BrowsingContext, and
checking it in a few more places. Attempts to open a new window in this racy
manner will now raise an exception.

This should avoid the issue from bug 1658854 by blocking the buggy attempts to
load before the nested event loop has been exited.

Differential Revision: https://phabricator.services.mozilla.com/D87927
2020-09-16 20:47:55 +00:00
Kris Maglione a3b66dd82c Bug 1662841: Remove Fission-incompatible `nsDocumentViewer::AppendSubtree`. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D90615
2020-09-17 22:43:47 +00:00
Olli Pettay 208cca166b Bug 1574261 - Make nsDocShell::MaybeHandleSubFrameHistory work with session history in parent, r=peterv
This has couple of different pieces and one may want to focus on each of those separately when
reviewing. The first two as small changes.

- Moving mDynamicallyCreated from nsDocShell to be a sync'ed field on BrowsingContext.
  CanonicalBrowsingContext::CreateLoadingSessionHistoryEntryForLoad sets that on a newly created entry.
- Adding mActiveEntryIsLoadingFromSessionHistory. mLoadingEntry + mActiveEntryIsLoadingFromSessionHistory has roughly
  the same lifetime as mLSHE. mLoadingActiveEntry is needed so that child docshell can know whether its parent is loading from session history.
- The main part is in MaybeHandleSubframeHistory which checks if the parent docshell is loading from session history,
  and if so, asks for a LoadingSessionHistoryInfo. In the case of docshell living in a child process that operation is asynchronous,
  so when the data is back from the parent process, LoadURI is called again with the possibly updated data.
  One could possibly split the code to smaller methods and then deal with aContinueHandlingSubframeHistory only in LoadURI,
  but MaybeHandleSubframeHistory does have some early returns which would make that approach possibly hard to follow.

Differential Revision: https://phabricator.services.mozilla.com/D89685
2020-09-17 18:22:08 +00:00
Olli Pettay ea62e522c0 Bug 1664329 - Make HandleSameDocumentNavigation handle loads from session history, r=peterv
Need to mark entries as being loading sooner, since HandleSameDocumentNavigation case doesn't do the round trip through parent again.
And HandleSameDocumentNavigation needs to update active entry and inform parent that is has dealt with the load.

Differential Revision: https://phabricator.services.mozilla.com/D89837
2020-09-17 15:39:59 +00:00
Olli Pettay dc9645dce5 Bug 1665502 - Update session history entry names also in the parent process, r=timhuang,peterv
Differential Revision: https://phabricator.services.mozilla.com/D90493
2020-09-17 10:40:32 +00:00
Andreas Farre f9f96d23ca Bug 1662410 - Part 1: Fix usage of ChildSHistory.legacySHistory . r=peterv
ChildSHistory.legacySHistory isn't valid for content processes when
session history in the parent is enabled. We try to fix this by either
delegating to the parent by IPC or move the implementation partially
or as a whole to the parent.

Differential Revision: https://phabricator.services.mozilla.com/D89353
2020-09-16 14:51:01 +00:00
Karl Tomlinson 820dfc0a45 Bug 1646601 document as const some WindowContext members r=farre
Differential Revision: https://phabricator.services.mozilla.com/D90216
2020-09-15 22:13:22 +00:00
Randell Jesup 9a3ba1d1f1 Bug 1664961: check if child process when processing docshell Reload() r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D90200
2020-09-16 02:44:45 +00:00
Randell Jesup bf35bdd65b Bug 1665063: GetSessionHistory() isn't null-checked in HistoryCommitIndexAndLength() r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D90262
2020-09-15 18:39:09 +00:00
Andrea Marchesini e733096393 Bug 444222 - Update the window.name when doing the navigation, r=smaug,nika
This patch implements the window.name updating in the spec
https://html.spec.whatwg.org/#history-traversal.

Differential Revision: https://phabricator.services.mozilla.com/D81361
2020-09-15 17:51:05 +00:00
Tim Huang f4e796f357 Bug 444222 - Add a flag 'SetHasLoadedNonInitialDocument' in the BrowsingContext. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D88416
2020-09-11 07:52:11 +00:00
Anny Gakhokidze 6a0eb66873 Bug 1655572 - Make view-source not require session history, r=peterv
Differential Revision: https://phabricator.services.mozilla.com/D88509
2020-09-14 19:00:05 +00:00
Andreas Farre a16ddf24f8 Bug 1664776 - Fall back to loading entry if there is no active entry. r=peterv
Differential Revision: https://phabricator.services.mozilla.com/D90089
2020-09-14 16:32:17 +00:00
Bogdan Tara 11b8b5a61b Backed out 7 changesets (bug 1661364, bug 1660342) for making bug 1551615 perma fail CLOSED TREE
Backed out changeset a56449ddacc9 (bug 1661364)
Backed out changeset fc185ddca53b (bug 1661364)
Backed out changeset 99234e013005 (bug 1661364)
Backed out changeset eac6bfc4a98d (bug 1661364)
Backed out changeset 9cb0e2dc8d8a (bug 1661364)
Backed out changeset 37b78e402c23 (bug 1661364)
Backed out changeset ae991d4209a7 (bug 1660342)
2020-09-11 14:13:46 +03:00
Mark Banner 3d9ea7d179 Bug 1375244 - Remove sync KeywordToURI and related IPC messages as they are no longer required. r=Gijs,mak,mccr8
Differential Revision: https://phabricator.services.mozilla.com/D89486
2020-09-11 07:15:21 +00:00
Gerald Squelart b0bf2c2172 Bug 1663554 - Convert PROFILER_ADD_TEXT_MARKER and friends to PROFILER_MARKER_TEXT - r=gregtatum
Mostly mechanical changes, with some work needed to convert the different payloads (with optional timestamps, inner window id, and/or backtrace) to the equivalent MarkerOptions.

Differential Revision: https://phabricator.services.mozilla.com/D89587
2020-09-11 00:41:27 +00:00
Agi Sferro c978775400 Bug 1659073 - Add confirmRepost to nsIPromptCollection. r=pbz,smaug
Differential Revision: https://phabricator.services.mozilla.com/D89657
2020-09-10 22:28:15 +00:00
Nika Layzell da8cbf8277 Bug 1660342 - Add more assertions around host state, r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D87928
2020-09-08 18:35:27 +00:00
Peter Van der Beken cca834e53b Bug 1664274 - Call SetDocCurrentStateObj for session history in the parent too. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D89812
2020-09-10 19:30:13 +00:00
Anny Gakhokidze e12736fa36 Bug 1663238 - Only use the principal to inherit if it's equal to the flattened one, r=nika
With fission enabled, when we are starting a load, we might be saving
principals for a specific browsing context in process A, and then end up
targetting process B for the load, so during deserialization of the
LoadInfoArgs struct, we will end up using principals that were saved during a
previous load targetting that browsing context (with the same id) but in
process B.

Therefore, we cannot assert (without clearing the saved principals in the
original browsing context when a load is done, which can be done as a follow up
work) that the saved principal will be equal to the serialized one from
LoadInfoArgs.

Differential Revision: https://phabricator.services.mozilla.com/D89728
2020-09-10 14:40:31 +00:00
Peter Van der Beken bce06045ad Bug 1663492 - Make nsDocShell::OnNewURI use mActiveEntry instead of mOSHE if session history in the parent is enabled. r=smaug
Depends on D89423

Differential Revision: https://phabricator.services.mozilla.com/D89424
2020-09-08 12:52:02 +00:00
Peter Van der Beken 8f72952fc3 Bug 1663488 - Fix CanonicalBrowsingContext::NotifyOnHistoryReload. r=smaug
Depends on D89421

Differential Revision: https://phabricator.services.mozilla.com/D89422
2020-09-08 14:04:33 +00:00
Peter Van der Beken 709c5edefe Bug 1663487 - Set loading history entry for loads in the parent. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D89420
2020-09-09 00:40:38 +00:00
Peter Van der Beken fe3f64a907 Bug 1663486 - Synchronize ChildSHistory state when sending a browsing context to a new process. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D89419
2020-09-08 15:24:13 +00:00
Mihai Alexandru Michis 30e80990a0 Backed out changeset 73f6874cb3dd (bug 1613054) for causing bc failures in browser_abort_visibility.js
CLOSED TREE
2020-09-09 16:40:24 +03:00
Henri Sivonen 323bd1842b Bug 1613054 part 2 - On iframe.focus() create the initial about:blank for in-process case and treat the iframe as focusable for OOP case. r=nika
Test cases in https://bugzilla.mozilla.org/show_bug.cgi?id=1649099

Differential Revision: https://phabricator.services.mozilla.com/D88978
2020-09-09 12:09:44 +00:00
Jeff Walden 6d5beafab1 Bug 1663365 - Move various Object-related functions to a new js/public/Object.h header. r=jandem
Differential Revision: https://phabricator.services.mozilla.com/D89333
2020-09-08 22:55:38 +00:00
Sean Feng 31a296f2e9 Bug 1662525 - Don't refresh uri if the docShell is being destroyed r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D89173
2020-09-08 21:48:59 +00:00
Peter Van der Beken d1ecf2821d Bug 1662407 - Call nsSHistory::GotoIndex directly when loading from session history in the parent process. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D88976
2020-09-08 19:32:27 +00:00
Andreas Farre b94d642e80 Bug 1662131 - Fix history getters for web browser persist. r=peterv
Differential Revision: https://phabricator.services.mozilla.com/D88979
2020-09-08 13:06:29 +00:00
Sylvestre Ledru c320561565 Bug 1519636 - Reformat recent changes to the Google coding style r=andi
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D89392
2020-09-08 04:32:00 +00:00
Henri Sivonen d8f0184fa3 Bug 1613054 part 1 - Synchronously request frame focus when .contentWindow.focus() called on OOP iframe. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D70800
2020-09-02 15:05:53 +00:00
Peter Van der Beken ed9711a03e Bug 1662092 - Update the index and length on ChildSHistory in the parent process too. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D88804
2020-09-01 12:07:05 +00:00
Henri Sivonen 345a28490a Bug 1662103 - Make .close() a no-op on OOP iframes. r=farre
Differential Revision: https://phabricator.services.mozilla.com/D88983
2020-09-02 09:27:36 +00:00
Olli Pettay ed8b9c6e71 Bug 1662201 - Update history ID to mach the docshell ID of the SHEntry, r=peterv
Differential Revision: https://phabricator.services.mozilla.com/D88885
2020-09-01 14:47:13 +00:00
Bogdan Tara 591813bd88 Backed out changeset 071c8c9a91f1 (bug 1662201) for docshell related bustage CLOSED TREE 2020-09-01 16:54:28 +03:00
Olli Pettay c9a464bdec Bug 1662201 - Update history ID to mach the docshell ID of the SHEntry, r=peterv
Differential Revision: https://phabricator.services.mozilla.com/D88885
2020-09-01 11:58:01 +00:00
Kris Maglione b050c2c657 Bug 1650257: Part 3 - Remove obsolete diagnostic crash annotations and assertions. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D87487
2020-08-31 18:51:54 +00:00
Kris Maglione c2c6945169 Bug 1650257: Part 2 - Abort SetNewDocument() if ancestors are discarded/cached. r=nika,smaug,sg
Differential Revision: https://phabricator.services.mozilla.com/D87486
2020-08-31 18:51:56 +00:00
Kris Maglione 5f2d674982 Bug 1650257: Part 1 - Stop discarding BCs from the parent on WindowGlobal destruction. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D87485
2020-08-31 18:51:45 +00:00
Olli Pettay 907f39a20b Bug 1661753 - Don't return early from nsDocShell::UpdateURLAndHistory when only session-history-in-parent related code is running, r=peterv
Depends on D88450

Differential Revision: https://phabricator.services.mozilla.com/D88630
2020-08-30 16:35:11 +00:00
Olli Pettay 7d2b65e50b Bug 1661317 - Make loading session history entries for iframes work when session history lives in the parent process (step 1.5), r=peterv
Differential Revision: https://phabricator.services.mozilla.com/D88450
2020-08-31 10:05:53 +00:00
Olli Pettay b07cfb3c72 Bug 1661317 - Make loading session history entries for iframes work when session history lives in the parent process (step 1), r=peterv
Differential Revision: https://phabricator.services.mozilla.com/D88312
2020-08-28 16:50:58 +00:00
Noemi Erli 0c682c4f01 Backed out changeset db52cf052477 (bug 1660342) for causing Bug 1661364 a=backout 2020-08-31 12:15:29 +03:00
Anny Gakhokidze 7e764895d7 Bug 1589102 - Part 13: Fix a race in process switching code due to reftest.js forcing a process switch, r=kmag
The race occurs when the parent changes the owner process for a BC, but the
child does not know about it and proceeds to call SetCurrentInnerWindowId on a
BC it no longer owns. To fix this, in child process, whenever we call
SetCurrentInnerWindowId on a BC, check that the BC is in process and that the
docshell has not been notified about an upcoming process change.

Differential Revision: https://phabricator.services.mozilla.com/D87934
2020-08-28 17:21:17 +00:00
Anny Gakhokidze 8b553ecfcf Bug 1589102 - Part 1: Enable about:srcdoc loads via DocumentChannel, r=mattwoodrow
This patch enables sandboxed srcdoc loads to take place via DocumentChannel,
and adds mechanisms for enabling unsandboxed ones.

Both unsandboxed srcdoc, and in subsequent patches, about:blank, loads require
that the triggering principal and the principal to inherit point to the same
instance if the load takes place in the same process as where we are inheriting
those principals from. We save those principals on a target browsing context before
we load the URI, and later, when we are deserializing LoadInfoArgs into
LoadInfo in the content process, we retrieve the saved principals if the
current load identifier of the target BC matches the load identifier saved
along with the principals.

We also need to make sure that during a process switch for about:srcdoc load,
we don't use the original URI for about:srcdoc to determine the remote type and
instead we use channel's result principal.

Differential Revision: https://phabricator.services.mozilla.com/D85079
2020-08-28 17:20:30 +00:00
Peter Van der Beken 167889c056 Bug 1656347 - Make session history getters to work with history in parent. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D88413
2020-08-27 18:47:27 +00:00
alwu 6ea69ac823 Bug 1634494 - part4 : notify media control action to the top level browsing context and all its children. r=chunmin
As we want to have an ability to do different operations on different browsing contexts for those actions with default handlers (play/pause/stop), so in D87142 we have changed `ContentMediaController` per browsing context. Techically it's per inner window, but it means each browsing context would have one corresponding `ContentMediaController` if the web content is in that browsing context.

The approach to achieve the goal is that, when getting those actions, we would notify to the top level browsing context, then go through its children to ensure that each browsing context can be operated correctly. By doing so, we can trigger default action handler and customized action handler on different browsing context.

Eg. A page has a child iframe, which has active media session with an action handler for `pause`. A page and iframe are both playing media. When pressing `pause`, default action handler would be run on main frame, and the customized action handler would be run on iframe.

Differential Revision: https://phabricator.services.mozilla.com/D87143
2020-08-27 04:10:45 +00:00
alwu 75773fa092 Bug 1634494 - part1 : store the active media session context Id on WindowContext. r=chunmin,farre
We determine which media session is active media session in chrome process, but the media session in content process doesn't know the detail.

This patch would store the active session context Id on the top level WindowContext, so that media session in content process can know if it's an active context or not, which helps to trigger the action handler only on active media session, after changing our propagation mechanism in following patches.

Differential Revision: https://phabricator.services.mozilla.com/D88106
2020-08-27 14:11:05 +00:00
Nika Layzell d5b6d05485 Bug 1658082 - Part 3: Set TargetBrowsingContext for non-retargeted loads, r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D87468
2020-08-26 19:20:15 +00:00
Nika Layzell 7c0ec51ea3 Bug 1658082 - Part 2: Remove duplicate information from InternalLoad IPC messages, r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D87467
2020-08-26 19:20:06 +00:00
Nika Layzell 6d387b5d53 Bug 1658082 - Part 1: Correctly set mTargetBrowsingContext from IPC, r=mattwoodrow
Previously, this field was incorrectly being initialized to
SourceBrowsingContext instead of TargetBrowsingContext.

Differential Revision: https://phabricator.services.mozilla.com/D88321
2020-08-26 22:21:51 +00:00
Nika Layzell 62ed33101c Bug 1660001 - Don't assert when creating popup from shutting down process, r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D87921
2020-08-26 19:18:44 +00:00
Nika Layzell c8dab1397c Bug 1660342 - Add more assertions around host state, r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D87928
2020-08-24 18:58:00 +00:00
Nika Layzell f635e5dd35 Bug 1659520 - Use explicit type arguments for `SyncedContext` field setters, r=farre
Differential Revision: https://phabricator.services.mozilla.com/D87466
2020-08-26 07:53:26 +00:00
Peter Van der Beken 7f6d4f154e Bug 1660869 - Forward RemoveFromSessionHistory to the parent process for session history in the parent. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D88061
2020-08-25 16:20:17 +00:00
Peter Van der Beken f0aa8ed5fe Bug 1660868 - Forward RemoveDynEntries to the parent process for session history in the parent. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D88060
2020-08-25 16:04:51 +00:00
Emilio Cobos Álvarez 72730e8e3d Bug 1636728 - Make calling window.print() before load keep deferring the actual printing and closing the window until load. r=smaug
Other engines also do this, but with my previous patch breaks it
(because we only hit print() on the print-content-viewer _after_ doing
the clone).

So move it before triggering all the machinery, and only for
window.print().  Given we didn't check this for print preview etc, I
think it's fine to carry on for user-triggered loads.

Trivial test-case (which I'm not quite sure how to turn into an
automated test...)

    <!doctype html>
    <h1>I do get printed but...</h1>

    <script>
      window.print();
    </script>

    <h2>Do I?</h2>

Note that this is broken with the new print preview UI already, this
fixes it.

Differential Revision: https://phabricator.services.mozilla.com/D87898
2020-08-25 17:45:24 +00:00
Emilio Cobos Álvarez 044b3c4332 Bug 1636728 - Centralize printing entry points in nsGlobalWindowOuter, and move cloning out of nsPrintJob. r=jwatt,geckoview-reviewers,smaug,agi
This centralizes our print and preview setup in nsGlobalWindowOuter so
that we never re-clone a clone, and so that we reuse the window.open()
codepath to create the browsing context to clone into.

For window.print, for both old print dialog / silent printing and new
print preview UI, we now create a hidden browser (as in with visibility:
collapse, which takes no space but still gets a layout box).

 * In the modern UI case, this browser is swapped with the actual print
   preview clone, and the UI takes care of removing the browser.

 * In the print dialog / silent printing case, the printing code calls
   window.close() from nsDocumentViewer::OnDonePrinting().

 * We don't need to care about the old print preview UI for this case
   because it can't be open from window.print().

We need to fall back to an actual window when there's no
nsIBrowserDOMWindow around for WPT print tests and the like, which don't
have one. That seems fine, we could special-case this code path more if
needed but it doesn't seem worth it.

Differential Revision: https://phabricator.services.mozilla.com/D87063
2020-08-25 17:45:12 +00:00
Peter Van der Beken 14120f6a0d Bug 1660873 - Disable some unnecessary nsDocShell code if session history in the parent is turned on. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D88062
2020-08-25 10:42:37 +00:00
Emilio Cobos Álvarez 2139980162 Bug 1659758 - Null-check event target in nsDocShellTreeOwner::AddChromeListeners. r=smaug
Tentative fix (though crash is long-standing), so no test :/

Differential Revision: https://phabricator.services.mozilla.com/D88090
2020-08-24 23:51:26 +00:00
Peter Van der Beken 30b0eb25b2 Bug 1659992 - Fix nsDocShell::LoadURI for session history loads to not rely on session history in the child. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D87744
2020-08-23 17:41:13 +00:00
Peter Van der Beken a4a8b3da89 Bug 1649131 - Implement history.pushState/.replaceState for session history in the parent. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D87039
2020-08-23 17:41:03 +00:00
Peter Van der Beken 1caf077d0b Bug 1649131 - Stop checking for an nsISHEntry in nsDocShellLoadState as a sign of a load from history. r=smaug
Checking for an nsISHEntry doesn't work anymore with session history in the
parent. For that we can check that the loading session history info's
mIsLoadFromSessionHistory is true. If there is no loading session history info
we can fall back to the old way of checking for a non-null nsISHEntry (which
will only ever be true if session history in the parent is turned off).

Differential Revision: https://phabricator.services.mozilla.com/D87037
2020-08-23 20:20:55 +00:00
Peter Van der Beken 4a9e44592e Bug 1649131 - Stop marking SessionHistoryInfo as moveonly. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D87036
2020-08-20 12:58:40 +00:00
Olli Pettay 0bd5beeadf Bug 1658821 - Move Id from SessionHistoryInfo to LoadingSessionHistoryInfo, r=peterv
Differential Revision: https://phabricator.services.mozilla.com/D86864
2020-08-20 16:55:21 +00:00
Butkovits Atila 5c5df0b663 Backed out changeset 24d6087acc64 (bug 1658821) for build bustage at SessionHistoryEntry.cpp. CLOSED TREE 2020-08-20 17:37:53 +03:00
Olli Pettay cd47973905 Bug 1658821 - Move Id from SessionHistoryInfo to LoadingSessionHistoryInfo, r=peterv
Differential Revision: https://phabricator.services.mozilla.com/D86864
2020-08-20 12:02:17 +00:00
Emilio Cobos Álvarez f04cda9679 Bug 1602410 - Make window.print() work with tab-modal printing. r=nika,geckoview-reviewers,agi
Do this by spinning the event loop until we've done the clone for
preview as appropriate.

This should be much less risky than finishing the previous patches
which would still be nice, but realistically landing them for 81 is not
going to happen.

This just returns without doing nothing in a couple cases, like when
there's already another modal dialog or such. That seems acceptable to
me, it's not clear what better way to do would be.

Differential Revision: https://phabricator.services.mozilla.com/D87484
2020-08-19 09:27:18 +00:00
Andrew McCreight d914048012 Bug 1659825 - Null check gWindowContexts in WindowContext::Discard(). r=nika
If we're after shutdown, then this variable will have been cleared.
This is the remaining use that was failing to do a null check, and
it was manifesting as a very low-volume crash.

Differential Revision: https://phabricator.services.mozilla.com/D87503
2020-08-18 21:46:07 +00:00
Andreas Farre 6fdf0fb9db Bug 1647454 - Check popup permission on window context in DoURILoad. r=nika
Depends on D86808

Differential Revision: https://phabricator.services.mozilla.com/D86828
2020-08-18 16:16:32 +00:00
Peter Van der Beken e5cbd042f8 Bug 1658902 - Fix some code for session history in parent to work without the session history implementation in the child. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D86946
2020-08-17 18:52:31 +00:00
Edgar Chen b2ef530476 Bug 1611961 - Move UserActivationState from BrowsingContext to WindowContext; r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D83126
2020-08-17 11:02:34 +00:00
Edgar Chen 7cb48e9af8 Bug 1658650 - Remove hasValidTransientUserAction from DocumentChannelCreationArgs; r=mattwoodrow
There is the same information exposed in DocShellLoadStateInit.
And we don't really need to query user action from BrowsingContext, this
information would be carried in `nsDocShellLoadState`.

Depends on D86724

Differential Revision: https://phabricator.services.mozilla.com/D86773
2020-08-16 20:18:02 +00:00
Olli Pettay 9c7b1aa59d Bug 1658649 - Make session-history-in-parent nsISHEntry setters to rely on active entry, r=peterv
Differential Revision: https://phabricator.services.mozilla.com/D86770
2020-08-13 22:51:47 +00:00
Olli Pettay 5192276b89 Bug 1658454 - nsISHEntry.cacheKey setter for session-history-in-parent, r=peterv
SessionHistoryEntry::MaybeSynchronizeSharedStateToInfo call is a tad controversial, but
something like that is needed for the cases when the actual value lives in the SHEntrySharedParentState.

Differential Revision: https://phabricator.services.mozilla.com/D86640
2020-08-13 22:51:17 +00:00
Olli Pettay b4c699ff11 Bug 1658280 - nsISHEntry.scrollRestorationIsManual setter for session-history-in-parent, r=peterv
Differential Revision: https://phabricator.services.mozilla.com/D86547
2020-08-13 23:17:48 +00:00
Olli Pettay 33a7c472fa Bug 1657757 - nsISHEntry.title setter for session-history-in-parent, r=peterv
Differential Revision: https://phabricator.services.mozilla.com/D86275
2020-08-13 23:38:36 +00:00
Kris Maglione 05de051e4a Bug 1650257: Also set NewWindowBCIsTop annotation in parent. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D87111
2020-08-14 19:16:45 +00:00
Olli Pettay cadcd14bc8 Bug 1656996 - Ensure cross-process session history navigations update child process side index and length, r=peterv
Differential Revision: https://phabricator.services.mozilla.com/D85789
2020-08-14 13:05:25 +00:00
Noemi Erli 9858638fe8 Backed out 2 changesets (bug 1657757, bug 1658280) for causing build bustages in nsDocShell.cpp CLOSED TREE
Backed out changeset 0f03a74f24a5 (bug 1658280)
Backed out changeset 3aaeea6bd201 (bug 1657757)
2020-08-14 02:12:48 +03:00
Noemi Erli b7c6d9d228 Backed out changeset 404955e976d6 (bug 1658454) for causing build bustages in nsDocShell.cpp CLOSED TREE 2020-08-14 01:30:50 +03:00
Csoregi Natalia 36ac6c5cca Backed out 2 changesets (bug 1656997, bug 1656996) for fission failures on browser_preferences_usage.js. CLOSED TREE
Backed out changeset c3aaa4f191e6 (bug 1656997)
Backed out changeset e41977f9608f (bug 1656996)
2020-08-14 00:47:56 +03:00
Olli Pettay 510e721d9e Bug 1658454 - nsISHEntry.cacheKey setter for session-history-in-parent, r=peterv
SessionHistoryEntry::MaybeSynchronizeSharedStateToInfo call is a tad controversial, but
something like that is needed for the cases when the actual value lives in the SHEntrySharedParentState.

Differential Revision: https://phabricator.services.mozilla.com/D86640
2020-08-13 19:18:29 +00:00
Olli Pettay 9805690970 Bug 1658280 - nsISHEntry.scrollRestorationIsManual setter for session-history-in-parent, r=peterv
Differential Revision: https://phabricator.services.mozilla.com/D86547
2020-08-13 19:18:06 +00:00
Olli Pettay 83814cae84 Bug 1657757 - nsISHEntry.title setter for session-history-in-parent, r=peterv
Differential Revision: https://phabricator.services.mozilla.com/D86275
2020-08-13 19:17:38 +00:00
Olli Pettay 9b6fb243d1 Bug 1656996 - Ensure cross-process session history navigations update child process side index and length, r=peterv
Differential Revision: https://phabricator.services.mozilla.com/D85789
2020-08-13 19:17:08 +00:00
Olli Pettay 23d50bfbe9 Bug 1655752 - Move session history to the replacing CanonicalBrowsingContext, r=peterv
Differential Revision: https://phabricator.services.mozilla.com/D85189
2020-08-13 16:33:56 +00:00
Razvan Maries ca34860579 Backed out changeset 2eca7dff6597 (bug 1658902) for perma failures on test_history_length_during_pageload.html. CLOSED TREE 2020-08-13 19:00:00 +03:00
Peter Van der Beken 360f74796c Bug 1658902 - Fix some code for session history in parent to work without the session history implementation in the child. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D86946
2020-08-13 13:07:21 +00:00
Edgar Chen 747f9db6d7 Bug 1658572 - Do not propagate user activation state while loading loading-error-page (about:neterror); r=ckerschb
Differential Revision: https://phabricator.services.mozilla.com/D86724
2020-08-13 09:47:08 +00:00
Jean-Yves Avenard 358cef5d1a Bug 1646539 - Part 3. Fix compilation. r=farre
BrowserContext is only fast declared here.
To avoid having to include the full header, move it out of the header.

Differential Revision: https://phabricator.services.mozilla.com/D86904
2020-08-13 07:16:11 +00:00
Geoff Lankow 35d3be0fc3 Bug 1646539 follow-up - Add missing #include to un-break the Thunderbird build. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D86871
2020-08-12 23:47:09 +00:00
Dorel Luca dcd1938a78 Backed out changeset 178fa7e29bb6 (bug 1585070) for Browser-chrome failures in general/browser_windowactivation.js. CLOSED TREE 2020-08-12 20:10:46 +03:00
Andreas Farre 2f88f75c98 Bug 1646539 - Part 2: Add field on WindowContext tracking popup permission. r=nika
Popup permissions initialized with the result of checking if the
constructing WindowContext's principal is allowed to open a popup. The
field is updated for all WindowContexts sharing a principal whenever
the popup permission for that nsIPrincipal changes.

Differential Revision: https://phabricator.services.mozilla.com/D86378
2020-08-12 15:38:12 +00:00
Steven MacLeod 05066e9e52 Bug 1585070 - move nsPIDOMWindowOuter::mIsActive to BrowsingContext. r=farre
A new `BrowsingContext` field, `isActiveBrowserWindow`, has been added
to track the active browser window for the `:-moz-window-inactive`
pseudoclass. This field takes the place of
`nsPIDOMWindowOuter::mIsActive`.

With this change `:-moz-window-inactive` is now fission compatible.

Differential Revision: https://phabricator.services.mozilla.com/D86422
2020-08-11 12:53:57 +00:00
Emilio Cobos Álvarez 0c03ba166c Bug 1658471 - Remove dom.security.featurePolicy.enabled. r=baku
We've shipped it on by default since 74 (bug 1617219).

Differential Revision: https://phabricator.services.mozilla.com/D86665
2020-08-12 10:57:04 +00:00
Kashav Madan 255b3f3ecb Bug 1566422 - Avoid unnecessary coordinate conversions when showing tooltips, r=emilio
We currently start with screen-relative coordinates, translate them to
widget-relative coordinates, and then translate them back to screen-relative
coordinates when actually showing the tooltip in XULBrowserWindow.showTooltip().
There's no reason for the extra conversions, so we can just send screen-relative
coordinates directly.

Since the widget origin for out-of-process frames is the origin of the frame
itself (instead of the tab, which is the case for in-process frames), the
screen-to-widget conversion was incorrect, and was causing a bug in how the
tooltip was being positioned. Avoiding that conversion altogether also fixes
that bug.

Differential Revision: https://phabricator.services.mozilla.com/D86750
2020-08-11 22:01:40 +00:00
Steven MacLeod 560478715a Bug 1580596 - Fix usage of nsIDocShellTreeItem in nsDocShell::CheckLoadingPermission r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D56004
2020-08-10 19:36:35 +00:00
Nika Layzell 28a9513c43 Bug 1656854 - Part 1: Block subframe creation in discarded BCs, r=farre
This should help catch and/or prevent any cases where we're creating a new
subframe at an unfortunate time during `BrowsingContext` or `WindowContext`
teardown.

Differential Revision: https://phabricator.services.mozilla.com/D85896
2020-08-06 14:03:30 +00:00
Christoph Kerschbaumer e99c9c8e77 Bug 1657583: Simplify TestSitePermission within nsHTTPSOnlyUtils r=necko-reviewers,JulianWels,dragana
Differential Revision: https://phabricator.services.mozilla.com/D86178
2020-08-10 08:51:44 +00:00
Steven MacLeod b329c4ff4c Bug 1646547 - fix ScriptLoader::ReadyToExecuteParserBlockingScripts stopping at OOP ancestors. r=kmag
`ReadyToExecuteParserBlockingScripts` was walking the ancestor chain but
would stop if it hit an OOP ancestor. With this change we walk the
`WindowContext` tree instead, so that we may skip over OOP ancestors
and continue checking all in process ancestors.

Differential Revision: https://phabricator.services.mozilla.com/D86436
2020-08-09 23:50:35 +00:00
Kartikaya Gupta b242b603bc Bug 1657995 - Rename UpdateViewportOverridden to a more appropriate name. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D86491
2020-08-09 21:40:56 +00:00
Kris Maglione 6dc4123fea Bug 1646519: Fix GetInProcessTopInternal usage in GetZone. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D80092
2020-08-07 22:02:02 +00:00
Bogdan Tara 492ec9ba2f Backed out changeset c20c383af4db (bug 1657583) for http related failures CLOSED TREE 2020-08-07 17:13:37 +03:00
Christoph Kerschbaumer 080bd94e56 Bug 1657583: Simplify TestSitePermission within nsHTTPSOnlyUtils r=necko-reviewers,JulianWels,dragana
Differential Revision: https://phabricator.services.mozilla.com/D86178
2020-08-07 12:50:31 +00:00
Bogdan Tara 3bc4fa6d50 Backed out changeset 5a2241b01c82 (bug 1657583) for DocumentLoadListener.cpp related bustage CLOSED TREE 2020-08-07 14:58:47 +03:00
Christoph Kerschbaumer b6387305a4 Bug 1657583: Simplify TestSitePermission within nsHTTPSOnlyUtils r=necko-reviewers,JulianWels,dragana
Differential Revision: https://phabricator.services.mozilla.com/D86178
2020-08-07 11:27:56 +00:00
Emilio Cobos Álvarez ac6059e379 Bug 1657841 - Remove unused visible tabs tracking. r=edgar
This stopped being used at some point and now it's just useless.

Differential Revision: https://phabricator.services.mozilla.com/D86322
2020-08-07 09:40:07 +00:00
Csoregi Natalia 8fa5e9e957 Backed out 3 changesets (bug 1648887, bug 1611961) for assertion failures on WindowContext.cpp. CLOSED TREE
Backed out changeset 3719f7db339d (bug 1648887)
Backed out changeset b7c7fcb5df37 (bug 1648887)
Backed out changeset ab82a9c613f8 (bug 1611961)
2020-08-06 17:43:51 +03:00
Edgar Chen d2c2f39bd2 Bug 1611961 - Move UserActivationState from BrowsingContext to WindowContext; r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D83126
2020-08-06 10:25:00 +00:00
Butkovits Atila 3bd0e5497c Backed out 10 changesets (bug 1589102) for failure at browser_saveHeapSnapshot_e10s_01.js CLOSED TREE
Backed out changeset 0d22ad297b19 (bug 1589102)
Backed out changeset 14bcaf2a452c (bug 1589102)
Backed out changeset 20905f91e2bb (bug 1589102)
Backed out changeset 29ee0fbe855f (bug 1589102)
Backed out changeset d1f6185030af (bug 1589102)
Backed out changeset 31949872cc1d (bug 1589102)
Backed out changeset ec04e1a20597 (bug 1589102)
Backed out changeset ffe8da473b91 (bug 1589102)
Backed out changeset 3b92f7306c64 (bug 1589102)
Backed out changeset b187548e258f (bug 1589102)
2020-08-05 21:47:50 +03:00
Anny Gakhokidze e903c66d34 Bug 1589102 - Part 1: Enable about:srcdoc loads via DocumentChannel, r=mattwoodrow
This patch enables sandboxed srcdoc loads to take place via DocumentChannel,
and adds mechanisms for enabling unsandboxed ones.

Both unsandboxed srcdoc, and in subsequent patches, about:blank, loads require
that the triggering principal and the principal to inherit point to the same
instance if the load takes place in the same process as where we are inheriting
those principals from. We save those principals on a target browsing context before
we load the URI, and later, when we are deserializing LoadInfoArgs into
LoadInfo in the content process, we retrieve the saved principals if the
current load identifier of the target BC matches the load identifier saved
along with the principals.

We also need to make sure that during a process switch for about:srcdoc load,
we don't use the original URI for about:srcdoc to determine the remote type and
instead we use channel's result principal.

Differential Revision: https://phabricator.services.mozilla.com/D85079
2020-08-05 16:44:01 +00:00
Christoph Kerschbaumer 394ac42d42 Bug 1657348: Simplify CouldBeHttpsOnlyError within docshell. r=JulianWels
Differential Revision: https://phabricator.services.mozilla.com/D86009
2020-08-05 15:18:01 +00:00
Nika Layzell 1c71a222fc Bug 1653729 - Part 1: Generalize do_QueryActor API, r=kmag
This changes the set of types which can be passed as the second argument to
do_QueryActor to ones which can be unambiguously converted to a JSActorManager,
and combines nsCOMPtr_helper implementations.

Differential Revision: https://phabricator.services.mozilla.com/D84067
2020-08-04 21:34:29 +00:00
Anny Gakhokidze 2d1151529c Bug 1654922 - Part 1: Remove DocumentChannel pref usage from tests and document navigation code, r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D85483
2020-08-01 16:36:12 +00:00
Simon Giesecke 96f3e7e019 Bug 1654992 - Use std::move instead of SwapElements where possible. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D84807
2020-08-04 11:27:07 +00:00
Noemi Erli 381fca9783 Backed out 4 changesets (bug 1654992, bug 1654991) for causing timeous in mask-opacity-1e.html
Backed out changeset 11f0f54c6e0a (bug 1654992)
Backed out changeset a353dd5b3f08 (bug 1654991)
Backed out changeset 6a7964ba549f (bug 1654991)
Backed out changeset cf3bfb91d98c (bug 1654991)
2020-08-03 22:09:36 +03:00
Simon Giesecke 032d2ac9d3 Bug 1654992 - Use std::move instead of SwapElements where possible. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D84807
2020-08-03 14:54:18 +00:00
Sylvestre Ledru 843f943758 Bug 1519636 - Reformat recent changes to the Google coding style r=andi
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D85678
2020-08-02 15:29:15 +00:00
Steven MacLeod 6ceacee1c3 Bug 1646567 - fix nsDocShell::HasUnloadedParent to work for OOP frames. r=nika
With fission enabled, walking the docshell tree to find unloaded
parents would stop at the first OOP parent. Instead we now walk
the `BrowsingContext`/`WindowContext` tree. To still check parents
which are OOP, we take advantage of the fact that a parent
`WindowContext` will no longer be the current `WindowContext` if
the parent was unloaded. For in process docshell's we additionally
check the docshell directly.

Differential Revision: https://phabricator.services.mozilla.com/D85328
2020-07-31 19:58:09 +00:00
Butkovits Atila 336243e692 Backed out changeset 6164e09df60e (bug 1646567) for nsDocShell failures. CLOSED TREE 2020-07-31 21:26:45 +03:00
Steven MacLeod ae5aa0f5bf Bug 1646567 - fix nsDocShell::HasUnloadedParent to work for OOP frames. r=nika
With fission enabled, walking the docshell tree to find unloaded
parents would stop at the first OOP parent. Instead we now walk
the `BrowsingContext`/`WindowContext` tree. To still check parents
which are OOP, we take advantage of the fact that a parent
`WindowContext` will no longer be the current `WindowContext` if
the parent was unloaded. For in process docshell's we additionally
check the docshell directly.

Differential Revision: https://phabricator.services.mozilla.com/D85328
2020-07-31 16:23:58 +00:00
Andreas Farre 5ae385d240 Bug 1613431 - Part 4: Require that synced field setters' return value is handled. r=nika
Depends on D83647

Differential Revision: https://phabricator.services.mozilla.com/D83648
2020-07-31 13:37:20 +00:00
Andreas Farre b13577d8e4 Bug 1613431 - Part 3: Handle synced setters return value. r=nika
Depends on D83646

Differential Revision: https://phabricator.services.mozilla.com/D83647
2020-07-31 13:37:13 +00:00
Andreas Farre 8d7d0ec85c Bug 1613431 - Part 2: Ignore synced setters return value. r=nika
Depends on D83645

Differential Revision: https://phabricator.services.mozilla.com/D83646
2020-07-31 13:37:00 +00:00
Andreas Farre 336fe46681 Bug 1613431 - Part 1: Have synced setters return nsresult. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D83645
2020-07-31 13:36:45 +00:00
Olli Pettay 26b28f1b65 Bug 1654525 - Ensure loads initiated from session history in parent reuse the existing SHEntries, r=peterv
Differential Revision: https://phabricator.services.mozilla.com/D85173
2020-07-29 14:23:09 +00:00
Chris H-C ca634b6fb5 Bug 1635253 - Add new about:glean to control Glean SDK debugging, logging r=janerik,flod
Included documentation, but no tests, as it doesn't yet actually control the
Glean SDK.

Differential Revision: https://phabricator.services.mozilla.com/D83977
2020-07-30 16:35:17 +00:00
Nika Layzell bcb0efc158 Bug 1654569 - Keep BrowsingContextGroup alive throughout the process switch, r=farre,annyG
This builds on the new API added in bug 1652085 to reduce the chance of a
different BrowsingContextGroup instance being used for process selection at the
start of a process switch, and BrowsingContext creation at the end.

While this would probably not be a serious issue right now, as we always have
only a single "extension" process, it could become an issue in the future if the
specific group specifier is used in more places.

Differential Revision: https://phabricator.services.mozilla.com/D84549
2020-07-30 20:27:44 +00:00
Nika Layzell 5ed1074194 Bug 1652085 - Delay BrowsingContextGroup destruction until acked, r=farre
This should ensure that any BrowsingContexts racily created during the discard
process don't end up creating a separate BrowsingContextGroup from their
relatives, and triggering group mismatch assertions.

Differential Revision: https://phabricator.services.mozilla.com/D84548
2020-07-30 20:27:41 +00:00
Nika Layzell 06dd04520e Bug 1652144 - Part 2: Consider current BrowsingContextGroup for process selection, r=farre
This requires keeping track of the current process used to host documents with a
particular remote type loaded in each BrowsingContextGroup. Due to lifecycle
oddities, this set is kept separate from the existing subscribers set on
BrowsingContextGroup.

Differential Revision: https://phabricator.services.mozilla.com/D84061
2020-07-30 20:27:37 +00:00
Nika Layzell 59bd2d5f83 Bug 1652144 - Part 1: Remove unused argument from process launch methods, r=farre
Differential Revision: https://phabricator.services.mozilla.com/D84060
2020-07-30 20:27:34 +00:00
Steven MacLeod baee2f562d Bug 1587418 - cache shortcuts permission on WindowContext. r=farre
We now cache the shortcuts permission in a synced field on
`WindowContext`. This will allow checking the permission quickly and
without IPC when Fission is enabled and the top-level document is
in another process.

Differential Revision: https://phabricator.services.mozilla.com/D84182
2020-07-30 12:26:24 +00:00
Nathan Froyd e3ebda1914 Bug 1223932 - delete guard object uses from the tree; r=jwalden
CLOSED TREE

We don't need these macros anymore, for two reasons:

1. We have static analysis to provide the same sort of checks via `MOZ_RAII`
   and friends.
2. clang now warns for the "temporary that should have been a declaration" case.

The extra requirements on class construction also show up during debug tests
as performance problems.

This change was automated by using the following sed script:

```
# Remove declarations in classes.
/MOZ_DECL_USE_GUARD_OBJECT_NOTIFIER/d
/MOZ_GUARD_OBJECT_NOTIFIER_INIT/d

# Remove individual macros, carefully.
{
  # We don't have to worry about substrings here because the closing
  # parenthesis "anchors" the match.
  s/MOZ_GUARD_OBJECT_NOTIFIER_PARAM)/)/g;
  s/MOZ_GUARD_OBJECT_NOTIFIER_PARAM_TO_PARENT)/)/g;
  s/MOZ_GUARD_OBJECT_NOTIFIER_PARAM_IN_IMPL)/)/g;
  s/MOZ_GUARD_OBJECT_NOTIFIER_ONLY_PARAM_IN_IMPL)/)/g;

  # Remove the longer identifier first.
  s/MOZ_GUARD_OBJECT_NOTIFIER_ONLY_PARAM_TO_PARENT//g;
  s/MOZ_GUARD_OBJECT_NOTIFIER_ONLY_PARAM//g;
}

# Remove the actual include.
\@# *include "mozilla/GuardObjects.h"@d
```

and running:

```
find . -name \*.cpp -o -name \*.h | grep -v 'GuardObjects.h' |xargs sed -i -f script 2>/dev/null
mach clang-format
```

Differential Revision: https://phabricator.services.mozilla.com/D85168
2020-07-30 14:22:38 +00:00
Mihai Alexandru Michis a911a108d0 Backed out changeset ac9c811bc427 (bug 1223932) for causing spidermonkey rust failures.
CLOSED TREE
2020-07-30 18:23:21 +03:00
Nathan Froyd bec9f9b93a Bug 1223932 - delete guard object uses from the tree; r=jwalden
We don't need these macros anymore, for two reasons:

1. We have static analysis to provide the same sort of checks via `MOZ_RAII`
   and friends.
2. clang now warns for the "temporary that should have been a declaration" case.

The extra requirements on class construction also show up during debug tests
as performance problems.

This change was automated by using the following sed script:

```
# Remove declarations in classes.
/MOZ_DECL_USE_GUARD_OBJECT_NOTIFIER/d
/MOZ_GUARD_OBJECT_NOTIFIER_INIT/d

# Remove individual macros, carefully.
{
  # We don't have to worry about substrings here because the closing
  # parenthesis "anchors" the match.
  s/MOZ_GUARD_OBJECT_NOTIFIER_PARAM)/)/g;
  s/MOZ_GUARD_OBJECT_NOTIFIER_PARAM_TO_PARENT)/)/g;
  s/MOZ_GUARD_OBJECT_NOTIFIER_PARAM_IN_IMPL)/)/g;
  s/MOZ_GUARD_OBJECT_NOTIFIER_ONLY_PARAM_IN_IMPL)/)/g;

  # Remove the longer identifier first.
  s/MOZ_GUARD_OBJECT_NOTIFIER_ONLY_PARAM_TO_PARENT//g;
  s/MOZ_GUARD_OBJECT_NOTIFIER_ONLY_PARAM//g;
}

# Remove the actual include.
\@# *include "mozilla/GuardObjects.h"@d
```

and running:

```
find . -name \*.cpp -o -name \*.h | grep -v 'GuardObjects.h' |xargs sed -i -f script 2>/dev/null
mach clang-format
```

Differential Revision: https://phabricator.services.mozilla.com/D85168
2020-07-30 14:22:38 +00:00
Nika Layzell d0686776d2 Bug 1648955 - Check parent WC is in-proc rather than parent BC nsDocShell to tree, r=farre
Differential Revision: https://phabricator.services.mozilla.com/D85309
2020-07-30 12:27:12 +00:00
Kashav Madan 75b193e637 Bug 1655549 - Implement BrowsingContext::GetAllBrowsingContextsInSubtree, r=nika
Differential Revision: https://phabricator.services.mozilla.com/D85311
2020-07-29 21:10:36 +00:00
Steven MacLeod 2e5bd98b61 Bug 1647449 - fix nsDocShell::DetermineContentType to work for OOP frames. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D85194
2020-07-29 15:41:40 +00:00
Sebastian Streich fb1d1dc1df Bug 1558394 - Pass the TriggeringSandboxFlags to nsILoadinfo r=ckerschb,smaug,necko-reviewers,valentin
Add triggering Sandbox flags to loadinfo
***
Pass triggering Flags into Loadinfo

***
Fix triggeringSandboxflags passing

Differential Revision: https://phabricator.services.mozilla.com/D69588
2020-07-29 11:43:23 +00:00
Peter Van der Beken bcde4b996a Bug 1655735 - Remove nsIDocShell::GetOSHEId. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D85146
2020-07-28 14:17:49 +00:00
Butkovits Atila cf561cece0 Backed out 5 changesets (bug 1652144, bug 1654569, bug 1652085) for assertion failure nsDocShell.cpp. CLOSED TREE
Backed out changeset 4388af0c7d95 (bug 1654569)
Backed out changeset 66d5bb2ff027 (bug 1652085)
Backed out changeset 05132c178b4f (bug 1652144)
Backed out changeset fbdc7fd9cb96 (bug 1652144)
Backed out changeset 920a06a52b8b (bug 1652144)
2020-07-26 11:12:52 +03:00
Nika Layzell 09b3c13a42 Bug 1648955 - Stop process changing loads in inactive subframes, r=mattwoodrow,annyG
Differential Revision: https://phabricator.services.mozilla.com/D84752
2020-07-24 22:19:38 +00:00
Nika Layzell 82d3bd6bd5 Bug 1654569 - Keep BrowsingContextGroup alive throughout the process switch, r=farre,annyG
This builds on the new API added in bug 1652085 to reduce the chance of a
different BrowsingContextGroup instance being used for process selection at the
start of a process switch, and BrowsingContext creation at the end.

While this would probably not be a serious issue right now, as we always have
only a single "extension" process, it could become an issue in the future if the
specific group specifier is used in more places.

Differential Revision: https://phabricator.services.mozilla.com/D84549
2020-07-24 20:24:48 +00:00
Nika Layzell 9ad094035e Bug 1652085 - Delay BrowsingContextGroup destruction until acked, r=farre
This should ensure that any BrowsingContexts racily created during the discard
process don't end up creating a separate BrowsingContextGroup from their
relatives, and triggering group mismatch assertions.

Differential Revision: https://phabricator.services.mozilla.com/D84548
2020-07-24 20:24:45 +00:00
Nika Layzell fc494ad88c Bug 1652144 - Part 2: Consider current BrowsingContextGroup for process selection, r=farre
This requires keeping track of the current process used to host documents with a
particular remote type loaded in each BrowsingContextGroup. Due to lifecycle
oddities, this set is kept separate from the existing subscribers set on
BrowsingContextGroup.

Differential Revision: https://phabricator.services.mozilla.com/D84061
2020-07-24 20:24:36 +00:00
Nika Layzell 03de005ca0 Bug 1652144 - Part 1: Remove unused argument from process launch methods, r=farre
Differential Revision: https://phabricator.services.mozilla.com/D84060
2020-07-24 20:24:33 +00:00
Olli Pettay 1b3d2a37fb Bug 1647229 - Synchronize layouthistorystate to parent process, r=peterv
Differential Revision: https://phabricator.services.mozilla.com/D81753
2020-07-23 19:35:29 +00:00
Emilio Cobos Álvarez ff61891772 Bug 1653011 - Simplify and make WeakPtr<Derived> usable and compact. r=froydnj,sg,geckoview-reviewers,jgilbert,kvark,snorp
Having two classes in the inheritance chain inherit from SupportsWeakPtr
now won't compile, but you can use WeakPtr<Derived> when any base class
inherits from SupportsWeakPtr.

Differential Revision: https://phabricator.services.mozilla.com/D83674
2020-07-23 14:51:46 +00:00
prathiksha 37e1247796 Bug 1653839 - Fix error 'mozilla/dom/RTCCertificateBinding.h' file not found on mingw builds. r=keeler
Differential Revision: https://phabricator.services.mozilla.com/D84480
2020-07-22 16:22:55 +00:00
Jonathan Almeida [:jonalmeida] e9a6ea525b Bug 1607092 - Add new quote from Book of Mozilla for GeckoView r=geckoview-reviewers,Pike,agi
Differential Revision: https://phabricator.services.mozilla.com/D80575
2020-07-07 02:22:07 +00:00
Simon Giesecke e443211b53 Bug 1653229 - Remove unnecessary includes for BindingUtils.h. r=jgilbert
Differential Revision: https://phabricator.services.mozilla.com/D83771
2020-07-22 15:12:10 +00:00
Simon Giesecke 2d57d60bcc Bug 1653000 - Use a fold expression within EachIndexInner instead of recursion. r=nika,farre
Differential Revision: https://phabricator.services.mozilla.com/D84131
2020-07-22 09:43:28 +00:00
Nika Layzell 49c7080ba4 Bug 1653000 - Part 2: Refactor CreateDetached to reduce callers of SetWithoutSyncing, r=farre
With the new implementation from part 1, this is now shorter to write than it
would be before.

Depends on D84063

Differential Revision: https://phabricator.services.mozilla.com/D84064
2020-07-22 09:13:20 +00:00
Nika Layzell dc09e15686 Bug 1653000 - Part 1: Switch away from tuples in SyncedContext, r=farre,sg
This should help reduce the overhead of template instantiation in C++ code.

Differential Revision: https://phabricator.services.mozilla.com/D84063
2020-07-22 14:07:26 +00:00
Simon Giesecke 3d27322bc3 Bug 1653000 - Declare WindowGlobalInit and SyncedContextInitializer uncomparable and remove unused equality operators. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D84299
2020-07-22 11:48:11 +00:00
James Willcox ecaad75230 Bug 1639577 - Only suspend GeckoView tabs that are alone in their BrowsingContextGroup r=nika,geckoview-reviewers,agi
This avoids problems where a foreground tab tries to communicate with a background
tab via `window.opener`, but is unable to because the background tab
is suspended.

Differential Revision: https://phabricator.services.mozilla.com/D83693
2020-07-21 21:04:53 +00:00
Dan Glastonbury 081870285c Bug 1646899 - P4: Handle object & embed via DocumentChannel. r=mattwoodrow,jya
Pass internal content policy type to DLL and switch behavior depending on type
being loaded. This implementation immediately redirects channel back to the
content process for further handling.



Depends on D80406

Differential Revision: https://phabricator.services.mozilla.com/D80407
2020-07-21 01:01:05 +00:00
Dan Glastonbury 06cb85265c Bug 1646899 - P3: Modify CanUseDocumentChannel to take necessary vars. r=mattwoodrow
Allows checking if DocumentChannel can be used with out creating an
nsDocShellLoadState object.



Depends on D80405

Differential Revision: https://phabricator.services.mozilla.com/D80406
2020-07-21 01:01:03 +00:00
prathiksha 78c662789a Bug 1617987 - Fix URLs by prefixing www. when users encounter bad cert domain errors. r=nika,keeler
Differential Revision: https://phabricator.services.mozilla.com/D82024
2020-07-18 13:38:59 +00:00
Marco Bonardo 9717edb569 Bug 1637745. r=Gijs,necko-reviewers,mayhemer
Differential Revision: https://phabricator.services.mozilla.com/D80345
2020-07-17 13:45:58 +00:00
Paul Bone 02b5195413 Bug 1653482 - Tidy up after Bug 1647109 r=peterv
Differential Revision: https://phabricator.services.mozilla.com/D83897
2020-07-17 09:39:59 +00:00
Olli Pettay 306b718cb8 Bug 1602115, make it possible to test async history.length handling even when session history lives in the child process, r=peterv
Differential Revision: https://phabricator.services.mozilla.com/D79198
2020-07-16 23:04:18 +00:00
Olli Pettay 41fc87999f Bug 1602115 - Make history.length Fission compatible, r=peterv
Differential Revision: https://phabricator.services.mozilla.com/D79197
2020-07-16 22:23:29 +00:00
Kris Maglione 5cad4b348e Bug 1652849: Use NotifyWhenScriptSafe for some additional observers. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D83845
2020-07-16 20:44:51 +00:00
Edgar Chen 86341ec4ef Bug 1653214 - Part 2: Remove nsIBaseWindow::Create; r=nika
Differential Revision: https://phabricator.services.mozilla.com/D83767
2020-07-16 20:42:20 +00:00
Edgar Chen beeae4cb08 Bug 1653214 - Part 1: Merge implementations of nsDocShell::Create into nsDocShell::InitWindow; r=nika
Differential Revision: https://phabricator.services.mozilla.com/D83766
2020-07-16 20:42:02 +00:00
Razvan Maries 4ccaec8564 Backed out 3 changesets (bug 1653123, bug 1602115) for perma failures on test_history_length_during_pageload.html. CLOSED TREE
Backed out changeset 6b3c0f542ef3 (bug 1653123)
Backed out changeset 951c0fd65a00 (bug 1602115)
Backed out changeset 258d0ebd9e34 (bug 1602115)
2020-07-16 23:21:18 +03:00
alwu 37f08f36a0 Bug 1647430 - part2 : store `DocTreeHadAudibleMedia` in WindowContext. r=nika
After we enable Fissions, we can't always access the top level document because it might be in another process.

Therefore, we should move `mDocTreeHadAudibleMedia` from document to the top window context, which can ensure that we set the value correctly even if setting `mDocTreeHadAudibleMedia` happens in a different process which is different from the process where the top level document exists.

Differential Revision: https://phabricator.services.mozilla.com/D83162
2020-07-16 19:53:49 +00:00
Kris Maglione c75a803c6e Bug 1646542: Fix GetInProcessParent usage in IsSameOrAncestor. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D80097
2020-07-15 20:17:52 +00:00
Olli Pettay e702898d75 Bug 1602115, make it possible to test async history.length handling even when session history lives in the child process, r=peterv
Differential Revision: https://phabricator.services.mozilla.com/D79198
2020-07-16 19:02:49 +00:00
Olli Pettay c142af0f58 Bug 1602115 - Make history.length Fission compatible, r=peterv
Differential Revision: https://phabricator.services.mozilla.com/D79197
2020-07-16 19:01:36 +00:00
Peter Van der Beken 9db58fa8c3 Bug 1648040 - Use the new session history if pref is on. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D80885
2020-07-16 14:04:59 +00:00
alwu 1493d7798d Bug 1621403 - part2 : implement `seekto` action. r=chunmin,emilio
Implement `Seekto` action [1]. In addtion, as `seekto` can go with additional properties, we create a new structure `MediaControlAction` to wrap `MediaControlKey` and `SeekDetails`, which can be sent with `seekto`.

[1] https://w3c.github.io/mediasession/#dom-mediasessionaction-seekto

Differential Revision: https://phabricator.services.mozilla.com/D82816
2020-07-16 00:16:33 +00:00
Peter Van der Beken da46069826 Bug 1648038 - Create session history entry in the parent without checking if session history is on for the browsing context, because we only find out later if session history is disabled. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D80884
2020-07-14 10:41:04 +00:00
Peter Van der Beken 1ca3ccc2c4 Bug 1648038 - Don't require session history object when creating an entry. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D80883
2020-07-14 11:14:46 +00:00
Olli Pettay b2c2617436 Bug 1648400 - Make it possible to get back to nsISHEntry from SessionHistoryInfo ID, r=peterv
Using raw pointer to the hashtable to avoid static constructors.

Differential Revision: https://phabricator.services.mozilla.com/D81353
2020-07-15 15:54:02 +00:00
Frederik Braun a7153982e8 Bug 1366973: Rename security flags to not contain DATA anymore r=geckoview-reviewers,ckerschb,snorp
Differential Revision: https://phabricator.services.mozilla.com/D83490
2020-07-15 11:20:45 +00:00
Marco Bonardo 7e76f843c7 Bug 1641467 - Remove temporary browser.fixup.defaultToSearch feature pref and its code. r=Gijs
Differential Revision: https://phabricator.services.mozilla.com/D83554
2020-07-15 09:53:04 +00:00
Olli Pettay 58ab7096a2 Bug 1647431, make ReportShadowDOMUsage Fission compatible, r=edgar
Differential Revision: https://phabricator.services.mozilla.com/D83471
2020-07-14 11:22:20 +00:00
Razvan Maries 4f6b5e6e2a Backed out 2 changesets (bug 1648038) for build bustages on nsDocShell.cpp. CLOSED TREE
Backed out changeset 78b8a2b9277a (bug 1648038)
Backed out changeset b6b620d72e6b (bug 1648038)
2020-07-14 12:17:31 +03:00
Peter Van der Beken 48cb1143b8 Bug 1648038 - Create session history entry in the parent without checking if session history is on for the browsing context, because we only find out later if session history is disabled. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D80884
2020-07-14 08:57:59 +00:00
Peter Van der Beken f481f2b486 Bug 1648038 - Don't require session history object when creating an entry. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D80883
2020-07-14 08:57:54 +00:00
Peter Van der Beken c7c65a2a89 Bug 1644140 - Remove nsDocShell::AddChildSHEntryInternal and make some session history code in nsDocShell work with fission. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D78686
2020-07-13 15:42:15 +00:00
Narcis Beleuzu 8981494089 Backed out 5 changesets (bug 1646899) for mochitest failures on DocumentLoadListener.cpp . CLOSED TREE
Backed out changeset f41ac122a801 (bug 1646899)
Backed out changeset 86a5e0827050 (bug 1646899)
Backed out changeset d2fd0f955e24 (bug 1646899)
Backed out changeset 7a7194146fe1 (bug 1646899)
Backed out changeset 4731d76dae88 (bug 1646899)
2020-07-13 05:43:30 +03:00
Dan Glastonbury f5fd7b3d97 Bug 1646899 - P4: Handle object & embed via DocumentChannel. r=mattwoodrow,jya
Pass internal content policy type to DLL and switch behavior depending on type
being loaded. This implementation immediately redirects channel back to the
content process for further handling.

Differential Revision: https://phabricator.services.mozilla.com/D80407
2020-07-13 00:48:57 +00:00
Dan Glastonbury 8847465b59 Bug 1646899 - P3: Modify CanUseDocumentChannel to take necessary vars. r=mattwoodrow
Allows checking if DocumentChannel can be used with out creating an
nsDocShellLoadState object.

Differential Revision: https://phabricator.services.mozilla.com/D80406
2020-07-13 00:48:54 +00:00