1. 04 Oct, 2011 32 commits
    • mhahnenberg@apple.com's avatar
      Add static ClassInfo structs to classes that override JSCell::getCallData · dd90ed20
      mhahnenberg@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=69311
      
      Reviewed by Darin Adler.
      
      Source/JavaScriptCore:
      
      Added ClassInfo structs to each class that defined its own getCallData
      function but did not already have its own ClassInfo struct.  This is a
      necessary addition for when we switch over to looking up getCallData from
      the MethodTable in ClassInfo rather than doing the virtual call (which we
      are removing).  These new ClassInfo structs are public because we often
      use these structs in other areas of the code to uniquely identify JSC classes and
      to enforce runtime invariants based on those class identities using ASSERTs.
      
      * runtime/BooleanConstructor.cpp:
      * runtime/BooleanConstructor.h:
      
      getCallData was not marked as static is StrictModeTypeErrorFunction.
      * runtime/Error.cpp:
      (JSC::StrictModeTypeErrorFunction::getCallDataVirtual):
      (JSC::StrictModeTypeErrorFunction::getCallData):
      * runtime/ErrorConstructor.cpp:
      * runtime/ErrorConstructor.h:
      * runtime/FunctionConstructor.cpp:
      * runtime/FunctionConstructor.h:
      * runtime/FunctionPrototype.cpp:
      * runtime/FunctionPrototype.h:
      
      Source/WebCore:
      
      No new tests.
      
      Added ClassInfo structs to each class that defined its own getCallData
      function but did not already have its own ClassInfo struct.  This is a
      necessary addition for when we switch over to looking up getCallData from
      the MethodTable in ClassInfo rather than doing the virtual call (which we
      are removing).  These new ClassInfo structs are public because we often
      use these structs in other areas of the code to uniquely identify JSC classes and
      to enforce runtime invariants based on those class identities using ASSERTs.
      
      * bridge/qt/qt_runtime.cpp:
      * bridge/qt/qt_runtime.h:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96630 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      dd90ed20
    • rniwa@webkit.org's avatar
      REGRESSION(r94274): setting input.value erroneously triggers focus event · cf9c03f9
      rniwa@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=69315
      
      Reviewed by Kent Tamura.
      
      Fixed the bug by adding a new flag to setSelection to avoid calling setFocusedNodeIfNeeded
      when called by nodeWillBeRemoved and textWillBeReplaced.
      
      Added a manual test. Unfortunately, the test always passes in DRT.
      
      * editing/FrameSelection.cpp:
      (WebCore::FrameSelection::setSelection):
      (WebCore::FrameSelection::respondToNodeModification):
      (WebCore::FrameSelection::textWillBeReplaced):
      * editing/FrameSelection.h:
      * manual-tests/mutate-unfocused-text-with-selection.html: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96628 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      cf9c03f9
    • commit-queue@webkit.org's avatar
      HTML canvas strokes with dash and dashOffset · 6cabcb62
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=63933
      
      Patch by Young Han Lee <joybro201@gmail.com> on 2011-10-04
      Reviewed by Simon Fraser.
      
      Add webkitLineDash and webkitLineDashOffset attributes to CanvasRenderingContext2D for JSC.
      These attributes can be used to determine the dash-style of stroke in HTML Canvas.
      
      As this kind of attributes are not specified in the HTML Canvas specification yet,
      the 'webkit' prefix is added to its names.
      
      Mozilla already implemented these attributes, mozDash and mozDashOffset [1], and this patch
      is created by referring to the implementation. This patch is basically using the specified
      behavior of stroke-dasharray and stroke-dashoffset in the SVG specification [2], except
      that doesn't support units or percentages, just floating point numbers.
      
      [1] https://bugzilla.mozilla.org/show_bug.cgi?id=662038
      [2] http://www.w3.org/TR/SVG/painting.html#StrokeProperties
      
      Source/WebCore:
      
      Tests: fast/canvas/canvas-webkitLineDash-invalid.html
             fast/canvas/canvas-webkitLineDash.html
      
      * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
      (WebCore::JSCanvasRenderingContext2D::webkitLineDash):
      (WebCore::JSCanvasRenderingContext2D::setWebkitLineDash):
      * html/canvas/CanvasRenderingContext2D.cpp:
      (WebCore::CanvasRenderingContext2D::State::State):
      (WebCore::CanvasRenderingContext2D::webkitLineDash):
      (WebCore::CanvasRenderingContext2D::setWebkitLineDash):
      (WebCore::CanvasRenderingContext2D::webkitLineDashOffset):
      (WebCore::CanvasRenderingContext2D::setWebkitLineDashOffset):
      * html/canvas/CanvasRenderingContext2D.h:
      * html/canvas/CanvasRenderingContext2D.idl:
      
      LayoutTests:
      
      * fast/canvas/canvas-webkitLineDash-expected.txt: Added.
      * fast/canvas/canvas-webkitLineDash-invalid-expected.txt: Added.
      * fast/canvas/canvas-webkitLineDash-invalid.html: Added.
      * fast/canvas/canvas-webkitLineDash.html: Added.
      * fast/canvas/script-tests/canvas-webkitLineDash-invalid.js: Added.
      (trySettingLineDash):
      (trySettingLineDashOffset):
      * fast/canvas/script-tests/canvas-webkitLineDash.js: Added.
      * platform/chromium/test_expectations.txt:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96626 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6cabcb62
    • mdelaney@apple.com's avatar
      Allow canvas backing store to be lazily allocated · 8c076a71
      mdelaney@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=67054
      
      Reviewed by Darin Adler.
      
      No new tests; doesn't affect behavior.
      
      * html/HTMLCanvasElement.cpp:
      (WebCore::HTMLCanvasElement::createImageBuffer): Removed the setting of lineWidth
      that caused the eager creation of ImageBuffer to use its GraphicsContext.
      * html/canvas/CanvasRenderingContext2D.cpp:
      (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D): Added in default
      line width setting along with other default context settings.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96624 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8c076a71
    • weinig@apple.com's avatar
      Add support for the CSP connect-src directive · 5f414e1d
      weinig@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=69353
      
      Reviewed by Adam Barth.
      
      Add CSP support for XMLHttpRequest, WebSockets and EventSource.
      
      Source/WebCore: 
      
      Tests: http/tests/security/contentSecurityPolicy/connect-src-eventsource-allowed.html
             http/tests/security/contentSecurityPolicy/connect-src-eventsource-blocked.html
             http/tests/security/contentSecurityPolicy/connect-src-websocket-allowed.html
             http/tests/security/contentSecurityPolicy/connect-src-websocket-blocked.html
             http/tests/security/contentSecurityPolicy/connect-src-xmlhttprequest-allowed.html
             http/tests/security/contentSecurityPolicy/connect-src-xmlhttprequest-blocked.html
      
      * page/ContentSecurityPolicy.cpp:
      (WebCore::ContentSecurityPolicy::allowConnectFromSource):
      (WebCore::ContentSecurityPolicy::addDirective):
      * page/ContentSecurityPolicy.h:
      Add connect-src directive parsing and predicate.
      
      * page/EventSource.cpp:
      (WebCore::EventSource::create):
      * websockets/WebSocket.cpp:
      (WebCore::WebSocket::connect):
      * xml/XMLHttpRequest.cpp:
      (WebCore::XMLHttpRequest::open):
      Test allowConnectFromSource when establishing a connection.
      
      LayoutTests: 
      
      * http/tests/security/contentSecurityPolicy/connect-src-eventsource-allowed-expected.txt: Added.
      * http/tests/security/contentSecurityPolicy/connect-src-eventsource-allowed.html: Added.
      * http/tests/security/contentSecurityPolicy/connect-src-eventsource-blocked-expected.txt: Added.
      * http/tests/security/contentSecurityPolicy/connect-src-eventsource-blocked.html: Added.
      * http/tests/security/contentSecurityPolicy/connect-src-websocket-allowed-expected.txt: Added.
      * http/tests/security/contentSecurityPolicy/connect-src-websocket-allowed.html: Added.
      * http/tests/security/contentSecurityPolicy/connect-src-websocket-blocked-expected.txt: Added.
      * http/tests/security/contentSecurityPolicy/connect-src-websocket-blocked.html: Added.
      * http/tests/security/contentSecurityPolicy/connect-src-xmlhttprequest-allowed-expected.txt: Added.
      * http/tests/security/contentSecurityPolicy/connect-src-xmlhttprequest-allowed.html: Added.
      * http/tests/security/contentSecurityPolicy/connect-src-xmlhttprequest-blocked-expected.txt: Added.
      * http/tests/security/contentSecurityPolicy/connect-src-xmlhttprequest-blocked.html: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96621 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5f414e1d
    • hyatt@apple.com's avatar
      https://bugs.webkit.org/show_bug.cgi?id=69317 · d4d3bcfd
      hyatt@apple.com authored
              
      [CSS3 Regions] Make overflow:hidden/auto/scroll sections behave properly when split across regions. This
      includes sizing and positioning independently in each region, clipping independently in each region, and
      shifting to avoid floats in each region.
      
      Reviewed by Anders Carlsson.
      
      Source/WebCore: 
      
      Added many new tests in fast/regions.
      
      * editing/Editor.cpp:
      (WebCore::Editor::insideVisibleArea):
      Patching a call to overflowClipRect, which now includes a region argument so that clipping can be adjusted
      per-region.
      
      * rendering/RenderBlock.cpp:
      (WebCore::RenderBlock::layoutBlock):
      Don't clear out the cached region information when the width changes. Instead make a new call to
      the flow thread to check if widths changed in any region and set relayoutChildren to true if so.
      
      (WebCore::RenderBlock::computeStartPositionDeltaForChildAvoidingFloats):
      This is a new function that has been split out from determineLogicalLeftPositionForChild so that it can
      be called by region code to compute offsets independently in each region without altering the overall object's
      logical left position.
              
      (WebCore::RenderBlock::determineLogicalLeftPositionForChild):
      Patched to call computeStartPositionDeltaForChildAvoidingFloats instead of doing the work of avoiding the floats
      itself.
      
      (WebCore::RenderBlock::computeLogicalLocationForFloat):
      Fix the left clamping code to clamp to the left border in the correct region rather than always just clamping
      to 0.
      
      (WebCore::RenderBlock::logicalLeftOffsetForContent):
      (WebCore::RenderBlock::logicalRightOffsetForContent):
      Tweaked to handle the new signature of borderBoxRectInRegion.
      
      (WebCore::RenderBlock::nextFloatLogicalBottomBelow):
      Reworked not to return 0 on failure or when done, but to just return the current height. This is a more
      fitting answer for the function to return when no more floats remain.
      
      (WebCore::RenderBlock::getClearDelta):
      Big changes to this function. It was never patched to support writing modes, so the new code is all
      writing-mode-aware now. Also improved the computeLogicalWidth() call to make sure margins didn't get incorrectly changed.
      The code computes transient information in each region as the object tries to find a place to fit, so that the
      old widths are properly retained when layout of that child later checks to see if it needs to relayout children or not.
      
      (WebCore::RenderBlock::nodeAtPoint):
      Patched to call overflowClipRect with the region being hit tested.
      
      (WebCore::inNormalFlow):
      Tweaked to not need the initialBlock variable.
      
      (WebCore::RenderBlock::applyBeforeBreak):
      (WebCore::RenderBlock::applyAfterBreak):
      (WebCore::RenderBlock::pageLogicalHeightForOffset):
      (WebCore::RenderBlock::pageRemainingLogicalHeightForOffset):
      (WebCore::RenderBlock::adjustForUnsplittableChild):
      (WebCore::RenderBlock::adjustLinePositionForPagination):
      (WebCore::RenderBlock::lineWidthForPaginatedLineChanged):
      Tweaked to use inRenderFlowThread() now that it exists. Also removing the regionsHaveUniformLogicalWidth()
      optimization, since you can't rely on that when objects size differently depending on floats. In other words,
      the future of pagination is variable width objects even in printing/columns.
      
      (WebCore::RenderBlock::offsetFromLogicalTopOfFirstPage):
      Renamed to make it more clear what logicalPageOffset() was. It's your offset from the top of the first page.
      
      (WebCore::RenderBlock::regionAtBlockOffset):
      New helper function for accessing the region at a given offset within your block.
      
      (WebCore::RenderBlock::logicalWidthChangedInRegions):
      New helper function that computes whether or not your logical width information changed in any regions. If so,
      relayoutChildren gets set to true (just as it would have when computeLogicalWidth for the overall block changes
      values).
      
      (WebCore::RenderBlock::collapsedMarginBeforeForChild):
      (WebCore::RenderBlock::collapsedMarginAfterForChild):
      (WebCore::RenderBlock::marginBeforeForChild):
      (WebCore::RenderBlock::marginAfterForChild):
      (WebCore::RenderBlock::marginLogicalLeftForChild):
      (WebCore::RenderBlock::marginLogicalRightForChild):
      (WebCore::RenderBlock::marginStartForChild):
      (WebCore::RenderBlock::marginEndForChild):
      Tweaked because of const to take const arguments.
              
      * rendering/RenderBlock.h:
      (WebCore::RenderBlock::availableLogicalWidthForLine):
      (WebCore::RenderBlock::logicalRightOffsetForLine):
      (WebCore::RenderBlock::logicalLeftOffsetForLine):
      (WebCore::RenderBlock::startOffsetForLine):
      (WebCore::RenderBlock::logicalWidthForChild):
      (WebCore::RenderBlock::logicalHeightForChild):
      (WebCore::RenderBlock::logicalTopForChild):
      (WebCore::RenderBlock::logicalLeftForChild):
      (WebCore::RenderBlock::availableLogicalWidthForContent):
      (WebCore::RenderBlock::startOffsetForContent):
      (WebCore::RenderBlock::logicalLeftOffsetForContent):
      (WebCore::RenderBlock::logicalRightOffsetForContent):
      Reworking these functions so versions exist that take regions and page offsets to avoid having to recalculate
      where you are over and over again as you walk up a containing block chain.
      
      * rendering/RenderBlockLineLayout.cpp:
      (WebCore::LineWidth::fitBelowFloats):
      Changed to handle the better return value for nextFloatLogicalBottomBelow.
              
      (WebCore::RenderBlock::checkPaginationAndFloatsAtEndLine):
      Removing the uniform logical width optimization.
      
      * rendering/RenderBox.cpp:
      (WebCore::RenderBox::borderBoxRectInRegion):
      Changed to take a region and offset from the first page so that it doesn't have to be recomputed as you recur up
      the containing block chain.
      
      (WebCore::RenderBox::clearRenderBoxRegionInfo):
      Changed to just use inRenderFlowThread().
      
      (WebCore::RenderBox::pushContentsClip):
      Changed for the new region-parameterized overflow clip function.
              
      (WebCore::RenderBox::overflowClipRect):
      Now takes a region so that a specific clip rect can be returned sized to the appropriate border box in that
      region.
      
      (WebCore::RenderBox::containingBlockLogicalWidthForContent):
      (WebCore::RenderBox::containingBlockLogicalWidthForContentInRegion):
      Objects in flow threads no longer shrink to avoid floats when computing their overall widths. The region-specific
      check now does the shrinking. It checks at the point where the region slices the object, or the top of the object if
      it begins in the middle of the region.
      
      (WebCore::RenderBox::computeLogicalWidth):
      (WebCore::RenderBox::computeLogicalWidthInRegion):
      Push all the rest of the computeLogicalWidth code into computeLogicalWidthInRegion.
              
      (WebCore::RenderBox::renderBoxRegionInfo):
      Changed to take the region and the offset from the top of the first page to avoid recomputation.
      
      * rendering/RenderBox.h:
      (WebCore::RenderBox::hasRenderOverflow):
      (WebCore::RenderBox::hasVisualOverflow):
      New helper used by the RenderLayer code to avoid having to check visual overflow when none exists.
      
      * rendering/RenderBoxModelObject.cpp:
      (WebCore::RenderBoxModelObject::paintFillLayerExtended):
      Use the new region-specific overflow clip.
      
      * rendering/RenderBoxRegionInfo.h:
      (WebCore::RenderBoxRegionInfo::shiftLogicalLeft):
      Helper used by the region code to shift a box over when floats cause it to move.
      
      * rendering/RenderFlowThread.cpp:
      (WebCore::RenderFlowThread::computeLogicalWidth):
      Remove the optimization to avoid creating box info for uniform widths.
      
      (WebCore::RenderFlowThread::paintIntoRegion):
      Make the clip rects used when painting the flow thread's layer tree temporary in each region.
      
      (WebCore::RenderFlowThread::removeRenderBoxRegionInfo):
      Removing the uniform logical width optimization
      
      (WebCore::RenderFlowThread::logicalWidthChangedInRegions):
      * rendering/RenderFlowThread.h:
      New helper called to see if a block needs to relayout its children because its width changed in some
      region.
      
      * rendering/RenderLayer.cpp:
      (WebCore::RenderLayer::paint):
      (WebCore::RenderLayer::paintLayer):
      (WebCore::RenderLayer::hitTestLayer):
      (WebCore::RenderLayer::updateClipRects):
      (WebCore::RenderLayer::calculateClipRects):
      (WebCore::RenderLayer::parentClipRects):
      (WebCore::RenderLayer::backgroundClipRect):
      (WebCore::RenderLayer::calculateRects):
      (WebCore::RenderLayer::childrenClipRect):
      (WebCore::RenderLayer::selfClipRect):
      (WebCore::RenderLayer::repaintBlockSelectionGaps):
      * rendering/RenderLayer.h:
      * rendering/RenderLayerBacking.cpp:
      (WebCore::RenderLayerBacking::updateCompositedBounds):
      (WebCore::clipBox):
      (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
      (WebCore::RenderLayerBacking::paintIntoLayer):
      * rendering/RenderLayerCompositor.cpp:
      (WebCore::RenderLayerCompositor::addToOverlapMap):
      (WebCore::RenderLayerCompositor::clippedByAncestor):
      Changing all the layer clipping code to pass regions through to all of the helper functions involved. This is
      so overflowClipRect can ultimately take a region. Eventually when we get positioned objects moving independently
      in each region, we'll patch the "clip" property as well, and it will be much easier because all the plumbing has
      been put in place here for overflow.
              
      * rendering/RenderObject.cpp:
      (WebCore::RenderObject::enclosingRenderFlowThread):
      Optimized to not walk up the render tree if we're in layout and a currentRenderFlowThread() exists.
      
      * rendering/RenderRegion.cpp:
      (WebCore::RenderRegion::renderBoxRegionInfo):
      (WebCore::RenderRegion::setRenderBoxRegionInfo):
      (WebCore::RenderRegion::takeRenderBoxRegionInfo):
      Removing the optimization for uniform logical width regions. Changed remove to take so that the caller
      can examine it before deleting.
      
      (WebCore::RenderRegion::offsetFromLogicalTopOfFirstPage):
      * rendering/RenderRegion.h:
      Helper function that computes the region's offset from the top of the first page.
      
      * rendering/RenderTable.cpp:
      (WebCore::RenderTable::overflowClipRect):
      (WebCore::RenderTable::nodeAtPoint):
      * rendering/RenderTable.h:
      * rendering/RenderTableCell.h:
      * rendering/RenderTableSection.cpp:
      (WebCore::RenderTableSection::nodeAtPoint):
      Changed to pass the region to overflowClipRect.
      
      * rendering/RenderTreeAsText.cpp:
      (WebCore::writeLayers):
      Modified because the layer clip functions need regions now.
      
      * rendering/RenderView.h:
      (WebCore::RenderView::pushLayoutState):
      Changed to use inRenderFlowThread over view()->hasRenderFlowThread.
              
      * rendering/svg/RenderSVGRoot.cpp:
      (WebCore::RenderSVGRoot::paint):
      Patched to use the new overflowClipRect that is region-specific.
      
      LayoutTests: 
      
      * fast/regions/floats-basic-in-variable-width-regions.html: Added.
      * fast/regions/overflow-in-uniform-regions-dynamic.html: Added.
      * fast/regions/overflow-in-uniform-regions.html: Added.
      * fast/regions/overflow-in-variable-width-regions.html:
      * fast/regions/overflow-moving-below-floats-in-variable-width-regions.html: Added.
      * fast/regions/overflow-not-moving-below-floats-in-variable-width-regions.html: Added.
      * fast/regions/overflow-rtl-in-variable-width-regions.html:
      * fast/regions/overflow-size-change-in-variable-width-regions.html: Added.
      * fast/regions/overflow-size-change-with-stacking-context.html: Added.
      * platform/mac/fast/regions/floats-basic-in-variable-width-regions-expected.png: Added.
      * platform/mac/fast/regions/floats-basic-in-variable-width-regions-expected.txt: Added.
      * platform/mac/fast/regions/overflow-in-uniform-regions-dynamic-expected.png: Added.
      * platform/mac/fast/regions/overflow-in-uniform-regions-dynamic-expected.txt: Added.
      * platform/mac/fast/regions/overflow-in-uniform-regions-expected.png: Added.
      * platform/mac/fast/regions/overflow-in-uniform-regions-expected.txt: Added.
      * platform/mac/fast/regions/overflow-in-variable-width-regions-expected.png:
      * platform/mac/fast/regions/overflow-in-variable-width-regions-expected.txt:
      * platform/mac/fast/regions/overflow-moving-below-floats-in-variable-width-regions-expected.png: Added.
      * platform/mac/fast/regions/overflow-moving-below-floats-in-variable-width-regions-expected.txt: Added.
      * platform/mac/fast/regions/overflow-not-moving-below-floats-in-variable-width-regions-expected.png: Added.
      * platform/mac/fast/regions/overflow-not-moving-below-floats-in-variable-width-regions-expected.txt: Added.
      * platform/mac/fast/regions/overflow-rtl-in-variable-width-regions-expected.png:
      * platform/mac/fast/regions/overflow-rtl-in-variable-width-regions-expected.txt:
      * platform/mac/fast/regions/overflow-size-change-in-variable-width-regions-expected.png: Added.
      * platform/mac/fast/regions/overflow-size-change-in-variable-width-regions-expected.txt: Added.
      * platform/mac/fast/regions/overflow-size-change-with-stacking-context-expected.png: Added.
      * platform/mac/fast/regions/overflow-size-change-with-stacking-context-expected.txt: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96620 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d4d3bcfd
    • andersca@apple.com's avatar
      More work towards making PlatformWheelEvent immutable · 09eac2ac
      andersca@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=69348
      
      Reviewed by Sam Weinig.
      
      More work on getting rid of m_isAccepted from PlatformWheelEvent. Add more asserts
      that the return value of handleWheelEvent is equal to m_isAccepted.
      
      * page/EventHandler.cpp:
      (WebCore::EventHandler::handleWheelEvent):
      * platform/ScrollAnimator.cpp:
      (WebCore::ScrollAnimator::handleWheelEvent):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96617 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      09eac2ac
    • caryclark@google.com's avatar
      Inset focus ring (Skia on Mac) · 7b7d19e6
      caryclark@google.com authored
      https://bugs.webkit.org/show_bug.cgi?id=69166
      http://code.google.com/p/chromium/issues/detail?id=97956
      
      This focus ring was drawn too large and was left tracks
      in subsequent invalidations. Make it more closely match
      the CG version.
      
      Reviewed by Adam Barth.
      
      No new tests. This platform is not enabled.
      
      * platform/graphics/skia/GraphicsContextSkia.cpp:
      (WebCore::getFocusRingOutset):
      (WebCore::GraphicsContext::drawFocusRing):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96615 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7b7d19e6
    • jonlee@apple.com's avatar
      Extend DOM WheelEvent to differentiate between physical and logical scroll directions · 736fb651
      jonlee@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=68959
      <rdar://problem/10036688>
      
      Reviewed by Sam Weinig.
      
      Source/JavaScriptCore:
      
      * wtf/Platform.h: Added HAVE_INVERTED_WHEEL_EVENTS for Lion and later.
      
      Source/WebCore:
      
      Test: fast/events/wheelevent-direction-inverted-from-device.html
      
      * dom/WheelEvent.cpp:
      (WebCore::WheelEvent::WheelEvent):
      (WebCore::WheelEvent::initWheelEvent):
      (WebCore::WheelEventDispatchMediator::WheelEventDispatchMediator):
      * dom/WheelEvent.h:
      (WebCore::WheelEvent::create):
      (WebCore::WheelEvent::webkitDirectionInvertedFromDevice):
      * dom/WheelEvent.idl: Added the webkitDirectionInvertedFromDevice idl attribute.
      * platform/PlatformWheelEvent.h:
      (WebCore::PlatformWheelEvent::PlatformWheelEvent):
      (WebCore::PlatformWheelEvent::webkitDirectionInvertedFromDevice):
      * platform/efl/PlatformWheelEventEfl.cpp:
      (WebCore::PlatformWheelEvent::PlatformWheelEvent): default to false.
      * platform/gtk/PlatformWheelEventGtk.cpp:
      (WebCore::PlatformWheelEvent::PlatformWheelEvent): default to false.
      * platform/mac/WheelEventMac.mm:
      (WebCore::PlatformWheelEvent::PlatformWheelEvent): if building on Lion or later, use
      [NSEvent isDirectionInvertedFromDevice].
      * platform/qt/WheelEventQt.cpp:
      (WebCore::PlatformWheelEvent::PlatformWheelEvent): default to false.
      * platform/win/WheelEventWin.cpp:
      (WebCore::PlatformWheelEvent::PlatformWheelEvent): default to false.
      * platform/wx/MouseWheelEventWx.cpp:
      (WebCore::PlatformWheelEvent::PlatformWheelEvent): default to false.
      
      Source/WebKit2:
      
      * Shared/WebEvent.h:
      (WebKit::WebWheelEvent::directionInvertedFromDevice):
      * Shared/WebEventConversion.cpp:
      (WebKit::WebKit2PlatformWheelEvent::WebKit2PlatformWheelEvent):
      * Shared/WebWheelEvent.cpp:
      (WebKit::WebWheelEvent::WebWheelEvent):
      (WebKit::WebWheelEvent::encode):
      (WebKit::WebWheelEvent::decode):
      * Shared/mac/WebEventFactory.mm:
      (WebKit::WebEventFactory::createWebWheelEvent): get the flag from the NSEvent.
      * UIProcess/WebPageProxy.cpp:
      (WebKit::coalesce):
      
      LayoutTests:
      
      * fast/events/wheelevent-direction-inverted-from-device-expected.txt: Added.
      * fast/events/wheelevent-direction-inverted-from-device.html: Added.
      * platform/mac-wk2/Skipped: WKTR does not support mouse scroll events yet.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96613 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      736fb651
    • commit-queue@webkit.org's avatar
      [EFL] Fix compilation when SQLite and/or libxslt are not installed in /usr/include · b960e2a3
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=69338
      
      Unreviewed build fix
      
      Patch by Rémi Duraffort <remi.duraffort@st.com> on 2011-10-04
      
      Source/WebCore:
      
      * CMakeListsEfl.txt:
      
      Source/WebKit/efl:
      
      * CMakeListsEfl.txt:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96612 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b960e2a3
    • commit-queue@webkit.org's avatar
      Resource loader should block HTTP redirects to local resources · d065482e
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=68706
      
      Patch by Ken Buchanan <kenrb@chromium.org> on 2011-10-03
      Reviewed by Adam Barth.
      
      Source/WebCore:
      
      Modified MainResourceLoader to add an extra security check on
      HTTP redirects. Also, moved isFeedWithNestedProtocolInHTTPFamily
      to SecurityOrigin.cpp.
      
      * loader/FrameLoader.cpp:
      (WebCore::isFeedWithNestedProtocolInHTTPFamily):
      (WebCore::FrameLoader::loadFrameRequest):
      * loader/MainResourceLoader.cpp:
      (WebCore::MainResourceLoader::willSendRequest):
      * page/SecurityOrigin.cpp:
      (WebCore::isFeedWithNestedProtocolInHTTPFamily):
      (WebCore::SecurityOrigin::canDisplay):
      
      LayoutTests:
      
      Adding a test to attempt an HTTP redirect to a file: URL.
      
      * http/tests/security/redirect-BLOCKED-to-localURL.html: Added.
      * http/tests/security/redirect-BLOCKED-to-localURL-expected.txt: Added.
      * http/tests/security/resources/file-redirect-target.html: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96610 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d065482e
    • caryclark@google.com's avatar
      Apply color profile found to decoded bitmap (Skia on Mac) · 1fbeb615
      caryclark@google.com authored
      https://bugs.webkit.org/show_bug.cgi?id=69144
      This fixes http://code.google.com/p/chromium/issues/detail?id=97830
      
      Reviewed by Stephen White.
      
      No new tests. This platform is not enabled.
      
      * platform/image-decoders/ImageDecoder.h:
      Add color profile slot to Skia variation.
      
      * platform/image-decoders/skia/ImageDecoderSkia.cpp:
      (WebCore::resolveColorSpace):
      Adjust the bitmap in place to use the supplied color space.
      
      (WebCore::createColorSpace):
      Create a CGColorSpace from a color profile.
      
      (WebCore::ImageFrame::setColorProfile):
      Save the image's color profile until the image is complete.
      
      (WebCore::ImageFrame::setStatus):
      Apply the color profile, if any, to the image.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96609 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1fbeb615
    • leandro@webkit.org's avatar
      [CMake] Unreviewed: pass feature definitions in the right format for the CSS scripts. · af8cca11
      leandro@webkit.org authored
      The Perl scripts in the css/ directory expect the definitions passed via
      --defines to be a string of space-separated entries, however we were passing a
      list of semicolon-separated strings, thus making all feature defines actually
      be ignored.
      
      Detected after r96433, which checked for some definitions in
      CSSPropertyNames.in.
      
      No new tests, this is a build fix.
      
      * CMakeLists.txt:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96607 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      af8cca11
    • pfeldman@chromium.org's avatar
      Web Inspector: make SourceFrame compile. · 4c90cbc7
      pfeldman@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=69345
      
      Reviewed by Yury Semikhatsky.
      
      * inspector/compile-front-end.sh:
      * inspector/front-end/DOMAgent.js:
      (WebInspector.DOMAgent.prototype.inspectElement):
      (WebInspector.DOMDispatcher.prototype.inspectElementRequested):
      * inspector/front-end/ElementsPanel.js:
      (WebInspector.ElementsPanel.prototype._inspectElementRequested):
      * inspector/front-end/ObjectPropertiesSection.js:
      (WebInspector.ObjectPropertyTreeElement.prototype._contextMenuEventFired):
      (WebInspector.ObjectPropertyTreeElement.prototype.startEditing):
      * inspector/front-end/ResourcesPanel.js:
      (WebInspector.ResourcesPanel.prototype._applyDiffMarkup):
      * inspector/front-end/SourceFrame.js:
      (WebInspector.SourceFrame.prototype._onShowPopover.showObjectPopover):
      (WebInspector.SourceFrame.prototype._onShowPopover):
      (WebInspector.SourceFrame.prototype._editBreakpointCondition):
      (WebInspector.SourceFrame.prototype.startEditing):
      (WebInspector.SourceFrame.prototype.commitEditing.didEditContent):
      (WebInspector.SourceFrame.prototype.commitEditing):
      (WebInspector.SourceFrameDelegate.prototype.requestContent):
      (WebInspector.SourceFrameDelegate.prototype.debuggingSupported):
      (WebInspector.SourceFrameDelegate.prototype.setBreakpoint):
      (WebInspector.SourceFrameDelegate.prototype.removeBreakpoint):
      (WebInspector.SourceFrameDelegate.prototype.updateBreakpoint):
      (WebInspector.SourceFrameDelegate.prototype.findBreakpoint):
      (WebInspector.SourceFrameDelegate.prototype.continueToLine):
      (WebInspector.SourceFrameDelegate.prototype.canEditScriptSource):
      (WebInspector.SourceFrameDelegate.prototype.setScriptSource):
      (WebInspector.SourceFrameDelegate.prototype.setScriptSourceIsBeingEdited):
      (WebInspector.SourceFrameDelegate.prototype.debuggerPaused):
      (WebInspector.SourceFrameDelegate.prototype.evaluateInSelectedCallFrame):
      (WebInspector.SourceFrameDelegate.prototype.releaseEvaluationResult):
      (WebInspector.SourceFrameDelegate.prototype.suggestedFileName):
      * inspector/front-end/externs.js:
      (WebInspector.log):
      * inspector/front-end/inspector.js:
      (WebInspector.log.logMessage):
      (WebInspector.log):
      * inspector/front-end/utilities.js:
      ():
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96604 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4c90cbc7
    • mnaganov@chromium.org's avatar
      Web Inspector: Factor out object properties popup. · 85861193
      mnaganov@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=69234
      
      Also, for HTML elements, show a non-empty id value in the element name.
      
      Reviewed by Pavel Feldman.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96599 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      85861193
    • pfeldman@chromium.org's avatar
      Web Inspector: compile text editor. · 50463bec
      pfeldman@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=69339
      
      Drive-by compilation for color, database and dom storage entities.
      
      Reviewed by Yury Semikhatsky.
      
      * inspector/Inspector.json:
      * inspector/compile-front-end.sh:
      * inspector/front-end/Color.js:
      (WebInspector.Color.prototype._individualRGBValueToFloatValue):
      * inspector/front-end/KeyboardShortcut.js:
      (WebInspector.KeyboardShortcut.makeKey):
      (WebInspector.KeyboardShortcut.makeKeyFromEvent):
      (WebInspector.KeyboardShortcut.makeDescriptor):
      * inspector/front-end/SourceCSSTokenizer.js:
      * inspector/front-end/SourceCSSTokenizer.re2js:
      * inspector/front-end/SourceHTMLTokenizer.js:
      * inspector/front-end/SourceHTMLTokenizer.re2js:
      * inspector/front-end/SourceJavaScriptTokenizer.js:
      * inspector/front-end/SourceJavaScriptTokenizer.re2js:
      * inspector/front-end/SourceTokenizer.js:
      (WebInspector.SourceTokenizer.prototype._charAt):
      (WebInspector.SourceTokenizer.prototype.createInitialCondition):
      (WebInspector.SourceTokenizer.prototype.nextToken):
      * inspector/front-end/TextEditorHighlighter.js:
      (WebInspector.TextEditorHighlighter.prototype.highlight):
      (WebInspector.TextEditorHighlighter.prototype._highlightLines):
      * inspector/front-end/TextEditorModel.js:
      * inspector/front-end/TextViewer.js:
      (WebInspector.TextViewerDelegate.prototype.doubleClick):
      (WebInspector.TextViewerDelegate.prototype.beforeTextChanged):
      (WebInspector.TextViewerDelegate.prototype.afterTextChanged):
      (WebInspector.TextViewerDelegate.prototype.commitEditing):
      (WebInspector.TextViewerDelegate.prototype.cancelEditing):
      (WebInspector.TextViewerDelegate.prototype.populateLineGutterContextMenu):
      (WebInspector.TextViewerDelegate.prototype.populateTextAreaContextMenu):
      (WebInspector.TextViewerDelegate.prototype.suggestedFileName):
      (WebInspector.TextEditorMainPanel.prototype._enclosingLineRowOrSelf):
      (WebInspector.TextEditorMainPanel.prototype._createLink):
      (WebInspector.TextEditorMainPanel.prototype._applyDomUpdates):
      (WebInspector.TextEditorMainPanel.prototype._updateChunksForRanges):
      * inspector/front-end/externs.js:
      (WebInspector.completeURL):
      (window.getComputedStyle):
      (Event.prototype.initWebKitWheelEvent):
      * inspector/front-end/utilities.js:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96597 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      50463bec
    • vsevik@chromium.org's avatar
      Web Inspector: Timeline panel shortcut for filtering short records should have shorter description. · 061e8e7f
      vsevik@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=69333
      
      Reviewed by Pavel Feldman.
      
      * English.lproj/localizedStrings.js:
      * inspector/front-end/TimelinePanel.js:
      (WebInspector.TimelinePanel.prototype._registerShortcuts):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96596 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      061e8e7f
    • commit-queue@webkit.org's avatar
      Shrink StyleRareNonInheritedData. · 29d01f5a
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=69331
      
      Patch by Andreas Kling <kling@webkit.org> on 2011-10-04
      Reviewed by Antti Koivisto.
      
      Rearrange the members and move all small types into the bitfield.
      This shrinks StyleRareNonInheritedData by two CPU words, reducing memory
      consumption by 140 kB (on 64-bit) when loading the full HTML5 spec.
      
      * rendering/style/StyleRareNonInheritedData.cpp:
      (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
      * rendering/style/StyleRareNonInheritedData.h:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96594 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      29d01f5a
    • vsevik@chromium.org's avatar
      Web Inspector: Remove http/tests/inspector/network/disabled-cache-crash.html. · 6ed4d5c8
      vsevik@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=69332
      
      Reviewed by Pavel Feldman.
      
      .:
      
      * Source/autotools/symbols.filter:
      
      Source/WebCore:
      
      * WebCore.exp.in:
      * testing/Internals.cpp:
      * testing/Internals.h:
      * testing/Internals.idl:
      
      Source/WebKit2:
      
      * win/WebKit2.def:
      * win/WebKit2CFLite.def:
      
      LayoutTests:
      
      * http/tests/inspector/network/disabled-cache-crash-expected.txt: Removed.
      * http/tests/inspector/network/disabled-cache-crash.html: Removed.
      * platform/chromium/test_expectations.txt:
      * platform/gtk/Skipped:
      * platform/mac/Skipped:
      * platform/qt/Skipped:
      * platform/win/Skipped:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96593 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6ed4d5c8
    • pfeldman@chromium.org's avatar
      Web Inspector: make DataGrid compile · ff95b46a
      pfeldman@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=69334
      
      Patch by Pavel Feldman <pfeldman@chromium.org> on 2011-10-04
      Reviewed by Yury Semikhatsky.
      
      * inspector/compile-front-end.sh:
      * inspector/front-end/DataGrid.js:
      (WebInspector.DataGrid):
      (WebInspector.DataGrid.prototype._startEditingColumnOfDataGridNode):
      (WebInspector.DataGrid.prototype._startEditing):
      (WebInspector.DataGrid.prototype._startEditingConfig):
      (WebInspector.DataGrid.prototype._editingCommitted.moveToNextIfNeeded):
      (WebInspector.DataGrid.prototype._editingCommitted):
      (WebInspector.DataGrid.prototype._editingCancelled):
      (WebInspector.DataGrid.prototype.removeChildrenRecursive):
      (WebInspector.DataGrid.prototype._keyDown):
      (WebInspector.DataGrid.prototype._startResizerDragging):
      (WebInspector.DataGrid.prototype._resizerDragging):
      (WebInspector.DataGrid.prototype._endResizerDragging):
      (WebInspector.DataGridNode.prototype._attach):
      * inspector/front-end/UIUtils.js:
      (WebInspector.isBeingEdited):
      (WebInspector.markBeingEdited):
      (WebInspector.isEditingAnyField):
      (WebInspector.EditingConfig):
      (WebInspector.startEditing.blurEventListener):
      (WebInspector.startEditing.getContent):
      (WebInspector.startEditing.cleanUpAfterEditing):
      (WebInspector.startEditing.editingCancelled):
      (WebInspector.startEditing.editingCommitted):
      (WebInspector.startEditing.defaultFinishHandler):
      (WebInspector.startEditing):
      (WebInspector.startEditing.pasteEventListener):
      (WebInspector.startEditing.keyDownEventListener):
      * inspector/front-end/externs.js:
      (Array.prototype.remove):
      (window.getComputedStyle):
      * inspector/front-end/inspector.js:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96591 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ff95b46a
    • caseq@chromium.org's avatar
      2011-10-04 Andrey Kosyakov <caseq@chromium.org> · bd353fb7
      caseq@chromium.org authored
              Web Inspector: [Extensions API] extension panel's toolbar icon is incorrect when inspector window is docked
              https://bugs.webkit.org/show_bug.cgi?id=69336
      
              Reviewed by Pavel Feldman.
      
              * inspector/front-end/ExtensionPanel.js:
              (WebInspector.ExtensionPanel):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96589 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      bd353fb7
    • podivilov@chromium.org's avatar
      Web Inspector: update call frame location when source mapping is changed. · df736d7d
      podivilov@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=68997
      
      Currently we use fake "debugger-paused" event hack to update execution line and call stack placards when source mapping is changed.
      - add PresentationCallFrame.createPlacard method to create "live" placards that are updated on source mapping changes.
      - remove PresentationCallFrame functionName, isInternalScript, and url getters.
      - fire execution-line-changed event when selected call frame or source mapping is changed.
      
      Reviewed by Pavel Feldman.
      
      * inspector/compile-front-end.sh:
      * inspector/front-end/CallStackSidebarPane.js:
      (WebInspector.CallStackSidebarPane.prototype.update):
      * inspector/front-end/CompilerSourceMapping.js:
      (WebInspector.ClosureCompilerSourceMappingPayload):
      (WebInspector.ClosureCompilerSourceMapping):
      (WebInspector.ClosureCompilerSourceMapping.prototype._parseMappings):
      * inspector/front-end/ContentProviders.js:
      (WebInspector.CompilerSourceMappingContentProvider.prototype.requestContent):
      (WebInspector.CompilerSourceMappingContentProvider.prototype.searchInContent):
      * inspector/front-end/DebuggerPresentationModel.js:
      (WebInspector.DebuggerPresentationModel):
      (WebInspector.DebuggerPresentationModel.prototype.createPlacard.updatePlacard):
      (WebInspector.DebuggerPresentationModel.prototype.createPlacard):
      (WebInspector.DebuggerPresentationModel.prototype._debuggerPaused):
      (WebInspector.DebuggerPresentationModel.prototype._debuggerResumed):
      (WebInspector.DebuggerPresentationModel.prototype.set selectedCallFrame):
      (WebInspector.DebuggerPresentationModel.prototype.get selectedCallFrame):
      (WebInspector.DebuggerPresentationModel.prototype._dispatchExecutionLineChanged):
      (WebInspector.DebuggerPresentationModel.prototype._debuggerReset):
      (WebInspector.PresentationCallFrame):
      (WebInspector.PresentationCallFrame.prototype.get rawSourceCode):
      (WebInspector.PresentationCallFrame.prototype.uiLocation):
      * inspector/front-end/ScriptsPanel.js:
      (WebInspector.ScriptsPanel.prototype._debuggerPaused.else.didGetUILocation):
      (WebInspector.ScriptsPanel.prototype._debuggerPaused):
      (WebInspector.ScriptsPanel.prototype._executionLineChanged):
      (WebInspector.ScriptsPanel.prototype._callFrameSelected):
      * inspector/front-end/externs.js:
      (WebInspector.displayNameForURL):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96588 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      df736d7d
    • pfeldman@chromium.org's avatar
      2011-10-04 Pavel Feldman <pfeldman@chromium.org> · 715dea89
      pfeldman@chromium.org authored
              Not reviewed: inspector tests fix.
      
              * inspector/front-end/ExtensionPanel.js:
              (WebInspector.ExtensionPanel):
              (WebInspector.ExtensionPanel.prototype.get toolbarItemLabel):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96586 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      715dea89
    • podivilov@chromium.org's avatar
      Web Inspector: add compiler source mapping support to RawSourceCode. · 004ff3f3
      podivilov@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=68891
      
      Reviewed by Pavel Feldman.
      
      Source/WebCore:
      
      * WebCore.gypi:
      * WebCore.vcproj/WebCore.vcproj:
      * inspector/front-end/BreakpointManager.js:
      (WebInspector.BreakpointManager.prototype.uiSourceCodeAdded):
      (WebInspector.BreakpointManager.prototype.setBreakpoint):
      (WebInspector.BreakpointManager.prototype._materializeBreakpoint):
      * inspector/front-end/CompilerSourceMappingProvider.js: Added.
      (WebInspector.CompilerSourceMappingProvider):
      (WebInspector.CompilerSourceMappingProvider.prototype.loadSourceMapping):
      (WebInspector.CompilerSourceMappingProvider.prototype.loadSourceCode):
      * inspector/front-end/DebuggerPresentationModel.js:
      (WebInspector.DebuggerPresentationModel.prototype.continueToLine):
      * inspector/front-end/RawSourceCode.js:
      (WebInspector.RawSourceCode.prototype.setCompilerSourceMappingProvider):
      (WebInspector.RawSourceCode.prototype._resourceFinished):
      (WebInspector.RawSourceCode.prototype._updateSourceMapping.didCreateSourceMapping):
      (WebInspector.RawSourceCode.prototype._updateSourceMapping):
      (WebInspector.RawSourceCode.prototype._createSourceMapping.didLoadSourceMapping):
      (WebInspector.RawSourceCode.PlainSourceMapping.prototype.uiLocationToRawLocation):
      (WebInspector.RawSourceCode.FormattedSourceMapping.prototype.uiLocationToRawLocation):
      (WebInspector.RawSourceCode.CompilerSourceMapping):
      (WebInspector.RawSourceCode.CompilerSourceMapping.prototype.rawLocationToUILocation):
      (WebInspector.RawSourceCode.CompilerSourceMapping.prototype.uiLocationToRawLocation):
      (WebInspector.RawSourceCode.CompilerSourceMapping.prototype.get uiSourceCodeList):
      (WebInspector.CompilerSourceMappingProvider):
      (WebInspector.CompilerSourceMappingProvider.prototype.loadSourceMapping):
      (WebInspector.CompilerSourceMappingProvider.prototype.loadSourceCode):
      * inspector/front-end/UISourceCodeContentProviders.js:
      (WebInspector.CompilerSourceMappingContentProvider):
      (WebInspector.CompilerSourceMappingContentProvider.prototype.requestContent):
      * inspector/front-end/WebKit.qrc:
      * inspector/front-end/inspector.html:
      
      LayoutTests:
      
      * inspector/debugger/breakpoint-manager.html:
      * inspector/debugger/raw-source-code-expected.txt:
      * inspector/debugger/raw-source-code.html:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96585 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      004ff3f3
    • pfeldman@chromium.org's avatar
      Web Inspector: start adding UI components to the compilation process. · 3995c906
      pfeldman@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=69319
      
      Patch by Pavel Feldman <pfeldman@google.com> on 2011-10-04
      Reviewed by Yury Semikhatsky.
      
      * WebCore.gypi:
      * WebCore.vcproj/WebCore.vcproj:
      * inspector/compile-front-end.sh:
      * inspector/front-end/Drawer.js:
      (WebInspector.Drawer.prototype.show.animationFinished):
      (WebInspector.Drawer.prototype.show):
      (WebInspector.Drawer.prototype.resize):
      * inspector/front-end/ElementsPanel.js:
      (WebInspector.ElementsPanel.prototype.statusBarResized):
      * inspector/front-end/EmptyView.js:
      * inspector/front-end/Panel.js:
      (WebInspector.Panel.prototype.set get toolbarItemLabel):
      (WebInspector.Panel.prototype.get statusBarItems):
      (WebInspector.Panel.prototype.updateMainViewWidth):
      (WebInspector.Panel.prototype.statusBarResized):
      * inspector/front-end/PropertiesSection.js:
      * inspector/front-end/SearchController.js:
      (WebInspector.SearchController.prototype._onKeyDown):
      * inspector/front-end/Section.js:
      (WebInspector.Section.prototype.set populated):
      (WebInspector.Section.prototype.onpopulate):
      (WebInspector.Section.prototype.expand):
      * inspector/front-end/SidebarPane.js:
      * inspector/front-end/Toolbar.js:
      (WebInspector.Toolbar.createPanelToolbarItem):
      (WebInspector.ToolbarDropdown.prototype.show):
      * inspector/front-end/UIUtils.js: Added.
      (WebInspector.elementDragStart):
      (WebInspector.elementDragEnd):
      (WebInspector.animateStyle):
      (WebInspector.animateStyle.forceComplete):
      (WebInspector.animateStyle.cancel):
      * inspector/front-end/WebKit.qrc:
      * inspector/front-end/externs.js:
      (WebInspector.extensionServer.notifyPanelShown):
      (WebInspector.extensionServer.notifyPanelHidden):
      (WebInspector.currentPanel):
      (WebInspector.setCurrentPanel):
      * inspector/front-end/inspector.html:
      * inspector/front-end/inspector.js:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96584 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3995c906
    • bashi@chromium.org's avatar
      [Chromium] Implement font shaping with font-feature-settings on Windows · ac4d45dd
      bashi@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=65904
      
      Reviewed by Kenneth Russell.
      
      Source/WebCore:
      
      Use Uniscribe's OpenType APIs to shape complex text to support -webkit-font-feature-settings property.
      
      No new tests. css3/font-feature-settings-rendering.html should pass by this patch.
      
      * platform/graphics/chromium/UniscribeHelper.cpp:
      (WebCore::loadOpenTypeFunctions):
      (WebCore::UniscribeHelper::UniscribeHelper): Calls loadOpenTypeFunctions if needed.
      (WebCore::UniscribeHelper::fillRuns): Uses ScriptItemizeOpenType() if possible.
      (WebCore::UniscribeHelper::shape): Uses ScriptShapeOpenType() if possible.
      (WebCore::UniscribeHelper::fillShapes): Adds OpenType script tag as an argument.
      (WebCore::convertFeatureTag): Added.
      (WebCore::UniscribeHelper::setRangeProperties): Added.
      * platform/graphics/chromium/UniscribeHelper.h:
      * platform/graphics/chromium/UniscribeHelperTextRun.cpp:
      (WebCore::UniscribeHelperTextRun::UniscribeHelperTextRun): Calls setRangeProperties().
      
      LayoutTests:
      
      Adds expectations of css3/font-feature-settings-rendering.html for Chromium win port. Since Uniscirbe OpenType APIs are not available on WinXP by default, the test could fail on WinXP.
      
      * platform/chromium-win/css3/font-feature-settings-rendering-expected.png: Added.
      * platform/chromium-win/css3/font-feature-settings-rendering-expected.txt: Added.
      * platform/chromium/test_expectations.txt: VISTA and WIN7 should pass css3/font-feature-settings-rendering.html.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96582 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ac4d45dd
    • ryuan.choi@samsung.com's avatar
      [EFL] Implement declared but missing functions. · 57c64d87
      ryuan.choi@samsung.com authored
      https://bugs.webkit.org/show_bug.cgi?id=65368
      
      Unreviewed build fix for WebKit/Efl builds after r96566.
      
      
      * platform/efl/CursorEfl.cpp:
      (WebCore::Cursor::operator=):
      * platform/efl/LocalizedStringsEfl.cpp:
      (WebCore::localizedString):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96581 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      57c64d87
    • pfeldman@chromium.org's avatar
      Web Inspector: move abstract panel search logic into the only view that is using it. · 0d318a71
      pfeldman@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=69328
      
      Reviewed by Yury Semikhatsky.
      
      * inspector/front-end/Panel.js:
      (WebInspector.Panel.prototype.searchCanceled):
      (WebInspector.Panel.prototype.performSearch):
      (WebInspector.Panel.prototype.jumpToNextSearchResult):
      (WebInspector.Panel.prototype.jumpToPreviousSearchResult):
      * inspector/front-end/ProfilesPanel.js:
      (WebInspector.ProfilesPanel.prototype.performSearch.updateMatchesCount):
      (WebInspector.ProfilesPanel.prototype.performSearch.updateMatchesCountSoon):
      (WebInspector.ProfilesPanel.prototype.performSearch.finishedCallback):
      (WebInspector.ProfilesPanel.prototype.performSearch.processChunk):
      (WebInspector.ProfilesPanel.prototype.performSearch):
      (WebInspector.ProfilesPanel.prototype.jumpToNextSearchResult):
      (WebInspector.ProfilesPanel.prototype.jumpToPreviousSearchResult):
      (WebInspector.ProfilesPanel.prototype._searchableViews):
      (WebInspector.ProfilesPanel.prototype.searchCanceled):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96580 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0d318a71
    • pfeldman@chromium.org's avatar
      2011-10-04 Pavel Feldman <pfeldman@google.com> · 4aaff343
      pfeldman@chromium.org authored
              Not reviewed: fixed poor inspector merge, drive-by front-endcompilation fix.
      
              * inspector/front-end/ContentProviders.js:
              (WebInspector.ScriptContentProvider.prototype.requestContent):
              (WebInspector.ScriptContentProvider.prototype.searchInContent):
              (WebInspector.ConcatenatedScriptsContentProvider.prototype.searchInContent):
              * inspector/front-end/DebuggerPresentationModel.js:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96579 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4aaff343
    • pfeldman@chromium.org's avatar
      Web Inspector: remove dependency from GoToLine dialog from Panel. · e135cd32
      pfeldman@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=69327
      
      Reviewed by Yury Semikhatsky.
      
      * inspector/front-end/GoToLineDialog.js:
      (WebInspector.GoToLineDialog.install):
      (WebInspector.GoToLineDialog._show):
      * inspector/front-end/NetworkItemView.js:
      (WebInspector.NetworkItemView.prototype._tabSelected):
      (WebInspector.ResourceContentView.prototype.contentLoaded):
      (WebInspector.ResourceContentView.prototype.canHighlightLine):
      (WebInspector.ResourceContentView.prototype.highlightLine):
      (set WebInspector):
      * inspector/front-end/NetworkPanel.js:
      (WebInspector.NetworkPanel.viewGetter):
      (WebInspector.NetworkPanel):
      * inspector/front-end/Panel.js:
      (WebInspector.Panel.prototype.registerShortcut):
      * inspector/front-end/ResourcesPanel.js:
      (WebInspector.ResourcesPanel.viewGetter):
      (WebInspector.ResourcesPanel):
      (WebInspector.ResourcesPanel.prototype.showResource):
      * inspector/front-end/ScriptsPanel.js:
      (WebInspector.ScriptsPanel.viewGetter):
      * inspector/front-end/SourceFrame.js:
      (WebInspector.SourceFrame.prototype.canHighlightLine):
      * inspector/front-end/TabbedPane.js:
      (WebInspector.TabbedPane.prototype._hideTab):
      (WebInspector.TabbedPane.prototype.canHighlightLine):
      (WebInspector.TabbedPane.prototype.highlightLine):
      * inspector/front-end/View.js:
      (WebInspector.View.prototype.canHighlightLine):
      (WebInspector.View.prototype.highlightLine):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96577 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e135cd32
    • commit-queue@webkit.org's avatar
      Unreviewed, rolling out r96491. · 8f17fcc2
      commit-queue@webkit.org authored
      http://trac.webkit.org/changeset/96491
      https://bugs.webkit.org/show_bug.cgi?id=69326
      
      Breaks Slow Leopard inspector tests (Requested by pfeldman on
      #webkit).
      
      Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2011-10-04
      
      Source/WebCore:
      
      * inspector/Inspector.json:
      * inspector/InspectorDebuggerAgent.cpp:
      (WebCore::InspectorDebuggerAgent::getScriptSource):
      * inspector/InspectorDebuggerAgent.h:
      * inspector/front-end/ContentProviders.js:
      (WebInspector.ScriptContentProvider.prototype.requestContent):
      * inspector/front-end/Script.js:
      (WebInspector.Script.prototype.requestSource.didGetScriptSource):
      (WebInspector.Script.prototype.requestSource):
      
      LayoutTests:
      
      * http/tests/inspector/resource-tree/resource-tree-test.js:
      (initialize_ResourceTreeTest.InspectorTest.runAfterResourcesAreFinished):
      (initialize_ResourceTreeTest.InspectorTest._runAfterResourcesAreFinished):
      (initialize_ResourceTreeTest):
      * http/tests/inspector/resources-test.js:
      (initialize_ResourceTest):
      * http/tests/inspector/search/resources/search-concatenated.html: Removed.
      * http/tests/inspector/search/search-in-concatenated-script-expected.txt: Removed.
      * http/tests/inspector/search/search-in-concatenated-script.html: Removed.
      * http/tests/inspector/search/search-in-resource.html:
      * http/tests/inspector/search/search-in-script-expected.txt: Removed.
      * http/tests/inspector/search/search-in-script.html: Removed.
      * http/tests/inspector/search/search-test.js:
      (initialize_SearchTest.InspectorTest.runAfterResourcesAreCreated):
      (initialize_SearchTest.InspectorTest._runAfterResourcesAreCreated):
      (initialize_SearchTest.InspectorTest._runAfterResourcesAreCreated.maybeCallback):
      (initialize_SearchTest.InspectorTest._runAfterResourcesAreCreated.addSniffer):
      (initialize_SearchTest.InspectorTest._runAfterResourcesAreCreated.onResourceBind):
      (initialize_SearchTest.InspectorTest._runAfterResourcesAreCreated.visit):
      (initialize_SearchTest):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96576 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8f17fcc2
    • pfeldman@chromium.org's avatar
      Web Inspector: add DebuggerPresentationModel and ConsoleView to compilation. · 5b397a3d
      pfeldman@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=69269
      
      Reviewed by Yury Semikhatsky.
      
      * inspector/compile-front-end.sh:
      * inspector/front-end/BreakpointManager.js:
      (WebInspector.BreakpointManager.prototype.uiSourceCodeAdded):
      * inspector/front-end/ConsoleView.js:
      (WebInspector.ConsoleView.prototype._consoleCleared):
      (WebInspector.ConsoleView.prototype._completions.evaluated.getCompletions):
      (WebInspector.ConsoleView.prototype._completions.evaluated):
      (WebInspector.ConsoleView.prototype._messagesClicked):
      * inspector/front-end/ContentProviders.js:
      (WebInspector.StaticContentProvider.prototype.requestContent):
      (WebInspector.StaticContentProvider.prototype.searchInContent):
      * inspector/front-end/ContextMenu.js:
      * inspector/front-end/DebuggerPresentationModel.js:
      (WebInspector.DebuggerPresentationModel.prototype._addScript):
      (WebInspector.DebuggerPresentationModel.prototype._consoleMessageAdded):
      (WebInspector.DebuggerPresentationModel.prototype._debuggerPaused):
      (WebInspector.DebuggerPresentationModel.prototype._rawSourceCodeForScriptWithURL):
      (WebInspector.DebuggerPresentationModel.prototype._rawSourceCodeForScript):
      (WebInspector.DebuggerPresentationModel.prototype._scriptForRawSourceCode):
      (WebInspector.DebuggerPresentationModel.prototype._createRawSourceCodeId):
      (WebInspector.DebuggerPresentationModelResourceBinding.prototype.canSetContent):
      (WebInspector.DebuggerPresentationModelResourceBinding.prototype.setContent):
      * inspector/front-end/HelpScreen.js:
      * inspector/front-end/JavaScriptContextManager.js:
      (WebInspector.FrameEvaluationContext.prototype.get displayName):
      * inspector/front-end/KeyboardShortcut.js:
      (WebInspector.KeyboardShortcut):
      * inspector/front-end/Resource.js:
      (WebInspector.Resource.displayName):
      * inspector/front-end/ScriptFormatter.js:
      (WebInspector.ScriptFormatter.prototype._didFormatContent):
      * inspector/front-end/ShortcutsScreen.js:
      * inspector/front-end/StatusBarButton.js:
      * inspector/front-end/TextPrompt.js:
      * inspector/front-end/externs.js:
      (WebInspector.populateHrefContextMenu):
      (WebInspector.useLowerCaseMenuTitles):
      (WebInspector.ScriptsPanel.this.evaluateInSelectedCallFrame):
      (WebInspector.ScriptsPanel.this.getSelectedCallFrameVariables):
      (WebInspector.ScriptsPanel):
      * inspector/front-end/inspector.js:
      * inspector/front-end/utilities.js:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96575 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5b397a3d
  2. 03 Oct, 2011 8 commits
    • rniwa@webkit.org's avatar
      Mac release build fix after r96561, and Leopard build fix after r96568. · 8b2b13ad
      rniwa@webkit.org authored
      * editing/TextCheckingHelper.h:
      (WebCore::TextCheckingParagraph::textCharAt):
      * page/mac/EventHandlerMac.mm:
      (WebCore::EventHandler::wheelEvent):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96571 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8b2b13ad
    • rniwa@webkit.org's avatar
      Build fix after r96568. · 98e846f4
      rniwa@webkit.org authored
      * accessibility/AccessibilityObject.cpp:
      * accessibility/mac/WebAccessibilityObjectWrapper.mm:
      * editing/Editor.cpp:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96570 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      98e846f4
    • commit-queue@webkit.org's avatar
      Should call checkTextOfParagraph() indirectly to make unifying spell-checking code path easy. · e38301ff
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=69241
      
      Patch by Shinya Kawanaka <shinyak@google.com> on 2011-10-03
      Reviewed by Ryosuke Niwa.
      
      WebCore has two different code paths for spell-checking:
        1) checkTextOfParagraph() for Snow Leopard or later
        2) checkSpellingOfString() for checkGrammarOfString() for other platforms.
      
      At the first step, this patch introduces an indirect wrapper to call
      checkTextOfParagraph() in Snow Leopard or later. This is intended to make it easy to
      introduce a function for mimicing checkTextOfParagraph() in Chromium platform or
      other non-SL or non-Lion platform.
      
      No new tests because this patch does not change a behavior.
      
      * accessibility/AccessibilityObject.cpp:
      (WebCore::AccessibilityObject::hasMisspelling): Calling checkTextOfParagraph() indirectly.
      * accessibility/mac/WebAccessibilityObjectWrapper.mm:
      (AXAttributeStringSetSpelling): ditto.
      * editing/Editor.cpp:
      (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): ditto.
      * editing/TextCheckingHelper.cpp:
      (WebCore::TextCheckingHelper::findFirstMisspellingOrBadGrammar): ditto.
      (WebCore::TextCheckingHelper::guessesForMisspelledOrUngrammaticalRange): ditto.
      (WebCore::checkTextOfParagraph): Added.
      * editing/TextCheckingHelper.h:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96568 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e38301ff
    • darin@apple.com's avatar
      Change cursor to hand over missing plug-in message · 95130fcc
      darin@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=69312
      
      Reviewed by Sam Weinig.
      
      No tests because we currently don't have any test machinery for cursors.
      
      * page/EventHandler.cpp:
      (WebCore::OptionalCursor::OptionalCursor): Added. Construct an object
      to represent either a cursor, or no cursor change.
      (WebCore::OptionalCursor::isCursorChange): Added.
      (WebCore::OptionalCursor::cursor): Added.
      (WebCore::EventHandler::selectCursor): Changed return type to OptionalCursor,
      moved some special cases from handleMouseMoveEvent in here. Moved the logic
      for plug-ins and framesets into the specific renderer classes for those.
      Added a call to the new getCursor virtual function.
      (WebCore::EventHandler::handleMouseMoveEvent): Changed cursor setting code to
      just be a call to selectCursor and then setCursor. Plug-in-specific code is now
      in RenderWidget.
      
      * page/EventHandler.h: Changed return type of selectCursor.
      
      * page/MouseEventWithHitTestResults.cpp: Made some functions be inline.
      * page/MouseEventWithHitTestResults.h:
      (WebCore::MouseEventWithHitTestResults::localPoint): Made this inline.
      (WebCore::MouseEventWithHitTestResults::scrollbar): Made this inline.
      Yes, this has nothing to do with the rest of the patch, but it's good.
      
      * rendering/RenderEmbeddedObject.cpp:
      (WebCore::RenderEmbeddedObject::getReplacementTextGeometry): Made const.
      (WebCore::RenderEmbeddedObject::isInMissingPluginIndicator): Made const.
      Overloaded so it can be called with a point rather than an event.
      (WebCore::shouldMissingPluginMessageBeButton): Added. Helps streamline
      the logic below.
      (WebCore::RenderEmbeddedObject::handleMissingPluginIndicatorEvent):
      Changed to use shouldMissingPluginMessageBeButton.
      (WebCore::RenderEmbeddedObject::getCursor): Added. Sets the cursor to
      a hand when over the missing plug-in message.
      * rendering/RenderEmbeddedObject.h: Added getCursor override. Also updated
      for other changes above.
      
      * rendering/RenderFrameSet.cpp:
      (WebCore::RenderFrameSet::getCursor): Added. Contains the logic that used
      to be hardcoded in EventHandler::selectCursor about cursors when over
      resizable frame borders.
      * rendering/RenderFrameSet.h: Added getCursor.
      
      * rendering/RenderObject.cpp:
      (WebCore::RenderObject::getCursor): Added. Returns SetCursorBasedOnStyle.
      * rendering/RenderObject.h: Added getCursor.
      
      * rendering/RenderWidget.cpp:
      (WebCore::RenderWidget::getCursor): Added. Contains the logic that used
      to be hardcoded in EventHandler::handleMouseMoveEvent to prevent setting
      the cursor when the pointer is over a plug-in. This new code is much better,
      because it only kicks in when there is actually a plug-in present. The old
      was based on the HTML tag!
      * rendering/RenderWidget.h: Added getCursor.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96566 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      95130fcc
    • andersca@apple.com's avatar
      Work towards making PlatformWheelEvent immutable · fae40064
      andersca@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=69306
      
      Reviewed by Sam Weinig.
      
      Currently, PlatformWheelEvent has an m_isAccepted flag that tracks whether
      the event has been handled or not. For all other event types, that state is instead
      tracked by the return value of the various event handlers.
      
      As a first step, add return values to the various handleWheelEvent functions and
      add an assertion in EventHandler::wheelEvent that the return value is the same as
      the state of PlatformWheelEvent::isAccepted.
      
      * Configurations/Base.xcconfig:
      Don't warn when using C++11 extensions.
      
      * page/mac/EventHandlerMac.mm:
      (WebCore::EventHandler::wheelEvent):
      Assert that isAccepted matches the return value.
      
      * platform/ScrollAnimator.cpp:
      (WebCore::ScrollAnimator::handleWheelEvent):
      Return isAccepted.
      
      * platform/ScrollAnimator.h:
      HandleWheelEvent now returns a boolean.
      
      * platform/ScrollView.cpp:
      (WebCore::ScrollView::wheelEvent):
      Return whether the event was handled or not.
      
      * platform/ScrollView.h:
      ScrollView::wheelEvent now returns a bool.
      
      * platform/ScrollableArea.cpp:
      (WebCore::ScrollableArea::handleWheelEvent):
      * platform/ScrollableArea.h:
      ScrollableArea::handleWheelEvent now returns a bool.
      
      * platform/chromium/ScrollAnimatorChromiumMac.h:
      * platform/chromium/ScrollAnimatorChromiumMac.mm:
      (WebCore::ScrollAnimatorChromiumMac::handleWheelEvent):
      Add return values, based on either the base class calls or the state of
      PlatformWheelEvent::isAccepted().
      
      * platform/mac/ScrollAnimatorMac.h:
      * platform/mac/ScrollAnimatorMac.mm:
      (WebCore::ScrollAnimatorMac::handleWheelEvent):
      Ditto.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96561 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      fae40064
    • mitz@apple.com's avatar
      <rdar://problem/9973489> REGRESSION (r66599): -[DOMNode boundingBox] returns... · 1ff1aa7c
      mitz@apple.com authored
      <rdar://problem/9973489> REGRESSION (r66599): -[DOMNode boundingBox] returns the zero rect for SVG elements
      https://bugs.webkit.org/show_bug.cgi?id=69305
      
      Reviewed by Simon Fraser.
      
      Source/WebCore: 
      
      Test: svg/custom/boundingBox.html
      
      Rather than asserting and returning the zero rect, take the transform-aware code path for computing SVG
      bounding rects.
      
      * rendering/svg/RenderSVGForeignObject.cpp:
      (WebCore::RenderSVGForeignObject::mapLocalToContainer): Updated for change to SVGRenderSupport::mapLocalToContainer().
      * rendering/svg/RenderSVGInline.cpp:
      (WebCore::RenderSVGInline::mapLocalToContainer): Ditto.
      * rendering/svg/RenderSVGModelObject.cpp:
      (WebCore::RenderSVGModelObject::mapLocalToContainer): Ditto.
      (WebCore::RenderSVGModelObject::absoluteRects): Replaced an incorrect assertion with code to approximate the bounding
      box.
      * rendering/svg/RenderSVGText.cpp:
      (WebCore::RenderSVGText::mapLocalToContainer): Updated for change to SVGRenderSupport::mapLocalToContainer().
      * rendering/svg/SVGRenderSupport.cpp:
      (WebCore::SVGRenderSupport::mapLocalToContainer): Removed the fixed and useTransform boolean parameters.
      * rendering/svg/SVGRenderSupport.h:
      
      LayoutTests: 
      
      * svg/custom/boundingBox-expected.txt: Added.
      * svg/custom/boundingBox.html: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96558 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1ff1aa7c
    • michaeln@google.com's avatar
      A little more WebSQLDatabase thread safety. · 99c9c1c9
      michaeln@google.com authored
      https://bugs.webkit.org/show_bug.cgi?id=69277
      
      - switch to using AtomicallyInitializedStatic where appropiate
      - avoid using some Strings across threads
      
      Reviewed by David Levin.
      
      Existing tests apply.
      
      * storage/AbstractDatabase.cpp:
      (WebCore::guidMutex):
      (WebCore::guidToVersionMap):
      (WebCore::guidToDatabaseMap):
      (WebCore::guidForOriginAndName):
      (WebCore::AbstractDatabase::databaseInfoTableName):
      (WebCore::AbstractDatabase::AbstractDatabase):
      (WebCore::AbstractDatabase::performOpenAndVerify):
      (WebCore::AbstractDatabase::getVersionFromDatabase):
      (WebCore::AbstractDatabase::setVersionInDatabase):
      * storage/AbstractDatabase.h:
      * storage/chromium/DatabaseTrackerChromium.cpp:
      (WebCore::DatabaseTracker::tracker):
      * storage/chromium/QuotaTracker.cpp:
      (WebCore::QuotaTracker::instance):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96554 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      99c9c1c9
    • rniwa@webkit.org's avatar
      Replace m_firstNodeInserted and m_lastLeafInserted in ReplaceSelectionCommand by positions · bd6682da
      rniwa@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=68874
      
      Reviewed by Enrica Casucci.
      
      Replaced m_firstNodeInserted and m_lastLeafInserted by m_startOfInsertedContent and m_endOfInsertedContent
      respectively. Also removed removeNodePreservingChildren and removeNodeAndPruneAncestors in ReplaceSelectionCommand
      because they were not virtual in CompositeEditCommand and implicitly overriding the functions was confusing.
      Since each of these two functions is used at exactly one place, just update positions and insertedNodes explicitly.
      
      * editing/CompositeEditCommand.cpp:
      * editing/ReplaceSelectionCommand.cpp:
      (WebCore::ReplaceSelectionCommand::removeUnrenderedTextNodesAtEnds):
      (WebCore::ReplaceSelectionCommand::positionAtEndOfInsertedContent):
      (WebCore::ReplaceSelectionCommand::positionAtStartOfInsertedContent):
      (WebCore::ReplaceSelectionCommand::handleStyleSpans):
      (WebCore::ReplaceSelectionCommand::mergeEndIfNeeded): Update m_endOfInsertedContent by endingSelection().visibleEnd()
      instead of m_lastLeafInserted with destination.previous() because moveParagraph could have removed leading whitespace in
      the text node referenced by destination. This is tested by an existing layout test.
      (WebCore::ReplaceSelectionCommand::doApply):
      (WebCore::ReplaceSelectionCommand::addSpacesForSmartReplace): Update positions as needed. All changes are tested
      by the existing layout tests in editing/pasteboard.
      (WebCore::ReplaceSelectionCommand::updateNodesInserted):
      * editing/ReplaceSelectionCommand.h:
      * editing/htmlediting.cpp:
      (WebCore::hasARenderedDescendant): Moved from CompositeEditCommand.cpp.
      (WebCore::highestNodeToRemoveInPruning): Ditto.
      * editing/htmlediting.h:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96553 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      bd6682da