OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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/browser/automation/automation_provider.h" | 5 #include "chrome/browser/automation/automation_provider.h" |
6 | 6 |
7 #include <set> | 7 #include <set> |
8 | 8 |
9 #include "base/bind.h" | 9 #include "base/bind.h" |
10 #include "base/callback.h" | 10 #include "base/callback.h" |
(...skipping 253 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
264 void AutomationProvider::SetExpectedTabCount(size_t expected_tabs) { | 264 void AutomationProvider::SetExpectedTabCount(size_t expected_tabs) { |
265 if (expected_tabs == 0) | 265 if (expected_tabs == 0) |
266 OnInitialTabLoadsComplete(); | 266 OnInitialTabLoadsComplete(); |
267 else | 267 else |
268 initial_load_observer_.reset(new InitialLoadObserver(expected_tabs, this)); | 268 initial_load_observer_.reset(new InitialLoadObserver(expected_tabs, this)); |
269 } | 269 } |
270 | 270 |
271 void AutomationProvider::OnInitialTabLoadsComplete() { | 271 void AutomationProvider::OnInitialTabLoadsComplete() { |
272 initial_tab_loads_complete_ = true; | 272 initial_tab_loads_complete_ = true; |
273 VLOG(2) << "OnInitialTabLoadsComplete"; | 273 VLOG(2) << "OnInitialTabLoadsComplete"; |
274 if (is_connected_ && network_library_initialized_ && login_webui_ready_) | 274 SendInitialLoadMessage(); |
275 Send(new AutomationMsg_InitialLoadsComplete()); | |
276 } | 275 } |
277 | 276 |
278 void AutomationProvider::OnNetworkLibraryInit() { | 277 void AutomationProvider::OnNetworkLibraryInit() { |
279 network_library_initialized_ = true; | 278 network_library_initialized_ = true; |
280 VLOG(2) << "OnNetworkLibraryInit"; | 279 VLOG(2) << "OnNetworkLibraryInit"; |
281 if (is_connected_ && initial_tab_loads_complete_ && login_webui_ready_) | 280 SendInitialLoadMessage(); |
282 Send(new AutomationMsg_InitialLoadsComplete()); | |
283 } | 281 } |
284 | 282 |
285 void AutomationProvider::OnLoginWebuiReady() { | 283 void AutomationProvider::OnLoginWebuiReady() { |
286 login_webui_ready_ = true; | 284 login_webui_ready_ = true; |
287 VLOG(2) << "OnLoginWebuiReady"; | 285 VLOG(2) << "OnLoginWebuiReady"; |
| 286 SendInitialLoadMessage(); |
| 287 } |
| 288 |
| 289 void AutomationProvider::SendInitialLoadMessage() { |
288 if (is_connected_ && initial_tab_loads_complete_ && | 290 if (is_connected_ && initial_tab_loads_complete_ && |
289 network_library_initialized_) | 291 network_library_initialized_ && login_webui_ready_) { |
| 292 LOG(INFO) << "Initial loads complete; sending initial loads message."; |
290 Send(new AutomationMsg_InitialLoadsComplete()); | 293 Send(new AutomationMsg_InitialLoadsComplete()); |
| 294 } |
291 } | 295 } |
292 | 296 |
293 void AutomationProvider::AddLoginHandler(NavigationController* tab, | 297 void AutomationProvider::AddLoginHandler(NavigationController* tab, |
294 LoginHandler* handler) { | 298 LoginHandler* handler) { |
295 login_handler_map_[tab] = handler; | 299 login_handler_map_[tab] = handler; |
296 } | 300 } |
297 | 301 |
298 void AutomationProvider::RemoveLoginHandler(NavigationController* tab) { | 302 void AutomationProvider::RemoveLoginHandler(NavigationController* tab) { |
299 DCHECK(login_handler_map_[tab]); | 303 DCHECK(login_handler_map_[tab]); |
300 login_handler_map_.erase(tab); | 304 login_handler_map_.erase(tab); |
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
369 ExtensionService* service = profile_->GetExtensionService(); | 373 ExtensionService* service = profile_->GetExtensionService(); |
370 if (extension && service && | 374 if (extension && service && |
371 service->GetExtensionById(extension->id(), true) && | 375 service->GetExtensionById(extension->id(), true) && |
372 !service->GetExtensionById(extension->id(), false)) | 376 !service->GetExtensionById(extension->id(), false)) |
373 return extension; | 377 return extension; |
374 return NULL; | 378 return NULL; |
375 } | 379 } |
376 | 380 |
377 void AutomationProvider::OnChannelConnected(int pid) { | 381 void AutomationProvider::OnChannelConnected(int pid) { |
378 is_connected_ = true; | 382 is_connected_ = true; |
379 LOG(INFO) << "Testing channel connected, sending hello message"; | |
380 | 383 |
381 // Send a hello message with our current automation protocol version. | 384 // Send a hello message with our current automation protocol version. |
| 385 LOG(INFO) << "Testing channel connected, sending hello message"; |
382 channel_->Send(new AutomationMsg_Hello(GetProtocolVersion())); | 386 channel_->Send(new AutomationMsg_Hello(GetProtocolVersion())); |
383 if (initial_tab_loads_complete_ && network_library_initialized_ && | 387 |
384 login_webui_ready_) | 388 SendInitialLoadMessage(); |
385 Send(new AutomationMsg_InitialLoadsComplete()); | |
386 } | 389 } |
387 | 390 |
388 void AutomationProvider::OnEndTracingComplete() { | 391 void AutomationProvider::OnEndTracingComplete() { |
389 IPC::Message* reply_message = tracing_data_.reply_message.release(); | 392 IPC::Message* reply_message = tracing_data_.reply_message.release(); |
390 if (reply_message) { | 393 if (reply_message) { |
391 AutomationMsg_EndTracing::WriteReplyParams( | 394 AutomationMsg_EndTracing::WriteReplyParams( |
392 reply_message, tracing_data_.trace_output.size(), true); | 395 reply_message, tracing_data_.trace_output.size(), true); |
393 Send(reply_message); | 396 Send(reply_message); |
394 } | 397 } |
395 } | 398 } |
(...skipping 604 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1000 } | 1003 } |
1001 } | 1004 } |
1002 } | 1005 } |
1003 | 1006 |
1004 void AutomationProvider::SaveAsAsync(int tab_handle) { | 1007 void AutomationProvider::SaveAsAsync(int tab_handle) { |
1005 NavigationController* tab = NULL; | 1008 NavigationController* tab = NULL; |
1006 WebContents* web_contents = GetWebContentsForHandle(tab_handle, &tab); | 1009 WebContents* web_contents = GetWebContentsForHandle(tab_handle, &tab); |
1007 if (web_contents) | 1010 if (web_contents) |
1008 web_contents->OnSavePage(); | 1011 web_contents->OnSavePage(); |
1009 } | 1012 } |
OLD | NEW |