#include "net/socket/tcp_listen_socket.h"
#include "ui/base/resource/resource_bundle.h"
#include "ui/snapshot/snapshot.h"
-#include "xwalk/runtime/browser/runtime.h"
using content::DevToolsAgentHost;
using content::RenderViewHost;
namespace {
Runtime* CreateWithDefaultWindow(
- RuntimeContext* runtime_context, const GURL& url,
- Runtime::Observer* observer = NULL) {
- Runtime* runtime = Runtime::Create(runtime_context, observer);
+ XWalkBrowserContext* browser_context, const GURL& url,
+ Runtime::Observer* observer) {
+ Runtime* runtime = Runtime::Create(browser_context);
+ runtime->set_observer(observer);
runtime->LoadURL(url);
#if !defined(OS_ANDROID)
- RuntimeUIStrategy ui_strategy;
- NativeAppWindow::CreateParams params;
- ui_strategy.Show(runtime, params);
+ runtime->set_ui_delegate(DefaultRuntimeUIDelegate::Create(runtime));
+ runtime->Show();
#endif
return runtime;
}
return scoped_ptr<net::StreamListenSocket>();
}
-XWalkDevToolsDelegate::XWalkDevToolsDelegate(RuntimeContext* runtime_context)
- : runtime_context_(runtime_context),
+XWalkDevToolsDelegate::XWalkDevToolsDelegate(XWalkBrowserContext* context)
+ : browser_context_(context),
weak_factory_(this) {
}
scoped_ptr<content::DevToolsTarget>
XWalkDevToolsDelegate::CreateNewTarget(const GURL& url) {
Runtime* runtime = CreateWithDefaultWindow(
- runtime_context_, GURL(url::kAboutBlankURL));
+ browser_context_, GURL(url::kAboutBlankURL), this);
return scoped_ptr<content::DevToolsTarget>(
new Target(DevToolsAgentHost::GetOrCreateFor(runtime->web_contents())));
}
callback.Run(targets);
}
+void XWalkDevToolsDelegate::OnNewRuntimeAdded(Runtime* runtime) {
+ runtime->set_observer(this);
+ runtime->set_ui_delegate(DefaultRuntimeUIDelegate::Create(runtime));
+ runtime->Show();
+}
+
+void XWalkDevToolsDelegate::OnRuntimeClosed(Runtime* runtime) {
+ delete runtime;
+}
+
} // namespace xwalk