Commit Graph

62921 Commits

Author SHA1 Message Date
Sebastian Hengst
405622e7b5 Bug 1440938 - Fall back to cairo's glyph metrics API if FreeType fails in some way, or if we're not using a variation font: Add back annotations for failing Android reftests. r=test-fix CLOSED TREE
--HG--
extra : amend_source : 31148a09ffdc5ba2dac05877d821991155ff59a7
2018-03-01 21:41:25 +02:00
Sebastian Hengst
118e03a936 merge mozilla-central to mozilla-inbound 2018-03-01 20:32:20 +02:00
Tiberius Oros
61d400da1c Merge inbound to mozilla-central. a=merge 2018-03-01 19:29:00 +02:00
Narcis Beleuzu
d970361c95 Backed out 2 changesets (bug 1436113) for bc failures on browser_about_studies.js
Backed out changeset 8ccf1c3f156f (bug 1436113)
Backed out changeset 18a7f08a6cdc (bug 1436113)

--HG--
rename : toolkit/components/normandy/content/AboutPages.jsm => browser/extensions/shield-recipe-client/content/AboutPages.jsm
rename : toolkit/components/normandy/content/about-studies/about-studies.css => browser/extensions/shield-recipe-client/content/about-studies/about-studies.css
rename : toolkit/components/normandy/content/about-studies/about-studies.html => browser/extensions/shield-recipe-client/content/about-studies/about-studies.html
rename : toolkit/components/normandy/content/about-studies/about-studies.js => browser/extensions/shield-recipe-client/content/about-studies/about-studies.js
rename : toolkit/components/normandy/content/about-studies/common.js => browser/extensions/shield-recipe-client/content/about-studies/common.js
rename : toolkit/components/normandy/content/about-studies/img/shield-logo.png => browser/extensions/shield-recipe-client/content/about-studies/img/shield-logo.png
rename : toolkit/components/normandy/content/about-studies/shield-studies.js => browser/extensions/shield-recipe-client/content/about-studies/shield-studies.js
rename : toolkit/components/normandy/content/shield-content-frame.js => browser/extensions/shield-recipe-client/content/shield-content-frame.js
rename : toolkit/components/normandy/content/shield-content-process.js => browser/extensions/shield-recipe-client/content/shield-content-process.js
rename : toolkit/components/normandy/docs/data-collection.rst => browser/extensions/shield-recipe-client/docs/data-collection.rst
rename : toolkit/components/normandy/docs/index.rst => browser/extensions/shield-recipe-client/docs/index.rst
rename : toolkit/components/normandy/jar.mn => browser/extensions/shield-recipe-client/jar.mn
rename : toolkit/components/normandy/lib/ActionSandboxManager.jsm => browser/extensions/shield-recipe-client/lib/ActionSandboxManager.jsm
rename : toolkit/components/normandy/lib/AddonStudies.jsm => browser/extensions/shield-recipe-client/lib/AddonStudies.jsm
rename : toolkit/components/normandy/lib/Addons.jsm => browser/extensions/shield-recipe-client/lib/Addons.jsm
rename : toolkit/components/normandy/lib/CleanupManager.jsm => browser/extensions/shield-recipe-client/lib/CleanupManager.jsm
rename : toolkit/components/normandy/lib/ClientEnvironment.jsm => browser/extensions/shield-recipe-client/lib/ClientEnvironment.jsm
rename : toolkit/components/normandy/lib/EventEmitter.jsm => browser/extensions/shield-recipe-client/lib/EventEmitter.jsm
rename : toolkit/components/normandy/lib/FilterExpressions.jsm => browser/extensions/shield-recipe-client/lib/FilterExpressions.jsm
rename : toolkit/components/normandy/lib/Heartbeat.jsm => browser/extensions/shield-recipe-client/lib/Heartbeat.jsm
rename : toolkit/components/normandy/lib/LogManager.jsm => browser/extensions/shield-recipe-client/lib/LogManager.jsm
rename : toolkit/components/normandy/lib/NormandyApi.jsm => browser/extensions/shield-recipe-client/lib/NormandyApi.jsm
rename : toolkit/components/normandy/lib/NormandyDriver.jsm => browser/extensions/shield-recipe-client/lib/NormandyDriver.jsm
rename : toolkit/components/normandy/lib/PreferenceExperiments.jsm => browser/extensions/shield-recipe-client/lib/PreferenceExperiments.jsm
rename : toolkit/components/normandy/lib/PreferenceFilters.jsm => browser/extensions/shield-recipe-client/lib/PreferenceFilters.jsm
rename : toolkit/components/normandy/lib/RecipeRunner.jsm => browser/extensions/shield-recipe-client/lib/RecipeRunner.jsm
rename : toolkit/components/normandy/lib/Sampling.jsm => browser/extensions/shield-recipe-client/lib/Sampling.jsm
rename : toolkit/components/normandy/lib/SandboxManager.jsm => browser/extensions/shield-recipe-client/lib/SandboxManager.jsm
rename : toolkit/components/normandy/lib/ShieldPreferences.jsm => browser/extensions/shield-recipe-client/lib/ShieldPreferences.jsm
rename : toolkit/components/normandy/lib/Storage.jsm => browser/extensions/shield-recipe-client/lib/Storage.jsm
rename : toolkit/components/normandy/lib/TelemetryEvents.jsm => browser/extensions/shield-recipe-client/lib/TelemetryEvents.jsm
rename : toolkit/components/normandy/lib/Uptake.jsm => browser/extensions/shield-recipe-client/lib/Uptake.jsm
rename : toolkit/components/normandy/lib/Utils.jsm => browser/extensions/shield-recipe-client/lib/Utils.jsm
rename : toolkit/components/normandy/moz.build => browser/extensions/shield-recipe-client/moz.build
rename : toolkit/components/normandy/skin/osx/Heartbeat.css => browser/extensions/shield-recipe-client/skin/osx/Heartbeat.css
rename : toolkit/components/normandy/skin/shared/Heartbeat.css => browser/extensions/shield-recipe-client/skin/shared/Heartbeat.css
rename : toolkit/components/normandy/skin/shared/heartbeat-icon.svg => browser/extensions/shield-recipe-client/skin/shared/heartbeat-icon.svg
rename : toolkit/components/normandy/skin/shared/heartbeat-star-lit.svg => browser/extensions/shield-recipe-client/skin/shared/heartbeat-star-lit.svg
rename : toolkit/components/normandy/skin/shared/heartbeat-star-off.svg => browser/extensions/shield-recipe-client/skin/shared/heartbeat-star-off.svg
rename : toolkit/components/normandy/test/.eslintrc.js => browser/extensions/shield-recipe-client/test/.eslintrc.js
rename : toolkit/components/normandy/test/browser/.eslintrc.js => browser/extensions/shield-recipe-client/test/browser/.eslintrc.js
rename : toolkit/components/normandy/test/browser/action_server.sjs => browser/extensions/shield-recipe-client/test/browser/action_server.sjs
rename : toolkit/components/normandy/test/browser/browser.ini => browser/extensions/shield-recipe-client/test/browser/browser.ini
rename : toolkit/components/normandy/test/browser/browser_ActionSandboxManager.js => browser/extensions/shield-recipe-client/test/browser/browser_ActionSandboxManager.js
rename : toolkit/components/normandy/test/browser/browser_AddonStudies.js => browser/extensions/shield-recipe-client/test/browser/browser_AddonStudies.js
rename : toolkit/components/normandy/test/browser/browser_Addons.js => browser/extensions/shield-recipe-client/test/browser/browser_Addons.js
rename : toolkit/components/normandy/test/browser/browser_CleanupManager.js => browser/extensions/shield-recipe-client/test/browser/browser_CleanupManager.js
rename : toolkit/components/normandy/test/browser/browser_ClientEnvironment.js => browser/extensions/shield-recipe-client/test/browser/browser_ClientEnvironment.js
rename : toolkit/components/normandy/test/browser/browser_EventEmitter.js => browser/extensions/shield-recipe-client/test/browser/browser_EventEmitter.js
rename : toolkit/components/normandy/test/browser/browser_FilterExpressions.js => browser/extensions/shield-recipe-client/test/browser/browser_FilterExpressions.js
rename : toolkit/components/normandy/test/browser/browser_Heartbeat.js => browser/extensions/shield-recipe-client/test/browser/browser_Heartbeat.js
rename : toolkit/components/normandy/test/browser/browser_LogManager.js => browser/extensions/shield-recipe-client/test/browser/browser_LogManager.js
rename : toolkit/components/normandy/test/browser/browser_NormandyDriver.js => browser/extensions/shield-recipe-client/test/browser/browser_NormandyDriver.js
rename : toolkit/components/normandy/test/browser/browser_PreferenceExperiments.js => browser/extensions/shield-recipe-client/test/browser/browser_PreferenceExperiments.js
rename : toolkit/components/normandy/test/browser/browser_RecipeRunner.js => browser/extensions/shield-recipe-client/test/browser/browser_RecipeRunner.js
rename : toolkit/components/normandy/test/browser/browser_ShieldPreferences.js => browser/extensions/shield-recipe-client/test/browser/browser_ShieldPreferences.js
rename : toolkit/components/normandy/test/browser/browser_Storage.js => browser/extensions/shield-recipe-client/test/browser/browser_Storage.js
rename : toolkit/components/normandy/test/browser/browser_about_preferences.js => browser/extensions/shield-recipe-client/test/browser/browser_about_preferences.js
rename : toolkit/components/normandy/test/browser/browser_about_studies.js => browser/extensions/shield-recipe-client/test/browser/browser_about_studies.js
rename : toolkit/components/normandy/test/browser/browser_Normandy.js => browser/extensions/shield-recipe-client/test/browser/browser_bootstrap.js
rename : toolkit/components/normandy/test/browser/fixtures/addon-fixture/manifest.json => browser/extensions/shield-recipe-client/test/browser/fixtures/addon-fixture/manifest.json
rename : toolkit/components/normandy/test/browser/fixtures/normandy.xpi => browser/extensions/shield-recipe-client/test/browser/fixtures/normandy.xpi
rename : toolkit/components/normandy/test/browser/head.js => browser/extensions/shield-recipe-client/test/browser/head.js
rename : toolkit/components/normandy/test/unit/.eslintrc.js => browser/extensions/shield-recipe-client/test/unit/.eslintrc.js
rename : toolkit/components/normandy/test/unit/echo_server.sjs => browser/extensions/shield-recipe-client/test/unit/echo_server.sjs
rename : toolkit/components/normandy/test/unit/head_xpc.js => browser/extensions/shield-recipe-client/test/unit/head_xpc.js
rename : toolkit/components/normandy/test/unit/invalid_recipe_signature_api/api/v1/index.json => browser/extensions/shield-recipe-client/test/unit/invalid_recipe_signature_api/api/v1/index.json
rename : toolkit/components/normandy/test/unit/invalid_recipe_signature_api/api/v1/recipe/signed/index.json => browser/extensions/shield-recipe-client/test/unit/invalid_recipe_signature_api/api/v1/recipe/signed/index.json
rename : toolkit/components/normandy/test/unit/invalid_recipe_signature_api/normandy.content-signature.mozilla.org-20210705.dev.chain => browser/extensions/shield-recipe-client/test/unit/invalid_recipe_signature_api/normandy.content-signature.mozilla.org-20210705.dev.chain
rename : toolkit/components/normandy/test/unit/mock_api/api/v1/action/console-log/implementation/sha384-RGx3rydrSq53UfmW9kFcK0mQYra67XIvZvr4MhmAe--ljiiMQOtgM7Cmca48um3v => browser/extensions/shield-recipe-client/test/unit/mock_api/api/v1/action/console-log/implementation/sha384-RGx3rydrSq53UfmW9kFcK0mQYra67XIvZvr4MhmAe--ljiiMQOtgM7Cmca48um3v
rename : toolkit/components/normandy/test/unit/mock_api/api/v1/action/console-log/index.json => browser/extensions/shield-recipe-client/test/unit/mock_api/api/v1/action/console-log/index.json
rename : toolkit/components/normandy/test/unit/mock_api/api/v1/action/index.json => browser/extensions/shield-recipe-client/test/unit/mock_api/api/v1/action/index.json
rename : toolkit/components/normandy/test/unit/mock_api/api/v1/action/opt-out-study/implementation/sha384-HM_avYcD00o27ufwU1V7PIBtiuMAXML6MMwlYrDEqDX-XzGVuOfL52RCM680JExN => browser/extensions/shield-recipe-client/test/unit/mock_api/api/v1/action/opt-out-study/implementation/sha384-HM_avYcD00o27ufwU1V7PIBtiuMAXML6MMwlYrDEqDX-XzGVuOfL52RCM680JExN
rename : toolkit/components/normandy/test/unit/mock_api/api/v1/action/opt-out-study/index.json => browser/extensions/shield-recipe-client/test/unit/mock_api/api/v1/action/opt-out-study/index.json
rename : toolkit/components/normandy/test/unit/mock_api/api/v1/action/preference-experiment/implementation/sha384-KQgG38GQ7KZAb2VIB48ANQO6nBcxZoLm2ORzUviRT5nAvSywyPjZ5cJIElw6iXIt => browser/extensions/shield-recipe-client/test/unit/mock_api/api/v1/action/preference-experiment/implementation/sha384-KQgG38GQ7KZAb2VIB48ANQO6nBcxZoLm2ORzUviRT5nAvSywyPjZ5cJIElw6iXIt
rename : toolkit/components/normandy/test/unit/mock_api/api/v1/action/preference-experiment/index.json => browser/extensions/shield-recipe-client/test/unit/mock_api/api/v1/action/preference-experiment/index.json
rename : toolkit/components/normandy/test/unit/mock_api/api/v1/action/show-heartbeat/implementation/sha384-dEGiyKPEln8Ns5cQHzGpMIGdirSAAX0X-Kwlu-U3sJ05yNbO-ANij_a6c5SyL7G4 => browser/extensions/shield-recipe-client/test/unit/mock_api/api/v1/action/show-heartbeat/implementation/sha384-dEGiyKPEln8Ns5cQHzGpMIGdirSAAX0X-Kwlu-U3sJ05yNbO-ANij_a6c5SyL7G4
rename : toolkit/components/normandy/test/unit/mock_api/api/v1/action/show-heartbeat/index.json => browser/extensions/shield-recipe-client/test/unit/mock_api/api/v1/action/show-heartbeat/index.json
rename : toolkit/components/normandy/test/unit/mock_api/api/v1/action/signed/index.json => browser/extensions/shield-recipe-client/test/unit/mock_api/api/v1/action/signed/index.json
rename : toolkit/components/normandy/test/unit/mock_api/api/v1/classify_client/index.json => browser/extensions/shield-recipe-client/test/unit/mock_api/api/v1/classify_client/index.json
rename : toolkit/components/normandy/test/unit/mock_api/api/v1/index.json => browser/extensions/shield-recipe-client/test/unit/mock_api/api/v1/index.json
rename : toolkit/components/normandy/test/unit/mock_api/api/v1/recipe/index.json => browser/extensions/shield-recipe-client/test/unit/mock_api/api/v1/recipe/index.json
rename : toolkit/components/normandy/test/unit/mock_api/api/v1/recipe/signed/index.json => browser/extensions/shield-recipe-client/test/unit/mock_api/api/v1/recipe/signed/index.json
rename : toolkit/components/normandy/test/unit/mock_api/normandy.content-signature.mozilla.org-20210705.dev.chain => browser/extensions/shield-recipe-client/test/unit/mock_api/normandy.content-signature.mozilla.org-20210705.dev.chain
rename : toolkit/components/normandy/test/unit/query_server.sjs => browser/extensions/shield-recipe-client/test/unit/query_server.sjs
rename : toolkit/components/normandy/test/unit/test_NormandyApi.js => browser/extensions/shield-recipe-client/test/unit/test_NormandyApi.js
rename : toolkit/components/normandy/test/unit/test_Sampling.js => browser/extensions/shield-recipe-client/test/unit/test_Sampling.js
rename : toolkit/components/normandy/test/unit/test_SandboxManager.js => browser/extensions/shield-recipe-client/test/unit/test_SandboxManager.js
rename : toolkit/components/normandy/test/unit/test_Utils.js => browser/extensions/shield-recipe-client/test/unit/test_Utils.js
rename : toolkit/components/normandy/test/unit/utils.js => browser/extensions/shield-recipe-client/test/unit/utils.js
rename : toolkit/components/normandy/test/unit/xpcshell.ini => browser/extensions/shield-recipe-client/test/unit/xpcshell.ini
rename : toolkit/components/normandy/vendor/LICENSE_THIRDPARTY => browser/extensions/shield-recipe-client/vendor/LICENSE_THIRDPARTY
rename : toolkit/components/normandy/vendor/PropTypes.js => browser/extensions/shield-recipe-client/vendor/PropTypes.js
rename : toolkit/components/normandy/vendor/React.js => browser/extensions/shield-recipe-client/vendor/React.js
rename : toolkit/components/normandy/vendor/ReactDOM.js => browser/extensions/shield-recipe-client/vendor/ReactDOM.js
rename : toolkit/components/normandy/vendor/classnames.js => browser/extensions/shield-recipe-client/vendor/classnames.js
rename : toolkit/components/normandy/vendor/mozjexl.js => browser/extensions/shield-recipe-client/vendor/mozjexl.js
2018-03-01 06:44:44 +02:00
Narcis Beleuzu
6be3b8b032 Backed out 7 changesets (bug 1440177) for crashtest (on 1359658-1.html) and reftest failures
Backed out changeset f359ad5c4fc3 (bug 1440177)
Backed out changeset d63c5a6c13ae (bug 1440177)
Backed out changeset d22462ac7ee1 (bug 1440177)
Backed out changeset b7e46c4c7dc1 (bug 1440177)
Backed out changeset f92987184172 (bug 1440177)
Backed out changeset e6808a7dda3e (bug 1440177)
Backed out changeset ce353b632a31 (bug 1440177)
2018-03-01 06:21:43 +02:00
Matt Woodrow
d67f293fa2 Bug 1440177 - Part 7: Don't allocate new clips when flattening nsDisplayOpacity. r=mstange
Combing the two clips as-is should always be correct, and since they're frequently identical, we can usually make IntersectClip a no-op.

