| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2009 Google Inc. All rights reserved. | 2 * Copyright (C) 2009 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 | 5 * modification, are permitted provided that the following conditions |
| 6 * are met: | 6 * are met: |
| 7 * 1. Redistributions of source code must retain the above copyright | 7 * 1. Redistributions of source code must retain the above copyright |
| 8 * notice, this list of conditions and the following disclaimer. | 8 * notice, this list of conditions and the following disclaimer. |
| 9 * 2. Redistributions in binary form must reproduce the above copyright | 9 * 2. Redistributions in binary form must reproduce the above copyright |
| 10 * notice, this list of conditions and the following disclaimer in the | 10 * notice, this list of conditions and the following disclaimer in the |
| (...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 45 #include "core/frame/ConsoleTypes.h" | 45 #include "core/frame/ConsoleTypes.h" |
| 46 #include "core/frame/LocalDOMWindow.h" | 46 #include "core/frame/LocalDOMWindow.h" |
| 47 #include "core/frame/LocalFrame.h" | 47 #include "core/frame/LocalFrame.h" |
| 48 #include "core/frame/csp/ContentSecurityPolicy.h" | 48 #include "core/frame/csp/ContentSecurityPolicy.h" |
| 49 #include "core/inspector/ConsoleMessage.h" | 49 #include "core/inspector/ConsoleMessage.h" |
| 50 #include "core/inspector/ScriptArguments.h" | 50 #include "core/inspector/ScriptArguments.h" |
| 51 #include "core/inspector/ScriptCallStack.h" | 51 #include "core/inspector/ScriptCallStack.h" |
| 52 #include "platform/EventDispatchForbiddenScope.h" | 52 #include "platform/EventDispatchForbiddenScope.h" |
| 53 #include "platform/RuntimeEnabledFeatures.h" | 53 #include "platform/RuntimeEnabledFeatures.h" |
| 54 #include "platform/TraceEvent.h" | 54 #include "platform/TraceEvent.h" |
| 55 #include "platform/heap/AddressSanitizer.h" |
| 55 #include "platform/scheduler/Scheduler.h" | 56 #include "platform/scheduler/Scheduler.h" |
| 56 #include "public/platform/Platform.h" | 57 #include "public/platform/Platform.h" |
| 57 #include "wtf/RefPtr.h" | 58 #include "wtf/RefPtr.h" |
| 58 #include "wtf/ThreadSpecific.h" | 59 #include "wtf/ThreadSpecific.h" |
| 59 #include "wtf/text/WTFString.h" | 60 #include "wtf/text/WTFString.h" |
| 60 #include <v8-debug.h> | 61 #include <v8-debug.h> |
| 61 | 62 |
| 62 namespace blink { | 63 namespace blink { |
| 63 | 64 |
| 64 static Frame* findFrame(v8::Local<v8::Object> host, v8::Local<v8::Value> data, v
8::Isolate* isolate) | 65 static Frame* findFrame(v8::Local<v8::Object> host, v8::Local<v8::Value> data, v
8::Isolate* isolate) |
| (...skipping 428 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 493 V8ErrorHandler::storeExceptionOnErrorEventWrapper(isolate, event.get
(), data, scriptState->context()->Global()); | 494 V8ErrorHandler::storeExceptionOnErrorEventWrapper(isolate, event.get
(), data, scriptState->context()->Global()); |
| 494 context->reportException(event.release(), scriptId, nullptr, corsSta
tus); | 495 context->reportException(event.release(), scriptId, nullptr, corsSta
tus); |
| 495 } | 496 } |
| 496 } | 497 } |
| 497 | 498 |
| 498 perIsolateData->setReportingException(false); | 499 perIsolateData->setReportingException(false); |
| 499 } | 500 } |
| 500 | 501 |
| 501 static const int kWorkerMaxStackSize = 500 * 1024; | 502 static const int kWorkerMaxStackSize = 500 * 1024; |
| 502 | 503 |
| 504 // This function uses a local stack variable to determine the isolate's stack li
mit. AddressSanitizer may |
| 505 // relocate that local variable to a fake stack, which may lead to problems duri
ng JavaScript execution. |
| 506 // Therefore we disable AddressSanitizer for V8Initializer::initializeWorker(). |
| 507 NO_SANITIZE_ADDRESS |
| 503 void V8Initializer::initializeWorker(v8::Isolate* isolate) | 508 void V8Initializer::initializeWorker(v8::Isolate* isolate) |
| 504 { | 509 { |
| 505 initializeV8Common(isolate); | 510 initializeV8Common(isolate); |
| 506 | 511 |
| 507 v8::V8::AddMessageListener(messageHandlerInWorker); | 512 v8::V8::AddMessageListener(messageHandlerInWorker); |
| 508 v8::V8::SetFatalErrorHandler(reportFatalErrorInWorker); | 513 v8::V8::SetFatalErrorHandler(reportFatalErrorInWorker); |
| 509 | 514 |
| 510 uint32_t here; | 515 uint32_t here; |
| 511 isolate->SetStackLimit(reinterpret_cast<uintptr_t>(&here - kWorkerMaxStackSi
ze / sizeof(uint32_t*))); | 516 isolate->SetStackLimit(reinterpret_cast<uintptr_t>(&here - kWorkerMaxStackSi
ze / sizeof(uint32_t*))); |
| 512 isolate->SetPromiseRejectCallback(promiseRejectHandlerInWorker); | 517 isolate->SetPromiseRejectCallback(promiseRejectHandlerInWorker); |
| 513 } | 518 } |
| 514 | 519 |
| 515 } // namespace blink | 520 } // namespace blink |
| OLD | NEW |