| Index: chrome/browser/page_state.cc
|
| diff --git a/chrome/browser/page_state.cc b/chrome/browser/page_state.cc
|
| deleted file mode 100644
|
| index 19764f0d336db348f964cff7839cc9fe9f1c58ce..0000000000000000000000000000000000000000
|
| --- a/chrome/browser/page_state.cc
|
| +++ /dev/null
|
| @@ -1,111 +0,0 @@
|
| -// Copyright (c) 2006-2008 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 <string>
|
| -
|
| -#include "base/basictypes.h"
|
| -#include "base/logging.h"
|
| -#include "base/string_number_conversions.h"
|
| -#include "base/utf_string_conversions.h"
|
| -#include "chrome/browser/page_state.h"
|
| -#include "chrome/common/json_value_serializer.h"
|
| -#include "googleurl/src/gurl.h"
|
| -#include "net/base/escape.h"
|
| -
|
| -void PageState::InitWithURL(const GURL& url) {
|
| - // Reset our state
|
| - state_.reset(new DictionaryValue);
|
| -
|
| - std::string query_string = url.query();
|
| - if (query_string.empty())
|
| - return;
|
| -
|
| - url_parse::Component queryComp, keyComp, valueComp;
|
| - queryComp.len = static_cast<int>(query_string.size());
|
| - while (url_parse::ExtractQueryKeyValue(query_string.c_str(), &queryComp,
|
| - &keyComp, &valueComp)) {
|
| - if (keyComp.is_nonempty()) {
|
| - std::string escaped = query_string.substr(valueComp.begin,
|
| - valueComp.len);
|
| - // We know that the query string is UTF-8 since it's an internal URL.
|
| - std::wstring value = UTF8ToWide(
|
| - UnescapeURLComponent(escaped, UnescapeRule::REPLACE_PLUS_WITH_SPACE));
|
| - state_->Set(UTF8ToWide(query_string.substr(keyComp.begin, keyComp.len)),
|
| - new StringValue(value));
|
| - }
|
| - }
|
| -}
|
| -
|
| -void PageState::InitWithBytes(const std::string& bytes) {
|
| - // Reset our state. We create a new empty one just in case
|
| - // deserialization fails
|
| - state_.reset(new DictionaryValue);
|
| -
|
| - JSONStringValueSerializer serializer(bytes);
|
| - scoped_ptr<Value> root(serializer.Deserialize(NULL, NULL));
|
| -
|
| - if (!root.get()) {
|
| - NOTREACHED();
|
| - return;
|
| - }
|
| -
|
| - if (root->GetType() == Value::TYPE_DICTIONARY)
|
| - state_.reset(static_cast<DictionaryValue*>(root.release()));
|
| -}
|
| -
|
| -void PageState::GetByteRepresentation(std::string* out) const {
|
| - JSONStringValueSerializer serializer(out);
|
| - if (!serializer.Serialize(*state_))
|
| - NOTREACHED();
|
| -}
|
| -
|
| -void PageState::SetProperty(const std::wstring& key,
|
| - const std::wstring& value) {
|
| - state_->Set(key, new StringValue(value));
|
| -}
|
| -
|
| -bool PageState::GetProperty(const std::wstring& key,
|
| - std::wstring* value) const {
|
| - if (state_->HasKey(key)) {
|
| - Value* v;
|
| - state_->Get(key, &v);
|
| - if (v->GetType() == Value::TYPE_STRING) {
|
| - StringValue* sv = reinterpret_cast<StringValue*>(v);
|
| - sv->GetAsString(value);
|
| - return true;
|
| - }
|
| - }
|
| - return false;
|
| -}
|
| -
|
| -void PageState::SetInt64Property(const std::wstring& key, int64 value) {
|
| - SetProperty(key, UTF8ToWide(base::Int64ToString(value)));
|
| -}
|
| -
|
| -bool PageState::GetInt64Property(const std::wstring& key, int64* value) const {
|
| - std::wstring v;
|
| - if (GetProperty(key, &v)) {
|
| - return base::StringToInt64(WideToUTF8(v), value);
|
| - }
|
| - return false;
|
| -}
|
| -
|
| -void PageState::SetIntProperty(const std::wstring& key, int value) {
|
| - SetProperty(key, UTF8ToWide(base::IntToString(value)));
|
| -}
|
| -
|
| -bool PageState::GetIntProperty(const std::wstring& key, int* value) const {
|
| - std::wstring v;
|
| - if (GetProperty(key, &v)) {
|
| - return base::StringToInt(WideToUTF8(v), value);
|
| - }
|
| - return false;
|
| -}
|
| -
|
| -PageState* PageState::Copy() const {
|
| - PageState* copy = new PageState();
|
| - if (state_.get())
|
| - copy->state_.reset(static_cast<DictionaryValue*>(state_->DeepCopy()));
|
| - return copy;
|
| -}
|
|
|