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

Issue 281563002: [Android WebView] Filter out error page URL from onPageFinished to un-flake tests (Closed)

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

Description

[Android WebView] Filter out error page URL from onPageFinished to un-flake tests The three tests being flaky (testContentUrlAccessWithTwoViews, testFileUrlAccessWithTwoViews and testCacheModeWithTwoViews) are all implicitly rely on the fact that when a page load error happens, onPageFinished is only called once. This behaviour had been broken since about M33, but due to happy timing, it just didn't cause the tests to fail. The solution is to filter onPageFinished callbacks on AwContentsClient side, since the flow of passing the URL of the error page appears perfectly normal in the context of Chrome. Other changes: -- testContentUrlAccessWithTwoViews was in fact incorrect, as it wasn't expecting an error in case when access to content: URLs is blocked; -- modified ClientOnPageFinishedTest.testOnPageFinishedCalledAfterError to catch situations when onPageFinished / onReceivedError is called twice, to avoid future regressions; -- added ClientOnPageStartedTest to catch similar problems with onPageStarted. BUG=370950, 371983 Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=277787

Patch Set 1 #

Patch Set 2 : Filter out the error page URL on the side of AwContentsClient #

Total comments: 2

Patch Set 3 : Fixed AwContentsTest#testEscapingOfErrorPage #

Total comments: 4

Patch Set 4 : Comments addressed #

Patch Set 5 : Restore import of Runnable #

Messages

