• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 #include "chrome_frame/custom_sync_call_context.h"
6 
7 #include "base/bind.h"
8 
CreateExternalTabContext(ChromeFrameAutomationClient * client)9 CreateExternalTabContext::CreateExternalTabContext(
10     ChromeFrameAutomationClient* client)
11     : client_(client) {
12 }
13 
Completed(HWND chrome_window,HWND tab_window,int tab_handle,int session_id)14 void CreateExternalTabContext::Completed(
15     HWND chrome_window, HWND tab_window, int tab_handle, int session_id) {
16   AutomationLaunchResult launch_result =
17       client_->CreateExternalTabComplete(chrome_window, tab_window,
18                                          tab_handle, session_id);
19   client_->PostTask(
20       FROM_HERE, base::Bind(&ChromeFrameAutomationClient::InitializeComplete,
21                             client_.get(), launch_result));
22 }
23 
BeginNavigateContext(ChromeFrameAutomationClient * client)24 BeginNavigateContext::BeginNavigateContext(ChromeFrameAutomationClient* client)
25     : client_(client) {
26 }
27 
Completed(AutomationMsg_NavigationResponseValues response)28 void BeginNavigateContext::Completed(
29     AutomationMsg_NavigationResponseValues response) {
30   client_->BeginNavigateCompleted(response);
31 }
32 
UnloadContext(base::WaitableEvent * unload_done,bool * should_unload)33 UnloadContext::UnloadContext(
34     base::WaitableEvent* unload_done, bool* should_unload)
35     : should_unload_(should_unload),
36       unload_done_(unload_done) {
37 }
38 
Completed(bool should_unload)39 void UnloadContext::Completed(bool should_unload) {
40   *should_unload_ = should_unload;
41   unload_done_->Signal();
42   should_unload_ = NULL;
43   unload_done_ = NULL;
44   // This object will be destroyed after this. Cannot access any members
45   // on returning from this function.
46 }
47