electron/brightray/browser/inspectable_web_contents_impl.cc
Adam Roben b2a79856ef Add InspectableWebContents
This class can be used to create a content::WebContents that can be inspected
by the Chrome Dev Tools. This requires embedding applications to copy
content_shell.pak into their resource bundle.

Right now the dev tools are always docked to the bottom of the view; we don't
yet support undocking or changing the docked side.

Fixes #1.
2013-03-14 09:05:42 -04:00

33 lines
993 B
C++

#include "browser/inspectable_web_contents_impl.h"
#include "browser/devtools_frontend.h"
#include "browser/inspectable_web_contents_view.h"
namespace brightray {
// Implemented separately on each platform.
InspectableWebContentsView* CreateInspectableContentsView(InspectableWebContentsImpl*);
InspectableWebContentsImpl::InspectableWebContentsImpl(const content::WebContents::CreateParams& create_params)
: web_contents_(content::WebContents::Create(create_params)) {
view_.reset(CreateInspectableContentsView(this));
}
InspectableWebContentsImpl::~InspectableWebContentsImpl() {
}
InspectableWebContentsView* InspectableWebContentsImpl::GetView() const {
return view_.get();
}
content::WebContents* InspectableWebContentsImpl::GetWebContents() const {
return web_contents_.get();
}
void InspectableWebContentsImpl::ShowDevTools() {
if (!devtools_web_contents_)
devtools_web_contents_.reset(DevToolsFrontend::Show(web_contents_.get()));
view_->ShowDevTools();
}
}