[mac] Keep around more decoded image data, since it's purgeable
<https://webkit.org/b/125273>
<rdar://problem/13205438>

Patch by Tim Horton <timothy_horton@apple.com> on 2014-11-02
Reviewed by Simon Fraser and Andreas Kling.

No new tests, just an optimization.

Instead of throwing away decoded image data eagerly, allow the operating
system to manage the memory via the standard purgeability mechanism,
where it can.

This improves the performance on some pathological cases (extremely large
animated GIFs) by up to 8x.

* loader/cache/MemoryCache.cpp:
(WebCore::MemoryCache::pruneLiveResourcesToSize):
Don't prune live resources' decoded data if it is purgeable.

* platform/graphics/BitmapImage.cpp:
(WebCore::BitmapImage::destroyDecodedDataIfNecessary):
Don't eagerly throw away decoded image data if it's purgeable.

* loader/cache/CachedImage.h:
* loader/cache/CachedResource.h:
(WebCore::CachedResource::decodedDataIsPurgeable):
* platform/graphics/BitmapImage.h:
* platform/graphics/Image.h:
(WebCore::Image::decodedDataIsPurgeable):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@176106 268f45cc-cd09-0410-ab3c-d52691b4dbfc
WK1: Clean up WebActionMenuController to use the _hitTestResult ivar
https://bugs.webkit.org/show_bug.cgi?id=138716
-and corresponding-
rdar://problem/18977222

Reviewed by Tim Horton.

It’s not necessary to use the WebElementDictionary for so many things now that we 
are caching the HitTestResult. We should just use the HitTestResult.

* WebView/WebActionMenuController.mm:
(-[WebActionMenuController prepareForMenu:withEvent:]):
(-[WebActionMenuController _openURLFromActionMenu:]):
(-[WebActionMenuController _addToReadingListFromActionMenu:]):
(elementBoundingBoxFromNode):
(-[WebActionMenuController _quickLookURLFromActionMenu:]):
(-[WebActionMenuController _defaultMenuItemsForLink]):
(-[WebActionMenuController _defaultMenuItemsForImage]):
(-[WebActionMenuController _defaultMenuItemsForVideo]):
(-[WebActionMenuController _defaultMenuItemsForText]):
(-[WebActionMenuController _defaultMenuItemsForEditableText]):
(-[WebActionMenuController _defaultMenuItemsForEditableTextWithSuggestions]):
(-[WebActionMenuController _defaultMenuItemsForWhitespaceInEditableArea]):
(-[WebActionMenuController _createActionMenuItemForTag:]):
(-[WebActionMenuController _defaultMenuItems]):
(-[WebActionMenuController _elementBoundingBoxFromDOMElement:]): Deleted.
(-[WebActionMenuController _defaultMenuItemsForLink:]): Deleted.
(-[WebActionMenuController _defaultMenuItemsForImage:]): Deleted.
(-[WebActionMenuController _defaultMenuItemsForVideo:]): Deleted.
(-[WebActionMenuController _defaultMenuItemsForText:]): Deleted.
(-[WebActionMenuController _defaultMenuItemsForEditableText:]): Deleted.
(-[WebActionMenuController _defaultMenuItemsForEditableTextWithSuggestions:]): Deleted.
(-[WebActionMenuController _defaultMenuItemsForWhitespaceInEditableArea:]): Deleted.
(-[WebActionMenuController _createActionMenuItemForTag:withHitTestResult:]): Deleted.
(-[WebActionMenuController _defaultMenuItemsForHitTestResult:]): Deleted.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@176107 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Context menus should not offer the "Download video" option for videos that cannot 
be downloaded
https://bugs.webkit.org/show_bug.cgi?id=138530
-and corresponding-
rdar://problem/18919130

Patch by Eric Carlson <eric.carlson@apple.com> on 2014-11-13
Reviewed by Tim Horton.

Source/WebCore:

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::parseAttribute):
* html/HTMLMediaElement.h:
* page/ContextMenuController.cpp:
(WebCore::ContextMenuController::populate):
* platform/graphics/MediaPlayer.cpp:
(WebCore::MediaPlayer::canSaveMediaData):
(WebCore::MediaPlayer::supportsSave): Deleted.
* platform/graphics/MediaPlayer.h:
* platform/graphics/MediaPlayerPrivate.h:
(WebCore::MediaPlayerPrivateInterface::supportsFullscreen):
(WebCore::MediaPlayerPrivateInterface::canSaveMediaData):
(WebCore::MediaPlayerPrivateInterface::supportsSave): Deleted.
* platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
(WebCore::MediaPlayerPrivateAVFoundation::resolvedURL):
(WebCore::MediaPlayerPrivateAVFoundation::canSaveMediaData):
* platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::resolvedURL):
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::canSaveMediaData):
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
* platform/graphics/mac/MediaPlayerPrivateQTKit.h:
* platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
(WebCore::MediaPlayerPrivateQTKit::canSaveMediaData):
* rendering/HitTestResult.cpp:
(WebCore::HitTestResult::isDownloadableMedia):

