Make it possible to change WebView provider (through a Developer
setting) and kill all apps using the old provider.
This includes checking the signatures of the WebView providers to make
sure they are valid.
Now that we can change WebView provider through a setting it is possible
to change provider while some provider is being updated. Because of this
we now keep track of which provider should be in use in
WebViewUpdateService to make sure we use the correct provider at all
times.
We now also read WebView package meta data (name, package name, and
signature) from a separate xml file.
Main bug: crbug.com/546185
Bug: 25338573
Change-Id: I660fd1a40a5388f6569a06a7f0d029e8ff65945a
The body of {@code} must not be HTML escaped. This is one of
several changes that fix the source in conjunction with a
doclava fix.
Bug: 25757239
Change-Id: Ib38a0fa2dd2a3d68e467f78a812071e763d7e881
This is a mechanical replacement of Context.getSystemService(String)
with Context.getSystemService(Class<T>) when retrieving
InputMethodManager. Note those are bundled code. Hence we don't need
to make sure Build.VERSION.SDK_INT >= 23.
Change-Id: Icc64942ad8f11e44bf84f8d4fe476b2fdd1257f3
The new version provides more information about the origin of
the load, which helps making more secure decision on how to proceed
with it.
Bug: 22346196
Change-Id: I27f591bf5e846bde14335a2c929758a2b48d0763
Use a priority list of WebView packages instead of a single package to
determine which package to load WebView from.
This to allow Chrome to provide the WebView implementation.
Change-Id: I71813825cd977a72ff4535a39a97a12565ec8a09
We will allow apps to disable Share, Web Search, and text
processing related menu actions.
The default actions like cut, copy, paste cannot be disabled.
BUG: 22772178
Change-Id: I8429454f71f74a99298f412862cd32d8fba93784
This CL makes webview override View#onActivityResult and gives webview
itnernals the access to View#startActivityForResult.
BUG: 24416313
Change-Id: Ia49db1348a1f5ee0c648a8b16551d9becc7caddd
Add a note that the base URL can be sent to servers in
the 'Referer' HTTP header.
Bug: crbug.com/506592
Change-Id: Idf77e898645fe130ad569bd266b61257c4f0e3b3
We weren't closing the ZipFiles created in WebViewFactory to check
inside APKs - use try-with-resources to get them closed automatically.
Bug: 23072621
Change-Id: I11c6b77e960a7d240d19d22240cac177b6ba27b2
onPause() method documentation wrongly claims it stops JS. This could
have been true for very early implementations of Webview which does
not use V8 (pre-honeycomb) however it is not the case anymore
since V8 does not provide a way to stop JS safely for a particular Webview.
Change-Id: I6363dc2ef47c463da6baa417832da750225f5cf2
This reverts commit 954d1333c4.
The revert is due to apps calling super.onGeolocationPermissionsShowPrompt see b/22685046
Bug: 22685046
Change-Id: I2a9f42b432a010828a0cafaee064480bb0f91cbe
(cherry picked from commit 0bb7d2e467)
This reverts commit 954d1333c4.
The revert is due to apps calling super.onGeolocationPermissionsShowPrompt see b/22685046
Change-Id: I2a9f42b432a010828a0cafaee064480bb0f91cbe
Add a note about WebView reloading the page if the UA string is change
during loading. See crbug.com/315891.
Bug: 22325430
Change-Id: I04f5ab703fd2dcedf0709e4aa1d17b1204df355b
Bug: 21910771
Clarify handling client certificates when using a webview. This is a
documentation change only.
Change-Id: Ida78bd89aa8867c99b4b9e4433e342767e9bac0d
This was not a clean revert!
This reverts commit 2ed6fee15c.
We essentially only revert the functionality for going through a list of
WebView package names and picking the first compatible one.
Except for that functionality we also fetched the name of the shared
library from a flag in WebView and made some minor refactoring in the
initial commit, these changes have been left alone in this revert.
Bug: 21893371
Change-Id: Idb2539dc33cc5f9e2894ecd665c23573c6cba9f3
Deprecate setHorizontalScrollbarOverlay, setVerticalScrollbarOverlay,
overlayHorizontalScrollbar, and overlayVerticalScrollbar. They've been
no-ops for years, ever since WebViewChromium.
BUG:21642246
Change-Id: Ia1062c53fdbaa7a0d282ba79da733a6f3b9ac84f
As part of the API rename from ViewAssistStructure to ViewStructure,
we added a temporary workaround to prevent build breakage. Remove
the temporary workaround since the current unbundled webview package
implements the updated onProvideVirtualStructure API.
Change-Id: I13a5b8dee3e856eb585de53a0750bd52c7a909a7
Changes to the data provided to AssistStructure:
* Text foreground color is correct even if the view has not yet been
painted.
* Text background color is now always 1 (TEXT_COLOR_UNDEFINED) for a
TextView, as it has no separate concept of background color.
* Switch now reports the text size/color/style of the label text
(usually user visible) rather than the on/off text on the button
itself (usually hidden in Material, and not usually revelant when
visible).
Bug: 21080375
Change-Id: I7e15f68d89510a76cab76031c2c8ca6ca3f32435
...from text nodes in WebView
Add a new explicit API for setting the text style information associated
with a view structure.
Also, how about some documentation!
Change-Id: Ia948b2d66382b973d0d00a67172a281ad55ce592
Update WebViewFactory's shared relro handling so that it operates
correctly where libraries are loaded directly from APK files.
Bug: http://b/20810492
Bug: http://b/8076853
Change-Id: I7887c7c0f235388d6a40c366693563b4876de992
Bug: 20557074
There is no need to keep the name PostMessageToMainFrame since
we may choose to not implement the special condition to posting
to a named subframe. And if we want, we can do this by overloading
the function.
Change-Id: I9896ad479e1c30cda500352cfdb1b7d336383568
Currently IMM#mCurRootView is always cleared every time when
IMM#finishInputLocked() is called. We have been doing this since
Iad09cf5dbb7f6f156fd39ed243431432e00f8945 so as not to hold the
strong reference to a DecorView so long time (Bug 6413553).
Strictly speaking, the attached window may continue holding
input focus even after IMM#finishInputLocked() is called.
In this state IMM#focusIn() might have unexpectedly rejected
focus-in event but presumably this might not be obvious, or might
not occur at all because in some situations IMM#finishInputLocked()
has never been called even when the attached view loses input
focus.
In order to fix Issue 20820914, however, we need to call
IMM#finishInputLocked() exactly when the attached view loses
input focus. To make it easier to diagnose any unexpected
regressions, this CL only changes the handling of
IMM#mCurRootView, while the next CL Id6afc8fc64512225578c62557b96
plumbs IMM#focusOut() to IMM#finishInputLocked().
Manually tested following scenarios.
- Repro steps in Bug 6413553. Made sure that IMM#mCurRootView
is cleared after switching back from the current application to
the previous application with back key.
- Test application that calls WebView#showFindDialog(). Made sure
that LatinIME works fine when switching text fields. This is
non-trivial because android.webkit.FindActionModeCallback is
changed in this CL.
- Repro steps in Bug 21144633. Made sure that we can enter
recipient's name in the messaging app.
Bug: 20820914
Change-Id: I219394178e4172bc47864297f1418e677dba25e5
Temporarily make WebResourceError.getDescription() non-abstract
so the current version of WebView doesn't crash on it.
Bug: 20064008, 21063767
Change-Id: I15a1abb5df76263006d14eb589fe0076d5aac582
This reverts commit 97c3813042.
This causes issue with the right IME window getting focus.
Bug: 21144633
Change-Id: I4c75b6e7dd87c10f008444d2059164b52a8f4335
- minor changes in WebResourceError;
- prepare to remove WebResourceResponseBase;
- add immutable mode to WebResourceResponse.
Bug: 21063767
Change-Id: Iaf5f92e3850732c7a888453468e108809b3b782a