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.
5 #include "chrome_frame/custom_sync_call_context.h"
9 CreateExternalTabContext::CreateExternalTabContext(
10 ChromeFrameAutomationClient* client)
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);
20 FROM_HERE, base::Bind(&ChromeFrameAutomationClient::InitializeComplete,
21 client_.get(), launch_result));
24 BeginNavigateContext::BeginNavigateContext(ChromeFrameAutomationClient* client)
28 void BeginNavigateContext::Completed(
29 AutomationMsg_NavigationResponseValues response) {
30 client_->BeginNavigateCompleted(response);
33 UnloadContext::UnloadContext(
34 base::WaitableEvent* unload_done, bool* should_unload)
35 : should_unload_(should_unload),
36 unload_done_(unload_done) {
39 void UnloadContext::Completed(bool should_unload) {
40 *should_unload_ = should_unload;
41 unload_done_->Signal();
42 should_unload_ = NULL;
44 // This object will be destroyed after this. Cannot access any members
45 // on returning from this function.