The binary_size tool suit includes tools that are useful when trying
to reduce binary size of a program, and chromium related programs
in particular.
This commit (mostly written by andrewhayden@chromium.org for
Android but ported to generic Linux by bratell@opera.com) adds
a graphical HTML based output for run_binary_size_analysis.py.
In the generated web page it is possible to dynamically and
graphically browse the binary and each part of the source tree
is given a size that reflects its contribution to the binary size.
The run_binary_size_analysis tool is run on compiled binaries
with symbols and uses nm and addr2line to map parts of the
binary to source code. Since addr2line is slow the operation to map
binary symbols to source files takes a while but the output is
well worth it when shrinking programs. See its usage information
for details about how to run it.
This commit also includes the tool explain_binary_size_delta.py
(textual output) which can be used to understand why a binary
changed size and in what way. See its usage information for
details about how to run it.
There are many further improvements possible to to do on these tools.
Search the bug database for Label:Tools-BinarySize for suggestions.
BUG=339059
R=primiano@chromium.org,andrewhayden@chromium.org
Review URL: https://codereview.chromium.org/258633003
git-svn-id: http://src.chromium.org/svn/trunk/src/build@272255 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
This patch modifies the Java holder for url load parameters already used
in WebView so that it can be used in Chrome for Android as well:
- adds a getter for post data
- makes the url mutable like the other fields (to allow for
sanitizations while passing the struct down the stack - maybe that's
not ideal but that's what we do)
- adds a field for verbatim extra headers string
BUG=346290
R=tedchoc@chromium.org
Review URL: https://codereview.chromium.org/183563002
git-svn-id: http://src.chromium.org/svn/trunk/src/build@254134 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
ContentViewGestureHandler conditionally forwards MotionEvent's to the Android
gesture detection pipeline, depending on the current touch stream handling
disposition. However, this approach is fragile, as the detection pipeline
expects a consistent touch stream for each sequence. Instead, forward all
MotionEvent's immediately for gesture detection, conditionally dispatching the
generated gestures depending on the touch stream ack dispositions.
BUG=295075,334040,327444,240550,234516
NOTRY=true
Review URL: https://codereview.chromium.org/120513005
git-svn-id: http://src.chromium.org/svn/trunk/src/build@248066 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
On API level 17 and up, X509TrustManager can export the verified chain. Use it
to populate some of the fields in CertVerifyResult. Also correctly populate
is_issued_by_known_root and enable intranet host checking.
Add a test to make sure non-standard roots get flagged as such. If the APIs
are not available, is_issued_by_known_root is always false.
BUG=116838,147945
TEST=CertVerifyProcTest.PublicKeyHashes
CertVerifyProcTest.VerifyReturnChainBasic
CertVerifyProcTest.VerifyReturnChainFiltersUnrelatedCerts
CertVerifyProcTest.VerifyReturnChainProperlyOrdered
CertVerifyProcTest.IntranetHostsRejected
CertVerifyProcTest.IsIssuedByKnownRootIgnoresTestRoots
CertVerifyProcTest.ExtraneousMD5RootCert
CertVerifyProcTest.NameConstraintsFailure
Review URL: https://codereview.chromium.org/108653013
git-svn-id: http://src.chromium.org/svn/trunk/src/build@245649 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
Original CL: https://codereview.chromium.org/110173003/.
Refactor audio manager for Android to avoid heavy tasks at startup.
Main goal of this CL is to avoid all demanding tasks (e.g. initiate audio routing, detect BT devices etc.) at Chrome startup.
All we do now is to populate the list of available devices. BT support has been removed but will be added in an upcoming CL.
NOTRY=True
TBR=bulach, tommi
BUG=324464
TEST=media_unittests --gtest-filter=AudioAndroid*
Review URL: https://codereview.chromium.org/117073002
git-svn-id: http://src.chromium.org/svn/trunk/src/build@241247 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
Main goal of this CL is to avoid all demanding tasks (e.g. initiate audio routing, detect BT devices etc.) at Chrome startup.
All we do now is to populate the list of available devices. BT support has been removed but will be added in an upcoming CL. Detection will not require BLUETOOTH permission.
BUG=324464
TEST=media_unittests --gtest-filter=AudioAndroid*
R=bulach@chromium.org, tommi@chromium.org
Review URL: https://codereview.chromium.org/110173003
git-svn-id: http://src.chromium.org/svn/trunk/src/build@240883 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
This CL modifies the build to incorporate the expected C++ library version
in the Java code. This is then checked when the library is loaded, to
make sure that the C++ and Java builds match.
This CL also implements error handling when library loads fail or the
loaded version doesn't match the expected version.
BUG=311644
Review URL: https://codereview.chromium.org/59533009
git-svn-id: http://src.chromium.org/svn/trunk/src/build@237779 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
Eliminate the short period of time between the tap timeout and long
press causing onSingleTapConfirmed not to be dispatched when apps
expect.
Note: This is a cherry-pick of the upstream Android fix for b/8124095.
BUG=315124
NOTRY=true
Review URL: https://codereview.chromium.org/59173006
git-svn-id: http://src.chromium.org/svn/trunk/src/build@233192 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
- Rename ContentVideoViewContextDelegate to ContentVideoViewClient, instead of having the getContext() method, passing the context to ContentVideoView when it is created.
- Add getContentVideoViewClient method in ContentViewClient, so it will be created when it actually used.
BUG=http://b/8315237
Review URL: https://chromiumcodereview.appspot.com/13669003
git-svn-id: http://src.chromium.org/svn/trunk/src/build@204353 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
Historically, WebSettings management is used to be in the ContentSettings class,
while only WebView actually needs it. Chrome for Android is only interested in
the value of the "JavaScript enabled" setting.
This change leaves zoom-related settings intact, as moving them will require
decoupling of the ZoomManager class from the ContentView* family of classes,
which deserves a separate change.
BUG=b/8296421
Review URL: https://chromiumcodereview.appspot.com/14271024
git-svn-id: http://src.chromium.org/svn/trunk/src/build@196399 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
The SystemMonitor is a mixed monitor which not only monitors
the power state changes but also the devices changes. This
patch is to separate the power monitor from SystemMonitor
as a new class PowerMonitor which is dedicated to monitor
power state.
The next step is to seek a opportunity to refactor SystemMonitor
as something like DeviceMonitor.
BUG=149059
TEST=base_unittests --gtest_filter=PowerMonitorTest.*
Review URL: https://chromiumcodereview.appspot.com/10959020
git-svn-id: http://src.chromium.org/svn/trunk/src/build@192114 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
old design was causing many spurious messages to be sent to the UI thread.
- CleanupReference now triggers when GC sees the object has become weakly rather than
phantom reachable, as this can occur earlier but if sufficient for knowing we must
perform native cleanup.
- added some basic GC cleanup tests in CleanupReferenceTest.
Review URL: https://chromiumcodereview.appspot.com/12658010
git-svn-id: http://src.chromium.org/svn/trunk/src/build@190110 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
This creates a Java-layer ProfileSyncService that is the only class that
should be used from downstream Chrome for Android. The native
counterparts should not be used.
In the process, a hashing utility and also, some identity code and their
respective tests had to be upstreamed. No functional changes have been
made to them.
BUG=159203
TBR=sky@chromium.org
Review URL: https://codereview.chromium.org/12313075
git-svn-id: http://src.chromium.org/svn/trunk/src/build@186798 4ff67af0-8c30-449e-8e8b-ad334ec8d88c