Commit Graph

5761 Commits

Author SHA1 Message Date
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
Nika Layzell
48d0049694 Bug 1529684 - Part 4: Add a GetContentParent method to CanonicalBrowsingContext, r=farre
Depends on D21097

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

--HG--
extra : moz-landing-system : lando
2019-03-14 18:50:50 +00:00
Nika Layzell
eaf6c2306e Bug 1529684 - Part 2: Create BrowsingContext for remote browsers in parent, r=farre
Depends on D21095

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

--HG--
extra : moz-landing-system : lando
2019-03-14 18:50:45 +00:00
Nika Layzell
6a04609cc9 Bug 1529684 - Part 1: Allow Attaching BrowsingContext from parent to child, r=farre
This is important to allow creating BrowsingContexts outside of the process
where they are going to be used. This is largely a re-arrangement of existing
code.

There is currently no way to do this type of attaching for browsing contexts in
existing BrowsingContextGroups, which creates some limitations, but happens to
be sufficient for us in the current situation.

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

--HG--
extra : moz-landing-system : lando
2019-03-14 18:50:38 +00:00
Sylvestre Ledru
4aa92e3091 Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D22514
2019-03-13 10:19:06 +01:00