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

5765 Коммитов

Автор SHA1 Сообщение Дата
Masayuki Nakano 98518a7159 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

--HG--
extra : moz-landing-system : lando
2019-04-03 12:53:54 +00:00
Masayuki Nakano 8329e8382e 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

--HG--
extra : moz-landing-system : lando
2019-04-03 12:51:38 +00:00
Masayuki Nakano 9165a150a1 Bug 1540930 - Make nsPresContext use mozilla::PresShell directly rather than via nsIPresShell r=emilio
`nsPresContext` should use `mozilla::PresShell` directly instead of
`nsIPresShell`.  This patch makes it.

Unfortunately, `nsPresContext` and `nsIFrame` have `PresShell()`.  Therefore,
we cannot use `PresShell*` in its methods so that this patch uses `mozilla::`
namespace prefix.

It might be better to rename them as `PresShellPtr()` in another bug.

Differential Revision: https://phabricator.services.mozilla.com/D25721

--HG--
extra : moz-landing-system : lando
2019-04-03 12:40:26 +00:00
Makoto Kato 0b3ee4783f 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

--HG--
extra : moz-landing-system : lando
2019-04-03 01:56:31 +00:00
Masayuki Nakano 3e64f2c30d Bug 1539356 - Mark EditorBase::InsertNodeTransaction() as MOZ_CAN_RUN_SCRIPT r=m_kato
This patch marks `EditorBase::InsertNodeTransaction()` **and** its callers as `MOZ_CAN_RUN_SCRIPT`.

Unfortunately, this patch tells us that some `GetSomething()` methods may destroy the editor since `HTMLEditRules::GetNodesForOperation()`, `HTMLEditRules::GetNodesFromPoint()` and `HTMLEditRules::GetNodesFromSelection()` may change the DOM tree.  Additionally, initialization methods may destroy the editor since it may insert a bogus `<br>` node.

Note that this patch also removes some unused methods. I.e., they are not result of some cleaning up the code. This patch just avoids marking unused methods as `MOZ_CAN_RUN_SCRIPT`.

Differential Revision: https://phabricator.services.mozilla.com/D25027

--HG--
extra : moz-landing-system : lando
2019-03-30 11:55:29 +00:00
Oana Pop Rus 43fadb6745 Backed out changeset 447c87c2d139 (bug 1539356) on request of Jorg K. a=backout 2019-03-30 00:42:32 +02:00
Masayuki Nakano de2d589e58 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

--HG--
extra : moz-landing-system : lando
2019-03-29 15:12:47 +00:00
Dorel Luca 5a0fa68b78 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 9273f25ce2 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

--HG--
extra : moz-landing-system : lando
2019-03-29 13:09:26 +00:00
Masayuki Nakano 81b30d7143 Bug 1539356 - Mark EditorBase::InsertNodeTransaction() as MOZ_CAN_RUN_SCRIPT r=m_kato
This patch marks `EditorBase::InsertNodeTransaction()` **and** its callers as `MOZ_CAN_RUN_SCRIPT`.

Unfortunately, this patch tells us that some `GetSomething()` methods may destroy the editor since `HTMLEditRules::GetNodesForOperation()`, `HTMLEditRules::GetNodesFromPoint()` and `HTMLEditRules::GetNodesFromSelection()` may change the DOM tree.  Additionally, initialization methods may destroy the editor since it may insert a bogus `<br>` node.

Note that this patch also removes some unused methods. I.e., they are not result of some cleaning up the code. This patch just avoids marking unused methods as `MOZ_CAN_RUN_SCRIPT`.

Differential Revision: https://phabricator.services.mozilla.com/D25027

--HG--
extra : moz-landing-system : lando
2019-03-29 10:55:31 +00:00
Gurzau Raul ed07da8648 Backed out 4 changesets (bug 1525427) for failing at /browser_browsingContext-embedder.js on a CLOSED TREE.
Backed out changeset 0227a59eba8e (bug 1525427)
Backed out changeset 18fba79d8671 (bug 1525427)
Backed out changeset f7c82615ea05 (bug 1525427)
Backed out changeset 4a210c9266ed (bug 1525427)
2019-03-28 20:54:28 +02:00
Nika Layzell fd91daf96d Bug 1525427 - Part 3: Tests for new WindowGlobal properties, r=farre
Differential Revision: https://phabricator.services.mozilla.com/D25183

