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

7714 Коммитов

Автор SHA1 Сообщение Дата
Simon Giesecke 4cab6ac723 Bug 1677466 - Move ParamTraits specializations with extra dependencies out of IPCMessageUtils.h. r=mccr8
This moves parts of IPCMessageUtils.h to two new header files and adapts
the include directives as necessary. The new header files are:
- EnumSerializer.h, which defines the templates for enum serializers
- IPCMessageUtilsSpecializations.h, which defines template specializations
  of ParamTraits with extra dependencies (building upon both IPCMessageUtils.h
  and EnumSerializer.h)

This should minimize the dependencies pulled in by every consumer of
IPCMessageUtils.h

Differential Revision: https://phabricator.services.mozilla.com/D94459
2020-12-10 11:09:21 +00:00
Christoph Kerschbaumer 92319b0661 Bug 1681510: Remove unused argument aPrincipal from CopyFavicon() in Pcontent.ipdl r=nika
Differential Revision: https://phabricator.services.mozilla.com/D99226
2020-12-10 05:53:17 +00:00
Sam Foster a42c193442 Bug 1654684 - Move chevron.svg to toolkit. r=remote-protocol-reviewers,desktop-theme-reviewers,ntim
Differential Revision: https://phabricator.services.mozilla.com/D97394
2020-12-09 20:49:25 +00:00
Olli Pettay 6a10a16b5a Bug 1595522 - Intermittent docshell/test/browser/browser_bug670318.js | Test timed out, r=peterv
content points to the window object, which is gone after a load.

Differential Revision: https://phabricator.services.mozilla.com/D99134
2020-12-09 15:54:58 +00:00
Csoregi Natalia 4eae934956 Backed out 2 changesets (bug 1654684) for browser chrome failures with .printPreviewCurrentPageNumber. CLOSED TREE
Backed out changeset 2fdc1b5569e1 (bug 1654684)
Backed out changeset 8ae1d037aa9c (bug 1654684)
2020-12-09 16:11:42 +02:00
Sam Foster c5963a5340 Bug 1654684 - Move chevron.svg to toolkit. r=remote-protocol-reviewers,desktop-theme-reviewers,ntim
Differential Revision: https://phabricator.services.mozilla.com/D97394
2020-12-09 02:45:29 +00:00
Andrew McCreight 9cc98c8bf5 Bug 1539948, part 2 - Make nsIWebNavigation and nsIWindowlessBrowser builtinclass. r=nika,Gijs
These two interfaces contain nostdcall methods, so they should be marked
builtinclass.

There is a JS implementation of nsIWebNavigation in RemoteWebNavigation,
but it appears to never be passed into C++, so it doesn't need to be
made into a "real" implementation of nsIWebNavigation that can be passed
through XPConnect.

Differential Revision: https://phabricator.services.mozilla.com/D98862
2020-12-09 02:40:14 +00:00
Razvan Maries 35ccea0325 Backed out 3 changesets (bug 1539948) for build bustages on nsISocketTransport.h. CLOSED TREE
Backed out changeset 81bed88d0adf (bug 1539948)
Backed out changeset 8bf24bdf431f (bug 1539948)
Backed out changeset ef4e49b3701d (bug 1539948)
2020-12-09 02:47:52 +02:00
Andrew McCreight a7c299978d Bug 1539948, part 2 - Make nsIWebNavigation and nsIWindowlessBrowser builtinclass. r=nika,Gijs
These two interfaces contain nostdcall methods, so they should be marked
builtinclass.

There is a JS implementation of nsIWebNavigation in RemoteWebNavigation,
but it appears to never be passed into C++, so it doesn't need to be
made into a "real" implementation of nsIWebNavigation that can be passed
through XPConnect.

Differential Revision: https://phabricator.services.mozilla.com/D98862
2020-12-08 21:22:31 +00:00
Emilio Cobos Álvarez 4fd5d13610 Bug 1680721 - Grant a single iframe without user interaction to top windows. r=smaug,johannh
Only for top windows because for nested iframes they could get around
this without being noticed by reloading themselves which is not great.