Source/WebKit2:

Expose isDownloadableMedia() to the InjectedBundleHitTestResult.
* WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.cpp:
(WKBundleHitTestResultIsDownloadableMedia):
* WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.h:
* WebProcess/InjectedBundle/InjectedBundleHitTestResult.cpp:
(WebKit::InjectedBundleHitTestResult::isDownloadableMedia):
* WebProcess/InjectedBundle/InjectedBundleHitTestResult.h:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@176108 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Add scope operand to op_new_func* byte codes
https://bugs.webkit.org/show_bug.cgi?id=138707

Reviewed by Mark Lam.

Added scope operand to op_new_func and op_new_func_expr to replace the implicit use
of exec->scope().

* bytecode/BytecodeList.json: Increased size of op_new_func & op_new_func_expr bytecodes.

* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::dumpBytecode): Added scope operand to dump output.

* bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::emitNewFunctionInternal):
(JSC::BytecodeGenerator::emitNewFunctionExpression):
Emit scope operand.

* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::parseBlock):
* dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
Added new scope source nodes to NewFunction, NewFunctionExpression & NewFunctionNoCheck.
        
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileNewFunctionNoCheck):
(JSC::DFG::SpeculativeJIT::compileNewFunctionExpression):
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
Use scope children when making new function JIT_Operation calls.  Use JSScope* value instead of
exec->scope().

* dfg/DFGOperations.h:
* dfg/DFGOperations.cpp:
* dfg/DFGSpeculativeJIT.h:
(JSC::DFG::SpeculativeJIT::callOperation):
* jit/JIT.h:
* jit/JITInlines.h:
(JSC::JIT::callOperation):
* jit/JITOpcodes.cpp:
(JSC::JIT::emit_op_new_func):
(JSC::JIT::emit_op_new_func_exp):
* jit/JITOperations.cpp:
* jit/JITOperations.h:
Added new Jsc JIT_Operation parameter type for JSScope* values.  Created declarations and
definitions for new JIT_Operations with Jsc parameters.  Use the JSScope* parameters in lieu
of exec->scope() in operationNewFunction().
Removed comment for unused Jsa (JSLexicalEnvironment*) JIT_Operation parameter type.

* llint/LLIntSlowPaths.cpp:
(JSC::LLInt::LLINT_SLOW_PATH_DECL):
Use the scope operand instead of exec->scope().

* llint/LowLevelInterpreter.asm:
* llint/LowLevelInterpreter32_64.asm:
* llint/LowLevelInterpreter64.asm:
Changed the operand indecies for added scope operand.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@176109 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed, rolling out r176106.
https://bugs.webkit.org/show_bug.cgi?id=138719

