0
Commit Graph

298 Commits

Author SHA1 Message Date
Alison Gale
d6b25fee68 Add presubmit to ensure only updated bug IDs are added to the codebase
I'm migrating all TODOs referencing bug IDs to the new issue tracker
ID numbers. To avoid backsliding, I'm adding this presubmit. This LSC
is documented at go/crbug-todo-migration.

Bug: 321899722
Change-Id: Ib2fdd299796bf89124d5419cf0908c7cf380fe29
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5455308
Commit-Queue: Alison Gale <agale@chromium.org>
Reviewed-by: Nico Weber <thakis@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1288678}
2024-04-17 13:59:04 +00:00
Ted Choc
f486e3fc74 Migrate getLastUsedRegularProfile from Profile -> ProfileManager.
Deprecated profile methods will be removed in a subsequent CL
to avoid late breaking conflicts.

Bug: 40254448
Change-Id: I6dddb9f9b78abe58a4f8c3f65b6dd7c1b7489595
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5304420
Reviewed-by: Andrew Grieve <agrieve@chromium.org>
Reviewed-by: Theresa Sullivan <twellington@chromium.org>
Commit-Queue: Ted Choc <tedchoc@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1262058}
2024-02-17 05:37:03 +00:00
Andrew Grieve
685060f9dd Android: Remove support for junit3 tests
We moved to junit4 long ago.

Bug: 40693265
Change-Id: I3be7bd0681fdb55bc95d63dafebedfcd7e646d33
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5288616
Reviewed-by: Haiyang Pan <hypan@google.com>
Commit-Queue: Andrew Grieve <agrieve@chromium.org>
Owners-Override: Andrew Grieve <agrieve@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1260024}
2024-02-13 20:35:25 +00:00
Rainhard Findling
3cde3ef0b3 [presubmit] ICU syntax check: allow =2 and =3 cases
Manually add =2 and =3 numeric cases to the allowed syntax of the ICU
syntax presubmit check.

While a generic solution that recognizes all possible numeric cases
automatically would also fix this for the =4 case and above, this
solution here is simpler and seem sufficient, given that the vast
majority of strings use up to =3 (at this point there is a single =4
case in the codebase, and none above).

Fixed: 41495103
Change-Id: Ib945c640f94d139d90a0d06e67dff5099b50d788
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5237281
Reviewed-by: Dominic Battre <battre@chromium.org>
Reviewed-by: Nicolas MacBeth <nicolasmacbeth@google.com>
Reviewed-by: Rainhard Findling <rainhard@chromium.org>
Commit-Queue: Rainhard Findling <rainhard@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1256306}
2024-02-05 18:40:32 +00:00
Peter Kasting
134e9e5c7b Lock down access to LayoutSuperclass<>() and verify protections.
It's not possible to enforce at compile-time that LayoutSuperclass<>()
is only called while a layout is being processed, so enforce that at
runtime instead, and verify that enforcement with a death test.

This also adds nocompile tests that verify the PassKey protections on
Layout().

As a result, it should be impossible to improperly Layout() directly
from tests, so the presubmits blocking that are removed.

Bug: 1521108
Change-Id: I8f7653c7bdcbbebe5e042310028b3f7de691614f
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5259737
Reviewed-by: Dominic Battre <battre@chromium.org>
Reviewed-by: Allen Bauer <kylixrd@chromium.org>
Commit-Queue: Peter Kasting <pkasting@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1255197}
2024-02-01 19:23:39 +00:00
Andrew Grieve
d3a35d8b6e Revert "Remove outdated TAG length presubmit error"
This reverts commit 77e3d6fa3d.

Reason for revert: It's still useful to have a limit here.

Original change's description:
> Remove outdated TAG length presubmit error
>
> The tag length limitation only applies to API <= 25, and Chrome has a min
> API of 26:
> https://source.chromium.org/chromium/chromium/src/+/main:build/config/android/config.gni;l=70?q=min_sdk_version%20lang:gn&ss=chromium.
>
> Change-Id: I5c75e3db16f068d8e5c61f1611b927e81b43db68
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5147980
> Reviewed-by: Andrew Grieve <agrieve@chromium.org>
> Commit-Queue: Geoff Huang <geoffhuang@google.com>
> Auto-Submit: Geoff Huang <geoffhuang@google.com>
> Cr-Commit-Position: refs/heads/main@{#1240847}

Change-Id: I3de662e88047ebf6e24c7971e02cf6c481cff4f7
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5160549
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Andrew Grieve <agrieve@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1242138}
2024-01-02 21:24:38 +00:00
Geoff Huang
77e3d6fa3d Remove outdated TAG length presubmit error
The tag length limitation only applies to API <= 25, and Chrome has a min
API of 26:
https://source.chromium.org/chromium/chromium/src/+/main:build/config/android/config.gni;l=70?q=min_sdk_version%20lang:gn&ss=chromium.