Differential Revision: https://phabricator.services.mozilla.com/D98775
2020-12-08 10:15:18 +00:00
Simon Giesecke 1c53236b70 Bug 1679272 - Include ScopeExit.h exactly where used. r=andi
Differential Revision: https://phabricator.services.mozilla.com/D98888
2020-12-07 14:25:59 +00:00
Brindusan Cristian 6474307318 Backed out 2 changesets (bug 1654684) for bc failures at browser_ext_tabs_printPreview. CLOSED TREE
Backed out changeset 5a0333ca8a19 (bug 1654684)
Backed out changeset 87d06a4d6ab6 (bug 1654684)
2020-12-07 12:59:10 +02:00
Sam Foster acf2633244 Bug 1654684 - Move chevron.svg to toolkit. r=remote-protocol-reviewers,desktop-theme-reviewers,ntim
Differential Revision: https://phabricator.services.mozilla.com/D97394
2020-12-07 08:44:06 +00:00
Daisuke Akatsuka b4ec5e858f Bug 1638215: Use https for canonization the URL. r=mak
Differential Revision: https://phabricator.services.mozilla.com/D97942
2020-12-07 01:54:05 +00:00
Nika Layzell 10ecfc0ee0 Bug 1670530 - Part 1: Don't process multipart content when doing a view-source load, r=mattwoodrow,necko-reviewers,valentin
Before switching to using DocumentChannel to process multipart requests,
multipart documents loaded as a view-source load would be displayed their
plain-text data, as the multipart processing would be after the view-source
channel had wrapped the channel, and replaced the content type with
"application/x-view-source".

This change restores that behaviour, by preventing parent process multipart
processing for wrapped channels like `view-source` loads. This also allowed
removing the replaceRequest option on nsViewSourceChannel, as it was no longer
necessary, and required introducing a mechanism to get the inner http channel
for process switching.

The crash in Bug 1670530 was caused by a bad interaction between the view-source
replaceChannel logic, and the parent/content process switching logic, which
could lead to the load in the content process being initialized in a broken
state after a process switch, due to accidentally acting on a wrapped
view-source channel when an unwrapped one was expected. This patch also fixes
that issue, by removing the replaceRequest logic which caused it in the first
place.

Differential Revision: https://phabricator.services.mozilla.com/D98205
2020-12-03 17:03:45 +00:00
Razvan Maries fd89df3f6d Backed out changeset 432c83951167 (bug 1662265) for perma failures on test_sync_xhr_event_handling_switch_bcg.html. CLOSED TREE 2020-12-03 23:03:05 +02:00
Sean Feng f521450d39 Bug 1662265 - Fix input events handling for sync XHR when both TaskController and e10s are enabled r=smaug
There are two issues in our current setup

1) Input events which are occurring in the same tab are going to be lost
because sync XHR. We have event handling suppression for synx XHR, so input
events are going to be discarded.

2) Input events that are happening in another tab (same process as the
synx XHR tab) are not going to be delayed. This is not correct since
sync XHR should block the Javascript execution.

This patches fixes the above cases for when both TaskController and e10s are
enabled by suspending the InputTaskManager during sync XHR, which
delays the input event handling and keeps the events around.

Differential Revision: https://phabricator.services.mozilla.com/D90780
2020-12-03 03:13:04 +00:00
Tom Tung 80a5716001 Bug 1656768 - Propagate SessionStorage data in BackgroundSessionStorageManager to the new top browsing context while replacing the top context id; r=nika,dom-workers-and-storage-reviewers,asuth
### Story

While the exisiting top browsing context is replaced, SessionStorage relies on
itself been propagated by SessionStore. However, this has been disabled in
SessionHistory in the parent process.

Therefore, we need to propagate SessionStorage data by propagating
BackgroundSessionStorageManager.

### Notes

This patch assumes that the target top-level browsing context shouldn't have
been registered to BackgroundSessionStorageManager. If this can happen, we will
either need to merge SessionStorage data into it or find a proper (earlier)
place to update sManagers.

### Test Plan

Test: D97763
Try: https://treeherder.mozilla.org/jobs?repo=try&revision=2acc7b393fb80b640f4fbe3ade1da7dd440c380e&selectedTaskRun=KK6XhR-sQuqv5lcntVLc2w.0

