| Index: chrome_frame/chrome_frame_automation.cc
|
| ===================================================================
|
| --- chrome_frame/chrome_frame_automation.cc (revision 42690)
|
| +++ chrome_frame/chrome_frame_automation.cc (working copy)
|
| @@ -1,4 +1,4 @@
|
| -// Copyright (c) 2010 The Chromium Authors. All rights reserved.
|
| +// Copyright (c) 2009 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.
|
|
|
| @@ -19,6 +19,8 @@
|
| #include "base/waitable_event.h"
|
| #include "chrome/app/client_util.h"
|
| #include "chrome/common/chrome_constants.h"
|
| +#include "chrome/common/chrome_paths.h"
|
| +#include "chrome/common/chrome_paths_internal.h"
|
| #include "chrome/common/chrome_switches.h"
|
| #include "chrome/test/automation/tab_proxy.h"
|
| #include "chrome_frame/chrome_launcher.h"
|
| @@ -269,9 +271,20 @@
|
| if (IsHeadlessMode())
|
| command_line->AppendSwitch(switches::kFullMemoryCrashReport);
|
|
|
| - DLOG(INFO) << "Profile path: " << params.profile_path.value();
|
| - command_line->AppendSwitchWithValue(switches::kUserDataDir,
|
| - params.profile_path.value());
|
| + // Place the profile directory in
|
| + // "<chrome_exe_path>\..\User Data\<profile-name>"
|
| + if (!entry->profile_name.empty()) {
|
| + FilePath profile_path;
|
| + if (chrome::GetChromeFrameUserDataDirectory(&profile_path)) {
|
| + profile_path = profile_path.Append(entry->profile_name);
|
| + command_line->AppendSwitchWithValue(switches::kUserDataDir,
|
| + profile_path.value());
|
| + } else {
|
| + // Can't get the profile dir :-( We need one to work, so fail.
|
| + // We have no code for launch failure.
|
| + entry->launch_result = AutomationLaunchResult(-1);
|
| + }
|
| + }
|
|
|
| std::wstring command_line_string(command_line->command_line_string());
|
| // If there are any extra arguments, append them to the command line.
|
| @@ -326,6 +339,8 @@
|
| }
|
|
|
| bool ProxyFactory::ReleaseAutomationServer(void* server_id) {
|
| + DLOG(INFO) << __FUNCTION__;
|
| +
|
| if (!server_id) {
|
| NOTREACHED();
|
| return false;
|
| @@ -442,7 +457,7 @@
|
| ChromeFrameDelegate* chrome_frame_delegate,
|
| int automation_server_launch_timeout,
|
| bool perform_version_check,
|
| - const FilePath& profile_path,
|
| + const std::wstring& profile_name,
|
| const std::wstring& extra_chrome_arguments,
|
| bool incognito) {
|
| DCHECK(!IsWindow());
|
| @@ -482,8 +497,7 @@
|
|
|
| chrome_launch_params_.automation_server_launch_timeout =
|
| automation_server_launch_timeout;
|
| - chrome_launch_params_.profile_path = profile_path;
|
| - chrome_launch_params_.profile_name = profile_path.BaseName().value();
|
| + chrome_launch_params_.profile_name = profile_name;
|
| chrome_launch_params_.extra_chrome_arguments = extra_chrome_arguments;
|
| chrome_launch_params_.perform_version_check = perform_version_check;
|
| chrome_launch_params_.url = navigate_after_initialization_ ? GURL() : url_;
|
| @@ -497,6 +511,8 @@
|
| }
|
|
|
| void ChromeFrameAutomationClient::Uninitialize() {
|
| + DLOG(INFO) << __FUNCTION__;
|
| +
|
| if (init_state_ == UNINITIALIZED) {
|
| DLOG(WARNING) << __FUNCTION__ << ": Automation client not initialized";
|
| return;
|
| @@ -914,7 +930,6 @@
|
| NULL, NULL, NULL);
|
| automation_server_->SendAsAsync(message, NewCallback(this,
|
| &ChromeFrameAutomationClient::CreateExternalTabComplete), this);
|
| - DLOG(INFO) << __FUNCTION__ << ": sending CreateExternalTabComplete";
|
| }
|
| }
|
| } else {
|
| @@ -1084,6 +1099,7 @@
|
| }
|
|
|
| void ChromeFrameAutomationClient::ReleaseAutomationServer() {
|
| + DLOG(INFO) << __FUNCTION__;
|
| if (automation_server_id_) {
|
| // Cache the server id and clear the automation_server_id_ before
|
| // calling ReleaseAutomationServer. The reason we do this is that
|
| @@ -1201,10 +1217,6 @@
|
| new AutomationMsg_SetPageFontSize(0, tab_handle_, font_size));
|
| }
|
|
|
| -void ChromeFrameAutomationClient::RemoveBrowsingData(int remove_mask) {
|
| - automation_server_->Send(
|
| - new AutomationMsg_RemoveBrowsingData(0, remove_mask));
|
| -}
|
|
|
| //////////////////////////////////////////////////////////////////////////
|
| // PluginUrlRequestDelegate implementation.
|
|
|