Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(470)

Side by Side Diff: content/public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java

Issue 2422793002: HTML MessagePort as mojo::MessagePipeHandle (Closed)
Patch Set: Add missing ScopedAsyncTaskScheduler instance for the new unit tests; required by a recent change t… Created 3 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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
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
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 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698