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.Parcel; | 11 import android.os.Parcel; |
12 import android.os.ParcelUuid; | 12 import android.os.ParcelUuid; |
13 import android.os.Parcelable; | 13 import android.os.Parcelable; |
14 | 14 |
15 import org.chromium.base.ThreadUtils; | 15 import org.chromium.base.ThreadUtils; |
16 import org.chromium.base.VisibleForTesting; | 16 import org.chromium.base.VisibleForTesting; |
17 import org.chromium.base.annotations.CalledByNative; | 17 import org.chromium.base.annotations.CalledByNative; |
18 import org.chromium.base.annotations.JNINamespace; | 18 import org.chromium.base.annotations.JNINamespace; |
19 import org.chromium.content.browser.AppWebMessagePort; | 19 import org.chromium.content.browser.AppWebMessagePort; |
20 import org.chromium.content.browser.AppWebMessagePortService; | |
21 import org.chromium.content.browser.MediaSessionImpl; | 20 import org.chromium.content.browser.MediaSessionImpl; |
22 import org.chromium.content_public.browser.AccessibilitySnapshotCallback; | 21 import org.chromium.content_public.browser.AccessibilitySnapshotCallback; |
23 import org.chromium.content_public.browser.AccessibilitySnapshotNode; | 22 import org.chromium.content_public.browser.AccessibilitySnapshotNode; |
24 import org.chromium.content_public.browser.ContentBitmapCallback; | 23 import org.chromium.content_public.browser.ContentBitmapCallback; |
25 import org.chromium.content_public.browser.ImageDownloadCallback; | 24 import org.chromium.content_public.browser.ImageDownloadCallback; |
26 import org.chromium.content_public.browser.JavaScriptCallback; | 25 import org.chromium.content_public.browser.JavaScriptCallback; |
27 import org.chromium.content_public.browser.MessagePortService; | 26 import org.chromium.content_public.browser.MessagePort; |
28 import org.chromium.content_public.browser.NavigationController; | 27 import org.chromium.content_public.browser.NavigationController; |
29 import org.chromium.content_public.browser.WebContents; | 28 import org.chromium.content_public.browser.WebContents; |
30 import org.chromium.content_public.browser.WebContentsObserver; | 29 import org.chromium.content_public.browser.WebContentsObserver; |
31 import org.chromium.ui.OverscrollRefreshHandler; | 30 import org.chromium.ui.OverscrollRefreshHandler; |
32 import org.chromium.ui.accessibility.AXTextStyle; | 31 import org.chromium.ui.accessibility.AXTextStyle; |
33 | 32 |
34 import java.util.ArrayList; | 33 import java.util.ArrayList; |
35 import java.util.List; | 34 import java.util.List; |
36 import java.util.UUID; | 35 import java.util.UUID; |
37 | 36 |
(...skipping 292 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
330 nativeEvaluateJavaScriptForTests(mNativeWebContentsAndroid, script, call
back); | 329 nativeEvaluateJavaScriptForTests(mNativeWebContentsAndroid, script, call
back); |
331 } | 330 } |
332 | 331 |
333 @Override | 332 @Override |
334 public void addMessageToDevToolsConsole(int level, String message) { | 333 public void addMessageToDevToolsConsole(int level, String message) { |
335 nativeAddMessageToDevToolsConsole(mNativeWebContentsAndroid, level, mess
age); | 334 nativeAddMessageToDevToolsConsole(mNativeWebContentsAndroid, level, mess
age); |
336 } | 335 } |
337 | 336 |
338 @Override | 337 @Override |
339 public void postMessageToFrame(String frameName, String message, | 338 public void postMessageToFrame(String frameName, String message, |
340 String sourceOrigin, String targetOrigin, int[] sentPortIds) { | 339 String sourceOrigin, String targetOrigin, MessagePort[] ports) { |
341 nativePostMessageToFrame(mNativeWebContentsAndroid, frameName, message, | 340 if (ports != null) { |
342 sourceOrigin, targetOrigin, sentPortIds); | 341 for (MessagePort port : ports) { |
| 342 if (port.isClosed() || port.isTransferred()) { |
| 343 throw new IllegalStateException("Port is already closed or t
ransferred"); |
| 344 } |
| 345 if (port.isStarted()) { |
| 346 throw new IllegalStateException("Port is already started"); |
| 347 } |
| 348 } |
| 349 } |
| 350 nativePostMessageToFrame( |
| 351 mNativeWebContentsAndroid, frameName, message, sourceOrigin, tar
getOrigin, ports); |
343 } | 352 } |
344 | 353 |
345 @Override | 354 @Override |
346 public AppWebMessagePort[] createMessageChannel(MessagePortService service) | 355 public AppWebMessagePort[] createMessageChannel() |
347 throws IllegalStateException { | 356 throws IllegalStateException { |
348 AppWebMessagePort[] ports = ((AppWebMessagePortService) service).createM
essageChannel(); | 357 return AppWebMessagePort.createPair(); |
349 nativeCreateMessageChannel(mNativeWebContentsAndroid, ports); | |
350 return ports; | |
351 } | 358 } |
352 | 359 |
353 @Override | 360 @Override |
354 public boolean hasAccessedInitialDocument() { | 361 public boolean hasAccessedInitialDocument() { |
355 return nativeHasAccessedInitialDocument(mNativeWebContentsAndroid); | 362 return nativeHasAccessedInitialDocument(mNativeWebContentsAndroid); |
356 } | 363 } |
357 | 364 |
358 @CalledByNative | 365 @CalledByNative |
359 private static void onEvaluateJavaScriptResult( | 366 private static void onEvaluateJavaScriptResult( |
360 String jsonResult, JavaScriptCallback callback) { | 367 String jsonResult, JavaScriptCallback callback) { |
(...skipping 171 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
532 private native String nativeGetLastCommittedURL(long nativeWebContentsAndroi
d); | 539 private native String nativeGetLastCommittedURL(long nativeWebContentsAndroi
d); |
533 private native boolean nativeIsIncognito(long nativeWebContentsAndroid); | 540 private native boolean nativeIsIncognito(long nativeWebContentsAndroid); |
534 private native void nativeResumeLoadingCreatedWebContents(long nativeWebCont
entsAndroid); | 541 private native void nativeResumeLoadingCreatedWebContents(long nativeWebCont
entsAndroid); |
535 private native void nativeEvaluateJavaScript(long nativeWebContentsAndroid, | 542 private native void nativeEvaluateJavaScript(long nativeWebContentsAndroid, |
536 String script, JavaScriptCallback callback); | 543 String script, JavaScriptCallback callback); |
537 private native void nativeEvaluateJavaScriptForTests(long nativeWebContentsA
ndroid, | 544 private native void nativeEvaluateJavaScriptForTests(long nativeWebContentsA
ndroid, |
538 String script, JavaScriptCallback callback); | 545 String script, JavaScriptCallback callback); |
539 private native void nativeAddMessageToDevToolsConsole( | 546 private native void nativeAddMessageToDevToolsConsole( |
540 long nativeWebContentsAndroid, int level, String message); | 547 long nativeWebContentsAndroid, int level, String message); |
541 private native void nativePostMessageToFrame(long nativeWebContentsAndroid,
String frameName, | 548 private native void nativePostMessageToFrame(long nativeWebContentsAndroid,
String frameName, |
542 String message, String sourceOrigin, String targetOrigin, int[] sent
PortIds); | 549 String message, String sourceOrigin, String targetOrigin, MessagePor
t[] ports); |
543 private native void nativeCreateMessageChannel( | |
544 long nativeWebContentsAndroid, AppWebMessagePort[] ports); | |
545 private native boolean nativeHasAccessedInitialDocument( | 550 private native boolean nativeHasAccessedInitialDocument( |
546 long nativeWebContentsAndroid); | 551 long nativeWebContentsAndroid); |
547 private native int nativeGetThemeColor(long nativeWebContentsAndroid); | 552 private native int nativeGetThemeColor(long nativeWebContentsAndroid); |
548 private native void nativeRequestAccessibilitySnapshot( | 553 private native void nativeRequestAccessibilitySnapshot( |
549 long nativeWebContentsAndroid, AccessibilitySnapshotCallback callbac
k); | 554 long nativeWebContentsAndroid, AccessibilitySnapshotCallback callbac
k); |
550 private native void nativeSetOverscrollRefreshHandler( | 555 private native void nativeSetOverscrollRefreshHandler( |
551 long nativeWebContentsAndroid, OverscrollRefreshHandler nativeOversc
rollRefreshHandler); | 556 long nativeWebContentsAndroid, OverscrollRefreshHandler nativeOversc
rollRefreshHandler); |
552 private native void nativeGetContentBitmap(long nativeWebContentsAndroid, | 557 private native void nativeGetContentBitmap(long nativeWebContentsAndroid, |
553 ContentBitmapCallback callback, Bitmap.Config config, float scale, | 558 ContentBitmapCallback callback, Bitmap.Config config, float scale, |
554 float x, float y, float width, float height); | 559 float x, float y, float width, float height); |
555 private native void nativeReloadLoFiImages(long nativeWebContentsAndroid); | 560 private native void nativeReloadLoFiImages(long nativeWebContentsAndroid); |
556 private native int nativeDownloadImage(long nativeWebContentsAndroid, | 561 private native int nativeDownloadImage(long nativeWebContentsAndroid, |
557 String url, boolean isFavicon, int maxBitmapSize, | 562 String url, boolean isFavicon, int maxBitmapSize, |
558 boolean bypassCache, ImageDownloadCallback callback); | 563 boolean bypassCache, ImageDownloadCallback callback); |
559 private native void nativeDismissTextHandles(long nativeWebContentsAndroid); | 564 private native void nativeDismissTextHandles(long nativeWebContentsAndroid); |
560 } | 565 } |
OLD | NEW |