1. 10 Oct, 2013 37 commits
    • commit-queue@webkit.org's avatar
      Web Inspector: Remove the old front-end from WebKit · ff84fc40
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=122295
      
      Patch by Marcelo Morais <m.morais@samsung.com> on 2013-10-10
      Reviewed by Timothy Hatcher.
      
      Skipping the tests of the old Inspector UI for all ports.
      
      * TestExpectations:
      * platform/efl-wk1/TestExpectations:
      * platform/efl-wk2/TestExpectations:
      * platform/efl/TestExpectations:
      * platform/gtk-wk1/TestExpectations:
      * platform/gtk/TestExpectations:
      * platform/mac-lion/TestExpectations:
      * platform/mac-wk2/TestExpectations:
      * platform/mac/TestExpectations:
      * platform/win-xp/TestExpectations:
      * platform/win/TestExpectations:
      * platform/wincairo/TestExpectations:
      * platform/wk2/TestExpectations:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157246 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ff84fc40
    • rniwa@webkit.org's avatar
      REGRESSION(r157203): WebKit crashes after dispatching gesture event · 40027c1b
      rniwa@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=122615
      
      Reviewed by Anders Carlsson.
      
      Don't release the event until the end of the function where we call member functions on it.
      
      * dom/Node.cpp:
      (WebCore::Node::dispatchGestureEvent):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157245 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      40027c1b
    • fpizlo@apple.com's avatar
      Unreviewed, roll out r157193. It broke some builds. · b37f4bbc
      fpizlo@apple.com authored
      * JavaScriptCore.xcodeproj/project.pbxproj:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157244 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b37f4bbc
    • ossy@webkit.org's avatar
      generate-message-receiver.py can't handle nested #ifs · ea8f47a8
      ossy@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=121877
      
      Reviewed by Alexey Proskuryakov.
      
      * Scripts/webkit2/parser.py:
      (parse): Exit early until proper fix instead of generating buggy output.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157243 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ea8f47a8
    • rniwa@webkit.org's avatar
      Move the rest of EventRetargeter functions to EventPath · 35350202
      rniwa@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=122586
      
      Reviewed by Andreas Kling.
      
      Moved the rest of EventRetargeter functiosn either static local or EventPath member functions.
      
      * dom/EventDispatcher.cpp:
      (WebCore::EventDispatcher::dispatchScopedEvent):
      (WebCore::EventDispatcher::dispatch):
      (WebCore::EventDispatcher::dispatchEventPostProcess):
      * dom/EventDispatcher.h:
      * dom/EventRetargeter.cpp:
      (WebCore::EventPath::EventPath):
      (WebCore::calculateAdjustedNodes): Made static local. Also takes const EventPath and returns the size
      to which EventPath should be shrunk; this allows us to remove EventPath::shrink.
      (WebCore::updateTouchListsInEventPath): Moved and renamed from EventRetargeter::adjustTouchList.
      (WebCore::EventPath::updateTouchLists): Moved and renamed from EventRetargeter::adjustForTouchEvent.
      (WebCore::EventPath::setRelatedTarget): Moved.
      * dom/EventRetargeter.h:
      (WebCore::eventTargetRespectingTargetRules): Renamed from EventRetargeter::eventTargetRespectingTargetRules.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157242 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      35350202
    • mrowe@apple.com's avatar
      <rdar://problem/13341666> WebKit should always build against an SDK. · 1b50c5d9
      mrowe@apple.com authored
      Have all projects default to building against the OS X Internal SDK for the Production
      configuration. For the Debug and Release configurations, look for UseInternalSDK.xcconfig
      to determine whether the OS X Internal SDK should be used. If not, use the normal OS X SDK.
      
      Reviewed by Dan Bernstein.
      
      Source/JavaScriptCore:
      
      * Configurations/Base.xcconfig:
      * Configurations/DebugRelease.xcconfig:
      
      Source/ThirdParty:
      
      * gtest/xcode/Config/General.xcconfig:
      * gtest/xcode/Config/ProductionProject.xcconfig:
      
      Source/ThirdParty/ANGLE:
      
      * Configurations/Base.xcconfig:
      * Configurations/DebugRelease.xcconfig:
      
      Source/WebCore:
      
      * Configurations/Base.xcconfig:
      * Configurations/DebugRelease.xcconfig:
      
      Source/WebInspectorUI:
      
      * Configurations/Base.xcconfig:
      * Configurations/DebugRelease.xcconfig:
      
      Source/WebKit/mac:
      
      * Configurations/Base.xcconfig:
      * Configurations/DebugRelease.xcconfig:
      
      Source/WebKit2:
      
      * Configurations/Base.xcconfig:
      * Configurations/DebugRelease.xcconfig:
      
      Source/WTF:
      
      * Configurations/Base.xcconfig:
      * Configurations/DebugRelease.xcconfig:
      
      Tools:
      
      * DumpRenderTree/mac/Configurations/Base.xcconfig:
      * DumpRenderTree/mac/Configurations/DebugRelease.xcconfig:
      * MiniBrowser/Configurations/Base.xcconfig:
      * MiniBrowser/Configurations/DebugRelease.xcconfig:
      * TestWebKitAPI/Configurations/Base.xcconfig:
      * TestWebKitAPI/Configurations/DebugRelease.xcconfig:
      * WebKitTestRunner/Configurations/Base.xcconfig:
      * WebKitTestRunner/Configurations/DebugRelease.xcconfig:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157241 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1b50c5d9
    • commit-queue@webkit.org's avatar
      [CoordinatedGraphics][CSS Shaders] marshal color and matrix custom filter parameters · e34c389c
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=117904
      
      Correctly encode and decode the "matrix" and "color" custom filter parameter types.
      No port currently enables this code, however with this change the relevant layout tests now pass when enabled in EFL.
      Patch by Ralph Thomas <ralpht@gmail.com> on 2013-10-10
      Reviewed by Noam Rosenthal.
      
      * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
      (CoreIPC::::encode):
      (CoreIPC::::decode):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157240 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e34c389c
    • mrowe@apple.com's avatar
      Source/JavaScriptCore: <rdar://problem/13871507> JavaScriptCore fails to build... · 8de4d3b6
      mrowe@apple.com authored
      Source/JavaScriptCore: <rdar://problem/13871507> JavaScriptCore fails to build with C++ 98 conformance changes
      
      Reviewed by Andreas Kling.
      
      * heap/VTableSpectrum.cpp:
      (JSC::VTableSpectrum::dump): strrchr returns a const char* when passed one.
      Update the type of the local variable to accommodate that.
      
      Source/WebKit2: <rdar://problem/13871522> WebKit2 fails to build with C++ 98 conformance changes
      
      Reviewed by Andreas Kling.
      
      * Shared/mac/SandboxExtensionMac.mm:
      (WebKit::resolveSymlinksInPath): strrchr returns a const char* when passed one.
      Update the type of the local variable to accommodate that.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157239 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8de4d3b6
    • hmuller@adobe.com's avatar
      [CSS Shapes] clampToUnsigned() should return unsigned, not int · f0df16e5
      hmuller@adobe.com authored
      https://bugs.webkit.org/show_bug.cgi?id=122601
      
      Source/WebCore:
      
      Reviewed by Andreas Kling.
      
      Corrected the return type for clampToUnsigned() in MathExtras.h. It's now unsigned.
      No new tests since this is just an internal refactoring of existing code.
      
      * rendering/shapes/RasterShape.cpp:
      (WebCore::RasterShape::marginIntervals): Use the redefined clampToUnsigned method.
      
      Source/WTF:
      
      Corrected the return type for clampToUnsigned() in MathExtras.h. It's now unsigned.
      
      Reviewed by Andreas Kling.
      
      * wtf/MathExtras.h:
      (clampToUnsigned):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157238 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f0df16e5
    • berto@igalia.com's avatar
      Unreviewed gardening. · 9ccd6a79
      berto@igalia.com authored
      Move the tests that only fail in wk1 to their file, and unskip the
      ones that are passing in all cases.
      
      * platform/gtk-wk1/TestExpectations:
      * platform/gtk-wk2/TestExpectations:
      * platform/gtk/TestExpectations:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157237 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      9ccd6a79
    • bjonesbe@adobe.com's avatar
      [CSS Shapes] New positioning model: Shape cropped to margin box · 35540830
      bjonesbe@adobe.com authored
      https://bugs.webkit.org/show_bug.cgi?id=118092
      
      Reviewed by Alexandru Chiculita.
      
      Source/WebCore:
      
      Clip the shape to the margin box when it extends out the left or right
      edges. Also added a few local variables to make the code easier to
      read.
      
      Tests: csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-001-ref.html
             csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-004.html
             csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-005.html
             csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-006.html
      
      * rendering/shapes/ShapeOutsideInfo.cpp:
      (WebCore::ShapeOutsideInfo::updateDeltasForContainingBlockLine):
      
      LayoutTests:
      
      Add tests for shapes that extend out left/right of the margin box.
      
      Fix polygon and image threshold tests so that they have a large enough
      margin box so the shape isn't clipped.
      
      Also update some of the top/bottom tests to have a better reference,
      they should be more likely to break if the implementation fails now.
      
      * csswg/contributors/adobe/submitted/shapes/shape-outside/resources/w3c-import.log:
      * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-001-expected.html:
      * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-001-ref-expected.html: Copied from LayoutTests/csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-003.html.
      * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-001-ref.html: Copied from LayoutTests/csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-003.html.
      * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-001.html:
      * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-003-expected.html:
      * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-003.html:
      * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-004-expected.html: Copied from LayoutTests/csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-001-expected.html.
      * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-004.html: Copied from LayoutTests/csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-003.html.
      * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-005-expected.html: Copied from LayoutTests/csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-001-expected.html.
      * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-005.html: Copied from LayoutTests/csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-003.html.
      * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-006-expected.html: Copied from LayoutTests/csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-001-expected.html.
      * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-006.html: Added.
      * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-polygon-000.html:
      * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-polygon-001.html:
      * csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-polygon-002.html:
      * csswg/contributors/adobe/submitted/shapes/shape-outside/w3c-import.log:
      * fast/shapes/shape-outside-floats/shape-outside-floats-image-threshold-001.html:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157236 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      35540830
    • dbates@webkit.org's avatar
      Avoid resizing the internal buffer of SharedBuffer when creating a PurgeableBuffer · bcd69fc7
      dbates@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=122516
      
      Reviewed by Darin Adler.
      
      Currently when we create a PurgeableBuffer from a SharedBuffer we may
      resize the internal buffer of the SharedBuffer so that it can fit the
      concatenated contents of all of its segments before copying this
      internal buffer to the internal buffer of the PurgeableBuffer. Instead,
      we can avoid resizing the internal buffer of SharedBuffer by allocating
      a PurgeableBuffer and then copying the internal buffer of SharedBuffer
      and its segments directly into it.
      
      * platform/PurgeableBuffer.h:
      (WebCore::PurgeableBuffer::createUninitialized): Add inline implementation
      when building with ENABLE_PURGEABLE_MEMORY disabled.
      * platform/SharedBuffer.cpp:
      (WebCore::SharedBuffer::createPurgeableBuffer): Implemented in terms of
      SharedBuffer::{copyBufferAndClear, createUninitialized}().
      (WebCore::SharedBuffer::copyBufferAndClear): Added.
      (WebCore::SharedBuffer::buffer): Moved logic to copy segments/data array to
      SharedBuffer::copyBufferAndClear() and modified this function to use it.
      * platform/SharedBuffer.h:
      * platform/cf/SharedBufferCF.cpp:
      (WebCore::SharedBuffer::copyBufferAndClear): Renamed; formerly called SharedBuffer::copyDataArrayAndClear.
      * platform/mac/PurgeableBufferMac.cpp:
      (WebCore::allocatePurgeableBuffer): Added.
      (WebCore::PurgeableBuffer::createUninitialized): Added.
      (WebCore::PurgeableBuffer::create): Moved logic to allocate a purgeable buffer into
      PurgeableBuffer::createUninitialized() and modified this function to use it.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157235 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      bcd69fc7
    • mhahnenberg@apple.com's avatar
      Objective-C API: blocks aren't callable via 'new' · 2ac93f3a
      mhahnenberg@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=122561
      
      Reviewed by Oliver Hunt.
      
      Currently the only way for clients to vend new native objects to JavaScript code
      is via factory methods in the form of exported class methods or blocks. Blocks can
      be called like normal functions from JavaScript code, but they cannot be invoked
      with 'new'. This would give a simple way for clients to expose constructor-like
      behavior to their JavaScript code.
      
      This patch adds the ability for blocks to be invoked as if they were a constructor.
      Blocks invoked as constructors are required to return an object. If the block doesn't
      return an object then an error is thrown. The 'this' object is not provided to the
      block and must be created within the block itself.
      
      This patch also unifies the native 'construct' callback used in both the C and Obj-C
      APIs under the APICallbackFunction struct, similar to how we unified the 'call' callback
      between ObjCCallbackFunction and JSCallbackFunction before.
      
      This patch also adds tests to make sure that different blocks generate objects that
      correctly behave when queried with instanceof. It also makes sure that the correct
      JS exception is thrown when a block fails to return an object.
      
      * API/APICallbackFunction.h:
      (JSC::APICallbackFunction::call):
      (JSC::APICallbackFunction::construct):
      * API/JSCallbackConstructor.cpp:
      (JSC::JSCallbackConstructor::getConstructData):
      * API/JSCallbackConstructor.h:
      (JSC::JSCallbackConstructor::constructCallback):
      * API/JSCallbackFunction.h:
      (JSC::JSCallbackFunction::functionCallback):
      * API/ObjCCallbackFunction.h:
      (JSC::ObjCCallbackFunction::functionCallback):
      (JSC::ObjCCallbackFunction::constructCallback):
      * API/ObjCCallbackFunction.mm:
      (JSC::objCCallbackFunctionCallAsConstructor):
      (JSC::ObjCCallbackFunction::ObjCCallbackFunction):
      (JSC::ObjCCallbackFunction::create):
      (JSC::ObjCCallbackFunction::getConstructData):
      * API/tests/testapi.mm:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157234 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2ac93f3a
    • kov@webkit.org's avatar
      Unreviewed gardening. plugins/document-open.html will some times timeout. · 50e98458
      kov@webkit.org authored
      * platform/gtk-wk2/TestExpectations:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157233 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      50e98458
    • kov@webkit.org's avatar
      Unreviewed gardening, the inspector protocol timeouts are also affecting TestInspectorServer. · d804865a
      kov@webkit.org authored
      * Scripts/run-gtk-tests:
      (TestRunner): skip TestInspectorServer.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157232 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d804865a
    • cfleizach@apple.com's avatar
      AX: VoiceOver speaking too much when group elements with tabindex=-1 are used · b32500d5
      cfleizach@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=122574
      
      Reviewed by Mario Sanchez Prada.
      
      Source/WebCore: 
      
      Tests: accessibility/negative-tabindex-does-not-expose-label.html
      
      Elements that expose tabindex=-1 are being identified as generic focusable elements for accessibility.
      Which among other things, determines whether to create an accessible name for the object. 
      This has the negative effect of causing VoiceOver to speak way too much information when navigating inside
      a <div> with this attribute.
      
      * accessibility/AccessibilityNodeObject.cpp:
      (WebCore::AccessibilityNodeObject::visibleText):
      (WebCore::AccessibilityNodeObject::title):
      
      LayoutTests: 
      
      * accessibility/negative-tabindex-does-not-expose-label-expected.txt: Added.
      * accessibility/negative-tabindex-does-not-expose-label.html: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157231 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b32500d5
    • akling@apple.com's avatar
      Remove custom finalizer for Node JS wrappers. · 4d351e8e
      akling@apple.com authored
      <https://webkit.org/b/122603>
      
      Reviewed by Geoff Garen.
      
      Node can just use the auto-generated finalizer, the custom one was
      identical to what the generator would output.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157230 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4d351e8e
    • kov@webkit.org's avatar
      Remove duplicate entry for editing/spelling/spellcheck-paste.html. · 28e57130
      kov@webkit.org authored
      * platform/gtk/TestExpectations:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157229 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      28e57130
    • akling@apple.com's avatar
      CTTE: activeDOMWindow() and firstDOMWindow() should return references. · 2a7a1396
      akling@apple.com authored
      <https://webkit.org/b/122598>
      
      Reviewed by Anders Carlsson.
      
      Now that wrappers vend references to their WebCore objects, follow
      up and make these two return references as well.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157228 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2a7a1396
    • commit-queue@webkit.org's avatar
      [ATK] Missing checks in returnIfWebKitAccessibleIsInvalid · 74358d01
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=122600
      
      Patch by Mario Sanchez Prada <mario.prada@samsung.com> on 2013-10-10
      Reviewed by Chris Fleizach.
      
      Check that the AccessibilityObject associated to the ATK wrapper
      is not NULL and contains a valid reference to the document before
      calling AccessibilityObject::updateBackingStore().
      
      * accessibility/atk/WebKitAccessibleUtil.h: Add extra checks.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157227 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      74358d01
    • akling@apple.com's avatar
      Clean up JSDOMWindowShell a little. · e0e0ec88
      akling@apple.com authored
      <https://webkit.org/b/122599>
      
      Reviewed by Anders Carlsson.
      
      - Have impl() return a DOMWindow& instead of a pointer.
      - Store the DOMWrapperWorld in a Ref instead of a RefPtr.
      - Reuse TRY_TO_UNWRAP_WITH_INTERFACE in EventTarget bindings.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157226 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e0e0ec88
    • ossy@webkit.org's avatar
      Buildfix for non Mac platforms with enabled NetworkProcess · b72e86c0
      ossy@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=121793
      
      Reviewed by Anders Carlsson.
      
      * Shared/ShareableResource.cpp:
      * Shared/ShareableResource.h:
      * Shared/WebResourceBuffer.cpp:
      * Shared/WebResourceBuffer.h:
      * WebKit2Prefix.h:
      * WebProcess/Network/NetworkProcessConnection.cpp:
      * WebProcess/Network/NetworkProcessConnection.h:
      * WebProcess/Network/NetworkProcessConnection.messages.in:
      * WebProcess/Network/WebResourceLoader.cpp:
      * WebProcess/Network/WebResourceLoader.h:
      * WebProcess/Network/WebResourceLoader.messages.in:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157225 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b72e86c0
    • commit-queue@webkit.org's avatar
      Make XPathGrammar.y bison3-friendly again after r157205 · 9e9794b5
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=122595
      
      Patch by Sergio Correia <sergio.correia@openbossa.org> on 2013-10-10
      Reviewed by Anders Carlsson.
      
      No new tests, build fix.
      
      * xml/XPathGrammar.y: Replace YYLEX_PARAM with %lex-param, as the
      former was removed in bison3.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157224 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      9e9794b5
    • akling@apple.com's avatar
      SVGUseElement: Use iterative traversal to find disallowed elements. · efa22943
      akling@apple.com authored
      <https://webkit.org/b/122596>
      
      Reviewed by Antti Koivisto.
      
      Rewrote subtreeContainsDisallowedElement() in SVGUseElement.cpp to
      use iterative traversal with descendantsOfType<Element> instead of
      recursing through the tree.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157223 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      efa22943
    • akling@apple.com's avatar
      Move RenderObject::layout() to RenderElement. · 9c188784
      akling@apple.com authored
      <https://webkit.org/b/122537>
      
      Reviewed by Antti Koivisto.
      
      RenderText will ASSERT_NOT_REACHED() in its layout(), so move this
      to RenderElement. This allows us to use the fast firstChild()
      instead of virtual dispatch.
      
      The needsLayout() bit remains on RenderObject for now. Moving that
      to RenderElement is a far more involved change.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157222 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      9c188784
    • cfleizach@apple.com's avatar
      AX: Crash at WebCore::accessibleNameForNode when visiting Facebook · e347f241
      cfleizach@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=122572
      
      Reviewed by Mario Sanchez Prada.
      
      Source/WebCore:
      
      Test: accessibility/aria-labeled-with-hidden-node.html
      
      Handle the case where aria-labelledby references a non-rendered node.
      
      * accessibility/AccessibilityNodeObject.cpp:
      (WebCore::accessibleNameForNode):
      
      LayoutTests:
      
      * accessibility/aria-labeled-with-hidden-node-expected.txt: Added.
      * accessibility/aria-labeled-with-hidden-node.html: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157221 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e347f241
    • berto@igalia.com's avatar
      Unreviewed gardening. · ee6d00a2
      berto@igalia.com authored
      dom/xhtml/level2/html/HTMLInputElement20.xhtml no longer crashes.
      
      * platform/gtk/TestExpectations:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157220 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ee6d00a2
    • zandobersek@gmail.com's avatar
      REGRESSION(r157210): Crashes in WebCore::ScopedEventQueue::dispatchEvent for platforms using GCC · 7c3599eb
      zandobersek@gmail.com authored
      https://bugs.webkit.org/show_bug.cgi?id=122592
      
      Reviewed by Gustavo Noronha Silva.
      
      * dom/ScopedEventQueue.cpp:
      (WebCore::ScopedEventQueue::dispatchEvent): When calling EventDispatcher::dispatchEvent(), the GCC-compiled code
      first creates a copy of the PassRefPtr<Event> object that's being passed into the method call. The copy will be used
      in that method while the original is left with a null pointer. Only after that is the original queried for its pointer
      while trying to get the Event's target, resulting in a crash due to calling the Event::target() on a null pointer.
      To avoid it, pass a naked Event pointer to the method call. This will create a new PassRefPtr object without nullifying
      the original one.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157219 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7c3599eb
    • commit-queue@webkit.org's avatar
      [GTK] Provide search functionality to MiniBrowser · eec1593a
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=117631
      
      Patch by Andres Gomez <agomez@igalia.com> on 2013-10-10
      Reviewed by Carlos Garcia Campos.
      
      Adds a search bar to MiniBrowser with the minimum functionality
      and a new button to the toolbar for showing the new search
      bar. Typical keyboard shortcuts are also added.
      
      * MiniBrowser/gtk/BrowserSearchBar.c: Added.
      (doSearch):
      (searchNext):
      (searchPrevious):
      (searchCloseButtonClickedCallback):
      (searchEntryMenuIconPressedCallback):
      (searchEntryClearIconReleasedCallback):
      (searchEntryChangedCallback):
      (searchEntryActivatedCallback):
      (searchPrevButtonClickedCallback):
      (searchNextButtonClickedCallback):
      (searchMenuCheckButtonToggledCallback):
      (browser_search_bar_init):
      (browserSearchBarFinalize):
      (browser_search_bar_class_init):
      (browser_search_bar_new):
      (browser_search_bar_add_accelerators):
      (browser_search_bar_open):
      (browser_search_bar_close):
      * MiniBrowser/gtk/BrowserSearchBar.h: Added.
      * MiniBrowser/gtk/BrowserWindow.c:
      (webViewEnterFullScreen): Closes new search bar.
      (webViewLeaveFullScreen): Opens new search bar if previously
      visible.
      (searchCallback): Added. Shows and hides the new search bar.
      (browser_window_init): Added search button to the toolbar.
      (browserWindowConstructed): Creates the new search bar.
      * MiniBrowser/gtk/GNUmakefile.am: Added new files to compilation.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157218 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      eec1593a
    • commit-queue@webkit.org's avatar
      Webkit - Updated Tamil translation · 8ba4a416
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=120520
      
      Patch by Shantha kumar <shkumar@redhat.com> on 2013-10-10
      Reviewed by Gustavo Noronha Silva.
      
      * ta.po: updated.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157217 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8ba4a416
    • akling@apple.com's avatar
      Use more Element iterators in SVG code. · ffc1d160
      akling@apple.com authored
      <http://webkit.org/b/121127>
      
      Reviewed by Antti Koivisto.
      
      Use childrenOfType to iterate over only SVGElement (or even more
      specific) children in a bunch of places.
      
      Also auto-generate type helpers for SVGElement and SVGStopElement.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157216 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ffc1d160
    • akling@apple.com's avatar
      JS DOM wrappers' impl() functions should return references. · 51269d9b
      akling@apple.com authored
      <https://webkit.org/b/122497>
      
      Reviewed by Antti Koivisto.
      
      JS DOM wrappers always have a corresponding WebCore object during
      their lifetime, so make impl() return a reference.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157215 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      51269d9b
    • commit-queue@webkit.org's avatar
      Fix debug build after r157210 · 048ebc37
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=122593
      
      Patch by Sergio Correia <sergio.correia@openbossa.org> on 2013-10-10
      Reviewed by Andreas Kling.
      
      No new tests, build fix.
      
      * dom/EventContext.cpp:
      (WebCore::TouchEventContext::handleLocalEvents): Fix ASSERT, now that
      event is a reference instead of a pointer.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157214 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      048ebc37
    • akling@apple.com's avatar
      Tighten some renderer access in Document. · 298bc6de
      akling@apple.com authored
      <https://webkit.org/b/121865>
      
      Reviewed by Antti Koivisto.
      
      A bit of Node/Element and RenderObject/RenderElement tightening.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157213 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      298bc6de
    • akling@apple.com's avatar
      rangeOfContents() should take a Node&. · ee654d2e
      akling@apple.com authored
      <https://webkit.org/b/122438>
      
      Reviewed by Darin Adler.
      
      All callers of rangeOfContents() either have a Node& already,
      or do some kind of null-checking before calling it.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157212 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ee654d2e
    • svillar@igalia.com's avatar
      [CSS Grid Layout] Implement support for grid-template · 8edb6f8a
      svillar@igalia.com authored
      https://bugs.webkit.org/show_bug.cgi?id=103313
      
      Reviewed by Dean Jackson.
      
      Source/WebCore:
      
      Based on Blink r153427, r155199 and r155712 by <jchaffraix@chromium.org>
      
      Test: fast/css-grid-layout/grid-template-get-set.html
      
      Recognize, parse, store and return properly the value of
      grid-template. It required some extra parsing code because the
      specs mandates to check that the defined grid areas are indeed
      rectangular. Named grid areas are still not fully supported, will
      be done in a follow up patch.
      
      As validating involves building the grid areas a new CSSValue was
      added to hold the computed value. Note that we have to track the
      explicit size of the named grid areas as the named grid areas
      (".") are not tracked in our HashMap of grid areas.
      
      This change also involves moving GridCoordinate and GridSpan to a
      separate file in order to share the code that describes the grid
      area coordinates.
      
      * CMakeLists.txt: Added new files to the build.
      * GNUmakefile.list.am: Ditto.
      * WebCore.vcxproj/WebCore.vcxproj: Ditto.
      * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
      * WebCore.xcodeproj/project.pbxproj: Ditto.
      * css/CSSComputedStyleDeclaration.cpp:
      (WebCore::ComputedStyleExtractor::propertyValue):
      * css/CSSGridTemplateValue.cpp: Added.
      (WebCore::CSSGridTemplateValue::CSSGridTemplateValue):
      (WebCore::stringForPosition):
      (WebCore::CSSGridTemplateValue::customCSSText):
      * css/CSSGridTemplateValue.h: Added.
      (WebCore::CSSGridTemplateValue::create):
      (WebCore::CSSGridTemplateValue::~CSSGridTemplateValue):
      (WebCore::CSSGridTemplateValue::gridAreaMap):
      (WebCore::CSSGridTemplateValue::rowCount):
      (WebCore::CSSGridTemplateValue::columnCount):
      (WebCore::toCSSGridTemplateValue):
      * css/CSSParser.cpp:
      (WebCore::CSSParser::parseValue):
      (WebCore::CSSParser::parseGridTemplate): create the grid areas and
      validate that they define rectangular sections.
      * css/CSSParser.h:
      * css/CSSPropertyNames.in: Added -webkit-grid-template.
      * css/CSSValue.cpp:
      (WebCore::CSSValue::equals): add support for the new CSSGridTemplateValue.
      (WebCore::CSSValue::cssText): Ditto.
      (WebCore::CSSValue::destroy): Ditto.
      * css/CSSValue.h:
      (WebCore::CSSValue::isGridTemplateValue):
      * css/StyleResolver.cpp:
      (WebCore::StyleResolver::applyProperty):
      * rendering/RenderGrid.cpp:
      (WebCore::RenderGrid::cachedGridCoordinate): Replaced RenderGrid::GridSpan by WebCore::GridSpan.
      (WebCore::RenderGrid::resolveGridPositionsFromAutoPlacementPosition): Ditto.
      (WebCore::RenderGrid::resolveGridPositionsFromStyle): Ditto.
      (WebCore::RenderGrid::resolveGridPositionAgainstOppositePosition): Ditto.
      (WebCore::RenderGrid::resolveNamedGridLinePositionAgainstOppositePosition): Ditto.
      (WebCore::RenderGrid::resolveRowStartColumnStartNamedGridLinePositionAgainstOppositePosition): Ditto.
      (WebCore::RenderGrid::resolveRowEndColumnEndNamedGridLinePositionAgainstOppositePosition): Ditto.
      * rendering/RenderGrid.h: Took GridSpan and GridCoordinate out.
      * rendering/style/GridCoordinate.h: Added.
      (WebCore::GridSpan::create):
      (WebCore::GridSpan::GridSpan):
      (WebCore::GridSpan::operator==):
      (WebCore::GridCoordinate::GridCoordinate):
      (WebCore::GridCoordinate::operator==):
      (WebCore::GridCoordinate::operator!=):
      * rendering/style/RenderStyle.h:
      * rendering/style/StyleGridData.cpp:
      (WebCore::StyleGridData::StyleGridData):
      * rendering/style/StyleGridData.h:
      (WebCore::StyleGridData::operator==):
      
      LayoutTests:
      
      From Blink r153427, r155199 and r155712  by <jchaffraix@chromium.org>
      
      Added a test to verify that we properly recognize, parse, store
      and return the value of grid-template.
      
      * fast/css-grid-layout/grid-template-get-set-expected.txt: Added.
      * fast/css-grid-layout/grid-template-get-set.html: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157211 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8edb6f8a
    • rniwa@webkit.org's avatar
      Make EventDispatcher::dispatch comprehensible · 0d1c8e73
      rniwa@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=122588
      
      Reviewed by Andreas Kling.
      
      Merged EventDispatcher::dispatchEventAtCapturing, EventDispatcher::dispatchEventAtTarget,
      EventDispatcher::dispatchEventAtBubbling, and EventDispatcher::dispatchEventPostProcess into EventDispatcher::dispatch,
      and extracted static local callDefaultEventHandlersInTheBubblingOrder and dispatchEventInDOM out of it.
      
      Also made handleLocalEvents of subclasses of EventContext and Node take Event& instead of Event*.
      
      * dom/EventContext.cpp: The following functions now take Event& instead of Event*.
      (WebCore::EventContext::handleLocalEvents):
      (WebCore::MouseOrFocusEventContext::handleLocalEvents):
      (WebCore::TouchEventContext::handleLocalEvents):
      * dom/EventContext.h:
      
      * dom/EventDispatcher.cpp:
      (WebCore::callDefaultEventHandlersInTheBubblingOrder): Extracted from EventDispatcher::dispatchEventPostProcess,
      which is now merged into EventDispatcher::dispatch.
      (WebCore::dispatchEventInDOM): Extracted out of EventDispatcher::dispatch, EventDispatcher::dispatchEventAtCapturing,
      EventDispatcher::dispatchEventAtTarget and EventDispatcher::dispatchEventAtBubbling. This function is responsible for
      dispatching the event for capturing, at the target, and then bubbling through the event path chain.
      (WebCore::EventDispatcher::dispatch): EventDispatcher::dispatchEventPostProcess got merged into this. The calls to
      dispatchEventAtCapturing, dispatchEventAtTarget, and dispatchEventAtBubbling are replaced by a single call to
      dispatchEventInDOM.
      * dom/EventDispatcher.h:
      
      * dom/FocusEvent.h:
      (WebCore::toFocusEvent): Added the version that takes a reference.
      * dom/MouseEvent.h:
      (WebCore::toMouseEvent): Ditto.
      * dom/TouchEvent.h:
      (WebCore::toTouchEvent): Ditto.
      * dom/Node.cpp:
      (WebCore::Node::handleLocalEvents): Now takes Event& instead of Event*.
      * dom/Node.h:
      * dom/WindowEventContext.cpp:
      (WebCore::WindowEventContext::handleLocalEvents): Ditto.
      * dom/WindowEventContext.h:
      * html/HTMLFormElement.cpp:
      (WebCore::HTMLFormElement::handleLocalEvents): Ditto.
      * html/HTMLFormElement.h:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157210 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0d1c8e73
  2. 09 Oct, 2013 3 commits
    • fpizlo@apple.com's avatar
      FTL should be able to do simple OSR exits using llvm.webkit.stackmap · ea92c209
      fpizlo@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=122538
      
      Reviewed by Oliver Hunt.
              
      This gives the FTL the ability to OSR exit using the llvm.webkit.stackmap intrinsic.
              
      - The FTL compiles all OSR exit calls as calls to llvm.webkit.stackmap with a unique
        ID, passing a requested size that is big enough for own jump replacement.
              
      - After LLVM compilation, we parse the new LLVM stackmap section.
              
      - For all llvm.webkit.stackmaps that we used for OSR exits, we do a jumpReplacement,
        which targets exit thunks that we generate.
              
      - If an exit thunk fires, it causes JSC to compile an exit off-ramp that uses a
        combination of the JSC-internal OSR exit accounting (FTL::ExitValue and friends) and
        LLVM stackmap's accounting of where data actually ended up (register, indirect,
        constant) to reconstruct bytecode state.
              
      This still has shortcomings; for example it cannot handle XMM or YMM registers. Handling
      YMM registers will require adding some basic YMM support to our assemblers - really we
      just need the ability to move a YMM's value into a GPR.
              
      This patch preserves all of the old, intrinsic-less, FTL OSR exit support. Hence it
      manages to pass all existing FTL tests even despite its incompleteness. I think that's
      the right way to go since this is already a big patch, and anyway it would be great to
      keep the intrinsic-less FTL OSR exit support so long as the LLVM side of this hasn't
      landed.
      
      * JavaScriptCore.xcodeproj/project.pbxproj:
      * assembler/AbstractMacroAssembler.h:
      (JSC::AbstractMacroAssembler::firstRegister):
      (JSC::AbstractMacroAssembler::lastRegister):
      * assembler/MacroAssembler.h:
      (JSC::MacroAssembler::isStackRelated):
      (JSC::MacroAssembler::firstRealRegister):
      (JSC::MacroAssembler::nextRegister):
      (JSC::MacroAssembler::secondRealRegister):
      * assembler/MacroAssemblerX86Common.h:
      * assembler/X86Assembler.h:
      (JSC::X86Assembler::firstRegister):
      (JSC::X86Assembler::lastRegister):
      * dfg/DFGPlan.cpp:
      (JSC::DFG::Plan::compileInThreadImpl):
      * ftl/FTLCArgumentGetter.cpp:
      (JSC::FTL::CArgumentGetter::loadNextAndBox):
      * ftl/FTLCArgumentGetter.h:
      (JSC::FTL::CArgumentGetter::loadNextDoubleIntoGPR):
      * ftl/FTLCompile.cpp:
      (JSC::FTL::mmAllocateCodeSection):
      (JSC::FTL::mmAllocateDataSection):
      (JSC::FTL::dumpDataSection):
      (JSC::FTL::fixFunctionBasedOnStackMaps):
      (JSC::FTL::compile):
      * ftl/FTLExitThunkGenerator.cpp:
      (JSC::FTL::ExitThunkGenerator::emitThunk):
      (JSC::FTL::ExitThunkGenerator::emitThunks):
      * ftl/FTLExitThunkGenerator.h:
      * ftl/FTLExitValue.h:
      (JSC::FTL::ExitValue::isInJSStackSomehow):
      (JSC::FTL::ExitValue::valueFormat):
      * ftl/FTLFail.cpp:
      (JSC::FTL::fail):
      * ftl/FTLIntrinsicRepository.h:
      * ftl/FTLJITCode.h:
      * ftl/FTLLowerDFGToLLVM.cpp:
      (JSC::FTL::generateExitThunks):
      (JSC::FTL::LowerDFGToLLVM::LowerDFGToLLVM):
      (JSC::FTL::LowerDFGToLLVM::appendOSRExit):
      (JSC::FTL::LowerDFGToLLVM::emitOSRExitCall):
      (JSC::FTL::LowerDFGToLLVM::linkOSRExitsAndCompleteInitializationBlocks):
      * ftl/FTLOSRExit.h:
      * ftl/FTLOSRExitCompilationInfo.h:
      (JSC::FTL::OSRExitCompilationInfo::OSRExitCompilationInfo):
      * ftl/FTLOSRExitCompiler.cpp:
      (JSC::FTL::compileStubWithOSRExitStackmap):
      (JSC::FTL::compileStubWithoutOSRExitStackmap):
      (JSC::FTL::compileFTLOSRExit):
      * ftl/FTLSaveRestore.cpp: Added.
      (JSC::FTL::bytesForGPRs):
      (JSC::FTL::requiredScratchMemorySizeInBytes):
      (JSC::FTL::offsetOfGPR):
      (JSC::FTL::saveAllRegisters):
      (JSC::FTL::restoreAllRegisters):
      * ftl/FTLSaveRestore.h: Added.
      * ftl/FTLStackMaps.cpp: Added.
      (JSC::FTL::readObject):
      (JSC::FTL::StackMaps::Constant::parse):
      (JSC::FTL::StackMaps::Constant::dump):
      (JSC::FTL::StackMaps::Location::parse):
      (JSC::FTL::StackMaps::Location::dump):
      (JSC::FTL::StackMaps::Location::involvesGPR):
      (JSC::FTL::StackMaps::Location::isGPR):
      (JSC::FTL::StackMaps::Location::gpr):
      (JSC::FTL::StackMaps::Location::restoreInto):
      (JSC::FTL::StackMaps::Record::parse):
      (JSC::FTL::StackMaps::Record::dump):
      (JSC::FTL::StackMaps::parse):
      (JSC::FTL::StackMaps::dump):
      (JSC::FTL::StackMaps::dumpMultiline):
      (JSC::FTL::StackMaps::getRecordMap):
      (WTF::printInternal):
      * ftl/FTLStackMaps.h: Added.
      * ftl/FTLState.h:
      * ftl/FTLThunks.cpp:
      (JSC::FTL::osrExitGenerationThunkGenerator):
      * ftl/FTLValueFormat.cpp:
      (JSC::FTL::reboxAccordingToFormat):
      * ftl/FTLValueFormat.h:
      * runtime/DataView.cpp:
      (JSC::DataView::create):
      * runtime/DataView.h:
      (JSC::DataView::read):
      * runtime/Options.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157209 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ea92c209
    • fpizlo@apple.com's avatar
      FTL should be able to do simple OSR exits using llvm.webkit.stackmap · d071a8d5
      fpizlo@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=122538
      
      Reviewed by Oliver Hunt.
      
      * wtf/PrintStream.cpp:
      (WTF::printInternal):
      * wtf/PrintStream.h:
      * wtf/RefCountedArray.h:
      (WTF::RefCountedArray::byteSize):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157208 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d071a8d5
    • rniwa@webkit.org's avatar
      Another build fix after r157204. · f616928f
      rniwa@webkit.org authored
      * dom/EventDispatcher.cpp:
      (WebCore::EventDispatcher::dispatch):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157207 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f616928f