Граф коммитов

13465 Коммитов

Автор SHA1 Сообщение Дата
Bruce Dawson c74997418b Force define DEPRECATEDENUMERATOR for clang
The Fall Creators Update SDK uses DEPRECATEDENUMERATOR to mark some
enums as being deprecated but in the __cplusplus >= 201402 case it
fails to define it! This change forcibly defines it to work around
this header-file bug. This change avoids dozens of errors in
Windows.ApplicationModel.Contacts.h.

VS bug is filed here:
https://developercommunity.visualstudio.com/content/problem/131391/154-fails-to-define-deprecatedenumerator-2.html

Bug: 773476
Change-Id: I604228cac02f676e2c79e9a8e533fd332221b0cd
Reviewed-on: https://chromium-review.googlesource.com/717190
Commit-Queue: Bruce Dawson <brucedawson@chromium.org>
Reviewed-by: Nico Weber <thakis@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#508862}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 00de4b5174c190b4d9f6120ef550a310ec740459
2017-10-13 23:21:23 +00:00
Peter Collingbourne f6d94d10a1 build: When targeting Android with Clang, use llvm-ar instead of NDK ar.
Without this, archives will be missing symbol tables when LTO is
enabled, which can lead to link errors.

Bug: 469376
Change-Id: I14ac52cd692d73d4773005071881463b2c60d23f
Reviewed-on: https://chromium-review.googlesource.com/719351
Reviewed-by: Nico Weber <thakis@chromium.org>
Commit-Queue: Peter Collingbourne <pcc@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#508851}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 508d46cc2897daa914fe9454000d8a8bc3eddbd2
2017-10-13 22:32:20 +00:00
Ivica Bogosavljevic 560b3493f1 MIPS: Support GCC toolchain for MIPSEL target under GN
Bug: 
Change-Id: I92235087522df97e22d8ac467a935ce9576ccac7
Reviewed-on: https://chromium-review.googlesource.com/718202
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Commit-Queue: Dirk Pranke <dpranke@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#508794}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 72cc68f59b978daf98507b8875306afa75953550
2017-10-13 20:16:18 +00:00
Vlad Tsyrklevich 8afa1551c5 [CFI] Move CFI flags to use buildflags
Splitting this refactor out from crrev.com/c/706859 to avoid confusing
it with unrelated buildflags. Change CFI flags to use the buildflag
system instead of manually defining flags which has the advantage of
eliminating typo errors in flags checks.

Bug: 771365
Change-Id: Ia2c48efe7974af314b8cac53ba36a2624a9d5428
Reviewed-on: https://chromium-review.googlesource.com/714385
Commit-Queue: Peter Collingbourne <pcc@chromium.org>
Reviewed-by: Peter Collingbourne <pcc@chromium.org>
Reviewed-by: Brett Wilson <brettw@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#508778}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: e0408ff1171f3429e3826fb07e65fe03eb2f4e4a
2017-10-13 19:35:24 +00:00
Nico Weber f021cd0789 Add some documentation for win/cross builds, remove assert() disallowing them.
Also, in win/cross builds:
* enable clang by default
* disable NaCl by default

Bug: 495204
Change-Id: Iae3c982097970227c45450fa449f6a56d64f148f
Reviewed-on: https://chromium-review.googlesource.com/717077
Reviewed-by: Brett Wilson <brettw@chromium.org>
Commit-Queue: Nico Weber <thakis@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#508745}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: bf97a6d177dc974c388a5b9cd354e63582f1a367
2017-10-13 17:40:02 +00:00
Juan A. Navarro Perez 65725e8482 [build/android] Remove dummy --device from resource_sizes.py
Option no longer needed since bots don't use the perf tests sharder
any more.

Bug: 645399
Change-Id: I3f3564afa047f73b9c301b0409dafe2946b9ccab
Reviewed-on: https://chromium-review.googlesource.com/718739
Reviewed-by: agrieve <agrieve@chromium.org>
Commit-Queue: Juan Antonio Navarro Pérez <perezju@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#508707}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 5f191a0a48117ddd780824b3bbd08d11a0e2dacf
2017-10-13 15:22:23 +00:00
Nico Weber c6001bdb73 Revert "Clang: disable new warning -Wtautological-constant-compare"
This reverts commit cfa6d963eb8a607c9885af92d43f74c61866a4d2.

Reason for revert: was reverted again upstream

Original change's description:
> Clang: disable new warning -Wtautological-constant-compare
> 
> This is a new warning in Clang r315614 and fires on e.g.:
> 
>     int64_t aligned_start = 0;
>     int64_t aligned_size = 0;
>     CalculateVMAlignedBoundaries(region.offset,
>                                  region.size,
>                                  &aligned_start,
>                                  &aligned_size,
>                                  &data_offset);
> 
>     // Ensure that the casts in the mmap call below are sane.
>     if (aligned_start < 0 || aligned_size < 0 ||
>         aligned_start > std::numeric_limits<off_t>::max() ||
>         static_cast<uint64_t>(aligned_size) >
>             std::numeric_limits<size_t>::max() ||
>         static_cast<uint64_t>(region.size) >
>             std::numeric_limits<size_t>::max()) {
>       DLOG(ERROR) << "Region bounds are not valid for mmap";
>       return false;
>     }
> 
> TBR=thakis
> 
> Bug: 767059
> Change-Id: I659664af603677195ba41d22de1098ca5084045b
> Reviewed-on: https://chromium-review.googlesource.com/716875
> Reviewed-by: Hans Wennborg <hans@chromium.org>
> Commit-Queue: Hans Wennborg <hans@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#508497}

