提交 3c83f895 编写于 作者: D Devon Carew

some work towards a --start-paused flag

上级 19141399
......@@ -93,6 +93,10 @@ static const char* kDartCheckedModeArgs[] = {
"--error_on_bad_override",
};
static const char* kDartStartPausedArgs[]{
"--pause_isolates_on_start",
};
void IsolateShutdownCallback(void* callback_data) {
// TODO(dart)
}
......@@ -295,6 +299,9 @@ void InitDartVM() {
if (enable_checked_mode)
args.append(kDartCheckedModeArgs, arraysize(kDartCheckedModeArgs));
if (SkySettings::Get().start_paused)
args.append(kDartStartPausedArgs, arraysize(kDartStartPausedArgs));
CHECK(Dart_SetVMFlags(args.size(), args.data()));
{
......
......@@ -9,6 +9,7 @@ namespace blink {
struct SkySettings {
bool enable_observatory = false;
bool start_paused = false;
bool enable_dart_checked_mode = false;
static const SkySettings& Get();
......
......@@ -45,6 +45,9 @@ public class SkyActivity extends Activity {
if (intent.getBooleanExtra("trace-startup", false)) {
args.add("--trace-startup");
}
if (intent.getBooleanExtra("start-paused", false)) {
args.add("--start-paused");
}
if (!args.isEmpty()) {
String[] argsArray = new String[args.size()];
return args.toArray(argsArray);
......
......@@ -83,6 +83,7 @@ void Shell::InitStandalone() {
blink::SkySettings settings;
settings.enable_observatory =
!command_line.HasSwitch(switches::kNonInteractive);
settings.start_paused = command_line.HasSwitch(switches::kStartPaused);
settings.enable_dart_checked_mode =
command_line.HasSwitch(switches::kEnableCheckedMode);
blink::SkySettings::Set(settings);
......
......@@ -15,12 +15,14 @@ const char kFLX[] = "flx";
const char kHelp[] = "help";
const char kNonInteractive[] = "non-interactive";
const char kPackageRoot[] = "package-root";
const char kStartPaused[] = "start-paused";
const char kTraceStartup[] = "trace-startup";
void PrintUsage(const std::string& executable_name) {
std::cerr << "Usage: " << executable_name
<< " --" << kEnableCheckedMode
<< " --" << kNonInteractive
<< " --" << kStartPaused
<< " --" << kTraceStartup
<< " --" << kFLX << "=FLX"
<< " --" << kPackageRoot << "=PACKAGE_ROOT"
......
......@@ -16,6 +16,7 @@ extern const char kFLX[];
extern const char kHelp[];
extern const char kNonInteractive[];
extern const char kPackageRoot[];
extern const char kStartPaused[];
extern const char kTraceStartup[];
void PrintUsage(const std::string& executable_name);
......
......@@ -32,7 +32,7 @@ static const char* ObservatoryInvoke(const char* method,
intptr_t num_params,
void* user_data) {
if (user_data == nullptr) {
// During the desctruction on the tracing controller, the user data is
// During the destruction of the tracing controller, the user data is
// cleared. Make sure that observatory requests to service calls are not
// attempted after tracing controller destruction.
return strdup(kObservatoryResultFail);
......@@ -54,8 +54,7 @@ static const char* ObservatoryInvoke(const char* method,
// Flushing the trace log requires an active message loop. However,
// observatory callbacks are made on a dart worker thread. We setup a
// message loop manually and tell the flush completion handler to
// terminate
// the loop when done
// terminate the loop when done
base::MessageLoop worker_thread_loop;
base::FilePath temp_dir;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册