Many people's workflows assume that they can install the APK created in
out/Debug/apks. With the component build that APK is actually an
"incomplete" APK that cannot be manually installed (or rather causes
obscure errors when manually installed).
This change does two things. First, it moves the "incomplete" APK
output to out/Debug/<package_name>/<ApkName>.apk. This should prevent
accidental installs of the "incomplete" APK. Second, it introduces an
option (create_standalone_apk) that when doing a component build, if
set, will merge the shared libraries into the "incomplete" APK to
create a standalone APK. This standalone APK will be created in
out/Debug/apks/.
Review URL: https://chromiumcodereview.appspot.com/14843017
git-svn-id: http://src.chromium.org/svn/trunk/src/build@207345 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
Adds a drop-down menu to the right of the search entry area on the OSX
app launcher. The menu is shown when clicked, and the button responds to
hover effects.
The menu button uses a new class, HoverImageMenuButton, which is derived
from an NSPopUpButton with minor extensions. Notably, it does not have a
dependency on browser themes, as does MenuButton from
chrome/browser/ui/cocoa. It tracks the mouse hover state and updates
the cell, which extends NSPopUpButtonCell and shows only the image in
the control frame -- no border, bezel, label, or dropdown arrow.
HoverImageMenuButtonCell supports a hover image, which behaves much like
an additional 'alternateImage' from NSButtonCell but for the hover
state, rather than the 'pressed' (or 'lit') state.
The menu shows the currently signed-in user, in a custom view as the
first item. It also (currently) shows menu options for Settings, Help, and
Feedback.
BUG=138633
TEST=Added app_list_unittests AppsSearchBoxMenuTest and
AppsSearchBoxMenuTest and tested manually to ensure the items are
launched correctly. Added ui_unittests HoverImageMenuButtonTest.*
Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=206237
Review URL: https://chromiumcodereview.appspot.com/15955003
git-svn-id: http://src.chromium.org/svn/trunk/src/build@206930 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
Causes memory leaks in AppKit due to some obscure codepaths.
BUG=249630
> Menu for the OSX app launcher, HoverImageMenuButton in src/ui/base/cocoa/controls.
>
> Adds a drop-down menu to the right of the search entry area on the OSX
> app launcher. The menu is shown when clicked, and the button responds to
> hover effects.
>
> The menu button uses a new class, HoverImageMenuButton, which is derived
> from an NSPopUpButton with minor extensions. Notably, it does not have a
> dependency on browser themes, as does MenuButton from
> chrome/browser/ui/cocoa. It tracks the mouse hover state and updates
> the cell, which extends NSPopUpButtonCell and shows only the image in
> the control frame -- no border, bezel, label, or dropdown arrow.
>
> HoverImageMenuButtonCell supports a hover image, which behaves much like
> an additional 'alternateImage' from NSButtonCell but for the hover
> state, rather than the 'pressed' (or 'lit') state.
>
> The menu shows the currently signed-in user, in a custom view as the
> first item. It also (currently) shows menu options for Settings, Help, and
> Feedback.
>
> BUG=138633
> TEST=Added app_list_unittests AppsSearchBoxMenuTest and
> AppsSearchBoxMenuTest and tested manually to ensure the items are
> launched correctly. Added ui_unittests HoverImageMenuButtonTest.*
>
> Review URL: https://chromiumcodereview.appspot.com/15955003TBR=tapted@chromium.org
Review URL: https://codereview.chromium.org/17059002
git-svn-id: http://src.chromium.org/svn/trunk/src/build@206375 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
Adds a drop-down menu to the right of the search entry area on the OSX
app launcher. The menu is shown when clicked, and the button responds to
hover effects.
The menu button uses a new class, HoverImageMenuButton, which is derived
from an NSPopUpButton with minor extensions. Notably, it does not have a
dependency on browser themes, as does MenuButton from
chrome/browser/ui/cocoa. It tracks the mouse hover state and updates
the cell, which extends NSPopUpButtonCell and shows only the image in
the control frame -- no border, bezel, label, or dropdown arrow.
HoverImageMenuButtonCell supports a hover image, which behaves much like
an additional 'alternateImage' from NSButtonCell but for the hover
state, rather than the 'pressed' (or 'lit') state.
The menu shows the currently signed-in user, in a custom view as the
first item. It also (currently) shows menu options for Settings, Help, and
Feedback.
BUG=138633
TEST=Added app_list_unittests AppsSearchBoxMenuTest and
AppsSearchBoxMenuTest and tested manually to ensure the items are
launched correctly. Added ui_unittests HoverImageMenuButtonTest.*
Review URL: https://chromiumcodereview.appspot.com/15955003
git-svn-id: http://src.chromium.org/svn/trunk/src/build@206237 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
We don't have any jarjar rules yet, but add the empty file now in order
that the downstream build can enable jarjar. This way, when rules are
added later it will just work, instead of breaking the downstream build
temporarily.
Also, make sure that when a jarjar rule file is being used, it's
considered as an input to the JNI generator step, to make sure the JNI
header files get regenerated when the rules change.
BUG=
Review URL: https://chromiumcodereview.appspot.com/15888011
git-svn-id: http://src.chromium.org/svn/trunk/src/build@203141 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
Adds enable_pepper_cdms and ENABLE_PEPPER_CDMS to control building of this logic.
Previously, it was built for all platforms, but not all platforms use Pepper.
TEST=content_browsertests on platforms with and without Pepper CDM support
Review URL: https://chromiumcodereview.appspot.com/15028015
git-svn-id: http://src.chromium.org/svn/trunk/src/build@201738 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
This is part of the effort to bring TCMalloc to android.
The first goal is to get instrumentation to facilitate
integration with DMP and memory profiling.
This is not yet intended for full production usage as the
default allocator.
BUG=162208
Review URL: https://chromiumcodereview.appspot.com/14321006
git-svn-id: http://src.chromium.org/svn/trunk/src/build@201524 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
grit now supports passing "-t android" to set the target platform to
android, which sets is_android and is_posix, and does *not* set
is_linux (matching the OS_* macros). Use this instead of defining an
"android" macro.
This requires one actual condition change in app_locale_settings as
the Android port was previously depending on is_linux being true for
its definitions of IDS_WEB_FONT_*. The other grd changes are all
trivial substitutions.
BUG=239434
TBR=jamesr@chromium.org, joi@chromium.org, newt@chromium.org, sky@chromium.org
Review URL: https://codereview.chromium.org/14834011
git-svn-id: http://src.chromium.org/svn/trunk/src/build@201310 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
Matches the flags to the OS X clang settings for C++11 to minimize
confusion, but it would be straightforward to enable the string literal
warning on iOS at this point.
Removes a warning suppression that's duplicated by an Xcode setting just
above (again, matching OS X)
BUG=226494
Review URL: https://chromiumcodereview.appspot.com/13936005
git-svn-id: http://src.chromium.org/svn/trunk/src/build@201284 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
This works around the bug we've had where on some Windows machines, one of the invocations of check_internal.py mysteriously causes a file to open up in Visual Studio. We have no idea why, but this should avoid the problem. See details in bug.
BUG=241208
Review URL: https://chromiumcodereview.appspot.com/12330155
git-svn-id: http://src.chromium.org/svn/trunk/src/build@200514 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
First pass at split linker. Splits inputs based on json spec, uses .def files
to export symbols in the other half, relinks to generate an import lib, and
finally links again for the real link, using the generated def file and import
lib. And then, repeats those steps until success (not all unresolved externals
are reported by the linker on the first pass). It's necessary to use the
linker to report externals rather than cracking lib/objs because when doing
LTCG, the object files are in an undocumented compiler-internal format and the
exports can't be gathered (and probably aren't fully determined yet).
Currently this approach only handles chrome.dll, not other large targets that
are monolithic exes (rather than mostly in a DLL with an EXE loader).
Integrated with build system by a linker shim. Original link.exe is saved, and
replaced by split_link binary. If "/splitlink" is found on the command line,
then run our script that does the iterations/exporting magic. Otherwise,
fallback to the original linker.
When GYP_DEFINES includes chrome_split_dll=1, the split linker is invoked.
chrome.exe has not yet been modified to know how to load split binaries, so
the build flag will not yet be directly useful for those not working on this
problem.
Release, non-LTCG, non-split:
05/09/2013 04:57 PM 57,447,936 chrome.dll
Release, non-LTCG, split:
05/10/2013 12:47 PM 39,567,872 chrome0.dll
05/10/2013 12:48 PM 19,274,240 chrome1.dll
Release, partial-LTCG (same as current settings), split:
05/10/2013 03:56 PM 25,934,336 chrome0.dll
05/10/2013 04:13 PM 16,347,648 chrome1.dll
It should be possible to get higher optimization levels for chrome1.dll (or
perhaps both parts), but that can happen in subsequent changes after more
testing.
TBR=cpu@chromium.org, maruel@chromium.org
BUG=237249
Review URL: https://codereview.chromium.org/15067010
git-svn-id: http://src.chromium.org/svn/trunk/src/build@200049 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
Next step on re-factoring Notifications. This will bring the MessageCenter classes, most important message_center::Notification, into build on all systems, including those where the MessageCenter is not yet appearign in UI. This will allow to start using this Notification class in client code and remove the old Notification class defined in chrome/browser/notificaitons/notification.h
That will allow the clients that already use Rich Notifications to use richer data type support, for example supply an image bits for a Notification (as in Snapshot notifications).
This also removes a lot of compile-time @ifdefs and replaces them with checking a runtime flag which we already have anyways.
On Android and iOS, the MessageCenter is not compiled in, for the size concerns and uncertain story for notifications in general - the existing ENABLE_NOTIFICATIONS define is used for that.
BUG=174164
Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=199625
Review URL: https://chromiumcodereview.appspot.com/15025002
git-svn-id: http://src.chromium.org/svn/trunk/src/build@199920 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
Caused a static initializer on Linux:
# message_center_constants.cc __i686.get_pc_thunk.cx
(Not on Mac though. The SkGetColor() macro has a comment about it not adding
a static initializer on release builds, so maybe it's the float-int-multiplication?
I don't have a linux box around to check, sorry.)
> Remove ENABLE_MESSAGE_CENTER
>
> Next step on re-factoring Notifications. This will bring the MessageCenter classes, most important message_center::Notification, into build on all systems, including those where the MessageCenter is not yet appearign in UI. This will allow to start using this Notification class in client code and remove the old Notification class defined in chrome/browser/notificaitons/notification.h
>
> That will allow the clients that already use Rich Notifications to use richer data type support, for example supply an image bits for a Notification (as in Snapshot notifications).
>
> This also removes a lot of compile-time @ifdefs and replaces them with checking a runtime flag which we already have anyways.
>
> On Android and iOS, the MessageCenter is not compiled in, for the size concerns and uncertain story for notifications in general - the existing ENABLE_NOTIFICATIONS define is used for that.
>
> BUG=174164
>
> Review URL: https://chromiumcodereview.appspot.com/15025002TBR=dimich@chromium.org
Review URL: https://codereview.chromium.org/14631021
git-svn-id: http://src.chromium.org/svn/trunk/src/build@199639 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
Next step on re-factoring Notifications. This will bring the MessageCenter classes, most important message_center::Notification, into build on all systems, including those where the MessageCenter is not yet appearign in UI. This will allow to start using this Notification class in client code and remove the old Notification class defined in chrome/browser/notificaitons/notification.h
That will allow the clients that already use Rich Notifications to use richer data type support, for example supply an image bits for a Notification (as in Snapshot notifications).
This also removes a lot of compile-time @ifdefs and replaces them with checking a runtime flag which we already have anyways.
On Android and iOS, the MessageCenter is not compiled in, for the size concerns and uncertain story for notifications in general - the existing ENABLE_NOTIFICATIONS define is used for that.
BUG=174164
Review URL: https://chromiumcodereview.appspot.com/15025002
git-svn-id: http://src.chromium.org/svn/trunk/src/build@199625 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
After recent change in android_tools to update ndk, the scripts can reuse
android_host_arch variable for MIPS too. This is important, as the release
now contains 64-bit host toolchain set.
BUG=130022
TEST=build content_shell_apk
Review URL: https://chromiumcodereview.appspot.com/15085019
git-svn-id: http://src.chromium.org/svn/trunk/src/build@199492 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
In the days of olde, we supported compiling from inside a chromium checkout and
inside a WebKit checkout with some chromium libraries. In the latter configuration,
used mainly by the build.webkit.org bots, the paths to the WebKit headers relative
to chromium gyp files was different. This added a lot of complexity and some extra
scripts to fix up paths and includes. Blink only supports building within a chromium
checkout so all of this complexity can be removed.
Review URL: https://chromiumcodereview.appspot.com/14823005
git-svn-id: http://src.chromium.org/svn/trunk/src/build@199057 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
Small set of changes in gyp files to enable build for libchromeview for
MIPS-Android.
It also includes minor change in base/debug/stack_trace_android.cc to
redefine SIGSTKFLT for MIPS, since MIPS does not have SIGSTKFLT.
BUG=130022
TEST=build libchromeview
Review URL: https://chromiumcodereview.appspot.com/14241008
git-svn-id: http://src.chromium.org/svn/trunk/src/build@196938 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
gcc_version previously existed only under certain conditions; currently,
os_posix==1 and OS!="mac" and OS!="ios".
These same checks had to be repeated everywhere gcc_version was used, and
they often got out of sync (many places still do not check for OS!="ios",
for example).
We now always gcc_version. Its default value is 0, and it is then changed to
something meaningful under that condition mentioned above. This allows us to
remove the duplicated checks currently spread across the .gyp files in the
tree.
BUG=
Review URL: https://chromiumcodereview.appspot.com/13912027
git-svn-id: http://src.chromium.org/svn/trunk/src/build@196910 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
This patch deprecates armv7 and adds arm_version that takes an integer
value representing the ARM architecture level.
In addition arm_arch, arm_tune, arm_fpu, arm_float_abi and arm_thumb can
be set to fine tune CPU related compiler flags, defaults are provided for
ARM versions 5 to 7.
BUG=234135
Review URL: https://chromiumcodereview.appspot.com/14065005
git-svn-id: http://src.chromium.org/svn/trunk/src/build@196702 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
The combination of generated shim headers, the system ICU targets being
type "none", and ui being a static library caused some dependencies to
be missed out when use_system_icu==1. Make ui a hard dependency to work
around this.
BUG=
Review URL: https://chromiumcodereview.appspot.com/14472005
git-svn-id: http://src.chromium.org/svn/trunk/src/build@196700 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
In addition move C4355 to list of sanctioned compiler warning suppressions.
The warning was disabled globally for ~2 years, meaning the macro wasn't providing any value. Refer to bug and chromium-dev@ discussion for details.
BUG=234765
Review URL: https://chromiumcodereview.appspot.com/14472011
git-svn-id: http://src.chromium.org/svn/trunk/src/build@196671 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
Speculating this is the cause of these OS X release builder hangs:
http://build.chromium.org/p/chromium.mac/builders/Mac%20Builder/builds/11074/steps/compile/logs/stdiohttp://build.chromium.org/p/chromium.chrome/builders/Google%20Chrome%20Mac/builds/12424/steps/compile/logs/stdio
Relevant compile output:
=== BUILD AGGREGATE TARGET base_unittests_run OF PROJECT base WITH CONFIGURATION Release ===
Check dependencies
PhaseScriptExecution "Rule \"isolate\"" ../xcodebuild/base.build/Release/base_unittests_run.build/Script-5816EF986C49795B2FAB6114.sh
cd /Volumes/data/b/build/slave/cr-mac-rel/build/src/base
/bin/sh -c /Volumes/data/b/build/slave/cr-mac-rel/build/src/base/../xcodebuild/base.build/Release/base_unittests_run.build/Script-5816EF986C49795B2FAB6114.sh
python ../tools/swarm_client/isolate.py check --outdir "/Volumes/data/b/build/slave/cr-mac-rel/build/src/base/../xcodebuild/Release/ " --variable PRODUCT_DIR "/Volumes/data/b/build/slave/cr-mac-rel/build/src/base/../xcodebuild/Release " --variable "OS=mac" --result "/Volumes/data/b/build/slave/cr-mac-rel/build/src/base/../xcodebuild/Release/base_unittests.isolated" --isolate "base_unittests.isolate" --ignore_broken_items
command timed out: 1200 seconds without output, attempting to kill
process killed by signal 9
program finished with exit code -1
elapsedTime=4205.819860
> Reenable test_isolate_mode=check by default on OSX.
>
> This is not necessary to default to noop anymore. Defaulting to check was
> disabled on OSX because a problem during archival with symlink path case. This
> was fixed inside swarm_client.
>
> R=csharp@chromium.org
> BUG=98637
>
> Review URL: https://chromiumcodereview.appspot.com/14404011TBR=maruel@chromium.org
Review URL: https://codereview.chromium.org/13996018
git-svn-id: http://src.chromium.org/svn/trunk/src/build@195664 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
asan's clang is currently pinned to a very old revision and hence includes
a very old plugin. Since all other bots run the plugin, we don't really
lose coverage by disabling the plugin on asan bots for now.
BUG=170629
TBR=glider
Review URL: https://chromiumcodereview.appspot.com/14305005
git-svn-id: http://src.chromium.org/svn/trunk/src/build@195479 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
Broke chromeos clang builder: Complains about libstdc++ 4.4, but is probably not
yet on precise.
Broke linux clang tests: unit_tests, content_unittests, components_unittests
all crash at startup with:
symbol lookup error: /b/build/slave/Linux_Clang__dbg_/build/src/out/Debug/lib/libcontent.so: undefined symbol: _ZN7content6Zygote26kMagicSandboxIPCDescriptorE
> clang: Build in C++11 mode on linux & cros too.
>
> But: Not yet on Android, not yet with asan, not yet with gcc.
> Only with clang, and only for linux & cros (in addition to mac,
> which has had this for a while).
>
> BUG=233330,233464
>
> Review URL: https://codereview.chromium.org/11468005TBR=thakis@chromium.org
Review URL: https://codereview.chromium.org/14328034
git-svn-id: http://src.chromium.org/svn/trunk/src/build@195091 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
There are a lot of warnings when build chromium with gcc4.8, which are
in "typedef ‘foo’ locally defined but not used" pattern. Add
"-Wno-unused-local-typedefs" to suppress these warnings.
BUG=227506
TEST=build with gcc4.8 and check no above warnings appear.
Review URL: https://chromiumcodereview.appspot.com/13811009
git-svn-id: http://src.chromium.org/svn/trunk/src/build@194779 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
With the component build, we tell Dalvik to load each library separately by name. Some of our library names conflict with android shared libraries resulting our library not getting loaded. When building for components on Android, change the suffix of libraries to "cr.so" e.g. libnetcr.so to avoid colliding with Android's copies
BUG=158821
Review URL: https://chromiumcodereview.appspot.com/13549002
git-svn-id: http://src.chromium.org/svn/trunk/src/build@192258 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
For the component build, it is impractical/impossible to explicitly
list all library dependencies. This list is required (in dependency
order) for several of the apk-building steps.
For now, we will generate this list as follows:
Use readelf to find all transitive dependencies
Topologically sort those dependencies
Once we can expose this information from gyp
(http://crbug.com/2255588), it is straightforward to update this action
to use the gyp-exposed list of libraries.
BUG=158821
Review URL: https://chromiumcodereview.appspot.com/13261024
git-svn-id: http://src.chromium.org/svn/trunk/src/build@192103 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
Add a gyp variable "android_managed_install" which defaults to off/0.
When this variable is 1, building an apk target will install that
target.
This will allow us to do crazy things with the install like pushing
native libraries independent from the apk they belong to.
This currently just does an "adb install -r <(apk_path)". I.e. it only
works for (the typical) single device attached workflow. This could
be made configurable to handle other cases (or maybe just install to all
devices attached, or just to the first device).
BUG=158821
Review URL: https://chromiumcodereview.appspot.com/13269002
git-svn-id: http://src.chromium.org/svn/trunk/src/build@191840 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
This also re-enables thread checking for the host side resource and var trackers. Before, checking was disabled everywhere.
BUG=159240,92909
Committed: r186925
Reverted: r186939 due to build errors
Committed: r187340
Committed: r187427
Reverted: r187668 due to a failing check in Canary, which was fixed here: r187681
Committed: r189518
Reverted: r189682, due to regression in Kraken (see crbug.com/222741)
Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=191420
Reverted: r191441, due to new failing PDFResource unit test.
Review URL: https://chromiumcodereview.appspot.com/12378050
git-svn-id: http://src.chromium.org/svn/trunk/src/build@191510 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
> PPAPI: Remove threading options; it's always on
>
> This also re-enables thread checking for the host side resource and var trackers. Before, checking was disabled everywhere.
>
> BUG=159240,92909
>
>
> Committed: r186925
> Reverted: r186939 due to build errors
>
> Committed: r187340
>
> Committed: r187427
> Reverted: r187668 due to a failing check in Canary, which was fixed here: r187681
>
> Committed: r189518
> Reverted: r189682, due to regression in Kraken (see crbug.com/222741)
>
> Review URL: https://chromiumcodereview.appspot.com/12378050TBR=dmichael@chromium.org
Review URL: https://codereview.chromium.org/13328006
git-svn-id: http://src.chromium.org/svn/trunk/src/build@191441 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
This also re-enables thread checking for the host side resource and var trackers. Before, checking was disabled everywhere.
BUG=159240,92909
Committed: r186925
Reverted: r186939 due to build errors
Committed: r187340
Committed: r187427
Reverted: r187668 due to a failing check in Canary, which was fixed here: r187681
Committed: r189518
Reverted: r189682, due to regression in Kraken (see crbug.com/222741)
Review URL: https://chromiumcodereview.appspot.com/12378050
git-svn-id: http://src.chromium.org/svn/trunk/src/build@191420 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
This enables Android layouts and Java code to use strings from
generated_resources.grd directly. Strings tagged with
formatter_data="android_java" in generated_resources.grd are used to produce an
Android strings xml file.
BUG=176069
Review URL: https://chromiumcodereview.appspot.com/12529025
git-svn-id: http://src.chromium.org/svn/trunk/src/build@190573 4ff67af0-8c30-449e-8e8b-ad334ec8d88c