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

Unified Diff: content/renderer/dom_storage/local_storage_cached_area.cc

Issue 2201763002: Switch on use_new_wrapper_types mode for content/common. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Address comments from kinuko Created 4 years, 4 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 side-by-side diff with in-line comments
Download patch
Index: content/renderer/dom_storage/local_storage_cached_area.cc
diff --git a/content/renderer/dom_storage/local_storage_cached_area.cc b/content/renderer/dom_storage/local_storage_cached_area.cc
index d4bedf444a8a32d908684fc220f5f487ed7acf76..096d130153a7bbd320e861748a4d304ef2546c0a 100644
--- a/content/renderer/dom_storage/local_storage_cached_area.cc
+++ b/content/renderer/dom_storage/local_storage_cached_area.cc
@@ -7,6 +7,7 @@
#include "base/bind.h"
#include "base/metrics/histogram_macros.h"
#include "base/rand_util.h"
+#include "base/strings/string16.h"
#include "base/strings/string_number_conversions.h"
#include "base/strings/string_split.h"
#include "base/time/time.h"
@@ -14,11 +15,24 @@
#include "content/common/storage_partition_service.mojom.h"
#include "content/renderer/dom_storage/local_storage_area.h"
#include "content/renderer/dom_storage/local_storage_cached_areas.h"
-#include "mojo/common/common_type_converters.h"
#include "third_party/WebKit/public/platform/WebURL.h"
#include "third_party/WebKit/public/web/WebStorageEventDispatcher.h"
#include "url/gurl.h"
+namespace {
+
+base::string16 Uint8VectorToString16(const std::vector<uint8_t>& input) {
+ return base::string16(reinterpret_cast<const base::char16*>(input.data()),
+ input.size() / sizeof(base::char16));
+}
+
+std::vector<uint8_t> String16ToUint8Vector(const base::string16& input) {
+ const uint8_t* data = reinterpret_cast<const uint8_t*>(input.data());
+ return std::vector<uint8_t>(data, data + input.size() * sizeof(base::char16));
+}
+
+} // namespace
+
namespace content {
// These methods are used to pack and unpack the page_url/storage_area_id into
@@ -28,12 +42,11 @@ std::string PackSource(const GURL& page_url,
return page_url.spec() + "\n" + storage_area_id;
}
-void UnpackSource(const mojo::String& source,
+void UnpackSource(const std::string& source,
GURL* page_url,
std::string* storage_area_id) {
std::vector<std::string> result = base::SplitString(
- source.To<std::string>(), "\n", base::KEEP_WHITESPACE,
- base::SPLIT_WANT_ALL);
+ source, "\n", base::KEEP_WHITESPACE, base::SPLIT_WANT_ALL);
DCHECK_EQ(result.size(), 2u);
*page_url = GURL(result[0]);
*storage_area_id = result[1];
@@ -85,8 +98,7 @@ bool LocalStorageCachedArea::SetItem(const base::string16& key,
// Ignore mutations to |key| until OnSetItemComplete.
ignore_key_mutations_[key]++;
- leveldb_->Put(mojo::Array<uint8_t>::From(key),
- mojo::Array<uint8_t>::From(value),
+ leveldb_->Put(String16ToUint8Vector(key), String16ToUint8Vector(value),
PackSource(page_url, storage_area_id),
base::Bind(&LocalStorageCachedArea::OnSetItemComplete,
weak_factory_.GetWeakPtr(), key));
@@ -103,7 +115,7 @@ void LocalStorageCachedArea::RemoveItem(const base::string16& key,
// Ignore mutations to |key| until OnRemoveItemComplete.
ignore_key_mutations_[key]++;
- leveldb_->Delete(mojo::Array<uint8_t>::From(key),
+ leveldb_->Delete(String16ToUint8Vector(key),
PackSource(page_url, storage_area_id),
base::Bind(&LocalStorageCachedArea::OnRemoveItemComplete,
weak_factory_.GetWeakPtr(), key));
@@ -129,31 +141,29 @@ void LocalStorageCachedArea::AreaDestroyed(LocalStorageArea* area) {
areas_.erase(area->id());
}
-void LocalStorageCachedArea::KeyAdded(mojo::Array<uint8_t> key,
- mojo::Array<uint8_t> value,
- const mojo::String& source) {
+void LocalStorageCachedArea::KeyAdded(const std::vector<uint8_t>& key,
+ const std::vector<uint8_t>& value,
+ const std::string& source) {
base::NullableString16 null_value;
- KeyAddedOrChanged(std::move(key), std::move(value),
- null_value, source);
+ KeyAddedOrChanged(key, value, null_value, source);
}
-void LocalStorageCachedArea::KeyChanged(mojo::Array<uint8_t> key,
- mojo::Array<uint8_t> new_value,
- mojo::Array<uint8_t> old_value,
- const mojo::String& source) {
- base::NullableString16 old_value_str(old_value.To<base::string16>(), false);
- KeyAddedOrChanged(std::move(key), std::move(new_value),
- old_value_str, source);
+void LocalStorageCachedArea::KeyChanged(const std::vector<uint8_t>& key,
+ const std::vector<uint8_t>& new_value,
+ const std::vector<uint8_t>& old_value,
+ const std::string& source) {
+ base::NullableString16 old_value_str(Uint8VectorToString16(old_value), false);
+ KeyAddedOrChanged(key, new_value, old_value_str, source);
}
-void LocalStorageCachedArea::KeyDeleted(mojo::Array<uint8_t> key,
- mojo::Array<uint8_t> old_value,
- const mojo::String& source) {
+void LocalStorageCachedArea::KeyDeleted(const std::vector<uint8_t>& key,
+ const std::vector<uint8_t>& old_value,
+ const std::string& source) {
GURL page_url;
std::string storage_area_id;
UnpackSource(source, &page_url, &storage_area_id);
- base::string16 key_string = key.To<base::string16>();
+ base::string16 key_string = Uint8VectorToString16(key);
blink::WebStorageArea* originating_area = nullptr;
if (areas_.find(storage_area_id) != areas_.end()) {
@@ -171,11 +181,11 @@ void LocalStorageCachedArea::KeyDeleted(mojo::Array<uint8_t> key,
}
blink::WebStorageEventDispatcher::dispatchLocalStorageEvent(
- key_string, old_value.To<base::string16>(), base::NullableString16(),
+ key_string, Uint8VectorToString16(old_value), base::NullableString16(),
GURL(origin_.Serialize()), page_url, originating_area);
}
-void LocalStorageCachedArea::AllDeleted(const mojo::String& source) {
+void LocalStorageCachedArea::AllDeleted(const std::string& source) {
GURL page_url;
std::string storage_area_id;
UnpackSource(source, &page_url, &storage_area_id);
@@ -207,11 +217,11 @@ void LocalStorageCachedArea::AllDeleted(const mojo::String& source) {
originating_area);
}
-void LocalStorageCachedArea::GetAllComplete(const mojo::String& source) {
+void LocalStorageCachedArea::GetAllComplete(const std::string& source) {
// Since the GetAll method is synchronous, we need this asynchronously
// delivered notification to avoid applying changes to the returned array
// that we already have.
- if (source.To<std::string>() == get_all_request_id_) {
+ if (source == get_all_request_id_) {
DCHECK(ignore_all_mutations_);
DCHECK(!get_all_request_id_.empty());
ignore_all_mutations_ = false;
@@ -220,16 +230,16 @@ void LocalStorageCachedArea::GetAllComplete(const mojo::String& source) {
}
void LocalStorageCachedArea::KeyAddedOrChanged(
- mojo::Array<uint8_t> key,
- mojo::Array<uint8_t> new_value,
+ const std::vector<uint8_t>& key,
+ const std::vector<uint8_t>& new_value,
const base::NullableString16& old_value,
- const mojo::String& source) {
+ const std::string& source) {
GURL page_url;
std::string storage_area_id;
UnpackSource(source, &page_url, &storage_area_id);
- base::string16 key_string = key.To<base::string16>();
- base::string16 new_value_string = new_value.To<base::string16>();
+ base::string16 key_string = Uint8VectorToString16(key);
+ base::string16 new_value_string = Uint8VectorToString16(new_value);
blink::WebStorageArea* originating_area = nullptr;
if (areas_.find(storage_area_id) != areas_.end()) {
@@ -264,13 +274,13 @@ void LocalStorageCachedArea::EnsureLoaded() {
ignore_all_mutations_ = true;
get_all_request_id_ = base::Uint64ToString(base::RandUint64());
leveldb::mojom::DatabaseError status = leveldb::mojom::DatabaseError::OK;
- mojo::Array<content::mojom::KeyValuePtr> data;
+ std::vector<content::mojom::KeyValuePtr> data;
leveldb_->GetAll(get_all_request_id_, &status, &data);
DOMStorageValuesMap values;
for (size_t i = 0; i < data.size(); ++i) {
- values[data[i]->key.To<base::string16>()] =
- base::NullableString16(data[i]->value.To<base::string16>(), false);
+ values[Uint8VectorToString16(data[i]->key)] =
+ base::NullableString16(Uint8VectorToString16(data[i]->value), false);
}
map_ = new DOMStorageMap(kPerStorageAreaQuota);
« no previous file with comments | « content/renderer/dom_storage/local_storage_cached_area.h ('k') | content/renderer/image_downloader/image_downloader_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698