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

Unified Diff: ios/consumer/base/supports_user_data.cc

Issue 781643004: Cleanup WebState and WebStateUserData API (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Remove extra destructor Created 6 years 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
« no previous file with comments | « no previous file | ios/consumer/base/supports_user_data_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ios/consumer/base/supports_user_data.cc
diff --git a/ios/consumer/base/supports_user_data.cc b/ios/consumer/base/supports_user_data.cc
deleted file mode 100644
index 74ed3a7210c2e422b12177729dea2d73f868b614..0000000000000000000000000000000000000000
--- a/ios/consumer/base/supports_user_data.cc
+++ /dev/null
@@ -1,90 +0,0 @@
-// Copyright 2013 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "ios/public/consumer/base/supports_user_data.h"
-
-#include "base/memory/scoped_ptr.h"
-#include "base/supports_user_data.h"
-
-namespace ios {
-
-// Class that wraps a ios::SupportsUserData::Data object in a
-// base::SupportsUserData::Data object. The wrapper object takes ownership of
-// the wrapped object and will delete it on destruction.
-class DataAdaptor : public base::SupportsUserData::Data {
- public:
- DataAdaptor(SupportsUserData::Data* data);
- virtual ~DataAdaptor();
-
- SupportsUserData::Data* data() { return data_.get(); }
-
- private:
- scoped_ptr<SupportsUserData::Data> data_;
-};
-
-DataAdaptor::DataAdaptor(SupportsUserData::Data* data)
- : data_(data) {}
-
-DataAdaptor::~DataAdaptor() {}
-
-// Class that subclasses base::SupportsUserData in order to enable it to
-// support ios::SupportsUserData::Data objects. It accomplishes this by
-// wrapping these objects internally in ios::DataAdaptor objects.
-class SupportsUserDataInternal : public base::SupportsUserData {
- public:
- // Returns the data that is associated with |key|, or NULL if there is no
- // such associated data.
- ios::SupportsUserData::Data* GetIOSUserData(const void* key);
-
- // Associates |data| with |key|. Takes ownership of |data| and will delete it
- // on either a call to |RemoveUserData(key)| or otherwise on destruction.
- void SetIOSUserData(const void* key, ios::SupportsUserData::Data* data);
-
- private:
- SupportsUserDataInternal() {}
- virtual ~SupportsUserDataInternal() {}
-
- friend class ios::SupportsUserData;
-};
-
-ios::SupportsUserData::Data* SupportsUserDataInternal::GetIOSUserData(
- const void* key) {
- DataAdaptor* adaptor = static_cast<DataAdaptor*>(
- base::SupportsUserData::GetUserData(key));
- if (!adaptor)
- return NULL;
- return adaptor->data();
-}
-
-void SupportsUserDataInternal::SetIOSUserData(
- const void* key, ios::SupportsUserData::Data* data) {
- base::SupportsUserData::SetUserData(key, new DataAdaptor(data));
-}
-
-// ios::SupportsUserData implementation.
-SupportsUserData::SupportsUserData()
- : internal_helper_(new SupportsUserDataInternal()) {
-}
-
-SupportsUserData::~SupportsUserData() {
- delete internal_helper_;
-}
-
-SupportsUserData::Data* SupportsUserData::GetUserData(const void* key) const {
- return internal_helper_->GetIOSUserData(key);
-}
-
-void SupportsUserData::SetUserData(const void* key, Data* data) {
- internal_helper_->SetIOSUserData(key, data);
-}
-
-void SupportsUserData::RemoveUserData(const void* key) {
- internal_helper_->RemoveUserData(key);
-}
-
-void SupportsUserData::DetachUserDataThread() {
- internal_helper_->DetachUserDataThread();
-}
-
-} // namespace ios
« no previous file with comments | « no previous file | ios/consumer/base/supports_user_data_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698