summaryrefslogtreecommitdiffstats
path: root/chrome/browser
diff options
context:
space:
mode:
authormunjal@chromium.org <munjal@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-01-21 22:53:46 +0000
committermunjal@chromium.org <munjal@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-01-21 22:53:46 +0000
commit9c6a85d5fa2abf914c0a5eefe09e2ded3103680b (patch)
treeeb87e986ee5abf42e680c1b408e1a4b2744ce38e /chrome/browser
parentc51e6b955efef19073972efa5a1bd75701dfc6d4 (diff)
downloadchromium_src-9c6a85d5fa2abf914c0a5eefe09e2ded3103680b.zip
chromium_src-9c6a85d5fa2abf914c0a5eefe09e2ded3103680b.tar.gz
chromium_src-9c6a85d5fa2abf914c0a5eefe09e2ded3103680b.tar.bz2
More bookmarks string1t work.
TEST=exists BUG=32013 Review URL: http://codereview.chromium.org/546094 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@36805 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser')
-rw-r--r--chrome/browser/bookmarks/bookmark_codec.cc52
-rw-r--r--chrome/browser/bookmarks/bookmark_codec.h16
-rw-r--r--chrome/browser/bookmarks/bookmark_context_menu_controller.cc2
-rw-r--r--chrome/browser/bookmarks/bookmark_drag_data.cc16
-rw-r--r--chrome/browser/bookmarks/bookmark_drag_data.h3
-rw-r--r--chrome/browser/bookmarks/bookmark_html_writer.cc28
-rw-r--r--chrome/browser/bookmarks/bookmark_utils.cc7
7 files changed, 62 insertions, 62 deletions
diff --git a/chrome/browser/bookmarks/bookmark_codec.cc b/chrome/browser/bookmarks/bookmark_codec.cc
index 0ed7d5d..e64c365 100644
--- a/chrome/browser/bookmarks/bookmark_codec.cc
+++ b/chrome/browser/bookmarks/bookmark_codec.cc
@@ -27,8 +27,8 @@ const wchar_t* BookmarkCodec::kDateAddedKey = L"date_added";
const wchar_t* BookmarkCodec::kURLKey = L"url";
const wchar_t* BookmarkCodec::kDateModifiedKey = L"date_modified";
const wchar_t* BookmarkCodec::kChildrenKey = L"children";
-const wchar_t* BookmarkCodec::kTypeURL = L"url";
-const wchar_t* BookmarkCodec::kTypeFolder = L"folder";
+const char* BookmarkCodec::kTypeURL = "url";
+const char* BookmarkCodec::kTypeFolder = "folder";
// Current version of the file.
static const int kCurrentVersion = 1;
@@ -84,23 +84,22 @@ bool BookmarkCodec::Decode(BookmarkNode* bb_node,
Value* BookmarkCodec::EncodeNode(const BookmarkNode* node) {
DictionaryValue* value = new DictionaryValue();
- std::string id;
- id = Int64ToString(node->id());
+ std::string id = Int64ToString(node->id());
value->SetString(kIdKey, id);
- const std::wstring& title = node->GetTitle();
- value->SetString(kNameKey, title);
+ const string16& title = node->GetTitleAsString16();
+ value->SetStringFromUTF16(kNameKey, title);
value->SetString(kDateAddedKey,
- Int64ToWString(node->date_added().ToInternalValue()));
+ Int64ToString(node->date_added().ToInternalValue()));
if (node->type() == BookmarkNode::URL) {
value->SetString(kTypeKey, kTypeURL);
- std::wstring url = UTF8ToWide(node->GetURL().possibly_invalid_spec());
+ std::string url = node->GetURL().possibly_invalid_spec();
value->SetString(kURLKey, url);
UpdateChecksumWithUrlNode(id, title, url);
} else {
value->SetString(kTypeKey, kTypeFolder);
value->SetString(kDateModifiedKey,
- Int64ToWString(node->date_group_modified().
- ToInternalValue()));
+ Int64ToString(node->date_group_modified().
+ ToInternalValue()));
UpdateChecksumWithFolderNode(id, title);
ListValue* child_values = new ListValue();
@@ -203,14 +202,14 @@ bool BookmarkCodec::DecodeNode(const DictionaryValue& value,
maximum_id_ = std::max(maximum_id_, id);
- std::wstring title;
- value.GetString(kNameKey, &title);
+ string16 title;
+ value.GetStringAsUTF16(kNameKey, &title);
- std::wstring date_added_string;
+ std::string date_added_string;
if (!value.GetString(kDateAddedKey, &date_added_string))
- date_added_string = Int64ToWString(Time::Now().ToInternalValue());
+ date_added_string = Int64ToString(Time::Now().ToInternalValue());
base::Time date_added = base::Time::FromInternalValue(
- StringToInt64(WideToUTF16Hack(date_added_string)));
+ StringToInt64(date_added_string));
#if !defined(OS_WIN)
// We changed the epoch for dates on Mac & Linux from 1970 to the Windows
// one of 1601. We assume any number we encounter from before 1970 is using
@@ -225,7 +224,7 @@ bool BookmarkCodec::DecodeNode(const DictionaryValue& value,
}
#endif
- std::wstring type_string;
+ std::string type_string;
if (!value.GetString(kTypeKey, &type_string))
return false;
@@ -233,11 +232,11 @@ bool BookmarkCodec::DecodeNode(const DictionaryValue& value,
return false; // Unknown type.
if (type_string == kTypeURL) {
- std::wstring url_string;
+ std::string url_string;
if (!value.GetString(kURLKey, &url_string))
return false;
- GURL url = GURL(WideToUTF8(url_string));
+ GURL url = GURL(url_string);
if (!node && url.is_valid())
node = new BookmarkNode(id, url);
else
@@ -248,9 +247,9 @@ bool BookmarkCodec::DecodeNode(const DictionaryValue& value,
node->set_type(BookmarkNode::URL);
UpdateChecksumWithUrlNode(id_string, title, url_string);
} else {
- std::wstring last_modified_date;
+ std::string last_modified_date;
if (!value.GetString(kDateModifiedKey, &last_modified_date))
- last_modified_date = Int64ToWString(Time::Now().ToInternalValue());
+ last_modified_date = Int64ToString(Time::Now().ToInternalValue());
Value* child_values;
if (!value.Get(kChildrenKey, &child_values))
@@ -268,7 +267,7 @@ bool BookmarkCodec::DecodeNode(const DictionaryValue& value,
node->set_type(BookmarkNode::FOLDER);
node->set_date_group_modified(Time::FromInternalValue(
- StringToInt64(WideToUTF16Hack(last_modified_date))));
+ StringToInt64(last_modified_date)));
if (parent)
parent->Add(parent->GetChildCount(), node);
@@ -303,13 +302,14 @@ void BookmarkCodec::UpdateChecksum(const std::string& str) {
MD5Update(&md5_context_, str.data(), str.length() * sizeof(char));
}
-void BookmarkCodec::UpdateChecksum(const std::wstring& str) {
- MD5Update(&md5_context_, str.data(), str.length() * sizeof(wchar_t));
+void BookmarkCodec::UpdateChecksum(const string16& str) {
+ MD5Update(&md5_context_, str.data(), str.length() * sizeof(char16));
}
void BookmarkCodec::UpdateChecksumWithUrlNode(const std::string& id,
- const std::wstring& title,
- const std::wstring& url) {
+ const string16& title,
+ const std::string& url) {
+ DCHECK(IsStringUTF8(url));
UpdateChecksum(id);
UpdateChecksum(title);
UpdateChecksum(kTypeURL);
@@ -317,7 +317,7 @@ void BookmarkCodec::UpdateChecksumWithUrlNode(const std::string& id,
}
void BookmarkCodec::UpdateChecksumWithFolderNode(const std::string& id,
- const std::wstring& title) {
+ const string16& title) {
UpdateChecksum(id);
UpdateChecksum(title);
UpdateChecksum(kTypeFolder);
diff --git a/chrome/browser/bookmarks/bookmark_codec.h b/chrome/browser/bookmarks/bookmark_codec.h
index 257a80f..f1df31c 100644
--- a/chrome/browser/bookmarks/bookmark_codec.h
+++ b/chrome/browser/bookmarks/bookmark_codec.h
@@ -15,6 +15,7 @@
#include "base/basictypes.h"
#include "base/scoped_ptr.h"
#include "base/md5.h"
+#include "base/string16.h"
class BookmarkModel;
class BookmarkNode;
@@ -85,8 +86,8 @@ class BookmarkCodec {
static const wchar_t* kChildrenKey;
// Possible values for kTypeKey.
- static const wchar_t* kTypeURL;
- static const wchar_t* kTypeFolder;
+ static const char* kTypeURL;
+ static const char* kTypeFolder;
private:
// Encodes node and all its children into a Value object and returns it.
@@ -118,18 +119,19 @@ class BookmarkCodec {
// Updates the check-sum with the given string.
void UpdateChecksum(const std::string& str);
- void UpdateChecksum(const std::wstring& str);
+ void UpdateChecksum(const string16& str);
// Updates the check-sum with the given contents of URL/folder bookmark node.
// NOTE: These functions take in individual properties of a bookmark node
// instead of taking in a BookmarkNode for efficiency so that we don't convert
- // varous data-types to wide strings multiple times - once for serializing
+ // various data-types to UTF16 strings multiple times - once for serializing
// and once for computing the check-sum.
+ // The url parameter should be a valid UTF8 string.
void UpdateChecksumWithUrlNode(const std::string& id,
- const std::wstring& title,
- const std::wstring& url);
+ const string16& title,
+ const std::string& url);
void UpdateChecksumWithFolderNode(const std::string& id,
- const std::wstring& title);
+ const string16& title);
// Initializes/Finalizes the checksum.
void InitializeChecksum();
diff --git a/chrome/browser/bookmarks/bookmark_context_menu_controller.cc b/chrome/browser/bookmarks/bookmark_context_menu_controller.cc
index ed7784b..a46110b 100644
--- a/chrome/browser/bookmarks/bookmark_context_menu_controller.cc
+++ b/chrome/browser/bookmarks/bookmark_context_menu_controller.cc
@@ -78,7 +78,7 @@ class EditFolderController : public InputWindowDialog::Delegate,
l10n_util::GetString(IDS_BOOMARK_BAR_EDIT_FOLDER_LABEL);
std::wstring contents = is_new_ ?
l10n_util::GetString(IDS_BOOMARK_EDITOR_NEW_FOLDER_NAME) :
- node_->GetTitle();
+ UTF16ToWide(node_->GetTitleAsString16());
dialog_ = InputWindowDialog::Create(wnd, title, label, contents, this);
model_->AddObserver(this);
diff --git a/chrome/browser/bookmarks/bookmark_drag_data.cc b/chrome/browser/bookmarks/bookmark_drag_data.cc
index 05e86fd..a22f60c 100644
--- a/chrome/browser/bookmarks/bookmark_drag_data.cc
+++ b/chrome/browser/bookmarks/bookmark_drag_data.cc
@@ -20,7 +20,7 @@ const char* BookmarkDragData::kClipboardFormatString =
BookmarkDragData::Element::Element(const BookmarkNode* node)
: is_url(node->is_url()),
url(node->GetURL()),
- title(node->GetTitle()),
+ title(node->GetTitleAsString16()),
id_(node->id()) {
for (int i = 0; i < node->GetChildCount(); ++i)
children.push_back(Element(node->GetChild(i)));
@@ -29,7 +29,7 @@ BookmarkDragData::Element::Element(const BookmarkNode* node)
void BookmarkDragData::Element::WriteToPickle(Pickle* pickle) const {
pickle->WriteBool(is_url);
pickle->WriteString(url.spec());
- pickle->WriteWString(title);
+ pickle->WriteString16(title);
pickle->WriteInt64(id_);
if (!is_url) {
pickle->WriteSize(children.size());
@@ -45,7 +45,7 @@ bool BookmarkDragData::Element::ReadFromPickle(Pickle* pickle,
std::string url_spec;
if (!pickle->ReadBool(iterator, &is_url) ||
!pickle->ReadString(iterator, &url_spec) ||
- !pickle->ReadWString(iterator, &title) ||
+ !pickle->ReadString16(iterator, &title) ||
!pickle->ReadInt64(iterator, &id_)) {
return false;
}
@@ -97,7 +97,7 @@ void BookmarkDragData::WriteToClipboard(Profile* profile) const {
// If there is only one element and it is a URL, write the URL to the
// clipboard.
if (elements.size() == 1 && elements[0].is_url) {
- string16 title = WideToUTF16Hack(elements[0].title);
+ const string16& title = elements[0].title;
std::string url = elements[0].url.spec();
scw.WriteBookmark(title, url);
@@ -131,7 +131,7 @@ bool BookmarkDragData::ReadFromClipboard() {
Element element;
element.is_url = true;
element.url = GURL(url);
- element.title = UTF16ToWideHack(title);
+ element.title = title;
elements.clear();
elements.push_back(element);
@@ -152,7 +152,7 @@ void BookmarkDragData::Write(Profile* profile, OSExchangeData* data) const {
if (elements[0].url.SchemeIs(chrome::kJavaScriptScheme)) {
data->SetString(ASCIIToWide(elements[0].url.spec()));
} else {
- data->SetURL(elements[0].url, elements[0].title);
+ data->SetURL(elements[0].url, UTF16ToWide(elements[0].title));
}
}
@@ -176,8 +176,10 @@ bool BookmarkDragData::Read(const OSExchangeData& data) {
} else {
// See if there is a URL on the clipboard.
Element element;
- if (data.GetURLAndTitle(&element.url, &element.title) &&
+ std::wstring title;
+ if (data.GetURLAndTitle(&element.url, &title) &&
element.url.is_valid()) {
+ element.title = WideToUTF16(title);
element.is_url = true;
elements.push_back(element);
}
diff --git a/chrome/browser/bookmarks/bookmark_drag_data.h b/chrome/browser/bookmarks/bookmark_drag_data.h
index 2699234..2078bfa 100644
--- a/chrome/browser/bookmarks/bookmark_drag_data.h
+++ b/chrome/browser/bookmarks/bookmark_drag_data.h
@@ -8,6 +8,7 @@
#include <string>
#include <vector>
+#include "base/string16.h"
#include "googleurl/src/gurl.h"
// TODO(port): Port this file.
@@ -55,7 +56,7 @@ struct BookmarkDragData {
GURL url;
// Title of the entry, used for both urls and groups/folders.
- std::wstring title;
+ string16 title;
// Children, only used for non-URL nodes.
std::vector<Element> children;
diff --git a/chrome/browser/bookmarks/bookmark_html_writer.cc b/chrome/browser/bookmarks/bookmark_html_writer.cc
index eb330ac..a80abb1 100644
--- a/chrome/browser/bookmarks/bookmark_html_writer.cc
+++ b/chrome/browser/bookmarks/bookmark_html_writer.cc
@@ -161,25 +161,19 @@ class Writer : public Task {
// Writes out the text string (as UTF8). The text is escaped based on
// type.
- bool Write(const std::wstring& text, TextType type) {
+ bool Write(const std::string& text, TextType type) {
+ DCHECK(IsStringUTF8(text));
std::string utf8_string;
switch (type) {
case ATTRIBUTE_VALUE:
// Convert " to &quot;
- if (text.find(L"\"") != std::wstring::npos) {
- string16 replaced_string = WideToUTF16Hack(text);
- ReplaceSubstringsAfterOffset(&replaced_string, 0,
- ASCIIToUTF16("\""),
- ASCIIToUTF16("&quot;"));
- utf8_string = UTF16ToUTF8(replaced_string);
- } else {
- utf8_string = WideToUTF8(text);
- }
+ utf8_string = text;
+ ReplaceSubstringsAfterOffset(&utf8_string, 0, "\"", "&quot;");
break;
case CONTENT:
- utf8_string = UTF16ToUTF8(EscapeForHTML(WideToUTF16Hack(text)));
+ utf8_string = EscapeForHTML(text);
break;
default:
@@ -196,16 +190,16 @@ class Writer : public Task {
// Converts a time string written to the JSON codec into a time_t string
// (used by bookmarks.html) and writes it.
- bool WriteTime(const std::wstring& time_string) {
+ bool WriteTime(const std::string& time_string) {
base::Time time = base::Time::FromInternalValue(
- StringToInt64(WideToUTF16Hack(time_string)));
+ StringToInt64(time_string));
return Write(Int64ToString(time.ToTimeT()));
}
// Writes the node and all its children, returning true on success.
bool WriteNode(const DictionaryValue& value,
BookmarkNode::Type folder_type) {
- std::wstring title, date_added_string, type_string;
+ std::string title, date_added_string, type_string;
if (!value.GetString(BookmarkCodec::kNameKey, &title) ||
!value.GetString(BookmarkCodec::kDateAddedKey, &date_added_string) ||
!value.GetString(BookmarkCodec::kTypeKey, &type_string) ||
@@ -216,7 +210,7 @@ class Writer : public Task {
}
if (type_string == BookmarkCodec::kTypeURL) {
- std::wstring url_string;
+ std::string url_string;
if (!value.GetString(BookmarkCodec::kURLKey, &url_string)) {
NOTREACHED();
return false;
@@ -236,7 +230,7 @@ class Writer : public Task {
}
// Folder.
- std::wstring last_modified_date;
+ std::string last_modified_date;
Value* child_values;
if (!value.GetString(BookmarkCodec::kDateModifiedKey,
&last_modified_date) ||
@@ -259,7 +253,7 @@ class Writer : public Task {
if (folder_type == BookmarkNode::BOOKMARK_BAR) {
if (!Write(kBookmarkBar))
return false;
- title = l10n_util::GetString(IDS_BOOMARK_BAR_FOLDER_NAME);
+ title = l10n_util::GetStringUTF8(IDS_BOOMARK_BAR_FOLDER_NAME);
} else if (!Write(kFolderAttributeEnd)) {
return false;
}
diff --git a/chrome/browser/bookmarks/bookmark_utils.cc b/chrome/browser/bookmarks/bookmark_utils.cc
index 5d10ea8..2d21acc 100644
--- a/chrome/browser/bookmarks/bookmark_utils.cc
+++ b/chrome/browser/bookmarks/bookmark_utils.cc
@@ -11,6 +11,7 @@
#include "base/basictypes.h"
#include "base/file_path.h"
#include "base/string_util.h"
+#include "base/string16.h"
#include "base/time.h"
#include "chrome/browser/bookmarks/bookmark_drag_data.h"
#include "chrome/browser/bookmarks/bookmark_model.h"
@@ -251,12 +252,12 @@ int PerformBookmarkDrop(Profile* profile,
return DragDropTypes::DRAG_MOVE;
} else if (data.has_single_url()) {
// New URL, add it at the specified location.
- std::wstring title = data.elements[0].title;
+ string16 title = data.elements[0].title;
if (title.empty()) {
// No title, use the host.
- title = UTF8ToWide(data.elements[0].url.host());
+ title = UTF8ToUTF16(data.elements[0].url.host());
if (title.empty())
- title = l10n_util::GetString(IDS_BOOMARK_BAR_UNKNOWN_DRAG_TITLE);
+ title = l10n_util::GetStringUTF16(IDS_BOOMARK_BAR_UNKNOWN_DRAG_TITLE);
}
model->AddURL(parent_node, index, title, data.elements[0].url);
return DragDropTypes::DRAG_COPY | DragDropTypes::DRAG_LINK;