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

2101 Коммитов

Автор SHA1 Сообщение Дата
brettw e4091c319b Convert USE_PROPRIETARY_CODECS to a buildflag header.
Convert the preprocessor define to a buildflag
//header defined in //media. The build arg is kept in //build/config/features.gni due to a dependency on WebRTC (described in a comment).

Reland of https://codereview.chromium.org/2572883002 with no changes. I believe the cause of the previous revert was a now-fixed GN race condition.

TBR=xhwang@chromium.org

Review-Url: https://codereview.chromium.org/2643333002
Cr-Original-Commit-Position: refs/heads/master@{#445226}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 68c7753dd291fbf573dc67c258284440f5aad6ff
2017-01-21 00:28:06 +00:00
krasin 1a3483bd0d Enable use-after-scope check in ASAN configs.
At this point, everything but Mac has been fixed. On Mac, there's an outstanding issue, which will be fixed later.

BUG=649897

Review-Url: https://codereview.chromium.org/2451973004
Cr-Original-Commit-Position: refs/heads/master@{#445114}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 866204443431a62c1b6e1404ed3c19c3f529ce45
2017-01-20 19:00:26 +00:00
bzanotti 97332c14f2 Revert of [iOS] Disable NSAssert and GTMDevAssert on release builds. (patchset #2 id:20001 of https://codereview.chromium.org/2637853002/ )
Reason for revert:
This breaks things in downstream iOS as apparently EarlGrey requires NS_BLOCK_ASSERTIONS to not be defined and is built in Release (no idea why...)

Original issue's description:
> [iOS] Disable NSAssert and GTMDevAssert on release builds.
>
> This was present in build/common.gypi and was inadvertently dropped
> during the conversion to GN (removed by http://crrev.com/2355673003,
> but hadn't been added to GN).
>
> BUG=673253
>
> Review-Url: https://codereview.chromium.org/2637853002
> Cr-Commit-Position: refs/heads/master@{#444355}
> Committed: 32c54cffc1

TBR=brettw@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=673253

Review-Url: https://codereview.chromium.org/2644613002
Cr-Original-Commit-Position: refs/heads/master@{#444383}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 0d55c8128e019ede3567bf5ea09af6312b9221c1
2017-01-18 16:19:47 +00:00
bzanotti c9e393c52c [iOS] Disable NSAssert and GTMDevAssert on release builds.
This was present in build/common.gypi and was inadvertently dropped
during the conversion to GN (removed by http://crrev.com/2355673003,
but hadn't been added to GN).

BUG=673253

Review-Url: https://codereview.chromium.org/2637853002
Cr-Original-Commit-Position: refs/heads/master@{#444355}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 32c54cffc1691c3b07501a86d72e75cebbf0e87f
2017-01-18 14:59:30 +00:00
agrieve 19fd830703 android: Create a GN template for create_dist_jar.py
BUG=648244

Review-Url: https://codereview.chromium.org/2623243002
Cr-Original-Commit-Position: refs/heads/master@{#444054}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 77ad9ee9d1c3ca1ef984900a31cb206bf885b936
2017-01-17 15:33:23 +00:00
agrieve f55127ddc3 Use more generic approach to pack java resources into final APK.
Some non-Android Java libraries (in particular, Emma) expect their
resources to be packed into JARs and accessible via methods of Class or
ClassLoader. This way is supported on Android as well, such resources
must be packed into the final APK to be usable.

This CL generalizes a way Emma resources are packed into the APK.
Instead of having a special case in apkbuilder.py a notion of java
resources JAR is added. Any prebuilt JAR can specify that it also
contains resources. Then apkbuilder.py will get a list of all such JARs
via buildconfig file and pack all resources into an APK.

Patched & rebased from:
https://codereview.chromium.org/2212443002/

Review-Url: https://codereview.chromium.org/2632283002
Cr-Original-Commit-Position: refs/heads/master@{#443944}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 7e46930f3962ed463e08191285a80d66b265c2bb
2017-01-16 21:32:28 +00:00
agrieve 7eb2873067 Reland #2 of Android: Delete rezip in favor of zipalign -p
There's no need for a custom alignment tool now that zipalign supports
page-aligning libraries.

Previously revert in:
https://codereview.chromium.org/2621353004/

Reason for reland:
Updated merge script to not expect gdbserver

BUG=676029,676589

Review-Url: https://codereview.chromium.org/2629663003
Cr-Original-Commit-Position: refs/heads/master@{#443886}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 1bb2f878c384dc07a0aca0476a3e0d51e879b2eb
2017-01-16 13:50:14 +00:00
agrieve 9a3fba5915 Android: Write all proguard flags to out.jar.flags file
This is to help with debugging / auditing of proguard flags.

BUG=none

Review-Url: https://codereview.chromium.org/2626323002
Cr-Original-Commit-Position: refs/heads/master@{#443765}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 848c2e8399cd8aca05c31f555d29ba6b9a68d3ce
2017-01-14 01:45:01 +00:00
hans fe8ada78c8 Suppress new Clang warning -Wunused-lambda-capture
The warning was added in Clang r291905. It seems useful, but needs to be
suppressed until we clean up the instances where it fires.

BUG=681136

Review-Url: https://codereview.chromium.org/2622083008
Cr-Original-Commit-Position: refs/heads/master@{#443714}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 93e7e50976936431e9da049e74fed54e35c3d9ac
2017-01-13 23:12:07 +00:00
agrieve 10e467aa78 Android: Hook up aapt's main dex proguard rules
Noticed that aapt now has a flag for outputing a proguard rules file for
use when determining which classes to put in the main dex. For
ChromePublic.apk, it produces a file with a single rule:

-keep class org.chromium.chrome.browser.ChromeBackupAgent { <init>(...); }

Looks like this class wasn't already being explicitly kept in the main
dex, so it's possible that some part of backups was broken for debug
builds (where multidex is enabled).

BUG=none

Review-Url: https://codereview.chromium.org/2632463004
Cr-Original-Commit-Position: refs/heads/master@{#443687}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: ba68db1ef24638f8e1eae8d12ff6a9fff0f1b096
2017-01-13 21:53:52 +00:00
VladimirTechMan 47d6eefca0 Support building libs and apps for iOS, watchOS, and tvOS with bitcode
This patch adds flag "enable_ios_bitcode" to the build configuration
for iOS applications, frameworks, and libraries. It triggers adding
the "-fembed-bitcode" option when compiling and linking parts of the
projects for production builds (is_debug = false), and it triggers
adding the "-fembed-bitcode-marker" option in the case of debug builds.
That is along the lines of how Xcode does it, since the introduction
of the bitcode support and corresponding options.

The option only makes sense for Xcode build tools now and for iOS SDK
compatible builds (iOS, watchOS, tvOS). Thus, it the options is only
applicable when building for iOS with use_xcode_clang = true. And only
when building for real devices (with ARM CPUs). The latter limitation
is due to the usage of Intel assembly syntax and the Yasm tool when
building for iOS simulator (Yasm cannot emit bitcode sections now).
But it does not affect the workflow for the generated applications,
frameworks and libraries at the moment of submitting this patch:
For now, Xcode only cares about the availability of bitcode sections
in _all_ the pre-compiled parts of bitcode-enabled projects when
building those projects for ARM-based devices. Building for iOS
simulator, it handles the projects just fine, with or without bitcode
sections available in the linked libraries. That may change in the
future, of course, but currently it should be fine.

BUG=680711

Review-Url: https://codereview.chromium.org/2631573002
Cr-Original-Commit-Position: refs/heads/master@{#443535}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 0e1f16653bdf3cacd121bfbc1f32b25f01ac6aed
2017-01-13 12:15:44 +00:00
agrieve 9c22ce7947 Revert of Android: Delete rezip in favor of zipalign -p (patchset #2 id:210001 of https://codereview.chromium.org/2612773005/ )
Reason for revert:
Broke system webview merging of debug builds.

Original issue's description:
> Reland of Android: Delete rezip in favor of zipalign -p
>
> There's no need for a custom alignment tool now that zipalign supports
> page-aligning libraries.
>
> Previously reverted in:
> https://codereview.chromium.org/2595233003/
>
> Reason for reland:
> Contains fix for monochrome (tested merging locally).
>
> BUG=676029,676589
>
> Review-Url: https://codereview.chromium.org/2612773005
> Cr-Commit-Position: refs/heads/master@{#442906}
> Committed: c3fd406f53

TBR=michaelbai@chromium.org,jbudorick@chromium.org
NOTRY=true
BUG=676029,676589

Review-Url: https://codereview.chromium.org/2621353004
Cr-Original-Commit-Position: refs/heads/master@{#443333}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 3e55ac6b50a01574b61226ca47ca32211d81154f
2017-01-12 19:59:15 +00:00
agrieve 4b19c23750 Android: Stop generating proguard dump.txt
This is a ~100mb file that isn't actaully used by anything, and that can
be created after-the-fact by a class-dumping tool

BUG=none

Review-Url: https://codereview.chromium.org/2619273002
Cr-Original-Commit-Position: refs/heads/master@{#443277}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: b91494e0b93d93fd6583be0794cf5f25bf333322
2017-01-12 17:31:17 +00:00
krasin 3ea5e874ec Don't condition on the branding when choosing LTO and CFI.
BUG=678915

Review-Url: https://codereview.chromium.org/2621193003
Cr-Original-Commit-Position: refs/heads/master@{#442969}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: eed4ea8fb01d92a623f3d912d3ea904e7740e13f
2017-01-11 18:52:59 +00:00
sdefresne fa9bbb3416 Avoid propagating configs across toolchain.
gn will be modified to no longer propagate public_configs across
toolchains (as this is a problem with some platforms). Refactor
ios_framework_bundle template to define the configs for all the
toolchains and to put the references directly (instead of having
secondary toolchain get them through the dependency).

BUG=675224

Review-Url: https://codereview.chromium.org/2627983002
Cr-Original-Commit-Position: refs/heads/master@{#442967}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 72c855683a26d8290f0366a06455d7ec38283aae
2017-01-11 18:50:49 +00:00
agrieve 77f8180054 Android: Stop including unsupport locales in resources.arsc
They were being pulled in from dependent libraries. We now pass an
explicit whitelist to aapt to ensure only support locales are being
included.

This shaves 470kb off of ChromePublic.apk, 100kb of which
was recently added by the gvr library in bug 678309.

The list of removed configs (via aapt dump configurations):
af
az
az-rAZ
be-rBY
bn
bn-rBD
bs-rBA
en-rAU
en-rIN
es-r419
et
et-rEE
eu-rES
fr-rCA
gl
gl-rES
gu
gu-rIN
hy-rAM
is
is-rIS
ka
ka-rGE
kk
kk-rKZ
km
km-rKH
kn
kn-rIN
ky
ky-rKG
lo
lo-rLA
mk-rMK
ml
ml-rIN
mn
mn-rMN
mr
mr-rIN
ms
ms-rMY
my
my-rMM
ne
ne-rNP
no
pa
pa-rIN
si-rLK
sq-rAL
ta-rIN
te
te-rIN
tl
ur-rPK
uz
uz-rUZ
zh-rHK
zu

BUG=678628,678309

Review-Url: https://codereview.chromium.org/2615753004
Cr-Original-Commit-Position: refs/heads/master@{#442907}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 87f1b6b8f0e0493ba7d1540abe795e13b313e141
2017-01-11 15:14:49 +00:00
agrieve 353bae13da Reland of Android: Delete rezip in favor of zipalign -p
There's no need for a custom alignment tool now that zipalign supports
page-aligning libraries.

Previously reverted in:
https://codereview.chromium.org/2595233003/

Reason for reland:
Contains fix for monochrome (tested merging locally).

BUG=676029,676589

Review-Url: https://codereview.chromium.org/2612773005
Cr-Original-Commit-Position: refs/heads/master@{#442906}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: c3fd406f53369c1714d3587087146ff6ead4adab
2017-01-11 15:13:42 +00:00
tsniatowski 4f7aa48518 Add use_rtti gn arg to enable rtti globally in the build
Some sanitizer configs already enabled rtti, move the logic to the arg
default value to make experimenting easier. Can be useful when dealing
with some asan-instrumented build startup issued that may go away when
rtti is enabled globally, but don't fall into the existing enable-rtti
cases.

One example scenario I had was with a shared_library built with both rtti
and exceptions (in a downstream project) causing immediate asan failure
on startup around std::exception typeinfo alignment. Rebuilding with
rtti enabled globally made things work, so it helps if that's possible
with just a gn arg.

Note that targets that need rtti to be not disabled regardless of global
settings (e.g. third party libraries like icu that need rtti to build)
can still remove the //build/config/compiler:no_rtti config and add
//build/config/compiler:rtti in its place; this is unchanged.

BUG=webrtc:6468

Review-Url: https://codereview.chromium.org/2607903002
Cr-Original-Commit-Position: refs/heads/master@{#442227}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: d1a04b008747abf9231b676ad1b34e53bad43973
2017-01-09 10:31:15 +00:00
jbriance 17e1e627fe Add gcc_target_rpath gn arg
Allow a user to make a Chromium build where binaries and shared
libraries are meant to be installed into separate directories, like
/usr/bin/chromium and /usr/lib/chromium for instance. It is useful
when a build system that generates a whole target root filesystem
(like Yocto) is used on top of gn, especially when cross-compiling.

Note: this gn arg is similar to gyp target_rpath generator flag.

BUG=none

Review-Url: https://codereview.chromium.org/2605673002
Cr-Original-Commit-Position: refs/heads/master@{#441344}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 5bd06e2b5019b1ab0337083a926a8f672255e065
2017-01-04 09:02:11 +00:00
jbudorick dd74acbe8d [android] Convert linker tests to platform mode.
This also includes:
 - removal of the old base_test_runner + test_dispatcher code, since
   the linker tests were the last remaining users.
 - gn changes to make a wrapper script for the linker tests s.t. they
   can be run with <output directory>/bin/run_chromium_linker_test_apk

Review-Url: https://codereview.chromium.org/2605793002
Cr-Original-Commit-Position: refs/heads/master@{#441274}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: bf713870ac13487b9a3e2dc639b87f3810058cc9
2017-01-04 01:19:16 +00:00
jbudorick a2c7357dde [android] Disable NewApi lint warning when building with emma coverage enabled.
EMMA coverage appears to mess with NewApi's ability to detect when an API is
being used within a conditional (see isWithinSdkConditional in
https://goo.gl/GJmTa9).

BUG=677320

Review-Url: https://codereview.chromium.org/2605023003
Cr-Original-Commit-Position: refs/heads/master@{#441132}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: cd908baa731d5b9c657b98f2e8025f1e4f48a5e5
2017-01-03 16:22:52 +00:00
amineer bdc04ca095 Revert of Validate origins when generating subdomain tokens (patchset #12 id:240001 of https://codereview.chromium.org/2456053004/ )
Reason for revert:
Breaks official Android builds, see https://bugs.chromium.org/p/chromium/issues/detail?id=676894

Original issue's description:
> Validate origins when generating subdomain tokens
>
> Subdomain tokens will match against any subdomains of the given origin.
> This relaxed matching should not be applied when subdomains represent
> separate logical sites (e.g. <user>.github.io). Thus, subdomain tokens
> are not to be issued for such domains. For more detail, see the last
> question in the Origin Trials developer guide:
> https://github.com/jpchase/OriginTrials/blob/gh-pages/developer-guide.md
>
> This CL adds a utility to validate that a origin is not found in the
> Public Suffix List. The token generation script will now call the
> utility to check the origin, only for subdomain tokens. The utility
> is used when the generation script is manually run by the origin
> trials team to issue tokens. The intent is to automate the origin
> checks, to reduce the number of manual steps in issuing tokens.
>
> BUG=658856
>
> Committed: https://crrev.com/6205808cb4e9c61264e4aa48676e2f5833a61326
> Cr-Commit-Position: refs/heads/master@{#440554}

TBR=iclelland@chromium.org,agrieve@chromium.org,rdsmith@chromium.org,rsleevi@chromium.org,brettw@chromium.org,chasej@chromium.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=658856

Review-Url: https://codereview.chromium.org/2605563003
Cr-Original-Commit-Position: refs/heads/master@{#440670}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 14e7a72edd0b2d0b313d047e33069cebc76cc0ab
2016-12-24 18:44:17 +00:00
marq d14a3a7f91 Enable -Wundeclared-selector on ios.
Enables the undeclared selector warning on all ios builds.

Fixes code caught by this warning.

BUG=

Review-Url: https://codereview.chromium.org/2595213003
Cr-Original-Commit-Position: refs/heads/master@{#440620}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 83e9a66e233a40efe2c790e4df5831979bf16dcc
2016-12-23 12:41:47 +00:00
wez b14095b294 Use the /WX flag to have link warnings treated as errors.
Link steps with warnings typically lead to working binaries, but warnings can indicate dependency issues in the codebase, slow down builds, and otherwise just make it harder to find more relevant output in build logs.

This CL also adds exceptions to ignore certain linker warnings under specific configurations and targets.

BUG=659007, 676418, 676417, 654776

Review-Url: https://codereview.chromium.org/2581893002
Cr-Original-Commit-Position: refs/heads/master@{#440600}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: c868aae8f9b8d51461afff79064c75339e6ce30c
2016-12-23 08:15:36 +00:00
chasej 69a30f6d2c Validate origins when generating subdomain tokens
Subdomain tokens will match against any subdomains of the given origin.
This relaxed matching should not be applied when subdomains represent
separate logical sites (e.g. <user>.github.io). Thus, subdomain tokens
are not to be issued for such domains. For more detail, see the last
question in the Origin Trials developer guide:
https://github.com/jpchase/OriginTrials/blob/gh-pages/developer-guide.md

This CL adds a utility to validate that a origin is not found in the
Public Suffix List. The token generation script will now call the
utility to check the origin, only for subdomain tokens. The utility
is used when the generation script is manually run by the origin
trials team to issue tokens. The intent is to automate the origin
checks, to reduce the number of manual steps in issuing tokens.

BUG=658856

Review-Url: https://codereview.chromium.org/2456053004
Cr-Original-Commit-Position: refs/heads/master@{#440554}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 6205808cb4e9c61264e4aa48676e2f5833a61326
2016-12-23 00:23:25 +00:00
wez bebbc97b31 Fix conditional for /OPT:ICF so Debug non-component build does not warn.
The condition under which /OPT:ICF was enabled was out-of-sync with the
conditions for enabling incremental linking. Since the two are not
compatible the difference resulted in linker warnings in Debug
non-component builds.

BUG=621236, 659007

Review-Url: https://codereview.chromium.org/2594153002
Cr-Original-Commit-Position: refs/heads/master@{#440514}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: f6aa9ef3cd873f0cb097e3621f262c72a3876c7d
2016-12-22 21:51:09 +00:00
agrieve 2693c961c5 Revert of Android: Delete rezip in favor of zipalign -p (patchset #1 id:1 of https://codereview.chromium.org/2594803002/ )
Reason for revert:
Broke downstream monochrome

Original issue's description:
> Android: Delete rezip in favor of zipalign -p
>
> There's no need for a custom alignment tool now that zipalign supports
> page-aligning libraries.
>
> BUG=676029
>
> Committed: https://crrev.com/5e7b486a42ae172313d28a6ef9c5e4bba38cd74f
> Cr-Commit-Position: refs/heads/master@{#440140}

TBR=michaelbai@chromium.org,jbudorick@chromium.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=676029,676589

Review-Url: https://codereview.chromium.org/2595233003
Cr-Original-Commit-Position: refs/heads/master@{#440457}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 8f43f71ff691157cd0db2725f527dc197c89685c
2016-12-22 18:49:26 +00:00
thakis 5c10e06677 Revert of Include -fsanitize=float-cast-overflow in is_ubsan=true builds. (patchset #1 id:1 of https://codereview.chromium.org/2550593004/ )
Reason for revert:
Somewhat speculative; it looks like clusterfuzz might use this list and filed many many float overflow bugs (https://bugs.chromium.org/p/chromium/issues/list?can=2&q=%22Float-cast-overflow%22&x=m&y=releaseblock&cells=ids). While we should fix all those, doing so by letting clusterfuzz file close to a hundred bugs assigned to random people isn't the way we should go about it, and CF filing all this bugs wasn't intended when I wrote this CL.

Original issue's description:
> Include -fsanitize=float-cast-overflow in is_ubsan=true builds.
>
> Also add a comment about the current state of ubsan.
>
> BUG=669642
>
> Committed: https://crrev.com/2e147959b92ac70c0eb3e0568ae664d39614b68c
> Cr-Commit-Position: refs/heads/master@{#436093}

TBR=krasin@chromium.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=669642

Review-Url: https://codereview.chromium.org/2598813002
Cr-Original-Commit-Position: refs/heads/master@{#440258}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: c4c7a57c10a808a2eefcc605095fe40fb75b2650
2016-12-21 23:14:05 +00:00
jbudorick 779c97062d [Android] Support compiling with NDK r13b.
BUG=668202

Review-Url: https://codereview.chromium.org/2596873002
Cr-Original-Commit-Position: refs/heads/master@{#440179}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: ed8247895ed7f3d06ec27c83caf34423a9cb7eab
2016-12-21 19:40:21 +00:00
rnk 1ab418e217 Make is_win_fastlink imply -fstandalone-debug for clang
Visual Studio can't find type information outside of the object file
currently being debugged with /DEBUG:FASTLINK. So, every object file
needs to have "standalone" debug information in this mode. However, that
generates a lot more debug info and slows down normal links, so only do
this when we know fastlink is in use.

While we're at it, explicitly pass -fno-standalone-debug to clang when
we're not using is_win_fastlink. This will make sure Chromium keeps using
limited debug info if clang switches the default for -fstandalone-debug.

R=thakis@chromium.org,brucedawson@chromium.org
BUG=657518

Review-Url: https://codereview.chromium.org/2587603002
Cr-Original-Commit-Position: refs/heads/master@{#440163}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 482876ffc87c08dcd8474001eec6d0717f41c4eb
2016-12-21 18:44:36 +00:00
agrieve 74b36ea225 Android: Delete rezip in favor of zipalign -p
There's no need for a custom alignment tool now that zipalign supports
page-aligning libraries.

BUG=676029

Review-Url: https://codereview.chromium.org/2594803002
Cr-Original-Commit-Position: refs/heads/master@{#440140}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 5e7b486a42ae172313d28a6ef9c5e4bba38cd74f
2016-12-21 17:39:02 +00:00
aizatsky 53a8a4bbfa [libfuzzer] force use_prebuilt_instrumented_libraries for libfuzzer
BUG=
TBR=dpranke@chromium.org

Review-Url: https://codereview.chromium.org/2578683002
Cr-Original-Commit-Position: refs/heads/master@{#439556}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 13ad46f10ec624e7c8713d1d984771391bd6ca0f
2016-12-19 21:12:39 +00:00
mlopatkin 9b863065ae Use R.txt from AAR to generate R.java for it when building APK.
R.java and R.txt files for an AAR were generated by extracting all
resources from the AAR and its dependencies and running aapt on these
resources. This approach turned out to be problematic for AARs of
GMS (Play Services).

GMS is shipped as a bunch of AARs with dependencies between them.
However the way it deals with resources is rather unusual. GMS code
references all resources via com.google.android.gms.R class that
corresponds to the "basement" AAR. This AAR has R.txt with entries for
all resources of the GMS but contains only a small subset of the
resources. All other resources are provided by other AARs: they have
different packages and no R.txt files though.

The consumer of the GMS must generate com.google.android.gms.R class
with entries for all resources provided by used GMS AARs. Entries for
resources that belong to the unused AARs may be ommited. This is what
Gradle plugin for Android does.

However AAR support in Chromium discarded R.txt from "basement" then
generated very small com.google.android.gms.R without essential entries
and this caused crashes in runtime.

This CL changes processing of the AARs resources. If R.txt is present in
AAR then aapt-generated R.txt is discared. The one from AAR is used to
generate R.java for java dependencies of the AAR target and to generate
final R.java file during APK build which is compiled and included into
the final APK.

During obfuscation Proguard checks that all entries that are referenced
in code were in fact generated. This check cannot be done during resource
processing because "basement"'s R.txt lists resources that aren't
included in Chromium and this is because code that uses these resources
isn't included either.

BUG=670368
R=agrieve@chromium.org,dgn@chromium.org

Review-Url: https://codereview.chromium.org/2570313002
Cr-Original-Commit-Position: refs/heads/master@{#439485}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: d36c048e72f0e936b725d4de25179a7c41599c1a
2016-12-19 16:09:02 +00:00
kjellander 1a9d4cda91 Make sanitizer suppressions and blacklists fully configurable.
This will make it possible to fully utilize the sanitizers in other
projects that may need to maintain their own suppressions and blacklists.

This change also removes the requirement on having {asan,lsan,tsan}_suppressions_file
defined in //build_overrides/build.gni, simplifying the build configs.

BUG=webrtc:5006
TESTED=CQ dry run + additional sanitizer trybots:
mac_chromium_asan_rel_ng
linux_chromium_ubsan_rel_ng
linux_chromium_msan_rel_ng
linux_chromium_tsan_rel_ng
linux_chromium_asan_rel_ng

Review-Url: https://codereview.chromium.org/2580313002
Cr-Original-Commit-Position: refs/heads/master@{#439452}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 83d8599fdab6538bc3e9cf6e8c9458214a7a8671
2016-12-19 12:10:56 +00:00
altimin 29ac3ae139 Fix tautological comparison and add clang flag
Review-Url: https://codereview.chromium.org/2581733002
Cr-Original-Commit-Position: refs/heads/master@{#439346}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 1b142eb67aedcd40f07234e38174b5b0f9995dc5
2016-12-17 18:54:05 +00:00
rjkroege 872ac23152 Revert of Convert USE_PROPRIETARY_CODECS to a buildflag header. (patchset #3 id:40001 of https://codereview.chromium.org/2572883002/ )
Reason for revert:
best-guess fix for:

/b/c/b/Android_Arm64_Builder__dbg_/src/buildtools/linux64/gn gen //out/Debug --check
  -> returned 1
ERROR at build arg file (use "gn args <out_dir>" to edit):1:19: Build argument has no effect.
ffmpeg_branding = "Chrome"
                  ^-------
The variable "ffmpeg_branding" was set as a build argument
but never appeared in a declare_args() block in any buildfile.

Original issue's description:
> Convert USE_PROPRIETARY_CODECS to a buildflag header.
>
> Convert the preprocessor define to a buildflag
> //header defined in //media. The build arg is kept in //build/config/features.gni due to a dependency on WebRTC (described in a comment).
>
> R=xhwang@chromium.org
>
> Committed: 866e43b534

TBR=xhwang@chromium.org,brettw@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Review-Url: https://codereview.chromium.org/2580093002
Cr-Original-Commit-Position: refs/heads/master@{#439219}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: a5a337fc004c3c1ca3c6204d90d50bd063b70df3
2016-12-16 22:37:07 +00:00
Brett Wilson 25a0554294 Convert USE_PROPRIETARY_CODECS to a buildflag header.
Convert the preprocessor define to a buildflag
//header defined in //media. The build arg is kept in //build/config/features.gni due to a dependency on WebRTC (described in a comment).

R=xhwang@chromium.org

Review-Url: https://codereview.chromium.org/2572883002 .
Cr-Original-Commit-Position: refs/heads/master@{#439175}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 866e43b5348172572654dde22dfcf0556fe47d26
2016-12-16 20:20:51 +00:00
estevenson fffc62e871 Add incremental_apk_by_default GN arg.
Setting this arg allows _incremental targets and scripts to be used
without explicitly building them. With this arg set to true,
non-incremental targets will build their incremental counterparts if
they exist (i.e. the chrome_public_apk target will actually build
chrome_public_apk_incremental).

This works for .apks, test runner scripts, and install scripts for
instrumentation_test_apks, android_apks, and unittest_apks

BUG=634430

Review-Url: https://codereview.chromium.org/2562063003
Cr-Original-Commit-Position: refs/heads/master@{#438901}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: ce844392ab42112ce1fb92240de7ae102ed4c868
2016-12-15 20:00:38 +00:00
sebmarchand f136303212 Add support for link repros and use it on net_perftests.
This is a debugging feature that will be used on the official Win64 continuous builder to get a repro for some linker failures that we're observing. Having a link repro is the only way for us to report this kind of error to Microsoft in order for them to fix it (we haven't been able to reproduce this linker failure locally, but this hit us really often on the official builders).

BUG=669854
TBR=bengr@chromium.org

Review-Url: https://codereview.chromium.org/2570483004
Cr-Original-Commit-Position: refs/heads/master@{#438621}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: a6de346489e98bfac8bab14062decd759e905b15
2016-12-14 21:16:24 +00:00
brettw 3f163efab5 Move enable_pdf to a buildflag header.
Removes the build flag from //build/config and moves it to a new .gni file in
//pdf. Converts the define to a BUILDFLAG.

Makes it possible to unconditionally depend on "//pdf" without checking the
enable_pdf flag. This cleans up most of the callers. There is still a
dependency on plugins and this assertion is moved to the top of
//chrome/common/BUILD.gn.

The assertion for the printing dependency on PDF is moved to the
//printing/BUILD.gn so the enable_pdf flag isn't injected everywhere
enable_printing is needed.

Review-Url: https://codereview.chromium.org/2576573002
Cr-Original-Commit-Position: refs/heads/master@{#438441}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: e5cc5c689fef092ac8b0f9bf91caeff492c4e857
2016-12-14 05:29:56 +00:00
scottmg 52f7afeca9 win: /utf-8 for all code
Previously enabled for chromium_code, can now be turned on everywhere.

BUG=454858,637203, 671021

CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.win:win_optional_gpu_tests_rel
Committed: https://crrev.com/a53f3c3734ad9ee4322f6a9a60eede7f6b04530f
Cr-Commit-Position: refs/heads/master@{#436189}

Review-Url: https://codereview.chromium.org/2543743002
Cr-Original-Commit-Position: refs/heads/master@{#438029}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 663994ebf90ac57f5cc56a9639a16e29aee1ff2b
2016-12-13 03:37:56 +00:00
brettw b273b16079 Convert RLZ to a buildflag header
Creates a new directory rlz/features for the gni file and the buildflag_header target.

Updates callers to depend on the new target and use the new flags.

Review-Url: https://codereview.chromium.org/2570573002
Cr-Original-Commit-Position: refs/heads/master@{#438026}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 8fb852d9e627bd3d1042700072e98d2884d48933
2016-12-13 03:32:23 +00:00
sdefresne 71637e66dd Remove support for overriding write_pkg_info.
All downstream target have been cleaned up, so remove the support for
overridding write_pkg_info from ios_app_bundle template.

BUG=672516

Review-Url: https://codereview.chromium.org/2563013002
Cr-Original-Commit-Position: refs/heads/master@{#437842}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 7d9ae11987ba8d5028c1d31152ce9465208f7efa
2016-12-12 10:28:28 +00:00
sdefresne 7321edc3e8 Enable generation of PkgInfo for all application on iOS.
BUG=672516

Review-Url: https://codereview.chromium.org/2567483003
Cr-Original-Commit-Position: refs/heads/master@{#437796}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: e144b8538d64d05cb807d45e37328198d5a0a7e7
2016-12-11 17:45:34 +00:00
brettw 15a6efac74 Remove the enable_themes build flag and define.
This is always defined on non-mobile platforms and it is not possible to
override in the build. Since //chrome is no longer build on iOS, most uses
can be easily keyed off of the Android defines. For files not compiled on
Android, the conditionals were removed altogether.

This change additionally coalesces some Android blocks in
chrome/browser/BUILD.gn and chrome/browser/ui/BUILD.gn

BUG=671706

Review-Url: https://codereview.chromium.org/2561013002
Cr-Original-Commit-Position: refs/heads/master@{#437784}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 9b0866fd103e996c5927d183dfa68f0931a76a45
2016-12-11 02:37:37 +00:00
lpromero 265044700f Handle storyboards in GN.
BUG=none
R=sdefresne@chromium.org,rohitrao@chromium.org

Review-Url: https://codereview.chromium.org/2564023002
Cr-Original-Commit-Position: refs/heads/master@{#437779}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 39fe426a5bec5352ddacab96ac10c6c33f9d5ac1
2016-12-10 23:50:32 +00:00
brettw 3253906959 Remove enable_configuration_policy build define.
This build flag is always set for non-iOS platforms. The flag is not
overridable in the build and we never test other settings of it. The policy
code is stable and doesn't change.

This patch removes the flag and replaces it with !ios conditionals.

BUG=671706

Review-Url: https://codereview.chromium.org/2558043004
Cr-Original-Commit-Position: refs/heads/master@{#437759}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 3865a71a732defdff6b64fd3c0fb2899fa7a05c6
2016-12-10 06:01:27 +00:00
thomasanderson 409c2fd980 Whitelist webrtc peerconnection_client in build/config/linux/gtk/BUILD.gn
This is a simple src-side dependency required by
https://codereview.webrtc.org/2563203002

BUG=668446

Review-Url: https://codereview.chromium.org/2565063002
Cr-Original-Commit-Position: refs/heads/master@{#437758}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: bf4f82b8448d70608cb54c7e5891f2a52e570d0b
2016-12-10 05:31:31 +00:00
brettw 8a7efe42b6 Remove the enable_mac_keystone build flag.
enable_mac_keystone was a global flag in the build directory that's only used
by 4 total checks in 2 BUILD files. I'm trying to clean up the global build
flags.

Changes the checks to just check for mac Chrome branded builds. The previous
code additionally checked for "official" builds, but "official" is actually an
optimization level that I don't think is relevant to whether there are
installer scripts included in the bundle.

BUG=671706

Review-Url: https://codereview.chromium.org/2558973003
Cr-Original-Commit-Position: refs/heads/master@{#437687}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: cee2ef7eac5b521699ba2a6c4c494ecb2d91b042
2016-12-09 23:28:45 +00:00
sdefresne 86b55ceb7a Add support for generating PkgInfo for application bundle on iOS.
The generation of PkgInfo is disabled for the moment (as come target
downstream already pack a PkgInfo file and enabling the target would
cause a non-deterministic build) and can be enabled by an undocumented
parameter write_pkg_info.

Update build/config/mac/write_pkg_info.py to support loading plist
in any format, not only xml1.

BUG=672516

Review-Url: https://codereview.chromium.org/2559323005
Cr-Original-Commit-Position: refs/heads/master@{#437551}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 8afe7bf6abf4c6c50b9c8f153e4ebf3cb045ef83
2016-12-09 16:08:27 +00:00
brettw b45d46f0ff Remove the enable_task_manager build flag and define.
These have been replaced by !android checks. The task manager is enabled on all
platforms except Android and iOS, and code in chrome isn't compiled on iOS.

BUG=671706

Review-Url: https://codereview.chromium.org/2558143002
Cr-Original-Commit-Position: refs/heads/master@{#437281}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: ee486bb1c7a7351039d88ba233ad9eabc94887df
2016-12-08 18:00:32 +00:00
inglorion 0142571471 move lld-incompatible linker flags inside !use_lld clause
Using is_official_build=true and use_lld=true on Windows would result
in linker errors caused by /LTCG being passed to the linker. This
change causes /LTCG to not be passed if use_lld is true.

BUG=

Review-Url: https://codereview.chromium.org/2559843002
Cr-Original-Commit-Position: refs/heads/master@{#437086}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 62b078da1000f7cbbc45a5a442a2f49288e2a6b2
2016-12-07 22:24:41 +00:00
wnwen e430bfd810 Android: Add java files from android_apk targets
This allows editing android_webview_apk and android_webview_test_apk
files in android studio.

BUG=670044

Review-Url: https://codereview.chromium.org/2545793002
Cr-Original-Commit-Position: refs/heads/master@{#437056}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: c3bace8213461c2a3884b36a3b80aea0e651b15a
2016-12-07 21:14:59 +00:00
brettw f16e852084 Remove enable_web_speech flag.
This flag is not overridable from the build. Its definition is non-mobile. Now
that iOS is no longer compiled using chrome or content, all web speech
conditions become non-Android and this flag can be removed.

BUG=671706

Review-Url: https://codereview.chromium.org/2556883002
Cr-Original-Commit-Position: refs/heads/master@{#436860}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 24746e51329bde141ba7c4a1a39a94624381de6f
2016-12-07 04:29:27 +00:00
brettw 788dcd7b7e Remove enable_notifications build flag and define
This flag is not overridable and is set everywhere except iOS. All users except
one are in //chrome which isn't compiled on iOS. So in all of these cases we
can remove the conditionals and always compile the code.

For the one case in ui, The conditional is replaced with !is_ios. This was also
done with the .grd file in chrome. This file has a lot of iOS conditionals and
I want to be sure it's not needed on iOS before inlining them unconditionally.
Then we can delete all of the iOS conditionals.

BUG=671706

Review-Url: https://codereview.chromium.org/2555833002
Cr-Original-Commit-Position: refs/heads/master@{#436813}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 1f92eed58cef4d29db962d41d1055935d4cd2f59
2016-12-07 01:15:46 +00:00
krasin fa348296e6 Limit the number of thinlto jobs to 8; also support limits in lld.
BUG=660216

Review-Url: https://codereview.chromium.org/2559563002
Cr-Original-Commit-Position: refs/heads/master@{#436805}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: a170f5836a8db250bdd60bb44c89d170f819090d
2016-12-07 01:05:13 +00:00
rsesek 92a55891aa Convert use_seccomp_bpf to the BUILDFLAG system.
BUG=589674

Review-Url: https://codereview.chromium.org/2523253002
Cr-Original-Commit-Position: refs/heads/master@{#436715}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 7b1273af06ffb033a47bd1837eb16ce13798a74e
2016-12-06 20:59:40 +00:00
thakis ebb1ef0a37 gn: Remove an import() that's unused after https://codereview.chromium.org/2296953002
BUG=634184

Review-Url: https://codereview.chromium.org/2556843003
Cr-Original-Commit-Position: refs/heads/master@{#436702}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 3a2f4935b92906c059733e32fa0443dda98ab858
2016-12-06 20:43:27 +00:00
ruiu 6a41c453f3 Re-enable threads on ClangToTLinuxLLD.
I added -no-threads flag to LLD in 7b18ff885c40874f8e4a417ad03376161b19de0a,
but it turned out that the slowness of the bot is generally slow,
and it is unlikely that LLD's change is the cause of the problem.
This patch restore the original setting.

BUG=670397

Review-Url: https://codereview.chromium.org/2556503003
Cr-Original-Commit-Position: refs/heads/master@{#436517}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: ffa1f105690aea99deecbdfff6eb40128604b73a
2016-12-06 03:59:49 +00:00
sbc 5a296ba8f1 Fix arm library path for nacl tests
With this change linux_arm bot now gets past the isolate_tests
phase and fails when trying to run the tests on swarming.

BUG=564059

Review-Url: https://codereview.chromium.org/2550663003
Cr-Original-Commit-Position: refs/heads/master@{#436375}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: e1e756db7c44f44ce809170d12865341cb6c1ad5
2016-12-05 19:53:28 +00:00
hashimoto d0ad11ea95 gn: Make arm_fpu configurable
Chrome OS needs to use values like neon-vfpv4 or crypto-neon-fp-armv8.

BUG=670541

Review-Url: https://codereview.chromium.org/2546033002
Cr-Original-Commit-Position: refs/heads/master@{#436231}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: e90481d12da0f6b26e5fa541d111ae4e5b9f9022
2016-12-05 04:23:29 +00:00
aleksandar.stojiljkovic 5b70207c8c Revert "win: /utf-8 for all code"
This reverts commit a53f3c3734ad9ee4322f6a9a60eede7f6b04530f.

Original CL: https://codereview.chromium.org/2543743002

Reason for revert: Compilation issue on master.tryserver.chromium.win:win_optional_gpu_tests_rel

Failing [1] task on the bot:

FAILED: obj/third_party/angle/src/tests/angle_deqp_libgles3/es3pBufferDataUploadTests.obj
ninja -t msvc -e environment.x86 -- E:\b\c\cipd\goma/gomacc.exe "E:\b\depot_tools\win_toolchain\vs_files\d5dc33b15d1b2c086f2f6632e2fd15882f80dbd3\VC\bin\amd64_x86/cl.exe" /nologo /showIncludes /FC @obj/third_party/angle/src/tests/angle_deqp_libgles3/es3pBufferDataUploadTests.obj.rsp /c ../../third_party/deqp/src/modules/gles3/performance/es3pBufferDataUploadTests.cpp /Foobj/third_party/angle/src/tests/angle_deqp_libgles3/es3pBufferDataUploadTests.obj /Fd"obj/third_party/angle/src/tests/angle_deqp_libgles3_cc.pdb"
e:\b\c\b\win\src\third_party\deqp\src\modules\gles3\performance\es3pbufferdatauploadtests.cpp(5280): error C2220: warning treated as error - no 'object' file generated
e:\b\c\b\win\src\third_party\deqp\src\modules\gles3\performance\es3pbufferdatauploadtests.cpp(5280): warning C4828: The file contains a character starting at offset 0x3714f that is illegal in the current source character set (codepage 65001).
e:\b\c\b\win\src\third_party\deqp\src\modules\gles3\performance\es3pbufferdatauploadtests.cpp(5280): note: to simplify migration, consider the temporary use of /Wv:18 flag with the version of the compiler with which you used to build without warnings

[1]
https://build.chromium.org/p/tryserver.chromium.win/builders/win_optional_gpu_tests_rel/builds/5729/steps/compile%20%28without%20patch%29/logs/stdio

BUG=454858, 637203, 671021

CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.win:win_optional_gpu_tests_rel
NOTRY=true
NOTREECHECKS=true
TBR=scottmg@chromium.org, dpranke@chromium.org

Review-Url: https://codereview.chromium.org/2550973002
Cr-Original-Commit-Position: refs/heads/master@{#436195}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 373af458aa9ab8f6f8650da115209c74d14f5dea
2016-12-04 16:49:27 +00:00
scottmg fb2eb330b4 win: /utf-8 for all code
Previously enabled for chromium_code, can now be turned on everywhere.

BUG=454858,637203

Review-Url: https://codereview.chromium.org/2543743002
Cr-Original-Commit-Position: refs/heads/master@{#436189}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: a53f3c3734ad9ee4322f6a9a60eede7f6b04530f
2016-12-04 06:53:15 +00:00
ruiu 7c52efdef8 Disable threads on lld trunk bots to see if they hurt build time.
BUG=670397

Review-Url: https://codereview.chromium.org/2550883002
Cr-Original-Commit-Position: refs/heads/master@{#436139}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 7b18ff885c40874f8e4a417ad03376161b19de0a
2016-12-03 02:23:25 +00:00
thakis f61407a10f Include -fsanitize=float-cast-overflow in is_ubsan=true builds.
Also add a comment about the current state of ubsan.

BUG=669642

Review-Url: https://codereview.chromium.org/2550593004
Cr-Original-Commit-Position: refs/heads/master@{#436093}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 2e147959b92ac70c0eb3e0568ae664d39614b68c
2016-12-03 00:23:11 +00:00
inglorion 28b31cecb1 Add the possibility to build with PGO when using Clang
r257133 introduced chrome_pgo_phase to allow building Chrome with
profile-guided optimization. Thus far, support for this has only
been implemented for MSVC on Windows. This change allows PGO to
be used with Clang, as well.

BUG=666152

Review-Url: https://codereview.chromium.org/2507333002
Cr-Original-Commit-Position: refs/heads/master@{#436067}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 0454d1c39637beb1fb084bea057d614f6908a7ae
2016-12-02 23:07:40 +00:00
machenbach 90a7b7bef0 Reland of win: Remove unneeded references to visual_studio_version now that it's always 2015. (patchset #2 id:150001 of https://codereview.chromium.org/2531333004/ )
Reason for revert:
V8 is on 2015 now.

Original issue's description:
> Revert of win: Remove unneeded references to visual_studio_version now that it's always 2015. (patchset #4 id:60001 of https://codereview.chromium.org/2450933002/ )
>
> Reason for revert:
> V8 relies on this.
>
> Original issue's description:
> > win: Remove unneeded references to visual_studio_version now that it's always 2015.
> >
> > BUG=
> >
> > Committed: https://crrev.com/a628db5056deb88589224bd68dcd9ec029932c83
> > Cr-Commit-Position: refs/heads/master@{#427463}
>
> TBR=scottmg@chromium.org,thakis@chromium.org
> # Not skipping CQ checks because original CL landed more than 1 days ago.
> BUG=
>
> Committed: https://crrev.com/f89b499961b139f38e8e01282a82d4ba5d21506e
> Cr-Commit-Position: refs/heads/master@{#434945}

TBR=scottmg@chromium.org,thakis@chromium.org,brucedawson@chromium.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=603131

Review-Url: https://codereview.chromium.org/2540013006
Cr-Original-Commit-Position: refs/heads/master@{#435944}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: fd2c63b1b790d0c41a41b708271e3d0264cbdbee
2016-12-02 16:00:41 +00:00
sbc e99e6364cc Explictly pass -marm when arm mode is required
Simply disabling the -mthumb flag is not enough
because the chromeos toolchain defaults to thumb.

BUG=564059

Review-Url: https://codereview.chromium.org/2522973002
Cr-Original-Commit-Position: refs/heads/master@{#435919}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: c0e12589bf7ae45f0f463d4726224442af90e142
2016-12-02 12:16:10 +00:00
hashimoto dd84d69582 gn: Make arm_arch configurable
Chrome OS needs to use values like armv7ve and armv8-a+crc.

BUG=670242

Review-Url: https://codereview.chromium.org/2543953002
Cr-Original-Commit-Position: refs/heads/master@{#435867}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 99cae1ee0ee6c49c0c3d276dbbb8a271d9a03bb4
2016-12-02 06:17:48 +00:00
zpeng c98544d340 Adds experimental support for Java 8 via gn arg
Requires host machines to have jdk8 installed and uses retrolambda to
convert java 8 .jar files into java 7 .jar files.

Future work includes adding Retrolambda into third_party libraries.

BUG=642600

Review-Url: https://codereview.chromium.org/2543463002
Cr-Original-Commit-Position: refs/heads/master@{#435629}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: d8c7a8acef06acc9f093177d568789f8f3329c23
2016-12-01 17:01:06 +00:00
milko.leporis 9504f09c65 [MIPS] Enable integrated as for Linux
As of LLVM r287681 there are no issues when using integrated as.

BUG=None
TEST=Build Chromium Linux for MIPS with integrated as

Review-Url: https://codereview.chromium.org/2538493003
Cr-Original-Commit-Position: refs/heads/master@{#435586}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: a013532f49a0748c6941b790a46244f2835fa290
2016-12-01 08:52:27 +00:00
kapishnikov 230dbfc98d [GN] Add support for generated proguard configs in android_apk
BUG=669961

Review-Url: https://codereview.chromium.org/2541763003
Cr-Original-Commit-Position: refs/heads/master@{#435460}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 6130422db2a8ff2a08ab0cd2b19d861825c900ae
2016-11-30 22:58:24 +00:00
mikecase d684b36397 Add --test-jar arg to test_runner to explicitly specify its path.
Review-Url: https://codereview.chromium.org/2536373005
Cr-Original-Commit-Position: refs/heads/master@{#435444}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 4a1ddc199e19988c803fa8d85f1f26b929e390bf
2016-11-30 22:25:13 +00:00
tsniatowski e062165ec8 Remove android build dir nesting restriction
It appears that android builds no longer have to be nested exactly two
levels under //. A build with one level works, so the assert in gn is
no longer helpful.

BUG=412935
R=agrieve@chromium.org

Review-Url: https://codereview.chromium.org/2544493002
Cr-Original-Commit-Position: refs/heads/master@{#435410}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 77a846f5c24714f5cde96d6e3fd124d501206799
2016-11-30 21:03:36 +00:00
thakis 11a29069e9 Enable -Werror for links in asan builds.
Rolls buildtools by one to pick up https://codereview.chromium.org/2531333002/

BUG=669072

Review-Url: https://codereview.chromium.org/2541493004
Cr-Original-Commit-Position: refs/heads/master@{#435286}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: e5144ca400abd436c2f332ac438a58e3d6e63460
2016-11-30 16:34:02 +00:00
thakis 2421eedc36 Move pthread flags out compiler config.
That way, buildtools/third_party/libc++/BUILD.gn can opt out of it,
fixing a TODO and a link-time warning when linking libc++.  Once that's
done, we can enable warnings-as-errors for links in asan builds.
(Currently, warnings-as-errors-for-links is enabled everywhere except
asan and chromecast builds.)

No intended behavior change.

BUG=669072
TBR=brettw

Review-Url: https://codereview.chromium.org/2537493002
Cr-Original-Commit-Position: refs/heads/master@{#435255}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 5b58fafbaa929d521e638c16ff638a433ae63f2f
2016-11-30 14:26:10 +00:00
tapted 39b05f7d92 MacViews: fix bubble direction in RTL.
The Cocoa browser doesn't have good RTL support, and doesn't flip its UI
in RTL. Bubble direction should not flip by default.

Add BUILDFLAG(MAC_VIEWS_BROWSER) to accomplish this.

BUG=657244

Review-Url: https://codereview.chromium.org/2532613002
Cr-Original-Commit-Position: refs/heads/master@{#435207}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: c60452305f151964dee9b5eaff7c9b0356c41c16
2016-11-30 10:44:07 +00:00
justincohen a7254cd34a Correct iOS hermetic plist rule.
BUG=632229

Review-Url: https://codereview.chromium.org/2533613002
Cr-Original-Commit-Position: refs/heads/master@{#435135}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: c49104d2d37cd6ad1c876ba8865b976f91a0ed98
2016-11-30 07:47:13 +00:00
machenbach 11a223f35f Revert of win: Remove unneeded references to visual_studio_version now that it's always 2015. (patchset #4 id:60001 of https://codereview.chromium.org/2450933002/ )
Reason for revert:
V8 relies on this.

Original issue's description:
> win: Remove unneeded references to visual_studio_version now that it's always 2015.
>
> BUG=
>
> Committed: https://crrev.com/a628db5056deb88589224bd68dcd9ec029932c83
> Cr-Commit-Position: refs/heads/master@{#427463}

TBR=scottmg@chromium.org,thakis@chromium.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=

Review-Url: https://codereview.chromium.org/2531333004
Cr-Original-Commit-Position: refs/heads/master@{#434945}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: f89b499961b139f38e8e01282a82d4ba5d21506e
2016-11-29 10:26:07 +00:00
thakis 6cbffcdc2a Enable -Werror for links in chromecast builds.
BUG=669076

Review-Url: https://codereview.chromium.org/2532193002
Cr-Original-Commit-Position: refs/heads/master@{#434755}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 21b2e5f86e4ac1ecd5bcc3da195cf2f7fd427eff
2016-11-28 22:55:12 +00:00
thakis 4c9b185f46 add bug links to two TODOs
BUG=

Review-Url: https://codereview.chromium.org/2530373003
Cr-Original-Commit-Position: refs/heads/master@{#434695}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: e2685f7d23132cfea70a183993ec7fbad0922105
2016-11-28 18:24:37 +00:00
ehmaldonado 850c4738fe Add support for a custom test_runner.py script.
BUG=webrtc:6739
R=kjellander@chromium.org, jbudorick@chromium.org

Review-Url: https://codereview.chromium.org/2521513007
Cr-Original-Commit-Position: refs/heads/master@{#434448}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 5c22c2afacd399b830795330efff38f07f0c4bec
2016-11-25 07:49:41 +00:00
scottmg 67807749bc Enable /utf-8 on Windows
Applies only to chromium_code for now. There's some characters in
third_party that cl.exe claims aren't representable in code page 65001
(which is its way of saying UTF-8 without a BOM).

R=brucedawson@chromium.org
BUG=454858,637203

Review-Url: https://codereview.chromium.org/2488853002
Cr-Original-Commit-Position: refs/heads/master@{#434212}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 63384a79de37f89a88cfc02ff61eb649e4abe535
2016-11-23 18:54:39 +00:00
thakis b3393b81da posix: Pass -Werror to the compiler driver for link invocations as well.
With this, we would've caught https://codereview.chromium.org/2520453002/
before landing that clang roll.

BUG=665063

Review-Url: https://codereview.chromium.org/2521913005
Cr-Original-Commit-Position: refs/heads/master@{#434187}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: e9dcf4f53596206b44620d2aeecfbfc372f58920
2016-11-23 16:56:57 +00:00
kthelgason 9d2f518e7e Reland of move unused build override (patchset #1 id:1 of https://codereview.chromium.org/2520383002/ )
Reason for revert:
Reland after fixing mac builds.

Original issue's description:
> Revert of Remove unused build override (patchset #2 id:20001 of https://codereview.chromium.org/2498603002/ )
>
> Reason for revert:
> This breaks all the Mac builds.
>
> /b/build/slave/ios-simulator/build/src/buildtools/mac/gn gen //out/Debug-iphonesimulator --check
>   -> returned 1
> ERROR at //build/config/mac/mac_sdk.gni:18:27: Undefined identifier
>   mac_deployment_target = mac_deployment_target_build_override
>                           ^-----------------------------------
> See //build/toolchain/mac/BUILD.gn:14:1: whence it was imported.
> import("//build/config/mac/mac_sdk.gni")
> ^--------------------------------------
> See //BUILD.gn:73:1: which caused the file to be included.
> group("gn_all") {
> ^----------------
> GN gen failed: 1
>
> Original issue's description:
> > Remove unused build override
> >
> > The only downstream project using this used to be WebRTC, where it's no
> > longer needed.
> >
> > BUG=webrtc:6431
> > NOTRY=true
> >
> > Committed: https://crrev.com/6dd0024530bfa1d1f88840204633788bad70239e
> > Cr-Commit-Position: refs/heads/master@{#433856}
>
> TBR=dpranke@chromium.org,kjellander@chromium.org,kthelgason@webrtc.org,kthelgason@chromium.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:6431
>
> Committed: https://crrev.com/5638488a75f3e1424bedc0607e2183b9d0ad8f4a
> Cr-Commit-Position: refs/heads/master@{#433861}

TBR=dpranke@chromium.org,kjellander@chromium.org,kthelgason@webrtc.org,avi@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
BUG=webrtc:6431

Review-Url: https://codereview.chromium.org/2525673002
Cr-Original-Commit-Position: refs/heads/master@{#434157}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: e3f40e988d9487bfa030e714152fadc458d90e4a
2016-11-23 13:48:32 +00:00
dpranke b26bdf3801 Change GN to disallow reading args defined in the same declare_args() call.
If you have a declare_args() block like:

    declare_args() {
      use_foo = true
      use_bar = use_foo
    }

currently this will probably produce behavior different than you might
expect. In the normal case (where you don't use use_foo=false in args.gn),
both use_foo and use_bar will bet set to true, but if you do set
use_foo=false in args.gn, use_foo will be set to false, but use_bar
will still be set to true. This happens because GN evaluates the value
of foo inside the block *before* it looks for arg overrides.

We've decided that this is bad enough to flat-out disallow. Now if you
try to do this GN will just return an error. If you want to have one
declared arg depend on the value of another, you need to put them in
separate declare_arg() calls.

This is changing the behavior of GN in a way that may break existing
builds, but hopefully that will happen only rarely and if it does will
expose the surprises that might otherwise be lurking undetected.

In the Chromium build, it turned out we only did this a few times and
they were all unintentional, so this correctly found bugs.

R=brettw@chromium.org, kjellander@chromium.org
BUG=542846

Review-Url: https://codereview.chromium.org/2509333003
Cr-Original-Commit-Position: refs/heads/master@{#433944}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: f6fd4d747c77e1c7968eb5af8b195a94a7ed2fac
2016-11-22 19:45:13 +00:00
rnk 4323ef06c4 Use /OPT:REF in clang static release builds
Chromium normally builds with /PROFILE in static release builds, which
implies "/OPT:REF /OPT:ICF /INCREMENTAL:NO /FIXED:NO". We can't use
/PROFILE with Clang, so instead pass the list of implied flags to make
Clang builds more closely match MSVC builds. We already do this for
is_win_fastlink=true builds, presumably for the same reason.

It turns out that the chrome_elf_unittests relies on /OPT:REF because it
allows the linker to remove unused user32.dll dependencies brought in by
//base. These tests only run in release+static builds, and most clang
release+static bots do official builds. Official builds already use
/OPT:REF for unrelated reasons, so we only see these test failures on
ASan bots, which don't do official builds.

BUG=646414
R=thakis@chromium.org

Review-Url: https://codereview.chromium.org/2520373003
Cr-Original-Commit-Position: refs/heads/master@{#433929}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 7bff5aca5d8144576a46b3dc0a37086c7e1a8d25
2016-11-22 18:57:39 +00:00
Brett Wilson e7dcb826da Move enable_webrtc to a buildflag header.
Removes enable_webrtc from build/config/features.gni and puts it in
media/media_options.gni.

Converts the ENABLE_WEBRTC from a define set globally to being set in the
media_features.h generated buildflag header.

R=sky@chromium.org
TBR=nasko@chromium.org (*_messages.h)
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_site_isolation

Review URL: https://codereview.chromium.org/2517953003 .

Cr-Original-Commit-Position: refs/heads/master@{#433912}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 0748bf41870093364ae96165f6fa1062c9f19ae0
2016-11-22 18:07:13 +00:00
sigbjornf 0c42a6f12a Enable precompiled headers for Blink on Windows.
One reason Blink is slow to compile is that there is a lot of code
included in every compilation unit. This is partly because everything
depends on either LayoutObject.h or Document.h and those in turn
include huge portions of the rest of Blink.

By precompiling LayoutObject.h and Document.h, the compilation of
core/ and modules/ in Blink can be considerably reduced;
some numbers:

@ r433149       config      build (mins)  size (Kb)
------------------------------------------------
master:         Debug       149:30        9410487
master:         Release     176:16        6118938

opera-pch[2]:   Debug       134:59        9337121
opera-pch[2]:   Release     160:42        6110812

opera-pch[3]:   Debug        93:06        8935714
opera-pch[3]:   Release     108:34        5029242

This for a clean build of target 'blink_tests', i.e., building
both chromium and blink parts. The gains are all local to Blink,
clearly. Host is an i7-3770 (4 phys cores); 32G + 256 SSD -
Win7 Pro.

The precompiled header file is judiciously (and forcefully) included
while compiling the core/ + web/ (and some of modules/) sources. Except
for some name disambiguation trivia when compiling the XPath grammar,
no source changes are needed to make this work out.

Note that distributed compilation system disables precompiled headers
globally so this will *not* make trybots faster. But many developers
don't have access to such super powers.

This already landed[1] in the gyp/VS2013 world some time ago but
unclear & unexplained bot failures caused a revert. Now with gn and
VS2015 the world should be a better place. This CL actually takes over
where [2] got stuck / ran out of time, extending its scope quite
considerably (i.e., 40 mins faster builds wrt the above pch numbers.)

[1] https://codereview.chromium.org/1167523007/
[2] https://codereview.chromium.org/2152783002/
[3] this CL.

Note sheriffs: should unexplained Windows build errors surface on the bots,
similar to the ones seen in crbug.com/511945, then please consider this CL a suspect.
This was with GYP and earlier MSVC toolchains; we have no reason to believe the problem
was fixed with GN and MSVC2015, we're just hoping for the best.

R=
BUG=495697
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel

Review-Url: https://codereview.chromium.org/2520863002
Cr-Original-Commit-Position: refs/heads/master@{#433832}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 60880bc3884f2a65d27b8204b86ca5e863c35d1d
2016-11-22 10:43:23 +00:00
thakis 7b456718e2 chrome/android/intel/clang: Use --icf=safe instead of --icf=all.
gold has a bug where it ignores section alignment when merging functions.
This means that member functions and regular functions with the same
contents can be merged even if the regular function has an odd address.
In the Itanium ABI, member function pointers with an odd address denote
virtual member function points, so if a non-virtual member function
gets folded into an identical non-member function that happens to be
at an odd address, the generated code will conclude at runtime that
the call is meant to be virtual, leading to a crash.

This only happens with -Os, at -O2 and -O0 functions are always
aligned at 16-byte boundaries.  This only happens with clang because
we currently never pass --icf to gold in android builds with gcc.

The gold bug is fixed upstream and is in the progress of being merged
into the NDK's gold, but it's not there yet.  Until it is, disable
full ICF on android (where we use -Os).

BUG=663886

Review-Url: https://codereview.chromium.org/2524503002
Cr-Original-Commit-Position: refs/heads/master@{#433797}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: aaa006d4a8d979e96d2ac248306240a60590b0bc
2016-11-22 05:57:29 +00:00
cwallez 7d2d2ce45e Allow GLES2 conform to use GTK2
cdf496ad123d8b43452d65a81f76cbd26d348ebf breaks the
generate_build_files of the GPU Linux builder that has a special flag
enabling compilation of the gles2_conform tests.

TBR=brettw@chromium.org

Review-Url: https://codereview.chromium.org/2516313003
Cr-Original-Commit-Position: refs/heads/master@{#433698}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 420f6d042815895b95a5200edee2214e4eb9029f
2016-11-21 23:53:40 +00:00
zpeng 10f0852521 Reland #2 of Add GN build rules to allow java_assertion_enabler to enable Java asserts.
Reverted by:
https://codereview.chromium.org/2506263003/

Reason for reland:
Fixed failing tests.

TBR=jbudorick@chromium.org,agrieve@chromium.org,toyoshim@chromium.org,qinmin@chromium.org,yolandyan@chromium.org
BUG=666193,667337,462676,665157,665478,667437

Review-Url: https://codereview.chromium.org/2517203002
Cr-Original-Commit-Position: refs/heads/master@{#433681}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 00a360e5ed7d790433b0be74169afa7643324d0d
2016-11-21 23:08:11 +00:00
michaelbai d9ae151310 Pass deps to emma_instr target
This makes emma_instr work with the generated Java file.

BUG=666696

Review-Url: https://codereview.chromium.org/2515383002
Cr-Original-Commit-Position: refs/heads/master@{#433665}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 123bee15a8403bd26d896f5cd5f0d5116c1b39be
2016-11-21 22:08:10 +00:00
brettw 5f365d839d Clean up GTK3 build flags.
Moves the global build flag from build/config/ui.gni to a separate file in a new "gtk" directory.

Create a virtual target to forward to the correct GTK implementation as needed.

Review-Url: https://codereview.chromium.org/2514413002
Cr-Original-Commit-Position: refs/heads/master@{#433644}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: cdf496ad123d8b43452d65a81f76cbd26d348ebf
2016-11-21 21:03:50 +00:00
jbudorick 682db4d7c7 [Android] Fix generated junit scripts wrt --runtime-deps-file.
The junit tests don't need to worry about pushing runtime deps to the
device since they don't run on the device.

BUG=667332

Review-Url: https://codereview.chromium.org/2517283002
Cr-Original-Commit-Position: refs/heads/master@{#433631}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 221b734a23bc7ae55b2104346dc34124bbe6d296
2016-11-21 20:41:28 +00:00
brettw 9ed52f43ca Move enable_wifi_display out of root build configuration.
The build flag and define have moved to the extensions features, and the define has been converted to a buildflag header for scalability.

Review-Url: https://codereview.chromium.org/2510633006
Cr-Original-Commit-Position: refs/heads/master@{#433432}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: cb33b243721b0e7dbdfa8c4301702e319360e88d
2016-11-20 00:00:55 +00:00
brettw 3876dde915 Convert enable_plugins to a buildflag header.
Moves the build flag from build/config/features.gni to ppapi/features/features.gni so it's not global any more.

Moves the define from build/config (global) to a generated buildflag header //ppapi/features:features. Updates callers to use BUILDFLAG, include the new header, and depend on this target.

R=bbudge
TBR=rsesek@chromium.org (*_messages.h files).
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_site_isolation

Review-Url: https://codereview.chromium.org/2512563003
Cr-Original-Commit-Position: refs/heads/master@{#433426}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 4b46108b37f0e0c7de0f86f3dc1d229e1a2bf168
2016-11-19 18:58:06 +00:00
jbudorick c2aa87f75c [android] Stop using isolate.py for data dependency management. (RELAND)
BUG=663110

Review-Url: https://codereview.chromium.org/2502363005
Cr-Original-Commit-Position: refs/heads/master@{#433322}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: d29ecfa7dc3ed49a2a49002ab941adb57c53e923
2016-11-18 22:55:16 +00:00
brettw 5455b3e1ec Move use_xkbcommon from build to ui/base
Converts the ad-hoc defines to use the ui_features buildflag header which should prevent errors.

Review-Url: https://codereview.chromium.org/2510193002
Cr-Original-Commit-Position: refs/heads/master@{#433247}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 309db1affe0f29366af03a3390f7f3ad56d197b6
2016-11-18 18:43:29 +00:00
sdefresne ca65c7819e Cleanup ios_xctest_test template.
No caller of this template (neither upstream nor downstream) set
the use_new_naming_convention parameter, so remove support for it
from the template as last cleanup step.

BUG=662404

Review-Url: https://codereview.chromium.org/2512553005
Cr-Original-Commit-Position: refs/heads/master@{#433176}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 09cceadb789bf9836f6f3bb6bd342df94e34b15c
2016-11-18 11:23:11 +00:00
sbc 845bb95f8d Disable thumb when building tcmalloc
This fixes the arm/linux build which is currently
broken because third_party/tc_malloc is not currently
buildable with -mthumb:

atomicops-internals-arm-v6plus.h:268:8:
 error: instruction requires: arm-mode "strexd  %0, %2, [%3]\n"`

BUG=564059

Review-Url: https://codereview.chromium.org/2515503002
Cr-Original-Commit-Position: refs/heads/master@{#433052}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 446886fca650e9239999df634ef6bc890b95680d
2016-11-18 03:22:14 +00:00
jbudorick faaecf8a5e Revert of [android] Stop using isolate.py for data dependency management. (patchset #9 id:160001 of https://codereview.chromium.org/2492123002/ )
Reason for revert:
Breaks the blink bot, e.g. https://build.chromium.org/p/chromium.webkit/builders/WebKit%20Android%20%28Nexus4%29/builds/57103

Original issue's description:
> [android] Stop using isolate.py for data dependency management.
>
> BUG=663110
>
> Committed: https://crrev.com/634c87cf4af7ac11f2dbe7687a6d7904c2217ee3
> Cr-Commit-Position: refs/heads/master@{#432940}

TBR=agrieve@chromium.org,dpranke@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=663110

Review-Url: https://codereview.chromium.org/2514453003
Cr-Original-Commit-Position: refs/heads/master@{#433020}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 67002b0fdaa3123f10f96fa2f7965677d531db74
2016-11-18 02:14:14 +00:00
jbudorick d7507a0fce [android] Stop using isolate.py for data dependency management.
BUG=663110

Review-Url: https://codereview.chromium.org/2492123002
Cr-Original-Commit-Position: refs/heads/master@{#432940}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 634c87cf4af7ac11f2dbe7687a6d7904c2217ee3
2016-11-17 20:23:58 +00:00
yolandyan 73ac91764e Revert of Add GN build rules to allow java_assertion_enabler to enable Java asserts. (patchset #2 id:140001 of https://codereview.chromium.org/2506013004/ )
Reason for revert:
This CL cause WebView to crash

BUG=666193

Original issue's description:
> Reland of Add GN build rules to allow java_assertion_enabler to enable Java asserts.
>
> Reverted in:
> https://codereview.chromium.org/2507153002/
>
> Reason for reland:
> Now explicitly lists default toolchain
>
> Also modify java_assertion_enabler to resolve cycle dependency issue
> and empty jar issue.
>
> TBR=jbudorick@chromium.org,agrieve@chromium.org,toyoshim@chromium.org,qinmin@chromium.org
> BUG=462676,665157,665478
>
> Committed: https://crrev.com/95785a8601992a057837bc189e9f7eba61701f1e
> Cr-Commit-Position: refs/heads/master@{#432607}

TBR=jbudorick@chromium.org,agrieve@chromium.org,toyoshim@chromium.org,qinmin@chromium.org,zpeng@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=462676,665157,665478

Review-Url: https://codereview.chromium.org/2506263003
Cr-Original-Commit-Position: refs/heads/master@{#432789}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 5e5387276fc07873f2a2c730b7b1adbd0d0a70ca
2016-11-17 06:56:32 +00:00
bshe 1f27ec197f Reland of Enable WebVR for non component build (patchset #1 id:1 of https://codereview.chromium.org/2505963003/ )
Reason for revert:
Hi Andrew.
It turns out that our UX review is blocked on this. We need it in canary build. I will revert your revert for now. And I will work with you tomorrow to figure out if there is a way to reduce dex size of gvr. There should be enough time to land/merge these improvements before it hits stable.
Anyway, let's talk tomorrow. Thanks!

Original issue's description:
> Revert of Enable WebVR for non component build (patchset #5 id:80001 of https://codereview.chromium.org/2502643002/ )
>
> Reason for revert:
> Reverting until dex size growth is understood.
>
> Original issue's description:
> > Enable Android WebVR for arm & arm64
> >
> > BUG=644785
> >
> > Committed: https://crrev.com/7e31a518a02e80fa167181be029691d41fadb898
> > Cr-Commit-Position: refs/heads/master@{#432489}
>
> TBR=bshe@chromium.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=644785
>
> Committed: https://crrev.com/19ef7689f208ee3222539bf0bb1d4054b2dbf780
> Cr-Commit-Position: refs/heads/master@{#432606}

TBR=agrieve@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=644785

Review-Url: https://codereview.chromium.org/2505313002
Cr-Original-Commit-Position: refs/heads/master@{#432723}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: eabd2c4458bf716a84e060d3d80e3d931dfa69d7
2016-11-17 03:30:49 +00:00
agrieve 6159036222 generate_gradle.py: Add support for junit and java_binary targets
Rather than add all the features required by robolectric, this adds a
new "gradle_treat_as_prebuilt" flag that is set on a few targets.

BUG=620034

Review-Url: https://codereview.chromium.org/2508553002
Cr-Original-Commit-Position: refs/heads/master@{#432608}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 2cefaf65d6362aadc536c1224e9981036cfb716f
2016-11-16 20:24:16 +00:00
zpeng 89bcac0ff6 Reland of Add GN build rules to allow java_assertion_enabler to enable Java asserts.
Reverted in:
https://codereview.chromium.org/2507153002/

Reason for reland:
Now explicitly lists default toolchain

Also modify java_assertion_enabler to resolve cycle dependency issue
and empty jar issue.

TBR=jbudorick@chromium.org,agrieve@chromium.org,toyoshim@chromium.org,qinmin@chromium.org
BUG=462676,665157,665478

Review-Url: https://codereview.chromium.org/2506013004
Cr-Original-Commit-Position: refs/heads/master@{#432607}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 95785a8601992a057837bc189e9f7eba61701f1e
2016-11-16 20:24:15 +00:00
agrieve fde6ec6365 Revert of Enable WebVR for non component build (patchset #5 id:80001 of https://codereview.chromium.org/2502643002/ )
Reason for revert:
Reverting until dex size growth is understood.

Original issue's description:
> Enable Android WebVR for arm & arm64
>
> BUG=644785
>
> Committed: https://crrev.com/7e31a518a02e80fa167181be029691d41fadb898
> Cr-Commit-Position: refs/heads/master@{#432489}

TBR=bshe@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=644785

Review-Url: https://codereview.chromium.org/2505963003
Cr-Original-Commit-Position: refs/heads/master@{#432606}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 19ef7689f208ee3222539bf0bb1d4054b2dbf780
2016-11-16 20:13:53 +00:00
agrieve 7690c29b1c Remove now-renamed java targets
This is the third side of the three-sided patch.

BUG=620034

Review-Url: https://codereview.chromium.org/2507823002
Cr-Original-Commit-Position: refs/heads/master@{#432588}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 3e2ea8b9d7313098049c5cee3496798e05f4318a
2016-11-16 19:30:28 +00:00
zpeng 5adf148e52 Revert of Add GN build rules to allow java_assertion_enabler to enable Java asserts. (patchset #4 id:60001 of https://codereview.chromium.org/2497043002/ )
Reason for revert:
Broke arm64 builder:
https://build.chromium.org/p/chromium.android/builders/Android%20Cronet%20ARM64%20Builder%20%28dbg%29/builds/42836

Original issue's description:
> Add GN build rules to allow java_assertion_enabler to enable Java asserts.
>
> Also modify java_assertion_enabler to resolve cycle dependency issue
> and empty jar issue.
>
> BUG=462676,665157,665478
>
> Committed: https://crrev.com/5d3328f05a88be232e11d2ce34bffa64ca2362a5
> Cr-Commit-Position: refs/heads/master@{#432521}

TBR=jbudorick@chromium.org,agrieve@chromium.org,toyoshim@chromium.org,qinmin@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=462676,665157,665478

Review-Url: https://codereview.chromium.org/2507153002
Cr-Original-Commit-Position: refs/heads/master@{#432564}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: a877ad3e0cc023956bd38fcf9018b028ba35f15e
2016-11-16 18:31:45 +00:00
zpeng 9f06956677 Add GN build rules to allow java_assertion_enabler to enable Java asserts.
Also modify java_assertion_enabler to resolve cycle dependency issue
and empty jar issue.

BUG=462676,665157,665478

Review-Url: https://codereview.chromium.org/2497043002
Cr-Original-Commit-Position: refs/heads/master@{#432521}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 5d3328f05a88be232e11d2ce34bffa64ca2362a5
2016-11-16 17:03:10 +00:00
bshe 39c9f8a99c Enable Android WebVR for arm & arm64
BUG=644785

Review-Url: https://codereview.chromium.org/2502643002
Cr-Original-Commit-Position: refs/heads/master@{#432489}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 7e31a518a02e80fa167181be029691d41fadb898
2016-11-16 15:17:26 +00:00
agrieve 94c8e9cc89 Bump default_lint_android_sdk_version to 24 to match sdk
BUG=623989

Review-Url: https://codereview.chromium.org/2498503003
Cr-Original-Commit-Position: refs/heads/master@{#432036}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: a410e098e9497a90722b14604fab8e8fbf79c0b3
2016-11-15 01:04:19 +00:00
brettw 5ea7c07ea2 Remove some global UI defines
Remove the USE_CLIPBOARD_AURAX11 C++ define which were unused. The use_clipboard_aurax11 build variable was only used in one place (ui/base/BUILD.gn) and seems not to be useful. This is replaced by a "use_x11 && is_desktop_linux" condition.

Remove the enable_clipboard_aurax11 build arg which affected the use_ variant above and is no longer needed.

Move USE_DEFAULT_RENDER_THEME build variable and C++ define to Blink's public features.

Review-Url: https://codereview.chromium.org/2498733002
Cr-Original-Commit-Position: refs/heads/master@{#432010}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 8a274fa60fec11c1c1ddbeb2ee64c3ffb60ca84c
2016-11-15 00:23:29 +00:00
estevenson 60b225e0c9 Fix inputs for main_dex_list action.
BUG=

Review-Url: https://codereview.chromium.org/2500113003
Cr-Original-Commit-Position: refs/heads/master@{#432007}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 237ee6948e7127d4d8e2022a63d26410d1080378
2016-11-15 00:23:26 +00:00
brucedawson df7a384a22 Make /fastlink builds as optimized as non-/fastlink builds
The /DEBUG:FASTLINK flag is incompatible with /PROFILE, so we turn off
/PROFILE when using /DEBUG:FASTLINK. However /PROFILE turns on various
linker optimization, which means that /DEBUG:FASTLINK results in larger
binaries, for no good reason. This was causing some confusion when
working on size optimizations. This change ensures that when /PROFILE is
turned off due to /DEBUG:FASTLINK that the same linker optimization
flags are applied.

This has no effect on non-fastlink builds, it just ensures that
is_win_fastlink does not affect binary sizes. Link times (measured for
non-component 64-bit release chrome.dll and chrome_child.dll) are about
2.7 faster with fastlink than without with this change, which is inline
with before.

This change also avoids using /debug:fastlink on minimal_symbols builds.
On such builds (because there is no debug information in the .obj files
or shared .pdb files) fastlink has no value and actually makes the final
PDBs slightly *bigger*.

BUG=495670

Review-Url: https://codereview.chromium.org/2495643002
Cr-Original-Commit-Position: refs/heads/master@{#431985}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: b05140cde29b38d482e1201b77fcf68fd310daa7
2016-11-14 23:57:55 +00:00
agrieve 2c65c8cdcd Fix java target naming exceptions in third_party/
BUG=620034

Review-Url: https://codereview.chromium.org/2473963003
Cr-Original-Commit-Position: refs/heads/master@{#431975}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 64b310827fc8b5eaa9e8784370d19c1b0f71a700
2016-11-14 23:43:19 +00:00
brettw 7ee20ec70d Convert spellcheck to a buildflag header.
Move the build variables from build/config/features.gni to a new header in components/spellcheck

Removes the global defines for ENABLE_SPELLCHECK and USE_BROWSER_SPELLCHECKER and move them to a generated header.

R=rouslan
TBR=mkwst@chromium.org (_messages.h file)

Review-Url: https://codereview.chromium.org/2495193003
Cr-Original-Commit-Position: refs/heads/master@{#431962}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 41446f6842fd10bb4671afb4ecd700ab6db20158
2016-11-14 23:33:19 +00:00
brettw 3d2b3ab696 Move enable extensions define to a build flag.
Removes the global define and convert to a more scaleable build flag system.

The json_schema_compiler tests were moved from the unit tests target to one on their directory with an extensions-only dependency on the new test target.

Review-Url: https://codereview.chromium.org/2479593006
Cr-Original-Commit-Position: refs/heads/master@{#431741}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 00899e685f753f1e8b0b2452bf374de5f0079feb
2016-11-12 02:13:39 +00:00
bshe 1f8098e705 Linking arm and arm64 gvr static shim library.
This should reduce our binary size increase significantly for VR
related feature, as well as avoid issue with crazy linker which has
problem handling two shared libraries.

Note that the static library is mostly a shim lib. It will dynamically
load the correct library from VrCore service at runtime when needed.
Our initial target is Pixel and Pixel XL phones. And VrCore should exist
in both phones. If VrCore doesn't exist or the version is older than we
expect, VR will be disabled. Support for x86 and x64 will be added later.

BUG=644785

Review-Url: https://codereview.chromium.org/2467873004
Cr-Original-Commit-Position: refs/heads/master@{#431699}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 0907c2d02be6980427e4ecc372c47985e7dddffd
2016-11-12 00:29:44 +00:00
brettw 4d94154e02 Remove some global defines and build flags.
Convert image loader extension C++ checks to use OS_CHROMEOS. There are
only two of these and this flag always goes with ChromeOS and is not
overridable. It seems we do not get much benefit from having this be a
define/buildflag, and because this is referenced from both //ui and
//chrome the layering of where the flag should be but is unclear.

Move use_minikin_hyphenation to a buildflag header in Blink.
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:closure_compilation

Review-Url: https://codereview.chromium.org/2494183002
Cr-Original-Commit-Position: refs/heads/master@{#431680}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 2cf0a69b66582c80125579d3fa32885ee85917b3
2016-11-11 23:25:58 +00:00
brettw ba1d2f67ac Move use_brlapi build flag to chrome.
It used to be in the global build faetures file but is only used by Chrome.

The define is removed. It was only used in one place to make sure the compile
matched the build flags, which in this case is uselessly circular.

Review-Url: https://codereview.chromium.org/2497653002
Cr-Original-Commit-Position: refs/heads/master@{#431665}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 519b7b6003aab8cd70808bb07f5d289e10149367
2016-11-11 22:22:12 +00:00
jbudorick 472b306939 [android] Tweak data deps to include two chromium tool binaries. (RELAND)
This includes:
 - //tools/android/md5sum:md5sum_bin($host_toolchain) -- we had previously
    only depended on the symlink, not the target thereof
 - //build/android/pylib/device/commands -- we previously only had it set
    as a dependency of the forwarder & incremental APKs

This should prevent bots running chromium tests from downloading the devil
versions stored in GS.

BUG=664211,664423

Review-Url: https://codereview.chromium.org/2485383006
Cr-Original-Commit-Position: refs/heads/master@{#431611}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 302e4da2da2463a360e26beb8cb88766c48ab6db
2016-11-11 19:19:23 +00:00
tobiasjs 74e592174d Revert of [android] Tweak data deps to include two chromium tool binaries. (patchset #2 id:20001 of https://codereview.chromium.org/2488013003/ )
Reason for revert:
Causes dump_syms not to be built, official build bots failing.

https://bugs.chromium.org/p/chromium/issues/detail?id=664423&q=dump_syms&colspec=ID%20Pri%20M%20Stars%20ReleaseBlock%20Component%20Status%20Owner%20Summary%20OS%20Modified&desc=2

Original issue's description:
> [android] Tweak data deps to include two chromium tool binaries.
>
> This includes:
>  - //tools/android/md5sum:md5sum_bin($host_toolchain) -- we had previously
>     only depended on the symlink, not the target thereof
>  - //build/android/pylib/device/commands -- we previously only had it set
>     as a dependency of the forwarder & incremental APKs
>
> This should prevent bots running chromium tests from downloading the devil
> versions stored in GS.
>
> BUG=664211
>
> Committed: https://crrev.com/459473d91b7a627024b3dbf016fa599b79c13845
> Cr-Commit-Position: refs/heads/master@{#431378}

TBR=dpranke@chromium.org,jbudorick@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=664211

Review-Url: https://codereview.chromium.org/2488353003
Cr-Original-Commit-Position: refs/heads/master@{#431552}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 1b8c4bd02e59932536f50f6d2b0d4fd4ed455ad7
2016-11-11 13:12:05 +00:00
sdefresne f6a605f4c7 Remove support for old naming convention for EarlGrey tests on iOS.
BUG=662404

Review-Url: https://codereview.chromium.org/2488833005
Cr-Original-Commit-Position: refs/heads/master@{#431395}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 53de6b93990e7502327f2becb787e9a9352a645e
2016-11-10 23:28:28 +00:00
jbudorick 9b230edb1a [android] Tweak data deps to include two chromium tool binaries.
This includes:
 - //tools/android/md5sum:md5sum_bin($host_toolchain) -- we had previously
    only depended on the symlink, not the target thereof
 - //build/android/pylib/device/commands -- we previously only had it set
    as a dependency of the forwarder & incremental APKs

This should prevent bots running chromium tests from downloading the devil
versions stored in GS.

BUG=664211

Review-Url: https://codereview.chromium.org/2488013003
Cr-Original-Commit-Position: refs/heads/master@{#431378}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 459473d91b7a627024b3dbf016fa599b79c13845
2016-11-10 23:09:28 +00:00
brucedawson f0af02c697 Stop disabling warning 4595 - inline operator new
ICU used to define operator new/delete inline, but it no longer does
so we don't need to suppress this VS 2015/clang warning anymore.

http://bugs.icu-project.org/trac/ticket/11122

BUG=593448

Review-Url: https://codereview.chromium.org/2494793002
Cr-Original-Commit-Position: refs/heads/master@{#431369}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: c6e883ee8cf3b20541b256b9a2154af03445a3fc
2016-11-10 23:09:19 +00:00
rsesek 98f2d80a58 [Mac/GN] Don't list any symlinks in the outputs of mac_framework_bundle.
Despite the comment left in 9522ddcc745f, the bots do not agree that this is
stable.

BUG=648757

Review-Url: https://codereview.chromium.org/2492493002
Cr-Original-Commit-Position: refs/heads/master@{#431098}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 7accb69c5cc3c08b6c36b2d616cf4a38892ade55
2016-11-10 00:38:04 +00:00
agrieve 357d6e3893 GN: Allow java_* to set their .jar name
Use this new feature to remove cronet java target
naming exceptions from internal_rule.gni

BUG=620034

Review-Url: https://codereview.chromium.org/2474053003
Cr-Original-Commit-Position: refs/heads/master@{#431086}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: d827e0b95111780e9ce1c780aa16f0f6804b672d
2016-11-09 23:57:23 +00:00
bshe fed0f97fda Remove is_debug from enable_webvr flag (N SDK is now available!)
Also add comment about why is_component_build check is necessary

BUG=389343

Review-Url: https://codereview.chromium.org/2416143003
Cr-Original-Commit-Position: refs/heads/master@{#430844}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: ffb586400bdf276af3a94bf95b5790a0afdc8f31
2016-11-09 03:28:45 +00:00
rsesek 91694b2d58 [Mac/GN] Re-do framework packaging to fix framework versioning.
Rather than trying to symlink as an action after producing the bundle, do it
as an early-stage action. As part of this, mac_framework_bundle callers need
to explicitly specify the top-level symlinks (framework_contents) that should
be created. Frameworks are now packaged like so:

1. At `gn gen` time, an exec_script runs to write the framework_version to a
   file. If the previous value written does not match the new value, the entire
   framework output directory is clobbered. This must be done at gen-time to
   ensure nothing tries to clean the framework while also attempting to copy
   to it.
2. Also at `gn gen` time, a TOC file for the framework_contents is written.
   This allows the build to emulate depending on the presence of the top-level
   symlinks, since ninja does not stat symlinks correctly.
   https://github.com/ninja-build/ninja/issues/1186
3. The package_framework.py action now runs before the main create_bundle().
   This action depends on the TOC file from (2) and will create all the
   required symlinks in the bundle. At the time this runs, the symlink target
   may not yet exist.
4. The create_bundle target is now always the leaf edge for
   mac_framework_bundle, and it copies all bundle contents to the fully
   versioned path (rather than through a symlink).

This should resolve the issue of the build not stabilizing between specifying
a framework_version and not.

BUG=648757

Review-Url: https://codereview.chromium.org/2487763002
Cr-Original-Commit-Position: refs/heads/master@{#430778}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 9522ddcc745f739414607811da8a2c6a17dbb17a
2016-11-09 00:08:07 +00:00
rogerj 73e70ae6f0 Build v8 snapshot with correct default float configuration on Linux ARM
V8 currently defaults to arm_float_abi="hard" and arm_use_neon=true but
the V8 snapshot defaults to arm_float_abi="softfp" and arm_use_neon=false
on Linux ARM builds.

This patch makes both targets default to hard + neon by changing the
"is simulator build" check from comparing current_cpu with v8_current_cpu
to comparing target_cpu with v8_target_cpu instead. Similarly to how it is
checked in v8/BUILD.gn.

BUG=662856

Review-Url: https://codereview.chromium.org/2483153004
Cr-Original-Commit-Position: refs/heads/master@{#430776}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 2c53ba1d955a7da25dbf63829b8e7052e7bf0ceb
2016-11-09 00:08:05 +00:00
agrieve c494de39fc Android: Default symbol_level=1 for GN configs where 2 breaks things
BUG=648948

Review-Url: https://codereview.chromium.org/2481523002
Cr-Original-Commit-Position: refs/heads/master@{#430618}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: c4ffc5d95c07e6777d4c57dc086d1b681a830a34
2016-11-08 15:37:51 +00:00
jbudorick 2d756bd6a4 [android] Remove pylib/{remote,uirobot}.
BUG=

Review-Url: https://codereview.chromium.org/2488453002
Cr-Original-Commit-Position: refs/heads/master@{#430606}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 836e96693451f840481c22005138bb87a4a30ed8
2016-11-08 14:33:10 +00:00
sdefresne 3030959409 Rename XCTests test main target and output.
Refactor ios_xctest_test template in order to have the main target
correspond to the host application and to have the dynamic module
be a secondary target.

With this change ios_xctest_test("foo") { ... } will now create an
application named foo.app (instead of foo_host.app) and the target
will be correctly named foo (instead of foo_host).

Keep the old target foo_host and the foo_host.app as compatibility
until the downstream bots have been fixed to use the new names.

Rename ios_web_shell_test_host to ios_web_shell_egtests.

BUG=662404

Review-Url: https://codereview.chromium.org/2473103006
Cr-Original-Commit-Position: refs/heads/master@{#430570}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 103ee1e345eb36725297bb35e758cbbd023cb8a8
2016-11-08 10:41:45 +00:00
sdefresne 72ef531e71 Add template to compile plist files.
Add new template compile_plist that merge multiple plist files and
perform variables subsitutions and change info_plist implementation
to use it.

The new template will be used to compile entitlements files that
need different substitutions and do not use the one for Info.plist.

BUG=613543

Review-Url: https://codereview.chromium.org/2475893002
Cr-Original-Commit-Position: refs/heads/master@{#430269}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 7a7cd719032f146447c5b41ee6e243648ec0d397
2016-11-07 14:42:32 +00:00
sdefresne c09819f902 Add optional parameter entitlements_targets to iOS template.
Both ios_app_bundle and create_signed_bundle now accept another
optional parameter entitlements_targets (incompatible with the
entitlements_path parameter). This allow for generating the
entitlements file to use at build time.

BUG=613543

Review-Url: https://codereview.chromium.org/2473483011
Cr-Original-Commit-Position: refs/heads/master@{#430239}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: a2edd2b924e9f3539c740d5d7323b3ececb54cbb
2016-11-07 09:18:38 +00:00
agrieve a5464b8dbd Fix java target naming exceptions in device/ and components/policy
BUG=620034

Review-Url: https://codereview.chromium.org/2479463004
Cr-Original-Commit-Position: refs/heads/master@{#429977}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 45e3b18b7312c37abd86c300d045b5e43ea1ec72
2016-11-04 19:33:50 +00:00
sebmarchand 7075ce249f Add a flag to turn on incremental LTCG.
BUG=548454

Review-Url: https://codereview.chromium.org/2474963002
Cr-Original-Commit-Position: refs/heads/master@{#429942}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: fdfe75c61341b79acbc82db402d9e7ce84452e15
2016-11-04 17:47:52 +00:00
agrieve 3753244652 Rename //mojo/public/java:bindings -> :bindings_java
and //mojo/public/java:system -> :system_java

This removes a naming exception from the android java targets whitelist
within internal_rules.gni.

BUG=620034

Review-Url: https://codereview.chromium.org/2476683002
Cr-Original-Commit-Position: refs/heads/master@{#429941}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: ed37c92f79b0cfa854cb3a9b1a02a6c89e4699c2
2016-11-04 17:45:07 +00:00
sdefresne 46e067f9ab Extend tweak_info_plist template to support multiple plist file as input.
Rename build/config/mac/gen_plist.py to build/config/mac/plist_util.py
after splitting the possible action (currently variable substitution and
plist merging).

Extend tweak_info_plist template to add another parameter info_plists
corresponding to a list of path to merge before tweaking (this allow for
adding partial plist files depending on configuration options).

Always pass the --platform variable based on the value of $current_os
to the tweak_info_plist template and make args optional.

Refactor info_plist template to use separate steps for merge and variable
substitution (as the script now implement them as two separate actions).

BUG=613543

Review-Url: https://codereview.chromium.org/2480433002
Cr-Original-Commit-Position: refs/heads/master@{#429830}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 9bb379e5fbd071abaf1359d724eb79b1ff6e7ceb
2016-11-04 08:19:37 +00:00
Brett Wilson a4a36d6a49 Move printing defines to buildflag system.
Removes the build flags in //build/config/features.gni and puts them in a new
file //printing/features/features.gni. A "features" target in that directory
converts these to a BUILDFLAG header. Update users of define to use the new
include, and check BUILDFLAG(...) instead of defined(...).

One define about printing is removed from Blink. This function seems only to
be called by the embedder, and printing code is compiled into Blink either
way. The define seems to not be doing much. if the embedder doesn't want to
print, they should not call the print function.

There is a custom hack for the .rc file due to resource compiler preprocessor limitations.

R=dbeam@chromium.org, dcheng@chromium.org, thestig@chromium.org, thestig, dcheng (third_party/WebKit)
TBR=dbeam (webui), jschuh (ipc messages)

Review URL: https://codereview.chromium.org/2458833005 .

Cr-Original-Commit-Position: refs/heads/master@{#429707}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 65f951ca1dc8c6b3fc5b2dc32e44b4e28a3b86e2
2016-11-03 22:09:21 +00:00
kthelgason 8082bfffe4 Fix iOS code signing issue
Fix a bug where code signing on iOS would fail if the iPhone developer
identity is not the first item in the output of `security find-identity`

BUG=chromium:661944

Review-Url: https://codereview.chromium.org/2470343002
Cr-Original-Commit-Position: refs/heads/master@{#429561}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 784ae901cc0ee477e57f50d25f801f1ab17882f1
2016-11-03 13:42:38 +00:00
brettw 4817a0e59e Move debug_devtools to a buildflag_header.
Previously this was in the global features.gni file, and files did an ad-hoc
reference to the debug_devtools config if they needed the define. This is
fragile and will not scale as additional flags are added.

This patch introduces a Blink public features buildflag_header (in the
future I expect we'll also have a Blink-internal one in Source/). The
existing users of debug_devtools are updated to use this.

BUG=

Review-Url: https://codereview.chromium.org/2458573004
Cr-Original-Commit-Position: refs/heads/master@{#429362}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: cb4ab75ac5e94b7857b70a9d6f73eefe9db47a7f
2016-11-02 19:28:16 +00:00
hans d1618ae8e2 Win/Clang: turn on LTO for Official builds that use LLD
BUG=598772

Review-Url: https://codereview.chromium.org/2390153003
Cr-Original-Commit-Position: refs/heads/master@{#429320}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 3a6656ca882eb5b672719913af98d4f494de0be7
2016-11-02 17:31:48 +00:00
brettw e472adea3a Move session service and supervised users to buildflags.
The session service and supervised user flags used to be global build variables and defines.

This patch converts them to use the buildflag system to clean up the dependencies and scope the feature.

R=sky
TBR=dbeam (webui owners)

Review-Url: https://codereview.chromium.org/2468723003
Cr-Original-Commit-Position: refs/heads/master@{#429107}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 9e85ef482ba591482edac786d101d8d37cf4b451
2016-11-01 21:03:52 +00:00
thakis 71eceae80a Android: Prefix target toolchain names with "android_".
In x64 builds with clang, we also build a 32-bit binary to ship webview
in both 32-bit and 64-bit.  The 32-bit part is built twice, once for
the linux host to be able to run v8's mksnapshot, and once for the
android target for the actual binary.

Before this change, both the host toolchain and the target toolchain
were called "clang_x86", and they clobbered each other.  (In gcc builds,
the target toolchain was called just "x86" while the host still used
clang, so it happened to work there, mostly by accident.)

BUG=660857,605315

Review-Url: https://codereview.chromium.org/2463143002
Cr-Original-Commit-Position: refs/heads/master@{#428783}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 042f129b96ea6e989df1efe0e4a30dcac09f05a7
2016-10-31 20:26:52 +00:00
brettw a82224d833 Move enable_mdns build flag to net.
Moves it out of the global feature flags and into the net feature flags.
Migrates the flag from a #define to a buildflag.

Review-Url: https://codereview.chromium.org/2460653003
Cr-Original-Commit-Position: refs/heads/master@{#428514}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 5224a189c5968ac267a0c5456846c81495e7dfe3
2016-10-28 22:15:07 +00:00
dgn 5150f5479b Define separate variable for the sdk root used to load gmscore.
BUG=624324
TBR=agrieve@chromium.org

Review-Url: https://codereview.chromium.org/2458083002
Cr-Original-Commit-Position: refs/heads/master@{#428398}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 0ea787ad5d60a2bc91e15333d136da238b7ebf55
2016-10-28 17:08:01 +00:00
justincohen 90b6677250 Correct iOS GN hermetic support.
BUG=

Review-Url: https://codereview.chromium.org/2452593004
Cr-Original-Commit-Position: refs/heads/master@{#428373}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: e3f7eea5174f118c4baf5562b157cdee651a9426
2016-10-28 15:10:02 +00:00
rsesek e3fe35db48 [Mac/GN] Fix rebuilds when changing framework_version of a mac_framework_bundle.
Write the current framework_version to a file at gen-time, and clobber the
entire framework bundle if it differs from the current value in the file.

This has to be done at gen-time because it is not possible to run a script at
the create_bundle stage before any other dependencies in its tree run. Take
this sample graph:

                       bundle_data --> shared_library
                      /
  mac_framework_bundle
                      \
                       action("clean_framework_version")

It is not possible, from a mac_framework_bundle, to force the
clean_framework_version action to run before the shared_library. When the
action does run, its stamp will have a newer mtime than the shared_library.
Because bundle_data are hard linked into place, the link source file will
have an older mtime than the action, and the build will never stabilize.

BUG=648757
R=dpranke@chromium.org

Originally Committed: https://crrev.com/fed4fc1df8bab7159f19e04ed658c1f417e4e499
Reverted: https://crrev.com/d76ba00e6cc2625000d495e79bdc8d747645405e

Review-Url: https://codereview.chromium.org/2453043002
Cr-Original-Commit-Position: refs/heads/master@{#428366}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: a74b313db5f7444667bcf6530f1b2740884f4bfd
2016-10-28 14:44:59 +00:00
sdefresne 2d3cfed0c4 Respect ios_app_bundle_id_prefix for ios/web/shell and EarlGrey tests.
BUG=613543

Review-Url: https://codereview.chromium.org/2454773003
Cr-Original-Commit-Position: refs/heads/master@{#428335}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: b1c17c347cc53041178a0f598a3edb1cef108d44
2016-10-28 11:45:14 +00:00
hongchan 0bdb8cb0ae Revert of [Mac/GN] Fix rebuilds when changing framework_version of a mac_framework_bundle. (patchset #1 id:1 of https://codereview.chromium.org/2453043002/ )
Reason for revert:
rules.gni file is causing the build failure.

------
/b/c/b/Google_Chrome_Mac/src/buildtools/mac/gn gen //out/Release --check
  -> returned 1
ERROR at //build/config/mac/rules.gni:313:3: Script returned non-zero exit code.
  exec_script("//build/config/mac/prepare_framework_version.py",
  ^----------
Current dir: /b/c/b/Google_Chrome_Mac/src/out/Release/
Command: python -- /b/c/b/Google_Chrome_Mac/src/build/config/mac/prepare_framework_version.py /b/c/b/Google_Chrome_Mac/src/out/Release/obj/ui/base/ui_unittests_framework_version /b/c/b/Google_Chrome_Mac/src/out/Release/ui_unittests Framework.framework ''
Returned 1.

Original issue's description:
> [Mac/GN] Fix rebuilds when changing framework_version of a mac_framework_bundle.
>
> Write the current framework_version to a file at gen-time, and clobber the
> entire framework bundle if it differs from the current value in the file.
>
> This has to be done at gen-time because it is not possible to run a script at
> the create_bundle stage before any other dependencies in its tree run. Take
> this sample graph:
>
>                        bundle_data --> shared_library
>                       /
>   mac_framework_bundle
>                       \
>                        action("clean_framework_version")
>
> It is not possible, from a mac_framework_bundle, to force the
> clean_framework_version action to run before the shared_library. When the
> action does run, its stamp will have a newer mtime than the shared_library.
> Because bundle_data are hard linked into place, the link source file will
> have an older mtime than the action, and the build will never stabilize.
>
> BUG=648757
> R=dpranke@chromium.org
>
> Committed: https://crrev.com/fed4fc1df8bab7159f19e04ed658c1f417e4e499
> Cr-Commit-Position: refs/heads/master@{#428183}

TBR=dpranke@chromium.org,brettw@chromium.org,rsesek@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=648757

Review-Url: https://codereview.chromium.org/2453933006
Cr-Original-Commit-Position: refs/heads/master@{#428212}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: d76ba00e6cc2625000d495e79bdc8d747645405e
2016-10-27 23:39:22 +00:00
rsesek 0c69e78a84 [Mac/GN] Fix rebuilds when changing framework_version of a mac_framework_bundle.
Write the current framework_version to a file at gen-time, and clobber the
entire framework bundle if it differs from the current value in the file.

This has to be done at gen-time because it is not possible to run a script at
the create_bundle stage before any other dependencies in its tree run. Take
this sample graph:

                       bundle_data --> shared_library
                      /
  mac_framework_bundle
                      \
                       action("clean_framework_version")

It is not possible, from a mac_framework_bundle, to force the
clean_framework_version action to run before the shared_library. When the
action does run, its stamp will have a newer mtime than the shared_library.
Because bundle_data are hard linked into place, the link source file will
have an older mtime than the action, and the build will never stabilize.

BUG=648757
R=dpranke@chromium.org

Review-Url: https://codereview.chromium.org/2453043002
Cr-Original-Commit-Position: refs/heads/master@{#428183}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: fed4fc1df8bab7159f19e04ed658c1f417e4e499
2016-10-27 23:00:53 +00:00
thomasanderson f30ae8a091 Gtk3 ui: Add libgtk3ui as a separate build component
This CL adds libgtk3ui.so to supplement libgtk2ui.so so that the
builders can build using gtk3 without having to link the chrome binary
against it (or link against any component that links against it).

The next step is to add the target libgtk3ui to gn_all.

BUG=132847
R=erg@chromium.org,dpranke@chromium.org, sky@chromium.org
TBR=brettw@chromium.org
NOPRESUBMIT=true

Review-Url: https://codereview.chromium.org/2449243002
Cr-Original-Commit-Position: refs/heads/master@{#427927}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 215681db8aa96912f9ce19f9e1fffe38681e1af9
2016-10-27 03:34:54 +00:00
kjellander 8e5bb07535 Move ignore_elf32_limitations into build_overrides/build.gni
Having this it will be easy for client projects to override
the ignore_elf32_limitations flag that was added in
https://codereview.chromium.org/2395603003 by setting it to true
in their own build_overrides/build.gni.
Then it will still be possible to build with symbol_level=2 as
long as the project isn't affected by the 4GB size limit.

BUG=648948, webrtc:6596

Review-Url: https://codereview.chromium.org/2448453002
Cr-Original-Commit-Position: refs/heads/master@{#427608}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: fd77254d72956d5e469857b2242fefc7f95fc407
2016-10-26 06:27:49 +00:00
stip 6ff9a4a8b5 Reland of Upgrade to new Android SDK. (patchset #1 id:1 of https://codereview.chromium.org/2438913004/ )
Reason for revert:
With https://codereview.chromium.org/2447583002/ and https://codereview.chromium.org/2437383002/ this should be okay now.

Original issue's description:
> Revert of [Reland] Upgrade to new Android SDK. (patchset #2 id:20001 of https://codereview.chromium.org/2438133002/ )
>
> Reason for revert:
> forward --list issues + gtest perf test adb locations need to be updated.
>
> Original issue's description:
> > [Reland] Upgrade to new Android SDK.
> >
> > https://codereview.chromium.org/2350013004/ was reverted due to breakage on the perf waterfall. After https://codereview.chromium.org/2438563004/, this should hopefully be resolved.
> >
> > BUG=623989
> >
> > Committed: https://crrev.com/a8b2a521ccd425935ef26a70e0f65b57de50d788
> > Cr-Commit-Position: refs/heads/master@{#426777}
>
> TBR=xunjieli@chromium.org,stip@chromium.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=623989
>
> Committed: https://crrev.com/8397f04a7f49909e445d30ccb8d187fedc7959e2
> Cr-Commit-Position: refs/heads/master@{#426926}

TBR=xunjieli@chromium.org,jbudorick@chromium.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=623989

Review-Url: https://codereview.chromium.org/2442363003
Cr-Original-Commit-Position: refs/heads/master@{#427538}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 901c8bdf4512f4c98f553440b27e52fa59c4dc0c
2016-10-25 23:48:43 +00:00
dskiba 9f2633af4e Link stack frames of JNI stubs to JNI callbacks.
Chrome's native heap profiler relies on stack frame pointers to unwind. That
is fast, but requires that all code in a call chain is built with frame pointer
support. Which is not the case for Java / JNI code on Android, so unwinding
stops prematurely once it crosses JNI boundary.

This CL exploits the fact that both JNI stubs (which call into Java) and JNI
callbacks (which are called by Java) are generated. It changes JNI generator
to save stack frame pointer in a JNI stub, and later link saved frame pointer
to a frame pointer of a JNI callback. That repairs broken stack frame chain
and allows unwinder to yield complete trace.

Changes in this CL are active only for profiling builds (ones that build with
enable_profiling=true). Otherwise JNI generator produces exactly the same code
as before (modulo removed empty lines).

Example of a complete trace made possible by this CL:

<.../base.odex>
Java_org_chromium_base_SystemMessageHandler_nativeDoRunLoopOnce
base::MessageLoop::DoWork
base::MessageLoop::DeferOrRunPendingTask
base::MessageLoop::RunTask
base::debug::TaskAnnotator::RunTask
cc::SingleThreadProxy::BeginMainFrame
cc::SingleThreadProxy::DoBeginMainFrame
content::CompositorImpl::UpdateLayerTreeHost..............................#4
<.../base.odex>
Java_org_chromium_chrome_..._ToolbarSceneLayer_nativeUpdateToolbarLayer...#3
android::ToolbarSceneLayer::UpdateToolbarLayer
android::ToolbarLayer::PushResource
ui::ResourceManagerImpl::GetResource......................................#2
<.../base.odex>
Java_org_chromium_ui_resources_ResourceManager_nativeOnResourceReady......#1
ui::ResourceManagerImpl::OnResourceReady
gfx::CreateSkBitmapFromJavaBitmap
...more frames from Chrome...

Previously unwinding would've stopped at #1. Code added by JNI generator links
frames #1->#2 and #3->#4.

BUG=624362

Review-Url: https://codereview.chromium.org/2361353002
Cr-Original-Commit-Position: refs/heads/master@{#427534}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: a8c951effbf899ae4951c67d606a634905f88ab4
2016-10-25 23:41:06 +00:00
thakis 380d96e744 win: Remove unneeded references to visual_studio_version now that it's always 2015.
BUG=

Review-Url: https://codereview.chromium.org/2450933002
Cr-Original-Commit-Position: refs/heads/master@{#427463}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: a628db5056deb88589224bd68dcd9ec029932c83
2016-10-25 20:57:08 +00:00
sdefresne 859292be22 Ignore expired mobile provisioning profiles.
Ignore mobile provisioning profile that are expired (or soon going to
expire, i.e. expiration date arrives in less than 1 hour) and warn
about the soon-to-expire mobile provisioning profile.

If two mobile provisioning profile can be used to sign a bundle, use
the one that will expire the latest.

Pass the -u parameter to prevent "security" displaying an error
message when compiling on macOS Sierra.

BUG=659142,657521

Review-Url: https://codereview.chromium.org/2446283002
Cr-Original-Commit-Position: refs/heads/master@{#427408}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: b7c2e30b74d87e45f1aa508c028d9927829b8fd0
2016-10-25 18:00:55 +00:00
thakis c7d2812b6f win/clang: Turn on -Wignored-pragmas again
clang-cl now implements `#pragma intrinsic` for all commonly used intrinsic, so this warning is no longer emitted.

BUG=644841

Review-Url: https://codereview.chromium.org/2351223002
Cr-Original-Commit-Position: refs/heads/master@{#427388}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 09fa985e68291a078d3bcaeb2d6fc4270cce4d7a
2016-10-25 17:21:32 +00:00
sdefresne 6f3b6f3864 Use "Organization Identifier" as prefix for gtest CFBundleIdentifier.
Respect the ios_app_bundle_id_prefix and ios_automatically_manage_certs
when generating the Info.plist file for unit tests targets on iOS.

BUG=613543

Review-Url: https://codereview.chromium.org/2441793002
Cr-Original-Commit-Position: refs/heads/master@{#427057}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: ae44722d0182c5a6aa6e71aa0ed4a53e2cf64341
2016-10-24 13:37:11 +00:00
jbudorick a3b623a6ef Revert of [Reland] Upgrade to new Android SDK. (patchset #2 id:20001 of https://codereview.chromium.org/2438133002/ )
Reason for revert:
forward --list issues + gtest perf test adb locations need to be updated.

Original issue's description:
> [Reland] Upgrade to new Android SDK.
>
> https://codereview.chromium.org/2350013004/ was reverted due to breakage on the perf waterfall. After https://codereview.chromium.org/2438563004/, this should hopefully be resolved.
>
> BUG=623989
>
> Committed: https://crrev.com/a8b2a521ccd425935ef26a70e0f65b57de50d788
> Cr-Commit-Position: refs/heads/master@{#426777}

TBR=xunjieli@chromium.org,stip@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=623989

Review-Url: https://chromiumcodereview.appspot.com/2438913004
Cr-Original-Commit-Position: refs/heads/master@{#426926}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 8397f04a7f49909e445d30ccb8d187fedc7959e2
2016-10-21 23:27:48 +00:00
stip 3bf6b77753 [Reland] Upgrade to new Android SDK.
https://codereview.chromium.org/2350013004/ was reverted due to breakage on the perf waterfall. After https://codereview.chromium.org/2438563004/, this should hopefully be resolved.

BUG=623989

Review-Url: https://chromiumcodereview.appspot.com/2438133002
Cr-Original-Commit-Position: refs/heads/master@{#426777}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: a8b2a521ccd425935ef26a70e0f65b57de50d788
2016-10-21 12:49:08 +00:00
sdefresne 8c434e8b5c Add variables to simplify code signing on iOS.
Add variables to configure the generated bundle identifier prefix (known
as "Organization Identifier" in Xcode) and to enable automatically managed
certs.

Those variables are currently unused in order to avoid breaking the iOS
downstream tree when they land. Once the Chrome on iOS private code has
been updated to override them, they will be connected to the build.

BUG=613543

Review-Url: https://chromiumcodereview.appspot.com/2431423002
Cr-Original-Commit-Position: refs/heads/master@{#426293}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: ff5bbc987d0d57f509a6d191285c9c4c8729ff58
2016-10-19 21:49:32 +00:00
sdefresne 62549bbc5a Fix compilation of uber-fat binaries.
Fix compilation of fat binaries supporting both device and simulator
by always defining the target to generate the embedded entitlement
file in the default toolchain.

Fix native_client_sdk/src/build_tools/build_sdk.py to not override
use_ios_simulator (as this should not be a configurable variable)
and make the variable non configurable.

Note that uber-fat builds cannot be used as-is and require some
processing to tweak the Info.plist file (CFBundleSupportedPlatforms
and DTPlatformName reference the target platform).

BUG=654827

Review-Url: https://chromiumcodereview.appspot.com/2437593005
Cr-Original-Commit-Position: refs/heads/master@{#426285}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 4f7dea0a1f25b46d0d3d5159142f7560dae409ab
2016-10-19 21:14:59 +00:00
sebmarchand eb8eb7a953 Remove the syzygy optimization code.
BUG=651078

Review-Url: https://codereview.chromium.org/2420943002
Cr-Original-Commit-Position: refs/heads/master@{#425775}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: dc24dfdf83e70db531ca2dcb1d9a304415951400
2016-10-17 21:04:02 +00:00
ochang 84384c5ff3 sanitizers: set is_lsan=true if use_libfuzzer and is_asan are set (linux)
R=dpranke@chromium.org,aizatsky@chromium.org

Review-Url: https://codereview.chromium.org/2428643002
Cr-Original-Commit-Position: refs/heads/master@{#425719}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 2e706c839ca64d5e7a4c8a5b27d9ca099a75c048
2016-10-17 17:55:09 +00:00
nednguyen 5e4af51b5f Revert of Upgrade to new Android SDK. (patchset #16 id:300001 of https://codereview.chromium.org/2350013004/ )
Reason for revert:
This may have changed the adb used by adb_logcat_monitor.py  & creates a conflict with the one used by telemetry.

BUG=656224

Original issue's description:
> Upgrade to new Android SDK.
>
> BUG=623989
>
> Committed: https://crrev.com/e3c21739bcc8d5df70d2dd011c3f575570085b6d
> Cr-Commit-Position: refs/heads/master@{#425423}

TBR=jbudorick@chromium.org,xunjieli@chromium.org,agrieve@chromium.org,stip@chromium.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=623989

Review-Url: https://codereview.chromium.org/2425563002
Cr-Original-Commit-Position: refs/heads/master@{#425604}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 3d5a0fb164db4c2c24e83fe859463aa4268918a4
2016-10-17 01:40:31 +00:00
stip ca9f8be29c Upgrade to new Android SDK.
BUG=623989

Review-Url: https://codereview.chromium.org/2350013004
Cr-Original-Commit-Position: refs/heads/master@{#425423}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: e3c21739bcc8d5df70d2dd011c3f575570085b6d
2016-10-14 19:24:34 +00:00
brettw ae3226ebc0 Move enable_app_list to a buildflag.
This flag is only used in Chrome so can be moved to the chrome feature flags.

The root build file reference is removed. This target will be discovered in the
cource of a build with app_list enabled anyway, and having the root file refer
to chrome's features is a layering violation.

This adds several missing dependencies on generated headers in the ChromeOS
build I noticed when testing this patch.

The chrome_grit_defines are now used for all grit targets under //chrome.

CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:closure_compilation

Review-Url: https://codereview.chromium.org/2406303003
Cr-Original-Commit-Position: refs/heads/master@{#425411}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: d1bc9dafdb5b3cca4e62a84bfbbe8be4145aa6fb
2016-10-14 19:08:23 +00:00
agrieve 4d670db18f Reland #2 of Move language pak files to assets
Reverted in:
https://codereview.chromium.org/2406093002/
and https://codereview.chromium.org/2404043002

Reason for reland:
Now auto-detects whether locale paks are compressed or stored
(for chrome, but not webview)

TBR=michaelbai
BUG=653771,644377, 529604

Review-Url: https://codereview.chromium.org/2404253003
Cr-Original-Commit-Position: refs/heads/master@{#425402}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 732f0d89ca9c435e2bddfcfcdb9b108fb9b7ac0d
2016-10-14 18:54:51 +00:00
pennymac ee1c1b5b08 [Windows MSVC CFG] Add support for CFG, and enable on chrome.exe & chrome_elf.dll.
CFG supported on x86 and x64 >= Windows 8.1 Update (KB3000850).

Initial support for Control Flow Guard.  "Enable" on chrome.exe to take
advantage of MS system32 dll CFG.  Also compile and link chrome_elf with CFG.

NOTE: As ASLR is disabled in debug builds, so too is CFG.

Using the dumpbin tool from the Visual Studio command prompt, run "dumpbin /headers /loadconfig" against chrome.exe or chrome_elf.dll.  1) "DLL characteristics" now includes "Control Flow Guard", and 2) if code was compiled with cfg there will be "load config" for "Guard CF" function table and flags.

BUG=584575
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.win:win10_chromium_x64_rel_ng

Review-Url: https://codereview.chromium.org/2412983006
Cr-Original-Commit-Position: refs/heads/master@{#425226}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: d46842301ebc1f41a92448026bf95e3194538213
2016-10-14 01:16:57 +00:00
erikchen 2a71e4cead Remove direct references to hermetic mac toolchain.
This ensures that the hermetic toolchain is only used if use_system_xcode is
false. This CL also causes two changes:
  * svn is assumed to be installed on the system. It is not pulled from the
  hermetic toolchain.
  * mac_sdk_build was used to populate the SDK version in the Info.plist. This
  was being populated with a different version than the SDK being used to build
  Chrome, which is incorrect.

BUG=651267

Review-Url: https://codereview.chromium.org/2412353003
Cr-Original-Commit-Position: refs/heads/master@{#425170}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 6218c34684254f1c090bf501f6c46b0a69b63ec5
2016-10-13 21:38:05 +00:00
agrieve 353a7fcfe5 Don't base android lint version off of android sdk version.
If downstream overrides sdk version, we don't want the lint version to
change.

BUG=623989

Review-Url: https://codereview.chromium.org/2418433003
Cr-Original-Commit-Position: refs/heads/master@{#424847}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 11837e363c671aa15024b9d1228057fc2bacd6eb
2016-10-12 21:06:03 +00:00
brettw 35915a4e77 Move enable_remoting build flag to remoting dir.
There is already a remoting_enable.gni file in the remoting directory. This
flag should be contained in there rather than in the global feature flags file.

Review-Url: https://codereview.chromium.org/2410973002
Cr-Original-Commit-Position: refs/heads/master@{#424824}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 2b112cd25fcc75ec6d764a789acebfa60022780d
2016-10-12 19:37:34 +00:00
thomasanderson 001d0478cd Build: disable CFI when LTO is disabled
Clang CFI relies on link-time optimization, so disable CFI when
allow_posix_link_time_opt = false.
http://clang.llvm.org/docs/ControlFlowIntegrity.html

This was leading to linker errors on an official build with LTO disabled,
such as:
error: obj/native_client/src/shared/gio/libgio.a: no archive symbol table

R=dpranke@chromium.org

Review-Url: https://codereview.chromium.org/2406673002
Cr-Original-Commit-Position: refs/heads/master@{#424816}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: b2472ea7c13e04309fc6bf21c5c537071705e859
2016-10-12 19:23:57 +00:00
thakis 9016abf4a9 android: Use gold in arm64 builds too.
Reduces hot-cache link time from 49s to 23s (gcc) and binary size from 72M to
67M (gcc)  -- faster links and a 5MB smaller binary.

(With clang, it's 36s to 19.5s and 75M to 69M.)

It also makes the chrome/android/arm64 config more similar to most other build
configs.

We used to not use this because of
https://sourceware.org/bugzilla/show_bug.cgi?id=18348 , but the gold binary
in NDK r12b (which we currently use) has the flags added in the patches on
that bug, so it should be fine now.

BUG=481855

Review-Url: https://codereview.chromium.org/2410233002
Cr-Original-Commit-Position: refs/heads/master@{#424747}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: a4baf802f3058b66976a2085278f13ab3bcd8092
2016-10-12 15:48:15 +00:00
thakis a67074f855 android: Make 64-bit chromes compile with clang.
Newer NDKs define snprintf() (and other functions) to a macro when using clang,
to implement a kind of _FORTIFY_SOURCE support.  This means it's impossible to
declare your own base::snprintf(), like base/strings/string_util.h does.  A
future NDK will have a better fortify story that doesn't depend on macros,
but for now build with -Dsnprintf=snprintf to tell the NDK that it shouldn't
define snprintf as a macro.  This will disable fortify for snprintf.

This matters for 64-bit only because we use NDK 21 for 64-bit builds but
we use NDK 16 for 32-bit builds.  NDK 16 never does any fortify stuff, so
while this CL does remove fortify checking for snprintf() (but not for any
other function), 64-bit binaries are still better-protected than 32-bit
binaries.  (And ideally this situation is just temporary.)

With this, x64 and mips64el build fine with clang. With this and
https://codereview.chromium.org/2404193003/, arm64 builds fine with
clang.  I verified that a clang-built arm64 Chromium starts up fine
on my Pixel XL and can navigate to a few websites.

BUG=539781

Review-Url: https://codereview.chromium.org/2409173004
Cr-Original-Commit-Position: refs/heads/master@{#424729}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 3ae9e5b283ea81dc1605f70970828064deacba2a
2016-10-12 13:40:36 +00:00
brettw c09c1b824f Move ENABLE_PEPPER_CDMS to a buildflag header.
Removes the global build flag and #define and converts to a buildflag header in
ppapi/features.

A new target "//third_party/widevine/cdm:headers" was added since
widevine_cdm_version.h was unreferenced in the build. Given that this file now
requires //ppapi/features we really need "gn check" to work on it. I made the
existing users of ":version_h" reference this new target which encompasses the
public headers of the widevine CDM.

TBR=jrummell@chromium.org (original reviewer)
TBR=jschuh@chromium.org (render_messages.h owners)
TBR=ddorwin@chromium.org (widevine owners)

Reland of http://crrev.com/2411433002 with official build fix.

Review-Url: https://codereview.chromium.org/2409423002
Cr-Original-Commit-Position: refs/heads/master@{#424687}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: c5fcdd0ce8d04569d054322ca21f37272d07005a
2016-10-12 07:27:10 +00:00
brettw dd411417d1 Move some global feature defines to buildflags
Moves
  enable_captive_portal_detection
  enable_hangout_services_extension
  enable_plugin_installation
out of the global features.gni files and moves them into chrome/common's
feature flags buildflag header. This increases encapsulation and reduces the
global #defines passed to all compiles.

CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:closure_compilation
TBR=jschuh (render_messages.h)

Review-Url: https://codereview.chromium.org/2405013002
Cr-Original-Commit-Position: refs/heads/master@{#424659}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: ab78fefbe385452fae85587b505bcc1bac60a17f
2016-10-12 02:58:34 +00:00
alph 87a16ead26 Revert of Move ENABLE_PEPPER_CDMS to a buildflag header. (patchset #5 id:80001 of https://codereview.chromium.org/2411433002/ )
Reason for revert:
Broke build https://build.chromium.org/p/chromium.chrome/builders/Google%20Chrome%20Mac/builds/14706

Original issue's description:
> Move ENABLE_PEPPER_CDMS to a buildflag header.
>
> Removes the global build flag and #define and converts to a buildflag header in
> ppapi/features.
>
> A new target "//third_party/widevine/cdm:headers" was added since
> widevine_cdm_version.h was unreferenced in the build. Given that this file now
> requires //ppapi/features we really need "gn check" to work on it. I made the
> existing users of ":version_h" reference this new target which encompasses the
> public headers of the widevine CDM.
>
> TBR=jschuh (render_messages.h)
>
> Committed: https://crrev.com/e23a62a0c4b56618da615698717ed53983854f8d
> Cr-Commit-Position: refs/heads/master@{#424477}

TBR=jrummell@chromium.org,ddorwin@chromium.org,jschuh@chromium.org,brettw@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Review-Url: https://codereview.chromium.org/2412493003
Cr-Original-Commit-Position: refs/heads/master@{#424507}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 2d7d8a5e77ba0ee8c4c0e03a2ac4b15977926ca6
2016-10-11 19:18:07 +00:00
brettw d8bdaab97c Move ENABLE_PEPPER_CDMS to a buildflag header.
Removes the global build flag and #define and converts to a buildflag header in
ppapi/features.

A new target "//third_party/widevine/cdm:headers" was added since
widevine_cdm_version.h was unreferenced in the build. Given that this file now
requires //ppapi/features we really need "gn check" to work on it. I made the
existing users of ":version_h" reference this new target which encompasses the
public headers of the widevine CDM.

TBR=jschuh (render_messages.h)

Review-Url: https://codereview.chromium.org/2411433002
Cr-Original-Commit-Position: refs/heads/master@{#424477}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: e23a62a0c4b56618da615698717ed53983854f8d
2016-10-11 17:45:59 +00:00
thakis 24d5137150 Android/clang: Always pass --gcc-toolchain, independent of use_gold.
clang uses the same compiler binary no matter what arch it's targeting,
so it needs to know where to find the (arch-dependent) linker.  It needs
to know this no matter if the linker is BFD ld or gold.
This is needed to make things link in chrome/android/arm64
builds with clang.

use_gold defaults to true on android for x86, x64, and arm, but not for arm64,
see build/config/compiler/compiler.gni. It also doesn't default to true
for mips, but mips had a special-case branch adding --gcc-toolchain
before this change.

(We should probably use gold in arm64 android builds by default too, but
that's for a different CL.)

BUG=539781

Review-Url: https://codereview.chromium.org/2404193003
Cr-Original-Commit-Position: refs/heads/master@{#424441}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 1a11042f1f1a1532bfba1f0cb8fcb9eac23edd06
2016-10-11 16:03:00 +00:00
sgurun 83eadacc04 Fix monochrome not booting issue
Revert these two CLs to have monochrome working again on ToT.

Revert "Move PathUtils to use ContextUtils."
 commit 7200e9f34aa2e9006d8ea5540035de744b13d27d.
Revert "Reland of Move language pak files to assets."
 commit 67101cd0338a409d80689b9c9c875c95ccde7957.

BUG=653771,644377, 529604

TBR==agrieve@chromium.org,tedchoc@chromium.org,slan@chromium.org,xunjieli@chromium.org,torne@chromium.org,nyquist@chromium.org,wnwen@chromium.org, michaelbai@chomium.org, estevenson@chromium.org

Review-Url: https://codereview.chromium.org/2406093002
Cr-Original-Commit-Position: refs/heads/master@{#424345}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 5cb262f964b4a158be02b5497462e2e8d170a59b
2016-10-11 02:38:25 +00:00
sgurun a612ef5c42 Revert of Store only locale paks rather than all assets within BuildConfig.java (patchset #2 id:20001 of https://codereview.chromium.org/2396073002/ )
Reason for revert:
Breaking monochrome (chrome not booting up)

BUG=652984, 653771

Original issue's description:
> Store only locale paks rather than all assets within BuildConfig.java
>
> This works around Monochrome having diffferent BuildConfig.java for
> 32/64 bit.
>
> BUG=652984
>
> Committed: https://crrev.com/4e09dacc10a8a359785c6f49d75653ce7cfd00ec
> Cr-Commit-Position: refs/heads/master@{#423587}

TBR=tedchoc@chromium.org,michaelbai@chromium.org,agrieve@chromium.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=652984

Review-Url: https://codereview.chromium.org/2404043002
Cr-Original-Commit-Position: refs/heads/master@{#424304}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 01fbbca601e78b594cebe62b8eb804ca7d6ff0aa
2016-10-11 00:35:24 +00:00
mmoroz 88a2285cdc Reland of [libfuzzer] Add more UBSan flags to is_ubsan_security configuration. (patchset #1 id:1 of https://codereview.chromium.org/2405473002/ )
"object-size" option that caused a lot of errors has been removed in this CL.

Reason for revert:
A couple of fuzzers cannot be built with this config: https://build.chromium.org/p/chromium.fyi/builders/Libfuzzer%20Upload%20Linux%20UBSan/builds/1418/steps/compile/logs/stdio

Original issue's description:
> [libfuzzer] Add more UBSan flags to is_ubsan_security configuration.
>
> R=aizatsky@chromium.org, inferno@chromium.org, ochang@chromium.org
> BUG=616438
>
> Committed: https://crrev.com/d1133be663df309a382a88fbf8bd1cd16878ef21
> Cr-Commit-Position: refs/heads/master@{#423990}

TBR=aizatsky@chromium.org,inferno@chromium.org,ochang@chromium.org,dpranke@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=616438
Committed: https://crrev.com/e03c404aecdb715803ebab9ed711fb2d3305a412
Cr-Commit-Position: refs/heads/master@{#424078}

Review-Url: https://codereview.chromium.org/2408903002
Cr-Original-Commit-Position: refs/heads/master@{#424240}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: a565e914721e3d0d8d08cd50da0366451c58b04f
2016-10-10 21:15:17 +00:00
erikchen bbaba8789b Clean up some GN/hermetic build changes.
No functional changes, just style.

BUG=

Review-Url: https://codereview.chromium.org/2401573005
Cr-Original-Commit-Position: refs/heads/master@{#424199}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 55e37ffdfc5d1aa4f47ae7e9bc0c8bc58ba23af5
2016-10-10 18:46:14 +00:00
mmoroz 17093d45bf Revert of [libfuzzer] Add more UBSan flags to is_ubsan_security configuration. (patchset #1 id:1 of https://codereview.chromium.org/2405473002/ )
Reason for revert:
A couple of fuzzers cannot be built with this config: https://build.chromium.org/p/chromium.fyi/builders/Libfuzzer%20Upload%20Linux%20UBSan/builds/1418/steps/compile/logs/stdio

Original issue's description:
> [libfuzzer] Add more UBSan flags to is_ubsan_security configuration.
>
> R=aizatsky@chromium.org, inferno@chromium.org, ochang@chromium.org
> BUG=616438
>
> Committed: https://crrev.com/d1133be663df309a382a88fbf8bd1cd16878ef21
> Cr-Commit-Position: refs/heads/master@{#423990}

TBR=aizatsky@chromium.org,inferno@chromium.org,ochang@chromium.org,dpranke@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=616438

Review-Url: https://codereview.chromium.org/2403673002
Cr-Original-Commit-Position: refs/heads/master@{#424078}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: e03c404aecdb715803ebab9ed711fb2d3305a412
2016-10-08 10:56:49 +00:00
thestig 472d19ef7d Make enable_service_discovery a chrome/ feature.
TBR=dbeam@chromium.org

Review-Url: https://codereview.chromium.org/2407483002
Cr-Original-Commit-Position: refs/heads/master@{#424019}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 4888f2982142523a4a0ddacfbf729f8d23a11e98
2016-10-08 00:00:29 +00:00
mmoroz 40bdbbd2ff [libfuzzer] Add more UBSan flags to is_ubsan_security configuration.
R=aizatsky@chromium.org, inferno@chromium.org, ochang@chromium.org
BUG=616438

Review-Url: https://codereview.chromium.org/2405473002
Cr-Original-Commit-Position: refs/heads/master@{#423990}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: d1133be663df309a382a88fbf8bd1cd16878ef21
2016-10-07 22:40:08 +00:00
mark 0a0c073c60 Macs don't use backslashes as path separators
Review-Url: https://codereview.chromium.org/2402033002
Cr-Original-Commit-Position: refs/heads/master@{#423938}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: e0088f675519c6e1c90ff0717f09fb267d8a0e5f
2016-10-07 19:46:44 +00:00
erikchen 2b99cbd1e4 Add a variable use_system_xcode to GN.
Start plumbing it through to actions that require binaries from the Xcode
toolchain.

BUG=651267
TBR=sdefresne@chromium.org

Review-Url: https://codereview.chromium.org/2388063003
Cr-Original-Commit-Position: refs/heads/master@{#423673}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: b58a723ab22333fe40575f6992c3cb8c7dde0b0a
2016-10-06 21:02:17 +00:00
agrieve e9608f21fe Store only locale paks rather than all assets within BuildConfig.java
This works around Monochrome having diffferent BuildConfig.java for
32/64 bit.

BUG=652984

Review-Url: https://codereview.chromium.org/2396073002
Cr-Original-Commit-Position: refs/heads/master@{#423587}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 4e09dacc10a8a359785c6f49d75653ce7cfd00ec
2016-10-06 18:07:29 +00:00
xunjieli 6db801c6b8 Add a ignore_elf32_limitations flag in build/config/compiler/compiler.gni
Add a ignore_elf32_limitations flag in
build/config/compiler/compiler.gni to turn off
assertion for Cronet builds.

This CL additionally adds is_clang to the
assertion per comment in 648948.

BUG=651887,648948

Review-Url: https://codereview.chromium.org/2395603003
Cr-Original-Commit-Position: refs/heads/master@{#423564}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 6d32a26068321e5976494501c51a33636a42c13f
2016-10-06 17:00:15 +00:00
ochang fcb37c7b54 Use -O1 in more optimize configs when optimize_for_fuzzing=true.
BUG=643249

Review-Url: https://codereview.chromium.org/2397873003
Cr-Original-Commit-Position: refs/heads/master@{#423383}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: edfefd55622340e0e3d73ca3b899647c820555af
2016-10-06 01:37:44 +00:00
mikecase e20989bc35 Remove bootclasspath variable from list of testrunner script inputs.
There is only 1 instance in which the bootclasspath variable is
currently used. In this case, adding bootclasspath as an input
sometimes causes an error where GN complains that there is no
path (via public_deps) to the target that generates the input file.

Since public_deps is not supported for java_prebuilt targets, I
think the simplest thing to do is just remove this file from
list of inputs.

BUG=635913

Review-Url: https://codereview.chromium.org/2388153006
Cr-Original-Commit-Position: refs/heads/master@{#423289}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 71fc2fa22d4d1da0cfdcd430f011b4bbf9afebff
2016-10-05 21:11:19 +00:00
ochang 9ce5c5420e Add an optimize_for_fuzzing GN flag to build most things with -O1
This is better for coverage guided fuzzing builds as less optimization
means more branches in the generated code.

BUG=643249

Review-Url: https://codereview.chromium.org/2389923003
Cr-Original-Commit-Position: refs/heads/master@{#423217}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: aaa26c162de624ebcf7a120e85fef3e19ec02151
2016-10-05 18:01:34 +00:00
sdefresne 0a1cde9524 Fix codesign.py script when ios_enable_code_signing is set to false.
When code signing is disabled, the embedded.mobileprovision file
should not be copied into the generated bundle, so move the copy
after the check of --disable-code-signature.

Remove the embedded.mobileprovision from the bundle if it exists
so that switching ios_enable_code_signing from true to false works.

BUG=None

Review-Url: https://codereview.chromium.org/2397433002
Cr-Original-Commit-Position: refs/heads/master@{#423111}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 98ca7be1e2734af19697a244879bac6a059db148
2016-10-05 08:23:53 +00:00
bshe 724d823eb4 Reland gvr upgrade
The original CL is here: https://codereview.chromium.org/2367673002/
It was reverted because of compile failure with gn flags:
is_debug=false
is_component_build=true
target_os="android"
The reason is gvr uses API that only available in Android N SDK. For
release build, proguard detected the dependancy and results a compile
error. N SDK is in the process of rolling to chromium
https://codereview.chromium.org/2350013004/
In this CL, I restricted WebVr to debug build only. This could unblock
us. And I will remove the is_debug restriction once N is in Chromium

BUG=389343
TBR=dtrainor@

Review-Url: https://codereview.chromium.org/2396663002
Cr-Original-Commit-Position: refs/heads/master@{#423005}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 511e7f727be80e20d41fc5fd07cf8b5244cafbf0
2016-10-04 23:49:26 +00:00