TestAwContentsClient.java revision 6e8cce623b6e4fe0c9e4af605d675dd9d0338c38
1a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)// Copyright 2012 The Chromium Authors. All rights reserved. 25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// found in the LICENSE file. 45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)package org.chromium.android_webview.test; 65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 7a3f7b4e666c476898878fa745f637129375cd889Ben Murdochimport android.graphics.Picture; 85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)import android.webkit.ConsoleMessage; 95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 10a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)import org.chromium.base.ThreadUtils; 115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)import org.chromium.content.browser.test.util.CallbackHelper; 122a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)import org.chromium.content.browser.test.util.TestCallbackHelperContainer.OnEvaluateJavaScriptResultHelper; 135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)import org.chromium.content.browser.test.util.TestCallbackHelperContainer.OnPageFinishedHelper; 142a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)import org.chromium.content.browser.test.util.TestCallbackHelperContainer.OnPageStartedHelper; 155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)import org.chromium.content.browser.test.util.TestCallbackHelperContainer.OnReceivedErrorHelper; 165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 17010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)/** 18010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * AwContentsClient subclass used for testing. 19010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) */ 20010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)public class TestAwContentsClient extends NullContentsClient { 212a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) private String mUpdatedTitle; 222a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) private final OnPageStartedHelper mOnPageStartedHelper; 232a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) private final OnPageFinishedHelper mOnPageFinishedHelper; 242a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) private final OnReceivedErrorHelper mOnReceivedErrorHelper; 25a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch private final OnDownloadStartHelper mOnDownloadStartHelper; 26a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch private final OnReceivedLoginRequestHelper mOnReceivedLoginRequestHelper; 272a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) private final OnEvaluateJavaScriptResultHelper mOnEvaluateJavaScriptResultHelper; 282a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) private final AddMessageToConsoleHelper mAddMessageToConsoleHelper; 292a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) private final OnScaleChangedHelper mOnScaleChangedHelper; 30a3f7b4e666c476898878fa745f637129375cd889Ben Murdoch private final PictureListenerHelper mPictureListenerHelper; 315d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) private final ShouldOverrideUrlLoadingHelper mShouldOverrideUrlLoadingHelper; 326e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) private final DoUpdateVisitedHistoryHelper mDoUpdateVisitedHistoryHelper; 335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) public TestAwContentsClient() { 351e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles) super(ThreadUtils.getUiThreadLooper()); 365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) mOnPageStartedHelper = new OnPageStartedHelper(); 375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) mOnPageFinishedHelper = new OnPageFinishedHelper(); 385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) mOnReceivedErrorHelper = new OnReceivedErrorHelper(); 39a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch mOnDownloadStartHelper = new OnDownloadStartHelper(); 40a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch mOnReceivedLoginRequestHelper = new OnReceivedLoginRequestHelper(); 415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) mOnEvaluateJavaScriptResultHelper = new OnEvaluateJavaScriptResultHelper(); 425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) mAddMessageToConsoleHelper = new AddMessageToConsoleHelper(); 432a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) mOnScaleChangedHelper = new OnScaleChangedHelper(); 44a3f7b4e666c476898878fa745f637129375cd889Ben Murdoch mPictureListenerHelper = new PictureListenerHelper(); 455d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) mShouldOverrideUrlLoadingHelper = new ShouldOverrideUrlLoadingHelper(); 466e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) mDoUpdateVisitedHistoryHelper = new DoUpdateVisitedHistoryHelper(); 475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } 485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) public OnPageStartedHelper getOnPageStartedHelper() { 505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return mOnPageStartedHelper; 515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } 525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) public OnPageFinishedHelper getOnPageFinishedHelper() { 545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return mOnPageFinishedHelper; 555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } 565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) public OnReceivedErrorHelper getOnReceivedErrorHelper() { 585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return mOnReceivedErrorHelper; 595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } 605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 61a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch public OnDownloadStartHelper getOnDownloadStartHelper() { 62a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch return mOnDownloadStartHelper; 63a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch } 64a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch 65a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch public OnReceivedLoginRequestHelper getOnReceivedLoginRequestHelper() { 66a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch return mOnReceivedLoginRequestHelper; 67a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch } 68a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch 695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) public OnEvaluateJavaScriptResultHelper getOnEvaluateJavaScriptResultHelper() { 705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return mOnEvaluateJavaScriptResultHelper; 715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } 725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 735d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) public ShouldOverrideUrlLoadingHelper getShouldOverrideUrlLoadingHelper() { 745d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) return mShouldOverrideUrlLoadingHelper; 755d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) } 765d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) public AddMessageToConsoleHelper getAddMessageToConsoleHelper() { 785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return mAddMessageToConsoleHelper; 795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } 805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 816e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) public DoUpdateVisitedHistoryHelper getDoUpdateVisitedHistoryHelper() { 826e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) return mDoUpdateVisitedHistoryHelper; 836e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) } 846e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) 85010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) /** 86010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * Callback helper for onScaleChangedScaled. 87010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) */ 882a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) public static class OnScaleChangedHelper extends CallbackHelper { 892a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) private float mPreviousScale; 902a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) private float mCurrentScale; 912a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) public void notifyCalled(float oldScale, float newScale) { 922a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) mPreviousScale = oldScale; 932a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) mCurrentScale = newScale; 942a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) super.notifyCalled(); 952a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) } 96a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch 97a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch public float getOldScale() { 98a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch return mPreviousScale; 99a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch } 100a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch 101a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch public float getNewScale() { 102a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch return mCurrentScale; 103a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch } 104a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch 1052a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) public float getLastScaleRatio() { 1062a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) assert getCallCount() > 0; 1072a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) return mCurrentScale / mPreviousScale; 1082a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) } 1092a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) } 1102a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 1112a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) public OnScaleChangedHelper getOnScaleChangedHelper() { 1122a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) return mOnScaleChangedHelper; 1132a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) } 1142a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 115a3f7b4e666c476898878fa745f637129375cd889Ben Murdoch public PictureListenerHelper getPictureListenerHelper() { 116a3f7b4e666c476898878fa745f637129375cd889Ben Murdoch return mPictureListenerHelper; 117a3f7b4e666c476898878fa745f637129375cd889Ben Murdoch } 118a3f7b4e666c476898878fa745f637129375cd889Ben Murdoch 1192a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) @Override 120c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) public void onReceivedTitle(String title) { 1212a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) mUpdatedTitle = title; 1222a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) } 1232a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 1242a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) public String getUpdatedTitle() { 1252a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) return mUpdatedTitle; 1262a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) } 1272a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 1285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @Override 1295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) public void onPageStarted(String url) { 1305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) mOnPageStartedHelper.notifyCalled(url); 1315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } 1325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @Override 1345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) public void onPageFinished(String url) { 1355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) mOnPageFinishedHelper.notifyCalled(url); 1365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } 1375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @Override 1395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) public void onReceivedError(int errorCode, String description, String failingUrl) { 1405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) mOnReceivedErrorHelper.notifyCalled(errorCode, description, failingUrl); 1415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } 1425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 143a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch /** 144a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch * CallbackHelper for OnDownloadStart. 145a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch */ 146a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch public static class OnDownloadStartHelper extends CallbackHelper { 147a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch private String mUrl; 148a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch private String mUserAgent; 149a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch private String mContentDisposition; 150a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch private String mMimeType; 151a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch long mContentLength; 152a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch 153a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch public String getUrl() { 154a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch assert getCallCount() > 0; 155a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch return mUrl; 156a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch } 157a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch 158a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch public String getUserAgent() { 159a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch assert getCallCount() > 0; 160a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch return mUserAgent; 161a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch } 162a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch 163a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch public String getContentDisposition() { 164a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch assert getCallCount() > 0; 165a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch return mContentDisposition; 166a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch } 167a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch 168a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch public String getMimeType() { 169a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch assert getCallCount() > 0; 170a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch return mMimeType; 171a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch } 172a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch 173a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch public long getContentLength() { 174a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch assert getCallCount() > 0; 175a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch return mContentLength; 176a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch } 177a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch 178a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch public void notifyCalled(String url, String userAgent, String contentDisposition, 179a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch String mimeType, long contentLength) { 180a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch mUrl = url; 181a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch mUserAgent = userAgent; 182a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch mContentDisposition = contentDisposition; 183a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch mMimeType = mimeType; 184a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch mContentLength = contentLength; 185a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch notifyCalled(); 186a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch } 187a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch } 188a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch 189a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch @Override 190a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch public void onDownloadStart(String url, 191a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch String userAgent, 192a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch String contentDisposition, 193a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch String mimeType, 194a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch long contentLength) { 195a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch getOnDownloadStartHelper().notifyCalled(url, userAgent, contentDisposition, mimeType, 196a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch contentLength); 197a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch } 198a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch 199a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch /** 200a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch * CallbackHelper for OnReceivedLoginRequest. 201a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch */ 202a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch public static class OnReceivedLoginRequestHelper extends CallbackHelper { 203a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch private String mRealm; 204a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch private String mAccount; 205a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch private String mArgs; 206a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch 207a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch public String getRealm() { 208a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch assert getCallCount() > 0; 209a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch return mRealm; 210a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch } 211a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch 212a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch public String getAccount() { 213a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch assert getCallCount() > 0; 214a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch return mAccount; 215a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch } 216a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch 217a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch public String getArgs() { 218a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch assert getCallCount() > 0; 219a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch return mArgs; 220a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch } 221a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch 222a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch public void notifyCalled(String realm, String account, String args) { 223a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch mRealm = realm; 224a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch mAccount = account; 225a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch mArgs = args; 226a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch notifyCalled(); 227a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch } 228a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch } 229a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch 230a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch @Override 231a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch public void onReceivedLoginRequest(String realm, String account, String args) { 232a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch getOnReceivedLoginRequestHelper().notifyCalled(realm, account, args); 233a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch } 234a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch 2355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @Override 2365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) public boolean onConsoleMessage(ConsoleMessage consoleMessage) { 2372a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) mAddMessageToConsoleHelper.notifyCalled(consoleMessage.messageLevel().ordinal(), 2382a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) consoleMessage.message(), consoleMessage.lineNumber(), consoleMessage.sourceId()); 2395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return false; 2405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } 2415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 242010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) /** 243010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * Callback helper for onScaleChangedScaled. 244010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) */ 2452a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) public static class AddMessageToConsoleHelper extends CallbackHelper { 2465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) private int mLevel; 2475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) private String mMessage; 2485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) private int mLineNumber; 2495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) private String mSourceId; 2505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) public int getLevel() { 2525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) assert getCallCount() > 0; 2535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return mLevel; 2545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } 2555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) public String getMessage() { 2575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) assert getCallCount() > 0; 2585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return mMessage; 2595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } 2605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) public int getLineNumber() { 2625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) assert getCallCount() > 0; 2635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return mLineNumber; 2645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } 2655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) public String getSourceId() { 2675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) assert getCallCount() > 0; 2685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return mSourceId; 2695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } 2702a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 2712a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) void notifyCalled(int level, String message, int lineNumer, String sourceId) { 2722a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) mLevel = level; 2732a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) mMessage = message; 2742a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) mLineNumber = lineNumer; 2752a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) mSourceId = sourceId; 2762a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) notifyCalled(); 2772a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) } 2782a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) } 2792a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 2802a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) @Override 2812a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) public void onScaleChangedScaled(float oldScale, float newScale) { 2822a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) mOnScaleChangedHelper.notifyCalled(oldScale, newScale); 2835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } 284a3f7b4e666c476898878fa745f637129375cd889Ben Murdoch 285010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) /** 286010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * Callback helper for onScaleChangedScaled. 287010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) */ 288a3f7b4e666c476898878fa745f637129375cd889Ben Murdoch public static class PictureListenerHelper extends CallbackHelper { 289a3f7b4e666c476898878fa745f637129375cd889Ben Murdoch // Generally null, depending on |invalidationOnly| in enableOnNewPicture() 290a3f7b4e666c476898878fa745f637129375cd889Ben Murdoch private Picture mPicture; 291a3f7b4e666c476898878fa745f637129375cd889Ben Murdoch 292a3f7b4e666c476898878fa745f637129375cd889Ben Murdoch public Picture getPicture() { 293a3f7b4e666c476898878fa745f637129375cd889Ben Murdoch assert getCallCount() > 0; 294a3f7b4e666c476898878fa745f637129375cd889Ben Murdoch return mPicture; 295a3f7b4e666c476898878fa745f637129375cd889Ben Murdoch } 296a3f7b4e666c476898878fa745f637129375cd889Ben Murdoch 297a3f7b4e666c476898878fa745f637129375cd889Ben Murdoch void notifyCalled(Picture picture) { 298a3f7b4e666c476898878fa745f637129375cd889Ben Murdoch mPicture = picture; 299a3f7b4e666c476898878fa745f637129375cd889Ben Murdoch notifyCalled(); 300a3f7b4e666c476898878fa745f637129375cd889Ben Murdoch } 301a3f7b4e666c476898878fa745f637129375cd889Ben Murdoch } 302a3f7b4e666c476898878fa745f637129375cd889Ben Murdoch 303a3f7b4e666c476898878fa745f637129375cd889Ben Murdoch @Override 304a3f7b4e666c476898878fa745f637129375cd889Ben Murdoch public void onNewPicture(Picture picture) { 305a3f7b4e666c476898878fa745f637129375cd889Ben Murdoch mPictureListenerHelper.notifyCalled(picture); 306a3f7b4e666c476898878fa745f637129375cd889Ben Murdoch } 3075d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 308010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) /** 309010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * Callback helper for onScaleChangedScaled. 310010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) */ 3115d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) public static class ShouldOverrideUrlLoadingHelper extends CallbackHelper { 3125d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) private String mShouldOverrideUrlLoadingUrl; 3135d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) private String mPreviousShouldOverrideUrlLoadingUrl; 3145d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) private boolean mShouldOverrideUrlLoadingReturnValue = false; 3155d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) void setShouldOverrideUrlLoadingUrl(String url) { 3165d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) mShouldOverrideUrlLoadingUrl = url; 3175d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) } 3185d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) void setPreviousShouldOverrideUrlLoadingUrl(String url) { 3195d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) mPreviousShouldOverrideUrlLoadingUrl = url; 3205d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) } 3215d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) void setShouldOverrideUrlLoadingReturnValue(boolean value) { 3225d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) mShouldOverrideUrlLoadingReturnValue = value; 3235d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) } 3245d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) public String getShouldOverrideUrlLoadingUrl() { 3255d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) assert getCallCount() > 0; 3265d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) return mShouldOverrideUrlLoadingUrl; 3275d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) } 3285d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) public String getPreviousShouldOverrideUrlLoadingUrl() { 3295d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) assert getCallCount() > 1; 3305d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) return mPreviousShouldOverrideUrlLoadingUrl; 3315d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) } 3325d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) public boolean getShouldOverrideUrlLoadingReturnValue() { 3335d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) return mShouldOverrideUrlLoadingReturnValue; 3345d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) } 3355d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) public void notifyCalled(String url) { 3365d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) mPreviousShouldOverrideUrlLoadingUrl = mShouldOverrideUrlLoadingUrl; 3375d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) mShouldOverrideUrlLoadingUrl = url; 3385d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) notifyCalled(); 3395d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) } 3405d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) } 3415d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 3425d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) @Override 3435d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) public boolean shouldOverrideUrlLoading(String url) { 3445d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) super.shouldOverrideUrlLoading(url); 3455d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) boolean returnValue = 3465d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) mShouldOverrideUrlLoadingHelper.getShouldOverrideUrlLoadingReturnValue(); 3475d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) mShouldOverrideUrlLoadingHelper.notifyCalled(url); 3485d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) return returnValue; 3495d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) } 3506e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) 3516e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) 3526e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) /** 3536e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) * Callback helper for doUpdateVisitedHistory. 3546e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) */ 3556e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) public static class DoUpdateVisitedHistoryHelper extends CallbackHelper { 3566e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) String mUrl; 3576e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) boolean mIsReload; 3586e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) 3596e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) public String getUrl() { 3606e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) assert getCallCount() > 0; 3616e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) return mUrl; 3626e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) } 3636e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) 3646e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) public boolean getIsReload() { 3656e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) assert getCallCount() > 0; 3666e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) return mIsReload; 3676e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) } 3686e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) 3696e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) public void notifyCalled(String url, boolean isReload) { 3706e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) mUrl = url; 3716e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) mIsReload = isReload; 3726e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) notifyCalled(); 3736e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) } 3746e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) } 3756e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) 3766e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) @Override 3776e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) public void doUpdateVisitedHistory(String url, boolean isReload) { 3786e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) getDoUpdateVisitedHistoryHelper().notifyCalled(url, isReload); 3796e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) } 3805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 381