Changeset 141612 in webkit


Ignore:
Timestamp:
Feb 1, 2013 11:04:43 AM (11 years ago)
Author:
commit-queue@webkit.org
Message:

Zero size gradient should paint nothing on canvas
https://bugs.webkit.org/show_bug.cgi?id=102654

Patch by Rashmi Shyamasundar <rashmi.s2@samsung.com> on 2013-02-01
Reviewed by Dirk Schulze.

Source/WebCore:

The functions fill(), fillText(), stroke(), strokeRect() and strokeText()
should paint nothing on canvas when the canvas fillStyle/strokeStyle
is set to a zero size gradient.

Tests: fast/canvas/canvas-fill-zeroSizeGradient.html

fast/canvas/canvas-fillRect-zeroSizeGradient.html
fast/canvas/canvas-fillText-zeroSizeGradient.html
fast/canvas/canvas-stroke-zeroSizeGradient.html
fast/canvas/canvas-strokeRect-zeroSizeGradient.html
fast/canvas/canvas-strokeText-zeroSizeGradient.html

  • html/canvas/CanvasRenderingContext2D.cpp:

(WebCore::CanvasRenderingContext2D::fill):
(WebCore::CanvasRenderingContext2D::stroke):
(WebCore::CanvasRenderingContext2D::strokeRect):
(WebCore::CanvasRenderingContext2D::drawTextInternal):

LayoutTests:

The functions fill(), fillText(), stroke(), strokeRect() and strokeText()
should paint nothing on canvas when the canvas fillStyle/strokeStyle
is set to a zero size gradient.

  • fast/canvas/canvas-fill-zeroSizeGradient-expected.txt: Added.
  • fast/canvas/canvas-fill-zeroSizeGradient.html: Added.
  • fast/canvas/canvas-fillRect-zeroSizeGradient-expected.txt: Added.
  • fast/canvas/canvas-fillRect-zeroSizeGradient.html: Added.
  • fast/canvas/canvas-fillText-zeroSizeGradient-expected.txt: Added.
  • fast/canvas/canvas-fillText-zeroSizeGradient.html: Added.
  • fast/canvas/canvas-stroke-zeroSizeGradient-expected.txt: Added.
  • fast/canvas/canvas-stroke-zeroSizeGradient.html: Added.
  • fast/canvas/canvas-strokeRect-zeroSizeGradient-expected.txt: Added.
  • fast/canvas/canvas-strokeRect-zeroSizeGradient.html: Added.
  • fast/canvas/canvas-strokeText-zeroSizeGradient-expected.txt: Added.
  • fast/canvas/canvas-strokeText-zeroSizeGradient.html: Added.
  • fast/canvas/script-tests/canvas-fill-zeroSizeGradient.js: Added.
  • fast/canvas/script-tests/canvas-fillRect-zeroSizeGradient.js: Added.
  • fast/canvas/script-tests/canvas-fillText-zeroSizeGradient.js: Added.
  • fast/canvas/script-tests/canvas-stroke-zeroSizeGradient.js: Added.
  • fast/canvas/script-tests/canvas-strokeRect-zeroSizeGradient.js: Added.
  • fast/canvas/script-tests/canvas-strokeText-zeroSizeGradient.js: Added.
