| 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/testing_automation_provider.h" | 5 #include "chrome/browser/automation/testing_automation_provider.h" |
| 6 | 6 |
| 7 #include <map> | 7 #include <map> |
| 8 #include <set> | 8 #include <set> |
| 9 #include <string> | 9 #include <string> |
| 10 #include <vector> | 10 #include <vector> |
| (...skipping 3397 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3408 import_settings_data_.browser = browser; | 3408 import_settings_data_.browser = browser; |
| 3409 import_settings_data_.reply_message = reply_message; | 3409 import_settings_data_.reply_message = reply_message; |
| 3410 | 3410 |
| 3411 importer_list_ = new ImporterList(NULL); | 3411 importer_list_ = new ImporterList(NULL); |
| 3412 importer_list_->DetectSourceProfiles(this); | 3412 importer_list_->DetectSourceProfiles(this); |
| 3413 } | 3413 } |
| 3414 | 3414 |
| 3415 namespace { | 3415 namespace { |
| 3416 | 3416 |
| 3417 // Translates a dictionary password to a PasswordForm struct. | 3417 // Translates a dictionary password to a PasswordForm struct. |
| 3418 webkit::forms::PasswordForm GetPasswordFormFromDict( | 3418 content::PasswordForm GetPasswordFormFromDict( |
| 3419 const DictionaryValue& password_dict) { | 3419 const DictionaryValue& password_dict) { |
| 3420 | 3420 |
| 3421 // If the time is specified, change time to the specified time. | 3421 // If the time is specified, change time to the specified time. |
| 3422 base::Time time = base::Time::Now(); | 3422 base::Time time = base::Time::Now(); |
| 3423 int it; | 3423 int it; |
| 3424 double dt; | 3424 double dt; |
| 3425 if (password_dict.GetInteger("time", &it)) | 3425 if (password_dict.GetInteger("time", &it)) |
| 3426 time = base::Time::FromTimeT(it); | 3426 time = base::Time::FromTimeT(it); |
| 3427 else if (password_dict.GetDouble("time", &dt)) | 3427 else if (password_dict.GetDouble("time", &dt)) |
| 3428 time = base::Time::FromDoubleT(dt); | 3428 time = base::Time::FromDoubleT(dt); |
| (...skipping 19 matching lines...) Expand all Loading... |
| 3448 password_dict.GetString("username_element", &username_element); | 3448 password_dict.GetString("username_element", &username_element); |
| 3449 password_dict.GetString("password_element", &password_element); | 3449 password_dict.GetString("password_element", &password_element); |
| 3450 password_dict.GetString("submit_element", &submit_element); | 3450 password_dict.GetString("submit_element", &submit_element); |
| 3451 password_dict.GetString("action_target", &action_target_text); | 3451 password_dict.GetString("action_target", &action_target_text); |
| 3452 if (!password_dict.GetBoolean("blacklist", &blacklist)) | 3452 if (!password_dict.GetBoolean("blacklist", &blacklist)) |
| 3453 blacklist = false; | 3453 blacklist = false; |
| 3454 | 3454 |
| 3455 GURL origin_gurl(origin_url_text); | 3455 GURL origin_gurl(origin_url_text); |
| 3456 GURL action_target(action_target_text); | 3456 GURL action_target(action_target_text); |
| 3457 | 3457 |
| 3458 webkit::forms::PasswordForm password_form; | 3458 content::PasswordForm password_form; |
| 3459 password_form.signon_realm = signon_realm; | 3459 password_form.signon_realm = signon_realm; |
| 3460 password_form.username_value = username_value; | 3460 password_form.username_value = username_value; |
| 3461 password_form.password_value = password_value; | 3461 password_form.password_value = password_value; |
| 3462 password_form.origin = origin_gurl; | 3462 password_form.origin = origin_gurl; |
| 3463 password_form.username_element = username_element; | 3463 password_form.username_element = username_element; |
| 3464 password_form.password_element = password_element; | 3464 password_form.password_element = password_element; |
| 3465 password_form.submit_element = submit_element; | 3465 password_form.submit_element = submit_element; |
| 3466 password_form.action = action_target; | 3466 password_form.action = action_target; |
| 3467 password_form.blacklisted_by_user = blacklist; | 3467 password_form.blacklisted_by_user = blacklist; |
| 3468 password_form.date_created = time; | 3468 password_form.date_created = time; |
| (...skipping 18 matching lines...) Expand all Loading... |
| 3487 } | 3487 } |
| 3488 | 3488 |
| 3489 // The "signon realm" is effectively the primary key and must be included. | 3489 // The "signon realm" is effectively the primary key and must be included. |
| 3490 // Check here before calling GetPasswordFormFromDict. | 3490 // Check here before calling GetPasswordFormFromDict. |
| 3491 if (!password_dict->HasKey("signon_realm")) { | 3491 if (!password_dict->HasKey("signon_realm")) { |
| 3492 AutomationJSONReply(this, reply_message).SendError( | 3492 AutomationJSONReply(this, reply_message).SendError( |
| 3493 "Password must include a value for 'signon_realm.'"); | 3493 "Password must include a value for 'signon_realm.'"); |
| 3494 return; | 3494 return; |
| 3495 } | 3495 } |
| 3496 | 3496 |
| 3497 webkit::forms::PasswordForm new_password = | 3497 content::PasswordForm new_password = |
| 3498 GetPasswordFormFromDict(*password_dict); | 3498 GetPasswordFormFromDict(*password_dict); |
| 3499 | 3499 |
| 3500 // Use IMPLICIT_ACCESS since new passwords aren't added in incognito mode. | 3500 // Use IMPLICIT_ACCESS since new passwords aren't added in incognito mode. |
| 3501 PasswordStore* password_store = PasswordStoreFactory::GetForProfile( | 3501 PasswordStore* password_store = PasswordStoreFactory::GetForProfile( |
| 3502 browser->profile(), Profile::IMPLICIT_ACCESS); | 3502 browser->profile(), Profile::IMPLICIT_ACCESS); |
| 3503 | 3503 |
| 3504 // The password store does not exist for an incognito window. | 3504 // The password store does not exist for an incognito window. |
| 3505 if (password_store == NULL) { | 3505 if (password_store == NULL) { |
| 3506 scoped_ptr<DictionaryValue> return_value(new DictionaryValue); | 3506 scoped_ptr<DictionaryValue> return_value(new DictionaryValue); |
| 3507 return_value->SetBoolean("password_added", false); | 3507 return_value->SetBoolean("password_added", false); |
| (...skipping 25 matching lines...) Expand all Loading... |
| 3533 return; | 3533 return; |
| 3534 } | 3534 } |
| 3535 | 3535 |
| 3536 // The "signon realm" is effectively the primary key and must be included. | 3536 // The "signon realm" is effectively the primary key and must be included. |
| 3537 // Check here before calling GetPasswordFormFromDict. | 3537 // Check here before calling GetPasswordFormFromDict. |
| 3538 if (!password_dict->HasKey("signon_realm")) { | 3538 if (!password_dict->HasKey("signon_realm")) { |
| 3539 AutomationJSONReply(this, reply_message).SendError( | 3539 AutomationJSONReply(this, reply_message).SendError( |
| 3540 "Password must include a value for 'signon_realm.'"); | 3540 "Password must include a value for 'signon_realm.'"); |
| 3541 return; | 3541 return; |
| 3542 } | 3542 } |
| 3543 webkit::forms::PasswordForm to_remove = | 3543 content::PasswordForm to_remove = |
| 3544 GetPasswordFormFromDict(*password_dict); | 3544 GetPasswordFormFromDict(*password_dict); |
| 3545 | 3545 |
| 3546 // Use EXPLICIT_ACCESS since passwords can be removed in incognito mode. | 3546 // Use EXPLICIT_ACCESS since passwords can be removed in incognito mode. |
| 3547 PasswordStore* password_store = PasswordStoreFactory::GetForProfile( | 3547 PasswordStore* password_store = PasswordStoreFactory::GetForProfile( |
| 3548 browser->profile(), Profile::EXPLICIT_ACCESS); | 3548 browser->profile(), Profile::EXPLICIT_ACCESS); |
| 3549 if (password_store == NULL) { | 3549 if (password_store == NULL) { |
| 3550 AutomationJSONReply(this, reply_message).SendError( | 3550 AutomationJSONReply(this, reply_message).SendError( |
| 3551 "Unable to get password store."); | 3551 "Unable to get password store."); |
| 3552 return; | 3552 return; |
| 3553 } | 3553 } |
| (...skipping 2791 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 6345 void TestingAutomationProvider::OnRemoveProvider() { | 6345 void TestingAutomationProvider::OnRemoveProvider() { |
| 6346 if (g_browser_process) | 6346 if (g_browser_process) |
| 6347 g_browser_process->GetAutomationProviderList()->RemoveProvider(this); | 6347 g_browser_process->GetAutomationProviderList()->RemoveProvider(this); |
| 6348 } | 6348 } |
| 6349 | 6349 |
| 6350 void TestingAutomationProvider::EnsureTabSelected(Browser* browser, | 6350 void TestingAutomationProvider::EnsureTabSelected(Browser* browser, |
| 6351 WebContents* tab) { | 6351 WebContents* tab) { |
| 6352 if (chrome::GetActiveWebContents(browser) != tab) | 6352 if (chrome::GetActiveWebContents(browser) != tab) |
| 6353 chrome::ActivateTabAt(browser, chrome::GetIndexOfTab(browser, tab), true); | 6353 chrome::ActivateTabAt(browser, chrome::GetIndexOfTab(browser, tab), true); |
| 6354 } | 6354 } |
| OLD | NEW |