| Index: chrome/browser/loader/chrome_navigation_data.h
|
| diff --git a/chrome/browser/loader/chrome_navigation_data.h b/chrome/browser/loader/chrome_navigation_data.h
|
| index 30268fa656073b351c38f56e57fbc10abb81d93a..a0517f6bed07ebd973b21ed3bf0a6388023e9db9 100644
|
| --- a/chrome/browser/loader/chrome_navigation_data.h
|
| +++ b/chrome/browser/loader/chrome_navigation_data.h
|
| @@ -4,54 +4,76 @@
|
|
|
| #ifndef CHROME_BROWSER_LOADER_CHROME_NAVIGATION_DATA_H_
|
| #define CHROME_BROWSER_LOADER_CHROME_NAVIGATION_DATA_H_
|
|
|
| #include <memory>
|
|
|
| #include "base/macros.h"
|
| #include "base/supports_user_data.h"
|
| #include "content/public/browser/navigation_data.h"
|
|
|
| +namespace content {
|
| +class NavigationHandle;
|
| +}
|
| +
|
| namespace data_reduction_proxy {
|
| class DataReductionProxyData;
|
| }
|
|
|
| namespace net {
|
| class URLRequest;
|
| }
|
|
|
| +namespace offline_pages {
|
| +class LoadedOfflinePageInfo;
|
| +}
|
| +
|
| class ChromeNavigationData : public content::NavigationData,
|
| public base::SupportsUserData::Data {
|
| public:
|
| ChromeNavigationData();
|
| ~ChromeNavigationData() override;
|
|
|
| // Creates a new ChromeNavigationData that is a deep copy of the original. Any
|
| // changes to the original after the clone is created will not be reflected in
|
| // the clone.
|
| // |data_reduction_proxy_data_| is deep copied.
|
| std::unique_ptr<content::NavigationData> Clone() const override;
|
|
|
| // Takes ownership of |data_reduction_proxy_data|.
|
| void SetDataReductionProxyData(
|
| std::unique_ptr<data_reduction_proxy::DataReductionProxyData>
|
| - data_reduction_proxy_data) {
|
| - data_reduction_proxy_data_ = std::move(data_reduction_proxy_data);
|
| - }
|
| + data_reduction_proxy_data);
|
|
|
| data_reduction_proxy::DataReductionProxyData* GetDataReductionProxyData()
|
| const {
|
| return data_reduction_proxy_data_.get();
|
| }
|
|
|
| + // Takes ownership of |loaded_offline_page_info|.
|
| + void SetLoadedOfflinePageInfo(
|
| + std::unique_ptr<offline_pages::LoadedOfflinePageInfo>
|
| + loaded_offline_page_info);
|
| +
|
| + offline_pages::LoadedOfflinePageInfo* GetLoadedOfflinePageInfo() const {
|
| + return loaded_offline_page_info_.get();
|
| + }
|
| +
|
| static ChromeNavigationData* GetDataAndCreateIfNecessary(
|
| net::URLRequest* request);
|
|
|
| + static ChromeNavigationData* GetForNavigationHandle(
|
| + content::NavigationHandle* navigation_handle);
|
| +
|
| private:
|
| // Manages the lifetime of optional DataReductionProxy information.
|
| std::unique_ptr<data_reduction_proxy::DataReductionProxyData>
|
| data_reduction_proxy_data_;
|
|
|
| + // Manages the lifetime of optional LoadedOfflinePageInfo information.
|
| + std::unique_ptr<offline_pages::LoadedOfflinePageInfo>
|
| + loaded_offline_page_info_;
|
| +
|
| DISALLOW_COPY_AND_ASSIGN(ChromeNavigationData);
|
| };
|
|
|
| #endif // CHROME_BROWSER_LOADER_CHROME_NAVIGATION_DATA_H_
|
|
|