Differential Revision: https://phabricator.services.mozilla.com/D98082
2020-12-03 14:19:35 +00:00
Narcis Beleuzu 07361535cd Backed out changeset f59efe5a5ef8 (bug 1638215) for bc failures on browser_tabDrop.js. CLOSED TREE 2020-12-03 17:25:28 +02:00
Daisuke Akatsuka e5a9f1aeee Bug 1638215: Use https for canonization the URL. r=mak
Differential Revision: https://phabricator.services.mozilla.com/D97942
2020-12-03 11:21:36 +00:00
Bogdan Tara 995b7200f1 Backed out changeset a1e436deb5fe (bug 1670530) for viewsource related crashed CLOSED TREE 2020-12-03 04:30:23 +02:00
Nika Layzell 2b9c0649b4 Bug 1670530 - Don't process multipart content when doing a view-source load, r=mattwoodrow,necko-reviewers,valentin
Before switching to using DocumentChannel to process multipart requests,
multipart documents loaded as a view-source load would be displayed their
plain-text data, as the multipart processing would be after the view-source
channel had wrapped the channel, and replaced the content type with
"application/x-view-source".

This change restores that behaviour, by preventing parent process multipart
processing for wrapped channels like `view-source` loads. This also allowed
removing the replaceRequest option on nsViewSourceChannel, as it was no longer
necessary, and required introducing a mechanism to get the inner http channel
for process switching.

The crash in Bug 1670530 was caused by a bad interaction between the view-source
replaceChannel logic, and the parent/content process switching logic, which
could lead to the load in the content process being initialized in a broken
state after a process switch, due to accidentally acting on a wrapped
view-source channel when an unwrapped one was expected. This patch also fixes
that issue, by removing the replaceRequest logic which caused it in the first
place.

Differential Revision: https://phabricator.services.mozilla.com/D98205
2020-12-02 21:57:38 +00:00
Olli Pettay dab3100cbd Bug 1668919 - try to make browser_tab_touch_events.js less racy, r=edgar
As far as I see the test is racy. It adds event listener to a window object, which reload() will replace.
So if the load event for non-transient about:blank gets chance to fire, then the test passes without the patch.
The main thing the patch does is to listen for the load event on the iframe element, since that object isn't
replaced.

The intermittent failure happens quite rarely and not locally, so the patch is based on code inspection.
Locally the test was run successfully 100 times both with opt and debug builds.

https://treeherder.mozilla.org/#/jobs?repo=try&revision=8b3c65c89c55cd16bf57cf0b78db9ee99ba23df2

Differential Revision: https://phabricator.services.mozilla.com/D98305
2020-12-01 13:20:51 +00:00
Emilio Cobos Álvarez 106b693662 Bug 1679456 - Use transient user activation for iframe external protocol blocking. r=smaug,edgar
I think this allows us to remove TryUsePopupOpeningToken (which is a similar
concept to consuming user activation), and also the ad-hoc <iframe> timing
thing we have from bug 1514547, which should be covered by the user activation
timeout.

Depends on D97640

Differential Revision: https://phabricator.services.mozilla.com/D98020
2020-11-30 16:16:41 +00:00
Steven MacLeod 4babbd5f25 Bug 1677774 - don't clear descendant's overrides when setting TouchEventsOverride. r=farre
This should prevent content process crashes when there are
cross-origin descendants with an override set.

There is a slight change in behaviour when an override is set after
a descendant context has previously set one. This shouldn't be a
problem since devtools only wants to expose touch simulation at the
tab level. Additionally this new behaviour is reasonable and would
allow devtools to implement the same semantics by doing the clearing
themselves (if needed).

