Commit Graph
934 Commits
Author SHA1 Message Date
Tim van der Lippe 3edd9d7219 Remove intermediate lists that were used in GRD generation
Since we now use the GN metadata to specify all relevant files,
we no longer require these lists. That allows us to clean up the
various actions to no longer having to check the contents of the
lists.

R=aerotwist@chromium.org

Bug: 1174013
Change-Id: Ia361aec69fe9af702a7667e33f7fc389f8a5a24f
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2844169
Commit-Queue: Tim van der Lippe <tvanderlippe@chromium.org>
Reviewed-by: Alex Rudenko <alexrudenko@chromium.org>
Reviewed-by: Paul Lewis <aerotwist@chromium.org>
2021-04-22 12:19:57 +00:00
Tim van der Lippe 0d8ffe34d5 Use GN metadata to compute GRD files
GN metadata allows to specify and later query metadata from any
action in our build graph. Using GN metadata, we can specify
GRD files on an action and collect these files on the top level.
Then, we can compare the list of collected files to the expected
GRD files in `devtools_grd_files.gni` to ensure they match.

As a follow-up change, we can remove the intermediate lists we have
been specifying in `all_devtools_modules.gni` and
`devtools_module_entrypoints.gni`, which now become obsolete. That's
because both `devtools_module` and `devtools_entrypoint` now specify
the files in their respective metadata and essentially perform the
check that all relevant files are collected.

R=aerotwist@chromium.org

Also-By: alexrudenko@chromium.org
Bug: 1174013
Change-Id: I9dd2e6f7e010b5c25f83556511af12d5d1c2ec7c
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2843322
Commit-Queue: Tim van der Lippe <tvanderlippe@chromium.org>
Reviewed-by: Alex Rudenko <alexrudenko@chromium.org>
Reviewed-by: Paul Lewis <aerotwist@chromium.org>
2021-04-22 11:50:37 +00:00
Simon Zünd 1ef0fe1ba3 [ts] Upgrade typescript to 4.3-beta
R=tvanderlippe@chromium.org

Bug: 1196203
Change-Id: Ia4162039831919cf5a3273a720cc73d56bf534f9
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2846324
Commit-Queue: Simon Zünd <szuend@chromium.org>
Reviewed-by: Tim van der Lippe <tvanderlippe@chromium.org>
Reviewed-by: Jack Franklin <jacktfranklin@chromium.org>
2021-04-22 10:06:17 +00:00
Tim van der Lippe ed0c9a1332 Cleanup forwarding variables in node_action
Now all variables are properly forwarded, which means we no
longer have to list individual GN properties to be fowarded
that are used in the numerous `node_action` definitions.

Since `args` and `scripts` are specifically used in `node_action`,
these must not be forwarded.

R=alexrudenko@chromium.org

Bug: 1174013
Change-Id: I1edcaadc3cb49dd0546c244115328fc8aca51ba0
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2843317
Auto-Submit: Tim van der Lippe <tvanderlippe@chromium.org>
Commit-Queue: Alex Rudenko <alexrudenko@chromium.org>
Reviewed-by: Alex Rudenko <alexrudenko@chromium.org>
2021-04-21 14:55:16 +00:00
Tim van der Lippe fddcf408ff Move theme_support to ui/legacy/theme_support
R=aerotwist@chromium.org

Bug: 1187573
Change-Id: I1ca8b563b670777bc6a5d43b46fc9de6d8bba03a
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2831973
Commit-Queue: Tim van der Lippe <tvanderlippe@chromium.org>
Reviewed-by: Paul Lewis <aerotwist@chromium.org>
2021-04-19 13:45:39 +00:00
Jan Scheffler ec7ade6441 [ESLint] Fix ui/components rule
Bug: chromium:1198900
Change-Id: I516051c82ca2388dcc63de02fcf69b68733db32e
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2831445
Commit-Queue: Jan Scheffler <janscheffler@chromium.org>
Reviewed-by: Tim van der Lippe <tvanderlippe@chromium.org>
Reviewed-by: Jack Franklin <jacktfranklin@chromium.org>
2021-04-16 15:37:35 +00:00
Jan Scheffler 7a9279607b [ESLint] Check ui/component imports
This cl adds an eslint rule to check ui/components imports
for a preceding side-effect import. If the side-effect could not
be found, it automatically adds one.

