Commit Graph

3454 Commits

Author SHA1 Message Date
Andreas Farre
52f478c918 Bug 1590762 - Part 3: Keep track of current loads in BrowsingContext. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D75110
2020-06-23 13:01:37 +00:00
Jean-Yves Avenard
05adafa9ef Bug 1637500 - P2. Rename methods as they are not always dealing with "threads". r=froydnj
Before P1, GetCurrentThreadSerialEventTarget would have always returned the same data as NS_GetCurrentThread, making the comment incorrect Now it will properly return the running TaskQueue if any.

This change of name more clearly exposes what they are doing, as we aren't always dealing with threads directly; but a nsISerialEventTarget

Differential Revision: https://phabricator.services.mozilla.com/D80354
2020-06-23 05:05:36 +00:00
Henri Sivonen
202b60fc22 Bug 1646484 - Remove nsIDocShell::forcedCharset. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D80072
2020-06-18 01:18:11 +00:00
Matt Woodrow
216c7f598e Bug 1644943 - Create single webprogress for CanonicalBrowsingContext, regardless of process the browser element contents are in. r=nika,kmag,Gijs
I think at this point we can remove all of RemoteWebProgressManager, some/all of the TabProgressListener recreations, and probably a bunch more.

Differential Revision: https://phabricator.services.mozilla.com/D79240
2020-06-17 02:59:29 +00:00
Razvan Maries
f3accf16d2 Backed out changeset f56d5efc5e43 (bug 1644943) for build bustages on nsFrameLoaderOwner.cpp. CLOSED TREE 2020-06-17 02:55:01 +03:00
Nicholas Nethercote
a2ef9fa679 Bug 1645982 - Rename some service getters in Services.py to better match the types. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D79791
2020-06-16 23:32:21 +00:00
Matt Woodrow
643b32a784 Bug 1644943 - Create single webprogress for CanonicalBrowsingContext, regardless of process the browser element contents are in. r=nika,kmag,Gijs
I think at this point we can remove all of RemoteWebProgressManager, some/all of the TabProgressListener recreations, and probably a bunch more.

Differential Revision: https://phabricator.services.mozilla.com/D79240
2020-06-16 23:24:49 +00:00
Simon Giesecke
c3d543181b Bug 1645339 - Use range-based for with nsTObserverArray in docshell. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D79493
2020-06-16 10:14:24 +00:00
Simon Giesecke
25ba854d50 Bug 1645450 - Remove elements by index rather than searching in docshell. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D79513
2020-06-15 17:04:20 +00:00
Nika Layzell
f0cda86000 Bug 1508306 - Part 1: Migate the Large-Allocation handler to DocumentLoadListener, r=mattwoodrow,necko-reviewers,geckoview-reviewers,agi,valentin
This removes the diagnostic warnings which used to be logged when the
Large-Allocation header was present, but failed to switch into a
Large-Allocation process. Due to the low adoption of the header, this shouldn't
be too large of a problem, but we can look into re-adding the diagnostics if
needed in the future.

The new codepath no longer performs multiple network requests for
Large-Allocation resources, and now relies on the battle-tested
DocumentLoadListener codepath for process switching.

Differential Revision: https://phabricator.services.mozilla.com/D78998
2020-06-15 23:24:07 +00:00
Bogdan Tara
01729dc302 Backed out changeset 26231891f004 (bug 1644943) for browser_backforward_userinteraction.js and browser_sessionHistory.js failures CLOSED TREE 2020-06-16 02:46:15 +03:00
Matt Woodrow
396f3259ce Bug 1644943 - Create single webprogress for CanonicalBrowsingContext, regardless of process the browser element contents are in. r=nika,kmag,Gijs
I think at this point we can remove all of RemoteWebProgressManager, some/all of the TabProgressListener recreations, and probably a bunch more.

