| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2004, 2006 Apple Computer, Inc. All rights reserved. | 2 * Copyright (C) 2004, 2006 Apple Computer, Inc. All rights reserved. |
| 3 * Copyright (C) 2007, 2008, 2009 Google, Inc. All rights reserved. | 3 * Copyright (C) 2007, 2008, 2009 Google, Inc. All rights reserved. |
| 4 * Copyright (C) 2014 Opera Software ASA. All rights reserved. | 4 * Copyright (C) 2014 Opera Software ASA. All rights reserved. |
| 5 * | 5 * |
| 6 * Redistribution and use in source and binary forms, with or without | 6 * Redistribution and use in source and binary forms, with or without |
| 7 * modification, are permitted provided that the following conditions | 7 * modification, are permitted provided that the following conditions |
| 8 * are met: | 8 * are met: |
| 9 * 1. Redistributions of source code must retain the above copyright | 9 * 1. Redistributions of source code must retain the above copyright |
| 10 * notice, this list of conditions and the following disclaimer. | 10 * notice, this list of conditions and the following disclaimer. |
| (...skipping 208 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 219 } | 219 } |
| 220 } | 220 } |
| 221 v8NpObject->v8Object.Reset(); | 221 v8NpObject->v8Object.Reset(); |
| 222 v8NpObject->rootObject = 0; | 222 v8NpObject->rootObject = 0; |
| 223 } | 223 } |
| 224 | 224 |
| 225 } // namespace blink | 225 } // namespace blink |
| 226 | 226 |
| 227 bool _NPN_Invoke(NPP npp, NPObject* npObject, NPIdentifier methodName, const NPV
ariant* arguments, uint32_t argumentCount, NPVariant* result) | 227 bool _NPN_Invoke(NPP npp, NPObject* npObject, NPIdentifier methodName, const NPV
ariant* arguments, uint32_t argumentCount, NPVariant* result) |
| 228 { | 228 { |
| 229 ScriptForbiddenScope::AllowSuperUnsafeScript thisShouldBeRemoved; | |
| 230 | |
| 231 if (!npObject) | 229 if (!npObject) |
| 232 return false; | 230 return false; |
| 233 | 231 |
| 234 v8::Isolate* isolate = v8::Isolate::GetCurrent(); | 232 v8::Isolate* isolate = v8::Isolate::GetCurrent(); |
| 235 | 233 |
| 236 V8NPObject* v8NpObject = npObjectToV8NPObject(npObject); | 234 V8NPObject* v8NpObject = npObjectToV8NPObject(npObject); |
| 237 if (!v8NpObject) { | 235 if (!v8NpObject) { |
| 238 if (npObject->_class->invoke) | 236 if (npObject->_class->invoke) |
| 239 return npObject->_class->invoke(npObject, methodName, arguments, arg
umentCount, result); | 237 return npObject->_class->invoke(npObject, methodName, arguments, arg
umentCount, result); |
| 240 | 238 |
| (...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 286 if (resultObject.IsEmpty()) | 284 if (resultObject.IsEmpty()) |
| 287 return false; | 285 return false; |
| 288 | 286 |
| 289 convertV8ObjectToNPVariant(resultObject, npObject, result, isolate); | 287 convertV8ObjectToNPVariant(resultObject, npObject, result, isolate); |
| 290 return true; | 288 return true; |
| 291 } | 289 } |
| 292 | 290 |
| 293 // FIXME: Fix it same as _NPN_Invoke (HandleScope and such). | 291 // FIXME: Fix it same as _NPN_Invoke (HandleScope and such). |
| 294 bool _NPN_InvokeDefault(NPP npp, NPObject* npObject, const NPVariant* arguments,
uint32_t argumentCount, NPVariant* result) | 292 bool _NPN_InvokeDefault(NPP npp, NPObject* npObject, const NPVariant* arguments,
uint32_t argumentCount, NPVariant* result) |
| 295 { | 293 { |
| 296 ScriptForbiddenScope::AllowSuperUnsafeScript thisShouldBeRemoved; | |
| 297 | |
| 298 if (!npObject) | 294 if (!npObject) |
| 299 return false; | 295 return false; |
| 300 | 296 |
| 301 v8::Isolate* isolate = v8::Isolate::GetCurrent(); | 297 v8::Isolate* isolate = v8::Isolate::GetCurrent(); |
| 302 | 298 |
| 303 V8NPObject* v8NpObject = npObjectToV8NPObject(npObject); | 299 V8NPObject* v8NpObject = npObjectToV8NPObject(npObject); |
| 304 if (!v8NpObject) { | 300 if (!v8NpObject) { |
| 305 if (npObject->_class->invokeDefault) | 301 if (npObject->_class->invokeDefault) |
| 306 return npObject->_class->invokeDefault(npObject, arguments, argument
Count, result); | 302 return npObject->_class->invokeDefault(npObject, arguments, argument
Count, result); |
| 307 | 303 |
| (...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 343 | 339 |
| 344 bool _NPN_Evaluate(NPP npp, NPObject* npObject, NPString* npScript, NPVariant* r
esult) | 340 bool _NPN_Evaluate(NPP npp, NPObject* npObject, NPString* npScript, NPVariant* r
esult) |
| 345 { | 341 { |
| 346 // FIXME: Give the embedder a way to control this. | 342 // FIXME: Give the embedder a way to control this. |
| 347 bool popupsAllowed = false; | 343 bool popupsAllowed = false; |
| 348 return _NPN_EvaluateHelper(npp, popupsAllowed, npObject, npScript, result); | 344 return _NPN_EvaluateHelper(npp, popupsAllowed, npObject, npScript, result); |
| 349 } | 345 } |
| 350 | 346 |
| 351 bool _NPN_EvaluateHelper(NPP npp, bool popupsAllowed, NPObject* npObject, NPStri
ng* npScript, NPVariant* result) | 347 bool _NPN_EvaluateHelper(NPP npp, bool popupsAllowed, NPObject* npObject, NPStri
ng* npScript, NPVariant* result) |
| 352 { | 348 { |
| 353 ScriptForbiddenScope::AllowSuperUnsafeScript thisShouldBeRemoved; | |
| 354 | |
| 355 VOID_TO_NPVARIANT(*result); | 349 VOID_TO_NPVARIANT(*result); |
| 356 if (!npObject) | 350 if (!npObject) |
| 357 return false; | 351 return false; |
| 358 | 352 |
| 359 V8NPObject* v8NpObject = npObjectToV8NPObject(npObject); | 353 V8NPObject* v8NpObject = npObjectToV8NPObject(npObject); |
| 360 if (!v8NpObject) | 354 if (!v8NpObject) |
| 361 return false; | 355 return false; |
| 362 | 356 |
| 363 v8::Isolate* isolate = v8::Isolate::GetCurrent(); | 357 v8::Isolate* isolate = v8::Isolate::GetCurrent(); |
| 364 ScriptState* scriptState = mainWorldScriptState(isolate, npp, npObject); | 358 ScriptState* scriptState = mainWorldScriptState(isolate, npp, npObject); |
| (...skipping 257 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 622 | 616 |
| 623 convertV8ObjectToNPVariant(resultObject, npObject, result, isolate); | 617 convertV8ObjectToNPVariant(resultObject, npObject, result, isolate); |
| 624 return true; | 618 return true; |
| 625 } | 619 } |
| 626 | 620 |
| 627 if (NP_CLASS_STRUCT_VERSION_HAS_CTOR(npObject->_class) && npObject->_class->
construct) | 621 if (NP_CLASS_STRUCT_VERSION_HAS_CTOR(npObject->_class) && npObject->_class->
construct) |
| 628 return npObject->_class->construct(npObject, arguments, argumentCount, r
esult); | 622 return npObject->_class->construct(npObject, arguments, argumentCount, r
esult); |
| 629 | 623 |
| 630 return false; | 624 return false; |
| 631 } | 625 } |
| OLD | NEW |