has marked itself as being an installable web app. Default implementation
in the WebChromeClient does nothing.
Requires an external/webkit change.
b/2766917
Change-Id: I7aae1b097f866e3d1c6c6a7a31a55bb12ff6a441
Our use of web settings does not specify the maximum image size,
although we have some hard-coded values used when decoding the
image. For defective images, the hard-coded values are not enough,
since we may exceed memory in the decoder before the limit is
reached.
Pass along our limits to the decoder, and respect any limits
set by the caller.
companion change in external/webkit
Change-Id: Iabd78165390dddce917f637bd3263b83f9b4aa56
http://b/2689053
This CL also includes some minor changes to the ZoomManager that
make the manager easier to test as well as fix some uncovered issues.
Change-Id: I66a84d70ee75e765ccf9cccb2d123757a9470f93
In WebView:
- Remove the select mode, so that while text is selected,
the view may respond to scroll or zoom gestures.
- Remove the getFindIsUp() method -- let the host application
track if the dialog is visible.
- Map long press to select text if the host application does
not already intercept it.
- Draw find 'extras' during zoom animation.
- Draw select 'extras' during animation and scrolling as well.
- Distinguish between selecting text and pressing a shift key
(the shift key is still a possible select text shortcut)
- Add more public (but hidden) interfaces: setUpSelect, selectAll, etc.
In WebChromeClient, add interfaces to allow WebView to tell the host
application that selection has started or finished. A long press on
a part of the view that does not trigger a host context menu may
start the selection (if text is underneath the press), and clicking
the trackball or tapping away from the current selection may
end the selection.
Companion changes in external/webkit and packages/apps/Browser
Change-Id: I81f549181249c38d8d4c10fd7064f513d11318fa
http://b/262451
This isn't the perfect solution as any calls into WebViewDatabase will block
until initialization completes. It is better than the current model which
blocks when creating the WebViewDatabase.
In order to get a perfect solution, we would need to do initialization in the
background and have a way to interact with the database during initialization
that would not block.
Bug: 2721802
Change-Id: Ibbaf7f97926128de6534fbf2148452099766c6b7
Grab the WebViewCore immediately so that if the Tab is destroyed, we have the
old WebViewCore object and can return the BrowserFrame.
Bug: 2733004
Change-Id: Ic3e4c5417f2165f412f60f05aea3ed403d8cecfd
Merge commit '864c68ea452baa0f4f298faf2155af45a9b6d60c'
* commit '864c68ea452baa0f4f298faf2155af45a9b6d60c':
Added an addAll to the ArrayAdapter
WLAN: Reset power save mode to startup value after DHCP response.
Add PageUp and PageDown hot keys
Should accept "application/vnd.wap.multipart.alternative" message.
replaced deprecated getIntent with parseURI
This is the final CL in a series of CL's that moved the
location of the zoom logic from WebView to ZoomManager.
Change-Id: Ie1e80b9b3108bd4cb0b0ee2822dc984da91c2d86
http://b/2671604
This CL is one in a series of CL's that is intended to refactor
the zoom logic from WebView to ZoomManager.
Change-Id: Icf88f7bd45068dddb31913903403acc7a8f21063
http://b/2671604
This is a new public API for developers to opt-in to strict rules
about what they're allowed to do on certain threads. (this is the
public face of the @hide dalvik.system.BlockGuard, added recently...)
In practice this will be used for developers to opt-in to declaring
that they don't want to be allowed to do various operations (such as
disk I/O or network operations) on their main UI threads. (these
operations are often accidental, or even when they are fast come with
a good chance of being slow or very slow in some cases....)
Implementation wise, this is just a thread-local integer that has a
bitmask of the things that aren't allowed, and more bits for saying
what the violation penalty is. The penalties, of which multiple can
be chosen, include:
* logging
* dropbox uploading for analysis/reporting
* annoying dialog
* full-on crashing
These are all only very roughly implemented at this point, but all
parts now minimally work end-to-end now, so this is a good checkpoint
commit before this gets too large.
Future CLs will polish all the above 4 penalties, including
checksumming of stacktraces and minimizing penalties for duplicate
violations.
Change-Id: Icbe61a2e950119519e7364030b10c3c28d243abe
This is a single CL in a series of CL's that is focused on moving the
zoom logic from WebView to ZoomManager.
Change-Id: I741fc34d5dd481b89f6e0b33503834c33f4fe69e
http://b/2671604
This CL is one in a series of CL's that moves the zoom logic
from WebView into ZoomManager.
Change-Id: I9980dd78dbc3345d465d4f39afcfd2f025f45bcb
http://b/2671604
This CL is one in a series of CL's intended to remove the zoom
logic from WebView. This CL focuses on refactoring the initialScale
variable as well as the onSizeChanged() and NEW_PICTURE_MSG portions
of the code.
Change-Id: Id44bce50378aa7cdfc1c8110818e18500679c517
http://b/2671604
If an Exception occurs when storing the file treat this as an error
and always fail to try to prevent corrupted pictures to be stored to
the file system.
Close files if they were opened, the caller might want to perform other
file operations on the file and if it is still open these may fail.
Change-Id: Ic68596b5c745bbe413096c22684c388e853a7643
pick bad5ede Revert "Refactor the on-screen zoom controls into a separate class."
one part of a series of CL's that is intended to refactor all zoom
logic into the ZoomManager.
Change-Id: I6260c7d2daade4861df1296c9db364ee2a892bd0
http://b/2671604
Rather than just storing the name of the file that the user chose in the file picker,
store the full path to the file. That way we can open it using the file API and still
extract the filename itself by simply chopping off all but the last path segment.
Change-Id: I25f2fe818deda8ca848f0da02cf45ae97d2127fb
highlight.
The new setting, supportTouchOnly(), is currently not
fully implemented. It is overloaded with mLightTouchEnabled
for short term testing. To test the feature, please
use the "Enable Light Touch" in the debug settings.
When supportTouchOnly is true, we are not using nav
cache to display the yellow ring. Instead we show
the gray rectangle(s) based on the calculation from
WebKit. When short press happens, we current use 0
for mMoveGeneration so that it will trigger WebKit
to use the same point when it calculates the highlight.
If you turn on NavDump in the debug settings, it will
also draw the fat point where you tap on the screen.
Known issues, it is not fully synced with IME. If you
tap a text input box also in focus, the yellow ring
will show up. If you leave the text input field, the
IME is not dismissed. If this passes the user tests,
we will make a special mode and fix all these issues.
There is another matching CL in external/webkit
This layout test is currently failing due to timing out in DRT.
The issue is that the test sends a down, up, down sequence quickly. For
each down event, we post a PREVENT_DEFAULT_TIMEOUT message to the
WebView's message handler. WebCore responds to the first touch event and
we update the mPreventDefault state variable correctly. The second touch down
resets mPreventDefault as it's the start of a new touch sequence and a second touch down is posted
to the WebCore thread.
At this point we still have the first TIMEOUT message in the WebView queue. The problem occurs
when the WebView processes this timeout message before the WebCore thread processes the second
touch down message. In this case the WebView clears the WebCore thread's message queue and instead posts
touch cancel events, erroneously removing the second touch event. This timeout message should not have been
processed as it was associated with the first touch down that had already been completed. Without the
second touch the test never completes.
The fix is to remove PREVENT_DEFAULT_TIMEOUT messages from the queue before starting
a new touch sequence.
Change-Id: Ief054239529d710a79a0e58a589bd7a92434dbf2
This CL is #2 of multiple CL's to remove the zoom code
from webview and place it into webkit.ZoomManager. Each
commit is only part of the entire refactoring so there
are many ZoomManager.* variables still referenced from
WebView.
Change-Id: I21f6517dff46b65a277bc67120ffabe043098e5e
http://b/2671604