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

Unified Diff: chrome/browser/loader/chrome_navigation_data.h

Issue 2362033002: Showing previews UI for Offline Previews (Closed)
Patch Set: megjablon comments rebase Created 4 years, 2 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: 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_

Powered by Google App Engine
This is Rietveld 408576698