Disable the detachment of devtools.
This commit is contained in:
parent
9f86fa1893
commit
dc154f3907
5 changed files with 22 additions and 19 deletions
|
@ -20,6 +20,7 @@ DevToolsDelegate::DevToolsDelegate(NativeWindow* window,
|
||||||
content::WebContents* target_web_contents)
|
content::WebContents* target_web_contents)
|
||||||
: content::WebContentsObserver(window->GetWebContents()),
|
: content::WebContentsObserver(window->GetWebContents()),
|
||||||
owner_window_(window),
|
owner_window_(window),
|
||||||
|
delegate_(NULL),
|
||||||
embedder_message_dispatcher_(
|
embedder_message_dispatcher_(
|
||||||
new DevToolsEmbedderMessageDispatcher(this)) {
|
new DevToolsEmbedderMessageDispatcher(this)) {
|
||||||
content::WebContents* web_contents = window->GetWebContents();
|
content::WebContents* web_contents = window->GetWebContents();
|
||||||
|
@ -78,7 +79,11 @@ void DevToolsDelegate::MoveWindow(int x, int y) {
|
||||||
}
|
}
|
||||||
|
|
||||||
void DevToolsDelegate::SetDockSide(const std::string& dock_side) {
|
void DevToolsDelegate::SetDockSide(const std::string& dock_side) {
|
||||||
owner_window_->Close();
|
bool succeed = true;
|
||||||
|
if (delegate_ &&
|
||||||
|
delegate_->DevToolsSetDockSide("attach-back", &succeed) &&
|
||||||
|
succeed)
|
||||||
|
owner_window_->Close();
|
||||||
}
|
}
|
||||||
|
|
||||||
void DevToolsDelegate::OpenInNewTab(const std::string& url) {
|
void DevToolsDelegate::OpenInNewTab(const std::string& url) {
|
||||||
|
|
|
@ -10,6 +10,7 @@
|
||||||
#include "content/public/browser/devtools_frontend_host_delegate.h"
|
#include "content/public/browser/devtools_frontend_host_delegate.h"
|
||||||
#include "content/public/browser/web_contents_observer.h"
|
#include "content/public/browser/web_contents_observer.h"
|
||||||
#include "vendor/brightray/browser/devtools_embedder_message_dispatcher.h"
|
#include "vendor/brightray/browser/devtools_embedder_message_dispatcher.h"
|
||||||
|
#include "vendor/brightray/browser/inspectable_web_contents_delegate.h"
|
||||||
|
|
||||||
namespace content {
|
namespace content {
|
||||||
class DevToolsAgentHost;
|
class DevToolsAgentHost;
|
||||||
|
@ -31,6 +32,10 @@ class DevToolsDelegate : public content::DevToolsFrontendHostDelegate,
|
||||||
content::WebContents* target_web_contents);
|
content::WebContents* target_web_contents);
|
||||||
virtual ~DevToolsDelegate();
|
virtual ~DevToolsDelegate();
|
||||||
|
|
||||||
|
void SetDelegate(brightray::InspectableWebContentsDelegate* delegate) {
|
||||||
|
delegate_ = delegate;
|
||||||
|
}
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
// Implementations of content::DevToolsFrontendHostDelegate.
|
// Implementations of content::DevToolsFrontendHostDelegate.
|
||||||
virtual void DispatchOnEmbedder(const std::string& message) OVERRIDE;
|
virtual void DispatchOnEmbedder(const std::string& message) OVERRIDE;
|
||||||
|
@ -66,6 +71,7 @@ class DevToolsDelegate : public content::DevToolsFrontendHostDelegate,
|
||||||
|
|
||||||
private:
|
private:
|
||||||
NativeWindow* owner_window_;
|
NativeWindow* owner_window_;
|
||||||
|
brightray::InspectableWebContentsDelegate* delegate_;
|
||||||
|
|
||||||
scoped_refptr<content::DevToolsAgentHost> devtools_agent_host_;
|
scoped_refptr<content::DevToolsAgentHost> devtools_agent_host_;
|
||||||
scoped_ptr<content::DevToolsClientHost> devtools_client_host_;
|
scoped_ptr<content::DevToolsClientHost> devtools_client_host_;
|
||||||
|
|
|
@ -478,26 +478,18 @@ void NativeWindow::Observe(int type,
|
||||||
|
|
||||||
bool NativeWindow::DevToolsSetDockSide(const std::string& dock_side,
|
bool NativeWindow::DevToolsSetDockSide(const std::string& dock_side,
|
||||||
bool* succeed) {
|
bool* succeed) {
|
||||||
if (dock_side != "undocked") {
|
if (dock_side == "undocked") {
|
||||||
// Switch to docked mode.
|
*succeed = false;
|
||||||
if (devtools_window_) {
|
return true;
|
||||||
devtools_window_->Close();
|
} else {
|
||||||
devtools_window_.reset();
|
|
||||||
}
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
CloseDevTools();
|
|
||||||
devtools_window_ = Debug(GetWebContents())->GetWeakPtr();
|
|
||||||
return true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
bool NativeWindow::DevToolsShow(const std::string& dock_side) {
|
bool NativeWindow::DevToolsShow(std::string* dock_side) {
|
||||||
if (dock_side != "undocked")
|
if (*dock_side == "undocked")
|
||||||
return false;
|
*dock_side = "bottom";
|
||||||
|
return false;
|
||||||
devtools_window_ = Debug(GetWebContents())->GetWeakPtr();
|
|
||||||
return true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void NativeWindow::OnCapturePageDone(const CapturePageCallback& callback,
|
void NativeWindow::OnCapturePageDone(const CapturePageCallback& callback,
|
||||||
|
|
|
@ -229,7 +229,7 @@ class NativeWindow : public brightray::DefaultWebContentsDelegate,
|
||||||
// Implementations of brightray::InspectableWebContentsDelegate.
|
// Implementations of brightray::InspectableWebContentsDelegate.
|
||||||
virtual bool DevToolsSetDockSide(const std::string& dock_side,
|
virtual bool DevToolsSetDockSide(const std::string& dock_side,
|
||||||
bool* succeed) OVERRIDE;
|
bool* succeed) OVERRIDE;
|
||||||
virtual bool DevToolsShow(const std::string& side) OVERRIDE;
|
virtual bool DevToolsShow(std::string* dock_side) OVERRIDE;
|
||||||
|
|
||||||
// Whether window has standard frame.
|
// Whether window has standard frame.
|
||||||
bool has_frame_;
|
bool has_frame_;
|
||||||
|
|
2
vendor/brightray
vendored
2
vendor/brightray
vendored
|
@ -1 +1 @@
|
||||||
Subproject commit 8111949e34a17bbeba9246494326bb891f55df34
|
Subproject commit 1a8afaa87129527f2c41570ee563abb507f2337a
|
Loading…
Add table
Reference in a new issue