--HG--
extra : moz-landing-system : lando
2019-03-28 15:27:27 +00:00
Nika Layzell 10fb5cf828 Bug 1525427 - Part 1: Expose WindowGlobalParent & Element on BrowsingContext, r=farre
Differential Revision: https://phabricator.services.mozilla.com/D25181

--HG--
extra : moz-landing-system : lando
2019-03-28 15:03:54 +00:00
Mark Banner dba6983e75 Bug 1415265 - Remove now unnecessary .eslintrc.js files or entries. r=mossop
Differential Revision: https://phabricator.services.mozilla.com/D23850

--HG--
extra : moz-landing-system : lando
2019-03-28 09:38:14 +00:00
Haik Aftandilian 77b79862cf Bug 1452278 - Part 1 - Make macOS nsOSHelperAppService::GetFromTypeAndExtension() not call OS MIME API's in content r=bzbarsky,froydnj
Add a new nsExternalHelperAppService derived class named nsOSHelperAppServiceChild to be used for the MIME service, external helper app service, and external protocol service interfaces in child processes. nsOSHelperAppServiceChild overrides some methods used to get MIME and external protocol handler information from the OS and implements these methods by remoting the calls to the parent process.

This is necessary because, on Mac, querying the OS for helper application info from sandboxed content processes is unreliable and has buggy side effects.

For now, only use the new class on Mac.

Android and unix file changes r+ by gcp.
Windows files changes r+ by bobowen.
Sync messages review r+ by nfroyd.

MozReview-Commit-ID: 63BiS6VCxfn

Differential Revision: https://phabricator.services.mozilla.com/D15620

--HG--
extra : moz-landing-system : lando
2019-03-27 22:49:33 +00:00
arthur.iakab 7654bfed1e Backed out 2 changesets (bug 1452278) for mingwclang build bustages on win/nsOSHelperAppService.h CLOSED TREE
Backed out changeset f11d78387bd9 (bug 1452278)
Backed out changeset 656f17a2553b (bug 1452278)
2019-03-27 22:03:07 +02:00
Haik Aftandilian b8118af581 Bug 1452278 - Part 1 - Make macOS nsOSHelperAppService::GetFromTypeAndExtension() not call OS MIME API's in content r=bzbarsky,froydnj
Add a new nsExternalHelperAppService derived class named nsOSHelperAppServiceChild to be used for the MIME service, external helper app service, and external protocol service interfaces in child processes. nsOSHelperAppServiceChild overrides some methods used to get MIME and external protocol handler information from the OS and implements these methods by remoting the calls to the parent process.

This is necessary because, on Mac, querying the OS for helper application info from sandboxed content processes is unreliable and has buggy side effects.

For now, only use the new class on Mac.

Android and unix file changes r+ by gcp.
Windows files changes r+ by bobowen.
Sync messages review r+ by nfroyd.

MozReview-Commit-ID: 63BiS6VCxfn

Differential Revision: https://phabricator.services.mozilla.com/D15620

--HG--
extra : moz-landing-system : lando
2019-03-27 19:23:32 +00:00
Botond Ballo 2b2dd7dac6 Bug 1538511 - Get rid of nsIPresShell::ScrollMode (use mozilla::ScrollMode instead). r=kats
Differential Revision: https://phabricator.services.mozilla.com/D24797

--HG--
extra : moz-landing-system : lando
2019-03-26 00:51:57 +00:00
Botond Ballo 573a6eaafa 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

--HG--
extra : moz-landing-system : lando
2019-03-25 23:17:20 +00:00
Nika Layzell 4c8b577b88 Bug 1539069 - Part 2: Use field epochs to avoid racy field interactions, r=farre
Differential Revision: https://phabricator.services.mozilla.com/D24976

--HG--
extra : moz-landing-system : lando
2019-03-27 09:19:29 +00:00
Nika Layzell 6a18c93ae4 Bug 1539069 - Part 1: Allow BC fields to be racy, and not have ProcessID validated, r=farre
Differential Revision: https://phabricator.services.mozilla.com/D24975

--HG--
extra : moz-landing-system : lando
2019-03-27 13:46:01 +00:00
Nika Layzell a39708b997 Bug 1536405 - Cycle-collect through ChromeEventHandler, r=bzbarsky
Differential Revision: https://phabricator.services.mozilla.com/D24422

