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

Issue 2201783003: Add test to ensure shouldOverrideUrlLoading throws Java exception (Closed)

Created:
4 years, 4 months ago by gsennton
Modified:
3 years, 7 months ago
Reviewers:
boliu, Torne
CC:
chromium-reviews, android-webview-reviews_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Add test to ensure shouldOverrideUrlLoading throws Java exception [Can't land before https://codereview.chromium.org/2169553002/ - the added test won't pass] Add test that creates a WebView in a service in a separate process and makes the its shouldOverrideUrlLoading callback throw a run-time exception. Then check that the uncaughtExceptionHandler for the UI thread of the service sees this exception. Refactoring some instrumentation test utility files so that they can be reached from the webview shell component (where the service is defined). BUG=592556

Patch Set 1 #

Total comments: 1

Patch Set 2 : Reupload PS1 with similarity 40% to show JSUtils.java as moved file. #

Total comments: 34

Patch Set 3 : Simplify navigation logic, revert some utility code changes. #

Patch Set 4 : Fix some comments. #

Total comments: 26

Patch Set 5 : Add testbase for separate-service tests, use this from AwSecondBrowserTest. #

Total comments: 31
Unified diffs Side-by-side diffs Delta from patch set Stats (+600 lines, -769 lines) Patch
M android_webview/javatests/src/org/chromium/android_webview/test/AndroidScrollIntegrationTest.java View 1 2 3 4 2 chunks +3 lines, -2 lines 0 comments Download
M android_webview/javatests/src/org/chromium/android_webview/test/AndroidViewIntegrationTest.java View 1 2 3 4 1 chunk +1 line, -0 lines 0 comments Download
M android_webview/javatests/src/org/chromium/android_webview/test/AwContentsGarbageCollectionTest.java View 1 2 3 4 2 chunks +3 lines, -2 lines 0 comments Download
M android_webview/javatests/src/org/chromium/android_webview/test/AwSecondBrowserProcessTest.java View 1 2 3 4 5 chunks +26 lines, -50 lines 5 comments Download
M android_webview/javatests/src/org/chromium/android_webview/test/AwSettingsTest.java View 1 2 3 4 1 chunk +1 line, -0 lines 0 comments Download
M android_webview/javatests/src/org/chromium/android_webview/test/AwTestBase.java View 1 2 3 4 3 chunks +4 lines, -29 lines 0 comments Download
M android_webview/javatests/src/org/chromium/android_webview/test/GeolocationTest.java View 1 2 3 4 1 chunk +1 line, -0 lines 0 comments Download
A android_webview/javatests/src/org/chromium/android_webview/test/JniCrashTest.java View 1 2 3 4 1 chunk +52 lines, -0 lines 0 comments Download
A android_webview/javatests/src/org/chromium/android_webview/test/SeparateServiceTestBase.java View 1 2 3 4 1 chunk +191 lines, -0 lines 12 comments Download
D android_webview/javatests/src/org/chromium/android_webview/test/TestAwContentsClient.java View 1 chunk +0 lines, -621 lines 0 comments Download
M android_webview/test/BUILD.gn View 1 2 3 4 4 chunks +9 lines, -2 lines 0 comments Download
M android_webview/test/shell/AndroidManifest.xml View 1 chunk +5 lines, -0 lines 0 comments Download
A android_webview/test/shell/src/org/chromium/android_webview/test/AwTestBaseUtility.java View 1 2 3 4 1 chunk +68 lines, -0 lines 0 comments Download
M android_webview/test/shell/src/org/chromium/android_webview/test/SecondBrowserProcess.java View 1 2 3 4 1 chunk +0 lines, -64 lines 0 comments Download
A android_webview/test/shell/src/org/chromium/android_webview/test/SecondBrowserProcessTestRunner.java View 1 2 3 4 1 chunk +37 lines, -0 lines 3 comments Download
A android_webview/test/shell/src/org/chromium/android_webview/test/SeparateProcessWebViewService.java View 1 2 3 4 1 chunk +78 lines, -0 lines 1 comment Download
A android_webview/test/shell/src/org/chromium/android_webview/test/ServiceTestRunner.java View 1 2 3 4 1 chunk +30 lines, -0 lines 3 comments Download
A android_webview/test/shell/src/org/chromium/android_webview/test/ShouldOverrideUrlLoadingJniCrashTestRunner.java View 1 2 3 4 1 chunk +92 lines, -0 lines 7 comments Download
A + android_webview/test/shell/src/org/chromium/android_webview/test/TestAwContentsClient.java View 1 2 0 chunks +-1 lines, --1 lines 0 comments Download

Messages

Total messages: 33 (2 generated)
gsennton
Heheyyy, this is an instrumentation test that starts a service in a separate process and ...
4 years, 4 months ago (2016-08-01 17:52:43 UTC) #2
gsennton
On 2016/08/01 17:52:43, gsennton wrote: > Heheyyy, this is an instrumentation test that starts a ...
4 years, 4 months ago (2016-08-01 17:54:21 UTC) #3
Torne
Looks okay in general but at least one of the moved files you haven't changed ...
4 years, 4 months ago (2016-08-02 13:04:46 UTC) #4
boliu
started reading line by line, and then realized there are still lots of TODOs :/ ...
4 years, 4 months ago (2016-08-02 20:16:00 UTC) #5
gsennton
On 2016/08/02 20:16:00, boliu wrote: > started reading line by line, and then realized there ...
4 years, 4 months ago (2016-08-02 20:20:12 UTC) #6
gsennton
https://codereview.chromium.org/2201783003/diff/20001/android_webview/javatests/src/org/chromium/android_webview/test/JniCrashTest.java File android_webview/javatests/src/org/chromium/android_webview/test/JniCrashTest.java (right): https://codereview.chromium.org/2201783003/diff/20001/android_webview/javatests/src/org/chromium/android_webview/test/JniCrashTest.java#newcode67 android_webview/javatests/src/org/chromium/android_webview/test/JniCrashTest.java:67: private void sendMessengerToService(Messenger serviceMessenger, Messenger messenger) { On 2016/08/02 ...
4 years, 4 months ago (2016-08-02 20:33:57 UTC) #7
boliu
https://codereview.chromium.org/2201783003/diff/20001/android_webview/test/shell/src/org/chromium/android_webview/test/util/JSUtils.java File android_webview/test/shell/src/org/chromium/android_webview/test/util/JSUtils.java (right): https://codereview.chromium.org/2201783003/diff/20001/android_webview/test/shell/src/org/chromium/android_webview/test/util/JSUtils.java#newcode81 android_webview/test/shell/src/org/chromium/android_webview/test/util/JSUtils.java:81: public static void clickOnLinkUsingJsFromNonUiThread(final AwContents awContents, On 2016/08/02 20:33:57, ...
4 years, 4 months ago (2016-08-02 20:39:17 UTC) #8
gsennton
https://codereview.chromium.org/2201783003/diff/20001/android_webview/test/BUILD.gn File android_webview/test/BUILD.gn (right): https://codereview.chromium.org/2201783003/diff/20001/android_webview/test/BUILD.gn#newcode210 android_webview/test/BUILD.gn:210: android_library("android_webview_java_test_utils") { On 2016/08/02 20:15:59, boliu wrote: > maybe ...
4 years, 4 months ago (2016-08-02 20:55:15 UTC) #9
boliu
https://codereview.chromium.org/2201783003/diff/20001/android_webview/test/BUILD.gn File android_webview/test/BUILD.gn (right): https://codereview.chromium.org/2201783003/diff/20001/android_webview/test/BUILD.gn#newcode210 android_webview/test/BUILD.gn:210: android_library("android_webview_java_test_utils") { On 2016/08/02 20:55:15, gsennton wrote: > On ...
4 years, 4 months ago (2016-08-03 05:12:37 UTC) #10
gsennton
On 2016/08/03 05:12:37, boliu wrote: > https://codereview.chromium.org/2201783003/diff/20001/android_webview/test/BUILD.gn > File android_webview/test/BUILD.gn (right): > > https://codereview.chromium.org/2201783003/diff/20001/android_webview/test/BUILD.gn#newcode210 > ...
4 years, 4 months ago (2016-08-03 08:40:51 UTC) #11
boliu
On 2016/08/03 08:40:51, gsennton_OOO_back_8.15 wrote: > On 2016/08/03 05:12:37, boliu wrote: > > > https://codereview.chromium.org/2201783003/diff/20001/android_webview/test/BUILD.gn ...
4 years, 4 months ago (2016-08-04 17:39:09 UTC) #12
gsennton
> > Are you sure they are ok living in the test apk? If yes, ...
4 years, 4 months ago (2016-08-15 09:17:05 UTC) #13
gsennton
Question: how does the multi-process flag work? (how are we passing the flag to WebView ...
4 years, 3 months ago (2016-09-06 15:26:08 UTC) #14
boliu
On 2016/09/06 15:26:08, gsennton wrote: > Question: how does the multi-process flag work? (how are ...
4 years, 3 months ago (2016-09-07 17:01:31 UTC) #15
boliu
https://codereview.chromium.org/2201783003/diff/60001/android_webview/javatests/src/org/chromium/android_webview/test/JniCrashTest.java File android_webview/javatests/src/org/chromium/android_webview/test/JniCrashTest.java (right): https://codereview.chromium.org/2201783003/diff/60001/android_webview/javatests/src/org/chromium/android_webview/test/JniCrashTest.java#newcode31 android_webview/javatests/src/org/chromium/android_webview/test/JniCrashTest.java:31: private AwTestContainerView mTestContainerView; these all appear unused https://codereview.chromium.org/2201783003/diff/60001/android_webview/javatests/src/org/chromium/android_webview/test/JniCrashTest.java#newcode84 android_webview/javatests/src/org/chromium/android_webview/test/JniCrashTest.java:84: ...
4 years, 3 months ago (2016-09-07 18:24:08 UTC) #16
boliu
https://codereview.chromium.org/2201783003/diff/20001/android_webview/javatests/src/org/chromium/android_webview/test/JniCrashTest.java File android_webview/javatests/src/org/chromium/android_webview/test/JniCrashTest.java (right): https://codereview.chromium.org/2201783003/diff/20001/android_webview/javatests/src/org/chromium/android_webview/test/JniCrashTest.java#newcode101 android_webview/javatests/src/org/chromium/android_webview/test/JniCrashTest.java:101: assertNotNull(getActivity().startService(intent)); On 2016/09/06 15:26:08, gsennton wrote: > On 2016/08/02 ...
4 years, 3 months ago (2016-09-07 18:32:40 UTC) #17
gsennton
Woooow, this CL grew a lot! :/ Anyway, the test-class logic is simplified while most ...
4 years, 3 months ago (2016-09-14 13:51:52 UTC) #18
boliu
you still think all this complexity and maintenance cost is worth adding this test..? https://codereview.chromium.org/2201783003/diff/60001/android_webview/javatests/src/org/chromium/android_webview/test/JniCrashTest.java ...
4 years, 3 months ago (2016-09-15 04:57:53 UTC) #19
gsennton
Not sure whether it is still worth it :/ It feels like supporting both mine ...
4 years, 3 months ago (2016-09-15 10:02:04 UTC) #20
Torne
https://codereview.chromium.org/2201783003/diff/80001/android_webview/javatests/src/org/chromium/android_webview/test/SeparateServiceTestBase.java File android_webview/javatests/src/org/chromium/android_webview/test/SeparateServiceTestBase.java (right): https://codereview.chromium.org/2201783003/diff/80001/android_webview/javatests/src/org/chromium/android_webview/test/SeparateServiceTestBase.java#newcode154 android_webview/javatests/src/org/chromium/android_webview/test/SeparateServiceTestBase.java:154: mProcessPidMessageReceivedLatch.countDown(); On 2016/09/15 04:57:53, boliu wrote: > It's really ...
4 years, 3 months ago (2016-09-15 10:26:44 UTC) #21
boliu
https://codereview.chromium.org/2201783003/diff/80001/android_webview/javatests/src/org/chromium/android_webview/test/SeparateServiceTestBase.java File android_webview/javatests/src/org/chromium/android_webview/test/SeparateServiceTestBase.java (right): https://codereview.chromium.org/2201783003/diff/80001/android_webview/javatests/src/org/chromium/android_webview/test/SeparateServiceTestBase.java#newcode154 android_webview/javatests/src/org/chromium/android_webview/test/SeparateServiceTestBase.java:154: mProcessPidMessageReceivedLatch.countDown(); On 2016/09/15 10:26:43, Torne wrote: > On 2016/09/15 ...
4 years, 3 months ago (2016-09-15 16:47:51 UTC) #22
Torne
> ANR won't happen in service I think. *Processes* ANR, not activities/services. If the system ...
4 years, 3 months ago (2016-09-15 16:53:48 UTC) #23
boliu
On 2016/09/15 16:53:48, Torne wrote: > > ANR won't happen in service I think. > ...
4 years, 3 months ago (2016-09-15 16:57:53 UTC) #24
Torne
On 2016/09/15 16:57:53, boliu wrote: > On 2016/09/15 16:53:48, Torne wrote: > > > ANR ...
4 years, 3 months ago (2016-09-15 17:01:33 UTC) #25
gsennton
https://codereview.chromium.org/2201783003/diff/80001/android_webview/test/shell/src/org/chromium/android_webview/test/ShouldOverrideUrlLoadingJniCrashTestRunner.java File android_webview/test/shell/src/org/chromium/android_webview/test/ShouldOverrideUrlLoadingJniCrashTestRunner.java (right): https://codereview.chromium.org/2201783003/diff/80001/android_webview/test/shell/src/org/chromium/android_webview/test/ShouldOverrideUrlLoadingJniCrashTestRunner.java#newcode49 android_webview/test/shell/src/org/chromium/android_webview/test/ShouldOverrideUrlLoadingJniCrashTestRunner.java:49: // We don't call the original uncaughtExceptionHandler here - ...
4 years, 3 months ago (2016-09-15 17:08:35 UTC) #26
boliu
https://codereview.chromium.org/2201783003/diff/80001/android_webview/test/shell/src/org/chromium/android_webview/test/ShouldOverrideUrlLoadingJniCrashTestRunner.java File android_webview/test/shell/src/org/chromium/android_webview/test/ShouldOverrideUrlLoadingJniCrashTestRunner.java (right): https://codereview.chromium.org/2201783003/diff/80001/android_webview/test/shell/src/org/chromium/android_webview/test/ShouldOverrideUrlLoadingJniCrashTestRunner.java#newcode49 android_webview/test/shell/src/org/chromium/android_webview/test/ShouldOverrideUrlLoadingJniCrashTestRunner.java:49: // We don't call the original uncaughtExceptionHandler here - ...
4 years, 3 months ago (2016-09-15 17:13:12 UTC) #27
gsennton
https://codereview.chromium.org/2201783003/diff/80001/android_webview/test/shell/src/org/chromium/android_webview/test/ShouldOverrideUrlLoadingJniCrashTestRunner.java File android_webview/test/shell/src/org/chromium/android_webview/test/ShouldOverrideUrlLoadingJniCrashTestRunner.java (right): https://codereview.chromium.org/2201783003/diff/80001/android_webview/test/shell/src/org/chromium/android_webview/test/ShouldOverrideUrlLoadingJniCrashTestRunner.java#newcode49 android_webview/test/shell/src/org/chromium/android_webview/test/ShouldOverrideUrlLoadingJniCrashTestRunner.java:49: // We don't call the original uncaughtExceptionHandler here - ...
4 years, 3 months ago (2016-09-15 17:17:21 UTC) #28
boliu
https://codereview.chromium.org/2201783003/diff/80001/android_webview/test/shell/src/org/chromium/android_webview/test/ShouldOverrideUrlLoadingJniCrashTestRunner.java File android_webview/test/shell/src/org/chromium/android_webview/test/ShouldOverrideUrlLoadingJniCrashTestRunner.java (right): https://codereview.chromium.org/2201783003/diff/80001/android_webview/test/shell/src/org/chromium/android_webview/test/ShouldOverrideUrlLoadingJniCrashTestRunner.java#newcode49 android_webview/test/shell/src/org/chromium/android_webview/test/ShouldOverrideUrlLoadingJniCrashTestRunner.java:49: // We don't call the original uncaughtExceptionHandler here - ...
4 years, 3 months ago (2016-09-15 17:22:46 UTC) #29
boliu
On 2016/09/15 10:02:04, gsennton wrote: > Not sure whether it is still worth it :/ ...
4 years, 3 months ago (2016-09-15 18:04:04 UTC) #30
gsennton
I think I'd like to implement the 'block in UEH to wait for message from ...
4 years, 3 months ago (2016-09-16 10:58:36 UTC) #31
gsennton
3 years, 7 months ago (2017-05-10 10:05:09 UTC) #32
I'm gonna close this so it won't show up in your codereview-queue.

IIRC I gave up here because the test was flaky - and that was probably because
waiting within an UncaughtExceptionHandler on the UI thread (while trying to
communicate over binder with another current process) is not really something
that is supported.

Powered by Google App Engine
This is Rietveld 408576698