OLD | NEW |
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/sync/glue/bookmark_change_processor.h" | 5 #include "chrome/browser/sync/glue/bookmark_change_processor.h" |
6 | 6 |
7 #include <stack> | 7 #include <stack> |
8 #include <vector> | 8 #include <vector> |
9 | 9 |
10 #include "base/string16.h" | 10 #include "base/string16.h" |
(...skipping 456 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
467 } else { | 467 } else { |
468 // URL and is_folder are not expected to change. | 468 // URL and is_folder are not expected to change. |
469 // TODO(ncarter): Determine if such changes should be legal or not. | 469 // TODO(ncarter): Determine if such changes should be legal or not. |
470 DCHECK_EQ(src->GetIsFolder(), dst->is_folder()); | 470 DCHECK_EQ(src->GetIsFolder(), dst->is_folder()); |
471 | 471 |
472 // Handle reparenting and/or repositioning. | 472 // Handle reparenting and/or repositioning. |
473 model->Move(dst, parent, index); | 473 model->Move(dst, parent, index); |
474 | 474 |
475 if (!src->GetIsFolder()) | 475 if (!src->GetIsFolder()) |
476 model->SetURL(dst, src->GetURL()); | 476 model->SetURL(dst, src->GetURL()); |
477 model->SetTitle(dst, WideToUTF16Hack(src->GetTitle())); | 477 model->SetTitle(dst, UTF8ToUTF16(src->GetTitle())); |
478 | 478 |
479 SetBookmarkFavicon(src, dst, model); | 479 SetBookmarkFavicon(src, dst, model); |
480 } | 480 } |
481 | 481 |
482 return dst; | 482 return dst; |
483 } | 483 } |
484 | 484 |
485 // static | 485 // static |
486 // Creates a bookmark node under the given parent node from the given sync | 486 // Creates a bookmark node under the given parent node from the given sync |
487 // node. Returns the newly created node. | 487 // node. Returns the newly created node. |
488 const BookmarkNode* BookmarkChangeProcessor::CreateBookmarkNode( | 488 const BookmarkNode* BookmarkChangeProcessor::CreateBookmarkNode( |
489 sync_api::BaseNode* sync_node, | 489 sync_api::BaseNode* sync_node, |
490 const BookmarkNode* parent, | 490 const BookmarkNode* parent, |
491 BookmarkModel* model, | 491 BookmarkModel* model, |
492 int index) { | 492 int index) { |
493 DCHECK(parent); | 493 DCHECK(parent); |
494 DCHECK(index >= 0 && index <= parent->child_count()); | 494 DCHECK(index >= 0 && index <= parent->child_count()); |
495 | 495 |
496 const BookmarkNode* node; | 496 const BookmarkNode* node; |
497 if (sync_node->GetIsFolder()) { | 497 if (sync_node->GetIsFolder()) { |
498 node = model->AddFolder(parent, index, | 498 node = model->AddFolder(parent, index, |
499 WideToUTF16Hack(sync_node->GetTitle())); | 499 UTF8ToUTF16(sync_node->GetTitle())); |
500 } else { | 500 } else { |
501 node = model->AddURL(parent, index, | 501 node = model->AddURL(parent, index, |
502 WideToUTF16Hack(sync_node->GetTitle()), | 502 UTF8ToUTF16(sync_node->GetTitle()), |
503 sync_node->GetURL()); | 503 sync_node->GetURL()); |
504 SetBookmarkFavicon(sync_node, node, model); | 504 SetBookmarkFavicon(sync_node, node, model); |
505 } | 505 } |
506 return node; | 506 return node; |
507 } | 507 } |
508 | 508 |
509 // static | 509 // static |
510 // Sets the favicon of the given bookmark node from the given sync node. | 510 // Sets the favicon of the given bookmark node from the given sync node. |
511 bool BookmarkChangeProcessor::SetBookmarkFavicon( | 511 bool BookmarkChangeProcessor::SetBookmarkFavicon( |
512 sync_api::BaseNode* sync_node, | 512 sync_api::BaseNode* sync_node, |
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
553 const BookmarkNode* bookmark_node, | 553 const BookmarkNode* bookmark_node, |
554 BookmarkModel* model, | 554 BookmarkModel* model, |
555 sync_api::WriteNode* sync_node) { | 555 sync_api::WriteNode* sync_node) { |
556 std::vector<unsigned char> favicon_bytes; | 556 std::vector<unsigned char> favicon_bytes; |
557 EncodeFavicon(bookmark_node, model, &favicon_bytes); | 557 EncodeFavicon(bookmark_node, model, &favicon_bytes); |
558 if (!favicon_bytes.empty()) | 558 if (!favicon_bytes.empty()) |
559 sync_node->SetFaviconBytes(favicon_bytes); | 559 sync_node->SetFaviconBytes(favicon_bytes); |
560 } | 560 } |
561 | 561 |
562 } // namespace browser_sync | 562 } // namespace browser_sync |
OLD | NEW |