Commit Graph

707 Commits

Author SHA1 Message Date
Barret Rennie
48a2bc08bb Bug 1510569 - Keep track of whether we are navigating to a new URI in nsDocShell r=mconley,kmag,qdot
Previously the `WebNavigationChild` would keep track of when triggering its
`nsIWebNavigation`, `goForward`, `goBack`, `gotoIndex`, and `loadURI` methods.
It's `nsIWebNavigation` instance is always an `nsIDocShell` and as part of
porting `OnStateChange` and `OnLocationChange` events from
`WebProgressChild`/`RemoteWebProgress` to `BrowserChild`/`BrowserParent`, this
informations needs to be available from the `BrowserChild`. As it stands, it is
currently an expando property on the `WebProgressChild`.

Instead of introducing yet another XPCOM interface for the WebProgressChild, we
now store this information directly on the `nsDocShell`. Furthermore, instead
of having the `WebNavigationChild` manage this part of the `nsDocShell`'s
state, we can have the `nsDocShell` manage this state itself so it is always
consistent.

Differential Revision: https://phabricator.services.mozilla.com/D28124
2019-05-02 23:35:02 +00:00
Bogdan Tara
c203974769 Backed out 2 changesets (bug 1510569) for crashtests/1419902.html failures CLOSED TREE
Backed out changeset 13c5249d66a7 (bug 1510569)
Backed out changeset a6ad4039d785 (bug 1510569)
2019-05-02 21:30:20 +03:00
Barret Rennie
2e21ffaa02 Bug 1510569 - Keep track of whether we are navigating to a new URI in nsDocShell r=mconley,kmag,qdot
Previously the `WebNavigationChild` would keep track of when triggering its
`nsIWebNavigation`, `goForward`, `goBack`, `gotoIndex`, and `loadURI` methods.
It's `nsIWebNavigation` instance is always an `nsIDocShell` and as part of
porting `OnStateChange` and `OnLocationChange` events from
`WebProgressChild`/`RemoteWebProgress` to `BrowserChild`/`BrowserParent`, this
informations needs to be available from the `BrowserChild`. As it stands, it is
currently an expando property on the `WebProgressChild`.

Instead of introducing yet another XPCOM interface for the WebProgressChild, we
now store this information directly on the `nsDocShell`. Furthermore, instead
of having the `WebNavigationChild` manage this part of the `nsDocShell`'s
state, we can have the `nsDocShell` manage this state itself so it is always
consistent.

Differential Revision: https://phabricator.services.mozilla.com/D28124
2019-05-02 17:00:51 +00:00
Cosmin Sabou
57e65f8648 Backed out 4 changesets (bug 1320404) for xperf failures on permissions.sqlite-journal.
Backed out changeset fbacf18b6532 (bug 1320404)
Backed out changeset fed7c475d75c (bug 1320404)
Backed out changeset 557b586f774a (bug 1320404)
Backed out changeset 5a20b5f43280 (bug 1320404)
2019-05-02 04:51:18 +03:00
Andrea Marchesini
483e24a1ff Bug 1320404 - Remove appId from origin attributes - part 1 - OriginAttributes and nsIPrincipal, r=Ehsan,flod
Differential Revision: https://phabricator.services.mozilla.com/D29353
2019-05-01 23:21:45 +00:00
Ryan Hunt
7144ca54c8 Bug 1534395 - Rename TabChild to BrowserChild. r=nika
This commit renames TabChild to BrowserChild.

Differential Revision: https://phabricator.services.mozilla.com/D28135
2019-04-09 17:39:01 -05:00
Ryan Hunt
c6e302039f Bug 1534395 - Rename nsITabParent to nsIRemoteTab. r=nika,mconley
nsITabParent is exposed to frontend code and is generally used as a representation of a remote tab. We could just rename the interface to nsIBrowserParent and worry about it later, but I think it's better to rename the interface to nsIRemoteTab so that we can later work on splitting the interface away from the PBrowser protocol.

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

Differential Revision: https://phabricator.services.mozilla.com/D28132
2019-04-09 15:59:37 -05:00
Masayuki Nakano
ca114d2ee2 Bug 1543315 - part 10: Mark nsIPresShell::GoToAnchor() and nsIPresShell::ScrollToAnchor() as MOZ_CAN_RUN_SCRIPT r=smaug
Next, we should mark `PresShell::ScrollContentIntoView()` as
`MOZ_CAN_RUN_SCRIPT` because it's used widely.

This patch marks its `PresShell` users, `GoToAnchor()` and `ScrollToAnchor()`,
as `MOZ_CAN_RUN_SCRIPT`.  Additionally, this patch moves them from
`nsIPresShell` to `PresShell` because all callers refers `PresShell` directly.

