Commit ff9d79e7 authored by sgurun's avatar sgurun Committed by Commit bot

Rename MessagePort to AwMessagePort

BUG=393291

Rename MessagePort to AwMessagePort to be consistent with other names in glue layer.

Review URL: https://codereview.chromium.org/1027503002

Cr-Commit-Position: refs/heads/master@{#321471}
parent 7b19bdb5
...@@ -1996,7 +1996,7 @@ public class AwContents implements SmartClipProvider, ...@@ -1996,7 +1996,7 @@ public class AwContents implements SmartClipProvider,
* message ports to pass. * message ports to pass.
*/ */
public void postMessageToFrame(String frameName, String message, String targetOrigin, public void postMessageToFrame(String frameName, String message, String targetOrigin,
MessagePort[] sentPorts) { AwMessagePort[] sentPorts) {
if (isDestroyed()) return; if (isDestroyed()) return;
if (mPostMessageSender == null) { if (mPostMessageSender == null) {
AwMessagePortService service = mBrowserContext.getMessagePortService(); AwMessagePortService service = mBrowserContext.getMessagePortService();
...@@ -2030,10 +2030,10 @@ public class AwContents implements SmartClipProvider, ...@@ -2030,10 +2030,10 @@ public class AwContents implements SmartClipProvider,
/** /**
* Creates a message channel and returns the ports for each end of the channel. * Creates a message channel and returns the ports for each end of the channel.
*/ */
public MessagePort[] createMessageChannel() { public AwMessagePort[] createMessageChannel() {
if (TRACE) Log.d(TAG, "createMessageChannel"); if (TRACE) Log.d(TAG, "createMessageChannel");
if (isDestroyed()) return null; if (isDestroyed()) return null;
MessagePort[] ports = mBrowserContext.getMessagePortService().createMessageChannel(); AwMessagePort[] ports = mBrowserContext.getMessagePortService().createMessageChannel();
nativeCreateMessageChannel(mNativeAwContents, ports); nativeCreateMessageChannel(mNativeAwContents, ports);
return ports; return ports;
} }
...@@ -2998,5 +2998,5 @@ public class AwContents implements SmartClipProvider, ...@@ -2998,5 +2998,5 @@ public class AwContents implements SmartClipProvider,
private native void nativePostMessageToFrame(long nativeAwContents, String frameId, private native void nativePostMessageToFrame(long nativeAwContents, String frameId,
String message, String targetOrigin, int[] msgPorts); String message, String targetOrigin, int[] msgPorts);
private native void nativeCreateMessageChannel(long nativeAwContents, MessagePort[] ports); private native void nativeCreateMessageChannel(long nativeAwContents, AwMessagePort[] ports);
} }
...@@ -69,14 +69,14 @@ import android.util.Log; ...@@ -69,14 +69,14 @@ import android.util.Log;
* transferring data. As a return, it simplifies implementation and prevents hard * transferring data. As a return, it simplifies implementation and prevents hard
* to debug, racy corner cases while receiving/sending data. * to debug, racy corner cases while receiving/sending data.
*/ */
public class MessagePort implements PostMessageSender.PostMessageSenderDelegate { public class AwMessagePort implements PostMessageSender.PostMessageSenderDelegate {
/** /**
* The message callback for receiving messages. Called on UI thread or if * The message callback for receiving messages. Called on UI thread or if
* provided, on the handler that is provided. * provided, on the handler that is provided.
*/ */
public abstract static class MessageCallback { public abstract static class MessageCallback {
public abstract void onMessage(String message, MessagePort[] sentPorts); public abstract void onMessage(String message, AwMessagePort[] sentPorts);
} }
private static final String TAG = "MessagePort"; private static final String TAG = "MessagePort";
...@@ -86,11 +86,11 @@ public class MessagePort implements PostMessageSender.PostMessageSenderDelegate ...@@ -86,11 +86,11 @@ public class MessagePort implements PostMessageSender.PostMessageSenderDelegate
private static final int POST_MESSAGE = 1; private static final int POST_MESSAGE = 1;
private static class PostMessageFromWeb { private static class PostMessageFromWeb {
public MessagePort port; public AwMessagePort port;
public String message; public String message;
public MessagePort[] sentPorts; public AwMessagePort[] sentPorts;
public PostMessageFromWeb(MessagePort port, String message, MessagePort[] sentPorts) { public PostMessageFromWeb(AwMessagePort port, String message, AwMessagePort[] sentPorts) {
this.port = port; this.port = port;
this.message = message; this.message = message;
this.sentPorts = sentPorts; this.sentPorts = sentPorts;
...@@ -129,7 +129,7 @@ public class MessagePort implements PostMessageSender.PostMessageSenderDelegate ...@@ -129,7 +129,7 @@ public class MessagePort implements PostMessageSender.PostMessageSenderDelegate
private MessageHandler mHandler; private MessageHandler mHandler;
private Object mLock = new Object(); private Object mLock = new Object();
public MessagePort(AwMessagePortService messagePortService) { public AwMessagePort(AwMessagePortService messagePortService) {
mMessagePortService = messagePortService; mMessagePortService = messagePortService;
mPostMessageSender = new PostMessageSender(this, mMessagePortService); mPostMessageSender = new PostMessageSender(this, mMessagePortService);
mMessagePortService.addObserver(mPostMessageSender); mMessagePortService.addObserver(mPostMessageSender);
...@@ -194,7 +194,7 @@ public class MessagePort implements PostMessageSender.PostMessageSenderDelegate ...@@ -194,7 +194,7 @@ public class MessagePort implements PostMessageSender.PostMessageSenderDelegate
} }
// Only called on IO thread. // Only called on IO thread.
public void onReceivedMessage(String message, MessagePort[] sentPorts) { public void onReceivedMessage(String message, AwMessagePort[] sentPorts) {
synchronized (mLock) { synchronized (mLock) {
PostMessageFromWeb m = new PostMessageFromWeb(this, message, sentPorts); PostMessageFromWeb m = new PostMessageFromWeb(this, message, sentPorts);
Handler handler = mHandler != null ? mHandler : sDefaultHandler; Handler handler = mHandler != null ? mHandler : sDefaultHandler;
...@@ -212,7 +212,7 @@ public class MessagePort implements PostMessageSender.PostMessageSenderDelegate ...@@ -212,7 +212,7 @@ public class MessagePort implements PostMessageSender.PostMessageSenderDelegate
} }
// This method may be called on a different thread than UI thread. // This method may be called on a different thread than UI thread.
public void onMessage(String message, MessagePort[] ports) { public void onMessage(String message, AwMessagePort[] ports) {
synchronized (mLock) { synchronized (mLock) {
if (isClosed()) { if (isClosed()) {
Log.w(TAG, "Port [" + mPortId + "] received message in closed state"); Log.w(TAG, "Port [" + mPortId + "] received message in closed state");
...@@ -227,12 +227,13 @@ public class MessagePort implements PostMessageSender.PostMessageSenderDelegate ...@@ -227,12 +227,13 @@ public class MessagePort implements PostMessageSender.PostMessageSenderDelegate
} }
} }
public void postMessage(String message, MessagePort[] sentPorts) throws IllegalStateException { public void postMessage(String message, AwMessagePort[] sentPorts)
throws IllegalStateException {
if (isClosed() || isTransferred()) { if (isClosed() || isTransferred()) {
throw new IllegalStateException("Port is already closed or transferred"); throw new IllegalStateException("Port is already closed or transferred");
} }
if (sentPorts != null) { if (sentPorts != null) {
for (MessagePort port : sentPorts) { for (AwMessagePort port : sentPorts) {
if (port.equals(this)) { if (port.equals(this)) {
throw new IllegalStateException("Source port cannot be transferred"); throw new IllegalStateException("Source port cannot be transferred");
} }
......
...@@ -45,7 +45,7 @@ public class AwMessagePortService { ...@@ -45,7 +45,7 @@ public class AwMessagePortService {
// A thread safe storage for Message Ports. // A thread safe storage for Message Ports.
private static class MessagePortStorage { private static class MessagePortStorage {
private SparseArray<MessagePort> mMessagePorts = new SparseArray<MessagePort>(); private SparseArray<AwMessagePort> mMessagePorts = new SparseArray<AwMessagePort>();
private Object mLock = new Object(); private Object mLock = new Object();
public void remove(int portId) { public void remove(int portId) {
...@@ -54,12 +54,12 @@ public class AwMessagePortService { ...@@ -54,12 +54,12 @@ public class AwMessagePortService {
} }
} }
public void put(int portId, MessagePort m) { public void put(int portId, AwMessagePort m) {
synchronized (mLock) { synchronized (mLock) {
mMessagePorts.put(portId, m); mMessagePorts.put(portId, m);
} }
} }
public MessagePort get(int portId) { public AwMessagePort get(int portId) {
synchronized (mLock) { synchronized (mLock) {
return mMessagePorts.get(portId); return mMessagePorts.get(portId);
} }
...@@ -102,7 +102,7 @@ public class AwMessagePortService { ...@@ -102,7 +102,7 @@ public class AwMessagePortService {
// verify that webview owns all the ports that are transferred // verify that webview owns all the ports that are transferred
if (sentPorts != null) { if (sentPorts != null) {
for (int port : sentPorts) { for (int port : sentPorts) {
MessagePort p = mPortStorage.get(port); AwMessagePort p = mPortStorage.get(port);
if (p == null) { if (p == null) {
throw new IllegalStateException("Cannot transfer unknown port " + port); throw new IllegalStateException("Cannot transfer unknown port " + port);
} }
...@@ -111,8 +111,8 @@ public class AwMessagePortService { ...@@ -111,8 +111,8 @@ public class AwMessagePortService {
} }
} }
public MessagePort[] createMessageChannel() { public AwMessagePort[] createMessageChannel() {
return new MessagePort[]{new MessagePort(this), new MessagePort(this)}; return new AwMessagePort[]{new AwMessagePort(this), new AwMessagePort(this)};
} }
// Called on UI thread. // Called on UI thread.
...@@ -121,7 +121,7 @@ public class AwMessagePortService { ...@@ -121,7 +121,7 @@ public class AwMessagePortService {
nativeReleaseMessages(mNativeMessagePortService, portId); nativeReleaseMessages(mNativeMessagePortService, portId);
} }
private MessagePort addPort(MessagePort m, int portId) { private AwMessagePort addPort(AwMessagePort m, int portId) {
if (mPortStorage.get(portId) != null) { if (mPortStorage.get(portId) != null) {
throw new IllegalStateException("Port already exists"); throw new IllegalStateException("Port already exists");
} }
...@@ -132,7 +132,7 @@ public class AwMessagePortService { ...@@ -132,7 +132,7 @@ public class AwMessagePortService {
@CalledByNative @CalledByNative
private void onMessageChannelCreated(int portId1, int portId2, private void onMessageChannelCreated(int portId1, int portId2,
MessagePort[] ports) { AwMessagePort[] ports) {
ThreadUtils.assertOnUiThread(); ThreadUtils.assertOnUiThread();
addPort(ports[0], portId1); addPort(ports[0], portId1);
addPort(ports[1], portId2); addPort(ports[1], portId2);
...@@ -144,12 +144,12 @@ public class AwMessagePortService { ...@@ -144,12 +144,12 @@ public class AwMessagePortService {
// Called on IO thread. // Called on IO thread.
@CalledByNative @CalledByNative
private void onReceivedMessage(int portId, String message, int[] ports) { private void onReceivedMessage(int portId, String message, int[] ports) {
MessagePort[] messagePorts = null; AwMessagePort[] messagePorts = null;
for (int i = 0; i < ports.length; i++) { for (int i = 0; i < ports.length; i++) {
if (messagePorts == null) { if (messagePorts == null) {
messagePorts = new MessagePort[ports.length]; messagePorts = new AwMessagePort[ports.length];
} }
messagePorts[i] = addPort(new MessagePort(this), ports[i]); messagePorts[i] = addPort(new AwMessagePort(this), ports[i]);
} }
mPortStorage.get(portId).onReceivedMessage(message, messagePorts); mPortStorage.get(portId).onReceivedMessage(message, messagePorts);
} }
......
...@@ -39,10 +39,10 @@ public class PostMessageSender implements AwMessagePortService.MessageChannelObs ...@@ -39,10 +39,10 @@ public class PostMessageSender implements AwMessagePortService.MessageChannelObs
public String frameName; public String frameName;
public String message; public String message;
public String targetOrigin; public String targetOrigin;
public MessagePort[] sentPorts; public AwMessagePort[] sentPorts;
public PostMessageParams(String frameName, String message, String targetOrigin, public PostMessageParams(String frameName, String message, String targetOrigin,
MessagePort[] sentPorts) { AwMessagePort[] sentPorts) {
this.frameName = frameName; this.frameName = frameName;
this.message = message; this.message = message;
this.targetOrigin = targetOrigin; this.targetOrigin = targetOrigin;
...@@ -71,9 +71,9 @@ public class PostMessageSender implements AwMessagePortService.MessageChannelObs ...@@ -71,9 +71,9 @@ public class PostMessageSender implements AwMessagePortService.MessageChannelObs
} }
// Return true if any sent port is pending. // Return true if any sent port is pending.
private boolean anySentPortIsPending(MessagePort[] sentPorts) { private boolean anySentPortIsPending(AwMessagePort[] sentPorts) {
if (sentPorts != null) { if (sentPorts != null) {
for (MessagePort port : sentPorts) { for (AwMessagePort port : sentPorts) {
if (!port.isReady()) { if (!port.isReady()) {
return true; return true;
} }
...@@ -88,7 +88,7 @@ public class PostMessageSender implements AwMessagePortService.MessageChannelObs ...@@ -88,7 +88,7 @@ public class PostMessageSender implements AwMessagePortService.MessageChannelObs
// a pending state. // a pending state.
// 2. There are already queued messages // 2. There are already queued messages
// 3. The message includes a port that is not ready yet. // 3. The message includes a port that is not ready yet.
private boolean shouldQueueMessage(MessagePort[] sentPorts) { private boolean shouldQueueMessage(AwMessagePort[] sentPorts) {
// if messages to frames are already in queue mode, simply queue it, no need to // if messages to frames are already in queue mode, simply queue it, no need to
// check ports. // check ports.
if (mMessageQueue.size() > 0 || !mDelegate.isPostMessageSenderReady()) { if (mMessageQueue.size() > 0 || !mDelegate.isPostMessageSenderReady()) {
...@@ -101,7 +101,7 @@ public class PostMessageSender implements AwMessagePortService.MessageChannelObs ...@@ -101,7 +101,7 @@ public class PostMessageSender implements AwMessagePortService.MessageChannelObs
} }
private void postMessageToWeb(String frameName, String message, String targetOrigin, private void postMessageToWeb(String frameName, String message, String targetOrigin,
MessagePort[] sentPorts) { AwMessagePort[] sentPorts) {
int[] portIds = null; int[] portIds = null;
if (sentPorts != null) { if (sentPorts != null) {
portIds = new int[sentPorts.length]; portIds = new int[sentPorts.length];
...@@ -118,10 +118,10 @@ public class PostMessageSender implements AwMessagePortService.MessageChannelObs ...@@ -118,10 +118,10 @@ public class PostMessageSender implements AwMessagePortService.MessageChannelObs
* when message can be sent. * when message can be sent.
*/ */
public void postMessage(String frameName, String message, String targetOrigin, public void postMessage(String frameName, String message, String targetOrigin,
MessagePort[] sentPorts) throws IllegalStateException { AwMessagePort[] sentPorts) throws IllegalStateException {
// Sanity check all the ports that are being transferred. // Sanity check all the ports that are being transferred.
if (sentPorts != null) { if (sentPorts != null) {
for (MessagePort p : sentPorts) { for (AwMessagePort p : sentPorts) {
if (p.isClosed()) { if (p.isClosed()) {
throw new IllegalStateException("Closed port cannot be transfered"); throw new IllegalStateException("Closed port cannot be transfered");
} }
......
...@@ -13,8 +13,8 @@ import static org.chromium.base.test.util.ScalableTimeout.scaleTimeout; ...@@ -13,8 +13,8 @@ import static org.chromium.base.test.util.ScalableTimeout.scaleTimeout;
import static org.chromium.content.browser.test.util.TestCallbackHelperContainer.OnPageFinishedHelper; import static org.chromium.content.browser.test.util.TestCallbackHelperContainer.OnPageFinishedHelper;
import org.chromium.android_webview.AwContents; import org.chromium.android_webview.AwContents;
import org.chromium.android_webview.AwMessagePort;
import org.chromium.android_webview.AwMessagePortService; import org.chromium.android_webview.AwMessagePortService;
import org.chromium.android_webview.MessagePort;
import org.chromium.android_webview.test.util.CommonResources; import org.chromium.android_webview.test.util.CommonResources;
import org.chromium.base.ThreadUtils; import org.chromium.base.ThreadUtils;
import org.chromium.base.test.util.DisabledTest; import org.chromium.base.test.util.DisabledTest;
...@@ -203,13 +203,13 @@ public class PostMessageTest extends AwTestBase { ...@@ -203,13 +203,13 @@ public class PostMessageTest extends AwTestBase {
runTestOnUiThread(new Runnable() { runTestOnUiThread(new Runnable() {
@Override @Override
public void run() { public void run() {
MessagePort[] channel = mAwContents.createMessageChannel(); AwMessagePort[] channel = mAwContents.createMessageChannel();
mAwContents.postMessageToFrame(null, "1", mWebServer.getBaseUrl(), mAwContents.postMessageToFrame(null, "1", mWebServer.getBaseUrl(),
new MessagePort[]{channel[1]}); new AwMessagePort[]{channel[1]});
// Retransfer the port. This should fail with an exception. // Retransfer the port. This should fail with an exception.
try { try {
mAwContents.postMessageToFrame(null, "2", mWebServer.getBaseUrl(), mAwContents.postMessageToFrame(null, "2", mWebServer.getBaseUrl(),
new MessagePort[]{channel[1]}); new AwMessagePort[]{channel[1]});
} catch (IllegalStateException ex) { } catch (IllegalStateException ex) {
latch.countDown(); latch.countDown();
return; return;
...@@ -233,11 +233,11 @@ public class PostMessageTest extends AwTestBase { ...@@ -233,11 +233,11 @@ public class PostMessageTest extends AwTestBase {
runTestOnUiThread(new Runnable() { runTestOnUiThread(new Runnable() {
@Override @Override
public void run() { public void run() {
MessagePort[] channel = mAwContents.createMessageChannel(); AwMessagePort[] channel = mAwContents.createMessageChannel();
channel[1].postMessage("1", null); channel[1].postMessage("1", null);
try { try {
mAwContents.postMessageToFrame(null, "2", mWebServer.getBaseUrl(), mAwContents.postMessageToFrame(null, "2", mWebServer.getBaseUrl(),
new MessagePort[]{channel[1]}); new AwMessagePort[]{channel[1]});
} catch (IllegalStateException ex) { } catch (IllegalStateException ex) {
latch.countDown(); latch.countDown();
return; return;
...@@ -257,15 +257,15 @@ public class PostMessageTest extends AwTestBase { ...@@ -257,15 +257,15 @@ public class PostMessageTest extends AwTestBase {
runTestOnUiThread(new Runnable() { runTestOnUiThread(new Runnable() {
@Override @Override
public void run() { public void run() {
MessagePort[] channel = mAwContents.createMessageChannel(); AwMessagePort[] channel = mAwContents.createMessageChannel();
// set a web event handler, this puts the port in a started state. // set a web event handler, this puts the port in a started state.
channel[1].setMessageCallback(new MessagePort.MessageCallback() { channel[1].setMessageCallback(new AwMessagePort.MessageCallback() {
@Override @Override
public void onMessage(String message, MessagePort[] sentPorts) { } public void onMessage(String message, AwMessagePort[] sentPorts) { }
}, null); }, null);
try { try {
mAwContents.postMessageToFrame(null, "2", mWebServer.getBaseUrl(), mAwContents.postMessageToFrame(null, "2", mWebServer.getBaseUrl(),
new MessagePort[]{channel[1]}); new AwMessagePort[]{channel[1]});
} catch (IllegalStateException ex) { } catch (IllegalStateException ex) {
latch.countDown(); latch.countDown();
return; return;
...@@ -285,11 +285,11 @@ public class PostMessageTest extends AwTestBase { ...@@ -285,11 +285,11 @@ public class PostMessageTest extends AwTestBase {
runTestOnUiThread(new Runnable() { runTestOnUiThread(new Runnable() {
@Override @Override
public void run() { public void run() {
MessagePort[] channel1 = mAwContents.createMessageChannel(); AwMessagePort[] channel1 = mAwContents.createMessageChannel();
channel1[1].postMessage("1", null); channel1[1].postMessage("1", null);
MessagePort[] channel2 = mAwContents.createMessageChannel(); AwMessagePort[] channel2 = mAwContents.createMessageChannel();
try { try {
channel2[0].postMessage("2", new MessagePort[]{channel1[1]}); channel2[0].postMessage("2", new AwMessagePort[]{channel1[1]});
} catch (IllegalStateException ex) { } catch (IllegalStateException ex) {
latch.countDown(); latch.countDown();
return; return;
...@@ -309,15 +309,15 @@ public class PostMessageTest extends AwTestBase { ...@@ -309,15 +309,15 @@ public class PostMessageTest extends AwTestBase {
runTestOnUiThread(new Runnable() { runTestOnUiThread(new Runnable() {
@Override @Override
public void run() { public void run() {
MessagePort[] channel1 = mAwContents.createMessageChannel(); AwMessagePort[] channel1 = mAwContents.createMessageChannel();
// set a web event handler, this puts the port in a started state. // set a web event handler, this puts the port in a started state.
channel1[1].setMessageCallback(new MessagePort.MessageCallback() { channel1[1].setMessageCallback(new AwMessagePort.MessageCallback() {
@Override @Override
public void onMessage(String message, MessagePort[] sentPorts) { } public void onMessage(String message, AwMessagePort[] sentPorts) { }
}, null); }, null);
MessagePort[] channel2 = mAwContents.createMessageChannel(); AwMessagePort[] channel2 = mAwContents.createMessageChannel();
try { try {
channel2[0].postMessage("1", new MessagePort[]{channel1[1]}); channel2[0].postMessage("1", new AwMessagePort[]{channel1[1]});
} catch (IllegalStateException ex) { } catch (IllegalStateException ex) {
latch.countDown(); latch.countDown();
return; return;
...@@ -344,9 +344,9 @@ public class PostMessageTest extends AwTestBase { ...@@ -344,9 +344,9 @@ public class PostMessageTest extends AwTestBase {
runTestOnUiThread(new Runnable() { runTestOnUiThread(new Runnable() {
@Override @Override
public void run() { public void run() {
MessagePort[] channel = mAwContents.createMessageChannel(); AwMessagePort[] channel = mAwContents.createMessageChannel();
try { try {
channel[0].postMessage("1", new MessagePort[]{channel[0]}); channel[0].postMessage("1", new AwMessagePort[]{channel[0]});
} catch (IllegalStateException ex) { } catch (IllegalStateException ex) {
latch.countDown(); latch.countDown();
return; return;
...@@ -366,11 +366,11 @@ public class PostMessageTest extends AwTestBase { ...@@ -366,11 +366,11 @@ public class PostMessageTest extends AwTestBase {
runTestOnUiThread(new Runnable() { runTestOnUiThread(new Runnable() {
@Override @Override
public void run() { public void run() {
MessagePort[] channel = mAwContents.createMessageChannel(); AwMessagePort[] channel = mAwContents.createMessageChannel();
channel[1].close(); channel[1].close();
try { try {
mAwContents.postMessageToFrame(null, "1", mWebServer.getBaseUrl(), mAwContents.postMessageToFrame(null, "1", mWebServer.getBaseUrl(),
new MessagePort[]{channel[1]}); new AwMessagePort[]{channel[1]});
} catch (IllegalStateException ex) { } catch (IllegalStateException ex) {
latch.countDown(); latch.countDown();
return; return;
...@@ -390,11 +390,11 @@ public class PostMessageTest extends AwTestBase { ...@@ -390,11 +390,11 @@ public class PostMessageTest extends AwTestBase {
runTestOnUiThread(new Runnable() { runTestOnUiThread(new Runnable() {
@Override @Override
public void run() { public void run() {
MessagePort[] channel1 = mAwContents.createMessageChannel(); AwMessagePort[] channel1 = mAwContents.createMessageChannel();
MessagePort[] channel2 = mAwContents.createMessageChannel(); AwMessagePort[] channel2 = mAwContents.createMessageChannel();
channel2[1].close(); channel2[1].close();
try { try {
channel1[0].postMessage("1", new MessagePort[]{channel2[1]}); channel1[0].postMessage("1", new AwMessagePort[]{channel2[1]});
} catch (IllegalStateException ex) { } catch (IllegalStateException ex) {
latch.countDown(); latch.countDown();
return; return;
...@@ -414,7 +414,7 @@ public class PostMessageTest extends AwTestBase { ...@@ -414,7 +414,7 @@ public class PostMessageTest extends AwTestBase {
runTestOnUiThread(new Runnable() { runTestOnUiThread(new Runnable() {
@Override @Override
public void run() { public void run() {
MessagePort[] channel = mAwContents.createMessageChannel(); AwMessagePort[] channel = mAwContents.createMessageChannel();
channel[0].close(); channel[0].close();
try { try {
channel[0].postMessage("1", null); channel[0].postMessage("1", null);
...@@ -436,9 +436,9 @@ public class PostMessageTest extends AwTestBase { ...@@ -436,9 +436,9 @@ public class PostMessageTest extends AwTestBase {
runTestOnUiThread(new Runnable() { runTestOnUiThread(new Runnable() {
@Override @Override
public void run() { public void run() {
MessagePort[] channel = mAwContents.createMessageChannel(); AwMessagePort[] channel = mAwContents.createMessageChannel();
mAwContents.postMessageToFrame(null, "1", mWebServer.getBaseUrl(), mAwContents.postMessageToFrame(null, "1", mWebServer.getBaseUrl(),
new MessagePort[]{channel[1]}); new AwMessagePort[]{channel[1]});
channel[0].postMessage("2", null); channel[0].postMessage("2", null);
channel[0].postMessage("3", null); channel[0].postMessage("3", null);
channel[0].close(); channel[0].close();
...@@ -456,9 +456,9 @@ public class PostMessageTest extends AwTestBase { ...@@ -456,9 +456,9 @@ public class PostMessageTest extends AwTestBase {
runTestOnUiThread(new Runnable() { runTestOnUiThread(new Runnable() {
@Override @Override
public void run() { public void run() {
MessagePort[] channel = mAwContents.createMessageChannel(); AwMessagePort[] channel = mAwContents.createMessageChannel();
mAwContents.postMessageToFrame(null, "1", mWebServer.getBaseUrl(), mAwContents.postMessageToFrame(null, "1", mWebServer.getBaseUrl(),
new MessagePort[]{channel[1]}); new AwMessagePort[]{channel[1]});
try { try {
channel[1].close(); channel[1].close();
} catch (IllegalStateException ex) { } catch (IllegalStateException ex) {
...@@ -480,11 +480,11 @@ public class PostMessageTest extends AwTestBase { ...@@ -480,11 +480,11 @@ public class PostMessageTest extends AwTestBase {
runTestOnUiThread(new Runnable() { runTestOnUiThread(new Runnable() {
@Override @Override
public void run() { public void run() {
MessagePort[] channel1 = mAwContents.createMessageChannel(); AwMessagePort[] channel1 = mAwContents.createMessageChannel();
mAwContents.postMessageToFrame(null, "1", mWebServer.getBaseUrl(), mAwContents.postMessageToFrame(null, "1", mWebServer.getBaseUrl(),
new MessagePort[]{channel1[1]}); new AwMessagePort[]{channel1[1]});
MessagePort[] channel2 = mAwContents.createMessageChannel(); AwMessagePort[] channel2 = mAwContents.createMessageChannel();
channel1[0].postMessage("2", new MessagePort[]{channel2[0]}); channel1[0].postMessage("2", new AwMessagePort[]{channel2[0]});
try { try {
channel2[0].close(); channel2[0].close();
} catch (IllegalStateException ex) { } catch (IllegalStateException ex) {
...@@ -508,11 +508,11 @@ public class PostMessageTest extends AwTestBase { ...@@ -508,11 +508,11 @@ public class PostMessageTest extends AwTestBase {
runTestOnUiThread(new Runnable() { runTestOnUiThread(new Runnable() {
@Override @Override
public void run() { public void run() {
MessagePort[] channel1 = mAwContents.createMessageChannel(); AwMessagePort[] channel1 = mAwContents.createMessageChannel();
mAwContents.postMessageToFrame(null, "1", mWebServer.getBaseUrl(), mAwContents.postMessageToFrame(null, "1", mWebServer.getBaseUrl(),
new MessagePort[]{channel1[1]}); new AwMessagePort[]{channel1[1]});
MessagePort[] channel2 = mAwContents.createMessageChannel(); AwMessagePort[] channel2 = mAwContents.createMessageChannel();
channel1[0].postMessage("2", new MessagePort[]{channel2[0]}); channel1[0].postMessage("2", new AwMessagePort[]{channel2[0]});
} }
}); });
expectTitle("2"); expectTitle("2");
...@@ -520,7 +520,7 @@ public class PostMessageTest extends AwTestBase { ...@@ -520,7 +520,7 @@ public class PostMessageTest extends AwTestBase {
private static class ChannelContainer { private static class ChannelContainer {
private boolean mReady; private boolean mReady;
private MessagePort[] mChannel; private AwMessagePort[] mChannel;
private Object mLock = new Object(); private Object mLock = new Object();
private String mMessage = ""; private String mMessage = "";
private int mCount; private int mCount;
...@@ -534,10 +534,10 @@ public class PostMessageTest extends AwTestBase { ...@@ -534,10 +534,10 @@ public class PostMessageTest extends AwTestBase {
mWaitCount = n; mWaitCount = n;
} }
public void set(MessagePort[] channel) { public void set(AwMessagePort[] channel) {
mChannel = channel; mChannel = channel;
} }
public MessagePort[] get() { public AwMessagePort[] get() {
return mChannel; return mChannel;
} }
...@@ -581,17 +581,17 @@ public class PostMessageTest extends AwTestBase { ...@@ -581,17 +581,17 @@ public class PostMessageTest extends AwTestBase {
runTestOnUiThread(new Runnable() { runTestOnUiThread(new Runnable() {
@Override @Override
public void run() { public void run() {
MessagePort[] channel = mAwContents.createMessageChannel(); AwMessagePort[] channel = mAwContents.createMessageChannel();
// verify communication from JS to Java. // verify communication from JS to Java.
channelContainer.set(channel); channelContainer.set(channel);
channel[0].setMessageCallback(new MessagePort.MessageCallback() { channel[0].setMessageCallback(new AwMessagePort.MessageCallback() {
@Override @Override
public void onMessage(String message, MessagePort[] sentPorts) { public void onMessage(String message, AwMessagePort[] sentPorts) {
channelContainer.setMessage(message); channelContainer.setMessage(message);
} }
}, null); }, null);
mAwContents.postMessageToFrame(null, WEBVIEW_MESSAGE, mWebServer.getBaseUrl(), mAwContents.postMessageToFrame(null, WEBVIEW_MESSAGE, mWebServer.getBaseUrl(),
new MessagePort[]{channel[1]}); new AwMessagePort[]{channel[1]});
} }
}); });
mMessageObject.waitForMessage(); mMessageObject.waitForMessage();
...@@ -625,7 +625,7 @@ public class PostMessageTest extends AwTestBase { ...@@ -625,7 +625,7 @@ public class PostMessageTest extends AwTestBase {
+ "</body></html>"; + "</body></html>";
// Call on non-UI thread. // Call on non-UI thread.
private void waitUntilPortReady(final MessagePort port) throws Throwable { private void waitUntilPortReady(final AwMessagePort port) throws Throwable {
CriteriaHelper.pollForCriteria(new Criteria() { CriteriaHelper.pollForCriteria(new Criteria() {
@Override @Override
public boolean isSatisfied() { public boolean isSatisfied() {
...@@ -652,10 +652,10 @@ public class PostMessageTest extends AwTestBase { ...@@ -652,10 +652,10 @@ public class PostMessageTest extends AwTestBase {
public void testMessageChannelUsingInitializedPort() throws Throwable { public void testMessageChannelUsingInitializedPort() throws Throwable {
final ChannelContainer channelContainer = new ChannelContainer(); final ChannelContainer channelContainer = new ChannelContainer();
loadPage(ECHO_PAGE); loadPage(ECHO_PAGE);
final MessagePort[] channel = ThreadUtils.runOnUiThreadBlocking( final AwMessagePort[] channel = ThreadUtils.runOnUiThreadBlocking(
new Callable<MessagePort[]>() { new Callable<AwMessagePort[]>() {
@Override @Override
public MessagePort[] call() { public AwMessagePort[] call() {
return mAwContents.createMessageChannel(); return mAwContents.createMessageChannel();
} }
}); });
...@@ -665,14 +665,14 @@ public class PostMessageTest extends AwTestBase { ...@@ -665,14 +665,14 @@ public class PostMessageTest extends AwTestBase {
runTestOnUiThread(new Runnable() { runTestOnUiThread(new Runnable() {
@Override @Override
public void run() { public void run() {
channel[0].setMessageCallback(new MessagePort.MessageCallback() { channel[0].setMessageCallback(new AwMessagePort.MessageCallback() {
@Override @Override
public void onMessage(String message, MessagePort[] sentPorts) { public void onMessage(String message, AwMessagePort[] sentPorts) {
channelContainer.setMessage(message); channelContainer.setMessage(message);
} }
}, null); }, null);
mAwContents.postMessageToFrame(null, WEBVIEW_MESSAGE, mWebServer.getBaseUrl(), mAwContents.postMessageToFrame(null, WEBVIEW_MESSAGE, mWebServer.getBaseUrl(),
new MessagePort[]{channel[1]}); new AwMessagePort[]{channel[1]});
channel[0].postMessage(HELLO, null); channel[0].postMessage(HELLO, null);
} }
}); });
...@@ -694,15 +694,15 @@ public class PostMessageTest extends AwTestBase { ...@@ -694,15 +694,15 @@ public class PostMessageTest extends AwTestBase {
runTestOnUiThread(new Runnable() { runTestOnUiThread(new Runnable() {
@Override @Override
public void run() { public void run() {
MessagePort[] channel = mAwContents.createMessageChannel(); AwMessagePort[] channel = mAwContents.createMessageChannel();
channel[0].setMessageCallback(new MessagePort.MessageCallback() { channel[0].setMessageCallback(new AwMessagePort.MessageCallback() {
@Override @Override
public void onMessage(String message, MessagePort[] sentPorts) { public void onMessage(String message, AwMessagePort[] sentPorts) {
channelContainer.setMessage(message); channelContainer.setMessage(message);
} }
}, null); }, null);
mAwContents.postMessageToFrame(null, WEBVIEW_MESSAGE, mWebServer.getBaseUrl(), mAwContents.postMessageToFrame(null, WEBVIEW_MESSAGE, mWebServer.getBaseUrl(),
new MessagePort[]{channel[1]}); new AwMessagePort[]{channel[1]});
channel[0].postMessage(HELLO, null); channel[0].postMessage(HELLO, null);
} }
}); });
...@@ -721,10 +721,10 @@ public class PostMessageTest extends AwTestBase { ...@@ -721,10 +721,10 @@ public class PostMessageTest extends AwTestBase {
runTestOnUiThread(new Runnable() { runTestOnUiThread(new Runnable() {
@Override @Override
public void run() { public void run() {
MessagePort[] channel = mAwContents.createMessageChannel(); AwMessagePort[] channel = mAwContents.createMessageChannel();
channel[1].setMessageCallback(new MessagePort.MessageCallback() { channel[1].setMessageCallback(new AwMessagePort.MessageCallback() {
@Override @Override
public void onMessage(String message, MessagePort[] sentPorts) { public void onMessage(String message, AwMessagePort[] sentPorts) {
channelContainer.setMessage(message); channelContainer.setMessage(message);
} }
}, null); }, null);
...@@ -745,9 +745,9 @@ public class PostMessageTest extends AwTestBase { ...@@ -745,9 +745,9 @@ public class PostMessageTest extends AwTestBase {
runTestOnUiThread(new Runnable() { runTestOnUiThread(new Runnable() {
@Override @Override
public void run() { public void run() {
MessagePort[] channel = mAwContents.createMessageChannel(); AwMessagePort[] channel = mAwContents.createMessageChannel();
mAwContents.postMessageToFrame(null, "1", mWebServer.getBaseUrl(), mAwContents.postMessageToFrame(null, "1", mWebServer.getBaseUrl(),
new MessagePort[]{channel[1]}); new AwMessagePort[]{channel[1]});
mAwContents.postMessageToFrame(null, "2", mWebServer.getBaseUrl(), null); mAwContents.postMessageToFrame(null, "2", mWebServer.getBaseUrl(), null);
mAwContents.postMessageToFrame(null, "3", mWebServer.getBaseUrl(), null); mAwContents.postMessageToFrame(null, "3", mWebServer.getBaseUrl(), null);
} }
...@@ -781,20 +781,20 @@ public class PostMessageTest extends AwTestBase { ...@@ -781,20 +781,20 @@ public class PostMessageTest extends AwTestBase {
// 5. Java responds to message in 4 using the channel in 2. // 5. Java responds to message in 4 using the channel in 2.
@SmallTest @SmallTest
@Feature({"AndroidWebView", "Android-PostMessage"}) @Feature({"AndroidWebView", "Android-PostMessage"})
public void testCanUseReceivedMessagePortFromJS() throws Throwable { public void testCanUseReceivedAwMessagePortFromJS() throws Throwable {
loadPage(RECEIVE_JS_MESSAGE_CHANNEL_PAGE); loadPage(RECEIVE_JS_MESSAGE_CHANNEL_PAGE);
runTestOnUiThread(new Runnable() { runTestOnUiThread(new Runnable() {
@Override @Override
public void run() { public void run() {
MessagePort[] channel = mAwContents.createMessageChannel(); AwMessagePort[] channel = mAwContents.createMessageChannel();
mAwContents.postMessageToFrame(null, "1", mWebServer.getBaseUrl(), mAwContents.postMessageToFrame(null, "1", mWebServer.getBaseUrl(),
new MessagePort[]{channel[1]}); new AwMessagePort[]{channel[1]});
channel[0].setMessageCallback(new MessagePort.MessageCallback() { channel[0].setMessageCallback(new AwMessagePort.MessageCallback() {
@Override @Override
public void onMessage(String message, final MessagePort[] p) { public void onMessage(String message, final AwMessagePort[] p) {
p[0].setMessageCallback(new MessagePort.MessageCallback() { p[0].setMessageCallback(new AwMessagePort.MessageCallback() {
@Override @Override
public void onMessage(String message, MessagePort[] q) { public void onMessage(String message, AwMessagePort[] q) {
assertEquals("3", message); assertEquals("3", message);
p[0].postMessage("4", null); p[0].postMessage("4", null);
} }
...@@ -807,17 +807,17 @@ public class PostMessageTest extends AwTestBase { ...@@ -807,17 +807,17 @@ public class PostMessageTest extends AwTestBase {
expectTitle("24"); expectTitle("24");
} }
private static class TestMessagePort extends MessagePort { private static class TestMessagePort extends AwMessagePort {
private boolean mReady; private boolean mReady;
private MessagePort mPort; private AwMessagePort mPort;
private Object mLock = new Object(); private Object mLock = new Object();
public TestMessagePort(AwMessagePortService service) { public TestMessagePort(AwMessagePortService service) {
super(service); super(service);
} }
public void setMessagePort(MessagePort port) { public void setMessagePort(AwMessagePort port) {
mPort = port; mPort = port;
} }
...@@ -853,11 +853,11 @@ public class PostMessageTest extends AwTestBase { ...@@ -853,11 +853,11 @@ public class PostMessageTest extends AwTestBase {
mPort.setMessageCallback(messageCallback, handler); mPort.setMessageCallback(messageCallback, handler);
} }
@Override @Override
public void onMessage(String message, MessagePort[] sentPorts) { public void onMessage(String message, AwMessagePort[] sentPorts) {
mPort.onMessage(message, sentPorts); mPort.onMessage(message, sentPorts);
} }
@Override @Override
public void postMessage(String message, MessagePort[] sentPorts) throws public void postMessage(String message, AwMessagePort[] sentPorts) throws
IllegalStateException { IllegalStateException {
mPort.postMessage(message, sentPorts); mPort.postMessage(message, sentPorts);
} }
...@@ -875,15 +875,15 @@ public class PostMessageTest extends AwTestBase { ...@@ -875,15 +875,15 @@ public class PostMessageTest extends AwTestBase {
runTestOnUiThread(new Runnable() { runTestOnUiThread(new Runnable() {
@Override @Override
public void run() { public void run() {
MessagePort[] channel = mAwContents.createMessageChannel(); AwMessagePort[] channel = mAwContents.createMessageChannel();
mAwContents.postMessageToFrame(null, "1", mWebServer.getBaseUrl(), mAwContents.postMessageToFrame(null, "1", mWebServer.getBaseUrl(),
new MessagePort[]{channel[1]}); new AwMessagePort[]{channel[1]});
mAwContents.postMessageToFrame(null, "2", mWebServer.getBaseUrl(), null); mAwContents.postMessageToFrame(null, "2", mWebServer.getBaseUrl(), null);
MessagePort[] channel2 = mAwContents.createMessageChannel(); AwMessagePort[] channel2 = mAwContents.createMessageChannel();
// Test port is in a pending state so it should not be transferred. // Test port is in a pending state so it should not be transferred.
testPort.setMessagePort(channel2[0]); testPort.setMessagePort(channel2[0]);
mAwContents.postMessageToFrame(null, "3", mWebServer.getBaseUrl(), mAwContents.postMessageToFrame(null, "3", mWebServer.getBaseUrl(),
new MessagePort[]{testPort}); new AwMessagePort[]{testPort});
} }
}); });
expectTitle("12"); expectTitle("12");
...@@ -932,9 +932,9 @@ public class PostMessageTest extends AwTestBase { ...@@ -932,9 +932,9 @@ public class PostMessageTest extends AwTestBase {
runTestOnUiThread(new Runnable() { runTestOnUiThread(new Runnable() {
@Override @Override
public void run() { public void run() {
MessagePort[] channel = mAwContents.createMessageChannel(); AwMessagePort[] channel = mAwContents.createMessageChannel();
mAwContents.postMessageToFrame(null, WEBVIEW_MESSAGE, mWebServer.getBaseUrl(), mAwContents.postMessageToFrame(null, WEBVIEW_MESSAGE, mWebServer.getBaseUrl(),
new MessagePort[]{channel[0], channel[1]}); new AwMessagePort[]{channel[0], channel[1]});
} }
}); });
mMessageObject.waitForMessage(); mMessageObject.waitForMessage();
...@@ -980,16 +980,16 @@ public class PostMessageTest extends AwTestBase { ...@@ -980,16 +980,16 @@ public class PostMessageTest extends AwTestBase {
runTestOnUiThread(new Runnable() { runTestOnUiThread(new Runnable() {
@Override @Override
public void run() { public void run() {
MessagePort[] channel = mAwContents.createMessageChannel(); AwMessagePort[] channel = mAwContents.createMessageChannel();
channelContainer.set(channel); channelContainer.set(channel);
channel[0].setMessageCallback(new MessagePort.MessageCallback() { channel[0].setMessageCallback(new AwMessagePort.MessageCallback() {
@Override @Override
public void onMessage(String message, MessagePort[] sentPorts) { public void onMessage(String message, AwMessagePort[] sentPorts) {
channelContainer.setMessage(message); channelContainer.setMessage(message);
} }
}, null); }, null);
mAwContents.postMessageToFrame(null, WEBVIEW_MESSAGE, mWebServer.getBaseUrl(), mAwContents.postMessageToFrame(null, WEBVIEW_MESSAGE, mWebServer.getBaseUrl(),
new MessagePort[] {channel[1]}); new AwMessagePort[] {channel[1]});
channel[0].postMessage(HELLO, null); channel[0].postMessage(HELLO, null);
} }
}); });
...@@ -1010,16 +1010,16 @@ public class PostMessageTest extends AwTestBase { ...@@ -1010,16 +1010,16 @@ public class PostMessageTest extends AwTestBase {
runTestOnUiThread(new Runnable() { runTestOnUiThread(new Runnable() {
@Override @Override
public void run() { public void run() {
MessagePort[] channel = mAwContents.createMessageChannel(); AwMessagePort[] channel = mAwContents.createMessageChannel();
channelContainer.set(channel); channelContainer.set(channel);
channel[0].setMessageCallback(new MessagePort.MessageCallback() { channel[0].setMessageCallback(new AwMessagePort.MessageCallback() {
@Override @Override
public void onMessage(String message, MessagePort[] sentPorts) { public void onMessage(String message, AwMessagePort[] sentPorts) {
channelContainer.setMessage(message); channelContainer.setMessage(message);
} }
}, null); }, null);
mAwContents.postMessageToFrame(null, WEBVIEW_MESSAGE, mWebServer.getBaseUrl(), mAwContents.postMessageToFrame(null, WEBVIEW_MESSAGE, mWebServer.getBaseUrl(),
new MessagePort[] {channel[1]}); new AwMessagePort[] {channel[1]});
channel[0].postMessage(HELLO, null); channel[0].postMessage(HELLO, null);
} }
}); });
...@@ -1053,16 +1053,16 @@ public class PostMessageTest extends AwTestBase { ...@@ -1053,16 +1053,16 @@ public class PostMessageTest extends AwTestBase {
runTestOnUiThread(new Runnable() { runTestOnUiThread(new Runnable() {
@Override @Override
public void run() { public void run() {
MessagePort[] channel = mAwContents.createMessageChannel(); AwMessagePort[] channel = mAwContents.createMessageChannel();
channelContainer.set(channel); channelContainer.set(channel);
channel[0].setMessageCallback(new MessagePort.MessageCallback() { channel[0].setMessageCallback(new AwMessagePort.MessageCallback() {
@Override @Override
public void onMessage(String message, MessagePort[] sentPorts) { public void onMessage(String message, AwMessagePort[] sentPorts) {
channelContainer.setMessage(message); channelContainer.setMessage(message);
} }
}, null); }, null);
mAwContents.postMessageToFrame(null, WEBVIEW_MESSAGE, mWebServer.getBaseUrl(), mAwContents.postMessageToFrame(null, WEBVIEW_MESSAGE, mWebServer.getBaseUrl(),
new MessagePort[] {channel[1]}); new AwMessagePort[] {channel[1]});
} }
}); });
channelContainer.waitForMessage(); channelContainer.waitForMessage();
...@@ -1089,16 +1089,16 @@ public class PostMessageTest extends AwTestBase { ...@@ -1089,16 +1089,16 @@ public class PostMessageTest extends AwTestBase {
runTestOnUiThread(new Runnable() { runTestOnUiThread(new Runnable() {
@Override @Override
public void run() { public void run() {
MessagePort[] channel = mAwContents.createMessageChannel(); AwMessagePort[] channel = mAwContents.createMessageChannel();
channelContainer.set(channel); channelContainer.set(channel);
channel[0].setMessageCallback(new MessagePort.MessageCallback() { channel[0].setMessageCallback(new AwMessagePort.MessageCallback() {
@Override @Override
public void onMessage(String message, MessagePort[] sentPorts) { public void onMessage(String message, AwMessagePort[] sentPorts) {
channelContainer.setMessage(message); channelContainer.setMessage(message);
} }
}, null); }, null);
mAwContents.postMessageToFrame(null, WEBVIEW_MESSAGE, mWebServer.getBaseUrl(), mAwContents.postMessageToFrame(null, WEBVIEW_MESSAGE, mWebServer.getBaseUrl(),
new MessagePort[] {channel[1]}); new AwMessagePort[] {channel[1]});
} }
}); });
channelContainer.waitForMessage(); channelContainer.waitForMessage();
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment