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

Side by Side Diff: chrome/browser/data_usage/tab_id_annotator.cc

Issue 1551503002: Convert Pass()→std::move() in //chrome (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 12 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 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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/data_usage/tab_id_annotator.h" 5 #include "chrome/browser/data_usage/tab_id_annotator.h"
6 6
7 #include <stdint.h> 7 #include <stdint.h>
8 #include <utility>
8 9
9 #include "base/bind.h" 10 #include "base/bind.h"
10 #include "base/callback.h" 11 #include "base/callback.h"
11 #include "base/location.h" 12 #include "base/location.h"
12 #include "base/memory/ref_counted.h" 13 #include "base/memory/ref_counted.h"
13 #include "base/single_thread_task_runner.h" 14 #include "base/single_thread_task_runner.h"
14 #include "chrome/browser/data_usage/tab_id_provider.h" 15 #include "chrome/browser/data_usage/tab_id_provider.h"
15 #include "chrome/browser/sessions/session_tab_helper.h" 16 #include "chrome/browser/sessions/session_tab_helper.h"
16 #include "components/data_usage/core/data_use.h" 17 #include "components/data_usage/core/data_use.h"
17 #include "content/public/browser/browser_thread.h" 18 #include "content/public/browser/browser_thread.h"
(...skipping 23 matching lines...) Expand all
41 // This is done in a separate function instead of as a method on TabIdAnnotator 42 // This is done in a separate function instead of as a method on TabIdAnnotator
42 // so that an in-progress annotation can complete even if the TabIdAnnotator is 43 // so that an in-progress annotation can complete even if the TabIdAnnotator is
43 // destroyed. This doesn't make much of a difference for production code, but 44 // destroyed. This doesn't make much of a difference for production code, but
44 // makes it easier to test the TabIdAnnotator. 45 // makes it easier to test the TabIdAnnotator.
45 void AnnotateDataUse( 46 void AnnotateDataUse(
46 scoped_ptr<DataUse> data_use, 47 scoped_ptr<DataUse> data_use,
47 const data_usage::DataUseAnnotator::DataUseConsumerCallback& callback, 48 const data_usage::DataUseAnnotator::DataUseConsumerCallback& callback,
48 int32_t tab_id) { 49 int32_t tab_id) {
49 DCHECK(data_use); 50 DCHECK(data_use);
50 data_use->tab_id = tab_id; 51 data_use->tab_id = tab_id;
51 callback.Run(data_use.Pass()); 52 callback.Run(std::move(data_use));
52 } 53 }
53 54
54 } // namespace 55 } // namespace
55 56
56 TabIdAnnotator::TabIdAnnotator() {} 57 TabIdAnnotator::TabIdAnnotator() {}
57 TabIdAnnotator::~TabIdAnnotator() {} 58 TabIdAnnotator::~TabIdAnnotator() {}
58 59
59 void TabIdAnnotator::Annotate(net::URLRequest* request, 60 void TabIdAnnotator::Annotate(net::URLRequest* request,
60 scoped_ptr<DataUse> data_use, 61 scoped_ptr<DataUse> data_use,
61 const DataUseConsumerCallback& callback) { 62 const DataUseConsumerCallback& callback) {
62 DCHECK(thread_checker_.CalledOnValidThread()); 63 DCHECK(thread_checker_.CalledOnValidThread());
63 DCHECK(data_use); 64 DCHECK(data_use);
64 65
65 TabIdProvider* existing_tab_id_provider = reinterpret_cast<TabIdProvider*>( 66 TabIdProvider* existing_tab_id_provider = reinterpret_cast<TabIdProvider*>(
66 request->GetUserData(TabIdProvider::kUserDataKey)); 67 request->GetUserData(TabIdProvider::kUserDataKey));
67 if (existing_tab_id_provider) { 68 if (existing_tab_id_provider) {
68 existing_tab_id_provider->ProvideTabId( 69 existing_tab_id_provider->ProvideTabId(
69 base::Bind(&AnnotateDataUse, base::Passed(&data_use), callback)); 70 base::Bind(&AnnotateDataUse, base::Passed(&data_use), callback));
70 return; 71 return;
71 } 72 }
72 73
73 int render_process_id = -1, render_frame_id = -1; 74 int render_process_id = -1, render_frame_id = -1;
74 if (!content::ResourceRequestInfo::GetRenderFrameForRequest( 75 if (!content::ResourceRequestInfo::GetRenderFrameForRequest(
75 request, &render_process_id, &render_frame_id)) { 76 request, &render_process_id, &render_frame_id)) {
76 // Run the callback immediately with a tab ID of -1 if the request has no 77 // Run the callback immediately with a tab ID of -1 if the request has no
77 // render frame. 78 // render frame.
78 AnnotateDataUse(data_use.Pass(), callback, -1 /* tab_id */); 79 AnnotateDataUse(std::move(data_use), callback, -1 /* tab_id */);
79 return; 80 return;
80 } 81 }
81 82
82 scoped_refptr<base::SingleThreadTaskRunner> ui_thread_task_runner = 83 scoped_refptr<base::SingleThreadTaskRunner> ui_thread_task_runner =
83 BrowserThread::GetMessageLoopProxyForThread(BrowserThread::UI); 84 BrowserThread::GetMessageLoopProxyForThread(BrowserThread::UI);
84 scoped_ptr<TabIdProvider> tab_id_provider(new TabIdProvider( 85 scoped_ptr<TabIdProvider> tab_id_provider(new TabIdProvider(
85 ui_thread_task_runner.get(), FROM_HERE, 86 ui_thread_task_runner.get(), FROM_HERE,
86 base::Bind(&GetTabIdForRenderFrame, render_process_id, render_frame_id))); 87 base::Bind(&GetTabIdForRenderFrame, render_process_id, render_frame_id)));
87 tab_id_provider->ProvideTabId( 88 tab_id_provider->ProvideTabId(
88 base::Bind(&AnnotateDataUse, base::Passed(&data_use), callback)); 89 base::Bind(&AnnotateDataUse, base::Passed(&data_use), callback));
89 90
90 // |request| takes ownership of |tab_id_provider|. 91 // |request| takes ownership of |tab_id_provider|.
91 request->SetUserData(TabIdProvider::kUserDataKey, tab_id_provider.release()); 92 request->SetUserData(TabIdProvider::kUserDataKey, tab_id_provider.release());
92 } 93 }
93 94
94 } // namespace chrome_browser_data_usage 95 } // namespace chrome_browser_data_usage
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698