Jack Franklin 10071897de Fix conflicting scroll instructions in Breadcrumbs
The flakey tests on Windows exposed a bug where:

* We render and click the right button to scroll
* The code that ensures the active node is in view runs, and tries to
  scroll the active element into view.

These two actions would conflict with each other. On Linux/Mac and our Windows
bots, it seems the right scroll "wins" and the tests pass. However, on Windows
10 the right scroll is overriden by scrolling the active node into view, and
therefore the test fails.

The fix we landed on is to flag if the user has manually scrolled the
crumbs, and gate the scrolling active node into view logic on that. If
the user manually scrolls, we effectively cede control and let them
control the scrolling. When we get an update (e.g. a new active selected
node), we take back control.

Additionally, the resize observer was being far too aggressive in its behaviour
(just trigger a re-render), so that's been updated to check explicitly just if
the scroll buttons need to be hidden/shown after a render. This caused a bug
when running tests in Windows where it would also cause scroll conflicts. It's
not a bug I think users would ever have hit, but one that the tests hit because
they do things so much quicker than a user actually would (e.g. render + click
button in same frame). There are tests added for the resize observer behaviour.

Change-Id: Iedf4cbe5bef652d16fc80a0e7c0b3b45a95ebbfa
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2449984
Reviewed-by: Paul Lewis <aerotwist@chromium.org>
Commit-Queue: Jack Franklin <jacktfranklin@chromium.org>
2020-10-06 15:17:10 +00:00
2020-08-03 13:36:27 +00:00
2020-09-11 06:57:41 +00:00
2020-10-06 12:28:34 +00:00
2020-10-06 12:28:34 +00:00
2020-04-30 17:56:46 +00:00
2020-08-18 16:56:38 +00:00
2020-08-21 05:51:47 +00:00
2020-05-29 14:29:42 +00:00
2020-05-15 10:33:36 +00:00
2020-10-06 13:59:14 +00:00
2020-07-03 11:49:49 +00:00

Chrome DevTools frontend

npm package

The client-side of the Chrome DevTools, including all JS & CSS to run the DevTools webapp.

Source code

The frontend is available on chromium.googlesource.com.

Design guidelines

Please be aware that DevTools follows additional development guidelines.

Issue triage

The issue triage guidelines can be found here.

Workflows

Instructions to set up, use, and maintain a DevTools frontend checkout can be found here.

Additional references

Source mirrors

DevTools frontend repository is mirrored on GitHub.

DevTools frontend is also available on NPM as the chrome-devtools-frontend package. It's not currently available via CJS or ES modules, so consuming this package in other tools may require some effort.

The version number of the npm package (e.g. 1.0.373466) refers to the Chromium commit position of latest frontend git commit. It's incremented with every Chromium commit, however the package is updated roughly daily.

Getting in touch

S
Description
No description provided
Readme BSD-3-Clause
1.1 GiB
Languages
TypeScript 88.2%
JavaScript 5.7%
CSS 3%
HTML 1.4%
Python 0.8%
Other 0.8%