Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(64)

Side by Side Diff: webkit/glue/webframeloaderclient_impl.cc

Issue 113836: DevTools: introduce bound object on the agent side. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 11 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « webkit/glue/webframeloaderclient_impl.h ('k') | webkit/glue/webview_impl.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2006-2008 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 #include <string> 6 #include <string>
7 #include <vector> 7 #include <vector>
8 8
9 #include "base/compiler_specific.h" 9 #include "base/compiler_specific.h"
10 10
(...skipping 28 matching lines...) Expand all
39 #include "base/command_line.h" 39 #include "base/command_line.h"
40 #include "base/logging.h" 40 #include "base/logging.h"
41 #include "base/string_util.h" 41 #include "base/string_util.h"
42 #include "net/base/mime_util.h" 42 #include "net/base/mime_util.h"
43 #include "net/base/net_errors.h" 43 #include "net/base/net_errors.h"
44 #if defined(OS_WIN) 44 #if defined(OS_WIN)
45 #include "webkit/activex_shim/activex_shared.h" 45 #include "webkit/activex_shim/activex_shared.h"
46 #endif 46 #endif
47 #include "webkit/glue/autofill_form.h" 47 #include "webkit/glue/autofill_form.h"
48 #include "webkit/glue/alt_404_page_resource_fetcher.h" 48 #include "webkit/glue/alt_404_page_resource_fetcher.h"
49 #include "webkit/glue/devtools/net_agent_impl.h"
50 #include "webkit/glue/glue_util.h" 49 #include "webkit/glue/glue_util.h"
51 #include "webkit/glue/password_form_dom_manager.h" 50 #include "webkit/glue/password_form_dom_manager.h"
52 #include "webkit/glue/plugins/plugin_list.h" 51 #include "webkit/glue/plugins/plugin_list.h"
53 #include "webkit/glue/searchable_form_data.h" 52 #include "webkit/glue/searchable_form_data.h"
54 #include "webkit/glue/webappcachecontext.h" 53 #include "webkit/glue/webappcachecontext.h"
55 #include "webkit/glue/webdatasource_impl.h" 54 #include "webkit/glue/webdatasource_impl.h"
56 #include "webkit/glue/webdevtoolsagent_impl.h" 55 #include "webkit/glue/webdevtoolsagent_impl.h"
57 #include "webkit/glue/weberror_impl.h" 56 #include "webkit/glue/weberror_impl.h"
58 #include "webkit/glue/webframeloaderclient_impl.h" 57 #include "webkit/glue/webframeloaderclient_impl.h"
59 #include "webkit/glue/webkit_glue.h" 58 #include "webkit/glue/webkit_glue.h"
(...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after
174 // WebFrame. 173 // WebFrame.
175 void WebFrameLoaderClient::assignIdentifierToInitialRequest( 174 void WebFrameLoaderClient::assignIdentifierToInitialRequest(
176 unsigned long identifier, DocumentLoader* loader, 175 unsigned long identifier, DocumentLoader* loader,
177 const ResourceRequest& request) { 176 const ResourceRequest& request) {
178 WebViewImpl* webview = webframe_->GetWebViewImpl(); 177 WebViewImpl* webview = webframe_->GetWebViewImpl();
179 WebViewDelegate* d = webview->delegate(); 178 WebViewDelegate* d = webview->delegate();
180 if (d) { 179 if (d) {
181 WebRequestImpl webreq(request); 180 WebRequestImpl webreq(request);
182 d->AssignIdentifierToRequest(webview, identifier, webreq); 181 d->AssignIdentifierToRequest(webview, identifier, webreq);
183 } 182 }
184 NetAgentImpl* net_agent = GetNetAgentImpl();
185 if (net_agent) {
186 net_agent->AssignIdentifierToRequest(loader, identifier, request);
187 }
188 } 183 }
189 184
190 // Determines whether the request being loaded by |loader| is a frame or a 185 // Determines whether the request being loaded by |loader| is a frame or a
191 // subresource. A subresource in this context is anything other than a frame -- 186 // subresource. A subresource in this context is anything other than a frame --
192 // this includes images and xmlhttp requests. It is important to note that a 187 // this includes images and xmlhttp requests. It is important to note that a
193 // subresource is NOT limited to stuff loaded through the frame's subresource 188 // subresource is NOT limited to stuff loaded through the frame's subresource
194 // loader. Synchronous xmlhttp requests for example, do not go through the 189 // loader. Synchronous xmlhttp requests for example, do not go through the
195 // subresource loader, but we still label them as TargetIsSubResource. 190 // subresource loader, but we still label them as TargetIsSubResource.
196 // 191 //
197 // The important edge cases to consider when modifying this function are 192 // The important edge cases to consider when modifying this function are
(...skipping 28 matching lines...) Expand all
226 request.setFirstPartyForCookies(KURL("about:blank")); 221 request.setFirstPartyForCookies(KURL("about:blank"));
227 222
228 // Give the delegate a crack at the request. 223 // Give the delegate a crack at the request.
229 WebViewImpl* webview = webframe_->GetWebViewImpl(); 224 WebViewImpl* webview = webframe_->GetWebViewImpl();
230 WebViewDelegate* d = webview->delegate(); 225 WebViewDelegate* d = webview->delegate();
231 if (d) { 226 if (d) {
232 WebRequestImpl webreq(request); 227 WebRequestImpl webreq(request);
233 d->WillSendRequest(webview, identifier, &webreq); 228 d->WillSendRequest(webview, identifier, &webreq);
234 request = webreq.resource_request(); 229 request = webreq.resource_request();
235 } 230 }
236 NetAgentImpl* net_agent = GetNetAgentImpl();
237 if (net_agent) {
238 net_agent->WillSendRequest(loader, identifier, request);
239 }
240 231
241 request.setAppCacheContextID( 232 request.setAppCacheContextID(
242 webframe_->GetAppCacheContext()->GetContextID()); 233 webframe_->GetAppCacheContext()->GetContextID());
243 } 234 }
244 235
245 bool WebFrameLoaderClient::shouldUseCredentialStorage(DocumentLoader*, 236 bool WebFrameLoaderClient::shouldUseCredentialStorage(DocumentLoader*,
246 unsigned long identifier) { 237 unsigned long identifier) {
247 // FIXME 238 // FIXME
248 // Intended to pass through to a method on the resource load delegate. 239 // Intended to pass through to a method on the resource load delegate.
249 // If implemented, that method controls whether the browser should ask the 240 // If implemented, that method controls whether the browser should ask the
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
297 postpone_loading_data_ = 288 postpone_loading_data_ =
298 ResourceRequest::TargetIsMainFrame == target_type && 289 ResourceRequest::TargetIsMainFrame == target_type &&
299 !is_substitute_data && 290 !is_substitute_data &&
300 response.httpStatusCode() == 404 && 291 response.httpStatusCode() == 404 &&
301 GetAlt404PageUrl(loader).is_valid(); 292 GetAlt404PageUrl(loader).is_valid();
302 if (postpone_loading_data_) 293 if (postpone_loading_data_)
303 postponed_data_.clear(); 294 postponed_data_.clear();
304 295
305 // Cancel any pending loads. 296 // Cancel any pending loads.
306 alt_404_page_fetcher_.reset(NULL); 297 alt_404_page_fetcher_.reset(NULL);
307
308 NetAgentImpl* net_agent = GetNetAgentImpl();
309 if (net_agent) {
310 net_agent->DidReceiveResponse(loader, identifier, response);
311 }
312 } 298 }
313 299
314 void WebFrameLoaderClient::dispatchDidReceiveContentLength( 300 void WebFrameLoaderClient::dispatchDidReceiveContentLength(
315 DocumentLoader* loader, 301 DocumentLoader* loader,
316 unsigned long identifier, 302 unsigned long identifier,
317 int length_received) { 303 int length_received) {
318 NetAgentImpl* net_agent = GetNetAgentImpl();
319 if (net_agent) {
320 net_agent->DidReceiveContentLength(loader, identifier, length_received);
321 }
322 } 304 }
323 305
324 // Called when a particular resource load completes 306 // Called when a particular resource load completes
325 void WebFrameLoaderClient::dispatchDidFinishLoading(DocumentLoader* loader, 307 void WebFrameLoaderClient::dispatchDidFinishLoading(DocumentLoader* loader,
326 unsigned long identifier) { 308 unsigned long identifier) {
327 if (postpone_loading_data_) { 309 if (postpone_loading_data_) {
328 // The server returned a 404 and the content was < 512 bytes (which we 310 // The server returned a 404 and the content was < 512 bytes (which we
329 // suppressed). Go ahead and fetch the alternate page content. 311 // suppressed). Go ahead and fetch the alternate page content.
330 const GURL& url = GetAlt404PageUrl(loader); 312 const GURL& url = GetAlt404PageUrl(loader);
331 DCHECK(url.is_valid()) << 313 DCHECK(url.is_valid()) <<
332 "URL changed? It was valid in dispatchDidReceiveResponse."; 314 "URL changed? It was valid in dispatchDidReceiveResponse.";
333 alt_404_page_fetcher_.reset(new Alt404PageResourceFetcher(this, 315 alt_404_page_fetcher_.reset(new Alt404PageResourceFetcher(this,
334 webframe_->frame(), loader, url)); 316 webframe_->frame(), loader, url));
335 } 317 }
336 318
337 WebViewImpl* webview = webframe_->GetWebViewImpl(); 319 WebViewImpl* webview = webframe_->GetWebViewImpl();
338 WebViewDelegate* d = webview->delegate(); 320 WebViewDelegate* d = webview->delegate();
339 if (d) 321 if (d)
340 d->DidFinishLoading(webview, identifier); 322 d->DidFinishLoading(webview, identifier);
341
342 NetAgentImpl* net_agent = GetNetAgentImpl();
343 if (net_agent) {
344 net_agent->DidFinishLoading(loader, identifier);
345 }
346 } 323 }
347 324
348 GURL WebFrameLoaderClient::GetAlt404PageUrl(DocumentLoader* loader) { 325 GURL WebFrameLoaderClient::GetAlt404PageUrl(DocumentLoader* loader) {
349 WebViewImpl* webview = webframe_->GetWebViewImpl(); 326 WebViewImpl* webview = webframe_->GetWebViewImpl();
350 WebViewDelegate* d = webview->delegate(); 327 WebViewDelegate* d = webview->delegate();
351 if (!d) 328 if (!d)
352 return GURL(); 329 return GURL();
353 330
354 const GURL& failedURL = webkit_glue::KURLToGURL(loader->url()); 331 const GURL& failedURL = webkit_glue::KURLToGURL(loader->url());
355 332
(...skipping 21 matching lines...) Expand all
377 } 354 }
378 355
379 void WebFrameLoaderClient::dispatchDidFailLoading(DocumentLoader* loader, 356 void WebFrameLoaderClient::dispatchDidFailLoading(DocumentLoader* loader,
380 unsigned long identifier, 357 unsigned long identifier,
381 const ResourceError& error) { 358 const ResourceError& error) {
382 WebViewImpl* webview = webframe_->GetWebViewImpl(); 359 WebViewImpl* webview = webframe_->GetWebViewImpl();
383 if (webview && webview->delegate()) { 360 if (webview && webview->delegate()) {
384 webview->delegate()->DidFailLoadingWithError(webview, identifier, 361 webview->delegate()->DidFailLoadingWithError(webview, identifier,
385 WebErrorImpl(error)); 362 WebErrorImpl(error));
386 } 363 }
387 NetAgentImpl* net_agent = GetNetAgentImpl();
388 if (net_agent) {
389 net_agent->DidFailLoading(loader, identifier, error);
390 }
391 } 364 }
392 365
393 void WebFrameLoaderClient::dispatchDidFinishDocumentLoad() { 366 void WebFrameLoaderClient::dispatchDidFinishDocumentLoad() {
394 WebViewImpl* webview = webframe_->GetWebViewImpl(); 367 WebViewImpl* webview = webframe_->GetWebViewImpl();
395 WebViewDelegate* d = webview->delegate(); 368 WebViewDelegate* d = webview->delegate();
396 DocumentLoader* documentLoader = 369 DocumentLoader* documentLoader =
397 webframe_->frame()->loader()->activeDocumentLoader(); 370 webframe_->frame()->loader()->activeDocumentLoader();
398 WebDataSourceImpl* data_source = 371 WebDataSourceImpl* data_source =
399 WebDataSourceImpl::FromLoader(documentLoader); 372 WebDataSourceImpl::FromLoader(documentLoader);
400 373
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
444 WebViewImpl* webview = webframe_->GetWebViewImpl(); 417 WebViewImpl* webview = webframe_->GetWebViewImpl();
445 WebViewDelegate* d = webview->delegate(); 418 WebViewDelegate* d = webview->delegate();
446 419
447 bool result = false; 420 bool result = false;
448 if (d) { 421 if (d) {
449 WebRequestImpl webreq(request); 422 WebRequestImpl webreq(request);
450 WebResponseImpl webresp(response); 423 WebResponseImpl webresp(response);
451 result = d->DidLoadResourceFromMemoryCache(webview, webreq, webresp, 424 result = d->DidLoadResourceFromMemoryCache(webview, webreq, webresp,
452 webframe_); 425 webframe_);
453 } 426 }
454 NetAgentImpl* net_agent = GetNetAgentImpl();
455 if (net_agent) {
456 net_agent->DidLoadResourceFromMemoryCache(
457 loader,
458 request,
459 response,
460 length);
461 }
462 return result; 427 return result;
463 } 428 }
464 429
465 void WebFrameLoaderClient::dispatchDidLoadResourceByXMLHttpRequest( 430 void WebFrameLoaderClient::dispatchDidLoadResourceByXMLHttpRequest(
466 unsigned long identifier, 431 unsigned long identifier,
467 const ScriptString& source) { 432 const ScriptString& source) {
468 NetAgentImpl* net_agent = GetNetAgentImpl();
469 if (net_agent) {
470 net_agent->DidLoadResourceByXMLHttpRequest(
471 identifier,
472 source);
473 }
474 } 433 }
475 434
476 void WebFrameLoaderClient::dispatchDidHandleOnloadEvents() { 435 void WebFrameLoaderClient::dispatchDidHandleOnloadEvents() {
477 // During the onload event of a subframe, the subframe can be removed. In 436 // During the onload event of a subframe, the subframe can be removed. In
478 // that case, it has no page. This is covered by 437 // that case, it has no page. This is covered by
479 // LayoutTests/fast/dom/replaceChild.html 438 // LayoutTests/fast/dom/replaceChild.html
480 if (!webframe_->frame()->page()) 439 if (!webframe_->frame()->page())
481 return; 440 return;
482 WebViewImpl* webview = webframe_->GetWebViewImpl(); 441 WebViewImpl* webview = webframe_->GetWebViewImpl();
483 WebViewDelegate* d = webview->delegate(); 442 WebViewDelegate* d = webview->delegate();
(...skipping 1152 matching lines...) Expand 10 before | Expand all | Expand 10 after
1636 1595
1637 std::string offset_str = url.ExtractFileName(); 1596 std::string offset_str = url.ExtractFileName();
1638 int offset; 1597 int offset;
1639 if (!StringToInt(offset_str, &offset)) 1598 if (!StringToInt(offset_str, &offset))
1640 return; 1599 return;
1641 1600
1642 WebViewDelegate* d = webframe_->GetWebViewImpl()->delegate(); 1601 WebViewDelegate* d = webframe_->GetWebViewImpl()->delegate();
1643 if (d) 1602 if (d)
1644 d->NavigateBackForwardSoon(offset); 1603 d->NavigateBackForwardSoon(offset);
1645 } 1604 }
1646
1647 NetAgentImpl* WebFrameLoaderClient::GetNetAgentImpl() {
1648 WebViewImpl* web_view = webframe_->GetWebViewImpl();
1649 if (!web_view) {
1650 return NULL;
1651 }
1652 WebDevToolsAgentImpl* tools_agent = web_view->GetWebDevToolsAgentImpl();
1653 if (tools_agent) {
1654 return tools_agent->net_agent_impl();
1655 } else {
1656 return NULL;
1657 }
1658 }
OLDNEW
« no previous file with comments | « webkit/glue/webframeloaderclient_impl.h ('k') | webkit/glue/webview_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698