1 // Copyright 2018 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 package org.chromium.content_public.browser.test.mock; 6 7 import android.annotation.SuppressLint; 8 import android.graphics.Rect; 9 import android.os.Handler; 10 import android.os.Parcel; 11 12 import androidx.annotation.Nullable; 13 14 import org.chromium.content_public.browser.AccessibilitySnapshotCallback; 15 import org.chromium.content_public.browser.ImageDownloadCallback; 16 import org.chromium.content_public.browser.JavaScriptCallback; 17 import org.chromium.content_public.browser.MessagePort; 18 import org.chromium.content_public.browser.NavigationController; 19 import org.chromium.content_public.browser.RenderFrameHost; 20 import org.chromium.content_public.browser.RenderWidgetHostView; 21 import org.chromium.content_public.browser.ViewEventSink; 22 import org.chromium.content_public.browser.Visibility; 23 import org.chromium.content_public.browser.WebContents; 24 import org.chromium.content_public.browser.WebContentsObserver; 25 import org.chromium.ui.OverscrollRefreshHandler; 26 import org.chromium.ui.base.EventForwarder; 27 import org.chromium.ui.base.ViewAndroidDelegate; 28 import org.chromium.ui.base.WindowAndroid; 29 import org.chromium.url.GURL; 30 31 import java.util.Collections; 32 import java.util.List; 33 34 /** 35 * Mock class for {@link WebContents}. 36 */ 37 @SuppressLint("ParcelCreator") 38 public class MockWebContents implements WebContents { 39 public RenderFrameHost renderFrameHost; 40 41 @Override initialize(String productVersion, ViewAndroidDelegate viewDelegate, ViewEventSink.InternalAccessDelegate accessDelegate, WindowAndroid windowAndroid, WebContents.InternalsHolder internalsHolder)42 public void initialize(String productVersion, ViewAndroidDelegate viewDelegate, 43 ViewEventSink.InternalAccessDelegate accessDelegate, WindowAndroid windowAndroid, 44 WebContents.InternalsHolder internalsHolder) {} 45 46 @Override describeContents()47 public int describeContents() { 48 return 0; 49 } 50 51 @Override writeToParcel(Parcel dest, int flags)52 public void writeToParcel(Parcel dest, int flags) {} 53 54 @Override getTopLevelNativeWindow()55 public WindowAndroid getTopLevelNativeWindow() { 56 return null; 57 } 58 59 @Override getViewAndroidDelegate()60 public ViewAndroidDelegate getViewAndroidDelegate() { 61 return null; 62 } 63 64 @Override setTopLevelNativeWindow(WindowAndroid windowAndroid)65 public void setTopLevelNativeWindow(WindowAndroid windowAndroid) {} 66 67 @Override destroy()68 public void destroy() {} 69 70 @Override isDestroyed()71 public boolean isDestroyed() { 72 return false; 73 } 74 75 @Override clearNativeReference()76 public void clearNativeReference() {} 77 78 @Override getNavigationController()79 public NavigationController getNavigationController() { 80 return null; 81 } 82 83 @Override getMainFrame()84 public RenderFrameHost getMainFrame() { 85 return renderFrameHost; 86 } 87 88 @Override getFocusedFrame()89 public RenderFrameHost getFocusedFrame() { 90 return null; 91 } 92 93 @Override getRenderFrameHostFromId(int renderProcessId, int renderFrameId)94 public RenderFrameHost getRenderFrameHostFromId(int renderProcessId, int renderFrameId) { 95 return null; 96 } 97 98 @Override 99 @Nullable getRenderWidgetHostView()100 public RenderWidgetHostView getRenderWidgetHostView() { 101 return null; 102 } 103 104 @Override getInnerWebContents()105 public List<? extends WebContents> getInnerWebContents() { 106 return Collections.emptyList(); 107 } 108 109 @Override getVisibility()110 public @Visibility int getVisibility() { 111 return Visibility.VISIBLE; 112 } 113 114 @Override getTitle()115 public String getTitle() { 116 return null; 117 } 118 119 @Override getVisibleUrl()120 public GURL getVisibleUrl() { 121 return null; 122 } 123 124 @Override getVisibleUrlString()125 public String getVisibleUrlString() { 126 return null; 127 } 128 129 @Override getEncoding()130 public String getEncoding() { 131 return null; 132 } 133 134 @Override isLoading()135 public boolean isLoading() { 136 return false; 137 } 138 139 @Override isLoadingToDifferentDocument()140 public boolean isLoadingToDifferentDocument() { 141 return false; 142 } 143 144 @Override dispatchBeforeUnload(boolean autoCancel)145 public void dispatchBeforeUnload(boolean autoCancel) {} 146 147 @Override stop()148 public void stop() {} 149 150 @Override onHide()151 public void onHide() {} 152 153 @Override onShow()154 public void onShow() {} 155 156 @Override setImportance(int importance)157 public void setImportance(int importance) {} 158 159 @Override suspendAllMediaPlayers()160 public void suspendAllMediaPlayers() {} 161 162 @Override setAudioMuted(boolean mute)163 public void setAudioMuted(boolean mute) {} 164 165 @Override focusLocationBarByDefault()166 public boolean focusLocationBarByDefault() { 167 return false; 168 } 169 170 @Override setFocus(boolean hasFocus)171 public void setFocus(boolean hasFocus) {} 172 173 @Override isFullscreenForCurrentTab()174 public boolean isFullscreenForCurrentTab() { 175 return false; 176 } 177 178 @Override exitFullscreen()179 public void exitFullscreen() {} 180 181 @Override scrollFocusedEditableNodeIntoView()182 public void scrollFocusedEditableNodeIntoView() {} 183 184 @Override selectWordAroundCaret()185 public void selectWordAroundCaret() {} 186 187 @Override adjustSelectionByCharacterOffset( int startAdjust, int endAdjust, boolean showSelectionMenu)188 public void adjustSelectionByCharacterOffset( 189 int startAdjust, int endAdjust, boolean showSelectionMenu) {} 190 191 @Override getLastCommittedUrl()192 public String getLastCommittedUrl() { 193 return null; 194 } 195 196 @Override isIncognito()197 public boolean isIncognito() { 198 return false; 199 } 200 201 @Override resumeLoadingCreatedWebContents()202 public void resumeLoadingCreatedWebContents() {} 203 204 @Override evaluateJavaScript(String script, JavaScriptCallback callback)205 public void evaluateJavaScript(String script, JavaScriptCallback callback) {} 206 207 @Override evaluateJavaScriptForTests(String script, JavaScriptCallback callback)208 public void evaluateJavaScriptForTests(String script, JavaScriptCallback callback) {} 209 210 @Override addMessageToDevToolsConsole(int level, String message)211 public void addMessageToDevToolsConsole(int level, String message) {} 212 213 @Override postMessageToMainFrame( String message, String sourceOrigin, String targetOrigin, MessagePort[] ports)214 public void postMessageToMainFrame( 215 String message, String sourceOrigin, String targetOrigin, MessagePort[] ports) {} 216 217 @Override createMessageChannel()218 public MessagePort[] createMessageChannel() { 219 return null; 220 } 221 222 @Override hasAccessedInitialDocument()223 public boolean hasAccessedInitialDocument() { 224 return false; 225 } 226 227 @Override getThemeColor()228 public int getThemeColor() { 229 return 0; 230 } 231 232 @Override getLoadProgress()233 public float getLoadProgress() { 234 return 0; 235 } 236 237 @Override requestSmartClipExtract(int x, int y, int width, int height)238 public void requestSmartClipExtract(int x, int y, int width, int height) {} 239 240 @Override setSmartClipResultHandler(Handler smartClipHandler)241 public void setSmartClipResultHandler(Handler smartClipHandler) {} 242 243 @Override requestAccessibilitySnapshot(AccessibilitySnapshotCallback callback)244 public void requestAccessibilitySnapshot(AccessibilitySnapshotCallback callback) {} 245 246 @Override getEventForwarder()247 public EventForwarder getEventForwarder() { 248 return null; 249 } 250 251 @Override addObserver(WebContentsObserver observer)252 public void addObserver(WebContentsObserver observer) {} 253 254 @Override removeObserver(WebContentsObserver observer)255 public void removeObserver(WebContentsObserver observer) {} 256 257 @Override setOverscrollRefreshHandler(OverscrollRefreshHandler handler)258 public void setOverscrollRefreshHandler(OverscrollRefreshHandler handler) {} 259 260 @Override setSpatialNavigationDisabled(boolean disabled)261 public void setSpatialNavigationDisabled(boolean disabled) {} 262 263 @Override downloadImage(String url, boolean isFavicon, int maxBitmapSize, boolean bypassCache, ImageDownloadCallback callback)264 public int downloadImage(String url, boolean isFavicon, int maxBitmapSize, boolean bypassCache, 265 ImageDownloadCallback callback) { 266 return 0; 267 } 268 269 @Override hasActiveEffectivelyFullscreenVideo()270 public boolean hasActiveEffectivelyFullscreenVideo() { 271 return false; 272 } 273 274 @Override isPictureInPictureAllowedForFullscreenVideo()275 public boolean isPictureInPictureAllowedForFullscreenVideo() { 276 return false; 277 } 278 279 @Override getFullscreenVideoSize()280 public Rect getFullscreenVideoSize() { 281 return null; 282 } 283 284 @Override setHasPersistentVideo(boolean value)285 public void setHasPersistentVideo(boolean value) {} 286 287 @Override setSize(int width, int height)288 public void setSize(int width, int height) {} 289 290 @Override getWidth()291 public int getWidth() { 292 return 0; 293 } 294 295 @Override getHeight()296 public int getHeight() { 297 return 0; 298 } 299 300 @Override setDisplayCutoutSafeArea(Rect insets)301 public void setDisplayCutoutSafeArea(Rect insets) {} 302 303 @Override notifyRendererPreferenceUpdate()304 public void notifyRendererPreferenceUpdate() {} 305 306 @Override notifyBrowserControlsHeightChanged()307 public void notifyBrowserControlsHeightChanged() {} 308 } 309