Differential Revision: https://phabricator.services.mozilla.com/D79240
2020-06-15 22:01:34 +00:00
julianwels
107d9f83ab Bug 1640853 - Using PermissionManager for HTTPS Only Mode upgrade exceptions. r=ckerschb,nhnt11,nika,johannh,necko-reviewers,valentin
Differential Revision: https://phabricator.services.mozilla.com/D77040
2020-06-15 11:19:39 +00:00
Olli Pettay
2274f0f423 Bug 1644119 - Pass loadingEntry to the docshell also when load is similar origin, r=peterv
Differential Revision: https://phabricator.services.mozilla.com/D78814
2020-06-12 20:53:11 +00:00
Narcis Beleuzu
a4b06a5d82 Backed out 10 changesets (bug 1508306, bug 1640019) for bc failures on browser_autoOpen.js . CLOSED TREE
Backed out changeset 8844170ff408 (bug 1508306)
Backed out changeset b750f1d873cf (bug 1508306)
Backed out changeset c7170e76e676 (bug 1640019)
Backed out changeset 5905995e4815 (bug 1640019)
Backed out changeset 7bf86513348e (bug 1640019)
Backed out changeset f7d0605295f7 (bug 1640019)
Backed out changeset 521b4d5a9a89 (bug 1640019)
Backed out changeset 8542edc564bc (bug 1640019)
Backed out changeset 4f6a03152526 (bug 1640019)
Backed out changeset 30d2bf04719b (bug 1640019)
2020-06-12 22:47:50 +03:00
Nika Layzell
1d09a3c359 Bug 1508306 - Part 1: Migate the Large-Allocation handler to DocumentLoadListener, r=mattwoodrow,necko-reviewers,geckoview-reviewers,agi,valentin
This removes the diagnostic warnings which used to be logged when the
Large-Allocation header was present, but failed to switch into a
Large-Allocation process. Due to the low adoption of the header, this shouldn't
be too large of a problem, but we can look into re-adding the diagnostics if
needed in the future.

The new codepath no longer performs multiple network requests for
Large-Allocation resources, and now relies on the battle-tested
DocumentLoadListener codepath for process switching.

Differential Revision: https://phabricator.services.mozilla.com/D78998
2020-06-12 16:52:13 +00:00
Johann Hofmann
210b8937d3 Bug 1515073 - Part 2 - Allow nsIWebNavigation::{goBack,goForward} to skip entries without user interaction. r=Gijs,peterv
Depends on D27585

Differential Revision: https://phabricator.services.mozilla.com/D27586
2020-06-09 14:50:14 +00:00
Johann Hofmann
60decee3b0 Bug 1515073 - Part 1 - Add nsISHEntry::hasUserInteraction. r=peterv
Differential Revision: https://phabricator.services.mozilla.com/D27585
2020-06-09 14:48:38 +00:00
Emilio Cobos Álvarez
77f6fed550 Bug 1606660 - Move allowfullscreen checks to the browsing context. r=nika
So that they work properly on fission iframes.

Differential Revision: https://phabricator.services.mozilla.com/D78702
2020-06-08 23:49:31 +00:00
Emilio Cobos Álvarez
9568f0b1d3 Bug 1606660 - Factor out AllowFullscreen checks for iframe. r=nika
This has the side effect of fixing support of mozallowfullscreen when
feature policy is enabled, because it checks only AllowFullscreen, which
doesn't check for the moz-prefixed attribute.

I left the swapframeloader bits alone because they're mozbrowser
specific and I have no idea what they're trying to do.

Differential Revision: https://phabricator.services.mozilla.com/D78701
2020-06-08 21:42:48 +00:00
Matt Woodrow
5a4dd9402d Bug 1638711 - Call DisplayLoadError for NS_ERROR_DOM_BAD_URI during EndPageLoad, since we would also have done this for the same error during AsyncOpen. r=nika,ckerschb
Previously we called DisplayLoadError with NS_ERROR_DOM_BASE_URI for errors detected during AsyncOpen, but not for asynchronous errors, and this patch queue changed when some security errors happen to be asynchronous.

