1. 17 Sep, 2013 40 commits
    • ap@apple.com's avatar
      Web Inspector: inspector/storage-panel-dom-storage-update.html is flakey on the bots · 57e7b802
      ap@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=120544
      
      * platform/mac-wk2/TestExpectations:
      * platform/mac/TestExpectations:
      Marking as such again.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156002 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      57e7b802
    • enrica@apple.com's avatar
      Upstream changes to WebHTMLConverter to support HTML · 2194a86a
      enrica@apple.com authored
      to NSAttributedString conversion on both iOS and OS X.
      
      Reviewed by Benjamin Poulain.
      
      * platform/mac/HTMLConverter.h:
      * platform/mac/HTMLConverter.mm:
      (WebDefaultFont):
      (_fontForNameAndSize):
      (+[WebHTMLConverter defaultParagraphStyle]):
      (-[WebHTMLConverter _computedStyleForElement:]):
      (-[WebHTMLConverter _specifiedStyleForElement:]):
      (-[WebHTMLConverter _computedStringForNode:property:]):
      (-[WebHTMLConverter _stringForNode:property:]):
      (-[WebHTMLConverter _getComputedFloat:forNode:property:]):
      (-[WebHTMLConverter _getFloat:forNode:property:]):
      (_NSFirstPathForDirectoriesInDomains):
      (_NSSystemLibraryPath):
      (-[WebHTMLConverter _webKitBundle]):
      (_colorForRGBColor):
      (_shadowForShadowStyle):
      (-[WebHTMLConverter _elementIsBlockLevel:]):
      (-[WebHTMLConverter _elementHasOwnBackgroundColor:]):
      (-[WebHTMLConverter _computedColorForNode:property:]):
      (-[WebHTMLConverter _colorForNode:property:]):
      (-[WebHTMLConverter _computedAttributesForElement:]):
      (-[WebHTMLConverter _attributesForElement:]):
      (-[WebHTMLConverter _newParagraphForElement:tag:allowEmpty:suppressTrailingSpace:]):
      (-[WebHTMLConverter _newLineForElement:]):
      (-[WebHTMLConverter _newTabForElement:]):
      (-[WebHTMLConverter _WebMessageDocumentClass]):
      (-[WebHTMLConverter _addAttachmentForElement:URL:needsParagraph:usePlaceholder:]):
      (-[WebHTMLConverter _addQuoteForElement:opening:level:]):
      (-[WebHTMLConverter _addValue:forElement:]):
      (-[WebHTMLConverter _fillInBlock:forElement:backgroundColor:extraMargin:extraPadding:isTable:]):
      (_dateForString):
      (_colCompare):
      (-[WebHTMLConverter _processMetaElementWithName:content:]):
      (-[WebHTMLConverter _processHeadElement:]):
      (-[WebHTMLConverter _enterElement:tag:display:embedded:]):
      (-[WebHTMLConverter _addTableForElement:]):
      (-[WebHTMLConverter _addTableCellForElement:]):
      (-[WebHTMLConverter _processElement:tag:display:depth:]):
      (-[WebHTMLConverter _addMarkersToList:range:]):
      (-[WebHTMLConverter _exitElement:tag:display:depth:startIndex:]):
      (-[WebHTMLConverter _processText:]):
      (-[WebHTMLConverter _traverseNode:depth:embedded:]):
      (-[WebHTMLConverter _traverseFooterNode:depth:]):
      (-[WebHTMLConverter _loadFromDOMRange]):
      (-[WebHTMLConverter dealloc]):
      (-[WebHTMLConverter init]):
      (-[WebHTMLConverter initWithDOMRange:]):
      (-[WebHTMLConverter attributedString]):
      (+[WebHTMLConverter editingAttributedStringFromRange:]):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156001 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2194a86a
    • weinig@apple.com's avatar
      Add make_unique and start using it · 8b741e10
      weinig@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=121523
      
      Reviewed by Anders Carlsson.
      
      ../WebCore: 
      
      * html/HTMLAreaElement.h:
      * html/HTMLFrameSetElement.h:
      * platform/Length.cpp:
      (WebCore::newCoordsArray):
      (WebCore::newLengthArray):
      * platform/Length.h:
      Switch off OwnArrayPtr to std::unique_ptr<T[]> and make use of make_unique.
      
      ../WTF: 
      
      * wtf/StdLibExtras.h:
      (std::make_unique):
      Add temporary implementation of std::make_unique that we can use until our standard
      libraries have support for it.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156000 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8b741e10
    • msaboff@apple.com's avatar
      run-jsc-stress-tests fails with ruby version 2 · aab8c713
      msaboff@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=121521
      
      Reviewed by Jessie Berlin.
      
      Explicitly set LANG to en_US.UTB-8 before starting run-jsc-stress-tests.
      
      * Scripts/run-javascriptcore-tests:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@155999 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      aab8c713
    • simon.fraser@apple.com's avatar
      Hardware accelerated CSS transitions appear pixelated when scaled up using transform · 5193e675
      simon.fraser@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=27684
      <rdar://problem/6134606>
      
      Source/WebCore:
      
      Reviewed by Dean Jackson.
      
      Take transforms and animations into account when computing the contentsScale
      for a layer, so that scaled-up layers remain sharp most of the time.
      
      In its recursiveCommitChanges() tree walk, GraphicsLayerCA now tracks
      a root-relative transform, and extracts from that transform the X and Y
      scales which it uses to scale the backing store.
      
      If the layer has transform animations on it, we keep around
      a transformation matrix for the animation endpoints (or keyframes),
      pick up the state that has the larger impact on the root-relative scale,
      and use that as the layer's transform, and the transform when recursing
      over descendants.
      
      Tests: compositing/contents-scale/animating.html
             compositing/contents-scale/scaled-ancestor.html
             compositing/contents-scale/simple-scale.html
             compositing/contents-scale/z-translate.html
      
      * platform/graphics/ca/GraphicsLayerCA.cpp:
      (WebCore::maxScaleFromTransform): Decompose the transform if necesssary
      to extract the X and Y scale components.
      (WebCore::GraphicsLayerCA::GraphicsLayerCA): Initialize m_rootRelativeScaleFactor.
      (WebCore::GraphicsLayerCA::flushCompositingState): Supply a TransformationMatrix
      for the root of the recursion.
      (WebCore::GraphicsLayerCA::layerTransform): This code was factored out of
      computeVisibleRect(), and optionally takes a custom transform.
      (WebCore::GraphicsLayerCA::computeVisibleRect): Use the layerTransform() function.
      (WebCore::GraphicsLayerCA::updateRootRelativeScale): Given a transform from the root,
      find the max scale factor by multiplying the various animation endpoint matrices and picking
      the one with the biggest impact on scale. Use this to set m_rootRelativeScaleFactor, and
      set the flag to say that we need to update contentsScale.
      (WebCore::GraphicsLayerCA::recursiveCommitChanges):
      (WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers): After updating
      animations, call updateRootRelativeScale() to update m_rootRelativeScaleFactor.
      (WebCore::GraphicsLayerCA::updateAnimations): We have a side table of animation name to
      TransformationMatrix, so figure out which entries can be removed from that side table,
      and remove them.
      (WebCore::GraphicsLayerCA::setAnimationOnLayer):
      (WebCore::GraphicsLayerCA::appendToUncommittedAnimations): Store the matrices for
      animation endpoints/keyframes in the m_animationTransforms side table. We don't store
      them directly in LayerPropertyAnimation because we just want the final matrix for
      a transform list, and using a side table makes ownership easier to manage.
      (WebCore::GraphicsLayerCA::getTransformFromAnimationsWithMaxScaleImpact):
      goes through the matrices for the running animation endpoints/keyframes, and
      multiplies each with the transform up to this layer to find the matrix with the
      larger impact on scale.
      (WebCore::GraphicsLayerCA::setTransformAnimationEndpoints): Returns a vector
      of TransformationMatrix for the from and to states.
      (WebCore::GraphicsLayerCA::setTransformAnimationKeyframes): Returns a vector
      of TransformationMatrix for the keyframes.
      (WebCore::GraphicsLayerCA::updateContentsScale): Include m_rootRelativeScaleFactor in the
      scale factor computation.
      (WebCore::GraphicsLayerCA::dumpAdditionalProperties): If we're dumping visible rects,
      also dump the contentsScale. Convenient at these are useful to look at together, and I didn't
      want to pollute Internals with yet more flags.
      * platform/graphics/ca/GraphicsLayerCA.h:
      (WebCore::GraphicsLayerCA::LayerPropertyAnimation::LayerPropertyAnimation): Formatting.
      
      LayoutTests:
      
      Reviewed by Dean Jackson.
      
      New tests that dump contentsScale under various scaling scenarios:
      
      * compositing/contents-scale/animating-expected.txt: Added.
      * compositing/contents-scale/animating.html: Added.
      * compositing/contents-scale/scaled-ancestor-expected.txt: Added.
      * compositing/contents-scale/scaled-ancestor.html: Added.
      * compositing/contents-scale/simple-scale-expected.txt: Added.
      * compositing/contents-scale/simple-scale.html: Added.
      * compositing/contents-scale/z-translate-expected.txt: Added.
      * compositing/contents-scale/z-translate.html: Added.
      
      These tests had Mac-specific results (which include visible rects and now
      contents scale) in the cross-platform directory, so cleaned up the cross-platform
      results and moved the Mac results to platform-mac.
      
      * compositing/overflow/clipping-behaviour-change-is-not-propagated-to-descendants-expected.txt:
      * compositing/overflow/clipping-behaviour-change-is-not-propagated-to-descendants2-expected.txt:
      * compositing/visible-rect/2d-transformed-expected.txt:
      * compositing/visible-rect/3d-transform-style-expected.txt:
      * compositing/visible-rect/3d-transformed-expected.txt:
      * compositing/visible-rect/animated-expected.txt:
      * compositing/visible-rect/animated-from-none-expected.txt:
      * compositing/visible-rect/clipped-by-viewport-expected.txt:
      * compositing/visible-rect/clipped-visible-rect-expected.txt:
      * compositing/visible-rect/flipped-preserve-3d-expected.txt:
      * compositing/visible-rect/iframe-and-layers-expected.txt:
      * compositing/visible-rect/nested-transform-expected.txt:
      * compositing/visible-rect/scrolled-expected.txt:
      * platform/mac/compositing/tiling/rotated-tiled-clamped-expected.txt:
      * platform/mac/compositing/tiling/rotated-tiled-preserve3d-clamped-expected.txt:
      * platform/mac/compositing/tiling/tile-cache-zoomed-expected.txt:
      * platform/mac/compositing/visible-rect/2d-transformed-expected.txt: Copied from LayoutTests/compositing/visible-rect/2d-transformed-expected.txt.
      * platform/mac/compositing/visible-rect/3d-transform-style-expected.txt: Copied from LayoutTests/compositing/visible-rect/3d-transform-style-expected.txt.
      * platform/mac/compositing/visible-rect/3d-transformed-expected.txt: Copied from LayoutTests/compositing/visible-rect/3d-transformed-expected.txt.
      * platform/mac/compositing/visible-rect/animated-expected.txt: Copied from LayoutTests/compositing/visible-rect/animated-expected.txt.
      * platform/mac/compositing/visible-rect/animated-from-none-expected.txt: Copied from LayoutTests/compositing/visible-rect/animated-from-none-expected.txt.
      * platform/mac/compositing/visible-rect/clipped-by-viewport-expected.txt: Copied from LayoutTests/compositing/visible-rect/clipped-by-viewport-expected.txt.
      * platform/mac/compositing/visible-rect/clipped-visible-rect-expected.txt: Copied from LayoutTests/compositing/visible-rect/clipped-visible-rect-expected.txt.
      * platform/mac/compositing/visible-rect/flipped-preserve-3d-expected.txt: Copied from LayoutTests/compositing/visible-rect/flipped-preserve-3d-expected.txt.
      * platform/mac/compositing/visible-rect/iframe-and-layers-expected.txt: Copied from LayoutTests/compositing/visible-rect/iframe-and-layers-expected.txt.
      * platform/mac/compositing/visible-rect/iframe-no-layers-expected.txt:
      * platform/mac/compositing/visible-rect/nested-transform-expected.txt: Copied from LayoutTests/compositing/visible-rect/nested-transform-expected.txt.
      * platform/mac/compositing/visible-rect/scrolled-expected.txt: Copied from LayoutTests/compositing/visible-rect/scrolled-expected.txt.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@155998 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5193e675
    • fpizlo@apple.com's avatar
      Don't GC while OSR compiling · fe6bd743
      fpizlo@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=121513
      
      Reviewed by Mark Hahnenberg.
              
      Fixes some rare crashes that I see in ConservativeRoots, while in a GC from OSR exit
      compilation.
      
      * dfg/DFGOSRExitCompiler.cpp:
      * ftl/FTLOSRExitCompiler.cpp:
      (JSC::FTL::compileFTLOSRExit):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@155995 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      fe6bd743
    • commit-queue@webkit.org's avatar
      Unreviewed, rolling out r155977. · 242b1914
      commit-queue@webkit.org authored
      http://trac.webkit.org/changeset/155977
      https://bugs.webkit.org/show_bug.cgi?id=121515
      
      Broke over a dozen tests on Mac WK2 (Requested by ap on
      #webkit).
      
      Source/WebCore:
      
      * platform/graphics/ca/GraphicsLayerCA.cpp:
      (WebCore::GraphicsLayerCA::GraphicsLayerCA):
      (WebCore::GraphicsLayerCA::flushCompositingState):
      (WebCore::GraphicsLayerCA::computeVisibleRect):
      (WebCore::GraphicsLayerCA::recursiveCommitChanges):
      (WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers):
      (WebCore::GraphicsLayerCA::updateAnimations):
      (WebCore::GraphicsLayerCA::setAnimationOnLayer):
      (WebCore::GraphicsLayerCA::appendToUncommittedAnimations):
      (WebCore::GraphicsLayerCA::setTransformAnimationEndpoints):
      (WebCore::GraphicsLayerCA::setTransformAnimationKeyframes):
      (WebCore::GraphicsLayerCA::updateContentsScale):
      (WebCore::GraphicsLayerCA::dumpAdditionalProperties):
      * platform/graphics/ca/GraphicsLayerCA.h:
      (WebCore::GraphicsLayerCA::LayerPropertyAnimation::LayerPropertyAnimation):
      
      LayoutTests:
      
      * compositing/contents-scale/animating-expected.txt: Removed.
      * compositing/contents-scale/animating.html: Removed.
      * compositing/contents-scale/scaled-ancestor-expected.txt: Removed.
      * compositing/contents-scale/scaled-ancestor.html: Removed.
      * compositing/contents-scale/simple-scale-expected.txt: Removed.
      * compositing/contents-scale/simple-scale.html: Removed.
      * compositing/contents-scale/z-translate-expected.txt: Removed.
      * compositing/contents-scale/z-translate.html: Removed.
      * compositing/overflow/clipping-behaviour-change-is-not-propagated-to-descendants-expected.txt:
      * compositing/overflow/clipping-behaviour-change-is-not-propagated-to-descendants2-expected.txt:
      * compositing/visible-rect/2d-transformed-expected.txt:
      * compositing/visible-rect/3d-transform-style-expected.txt:
      * compositing/visible-rect/3d-transformed-expected.txt:
      * compositing/visible-rect/animated-expected.txt:
      * compositing/visible-rect/animated-from-none-expected.txt:
      * compositing/visible-rect/clipped-by-viewport-expected.txt:
      * compositing/visible-rect/clipped-visible-rect-expected.txt:
      * compositing/visible-rect/flipped-preserve-3d-expected.txt:
      * compositing/visible-rect/iframe-and-layers-expected.txt:
      * compositing/visible-rect/nested-transform-expected.txt:
      * compositing/visible-rect/scrolled-expected.txt:
      * platform/mac/compositing/overflow/clipping-behaviour-change-is-not-propagated-to-descendants-expected.txt: Removed.
      * platform/mac/compositing/overflow/clipping-behaviour-change-is-not-propagated-to-descendants2-expected.txt: Removed.
      * platform/mac/compositing/tiling/rotated-tiled-clamped-expected.txt:
      * platform/mac/compositing/tiling/rotated-tiled-preserve3d-clamped-expected.txt:
      * platform/mac/compositing/tiling/tile-cache-zoomed-expected.txt:
      * platform/mac/compositing/visible-rect/2d-transformed-expected.txt: Removed.
      * platform/mac/compositing/visible-rect/3d-transform-style-expected.txt: Removed.
      * platform/mac/compositing/visible-rect/3d-transformed-expected.txt: Removed.
      * platform/mac/compositing/visible-rect/animated-expected.txt: Removed.
      * platform/mac/compositing/visible-rect/animated-from-none-expected.txt: Removed.
      * platform/mac/compositing/visible-rect/clipped-by-viewport-expected.txt: Removed.
      * platform/mac/compositing/visible-rect/clipped-visible-rect-expected.txt: Removed.
      * platform/mac/compositing/visible-rect/flipped-preserve-3d-expected.txt: Removed.
      * platform/mac/compositing/visible-rect/iframe-and-layers-expected.txt: Removed.
      * platform/mac/compositing/visible-rect/iframe-no-layers-expected.txt:
      * platform/mac/compositing/visible-rect/nested-transform-expected.txt: Removed.
      * platform/mac/compositing/visible-rect/scrolled-expected.txt: Removed.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@155994 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      242b1914
    • eric.carlson@apple.com's avatar
      MediaStream API: Changing the device enumeration to be async · 565c4e18
      eric.carlson@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=120883
      
      Reviewed by Darin Adler.
      
      Source/WebCore: 
      
      Parts merged from https://chromium.googlesource.com/chromium/blink/+/40a96080a1531e50de4eb84571c7dc9fb321ece5
      and https://chromium.googlesource.com/chromium/blink/+/ff783a23bb1add588971a8187048a305cf485121
      by Tommy Widenflycht.
      
      Test: fast/mediastream/MediaStreamTrack-getSources.html
      
      * CMakeLists.txt: Added new files.
      * DerivedSources.make: Ditto.
      * GNUmakefile.list.am: Ditto.
      
      * Modules/mediastream/MediaStreamTrack.cpp:
      (WebCore::MediaStreamTrack::kind): ASCIILiteral -> NeverDestroyed<AtomicString>.
      (WebCore::MediaStreamTrack::readyState): Ditto.
      (WebCore::MediaStreamTrack::getSources): New.
      * Modules/mediastream/MediaStreamTrack.h:
      * Modules/mediastream/MediaStreamTrack.idl:
      
      * Modules/mediastream/MediaStreamTrackSourcesCallback.h: Added.
      * Modules/mediastream/MediaStreamTrackSourcesCallback.idl: Added.
      * Modules/mediastream/MediaStreamTrackSourcesRequest.cpp: Added.
      * Modules/mediastream/MediaStreamTrackSourcesRequest.h: Added.
      
      * Modules/mediastream/SourceInfo.cpp: Added.
      * Modules/mediastream/SourceInfo.h: Added.
      * Modules/mediastream/SourceInfo.idl: Added.
      
      * WebCore.xcodeproj/project.pbxproj: Add new files.
      
      * bindings/js/JSDOMBinding.h: Add toJS templates for Vector<T> and Vector<RefPtr<T>>.
      
      * platform/mediastream/MediaStreamCenter.h: Add prototype for getMediaStreamTrackSources.
      
      * platform/mediastream/MediaStreamTrackSourcesRequestClient.h: Added.
      
      * platform/mediastream/blackberry/MediaStreamCenterBlackBerry.cpp:
      (WebCore::MediaStreamCenterMac::getMediaStreamTrackSources): Added.
      * platform/mediastream/blackberry/MediaStreamCenterBlackBerry.h:
      
      * platform/mediastream/gstreamer/MediaStreamCenterGStreamer.cpp:
      (WebCore::MediaStreamCenterMac::getMediaStreamTrackSources): Added
      * platform/mediastream/gstreamer/MediaStreamCenterGStreamer.h:
      
      * platform/mediastream/mac/MediaStreamCenterMac.cpp:
      (WebCore::MediaStreamCenterMac::getMediaStreamTrackSources): Added.
      * platform/mediastream/mac/MediaStreamCenterMac.h:
      
      LayoutTests: 
      
      * fast/mediastream/MediaStreamTrack-getSources-expected.txt: Added.
      * fast/mediastream/MediaStreamTrack-getSources.html: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@155992 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      565c4e18
    • bfulgham@apple.com's avatar
      lUnreviewed, rolling out r155976. · af697965
      bfulgham@apple.com authored
      http://trac.webkit.org/changeset/155976
      https://bugs.webkit.org/show_bug.cgi?id=121512
      
      Broke a test, needs cleanup (Requested by ap_ on #webkit).
      
      Patch by Commit Queue <commit-queue@webkit.org> on 2013-09-17
      
      * platform/mac/accessibility/element-busy-changed-expected.txt: Removed.
      * platform/mac/accessibility/element-busy-changed.html: Removed.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@155991 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      af697965
    • commit-queue@webkit.org's avatar
      Unreviewed, rolling out r155976. · 8e6fc7f7
      commit-queue@webkit.org authored
      http://trac.webkit.org/changeset/155976
      https://bugs.webkit.org/show_bug.cgi?id=121512
      
      Broke a test, needs cleanup (Requested by ap_ on #webkit).
      
      Source/WebCore:
      
      * accessibility/AXObjectCache.cpp:
      (WebCore::AXObjectCache::handleAttributeChanged):
      * accessibility/AXObjectCache.h:
      * accessibility/mac/AXObjectCacheMac.mm:
      (WebCore::AXObjectCache::postPlatformNotification):
      
      LayoutTests:
      
      * platform/mac/accessibility/element-busy-changed-expected.txt: Removed.
      * platform/mac/accessibility/element-busy-changed.html: Removed.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@155989 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8e6fc7f7
    • commit-queue@webkit.org's avatar
      Improve srcset parser · ccd2f459
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=119423
      
      Patch by Romain Perier <romain.perier@gmail.com> on 2013-09-17
      Reviewed by Benjamin Poulain.
      
      Source/WebCore:
      
      Added new tests and covered by existing ones.
      
      * html/parser/HTMLParserIdioms.cpp:
      (WebCore::isHTMLSpaceOrComma): Add a new predicate function used by String::find()
      to get the first space or comma character from the input string.
      (WebCore::parseImagesWithScaleFromSrcSetAttribute): Add a new static function to parse
      and extract images with scale from the srcset attribute. All valid candidates are
      returned to the caller through a list. This parsing function also adds support
      for data URI schemes as described by the specification.
      (WebCore::bestFitSourceForImageAttributes): Remove intermediate arrays of string
      when parsing. That is more efficient and avoids trashing the data cache
      (varying between 20 and 65% faster depending of the amount of data)
      The parser now walks along the attribute value and extracts the candidates directly.
      
      LayoutTests:
      
      * fast/hidpi/image-srcset-data-srcset-invalid-inputs.html: Ensures that a various invalid
        form of data uri schemes are supported by the srcset attribute.
      * fast/hidpi/image-srcset-data-srcset-valid-inputs.html: Ensures that a various valid
        form of data uri schemes are supported by the srcset attribute.
      * fast/hidpi/image-srcset-data-srcset.html: Use comma instead of %.
      * fast/hidpi/image-srcset-fraction-1.5x.html: Added.
      * fast/hidpi/image-srcset-invalid-inputs-except-one.html: Missing srcset-helper.js. Adding more invalid cases.
      * fast/hidpi/image-srcset-invalid-inputs.html: Adding more invalid cases.
      * fast/hidpi/image-srcset-nomodifier.html: Updated output as behaviour changed for this case.
      * fast/hidpi/image-srcset-space-suffix-nomodifier.html: Ensures that a single candidate with no scale modifier
        is supported by the srcset attribute, even if a space is left at the end.
      * fast/hidpi/image-srcset-space-prefix-nomodifier.html: Ensures that a single candidate with no scale modifier
        is supported by the srcset attribute, even if a space is left at the beginning.
      * fast/hidpi/image-srcset-space-surrounded-nomodifier.html: Ensures that a single candidate with no scale modifier
        is supported by the srcset attribute, even if it is surrounded by spaces.
      * fast/hidpi/image-srcset-data-escaped-srcset.html: Ensures that data uri schemes with escaped characters
        are supported by the srcset attribute.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@155988 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ccd2f459
    • ossy@webkit.org's avatar
      Buildfix for !ENABLE(CUSTOM_PROTOCOLS) platforms · 69f655e7
      ossy@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=121417
      
      Reviewed by Alexey Proskuryakov.
      
      Original patch by Balazs Kelemen <kbalazs@webkit.org>.
      
      * CMakeLists.txt: Add CustomProtocolManagerProxy.messages.in.
      * DerivedSources.pri: Add CustomProtocolManagerProxy.messages.in.
      * GNUmakefile.am: Add CustomProtocolManagerProxy.messages.in.
      * GNUmakefile.list.am: Add CustomProtocolManagerProxyMessages.h and CustomProtocolManagerProxyMessageReceiver.cpp.
      * NetworkProcess/NetworkProcess.cpp: Add the missing ENABLE(CUSTOM_PROTOCOLS) guard.
      (WebKit::NetworkProcess::NetworkProcess):
      * UIProcess/WebProcessProxy.cpp: Remove the unnecessary conditional include.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@155987 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      69f655e7
    • kov@webkit.org's avatar
      [GTK] Test /webkit2/WebKitWebInspectorServer/test-open-debugging-session times out after r155714 · ad3b42b6
      kov@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=121383
      
      Reviewed by Carlos Garcia Campos.
      
      * UIProcess/API/gtk/tests/TestInspectorServer.cpp:
      (openRemoteDebuggingSession): use the page contents' to check the remote debugging of the page
      has been successfuly opened, as the title is no longer the same after the switch to the new
      frontend.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@155985 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ad3b42b6
    • kov@webkit.org's avatar
      Unreviewed build fix after 155963. · 123d9b52
      kov@webkit.org authored
      * platform/gtk/RenderThemeGtk3.cpp:
      (WebCore::getStyleContext): use nullptr instead of 0.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@155984 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      123d9b52
    • bfulgham@apple.com's avatar
    • ap@apple.com's avatar
      Make SVGTransform::valueAsString use StringBuilder · 5c17e53c
      ap@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=121498
      
      Unreviewed typo fix, should address a regression on svg/dom/SVGViewSpec.html.
      
      * svg/SVGTransform.cpp: (WebCore::SVGTransform::valueAsString): "e" is totally
      not the same as "f".
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@155982 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5c17e53c
    • bfulgham@apple.com's avatar
      [Windows] Disable a number of failing tests to help the EWS system run more rapidly. · a107d26d
      bfulgham@apple.com authored
      * platform/win/TestExpectations:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@155981 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a107d26d
    • bfulgham@apple.com's avatar
      [Windows] Unreviewed build fix after r155963. · 6b102eb6
      bfulgham@apple.com authored
      * DumpRenderTree/win/TestRunnerWin.cpp:
      (TestRunner::evaluateScriptInIsolatedWorld): Pass nullptr rather than 0.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@155979 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6b102eb6
    • bfulgham@apple.com's avatar
      [Windows] Speculative build fix after r155963 · 880ac860
      bfulgham@apple.com authored
      * WebKitCOMAPI.cpp:
      (classFactory): Use nullptr rather than 0 for HashMap.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@155978 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      880ac860
    • simon.fraser@apple.com's avatar
      Hardware accelerated CSS transitions appear pixelated when scaled up using transform · 0d965ccf
      simon.fraser@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=27684
      <rdar://problem/6134606>
      
      Source/WebCore:
      
      Reviewed by Dean Jackson.
      
      Take transforms and animations into account when computing the contentsScale
      for a layer, so that scaled-up layers remain sharp most of the time.
      
      In its recursiveCommitChanges() tree walk, GraphicsLayerCA now tracks
      a root-relative transform, and extracts from that transform the X and Y
      scales which it uses to scale the backing store.
      
      If the layer has transform animations on it, we keep around
      a transformation matrix for the animation endpoints (or keyframes),
      pick up the state that has the larger impact on the root-relative scale,
      and use that as the layer's transform, and the transform when recursing
      over descendants.
      
      Tests: compositing/contents-scale/animating.html
             compositing/contents-scale/scaled-ancestor.html
             compositing/contents-scale/simple-scale.html
             compositing/contents-scale/z-translate.html
      
      * platform/graphics/ca/GraphicsLayerCA.cpp:
      (WebCore::maxScaleFromTransform): Decompose the transform if necesssary
      to extract the X and Y scale components.
      (WebCore::GraphicsLayerCA::GraphicsLayerCA): Initialize m_rootRelativeScaleFactor.
      (WebCore::GraphicsLayerCA::flushCompositingState): Supply a TransformationMatrix
      for the root of the recursion.
      (WebCore::GraphicsLayerCA::layerTransform): This code was factored out of
      computeVisibleRect(), and optionally takes a custom transform.
      (WebCore::GraphicsLayerCA::computeVisibleRect): Use the layerTransform() function.
      (WebCore::GraphicsLayerCA::updateRootRelativeScale): Given a transform from the root,
      find the max scale factor by multiplying the various animation endpoint matrices and picking
      the one with the biggest impact on scale. Use this to set m_rootRelativeScaleFactor, and
      set the flag to say that we need to update contentsScale.
      (WebCore::GraphicsLayerCA::recursiveCommitChanges):
      (WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers): After updating
      animations, call updateRootRelativeScale() to update m_rootRelativeScaleFactor.
      (WebCore::GraphicsLayerCA::updateAnimations): We have a side table of animation name to
      TransformationMatrix, so figure out which entries can be removed from that side table,
      and remove them.
      (WebCore::GraphicsLayerCA::setAnimationOnLayer):
      (WebCore::GraphicsLayerCA::appendToUncommittedAnimations): Store the matrices for
      animation endpoints/keyframes in the m_animationTransforms side table. We don't store
      them directly in LayerPropertyAnimation because we just want the final matrix for
      a transform list, and using a side table makes ownership easier to manage.
      (WebCore::GraphicsLayerCA::getTransformFromAnimationsWithMaxScaleImpact):
      goes through the matrices for the running animation endpoints/keyframes, and
      multiplies each with the transform up to this layer to find the matrix with the
      larger impact on scale.
      (WebCore::GraphicsLayerCA::setTransformAnimationEndpoints): Returns a vector
      of TransformationMatrix for the from and to states.
      (WebCore::GraphicsLayerCA::setTransformAnimationKeyframes): Returns a vector
      of TransformationMatrix for the keyframes.
      (WebCore::GraphicsLayerCA::updateContentsScale): Include m_rootRelativeScaleFactor in the
      scale factor computation.
      (WebCore::GraphicsLayerCA::dumpAdditionalProperties): If we're dumping visible rects,
      also dump the contentsScale. Convenient at these are useful to look at together, and I didn't
      want to pollute Internals with yet more flags.
      * platform/graphics/ca/GraphicsLayerCA.h:
      (WebCore::GraphicsLayerCA::LayerPropertyAnimation::LayerPropertyAnimation): Formatting.
      
      LayoutTests:
      
      Reviewed by Dean Jackson.
      
      New tests that dump contentsScale under various scaling scenarios:
      
      * compositing/contents-scale/animating-expected.txt: Added.
      * compositing/contents-scale/animating.html: Added.
      * compositing/contents-scale/scaled-ancestor-expected.txt: Added.
      * compositing/contents-scale/scaled-ancestor.html: Added.
      * compositing/contents-scale/simple-scale-expected.txt: Added.
      * compositing/contents-scale/simple-scale.html: Added.
      * compositing/contents-scale/z-translate-expected.txt: Added.
      * compositing/contents-scale/z-translate.html: Added.
      
      These tests had Mac-specific results (which include visible rects and now
      contents scale) in the cross-platform directory, so cleaned up the cross-platform
      results and moved the Mac results to platform-mac.
      
      * compositing/overflow/clipping-behaviour-change-is-not-propagated-to-descendants-expected.txt:
      * compositing/overflow/clipping-behaviour-change-is-not-propagated-to-descendants2-expected.txt:
      * compositing/visible-rect/2d-transformed-expected.txt:
      * compositing/visible-rect/3d-transform-style-expected.txt:
      * compositing/visible-rect/3d-transformed-expected.txt:
      * compositing/visible-rect/animated-expected.txt:
      * compositing/visible-rect/animated-from-none-expected.txt:
      * compositing/visible-rect/clipped-by-viewport-expected.txt:
      * compositing/visible-rect/clipped-visible-rect-expected.txt:
      * compositing/visible-rect/flipped-preserve-3d-expected.txt:
      * compositing/visible-rect/iframe-and-layers-expected.txt:
      * compositing/visible-rect/nested-transform-expected.txt:
      * compositing/visible-rect/scrolled-expected.txt:
      * platform/mac/compositing/tiling/rotated-tiled-clamped-expected.txt:
      * platform/mac/compositing/tiling/rotated-tiled-preserve3d-clamped-expected.txt:
      * platform/mac/compositing/tiling/tile-cache-zoomed-expected.txt:
      * platform/mac/compositing/visible-rect/2d-transformed-expected.txt: Copied from LayoutTests/compositing/visible-rect/2d-transformed-expected.txt.
      * platform/mac/compositing/visible-rect/3d-transform-style-expected.txt: Copied from LayoutTests/compositing/visible-rect/3d-transform-style-expected.txt.
      * platform/mac/compositing/visible-rect/3d-transformed-expected.txt: Copied from LayoutTests/compositing/visible-rect/3d-transformed-expected.txt.
      * platform/mac/compositing/visible-rect/animated-expected.txt: Copied from LayoutTests/compositing/visible-rect/animated-expected.txt.
      * platform/mac/compositing/visible-rect/animated-from-none-expected.txt: Copied from LayoutTests/compositing/visible-rect/animated-from-none-expected.txt.
      * platform/mac/compositing/visible-rect/clipped-by-viewport-expected.txt: Copied from LayoutTests/compositing/visible-rect/clipped-by-viewport-expected.txt.
      * platform/mac/compositing/visible-rect/clipped-visible-rect-expected.txt: Copied from LayoutTests/compositing/visible-rect/clipped-visible-rect-expected.txt.
      * platform/mac/compositing/visible-rect/flipped-preserve-3d-expected.txt: Copied from LayoutTests/compositing/visible-rect/flipped-preserve-3d-expected.txt.
      * platform/mac/compositing/visible-rect/iframe-and-layers-expected.txt: Copied from LayoutTests/compositing/visible-rect/iframe-and-layers-expected.txt.
      * platform/mac/compositing/visible-rect/iframe-no-layers-expected.txt:
      * platform/mac/compositing/visible-rect/nested-transform-expected.txt: Copied from LayoutTests/compositing/visible-rect/nested-transform-expected.txt.
      * platform/mac/compositing/visible-rect/scrolled-expected.txt: Copied from LayoutTests/compositing/visible-rect/scrolled-expected.txt.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@155977 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0d965ccf
    • commit-queue@webkit.org's avatar
      AX: Expose ARIA Busy Notifications · 95c6f46c
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=121451
      
      Patch by Samuel White <samuel_white@apple.com> on 2013-09-17
      Reviewed by Darin Adler.
      
      Source/WebCore:
      
      Added AXElementBusyChanged notification that posts when aria-busy is toggled. This
      enables screen readers to detect busy states without polling the focused element.
      
      Test: platform/mac/accessibility/element-busy-changed.html
      
      * accessibility/AXObjectCache.cpp:
      (WebCore::AXObjectCache::handleAttributeChanged):
      * accessibility/AXObjectCache.h:
      * accessibility/mac/AXObjectCacheMac.mm:
      (WebCore::AXObjectCache::postPlatformNotification):
      
      LayoutTests:
      
      Added test to verify that elements post AXElementBusyChanged notifications when aria-busy is toggled.
      
      * platform/mac/accessibility/element-busy-changed-expected.txt: Added.
      * platform/mac/accessibility/element-busy-changed.html: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@155976 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      95c6f46c
    • antti@apple.com's avatar
      Add isTextOrBR() and use it · 95087b74
      antti@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=121506
      
      Reviewed by Darin Adler.
      
      It is a popular test.
      
      * dom/Document.cpp:
      (WebCore::Document::updateHoverActiveState):
      * editing/Editor.cpp:
      (WebCore::findFirstMarkable):
      * editing/TextIterator.cpp:
      (WebCore::ignoresContainerClip):
      * rendering/InlineBox.cpp:
      (WebCore::InlineBox::logicalHeight):
      * rendering/InlineIterator.h:
      (WebCore::isIteratorTarget):
      * rendering/RenderBlock.cpp:
      (WebCore::InlineMinMaxIterator::next):
      * rendering/RenderBlockLineLayout.cpp:
      (WebCore::RenderBlockFlow::layoutInlineChildren):
      * rendering/RenderCounter.cpp:
      (WebCore::planCounter):
      * rendering/RenderObject.h:
      (WebCore::RenderObject::isTextOrBR):
      * rendering/RenderTreeAsText.cpp:
      (WebCore::write):
      * rendering/RootInlineBox.cpp:
      (WebCore::RootInlineBox::ascentAndDescentForBox):
      (WebCore::RootInlineBox::verticalPositionForBox):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@155975 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      95087b74
    • rego@igalia.com's avatar
      [CSS Regions] Layout Test for selection direction · 85c067cd
      rego@igalia.com authored
      https://bugs.webkit.org/show_bug.cgi?id=121501
      
      Reviewed by Darin Adler.
      
      Selection follows DOM tree, so the highlighted text in this test case is
      the opposite to what the user is actually selecting. This was not
      working properly from r139197 to r155058, so adding a Layout Test to
      prevent future breaks. It is a reftest comparing regions and absolute
      positions behavior.
      
      * fast/regions/selection-direction-expected.html: Added.
      * fast/regions/selection-direction.html: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@155974 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      85c067cd
    • andersca@apple.com's avatar
      Fix a typo. · 27fee608
      andersca@apple.com authored
      * TestWebKitAPI/Tests/WTF/HashMap.cpp:
      (TestWebKitAPI::TEST):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@155973 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      27fee608
    • antti@apple.com's avatar
      RenderBR should not be RenderText · 963e27e8
      antti@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=121221
      
      Rubber-stamped by Andreas Kling.
              
      Fix assertion in these tests:
      
      fast/repaint/selection-rl.html
      fast/writing-mode/horizontal-bt-replaced-selection.html
      fast/writing-mode/vertical-rl-replaced-selection.html
      
      * rendering/InlineBox.cpp:
      (WebCore::InlineBox::nodeAtPoint):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@155972 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      963e27e8
    • enrica@apple.com's avatar
      Remove unused function didSetSelectionTypesForPasteboard from EditorClient. · 70fbd1e2
      enrica@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=121464
      
      Reviewed by Darin Adler.
      
      Source/WebCore: 
      
      This method was only implemented in WebEditorClient.mm for Mac where it was
      calling a private delegate that is no longer in use.
      This patch removes it for all the platforms.
      I've also removed setTypes and writeAfterSettingTypes from the implementation
      of the Pasteboard class for Mac.
      
      * editing/mac/EditorMac.mm:
      (WebCore::Editor::writeSelectionToPasteboard): Now calls write instead of
      setTypes and writeAfterSettingTypes.
      * loader/EmptyClients.h: Removed didSetSelectionTypesForPasteboard.
      * page/EditorClient.h: Ditto.
      * platform/Pasteboard.h: Removed setTypes and writeAfterSettingTypes.
      * platform/ios/PasteboardIOS.mm:
      (WebCore::Pasteboard::writeSelection): Removed call to didSetSelectionTypesForPasteboard.
      * platform/mac/PasteboardMac.mm:
      (WebCore::Pasteboard::write): Added to replace setTypes and writeAfterSettingTypes.
      
      Source/WebKit/efl: 
      
      * WebCoreSupport/EditorClientEfl.cpp:
      * WebCoreSupport/EditorClientEfl.h:
      
      Source/WebKit/gtk: 
      
      * WebCoreSupport/EditorClientGtk.cpp:
      * WebCoreSupport/EditorClientGtk.h:
      
      Source/WebKit/mac: 
      
      This method was only implemented in WebEditorClient.mm for Mac where it was
      calling a private delegate that is no longer in use.
      
      * DefaultDelegates/WebDefaultEditingDelegate.m:
      * WebCoreSupport/WebEditorClient.h:
      * WebCoreSupport/WebEditorClient.mm:
      * WebView/WebEditingDelegatePrivate.h:
      
      Source/WebKit/qt: 
      
      * WebCoreSupport/EditorClientQt.cpp:
      * WebCoreSupport/EditorClientQt.h:
      
      Source/WebKit/win: 
      
      * WebCoreSupport/WebEditorClient.cpp:
      * WebCoreSupport/WebEditorClient.h:
      
      Source/WebKit/wince: 
      
      * WebCoreSupport/EditorClientWinCE.cpp:
      * WebCoreSupport/EditorClientWinCE.h:
      
      Source/WebKit2: 
      
      * WebProcess/WebCoreSupport/WebEditorClient.cpp:
      * WebProcess/WebCoreSupport/WebEditorClient.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@155971 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      70fbd1e2
    • darin@apple.com's avatar
      Further shrink table-populating code by making the tables read-only data and preventing inlining · 7e8a0c25
      darin@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=121468
      
      Reviewed by Sam Weinig.
      
      * bindings/scripts/StaticString.pm:
      (GenerateStrings): Eliminated the xxxImpl globals. We definitely did not need
      globals for these, much less read-write data. Instead, write the expression at
      each site where we need them.
      (GenerateStringAsserts): This is one such site (see above).
      * css/CSSSelector.cpp:
      (WebCore::populatePseudoTypeByNameMap): Mark this function NEVER_INLINE and
      add static to make sure the table ends up in read-only data.
      * dom/make_names.pl:
      (printDefinitions): Write the xxxImpl expression (see above).
      (printFactoryCppFile): Ditto. Also mark the populate function NEVER_INLINE and
      add static to make sure the table ends up in read-only data.
      (printWrapperFactoryCppFile): Ditto.
      * html/HTMLElement.cpp:
      (WebCore::populateEventNameForAttributeLocalNameMap): Mark this function
      NEVER_INLINE and add static to makes sure the table ends up in read-only data.
      
      * platform/text/UnicodeRange.cpp: Added a const to make this read-only data.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@155970 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7e8a0c25
    • darin@apple.com's avatar
      Shrink SVGElement::cssPropertyIdForSVGAttributeName and cssPropertyToTypeMap · 9599a62d
      darin@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=121499
      
      Reviewed by Andreas Kling.
      
      * svg/SVGElement.cpp:
      (WebCore::populateAttributeNameToCSSPropertyIDMap): Added. Code that used to
      be in SVGElement::cssPropertyIdForSVGAttributeName to build a map that maps
      attribute names to CSS property IDs, but without the multiple unrolled calls
      to HashMap functions.
      (WebCore::populateAttributeNameToAnimatedPropertyTypeMap): Added. Code that
      used to be in cssPropertyToTypeMap, but without the multiple unrolled calls
      to HashMap functions.
      (WebCore::attributeNameToAnimatedPropertyTypeMap): Renamed from
      cssPropertyToTypeMap, a confusingly inaccurate and imprecise name, and
      reimplemented using the populate function.
      (WebCore::SVGElement::animatedPropertyTypeForAttribute): Updated to call
      attributeNameToAnimatedPropertyTypeMap, and also removed the double hashing
      that was done by calling contains followed by get.
      (WebCore::SVGElement::cssPropertyIdForSVGAttributeName): Rewrote to use
      populateAttributeNameToCSSPropertyIDMap.
      (WebCore::SVGElement::isAnimatableCSSProperty): Updated to call the new
      attributeNameToAnimatedPropertyTypeMap.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@155969 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      9599a62d
    • darin@apple.com's avatar
      Make SVGTransform::valueAsString use StringBuilder · dd892baf
      darin@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=121498
      
      Reviewed by Andreas Kling.
      
      Source/WebCore:
      
      * svg/SVGTransform.cpp:
      (WebCore::SVGTransform::valueAsString): Use StringBuilder constently to
      avoid creating temporary String objects that cause additional, slow
      memory allocation.
      
      Source/WTF:
      
      * wtf/text/StringBuilder.cpp: Added appendNumber functions corresponding to all remaining
      String::number functions. If we find we don't need all of these we can delete them later,
      but I don't want to give clients a reason to prefer less-efficient API to StringBuilder.
      * wtf/text/StringBuilder.h: Ditto.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@155968 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      dd892baf
    • darin@apple.com's avatar
      Get rid of a couple unneeded NeverDestroyed::get() calls · 0788b60c
      darin@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=121500
      
      Reviewed by Andreas Kling.
      
      * css/CSSSelector.cpp:
      (WebCore::CSSSelector::parsePseudoType): No need to call get() here.
      * dom/make_names.pl:
      (printFactoryCppFile): Ditto.
      (printWrapperFactoryCppFile): Ditto.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@155967 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0788b60c
    • timothy@apple.com's avatar
      Clean up the Inspector's WebSocket code and prevent it from dropping messages. · d51a806c
      timothy@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=121391
      
      Reviewed by Joseph Pecoraro.
      
      * UserInterface/InspectorFrontendHostStub.js:
      (.WebInspector.InspectorFrontendHostStub.prototype.initializeWebSocket): Added. Create the socket
      and call _sendPendingMessagesToBackendIfNeeded.
      (.WebInspector.InspectorFrontendHostStub.prototype.sendMessageToBackend): Store messages as pending
      if the socket isn't ready yet. Call _sendPendingMessagesToBackendIfNeeded.
      (.WebInspector.InspectorFrontendHostStub.prototype._sendPendingMessagesToBackendIfNeeded): Added.
      * UserInterface/Main.js:
      (WebInspector._initializeWebSocketIfNeeded): Move socket creation to initializeWebSocket.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@155966 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d51a806c
    • hmuller@adobe.com's avatar
      Bad ASSERT() in RasterShapeIntervals::firstIncludedIntervalY() · 1b99cc77
      hmuller@adobe.com authored
      https://bugs.webkit.org/show_bug.cgi?id=121455
      
      Reviewed by Darin Adler.
      
      Source/WebCore:
      
      Corrected a bad ASSERT() introduced in https://bugs.webkit.org/show_bug.cgi?id=120211.
      
      Test: fast/shapes/shape-inside/shape-inside-first-fit-crash.html
      
      * rendering/shapes/RasterShape.cpp:
      (WebCore::RasterShapeIntervals::firstIncludedIntervalY):
      
      LayoutTests:
      
      Simple regression test, it crashes in the bad ASSERT().
      
      * fast/shapes/shape-inside/shape-inside-first-fit-crash-expected.txt: Added.
      * fast/shapes/shape-inside/shape-inside-first-fit-crash.html: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@155965 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1b99cc77
    • hyatt@apple.com's avatar
      Move the line widow functions out of RenderBlock and into RenderBlockFlow. · 2ea5988a
      hyatt@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=121456
      
      Reviewed by Dean Jackson.
      
      * rendering/RenderBlock.cpp:
      * rendering/RenderBlock.h:
      (WebCore::RenderBlock::RenderBlockRareData::RenderBlockRareData):
      * rendering/RenderBlockFlow.cpp:
      (WebCore::RenderBlockFlow::layoutBlockChild):
      (WebCore::calculateMinimumPageHeight):
      (WebCore::RenderBlockFlow::adjustLinePositionForPagination):
      (WebCore::RenderBlockFlow::setBreakAtLineToAvoidWidow):
      (WebCore::RenderBlockFlow::clearShouldBreakAtLineToAvoidWidow):
      (WebCore::RenderBlockFlow::relayoutToAvoidWidows):
      * rendering/RenderBlockFlow.h:
      (WebCore::RenderBlockFlow::RenderBlockFlowRareData::RenderBlockFlowRareData):
      (WebCore::RenderBlockFlow::shouldBreakAtLineToAvoidWidow):
      (WebCore::RenderBlockFlow::lineBreakToAvoidWidow):
      * rendering/RenderBlockLineLayout.cpp:
      (WebCore::RenderBlock::layoutRunsAndFloatsInRange):
      (WebCore::RenderBlock::linkToEndLineIfNeeded):
      (WebCore::RenderBlock::determineStartPosition):
      (WebCore::RenderBlock::checkPaginationAndFloatsAtEndLine):
      * rendering/RenderObject.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@155964 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2ea5988a
    • andersca@apple.com's avatar
      HashMap should work with move-only keys · 393cfc07
      andersca@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=121310
      
      Reviewed by Darin Adler.
      
      Source/WebCore:
      
      Update the call sites now that HashMap::take doesn't return a PassOwnPtr.
      
      * rendering/RenderRegion.cpp:
      (WebCore::RenderRegion::takeRenderBoxRegionInfo):
      * rendering/RenderRegion.h:
      * rendering/svg/RenderSVGResourceContainer.cpp:
      (WebCore::RenderSVGResourceContainer::registerResource):
      * svg/SVGDocumentExtensions.cpp:
      (WebCore::SVGDocumentExtensions::removePendingResource):
      (WebCore::SVGDocumentExtensions::removePendingResourceForRemoval):
      * svg/SVGDocumentExtensions.h:
      
      Source/WTF:
      
      Add extra overloads for add and set where the key is an rvalue reference, but not a
      template parameter rvalue reference. This way we'll coerce the key parameter to have the expected
      type instead of the passed in type, causing map.add(StringImpl::create("Hello"), 123) work when the
      type of map is HashMap<String, unsigned>.
      
      Also, sprinkle && and std::forward where appropriate.
      
      * wtf/HashMap.h:
      * wtf/HashTable.h:
      
      Tools:
      
      * TestWebKitAPI/Tests/WTF/HashMap.cpp:
      (TestWebKitAPI::TEST):
      Add test.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@155963 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      393cfc07
    • antti@apple.com's avatar
      Add RenderObject bit for isBR(). · 4bba7d42
      antti@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=121494
      
      Reviewed by Andreas Kling.
      
      It is no longer piggybacking on isText() flag and is now hot in inline layout.
      
      * rendering/RenderBR.cpp:
      (WebCore::RenderBR::RenderBR):
      * rendering/RenderBR.h:
      * rendering/RenderObject.h:
      (WebCore::RenderObject::isBR):
      (WebCore::RenderObject::setIsBR):
      (WebCore::RenderObject::RenderObjectBitfields::RenderObjectBitfields):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@155962 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4bba7d42
    • akling@apple.com's avatar
      Export some missing symbols for Internals after RenderArena& change. · a37b5591
      akling@apple.com authored
      * WebCore.exp.in:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@155961 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a37b5591
    • kadam@inf.u-szeged.hu's avatar
      [Qt] Unreviewed gardening. Skip and rebase tests. · 55de6350
      kadam@inf.u-szeged.hu authored
      Patch by Gabor Abraham <abrhm@inf.u-szeged.hu> on 2013-09-17
      
      * platform/qt-wk2/TestExpectations:
      * platform/qt-wk2/compositing/geometry/negative-text-indent-with-overflow-hidden-layer-expected.txt: Added r155546.
      * platform/qt-wk2/compositing/overflow/clipping-behaviour-change-is-not-propagated-to-descendants-expected.txt: Added r155607.
      * platform/qt-wk2/compositing/overflow/clipping-behaviour-change-is-not-propagated-to-descendants2-expected.txt: Added r155607.
      * platform/qt-wk2/fast/repaint/negative-text-indent-with-overflow-hidden-expected.txt: Added r155546.
      * platform/qt-wk2/fast/replaced/border-radius-clip-expected.txt: Removed.
      * platform/qt/TestExpectations:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@155960 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      55de6350
    • ch.dumez@sisa.samsung.com's avatar
      Set MessageEvent.source to the newly created port for shared workers' connect events · a4654257
      ch.dumez@sisa.samsung.com authored
      https://bugs.webkit.org/show_bug.cgi?id=121390
      
      Reviewed by Darin Adler.
      
      Source/WebCore:
      
      Set MessageEvent.source to the newly created port for shared workers' connect events
      instead of previously null, as per the latest specification:
      http://www.whatwg.org/specs/web-apps/current-work/multipage/comms.html#dom-messageevent-source
      http://www.whatwg.org/specs/web-apps/current-work/multipage/workers.html#dom-sharedworker
      
      This behavior is consisent with Blink.
      
      Test: fast/workers/shared-worker-messageevent-source.html
      
      * dom/EventTarget.cpp:
      (WebCore::EventTarget::isMessagePort):
      * dom/EventTarget.h:
      * dom/MessageEvent.cpp:
      (WebCore::isValidSource):
      (WebCore::MessageEvent::MessageEvent):
      * dom/MessageEvent.h:
      Use null String instead of an empty String as default value for origin and lastEventId.
      This is more efficient and has no impact on the behavior on the JavaScript since a
      null String is exposed as an empty one on JS side.
      This change is covered by fast/events/constructors/message-event-constructor.html
      * dom/MessageEvent.idl:
      * dom/MessagePort.h:
      * page/DOMWindow.cpp:
      (WebCore::PostMessageTimer::event):
      * workers/SharedWorkerGlobalScope.cpp:
      (WebCore::createConnectEvent):
      
      LayoutTests:
      
      Add layout test to check that MessageEvent.source is set to the newly created port
      for shared workers' connect events.
      
      * fast/events/constructors/message-event-constructor-expected.txt:
      * fast/events/constructors/message-event-constructor.html:
      * fast/workers/resources/messageevent-source.js: Added.
      (onconnect):
      * fast/workers/shared-worker-messageevent-source-expected.txt: Added.
      * fast/workers/shared-worker-messageevent-source.html: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@155959 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a4654257
    • commit-queue@webkit.org's avatar
      Fix Windows CE build on ARM. · 8a5da120
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=121490
      
      Patch by Sergio Martins <sergio.martins@kdab.com> on 2013-09-17
      Reviewed by Darin Adler.
      
      * wtf/dtoa/utils.h:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@155958 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8a5da120
    • antti@apple.com's avatar
      RenderBR should not be RenderText · 9d8157ec
      antti@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=121221
      
      Reviewed by Darin Adler.
      
      Source/WebCore: 
      
      Stop inheriting RenderBR from RenderText and make it be a RenderBoxModelObject instead. RenderBR was one
      of the few cases where Element renderer was a RenderText. This will enable future cleanups.
              
      RenderBR used little of RenderText mechanisms and was already heavily specialized everywhere. Layout code
      didn't care about its text content at all. The new RenderText is also significatly more lightweight
      than the old. As a line box it uses plain InlineBox instead of InlineTextBox.
              
      The patch tries to avoid changing test results though there are a few changed render tree dumps without
      visual effect. There are also two rendering progressions.
      
      * accessibility/AccessibilityRenderObject.cpp:
      (WebCore::AccessibilityRenderObject::textUnderElement):
      (WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored):
      * dom/ContainerNode.cpp:
      (WebCore::ContainerNode::getUpperLeftCorner):
      * dom/Document.cpp:
      (WebCore::Document::updateHoverActiveState):
      * dom/Position.cpp:
      (WebCore::hasInlineBoxWrapper):
      (WebCore::nextRenderedEditable):
      (WebCore::previousRenderedEditable):
      (WebCore::Position::hasRenderedNonAnonymousDescendantsWithHeight):
      (WebCore::Position::getInlineBoxAndOffset):
      * dom/Range.cpp:
      (WebCore::Range::textRects):
      (WebCore::Range::textQuads):
      * editing/ApplyStyleCommand.cpp:
      (WebCore::ApplyStyleCommand::applyInlineStyleToPushDown):
      * editing/Editor.cpp:
      (WebCore::findFirstMarkable):
      * editing/TextIterator.cpp:
      (WebCore::ignoresContainerClip):
      * editing/VisibleUnits.cpp:
      (WebCore::CachedLogicallyOrderedLeafBoxes::previousTextOrLineBreakBox):
      (WebCore::CachedLogicallyOrderedLeafBoxes::nextTextOrLineBreakBox):
      (WebCore::logicallyPreviousBox):
      (WebCore::logicallyNextBox):
      (WebCore::wordBreakIteratorForMinOffsetBoundary):
      (WebCore::wordBreakIteratorForMaxOffsetBoundary):
      * rendering/InlineBox.cpp:
      (WebCore::InlineBox::logicalHeight):
      (WebCore::InlineBox::baselinePosition):
      (WebCore::InlineBox::lineHeight):
      (WebCore::InlineBox::deleteLine):
      (WebCore::InlineBox::extractLine):
      (WebCore::InlineBox::attachLine):
      (WebCore::InlineBox::paint):
      * rendering/InlineBox.h:
      (WebCore::InlineBox::isLineBreak):
      * rendering/InlineFlowBox.cpp:
      (WebCore::InlineFlowBox::computeOverflow):
      * rendering/InlineIterator.h:
      (WebCore::isIteratorTarget):
      * rendering/InlineTextBox.cpp:
      (WebCore::InlineTextBox::lineHeight):
      (WebCore::InlineTextBox::isLineBreak):
      * rendering/RenderBR.cpp:
      (WebCore::RenderBR::RenderBR):
      (WebCore::RenderBR::~RenderBR):
      (WebCore::RenderBR::createAnonymous):
      (WebCore::RenderBR::lineHeight):
      (WebCore::RenderBR::baselinePosition):
      (WebCore::RenderBR::createInlineBox):
      (WebCore::RenderBR::setInlineBoxWrapper):
      (WebCore::RenderBR::replaceInlineBoxWrapper):
      (WebCore::RenderBR::deleteInlineBoxWrapper):
      (WebCore::RenderBR::dirtyLineBoxes):
      (WebCore::RenderBR::caretMinOffset):
      (WebCore::RenderBR::caretMaxOffset):
      (WebCore::RenderBR::canBeSelectionLeaf):
      (WebCore::RenderBR::setSelectionState):
      (WebCore::RenderBR::localCaretRect):
      (WebCore::RenderBR::linesBoundingBox):
      (WebCore::RenderBR::absoluteRects):
      (WebCore::RenderBR::absoluteQuads):
      (WebCore::RenderBR::updateFromStyle):
      (WebCore::RenderBR::borderBoundingBox):
      * rendering/RenderBR.h:
      (WebCore::toRenderBR):
      * rendering/RenderBlock.cpp:
      (WebCore::InlineMinMaxIterator::next):
      (WebCore::RenderBlock::updateFirstLetter):
      * rendering/RenderBlockLineLayout.cpp:
      (WebCore::createInlineBoxForRenderer):
      (WebCore::dirtyLineBoxesForRenderer):
      (WebCore::reachedEndOfTextRenderer):
      (WebCore::RenderBlock::computeBlockDirectionPositionsForLine):
      (WebCore::RenderBlockFlow::layoutInlineChildren):
      (WebCore::requiresLineBox):
      (WebCore::shouldSkipWhitespaceAfterStartObject):
      (WebCore::canBreakAtThisPosition):
      * rendering/RenderInline.cpp:
      (WebCore::RenderInline::generateCulledLineBoxRects):
      (WebCore::RenderInline::culledInlineFirstLineBox):
      (WebCore::RenderInline::culledInlineLastLineBox):
      (WebCore::RenderInline::dirtyLineBoxes):
      * rendering/RenderLineBoxList.cpp:
      (WebCore::RenderLineBoxList::dirtyLinesFromChangedChild):
      * rendering/RenderMenuList.cpp:
      (WebCore::RenderMenuList::RenderMenuList):
      (WebCore::RenderMenuList::styleDidChange):
      (WebCore::RenderMenuList::setText):
      (WebCore::RenderMenuList::text):
      * rendering/RenderMenuList.h:
      * rendering/RenderObject.h:
      (WebCore::RenderObject::isBeforeContent):
      (WebCore::RenderObject::isAfterContent):
      * rendering/RenderObjectChildList.cpp:
      (WebCore::RenderObjectChildList::removeChildNode):
      * rendering/RenderText.cpp:
      (WebCore::RenderText::removeAndDestroyTextBoxes):
      (WebCore::RenderText::computePreferredLogicalWidths):
      (WebCore::RenderText::setTextInternal):
      * rendering/RenderTreeAsText.cpp:
      (WebCore::RenderTreeAsText::writeRenderObject):
      * rendering/RootInlineBox.cpp:
      (WebCore::RootInlineBox::ascentAndDescentForBox):
      (WebCore::RootInlineBox::verticalPositionForBox):
      
      LayoutTests: 
      
      * editing/selection/move-by-word-visually-mac-expected.txt:
              
          This is a progression. A previously failing subtest passes.
      
      * platform/mac/css3/selectors3/html/css3-modsel-179a-expected.txt:
      * platform/mac/css3/selectors3/xhtml/css3-modsel-179a-expected.txt:
      * platform/mac/css3/selectors3/xml/css3-modsel-179a-expected.txt:
              
          Changes in render tree dump that don't affect rendering.
      
      * platform/mac/fast/css/pseudo-first-line-border-width-expected.txt:
              
          This is a progression. The new rendering matches Firefox.
      
      * platform/mac/fast/css/word-space-extra-expected.txt:
      * platform/mac/fast/text/whitespace/pre-wrap-spaces-after-newline-expected.txt:
              
          Changes in render tree dump that don't affect rendering.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@155957 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      9d8157ec