| Index: chrome/browser/extensions/api/web_request/upload_data_presenter.h
|
| diff --git a/chrome/browser/extensions/api/web_request/upload_data_presenter.h b/chrome/browser/extensions/api/web_request/upload_data_presenter.h
|
| deleted file mode 100644
|
| index fa0cc4a0dd74523e496f5856d25bab5d6f2014dd..0000000000000000000000000000000000000000
|
| --- a/chrome/browser/extensions/api/web_request/upload_data_presenter.h
|
| +++ /dev/null
|
| @@ -1,129 +0,0 @@
|
| -// Copyright (c) 2012 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.
|
| -
|
| -#ifndef CHROME_BROWSER_EXTENSIONS_API_WEB_REQUEST_UPLOAD_DATA_PRESENTER_H_
|
| -#define CHROME_BROWSER_EXTENSIONS_API_WEB_REQUEST_UPLOAD_DATA_PRESENTER_H_
|
| -
|
| -#include <string>
|
| -#include <vector>
|
| -
|
| -#include "base/gtest_prod_util.h"
|
| -#include "base/memory/scoped_ptr.h"
|
| -
|
| -namespace base {
|
| -class DictionaryValue;
|
| -class ListValue;
|
| -class Value;
|
| -}
|
| -
|
| -namespace extensions {
|
| -class FormDataParser;
|
| -}
|
| -
|
| -namespace net {
|
| -class URLRequest;
|
| -class UploadElementReader;
|
| -}
|
| -
|
| -namespace extensions {
|
| -
|
| -namespace subtle {
|
| -
|
| -// Helpers shared with unit-tests.
|
| -
|
| -// Appends a dictionary {'key': 'value'} to |list|. |list| becomes the owner of
|
| -// |value|.
|
| -void AppendKeyValuePair(const char* key,
|
| - base::Value* value,
|
| - base::ListValue* list);
|
| -
|
| -} // namespace subtle
|
| -
|
| -FORWARD_DECLARE_TEST(WebRequestUploadDataPresenterTest, RawData);
|
| -
|
| -// UploadDataPresenter is an interface for objects capable to consume a series
|
| -// of UploadElementReader and represent this data as a base:Value.
|
| -//
|
| -// Workflow for objects implementing this interface:
|
| -// 1. Call object->FeedNext(reader) for each element from the request's body.
|
| -// 2. Check if object->Succeeded().
|
| -// 3. If that check passed then retrieve object->Result().
|
| -class UploadDataPresenter {
|
| - public:
|
| - virtual ~UploadDataPresenter();
|
| - virtual void FeedNext(const net::UploadElementReader& reader) = 0;
|
| - virtual bool Succeeded() = 0;
|
| - virtual scoped_ptr<base::Value> Result() = 0;
|
| -
|
| - protected:
|
| - UploadDataPresenter() {}
|
| -
|
| - private:
|
| - DISALLOW_COPY_AND_ASSIGN(UploadDataPresenter);
|
| -};
|
| -
|
| -// This class passes all the bytes from bytes elements as a BinaryValue for each
|
| -// such element. File elements are presented as StringValue containing the path
|
| -// for that file.
|
| -class RawDataPresenter : public UploadDataPresenter {
|
| - public:
|
| - RawDataPresenter();
|
| - virtual ~RawDataPresenter();
|
| -
|
| - // Implementation of UploadDataPresenter.
|
| - virtual void FeedNext(const net::UploadElementReader& reader) OVERRIDE;
|
| - virtual bool Succeeded() OVERRIDE;
|
| - virtual scoped_ptr<base::Value> Result() OVERRIDE;
|
| -
|
| - private:
|
| - void FeedNextBytes(const char* bytes, size_t size);
|
| - void FeedNextFile(const std::string& filename);
|
| - FRIEND_TEST_ALL_PREFIXES(WebRequestUploadDataPresenterTest, RawData);
|
| -
|
| - bool success_;
|
| - scoped_ptr<base::ListValue> list_;
|
| -
|
| - DISALLOW_COPY_AND_ASSIGN(RawDataPresenter);
|
| -};
|
| -
|
| -// This class inspects the contents of bytes elements. It uses the
|
| -// parser classes inheriting from FormDataParser to parse the concatenated
|
| -// content of such elements. If the parsing is successful, the parsed form is
|
| -// returned as a DictionaryValue. For example, a form consisting of
|
| -// <input name="check" type="checkbox" value="A" checked />
|
| -// <input name="check" type="checkbox" value="B" checked />
|
| -// <input name="text" type="text" value="abc" />
|
| -// would be represented as {"check": ["A", "B"], "text": ["abc"]} (although as a
|
| -// DictionaryValue, not as a JSON string).
|
| -class ParsedDataPresenter : public UploadDataPresenter {
|
| - public:
|
| - explicit ParsedDataPresenter(const net::URLRequest& request);
|
| - virtual ~ParsedDataPresenter();
|
| -
|
| - // Implementation of UploadDataPresenter.
|
| - virtual void FeedNext(const net::UploadElementReader& reader) OVERRIDE;
|
| - virtual bool Succeeded() OVERRIDE;
|
| - virtual scoped_ptr<base::Value> Result() OVERRIDE;
|
| -
|
| - // Allows to create ParsedDataPresenter without the URLRequest. Uses the
|
| - // parser for "application/x-www-form-urlencoded" form encoding. Only use this
|
| - // in tests.
|
| - static scoped_ptr<ParsedDataPresenter> CreateForTests();
|
| -
|
| - private:
|
| - // This constructor is used in CreateForTests.
|
| - explicit ParsedDataPresenter(const std::string& form_type);
|
| -
|
| - // Clears resources and the success flag.
|
| - void Abort();
|
| - scoped_ptr<FormDataParser> parser_;
|
| - bool success_;
|
| - scoped_ptr<base::DictionaryValue> dictionary_;
|
| -
|
| - DISALLOW_COPY_AND_ASSIGN(ParsedDataPresenter);
|
| -};
|
| -
|
| -} // namespace extensions
|
| -
|
| -#endif // CHROME_BROWSER_EXTENSIONS_API_WEB_REQUEST_UPLOAD_DATA_PRESENTER_H_
|
|
|