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

Side by Side Diff: extensions/renderer/event_bindings.cc

Issue 744723002: remove some calls to to-be-deprecated v8::Value::To* functions (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 1 month 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 "extensions/renderer/event_bindings.h" 5 #include "extensions/renderer/event_bindings.h"
6 6
7 #include <map> 7 #include <map>
8 #include <set> 8 #include <set>
9 #include <string> 9 #include <string>
10 #include <vector> 10 #include <vector>
(...skipping 124 matching lines...) Expand 10 before | Expand all | Expand 10 after
135 } 135 }
136 136
137 EventBindings::~EventBindings() {} 137 EventBindings::~EventBindings() {}
138 138
139 // Attach an event name to an object. 139 // Attach an event name to an object.
140 void EventBindings::AttachEvent( 140 void EventBindings::AttachEvent(
141 const v8::FunctionCallbackInfo<v8::Value>& args) { 141 const v8::FunctionCallbackInfo<v8::Value>& args) {
142 CHECK_EQ(1, args.Length()); 142 CHECK_EQ(1, args.Length());
143 CHECK(args[0]->IsString()); 143 CHECK(args[0]->IsString());
144 144
145 std::string event_name = *v8::String::Utf8Value(args[0]->ToString()); 145 std::string event_name = *v8::String::Utf8Value(args[0]);
146 146
147 if (!dispatcher_->CheckContextAccessToExtensionAPI(event_name, context())) 147 if (!dispatcher_->CheckContextAccessToExtensionAPI(event_name, context()))
148 return; 148 return;
149 149
150 std::string extension_id = context()->GetExtensionID(); 150 std::string extension_id = context()->GetExtensionID();
151 EventListenerCounts& listener_counts = g_listener_counts.Get()[extension_id]; 151 EventListenerCounts& listener_counts = g_listener_counts.Get()[extension_id];
152 if (++listener_counts[event_name] == 1) { 152 if (++listener_counts[event_name] == 1) {
153 content::RenderThread::Get()->Send(new ExtensionHostMsg_AddListener( 153 content::RenderThread::Get()->Send(new ExtensionHostMsg_AddListener(
154 extension_id, context()->GetURL(), event_name)); 154 extension_id, context()->GetURL(), event_name));
155 } 155 }
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
209 if (!dispatcher_->CheckContextAccessToExtensionAPI(event_name, context())) 209 if (!dispatcher_->CheckContextAccessToExtensionAPI(event_name, context()))
210 return; 210 return;
211 211
212 std::string extension_id = context()->GetExtensionID(); 212 std::string extension_id = context()->GetExtensionID();
213 213
214 scoped_ptr<base::DictionaryValue> filter; 214 scoped_ptr<base::DictionaryValue> filter;
215 scoped_ptr<content::V8ValueConverter> converter( 215 scoped_ptr<content::V8ValueConverter> converter(
216 content::V8ValueConverter::create()); 216 content::V8ValueConverter::create());
217 217
218 base::DictionaryValue* filter_dict = NULL; 218 base::DictionaryValue* filter_dict = NULL;
219 base::Value* filter_value = 219 base::Value* filter_value = converter->FromV8Value(
220 converter->FromV8Value(args[1]->ToObject(), context()->v8_context()); 220 v8::Local<v8::Object>::Cast(args[1]), context()->v8_context());
221 if (!filter_value) { 221 if (!filter_value) {
222 args.GetReturnValue().Set(static_cast<int32_t>(-1)); 222 args.GetReturnValue().Set(static_cast<int32_t>(-1));
223 return; 223 return;
224 } 224 }
225 if (!filter_value->GetAsDictionary(&filter_dict)) { 225 if (!filter_value->GetAsDictionary(&filter_dict)) {
226 delete filter_value; 226 delete filter_value;
227 args.GetReturnValue().Set(static_cast<int32_t>(-1)); 227 args.GetReturnValue().Set(static_cast<int32_t>(-1));
228 return; 228 return;
229 } 229 }
230 230
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
269 } 269 }
270 270
271 event_filter.RemoveEventMatcher(matcher_id); 271 event_filter.RemoveEventMatcher(matcher_id);
272 } 272 }
273 273
274 void EventBindings::MatchAgainstEventFilter( 274 void EventBindings::MatchAgainstEventFilter(
275 const v8::FunctionCallbackInfo<v8::Value>& args) { 275 const v8::FunctionCallbackInfo<v8::Value>& args) {
276 v8::Isolate* isolate = args.GetIsolate(); 276 v8::Isolate* isolate = args.GetIsolate();
277 typedef std::set<EventFilter::MatcherID> MatcherIDs; 277 typedef std::set<EventFilter::MatcherID> MatcherIDs;
278 EventFilter& event_filter = g_event_filter.Get(); 278 EventFilter& event_filter = g_event_filter.Get();
279 std::string event_name = *v8::String::Utf8Value(args[0]->ToString()); 279 std::string event_name = *v8::String::Utf8Value(args[0]);
280 EventFilteringInfo info = ParseFromObject(args[1]->ToObject(), isolate); 280 EventFilteringInfo info =
281 ParseFromObject(args[1]->ToObject(isolate), isolate);
281 // Only match events routed to this context's RenderView or ones that don't 282 // Only match events routed to this context's RenderView or ones that don't
282 // have a routingId in their filter. 283 // have a routingId in their filter.
283 MatcherIDs matched_event_filters = event_filter.MatchEvent( 284 MatcherIDs matched_event_filters = event_filter.MatchEvent(
284 event_name, info, context()->GetRenderView()->GetRoutingID()); 285 event_name, info, context()->GetRenderView()->GetRoutingID());
285 v8::Handle<v8::Array> array( 286 v8::Handle<v8::Array> array(
286 v8::Array::New(isolate, matched_event_filters.size())); 287 v8::Array::New(isolate, matched_event_filters.size()));
287 int i = 0; 288 int i = 0;
288 for (MatcherIDs::iterator it = matched_event_filters.begin(); 289 for (MatcherIDs::iterator it = matched_event_filters.begin();
289 it != matched_event_filters.end(); 290 it != matched_event_filters.end();
290 ++it) { 291 ++it) {
291 array->Set(v8::Integer::New(isolate, i++), v8::Integer::New(isolate, *it)); 292 array->Set(v8::Integer::New(isolate, i++), v8::Integer::New(isolate, *it));
292 } 293 }
293 args.GetReturnValue().Set(array); 294 args.GetReturnValue().Set(array);
294 } 295 }
295 296
296 scoped_ptr<EventMatcher> EventBindings::ParseEventMatcher( 297 scoped_ptr<EventMatcher> EventBindings::ParseEventMatcher(
297 base::DictionaryValue* filter_dict) { 298 base::DictionaryValue* filter_dict) {
298 return scoped_ptr<EventMatcher>(new EventMatcher( 299 return scoped_ptr<EventMatcher>(new EventMatcher(
299 scoped_ptr<base::DictionaryValue>(filter_dict->DeepCopy()), 300 scoped_ptr<base::DictionaryValue>(filter_dict->DeepCopy()),
300 context()->GetRenderView()->GetRoutingID())); 301 context()->GetRenderView()->GetRoutingID()));
301 } 302 }
302 303
303 } // namespace extensions 304 } // namespace extensions
OLDNEW
« no previous file with comments | « extensions/renderer/document_custom_bindings.cc ('k') | extensions/renderer/file_system_natives.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698