| OLD | NEW |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 } |
| OLD | NEW |