Issues were occuring where a process swap would be decided upon during
on-examine-response, but before the swap could be handled by the
channel, the channel was redirected.
This new code takes the mildly hacky approach of simply using a separate
observer notification which is fired at the correct time. A better
solution may be to use a dedicated service for responding to these
events, however that was not implemented for this initial patch.
Depends on D18607
Differential Revision: https://phabricator.services.mozilla.com/D19691
--HG--
extra : source : 3d24e8e81c02af9d1edec7571afecefb0d2f1eb4
Issues were occuring where a process swap would be decided upon during
on-examine-response, but before the swap could be handled by the
channel, the channel was redirected.
This new code takes the mildly hacky approach of simply using a separate
observer notification which is fired at the correct time. A better
solution may be to use a dedicated service for responding to these
events, however that was not implemented for this initial patch.
Depends on D18607
Differential Revision: https://phabricator.services.mozilla.com/D19691
--HG--
extra : moz-landing-system : lando
* New topLevel loads get the nsILoadInfo.openerPolicy of the current top level document
* Parsing the Cross-Opener-Origin-Policy of a channel will update mLoadInfo.openerPolicy and this value will get propagated to the child process.
* SessionStore now checks nsIHttpChannel.hasCrossOriginOpenerPolicyMismatch (preffed off) and performs a process switch if needed
Differential Revision: https://phabricator.services.mozilla.com/D19000
--HG--
rename : toolkit/components/remotebrowserutils/tests/browser/browser_httpResponseProcessSelection.js => toolkit/components/remotebrowserutils/tests/browser/browser_httpCrossOriginOpenerPolicy.js
extra : moz-landing-system : lando
Current window state in the sessionstore system includes `sizeMode` which can be "normal", "minimized", "maximized". However, the OS also remembers whether the window was "normal" or "maximized" before minimization to restore it appropriately. With this fix, sessionstore does likewise.
Differential Revision: https://phabricator.services.mozilla.com/D13234
--HG--
extra : moz-landing-system : lando
This will only happen if the pref is enabled, and works through the existing
mechanism for process switching loads. It should enable POST data to be
preserved when performing a process switch, for example when submitting
a form on a file:// or moz-extension:// URI to a http:// URI.
Depends on D15611
Differential Revision: https://phabricator.services.mozilla.com/D15612
--HG--
extra : moz-landing-system : lando
Since about:newtab now runs in the privileged content process, SessionStore
will attempt restore the tab's content whenever we perform a process switch.
This causes the tab's content area to be focused. We will add a condition to
prevent focusing on the tab's content area.
This patch also focuses on the URL bar first before opening a new tab to avoid
flickering.
MozReview-Commit-ID: FRKR6pReiZz
--HG--
extra : source : c3c22abaf108a020590266c1a707a2c37de512d8
extra : intermediate-source : 95a7ef6102a63681d1286d4bfc2554b0d9cf3e84
extra : histedit_source : 6e13e30dbb0088d1cac7378eb79e45adf9dacc41
Now that we have moved some about: pages to the privileged content process,
opening these URLs from a non-privileged content process will trigger SessionStore
to restore the tab state due to a process flip. We will set favicons for these
URLs earlier to avoid flickering and improve perceived performance.
This patch also prevents the spinner whenever a page with a local about: URI
(about:blank and about: pages that resolve to jar:// or file:// URIs) is
loaded from a process that the URI cannot load in (e.g. loading about:newtab
in the web content process), as well as during tab duplication or session
restoration for such local about: URIs.
Before this patch, there were additional frames when opening a new window, causing
browser/base/content/test/performance/browser_windowopen.js to fail. This patch
will reduce the number of frames when opening a new window.
MozReview-Commit-ID: yjj2964KSz
--HG--
extra : source : cecc2d52e72e7c6e61137a9147735cb07a079d51
extra : intermediate-source : 21a6f1a83c73ce4fff654d4b2118e98375f0a528
extra : histedit_source : e8b8132856b7ee27b530798c2721b76118de655e
Since about:newtab now runs in the privileged content process, SessionStore
will attempt restore the tab's content whenever we perform a process switch.
This causes the tab's content area to be focused. We will add a condition to
prevent focusing on the tab's content area.
This patch also focuses on the URL bar first before opening a new tab to avoid
flickering.
MozReview-Commit-ID: FRKR6pReiZz
--HG--
extra : rebase_source : f14f28c6dd6425b592d763a432e7684cac400f2b
extra : intermediate-source : b94f9883aef0a848afbadc30da7356daa3bb7e8c
extra : source : c3c22abaf108a020590266c1a707a2c37de512d8
Now that we have moved some about: pages to the privileged content process,
opening these URLs from a non-privileged content process will trigger SessionStore
to restore the tab state due to a process flip. We will set favicons for these
URLs earlier to avoid flickering and improve perceived performance.
This patch also prevents the spinner whenever a page with a local about: URI
(about:blank and about: pages that resolve to jar:// or file:// URIs) is
loaded from a process that the URI cannot load in (e.g. loading about:newtab
in the web content process), as well as during tab duplication or session
restoration for such local about: URIs.
Before this patch, there were additional frames when opening a new window, causing
browser/base/content/test/performance/browser_windowopen.js to fail. This patch
will reduce the number of frames when opening a new window.
MozReview-Commit-ID: yjj2964KSz
--HG--
extra : rebase_source : a5588b5b6496c983350f591602d0959f906235d5
extra : intermediate-source : 176f3ee14e67f493bafefbd599fbf0fe194a25a6
extra : source : cecc2d52e72e7c6e61137a9147735cb07a079d51
Since about:newtab now runs in the privileged content process, SessionStore
will attempt restore the tab's content whenever we perform a process switch.
This causes the tab's content area to be focused. We will add a condition to
prevent focusing on the tab's content area.
This patch also focuses on the URL bar first before opening a new tab to avoid
flickering.
MozReview-Commit-ID: FRKR6pReiZz
--HG--
extra : rebase_source : 65d466d2704ab19678ddc0ff5f6bd6b3b833fb21
extra : source : c3c22abaf108a020590266c1a707a2c37de512d8
Now that we have moved some about: pages to the privileged content process,
opening these URLs from a non-privileged content process will trigger SessionStore
to restore the tab state due to a process flip. We will set favicons for these
URLs earlier to avoid flickering and improve perceived performance.
This patch also prevents the spinner whenever a page with a local about: URI
(about:blank and about: pages that resolve to jar:// or file:// URIs) is
loaded from a process that the URI cannot load in (e.g. loading about:newtab
in the web content process), as well as during tab duplication or session
restoration for such local about: URIs.
Before this patch, there were additional frames when opening a new window, causing
browser/base/content/test/performance/browser_windowopen.js to fail. This patch
will reduce the number of frames when opening a new window.
MozReview-Commit-ID: yjj2964KSz
--HG--
extra : rebase_source : b5087686ad3e1c3eb16d0be9a8031b01d14cb6ab
extra : source : cecc2d52e72e7c6e61137a9147735cb07a079d51