MozReview-Commit-ID: AzqvbQJAytp

--HG--
extra : rebase_source : cc7e401af1dab029fa1519164c6a4e97eb8b70e9
2018-03-01 11:42:30 +13:00
Matt Woodrow
3eb2633a17 Bug 1440177 - Part 6: Don't dereference display items during AddPaintedDisplayItem for the LAYER_NONE case. r=jnicol
The display items are almost certainly gone from the cache at this point, so dereferencing them can take a while.
This moves the DisplayItemData lookup, and the IsReused/HasMergedFrames checks into the ProcessDisplayItems pass (where we already use the items), and then just uses the AssignedDisplayItem entry for everything.

MozReview-Commit-ID: 3NibNGSVsax

--HG--
extra : rebase_source : b5b4d82798404ad4c8d84ca33bfb30d4afa55fb6
2018-03-01 11:42:27 +13:00
Matt Woodrow
e7ccc78c95 Bug 1440177 - Part 5: Don't call GetDisplayItemDataForManager in AddPaintedDisplayItem since we already have it passed in as a parameter. r=jnicol
MozReview-Commit-ID: IJrH0MLLPdQ

--HG--
extra : rebase_source : b40c283853116ec733444907a2c6e1c52f88fce4
2018-02-19 12:37:01 +13:00
Matt Woodrow
5c70cbc067 Bug 1440177 - Part 4: Avoid expensive hashtable lookups in PaintedLayerDataTree when we're in an inactive layer and want all items in the same layer. r=mstange
MozReview-Commit-ID: CdbUJ2QuAeM