--HG--
extra : moz-landing-system : lando
2019-03-22 23:35:15 +00:00
Ian Moody 3e2a03dd32 Bug 1536659 - docshell/ manual ESLint no-throw-literal fixes. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D24368

--HG--
extra : moz-landing-system : lando
2019-03-21 22:40:36 +00:00
Ian Moody b6cbc669dc Bug 1536659 - docshell/ automated ESLint no-throw-literal fixes. r=nika
Result of running:
$ mach eslint -funix docshell/ | sed -Ee 's/:.+//' - | xargs sed -E \
    -e 's/throw ((["`])[^"]+\2);/throw new Error(\1);/g' \
    -e 's/throw ((["`])[^"]+\2 \+ [^ ";]+);/throw new Error(\1);/g' \
    -e 's/throw \(/throw new Error(/g' -i

Differential Revision: https://phabricator.services.mozilla.com/D24367

--HG--
extra : moz-landing-system : lando
2019-03-21 16:53:45 +00:00
dlee d7d67be8c9 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

--HG--
extra : moz-landing-system : lando
2019-03-25 12:48:25 +00:00
dlee 9878ae650d 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

--HG--
extra : moz-landing-system : lando
2019-03-25 12:47:57 +00:00
sakshaat d781937a67 Bug 1517483 - Get rid of nsIScriptSecurityManager::IsSystemPrincipal r=bzbarsky
Replaced instances of callers in both C++ and JS files to query the state from the principal directly.

Differential Revision: https://phabricator.services.mozilla.com/D22532

--HG--
extra : moz-landing-system : lando
2019-03-24 20:36:25 +00:00
Botond Ballo c0526d30f3 Bug 1531535 - Use the visual smooth scrolling API in nsDocShell::SetCurScrollPosEx() if appropriate. r=kats
Differential Revision: https://phabricator.services.mozilla.com/D24554

--HG--
extra : moz-landing-system : lando
2019-03-23 20:23:44 +00:00
Botond Ballo e6c2c99584 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

--HG--
extra : moz-landing-system : lando
2019-03-23 20:23:35 +00:00
Mellina Yonashiro db352af17e Bug 1508817 - Enable ESLint for docshell (manual changes). r=Standard8,bzbarsky
Differential Revision: https://phabricator.services.mozilla.com/D23038

--HG--
extra : moz-landing-system : lando
2019-03-22 07:53:32 +00:00
Mellina Yonashiro 679a8809c5 Bug 1508817 - Enable ESLint for docshell (automatic changes). r=Standard8,bzbarsky
Differential Revision: https://phabricator.services.mozilla.com/D23037

--HG--
extra : moz-landing-system : lando
2019-03-22 18:13:25 +00:00
Edwin Gao dc7a7ccbb7 Bug 1533819, 1533814, 1532775 - disable additional tests in mochitest-chrome suite that fails for windows10-aarch64 r=jmaher
- test_bug1163447_selectItems_through_shortcut.xul
- test_bug301397.xul
- test_bug364461.xul

Differential Revision: https://phabricator.services.mozilla.com/D24309

--HG--
extra : moz-landing-system : lando
2019-03-21 15:34:04 +00:00
Gurzau Raul 2666e16a53 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 fe284ca3d4 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

--HG--
extra : moz-landing-system : lando
2019-03-21 07:32:46 +00:00
Dimi Lee 8f1caf4049 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

--HG--
extra : moz-landing-system : lando
2019-03-21 07:30:51 +00:00
Alastor Wu bbb2e64dde 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

--HG--
extra : moz-landing-system : lando
2019-03-20 03:15:36 +00:00
Andrew McCreight cce04c17b8 Bug 1535453 - BrowsingContext does not need to inherit from LinkedListElement. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D23586

--HG--
extra : moz-landing-system : lando
2019-03-19 21:33:40 +00:00
Sebastian Hengst cbbed3707e Bug 1535353 - update Core :: DOM: * bugzilla product and component meta data in moz.build files after reorganization in bug 1533440: replace 'Core :: Keyboard: Navigation'. r=me DONTBUILD
--HG--
extra : amend_source : d2099ea98dbd1a814c1257e276cec58db9be907a
2019-03-18 00:39:30 +01:00
Sebastian Hengst cee711baf9 Bug 1535353 - update Core :: DOM: * bugzilla product and component meta data in moz.build files after reorganization in bug 1533440 r=hsinyi
Differential Revision: https://phabricator.services.mozilla.com/D23546

