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

Side by Side Diff: android_webview/java/src/org/chromium/android_webview/AwContents.java

Issue 2375133002: Move MessagePort implementation from android_webview to content (Closed)
Patch Set: rsesek nits and git cl format Created 4 years, 2 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 2012 The Chromium Authors. All rights reserved. 1 // Copyright 2012 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.android_webview; 5 package org.chromium.android_webview;
6 6
7 import android.annotation.SuppressLint; 7 import android.annotation.SuppressLint;
8 import android.annotation.TargetApi; 8 import android.annotation.TargetApi;
9 import android.app.Activity; 9 import android.app.Activity;
10 import android.content.ComponentCallbacks2; 10 import android.content.ComponentCallbacks2;
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
49 import org.chromium.base.Log; 49 import org.chromium.base.Log;
50 import org.chromium.base.ObserverList; 50 import org.chromium.base.ObserverList;
51 import org.chromium.base.ThreadUtils; 51 import org.chromium.base.ThreadUtils;
52 import org.chromium.base.TraceEvent; 52 import org.chromium.base.TraceEvent;
53 import org.chromium.base.VisibleForTesting; 53 import org.chromium.base.VisibleForTesting;
54 import org.chromium.base.annotations.CalledByNative; 54 import org.chromium.base.annotations.CalledByNative;
55 import org.chromium.base.annotations.JNINamespace; 55 import org.chromium.base.annotations.JNINamespace;
56 import org.chromium.base.annotations.SuppressFBWarnings; 56 import org.chromium.base.annotations.SuppressFBWarnings;
57 import org.chromium.components.navigation_interception.InterceptNavigationDelega te; 57 import org.chromium.components.navigation_interception.InterceptNavigationDelega te;
58 import org.chromium.components.navigation_interception.NavigationParams; 58 import org.chromium.components.navigation_interception.NavigationParams;
59 import org.chromium.content.browser.AppWebMessagePort;
60 import org.chromium.content.browser.AppWebMessagePortService;
59 import org.chromium.content.browser.ContentViewClient; 61 import org.chromium.content.browser.ContentViewClient;
60 import org.chromium.content.browser.ContentViewCore; 62 import org.chromium.content.browser.ContentViewCore;
61 import org.chromium.content.browser.ContentViewStatics; 63 import org.chromium.content.browser.ContentViewStatics;
64 import org.chromium.content.browser.PostMessageSender;
62 import org.chromium.content.browser.SmartClipProvider; 65 import org.chromium.content.browser.SmartClipProvider;
63 import org.chromium.content_public.browser.GestureStateListener; 66 import org.chromium.content_public.browser.GestureStateListener;
64 import org.chromium.content_public.browser.JavaScriptCallback; 67 import org.chromium.content_public.browser.JavaScriptCallback;
65 import org.chromium.content_public.browser.LoadUrlParams; 68 import org.chromium.content_public.browser.LoadUrlParams;
66 import org.chromium.content_public.browser.NavigationController; 69 import org.chromium.content_public.browser.NavigationController;
67 import org.chromium.content_public.browser.NavigationHistory; 70 import org.chromium.content_public.browser.NavigationHistory;
68 import org.chromium.content_public.browser.WebContents; 71 import org.chromium.content_public.browser.WebContents;
69 import org.chromium.content_public.browser.navigation_controller.LoadURLType; 72 import org.chromium.content_public.browser.navigation_controller.LoadURLType;
70 import org.chromium.content_public.browser.navigation_controller.UserAgentOverri deOption; 73 import org.chromium.content_public.browser.navigation_controller.UserAgentOverri deOption;
71 import org.chromium.content_public.common.Referrer; 74 import org.chromium.content_public.common.Referrer;
(...skipping 2161 matching lines...) Expand 10 before | Expand all | Expand 10 after
2233 /** 2236 /**
2234 * Post a message to a frame. 2237 * Post a message to a frame.
2235 * 2238 *
2236 * @param frameName The name of the frame. If the name is null the message i s posted 2239 * @param frameName The name of the frame. If the name is null the message i s posted
2237 * to the main frame. 2240 * to the main frame.
2238 * @param message The message 2241 * @param message The message
2239 * @param targetOrigin The target origin 2242 * @param targetOrigin The target origin
2240 * @param sentPorts The sent message ports, if any. Pass null if there is no 2243 * @param sentPorts The sent message ports, if any. Pass null if there is no
2241 * message ports to pass. 2244 * message ports to pass.
2242 */ 2245 */
2243 public void postMessageToFrame(String frameName, String message, String targ etOrigin, 2246 public void postMessageToFrame(
2244 AwMessagePort[] sentPorts) { 2247 String frameName, String message, String targetOrigin, AppWebMessage Port[] sentPorts) {
2245 if (isDestroyed(WARN)) return; 2248 if (isDestroyed(WARN)) return;
2246 if (mPostMessageSender == null) { 2249 if (mPostMessageSender == null) {
2247 AwMessagePortService service = mBrowserContext.getMessagePortService (); 2250 AppWebMessagePortService service = mBrowserContext.getMessagePortSer vice();
2248 mPostMessageSender = new PostMessageSender(this, service); 2251 mPostMessageSender = new PostMessageSender(this, service);
2249 service.addObserver(mPostMessageSender); 2252 service.addObserver(mPostMessageSender);
2250 } 2253 }
2251 mPostMessageSender.postMessage(frameName, message, targetOrigin, 2254 mPostMessageSender.postMessage(frameName, message, targetOrigin,
2252 sentPorts); 2255 sentPorts);
2253 } 2256 }
2254 2257
2255 // Implements PostMessageSender.PostMessageSenderDelegate interface method. 2258 // Implements PostMessageSender.PostMessageSenderDelegate interface method.
2256 @Override 2259 @Override
2257 public boolean isPostMessageSenderReady() { 2260 public boolean isPostMessageSenderReady() {
(...skipping 10 matching lines...) Expand all
2268 int[] sentPortIds) { 2271 int[] sentPortIds) {
2269 if (TRACE) Log.i(TAG, "%s postMessageToWeb. TargetOrigin=%s", this, targ etOrigin); 2272 if (TRACE) Log.i(TAG, "%s postMessageToWeb. TargetOrigin=%s", this, targ etOrigin);
2270 if (isDestroyed(NO_WARN)) return; 2273 if (isDestroyed(NO_WARN)) return;
2271 nativePostMessageToFrame(mNativeAwContents, frameName, message, targetOr igin, 2274 nativePostMessageToFrame(mNativeAwContents, frameName, message, targetOr igin,
2272 sentPortIds); 2275 sentPortIds);
2273 } 2276 }
2274 2277
2275 /** 2278 /**
2276 * Creates a message channel and returns the ports for each end of the chann el. 2279 * Creates a message channel and returns the ports for each end of the chann el.
2277 */ 2280 */
2278 public AwMessagePort[] createMessageChannel() { 2281 public AppWebMessagePort[] createMessageChannel() {
2279 if (TRACE) Log.i(TAG, "%s createMessageChannel", this); 2282 if (TRACE) Log.i(TAG, "%s createMessageChannel", this);
2280 if (isDestroyed(WARN)) return null; 2283 if (isDestroyed(WARN)) return null;
2281 AwMessagePort[] ports = mBrowserContext.getMessagePortService().createMe ssageChannel(); 2284 AppWebMessagePort[] ports = mBrowserContext.getMessagePortService().crea teMessageChannel();
2282 nativeCreateMessageChannel(mNativeAwContents, ports); 2285 nativeCreateMessageChannel(mNativeAwContents, ports);
2283 return ports; 2286 return ports;
2284 } 2287 }
2285 2288
2286 public boolean hasAccessedInitialDocument() { 2289 public boolean hasAccessedInitialDocument() {
2287 if (isDestroyed(NO_WARN)) return false; 2290 if (isDestroyed(NO_WARN)) return false;
2288 return mWebContents.hasAccessedInitialDocument(); 2291 return mWebContents.hasAccessedInitialDocument();
2289 } 2292 }
2290 2293
2291 @TargetApi(Build.VERSION_CODES.M) 2294 @TargetApi(Build.VERSION_CODES.M)
(...skipping 1074 matching lines...) Expand 10 before | Expand all | Expand 10 after
3366 private native void nativeTrimMemory(long nativeAwContents, int level, boole an visible); 3369 private native void nativeTrimMemory(long nativeAwContents, int level, boole an visible);
3367 3370
3368 private native void nativeCreatePdfExporter(long nativeAwContents, AwPdfExpo rter awPdfExporter); 3371 private native void nativeCreatePdfExporter(long nativeAwContents, AwPdfExpo rter awPdfExporter);
3369 3372
3370 private native void nativePreauthorizePermission(long nativeAwContents, Stri ng origin, 3373 private native void nativePreauthorizePermission(long nativeAwContents, Stri ng origin,
3371 long resources); 3374 long resources);
3372 3375
3373 private native void nativePostMessageToFrame(long nativeAwContents, String f rameId, 3376 private native void nativePostMessageToFrame(long nativeAwContents, String f rameId,
3374 String message, String targetOrigin, int[] msgPorts); 3377 String message, String targetOrigin, int[] msgPorts);
3375 3378
3376 private native void nativeCreateMessageChannel(long nativeAwContents, AwMess agePort[] ports); 3379 private native void nativeCreateMessageChannel(
3380 long nativeAwContents, AppWebMessagePort[] ports);
3377 3381
3378 private native void nativeGrantFileSchemeAccesstoChildProcess(long nativeAwC ontents); 3382 private native void nativeGrantFileSchemeAccesstoChildProcess(long nativeAwC ontents);
3379 private native void nativeResumeLoadingCreatedPopupWebContents(long nativeAw Contents); 3383 private native void nativeResumeLoadingCreatedPopupWebContents(long nativeAw Contents);
3380 } 3384 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698