Chromium Code Reviews

Unified Diff: chrome/browser/intents/native_services_browsertest.cc

Issue 12225076: Delete most web intents code. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: . Created 7 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View side-by-side diff with in-line comments
Index: chrome/browser/intents/native_services_browsertest.cc
diff --git a/chrome/browser/intents/native_services_browsertest.cc b/chrome/browser/intents/native_services_browsertest.cc
deleted file mode 100644
index 0daa02f68abf6ede118977e9e133b8db3e1d12b0..0000000000000000000000000000000000000000
--- a/chrome/browser/intents/native_services_browsertest.cc
+++ /dev/null
@@ -1,211 +0,0 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include <algorithm>
-#include <iterator>
-#include <string>
-
-#include "base/command_line.h"
-#include "base/file_path.h"
-#include "base/path_service.h"
-#include "base/string_util.h"
-#include "base/utf_string_conversions.h"
-#include "base/memory/scoped_ptr.h"
-#include "content/public/browser/browser_thread.h"
-#include "chrome/browser/intents/intent_service_host.h"
-#include "chrome/browser/intents/native_services.h"
-#include "chrome/browser/intents/web_intents_util.h"
-#include "chrome/browser/ui/browser.h"
-#include "chrome/browser/ui/tabs/tab_strip_model.h"
-#include "chrome/common/chrome_paths.h"
-#include "chrome/common/chrome_switches.h"
-#include "chrome/test/base/in_process_browser_test.h"
-#include "chrome/test/base/ui_test_utils.h"
-#include "content/public/browser/web_contents.h"
-#include "content/public/browser/web_intents_dispatcher.h"
-#include "testing/gtest/include/gtest/gtest.h"
-#include "ui/shell_dialogs/select_file_dialog_factory.h"
-#include "webkit/glue/web_intent_data.h"
-#include "webkit/glue/web_intent_reply_data.h"
-#include "webkit/glue/web_intent_service_data.h"
-
-using content::BrowserThread;
-
-namespace {
-
-const std::string kPoodlePath = "/home/poodles/skippy.png";
-bool picker_success_mode = true;
-const int64 kTestFileSize = 193;
-
-FilePath CreateTestFile() {
- FilePath file;
- PathService::Get(chrome::DIR_TEST_DATA, &file);
- file = file.AppendASCII("web_intents").AppendASCII("test.png");
- return file;
-}
-
-class TestIntentsDispatcher : public content::WebIntentsDispatcher {
- public:
- explicit TestIntentsDispatcher(const webkit_glue::WebIntentData& intent)
- : intent_(intent) {}
-
- virtual const webkit_glue::WebIntentData& GetIntent() OVERRIDE {
- return intent_;
- }
-
- virtual void DispatchIntent(content::WebContents* web_contents) OVERRIDE {}
- virtual void ResetDispatch() OVERRIDE {}
-
- virtual void SendReply(const webkit_glue::WebIntentReply& reply) OVERRIDE {
- reply_.reset(new webkit_glue::WebIntentReply(reply));
- }
-
- virtual void RegisterReplyNotification(
- const base::Callback<void(webkit_glue::WebIntentReplyType)>&) OVERRIDE {
- }
-
- webkit_glue::WebIntentData intent_;
-
- scoped_ptr<webkit_glue::WebIntentReply> reply_;
-};
-
-// Stub SelectFileDialog designed for testing.
-class TestSelectFileDialog : public ui::SelectFileDialog {
- public:
- // Main factory method which returns correct type.
- static ui::SelectFileDialog* Create(
- Listener* listener,
- ui::SelectFilePolicy* policy) {
- return new TestSelectFileDialog(listener, policy);
- }
-
- // SelectFileDialog implementation.
- virtual bool IsRunning(gfx::NativeWindow parent_window) const OVERRIDE {
- return false;
- }
- virtual void ListenerDestroyed() OVERRIDE {}
- virtual bool HasMultipleFileTypeChoicesImpl() OVERRIDE {
- return false;
- }
-
- protected:
- TestSelectFileDialog(
- Listener* listener, ui::SelectFilePolicy* policy)
- : ui::SelectFileDialog(listener, policy),
- listener_(listener) {
- test_file_ = CreateTestFile();
- }
- virtual ~TestSelectFileDialog() {}
-
- // SelectFileDialog implementation.
- // |params| is user data we pass back via the Listener interface.
- virtual void SelectFileImpl(
- Type type,
- const string16& title,
- const FilePath& default_path,
- const FileTypeInfo* file_types,
- int file_type_index,
- const FilePath::StringType& default_extension,
- gfx::NativeWindow owning_window,
- void* params) OVERRIDE {
- if (picker_success_mode)
- listener_->FileSelected(test_file_, kTestFileSize, NULL);
- else
- listener_->FileSelectionCanceled(NULL);
- }
-
- private:
- // Weak pointer to handler for dialog events.
- Listener* listener_;
- FilePath test_file_;
-
- DISALLOW_COPY_AND_ASSIGN(TestSelectFileDialog);
-};
-
-class TestSelectFileDialogFactory : public ui::SelectFileDialogFactory {
- public:
- virtual ui::SelectFileDialog* Create(
- ui::SelectFileDialog::Listener* listener,
- ui::SelectFilePolicy* policy) {
- return TestSelectFileDialog::Create(listener, policy);
- }
-};
-
-} // namespace
-
-class NativeServicesBrowserTest : public InProcessBrowserTest {
- protected:
- NativeServicesBrowserTest() {}
-
- virtual void SetUpCommandLine(CommandLine* command_line) OVERRIDE {
- // We start the test server now instead of in
- // SetUpInProcessBrowserTestFixture so that we can get its port number.
- ASSERT_TRUE(test_server()->Start());
-
- command_line->AppendSwitch(switches::kWebIntentsNativeServicesEnabled);
- test_file_ = CreateTestFile();
- }
-
- virtual void SetUpOnMainThread() OVERRIDE {
- factory_.reset(new TestSelectFileDialogFactory());
- ui::SelectFileDialog::SetFactory(factory_.get());
- }
-
- virtual Browser* GetBrowser() { return browser(); }
- scoped_ptr<TestSelectFileDialogFactory> factory_;
- FilePath test_file_;
-};
-
-IN_PROC_BROWSER_TEST_F(NativeServicesBrowserTest, PickFileSelected) {
- content::WebContents* tab =
- GetBrowser()->tab_strip_model()->GetActiveWebContents();
-
- webkit_glue::WebIntentData intent;
- intent.action = ASCIIToUTF16(web_intents::kActionPick);
- intent.type = ASCIIToUTF16("image/*");
-
- TestIntentsDispatcher dispatcher(intent);
- web_intents::NativeServiceFactory factory;
- GURL url(web_intents::kNativeFilePickerUrl);
- scoped_ptr<web_intents::IntentServiceHost> service(
- factory.CreateServiceInstance(url, intent, tab));
- service->HandleIntent(&dispatcher);
-
- // Reads of file size are done on the FILE thread, then posted
- // back to the UI thread.
- content::RunAllPendingInMessageLoop(BrowserThread::FILE);
- content::RunAllPendingInMessageLoop(BrowserThread::UI);
-
- ASSERT_TRUE(dispatcher.reply_);
- EXPECT_EQ(
- webkit_glue::WebIntentReply(
- webkit_glue::WEB_INTENT_REPLY_SUCCESS,
- test_file_,
- kTestFileSize),
- *dispatcher.reply_.get());
-}
-
-IN_PROC_BROWSER_TEST_F(NativeServicesBrowserTest, PickFileCancelled) {
- picker_success_mode = false;
- content::WebContents* tab =
- GetBrowser()->tab_strip_model()->GetActiveWebContents();
-
- webkit_glue::WebIntentData intent;
- intent.action = ASCIIToUTF16(web_intents::kActionPick);
- intent.type = ASCIIToUTF16("image/*");
-
- TestIntentsDispatcher dispatcher(intent);
- web_intents::NativeServiceFactory factory;
- GURL url(web_intents::kNativeFilePickerUrl);
- scoped_ptr<web_intents::IntentServiceHost> service(
- factory.CreateServiceInstance(url, intent, tab));
- service->HandleIntent(&dispatcher);
-
- ASSERT_TRUE(dispatcher.reply_);
- EXPECT_EQ(
- webkit_glue::WebIntentReply(
- webkit_glue::WEB_INTENT_REPLY_FAILURE,
- string16()),
- *dispatcher.reply_.get());
-}

Powered by Google App Engine