Changeset 67084 in webkit


Ignore:
Timestamp:
Sep 9, 2010 7:51:29 AM (14 years ago)
Author:
caseq@chromium.org
Message:

2010-09-09 Andrey Kosyakov <caseq@chromium.org>

Reviewed by Yury Semikhatsky.

Web Inspector: use string representation of resource type in extension API
Fixed Resoruce.Type.toString() to handle Resource.Type.Media.
https://bugs.webkit.org/show_bug.cgi?id=45286

Test: inspector/extensions-resources.html

  • English.lproj/localizedStrings.js: Added "media".
  • inspector/front-end/ExtensionServer.js: Added webInspector.resources.Types. Return resource types as strings. (WebInspector.ExtensionServer.prototype._convertResource): (WebInspector.ExtensionServer.prototype._buildExtensionAPIInjectedScript):
  • inspector/front-end/Resource.js: Added toUIString(), changed toString() to return locale-independent representation. (WebInspector.Resource.Type.toUIString): (WebInspector.Resource.Type.toString):

2010-09-09 Andrey Kosyakov <caseq@chromium.org>

Reviewed by Yury Semikhatsky.

Web Inspector: use string representation of resource type in extension API
Split resource tests from the misc. extension API tests, added more resource types.
https://bugs.webkit.org/show_bug.cgi?id=45286

  • inspector/extensions-api-expected.txt:
  • inspector/extensions-events-expected.txt:
  • inspector/extensions-expected.txt:
  • inspector/extensions-resources-expected.txt: Added.
  • inspector/extensions-resources.html: Added.
  • inspector/extensions.html:
  • inspector/resources/Ahem.ttf: Copied from LayoutTests/fast/css/resources/Ahem.ttf.
  • inspector/resources/abe.png: Copied from LayoutTests/editing/resources/abe.png.