Differential Revision: https://phabricator.services.mozilla.com/D28319
2019-04-23 01:27:47 +00:00
Ehsan Akhgari
504ae4e4ea Bug 1543786 - Ensure that we revoke a top frame's storage access when it is navigated away; r=baku
Differential Revision: https://phabricator.services.mozilla.com/D27155
2019-04-17 15:01:53 +00:00
Nika Layzell
53da643c46 Bug 1542791 - Part 1: Support enabling out-of-process iframes with per-frame granularity, r=mconley
This code builds on top of the E10S "remote tabs" configuration system to add a
system for specifying that remote subframes should be used. Fission can be
enabled for a window by including the "fission" flag in options when opening
the window.

Differential Revision: https://phabricator.services.mozilla.com/D26560
2019-04-17 00:53:22 +00:00
Brindusan Cristian
bb73909318 Backed out changeset 19d9a16423fd (bug 1543786) for ESlint failure at browser_storageAccessRemovalNavigateTopframe.js. CLOSED TREE 2019-04-17 08:29:16 +03:00
Ehsan Akhgari
8fe257a030 Bug 1543786 - Ensure that we revoke a top frame's storage access when it is navigated away; r=baku
Differential Revision: https://phabricator.services.mozilla.com/D27155
2019-04-16 22:49:25 +00:00
Masayuki Nakano
ad34e89b46 Bug 1543315 - part 9: Mark nsIPresShell::FlushPendingNotifications() as MOZ_CAN_RUN_SCRIPT r=smaug
So, this patch makes all caller of it safe including its arguments unless
they come from other methods.

Differential Revision: https://phabricator.services.mozilla.com/D27225
2019-04-13 12:43:57 +00:00
Masayuki Nakano
1b2614bcc1 Bug 1540962 - Make nsICommandManager builtinclass and make users use nsCommandManager directly r=bzbarsky
`nsICommandManager` isn't implemented by JS even in comm-central nor
BlueGriffon.  Therefore, we can make it a builtinclass.

Additionally, this patch makes all users in C++ use `nsCommandManager` which is
the only implementation of `nsICommandManager`.  This avoids QI from
`nsICommandManager` to `nsPICommandUpdater`.

Differential Revision: https://phabricator.services.mozilla.com/D25726
2019-04-03 12:51:38 +00:00
Nika Layzell
cf99caa1d4 Bug 1536405 - Cycle-collect through ChromeEventHandler, r=bzbarsky
Differential Revision: https://phabricator.services.mozilla.com/D24422
2019-03-22 23:35:15 +00:00
Felipe Gomes
097696c2d3 Bug 827976 - Teach leaks.py to ignore the hidden window. r=Ehsan
Differential Revision: https://phabricator.services.mozilla.com/D21089
2019-03-04 20:21:31 +00:00
Cosmin Sabou
45f2559b66 Backed out 16 changesets (bug 827976) for causing bug 1532054. a=backout
Backed out changeset 54c0b12443ed (bug 827976)
Backed out changeset 92b45080d080 (bug 827976)
Backed out changeset 443087a359f9 (bug 827976)
Backed out changeset f976c2d4cebb (bug 827976)
Backed out changeset 66cffb171024 (bug 827976)
Backed out changeset 845e1d0b2402 (bug 827976)
Backed out changeset fd94066a1d76 (bug 827976)
Backed out changeset e253b264e7bd (bug 827976)
Backed out changeset 07ef335770a8 (bug 827976)
Backed out changeset 9d3805d77b99 (bug 827976)
Backed out changeset eed600ceb606 (bug 827976)
Backed out changeset 3b64368cff52 (bug 827976)
Backed out changeset 69d0378e0c09 (bug 827976)
Backed out changeset 9203871a5c6f (bug 827976)
Backed out changeset 96a507c818e2 (bug 827976)
Backed out changeset e254496ff95b (bug 827976)
2019-03-02 20:40:01 +02:00
Felipe Gomes
2354f82fd3 Bug 827976 - Teach leaks.py to ignore the hidden window. r=Ehsan
Differential Revision: https://phabricator.services.mozilla.com/D21089
2019-03-01 21:07:41 +00:00
Boris Zbarsky
b61174af9c Bug 1489308 part 9. Remove now-unused wyciwyg bits. r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D17327
2019-02-28 01:09:48 +00:00
Christoph Kerschbaumer
bd82a2ed63 Bug 1518454: Part 1, backend changes, add CSP to loadURIOptions dictionary and pass CSP explicitly from frontend to docshell. r=bz 2019-02-21 16:00:32 +01:00
Andreas Farre
7e78a8c763 Bug 1515646 - Add FindWithName and FindChildWithName to BrowsingContext. r=peterv
This implements the step of choosing a browsing context with
FindWithName, which should be equivalent to calling
nsIDocShellTreeItem.findItemWithName passing null for 'aRequestor' and
'aOriginalRequestor' and false for 'aSkipTabGroup'.