needs build love (Requested by kling on #webkit).

Reverted changeset:

"[mac] Keep around more decoded image data, since it's
purgeable"
https://bugs.webkit.org/show_bug.cgi?id=125273
http://trac.webkit.org/changeset/176106

Patch by Commit Queue <commit-queue@webkit.org> on 2014-11-13

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@176110 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Move 'image-resolution' CSS property to the new StyleBuilder
https://bugs.webkit.org/show_bug.cgi?id=138715

Reviewed by Andreas Kling.

Move 'image-resolution' CSS property from DeprecatedStyleBuilder to
the new StyleBuilder by using custom code.

No new tests, no behavior change.

* css/CSSPropertyNames.in:
* css/DeprecatedStyleBuilder.cpp:
(WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
(WebCore::ApplyPropertyImageResolution::applyInheritValue): Deleted.
(WebCore::ApplyPropertyImageResolution::applyInitialValue): Deleted.
(WebCore::ApplyPropertyImageResolution::applyValue): Deleted.
(WebCore::ApplyPropertyImageResolution::createHandler): Deleted.
* css/StyleBuilderCustom.h:
(WebCore::StyleBuilderFunctions::applyInheritImageResolution):
(WebCore::StyleBuilderFunctions::applyInitialImageResolution):
(WebCore::StyleBuilderFunctions::applyValueImageResolution):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@176111 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Move FontMac and FontCacheMac off of WKSI
https://bugs.webkit.org/show_bug.cgi?id=138633

Patch by Myles C. Maxfield <mmaxfield@apple.com> on 2014-11-13
Reviewed by NOBODY (OOPS!).

Source/WebCore:

No new tests because there is no behavior change.

* WebCore.exp.in:
* WebCore.order:
* WebCore.vcxproj/WebCoreCG.props:
* WebCore.xcodeproj/project.pbxproj:
* platform/graphics/ios/FontCacheIOS.mm:
(WebCore::FontCache::platformInit):
* platform/graphics/mac/FontCacheMac.mm:
(WebCore::FontCache::platformInit):
(WebCore::FontCache::systemFallbackForCharacters):
* platform/graphics/mac/FontMac.mm:
(WebCore::isIntegral):
(WebCore::setCGFontRenderingMode):
(WebCore::Font::drawGlyphs):
* platform/graphics/mac/GlyphPageTreeNodeMac.cpp:
* platform/graphics/win/FontCacheWin.cpp:
(WebCore::FontCache::platformInit):
* platform/ios/WebCoreSystemInterfaceIOS.mm:
* platform/mac/WebCoreSystemInterface.h:
* platform/mac/WebCoreSystemInterface.mm:
* platform/spi/cocoa/CoreGraphicsSPI.h: Copied from Source/WebCore/platform/spi/cocoa/CGFontUnicodeSupportSPI.h.
* platform/spi/cocoa/CoreTextSPI.h:
* platform/spi/mac/NSFontSPI.h: Renamed from Source/WebCore/platform/spi/cocoa/CGFontUnicodeSupportSPI.h.

Source/WebKit/mac:

* WebCoreSupport/WebSystemInterface.mm:
(InitWebCoreSystemInterface):
* WebKit.order:

Source/WebKit2:

* WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
(InitWebCoreSystemInterface):
* mac/WebKit2.order:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@176112 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Rebaseline iOS layout tests
https://bugs.webkit.org/show_bug.cgi?id=138721

Reviewed by Simon Fraser.

Rebaseline many of the failures in compositing tests.

* platform/ios-simulator/compositing/absolute-inside-out-of-view-fixed-expected.txt:
* platform/ios-simulator/compositing/backing/backface-visibility-flip-expected.txt:
* platform/ios-simulator/compositing/backing/backface-visibility-in-3dtransformed-expected.txt:
* platform/ios-simulator/compositing/backing/border-radius-no-backing-expected.txt:
* platform/ios-simulator/compositing/backing/child-layer-no-backing-expected.txt:
* platform/ios-simulator/compositing/backing/filter-no-backing-expected.txt:
* platform/ios-simulator/compositing/backing/inline-block-no-backing-expected.txt:
* platform/ios-simulator/compositing/backing/masked-child-no-backing-expected.txt:
* platform/ios-simulator/compositing/backing/no-backing-for-clip-expected.txt:
* platform/ios-simulator/compositing/backing/no-backing-for-clip-overhang-expected.txt:
* platform/ios-simulator/compositing/backing/no-backing-for-clip-overlap-expected.txt:
* platform/ios-simulator/compositing/backing/no-backing-for-perspective-expected.txt:
* platform/ios-simulator/compositing/backing/replaced-child-no-backing-expected.txt:
* platform/ios-simulator/compositing/backing/whitespace-nodes-no-backing-expected.txt:
* platform/ios-simulator/compositing/bounds-in-flipped-writing-mode-expected.txt:
* platform/ios-simulator/compositing/clip-child-by-non-stacking-ancestor-expected.txt:
* platform/ios-simulator/compositing/columns/ancestor-clipped-in-paginated-expected.txt:
* platform/ios-simulator/compositing/columns/clipped-in-paginated-expected.txt:
* platform/ios-simulator/compositing/columns/composited-columns-expected.txt:
* platform/ios-simulator/compositing/columns/composited-columns-vertical-rl-expected.txt:
* platform/ios-simulator/compositing/columns/composited-in-paginated-expected.txt:
* platform/ios-simulator/compositing/columns/composited-in-paginated-rl-expected.txt:
* platform/ios-simulator/compositing/columns/composited-in-paginated-writing-mode-rl-expected.txt:
* platform/ios-simulator/compositing/columns/composited-lr-paginated-repaint-expected.txt:
* platform/ios-simulator/compositing/columns/composited-nested-columns-expected.txt:
* platform/ios-simulator/compositing/columns/composited-rl-paginated-repaint-expected.txt:
* platform/ios-simulator/compositing/columns/hittest-composited-in-paginated-expected.txt:
* platform/ios-simulator/compositing/columns/rotated-in-paginated-expected.txt:
* platform/ios-simulator/compositing/columns/untransformed-composited-in-paginated-expected.txt:
* platform/ios-simulator/compositing/contents-opaque/background-clip-expected.txt:
* platform/ios-simulator/compositing/contents-opaque/background-color-expected.txt:
* platform/ios-simulator/compositing/contents-opaque/body-background-painted-expected.txt:
* platform/ios-simulator/compositing/contents-opaque/body-background-skipped-expected.txt:
* platform/ios-simulator/compositing/contents-opaque/control-layer-expected.txt:
* platform/ios-simulator/compositing/contents-opaque/filter-expected.txt:
* platform/ios-simulator/compositing/contents-opaque/hidden-with-visible-child-expected.txt:
* platform/ios-simulator/compositing/contents-opaque/hidden-with-visible-text-expected.txt:
* platform/ios-simulator/compositing/contents-opaque/layer-opacity-expected.txt:
* platform/ios-simulator/compositing/contents-opaque/layer-transform-expected.txt:
* platform/ios-simulator/compositing/contents-opaque/overflow-hidden-child-layers-expected.txt:
* platform/ios-simulator/compositing/contents-opaque/visibility-hidden-expected.txt:
* platform/ios-simulator/compositing/contents-scale/animating-expected.txt:
* platform/ios-simulator/compositing/contents-scale/rounded-contents-scale-expected.txt:
* platform/ios-simulator/compositing/contents-scale/scaled-ancestor-expected.txt:
* platform/ios-simulator/compositing/contents-scale/simple-scale-expected.txt:
* platform/ios-simulator/compositing/contents-scale/z-translate-expected.txt:
* platform/ios-simulator/compositing/filters/sw-layer-overlaps-hw-shadow-expected.txt:
* platform/ios-simulator/compositing/filters/sw-nested-shadow-overlaps-hw-nested-shadow-expected.txt:
* platform/ios-simulator/compositing/filters/sw-shadow-overlaps-hw-layer-expected.txt:
* platform/ios-simulator/compositing/filters/sw-shadow-overlaps-hw-shadow-expected.txt:
* platform/ios-simulator/compositing/fixed-image-loading-expected.txt:
* platform/ios-simulator/compositing/geometry/ancestor-overflow-change-expected.txt:
* platform/ios-simulator/compositing/geometry/bounds-clipped-composited-child-expected.txt:
* platform/ios-simulator/compositing/geometry/bounds-ignores-hidden-composited-descendant-expected.txt:
* platform/ios-simulator/compositing/geometry/bounds-ignores-hidden-dynamic-expected.txt:
* platform/ios-simulator/compositing/geometry/bounds-ignores-hidden-dynamic-negzindex-expected.txt:
* platform/ios-simulator/compositing/geometry/bounds-ignores-hidden-expected.txt:
* platform/ios-simulator/compositing/geometry/clip-expected.txt:
* platform/ios-simulator/compositing/geometry/clip-inside-expected.txt:
* platform/ios-simulator/compositing/geometry/composited-in-columns-expected.txt:
* platform/ios-simulator/compositing/geometry/fixed-position-composited-switch-expected.txt:
* platform/ios-simulator/compositing/geometry/flipped-writing-mode-expected.txt:
* platform/ios-simulator/compositing/geometry/foreground-layer-expected.txt:
* platform/ios-simulator/compositing/geometry/layer-due-to-layer-children-deep-switch-expected.txt:
* platform/ios-simulator/compositing/geometry/layer-due-to-layer-children-switch-expected.txt:
* platform/ios-simulator/compositing/geometry/limit-layer-bounds-fixed-expected.txt:
* platform/ios-simulator/compositing/geometry/limit-layer-bounds-fixed-positioned-expected.txt:
* platform/ios-simulator/compositing/geometry/limit-layer-bounds-overflow-root-expected.txt:
* platform/ios-simulator/compositing/geometry/limit-layer-bounds-positioned-expected.txt:
* platform/ios-simulator/compositing/geometry/limit-layer-bounds-positioned-transition-expected.txt:
* platform/ios-simulator/compositing/geometry/limit-layer-bounds-transformed-expected.txt:
* platform/ios-simulator/compositing/geometry/limit-layer-bounds-transformed-overflow-expected.txt:
* platform/ios-simulator/compositing/geometry/negative-text-indent-with-overflow-hidden-layer-expected.txt:
* platform/ios-simulator/compositing/geometry/preserve-3d-switching-expected.txt:
* platform/ios-simulator/compositing/geometry/vertical-scroll-composited-expected.txt:
* platform/ios-simulator/compositing/iframes/become-composited-nested-iframes-expected.txt:
* platform/ios-simulator/compositing/iframes/become-overlapped-iframe-expected.txt:
* platform/ios-simulator/compositing/iframes/composited-parent-iframe-expected.txt:
* platform/ios-simulator/compositing/iframes/connect-compositing-iframe-delayed-expected.txt:
* platform/ios-simulator/compositing/iframes/connect-compositing-iframe-expected.txt:
* platform/ios-simulator/compositing/iframes/connect-compositing-iframe2-expected.txt:
* platform/ios-simulator/compositing/iframes/connect-compositing-iframe3-expected.txt:
* platform/ios-simulator/compositing/iframes/enter-compositing-iframe-expected.txt:
* platform/ios-simulator/compositing/iframes/iframe-resize-expected.txt:
* platform/ios-simulator/compositing/iframes/iframe-size-from-zero-expected.txt:
* platform/ios-simulator/compositing/iframes/iframe-size-to-zero-expected.txt: Progression.
* platform/ios-simulator/compositing/iframes/iframe-src-change-expected.txt: Progression.
* platform/ios-simulator/compositing/iframes/invisible-nested-iframe-hide-expected.txt:
* platform/ios-simulator/compositing/iframes/leave-compositing-iframe-expected.txt:
* platform/ios-simulator/compositing/iframes/overlapped-iframe-expected.txt:
* platform/ios-simulator/compositing/iframes/overlapped-iframe-iframe-expected.txt:
* platform/ios-simulator/compositing/iframes/overlapped-nested-iframes-expected.txt:
* platform/ios-simulator/compositing/iframes/page-cache-layer-tree-expected.txt:
* platform/ios-simulator/compositing/iframes/resizer-expected.txt:
* platform/ios-simulator/compositing/iframes/scrolling-iframe-expected.txt:
* platform/ios-simulator/compositing/images/clip-on-directly-composited-image-expected.txt:
* platform/ios-simulator/compositing/layer-creation/animation-overlap-with-children-expected.txt:
* platform/ios-simulator/compositing/layer-creation/fixed-position-and-transform-expected.txt:
* platform/ios-simulator/compositing/layer-creation/fixed-position-change-out-of-view-in-view-expected.txt:
* platform/ios-simulator/compositing/layer-creation/fixed-position-out-of-view-expected.txt:
* platform/ios-simulator/compositing/layer-creation/fixed-position-out-of-view-scaled-expected.txt:
* platform/ios-simulator/compositing/layer-creation/fixed-position-out-of-view-scaled-scroll-expected.txt:
* platform/ios-simulator/compositing/layer-creation/fixed-position-transformed-into-view-expected.txt:
* platform/ios-simulator/compositing/layer-creation/fixed-position-under-transform-expected.txt:
* platform/ios-simulator/compositing/layer-creation/no-compositing-for-fixed-position-under-transform-expected.txt:
* platform/ios-simulator/compositing/layer-creation/no-compositing-for-preserve-3d-expected.txt:
* platform/ios-simulator/compositing/layer-creation/no-compositing-for-sticky-expected.txt:
* platform/ios-simulator/compositing/layer-creation/overflow-scroll-overlap-expected.txt:
* platform/ios-simulator/compositing/layer-creation/overlap-child-layer-expected.txt:
* platform/ios-simulator/compositing/layer-creation/overlap-clipping-expected.txt:
* platform/ios-simulator/compositing/layer-creation/overlap-transformed-3d-expected.txt:
* platform/ios-simulator/compositing/layer-creation/overlap-transformed-and-clipped-expected.txt:
* platform/ios-simulator/compositing/layer-creation/overlap-transformed-layer-expected.txt:
* platform/ios-simulator/compositing/layer-creation/overlap-transformed-preserved-3d-expected.txt:
* platform/ios-simulator/compositing/layer-creation/overlap-transforms-expected.txt:
* platform/ios-simulator/compositing/layer-creation/rotate3d-overlap-expected.txt:
* platform/ios-simulator/compositing/layer-creation/scroll-partial-update-expected.txt:
* platform/ios-simulator/compositing/layer-creation/stacking-context-overlap-expected.txt:
* platform/ios-simulator/compositing/layer-creation/stacking-context-overlap-nested-expected.txt:
* platform/ios-simulator/compositing/layer-creation/translatez-overlap-expected.txt:
* platform/ios-simulator/compositing/masks/mask-layer-size-expected.txt:
* platform/ios-simulator/compositing/overflow-trumps-transform-style-expected.txt:
* platform/ios-simulator/compositing/overflow/automatically-opt-into-composited-scrolling-expected.txt: Progression.
* platform/ios-simulator/compositing/overflow/clip-descendents-expected.txt:
* platform/ios-simulator/compositing/overflow/clipping-behaviour-change-is-not-propagated-to-descendants-expected.txt:
* platform/ios-simulator/compositing/overflow/clipping-behaviour-change-is-not-propagated-to-descendants2-expected.txt:
* platform/ios-simulator/compositing/overflow/content-gains-scrollbars-expected.txt:
* platform/ios-simulator/compositing/overflow/content-loses-scrollbars-expected.txt:
* platform/ios-simulator/compositing/overflow/overflow-auto-with-touch-expected.txt:
* platform/ios-simulator/compositing/overflow/overflow-auto-with-touch-toggle-expected.txt:
* platform/ios-simulator/compositing/overflow/overflow-overlay-with-touch-expected.txt:
* platform/ios-simulator/compositing/overflow/overflow-scrollbar-layer-positions-expected.txt:
* platform/ios-simulator/compositing/overflow/overflow-scrollbar-layers-expected.txt:
* platform/ios-simulator/compositing/overflow/resize-painting-expected.txt:
* platform/ios-simulator/compositing/regions/fixed-in-named-flow-clip-descendant-expected.txt:
* platform/ios-simulator/compositing/regions/fixed-in-named-flow-expected.txt:
* platform/ios-simulator/compositing/regions/fixed-in-named-flow-from-abs-in-named-flow-expected.txt:
* platform/ios-simulator/compositing/regions/fixed-in-named-flow-from-outflow-expected.txt:
* platform/ios-simulator/compositing/regions/fixed-in-named-flow-got-transformed-parent-expected.txt:
* platform/ios-simulator/compositing/regions/fixed-in-named-flow-lost-transformed-parent-expected.txt:
* platform/ios-simulator/compositing/regions/fixed-in-named-flow-overlap-composited-expected.txt:
* platform/ios-simulator/compositing/regions/fixed-in-named-flow-transformed-parent-expected.txt:
* platform/ios-simulator/compositing/regions/fixed-transformed-in-named-flow-expected.txt:
* platform/ios-simulator/compositing/repaint/absolute-painted-into-composited-ancestor-expected.txt:
* platform/ios-simulator/compositing/repaint/become-overlay-composited-layer-expected.txt:
* platform/ios-simulator/compositing/repaint/fixed-background-scroll-expected.txt:
* platform/ios-simulator/compositing/repaint/invalidations-on-composited-layers-expected.txt:
* platform/ios-simulator/compositing/repaint/positioned-movement-expected.txt:
* platform/ios-simulator/compositing/repaint/repaint-on-layer-grouping-change-expected.txt:
* platform/ios-simulator/compositing/repaint/resize-repaint-expected.txt:
* platform/ios-simulator/compositing/rtl/rtl-absolute-expected.txt:
* platform/ios-simulator/compositing/rtl/rtl-absolute-overflow-expected.txt:
* platform/ios-simulator/compositing/rtl/rtl-absolute-overflow-scrolled-expected.txt:
* platform/ios-simulator/compositing/rtl/rtl-fixed-expected.txt:
* platform/ios-simulator/compositing/rtl/rtl-fixed-overflow-expected.txt:
* platform/ios-simulator/compositing/rtl/rtl-fixed-overflow-scrolled-expected.txt:
* platform/ios-simulator/compositing/rtl/rtl-iframe-absolute-expected.txt:
* platform/ios-simulator/compositing/rtl/rtl-iframe-absolute-overflow-expected.txt:
* platform/ios-simulator/compositing/rtl/rtl-iframe-fixed-expected.txt:
* platform/ios-simulator/compositing/rtl/rtl-iframe-relative-expected.txt:
* platform/ios-simulator/compositing/rtl/rtl-relative-expected.txt:
* platform/ios-simulator/compositing/scrolling/touch-scroll-to-clip-expected.txt:
* platform/ios-simulator/compositing/tiled-layers-hidpi-expected.txt:
* platform/ios-simulator/compositing/tiling/backface-preserve-3d-tiled-expected.txt:
* platform/ios-simulator/compositing/tiling/crash-reparent-tiled-layer-expected.txt:
* platform/ios-simulator/compositing/tiling/huge-layer-add-remove-child-expected.txt:
* platform/ios-simulator/compositing/tiling/huge-layer-img-expected.txt:
* platform/ios-simulator/compositing/tiling/huge-layer-with-layer-children-expected.txt:
* platform/ios-simulator/compositing/tiling/huge-layer-with-layer-children-resize-expected.txt:
* platform/ios-simulator/compositing/tiling/rotated-tiled-clamped-expected.txt:
* platform/ios-simulator/compositing/tiling/rotated-tiled-preserve3d-clamped-expected.txt:
* platform/ios-simulator/compositing/tiling/tile-cache-zoomed-expected.txt:
* platform/ios-simulator/compositing/tiling/tiled-layer-resize-expected.txt:
* platform/ios-simulator/compositing/visibility/layer-visible-content-expected.txt:
* platform/ios-simulator/compositing/visibility/visibility-image-layers-dynamic-expected.txt:
* platform/ios-simulator/compositing/visible-rect/2d-transformed-expected.txt:
* platform/ios-simulator/compositing/visible-rect/3d-transform-style-expected.txt:
* platform/ios-simulator/compositing/visible-rect/3d-transformed-expected.txt:
* platform/ios-simulator/compositing/visible-rect/clipped-by-viewport-expected.txt:
* platform/ios-simulator/compositing/visible-rect/clipped-visible-rect-expected.txt:
* platform/ios-simulator/compositing/visible-rect/flipped-preserve-3d-expected.txt:
* platform/ios-simulator/compositing/visible-rect/iframe-and-layers-expected.txt:
* platform/ios-simulator/compositing/visible-rect/nested-transform-expected.txt:
* platform/ios-simulator/compositing/visible-rect/scrolled-expected.txt:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@176113 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Addressing post-review comment
https://bugs.webkit.org/show_bug.cgi?id=138633

* platform/spi/cg/CoreGraphicsSPI.h:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@176114 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[mac] Keep around more decoded image data, since it's purgeable
https://bugs.webkit.org/show_bug.cgi?id=125273
<rdar://problem/13205438>

Reviewed by Simon Fraser.

No new tests, just an optimization.

Instead of throwing away decoded image data eagerly, allow the operating
system to manage the memory via the standard purgeability mechanism,
where it can.

This improves the performance on some pathological cases (extremely large
animated GIFs) by up to 8x.

* loader/cache/MemoryCache.cpp:
(WebCore::MemoryCache::pruneLiveResourcesToSize):
Don't prune live resources' decoded data if it is purgeable.

* platform/graphics/BitmapImage.cpp:
(WebCore::BitmapImage::destroyDecodedDataIfNecessary):
Don't eagerly throw away decoded image data if it's purgeable.

* loader/cache/CachedImage.h:
* loader/cache/CachedResource.h:
(WebCore::CachedResource::decodedDataIsPurgeable):
* platform/graphics/BitmapImage.h:
* platform/graphics/Image.h:
(WebCore::Image::decodedDataIsPurgeable):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@176115 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Two WKWebView internal methods are implemented in a category
https://bugs.webkit.org/show_bug.cgi?id=138728

Reviewed by Tim HOrton.

Moved the implementations from the category to the class.

* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _ignoresNonWheelMouseEvents]):
(-[WKWebView _setIgnoresNonWheelMouseEvents:]):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@176116 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Remove some ineffective entries.

