提交 a55fa1ef 编写于 作者: C Chinmay Garde 提交者: GitHub

Add a —disable-observatory flag to explicitly disable observatory even in...

Add a —disable-observatory flag to explicitly disable observatory even in non-product modes. (#3012)
上级 23dabd4b
...@@ -13,6 +13,7 @@ ...@@ -13,6 +13,7 @@
namespace blink { namespace blink {
struct Settings { struct Settings {
bool enable_observatory = false;
// Port on target will be auto selected by the OS. A message will be printed // Port on target will be auto selected by the OS. A message will be printed
// on the target with the port after it has been selected. // on the target with the port after it has been selected.
uint32_t observatory_port = 0; uint32_t observatory_port = 0;
......
...@@ -203,14 +203,15 @@ Dart_Isolate ServiceIsolateCreateCallback(const char* script_uri, ...@@ -203,14 +203,15 @@ Dart_Isolate ServiceIsolateCreateCallback(const char* script_uri,
DartMojoInternal::InitForIsolate(); DartMojoInternal::InitForIsolate();
DartRuntimeHooks::Install(DartRuntimeHooks::SecondaryIsolate, script_uri); DartRuntimeHooks::Install(DartRuntimeHooks::SecondaryIsolate, script_uri);
const Settings& settings = Settings::Get(); const Settings& settings = Settings::Get();
if (settings.enable_observatory) {
std::string ip = "127.0.0.1"; std::string ip = "127.0.0.1";
const intptr_t port = settings.observatory_port; const intptr_t port = settings.observatory_port;
const bool disable_websocket_origin_check = false; const bool disable_websocket_origin_check = false;
const bool service_isolate_booted = DartServiceIsolate::Startup( const bool service_isolate_booted = DartServiceIsolate::Startup(
ip, port, tonic::DartState::HandleLibraryTag, ip, port, tonic::DartState::HandleLibraryTag,
IsRunningPrecompiledCode(), disable_websocket_origin_check, error); IsRunningPrecompiledCode(), disable_websocket_origin_check, error);
FTL_CHECK(service_isolate_booted) << error; FTL_CHECK(service_isolate_booted) << error;
}
if (g_service_isolate_hook) if (g_service_isolate_hook)
g_service_isolate_hook(IsRunningPrecompiledCode()); g_service_isolate_hook(IsRunningPrecompiledCode());
......
...@@ -71,7 +71,9 @@ base::LazyInstance<NonDiscardableMemoryAllocator> g_discardable; ...@@ -71,7 +71,9 @@ base::LazyInstance<NonDiscardableMemoryAllocator> g_discardable;
void ServiceIsolateHook(bool running_precompiled) { void ServiceIsolateHook(bool running_precompiled) {
if (!running_precompiled) { if (!running_precompiled) {
DiagnosticServer::Start(); const blink::Settings& settings = blink::Settings::Get();
if (settings.enable_observatory)
DiagnosticServer::Start();
} }
} }
...@@ -129,7 +131,9 @@ void Shell::InitStandalone(std::string icu_data_path) { ...@@ -129,7 +131,9 @@ void Shell::InitStandalone(std::string icu_data_path) {
base::CommandLine& command_line = *base::CommandLine::ForCurrentProcess(); base::CommandLine& command_line = *base::CommandLine::ForCurrentProcess();
blink::Settings settings; blink::Settings settings;
// Enable Observatory
settings.enable_observatory =
!command_line.HasSwitch(switches::kDisableObservatory);
// Set Observatory Port // Set Observatory Port
if (command_line.HasSwitch(switches::kDeviceObservatoryPort)) { if (command_line.HasSwitch(switches::kDeviceObservatoryPort)) {
auto port_string = auto port_string =
......
...@@ -18,6 +18,7 @@ const char kAotVmIsolateSnapshot[] = "vm-isolate-snapshot"; ...@@ -18,6 +18,7 @@ const char kAotVmIsolateSnapshot[] = "vm-isolate-snapshot";
const char kCacheDirPath[] = "cache-dir-path"; const char kCacheDirPath[] = "cache-dir-path";
const char kDartFlags[] = "dart-flags"; const char kDartFlags[] = "dart-flags";
const char kDeviceObservatoryPort[] = "observatory-port"; const char kDeviceObservatoryPort[] = "observatory-port";
const char kDisableObservatory[] = "disable-observatory";
const char kEndlessTraceBuffer[] = "endless-trace-buffer"; const char kEndlessTraceBuffer[] = "endless-trace-buffer";
const char kFLX[] = "flx"; const char kFLX[] = "flx";
const char kHelp[] = "help"; const char kHelp[] = "help";
......
...@@ -19,6 +19,7 @@ extern const char kAotVmIsolateSnapshot[]; ...@@ -19,6 +19,7 @@ extern const char kAotVmIsolateSnapshot[];
extern const char kCacheDirPath[]; extern const char kCacheDirPath[];
extern const char kDartFlags[]; extern const char kDartFlags[];
extern const char kDeviceObservatoryPort[]; extern const char kDeviceObservatoryPort[];
extern const char kDisableObservatory[];
extern const char kEndlessTraceBuffer[]; extern const char kEndlessTraceBuffer[];
extern const char kFLX[]; extern const char kFLX[];
extern const char kHelp[]; extern const char kHelp[];
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册