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

Side by Side Diff: chrome/browser/loader/chrome_navigation_data.cc

Issue 2916253002: Add UMA to determine how often we offline a page with previews. (Closed)
Patch Set: 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 unified diff | Download patch
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/loader/chrome_navigation_data.h" 5 #include "chrome/browser/loader/chrome_navigation_data.h"
6 6
7 #include "base/memory/ptr_util.h" 7 #include "base/memory/ptr_util.h"
8 #include "components/data_reduction_proxy/core/browser/data_reduction_proxy_data .h" 8 #include "components/data_reduction_proxy/core/browser/data_reduction_proxy_data .h"
RyanSturm 2017/06/02 20:50:33 Don't need data_reduction_proxy_data.h included in
Pete Williamson 2017/06/02 21:40:32 Done.
9 #include "net/url_request/url_request.h" 9 #include "net/url_request/url_request.h"
10 10
11 const void* const kChromeNavigationDataUserDataKey = 11 const void* const kChromeNavigationDataUserDataKey =
12 &kChromeNavigationDataUserDataKey; 12 &kChromeNavigationDataUserDataKey;
13 13
14 ChromeNavigationData::ChromeNavigationData() {} 14 ChromeNavigationData::ChromeNavigationData()
15 : previews_state_(content::PreviewsTypes::PREVIEWS_UNSPECIFIED) {}
15 16
16 ChromeNavigationData::~ChromeNavigationData() {} 17 ChromeNavigationData::~ChromeNavigationData() {}
17 18
18 ChromeNavigationData* ChromeNavigationData::GetDataAndCreateIfNecessary( 19 ChromeNavigationData* ChromeNavigationData::GetDataAndCreateIfNecessary(
19 net::URLRequest* request) { 20 net::URLRequest* request) {
20 if (!request) 21 if (!request)
21 return nullptr; 22 return nullptr;
22 ChromeNavigationData* data = static_cast<ChromeNavigationData*>( 23 ChromeNavigationData* data = static_cast<ChromeNavigationData*>(
23 request->GetUserData(kChromeNavigationDataUserDataKey)); 24 request->GetUserData(kChromeNavigationDataUserDataKey));
24 if (data) 25 if (data)
25 return data; 26 return data;
26 data = new ChromeNavigationData(); 27 data = new ChromeNavigationData();
27 request->SetUserData(kChromeNavigationDataUserDataKey, 28 request->SetUserData(kChromeNavigationDataUserDataKey,
28 base::WrapUnique(data)); 29 base::WrapUnique(data));
29 return data; 30 return data;
30 } 31 }
31 32
32 std::unique_ptr<content::NavigationData> ChromeNavigationData::Clone() const { 33 std::unique_ptr<content::NavigationData> ChromeNavigationData::Clone() const {
33 std::unique_ptr<ChromeNavigationData> copy(new ChromeNavigationData()); 34 std::unique_ptr<ChromeNavigationData> copy(new ChromeNavigationData());
34 if (data_reduction_proxy_data_) 35 if (data_reduction_proxy_data_)
RyanSturm 2017/06/02 20:50:33 You need to also copy the previews state over.
Pete Williamson 2017/06/02 21:40:32 Done.
35 copy->SetDataReductionProxyData(data_reduction_proxy_data_->DeepCopy()); 36 copy->SetDataReductionProxyData(data_reduction_proxy_data_->DeepCopy());
36 return std::move(copy); 37 return std::move(copy);
37 } 38 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698