Change-Id: I5c75e3db16f068d8e5c61f1611b927e81b43db68
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5147980
Reviewed-by: Andrew Grieve <agrieve@chromium.org>
Commit-Queue: Geoff Huang <geoffhuang@google.com>
Auto-Submit: Geoff Huang <geoffhuang@google.com>
Cr-Commit-Position: refs/heads/main@{#1240847}
2023-12-25 06:27:38 +00:00
Daniel Cheng
99f90e6b0c Revert "PRESUBMIT.py type annotation for MockFile {Old,New}Content"
This reverts commit a4d9b63b54.

Reason for revert: Breaks some presubmit builders; see crbug.com/1505878

Original change's description:
> PRESUBMIT.py type annotation for MockFile {Old,New}Content
>
> Using strings instead of a Sequence[str] is a common error. This
> prevented a bug in to be caught previously:
> https://chromium-review.googlesource.com/c/chromium/src/+/5012813
>
> Apparently, the same error was made ~50 times.
>
> Bug: chromium:1395297
> Change-Id: I7b580a57522742b0dbbbdbfc274aa3b8d63af789
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5017939
> Auto-Submit: Arthur Sonzogni <arthursonzogni@chromium.org>
> Reviewed-by: Daniel Cheng <dcheng@chromium.org>
> Commit-Queue: Daniel Cheng <dcheng@chromium.org>
> Cr-Commit-Position: refs/heads/main@{#1230109}

Bug: chromium:1395297
Change-Id: Ieb9be89929908725944aefb247a9b418af0e0e8a
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5067065
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Daniel Cheng <dcheng@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1230256}
2023-11-28 22:54:40 +00:00
Arthur Sonzogni
a4d9b63b54 PRESUBMIT.py type annotation for MockFile {Old,New}Content
Using strings instead of a Sequence[str] is a common error. This
prevented a bug in to be caught previously:
https://chromium-review.googlesource.com/c/chromium/src/+/5012813

Apparently, the same error was made ~50 times.

Bug: chromium:1395297
Change-Id: I7b580a57522742b0dbbbdbfc274aa3b8d63af789
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5017939
Auto-Submit: Arthur Sonzogni <arthursonzogni@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Commit-Queue: Daniel Cheng <dcheng@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1230109}
2023-11-28 20:30:26 +00:00
Arthur Sonzogni
9eafd22a23 Fix CheckDanglingUntriaged in PRESUBMIT.py
Due to not having type check in python, both the implementation and the
test were assuming `OldContents()` and `NewContents()` to be string.
They are list of strings instead.

The function `count(str)` being defined on both, it was passing locally,
when I was using DanglingUntriaged on its own line.

Bug: chromium:1395297
Change-Id: I2b20e92e2dfd0054bb4b2c3630f35af20661bbdc
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5012813
Commit-Queue: Arthur Sonzogni <arthursonzogni@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1222807}
2023-11-10 08:50:39 +00:00
Jan Keitel
77be75245a Add a presubmit check for non-inlined constexpr definitions in headers.
Non-inlined constexpr variable definitions in a header lead every file
that includes this header to create a separate copy of the constant.
There appears to be no upside, but potential downsides (larger binary
size, differing memory addresses when one expect them to be equal)
from that behavior.

This CL adds a PRESUBMIT warning for changed or modified non-inline
constexpr variable definitions in headers. The check excludes
a) definitions in .cc files (which should hopefully not be included)
b) static constexpr member definitions inside structs and classes,
   as these are implicitly inline.

Relevant links:
- https://groups.google.com/a/chromium.org/g/cxx/c/hmyGFD80ocE
  (includes a discussion of adding this check)
- https://abseil.io/tips/168

Trial CL to just replace all non-inline constexpr seems to make bots
happy (apart from presubmit checks):
https://chromium-review.googlesource.com/c/chromium/src/+/4708325

Bug: 1467190
Change-Id: I187cecc0cb0676ee0e5950a6791f15cba96cb19c
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4710609
Reviewed-by: Dominic Battre <battre@chromium.org>
Commit-Queue: Jan Keitel <jkeitel@google.com>
Reviewed-by: danakj <danakj@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1209049}
2023-10-12 20:40:49 +00:00
Sam Maier
b8a66a00b1 Fixing @Mock Presubmit with new Java formatting
Bug: 1490300
Change-Id: I823ea1cecb4e0da0b92c07ff896453f970f229c0
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4918411
Commit-Queue: Andrew Grieve <agrieve@chromium.org>
Reviewed-by: Andrew Grieve <agrieve@chromium.org>
Auto-Submit: Sam Maier <smaier@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1207619}
2023-10-10 13:50:55 +00:00
Arthur Sonzogni
7109bd363b Reland "PRESUBMIT: Warn against adding new dangling pointers."
This is a reland of commit 8228ad6aef

What happens in the reland:
---------------------------

I added an early return when `input_api.nodiff` is true. This disable
the check completely.

Performance evaluation:
-----------------------

Because the original presubmit check was reverted due to the performance
cost when running `git cl presubmit --all`, it comes the question of the
performance cost during normal `git cl presubmit`.

I am evaluating the cost to be in the range: [-0.178%, -1.04%].
This is the 95 confidence interval using a t-test.

This was tested on a very large patch modifying 535 files. The data was:

Without With
------- ----
91.1s   91.5s
91.6s   91.8s
91.6s   92.1s
90.9s   92.0s
91.3s   91.9s

