Commit Graph
19 Commits
Author SHA1 Message Date
Alex Rudenko 7c94b5f29e Compress md files
This CL adds compression for md files resulting in ~16KB reduction
in binary size of chromium resources.

Bug: chromium:1211337
Change-Id: I5f5482ae0bc297adea4c4bea0c911b4303877484
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2916384
Reviewed-by: Tim van der Lippe <tvanderlippe@chromium.org>
Commit-Queue: Alex Rudenko <alexrudenko@chromium.org>
2021-05-25 13:37:47 +00:00
Alex Rudenko 8505e32b7b Implement caching for file compression during builds
This CL adds a new script to compress files using brotli. The new script
maintains a cache of compressed files so if the file was previously
compressed and has not been changed, it is not compressed again.
The compression happens only in release builds. Also, this CL
includes JSON into the compression list saving ~0.7MB in binary size.

Bug: chromium:1211337
Change-Id: I8ed8189d762f5532a261d748cbc2eb8a4be9a25e
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2905507
Commit-Queue: Alex Rudenko <alexrudenko@chromium.org>
Reviewed-by: Tim van der Lippe <tvanderlippe@chromium.org>
2021-05-25 06:45:43 +00:00
Tim van der Lippe 0fa20648c8 Use relative file input for GRD script
We can use the _expected_grd_files list as input, since this is
already relative to the root directory. Therefore, we no longer
need to keep track of these relative directories.

R=alexrudenko@chromium.org

Bug: 1174013
Change-Id: I18bf22cf4cc5b99786c813aed8967ff40ecde01c
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2848230
Commit-Queue: Tim van der Lippe <tvanderlippe@chromium.org>
Reviewed-by: Alex Rudenko <alexrudenko@chromium.org>
2021-04-28 10:12:24 +00:00
Tim van der Lippe ada1b595b7 Remove old DevTools GRD
This removes the GRD that was previously put in gen/devtools and
removes copying all files into gen/devtools as well.

This requires https://crrev.com/c/2844838 to land first in Chromium
and rolled into DevTools itself.

R=alexrudenko@chromium.org

Fixed: 1174013
Change-Id: I8fa4272caa371d126a46ef61da0071ba9d3a85ae
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2848229
Reviewed-by: Alex Rudenko <alexrudenko@chromium.org>
Commit-Queue: Tim van der Lippe <tvanderlippe@chromium.org>
2021-04-27 09:33:41 +00:00
Tim van der Lippe b4ab8dae8a Generate GRD file in target_gen_dir
This generates the GRD file in out/Default/gen/front_end with the Chromium file
in out/Default/gen/third_party/devtools-frontend/src/front_end. After
https://crrev.com/c/2844838 is submitted, we can remove the old
outfile and remove the copying into out/Default/gen/devtools.

R=alexrudenko@chromium.org,aerotwist@chromium.org

Bug: 1174013
Change-Id: Idd7d992c443fcd84d3df83e461d9b5379f9e2b1b
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2846331
Commit-Queue: Tim van der Lippe <tvanderlippe@chromium.org>
Reviewed-by: Alex Rudenko <alexrudenko@chromium.org>
2021-04-23 10:08:47 +00:00
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
Bruce Dawson 4239530627 Skip GRD compression in debug builds
GRD compression takes a while. It takes a particularly long while in
debug builds. This change skips compression on debug builds which
takes the GRD step from ~55 seconds to ~5 seconds.

Alternately we could use this framework (passing through the debug state
of the build) to try different compression options as suggested in the
bug.

Test results for debug-component and release builds with this change:
  5.2 weighted s to build gen/content/browser/devtools/devtools_resources_grit.d.stamp, gen... (5.2 s elapsed time)
  24.5 weighted s to build gen/content/browser/devtools/devtools_resources_grit.d.stamp, gen... (24.5 s elapsed time)

Release is unchanged but debug is ~11 times faster.

