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/history/history_extension_api.h" | 5 #include "chrome/browser/history/history_extension_api.h" |
6 | 6 |
7 #include "base/bind.h" | 7 #include "base/bind.h" |
8 #include "base/bind_helpers.h" | 8 #include "base/bind_helpers.h" |
9 #include "base/callback.h" | 9 #include "base/callback.h" |
10 #include "base/json/json_writer.h" | 10 #include "base/json/json_writer.h" |
(...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
122 content::Details<const history::URLsDeletedDetails>(details).ptr()); | 122 content::Details<const history::URLsDeletedDetails>(details).ptr()); |
123 break; | 123 break; |
124 default: | 124 default: |
125 NOTREACHED(); | 125 NOTREACHED(); |
126 } | 126 } |
127 } | 127 } |
128 | 128 |
129 void HistoryExtensionEventRouter::HistoryUrlVisited( | 129 void HistoryExtensionEventRouter::HistoryUrlVisited( |
130 Profile* profile, | 130 Profile* profile, |
131 const history::URLVisitedDetails* details) { | 131 const history::URLVisitedDetails* details) { |
132 ListValue args; | 132 ListValue* args = new ListValue(); |
133 DictionaryValue* dict = new DictionaryValue(); | 133 DictionaryValue* dict = new DictionaryValue(); |
134 GetHistoryItemDictionary(details->row, dict); | 134 GetHistoryItemDictionary(details->row, dict); |
135 args.Append(dict); | 135 args->Append(dict); |
136 | 136 |
137 std::string json_args; | 137 DispatchEvent(profile, kOnVisited, args); |
138 base::JSONWriter::Write(&args, &json_args); | |
139 DispatchEvent(profile, kOnVisited, json_args); | |
140 } | 138 } |
141 | 139 |
142 void HistoryExtensionEventRouter::HistoryUrlsRemoved( | 140 void HistoryExtensionEventRouter::HistoryUrlsRemoved( |
143 Profile* profile, | 141 Profile* profile, |
144 const history::URLsDeletedDetails* details) { | 142 const history::URLsDeletedDetails* details) { |
145 ListValue args; | 143 ListValue* args = new ListValue(); |
146 DictionaryValue* dict = new DictionaryValue(); | 144 DictionaryValue* dict = new DictionaryValue(); |
147 dict->SetBoolean(kAllHistoryKey, details->all_history); | 145 dict->SetBoolean(kAllHistoryKey, details->all_history); |
148 ListValue* urls = new ListValue(); | 146 ListValue* urls = new ListValue(); |
149 for (history::URLRows::const_iterator iterator = details->rows.begin(); | 147 for (history::URLRows::const_iterator iterator = details->rows.begin(); |
150 iterator != details->rows.end(); ++iterator) { | 148 iterator != details->rows.end(); ++iterator) { |
151 urls->Append(new StringValue(iterator->url().spec())); | 149 urls->Append(new StringValue(iterator->url().spec())); |
152 } | 150 } |
153 dict->Set(kUrlsKey, urls); | 151 dict->Set(kUrlsKey, urls); |
154 args.Append(dict); | 152 args->Append(dict); |
155 | 153 |
156 std::string json_args; | 154 DispatchEvent(profile, kOnVisitRemoved, args); |
157 base::JSONWriter::Write(&args, &json_args); | |
158 DispatchEvent(profile, kOnVisitRemoved, json_args); | |
159 } | 155 } |
160 | 156 |
161 void HistoryExtensionEventRouter::DispatchEvent(Profile* profile, | 157 void HistoryExtensionEventRouter::DispatchEvent(Profile* profile, |
162 const char* event_name, | 158 const char* event_name, |
163 const std::string& json_args) { | 159 ListValue* event_args) { |
164 if (profile && profile->GetExtensionEventRouter()) { | 160 if (profile && profile->GetExtensionEventRouter()) { |
165 profile->GetExtensionEventRouter()->DispatchEventToRenderers( | 161 profile->GetExtensionEventRouter()->DispatchEventToRenderers( |
166 event_name, json_args, profile, GURL(), | 162 event_name, event_args, profile, GURL(), |
167 extensions::EventFilteringInfo()); | 163 extensions::EventFilteringInfo()); |
168 } | 164 } |
169 } | 165 } |
170 | 166 |
171 void HistoryFunction::Run() { | 167 void HistoryFunction::Run() { |
172 if (!RunImpl()) { | 168 if (!RunImpl()) { |
173 SendResponse(false); | 169 SendResponse(false); |
174 } | 170 } |
175 } | 171 } |
176 | 172 |
(...skipping 229 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
406 &cancelable_consumer_, | 402 &cancelable_consumer_, |
407 base::Bind(&DeleteAllHistoryFunction::DeleteComplete, | 403 base::Bind(&DeleteAllHistoryFunction::DeleteComplete, |
408 base::Unretained(this))); | 404 base::Unretained(this))); |
409 | 405 |
410 return true; | 406 return true; |
411 } | 407 } |
412 | 408 |
413 void DeleteAllHistoryFunction::DeleteComplete() { | 409 void DeleteAllHistoryFunction::DeleteComplete() { |
414 SendAsyncResponse(); | 410 SendAsyncResponse(); |
415 } | 411 } |
OLD | NEW |