Commit Graph

3006 Commits

Author SHA1 Message Date
Nika Layzell
32f3dfd7fd Bug 1542778 - Part 2: Fix clang-format fallout for DocShell and LoadContext, r=Ehsan
Differential Revision: https://phabricator.services.mozilla.com/D26546
2019-04-08 20:30:37 +00:00
Masayuki Nakano
297d5cb658 Bug 1540969 - Get rid of nsPICommandUpdater r=bzbarsky
`nsPICommandUpdater` is a scriptable interface, but nobody refers it from JS,
and it's implemented only by `nsCommandManager`.  Therefore, we can get rid
of this interface.

Additionally, `nsCommandManager::Init()` is called only by `nsDocShell`, which
is the only instantiater of the class, and returns error only when given window
is nullptr.  Therefore, we can make the constructor take the window instead.

Differential Revision: https://phabricator.services.mozilla.com/D25729
2019-04-03 12:53:54 +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
Makoto Kato
b87cd0d3e4 Bug 1540107 - Use nsEditingSession directly in nsDocShellEditorData. r=masayuki
`nsIEditingSession.SetupEditorOnWindow` is used in `nsDocShellEditorData`.
To get rid of it, I would like to use `nsEditSession` directly instead of
`nsIEditingSession`.

Differential Revision: https://phabricator.services.mozilla.com/D25537
2019-04-03 01:56:31 +00:00
Masayuki Nakano
e56c690088 Bug 1540015 - part 3: Rename Document::GetShell() to Document::GetPresShell() and make it return PresShell* rather than nsIPresShell* r=smaug,emilio
This makes `Document::GetShell()` return `PresShell*` instead of `nsIPresShell`.

Additonally, "shell" is unclear ("docshell" vs. "presshell").  Therefore, this
also renames `Document::GetShell()` to `Document::GetPresShell()`.

Similarly, some other method names of `Document` are also renamed from
`*Shell*` to `*PresShell*`.

Differential Revision: https://phabricator.services.mozilla.com/D25338
2019-03-29 15:12:47 +00:00
Dorel Luca
6cd4166b18 Backed out 3 changesets (bug 1540015) for build bustage. CLOSED TREE
Backed out changeset 7b71c9da0214 (bug 1540015)
Backed out changeset 5723ddbc5c44 (bug 1540015)
Backed out changeset 9561d2c36fa5 (bug 1540015)
2019-03-29 16:14:26 +02:00
Masayuki Nakano
12ec0ad7f4 Bug 1540015 - part 3: Rename Document::GetShell() to Document::GetPresShell() and make it return PresShell* rather than nsIPresShell* r=smaug,emilio
This makes `Document::GetShell()` return `PresShell*` instead of `nsIPresShell`.

Additonally, "shell" is unclear ("docshell" vs. "presshell").  Therefore, this
also renames `Document::GetShell()` to `Document::GetPresShell()`.

Similarly, some other method names of `Document` are also renamed from
`*Shell*` to `*PresShell*`.

Differential Revision: https://phabricator.services.mozilla.com/D25338
2019-03-29 13:09:26 +00:00
Botond Ballo
99f3269349 Bug 1538511 - Get rid of nsIPresShell::ScrollMode (use mozilla::ScrollMode instead). r=kats
Differential Revision: https://phabricator.services.mozilla.com/D24797
2019-03-26 00:51:57 +00:00
Botond Ballo
ad3bd04424 Bug 1538511 - Move nsIScrollableFrame::ScrollMode into a separate file. r=kats
This allows this enumeration to be used from nsIPresShell.h without introducing
a circular dependency.

Its new home in layout/base/ScrollTypes.h, included as mozilla/ScrollTypes.h.
Others similar enums can be added to that file if desired.

This patch also makes ScrollMode an enum class (as it's no longer nested
inside a class) and switches its enumerators to the |eName| naming convention.

