| 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 156 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 167 | 167 |
| 168 v8::Local<v8::Value> ScriptController::executeScriptAndReturnValue(v8::Handle<v8
::Context> context, const ScriptSourceCode& source, AccessControlStatus corsStat
us) | 168 v8::Local<v8::Value> ScriptController::executeScriptAndReturnValue(v8::Handle<v8
::Context> context, const ScriptSourceCode& source, AccessControlStatus corsStat
us) |
| 169 { | 169 { |
| 170 TRACE_EVENT1(TRACE_DISABLED_BY_DEFAULT("devtools.timeline"), "EvaluateScript
", "data", InspectorEvaluateScriptEvent::data(m_frame, source.url().string(), so
urce.startLine())); | 170 TRACE_EVENT1(TRACE_DISABLED_BY_DEFAULT("devtools.timeline"), "EvaluateScript
", "data", InspectorEvaluateScriptEvent::data(m_frame, source.url().string(), so
urce.startLine())); |
| 171 TRACE_EVENT_INSTANT1(TRACE_DISABLED_BY_DEFAULT("devtools.timeline.stack"), "
CallStack", "stack", InspectorCallStackEvent::currentCallStack()); | 171 TRACE_EVENT_INSTANT1(TRACE_DISABLED_BY_DEFAULT("devtools.timeline.stack"), "
CallStack", "stack", InspectorCallStackEvent::currentCallStack()); |
| 172 // FIXME(361045): remove InspectorInstrumentation calls once DevTools Timeli
ne migrates to tracing. | 172 // FIXME(361045): remove InspectorInstrumentation calls once DevTools Timeli
ne migrates to tracing. |
| 173 InspectorInstrumentationCookie cookie = InspectorInstrumentation::willEvalua
teScript(m_frame, source.url().string(), source.startLine()); | 173 InspectorInstrumentationCookie cookie = InspectorInstrumentation::willEvalua
teScript(m_frame, source.url().string(), source.startLine()); |
| 174 | 174 |
| 175 v8::Local<v8::Value> result; | 175 v8::Local<v8::Value> result; |
| 176 { | 176 { |
| 177 String v8CacheOptions; |
| 178 if (m_frame->settings()) |
| 179 v8CacheOptions = m_frame->settings()->v8CacheOptions(); |
| 180 |
| 177 // Isolate exceptions that occur when compiling and executing | 181 // Isolate exceptions that occur when compiling and executing |
| 178 // the code. These exceptions should not interfere with | 182 // the code. These exceptions should not interfere with |
| 179 // javascript code we might evaluate from C++ when returning | 183 // javascript code we might evaluate from C++ when returning |
| 180 // from here. | 184 // from here. |
| 181 v8::TryCatch tryCatch; | 185 v8::TryCatch tryCatch; |
| 182 tryCatch.SetVerbose(true); | 186 tryCatch.SetVerbose(true); |
| 183 | 187 |
| 184 v8::Handle<v8::Script> script = V8ScriptRunner::compileScript(source, m_
isolate, corsStatus); | 188 v8::Handle<v8::Script> script = V8ScriptRunner::compileScript(source, m_
isolate, corsStatus, v8CacheOptions); |
| 185 | 189 |
| 186 // Keep LocalFrame (and therefore ScriptController) alive. | 190 // Keep LocalFrame (and therefore ScriptController) alive. |
| 187 RefPtr<LocalFrame> protect(m_frame); | 191 RefPtr<LocalFrame> protect(m_frame); |
| 188 result = V8ScriptRunner::runCompiledScript(script, m_frame->document(),
m_isolate); | 192 result = V8ScriptRunner::runCompiledScript(script, m_frame->document(),
m_isolate); |
| 189 ASSERT(!tryCatch.HasCaught() || result.IsEmpty()); | 193 ASSERT(!tryCatch.HasCaught() || result.IsEmpty()); |
| 190 } | 194 } |
| 191 | 195 |
| 192 InspectorInstrumentation::didEvaluateScript(cookie); | 196 InspectorInstrumentation::didEvaluateScript(cookie); |
| 193 TRACE_EVENT_INSTANT1(TRACE_DISABLED_BY_DEFAULT("devtools.timeline"), "Update
Counters", "data", InspectorUpdateCountersEvent::data()); | 197 TRACE_EVENT_INSTANT1(TRACE_DISABLED_BY_DEFAULT("devtools.timeline"), "Update
Counters", "data", InspectorUpdateCountersEvent::data()); |
| 194 | 198 |
| (...skipping 433 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 628 resultArray->Set(i, evaluationResult); | 632 resultArray->Set(i, evaluationResult); |
| 629 } | 633 } |
| 630 | 634 |
| 631 if (results) { | 635 if (results) { |
| 632 for (size_t i = 0; i < resultArray->Length(); ++i) | 636 for (size_t i = 0; i < resultArray->Length(); ++i) |
| 633 results->append(handleScope.Escape(resultArray->Get(i))); | 637 results->append(handleScope.Escape(resultArray->Get(i))); |
| 634 } | 638 } |
| 635 } | 639 } |
| 636 | 640 |
| 637 } // namespace blink | 641 } // namespace blink |
| OLD | NEW |