Commit Graph

342 Commits

Author SHA1 Message Date
Kris Maglione
0275d91832 Bug 1385880: Part 2 - Store promise returned by bootstrap startup method. r=aswan
This is also the first step in moving async startup/shutdown tracking into the
add-on manager.

MozReview-Commit-ID: Uf4ecSW77S
2017-08-04 13:20:36 -07:00
Kris Maglione
65f0669a7d Bug 1385880: Part 1 - Remove WebExtensionBootstrap.js. r=aswan
MozReview-Commit-ID: X4JoEC61TF
2017-08-04 23:12:24 -07:00
Kris Maglione
c4d42444e0 Remove unused lazy imports. r=trivial (no bug)
MozReview-Commit-ID: rqUFJw7Wsb
2017-08-02 21:09:38 -07:00
Kris Maglione
4e26cbfb44 Bug 1380267: Add 1s max delay to extension shutdown blocker. r=aswan
MozReview-Commit-ID: GqFPiVVgXUs
2017-07-31 12:02:23 -07:00
Kris Maglione
debd2ac908 Bug 1357902 - Use improved locale service APIs for localization. r=gandalf
MozReview-Commit-ID: 6Aj0SZkCJwg
2017-05-04 18:28:05 -07:00
Kris Maglione
497bcba4b3 Bug 1382501: Don't use NetUtil to parse URIs. r=trivial
MozReview-Commit-ID: BepyXBOOuv2
2017-07-19 18:26:41 -07:00
Mark Striemer
3ba601e9c7 Bug 1330732 - Show install warnings in about:debugging r=aswan,jdescottes
MozReview-Commit-ID: 8SFcYuln8w8
2017-06-29 11:11:21 -07:00
Sebastian Hengst
4b7fa3c5ad Backed out changeset 1d1b993bfea6 (bug 1330732) for failing chrome's test_chrome_ext_contentscript_unrecognizedprop_warning.html and test_chrome_ext_eventpage_warning.html. r=backout 2017-07-17 20:46:06 +02:00
Mark Striemer
36eb2b03fc Bug 1330732 - Show install warnings in about:debugging r=aswan,jdescottes
MozReview-Commit-ID: 8SFcYuln8w8
2017-06-29 11:11:21 -07:00
Kris Maglione
e2b870af3a Bug 1378727: Part 2 - Use the zip reader cache when reading extension locales. r=aswan
MozReview-Commit-ID: BOoVcyypdRN
2017-07-13 12:30:29 -07:00
L. David Baron
ffe0c00454 Backed out changeset 90ae2fcd089a (bug 1378727) for numerous xpcshell test failures on Windows, starting with test_ext_browsingData_downloads.js. 2017-07-12 22:23:42 -07:00
Kris Maglione
da0b87867a Bug 1380267: Fix shutdown blocker corner cases. r=aswan
MozReview-Commit-ID: 8Dgvnm96hgT
2017-07-12 16:58:15 -07:00
Kris Maglione
1004383022 Bug 1378727: Use the zip reader cache when reading extension locales. r=aswan
MozReview-Commit-ID: BOoVcyypdRN
2017-07-08 16:48:54 -07:00
Sebastian Hengst
8e9f786f7b Backed out changeset a8809f15b582 (bug 1378727) for failing browser_ext_browserAction_context.js. r=backout on a CLOSED TREE 2017-07-13 00:37:45 +02:00
Kris Maglione
08056e076a Bug 1378727: Use the zip reader cache when reading extension locales. r=aswan
MozReview-Commit-ID: BOoVcyypdRN
2017-07-08 16:48:54 -07:00
Kris Maglione
b44716ecfc Bug 1364768: Part 6 - Use startup cache for initial extension permission data. r=aswan
Reading the extension permissions DB at startup takes several hundred
milliseconds, largely from the overhead of initializing OS.File. We can avoid
that somewhat by using the stream APIs to read the files, and beginning the
read very early. But the eager initialization gets complicated, and we still
add extra IO to startup.

After this change, the permissions JSON file still remains the primary source
of truth, but the state as of the last session is cached in the volatile
extension startup cache to decrease the overhead of reading it at startup.

MozReview-Commit-ID: HGDt5kSsdzX
2017-05-14 16:12:33 -07:00
Kris Maglione
fa0f1ed6cd Bug 1364768: Part 5 - Store the list of available locales in the startup cache. r=aswan
For unpacked extensions, loading the locales list adds an appreciable delay to
startup time. For packed extension, the overhead is much lower, but still best
avoided.

MozReview-Commit-ID: 6kicOU78fpZ
2017-05-14 16:56:59 -07:00
Kris Maglione
ee30da7682 Bug 1370752: Part 3 - Use structured clone rather than JSON to sanitize storage values. r=aswan
This gives us performance wins in sevaral areas:

- Creating a structured clone blob of storage data directly from the source
  compartment allows us to avoid X-ray and JSON serialization overhead when
  storing new values.

- Storing the intermediate StructuredCloneBlob, rather than JSON values,
  in-memory saves us additional JSON and structured clone overhead when
  passing the values to listeners and API callers, and saves us a fair amount
  of memory to boot.

- Serializing storage values before sending them over a message manager allows
  us to deserialize them directly into an extension scope on the other side,
  saving us a lot of additional structured clone overhead and intermediate
  garbage generation.

- Using JSONFile.jsm for storage lets us consolidate multiple storage file
  write operations, rather than performing a separate JSON serialization for
  each individual storage write.

- Additionally, this paves the way for us to transition to IndexedDB as a
  storage backend, with full support for arbitrary structured-clone-compatible
  data structures.

MozReview-Commit-ID: JiRE7EFMYxn
2017-07-10 18:24:11 -07:00
Kris Maglione
d53933dbb5 Bug 1357486: Follow-up: Fix error on shutdown after incomplete startup.
MozReview-Commit-ID: Fgs3fWc2ylF
2017-07-09 15:32:18 -07:00
Kris Maglione
56e29a122b Bug 1357486: Follow-up: Don't propagate rejections to AsyncShutdown.
MozReview-Commit-ID: GyKXCBa890N
2017-07-09 14:19:24 -07:00
Kris Maglione
e497a6cbc0 Bug 1357486: Follow-up: Wait for extension shutdown before starting storage shutdown. r=rhelmer
MozReview-Commit-ID: BvQkbsScA3N
2017-07-09 13:39:38 -07:00
Kris Maglione
103ba64e08 Bug 1357486: Enable OOP extensions by default on Windows. r=aswan
MozReview-Commit-ID: 3Tet7tNtmGx
2017-07-06 21:13:40 -07:00
Kris Maglione
74e871a71b Bug 1357486: Part 0g - Run remote debugger host browser in same TabGroup as extension pages. r=me
MozReview-Commit-ID: BPqf0X1hwV6
2017-07-08 15:56:10 -07:00
Kris Maglione
26bd381c3a Bug 1357490: Follow-up - Wait for previous shutdown to complete before beginning startup. r=me
MozReview-Commit-ID: JOYwlFT0CIA
2017-07-08 16:26:28 -07:00
Kris Maglione
237ad0f819 Bug 1357490: Part 1: Run toolkit xpcshell tests in both in-process and OOP modes. r=aswan
MozReview-Commit-ID: 7YYO8ldupn3
2017-07-07 18:54:37 -07:00
Sebastian Hengst
ad3b019cbe Backed out changeset 4ea831e6e7d1 (bug 1357490) for frequently failing toolkit/components/extensions/test/xpcshell/test_ext_privacy_update.js on Linux x64 asan. r=backout 2017-07-08 11:31:57 +02:00
Sebastian Hengst
0e23d27727 Backed out changeset 7124641a168f (bug 1357486) 2017-07-08 11:23:24 +02:00
Kris Maglione
8f13d414d9 Bug 1357486: Enable OOP extensions by default on Windows. r=aswan
MozReview-Commit-ID: 3Tet7tNtmGx
2017-07-06 21:13:40 -07:00
Kris Maglione
9e7fbca945 Bug 1357490: Part 1: Run toolkit xpcshell tests in both in-process and OOP modes. r=aswan
MozReview-Commit-ID: 7YYO8ldupn3
2017-07-07 18:54:37 -07:00
Carsten "Tomcat" Book
ffc8a8c6f9 Backed out changeset 663351357fa7 (bug 1357490) for test failures in test_ext_startup_cache.js 2017-07-07 10:44:09 +02:00
Carsten "Tomcat" Book
932a69d5a0 Backed out changeset bbbf9be259bf (bug 1357490) 2017-07-07 10:43:52 +02:00
Carsten "Tomcat" Book
09ea18efa1 Merge mozilla-central to mozilla-inbound 2017-07-07 10:39:02 +02:00
Shane Caraveo
0d1befea59 Bug 1271354 support moz-extension in webrequests, r=kmag
MozReview-Commit-ID: AFP68jIdHHo
2017-07-06 13:08:31 -07:00
Kris Maglione
f8790773c8 Bug 1357490: Follow-up: Fix rebase botch. r=me
MozReview-Commit-ID: Klow3Ek890o
2017-07-06 23:00:24 -07:00
Kris Maglione
19569cce66 Bug 1357490: Part 1: Run toolkit xpcshell tests in both in-process and OOP modes. r=aswan
MozReview-Commit-ID: 7YYO8ldupn3
2017-07-06 21:39:35 -07:00
Luca Greco
d9ea231b00 Bug 1331618 - allow persistent indexedDB on unlimitedStorage permission. r=aswan
MozReview-Commit-ID: 6VYqywMgSoU
2017-06-16 18:26:50 +02:00
Kris Maglione
b7eb605eeb Bug 1374457: Key cached manifest and locale data by add-on version. r=rhelmer
MozReview-Commit-ID: 7NdS0Etmhot
2017-06-19 15:14:08 -07:00
Andrew Swan
b3bfde2939 Bug 1370437 Really make webextension experiments run on release r=kmag
Remove a RELEASE_OR_BETA check that was overlooked during
bug 1366827.