Differential Revision: https://phabricator.services.mozilla.com/D24796
2019-03-25 23:17:20 +00:00
Randell Jesup
a7248a358c Bug 1531926: move bfcache logging to MOZ_LOG (PageCache:N) r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D21798
2019-03-01 16:53:54 -05: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
dlee
9725154c92 Bug 1522412 - P3. Adopt nsIChannel.LOAD_BYPASS_URL_CLASSIFIER in the algorithm determining if we should classify a channel's URI. r=Ehsan,mayhemer
This patch uses the flag to exempt channels from classification, but it
doesn't include the use cases of this flag.

See Bug 1442496 for the list of the call sites should use this flag.

Differential Revision: https://phabricator.services.mozilla.com/D22112
2019-03-25 12:48:25 +00:00
dlee
3b26e613f7 Bug 1522412 - P2. Remove nsIChannel.LOAD_CLASSIFY_URI flag. r=Ehsan
nsIChannel.LOAD_CLASSIFY_URI is no longer required so we can remove it from
the codebase.
In the mean time, we add a new LOAD_BYPASS_URL_CLASSIFIER load flag for
channel creator to be able to force channel to bypass URL classifier check.
The use of the new LOAD_BYPASS_URL_CLASSIFIER flag will be addressed in
the other patches.

Differential Revision: https://phabricator.services.mozilla.com/D22111
2019-03-25 12:47:57 +00:00
Botond Ballo
cee6f62d12 Bug 1531535 - Use the visual smooth scrolling API in nsDocShell::SetCurScrollPosEx() if appropriate. r=kats
Differential Revision: https://phabricator.services.mozilla.com/D24554
2019-03-23 20:23:44 +00:00
Botond Ballo
a76969f2b8 Bug 1531535 - Add visual smooth scroll support to nsIPresShell. r=kats
This patch renames nsIPresShell::SetPendingVisualScrollUpdate() to
ScrollToVisual(), and adds an instant vs. smooth option.

SetPendingVisualScrollUpdate() still exists, as a helper for the instant case.

Differential Revision: https://phabricator.services.mozilla.com/D24553
2019-03-23 20:23:35 +00:00
Gurzau Raul
8cd94b1658 Backed out 7 changesets (bug 1522412) for xpcshell failures at test_shouldclassify.js on a CLOSED TREE.
Backed out changeset 7c998456e1fd (bug 1522412)
Backed out changeset ebb581ddf1d1 (bug 1522412)
Backed out changeset 850e1c68d978 (bug 1522412)
Backed out changeset fe288a48cecb (bug 1522412)
Backed out changeset 5399bca472b1 (bug 1522412)
Backed out changeset 91e5b339fe11 (bug 1522412)
Backed out changeset b80098d0a5c4 (bug 1522412)
2019-03-21 11:02:09 +02:00
Dimi Lee
e501babda0 Bug 1522412 - P3. Adopt nsIChannel.LOAD_BYPASS_URL_CLASSIFIER in the algorithm determining if we should classify a channel's URI. r=Ehsan,mayhemer
This patch uses the flag to exempt channels from classification, but it
doesn't include the use cases of this flag.

See Bug 1442496 for the list of the call sites should use this flag.

Differential Revision: https://phabricator.services.mozilla.com/D22112
2019-03-21 07:32:46 +00:00
Dimi Lee
2aec02089a Bug 1522412 - P2. Remove nsIChannel.LOAD_CLASSIFY_URI flag. r=Ehsan
nsIChannel.LOAD_CLASSIFY_URI is no longer required so we can remove it from
the codebase.
In the mean time, we add a new LOAD_BYPASS_URL_CLASSIFIER load flag for
channel creator to be able to force channel to bypass URL classifier check.
The use of the new LOAD_BYPASS_URL_CLASSIFIER flag will be addressed in
the other patches.

Differential Revision: https://phabricator.services.mozilla.com/D22111
2019-03-21 07:30:51 +00:00
Alastor Wu
4f26766702 Bug 1524065 - part1 : implement the way to resume delayed autoplay media via browsing context. r=farre
After enable Fission, we're not able to resume media in the different process, because the current way we use can only notify one process and would cause the media on other process can't be resumed.

Therefore, we should use the browsing context to notify the web content which might be on different processes.