Original change's description:
> PRESUBMIT: Warn against adding new dangling pointers.
>
> The DanglingPointerDetector is enabled on the CQ. It means we are now
> blocking new dangling pointers and can detect regressions.
>
> This blocks ~10 patches per day. The error message contains links toward
> the documentation and a guide to fix dangling pointers:
> - docs/dangling_ptr.md
> - docs/dangling_ptr_guide.md
>
> This is enough for most developers to fix them. However, it happens some
> are simply adding new `DanglingUntriaged` occurrences. Most are
> copy-pasting nearby code thinking this is the correct way to do.
>
> This patch adds a PRESUBMIT warning developers.
>
> Change-Id: I05d09e3f988f65b461a040c76a6ba2904073864b
> Bug: chromium:1395297
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4853628
> Reviewed-by: Daniel Cheng <dcheng@chromium.org>
> Commit-Queue: Arthur Sonzogni <arthursonzogni@chromium.org>
> Cr-Commit-Position: refs/heads/main@{#1200144}

Bug: chromium:1395297
Change-Id: I0a8305383eda3c3b50c0f433bd6751cf19069584
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4907727
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Commit-Queue: Arthur Sonzogni <arthursonzogni@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1204558}
2023-10-03 10:34:42 +00:00
Arthur Sonzogni
2769a375d0 Revert "PRESUBMIT: Warn against adding new dangling pointers."
This reverts commit 8228ad6aef.

Reason for revert: https://crbug.com/1486612

The check takes too long when running `git cl presubmit --all`. 
I will reland it later with a different strategy.

Original change's description:
> PRESUBMIT: Warn against adding new dangling pointers.
>
> The DanglingPointerDetector is enabled on the CQ. It means we are now
> blocking new dangling pointers and can detect regressions.
>
> This blocks ~10 patches per day. The error message contains links toward
> the documentation and a guide to fix dangling pointers:
> - docs/dangling_ptr.md
> - docs/dangling_ptr_guide.md
>
> This is enough for most developers to fix them. However, it happens some
> are simply adding new `DanglingUntriaged` occurrences. Most are
> copy-pasting nearby code thinking this is the correct way to do.
>
> This patch adds a PRESUBMIT warning developers.
>
> Change-Id: I05d09e3f988f65b461a040c76a6ba2904073864b
> Bug: chromium:1395297
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4853628
> Reviewed-by: Daniel Cheng <dcheng@chromium.org>
> Commit-Queue: Arthur Sonzogni <arthursonzogni@chromium.org>
> Cr-Commit-Position: refs/heads/main@{#1200144}

Bug: chromium:1395297
Change-Id: I5c6ade4930e0383dcb8f139ca80451ab05930d11
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4889652
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Auto-Submit: Arthur Sonzogni <arthursonzogni@chromium.org>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Daniel Cheng <dcheng@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1201647}
2023-09-26 16:45:22 +00:00
Kalvin Lee
84ad17ab78 MiraclePtr: Adjust presubmit denylist and docs
This CL partially opens up renderer code to MiraclePtr usage. We
now only disallow several specific directories.

Bug: 1444624
Change-Id: I3b2d1f77db7fe3d1ccb948530c41cef64cb6a82f
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4885755
Commit-Queue: Kalvin Lee <kdlee@chromium.org>
Reviewed-by: Keishi Hattori <keishi@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1200912}
2023-09-25 11:14:41 +00:00
Arthur Sonzogni
8228ad6aef PRESUBMIT: Warn against adding new dangling pointers.
The DanglingPointerDetector is enabled on the CQ. It means we are now
blocking new dangling pointers and can detect regressions.

This blocks ~10 patches per day. The error message contains links toward
the documentation and a guide to fix dangling pointers:
- docs/dangling_ptr.md
- docs/dangling_ptr_guide.md

This is enough for most developers to fix them. However, it happens some
are simply adding new `DanglingUntriaged` occurrences. Most are
copy-pasting nearby code thinking this is the correct way to do.

This patch adds a PRESUBMIT warning developers.

Change-Id: I05d09e3f988f65b461a040c76a6ba2904073864b
Bug: chromium:1395297
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4853628
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Commit-Queue: Arthur Sonzogni <arthursonzogni@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1200144}
2023-09-22 11:57:23 +00:00
mikt
9337567cd4 [MO] Define memory safety check control macro
- Add `enum class base::internal::MemorySafetyCheck` - each enum item
  represents memory safety check, implemented in PA and UaF detector.
- Add macro `ADVANCED_MEMORY_SAFETY_CHECKS()` - when used inside class
  declaration, it specifies a set of checks
  `base::internal::kAdvancedMemorySafetyChecks` enforced over that
  object type.
  - This macro will be used as a part of MiracleObject project,
    see the bug for the details.
- Add following constexpr functions to determine enabled safety checks for type
  `T`.
  - `base::internal::get_memory_safety_checks<T>`
  - `base::internal::is_memory_safety_checked<T, Checks>`

