| OLD | NEW |
| 1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "config.h" | 5 #include "config.h" |
| 6 | 6 |
| 7 #include <string> | 7 #include <string> |
| 8 | 8 |
| 9 #include "Document.h" | 9 #include "Document.h" |
| 10 #include "EventListener.h" | 10 #include "EventListener.h" |
| (...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 128 } | 128 } |
| 129 | 129 |
| 130 // We were attached prior to the page load -> init agents with Document. | 130 // We were attached prior to the page load -> init agents with Document. |
| 131 Document* doc; | 131 Document* doc; |
| 132 if (ready) { | 132 if (ready) { |
| 133 Page* page = web_view_impl_->page(); | 133 Page* page = web_view_impl_->page(); |
| 134 doc = page->mainFrame()->document(); | 134 doc = page->mainFrame()->document(); |
| 135 } else { | 135 } else { |
| 136 doc = NULL; | 136 doc = NULL; |
| 137 } | 137 } |
| 138 debugger_agent_impl_->ResetUtilityContext(doc, &utility_context_); | |
| 139 if (doc) { | 138 if (doc) { |
| 139 // Do not clear utility context when document is being cleared - |
| 140 // there still can be pending messages from the client that require |
| 141 // context to be processed. |
| 142 debugger_agent_impl_->ResetUtilityContext(doc, &utility_context_); |
| 140 InitDevToolsAgentHost(); | 143 InitDevToolsAgentHost(); |
| 144 if (!report_frame_navigate_url_.empty()) { |
| 145 // This is a document from the first load, issue frame navigate |
| 146 // scheduled in DidCommitLoadForFrame. |
| 147 tools_agent_delegate_stub_->FrameNavigate(report_frame_navigate_url_); |
| 148 report_frame_navigate_url_ = ""; |
| 149 } |
| 141 } | 150 } |
| 142 dom_agent_impl_->SetDocument(doc); | 151 dom_agent_impl_->SetDocument(doc); |
| 143 } | 152 } |
| 144 | 153 |
| 145 void WebDevToolsAgentImpl::DidCommitLoadForFrame( | 154 void WebDevToolsAgentImpl::DidCommitLoadForFrame( |
| 146 WebViewImpl* webview, | 155 WebViewImpl* webview, |
| 147 WebFrame* frame, | 156 WebFrame* frame, |
| 148 bool is_new_navigation) { | 157 bool is_new_navigation) { |
| 149 if (!attached_) { | 158 if (!attached_) { |
| 150 DisposeUtilityContext(); | 159 DisposeUtilityContext(); |
| 151 return; | 160 return; |
| 152 } | 161 } |
| 153 WebDataSource* ds = frame->GetDataSource(); | 162 WebDataSource* ds = frame->GetDataSource(); |
| 154 const WebURLRequest& request = ds->request(); | 163 const WebURLRequest& request = ds->request(); |
| 155 GURL url = ds->hasUnreachableURL() ? | 164 GURL url = ds->hasUnreachableURL() ? |
| 156 ds->unreachableURL() : | 165 ds->unreachableURL() : |
| 157 request.url(); | 166 request.url(); |
| 158 tools_agent_delegate_stub_->FrameNavigate( | 167 if (webview->GetMainFrame() == frame) { |
| 159 url.possibly_invalid_spec(), | 168 // Schedule frame navigate event. |
| 160 webview->GetMainFrame() == frame); | 169 report_frame_navigate_url_ = url.possibly_invalid_spec(); |
| 170 } |
| 161 InspectorController* ic = webview->page()->inspectorController(); | 171 InspectorController* ic = webview->page()->inspectorController(); |
| 162 // Unhide resources panel if necessary. | 172 // Unhide resources panel if necessary. |
| 163 tools_agent_delegate_stub_->SetResourcesPanelEnabled( | 173 tools_agent_delegate_stub_->SetResourcesPanelEnabled( |
| 164 ic->resourceTrackingEnabled()); | 174 ic->resourceTrackingEnabled()); |
| 165 } | 175 } |
| 166 | 176 |
| 167 void WebDevToolsAgentImpl::WindowObjectCleared(WebFrameImpl* webframe) { | 177 void WebDevToolsAgentImpl::WindowObjectCleared(WebFrameImpl* webframe) { |
| 168 DebuggerAgentManager::SetHostId(webframe, host_id_); | 178 DebuggerAgentManager::SetHostId(webframe, host_id_); |
| 169 } | 179 } |
| 170 | 180 |
| (...skipping 154 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 325 const std::string& command, | 335 const std::string& command, |
| 326 int caller_id) { | 336 int caller_id) { |
| 327 DebuggerAgentManager::ExecuteDebuggerCommand(command, caller_id); | 337 DebuggerAgentManager::ExecuteDebuggerCommand(command, caller_id); |
| 328 } | 338 } |
| 329 | 339 |
| 330 // static | 340 // static |
| 331 void WebDevToolsAgent::SetMessageLoopDispatchHandler( | 341 void WebDevToolsAgent::SetMessageLoopDispatchHandler( |
| 332 MessageLoopDispatchHandler handler) { | 342 MessageLoopDispatchHandler handler) { |
| 333 DebuggerAgentManager::SetMessageLoopDispatchHandler(handler); | 343 DebuggerAgentManager::SetMessageLoopDispatchHandler(handler); |
| 334 } | 344 } |
| OLD | NEW |