Differential Revision: https://phabricator.services.mozilla.com/D18136
2019-03-20 03:15:36 +00:00
Christoph Kerschbaumer
887a31ee01 Bug 1534971: Add helper function within CSP to check if two CSPs are equal. r=jkt
Differential Revision: https://phabricator.services.mozilla.com/D23567
2019-03-15 12:20:52 +00:00
Botond Ballo
dca72b1b66 Bug 1517895 - Scroll the visual viewport in nsDocShell::SetCurScrollPosEx(). r=qdot
Differential Revision: https://phabricator.services.mozilla.com/D20031
2019-03-13 23:07:17 +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
Ryan Hunt
3d8d412bc2 Bug 1523969 part 5 - Move method definition inline comments to new line in 'docshell/'. r=qdot
Differential Revision: https://phabricator.services.mozilla.com/D21105
2019-02-25 16:04:59 -06: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
Boris Zbarsky
49a8c7d41b Bug 1489308 part 4. Allow UpdateURLAndHistory to work even if there's no root session history. r=smaug
This can happen when someone does a document.open() on a document that has no session history.

Differential Revision: https://phabricator.services.mozilla.com/D17322
2019-02-27 05:10:11 +00:00
Boris Zbarsky
bcb6d1032a Bug 1489308 part 2. Allow UpdateURLAndHistory to work even if mOSHE is null, if we're doing a replace. r=smaug
We're going to end up hitting this if someone does a document.open() before mOSHE
has been set. We shouldn't need to worry about mLSHE, because the document.open()
will cancel the corresponding load.

Differential Revision: https://phabricator.services.mozilla.com/D17319
2019-02-27 06:01:57 +00:00
Boris Zbarsky
69ebb5e0ff Bug 1489308 part 1. Factor out part of nsDocShell::AddState into a separate method. r=qdot
This implements the "URL and history update steps" from the HTML spec.  See
<https://html.spec.whatwg.org/multipage/history.html#url-and-history-update-steps>.

Differential Revision: https://phabricator.services.mozilla.com/D17318
2019-02-27 05:56:23 +00:00
Boris Zbarsky
504b7df982 Bug 1531128 part 2. Add a docshell API for determining whether a navigation is in progress. r=mccr8
This is needed by the document.open spec, which cancels loads for the document
only if a navigation is pending.

Differential Revision: https://phabricator.services.mozilla.com/D21441
2019-02-27 23:21:29 +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
Christoph Kerschbaumer
1a72eb2a6b Bug 1528677: Remove nullchecks for loadinfo since we have loadinfo on all channels. r=baku 2019-02-20 13:27:25 +01:00
Valentin Gosu
83082cfa48 Bug 1521808 - Implement process switching based on Cross-Opener-Origin-Policy header r=nika,qdot
* 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
2019-02-15 22:02:47 +00:00
Valentin Gosu
2db8ccd5ca Bug 1521808 - Implement Cross-Origin-Opener-Policy header r=nika,mayhemer
Differential Revision: https://phabricator.services.mozilla.com/D18119
2019-02-15 22:02:58 +00:00
Nika Layzell
8eb68bcb39 Bug 1522637 - Part 3: Send history index when resuming redirected loads, r=qdot
Depends on D18603

Differential Revision: https://phabricator.services.mozilla.com/D18604
2019-02-15 19:49:11 +00:00
Cosmin Sabou
de12011db0 Merge autoland to mozilla-central. a=merge 2019-02-15 20:36:32 +02:00
Cosmin Sabou
dc5b7a11e5 Backed out 4 changesets (bug 1521808) for causing merge conflicts.
Backed out changeset 42641f88d7da (bug 1521808)
Backed out changeset 32ce09b2c33a (bug 1521808)
Backed out changeset 94e513102b53 (bug 1521808)
Backed out changeset a08553c07886 (bug 1521808)
2019-02-15 20:34:07 +02:00
Razvan Maries
25ef899b22 Backed out 9 changesets (bug 1522637) for causing bug 1528188. a=backout
Backed out changeset e4ca191d62a5 (bug 1522637)
Backed out changeset 540e5f318768 (bug 1522637)
Backed out changeset 0886a317a108 (bug 1522637)
Backed out changeset 4c7c512a262d (bug 1522637)
Backed out changeset d7eb272688be (bug 1522637)
Backed out changeset 67e838f49f4b (bug 1522637)
Backed out changeset 7e38890c72fa (bug 1522637)
Backed out changeset e6ca9ad18d15 (bug 1522637)
Backed out changeset 0f759e91eca8 (bug 1522637)
2019-02-15 18:21:36 +02:00
Nika Layzell
aa7faefb58 Bug 1522637 - Part 3: Send history index when resuming redirected loads, r=qdot
Depends on D18603

