Accessibility issue: when using keyboard to navigate to navigation
buttons (back, forward, and reload) in screencast, they are not focused.
We noticed that when the focus is supposed to be on the said buttons,
the button has focus but there is no visual indication. We add a css
rule so that the focus is shown the same way as being hovered over.
Image before: (from navigation url, use shift+tab, to reload or back
buttons. Button does not show focus.)
https://imgur.com/BXjJHmp
Images after: (same as above, but the button has an outline color
indicating focus)
https://imgur.com/dixx9Vp
Change-Id: Iac23a5a05065207f706c03f2c19ebd182e296085
CrBug: https://bugs.chromium.org/p/chromium/issues/detail?id=1081486
Change-Id: I4f77a42e09aaa65386fa5d49542e8725428d263c
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2197241
Reviewed-by: Shane Clifford <shanejc@microsoft.com>
Reviewed-by: Brandon Goddard <brgoddar@microsoft.com>
Commit-Queue: Songtao Xia <soxia@microsoft.com>
Previously, we were storing the information about the HTML entrypoints
in the `{entrypoint}.json`, so that `build_release_applications.py`
would copy these files over to the `resources/inspector` directory.
Rather than using a Python script for this, we can use the Ninja
copy action. This allows us to enforce that the correct outputs
are passed to `generate_devtools_grd`.
For legacy reasons, we can't apply the same solution to the
integration_test_runner.html. It will therefore be fixed in a
follow-up CL.
A future change can use the target_outputs of
`front_end_html_entrypoints` to automatically generate the GRD
files as well.
R=aerotwist@chromium.org
Bug: 1078770
Change-Id: I8c94c419ace46e881a6920d6d59a3e311d359f2d
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2183917
Commit-Queue: Tim van der Lippe <tvanderlippe@chromium.org>
Reviewed-by: Paul Lewis <aerotwist@chromium.org>
Users can give workers a name via the options param when they construct
it. We didn't display this previously on the performance panel, although
we already do in the sources panel.
The user-supplied name is stored on the target, so we need to look up
the target for the worker. The profiling data itself comes from tracing
and doesn't contain the name.
We keep the URL in the output as this is still useful.
User code: https://imgur.com/a/5Y2RmQg
After: https://imgur.com/ZDAccs6
Fixed: 938866
Change-Id: I0e815daef1ab8ae56d0856d73ee673d53724d483
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2193956
Reviewed-by: Mathias Bynens <mathias@chromium.org>
Commit-Queue: Peter Marshall <petermarshall@chromium.org>
Our invocations to `tsc` are slower than expected. Following the
performance guide on the TypeScript wiki [1], we can apply some
optimizations for our build.
The most promising optimization is skipping the checks for all
declaration files. The ts_library is heavily depended on the
declaration files, as we use project references behind the scenes.
Moreover, we use several "global" declaration files that are large.
Since we have strict control over the declaration files that are
generated, we can omit the lib checks during development. For safety,
we will remaining checking the libs on a release build, to catch
potential issues. Therefore, condition the skipping on the `is_debug`
flag in the typescript.gni definition.
Before this change:
$ NINJA_SUMMARIZE_BUILD=1 autoninja -C out/Default
/Users/tvanderlippe/Projects/depot_tools/ninja -C out/Default -j 10 -d stats
ninja: Entering directory `out/Default'
[1 processes, 1/1 @ 3.4/s : 0.294s ] Regenerating ninja files
[1 processes, 254/254 @ 3.2/s : 80.175s ] STAMP obj/test/test.stamp
metric count avg (us) total (ms)
.ninja parse 4 14789.8 59.2
canonicalize str 18000 0.1 2.5
canonicalize path 18174 0.1 1.3
lookup node 18172 0.1 1.9
.ninja_log load 2 4535.5 9.1
.ninja_deps load 2 215.0 0.4
node stat 7954 5.1 40.9
depfile load 2 293.0 0.6
StartEdge 256 1557.4 398.7
FinishCommand 255 258.4 65.9
path->node hash load 0.64 (3914 entries / 6151 buckets)
Longest build steps:
1.6 weighted s to build (26 items) gen/test/unittests/front_end/ui/ui-tsconfig.json, gen/test/unittests/front_end/ui/ui-tsconfig.json.tsbuildinfo, ... (8.3 s elapsed time)
1.6 weighted s to build (44 items) gen/test/unittests/front_end/common/common-tsconfig.json, gen/test/unittests/front_end/common/common-tsconfig.json.tsbuildinfo, ... (10.5 s elapsed time)
1.6 weighted s to build (26 items) gen/test/unittests/front_end/sdk/sdk-tsconfig.json, gen/test/unittests/front_end/sdk/sdk-tsconfig.json.tsbuildinfo, ... (4.9 s elapsed time)
1.7 weighted s to build (5 items) gen/test/unittests/front_end/dom_extension/dom_extension-tsconfig.json, gen/test/unittests/front_end/dom_extension/dom_extension-tsconfig.json.tsbuildinfo, ... (8.1 s elapsed time)
1.7 weighted s to build (17 items) gen/test/unittests/front_end/platform/platform-tsconfig.json, gen/test/unittests/front_end/platform/platform-tsconfig.json.tsbuildinfo, ... (7.9 s elapsed time)
1.8 weighted s to build (8 items) gen/test/unittests/front_end/browser_sdk/browser_sdk-tsconfig.json, gen/test/unittests/front_end/browser_sdk/browser_sdk-tsconfig.json.tsbuildinfo, ... (4.0 s elapsed time)
1.8 weighted s to build (74 items) gen/front_end/common/common-tsconfig.json, gen/front_end/common/common-tsconfig.json.tsbuildinfo, ... (8.1 s elapsed time)
2.5 weighted s to build (5 items) gen/test/unittests/front_end/issues/issues-tsconfig.json, gen/test/unittests/front_end/issues/issues-tsconfig.json.tsbuildinfo, ... (3.7 s elapsed time)
3.2 weighted s to build (179 items) gen/front_end/ui/ui-tsconfig.json, gen/front_end/ui/ui-tsconfig.json.tsbuildinfo, ... (25.8 s elapsed time)
4.5 weighted s to build (170 items) gen/front_end/sdk/sdk-tsconfig.json, gen/front_end/sdk/sdk-tsconfig.json.tsbuildinfo, ... (32.4 s elapsed time)
Time by build-step type:
0.0 s weighted time to generate 1 .conf.js files (0.0 s elapsed time sum)
0.0 s weighted time to generate 1 .mjs.map files (0.0 s elapsed time sum)
0.0 s weighted time to generate 1 .mjs files (0.0 s elapsed time sum)
0.0 s weighted time to generate 4 .json files (0.2 s elapsed time sum)
0.0 s weighted time to generate 19 .svg files (0.3 s elapsed time sum)
0.1 s weighted time to generate 42 .png files (0.8 s elapsed time sum)
0.1 s weighted time to generate 65 .stamp files (0.8 s elapsed time sum)
0.7 s weighted time to generate 1 .grd files (1.8 s elapsed time sum)
2.0 s weighted time to generate 67 .js files (14.4 s elapsed time sum)
77.3 s weighted time to generate 53 .d.ts files (506.2 s elapsed time sum)
80.2 s weighted time (524.4 s elapsed time sum, 6.5x parallelism)
254 build steps completed, average of 3.17/s
After this change:
$ NINJA_SUMMARIZE_BUILD=1 autoninja -C out/Default
/Users/tvanderlippe/Projects/depot_tools/ninja -C out/Default -j 10 -d stats
ninja: Entering directory `out/Default'
[1 processes, 1/1 @ 3.9/s : 0.260s ] Regenerating ninja files
[1 processes, 248/248 @ 5.9/s : 41.903s ] STAMP obj/test/test.stamp
metric count avg (us) total (ms)
.ninja parse 4 14791.8 59.2
canonicalize str 18000 0.1 2.5
canonicalize path 18174 0.1 1.4
lookup node 18172 0.1 1.8
.ninja_log load 2 2128.0 4.3
.ninja_deps load 2 53.5 0.1
node stat 6248 5.4 33.5
depfile load 2 400.5 0.8
StartEdge 250 1496.1 374.0
FinishCommand 249 195.0 48.5
path->node hash load 0.64 (3914 entries / 6151 buckets)
Longest build steps:
0.8 weighted s to build (17 items) gen/test/unittests/front_end/text_utils/text_utils-tsconfig.json, gen/test/unittests/front_end/text_utils/text_utils-tsconfig.json.tsbuildinfo, ... (5.7 s elapsed time)
0.9 weighted s to build (44 items) gen/test/unittests/front_end/common/common-tsconfig.json, gen/test/unittests/front_end/common/common-tsconfig.json.tsbuildinfo, ... (5.7 s elapsed time)
0.9 weighted s to build (14 items) gen/front_end/browser_sdk/browser_sdk-tsconfig.json, gen/front_end/browser_sdk/browser_sdk-tsconfig.json.tsbuildinfo, ... (1.8 s elapsed time)
0.9 weighted s to build (74 items) gen/front_end/common/common-tsconfig.json, gen/front_end/common/common-tsconfig.json.tsbuildinfo, ... (3.7 s elapsed time)
1.0 weighted s to build (5 items) gen/front_end/issues/issues-tsconfig.json, gen/front_end/issues/issues-tsconfig.json.tsbuildinfo, ... (1.9 s elapsed time)
1.0 weighted s to build (26 items) gen/test/unittests/front_end/sdk/sdk-tsconfig.json, gen/test/unittests/front_end/sdk/sdk-tsconfig.json.tsbuildinfo, ... (2.0 s elapsed time)
1.0 weighted s to build (5 items) gen/test/unittests/front_end/issues/issues-tsconfig.json, gen/test/unittests/front_end/issues/issues-tsconfig.json.tsbuildinfo, ... (2.0 s elapsed time)
1.1 weighted s to build (8 items) gen/test/unittests/front_end/browser_sdk/browser_sdk-tsconfig.json, gen/test/unittests/front_end/browser_sdk/browser_sdk-tsconfig.json.tsbuildinfo, ... (2.4 s elapsed time)
2.8 weighted s to build (179 items) gen/front_end/ui/ui-tsconfig.json, gen/front_end/ui/ui-tsconfig.json.tsbuildinfo, ... (14.2 s elapsed time)
4.4 weighted s to build (170 items) gen/front_end/sdk/sdk-tsconfig.json, gen/front_end/sdk/sdk-tsconfig.json.tsbuildinfo, ... (14.8 s elapsed time)
Time by build-step type:
0.0 s weighted time to generate 1 .mjs files (0.0 s elapsed time sum)
0.0 s weighted time to generate 1 .conf.js files (0.0 s elapsed time sum)
0.0 s weighted time to generate 1 .mjs.map files (0.0 s elapsed time sum)
0.0 s weighted time to generate 4 .json files (0.2 s elapsed time sum)
0.0 s weighted time to generate 19 .svg files (0.3 s elapsed time sum)
0.1 s weighted time to generate 42 .png files (0.7 s elapsed time sum)
0.1 s weighted time to generate 65 .js files (1.0 s elapsed time sum)
0.1 s weighted time to generate 61 .stamp files (0.5 s elapsed time sum)
0.8 s weighted time to generate 1 .grd files (1.8 s elapsed time sum)
40.8 s weighted time to generate 53 .d.ts files (222.1 s elapsed time sum)
41.9 s weighted time (226.7 s elapsed time sum, 5.4x parallelism)
248 build steps completed, average of 5.92/s
[1]: https://github.com/microsoft/TypeScript/wiki/Performance#skipping-dts-checkingR=jacktfranklin@chromium.org
CC=yangguo@chromium.org
Bug: 1011811
Change-Id: I9fc368db2d26fd11d62e8f30d7fcb04bfe44dcc1
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2193571
Reviewed-by: Jack Franklin <jacktfranklin@chromium.org>
Commit-Queue: Tim van der Lippe <tvanderlippe@chromium.org>
Blank key value pairs can currently be added in local and session storage which leads to the ui displaying two empty entries instead of one.
Blank entries can currently be added because comparison of newText (empty string) and the previous value (null) evaluates to true in DataGridImpl._editingCommitted.
This PR changes this by setting the previous value (valueBeforeEditing) to empty string in case it is null.
Fixed: 1077736
Change-Id: I38961e7e744e1abf41b2e36fdaaee76ed0abcbe2
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2190480
Reviewed-by: Tim van der Lippe <tvanderlippe@chromium.org>
Commit-Queue: Tim van der Lippe <tvanderlippe@chromium.org>