Bug: 1462223
Change-Id: I611a825d260705ed110932f08cbe756ab44ea7e4
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4664244
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Commit-Queue: Mikihito Matsuura <mikt@google.com>
Cr-Commit-Position: refs/heads/main@{#1194241}
2023-09-08 18:38:17 +00:00
Aaron Leventhal
267119f5b4 Scale back presubmit warnings on missing Android a11y tests
Tweak presubmit warnings that are intended to encourage
developers to add Android dump tree/event test expectations:
* No warnings when other platform expectations are not added -- it's
  common to only care about the Blink output, or to not even care
  about the output but just test for crashes.
* No warnings on modifications or deletes -- there isn't a high
  value for these, and it makes the other new tweaks more
  difficult.

This should significantly reduce noise on presubmits and thus
developer friction. It will also reduce times when developers
not as familiar with our requirements will go overboard in
producing platform expectations files.

R=mschillaci@chromium.org

Bug: none
Change-Id: I9557cc38e920c5dab25490d5d81942bd3c187a3e
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4794290
Auto-Submit: Aaron Leventhal <aleventhal@chromium.org>
Reviewed-by: Mark Schillaci <mschillaci@google.com>
Commit-Queue: John Abd-El-Malek <jam@chromium.org>
Reviewed-by: John Abd-El-Malek <jam@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1185423}
2023-08-18 22:45:34 +00:00
Mark Schillaci
8ef0d871ef Add @interface's to @Batch/DoNotBatch ignore list
The PRESUBMIT checks look for @Batch or @DoNotBatch on test files and
give warnings if they are not present. These should not include
simple @interface's like DisabledTest.java or EnormousTest.java etc.

AX-Relnotes: N/A
Bug: N/A
Change-Id: I3a3278925a6d78f548e4154aca52f12e600f37b6
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4697253
Commit-Queue: Mark Schillaci <mschillaci@google.com>
Reviewed-by: Andrew Grieve <agrieve@chromium.org>
Reviewed-by: James Shen <zhiyuans@google.com>
Cr-Commit-Position: refs/heads/main@{#1172010}
2023-07-18 22:07:59 +00:00
Andrew Grieve
d27620b65a Fix presubmits sometimes hanging on print_python_deps.py
This was happening for me locally. Ctrl-C showed:
  Traceback (most recent call last):
    File "build/print_python_deps.py", line 186, in <module>
      sys.exit(main())
    File "build/print_python_deps.py", line 182, in main
      out.write(prefix + path.replace('\\', '/') + '\n')
  BrokenPipeError: [Errno 32] Broken pipe

Which means the process was blocked waiting for something to read its
output.

Bug: None
Change-Id: Ibcb45a6d8bf3af882fab3f0c3b0b607277817eb1
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4673673
Reviewed-by: Peter Wen <wnwen@chromium.org>
Commit-Queue: Peter Wen <wnwen@chromium.org>
Auto-Submit: Andrew Grieve <agrieve@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1169982}
2023-07-13 16:35:07 +00:00
Andrew Williams
c9f69b4831 Update UNIT_TEST presubmit check to match more cases
Updates the UNIT_TEST presubmit check to do more robust checking
for the UNIT_TEST #define used in source files. Specifically,
the check will now look for cases such as `#if defined(UNIT_TEST)`.

Also, remove UNIT_TEST ifdef blocks from one .cc file that was
using them.

Bug: None
Change-Id: I541d3d6de139f59a32285962afd9035ae99d2706
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4672065
Commit-Queue: Andrew Williams <awillia@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Colin Blundell <blundell@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1168134}
2023-07-10 16:07:36 +00:00
Andrew Grieve
40f451d2e9 PRESUBMIT.py: Make // IN-TEST work for .java files
Bug: None
Change-Id: Ibf015f85fbf80c7e8e4060fff361d2e60358a52f
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4661685
Commit-Queue: Mohamed Heikal <mheikal@chromium.org>
Auto-Submit: Andrew Grieve <agrieve@chromium.org>
Reviewed-by: Mohamed Heikal <mheikal@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1166720}
2023-07-06 19:46:51 +00:00
Thiago Perrotta
099034f664 Chrome for Testing: Update in-app strings from Chromium to CfT
Add <if> conditionals to chromium_strings.grd to replace the most
prominent strings in the UI:

- Global menu bar
- 3-dot menu
- View site information
- Settings > Default browser
- Settings > About

As a trade-off, we choose this approach over creating
a new GRD file for CfT as it would be costly to maintain otherwise,
in spite of the considerations in b/1110882.

CfT strings should be identical to Chromium strings, with the exception
of the product name, which is replaced from "Chromium" with "Chromium
for Testing" as per
https://goo.gle/chrome-for-testing#bookmark=id.n1rat320av91

Bug: 1428061
Change-Id: I7cb5afe0d619551daea3204b9611854d36f5af98
Tested: `autoninja -C out/Default chrome/app:chromium_strings components/strings:components_chromium_strings chrome`
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4582551
Reviewed-by: Jens Mueller <muellerj@google.com>
Commit-Queue: Thiago Perrotta <tperrotta@chromium.org>
Reviewed-by: Andrew Grieve <agrieve@chromium.org>
Reviewed-by: Colin Blundell <blundell@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1153347}
2023-06-05 18:10:20 +00:00
Jens Mueller
054652c1cb Add presubmit check for correct sha1 format in .png.sha1 files.
Benmason@ explained that a recent submission of a png file as png.sha1
file resulted in all images on that day not to be uploaded to TC.