--HG--
extra : rebase_source : a63e3b82d88a058332768b2dd4fd4a77a810bd0b
2018-02-15 15:52:37 +13:00
Matt Woodrow
2ffbfd1497 Bug 1440177 - Part 3: Preallocate a small number of PaintedLayerData objects and only resize the mPaintedLayerDataStack once. r=jnicol
MozReview-Commit-ID: JnxY10oiffD

--HG--
extra : rebase_source : dd3fd2bcaa40ff8f59fd7fb21a635c819ad501fa
2018-02-15 14:45:35 +13:00
Matt Woodrow
1b8df48c0e Bug 1440177 - Part 2: Combine PaintedLayerItemsEntry and PaintedDisplayItemLayerUserData into a single struct. r=jnicol
These two structs store very similar state (including duplicating the mask layer common clip count), and the former uses an expensive hashtable for lookups.
This patch combines the two, and uses a vector of entries instead of the hashtable so we can do the cleanup pass.

MozReview-Commit-ID: 3gKbB3OBIDd

--HG--
extra : rebase_source : 9e4e2aeb632f98d26f0f229b8a4fab570674e02c
2018-02-13 15:56:43 +13:00
Matt Woodrow
a612c4ae94 Bug 1440177 - Part 1: Don't call GetLayerState from BuildContainerLayerFor as it recurses into child display items to find the answer. r=jnicol
MozReview-Commit-ID: 3A4OBC5L6Ps

