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.
This commit is contained in:
parent
e1b5e5e1bf
commit
b2a79856ef
22 changed files with 601 additions and 5 deletions
33
brightray/browser/inspectable_web_contents_impl.cc
Normal file
33
brightray/browser/inspectable_web_contents_impl.cc
Normal file
|
@ -0,0 +1,33 @@
|
|||
#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();
|
||||
}
|
||||
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue