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

Side by Side Diff: chrome/browser/extensions/extension_function_dispatcher.cc

Issue 15987009: Update chrome/ to use WeakPtr<T>::get() instead of implicit "operator T*" (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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/extensions/extension_function_dispatcher.h" 5 #include "chrome/browser/extensions/extension_function_dispatcher.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/json/json_string_value_serializer.h" 8 #include "base/json/json_string_value_serializer.h"
9 #include "base/lazy_instance.h" 9 #include "base/lazy_instance.h"
10 #include "base/logging.h" 10 #include "base/logging.h"
(...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after
142 error)); 142 error));
143 } 143 }
144 144
145 void IOThreadResponseCallback( 145 void IOThreadResponseCallback(
146 const base::WeakPtr<ChromeRenderMessageFilter>& ipc_sender, 146 const base::WeakPtr<ChromeRenderMessageFilter>& ipc_sender,
147 int routing_id, 147 int routing_id,
148 int request_id, 148 int request_id,
149 ExtensionFunction::ResponseType type, 149 ExtensionFunction::ResponseType type,
150 const base::ListValue& results, 150 const base::ListValue& results,
151 const std::string& error) { 151 const std::string& error) {
152 if (!ipc_sender) 152 if (!ipc_sender.get())
153 return; 153 return;
154 154
155 CommonResponseCallback(ipc_sender, routing_id, ipc_sender->peer_handle(), 155 CommonResponseCallback(ipc_sender.get(),
156 request_id, type, results, error); 156 routing_id,
157 ipc_sender->peer_handle(),
158 request_id,
159 type,
160 results,
161 error);
157 } 162 }
158 163
159 } // namespace 164 } // namespace
160 165
161 class ExtensionFunctionDispatcher::UIThreadResponseCallbackWrapper 166 class ExtensionFunctionDispatcher::UIThreadResponseCallbackWrapper
162 : public content::RenderViewHostObserver { 167 : public content::RenderViewHostObserver {
163 public: 168 public:
164 UIThreadResponseCallbackWrapper( 169 UIThreadResponseCallbackWrapper(
165 const base::WeakPtr<ExtensionFunctionDispatcher>& dispatcher, 170 const base::WeakPtr<ExtensionFunctionDispatcher>& dispatcher,
166 RenderViewHost* render_view_host) 171 RenderViewHost* render_view_host)
167 : content::RenderViewHostObserver(render_view_host), 172 : content::RenderViewHostObserver(render_view_host),
168 dispatcher_(dispatcher), 173 dispatcher_(dispatcher),
169 weak_ptr_factory_(this) { 174 weak_ptr_factory_(this) {
170 } 175 }
171 176
172 virtual ~UIThreadResponseCallbackWrapper() { 177 virtual ~UIThreadResponseCallbackWrapper() {
173 } 178 }
174 179
175 // content::RenderViewHostObserver overrides. 180 // content::RenderViewHostObserver overrides.
176 virtual void RenderViewHostDestroyed( 181 virtual void RenderViewHostDestroyed(
177 RenderViewHost* render_view_host) OVERRIDE { 182 RenderViewHost* render_view_host) OVERRIDE {
178 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 183 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
179 if (dispatcher_) { 184 if (dispatcher_.get()) {
180 dispatcher_->ui_thread_response_callback_wrappers_.erase( 185 dispatcher_->ui_thread_response_callback_wrappers_
181 render_view_host); 186 .erase(render_view_host);
182 } 187 }
183 188
184 // This call will delete |this|. 189 // This call will delete |this|.
185 content::RenderViewHostObserver::RenderViewHostDestroyed(render_view_host); 190 content::RenderViewHostObserver::RenderViewHostDestroyed(render_view_host);
186 } 191 }
187 192
188 ExtensionFunction::ResponseCallback CreateCallback(int request_id) { 193 ExtensionFunction::ResponseCallback CreateCallback(int request_id) {
189 return base::Bind( 194 return base::Bind(
190 &UIThreadResponseCallbackWrapper::OnExtensionFunctionCompleted, 195 &UIThreadResponseCallbackWrapper::OnExtensionFunctionCompleted,
191 weak_ptr_factory_.GetWeakPtr(), 196 weak_ptr_factory_.GetWeakPtr(),
(...skipping 334 matching lines...) Expand 10 before | Expand all | Expand 10 after
526 return function; 531 return function;
527 } 532 }
528 533
529 // static 534 // static
530 void ExtensionFunctionDispatcher::SendAccessDenied( 535 void ExtensionFunctionDispatcher::SendAccessDenied(
531 const ExtensionFunction::ResponseCallback& callback) { 536 const ExtensionFunction::ResponseCallback& callback) {
532 ListValue empty_list; 537 ListValue empty_list;
533 callback.Run(ExtensionFunction::FAILED, empty_list, 538 callback.Run(ExtensionFunction::FAILED, empty_list,
534 "Access to extension API denied."); 539 "Access to extension API denied.");
535 } 540 }
OLDNEW
« no previous file with comments | « chrome/browser/extensions/extension_disabled_ui.cc ('k') | chrome/browser/extensions/external_install_ui.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698