TestAwContentsClient.java revision 010d83a9304c5a91596085d917d248abff47903a
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; 325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) public TestAwContentsClient() { 341e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles) super(ThreadUtils.getUiThreadLooper()); 355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) mOnPageStartedHelper = new OnPageStartedHelper(); 365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) mOnPageFinishedHelper = new OnPageFinishedHelper(); 375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) mOnReceivedErrorHelper = new OnReceivedErrorHelper(); 38a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch mOnDownloadStartHelper = new OnDownloadStartHelper(); 39a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch mOnReceivedLoginRequestHelper = new OnReceivedLoginRequestHelper(); 405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) mOnEvaluateJavaScriptResultHelper = new OnEvaluateJavaScriptResultHelper(); 415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) mAddMessageToConsoleHelper = new AddMessageToConsoleHelper(); 422a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) mOnScaleChangedHelper = new OnScaleChangedHelper(); 43a3f7b4e666c476898878fa745f637129375cd889Ben Murdoch mPictureListenerHelper = new PictureListenerHelper(); 445d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) mShouldOverrideUrlLoadingHelper = new ShouldOverrideUrlLoadingHelper(); 455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } 465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) public OnPageStartedHelper getOnPageStartedHelper() { 485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return mOnPageStartedHelper; 495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } 505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) public OnPageFinishedHelper getOnPageFinishedHelper() { 525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return mOnPageFinishedHelper; 535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } 545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) public OnReceivedErrorHelper getOnReceivedErrorHelper() { 565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return mOnReceivedErrorHelper; 575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } 585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 59a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch public OnDownloadStartHelper getOnDownloadStartHelper() { 60a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch return mOnDownloadStartHelper; 61a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch } 62a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch 63a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch public OnReceivedLoginRequestHelper getOnReceivedLoginRequestHelper() { 64a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch return mOnReceivedLoginRequestHelper; 65a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch } 66a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch 675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) public OnEvaluateJavaScriptResultHelper getOnEvaluateJavaScriptResultHelper() { 685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return mOnEvaluateJavaScriptResultHelper; 695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } 705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 715d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) public ShouldOverrideUrlLoadingHelper getShouldOverrideUrlLoadingHelper() { 725d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) return mShouldOverrideUrlLoadingHelper; 735d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) } 745d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) public AddMessageToConsoleHelper getAddMessageToConsoleHelper() { 765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return mAddMessageToConsoleHelper; 775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } 785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 79010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) /** 80010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * Callback helper for onScaleChangedScaled. 81010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) */ 822a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) public static class OnScaleChangedHelper extends CallbackHelper { 832a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) private float mPreviousScale; 842a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) private float mCurrentScale; 852a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) public void notifyCalled(float oldScale, float newScale) { 862a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) mPreviousScale = oldScale; 872a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) mCurrentScale = newScale; 882a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) super.notifyCalled(); 892a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) } 90a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch 91a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch public float getOldScale() { 92a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch return mPreviousScale; 93a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch } 94a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch 95a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch public float getNewScale() { 96a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch return mCurrentScale; 97a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch } 98a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch 992a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) public float getLastScaleRatio() { 1002a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) assert getCallCount() > 0; 1012a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) return mCurrentScale / mPreviousScale; 1022a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) } 1032a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) } 1042a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 1052a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) public OnScaleChangedHelper getOnScaleChangedHelper() { 1062a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) return mOnScaleChangedHelper; 1072a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) } 1082a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 109a3f7b4e666c476898878fa745f637129375cd889Ben Murdoch public PictureListenerHelper getPictureListenerHelper() { 110a3f7b4e666c476898878fa745f637129375cd889Ben Murdoch return mPictureListenerHelper; 111a3f7b4e666c476898878fa745f637129375cd889Ben Murdoch } 112a3f7b4e666c476898878fa745f637129375cd889Ben Murdoch 1132a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) @Override 114c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) public void onReceivedTitle(String title) { 1152a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) mUpdatedTitle = title; 1162a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) } 1172a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 1182a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) public String getUpdatedTitle() { 1192a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) return mUpdatedTitle; 1202a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) } 1212a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 1225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @Override 1235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) public void onPageStarted(String url) { 1245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) mOnPageStartedHelper.notifyCalled(url); 1255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } 1265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @Override 1285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) public void onPageFinished(String url) { 1295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) mOnPageFinishedHelper.notifyCalled(url); 1305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } 1315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @Override 1335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) public void onReceivedError(int errorCode, String description, String failingUrl) { 1345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) mOnReceivedErrorHelper.notifyCalled(errorCode, description, failingUrl); 1355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } 1365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 137a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch /** 138a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch * CallbackHelper for OnDownloadStart. 139a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch */ 140a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch public static class OnDownloadStartHelper extends CallbackHelper { 141a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch private String mUrl; 142a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch private String mUserAgent; 143a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch private String mContentDisposition; 144a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch private String mMimeType; 145a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch long mContentLength; 146a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch 147a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch public String getUrl() { 148a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch assert getCallCount() > 0; 149a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch return mUrl; 150a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch } 151a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch 152a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch public String getUserAgent() { 153a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch assert getCallCount() > 0; 154a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch return mUserAgent; 155a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch } 156a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch 157a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch public String getContentDisposition() { 158a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch assert getCallCount() > 0; 159a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch return mContentDisposition; 160a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch } 161a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch 162a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch public String getMimeType() { 163a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch assert getCallCount() > 0; 164a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch return mMimeType; 165a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch } 166a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch 167a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch public long getContentLength() { 168a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch assert getCallCount() > 0; 169a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch return mContentLength; 170a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch } 171a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch 172a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch public void notifyCalled(String url, String userAgent, String contentDisposition, 173a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch String mimeType, long contentLength) { 174a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch mUrl = url; 175a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch mUserAgent = userAgent; 176a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch mContentDisposition = contentDisposition; 177a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch mMimeType = mimeType; 178a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch mContentLength = contentLength; 179a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch notifyCalled(); 180a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch } 181a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch } 182a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch 183a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch @Override 184a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch public void onDownloadStart(String url, 185a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch String userAgent, 186a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch String contentDisposition, 187a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch String mimeType, 188a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch long contentLength) { 189a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch getOnDownloadStartHelper().notifyCalled(url, userAgent, contentDisposition, mimeType, 190a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch contentLength); 191a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch } 192a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch 193a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch /** 194a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch * CallbackHelper for OnReceivedLoginRequest. 195a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch */ 196a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch public static class OnReceivedLoginRequestHelper extends CallbackHelper { 197a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch private String mRealm; 198a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch private String mAccount; 199a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch private String mArgs; 200a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch 201a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch public String getRealm() { 202a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch assert getCallCount() > 0; 203a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch return mRealm; 204a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch } 205a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch 206a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch public String getAccount() { 207a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch assert getCallCount() > 0; 208a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch return mAccount; 209a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch } 210a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch 211a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch public String getArgs() { 212a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch assert getCallCount() > 0; 213a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch return mArgs; 214a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch } 215a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch 216a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch public void notifyCalled(String realm, String account, String args) { 217a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch mRealm = realm; 218a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch mAccount = account; 219a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch mArgs = args; 220a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch notifyCalled(); 221a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch } 222a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch } 223a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch 224a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch @Override 225a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch public void onReceivedLoginRequest(String realm, String account, String args) { 226a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch getOnReceivedLoginRequestHelper().notifyCalled(realm, account, args); 227a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch } 228a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch 2295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @Override 2305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) public boolean onConsoleMessage(ConsoleMessage consoleMessage) { 2312a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) mAddMessageToConsoleHelper.notifyCalled(consoleMessage.messageLevel().ordinal(), 2322a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) consoleMessage.message(), consoleMessage.lineNumber(), consoleMessage.sourceId()); 2335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return false; 2345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } 2355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 236010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) /** 237010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * Callback helper for onScaleChangedScaled. 238010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) */ 2392a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) public static class AddMessageToConsoleHelper extends CallbackHelper { 2405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) private int mLevel; 2415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) private String mMessage; 2425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) private int mLineNumber; 2435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) private String mSourceId; 2445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) public int getLevel() { 2465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) assert getCallCount() > 0; 2475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return mLevel; 2485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } 2495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) public String getMessage() { 2515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) assert getCallCount() > 0; 2525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return mMessage; 2535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } 2545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) public int getLineNumber() { 2565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) assert getCallCount() > 0; 2575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return mLineNumber; 2585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } 2595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) public String getSourceId() { 2615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) assert getCallCount() > 0; 2625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return mSourceId; 2635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } 2642a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 2652a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) void notifyCalled(int level, String message, int lineNumer, String sourceId) { 2662a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) mLevel = level; 2672a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) mMessage = message; 2682a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) mLineNumber = lineNumer; 2692a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) mSourceId = sourceId; 2702a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) notifyCalled(); 2712a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) } 2722a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) } 2732a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 2742a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) @Override 2752a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) public void onScaleChangedScaled(float oldScale, float newScale) { 2762a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) mOnScaleChangedHelper.notifyCalled(oldScale, newScale); 2775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } 278a3f7b4e666c476898878fa745f637129375cd889Ben Murdoch 279010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) /** 280010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * Callback helper for onScaleChangedScaled. 281010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) */ 282a3f7b4e666c476898878fa745f637129375cd889Ben Murdoch public static class PictureListenerHelper extends CallbackHelper { 283a3f7b4e666c476898878fa745f637129375cd889Ben Murdoch // Generally null, depending on |invalidationOnly| in enableOnNewPicture() 284a3f7b4e666c476898878fa745f637129375cd889Ben Murdoch private Picture mPicture; 285a3f7b4e666c476898878fa745f637129375cd889Ben Murdoch 286a3f7b4e666c476898878fa745f637129375cd889Ben Murdoch public Picture getPicture() { 287a3f7b4e666c476898878fa745f637129375cd889Ben Murdoch assert getCallCount() > 0; 288a3f7b4e666c476898878fa745f637129375cd889Ben Murdoch return mPicture; 289a3f7b4e666c476898878fa745f637129375cd889Ben Murdoch } 290a3f7b4e666c476898878fa745f637129375cd889Ben Murdoch 291a3f7b4e666c476898878fa745f637129375cd889Ben Murdoch void notifyCalled(Picture picture) { 292a3f7b4e666c476898878fa745f637129375cd889Ben Murdoch mPicture = picture; 293a3f7b4e666c476898878fa745f637129375cd889Ben Murdoch notifyCalled(); 294a3f7b4e666c476898878fa745f637129375cd889Ben Murdoch } 295a3f7b4e666c476898878fa745f637129375cd889Ben Murdoch } 296a3f7b4e666c476898878fa745f637129375cd889Ben Murdoch 297a3f7b4e666c476898878fa745f637129375cd889Ben Murdoch @Override 298a3f7b4e666c476898878fa745f637129375cd889Ben Murdoch public void onNewPicture(Picture picture) { 299a3f7b4e666c476898878fa745f637129375cd889Ben Murdoch mPictureListenerHelper.notifyCalled(picture); 300a3f7b4e666c476898878fa745f637129375cd889Ben Murdoch } 3015d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 302010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) /** 303010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * Callback helper for onScaleChangedScaled. 304010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) */ 3055d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) public static class ShouldOverrideUrlLoadingHelper extends CallbackHelper { 3065d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) private String mShouldOverrideUrlLoadingUrl; 3075d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) private String mPreviousShouldOverrideUrlLoadingUrl; 3085d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) private boolean mShouldOverrideUrlLoadingReturnValue = false; 3095d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) void setShouldOverrideUrlLoadingUrl(String url) { 3105d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) mShouldOverrideUrlLoadingUrl = url; 3115d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) } 3125d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) void setPreviousShouldOverrideUrlLoadingUrl(String url) { 3135d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) mPreviousShouldOverrideUrlLoadingUrl = url; 3145d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) } 3155d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) void setShouldOverrideUrlLoadingReturnValue(boolean value) { 3165d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) mShouldOverrideUrlLoadingReturnValue = value; 3175d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) } 3185d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) public String getShouldOverrideUrlLoadingUrl() { 3195d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) assert getCallCount() > 0; 3205d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) return mShouldOverrideUrlLoadingUrl; 3215d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) } 3225d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) public String getPreviousShouldOverrideUrlLoadingUrl() { 3235d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) assert getCallCount() > 1; 3245d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) return mPreviousShouldOverrideUrlLoadingUrl; 3255d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) } 3265d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) public boolean getShouldOverrideUrlLoadingReturnValue() { 3275d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) return mShouldOverrideUrlLoadingReturnValue; 3285d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) } 3295d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) public void notifyCalled(String url) { 3305d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) mPreviousShouldOverrideUrlLoadingUrl = mShouldOverrideUrlLoadingUrl; 3315d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) mShouldOverrideUrlLoadingUrl = url; 3325d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) notifyCalled(); 3335d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) } 3345d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) } 3355d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 3365d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) @Override 3375d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) public boolean shouldOverrideUrlLoading(String url) { 3385d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) super.shouldOverrideUrlLoading(url); 3395d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) boolean returnValue = 3405d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) mShouldOverrideUrlLoadingHelper.getShouldOverrideUrlLoadingReturnValue(); 3415d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) mShouldOverrideUrlLoadingHelper.notifyCalled(url); 3425d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) return returnValue; 3435d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) } 3445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 345