Location:
trunk
Files:
18 added
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r141608 r141612  
     12013-02-01  Rashmi Shyamasundar  <rashmi.s2@samsung.com>
     2
     3        Zero size gradient should paint nothing on canvas
     4        https://bugs.webkit.org/show_bug.cgi?id=102654
     5
     6        Reviewed by Dirk Schulze.
     7
     8        The functions fill(), fillText(), stroke(), strokeRect() and strokeText()
     9        should paint nothing on canvas when the canvas fillStyle/strokeStyle
     10        is set to a zero size gradient.
     11
     12        * fast/canvas/canvas-fill-zeroSizeGradient-expected.txt: Added.
     13        * fast/canvas/canvas-fill-zeroSizeGradient.html: Added.
     14        * fast/canvas/canvas-fillRect-zeroSizeGradient-expected.txt: Added.
     15        * fast/canvas/canvas-fillRect-zeroSizeGradient.html: Added.
     16        * fast/canvas/canvas-fillText-zeroSizeGradient-expected.txt: Added.
     17        * fast/canvas/canvas-fillText-zeroSizeGradient.html: Added.
     18        * fast/canvas/canvas-stroke-zeroSizeGradient-expected.txt: Added.
     19        * fast/canvas/canvas-stroke-zeroSizeGradient.html: Added.
     20        * fast/canvas/canvas-strokeRect-zeroSizeGradient-expected.txt: Added.
     21        * fast/canvas/canvas-strokeRect-zeroSizeGradient.html: Added.
     22        * fast/canvas/canvas-strokeText-zeroSizeGradient-expected.txt: Added.
     23        * fast/canvas/canvas-strokeText-zeroSizeGradient.html: Added.
     24        * fast/canvas/script-tests/canvas-fill-zeroSizeGradient.js: Added.
     25        * fast/canvas/script-tests/canvas-fillRect-zeroSizeGradient.js: Added.
     26        * fast/canvas/script-tests/canvas-fillText-zeroSizeGradient.js: Added.
     27        * fast/canvas/script-tests/canvas-stroke-zeroSizeGradient.js: Added.
     28        * fast/canvas/script-tests/canvas-strokeRect-zeroSizeGradient.js: Added.
     29        * fast/canvas/script-tests/canvas-strokeText-zeroSizeGradient.js: Added.
     30
    1312013-02-01  Rouslan Solomakhin  <rouslan@chromium.org>
    232
  • trunk/Source/WebCore/ChangeLog

    r141611 r141612  
     12013-02-01  Rashmi Shyamasundar  <rashmi.s2@samsung.com>
     2
     3        Zero size gradient should paint nothing on canvas
     4        https://bugs.webkit.org/show_bug.cgi?id=102654
     5
     6        Reviewed by Dirk Schulze.
     7
     8        The functions fill(), fillText(), stroke(), strokeRect() and strokeText()
     9        should paint nothing on canvas when the canvas fillStyle/strokeStyle
     10        is set to a zero size gradient.
     11 
     12        Tests: fast/canvas/canvas-fill-zeroSizeGradient.html
     13               fast/canvas/canvas-fillRect-zeroSizeGradient.html
     14               fast/canvas/canvas-fillText-zeroSizeGradient.html
     15               fast/canvas/canvas-stroke-zeroSizeGradient.html
     16               fast/canvas/canvas-strokeRect-zeroSizeGradient.html
     17               fast/canvas/canvas-strokeText-zeroSizeGradient.html
     18
     19        * html/canvas/CanvasRenderingContext2D.cpp:
     20        (WebCore::CanvasRenderingContext2D::fill):
     21        (WebCore::CanvasRenderingContext2D::stroke):
     22        (WebCore::CanvasRenderingContext2D::strokeRect):
     23        (WebCore::CanvasRenderingContext2D::drawTextInternal):
     24
    1252013-02-01  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
    226
  • trunk/Source/WebCore/html/canvas/CanvasRenderingContext2D.cpp

    r141456 r141612  
    929929        return;
    930930
     931    // If gradient size is zero, then paint nothing.
     932    Gradient* gradient = c->fillGradient();
     933    if (gradient && gradient->isZeroSize())
     934        return;
     935
    931936    if (!m_path.isEmpty()) {
    932937        WindRule windRule = c->fillRule();
     
    964969        return;
    965970
     971    // If gradient size is zero, then paint nothing.
     972    Gradient* gradient = c->strokeGradient();
     973    if (gradient && gradient->isZeroSize())
     974        return;
     975
    966976    if (!m_path.isEmpty()) {
    967977        FloatRect dirtyRect = m_path.fastBoundingRect();
     
    11311141        return;
    11321142
     1143    // If gradient size is zero, then paint nothing.
     1144    Gradient* gradient = c->strokeGradient();
     1145    if (gradient && gradient->isZeroSize())
     1146        return;
     1147
    11331148    FloatRect rect(x, y, width, height);
    11341149
     
    21602175        return;
    21612176    if (useMaxWidth && !isfinite(maxWidth))
     2177        return;
     2178
     2179    // If gradient size is zero, then paint nothing.
     2180    Gradient* gradient = c->strokeGradient();
     2181    if (!fill && gradient && gradient->isZeroSize())
     2182        return;
     2183
     2184    gradient = c->fillGradient();
     2185    if (fill && gradient && gradient->isZeroSize())
    21622186        return;
    21632187
Note: See TracChangeset for help on using the changeset viewer.