GeckoView has tests that require DisplayLoadError to be called (which allows for a custom error page to be loaded). Unfortunately, doing so breaks existing gecko tests, since the method of detecting a blocked load fails when GeckoView loads a custom error page.

Differential Revision: https://phabricator.services.mozilla.com/D77171
2020-06-08 23:17:49 +00:00
Peter Van der Beken
91dbc96d47 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-06-08 15:46:14 +00:00
Bogdan Tara
32f783cea6 Backed out 9 changesets (bug 1638711) for test_block_toplevel_data_navigation.html failures CLOSED TREE
Backed out changeset b137e5dfcc57 (bug 1638711)
Backed out changeset 3529cf4e69b6 (bug 1638711)
Backed out changeset 417df721766f (bug 1638711)
Backed out changeset 5b312893e8e2 (bug 1638711)
Backed out changeset d6d396498f5e (bug 1638711)
Backed out changeset 77f6f2396343 (bug 1638711)
Backed out changeset c1d12e04bc27 (bug 1638711)
Backed out changeset 6e702b519ef0 (bug 1638711)
Backed out changeset 9e5a049b57ed (bug 1638711)
2020-06-08 12:36:09 +03:00
Matt Woodrow
b8adc3abad Bug 1638711 - Call DisplayLoadError for NS_ERROR_DOM_BAD_URI during EndPageLoad, since we would also have done this for the same error during AsyncOpen. r=nika,ckerschb
Previously we called DisplayLoadError with NS_ERROR_DOM_BASE_URI for errors detected during AsyncOpen, but not for asynchronous errors, and this patch queue changed when some security errors happen to be asynchronous.

GeckoView has tests that require DisplayLoadError to be called (which allows for a custom error page to be loaded). Unfortunately, doing so breaks existing gecko tests, since the method of detecting a blocked load fails when GeckoView loads a custom error page.

Differential Revision: https://phabricator.services.mozilla.com/D77171
2020-06-08 08:07:20 +00:00
Emilio Cobos Álvarez
6877cbaf7c Bug 1643493 - Remove dead ParentShowInfo::fullscreenAllowed. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D78392
2020-06-05 00:40:59 +00:00
Emilio Cobos Álvarez
653cc0078a Bug 1643488 - Remove dead nsDocShell::mFullscreenAllowed. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D78385
2020-06-04 20:41:29 +00:00
Andrea Marchesini
aaa2675e18 Bug 1639833 - IntrisincStoragePrincipal should always be partitioned - part 2 - Expose PartitionedPrincipal, r=dimi
Differential Revision: https://phabricator.services.mozilla.com/D76915
2020-06-03 06:09:52 +00:00
Gijs Kruitbosch
8da81d6553 Bug 1606797 - pass the triggering principal when opening external URIs, r=ckerschb
Differential Revision: https://phabricator.services.mozilla.com/D77027
2020-05-27 12:46:34 +00:00
Csoregi Natalia
ed3350ab9b Backed out 5 changesets (bug 1639833) for failures on browser_blockingIndexedDbInWorkers.js. CLOSED TREE
Backed out changeset 6b4f76d65540 (bug 1639833)
Backed out changeset c77acba1aacb (bug 1639833)
Backed out changeset 30c97666919e (bug 1639833)
Backed out changeset d769b313441a (bug 1639833)
Backed out changeset ed41b41d1b03 (bug 1639833)
2020-06-02 15:02:31 +03:00
Andrea Marchesini
88b78d701a Bug 1639833 - IntrisincStoragePrincipal should always be partitioned - part 2 - Expose PartitionedPrincipal, r=dimi
Differential Revision: https://phabricator.services.mozilla.com/D76915
2020-06-02 08:28:05 +00:00
Noemi Erli
2b060384fc Backed out 5 changesets (bug 1639833) for causing sessionstorage related failures CLOSED TREE
Backed out changeset b36af8d9db34 (bug 1639833)
Backed out changeset 712c11904dbe (bug 1639833)
Backed out changeset 14f1e4783582 (bug 1639833)
Backed out changeset b7f14c4cfe5d (bug 1639833)
Backed out changeset b4b25034dd83 (bug 1639833)
2020-06-01 19:31:50 +03:00
Andrea Marchesini
5ffef561ac Bug 1639833 - IntrisincStoragePrincipal should always be partitioned - part 2 - Expose PartitionedPrincipal, r=dimi
Differential Revision: https://phabricator.services.mozilla.com/D76915
2020-06-01 11:57:46 +00:00
Jean-Yves Avenard
43650d030e Bug 1637869 - P4. Access pref via staticpref. r=mattwoodrow,necko-reviewers
It would otherwise triggers browser/base/content/test/performance/browser_preferences_usage.js