Bug: chromium:1198900
Change-Id: I66ac7c7a366029ab97455d91950dd2898893e807
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2831444
Commit-Queue: Jan Scheffler <janscheffler@chromium.org>
Reviewed-by: Tim van der Lippe <tvanderlippe@chromium.org>
Reviewed-by: Jack Franklin <jacktfranklin@chromium.org>
2021-04-16 14:45:25 +00:00
Simon Zünd a38b38ff4f [deps] Add @types/marked package
R=jacktfranklin@chromium.org

Bug: chromium:1108699
Change-Id: I53591b274be31411b08b65da0f09aeb4dcfdcb3a
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2831434
Reviewed-by: Jack Franklin <jacktfranklin@chromium.org>
Commit-Queue: Simon Zünd <szuend@chromium.org>
2021-04-16 12:24:45 +00:00
Tim van der Lippe 7256e5e754 Move formatter_worker to entrypoints/formatter_worker
R=aerotwist@chromium.org

Bug: 1187573
Change-Id: I12afe682c2781651ff7cdc1650843010e2c8cbfd
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2826294
Commit-Queue: Tim van der Lippe <tvanderlippe@chromium.org>
Reviewed-by: Paul Lewis <aerotwist@chromium.org>
2021-04-15 10:30:32 +00:00
Tim van der Lippe e622f55864 Move component_docs to ui/components/docs
R=jacktfranklin@chromium.org

Bug: 1187573
Change-Id: I2f8225ba1b9fc9848cf497ec0235756ace0f4831
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2826290
Commit-Queue: Tim van der Lippe <tvanderlippe@chromium.org>
Reviewed-by: Jack Franklin <jacktfranklin@chromium.org>
2021-04-14 15:08:31 +00:00
Tim van der Lippe 67d60bf707 Move ExpandableList from ui/components to ui/components/expandable_list
R=jacktfranklin@chromium.org

Bug: 1187573
Change-Id: Id1bdf233133cff65f00cd311cedeb69d6413e53f
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2825794
Commit-Queue: Tim van der Lippe <tvanderlippe@chromium.org>
Reviewed-by: Jack Franklin <jacktfranklin@chromium.org>
2021-04-14 12:50:41 +00:00
Patrick Brosset 5d02bbd8c7 Make isInChromiumDirectory also work when inside chromium
I use the standalone devtools-frontend checkout process like most people
working on devtools, however I placed this repo inside chromium here:
D:\dev\chromium\devtools\devtools-frontend
This way I have both src and devtools-frontend side by side.

I just realized that this prevented me from running the css linter.
Indeed, run_lint_check_css.js tries to find the path to stylelint exe
file based on whether devtools is standalone or integrated in
chromium.src.
If it sees a directory named chromium inside the path, it assumes
devtools is integrated in chromium.src which, in my case, is wrong.

The change attempts to make this logic a little bit more safe by
checking a longer part of the path.
This resolves my issue.

Bug: 1198532
Change-Id: I872429da0751280bef5a4ec68602001421f55056
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2821855
Reviewed-by: Alex Rudenko <alexrudenko@chromium.org>
Reviewed-by: Jack Franklin <jacktfranklin@chromium.org>
Reviewed-by: Brandon Walderman <brwalder@microsoft.com>
Commit-Queue: Patrick Brosset <patrick.brosset@microsoft.com>
2021-04-14 09:42:02 +00:00
Tim van der Lippe d75fee3703 Automatically fix filename in localization ESLint rule
With this change, running the presubmit will automatically update
the wrong paths to the correct value, saving a manual replacement.

R=szuend@chromium.org

Bug: none
Change-Id: Ib98d760d6fd4157aeba0dfed8a8c4496b33f5cc2
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2821816
Commit-Queue: Tim van der Lippe <tvanderlippe@chromium.org>
Commit-Queue: Simon Zünd <szuend@chromium.org>
Auto-Submit: Tim van der Lippe <tvanderlippe@chromium.org>
Reviewed-by: Simon Zünd <szuend@chromium.org>
2021-04-13 17:02:06 +00:00
Jack Franklin 075c2fd6fe Fix errors when linting theme colors in border-X properties.
This CL fixes the fact that the stylelint rule wouldn't deal with:

```
border-bottom: var(--foo) solid var(--color-details-hairline)
```