Differential Revision: https://phabricator.services.mozilla.com/D18604
2019-02-14 15:36:02 +00:00
Bogdan Tara
cf2a8a5e80 Backed out 8 changesets (bug 1522637) for browser_all_files_referenced.js failures CLOSED TREE
Backed out changeset f7ab0e6e739b (bug 1522637)
Backed out changeset 3d24e8e81c02 (bug 1522637)
Backed out changeset 41ca0b87537e (bug 1522637)
Backed out changeset 6e0d4b6b1c93 (bug 1522637)
Backed out changeset 8f494271ec06 (bug 1522637)
Backed out changeset 6b4d010964ec (bug 1522637)
Backed out changeset 5eeda2ba8e79 (bug 1522637)
Backed out changeset 5988b8e7d17c (bug 1522637)
2019-02-14 19:20:58 +02:00
Nika Layzell
efa3555cc6 Bug 1522637 - Part 3: Send history index when resuming redirected loads, r=qdot
Depends on D18603

Differential Revision: https://phabricator.services.mozilla.com/D18604
2019-02-14 15:36:02 +00:00
Valentin Gosu
383fb68506 Bug 1521808 - Implement process switching based on Cross-Opener-Origin-Policy header r=nika,qdot
* 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
2019-02-15 12:14:49 +00:00
Valentin Gosu
c927c79c62 Bug 1521808 - Implement Cross-Origin-Opener-Policy header r=nika,mayhemer
Differential Revision: https://phabricator.services.mozilla.com/D18119
2019-02-15 12:15:39 +00:00
Sylvestre Ledru
0ad8a25536 Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D19663
2019-02-15 08:15:57 +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
Dorel Luca
e3bc01d732 Backed out 4 changesets (bug 1521808) for build bustage. CLOSED TREE
Backed out changeset 80aeea5f7abe (bug 1521808)
Backed out changeset c8c151d92c03 (bug 1521808)
Backed out changeset cc0a5c7dabb4 (bug 1521808)
Backed out changeset 8d5174a560fa (bug 1521808)
2019-02-12 14:54:45 +02:00
Valentin Gosu
f8ad4b68d8 Bug 1521808 - Implement process switching based on Cross-Opener-Origin-Policy header r=nika,qdot
* 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
2019-02-12 12:16:58 +00:00
Valentin Gosu
8b553dfcb8 Bug 1521808 - Implement Cross-Origin-Opener-Policy header r=nika,mayhemer
Differential Revision: https://phabricator.services.mozilla.com/D18119
2019-02-12 12:15:54 +00:00
shindli
1bcd12d6dd Backed out 6 changesets (bug 1522637) for en-US failures in testing/firefox-ui/tests/functional/safebrowsing/test_notification.py TestSafeBrowsingNotificationBar.test_notification_bar CLOSED TREE
Backed out changeset 18a809d53298 (bug 1522637)
Backed out changeset 9e9fd362dd8f (bug 1522637)
Backed out changeset f1191be4243a (bug 1522637)
Backed out changeset 5a8067fd848c (bug 1522637)
Backed out changeset 5f49cd87b1bd (bug 1522637)
Backed out changeset f82ba91f5ea2 (bug 1522637)
2019-02-09 03:12:53 +02:00
Kyle Machulis
3090a4960a Bug 1471711 - Remove redundant docshell being destroyed check; r=bzbarsky
Stop all loads that are coming through Docshells that are currently
being destroyed. Keeps earliest check for this condition, removes
later one.

Depends on D17018

Differential Revision: https://phabricator.services.mozilla.com/D17019
2019-02-08 21:11:02 +00:00