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

Unified Diff: chrome/browser/offline_pages/offliner_user_data.cc

Issue 2933193003: Headers for resource tracking. (Closed)
Patch Set: Update build file and ensure proper enabling of offline code. Created 3 years, 6 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/offline_pages/offliner_user_data.cc
diff --git a/chrome/browser/offline_pages/offliner_user_data.cc b/chrome/browser/offline_pages/offliner_user_data.cc
new file mode 100644
index 0000000000000000000000000000000000000000..f25a5a5b59b70da1e86c1e70bd48696963e482b9
--- /dev/null
+++ b/chrome/browser/offline_pages/offliner_user_data.cc
@@ -0,0 +1,49 @@
+// Copyright 2017 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 "chrome/browser/offline_pages/offliner_user_data.h"
+
+#if BUILDFLAG(ENABLE_OFFLINE_PAGES)
+#include "chrome/browser/offline_pages/background_loader_offliner.h"
+#endif
+
+class ResourceTrackerObserver;
+
+namespace offline_pages {
+
+void OfflinerUserData::AddToWebContents(content::WebContents* webcontents,
+ Offliner* offliner) {
+ DCHECK(offliner);
+ webcontents->SetUserData(UserDataKey(), std::unique_ptr<OfflinerUserData>(
+ new OfflinerUserData(offliner)));
+}
+
+// static - gets the data pointer as a BackgroundLoaderOffliner
+Offliner* OfflinerUserData::OfflinerFromWebContents(
+ content::WebContents* webcontents) {
+ OfflinerUserData* data = OfflinerUserData::FromWebContents(webcontents);
+ if (data)
+ return data->offliner();
+
+ return nullptr;
+}
+
+// static - gets the data pointer as a ResourceTrackerObserver
+ResourceTrackerObserver*
+OfflinerUserData::ResourceTrackerObserverFromWebContents(
+ content::WebContents* webcontents) {
+#if BUILDFLAG(ENABLE_OFFLINE_PAGES)
Dmitry Titov 2017/06/14 19:56:37 It's strange to have the flag check in offline_pag
Pete Williamson 2017/06/15 01:03:27 Removed.
+ OfflinerUserData* data = OfflinerUserData::FromWebContents(webcontents);
+ if (data)
+ return static_cast<ResourceTrackerObserver*>(
+ static_cast<offline_pages::BackgroundLoaderOffliner*>(
+ data->offliner()));
+#endif
+
+ return nullptr;
+}
+
+} // namespace offline_pages
+
+DEFINE_WEB_CONTENTS_USER_DATA_KEY(offline_pages::OfflinerUserData);

Powered by Google App Engine
This is Rietveld 408576698