Bug: 1162467
Change-Id: I017ec872a1645fef55aff09472cdf4427146d17b
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2639276
Commit-Queue: Bruce Dawson <brucedawson@chromium.org>
Reviewed-by: Tim van der Lippe <tvanderlippe@chromium.org>
Reviewed-by: Alex Rudenko <alexrudenko@chromium.org>
Reviewed-by: Yang Guo <yangguo@chromium.org>
2021-01-26 17:46:46 +00:00
Mathias Bynens 2e8ddd343b Include .avif and .webp images in *.grd files
Otherwise, AVIF and WebP images get silently excluded.

Bug: chromium:1161667
Change-Id: Id5cc515a532d1d6033f4bc417b98ff9840a2c741
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2612852
Reviewed-by: Tim van der Lippe <tvanderlippe@chromium.org>
Commit-Queue: Mathias Bynens <mathias@chromium.org>
2021-01-07 15:12:16 +00:00
Tim van der Lippe 8e12f92229 Use Python version bundled with depot_tools for all scripts
depot_tools ships a "vpython" binary that is added to the $PATH
for all Chromium engineers. This binary is versioned by depot_tools
which we roll in ourselves as part of `gclient sync`.

By using `vpython` instead of `python`, we are no longer depended
on the Python version installed locally and instead use the version
we pull in from DEPS.

R=liviurau@chromium.org

Change-Id: If49a54c24b6cf129ff843cd9ca1140a723a78afb
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2571462
Reviewed-by: Liviu Rau <liviurau@chromium.org>
Commit-Queue: Tim van der Lippe <tvanderlippe@chromium.org>
2020-12-04 14:08:59 +00:00
Dirk Pranke 75443e831f Python3-related fixes for the devtools build.
This CL addresses a few issues that will help make it possible
to build Chromium using Python 3.