2nd attempt after https://crrev.com/c/4374003 was reverted due to
"Evaluation of CheckStrings failed: Access outside the repository root is denied."

This is now using input_api.AffectedFiles().NewContents instead of
opening the file directly.

Bug: 1428712
Change-Id: Ia1bcb5b132f5d92ce7378a986be74b9958175680
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4432832
Reviewed-by: Ben Mason <benmason@chromium.org>
Reviewed-by: Dominic Battre <battre@chromium.org>
Commit-Queue: Ben Mason <benmason@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1142068}
2023-05-10 15:12:30 +00:00
Vincent Boisselle
861f11db51 Revert "Add presubmit check for correct sha1 format in .png.sha1 files."
This reverts commit 069d82c9d8.

Reason for revert: cause failure in strings presubmit tests when updating grd strings, example: http://crrev.com/c/4377359

Original change's description:
> Add presubmit check for correct sha1 format in .png.sha1 files.
>
> Benmason@ explained that a recent submission of a png file as png.sha1
> file resulted in all images on that day not to be uploaded to TC.
>
> Change-Id: Iea7632de1ae4fd644bb4bce7f1fc907c3254459b
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4374003
> Reviewed-by: Dominic Battré <battre@chromium.org>
> Reviewed-by: Ben Mason <benmason@chromium.org>
> Commit-Queue: Jens Mueller <muellerj@google.com>
> Reviewed-by: Mustafa Emre Acer <meacer@chromium.org>
> Cr-Commit-Position: refs/heads/main@{#1123014}

Change-Id: Icc0c43bbd82ed16d6370b139242f2f632449a8ee
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 1428712
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4378561
Reviewed-by: Ernesto Izquierdo Clua <eic@google.com>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Owners-Override: Vincent Boisselle <vincb@google.com>
Commit-Queue: Vincent Boisselle <vincb@google.com>
Cr-Commit-Position: refs/heads/main@{#1123295}
2023-03-28 21:46:38 +00:00
Mohamed Heikal
3d7a94ce2b Migrate android.support.test to androidx.test (the rest)
The java changes should be a noop since we automatically do this rewrite
in compile_java.py. Also replace
//third_party/android_support_test_runner targets with
//third_party/androidx ones.
Additionally fix non-java files eg: docs, presubmits, scripts

This affects files outside //android_webview, //chrome, //components and
//weblayer which are covered by other cls.

Bug: 1428304
Change-Id: I2906b7530127983e6110e9ab5773843df0dd3ba8
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4375857
Reviewed-by: Peter Wen <wnwen@chromium.org>
Owners-Override: Peter Wen <wnwen@chromium.org>
Commit-Queue: Mohamed Heikal <mheikal@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1123104}
2023-03-28 16:55:24 +00:00
Jens Mueller
069d82c9d8 Add presubmit check for correct sha1 format in .png.sha1 files.
Benmason@ explained that a recent submission of a png file as png.sha1
file resulted in all images on that day not to be uploaded to TC.

Change-Id: Iea7632de1ae4fd644bb4bce7f1fc907c3254459b
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4374003
Reviewed-by: Dominic Battré <battre@chromium.org>
Reviewed-by: Ben Mason <benmason@chromium.org>
Commit-Queue: Jens Mueller <muellerj@google.com>
Reviewed-by: Mustafa Emre Acer <meacer@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1123014}
2023-03-28 14:42:02 +00:00
Mike Dougherty
4d1050b713 Update iOS JavaScript presubmit to support moved files
The presubmit currently prevents moving a JavaScript file to a new
location. This CL allows such CLs by using a warning instead of an error
if a script of the same name was deleted and added in the examined diff.

Change-Id: I0c5761b5f774bea8a6733e78c2ef0a31d47eab9a
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4335695
Reviewed-by: Dominic Battré <battre@chromium.org>
Commit-Queue: Mike Dougherty <michaeldo@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1117004}
2023-03-14 15:59:53 +00:00
Min Qin
bc44383cb2 Add PRESUBMIT rule for ban VectorDrawableCompat import in Java
VectorDrawableCompat Could take a long time to complete, so adding
a ban to let users use the alternative class with trace events.

BUG=b/242038130

Change-Id: I174c918e7dd5fef15a551eace33d1bdfb3d203e0
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4266131
Reviewed-by: Andrew Grieve <agrieve@chromium.org>
Commit-Queue: Min Qin <qinmin@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1108408}
2023-02-22 17:25:26 +00:00
Kevin McNee
1746306427 Remove MPArch triage rotation presubmit
We are winding down the triage rotation, so the associated presubmit
script can be removed.

Bug: 1190019
Change-Id: If6226bae54a7bfc71df95211d6c00f12db10dd6c
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4228276
Auto-Submit: Kevin McNee <mcnee@chromium.org>
Commit-Queue: Bruce Dawson <brucedawson@chromium.org>
Reviewed-by: Bruce Dawson <brucedawson@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1103922}
2023-02-10 17:49:18 +00:00
Sven Zheng
76a79ea364 PRESUBMIT: Add crosapi need browser test check
When a new crosapi mojom file being added, we expect there should
also be a browser test being added.

This is a non-blocker check and only happens during git cl upload.
See my local test:

:~/chromium/src$ git diff HEAD~1
diff --git a/chromeos/crosapi/mojom/newfile.mojom b/chromeos/crosapi/mojom/newfile.mojom
new file mode 100644
index 0000000000000..fa1237e46e92b
--- /dev/null
+++ b/chromeos/crosapi/mojom/newfile.mojom
@@ -0,0 +1,4 @@
+// Copyright 2022 The Chromium Authors
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+//
:~/chromium/src$ git cl upload
Running Python 3 presubmit upload checks ...
** Presubmit Warnings: 1 **
You are adding a new crosapi, but there is no file ends with browsertest.cc file being added. It is important to add crosapi browser test coverage to avoid version skew issues.
Check //docs/lacros/test_instructions.md for more information.

Presubmit checks took 2.5s to calculate.
There were Python 3 presubmit warnings. Are you sure you wish to continue? (y/N):

Bug: 1402823
Change-Id: Ibcac5f90fb7332cf7199e04a8eab48fda3ac5eb4
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4118248
Reviewed-by: Erik Chen <erikchen@chromium.org>
Reviewed-by: Ben Pastene <bpastene@chromium.org>
Commit-Queue: Sven Zheng <svenzheng@chromium.org>
Reviewed-by: Bruce Dawson <brucedawson@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1086084}
2022-12-21 21:25:24 +00:00
Bruce Dawson
55776c49a7 Improve messages when .grd entries are modified
It can be helpful to distinguish between modified and added .grd
entries. This came up recently when trying to fix the indentation in a
.grd file and these more specific messages _might_ have helped.

Typical messages will look like this:
** Presubmit ERRORS: 1 **
You are modifying UI strings or their meanings.
To ensure the best translations, take screenshots of the relevant UI (https://g.co/chrome/translation) and add these files to your changelist:
  chromeos\chromeos_strings_grd\IDS_SCANNING_APP_SCAN_BUTTON_TEXT.png.sha1

Actually fixing the indentation will be tried in a follow-up.

Bug: 1394970
Change-Id: I60fee3086a9826ef2f233c681164e5b309a6eec6
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4081196
Reviewed-by: Andrew Grieve <agrieve@chromium.org>
Commit-Queue: Bruce Dawson <brucedawson@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1081514}
2022-12-09 17:23:47 +00:00
Yuanqing Zhu
9eef0283e2 Fix CheckNoAbbreviationInPngFileName checks path components.
Modify CheckNoAbbreviationInPngFileName presubmit rule and add unittest for it to ensure it only checks the file name, not every path component ahead.

Change-Id: I8743dcec9966c1b8ecdb6dd8d8fe6836dbed1793
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4054771
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Commit-Queue: Yuanqing Zhu <yuanqingzhu@microsoft.com>
Cr-Commit-Position: refs/heads/main@{#1079007}
2022-12-04 14:42:17 +00:00
Clement Yan
9b330cb2fa [WebUI] Add presubmit banrule to prevent chrome.send
Prevent usage of chrome.send in ChromeOS WebUIs

Initially only preventing for ChromeOS WebUIs, we will look at expanding this to all of Chrome in the future.

Context:
https://chromium.googlesource.com/chromium/src/+/refs/heads/main/docs/security/handling-messages-from-web-content.md

Bug: 1382986
Change-Id: Ic12d43876613a6f2e514d9b1573cc5f75fe224c4
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4011838
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Commit-Queue: Clement Yan <clamclamyan@google.com>
Reviewed-by: Giovanni Ortuno Urquidi <ortuno@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1072640}
2022-11-17 05:25:29 +00:00
Daniel Cheng
192683f4c4 Ban std random number engines in PRESUBMIT.py.
Also fix an incorrect pattern for absl::any / std::any and update the
guidance for absl::bind_front.

Bug: 1380528
Change-Id: I7641d2032297ff70e04de9578a0ebc292fa807d8
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3995164
Reviewed-by: Alexander Timin <altimin@chromium.org>
Commit-Queue: Daniel Cheng <dcheng@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1066129}
2022-11-01 20:52:44 +00:00
Sean Kau
cb7c9b3ead Add PRESUBMIT warning for rebase_path and target_gen_dir
Provide a warning when rebase_path specifies target_gen_dir and an
absolute path.  This can cause build failures when building Chromium
with Portage because that can keep the out/ directory outside of the
source root.  Advise that root_build_dir is the right way to specify
the path.

Bug: 1376581
Change-Id: I8ef0a9c32358e086abfffa53b61c4c4189cee185
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3964725
Reviewed-by: Xiyuan Xia <xiyuan@chromium.org>
Commit-Queue: Sean Kau <skau@chromium.org>
Reviewed-by: Dirk Pranke <dpranke@google.com>
Reviewed-by: Yaron Friedman <yfriedman@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1063502}
2022-10-25 21:25:52 +00:00
Mike Dougherty
1b8be711c3 Reland "Add presubmit check to prevent new JavaScript in iOS directories"
This is a reland of commit 6168e0b65d