It does this via a naive regex that splits the border value into its
three pieces, and then only lints the final declaration, which is the
color.

Bug: 1198504
Change-Id: I409adaf8b8777112ce4f3b24f0a6f63bd7435c25
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2823831
Auto-Submit: Jack Franklin <jacktfranklin@chromium.org>
Commit-Queue: Paul Lewis <aerotwist@chromium.org>
Reviewed-by: Paul Lewis <aerotwist@chromium.org>
2021-04-13 16:12:48 +00:00
Tim van der Lippe 8499fe2ad0 Move data_grid to ui/legacy/components/data_grid
It also updates the ES Modules ESLint rule to allow for the import
from DataGrid to the legacy UI folder, as they are now nested.

R=aerotwist@chromium.org

Bug: 1187573
Change-Id: I8a6a577b10464216efafed10e62f24ca0c06e194
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2821870
Commit-Queue: Tim van der Lippe <tvanderlippe@chromium.org>
Reviewed-by: Paul Lewis <aerotwist@chromium.org>
2021-04-12 17:21:23 +00:00
Tim van der Lippe 9646971c47 Remove dagre_layout
This code is unused and will not be shipping with DevTools in the
near future. It is also third_party code, so we will need to follow
the third_party procedure if we want to add back this code.

R=aerotwist@chromium.org

Bug: 1187573
Change-Id: I83af5983bf5223dc167ac2d9c824b39a559df717
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2821875
Auto-Submit: Tim van der Lippe <tvanderlippe@chromium.org>
Reviewed-by: Paul Lewis <aerotwist@chromium.org>
Commit-Queue: Tim van der Lippe <tvanderlippe@chromium.org>
2021-04-12 16:42:33 +00:00
Tim van der Lippe 7b347ca16f Move entrypoints to sub-folder
All JavaScript files for each entrypoint are put in their respective
sub-folder of front-end. The HTML files load from the new location and
build_release_applications has been updated to load from the correct
location.

R=aerotwist@chromium.org

Bug: 1187573
Change-Id: I4b93f3a2127ef2d3ce7dccefe03f70e79dac1c19
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2818379
Commit-Queue: Tim van der Lippe <tvanderlippe@chromium.org>
Reviewed-by: Paul Lewis <aerotwist@chromium.org>
2021-04-12 12:04:18 +00:00
Tim van der Lippe 124fb1d9e6 Replace rjsmin with terser in inspector_overlay
We can use the terser plugin for Rollup (which the frontend also
uses) to minify our source code, rather than the Python-based
minifier.

When using terser, we can reduce the maximum file size from 110000
to 65000 bytes (~40% reduction).

R=alexrudenko@chromium.org

Bug: none
Change-Id: Ib2d7fd296ab20150dab44224f5ced03c725f798b
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2815120
Commit-Queue: Tim van der Lippe <tvanderlippe@chromium.org>
Reviewed-by: Alex Rudenko <alexrudenko@chromium.org>
2021-04-12 11:37:33 +00:00
Tim van der Lippe 732be58da1 Move *.gni files from root to config/gni
This allows us to clean up the OWNERS as well and add a single
OWNERS file in /config/gni to allow all COMMON_OWNERS to make
changes to these files.

DISABLE_THIRD_PARTY_CHECK=File move
R=yangguo@chromium.org

Bug: 1187573
Change-Id: I989caf2762e75725d22fa80f573c72bcf6570dd8
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2817617
Reviewed-by: Yang Guo <yangguo@chromium.org>
Commit-Queue: Tim van der Lippe <tvanderlippe@chromium.org>
2021-04-12 11:06:13 +00:00
Jack Franklin 18248f7b85 Disable flakey dark mode script check.
Pending figuring out what's causing the flakes.

Bug: 1198054.
Change-Id: Ibb5604c469c495225fc10e97d2d261d789dbeca4
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2817805
Commit-Queue: Jack Franklin <jacktfranklin@chromium.org>
Commit-Queue: Alex Rudenko <alexrudenko@chromium.org>
Auto-Submit: Jack Franklin <jacktfranklin@chromium.org>
Reviewed-by: Alex Rudenko <alexrudenko@chromium.org>
2021-04-12 08:45:56 +00:00
Tim van der Lippe 2d748a8ec5 Remove suggest_owners script
R=jacktfranklin@chromium.org

