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

Unified Diff: chrome_frame/external_tab_test.cc

Issue 9838102: Remove ChromeProxy and friends. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome_frame/external_tab.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome_frame/external_tab_test.cc
diff --git a/chrome_frame/external_tab_test.cc b/chrome_frame/external_tab_test.cc
deleted file mode 100644
index 5017eb2197fd8822791027cf12ec8889cd37f8f9..0000000000000000000000000000000000000000
--- a/chrome_frame/external_tab_test.cc
+++ /dev/null
@@ -1,186 +0,0 @@
-// Copyright (c) 2011 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 "chrome_frame/external_tab.h"
-
-// #include "base/synchronization/waitable_event.h"
-
-#include "base/bind.h"
-#include "base/bind_helpers.h"
-#include "base/location.h"
-#include "base/threading/thread.h"
-#include "chrome/common/automation_messages.h"
-#include "chrome_frame/navigation_constraints.h"
-#include "chrome_frame/test/chrome_frame_test_utils.h"
-#include "testing/gtest/include/gtest/gtest.h"
-#include "testing/gmock/include/gmock/gmock.h"
-#include "testing/gmock_mutant.h"
-
-using testing::StrictMock;
-using testing::_;
-using testing::Invoke;
-using testing::InvokeWithoutArgs;
-using testing::CreateFunctor;
-using testing::Return;
-using testing::DoAll;
-using testing::Field;
-using chrome_frame_test::TimedMsgLoop;
-
-struct MockUIDelegate : public UIDelegate {
- MOCK_METHOD2(OnNavigationStateChanged, void(int flags,
- const NavigationInfo& nav_info));
- MOCK_METHOD1(OnUpdateTargetUrl, void(const std::wstring& new_target_url));
- MOCK_METHOD1(OnLoad, void(const GURL& url));
- MOCK_METHOD1(OnMoveWindow, void(const gfx::Rect& pos));
- MOCK_METHOD3(OnMessageFromChromeFrame, void(const std::string& message,
- const std::string& origin, const std::string& target));
- MOCK_METHOD3(OnHandleContextMenu, void(const ContextMenuModel& menu_model,
- int align_flags, const MiniContextMenuParams& params));
- MOCK_METHOD1(OnHandleAccelerator, void(const MSG& accel_message));
- MOCK_METHOD1(OnTabbedOut, void(bool reverse));
- MOCK_METHOD1(OnGoToHistoryOffset, void(int offset));
- MOCK_METHOD3(OnOpenURL, void(const GURL& url_to_open, const GURL& referrer,
- int open_disposition));
-};
-
-struct MockProxy : public ChromeProxy {
- MOCK_METHOD1(RemoveBrowsingData, void(int remove_mask));
- MOCK_METHOD1(SetProxyConfig, void(const std::string& json_encoded_settings));
-
- MOCK_METHOD2(CreateTab, void(ChromeProxyDelegate* delegate,
- const ExternalTabSettings& settings));
- MOCK_METHOD3(ConnectTab, void(ChromeProxyDelegate* delegate, HWND hwnd,
- uint64 cookie));
- MOCK_METHOD1(BlockTab, void(uint64 cookie));
-
- MOCK_METHOD4(Tab_PostMessage, void(int tab, const std::string& message,
- const std::string& origin, const std::string& target));
- MOCK_METHOD1(Tab_Reload, void(int tab));
- MOCK_METHOD1(Tab_Stop, void(int tab));
- MOCK_METHOD1(Tab_SaveAs, void(int tab));
- MOCK_METHOD1(Tab_Print, void(int tab));
- MOCK_METHOD1(Tab_Cut, void(int tab));
- MOCK_METHOD1(Tab_Copy, void(int tab));
- MOCK_METHOD1(Tab_Paste, void(int tab));
- MOCK_METHOD1(Tab_SelectAll, void(int tab));
- MOCK_METHOD5(Tab_Find, void(int tab, const string16& search_string,
- FindInPageDirection forward, FindInPageCase match_case, bool find_next));
- MOCK_METHOD2(Tab_MenuCommand, void(int tab, int selected_command));
-
- MOCK_METHOD2(Tab_Zoom, void(int tab, content::PageZoom zoom_level));
- MOCK_METHOD2(Tab_FontSize, void(int tab, AutomationPageFontSize font_size));
- MOCK_METHOD3(Tab_SetInitialFocus, void(int tab, bool reverse,
- bool restore_focus_to_view));
- MOCK_METHOD1(Tab_SetParentWindow, void(int tab));
- MOCK_METHOD1(Tab_Resize, void(int tab));
- MOCK_METHOD2(Tab_ProcessAccelerator, void(int tab, const MSG& msg));
-
- // Misc.
- MOCK_METHOD1(Tab_OnHostMoved, void(int tab));
- MOCK_METHOD1(Tab_RunUnloadHandlers, void(int tab));
- MOCK_METHOD3(Tab_Navigate, void(int tab, const GURL& url,
- const GURL& referrer));
- MOCK_METHOD2(Tab_OverrideEncoding, void(int tab, const char* encoding));
-
- MOCK_METHOD1(Init, void(const ProxyParams& params));
- MOCK_METHOD1(AddDelegate, int(ChromeProxyDelegate* delegate));
- MOCK_METHOD1(RemoveDelegate, int(ChromeProxyDelegate* delegate));
-};
-
-struct MockFactory : public ChromeProxyFactory {
- MOCK_METHOD0(CreateProxy, ChromeProxy*());
-};
-
-
-// This class just calls methods of ChromeProxyDelegate but in background thread
-struct AsyncEventCreator {
- public:
- explicit AsyncEventCreator(ChromeProxyDelegate* delegate)
- : delegate_(delegate), ipc_thread_("ipc") {
- base::Thread::Options options(MessageLoop::TYPE_IO, 0);
- ipc_thread_.StartWithOptions(options);
- ipc_loop_ = ipc_thread_.message_loop();
- }
-
- void Fire_Connected(ChromeProxy* proxy, base::TimeDelta delay) {
- ipc_loop_->PostDelayedTask(
- FROM_HERE,
- base::Bind(&ChromeProxyDelegate::Connected, base::Unretained(delegate_),
- proxy),
- delay.InMilliseconds());
- }
-
- void Fire_PeerLost(ChromeProxy* proxy,
- ChromeProxyDelegate::DisconnectReason reason, base::TimeDelta delay) {
- ipc_loop_->PostDelayedTask(
- FROM_HERE,
- base::Bind(&ChromeProxyDelegate::PeerLost, base::Unretained(delegate_),
- proxy, reason),
- delay.InMilliseconds());
- }
-
- void Fire_Disconnected(base::TimeDelta delay) {
- ipc_loop_->PostDelayedTask(
- FROM_HERE,
- base::Bind(&ChromeProxyDelegate::Disconnected,
- base::Unretained(delegate_)),
- delay.InMilliseconds());
- }
-
- void Fire_CompletedCreateTab(bool success, HWND chrome_wnd, HWND tab_window,
- int tab_handle, int session_id,
- base::TimeDelta delay) {
- ipc_loop_->PostDelayedTask(
- FROM_HERE,
- base::Bind(&ChromeProxyDelegate::Completed_CreateTab,
- base::Unretained(delegate_), success, chrome_wnd, tab_window,
- tab_handle, session_id),
- delay.InMilliseconds());
- }
-
- private:
- ChromeProxyDelegate* delegate_;
- base::Thread ipc_thread_;
- MessageLoop* ipc_loop_;
-};
-
-// We may want the same test with 'real' proxy and mock 'proxy traits'.
-TEST(ExternalTabProxy, CancelledCreateTab) {
- MockUIDelegate ui_delegate;
- StrictMock<MockFactory> factory;
- scoped_ptr<ExternalTabProxy> tab(new ExternalTabProxy());
- AsyncEventCreator async_events(tab.get());
- StrictMock<MockProxy>* proxy = new StrictMock<MockProxy>();
- TimedMsgLoop loop;
- tab->set_proxy_factory(&factory);
-
- EXPECT_CALL(factory, CreateProxy()).WillOnce(Return(proxy));
- EXPECT_CALL(*proxy, Init(_));
- EXPECT_CALL(*proxy, AddDelegate(tab.get())).WillOnce(DoAll(InvokeWithoutArgs(
- CreateFunctor(&async_events, &AsyncEventCreator::Fire_Connected,
- proxy, base::TimeDelta::FromMilliseconds(30))),
- Return(1)));
-
- EXPECT_CALL(*proxy, CreateTab(tab.get(), _))
- .WillOnce(QUIT_LOOP(loop));
-
- EXPECT_CALL(*proxy, RemoveDelegate(_)).WillOnce(DoAll(
- InvokeWithoutArgs(CreateFunctor(&async_events,
- &AsyncEventCreator::Fire_CompletedCreateTab, false, HWND(0), HWND(0),
- 0, 0, base::TimeDelta::FromMilliseconds(0))),
- InvokeWithoutArgs(CreateFunctor(&async_events,
- &AsyncEventCreator::Fire_Disconnected,
- base::TimeDelta::FromMilliseconds(0))),
- Return(0)));
-
- CreateTabParams tab_params;
- tab_params.is_incognito = true;
- tab_params.is_widget_mode = false;
- tab_params.url = GURL("http://Xanadu.org");
-
- tab->CreateTab(tab_params, &ui_delegate);
- loop.RunFor(5);
- EXPECT_FALSE(loop.WasTimedOut());
- tab.reset();
-}
« no previous file with comments | « chrome_frame/external_tab.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698