* platform/mac/TestExpectations: Remove entries that were meant to override other
ones, but don't.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@176117 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed build fix for the GTK+ port using Clang.

* UIProcess/gtk/RedirectedXCompositeWindow.h: Include the <functional>
header for the use of std::function<>.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@176118 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[SOUP] Encode/Decode allowCookies in ResourceRequest
https://bugs.webkit.org/show_bug.cgi?id=138730

Reviewed by Sergio Villar Senin.

We are not sending this information to the network process, making
cookies always available. Fixes
http/tests/xmlhttprequest/cross-origin-no-authorization.html when
network process is enabled.

* Shared/soup/WebCoreArgumentCodersSoup.cpp:
(IPC::ArgumentCoder<ResourceRequest>::encodePlatformData):
(IPC::ArgumentCoder<ResourceRequest>::decodePlatformData):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@176119 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[SOUP] Use GMainLoopSource for request timeout in ResourceHandle
https://bugs.webkit.org/show_bug.cgi?id=138695

Reviewed by Sergio Villar Senin.

We are currently using soup_timeout_add() that simply creates a
GSource and attaches it to the given context. Using
GMainLoopSource we simplify the code and fix any potential problem
of converting the double value into milliseconds.

* platform/network/ResourceHandleInternal.h:
* platform/network/soup/ResourceHandleSoup.cpp:
(WebCore::cleanupSoupRequestOperation):
(WebCore::ResourceHandle::sendPendingRequest):
(WebCore::ResourceHandle::platformSetDefersLoading):
(WebCore::requestTimeoutCallback): Deleted.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@176120 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed GTK+ gardening. Skip http/tests/appcache/auth.html after r175776.

