| OLD | NEW |
| 1 // Copyright (c) 2006-2009 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2006-2009 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 #ifndef CHROME_FRAME_TEST_CHROME_FRAME_AUTOMATION_MOCK_H_ | 4 #ifndef CHROME_FRAME_TEST_CHROME_FRAME_AUTOMATION_MOCK_H_ |
| 5 #define CHROME_FRAME_TEST_CHROME_FRAME_AUTOMATION_MOCK_H_ | 5 #define CHROME_FRAME_TEST_CHROME_FRAME_AUTOMATION_MOCK_H_ |
| 6 | 6 |
| 7 #include <string> | 7 #include <string> |
| 8 | 8 |
| 9 #include "base/file_path.h" | 9 #include "base/file_path.h" |
| 10 #include "base/path_service.h" | 10 #include "base/path_service.h" |
| 11 #include "chrome_frame/chrome_frame_automation.h" | 11 #include "chrome_frame/chrome_frame_automation.h" |
| 12 #include "chrome_frame/chrome_frame_plugin.h" | 12 #include "chrome_frame/chrome_frame_plugin.h" |
| 13 #include "chrome_frame/test/http_server.h" | 13 #include "chrome_frame/test/http_server.h" |
| 14 #include "chrome_frame/test/chrome_frame_test_utils.h" | 14 #include "chrome_frame/test/chrome_frame_test_utils.h" |
| 15 #include "chrome_frame/utils.h" | 15 #include "chrome_frame/utils.h" |
| 16 | 16 |
| 17 template <typename T> | 17 template <typename T> |
| 18 class AutomationMockDelegate | 18 class AutomationMockDelegate |
| 19 : public CWindowImpl<T>, | 19 : public CWindowImpl<T>, |
| 20 public ChromeFramePlugin<T> { | 20 public ChromeFramePlugin<T> { |
| 21 public: | 21 public: |
| 22 AutomationMockDelegate(MessageLoop* caller_message_loop, | 22 AutomationMockDelegate(MessageLoop* caller_message_loop, |
| 23 int launch_timeout, bool perform_version_check, | 23 int launch_timeout, bool perform_version_check, |
| 24 const std::wstring& profile_name, | 24 const std::wstring& profile_name, |
| 25 const std::wstring& extra_chrome_arguments, bool incognito) | 25 const std::wstring& extra_chrome_arguments, bool incognito, |
| 26 bool is_widget_mode) |
| 26 : caller_message_loop_(caller_message_loop), is_connected_(false), | 27 : caller_message_loop_(caller_message_loop), is_connected_(false), |
| 27 navigation_result_(false) { | 28 navigation_result_(false) { |
| 28 test_server_.SetUp(); | 29 test_server_.SetUp(); |
| 29 | 30 |
| 30 FilePath profile_path( | 31 FilePath profile_path( |
| 31 chrome_frame_test::GetProfilePath(profile_name)); | 32 chrome_frame_test::GetProfilePath(profile_name)); |
| 32 | 33 |
| 33 automation_client_ = new ChromeFrameAutomationClient; | 34 automation_client_ = new ChromeFrameAutomationClient; |
| 34 automation_client_->Initialize(this, launch_timeout, perform_version_check, | 35 ChromeFrameLaunchParams clp = { |
| 35 profile_path, extra_chrome_arguments, incognito); | 36 launch_timeout, |
| 37 GURL(), |
| 38 GURL(), |
| 39 profile_path, |
| 40 profile_name, |
| 41 extra_chrome_arguments, |
| 42 perform_version_check, |
| 43 incognito, |
| 44 is_widget_mode |
| 45 }; |
| 46 automation_client_->Initialize(this, clp); |
| 36 } | 47 } |
| 37 ~AutomationMockDelegate() { | 48 ~AutomationMockDelegate() { |
| 38 if (automation_client_.get()) { | 49 if (automation_client_.get()) { |
| 39 automation_client_->Uninitialize(); | 50 automation_client_->Uninitialize(); |
| 40 automation_client_ = NULL; | 51 automation_client_ = NULL; |
| 41 } | 52 } |
| 42 if (IsWindow()) | 53 if (IsWindow()) |
| 43 DestroyWindow(); | 54 DestroyWindow(); |
| 44 | 55 |
| 45 test_server_.TearDown(); | 56 test_server_.TearDown(); |
| (...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 129 bool is_connected_; | 140 bool is_connected_; |
| 130 bool navigation_result_; | 141 bool navigation_result_; |
| 131 }; | 142 }; |
| 132 | 143 |
| 133 class AutomationMockLaunch | 144 class AutomationMockLaunch |
| 134 : public AutomationMockDelegate<AutomationMockLaunch> { | 145 : public AutomationMockDelegate<AutomationMockLaunch> { |
| 135 public: | 146 public: |
| 136 typedef AutomationMockDelegate<AutomationMockLaunch> Base; | 147 typedef AutomationMockDelegate<AutomationMockLaunch> Base; |
| 137 AutomationMockLaunch(MessageLoop* caller_message_loop, | 148 AutomationMockLaunch(MessageLoop* caller_message_loop, |
| 138 int launch_timeout) | 149 int launch_timeout) |
| 139 : Base(caller_message_loop, launch_timeout, true, L"", L"", false) { | 150 : Base(caller_message_loop, launch_timeout, true, L"", L"", false, |
| 151 false) { |
| 140 } | 152 } |
| 141 virtual void OnAutomationServerReady() { | 153 virtual void OnAutomationServerReady() { |
| 142 Base::OnAutomationServerReady(); | 154 Base::OnAutomationServerReady(); |
| 143 QuitMessageLoop(); | 155 QuitMessageLoop(); |
| 144 } | 156 } |
| 145 bool launch_result() const { | 157 bool launch_result() const { |
| 146 return is_connected(); | 158 return is_connected(); |
| 147 } | 159 } |
| 148 }; | 160 }; |
| 149 | 161 |
| 150 class AutomationMockNavigate | 162 class AutomationMockNavigate |
| 151 : public AutomationMockDelegate<AutomationMockNavigate> { | 163 : public AutomationMockDelegate<AutomationMockNavigate> { |
| 152 public: | 164 public: |
| 153 typedef AutomationMockDelegate<AutomationMockNavigate> Base; | 165 typedef AutomationMockDelegate<AutomationMockNavigate> Base; |
| 154 AutomationMockNavigate(MessageLoop* caller_message_loop, | 166 AutomationMockNavigate(MessageLoop* caller_message_loop, |
| 155 int launch_timeout) | 167 int launch_timeout) |
| 156 : Base(caller_message_loop, launch_timeout, true, L"", L"", false) { | 168 : Base(caller_message_loop, launch_timeout, true, L"", L"", false, |
| 169 false) { |
| 157 } | 170 } |
| 158 virtual void OnLoad(int tab_handle, const GURL& url) { | 171 virtual void OnLoad(int tab_handle, const GURL& url) { |
| 159 Base::OnLoad(tab_handle, url); | 172 Base::OnLoad(tab_handle, url); |
| 160 QuitMessageLoop(); | 173 QuitMessageLoop(); |
| 161 } | 174 } |
| 162 }; | 175 }; |
| 163 | 176 |
| 164 class AutomationMockPostMessage | 177 class AutomationMockPostMessage |
| 165 : public AutomationMockDelegate<AutomationMockPostMessage> { | 178 : public AutomationMockDelegate<AutomationMockPostMessage> { |
| 166 public: | 179 public: |
| 167 typedef AutomationMockDelegate<AutomationMockPostMessage> Base; | 180 typedef AutomationMockDelegate<AutomationMockPostMessage> Base; |
| 168 AutomationMockPostMessage(MessageLoop* caller_message_loop, | 181 AutomationMockPostMessage(MessageLoop* caller_message_loop, |
| 169 int launch_timeout) | 182 int launch_timeout) |
| 170 : Base(caller_message_loop, launch_timeout, true, L"", L"", false), | 183 : Base(caller_message_loop, launch_timeout, true, L"", L"", false, false), |
| 171 postmessage_result_(false) {} | 184 postmessage_result_(false) {} |
| 172 bool postmessage_result() const { | 185 bool postmessage_result() const { |
| 173 return postmessage_result_; | 186 return postmessage_result_; |
| 174 } | 187 } |
| 175 virtual void OnLoad(int tab_handle, const GURL& url) { | 188 virtual void OnLoad(int tab_handle, const GURL& url) { |
| 176 Base::OnLoad(tab_handle, url); | 189 Base::OnLoad(tab_handle, url); |
| 177 if (navigation_result()) { | 190 if (navigation_result()) { |
| 178 automation()->ForwardMessageFromExternalHost("Test", "null", "*"); | 191 automation()->ForwardMessageFromExternalHost("Test", "null", "*"); |
| 179 } | 192 } |
| 180 } | 193 } |
| 181 virtual void OnMessageFromChromeFrame(int tab_handle, | 194 virtual void OnMessageFromChromeFrame(int tab_handle, |
| 182 const std::string& message, | 195 const std::string& message, |
| 183 const std::string& origin, | 196 const std::string& origin, |
| 184 const std::string& target) { | 197 const std::string& target) { |
| 185 postmessage_result_ = true; | 198 postmessage_result_ = true; |
| 186 QuitMessageLoop(); | 199 QuitMessageLoop(); |
| 187 } | 200 } |
| 188 private: | 201 private: |
| 189 bool postmessage_result_; | 202 bool postmessage_result_; |
| 190 }; | 203 }; |
| 191 | 204 |
| 192 class AutomationMockHostNetworkRequestStart | 205 class AutomationMockHostNetworkRequestStart |
| 193 : public AutomationMockDelegate<AutomationMockHostNetworkRequestStart> { | 206 : public AutomationMockDelegate<AutomationMockHostNetworkRequestStart> { |
| 194 public: | 207 public: |
| 195 typedef AutomationMockDelegate<AutomationMockHostNetworkRequestStart> Base; | 208 typedef AutomationMockDelegate<AutomationMockHostNetworkRequestStart> Base; |
| 196 AutomationMockHostNetworkRequestStart(MessageLoop* caller_message_loop, | 209 AutomationMockHostNetworkRequestStart(MessageLoop* caller_message_loop, |
| 197 int launch_timeout) | 210 int launch_timeout) |
| 198 : Base(caller_message_loop, launch_timeout, true, L"", L"", false), | 211 : Base(caller_message_loop, launch_timeout, true, L"", L"", false, false), |
| 199 request_start_result_(false) { | 212 request_start_result_(false) { |
| 200 if (automation()) { | 213 if (automation()) { |
| 201 automation()->set_use_chrome_network(false); | 214 automation()->set_use_chrome_network(false); |
| 202 } | 215 } |
| 203 } | 216 } |
| 204 bool request_start_result() const { | 217 bool request_start_result() const { |
| 205 return request_start_result_; | 218 return request_start_result_; |
| 206 } | 219 } |
| 207 virtual void OnRequestStart(int tab_handle, int request_id, | 220 virtual void OnRequestStart(int tab_handle, int request_id, |
| 208 const IPC::AutomationURLRequest& request) { | 221 const IPC::AutomationURLRequest& request) { |
| 209 request_start_result_ = true; | 222 request_start_result_ = true; |
| 210 QuitMessageLoop(); | 223 QuitMessageLoop(); |
| 211 } | 224 } |
| 212 virtual void OnLoad(int tab_handle, const GURL& url) { | 225 virtual void OnLoad(int tab_handle, const GURL& url) { |
| 213 Base::OnLoad(tab_handle, url); | 226 Base::OnLoad(tab_handle, url); |
| 214 } | 227 } |
| 215 private: | 228 private: |
| 216 bool request_start_result_; | 229 bool request_start_result_; |
| 217 }; | 230 }; |
| 218 | 231 |
| 219 | 232 |
| 220 #endif // CHROME_FRAME_TEST_CHROME_FRAME_AUTOMATION_MOCK_H_ | 233 #endif // CHROME_FRAME_TEST_CHROME_FRAME_AUTOMATION_MOCK_H_ |
| 221 | 234 |
| OLD | NEW |