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

Side by Side Diff: android_webview/javatests/src/org/chromium/android_webview/test/PostMessageTest.java

Issue 1017333002: Rename WebEventHandler to MessageCallback (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: address nit Created 5 years, 9 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
« no previous file with comments | « android_webview/java/src/org/chromium/android_webview/MessagePort.java ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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.test; 5 package org.chromium.android_webview.test;
6 6
7 import android.os.Build; 7 import android.os.Build;
8 import android.os.Handler; 8 import android.os.Handler;
9 import android.test.suitebuilder.annotation.SmallTest; 9 import android.test.suitebuilder.annotation.SmallTest;
10 import android.webkit.JavascriptInterface; 10 import android.webkit.JavascriptInterface;
(...skipping 241 matching lines...) Expand 10 before | Expand all | Expand 10 after
252 @SmallTest 252 @SmallTest
253 @Feature({"AndroidWebView", "Android-PostMessage"}) 253 @Feature({"AndroidWebView", "Android-PostMessage"})
254 public void testStartedPortCannotBeTransferredUsingPostMessageToFrame2() thr ows Throwable { 254 public void testStartedPortCannotBeTransferredUsingPostMessageToFrame2() thr ows Throwable {
255 loadPage(TEST_PAGE); 255 loadPage(TEST_PAGE);
256 final CountDownLatch latch = new CountDownLatch(1); 256 final CountDownLatch latch = new CountDownLatch(1);
257 runTestOnUiThread(new Runnable() { 257 runTestOnUiThread(new Runnable() {
258 @Override 258 @Override
259 public void run() { 259 public void run() {
260 MessagePort[] channel = mAwContents.createMessageChannel(); 260 MessagePort[] channel = mAwContents.createMessageChannel();
261 // set a web event handler, this puts the port in a started stat e. 261 // set a web event handler, this puts the port in a started stat e.
262 channel[1].setWebEventHandler(new MessagePort.WebEventHandler() { 262 channel[1].setMessageCallback(new MessagePort.MessageCallback() {
263 @Override 263 @Override
264 public void onMessage(String message, MessagePort[] sentPort s) { } 264 public void onMessage(String message, MessagePort[] sentPort s) { }
265 }, null); 265 }, null);
266 try { 266 try {
267 mAwContents.postMessageToFrame(null, "2", mWebServer.getBase Url(), 267 mAwContents.postMessageToFrame(null, "2", mWebServer.getBase Url(),
268 new MessagePort[]{channel[1]}); 268 new MessagePort[]{channel[1]});
269 } catch (IllegalStateException ex) { 269 } catch (IllegalStateException ex) {
270 latch.countDown(); 270 latch.countDown();
271 return; 271 return;
272 } 272 }
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
304 @SmallTest 304 @SmallTest
305 @Feature({"AndroidWebView", "Android-PostMessage"}) 305 @Feature({"AndroidWebView", "Android-PostMessage"})
306 public void testStartedPortCannotBeTransferredUsingMessageChannel2() throws Throwable { 306 public void testStartedPortCannotBeTransferredUsingMessageChannel2() throws Throwable {
307 loadPage(TEST_PAGE); 307 loadPage(TEST_PAGE);
308 final CountDownLatch latch = new CountDownLatch(1); 308 final CountDownLatch latch = new CountDownLatch(1);
309 runTestOnUiThread(new Runnable() { 309 runTestOnUiThread(new Runnable() {
310 @Override 310 @Override
311 public void run() { 311 public void run() {
312 MessagePort[] channel1 = mAwContents.createMessageChannel(); 312 MessagePort[] channel1 = mAwContents.createMessageChannel();
313 // set a web event handler, this puts the port in a started stat e. 313 // set a web event handler, this puts the port in a started stat e.
314 channel1[1].setWebEventHandler(new MessagePort.WebEventHandler() { 314 channel1[1].setMessageCallback(new MessagePort.MessageCallback() {
315 @Override 315 @Override
316 public void onMessage(String message, MessagePort[] sentPort s) { } 316 public void onMessage(String message, MessagePort[] sentPort s) { }
317 }, null); 317 }, null);
318 MessagePort[] channel2 = mAwContents.createMessageChannel(); 318 MessagePort[] channel2 = mAwContents.createMessageChannel();
319 try { 319 try {
320 channel2[0].postMessage("1", new MessagePort[]{channel1[1]}) ; 320 channel2[0].postMessage("1", new MessagePort[]{channel1[1]}) ;
321 } catch (IllegalStateException ex) { 321 } catch (IllegalStateException ex) {
322 latch.countDown(); 322 latch.countDown();
323 return; 323 return;
324 } 324 }
(...skipping 252 matching lines...) Expand 10 before | Expand all | Expand 10 after
577 @Feature({"AndroidWebView", "Android-PostMessage"}) 577 @Feature({"AndroidWebView", "Android-PostMessage"})
578 public void testReceiveMessageInBackgroundThread() throws Throwable { 578 public void testReceiveMessageInBackgroundThread() throws Throwable {
579 loadPage(TEST_PAGE); 579 loadPage(TEST_PAGE);
580 final ChannelContainer channelContainer = new ChannelContainer(); 580 final ChannelContainer channelContainer = new ChannelContainer();
581 runTestOnUiThread(new Runnable() { 581 runTestOnUiThread(new Runnable() {
582 @Override 582 @Override
583 public void run() { 583 public void run() {
584 MessagePort[] channel = mAwContents.createMessageChannel(); 584 MessagePort[] channel = mAwContents.createMessageChannel();
585 // verify communication from JS to Java. 585 // verify communication from JS to Java.
586 channelContainer.set(channel); 586 channelContainer.set(channel);
587 channel[0].setWebEventHandler(new MessagePort.WebEventHandler() { 587 channel[0].setMessageCallback(new MessagePort.MessageCallback() {
588 @Override 588 @Override
589 public void onMessage(String message, MessagePort[] sentPort s) { 589 public void onMessage(String message, MessagePort[] sentPort s) {
590 channelContainer.setMessage(message); 590 channelContainer.setMessage(message);
591 } 591 }
592 }, null); 592 }, null);
593 mAwContents.postMessageToFrame(null, WEBVIEW_MESSAGE, mWebServer .getBaseUrl(), 593 mAwContents.postMessageToFrame(null, WEBVIEW_MESSAGE, mWebServer .getBaseUrl(),
594 new MessagePort[]{channel[1]}); 594 new MessagePort[]{channel[1]});
595 } 595 }
596 }); 596 });
597 mMessageObject.waitForMessage(); 597 mMessageObject.waitForMessage();
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
658 public MessagePort[] call() { 658 public MessagePort[] call() {
659 return mAwContents.createMessageChannel(); 659 return mAwContents.createMessageChannel();
660 } 660 }
661 }); 661 });
662 662
663 waitUntilPortReady(channel[0]); 663 waitUntilPortReady(channel[0]);
664 waitUntilPortReady(channel[1]); 664 waitUntilPortReady(channel[1]);
665 runTestOnUiThread(new Runnable() { 665 runTestOnUiThread(new Runnable() {
666 @Override 666 @Override
667 public void run() { 667 public void run() {
668 channel[0].setWebEventHandler(new MessagePort.WebEventHandler() { 668 channel[0].setMessageCallback(new MessagePort.MessageCallback() {
669 @Override 669 @Override
670 public void onMessage(String message, MessagePort[] sentPort s) { 670 public void onMessage(String message, MessagePort[] sentPort s) {
671 channelContainer.setMessage(message); 671 channelContainer.setMessage(message);
672 } 672 }
673 }, null); 673 }, null);
674 mAwContents.postMessageToFrame(null, WEBVIEW_MESSAGE, mWebServer .getBaseUrl(), 674 mAwContents.postMessageToFrame(null, WEBVIEW_MESSAGE, mWebServer .getBaseUrl(),
675 new MessagePort[]{channel[1]}); 675 new MessagePort[]{channel[1]});
676 channel[0].postMessage(HELLO, null); 676 channel[0].postMessage(HELLO, null);
677 } 677 }
678 }); 678 });
679 // wait for the asynchronous response from JS 679 // wait for the asynchronous response from JS
680 channelContainer.waitForMessage(); 680 channelContainer.waitForMessage();
681 assertEquals(HELLO + JS_MESSAGE, channelContainer.getMessage()); 681 assertEquals(HELLO + JS_MESSAGE, channelContainer.getMessage());
682 } 682 }
683 683
684 // Verify that a message port can be used immediately (even if it is in 684 // Verify that a message port can be used immediately (even if it is in
685 // pending state) after creation. In particular make sure the message port c an be 685 // pending state) after creation. In particular make sure the message port c an be
686 // transferred to JS and full communication can happen on it. 686 // transferred to JS and full communication can happen on it.
687 // Do this by sending a message to JS and let it echo'ing the message with 687 // Do this by sending a message to JS and let it echo'ing the message with
688 // some text prepended to it. 688 // some text prepended to it.
689 @SmallTest 689 @SmallTest
690 @Feature({"AndroidWebView", "Android-PostMessage"}) 690 @Feature({"AndroidWebView", "Android-PostMessage"})
691 public void testMessageChannelUsingPendingPort() throws Throwable { 691 public void testMessageChannelUsingPendingPort() throws Throwable {
692 final ChannelContainer channelContainer = new ChannelContainer(); 692 final ChannelContainer channelContainer = new ChannelContainer();
693 loadPage(ECHO_PAGE); 693 loadPage(ECHO_PAGE);
694 runTestOnUiThread(new Runnable() { 694 runTestOnUiThread(new Runnable() {
695 @Override 695 @Override
696 public void run() { 696 public void run() {
697 MessagePort[] channel = mAwContents.createMessageChannel(); 697 MessagePort[] channel = mAwContents.createMessageChannel();
698 channel[0].setWebEventHandler(new MessagePort.WebEventHandler() { 698 channel[0].setMessageCallback(new MessagePort.MessageCallback() {
699 @Override 699 @Override
700 public void onMessage(String message, MessagePort[] sentPort s) { 700 public void onMessage(String message, MessagePort[] sentPort s) {
701 channelContainer.setMessage(message); 701 channelContainer.setMessage(message);
702 } 702 }
703 }, null); 703 }, null);
704 mAwContents.postMessageToFrame(null, WEBVIEW_MESSAGE, mWebServer .getBaseUrl(), 704 mAwContents.postMessageToFrame(null, WEBVIEW_MESSAGE, mWebServer .getBaseUrl(),
705 new MessagePort[]{channel[1]}); 705 new MessagePort[]{channel[1]});
706 channel[0].postMessage(HELLO, null); 706 channel[0].postMessage(HELLO, null);
707 } 707 }
708 }); 708 });
709 // Wait for the asynchronous response from JS. 709 // Wait for the asynchronous response from JS.
710 channelContainer.waitForMessage(); 710 channelContainer.waitForMessage();
711 assertEquals(HELLO + JS_MESSAGE, channelContainer.getMessage()); 711 assertEquals(HELLO + JS_MESSAGE, channelContainer.getMessage());
712 } 712 }
713 713
714 // Verify that a message port can be used for message transfer when both 714 // Verify that a message port can be used for message transfer when both
715 // ports are owned by same Webview. 715 // ports are owned by same Webview.
716 @SmallTest 716 @SmallTest
717 @Feature({"AndroidWebView", "Android-PostMessage"}) 717 @Feature({"AndroidWebView", "Android-PostMessage"})
718 public void testMessageChannelCommunicationWithinWebView() throws Throwable { 718 public void testMessageChannelCommunicationWithinWebView() throws Throwable {
719 final ChannelContainer channelContainer = new ChannelContainer(); 719 final ChannelContainer channelContainer = new ChannelContainer();
720 loadPage(ECHO_PAGE); 720 loadPage(ECHO_PAGE);
721 runTestOnUiThread(new Runnable() { 721 runTestOnUiThread(new Runnable() {
722 @Override 722 @Override
723 public void run() { 723 public void run() {
724 MessagePort[] channel = mAwContents.createMessageChannel(); 724 MessagePort[] channel = mAwContents.createMessageChannel();
725 channel[1].setWebEventHandler(new MessagePort.WebEventHandler() { 725 channel[1].setMessageCallback(new MessagePort.MessageCallback() {
726 @Override 726 @Override
727 public void onMessage(String message, MessagePort[] sentPort s) { 727 public void onMessage(String message, MessagePort[] sentPort s) {
728 channelContainer.setMessage(message); 728 channelContainer.setMessage(message);
729 } 729 }
730 }, null); 730 }, null);
731 channel[0].postMessage(HELLO, null); 731 channel[0].postMessage(HELLO, null);
732 } 732 }
733 }); 733 });
734 // Wait for the asynchronous response from JS. 734 // Wait for the asynchronous response from JS.
735 channelContainer.waitForMessage(); 735 channelContainer.waitForMessage();
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
782 @SmallTest 782 @SmallTest
783 @Feature({"AndroidWebView", "Android-PostMessage"}) 783 @Feature({"AndroidWebView", "Android-PostMessage"})
784 public void testCanUseReceivedMessagePortFromJS() throws Throwable { 784 public void testCanUseReceivedMessagePortFromJS() throws Throwable {
785 loadPage(RECEIVE_JS_MESSAGE_CHANNEL_PAGE); 785 loadPage(RECEIVE_JS_MESSAGE_CHANNEL_PAGE);
786 runTestOnUiThread(new Runnable() { 786 runTestOnUiThread(new Runnable() {
787 @Override 787 @Override
788 public void run() { 788 public void run() {
789 MessagePort[] channel = mAwContents.createMessageChannel(); 789 MessagePort[] channel = mAwContents.createMessageChannel();
790 mAwContents.postMessageToFrame(null, "1", mWebServer.getBaseUrl( ), 790 mAwContents.postMessageToFrame(null, "1", mWebServer.getBaseUrl( ),
791 new MessagePort[]{channel[1]}); 791 new MessagePort[]{channel[1]});
792 channel[0].setWebEventHandler(new MessagePort.WebEventHandler() { 792 channel[0].setMessageCallback(new MessagePort.MessageCallback() {
793 @Override 793 @Override
794 public void onMessage(String message, final MessagePort[] p) { 794 public void onMessage(String message, final MessagePort[] p) {
795 p[0].setWebEventHandler(new MessagePort.WebEventHandler( ) { 795 p[0].setMessageCallback(new MessagePort.MessageCallback( ) {
796 @Override 796 @Override
797 public void onMessage(String message, MessagePort[] q) { 797 public void onMessage(String message, MessagePort[] q) {
798 assertEquals("3", message); 798 assertEquals("3", message);
799 p[0].postMessage("4", null); 799 p[0].postMessage("4", null);
800 } 800 }
801 }, null); 801 }, null);
802 p[0].postMessage("2", null); 802 p[0].postMessage("2", null);
803 } 803 }
804 }, null); 804 }, null);
805 } 805 }
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
842 } 842 }
843 @Override 843 @Override
844 public void close() { 844 public void close() {
845 mPort.close(); 845 mPort.close();
846 } 846 }
847 @Override 847 @Override
848 public boolean isClosed() { 848 public boolean isClosed() {
849 return mPort.isClosed(); 849 return mPort.isClosed();
850 } 850 }
851 @Override 851 @Override
852 public void setWebEventHandler(WebEventHandler webEventHandler, Handler handler) { 852 public void setMessageCallback(MessageCallback messageCallback, Handler handler) {
853 mPort.setWebEventHandler(webEventHandler, handler); 853 mPort.setMessageCallback(messageCallback, handler);
854 } 854 }
855 @Override 855 @Override
856 public void onMessage(String message, MessagePort[] sentPorts) { 856 public void onMessage(String message, MessagePort[] sentPorts) {
857 mPort.onMessage(message, sentPorts); 857 mPort.onMessage(message, sentPorts);
858 } 858 }
859 @Override 859 @Override
860 public void postMessage(String message, MessagePort[] sentPorts) throws 860 public void postMessage(String message, MessagePort[] sentPorts) throws
861 IllegalStateException { 861 IllegalStateException {
862 mPort.postMessage(message, sentPorts); 862 mPort.postMessage(message, sentPorts);
863 } 863 }
(...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after
975 triggerPopup(mAwContents, mContentsClient, mWebServer, MAIN_PAGE_FOR_POP UP_TEST, ECHO_PAGE, 975 triggerPopup(mAwContents, mContentsClient, mWebServer, MAIN_PAGE_FOR_POP UP_TEST, ECHO_PAGE,
976 POPUP_URL, "createPopup()"); 976 POPUP_URL, "createPopup()");
977 connectPendingPopup(mAwContents); 977 connectPendingPopup(mAwContents);
978 final ChannelContainer channelContainer = new ChannelContainer(); 978 final ChannelContainer channelContainer = new ChannelContainer();
979 979
980 runTestOnUiThread(new Runnable() { 980 runTestOnUiThread(new Runnable() {
981 @Override 981 @Override
982 public void run() { 982 public void run() {
983 MessagePort[] channel = mAwContents.createMessageChannel(); 983 MessagePort[] channel = mAwContents.createMessageChannel();
984 channelContainer.set(channel); 984 channelContainer.set(channel);
985 channel[0].setWebEventHandler(new MessagePort.WebEventHandler() { 985 channel[0].setMessageCallback(new MessagePort.MessageCallback() {
986 @Override 986 @Override
987 public void onMessage(String message, MessagePort[] sentPort s) { 987 public void onMessage(String message, MessagePort[] sentPort s) {
988 channelContainer.setMessage(message); 988 channelContainer.setMessage(message);
989 } 989 }
990 }, null); 990 }, null);
991 mAwContents.postMessageToFrame(null, WEBVIEW_MESSAGE, mWebServer .getBaseUrl(), 991 mAwContents.postMessageToFrame(null, WEBVIEW_MESSAGE, mWebServer .getBaseUrl(),
992 new MessagePort[] {channel[1]}); 992 new MessagePort[] {channel[1]});
993 channel[0].postMessage(HELLO, null); 993 channel[0].postMessage(HELLO, null);
994 } 994 }
995 }); 995 });
996 channelContainer.waitForMessage(); 996 channelContainer.waitForMessage();
997 assertEquals(HELLO + JS_MESSAGE, channelContainer.getMessage()); 997 assertEquals(HELLO + JS_MESSAGE, channelContainer.getMessage());
998 } 998 }
999 999
1000 // Test if WebView can post a message from/to an iframe in a popup window. 1000 // Test if WebView can post a message from/to an iframe in a popup window.
1001 @SmallTest 1001 @SmallTest
1002 @Feature({"AndroidWebView", "Android-PostMessage"}) 1002 @Feature({"AndroidWebView", "Android-PostMessage"})
1003 public void testPostMessageToIframeInsidePopup() throws Throwable { 1003 public void testPostMessageToIframeInsidePopup() throws Throwable {
1004 mWebServer.setResponse(IFRAME_URL, ECHO_PAGE, null); 1004 mWebServer.setResponse(IFRAME_URL, ECHO_PAGE, null);
1005 triggerPopup(mAwContents, mContentsClient, mWebServer, MAIN_PAGE_FOR_POP UP_TEST, 1005 triggerPopup(mAwContents, mContentsClient, mWebServer, MAIN_PAGE_FOR_POP UP_TEST,
1006 POPUP_PAGE_WITH_IFRAME, POPUP_URL, "createPopup()"); 1006 POPUP_PAGE_WITH_IFRAME, POPUP_URL, "createPopup()");
1007 connectPendingPopup(mAwContents); 1007 connectPendingPopup(mAwContents);
1008 final ChannelContainer channelContainer = new ChannelContainer(); 1008 final ChannelContainer channelContainer = new ChannelContainer();
1009 1009
1010 runTestOnUiThread(new Runnable() { 1010 runTestOnUiThread(new Runnable() {
1011 @Override 1011 @Override
1012 public void run() { 1012 public void run() {
1013 MessagePort[] channel = mAwContents.createMessageChannel(); 1013 MessagePort[] channel = mAwContents.createMessageChannel();
1014 channelContainer.set(channel); 1014 channelContainer.set(channel);
1015 channel[0].setWebEventHandler(new MessagePort.WebEventHandler() { 1015 channel[0].setMessageCallback(new MessagePort.MessageCallback() {
1016 @Override 1016 @Override
1017 public void onMessage(String message, MessagePort[] sentPort s) { 1017 public void onMessage(String message, MessagePort[] sentPort s) {
1018 channelContainer.setMessage(message); 1018 channelContainer.setMessage(message);
1019 } 1019 }
1020 }, null); 1020 }, null);
1021 mAwContents.postMessageToFrame(null, WEBVIEW_MESSAGE, mWebServer .getBaseUrl(), 1021 mAwContents.postMessageToFrame(null, WEBVIEW_MESSAGE, mWebServer .getBaseUrl(),
1022 new MessagePort[] {channel[1]}); 1022 new MessagePort[] {channel[1]});
1023 channel[0].postMessage(HELLO, null); 1023 channel[0].postMessage(HELLO, null);
1024 } 1024 }
1025 }); 1025 });
(...skipping 22 matching lines...) Expand all
1048 @SmallTest 1048 @SmallTest
1049 @Feature({"AndroidWebView", "Android-PostMessage"}) 1049 @Feature({"AndroidWebView", "Android-PostMessage"})
1050 public void testPostUnsupportedWebMessageToApp() throws Throwable { 1050 public void testPostUnsupportedWebMessageToApp() throws Throwable {
1051 loadPage(TEST_PAGE_FOR_UNSUPPORTED_MESSAGES); 1051 loadPage(TEST_PAGE_FOR_UNSUPPORTED_MESSAGES);
1052 final ChannelContainer channelContainer = new ChannelContainer(); 1052 final ChannelContainer channelContainer = new ChannelContainer();
1053 runTestOnUiThread(new Runnable() { 1053 runTestOnUiThread(new Runnable() {
1054 @Override 1054 @Override
1055 public void run() { 1055 public void run() {
1056 MessagePort[] channel = mAwContents.createMessageChannel(); 1056 MessagePort[] channel = mAwContents.createMessageChannel();
1057 channelContainer.set(channel); 1057 channelContainer.set(channel);
1058 channel[0].setWebEventHandler(new MessagePort.WebEventHandler() { 1058 channel[0].setMessageCallback(new MessagePort.MessageCallback() {
1059 @Override 1059 @Override
1060 public void onMessage(String message, MessagePort[] sentPort s) { 1060 public void onMessage(String message, MessagePort[] sentPort s) {
1061 channelContainer.setMessage(message); 1061 channelContainer.setMessage(message);
1062 } 1062 }
1063 }, null); 1063 }, null);
1064 mAwContents.postMessageToFrame(null, WEBVIEW_MESSAGE, mWebServer .getBaseUrl(), 1064 mAwContents.postMessageToFrame(null, WEBVIEW_MESSAGE, mWebServer .getBaseUrl(),
1065 new MessagePort[] {channel[1]}); 1065 new MessagePort[] {channel[1]});
1066 } 1066 }
1067 }); 1067 });
1068 channelContainer.waitForMessage(); 1068 channelContainer.waitForMessage();
(...skipping 15 matching lines...) Expand all
1084 @SmallTest 1084 @SmallTest
1085 @Feature({"AndroidWebView", "Android-PostMessage"}) 1085 @Feature({"AndroidWebView", "Android-PostMessage"})
1086 public void testTransferEmptyPortsArray() throws Throwable { 1086 public void testTransferEmptyPortsArray() throws Throwable {
1087 loadPage(TEST_TRANSFER_EMPTY_PORTS); 1087 loadPage(TEST_TRANSFER_EMPTY_PORTS);
1088 final ChannelContainer channelContainer = new ChannelContainer(2); 1088 final ChannelContainer channelContainer = new ChannelContainer(2);
1089 runTestOnUiThread(new Runnable() { 1089 runTestOnUiThread(new Runnable() {
1090 @Override 1090 @Override
1091 public void run() { 1091 public void run() {
1092 MessagePort[] channel = mAwContents.createMessageChannel(); 1092 MessagePort[] channel = mAwContents.createMessageChannel();
1093 channelContainer.set(channel); 1093 channelContainer.set(channel);
1094 channel[0].setWebEventHandler(new MessagePort.WebEventHandler() { 1094 channel[0].setMessageCallback(new MessagePort.MessageCallback() {
1095 @Override 1095 @Override
1096 public void onMessage(String message, MessagePort[] sentPort s) { 1096 public void onMessage(String message, MessagePort[] sentPort s) {
1097 channelContainer.setMessage(message); 1097 channelContainer.setMessage(message);
1098 } 1098 }
1099 }, null); 1099 }, null);
1100 mAwContents.postMessageToFrame(null, WEBVIEW_MESSAGE, mWebServer .getBaseUrl(), 1100 mAwContents.postMessageToFrame(null, WEBVIEW_MESSAGE, mWebServer .getBaseUrl(),
1101 new MessagePort[] {channel[1]}); 1101 new MessagePort[] {channel[1]});
1102 } 1102 }
1103 }); 1103 });
1104 channelContainer.waitForMessage(); 1104 channelContainer.waitForMessage();
1105 assertEquals("12", channelContainer.getMessage()); 1105 assertEquals("12", channelContainer.getMessage());
1106 } 1106 }
1107 } 1107 }
OLDNEW
« no previous file with comments | « android_webview/java/src/org/chromium/android_webview/MessagePort.java ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698