Commit Graph

539777 Commits

Author SHA1 Message Date
Kris Maglione
0cd3e0a862 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

--HG--
extra : rebase_source : 37718eaf05a22b8ccb95f633cf7454bd7975cdce
2017-05-26 15:44:41 -07:00
Ryan VanderMeulen
8b9f10e8a7 Bug 1370122 - Update pdf.js to version 1.8.423. r=bdahl
--HG--
extra : rebase_source : 8fc5c4bb26e180872f6bba88c7a2ed7be7eccdb2
2017-06-04 21:38:45 -04:00
Ehsan Akhgari
3abec0f53d Bug 1370100 - Make browser_dead_object.js correctly wait for the window to be destroyed instead of relying on the scheduling of the corresponding event; r=kmag 2017-06-04 21:42:09 -04:00
André Bargull
e9c1009c08 Bug 1357330 - Add test case. r=shu 2017-04-19 05:42:25 -07:00
André Bargull
965d9eff0e Bug 1357330. r=shu 2017-04-18 07:07:13 -07:00
Tobias Schneider
a55bd0e5fc Bug 1369870 - Float to int cast in nsLayoutUtils::TransformRect is losing precision. r=mstange 2017-06-02 13:36:13 -07:00
Andy McKay
bab1d02fc9 Bug 1326230 - Add a warning for temporary ids in about:debugging. r=mstriemer
MozReview-Commit-ID: 2Ui2kfB8UPe

--HG--
extra : transplant_source : %DC%B9%EC%10%94%96%C7%9E%ECa%0D%BA%9E%3D%3C%94Q%5E%19%15
2017-06-02 14:15:08 -07:00
Kris Maglione
06c9dfdd54 Bug 1368152: Part 4 - Remove ExtensionManagement.jsm. r=aswan
MozReview-Commit-ID: Apbi1QYeb2x

--HG--
extra : rebase_source : 56e223e8ee92c848bbd06d74b1e7dc6d9a01d9e1
2017-06-03 17:18:18 -07:00
Kris Maglione
bfc7032cb4 Bug 1368152: Part 3 - Remove ExtensionManagement.getURLForExtension. r=aswan
MozReview-Commit-ID: 4KalPWYQeks

--HG--
extra : rebase_source : fed07c753b1bd0f44d85d7bdfceab7d4296aa9df
2017-06-03 22:29:27 -07:00
Kris Maglione
1b8cb649a8 Bug 1368152: Part 2 - Move extension policy registration out of ExtensionManagement.jsm. r=aswan,mixedpuppy
MozReview-Commit-ID: Ls1ZvJLcjlR

--HG--
extra : rebase_source : e68747a2686f06848800d4fe29aa828583cf6dc1
2017-05-26 12:04:18 -07:00
Kris Maglione
ea7ac960ed Bug 1368152: Part 1 - Move API extension registration to ExtensionAPI.jsm. r=aswan
MozReview-Commit-ID: 3kCXYXVxLRS

--HG--
extra : rebase_source : f63f1ea7de199a77167c90f9c8f6d724d10598b3
2017-05-26 12:12:13 -07:00
Kris Maglione
1bc28104c6 Bug 1368102: Part 8 - Move extension page matching into C++. r=billm,mixedpuppy
Bill, can you please review the WebIDL change, and Shane the rest?

MozReview-Commit-ID: 6N3sGrAsHzs

--HG--
extra : rebase_source : adb925ec3dc2a350fc6f9d6cde7a3607f6877384
2017-05-26 12:07:06 -07:00
Kris Maglione
2f16ad43cb Bug 1368102: Part 7 - Remove ScriptMatcher and use WebExtensionConentScript directly. r=mixedpuppy
MozReview-Commit-ID: 5upkXMiivBn

--HG--
extra : rebase_source : 9d16872a69576bbc364866dfd24d1ad6dc755d3e
2017-06-04 13:29:03 -07:00
Kris Maglione
c908bc3b61 Bug 1368102: Part 6 - Remove StubExtension and use WebExtensionPolicy directly. r=mixedpuppy
MozReview-Commit-ID: 9rvdPamZrF

--HG--
extra : rebase_source : c4b00ed5f6f0e32b41ddd5d491c815e45fdfa923
2017-05-25 21:57:48 -07:00
Kris Maglione
bc5050f651 Bug 1368102: Part 5 - Move static content script matching into C++. r=mixedpuppy,zombie
MozReview-Commit-ID: Co04MoscqMx

--HG--
extra : rebase_source : 4a9b4c3146f99b4fd7eb8724224e954a5b3967f2
2017-06-04 15:38:11 -07:00
Kris Maglione
884bb014cb Bug 1368102: Part 4 - Use WebExtensionContentScript to match content scripts. r=mixedpuppy,zombie
MozReview-Commit-ID: 1Ga0259WjC

--HG--
extra : rebase_source : 2768c37e1ed594d293d892c0fb8f9b346508a41d
2017-06-03 17:11:08 -07:00
Kris Maglione
cc9c553d7c Bug 1368102: Part 3 - Use MatchPattern and MatchGlob bindings for content script matching. r=mixedpuppy
MozReview-Commit-ID: AvNCU77I2Je

--HG--
extra : rebase_source : d82523d4a06e4cf07fb7858bace6fe6f5a1660a4
2017-05-25 15:42:18 -07:00
Kris Maglione
02c1b0890c Bug 1368102: Part 2 - Add WebExtensionContentScript bindings. r=billm,mixedpuppy
Bill, can you please review the binding code? Shane and zombie, can you please
review the content script matching?

MozReview-Commit-ID: IJB5s0a7r7S

--HG--
extra : rebase_source : 4026105b8c04e6b88c9be8cf76898fca26f1c3e0
2017-06-03 22:03:19 -07:00
Kris Maglione
a2f509792d Bug 1368102: Part 1 - Make AddonManagerWebAPI::IsValidSite public. r=aswan
MozReview-Commit-ID: JNNyfY8eabB

--HG--
extra : rebase_source : bc49ee18d158a41f6102684e24305c15ee237c58
2017-05-23 12:35:35 -07:00
Kris Maglione
6d24c4b91a Bug 1322235: Part 7 - DeCOMtaminate moz-extension protocol handler. r=billm
This removes unnecessary COM overhead from the extension protocol service,
particularly from the flag lookup code, which is called often, and from hot
paths. The devirtualized lookups should have virtually no overhead for
extensions without web-accessible resources, and very little overhead except
when resources are specified as non-prefix globs.

MozReview-Commit-ID: 4hQ7GuQSjvW

--HG--
extra : rebase_source : 61897a204abd915ad61852fa475cde2de51753f3
2017-05-23 14:40:38 -07:00
Kris Maglione
e51750a9c4 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

--HG--
extra : rebase_source : 8b268618164b45605143e858665e592de829a6fa
2017-06-03 17:12:14 -07:00
Kris Maglione
414584f497 Bug 1322235: Part 5 - Add an ExtensionPolicyService singleton class to track active extension policies. r=billm,mixedpuppy
Bill, can you please review the binding changes? Shane, can you please review
the policy service?

This is the first step to making extension policy data directly available to
C++ code without any COM overhead. It tracks the set of currently active
extensions, and how they map to add-on IDs and URIs.

MozReview-Commit-ID: 9Z61AXFll3P

--HG--
extra : rebase_source : c38898905a63ab8d0a424bfda7c61ea6c645ff32
2017-05-23 19:15:10 -07:00
Kris Maglione
d9d83b9f73 Bug 1322235: Part 4 - Add initial native WebExtensionPolicy bindings. r=billm,aswan
Bill, can you please review the binding code and the general sanity of the
platform code? Andrew and zombie, can you please review the policy logic and
tests?

As in part 1, this aims to reduce the overhead of our extension policy logic
by making it directly available to native code with as little JS and XPConnect
overhead as possible.

MozReview-Commit-ID: 40m1wSEYtBo

--HG--
extra : rebase_source : c03834791707f78431440af9b88035ab03dc9564
2017-05-24 15:58:19 -07:00
Kris Maglione
87f57f76b7 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

