| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2008, 2009 Google Inc. All rights reserved. | 2 * Copyright (C) 2008, 2009 Google Inc. All rights reserved. |
| 3 * Copyright (C) 2009 Apple Inc. All rights reserved. | 3 * Copyright (C) 2009 Apple Inc. All rights reserved. |
| 4 * | 4 * |
| 5 * Redistribution and use in source and binary forms, with or without | 5 * Redistribution and use in source and binary forms, with or without |
| 6 * modification, are permitted provided that the following conditions are | 6 * modification, are permitted provided that the following conditions are |
| 7 * met: | 7 * met: |
| 8 * | 8 * |
| 9 * * Redistributions of source code must retain the above copyright | 9 * * 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 126 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 137 m_windowShell->updateSecurityOrigin(origin); | 137 m_windowShell->updateSecurityOrigin(origin); |
| 138 } | 138 } |
| 139 | 139 |
| 140 v8::Local<v8::Value> ScriptController::callFunction(v8::Handle<v8::Function> fun
ction, v8::Handle<v8::Value> receiver, int argc, v8::Handle<v8::Value> info[]) | 140 v8::Local<v8::Value> ScriptController::callFunction(v8::Handle<v8::Function> fun
ction, v8::Handle<v8::Value> receiver, int argc, v8::Handle<v8::Value> info[]) |
| 141 { | 141 { |
| 142 // Keep LocalFrame (and therefore ScriptController) alive. | 142 // Keep LocalFrame (and therefore ScriptController) alive. |
| 143 RefPtr<LocalFrame> protect(m_frame); | 143 RefPtr<LocalFrame> protect(m_frame); |
| 144 return ScriptController::callFunction(m_frame->document(), function, receive
r, argc, info, m_isolate); | 144 return ScriptController::callFunction(m_frame->document(), function, receive
r, argc, info, m_isolate); |
| 145 } | 145 } |
| 146 | 146 |
| 147 static bool resourceInfo(const v8::Handle<v8::Function> function, String& resour
ceName, int& lineNumber) | |
| 148 { | |
| 149 v8::ScriptOrigin origin = function->GetScriptOrigin(); | |
| 150 if (origin.ResourceName().IsEmpty()) { | |
| 151 resourceName = "undefined"; | |
| 152 lineNumber = 1; | |
| 153 } else { | |
| 154 TOSTRING_DEFAULT(V8StringResource<>, stringResourceName, origin.Resource
Name(), false); | |
| 155 resourceName = stringResourceName; | |
| 156 lineNumber = function->GetScriptLineNumber() + 1; | |
| 157 } | |
| 158 return true; | |
| 159 } | |
| 160 | |
| 161 v8::Local<v8::Value> ScriptController::callFunction(ExecutionContext* context, v
8::Handle<v8::Function> function, v8::Handle<v8::Value> receiver, int argc, v8::
Handle<v8::Value> info[], v8::Isolate* isolate) | 147 v8::Local<v8::Value> ScriptController::callFunction(ExecutionContext* context, v
8::Handle<v8::Function> function, v8::Handle<v8::Value> receiver, int argc, v8::
Handle<v8::Value> info[], v8::Isolate* isolate) |
| 162 { | 148 { |
| 149 TRACE_EVENT1(TRACE_DISABLED_BY_DEFAULT("devtools.timeline"), "FunctionCall",
"data", devToolsTraceEventData(context, function, isolate)); |
| 150 TRACE_EVENT_INSTANT1(TRACE_DISABLED_BY_DEFAULT("devtools.timeline.stack"), "
CallStack", "stack", InspectorCallStackEvent::currentCallStack()); |
| 151 // FIXME(361045): remove InspectorInstrumentation calls once DevTools Timeli
ne migrates to tracing. |
| 163 InspectorInstrumentationCookie cookie; | 152 InspectorInstrumentationCookie cookie; |
| 164 if (InspectorInstrumentation::timelineAgentEnabled(context)) { | 153 if (InspectorInstrumentation::timelineAgentEnabled(context)) { |
| 154 int scriptId = 0; |
| 165 String resourceName; | 155 String resourceName; |
| 166 int lineNumber; | 156 int lineNumber = 1; |
| 167 if (!resourceInfo(getBoundFunction(function), resourceName, lineNumber)) | 157 GetDevToolsFunctionInfo(function, isolate, scriptId, resourceName, lineN
umber); |
| 168 return v8::Local<v8::Value>(); | 158 cookie = InspectorInstrumentation::willCallFunction(context, scriptId, r
esourceName, lineNumber); |
| 169 cookie = InspectorInstrumentation::willCallFunction(context, function->S
criptId(), resourceName, lineNumber); | |
| 170 } | 159 } |
| 171 | 160 |
| 172 v8::Local<v8::Value> result = V8ScriptRunner::callFunction(function, context
, receiver, argc, info, isolate); | 161 v8::Local<v8::Value> result = V8ScriptRunner::callFunction(function, context
, receiver, argc, info, isolate); |
| 173 | 162 |
| 174 InspectorInstrumentation::didCallFunction(cookie); | 163 InspectorInstrumentation::didCallFunction(cookie); |
| 175 return result; | 164 return result; |
| 176 } | 165 } |
| 177 | 166 |
| 178 v8::Local<v8::Value> ScriptController::executeScriptAndReturnValue(v8::Handle<v8
::Context> context, const ScriptSourceCode& source, AccessControlStatus corsStat
us) | 167 v8::Local<v8::Value> ScriptController::executeScriptAndReturnValue(v8::Handle<v8
::Context> context, const ScriptSourceCode& source, AccessControlStatus corsStat
us) |
| 179 { | 168 { |
| (...skipping 447 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 627 resultArray->Set(i, evaluationResult); | 616 resultArray->Set(i, evaluationResult); |
| 628 } | 617 } |
| 629 | 618 |
| 630 if (results) { | 619 if (results) { |
| 631 for (size_t i = 0; i < resultArray->Length(); ++i) | 620 for (size_t i = 0; i < resultArray->Length(); ++i) |
| 632 results->append(ScriptValue(ScriptState::from(context), resultArray-
>Get(i))); | 621 results->append(ScriptValue(ScriptState::from(context), resultArray-
>Get(i))); |
| 633 } | 622 } |
| 634 } | 623 } |
| 635 | 624 |
| 636 } // namespace WebCore | 625 } // namespace WebCore |
| OLD | NEW |