--HG--
extra : rebase_source : 51f8b0a2dd25fbd503938c8f9742f13df609283e
2018-02-13 14:25:55 +13:00
Matt Woodrow
ac734805c4 Bug 1436510 - Don't attempt partial display list building within perspective as we need to build all children to get consistent indices. r=miko 2018-03-01 16:53:58 +13:00
Matt Woodrow
809bf8f61f Bug 1439809 - Change the display list merging algorithm to no longer require a hashtable of the old display list items. r=miko,mstange 2018-03-01 16:16:02 +13:00
Cosmin Sabou
6edc2e0f3b Merge mozilla-central to inbound. a=merge on a CLOSED TREE 2018-02-28 23:55:37 +02:00
Cosmin Sabou
a97105ec0d Merge inbound to mozilla-central. a=merge 2018-02-28 23:48:29 +02:00
Sebastian Hengst
1761ef65c7 merge mozilla-central to mozilla-inbound. CLOSED TREE 2018-02-28 20:19:28 +02:00
Florian Quèze
f3ee8dd20b Bug 1433175 - more aggressive scripted patch to replace remaining Components.classes, Components.interfaces, Components.utils and Components.results uses with Cc, Ci, Cu and Cr, r=Mossop. 2018-02-28 18:51:35 +01:00
Florian Quèze
c546946f86 Bug 1433175 - remove by hands some variations of Cc,Ci,Cu definitions, r=Standard8. 2018-02-28 18:51:34 +01:00
Florian Quèze
6df7549a3e Bug 1433175 - semi-automated indent fix, r=Mossop. 2018-02-28 18:51:34 +01:00
Florian Quèze
c714053d73 Bug 1433175 - scripted patch to replace Components.classes[, Components.interfaces.nsI, Components.utils. and Components.results. with Cc, Ci, Cu and Cr, r=Mossop. 2018-02-28 18:51:33 +01:00
Sebastian Hengst
1ded4e973b merge mozilla-central to mozilla-inbound 2018-02-28 12:58:05 +02:00
Sebastian Hengst
769222fadf merge mozilla-inbound to mozilla-central. a=merge
--HG--
rename : browser/base/content/tabbrowser.xml => browser/base/content/tabbrowser.js
2018-02-28 12:54:12 +02:00
Bobby Holley
1c48af9d6d Bug 1438974 - Dispatch to the appropriate event target. r=smaug
MozReview-Commit-ID: 6mCk1PjStND
2018-02-28 10:43:13 -08:00
Bobby Holley
8eda59462e Bug 1438974 - Make Servo stylesheet parsing completion async by default. r=bz
MozReview-Commit-ID: GXLT5NakIop
2018-02-28 10:43:13 -08:00
Bobby Holley
a584615963 Bug 1438974 - Separate synchronous stylesheet parsing into a separate path. r=bz
This will allow us to make the regular path fully asynchronous.

MozReview-Commit-ID: 6ZurtiNQPZK
2018-02-28 10:43:12 -08:00
Bobby Holley
c6410300f5 Bug 1438974 - Shuffle some stuff around in ServoStyleSheet::ParseSheet. r=bz
MozReview-Commit-ID: A2BxoZjFOU1
2018-02-28 10:43:12 -08:00
Bobby Holley
e328272882 Bug 1438974 - Separate the Gecko and Servo parsing paths in the Loader. r=bz
This will allow us to avoid touching the old style system when making
the Servo parses asynchronous, and make it easier to drop the old code
when the time comes.

MozReview-Commit-ID: 5em0PMnb5Nw
2018-02-28 10:43:11 -08:00
Bobby Holley
096338d19b Bug 1438974 - Add an explicit "being parsed" flag to SheetLoadData and remove mParsingDatas. r=bz
MozReview-Commit-ID: 69fK5VAWrbj
2018-02-28 10:43:11 -08:00
Bobby Holley
2ba333893c Bug 1441896 - Pass an explicit parent SheetLoadData for child stylesheet loads. r=bz CLOSED TREE
MozReview-Commit-ID: 7XNu42NtITm
2018-02-28 10:09:00 +02:00
Nathan Froyd
3165bc6030 Bug 1440465 - initialize more things in AutoPointerEventTargetUpdater; r=dholbert 2018-02-28 15:00:04 -05:00
Nicholas Nethercote
f76d17db0f Bug 529808 - Remove the static atom table. r=froydnj
Various atom-related things have improved recently.

- The main atom table is now threadsafe (bug 1275755) and so can be accessed on
  any thread. It has also been split into pieces (bug 1440824), which greatly
  reduces lock contention.

- A cache has been added to the HTML5 parser (bug 1352874) that removes the
  need for most of the full table lookups.

As a result, there is no point having a separate static atom table. This patch
removes it.

MozReview-Commit-ID: 8ou1BrnPAwd

--HG--
extra : rebase_source : 0c6ab073b1a20b703705582d28731a68456741e1
2018-02-28 07:34:12 +11:00
Mats Palmgren
4689c2b9ad Bug 1440962 - Fix '-webkit-fill' typo in tests. r=me 2018-02-28 03:56:14 +01:00
Mats Palmgren
1d7d56824c Bug 1427608 - [css-grid] Adjust test expectations. r=dholbert 2018-02-28 03:56:14 +01:00
Mats Palmgren
e06a462e0f Bug 1427608 - [css-grid] Fix span=1 'auto' min-sizing for intrinsic sizing. r=dholbert
When sizing the container under a min- or max-content constraint,
the item's min/max-content contribution needs to be clamped (when
Automatic Minimum Size / clamping applies) if its size is 'auto'.
That'll give the container the right intrinsic size. In Reflow,
we'll size the track initially to the clamped min-content
contribution again (in the Resolve Intrinsic Track Sizes step),
but since the container now has a definite size we'll grow
the track in the Maximize Tracks step up to its limit
(i.e. the clamp size).

