- Revision
- 93972
- Author
- [email protected]
- Date
- 2011-08-29 05:19:39 -0700 (Mon, 29 Aug 2011)
Log Message
Web Inspector: extract FormattedContentProvider from RawSourceCode.
https://bugs.webkit.org/show_bug.cgi?id=66938
Reviewed by Pavel Feldman.
Source/WebCore:
* inspector/front-end/SourceFile.js:
(WebInspector.RawSourceCode.prototype._setContentProvider):
(WebInspector.RawSourceCode.prototype._loadResourceContent):
(WebInspector.RawSourceCode.prototype._loadScriptContent):
(WebInspector.RawSourceCode.prototype._loadAndConcatenateScriptsContent):
(WebInspector.RawSourceCode.prototype._didRequestContent):
(WebInspector.FormattedContentProvider):
(WebInspector.FormattedContentProvider.prototype.requestContent.didRequestContent.didFormatContent):
(WebInspector.FormattedContentProvider.prototype.requestContent):
LayoutTests:
* inspector/debugger/content-providers-expected.txt:
* inspector/debugger/content-providers.html:
Modified Paths
Diff
Modified: trunk/LayoutTests/ChangeLog (93971 => 93972)
--- trunk/LayoutTests/ChangeLog 2011-08-29 12:03:57 UTC (rev 93971)
+++ trunk/LayoutTests/ChangeLog 2011-08-29 12:19:39 UTC (rev 93972)
@@ -1,3 +1,13 @@
+2011-08-25 Pavel Podivilov <[email protected]>
+
+ Web Inspector: extract FormattedContentProvider from RawSourceCode.
+ https://bugs.webkit.org/show_bug.cgi?id=66938
+
+ Reviewed by Pavel Feldman.
+
+ * inspector/debugger/content-providers-expected.txt:
+ * inspector/debugger/content-providers.html:
+
2011-08-29 Pavel Podivilov <[email protected]>
Unreviewed, mark fast/dom/dom-constructors.html as TEXT in chromium.
Modified: trunk/LayoutTests/inspector/debugger/content-providers-expected.txt (93971 => 93972)
--- trunk/LayoutTests/inspector/debugger/content-providers-expected.txt 2011-08-29 12:03:57 UTC (rev 93971)
+++ trunk/LayoutTests/inspector/debugger/content-providers-expected.txt 2011-08-29 12:19:39 UTC (rev 93972)
@@ -21,3 +21,5 @@
Running: testResourceContentProvider
Request resource content.
+Running: testFormattedContentProvider
+
Modified: trunk/LayoutTests/inspector/debugger/content-providers.html (93971 => 93972)
--- trunk/LayoutTests/inspector/debugger/content-providers.html 2011-08-29 12:03:57 UTC (rev 93971)
+++ trunk/LayoutTests/inspector/debugger/content-providers.html 2011-08-29 12:19:39 UTC (rev 93972)
@@ -69,6 +69,28 @@
next();
}
contentProvider.requestContent(didRequestContent);
+ },
+
+ function testFormattedContentProvider(next)
+ {
+ var mapping = {};
+ var formatter = {
+ formatContent: function(mimeType, content, callback)
+ {
+ setTimeout(callback.bind(null, "<formatted> " + content, mapping), 0);
+ }
+ };
+ var resource = { type: WebInspector.Resource.Type.Document, requestContent: function(callback) { callback("<resource content>"); } };
+ var contentProvider = new WebInspector.ResourceContentProvider(resource);
+ var formattedContentProvider = new WebInspector.FormattedContentProvider(contentProvider, formatter);
+ function didRequestContent(mimeType, content)
+ {
+ InspectorTest.assertEquals("text/html", mimeType);
+ InspectorTest.assertEquals("<formatted> <resource content>", content);
+ InspectorTest.assertEquals(mapping, formattedContentProvider.mapping);
+ next();
+ }
+ formattedContentProvider.requestContent(didRequestContent);
}
]);
};
Modified: trunk/Source/WebCore/ChangeLog (93971 => 93972)
--- trunk/Source/WebCore/ChangeLog 2011-08-29 12:03:57 UTC (rev 93971)
+++ trunk/Source/WebCore/ChangeLog 2011-08-29 12:19:39 UTC (rev 93972)
@@ -1,5 +1,22 @@
2011-08-25 Pavel Podivilov <[email protected]>
+ Web Inspector: extract FormattedContentProvider from RawSourceCode.
+ https://bugs.webkit.org/show_bug.cgi?id=66938
+
+ Reviewed by Pavel Feldman.
+
+ * inspector/front-end/SourceFile.js:
+ (WebInspector.RawSourceCode.prototype._setContentProvider):
+ (WebInspector.RawSourceCode.prototype._loadResourceContent):
+ (WebInspector.RawSourceCode.prototype._loadScriptContent):
+ (WebInspector.RawSourceCode.prototype._loadAndConcatenateScriptsContent):
+ (WebInspector.RawSourceCode.prototype._didRequestContent):
+ (WebInspector.FormattedContentProvider):
+ (WebInspector.FormattedContentProvider.prototype.requestContent.didRequestContent.didFormatContent):
+ (WebInspector.FormattedContentProvider.prototype.requestContent):
+
+2011-08-25 Pavel Podivilov <[email protected]>
+
Web Inspector: link UISourceCode to RawSourceCode.
https://bugs.webkit.org/show_bug.cgi?id=66944
Modified: trunk/Source/WebCore/inspector/front-end/SourceFile.js (93971 => 93972)
--- trunk/Source/WebCore/inspector/front-end/SourceFile.js 2011-08-29 12:03:57 UTC (rev 93971)
+++ trunk/Source/WebCore/inspector/front-end/SourceFile.js 2011-08-29 12:19:39 UTC (rev 93972)
@@ -143,6 +143,14 @@
this.requestContent(didRequestContent.bind(this));
},
+ _setContentProvider: function(contentProvider)
+ {
+ if (this._formatted)
+ this._contentProvider = new WebInspector.FormattedContentProvider(contentProvider, this._formatter);
+ else
+ this._contentProvider = contentProvider;
+ },
+
forceLoadContent: function(script)
{
if (!this._hasPendingResource())
@@ -193,47 +201,32 @@
_loadResourceContent: function(resource)
{
- var contentProvider = new WebInspector.ResourceContentProvider(resource);
- contentProvider.requestContent(this._didRequestContent.bind(this));
+ this._setContentProvider(new WebInspector.ResourceContentProvider(resource));
+ this._contentProvider.requestContent(this._didRequestContent.bind(this));
},
_loadScriptContent: function()
{
- var contentProvider = new WebInspector.ScriptContentProvider(this._scripts[0]);
- contentProvider.requestContent(this._didRequestContent.bind(this));
+ this._setContentProvider(new WebInspector.ScriptContentProvider(this._scripts[0]));
+ this._contentProvider.requestContent(this._didRequestContent.bind(this));
},
_loadAndConcatenateScriptsContent: function()
{
- var contentProvider;
if (this._scripts.length === 1 && !this._scripts[0].lineOffset && !this._scripts[0].columnOffset)
- contentProvider = new WebInspector.ScriptContentProvider(this._scripts[0]);
+ this._setContentProvider(new WebInspector.ScriptContentProvider(this._scripts[0]));
else
- contentProvider = new WebInspector.ConcatenatedScriptsContentProvider(this._scripts);
- contentProvider.requestContent(this._didRequestContent.bind(this));
+ this._setContentProvider(new WebInspector.ConcatenatedScriptsContentProvider(this._scripts));
+ this._contentProvider.requestContent(this._didRequestContent.bind(this));
},
_didRequestContent: function(mimeType, content)
{
- if (!this._formatted) {
- this._invokeRequestContentCallbacks(mimeType, content);
- return;
- }
-
- function didFormatContent(formattedContent, mapping)
- {
- this._mapping = mapping;
- this._invokeRequestContentCallbacks(mimeType, formattedContent);
- }
- this._formatter.formatContent(mimeType, content, didFormatContent.bind(this));
- },
-
- _invokeRequestContentCallbacks: function(mimeType, content)
- {
this._contentLoaded = true;
this._contentRequested = false;
this._mimeType = mimeType;
this._content = content;
+ this._mapping = this._contentProvider.mapping;
for (var i = 0; i < this._requestContentCallbacks.length; ++i)
this._requestContentCallbacks[i](mimeType, content);
@@ -365,3 +358,28 @@
}
WebInspector.ResourceContentProvider.prototype.__proto__ = WebInspector.ContentProvider.prototype;
+
+
+WebInspector.FormattedContentProvider = function(contentProvider, formatter)
+{
+ this._contentProvider = contentProvider;
+ this._formatter = formatter;
+};
+
+WebInspector.FormattedContentProvider.prototype = {
+ requestContent: function(callback)
+ {
+ function didRequestContent(mimeType, content)
+ {
+ function didFormatContent(formattedContent, mapping)
+ {
+ this.mapping = mapping;
+ callback(mimeType, formattedContent);
+ }
+ this._formatter.formatContent(mimeType, content, didFormatContent.bind(this));
+ }
+ this._contentProvider.requestContent(didRequestContent.bind(this));
+ }
+}
+
+WebInspector.FormattedContentProvider.prototype.__proto__ = WebInspector.ContentProvider.prototype;