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

Side by Side Diff: Source/bindings/v8/custom/V8InjectedScriptHostCustom.cpp

Issue 314953005: Add an ASSERT about cross-world wrapper leakage into ScriptValue (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 6 years, 6 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 /* 1 /*
2 * Copyright (C) 2007-2011 Google Inc. All rights reserved. 2 * Copyright (C) 2007-2011 Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above 10 * * Redistributions in binary form must reproduce the above
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
57 #include "core/events/EventTarget.h" 57 #include "core/events/EventTarget.h"
58 #include "core/frame/DOMWindow.h" 58 #include "core/frame/DOMWindow.h"
59 #include "core/inspector/InjectedScript.h" 59 #include "core/inspector/InjectedScript.h"
60 #include "core/inspector/InjectedScriptHost.h" 60 #include "core/inspector/InjectedScriptHost.h"
61 #include "core/inspector/InspectorDOMAgent.h" 61 #include "core/inspector/InspectorDOMAgent.h"
62 #include "modules/webdatabase/Database.h" 62 #include "modules/webdatabase/Database.h"
63 #include "platform/JSONValues.h" 63 #include "platform/JSONValues.h"
64 64
65 namespace WebCore { 65 namespace WebCore {
66 66
67 Node* InjectedScriptHost::scriptValueAsNode(ScriptValue value) 67 Node* InjectedScriptHost::scriptValueAsNode(ScriptState* scriptState, ScriptValu e value)
68 { 68 {
69 v8::HandleScope scope(value.isolate()); 69 ScriptState::Scope scope(scriptState);
70 if (!value.isObject() || value.isNull()) 70 if (!value.isObject() || value.isNull())
71 return 0; 71 return 0;
72 return V8Node::toNative(v8::Handle<v8::Object>::Cast(value.v8Value())); 72 return V8Node::toNative(v8::Handle<v8::Object>::Cast(value.v8Value()));
73 } 73 }
74 74
75 ScriptValue InjectedScriptHost::nodeAsScriptValue(ScriptState* scriptState, Node * node) 75 ScriptValue InjectedScriptHost::nodeAsScriptValue(ScriptState* scriptState, Node * node)
76 { 76 {
77 ScriptState::Scope scope(scriptState); 77 ScriptState::Scope scope(scriptState);
78 v8::Isolate* isolate = scriptState->isolate(); 78 v8::Isolate* isolate = scriptState->isolate();
79 ExceptionState exceptionState(ExceptionState::ExecutionContext, "nodeAsScrip tValue", "InjectedScriptHost", scriptState->context()->Global(), isolate); 79 ExceptionState exceptionState(ExceptionState::ExecutionContext, "nodeAsScrip tValue", "InjectedScriptHost", scriptState->context()->Global(), isolate);
(...skipping 358 matching lines...) Expand 10 before | Expand all | Expand 10 after
438 OwnPtr<v8::Handle<v8::Value>[]> argv = adoptArrayPtr(new v8::Handle<v8::Valu e>[argc]); 438 OwnPtr<v8::Handle<v8::Value>[]> argv = adoptArrayPtr(new v8::Handle<v8::Valu e>[argc]);
439 for (size_t i = 0; i < argc; ++i) 439 for (size_t i = 0; i < argc; ++i)
440 argv[i] = info[i + 2]; 440 argv[i] = info[i + 2];
441 441
442 v8::Local<v8::Value> result = function->Call(receiver, argc, argv.get()); 442 v8::Local<v8::Value> result = function->Call(receiver, argc, argv.get());
443 debugServer.unmuteWarningsAndDeprecations(); 443 debugServer.unmuteWarningsAndDeprecations();
444 v8SetReturnValue(info, result); 444 v8SetReturnValue(info, result);
445 } 445 }
446 446
447 } // namespace WebCore 447 } // namespace WebCore
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698