Index: components/html_viewer/html_document.cc |
diff --git a/components/html_viewer/html_document.cc b/components/html_viewer/html_document.cc |
index 4f678954e1683bd86c7e6c070b814e99e598b4de..d16f86baf63e50619a940d1d2aaf05244d710677 100644 |
--- a/components/html_viewer/html_document.cc |
+++ b/components/html_viewer/html_document.cc |
@@ -14,6 +14,7 @@ |
#include "base/thread_task_runner_handle.h" |
#include "components/html_viewer/blink_input_events_type_converters.h" |
#include "components/html_viewer/blink_url_request_type_converters.h" |
+#include "components/html_viewer/devtools_agent_impl.h" |
#include "components/html_viewer/media_factory.h" |
#include "components/html_viewer/setup.h" |
#include "components/html_viewer/web_layer_tree_view_impl.h" |
@@ -164,8 +165,12 @@ void HTMLDocument::Load(URLResponsePtr response) { |
touch_handler_.reset(new TouchHandler(web_view_)); |
web_layer_tree_view_impl_->set_widget(web_view_); |
ConfigureSettings(web_view_->settings()); |
- web_view_->setMainFrame( |
- blink::WebLocalFrame::create(blink::WebTreeScopeType::Document, this)); |
+ |
+ blink::WebLocalFrame* main_frame = |
+ blink::WebLocalFrame::create(blink::WebTreeScopeType::Document, this); |
+ web_view_->setMainFrame(main_frame); |
+ |
+ devtools_agent_.reset(new DevToolsAgentImpl(main_frame, shell_.get())); |
sky
2015/06/02 23:28:32
Why do we always create devtools agent? Shouldn't
yzshen1
2015/06/05 17:29:29
This |devtools_agent_| registers itself with the D
sky
2015/06/05 19:13:30
SG
|
GURL url(response->url); |
@@ -258,6 +263,9 @@ void HTMLDocument::frameDetached(blink::WebFrame* frame) { |
if (frame->parent()) |
frame->parent()->removeChild(frame); |
+ if (devtools_agent_ && frame == devtools_agent_->frame()) |
+ devtools_agent_.reset(); |
+ |
// |frame| is invalid after here. |
frame->close(); |
} |