|
Properly throw java exceptions from shouldOverrideUrlLoading
[WebView]
Since all our java methods called through the jni-interface are
annotated with @CalledByNative (rather than @CalledByNativeUnchecked)
any java crash in those methods will cause a native crash since we call
jni_android::CheckException (which aborts in native code) when returning
from those methods.
In this CL we annotate the jni-call for shouldOverrideUrlLoading with
@CalledByNativeUnchecked to avoid crashing directly after the jni-call.
We also add an Abort function for the android specific message loop and
message pump to ensure no new tasks will be run before we return to the
Java handler (at which point the original Java exception will be
rethrown and thus correctly reported).
BUG= 592556
Committed: https://crrev.com/ebe2e203bd421bc1a5e4c28a48f7d54d407c6fac
Cr-Commit-Position: refs/heads/master@{#412956}
Total comments: 12
Total comments: 4
Total comments: 6
Total comments: 14
Total comments: 1
Total comments: 28
Total comments: 2
|
Unified diffs |
Side-by-side diffs |
Delta from patch set |
Stats (+479 lines, -18 lines) |
Patch |
|
M |
android_webview/browser/aw_content_browser_client.cc
|
View
|
1
2
3
4
5
6
7
|
1 chunk |
+2 lines, -0 lines |
0 comments
|
Download
|
|
M |
android_webview/java/src/org/chromium/android_webview/AwContentsClientBridge.java
|
View
|
|
2 chunks |
+2 lines, -1 line |
0 comments
|
Download
|
|
M |
android_webview/native/aw_contents_client_bridge.cc
|
View
|
1
2
3
4
5
6
7
8
9
10
|
2 chunks |
+11 lines, -1 line |
0 comments
|
Download
|
|
M |
base/BUILD.gn
|
View
|
1
2
3
4
5
6
7
8
9
10
11
|
3 chunks |
+6 lines, -3 lines |
0 comments
|
Download
|
|
M |
base/android/java/src/org/chromium/base/SystemMessageHandler.java
|
View
|
1
2
3
4
5
|
3 chunks |
+9 lines, -5 lines |
0 comments
|
Download
|
|
M |
base/android/java_handler_thread.h
|
View
|
1
2
3
4
|
1 chunk |
+6 lines, -1 line |
0 comments
|
Download
|
|
M |
base/android/java_handler_thread.cc
|
View
|
1
2
3
4
5
6
7
|
1 chunk |
+10 lines, -2 lines |
0 comments
|
Download
|
|
A |
base/android/java_message_handler_factory.h
|
View
|
1
2
3
4
5
6
7
8
9
10
|
1 chunk |
+32 lines, -0 lines |
0 comments
|
Download
|
|
M |
base/message_loop/message_loop.h
|
View
|
1
2
3
4
5
6
7
|
2 chunks |
+15 lines, -0 lines |
0 comments
|
Download
|
|
M |
base/message_loop/message_loop.cc
|
View
|
1
2
3
4
5
6
7
|
1 chunk |
+12 lines, -0 lines |
0 comments
|
Download
|
|
M |
base/message_loop/message_loop_unittest.cc
|
View
|
1
2
3
4
5
|
2 chunks |
+51 lines, -0 lines |
0 comments
|
Download
|
|
M |
base/message_loop/message_pump_android.h
|
View
|
1
2
3
4
5
6
7
8
9
10
|
2 chunks |
+18 lines, -0 lines |
0 comments
|
Download
|
|
M |
base/message_loop/message_pump_android.cc
|
View
|
1
2
3
4
5
6
7
|
7 chunks |
+37 lines, -5 lines |
0 comments
|
Download
|
|
M |
base/test/BUILD.gn
|
View
|
1
2
3
4
5
6
7
8
9
10
11
12
|
3 chunks |
+18 lines, -0 lines |
0 comments
|
Download
|
|
A |
base/test/android/java/src/org/chromium/base/TestSystemMessageHandler.java
|
View
|
1
2
3
4
5
6
7
8
9
10
|
1 chunk |
+54 lines, -0 lines |
0 comments
|
Download
|
|
A |
base/test/android/java_handler_thread_for_testing.h
|
View
|
1
2
3
4
5
6
7
8
9
10
11
12
13
|
1 chunk |
+54 lines, -0 lines |
0 comments
|
Download
|
|
A |
base/test/android/java_handler_thread_for_testing.cc
|
View
|
1
2
3
4
5
6
7
8
9
10
|
1 chunk |
+49 lines, -0 lines |
0 comments
|
Download
|
|
A |
base/test/android/test_system_message_handler_link_android.h
|
View
|
1
2
3
4
5
6
7
8
9
10
|
1 chunk |
+43 lines, -0 lines |
0 comments
|
Download
|
|
A |
base/test/android/test_system_message_handler_link_android.cc
|
View
|
1
2
3
4
5
6
7
8
9
10
|
1 chunk |
+40 lines, -0 lines |
0 comments
|
Download
|
|
A + |
base/test/run_all_base_unittests.cc
|
View
|
1
2
3
4
5
6
7
8
9
10
11
|
1 chunk |
+10 lines, -0 lines |
0 comments
|
Download
|
Total messages: 49 (13 generated)
|