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

Side by Side Diff: chrome/browser/chromeos/accessibility/accessibility_extension_loader.cc

Issue 2301713002: Remove some UI->FILE->UI thread hops in ExecuteCodeFunction (Closed)
Patch Set: sync, move changes from accessibility_manager.cc -> accessibility_extension_loader.cc Created 4 years, 3 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
« no previous file with comments | « no previous file | extensions/browser/api/execute_code_function.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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/chromeos/accessibility/accessibility_extension_loader.h " 5 #include "chrome/browser/chromeos/accessibility/accessibility_extension_loader.h "
6 6
7 #include "base/callback.h" 7 #include "base/callback.h"
8 #include "base/callback_helpers.h" 8 #include "base/callback_helpers.h"
9 #include "base/path_service.h" 9 #include "base/path_service.h"
10 #include "chrome/browser/chromeos/login/lock/screen_locker.h" 10 #include "chrome/browser/chromeos/login/lock/screen_locker.h"
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after
83 // Finally, call this method once to fetch all of the resources and 83 // Finally, call this method once to fetch all of the resources and
84 // load them. This method will delete this object when done. 84 // load them. This method will delete this object when done.
85 void Run() { 85 void Run() {
86 if (resources_.empty()) { 86 if (resources_.empty()) {
87 delete this; 87 delete this;
88 return; 88 return;
89 } 89 }
90 90
91 extensions::ExtensionResource resource = resources_.front(); 91 extensions::ExtensionResource resource = resources_.front();
92 resources_.pop(); 92 resources_.pop();
93 scoped_refptr<FileReader> reader( 93 scoped_refptr<FileReader> reader(new FileReader(
94 new FileReader(resource, base::Bind(&ContentScriptLoader::OnFileLoaded, 94 resource,
95 base::Unretained(this)))); 95 FileReader::OptionalFileThreadTaskCallback(), // null callback.
96 base::Bind(&ContentScriptLoader::OnFileLoaded,
97 base::Unretained(this))));
96 reader->Start(); 98 reader->Start();
97 } 99 }
98 100
99 private: 101 private:
100 void OnFileLoaded(bool success, std::unique_ptr<std::string> data) { 102 void OnFileLoaded(bool success, std::unique_ptr<std::string> data) {
101 if (success) { 103 if (success) {
102 content::RenderViewHost* render_view_host = 104 content::RenderViewHost* render_view_host =
103 content::RenderViewHost::FromID(render_process_id_, render_view_id_); 105 content::RenderViewHost::FromID(render_process_id_, render_view_id_);
104 if (render_view_host) 106 if (render_view_host)
105 ExecuteScriptHelper(render_view_host, *data, extension_id_); 107 ExecuteScriptHelper(render_view_host, *data, extension_id_);
(...skipping 194 matching lines...) Expand 10 before | Expand all | Expand 10 after
300 weak_ptr_factory_.GetWeakPtr(), extension_service, 302 weak_ptr_factory_.GetWeakPtr(), extension_service,
301 render_view_host->GetProcess()->GetID(), 303 render_view_host->GetProcess()->GetID(),
302 render_view_host->GetRoutingID(), done_cb); 304 render_view_host->GetRoutingID(), done_cb);
303 } 305 }
304 306
305 extension_service->component_loader()->AddComponentFromDir( 307 extension_service->component_loader()->AddComponentFromDir(
306 extension_path_, extension_id_.c_str(), done_cb); 308 extension_path_, extension_id_.c_str(), done_cb);
307 } 309 }
308 310
309 } // namespace chromeos 311 } // namespace chromeos
OLDNEW
« no previous file with comments | « no previous file | extensions/browser/api/execute_code_function.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698