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