That pref would have been checked with every single load, a staticpref is O-1 .

Differential Revision: https://phabricator.services.mozilla.com/D76317
2020-05-28 04:07:15 +00:00
Jean-Yves Avenard
b8ba3a9665 Bug 1637869 - P2. Allow ParentProcessDocumentChannel to perform process switching. r=nika,mattwoodrow
The moves all decisions to perform a process switch into the DocumentLoadListerner. This removes the unnecessary need to go via a content process to start the load.

Differential Revision: https://phabricator.services.mozilla.com/D76315
2020-05-28 00:07:39 +00:00
Razvan Maries
e01482996f Backed out 7 changesets (bug 1638711) for perma failures on test_bug375314-2.html. CLOSED TREE
Backed out changeset 9643bf18ac31 (bug 1638711)
Backed out changeset 3d06b48e2e3a (bug 1638711)
Backed out changeset c2a1461890c3 (bug 1638711)
Backed out changeset 9eda9f6c5877 (bug 1638711)
Backed out changeset f776c30279f3 (bug 1638711)
Backed out changeset b34546384903 (bug 1638711)
Backed out changeset 47da03dd8365 (bug 1638711)
2020-05-28 04:25:38 +03:00
Matt Woodrow
f9480384a5 Bug 1638711 - Call DisplayLoadError for NS_ERROR_CONTENT_BLOCKED during EndPageLoad, since we would also have done this for the same error during AsyncOpen. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D77171
2020-05-28 00:10:47 +00:00
Erica Wright
278e25f6a9 Bug 1636962 - Add telemetry for all page load errors r=johannh,xeonchen,nika
Differential Revision: https://phabricator.services.mozilla.com/D75873
2020-05-27 22:33:02 +00:00
Matt Woodrow
ef60c889a8 Bug 1631405 - Move nsISecureBrowserUI to be owned by the canonical browsing context instead of docshell. r=nika,ckerschb,Gijs,webcompat-reviewers,twisniewski
This removes all docshell nsISecureBrowserUI and mixed content properties, and moves them into CanonicalBrowsingContext/WindowGlobalParent. It makes the mixed content blocker just compute the state for the current load, and then send the results to the parent process, where we update the security state accordingly.

I think we could in the future remove onSecurityChange entirely, and instead just fire an event to the <browser> element notifying it of changes to the queryable securityUI.

Unfortunately we have a lot of existing code that depends on specific ordering between onSecurityChange and onLocationChange, so I had to hook into the RemoteWebProgress implementation in BrowserParent to mimic the same timings.

