1. 03 Dec, 2013 13 commits
    • ap@apple.com's avatar
      Update WebCrypto JWK mapping to newer proposal · e6074e79
      ap@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=124218
      
      Reviewed by Anders Carlsson.
      
      Source/WebCore: 
      
      Tests: crypto/subtle/jwk-export-use-values.html
             crypto/subtle/jwk-import-use-values.html
      
      1. "extractable" renamed to "ext" in JWK.
      2. New values for "use" mapping, which can now be combined into comma separated lists,
      and cover all possible WebCrypto usages.
      
      * bindings/js/JSCryptoKeySerializationJWK.cpp:
      (WebCore::JSCryptoKeySerializationJWK::reconcileUsages):
      (WebCore::JSCryptoKeySerializationJWK::reconcileExtractable):
      (WebCore::JSCryptoKeySerializationJWK::addJWKAlgorithmToJSON):
      (WebCore::processUseValue):
      (WebCore::JSCryptoKeySerializationJWK::addJWKUseToJSON):
      (WebCore::JSCryptoKeySerializationJWK::serialize):
      
      LayoutTests: 
      
      * crypto/subtle/jwk-export-use-values-expected.txt: Added.
      * crypto/subtle/jwk-export-use-values.html: Added.
      * crypto/subtle/jwk-import-use-values-expected.txt: Added.
      * crypto/subtle/jwk-import-use-values.html: Added.
      New tests for "use" mapping.
      
      * crypto/subtle/aes-cbc-import-jwk.html:
      * crypto/subtle/aes-cbc-unwrap-rsa.html:
      * crypto/subtle/aes-cbc-wrap-rsa-non-extractable.html:
      * crypto/subtle/aes-cbc-wrap-rsa.html:
      * crypto/subtle/aes-export-key-expected.txt:
      * crypto/subtle/aes-export-key.html:
      * crypto/subtle/hmac-export-key-expected.txt:
      * crypto/subtle/hmac-export-key.html:
      * crypto/subtle/hmac-import-jwk.html:
      * crypto/subtle/import-jwk-expected.txt:
      * crypto/subtle/import-jwk.html:
      * crypto/subtle/rsa-export-key-expected.txt:
      * crypto/subtle/rsa-export-key.html:
      * crypto/subtle/rsa-export-private-key-expected.txt:
      * crypto/subtle/rsa-export-private-key.html:
      * crypto/subtle/rsa-oaep-key-manipulation-expected.txt:
      * crypto/subtle/rsa-oaep-key-manipulation.html:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@160061 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e6074e79
    • ap@apple.com's avatar
      Layout Test platform/mac/accessibility/search-predicate-element-count.html is flaky · 64dd899f
      ap@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=125195
      
      * platform/mac/TestExpectations: Marking as such.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@160049 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      64dd899f
    • rniwa@webkit.org's avatar
      Import the XHTML parsing and serialization tests for template elements · 5aef9889
      rniwa@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=125131
      
      Reviewed by Antti Koivisto.
      
      Import the tests for parsing XHTML documents and fragments at f744661dbd0c29bb6a54c1530f9843838eec1300
      after self-closing link elements in template-child-nodes-div.xhtml and template-child-nodes-nested.xhtml
      as these two files would encounter parser errors otherwise (I'll be merging these changes back into
      the web-platform-tests repository later).
      
      This completes the importation of W3C tests for the HTML template element.
      
      * html-templates/additions-to-parsing-xhtml-documents: Added.
      * html-templates/additions-to-parsing-xhtml-documents/node-document-expected.txt: Added.
      * html-templates/additions-to-parsing-xhtml-documents/node-document.html: Added.
      * html-templates/additions-to-parsing-xhtml-documents/template-child-nodes-expected.txt: Added.
      * html-templates/additions-to-parsing-xhtml-documents/template-child-nodes.html: Added.
      * html-templates/additions-to-serializing-xhtml-documents: Added.
      * html-templates/additions-to-serializing-xhtml-documents/outerhtml-expected.txt: Added.
      * html-templates/additions-to-serializing-xhtml-documents/outerhtml.html: Added.
      * html-templates/resources/template-child-nodes-div.xhtml:
      * html-templates/resources/template-child-nodes-nested.xhtml:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@160037 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5aef9889
    • samuel_white@apple.com's avatar
      AXPress event coordinates are always sent as (0, 0) · 12d5e64d
      samuel_white@apple.com authored
          https://bugs.webkit.org/show_bug.cgi?id=76677
      
          Reviewed by Simon Fraser.
      
          Make sure a press targets an element's center point.
      
          * accessibility/press-targets-center-point-expected.txt: Added.
          * accessibility/press-targets-center-point.html: Added.
      
          Set the coordinates of a simulated press equal to the center of the target
          element when the simulated press does not have a related mouse event.
      
          Test: accessibility/press-targets-center-point.html
      
          * dom/Element.cpp:
          (WebCore::Element::clientRect):
          (WebCore::Element::screenRect):
          * dom/Element.h:
          * dom/EventDispatcher.cpp:
          (WebCore::EventDispatcher::dispatchSimulatedClick):
          * dom/MouseEvent.cpp:
          (WebCore::SimulatedMouseEvent::create):
          (WebCore::SimulatedMouseEvent::SimulatedMouseEvent):
          * dom/MouseEvent.h:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@160032 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      12d5e64d
    • dino@apple.com's avatar
      [WebGL] Implement OES texture float linear · ae867077
      dino@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=124871
      
      Reviewed by Brent Fulgham.
      
      Source/WebCore:
      
      Implement the OES_texture_float_linear extension. Generally
      we'd also enable OES_texture_half_float_linear at the same
      time, but that's blocked on webkit.org/b/110936.
      
      Test: fast/canvas/webgl/oes-texture-float-linear.html
      
      * CMakeLists.txt: Add new files.
      * DerivedSources.cpp: Ditto.
      * DerivedSources.make: Generate new file from IDL.
      * GNUmakefile.list.am: Add new files.
      * WebCore.vcxproj/WebCore.vcxproj: Ditto.
      * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
      * WebCore.xcodeproj/project.pbxproj: New files for OESTextureFloatLinear.
      
      * bindings/js/JSWebGLRenderingContextCustom.cpp:
      (WebCore::toJS): Map the new name into the appropriate type.
      
      * html/canvas/OESTextureFloatLinear.cpp: Added. This is a very simple class
      that's mostly empty.
      (WebCore::OESTextureFloatLinear::OESTextureFloatLinear):
      (WebCore::OESTextureFloatLinear::~OESTextureFloatLinear):
      (WebCore::OESTextureFloatLinear::getName):
      (WebCore::OESTextureFloatLinear::create):
      * html/canvas/OESTextureFloatLinear.h: Added.
      * html/canvas/OESTextureFloatLinear.idl: Added.
      
      * html/canvas/WebGLExtension.h: Declare the new name in the enum of extensions.
      
      * html/canvas/WebGLRenderingContext.cpp:
      (WebCore::WebGLRenderingContext::drawArrays): Call new name.
      (WebCore::WebGLRenderingContext::drawElements): Call new name.
      (WebCore::WebGLRenderingContext::getExtension): Create the new extension if asked.
      (WebCore::WebGLRenderingContext::checkTextureCompleteness): Renamed from handleNPOTTextures. Now
      checks for the type of the texture too.
      * html/canvas/WebGLRenderingContext.h: Member variable for new extension.
      
      * html/canvas/WebGLTexture.cpp:
      (WebCore::WebGLTexture::WebGLTexture):
      (WebCore::WebGLTexture::needToUseBlackTexture): Takes an extra parameter which indicates
      if it has an extension enabled.
      (WebCore::WebGLTexture::update): Note it is a float type when updating.
      * html/canvas/WebGLTexture.h: New flag to indicate float type.
      
      * platform/graphics/Extensions3D.h: New flag type.
      * platform/graphics/opengl/Extensions3DOpenGL.cpp:
      (WebCore::Extensions3DOpenGL::supportsExtension): Add a comment about the extension.
      
      LayoutTests:
      
      Add the Khronos test files for this extension.
      
      Add the JS test file for OES_texture_float_linear and OES_texture_half_float_linear
      even though it's only used for the former at the moment.
      
      * fast/canvas/webgl/oes-texture-float-linear.html: Added.
      * fast/canvas/webgl/resources/oes-texture-float-and-half-float-linear.js: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@160030 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ae867077
    • ap@apple.com's avatar
      Support exporting private WebCrypto RSA keys · 902a179d
      ap@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=124483
      
      Reviewed by Anders Carlsson.
      
      Source/WebCore: 
      
      Test: crypto/subtle/rsa-export-private-key.html
      
      It might be better to have our own bignum implementation in WTF, but we currently
      don't, and the need for this computation is Common Crypto specific anyway.
      
      * crypto/CommonCryptoUtilities.h:
      * crypto/CommonCryptoUtilities.cpp:
      (WebCore::CCBigNum::CCBigNum):
      (WebCore::CCBigNum::~CCBigNum):
      (WebCore::CCBigNum::operator=):
      (WebCore::CCBigNum::data):
      (WebCore::CCBigNum::operator-):
      (WebCore::CCBigNum::operator%):
      (WebCore::CCBigNum::inverse):
      Added a minimal wrapper around CommonCrypto BigNum.
      
      * crypto/mac/CryptoKeyRSAMac.cpp:
      (WebCore::getPrivateKeyComponents): Compute missing parts using CCBigNum.
      (WebCore::CryptoKeyRSA::exportData): Implemented private key case.
      
      LayoutTests: 
      
      * crypto/subtle/rsa-export-private-key-expected.txt: Added.
      * crypto/subtle/rsa-export-private-key.html: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@160029 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      902a179d
    • ap@apple.com's avatar
      WebCrypto HMAC doesn't check key algorithm's hash · 6cfecdc0
      ap@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=125114
      
      Update layout test result for a last minute change in test content.
      
      * crypto/subtle/hmac-check-algorithm-expected.txt:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@160027 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6cfecdc0
    • rniwa@webkit.org's avatar
      XML fragment parsing algorithm doesn't use the context element's default namespace URI · 55fa369e
      rniwa@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=125132
      
      Reviewed by Darin Adler.
      
      Source/WebCore:
      
      Always use the context element's namespace as the default namespace URI when one is not specified by xmlns.
      
      The new behavior matches that of Internet Explorer and the specified behavior in HTML5:
      http://www.w3.org/TR/2013/CR-html5-20130806/the-xhtml-syntax.html#parsing-xhtml-fragments
      
      "The default namespace is the namespace for which the DOM isDefaultNamespace() method on the element would
      return true."
      
      Test: fast/parser/fragment-parsing-in-document-without-xmlns.html
      
      * xml/parser/XMLDocumentParserLibxml2.cpp:
      (WebCore::XMLDocumentParser::XMLDocumentParser):
      
      LayoutTests:
      
      Added a test for parsing a markup fragment inside a XHTML document without xmlns.
      The parsed fragment should use the context element's namespace as the default namespace.
      
      * fast/parser/fragment-parsing-in-document-without-xmlns-expected.txt: Added.
      * fast/parser/fragment-parsing-in-document-without-xmlns.html: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@160024 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      55fa369e
    • stavila@adobe.com's avatar
      The overflow border of a relatively positioned element inside a region is not painted · e018cb5e
      stavila@adobe.com authored
      https://bugs.webkit.org/show_bug.cgi?id=124919
      
      Source/WebCore:
      
      Relative positioned elements have self-painting layers that don't propagate the visual overflow
      so the layer's position should be used when determining the clipping rectangle for box decorations.
      
      Reviewed by Mihnea Ovidenie.
      
      Test: fast/regions/relative-borders-overflow.html
      
      * rendering/RenderFlowThread.cpp:
      (WebCore::RenderFlowThread::decorationsClipRectForBoxInRegion):
      
      LayoutTests:
      
      Added new tests for correct painting of the borders of a relatively positioned element inside a region.
      
      Reviewed by Mihnea Ovidenie.
      
      * fast/regions/relative-borders-overflow-expected.html: Added.
      * fast/regions/relative-borders-overflow.html: Added.
      * fast/regions/relative-in-absolute-borders-overflow-expected.html: Added.
      * fast/regions/relative-in-absolute-borders-overflow.html: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@160014 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e018cb5e
    • cfleizach@apple.com's avatar
      AX: aria-hidden=false does not work as expected · 0af5841b
      cfleizach@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=98787
      
      Reviewed by Beth Dakin.
      
      These tests were part of this patch added over a year ago, but the patch was rolled out, and when it was rolled back in
      the tests were never added. So I'm adding them back again.
      
      * accessibility/aria-hidden-negates-no-visibility.html: Added.
      * platform/mac/accessibility/aria-hidden-negates-no-visibility-expected.txt: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@160011 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0af5841b
    • commit-queue@webkit.org's avatar
      ASSERTION FAILED: !value || (value->isPrimitiveValue()) in... · 854bbedf
      commit-queue@webkit.org authored
      ASSERTION FAILED: !value || (value->isPrimitiveValue()) in WebCore::StyleProperties::getLayeredShorthandValue.
      https://bugs.webkit.org/show_bug.cgi?id=125146
      
      Patch by László Langó <lango@inf.u-szeged.hu> on 2013-12-03
      Reviewed by Darin Adler.
      
      Source/WebCore:
      
      Do not presume that |yValue| is primitive if |value| is implicit in StylePropertySerializer.
      An implicit y-value can become explicit if specified as a separate longhand.
      At the same time, its new value can be non-primitive.
      
      Backported from Blink:
      http://src.chromium.org/viewvc/blink?view=rev&rev=153678
      
      Test: fast/css/webkit-mask-crash-implicit.html
      
      * css/StyleProperties.cpp:
      (WebCore::StyleProperties::getLayeredShorthandValue):
      
      LayoutTests:
      
      * fast/css/webkit-mask-crash-implicit-expected.txt: Added.
      * fast/css/webkit-mask-crash-implicit.html: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@160010 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      854bbedf
    • rwlbuis@webkit.org's avatar
      [css shapes] layout for new ellipse syntax · 4f519ba0
      rwlbuis@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=124621
      
      Source/WebCore:
      
      Reviewed by Dirk Schulze.
      
      Implement support for doing layout with the new ellipse shape syntax,
      including basic animation support.
      
      Test: fast/shapes/shape-outside-floats/shape-outside-floats-ellipse-000.html
      
      * rendering/shapes/Shape.cpp:
      (WebCore::Shape::createShape): Convert new ellipse to a layout shape.
      * rendering/style/BasicShapes.cpp:
      (WebCore::BasicShape::canBlend): Ignore ellipses with values that
          cannot be interpolated.
      (WebCore::BasicShapeEllipse::floatValueForRadiusInBox): Helper function to calculate
          either radiusX or radiusY, shared by clip-path and shape code paths.
      (WebCore::BasicShapeEllipse::path):
      * rendering/style/BasicShapes.h:
      
      LayoutTests:
      
      Add a new test for the new ellipse syntax. Also update existing shape-inside, animation, and clip-path tests to
      test the new ellipse syntax for clipping and shape-inside.
      
      Reviewed by Dirk Schulze.
      
      * animations/resources/animation-test-helpers.js:
      (parseBasicShape):
      * css3/masking/clip-path-animation-expected.txt:
      * css3/masking/clip-path-animation.html:
      * css3/masking/clip-path-ellipse.html:
      * fast/shapes/shape-inside/shape-inside-animation-expected.txt:
      * fast/shapes/shape-inside/shape-inside-animation.html:
      * fast/shapes/shape-inside/shape-inside-ellipse-padding.html:
      * fast/shapes/shape-inside/shape-inside-ellipse.html:
      * fast/shapes/shape-inside/shape-inside-empty-expected.html:
      * fast/shapes/shape-inside/shape-inside-empty.html:
      * fast/shapes/shape-outside-floats/shape-outside-animation-expected.txt:
      * fast/shapes/shape-outside-floats/shape-outside-animation.html:
      * fast/shapes/shape-outside-floats/shape-outside-floats-ellipse-000-expected.html: Added.
      * fast/shapes/shape-outside-floats/shape-outside-floats-ellipse-000.html: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@160007 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4f519ba0
    • commit-queue@webkit.org's avatar
      Add an MathMLSelectElement class to implement <maction> and <semantics>. · 4b77b7b4
      commit-queue@webkit.org authored
      <https://webkit.org/b/120058>
      
      Patch by Frédéric Wang <fred.wang@free.fr> on 2013-12-03
      Reviewed by Chris Fleizach.
      
      Source/WebCore:
      
      Tests: mathml/presentation/maction-dynamic.html
             mathml/presentation/maction.html
             mathml/presentation/semantics.html
      
      This adds a new MathMLSelectElement class to prepare the implementation
      of the <maction> and <semantics> elements, for which only one "selected"
      child is visible. We now simply display the first child of the
      <semantics> element instead of hiding the annotations and this allows to
      handle the use case of SVG-in-MathML as generated by Instiki when
      bug 124128 is fixed ; Gecko's selection algorithm will be implemented
      later (bug 100626). We now also rely on the @actiontype and @selection
      attributes to select the visible <maction> child ; It remains to deal
      with the user interaction (bug 85734).
      
      * CMakeLists.txt: add the new files.
      * GNUmakefile.list.am: ditto
      * Target.pri: ditto
      * WebCore.vcxproj/WebCore.vcxproj: ditto
      * WebCore.vcxproj/WebCore.vcxproj.filters: ditto
      * WebCore.xcodeproj/project.pbxproj: ditto
      * css/mathml.css: remove the CSS rule for annotation/annotation-xml.
      * mathml/MathMLAllInOne.cpp: add the new cpp file.
      * mathml/MathMLSelectElement.cpp: Added.
      (WebCore::MathMLSelectElement::MathMLSelectElement):
      (WebCore::MathMLSelectElement::create):
      (WebCore::MathMLSelectElement::createRenderer):
      (WebCore::MathMLSelectElement::childShouldCreateRenderer):
      (WebCore::MathMLSelectElement::finishParsingChildren):
      (WebCore::MathMLSelectElement::childrenChanged):
      (WebCore::MathMLSelectElement::attributeChanged):
      (WebCore::MathMLSelectElement::updateSelectedChild): basic implementation for maction, semantics, maction@actiontype and maction@selection.
      * mathml/MathMLSelectElement.h: Added.
      * mathml/mathattrs.in: add actiontype and selection attributes.
      * mathml/mathtags.in: set element classes for maction, semantics, annotation and annotation-xml.
      
      LayoutTests:
      
      New tests for the selection of the visible child in the <maction> and <semantics> elements.
      
      * mathml/presentation/maction-dynamic-expected.html: Added.
      * mathml/presentation/maction-dynamic.html: Added.
      * mathml/presentation/maction-expected.html: Added.
      * mathml/presentation/maction.html: Added.
      * mathml/presentation/semantics-expected.html: Added.
      * mathml/presentation/semantics.html: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@160005 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4b77b7b4
  2. 02 Dec, 2013 14 commits
    • samuel_white@apple.com's avatar
      AX: Add AXUIElementCountForSearchPredicate parameterized attribute. · 8d7423c7
      samuel_white@apple.com authored
          https://bugs.webkit.org/show_bug.cgi?id=124561
      
          Reviewed by Chris Fleizach.
      
          Added test to verify that NSAccessibilityUIElementCountForSearchPredicateParameterizedAttribute
          works as it should and updated existing test that has exposes this new attribute.
      
          * platform/mac/accessibility/bounds-for-range-expected.txt:
          * platform/mac/accessibility/search-predicate-element-count-expected.txt: Added.
          * platform/mac/accessibility/search-predicate-element-count.html: Added.
      
          Added ability to fetch the number of elements that match a specific criteria. This will enable VoiceOver
          to interface with WebKit much more dynamically. We can now get an idea of how many interesting elements
          exist on a page, and then fetch them in chunks as needed.
      
          Test: platform/mac/accessibility/search-predicate-element-count.html
      
          * accessibility/AccessibilityObject.cpp:
          (WebCore::AccessibilityObject::isAccessibilityTextSearchMatch):
          * accessibility/AccessibilityObject.h:
          (WebCore::AccessibilitySearchCriteria::AccessibilitySearchCriteria):
          * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
          (accessibilitySearchCriteriaForSearchPredicateParameterizedAttribute):
          (-[WebAccessibilityObjectWrapper accessibilityParameterizedAttributeNames]):
          (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
      
          Added function to verify that NSAccessibilityUIElementCountForSearchPredicateParameterizedAttribute works as it should.
      
          * DumpRenderTree/AccessibilityUIElement.cpp:
          (uiElementCountForSearchPredicateCallback):
          (uiElementForSearchPredicateCallback):
          (AccessibilityUIElement::getJSClass):
          * DumpRenderTree/AccessibilityUIElement.h:
          * DumpRenderTree/atk/AccessibilityUIElementAtk.cpp:
          (AccessibilityUIElement::uiElementCountForSearchPredicate):
          * DumpRenderTree/ios/AccessibilityUIElementIOS.mm:
          (AccessibilityUIElement::uiElementCountForSearchPredicate):
          * DumpRenderTree/mac/AccessibilityUIElementMac.mm:
          (searchPredicateParameterizedAttributeForSearchCriteria):
          (AccessibilityUIElement::uiElementCountForSearchPredicate):
          (AccessibilityUIElement::uiElementForSearchPredicate):
          * DumpRenderTree/win/AccessibilityUIElementWin.cpp:
          (AccessibilityUIElement::uiElementCountForSearchPredicate):
          * WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp:
          (WTR::AccessibilityUIElement::uiElementCountForSearchPredicate):
          * WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
          * WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl:
          * WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
          (WTR::AccessibilityUIElement::uiElementCountForSearchPredicate):
          * WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
          (WTR::searchPredicateParameterizedAttributeForSearchCriteria):
          (WTR::AccessibilityUIElement::uiElementCountForSearchPredicate):
          (WTR::AccessibilityUIElement::uiElementForSearchPredicate):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159980 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8d7423c7
    • bjonesbe@adobe.com's avatar
      [css shapes] Layout support for new circle shape syntax · fa49c82a
      bjonesbe@adobe.com authored
      https://bugs.webkit.org/show_bug.cgi?id=124619
      
      Reviewed by Dirk Schulze.
      
      Source/WebCore:
      
      Implement support for doing layout with the new circle shape syntax,
      inclduing basic animation support.
      
      Tests: fast/shapes/shape-outside-floats/shape-outside-floats-circle-000.html
             fast/shapes/shape-outside-floats/shape-outside-floats-circle-001.html
             fast/shapes/shape-outside-floats/shape-outside-floats-circle-002.html
             fast/shapes/shape-outside-floats/shape-outside-floats-circle-003.html
             fast/shapes/shape-outside-floats/shape-outside-floats-circle-004.html
             fast/shapes/shape-outside-floats/shape-outside-floats-circle-005.html
      
      * css/BasicShapeFunctions.cpp:
      (WebCore::floatValueForCenterCoordinate): Used by both the CSS Shapes
          layout code and the clip path code.
      * css/BasicShapeFunctions.h:
      * css/CSSBasicShapes.cpp:
      (WebCore::buildCircleString): Update to use appendLiteral, and remove
          call to reserveCapacity - if we find that it's actually slow when
          doing performance tests, we can hopefully do something smarter and
          less ugly than that.
      * css/CSSParser.cpp:
      (WebCore::CSSParser::parseShapeRadius): Fix a logic error that caused
          the radius keywords not to work properly.
      * rendering/shapes/Shape.cpp:
      (WebCore::Shape::createShape): Convert new circle to a layout shape.
      * rendering/style/BasicShapes.cpp:
      (WebCore::BasicShape::canBlend): Ignore circles with values that
          cannot be interpolated.
      (WebCore::BasicShapeCircle::floatValueForRadiusInBox): Convert circle
          radius keywords to a float value.
      (WebCore::BasicShapeCircle::path):
      (WebCore::BasicShapeCircle::blend):
      * rendering/style/BasicShapes.h:
      (WebCore::BasicShapeCenterCoordinate::canBlend):
      (WebCore::BasicShapeRadius::canBlend):
      
      LayoutTests:
      
      Add a few tests for the new circle syntax. The old tests in
      LayoutTests/csswg will be removed when the old syntax is removed.
      
      Also update existing shape-inside, animation, and clip-path tests to
      test the new syntax.
      
      * animations/resources/animation-test-helpers.js:
      (parseBasicShape):
      * LayoutTests/animations/resources/animation-test-helpers.js:
      * LayoutTests/css3/masking/clip-path-animation-expected.txt:
      * LayoutTests/css3/masking/clip-path-animation.html:
      * LayoutTests/css3/masking/clip-path-circle-filter.html:
      * LayoutTests/css3/masking/clip-path-circle-overflow-hidden.html:
      * LayoutTests/css3/masking/clip-path-circle-overflow.html:
      * LayoutTests/css3/masking/clip-path-circle-relative-overflow.html:
      * LayoutTests/css3/masking/clip-path-circle.html:
      * LayoutTests/css3/masking/clip-path-restore.html:
      * LayoutTests/fast/shapes/parsing/parsing-shape-inside-expected.txt:
      * LayoutTests/fast/shapes/parsing/parsing-shape-outside-expected.txt:
      * LayoutTests/fast/shapes/parsing/parsing-test-utils.js:
      * LayoutTests/fast/shapes/shape-inside/shape-inside-animation-expected.txt:
      * LayoutTests/fast/shapes/shape-inside/shape-inside-animation.html:
      * LayoutTests/fast/shapes/shape-inside/shape-inside-calc-crash-expected.txt:
      * LayoutTests/fast/shapes/shape-inside/shape-inside-calc-crash.html:
      * LayoutTests/fast/shapes/shape-inside/shape-inside-circle-padding.html:
      * LayoutTests/fast/shapes/shape-inside/shape-inside-circle.html:
      * LayoutTests/fast/shapes/shape-inside/shape-inside-dynamic-nested.html:
      * LayoutTests/fast/shapes/shape-inside/shape-inside-empty-expected.html:
      * LayoutTests/fast/shapes/shape-inside/shape-inside-empty.html:
      * fast/shapes/shape-outside-floats/shape-outside-animation-expected.txt:
      * fast/shapes/shape-outside-floats/shape-outside-animation.html:
      * fast/shapes/shape-outside-floats/shape-outside-floats-circle-000-expected.html: Added.
      * fast/shapes/shape-outside-floats/shape-outside-floats-circle-000.html: Added.
      * fast/shapes/shape-outside-floats/shape-outside-floats-circle-001-expected.html: Added.
      * fast/shapes/shape-outside-floats/shape-outside-floats-circle-001.html: Added.
      * fast/shapes/shape-outside-floats/shape-outside-floats-circle-002-expected.html: Added.
      * fast/shapes/shape-outside-floats/shape-outside-floats-circle-002.html: Added.
      * fast/shapes/shape-outside-floats/shape-outside-floats-circle-003-expected.html: Added.
      * fast/shapes/shape-outside-floats/shape-outside-floats-circle-003.html: Added.
      * fast/shapes/shape-outside-floats/shape-outside-floats-circle-004-expected.html: Added.
      * fast/shapes/shape-outside-floats/shape-outside-floats-circle-004.html: Added.
      * fast/shapes/shape-outside-floats/shape-outside-floats-circle-005-expected.html: Added.
      * fast/shapes/shape-outside-floats/shape-outside-floats-circle-005.html: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159979 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      fa49c82a
    • ap@apple.com's avatar
      WebCrypto HMAC doesn't check key algorithm's hash · 2cf24dad
      ap@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=125114
      
      Reviewed by Anders Carlsson.
      
      Source/WebCore: 
      
      Test: crypto/subtle/hmac-check-algorithm.html
      
      * crypto/algorithms/CryptoAlgorithmHMAC.cpp:
      (WebCore::CryptoAlgorithmHMAC::keyAlgorithmMatches): Check it.
      
      LayoutTests: 
      
      * crypto/subtle/hmac-check-algorithm-expected.txt: Added.
      * crypto/subtle/hmac-check-algorithm.html: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159975 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2cf24dad
    • zoltan@webkit.org's avatar
      [CSS Shapes] Support inset parsing · 37a9256b
      zoltan@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=124903
      
      Reviewed by David Hyatt.
      
      Source/WebCore:
      
      In this patch I added support for inset shape parsing for CSS Shapes. Inset is defined
      by CSS Shapes Level 1 (http://dev.w3.org/csswg/css-shapes-1/#supported-basic-shapes).
      Inset is going to be used by shape-outside (bug #124905), and eventually by shape-inside.
      
      No new tests, I updated existing tests to cover the changes.
      
      * css/BasicShapeFunctions.cpp:
      (WebCore::valueForBasicShape): Add support for inset.
      (WebCore::basicShapeForValue): Add support for inset.
      * css/CSSBasicShapes.cpp:
      (WebCore::buildInsetString): Create inset css string.
      (WebCore::CSSBasicShapeInset::cssText): Convert inset shape to a CSS string.
      (WebCore::CSSBasicShapeInset::equals): Compare two inset rectangles.
      (WebCore::CSSBasicShapeInset::serializeResolvingVariables): Create an inset string, with CSS variables resolved.
      (WebCore::CSSBasicShapeInset::hasVariableReference): Determine if this inset has any CSS Variable references.
      * css/CSSBasicShapes.h: Add inset class.
      (WebCore::CSSBasicShapeInset::create):
      (WebCore::CSSBasicShapeInset::top):
      (WebCore::CSSBasicShapeInset::right):
      (WebCore::CSSBasicShapeInset::bottom):
      (WebCore::CSSBasicShapeInset::left):
      (WebCore::CSSBasicShapeInset::topLeftRadius):
      (WebCore::CSSBasicShapeInset::topRightRadius):
      (WebCore::CSSBasicShapeInset::bottomRightRadius):
      (WebCore::CSSBasicShapeInset::bottomLeftRadius):
      (WebCore::CSSBasicShapeInset::setTop):
      (WebCore::CSSBasicShapeInset::setRight):
      (WebCore::CSSBasicShapeInset::setBottom):
      (WebCore::CSSBasicShapeInset::setLeft):
      (WebCore::CSSBasicShapeInset::setTopLeftRadius):
      (WebCore::CSSBasicShapeInset::setTopRightRadius):
      (WebCore::CSSBasicShapeInset::setBottomRightRadius):
      (WebCore::CSSBasicShapeInset::setBottomLeftRadius):
      (WebCore::CSSBasicShapeInset::CSSBasicShapeInset):
      * css/CSSParser.cpp:
      (WebCore::completeBorderRadii): Move static function before parseInsetBorderRadius.
      (WebCore::CSSParser::parseInsetRoundedCorners): I added this helper function for parsing the rounded corners
      (WebCore::CSSParser::parseBasicShapeInset): Parse inset.
      (WebCore::CSSParser::parseBasicShape): Add call to parse inset.
      * css/CSSParser.h:
      * css/CSSPrimitiveValue.cpp:
      (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Add constructor for LengthSize.
      (WebCore::CSSPrimitiveValue::init): Initialize LengthSize.
      * css/CSSPrimitiveValue.h:
      (WebCore::CSSPrimitiveValue::create): Add support for creating PrimitiveValue from LengthSize.
      * css/CSSValuePool.h:
      (WebCore::CSSValuePool::createValue): Add support for LengthSize.
      * platform/LengthSize.h:
      (WebCore::LengthSize::blend): Add blend for LengthSize.
      * rendering/shapes/ShapeInsideInfo.cpp:
      (WebCore::ShapeInsideInfo::isEnabledFor): Keep inset disabled for shape-inside now.
      * rendering/style/BasicShapes.cpp:
      (WebCore::BasicShapeInset::path): Calculate path for an inset.
      (WebCore::BasicShapeInset::blend): Blend two insets.
      * rendering/style/BasicShapes.h: Add higher level inset.
      (WebCore::BasicShapeInset::create):
      (WebCore::BasicShapeInset::top):
      (WebCore::BasicShapeInset::right):
      (WebCore::BasicShapeInset::bottom):
      (WebCore::BasicShapeInset::left):
      (WebCore::BasicShapeInset::topLeftRadius):
      (WebCore::BasicShapeInset::topRightRadius):
      (WebCore::BasicShapeInset::bottomRightRadius):
      (WebCore::BasicShapeInset::bottomLeftRadius):
      (WebCore::BasicShapeInset::setTop):
      (WebCore::BasicShapeInset::setRight):
      (WebCore::BasicShapeInset::setBottom):
      (WebCore::BasicShapeInset::setLeft):
      (WebCore::BasicShapeInset::setTopLeftRadius):
      (WebCore::BasicShapeInset::setTopRightRadius):
      (WebCore::BasicShapeInset::setBottomRightRadius):
      (WebCore::BasicShapeInset::setBottomLeftRadius):
      (WebCore::BasicShapeInset::BasicShapeInset):
      
      LayoutTests:
      
      * fast/shapes/parsing/parsing-shape-inside-expected.txt:
      * fast/shapes/parsing/parsing-shape-lengths-expected.txt:
      * fast/shapes/parsing/parsing-shape-lengths.html:
      * fast/shapes/parsing/parsing-shape-outside-expected.txt:
      * fast/shapes/parsing/parsing-test-utils.js:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159968 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      37a9256b
    • ap@apple.com's avatar
      Support WebCrypto AES-KW · 24ef25bb
      ap@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=125105
      
      Reviewed by Sam Weinig.
      
      Source/WebCore: 
      
      Tests: crypto/subtle/aes-kw-key-manipulation.html
             crypto/subtle/aes-kw-wrap-unwrap-aes.html
      
      * WebCore.xcodeproj/project.pbxproj: Added new files.
      
      * crypto/CryptoAlgorithmIdentifier.h: (WebCore::CryptoAlgorithmIdentifier): Added AES-KW.
      It's not standardized yet, but there appears to be a consensus that it will be specified.
      
      * bindings/js/JSCryptoAlgorithmDictionary.cpp:
      (WebCore::JSCryptoAlgorithmDictionary::createParametersForEncrypt):
      (WebCore::JSCryptoAlgorithmDictionary::createParametersForDecrypt):
      (WebCore::JSCryptoAlgorithmDictionary::createParametersForSign):
      (WebCore::JSCryptoAlgorithmDictionary::createParametersForVerify):
      (WebCore::JSCryptoAlgorithmDictionary::createParametersForDigest):
      (WebCore::JSCryptoAlgorithmDictionary::createParametersForGenerateKey):
      (WebCore::JSCryptoAlgorithmDictionary::createParametersForDeriveKey):
      (WebCore::JSCryptoAlgorithmDictionary::createParametersForDeriveBits):
      (WebCore::JSCryptoAlgorithmDictionary::createParametersForImportKey):
      (WebCore::JSCryptoAlgorithmDictionary::createParametersForExportKey):
      Added AES-KW cases everywhere.
      
      * bindings/js/JSCryptoKeySerializationJWK.cpp:
      (WebCore::JSCryptoKeySerializationJWK::reconcileAlgorithm):
      (WebCore::JSCryptoKeySerializationJWK::keySizeIsValid):
      (WebCore::JSCryptoKeySerializationJWK::addJWKAlgorithmToJSON):
      Support importing/exporting AES-KW keys in JWK.
      
      * bindings/js/JSSubtleCryptoCustom.cpp:
      (WebCore::JSSubtleCrypto::importKey):
      (WebCore::JSSubtleCrypto::exportKey):
      (WebCore::JSSubtleCrypto::wrapKey):
      (WebCore::JSSubtleCrypto::unwrapKey):
      Added some accidentally forgotten std::moves.
      
      * crypto/algorithms/CryptoAlgorithmAES_KW.cpp: Added.
      * crypto/algorithms/CryptoAlgorithmAES_KW.h: Added.
      * crypto/mac/CryptoAlgorithmAES_KWMac.cpp: Added.
      
      * crypto/keys/CryptoKeyAES.cpp: (WebCore::CryptoKeyAES::CryptoKeyAES): Allow AES-KW
      as valid algorithm for AES keys.
      
      * crypto/mac/CryptoAlgorithmRegistryMac.cpp:
      (WebCore::CryptoAlgorithmRegistry::platformRegisterAlgorithms): Register AES-KW.
      
      LayoutTests: 
      
      * crypto/subtle/aes-kw-key-manipulation-expected.txt: Added.
      * crypto/subtle/aes-kw-key-manipulation.html: Added.
      * crypto/subtle/aes-kw-wrap-unwrap-aes-expected.txt: Added.
      * crypto/subtle/aes-kw-wrap-unwrap-aes.html: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159966 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      24ef25bb
    • commit-queue@webkit.org's avatar
      [css shapes] Parse new ellipse shape syntax · 6027c72f
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=124620
      
      Patch by Rob Buis <rob.buis@samsung.com> on 2013-12-02
      Reviewed by Dirk Schulze.
      
      Source/WebCore:
      
      Implement parsing of the new ellipse shape syntax. This closely follows the patch
      for the new circle syntax (https://bugs.webkit.org/show_bug.cgi?id=124618), with
      some refactoring of functionality shared by both.
      
      Updated existing parsing tests to cover this.
      
      * css/BasicShapeFunctions.cpp:
      (WebCore::BasicShapeRadiusToCSSValue):
      (WebCore::valueForBasicShape):
      (WebCore::CSSValueToBasicShapeRadius):
      (WebCore::basicShapeForValue):
      * css/CSSBasicShapes.cpp:
      (WebCore::buildEllipseString):
      (WebCore::CSSBasicShapeEllipse::cssText):
      (WebCore::CSSBasicShapeEllipse::equals):
      (WebCore::buildDeprecatedEllipseString):
      (WebCore::CSSDeprecatedBasicShapeEllipse::cssText):
      (WebCore::CSSDeprecatedBasicShapeEllipse::equals):
      * css/CSSBasicShapes.h:
      (WebCore::CSSDeprecatedBasicShapeEllipse::create):
      (WebCore::CSSDeprecatedBasicShapeEllipse::centerX):
      (WebCore::CSSDeprecatedBasicShapeEllipse::centerY):
      (WebCore::CSSDeprecatedBasicShapeEllipse::radiusX):
      (WebCore::CSSDeprecatedBasicShapeEllipse::radiusY):
      (WebCore::CSSDeprecatedBasicShapeEllipse::setCenterX):
      (WebCore::CSSDeprecatedBasicShapeEllipse::setCenterY):
      (WebCore::CSSDeprecatedBasicShapeEllipse::setRadiusX):
      (WebCore::CSSDeprecatedBasicShapeEllipse::setRadiusY):
      (WebCore::CSSDeprecatedBasicShapeEllipse::CSSDeprecatedBasicShapeEllipse):
      * css/CSSParser.cpp:
      (WebCore::CSSParser::parseBasicShapeEllipse):
      (WebCore::CSSParser::parseDeprecatedBasicShapeEllipse):
      (WebCore::CSSParser::parseBasicShape):
      * css/CSSParser.h:
      * rendering/shapes/Shape.cpp:
      (WebCore::Shape::createShape):
      * rendering/style/BasicShapes.cpp:
      (WebCore::DeprecatedBasicShapeEllipse::path):
      (WebCore::DeprecatedBasicShapeEllipse::blend):
      (WebCore::BasicShapeEllipse::path):
      (WebCore::BasicShapeEllipse::blend):
      * rendering/style/BasicShapes.h:
      (WebCore::BasicShapeEllipse::centerX):
      (WebCore::BasicShapeEllipse::centerY):
      (WebCore::BasicShapeEllipse::radiusX):
      (WebCore::BasicShapeEllipse::radiusY):
      (WebCore::BasicShapeEllipse::setCenterX):
      (WebCore::BasicShapeEllipse::setCenterY):
      (WebCore::BasicShapeEllipse::setRadiusX):
      (WebCore::BasicShapeEllipse::setRadiusY):
      (WebCore::BasicShapeEllipse::BasicShapeEllipse):
      (WebCore::DeprecatedBasicShapeEllipse::create):
      (WebCore::DeprecatedBasicShapeEllipse::DeprecatedBasicShapeEllipse):
      
      LayoutTests:
      
      Test that the new ellipse syntax is properly parsed.
      
      * fast/shapes/parsing/parsing-shape-inside-expected.txt:
      * fast/shapes/parsing/parsing-shape-outside-expected.txt:
      * fast/shapes/parsing/parsing-test-utils.js:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159954 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6027c72f
    • commit-queue@webkit.org's avatar
      Use GenericEventQueue in TrackListBase and reduce code duplication with scheduleTrackEvent() · 2479cb17
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=124811
      
      Patch by Brendan Long <b.long@cablelabs.com> on 2013-12-02
      Reviewed by Eric Carlson.
      
      Source/WebCore:
      
      No new tests because this is just refactoring.
      
      * html/track/TrackListBase.cpp:
      (TrackListBase::TrackListBase): Replace event code with a GenericEventQueue.
      (TrackListBase::scheduleTrackEvent): Factor out duplicate code in schedule{Add,Remove}TrackEvent functions.
      (TrackListBase::scheduleAddTrackEvent): Same.
      (TrackListBase::scheduleRemoveTrackEvent): Same.
      (TrackListBase::scheduleChangeEvent): Use GenericEventQueue.
      * html/track/TrackListBase.h: Replace event code with GenericEventQueue.
      
      LayoutTests:
      
      * platform/mac/TestExpectations: Unskip onremovetrack test which was fixed a long time ago.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159950 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2479cb17
    • ap@apple.com's avatar
      Add support for WebCrypto RSA-OAEP · a3d6e70d
      ap@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=125084
      
      Reviewed by Sam Weinig.
      
      Source/WebCore: 
      
      Tests: crypto/subtle/rsa-oaep-key-manipulation.html
             crypto/subtle/rsa-oaep-plaintext-length.html
             crypto/subtle/rsa-oaep-wrap-unwrap-aes.html
      
      * WebCore.xcodeproj/project.pbxproj: Added new files.
      
      * bindings/js/JSCryptoAlgorithmDictionary.cpp:
      (WebCore::createRsaOaepParams):
      (WebCore::JSCryptoAlgorithmDictionary::createParametersForEncrypt):
      (WebCore::JSCryptoAlgorithmDictionary::createParametersForDecrypt):
      (WebCore::JSCryptoAlgorithmDictionary::createParametersForImportKey):
      Added RSA-OAEP parameters.
      
      * bindings/js/JSCryptoKeySerializationJWK.cpp:
      (WebCore::JSCryptoKeySerializationJWK::reconcileAlgorithm):
      (WebCore::JSCryptoKeySerializationJWK::keySizeIsValid):
      (WebCore::JSCryptoKeySerializationJWK::addJWKAlgorithmToJSON):
      Support RSA-OAEP in JWK. It is more limited than general WebCrypto, as JWK only
      allows SHA-1 as hash.
      
      * crypto/CommonCryptoUtilities.cpp: Added. (WebCore::getCommonCryptoDigestAlgorithm):
      * crypto/CommonCryptoUtilities.h: Added.
      Extracted some shared code and forward declarations for CommonCrypto.
      
      * crypto/CryptoAlgorithmParameters.h: (WebCore::CryptoAlgorithmParameters::Class):
      * crypto/parameters/CryptoAlgorithmRsaOaepParams.h: Added.
      Added RsaOaepParams.
      
      * crypto/algorithms/CryptoAlgorithmRSA_OAEP.cpp: Added.
      * crypto/algorithms/CryptoAlgorithmRSA_OAEP.h: Added.
      * crypto/mac/CryptoAlgorithmRSA_OAEPMac.cpp: Added.
      
      * crypto/mac/CryptoAlgorithmHMACMac.cpp:
      (WebCore::getCommonCryptoHMACAlgorithm):
      (WebCore::CryptoAlgorithmHMAC::platformSign):
      (WebCore::CryptoAlgorithmHMAC::platformVerify):
      * crypto/mac/CryptoAlgorithmRSASSA_PKCS1_v1_5Mac.cpp:
      * crypto/mac/CryptoKeyMac.cpp:
      * crypto/mac/CryptoKeyRSAMac.cpp:
      Use CommonCryptoUtilities.
      
      * crypto/mac/CryptoAlgorithmRegistryMac.cpp:
      (WebCore::CryptoAlgorithmRegistry::platformRegisterAlgorithms): Register RSA-OAEP.
      
      LayoutTests: 
      
      * crypto/subtle/rsa-oaep-key-manipulation-expected.txt: Added.
      * crypto/subtle/rsa-oaep-key-manipulation.html: Added.
      * crypto/subtle/rsa-oaep-plaintext-length-expected.txt: Added.
      * crypto/subtle/rsa-oaep-plaintext-length.html: Added.
      * crypto/subtle/rsa-oaep-wrap-unwrap-aes-expected.txt: Added.
      * crypto/subtle/rsa-oaep-wrap-unwrap-aes.html: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159944 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a3d6e70d
    • fpizlo@apple.com's avatar
      Stores to local captured variables should be intercepted · 0309686b
      fpizlo@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=124883
      
      Source/JavaScriptCore: 
      
      Reviewed by Mark Hahnenberg.
              
      Previously, in bytecode, you could assign to a captured variable just as you would
      assign to any other kind of variable. This complicates closure variable constant
      inference because we don't have any place where we can intercept stores to captured
      variables in the LLInt.
              
      This patch institutes a policy that only certain instructions can store to captured
      variables. If you interpret those instructions and you are required to notifyWrite()
      then you need to check if the relevant variable is captured. Those instructions are
      tracked in CodeBlock.cpp's VerifyCapturedDef. The main one is simply op_captured_mov.
      In the future, we'll probably modify those instructions to have a pointer directly to
      the VariableWatchpointSet; but for now we just introduce the captured instructions as
      placeholders.
              
      In order to validate that the placeholders are inserted correctly, this patch improves
      the CodeBlock validation to be able to inspect every def in the bytecode. To do that,
      this patch refactors the liveness analysis' use/def calculator to be reusable; it now
      takes a functor for each use or def.
              
      In the process of refactoring the liveness analysis, I noticed that op_enter was
      claiming to def all callee registers. That's wrong; it only defs the non-temporary
      variables. Making that change revealed preexisting bugs in the liveness analysis, since
      now the validator would pick up cases where the bytecode claimed to use a temporary and
      the def calculator never noticed the definition (or the converse - where the bytecode
      was actually not using a temporary but the liveness analysis thought that it was a
      use). This patch fixes a few of those bugs.
      
      * GNUmakefile.list.am:
      * JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
      * JavaScriptCore.xcodeproj/project.pbxproj:
      * bytecode/BytecodeLivenessAnalysis.cpp:
      (JSC::stepOverInstruction):
      * bytecode/BytecodeUseDef.h: Added.
      (JSC::computeUsesForBytecodeOffset):
      (JSC::computeDefsForBytecodeOffset):
      * bytecode/CodeBlock.cpp:
      (JSC::CodeBlock::dumpBytecode):
      (JSC::CodeBlock::isCaptured):
      (JSC::CodeBlock::validate):
      * bytecode/CodeBlock.h:
      * bytecode/Opcode.h:
      (JSC::padOpcodeName):
      * bytecompiler/BytecodeGenerator.cpp:
      (JSC::BytecodeGenerator::BytecodeGenerator):
      (JSC::BytecodeGenerator::resolveCallee):
      (JSC::BytecodeGenerator::emitMove):
      (JSC::BytecodeGenerator::isCaptured):
      (JSC::BytecodeGenerator::local):
      (JSC::BytecodeGenerator::constLocal):
      (JSC::BytecodeGenerator::emitNewFunction):
      (JSC::BytecodeGenerator::emitLazyNewFunction):
      (JSC::BytecodeGenerator::emitNewFunctionInternal):
      * bytecompiler/BytecodeGenerator.h:
      (JSC::Local::Local):
      (JSC::Local::isCaptured):
      (JSC::Local::captureMode):
      (JSC::BytecodeGenerator::captureMode):
      (JSC::BytecodeGenerator::emitNode):
      (JSC::BytecodeGenerator::pushOptimisedForIn):
      * bytecompiler/NodesCodegen.cpp:
      (JSC::PostfixNode::emitResolve):
      (JSC::PrefixNode::emitResolve):
      (JSC::ReadModifyResolveNode::emitBytecode):
      (JSC::AssignResolveNode::emitBytecode):
      (JSC::ConstDeclNode::emitCodeSingle):
      (JSC::ForInNode::emitBytecode):
      * dfg/DFGByteCodeParser.cpp:
      (JSC::DFG::ByteCodeParser::parseBlock):
      * dfg/DFGCapabilities.cpp:
      (JSC::DFG::capabilityLevel):
      * jit/JIT.cpp:
      (JSC::JIT::privateCompileMainPass):
      * llint/LowLevelInterpreter32_64.asm:
      * llint/LowLevelInterpreter64.asm:
      * runtime/SymbolTable.h:
      (JSC::SymbolTable::isCaptured):
      
      LayoutTests: 
      
      Reviewed by Mark Hahnenberg.
      
      * js/regress/captured-assignments-expected.txt: Added.
      * js/regress/captured-assignments.html: Added.
      * js/regress/script-tests/captured-assignments.js: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159943 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0309686b
    • lauro.neto@openbossa.org's avatar
      [MediaStream] Update layout tests to newer spec. · 1aa1edc8
      lauro.neto@openbossa.org authored
      https://bugs.webkit.org/show_bug.cgi?id=124985
      
      Reviewed by Eric Carlson.
      
      * TestExpectations:
      * fast/mediastream/MediaStream-onended-expected.txt: Removed.
      * fast/mediastream/MediaStreamTrack-onended-expected.txt: Added.
      * fast/mediastream/MediaStreamTrack-onended.html: Renamed from LayoutTests/fast/mediastream/MediaStream-onended.html.
      * fast/mediastream/RTCPeerConnection-ice-expected.txt:
      * fast/mediastream/RTCPeerConnection-state-expected.txt:
      * fast/mediastream/RTCSessionDescription-expected.txt:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159938 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1aa1edc8
    • cfleizach@apple.com's avatar
      AX: Crash at WebCore::commonTreeScope · 0fb724ec
      cfleizach@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=125042
      
      Reviewed by Mario Sanchez Prada.
      
      Source/WebCore:
      
      When an AX text marker that references a node in a detached document is used to create a text marker range, a crash occurs
      because the method to determine commonTreeScopes does not account for when there are no common tree scopes.
      
      Test: platform/mac/accessibility/ordered-textmarker-crash.html
      
      * accessibility/AccessibilityObject.cpp:
      (WebCore::AccessibilityObject::visiblePositionRangeForUnorderedPositions):
      * dom/TreeScope.cpp:
      (WebCore::commonTreeScope):
      
      LayoutTests:
      
      * platform/mac/accessibility/ordered-textmarker-crash-expected.txt: Added.
      * platform/mac/accessibility/ordered-textmarker-crash.html: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159932 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0fb724ec
    • zandobersek@gmail.com's avatar
      Unreviewed GTK gardening. · 5560f092
      zandobersek@gmail.com authored
      * platform/gtk/TestExpectations: Adding failure expectations for the
      fast/shapes/shape-inside/shape-inside-subpixel-rectangle-top.html reftest.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159930 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5560f092
    • gyuyoung.kim@samsung.com's avatar
      Unreviewed, EFL rebaseline since r159915. · a49d17aa
      gyuyoung.kim@samsung.com authored
      Error messages are changed. So, test results need to be updated.
      
      * platform/efl/fast/forms/validation-message-appearance-expected.txt:
      * platform/efl/fast/forms/validationMessage-expected.txt:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159929 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a49d17aa
    • commit-queue@webkit.org's avatar
      [ATK] Support active state for listbox elements. · c4299267
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=125009
      
      Patch by Andrzej Badowski <a.badowski@samsung.com> on 2013-12-02
      Reviewed by Chris Fleizach.
      
      Source/WebCore:
      
      Added support for ATK_STATE_ACTIVE for listbox elements.
      
      * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
      (setAtkStateSetFromCoreObject):
      
      Tools:
      
      Supplement WebKitTestRunner and DumpRenderTree to support isSelectedOptionActive.
      
      * DumpRenderTree/atk/AccessibilityUIElementAtk.cpp:
      (AccessibilityUIElement::isSelectedOptionActive):
      * WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp:
      (WTR::AccessibilityUIElement::isSelectedOptionActive):
      * WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
      * WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl:
      * WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
      (WTR::AccessibilityUIElement::isSelectedOptionActive):
      * WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
      (WTR::AccessibilityUIElement::isSelectedOptionActive):
      
      LayoutTests:
      
      Establish expectations for the test (all PASS).
      
      * accessibility/multiselect-list-reports-active-option-expected.txt: Added.
      * platform/efl-wk1/TestExpectations:
      * platform/efl-wk2/TestExpectations:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159925 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c4299267
  3. 29 Nov, 2013 2 commits
  4. 28 Nov, 2013 11 commits
    • antti@apple.com's avatar
      Remove an oddly named css variables test · 93d7a062
      antti@apple.com authored
              
      Rubber-stamped by Andreas Kling.
      
      * css3/filters/reference-filter-update-after-remove-expected.txt: Removed.
      * css3/filters/reference-filter-update-after-remove.html: Removed.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159858 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      93d7a062
    • ossy@webkit.org's avatar
      RenderTableSection Blink merge asserting · 4e53d4e7
      ossy@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=124857
      
      Rebase EFL results (and the remaining Mac) after r159848.
      
      Patch by Laszlo Vidacs <lac@inf.u-szeged.hu> on 2013-11-28
      Reviewed by Csaba Osztrogonác.
      
      * fast/table/anonymous-table-section-removed.html: Updated.
      * platform/efl/accessibility/table-attributes-expected.txt: Added.
      * platform/efl/accessibility/table-sections-expected.txt: Added.
      * platform/efl/fast/forms/input-value-expected.png:
      * platform/efl/fast/forms/input-value-expected.txt:
      * platform/efl/fast/table/[...]:
      * platform/efl/tables/[...]:
      * platform/mac/editing/deleting/deletionUI-single-instance-expected.txt:
      * platform/mac-mountainlion/fast/forms/input-value-expected.txt:
      * platform/mac-mountainlion/tables/mozilla/bugs/bug26178-expected.txt:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159853 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4e53d4e7
    • ossy@webkit.org's avatar
      RenderTableSection Blink merge asserting · 0116b131
      ossy@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=124857
      
      Rebase GTK results after r159848.
      
      Patch by Laszlo Vidacs <lac@inf.u-szeged.hu> on 2013-11-28
      Reviewed by Csaba Osztrogonác.
      
      * platform/mac/accessibility/table-detection-expected.txt:
      * platform/mac/fast/forms/input-value-expected.txt:
      * platform/mac/fast/table/[...]:
      * platform/mac/tables/[...]:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159851 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0116b131
    • ossy@webkit.org's avatar
      RenderTableSection Blink merge asserting · 858f6c8c
      ossy@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=124857
      
      Rebase GTK results after r159848.
      
      Patch by Laszlo Vidacs <lac@inf.u-szeged.hu> on 2013-11-28
      Reviewed by Csaba Osztrogonác.
      
      * platform/gtk/accessibility/table-detection-expected.txt:
      * platform/gtk/fast/forms/input-value-expected.png:
      * platform/gtk/fast/forms/input-value-expected.txt:
      * platform/gtk/fast/table/[...]:
      * platform/gtk/tables/[...]:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159850 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      858f6c8c
    • ossy@webkit.org's avatar
      RenderTableSection Blink merge asserting · 6d30aa72
      ossy@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=124857
      
      Patch by Laszlo Vidacs <lac@inf.u-szeged.hu> on 2013-11-28
      Reviewed by Csaba Osztrogonác.
      
      Source/WebCore:
      
      Use border spacing at the end of all sections.
      
      * rendering/RenderTableSection.cpp:
      (WebCore::RenderTableSection::calcRowLogicalHeight):
      
      LayoutTests:
      
      Skipped tests enabled.
      
      * TestExpectations:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159848 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6d30aa72
    • m.pakula@samsung.com's avatar
      Unreviewed EFL gardening · 58e3fbe3
      m.pakula@samsung.com authored
      * platform/efl/TestExpectations: Added test expectations for failing tests.
      * platform/efl/fast/forms/search/search-size-with-decorations-expected.png: Added.
      * platform/efl/fast/forms/search/search-size-with-decorations-expected.txt: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159846 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      58e3fbe3
    • antti@apple.com's avatar
      No need to skip css variables tests as they were removed. · 2791e80c
      antti@apple.com authored
      * platform/mac/TestExpectations:
      * platform/win/TestExpectations:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159844 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2791e80c
    • antti@apple.com's avatar
      Remove feature: CSS variables · c6dce2e5
      antti@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=114119
      
      .: 
      
      Reviewed by Andreas Kling.
      
      * Source/cmakeconfig.h.cmake:
      
      Source/JavaScriptCore: 
      
      Reviewed by Andreas Kling.
      
      * Configurations/FeatureDefines.xcconfig:
      
      Source/WebCore: 
      
      Reviewed by Andreas Kling.
              
      The feature is unmaintained and it is getting in the way of refactoring. Code quality is not up to
      WebKit standards either.
      
      * Configurations/FeatureDefines.xcconfig:
      * GNUmakefile.list.am:
      * WebCore.xcodeproj/project.pbxproj:
      * css/CSSBasicShapes.cpp:
      * css/CSSBasicShapes.h:
      * css/CSSCalculationValue.cpp:
      (WebCore::unitCategory):
      (WebCore::hasDoubleValue):
      (WebCore::CSSCalcPrimitiveValue::toCalcValue):
      (WebCore::CSSCalcPrimitiveValue::computeLengthPx):
      (WebCore::determineCategory):
      (WebCore::CSSCalcBinaryOperation::primitiveType):
      * css/CSSCalculationValue.h:
      * css/CSSComputedStyleDeclaration.cpp:
      (WebCore::ComputedStyleExtractor::propertyValue):
      * css/CSSGrammar.y.in:
      * css/CSSParser.cpp:
      (WebCore::CSSParserContext::CSSParserContext):
      (WebCore::operator==):
      (WebCore::filterProperties):
      (WebCore::CSSParser::createStylePropertySet):
      (WebCore::CSSParser::addProperty):
      (WebCore::CSSParser::validCalculationUnit):
      (WebCore::CSSParser::validUnit):
      (WebCore::CSSParser::createPrimitiveNumericValue):
      (WebCore::CSSParser::parseValidPrimitive):
      (WebCore::CSSParser::parseValue):
      (WebCore::CSSParser::parseReflect):
      (WebCore::CSSParser::detectDashToken):
      (WebCore::CSSParser::realLex):
      * css/CSSParser.h:
      * css/CSSParserMode.h:
      * css/CSSParserValues.cpp:
      (WebCore::CSSParserValue::createCSSValue):
      * css/CSSParserValues.h:
      * css/CSSPrimitiveValue.cpp:
      (WebCore::isValidCSSUnitTypeForDoubleConversion):
      (WebCore::CSSPrimitiveValue::primitiveType):
      (WebCore::CSSPrimitiveValue::cleanup):
      (WebCore::CSSPrimitiveValue::getStringValue):
      (WebCore::CSSPrimitiveValue::customCSSText):
      (WebCore::CSSPrimitiveValue::equals):
      * css/CSSPrimitiveValue.h:
      * css/CSSPrimitiveValueMappings.h:
      (WebCore::CSSPrimitiveValue::convertToLength):
      * css/CSSProperty.cpp:
      * css/CSSProperty.h:
      (WebCore::CSSProperty::CSSProperty):
      * css/CSSReflectValue.cpp:
      * css/CSSReflectValue.h:
      * css/CSSValue.cpp:
      (WebCore::CSSValue::equals):
      (WebCore::CSSValue::cssText):
      (WebCore::CSSValue::destroy):
      * css/CSSValue.h:
      (WebCore::CSSValue::setCssText):
      * css/CSSValueList.cpp:
      * css/CSSValueList.h:
      * css/CSSVariableValue.h: Removed.
      * css/Pair.h:
      * css/Rect.h:
      * css/StylePropertySet.cpp:
      (WebCore::StylePropertySet::asText):
      (WebCore::StylePropertySet::PropertyReference::cssName):
      * css/StyleResolver.cpp:
      (WebCore::StyleResolver::styleForPage):
      (WebCore::StyleResolver::applyProperties):
      (WebCore::StyleResolver::applyMatchedProperties):
      (WebCore::StyleResolver::applyProperty):
      * css/StyleResolver.h:
      * css/WebKitCSSTransformValue.cpp:
      * css/WebKitCSSTransformValue.h:
      (WebCore::WebKitCSSTransformValue::equals):
      * css/makeprop.pl:
      * page/Settings.cpp:
      (WebCore::Settings::Settings):
      * page/Settings.h:
      * rendering/style/RenderStyle.h:
      * rendering/style/StyleRareInheritedData.cpp:
      (WebCore::StyleRareInheritedData::StyleRareInheritedData):
      (WebCore::StyleRareInheritedData::operator==):
      * rendering/style/StyleRareInheritedData.h:
      * rendering/style/StyleVariableData.h: Removed.
      * testing/InternalSettings.cpp:
      (WebCore::InternalSettings::Backup::Backup):
      (WebCore::InternalSettings::Backup::restoreTo):
      * testing/InternalSettings.h:
      * testing/InternalSettings.idl:
      
      Source/WebKit/mac: 
      
      Reviewed by Andreas Kling.
      
      * Configurations/FeatureDefines.xcconfig:
      
      Source/WebKit2: 
      
      Reviewed by Andreas Kling.
      
      * Configurations/FeatureDefines.xcconfig:
      
      Source/WTF: 
      
      Reviewed by Andreas Kling.
      
      * wtf/FeatureDefines.h:
      
      Tools: 
      
      Reviewed by Andreas Kling.
      
      * Scripts/webkitperl/FeatureList.pm:
      
      LayoutTests: 
      
      Reviewed by Andreas Kling.
      
      * fast/css/variables: Removed.
      * fast/css/variables/border-width-expected.html: Removed.
      * fast/css/variables/border-width.html: Removed.
      * fast/css/variables/build-supports-variables-expected.txt: Removed.
      * fast/css/variables/build-supports-variables.html: Removed.
      * fast/css/variables/calc-expected.html: Removed.
      * fast/css/variables/calc-inside-calc-expected.html: Removed.
      * fast/css/variables/calc-inside-calc.html: Removed.
      * fast/css/variables/calc-invalid-value-expected.html: Removed.
      * fast/css/variables/calc-invalid-value.html: Removed.
      * fast/css/variables/calc-invalid-variable-expected.html: Removed.
      * fast/css/variables/calc-invalid-variable.html: Removed.
      * fast/css/variables/calc-negated-variable-expected.html: Removed.
      * fast/css/variables/calc-negated-variable.html: Removed.
      * fast/css/variables/calc-vw-crash-expected.txt: Removed.
      * fast/css/variables/calc-vw-crash.html: Removed.
      * fast/css/variables/calc.html: Removed.
      * fast/css/variables/case-sensitive-expected.html: Removed.
      * fast/css/variables/case-sensitive.html: Removed.
      * fast/css/variables/colors-test-expected.html: Removed.
      * fast/css/variables/colors-test.html: Removed.
      * fast/css/variables/complex-cycle-expected.html: Removed.
      * fast/css/variables/complex-cycle.html: Removed.
      * fast/css/variables/computed-style-expected.html: Removed.
      * fast/css/variables/computed-style.html: Removed.
      * fast/css/variables/deferred-image-load-from-variable-expected.txt: Removed.
      * fast/css/variables/deferred-image-load-from-variable.html: Removed.
      * fast/css/variables/inherited-values-expected.html: Removed.
      * fast/css/variables/inherited-values.html: Removed.
      * fast/css/variables/inline-styles-expected.html: Removed.
      * fast/css/variables/inline-styles.html: Removed.
      * fast/css/variables/invalid-font-reference-expected.txt: Removed.
      * fast/css/variables/invalid-font-reference.html: Removed.
      * fast/css/variables/invalid-shorthand-expected.html: Removed.
      * fast/css/variables/invalid-shorthand.html: Removed.
      * fast/css/variables/invalid-value-list-crash-expected.txt: Removed.
      * fast/css/variables/invalid-value-list-crash.html: Removed.
      * fast/css/variables/invalid-variable-value-expected.html: Removed.
      * fast/css/variables/invalid-variable-value.html: Removed.
      * fast/css/variables/multi-level-cycle-expected.html: Removed.
      * fast/css/variables/multi-level-cycle.html: Removed.
      * fast/css/variables/redefinition-expected.html: Removed.
      * fast/css/variables/redefinition.html: Removed.
      * fast/css/variables/root-background-size-expected.html: Removed.
      * fast/css/variables/root-background-size.html: Removed.
      * fast/css/variables/shorthand-expected.html: Removed.
      * fast/css/variables/shorthand.html: Removed.
      * fast/css/variables/simple-cycle-expected.html: Removed.
      * fast/css/variables/simple-cycle.html: Removed.
      * fast/css/variables/transform-test-expected.html: Removed.
      * fast/css/variables/transform-test.html: Removed.
      * fast/css/variables/undefined-expected.html: Removed.
      * fast/css/variables/undefined.html: Removed.
      * fast/css/variables/use-before-defined-expected.html: Removed.
      * fast/css/variables/use-before-defined.html: Removed.
      * fast/css/variables/var-filter-expected.txt: Removed.
      * fast/css/variables/var-filter.html: Removed.
      * fast/css/variables/var-inside-box-reflect-expected.html: Removed.
      * fast/css/variables/var-inside-box-reflect.html: Removed.
      * fast/css/variables/var-inside-pair-expected.html: Removed.
      * fast/css/variables/var-inside-pair.html: Removed.
      * fast/css/variables/var-inside-quad-expected.html: Removed.
      * fast/css/variables/var-inside-quad.html: Removed.
      * fast/css/variables/var-inside-shape-expected.html: Removed.
      * fast/css/variables/var-inside-shape.html: Removed.
      * fast/css/variables/var-inside-shorthand-expected.html: Removed.
      * fast/css/variables/var-inside-shorthand.html: Removed.
      * fast/css/variables/variable-chain-expected.html: Removed.
      * fast/css/variables/variable-chain.html: Removed.
      * fast/css/variables/variable-unparseable-value-crash-expected.txt: Removed.
      * fast/css/variables/variable-unparseable-value-crash.html: Removed.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159842 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c6dce2e5
    • commit-queue@webkit.org's avatar
      [EFL] Layout tests need to be rebaselined. · 94141258
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=124879
      
      Unreviewed, EFL rebaseline.
      
      EFL tests need to be rebaselined after r159747
      
      Patch by Jongwoo Choi <jw0330.choi@samsung.com> on 2013-11-28
      
      * platform/efl/fast/table/011-expected.txt:
      * platform/efl/fast/table/border-collapsing/004-expected.txt:
      * platform/efl/fast/table/tableInsideCaption-expected.txt:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159841 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      94141258
    • gns@gnome.org's avatar
      [GTK] Support custom types for drag and drop data · 8f4ec92f
      gns@gnome.org authored
      https://bugs.webkit.org/show_bug.cgi?id=124659
      
      Patch by Gustavo Noronha Silva <gustavo.noronha@collabora.com> on 2013-11-27
      Reviewed by Martin Robinson.
      
      Source/WebCore:
      
      Covered by fast/events/drag-customData.html.
      
      * platform/gtk/DataObjectGtk.cpp:
      (WebCore::DataObjectGtk::unknownTypes): returns a hash map with all custom types set.
      (WebCore::DataObjectGtk::clearAllExceptFilenames): clear custom types.
      * platform/gtk/DataObjectGtk.h:
      (WebCore::DataObjectGtk::hasUnknownTypeData): returns whether custom types are set.
      (WebCore::DataObjectGtk::unknownTypeData): returns the data for a custom type.
      (WebCore::DataObjectGtk::setUnknownTypeData): sets the data for a custom type.
      * platform/gtk/PasteboardGtk.cpp:
      (WebCore::Pasteboard::writeString): handle unknown types as custom.
      (WebCore::Pasteboard::writePasteboard): ditto.
      (WebCore::Pasteboard::hasData): also check for custom types.
      (WebCore::Pasteboard::types): also obtain the list of custom types.
      (WebCore::Pasteboard::readString): handle unknown types as custom.
      * platform/gtk/PasteboardHelper.cpp:
      (WebCore::initGdkAtoms): new unknown atom.
      (WebCore::PasteboardHelper::PasteboardHelper): add custom type to the list of targets.
      (WebCore::PasteboardHelper::fillSelectionData): turns any custom types' data into a GVariant, which
      is in turn serialized to a single string for GtkSelectionData to hold.
      (WebCore::PasteboardHelper::targetListForDataObject): add custom data to the target list if any is
      set.
      (WebCore::PasteboardHelper::fillDataObjectFromDropData): retrieve the custom types and their data
      from the serialized GVariant string held by GtkSelectionData.
      (WebCore::PasteboardHelper::dropAtomsForContext): handle custom types.
      
      Source/WebKit2:
      
      * Shared/gtk/ArgumentCodersGtk.cpp:
      (CoreIPC::encodeDataObject): encode the unknown types data.
      (CoreIPC::decodeDataObject): decode the unknown types data.
      
      LayoutTests:
      
      * platform/gtk/TestExpectations: remove failure expectation for test that now passes.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159837 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8f4ec92f
    • fpizlo@apple.com's avatar
      Infer one-time scopes · 1a72409c
      fpizlo@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=124812
      
      Source/JavaScriptCore: 
      
      Reviewed by Oliver Hunt.
              
      This detects JSActivations that are created only once. The JSActivation pointer is then
      baked into the machine code.
              
      This takes advantage of the one-time scope inference to reduce the number of
      indirections needed to get to a closure variable in case where the scope is only
      allocated once. This isn't really a speed-up since in the common case the total number
      of instruction bytes needed to load the scope from the stack is about equal to the
      number of instruction bytes needed to materialize the absolute address of a scoped
      variable. But, this is a necessary prerequisite to
      https://bugs.webkit.org/show_bug.cgi?id=124630, so it's probably a good idea anyway.
      
      * bytecode/CodeBlock.cpp:
      (JSC::CodeBlock::dumpBytecode):
      (JSC::CodeBlock::CodeBlock):
      (JSC::CodeBlock::finalizeUnconditionally):
      * bytecode/Instruction.h:
      * bytecode/Opcode.h:
      (JSC::padOpcodeName):
      * bytecode/Watchpoint.h:
      (JSC::WatchpointSet::notifyWrite):
      (JSC::InlineWatchpointSet::notifyWrite):
      * bytecompiler/BytecodeGenerator.cpp:
      (JSC::BytecodeGenerator::emitResolveScope):
      * dfg/DFGAbstractInterpreterInlines.h:
      (JSC::DFG::::executeEffects):
      * dfg/DFGByteCodeParser.cpp:
      (JSC::DFG::ByteCodeParser::parseBlock):
      * dfg/DFGCSEPhase.cpp:
      (JSC::DFG::CSEPhase::scopedVarLoadElimination):
      (JSC::DFG::CSEPhase::scopedVarStoreElimination):
      (JSC::DFG::CSEPhase::getLocalLoadElimination):
      (JSC::DFG::CSEPhase::setLocalStoreElimination):
      * dfg/DFGClobberize.h:
      (JSC::DFG::clobberize):
      * dfg/DFGFixupPhase.cpp:
      (JSC::DFG::FixupPhase::fixupNode):
      * dfg/DFGGraph.cpp:
      (JSC::DFG::Graph::tryGetRegisters):
      * dfg/DFGGraph.h:
      * dfg/DFGNode.h:
      (JSC::DFG::Node::varNumber):
      (JSC::DFG::Node::hasSymbolTable):
      (JSC::DFG::Node::symbolTable):
      * dfg/DFGNodeType.h:
      * dfg/DFGPredictionPropagationPhase.cpp:
      (JSC::DFG::PredictionPropagationPhase::propagate):
      * dfg/DFGSafeToExecute.h:
      (JSC::DFG::safeToExecute):
      * dfg/DFGSpeculativeJIT32_64.cpp:
      (JSC::DFG::SpeculativeJIT::compile):
      * dfg/DFGSpeculativeJIT64.cpp:
      (JSC::DFG::SpeculativeJIT::compile):
      * dfg/DFGWatchpointCollectionPhase.cpp:
      (JSC::DFG::WatchpointCollectionPhase::handle):
      * ftl/FTLCapabilities.cpp:
      (JSC::FTL::canCompile):
      * ftl/FTLLowerDFGToLLVM.cpp:
      (JSC::FTL::LowerDFGToLLVM::compileNode):
      (JSC::FTL::LowerDFGToLLVM::compileGetClosureRegisters):
      * llint/LowLevelInterpreter32_64.asm:
      * llint/LowLevelInterpreter64.asm:
      * runtime/JSActivation.h:
      (JSC::JSActivation::create):
      * runtime/JSScope.cpp:
      (JSC::abstractAccess):
      (JSC::JSScope::abstractResolve):
      * runtime/JSScope.h:
      (JSC::ResolveOp::ResolveOp):
      * runtime/JSVariableObject.h:
      (JSC::JSVariableObject::registers):
      * runtime/SymbolTable.cpp:
      (JSC::SymbolTable::SymbolTable):
      * runtime/SymbolTable.h:
      
      LayoutTests: 
      
      Reviewed by Oliver Hunt.
      
      * js/regress/infer-one-time-closure-expected.txt: Added.
      * js/regress/infer-one-time-closure-ten-vars-expected.txt: Added.
      * js/regress/infer-one-time-closure-ten-vars.html: Added.
      * js/regress/infer-one-time-closure-two-vars-expected.txt: Added.
      * js/regress/infer-one-time-closure-two-vars.html: Added.
      * js/regress/infer-one-time-closure.html: Added.
      * js/regress/infer-one-time-deep-closure-expected.txt: Added.
      * js/regress/infer-one-time-deep-closure.html: Added.
      * js/regress/script-tests/infer-one-time-closure-ten-vars.js: Added.
      * js/regress/script-tests/infer-one-time-closure-two-vars.js: Added.
      * js/regress/script-tests/infer-one-time-closure.js: Added.
      * js/regress/script-tests/infer-one-time-deep-closure.js: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159834 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1a72409c