Original change's description:
> Add presubmit check to prevent new JavaScript in iOS directories
>
> `//ios/*` now fully supports TypeScript which is preferred over
> JavaScript for new feature scripts.
>
> In addition to a PRESUBMIT error, the boilerplate script was updated to
> help developers avoid creating new JS files. Without this check,
> developers may not be aware of the restriction until their feature is
> implemented is complete locally.
>
> Bug: 1325547
> Change-Id: I40a9cc9f701f5396d14c7b87648ebff747bb6f47
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3939161
> Commit-Queue: Mike Dougherty <michaeldo@chromium.org>
> Reviewed-by: Daniel Cheng <dcheng@chromium.org>
> Reviewed-by: Robert Sesek <rsesek@chromium.org>
> Cr-Commit-Position: refs/heads/main@{#1060096}

Bug: 1325547
Change-Id: I0aa048972377afa434350803079049169a0dcd82
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3964730
Reviewed-by: Bruce Dawson <brucedawson@chromium.org>
Commit-Queue: Mike Dougherty <michaeldo@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1061334}
2022-10-20 00:15:13 +00:00
Bruce Dawson
2972d99f73 Revert "Add presubmit check to prevent new JavaScript in iOS directories"
This reverts commit 6168e0b65d.

Reason for revert: The presubmit is buggy, and triggers presubmit errors on existing files. See crbug.com/1376103

Original change's description:
> Add presubmit check to prevent new JavaScript in iOS directories
>
> `//ios/*` now fully supports TypeScript which is preferred over
> JavaScript for new feature scripts.
>
> In addition to a PRESUBMIT error, the boilerplate script was updated to
> help developers avoid creating new JS files. Without this check,
> developers may not be aware of the restriction until their feature is
> implemented is complete locally.
>
> Bug: 1325547
> Change-Id: I40a9cc9f701f5396d14c7b87648ebff747bb6f47
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3939161
> Commit-Queue: Mike Dougherty <michaeldo@chromium.org>
> Reviewed-by: Daniel Cheng <dcheng@chromium.org>
> Reviewed-by: Robert Sesek <rsesek@chromium.org>
> Cr-Commit-Position: refs/heads/main@{#1060096}

Bug: 1325547, 1376103
Change-Id: I343d5e13c3ab4fb58fc30acc257257541c15ec2c
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3964250
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Auto-Submit: Bruce Dawson <brucedawson@chromium.org>
Commit-Queue: Mike Dougherty <michaeldo@chromium.org>
Reviewed-by: Mike Dougherty <michaeldo@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1060521}
2022-10-18 16:54:09 +00:00
Mike Dougherty
6168e0b65d Add presubmit check to prevent new JavaScript in iOS directories
`//ios/*` now fully supports TypeScript which is preferred over
JavaScript for new feature scripts.

In addition to a PRESUBMIT error, the boilerplate script was updated to
help developers avoid creating new JS files. Without this check,
developers may not be aware of the restriction until their feature is
implemented is complete locally.

Bug: 1325547
Change-Id: I40a9cc9f701f5396d14c7b87648ebff747bb6f47
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3939161
Commit-Queue: Mike Dougherty <michaeldo@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Robert Sesek <rsesek@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1060096}
2022-10-17 19:36:06 +00:00
Sam Maier
4cef92469c Adding presubmit warning for Mockito.mock footgun
Bug: 1336346
Change-Id: I0e5649d3c868649f0d22c3b59c65fc63bd0b97f9
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3927801
Reviewed-by: Andrew Grieve <agrieve@chromium.org>
Commit-Queue: Sam Maier <smaier@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1054152}
2022-10-03 14:21:24 +00:00
Allen Bauer
8477868eb7 Add presubmit to warn when Layout() is called within a test.
View::Layout() is getting an overhaul. Direct calls to Layout() from within tests and eventually production code will be forbidden. There are new test-only functions available to manually invoke a layout pass properly.

This presubmit will attempt catch direct calls to Layout() from within files ending in unittest, browsertest, or ui_test. It should still allow Layout() overrides. While this presubmit should not trigger for existing calls to Layout(), those calls will have been eliminated in other CLs.

To manually test this presubmit:

> git cl presubmit --force --files path_to/some/test/foo_unittest.cc

This was tested with and without the Layout() call and was confirmed to trigger when the line of code with the Layout() call was added or changed.

Change-Id: Ib784203e7f795cc4a437508d4c37aecf8f90d6fd
Bug: 1350521
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3899633
Commit-Queue: Allen Bauer <kylixrd@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1050232}
2022-09-22 16:28:56 +00:00
Bruce Dawson
95eb756a46 Make CheckForIncludeGuards run ~1.5x faster
This function was previously optimized (70x faster?) by not calling
f.OldContents() so often, but the correct call count is actually zero.
The correct way to tell whether a file is new in the presubmit system
is f.Action() == 'A'. The three possible actions are 'A'dded,
'M'odified, and 'D'eleted.

Note that there is no guarantee that the mocked files will be
internally consistent which is why I had to adjust the tests. Also
note that a test that the comment says was supposed to fail has been
passing for years. This change does not address that.

Bug: 1309977
Change-Id: I846b0403c1e196daf620dda8a02b4de82d8bf463
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3895053
Reviewed-by: Mike Pinkerton <pinkerton@chromium.org>
Commit-Queue: Bruce Dawson <brucedawson@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1046909}
2022-09-14 15:27:16 +00:00
Avi Drissman
2497659363 Update copyright headers in the top-level files
This CL was generated manually.