Differential Revision: https://phabricator.services.mozilla.com/D75447
2020-05-27 00:28:59 +00:00
Bogdan Tara
f92848aa00 Backed out 4 changesets (bug 1631405) for multiple mochitest failures CLOSED TREE
Backed out changeset 9963cc0b23cb (bug 1631405)
Backed out changeset 469ac933ed7c (bug 1631405)
Backed out changeset 0c5f55864268 (bug 1631405)
Backed out changeset 20dcbcc2f3b8 (bug 1631405)
2020-05-27 01:30:20 +03:00
Matt Woodrow
b4186ecdce Bug 1631405 - Move nsISecureBrowserUI to be owned by the canonical browsing context instead of docshell. r=nika,ckerschb,Gijs,webcompat-reviewers,twisniewski
This removes all docshell nsISecureBrowserUI and mixed content properties, and moves them into CanonicalBrowsingContext/WindowGlobalParent. It makes the mixed content blocker just compute the state for the current load, and then send the results to the parent process, where we update the security state accordingly.

I think we could in the future remove onSecurityChange entirely, and instead just fire an event to the <browser> element notifying it of changes to the queryable securityUI.

Unfortunately we have a lot of existing code that depends on specific ordering between onSecurityChange and onLocationChange, so I had to hook into the RemoteWebProgress implementation in BrowserParent to mimic the same timings.

Differential Revision: https://phabricator.services.mozilla.com/D75447
2020-05-26 21:17:01 +00:00
JulianWels
a3dfbd187a Bug 1625156 - Error page for HTTPS Only Mode. r=fluent-reviewers,ckerschb,nhnt11,flod,nika,johannh,mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D72129
2020-05-26 11:45:21 +00:00
Christoph Kerschbaumer
21e151a97f Bug 1422284 - Upgrade insecure requests should only apply to top-level same-origin redirects. r=baku,valentin,necko-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D75259
2020-05-25 08:14:10 +00:00
Dorel Luca
c50578855f Backed out 4 changesets (bug 1637869) for Geckoview failures in org.mozilla.geckoview.test.NavigationDelegateTest.extensionProcessSwitching. CLOSED TREE
Backed out changeset a0c0203ee8c9 (bug 1637869)
Backed out changeset 75359ba23865 (bug 1637869)
Backed out changeset d300b61ed89f (bug 1637869)
Backed out changeset 34389f9c86e4 (bug 1637869)
2020-05-22 19:38:15 +03:00
Jean-Yves Avenard
aa29aa130d Bug 1637869 - P4. Access pref via staticpref. r=mattwoodrow,necko-reviewers
It would otherwise triggers browser/base/content/test/performance/browser_preferences_usage.js

That pref would have been checked with every single load, a staticpref is O-1 .

Differential Revision: https://phabricator.services.mozilla.com/D76317
2020-05-22 04:12:42 +00:00
Jean-Yves Avenard
711bb27895 Bug 1637869 - P2. Allow ParentProcessDocumentChannel to perform process switching. r=nika,mattwoodrow
The moves all decisions to perform a process switch into the DocumentLoadListerner. This removes the unnecessary need to go via a content process to start the load.

Differential Revision: https://phabricator.services.mozilla.com/D76315
2020-05-22 10:28:41 +00:00
Sid Stamm
a6cfd8f7a2 Bug 1002724 - add pref for fallback to https. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D75084
2020-05-21 17:33:27 +00:00
Sid Stamm
2e7343fb8a Bug 1002724 - try https if http connections are rejected. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D75083
2020-05-21 17:33:23 +00:00
Matt Woodrow
d7cae3e58f Bug 1627533 - Create LoadGroups for docshells using the BrowsingContext's request context id. r=dragana,necko-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D75885
2020-05-21 03:38:37 +00:00
Noemi Erli
67c508ae4e Backed out 3 changesets (bug 1627533) for causing assertions in RequestContextService.cpp CLOSED TREE
Backed out changeset 3b35a1852a60 (bug 1627533)
Backed out changeset 70fa5e075269 (bug 1627533)
Backed out changeset 0d1046670534 (bug 1627533)
2020-05-21 04:16:21 +03:00
Matt Woodrow
d6cfeae5c4 Bug 1627533 - Create LoadGroups for docshells using the BrowsingContext's request context id. r=dragana,necko-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D75885
2020-05-20 23:41:36 +00:00