Commit Graph

2835 Commits

Author SHA1 Message Date
Noemi Erli
f0f0e53c19 Merge mozilla-central to inbound. a=merge CLOSED TREE 2019-05-02 07:40:07 +03:00
Mike Conley
f060772432 Bug 1533955 - Show some UI to indicate that a subframe has crashed. r=NeilDeakin
Differential Revision: https://phabricator.services.mozilla.com/D29238
2019-05-01 20:05:24 +00:00
Jim Porter
03e7e5e497 Bug 1493225, part 3 - Cancel content JS when navigating through history to prevent hangs r=smaug
This patch adds an ID to ensure that we avoid canceling content JS if the next
page already started loading by the time we're ready to try canceling the JS.

Differential Revision: https://phabricator.services.mozilla.com/D25164
2019-04-30 23:31:46 +00:00
Andreas Farre
ec6642cb16 Bug 1547911 - Only restore non-empty browsing context children. r=peterv
Also, make sure to evict the right browsing contexts from the cache.

Differential Revision: https://phabricator.services.mozilla.com/D29349
2019-04-30 16:11:03 +00:00
Andrew McCreight
490a1117c8 Bug 1547800 - Remove superfluous static cast of loadInfo in nsDocShell::DoURILoad(). r=qdot
Bug 1487964 changed loadInfo to have a concrete type, so this cast is
no longer needed.

Differential Revision: https://phabricator.services.mozilla.com/D29246
2019-04-29 19:53:33 +00:00
Andreas Farre
9d8b898e50 Bug 1471869 - Re-attach cached contexts in bulk. r=nika
This makes restoring from bfcache send less messages. It also
separates detach/attach from the caching logic, making it more clear
that caching is going on.

Differential Revision: https://phabricator.services.mozilla.com/D28670
2019-04-29 11:38:45 +00:00
Emilio Cobos Álvarez
8ba05939c2 Bug 1546697 - Use a consistent style for enum classes in layout. r=dholbert
Per the discussion in:

  https://groups.google.com/d/msg/mozilla.dev.platform/P79pwa9z5m8/iPYPAWPHCAAJ

They should be CamelCase, and that's what most of them already do. This converts
the rest, which are a few.

For the ones that already used `e` or `k` prefixes, I've mostly done:

 for file in $(rg Type::e layout | cut -d : -f 1 | sort | uniq); do sed -i 's#Type::e#Type::#g' $file; done

For the ones that used uppercase, I've removed the prefix if it was already in
the type name, and turn them into CamelCase.

Depends on D28680

Differential Revision: https://phabricator.services.mozilla.com/D28681
2019-04-25 23:03:04 +00:00
Masayuki Nakano
12b5544904 Bug 1545342 - part 2: Make some public enum of nsIPresShell move to mozilla namespace and defined as enum class in PresShellForwards.h r=smaug
This patch moves some `enum` in `nsIPresShell` which are in public scope into
`mozilla` namespace and change them as `enum class`es.

Unfortunately, only "where to scroll" enum is just defines constants of
percentages of scroll destination.  Therefore, this patch makes only them
as `static const`.

Differential Revision: https://phabricator.services.mozilla.com/D28606
2019-04-25 05:04:15 +00:00
Brindusan Cristian
6fbace0961 Merge inbound to mozilla-central. a=merge 2019-04-25 00:54:01 +03:00
Mike de Boer
ea0b8de23d Bug 1518551 - Remove the 'MOZ_TOOLKIT_SEARCH' build config constant, because it's unused; we always enable the search service. r=florian
Differential Revision: https://phabricator.services.mozilla.com/D27702
2019-04-24 08:52:32 +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
0ab69187a6 Bug 1534395 - Rename nsITabChild to nsIBrowserChild. r=nika,mconley
Similarly to nsITabParent, TabChild is exposed to frontend code via nsITabChild. It's not clear what the future of this interface will be, but for now we can just rename it to nsIBrowserChild.

