OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 package org.chromium.content.browser.webcontents; | 5 package org.chromium.content.browser.webcontents; |
6 | 6 |
7 import android.annotation.SuppressLint; | 7 import android.annotation.SuppressLint; |
8 import android.graphics.Bitmap; | 8 import android.graphics.Bitmap; |
9 import android.graphics.Rect; | 9 import android.graphics.Rect; |
10 import android.os.Bundle; | 10 import android.os.Bundle; |
11 import android.os.Handler; | 11 import android.os.Handler; |
12 import android.os.Message; | 12 import android.os.Message; |
13 import android.os.Parcel; | 13 import android.os.Parcel; |
14 import android.os.ParcelUuid; | 14 import android.os.ParcelUuid; |
15 import android.os.Parcelable; | 15 import android.os.Parcelable; |
16 | 16 |
17 import org.chromium.base.ThreadUtils; | 17 import org.chromium.base.ThreadUtils; |
18 import org.chromium.base.VisibleForTesting; | 18 import org.chromium.base.VisibleForTesting; |
19 import org.chromium.base.annotations.CalledByNative; | 19 import org.chromium.base.annotations.CalledByNative; |
20 import org.chromium.base.annotations.JNINamespace; | 20 import org.chromium.base.annotations.JNINamespace; |
21 import org.chromium.content.browser.AppWebMessagePort; | 21 import org.chromium.content.browser.AppWebMessagePort; |
22 import org.chromium.content.browser.AppWebMessagePortService; | |
23 import org.chromium.content.browser.MediaSessionImpl; | 22 import org.chromium.content.browser.MediaSessionImpl; |
24 import org.chromium.content_public.browser.AccessibilitySnapshotCallback; | 23 import org.chromium.content_public.browser.AccessibilitySnapshotCallback; |
25 import org.chromium.content_public.browser.AccessibilitySnapshotNode; | 24 import org.chromium.content_public.browser.AccessibilitySnapshotNode; |
26 import org.chromium.content_public.browser.ContentBitmapCallback; | 25 import org.chromium.content_public.browser.ContentBitmapCallback; |
27 import org.chromium.content_public.browser.ImageDownloadCallback; | 26 import org.chromium.content_public.browser.ImageDownloadCallback; |
28 import org.chromium.content_public.browser.JavaScriptCallback; | 27 import org.chromium.content_public.browser.JavaScriptCallback; |
29 import org.chromium.content_public.browser.MessagePortService; | 28 import org.chromium.content_public.browser.MessagePort; |
30 import org.chromium.content_public.browser.NavigationController; | 29 import org.chromium.content_public.browser.NavigationController; |
31 import org.chromium.content_public.browser.SmartClipCallback; | 30 import org.chromium.content_public.browser.SmartClipCallback; |
32 import org.chromium.content_public.browser.WebContents; | 31 import org.chromium.content_public.browser.WebContents; |
33 import org.chromium.content_public.browser.WebContentsObserver; | 32 import org.chromium.content_public.browser.WebContentsObserver; |
34 import org.chromium.ui.OverscrollRefreshHandler; | 33 import org.chromium.ui.OverscrollRefreshHandler; |
35 import org.chromium.ui.accessibility.AXTextStyle; | 34 import org.chromium.ui.accessibility.AXTextStyle; |
36 | 35 |
37 import java.util.ArrayList; | 36 import java.util.ArrayList; |
38 import java.util.List; | 37 import java.util.List; |
39 import java.util.UUID; | 38 import java.util.UUID; |
(...skipping 295 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
335 nativeEvaluateJavaScriptForTests(mNativeWebContentsAndroid, script, call
back); | 334 nativeEvaluateJavaScriptForTests(mNativeWebContentsAndroid, script, call
back); |
336 } | 335 } |
337 | 336 |
338 @Override | 337 @Override |
339 public void addMessageToDevToolsConsole(int level, String message) { | 338 public void addMessageToDevToolsConsole(int level, String message) { |
340 nativeAddMessageToDevToolsConsole(mNativeWebContentsAndroid, level, mess
age); | 339 nativeAddMessageToDevToolsConsole(mNativeWebContentsAndroid, level, mess
age); |
341 } | 340 } |
342 | 341 |
343 @Override | 342 @Override |
344 public void postMessageToFrame(String frameName, String message, | 343 public void postMessageToFrame(String frameName, String message, |
345 String sourceOrigin, String targetOrigin, int[] sentPortIds) { | 344 String sourceOrigin, String targetOrigin, MessagePort[] ports) { |
346 nativePostMessageToFrame(mNativeWebContentsAndroid, frameName, message, | 345 if (ports != null) { |
347 sourceOrigin, targetOrigin, sentPortIds); | 346 for (MessagePort port : ports) { |
| 347 if (port.isClosed() || port.isTransferred()) { |
| 348 throw new IllegalStateException("Port is already closed or t
ransferred"); |
| 349 } |
| 350 if (port.isStarted()) { |
| 351 throw new IllegalStateException("Port is already started"); |
| 352 } |
| 353 } |
| 354 } |
| 355 nativePostMessageToFrame( |
| 356 mNativeWebContentsAndroid, frameName, message, sourceOrigin, tar
getOrigin, ports); |
348 } | 357 } |
349 | 358 |
350 @Override | 359 @Override |
351 public AppWebMessagePort[] createMessageChannel(MessagePortService service) | 360 public AppWebMessagePort[] createMessageChannel() |
352 throws IllegalStateException { | 361 throws IllegalStateException { |
353 AppWebMessagePort[] ports = ((AppWebMessagePortService) service).createM
essageChannel(); | 362 return AppWebMessagePort.createPair(); |
354 nativeCreateMessageChannel(mNativeWebContentsAndroid, ports); | |
355 return ports; | |
356 } | 363 } |
357 | 364 |
358 @Override | 365 @Override |
359 public boolean hasAccessedInitialDocument() { | 366 public boolean hasAccessedInitialDocument() { |
360 return nativeHasAccessedInitialDocument(mNativeWebContentsAndroid); | 367 return nativeHasAccessedInitialDocument(mNativeWebContentsAndroid); |
361 } | 368 } |
362 | 369 |
363 @CalledByNative | 370 @CalledByNative |
364 private static void onEvaluateJavaScriptResult( | 371 private static void onEvaluateJavaScriptResult( |
365 String jsonResult, JavaScriptCallback callback) { | 372 String jsonResult, JavaScriptCallback callback) { |
(...skipping 206 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
572 private native String nativeGetLastCommittedURL(long nativeWebContentsAndroi
d); | 579 private native String nativeGetLastCommittedURL(long nativeWebContentsAndroi
d); |
573 private native boolean nativeIsIncognito(long nativeWebContentsAndroid); | 580 private native boolean nativeIsIncognito(long nativeWebContentsAndroid); |
574 private native void nativeResumeLoadingCreatedWebContents(long nativeWebCont
entsAndroid); | 581 private native void nativeResumeLoadingCreatedWebContents(long nativeWebCont
entsAndroid); |
575 private native void nativeEvaluateJavaScript(long nativeWebContentsAndroid, | 582 private native void nativeEvaluateJavaScript(long nativeWebContentsAndroid, |
576 String script, JavaScriptCallback callback); | 583 String script, JavaScriptCallback callback); |
577 private native void nativeEvaluateJavaScriptForTests(long nativeWebContentsA
ndroid, | 584 private native void nativeEvaluateJavaScriptForTests(long nativeWebContentsA
ndroid, |
578 String script, JavaScriptCallback callback); | 585 String script, JavaScriptCallback callback); |
579 private native void nativeAddMessageToDevToolsConsole( | 586 private native void nativeAddMessageToDevToolsConsole( |
580 long nativeWebContentsAndroid, int level, String message); | 587 long nativeWebContentsAndroid, int level, String message); |
581 private native void nativePostMessageToFrame(long nativeWebContentsAndroid,
String frameName, | 588 private native void nativePostMessageToFrame(long nativeWebContentsAndroid,
String frameName, |
582 String message, String sourceOrigin, String targetOrigin, int[] sent
PortIds); | 589 String message, String sourceOrigin, String targetOrigin, MessagePor
t[] ports); |
583 private native void nativeCreateMessageChannel( | |
584 long nativeWebContentsAndroid, AppWebMessagePort[] ports); | |
585 private native boolean nativeHasAccessedInitialDocument( | 590 private native boolean nativeHasAccessedInitialDocument( |
586 long nativeWebContentsAndroid); | 591 long nativeWebContentsAndroid); |
587 private native int nativeGetThemeColor(long nativeWebContentsAndroid); | 592 private native int nativeGetThemeColor(long nativeWebContentsAndroid); |
588 private native void nativeRequestSmartClipExtract(long nativeWebContentsAndr
oid, | 593 private native void nativeRequestSmartClipExtract(long nativeWebContentsAndr
oid, |
589 SmartClipCallback callback, int x, int y, int width, int height); | 594 SmartClipCallback callback, int x, int y, int width, int height); |
590 private native void nativeRequestAccessibilitySnapshot( | 595 private native void nativeRequestAccessibilitySnapshot( |
591 long nativeWebContentsAndroid, AccessibilitySnapshotCallback callbac
k); | 596 long nativeWebContentsAndroid, AccessibilitySnapshotCallback callbac
k); |
592 private native void nativeSetOverscrollRefreshHandler( | 597 private native void nativeSetOverscrollRefreshHandler( |
593 long nativeWebContentsAndroid, OverscrollRefreshHandler nativeOversc
rollRefreshHandler); | 598 long nativeWebContentsAndroid, OverscrollRefreshHandler nativeOversc
rollRefreshHandler); |
594 private native void nativeGetContentBitmap(long nativeWebContentsAndroid, | 599 private native void nativeGetContentBitmap(long nativeWebContentsAndroid, |
595 ContentBitmapCallback callback, Bitmap.Config config, float scale, | 600 ContentBitmapCallback callback, Bitmap.Config config, float scale, |
596 float x, float y, float width, float height); | 601 float x, float y, float width, float height); |
597 private native void nativeReloadLoFiImages(long nativeWebContentsAndroid); | 602 private native void nativeReloadLoFiImages(long nativeWebContentsAndroid); |
598 private native int nativeDownloadImage(long nativeWebContentsAndroid, | 603 private native int nativeDownloadImage(long nativeWebContentsAndroid, |
599 String url, boolean isFavicon, int maxBitmapSize, | 604 String url, boolean isFavicon, int maxBitmapSize, |
600 boolean bypassCache, ImageDownloadCallback callback); | 605 boolean bypassCache, ImageDownloadCallback callback); |
601 private native void nativeDismissTextHandles(long nativeWebContentsAndroid); | 606 private native void nativeDismissTextHandles(long nativeWebContentsAndroid); |
602 } | 607 } |
OLD | NEW |