| 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 |