Differential Revision: https://phabricator.services.mozilla.com/D97797
2020-11-27 14:53:27 +00:00
Cristina Coroiu 69aefb0b56 Bug 1674513 - disable browser_bug1673702.js on linux and win for frequent failures. r=intermittent-reviewers,jmaher DONTBUILD
Differential Revision: https://phabricator.services.mozilla.com/D98104
2020-11-30 12:05:57 +00:00
Olli Pettay 6fd3204d40 Bug 1679417 - Remove the UserActivationState field on BrowsingContext, r=edgar
Differential Revision: https://phabricator.services.mozilla.com/D98008
2020-11-26 18:51:29 +00:00
Olli Pettay f0bb22fdeb Bug 1674519, don't use speculative loading for session history initiated page loads, r=peterv
Depends on D97225

Differential Revision: https://phabricator.services.mozilla.com/D97325
2020-11-26 16:38:12 +00:00
Olli Pettay b6fc7f2923 Bug 1677613 - Enable test_bug680257.html in Fission, r=peterv
Use hashchange event, not setTimeout and add a yield to catch also the very initial hashchange event.

Differential Revision: https://phabricator.services.mozilla.com/D97225
2020-11-26 16:38:05 +00:00
Nika Layzell 5fbd298e36 Bug 1676892 - Remove non-subscribed hosts when destroying BrowsingContextGroup, r=farre
Before this change, a BrowsingContextGroup would fail to remove itself from a
ContentParent's mGroups table if the process was still launching when the BCG
was destroyed. This was because until the ContentParent had launched, it existed
only in the mHosts table, and not the mSubscribers table, but we only iterated
over the mSubscribers table.

This patch fixes that issue, by iterating over both tables when unsubscribing.
This will cause RemoveBrowsingContextGroup to be called twice on most
ContentParents, but that should not cause issues.

Differential Revision: https://phabricator.services.mozilla.com/D97788
2020-11-26 06:58:29 +00:00
Simon Giesecke dd80614fa0 Bug 1678062 - Remove unnecessary includes. r=andi
Differential Revision: https://phabricator.services.mozilla.com/D97467

Depends on D96561
2020-11-23 16:12:02 +00:00
Simon Giesecke 6cba3845c8 Bug 1676364 - Remove unused includes from nsDocShell.h. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D96540

Depends on D96539
2020-11-23 16:09:17 +00:00
Simon Giesecke f15895390e Bug 1673931 - Avoid including Element.h from header files.
Differential Revision: https://phabricator.services.mozilla.com/D96535

Depends on D96534
2020-11-23 16:08:40 +00:00
Simon Giesecke 6fac745ea4 Bug 1673931 - Remove dependency of BindingUtils.h on Document.h.
Differential Revision: https://phabricator.services.mozilla.com/D95048

Depends on D95047
2020-11-23 16:08:03 +00:00
Simon Giesecke 5bfbb2a572 Bug 1673931 - Avoid including Document.h from header files. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D95046

Depends on D95045
2020-11-23 16:07:43 +00:00
Simon Giesecke 1ffd69fbb6 Bug 1660470 - Avoid including DocShellMessageUtils.h from header files. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D93239

Depends on D93238
2020-11-23 16:04:08 +00:00
Simon Giesecke 971b645fe3 Bug 1660470 - Add missing include directives/forward declarations. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D87865
2020-11-23 16:21:38 +00:00
Marco Bonardo 8e04f6d341 Bug 1677408 - Part 2 - Update consumers of onPageChanged. r=Standard8
Differential Revision: https://phabricator.services.mozilla.com/D97275
2020-11-23 16:26:17 +00:00
Butkovits Atila 470d497c4a Backed out 7 changesets (bug 1677408) for bustages on nsNavHistory.cpp. CLOSED TREE
Backed out changeset 1e0dc9aaa979 (bug 1677408)
Backed out changeset 4198bc35198c (bug 1677408)
Backed out changeset ff93f264138b (bug 1677408)
Backed out changeset 0f2d72d2ed5a (bug 1677408)
Backed out changeset 996cbd111957 (bug 1677408)
Backed out changeset b0c23854e117 (bug 1677408)
Backed out changeset f7d6cc5e4457 (bug 1677408)
2020-11-23 16:49:31 +02:00
Marco Bonardo 803c3be427 Bug 1677408 - Part 2 - Update consumers of onPageChanged. r=Standard8
Differential Revision: https://phabricator.services.mozilla.com/D97275
2020-11-23 12:54:26 +00:00
Emilio Cobos Álvarez 210bda662e Bug 1595483 - Remove visited-status-resolution waiting from bug293235_window.xhtml. r=mak
This is only useful to potentially catch the case where we incorrectly
paint a non-visited link as visited. That's something covered by all the
visited reftests extensively, and can't cause the rest of the test to
race, so it seems removable.

