blob: ec46c543cf45abaa3fe9954034ad4615f66e3202 [file] [log] [blame]
// Copyright 2014 The Cobalt Authors. All Rights Reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
#include <iostream>
#include <string>
#include "cobalt/base/wrap_main.h"
#include "cobalt/bindings/testing/window.h"
#include "cobalt/script/javascript_engine.h"
#include "cobalt/script/standalone_javascript_runner.h"
using cobalt::bindings::testing::Window;
using cobalt::script::StandaloneJavascriptRunner;
namespace {
cobalt::script::StandaloneJavascriptRunner* g_javascript_runner = NULL;
void StartApplication(int argc, char** argv, const char* link,
const base::Closure& quit_closure) {
scoped_refptr<Window> test_window = new Window();
cobalt::script::JavaScriptEngine::Options javascript_engine_options;
DCHECK(!g_javascript_runner);
g_javascript_runner = new cobalt::script::StandaloneJavascriptRunner(
base::MessageLoop::current()->task_runner(), javascript_engine_options,
test_window);
DCHECK(g_javascript_runner);
g_javascript_runner->RunUntilDone(quit_closure);
}
void StopApplication() {
DCHECK(g_javascript_runner);
delete g_javascript_runner;
g_javascript_runner = NULL;
}
} // namespace
COBALT_WRAP_BASE_MAIN(StartApplication, StopApplication);