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/automation_provider_observers.h" | 5 #include "chrome/browser/automation/automation_provider_observers.h" |
6 | 6 |
7 #include "base/basictypes.h" | 7 #include "base/basictypes.h" |
8 #include "base/json/json_writer.h" | 8 #include "base/json/json_writer.h" |
9 #include "base/string_util.h" | 9 #include "base/string_util.h" |
10 #include "chrome/app/chrome_dll_resource.h" | 10 #include "chrome/app/chrome_dll_resource.h" |
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
93 } | 93 } |
94 | 94 |
95 DictionaryValue* InitialLoadObserver::GetTimingInformation() const { | 95 DictionaryValue* InitialLoadObserver::GetTimingInformation() const { |
96 ListValue* items = new ListValue; | 96 ListValue* items = new ListValue; |
97 for (TabTimeMap::const_iterator it = loading_tabs_.begin(); | 97 for (TabTimeMap::const_iterator it = loading_tabs_.begin(); |
98 it != loading_tabs_.end(); | 98 it != loading_tabs_.end(); |
99 ++it) { | 99 ++it) { |
100 DictionaryValue* item = new DictionaryValue; | 100 DictionaryValue* item = new DictionaryValue; |
101 base::TimeDelta delta_start = it->second.start_time() - init_time_; | 101 base::TimeDelta delta_start = it->second.start_time() - init_time_; |
102 | 102 |
103 item->SetReal(L"load_start_ms", delta_start.InMillisecondsF()); | 103 item->SetReal("load_start_ms", delta_start.InMillisecondsF()); |
104 if (it->second.stop_time().is_null()) { | 104 if (it->second.stop_time().is_null()) { |
105 item->Set(L"load_stop_ms", Value::CreateNullValue()); | 105 item->Set("load_stop_ms", Value::CreateNullValue()); |
106 } else { | 106 } else { |
107 base::TimeDelta delta_stop = it->second.stop_time() - init_time_; | 107 base::TimeDelta delta_stop = it->second.stop_time() - init_time_; |
108 item->SetReal(L"load_stop_ms", delta_stop.InMillisecondsF()); | 108 item->SetReal("load_stop_ms", delta_stop.InMillisecondsF()); |
109 } | 109 } |
110 items->Append(item); | 110 items->Append(item); |
111 } | 111 } |
112 DictionaryValue* return_value = new DictionaryValue; | 112 DictionaryValue* return_value = new DictionaryValue; |
113 return_value->Set(L"tabs", items); | 113 return_value->Set("tabs", items); |
114 return return_value; | 114 return return_value; |
115 } | 115 } |
116 | 116 |
117 void InitialLoadObserver::ConditionMet() { | 117 void InitialLoadObserver::ConditionMet() { |
118 registrar_.RemoveAll(); | 118 registrar_.RemoveAll(); |
119 automation_->Send(new AutomationMsg_InitialLoadsComplete(0)); | 119 automation_->Send(new AutomationMsg_InitialLoadsComplete(0)); |
120 } | 120 } |
121 | 121 |
122 NewTabUILoadObserver::NewTabUILoadObserver(AutomationProvider* automation) | 122 NewTabUILoadObserver::NewTabUILoadObserver(AutomationProvider* automation) |
123 : automation_(automation) { | 123 : automation_(automation) { |
(...skipping 819 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
943 void PageTranslatedObserver::Observe(NotificationType type, | 943 void PageTranslatedObserver::Observe(NotificationType type, |
944 const NotificationSource& source, | 944 const NotificationSource& source, |
945 const NotificationDetails& details) { | 945 const NotificationDetails& details) { |
946 DCHECK(type == NotificationType::PAGE_TRANSLATED); | 946 DCHECK(type == NotificationType::PAGE_TRANSLATED); |
947 AutomationJSONReply reply(automation_, reply_message_); | 947 AutomationJSONReply reply(automation_, reply_message_); |
948 | 948 |
949 PageTranslatedDetails* translated_details = | 949 PageTranslatedDetails* translated_details = |
950 Details<PageTranslatedDetails>(details).ptr(); | 950 Details<PageTranslatedDetails>(details).ptr(); |
951 scoped_ptr<DictionaryValue> return_value(new DictionaryValue); | 951 scoped_ptr<DictionaryValue> return_value(new DictionaryValue); |
952 return_value->SetBoolean( | 952 return_value->SetBoolean( |
953 L"translation_success", | 953 "translation_success", |
954 translated_details->error_type == TranslateErrors::NONE); | 954 translated_details->error_type == TranslateErrors::NONE); |
955 reply.SendSuccess(return_value.get()); | 955 reply.SendSuccess(return_value.get()); |
956 delete this; | 956 delete this; |
957 } | 957 } |
958 | 958 |
959 TabLanguageDeterminedObserver::TabLanguageDeterminedObserver( | 959 TabLanguageDeterminedObserver::TabLanguageDeterminedObserver( |
960 AutomationProvider* automation, IPC::Message* reply_message, | 960 AutomationProvider* automation, IPC::Message* reply_message, |
961 TabContents* tab_contents, TranslateInfoBarDelegate* translate_bar) | 961 TabContents* tab_contents, TranslateInfoBarDelegate* translate_bar) |
962 : automation_(automation), | 962 : automation_(automation), |
963 reply_message_(reply_message), | 963 reply_message_(reply_message), |
964 tab_contents_(tab_contents), | 964 tab_contents_(tab_contents), |
965 translate_bar_(translate_bar) { | 965 translate_bar_(translate_bar) { |
966 registrar_.Add(this, NotificationType::TAB_LANGUAGE_DETERMINED, | 966 registrar_.Add(this, NotificationType::TAB_LANGUAGE_DETERMINED, |
967 Source<TabContents>(tab_contents)); | 967 Source<TabContents>(tab_contents)); |
968 } | 968 } |
969 | 969 |
970 void TabLanguageDeterminedObserver::Observe( | 970 void TabLanguageDeterminedObserver::Observe( |
971 NotificationType type, const NotificationSource& source, | 971 NotificationType type, const NotificationSource& source, |
972 const NotificationDetails& details) { | 972 const NotificationDetails& details) { |
973 DCHECK(type == NotificationType::TAB_LANGUAGE_DETERMINED); | 973 DCHECK(type == NotificationType::TAB_LANGUAGE_DETERMINED); |
974 | 974 |
975 scoped_ptr<DictionaryValue> return_value(new DictionaryValue); | 975 scoped_ptr<DictionaryValue> return_value(new DictionaryValue); |
976 return_value->SetBoolean(L"page_translated", | 976 return_value->SetBoolean("page_translated", |
977 tab_contents_->language_state().IsPageTranslated()); | 977 tab_contents_->language_state().IsPageTranslated()); |
978 return_value->SetBoolean( | 978 return_value->SetBoolean( |
979 L"can_translate_page", TranslatePrefs::CanTranslate( | 979 "can_translate_page", TranslatePrefs::CanTranslate( |
980 automation_->profile()->GetPrefs(), | 980 automation_->profile()->GetPrefs(), |
981 tab_contents_->language_state().original_language(), | 981 tab_contents_->language_state().original_language(), |
982 tab_contents_->GetURL())); | 982 tab_contents_->GetURL())); |
983 return_value->SetString( | 983 return_value->SetString( |
984 L"original_language", | 984 "original_language", |
985 tab_contents_->language_state().original_language()); | 985 tab_contents_->language_state().original_language()); |
986 if (translate_bar_) { | 986 if (translate_bar_) { |
987 DictionaryValue* bar_info = new DictionaryValue; | 987 DictionaryValue* bar_info = new DictionaryValue; |
988 std::map<TranslateInfoBarDelegate::Type, std::string> type_to_string; | 988 std::map<TranslateInfoBarDelegate::Type, std::string> type_to_string; |
989 type_to_string[TranslateInfoBarDelegate::BEFORE_TRANSLATE] = | 989 type_to_string[TranslateInfoBarDelegate::BEFORE_TRANSLATE] = |
990 "BEFORE_TRANSLATE"; | 990 "BEFORE_TRANSLATE"; |
991 type_to_string[TranslateInfoBarDelegate::TRANSLATING] = | 991 type_to_string[TranslateInfoBarDelegate::TRANSLATING] = |
992 "TRANSLATING"; | 992 "TRANSLATING"; |
993 type_to_string[TranslateInfoBarDelegate::AFTER_TRANSLATE] = | 993 type_to_string[TranslateInfoBarDelegate::AFTER_TRANSLATE] = |
994 "AFTER_TRANSLATE"; | 994 "AFTER_TRANSLATE"; |
995 type_to_string[TranslateInfoBarDelegate::TRANSLATION_ERROR] = | 995 type_to_string[TranslateInfoBarDelegate::TRANSLATION_ERROR] = |
996 "TRANSLATION_ERROR"; | 996 "TRANSLATION_ERROR"; |
997 | 997 |
998 bar_info->SetString(L"bar_state", type_to_string[translate_bar_->type()]); | 998 bar_info->SetString("bar_state", type_to_string[translate_bar_->type()]); |
999 bar_info->SetString(L"target_lang_code", | 999 bar_info->SetString("target_lang_code", |
1000 translate_bar_->GetTargetLanguageCode()); | 1000 translate_bar_->GetTargetLanguageCode()); |
1001 bar_info->SetString(L"original_lang_code", | 1001 bar_info->SetString("original_lang_code", |
1002 translate_bar_->GetOriginalLanguageCode()); | 1002 translate_bar_->GetOriginalLanguageCode()); |
1003 return_value->Set(L"translate_bar", bar_info); | 1003 return_value->Set("translate_bar", bar_info); |
1004 } | 1004 } |
1005 AutomationJSONReply(automation_, reply_message_) | 1005 AutomationJSONReply(automation_, reply_message_) |
1006 .SendSuccess(return_value.get()); | 1006 .SendSuccess(return_value.get()); |
1007 delete this; | 1007 delete this; |
1008 } | 1008 } |
1009 | 1009 |
1010 #if defined(OS_CHROMEOS) | 1010 #if defined(OS_CHROMEOS) |
1011 LoginManagerObserver::LoginManagerObserver( | 1011 LoginManagerObserver::LoginManagerObserver( |
1012 AutomationProvider* automation, | 1012 AutomationProvider* automation, |
1013 IPC::Message* reply_message) | 1013 IPC::Message* reply_message) |
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1062 | 1062 |
1063 void AutomationProviderHistoryObserver::HistoryQueryComplete( | 1063 void AutomationProviderHistoryObserver::HistoryQueryComplete( |
1064 HistoryService::Handle request_handle, | 1064 HistoryService::Handle request_handle, |
1065 history::QueryResults* results) { | 1065 history::QueryResults* results) { |
1066 scoped_ptr<DictionaryValue> return_value(new DictionaryValue); | 1066 scoped_ptr<DictionaryValue> return_value(new DictionaryValue); |
1067 | 1067 |
1068 ListValue* history_list = new ListValue; | 1068 ListValue* history_list = new ListValue; |
1069 for (size_t i = 0; i < results->size(); ++i) { | 1069 for (size_t i = 0; i < results->size(); ++i) { |
1070 DictionaryValue* page_value = new DictionaryValue; | 1070 DictionaryValue* page_value = new DictionaryValue; |
1071 history::URLResult const &page = (*results)[i]; | 1071 history::URLResult const &page = (*results)[i]; |
1072 page_value->SetStringFromUTF16(L"title", page.title()); | 1072 page_value->SetString("title", page.title()); |
1073 page_value->SetString(L"url", page.url().spec()); | 1073 page_value->SetString("url", page.url().spec()); |
1074 page_value->SetReal(L"time", | 1074 page_value->SetReal("time", |
1075 static_cast<double>(page.visit_time().ToDoubleT())); | 1075 static_cast<double>(page.visit_time().ToDoubleT())); |
1076 page_value->SetStringFromUTF16(L"snippet", page.snippet().text()); | 1076 page_value->SetString("snippet", page.snippet().text()); |
1077 page_value->SetBoolean( | 1077 page_value->SetBoolean( |
1078 L"starred", | 1078 "starred", |
1079 provider_->profile()->GetBookmarkModel()->IsBookmarked(page.url())); | 1079 provider_->profile()->GetBookmarkModel()->IsBookmarked(page.url())); |
1080 history_list->Append(page_value); | 1080 history_list->Append(page_value); |
1081 } | 1081 } |
1082 | 1082 |
1083 return_value->Set(L"history", history_list); | 1083 return_value->Set("history", history_list); |
1084 // Return history info. | 1084 // Return history info. |
1085 AutomationJSONReply reply(provider_, reply_message_); | 1085 AutomationJSONReply reply(provider_, reply_message_); |
1086 reply.SendSuccess(return_value.get()); | 1086 reply.SendSuccess(return_value.get()); |
1087 delete this; | 1087 delete this; |
1088 } | 1088 } |
1089 | 1089 |
1090 void AutomationProviderImportSettingsObserver::ImportEnded() { | 1090 void AutomationProviderImportSettingsObserver::ImportEnded() { |
1091 // Send back an empty success message. | 1091 // Send back an empty success message. |
1092 AutomationJSONReply(provider_, reply_message_).SendSuccess(NULL); | 1092 AutomationJSONReply(provider_, reply_message_).SendSuccess(NULL); |
1093 delete this; | 1093 delete this; |
1094 } | 1094 } |
1095 | 1095 |
1096 void AutomationProviderGetPasswordsObserver::OnPasswordStoreRequestDone( | 1096 void AutomationProviderGetPasswordsObserver::OnPasswordStoreRequestDone( |
1097 int handle, const std::vector<webkit_glue::PasswordForm*>& result) { | 1097 int handle, const std::vector<webkit_glue::PasswordForm*>& result) { |
1098 scoped_ptr<DictionaryValue> return_value(new DictionaryValue); | 1098 scoped_ptr<DictionaryValue> return_value(new DictionaryValue); |
1099 | 1099 |
1100 ListValue* passwords = new ListValue; | 1100 ListValue* passwords = new ListValue; |
1101 for (std::vector<webkit_glue::PasswordForm*>::const_iterator it = | 1101 for (std::vector<webkit_glue::PasswordForm*>::const_iterator it = |
1102 result.begin(); it != result.end(); ++it) { | 1102 result.begin(); it != result.end(); ++it) { |
1103 DictionaryValue* password_val = new DictionaryValue; | 1103 DictionaryValue* password_val = new DictionaryValue; |
1104 webkit_glue::PasswordForm* password_form = *it; | 1104 webkit_glue::PasswordForm* password_form = *it; |
1105 password_val->SetStringFromUTF16(L"username_value", | 1105 password_val->SetString("username_value", password_form->username_value); |
1106 password_form->username_value); | 1106 password_val->SetString("password_value", password_form->password_value); |
1107 password_val->SetStringFromUTF16(L"password_value", | 1107 password_val->SetString("signon_realm", password_form->signon_realm); |
1108 password_form->password_value); | |
1109 password_val->SetString(L"signon_realm", password_form->signon_realm); | |
1110 password_val->SetReal( | 1108 password_val->SetReal( |
1111 L"time", static_cast<double>( | 1109 "time", static_cast<double>(password_form->date_created.ToDoubleT())); |
1112 password_form->date_created.ToDoubleT())); | 1110 password_val->SetString("origin_url", password_form->origin.spec()); |
1113 password_val->SetString(L"origin_url", password_form->origin.spec()); | 1111 password_val->SetString("username_element", |
1114 password_val->SetStringFromUTF16(L"username_element", | 1112 password_form->username_element); |
1115 password_form->username_element); | 1113 password_val->SetString("password_element", |
1116 password_val->SetStringFromUTF16(L"password_element", | 1114 password_form->password_element); |
1117 password_form->password_element); | 1115 password_val->SetString("submit_element", |
1118 password_val->SetStringFromUTF16(L"submit_element", | |
1119 password_form->submit_element); | 1116 password_form->submit_element); |
1120 password_val->SetString(L"action_target", password_form->action.spec()); | 1117 password_val->SetString("action_target", password_form->action.spec()); |
1121 password_val->SetBoolean(L"blacklist", password_form->blacklisted_by_user); | 1118 password_val->SetBoolean("blacklist", password_form->blacklisted_by_user); |
1122 passwords->Append(password_val); | 1119 passwords->Append(password_val); |
1123 } | 1120 } |
1124 | 1121 |
1125 return_value->Set(L"passwords", passwords); | 1122 return_value->Set("passwords", passwords); |
1126 AutomationJSONReply(provider_, reply_message_).SendSuccess( | 1123 AutomationJSONReply(provider_, reply_message_).SendSuccess( |
1127 return_value.get()); | 1124 return_value.get()); |
1128 delete this; | 1125 delete this; |
1129 } | 1126 } |
1130 | 1127 |
1131 void AutomationProviderBrowsingDataObserver::OnBrowsingDataRemoverDone() { | 1128 void AutomationProviderBrowsingDataObserver::OnBrowsingDataRemoverDone() { |
1132 // Send back an empty success message | 1129 // Send back an empty success message |
1133 AutomationJSONReply(provider_, reply_message_).SendSuccess(NULL); | 1130 AutomationJSONReply(provider_, reply_message_).SendSuccess(NULL); |
1134 delete this; | 1131 delete this; |
1135 } | 1132 } |
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1214 if (tab_contents_->infobar_delegate_count() == count_) { | 1211 if (tab_contents_->infobar_delegate_count() == count_) { |
1215 ConditionMet(); | 1212 ConditionMet(); |
1216 } | 1213 } |
1217 } | 1214 } |
1218 | 1215 |
1219 void WaitForInfobarCountObserver::ConditionMet() { | 1216 void WaitForInfobarCountObserver::ConditionMet() { |
1220 registrar_.RemoveAll(); | 1217 registrar_.RemoveAll(); |
1221 AutomationJSONReply(automation_, reply_message_).SendSuccess(NULL); | 1218 AutomationJSONReply(automation_, reply_message_).SendSuccess(NULL); |
1222 delete this; | 1219 delete this; |
1223 } | 1220 } |
OLD | NEW |