--HG--
extra : rebase_source : dda006a0afb9d56e2738dbc0b0d94ba0496db5c9
2017-06-03 22:11:20 -07:00
Kris Maglione
f8ce655563 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

--HG--
extra : rebase_source : 6f696bdea062bfd20fce33fe4e07b53a85b6e5d1
2017-05-23 22:04:22 -07:00
Kris Maglione
186924219b Bug 1322235: Part 1 - Add native MatchPattern and MatchGlob bindings. r=billm,aswan
Bill, can you please review the binding code, and the general sanity of the
platform code. Andrew and zombie, can you please matching algorithms and
tests.

Change summary:

The existing JavaScript matching code works well overall, but it needs to be
called a lot, particularly from hot code paths. In most cases, the overhead of
the matching code on its own adds up enough to cause a problem. When we have
to call out to JavaScript via XPConnect to make a policy decision, it adds up
even more.

These classes solve both of these problems by a) being very fast, and b) being
accessible directly from C++. They are particularly optimized for the common
cases where only literal or prefix matches are required, and they take special
steps to avoid virtual calls wherever possible, and caching computed URL
values so that they can be reused across many match operations without
additional overhead.

MozReview-Commit-ID: BZzPZDQRnl

--HG--
rename : toolkit/modules/tests/xpcshell/test_MatchPattern.js => toolkit/components/extensions/test/xpcshell/test_MatchPattern.js
extra : rebase_source : c93c4c6c36460eb5ad0fc3aa86ad42a72e76bb6c
2017-05-24 14:57:29 -07:00
Nicholas Nethercote
2b5f064d4e Bug 1369276 (part 2) - Convert ProfileEntry::Flags to Kind. r=shu.
There are three flags in ProfileEntry::Flags, which suggests there are 2**3 = 8
combinations. But there are only actually 4 valid combinations.

This patch converts the three flags to a single "kind" enum, which makes things
clearer. Note also that the patch moves the condition at the start of
AddPseudoEntry() to its callsite, for consistency with the earlier JS_OSR entry
kind check.

--HG--
extra : rebase_source : 0950769ee1530291860ef3be47d240df5939e871
2017-06-02 12:46:09 +10:00
Nicholas Nethercote
7d540d96fd Bug 1369276 (part 1) - Fix category handling in AddPseudoEntry. r=shu.
The category handling code at the end of AddPseudoEntry has two problems.

- The assertion checks |category| for the IS_CPP_ENTRY flag. This represents a
  confusion between the entry's |category| and its |flags|. They're both stored
  in a single uint32_t, but are conceptually different types. So the assertion
  is vacuously satisfied.

  Furthermore, there's no clear way to fix the assertion -- it doesn't make
  sense to check the entry's flags for IS_CPP_ENTRY, because this code can
  clearly take C++ or JS entries. So the patch just removes the assertion.

- The category is compared to zero. This also doesn't make sense, because zero
  isn't a valid category. The patch removes this comparison.

