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

Unified Diff: content/public/android/java/src/org/chromium/content/browser/AppWebMessagePort.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 side-by-side diff with in-line comments
Download patch
Index: content/public/android/java/src/org/chromium/content/browser/AppWebMessagePort.java
diff --git a/android_webview/java/src/org/chromium/android_webview/AwMessagePort.java b/content/public/android/java/src/org/chromium/content/browser/AppWebMessagePort.java
similarity index 87%
rename from android_webview/java/src/org/chromium/android_webview/AwMessagePort.java
rename to content/public/android/java/src/org/chromium/content/browser/AppWebMessagePort.java
index 97e4d4951c2c0a7ff41abf09e657fc7a216a71c1..9e650385b1e2a8a785e6df1ba5c16c916c981189 100644
--- a/android_webview/java/src/org/chromium/android_webview/AwMessagePort.java
+++ b/content/public/android/java/src/org/chromium/content/browser/AppWebMessagePort.java
@@ -2,12 +2,13 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-package org.chromium.android_webview;
+package org.chromium.content.browser;
import android.os.Handler;
import android.os.Looper;
import android.os.Message;
-import android.util.Log;
+
+import org.chromium.base.Log;
/**
* Represents the MessageChannel MessagePort object. Inspired from
@@ -57,9 +58,9 @@ import android.util.Log;
* it gets executed with a timeout, depending on timeout value, the printout value
* changes.
*
- * To prevent such problems, Android webview implementation limits the transfer of ports
+ * To prevent such problems, this implementation limits the transfer of ports
* as below:
- * Webview puts a port to a "started" state if:
+ * A port is put to a "started" state if:
* 1. The port is ever used to post a message, or
* 2. The port was ever registered a handler to receive a message.
* A started port cannot be transferred.
@@ -69,14 +70,13 @@ import android.util.Log;
* transferring data. As a return, it simplifies implementation and prevents hard
* to debug, racy corner cases while receiving/sending data.
*/
-public class AwMessagePort implements PostMessageSender.PostMessageSenderDelegate {
-
+public class AppWebMessagePort implements PostMessageSender.PostMessageSenderDelegate {
/**
* The message callback for receiving messages. Called on UI thread or if
* provided, on the handler that is provided.
*/
public abstract static class MessageCallback {
- public abstract void onMessage(String message, AwMessagePort[] sentPorts);
+ public abstract void onMessage(String message, AppWebMessagePort[] sentPorts);
}
private static final String TAG = "MessagePort";
@@ -86,11 +86,12 @@ public class AwMessagePort implements PostMessageSender.PostMessageSenderDelegat
private static final int POST_MESSAGE = 1;
private static class PostMessageFromWeb {
- public AwMessagePort port;
+ public AppWebMessagePort port;
public String message;
- public AwMessagePort[] sentPorts;
+ public AppWebMessagePort[] sentPorts;
- public PostMessageFromWeb(AwMessagePort port, String message, AwMessagePort[] sentPorts) {
+ public PostMessageFromWeb(
+ AppWebMessagePort port, String message, AppWebMessagePort[] sentPorts) {
this.port = port;
this.message = message;
this.sentPorts = sentPorts;
@@ -120,7 +121,7 @@ public class AwMessagePort implements PostMessageSender.PostMessageSenderDelegat
private int mPortId = PENDING;
private MessageCallback mMessageCallback;
- private AwMessagePortService mMessagePortService;
+ private AppWebMessagePortService mMessagePortService;
private boolean mClosed;
private boolean mTransferred;
private boolean mStarted;
@@ -129,7 +130,7 @@ public class AwMessagePort implements PostMessageSender.PostMessageSenderDelegat
private MessageHandler mHandler;
private final Object mLock = new Object();
- public AwMessagePort(AwMessagePortService messagePortService) {
+ public AppWebMessagePort(AppWebMessagePortService messagePortService) {
mMessagePortService = messagePortService;
mPostMessageSender = new PostMessageSender(this, mMessagePortService);
mMessagePortService.addObserver(mPostMessageSender);
@@ -194,7 +195,7 @@ public class AwMessagePort implements PostMessageSender.PostMessageSenderDelegat
}
// Only called on IO thread.
- public void onReceivedMessage(String message, AwMessagePort[] sentPorts) {
+ public void onReceivedMessage(String message, AppWebMessagePort[] sentPorts) {
synchronized (mLock) {
PostMessageFromWeb m = new PostMessageFromWeb(this, message, sentPorts);
Handler handler = mHandler != null ? mHandler : sDefaultHandler;
@@ -212,28 +213,28 @@ public class AwMessagePort implements PostMessageSender.PostMessageSenderDelegat
}
// This method may be called on a different thread than UI thread.
- public void onMessage(String message, AwMessagePort[] ports) {
+ public void onMessage(String message, AppWebMessagePort[] ports) {
synchronized (mLock) {
if (isClosed()) {
Log.w(TAG, "Port [" + mPortId + "] received message in closed state");
return;
}
if (mMessageCallback == null) {
- Log.w(TAG, "No handler set for port [" + mPortId + "], dropping message "
- + message);
+ Log.w(TAG,
+ "No handler set for port [" + mPortId + "], dropping message " + message);
return;
}
mMessageCallback.onMessage(message, ports);
}
}
- public void postMessage(String message, AwMessagePort[] sentPorts)
+ public void postMessage(String message, AppWebMessagePort[] sentPorts)
throws IllegalStateException {
if (isClosed() || isTransferred()) {
throw new IllegalStateException("Port is already closed or transferred");
}
if (sentPorts != null) {
- for (AwMessagePort port : sentPorts) {
+ for (AppWebMessagePort port : sentPorts) {
if (port.equals(this)) {
throw new IllegalStateException("Source port cannot be transferred");
}
@@ -259,8 +260,8 @@ public class AwMessagePort implements PostMessageSender.PostMessageSenderDelegat
// Implements PostMessageSender.PostMessageSenderDelegate interface method.
@Override
- public void postMessageToWeb(String frameName, String message, String targetOrigin,
- int[] sentPortIds) {
+ public void postMessageToWeb(
+ String frameName, String message, String targetOrigin, int[] sentPortIds) {
mMessagePortService.postMessage(mPortId, message, sentPortIds);
}

Powered by Google App Engine
This is Rietveld 408576698