--HG--
extra : moz-landing-system : lando
2019-03-17 23:13:22 +00:00
Christoph Kerschbaumer 23b1d42b45 Bug 1534971: Add helper function within CSP to check if two CSPs are equal. r=jkt
Differential Revision: https://phabricator.services.mozilla.com/D23567

--HG--
extra : moz-landing-system : lando
2019-03-15 12:20:52 +00:00
Thomas Nguyen 33d78105b7 Bug 1528695 - Part 1 : Use referrerInfo in openWindow, cpp file r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D21910

--HG--
extra : moz-landing-system : lando
2019-03-15 05:11:43 +00:00
Nika Layzell 75c02c72ea Bug 1532661 - Part 6: Clean up BrowsingContext references more reliably, r=farre
Depends on D23047

Differential Revision: https://phabricator.services.mozilla.com/D23048

--HG--
extra : moz-landing-system : lando
2019-03-14 18:51:13 +00:00
Nika Layzell f6a5c73c2a Bug 1532661 - Part 5: Make the BrowsingContext opener edge a weak reference, r=farre
Depends on D22193

Differential Revision: https://phabricator.services.mozilla.com/D23047

--HG--
extra : moz-landing-system : lando
2019-03-14 18:51:11 +00:00
Nika Layzell 1b8834985a Bug 1532661 - Part 4: Support initializing complete BrowsingContextGroups in a single op with an IPCInitializer struct, r=farre
Depends on D22192

Differential Revision: https://phabricator.services.mozilla.com/D22193

--HG--
extra : moz-landing-system : lando
2019-03-14 18:51:09 +00:00
Nika Layzell e936e7d33b Bug 1532661 - Part 3: Add WillSetX and DidSetX callbacks for BrowsingContext synced fields, r=farre
Depends on D22191

Differential Revision: https://phabricator.services.mozilla.com/D22192

--HG--
extra : moz-landing-system : lando
2019-03-14 18:51:07 +00:00
Nika Layzell 1ebd4ff025 Bug 1532661 - Part 2: Use a field list macro header for synced fields, r=farre
Depends on D22190

Differential Revision: https://phabricator.services.mozilla.com/D22191

--HG--
extra : moz-landing-system : lando
2019-03-14 18:51:05 +00:00
Nika Layzell 88e15f606d Bug 1532661 - Part 1: Perform basic validation on CanonicalBrowsingContext, r=farre
Depends on D21134

Differential Revision: https://phabricator.services.mozilla.com/D22190

--HG--
extra : moz-landing-system : lando
2019-03-14 18:51:03 +00:00
Nika Layzell b388b0df00 Bug 1530550 - Synchronize mOpener and mIsActivatedByUserGesture with SYNCED_BC_FIELD, r=farre
Depends on D22764

Differential Revision: https://phabricator.services.mozilla.com/D21134

--HG--
extra : moz-landing-system : lando
2019-03-14 18:50:55 +00:00
Nika Layzell a26325ea58 Bug 1529684 - Part 6: Store a mIsInProcess flag to preserve WindowProxy behaviour, r=farre
Currently when we have an in-process WindowProxy object, we will attempt
to either use the cached mWindowProxy value, or fetch the
nsGlobalWindowOuter object from through the nsDocShell. Unfortunately,
when the BrowsingContext is detached, we will fail to get the
nsGlobalWindowOuter object. This happens to be OK for our test cases, as
the cached mWindowProxy value doesn't have the chance to go away, but
isn't acceptable long-term.

These patches exascerbated that issue by causing the nsDocShell pointer
itself to be cleared when it is destroyed, which caused the Remote
WindowProxy logic to be triggered. To deal with that case, this patch
adds a new mIsInProcess flag to continue to act like the old code-path.

In the future, we will need to also handle ensuring that the
nsGlobalWindowOuter lives for long enough, however that is not being
done in this patch in order to land it sooner rather than later.

Depends on D22763

Differential Revision: https://phabricator.services.mozilla.com/D22764

--HG--
extra : moz-landing-system : lando
2019-03-14 18:50:54 +00:00
Nika Layzell 24638a0faf Bug 1529684 - Part 5: Support using remote window proxy objects in the parent process, r=farre
Depends on D22762

Differential Revision: https://phabricator.services.mozilla.com/D22763

--HG--
extra : moz-landing-system : lando
2019-03-14 18:50:52 +00:00