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

Side by Side Diff: Source/devtools/front_end/bindings/NetworkProject.js

Issue 1238103002: [DevTools] Do not report edited resources via Page.getResourceContent. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Nuked concatenated, fixed comments Created 5 years, 4 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
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2012 Google Inc. All rights reserved. 2 * Copyright (C) 2012 Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above 10 * * Redistributions in binary form must reproduce the above
(...skipping 269 matching lines...) Expand 10 before | Expand all | Expand 10 after
280 * @param {!WebInspector.ResourceTreeFrame} frame 280 * @param {!WebInspector.ResourceTreeFrame} frame
281 * @this {WebInspector.NetworkProject} 281 * @this {WebInspector.NetworkProject}
282 */ 282 */
283 function populateFrame(frame) 283 function populateFrame(frame)
284 { 284 {
285 for (var i = 0; i < frame.childFrames.length; ++i) 285 for (var i = 0; i < frame.childFrames.length; ++i)
286 populateFrame.call(this, frame.childFrames[i]); 286 populateFrame.call(this, frame.childFrames[i]);
287 287
288 var resources = frame.resources(); 288 var resources = frame.resources();
289 for (var i = 0; i < resources.length; ++i) 289 for (var i = 0; i < resources.length; ++i)
290 this._addFile(resources[i].url, new WebInspector.NetworkProject. FallbackResource(resources[i])); 290 this._addResource(resources[i]);
291 } 291 }
292 292
293 var mainFrame = this.target().resourceTreeModel.mainFrame; 293 var mainFrame = this.target().resourceTreeModel.mainFrame;
294 if (mainFrame) 294 if (mainFrame)
295 populateFrame.call(this, mainFrame); 295 populateFrame.call(this, mainFrame);
296 }, 296 },
297 297
298 /** 298 /**
299 * @param {!WebInspector.Event} event 299 * @param {!WebInspector.Event} event
300 */ 300 */
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
335 335
336 this._removeFile(header.resourceURL()); 336 this._removeFile(header.resourceURL());
337 }, 337 },
338 338
339 /** 339 /**
340 * @param {!WebInspector.Event} event 340 * @param {!WebInspector.Event} event
341 */ 341 */
342 _resourceAdded: function(event) 342 _resourceAdded: function(event)
343 { 343 {
344 var resource = /** @type {!WebInspector.Resource} */ (event.data); 344 var resource = /** @type {!WebInspector.Resource} */ (event.data);
345 this._addFile(resource.url, new WebInspector.NetworkProject.FallbackReso urce(resource)); 345 this._addResource(resource);
346 }, 346 },
347 347
348 /** 348 /**
349 * @param {!WebInspector.Resource} resource
350 */
351 _addResource: function(resource)
352 {
353 if (resource.resourceType() === WebInspector.resourceTypes.Document)
354 this._addFile(resource.url, resource);
355 },
356
357 /**
349 * @param {!WebInspector.Event} event 358 * @param {!WebInspector.Event} event
350 */ 359 */
351 _mainFrameNavigated: function(event) 360 _mainFrameNavigated: function(event)
352 { 361 {
353 this._reset(); 362 this._reset();
354 this._populate(); 363 this._populate();
355 }, 364 },
356 365
357 /** 366 /**
358 * @param {string} url 367 * @param {string} url
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
406 _reset: function() 415 _reset: function()
407 { 416 {
408 this._processedURLs = {}; 417 this._processedURLs = {};
409 for (var projectId in this._projectDelegates) 418 for (var projectId in this._projectDelegates)
410 this._projectDelegates[projectId].reset(); 419 this._projectDelegates[projectId].reset();
411 this._projectDelegates = {}; 420 this._projectDelegates = {};
412 }, 421 },
413 422
414 __proto__: WebInspector.SDKObject.prototype 423 __proto__: WebInspector.SDKObject.prototype
415 } 424 }
416
417 /**
418 * @constructor
419 * @implements {WebInspector.ContentProvider}
420 * @param {!WebInspector.Resource} resource
421 */
422 WebInspector.NetworkProject.FallbackResource = function(resource)
423 {
424 this._resource = resource;
425 }
426
427 WebInspector.NetworkProject.FallbackResource.prototype = {
428
429 /**
430 * @override
431 * @return {string}
432 */
433 contentURL: function()
434 {
435 return this._resource.contentURL();
436 },
437
438 /**
439 * @override
440 * @return {!WebInspector.ResourceType}
441 */
442 contentType: function()
443 {
444 return this._resource.resourceType();
445 },
446
447 /**
448 * @override
449 * @param {function(?string)} callback
450 */
451 requestContent: function(callback)
452 {
453 /**
454 * @this {WebInspector.NetworkProject.FallbackResource}
455 */
456 function loadFallbackContent()
457 {
458 var debuggerModel = WebInspector.DebuggerModel.fromTarget(this._reso urce.target());
459 if (!debuggerModel) {
460 callback(null);
461 return;
462 }
463 var scripts = debuggerModel.scriptsForSourceURL(this._resource.url);
464 if (!scripts.length) {
465 callback(null);
466 return;
467 }
468
469 var contentProvider;
470 var type = this._resource.resourceType();
471 if (type === WebInspector.resourceTypes.Document)
472 contentProvider = new WebInspector.ConcatenatedScriptsContentPro vider(scripts);
473 else if (type === WebInspector.resourceTypes.Script)
474 contentProvider = scripts[0];
475
476 console.assert(contentProvider, "Resource content request failed. " + this._resource.url);
477
478 contentProvider.requestContent(callback);
479 }
480
481 /**
482 * @param {?string} content
483 * @this {WebInspector.NetworkProject.FallbackResource}
484 */
485 function requestContentLoaded(content)
486 {
487 if (content)
488 callback(content)
489 else
490 loadFallbackContent.call(this);
491 }
492
493 this._resource.requestContent(requestContentLoaded.bind(this));
494 },
495
496 /**
497 * @override
498 * @param {string} query
499 * @param {boolean} caseSensitive
500 * @param {boolean} isRegex
501 * @param {function(!Array.<!WebInspector.ContentProvider.SearchMatch>)} cal lback
502 */
503 searchInContent: function(query, caseSensitive, isRegex, callback)
504 {
505 /**
506 * @param {?string} content
507 */
508 function documentContentLoaded(content)
509 {
510 if (content === null) {
511 callback([]);
512 return;
513 }
514
515 var result = WebInspector.ContentProvider.performSearchInContent(con tent, query, caseSensitive, isRegex);
516 callback(result);
517 }
518
519 if (this.contentType() === WebInspector.resourceTypes.Document) {
520 this.requestContent(documentContentLoaded);
521 return;
522 }
523
524 this._resource.searchInContent(query, caseSensitive, isRegex, callback);
525 }
526 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698