--HG--
extra : rebase_source : 16a7248ffb90ccd90e6102d597fb5bdff706312e
2017-05-31 15:03:55 +10:00
Ehsan Akhgari
30d7c12e39 Bug 1370102 - Make browser_console_dead_objects.js correctly wait for the window to be destroyed instead of relying on the scheduling of the corresponding event; r=kmag 2017-06-04 19:33:53 -04:00
Ehsan Akhgari
bcf998a848 Bug 1370101 - Make test_windowProxyDeadWrapper.html correctly wait for the window to be destroyed instead of relying on the scheduling of the corresponding event; r=kmag 2017-06-04 19:33:16 -04:00
Sebastian Hengst
c228c964b6 merge mozilla-central to mozilla-inbound. r=merge a=merge 2017-06-04 20:11:31 +02:00
Sebastian Hengst
4607d210e9 merge mozilla-inbound to mozilla-central. r=merge a=merge
MozReview-Commit-ID: 8W8H7Bg9Tq6
2017-06-04 20:09:18 +02:00
Sebastian Hengst
e10de53cb2 merge autoland to mozilla-central. r=merge a=merge
MozReview-Commit-ID: HcM5jRYwTVm
2017-06-04 20:07:23 +02:00
ffxbld
507743376d No bug, Automated HPKP preload list update from host bld-linux64-spot-301 - a=hpkp-update 2017-06-04 08:18:02 -07:00
ffxbld
a38378d203 No bug, Automated HSTS preload list update from host bld-linux64-spot-301 - a=hsts-update 2017-06-04 08:17:59 -07:00
Morris Tseng
c21547a6e4 Bug 1369141 - Add dirty rect intersection checks so that we don't build unnecessary table part display items. r=mstange
MozReview-Commit-ID: DoPptE60BD4
2017-06-04 14:42:11 +08:00
Micah Tigley
42809d4c3a Bug 1369585 - Explicitly identify the row and columns in cell infobar. r=gl
MozReview-Commit-ID: F4oKtM3IEbg
2017-06-03 22:24:24 -06:00
Mats Palmgren
590f2d8c48 Bug 1367209 part 4 - Use LookupForAdd to avoid an additional hashtable lookup when inserting a new entry. r=jfkthame
MozReview-Commit-ID: u24jLUvoCJ
2017-06-04 16:45:15 +02:00
Mats Palmgren
3717a95c70 Bug 1367209 part 3 - Add a generic frame state bit, NS_FRAME_HAS_CSS_COUNTERS, to indicate that a frame maybe has some counter styles and thus be known by nsCounterManager. r=jfkthame
If a frame doesn't have that bit then skip mCounterManager.DestroyNodesFor()
when the frame is destroyed because it's definitely not known by
the CounterManager.

MozReview-Commit-ID: Ky3575QvZME
2017-06-04 16:45:15 +02:00
Mats Palmgren
142367f96c Bug 1367209 part 2 - Remove a useless constructor. r=jfkthame
MozReview-Commit-ID: 9GVI3kSJiuJ
2017-06-04 16:45:15 +02:00
Mats Palmgren
7c81f55ccf Bug 1367209 part 1 - Fix some indentation and code style issues. r=jfkthame
MozReview-Commit-ID: GrmWUb0XvBL
2017-06-04 16:45:15 +02:00
Mats Palmgren
c811bece89 Bug 1370037 - Remove an unnecessary friend declaration in FrameProperties. r=jfkthame
MozReview-Commit-ID: F6OfF8GsPhS
2017-06-04 16:45:15 +02:00
Eitan Isaacson
6c98e296e9 Bug 1368182 - Port non-e10s compatible parts of states/test_visibility.html to browser test. r=surkov 2017-06-03 20:15:02 -07:00
Eitan Isaacson
b5e156f5c2 Bug 1368103 - Use DOM doc visibilityState to determine if a tab is hidden. r=surkov 2017-06-03 20:15:01 -07:00
Sebastian Hengst
92499bc6cf merge mozilla-central to mozilla-inbound. r=merge a=merge 2017-06-03 20:18:26 +02:00
Sebastian Hengst
5e4755df68 merge mozilla-inbound to mozilla-central. r=merge a=merge
MozReview-Commit-ID: IdRgoZ9hiXq
2017-06-03 20:15:27 +02:00
Sebastian Hengst
2a8940299d merge autoland to mozilla-central. r=merge a=merge
MozReview-Commit-ID: LKdCEt8LelR
2017-06-03 20:12:42 +02:00
Mats Palmgren
d53b7949ed Bug 1367206 - Iterate the frame property list once to collect which child list properties we have. r=jfkthame
MozReview-Commit-ID: BHZTjYP4pJp
2017-06-03 19:25:56 +02:00
Ehsan Akhgari
05ae8d5bcc Backout bug 1368567 for test failures 2017-06-03 13:01:06 -04:00
Ehsan Akhgari
a621e63109 Bug 1368275 - Make test_nukeContentWindow.html correctly wait for the window to be destroyed instead of relying on the scheduling of the corresponding event; r=kmag 2017-06-03 12:20:27 -04:00