Depends on D97774

Differential Revision: https://phabricator.services.mozilla.com/D97775
2020-11-20 16:13:56 +00:00
Daisuke Akatsuka 0f2a371c85 Bug 1643850: Handle 'www.<something>' as a URI. r=mak
Differential Revision: https://phabricator.services.mozilla.com/D97282
2020-11-21 00:48:43 +00:00
Steven MacLeod 6cd960cfb3 Bug 1585070 - move nsPIDOMWindowOuter::mIsActive to BrowsingContext. r=kmag
A new `BrowsingContext` field 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-11-20 15:16:58 +00:00
Kartikaya Gupta 558df38a4b Bug 1678334 - Mark some functions as const. r=tnikkel
This functions are conceptually getters and should be const.

Differential Revision: https://phabricator.services.mozilla.com/D97621
2020-11-19 22:44:42 +00:00
Anny Gakhokidze 7804c5bdd9 Bug 1661833 - Fix duplicate OnStateChange events during process switches, r=nika
Differential Revision: https://phabricator.services.mozilla.com/D96228
2020-11-19 23:21:04 +00:00
Emilio Cobos Álvarez c839b29aa8 Bug 1676996 - Don't try to process-switch a remote frame to local. r=nika
The guess in comment 3 is basically right, here's the relevant bits that
happen in that trace in order:

[content] nsFrameLoaderOwner::ChangeRemotenessCommon:
  frame becomes remote for the content process.
[parent] WindowGlobalParent::SendMakeFrameLocal (mIsDocumentLoad=true)
[content] ContentChild::SendCloneDocumentTreeInto
[parent] ContentParent::RecvCloneDocumentTreeInto
[content] WindowGlobalChild::RecvMakeFrameLocal

So basically the source frame we're cloning is mid-switch-to-local:
local already from the parent process POV, but still remote for the
child.

I think ignoring the clone in this case is fine (which will make the
print iframe just about:blank).

I've decided it to handle it in ChangeRemoteness but I could also handle
it in RecvCloneDocumentTreeInto with a check like

    if (cp->GetRemoteType() == GetRemoteType())

or such I think. Let me know if you'd prefer that.

Differential Revision: https://phabricator.services.mozilla.com/D97144
2020-11-19 17:44:30 +00:00
Johann Hofmann 15fcfd1312 Bug 1650095 - Part 4 - For Fission, reset SHEntryHasUserInteraction cache in the parent when adding/updating SH entries. r=smaug
When re-enabling the test case blocked by bug 1670933 it became apparent that we were not allowing
session history entries to be marked with user interaction when the SH entry was created by navigation
through a sub-frame. The code that we had for this only covered updating SH entries after pushState etc.,
not adding new entries for document loads.

When SH lives in the child this is easier to manage in nsDocShell, but with Fission it probably makes sense
to move this code to the parent.

Differential Revision: https://phabricator.services.mozilla.com/D97421
2020-11-18 23:42:46 +00:00
Johann Hofmann 7e17b5719b Bug 1650095 - Part 3 - Make nsISHEntry.hasUserInteraction consistently forward to the root entry. r=smaug
This is more consistent than an assertion and it should be safe, considering that the field
should be unused on child entries anyway, so we might as well return the value from the root.

Differential Revision: https://phabricator.services.mozilla.com/D95300
2020-11-18 11:48:02 +00:00
Johann Hofmann fc8398626e Bug 1650095 - Part 2 - Implement SessionHistoryEntry::Get/SetHasUserInteraction. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D93346
2020-11-18 11:51:00 +00:00
Henrik Skupin df9ce004a5 Bug 1676709 - Send a "browsing-context-attached" notification when attached, r=nika
Differential Revision: https://phabricator.services.mozilla.com/D97002
2020-11-18 22:19:10 +00:00