Appcache manifest is still downloaded in the WebProcess.

* platform/gtk/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@176121 268f45cc-cd09-0410-ab3c-d52691b4dbfc
AX: Improve AccessibilityTableCell isColumnHeaderCell function.
https://bugs.webkit.org/show_bug.cgi?id=138423

Patch by Andrzej Badowski <a.badowski@samsung.com> on 2014-11-14
Reviewed by Chris Fleizach.

Source/WebCore:

<th> cell in the zero row should be column header.

New tests are not necessary.

* accessibility/AccessibilityTableCell.cpp:
(WebCore::AccessibilityTableCell::isColumnHeaderCell):

LayoutTests:

Files of expected type are adapted to changes in the code of the function.

* accessibility/table-cells-roles-expected.txt:
* platform/efl/accessibility/table-attributes-expected.txt:
* platform/efl/accessibility/table-cells-expected.txt:
* platform/gtk/accessibility/table-attributes-expected.txt:
* platform/gtk/accessibility/table-cells-expected.txt:
* platform/mac/accessibility/table-attributes-expected.txt:
* platform/mac/accessibility/table-cells-expected.txt:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@176122 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Simple line layout: Move simple line layout RunResolver and LineResolver implementation to SimpleLineLayoutResolver.cpp
https://bugs.webkit.org/show_bug.cgi?id=138704

