There was a deadlock in destroy process.
Investigation showed that WebViewCoreThread is waiting some
callbacks but in this case WebViewCoreThread can not resume
itself not to call notify method.
Flow:
1. CallbackProxy.sendMessageToUiThreadSync
2. WebViewClassic.destroy()
3. CallbackProxy.blockMessages()
4. CallbackProxy.handleMessage is called via MainThread
5. The WebViewCoreThread deadlock is occured.
The cases we have to call notify method are followings.
OVERRIDE_URL
CREATE_WINDOW
SAVE_PASSWORD
NOTIFY
OPEN_FILE_CHOOSER
JS_ALERT
JS_CONFIRM
JS_PROMPT
JS_UNLOAD
JS_TIMEOUT
Change-Id: I9d95ae500bf6338d77b32b5fa15de7cff5720d0f
Marking a text on the web page and then press copy works,
but trying to mark the same text again does not work.
The reason for this is that the selection never gets
cleared in webkit.
The fix, calling cleaSelection in the onDestroyActionMode.
Also added clearSelection when getting an
onConfigurationChange.
Change-Id: I59b384cb5441b6a3a05007ea7e77f9699889a87c
When copying a link from a bookmark and then pasting it into
a textfield a NullPointerException will occur.
A ClipData.Item is not guaranteed to always contain a text string
and therefore getText() can be set to null.
Using method coerceToText() instead of getText() makes sure that
a text string is always returned.
Change-Id: I81343c0371835a3a7a52045dcd1760e69e59a967
Currently, audio will resume playing after a phone call
or notification even if the user had manually paused playback.
This patch addresses that by introducing a new player state
to distinguish the user pausing playback and the browser
losing audio focus for some other reason. Audio will only
resume if the browser temporarily lost audio focus and
not when the user has manually paused playback.
Change-Id: I9e8beaedb0fcc5afe920068297ed9c387eab2ac8
Signed-off-by: Roger Chen <cxr514033970@gmail.com>
Null Pointer Exception occurs because mWebViewCore instance
is made to null while calling destroyJava(). When
1.webview hosting activity goest to background, without calling webview onPause().
2. If app is launched again (having launchmode:singletask ) and another activity (not webview hosting) comes on top top.
3. It destorys the previous activity holding webview which internally tries to cancel the dialog, but webviewcore instance is null.
Null pointer exception is raised.
Change-Id: Idbcd30d0b0d4a35819444bbaa5c73cced8bb35a3
Signed-off-by: Amit Kumar <amitkecian@gmail.com>
To avoid angle calculation changed the logic to use virtual areas.
When try to drag or pan, check where the current touch point locates
and determine how to drag a page.
Change-Id: Id9bd08a69c4ac93ff385c8088e6c16bed5dc5f88
Signed-off-by: kiwon <kiwon98.lee@samsung.com>
When typing a text in find on page, then deleting it again the
default text in the field "Find on Page" is truncated by
an invisible view.
This commit fixes the problem by setting the visibility of
mMatches view changes to View.GONE instead of View.INVISIBLE.
Change-Id: I9889f22a254cdabb0cbaba72bff4b14158e5c9ff
During the destroy sequence, it happens that the mWebViewClassic was
set to null in the transferMessages function and consequently, the
call to WebCoreThreadWatchdog.unregisterWebView(mWebViewClassic) is
not really removing the view from the watchdog's list; creating a
memory leak.
Change-Id: I2bae7c8d7c473e2af25e62a485699f88269d6658
Author: Jean-Christophe PINCE <jean-christophe.pince@intel.com>
Signed-off-by: Jean-Christophe PINCE <jean-christophe.pince@intel.com>
Signed-off-by: Shuo Gao <shuo.gao@intel.com>
Signed-off-by: Bruce Beare <bruce.j.beare@intel.com>
Signed-off-by: Jack Ren <jack.ren@intel.com>
Author-tracking-BZ: 57869
Many media files and source code files were marked as executable in Git.
Remove those.
Also a shell script and python script were not marked as executable.
Change-Id: Ieb51bafb46c895a21d2e83696f5a901ba752b2c5
Also adds a heartbeat check so that if something does go wrong while adding
the JavaScript APIs, we don't attempt to use the JavaScript-based screen
reader.
Bug: 7450237
Change-Id: Ifbce77cf93115f658386c520b8226941607b2afe
Previously we were adding and removing the APIs on window attach and
detach, but a page's life cycle is not related to attach/detach. This
patch also ensures that ChromeVox is not null before calling. Includes
formatting fixes and extra comments in the waitForResultTimedLocked
method to improve readability. Fixes parsing of integer resultId, which
was being parsed using Long.
Bug: 7328348
Change-Id: I6b81a8e4d8209f8e99419da9b8250abe57e25048
Calls to performAction will immediately return false if ChromeVox is not
loaded. Also adds additional debugging output.
Bug: 7328657
Change-Id: I5bd7c69ccc9500cebaa4a8c1bf023794f4eebe2e
Reducing the amount of time that WebView will wait before treating
a navigation attempt as failed. This is needed to recover from
cases where the user is attempting to linearly navigate a WebView
that is immediately switched out right as it starts to read.
A good example of this problem is AdMob's WebViews which are
continuously being swapped.
Change-Id: Ib9b4a9b99a35d42920e34e0acbe8ab45e1d47871
Ensures A11y APIs are added to WebView before page loads. Prevents calls
to TTS before init and after shutdown. Ensures calls to TTS are thread-
safe. Activates and deactivates feedback from AndroidVox when view is
attached and detached. Adds a flag for logging debug output, as well as
a lot of debug output.
Bug: 7326781
Change-Id: I5d4ab7f9fb1669f98ef05ae207e897565d3086c9
Fixed one setting that was migrated but not marked deprecated.
Removed a hidden setting that is no longer used by the new
power manager service.
Bug: 7231172
Change-Id: I332f020f876a18d519a1a20598a172f1c98036f7
This one got left out in the last round of method hiding.
This got lost in the last round of method hiding.
Change-Id: I3c6aa234dd29933cb32d0cd91830d47289e7e639
These are shared resources! You can't just animate *everyone's*
cursors!
This is a hand-merge of Icdc86af4fba427a352019cd3e2017f97a3b9fdba
from jb-dev branch. I'm not sure why it wouldn't automerge, as it
seemed pretty straightforward...
Bug: 7110290
Change-Id: I131a611b9e16699a51d3769658f079c2ae4cf262
Bug: 6891214
tvdpi has a density of 1.3312501 which we fail on as we assume
you can take density and multiply by 100, cast to an int, and
divide by 100f to get back to the original density. Force this
assumption to be true by truncating density
Change-Id: I0caeb7768ee002f935b41c77a5579ffeed491f82