1. 01 Dec, 2020 3 commits
  2. 30 Nov, 2020 2 commits
    • Daniel Clark's avatar
      [modules] Add ResolveModuleCallback that takes import assertions · 9d72d08a
      Daniel Clark authored
      This change completes the necessary API changes for import assertions
      discussed in
      https://docs.google.com/document/d/1yuXgNHSbTAPubT1Mg0JXp5uTrfirkvO1g5cHHCe-LmY.
      
      The old ResolveCallback is deprecated and replaced with a
      ResolveModuleCallback that includes import assertions.  Until
      ResolveCallback is removed, InstantiateModule and associated functions
      are modified to accept both types of callback, using the new one if it
      was supplied and the old one otherwise.  An alternative that I chose not
      to go with would be to just duplicate InstantiateModule and associated
      functions for both callback types.
      
      SyntheticModule::PrepareInstantiate's callback parameter was unused so I
      removed it.
      
      Bug: v8:10958
      Change-Id: I8e9fbaf9c2853b076b13da02473fbbe039b9db57
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2551919Reviewed-by: 's avatarCamillo Bruni <cbruni@chromium.org>
      Reviewed-by: 's avatarMarja Hölttä <marja@chromium.org>
      Commit-Queue: Dan Clark <daniec@microsoft.com>
      Cr-Commit-Position: refs/heads/master@{#71506}
      9d72d08a
    • Michael Achenbach's avatar
      Revert "Enable simulating errors to test fuzzer reliability" · c0b46d97
      Michael Achenbach authored
      This reverts commit 4ad08c82.
      
      Reason for revert: Need to retry with bugs in separate stack
      frames.
      
      Original change's description:
      > Enable simulating errors to test fuzzer reliability
      >
      > This adds a d8 flag --simulate-errors, which on shutdown will cause
      > certain errors. This enables testing the reliability of sanitizers.
      >
      > This will cause a fatal error, a dcheck (if available) or a
      > violation that can be detected with one of the following sanitizers:
      > ASAN, UBSAN, MSAN, CFI.
      >
      > The same flag used in differential fuzzing will cause an error
      > subsumed with the error state "fake_difference".
      >
      > Bug: chromium:1152412
      > Change-Id: I4b36c6fe716797004d634263617d22ca67b05600
      > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2554999
      > Commit-Queue: Michael Achenbach <machenbach@chromium.org>
      > Reviewed-by: Clemens Backes <clemensb@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#71430}
      
      TBR=machenbach@chromium.org,clemensb@chromium.org
      
      # Not skipping CQ checks because original CL landed > 1 day ago.
      
      Bug: chromium:1152412
      Change-Id: If20cdef372b0e7e92e7080687f446539a587a815
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2565120Reviewed-by: 's avatarMichael Achenbach <machenbach@chromium.org>
      Commit-Queue: Michael Achenbach <machenbach@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#71475}
      c0b46d97
  3. 28 Nov, 2020 1 commit
  4. 26 Nov, 2020 2 commits
  5. 24 Nov, 2020 2 commits
  6. 23 Nov, 2020 2 commits
  7. 18 Nov, 2020 1 commit
  8. 17 Nov, 2020 1 commit
  9. 12 Nov, 2020 2 commits
  10. 11 Nov, 2020 3 commits
  11. 10 Nov, 2020 4 commits
  12. 04 Nov, 2020 1 commit
  13. 23 Oct, 2020 1 commit
  14. 16 Oct, 2020 1 commit
  15. 09 Oct, 2020 1 commit
  16. 08 Oct, 2020 1 commit
  17. 30 Sep, 2020 1 commit
  18. 28 Sep, 2020 2 commits
  19. 23 Sep, 2020 1 commit
  20. 22 Sep, 2020 3 commits
    • Camillo Bruni's avatar
      Reland "[log][d8] Only use d8.log.getAndStop on temporary log file" · 1724c77c
      Camillo Bruni authored
      This is a reland of 21bb43cc
      
      The build failures seems to be an infra flake.
      
      Original change's description:
      > [log][d8] Only use d8.log.getAndStop on temporary log file
      >
      > We run tests in parallel which can cause multiple tests to write to
      > the shared v8.log file. This obviously breaks the simple assertions in
      > mjsunit/tools/log.js.
      >
      > - Use temporary files for log testing with --logfile='+'
      >
      > - Change the symbol from '&' to '+' for using temporary files for
      >   logging with --logfile
      >
      > - Enable skipped log tests again.
      >
      > Bug: v8:10937, chromium:1129854, chromium:1130196
      > Change-Id: I607dc9a9ecc352e58525cdd21c1c93efebf0f09f
      > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2421826
      > Commit-Queue: Camillo Bruni <cbruni@chromium.org>
      > Reviewed-by: Toon Verwaest <verwaest@chromium.org>
      > Reviewed-by: Victor Gomes <victorgomes@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#70071}
      
      Bug: v8:10937
      Bug: chromium:1129854
      Bug: chromium:1130196
      Change-Id: I2ccf7528f35057ef668aa211142e0f1073fc1fc3
      Tbr: verwaest@chromium.org, victorgomes@chromium.org
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2424257Reviewed-by: 's avatarCamillo Bruni <cbruni@chromium.org>
      Commit-Queue: Camillo Bruni <cbruni@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#70076}
      1724c77c
    • Francis McCabe's avatar
      Revert "[log][d8] Only use d8.log.getAndStop on temporary log file" · ec570b8a
      Francis McCabe authored
      This reverts commit 21bb43cc.
      
      Reason for revert: See broken build: https://ci.chromium.org/p/v8/builders/ci/V8%20Linux64%20-%20builder/49882
      
      Original change's description:
      > [log][d8] Only use d8.log.getAndStop on temporary log file
      > 
      > We run tests in parallel which can cause multiple tests to write to
      > the shared v8.log file. This obviously breaks the simple assertions in
      > mjsunit/tools/log.js.
      > 
      > - Use temporary files for log testing with --logfile='+'
      > 
      > - Change the symbol from '&' to '+' for using temporary files for
      >   logging with --logfile
      > 
      > - Enable skipped log tests again.
      > 
      > Bug: v8:10937, chromium:1129854, chromium:1130196
      > Change-Id: I607dc9a9ecc352e58525cdd21c1c93efebf0f09f
      > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2421826
      > Commit-Queue: Camillo Bruni <cbruni@chromium.org>
      > Reviewed-by: Toon Verwaest <verwaest@chromium.org>
      > Reviewed-by: Victor Gomes <victorgomes@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#70071}
      
      TBR=cbruni@chromium.org,verwaest@chromium.org,victorgomes@chromium.org
      
      Change-Id: I5de61792c283139b2a898334e28e1f7b2d7c08f8
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Bug: v8:10937
      Bug: chromium:1129854
      Bug: chromium:1130196
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2424625Reviewed-by: 's avatarFrancis McCabe <fgm@chromium.org>
      Commit-Queue: Francis McCabe <fgm@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#70072}
      ec570b8a
    • Camillo Bruni's avatar
      [log][d8] Only use d8.log.getAndStop on temporary log file · 21bb43cc
      Camillo Bruni authored
      We run tests in parallel which can cause multiple tests to write to
      the shared v8.log file. This obviously breaks the simple assertions in
      mjsunit/tools/log.js.
      
      - Use temporary files for log testing with --logfile='+'
      
      - Change the symbol from '&' to '+' for using temporary files for
        logging with --logfile
      
      - Enable skipped log tests again.
      
      Bug: v8:10937, chromium:1129854, chromium:1130196
      Change-Id: I607dc9a9ecc352e58525cdd21c1c93efebf0f09f
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2421826
      Commit-Queue: Camillo Bruni <cbruni@chromium.org>
      Reviewed-by: 's avatarToon Verwaest <verwaest@chromium.org>
      Reviewed-by: 's avatarVictor Gomes <victorgomes@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#70071}
      21bb43cc
  21. 18 Sep, 2020 4 commits
    • Bill Budge's avatar
      Revert "[d8] Avoid recursive unhandled rejected Promise processing" · 66f1bf7b
      Bill Budge authored
      This reverts commit 66e4c99c.
      
      Reason for revert: Causes TSAN data races:
      https://ci.chromium.org/p/v8/builders/ci/V8%20Linux64%20TSAN%20-%20isolates/11350
      
      Original change's description:
      > [d8] Avoid recursive unhandled rejected Promise processing
      > 
      > Bug: chromium:1126309
      > Change-Id: I9d9d33cd151ed8af5ee8af09b8957eae9df2dcb1
      > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2410059
      > Commit-Queue: Toon Verwaest <verwaest@chromium.org>
      > Auto-Submit: Camillo Bruni <cbruni@chromium.org>
      > Reviewed-by: Toon Verwaest <verwaest@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#69986}
      
      TBR=cbruni@chromium.org,verwaest@chromium.org
      
      Change-Id: I39e6e40ade8d0fd8d3260d41513e68b4763753fe
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Bug: chromium:1126309
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2419034Reviewed-by: 's avatarBill Budge <bbudge@chromium.org>
      Commit-Queue: Bill Budge <bbudge@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#70009}
      66f1bf7b
    • Tobias Tebbi's avatar
      Reland^5 "[flags] warn about contradictory flags" · 0832a109
      Tobias Tebbi authored
      This is a reland of 2000aea5
      Changes compared to last reland:
      - Add rule in variants.py for --enable_experimental_regexp_engine.
      - Make sure --abort-on-contradictory-flags works as well as --fuzzing
        to disable the checking for fuzzers, including for d8 flags.
      
      Original change's description:
      > Reland^4 "[flags] warn about contradictory flags"
      >
      > This is a reland of 0ba115e6
      > Changes compared to last reland:
      > - Fix Python code trying to write to expected_outcomes, which is now a
      >   computed property.
      > - Fix remaining place in d8.cc that ignored the --fuzzing flag.
      > - Expect flag contradictions for --cache in code_serializer variant.
      >
      > Original change's description:
      > > Reland^3 "[flags] warn about contradictory flags"
      > >
      > > Changes:
      > > - Also allow second parameter influenced by --cache to be reassigned.
      > > - Fix --stress-opt to only --always-opt in the last iteration as before.
      > >
      > > Original change's description:
      > > > Reland^2 "[flags] warn about contradictory flags"
      > > >
      > > > This is a reland of d8f8a7e2
      > > > Change compared to last reland:
      > > > - Do not check for d8 flag contradictions in the presence of --fuzzing
      > > > - Allow identical re-declaration of --cache=*
      > > >
      > > > Original change's description:
      > > > > Reland "[flags] warn about contradictory flags"
      > > > >
      > > > > This is a reland of b8f91666
      > > > > Difference to previous CL: Additional functionality to specify
      > > > > incompatible flags based on GN variables and extra-flags, used
      > > > > to fix the issues that came up on the waterfall.
      > > > >
      > > > > This also changes the rules regarding repeated flags: While
      > > > > explicitly repeated flags are allowed for boolean values as long
      > > > > as they are identical, repeated flags or explicit flags in the
      > > > > presence of an active implication are disallowed for non-boolean
      > > > > flags. The latter simplifies specifying conflict rules in
      > > > > variants.py. Otherwise a rule like
      > > > >
      > > > > INCOMPATIBLE_FLAGS_PER_EXTRA_FLAG = {
      > > > >   "--gc-interval=*": ["--gc-interval=*"],
      > > > > }
      > > > >
      > > > > wouldn't work because specifying the same GC interval twice
      > > > > wouldn't actually count as a conflict. This was an issue with
      > > > > test/mjsunit/wasm/gc-buffer.js, which specifies
      > > > > --gc-interval=500 exactly like the extra flag by the stress bot.
      > > > >
      > > > > Also, this now expands contradictory flags checking to d8 flags
      > > > > for consistency.
      > > > >
      > > > > Original change's description:
      > > > > > [flags] warn about contradictory flags
      > > > > >
      > > > > > Design Doc: https://docs.google.com/document/d/1lkvu8crkK7Ei39qjkPCFijpNyxWXsOktG9GB-7K34jM/
      > > > > >
      > > > > > Bug: v8:10577
      > > > > > Change-Id: Ib9cfdffa401c48c895bf31caed5ee03545beddab
      > > > > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2154792
      > > > > > Reviewed-by: Clemens Backes <clemensb@chromium.org>
      > > > > > Reviewed-by: Michael Achenbach <machenbach@chromium.org>
      > > > > > Reviewed-by: Georg Neis <neis@chromium.org>
      > > > > > Reviewed-by: Tamer Tas <tmrts@chromium.org>
      > > > > > Commit-Queue: Tobias Tebbi <tebbi@chromium.org>
      > > > > > Cr-Commit-Position: refs/heads/master@{#68168}
      > > > >
      > > > > Bug: v8:10577
      > > > > Change-Id: I268e590ee18a535b13dee14eeb15ddd0a9ee8341
      > > > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2235115
      > > > > Commit-Queue: Tobias Tebbi <tebbi@chromium.org>
      > > > > Reviewed-by: Tamer Tas <tmrts@chromium.org>
      > > > > Reviewed-by: Clemens Backes <clemensb@chromium.org>
      > > > > Reviewed-by: Georg Neis <neis@chromium.org>
      > > > > Cr-Commit-Position: refs/heads/master@{#68989}
      > > >
      > > > Bug: v8:10577
      > > > Change-Id: I31d2794d4f9ff630f3444210100c64d67d881276
      > > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2339464
      > > > Commit-Queue: Tobias Tebbi <tebbi@chromium.org>
      > > > Reviewed-by: Clemens Backes <clemensb@chromium.org>
      > > > Cr-Commit-Position: refs/heads/master@{#69339}
      > >
      > > Bug: v8:10577
      > > Cq-Include-Trybots: luci.v8.try:v8_linux64_tsan_rel_ng
      > > Cq-Include-Trybots: luci.v8.try:v8_linux64_tsan_isolates_rel_ng
      > > Change-Id: I4a69dc57a102782cb453144323e3752ac8278624
      > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2352770
      > > Commit-Queue: Tobias Tebbi <tebbi@chromium.org>
      > > Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
      > > Reviewed-by: Clemens Backes <clemensb@chromium.org>
      > > Cr-Commit-Position: refs/heads/master@{#69433}
      >
      > Change-Id: Ib6d2aeb495210f581ac671221c265df58e8e5e70
      > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2398640
      > Commit-Queue: Tobias Tebbi <tebbi@chromium.org>
      > Reviewed-by: Clemens Backes <clemensb@chromium.org>
      > Reviewed-by: Tamer Tas <tmrts@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#69954}
      
      Bug: v8:10577
      TBR: clemensb@chromium.org, tmrts@chromium.org
      Change-Id: Iab2d32cdcc2648934fc52255ccf3ae3ec9ca4d9b
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2416386Reviewed-by: 's avatarTobias Tebbi <tebbi@chromium.org>
      Commit-Queue: Tobias Tebbi <tebbi@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#70000}
      0832a109
    • Camillo Bruni's avatar
      [test][d8] Add d8.log.getAndStop helper · 262fbcbe
      Camillo Bruni authored
      The new helper function allows us to write tests for log parsing
      without the need of first generating a log file.
      This makes it easier guard against errors when the log format changes.
      
      - add d8.log.getAndStop helper
      - add basic log test
      - fix test that regresses due to changed gc timing
      
      Bug: v8:10668
      Change-Id: Ie57171fa98fe90428b89c26289d55fcbf2a70615
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2403245Reviewed-by: 's avatarToon Verwaest <verwaest@chromium.org>
      Commit-Queue: Toon Verwaest <verwaest@chromium.org>
      Auto-Submit: Camillo Bruni <cbruni@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#69987}
      262fbcbe
    • Camillo Bruni's avatar
      [d8] Avoid recursive unhandled rejected Promise processing · 66e4c99c
      Camillo Bruni authored
      Bug: chromium:1126309
      Change-Id: I9d9d33cd151ed8af5ee8af09b8957eae9df2dcb1
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2410059
      Commit-Queue: Toon Verwaest <verwaest@chromium.org>
      Auto-Submit: Camillo Bruni <cbruni@chromium.org>
      Reviewed-by: 's avatarToon Verwaest <verwaest@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#69986}
      66e4c99c
  22. 16 Sep, 2020 1 commit
    • Bill Budge's avatar
      Revert "Reland^4 "[flags] warn about contradictory flags"" · a0e38f31
      Bill Budge authored
      This reverts commit 2000aea5.
      
      Reason for revert: Breaks NumFuzz.
      
      Original change's description:
      > Reland^4 "[flags] warn about contradictory flags"
      > 
      > This is a reland of 0ba115e6
      > Changes compared to last reland:
      > - Fix Python code trying to write to expected_outcomes, which is now a
      >   computed property.
      > - Fix remaining place in d8.cc that ignored the --fuzzing flag.
      > - Expect flag contradictions for --cache in code_serializer variant.
      > 
      > Original change's description:
      > > Reland^3 "[flags] warn about contradictory flags"
      > >
      > > Changes:
      > > - Also allow second parameter influenced by --cache to be reassigned.
      > > - Fix --stress-opt to only --always-opt in the last iteration as before.
      > >
      > > Original change's description:
      > > > Reland^2 "[flags] warn about contradictory flags"
      > > >
      > > > This is a reland of d8f8a7e2
      > > > Change compared to last reland:
      > > > - Do not check for d8 flag contradictions in the presence of --fuzzing
      > > > - Allow identical re-declaration of --cache=*
      > > >
      > > > Original change's description:
      > > > > Reland "[flags] warn about contradictory flags"
      > > > >
      > > > > This is a reland of b8f91666
      > > > > Difference to previous CL: Additional functionality to specify
      > > > > incompatible flags based on GN variables and extra-flags, used
      > > > > to fix the issues that came up on the waterfall.
      > > > >
      > > > > This also changes the rules regarding repeated flags: While
      > > > > explicitly repeated flags are allowed for boolean values as long
      > > > > as they are identical, repeated flags or explicit flags in the
      > > > > presence of an active implication are disallowed for non-boolean
      > > > > flags. The latter simplifies specifying conflict rules in
      > > > > variants.py. Otherwise a rule like
      > > > >
      > > > > INCOMPATIBLE_FLAGS_PER_EXTRA_FLAG = {
      > > > >   "--gc-interval=*": ["--gc-interval=*"],
      > > > > }
      > > > >
      > > > > wouldn't work because specifying the same GC interval twice
      > > > > wouldn't actually count as a conflict. This was an issue with
      > > > > test/mjsunit/wasm/gc-buffer.js, which specifies
      > > > > --gc-interval=500 exactly like the extra flag by the stress bot.
      > > > >
      > > > > Also, this now expands contradictory flags checking to d8 flags
      > > > > for consistency.
      > > > >
      > > > > Original change's description:
      > > > > > [flags] warn about contradictory flags
      > > > > >
      > > > > > Design Doc: https://docs.google.com/document/d/1lkvu8crkK7Ei39qjkPCFijpNyxWXsOktG9GB-7K34jM/
      > > > > >
      > > > > > Bug: v8:10577
      > > > > > Change-Id: Ib9cfdffa401c48c895bf31caed5ee03545beddab
      > > > > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2154792
      > > > > > Reviewed-by: Clemens Backes <clemensb@chromium.org>
      > > > > > Reviewed-by: Michael Achenbach <machenbach@chromium.org>
      > > > > > Reviewed-by: Georg Neis <neis@chromium.org>
      > > > > > Reviewed-by: Tamer Tas <tmrts@chromium.org>
      > > > > > Commit-Queue: Tobias Tebbi <tebbi@chromium.org>
      > > > > > Cr-Commit-Position: refs/heads/master@{#68168}
      > > > >
      > > > > Bug: v8:10577
      > > > > Change-Id: I268e590ee18a535b13dee14eeb15ddd0a9ee8341
      > > > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2235115
      > > > > Commit-Queue: Tobias Tebbi <tebbi@chromium.org>
      > > > > Reviewed-by: Tamer Tas <tmrts@chromium.org>
      > > > > Reviewed-by: Clemens Backes <clemensb@chromium.org>
      > > > > Reviewed-by: Georg Neis <neis@chromium.org>
      > > > > Cr-Commit-Position: refs/heads/master@{#68989}
      > > >
      > > > Bug: v8:10577
      > > > Change-Id: I31d2794d4f9ff630f3444210100c64d67d881276
      > > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2339464
      > > > Commit-Queue: Tobias Tebbi <tebbi@chromium.org>
      > > > Reviewed-by: Clemens Backes <clemensb@chromium.org>
      > > > Cr-Commit-Position: refs/heads/master@{#69339}
      > >
      > > Bug: v8:10577
      > > Cq-Include-Trybots: luci.v8.try:v8_linux64_tsan_rel_ng
      > > Cq-Include-Trybots: luci.v8.try:v8_linux64_tsan_isolates_rel_ng
      > > Change-Id: I4a69dc57a102782cb453144323e3752ac8278624
      > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2352770
      > > Commit-Queue: Tobias Tebbi <tebbi@chromium.org>
      > > Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
      > > Reviewed-by: Clemens Backes <clemensb@chromium.org>
      > > Cr-Commit-Position: refs/heads/master@{#69433}
      > 
      > Change-Id: Ib6d2aeb495210f581ac671221c265df58e8e5e70
      > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2398640
      > Commit-Queue: Tobias Tebbi <tebbi@chromium.org>
      > Reviewed-by: Clemens Backes <clemensb@chromium.org>
      > Reviewed-by: Tamer Tas <tmrts@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#69954}
      
      TBR=clemensb@chromium.org,tebbi@chromium.org,tmrts@chromium.org
      
      Change-Id: I2dc80bcad9f74c29298902e01939e7e7f3336cf6
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2415133Reviewed-by: 's avatarBill Budge <bbudge@chromium.org>
      Commit-Queue: Bill Budge <bbudge@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#69959}
      a0e38f31