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

Unified Diff: chrome/browser/ui/intents/web_intent_picker_controller_browsertest.cc

Issue 8666013: Add a public content/ interface for intents. Use it. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: For try servers. Created 9 years, 1 month 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: chrome/browser/ui/intents/web_intent_picker_controller_browsertest.cc
diff --git a/chrome/browser/ui/intents/web_intent_picker_controller_browsertest.cc b/chrome/browser/ui/intents/web_intent_picker_controller_browsertest.cc
index 491454a5acb0b9f7884f8979c606e39a870d170e..2c4c9d526bcbdb77e9b3b481125e79d62c181607 100644
--- a/chrome/browser/ui/intents/web_intent_picker_controller_browsertest.cc
+++ b/chrome/browser/ui/intents/web_intent_picker_controller_browsertest.cc
@@ -19,6 +19,7 @@
#include "chrome/test/base/in_process_browser_test.h"
#include "chrome/test/base/ui_test_utils.h"
#include "content/browser/tab_contents/tab_contents.h"
+#include "content/public/browser/intents_host.h"
#include "testing/gmock/include/gmock/gmock.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "webkit/glue/web_intent_service_data.h"
@@ -98,6 +99,31 @@ class WebIntentPickerFactoryMock : public WebIntentPickerFactory {
WebIntentPicker* picker_;
};
+class IntentsHostMock : public content::IntentsHost {
+ public:
+ explicit IntentsHostMock(const webkit_glue::WebIntentData& intent)
+ : intent_(intent),
+ dispatched_(false) {}
+
+ virtual const webkit_glue::WebIntentData& GetIntent() {
+ return intent_;
+ }
+
+ virtual void DispatchIntent(TabContents* tab_contents) {
+ dispatched_ = true;
+ }
+
+ virtual void SendReplyMessage(webkit_glue::WebIntentReplyType reply_type,
+ const string16& data) {
+ }
+
+ virtual void RegisterReplyNotification(const base::Closure&) {
+ }
+
+ webkit_glue::WebIntentData intent_;
+ bool dispatched_;
+};
+
class WebIntentPickerControllerBrowserTest : public InProcessBrowserTest {
protected:
void AddWebIntentService(const string16& action,
@@ -153,13 +179,16 @@ IN_PROC_BROWSER_TEST_F(WebIntentPickerControllerBrowserTest, ChooseService) {
webkit_glue::WebIntentData intent;
intent.action = ASCIIToUTF16("a");
intent.type = ASCIIToUTF16("b");
- controller->SetIntent(1, intent, 1);
+ IntentsHostMock* host = new IntentsHostMock(intent);
+ controller->SetIntentsHost(host);
OnServiceChosen(controller, 1);
ASSERT_EQ(2, browser()->tab_count());
EXPECT_EQ(GURL(kServiceURL2),
browser()->GetSelectedTabContents()->GetURL());
+ EXPECT_TRUE(host->dispatched_);
+
OnSendReturnMessage(controller);
ASSERT_EQ(1, browser()->tab_count());
}
« no previous file with comments | « chrome/browser/ui/intents/web_intent_picker_controller.cc ('k') | content/browser/intents/intent_injector.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698