Total messages: 21 (0 generated)
mnaganov (inactive)
6 years, 7 months ago (2014-05-12 12:07:51 UTC) #1
mkosiba (inactive)
Maybe I'm misunderstanding your explanation but it seems to me that these aren't just test ...
6 years, 7 months ago (2014-05-12 14:41:42 UTC) #2
mnaganov (inactive)
On 2014/05/12 14:41:42, mkosiba wrote: > Maybe I'm misunderstanding your explanation but it seems to ...
6 years, 7 months ago (2014-05-13 05:47:10 UTC) #3
mnaganov (inactive)
Marcin, PTAL! This time looks like a working solution to return back to behaviour of ...
6 years, 6 months ago (2014-06-06 10:53:38 UTC) #4
mnaganov (inactive)
On 2014/06/06 10:53:38, Mikhail Naganov (Cr) wrote: > Marcin, PTAL! > > This time looks ...
6 years, 6 months ago (2014-06-06 13:35:38 UTC) #5
mkosiba (inactive)
lgtm https://codereview.chromium.org/281563002/diff/20001/android_webview/javatests/src/org/chromium/android_webview/test/ClientOnPageFinishedTest.java File android_webview/javatests/src/org/chromium/android_webview/test/ClientOnPageFinishedTest.java (right): https://codereview.chromium.org/281563002/diff/20001/android_webview/javatests/src/org/chromium/android_webview/test/ClientOnPageFinishedTest.java#newcode54 android_webview/javatests/src/org/chromium/android_webview/test/ClientOnPageFinishedTest.java:54: class OurTestAwContentsClient extends TestAwContentsClient { nit: maybe LocalTestAwContentsClient? ...
6 years, 6 months ago (2014-06-06 14:25:04 UTC) #6
mnaganov (inactive)
https://codereview.chromium.org/281563002/diff/20001/android_webview/javatests/src/org/chromium/android_webview/test/ClientOnPageFinishedTest.java File android_webview/javatests/src/org/chromium/android_webview/test/ClientOnPageFinishedTest.java (right): https://codereview.chromium.org/281563002/diff/20001/android_webview/javatests/src/org/chromium/android_webview/test/ClientOnPageFinishedTest.java#newcode54 android_webview/javatests/src/org/chromium/android_webview/test/ClientOnPageFinishedTest.java:54: class OurTestAwContentsClient extends TestAwContentsClient { On 2014/06/06 14:25:04, mkosiba ...
6 years, 6 months ago (2014-06-16 15:00:42 UTC) #7
mnaganov (inactive)
Marcus, can you please do an OWNER's review for content/browser/android and content/public/android?
6 years, 6 months ago (2014-06-16 18:16:03 UTC) #8
bulach
some comments below: https://codereview.chromium.org/281563002/diff/40001/android_webview/java/src/org/chromium/android_webview/AwContentsClient.java File android_webview/java/src/org/chromium/android_webview/AwContentsClient.java (right): https://codereview.chromium.org/281563002/diff/40001/android_webview/java/src/org/chromium/android_webview/AwContentsClient.java#newcode65 android_webview/java/src/org/chromium/android_webview/AwContentsClient.java:65: if (isMainFrame && !isErrorPage) { see ...
6 years, 6 months ago (2014-06-17 00:42:13 UTC) #9
mnaganov (inactive)
Thanks, Marcus! ...and with your comments addressed, I don't need your owner's approval anymore :P ...
6 years, 6 months ago (2014-06-17 09:52:15 UTC) #10
mnaganov (inactive)
The CQ bit was checked by mnaganov@chromium.org
6 years, 6 months ago (2014-06-17 09:52:37 UTC) #11
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/mnaganov@chromium.org/281563002/60001
6 years, 6 months ago (2014-06-17 09:54:44 UTC) #12
commit-bot: I haz the power
The CQ bit was unchecked by commit-bot@chromium.org
6 years, 6 months ago (2014-06-17 12:42:53 UTC) #13
commit-bot: I haz the power
Try jobs failed on following builders: android_clang_dbg on tryserver.chromium (http://build.chromium.org/p/tryserver.chromium/builders/android_clang_dbg/builds/152748)
6 years, 6 months ago (2014-06-17 12:42:54 UTC) #14
mnaganov (inactive)
The CQ bit was checked by mnaganov@chromium.org
6 years, 6 months ago (2014-06-17 12:50:42 UTC) #15
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/mnaganov@chromium.org/281563002/80001
6 years, 6 months ago (2014-06-17 12:51:20 UTC) #16
bulach
On 2014/06/17 09:52:15, Mikhail Naganov (Cr) wrote: > Thanks, Marcus! > > ...and with your ...
6 years, 6 months ago (2014-06-17 16:26:37 UTC) #17
commit-bot: I haz the power
Change committed as 277787
6 years, 6 months ago (2014-06-17 17:00:45 UTC) #18
boliu
Getting some flakes with ClientOnPageFinishedTest#testOnPageFinishedCalledAfterError but maybe not enough to disable yet: http://build.chromium.org/p/tryserver.chromium/builders/android_dbg_triggered_tests/builds/163323 http://build.chromium.org/p/tryserver.chromium/builders/android_dbg_triggered_tests/builds/163330 1a8bb: ...
6 years, 6 months ago (2014-06-17 21:22:56 UTC) #19
mnaganov (inactive)
Yes, I see 2 failures on the flakiness dashboard. I'll try doing an endurance run ...
6 years, 6 months ago (2014-06-18 08:33:20 UTC) #20
mnaganov (inactive)
6 years, 6 months ago (2014-06-19 07:16:41 UTC) #21
OK, so onPageFinished is definitely flaky: http://code.google.com/p/
chromium/issues/detail?id=386300


On Wed, Jun 18, 2014 at 9:32 AM, Mikhail Naganov <mnaganov@chromium.org>
wrote:

> Yes, I see 2 failures on the flakiness dashboard. I'll try doing an
> endurance run for the test, maybe it will reveal something.
>
>
> On Tue, Jun 17, 2014 at 10:22 PM, <boliu@chromium.org> wrote:
>
>> Getting some flakes with
>> ClientOnPageFinishedTest#testOnPageFinishedCalledAfterError but maybe
>> not enough
>> to disable yet:
>>
>> http://build.chromium.org/p/tryserver.chromium/builders/
>> android_dbg_triggered_tests/builds/163323
>> http://build.chromium.org/p/tryserver.chromium/builders/
>> android_dbg_triggered_tests/builds/163330
>>
>> 1a8bb:  06-17 20:54:31.848 22795 22795 W System.err:
>> junit.framework.AssertionFailedError: onPageFinished called twice for
>> data:text/html,chromewebdata expected:<false> but was:<true>
>> 1a8bb:  06-17 20:54:31.848 22795 22795 W System.err:    at
>> junit.framework.Assert.fail(Assert.java:50)
>> 1a8bb:  06-17 20:54:31.848 22795 22795 W System.err:    at
>> junit.framework.Assert.failNotEquals(Assert.java:287)
>> 1a8bb:  06-17 20:54:31.848 22795 22795 W System.err:    at
>> junit.framework.Assert.assertEquals(Assert.java:67)
>> 1a8bb:  06-17 20:54:31.858 22795 22795 W System.err:    at
>> junit.framework.Assert.assertEquals(Assert.java:147)
>> 1a8bb:  06-17 20:54:31.858 22795 22795 W System.err:    at
>> org.chromium.android_webview.test.ClientOnPageFinishedTest$
>> 1LocalTestClient.onPageFinished(ClientOnPageFinishedTest.java:75)
>> 1a8bb:  06-17 20:54:31.858 22795 22795 W System.err:    at
>> org.chromium.android_webview.AwContentsClient$AwWebContentsObserver.
>> didFailLoad(AwContentsClient.java:89)
>> 1a8bb:  06-17 20:54:31.858 22795 22795 W System.err:    at
>> org.chromium.base.SystemMessageHandler.nativeDoRunLoopOnce(Native Method)
>> 1a8bb:  06-17 20:54:31.858 22795 22795 W System.err:    at
>> org.chromium.base.SystemMessageHandler.handleMessage(
>> SystemMessageHandler.java:28)
>> 1a8bb:  06-17 20:54:31.858 22795 22795 W System.err:    at
>> android.os.Handler.dispatchMessage(Handler.java:102)
>> 1a8bb:  06-17 20:54:31.858 22795 22795 W System.err:    at
>> android.os.Looper.loop(Looper.java:136)
>> 1a8bb:  06-17 20:54:31.858 22795 22795 W System.err:    at
>> android.app.ActivityThread.main(ActivityThread.java:5017)
>> 1a8bb:  06-17 20:54:31.858 22795 22795 W System.err:    at
>> java.lang.reflect.Method.invokeNative(Native Method)
>> 1a8bb:  06-17 20:54:31.858 22795 22795 W System.err:    at
>> java.lang.reflect.Method.invoke(Method.java:515)
>> 1a8bb:  06-17 20:54:31.858 22795 22795 W System.err:    at
>> com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(
>> ZygoteInit.java:779)
>> 1a8bb:  06-17 20:54:31.858 22795 22795 W System.err:    at
>> com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
>> 1a8bb:  06-17 20:54:31.858 22795 22795 W System.err:    at
>> dalvik.system.NativeStart.main(Native Method)
>>
>> https://codereview.chromium.org/281563002/
>>
>
>

To unsubscribe from this group and stop receiving emails from it, send an email
to chromium-reviews+unsubscribe@chromium.org.

Powered by Google App Engine
This is Rietveld 408576698