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

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

Issue 1814093003: LayoutTests: migrate nested-plugin-objects to ppapi (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@update_linux_plugins_expectations
Patch Set: rebase Created 4 years, 9 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 | ppapi/proxy/plugin_var_tracker.cc » ('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 (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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/plugin_object.h" 5 #include "content/renderer/pepper/plugin_object.h"
6 6
7 #include <stdint.h> 7 #include <stdint.h>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/logging.h" 10 #include "base/logging.h"
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after
87 gin::CreateHandle(instance->GetIsolate(), 87 gin::CreateHandle(instance->GetIsolate(),
88 new PluginObject(instance, ppp_class, ppp_class_data)); 88 new PluginObject(instance, ppp_class, ppp_class_data));
89 ScopedPPVar result = try_catch.FromV8(object.ToV8()); 89 ScopedPPVar result = try_catch.FromV8(object.ToV8());
90 DCHECK(!try_catch.HasException()); 90 DCHECK(!try_catch.HasException());
91 return result.Release(); 91 return result.Release();
92 } 92 }
93 93
94 v8::Local<v8::Value> PluginObject::GetNamedProperty( 94 v8::Local<v8::Value> PluginObject::GetNamedProperty(
95 v8::Isolate* isolate, 95 v8::Isolate* isolate,
96 const std::string& identifier) { 96 const std::string& identifier) {
97 if (!instance_) {
98 std::string error = "Property " + identifier + " does not exist.";
99 isolate->ThrowException(
100 v8::Exception::ReferenceError(gin::StringToV8(isolate, error)));
101 return v8::Local<v8::Value>();
102 }
97 ScopedPPVar identifier_var(ScopedPPVar::PassRef(), 103 ScopedPPVar identifier_var(ScopedPPVar::PassRef(),
98 StringVar::StringToPPVar(identifier)); 104 StringVar::StringToPPVar(identifier));
99 return GetPropertyOrMethod(instance_->GetIsolate(), identifier_var.get()); 105 return GetPropertyOrMethod(instance_->GetIsolate(), identifier_var.get());
100 } 106 }
101 107
102 bool PluginObject::SetNamedProperty(v8::Isolate* isolate, 108 bool PluginObject::SetNamedProperty(v8::Isolate* isolate,
103 const std::string& identifier, 109 const std::string& identifier,
104 v8::Local<v8::Value> value) { 110 v8::Local<v8::Value> value) {
105 if (!instance_) 111 if (!instance_) {
112 std::string error = "Property " + identifier + " does not exist.";
113 isolate->ThrowException(
114 v8::Exception::ReferenceError(gin::StringToV8(isolate, error)));
106 return false; 115 return false;
116 }
107 ScopedPPVar identifier_var(ScopedPPVar::PassRef(), 117 ScopedPPVar identifier_var(ScopedPPVar::PassRef(),
108 StringVar::StringToPPVar(identifier)); 118 StringVar::StringToPPVar(identifier));
109 V8VarConverter var_converter(instance_->pp_instance(), 119 V8VarConverter var_converter(instance_->pp_instance(),
110 V8VarConverter::kAllowObjectVars); 120 V8VarConverter::kAllowObjectVars);
111 PepperTryCatchV8 try_catch(instance_, &var_converter, isolate); 121 PepperTryCatchV8 try_catch(instance_, &var_converter, isolate);
112 122
113 bool has_property = 123 bool has_property =
114 ppp_class_->HasProperty(ppp_class_data_, identifier_var.get(), 124 ppp_class_->HasProperty(ppp_class_data_, identifier_var.get(),
115 try_catch.exception()); 125 try_catch.exception());
116 if (try_catch.ThrowException()) 126 if (try_catch.ThrowException())
(...skipping 166 matching lines...) Expand 10 before | Expand all | Expand 10 after
283 return function_template; 293 return function_template;
284 function_template = 294 function_template =
285 gin::CreateFunctionTemplate( 295 gin::CreateFunctionTemplate(
286 isolate, base::Bind(&PluginObject::Call, weak_factory_.GetWeakPtr(), 296 isolate, base::Bind(&PluginObject::Call, weak_factory_.GetWeakPtr(),
287 name)); 297 name));
288 template_cache_.Set(name, function_template); 298 template_cache_.Set(name, function_template);
289 return function_template; 299 return function_template;
290 } 300 }
291 301
292 } // namespace content 302 } // namespace content
OLDNEW
« no previous file with comments | « no previous file | ppapi/proxy/plugin_var_tracker.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698