TBR=thakis@chromium.org,hans@chromium.org

Change-Id: I8d2a4ecfc2d0d74ff700d3c6ec82b49ec5639641
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 767059
Reviewed-on: https://chromium-review.googlesource.com/716463
Reviewed-by: Nico Weber <thakis@chromium.org>
Commit-Queue: Nico Weber <thakis@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#508511}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 26f095479802c277dbd8b2524cd1a27555fc714c
2017-10-12 22:44:03 +00:00
Hans Wennborg c7e63b3818 Clang: disable new warning -Wtautological-constant-compare
This is a new warning in Clang r315614 and fires on e.g.:

    int64_t aligned_start = 0;
    int64_t aligned_size = 0;
    CalculateVMAlignedBoundaries(region.offset,
                                 region.size,
                                 &aligned_start,
                                 &aligned_size,
                                 &data_offset);

    // Ensure that the casts in the mmap call below are sane.
    if (aligned_start < 0 || aligned_size < 0 ||
        aligned_start > std::numeric_limits<off_t>::max() ||
        static_cast<uint64_t>(aligned_size) >
            std::numeric_limits<size_t>::max() ||
        static_cast<uint64_t>(region.size) >
            std::numeric_limits<size_t>::max()) {
      DLOG(ERROR) << "Region bounds are not valid for mmap";
      return false;
    }

TBR=thakis

Bug: 767059
Change-Id: I659664af603677195ba41d22de1098ca5084045b
Reviewed-on: https://chromium-review.googlesource.com/716875
Reviewed-by: Hans Wennborg <hans@chromium.org>
Commit-Queue: Hans Wennborg <hans@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#508497}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: cfa6d963eb8a607c9885af92d43f74c61866a4d2
2017-10-12 22:10:02 +00:00
Nico Weber d50b7d794d Don't silently ignore Update() errors in vs_toolchain script.
Bug: none
Change-Id: Icc1719245f33d7dd9002f1b488203288fa080df6
Reviewed-on: https://chromium-review.googlesource.com/716342
Reviewed-by: Bruce Dawson <brucedawson@chromium.org>
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Commit-Queue: Nico Weber <thakis@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#508482}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 14d5f36636eb8f5fd1cedec29a368ff2eec3a45d
2017-10-12 21:44:37 +00:00
Peter Wen 1489b15e4c Android: Update errorprone to 2.0.6
BUG=383646
Cq-Include-Trybots: master.tryserver.chromium.android:android_cronet_tester;master.tryserver.chromium.mac:ios-simulator-cronet

Change-Id: I7abbb23e2654d70b2ae8d9913c5ab0491e88183d
Reviewed-on: https://chromium-review.googlesource.com/702495
Reviewed-by: agrieve <agrieve@chromium.org>
Commit-Queue: Peter Wen <wnwen@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#508420}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 31683a92bb81c5dc25373ebbcc2a04043a2d91b0
2017-10-12 20:07:13 +00:00
Juan A. Navarro Perez 71648bcf88 [build/android] Remove support for --flaky-tests on perf test runner
This option has not been used for a long while, cleaning up a bit of
dead code.

Bug: 770700
Change-Id: Ia8cf3095b97e1540a1b2264727d92949a19a3b86
Reviewed-on: https://chromium-review.googlesource.com/716676
Reviewed-by: John Budorick <jbudorick@chromium.org>
Commit-Queue: Juan Antonio Navarro Pérez <perezju@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#508410}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: fde4a1c817c9b03dec8a0ceb5f46b589874d774a
2017-10-12 20:01:24 +00:00
Nico Weber 3c8323132c Auto-download Win SDK on non-Win hosts if 'win' is in target_os in .gclient.
Also, automatically set up a case-insensitive user-space file system mount
for the Windows SDK when on Linux.

This implements https://bugs.chromium.org/p/chromium/issues/detail?id=495204#c82

Bug: 495204
Change-Id: I8c6833570bfffffcfd9b52f31a5ee5e620f46620
Reviewed-on: https://chromium-review.googlesource.com/713999
Reviewed-by: Hans Wennborg <hans@chromium.org>
Commit-Queue: Nico Weber <thakis@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#508375}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: a13ad93cde595521492169db950406efa6612a76
2017-10-12 18:52:40 +00:00
Peter Wen 79e3102bb2 Reland "Android: Turn on errorprone by default"
Original CL: https://crrev.com/c/702574

Changes:
- Fix bin/chromium_errorprone to only be generated/used through the
  default toolchain.

NOTRY=true  # win7_chromium_rel_ng issue tracked in 774136
BUG=383646

Change-Id: I6568ffa602a7586b8f19404728028464eb5fc222
Reviewed-on: https://chromium-review.googlesource.com/716298
Commit-Queue: Peter Wen <wnwen@chromium.org>
Reviewed-by: agrieve <agrieve@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#508374}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: d0792561cd76c39fee44fb509a64029a000fe65a
2017-10-12 18:22:49 +00:00
Bruce Dawson ba65a14831 Force building with *spring* Creators Update SDK
The Fall Creators Update SDK has various bugs/incompatibilities that
cause errors when building Chromium. This will not affect Google
employees who use a packaged toolchain but good affect anybody who set
DEPOT_TOOLS_WIN_TOOLCHAIN=0 and is therefore using the system install
of VS 2017. This change forces vcvarsall.bat to use the 15063 SDK
instead of the latest-installed.

This should be a temporary measure that can be undone as we land
workarounds for the incompatibilities or get fixed SDK versions.

Bug: 773476
Change-Id: If5b89186d5053c878f5c771a489fe2082d9b2d68
Reviewed-on: https://chromium-review.googlesource.com/714366
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Reviewed-by: Daniel Bratell <bratell@opera.com>
Commit-Queue: Bruce Dawson <brucedawson@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#508362}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 98392ed2d255753c2c8ca5b2f31c333f75b579a8
2017-10-12 16:14:56 +00:00
Bruce Dawson ddb142bd33 Repackaged VS 2017 with updated SetEnv.cmd
Clang sanitizer tests don't build with MSVC2017 SDK due to a missing
environment variable. The packaging script has been updated to provide
that in the future but this is just a repackaging of the previous
package with a spot-fix, using a new --repackage option to
win_toolchain/package_from_installed.py.

To test this I did a "gclient runhooks" to pull down the new package
and then did a directory compare. This verified that the only file
that is changed is SetEnv.cmd and the only change there is to add:

set VCToolsInstallDir=%~dp0..\..\VC\Tools\MSVC\14.11.25503\

So, this should give identical results to the previous package except
in the case where VCToolsInstallDir is needed.