For more details on the underlying issue, see:
https://github.com/w3c/csswg-drafts/issues/2303
2018-02-28 03:56:13 +01:00
Emilio Cobos Álvarez
f3344c9f7b Bug 1425759: Update test expectations. r=smaug,xidorn
This is enough to get the stylo-enabled build green.

There's still some orange in WPT with stylo disabled (due to interfaces not
exposed and that) that I'll update tomorrow.

Will send a different patch on top of this for that, though I'll land together.

MozReview-Commit-ID: CsN5CM93RUz
2018-02-27 12:39:58 +01:00
Emilio Cobos Álvarez
6c417367d6 Bug 1425759: Make Shadow DOM not use XBL anymore. r=smaug,xidorn
More improvements to come. In particular, this still iterates through Shadow DOM
in each_xbl_cascade_data, but that should be changed later. That allows to
cleanup a bunch of stuff and finally fix Shadow DOM cascade order.

We still rely on the binding parent to be setup properly in the shadow tree, but
that requirement can go away later (we can walk the containing shadow chain
instead).

This mostly focuses on removing the XBL binding from the Shadow host.

It'd be nice to do EnumerateShadowRoots faster. I think that should also be a
followup, if needed.

MozReview-Commit-ID: Jf2iGvLC5de
2018-02-27 12:39:35 +01:00
Emilio Cobos Álvarez
ac779f9004 Bug 1439395: Avoid leaving an stale restyle root if there's no servo data on it. r=bholley
If a single element is inserted in the document, from the lazy frame
construction path we mark it as the restyle root.