Bug: none
Change-Id: I9bbe0e91f2fae60f16e1c62be898e2ce8b3a7f14
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2817599
Commit-Queue: Tim van der Lippe <tvanderlippe@chromium.org>
Commit-Queue: Jack Franklin <jacktfranklin@chromium.org>
Auto-Submit: Tim van der Lippe <tvanderlippe@chromium.org>
Reviewed-by: Jack Franklin <jacktfranklin@chromium.org>
2021-04-09 14:14:03 +00:00
Tim van der Lippe 685c0b8953 Update typescript-eslint and type packages
R=jacktfranklin@chromium.org
DISABLE_THIRD_PARTY_CHECK=TypeScript-eslint update

Bug: none
Change-Id: I4e22f8fe3e2c089331a6615c47916860237e7596
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2815123
Auto-Submit: Tim van der Lippe <tvanderlippe@chromium.org>
Commit-Queue: Yang Guo <yangguo@chromium.org>
Reviewed-by: Yang Guo <yangguo@chromium.org>
Reviewed-by: Jack Franklin <jacktfranklin@chromium.org>
2021-04-09 12:39:43 +00:00
Jack Franklin 0f019a03ee Fix ComponentServer relying on <style> tag to inject deps
The component server needs to inject CSS and JS scripts into each
example. It was doing this by relying on a <style> and <script> tag as
the hook to inject more code. But if you have an example without a
<style> or <script> tag, it won't work. Instead we now inject based on
the </head> and </body> tags, which will always exist (or, if they
don't, we have bigger problems!)

Bug: None
Change-Id: Id2f586c917ee7ab0821d5ab8e50e5cd3d3647a92
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2815131
Commit-Queue: Jack Franklin <jacktfranklin@chromium.org>
Commit-Queue: Tim van der Lippe <tvanderlippe@chromium.org>
Auto-Submit: Jack Franklin <jacktfranklin@chromium.org>
Reviewed-by: Tim van der Lippe <tvanderlippe@chromium.org>
2021-04-09 10:03:23 +00:00
Jack Franklin a5840547ae Ensure dark mode CSS files are regenerated if scripts change
Fixed: 1197060
Change-Id: Id34e0da87a35af780655c233e0d5622408205803
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2814661
Reviewed-by: Tim van der Lippe <tvanderlippe@chromium.org>
Commit-Queue: Jack Franklin <jacktfranklin@chromium.org>
2021-04-09 09:32:04 +00:00
Tim van der Lippe d7e3db8cc5 Remove special_case_namespaces
These were remnants of the Closure Compiler and module.json era,
but we are no longer using these to populate the global scope.

R=jacktfranklin@chromium.org

Bug: none
Change-Id: I61287c81e45207ad7ff0e7fb292d267b41d28f09
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2815121
Auto-Submit: Tim van der Lippe <tvanderlippe@chromium.org>
Commit-Queue: Jack Franklin <jacktfranklin@chromium.org>
Reviewed-by: Jack Franklin <jacktfranklin@chromium.org>
2021-04-09 08:50:02 +00:00
Tim van der Lippe 1514572896 Remove scripts/unused_css
These scripts are unused.

R=jacktfranklin@chromium.org

Bug: none
Change-Id: I5d1175e55ed30647b53e4bbfec07f09f821f7d08
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2815119
Commit-Queue: Tim van der Lippe <tvanderlippe@chromium.org>
Commit-Queue: Jack Franklin <jacktfranklin@chromium.org>
Auto-Submit: Tim van der Lippe <tvanderlippe@chromium.org>
Reviewed-by: Jack Franklin <jacktfranklin@chromium.org>
2021-04-08 15:35:13 +00:00
Tim van der Lippe 2e143870f7 Move owners files into config/owners
The separate *_OWNERS files are related and can be grouped together
in a folder to make this distinction clear. This will allow us
to update the PRESUBMIT script to explicitly mark them as
exclusive change directory.

Note that the directory is named "owner", as we can't name it
"owners" as that is case-insensitive equivalent to "OWNERS",
which Windows can't handle in its presubmits.

DISABLE_THIRD_PARTY_CHECK=OWNERS update
R=yangguo@chromium.org

Bug: 1187573
Change-Id: Ib94a544c9dc01f788a8b75a5c8111ab52fbc27b8
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2814658
Commit-Queue: Tim van der Lippe <tvanderlippe@chromium.org>
Commit-Queue: Yang Guo <yangguo@chromium.org>
Auto-Submit: Tim van der Lippe <tvanderlippe@chromium.org>
Reviewed-by: Yang Guo <yangguo@chromium.org>
2021-04-08 12:25:52 +00:00
Tim van der Lippe e6583133ad Fix interactions tests
These tests were still importing the css files from their original
location. The files were moved in https://crrev.com/c/2810839, but
because of stale `autoninja` compilation outputs, that CL got
submitted just fine. When new bots were provisioned, the files
were missing and the tests started failing post-submit.

Confirmed locally that removing the old compilation output fails
the tests and this output makes them pass again.

R=jacktfranklin@chromium.org

Bug: 1187573
Change-Id: Ia564c76f53ff31d0669c88967ba916bf910e3538
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2813958
Commit-Queue: Tim van der Lippe <tvanderlippe@chromium.org>
Commit-Queue: Jack Franklin <jacktfranklin@chromium.org>
Auto-Submit: Tim van der Lippe <tvanderlippe@chromium.org>
Reviewed-by: Jack Franklin <jacktfranklin@chromium.org>
2021-04-08 10:17:42 +00:00
Tim van der Lippe aa61faf631 Move ui to ui/legacy
R=jacktfranklin@chromium.org

Bug: 1187573
Change-Id: Ifc536ba79b0a324aa38e76aa294c73cd699c6536
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2810839
Commit-Queue: Tim van der Lippe <tvanderlippe@chromium.org>
Reviewed-by: Jack Franklin <jacktfranklin@chromium.org>
2021-04-07 16:06:59 +00:00
Alex Rudenko 7d12c02acd Migrate deps scripts to use the main branch
Bug: chromium:1196558, chromium:1095735
Change-Id: I19da23ac471badcffda771e3e80901d5197091f8
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2810273
Reviewed-by: Tim van der Lippe <tvanderlippe@chromium.org>
Reviewed-by: Mathias Bynens <mathias@chromium.org>
Commit-Queue: Alex Rudenko <alexrudenko@chromium.org>
2021-04-07 11:50:59 +00:00
Jack Franklin 78bd9c00e3 Add lint rule for LitHtml.render calls
This CL adds a rule that ensures that any LitHtml.render call is
nested within a coordinator.write. It uses a fairly simple approach of
looking for a parent coordinator.write() call, but it should pick up most
cases.

Note this CL doesn't enable the rule; I'll do that in a follow-up. There
are 22 violations of the rule, so I will work on fixing those.

Bug: 1188116
Change-Id: Id73eaaa76db4685450086d2f77e7b2de322210d0
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2799754
Commit-Queue: Jack Franklin <jacktfranklin@chromium.org>
Reviewed-by: Tim van der Lippe <tvanderlippe@chromium.org>
2021-04-06 10:52:06 +00:00
Jan Scheffler b4eb22da3a [JSDOC2TS]: Migrate main
Bug: chromium:1158760
Change-Id: Ibe9b0fe480794bb788253a3b9902d4cc42a5ca2e
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2789347
Commit-Queue: Jan Scheffler <janscheffler@chromium.org>
Reviewed-by: Tim van der Lippe <tvanderlippe@chromium.org>
2021-04-05 21:15:07 +00:00
Tim van der Lippe bb352e6a14 Move i18n to core/i18n
R=aerotwist@chromium.org
DISABLE_THIRD_PARTY_CHECK=i18n move

No-Presubmit: true
Bug: 1187573
Change-Id: I3dd02956bcf078e0e3b059240ea583b3a83c09b2
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2799756
Commit-Queue: Tim van der Lippe <tvanderlippe@chromium.org>
Reviewed-by: Paul Lewis <aerotwist@chromium.org>
2021-04-01 18:31:44 +00:00
Paul Lewis d689287a1b [Components Server] Add support for gzip files
R=jacktfranklin@chromium.org

Bug: None
Change-Id: I312dc4740fab41e207d2326113db247a19da3e5b
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2799757
Reviewed-by: Jack Franklin <jacktfranklin@chromium.org>
Commit-Queue: Jack Franklin <jacktfranklin@chromium.org>
Auto-Submit: Paul Lewis <aerotwist@chromium.org>
2021-04-01 15:32:04 +00:00
Tim van der Lippe e0247311ec Move host to core/host
R=aerotwist@chromium.org

No-Presubmit: true
Bug: 1187573
Change-Id: I836c98bbd5b05f4595e28cedfaf957a6f47c7807
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2799755
Commit-Queue: Tim van der Lippe <tvanderlippe@chromium.org>
Auto-Submit: Tim van der Lippe <tvanderlippe@chromium.org>
Reviewed-by: Paul Lewis <aerotwist@chromium.org>
2021-04-01 15:00:23 +00:00
Jack Franklin 7666031432 [DarkMode] fix darkmode generation to not include variables
Prior to this CL, if we gave the dark mode generation script a CSS
file that contained:

```
.foo {
  color: var(--override-some-custom-color);
}
```

The script would generate the following CSS:

```
.-theme-with-dark-background .foo,
:host-context(.-theme-with-dark-background) .foo {
  color: var(--override-some-custom-color);
}
```

But because the value of `color` is a variable, this CSS does nothing
that the original CSS won't do. Therefore the CL checks each rule for
any declarations that include `var(--` in them, and removes them from
the CSS that is sent to be dark patched.

Bug: chromium:1188524
Change-Id: I1257ac7c8b9f11426ce5c9b44bd89900072cf1b3
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2797199
Auto-Submit: Jack Franklin <jacktfranklin@chromium.org>
Commit-Queue: Tim van der Lippe <tvanderlippe@chromium.org>
Reviewed-by: Tim van der Lippe <tvanderlippe@chromium.org>
2021-04-01 12:57:13 +00:00
Tim van der Lippe d8caac43df Move root to core/root
R=aerotwist@chromium.org

No-Presubmit: true
Bug: 1187573
Change-Id: I243b006f0b96bec4ff251394cb301e01226893ff
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2797216
Commit-Queue: Tim van der Lippe <tvanderlippe@chromium.org>
Reviewed-by: Paul Lewis <aerotwist@chromium.org>
2021-03-31 16:21:32 +00:00
Jack Franklin 95126a863b [TestRunner] support --test-file-pattern as a positional arg.
Bug: chromium:1186163
Change-Id: Ib485321ba38860b9640f143f5cba008bdfa52bf6
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2794955
Auto-Submit: Jack Franklin <jacktfranklin@chromium.org>
Commit-Queue: Philip Pfaffe <pfaffe@chromium.org>
Reviewed-by: Philip Pfaffe <pfaffe@chromium.org>
2021-03-31 12:18:13 +00:00
Jack Franklin 49e33f9fa2 Remove component docs server image path hack
This hack was needed back when we didn't unify how we loaded images in
CSS; we now do via the `var(--image-file-X)` approach that generates
correct relative images. Therefore we can lose this hack in the
component docs :)

