Changeset 86663 in webkit


Ignore:
Timestamp:
May 17, 2011 2:34:49 AM (13 years ago)
Author:
apavlov@chromium.org
Message:

2011-05-17 Alexander Pavlov <apavlov@chromium.org>

Reviewed by Yury Semikhatsky.

Web Inspector: Increment/decrement of very big CSS numeric values results in invalid CSS
https://bugs.webkit.org/show_bug.cgi?id=60890

  • inspector/styles/up-down-numerics-and-colors-expected.txt:
  • inspector/styles/up-down-numerics-and-colors.html:

2011-05-17 Alexander Pavlov <apavlov@chromium.org>

Reviewed by Yury Semikhatsky.

Web Inspector: Increment/decrement of very big CSS numeric values results in invalid CSS
https://bugs.webkit.org/show_bug.cgi?id=60890

  • inspector/front-end/MetricsSidebarPane.js: (WebInspector.MetricsSidebarPane.prototype._handleKeyDown):
  • inspector/front-end/StylesSidebarPane.js: (WebInspector.StylesSidebarPane.alteredFloatNumber): (WebInspector.StylePropertyTreeElement.prototype):
Location:
trunk
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r86662 r86663  
     12011-05-17  Alexander Pavlov  <apavlov@chromium.org>
     2
     3        Reviewed by Yury Semikhatsky.
     4
     5        Web Inspector: Increment/decrement of very big CSS numeric values results in invalid CSS
     6        https://bugs.webkit.org/show_bug.cgi?id=60890
     7
     8        * inspector/styles/up-down-numerics-and-colors-expected.txt:
     9        * inspector/styles/up-down-numerics-and-colors.html:
     10
    1112011-05-17  Yuzo Fujishima  <yuzo@google.com>
    212
  • trunk/LayoutTests/inspector/styles/up-down-numerics-and-colors-expected.txt

    r82674 r86663  
    1414opacity: 10.6;
    1515
     16Running: testAlterBigNumber
     17-webkit-transform: rotate(1000000000000000065537deg);
     18
  • trunk/LayoutTests/inspector/styles/up-down-numerics-and-colors.html

    r82674 r86663  
    66    color: #FF2;
    77    opacity: .5;
     8    -webkit-transform: rotate(1000000000000000065537deg);
    89}
    910</style>
     
    4445        },
    4546
    46         function testAlterNumber()
     47        function testAlterNumber(next)
    4748        {
    4849            var opacityTreeElement = section.findTreeElementWithName("opacity");
     
    5152            opacityTreeElement.valueElement.dispatchEvent(InspectorTest.createKeyEvent("PageUp"));
    5253            InspectorTest.addResult(opacityTreeElement.listItemElement.textContent);
    53             InspectorTest.completeTest();
     54            next();
     55        },
     56
     57        function testAlterBigNumber(next)
     58        {
     59            var treeElement = section.findTreeElementWithName("-webkit-transform");
     60            treeElement.startEditing(treeElement.valueElement);
     61            var selection = window.getSelection();
     62            var range = selection.getRangeAt(0);
     63            var newRange = document.createRange();
     64            newRange.setStart(range.startContainer, 10);
     65            newRange.setEnd(range.startContainer, 10);
     66            selection.removeAllRanges();
     67            selection.addRange(newRange);
     68            treeElement.valueElement.dispatchEvent(InspectorTest.createKeyEvent("Up"));
     69            treeElement.valueElement.dispatchEvent(InspectorTest.createKeyEvent("PageUp"));
     70            InspectorTest.addResult(treeElement.listItemElement.textContent);
     71            next();
    5472        }
    5573    ]);
  • trunk/Source/WebCore/ChangeLog

    r86660 r86663  
     12011-05-17  Alexander Pavlov  <apavlov@chromium.org>
     2
     3        Reviewed by Yury Semikhatsky.
     4
     5        Web Inspector: Increment/decrement of very big CSS numeric values results in invalid CSS
     6        https://bugs.webkit.org/show_bug.cgi?id=60890
     7
     8        * inspector/front-end/MetricsSidebarPane.js:
     9        (WebInspector.MetricsSidebarPane.prototype._handleKeyDown):
     10        * inspector/front-end/StylesSidebarPane.js:
     11        (WebInspector.StylesSidebarPane.alteredFloatNumber):
     12        (WebInspector.StylePropertyTreeElement.prototype):
     13
    1142011-05-17  Pavel Podivilov  <podivilov@chromium.org>
    215
  • trunk/Source/WebCore/inspector/front-end/MetricsSidebarPane.js

    r84481 r86663  
    306306            suffix = matches[3];
    307307            number = WebInspector.StylesSidebarPane.alteredFloatNumber(parseFloat(matches[2]), event);
     308            if (number === null) {
     309                // Need to check for null explicitly.
     310                return;
     311            }
     312
    308313            if (styleProperty !== "margin" && number < 0)
    309314                number = 0;
  • trunk/Source/WebCore/inspector/front-end/StylesSidebarPane.js

    r85744 r86663  
    111111];
    112112
     113WebInspector.StylesSidebarPane.CSSNumberRegex = /^(-?(?:\d+(?:\.\d+)?|\.\d+))$/;
     114
    113115WebInspector.StylesSidebarPane.alteredFloatNumber = function(number, event)
    114116{
     
    144146        // Use the Number constructor to forget the fixed precision, so 1.100000 will print as 1.1.
    145147        result = Number((number + changeAmount).toFixed(6));
     148        if (!String(result).match(WebInspector.StylesSidebarPane.CSSNumberRegex))
     149            return null;
    146150    }
    147151
     
    17581762                suffix = matches[3];
    17591763                number = WebInspector.StylesSidebarPane.alteredFloatNumber(parseFloat(matches[2]), event);
     1764                if (number === null) {
     1765                    // Need to check for null explicitly.
     1766                    return false;
     1767                }
    17601768
    17611769                replacementString = prefix + number + suffix;
Note: See TracChangeset for help on using the changeset viewer.