Commit Graph

372 Commits

Author SHA1 Message Date
Andrew Swan
726384a9e2 Bug 1408179 Fix manifestCacheKey for langpacks r=gandalf
MozReview-Commit-ID: Et0EyyTAi8x
2017-10-12 15:27:40 -07:00
Aastha Gupta
2dac70e25c Bug 1346722 - Display permissions in alphabetical order. r=aswan
-Create a copy of the permissions array and sort it.
-Change permissions order in test
2017-10-06 21:58:13 +05:30
Andrew Swan
823b49bf3e Bug 1405264 Part 2: Use startupData for new langpacks r=gandalf,kmag
Webextension-formatted langpacks now store their list of chrome
registry resources in startupData so that those resources can be
registered early in startup.

MozReview-Commit-ID: 80eOiPKLlWu
2017-10-04 13:29:20 -07:00
Ian Moody
97ee9868ec Bug 1331769 - Properly check whether new origin permissions are a subset of old origin permissions. r=aswan
This prevents prompts occuring in cases where the new permissions are more
specific but still covered by the old permissions.
e.g.:
["<all_urls>"] -> ["<all_urls>", "*://*.example.com"]
["*://*.example.com"] -> ["http://subdomain.example.com"]

MozReview-Commit-ID: B685pJ6kTNa
2017-09-21 17:03:15 +01:00
Shane Caraveo
5592e73c3a Bug 1393150 prevent remote extensions when e10s is off, r=bz,kmag
MozReview-Commit-ID: HjLLa9vx2UW
2017-09-14 15:12:45 -07:00
Andy McKay
e7e3246c12 Bug 1350277 - Remove duplicates when showing host permissons. r=aswan
MozReview-Commit-ID: 2GzUwFHuEe6
2017-09-13 13:41:21 -07:00
Kris Maglione
965b45b58c Bug 1399646: Part 4 - Increase the extension shutdown blocker timeout. r=mixedpuppy
The current timeout was added to deal with some shutdown deadlocks that were
happining in the wild, but were hard to reproduce locally and therefore
diagnose. It's not clear whether the bulk of those have been fixed, so I'm
reluctant to remove the timeout entirely.

But the current 1s timeout is quite short, and doesn't allow for proper
cleanup in a lot of legitimate cases. The async shutdown service starts to
emit warnings at 10s, so 8s gives us enough time to avoid at least that.

MozReview-Commit-ID: 94zZjYUY8qZ
2017-09-13 08:58:37 -07:00
Andrew Swan
96f028a451 Bug 1398327 Part 1: Skip permission dialog access keys on Android r=zombie
MozReview-Commit-ID: 1rbludpEmdm
2017-09-11 14:25:23 -07:00
Sebastian Hengst
3da80f316b merge mozilla-inbound to mozilla-central. r=merge a=merge
MozReview-Commit-ID: CmMBcpJapLy
2017-09-12 11:35:15 +02:00
Tomislav Jovanovic
c2d83ea2fd Bug 1394553 - Part 1: Implement "devtools" permission r=aswan
MozReview-Commit-ID: 89XUmZUhC65
2017-09-04 21:49:40 +02:00
Kris Maglione
19017b8170 Bug 1398630: Part 7 - Random cleanup. r=zombie
MozReview-Commit-ID: LibtXDKXrnA
2017-09-10 15:37:08 -07:00
Kris Maglione
c84df3a7c7 Bug 1398630: Part 6 - Avoid some avoidable uses of nsIURI. r=zombie
MozReview-Commit-ID: 18Wd3buFM38
2017-09-10 15:36:57 -07:00
Sebastian Hengst
47acb6c4ba merge mozilla-central to autoland. r=merge a=merge 2017-09-08 11:03:59 +02:00
Rob Wu
f732e5126f Bug 1388266 - Ignore error about non-existing _locale and localization directory r=kmag
MozReview-Commit-ID: 8wEBUG7bjJD
2017-09-07 17:55:28 +02:00
Wes Kocher
57e49bbcf6 Backed out 2 changesets (bug 1379833) for android lint failures a=backout
Backed out changeset 8bbf531110dd (bug 1379833)
Backed out changeset c06bc2f7acd3 (bug 1379833)