Bug: none
Change-Id: I98ec7d21437aa280d7a33ecd4fae64f59bfba83b
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2794950
Commit-Queue: Jack Franklin <jacktfranklin@chromium.org>
Commit-Queue: Tim van der Lippe <tvanderlippe@chromium.org>
Auto-Submit: Jack Franklin <jacktfranklin@chromium.org>
Reviewed-by: Tim van der Lippe <tvanderlippe@chromium.org>
2021-03-31 11:03:13 +00:00
Jack Franklin e61c02b806 [TestRunner] Make Conductor use --chrome-features flag.
This CL fixes a bug where the test runner took the `--chrome-features`
flag but Conductor never read that value when booting up a browser
instance.

This CL updates it so it will read the value and pass it into the
relevant argument when executing `puppeteer.launch`.

I also changed the Python test suite runner to not prepend
`--enable-features`; that feels like something that Conductor should
do, not the test runner.

Bug: chromium:1186163
Change-Id: I05916d39d60bb98a606570cd82e688581dd78a40
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2790874
Reviewed-by: Tim van der Lippe <tvanderlippe@chromium.org>
Reviewed-by: Philip Pfaffe <pfaffe@chromium.org>
Commit-Queue: Jack Franklin <jacktfranklin@chromium.org>
2021-03-29 11:47:41 +00:00
Jack Franklin 4b34d9c8cf Revert "[TestRunner] remove --chrome-features flag"
This reverts commit 7742a201a1.