Location:
trunk
Files:
3 added
9 edited
1 copied

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r67079 r67084  
     12010-09-09  Andrey Kosyakov  <caseq@chromium.org>
     2
     3        Reviewed by Yury Semikhatsky.
     4
     5        Web Inspector: use string representation of resource type in extension API
     6        Split resource tests from the misc. extension API tests, added more resource types.
     7        https://bugs.webkit.org/show_bug.cgi?id=45286
     8
     9        * inspector/extensions-api-expected.txt:
     10        * inspector/extensions-events-expected.txt:
     11        * inspector/extensions-expected.txt:
     12        * inspector/extensions-resources-expected.txt: Added.
     13        * inspector/extensions-resources.html: Added.
     14        * inspector/extensions.html:
     15        * inspector/resources/Ahem.ttf: Copied from LayoutTests/fast/css/resources/Ahem.ttf.
     16        * inspector/resources/abe.png: Copied from LayoutTests/editing/resources/abe.png.
     17
    1182010-09-09  Pavel Podivilov  <podivilov@chromium.org>
    219
  • trunk/LayoutTests/inspector/extensions-api-expected.txt

    r66596 r67084  
    4747            removeListener : <function>
    4848        }
     49        Types : {
     50            Document : "document"
     51            Stylesheet : "stylesheet"
     52            Image : "image"
     53            Font : "font"
     54            Script : "script"
     55            XHR : "XHR"
     56            Media : "media"
     57            Other : "other"
     58        }
    4959        getAll : <function>
    5060        get : <function>
  • trunk/LayoutTests/inspector/extensions-events-expected.txt

    r66601 r67084  
    1010    0 : {
    1111        id : <number>
    12         type : 7
     12        type : "other"
    1313        har : <object>
    1414    }
  • trunk/LayoutTests/inspector/extensions-expected.txt

    r66601 r67084  
    2424    setExpanded : <function>
    2525}
    26 RUNNING TEST: extension_testGetAllResources
    27 resource: .../tests/inspector/inspector-test2.js
    28 resource: .../LayoutTests/inspector/extensions-test.js
    29 resource: .../LayoutTests/inspector/extensions.html
    30 RUNNING TEST: extension_testGetInvalidResource
    31 Attempted to retrieve invalid resource: {"code":"E_NOTFOUND","description":"Object not found: %s","details":[2128506],"isError":true}
    32 RUNNING TEST: extension_testResourceNotification
    33 Resource finished: .../inspector/resources/extension-main.html
    3426All tests done.
    3527
  • trunk/LayoutTests/inspector/extensions-resources.html

    • Property svn:executable set to *
    r67083 r67084  
    11<html>
    22<head>
     3<link rel="stylesheet" href="resources/audits-style1.css" type="text/css">
     4<style>
     5@font-face {
     6    font-family: 'test';
     7    src: url(resources/Ahem.ttf);
     8}
     9
     10p { font-family: 'test'; }
     11</style>
     12
    313<script src="../http/tests/inspector/inspector-test2.js"></script>
    414<script src="extensions-test.js"></script>
    515<script type="text/javascript">
    6 
    7 window.inspectedValue = { str: "foo", num: 42 };
    816
    917function extension_testGetAllResources(nextTest)
     
    1927
    2028        for (var i = 0; i < resources.length; ++i)
    21             output("resource: " + resources[i].har.request.url.replace(/.*((\/[^/]*){3}$)/,"...$1"));
     29            output("resource: " + resources[i].har.request.url.replace(/.*((\/[^/]*){3}$)/,"...$1") + ", type: " + resources[i].type);
    2230    }
    23     webInspector.resources.getAll(callbackAndNextTest(onResource, nextTest));
     31    extension_doXHR(function() {
     32        webInspector.resources.getAll(callbackAndNextTest(onResource, nextTest));
     33    });
    2434}
    2535
     
    3343}
    3444
    35 function extension_testCreatePanel(nextTest)
     45function doXHR()
    3646{
    37     function onPanelCreated(panel)
    38     {
    39         output("Panel created");
    40         dumpObject(panel);
    41     }
    42     webInspector.panels.create("Test Panel", "extension-panel.html", "extension-panel.png", callbackAndNextTest(onPanelCreated, nextTest));
    43     output("done createPanel");
     47    var xhr = new XMLHttpRequest();
     48    xhr.open('GET', location.href, false);
     49    xhr.send(null);
    4450}
    4551
    46 function extension_testCreateSidebar(nextTest)
     52function extension_doXHR(callback)
    4753{
    48     function onSidebarCreated(sidebar)
    49     {
    50         output("Sidebar created");
    51         dumpObject(sidebar);
    52     }
    53     webInspector.panels.scripts.createSidebarPane("Test Sidebar", "extension-sidebar.html", callbackAndNextTest(onSidebarCreated, nextTest));
     54    webInspector.inspectedWindow.evaluate("doXHR()", callback);
    5455}
    5556
     
    6263
    6364    webInspector.resources.onFinished.addListener(callbackAndNextTest(onResourceFinished, nextTest));
    64     webInspector.inspectedWindow.evaluate("var xhr = new XMLHttpRequest(); xhr.open('GET', '" + location.href + "', false); xhr.send(null);");
     65    extension_doXHR();
    6566}
    6667
     
    6970<body onload="runTest()">
    7071<p>Tests WebInspector extension API</p>
     72<img src="resources/abe.png">
     73<img src="resources/missing-image.png">
    7174</body>
    7275</html>
  • trunk/LayoutTests/inspector/extensions.html

    r66601 r67084  
    44<script src="extensions-test.js"></script>
    55<script type="text/javascript">
    6 
    7 window.inspectedValue = { str: "foo", num: 42 };
    8 
    9 function extension_testGetAllResources(nextTest)
    10 {
    11     function compareResources(a, b)
    12     {
    13         return a.har.request.url.localeCompare(b.har.request.url);
    14     }
    15 
    16     function onResource(result)
    17     {
    18         var resources = result.sort(compareResources);
    19 
    20         for (var i = 0; i < resources.length; ++i)
    21             output("resource: " + resources[i].har.request.url.replace(/.*((\/[^/]*){3}$)/,"...$1"));
    22     }
    23     webInspector.resources.getAll(callbackAndNextTest(onResource, nextTest));
    24 }
    25 
    26 function extension_testGetInvalidResource(nextTest)
    27 {
    28     function onResource(result)
    29     {
    30         output("Attempted to retrieve invalid resource: " + JSON.stringify(result));
    31     }
    32     webInspector.resources.get(2128506, callbackAndNextTest(onResource, nextTest));
    33 }
    346
    357function extension_testCreatePanel(nextTest)
     
    5426}
    5527
    56 function extension_testResourceNotification(nextTest)
    57 {
    58     function onResourceFinished(resource)
    59     {
    60         output("Resource finished: " + resource.har.request.url.replace(/.*((\/[^/]*){3}$)/,"...$1"));
    61     }
    62 
    63     webInspector.resources.onFinished.addListener(callbackAndNextTest(onResourceFinished, nextTest));
    64     webInspector.inspectedWindow.evaluate("var xhr = new XMLHttpRequest(); xhr.open('GET', '" + location.href + "', false); xhr.send(null);");
    65 }
    66 
    6728</script>
    6829</head>
  • trunk/WebCore/ChangeLog

    r67080 r67084  
     12010-09-09  Andrey Kosyakov  <caseq@chromium.org>
     2
     3        Reviewed by Yury Semikhatsky.
     4
     5        Web Inspector: use string representation of resource type in extension API
     6        Fixed Resoruce.Type.toString() to handle Resource.Type.Media.
     7        https://bugs.webkit.org/show_bug.cgi?id=45286
     8
     9        Test: inspector/extensions-resources.html
     10
     11        * English.lproj/localizedStrings.js: Added "media".
     12        * inspector/front-end/ExtensionServer.js: Added webInspector.resources.Types. Return resource types as strings.
     13        (WebInspector.ExtensionServer.prototype._convertResource):
     14        (WebInspector.ExtensionServer.prototype._buildExtensionAPIInjectedScript):
     15        * inspector/front-end/Resource.js: Added toUIString(), changed toString() to return locale-independent representation.
     16        (WebInspector.Resource.Type.toUIString):
     17        (WebInspector.Resource.Type.toString):
     18
    1192010-09-09  Kristian Amlie  <kristian.amlie@nokia.com>
    220
  • trunk/WebCore/inspector/front-end/ExtensionServer.js

    r66601 r67084  
    104104        return {
    105105            id: resource.identifier,
    106             type: resource.type,
     106            type: WebInspector.Resource.Type.toString(resource.type),
    107107            har: (new WebInspector.HAREntry(resource)).build(),
    108108        };
     
    322322    _buildExtensionAPIInjectedScript: function()
    323323    {
     324        var resourceTypes = {};
     325        var resourceTypeProperties = Object.getOwnPropertyNames(WebInspector.Resource.Type);
     326        for (var i = 0; i < resourceTypeProperties.length; ++i) {
     327             var propName = resourceTypeProperties[i];
     328             var propValue = WebInspector.Resource.Type[propName];
     329             if (typeof propValue === "number")
     330                 resourceTypes[propName] = WebInspector.Resource.Type.toString(propValue);
     331        }
     332
    324333        return "(function(){ " +
    325334            "var private = {};" +
    326335            "(" + WebInspector.commonExtensionSymbols.toString() + ")(private);" +
    327336            "(" + WebInspector.injectedExtensionAPI.toString() + ").apply(this, arguments);" +
     337            "webInspector.resources.Types = " + JSON.stringify(resourceTypes) + ";" +
    328338            "})";
    329339    },
  • trunk/WebCore/inspector/front-end/Resource.js

    r64142 r67084  
    5353    },
    5454
     55    toUIString: function(type)
     56    {
     57        return WebInspector.UIString(WebInspector.Resource.Type.toString(type));
     58    },
     59
     60    // Returns locale-independent string identifier of resource type (primarily for use in extension API).
     61    // The IDs need to be kept in sync with webInspector.resoureces.Types object in ExtensionAPI.js.
    5562    toString: function(type)
    5663    {
    5764        switch (type) {
    5865            case this.Document:
    59                 return WebInspector.UIString("document");
     66                return "document";
    6067            case this.Stylesheet:
    61                 return WebInspector.UIString("stylesheet");
     68                return "stylesheet";
    6269            case this.Image:
    63                 return WebInspector.UIString("image");
     70                return "image";
    6471            case this.Font:
    65                 return WebInspector.UIString("font");
     72                return "font";
    6673            case this.Script:
    67                 return WebInspector.UIString("script");
     74                return "script";
    6875            case this.XHR:
    69                 return WebInspector.UIString("XHR");
     76                return "XHR";
     77            case this.Media:
     78                return "media";
    7079            case this.Other:
    7180            default:
    72                 return WebInspector.UIString("other");
     81                return "other";
    7382        }
    7483    }
     
    604613                        null,
    605614                        1,
    606                         String.sprintf(WebInspector.Warnings.IncorrectMIMEType.message, WebInspector.Resource.Type.toString(this.type), this.mimeType),
     615                        String.sprintf(WebInspector.Warnings.IncorrectMIMEType.message, WebInspector.Resource.Type.toUIString(this.type), this.mimeType),
    607616                        null,
    608617                        null);
Note: See TracChangeset for help on using the changeset viewer.