Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(126)

Side by Side Diff: chrome/browser/bookmarks/bookmark_extension_api.cc

Issue 9590002: JSONWriter cleanup: integrate pretty print into write options. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix merge conflict 7. Created 8 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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/bookmarks/bookmark_extension_api.h" 5 #include "chrome/browser/bookmarks/bookmark_extension_api.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/file_path.h" 8 #include "base/file_path.h"
9 #include "base/i18n/file_util_icu.h" 9 #include "base/i18n/file_util_icu.h"
10 #include "base/i18n/time_formatting.h" 10 #include "base/i18n/time_formatting.h"
(...skipping 162 matching lines...) Expand 10 before | Expand all | Expand 10 after
173 DictionaryValue* object_args = new DictionaryValue(); 173 DictionaryValue* object_args = new DictionaryValue();
174 object_args->SetString(keys::kParentIdKey, 174 object_args->SetString(keys::kParentIdKey,
175 base::Int64ToString(new_parent->id())); 175 base::Int64ToString(new_parent->id()));
176 object_args->SetInteger(keys::kIndexKey, new_index); 176 object_args->SetInteger(keys::kIndexKey, new_index);
177 object_args->SetString(keys::kOldParentIdKey, 177 object_args->SetString(keys::kOldParentIdKey,
178 base::Int64ToString(old_parent->id())); 178 base::Int64ToString(old_parent->id()));
179 object_args->SetInteger(keys::kOldIndexKey, old_index); 179 object_args->SetInteger(keys::kOldIndexKey, old_index);
180 args.Append(object_args); 180 args.Append(object_args);
181 181
182 std::string json_args; 182 std::string json_args;
183 base::JSONWriter::Write(&args, false, &json_args); 183 base::JSONWriter::Write(&args, &json_args);
184 DispatchEvent(model->profile(), keys::kOnBookmarkMoved, json_args); 184 DispatchEvent(model->profile(), keys::kOnBookmarkMoved, json_args);
185 } 185 }
186 186
187 void BookmarkExtensionEventRouter::BookmarkNodeAdded(BookmarkModel* model, 187 void BookmarkExtensionEventRouter::BookmarkNodeAdded(BookmarkModel* model,
188 const BookmarkNode* parent, 188 const BookmarkNode* parent,
189 int index) { 189 int index) {
190 ListValue args; 190 ListValue args;
191 const BookmarkNode* node = parent->GetChild(index); 191 const BookmarkNode* node = parent->GetChild(index);
192 args.Append(new StringValue(base::Int64ToString(node->id()))); 192 args.Append(new StringValue(base::Int64ToString(node->id())));
193 DictionaryValue* obj = 193 DictionaryValue* obj =
194 bookmark_extension_helpers::GetNodeDictionary(node, false, false); 194 bookmark_extension_helpers::GetNodeDictionary(node, false, false);
195 args.Append(obj); 195 args.Append(obj);
196 196
197 std::string json_args; 197 std::string json_args;
198 base::JSONWriter::Write(&args, false, &json_args); 198 base::JSONWriter::Write(&args, &json_args);
199 DispatchEvent(model->profile(), keys::kOnBookmarkCreated, json_args); 199 DispatchEvent(model->profile(), keys::kOnBookmarkCreated, json_args);
200 } 200 }
201 201
202 void BookmarkExtensionEventRouter::BookmarkNodeRemoved( 202 void BookmarkExtensionEventRouter::BookmarkNodeRemoved(
203 BookmarkModel* model, 203 BookmarkModel* model,
204 const BookmarkNode* parent, 204 const BookmarkNode* parent,
205 int index, 205 int index,
206 const BookmarkNode* node) { 206 const BookmarkNode* node) {
207 ListValue args; 207 ListValue args;
208 args.Append(new StringValue(base::Int64ToString(node->id()))); 208 args.Append(new StringValue(base::Int64ToString(node->id())));
209 DictionaryValue* object_args = new DictionaryValue(); 209 DictionaryValue* object_args = new DictionaryValue();
210 object_args->SetString(keys::kParentIdKey, 210 object_args->SetString(keys::kParentIdKey,
211 base::Int64ToString(parent->id())); 211 base::Int64ToString(parent->id()));
212 object_args->SetInteger(keys::kIndexKey, index); 212 object_args->SetInteger(keys::kIndexKey, index);
213 args.Append(object_args); 213 args.Append(object_args);
214 214
215 std::string json_args; 215 std::string json_args;
216 base::JSONWriter::Write(&args, false, &json_args); 216 base::JSONWriter::Write(&args, &json_args);
217 DispatchEvent(model->profile(), keys::kOnBookmarkRemoved, json_args); 217 DispatchEvent(model->profile(), keys::kOnBookmarkRemoved, json_args);
218 } 218 }
219 219
220 void BookmarkExtensionEventRouter::BookmarkNodeChanged( 220 void BookmarkExtensionEventRouter::BookmarkNodeChanged(
221 BookmarkModel* model, const BookmarkNode* node) { 221 BookmarkModel* model, const BookmarkNode* node) {
222 ListValue args; 222 ListValue args;
223 args.Append(new StringValue(base::Int64ToString(node->id()))); 223 args.Append(new StringValue(base::Int64ToString(node->id())));
224 224
225 // TODO(erikkay) The only three things that BookmarkModel sends this 225 // TODO(erikkay) The only three things that BookmarkModel sends this
226 // notification for are title, url and favicon. Since we're currently 226 // notification for are title, url and favicon. Since we're currently
227 // ignoring favicon and since the notification doesn't say which one anyway, 227 // ignoring favicon and since the notification doesn't say which one anyway,
228 // for now we only include title and url. The ideal thing would be to change 228 // for now we only include title and url. The ideal thing would be to change
229 // BookmarkModel to indicate what changed. 229 // BookmarkModel to indicate what changed.
230 DictionaryValue* object_args = new DictionaryValue(); 230 DictionaryValue* object_args = new DictionaryValue();
231 object_args->SetString(keys::kTitleKey, node->GetTitle()); 231 object_args->SetString(keys::kTitleKey, node->GetTitle());
232 if (node->is_url()) 232 if (node->is_url())
233 object_args->SetString(keys::kUrlKey, node->url().spec()); 233 object_args->SetString(keys::kUrlKey, node->url().spec());
234 args.Append(object_args); 234 args.Append(object_args);
235 235
236 std::string json_args; 236 std::string json_args;
237 base::JSONWriter::Write(&args, false, &json_args); 237 base::JSONWriter::Write(&args, &json_args);
238 DispatchEvent(model->profile(), keys::kOnBookmarkChanged, json_args); 238 DispatchEvent(model->profile(), keys::kOnBookmarkChanged, json_args);
239 } 239 }
240 240
241 void BookmarkExtensionEventRouter::BookmarkNodeFaviconChanged( 241 void BookmarkExtensionEventRouter::BookmarkNodeFaviconChanged(
242 BookmarkModel* model, const BookmarkNode* node) { 242 BookmarkModel* model, const BookmarkNode* node) {
243 // TODO(erikkay) anything we should do here? 243 // TODO(erikkay) anything we should do here?
244 } 244 }
245 245
246 void BookmarkExtensionEventRouter::BookmarkNodeChildrenReordered( 246 void BookmarkExtensionEventRouter::BookmarkNodeChildrenReordered(
247 BookmarkModel* model, const BookmarkNode* node) { 247 BookmarkModel* model, const BookmarkNode* node) {
248 ListValue args; 248 ListValue args;
249 args.Append(new StringValue(base::Int64ToString(node->id()))); 249 args.Append(new StringValue(base::Int64ToString(node->id())));
250 int childCount = node->child_count(); 250 int childCount = node->child_count();
251 ListValue* children = new ListValue(); 251 ListValue* children = new ListValue();
252 for (int i = 0; i < childCount; ++i) { 252 for (int i = 0; i < childCount; ++i) {
253 const BookmarkNode* child = node->GetChild(i); 253 const BookmarkNode* child = node->GetChild(i);
254 Value* child_id = new StringValue(base::Int64ToString(child->id())); 254 Value* child_id = new StringValue(base::Int64ToString(child->id()));
255 children->Append(child_id); 255 children->Append(child_id);
256 } 256 }
257 DictionaryValue* reorder_info = new DictionaryValue(); 257 DictionaryValue* reorder_info = new DictionaryValue();
258 reorder_info->Set(keys::kChildIdsKey, children); 258 reorder_info->Set(keys::kChildIdsKey, children);
259 args.Append(reorder_info); 259 args.Append(reorder_info);
260 260
261 std::string json_args; 261 std::string json_args;
262 base::JSONWriter::Write(&args, false, &json_args); 262 base::JSONWriter::Write(&args, &json_args);
263 DispatchEvent(model->profile(), 263 DispatchEvent(model->profile(),
264 keys::kOnBookmarkChildrenReordered, 264 keys::kOnBookmarkChildrenReordered,
265 json_args); 265 json_args);
266 } 266 }
267 267
268 void BookmarkExtensionEventRouter:: 268 void BookmarkExtensionEventRouter::
269 ExtensiveBookmarkChangesBeginning(BookmarkModel* model) { 269 ExtensiveBookmarkChangesBeginning(BookmarkModel* model) {
270 ListValue args; 270 ListValue args;
271 std::string json_args; 271 std::string json_args;
272 base::JSONWriter::Write(&args, false, &json_args); 272 base::JSONWriter::Write(&args, &json_args);
273 DispatchEvent(model->profile(), 273 DispatchEvent(model->profile(),
274 keys::kOnBookmarkImportBegan, 274 keys::kOnBookmarkImportBegan,
275 json_args); 275 json_args);
276 } 276 }
277 277
278 void BookmarkExtensionEventRouter::ExtensiveBookmarkChangesEnded( 278 void BookmarkExtensionEventRouter::ExtensiveBookmarkChangesEnded(
279 BookmarkModel* model) { 279 BookmarkModel* model) {
280 ListValue args; 280 ListValue args;
281 std::string json_args; 281 std::string json_args;
282 base::JSONWriter::Write(&args, false, &json_args); 282 base::JSONWriter::Write(&args, &json_args);
283 DispatchEvent(model->profile(), 283 DispatchEvent(model->profile(),
284 keys::kOnBookmarkImportEnded, 284 keys::kOnBookmarkImportEnded,
285 json_args); 285 json_args);
286 } 286 }
287 287
288 bool GetBookmarksFunction::RunImpl() { 288 bool GetBookmarksFunction::RunImpl() {
289 BookmarkModel* model = profile()->GetBookmarkModel(); 289 BookmarkModel* model = profile()->GetBookmarkModel();
290 scoped_ptr<ListValue> json(new ListValue()); 290 scoped_ptr<ListValue> json(new ListValue());
291 Value* arg0; 291 Value* arg0;
292 EXTENSION_FUNCTION_VALIDATE(args_->Get(0, &arg0)); 292 EXTENSION_FUNCTION_VALIDATE(args_->Get(0, &arg0));
(...skipping 649 matching lines...) Expand 10 before | Expand all | Expand 10 after
942 int index, 942 int index,
943 void* params) { 943 void* params) {
944 #if !defined(OS_ANDROID) 944 #if !defined(OS_ANDROID)
945 // Android does not have support for the standard exporter. 945 // Android does not have support for the standard exporter.
946 // TODO(jgreenwald): remove ifdef once extensions are no longer built on 946 // TODO(jgreenwald): remove ifdef once extensions are no longer built on
947 // Android. 947 // Android.
948 bookmark_html_writer::WriteBookmarks(profile(), path, NULL); 948 bookmark_html_writer::WriteBookmarks(profile(), path, NULL);
949 #endif 949 #endif
950 Release(); // Balanced in BookmarksIOFunction::SelectFile() 950 Release(); // Balanced in BookmarksIOFunction::SelectFile()
951 } 951 }
OLDNEW
« no previous file with comments | « chrome/browser/automation/testing_automation_provider.cc ('k') | chrome/browser/bookmarks/bookmark_manager_extension_api.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698