Reason for revert: We do have a use case for this flag that we missed, so we need it. Will follow-up with a CL to fix the fact that the test frontend infra doesn't use it currently.

Original change's description:
> [TestRunner] remove --chrome-features flag
>
> The scripts (both the old Python one and the new JS one) took
> `--chrome-features` as a flag, which was then set as
> `process.env.CHROME_FEATURES`, however searching the codebase for
> `CHROME_FEATURES` revealed that whilst we set this value, we never
> read it. Therefore this CL removes it entirely, my logic being that if
> someone needed this flag to work, we would have found this bug a long
> time ago.
>
> We can reintroduce should we find a usecase for it in the future.
>
> Bug: chromium:1186163
> Change-Id: I11d900df4aaad232fd64b9edca2aac12c94fc988
> Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2782555
> Commit-Queue: Jack Franklin <jacktfranklin@chromium.org>
> Reviewed-by: Tim van der Lippe <tvanderlippe@chromium.org>
> Reviewed-by: Philip Pfaffe <pfaffe@chromium.org>

Bug: chromium:1186163
Change-Id: I336a4a14a3e720f3b0626d78148038ceab9a8774
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2786942
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Reviewed-by: Philip Pfaffe <pfaffe@chromium.org>
Commit-Queue: Jack Franklin <jacktfranklin@chromium.org>
2021-03-25 14:02:21 +00:00
Tim van der Lippe f0a9176592 Fix deps in release mode for devtools_entrypoint
In release mode, the devtools_entrypoint prebundle step was missing
the deps. We ran into this issue when we were moving the emulation
panel into panels/emulation, which required some updates to the
toolbox.ts entrypoint (crrev.com/c/2782540).