It has no restyle data, and we weren't calling ClearServoData when its parent
was being removed from ClearServoDataFromSubtree, thus leaving the stale restyle
root.

MozReview-Commit-ID: GY812b8tDk0

--HG--
extra : rebase_source : e6d1035e7d3a72b931aa53ac8dcbf7db58982479
2018-02-26 18:50:19 +01:00
Emilio Cobos Álvarez
f3fc2e4852 Bug 1439395: Clear Servo data only when the DOM is in a consistent state. r=bholley
We used to do it this way effectively until I fixed it in bug 1400936.

Per the list of fuzz bugs that bug has in the "Depends on" field, some of those
without a super-clear fix, and others that aren't listed in there, and all the
complexity we had to deal with while receiving restyle requests mid-unbind, etc,
I think this is the right call.

This clears data on RestyleManager::ContentRemoved for non-anonymous nodes, and
on UnbindFromTree for subtrees rooted at anonymous nodes.

This will hopefully yield enforceable invariants.

MozReview-Commit-ID: IMwX5Uh1apv

--HG--
extra : rebase_source : 6cafc4499c9b80cbc96f1c4d1496e524f59e3c4d
2018-02-19 14:46:38 +01:00
Eitan Isaacson
f24dd705f9 Bug 1431466 - expose colormatrix in docshell. r=kats
--HG--
extra : rebase_source : e007cdaf28e4e67a2760c1e8105312cec94bf16a
2018-02-27 13:00:00 +02:00
Brian Grinstead
ae62dc9519 Bug 1431522 - Remove the 'thumb' binding;r=enndeakin+6102+6102
MozReview-Commit-ID: JioZr8WAuPw

