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

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

Issue 8598015: Do not allow multiline input when naming bookmarks/folders on Mac (Closed) Base URL: http://git.chromium.org/git/chromium.git@trunk
Patch Set: move newline change into BookmarkModel Created 9 years, 1 month 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) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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_model.h" 5 #include "chrome/browser/bookmarks/bookmark_model.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <functional> 8 #include <functional>
9 9
10 #include "base/bind.h" 10 #include "base/bind.h"
(...skipping 287 matching lines...) Expand 10 before | Expand all | Expand 10 after
298 DCHECK(node); 298 DCHECK(node);
299 if (!node->is_favicon_loaded()) { 299 if (!node->is_favicon_loaded()) {
300 BookmarkNode* mutable_node = AsMutable(node); 300 BookmarkNode* mutable_node = AsMutable(node);
301 mutable_node->set_is_favicon_loaded(true); 301 mutable_node->set_is_favicon_loaded(true);
302 LoadFavicon(mutable_node); 302 LoadFavicon(mutable_node);
303 } 303 }
304 return node->favicon(); 304 return node->favicon();
305 } 305 }
306 306
307 void BookmarkModel::SetTitle(const BookmarkNode* node, const string16& title) { 307 void BookmarkModel::SetTitle(const BookmarkNode* node, const string16& title) {
308 string16 mutable_title = title;
309
310 // Remove line break whitespace from Folder names.
Ilya Sherman 2011/11/21 21:36:10 Hmm, why do we only want to clean up /folder/ name
KushalP 2011/11/21 22:14:15 This change was made previous to the discussions w
311 if (node->is_folder()) {
312 mutable_title = CollapseWhitespace(mutable_title, false);
313 }
314
308 if (!node) { 315 if (!node) {
309 NOTREACHED(); 316 NOTREACHED();
310 return; 317 return;
311 } 318 }
312 if (node->GetTitle() == title) 319 if (node->GetTitle() == mutable_title)
313 return; 320 return;
314 321
315 if (is_permanent_node(node)) { 322 if (is_permanent_node(node)) {
316 NOTREACHED(); 323 NOTREACHED();
317 return; 324 return;
318 } 325 }
319 326
320 // The title index doesn't support changing the title, instead we remove then 327 // The title index doesn't support changing the title, instead we remove then
321 // add it back. 328 // add it back.
322 index_->Remove(node); 329 index_->Remove(node);
323 AsMutable(node)->set_title(title); 330 AsMutable(node)->set_title(mutable_title);
324 index_->Add(node); 331 index_->Add(node);
325 332
326 if (store_.get()) 333 if (store_.get())
327 store_->ScheduleSave(); 334 store_->ScheduleSave();
328 335
329 FOR_EACH_OBSERVER(BookmarkModelObserver, observers_, 336 FOR_EACH_OBSERVER(BookmarkModelObserver, observers_,
330 BookmarkNodeChanged(this, node)); 337 BookmarkNodeChanged(this, node));
331 } 338 }
332 339
333 void BookmarkModel::SetURL(const BookmarkNode* node, const GURL& url) { 340 void BookmarkModel::SetURL(const BookmarkNode* node, const GURL& url) {
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after
429 int index, 436 int index,
430 const string16& title) { 437 const string16& title) {
431 if (!loaded_ || is_root_node(parent) || !IsValidIndex(parent, index, true)) { 438 if (!loaded_ || is_root_node(parent) || !IsValidIndex(parent, index, true)) {
432 // Can't add to the root. 439 // Can't add to the root.
433 NOTREACHED(); 440 NOTREACHED();
434 return NULL; 441 return NULL;
435 } 442 }
436 443
437 BookmarkNode* new_node = new BookmarkNode(generate_next_node_id(), GURL()); 444 BookmarkNode* new_node = new BookmarkNode(generate_next_node_id(), GURL());
438 new_node->set_date_folder_modified(Time::Now()); 445 new_node->set_date_folder_modified(Time::Now());
439 new_node->set_title(title); 446 // Folders shouldn't have line breaks in their titles.
447 new_node->set_title(CollapseWhitespace(title, false));
440 new_node->set_type(BookmarkNode::FOLDER); 448 new_node->set_type(BookmarkNode::FOLDER);
441 449
442 return AddNode(AsMutable(parent), index, new_node, false); 450 return AddNode(AsMutable(parent), index, new_node, false);
443 } 451 }
444 452
445 const BookmarkNode* BookmarkModel::AddURL(const BookmarkNode* parent, 453 const BookmarkNode* BookmarkModel::AddURL(const BookmarkNode* parent,
446 int index, 454 int index,
447 const string16& title, 455 const string16& title,
448 const GURL& url) { 456 const GURL& url) {
449 return AddURLWithCreationTime(parent, index, title, url, Time::Now()); 457 return AddURLWithCreationTime(parent, index, title, url, Time::Now());
(...skipping 379 matching lines...) Expand 10 before | Expand all | Expand 10 after
829 return next_node_id_++; 837 return next_node_id_++;
830 } 838 }
831 839
832 BookmarkLoadDetails* BookmarkModel::CreateLoadDetails() { 840 BookmarkLoadDetails* BookmarkModel::CreateLoadDetails() {
833 BookmarkNode* bb_node = CreatePermanentNode(BookmarkNode::BOOKMARK_BAR); 841 BookmarkNode* bb_node = CreatePermanentNode(BookmarkNode::BOOKMARK_BAR);
834 BookmarkNode* other_node = CreatePermanentNode(BookmarkNode::OTHER_NODE); 842 BookmarkNode* other_node = CreatePermanentNode(BookmarkNode::OTHER_NODE);
835 BookmarkNode* synced_node = CreatePermanentNode(BookmarkNode::SYNCED); 843 BookmarkNode* synced_node = CreatePermanentNode(BookmarkNode::SYNCED);
836 return new BookmarkLoadDetails(bb_node, other_node, synced_node, 844 return new BookmarkLoadDetails(bb_node, other_node, synced_node,
837 new BookmarkIndex(profile_), next_node_id_); 845 new BookmarkIndex(profile_), next_node_id_);
838 } 846 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698