Changeset 156528 in webkit


Ignore:
Timestamp:
Sep 26, 2013 8:26:53 PM (11 years ago)
Author:
gyuyoung.kim@samsung.com
Message:

Sync toWebKitCSSShaderValue() behavior with other toCSSFooValue()
https://bugs.webkit.org/show_bug.cgi?id=121886

Reviewed by Darin Adler.

toWebKitCSSShaderValue() behavior is different from other to CSSFooValue().
It shouldn't return null. The type checking should be done before doing type cast.

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::createCustomFilterOperationWithInlineSyntax):

  • css/WebKitCSSShaderValue.h:

(WebCore::toWebKitCSSShaderValue):

Location:
trunk/Source/WebCore
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r156527 r156528  
     12013-09-26  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
     2
     3        Sync toWebKitCSSShaderValue() behavior with other toCSSFooValue()
     4        https://bugs.webkit.org/show_bug.cgi?id=121886
     5
     6        Reviewed by Darin Adler.
     7
     8        toWebKitCSSShaderValue() behavior is different from other to CSSFooValue().
     9        It shouldn't return null. The type checking should be done before doing type cast.
     10
     11        * css/StyleResolver.cpp:
     12        (WebCore::StyleResolver::createCustomFilterOperationWithInlineSyntax):
     13        * css/WebKitCSSShaderValue.h:
     14        (WebCore::toWebKitCSSShaderValue):
     15
    1162013-09-26  Antti Koivisto  <antti@apple.com>
    217
  • trunk/Source/WebCore/css/StyleResolver.cpp

    r156422 r156528  
    36243624    ASSERT(shadersListLength);
    36253625
    3626     WebKitCSSShaderValue* vertexShader = toWebKitCSSShaderValue(shadersList->itemWithoutBoundsCheck(0));
     3626
     3627    WebKitCSSShaderValue* vertexShader = 0;
    36273628    WebKitCSSShaderValue* fragmentShader = 0;
     3629
     3630    if (shadersList->itemWithoutBoundsCheck(0)->isWebKitCSSShaderValue())
     3631        vertexShader = toWebKitCSSShaderValue(shadersList->itemWithoutBoundsCheck(0));
     3632
    36283633    CustomFilterProgramType programType = PROGRAM_TYPE_BLENDS_ELEMENT_TEXTURE;
    36293634    CustomFilterProgramMixSettings mixSettings;
     
    36363641
    36373642            ASSERT(mixFunction->length());
    3638             fragmentShader = toWebKitCSSShaderValue(iterator.value());
     3643            if (iterator.value()->isWebKitCSSShaderValue())
     3644                fragmentShader = toWebKitCSSShaderValue(iterator.value());
     3645
    36393646            iterator.advance();
    36403647
     
    36523659        } else {
    36533660            programType = PROGRAM_TYPE_NO_ELEMENT_TEXTURE;
    3654             fragmentShader = toWebKitCSSShaderValue(fragmentShaderOrMixFunction);
     3661            if (fragmentShaderOrMixFunction->isWebKitCSSShaderValue())
     3662                fragmentShader = toWebKitCSSShaderValue(fragmentShaderOrMixFunction);
    36553663        }
    36563664    }
     
    36583666    if (!vertexShader && !fragmentShader)
    36593667        return 0;
    3660    
     3668
    36613669    unsigned meshRows = 1;
    36623670    unsigned meshColumns = 1;
  • trunk/Source/WebCore/css/WebKitCSSShaderValue.h

    r156383 r156528  
    7272inline WebKitCSSShaderValue* toWebKitCSSShaderValue(CSSValue* value)
    7373{
    74     return value->isWebKitCSSShaderValue() ? static_cast<WebKitCSSShaderValue*>(value) : 0;
     74    ASSERT_WITH_SECURITY_IMPLICATION(!value || value->isWebKitCSSShaderValue());
     75    return static_cast<WebKitCSSShaderValue*>(value);
    7576}
    7677
Note: See TracChangeset for help on using the changeset viewer.