Bug: 772123
Change-Id: I70644d24e306825abbb4245802c7c3234c4b54dc
Reviewed-on: https://chromium-review.googlesource.com/713441
Reviewed-by: Nico Weber <thakis@chromium.org>
Commit-Queue: Bruce Dawson <brucedawson@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#508151}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 5aed7b7bbfb9311aa80b293c8d9e21f099fff776
2017-10-11 22:52:33 +00:00
Paweł Hajdan, Jr 6f3a6950ac Revert "Add checkout_nacl gclient flag (default true) (attempt #2)"
This reverts commit 53c4c334b38e95ec2fea2498354ba4864cb54585
(https://chromium-review.googlesource.com/c/702434/).

TBR=dpranke,dschuff

Bug: 773185, 756688
Change-Id: Id66e32b07b05957b4a1265da723b14fb92123d7f
Reviewed-on: https://chromium-review.googlesource.com/713374
Reviewed-by: Paweł Hajdan Jr. <phajdan.jr@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#507998}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: da2f3313e4c8e4de9c1011d3ed3e80a1bea5e04c
2017-10-11 16:24:39 +00:00
Jonathan Metzman b23a360275 Add warnings not to use "is_component_build=true" when using
use_clang_coverage.


Bug: 773530
Change-Id: I7d9002279230b6aa6efaf9cf5ed09117ae4e6ff0
Reviewed-on: https://chromium-review.googlesource.com/711217
Reviewed-by: Max Moroz <mmoroz@chromium.org>
Commit-Queue: Max Moroz <mmoroz@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#507983}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: cc786b3eb32eb1e4c9b844fce74d3e6f5ee1b4b9
2017-10-11 15:07:45 +00:00
Nico Weber 66371a176b Teach midl.py to replace the main class GUID at file-copy time.
Remoting uses a GUID that changes over time for its main class.
midl.py currently just copies over fixed precomputed outputs.
(midl.exe is Windows-only, and we want to be able to build on non-Win).

To make things work, give midl.py a dynamic_guid arg, that, when set,
makes midl.py replace the GUID in the checked-in output with a dynamic
GUID.

The tricky bit is that the GUID also ends up in the binary .tlb file,
which is an undocumented file format. I figured out most of the file
format in https://chromium-review.googlesource.com/c/chromium/src/+/693223
(see around line 26s for an overview). For a dynamic GUID, two things
need to happen:

1. Find where the GUID of the main clas is in the .tlb file, replace it
2. There's a global hash table of all GUIDs. Recompute this hash table
   after changing one of the GUIDs.

midl.py still compares the output of "copy file with replaced GUID"
with the output of running midl.exe when on Windows, which verifies
that the tlb modification does the same thing that midl.exe does.
(But the diff now needs to compare the post-copy files instead of
the checked-in files.)

TBR=sergeyu

Bug: 761839
Change-Id: I1fcc3202df3cc4f80a41087668c2c60110fa142c
Reviewed-on: https://chromium-review.googlesource.com/707197
Commit-Queue: Nico Weber <thakis@chromium.org>
Reviewed-by: Bruce Dawson <brucedawson@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#507860}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: fc10d000f13aae3905207b94325a6ffa6b44cfe4
2017-10-11 01:54:00 +00:00
Stanislav Chiknavaryan 9d108f33b1 Removed TSAN suppression for GpuWatchdogThread::CheckArmed
It looks like the original issue has been fixed some time ago and
TSAN suppression is no longer needed.

Bug: 246974
Change-Id: I0105cdbc37902b2636ad723342dbf36db507b4fc
Reviewed-on: https://chromium-review.googlesource.com/710501
Reviewed-by: Xi Cheng <chengx@chromium.org>
Commit-Queue: Stanislav Chiknavaryan <stanisc@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#507821}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 6692c8ac37f4f768ea7e1b118e75422ec08d629b
2017-10-10 23:34:38 +00:00
Wez b2421585fc Add |target_cpu| option to Fuchsia exe_/test_runner scripts.
- BuildBootfs() now accepts a |target_cpu| parameter, and uses it to
  choose the correct bootdata and kernel binaries.
- RunFuchsia() uses the |target_cpu| in the BootfsData to configure QEMU
  for the correct machine, CPU-type, etc.
- GN rules are updated to propagate the |target_cpu| into the runner-
  script creation, and the scripts themselves are updated to pass it on
  to BuildBootfs().

ARM64 binaries are run with QEMU machine=virt, cpu=cortex-a53.

Bug: 772031
Change-Id: Icb529dda7394b3731aa888e0b092e04215fe6016
Reviewed-on: https://chromium-review.googlesource.com/710058
Commit-Queue: Wez <wez@chromium.org>
Reviewed-by: Scott Graham <scottmg@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#507808}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 143667269a9aa451cdd90e0a80d492f583a1c949
2017-10-10 22:55:17 +00:00
Nico Weber 59d74a12a4 Make linux sysroot script print nothing in the happy case where it needs to do nothing.
Since this is the only way it can print nothing, no information is getting lost.
This is part of a few changes to make `gclient runhooks` less noisy.

Bug: 772741
Change-Id: I9d3e22d13c909294466a609289c9e36b5f94bbe1
Reviewed-on: https://chromium-review.googlesource.com/710456
Reviewed-by: Thomas Anderson <thomasanderson@chromium.org>
Commit-Queue: Nico Weber <thakis@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#507784}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: b4ac34edef3a7552cb38c938f00eb45885047044
2017-10-10 21:50:31 +00:00
Mike Bjorge 534e6039ae find_depot_tools: put DEPS'd depot_tools first
Update find_depot_tools to put the pinned depot_tools from the DEPS file
first on the sys.path.

If a user/bot has depot_tools on their path already (likely pointing to
a global, auto-updated-to-master version), the scripts will still want
to find the pinned version, in case APIs change.

Bug: 773182
Change-Id: I26a55a5a463462911cd3324ed8c31dc9685144c0
Reviewed-on: https://chromium-review.googlesource.com/710315
Reviewed-by: Daniel Jacques <dnj@chromium.org>
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Commit-Queue: Mike Bjorge <mbjorge@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#507779}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 5064a49489a271975179a5341025ec2dafc9d8fd
2017-10-10 21:36:39 +00:00
Nico Weber f15b84f4c1 Make mac toolchain update script print nothing in the happy case where it needs to do nothing.
The script now prints nothing both when it uses a local toolchain and when it
uses a hermetic toolchain that's already up-to-date, but I argue that almost
nobody was looking at that output anyways.

This is part of a few changes to make `gclient runhooks` less noisy.

Bug: 772741
Change-Id: I4f32491894269522617cde7fd180344ae02c43bb
Reviewed-on: https://chromium-review.googlesource.com/709637
Reviewed-by: Erik Chen <erikchen@chromium.org>
Reviewed-by: Justin Cohen <justincohen@chromium.org>
Commit-Queue: Nico Weber <thakis@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#507770}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 03dff362ace00df6ad8825d1c8baabae5af9de94
2017-10-10 21:06:07 +00:00
Scott Graham 82129d9c75 fuchsia: Make automatic symbol_level match Linux
Extra (unnecessary) symbols are suspected of causing bot timeout on long
links.

Bug: 771076
Change-Id: Id7569bfd6040f2985d62cc213c0fda6a3db9477c
Reviewed-on: https://chromium-review.googlesource.com/709834
Reviewed-by: Nico Weber <thakis@chromium.org>
Commit-Queue: Scott Graham <scottmg@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#507740}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 3a5516d4a380ac1e24c405d85e3d2a91b01ca65a
2017-10-10 19:27:24 +00:00
James Robinson d7e78f89f5 [fuchsia] Teach fuchsia_executable_runner template to forward testonly
This is needed for defining executable runners for testonly targets.

Change-Id: I87910a44f7a3b865a0161b54b0d35eab4c84e120
Reviewed-on: https://chromium-review.googlesource.com/706419
Commit-Queue: Scott Graham <scottmg@chromium.org>
Reviewed-by: Wez <wez@chromium.org>
Reviewed-by: Scott Graham <scottmg@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#507683}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: fef5ada76d3defc4307b049d054caefe2bc87c1a
2017-10-10 16:21:27 +00:00
Jonathan Metzman 70e9248ced Add use_fuzzing_engine build variable, refactor code to use it and fix
code that erroneously only checked "use_libfuzzer"

TBR=dalecurtis@chromium.org,nick@chromium.org,noel@chromium.org,pwnall@chromium.org

Bug: 770974,770968
Change-Id: I16a58edc1a6ef6b7fcb9b779ea9af6c1d2b3320f
Reviewed-on: https://chromium-review.googlesource.com/707189
Reviewed-by: Oliver Chang <ochang@chromium.org>
Commit-Queue: Jonathan Metzman <metzman@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#507521}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: d901d1ba5f96a7cf67e4d609bfec584bfcbaa0d3
2017-10-09 23:07:28 +00:00
Sergey Ulanov 74bb23e45e Update GN files to make is_chromecast compatible with is_fuchsia
With these changes GN is happy when target_os="Fuchsia" and
is_chromecast=true. Build still fails.

TBR=scottmg@chromium.org

Bug: 772488
Change-Id: I335bc08d555b6a851f4afbd296bf05e9cdc9b4e9
Reviewed-on: https://chromium-review.googlesource.com/703876
Reviewed-by: Nico Weber <thakis@chromium.org>
Reviewed-by: Luke Halliwell <halliwell@chromium.org>
Commit-Queue: Sergey Ulanov <sergeyu@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#507513}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 6af0b54f5fa9656e42a3fcf252488a927b031ab8
2017-10-09 22:36:04 +00:00
Scott Graham bc25f6cf73 fuchsia: Tidy up flags used for 3-sided rolls for Magenta->Zircon
Bug: 765754
Change-Id: Ia3ccabe10d902931c804e1f01c32afccd38b5e04
Reviewed-on: https://chromium-review.googlesource.com/671213
Reviewed-by: Wez <wez@chromium.org>
Commit-Queue: Wez <wez@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#507445}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 6e0dadef1db44ca63c3709ebb6eefb82de9a310c
2017-10-09 19:28:24 +00:00
Benjamin Pastene 04f8b10314 Color android test summaries in terminal based on results.
Because it's weird to see "all tests pass" in angry blood-red colors.

Example:
https://drive.google.com/open?id=0B1V0Ao3Y4aLibHZ6MVpVZGlDODg

Bug: 
Change-Id: I8b2259952843fae7ce2f49fe61ead78497576160
Reviewed-on: https://chromium-review.googlesource.com/705820
Commit-Queue: Benjamin Pastene <bpastene@chromium.org>
Reviewed-by: John Budorick <jbudorick@chromium.org>
Reviewed-by: agrieve <agrieve@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#507420}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 301326bf15d8f76d9055782e6b53c48f9b916a94
2017-10-09 18:30:52 +00:00
Daniel Bratell 8a52332850 Support jumbo for mojo generated code (-42 CPU minutes)
Mojo generates a lot of code that is expensive to compile and
compiling them through jumbo saves roughly 80-90% of that effort,
which is 42 CPU minutes on the reference machine (surprising that 
mojo code needs that long to compile).

42 CPU minutes is -7% of the current "fastest" compilation, or
-4.5% of current master use_jumbo_build=true. The wall clock effect
will be similar for a 4c/8t machine but smaller the more cores
the computer have.

This patch includes a change to jumbo.gni to handle targets 
with no sources, and streamlines targets with only one file, 
because both happen through the mojo template.

Bug: 771153
Change-Id: Ia11a709711600f1b6eedd098bf47c1df2239a7a5
Reviewed-on: https://chromium-review.googlesource.com/697664
Reviewed-by: Bruce Dawson <brucedawson@chromium.org>
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Reviewed-by: Ken Rockot <rockot@chromium.org>
Commit-Queue: Daniel Bratell <bratell@opera.com>
Cr-Original-Commit-Position: refs/heads/master@{#507393}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 6190165700c744187b3de8082341705f2f58be5e
2017-10-09 16:53:30 +00:00
John Budorick c7ee2e9c85 [android] Don't write bytecode when running stack.
stack otherwise writes ".../stackc", which our gitignore can't
reasonably ignore.

Bug: 767620
Change-Id: I838e78488efa6c5c6847930d224ab930a0802438
Reviewed-on: https://chromium-review.googlesource.com/676729
Reviewed-by: Zhiling Huang <hzl@chromium.org>
Commit-Queue: John Budorick <jbudorick@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#507386}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 8ddab7614bf8e067b30a427908a79828ed4b5db2
2017-10-09 16:03:36 +00:00
Ben Wagner d4dc6a6290 Build FreeType and HarfBuzz together.
The effect of this change is to hide the FreeType and HarfBuzz builds
from the rest of the build except for a new component library named
'freetype_harfbuzz'. All existing users of the 'freetype' and 'harfbuzz'
targets will instead depend on the 'freetype_harfbuzz' target. The
'freetype_harfbuzz' component will depend on the appropriate source sets
or export the system packages for both FreeType and HarfBuzz.

The reason for this change is that the full FreeType and HarfBuzz
libraries we desire are circularly dependent. Before this change the
build attempted to work around this by building HarfBuzz as a static
library which also pulled in a small bootstrap FreeType static library.
However, this causes ODR violations in component build, and potentially
in the non-component build as well. Recent changes in FreeType cause
FreeType to act incorrectly in these circumstances, so these ODR issues
are preventing FreeType from rolling.

A different approach would be to
1) Compile all the sources.
2) Link the base libraries.
3) Link the complete libraries against the base libraries.
4) Create the final libraries from the complete libraries by
re-targeting the dependent library names directly.