Differential Revision: https://phabricator.services.mozilla.com/D28134
2019-04-09 18:15:02 -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
Coroiu Cristina
c02bcc89ea Backed out 4 changesets (bug 1493225) for browser-chrome failures with application terminated with exit code 2147483651 on a CLOSED TREE
Backed out changeset 62ee0aed9e59 (bug 1493225)
Backed out changeset 3537b8f8d38a (bug 1493225)
Backed out changeset 1de539e8f568 (bug 1493225)
Backed out changeset e9c116dba541 (bug 1493225)
2019-04-19 23:55:50 +03:00
Jim Porter
9e32bf8cd8 Bug 1493225, part 3 - Cancel content JS when navigating through history to prevent hangs r=smaug
This patch adds an ID to ensure that we avoid canceling content JS if the next
page already started loading by the time we're ready to try canceling the JS.

Differential Revision: https://phabricator.services.mozilla.com/D25164
2019-04-18 18:39:45 +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
Christoph Kerschbaumer
4d64f9a1b8 Bug 1544534: Add carveout for NullPrincipal when asserting if explicit CSP and CSP on Principal are equal. r=Gijs
Differential Revision: https://phabricator.services.mozilla.com/D27700
2019-04-16 14:19:44 +00:00
Masayuki Nakano
f1476ef506 Bug 1544215 - Make nsIContentVewer::GetPresShell() return mozilla::PresShell instead of nsIPresShell r=bzbarsky
Additionally, this patch makes `nsDocumentViewer` which is the only
implementation of `nsIContentViewer` use `mozilla::PresShell` directly
rather than via `nsIPresShell`.

Differential Revision: https://phabricator.services.mozilla.com/D27470
2019-04-16 02:47:26 +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
d0d9ccd592 Bug 1542506 - Make nsDocShell use mozilla::PresShell* directly rather than nsIPresShell* r=bzbarsky
This patch makes `nsDocShell::GetPresShell()` and
`nsDocShell::GetEldestPresShell()` return `mozilla::PresShell*` and
some non-public methods use `mozilla::PresShell*` directly.

Differential Revision: https://phabricator.services.mozilla.com/D26424
2019-04-13 01:03:13 +00:00
Boris Zbarsky
f84e5421de Bug 1543564 part 2. Get rid of pointless nsPIDOMWindowInner::AsInner methods. r=farre
Differential Revision: https://phabricator.services.mozilla.com/D27027
2019-04-11 14:12:43 +00:00
Boris Zbarsky
c5af831021 Bug 1543564 part 1. Get rid of pointless nsPIDOMWindowOuter::AsOuter() methods. r=farre
Differential Revision: https://phabricator.services.mozilla.com/D27026
2019-04-11 12:12:04 +00:00
Peter Van der Beken
a7d8307b79 Bug 1534638 - Part 3: rename SetRootDocShell to ClearDocShell. r=qdot
Depends on D25763

Differential Revision: https://phabricator.services.mozilla.com/D25764
2019-04-04 16:20:19 +00:00
Peter Van der Beken
cd80fed289 Bug 1534638 - Part 1: remove unused arguments from session history listeners. r=qdot
Differential Revision: https://phabricator.services.mozilla.com/D25761
2019-04-04 16:18:48 +00:00
Olli Pettay
3525b8789c Bug 1542673, increase history.state size limit, r=qdot
Differential Revision: https://phabricator.services.mozilla.com/D26881
2019-04-10 20:21:55 +00:00
Valentin Gosu
a5601d3bf3 Bug 1530303 - Put CrossOriginOpenerPolicy in BrowsingContext r=nika
Differential Revision: https://phabricator.services.mozilla.com/D23935
2019-04-09 20:10:13 +00:00
Andrea Marchesini
f6465d5679 Bug 1534351 - HTMLInputElement should always allow popups for system principal, r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D26671
2019-04-09 19:27:15 +00:00
Brindusan Cristian
175fc2eba1 Backed out changeset 2647a23c02bf (bug 1534351) for mochitest failures at test_multipleFilePicker.html. CLOSED TREE 2019-04-09 20:45:05 +03:00
Andrea Marchesini
6b552fd8ae Bug 1534351 - HTMLInputElement should always allow popups for system principal, r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D26671
2019-04-09 14:25:58 +00:00
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