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

Side by Side Diff: chrome_frame/external_tab.cc

Issue 5998006: Clean up Automation and Chrome Frame IPC code. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 10 years 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 | Annotate | Revision Log
« no previous file with comments | « chrome_frame/external_tab.h ('k') | chrome_frame/external_tab_test.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 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 #include "chrome_frame/external_tab.h" 5 #include "chrome_frame/external_tab.h"
6 #include "base/lazy_instance.h" 6 #include "base/lazy_instance.h"
7 #include "base/tracked.h" 7 #include "base/tracked.h"
8 #include "base/task.h" 8 #include "base/task.h"
9 #include "base/waitable_event.h" 9 #include "base/waitable_event.h"
10 #include "chrome/common/automation_messages.h" 10 #include "chrome/common/automation_messages.h"
(...skipping 16 matching lines...) Expand all
27 27
28 ExternalTabProxy::ExternalTabProxy() : state_(NONE), tab_(0), tab_wnd_(NULL), 28 ExternalTabProxy::ExternalTabProxy() : state_(NONE), tab_(0), tab_wnd_(NULL),
29 chrome_wnd_(NULL), proxy_factory_(g_proxy_factory.Pointer()), proxy_(NULL), 29 chrome_wnd_(NULL), proxy_factory_(g_proxy_factory.Pointer()), proxy_(NULL),
30 ui_delegate_(NULL) { 30 ui_delegate_(NULL) {
31 } 31 }
32 32
33 ExternalTabProxy::~ExternalTabProxy() { 33 ExternalTabProxy::~ExternalTabProxy() {
34 Destroy(); 34 Destroy();
35 } 35 }
36 36
37 void ExternalTabProxy::OnMessageReceived(const IPC::Message& message) {
38 IPC_BEGIN_MESSAGE_MAP(ExternalTabProxy, message)
39 IPC_MESSAGE_HANDLER(AutomationMsg_NavigationStateChanged,
40 OnNavigationStateChanged)
41 IPC_MESSAGE_HANDLER(AutomationMsg_UpdateTargetUrl, OnUpdateTargetUrl)
42 IPC_MESSAGE_HANDLER(AutomationMsg_HandleAccelerator, OnHandleAccelerator)
43 IPC_MESSAGE_HANDLER(AutomationMsg_TabbedOut, OnTabbedOut)
44 IPC_MESSAGE_HANDLER(AutomationMsg_OpenURL, OnOpenURL)
45 IPC_MESSAGE_HANDLER(AutomationMsg_NavigationFailed, OnNavigationFailed)
46 IPC_MESSAGE_HANDLER(AutomationMsg_DidNavigate, OnDidNavigate)
47 IPC_MESSAGE_HANDLER(AutomationMsg_TabLoaded, OnTabLoaded)
48 IPC_MESSAGE_HANDLER(AutomationMsg_ForwardMessageToExternalHost,
49 OnMessageToHost)
50 IPC_MESSAGE_HANDLER(AutomationMsg_ForwardContextMenuToExternalHost,
51 OnHandleContextMenu)
52 IPC_MESSAGE_HANDLER(AutomationMsg_RequestStart, OnNetwork_Start)
53 IPC_MESSAGE_HANDLER(AutomationMsg_RequestRead, OnNetwork_Read)
54 IPC_MESSAGE_HANDLER(AutomationMsg_RequestEnd, OnNetwork_End)
55 IPC_MESSAGE_HANDLER(AutomationMsg_DownloadRequestInHost,
56 OnNetwork_DownloadInHost)
57 IPC_MESSAGE_HANDLER(AutomationMsg_GetCookiesFromHost, OnGetCookies)
58 IPC_MESSAGE_HANDLER(AutomationMsg_SetCookieAsync, OnSetCookie)
59 IPC_MESSAGE_HANDLER(AutomationMsg_AttachExternalTab, OnAttachTab)
60 IPC_MESSAGE_HANDLER(AutomationMsg_RequestGoToHistoryEntryOffset,
61 OnGoToHistoryOffset)
62 IPC_MESSAGE_HANDLER(AutomationMsg_CloseExternalTab, OnTabClosed)
63 IPC_END_MESSAGE_MAP()
64 }
65
37 void ExternalTabProxy::Init() { 66 void ExternalTabProxy::Init() {
38 if (m_hWnd == NULL) { 67 if (m_hWnd == NULL) {
39 // Create a window on the UI thread for marshaling messages back and forth 68 // Create a window on the UI thread for marshaling messages back and forth
40 // from the IPC thread. This window cannot be a message only window as the 69 // from the IPC thread. This window cannot be a message only window as the
41 // external chrome tab window initially is created as a child of this window 70 // external chrome tab window initially is created as a child of this window
42 CWindowImpl<ExternalTabProxy>::Create(GetDesktopWindow(), NULL, NULL, 71 CWindowImpl<ExternalTabProxy>::Create(GetDesktopWindow(), NULL, NULL,
43 WS_CHILDWINDOW | WS_CLIPCHILDREN | WS_CLIPSIBLINGS, WS_EX_TOOLWINDOW); 72 WS_CHILDWINDOW | WS_CLIPCHILDREN | WS_CLIPSIBLINGS, WS_EX_TOOLWINDOW);
44 DCHECK(m_hWnd != NULL); 73 DCHECK(m_hWnd != NULL);
45 ui_.SetWindow(m_hWnd, WM_APP + 6); 74 ui_.SetWindow(m_hWnd, WM_APP + 6);
46 } 75 }
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
81 } 110 }
82 111
83 void ExternalTabProxy::Connected(ChromeProxy* proxy) { 112 void ExternalTabProxy::Connected(ChromeProxy* proxy) {
84 // in ipc thread 113 // in ipc thread
85 ui_.PostTask(FROM_HERE, NewRunnableMethod(this, 114 ui_.PostTask(FROM_HERE, NewRunnableMethod(this,
86 &ExternalTabProxy::UiConnected, proxy)); 115 &ExternalTabProxy::UiConnected, proxy));
87 } 116 }
88 117
89 void ExternalTabProxy::UiConnected(ChromeProxy* proxy) { 118 void ExternalTabProxy::UiConnected(ChromeProxy* proxy) {
90 proxy_ = proxy; 119 proxy_ = proxy;
91 IPC::ExternalTabSettings settings; 120 ExternalTabSettings settings;
92 settings.parent = m_hWnd; 121 settings.parent = m_hWnd;
93 settings.style = WS_CHILD; 122 settings.style = WS_CHILD;
94 settings.is_off_the_record = tab_params_.is_incognito; 123 settings.is_off_the_record = tab_params_.is_incognito;
95 // TODO(stoyan): FIX this. 124 // TODO(stoyan): FIX this.
96 settings.load_requests_via_automation = true; 125 settings.load_requests_via_automation = true;
97 // TODO(stoyan): FIX this. 126 // TODO(stoyan): FIX this.
98 settings.handle_top_level_requests = true; 127 settings.handle_top_level_requests = true;
99 settings.initial_url = tab_params_.url; 128 settings.initial_url = tab_params_.url;
100 settings.referrer = tab_params_.referrer; 129 settings.referrer = tab_params_.referrer;
101 // Infobars are disabled in widget mode. 130 // Infobars are disabled in widget mode.
(...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after
215 244
216 void ExternalTabProxy::Completed_CreateTab(bool success, HWND chrome_wnd, 245 void ExternalTabProxy::Completed_CreateTab(bool success, HWND chrome_wnd,
217 HWND tab_window, int tab_handle, 246 HWND tab_window, int tab_handle,
218 int session_id) { 247 int session_id) {
219 // in ipc_thread. 248 // in ipc_thread.
220 ui_.PostTask(FROM_HERE, NewRunnableMethod(this, 249 ui_.PostTask(FROM_HERE, NewRunnableMethod(this,
221 &ExternalTabProxy::UiCompleted_CreateTab, 250 &ExternalTabProxy::UiCompleted_CreateTab,
222 success, chrome_wnd, tab_window, tab_handle, session_id)); 251 success, chrome_wnd, tab_window, tab_handle, session_id));
223 } 252 }
224 253
225 void ExternalTabProxy::Completed_ConnectToTab(bool success, 254 void ExternalTabProxy::Completed_ConnectToTab(
226 HWND chrome_window, HWND tab_window, int tab_handle, int session_id) { 255 bool success, HWND chrome_window, HWND tab_window, int tab_handle,
256 int session_id) {
227 CHECK(0); 257 CHECK(0);
228 } 258 }
229 259
230 void ExternalTabProxy::Completed_Navigate(bool success, 260 void ExternalTabProxy::Completed_Navigate(
231 enum AutomationMsg_NavigationResponseValues res) { 261 bool success, enum AutomationMsg_NavigationResponseValues res) {
232 // ipc_thread; 262 // ipc_thread;
233 CHECK(0); 263 CHECK(0);
234 } 264 }
235 265
236 void ExternalTabProxy::Completed_InstallExtension(bool success, 266 void ExternalTabProxy::Completed_InstallExtension(
237 enum AutomationMsg_ExtensionResponseValues res, SyncMessageContext* ctx) { 267 bool success, enum AutomationMsg_ExtensionResponseValues res,
268 SyncMessageContext* ctx) {
238 CHECK(0); 269 CHECK(0);
239 } 270 }
240 271
241 void ExternalTabProxy::Completed_LoadExpandedExtension(bool success, 272 void ExternalTabProxy::Completed_LoadExpandedExtension(
242 enum AutomationMsg_ExtensionResponseValues res, SyncMessageContext* ctx) { 273 bool success, enum AutomationMsg_ExtensionResponseValues res,
274 SyncMessageContext* ctx) {
243 CHECK(0); 275 CHECK(0);
244 } 276 }
245 277
246 void ExternalTabProxy::Completed_GetEnabledExtensions(bool success, 278 void ExternalTabProxy::Completed_GetEnabledExtensions(
247 const std::vector<FilePath>* extensions) { 279 bool success, const std::vector<FilePath>* extensions) {
248 CHECK(0); 280 CHECK(0);
249 } 281 }
250 282
251 void ExternalTabProxy::NavigationStateChanged(int flags, 283 void ExternalTabProxy::OnNavigationStateChanged(
252 const IPC::NavigationInfo& nav_info) { 284 int flags, const NavigationInfo& nav_info) {
253 ui_.PostTask(FROM_HERE, NewRunnableMethod(ui_delegate_, 285 ui_.PostTask(FROM_HERE, NewRunnableMethod(ui_delegate_,
254 &UIDelegate::OnNavigationStateChanged, flags, nav_info)); 286 &UIDelegate::OnNavigationStateChanged, flags, nav_info));
255 } 287 }
256 288
257 void ExternalTabProxy::UpdateTargetUrl(const std::wstring& url) { 289 void ExternalTabProxy::OnUpdateTargetUrl(const std::wstring& url) {
258 ui_.PostTask(FROM_HERE, NewRunnableMethod(ui_delegate_, 290 ui_.PostTask(FROM_HERE, NewRunnableMethod(ui_delegate_,
259 &UIDelegate::OnUpdateTargetUrl, url)); 291 &UIDelegate::OnUpdateTargetUrl, url));
260 } 292 }
261 293
262 void ExternalTabProxy::TabLoaded(const GURL& url) { 294 void ExternalTabProxy::OnTabLoaded(const GURL& url) {
263 ui_.PostTask(FROM_HERE, NewRunnableMethod(ui_delegate_, 295 ui_.PostTask(FROM_HERE, NewRunnableMethod(ui_delegate_,
264 &UIDelegate::OnLoad, url)); 296 &UIDelegate::OnLoad, url));
265 } 297 }
266 298
267 void ExternalTabProxy::MessageToHost(const std::string& message, 299 void ExternalTabProxy::OnMessageToHost(const std::string& message,
268 const std::string& origin, 300 const std::string& origin,
269 const std::string& target) { 301 const std::string& target) {
270 ui_.PostTask(FROM_HERE, NewRunnableMethod(ui_delegate_, 302 ui_.PostTask(FROM_HERE, NewRunnableMethod(ui_delegate_,
271 &UIDelegate::OnMessageFromChromeFrame, message, origin, target)); 303 &UIDelegate::OnMessageFromChromeFrame, message, origin, target));
272 } 304 }
273 305
274 void ExternalTabProxy::HandleAccelerator(const MSG& accel_message) { 306 void ExternalTabProxy::OnHandleAccelerator(const MSG& accel_message) {
275 ui_.PostTask(FROM_HERE, NewRunnableMethod(ui_delegate_, 307 ui_.PostTask(FROM_HERE, NewRunnableMethod(ui_delegate_,
276 &UIDelegate::OnHandleAccelerator, accel_message)); 308 &UIDelegate::OnHandleAccelerator, accel_message));
277 } 309 }
278 310
279 void ExternalTabProxy::HandleContextMenu( 311 void ExternalTabProxy::OnHandleContextMenu(
280 HANDLE menu_handle, 312 HANDLE menu_handle,
281 int align_flags, 313 int align_flags,
282 const IPC::MiniContextMenuParams& params) { 314 const MiniContextMenuParams& params) {
283 ui_.PostTask(FROM_HERE, NewRunnableMethod(ui_delegate_, 315 ui_.PostTask(FROM_HERE, NewRunnableMethod(ui_delegate_,
284 &UIDelegate::OnHandleContextMenu, menu_handle, align_flags, params)); 316 &UIDelegate::OnHandleContextMenu, menu_handle, align_flags, params));
285 } 317 }
286 318
287 void ExternalTabProxy::TabbedOut(bool reverse) { 319 void ExternalTabProxy::OnTabbedOut(bool reverse) {
288 ui_.PostTask(FROM_HERE, NewRunnableMethod(ui_delegate_, 320 ui_.PostTask(FROM_HERE, NewRunnableMethod(ui_delegate_,
289 &UIDelegate::OnTabbedOut, reverse)); 321 &UIDelegate::OnTabbedOut, reverse));
290 } 322 }
291 323
292 void ExternalTabProxy::GoToHistoryOffset(int offset) { 324 void ExternalTabProxy::OnGoToHistoryOffset(int offset) {
293 ui_.PostTask(FROM_HERE, NewRunnableMethod(ui_delegate_, 325 ui_.PostTask(FROM_HERE, NewRunnableMethod(ui_delegate_,
294 &UIDelegate::OnGoToHistoryOffset, offset)); 326 &UIDelegate::OnGoToHistoryOffset, offset));
295 } 327 }
296 328
297 void ExternalTabProxy::OpenURL(const GURL& url_to_open, const GURL& referrer, 329 void ExternalTabProxy::OnOpenURL(const GURL& url_to_open, const GURL& referrer,
298 int open_disposition) { 330 int open_disposition) {
299 ui_.PostTask(FROM_HERE, NewRunnableMethod(ui_delegate_, 331 ui_.PostTask(FROM_HERE, NewRunnableMethod(ui_delegate_,
300 &UIDelegate::OnOpenURL, url_to_open, referrer, open_disposition)); 332 &UIDelegate::OnOpenURL, url_to_open, referrer, open_disposition));
301 } 333 }
302 334
303 void ExternalTabProxy::NavigationFailed(int error_code, const GURL& gurl) { 335 void ExternalTabProxy::OnNavigationFailed(int error_code, const GURL& gurl) {
304 // TODO(stoyan): 336 // TODO(stoyan):
305 } 337 }
306 338
307 void ExternalTabProxy::DidNavigate(const IPC::NavigationInfo& navigation_info) { 339 void ExternalTabProxy::OnDidNavigate(const NavigationInfo& navigation_info) {
308 // TODO(stoyan): 340 // TODO(stoyan):
309 } 341 }
310 342
311 void ExternalTabProxy::Network_Start( 343 void ExternalTabProxy::OnNetwork_Start(
312 int request_id, const IPC::AutomationURLRequest& request_info) { 344 int request_id, const AutomationURLRequest& request_info) {
313 // TODO(stoyan): url_fetcher_.Start(); 345 // TODO(stoyan): url_fetcher_.Start();
314 } 346 }
315 347
316 void ExternalTabProxy::Network_Read(int request_id, int bytes_to_read) { 348 void ExternalTabProxy::OnNetwork_Read(int request_id, int bytes_to_read) {
317 // TODO(stoyan): url_fetcher_.Read(); 349 // TODO(stoyan): url_fetcher_.Read();
318 } 350 }
319 351
320 void ExternalTabProxy::Network_End(int request_id, const URLRequestStatus& s) { 352 void ExternalTabProxy::OnNetwork_End(int request_id,
353 const URLRequestStatus& s) {
321 // TODO(stoyan): 354 // TODO(stoyan):
322 } 355 }
323 356
324 void ExternalTabProxy::Network_DownloadInHost(int request_id) { 357 void ExternalTabProxy::OnNetwork_DownloadInHost(int request_id) {
325 // TODO(stoyan): 358 // TODO(stoyan):
326 } 359 }
327 360
328 void ExternalTabProxy::GetCookies(const GURL& url, int cookie_id) { 361 void ExternalTabProxy::OnGetCookies(const GURL& url, int cookie_id) {
329 // TODO(stoyan): 362 // TODO(stoyan):
330 } 363 }
331 364
332 void ExternalTabProxy::SetCookie(const GURL& url, const std::string& cookie) { 365 void ExternalTabProxy::OnSetCookie(const GURL& url, const std::string& cookie) {
333 // TODO(stoyan): 366 // TODO(stoyan):
334 } 367 }
335 368
336 void ExternalTabProxy::TabClosed() { 369 void ExternalTabProxy::OnTabClosed() {
337 // TODO(stoyan): 370 // TODO(stoyan):
338 } 371 }
339 372
340 void ExternalTabProxy::AttachTab( 373 void ExternalTabProxy::OnAttachTab(
341 const IPC::AttachExternalTabParams& attach_params) { 374 const AttachExternalTabParams& attach_params) {
342 // TODO(stoyan): 375 // TODO(stoyan):
343 } 376 }
OLDNEW
« no previous file with comments | « chrome_frame/external_tab.h ('k') | chrome_frame/external_tab_test.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698