commit-queue@webkit.org [Wed, 27 May 2015 04:18:04 +0000 (04:18 +0000)]
An SVG with no intrinsic size does not draw correct slices when used as a border-image for an HTML element.
https://bugs.webkit.org/show_bug.cgi?id=139405
Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2015-05-26
Reviewed by Darin Adler.
LayoutTests/imported/mozilla:
* svg/as-image/border-image-simple-2.html: Add "border: 0px none;" to
style of the <div> although the style has "border-image: url() 0 fill;".
If the border width is not set to zero in the style, the <div> will have
a 3px border. This seems to be a bug in WebKit but should be unrelated to
the non-intrinsic-sized images with border-image.
Source/WebCore:
When using a non-intrinsic-sized image as an image-border, all the source
slices have to be extracted from the top-left corner of the source image.
This is because the right and bottom sides of the image can not be known.
Also all the slices should not be stretched. In other words, the sizes of
source slices for a non-intrinsic-sized image should be equal to the sizes
of the destination container slices.
This is not compliant with the css3 w3c specs. I think the specs makes it
harder to predict what exactly will be drawn for the image-border in this
case. See http://www.w3.org/TR/css3-background/#border-image-slice. This
approach is implemented by FireFox. And I think it gives a more predictable
rendering for image-border in the case of non-intrinsic-sized images.
Test: fast/borders/border-image-fill-no-intrinsic-size.html
* CMakeLists.txt:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:
* platform/LengthBox.cpp: Removed.
* platform/graphics/LayoutBoxExtent.cpp: Removed.
* platform/graphics/LayoutBoxExtent.h: Removed.
* platform/graphics/LayoutRect.h:
Delete LengthBox.cpp and move all the functionalities to LengthBox.h.
Delete LayoutBoxExtent.cpp since it is the same class as LengthBox.
* css/CSSProperty.cpp:
* platform/text/WritingMode.h:
Move the enums LogicalBoxSide and PhysicalBoxSide
from CSSProperty.cpp to WritingMode.h so it can be used by other classes.
* css/CSSToStyleMap.cpp:
(WebCore::CSSToStyleMap::mapNinePieceImageSlice):
(WebCore::CSSToStyleMap::mapNinePieceImageQuad):
* css/CSSToStyleMap.h:
* inspector/InspectorOverlay.cpp:
(WebCore::buildRendererHighlight):
* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::addBorderOutsetVisualOverflow):
* rendering/RenderBox.h:
(WebCore::RenderBox::marginLogicalLeft):
(WebCore::RenderBox::marginLogicalRight):
(WebCore::RenderBox::setMarginBefore):
(WebCore::RenderBox::setMarginAfter):
(WebCore::RenderBox::setMarginStart):
(WebCore::RenderBox::setMarginEnd):
* rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::setClip):
(WebCore::RenderStyle::noneDashboardRegions):
* rendering/style/RenderStyle.h:
Use the new BoxExtent access methods for getting and settings the sides of
LengthBox and LayoutBoxExtent.
* platform/LengthBox.h:
(WebCore::BoxExtent::BoxExtent):
(WebCore::BoxExtent::at):
(WebCore::BoxExtent::top):
(WebCore::BoxExtent::right):
(WebCore::BoxExtent::bottom):
(WebCore::BoxExtent::left):
(WebCore::BoxExtent::setAt):
(WebCore::BoxExtent::setTop):
(WebCore::BoxExtent::setRight):
(WebCore::BoxExtent::setBottom):
(WebCore::BoxExtent::setLeft):
(WebCore::BoxExtent::before):
(WebCore::BoxExtent::end):
(WebCore::BoxExtent::after):
(WebCore::BoxExtent::start):
(WebCore::BoxExtent::setBefore):
(WebCore::BoxExtent::setEnd):
(WebCore::BoxExtent::setAfter):
(WebCore::BoxExtent::setStart):
(WebCore::BoxExtent::operator==):
(WebCore::BoxExtent::operator!=):
(WebCore::LengthBox::LengthBox):
(WebCore::LengthBox::isZero):
(WebCore::LengthBox::left): Deleted.
(WebCore::LengthBox::right): Deleted.
(WebCore::LengthBox::top): Deleted.
(WebCore::LengthBox::bottom): Deleted.
(WebCore::LengthBox::operator==): Deleted.
(WebCore::LengthBox::operator!=): Deleted.
(WebCore::LengthBox::nonZero): Deleted.
Define a new template class for 'BoxExtent'. A 'BoxExtent' represents the
extent of four sides of a box. Use this class template to define the exiting
classes 'LengthBox' and 'LayoutBoxExtent'. Use it also to and define the
new class FloatBoxExtent
* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::calculateImageIntrinsicDimensions):
* rendering/RenderBoxModelObject.h:
(WebCore::RenderBoxModelObject::calculateFillTileSize):
* rendering/RenderListMarker.cpp:
(WebCore::RenderListMarker::updateContent):
* rendering/shapes/ShapeOutsideInfo.cpp:
(WebCore::ShapeOutsideInfo::createShapeForImage):
Change the return value of calculateImageIntrinsicDimensions() to be a
bool which indicates whether the image has an intrinsic size or not. Add
a new reference argument to this function receive the resolved image size.
(WebCore::RenderBoxModelObject::paintNinePieceImage): Move all the painting
code of this function to NinePieceImage::paint()
(WebCore::computeBorderImageSide): Deleted.
Renamed to be NinePieceImage::computeSlice().
* rendering/style/BorderData.h:
(WebCore::BorderData::borderWidth): Add a new method to return the extents
of the border in a FloatBoxExtent.
* rendering/style/NinePieceImage.cpp:
(WebCore::NinePieceImage::computeSlice): Moved from NinePieceImage::computeSlice().
(WebCore::NinePieceImage::computeSlices): The first version of this function
computes the slices given their lengths. The slices have to be clamped to
the container size. The second version of this function computes the slices
given their lengths, their actual extents and their source slices.
(WebCore::NinePieceImage::scaleSlicesIfNeeded): Reduce the slices if they
are too large.
(WebCore::NinePieceImage::isEmptyPieceRect): Returns true if an ImagePiece
should not be drawn.
(WebCore::NinePieceImage::horizontalTileRules):
(WebCore::NinePieceImage::verticalTileRules):
Fill vectors of tiling rules to be passed to GraphicsContext::drawTiledImage()
(WebCore::NinePieceImage::computeIntrinsicRects): Computes the nine pieces
rectangles for an intrinsic-sized container.
(WebCore::NinePieceImage::computeNonIntrinsicRects): Computes the nine
pieces rectangles for an non-intrinsic-sized source image. The computed
rectangles have to start at (0, 0) and their sizes should be equal to
the sizes of the nine pieces rectangles of the destination container.
(WebCore::NinePieceImage::computeIntrinsicSideTileScale):
(WebCore::NinePieceImage::computeIntrinsicMiddleTileScale):
(WebCore::NinePieceImage::computeIntrinsicTileScales):
(WebCore::NinePieceImage::computeNonIntrinsicTileScales):
Computes the scaling factors for drawing the tiles. For non-intrinsic source
images, there should not be any scaling factors.
(WebCore::NinePieceImage::paint): Moved from RenderBoxModelObject::paintNinePieceImage()
but simplified and restructured.
(WebCore::NinePieceImageData::NinePieceImageData): Use nullptr instead of 0.
* rendering/style/NinePieceImage.h:
(WebCore::operator++):
(WebCore::isCornerPiece):
(WebCore::isMiddlePiece):
(WebCore::imagePieceHorizontalSide):
(WebCore::imagePieceVerticalSide):
Add helper functions for the enum ImagePiece.
LayoutTests:
* fast/borders/border-image-fill-no-intrinsic-size-expected.html: Added.
* fast/borders/border-image-fill-no-intrinsic-size.html: Added.
* fast/borders/resources/svg-border-100x100-intrinsic.svg: Added.
* fast/borders/resources/svg-border-140x140-intrinsic.svg: Added.
* fast/borders/resources/svg-border-no-intrinsic.svg: Added.
Make sure the slices of the border-image are drawn correctly. When using an
image with no intrinsic size, all the slices has to be gotten from (0, 0)
of the source image.
* TestExpectations: Removed previously-failing test.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@184895
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
akling@apple.com [Wed, 27 May 2015 04:13:54 +0000 (04:13 +0000)]
<font face> doesn't support plus character in font family names.
<https://webkit.org/b/145400>
<rdar://problem/
21097484>
Reviewed by Darin Adler.
Source/WebCore:
Turn CSSParser::parseFontFaceValue() into a fast-path parser for
<font face> attributes.
Going through the full CSS parser was hurting us here, as it would
misunderstand unquoted family names and choke on e.g '+'.
Test: fast/dom/HTMLFontElement/face-attribute.html
* css/CSSParser.cpp:
(WebCore::CSSParser::parseFontFaceValue):
LayoutTests:
Add a little test for <font face> attributes to cover this problem
and some other interesting cases with spaces and commas.
* fast/dom/HTMLFontElement/face-attribute-expected.txt: Added.
* fast/dom/HTMLFontElement/face-attribute.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@184894
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Wed, 27 May 2015 02:44:40 +0000 (02:44 +0000)]
Add a symlink for every file inside /S/L/F/WebKit.framework to the PrivateFrameworks mirror.
rdar://problem/
21111232.
Reviewed by Dan Bernstein.
* WebKit2.xcodeproj/project.pbxproj:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@184893
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Wed, 27 May 2015 01:08:29 +0000 (01:08 +0000)]
[EFL] webview should be updated from (0,0) when using the evasGL.
https://bugs.webkit.org/show_bug.cgi?id=137948
Patch by Hunseop Jeong <hs85.jeong@samsung.com> on 2015-05-26
Reviewed by Gyuyoung Kim.
Changed the point of the start position to update the evasObject
correctly when using the evasGL for graphics backend.
* UIProcess/API/efl/EwkView.cpp:
(EwkView::displayTimerFired):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@184892
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cfleizach@apple.com [Wed, 27 May 2015 00:54:38 +0000 (00:54 +0000)]
AX: display:none content exposed to accessibility when aria-hidden is toggled on ancestor element
https://bugs.webkit.org/show_bug.cgi?id=139142
Reviewed by Darin Adler.
* platform/mac/accessibility/aria-hidden-false-works-in-subtrees-expected.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@184891
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cfleizach@apple.com [Wed, 27 May 2015 00:53:00 +0000 (00:53 +0000)]
AX: display:none content exposed to accessibility when aria-hidden is toggled on ancestor element
https://bugs.webkit.org/show_bug.cgi?id=139142
Reviewed by Darin Adler.
Source/WebCore:
Amend the code that determines when an invisible, but aria-hidden=false, element is exposed to accessibility.
The new guideline is that you must have aria-hidden=false on every node that is not rendered (except text which inherits)
otherwise the element will not be visible.
Modified existing test: accessibility/aria-hidden-false-works-in-subtrees.html
* accessibility/AXObjectCache.cpp:
(WebCore::isNodeAriaVisible):
(WebCore::AXObjectCache::rootWebArea):
LayoutTests:
* accessibility/aria-hidden-false-works-in-subtrees.html:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@184890
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
roger_fong@apple.com [Wed, 27 May 2015 00:18:58 +0000 (00:18 +0000)]
Enable element unsigned index in WebGL2 again.
https://bugs.webkit.org/show_bug.cgi?id=145392
<rdar://problem/
21112585>.
Reviewed by Dean Jackson.
* html/canvas/WebGLRenderingContextBase.cpp:
(WebCore::WebGLRenderingContextBase::validateDrawElements):
Fix some incorrect logic that disables the feature for WebGL2.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@184889
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cdumez@apple.com [Wed, 27 May 2015 00:05:52 +0000 (00:05 +0000)]
Add assertions to make sure pages in the PageCache are not loading
https://bugs.webkit.org/show_bug.cgi?id=145397
<rdar://problem/
20613631>
Reviewed by Antti Koivisto.
Add assertions to make sure pages in the PageCache are not loading.
These will hopefully help track down why PacheCache entries sometimes
have pending subresource loads when being destroyed.
* history/CachedFrame.cpp:
(WebCore::CachedFrame::CachedFrame):
* loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::stopLoadingSubresources):
(WebCore::DocumentLoader::addSubresourceLoader):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@184888
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Tue, 26 May 2015 23:11:13 +0000 (23:11 +0000)]
Web Inspector: Function parameter string parsing improperly handles empty parameter list
https://bugs.webkit.org/show_bug.cgi?id=145391
Patch by Joseph Pecoraro <pecoraro@apple.com> on 2015-05-26
Reviewed by Darin Adler.
* UserInterface/Views/ObjectTreePropertyTreeElement.js:
(WebInspector.ObjectTreePropertyTreeElement.prototype._functionParameterString):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@184887
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Tue, 26 May 2015 23:00:44 +0000 (23:00 +0000)]
Unreviewed, rolling out r184872.
https://bugs.webkit.org/show_bug.cgi?id=145396
Bindings tests broken on the bots. (Requested by dethbakin on
#webkit).
Reverted changeset:
"Binding generator should support interfaces with
CustomConstructor and NoInterfaceObject"
https://bugs.webkit.org/show_bug.cgi?id=145016
http://trac.webkit.org/changeset/184872
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@184886
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zalan@apple.com [Tue, 26 May 2015 22:59:40 +0000 (22:59 +0000)]
Overhanging float sets are not cleaned up properly when floating renderer is destroyed.
https://bugs.webkit.org/show_bug.cgi?id=145323
rdar://problem/
20980628
Reviewed by Dave Hyatt.
This patch ensures when an overhanging float renderer is destroyed,
all the sibling containers' floating object set(m_floatingObjects) gets properly cleaned up.
When an overhanging float is present, we cache the renderer on the parent and on the affected
sibling containers too. (RenderBlockFlow::m_floatingObjects) These caches(sets) get cleared and repopulated
during ::layout(). In order to have a float renderer removed from a set, a layout needs to be initiated on the container.
This is normally done through RenderBlockFlow::markSiblingsWithFloatsForLayout() and RenderBlockFlow::markAllDescendantsWithFloatsForLayout().
However, when the float container's parent's writing direction changes (and we promote the children containers to new formatting contexts),
the layout propagation through siblings does not work anymore.
The avoidsFloats() check in RenderBlockFlow::markSiblingsWithFloatsForLayout() has very little performance gain, but it prevents us
from propagating layout to siblings when certain properties of the parent container changes.
Source/WebCore:
Test: fast/block/float/crash-when-floating-object-is-removed.xhtml
* rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::markSiblingsWithFloatsForLayout):
* rendering/RenderBox.cpp:
(WebCore::outermostBlockContainingFloatingObject):
(WebCore::RenderBox::removeFloatingOrPositionedChildFromBlockLists):
(WebCore::RenderBox::outermostBlockContainingFloatingObject): Deleted.
* rendering/RenderBox.h:
LayoutTests:
* fast/block/float/crash-when-floating-object-is-removed-expected.txt: Added.
* fast/block/float/crash-when-floating-object-is-removed.xhtml: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@184885
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ggaren@apple.com [Tue, 26 May 2015 22:59:38 +0000 (22:59 +0000)]
Photo Booth hangs under JSC::MachineThreads::tryCopyOtherThreadStacks
https://bugs.webkit.org/show_bug.cgi?id=145395
Reviewed by Mark Hahnenberg.
No test case because we already have --threaded mode, which runs lots of
parallel GC, but it (and the original in-app test case) can't reproduce
this bug.
* heap/MachineStackMarker.cpp:
(JSC::MachineThreads::tryCopyOtherThreadStacks): Use a lock to prevent
two threads from mutually suspending each other.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@184884
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ggaren@apple.com [Tue, 26 May 2015 22:48:13 +0000 (22:48 +0000)]
Integer overflow in XLarge allocation (due to unchecked roundUpToMultipleOf)
https://bugs.webkit.org/show_bug.cgi?id=145385
Reviewed by Andreas Kling.
Added some checking to verify that round-up operations will not overflow
a size_t.
The simplest way to do this was to introduce a notion of xLargeMax, like
we have for smallMax, mediumMax, and largeMax. It's a bit surprising at
first to think that there is an xLargeMax, since xLarge is what we use
to handle the biggest things. But computers have limits, so it makes sense.
FWIW, TCMalloc used to have an xLargeMax too, which it called kMaxValidPages.
No test because this bug was found by code inspection and I don't know
of a practical way to convince WebKit to make an allocation this large.
* bmalloc/Allocator.cpp:
(bmalloc::Allocator::tryAllocate):
(bmalloc::Allocator::allocate):
(bmalloc::Allocator::reallocate):
(bmalloc::Allocator::allocateSlowCase): Check against xLargeMax to avoid
overflow when rounding up.
* bmalloc/BAssert.h: Added support for explicit crashing.
* bmalloc/Sizes.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@184883
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
dburkart@apple.com [Tue, 26 May 2015 22:31:04 +0000 (22:31 +0000)]
Fixes compatibility issues with recent dashboard cleanup.
https://bugs.webkit.org/show_bug.cgi?id=144814
Reviewed by Alexey Proskuryakov.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotStaticAnalyzerQueueView.js:
(BuildbotStaticAnalyzerQueueView):
(BuildbotStaticAnalyzerQueueView.prototype.update):
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Main.js:
(documentReady):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@184882
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bdakin@apple.com [Tue, 26 May 2015 22:15:34 +0000 (22:15 +0000)]
storage/indexeddb/deleteIndex-bug110792.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=145390
Marking as flaky.
* TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@184881
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
utatane.tea@gmail.com [Tue, 26 May 2015 22:06:33 +0000 (22:06 +0000)]
Add Array.prototype.copyWithin to JSC features.json
https://bugs.webkit.org/show_bug.cgi?id=145387
Reviewed by Darin Adler.
* features.json:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@184880
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap@apple.com [Tue, 26 May 2015 22:06:05 +0000 (22:06 +0000)]
Botwatcher's dashboard doesn't show JSC test regressions on Apple bots
https://bugs.webkit.org/show_bug.cgi?id=143091
rdar://problem/
19330328
Reviewed by Darin Adler and Timothy Hatcher.
We have many of these, which are hard to fit on the dashboard. Added a view that
collapses to a single green bubble when everything is good, and expands when there
are failures (or manually).
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/index.html: Added BuildbotCombinedQueueView.js
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Buildbot.js:
(Buildbot.prototype.set isAuthenticated):
(Buildbot.prototype._normalizeQueueInfo):
(Buildbot.prototype._normalizeQueuesInfo):
(Buildbot.prototype.updateQueues):
Moved queue info normalization here from BuildbitQueue. The latter is a model class
that shouldn't have to know about presentation, and this lets us leep the knowledge
about combined queues out if it. Later, we can refactor existing code, and move out
all knowledge about headings and such.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotCombinedQueueView.js:
Added the new view. It's not quite universal, and doesn't have as helpful popovers
as other views, but we can extend it when/if we use it for more than JSC.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotQueue.js:
(BuildbotQueue): Now that info is normalized before creating a queue, don't do that here.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Main.js:
(documentReady): Added support for combined queues. These are currently always ending up
in Other column, but it's easy to customize in the future if we need to.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js:
(WebKitBuildbot): Added JSC queus.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/QueueView.css:
(.combined-queue-popover):
(.combined-queue-popover .revision):
Added styles for the combined view.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@184879
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Tue, 26 May 2015 21:50:39 +0000 (21:50 +0000)]
Web Inspector: Add Array.prototype.copyWithin parameter list
https://bugs.webkit.org/show_bug.cgi?id=145388
Patch by Joseph Pecoraro <pecoraro@apple.com> on 2015-05-26
Reviewed by Darin Adler.
* UserInterface/Models/NativeFunctionParameters.js:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@184878
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
nvasilyev@apple.com [Tue, 26 May 2015 21:48:41 +0000 (21:48 +0000)]
Web Inspector: focus outline of a search field should have a radius
https://bugs.webkit.org/show_bug.cgi?id=145383
Add a focus outline animation to roughly mimic the default focus outline of OS X.
Reviewed by Timothy Hatcher.
* UserInterface/Views/Toolbar.css:
(.toolbar .search-bar > input[type="search"]):
-webkit-focus-ring-color doesn't follow element's curvature (e.g. border-radius)
and it cannot be animated. Replace it with box-shadow.
(.toolbar .search-bar > input[type="search"]:focus):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@184877
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ryuan.choi@navercorp.com [Tue, 26 May 2015 21:38:57 +0000 (21:38 +0000)]
[EFL][CoordinatedGraphics] Remove CoordinatedTileClient and CoordinatedTileBackend
https://bugs.webkit.org/show_bug.cgi?id=133337
Reviewed by Darin Adler.
This patch simplifies relationship between CoordinatedGraphicsLayer and TiledBackingStore
by removing TiledBackingStoreBackend because TiledBackingStore only support
CoordinatedTileBackend.
And it also moves CoordinatedTileClient interface to TiledBackingStoreClient.
* platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
(WebCore::CoordinatedGraphicsLayer::createBackingStore):
* platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h:
* platform/graphics/texmap/coordinated/CoordinatedTile.cpp:
(WebCore::CoordinatedTile::create):
(WebCore::CoordinatedTile::CoordinatedTile):
(WebCore::CoordinatedTile::~CoordinatedTile):
(WebCore::CoordinatedTile::updateBackBuffer):
(WebCore::CoordinatedTileBackend::CoordinatedTileBackend): Deleted.
(WebCore::CoordinatedTileBackend::createTile): Deleted.
(WebCore::CoordinatedTileBackend::paintCheckerPattern): Deleted.
* platform/graphics/texmap/coordinated/CoordinatedTile.h:
(WebCore::CoordinatedTile::create): Deleted.
(WebCore::CoordinatedTileClient::~CoordinatedTileClient): Deleted.
* platform/graphics/texmap/coordinated/TiledBackingStore.cpp:
(WebCore::TiledBackingStore::TiledBackingStore):
(WebCore::TiledBackingStore::createTiles):
* platform/graphics/texmap/coordinated/TiledBackingStore.h:
* platform/graphics/texmap/coordinated/TiledBackingStoreBackend.h: Removed.
(WebCore::TiledBackingStoreBackend::~TiledBackingStoreBackend): Deleted.
* platform/graphics/texmap/coordinated/TiledBackingStoreClient.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@184876
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Tue, 26 May 2015 21:37:40 +0000 (21:37 +0000)]
Fullscreen video does not display on platforms without accelerated video rendering
https://bugs.webkit.org/show_bug.cgi?id=145118
In order to paint video contents in fullscreen mode, add supportsAcceleratedRendering condition.
Patch by Daegyu Lee <daegyu.lee@navercorp.com> on 2015-05-26
Reviewed by Simon Fraser.
* rendering/RenderVideo.cpp:
(WebCore::RenderVideo::paintReplaced):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@184875
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Tue, 26 May 2015 21:24:05 +0000 (21:24 +0000)]
SVG fragment identifier rendering issue
https://bugs.webkit.org/show_bug.cgi?id=137328
Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2015-05-26
Reviewed by Darin Adler.
Source/WebCore:
This is a follow up for http://trac.webkit.org/changeset/164983. In this
changeset, scrolling to the fragment should have been added before the
the paint to guarantee setting the proper display position for the SVG
fragment.
Test: svg/css/svg-resource-fragment-identifier-order.html
* svg/graphics/SVGImage.cpp:
(WebCore::SVGImage::draw): Move view->scrollToFragment() before calling
view->paint().
LayoutTests:
* svg/css/svg-resource-fragment-identifier-order-expected.html: Added.
* svg/css/svg-resource-fragment-identifier-order.html: Added.
Ensure the SVG fragment is drawn correctly when the same SVG image is
referenced multiple times.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@184874
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
nvasilyev@apple.com [Tue, 26 May 2015 21:20:50 +0000 (21:20 +0000)]
Web Inspector: The bottom part "debugger" is clipped in the tab’s title
https://bugs.webkit.org/show_bug.cgi?id=145381
Reviewed by Timothy Hatcher.
* UserInterface/Views/TabBar.css:
(.tab-bar > .item):
Set line-height to fit "debugger". Setting line-height to 16px, which is the
size of the tabs icons, moves the text one pixel up, so set it to 15px.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@184873
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
youenn.fablet@crf.canon.fr [Tue, 26 May 2015 21:18:37 +0000 (21:18 +0000)]
Binding generator should support interfaces with CustomConstructor and NoInterfaceObject
https://bugs.webkit.org/show_bug.cgi?id=145016
Reviewed by Darin Adler.
Updated code generator to generate the necessary declarations (constructor property in the prototype, the constructor class).
In the case of CustomConstructor with NoInterfaceObject, the implementation of the constructor property related JS function is changed as follow:
It creates a constructor object and shadows the constructor property JS function with this object.
This ensures that only one constructor object is created per prototype.
The constructor is not exposed as it is not added to the global object constructor map.
NoInterfaceObject is asking to not make the interface visible, which is contradictory with having a visible constructor of the interface.
The case for having NoInterfaceObject and CustomConstructor is the following:
We do not want to expose the interface but we still want to have a constructor property on the prototype of objects implementing the interface.
One such case is https://streams.spec.whatwg.org/#globals
Added TestCustomConstructorWithNoInterfaceObject.idl to check that case.
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateHeader):
(GenerateAttributesHashTable):
(GenerateImplementation):
(HasConstructorProperty):
* bindings/scripts/test/GObject/WebKitDOMTestCustomConstructorWithNoInterfaceObject.cpp: Added.
(WebKit::kit):
(WebKit::core):
(WebKit::wrapTestCustomConstructorWithNoInterfaceObject):
(webkit_dom_test_custom_constructor_with_no_interface_object_finalize):
(webkit_dom_test_custom_constructor_with_no_interface_object_constructor):
(webkit_dom_test_custom_constructor_with_no_interface_object_class_init):
(webkit_dom_test_custom_constructor_with_no_interface_object_init):
* bindings/scripts/test/GObject/WebKitDOMTestCustomConstructorWithNoInterfaceObject.h: Added.
* bindings/scripts/test/GObject/WebKitDOMTestCustomConstructorWithNoInterfaceObjectPrivate.h: Added.
* bindings/scripts/test/JS/JSTestCustomConstructorWithNoInterfaceObject.cpp: Added.
(WebCore::JSTestCustomConstructorWithNoInterfaceObjectPrototype::create):
(WebCore::JSTestCustomConstructorWithNoInterfaceObjectPrototype::createStructure):
(WebCore::JSTestCustomConstructorWithNoInterfaceObjectPrototype::JSTestCustomConstructorWithNoInterfaceObjectPrototype):
(WebCore::JSTestCustomConstructorWithNoInterfaceObjectConstructor::create):
(WebCore::JSTestCustomConstructorWithNoInterfaceObjectConstructor::createStructure):
(WebCore::JSTestCustomConstructorWithNoInterfaceObjectConstructor::JSTestCustomConstructorWithNoInterfaceObjectConstructor):
(WebCore::JSTestCustomConstructorWithNoInterfaceObjectConstructor::finishCreation):
(WebCore::JSTestCustomConstructorWithNoInterfaceObjectConstructor::getConstructData):
(WebCore::JSTestCustomConstructorWithNoInterfaceObjectPrototype::finishCreation):
(WebCore::JSTestCustomConstructorWithNoInterfaceObject::JSTestCustomConstructorWithNoInterfaceObject):
(WebCore::JSTestCustomConstructorWithNoInterfaceObject::createPrototype):
(WebCore::JSTestCustomConstructorWithNoInterfaceObject::getPrototype):
(WebCore::JSTestCustomConstructorWithNoInterfaceObject::destroy):
(WebCore::JSTestCustomConstructorWithNoInterfaceObject::~JSTestCustomConstructorWithNoInterfaceObject):
(WebCore::jsTestCustomConstructorWithNoInterfaceObjectConstructor):
(WebCore::JSTestCustomConstructorWithNoInterfaceObject::getConstructor):
(WebCore::JSTestCustomConstructorWithNoInterfaceObjectOwner::isReachableFromOpaqueRoots):
(WebCore::JSTestCustomConstructorWithNoInterfaceObjectOwner::finalize):
(WebCore::toJS):
(WebCore::JSTestCustomConstructorWithNoInterfaceObject::toWrapped):
* bindings/scripts/test/JS/JSTestCustomConstructorWithNoInterfaceObject.h: Added.
(WebCore::wrapperOwner):
(WebCore::toJS):
* bindings/scripts/test/ObjC/DOMTestCustomConstructorWithNoInterfaceObject.h: Added.
* bindings/scripts/test/ObjC/DOMTestCustomConstructorWithNoInterfaceObject.mm: Added.
(-[DOMTestCustomConstructorWithNoInterfaceObject dealloc]):
(-[DOMTestCustomConstructorWithNoInterfaceObject finalize]):
(core):
(kit):
* bindings/scripts/test/ObjC/DOMTestCustomConstructorWithNoInterfaceObjectInternal.h: Added.
* bindings/scripts/test/TestCustomConstructor.idl: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@184872
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
utatane.tea@gmail.com [Tue, 26 May 2015 21:17:22 +0000 (21:17 +0000)]
Reflect nits for r184863
https://bugs.webkit.org/show_bug.cgi?id=145107
Reviewed by Darin Adler.
1. Added the copyright line.
2. Added an optional argument (/*, end */). To do so, fixed generate-js-builtins.
3. Dropped the unnecessary variable `thisValue`.
4. Fix the type error messages. This is also found in StringIterator.prototype.js.
5. Added tests for 0 arguments.
* builtins/Array.prototype.js:
(copyWithin):
* builtins/StringIterator.prototype.js:
(next):
* generate-js-builtins:
* tests/stress/array-copywithin.js:
* tests/stress/string-iterators.js:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@184871
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
dbates@webkit.org [Tue, 26 May 2015 20:40:34 +0000 (20:40 +0000)]
Update Autofill button icon
https://bugs.webkit.org/show_bug.cgi?id=145191
<rdar://problem/
20178942>
Update expected results for Windows.
* platform/win/fast/forms/input-auto-fill-button-expected.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@184870
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Tue, 26 May 2015 19:50:18 +0000 (19:50 +0000)]
CSS properties (font-synthesis, column-fill) are missing in getComputedStyles
https://bugs.webkit.org/show_bug.cgi?id=145343
Patch by Joseph Pecoraro <pecoraro@apple.com> on 2015-05-26
Reviewed by Timothy Hatcher.
Source/WebCore:
* css/CSSComputedStyleDeclaration.cpp:
LayoutTests:
* fast/css/getComputedStyle/computed-style-expected.txt:
* fast/css/getComputedStyle/computed-style-font-family-expected.txt:
* fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
* fast/css/getComputedStyle/resources/property-names.js:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@184869
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
utatane.tea@gmail.com [Tue, 26 May 2015 19:47:56 +0000 (19:47 +0000)]
Inline @Array / @Object callsites
https://bugs.webkit.org/show_bug.cgi?id=145382
Reviewed by Geoffrey Garen.
As the same to Array/Object callsite inlining, @Array/@Object also
should be inlined in bytecode level.
While `new @Object` style is not encouraged in the builtins,
`@Array(len)` is already used at least in Array.from code.
* bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::expectedFunctionForIdentifier):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@184868
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
akling@apple.com [Tue, 26 May 2015 18:57:00 +0000 (18:57 +0000)]
StringView should have find(StringView, start).
<https://webkit.org/b/145351>
Reviewed by Darin Adler.
Move the class agnostic guts of StringImpl's find() implementation from StringImpl
to StringCommon.h and templatize the code into a findCommon() helper.
StringImpl::find() and StringView::find() now both call findCommon().
* wtf/text/StringCommon.h:
(WTF::findInner):
(WTF::find):
(WTF::findCommon):
* wtf/text/StringImpl.cpp:
(WTF::StringImpl::find):
(WTF::findInner): Deleted.
* wtf/text/StringImpl.h:
(WTF::find): Deleted.
* wtf/text/StringView.cpp:
(WTF::StringView::find):
* wtf/text/StringView.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@184867
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
akling@apple.com [Tue, 26 May 2015 18:56:42 +0000 (18:56 +0000)]
String.prototype.charCodeAt() should use StringView.
<https://webkit.org/b/145353>
Reviewed by Darin Adler.
Use JSString::view() in charCodeAt() to avoid reifying the JSString if it's
a substring. This avoids StringImpl allocation in some cases and ref churn
in all cases.
* runtime/StringPrototype.cpp:
(JSC::stringProtoFuncCharCodeAt):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@184866
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
akling@apple.com [Tue, 26 May 2015 18:54:01 +0000 (18:54 +0000)]
String.prototype.charAt() should use StringView.
<https://webkit.org/b/145352>
Reviewed by Darin Adler.
Remove the jsSingleCharacterSubstring() function since it's actually completely
counter-productive: it could create a single-character string that would retain
a much larger string for the duration of its lifetime.
This made sense before StringImpl learned to put its characters at the tail end
of its own allocation. Now that it does, it's far better to just create a new
single-character StringImpl.
With that out of the way, we can make String.prototype.charAt() use StringView
to avoid reifying substring JSStrings (and avoid some ref churn too.)
* runtime/JSString.cpp:
(JSC::JSRopeString::getIndexSlowCase):
* runtime/JSString.h:
(JSC::JSString::getIndex):
(JSC::jsSingleCharacterSubstring): Deleted.
* runtime/StringPrototype.cpp:
(JSC::stringProtoFuncCharAt):
(JSC::stringProtoFuncSplit):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@184865
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz@apple.com [Tue, 26 May 2015 18:52:34 +0000 (18:52 +0000)]
Changed a file to use Unix line endings.
* LayoutTestRelay/Configurations/DebugRelease.xcconfig:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@184864
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
utatane.tea@gmail.com [Tue, 26 May 2015 18:23:59 +0000 (18:23 +0000)]
[ES6] Implement Array.prototype.copyWithin
https://bugs.webkit.org/show_bug.cgi?id=145107
Reviewed by Darin Adler.
Source/JavaScriptCore:
This patch implements ES6 Array.prototype.copyWithin.
It is intended to be used for copying the region to the other region
in the callee array itself safely (like memmove, not memcpy).
This function is proposed in the context of WebGL.
* builtins/Array.prototype.js:
(.maxWithPositives):
(.minWithMaybeNegativeZeroAndPositive):
(copyWithin):
* runtime/ArrayPrototype.cpp:
(JSC::ArrayPrototype::finishCreation):
* tests/stress/array-copywithin.js: Added.
(shouldBe):
(shouldBeArray):
(shouldThrow):
(arrayToObject):
(valueOf):
LayoutTests:
* js/Object-getOwnPropertyNames-expected.txt:
* js/script-tests/Object-getOwnPropertyNames.js:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@184863
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz@apple.com [Tue, 26 May 2015 17:54:53 +0000 (17:54 +0000)]
<rdar://problem/
21104551> Update build settings
Reviewed by Anders Carlsson.
Source/bmalloc:
* Configurations/DebugRelease.xcconfig:
Source/JavaScriptCore:
* Configurations/DebugRelease.xcconfig:
* Configurations/FeatureDefines.xcconfig:
* Configurations/Version.xcconfig:
Source/ThirdParty:
* gtest/xcode/Config/General.xcconfig:
Source/ThirdParty/ANGLE:
* Configurations/Base.xcconfig:
* Configurations/DebugRelease.xcconfig:
Source/WebCore:
* Configurations/DebugRelease.xcconfig:
* Configurations/FeatureDefines.xcconfig:
* Configurations/Version.xcconfig:
Source/WebInspectorUI:
* Configurations/Base.xcconfig:
* Configurations/DebugRelease.xcconfig:
* Configurations/Version.xcconfig:
Source/WebKit/mac:
* Configurations/DebugRelease.xcconfig:
* Configurations/FeatureDefines.xcconfig:
* Configurations/Version.xcconfig:
Source/WebKit2:
* Configurations/DebugRelease.xcconfig:
* Configurations/FeatureDefines.xcconfig:
* Configurations/Version.xcconfig:
* Configurations/WebContentService.Development.xcconfig:
* Configurations/WebContentService.xcconfig:
Source/WTF:
* Configurations/DebugRelease.xcconfig:
Tools:
* ContentExtensionTester/Configurations/DebugRelease.xcconfig:
* DumpRenderTree/mac/Configurations/DebugRelease.xcconfig:
* MiniBrowser/Configurations/DebugRelease.xcconfig:
* TestWebKitAPI/Configurations/DebugRelease.xcconfig:
* WebEditingTester/Configurations/DebugRelease.xcconfig:
* WebKitTestRunner/Configurations/DebugRelease.xcconfig:
* asan/asan.xcconfig:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@184862
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Tue, 26 May 2015 17:35:15 +0000 (17:35 +0000)]
Fix build.
* WebKitTestRunner/mac/EventSenderProxy.mm:
(WTR::EventSenderProxy::mouseForceDown):
(WTR::EventSenderProxy::mouseForceUp):
(WTR::EventSenderProxy::mouseForceChanged):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@184861
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
akling@apple.com [Tue, 26 May 2015 17:28:32 +0000 (17:28 +0000)]
Try to use StringView when comparing JSStrings for equality.
<https://webkit.org/b/145379>
Reviewed by Darin Adler.
Use JSString::view() when sending two JSStrings to WTF::equal()
for comparison. This avoids creating new objects in the case where
the strings are actually substrings.
* jit/JITOperations.cpp:
* runtime/JSCJSValueInlines.h:
(JSC::JSValue::equalSlowCaseInline):
(JSC::JSValue::strictEqualSlowCaseInline):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@184860
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
utatane.tea@gmail.com [Tue, 26 May 2015 17:26:40 +0000 (17:26 +0000)]
[JSC] Generate put_by_val_direct for indexed identifiers instead of put_by_id with direct postfix
https://bugs.webkit.org/show_bug.cgi?id=145360
Reviewed by Darin Adler.
JSObject::putDirect only accepts non-indexed properties.
So when generating put_by_id (with direct postfix) for indexed property,
we should generate put_by_val_direct instead.
* bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::emitDirectPutById):
* bytecompiler/NodesCodegen.cpp:
(JSC::PropertyListNode::emitPutConstantProperty):
* tests/stress/put-by-id-direct-should-be-done-for-non-index-property.js: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@184859
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap@apple.com [Tue, 26 May 2015 17:23:49 +0000 (17:23 +0000)]
build.webkit.org/dashboard: Don't list test steps in BuildbotIteration twice
https://bugs.webkit.org/show_bug.cgi?id=145342
Reviewed by Darin Adler.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotIteration.js:
(BuildbotIteration.prototype._parseData):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@184858
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ossy@webkit.org [Tue, 26 May 2015 11:53:15 +0000 (11:53 +0000)]
[ARM] Build SVGPathElement.cpp with -O2 due to a GCC bug
https://bugs.webkit.org/show_bug.cgi?id=145377
Reviewed by Carlos Garcia Campos.
* CMakeLists.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@184857
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Tue, 26 May 2015 11:26:51 +0000 (11:26 +0000)]
[GTK] Expand wildcards inside generate-inspector-gresource-manifest.py
https://bugs.webkit.org/show_bug.cgi?id=138134
Patch by Milan Crha <mcrha@redhat.com> on 2015-05-26
Reviewed by Žan Doberšek.
Source/WebKit2:
* PlatformGTK.cmake: Command line with expanded resources exceeds 32KB, which
is a limit on Windows. It's better to expand wildcards inside the python script.
Tools:
* gtk/generate-inspector-gresource-manifest.py:
(get_filenames): Command line with expanded resources exceeds 32KB, which
is a limit on Windows. It's better to expand wildcards inside the python script.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@184856
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
carlosgc@webkit.org [Tue, 26 May 2015 06:29:34 +0000 (06:29 +0000)]
Unreviewed. Export DatabaseProcessMainUnix symbol.
Add DatabaseProcessMainUnix symbol to gtksymbols.filter so that it
is exported in production builds.
* Source/cmake/gtksymbols.filter:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@184855
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz@apple.com [Tue, 26 May 2015 05:20:07 +0000 (05:20 +0000)]
Fixed a failing bindings test after r184853.
* bindings/scripts/CodeGeneratorObjC.pm:
(GenerateImplementation): Removed an extraneous semicolon.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@184854
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz@apple.com [Tue, 26 May 2015 02:26:34 +0000 (02:26 +0000)]
ASSERT_MAIN_THREAD and DOM_ASSERT_MAIN_THREAD are unnecessary no-ops
https://bugs.webkit.org/show_bug.cgi?id=145372
Reviewed by Sam Weinig.
Source/WebCore:
* Configurations/Base.xcconfig: Removed DISABLE_THREAD_CHECK from DEBUG_DEFINES.
* bindings/objc/DOMAbstractView.mm:
(-[DOMAbstractView dealloc]): Removed use of DOM_ASSERT_MAIN_THREAD.
(kit): Ditto.
* bindings/objc/ExceptionHandlers.h: Removed definition of DOM_ASSERT_MAIN_THREAD.
* bindings/scripts/CodeGeneratorObjC.pm:
(GenerateImplementation): Don’t emit DOM_ASSERT_MAIN_THREAD.
Updated expected bindings test results:
* bindings/scripts/test/ObjC/DOMFloat64Array.mm:
* bindings/scripts/test/ObjC/DOMTestActiveDOMObject.mm:
* bindings/scripts/test/ObjC/DOMTestCallback.mm:
* bindings/scripts/test/ObjC/DOMTestCustomNamedGetter.mm:
* bindings/scripts/test/ObjC/DOMTestEventConstructor.mm:
* bindings/scripts/test/ObjC/DOMTestEventTarget.mm:
* bindings/scripts/test/ObjC/DOMTestException.mm:
* bindings/scripts/test/ObjC/DOMTestGenerateIsReachable.mm:
* bindings/scripts/test/ObjC/DOMTestInterface.mm:
* bindings/scripts/test/ObjC/DOMTestMediaQueryListListener.mm:
* bindings/scripts/test/ObjC/DOMTestNamedConstructor.mm:
* bindings/scripts/test/ObjC/DOMTestNode.mm:
* bindings/scripts/test/ObjC/DOMTestNondeterministic.mm:
* bindings/scripts/test/ObjC/DOMTestObj.mm:
* bindings/scripts/test/ObjC/DOMTestOverloadedConstructors.mm:
* bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterface.mm:
* bindings/scripts/test/ObjC/DOMTestTypedefs.mm:
* bindings/scripts/test/ObjC/DOMattribute.mm:
* bindings/scripts/test/ObjC/DOMreadonly.mm:
Source/WebKit/ios:
* Misc/WebGeolocationCoreLocationProvider.mm:
(-[WebGeolocationCoreLocationProvider initWithListener:]): Removed use of ASSERT_MAIN_THREAD.
(-[WebGeolocationCoreLocationProvider dealloc]): Ditto.
(-[WebGeolocationCoreLocationProvider requestGeolocationAuthorization]): Ditto.
(-[WebGeolocationCoreLocationProvider start]): Ditto.
(-[WebGeolocationCoreLocationProvider stop]): Ditto.
(-[WebGeolocationCoreLocationProvider setEnableHighAccuracy:]): Ditto.
Source/WebKit/mac:
* Carbon/CarbonWindowAdapter.mm:
(-[CarbonWindowAdapter finalize]): Removed use of ASSERT_MAIN_THREAD.
* Configurations/Base.xcconfig: Removed DISABLE_THREAD_CHECK from DEBUG_DEFINES.
* History/WebHistoryItem.mm:
(-[WebHistoryItem URLString]): Removed use of ASSERT_MAIN_THREAD.
(-[WebHistoryItem originalURLString]): Ditto.
(-[WebHistoryItem title]): Ditto.
(-[WebHistoryItem lastVisitedTimeInterval]): Ditto.
(-[WebHistoryItem isEqual:]): Ditto.
(-[WebHistoryItem description]): Ditto.
(-[WebHistoryItem initFromDictionaryRepresentation:]): Ditto.
(-[WebHistoryItem scrollPoint]): Ditto.
* Misc/WebElementDictionary.mm:
(-[WebElementDictionary finalize]): Ditto.
* Misc/WebIconDatabase.mm:
(-[WebIconDatabase iconForURL:withSize:cache:]): Ditto.
(-[WebIconDatabase iconURLForURL:]): Ditto.
(-[WebIconDatabase defaultIconWithSize:]): Ditto.
(-[WebIconDatabase retainIconForURL:]): Ditto.
(-[WebIconDatabase releaseIconForURL:]): Ditto.
(+[WebIconDatabase delayDatabaseCleanup]): Ditto.
(+[WebIconDatabase allowDatabaseCleanup]): Ditto.
(-[WebIconDatabase removeAllIcons]): Ditto.
(-[WebIconDatabase _iconForFileURL:withSize:]): Ditto.
(webGetNSImage): Ditto.
* Misc/WebKitLogging.h: Removed definition of ASSERT_MAIN_THREAD.
* Plugins/WebBaseNetscapePluginView.mm:
(-[WebBaseNetscapePluginView finalize]): Removed use of ASSERT_MAIN_THREAD.
* Plugins/WebBasePluginPackage.mm:
(-[WebBasePluginPackage finalize]): Ditto.
* Plugins/WebNetscapePluginView.mm:
(-[WebNetscapePluginView finalize]): Ditto.
* WebCoreSupport/WebEditorClient.mm:
(-[WebUndoStep finalize]): Ditto.
* WebView/WebDataSource.mm:
(-[WebDataSource finalize]): Ditto.
* WebView/WebHTMLView.mm:
(-[WebHTMLViewPrivate finalize]): Ditto.
(-[WebHTMLView finalize]): Ditto.
(-[WebHTMLView drawRect:]): Ditto.
* WebView/WebViewData.mm:
(-[WebViewPrivate finalize]): Ditto.
Source/WebKit2:
* Configurations/Base.xcconfig: Removed DISABLE_THREAD_CHECK from DEBUG_DEFINES.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@184853
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Tue, 26 May 2015 01:46:15 +0000 (01:46 +0000)]
Replaced 0 with nullptr in WebCore/svg.
https://bugs.webkit.org/show_bug.cgi?id=145367
Patch by Hunseop Jeong <hs85.jeong@samsung.com> on 2015-05-25
Reviewed by Gyuyoung Kim.
No new tests, no behavior changes.
* svg/PatternAttributes.h:
(WebCore::PatternAttributes::PatternAttributes):
* svg/SVGAnimatedType.h:
* svg/SVGElement.cpp:
(WebCore::SVGElement::cursorElementRemoved):
(WebCore::SVGElement::cursorImageValueRemoved):
(WebCore::SVGElement::getPresentationAttribute):
* svg/SVGException.cpp:
(WebCore::SVGException::initializeDescription):
* svg/SVGFEImageElement.cpp:
(WebCore::SVGFEImageElement::clearResourceReferences):
* svg/SVGFontFaceElement.cpp:
(WebCore::SVGFontFaceElement::SVGFontFaceElement):
(WebCore::SVGFontFaceElement::removedFrom):
* svg/SVGFontFaceUriElement.cpp:
(WebCore::SVGFontFaceUriElement::loadFont):
* svg/SVGLength.h:
(WebCore::SVGLength::blend):
* svg/SVGPathBlender.cpp:
(WebCore::SVGPathBlender::SVGPathBlender):
(WebCore::SVGPathBlender::cleanup):
* svg/SVGPathBuilder.cpp:
(WebCore::SVGPathBuilder::SVGPathBuilder):
* svg/SVGPathBuilder.h:
* svg/SVGPathByteStreamBuilder.cpp:
(WebCore::SVGPathByteStreamBuilder::SVGPathByteStreamBuilder):
* svg/SVGPathByteStreamBuilder.h:
* svg/SVGPathElement.cpp:
(WebCore::SVGPathElement::dPropertyInfo):
* svg/SVGPathParser.cpp:
(WebCore::SVGPathParser::SVGPathParser):
(WebCore::SVGPathParser::cleanup):
* svg/SVGPathSegListBuilder.cpp:
(WebCore::SVGPathSegListBuilder::SVGPathSegListBuilder):
* svg/SVGPathSegListBuilder.h:
* svg/SVGPathTraversalStateBuilder.cpp:
(WebCore::SVGPathTraversalStateBuilder::SVGPathTraversalStateBuilder):
* svg/SVGPathUtilities.cpp:
(WebCore::globalSVGPathBuilder):
(WebCore::globalSVGPathSegListBuilder):
(WebCore::globalSVGPathByteStreamBuilder):
(WebCore::globalSVGPathStringBuilder):
(WebCore::globalSVGPathTraversalStateBuilder):
(WebCore::globalSVGPathParser):
(WebCore::globalSVGPathBlender):
* svg/SVGPolyElement.cpp:
(WebCore::SVGPolyElement::pointsPropertyInfo):
* svg/SVGTRefElement.cpp:
(WebCore::SVGTRefTargetEventListener::cast):
(WebCore::SVGTRefTargetEventListener::SVGTRefTargetEventListener):
* svg/SVGTextContentElement.cpp:
(WebCore::SVGTextContentElement::textLengthPropertyInfo):
* svg/SVGURIReference.h:
* svg/SVGViewSpec.cpp:
(WebCore::SVGViewSpec::viewBoxPropertyInfo):
(WebCore::SVGViewSpec::preserveAspectRatioPropertyInfo):
(WebCore::SVGViewSpec::transformPropertyInfo):
* svg/SVGViewSpec.h:
(WebCore::SVGViewSpec::resetContextElement):
* svg/animation/SMILTimeContainer.cpp:
(WebCore::SMILTimeContainer::updateAnimations):
* svg/animation/SVGSMILElement.cpp:
(WebCore::ConditionEventListener::cast):
(WebCore::ConditionEventListener::disconnectAnimation):
(WebCore::SVGSMILElement::SVGSMILElement):
(WebCore::SVGSMILElement::removedFrom):
* svg/graphics/SVGImage.cpp:
(WebCore::SVGImage::drawForContainer):
* svg/graphics/filters/SVGFEImage.cpp:
(WebCore::FEImage::FEImage):
* svg/graphics/filters/SVGFilterBuilder.cpp:
(WebCore::SVGFilterBuilder::clearEffects):
* svg/properties/SVGAnimatedPathSegListPropertyTearOff.h:
(WebCore::SVGAnimatedPathSegListPropertyTearOff::animationEnded):
(WebCore::SVGAnimatedPathSegListPropertyTearOff::SVGAnimatedPathSegListPropertyTearOff):
* svg/properties/SVGAnimatedPropertyDescription.h:
(WebCore::SVGAnimatedPropertyDescription::SVGAnimatedPropertyDescription):
* svg/properties/SVGAnimatedPropertyTearOff.h:
(WebCore::SVGAnimatedPropertyTearOff::~SVGAnimatedPropertyTearOff):
* svg/properties/SVGAnimatedStaticPropertyTearOff.h:
(WebCore::SVGAnimatedStaticPropertyTearOff::animationEnded):
(WebCore::SVGAnimatedStaticPropertyTearOff::SVGAnimatedStaticPropertyTearOff):
* svg/properties/SVGPropertyTearOff.h:
(WebCore::SVGPropertyTearOff::SVGPropertyTearOff):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@184852
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
carlosgc@webkit.org [Mon, 25 May 2015 15:15:38 +0000 (15:15 +0000)]
[GTK] Add construct property to WebKitWebContext to set the IndexedDB database directory
https://bugs.webkit.org/show_bug.cgi?id=140882
Reviewed by Gustavo Noronha Silva.
Source/WebKit2:
Add WebKitWebContext:indexed-db-database-directory construct only property.
* UIProcess/API/gtk/WebKitWebContext.cpp:
(webkitWebContextGetProperty):
(webkitWebContextSetProperty):
(webkitWebContextConstructed):
(webkit_web_context_class_init):
Tools:
Make sure unit tests write IndexedDB databases to the temporary
directory, and add a test case to check that the directory is
correctly created at the expected path.
* TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitWebContext.cpp:
(testWebContextConfiguration):
(serverCallback):
* TestWebKitAPI/gtk/WebKit2Gtk/TestMain.h:
(Test::Test):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@184851
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
carlosgc@webkit.org [Mon, 25 May 2015 07:05:03 +0000 (07:05 +0000)]
[GTK] Enable IndexedDB
https://bugs.webkit.org/show_bug.cgi?id=98932
Reviewed by Žan Doberšek.
.:
* Source/cmake/OptionsGTK.cmake: Enable DATABASE_PROCESS and INDEXED_DATABASE.
* Source/cmake/WebKitFeatures.cmake: Add ENABLE_DATABASE_PROCESS.
Tools:
* Scripts/webkitperl/FeatureList.pm: Enable IndexedDB for the GTK port.
LayoutTests:
* platform/gtk/TestExpectations: Update IndexedDB test expectations.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@184850
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
carlosgc@webkit.org [Mon, 25 May 2015 06:55:01 +0000 (06:55 +0000)]
[GTK] Bump GCC requirements to 4.9.0
https://bugs.webkit.org/show_bug.cgi?id=145211
Reviewed by Žan Doberšek.
It's required to build with IndexedDB support when using GCC,
clang works just fine. See https://bugs.webkit.org/show_bug.cgi?id=98932.
* Source/cmake/OptionsGTK.cmake:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@184849
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Mon, 25 May 2015 03:51:17 +0000 (03:51 +0000)]
Array#findIndex/find should not skip holes
https://bugs.webkit.org/show_bug.cgi?id=145361
Source/JavaScriptCore:
per https://people.mozilla.org/~jorendorff/es6-draft.html#sec-array.prototype.findindex
and https://people.mozilla.org/~jorendorff/es6-draft.html#sec-array.prototype.find
Patch by Jordan Harband <ljharb@gmail.com> on 2015-05-24
Reviewed by Yusuke Suzuki.
* builtins/Array.prototype.js:
(find): Deleted.
(findIndex): Deleted.
LayoutTests:
Patch by Jordan Harband <ljharb@gmail.com> on 2015-05-24
Reviewed by Yusuke Suzuki.
* js/array-find-expected.txt:
* js/array-findIndex-expected.txt:
* js/script-tests/array-find.js:
* js/script-tests/array-findIndex.js:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@184848
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
burg@cs.washington.edu [Mon, 25 May 2015 02:38:22 +0000 (02:38 +0000)]
Web Inspector: Uncaught exception when using Inspect tool on SVG elements
https://bugs.webkit.org/show_bug.cgi?id=145363
Reviewed by Joseph Pecoraro.
The injected script failed by chaining a call to String.prototype.trim to the result of
SVG*Element.className, which is an SVGAnimatedString and lacks useful methods. So, obtain
the class name using Node.getAttribute, which always returns a DOMString.
* inspector/InjectedScriptSource.js:
(InjectedScriptSource.prototype._getDescription): use getAttribute instead of className.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@184847
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
weinig@apple.com [Sun, 24 May 2015 23:22:06 +0000 (23:22 +0000)]
Crash when using a removed ScriptMessageHandler
<rdar://problem/
20888499>
https://bugs.webkit.org/show_bug.cgi?id=145359
Reviewed by Dan Bernstein.
Source/WebCore:
Added tests:
WKUserContentController.ScriptMessageHandlerBasicRemove
WKUserContentController.ScriptMessageHandlerCallRemovedHandler
* page/UserMessageHandler.cpp:
(WebCore::UserMessageHandler::~UserMessageHandler):
(WebCore::UserMessageHandler::postMessage):
(WebCore::UserMessageHandler::name):
* page/UserMessageHandler.h:
(WebCore::UserMessageHandler::create):
* page/UserMessageHandler.idl:
* page/UserMessageHandlerDescriptor.cpp:
(WebCore::UserMessageHandlerDescriptor::UserMessageHandlerDescriptor):
* page/UserMessageHandlerDescriptor.h:
(WebCore::UserMessageHandlerDescriptor::client):
(WebCore::UserMessageHandlerDescriptor::invalidateClient):
Add support for invalidating the descriptor and throw an exception if someone tries
to post a message using an invalidated descriptor.
* page/UserMessageHandlersNamespace.cpp:
(WebCore::UserMessageHandlersNamespace::handler):
Add logic to remove message handlers if their descriptor has been invalidated.
Source/WebKit2:
* WebProcess/UserContent/WebUserContentController.cpp:
(WebKit::WebUserMessageHandlerDescriptorProxy::~WebUserMessageHandlerDescriptorProxy):
Invalidate the descriptor when the message handler client (as implemented by WebUserMessageHandlerDescriptorProxy)
goes away. This will happen if a script message handler is removed at the API level or the WebUserContentController
is destroyed (which will happen if all the pages get destroyed).
Tools:
* TestWebKitAPI/Tests/WebKit2Cocoa/UserContentController.mm:
Add tests for removing script message handlers.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@184846
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz@apple.com [Sun, 24 May 2015 19:30:49 +0000 (19:30 +0000)]
Remove unused definitions of WEBKIT_VERSION_MIN_REQUIRED
https://bugs.webkit.org/show_bug.cgi?id=145345
Reviewed by Sam Weinig.
Source/bmalloc:
* Configurations/Base.xcconfig: Also changed to use $(inherited).
Source/JavaScriptCore:
* Configurations/Base.xcconfig: Also changed to use $(inherited).
Source/WebCore:
* Configurations/WebCore.xcconfig: Also changed to use $(inherited).
Source/WebInspectorUI:
* Configurations/Base.xcconfig:
Source/WebKit/mac:
* Configurations/WebKitLegacy.xcconfig: Also changed to use $(inherited).
Source/WTF:
* Configurations/Base.xcconfig: Also changed to use $(inherited).
Tools:
* DumpRenderTree/mac/Configurations/Base.xcconfig:
* LayoutTestRelay/Configurations/Base.xcconfig:
* TestWebKitAPI/Configurations/Base.xcconfig:
* WebKitTestRunner/Configurations/Base.xcconfig:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@184845
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Sun, 24 May 2015 18:31:31 +0000 (18:31 +0000)]
Use modern for-loops in WebCore/svg.
https://bugs.webkit.org/show_bug.cgi?id=145209
Patch by Hunseop Jeong <hs85.jeong@samsung.com> on 2015-05-24
Reviewed by Darin Adler.
No new tests, no behavior changes.
* svg/SVGAnimateElementBase.cpp:
(WebCore::propertyTypesAreConsistent):
* svg/SVGAnimatedPath.cpp:
(WebCore::SVGAnimatedPathAnimator::startAnimValAnimation):
* svg/SVGAnimatedTypeAnimator.h:
(WebCore::SVGAnimatedTypeAnimator::executeAction):
* svg/SVGAnimationElement.cpp:
(WebCore::SVGAnimationElement::parseAttribute):
* svg/SVGCursorElement.cpp:
(WebCore::SVGCursorElement::~SVGCursorElement):
* svg/SVGDocumentExtensions.cpp:
(WebCore::SVGDocumentExtensions::pauseAnimations):
(WebCore::SVGDocumentExtensions::unpauseAnimations):
(WebCore::SVGDocumentExtensions::dispatchSVGLoadEventToOutermostSVGElements):
(WebCore::SVGDocumentExtensions::isElementWithPendingResources):
(WebCore::SVGDocumentExtensions::removeElementFromPendingResources):
(WebCore::SVGDocumentExtensions::removeAllTargetReferencesForElement):
* svg/SVGElement.cpp:
(WebCore::populateAttributeNameToCSSPropertyIDMap):
(WebCore::populateAttributeNameToAnimatedPropertyTypeMap):
(WebCore::populateCSSPropertyWithSVGDOMNameToAnimatedPropertyTypeMap):
(WebCore::hasLoadListener):
* svg/SVGFontData.cpp:
(WebCore::SVGFontData::applySVGGlyphSelection):
* svg/SVGFontElement.cpp:
(WebCore::SVGFontElement::registerLigaturesInGlyphCache):
(WebCore::SVGKerningMap::insert):
(WebCore::stringMatchesUnicodeRange):
* svg/SVGPathByteStream.h:
(WebCore::SVGPathByteStream::append):
* svg/animation/SMILTimeContainer.cpp:
(WebCore::SMILTimeContainer::setElapsed):
(WebCore::SMILTimeContainer::updateAnimations):
* svg/animation/SVGSMILElement.cpp:
(WebCore::SVGSMILElement::parseBeginOrEnd):
(WebCore::SVGSMILElement::connectConditions):
(WebCore::SVGSMILElement::disconnectConditions):
(WebCore::SVGSMILElement::notifyDependentsIntervalChanged):
(WebCore::SVGSMILElement::createInstanceTimesFromSyncbase):
* svg/graphics/filters/SVGFilterBuilder.cpp:
(WebCore::SVGFilterBuilder::clearResultsRecursive):
* svg/graphics/filters/SVGFilterBuilder.h:
(WebCore::SVGFilterBuilder::addBuiltinEffects):
* svg/properties/SVGAnimatedProperty.cpp:
(WebCore::SVGAnimatedProperty::~SVGAnimatedProperty):
* svg/properties/SVGListProperty.h:
(WebCore::SVGListProperty::detachListWrappersAndResize):
* svg/properties/SVGPathSegListPropertyTearOff.cpp:
(WebCore::SVGPathSegListPropertyTearOff::clearContextAndRoles):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@184844
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Sun, 24 May 2015 17:43:03 +0000 (17:43 +0000)]
Register media MIME types as supported by HTML view in WebKit1.
https://bugs.webkit.org/show_bug.cgi?id=145356
Patch by Jeremy Jones <jeremyj@apple.com> on 2015-05-24
Reviewed by Eric Carlson.
Source/WebCore:
getSupportedMediaMIMETypes is now used in WebKit1.
* platform/MIMETypeRegistry.h: Export getSupportedMediaMIMETypes.
Source/WebKit/mac:
WebDataSource and WebFrame view knew about suppotedImageMIMETypes and supportedNonImageMIMETypes,
but not a third category supportedMediaMIMETypes. These are now included along-side
supportedNonImageMIMETypes.
* WebView/WebDataSource.mm:
(+[WebDataSource _repTypesAllowImageTypeOmission:]): use supportedMediaMIMETypes.
* WebView/WebFrameView.mm:
(+[WebFrameView _viewTypesAllowImageTypeOmission:]): use supportedMediaMIMETypes.
* WebView/WebHTMLRepresentation.h: declare -supportedMediaMIMETypes
* WebView/WebHTMLRepresentation.mm:
(+[WebHTMLRepresentation supportedMIMETypes]): include supportedMediaMIMETypes
(+[WebHTMLRepresentation supportedMediaMIMETypes]): added
* WebView/WebHTMLView.mm:
(+[WebHTMLView supportedMediaMIMETypes]): added
* WebView/WebHTMLViewPrivate.h: declare -supportedMediaMIMETypes
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@184843
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
antti@apple.com [Sun, 24 May 2015 03:15:00 +0000 (03:15 +0000)]
Permanent redirects should have long implicit cache lifetime
https://bugs.webkit.org/show_bug.cgi?id=145348
Source/WebCore:
rdar://problem/
20680519
Reviewed by Sam Weinig.
301 Moved Permanently response that doesn't specify explicit lifetime should have long implicit lifetime.
This matches other browsers.
* platform/network/CacheValidation.cpp:
(WebCore::computeFreshnessLifetimeForHTTPFamily):
Give 301 Moved Permanently (and similarly semantically permanent 410 Gone) long implicit lifetime.
(WebCore::updateRedirectChainStatus):
LayoutTests:
Reviewed by Sam Weinig.
* http/tests/cache/cache-redirections.html:
* http/tests/cache/resources/cache-control-redirect.php:
Use less confusing name (max_age->expiration vs. max-age) and fix logic.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@184837
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz@apple.com [Sun, 24 May 2015 02:50:25 +0000 (02:50 +0000)]
<rdar://problem/
21090327> /S/L/PrivateFrameworks/WebKit.framework is missing Headers and PrivateHeaders symlinks
https://bugs.webkit.org/show_bug.cgi?id=145354
Reviewed by David Kilzer.
* WebKit2.xcodeproj/project.pbxproj: Create Headers and PrivateHeaders symlinks alongside
the dylib symlink.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@184834
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Sun, 24 May 2015 01:26:34 +0000 (01:26 +0000)]
Rename ShareableResource::create(Handle&) to map(Handle&) to match SharedMemory.
https://bugs.webkit.org/show_bug.cgi?id=145288
Patch by Sungmann Cho <sungmann.cho@navercorp.com> on 2015-05-23
Reviewed by Sam Weinig.
* Shared/ShareableResource.cpp:
(WebKit::ShareableResource::Handle::tryWrapInSharedBuffer):
(WebKit::ShareableResource::map):
(WebKit::ShareableResource::create): Deleted.
* Shared/ShareableResource.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@184833
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mmaxfield@apple.com [Sun, 24 May 2015 01:22:53 +0000 (01:22 +0000)]
Cleanup after r184796
https://bugs.webkit.org/show_bug.cgi?id=145333
Reviewed by Alexey Proskuryakov.
No new tests because there is no behavior change.
* platform/graphics/cocoa/FontCascadeCocoa.mm:
(WebCore::RenderingStyleSaver::RenderingStyleSaver): Deleted.
(WebCore::RenderingStyleSaver::~RenderingStyleSaver): Deleted.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@184832
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zalan@apple.com [Sat, 23 May 2015 19:28:31 +0000 (19:28 +0000)]
Rebaseline after r184825. Remove artificial extra space between 2 text renderers.
Reviewed by Antti Koivisto.
* animations/lineheight-animation-expected.txt:
* animations/simultaneous-start-transform-expected.txt:
* animations/width-using-ems-expected.txt:
* fast/events/window-events-bubble-expected.txt:
* fast/events/window-events-bubble2-expected.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@184829
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
utatane.tea@gmail.com [Sat, 23 May 2015 18:41:53 +0000 (18:41 +0000)]
Introduce UniquedStringImpl and SymbolImpl to separate symbolic strings from AtomicStringImpl
https://bugs.webkit.org/show_bug.cgi?id=144848
Reviewed by Darin Adler.
Source/JavaScriptCore:
Use UniquedStringImpl, SymbolImpl and AtomicStringImpl.
* API/JSCallbackObject.h:
* builtins/BuiltinNames.h:
(JSC::BuiltinNames::isPrivateName):
* bytecode/BytecodeIntrinsicRegistry.h:
* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::CodeBlock):
* bytecode/ComplexGetStatus.cpp:
(JSC::ComplexGetStatus::computeFor):
* bytecode/ComplexGetStatus.h:
* bytecode/GetByIdStatus.cpp:
(JSC::GetByIdStatus::computeFromLLInt):
(JSC::GetByIdStatus::computeFor):
(JSC::GetByIdStatus::computeForStubInfo):
* bytecode/GetByIdStatus.h:
* bytecode/Instruction.h:
(JSC::Instruction::Instruction):
* bytecode/PutByIdStatus.cpp:
(JSC::PutByIdStatus::computeFromLLInt):
(JSC::PutByIdStatus::computeFor):
(JSC::PutByIdStatus::computeForStubInfo):
* bytecode/PutByIdStatus.h:
* bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::BytecodeGenerator):
(JSC::BytecodeGenerator::visibleNameForParameter):
(JSC::BytecodeGenerator::hasConstant):
(JSC::BytecodeGenerator::addConstant):
* bytecompiler/BytecodeGenerator.h:
* bytecompiler/NodesCodegen.cpp:
(JSC::PropertyListNode::emitBytecode):
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::parseBlock):
(JSC::DFG::ByteCodeParser::InlineStackEntry::InlineStackEntry):
* dfg/DFGDesiredIdentifiers.cpp:
(JSC::DFG::DesiredIdentifiers::addLazily):
(JSC::DFG::DesiredIdentifiers::at):
(JSC::DFG::DesiredIdentifiers::reallyAdd):
* dfg/DFGDesiredIdentifiers.h:
(JSC::DFG::DesiredIdentifiers::operator[]):
* dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
(JSC::DFG::FixupPhase::isStringPrototypeMethodSane):
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileIn):
* dfg/DFGSpeculativeJIT.h:
(JSC::DFG::SpeculativeJIT::identifierUID):
(JSC::DFG::SpeculativeJIT::callOperation):
* ftl/FTLCompile.cpp:
(JSC::FTL::mmAllocateDataSection):
* ftl/FTLInlineCacheDescriptor.h:
(JSC::FTL::InlineCacheDescriptor::InlineCacheDescriptor):
(JSC::FTL::InlineCacheDescriptor::uid):
(JSC::FTL::GetByIdDescriptor::GetByIdDescriptor):
(JSC::FTL::PutByIdDescriptor::PutByIdDescriptor):
(JSC::FTL::CheckInDescriptor::CheckInDescriptor):
* ftl/FTLIntrinsicRepository.h:
* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::compilePutById):
(JSC::FTL::LowerDFGToLLVM::compileIn):
(JSC::FTL::LowerDFGToLLVM::compileMaterializeCreateActivation):
(JSC::FTL::LowerDFGToLLVM::getById):
* ftl/FTLOperations.cpp:
(JSC::FTL::operationMaterializeObjectInOSR):
* ftl/FTLSlowPathCall.cpp:
(JSC::FTL::callOperation):
* ftl/FTLSlowPathCall.h:
* jit/JIT.h:
* jit/JITInlines.h:
(JSC::JIT::callOperation):
* jit/JITOperations.cpp:
* jit/JITOperations.h:
* parser/Nodes.cpp:
(JSC::ProgramNode::setClosedVariables):
* parser/Nodes.h:
(JSC::ScopeNode::captures):
(JSC::ScopeNode::setClosedVariables):
(JSC::ProgramNode::closedVariables):
* parser/Parser.cpp:
(JSC::Parser<LexerType>::parseInner):
(JSC::Parser<LexerType>::didFinishParsing):
(JSC::Parser<LexerType>::parseContinueStatement):
* parser/Parser.h:
(JSC::Scope::Scope):
(JSC::Scope::pushLabel):
(JSC::Scope::getLabel):
(JSC::Scope::declareCallee):
(JSC::Scope::declareVariable):
(JSC::Scope::declareParameter):
(JSC::Scope::declareBoundParameter):
(JSC::Scope::useVariable):
(JSC::Scope::copyCapturedVariablesToVector):
(JSC::Parser::closedVariables):
(JSC::ScopeLabelInfo::ScopeLabelInfo): Deleted.
* parser/SourceProviderCacheItem.h:
(JSC::SourceProviderCacheItem::usedVariables):
(JSC::SourceProviderCacheItem::writtenVariables):
(JSC::SourceProviderCacheItem::create):
* runtime/CommonIdentifiers.cpp:
(JSC::CommonIdentifiers::isPrivateName):
* runtime/CommonIdentifiers.h:
* runtime/Identifier.h:
(JSC::Identifier::impl):
(JSC::Identifier::Identifier):
(JSC::parseIndex):
(JSC::IdentifierRepHash::hash):
* runtime/IdentifierInlines.h:
(JSC::Identifier::fromUid):
* runtime/IntendedStructureChain.cpp:
(JSC::IntendedStructureChain::mayInterceptStoreTo):
* runtime/IntendedStructureChain.h:
* runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::init):
* runtime/Lookup.h:
(JSC::HashTable::entry):
* runtime/MapData.h:
* runtime/ObjectConstructor.cpp:
(JSC::objectConstructorGetOwnPropertySymbols):
* runtime/PrivateName.h:
(JSC::PrivateName::PrivateName):
(JSC::PrivateName::uid):
* runtime/PropertyMapHashTable.h:
* runtime/PropertyName.h:
(JSC::PropertyName::PropertyName):
(JSC::PropertyName::uid):
(JSC::PropertyName::publicName):
(JSC::parseIndex):
* runtime/PropertyNameArray.h:
(JSC::PropertyNameArray::addKnownUnique):
(JSC::PropertyNameArray::add):
* runtime/Structure.cpp:
(JSC::StructureTransitionTable::contains):
(JSC::StructureTransitionTable::get):
(JSC::StructureTransitionTable::add):
(JSC::Structure::addPropertyTransitionToExistingStructureImpl):
(JSC::Structure::addPropertyTransitionToExistingStructureConcurrently):
(JSC::Structure::getConcurrently):
(JSC::Structure::add):
(JSC::Structure::remove):
(JSC::Structure::toStructureShape):
* runtime/Structure.h:
(JSC::PropertyMapEntry::PropertyMapEntry):
* runtime/StructureInlines.h:
(JSC::Structure::getConcurrently):
* runtime/StructureTransitionTable.h:
(JSC::StructureTransitionTable::Hash::hash):
* runtime/Symbol.cpp:
(JSC::Symbol::Symbol):
* runtime/Symbol.h:
* runtime/SymbolConstructor.cpp:
(JSC::symbolConstructorFor):
(JSC::symbolConstructorKeyFor):
* runtime/SymbolTable.cpp:
(JSC::SymbolTable::uniqueIDForVariable):
(JSC::SymbolTable::globalTypeSetForVariable):
* runtime/SymbolTable.h:
* runtime/TypeSet.cpp:
(JSC::StructureShape::addProperty):
(JSC::StructureShape::propertyHash):
* runtime/TypeSet.h:
Source/WebCore:
Use UniquedStringImpl, SymbolImpl and AtomicStringImpl.
* bindings/js/JSDOMWindowCustom.cpp:
(WebCore::JSDOMWindow::getOwnPropertySlotByIndex):
* bindings/js/SerializedScriptValue.cpp:
(WebCore::CloneSerializer::write):
Source/WTF:
he current AtomicStringImpl accidentally means the symbol OR atomic StringImpl.
t's not correct to its name and it's error prone.
In this patch, we'll introduce/changes classes into WTF.
1. UniquedStringImpl
It's derived class from StringImpl. And it represents symbol || atomic StringImpl.
2. SymbolImpl
It's derived class from UniquedStringImpl. Only symbol strings can become this.
It ensures the given StringImpl is symbol in compile time.
3. AtomicStringImpl
It's derived class from UniquedStringImpl. Only atomic (non-normal && non-symbol) strings can become this.
It ensures the given StringImpl is atomic in compile time.
And, in this time, I just accept UniqueStringImpl in AtomicString. As the result,
1. Now AtomicStringImpl issue is fixed. Its SymbolImpl is separated and UniquedStringImpl is introduced.
2. But AtomicString still have both symbol and atomic strings.
This should be solved in the separated patch.
* WTF.vcxproj/WTF.vcxproj:
* WTF.vcxproj/WTF.vcxproj.filters:
* WTF.xcodeproj/project.pbxproj:
* wtf/CMakeLists.txt:
* wtf/PrintStream.cpp:
* wtf/PrintStream.h:
(WTF::printInternal):
* wtf/text/AtomicString.h:
(WTF::AtomicString::AtomicString):
* wtf/text/AtomicStringImpl.h:
* wtf/text/StringImpl.cpp:
(WTF::StringImpl::~StringImpl):
(WTF::StringImpl::createSymbol):
(WTF::StringImpl::createSymbolEmpty):
* wtf/text/StringImpl.h:
* wtf/text/SymbolImpl.h: Copied from Source/JavaScriptCore/runtime/PrivateName.h.
* wtf/text/SymbolRegistry.cpp:
(WTF::SymbolRegistry::symbolForKey):
(WTF::SymbolRegistry::keyForSymbol):
(WTF::SymbolRegistry::remove):
* wtf/text/SymbolRegistry.h:
* wtf/text/UniquedStringImpl.h: Copied from Source/JavaScriptCore/runtime/PrivateName.h.
Tools:
Use UniquedStringImpl, SymbolImpl and AtomicStringImpl.
* TestWebKitAPI/Tests/WTF/StringImpl.cpp:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@184828
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zalan@apple.com [Sat, 23 May 2015 16:06:36 +0000 (16:06 +0000)]
Simple line layout: Ignore -webkit-flow-*content while collecting text content for innerText.
https://bugs.webkit.org/show_bug.cgi?id=145344
rdar://problem/
20959522
Reviewed by Antti Koivisto.
This patch ensures that when a -webkit-flow-into content is present in a simple line layout container,
we skip it while collecting the text content for innerText.
It's not always guaranteed that a simple line layout container only contains simple text nodes. In such cases,
we need to ensure that text offset computing only takes the simple text nodes into account.
Source/WebCore:
Test: fast/text/simple-line-layout-inner-text-with-flow-content.html
* editing/TextIterator.cpp:
(WebCore::TextIterator::handleTextNode):
* editing/TextIterator.h:
LayoutTests:
* fast/text/simple-line-layout-inner-text-with-flow-content-expected.txt: Added.
* fast/text/simple-line-layout-inner-text-with-flow-content.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@184825
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Sat, 23 May 2015 15:07:27 +0000 (15:07 +0000)]
Web Inspector: Remove code related with unused style classes
https://bugs.webkit.org/show_bug.cgi?id=145332
Patch by Joseph Pecoraro <pecoraro@apple.com> on 2015-05-23
Reviewed by Timothy Hatcher.
* UserInterface/Views/ConsoleMessageView.js:
(WebInspector.ConsoleMessageView.prototype._formatWithSubstitutionString.append):
(WebInspector.ConsoleMessageView.prototype._formatWithSubstitutionString):
The "type-string" class has no styles associated with it. So the entire span can be removed.
* UserInterface/Views/DOMTreeElement.js:
Both of these style classes have no styles associated with them. Remove the class names.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@184824
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Sat, 23 May 2015 15:03:43 +0000 (15:03 +0000)]
Web Inspector: Improve native parameter lists a bit
https://bugs.webkit.org/show_bug.cgi?id=145338
Patch by Joseph Pecoraro <pecoraro@apple.com> on 2015-05-23
Reviewed by Timothy Hatcher.
* UserInterface/Models/NativeFunctionParameters.js:
* UserInterface/Views/ObjectTreePropertyTreeElement.js:
(WebInspector.ObjectTreePropertyTreeElement.prototype._functionParameterString):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@184823
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Sat, 23 May 2015 15:01:59 +0000 (15:01 +0000)]
Web Inspector: Update CSS Autocompletion properties and values
https://bugs.webkit.org/show_bug.cgi?id=145341
Patch by Joseph Pecoraro <pecoraro@apple.com> on 2015-05-23
Reviewed by Timothy Hatcher.
* UserInterface/Models/CSSKeywordCompletions.js:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@184822
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap@apple.com [Sat, 23 May 2015 06:40:41 +0000 (06:40 +0000)]
Fix one more merge error in static analyzer support.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotStaticAnalyzerQueueView.js:
(BuildbotStaticAnalyzerQueueView):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@184821
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Sat, 23 May 2015 06:31:04 +0000 (06:31 +0000)]
Web Inspector: Adopt Object.setPrototypeOf
https://bugs.webkit.org/show_bug.cgi?id=145335
Patch by Joseph Pecoraro <pecoraro@apple.com> on 2015-05-22
Reviewed by Timothy Hatcher.
For a case that won't easily move to ES6 classes use Object.setPrototypeOf.
* UserInterface/Protocol/InspectorBackend.js:
(InspectorBackend.Command.create):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@184820
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Sat, 23 May 2015 06:27:24 +0000 (06:27 +0000)]
Web Inspector: Inline use once class names and remove some unused class names
https://bugs.webkit.org/show_bug.cgi?id=145334
Patch by Joseph Pecoraro <pecoraro@apple.com> on 2015-05-22
Reviewed by Timothy Hatcher.
* UserInterface/Views/ApplicationCacheFrameContentView.js:
(WebInspector.ApplicationCacheFrameContentView):
* UserInterface/Views/BoxModelDetailsSectionRow.js:
(WebInspector.BoxModelDetailsSectionRow):
* UserInterface/Views/CSSStyleDeclarationSection.js:
(WebInspector.CSSStyleDeclarationSection):
* UserInterface/Views/CSSStyleDetailsSidebarPanel.js:
(WebInspector.CSSStyleDetailsSidebarPanel):
* UserInterface/Views/ClusterContentView.js:
(WebInspector.ClusterContentView):
* UserInterface/Views/CompletionSuggestionsView.js:
(WebInspector.CompletionSuggestionsView):
* UserInterface/Views/ConsolePrompt.js:
(WebInspector.ConsolePrompt):
* UserInterface/Views/ContentBrowser.js:
(WebInspector.ContentBrowser):
* UserInterface/Views/ContentFlowTreeElement.js:
(WebInspector.ContentFlowTreeElement):
* UserInterface/Views/ContentView.js:
(WebInspector.ContentView):
* UserInterface/Views/ContentViewContainer.js:
(WebInspector.ContentViewContainer):
* UserInterface/Views/CookieStorageContentView.js:
(WebInspector.CookieStorageContentView):
* UserInterface/Views/CookieStorageTreeElement.js:
(WebInspector.CookieStorageTreeElement):
* UserInterface/Views/DOMStorageContentView.js:
(WebInspector.DOMStorageContentView):
* UserInterface/Views/DOMTreeContentView.js:
(WebInspector.DOMTreeContentView):
* UserInterface/Views/DashboardView.js:
(WebInspector.DashboardView):
* UserInterface/Views/DatabaseTableContentView.js:
(WebInspector.DatabaseTableContentView):
* UserInterface/Views/DebuggerDashboardView.js:
(WebInspector.DebuggerDashboardView):
(WebInspector.DebuggerDashboardView.prototype._rebuildLocation):
* UserInterface/Views/DetailsSection.js:
(WebInspector.DetailsSection):
* UserInterface/Views/DetailsSectionSimpleRow.js:
* UserInterface/Views/FontResourceContentView.js:
(WebInspector.FontResourceContentView):
(WebInspector.FontResourceContentView.prototype.createMetricElement):
(WebInspector.FontResourceContentView.prototype.contentAvailable):
* UserInterface/Views/HierarchicalPathComponent.js:
(WebInspector.HierarchicalPathComponent):
(WebInspector.HierarchicalPathComponent.prototype.set selectorArrows):
* UserInterface/Views/IndexedDatabaseObjectStoreContentView.js:
* UserInterface/Views/LayoutTimelineOverviewGraph.js:
(WebInspector.LayoutTimelineOverviewGraph):
* UserInterface/Views/NetworkTimelineOverviewGraph.js:
(WebInspector.NetworkTimelineOverviewGraph):
* UserInterface/Views/OverviewTimelineView.js:
* UserInterface/Views/ProbeSetDetailsSection.js:
* UserInterface/Views/QuickConsole.js:
* UserInterface/Views/ReplayDashboardView.js:
* UserInterface/Views/ScriptContentView.js:
(WebInspector.ScriptContentView):
* UserInterface/Views/ScriptTimelineOverviewGraph.js:
(WebInspector.ScriptTimelineOverviewGraph):
* UserInterface/Views/TextContentView.js:
(WebInspector.TextContentView):
* UserInterface/Views/TimelineOverview.js:
(WebInspector.TimelineOverview):
* UserInterface/Views/TimelineOverviewGraph.js:
(WebInspector.TimelineOverviewGraph):
* UserInterface/Views/TimelineRecordBar.js:
(WebInspector.TimelineRecordBar):
* UserInterface/Views/TimelineRecordFrame.js:
(WebInspector.TimelineRecordFrame):
* UserInterface/Views/TimelineRecordingContentView.js:
(WebInspector.TimelineRecordingContentView):
* UserInterface/Views/TimelineRuler.js:
(WebInspector.TimelineRuler):
(WebInspector.TimelineRuler.prototype.set allowsTimeRangeSelection):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@184819
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap@apple.com [Sat, 23 May 2015 06:04:14 +0000 (06:04 +0000)]
Update tests broken by MediaPlaybackRequiresUserGesture renaming.
* media/no-autoplay-with-user-gesture-requirement.html:
* media/video-load-require-user-gesture.html:
* media/video-play-require-user-gesture.html:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@184818
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap@apple.com [Sat, 23 May 2015 05:50:34 +0000 (05:50 +0000)]
New test media/accessiblity-describes-video.html is flaky.
* platform/mac/TestExpectations: Marking as such, as suggested by Jer.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@184817
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mark.lam@apple.com [Sat, 23 May 2015 03:54:32 +0000 (03:54 +0000)]
Document::ensurePlugInsInjectedScript() should evaluate the injected script on its own frame.
https://bugs.webkit.org/show_bug.cgi?id=145328
Reviewed by Jon Lee.
trac.webkit.org/r184329 fixed HTMLPlugInImageElement::didAddUserAgentShadowRoot()
to use the document's frame instead of the page's main frame. However,
Document::ensurePlugInsInjectedScript() is still evaluating the injected script on
the main frame.
As a result, HTMLPlugInImageElement::didAddUserAgentShadowRoot()'s attempt to get
the injected createOverlay function from the document frame's global object will
fail. Fixing Document::ensurePlugInsInjectedScript() to evaluating the injected
script on the document's frame fixes the issue.
No new tests.
* dom/Document.cpp:
(WebCore::Document::ensurePlugInsInjectedScript):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@184816
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Sat, 23 May 2015 02:12:50 +0000 (02:12 +0000)]
Web Inspector: DOMTree Keyboard Shortcut 'H' to toggle element visibility is not working
https://bugs.webkit.org/show_bug.cgi?id=145331
Patch by Joseph Pecoraro <pecoraro@apple.com> on 2015-05-22
Reviewed by Brian Burg.
We no longer have CSSProperty.value setters. Instead of attempting
to toggle and clobber inline style values on the element we:
1. inject a <style> on the page like ".WebInspectorHide { visibility:hidden }"
2. toggle the WebInspectorHide class on the selected element
This approach is inspired by the original WebKit change in the
old inspector frontend: <https://webkit.org/b/110641>.
The old approach toggled a few properties (opacity and pointer events)
while the new approach uses visibility, matching other browsers.
* UserInterface/Views/DOMTreeOutline.js:
(WebInspector.DOMTreeOutline.prototype._hideElement.resolvedNode.injectStyleAndToggleClass):
(WebInspector.DOMTreeOutline.prototype._hideElement.resolvedNode):
(WebInspector.DOMTreeOutline.prototype._hideElement):
(WebInspector.DOMTreeOutline.prototype._hideElement.toggleProperties): Deleted.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@184815
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eric.carlson@apple.com [Sat, 23 May 2015 02:11:57 +0000 (02:11 +0000)]
MediaPlayer doesn't need isPlayingToWirelessPlaybackTarget and isCurrentPlaybackTargetWireless
https://bugs.webkit.org/show_bug.cgi?id=145325
Reviewed by Brent Fulgham.
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::webkitCurrentPlaybackTargetIsWireless): Call isCurrentPlaybackTargetWireless
directly.
(WebCore::HTMLMediaElement::wirelessRoutesAvailableDidChange): Ditto.
(WebCore::HTMLMediaElement::isPlayingToWirelessPlaybackTarget): Ditto.
(WebCore::HTMLMediaElement::mediaState): Ditto.
* html/HTMLMediaSession.cpp:
(WebCore::HTMLMediaSession::currentPlaybackTargetIsWireless): Deleted.
* html/HTMLMediaSession.h:
* platform/graphics/MediaPlayer.cpp:
(WebCore::MediaPlayer::isPlayingToWirelessPlaybackTarget): Deleted.
* platform/graphics/MediaPlayer.h:
* platform/graphics/MediaPlayerPrivate.h:
(WebCore::MediaPlayerPrivateInterface::isPlayingToWirelessPlaybackTarget): Deleted.
* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::isPlayingToWirelessPlaybackTarget): Deleted.
* platform/ios/WebVideoFullscreenModelVideoElement.mm:
(WebVideoFullscreenModelVideoElement::updateForEventName): Call webkitCurrentPlaybackTargetIsWireless.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@184814
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jonlee@apple.com [Sat, 23 May 2015 01:57:43 +0000 (01:57 +0000)]
Rename MediaPlaybackAllowsInline
https://bugs.webkit.org/show_bug.cgi?id=145315
Reviewed by Eric Carlson.
Our API uses allowsInlineMediaPlayback. Our symbols should reflect the same.
Source/WebCore:
* page/Settings.cpp: Update the static variable name as well as the setting.
* page/Settings.in: Ditto.
* Modules/mediacontrols/MediaControlsHost.idl: Rename to allowsInlineMediaPlayback.
Affects the media controls code.
* Modules/mediacontrols/MediaControlsHost.h:
* Modules/mediacontrols/MediaControlsHost.cpp:
(WebCore::MediaControlsHost::allowsInlineMediaPlayback):
(WebCore::MediaControlsHost::mediaPlaybackAllowsInline): Deleted.
Update to use the new name in the media controls.
* Modules/mediacontrols/mediaControlsApple.js:
(Controller.prototype.shouldHaveControls):
* Modules/mediacontrols/mediaControlsiOS.js:
(ControllerIOS.prototype.shouldHaveStartPlaybackButton):
* css/MediaQueryEvaluator.cpp:
(WebCore::video_playable_inlineMediaFeatureEval):
* html/HTMLMediaSession.cpp:
(WebCore::HTMLMediaSession::requiresFullscreenForVideoPlayback):
Source/WebKit/mac:
* WebView/WebPreferenceKeysPrivate.h: Update the name of the key, but not its
value, for backwards compatibility.
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]): Update the symbol.
(-[WebPreferences mediaPlaybackAllowsInline]): Ditto. This setting will not
be renamed in a future patch.
(-[WebPreferences setMediaPlaybackAllowsInline:]): Ditto.
* WebView/WebView.mm:
(-[WebView _preferencesChanged:]): Update the call to settings.
Source/WebKit/win:
* WebView.cpp:
(WebView::notifyPreferencesChanged): Use the new name.
Source/WebKit2:
* Shared/WebPreferencesDefinitions.h:
* UIProcess/API/C/WKPreferences.cpp:
(WKPreferencesSetMediaPlaybackAllowsInline): Update the call to preferences.
The C API will not change in a future patch.
(WKPreferencesGetMediaPlaybackAllowsInline): Ditto.
* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView initWithFrame:configuration:]): Update the name of the key.
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences): Ditto.
* UIProcess/API/gtk/WebKitSettings.cpp: Update the call.
(webkit_settings_get_media_playback_allows_inline):
(webkit_settings_set_media_playback_allows_inline):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@184813
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jonlee@apple.com [Sat, 23 May 2015 01:55:41 +0000 (01:55 +0000)]
Rename MediaPlaybackAllowsAirPlay
https://bugs.webkit.org/show_bug.cgi?id=145316
Reviewed by Eric Carlson.
In preparation for an API rename, update internal symbols from mediaPlaybackAllowsAirPlay
to allowsAirPlayForMediaPlayback.
Source/WebCore:
* page/Settings.in: Update the setting name.
* html/HTMLMediaSession.cpp:
(WebCore::HTMLMediaSession::wirelessVideoPlaybackDisabled): Update the call to settings.
* testing/InternalSettings.h: Update the name of the member variable.
* testing/InternalSettings.cpp: Update the names and calls to settings.
(WebCore::InternalSettings::Backup::Backup):
(WebCore::InternalSettings::InternalSettings):
(WebCore::InternalSettings::resetToConsistentState):
(WebCore::InternalSettings::setWirelessPlaybackDisabled):
Source/WebKit/mac:
* WebView/WebPreferenceKeysPrivate.h: Update the name but keep its value, for backwards
compatibility.
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]): Update to reference the new key name.
(-[WebPreferences mediaPlaybackAllowsAirPlay]): Ditto. This API will not change in a future
patch.
(-[WebPreferences setMediaPlaybackAllowsAirPlay:]): Ditto.
* WebView/WebView.mm:
(-[WebView _preferencesChanged:]): Update the call to settings.
Source/WebKit2:
* Shared/WebPreferencesDefinitions.h: Update the name.
* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView initWithFrame:configuration:]): Ditto.
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences): Update the call to settings.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@184811
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jonlee@apple.com [Sat, 23 May 2015 01:15:32 +0000 (01:15 +0000)]
Unreviewed build fix for Windows.
* WebView.cpp:
(WebView::notifyPreferencesChanged):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@184810
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
dburkart@apple.com [Sat, 23 May 2015 00:54:59 +0000 (00:54 +0000)]
Fix internal dashboard breakage from recent commit.
https://bugs.webkit.org/show_bug.cgi?id=144814
Unreviewed build fix.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotStaticAnalyzerQueueView.js:
(BuildbotStaticAnalyzerQueueView.prototype.update.appendStaticAnalyzerQueueStatus):
(BuildbotStaticAnalyzerQueueView.prototype.update):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@184809
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap@apple.com [Sat, 23 May 2015 00:26:54 +0000 (00:26 +0000)]
REGRESSION (OS X 10.9.2): PageVisibilityStateWithWindowChanges.WebKit2 API test fails
https://bugs.webkit.org/show_bug.cgi?id=130463
rdar://problem/
20461342
Reviewed by Tim Horton.
This was more of a timing related flakiness than an actual OS version specific bug,
we weren't getting window visibility notifications.
I will look into adding this function call to DumpRenderTree separately, layout tests
might actually rely on the broken behavior.
* TestWebKitAPI/Tests/mac/PageVisibilityStateWithWindowChanges.mm:
(TestWebKitAPI::TEST_F):
* TestWebKitAPI/mac/mainMac.mm:
(main):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@184807
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rniwa@webkit.org [Sat, 23 May 2015 00:25:31 +0000 (00:25 +0000)]
Show results and status before revisions for A/B testing results
https://bugs.webkit.org/show_bug.cgi?id=145327
Reviewed by Chris Dumez.
Place the results and the status columns before the columns for revisions.
Also show the absolute difference as well as the relative difference between the averages of A and B.
* public/v2/app.js:
(App.TestGroupPane._populate):
(App.TestGroupPane._computeStatisticalSignificance):
* public/v2/index.html:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@184806
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
dburkart@apple.com [Sat, 23 May 2015 00:19:03 +0000 (00:19 +0000)]
Add missing file from r184804 (mis-applied diff).
https://bugs.webkit.org/show_bug.cgi?id=144814
Reviewed by Alexey Proskuryakov.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotStaticAnalyzerQueueView.js: Added.
(BuildbotStaticAnalyzerQueueView):
(BuildbotStaticAnalyzerQueueView.prototype.update.appendStaticAnalyzerQueueStatus):
(BuildbotStaticAnalyzerQueueView.prototype.update):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@184805
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
dburkart@apple.com [Sat, 23 May 2015 00:11:30 +0000 (00:11 +0000)]
Add support to the botwatchers dashboard for a static analyzer bot.
https://bugs.webkit.org/show_bug.cgi?id=144814
Reviewed by Alexey Proskuryakov.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotIteration.js:
scan-build should be considered a productive step.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotQueue.js:
(BuildbotQueue):
Adds support for the staticAnalyzer property
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotTestResults.js:
(BuildbotTestResults.prototype._parseResults):
Get bug count from the scan-build step output
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Main.js:
(documentReady):
Rename the performance column 'Other', and merge the current 'Other' column with it.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js:
(WebKitBuildbot):
Now that performance bots are part of the 'Other' column, give them better headings.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@184804
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jonlee@apple.com [Fri, 22 May 2015 23:57:59 +0000 (23:57 +0000)]
Unreviewed GTK fix after r184802.
* UIProcess/API/gtk/WebKitSettings.cpp:
(webkit_settings_get_media_playback_requires_user_gesture):
(webkit_settings_set_media_playback_requires_user_gesture):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@184803
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jonlee@apple.com [Fri, 22 May 2015 23:56:38 +0000 (23:56 +0000)]
Rename MediaPlaybackRequiresUserGesture
https://bugs.webkit.org/show_bug.cgi?id=145314
Reviewed by Anders Carlsson.
In preparation for an API rename, update internal symbols from mediaPlaybackRequiresUserGesture
to requiresUserGestureForMediaPlayback.
Source/WebCore:
* page/Settings.cpp: update static const default variable name.
* page/Settings.in: update the setting name and static const default variable name.
* Modules/webaudio/AudioContext.cpp:
(WebCore::AudioContext::constructCommon): Update settings call.
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::HTMLMediaElement): Ditto.
Source/WebKit/mac:
No changes are being made to the API in this patch.
* WebView/WebPreferenceKeysPrivate.h: Update the name of the key, but not its value, for backwards
compatibility.
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]): Update the symbol.
(-[WebPreferences mediaPlaybackRequiresUserGesture]): Ditto. This setting will not be renamed
in a future patch.
(-[WebPreferences setMediaPlaybackRequiresUserGesture:]): Ditto.
* WebView/WebView.mm:
(-[WebView _preferencesChanged:]): Update the call to settings.
Source/WebKit2:
No changes are being made to the API in this patch.
* Shared/WebPreferencesDefinitions.h: Update the name of the macro and the setting.
* UIProcess/API/C/WKPreferences.cpp: The C API will not change in a future patch.
(WKPreferencesSetMediaPlaybackRequiresUserGesture): Update the call to preferences.
(WKPreferencesGetMediaPlaybackRequiresUserGesture): Ditto.
* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView initWithFrame:configuration:]): Update the name of the key.
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences): Ditto.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@184802
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jdiggs@igalia.com [Fri, 22 May 2015 23:44:18 +0000 (23:44 +0000)]
AX: Figure out why list-detection2.html test fails on GTK
https://bugs.webkit.org/show_bug.cgi?id=145273
Reviewed by Chris Fleizach.
Only consider the text under the pseudo element for GTK and EFL.
The other platforms expose rendered text content through their
own accessible objects. This will fix the crash on Windows until
it can be looked into properly.
No new tests. This should stop list-detection2.html to stop crashing on Windows.
* accessibility/AccessibilityList.cpp:
(WebCore::AccessibilityList::childHasPseudoVisibleListItemMarkers):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@184801
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 22 May 2015 23:29:25 +0000 (23:29 +0000)]
Unreviewed, rolling out r183647.
https://bugs.webkit.org/show_bug.cgi?id=145326
broke some toolbar blurring behavior (Requested by thorton on
#webkit).
Reverted changeset:
"Asynchronous (or timed-out synchronous) resize flashes white
instead of page background color"
https://bugs.webkit.org/show_bug.cgi?id=144468
http://trac.webkit.org/changeset/183647
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@184800
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jer.noble@apple.com [Fri, 22 May 2015 23:15:37 +0000 (23:15 +0000)]
[Mac] Audio tracks tagged as 'describes-video' are not automatically selected when that system accessibility option is set.
https://bugs.webkit.org/show_bug.cgi?id=145228
Reviewed by Eric Carlson.
Source/WebCore:
Tests: http/tests/media/hls/hls-accessiblity-describes-video.html
media/accessiblity-describes-video.html
Add support to CaptionUserPreferences to return the user's preferred audio characteristics,
including "public.accessibility.describes-video". When the media accessibility options change,
trigger the HTMLMediaElement to update the list of tracks, and chose a new audio track if
appropriate. Manually filter those tracks matching the requested characteristics in
MediaSelectionGroupAVFObjC. Allow these characteristics to be overrided by Internals for
testing purposes.
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::captionPreferencesChanged): Call tracksChanged().
(WebCore::HTMLMediaElement::mediaPlayerPreferredAudioCharacteristics): Pass through to the page's caption preferences.
* html/HTMLMediaElement.h:
* page/CaptionUserPreferences.cpp:
(WebCore::CaptionUserPreferences::setPreferredAudioCharacteristic): Simple setter.
(WebCore::CaptionUserPreferences::preferredAudioCharacteristics): Simple getter.
* page/CaptionUserPreferences.h:
* page/CaptionUserPreferencesMediaAF.cpp:
(WebCore::CaptionUserPreferencesMediaAF::~CaptionUserPreferencesMediaAF): Unregister for audio characteristics change notifications.
(WebCore::CaptionUserPreferencesMediaAF::setInterestedInCaptionPreferenceChanges): Register for same.
(WebCore::CaptionUserPreferencesMediaAF::setPreferredAudioCharacteristic): If in testing mode, pass to superclass; otherwise no-op.
(WebCore::CaptionUserPreferencesMediaAF::preferredAudioCharacteristics): If in testing mode, pass to superclass;
otherwise, ask the media accessibility framework.
* page/CaptionUserPreferencesMediaAF.h:
* platform/graphics/MediaPlayer.cpp:
(WebCore::MediaPlayer::tracksChanged): Pass through to m_private.
(WebCore::MediaPlayer::preferredAudioCharacteristics): Pass through to HTMLMediaElement.
* platform/graphics/MediaPlayer.h:
(WebCore::MediaPlayerClient::mediaPlayerPreferredAudioCharacteristics): Added; return empty vector by default.
* platform/graphics/MediaPlayerPrivate.h:
(WebCore::MediaPlayerPrivateInterface::tracksChanged): Added; no-op by default.
* platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
* platform/graphics/avfoundation/MediaSelectionGroupAVFObjC.h:
* platform/graphics/avfoundation/MediaSelectionGroupAVFObjC.mm:
(WebCore::MediaSelectionGroupAVFObjC::create): Added characteristics parameter.
(WebCore::MediaSelectionGroupAVFObjC::MediaSelectionGroupAVFObjC): Ditto.
(WebCore::MediaSelectionGroupAVFObjC::updateOptions): Add an additional filter against the
passed-in characteristics.
* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::determineChangedTracksFromNewTracksAndOldItems): Pass the characteristics to the media selection group.
(WebCore::MediaPlayerPrivateAVFoundationObjC::updateAudioTracks): Pass in the user's preferred characteristics.
(WebCore::MediaPlayerPrivateAVFoundationObjC::updateVideoTracks): Pass in an empty vector.
* testing/Internals.cpp:
(WebCore::Internals::userPreferredAudioCharacteristics): Added; return the current setting.
(WebCore::Internals::setUserPreferredAudioCharacteristic): Added; pass through to CaptionUserPreferences.
* testing/Internals.h:
* testing/Internals.idl:
Add soft link macros which account for a possible failure to look up constants.
* platform/cf/MediaAccessibilitySoftLink.cpp:
* platform/cf/MediaAccessibilitySoftLink.h:
* platform/mac/SoftLinking.h:
* platform/win/SoftLinking.h:
LayoutTests:
* http/tests/media/hls/hls-accessiblity-describes-video-expected.txt: Added.
* http/tests/media/hls/hls-accessiblity-describes-video.html: Added.
* http/tests/media/resources/hls/audio-describes-video.m3u8: Added.
* http/tests/media/resources/hls/english/description.aac: Added.
* http/tests/media/resources/hls/english/description.m3u8: Added.
* media/accessiblity-describes-video-expected.txt: Added.
* media/accessiblity-describes-video.html: Added.
* media/content/audio-describes-video.mp4: Added.
* platform/mac-mavericks/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@184799
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 22 May 2015 22:52:20 +0000 (22:52 +0000)]
Image link doesn't create a preview view controller.
https://bugs.webkit.org/show_bug.cgi?id=145320
Also try to create the preview view controller if the hit-tested node
is a image link.
Patch by Yongjun Zhang <yongjun_zhang@apple.com> on 2015-05-22
Reviewed by Beth Dakin.
* UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView gestureRecognizerShouldBegin:]):
(-[WKContentView previewViewControllerForPosition:inSourceView:]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@184798
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
timothy_horton@apple.com [Fri, 22 May 2015 21:48:53 +0000 (21:48 +0000)]
Avoid doing an extra layout in some cases while doing scale-to-fit
https://bugs.webkit.org/show_bug.cgi?id=145321
<rdar://problem/
21051165>
Reviewed by Beth Dakin.
* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::TiledCoreAnimationDrawingArea::scaleViewToFitDocumentIfNeeded):
If we make it to scaleViewToFitDocumentIfNeeded with valid layout,
the view width is still less than the last-known minimum document size,
and the document size hasn't changed, update the view scale without
doing an extra layout, keeping the fixed layout size at the previously
computed minimum document size.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@184797
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mmaxfield@apple.com [Fri, 22 May 2015 21:43:14 +0000 (21:43 +0000)]
[Cocoa] Use CTFontDrawGlyphs() instead of CGContextShowGlyphsWithAdvances()/CGContextShowGlyphsAtPositions()
https://bugs.webkit.org/show_bug.cgi?id=145234
Reviewed by Enrica Casucci.
Eventually, we want to migrate entirely off of text-related CoreGraphics calls
and onto CoreText calls (in order to reduce complexity as well as eventually
removing the need for FontPlatformData to hold a CGFontRef). There is an
equivalent call to CGContextShowGlyphsWithAdvances() and
CGContextShowGlyphsAtPositions(), namely, CTFontDrawGlyphs(), which we have
found is as performant as its CoreGraphics counterparts. This patch simply
migrates these two CG calls to its CT counterpart.
Performance was measured on a iPhone 4s as well as a Mid 2010 Mac Pro.
No new tests because there is no behavior change.
* platform/graphics/cocoa/FontCascadeCocoa.mm:
(WebCore::showGlyphsWithAdvances):
(WebCore::FontCascade::drawGlyphs):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@184796
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eric.carlson@apple.com [Fri, 22 May 2015 21:01:39 +0000 (21:01 +0000)]
[Mac] Don't show default controls after playing to wireless target
https://bugs.webkit.org/show_bug.cgi?id=145317
Reviewed by Dean Jackson.
* Modules/mediacontrols/mediaControlsApple.js:
(Controller.prototype.handlePanelTransitionEnd): Don't show controls unless the video
element has the 'controls' attribute.
(Controller.prototype.setPlaying): Check this.video.controls directly because we never want
to show controls unless the attribute is present.
(Controller.prototype.showControls): Ditto.
(Controller.prototype.updateWirelessPlaybackStatus): Call reconnectControls.
(Controller.prototype.handleWirelessPlaybackChange): Don't call reconnectControls, it will
happen in updateWirelessPlaybackStatus.
(Controller.prototype.showInlinePlaybackPlaceholderOnly): Deleted.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@184794
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cdumez@apple.com [Fri, 22 May 2015 20:47:53 +0000 (20:47 +0000)]
[CG] Regression(r78652): Partially decoded images are not properly removed from MemoryCache when pruning
https://bugs.webkit.org/show_bug.cgi?id=145310
Reviewed by Antti Koivisto.
r78652 added partially decoded images to the MemoryCache's list of live
decoded resources so that they can be pruned on memory pressure. This
was needed because CG decodes part of the image to determine its
properties (e.g. its size). On memory pressure, we call
BitmapImage::destroyDecodedData() which clears the ImageSource and
frees up this extra decoded data.
However, we would fail to remove such partially decoded images from the
MemoryCache's list of live resources when pruning. This is because
BitmapImage::destroyMetadataAndNotify() fails to take into account the
decoded properties size when no frame has been cleared. We would thus
fail to detect a decoded size change and not call
CachedImage::decodedSizeChanged(). As a result, the CachedImage's
decoded size is not reset to 0 and we don't remove it from live decoded
resources.
This patch updates BitmapImage::destroyMetadataAndNotify() to account
for m_decodedPropertiesSize even if frameBytesCleared is 0. This way,
images for which we have't decoded any frames yet will correctly report
that we cleared the decoded data used to determine the image properties
and their decoded size will be properly reset to 0. As a result, these
will be removed from the MemoryCache's list of live decoded resources.
* platform/graphics/BitmapImage.cpp:
(WebCore::BitmapImage::destroyDecodedData):
(WebCore::BitmapImage::destroyMetadataAndNotify):
(WebCore::BitmapImage::dataChanged):
* platform/graphics/BitmapImage.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@184793
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 22 May 2015 20:31:47 +0000 (20:31 +0000)]
Web Inspector: Unable to get cursor in new Rule section after creating multiple New Rules
https://bugs.webkit.org/show_bug.cgi?id=145294
Patch by Joseph Pecoraro <pecoraro@apple.com> on 2015-05-22
Reviewed by Timothy Hatcher.
* inspector/InspectorStyleSheet.cpp:
(WebCore::InspectorStyleSheet::ensureParsedDataReady):
Allow stylesheets with mutations for the inspector stylesheet
which we control mutations of.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@184792
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
timothy_horton@apple.com [Fri, 22 May 2015 20:30:36 +0000 (20:30 +0000)]
Turn on autosaving of toolbar configuration in MiniBrowser
Rubber-stamped by Dan Bernstein.
* MiniBrowser/mac/BrowserWindow.xib:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@184791
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bdakin@apple.com [Fri, 22 May 2015 20:23:33 +0000 (20:23 +0000)]
Yellow highlight and DD popover don't go away when scrolling an iframe
https://bugs.webkit.org/show_bug.cgi?id=145312
-and corresponding-
rdar://problem/
19692334
Reviewed by Tim Horton.
Match what Lookup already does for their popover and dismiss our popovers on
scroll.
* UIProcess/API/mac/WKView.mm:
(-[WKView scrollWheel:]):
This should not be needed anymore.
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::pageDidScroll):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@184790
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eric.carlson@apple.com [Fri, 22 May 2015 19:14:48 +0000 (19:14 +0000)]
[Mac] Device picker menu should be persistent
https://bugs.webkit.org/show_bug.cgi?id=145311
Reviewed by Brent Fulgham.
* Modules/mediasession/WebMediaSessionManager.cpp:
(WebCore::WebMediaSessionManager::addPlaybackTargetPickerClient): Add logging.
(WebCore::WebMediaSessionManager::removePlaybackTargetPickerClient): Ditto.
(WebCore::WebMediaSessionManager::removeAllPlaybackTargetPickerClients): Ditto.
(WebCore::WebMediaSessionManager::showPlaybackTargetPicker): Ditto.
(WebCore::WebMediaSessionManager::clientStateDidChange): Ditto.
(WebCore::WebMediaSessionManager::externalOutputDeviceAvailableDidChange): Ditto.
(WebCore::WebMediaSessionManager::configurePlaybackTargetMonitoring): Ditto.
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::mediaState): Don't set ExternalDeviceAutoPlayCandidate unless
there is an event listener.
* platform/graphics/avfoundation/objc/MediaPlaybackTargetPickerMac.mm:
(WebCore::MediaPlaybackTargetPickerMac::~MediaPlaybackTargetPickerMac): Release the menu
controller and remove observers.
(WebCore::MediaPlaybackTargetPickerMac::create): Add logging.
(WebCore::MediaPlaybackTargetPickerMac::pendingActionTimerFired): Ditto.
(WebCore::MediaPlaybackTargetPickerMac::availableDevicesDidChange): Ditto.
(WebCore::MediaPlaybackTargetPickerMac::devicePicker): Ditto.
(WebCore::MediaPlaybackTargetPickerMac::showPlaybackTargetPicker): Ditto.
(WebCore::MediaPlaybackTargetPickerMac::addPendingAction): Start the timer after
a brief pause to debounce multiple identical notifications.
(WebCore::MediaPlaybackTargetPickerMac::currentDeviceDidChange): Add logging.
(WebCore::MediaPlaybackTargetPickerMac::startingMonitoringPlaybackTargets): Add logging.
(WebCore::MediaPlaybackTargetPickerMac::stopMonitoringPlaybackTargets): Don't release
the menu controller delegate.
(-[WebAVOutputDeviceMenuControllerHelper observeValueForKeyPath:ofObject:change:context:]): Add logging.
* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::setWirelessPlaybackTarget): Update logging.
(WebCore::MediaPlayerPrivateAVFoundationObjC::setShouldPlayToPlaybackTarget): Ditto.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@184788
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap@apple.com [Fri, 22 May 2015 19:03:54 +0000 (19:03 +0000)]
build.webkit.org/dashboard: Simplify BuildbotQueueView creation code
https://bugs.webkit.org/show_bug.cgi?id=145297
Reviewed by Tim Horton.
This is a refactoring to simplify code, and to make it more logical.
It is up to the view to decide how to present the queues, and whether to split
them into debug and release, or in some different way.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotBuilderQueueView.js:
(BuildbotBuilderQueueView.filterQueues):
(BuildbotBuilderQueueView):
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotLeaksQueueView.js:
(BuildbotLeaksQueueView):
(BuildbotLeaksQueueView.prototype.update):
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotPerformanceQueueView.js:
(BuildbotPerformanceQueueView):
(BuildbotPerformanceQueueView.prototype.update):
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotQueueView.js:
(BuildbotQueueView):
(BuildbotQueueView.prototype._updateQueues):
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotTesterQueueView.js:
(BuildbotTesterQueueView):
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Main.js:
(documentReady):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@184784
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap@apple.com [Fri, 22 May 2015 18:57:05 +0000 (18:57 +0000)]
Build fix. Added a platform ifdef.
* platform/network/cf/ResourceRequestCFNet.cpp:
(WebCore::ResourceRequest::isUserInitiatedKey):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@184783
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
fpizlo@apple.com [Fri, 22 May 2015 18:48:03 +0000 (18:48 +0000)]
Arguments elimination phase mishandles arity check failure in its reduction of LoadVarargs to GetStack/PutStacks
https://bugs.webkit.org/show_bug.cgi?id=145298
Reviewed by Geoffrey Garen.
* dfg/DFGArgumentsEliminationPhase.cpp: Fix the bug. I restructured the loop to make it more obvious that we're initializing everything that we're supposed to initialize.
* dfg/DFGNode.h: Add a comment to clarify something I was confused about while writing this code.
* dfg/DFGPutStackSinkingPhase.cpp: Hacking on PutStacks made me think deep thoughts, and I added some FIXMEs.
* tests/stress/fold-load-varargs-arity-check-fail-barely.js: Added. This test crashes or fails before this patch.
* tests/stress/fold-load-varargs-arity-check-fail.js: Added. This is even more sure to crash or fail.
* tests/stress/simplify-varargs-mandatory-minimum-smaller-than-limit.js: Added. Not sure if we had coverage for this case before.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@184781
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
timothy_horton@apple.com [Fri, 22 May 2015 18:43:42 +0000 (18:43 +0000)]
Remove action menu support
https://bugs.webkit.org/show_bug.cgi?id=145305
<rdar://problem/
21070771>
Reviewed by Anders Carlsson.
* WebCore.xcodeproj/project.pbxproj:
* platform/spi/mac/NSMenuSPI.h:
* platform/spi/mac/NSViewSPI.h: Removed.
Remove some SPI.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit2/action-menu-target.pdf: Removed.
* TestWebKitAPI/Tests/WebKit2/action-menu-targets.html: Removed.
* TestWebKitAPI/Tests/WebKit2ObjC/ActionMenus.mm: Removed.
* TestWebKitAPI/Tests/WebKit2ObjC/ActionMenusBundle.mm: Removed.
* TestWebKitAPI/Tests/WebKit2ObjC/ActionMenusBundleSPI.h: Removed.
Remove the tests.
* WebKit.xcodeproj/project.pbxproj:
Remove some files.
* Configurations/WebKitLegacy.xcconfig:
* WebView/WebActionMenuController.h: Removed.
* WebView/WebActionMenuController.mm: Removed.
* WebView/WebHTMLView.mm:
(-[WebHTMLView otherMouseDown:]):
(-[WebHTMLView scrollWheel:scrollWheel:]): Deleted.
(-[WebHTMLView mouseDown:mouseDown:]): Deleted.
* WebView/WebUIDelegatePrivate.h:
* WebView/WebView.mm:
(-[WebView _commonInitializationWithFrameName:groupName:]): Deleted.
(-[WebView _close]): Deleted.
(-[WebView prepareForMenu:withEvent:]): Deleted.
(-[WebView willOpenMenu:withEvent:]): Deleted.
(-[WebView didCloseMenu:withEvent:]): Deleted.
(-[WebView _actionMenuController]): Deleted.
* WebView/WebViewData.h:
* WebView/WebViewData.mm:
(-[WebViewPrivate dealloc]): Deleted.
* WebView/WebViewInternal.h:
Remove everything, except some enums that clients still refer to.
* Configurations/WebKit.xcconfig:
* Shared/API/c/WKActionMenuItemTypes.h:
* Shared/API/c/WKActionMenuTypes.h:
* UIProcess/API/Cocoa/WKViewPrivate.h:
* UIProcess/API/mac/WKView.mm:
(-[WKView _didPerformImmediateActionHitTest:contentPreventsDefault:userData:]):
(-[WKView dealloc]): Deleted.
(-[WKView mouseDown:]): Deleted.
(-[WKView initWithFrame:processPool:configuration:webView:]): Deleted.
(-[WKView prepareForMenu:withEvent:]): Deleted.
(-[WKView willOpenMenu:withEvent:]): Deleted.
(-[WKView didCloseMenu:withEvent:]): Deleted.
(-[WKView _didPerformActionMenuHitTest:forImmediateAction:contentPreventsDefault:userData:]): Deleted.
(-[WKView _actionMenuItemsForHitTestResult:withType:defaultActionMenuItems:]): Deleted.
(-[WKView _actionMenuItemsForHitTestResult:withType:defaultActionMenuItems:userData:]): Deleted.
* UIProcess/API/mac/WKViewInternal.h:
* UIProcess/PageClient.h:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::performImmediateActionHitTestAtLocation):
(WebKit::WebPageProxy::didPerformImmediateActionHitTest):
(WebKit::WebPageProxy::performActionMenuHitTestAtLocation): Deleted.
(WebKit::WebPageProxy::selectLastActionMenuRange): Deleted.
(WebKit::WebPageProxy::focusAndSelectLastActionMenuHitTestResult): Deleted.
(WebKit::WebPageProxy::didPerformActionMenuHitTest): Deleted.
* UIProcess/WebPageProxy.h:
* UIProcess/WebPageProxy.messages.in:
* UIProcess/mac/PageClientImpl.h:
* UIProcess/mac/PageClientImpl.mm:
(WebKit::PageClientImpl::didPerformImmediateActionHitTest):
(WebKit::PageClientImpl::didPerformActionMenuHitTest): Deleted.
* UIProcess/mac/WKActionMenuController.h: Removed.
* UIProcess/mac/WKActionMenuController.mm: Removed.
* UIProcess/mac/WKImmediateActionController.h:
* UIProcess/mac/WKImmediateActionController.mm:
(-[WKImmediateActionController didPerformImmediateActionHitTest:contentPreventsDefault:userData:]):
(-[WKImmediateActionController immediateActionRecognizerWillPrepare:]):
(-[WKImmediateActionController immediateActionRecognizerWillBeginAnimation:]):
(-[WKImmediateActionController didPerformActionMenuHitTest:contentPreventsDefault:userData:]): Deleted.
* WebKit2.xcodeproj/project.pbxproj:
* WebProcess/InjectedBundle/API/APIInjectedBundlePageContextMenuClient.h:
(API::InjectedBundle::PageContextMenuClient::prepareForImmediateAction):
(API::InjectedBundle::PageContextMenuClient::prepareForActionMenu): Deleted.
* WebProcess/InjectedBundle/API/c/WKBundlePageContextMenuClient.h:
* WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.cpp:
* WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.h:
* WebProcess/InjectedBundle/InjectedBundlePageContextMenuClient.cpp:
(WebKit::InjectedBundlePageContextMenuClient::prepareForImmediateAction):
(WebKit::InjectedBundlePageContextMenuClient::prepareForActionMenu): Deleted.
* WebProcess/InjectedBundle/InjectedBundlePageContextMenuClient.h:
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/WebPage.messages.in:
* WebProcess/WebPage/WebPageOverlay.cpp:
(WebKit::WebPageOverlay::actionContextForResultAtPoint):
* WebProcess/WebPage/WebPageOverlay.h:
(WebKit::WebPageOverlay::Client::actionContextForResultAtPoint):
* WebProcess/WebPage/mac/WebPageMac.mm:
(WebKit::textIndicatorTransitionForImmediateAction):
(WebKit::WebPage::performImmediateActionHitTestAtLocation):
(WebKit::textIndicatorTransitionForActionMenu): Deleted.
(WebKit::WebPage::performActionMenuHitTestAtLocation): Deleted.
(WebKit::WebPage::selectLastActionMenuRange): Deleted.
(WebKit::WebPage::focusAndSelectLastActionMenuHitTestResult): Deleted.
Remove everything, except some enums that clients still refer to.
Also, leave SPI that used to be shared between immediate actions and
action menus intact, even if it had "action menu" in the name. We can
deprecate and rename in another patch... except for the very recently-added
support from r184106, which we'll revert entirely, removing WKBundlePageOverlayV2,
which was not adopted by any clients.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@184780
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
antti@apple.com [Fri, 22 May 2015 17:41:46 +0000 (17:41 +0000)]
MaskImageOperation code does not manage CachedImageClients correctly
https://bugs.webkit.org/show_bug.cgi?id=145276
rdar://problem/
20959822
* rendering/RenderLayerMaskImageInfo.cpp:
(WebCore::RenderLayer::MaskImageInfo::removeMaskImageClients):
Followup fix: clear m_maskImageOperations vector.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@184779
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
basile_clement@apple.com [Fri, 22 May 2015 17:24:05 +0000 (17:24 +0000)]
Allow DFGClobberize to return non-node constants that must be later created
https://bugs.webkit.org/show_bug.cgi?id=145272
Reviewed by Filip Pizlo.
Source/JavaScriptCore:
This adds a new LazyNode class in DFG that represents either a Node*,
or a FrozenValue* with a way to convert it to a Node* provided a block
to insert it into. DFGClobberize is converted to use LazyNode instead
of Node* when def()'ing values, which allows to now define the array's
length as well as the value of its various fields in NewArray and
NewArrayBuffer nodes.
We also introduce a Vector<uint32_t> in DFG::Graph to collect all the
values that can be used as index, in order to avoid def()'ing too many
values at once for big NewArrayBuffers.
HeapLocation had to be updated to use a LazyNode as its index to be
able to define array values.
* CMakeLists.txt:
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
* JavaScriptCore.xcodeproj/project.pbxproj:
* dfg/DFGCSEPhase.cpp:
* dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
(JSC::DFG::DefMethodClobberize::operator()):
* dfg/DFGGraph.cpp:
(JSC::DFG::Graph::freezeFragile):
* dfg/DFGGraph.h:
* dfg/DFGHeapLocation.h:
(JSC::DFG::HeapLocation::HeapLocation):
(JSC::DFG::HeapLocation::index):
(JSC::DFG::HeapLocation::hash):
* dfg/DFGLazyNode.cpp: Added.
(JSC::DFG::LazyNode::dump):
* dfg/DFGLazyNode.h: Added.
(JSC::DFG::LazyNode::LazyNode):
(JSC::DFG::LazyNode::setNode):
(JSC::DFG::LazyNode::isHashTableDeletedValue):
(JSC::DFG::LazyNode::isNode):
(JSC::DFG::LazyNode::op):
(JSC::DFG::LazyNode::asNode):
(JSC::DFG::LazyNode::asValue):
(JSC::DFG::LazyNode::hash):
(JSC::DFG::LazyNode::operator==):
(JSC::DFG::LazyNode::operator!=):
(JSC::DFG::LazyNode::ensureIsNode):
(JSC::DFG::LazyNode::operator->):
(JSC::DFG::LazyNode::operator*):
(JSC::DFG::LazyNode::operator!):
(JSC::DFG::LazyNode::operator UnspecifiedBoolType*):
(JSC::DFG::LazyNode::setFrozenValue):
* dfg/DFGPreciseLocalClobberize.h:
(JSC::DFG::PreciseLocalClobberizeAdaptor::def):
* dfg/DFGPutStackSinkingPhase.cpp:
LayoutTests:
* js/regress/script-tests/cse-new-array-buffer.js: Added.
(foo):
* js/regress/script-tests/cse-new-array.js: Added.
(foo):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@184776
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
beidson@apple.com [Fri, 22 May 2015 17:24:04 +0000 (17:24 +0000)]
Rework how the ResourceRequest user initiated property key is used.
Followup to https://bugs.webkit.org/show_bug.cgi?id=145281
Source/WebCore:
Reviewed by NOBODY (OOPS!).
* platform/mac/WebCoreSystemInterface.h:
* platform/network/cf/ResourceRequest.h:
* platform/network/cf/ResourceRequestCFNet.cpp:
(WebCore::ResourceRequest::doUpdatePlatformRequest):
(WebCore::ResourceRequest::doUpdateResourceRequest):
(WebCore::ResourceRequest::isUserInitiatedKey):
* platform/network/cocoa/ResourceRequestCocoa.mm:
(WebCore::ResourceRequest::doUpdateResourceRequest):
(WebCore::ResourceRequest::doUpdatePlatformRequest):
Source/WebKit/mac:
Reviewed by NOBODY (OOPS!).
* WebCoreSupport/WebSystemInterface.mm:
(WKResourceRequestIsUserInitiatedKey): Deleted.
(InitWebCoreSystemInterface): Deleted.
Source/WebKit2:
Reviewed by NOBODY (OOPS!).
* Shared/API/Cocoa/_WKNSURLRequestExtras.mm:
(-[NSURLRequest _web_isUserInitiated]):
(-[NSMutableURLRequest _web_setIsUserInitiated:]):
* WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
(WKResourceRequestIsUserInitiatedKey): Deleted.
(InitWebCoreSystemInterface): Deleted.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@184775
268f45cc-cd09-0410-ab3c-
d52691b4dbfc