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

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: Eliminate unnecessary PostTask 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.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
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
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 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698