| OLD | NEW |
| 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/browser/automation/testing_automation_provider.h" | 5 #include "chrome/browser/automation/testing_automation_provider.h" |
| 6 | 6 |
| 7 #include "app/message_box_flags.h" | 7 #include "app/message_box_flags.h" |
| 8 #include "base/command_line.h" | 8 #include "base/command_line.h" |
| 9 #include "base/json/json_reader.h" | 9 #include "base/json/json_reader.h" |
| 10 #include "base/json/json_writer.h" | 10 #include "base/json/json_writer.h" |
| (...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 58 #include "chrome/common/chrome_constants.h" | 58 #include "chrome/common/chrome_constants.h" |
| 59 #include "chrome/common/chrome_paths.h" | 59 #include "chrome/common/chrome_paths.h" |
| 60 #include "chrome/common/chrome_switches.h" | 60 #include "chrome/common/chrome_switches.h" |
| 61 #include "chrome/common/net/url_request_context_getter.h" | 61 #include "chrome/common/net/url_request_context_getter.h" |
| 62 #include "chrome/common/notification_service.h" | 62 #include "chrome/common/notification_service.h" |
| 63 #include "chrome/common/url_constants.h" | 63 #include "chrome/common/url_constants.h" |
| 64 #include "chrome/browser/notifications/balloon.h" | 64 #include "chrome/browser/notifications/balloon.h" |
| 65 #include "chrome/browser/notifications/balloon_collection.h" | 65 #include "chrome/browser/notifications/balloon_collection.h" |
| 66 #include "chrome/browser/notifications/notification.h" | 66 #include "chrome/browser/notifications/notification.h" |
| 67 #include "chrome/browser/notifications/notification_ui_manager.h" | 67 #include "chrome/browser/notifications/notification_ui_manager.h" |
| 68 #include "chrome/common/automation_messages.h" | 68 #include "chrome/test/automation/automation_messages.h" |
| 69 #include "net/base/cookie_store.h" | 69 #include "net/base/cookie_store.h" |
| 70 #include "net/url_request/url_request_context.h" | 70 #include "net/url_request/url_request_context.h" |
| 71 #include "views/event.h" | 71 #include "views/event.h" |
| 72 #include "webkit/glue/plugins/plugin_list.h" | 72 #include "webkit/glue/plugins/plugin_list.h" |
| 73 | 73 |
| 74 namespace { | 74 namespace { |
| 75 | 75 |
| 76 class GetCookiesTask : public Task { | 76 class GetCookiesTask : public Task { |
| 77 public: | 77 public: |
| 78 GetCookiesTask(const GURL& url, | 78 GetCookiesTask(const GURL& url, |
| (...skipping 1266 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1345 *success = false; | 1345 *success = false; |
| 1346 *security_style = SECURITY_STYLE_UNKNOWN; | 1346 *security_style = SECURITY_STYLE_UNKNOWN; |
| 1347 *ssl_cert_status = 0; | 1347 *ssl_cert_status = 0; |
| 1348 *insecure_content_status = 0; | 1348 *insecure_content_status = 0; |
| 1349 } | 1349 } |
| 1350 } | 1350 } |
| 1351 | 1351 |
| 1352 void TestingAutomationProvider::GetPageType( | 1352 void TestingAutomationProvider::GetPageType( |
| 1353 int handle, | 1353 int handle, |
| 1354 bool* success, | 1354 bool* success, |
| 1355 PageType* page_type) { | 1355 NavigationEntry::PageType* page_type) { |
| 1356 if (tab_tracker_->ContainsHandle(handle)) { | 1356 if (tab_tracker_->ContainsHandle(handle)) { |
| 1357 NavigationController* tab = tab_tracker_->GetResource(handle); | 1357 NavigationController* tab = tab_tracker_->GetResource(handle); |
| 1358 NavigationEntry* entry = tab->GetActiveEntry(); | 1358 NavigationEntry* entry = tab->GetActiveEntry(); |
| 1359 *page_type = entry->page_type(); | 1359 *page_type = entry->page_type(); |
| 1360 *success = true; | 1360 *success = true; |
| 1361 // In order to return the proper result when an interstitial is shown and | 1361 // In order to return the proper result when an interstitial is shown and |
| 1362 // no navigation entry were created for it we need to ask the TabContents. | 1362 // no navigation entry were created for it we need to ask the TabContents. |
| 1363 if (*page_type == NORMAL_PAGE && | 1363 if (*page_type == NavigationEntry::NORMAL_PAGE && |
| 1364 tab->tab_contents()->showing_interstitial_page()) | 1364 tab->tab_contents()->showing_interstitial_page()) |
| 1365 *page_type = INTERSTITIAL_PAGE; | 1365 *page_type = NavigationEntry::INTERSTITIAL_PAGE; |
| 1366 } else { | 1366 } else { |
| 1367 *success = false; | 1367 *success = false; |
| 1368 *page_type = NORMAL_PAGE; | 1368 *page_type = NavigationEntry::NORMAL_PAGE; |
| 1369 } | 1369 } |
| 1370 } | 1370 } |
| 1371 | 1371 |
| 1372 void TestingAutomationProvider::GetMetricEventDuration( | 1372 void TestingAutomationProvider::GetMetricEventDuration( |
| 1373 const std::string& event_name, | 1373 const std::string& event_name, |
| 1374 int* duration_ms) { | 1374 int* duration_ms) { |
| 1375 *duration_ms = metric_event_duration_observer_->GetEventDurationMs( | 1375 *duration_ms = metric_event_duration_observer_->GetEventDurationMs( |
| 1376 event_name); | 1376 event_name); |
| 1377 } | 1377 } |
| 1378 | 1378 |
| 1379 void TestingAutomationProvider::ActionOnSSLBlockingPage( | 1379 void TestingAutomationProvider::ActionOnSSLBlockingPage( |
| 1380 int handle, | 1380 int handle, |
| 1381 bool proceed, | 1381 bool proceed, |
| 1382 IPC::Message* reply_message) { | 1382 IPC::Message* reply_message) { |
| 1383 if (tab_tracker_->ContainsHandle(handle)) { | 1383 if (tab_tracker_->ContainsHandle(handle)) { |
| 1384 NavigationController* tab = tab_tracker_->GetResource(handle); | 1384 NavigationController* tab = tab_tracker_->GetResource(handle); |
| 1385 NavigationEntry* entry = tab->GetActiveEntry(); | 1385 NavigationEntry* entry = tab->GetActiveEntry(); |
| 1386 if (entry->page_type() == INTERSTITIAL_PAGE) { | 1386 if (entry->page_type() == NavigationEntry::INTERSTITIAL_PAGE) { |
| 1387 TabContents* tab_contents = tab->tab_contents(); | 1387 TabContents* tab_contents = tab->tab_contents(); |
| 1388 InterstitialPage* ssl_blocking_page = | 1388 InterstitialPage* ssl_blocking_page = |
| 1389 InterstitialPage::GetInterstitialPage(tab_contents); | 1389 InterstitialPage::GetInterstitialPage(tab_contents); |
| 1390 if (ssl_blocking_page) { | 1390 if (ssl_blocking_page) { |
| 1391 if (proceed) { | 1391 if (proceed) { |
| 1392 AddNavigationStatusListener(tab, reply_message, 1, false); | 1392 AddNavigationStatusListener(tab, reply_message, 1, false); |
| 1393 ssl_blocking_page->Proceed(); | 1393 ssl_blocking_page->Proceed(); |
| 1394 return; | 1394 return; |
| 1395 } | 1395 } |
| 1396 ssl_blocking_page->DontProceed(); | 1396 ssl_blocking_page->DontProceed(); |
| (...skipping 1054 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2451 | 2451 |
| 2452 NavigationEntry::SSLStatus ssl_status = nav_entry->ssl(); | 2452 NavigationEntry::SSLStatus ssl_status = nav_entry->ssl(); |
| 2453 ssl->SetString("security_style", | 2453 ssl->SetString("security_style", |
| 2454 style_to_string[ssl_status.security_style()]); | 2454 style_to_string[ssl_status.security_style()]); |
| 2455 ssl->SetBoolean("ran_insecure_content", ssl_status.ran_insecure_content()); | 2455 ssl->SetBoolean("ran_insecure_content", ssl_status.ran_insecure_content()); |
| 2456 ssl->SetBoolean("displayed_insecure_content", | 2456 ssl->SetBoolean("displayed_insecure_content", |
| 2457 ssl_status.displayed_insecure_content()); | 2457 ssl_status.displayed_insecure_content()); |
| 2458 return_value->Set("ssl", ssl); | 2458 return_value->Set("ssl", ssl); |
| 2459 | 2459 |
| 2460 // Page type. | 2460 // Page type. |
| 2461 std::map<PageType, std::string> pagetype_to_string; | 2461 std::map<NavigationEntry::PageType, std::string> pagetype_to_string; |
| 2462 pagetype_to_string[NORMAL_PAGE] = "NORMAL_PAGE"; | 2462 pagetype_to_string[NavigationEntry::NORMAL_PAGE] = "NORMAL_PAGE"; |
| 2463 pagetype_to_string[ERROR_PAGE] = "ERROR_PAGE"; | 2463 pagetype_to_string[NavigationEntry::ERROR_PAGE] = "ERROR_PAGE"; |
| 2464 pagetype_to_string[INTERSTITIAL_PAGE] = "INTERSTITIAL_PAGE"; | 2464 pagetype_to_string[NavigationEntry::INTERSTITIAL_PAGE] = "INTERSTITIAL_PAGE"; |
| 2465 return_value->SetString("page_type", | 2465 return_value->SetString("page_type", |
| 2466 pagetype_to_string[nav_entry->page_type()]); | 2466 pagetype_to_string[nav_entry->page_type()]); |
| 2467 | 2467 |
| 2468 return_value->SetString("favicon_url", nav_entry->favicon().url().spec()); | 2468 return_value->SetString("favicon_url", nav_entry->favicon().url().spec()); |
| 2469 reply.SendSuccess(return_value.get()); | 2469 reply.SendSuccess(return_value.get()); |
| 2470 } | 2470 } |
| 2471 | 2471 |
| 2472 // Sample json input: { "command": "GetHistoryInfo", | 2472 // Sample json input: { "command": "GetHistoryInfo", |
| 2473 // "search_text": "some text" } | 2473 // "search_text": "some text" } |
| 2474 // Refer chrome/test/pyautolib/history_info.py for sample json output. | 2474 // Refer chrome/test/pyautolib/history_info.py for sample json output. |
| (...skipping 1736 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4211 DCHECK(type == NotificationType::SESSION_END); | 4211 DCHECK(type == NotificationType::SESSION_END); |
| 4212 // OnBrowserRemoved does a ReleaseLater. When session end is received we exit | 4212 // OnBrowserRemoved does a ReleaseLater. When session end is received we exit |
| 4213 // before the task runs resulting in this object not being deleted. This | 4213 // before the task runs resulting in this object not being deleted. This |
| 4214 // Release balance out the Release scheduled by OnBrowserRemoved. | 4214 // Release balance out the Release scheduled by OnBrowserRemoved. |
| 4215 Release(); | 4215 Release(); |
| 4216 } | 4216 } |
| 4217 | 4217 |
| 4218 void TestingAutomationProvider::OnRemoveProvider() { | 4218 void TestingAutomationProvider::OnRemoveProvider() { |
| 4219 AutomationProviderList::GetInstance()->RemoveProvider(this); | 4219 AutomationProviderList::GetInstance()->RemoveProvider(this); |
| 4220 } | 4220 } |
| OLD | NEW |