|
|
| Composite background-color animation |
| |
| |
| |
| |
| |
| |
| |
| xidachen@ launched finch study for this feature and this doc summarizes its result. Here are some high-level points: |
<td><td>We are seeing more animations being composited.</td></td>
<td><td>Unfortunately we don’t see improvement in the “PercentDroppedFrame”,
which reflects the smoothness of the animations overall. One possible reason
is that background-color animation is mostly applied on small buttons and it
is not the dominant factor of dropped animation frames.</td></td>
<td><td>We are seeing memory regression and this is tracked by <a
href="http://crbug.com/1210221">crbug.com/1210221</a>.</td></td>
| Moreover, this feature is now experimental, which means one can enable it by enabling “Experimental Web Platform features” in chrome://flags. |
| Capability Delegation Spec |
| |
| mustaq@ finished the draft spec (link) and it is ready for review. |
| Android 12 Overscroll |
| |
| flackr@ has finished the initial version of working overscroll. |
<td><td>It re-uses elastic overscroll physics from Mac overscroll.</td></td>
<td><td>Instead of translating, it applies overscroll stretch on the
transform node.</td></td>
<td><td>There are lots of follow-on work including:</td></td>
<td><td><a
href="http://crbug.com/1213217">crbug.com/1213217</a></td></td>
<td><td><a
href="http://crbug.com/1213248">crbug.com/1213248</a></td></td>
<td><td><a
href="http://crbug.com/1213252">crbug.com/1213252</a></td></td>
<td><td>Enable only on Android-S</td></td>
|
| |
|
| Chapter II: Stability fixes |
|
| |
|
| Fix privacy leak of visited links |
| |
| kevers@ fixed a privacy leak issue of visited links. A repro case is shown above. The fix to the issue is: |
<td><td>Extract the visited style even if link is unvisited during style
resolution.</td></td>
<td><td>Generate a transition if either the visited or unvisited style
changed.</td></td>
<td><td>animation.effect.getKeyframes reports unvisited style regardless of
whether visited.</td></td>
<td><td>Visually render with the correct style. This is possible since the
interpolation code retains a pair of colors to interpolate corresponding to
the visited and unvisited style.</td></td>
| Fix a crash in Mac IME fix |
| |
| flackr@ fixed a crash by performing a null check. |
| Removed one fake user activation |
| |
| mustaq@ fixed a fake activation issue as a suspect for a navigation problem. |
<td><td>UMA investigation revealed <a
href="https://bugs.chromium.org/p/chromium/issues/detail?id=1082258#c7"><0.005%</a>
page loads could be affected.</td></td>
<td><td>Tentatively removed the fake user activation notification from JS
play() and everything seems good as before!</td></td>
|
| |
|
| Chapter III: Interop fixes |
| Overscroll-behavior |
| |
| xidachen@ kept working on the bug, where chrome propagates overscroll-behavior from the <body> element, while by spec it should be from the <html> element. |
<td><td>A detailed <a
href="https://docs.google.com/document/d/1-pqljDgzzgRVve2oWUq237JPgtT12wcoctxbtBaHZdU/edit?ts=609ec0c2#heading=h.1xrzhx8chbuz">doc</a>
describing the problem.</td></td>
<td><td>Break the feature counter into two cases. (<a
href="https://chromium-review.googlesource.com/c/chromium/src/+/2896470">CL</a>)</td></td>
<td><td>Querying UKM table shows that google.com is the major site that have
this problem.</td></td>
|
| |
|
| Chapter IV: à la carte |
| Bisecting on Android |
| |
| skobes@ found that it is quite annoying to bisect on Android, but it is possible, and also that the tool could be improved. |
<td><td><a
href="https://docs.google.com/document/d/1e6IXv9hZQKeOsBx5ywjsBnqS0ZLW9kY2kald_RErJ0w/edit">go/chrome-android-bisect</a>
contains all the details on how to bisect on Android.</td></td>
<td><td>skobes@ used that for two recent top-controls regressions</td></td>
<td><td><a
href="http://crbug.com/1167400">crbug.com/1167400</a></td></td>
<td><td><a
href="http://crbug.com/1207888">crbug.com/1207888</a></td></td>
| AtomicString for PointerEvent type |
| |
| flackr@ replaced char\* with AtomicString for PointerEvent type. Why? |
<td><td>The returned string is passed to PointerEventInit::setPointerType
implicitly cast to a WTF::string for the rest of its existence. What’s the
problem?</td></td>
<td><td>First, we take the strlen of the string, which is O(n)
operation.</td></td>
<td><td>Then, we allocate storage space and copy the string constant, which
is O(n) time + space.</td></td>
<td><td>If we instead construct a String from another String, then it just
adds a ref to the StringImpl, and that’s O(1). Refer to the screenshot on
the left hand side for details.</td></td>
| Now the String is constructed, are we done? Well, not yet, we have to compare two strings. |
<td><td>Comparing two arbitrary Strings is O(n), see EqualStringView
implementation.</td></td>
<td><td>But, comparing two AtomicStrings is O(1)! Refer to the screenshot on
the right hand side for details.</td></td>
|
| |
|
| Chapter V: Bug Updates |
| |
| Our team kept on top of bugs. We closed almost the same amount of P1 bugs vs opened P1 bugs. |
|
| |