| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2011 Google Inc. All rights reserved. | 2 * Copyright (C) 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 275 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 286 if (silent.fromMaybe(false)) scope.ignoreExceptionsAndMuteConsole(); | 286 if (silent.fromMaybe(false)) scope.ignoreExceptionsAndMuteConsole(); |
| 287 if (userGesture.fromMaybe(false)) scope.pretendUserGesture(); | 287 if (userGesture.fromMaybe(false)) scope.pretendUserGesture(); |
| 288 | 288 |
| 289 if (includeCommandLineAPI.fromMaybe(false)) scope.installCommandLineAPI(); | 289 if (includeCommandLineAPI.fromMaybe(false)) scope.installCommandLineAPI(); |
| 290 | 290 |
| 291 bool evalIsDisabled = !scope.context()->IsCodeGenerationFromStringsAllowed(); | 291 bool evalIsDisabled = !scope.context()->IsCodeGenerationFromStringsAllowed(); |
| 292 // Temporarily enable allow evals for inspector. | 292 // Temporarily enable allow evals for inspector. |
| 293 if (evalIsDisabled) scope.context()->AllowCodeGenerationFromStrings(true); | 293 if (evalIsDisabled) scope.context()->AllowCodeGenerationFromStrings(true); |
| 294 | 294 |
| 295 v8::MaybeLocal<v8::Value> maybeResultValue; | 295 v8::MaybeLocal<v8::Value> maybeResultValue; |
| 296 v8::Local<v8::Script> script = m_inspector->compileScript( | 296 v8::Local<v8::Script> script; |
| 297 scope.context(), toV8String(m_inspector->isolate(), expression), | 297 if (m_inspector->compileScript(scope.context(), expression, String16()) |
| 298 String16(), false); | 298 .ToLocal(&script)) { |
| 299 if (!script.IsEmpty()) | |
| 300 maybeResultValue = m_inspector->runCompiledScript(scope.context(), script); | 299 maybeResultValue = m_inspector->runCompiledScript(scope.context(), script); |
| 300 } |
| 301 | 301 |
| 302 if (evalIsDisabled) scope.context()->AllowCodeGenerationFromStrings(false); | 302 if (evalIsDisabled) scope.context()->AllowCodeGenerationFromStrings(false); |
| 303 | 303 |
| 304 // Re-initialize after running client's code, as it could have destroyed | 304 // Re-initialize after running client's code, as it could have destroyed |
| 305 // context or session. | 305 // context or session. |
| 306 response = scope.initialize(); | 306 response = scope.initialize(); |
| 307 if (!response.isSuccess()) { | 307 if (!response.isSuccess()) { |
| 308 callback->sendFailure(response); | 308 callback->sendFailure(response); |
| 309 return; | 309 return; |
| 310 } | 310 } |
| (...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 372 callback->sendFailure(response); | 372 callback->sendFailure(response); |
| 373 return; | 373 return; |
| 374 } | 374 } |
| 375 argv[i] = argumentValue; | 375 argv[i] = argumentValue; |
| 376 } | 376 } |
| 377 } | 377 } |
| 378 | 378 |
| 379 if (silent.fromMaybe(false)) scope.ignoreExceptionsAndMuteConsole(); | 379 if (silent.fromMaybe(false)) scope.ignoreExceptionsAndMuteConsole(); |
| 380 if (userGesture.fromMaybe(false)) scope.pretendUserGesture(); | 380 if (userGesture.fromMaybe(false)) scope.pretendUserGesture(); |
| 381 | 381 |
| 382 v8::MaybeLocal<v8::Value> maybeFunctionValue = | 382 v8::MaybeLocal<v8::Value> maybeFunctionValue; |
| 383 m_inspector->compileAndRunInternalScript( | 383 v8::Local<v8::Script> functionScript; |
| 384 scope.context(), | 384 if (m_inspector |
| 385 toV8String(m_inspector->isolate(), "(" + expression + ")")); | 385 ->compileScript(scope.context(), "(" + expression + ")", String16()) |
| 386 .ToLocal(&functionScript)) { |
| 387 maybeFunctionValue = |
| 388 m_inspector->runCompiledScript(scope.context(), functionScript); |
| 389 } |
| 386 // Re-initialize after running client's code, as it could have destroyed | 390 // Re-initialize after running client's code, as it could have destroyed |
| 387 // context or session. | 391 // context or session. |
| 388 response = scope.initialize(); | 392 response = scope.initialize(); |
| 389 if (!response.isSuccess()) { | 393 if (!response.isSuccess()) { |
| 390 callback->sendFailure(response); | 394 callback->sendFailure(response); |
| 391 return; | 395 return; |
| 392 } | 396 } |
| 393 | 397 |
| 394 if (scope.tryCatch().HasCaught()) { | 398 if (scope.tryCatch().HasCaught()) { |
| 395 wrapEvaluateResultAsync(scope.injectedScript(), maybeFunctionValue, | 399 wrapEvaluateResultAsync(scope.injectedScript(), maybeFunctionValue, |
| (...skipping 140 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 536 int contextId = 0; | 540 int contextId = 0; |
| 537 Response response = ensureContext(m_inspector, m_session->contextGroupId(), | 541 Response response = ensureContext(m_inspector, m_session->contextGroupId(), |
| 538 std::move(executionContextId), &contextId); | 542 std::move(executionContextId), &contextId); |
| 539 if (!response.isSuccess()) return response; | 543 if (!response.isSuccess()) return response; |
| 540 InjectedScript::ContextScope scope(m_inspector, m_session->contextGroupId(), | 544 InjectedScript::ContextScope scope(m_inspector, m_session->contextGroupId(), |
| 541 contextId); | 545 contextId); |
| 542 response = scope.initialize(); | 546 response = scope.initialize(); |
| 543 if (!response.isSuccess()) return response; | 547 if (!response.isSuccess()) return response; |
| 544 | 548 |
| 545 if (!persistScript) m_inspector->debugger()->muteScriptParsedEvents(); | 549 if (!persistScript) m_inspector->debugger()->muteScriptParsedEvents(); |
| 546 v8::Local<v8::Script> script = m_inspector->compileScript( | 550 v8::Local<v8::Script> script; |
| 547 scope.context(), toV8String(m_inspector->isolate(), expression), | 551 bool isOk = m_inspector->compileScript(scope.context(), expression, sourceURL) |
| 548 sourceURL, false); | 552 .ToLocal(&script); |
| 549 if (!persistScript) m_inspector->debugger()->unmuteScriptParsedEvents(); | 553 if (!persistScript) m_inspector->debugger()->unmuteScriptParsedEvents(); |
| 550 if (script.IsEmpty()) { | 554 if (!isOk) { |
| 551 if (scope.tryCatch().HasCaught()) { | 555 if (scope.tryCatch().HasCaught()) { |
| 552 response = scope.injectedScript()->createExceptionDetails( | 556 response = scope.injectedScript()->createExceptionDetails( |
| 553 scope.tryCatch(), String16(), false, exceptionDetails); | 557 scope.tryCatch(), String16(), false, exceptionDetails); |
| 554 if (!response.isSuccess()) return response; | 558 if (!response.isSuccess()) return response; |
| 555 return Response::OK(); | 559 return Response::OK(); |
| 556 } else { | 560 } else { |
| 557 return Response::Error("Script compilation failed"); | 561 return Response::Error("Script compilation failed"); |
| 558 } | 562 } |
| 559 } | 563 } |
| 560 | 564 |
| (...skipping 165 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 726 } | 730 } |
| 727 | 731 |
| 728 bool V8RuntimeAgentImpl::reportMessage(V8ConsoleMessage* message, | 732 bool V8RuntimeAgentImpl::reportMessage(V8ConsoleMessage* message, |
| 729 bool generatePreview) { | 733 bool generatePreview) { |
| 730 message->reportToFrontend(&m_frontend, m_session, generatePreview); | 734 message->reportToFrontend(&m_frontend, m_session, generatePreview); |
| 731 m_frontend.flush(); | 735 m_frontend.flush(); |
| 732 return m_inspector->hasConsoleMessageStorage(m_session->contextGroupId()); | 736 return m_inspector->hasConsoleMessageStorage(m_session->contextGroupId()); |
| 733 } | 737 } |
| 734 | 738 |
| 735 } // namespace v8_inspector | 739 } // namespace v8_inspector |
| OLD | NEW |