MozReview-Commit-ID: 5iCJ3qsMC1Q
2017-09-07 16:25:50 -07:00
Andrew Swan
07298fe232 Bug 1379833 Part 1: Move common code to format permission dialog strings to Extension.jsm r=zombie
MozReview-Commit-ID: LvyEy7x9TJg
2017-08-02 13:15:30 -07:00
Zibi Braniecki
6766207f58 Bug 1365709 - Fix linter bustage. r=kmag
MozReview-Commit-ID: 1pDWdDxOi19
2017-09-04 16:32:23 -07:00
Zibi Braniecki
b0585c3382 Bug 1365709 - Consume new webextension based language packs. r=kmag
MozReview-Commit-ID: DeJlq8MWpfs
2017-08-28 10:48:00 -07:00
Kris Maglione
e60f7a1d33 Bug 1389840: Part 2 - Store last optional permissions state in the startup cache. r=aswan
MozReview-Commit-ID: 95krDpu1JZr
2017-08-12 14:42:44 -07:00
Kris Maglione
d3d0a0694d Bug 1391158: Optimize checkLoadURL for the common case of extension URLs. r=mixedpuppy
MozReview-Commit-ID: KGFFcHxQSvZ
2017-08-16 23:03:15 -07:00
Kris Maglione
5c09fbeae1 Bug 1356334: Part 4 - Add a helper to synchronously get an extension's name from its ID. r=billm
MozReview-Commit-ID: 8nuvM4PR7XR
2017-08-11 21:22:18 -07:00
Ryan VanderMeulen
0980b8abd2 Backed out 8 changesets (bug 1356334) for frequent test_ext_contentscript_async_loading.html failures on Android debug on a CLOSED TREE.
Backed out changeset 9c677ebfdda0 (bug 1356334)
Backed out changeset 16b49fd1c38a (bug 1356334)
Backed out changeset 4f5bcd2b2dc6 (bug 1356334)
Backed out changeset d832803270ac (bug 1356334)
Backed out changeset b83aea215a82 (bug 1356334)
Backed out changeset b2a663ffd144 (bug 1356334)
Backed out changeset 805c56806930 (bug 1356334)
Backed out changeset 7c880eca810a (bug 1356334)
2017-08-18 11:32:18 -04:00
Kris Maglione
353590b9a8 Bug 1356334: Part 4 - Add a helper to synchronously get an extension's name from its ID. r=billm
MozReview-Commit-ID: 8nuvM4PR7XR
2017-08-11 21:22:18 -07:00
Kris Maglione
632e052bb1 Bug 1389861: Remove needless overhead from same-process policy initialization. r=zombie
MozReview-Commit-ID: 3E7hnNnk46D
2017-08-12 17:21:27 -07:00
Kris Maglione
c1c0aa478f Bug 1389854: Don't define lazy getter for uninstall preferences. r=aswan
These getters are checked very rarely, and not at all in most sessions. They
don't justify the overhead of adding lazy getters at startup.

MozReview-Commit-ID: 9XVlLapNJCE
2017-08-12 16:21:17 -07:00
Kris Maglione
22cd79e4d0 Bug 1389849: Remove ext-geolocation.js. r=mixedpuppy
MozReview-Commit-ID: BJTAIsxVlKL
2017-08-12 15:48:02 -07:00
Kris Maglione
6815f61ac2 Bug 1389840: Part 1 - Store more computed manifest data in startup cache. r=aswan
MozReview-Commit-ID: 3qprhdfvTVs
2017-08-12 14:51:08 -07:00
Kris Maglione
15c01aabb8 Bug 1388211: Fold ExtensionAPI.jsm into ExtensionCommon.jsm. r=mixedpuppy
We always load one when we load the other, so there's no need for the overhead
of a separate JSM.

MozReview-Commit-ID: 8u4OhJJEN3b
2017-08-07 17:58:14 -07:00
Kris Maglione
0fb6b2e73c Bug 1388215: Part 3 - Use JIT-friendly defineLazy*Getters methods when defining many lazy imports. r=florian
MozReview-Commit-ID: APoFwUhDFdj
2017-08-09 13:03:36 -07:00
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
Andrew Swan
14000eeae3 Bug 1379833 Part 1: Move common code to format permission dialog strings to Extension.jsm
MozReview-Commit-ID: LvyEy7x9TJg
2017-08-02 13:15:30 -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