searching for reviewer(heycam)
d0e6717d1cf00e7e33b6eea7021b60d75cc670d0: Bug 1550554 - Use OwnedSlice for will-change. r=heycam
Emilio Cobos Álvarez <emilio@crisal.io> - Thu, 16 May 2019 23:23:28 +0000 - rev 474259
Push 36027 by shindli@mozilla.com at Fri, 17 May 2019 16:24:38 +0000
Bug 1550554 - Use OwnedSlice for will-change. r=heycam We could use ArcSlice if wanted I guess, your call. Though will change is not supposed to be used very frequently. Differential Revision: https://phabricator.services.mozilla.com/D30548
9efd6e065be931906e5ef21ba14c01b8ef392cf9: Bug 1550554 - Add bindings for box shadows, and remove nsCSSShadowArray and friends. r=heycam
Emilio Cobos Álvarez <emilio@crisal.io> - Thu, 16 May 2019 23:04:32 +0000 - rev 474258
Push 36027 by shindli@mozilla.com at Fri, 17 May 2019 16:24:38 +0000
Bug 1550554 - Add bindings for box shadows, and remove nsCSSShadowArray and friends. r=heycam Differential Revision: https://phabricator.services.mozilla.com/D30547
1e32fe8538eddbf6b87bb2dccb716f425d8dd931: Bug 1550554 - Use ArcSlice for quotes. r=heycam
Emilio Cobos Álvarez <emilio@crisal.io> - Thu, 16 May 2019 23:04:31 +0000 - rev 474257
Push 36027 by shindli@mozilla.com at Fri, 17 May 2019 16:24:38 +0000
Bug 1550554 - Use ArcSlice for quotes. r=heycam This saves the intermediate allocation. Differential Revision: https://phabricator.services.mozilla.com/D30546
79010ce706eb83de48b5abb81ea387f2f5f4dc0b: Bug 1550554 - Share computed and specified value representation of -moz-context-properties. r=heycam
Emilio Cobos Álvarez <emilio@crisal.io> - Thu, 16 May 2019 23:03:29 +0000 - rev 474256
Push 36027 by shindli@mozilla.com at Fri, 17 May 2019 16:24:38 +0000
Bug 1550554 - Share computed and specified value representation of -moz-context-properties. r=heycam Differential Revision: https://phabricator.services.mozilla.com/D30545
6524a34864c39e0957cc10d124d61a6d795b5894: Bug 1550554 - Use an ArcSlice as the computed value representation of inherited list properties. r=heycam
Emilio Cobos Álvarez <emilio@crisal.io> - Thu, 16 May 2019 23:03:27 +0000 - rev 474255
Push 36027 by shindli@mozilla.com at Fri, 17 May 2019 16:24:38 +0000
Bug 1550554 - Use an ArcSlice as the computed value representation of inherited list properties. r=heycam This adds a bit of complexity, which I think will pay off in the end. Removals incoming. Differential Revision: https://phabricator.services.mozilla.com/D30544
7c2ff60588882f354678a676c2028eebd71f7557: Bug 1550554 - Implement ArcSlice::default(). r=heycam
Emilio Cobos Álvarez <emilio@crisal.io> - Thu, 16 May 2019 23:22:04 +0000 - rev 474254
Push 36027 by shindli@mozilla.com at Fri, 17 May 2019 16:24:38 +0000
Bug 1550554 - Implement ArcSlice::default(). r=heycam Share a singleton to avoid allocating for empty lists. Differential Revision: https://phabricator.services.mozilla.com/D30543
7321594dab268ea3f11722178c98d6412f1db078: Bug 1549593 - Use OwnedSlice in the specified and computed values of most vector properties. r=heycam
Emilio Cobos Álvarez <emilio@crisal.io> - Thu, 16 May 2019 23:21:37 +0000 - rev 474253
Push 36027 by shindli@mozilla.com at Fri, 17 May 2019 16:24:38 +0000
Bug 1549593 - Use OwnedSlice in the specified and computed values of most vector properties. r=heycam This is just a refactor in the right direction. Eventual goal is: * All inherited properties use ArcSlice<>. * All reset properties use OwnedSlice<> (or ThinVec<>). No conversion happens at all, so we can remove all that glue, and also compute_iter and co. Of course there's work to do, but this is a step towards that. Differential Revision: https://phabricator.services.mozilla.com/D30127
b90c2cf5b8c558a93bb35df79ece66aa6df8446b: Bug 1550554 - Use OwnedSlice for will-change. r=heycam
Emilio Cobos Álvarez <emilio@crisal.io> - Thu, 09 May 2019 19:28:30 +0200 - rev 474076
Push 36022 by ncsoregi@mozilla.com at Thu, 16 May 2019 21:55:16 +0000
Bug 1550554 - Use OwnedSlice for will-change. r=heycam We could use ArcSlice if wanted I guess, your call. Though will change is not supposed to be used very frequently. Differential Revision: https://phabricator.services.mozilla.com/D30548
882ab9868c957394c82bffbf3f3fa7d61db2b0a2: Bug 1550554 - Add bindings for box shadows, and remove nsCSSShadowArray and friends. r=heycam
Emilio Cobos Álvarez <emilio@crisal.io> - Thu, 09 May 2019 16:51:36 +0200 - rev 474075
Push 36022 by ncsoregi@mozilla.com at Thu, 16 May 2019 21:55:16 +0000
Bug 1550554 - Add bindings for box shadows, and remove nsCSSShadowArray and friends. r=heycam Differential Revision: https://phabricator.services.mozilla.com/D30547
b28a48e2ed212dc5dea20ddab26e37f66b00a2c0: Bug 1550554 - Use ArcSlice for quotes. r=heycam
Emilio Cobos Álvarez <emilio@crisal.io> - Thu, 09 May 2019 05:35:04 +0200 - rev 474074
Push 36022 by ncsoregi@mozilla.com at Thu, 16 May 2019 21:55:16 +0000
Bug 1550554 - Use ArcSlice for quotes. r=heycam This saves the intermediate allocation. Differential Revision: https://phabricator.services.mozilla.com/D30546
2c31fe18eefd0a53bac3dec0c752fcc156d001e9: Bug 1550554 - Share computed and specified value representation of -moz-context-properties. r=heycam
Emilio Cobos Álvarez <emilio@crisal.io> - Wed, 08 May 2019 23:57:52 +0200 - rev 474073
Push 36022 by ncsoregi@mozilla.com at Thu, 16 May 2019 21:55:16 +0000
Bug 1550554 - Share computed and specified value representation of -moz-context-properties. r=heycam Differential Revision: https://phabricator.services.mozilla.com/D30545
57f2362aa538b3374290652fe8605d05104c140f: Bug 1550554 - Use an ArcSlice as the computed value representation of inherited list properties. r=heycam
Emilio Cobos Álvarez <emilio@crisal.io> - Tue, 07 May 2019 18:46:22 +0200 - rev 474072
Push 36022 by ncsoregi@mozilla.com at Thu, 16 May 2019 21:55:16 +0000
Bug 1550554 - Use an ArcSlice as the computed value representation of inherited list properties. r=heycam This adds a bit of complexity, which I think will pay off in the end. Removals incoming. Differential Revision: https://phabricator.services.mozilla.com/D30544
45f171b26e95c6c7d12302743129ec5ccf5ac7e4: Bug 1550554 - Implement ArcSlice::default(). r=heycam
Emilio Cobos Álvarez <emilio@crisal.io> - Tue, 07 May 2019 17:37:26 +0200 - rev 474071
Push 36022 by ncsoregi@mozilla.com at Thu, 16 May 2019 21:55:16 +0000
Bug 1550554 - Implement ArcSlice::default(). r=heycam Share a singleton to avoid allocating for empty lists. Differential Revision: https://phabricator.services.mozilla.com/D30543
2e4b263c9410ca3e9e2077552c0afa30f688e749: Bug 1549593 - Use OwnedSlice in the specified and computed values of most vector properties. r=heycam
Emilio Cobos Álvarez <emilio@crisal.io> - Mon, 06 May 2019 15:56:53 +0200 - rev 474070
Push 36022 by ncsoregi@mozilla.com at Thu, 16 May 2019 21:55:16 +0000
Bug 1549593 - Use OwnedSlice in the specified and computed values of most vector properties. r=heycam This is just a refactor in the right direction. Eventual goal is: * All inherited properties use ArcSlice<>. * All reset properties use OwnedSlice<> (or ThinVec<>). No conversion happens at all, so we can remove all that glue, and also compute_iter and co. Of course there's work to do, but this is a step towards that. Differential Revision: https://phabricator.services.mozilla.com/D30127
b7d724abf65e9a678c67016875b8acec25451f5b: Bug 1551652. Stop using [array] in nsILayoutHistoryState. r=heycam
Boris Zbarsky <bzbarsky@mit.edu> - Thu, 16 May 2019 00:36:41 +0000 - rev 474029
Push 36021 by malexandru@mozilla.com at Thu, 16 May 2019 09:39:26 +0000
Bug 1551652. Stop using [array] in nsILayoutHistoryState. r=heycam I read through <https://searchfox.org/mozilla-central/search?q=%5B%5EA-Za-z_%5D%5BGg%5DetKeys%5B%5EA-Za-z_%5D&case=true&regexp=true&path=> and as far as I can tell the only JS consumer is SessionHistory.jsm, which was not passing the optional "count" arg already. There are no C++ consumers. Differential Revision: https://phabricator.services.mozilla.com/D31113
430b79a1444fd6935ea68abfbdb7a53d8e572b78: Bug 1551065 - Properly discard empty lines for -webkit-line-clamp. r=heycam
Emilio Cobos Álvarez <emilio@crisal.io> - Mon, 13 May 2019 09:14:33 +0000 - rev 473578
Push 36007 by apavel@mozilla.com at Mon, 13 May 2019 21:45:52 +0000
Bug 1551065 - Properly discard empty lines for -webkit-line-clamp. r=heycam That being said, this code is clearly not getting hit, are we 100% sure that this is interoperable with what WebKit / Blink do? Differential Revision: https://phabricator.services.mozilla.com/D30830
5c99c6daa9db60f35fb85956271fd855e7c0cd7b: Bug 1551045 - add debug log in `vtt.jsm`. r=heycam
Alastor Wu <alwu@mozilla.com> - Sun, 12 May 2019 22:56:06 +0000 - rev 473574
Push 36007 by apavel@mozilla.com at Mon, 13 May 2019 21:45:52 +0000
Bug 1551045 - add debug log in `vtt.jsm`. r=heycam We should add some debug logs, which should be easily enable and disable, in vtt.jsm in order to increase the efficiency of debugging. Differential Revision: https://phabricator.services.mozilla.com/D30798
f40e952d155263f245887217b1cdbaa36a732688: Bug 1536762 - part5 : adjustment should only happen when box doesn't go over the boundary along the moving direction. r=heycam
alwu <alwu@mozilla.com> - Thu, 09 May 2019 18:46:12 +0000 - rev 473316
Push 35993 by nbeleuzu@mozilla.com at Fri, 10 May 2019 02:54:27 +0000
Bug 1536762 - part5 : adjustment should only happen when box doesn't go over the boundary along the moving direction. r=heycam When adjusting box's position, we would choose a axis first and move the box along this axis to see whether we can place this box without overlapping with other boxes and fully inside the rendering area. If the box has been over the boundary along the moving direction, we should move box back to the original position and change the moving direction to see whether we can find another best place for the box. Although the adjustment can run without timeout now, it still doesn't match the result of the reference, so change the state to `fail`. Differential Revision: https://phabricator.services.mozilla.com/D29765
f009e75ac8711195313ec4abc50602a756335a1c: Bug 1536762 - part4 : disable tests on Android and Windows. r=heycam
alwu <alwu@mozilla.com> - Thu, 09 May 2019 18:39:44 +0000 - rev 473315
Push 35993 by nbeleuzu@mozilla.com at Fri, 10 May 2019 02:54:27 +0000
Bug 1536762 - part4 : disable tests on Android and Windows. r=heycam On Android, sometime we can't get the first frame, which would cause intermittent fail. See bug1546128. On Windows, sometime we would get incorrect text color rendering, which would also cause intermittent fail. See bug1546133. It seems that we won't get these two bug fixed recently, so I'm going to disable them on these two platforms. Differential Revision: https://phabricator.services.mozilla.com/D28359
9250cfd8c4e498475dd7351aed3ca391103b4087: Bug 1536762 - part3 : enable wpt tests and add 'fuzzy' comparision. r=heycam
alwu <alwu@mozilla.com> - Thu, 09 May 2019 18:39:36 +0000 - rev 473314
Push 35993 by nbeleuzu@mozilla.com at Fri, 10 May 2019 02:54:27 +0000
Bug 1536762 - part3 : enable wpt tests and add 'fuzzy' comparision. r=heycam Sometime there are some color rendering differences between the test and the reference, which is small enough to be ignored because human can't be aware of that difference. Differential Revision: https://phabricator.services.mozilla.com/D27179
1fa720d18b38e35831de185ac2f55356c88a7d21: Bug 1536762 - part2 : use first line box's size as positioning basic unit. r=heycam,baku
alwu <alwu@mozilla.com> - Thu, 09 May 2019 19:22:33 +0000 - rev 473313
Push 35993 by nbeleuzu@mozilla.com at Fri, 10 May 2019 02:54:27 +0000
Bug 1536762 - part2 : use first line box's size as positioning basic unit. r=heycam,baku According to the spec [1] 7.2.10.2, we should use the first line box's height or width as positioning unit to adjust box's position. We will also use this value to adjust box when `snap-to-line` is false. There, we implement a new chrome-only API to acquire this information, which would return the first line box's size in the `block` frame. [1] https://www.w3.org/TR/webvtt1/#ref-for-webvtt-cue-snap-to-lines-flag-12 Differential Revision: https://phabricator.services.mozilla.com/D29745
2d810269b72e198765af3d997f3b117d832afd38: Bug 1536762 - part1 : use unscaled bounding box'size as a cue box's size. r=baku,heycam
alwu <alwu@mozilla.com> - Thu, 09 May 2019 18:26:17 +0000 - rev 473312
Push 35993 by nbeleuzu@mozilla.com at Fri, 10 May 2019 02:54:27 +0000
Bug 1536762 - part1 : use unscaled bounding box'size as a cue box's size. r=baku,heycam When adjusting cue's position, the goal is to place cue boxes fully inside the rendering area, and place in the right place. In order to check whether the box is correctly inside the rendering area, we have to know the correct size of the cue box. Therefore, we implement the new chrome-only APIs to acquire this information (box's height and width), and this returned value won't be affected by CSS transformation, which is good for positioning. Differential Revision: https://phabricator.services.mozilla.com/D27178
51a7edbe0a9e8f63e45d59d6a9a18bc0e700a199: Bug 1549559 - Add bindings for ArcSlice and ThinArc, and use them to reduce copies of SVG path data. r=heycam
Emilio Cobos Álvarez <emilio@crisal.io> - Thu, 09 May 2019 12:43:19 +0000 - rev 473207
Push 35991 by nbeleuzu@mozilla.com at Thu, 09 May 2019 21:40:43 +0000
Bug 1549559 - Add bindings for ArcSlice and ThinArc, and use them to reduce copies of SVG path data. r=heycam As I said over bug 1549593, the eventual goal is to use ArcSlice in all inherited properties. But this seemed like a good first candidate that doesn't require me to move around a lot more code, since we were already using cbindgen for the path commands. Differential Revision: https://phabricator.services.mozilla.com/D30134
dc57611c4e71768dc1f0e226e4b891634ec71b78: Bug 1549559 - Introduce ArcSlice, a small wrapper over ThinArc but without an explicit header. r=heycam
Emilio Cobos Álvarez <emilio@crisal.io> - Thu, 09 May 2019 10:53:50 +0000 - rev 473206
Push 35991 by nbeleuzu@mozilla.com at Thu, 09 May 2019 21:40:43 +0000
Bug 1549559 - Introduce ArcSlice, a small wrapper over ThinArc but without an explicit header. r=heycam We could make the header PhantomData or something, but then we wouldn't be able to bind to C++, since C++ doesn't have ZSTs. So add a canary instead to add a runtime check of stuff being sane. Differential Revision: https://phabricator.services.mozilla.com/D30133
f419e689abf08b654c99ec258f2118b0523628cf: Bug 1549593 - Move OwnedSlice to style_traits. r=heycam
Emilio Cobos Álvarez <emilio@crisal.io> - Thu, 09 May 2019 10:49:50 +0000 - rev 473204
Push 35990 by nerli@mozilla.com at Thu, 09 May 2019 15:34:57 +0000
Bug 1549593 - Move OwnedSlice to style_traits. r=heycam Differential Revision: https://phabricator.services.mozilla.com/D30126
fe11fc11ec5b0ee0111351c01cf601109798ca85: Bug 1548691 - Use the owned slice type for basic shape polygon coordinates. r=TYLin,heycam
Emilio Cobos Álvarez <emilio@crisal.io> - Thu, 09 May 2019 11:24:57 +0000 - rev 473203
Push 35990 by nerli@mozilla.com at Thu, 09 May 2019 15:34:57 +0000
Bug 1548691 - Use the owned slice type for basic shape polygon coordinates. r=TYLin,heycam This enables destructors for tagged unions in cbindgen, implemented in: * https://github.com/eqrion/cbindgen/pull/333 Which allow us to properly generate a destructor for the cbindgen-generated StyleBasicShape (which now contains an OwnedSlice). For now, we still use the glue code to go from Box<BasicShape> to UniquePtr<BasicShape>. But that will change in the future when we generate even more stuff and remove all the glue. I could add support for copy-constructor generation to cbindgen for tagged enums, but I'm not sure if it'll end up being needed, and copy-constructing unions in C++ is always very tricky. Differential Revision: https://phabricator.services.mozilla.com/D29769
41acb048244d7d2bad371761bf54c80670fe683b: Bug 1548691 - Add an owned slice type which cbindgen can understand. r=heycam
Emilio Cobos Álvarez <emilio@crisal.io> - Thu, 09 May 2019 10:49:22 +0000 - rev 473202
Push 35990 by nerli@mozilla.com at Thu, 09 May 2019 15:34:57 +0000
Bug 1548691 - Add an owned slice type which cbindgen can understand. r=heycam Passing these by value won't be ok of course, but that's fine. I plan to combine this with https://github.com/eqrion/cbindgen/pull/333 to actually be able to share representation for ~all the things, this is just the first bit. Box<T>, Atom and Arc<T> will be much easier since cbindgen can understand them without issues. It's boxed slices the only ones I should need something like this. I could avoid it if I rely on Rust's internal representation, which we can per [1], but then I need to teach cbindgen all about slices, which is generally hard, I think. [1]: https://github.com/rust-lang/unsafe-code-guidelines/blob/master/reference/src/layout/pointers.md Differential Revision: https://phabricator.services.mozilla.com/D29768
81ac850f683c3e895886bbcae79a3ad285f6a56f: Bug 1545177 - Add crashtest. r=heycam
Jonathan Kew <jkew@mozilla.com> - Thu, 09 May 2019 05:15:50 +0000 - rev 473194
Push 35990 by nerli@mozilla.com at Thu, 09 May 2019 15:34:57 +0000
Bug 1545177 - Add crashtest. r=heycam Depends on D27980 Differential Revision: https://phabricator.services.mozilla.com/D27982
9b9b19e53c3eb97722cf585c4f4fb88f1eef41a8: Bug 1545177 - Add WPT test for modifications to FontFace descriptors after initial creation. r=heycam
Jonathan Kew <jkew@mozilla.com> - Thu, 09 May 2019 05:15:37 +0000 - rev 473193
Push 35990 by nerli@mozilla.com at Thu, 09 May 2019 15:34:57 +0000
Bug 1545177 - Add WPT test for modifications to FontFace descriptors after initial creation. r=heycam Depends on D27980 Differential Revision: https://phabricator.services.mozilla.com/D29257
3a8c6048c5d0874dd3d32c06e7923625b9383e8d: Bug 1545177 - If descriptors of a FontFace are modified after creation, update the associated font entry so that face selection will respect the new values, and mark font sets as dirty. r=heycam
Jonathan Kew <jkew@mozilla.com> - Thu, 09 May 2019 09:43:42 +0000 - rev 473192
Push 35990 by nerli@mozilla.com at Thu, 09 May 2019 15:34:57 +0000
Bug 1545177 - If descriptors of a FontFace are modified after creation, update the associated font entry so that face selection will respect the new values, and mark font sets as dirty. r=heycam Differential Revision: https://phabricator.services.mozilla.com/D27980
5cac03a223e560c730e9e1e58ad4a6f93ebba4da: Bug 1545430 - Implement selector-matching for ::part(). r=heycam
Emilio Cobos Álvarez <emilio@crisal.io> - Wed, 01 May 2019 17:28:23 +0000 - rev 472137
Push 35948 by nerli@mozilla.com at Wed, 01 May 2019 21:55:33 +0000
Bug 1545430 - Implement selector-matching for ::part(). r=heycam Also fairly straight-forward. This may get more complicated when we do part forwarding, if any. I've opened https://github.com/w3c/csswg-drafts/issues/3841 in what I think would be a cleaner model for forwarding. Differential Revision: https://phabricator.services.mozilla.com/D28063
63c513e31abb4f4ed16154af0f38d734d3c0764a: Bug 1545425 - Add parsing support for ::part(). r=heycam
Emilio Cobos Álvarez <emilio@crisal.io> - Wed, 01 May 2019 17:25:13 +0000 - rev 472136
Push 35948 by nerli@mozilla.com at Wed, 01 May 2019 21:55:33 +0000
Bug 1545425 - Add parsing support for ::part(). r=heycam Disabled for now of course. This should be pretty uncontroversial I'd think. Differential Revision: https://phabricator.services.mozilla.com/D28060
8c89fd37b79d353a6eb8794f3de11151f6924b26: Bug 1544242 - Fix selector-matching for nested pseudo-elements. r=heycam,mats
Emilio Cobos Álvarez <emilio@crisal.io> - Wed, 01 May 2019 17:19:08 +0000 - rev 472135
Push 35948 by nerli@mozilla.com at Wed, 01 May 2019 21:55:33 +0000
Bug 1544242 - Fix selector-matching for nested pseudo-elements. r=heycam,mats We always include the combinator for pseudo-elements now (not including it was just an optimization) in order to not match when nested pseudo-elements are involved. We could add a more generic check in `matches_simple_selector` like: ``` if element.is_pseudo_element() { match *selector { Component::PseudoElement(..) | Component::NonTSPseudoClass(..) => {}, _ => return false, } } ``` But even that wouldn't be enough to make selectors like `:hover::marker` not match on the `::before::marker` pseudo-element, plus that code is really hot. So for now do the check on the `next_element_for_combinator` function. It's a bit hacky but it's the best I could came up with... While at it, simplify some checks to use is_pseudo_element() instead of implemented_pseudo_element() directly. Only the Rust patch as-is would make markers for ::before and ::after on list items not show up, so we also need to switch ::marker to use ProbeMarkerStyle() rather than ProbePseudoElementStyle(), since the marker should exist even if it matches no rules. Differential Revision: https://phabricator.services.mozilla.com/D27529
961d9f01940bcf4b435f5ac62ec56b2b99862522: Bug 1544242 - Check iterator length in SelectorIter::is_featureless_host_selector. r=heycam
Emilio Cobos Álvarez <emilio@crisal.io> - Mon, 29 Apr 2019 05:58:56 +0000 - rev 472133
Push 35948 by nerli@mozilla.com at Wed, 01 May 2019 21:55:33 +0000
Bug 1544242 - Check iterator length in SelectorIter::is_featureless_host_selector. r=heycam I'm going to unconditionally generate the PseudoElement combinator, and this causes issues since we'll put the raw `::pseudo` selectors in the host bucket, which is obviously wrong. Differential Revision: https://phabricator.services.mozilla.com/D27528
66ff290649f725c50c4b1815ab2294cbe1fc2f00: Bug 1544170 Part 1 - Notify record/replay system about parsed style sheets, r=heycam.
Brian Hackett <bhackett1024@gmail.com> - Fri, 12 Apr 2019 16:33:00 -1000 - rev 470287
Push 35892 by rgurzau@mozilla.com at Sat, 20 Apr 2019 09:55:32 +0000
Bug 1544170 Part 1 - Notify record/replay system about parsed style sheets, r=heycam. Differential Revision: https://phabricator.services.mozilla.com/D27408
2099599a5ad519efa9e85f900d6ea51136469001: Bug 1544546 - Un-fill the styleset and drop the cascade data when removing a pres shell. r=heycam
Emilio Cobos Álvarez <emilio@crisal.io> - Fri, 19 Apr 2019 04:32:12 +0000 - rev 470169
Push 35888 by aiakab@mozilla.com at Fri, 19 Apr 2019 09:47:45 +0000
Bug 1544546 - Un-fill the styleset and drop the cascade data when removing a pres shell. r=heycam This should keep memory usage a bit more under control when loosing a pres shell. Differential Revision: https://phabricator.services.mozilla.com/D27571
a7b03452b97fdcfb0d909ff22d42b5e65b06fb89: Bug 1544548 - Insert quirks.css later so that we hit the cascade data cache more often. r=heycam
Emilio Cobos Álvarez <emilio@crisal.io> - Mon, 15 Apr 2019 21:58:46 +0200 - rev 469678
Push 35879 by nerli@mozilla.com at Tue, 16 Apr 2019 22:01:48 +0000
Bug 1544548 - Insert quirks.css later so that we hit the cascade data cache more often. r=heycam Bug 1535788 moved the quirks.css insertion earlier, so the order will not match when the commonish case where the document gets a shell and then knows the compat mode, which means that we hit the cascade data cache a bit less often. I'll also fix the order of the preference sheet vs. the quirks sheet in a followup, right now whatever gets first ends ups earlier on the list. Differential Revision: https://phabricator.services.mozilla.com/D27578
6ff81d173403221744b133b086c4c2377d2a9478: Bug 1542935 - Document::CompatibilityModeChanged should call EnsureStyleFlush. r=heycam
Emilio Cobos Álvarez <emilio@crisal.io> - Mon, 15 Apr 2019 05:27:37 +0000 - rev 469483
Push 35872 by ncsoregi@mozilla.com at Mon, 15 Apr 2019 15:24:06 +0000
Bug 1542935 - Document::CompatibilityModeChanged should call EnsureStyleFlush. r=heycam Following the reasoning from the previous commit. Selectors may become case sensitive or case insensitive as a result of this operation, something I forgot about when writing the patch for bug 1535788. Now Document::CompatibilityModeChanged is actually only called if the compatibility mode actually changes, and thus we always need to restyle. The Stylist already takes care of fully invalidating the document when it changes (via mark_origins_dirty and co.), so we technically just need to guarantee that a style flush will happen. In practice I doubt this call will have any effect in practice given how early in the document's lifetime the compatibility mode can change, but still I think it's worth landing. Depends on D27416 Differential Revision: https://phabricator.services.mozilla.com/D27417
3b45bccf61cff70c9f444ad6e155792bc93d1271: Bug 1542935 - Re-introduce a call to EnsureStyleFlush from PresShell::Init to fix an Android scrolling regression. r=heycam
Emilio Cobos Álvarez <emilio@crisal.io> - Mon, 15 Apr 2019 05:26:27 +0000 - rev 469482
Push 35872 by ncsoregi@mozilla.com at Mon, 15 Apr 2019 15:24:06 +0000
Bug 1542935 - Re-introduce a call to EnsureStyleFlush from PresShell::Init to fix an Android scrolling regression. r=heycam Sorry for the vague commit message, but I haven't dug yet on why or how the Android code is depending on this. This call used to be part of nsPresContext::CompatibilityModeChanged, which unconditionally called PresShell::EnsureStyleFlush. This was not (in theory, at least) always necessary. There's there's no point in ensuring a style flush is going to happen if styles haven't changed, and CompatibilityModeChanged() didn't actually guarantee that the compat mode was different at all before my patch. Styles only change if the compat mode actually changes (since then selectors become case-sensitive or case-insensitive), or more obviously when you insert or remove the quirks.css stylesheet, and in that case ApplicableStylesChanged makes sure that the flush happens. Yet here we are, and not having that early call to EnsureStyleFlush, even in the case there's no quirks mode or quirks sheet change or anything of that sort (this happens even on XUL docs, which are always FullStandards) makes the first (and only the first) browsing session in Geckoview have terrible scrolling performance. I'm calling it a day for today, will investigate as time permits in bug 1544185. Differential Revision: https://phabricator.services.mozilla.com/D27416
587b7bc9ad81e868c672c540907843bf46658071: Bug 1543304 - Add MOZ_DBG support for nsCSSPropertyID and nsCSSPropertyIDSet; r=heycam
Brian Birtles <birtles@gmail.com> - Sun, 14 Apr 2019 23:48:05 +0000 - rev 469443
Push 35869 by ncsoregi@mozilla.com at Mon, 15 Apr 2019 09:43:53 +0000
Bug 1543304 - Add MOZ_DBG support for nsCSSPropertyID and nsCSSPropertyIDSet; r=heycam Differential Revision: https://phabricator.services.mozilla.com/D26856
fa9332a8ea937098a1a6d79ed4bc9028e3917e62: Bug 1543304 - Add iterators to nsCSSPropertyIDSet; r=heycam
Brian Birtles <birtles@gmail.com> - Sun, 14 Apr 2019 23:47:51 +0000 - rev 469442
Push 35869 by ncsoregi@mozilla.com at Mon, 15 Apr 2019 09:43:53 +0000
Bug 1543304 - Add iterators to nsCSSPropertyIDSet; r=heycam Differential Revision: https://phabricator.services.mozilla.com/D26855
8a857aaa693aa39a762eab3acec6c4aad9506933: Bug 1543501 - Make MOZ_DBG() work on Android. r=heycam
Botond Ballo <botond@mozilla.com> - Fri, 12 Apr 2019 16:48:51 +0000 - rev 469303
Push 35861 by btara@mozilla.com at Fri, 12 Apr 2019 21:56:33 +0000
Bug 1543501 - Make MOZ_DBG() work on Android. r=heycam stderr does not go anywhere by default on Android. Debugging output is conventionally sent to the Android log via special functions like __android_log_print. We already have logic for handling this in nsCRTGlue's printf_stderr, but I don't think we can use that in MFBT. Differential Revision: https://phabricator.services.mozilla.com/D26985
daaf43ea3783878dfb91e545949762be737acf98: Bug 1543501 - Print a 'token' that allows output from MOZ_DBG() to be easily grepped for among other output. r=heycam
Botond Ballo <botond@mozilla.com> - Fri, 12 Apr 2019 16:49:56 +0000 - rev 469302
Push 35861 by btara@mozilla.com at Fri, 12 Apr 2019 21:56:33 +0000
Bug 1543501 - Print a 'token' that allows output from MOZ_DBG() to be easily grepped for among other output. r=heycam Differential Revision: https://phabricator.services.mozilla.com/D26984
56e1556e963dc8854cba358e4d6d848f03f599f7: Bug 1543841 - Remove newlines for the #content and #test nodes in `./mach addtest` templates r=heycam
Brian Grinstead <bgrinstead@mozilla.com> - Fri, 12 Apr 2019 05:04:50 +0000 - rev 469282
Push 35861 by btara@mozilla.com at Fri, 12 Apr 2019 21:56:33 +0000
Bug 1543841 - Remove newlines for the #content and #test nodes in `./mach addtest` templates r=heycam Differential Revision: https://phabricator.services.mozilla.com/D27188
e3828f221fd4709878ac7f10863d4afc85c1c062: Bug 1543841 - Update `./mach addtest` templates to stop using [type] attribute on stylesheets r=heycam
Brian Grinstead <bgrinstead@mozilla.com> - Fri, 12 Apr 2019 05:04:14 +0000 - rev 469281
Push 35861 by btara@mozilla.com at Fri, 12 Apr 2019 21:56:33 +0000
Bug 1543841 - Update `./mach addtest` templates to stop using [type] attribute on stylesheets r=heycam Differential Revision: https://phabricator.services.mozilla.com/D27181
0fd4c1a6ade556a67ed86d89235d3f1e0e6ce036: Bug 1543762 - Flush less in cross-document getComputedStyle situations. r=heycam
Emilio Cobos Álvarez <emilio@crisal.io> - Fri, 12 Apr 2019 10:04:33 +0000 - rev 469240
Push 35859 by shindli@mozilla.com at Fri, 12 Apr 2019 15:46:45 +0000
Bug 1543762 - Flush less in cross-document getComputedStyle situations. r=heycam I wrote this while looking at bug 1537903, but actually it doesn't help there, since all the extra time is spent actually computing styles. I think this is still worth landing it though. The reasoning for not caring of this case is that we mint an style anyway out of the blue anyway. There's no point in restyling the whole document. Differential Revision: https://phabricator.services.mozilla.com/D27124
11fb8048959d0d2a1e12027680684ff9fbebf760: Bug 1543398 - Don't pass unknown descriptors to Servo. r=heycam
Emilio Cobos Álvarez <emilio@crisal.io> - Fri, 12 Apr 2019 05:08:18 +0000 - rev 469239
Push 35859 by shindli@mozilla.com at Fri, 12 Apr 2019 15:46:45 +0000
Bug 1543398 - Don't pass unknown descriptors to Servo. r=heycam Differential Revision: https://phabricator.services.mozilla.com/D26914
3a101d5a14bb38c6f0234b6c393cb5d8065c4f9b: Bug 1542178 - Serialize more non-problematic properties with Servo. r=heycam
Emilio Cobos Álvarez <emilio@crisal.io> - Wed, 10 Apr 2019 12:11:04 +0000 - rev 468779
Push 35850 by dvarga@mozilla.com at Wed, 10 Apr 2019 21:52:56 +0000
Bug 1542178 - Serialize more non-problematic properties with Servo. r=heycam Differential Revision: https://phabricator.services.mozilla.com/D26786
5ce09292f6bfd580d4a641ed8c00651dc0c7691e: Bug 1542178 - Fix ToResolvedValue implementation for caret-color, and serialize some color properties with Servo. r=heycam
Emilio Cobos Álvarez <emilio@crisal.io> - Wed, 10 Apr 2019 12:10:49 +0000 - rev 468778
Push 35850 by dvarga@mozilla.com at Wed, 10 Apr 2019 21:52:56 +0000
Bug 1542178 - Fix ToResolvedValue implementation for caret-color, and serialize some color properties with Servo. r=heycam Differential Revision: https://phabricator.services.mozilla.com/D26785
11dcdb94e2faab73048c25a0802105d8e97d0f14: Bug 1542178 - Use ToResolvedValue for computed style serialization. r=heycam
Emilio Cobos Álvarez <emilio@crisal.io> - Wed, 10 Apr 2019 12:10:40 +0000 - rev 468777
Push 35850 by dvarga@mozilla.com at Wed, 10 Apr 2019 21:52:56 +0000
Bug 1542178 - Use ToResolvedValue for computed style serialization. r=heycam Differential Revision: https://phabricator.services.mozilla.com/D26784