MozReview-Commit-ID: 2boEYsJDtUx
2017-06-09 10:14:41 -07:00
Mark Banner
9916415caf Bug 1371292 - Clean up more ESLint global definitions in configuration files in toolkit/ and browser/. r=mossop
MozReview-Commit-ID: 5KC23kzaCFN
2017-06-08 10:59:12 +01:00
Kris Maglione
db3ec327d2 Bug 1368189: Move more code out of ExtensionUtils.jsm. r=mixedpuppy
Also removes some dead code.

A lot of the code in ExtensionUtils.jsm is not needed in all processes, and a
lot of the rest isn't needed until extension code runs. Most of it winds up
being loaded into all processes way earlier than necessary.

MozReview-Commit-ID: CMRjCPOjRF2
2017-05-26 15:44:41 -07:00
Kris Maglione
972b1073af Bug 1368152: Part 4 - Remove ExtensionManagement.jsm. r=aswan
MozReview-Commit-ID: Apbi1QYeb2x
2017-06-03 17:18:18 -07:00
Kris Maglione
88befd774d Bug 1368152: Part 3 - Remove ExtensionManagement.getURLForExtension. r=aswan
MozReview-Commit-ID: 4KalPWYQeks
2017-06-03 22:29:27 -07:00
Kris Maglione
89d83c0e1c Bug 1368152: Part 2 - Move extension policy registration out of ExtensionManagement.jsm. r=aswan,mixedpuppy
MozReview-Commit-ID: Ls1ZvJLcjlR
2017-05-26 12:04:18 -07:00
Kris Maglione
f9ee4dc5f2 Bug 1368102: Part 7 - Remove ScriptMatcher and use WebExtensionConentScript directly. r=mixedpuppy
MozReview-Commit-ID: 5upkXMiivBn
2017-06-04 13:29:03 -07:00
Kris Maglione
e5aca6859e Bug 1322235: Part 6 - Replace AddonPolicyService with a stub implementation in ExtensionPolicyService. r=mixedpuppy,zombie
This replaces the JS policy service stubs with a pure C++ version which
directly makes policy decisions based on active WebExtensionPolicy objects.

This is the first step in a larger refactoring, which will remove the
ExtensionManagement module entirely, and replace the current add-on policy
service with direct, non-virtual access to native WebExtensionPolicy objects.

It will also be followed by related changes to migrate the content script and
extension page matching to native code, based on the existing MatchPattern and
WebExtensionPolicy bindings.

MozReview-Commit-ID: 2MpbmXZGiPZ
2017-06-03 17:12:14 -07:00
Kris Maglione
4f623b6890 Bug 1322235: Part 3 - Use MatchPatternSet for whiteListedHosts and webRequest. r=aswan,zombie
This is the second step to migrating the policy service to pure native code,
with similar impacts and reasoning to the previous patch.

MozReview-Commit-ID: L5XdPzWNZXM
2017-06-03 22:11:20 -07:00
Kris Maglione
40575e9449 Bug 1322235: Part 2 - Use MatchGlob for webAccessibleResources. r=aswan
This is the first step toward migrating the web-accessible URL policy to
purely native code. It should have a noticeable performance improvement on its
own, but the main improvement comes from being able to pass the pattern
objects to the pure C++ policy service.

MozReview-Commit-ID: DHoGLVr8yJ9
2017-05-23 22:04:22 -07:00
Ryan VanderMeulen
583179f7a9 Merge inbound to m-c. a=merge 2017-05-30 20:36:44 -04:00
Andrea Marchesini
2dd575f7e6 Bug 1364895 - Expose contextualIdentities to webExtensions also if privacy.userContext.enabled is set to false, r=aswan 2017-05-30 21:10:14 +02:00
Ryan VanderMeulen
8624c7df43 Backed out 4 changesets (bug 1357490) for causing frequent xpcshell timeouts.
Backed out changeset 916250167bc8
Backed out changeset c2a286511a6c
Backed out changeset 9cc319bef82d
Backed out changeset 29443725aebb
2017-05-30 12:36:43 -04:00