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

Side by Side Diff: chrome/browser/ui/views/status_icons/status_tray_state_changer_win.cc

Issue 1865213004: Convert //chrome/browser/ui from scoped_ptr to std::unique_ptr (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase Created 4 years, 8 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 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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/ui/views/status_icons/status_tray_state_changer_win.h" 5 #include "chrome/browser/ui/views/status_icons/status_tray_state_changer_win.h"
6 6
7 #include <utility> 7 #include <utility>
8 8
9 namespace { 9 namespace {
10 10
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
60 } 60 }
61 61
62 void StatusTrayStateChangerWin::EnsureTrayIconVisible() { 62 void StatusTrayStateChangerWin::EnsureTrayIconVisible() {
63 DCHECK(CalledOnValidThread()); 63 DCHECK(CalledOnValidThread());
64 64
65 if (!CreateTrayNotify()) { 65 if (!CreateTrayNotify()) {
66 VLOG(1) << "Unable to create COM object for ITrayNotify."; 66 VLOG(1) << "Unable to create COM object for ITrayNotify.";
67 return; 67 return;
68 } 68 }
69 69
70 scoped_ptr<NOTIFYITEM> notify_item = RegisterCallback(); 70 std::unique_ptr<NOTIFYITEM> notify_item = RegisterCallback();
71 71
72 // If the user has already hidden us explicitly, try to honor their choice by 72 // If the user has already hidden us explicitly, try to honor their choice by
73 // not changing anything. 73 // not changing anything.
74 if (notify_item->preference == PREFERENCE_SHOW_NEVER) 74 if (notify_item->preference == PREFERENCE_SHOW_NEVER)
75 return; 75 return;
76 76
77 // If we are already on the taskbar, return since nothing needs to be done. 77 // If we are already on the taskbar, return since nothing needs to be done.
78 if (notify_item->preference == PREFERENCE_SHOW_ALWAYS) 78 if (notify_item->preference == PREFERENCE_SHOW_ALWAYS)
79 return; 79 return;
80 80
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
142 base::win::ScopedComPtr<ITrayNotify> tray_notify_legacy; 142 base::win::ScopedComPtr<ITrayNotify> tray_notify_legacy;
143 hr = tray_notify_legacy.QueryFrom(tray_notify_.get()); 143 hr = tray_notify_legacy.QueryFrom(tray_notify_.get());
144 if (SUCCEEDED(hr)) { 144 if (SUCCEEDED(hr)) {
145 interface_version_ = INTERFACE_VERSION_LEGACY; 145 interface_version_ = INTERFACE_VERSION_LEGACY;
146 return true; 146 return true;
147 } 147 }
148 148
149 return false; 149 return false;
150 } 150 }
151 151
152 scoped_ptr<NOTIFYITEM> StatusTrayStateChangerWin::RegisterCallback() { 152 std::unique_ptr<NOTIFYITEM> StatusTrayStateChangerWin::RegisterCallback() {
153 // |notify_item_| is used to store the result of the callback from 153 // |notify_item_| is used to store the result of the callback from
154 // Explorer.exe, which happens synchronously during 154 // Explorer.exe, which happens synchronously during
155 // RegisterCallbackWin8 or RegisterCallbackLegacy. 155 // RegisterCallbackWin8 or RegisterCallbackLegacy.
156 DCHECK(notify_item_.get() == NULL); 156 DCHECK(notify_item_.get() == NULL);
157 157
158 // TODO(dewittj): Add UMA logging here to report if either of our strategies 158 // TODO(dewittj): Add UMA logging here to report if either of our strategies
159 // has a tendency to fail on particular versions of Windows. 159 // has a tendency to fail on particular versions of Windows.
160 switch (interface_version_) { 160 switch (interface_version_) {
161 case INTERFACE_VERSION_WIN8: 161 case INTERFACE_VERSION_WIN8:
162 if (!RegisterCallbackWin8()) 162 if (!RegisterCallbackWin8())
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
212 hr = tray_notify->RegisterCallback(this); 212 hr = tray_notify->RegisterCallback(this);
213 tray_notify->RegisterCallback(NULL); 213 tray_notify->RegisterCallback(NULL);
214 if (FAILED(hr)) { 214 if (FAILED(hr)) {
215 return false; 215 return false;
216 } 216 }
217 217
218 return true; 218 return true;
219 } 219 }
220 220
221 void StatusTrayStateChangerWin::SendNotifyItemUpdate( 221 void StatusTrayStateChangerWin::SendNotifyItemUpdate(
222 scoped_ptr<NOTIFYITEM> notify_item) { 222 std::unique_ptr<NOTIFYITEM> notify_item) {
223 if (interface_version_ == INTERFACE_VERSION_LEGACY) { 223 if (interface_version_ == INTERFACE_VERSION_LEGACY) {
224 base::win::ScopedComPtr<ITrayNotify> tray_notify; 224 base::win::ScopedComPtr<ITrayNotify> tray_notify;
225 HRESULT hr = tray_notify.QueryFrom(tray_notify_.get()); 225 HRESULT hr = tray_notify.QueryFrom(tray_notify_.get());
226 if (SUCCEEDED(hr)) 226 if (SUCCEEDED(hr))
227 tray_notify->SetPreference(notify_item.get()); 227 tray_notify->SetPreference(notify_item.get());
228 } else if (interface_version_ == INTERFACE_VERSION_WIN8) { 228 } else if (interface_version_ == INTERFACE_VERSION_WIN8) {
229 base::win::ScopedComPtr<ITrayNotifyWin8> tray_notify; 229 base::win::ScopedComPtr<ITrayNotifyWin8> tray_notify;
230 HRESULT hr = tray_notify.QueryFrom(tray_notify_.get()); 230 HRESULT hr = tray_notify.QueryFrom(tray_notify_.get());
231 if (SUCCEEDED(hr)) 231 if (SUCCEEDED(hr))
232 tray_notify->SetPreference(notify_item.get()); 232 tray_notify->SetPreference(notify_item.get());
233 } 233 }
234 } 234 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698