--HG--
extra : rebase_source : ceb229c1c19713462a617127cd9a32924775b146
2018-01-19 08:08:49 -08:00
Emilio Cobos Álvarez
9f26540cc4 Bug 1441547: Make character data change notifications use a const reference for the info parameter. r=smaug
It's not intended to be mutated.

MozReview-Commit-ID: 5nkD1YkidlV

--HG--
extra : rebase_source : 810d429208fa3eaf30e220e77a7d27107cb77346
2018-02-27 15:30:27 +01:00
Valentin Gosu
4c1c2d2005 Bug 1433958 - Change code that sets nsIURI.ref to use nsIURIMutator r=mayhemer
MozReview-Commit-ID: 4caicZFBkcQ

--HG--
extra : rebase_source : fe32f156392a9e0ce69fa6030278eaca43a69482
2018-02-26 20:43:46 +01:00
Emilio Cobos Álvarez
3d6d2d9586 Bug 1440682: Make the XUL tooltip stuff saner. r=enn
We never removed the event listeners (the code was there, lol, but the function
that was supposed to call into the tooltip listener returned
NS_ERROR_NOT_IMPLEMENTED instead).

Furthermore, we added an event listener each time we reframed an element, which
is insane. Basically, each time an element with tooltip / tooltiptext gets its
frame tree reconstructed, we add the even listener, again, and we never free it.

