summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-02-25[WebView] Move getVariationsHeader to staticsClark DuVall
This makes more sense since it doesn't depend on the WebView instance. Bug: 977027 Change-Id: I113f338797c2d28d6500fa19ad885be31eb07b7b Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3491323 Reviewed-by: Nate Fischer <ntfschr@chromium.org> Commit-Queue: Clark DuVall <cduvall@chromium.org> Cr-Commit-Position: refs/heads/main@{#975346} NOKEYCHECK=True GitOrigin-RevId: 6f1a4ac82e64fb9643d5b7a07ea0629221a582a9
2022-02-24Add WebView API to retrieve variations headerClark DuVall
This adds an API to retrieve the variations header from WebView. This can be used by WebView apps to send variations headers if they want to. Bug: 977027 Change-Id: I892d7180a6c1163345e8705ea7bd862218cae1af Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3482666 Reviewed-by: Nate Fischer <ntfschr@chromium.org> Commit-Queue: Clark DuVall <cduvall@chromium.org> Cr-Commit-Position: refs/heads/main@{#974886} NOKEYCHECK=True GitOrigin-RevId: beed0ae31cd51a3069175083dc55813428374134
2022-02-24[JJI] Cleanup ScriptReferenceBoundaryInterfaceShimi Zhang
There are actually other breaking changes in the boundary interfaces directory from https://chromium-review.googlesource.com/c/chromium/src/+/3368924, will address them separately before I roll the boundary interface to AndroidX. Bug: 918065 Test: 1. Compile and install WebView or use a default WebView. Test: 2. Copy the change from Chromium to AndroidX Test: 3. run ./gradlew :webkit:webkit:connectedAndroidTest Test: 4. expecting no failures for both new/old version of WebView. Change-Id: I0c56e7b45fe73aac68c70d952260388355c93280 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3485436 Reviewed-by: Nate Fischer <ntfschr@chromium.org> Commit-Queue: Shimi Zhang <ctzsm@chromium.org> Cr-Commit-Position: refs/heads/main@{#974884} NOKEYCHECK=True GitOrigin-RevId: 7d03027d415dd3c4248d4a3a140923f75531f560
2022-02-18Expose XRequestedWith api in glue code for AndroidXPeter Birk Pakkenberg
This commit does not expose the CONSTANT_WEBVIEW enum value, as it is intended as a fallback for rollout testing, and is not at this point intended for developer usage. Bug: 1295213 Change-Id: Ia6af00ead6eb5f97e90e9eae61954002f6f4754a Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3468347 Auto-Submit: Peter Pakkenberg <pbirk@chromium.org> Reviewed-by: Peter Beverloo <peter@chromium.org> Commit-Queue: Peter Pakkenberg <pbirk@chromium.org> Cr-Commit-Position: refs/heads/main@{#972998} NOKEYCHECK=True GitOrigin-RevId: e25438c20b4669530580c3e0c311e60e9d5e506c
2022-01-13android_webview: add no-op boundary interfaces.Adam Langley
This change adds WebView boundary interfaces for supporting WebAuthn in WebViews. They are currently no-ops, but the full change is huge so I'm trying to split it up. BUG=1284805 Change-Id: I8ce75d7077e9db7d15c071e27cf9529a4b94d2a8 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3368924 Reviewed-by: Richard Coles <torne@chromium.org> Auto-Submit: Adam Langley <agl@chromium.org> Reviewed-by: Peter Beverloo <peter@chromium.org> Commit-Queue: Peter Beverloo <peter@chromium.org> Cr-Commit-Position: refs/heads/main@{#958718} NOKEYCHECK=True GitOrigin-RevId: aa5dd97385dcf06a2d517a48207f11c29f03e863
2021-03-17[JJI] Rename ScriptReference to ScriptHandlerShimi Zhang
Per discussion from http://aosp/1635279, we rename the class name to ScriptHandler. We also drop the DOCUMENT_START_SCRIPT feature string's ":1" suffix in this change. Bug: 2761958 Test: the current tests should pass. Change-Id: Ibeb413abc44e161132823fe99c1f462f45239414 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2765934 Reviewed-by: Nate Fischer <ntfschr@chromium.org> Commit-Queue: Shimi Zhang <ctzsm@chromium.org> Cr-Commit-Position: refs/heads/master@{#863942} GitOrigin-RevId: 0794d233678d9a01c19b6446f7d26760e2290a11
2021-02-12[Build] Switch androidx dependencies to use //third_party/androidxPeter Kotwicz
This CL switches depenendencies on the //third_party/android_deps:androidx alias to refer to //third_party/androidx instead. This CL was generated via: find . -name *.gn -exec sed -i 's/android_deps:androidx/androidx:androidx/g' {} + BUG=1064277 Change-Id: I3238cd487298ef733939ade5edf5898dd374c5ec Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2693055 Reviewed-by: Andrew Grieve <agrieve@chromium.org> Commit-Queue: Peter Kotwicz <pkotwicz@chromium.org> Cr-Commit-Position: refs/heads/master@{#853751} GitOrigin-RevId: 0409372615dde3d990738a730b6f784d695bf678
2021-01-11[aw] Add reverse_bypass option for proxy overrideLaís Minchillo
Add a setProxyOverride method that takes in a boolean for reverse_bypass. This will be exposed via androidx.webkit APIs. Add a new test in proxy_config_service_android_unittest and in AwProxyControllerTest to test the newly added reverse_bypass option. Bug: 1162255 Test: run_net_unittests -f *ProxyConfigServiceAndroidTest* Test: run_webview_instrumentation_test_apk -f *AwProxyControllerTest* Change-Id: Icc82656809b9237d6a8defb125b57727d59777ba Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2544645 Auto-Submit: Laís Minchillo <laisminchillo@chromium.org> Commit-Queue: Nate Fischer <ntfschr@chromium.org> Reviewed-by: Nate Fischer <ntfschr@chromium.org> Reviewed-by: Matt Menke <mmenke@chromium.org> Cr-Commit-Position: refs/heads/master@{#842086} GitOrigin-RevId: be96ccdfef15c94651102992fd304ea9712918bf
2020-08-17Android: Use per-target lint-suppressions.xmlPeter Wen
Previously all lint targets shared one lint suppressions/config file: //build/android/lint/suppressions.xml This resulted in many unnecessary suppressions being added which then suppress the lint checks for every lint target. e.g. if monochrome fails ObsoleteSdkInt checks, suppressing it globally turns off the checks for all other apks, which decreases the utility of android lint for all those other apks. This CL removes the shared suppressions.xml file and splits its content between the targets that actually need them, and adds lint-baseline.xml files where necessary. This also removes the bottleneck of requiring a //build/android/OWNERS to stamp every lint suppression change. This CL also adds suppressions for targets depending on code that chrome already lints via monochrome. E.g. errors in //base are shared by all embedders' lint targets, and it should not become the burden of targets like cast shell or cronet to fix. Thus these errors are suppressed in cronet/cast/remoting-specific suppressions.xml files. This CL changes lint to run in the output directory so that baseline suppressions work for generated files (e.g. AndroidManifest.xml). Bug: 1113795,1115594 Fixes: 1115594 Change-Id: I2d70128707c0fa862c109b6f91631a07916c90d6 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2346857 Commit-Queue: Peter Wen <wnwen@chromium.org> Reviewed-by: Yuchen Liu <yucliu@chromium.org> Reviewed-by: Paul Jensen <pauljensen@chromium.org> Reviewed-by: Andrew Grieve <agrieve@chromium.org> Reviewed-by: Bo <boliu@chromium.org> Reviewed-by: Lambros Lambrou <lambroslambrou@chromium.org> Auto-Submit: Peter Wen <wnwen@chromium.org> Cr-Commit-Position: refs/heads/master@{#798776} GitOrigin-RevId: f74622e693e698c40edd15ca0bc7b75b080f5509
2020-07-29Code inclusion: add setSafeBrowsingAllowlist boundary interfaceandroidx-print-releaseNate Fischer
This adds setSafeBrowsingAllowlist (behind the DEV_SUFFIX) and deprecates the setSafeBrowsingWhitelist boundary interface. These are functionally similar, although setSafeBrowsingAllowlist accepts a Set<String> since this is a more appropriate data type. This adds an UMA counter for the new API and adds missing enum labels for other APIs. This CL also renames a couple references to the old API to be SET_SAFE_BROWSING_ALLOWLIST_DEPRECATED_NAME instead, to minimize non-inclusive terminology. Fixed: 1108667 Test: N/A Change-Id: I49ef11e4346e631e14b822943abb6482837d60a4 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2321523 Auto-Submit: Nate Fischer <ntfschr@chromium.org> Commit-Queue: Laís Minchillo <laisminchillo@chromium.org> Reviewed-by: Laís Minchillo <laisminchillo@chromium.org> Cr-Commit-Position: refs/heads/master@{#792830} GitOrigin-RevId: 58274f4e7182ab76f09f247a55846fc2bf5f8b3f
2020-07-29Android: Use a unified lint targetPeter Wen
Lint is no longer implicitly run as part of an apk or bundle target. If a specific apk or bundle wants to turn on its own lint and have that run automatically on every build, the enable_lint flag can be used. See: "boundary_interface_example_apk". A new target //chrome/android:android_lint (or simply "android_lint") has been added. This currently runs either monochrome_public_bundle's lint task or a list of default targets if such a list is defined. For chrome apk/bundle targets based on chrome_public_apk_tmpl.gni, they will automatically get a data_dep added on the new unified lint target so most devs' workflow will not need to change. APKs in for {remoting,cronet,cast} have enable_lint added explicitly in this CL to preserve their existing behaviour. NewApi and VisibleForTests checks have been disabled for test apks, with a TODO for turning at least NewApi back on. Bug: 1108791 Fixed: 1108791 Change-Id: I6534fcd6dc7af1d7a12720a98f8d0d09bee8f161 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2318549 Commit-Queue: Peter Wen <wnwen@chromium.org> Reviewed-by: Paul Jensen <pauljensen@chromium.org> Reviewed-by: Lambros Lambrou <lambroslambrou@chromium.org> Reviewed-by: Andrew Grieve <agrieve@chromium.org> Auto-Submit: Peter Wen <wnwen@chromium.org> Cr-Commit-Position: refs/heads/master@{#792728} GitOrigin-RevId: f40e2d02801df0a75a88a63e76ede485739e2d22
2020-07-22[WebView] Remove no longer needed boundary interfaceShimi Zhang
As the AndroidX change is made, we don't need to keep this API interface anymore. Bug: 918065, b/161126366 Change-Id: Ie5f3d5007c604a2a343be7df45f8e8dfa8b1c236 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2311064 Auto-Submit: Shimi Zhang <ctzsm@chromium.org> Commit-Queue: Changwan Ryu <changwan@chromium.org> Reviewed-by: Changwan Ryu <changwan@chromium.org> Cr-Commit-Position: refs/heads/master@{#790877} GitOrigin-RevId: b915228be06a91db61457fe0b1a86b811761a000
2020-06-30remove copybara initialization artifactsShimi Zhang
GitOrigin-RevId: cfdcb6f24a423de1d179d2432fcd0144b4d39df7
2020-06-30Copybara Service Migration Initialization.Shimi Zhang
GitOrigin-RevId: cfdcb6f24a423de1d179d2432fcd0144b4d39df7
2020-06-11[WebView] Rename to DocumentStartJavaScriptShimi Zhang
Per Java style guide https://google.github.io/styleguide/javaguide.html#s5.3-camel-case, Javascript is better to be JavaScript. We will need to do a 3-way patching for the AndroidX boundary interface, so adding the addDocumentStartJavaScript() first in this CL, we need to remove the original addDocumentStartJavascript() after aosp/1329732 landed. We also upgrade the feature version to avoiding old AndroidX calling newer WebView or vice versa. Bug: 918065 Test: Covered by existing tests Change-Id: I1f5eee713d521ac5f480eee670f5f5be674de553 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2240283 Reviewed-by: Richard Coles <torne@chromium.org> Reviewed-by: Changwan Ryu <changwan@chromium.org> Reviewed-by: Robert Sesek <rsesek@chromium.org> Reviewed-by: Scott Violet <sky@chromium.org> Commit-Queue: Shimi Zhang <ctzsm@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#777493} Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src Cr-Mirrored-Commit: cfdcb6f24a423de1d179d2432fcd0144b4d39df7
2020-05-13Android: Add webview boundaries apk for lintPeter Wen
Lint no longer runs per-library so we need an apk to ensure these interface boundaries remain at minSdkVersion 14. Switch @TargetApi to @RequiresApi for lint. Add this apk to android_compile_dbg so that it is verified by the CQ. Bug: 1017190,1082319 Fixes: 1082319 Change-Id: I94064c781bd39b046fbfe9a1f03eb38292eeb24d Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2199579 Commit-Queue: Peter Wen <wnwen@chromium.org> Reviewed-by: Nate Fischer <ntfschr@chromium.org> Reviewed-by: Ben Pastene <bpastene@chromium.org> Reviewed-by: Richard Coles <torne@chromium.org> Auto-Submit: Peter Wen <wnwen@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#768455} Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src Cr-Mirrored-Commit: 41c7be9fc741bd26f8eeb2cea57d1069d26283d4
2020-05-04[JJI] Implement addDocumentStartJavascript glue layerandroidx-sqlite-inspection-releaseShimi Zhang
See the corresponding AndroidX change aosp/1301233 Bug: 918065 Change-Id: I70ea9e24b39fab89c4d6cf08dcfae3cc69ec14e0 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2178863 Reviewed-by: Richard Coles <torne@chromium.org> Reviewed-by: Changwan Ryu <changwan@chromium.org> Commit-Queue: Shimi Zhang <ctzsm@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#765158} Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src Cr-Mirrored-Commit: d39950bc4b8ab3755d15662158ea81a3ad0af578
2020-01-14Reformat all gn files in ↵androidx-swiperefreshlayout-releaseandroidx-emoji-releaseandroidx-customview-releaseNico Weber
/android_webview/support_library/boundary_interfaces/BUILD.gn. `gn format` recently changed its formatting behavior for deps, source, and a few other elements when they are assigned (with =) single-element lists to be consistent with the formatting of updates (with +=) with single-element. Now that we've rolled in a GN binary with the change, reformat all files so that people don't get presubmit warnings due to this. This CL was uploaded by git cl split. R=ntfschr@chromium.org Bug: 1041419 Change-Id: I3bb00579834d9c286c4030828fce5ff3a28d4987 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1998154 Auto-Submit: Nico Weber <thakis@chromium.org> Reviewed-by: Nate Fischer <ntfschr@chromium.org> Commit-Queue: Nico Weber <thakis@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#731402} Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src Cr-Mirrored-Commit: bd3168a554393abb85df37128f469eae9101f031
2020-01-10AW: Remove build.gradle file from boundry_interfacesHazem Ashmawy
This gradle file was introduced for an effort to compile boundry_interfaces independently from androidx.webkit source code in AndroidX repo. However, we are not proceeding with this approach so this file isn't needed anymore. Bug: b/140178227 Change-Id: Ie579cd7fac0498b27b6653ad56647756fea17476 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1994281 Commit-Queue: Hazem Ashmawy <hazems@chromium.org> Auto-Submit: Hazem Ashmawy <hazems@chromium.org> Reviewed-by: Nate Fischer <ntfschr@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#730030} Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src Cr-Mirrored-Commit: d0e2a075102b5c4d7abc512ceacedfdcad9f069f
2019-12-20Replace java_files with sources in //android_webviewNatalie Chouinard
Replace usages of java_files with sources in above directory's gn files, and automatically format. Bug: 1035074 Change-Id: I71ba271c9752c3b3224a84dcb846868de66079b0 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1977302 Reviewed-by: Nate Fischer <ntfschr@chromium.org> Reviewed-by: Bo <boliu@chromium.org> Commit-Queue: Natalie Chouinard <chouinard@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#726655} Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src Cr-Mirrored-Commit: cec9203f4dfc683757d49094cca8a149caa90d5f
2019-10-29[WV Support Library] Add a crash key that indicates androidx.webkit version.androidx-recyclerview-recyclerview-selection-releaseAnna Malova
Android side: https://android-review.googlesource.com/c/platform/frameworks/support/+/1138298 Bug: 1012753 Change-Id: I6cc6e045fad9044f72cda7f751390abb39fea94a Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1848701 Reviewed-by: Tobias Sargeant <tobiasjs@chromium.org> Commit-Queue: Anna Malova <amalova@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#710340} Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src Cr-Mirrored-Commit: 8dc40d0b6cc6babc35bd0a75d9f7ac2253f599bb
2019-10-15AW: gradle file to build boundary interfaces as a jar in AndroidXHazem Ashmawy
Build boundary interfaces as a jar using java-library plugin instead of "com.android.library" plugin. This makes it simpler and easier to embed the compiled jar in webkit AAR file without any dirty workarounds like unzipping the AAR or accessing intermediates build files. Removing AndroidManifest.xml file since it's no longer needed by android library plugin. Bug: https://issuetracker.google.com/issues/142394338 Bug: https://issuetracker.google.com/issues/140178227 Test: manually cherry-pick change to //external and run gradlew :webkit:assembleRelease and gradlew :webview-support-interfaces:assembleRelease Change-Id: I1df2f04bb737c1f376d7d1a70c6c5d0664e2f39c Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1859990 Reviewed-by: Aurimas Liutikas <aurimas@chromium.org> Reviewed-by: Nate Fischer <ntfschr@chromium.org> Commit-Queue: Hazem Ashmawy <hazems@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#706177} Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src Cr-Mirrored-Commit: e52d53222dc0ad97b333470a88e6dc9d641d6ffb
2019-10-10AW: Add AndroidXPlugin in support boundary interfaces gradle fileHazem Ashmawy
Applying AndroidXPlugin to fix issues with signing project builds when it's mirrored to AndroidX repo. Bug: https://issuetracker.google.com/issues/142394338 Test: manually cherry-pick change to //external and run gradlew :webkit:assembleRelease and gradlew :webview-support-interfaces:assembleRelease Change-Id: I4156549137c43128087b94307d14284d5b08414e Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1853265 Auto-Submit: Hazem Ashmawy <hazems@chromium.org> Commit-Queue: Nate Fischer <ntfschr@chromium.org> Reviewed-by: Aurimas Liutikas <aurimas@chromium.org> Reviewed-by: Nate Fischer <ntfschr@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#704758} Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src Cr-Mirrored-Commit: 96b1763c14c5ffcb0700a203123218b9aa28e1ee
2019-09-30AndroidX Webkit: fix javadoc in boundary interfaceNate Fischer
InvocationHandlerWithDelegateGetter is a private class, so we cannot @link to it in javadoc. This is blocking rolling boundary interfaces. Bug: b/141876194 Test: None Change-Id: Icab90fa08fb80382f096c0cae7373311a4d9abe1 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1832155 Reviewed-by: Shimi Zhang <ctzsm@chromium.org> Commit-Queue: Nate Fischer <ntfschr@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#701333} Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src Cr-Mirrored-Commit: 40090bf5321af76b877fe41cc5b944dd09bd325e
2019-09-30git ignore .gradle/ and .settings/Dan Harrington
These directories were created automatically, and should be ignored Change-Id: I34bfc68c9f002523f52295b2d358cf3cbe66574a Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1830109 Reviewed-by: Richard Coles <torne@chromium.org> Reviewed-by: Nate Fischer <ntfschr@chromium.org> Commit-Queue: Dan H <harringtond@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#701323} Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src Cr-Mirrored-Commit: 21930c265cf985832f69d691b904db18d868e1fd
2019-09-30AndroidX Webkit: handle null consistently over boundaryNate Fischer
This permits createInvocationHandlerFor(null) to return null, and follows through with the related methods (supporting or not supporting nullable values as appropriate). The main advantage is this causes nullability mistakes to have clearer error messages. Instead of triggering an NPE inside BoundaryInterfaceReflectionUtil internals, we treat null InvocationHandlers as representing null instances, and calling methods on those instances will trigger NPE much more clearly. This should not change behavior, it should only make it clearer under conditions where we would have already hit NPE. This should be backwards and forwards compatible: * Old WebViews do not pass null InvocationHandlers, so new versions of the AndroidX library will treat these InvocationHandlers the same (nonnull). * If old WebViews receive a null InvocationHandler, they will NPE (but would have NPE'd anyway). * Same vice-versa for new WebViews and old versions of the AndroidX library. Bug: 1009056, 998001 Test: Manually cherry-pick this into AndroidX, verify it compiles with http://aosp/1129297 Test: Manually cherry-pick this into AndroidX, ./gradlew :webkit:connectedAndroidTest (against M76 and tip-of-tree) Change-Id: I3246d0b4a30ef752977d2e8dd4f51889006b7536 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1829770 Reviewed-by: Laís Minchillo <laisminchillo@chromium.org> Commit-Queue: Nate Fischer <ntfschr@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#701162} Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src Cr-Mirrored-Commit: 4a2e71d8eadb8a66081c1c93fb90a0503f19b287
2019-09-26[JJI] Port {add,remove}WebMessageListener to glue layerShimi Zhang
See the corresponding AndroidX change: http://aosp/1099421 Bug: 918065 Change-Id: Iad8cd0cd273235de1105f04844891494f793af1b Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1745462 Commit-Queue: Shimi Zhang <ctzsm@chromium.org> Reviewed-by: Nate Fischer <ntfschr@chromium.org> Reviewed-by: Richard Coles <torne@chromium.org> Reviewed-by: Changwan Ryu <changwan@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#700368} Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src Cr-Mirrored-Commit: 2d369b47fc25a381f396625437dc6d6f427e293c
2019-09-26AW: add build.gradle to build boundary interfaces in AndroidXHazem Ashmawy
Add build.gradle and AndroidManifest.xml files that are needed to build these interfaces as an independent target in AndroidX repo. These files are used by AndroidX build scripts only and should not be used inside chromium project. Bug: https://issuetracker.google.com/issues/140178227 Change-Id: I7686c7e49bfc023dd818210e583b7f535fe9b61c Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1823119 Commit-Queue: Hazem Ashmawy <hazems@chromium.org> Reviewed-by: Nate Fischer <ntfschr@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#700292} Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src Cr-Mirrored-Commit: ca285c942119e05e23dcfc340ecc3b7450b015f2
2019-09-18[WV Support Library]: Add boundary interface and support lib glueAnna Malova
for force dark behaviour (force dark vs media query). Rename corresponding methods. Bug: 1001516 Change-Id: I7af3bb835ddd2f9761ffe350e626ef10d7321087 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1796673 Commit-Queue: Anna Malova <amalova@chromium.org> Reviewed-by: Tobias Sargeant <tobiasjs@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#697640} Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src Cr-Mirrored-Commit: 65274319fc5838891afdef97834eb0d9987b4844
2019-08-09[AW] Manually sort gn java_files in few places.Shimi Zhang
Because gn doesn't sort java_files currently, see crbug.com/917196 In prepare of http://crrev/c/1745462 Bug: 917196 Change-Id: I41975dc1eaadbf8183b1c283cd24922479221e2f Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1747172 Reviewed-by: Changwan Ryu <changwan@chromium.org> Commit-Queue: Shimi Zhang <ctzsm@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#685787} Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src Cr-Mirrored-Commit: dfef9eb824ffa0df5e09e557b639379768372b79
2019-06-17[build] Remove <uses-sdk> and specify [min|target|max]SdkVersion in GNTibor Goldschwendt
GN already has the concept of a minSdkVersion. This CL adds target- and maxSdkVersion and makes GN the source of truth by removing the <uses-sdk> element from all manifests. There are three steps that require [min|target|max]SdkVersion: linting, manifest merging and resource compilation. Each of these steps get the versions passed from GN. Furthermore, manifest merging removes the SDK version from the output manifest so that GN stays the source of truth. + Add a manifest_utils to unify manifest parsing, rewriting, etc. in a single place. + Move manifest verification to compile resources steps, where the final manifest is written. This CL adds some temporary workarounds to keep downstream working. Those will be removed once downstream is updated. Bug: 891996 Change-Id: If24be69d9c6b03a0d2423fad830a4da375d68505 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1650265 Reviewed-by: Peter Kotwicz <pkotwicz@chromium.org> Reviewed-by: Simeon Anfinrud <sanfin@chromium.org> Reviewed-by: Yuchen Liu <yucliu@chromium.org> Reviewed-by: Misha Efimov <mef@chromium.org> Reviewed-by: Richard Coles <torne@chromium.org> Reviewed-by: Ted Choc <tedchoc@chromium.org> Reviewed-by: Eric Stevenson <estevenson@chromium.org> Reviewed-by: Peter Wen <wnwen@chromium.org> Commit-Queue: Tibor Goldschwendt <tiborg@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#669810} Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src Cr-Mirrored-Commit: 95db95d387baeeb6544eb1193310eb5603c30ebc
2019-04-16[WebView Support Library] Add boundary interface and support lib glue for ↵androidx-jetifier-releaseAnna Malova
forceDark API. Bug: 952302 Change-Id: Idcc5d72198612065da66544180db33856f6dcba7 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1565881 Reviewed-by: Nate Fischer <ntfschr@chromium.org> Commit-Queue: Anna Malova <amalova@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#651231} Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src Cr-Mirrored-Commit: 824095ea00683e1278ce9754f39b09d4f7d86b9c
2019-04-02[aw] Add support library interface for IsMultiProcessEnabledLaís Minchillo
Add support library interface for the multi process query API. Bug: 948164 Change-Id: I9af5321056de1acc570322c6bd01610735ec919e Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1547735 Commit-Queue: Laís Minchillo <laisminchillo@chromium.org> Auto-Submit: Laís Minchillo <laisminchillo@chromium.org> Reviewed-by: Tobias Sargeant <tobiasjs@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#646804} Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src Cr-Mirrored-Commit: 05099cb0ad093825cbdeabb30c668e268e30fef8
2019-02-22Replaced 'Should' with 'Will' per Android API council guidanceChristian O. Andersson
See https://crrev.com/c/1185001 for details Design doc: https://docs.google.com/document/d/188BbgvTdhKf8bXikCL-JMduEclJOd9GxhKu79hmSVdo/edit Test: run_webview_instrumentation_test_apk -f AwSettingsTest#testWillSuppressErrorPage Change-Id: I71603bf906b58c9c42cb06ecf1abcee10360d5cb Reviewed-on: https://chromium-review.googlesource.com/c/1482900 Auto-Submit: Christian O. Andersson <cricke@chromium.org> Reviewed-by: Tobias Sargeant <tobiasjs@chromium.org> Reviewed-by: Robert Sesek <rsesek@chromium.org> Commit-Queue: Robert Sesek <rsesek@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#634775} Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src Cr-Mirrored-Commit: e17c03864c35247885ce6435d864f8a2a6668702
2019-01-25Enable suppression of error page from the Java sideandroid-arch-navigation-releaseChristian O. Andersson
Design doc: https://docs.google.com/document/d/188BbgvTdhKf8bXikCL-JMduEclJOd9GxhKu79hmSVdo/edit We wish to provide a means of optionally suppressing the display of the webview error page so that applications that wish to display their own error content may do so without presenting a poor user experience. Test: run_webview_instrumentation_test_apk -f AwSettingsTest#testShouldSuppressErrorPage Change-Id: I15c42acd7d562e7d37bb4f84d92267db49f0a55a Reviewed-on: https://chromium-review.googlesource.com/c/1185001 Auto-Submit: Christian O. Andersson <cricke@chromium.org> Reviewed-by: Bo <boliu@chromium.org> Reviewed-by: Robert Sesek <rsesek@chromium.org> Reviewed-by: Changwan Ryu <changwan@chromium.org> Reviewed-by: Nate Fischer <ntfschr@chromium.org> Commit-Queue: Christian O. Andersson <cricke@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#626102} Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src Cr-Mirrored-Commit: 822effcf1823d57f2aa2933c273156a018e25bf5
2019-01-21[aw] Remove DEV_SUFFIX from boundary interfaceLaís Minchillo
Removes DEV_SUFFIX from PROXY_OVERRIDE in boundary interface. Bug: 921784 Change-Id: I074a7396edc3649aed22f7f77e47c1d1094ffef2 Reviewed-on: https://chromium-review.googlesource.com/c/1411878 Reviewed-by: Tobias Sargeant <tobiasjs@chromium.org> Commit-Queue: Laís Minchillo <laisminchillo@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#624599} Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src Cr-Mirrored-Commit: 93831f2301c40d3e93218d350d3538a00fef2de0
2019-01-09[WebView Support Library] document caveats for boundary_interfacesNate Fischer
This adds README.md and OWNERS files to the boundary_interfaces folder. These files live canonically in chromium, but are mirrored into Android; this has been confusing for Android-side contributors, so the goal is to clarify this setup. The OWNERS file serves no functional purpose, but it's a likely spot contributors will check before sending CLs, so it directs contributors to consult the README. R=torne@chromium.org Test: N/A Change-Id: Ic9936110b4fc933e7abed27c315c91998d4fb72f Reviewed-on: https://chromium-review.googlesource.com/c/1404076 Reviewed-by: Tobias Sargeant <tobiasjs@chromium.org> Reviewed-by: Richard Coles <torne@chromium.org> Commit-Queue: Nate Fischer <ntfschr@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#621342} Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src Cr-Mirrored-Commit: 50c560d27df04f8162bc96ceb59ff2a0753be7ae
2018-12-19[aw] Update proxy API to receive proxy rulesLaís Minchillo
Update setProxyOverride method to receive an array of proxy rules (schemeFilter, proxyUrl) and an array of bypass rules. Move proxy override methods from AwContentsStatics to AwProxyController as they are no longer static. Bug: 906637 Change-Id: I3551001a2574204988aad9663ff5ff248494cc89 Reviewed-on: https://chromium-review.googlesource.com/c/1313049 Reviewed-by: Tobias Sargeant <tobiasjs@chromium.org> Reviewed-by: Eric Roman <eroman@chromium.org> Commit-Queue: Laís Minchillo <laisminchillo@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#617905} Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src Cr-Mirrored-Commit: bc08f72666434525612301f7b3638f4084ad10c6
2018-12-13[WebView Support Library] suppress lint warningNate Fischer
No change to logic. This suppresses a lint warning (BanTargetApiAnnotation) which is enforced in the AndroidX checkout (but not in Chromium). This is required because this file is mirrored into AndroidX. The intended resolution for this lint warning is to switch from @TargetApi to @RequiresApi (which is not 1:1 compatible, but is generally clearer). This is not currently possible in chromium, because our lint doesn't seem to respect @RequiresApi like the AndroidX lint config does. R=torne@chromium.org, wnwen@chromium.org Bug: http://b/120770118 Test: Manually copied into AndroidX checkout and ran "./gradlew Test: lintMinDVD" (with http://aosp/848808) Change-Id: Iad8574bf3fefa0ab0181b5618eb8a31f4b9ed182 Reviewed-on: https://chromium-review.googlesource.com/c/1374911 Reviewed-by: Peter Wen <wnwen@chromium.org> Reviewed-by: Richard Coles <torne@chromium.org> Commit-Queue: Nate Fischer <ntfschr@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#616395} Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src Cr-Mirrored-Commit: d652ab9a8b41cd708585690339ae3a6a234d6879
2018-12-12[aw] Support library glue for WebViewRendererClientTobias Sargeant
This exposes a support library feature allowing applications to set a WebViewRendererClient object upon which renderer related callbacks are received. Specifically, these callbacks are: onRendererUnresponsive(renderer) - called when the renderer associated with a webview does not ack an input event, or a navigation does not commit within 5 seconds. The callback will continue to be called at 5 second intervals until the renderer is killed or the unresponsiveness resolves. |renderer| may be null if webview is operating in single process mode. onRendererResponsive(renderer) - called once when an unresponsive renderer becomes responsive again. Bug: 907887 Change-Id: Ic5c74160e293791e3efc051a5727448ee061c9e2 Reviewed-on: https://chromium-review.googlesource.com/c/1361242 Reviewed-by: Changwan Ryu <changwan@chromium.org> Reviewed-by: Nate Fischer <ntfschr@chromium.org> Reviewed-by: Richard Coles <torne@chromium.org> Commit-Queue: Tobias Sargeant <tobiasjs@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#615738} Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src Cr-Mirrored-Commit: 208287beba61d4f21aa23f57bdc15004434fa766
2018-11-30Android: use base layer API to check debuggabilityNate Fischer
This converts Android WebView code to use the base-layer definition of whether to enable developer-only features (in this case, the command line). This also comments the BuildInfo method to mention Android's definition of debuggability (IS_DEBUGGABLE), which could improve discoverability. Although this is a change in logic, this should not impact real behavior, since "not equal to 'user'" should in practice be the same as "equal to 'userdebug' or 'eng'," since these are the only three valid values. R=agrieve@google.com, tobiasjs@google.com Bug: 908668 Test: N/A Change-Id: I6007d564078a899567226a3777c02bfcffc16f75 Reviewed-on: https://chromium-review.googlesource.com/c/1351733 Commit-Queue: Nate Fischer <ntfschr@chromium.org> Reviewed-by: agrieve <agrieve@chromium.org> Reviewed-by: Tobias Sargeant <tobiasjs@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#612785} Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src Cr-Mirrored-Commit: a4e4bb73dba61a56ee3c8fda1bcdacffec4ec7a8
2018-11-27[supportlib] Support a :dev feature suffix.Tobias Sargeant
:dev suffixed features will only be available if the device is userdebug. This makes it possible to develop support library changes in multiple steps, and then expose the feature with a final CL that removes the suffix, without running the risk that applications will inadvertently release code depending on the behaviour of an in-progress implementation of a feature. Bug: 908648 Change-Id: Iae98386992eb113356cf74be3eda125af10d867a Reviewed-on: https://chromium-review.googlesource.com/c/1349327 Commit-Queue: Tobias Sargeant <tobiasjs@chromium.org> Reviewed-by: Nate Fischer <ntfschr@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#611061} Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src Cr-Mirrored-Commit: c6e72efa6dba0e0ffff040451707dcbc71df3e89
2018-11-26[supportlib] getOrCreatePeer shouldn't throw a checked exception.Tobias Sargeant
We are restricted to use functor-like objects that are part of the root classloader. This means that changing from Callable is not practical. However the fact that Callable#call can throw a checked exception is inconvenient for code that uses getOrCreatePeer, especially as it is not expected that the peer creation callable will ever actually throw. For this reason, it's best if getOrCreatePeer rethrows the checked exception wrapped in an unchecked RuntimeException. Bug: 908269 Change-Id: I726d1cc75f13cafa9f62169069a237cc9e129b4d Reviewed-on: https://chromium-review.googlesource.com/c/1349974 Reviewed-by: Nate Fischer <ntfschr@chromium.org> Commit-Queue: Tobias Sargeant <tobiasjs@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#610953} Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src Cr-Mirrored-Commit: 4e22362069a8eaa5eed015bf7cb29a5ee031c7bf
2018-11-13aw: Move "new InvocationHandler[]" to SL util.Shimi Zhang
To avoid PRESUBMIT check for InvocationHandler annotation check. Should be no logic change. Bug: None Change-Id: I91680e54c5b0f0cc692b841a57f7f5b68f724d9b Reviewed-on: https://chromium-review.googlesource.com/c/1323624 Commit-Queue: Shimi Zhang <ctzsm@chromium.org> Reviewed-by: Nate Fischer <ntfschr@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#607472} Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src Cr-Mirrored-Commit: 5f983318b1d721930c291af3c1e4104273e7ac21
2018-10-12[aw] Add callback to proxy override methodsLaís Minchillo
Add an optional callback to proxy override methods introduced in change https://chromium-review.googlesource.com/c/chromium/src/+/1148384 This adds an optional callback developers can use to know when the changes have been made to the network settings, since the methods are not synchronous with the UI thread. Bug: 851995 Change-Id: I08dc7cc87c57d213b67774d3391562ca07fd0217 Reviewed-on: https://chromium-review.googlesource.com/c/1258770 Commit-Queue: Laís Minchillo <laisminchillo@chromium.org> Reviewed-by: Eric Roman <eroman@chromium.org> Reviewed-by: Richard Coles <torne@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#599166} Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src Cr-Mirrored-Commit: e2dd9b16afe9c2808aaa11566aa54fa854282db2
2018-10-09AW: explain values for 'initialize' argumentNate Fischer
No change to logic, only a refactor. The 'initialize' argument in Class#forName is a bit tricky to get right. This CL attempts to provide justification for why we use the values we do, while also providing a helper method to abstract-away one of the use-cases. This adds BoundaryInterfaceReflectionUtil#instanceOfInOwnClassLoader to help identify when an Object is an instance of some Class, as defined in that Object's own ClassLoader (as it may not be an instanceof that Class in that Class's ClassLoader, such as with WebViewClientCompat). Test: ./gradlew :webkit:connectedAndroidTest (in support lib repo) Change-Id: I5068a4e20ad7b39025c82d36bfdf211b6c82dfee Reviewed-on: https://chromium-review.googlesource.com/c/1270177 Commit-Queue: Nate Fischer <ntfschr@chromium.org> Reviewed-by: Richard Coles <torne@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#598009} Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src Cr-Mirrored-Commit: 5f5832e4ed76dee694fcbc89817793d5057171b6
2018-09-25[WebView Support Library] Support TracingController API.First-name Last-name
Add boundary interface and support lib glue for TracingController. Introduce a new class which adapts common code between framework and support library API and forward calls to the Chromium internal implementation of TracingController. Bug: 821792 Change-Id: I032cb57d61c5bd2fc8012e4d3f85f68ce22742d0 Reviewed-on: https://chromium-review.googlesource.com/1225874 Commit-Queue: Anna Malova <amalova@chromium.org> Reviewed-by: Nate Fischer <ntfschr@chromium.org> Reviewed-by: Tobias Sargeant <tobiasjs@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#593921} Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src Cr-Mirrored-Commit: 4c3cd553d6401aa479cdaa32913a3f5d3e883933
2018-08-27[aw] Add support library interface for WebViewRendererTobias Sargeant
Also introduce infrastructure to support cases where the support library and Aw* object need to be maintained in a 1:1 mapping. Bug: 865062 Change-Id: I7b385c252aa6ce3335ec50f8926b241c14850771 Reviewed-on: https://chromium-review.googlesource.com/1185595 Commit-Queue: Tobias Sargeant <tobiasjs@chromium.org> Reviewed-by: Richard Coles <torne@chromium.org> Reviewed-by: Nate Fischer <ntfschr@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#586424} Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src Cr-Mirrored-Commit: 730d409db74775218642ad4f7b8579a00943a3c7
2018-08-09Add support library support for Override Proxy APILaís Minchillo
Static WebView methods are implemented using the class WebViewFactoryProvider.Statics, in this CL we implement the corresponding class for the WebView support library. Bug: 851995 Change-Id: I2f9ed164d3b468acf77feaff4b0f192724ff511e Reviewed-on: https://chromium-review.googlesource.com/1148384 Commit-Queue: Laís Minchillo <laisminchillo@chromium.org> Reviewed-by: Bo <boliu@chromium.org> Reviewed-by: Matt Menke <mmenke@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#581856} Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src Cr-Mirrored-Commit: 74732cc5bd751944f978ea1ff40f10cde31f2100
2018-07-18AW: add gitignore for support lib boundary interfacesandroid-room-releaseNate Fischer
No change to logic. This adds a gitignore file to ignore *.iml files, which are created by Android Studio. We add the rule at this level so that it gets picked up when we mirror this folder into Android (same reason we have proguard rules at this specific level). This is not expected to affect Chromium (other than it ignores *.iml files in this subtree, which should not cause issues for developers). Based off sergeyv@'s CL http://ag/4570535. R=torne@chromium.org Change-Id: I015e29269923054afffb9288c37170cc124be7c2 Reviewed-on: https://chromium-review.googlesource.com/1142368 Reviewed-by: Richard Coles <torne@chromium.org> Commit-Queue: Nate Fischer <ntfschr@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#576170} Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src Cr-Mirrored-Commit: e0c66ca53eba79bb27306bcee4a098ee7a0f2a48