This last step can in theory be done for ELF using a tool like

patchelf --replace-needed <other complete library path>
                          <other final library path>
                          <complete library>

that outputs to <final library path> instead of updating in place.
However, even if there were such a tool for dlls, this is something
which would be needed on any platform. As a result, this only seems
promising if all linkers supported this sort of re-writing.

BUG=chromium:768938

Change-Id: I488dc8cde8f6a8f88903d25f13ecd61fd2d74a3f
Reviewed-on: https://chromium-review.googlesource.com/696241
Reviewed-by: Mike West <mkwst@chromium.org>
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Reviewed-by: Dominik Röttsches <drott@chromium.org>
Reviewed-by: Elliot Glaysher <erg@chromium.org>
Reviewed-by: Alex Clarke <alexclarke@chromium.org>
Reviewed-by: Brett Wilson <brettw@chromium.org>
Commit-Queue: Ben Wagner <bungeman@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#507381}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 7619f01f1fa10674df56b9921df2f94718478201
2017-10-09 15:35:00 +00:00
Paweł Hajdan, Jr 7290955ac4 Add checkout_nacl gclient flag (default true) (attempt #2)
This is a modified reland of https://chromium-review.googlesource.com/c/chromium/src/+/681854,
adjusted for https://chromium-review.googlesource.com/c/chromium/src/+/688314 .

See https://groups.google.com/a/chromium.org/d/msg/chromium-dev/tO8kIrDtQc8/bCRO-UXxBQAJ for discussion.

Bug: 756688
Change-Id: I365b3608ce52f97c11546432512f0b51e76b2e51
Reviewed-on: https://chromium-review.googlesource.com/702434
Commit-Queue: Paweł Hajdan Jr. <phajdan.jr@chromium.org>
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#507355}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 53c4c334b38e95ec2fea2498354ba4864cb54585
2017-10-09 11:28:48 +00:00
Bruce Dawson adaf9e5610 Change clang-cl version to 1911 (VS 2017 Update 3)
Now that Chromium has switched to using and requiring VC++ 2017 for
Windows builds it makes sense for clang-cl to simulate VC++ 2017
instead of VC++ 2015. This gets _MSC_VER to be set to 1911 and
_MSC_FULL_VER to 191100000.

Bug: 683729
Change-Id: Ie9ec7243eafe60a7579b7c55ab05716d5fe7e4ce
Reviewed-on: https://chromium-review.googlesource.com/706349
Reviewed-by: Nico Weber <thakis@chromium.org>
Commit-Queue: Bruce Dawson <brucedawson@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#507245}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 0febf3c866810f188fb4122f0d2e3b5cfa030b94
2017-10-07 00:39:08 +00:00
Peter Collingbourne 1462d0d88f Disable lld when building with msan for now.
Due to an lld bug which causes false positives in msan.

Bug: 772559
Change-Id: I27a735d838a773763879f293f5f6a6c4790de782
Reviewed-on: https://chromium-review.googlesource.com/706339
Reviewed-by: Nico Weber <thakis@chromium.org>
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Commit-Queue: Peter Collingbourne <pcc@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#507229}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 91f0b5cbdd5acfecd2184056c164b477a732aa9b
2017-10-06 23:45:27 +00:00
Nico Weber 57b1d667fe midl: Make tlb file work with midl 8.1.620 too, reenable check.
I figured out how .tlb files look, see
https://chromium-review.googlesource.com/c/chromium/src/+/693223
(start around line 255 for an overview).  This is possibly overkill
for just this issue, but it will come in handy for making
remoting's midl step with changing UUID implementable.

Bug: 756607, 761839
Change-Id: I2f2eaaaaa524569f6b014c1793109261e94c79b2
Reviewed-on: https://chromium-review.googlesource.com/705995
Reviewed-by: Bruce Dawson <brucedawson@chromium.org>
Commit-Queue: Nico Weber <thakis@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#507205}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 3a468a2b925df77b0ae25356662bce2a4425d67d
2017-10-06 22:48:00 +00:00
Abhishek Arya 58ec82342f Add back clang requirement assert for use_clang_coverage flag.
R=brettw@chromium.org,mmoroz@chromium.org

Bug: 771718, 759794
Change-Id: I77d5f83587777d8ed4b23cf00d8f55ae48015ce0
Reviewed-on: https://chromium-review.googlesource.com/701619
Reviewed-by: Max Moroz <mmoroz@chromium.org>
Reviewed-by: Brett Wilson <brettw@chromium.org>
Commit-Queue: Abhishek Arya <inferno@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#507165}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 433d48700283e612dcafe76ec8b05c837a48a920
2017-10-06 20:35:04 +00:00
Daniel Park 98a9dc9b3a [Chrome Home Survey] Creates & hooks up survey info bar
Shows an invitation to take a survey if Chrome Home was enabled
   for longer than 1 week.
Creates a generic survey controller for future surveys.
Creates a Chrome Home specific controller.

Bug: 754499
Change-Id: I53064f181fcd8832a5524eb4d7d38841531c84e7
Reviewed-on: https://chromium-review.googlesource.com/683323
Reviewed-by: Ted Choc <tedchoc@chromium.org>
Reviewed-by: John Budorick <jbudorick@chromium.org>
Reviewed-by: Cait Phillips <caitkp@chromium.org>
Reviewed-by: Theresa <twellington@chromium.org>
Reviewed-by: Matthew Jones <mdjones@chromium.org>
Commit-Queue: Daniel Park <danielpark@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#507156}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: dead4a6c01ec0850e2ea507427cf60b2ad39c93b
2017-10-06 20:08:32 +00:00
Wez ef9ab80b0c Roll Fuchsia SDK to 226f6dd0cad1d6be63a353ce2649423470729ae9.
This roll includes:
- Redefinition of zx_handle_t from int to unsigned int, requiring fixes
  to call-sites that tried to reinterpret_cast<zx_handle_t>(int).
- Move of sysroot files to per-architecture sub-directories, as part of
  ARM64 bring-up.

Bug: 707030, 772031
Change-Id: If65230b296c9a07eee3460cb9abbd5e7f7beeb30
Reviewed-on: https://chromium-review.googlesource.com/703989
Reviewed-by: Alexei Svitkine <asvitkine@chromium.org>
Reviewed-by: Sergey Ulanov <sergeyu@chromium.org>
Commit-Queue: Wez <wez@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#507143}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: f88170e15156f33171b07465cc0b6042dd130ef4
2017-10-06 19:32:18 +00:00
Michael Achenbach fa37cc476d Fix compilation with gcc on x64
Bug: 607968, 682777
Change-Id: Ic8e56551b1691d95a9919bffa24fcf8e5b4d8485
Reviewed-on: https://chromium-review.googlesource.com/704656
Reviewed-by: Sergiy Byelozyorov <sergiyb@chromium.org>
Reviewed-by: Nico Weber <thakis@chromium.org>
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#507132}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: e684c0cebda9d00d4b5d655920c516f79d857103
2017-10-06 18:53:18 +00:00
Benjamin Pastene cc859c9a97 Remove --target-devices-file option from android test runner.
Should no longer be used.

Bug: 
Change-Id: I1360752e68c3748b1ababdc77d3cadcb17ddf142
Reviewed-on: https://chromium-review.googlesource.com/704191
Reviewed-by: John Budorick <jbudorick@chromium.org>
Commit-Queue: Benjamin Pastene <bpastene@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#507126}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 3a199ee2ad5a214e4dccc5e6834f9e92ca72cf74
2017-10-06 18:41:01 +00:00
Daniel Bratell f0dd3aa165 Fix for jumbo base scripts, don't double filter sources
If someone has managed to get a normally filtered file into
sources we need to not accidentally remove it again. This
problem triggered in net where android targets wanted to use
Linux files.

Bug: 772146
Change-Id: Ibca410c78c5a59e9f49c1d0e302204b598df25ca
Reviewed-on: https://chromium-review.googlesource.com/703694
Reviewed-by: Bruce Dawson <brucedawson@chromium.org>
Commit-Queue: Daniel Bratell <bratell@opera.com>
Cr-Original-Commit-Position: refs/heads/master@{#507004}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 1be36b5808783c7f484b8d3bff73e04f29198509
2017-10-06 07:50:28 +00:00
Dirk Pranke d1505d4dae Pass -no-canonical-prefixes to clang where possible.
This makes builds slightly more position-independent and
should improve goma caching. This is a reland of
r486793 now that the issues have hopefully been addressed.

R=pcc@chromium.org, thakis@chromium.org, manojgupta@chromium.org
BUG=712797

Change-Id: Ief5392b2f64b6c4bc5192f65ac2cdda65733fe9b
Reviewed-on: https://chromium-review.googlesource.com/701464
Commit-Queue: Dirk Pranke <dpranke@chromium.org>
Reviewed-by: Nico Weber <thakis@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#506973}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 952c0b68c69983473ca3353d413537b15880f261
2017-10-06 05:01:51 +00:00
Peter Collingbourne b483cabdd8 Stop passing -gsplit-dwarf to NaCl compilers.
Should fix anything that explicitly passes use_debug_fission=true (or
use_lld=true, which can imply use_debug_fission=true).

Bug: 607968
Change-Id: I22cd532c12e1fa334c7273b09f566d5168f5b260
Reviewed-on: https://chromium-review.googlesource.com/703688
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Commit-Queue: Peter Collingbourne <pcc@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#506926}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 5c1c6b17228f7696e2ed74f8d3d7a6438bf9a419
2017-10-06 00:18:30 +00:00
Ivica Bogosavljevic 1e8ac5074e MIPS[64]: Add MIPS support to GN for V8
MIPS support was lacking in GN, only MIPS32 in combination with
CLANG was working properly.
This CL implements support for other flavors of MIPS, for
both CLANG and GCC compilers, in the context of V8 project that
needs it.

Bug: 
Change-Id: Iaa4b4314cafe1631c40d75c151a82d52aa851131
Reviewed-on: https://chromium-review.googlesource.com/677302
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Dirk Pranke <dpranke@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#506889}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 4d62f13f73427a9c9881fe3249ceeebbe2226d4b
2017-10-05 22:39:18 +00:00
James Cook cb95065762 Remove !is_chromecast condition from use_ash
Part of the cleanup of use_ash.

This is left over from the days when use_ash was true
for is_linux, so chromecast needed to explicitly
disable use_ash.

Bug: 673826
Change-Id: I9f2613a1e1bf636d0dc69ab1341fdfd75b279414
Reviewed-on: https://chromium-review.googlesource.com/692709
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Reviewed-by: Stephen Lanham <slan@chromium.org>
Commit-Queue: James Cook <jamescook@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#506878}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 1cceec1268d60f1fa986301722efcf99bb2ebb9f
2017-10-05 22:13:39 +00:00
Justin Okamoto dba1a14044 Reland "Android: Allow per-target lint suppression configuration"
This is a reland of 1dd22ad042686bbf63b2f89efb466528cc682ffe
Original change's description:
> Android: Allow per-target lint suppression configuration
> 
> This change allows for Android lint suppression configurations
> to be defined on a per-target basis (assuming said target is
> "Android lint capable") rather than having one global config.
> This will allow embedders to keep upstream's lint config for
> Chromium targets (w/o patching), while using a separate config
> for the embedding application.
> 
> Bug: 737897
> Change-Id: Ieccb95767e0ce541522d7a53edbe734c5bbfe6dc
> Reviewed-on: https://chromium-review.googlesource.com/698297
> Reviewed-by: Andrew Grieve <agrieve@chromium.org>
> Commit-Queue: Andrew Grieve <agrieve@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#506393}

Bug: 737897
Change-Id: I4d1aecea7d4893f8f525d53a13b4044f27a17221
Reviewed-on: https://chromium-review.googlesource.com/701317
Reviewed-by: Andrew Grieve <agrieve@chromium.org>
Commit-Queue: Andrew Grieve <agrieve@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#506862}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 78485ef14d15b0b51d6f49d7231f44a343bd468f
2017-10-05 21:20:20 +00:00
Ken Rockot d6e86b7f3e Revert "Android: Turn on errorprone by default"
This reverts commit 12234368f826f07d8a0cef2dd0f9b45f290e1464.

Reason for revert: Looks like a source of these build failures: https://build.chromium.org/p/chromium.android/builders/Android%20Cronet%20ARM64%20Builder%20%28dbg%29/builds/69753

Original change's description:
> Android: Turn on errorprone by default
> 
> BUG=383646
> 
> Change-Id: Ia87d2dff787ffc5e4a59aca1af81a0ac9b727b4a
> Reviewed-on: https://chromium-review.googlesource.com/702574
> Reviewed-by: Andrew Grieve <agrieve@chromium.org>
> Commit-Queue: Peter Wen <wnwen@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#506831}

TBR=wnwen@chromium.org,agrieve@chromium.org

Change-Id: Ie933459d048c090df574bf45b6e2b644de3e66e4
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 383646
Reviewed-on: https://chromium-review.googlesource.com/703395
Reviewed-by: Ken Rockot <rockot@chromium.org>
Commit-Queue: Ken Rockot <rockot@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#506840}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 0abf545537483ccc2b0a54d8cf34340286955e4e
2017-10-05 20:10:20 +00:00
Peter Wen 40a35875cb Android: Turn on errorprone by default
BUG=383646

Change-Id: Ia87d2dff787ffc5e4a59aca1af81a0ac9b727b4a
Reviewed-on: https://chromium-review.googlesource.com/702574
Reviewed-by: Andrew Grieve <agrieve@chromium.org>
Commit-Queue: Peter Wen <wnwen@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#506831}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 12234368f826f07d8a0cef2dd0f9b45f290e1464
2017-10-05 19:46:12 +00:00
John Budorick d0a1fc7292 [Android] Prepare existing code for revertable CIPD DEPS conversion.
This includes:
 - ensuring that symlinks that CIPD creates for files currently
   managed by update_third_party_deps.py get removed by that
   script.
 - changing switching to copy_ex in process_java_prebuilt s.t.
   symlinks are correctly handled by that template.

Bug: 755920
Change-Id: I1a75ae3acd96ce827401d8d58f8f1127ad09eadb
Reviewed-on: https://chromium-review.googlesource.com/701495
Reviewed-by: Andrew Grieve <agrieve@chromium.org>
Commit-Queue: John Budorick <jbudorick@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#506821}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: c74acf2507bf54f87a72e4140e4e8e994dda84cd
2017-10-05 19:27:11 +00:00