Reviewed by Antti Koivisto.

No change in functionality.

* CMakeLists.txt:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:
* rendering/SimpleLineLayoutResolver.cpp: Added.
(WebCore::SimpleLineLayout::RunResolver::Run::Run):
(WebCore::SimpleLineLayout::RunResolver::Run::rect):
(WebCore::SimpleLineLayout::RunResolver::Run::baseline):
(WebCore::SimpleLineLayout::RunResolver::Run::text):
(WebCore::SimpleLineLayout::RunResolver::Iterator::Iterator):
(WebCore::SimpleLineLayout::RunResolver::Iterator::advance):
(WebCore::SimpleLineLayout::RunResolver::Iterator::advanceLines):
(WebCore::SimpleLineLayout::RunResolver::RunResolver):
(WebCore::SimpleLineLayout::RunResolver::lineIndexForHeight):
(WebCore::SimpleLineLayout::RunResolver::rangeForRect):
(WebCore::SimpleLineLayout::LineResolver::Iterator::Iterator):
(WebCore::SimpleLineLayout::LineResolver::Iterator::operator*):
(WebCore::SimpleLineLayout::LineResolver::LineResolver):
* rendering/SimpleLineLayoutResolver.h:
(WebCore::SimpleLineLayout::RunResolver::Run::Run): Deleted.
(WebCore::SimpleLineLayout::RunResolver::Run::rect): Deleted.
(WebCore::SimpleLineLayout::RunResolver::Run::baseline): Deleted.
(WebCore::SimpleLineLayout::RunResolver::Run::text): Deleted.
(WebCore::SimpleLineLayout::RunResolver::Iterator::Iterator): Deleted.
(WebCore::SimpleLineLayout::RunResolver::Iterator::advance): Deleted.
(WebCore::SimpleLineLayout::RunResolver::Iterator::advanceLines): Deleted.
(WebCore::SimpleLineLayout::RunResolver::RunResolver): Deleted.
(WebCore::SimpleLineLayout::RunResolver::lineIndexForHeight): Deleted.
(WebCore::SimpleLineLayout::RunResolver::rangeForRect): Deleted.
(WebCore::SimpleLineLayout::LineResolver::Iterator::Iterator): Deleted.
(WebCore::SimpleLineLayout::LineResolver::Iterator::operator*): Deleted.
(WebCore::SimpleLineLayout::LineResolver::LineResolver): Deleted.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@176123 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Table rows repaint entire table when their background color changes.
https://bugs.webkit.org/show_bug.cgi?id=26662

Reviewed by Simon Fraser.

Added fast/repaint/table-row-repaint.html

Source/WebCore:

* rendering/RenderTableCell.h:
* rendering/RenderTableRow.cpp:
(WebCore::RenderTableRow::clippedOverflowRectForRepaint):
Improve table row's function to unite with the cell rects that can possibly
have the the row's background color painted behind them.

LayoutTests:

* fast/repaint/table-row-repaint-expected.txt: Added.
* fast/repaint/table-row-repaint.html: Added.
* platform/mac/accessibility/table-detection-expected.txt:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@176124 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Many (most?)  transitions tests are very flaky, frequently failing all at once
https://bugs.webkit.org/show_bug.cgi?id=137883

* TestExpectations:
* platform/mac/TestExpectations:
Add more affected tests to unbreak EWS.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@176125 268f45cc-cd09-0410-ab3c-d52691b4dbfc