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

Side by Side Diff: content/renderer/pepper/pepper_plugin_registry.cc

Issue 225903006: PPAPI: Run clang_format.py on content/renderer/pepper (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: merge Created 6 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 | 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 "content/renderer/pepper/pepper_plugin_registry.h" 5 #include "content/renderer/pepper/pepper_plugin_registry.h"
6 6
7 #include "base/logging.h" 7 #include "base/logging.h"
8 #include "content/common/pepper_plugin_list.h" 8 #include "content/common/pepper_plugin_list.h"
9 #include "content/renderer/pepper/pepper_plugin_instance_impl.h" 9 #include "content/renderer/pepper/pepper_plugin_instance_impl.h"
10 #include "content/renderer/pepper/plugin_module.h" 10 #include "content/renderer/pepper/plugin_module.h"
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after
75 live_modules_[path] = module; 75 live_modules_[path] = module;
76 } 76 }
77 77
78 void PepperPluginRegistry::PluginModuleDead(PluginModule* dead_module) { 78 void PepperPluginRegistry::PluginModuleDead(PluginModule* dead_module) {
79 // DANGER: Don't dereference the dead_module pointer! It may be in the 79 // DANGER: Don't dereference the dead_module pointer! It may be in the
80 // process of being deleted. 80 // process of being deleted.
81 81
82 // Modules aren't destroyed very often and there are normally at most a 82 // Modules aren't destroyed very often and there are normally at most a
83 // couple of them. So for now we just do a brute-force search. 83 // couple of them. So for now we just do a brute-force search.
84 for (NonOwningModuleMap::iterator i = live_modules_.begin(); 84 for (NonOwningModuleMap::iterator i = live_modules_.begin();
85 i != live_modules_.end(); ++i) { 85 i != live_modules_.end();
86 ++i) {
86 if (i->second == dead_module) { 87 if (i->second == dead_module) {
87 live_modules_.erase(i); 88 live_modules_.erase(i);
88 return; 89 return;
89 } 90 }
90 } 91 }
91 // Can occur in tests. 92 // Can occur in tests.
92 } 93 }
93 94
94 PepperPluginRegistry::~PepperPluginRegistry() { 95 PepperPluginRegistry::~PepperPluginRegistry() {
95 // Explicitly clear all preloaded modules first. This will cause callbacks 96 // Explicitly clear all preloaded modules first. This will cause callbacks
96 // to erase these modules from the live_modules_ list, and we don't want 97 // to erase these modules from the live_modules_ list, and we don't want
97 // that to happen implicitly out-of-order. 98 // that to happen implicitly out-of-order.
98 preloaded_modules_.clear(); 99 preloaded_modules_.clear();
99 100
100 DCHECK(live_modules_.empty()); 101 DCHECK(live_modules_.empty());
101 } 102 }
102 103
103 PepperPluginRegistry::PepperPluginRegistry() { 104 PepperPluginRegistry::PepperPluginRegistry() {}
104 }
105 105
106 void PepperPluginRegistry::Initialize() { 106 void PepperPluginRegistry::Initialize() {
107 ComputePepperPluginList(&plugin_list_); 107 ComputePepperPluginList(&plugin_list_);
108 108
109 // Note that in each case, AddLiveModule must be called before completing 109 // Note that in each case, AddLiveModule must be called before completing
110 // initialization. If we bail out (in the continue clauses) before saving 110 // initialization. If we bail out (in the continue clauses) before saving
111 // the initialized module, it will still try to unregister itself in its 111 // the initialized module, it will still try to unregister itself in its
112 // destructor. 112 // destructor.
113 for (size_t i = 0; i < plugin_list_.size(); i++) { 113 for (size_t i = 0; i < plugin_list_.size(); i++) {
114 const PepperPluginInfo& current = plugin_list_[i]; 114 const PepperPluginInfo& current = plugin_list_[i];
115 if (current.is_out_of_process) 115 if (current.is_out_of_process)
116 continue; // Out of process plugins need no special pre-initialization. 116 continue; // Out of process plugins need no special pre-initialization.
117 117
118 scoped_refptr<PluginModule> module = new PluginModule( 118 scoped_refptr<PluginModule> module =
119 current.name, current.path, 119 new PluginModule(current.name,
120 ppapi::PpapiPermissions(current.permissions)); 120 current.path,
121 ppapi::PpapiPermissions(current.permissions));
121 AddLiveModule(current.path, module.get()); 122 AddLiveModule(current.path, module.get());
122 if (current.is_internal) { 123 if (current.is_internal) {
123 if (!module->InitAsInternalPlugin(current.internal_entry_points)) { 124 if (!module->InitAsInternalPlugin(current.internal_entry_points)) {
124 DLOG(ERROR) << "Failed to load pepper module: " << current.path.value(); 125 DLOG(ERROR) << "Failed to load pepper module: " << current.path.value();
125 continue; 126 continue;
126 } 127 }
127 } else { 128 } else {
128 // Preload all external plugins we're not running out of process. 129 // Preload all external plugins we're not running out of process.
129 if (!module->InitAsLibrary(current.path)) { 130 if (!module->InitAsLibrary(current.path)) {
130 DLOG(ERROR) << "Failed to load pepper module: " << current.path.value(); 131 DLOG(ERROR) << "Failed to load pepper module: " << current.path.value();
131 continue; 132 continue;
132 } 133 }
133 } 134 }
134 preloaded_modules_[current.path] = module; 135 preloaded_modules_[current.path] = module;
135 } 136 }
136 } 137 }
137 138
138 } // namespace content 139 } // namespace content
OLDNEW
« no previous file with comments | « content/renderer/pepper/pepper_plugin_instance_impl.cc ('k') | content/renderer/pepper/pepper_proxy_channel_delegate_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698