| Index: chrome_frame/custom_sync_call_context.cc
|
| diff --git a/chrome_frame/custom_sync_call_context.cc b/chrome_frame/custom_sync_call_context.cc
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..9544b4b2d8c38dec72334e8cfe4dc1625267334e
|
| --- /dev/null
|
| +++ b/chrome_frame/custom_sync_call_context.cc
|
| @@ -0,0 +1,46 @@
|
| +// 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/custom_sync_call_context.h"
|
| +
|
| +#include "base/bind.h"
|
| +
|
| +CreateExternalTabContext::CreateExternalTabContext(
|
| + ChromeFrameAutomationClient* client)
|
| + : client_(client) {
|
| +}
|
| +
|
| +void CreateExternalTabContext::Completed(
|
| + HWND chrome_window, HWND tab_window, int tab_handle, int session_id) {
|
| + AutomationLaunchResult launch_result =
|
| + client_->CreateExternalTabComplete(chrome_window, tab_window,
|
| + tab_handle, session_id);
|
| + client_->PostTask(
|
| + FROM_HERE, base::Bind(&ChromeFrameAutomationClient::InitializeComplete,
|
| + client_.get(), launch_result));
|
| +}
|
| +
|
| +BeginNavigateContext::BeginNavigateContext(ChromeFrameAutomationClient* client)
|
| + : client_(client) {
|
| +}
|
| +
|
| +void BeginNavigateContext::Completed(
|
| + AutomationMsg_NavigationResponseValues response) {
|
| + client_->BeginNavigateCompleted(response);
|
| +}
|
| +
|
| +UnloadContext::UnloadContext(
|
| + base::WaitableEvent* unload_done, bool* should_unload)
|
| + : should_unload_(should_unload),
|
| + unload_done_(unload_done) {
|
| +}
|
| +
|
| +void UnloadContext::Completed(bool should_unload) {
|
| + *should_unload_ = should_unload;
|
| + unload_done_->Signal();
|
| + should_unload_ = NULL;
|
| + unload_done_ = NULL;
|
| + // This object will be destroyed after this. Cannot access any members
|
| + // on returning from this function.
|
| +}
|
|
|