Read-only Git mirror of the Mercurial gecko repositories at https://hg.mozilla.org. How to contribute: https://firefox-source-docs.mozilla.org/contributing/contribution_quickref.html
Go to file
Kris Maglione b9e9588050 Bug 1481021: Part 2 - Stop loading SpecialPowers into frame script scopes. r=bz,jmaher,aswan
Loading SpecialPowers into frame scripts has side-effects, detailed in part 1,
which are undesirable. The main side-effect that I'm trying to get rid of here
is the force-enabling of permissive COWs in frame script scopes, which is
blocking changes that I need to make elsewhere. But both that and the scope
pollution it causes are likely to allow code to work when running in
automation which fails in real world usage.

This patch changes our special powers frame scripts to load specialpowers.js
and specialpowersAPI.js as JSMs, which run in their own global, but define
most of the same properties on our frame script globals.

Most other callers still load those scripts via <script> tags or the subscript
loader, and should ideally migrated in a follow-up. But even so, this patch
still gives us a cleaner separation of the frame script and non-frame-script
loading code.

MozReview-Commit-ID: CR226gCDaGY

--HG--
extra : rebase_source : fa253abde2029ec09c724404106d83623f064875
2018-08-07 14:03:21 -07:00
.cargo Bug 1468950 - Update serde_derive patch for changes in WR PR 2819. r=Gankro 2018-06-21 08:15:40 -04:00
.vscode
accessible Bug 1480058 part 3: Support accessible selection retrieval methods for XUL tabs with aria-multiselectable. r=surkov 2018-08-03 13:31:43 +10:00
browser Bug 1481021: Part 2 - Stop loading SpecialPowers into frame script scopes. r=bz,jmaher,aswan 2018-08-07 14:03:21 -07:00
build Bug 1481378 - Simplify mozconfig.linux32. r=ted 2018-08-07 19:40:52 +09:00
caps Bug 1446940 part 5. Stop getting docshells from windows via getInterface in dom/editor/etc code. r=kmag 2018-08-01 13:07:11 -04:00
chrome Backed out changeset 85fd8d212397 (bug 1479544) for windows build bustages CLOSED TREE 2018-08-03 19:24:41 +03:00
config Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-08-02 12:03:09 +03:00
db
devtools Bug 1481021: Part 1 - Fix tests that rely on permissive COWs or SpecialPowers side-effects in frame script scopes. r=bz 2018-08-07 14:13:06 -07:00
docshell Bug 1481021: Part 2 - Stop loading SpecialPowers into frame script scopes. r=bz,jmaher,aswan 2018-08-07 14:03:21 -07:00
dom Bug 1481021: Part 1 - Fix tests that rely on permissive COWs or SpecialPowers side-effects in frame script scopes. r=bz 2018-08-07 14:13:06 -07:00
editor Bug 1478604 - Fix RepaintSelectionRunner so that it does something for non-presShell impls. r=masayuki 2018-08-07 12:55:21 +00:00
embedding
extensions Bug 1480699 - Use IPDL's promise instead in PRemoteSpellcheckEngine. r=masayuki 2018-07-31 16:36:43 +09:00
gfx Bug 1480433 - Update for API changes in WR PR 2948. r=jrmuizel 2018-08-07 14:46:56 -04:00
gradle/wrapper Bug 1476165 - Part 2: Update Android Gradle plugin to version 3.1.0. r=nalexander,snorp 2018-07-17 13:20:19 +01:00
hal Bug 1480177 Lowercase includes to fix MinGW Build Errors r=froydnj 2018-07-30 22:43:24 -05:00
image Bug 1474900: Assert there are no pending locks when destroying the image proxy. r=tnikkel 2018-08-07 12:54:15 +02:00
intl Bug 1480881 - Upgrade Gecko to Fluent 0.6. r=stas 2018-08-07 00:08:29 +00:00
ipc Backed out changeset 1e9ecba54e7b (bug 1348273) for failing on widget/tests/test_bug1123480.xul 2018-08-04 12:39:40 +03:00
js Bug 1481021: Part 1 - Fix tests that rely on permissive COWs or SpecialPowers side-effects in frame script scopes. r=bz 2018-08-07 14:13:06 -07:00
layout Merge mozilla-central to inbound. a=merge CLOSED TREE 2018-08-08 00:58:40 +03:00
media Backed out changeset 5950c9d63c3b (bug 1090497) for build bustages on several files. CLOSED TREE 2018-08-02 19:59:53 +03:00
memory Backed out changeset 5950c9d63c3b (bug 1090497) for build bustages on several files. CLOSED TREE 2018-08-02 19:59:53 +03:00
mfbt Bug 1481005 - Explicitly delete dtor of AlignmentFinder::Alinger to avoid MSVC warning breaking debug builds. r=froydnj 2018-08-07 17:58:39 +00:00
mobile Merge mozilla-central to inbound. a=merge CLOSED TREE 2018-08-08 00:58:40 +03:00
modules Bug 1481176 - P4. Make CanHandleMediaType usable off the main thread. r=bryce 2018-08-07 19:21:59 +02:00
mozglue Bug 1481433 - ifdef-out the entire TestDLLEject.cpp. r=froydnj 2018-08-08 03:24:46 +09:00
netwerk Bug 1481373 - Work around clang miscompilation of a non-virtual thunk to HttpChannelChild::AsyncCall on x86. r=valentin 2018-08-08 06:31:40 +09:00
nsprpub Bug 1477680, land NSPR 4.20 beta snapshot 607196c7ef66, r=me 2018-07-23 16:05:53 +02:00
other-licenses Bug 1478568 part 1: Update IAccessible2 so we can use new roles (IA2_ROLE_BLOCK_QUOTE, etc.). r=MarcoZ 2018-07-27 10:27:44 +10:00
parser Bug 1478823: Add a chrome DOM event signalling that the head element's children have been parsed. r=bzbarsky 2018-08-03 21:16:04 +00:00
python Bug 1480313 - Set check_unchanged for cargo build script rules in the Tup build. r=mshal 2018-08-01 21:24:51 -07:00
security Merge inbound to mozilla-central. a=merge 2018-08-07 00:58:13 +03:00
services Bug 1480327: Part 2 - Modernize what's left of Log.jsm a bit. r=Mossop 2018-08-01 23:23:34 -07:00
servo No bug - Fixup some indentation. r=me 2018-08-07 20:32:19 +02:00
startupcache
storage Backed out changeset 1e9ecba54e7b (bug 1348273) for failing on widget/tests/test_bug1123480.xul 2018-08-04 12:39:40 +03:00
taskcluster No Bug, taskcluster/docker/funsize-update-generator pipfile-update. r=bhearsum 2018-08-07 12:50:52 +00:00
testing Bug 1481021: Part 2 - Stop loading SpecialPowers into frame script scopes. r=bz,jmaher,aswan 2018-08-07 14:03:21 -07:00
third_party Merge mozilla-central to inbound. a=merge CLOSED TREE 2018-08-08 00:58:40 +03:00
toolkit Merge mozilla-central to inbound. a=merge CLOSED TREE 2018-08-08 00:58:40 +03:00
tools Backed out changeset acde419e016e (bug 1475573) for breaking Android builds 2018-08-04 10:12:40 +03:00
uriloader Bug 1446940 part 5. Stop getting docshells from windows via getInterface in dom/editor/etc code. r=kmag 2018-08-01 13:07:11 -04:00
view
widget Bug 1475875 - Use ScreenManager on Android r=esawin,jchen 2018-08-07 14:14:32 -05:00
xpcom Bug 1441059 - Make nsILoadURIDelegate async to preserve the order of GeckoSession.loadUri() calls. r=snorp,bz 2018-08-07 13:42:07 -05:00
xpfe/appshell Bug 1479570. Get Add a getter to get a docshell from nsIWindowlessBrowser. r=kmag 2018-08-03 00:05:07 +00:00
.arcconfig
.clang-format
.clang-format-ignore
.cron.yml Bug 1477021 - Schedule pipfile updates to run once per week. r=sfraser 2018-07-27 15:12:36 +00:00
.eslintignore Bug 1474414 - Move most of browser/extensions/activity-stream to browser/components/newtab r=Mardak 2018-07-26 20:50:49 -07:00
.eslintrc.js Bug 1436303 - Enable mozilla/no-define-cc-etc for some DevTools files;r=ochameau,standard8 2018-06-08 16:46:59 +02:00
.flake8 Bug 1473951: Add infer to taskcluster and build. r=gps 2018-07-06 17:37:16 +01:00
.gdbinit
.gdbinit_python
.gitignore Bug 1475904 - Add .swp files (for open, unnamed vim buffers) to .gitignore. r=froydnj 2018-07-16 12:26:13 +10:00
.hgignore Bug 1469801 - Add gcov-related files to .hgignore. r=jmaher (DONTBUILD) 2018-06-20 11:05:46 +01:00
.hgtags No bug - Tagging mozilla-central 4f6e597104dabedfecfafa2ab63dc79fd7f8bc7a with FIREFOX_NIGHTLY_62_END a=release DONTBUILD CLOSED TREE 2018-06-25 09:31:32 -07:00
.inferconfig
.lldbinit
.mailmap
.taskcluster.yml Bug 1470886 - only produce tasks for recognized tasks_for; r=tomprince 2018-07-03 18:07:42 +00:00
.yamllint
.ycm_extra_conf.py
aclocal.m4
AUTHORS
build.gradle Bug 1473313 - Part 1: Set up geckoview build config for androidTest coverage runs. r=nalexander 2018-07-24 11:44:24 +01:00
Cargo.lock Bug 1480433 - Update Cargo lockfiles and re-vendor rust dependencies. r=jrmuizel 2018-08-07 14:46:40 -04:00
Cargo.toml Bug 1474871 - Link dump_syms against rustc-demangle. r=ted 2018-07-12 10:23:12 +09:00
client.mk
client.py
CLOBBER Bug 1435409 - use our own clang rather than the NDK clang to build Android; r=nalexander 2018-07-27 09:52:53 -05:00
configure.in
configure.py
GNUmakefile
gradle.properties
gradlew
LEGAL
LICENSE
mach
Makefile.in Backed out changeset 7a3882f27aa3 (bug 1341525) for failing win Sa builds on a CLOSED TREE 2018-08-02 02:26:13 +03:00
moz.build
moz.configure Bug 1444141 - part 4 - make the JS engine depend on Rust; r=chmanchester,glandium,jorendorff 2018-08-02 11:00:21 -05:00
mozilla-config.h.in
old-configure.in Bug 1480553 - part 2 - add a case for aarch64* when setting MIDL_FLAGS; r=glandium 2018-08-02 21:40:40 -04:00
package-lock.json Bug 1471540 - Update eslint-plugin-react to 7.10.0. r=ahal 2018-07-25 18:09:41 +00:00
package.json Bug 1471540 - Update eslint-plugin-react to 7.10.0. r=ahal 2018-07-25 18:09:41 +00:00
Pipfile Bug 1472201 - Vendor pytest 3.6.2 and dependencies; r=ahal 2018-06-29 15:37:31 +01:00
Pipfile.lock Bug 1472201 - Vendor pytest 3.6.2 and dependencies; r=ahal 2018-06-29 15:37:31 +01:00
README.txt
settings.gradle
test.mozbuild

An explanation of the Mozilla Source Code Directory Structure and links to
project pages with documentation can be found at:

    https://developer.mozilla.org/en/Mozilla_Source_Code_Directory_Structure

For information on how to build Mozilla from the source code, see:

    https://developer.mozilla.org/en/docs/Build_Documentation

To have your bug fix / feature added to Mozilla, you should create a patch and
submit it to Bugzilla (https://bugzilla.mozilla.org). Instructions are at:

    https://developer.mozilla.org/en/docs/Creating_a_patch
    https://developer.mozilla.org/en/docs/Getting_your_patch_in_the_tree

If you have a question about developing Mozilla, and can't find the solution
on https://developer.mozilla.org, you can try asking your question in a
mozilla.* Usenet group, or on IRC at irc.mozilla.org. [The Mozilla news groups
are accessible on Google Groups, or news.mozilla.org with a NNTP reader.]

You can download nightly development builds from the Mozilla FTP server.
Keep in mind that nightly builds, which are used by Mozilla developers for
testing, may be buggy. Firefox nightlies, for example, can be found at:

    https://archive.mozilla.org/pub/firefox/nightly/latest-mozilla-central/
            - or -
    https://www.mozilla.org/firefox/channel/desktop/#nightly