Differential Revision: https://phabricator.services.mozilla.com/D15190
2019-02-15 09:59:21 +00:00
Thomas Nguyen
d13c22ef47 Bug 1517703 - Part 1 - Implement ReferrerInfo class r=smaug
The class contains original full referrer and referrer policy will be
applied to the referrer.

Differential Revision: https://phabricator.services.mozilla.com/D17923
2019-02-12 19:35:32 +00:00
Kyle Machulis
625b95ff6f Bug 1471711 - Extract short circuit loads to their own method; r=bzbarsky
Loading between 2 history entries is mostly a standalone procedure,
and can be extracted to its own method to clean up InternalLoad.

Depends on D17017

Differential Revision: https://phabricator.services.mozilla.com/D17018
2019-02-08 21:11:00 +00:00
Kyle Machulis
50571f80c4 Bug 1471711 - Move ContentPolicyType and Srcdoc checking to DoURILoad; r=bzbarsky
Since targeting has been moved to another method, we don't need to
know the ContentPolicyType until we're in DoURILoad. We can also move
Srcdoc handling to DoURILoad, as all data is passed with the LoadState.

Depends on D17015

Differential Revision: https://phabricator.services.mozilla.com/D17016
2019-02-08 21:10:56 +00:00
Kyle Machulis
56d16593e1 Bug 1471711 - Extract targeting from nsDocShell::InternalLoad; r=bzbarsky
Move targeting logic out of InternalLoad into its own method.

Differential Revision: https://phabricator.services.mozilla.com/D17015
2019-02-08 21:10:54 +00:00
Ehsan Akhgari
44a6794086 Bug 1523106 - DeCOMtaminate nsISecurityEventSink; r=baku
Differential Revision: https://phabricator.services.mozilla.com/D17742
2019-01-28 16:40:21 +00:00
Nika Layzell
046e0a18c7 Bug 1467223 - Part 4: Add support for piping redirected channels through nsDocShell's loading functions, r=qdot
This code largely skips the logic in load methods, and tries to simply get the
channel opened & connected to the correct listener ASAP, without breaking any
loading state.

Depends on D15610

Differential Revision: https://phabricator.services.mozilla.com/D15611
2019-01-23 21:07:08 +00:00
Jan Henning
a207c5d710 Bug 1498812 - Part 8: Simplify docshell's GetCurScrollPos() function. r=nika
This is now only being used as a purely internal helper function, so there's no
need for mucking about with nsresults, out parameters, retrieving x- and y-
coordinates separately, etc.

Differential Revision: https://phabricator.services.mozilla.com/D15689
2019-01-11 19:49:56 +00:00
Jonathan Kingston
4b05c6c954 Bug 1405176 - Change IsFrame() in nsDocShell to be an explicitly passed attribute. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D15967
2019-01-10 16:42:07 +00:00
Emilio Cobos Álvarez
dc336a73ba Bug 1517241 - Rename nsIDocument to mozilla::dom::Document. r=smaug
Summary: Really sorry for the size of the patch. It's mostly automatic
s/nsIDocument/Document/ but I had to fix up in a bunch of places manually to
add the right namespacing and such.

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

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

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

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

Differential Revision: https://phabricator.services.mozilla.com/D12651
2019-01-02 13:27:05 +00:00
Kyle Machulis
ae27c4df35 Bug 1511912 - Convert nsDocShell::DoURILoad to using nsDocShellLoadState; r=bzbarsky
Differential Revision: https://phabricator.services.mozilla.com/D14115
2018-12-21 22:15:57 +00:00
Kyle Machulis
21d662294a Bug 1496251 - Convert nsDocShell::InternalLoad to using nsDocShellLoadState r=bzbarsky,nika
Move InternalLoad from 24 arguments to 3, using nsDocShellLoadState
objects. Move all internal argument references to using calls to
accessors/mutators on nsDocShellLoadState. Comments from old interface
function definition have been spread to relevant places in code.

Internal load flags in nsDocShellLoadState are also consolidated to
the LoadFlags member, as they were usually passed as that member
before nsDocShellLoadState existed. This begins the work to simplify
load flags further in a later patch (See Bug 1475331).

Depends on D13487

