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

Side by Side Diff: chrome_frame/chrome_frame_automation.cc

Issue 4202004: Add named testing interface (Closed) Base URL: http://src.chromium.org/svn/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/chrome_frame_automation.h ('k') | chrome_frame/test/automation_client_mock.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/chrome_frame_automation.h" 5 #include "chrome_frame/chrome_frame_automation.h"
6 6
7 #include "app/app_switches.h" 7 #include "app/app_switches.h"
8 #include "base/callback.h" 8 #include "base/callback.h"
9 #include "base/command_line.h" 9 #include "base/command_line.h"
10 #include "base/compiler_specific.h" 10 #include "base/compiler_specific.h"
(...skipping 126 matching lines...) Expand 10 before | Expand all | Expand 10 after
137 InvokeCallback<UnloadContext>(msg, context); 137 InvokeCallback<UnloadContext>(msg, context);
138 break; 138 break;
139 default: 139 default:
140 NOTREACHED(); 140 NOTREACHED();
141 } 141 }
142 return true; 142 return true;
143 } 143 }
144 }; 144 };
145 145
146 ChromeFrameAutomationProxyImpl::ChromeFrameAutomationProxyImpl( 146 ChromeFrameAutomationProxyImpl::ChromeFrameAutomationProxyImpl(
147 AutomationProxyCacheEntry* entry, int launch_timeout) 147 AutomationProxyCacheEntry* entry,
148 std::string channel_id, int launch_timeout)
148 : AutomationProxy(launch_timeout, false), proxy_entry_(entry) { 149 : AutomationProxy(launch_timeout, false), proxy_entry_(entry) {
149 TRACE_EVENT_BEGIN("chromeframe.automationproxy", this, ""); 150 TRACE_EVENT_BEGIN("chromeframe.automationproxy", this, "");
150 151
152 InitializeChannel(channel_id, false);
153
151 sync_ = new CFMsgDispatcher(); 154 sync_ = new CFMsgDispatcher();
152 message_filter_ = new TabProxyNotificationMessageFilter(tracker_.get()); 155 message_filter_ = new TabProxyNotificationMessageFilter(tracker_.get());
153 156
154 // Order of filters is not important. 157 // Order of filters is not important.
155 channel_->AddFilter(message_filter_.get()); 158 channel_->AddFilter(message_filter_.get());
156 channel_->AddFilter(sync_.get()); 159 channel_->AddFilter(sync_.get());
157 } 160 }
158 161
159 ChromeFrameAutomationProxyImpl::~ChromeFrameAutomationProxyImpl() { 162 ChromeFrameAutomationProxyImpl::~ChromeFrameAutomationProxyImpl() {
160 TRACE_EVENT_END("chromeframe.automationproxy", this, ""); 163 TRACE_EVENT_END("chromeframe.automationproxy", this, "");
(...skipping 103 matching lines...) Expand 10 before | Expand all | Expand 10 after
264 DCHECK(delegate); 267 DCHECK(delegate);
265 DCHECK(params); 268 DCHECK(params);
266 DCHECK(proxy_.get() == NULL); 269 DCHECK(proxy_.get() == NULL);
267 270
268 // We *must* create automationproxy in a thread that has message loop, 271 // We *must* create automationproxy in a thread that has message loop,
269 // since SyncChannel::Context construction registers event to be watched 272 // since SyncChannel::Context construction registers event to be watched
270 // through ObjectWatcher which subscribes for the current thread message loop 273 // through ObjectWatcher which subscribes for the current thread message loop
271 // destruction notification. 274 // destruction notification.
272 275
273 // At same time we must destroy/stop the thread from another thread. 276 // At same time we must destroy/stop the thread from another thread.
277 std::string channel_id = AutomationProxy::GenerateChannelID();
274 ChromeFrameAutomationProxyImpl* proxy = 278 ChromeFrameAutomationProxyImpl* proxy =
275 new ChromeFrameAutomationProxyImpl(this, params->launch_timeout()); 279 new ChromeFrameAutomationProxyImpl(this, channel_id,
280 params->launch_timeout());
276 281
277 // Ensure that the automation proxy actually respects our choice on whether 282 // Ensure that the automation proxy actually respects our choice on whether
278 // or not to check the version. 283 // or not to check the version.
279 proxy->set_perform_version_check(params->version_check()); 284 proxy->set_perform_version_check(params->version_check());
280 285
281 // Launch browser 286 // Launch browser
282 scoped_ptr<CommandLine> command_line( 287 scoped_ptr<CommandLine> command_line(
283 chrome_launcher::CreateLaunchCommandLine()); 288 chrome_launcher::CreateLaunchCommandLine());
284 command_line->AppendSwitchASCII(switches::kAutomationClientChannelID, 289 command_line->AppendSwitchASCII(switches::kAutomationClientChannelID,
285 proxy->channel_id()); 290 channel_id);
286 291
287 // Run Chrome in Chrome Frame mode. In practice, this modifies the paths 292 // Run Chrome in Chrome Frame mode. In practice, this modifies the paths
288 // and registry keys that Chrome looks in via the BrowserDistribution 293 // and registry keys that Chrome looks in via the BrowserDistribution
289 // mechanism. 294 // mechanism.
290 command_line->AppendSwitch(switches::kChromeFrame); 295 command_line->AppendSwitch(switches::kChromeFrame);
291 296
292 // Chrome Frame never wants Chrome to start up with a First Run UI. 297 // Chrome Frame never wants Chrome to start up with a First Run UI.
293 command_line->AppendSwitch(switches::kNoFirstRun); 298 command_line->AppendSwitch(switches::kNoFirstRun);
294 299
295 command_line->AppendSwitch(switches::kDisablePopupBlocking); 300 command_line->AppendSwitch(switches::kDisablePopupBlocking);
(...skipping 1167 matching lines...) Expand 10 before | Expand all | Expand 10 after
1463 const URLRequestStatus& status) { 1468 const URLRequestStatus& status) {
1464 automation_server_->Send(new AutomationMsg_RequestEnd(0, tab_->handle(), 1469 automation_server_->Send(new AutomationMsg_RequestEnd(0, tab_->handle(),
1465 request_id, status)); 1470 request_id, status));
1466 } 1471 }
1467 1472
1468 void ChromeFrameAutomationClient::OnCookiesRetrieved(bool success, 1473 void ChromeFrameAutomationClient::OnCookiesRetrieved(bool success,
1469 const GURL& url, const std::string& cookie_string, int cookie_id) { 1474 const GURL& url, const std::string& cookie_string, int cookie_id) {
1470 automation_server_->Send(new AutomationMsg_GetCookiesHostResponse(0, 1475 automation_server_->Send(new AutomationMsg_GetCookiesHostResponse(0,
1471 tab_->handle(), success, url, cookie_string, cookie_id)); 1476 tab_->handle(), success, url, cookie_string, cookie_id));
1472 } 1477 }
OLDNEW
« no previous file with comments | « chrome_frame/chrome_frame_automation.h ('k') | chrome_frame/test/automation_client_mock.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698