Xidorn pointed out that this is not such a huge deal because we deduplicate
event listeners per spec, but still...

Move the code from the RestyleManager and the frame constructor to AfterSetAttr
/ BindToTree / UnbindFromTree in nsXULElement to hopefully make this saner.

MozReview-Commit-ID: 6BQbIQJ87qt
2018-02-26 15:44:48 +01:00
Andrew Halberstadt
ec94dfd4df Bug 1353461 - Increase fuzzy-if for layout/reftests/svg/foreignObject-form-theme.svg with webrender, r=jmaher
This test already has a fuzzy-if annotation with webrender, but when run-by-manifest
is enabled, the fuzz increases. The fix will be tracked in bug 1439980.


MozReview-Commit-ID: 14xidhwXCue

--HG--
extra : rebase_source : cc16f16421478189dc367a739c84e5894c58366c
2018-02-23 15:50:47 -05:00
Andrew Halberstadt
608b69a9a4 Bug 1353461 - [reftest] Implement run-by-manifest for reftest, r=jmaher
Run-by-manifest is a mode where we restart Firefox between every manifest of
tests. It sacrifices a little bit of runtime for better test isolation and
improved stability.

This turns run-by-manifest on for all platforms except Android. It also skips
jsreftests and crashtests for now (mostly to limit the scope of what was
landing all at once). Follow-ups will be filed to get it turned on in those
places.

MozReview-Commit-ID: DmvozAIPE5Q

--HG--
extra : rebase_source : 67470894a7aa0b3189380a4874495395401909bb
2018-02-08 16:16:34 -05:00
Andrew Halberstadt
463bd10a62 Bug 1353461 - [reftest] remove the start-after-crash feature, r=jmaher
The point of start-after-crash was to resume running tests after a crash so we
don't miss out on test coverage when a crash happens. Now that we're close to
landing run-by-manifest, this feature is as necessary since only tests that
appear later in the same manifest as the crashing test will be skipped.

Another reason to remove it, is that it's current implementation is buggy. It
assumes tests have a unique ID (they don't), which means we could accidentally
get into an infinite loop if the wrong test happens to crash at the wrong time.

A third reason to remove it is that it adds a lot of complexity to the harness.
Especially now with run-by-manifest, supporting both would require handling a
lot of different edge cases and make things much more complicated than the
already are.

All that being said, it would still provide value. Not only would it allow us
to resume tests in the same manifest, but run-by-manifest isn't yet enabled on
Android, jsreftest or crashtest (though we hope to get it enabled in those
places in the future). So it may be worth re-implementing start-after-crash
again based on the new manifest parsing mechanism that run-by-manifest uses. It
should be possible to implement it a lot more cleanly now. This work will have
to be left to a follow-up.

MozReview-Commit-ID: P2hh5VecKW

--HG--
extra : rebase_source : 809d5103b8d513c709aa950b102d3efee28fb205
2018-02-05 14:24:49 -05:00
Andrew Halberstadt
adbe589f59 Bug 1353461 - [manifestparser] Implement a chunk_by_manifest algorithm, r=jmaher
This implements a chunk_by_manifest algorithm. It is similar to chunk_by_slice
in that it tries to make an even number of tests run in each chunk. However,
unlike chunk_by_slice it will guarantee that tests in the same manifest will
all run in the same chunk. This makes it suitable to use with run-by-manifest.

This means the chunks won't be perfect (as manifests are differnet sizes). It
is also prone to more randomization, similar to chunk-by-runtime.

In fact, this algorithm is nearly identical to the chunk-by-runtime one, so it
was refactored out to a base class.

MozReview-Commit-ID: HI2ByxW0i8V

--HG--
extra : rebase_source : e066c034b85222d26bafe6873a80366d5bd9df9e
2018-02-13 15:16:37 -05:00
Brindusan Cristian
b545ca7f57 Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-02-26 11:51:27 +02:00
Cosmin Sabou
6e2787f9c5 Merge inbound to mozilla-central. a=merge 2018-02-26 11:47:29 +02:00