Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(413)

Issue 143803016: [Android WebView] Fix thread unsafety in accessing Java side getters (Closed)

Created:
6 years, 11 months ago by mnaganov (inactive)
Modified:
6 years, 10 months ago
Reviewers:
benm (inactive)
CC:
chromium-reviews, android-webview-reviews_chromium.org
Visibility:
Public.

Description

[Android WebView] Fix thread unsafety in accessing Java side getters Re-route calls to AwSettings::PopulateWebPreferences through Java to acquire mAwSettingsLock. Add assertions on holding the lock into getters called from native code. BUG=337112 Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=248279

Patch Set 1 #

Patch Set 2 : Sorted out maybeRunOnUiThreadBlocking issues #

Patch Set 3 : Fixed maybeRunOnUiThreadBlocking in a better way #

Total comments: 4

Patch Set 4 : Merged common use cases #

Patch Set 5 : Corrections #

Total comments: 8

Patch Set 6 : Comments addressed #

Patch Set 7 : Added assert for the lock into the new getter #

Patch Set 8 : Added assert for the lock into the new getter (re-upload) #

Unified diffs Side-by-side diffs Delta from patch set Stats (+101 lines, -61 lines) Patch
M android_webview/java/src/org/chromium/android_webview/AwSettings.java View 1 2 3 4 5 6 44 chunks +90 lines, -57 lines 0 comments Download
M android_webview/native/aw_settings.h View 1 chunk +1 line, -0 lines 0 comments Download
M android_webview/native/aw_settings.cc View 1 2 3 4 5 6 1 chunk +10 lines, -4 lines 0 comments Download

Messages

Total messages: 13 (0 generated)
mnaganov (inactive)
Ben, PTAL!
6 years, 11 months ago (2014-01-23 10:38:05 UTC) #1
benm (inactive)
thanks for catching this mikhail! https://codereview.chromium.org/143803016/diff/180001/android_webview/java/src/org/chromium/android_webview/AwSettings.java File android_webview/java/src/org/chromium/android_webview/AwSettings.java (right): https://codereview.chromium.org/143803016/diff/180001/android_webview/java/src/org/chromium/android_webview/AwSettings.java#newcode134 android_webview/java/src/org/chromium/android_webview/AwSettings.java:134: // Message id for ...
6 years, 11 months ago (2014-01-24 02:20:20 UTC) #2
mnaganov (inactive)
https://codereview.chromium.org/143803016/diff/180001/android_webview/java/src/org/chromium/android_webview/AwSettings.java File android_webview/java/src/org/chromium/android_webview/AwSettings.java (right): https://codereview.chromium.org/143803016/diff/180001/android_webview/java/src/org/chromium/android_webview/AwSettings.java#newcode134 android_webview/java/src/org/chromium/android_webview/AwSettings.java:134: // Message id for running a Runnable On 2014/01/24 ...
6 years, 11 months ago (2014-01-24 10:01:46 UTC) #3
benm (inactive)
https://codereview.chromium.org/143803016/diff/270001/android_webview/java/src/org/chromium/android_webview/AwSettings.java File android_webview/java/src/org/chromium/android_webview/AwSettings.java (left): https://codereview.chromium.org/143803016/diff/270001/android_webview/java/src/org/chromium/android_webview/AwSettings.java#oldcode374 android_webview/java/src/org/chromium/android_webview/AwSettings.java:374: if (mNativeAwSettings != 0) { why remove this? https://codereview.chromium.org/143803016/diff/270001/android_webview/java/src/org/chromium/android_webview/AwSettings.java ...
6 years, 11 months ago (2014-01-24 23:11:11 UTC) #4
mnaganov (inactive)
https://codereview.chromium.org/143803016/diff/270001/android_webview/java/src/org/chromium/android_webview/AwSettings.java File android_webview/java/src/org/chromium/android_webview/AwSettings.java (left): https://codereview.chromium.org/143803016/diff/270001/android_webview/java/src/org/chromium/android_webview/AwSettings.java#oldcode374 android_webview/java/src/org/chromium/android_webview/AwSettings.java:374: if (mNativeAwSettings != 0) { On 2014/01/24 23:11:11, benm ...
6 years, 10 months ago (2014-01-29 09:33:27 UTC) #5
benm (inactive)
thanks Mikhail! lgtm however I still think that the assert should be added to updateWebKitPreferencesLocked ...
6 years, 10 months ago (2014-01-31 17:57:36 UTC) #6
mnaganov (inactive)
Thanks, Ben! https://codereview.chromium.org/143803016/diff/270001/android_webview/java/src/org/chromium/android_webview/AwSettings.java File android_webview/java/src/org/chromium/android_webview/AwSettings.java (right): https://codereview.chromium.org/143803016/diff/270001/android_webview/java/src/org/chromium/android_webview/AwSettings.java#newcode186 android_webview/java/src/org/chromium/android_webview/AwSettings.java:186: void updateWebkitPreferencesLocked() { On 2014/01/31 17:57:37, benm ...
6 years, 10 months ago (2014-01-31 19:51:34 UTC) #7
mnaganov (inactive)
The CQ bit was checked by mnaganov@chromium.org
6 years, 10 months ago (2014-01-31 19:51:47 UTC) #8
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/mnaganov@chromium.org/143803016/410001
6 years, 10 months ago (2014-01-31 19:53:01 UTC) #9
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/mnaganov@chromium.org/143803016/410001
6 years, 10 months ago (2014-01-31 21:17:36 UTC) #10
commit-bot: I haz the power
Change committed as 248279
6 years, 10 months ago (2014-01-31 21:51:29 UTC) #11
commit-bot: I haz the power
CQ bit was unchecked on CL. Ignoring.
6 years, 10 months ago (2014-01-31 21:51:35 UTC) #12
commit-bot: I haz the power
6 years, 10 months ago (2014-01-31 21:52:25 UTC) #13
Message was sent while issue was closed.
CQ bit was unchecked on CL. Ignoring.

Powered by Google App Engine
This is Rietveld 408576698