The missing deps then required the rootdir logic to be changed,
such that deps are correctly resolved relative to the gen-directory,
not the source directory.

This CL might improve build performance in release builds, since
we are now properly using incremental references for our
entrypoints and saving a bit of compilation time.

DISABLE_THIRD_PARTY_CHECK=TypeScript fix
R=aerotwist@chromium.org

Bug: 1187573
Change-Id: I4662ac90ba50116cb668dfe3164fe725b74f9a37
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2782554
Auto-Submit: Tim van der Lippe <tvanderlippe@chromium.org>
Reviewed-by: Paul Lewis <aerotwist@chromium.org>
Commit-Queue: Tim van der Lippe <tvanderlippe@chromium.org>
2021-03-24 16:07:44 +00:00
Jack Franklin 7742a201a1 [TestRunner] remove --chrome-features flag
The scripts (both the old Python one and the new JS one) took
`--chrome-features` as a flag, which was then set as
`process.env.CHROME_FEATURES`, however searching the codebase for
`CHROME_FEATURES` revealed that whilst we set this value, we never
read it. Therefore this CL removes it entirely, my logic being that if
someone needed this flag to work, we would have found this bug a long
time ago.

We can reintroduce should we find a usecase for it in the future.

Bug: chromium:1186163
Change-Id: I11d900df4aaad232fd64b9edca2aac12c94fc988
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2782555
Commit-Queue: Jack Franklin <jacktfranklin@chromium.org>
Reviewed-by: Tim van der Lippe <tvanderlippe@chromium.org>
Reviewed-by: Philip Pfaffe <pfaffe@chromium.org>
2021-03-24 15:26:05 +00:00
Tim van der Lippe 0a9b84dbd8 Update NPM dependencies
Major updates to Puppeteer (Chromium roll and updates to types:
https://github.com/puppeteer/puppeteer/blob/0b5969dea9048dc34a4d2e109e96c42e8928182c/CHANGELOG.md#800-2021-02-26) and Sinon (unaffected by browser support changes).

DISABLE_THIRD_PARTY_CHECK=NPM updates
R=jacktfranklin@chromium.org

Fixed: 1176642
Change-Id: I419300fc573e8086b4a7b3b6281c81602890f8d0
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2782553
Commit-Queue: Tim van der Lippe <tvanderlippe@chromium.org>
Auto-Submit: Tim van der Lippe <tvanderlippe@chromium.org>
Reviewed-by: Jack Franklin <jacktfranklin@chromium.org>
2021-03-24 13:47:34 +00:00
Jack Franklin 1e39e4a268 [TestRunner] allow the e2e resources path to be configurable
Bug: chromium:1186163
Change-Id: I35031bd570f88de3b884da4e57cb9de5d00e5571
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2782551
Reviewed-by: Paul Lewis <aerotwist@chromium.org>
Commit-Queue: Paul Lewis <aerotwist@chromium.org>
Auto-Submit: Jack Franklin <jacktfranklin@chromium.org>
2021-03-24 10:58:21 +00:00
Jack Franklin 6a83482bc7 Fix dark mode stylesheet generation
The dark mode generation was disabled due to a bug
(https://crbug.com/1185185) in the Sources Panel.

The source of that bug was that the dark mode generation takes all the
CSS in the source CSS file, applies the colour patching to it,
prepends each rule with `.-theme-with-dark-background` and then writes
the new file to disk.

The problem was that any CSS overrides defined in the source file
would not be applied, because the automatic CSS generated by the dark
mode script would be loaded after it and therefore take precedent. The
fix is to make the script smarter and recognise any overrides provided
in the source CSS file, and include them in the bottom of the dark
mode script, so that they are still applied and override the generated
CSS. This isn't ideal, as it means we load some blocks of CSS twice,
but it's better than having to manually update colours in some of our
CSS files that have 50+ declarations to update.

This CL doesn't re-enable the use of any of the dark mode scripts,
this will be done in a follow-up.

Bug: chromium:1188524
Change-Id: I03a1daa57d5535bb768696ca0d7bafc968618035
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2780804
Commit-Queue: Jack Franklin <jacktfranklin@chromium.org>
Reviewed-by: Tim van der Lippe <tvanderlippe@chromium.org>
2021-03-24 10:02:51 +00:00
Jack Franklin fa099cbaef [TestRunner] validate file paths on input
Bug: chromium:1186163
Change-Id: If1c73edeebc1e015314ed4250ef038a816bdbcf4
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2780793
Auto-Submit: Jack Franklin <jacktfranklin@chromium.org>
Commit-Queue: Paul Lewis <aerotwist@chromium.org>
Reviewed-by: Paul Lewis <aerotwist@chromium.org>
2021-03-23 11:28:59 +00:00
Jack Franklin 9fd84dfc8c Add postcss to Node deps
We already had PostCSS as an implicit dep because stylelint depends on
it. I need to use its API to parse CSS for some of the dark mode
migration, so I'm moving postcss to be a top level dep.

DISABLE_THIRD_PARTY_CHECK=updating node modules

Bug: chromium:1152736
Change-Id: I93919fb2d676337604209cf6bf9c8570f98bd5e0
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2780799
Commit-Queue: Jack Franklin <jacktfranklin@chromium.org>
Auto-Submit: Jack Franklin <jacktfranklin@chromium.org>
Reviewed-by: Paul Lewis <aerotwist@chromium.org>
2021-03-23 10:52:17 +00:00
Tim van der Lippe cf4887dd50 Remove modules from module.json
This removes all declarations of modules in module.json. All of these
are now unused, since we load all files either explicitly in layout
tests or import them using ES modules.

The timeline_model/module.json file was empty after this change, so
I removed that one as well.

R=aerotwist@chromium.org

Fixed: 1131500
Change-Id: I7d769a8944d68d82da879daf2948571911ae5d49
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2775933
Commit-Queue: Tim van der Lippe <tvanderlippe@chromium.org>
Reviewed-by: Paul Lewis <aerotwist@chromium.org>
2021-03-22 13:40:54 +00:00
Tim van der Lippe 68b974a3c3 Fix eslint import rule for nested folders
When source code is in nested folders, the es_modules_import rule
would incorrectly compute the containing folders from `front_end`.
Thus, if you would have two sibling folders in `front_end/panels`,
the rule would incorrectly determine that they are in the same
folder, while technically they are in a different folder.

Therefore, the logic is rewritten to compute the common prefix
of the two paths. If either one path ends up resolving to just
a file, we assume that they were both part of the same folder.
In other words: iff after removing the common prefix you still
are importing both paths across a folder boundary, they are
considered a different folder.

R=jacktfranklin@chromium.org

Bug: 1187573
Change-Id: Ib34583e258e005a124735e17e6a92e829eb37ef3
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2773054
Auto-Submit: Tim van der Lippe <tvanderlippe@chromium.org>
Commit-Queue: Jack Franklin <jacktfranklin@chromium.org>
Reviewed-by: Jack Franklin <jacktfranklin@chromium.org>
2021-03-19 08:00:29 +00:00