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

Side by Side Diff: content/renderer/browser_plugin/browser_plugin_bindings.cc

Issue 10941042: Browser plugin: Implement loadStart and loadAbort events (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Removed extra space Created 8 years, 2 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/browser_plugin/browser_plugin_bindings.h" 5 #include "content/renderer/browser_plugin/browser_plugin_bindings.h"
6 6
7 #include <cstdlib> 7 #include <cstdlib>
8 #include <string> 8 #include <string>
9 9
10 #include "base/bind.h" 10 #include "base/bind.h"
(...skipping 170 matching lines...) Expand 10 before | Expand all | Expand 10 after
181 std::string event_name = StringFromNPVariant(args[0]); 181 std::string event_name = StringFromNPVariant(args[0]);
182 if (event_name.empty()) 182 if (event_name.empty())
183 return false; 183 return false;
184 184
185 v8::Local<v8::Value> value = 185 v8::Local<v8::Value> value =
186 v8::Local<v8::Value>::New(WebBindings::toV8Value(&args[1])); 186 v8::Local<v8::Value>::New(WebBindings::toV8Value(&args[1]));
187 if (value.IsEmpty() || !value->IsFunction()) 187 if (value.IsEmpty() || !value->IsFunction())
188 return false; 188 return false;
189 189
190 v8::Local<v8::Function> function = v8::Local<v8::Function>::Cast(value); 190 v8::Local<v8::Function> function = v8::Local<v8::Function>::Cast(value);
191 return bindings->instance()->AddEventListener(event_name, function); 191 result->type = NPVariantType_Bool;
192 result->value.boolValue =
193 bindings->instance()->AddEventListener(event_name, function);
194 return true;
192 } 195 }
193 196
194 if (IdentifierIsBackMethod(name) && !arg_count) { 197 if (IdentifierIsBackMethod(name) && !arg_count) {
195 bindings->instance()->Back(); 198 bindings->instance()->Back();
196 return true; 199 return true;
197 } 200 }
198 201
199 if (IdentifierIsForwardMethod(name) && !arg_count) { 202 if (IdentifierIsForwardMethod(name) && !arg_count) {
200 bindings->instance()->Forward(); 203 bindings->instance()->Forward();
201 return true; 204 return true;
(...skipping 21 matching lines...) Expand all
223 if (event_name.empty()) 226 if (event_name.empty())
224 return false; 227 return false;
225 228
226 v8::Local<v8::Value> value = 229 v8::Local<v8::Value> value =
227 v8::Local<v8::Value>::New(WebBindings::toV8Value(&args[1])); 230 v8::Local<v8::Value>::New(WebBindings::toV8Value(&args[1]));
228 231
229 if (value.IsEmpty() || !value->IsFunction()) 232 if (value.IsEmpty() || !value->IsFunction())
230 return false; 233 return false;
231 234
232 v8::Local<v8::Function> function = v8::Local<v8::Function>::Cast(value); 235 v8::Local<v8::Function> function = v8::Local<v8::Function>::Cast(value);
233 return bindings->instance()->RemoveEventListener(event_name, function); 236 result->type = NPVariantType_Bool;
237 result->value.boolValue =
238 bindings->instance()->RemoveEventListener(event_name, function);
239 return true;
234 } 240 }
235 241
236 if (IdentifierIsStop(name) && !arg_count) { 242 if (IdentifierIsStop(name) && !arg_count) {
237 bindings->instance()->Stop(); 243 bindings->instance()->Stop();
238 return true; 244 return true;
239 } 245 }
240 246
241 return false; 247 return false;
242 } 248 }
243 249
(...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after
354 WebBindings::createObject(NULL, &browser_plugin_message_class); 360 WebBindings::createObject(NULL, &browser_plugin_message_class);
355 np_object_ = static_cast<BrowserPluginBindings::BrowserPluginNPObject*>(obj); 361 np_object_ = static_cast<BrowserPluginBindings::BrowserPluginNPObject*>(obj);
356 np_object_->message_channel = weak_ptr_factory_.GetWeakPtr(); 362 np_object_->message_channel = weak_ptr_factory_.GetWeakPtr();
357 } 363 }
358 364
359 BrowserPluginBindings::~BrowserPluginBindings() { 365 BrowserPluginBindings::~BrowserPluginBindings() {
360 WebBindings::releaseObject(np_object_); 366 WebBindings::releaseObject(np_object_);
361 } 367 }
362 368
363 } // namespace content 369 } // namespace content
OLDNEW
« no previous file with comments | « content/renderer/browser_plugin/browser_plugin.cc ('k') | content/renderer/browser_plugin/browser_plugin_manager_impl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698