Differential Revision: https://phabricator.services.mozilla.com/D13488
2018-12-19 21:01:13 +00:00
Kyle Machulis
7a224234d5 Bug 1496251 - Remove InternalLoad from nsIDocShell r=bzbarsky
We only call through the nsIDocShell interface in one place, which can
be replaced with a cast to nsDocShell.

Differential Revision: https://phabricator.services.mozilla.com/D13487
2018-12-19 21:01:05 +00:00
Nika Layzell
7afdf06829 Bug 1511237 - Store a TabChild reference in cached docshells, r=bzbarsky, r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D13489
2018-12-05 10:18:44 -05:00
Sylvestre Ledru
e5a134f73a Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format
# ignore-this-changeset
2018-11-30 11:46:48 +01:00
Kyle Machulis
f293508546 Bug 1505601 - Turn nsIDocShell XPIDL const lists into cenums; r=bzbarsky
Turn all const lists and related attributes into cenums, to provide a
vague sense of type safety.

Depends on D11715

Differential Revision: https://phabricator.services.mozilla.com/D11716
2018-11-28 03:30:56 +00:00
Kyle Machulis
41c3435c93 Bug 1505601 - Move nsIDocShell INTERNAL_LOAD consts to nsDocShell; r=bzbarsky
Consts aren't used in JS anyways, so there's no reason for them to be
in the IDL.

Differential Revision: https://phabricator.services.mozilla.com/D11715
2018-11-28 03:30:54 +00:00
Boris Zbarsky
a16438afe4 Bug 1509101. Stop passing around anchor targets as char16_t*; use nsAString instead. r=baku
Differential Revision: https://phabricator.services.mozilla.com/D12579
2018-11-21 18:53:39 +00:00
Valentin Gosu
50bbf8a0fd Bug 1487964 - Do not report resource-timing subdocument loads triggered by that subdocument r=bzbarsky
Differential Revision: https://phabricator.services.mozilla.com/D9503
2018-11-21 16:28:20 +00:00
Cosmin Sabou
b241cff35e Backed out changeset 395b95afd795 (bug 1487964) for mochitest failures on test_resource_timing_nocors. 2018-11-21 17:14:29 +02:00
Valentin Gosu
162d769ecb Bug 1487964 - Do not report resource-timing subdocument loads triggered by that subdocument r=bzbarsky
Differential Revision: https://phabricator.services.mozilla.com/D9503
2018-11-17 19:30:36 +00:00
Christoph Kerschbaumer
cae29b2f21 Bug 1508596: Remove unused CreatePrincipalFromReferrer within nsDocshell. r=jkt 2018-11-20 12:12:01 +01:00
Boris Zbarsky
685b646fa2 Bug 1507540 part 2. Use more notxpcom attributes in docshell/. r=smaug 2018-11-19 20:17:53 -05:00
Andreas Farre
6a06e4bb72 Bug 1496722 - Make nsIDocShellTreeItem.itemType readonly. r=peterv
Differential Revision: https://phabricator.services.mozilla.com/D7900
2018-11-08 21:58:58 +00:00
Jonathan Kingston
93f9dd293e Bug 1498526 - add in user pref to prevent loading implied triggeringPrincipal loads for dev and nightly builds. r=ckerschb
Differential Revision: https://phabricator.services.mozilla.com/D8546
2018-11-07 14:42:27 +00:00
Margareta Eliza Balazs
12b694ecff Backed out changeset c5cf88fb02d1 (bug 1498526) for causing multiple failures e.g. browser/extensions/formautofill/test/mochitest/test_address_level_1_submission.html CLOSED TREE 2018-11-06 14:49:52 +02:00
Jonathan Kingston
29df81750a Bug 1498526 - add in user pref to prevent loading implied triggeringPrincipal loads for dev and nightly builds. r=ckerschb
Differential Revision: https://phabricator.services.mozilla.com/D8546
2018-11-06 11:51:51 +00:00
Andreas Farre
6d1cb9a5de Bug 1480198 - Construct nsDocShell objects inside BrowsingContext. r=peterv
Differential Revision: https://phabricator.services.mozilla.com/D7400
2018-11-05 12:43:10 +00:00
Kyle Machulis
05a190dd1a Bug 1492648 - Move from nsDocShellLoadInfo to nsDocShellLoadState; r=bz, nika
Creates the nsDocShellLoadState object, which is basically
nsDocShellLoadInfo plus a few extra fields to make it usable as a
single argument to nsDocShell::LoadURI (and eventually
nsDocShell::InternalLoad).

Subframe history handling is a huge logic block in
nsDocShell::LoadURI, which is only used on history loads. This patch
also extracts the logic out into its own function to make the body of
LoadURI clearer.
2018-10-29 17:13:29 -07:00