Nothing in this CL should cause any functional changes, and
Python 3 is not required (indeed, won't even work yet), but
this CL will be needed to unblock other work.

See https://crrev.com/c/2333868 for the roll-up Chromium patch,
which also has multiple other dependencies.

Bug: 1112471
Change-Id: Ica8a5b2b24674e1abd267bcd558b7101a6da6fc5
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2330718
Reviewed-by: Alex Rudenko <alexrudenko@chromium.org>
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Dirk Pranke <dpranke@google.com>
2020-10-03 17:14:03 +00:00
Rob Paveza 41120592d3 Refactor of the 'copy_all_modules' build step
I've sporadically seen the same CreateProcess failure in ninja recently
that we'd been seeing for the GRD script [1]. This failure is related to
the copy_devtools_modules script.

As part of this change I've also corrected some linting errors that I
had made with the previous fix.

[1] The previous fix can be found at
https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/1992319

Change-Id: Ic9a66160acddfc929fdd43f20572435ceff3724c
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/1997723
Commit-Queue: Robert Paveza <Rob.Paveza@microsoft.com>
Reviewed-by: Lorne Mitchell <lomitch@microsoft.com>
Reviewed-by: Tim van der Lippe <tvanderlippe@chromium.org>
2020-01-13 19:07:47 +00:00
Rob Paveza 4947355c94 Fix for too-long length of command line in Windows build.
Apparently related to the changes to ESM, the Windows build command
line has started to exceed 32kb. This is running into a fault within
ninja in which the call to CreateProcess fails as a result of the
command line being an invalid parameter.

This fix addresses it by dumping the file list into a GN "response
file" which is then fed into the corresponding Python script, as
indicated by the GN docs. See:
https://gn.googlesource.com/gn/+/master/docs/reference.md#var_response_file_contents

Bug: 1040233
Change-Id: Ie421a09d2a23756e9195e3ad84b941187de6e3c0
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/1992319
Reviewed-by: John Emau <John.Emau@microsoft.com>
Reviewed-by: Mike Jackson <mjackson@microsoft.com>
Reviewed-by: Paul Lewis <aerotwist@chromium.org>
Commit-Queue: Paul Lewis <aerotwist@chromium.org>
Commit-Queue: Robert Paveza <Rob.Paveza@microsoft.com>
2020-01-08 22:17:55 +00:00
Mathias Bynens f885d2e6f8 Prefer Brotli over gzip for compressing webui resources
This makes resources.pak another 228.1 kB smaller (from 7,070,021
bytes down to 6,841,901 bytes).

Bug: chromium:1025041
Change-Id: I0d45e3b40f5765bcb5c2266750698d33b6adcae2
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/1964350
Auto-Submit: Mathias Bynens <mathias@chromium.org>
Reviewed-by: Tim van der Lippe <tvanderlippe@chromium.org>
Commit-Queue: Mathias Bynens <mathias@chromium.org>
2019-12-12 14:36:14 +00:00
Mathias Bynens 4d4e51aa31 Set compress='gzip' for SVG resources
This saves some more bytes in the total image size, which is important for Chrome OS.

Follow-up to:
https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/1918736

Bug: chromium:1025041
Change-Id: I01167d35ae6d693428dfd44252b7f86940f416b7
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/1962301
Auto-Submit: Mathias Bynens <mathias@chromium.org>
Commit-Queue: Tim van der Lippe <tvanderlippe@chromium.org>
Reviewed-by: Tim van der Lippe <tvanderlippe@chromium.org>
2019-12-12 13:41:04 +00:00
Steven Bennetts 457ff4a215 Set compress='gzip' for webui resources
This adds the compress="gzip" entry to webui (html, js, css) files in
devtools_resources.grd.

This will save 4.8 MB in the image size, which is critical for
Crhrome OS.

Bug: chromium:1025041
Change-Id: I0357fc1cc677f83f1f36fb39ca586543e37d124c
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/1918736
Commit-Queue: Tim van der Lippe <tvanderlippe@chromium.org>
Reviewed-by: Tim van der Lippe <tvanderlippe@chromium.org>
Reviewed-by: Andrey Kosyakov <caseq@chromium.org>
2019-12-12 12:54:23 +00:00
Yang Guo 75beda900f Move test scripts to scripts/test
R=aerotwist@chromium.org, liviurau@chromium.org, machenbach@chromium.org

Bug: 1018122
Change-Id: I7cc3a1a9ab01c649b3c7fe8ba5d5254adc631634
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/1880033
Commit-Queue: Yang Guo <yangguo@chromium.org>
Reviewed-by: Liviu Rau <liviurau@chromium.org>
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
2019-10-28 07:57:59 +00:00
Jacques Chen 4f6a876498 Make use of grit's brotli support for brotli-compressed protocol.json
-Change protocol.json to be Brotli compressed by grit
-Have protocol.json be decompressed by GetDataResourceBytes
-Remove brotli.gni that is no longer used

Bug: 826858
Change-Id: I2c49715f85508f494a57d65b09ada446c2efefec
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1728183
Commit-Queue: Sam Maier <smaier@chromium.org>
Reviewed-by: Sam Maier <smaier@chromium.org>
Reviewed-by: Andrey Kosyakov <caseq@chromium.org>
Reviewed-by: Joel Einbinder <einbinder@chromium.org>
Reviewed-by: Kunihiko Sakamoto <ksakamoto@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#690865}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 277f819d03cf4d45aa8d44661333122ed08ac6c8
2019-08-27 20:23:21 +00:00
Andrey Kosyakov 6e36adc7ed grit: support skipping entries in generated resource map
Bug: 899437
Change-Id: I4d6167d30a7b7014c17393960fce3ecb1470b80e
Reviewed-on: https://chromium-review.googlesource.com/c/1342778
Commit-Queue: Andrey Kosyakov <caseq@chromium.org>
Reviewed-by: Nico Weber <thakis@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#609526}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: e41a90785a4888a0cdbf0439113a7c37b8e47b37
2018-11-20 00:25:34 +00:00
Blink Reformat 4c46d0969f The Great Blink mv for source files, part 2.
Move and rename files.

NOAUTOREVERT=true
NOPRESUBMIT=true
NOTREECHECKS=true
Bug: 768828
TBR=darin@chromium.org
NOTRY=true

Change-Id: I66d3b155808bc5bdbf237b80208e1e552bcf7f28
Reviewed-on: https://chromium-review.googlesource.com/1001153
Reviewed-by: Blink Reformat <blink-reformat@chromium.org>
Commit-Queue: Blink Reformat <blink-reformat@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#549061}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 0aee4434a4dba42a42abaea9bfbc0cd196a63bc1
2018-04-07 15:32:37 +00:00