No-Try: true
Bug: 1098010
Change-Id: I23f14f4c85edc1c6498fb40d2f415031398324b1
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3887619
Auto-Submit: Avi Drissman <avi@chromium.org>
Owners-Override: Avi Drissman <avi@chromium.org>
Reviewed-by: Mark Mentovai <mark@chromium.org>
Commit-Queue: Avi Drissman <avi@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1045836}
2022-09-12 15:24:31 +00:00
Gao Sheng
a79ebd4d91 Fix some issues in PRESUBMIT script
When I read the Chromium source, I first noticed that some python files for presubmit located in the root directory had some problems (like incorrect function names, indentation, typos, etc.), so I tried to fix them.

BUG=nobug

Change-Id: I3646b9fc1761d3cd2af884aba8d815d09665e7be
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3812981
Reviewed-by: Erik Staab <estaab@chromium.org>
Commit-Queue: Erik Staab <estaab@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1032601}
2022-08-08 17:25:59 +00:00
Kevin McNee
29c0e82381 Reduce monitored methods in the MPArch triage rotation
From an analysis of the last six months of the MPArch triage
rotation [1], we now have a better idea of which methods tend to
require intervention. We now reduce the scope of the rotation to
those methods to reduce the review burden of the rotation.

[1] https://docs.google.com/document/d/1pQcjhXqdh_JcWucqFmI5r8TdKUHxh5qgIAguc3GHRvM/edit?usp=sharing&resourcekey=0-dlmVoj6MqryQxG5gJAK51A

Bug: 1190019
Change-Id: I19aa087040f1a98f09eb1e2ab16582bc8ecfa277
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3806539
Commit-Queue: Kevin McNee <mcnee@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1031929}
2022-08-05 15:36:09 +00:00
Evan Stade
7cd4a2c15c Add presubmit check to prevent adding trademarked icons to repo
So far it only applies to png, svg and icon files, and only complains
about ones with "google" in the name (although this could fail to
catch some cases like `gmail.icon`).

Bug: 1245662
Change-Id: I5e4fa3520f4532aeab6965100ae7097788e13e85
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3808278
Reviewed-by: Jochen Eisinger <jochen@chromium.org>
Commit-Queue: Evan Stade <estade@chromium.org>
Reviewed-by: Scott Violet <sky@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1031665}
2022-08-04 23:37:25 +00:00
ckitagawa
e8fd23b274 [Fixit] Warn for Batch Annotations on not instumentation tests
Batch annotations don't do anything for non-instrumentation tests.
Add a warning to remove them if added unnecessarily.

Example where this was caught manually:
https://chromium-review.googlesource.com/c/chromium/src/+/3704237

It is easy enough to extend the existing CheckBatchAnnotation
PRESUBMIT to handle this.

Bug: 1337314
Change-Id: I4861f3825329f6313b2f06b9a101ee5c4e26c031
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3708730
Reviewed-by: Andrew Grieve <agrieve@chromium.org>
Reviewed-by: Michael Thiessen <mthiesse@chromium.org>
Commit-Queue: Calder Kitagawa <ckitagawa@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1015361}
2022-06-17 15:29:38 +00:00
James Shen
81cc0e2b5e Add PRESUBMIT for android/javatests to encourage @Batch.
If tests are not safe to run in a batch, it should explicitly have
@DoNotBatch annotation with reasons.

Bug: 1330328
Change-Id: If94c5c3de521b5248813bc98b4de0740b43429e5
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3699290
Reviewed-by: Andrew Grieve <agrieve@chromium.org>
Reviewed-by: Michael Thiessen <mthiesse@chromium.org>
Commit-Queue: James Shen <zhiyuans@google.com>
Cr-Commit-Position: refs/heads/main@{#1014636}
2022-06-15 21:10:45 +00:00
Aleksey Khoroshilov
9b28c039ae Restore CheckNoStrCatRedefines check and speed up it a little.
CheckNoStrCatRedefines was not used since its inception. This CL enables
the check and adds header/impl filters to make it run faster.

Bug: 1330868
Change-Id: Ie9b57474675a57cb6d6b5fddbf1945c8081c9888
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3679759
Commit-Queue: Bruce Dawson <brucedawson@chromium.org>
Auto-Submit: Aleksey Khoroshilov <akhoroshilov@brave.com>
Reviewed-by: Bruce Dawson <brucedawson@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1010614}
2022-06-03 16:35:32 +00:00
Kalvin Lee
4a3b79de47 PRESUBMIT.py: Adjust DCHECK_IS_ON() regex
This CL attempts to limit the `DCHECK_IS_ON()` parentheses presubmit to
cases where exactly that macro is being used. Outside that scope,
`FOO_DCHECK_IS_ON` is permissible, as is `BUILDFLAG(FOO_DCHECK_IS_ON)`.

Change-Id: I15923ea342dc0e76714400ceb2947d5ac0235312
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3669918
Reviewed-by: Yaron Friedman <yfriedman@chromium.org>
Commit-Queue: Kalvin Lee <kdlee@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1007856}
2022-05-26 16:00:16 +00:00