Timeline



May 21, 2015:

11:57 PM Changeset in webkit [184760] by jer.noble@apple.com
  • 9 edits in trunk/Source/WebCore

[iOS] Tell AVPlayerLayer when we enter optimized fullscreen mode.
https://bugs.webkit.org/show_bug.cgi?id=145289

Reviewed by Eric Carlson.

AVFoundation would normally already know that its AVPlayerLayer is in optimized
fullscreen mode, but because of the WebProcess/UIProcess split, they need to be
told explicitly in the WebProcess when the UIProcess enters optimized fullscreen
mode.

  • html/HTMLMediaElement.h:
  • html/HTMLVideoElement.cpp:

(WebCore::HTMLVideoElement::fullscreenModeChanged): Pass to private().

  • platform/graphics/MediaPlayer.cpp:

(WebCore::MediaPlayer::setVideoFullscreenMode): Pass to m_private.
(WebCore::MediaPlayer::fullscreenMode): Pass to m_client.

  • platform/graphics/MediaPlayer.h:

(WebCore::MediaPlayerClient::mediaPlayerFullscreenMode): Default implementation returns None.

  • platform/graphics/MediaPlayerPrivate.h:

(WebCore::MediaPlayerPrivateInterface::setVideoFullscreenMode): Default implementation is a no-op.

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:

(WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerLayer): Get the fullscreen

mode from MediaPlayer and tell the AVPlayerLayer if the mode is optimized.

(WebCore::MediaPlayerPrivateAVFoundationObjC::setVideoFullscreenMode):

Ditto.

  • platform/spi/mac/AVFoundationSPI.h:
11:36 PM Changeset in webkit [184759] by bshafiei@apple.com
  • 15 edits in branches/safari-601.1.32.2-branch/Source

Merged r184740. rdar://problem/21068522

11:35 PM Changeset in webkit [184758] by bshafiei@apple.com
  • 2 edits in branches/safari-601.1.32.2-branch/Source/WebKit2

Merged r184739. rdar://problem/20892362

11:35 PM Changeset in webkit [184757] by bshafiei@apple.com
  • 2 edits in branches/safari-601.1.32.2-branch/Source/WebKit2

Merged r184738. rdar://problem/20830673

11:34 PM Changeset in webkit [184756] by bshafiei@apple.com
  • 5 edits in branches/safari-601.1.32.2-branch/Source/WebKit2

Merged r184726. rdar://problem/21031414

11:32 PM Changeset in webkit [184755] by fpizlo@apple.com
  • 4 edits
    1 add in trunk/Source/JavaScriptCore

CPS rethreading should really get rid of GetLocals
https://bugs.webkit.org/show_bug.cgi?id=145290

Reviewed by Benjamin Poulain.

CPS rethreading is intended to get rid of redundant GetLocals. CSE can also do it, but
the idea is that you should be able to disable CSE and everything would still work. This
fixes a bug in CPS rethreading's GetLocal elimination: we should be calling replaceWith
rather than setReplacement, since setReplacement still leaves the original node.

  • dfg/DFGCPSRethreadingPhase.cpp:

(JSC::DFG::CPSRethreadingPhase::canonicalizeGetLocalFor): Fix the bug.

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::fixupNode): Eliminating GetLocals means that they turn into Check. We should handle Checks that have zero inputs.

  • dfg/DFGValidate.cpp:

(JSC::DFG::Validate::validateCPS): Add a validation for what a GetLocal should look like in ThreadedCPS.

  • tests/stress/get-local-elimination.js: Added.

(foo):

11:12 PM Changeset in webkit [184754] by jdiggs@igalia.com
  • 15 edits
    3 adds in trunk

AX: [GTK] Implement computedRoleString in AccessibilityUIElement
https://bugs.webkit.org/show_bug.cgi?id=128420

Reviewed by Chris Fleizach.

Source/WebCore:

Expose all ARIA roles (not just landmark-related roles) via an "xml-roles" AtkObject
attribute as per http://www.w3.org/TR/core-aam-1.1/#roleMappingGeneralRules

Expose non-empty computed role strings via AtkObject attribute named "computed-role".
Currently the computed role and the ARIA role value happen to be the same string, but
that might not always be the case. And AtkObject attributes are cheap.

Test: platform/gtk/accessibility/xml-roles-exposed.html.

  • accessibility/atk/WebKitAccessibleWrapperAtk.cpp:

(webkitAccessibleGetAttributes):

Tools:

  • WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:

(WTR::AccessibilityUIElement::computedRoleString): Implemented.

LayoutTests:

  • platform/gtk/TestExpectations: Removed roles-computedRoleString from the failing test.
  • platform/gtk/accessibility/image-link-expected.txt: Updated to reflect the new object attribute.
  • platform/gtk/accessibility/image-map2-expected.txt: Updated to reflect the new object attribute.
  • platform/gtk/accessibility/lists-expected.txt: Updated to reflect the new object attribute.
  • platform/gtk/accessibility/roles-computedRoleString-expected.txt: Added.
  • platform/gtk/accessibility/table-attributes-expected.txt: Updated to reflect the new object attribute.
  • platform/gtk/accessibility/table-cell-spans-expected.txt: Updated to reflect the new object attribute.
  • platform/gtk/accessibility/table-cells-expected.txt: Updated to reflect the new object attribute.
  • platform/gtk/accessibility/table-detection-expected.txt: Updated to reflect the new object attribute.
  • platform/gtk/accessibility/table-sections-expected.txt: Updated to reflect the new object attribute.
  • platform/gtk/accessibility/table-with-rules-expected.txt: Updated to reflect the new object attribute.
  • platform/gtk/accessibility/xml-roles-exposed-expected.txt: Added.
  • platform/gtk/accessibility/xml-roles-exposed.html: Added.
10:46 PM Changeset in webkit [184753] by bshafiei@apple.com
  • 5 edits in branches/safari-600.7-branch/Source

Versioning.

10:46 PM Changeset in webkit [184752] by bshafiei@apple.com
  • 5 edits in branches/safari-601.1.32-branch/Source

Versioning.

10:46 PM Changeset in webkit [184751] by bshafiei@apple.com
  • 5 edits in branches/safari-601.1.32.2-branch/Source

Versioning.

9:35 PM Changeset in webkit [184750] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Give Toolbar buttons an active style
https://bugs.webkit.org/show_bug.cgi?id=145292

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-05-21
Reviewed by Timothy Hatcher.

  • UserInterface/Views/ButtonToolbarItem.css:

(.toolbar .item.button:active):

8:59 PM Changeset in webkit [184749] by Antti Koivisto
  • 8 edits
    2 adds in trunk

MaskImageOperation code does not manage CachedImageClients correctly
https://bugs.webkit.org/show_bug.cgi?id=145276
Source/WebCore:

rdar://problem/20959822

Reviewed by Andreas Kling.

Test: css3/masking/mask-image-client-crash.html

  • platform/graphics/MaskImageOperation.cpp:

(WebCore::MaskImageOperation::isMaskLoaded):
(WebCore::MaskImageOperation::setImage):

If image changes transfer the clients to the new image.

(WebCore::MaskImageOperation::setRenderLayerImageClient):

Always use setImage.

(WebCore::MaskImageOperation::notifyFinished):

  • platform/graphics/MaskImageOperation.h:
  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::calculateClipRects):

  • rendering/RenderLayer.h:
  • rendering/RenderLayerMaskImageInfo.cpp:

(WebCore::RenderLayer::MaskImageInfo::~MaskImageInfo):
(WebCore::RenderLayer::MaskImageInfo::updateMaskImageClients):

Store the MaskImageOperations where we added clients.

(WebCore::RenderLayer::MaskImageInfo::removeMaskImageClients):

Make sure we remove the clients from the same MaskImageOperations we added them to.

  • rendering/RenderLayerMaskImageInfo.h:

LayoutTests:

Reviewed by Andreas Kling.

  • css3/masking/mask-image-client-crash-expected.txt: Added.
  • css3/masking/mask-image-client-crash.html: Added.
7:54 PM Changeset in webkit [184748] by Nikita Vasilyev
  • 3 edits in trunk/Source/WebInspectorUI

Web Inspector: Dashboard debugger information can be clipped
https://bugs.webkit.org/show_bug.cgi?id=144209

Reviewed by Timothy Hatcher.

  • UserInterface/Views/DashboardContainerView.css:

(.toolbar .dashboard-container):
Make dashboard flexible by using vw (viewport width units).

  • UserInterface/Views/DefaultDashboardView.css:

(.toolbar .dashboard.default):
Center default dashboard icons in the middle, don't spread them along the dashboard.

7:39 PM Changeset in webkit [184747] by saambarati1@gmail.com
  • 10 edits
    2 adds in trunk/Source/JavaScriptCore

Object allocation sinking phase should explicitly create bottom values for CreateActivation sink candidates and CreateActivation should have SymbolTable as a child node
https://bugs.webkit.org/show_bug.cgi?id=145192

Reviewed by Filip Pizlo.

When we sink CreateActivation and generate MaterializeCreateActivation
in the object allocation sinking phase, we now explictly add PutHints for
all variables on the activation setting those variables to their default value
(undefined for Function activations and soon to be JS Empty Value for block scope activations).
This allows us to remove code that fills FTL fast activation allocations with Undefined.

This patch also adds the constant SymbolTable as an OpInfo of CreateActivation and MaterializeCreateActivation
nodes. This is in preparation for ES6 block scoping which will introduce a new
op code that gets lowered to CreateActivation.

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::parseBlock):

  • dfg/DFGClobberize.h:

(JSC::DFG::clobberize):

  • dfg/DFGNode.h:

(JSC::DFG::Node::hasCellOperand):
(JSC::DFG::Node::cellOperand):

  • dfg/DFGObjectAllocationSinkingPhase.cpp:

(JSC::DFG::ObjectAllocationSinkingPhase::lowerNonReadingOperationsOnPhantomAllocations):
(JSC::DFG::ObjectAllocationSinkingPhase::handleNode):
(JSC::DFG::ObjectAllocationSinkingPhase::createMaterialize):
(JSC::DFG::ObjectAllocationSinkingPhase::populateMaterialize):

  • dfg/DFGPromotedHeapLocation.cpp:

(WTF::printInternal):

  • dfg/DFGPromotedHeapLocation.h:
  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileCreateActivation):

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::compileCreateActivation):
(JSC::FTL::LowerDFGToLLVM::compileMaterializeCreateActivation):

  • ftl/FTLOperations.cpp:

(JSC::FTL::operationMaterializeObjectInOSR):

  • tests/stress/activation-sink-default-value.js: Added.

(bar):

  • tests/stress/activation-sink-osrexit-default-value.js: Added.

(foo.set result):

6:22 PM Changeset in webkit [184746] by bshafiei@apple.com
  • 1 copy in tags/Safari-601.1.32.5

New tag.

6:15 PM Changeset in webkit [184745] by dbates@webkit.org
  • 5 edits in trunk

Update Autofill button icon
https://bugs.webkit.org/show_bug.cgi?id=145191
<rdar://problem/20178942>

Reviewed by Jessie Berlin.

Source/WebCore:

  • css/html.css:

(input::-webkit-auto-fill-button):
(input::-webkit-auto-fill-button:active):
(input::-webkit-auto-fill-button:hover):

LayoutTests:

Update expected results.

  • fast/forms/input-auto-fill-button-expected.txt:
  • platform/mac-mavericks/fast/forms/input-auto-fill-button-expected.txt:
5:43 PM Changeset in webkit [184744] by bshafiei@apple.com
  • 2 edits in tags/Safari-601.1.32.2.80/Source/WebKit2

Merged r184738. rdar://problem/20830673

5:41 PM Changeset in webkit [184743] by bshafiei@apple.com
  • 5 edits in tags/Safari-601.1.32.2.80/Source

Versioning.

5:39 PM Changeset in webkit [184742] by bshafiei@apple.com
  • 1 copy in tags/Safari-601.1.32.2.80

New tag.

5:35 PM Changeset in webkit [184741] by beidson@apple.com
  • 12 edits
    2 adds in trunk/Source

Add an "initiated by user gesture" flag to ResourceRequest.
https://bugs.webkit.org/show_bug.cgi?id=145281

Reviewed by Alex Christensen.

Source/WebCore:

Allow WebKit to tell WebCore what the new property key is:

  • platform/ios/WebCoreSystemInterfaceIOS.mm:
  • platform/mac/WebCoreSystemInterface.h:
  • platform/mac/WebCoreSystemInterface.mm:

Add the flag to ResourceRequest, and make sure it encodes/decodes:

  • platform/network/ResourceRequestBase.h:

(WebCore::ResourceRequestBase::initiatedByUserGesture):
(WebCore::ResourceRequestBase::setInitiatedByUserGesture):
(WebCore::ResourceRequestBase::encodeWithoutPlatformData):
(WebCore::ResourceRequestBase::decodeWithoutPlatformData):

Set/get the property on native CFURLRequestRefs:

  • platform/network/cf/ResourceRequestCFNet.cpp:

(WebCore::ResourceRequest::doUpdatePlatformRequest):
(WebCore::ResourceRequest::doUpdateResourceRequest):

Set/get the property on native NSURLRequests:

  • platform/network/cocoa/ResourceRequestCocoa.mm:

(WebCore::ResourceRequest::doUpdateResourceRequest):
(WebCore::ResourceRequest::doUpdatePlatformRequest):

Source/WebKit/mac:

  • WebCoreSupport/WebSystemInterface.mm:

(WKResourceRequestIsUserInitiatedKey):
(InitWebCoreSystemInterface):

Source/WebKit2:

Expose a new category on NSURLRequest to allow SPI clients to easily set/get the flag:

  • Shared/API/Cocoa/_WKNSURLRequestExtras.h: Added.
  • Shared/API/Cocoa/_WKNSURLRequestExtras.mm: Added.

(-[NSURLRequest _web_isUserInitiated]):
(-[NSMutableURLRequest _web_setIsUserInitiated:]):

  • WebKit2.xcodeproj/project.pbxproj:

Expose the new property key to WebCore:

  • WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:

(WKResourceRequestIsUserInitiatedKey):
(InitWebCoreSystemInterface):

5:34 PM Changeset in webkit [184740] by dbates@webkit.org
  • 15 edits in trunk/Source

Rollout <http://trac.webkit.org/changeset/183909>
(https://bugs.webkit.org/show_bug.cgi?id=144657)

Revert <http://trac.webkit.org/changeset/183909> since pausing the database
thread prevents in-progress transactions from completing. We need to think
about this change some more.

Source/WebCore:

  • Modules/webdatabase/AbstractDatabaseServer.h:
  • Modules/webdatabase/DatabaseManager.cpp:

(WebCore::DatabaseManager::setPauseAllDatabases): Deleted.

  • Modules/webdatabase/DatabaseManager.h:
  • Modules/webdatabase/DatabaseServer.cpp:

(WebCore::DatabaseServer::setPauseAllDatabases): Deleted.

  • Modules/webdatabase/DatabaseServer.h:

Source/WebKit2:

  • UIProcess/WebPageProxy.h:
  • UIProcess/ios/WKContentView.mm:

(-[WKContentView _applicationDidEnterBackground:]): Deleted.

  • UIProcess/ios/WebPageProxyIOS.mm:

(WebKit::WebPageProxy::applicationDidEnterBackground): Deleted.

  • WebProcess/WebCoreSupport/WebDatabaseManager.cpp:

(WebKit::WebDatabaseManager::setPauseAllDatabases): Deleted.

  • WebProcess/WebCoreSupport/WebDatabaseManager.h:
  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in:
  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::applicationWillEnterForeground): Deleted.
(WebKit::WebPage::applicationDidEnterBackground): Deleted.

5:31 PM Changeset in webkit [184739] by enrica@apple.com
  • 2 edits in trunk/Source/WebKit2

[iOS] Crash when taking a snapshot of a large PDF.
https://bugs.webkit.org/show_bug.cgi?id=145286
rdar://problem/20892362

Reviewed by Tim Horton.

The code for the PDF case was incorrectly computing the snapshot rect.
On top of that drawViewHierarchyInRect was ignoring the rect and
always creating an image using the view bounds causing the crash.
We are now always using the IOSurface if we are parented or
an image context when we are not.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _snapshotRect:intoImageOfWidth:completionHandler:]):

5:29 PM Changeset in webkit [184738] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Symlink the WebKit dylib instead of just the framework directory
https://bugs.webkit.org/show_bug.cgi?id=145287
rdar://problem/20830673

Reviewed by Dan Bernstein.

  • WebKit2.xcodeproj/project.pbxproj:
5:12 PM Changeset in webkit [184737] by bshafiei@apple.com
  • 1 copy in tags/Safari-601.1.32.2.5

New tag.

4:33 PM Changeset in webkit [184736] by Joseph Pecoraro
  • 10 edits
    1 move
    5 adds
    3 deletes in trunk/Source/WebInspectorUI

Web Inspector: Improve the UI of the type profiler popover
https://bugs.webkit.org/show_bug.cgi?id=140737

Reviewed by Timothy Hatcher.

Display TypeDescriptions in a Tree similiar to ObjectTrees.
Currently the only information we have in a TypeDescription
is the property names, and not their types, so all we can
display in the tree are names.

  • Localizations/en.lproj/localizedStrings.js:
  • UserInterface/Controllers/TypeTokenAnnotator.js:

(WebInspector.TypeTokenAnnotator.prototype._insertTypeToken):

  • UserInterface/Main.html:
  • UserInterface/Models/ScriptSyntaxTree.js:

(WebInspector.ScriptSyntaxTree.prototype.updateTypes):

  • UserInterface/Models/StructureDescription.js: Added.

(WebInspector.StructureDescription):
(WebInspector.StructureDescription.fromPayload):
(WebInspector.StructureDescription.prototype.get fields):
(WebInspector.StructureDescription.prototype.get optionalFields):
(WebInspector.StructureDescription.prototype.get constructorName):
(WebInspector.StructureDescription.prototype.get prototypeStructure):
(WebInspector.StructureDescription.prototype.get imprecise):

  • UserInterface/Models/TypeDescription.js: Added.

(WebInspector.TypeDescription):
(WebInspector.TypeDescription.fromPayload):
(WebInspector.TypeDescription.prototype.get leastCommonAncestor):
(WebInspector.TypeDescription.prototype.get typeSet):
(WebInspector.TypeDescription.prototype.get structures):
(WebInspector.TypeDescription.prototype.get valid):
(WebInspector.TypeDescription.prototype.get truncated):

  • UserInterface/Models/TypeSet.js:

(WebInspector.TypeSet):
(WebInspector.TypeSet.prototype.get primitiveTypeNames):

  • UserInterface/Views/ObjectTreeView.js:

(WebInspector.ObjectTreeView.prototype._updateChildren):

  • UserInterface/Views/Section.css: Removed.
  • UserInterface/Views/Section.js: Removed.
  • UserInterface/Views/SourceCodeTextEditor.css:

(.popover .expandable):

  • UserInterface/Views/SourceCodeTextEditor.js:

(WebInspector.SourceCodeTextEditor):
(WebInspector.SourceCodeTextEditor.prototype.showPopoverForTypes):
(WebInspector.SourceCodeTextEditor.prototype._populateWithScriptContent):
(WebInspector.SourceCodeTextEditor.prototype._tokenTrackingControllerHighlightedJavaScriptTypeInformation.handler):
(WebInspector.SourceCodeTextEditor.prototype._tokenTrackingControllerHighlightedJavaScriptTypeInformation):
(WebInspector.SourceCodeTextEditor.prototype._showPopoverForObject):

  • UserInterface/Views/TypePropertiesSection.js: Removed.
  • UserInterface/Views/TypeTokenView.js:

(WebInspector.TypeTokenView):
(WebInspector.TypeTokenView.titleForPopover):
(WebInspector.TypeTokenView.prototype.update):
(WebInspector.TypeTokenView.prototype._setUpMouseoverHandlers):
(WebInspector.TypeTokenView.prototype._shouldShowPopover):
(WebInspector.TypeTokenView.prototype._displayTypeName):

  • UserInterface/Views/TypeTreeElement.css: Added.

(.type-tree-element):
(.type-tree-element > .titles):
(.type-tree-element > .disclosure-button):
(.type-tree-element.parent > .disclosure-button):
(.type-tree-element.parent.expanded > .disclosure-button):
(.type-tree-element > .icon):
(.type-tree-element.prototype):
(.type-tree-element.prototype:focus):
(.type-tree-element.prototype + ol):

  • UserInterface/Views/TypeTreeElement.js: Added.

(WebInspector.TypeTreeElement):
(WebInspector.TypeTreeElement.prototype.get name):
(WebInspector.TypeTreeElement.prototype.get isPrototype):
(WebInspector.TypeTreeElement.prototype.onpopulate):
(WebInspector.TypeTreeElement.prototype.onexpand):

  • UserInterface/Views/TypeTreeView.css: Renamed from Source/WebInspectorUI/UserInterface/Views/PropertiesSection.js.

(.type-tree):
(.type-tree-outline):
(.type-tree-outline li):
(.type-tree-outline ol):
(.type-tree-outline ol.expanded):
(.type-tree-outline li .empty-message):

  • UserInterface/Views/TypeTreeView.js: Added.

(WebInspector.TypeTreeView):
(WebInspector.TypeTreeView.prototype.get typeDescription):
(WebInspector.TypeTreeView.prototype.get element):
(WebInspector.TypeTreeView.prototype.get treeOutline):
(WebInspector.TypeTreeView.prototype._populate):

4:30 PM Changeset in webkit [184735] by bshafiei@apple.com
  • 1 copy in tags/Safari-600.7.9

New tag.

3:45 PM Changeset in webkit [184734] by jacob_nielsen@apple.com
  • 19 edits in trunk/Source/WebCore

r184718 and r184725 caused four tests to begin crashing

Unreviewed rollback.

Tests that started crashing:

svg/carto.net/textbox.svg svg/custom/tref-clone-crash.html svg/custom/use-animation-in-fill.html svg/custom/use-multiple-on-nested-disallowed-font.html

  • 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):
(WebCore::SVGCursorElement::isSupportedAttribute):

  • svg/SVGDocumentExtensions.cpp:

(WebCore::SVGDocumentExtensions::pauseAnimations):
(WebCore::SVGDocumentExtensions::unpauseAnimations):
(WebCore::SVGDocumentExtensions::dispatchSVGLoadEventToOutermostSVGElements):
(WebCore::SVGDocumentExtensions::isElementWithPendingResources):
(WebCore::SVGDocumentExtensions::removeElementFromPendingResources):
(WebCore::SVGDocumentExtensions::removeAllTargetReferencesForElement):
(WebCore::SVGDocumentExtensions::rebuildElements):

  • svg/SVGElement.cpp:

(WebCore::populateAttributeNameToCSSPropertyIDMap):
(WebCore::populateAttributeNameToAnimatedPropertyTypeMap):
(WebCore::attributeNameToAnimatedPropertyTypeMap):
(WebCore::populateCSSPropertyWithSVGDOMNameToAnimatedPropertyTypeMap):
(WebCore::cssPropertyWithSVGDOMNameToAnimatedPropertyTypeMap):
(WebCore::hasLoadListener):

  • svg/SVGFontData.cpp:

(WebCore::SVGFontData::applySVGGlyphSelection):

  • svg/SVGFontElement.cpp:

(WebCore::SVGFontElement::registerLigaturesInGlyphCache):
(WebCore::SVGKerningMap::insert):
(WebCore::stringMatchesUnicodeRange):

  • svg/SVGPathByteStream.h:

(WebCore::SVGPathByteStream::begin):
(WebCore::SVGPathByteStream::end):
(WebCore::SVGPathByteStream::append):
(WebCore::SVGPathByteStream::clear):
(WebCore::SVGPathByteStream::isEmpty):

  • svg/SVGPathUtilities.cpp:

(WebCore::appendSVGPathByteStreamFromSVGPathSeg):

  • 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):

1:27 PM Changeset in webkit [184733] by bshafiei@apple.com
  • 6 edits in branches/safari-601.1.32.2-branch/Source/WebCore

Merged r184728. rdar://problem/21051039

1:26 PM Changeset in webkit [184732] by bshafiei@apple.com
  • 6 edits in branches/safari-601.1.32-branch/Source/WebCore

Merged r184728. rdar://problem/21051039

12:53 PM Changeset in webkit [184731] by bshafiei@apple.com
  • 2 edits in branches/safari-601.1.32.2-branch/Source/WebKit2

Merged r184514. rdar://problem/20368630

12:52 PM Changeset in webkit [184730] by bshafiei@apple.com
  • 12 edits
    1 copy in branches/safari-601.1.32.2-branch/Source/WebKit2

Merged r184503. rdar://problem/20368630

12:51 PM Changeset in webkit [184729] by bshafiei@apple.com
  • 17 edits in branches/safari-601.1.32.2-branch/Source/WebKit2

Merged r184370. rdar://problem/20368630

12:37 PM Changeset in webkit [184728] by Brent Fulgham
  • 6 edits in trunk/Source/WebCore

Scroll-snap points needs to be updated during programmatic scrolls
https://bugs.webkit.org/show_bug.cgi?id=145216
<rdar://problem/21051039>

Reviewed by Dean Jackson.

Whenever we adjust the current scroll position, make sure we also update the current
active scroll snap offset index (if applicable).

  • platform/ScrollAnimator.cpp:

(WebCore::ScrollAnimator::scrollToOffsetWithoutAnimation): Call the new 'updateActiveScrollSnapIndexForOffset'
method after moving to a new position.
(WebCore::ScrollAnimator::setCurrentPosition): Ditto.
(WebCore::ScrollAnimator::updateActiveScrollSnapIndexForOffset): New method. Asks the scroll controller to
identify the closest scroll snap offset index. If it finds something relevant, update the ScrollableArea state
to track these new values.

  • platform/ScrollAnimator.h:
  • platform/cocoa/ScrollController.h:

(WebCore::ScrollController::activeScrollSnapIndexDidChange):
(WebCore::ScrollController::setScrollSnapIndexDidChange):

  • platform/cocoa/ScrollController.mm:

(WebCore::ScrollController::setNearestScrollSnapIndexForAxisAndOffset): Added. Find the closest relevant scroll snap offset
index for the given scroll offset, and update the internal scroll snap state to reflect it.
(WebCore::ScrollController::setActiveScrollSnapIndicesForOffset): Given the x and y offset for a scroll,
set the relevant scroll snap offset indices.

  • platform/mac/ScrollAnimatorMac.mm:

(WebCore::ScrollAnimatorMac::immediateScrollTo): Call the new 'updateActiveScrollSnapIndexForOffset' method
after moving to a new position.
(WebCore::ScrollAnimatorMac::immediateScrollBy): Ditto.

12:12 PM Changeset in webkit [184727] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

WKWebsiteDataStore doesn't track and remove iOS Safari's offline application cache entries
https://bugs.webkit.org/show_bug.cgi?id=145279
rdar://problem/20657912

Reviewed by Dan Bernstein.

Special-case iOS Safari and WebApp when computing the default application cache directory.

  • UIProcess/API/Cocoa/APIWebsiteDataStoreCocoa.mm:

(API::applicationCacheDirectory):
(API::WebsiteDataStore::defaultDataStoreConfiguration):

11:54 AM Changeset in webkit [184726] by bweinstein@apple.com
  • 5 edits in trunk/Source/WebKit2

Add a _WKWebKitContentExtensionStore initializer that takes a path.
https://bugs.webkit.org/show_bug.cgi?id=145269 and work towards <rdar://problem/21031414>

Reviewed by Anders Carlsson.

  • UIProcess/API/APIUserContentExtensionStore.cpp:

(API::UserContentExtensionStore::storeWithPath):

  • UIProcess/API/APIUserContentExtensionStore.h:
  • UIProcess/API/Cocoa/_WKUserContentExtensionStore.h:
  • UIProcess/API/Cocoa/_WKUserContentExtensionStore.mm:

(+[_WKUserContentExtensionStore storeWithURL:]):

11:32 AM Changeset in webkit [184725] by Matt Baker
  • 2 edits in trunk/Source/WebCore

Unreviewed build fix.

  • svg/SVGAnimateElementBase.cpp:

(WebCore::propertyTypesAreConsistent): should be type.properties, not type.properties().

11:24 AM Changeset in webkit [184724] by bshafiei@apple.com
  • 6 edits in branches/safari-601.1.32.2-branch/Source/WebKit2

Merged r184716.

11:08 AM Changeset in webkit [184723] by youenn.fablet@crf.canon.fr
  • 4 edits in trunk/Source/WebCore

[Streams API] Remove ReadableStreamReader closed promise internal slot
https://bugs.webkit.org/show_bug.cgi?id=145215

Reviewed by Darin Adler.

Using the new JSPromiseDeferred member generated by binding generator to handle closed promise attribute.
Removed internal slots routines previously used to ensure persistency of the promise.

Existing tests cover the changes.

  • bindings/js/JSReadableStreamReaderCustom.cpp:

(WebCore::JSReadableStreamReader::closed):
(WebCore::JSReadableStreamReader::cancel): Deleted.
(WebCore::JSReadableStreamReader::releaseLock): Deleted.

  • bindings/js/ReadableJSStream.cpp:

(WebCore::getPropertyFromObject): Deleted.
(WebCore::callFunction): Deleted.
(WebCore::ReadableJSStream::Source::create): Deleted.
(WebCore::ReadableJSStream::Source::Source): Deleted.

  • bindings/js/ReadableJSStream.h:
10:52 AM Changeset in webkit [184722] by roger_fong@apple.com
  • 3 edits in trunk/Source/WebCore

Media Controls stop updating after hovering for a few seconds.
https://bugs.webkit.org/show_bug.cgi?id=144770.
<rdar://problem/19823121>

Reviewed by Jer Noble.

  • Modules/mediacontrols/mediaControlsApple.js:

(Controller.prototype.createBase):
We should never hide controls immediately as a result of mousing out of the controls.
It should only happen when the mouse leaves the video entirely.
(Controller.prototype.updateTimelineMetricsIfNeeded):
Don’t update if controls are hidden, timeline dimensions will be 0.
(Controller.prototype.handlePanelTransitionEnd):
Instead of adjusting visibility via adding and removing classes,
remove controls entirely from the tree.
(Controller.prototype.showControls):
Add controls back into the tree when showing controls.
(Controller.prototype.updateForShowingControls):
Helper method for showControls.
(Controller.prototype.controlsAreHidden):
Controls also hidden if removed from tree.

Remove forceUpdate logic, no longer necessary.
(Controller.prototype.handleDurationChange):
(Controller.prototype.updateProgress):
(Controller.prototype.updateTime):

Override methods to use add and remove panelContainer for iOS.

  • Modules/mediacontrols/mediaControlsiOS.js:

(ControllerIOS.prototype.handlePanelTransitionEnd):
(ControllerIOS.prototype.showControls):
(ControllerIOS.prototype.controlsAreHidden):

10:45 AM Changeset in webkit [184721] by Chris Fleizach
  • 4 edits in trunk/LayoutTests

AX: improve list heuristics (presentational use versus actual lists)
https://bugs.webkit.org/show_bug.cgi?id=134187

Unreviewed layout test fixage.

Skip the list-detection2.html test on GTK until it can be investigated.

https://bugs.webkit.org/show_bug.cgi?id=145273

Fix a failing test on GTK that needed an update after the last set of changes.
Skip the test on windows until a time someone can decide if we even expose or need lists in Windows AX API.

https://bugs.webkit.org/show_bug.cgi?id=145271

  • platform/gtk/TestExpectations:
  • platform/gtk/accessibility/list-detection-expected.txt:
  • platform/win/TestExpectations:
10:45 AM Changeset in webkit [184720] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

Regression(r179293): We no longer call destroyDecodedData() on CachedResources on memory pressure
https://bugs.webkit.org/show_bug.cgi?id=145270
<rdar://problem/20734901>

Reviewed by Andreas Kling.

We no longer call destroyDecodedData() on CachedResources on memory
pressure after r179293. In r179293, we started calling
MemoryCache::evictResources() on memory pressure instead of
MemoryCache::pruneToPercentage(0). However, unlike
MemoryCache::pruneToPercentage(), it appears
MemoryCache::evictResources() removes the CachedResources from the
memory cache without calling destroyDecodedData() on them.
This caused a regression on Membuster.

This patch now calls MemoryCache::pruneLiveResourcesToSize(0) on
critical memory pressure, instead of evictResources(). We don't need to
call pruneDeadResourcesToSize(0) here because the non-critical memory
pressure handler already takes care of this.

During local testing, this change seemed to decrease the overall memory
usage of WebProcesses by ~10MB on Membuster (tested on Yosemite).

  • platform/MemoryPressureHandler.cpp:

(WebCore::MemoryPressureHandler::releaseNoncriticalMemory):
(WebCore::MemoryPressureHandler::releaseCriticalMemory):

10:36 AM Changeset in webkit [184719] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

SVG as image uses very tiny default font-size
https://bugs.webkit.org/show_bug.cgi?id=68090

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2015-05-21
Reviewed by Darin Adler.

Source/WebCore:

When loading a document, WebKit creates a Page object and then changes its setting
from the browser's preferences. This is true for interactive resources also, such as a
stand-alone SVG or an SVG embedded in an <object> tag for example. For non-interactive
resources, like an SVG embedded in an <img> tag for example, this function is called
after loading the resource is finished. This function creates an artificial page and
fabricates a scoped settings for it. This turns out to be problematic for cases like
the default font size because its initial value is zero. We cannot go from WebCore to
WebKit to ask for the global settings. But we can inherit the global settings from the
the master page. This is not the best solution because of two reasons. (1) Once the
resource is cached and the styles for the text elements are calculated, nothing can
change the values of styles except removing the resource itself from the cache if the
browser's preferences change. Also there is no mechanism to notify this artificial
page if the browser's preferences change. (2) An image like a non-interactive SVG,
should be displayed the same way regardless of the browser's preferences. A user may
be able to change the default font size for other text. But this should not affect
images even if they are vector images like SVG. An easy and more agreeable solution
is to hard-code the default font size for this case and do not depend on the global
settings at all.

Test: svg/text/text-default-font-size.html

  • page/Settings.in: Set the initial value of the setting defaultFontSize to be 16.

LayoutTests:

  • svg/text/text-default-font-size-expected.html: Added.
  • svg/text/text-default-font-size.html: Added.

Ensure the default font size for non-interactive SVG images is not zero.

10:34 AM Changeset in webkit [184718] by commit-queue@webkit.org
  • 19 edits in trunk/Source/WebCore

Use modern for-loops in WebCore/svg.
https://bugs.webkit.org/show_bug.cgi?id=145209

Patch by Hunseop Jeong <Hunseop Jeong> on 2015-05-21
Reviewed by Darin Adler.

No new tests, no new tests.

  • 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):

10:27 AM Changeset in webkit [184717] by peavo@outlook.com
  • 2 edits in trunk/Source/JavaScriptCore

MSVC internal compiler error when compiling TemplateRegistryKey class.
https://bugs.webkit.org/show_bug.cgi?id=145259

Reviewed by Alex Christensen.

MSVC is not able to handle the brace initialization of a class member in this case.

  • runtime/TemplateRegistryKey.h:
10:10 AM Changeset in webkit [184716] by ap@apple.com
  • 6 edits in trunk/Source/WebKit2

Build fix. Silence some deprecation warnings.

  • UIProcess/ios/forms/WKFileUploadPanel.mm:

(-[WKFileUploadPanel _presentPopoverWithContentViewController:animated:]):

  • UIProcess/ios/forms/WKFormInputControl.mm:

(-[WKDateTimePopover initWithView:datePickerMode:]):

  • UIProcess/ios/forms/WKFormPopover.h:
  • UIProcess/ios/forms/WKFormPopover.mm:
  • UIProcess/ios/forms/WKFormSelectPopover.mm:

(-[WKSelectPopover initWithView:hasGroups:]):

8:49 AM Changeset in webkit [184715] by youenn.fablet@crf.canon.fr
  • 2 edits in trunk/LayoutTests

streams/reference-implementation/readable-stream.html should now pass
https://bugs.webkit.org/show_bug.cgi?id=145266

Unreviewed.

  • TestExpectations: removing falky expectation of streams/reference-implementation/readable-stream.html.
8:24 AM Changeset in webkit [184714] by bshafiei@apple.com
  • 5 edits
    2 copies in branches/safari-601.1.32.2-branch

Merged r184308. rdar://problem/20895753

5:29 AM Changeset in webkit [184713] by Csaba Osztrogonác
  • 4 edits in trunk/Source/JavaScriptCore

Fix the !ENABLE(ES6_TEMPLATE_LITERAL_SYNTAX) build after r184337
https://bugs.webkit.org/show_bug.cgi?id=145248

Reviewed by Yusuke Suzuki.

  • bytecompiler/BytecodeGenerator.cpp:
  • bytecompiler/BytecodeGenerator.h:
  • parser/Parser.cpp:

(JSC::Parser<LexerType>::parseMemberExpression):

5:28 AM Changeset in webkit [184712] by Csaba Osztrogonác
  • 2 edits
    2 deletes in trunk/Tools

[EFL] Bump libsoup version to 2.50.0
https://bugs.webkit.org/show_bug.cgi?id=145127

Reviewed by Gyuyoung Kim.

  • efl/jhbuild.modules:
  • efl/patches/soup-clang-warning-fix1.patch: Removed.
  • efl/patches/soup-clang-warning-fix2.patch: Removed.
5:02 AM WebKitGTK/Gardening/Calendar edited by chavarria1991@gmail.com
(diff)
3:51 AM Changeset in webkit [184711] by Csaba Osztrogonác
  • 3 edits in trunk/Source/WebKit2

[EFL] Remove an unused private field from EwkPopupMenuItem class
https://bugs.webkit.org/show_bug.cgi?id=145249

Reviewed by Gyuyoung Kim.

  • UIProcess/API/efl/ewk_popup_menu.cpp:

(EwkPopupMenu::EwkPopupMenu):

  • UIProcess/API/efl/ewk_popup_menu_private.h:
2:27 AM Changeset in webkit [184710] by Csaba Osztrogonác
  • 32 edits in trunk/Source/WebKit2

[EFL] Fix mismatched-tags warnings in UIProcess/API/efl
https://bugs.webkit.org/show_bug.cgi?id=145129

Reviewed by Gyuyoung Kim.

  • UIProcess/API/efl/EwkViewCallbacks.h:
  • UIProcess/API/efl/ewk_application_cache_manager.h:
  • UIProcess/API/efl/ewk_auth_request.h:
  • UIProcess/API/efl/ewk_back_forward_list.h:
  • UIProcess/API/efl/ewk_back_forward_list_item.h:
  • UIProcess/API/efl/ewk_color_picker.h:
  • UIProcess/API/efl/ewk_context.h:
  • UIProcess/API/efl/ewk_context_menu_item.h:
  • UIProcess/API/efl/ewk_cookie_manager.h:
  • UIProcess/API/efl/ewk_database_manager.h:
  • UIProcess/API/efl/ewk_download_job.h:
  • UIProcess/API/efl/ewk_error.h:
  • UIProcess/API/efl/ewk_favicon_database.h:
  • UIProcess/API/efl/ewk_file_chooser_request.h:
  • UIProcess/API/efl/ewk_form_submission_request.h:
  • UIProcess/API/efl/ewk_navigation_data.h:
  • UIProcess/API/efl/ewk_navigation_policy_decision.h:
  • UIProcess/API/efl/ewk_object.h:
  • UIProcess/API/efl/ewk_page_group.h:
  • UIProcess/API/efl/ewk_popup_menu.h:
  • UIProcess/API/efl/ewk_popup_menu_item.h:
  • UIProcess/API/efl/ewk_security_origin.h:
  • UIProcess/API/efl/ewk_settings.h:
  • UIProcess/API/efl/ewk_storage_manager.h:
  • UIProcess/API/efl/ewk_url_request.h:
  • UIProcess/API/efl/ewk_url_response.h:
  • UIProcess/API/efl/ewk_url_scheme_request.h:
  • UIProcess/API/efl/ewk_view.h:
  • UIProcess/API/efl/ewk_window_features.h:
  • WebProcess/InjectedBundle/API/efl/ewk_extension.h:
  • WebProcess/InjectedBundle/API/efl/ewk_page.h:
2:23 AM WebKitGTK/Gardening/Calendar edited by chavarria1991@gmail.com
(diff)
12:26 AM Changeset in webkit [184709] by Gyuyoung Kim
  • 47 edits in trunk/Source/WebCore

Purge PassRefPtr in WebCore/Modules
https://bugs.webkit.org/show_bug.cgi?id=145112

Reviewed by Darin Adler.

As a step to remove PassRefPtr, this patch replaces PassRefPtr with Ref or RefPtr
depends on null of return value.

No new tests, no behavior changes.

  • Modules/encryptedmedia/MediaKeySession.cpp:

(WebCore::MediaKeySession::create):

  • Modules/encryptedmedia/MediaKeySession.h:
  • Modules/encryptedmedia/MediaKeys.cpp:

(WebCore::MediaKeys::create):
(WebCore::MediaKeys::createSession):

  • Modules/encryptedmedia/MediaKeys.h:
  • Modules/gamepad/Gamepad.h:
  • Modules/gamepad/NavigatorGamepad.cpp:

(WebCore::NavigatorGamepad::gamepadFromPlatformGamepad):

  • Modules/gamepad/deprecated/Gamepad.h:
  • Modules/geolocation/GeolocationError.h:

(WebCore::GeolocationError::create):

  • Modules/geolocation/GeolocationPosition.h:

(WebCore::GeolocationPosition::create):

  • Modules/geolocation/Geoposition.h:

(WebCore::Geoposition::create):

  • Modules/geolocation/PositionError.h:

(WebCore::PositionError::create):

  • Modules/geolocation/PositionOptions.h:

(WebCore::PositionOptions::create):

  • Modules/mediacontrols/MediaControlsHost.cpp:

(WebCore::MediaControlsHost::create):

  • Modules/mediacontrols/MediaControlsHost.h:
  • Modules/mediasource/MediaSource.cpp:

(WebCore::MediaSource::create):

  • Modules/mediasource/MediaSource.h:
  • Modules/mediastream/RTCDataChannel.cpp:

(WebCore::RTCDataChannel::create):

  • Modules/mediastream/RTCDataChannel.h:
  • Modules/mediastream/RTCIceCandidate.cpp:

(WebCore::RTCIceCandidate::create):

  • Modules/mediastream/RTCIceCandidate.h:
  • Modules/webaudio/OfflineAudioContext.cpp:

(WebCore::OfflineAudioContext::create):

  • Modules/webaudio/OfflineAudioContext.h:
  • Modules/webaudio/OfflineAudioDestinationNode.h:

(WebCore::OfflineAudioDestinationNode::create):

  • Modules/webaudio/OscillatorNode.cpp:

(WebCore::OscillatorNode::create):

  • Modules/webaudio/OscillatorNode.h:
  • Modules/webdatabase/Database.cpp:

(WebCore::Database::runTransaction):

  • Modules/webdatabase/DatabaseTracker.cpp:

(WebCore::DatabaseTracker::originLockFor):

  • Modules/webdatabase/DatabaseTracker.h:
  • Modules/webdatabase/SQLError.h:

(WebCore::SQLError::create):

  • Modules/webdatabase/SQLResultSet.h:

(WebCore::SQLResultSet::create):

  • Modules/webdatabase/SQLResultSetRowList.h:

(WebCore::SQLResultSetRowList::create):

  • Modules/webdatabase/SQLStatementBackend.cpp:

(WebCore::SQLStatementBackend::create):

  • Modules/webdatabase/SQLStatementBackend.h:
  • Modules/webdatabase/SQLTransactionBackend.cpp:

(WebCore::SQLTransactionBackend::create):

  • Modules/webdatabase/SQLTransactionBackend.h:
  • Modules/websockets/ThreadableWebSocketChannelClientWrapper.cpp:

(WebCore::ThreadableWebSocketChannelClientWrapper::create):

  • Modules/websockets/ThreadableWebSocketChannelClientWrapper.h:
  • Modules/websockets/WebSocket.cpp:

(WebCore::WebSocket::create):

  • Modules/websockets/WebSocket.h:
  • Modules/websockets/WebSocketChannel.h:

(WebCore::WebSocketChannel::create):

  • Modules/websockets/WorkerThreadableWebSocketChannel.h:

(WebCore::WorkerThreadableWebSocketChannel::create):
(WebCore::WorkerThreadableWebSocketChannel::Bridge::create):

  • editing/InsertListCommand.h:

(WebCore::InsertListCommand::create):

  • workers/Worker.cpp:

(WebCore::Worker::create):

  • workers/Worker.h:
  • xml/XPathExpression.cpp:

(WebCore::XPathExpression::createExpression):
(WebCore::XPathExpression::evaluate):

  • xml/XPathExpression.h:
12:26 AM Changeset in webkit [184708] by Csaba Osztrogonác
  • 4 edits in trunk/Source/WebKit2

Fix mismatched-tags warnings related to CoordinatedGraphics
https://bugs.webkit.org/show_bug.cgi?id=145130

Reviewed by Darin Adler.

  • Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.h:
  • UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.messages.in:
  • WebProcess/WebPage/CoordinatedGraphics/ThreadedCoordinatedLayerTreeHost.h:

May 20, 2015:

11:39 PM Changeset in webkit [184707] by matthew_hanson@apple.com
  • 5 edits in branches/safari-601.1.32.2-branch/Source/WebCore

Merge r184654. rdar://problem/21044514

11:39 PM Changeset in webkit [184706] by matthew_hanson@apple.com
  • 4 edits in branches/safari-601.1.32.2-branch/Source/JavaScriptCore

Merge r184652. rdar://problem/21002666

11:39 PM Changeset in webkit [184705] by matthew_hanson@apple.com
  • 2 edits in branches/safari-601.1.32.2-branch/Source/WebKit2

Merge r184679. rdar://problem/20990162

11:39 PM Changeset in webkit [184704] by matthew_hanson@apple.com
  • 5 edits in branches/safari-601.1.32.2-branch/Source

Merge r184681. rdar://problem/20924495

10:55 PM Changeset in webkit [184703] by zandobersek@gmail.com
  • 4 edits
    6 adds
    2 deletes in trunk

[GTK] Move MainThreadGtk, RunLoopGtk, WorkQueueGtk under Source/WTF/wtf/glib/
https://bugs.webkit.org/show_bug.cgi?id=145117

Reviewed by Csaba Osztrogonác.

Source/WTF:

Move the MainThreadGtk, RunLoopGtk and WorkQueueGtk implementation files from
Source/WTF/wtf/gtk/ to Source/WTF/wtf/glib/. These implementations are not
GTK-specific and only depend on GLib, so they are renamed as well.

There are other such implementations under Source/WTF/wtf/gobject/ (GObject
is just a subset of GLib) that will be moved under the new directory in
future patches.

  • wtf/PlatformGTK.cmake:
  • wtf/glib/MainThreadGLib.cpp: Renamed from Source/WTF/wtf/gtk/MainThreadGtk.cpp.

(WTF::initializeMainThreadPlatform):
(WTF::scheduleDispatchFunctionsOnMainThread):

  • wtf/glib/RunLoopGLib.cpp: Renamed from Source/WTF/wtf/gtk/RunLoopGtk.cpp.

(WTF::RunLoop::RunLoop):
(WTF::RunLoop::~RunLoop):
(WTF::RunLoop::run):
(WTF::RunLoop::stop):
(WTF::RunLoop::wakeUp):
(WTF::RunLoop::TimerBase::TimerBase):
(WTF::RunLoop::TimerBase::~TimerBase):
(WTF::RunLoop::TimerBase::start):
(WTF::RunLoop::TimerBase::stop):
(WTF::RunLoop::TimerBase::isActive):

  • wtf/glib/WorkQueueGLib.cpp: Renamed from Source/WTF/wtf/gtk/WorkQueueGtk.cpp.

(WTF::WorkQueue::platformInitialize):
(WTF::WorkQueue::platformInvalidate):
(WTF::WorkQueue::registerSocketEventHandler):
(WTF::WorkQueue::unregisterSocketEventHandler):
(WTF::WorkQueue::dispatch):
(WTF::WorkQueue::dispatchAfter):

Tools:

Rename the WorkQueueGtk.cpp file to WorkQueueGLib.cpp, and move it under
Tools/TestWebKitAPI/Tests/WTF/glib/.

  • TestWebKitAPI/PlatformGTK.cmake:
  • TestWebKitAPI/Tests/WTF/glib/WorkQueueGLib.cpp: Renamed from Tools/TestWebKitAPI/Tests/WTF/gtk/WorkQueueGtk.cpp.

(TestWebKitAPI::TEST):

10:52 PM Changeset in webkit [184702] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

Unreviewed, rolling out r184667 and r184682.
https://bugs.webkit.org/show_bug.cgi?id=145245

Broke media/media-controls-timeline-updates.html on WebKit2
(Requested by ap on #webkit).

Reverted changesets:

"Media Controls stop updating after hovering for a few
seconds."
https://bugs.webkit.org/show_bug.cgi?id=144770
http://trac.webkit.org/changeset/184667

"Unreviewed. Media Controls stop updating after hovering for a
few seconds."
https://bugs.webkit.org/show_bug.cgi?id=144770
http://trac.webkit.org/changeset/184682

10:16 PM Changeset in webkit [184701] by matthew_hanson@apple.com
  • 4 edits in branches/safari-601.1.32-branch/Source/JavaScriptCore

Merge r184652. rdar://problem/21002666

10:16 PM Changeset in webkit [184700] by jonlee@apple.com
  • 7 edits in trunk/Source/WebCore

[iOS] Update optimized fullscreen controls artwork
https://bugs.webkit.org/show_bug.cgi?id=145208
rdar://problem/21034032

Reviewed by Jer Noble.

Update the artwork when media goes into optimized fullscreen. Add a new UI part
representing return-from-optimized.

  • Modules/mediacontrols/MediaControlsHost.cpp:

(WebCore::MediaControlsHost::mediaUIImageData): Return data for the return button.

  • Modules/mediacontrols/MediaControlsHost.idl: Add a new part ID.
  • Modules/mediacontrols/mediaControlsApple.js: Add a new ClassName to apply to the

button when in the proper state.

  • Modules/mediacontrols/mediaControlsiOS.js:

(ControllerIOS.prototype.handlePresentationModeChange): Add the ClassName when the
video goes into optimized fullscreen mode. Remove it otherwise.

  • platform/ios/WebCoreSystemInterfaceIOS.h:
  • rendering/RenderThemeIOS.mm:

(WebCore::RenderThemeIOS::mediaControlsStyleSheet): Add the return button data to the
stylesheet.

10:13 PM Changeset in webkit [184699] by commit-queue@webkit.org
  • 4 edits in trunk

Web Inspector: array previews should have a much smaller cap on values
https://bugs.webkit.org/show_bug.cgi?id=145195

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-05-20
Reviewed by Timothy Hatcher.

Source/JavaScriptCore:

  • inspector/InjectedScriptSource.js:

(InjectedScript.RemoteObject.prototype._generatePreview):
Reduce the indexes threshold for previews.

LayoutTests:

  • inspector/model/remote-object-expected.txt:

Update expected results now that array previews include
a smaller number of items.

10:12 PM Changeset in webkit [184698] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Fix WebInspector.StackTrace style
https://bugs.webkit.org/show_bug.cgi?id=145240

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-05-20
Reviewed by Timothy Hatcher.

  • UserInterface/Models/StackTrace.js:

Reorder and add our usual marker comments.

10:12 PM Changeset in webkit [184697] by commit-queue@webkit.org
  • 3 edits in trunk/Source/JavaScriptCore

Web Inspector: Use native Arguments detection instead of using toString
https://bugs.webkit.org/show_bug.cgi?id=145235

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-05-20
Reviewed by Timothy Hatcher.

  • inspector/InjectedScriptSource.js:

(InjectedScript.prototype._subtype):
Deleted the old string code.

  • inspector/JSInjectedScriptHost.cpp:

(Inspector::JSInjectedScriptHost::subtype):
Replaced with a stricter, more accurate check.

9:48 PM Changeset in webkit [184696] by Gyuyoung Kim
  • 2 edits in trunk/Source/WebKit2

Unreviewed GTK build fix since r184686.

Patch by Gyuyoung Kim <Gyuyoung Kim> on 2015-05-20

  • UIProcess/gtk/WebProcessPoolGtk.cpp:

(WebKit::WebProcessPool::legacyPlatformDefaultApplicationCacheDirectory): Add *legacy* prefix.
(WebKit::WebProcessPool::platformDefaultApplicationCacheDirectory): Deleted.

8:17 PM Changeset in webkit [184695] by rniwa@webkit.org
  • 2 edits in trunk/Websites/perf.webkit.org

Build fix after r184591.

  • public/v2/manifest.js:
8:09 PM Changeset in webkit [184694] by Gyuyoung Kim
  • 2 edits in trunk/Source/WebKit2

Unreviewed EFL build fix since r184686.

Patch by Gyuyoung Kim <Gyuyoung Kim> on 2015-05-20

  • UIProcess/efl/WebProcessPoolEfl.cpp:

(WebKit::WebProcessPool::legacyPlatformDefaultApplicationCacheDirectory): Add *legacy* prefix.
(WebKit::WebProcessPool::platformDefaultApplicationCacheDirectory): Deleted.

8:06 PM Changeset in webkit [184693] by Chris Dumez
  • 2 edits in trunk/Source/WebKit2

[WK2][iOS] Update WebContent process sandbox profile for AWD logging
https://bugs.webkit.org/show_bug.cgi?id=145229
<rdar://problem/20543269>

Reviewed by Alexey Proskuryakov.

  • Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:
7:36 PM Changeset in webkit [184692] by barraclough@apple.com
  • 2 edits in trunk/Source/WebKit2

dispatchViewStateChange should not wait for sync reply if the page isn't visible
https://bugs.webkit.org/show_bug.cgi?id=145242
<rdar://problem/20967937>

Reviewed by Ben Poulain.

This is particularly problematic on iOS, since if the page isn't visible the process is likely suspended.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::dispatchViewStateChange):
(WebKit::WebPageProxy::waitForDidUpdateViewState):

7:33 PM Changeset in webkit [184691] by hyuki.kim@samsung.com
  • 2 edits in trunk/Tools

[EFL] fix efreet error
https://bugs.webkit.org/show_bug.cgi?id=143670

Reviewed by Gyuyoung Kim.

Fix efreet error by using external variable efreet_cache_update.
As 0 value of efreet_cache_update prevents monitoring of icon and desktop cache,
efreet error for efreet_cache does not occur.

  • MiniBrowser/efl/main.c:

(elm_main):

7:09 PM Changeset in webkit [184690] by commit-queue@webkit.org
  • 7 edits
    2 adds in trunk

Enable disk cache for range requests
https://bugs.webkit.org/show_bug.cgi?id=144682

Patch by Marcos Chavarría Teijeiro <mchavarria@igalia.com> on 2015-05-20
Reviewed by Antti Koivisto.

Source/WebKit2:

Add Range header value to the network cache key constructor so we take
into account this value. The 206 response code is also marked to be cached.

  • NetworkProcess/cache/NetworkCache.cpp:

(WebKit::NetworkCache::makeCacheKey):
(WebKit::NetworkCache::isStatusCodeCacheableByDefault):

  • NetworkProcess/cache/NetworkCacheKey.cpp:

(WebKit::NetworkCache::Key::Key):
(WebKit::NetworkCache::Key::operator=):
(WebKit::NetworkCache::Key::computeHash):
(WebKit::NetworkCache::Key::operator==):
(WebKit::NetworkCache::Key::encode):
(WebKit::NetworkCache::Key::decode):
(WebKit::NetworkCache::Key::stringToHash): Deleted.

  • NetworkProcess/cache/NetworkCacheKey.h:

LayoutTests:

  • http/tests/cache/disk-cache/disk-cache-range-expected.txt: Added. Add Test.
  • http/tests/cache/disk-cache/disk-cache-range.html: Added.
  • http/tests/cache/disk-cache/resources/generate-response.cgi: Modify script to return 206 and 416 response codes if Range header is present.
  • platform/gtk/TestExpectations: Remove failing test.
6:37 PM Changeset in webkit [184689] by bshafiei@apple.com
  • 5 edits in branches/safari-601.1.32-branch/Source

Versioning.

6:37 PM Changeset in webkit [184688] by bshafiei@apple.com
  • 5 edits in branches/safari-600.1.4.16-branch/Source

Versioning.

6:37 PM Changeset in webkit [184687] by bshafiei@apple.com
  • 5 edits in branches/safari-601.1.32.2-branch/Source

Versioning.

6:30 PM Changeset in webkit [184686] by andersca@apple.com
  • 4 edits in trunk/Source/WebKit2

WKWebsiteDataStore API doesn't report webkit.org as using Databases or App Cache after visiting http://www.webkit.org/demos/sticky-notes/
https://bugs.webkit.org/show_bug.cgi?id=145238
rdar://problem/20581175

Reviewed by Tim Horton.

Make sure to set the application cache and WebSQL directories when using the legacy data store.

  • UIProcess/Cocoa/WebProcessPoolCocoa.mm:

(WebKit::WebProcessPool::legacyPlatformDefaultApplicationCacheDirectory):
(WebKit::WebProcessPool::platformDefaultApplicationCacheDirectory):
Rename this and move it to the right place.

  • UIProcess/WebProcessPool.cpp:

(WebKit::legacyWebsiteDataStoreConfiguration):
Rename this and add the application cache and WebSQL directories.

(WebKit::WebProcessPool::WebProcessPool):
Call legacyWebsiteDataStoreConfiguration.

(WebKit::WebProcessPool::applicationCacheDirectory):
Call legacyPlatformDefaultApplicationCacheDirectory.

  • UIProcess/WebProcessPool.h:
6:28 PM Changeset in webkit [184685] by dino@apple.com
  • 2 edits in trunk/Source/WebCore

Label text for default buttons don’t have the correct white color
https://bugs.webkit.org/show_bug.cgi?id=145221
<rdar://problem/20985817>

Follow-up commit. After discussion with the AppKit team, we've
concluded that a solid white is the color that best matches
the system.

  • rendering/RenderThemeMac.mm:

(WebCore::RenderThemeMac::systemColor): Use Color::white.

6:15 PM Changeset in webkit [184684] by achristensen@apple.com
  • 2 edits in trunk/Source/WebCore

[ContentExtensions] Properly initialize ActionKey.state
https://bugs.webkit.org/show_bug.cgi?id=145237
rdar://problem/20716683

Reviewed by Benjamin Poulain.

  • contentextensions/DFAMinimizer.cpp:

Initialize ActionKey.state to Valid if it is a valid ActionKey.
Inlining can now be done safely.

6:14 PM Changeset in webkit [184683] by msaboff@apple.com
  • 2 edits in trunk/Tools

Add option to run_jsc_stress_tests to disable JIT testing
https://bugs.webkit.org/show_bug.cgi?id=145233

Reviewed by Mark Lam.

Added --no-jit option.

  • Scripts/run-jsc-stress-tests:
5:58 PM Changeset in webkit [184682] by roger_fong@apple.com
  • 2 edits in trunk/Source/WebCore

Unreviewed. Media Controls stop updating after hovering for a few seconds.
https://bugs.webkit.org/show_bug.cgi?id=144770.
<rdar://problem/19823121>

Followup to r184667.

  • Modules/mediacontrols/mediaControlsApple.js:

(Controller.prototype.showControls):
Only put controls back into the tree if they don’t yet exist in the tree.
Otherwise we interrupt operations like scrubbing.

5:52 PM Changeset in webkit [184681] by enrica@apple.com
  • 5 edits in trunk/Source

[iOS] Using CSS viewport units causes incorrect layout.
https://bugs.webkit.org/show_bug.cgi?id=145225
rdar://problem/20924495

Reviewed by Benjamin Poulain.

Source/WebCore:

  • page/ViewportConfiguration.cpp:

(WebCore::ViewportConfiguration::initialScaleFromSize):
(WebCore::ViewportConfiguration::initialScale):
(WebCore::ViewportConfiguration::initialScaleIgnoringContentSize):

  • page/ViewportConfiguration.h:

(WebCore::ViewportConfiguration::initialScaleFromSize):
(WebCore::ViewportConfiguration::initialScaleIgnoringContentSize):

Source/WebKit2:

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::updateViewportSizeForCSSViewportUnits):

5:51 PM Changeset in webkit [184680] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit/mac

Fix build.

  • WebView/WebViewInternal.h:
5:14 PM Changeset in webkit [184679] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

Allow overriding the waitForDidUpdateViewState timeout
https://bugs.webkit.org/show_bug.cgi?id=145230
<rdar://problem/20990162>

Reviewed by Darin Adler.

  • UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm:

(WebKit::RemoteLayerTreeDrawingAreaProxy::waitForDidUpdateViewState):
Use the value from NSUserDefaults, if it exists.
We'll only check once, so changing the default requires a restart of the UI process.

5:11 PM Changeset in webkit [184678] by achristensen@apple.com
  • 2 edits in trunk/Source/WebKit/mac

Unreviewed build fix; LocalizedStrings.h is in WebCore.

  • WebView/WebActionMenuController.mm:
5:10 PM Changeset in webkit [184677] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Make sure we always have a process pool to perform data store operations with
https://bugs.webkit.org/show_bug.cgi?id=145231
rdar://problem/20618248

Reviewed by Tim Horton.

Make sure that we always return a process pool. If we're a legacy C SPI per-context data store,
find the process pool we're a part of and use that. Otherwise, create a new one.

  • UIProcess/WebsiteData/WebsiteDataStore.cpp:

(WebKit::WebsiteDataStore::processPools):

4:42 PM Changeset in webkit [184676] by Chris Fleizach
  • 6 edits
    2 adds in trunk

AX: improve list heuristics (presentational use versus actual lists)
https://bugs.webkit.org/show_bug.cgi?id=134187

Reviewed by Darin Adler.

Source/WebCore:

Improve heuristics for list detection by:

  1. Not exposing lists without list markers (unless explicitly marked as lists)
  2. Recognizing css: before-content as list markers

Test: accessibility/list-detection2.html

  • accessibility/AccessibilityList.cpp:

(WebCore::AccessibilityList::isDescriptionList):
(WebCore::AccessibilityList::childHasPseudoVisibleListItemMarkers):
(WebCore::AccessibilityList::determineAccessibilityRole):

  • accessibility/AccessibilityList.h:

LayoutTests:

  • accessibility/list-detection-expected.txt:
  • accessibility/list-detection.html:
  • accessibility/list-detection2-expected.txt: Added.
  • accessibility/list-detection2.html: Added.
4:34 PM Changeset in webkit [184675] by Antti Koivisto
  • 4 edits
    2 adds in trunk

REGRESSION (r172591): Can no longer style <optgroup> with colors (LayoutTests/fast/forms/select/optgroup-rendering.html)
https://bugs.webkit.org/show_bug.cgi?id=145227
Source/WebCore:

rdar://problem/20967472

Reviewed by Darin Adler.

Test: fast/forms/select/select-painting.html

Use computedStyle() consistently for option and optgroup items.

  • rendering/RenderListBox.cpp:

(WebCore::RenderListBox::paintItemForeground):
(WebCore::RenderListBox::paintItemBackground):

We can always use computedStyle() and it can't be null. If there was renderer style it would return that.

  • rendering/RenderMenuList.cpp:

(RenderMenuList::itemStyle):
(RenderMenuList::getItemBackgroundColor):

LayoutTests:

Reviewed by Darin Adler.

Add ref test for select painting.

  • fast/forms/select/select-painting-expected.html: Added.
  • fast/forms/select/select-painting.html: Added.
4:33 PM Changeset in webkit [184674] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebKit/mac

Unreviewed build fix; WebActionMenuController.mm should directly include LocalizedStrings.h

  • WebView/WebActionMenuController.mm:
4:27 PM Changeset in webkit [184673] by bshafiei@apple.com
  • 1 copy in tags/Safari-600.1.4.16.4

New tag.

4:26 PM Changeset in webkit [184672] by bshafiei@apple.com
  • 1 copy in tags/Safari-601.1.32.2.4

New tag.

4:26 PM Changeset in webkit [184671] by bshafiei@apple.com
  • 1 copy in tags/Safari-601.1.32.4

New tag.

4:12 PM Changeset in webkit [184670] by jer.noble@apple.com
  • 29 edits
    1 copy
    1 add in trunk/Source

Touching HTMLMediaElement.h or MediaPlayer.h causes a world rebuild.
https://bugs.webkit.org/show_bug.cgi?id=145193

Reviewed by Eric Carlson.

Source/WebCore:

HTMLMediaElement.h and MediaPlayer.h are included in a number of headers solely for access to the enums
defined within the classes contained within. Move these enums into their own--otherwise empty--classes.
Then add using declarations to pull those inherited enums back into the namespace of HTMLMediaElement
and MediaPlayer.

Classes and headers which do not need to directly include HTMLMediaElement.h can now include HTMLMediaElementEnums.h
instead; the same goes for MediaPlayer.h and MediaPlayerEnums.h.

  • WebCore.xcodeproj/project.pbxproj: Add new files to project.
  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::TrackGroup::TrackGroup): Move definition here from the header.

  • html/HTMLMediaElement.h:

(WebCore::HTMLMediaElement::videoFullscreenGravity): MediaPlayer -> MediaPlayerEnums.
(WebCore::HTMLMediaElement::preloadValue): Ditto.
(WebCore::HTMLMediaElement::TrackGroup::TrackGroup): Deleted; moved to implementation file.

  • html/HTMLMediaElementEnums.h: Added.
  • html/MediaControllerInterface.h: Inherit from HTMLMediaElementEnums.
  • page/ChromeClient.h: HTMLMediaElement -> HTMLMediaElementEnums.
  • platform/graphics/MediaPlayer.h: MediaPlayer -> MediaPlayerEnums.
  • platform/graphics/MediaPlayerEnums.h: Added.
  • platform/ios/WebVideoFullscreenControllerAVKit.h:
  • platform/ios/WebVideoFullscreenControllerAVKit.mm:

(-[WebVideoFullscreenController enterFullscreen:mode:]): HTMLMediaElement -> HTMLMediaElementEnums.

  • platform/ios/WebVideoFullscreenInterfaceAVKit.h:
  • platform/ios/WebVideoFullscreenInterfaceAVKit.mm:

(WebVideoFullscreenInterfaceAVKit::setupFullscreen): Ditto.
(WebVideoFullscreenInterfaceAVKit::setupFullscreenInternal): Ditto.
(WebVideoFullscreenInterfaceAVKit::enterFullscreen): Ditto.
(WebVideoFullscreenInterfaceAVKit::exitFullscreenInternal): Ditto.
(WebVideoFullscreenInterfaceAVKit::cleanupFullscreenInternal): Ditto.
(WebVideoFullscreenInterfaceAVKit::requestHideAndExitFullscreen): Ditto.
(WebVideoFullscreenInterfaceAVKit::mayAutomaticallyShowVideoOptimized): Ditto.
(WebVideoFullscreenInterfaceAVKit::willStartOptimizedFullscreen): Ditto.
(WebVideoFullscreenInterfaceAVKit::didStopOptimizedFullscreen): Ditto.
(WebVideoFullscreenInterfaceAVKit::didCancelOptimizedFullscreen): Ditto.
(WebVideoFullscreenInterfaceAVKit::setMode): Ditto.
(WebVideoFullscreenInterfaceAVKit::clearMode): Ditto.

  • platform/ios/WebVideoFullscreenModel.h:
  • platform/ios/WebVideoFullscreenModelVideoElement.h:
  • platform/ios/WebVideoFullscreenModelVideoElement.mm:

(WebVideoFullscreenModelVideoElement::setVideoElement): Ditto.
(WebVideoFullscreenModelVideoElement::fullscreenModeChanged): Ditto.

Source/WebKit/mac:

Use HTMLMediaElementEnums instead of HTMLMediaElement.

  • WebCoreSupport/WebChromeClient.h:
  • WebCoreSupport/WebChromeClient.mm:

(WebChromeClient::enterVideoFullscreenForVideoElement): HTMLMediaElement -> HTMLMediaElementEnums.

  • WebView/WebView.mm:

(-[WebView _enterVideoFullscreenForVideoElement:mode:]): Ditto.

  • WebView/WebViewInternal.h:

Source/WebKit2:

Use HTMLMediaElementEnums instead of HTMLMediaElement.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _isShowingVideoOptimized]): HTMLMediaElement -> HTMLMediaElementEnums.

  • UIProcess/ios/WebVideoFullscreenManagerProxy.h:
  • UIProcess/ios/WebVideoFullscreenManagerProxy.messages.in:
  • UIProcess/ios/WebVideoFullscreenManagerProxy.mm:

(WebKit::WebVideoFullscreenManagerProxy::hasMode): Ditto.
(WebKit::WebVideoFullscreenModelContext::fullscreenModeChanged): Ditto.
(WebKit::WebVideoFullscreenManagerProxy::setupFullscreenWithID): Ditto.
(WebKit::WebVideoFullscreenManagerProxy::fullscreenModeChanged): Ditto.

  • WebProcess/WebCoreSupport/WebChromeClient.cpp:

(WebKit::WebChromeClient::enterVideoFullscreenForVideoElement): Ditto.

  • WebProcess/WebCoreSupport/WebChromeClient.h:
  • WebProcess/ios/WebVideoFullscreenManager.h:

(WebKit::WebVideoFullscreenInterfaceContext::fullscreenMode): Ditto.
(WebKit::WebVideoFullscreenInterfaceContext::setFullscreenMode): Ditto.

  • WebProcess/ios/WebVideoFullscreenManager.messages.in:
  • WebProcess/ios/WebVideoFullscreenManager.mm:

(WebKit::WebVideoFullscreenManager::enterVideoFullscreenForVideoElement): Ditto.
(WebKit::WebVideoFullscreenManager::fullscreenModeChanged): Ditto.
(WebKit::WebVideoFullscreenManager::didCleanupFullscreen): Ditto.

4:04 PM Changeset in webkit [184669] by andersca@apple.com
  • 3 edits in trunk/Source/WebKit2

Refactor process pool enumeration code in WebsiteDataStore
https://bugs.webkit.org/show_bug.cgi?id=145218

Reviewed by Tim Horton.

Also make sure to keep the WebProcessPool objects alive for the duration of the various data store
operations. This is the first step towards having the data store create a single process pool lazily if
there are no web views associated with the data store.

  • UIProcess/WebsiteData/WebsiteDataStore.cpp:

(WebKit::WebsiteDataStore::fetchData):
(WebKit::WebsiteDataStore::removeData):
(WebKit::WebsiteDataStore::processPools):

  • UIProcess/WebsiteData/WebsiteDataStore.h:
4:01 PM Changeset in webkit [184668] by achristensen@apple.com
  • 2 edits in trunk/Tools

Use correct String for StringView in WTF API tests
https://bugs.webkit.org/show_bug.cgi?id=145226
rdar://problem/20361786

Reviewed by Benjamin Poulain.

  • TestWebKitAPI/Tests/WTF/StringView.cpp:

(TestWebKitAPI::TEST):
Use patternHolder for pattern.

3:40 PM Changeset in webkit [184667] by roger_fong@apple.com
  • 3 edits in trunk/Source/WebCore

Media Controls stop updating after hovering for a few seconds.
https://bugs.webkit.org/show_bug.cgi?id=144770.
<rdar://problem/19823121>

Reviewed by Jer Noble.

  • Modules/mediacontrols/mediaControlsApple.js:

(Controller.prototype.createBase):
We should never hide controls immediately as a result of mousing out of the controls.
It should only happen when the mouse leaves the video entirely.
(Controller.prototype.updateTimelineMetricsIfNeeded):
Don’t update if controls are hidden, timeline dimensions will be 0.
(Controller.prototype.handlePanelTransitionEnd):
Instead of adjusting visibility via adding and removing classes,
remove controls entirely from the tree.
(Controller.prototype.showControls):
Add controls back into the tree when showing controls.
(Controller.prototype.updateForShowingControls):
Helper method for showControls.
(Controller.prototype.controlsAreHidden):
Controls also hidden if removed from tree.
Remove forceUpdate logic, no longer necessary.
(Controller.prototype.handleDurationChange):
(Controller.prototype.updateProgress):
(Controller.prototype.updateTime):

Override methods to use add and remove panelContainer for iOS.

  • Modules/mediacontrols/mediaControlsiOS.js:

(ControllerIOS.prototype.handlePanelTransitionEnd):
(ControllerIOS.prototype.showControls):
(ControllerIOS.prototype.controlsAreHidden):

3:25 PM Changeset in webkit [184666] by akling@apple.com
  • 6 edits in trunk/Source/JavaScriptCore

Remove unused MarkedBlock::m_rememberedSet.
<https://webkit.org/b/145224>

Reviewed by Mark Hahnenberg.

The MarkedBlock had a copy of the remembered bit for each of its cells,
and we were maintaining that bitmap despite no one actually ever consulting it.

This patch removes MarkedBlock::m_rememberedSet, freeing up 128 bytes in each
block and making write barriers a little faster.

  • heap/Heap.cpp:

(JSC::Heap::clearRememberedSet):
(JSC::Heap::addToRememberedSet):

  • heap/HeapInlines.h:

(JSC::Heap::isRemembered):

  • heap/MarkedBlock.cpp:

(JSC::MarkedBlock::clearRememberedSet): Deleted.
(JSC::MarkedBlock::clearMarksWithCollectionType):

  • heap/MarkedBlock.h:

(JSC::MarkedBlock::setRemembered): Deleted.
(JSC::MarkedBlock::clearRemembered): Deleted.
(JSC::MarkedBlock::atomicClearRemembered): Deleted.
(JSC::MarkedBlock::isRemembered): Deleted.

  • heap/MarkedSpace.h:

(JSC::ClearRememberedSet::operator()): Deleted.
(JSC::MarkedSpace::clearRememberedSet): Deleted.

3:23 PM Changeset in webkit [184665] by Jon Davis
  • 982 edits
    587 adds in trunk/Websites/webkit.org

Upgrading WordPress to 4.2.2 release.

3:07 PM Changeset in webkit [184664] by rniwa@webkit.org
  • 2 edits in trunk/Websites/perf.webkit.org

Build fix. Use POSIX timestamp instead of human readable string for the commit time.

  • public/include/build-requests-fetcher.php:
3:03 PM Changeset in webkit [184663] by bshafiei@apple.com
  • 8 edits in tags/Safari-601.1.32.2.50/Source

Merged r184600. rdar://problem/21024426

2:53 PM Changeset in webkit [184662] by eric.carlson@apple.com
  • 2 edits in trunk/Source/WebCore

[Mac] inform media session of all state changes
https://bugs.webkit.org/show_bug.cgi?id=145222

Reviewed by Dean Jackson.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::~HTMLMediaElement): Call updateMediaState.
(WebCore::HTMLMediaElement::mediaPlayerEngineUpdated): Ditto.
(WebCore::HTMLMediaElement::mediaPlayerFirstVideoFrameAvailable): Ditto.
(WebCore::HTMLMediaElement::removeEventListener): Ditto.
(WebCore::HTMLMediaElement::enqueuePlaybackTargetAvailabilityChangedEvent): Ditto.

2:52 PM Changeset in webkit [184661] by rniwa@webkit.org
  • 8 edits in trunk/Websites/perf.webkit.org

UI to associate bugs with an analysis task is crappy
https://bugs.webkit.org/show_bug.cgi?id=145198

Reviewed by Andreas Kling.

Make the UI less crappy by linkifying bug numbers and adding an explicit button to disassociate
a bug and a separate select view with a text field to associate a new bug instead of implicitly
updating or deleting the existing record based on what the user had typed.

  • init-database.sql: Removed the constraint that each bug tracker should appear exactly once for

a given analysis task since it's perfectly reasonable for a given task to be associated with
multiple WebKit bugs.

  • public/privileged-api/associate-bug.php:

(main): Only remove the bug specified by newly added bugToDelete instead of implicitly deleting
one that matches the analysis task and the bug tracker when the bug number is falsey.

  • public/v2/analysis.js:

(App.Bug.url): Added.
(App.BugAdapter.deleteRecord): Added. Uses the privileged API to delete the record.

  • public/v2/app.css:
  • public/v2/app.js:

(App.AnalysisTaskController.actions.addBug): Added.
(App.AnalysisTaskController.actions.deleteBug): Added.
(App.AnalysisTaskController.associateBug): Deleted.

  • public/v2/index.html: Updated the templates.
  • public/v2/manifest.js:

(App.BugTracker.urlFromBugNumber): Added.

2:38 PM Changeset in webkit [184660] by dbates@webkit.org
  • 9 edits
    2 adds in trunk

AX: AutoFill button is not accessible with VoiceOver
https://bugs.webkit.org/show_bug.cgi?id=145200
<rdar://problem/20507480>

Reviewed by Chris Fleizach.

Source/WebCore:

Add ARIA label and role attributes to the AutoFill button markup so that VoiceOver
can identify and interact with it.

Test: accessibility/input-auto-fill-button.html

  • English.lproj/Localizable.strings: Add placeholder localized string for AutoFill button.
  • html/TextFieldInputType.cpp:

(WebCore::TextFieldInputType::createAutoFillButton): Add ARIA label and role attributes.

  • platform/LocalizedStrings.cpp:

(WebCore::AXAutoFillButtonText): Added; returns the localized string for the AutoFill button.

  • platform/LocalizedStrings.h:
  • platform/efl/LocalizedStringsEfl.cpp:

(WebCore::AXAutoFillButtonText): Ditto.

  • platform/gtk/LocalizedStringsGtk.cpp:

(WebCore::AXAutoFillButtonText): Ditto.

LayoutTests:

Test that there is an accessibility element for the AutoFill button.

  • accessibility/input-auto-fill-button-expected.txt: Added.
  • accessibility/input-auto-fill-button.html: Added.
  • platform/win/TestExpectations: For now, mark tests as failing. I suspect the cause

is <https://bugs.webkit.org/show_bug.cgi?id=140798>.

2:36 PM Changeset in webkit [184659] by dino@apple.com
  • 2 edits in trunk/Source/WebCore

Label text for default buttons don’t have the correct white color
https://bugs.webkit.org/show_bug.cgi?id=145221
<rdar://problem/20985817>

Reviewed by Tim Horton.

Use a 85% solid white for the active text color on buttons.

As has been disappointingly pointed out in other patches, we don't
have a good way to test ActiveButtonText since it only applies at
paint time.

  • rendering/RenderThemeMac.mm:

(WebCore::RenderThemeMac::systemColor): Move to an 85% solid white.

2:22 PM Changeset in webkit [184658] by rniwa@webkit.org
  • 3 edits in trunk/Websites/perf.webkit.org

A/B testing rootSets should provide commit times as well as revisions
https://bugs.webkit.org/show_bug.cgi?id=145207

Reviewed by Andreas Kling.

Some continuous build systems need the commit time as well as the revision number / hash so provide one
in the root sets but maintain the backwards compatibility with buildbots that use revision number directly.

  • public/include/build-requests-fetcher.php:

(BuildRequestsFetcher::fetch_roots_for_set): Made the revision info an associative array that contains
the revision number as well as the commit time.

  • tools/sync-with-buildbot.py:

(schedule_request): Removed "replacement" which was a superfluous copy of "roots". Use "revision" values
when the JSON configuration refers to "root". This is necessary in buildbot instances that require WebKit
revision to be specified on its own field instead of it being a JSON that contains "revision" and "time".

2:08 PM Changeset in webkit [184657] by ap@apple.com
  • 3 edits in trunk/Source/WebCore

ThreadableLoaderOptions::isolatedCopy() doesn't produce a copy that is safe for sending to another thread
https://bugs.webkit.org/show_bug.cgi?id=145217

Reviewed by Anders Carlsson.

Caught by existing tests, rarely. I don't know how to catch such bugs more reliably.

  • loader/ThreadableLoader.cpp: (WebCore::ThreadableLoaderOptions::isolatedCopy):
  • loader/ThreadableLoader.h:
2:07 PM Changeset in webkit [184656] by bshafiei@apple.com
  • 5 edits in branches/safari-600.7-branch/Source

Versioning.

1:57 PM Changeset in webkit [184655] by bshafiei@apple.com
  • 1 copy in tags/Safari-600.7.8

New tag.

1:42 PM Changeset in webkit [184654] by timothy_horton@apple.com
  • 5 edits in trunk/Source/WebCore

Add a mechanism to opt-out of the automatic scaling applied to not-really-responsive sites
https://bugs.webkit.org/show_bug.cgi?id=144760

Reviewed by Darin Adler.

Add a new viewport property, shrink-to-fit, which can be used to disable
the automatic scaling introduced in r181400. This provides sites with a
way to tell WebKit that they're really sure they want to be laid out at
window-width/height, even if they fail to fit within that size.

  • dom/ViewportArguments.cpp:

(WebCore::ViewportArguments::resolve):
(WebCore::findBooleanValue):
(WebCore::setViewportFeature):

  • dom/ViewportArguments.h:

(WebCore::ViewportArguments::ViewportArguments):
(WebCore::ViewportArguments::operator==):

  • page/ViewportConfiguration.cpp:

(WebCore::ViewportConfiguration::shouldIgnoreHorizontalScalingConstraints):
(WebCore::ViewportConfiguration::shouldIgnoreVerticalScalingConstraints):
(WebCore::ViewportConfiguration::webpageParameters):
(WebCore::ViewportConfiguration::textDocumentParameters):
(WebCore::ViewportConfiguration::imageDocumentParameters):
(WebCore::ViewportConfiguration::testingParameters):
(WebCore::booleanViewportArgumentIsSet):
(WebCore::ViewportConfiguration::updateConfiguration):
(WebCore::ViewportConfigurationTextStream::operator<<):
(WebCore::viewportArgumentUserZoomIsSet): Deleted.

  • page/ViewportConfiguration.h:

(WebCore::ViewportConfiguration::Parameters::Parameters):
Plumb the shrink-to-fit viewport property through.
If shrink-to-fit is set to yes, or not set, we behave as usual; if it is
set to no, we will bail from shouldIgnore[Horizontal|Vertical]ScalingConstraints,
effectively disabling the automatic scaling introduced in r181400.

1:34 PM Changeset in webkit [184653] by Antti Koivisto
  • 4 edits
    2 adds in trunk

Assertion failure in WebCore::BidiRun::BidiRun()
https://bugs.webkit.org/show_bug.cgi?id=145203
rdar://problem/20958973

Reviewed by Andreas Kling.

Source/WebCore:

Test: fast/text/text-combine-crash.html

  • rendering/line/BreakingContext.h:

(WebCore::BreakingContext::handleText):

Renove !isCombined() check. RenderCombineText::combineText() doesn't
do any work unless needed and text may become uncombined too.

  • rendering/line/LineBreaker.cpp:

(WebCore::LineBreaker::skipLeadingWhitespace):

Same here.

LayoutTests:

  • fast/text/text-combine-crash-expected.txt: Added.
  • fast/text/text-combine-crash.html: Added.
1:30 PM Changeset in webkit [184652] by akling@apple.com
  • 4 edits in trunk/Source/JavaScriptCore

Eden collections should extend the IncrementalSweeper work list, not replace it.
<https://webkit.org/b/145213>
<rdar://problem/21002666>

Reviewed by Geoffrey Garen.

After an eden collection, the garbage collector was adding all MarkedBlocks containing
new objects to the IncrementalSweeper's work list, to make sure they didn't have to
wait until the next full collection before getting swept.

Or at least, that's what it thought it was doing. It turns out that IncrementalSweeper's
internal work list is really just a reference to Heap::m_blockSnapshot. I didn't realize
this when writing the post-eden sweep code, and instead made eden collections cancel
all pending sweeps and *replace* them with the list of blocks with new objects.

This made it so that rapidly occurring eden collections could prevent large numbers of
heap blocks from ever getting swept. This would manifest as accumulation of MarkedBlocks
when a system under heavy load was also allocating short lived objects at a high rate.
Things would eventually get cleaned up when there was a lull and a full collection was
allowed to run its heap sweep to completion.

Fix this by moving all management of the block snapshot to Heap. snapshotMarkedSpace()
now handles eden collections by merging the list of blocks with new objects into the
existing block snapshot.

  • heap/Heap.cpp:

(JSC::Heap::snapshotMarkedSpace):
(JSC::Heap::notifyIncrementalSweeper):

  • heap/IncrementalSweeper.cpp:

(JSC::IncrementalSweeper::startSweeping):
(JSC::IncrementalSweeper::addBlocksAndContinueSweeping): Deleted.

  • heap/IncrementalSweeper.h:
1:20 PM Changeset in webkit [184651] by youenn.fablet@crf.canon.fr
  • 13 edits
    2 adds in trunk

AudioContext resume/close/suspend should reject promises with a DOM exception in lieu of throwing exceptions
https://bugs.webkit.org/show_bug.cgi?id=145064

Reviewed by Darin Adler.

Source/JavaScriptCore:

Added default message for TypeError.

  • runtime/Error.cpp:

(JSC::throwTypeError):

  • runtime/Error.h:

Source/WebCore:

Rejecting resume/suspend/close promises with InvalidStateError values in case context is offline.
Removed unneeded calls to postTask for resolving/rejecting promises.
Adding promise rejection of DOM Exception values, 0 being equivalent of no error passed to reject callback.

Test: webaudio/audiocontext-promise-throwing.html

  • Modules/webaudio/AudioContext.cpp:

(WebCore::AudioContext::suspendContext): Rejecting promise in lieu of throwing exception.
(WebCore::AudioContext::resumeContext): Ditto.
(WebCore::AudioContext::closeContext): Ditto.

  • Modules/webaudio/AudioContext.h:
  • bindings/js/JSAudioContextCustom.cpp:

(WebCore::JSAudioContext::suspend): Removing ExceptionCode handling.
(WebCore::JSAudioContext::resume): Ditto.
(WebCore::JSAudioContext::close): Ditto.

  • bindings/js/JSDOMBinding.cpp:

(WebCore::createDOMException): Splitting DOM exception creation from throwing.
(WebCore::setDOMException): Ditto.

  • bindings/js/JSDOMBinding.h: Adding createDOMException prototype.
  • bindings/js/JSDOMPromise.h:

(WebCore::DeferredWrapper::reject<ExceptionCode>):

LayoutTests:

Adding test to cover resume/close/suspend rejecting with InvalidStateError.
Updating existing test to cover resume and suspend rejection with no error.

  • webaudio/audiocontext-promise-throwing-expected.txt: Added.
  • webaudio/audiocontext-promise-throwing.html: Added.
  • webaudio/audiocontext-state-expected.txt:
  • webaudio/audiocontext-state.html:
1:12 PM Changeset in webkit [184650] by commit-queue@webkit.org
  • 8 edits
    2 deletes in trunk

Unreviewed, rolling out r184645.
https://bugs.webkit.org/show_bug.cgi?id=145220

Broken build (Requested by jacob_nielsen on #webkit).

Reverted changeset:

"AX: AutoFill button is not accessible with VoiceOver"
https://bugs.webkit.org/show_bug.cgi?id=145200
http://trac.webkit.org/changeset/184645

1:08 PM Changeset in webkit [184649] by bshafiei@apple.com
  • 5 edits in tags/Safari-601.1.32.2.50/Source

Versioning.

1:05 PM Changeset in webkit [184648] by bshafiei@apple.com
  • 1 copy in tags/Safari-601.1.32.2.50

New tag.

12:35 PM Changeset in webkit [184647] by Joseph Pecoraro
  • 2 edits in trunk/Source/JavaScriptCore

No LLInt Test Failure: jsc-layout-tests.yaml/js/script-tests/object-literal-duplicate-properties.js.layout-no-llint
https://bugs.webkit.org/show_bug.cgi?id=145219

Reviewed by Mark Lam.

  • jit/JITOperations.cpp:

Throw the error we just got, instead of a stack overflow exception.
This matches other error handling for callers of prepareForExecution.

11:40 AM Changeset in webkit [184646] by fpizlo@apple.com
  • 4 edits in trunk/Source/JavaScriptCore

Add some assertions about the CFG in the loop pre-header creation phase
https://bugs.webkit.org/show_bug.cgi?id=145205

Reviewed by Geoffrey Garen.

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::currentNodeOrigin): Add a FIXME.

  • dfg/DFGLICMPhase.cpp:

(JSC::DFG::LICMPhase::run): Add a FIXME.

  • dfg/DFGLoopPreHeaderCreationPhase.cpp:

(JSC::DFG::LoopPreHeaderCreationPhase::run): Add the assertions.

10:58 AM Changeset in webkit [184645] by dbates@webkit.org
  • 8 edits
    2 adds in trunk

AX: AutoFill button is not accessible with VoiceOver
https://bugs.webkit.org/show_bug.cgi?id=145200
<rdar://problem/20507480>

Reviewed by Chris Fleizach.

Source/WebCore:

Add ARIA label and role attributes to the AutoFill button markup so that VoiceOver
can identify and interact with it.

Test: accessibility/input-auto-fill-button.html

  • English.lproj/Localizable.strings: Add placeholder localized string for AutoFill button.
  • html/TextFieldInputType.cpp:

(WebCore::TextFieldInputType::createAutoFillButton): Add ARIA label and role attributes.

  • platform/LocalizedStrings.cpp:

(WebCore::AXAutoFillButtonText): Added; returns the localized string for the AutoFill button.

  • platform/LocalizedStrings.h:
  • platform/efl/LocalizedStringsEfl.cpp:

(WebCore::AXAutoFillButtonText): Ditto.

  • platform/gtk/LocalizedStringsGtk.cpp:

(WebCore::AXAutoFillButtonText): Ditto.

LayoutTests:

Test that there is an accessibility element for the AutoFill button.

  • accessibility/input-auto-fill-button-expected.txt: Added.
  • accessibility/input-auto-fill-button.html: Added.
10:56 AM Changeset in webkit [184644] by achristensen@apple.com
  • 17 edits in trunk

[Content Extensions] Relax restrictions on triggers that match everything.
https://bugs.webkit.org/show_bug.cgi?id=145069

Reviewed by Benjamin Poulain.

Source/WebCore:

Added API tests that cover the new functionality and test for correctness in behavior.

  • contentextensions/CompiledContentExtension.cpp:

(WebCore::ContentExtensions::CompiledContentExtension::globalDisplayNoneSelectors):

  • contentextensions/ContentExtensionCompiler.cpp:

(WebCore::ContentExtensions::addUniversalActionsToDFA):
(WebCore::ContentExtensions::compileRuleList):
Put universalActionsWithoutDomains into the DFA from filtersWithoutDomains and
put universalActionsWithDomains into the DFA from filtersWithDomains.

  • contentextensions/ContentExtensionError.cpp:

(WebCore::ContentExtensions::contentExtensionErrorCategory):

  • contentextensions/ContentExtensionError.h:

Remove error codes for errors that are not errors any more.

  • contentextensions/ContentExtensionsBackend.cpp:

(WebCore::ContentExtensions::ContentExtensionsBackend::actionsForResourceLoad):

  • contentextensions/ContentExtensionsBackend.h:
  • contentextensions/DFABytecode.h:

(WebCore::ContentExtensions::instructionSizeWithArguments):

  • contentextensions/DFABytecodeCompiler.cpp:

(WebCore::ContentExtensions::set32Bits):
(WebCore::ContentExtensions::DFABytecodeCompiler::emitAppendAction):
(WebCore::ContentExtensions::DFABytecodeCompiler::emitJump):
(WebCore::ContentExtensions::DFABytecodeCompiler::emitCheckValue):
(WebCore::ContentExtensions::DFABytecodeCompiler::emitCheckValueRange):
(WebCore::ContentExtensions::DFABytecodeCompiler::compileNode):
(WebCore::ContentExtensions::DFABytecodeCompiler::compile):
(WebCore::ContentExtensions::DFABytecodeCompiler::emitTestFlagsAndAppendAction): Deleted.

  • contentextensions/DFABytecodeCompiler.h:
  • contentextensions/DFABytecodeInterpreter.cpp:

(WebCore::ContentExtensions::DFABytecodeInterpreter::interpretAppendAction):
(WebCore::ContentExtensions::DFABytecodeInterpreter::interpretTestFlagsAndAppendAction):
(WebCore::ContentExtensions::DFABytecodeInterpreter::actionsForDefaultStylesheetFromDFARoot):
(WebCore::ContentExtensions::DFABytecodeInterpreter::interpret):
(WebCore::ContentExtensions::DFABytecodeInterpreter::actionsFromDFARoot): Deleted.

  • contentextensions/DFABytecodeInterpreter.h:

Add a new bytecode AppendActionDefaultStylesheet to mark actions that are css-display-none
that need to be put in the default stylesheet to be ignored or not as a whole.
css-display-none actions with flags or domain rules and css-display-none actions
after ignore-previous-rules actions are not to be in this precompiled stylesheet, but
they will be applied as needed per page. The precompiled stylesheet is already applied
if no ignore-previous-rules action is triggered.

  • loader/ResourceLoadInfo.h:

Source/WebKit2:

  • UIProcess/API/APIUserContentExtensionStore.h:

Increment version number to reflect changes in DFABytecode.

Tools:

  • TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp:

(TestWebKitAPI::TEST_F):
Update and add tests for new possibilities with .*

10:39 AM Changeset in webkit [184643] by youenn.fablet@crf.canon.fr
  • 7 edits in trunk/Source/WebCore

JS binding generator should create a member variable for each Promise attribute of an interface
https://bugs.webkit.org/show_bug.cgi?id=145056

Reviewed by Darin Adler.

For each attribute XXX whose type is Promise, a member m_XXXPromiseDeferred is created, its type being a JSC::Strong of JSPromiseDeferred.
The purpose is to enable custom getters to create the JSPromiseDeferred and store ino the class member to ensure the same promise is returned each time
the custom getter is called.
This patch will enable simplifying ReadableStreamReader custom binding.

Covered by added attribute in TestObj.idl.

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateHeader):

  • bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:

(webkit_dom_test_obj_get_property):
(webkit_dom_test_obj_class_init):
(webkit_dom_test_obj_get_test_promise_attr):
(webkit_dom_test_obj_set_nullable_string_value): Deleted.

  • bindings/scripts/test/GObject/WebKitDOMTestObj.h:
  • bindings/scripts/test/JS/JSTestObj.cpp:

(WebCore::jsTestObjTestPromiseAttr):
(WebCore::jsTestObjAttributeWithReservedEnumType): Deleted.

  • bindings/scripts/test/JS/JSTestObj.h:
  • bindings/scripts/test/ObjC/DOMTestObj.h:
  • bindings/scripts/test/ObjC/DOMTestObj.mm:

(-[DOMTestObj testPromiseAttr]):
(-[DOMTestObj attribute]): Deleted.

  • bindings/scripts/test/TestObj.idl:
10:23 AM Changeset in webkit [184642] by commit-queue@webkit.org
  • 11 edits
    6 adds in trunk

ES6: Implement Object.setPrototypeOf
https://bugs.webkit.org/show_bug.cgi?id=145202

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-05-20
Reviewed by Darin Adler.

Source/JavaScriptCore:

  • runtime/JSGlobalObjectFunctions.h:
  • runtime/JSGlobalObjectFunctions.cpp:

(JSC::globalFuncProtoSetter):
(JSC::checkProtoSetterAccessAllowed):
Extract a helper to share this code between proto setter and setPrototypeOf.

  • runtime/ObjectConstructor.cpp:

(JSC::objectConstructorSetPrototypeOf):
Implementation is very similiar to proto setter.

LayoutTests:

  • http/tests/security/cross-frame-access-object-setPrototypeOf-expected.txt: Added.
  • http/tests/security/cross-frame-access-object-setPrototypeOf.html: Added.
  • http/tests/security/resources/cross-frame-iframe-for-object-setPrototypeOf-test.html: Added.

Test covering cross origin restriction behavior.

  • js/Object-getOwnPropertyNames-expected.txt:
  • js/script-tests/Object-getOwnPropertyNames.js:

Updated for the new exposed property.

  • js/cyclic-prototypes-expected.txt:
  • js/script-tests/cyclic-prototypes.js:

Extend this test to include setPrototypeOf cyclic checks.
Note that setPrototypeOf can still change the prototype
where proto cannot.

  • js/prototypes-expected.txt:
  • js/script-tests/prototypes.js:

Extend this test to cover more types previously overlooked.

  • js/script-tests/setPrototypeOf.js: Added.

(debugEval):
(getObjectDescriptions.myFunction):
(getObjectDescriptions):

  • js/setPrototypeOf-expected.txt: Added.
  • js/setPrototypeOf.html: Added.

Test coverage for all the different object / prototype combinations.
This is modeled after the other browser tests with coverage of a
few more basic functionality tests and object types.

10:02 AM Changeset in webkit [184641] by youenn.fablet@crf.canon.fr
  • 3 edits
    2 adds in trunk

AudioContext suspend/resume/close should resolve promises immediately when state is already suspended/active/closed
https://bugs.webkit.org/show_bug.cgi?id=145164

Reviewed by Jer Noble.

Source/WebCore:

Test: webaudio/audiocontext-promise.html

  • Modules/webaudio/AudioContext.cpp:

(WebCore::AudioContext::suspendContext): Immediatly call callbacks whenever possible to resolve/reject promises.
(WebCore::AudioContext::resumeContext): Ditto.
(WebCore::AudioContext::closeContext): Ditto

LayoutTests:

  • webaudio/audiocontext-promise-expected.txt: Added.
  • webaudio/audiocontext-promise.html: Added.
9:54 AM Changeset in webkit [184640] by commit-queue@webkit.org
  • 13 edits
    3 adds in trunk

ES6: Should not allow duplicate basic proto properties in Object Literals
https://bugs.webkit.org/show_bug.cgi?id=145138

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-05-20
Reviewed by Darin Adler.

Source/JavaScriptCore:

Implement ES6 Annex B.3.1, which disallows duplicate basic proto
properties in object literals. This doesn't affect computed properties,
shorthand properties, or getters/setters all of which avoid setting
the actual prototype of the object anyway.

  • interpreter/Interpreter.cpp:

(JSC::eval):
Remove out of date comment. Duplicate property names are allowed
now in ES6, they were not in ES5 strict mode.

  • parser/ASTBuilder.h:

(JSC::ASTBuilder::getName):
(JSC::ASTBuilder::getType):

  • parser/SyntaxChecker.h:

(JSC::SyntaxChecker::getName):
Add back getName to get the property name depending on the tree builder.
Also tighten up the parameter types.

  • runtime/LiteralParser.cpp:

(JSC::LiteralParser<CharType>::parse):
In quick JSON literal parsing for eval, we actually need to evaluate
the proto property assignment, instead of just building up a list
of direct properties. Only do this when not doing a strict JSON parse.

  • parser/Nodes.h:

Add "Shorthand" to the list of PropertyNode types to allow it to
be distinguished without relying on other information.

  • parser/Parser.h:
  • parser/Parser.cpp:

(JSC::Parser<LexerType>::parseProperty):
Add the Shorthand type when parsing a shorthand property.

(JSC::Parser<LexerType>::shouldCheckPropertyForUnderscoreProtoDuplicate):
(JSC::Parser<LexerType>::parseObjectLiteral):
(JSC::Parser<LexerType>::parseStrictObjectLiteral):
Check for duplicate proto properties, and throw a SyntaxError
if that was the case.

LayoutTests:

  • js/dom/JSON-parse-expected.txt:
  • js/resources/JSON-parse.js:

Update expected results for JSON parsing using eval() versus JSON.parse.
In eval, an object literal with a "proto" property modifies the prototype.
In JSON.parse, all properties are direct/own properties, no matter their name,
so "proto" does not get special treatment.

  • js/eval-json-proto-expected.txt: Added.
  • js/eval-json-proto.html: Added.
  • js/script-tests/eval-json-proto.js: Added.

Direct test for LiteralParser behavior, in both eval and JSON.parse.

  • js/object-literal-duplicate-properties-expected.txt:
  • js/script-tests/object-literal-duplicate-properties.js:

(runProtoTestShouldThrow):
(runProtoTestShouldNotThrow):
Test for all cases of acceptable and unacceptable proto duplicate
properties in literals.

9:18 AM Changeset in webkit [184639] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit2

Minor cleanups to PluginProcessProxy.
https://bugs.webkit.org/show_bug.cgi?id=145199

Patch by Sungmann Cho <sungmann.cho@navercorp.com> on 2015-05-20
Reviewed by Anders Carlsson.

  1. Remove unnecessary forward declaration.
  2. Remove unnecessary #include.
  • UIProcess/Plugins/PluginProcessProxy.cpp:
  • UIProcess/Plugins/PluginProcessProxy.h:
9:13 AM Changeset in webkit [184638] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

[GTK] Add some documentation to WebKitWebExtension
https://bugs.webkit.org/show_bug.cgi?id=142786

Patch by Marcos Chavarría Teijeiro <mchavarria@igalia.com> on 2015-05-20
Reviewed by Carlos Garcia Campos.

WebKitWebExtension API documentation lacks of some details and the information
available is in some contributors blog posts. I add the section
documentation with a small guide about how to use WebExtensions.

The code examples were taken from Carlos García and Adrián Pérez blog
posts.

  • WebProcess/InjectedBundle/API/gtk/WebKitWebExtension.cpp:
8:53 AM Changeset in webkit [184637] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebKit2

Rename WebsiteDataStore::isNonPersistent() to WebsiteDataStore::isPersistent().
https://bugs.webkit.org/show_bug.cgi?id=145111

Patch by Sungmann Cho <sungmann.cho@navercorp.com> on 2015-05-20
Reviewed by Darin Adler.

This is a follow up to https://bugs.webkit.org/show_bug.cgi?id=144158.

  • UIProcess/API/APIWebsiteDataStore.cpp:

(API::WebsiteDataStore::isPersistent):

  • UIProcess/WebsiteData/WebsiteDataStore.cpp:

(WebKit::WebsiteDataStore::fetchData):
(WebKit::WebsiteDataStore::removeData):

  • UIProcess/WebsiteData/WebsiteDataStore.h:

(WebKit::WebsiteDataStore::isPersistent):
(WebKit::WebsiteDataStore::isNonPersistent): Deleted.

8:49 AM Changeset in webkit [184636] by Csaba Osztrogonác
  • 4 edits in trunk/Source/JavaScriptCore

[JSC] Add missing copyrights and licenses for some scripts
https://bugs.webkit.org/show_bug.cgi?id=145044

Reviewed by Darin Adler.

  • build-symbol-table-index.py:
  • create-llvm-ir-from-source-file.py:
  • create-symbol-table-index.py:
8:46 AM Changeset in webkit [184635] by commit-queue@webkit.org
  • 5 edits in trunk

Web Inspector: Slightly better node previews in arrays
https://bugs.webkit.org/show_bug.cgi?id=145188

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-05-20
Reviewed by Timothy Hatcher.

Source/JavaScriptCore:

  • inspector/InjectedScriptSource.js:

(InjectedScript.prototype._nodeDescription):
(InjectedScript.prototype._nodePreview):
Different stringified representations for a basic object description or in a preview.

(InjectedScript.RemoteObject.prototype._appendPropertyPreviews):
Use the node preview string representation inside previews.

LayoutTests:

  • inspector/model/remote-object-expected.txt:
  • inspector/model/remote-object.html:
3:25 AM Changeset in webkit [184634] by Carlos Garcia Campos
  • 1 copy in releases/WebKitGTK/webkit-2.4.9

WebKitGTK+ 2.4.9

3:24 AM Changeset in webkit [184633] by Carlos Garcia Campos
  • 4 edits in releases/WebKitGTK/webkit-2.4

Unreviewed. Update NEWS and Versions.m4 for 2.4.9 release.

.:

  • Source/autotools/Versions.m4: Bump version numbers.

Source/WebKit/gtk:

  • NEWS: Added release notes for 2.4.9.
3:12 AM Changeset in webkit [184632] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

[EFL] Fix build failure, linker does not find libXext.
https://bugs.webkit.org/show_bug.cgi?id=144100

Patch by Hyungwook Lee <hyungwook.lee@navercorp.com> on 2015-05-20
Reviewed by Gyuyoung Kim.

Move Xext library from WebProcess_LIBRARIES to WebKit2_LIBRARIES.

  • PlatformEfl.cmake:
2:14 AM Changeset in webkit [184631] by bshafiei@apple.com
  • 7 edits in branches/safari-601.1.32.2-branch/Source/WebCore

Merged r184611. rdar://problem/21031188

2:09 AM Changeset in webkit [184630] by bshafiei@apple.com
  • 19 edits in branches/safari-601.1.32.2-branch/Source

Merged r184596. rdar://problem/21023785

2:07 AM Changeset in webkit [184629] by bshafiei@apple.com
  • 2 edits in branches/safari-601.1.32.2-branch/Source/WebCore

Merged r184589. rdar://problem/21009192

2:06 AM Changeset in webkit [184628] by bshafiei@apple.com
  • 2 edits in branches/safari-601.1.32.2-branch/Source/WebKit2

Merged r184583. rdar://problem/20964171

2:05 AM Changeset in webkit [184627] by bshafiei@apple.com
  • 6 edits in branches/safari-601.1.32.2-branch/Source

Merged r184404. rdar://problem/20619179

12:58 AM Changeset in webkit [184626] by bshafiei@apple.com
  • 19 edits in branches/safari-601.1.32-branch/Source

Merged r184596. rdar://problem/21023785

12:56 AM Changeset in webkit [184625] by bshafiei@apple.com
  • 4 edits in branches/safari-601.1.32-branch/Source/JavaScriptCore

Merged r184542. rdar://problem/20679710

12:55 AM Changeset in webkit [184624] by bshafiei@apple.com
  • 4 edits in branches/safari-601.1.32-branch/Source/JavaScriptCore

Merged r184540. rdar://problem/20679710

12:55 AM Changeset in webkit [184623] by Carlos Garcia Campos
  • 5 edits in trunk/Source/WebCore

REGRESSION(r184420): [GTK] webkit_dom_html_element_get_children has been removed
https://bugs.webkit.org/show_bug.cgi?id=145174

Reviewed by Philippe Normand.

children property has been moved to Element, Document and
DocumentFragment to match the spec, so we need to expose the new
get_children and bring back webkit_dom_html_element_get_children()
as deprecated.

  • bindings/gobject/WebKitDOMDeprecated.cpp:

(webkit_dom_html_element_get_children):

  • bindings/gobject/WebKitDOMDeprecated.h:
  • bindings/gobject/WebKitDOMDeprecated.symbols:
  • bindings/gobject/webkitdom.symbols:
12:39 AM Changeset in webkit [184622] by commit-queue@webkit.org
  • 12 edits in trunk/Source/WebCore

nullptr cleanup in WebCore/xml.
https://bugs.webkit.org/show_bug.cgi?id=145165

Patch by Hunseop Jeong <Hunseop Jeong> on 2015-05-20
Reviewed by Csaba Osztrogonác.

No new tests, no behavior changes

  • xml/XMLHttpRequest.cpp:

(WebCore::XMLHttpRequest::responseXML):
(WebCore::XMLHttpRequest::internalAbort):
(WebCore::XMLHttpRequest::clearResponseBuffers):
(WebCore::XMLHttpRequest::clearRequest):
(WebCore::XMLHttpRequest::didFinishLoading):

  • xml/XMLHttpRequestProgressEventThrottle.cpp:

(WebCore::XMLHttpRequestProgressEventThrottle::flushProgressEvent):

  • xml/XSLImportRule.cpp:

(WebCore::XSLImportRule::XSLImportRule):
(WebCore::XSLImportRule::~XSLImportRule):
(WebCore::XSLImportRule::setXSLStyleSheet):
(WebCore::XSLImportRule::loadSheet):

  • xml/XSLStyleSheet.h:
  • xml/XSLStyleSheetLibxslt.cpp:

(WebCore::XSLStyleSheet::XSLStyleSheet):
(WebCore::XSLStyleSheet::~XSLStyleSheet):
(WebCore::XSLStyleSheet::clearDocuments):

  • xml/XSLTProcessorLibxslt.cpp:

(WebCore::saveResultToString):
(WebCore::xsltParamArrayFromParameterMap):
(WebCore::xmlDocPtrFromNode):
(WebCore::XSLTProcessor::transformToString):

  • xml/parser/XMLDocumentParser.cpp:

(WebCore::XMLDocumentParser::clearCurrentNodeStack):
(WebCore::XMLDocumentParser::exitText):
(WebCore::XMLDocumentParser::notifyFinished):

  • xml/parser/XMLDocumentParser.h:
  • xml/parser/XMLDocumentParserLibxml2.cpp:

(WebCore::openFunc):
(WebCore::XMLDocumentParser::XMLDocumentParser):

  • xml/parser/XMLDocumentParserScope.cpp:
  • xml/parser/XMLDocumentParserScope.h:
12:26 AM Changeset in webkit [184621] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[EFL][Minibrowser] Hide URL bar on fullscreen mode for HTML elements and browser window in WebKit EFL Minibrowser
https://bugs.webkit.org/show_bug.cgi?id=144992

Patch by Rohit Kumar <kumar.rohit@samsung.com> on 2015-05-20
Reviewed by Gyuyoung Kim.

  • MiniBrowser/efl/main.c:

(toggle_window_fullscreen): Method to toggle between fullscreen and normal mode.
(on_key_down):
(on_fullscreen_enter):
(on_fullscreen_exit):
(window_create):

12:04 AM Changeset in webkit [184620] by Carlos Garcia Campos
  • 16 edits in trunk/Source

[SOUP] Network Cache: Implement ShareableResource for Soup and enable it for GTK platform
https://bugs.webkit.org/show_bug.cgi?id=144380

Reviewed by Antti Koivisto.

Source/WebCore:

Add a soup implementation of SharedBuffer::tryReplaceContentsWithPlatformBuffer().

Covered by http/tests/cache/disk-cache/ tests.

  • loader/cache/CachedResource.cpp: Define

CachedResource::tryReplaceEncodedData() also for Soup.

  • loader/cache/CachedResource.h: Ditto.
  • platform/soup/SharedBufferSoup.cpp:

(WebCore::SharedBuffer::tryReplaceContentsWithPlatformBuffer):

Source/WebKit2:

It improves the network cache performance, by mmaping big
resources and sending only the file descriptor to the web process
instead of the actual file data. It needs some changes in
cross-platform code, because we can't use the same approach as
mac (it uses a platform specific implementation not available in
other platforms).

  • NetworkProcess/cache/NetworkCache.cpp:

(WebKit::NetworkCache::Cache::store): Use
Data::tryCreateSharedMemory() to create the shared memory used by
the ShareableResource. Also add an ASSERT instead of checking the
shareable resource created is not nullptr, because the
ShareableResource::create() that receives a shared memory should
never return nullptr.

  • NetworkProcess/cache/NetworkCacheData.h:
  • NetworkProcess/cache/NetworkCacheDataCocoa.mm:

(WebKit::NetworkCache::Data::tryCreateSharedMemory):

  • NetworkProcess/cache/NetworkCacheDataSoup.cpp:

(WebKit::NetworkCache::Data::tryCreateSharedMemory): Create a
SharedMemory object to wrap the mapped file, but keeping the ownership.

  • NetworkProcess/cache/NetworkCacheEntry.cpp:

(WebKit::NetworkCache::Entry::initializeShareableResourceHandleFromStorageRecord):
Use Data::tryCreateSharedMemory() to create the shared memory used
bythe ShareableResource. Also add an ASSERT instead of checking
the shareable resource created is not nullptr, because the
ShareableResource::create() that receives a shared memory should
never return nullptr.

  • Platform/SharedMemory.h:
  • Platform/unix/SharedMemoryUnix.cpp:

(WebKit::SharedMemory::map): Use wrapMap() and initialize
m_isWrappingMap to false.
(WebKit::SharedMemory::wrapMap): Create a SharedMemory object for
the given map, without taking its ownership.
(WebKit::SharedMemory::~SharedMemory): Do not unmap and close the
file descriptor if m_isWrappingMap is true.

  • Shared/ShareableResource.cpp:

(WebKit::createShareableResourceDeallocator):
(WebKit::ShareableResource::wrapInSharedBuffer): Create a SharedBuffer
wrapping the ShareableResource data.
(WebKit::ShareableResource::Handle::tryWrapInSharedBuffer): Create
a ShareableResource for the handle and create a SharedBuffer
wrapping it.

  • Shared/ShareableResource.h:
  • WebKit2Prefix.h: Enable ENABLE_SHAREABLE_RESOURCE for GTK.
  • WebProcess/Network/WebResourceLoader.cpp:

(WebKit::WebResourceLoader::didReceiveResource): Get the CFData
from the SharedBuffer for QuickLook instead of wrapping the handle again.

May 19, 2015:

11:29 PM Changeset in webkit [184619] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebKit2

[SOUP] Network Cache: Disable network cache efficacy logging
https://bugs.webkit.org/show_bug.cgi?id=145172

Reviewed by Martin Robinson.

Disable network cache efficacy logging by default, since we are
not currently using the collected data.

  • UIProcess/soup/WebProcessPoolSoup.cpp:

(WebKit::WebProcessPool::platformInitializeNetworkProcess):

11:14 PM Changeset in webkit [184618] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed, rolling out r184613 and r184614.
https://bugs.webkit.org/show_bug.cgi?id=145206

Broke 10 tests :| (Requested by kling on #webkit).

Reverted changesets:

"[JSC] Speed up URL encode/decode by using bitmaps instead of
strchr()."
https://bugs.webkit.org/show_bug.cgi?id=145115
http://trac.webkit.org/changeset/184613

"[JSC] Speed up URL encode/decode by using bitmaps instead of
strchr()."
https://bugs.webkit.org/show_bug.cgi?id=145115
http://trac.webkit.org/changeset/184614

10:57 PM Changeset in webkit [184617] by akling@apple.com
  • 8 edits in trunk/Source

Give StringView a utf8() API.
<https://webkit.org/b/145201>

Source/JavaScriptCore:

Reviewed by Anders Carlsson.

Use JSString::view() in a few places where we couldn't before due to StringView
lacking a utf8() API. This is a minor speed-up on Kraken's crypto subtests,
which like to call encode() with substring JSStrings.

  • jsc.cpp:

(functionPrint):
(functionDebug):

  • runtime/JSGlobalObjectFunctions.cpp:

(JSC::encode):

Source/WTF:

Reviewed by Anders Carlsson

Added an LChar version of StringImpl::utf8ForCharacters() and use that to give
StringView a utf8() API just like String has.

  • wtf/text/StringImpl.cpp:

(WTF::StringImpl::utf8ForCharacters):

  • wtf/text/StringImpl.h:
  • wtf/text/StringView.cpp:

(WTF::StringView::utf8):

  • wtf/text/StringView.h:
10:41 PM Changeset in webkit [184616] by weinig@apple.com
  • 14 edits
    2 adds in trunk

Organize event handlers a bit
https://bugs.webkit.org/show_bug.cgi?id=145106

Reviewed by Darin Adler.

Source/WebCore:

There is one change in behavior here. Previously, the media related event handlers where only exposed on
Element and DOMWindow. The spec says they should also be on Document, so this adds support for that (this
is tested in fast/dom/event-handler-attributes.html).

  • Group remaining event handlers in Element, Document, DOMWindow, HTMLBodyElement and HTMLFrameSetElement by their grouping, and add some FIXMEs for future cleaning.
  • CMakeLists.txt:
  • DerivedSources.make:
  • WebCore.xcodeproj/project.pbxproj:
  • Add GlobalEventHandlers.idl and WindowEventHandlers.idl.
  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateImplementation):
Add special cases for WindowEventHandler when used on DOMWindow and DocumentEventHandler when used on Document
so that event handlers using those extended attributes can be set on shared interfaces. This is used to allow
DOMWindow to implement WindowEventHandlers.

  • dom/Document.idl:

Move event handlers to GlobalEventHandlers and have Document implement it. Group remaining event handlers.

  • dom/Element.idl:

Move event handlers to GlobalEventHandlers and have Element implement it. Group remaining event handlers.

  • dom/GlobalEventHandlers.idl:

Added.

  • html/HTMLBodyElement.idl:

Move event handlers to WindowEventHandlers and have HTMLBodyElement implement it. Group remaining event handlers.

  • html/HTMLFrameSetElement.idl:

Move event handlers to WindowEventHandlers and have HTMLFrameSetElement implement it. Group remaining event handlers.

  • page/DOMWindow.idl:

Move event handlers to GlobalEventHandlers and WindowEventHandlers and have DOMWindow implement both of them. Group
remaining event handlers.

  • page/WindowEventHandlers.idl:

Added.

LayoutTests:

  • fast/dom/event-handler-attributes-expected.txt:
  • fast/dom/event-handler-attributes.html:

Update for putting media related event handlers on Document in addition to
Element and DOMWindow.

10:28 PM Changeset in webkit [184615] by Antti Koivisto
  • 2 edits in trunk/Source/WebCore

Crash under WebCore::invalidateStyleRecursively
https://bugs.webkit.org/show_bug.cgi?id=145186
rdar://problem/19736838

Reviewed by Andreas Kling

We have seen crashes where we run out of stack under invalidateStyleRecursively in StyleInvalidationAnalysis
on some devices.

Switch to iterative algorithm.

  • css/StyleInvalidationAnalysis.cpp:

(WebCore::StyleInvalidationAnalysis::StyleInvalidationAnalysis):
(WebCore::invalidateIfNeeded):
(WebCore::invalidateStyleForTree):
(WebCore::StyleInvalidationAnalysis::invalidateStyle):
(WebCore::invalidateStyleRecursively): Deleted.

9:51 PM Changeset in webkit [184614] by akling@apple.com
  • 1 edit in trunk/Source/JavaScriptCore/ChangeLog

Fixup accidental ChangeLog switcheroo.

9:49 PM Changeset in webkit [184613] by akling@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

[JSC] Speed up URL encode/decode by using bitmaps instead of strchr().
<https://webkit.org/b/145115>

Incorporate review feedback from Darin, removing some unnecessary zero checks.

Patch by Yusuke Suzuki <Yusuke Suzuki> on 2015-05-19

  • runtime/JSGlobalObjectFunctions.cpp:

(JSC::encode):
(JSC::decode):
(JSC::globalFuncEscape):

9:19 PM Changeset in webkit [184612] by Yusuke Suzuki
  • 27 edits
    1 copy
    1 move in trunk

Move AtomicStringImpl table related operations from AtomicString to AtomicStringImpl
https://bugs.webkit.org/show_bug.cgi?id=145109

Reviewed by Darin Adler.

Source/JavaScriptCore:

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::nameForRegister):

  • runtime/Identifier.cpp:

(JSC::Identifier::add):
(JSC::Identifier::add8):

  • runtime/Identifier.h:

(JSC::Identifier::add):

  • runtime/IdentifierInlines.h:

(JSC::Identifier::Identifier):
(JSC::Identifier::add):

  • runtime/JSString.cpp:

(JSC::JSRopeString::resolveRopeToExistingAtomicString):

  • runtime/JSString.h:

(JSC::JSString::toExistingAtomicString):

  • runtime/SmallStrings.cpp:

(JSC::SmallStringsStorage::SmallStringsStorage):

  • runtime/TypeSet.cpp:

(JSC::StructureShape::propertyHash):

Source/WebCore:

  • dom/TreeScope.cpp:

(WebCore::TreeScope::getElementById):

Source/WTF:

Now AtomicStringImpl table operations are located in AtomicString.
But they should be under AtomicStringImpl.
This patch simply moves these operations to AtomicStringImpl.

And this patch renames static AtomicString::find to static AtomicStringImpl::lookUp
because it conflicts with AtomicStringImpl's member function name.

  • WTF.vcxproj/WTF.vcxproj:
  • WTF.vcxproj/WTF.vcxproj.filters:
  • WTF.vcxproj/copy-files.cmd:
  • WTF.xcodeproj/project.pbxproj:
  • wtf/CMakeLists.txt:
  • wtf/PlatformMac.cmake:
  • wtf/PlatformWin.cmake:
  • wtf/text/AtomicString.cpp:

(WTF::AtomicString::lower):
(WTF::AtomicString::convertToASCIILowercase):
(WTF::AtomicString::fromUTF8Internal):
(WTF::AtomicStringTableLocker::AtomicStringTableLocker): Deleted.
(WTF::stringTable): Deleted.
(WTF::addToStringTable): Deleted.
(WTF::CStringTranslator::hash): Deleted.
(WTF::CStringTranslator::equal): Deleted.
(WTF::CStringTranslator::translate): Deleted.
(WTF::AtomicString::add): Deleted.
(WTF::UCharBufferTranslator::hash): Deleted.
(WTF::UCharBufferTranslator::equal): Deleted.
(WTF::UCharBufferTranslator::translate): Deleted.
(WTF::HashAndCharactersTranslator::hash): Deleted.
(WTF::HashAndCharactersTranslator::equal): Deleted.
(WTF::HashAndCharactersTranslator::translate): Deleted.
(WTF::HashAndUTF8CharactersTranslator::hash): Deleted.
(WTF::HashAndUTF8CharactersTranslator::equal): Deleted.
(WTF::HashAndUTF8CharactersTranslator::translate): Deleted.
(WTF::SubstringTranslator::translate): Deleted.
(WTF::SubstringTranslator8::hash): Deleted.
(WTF::SubstringTranslator8::equal): Deleted.
(WTF::SubstringTranslator16::hash): Deleted.
(WTF::SubstringTranslator16::equal): Deleted.
(WTF::LCharBufferTranslator::hash): Deleted.
(WTF::LCharBufferTranslator::equal): Deleted.
(WTF::LCharBufferTranslator::translate): Deleted.
(WTF::CharBufferFromLiteralDataTranslator::hash): Deleted.
(WTF::CharBufferFromLiteralDataTranslator::equal): Deleted.
(WTF::CharBufferFromLiteralDataTranslator::translate): Deleted.
(WTF::AtomicString::addFromLiteralData): Deleted.
(WTF::AtomicString::addSlowCase): Deleted.
(WTF::AtomicString::remove): Deleted.
(WTF::AtomicString::findSlowCase): Deleted.
(WTF::AtomicString::findInternal): Deleted.
(WTF::AtomicString::isInAtomicStringTable): Deleted.

  • wtf/text/AtomicString.h:

(WTF::AtomicString::AtomicString):
(WTF::AtomicString::fromUTF8):
(WTF::AtomicString::find): Deleted.
(WTF::AtomicString::add): Deleted.
(WTF::AtomicString::addWithStringTableProvider): Deleted.

  • wtf/text/AtomicStringImpl.cpp: Copied from Source/WTF/wtf/text/AtomicString.cpp.

(WTF::AtomicStringTableLocker::AtomicStringTableLocker):
(WTF::stringTable):
(WTF::addToStringTable):
(WTF::CStringTranslator::hash):
(WTF::CStringTranslator::equal):
(WTF::CStringTranslator::translate):
(WTF::AtomicStringImpl::add):
(WTF::UCharBufferTranslator::hash):
(WTF::UCharBufferTranslator::equal):
(WTF::UCharBufferTranslator::translate):
(WTF::HashAndCharactersTranslator::hash):
(WTF::HashAndCharactersTranslator::equal):
(WTF::HashAndCharactersTranslator::translate):
(WTF::HashAndUTF8CharactersTranslator::hash):
(WTF::HashAndUTF8CharactersTranslator::equal):
(WTF::HashAndUTF8CharactersTranslator::translate):
(WTF::SubstringTranslator::translate):
(WTF::SubstringTranslator8::hash):
(WTF::SubstringTranslator8::equal):
(WTF::SubstringTranslator16::hash):
(WTF::SubstringTranslator16::equal):
(WTF::LCharBufferTranslator::hash):
(WTF::LCharBufferTranslator::equal):
(WTF::LCharBufferTranslator::translate):
(WTF::CharBufferFromLiteralDataTranslator::hash):
(WTF::CharBufferFromLiteralDataTranslator::equal):
(WTF::CharBufferFromLiteralDataTranslator::translate):
(WTF::AtomicStringImpl::addLiteral):
(WTF::AtomicStringImpl::addSlowCase):
(WTF::AtomicStringImpl::remove):
(WTF::AtomicStringImpl::lookUpSlowCase):
(WTF::AtomicStringImpl::addUTF8):
(WTF::AtomicStringImpl::lookUpInternal):
(WTF::AtomicStringImpl::isInAtomicStringTable):

  • wtf/text/AtomicStringImpl.h:

(WTF::AtomicStringImpl::lookUp):
(WTF::AtomicStringImpl::add):
(WTF::AtomicStringImpl::addWithStringTableProvider):
(WTF::AtomicStringImpl::AtomicStringImpl): Deleted.

  • wtf/text/StringImpl.cpp:

(WTF::StringImpl::~StringImpl):

  • wtf/text/StringImpl.h:
  • wtf/text/WTFString.h:

(WTF::String::String):

  • wtf/text/cf/AtomicStringCF.cpp:

(WTF::AtomicString::add): Deleted.

  • wtf/text/cf/AtomicStringImplCF.cpp: Renamed from Source/WTF/wtf/text/cf/AtomicStringCF.cpp.

(WTF::AtomicStringImpl::add):

Tools:

  • TestWebKitAPI/Tests/WTF/StringImpl.cpp:

(TestWebKitAPI::TEST):

8:34 PM Changeset in webkit [184611] by jonlee@apple.com
  • 7 edits in trunk/Source/WebCore

[iOS] Optimized fullscreen placeholder is incorrectly sized
https://bugs.webkit.org/show_bug.cgi?id=145196
rdar://problem/21031188

Reviewed by Dean Jackson.

Add a new media part UI for the placeholder text when entering optimized fullscreen,
and use it as part of the title text in the placeholder. Now the wireless playback status
div serves as a multi-purpose placeholder.

  • Modules/mediacontrols/MediaControlsHost.cpp:

(WebCore::MediaControlsHost::mediaUIImageData): Return the placeholder text.

  • Modules/mediacontrols/MediaControlsHost.idl: Add a new UI part for placeholder text.
  • Modules/mediacontrols/mediaControlsApple.js: Add a new "optimized" ClassName when

the presentation mode is set to optimized.

  • Modules/mediacontrols/mediaControlsiOS.css:

(audio::-webkit-media-controls-wireless-playback-status): The text should be at
medium weight, not light weight.
(audio::-webkit-media-controls-wireless-playback-text-top): The title text should be
white for both wireless playback and optimized fullscreen. It matches the style
when taking a video fullscreen.

Add new CSS rules when the placard is used for optimized fullscreen.
(audio::-webkit-media-controls-wireless-playback-status.optimized): Accommodate the
size of the graphic, and position appropriately.
(audio::-webkit-media-controls-wireless-playback-text-top.optimized): One line is
needed, so use this one, and place it where the bottom one is since more room is
needed to accommodate the graphic.
(audio::-webkit-media-controls-wireless-playback-text-bottom.optimized): One line is
needed, so hide this one.

  • Modules/mediacontrols/mediaControlsiOS.js:

(ControllerIOS.prototype.createControls): Several of the container divs are already
created in Controller.prototype.createControls(). Fly-by fix to avoid creation of
those divs. Only the panelContainer is new for the iOS controls. Fly-by fix of a
missing semicolon.
(ControllerIOS.prototype.handlePresentationModeChange): When the presentation mode
changes do several things:

1- Update the background image. Clear the inline background image when going back

to inline or in wireless playback.

2- Add the "optimized" ClassName to the placeholder container, and the two text

divs when entering optimized fullscreen. Remove them in other cases.

3- Set -webkit-media-controls-wireless-playback-text-top to the placeholder text.

This is better than embedding it inside the graphic. Clear the -bottom text.

  • platform/ios/WebCoreSystemInterfaceIOS.h: Add a new enum to obtain the placeholder

text.

7:46 PM Changeset in webkit [184610] by ryuan.choi@navercorp.com
  • 6 edits
    2 deletes in trunk/Source/WebCore

[EFL] Use GSimpleProxyResolver instead of custom SoupProxyResolver
https://bugs.webkit.org/show_bug.cgi?id=145154

Reviewed by Gyuyoung Kim.

SoupProxyResolver was deprecated since libsoup 2.42.
So, this patch refactors the custom SoupProxyResolver to GSimpleProxyResolver
which provides same functionality in gio.

No new tests, because there is not behavior change.

  • PlatformEfl.cmake:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • platform/network/soup/ProxyResolverSoup.cpp: Removed.
  • platform/network/soup/ProxyResolverSoup.h: Removed.
  • platform/network/soup/SoupNetworkSession.cpp:

(WebCore::SoupNetworkSession::setHTTPProxy): Moved to private member.
(WebCore::SoupNetworkSession::httpProxy): Deleted because nobody calls it.

  • platform/network/soup/SoupNetworkSession.h:
6:48 PM Changeset in webkit [184609] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

Unreviewed, rolling out r184595.
https://bugs.webkit.org/show_bug.cgi?id=145197

Introduced a crash in 15 layout tests on Mavericks on #webkit
(Requested by rniwa on #webkit).

Reverted changeset:

"Media Controls stop updating after hovering for a few
seconds."
https://bugs.webkit.org/show_bug.cgi?id=144770
http://trac.webkit.org/changeset/184595

6:19 PM Changeset in webkit [184608] by matthew_hanson@apple.com
  • 5 edits in branches/safari-601.1.32-branch/Source

Versioning.

6:19 PM Changeset in webkit [184607] by matthew_hanson@apple.com
  • 2 edits in branches/safari-601.1.32-branch/Source/WebCore

Merge r184589. <rdar://problem/21009192>

6:13 PM Changeset in webkit [184606] by matthew_hanson@apple.com
  • 1 copy in tags/Safari-601.1.32.3

New Tag.

6:01 PM Changeset in webkit [184605] by clopez@igalia.com
  • 4 edits in trunk/Source

REGRESSION(r181571): Build broken when USE(OPENGL_ES_2) is defined.
https://bugs.webkit.org/show_bug.cgi?id=145156

Reviewed by Alex Christensen.

Source/ThirdParty/ANGLE:

  • include/GLES2/gl2softlinking.h: Revert r181589. Vertex Array Objects are not in GLESv2.

Source/WebCore:

No new tests, no behavior changes.

Vertex Array Objects are not available in OpenGLESv2.
Add guards to avoid using this when building with GLESv2.

  • platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:

(WebCore::GraphicsContext3D::createVertexArray):
(WebCore::GraphicsContext3D::deleteVertexArray):
(WebCore::GraphicsContext3D::isVertexArray):
(WebCore::GraphicsContext3D::bindVertexArray):

5:57 PM Changeset in webkit [184604] by bshafiei@apple.com
  • 2 edits in branches/safari-600.1.4.16-branch/Source/WebCore

Merged r179010. rdar://problem/21008308

5:55 PM Changeset in webkit [184603] by bshafiei@apple.com
  • 7 edits in branches/safari-600.1.4.16-branch/Source/WebCore

Merged r183788. rdar://problem/21008265

5:35 PM Changeset in webkit [184602] by commit-queue@webkit.org
  • 6 edits in trunk

Web Inspector: Improve Preview for NodeList / array like collections
https://bugs.webkit.org/show_bug.cgi?id=145177

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-05-19
Reviewed by Timothy Hatcher.

Source/JavaScriptCore:

  • inspector/InjectedScriptSource.js:

(InjectedScript.RemoteObject.prototype._appendPropertyPreviews):
For "array" like object previews skip over non-index properties.
We are not marking the object as lossless by choice, but we
may return to this decision later.

Source/WebInspectorUI:

  • UserInterface/Views/ObjectPreviewView.js:

(WebInspector.ObjectPreviewView.prototype._appendPreview):
Show the class name for a non-basic-Array, but still hide
it for a basic Array.

LayoutTests:

  • inspector/model/remote-object-expected.txt:
4:59 PM Changeset in webkit [184601] by roger_fong@apple.com
  • 2 edits in trunk/Source/WebCore

Upper half of volume control should be filled, not hollow.
https://bugs.webkit.org/show_bug.cgi?id=145187.
<rdar://problem/21021970>

Reviewed by Dean Jackson.

  • Modules/mediacontrols/mediaControlsApple.js:

(Controller.prototype.drawVolumeBackground):

4:09 PM Changeset in webkit [184600] by msaboff@apple.com
  • 8 edits in trunk/Source

REGRESSION(183787): JIT is enabled for all builds
https://bugs.webkit.org/show_bug.cgi?id=145179

Reviewed by Geoffrey Garen.

Eliminated the setting of ENABLE_JIT, as wtf/Platform.h has appropriate logic to
set it depending on OS and CPU type.

Source/JavaScriptCore:

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore:

Only changed the way build options are initialized.

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit/mac:

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

  • Configurations/FeatureDefines.xcconfig:
3:52 PM Changeset in webkit [184599] by Chris Dumez
  • 5 edits in trunk

[Mac] Font lookups are flakey due to caching
https://bugs.webkit.org/show_bug.cgi?id=145180
<rdar://problem/21012406>

Reviewed by Darin Adler.

Source/WebCore:

Font lookups were flakey on Mac due to the cache in fontWithFamily().
The reason is that the "desired family" to "available family" mapping
is sometimes dependent on the desired traits. However, our cache was
only using the "desired family" as key.

This patch now uses a std::pair as key containing both the "desired
family" and the "desired traits" for correctness. I also updated the
cache to use WTF types instead of NS types.

Test: platform/mac/fast/text/font-weights.html

  • platform/graphics/mac/FontCacheMac.mm:

(WebCore::desiredFamilyToAvailableFamilyMap):
(WebCore::hasDesiredFamilyToAvailableFamilyMapping):
(WebCore::rememberDesiredFamilyToAvailableFamilyMapping):
(WebCore::fontWithFamily):
(WebCore::invalidateFontCache):
(WebCore::desiredFamilyToAvailableFamilyDictionary): Deleted.

LayoutTests:

  • platform/mac/TestExpectations:

Unskip platform/mac/fast/text/font-weights.html as it is no longer
flakey after this change.

  • platform/mac/fast/text/font-weights-expected.txt:

Rebaseline the test as the expected results were those based on the
bad caching behavior.

3:22 PM Changeset in webkit [184598] by beidson@apple.com
  • 13 edits
    4 adds in trunk

X-Frame-Options headers not respected when loading from application cache.
<rdar://problem/14877623> and https://bugs.webkit.org/show_bug.cgi?id=131800

Reviewed by Alexey Proskuryakov.

Source/WebCore:

Test: http/tests/appcache/x-frame-options-prevents-framing.php

This patch updates SubstituteData to hold on to a ResourceResponse instead of just a URL.

It also updates all users of SubstituteData to reflect this.

Finally it updates ApplicationCacheHost to put the full response (including x-frame-options header)
in the SubstituteData so they can be checked at the appropriate times.

  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::handleSubstituteDataLoadNow):
(WebCore::DocumentLoader::responseReceived): Update an ASSERT to reflect that it's okay to not have

a main resource as long as you have a substitute identifier for it.

(WebCore::DocumentLoader::documentURL):
(WebCore::DocumentLoader::contentFilterDidDecide):

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::loadArchive):
(WebCore::FrameLoader::defaultSubstituteDataForURL):

  • loader/SubstituteData.h:

(WebCore::SubstituteData::SubstituteData):
(WebCore::SubstituteData::shouldRevealToSessionHistory):
(WebCore::SubstituteData::mimeType):
(WebCore::SubstituteData::textEncoding):
(WebCore::SubstituteData::response):
(WebCore::SubstituteData::responseURL): Deleted.

  • loader/appcache/ApplicationCacheHost.cpp:

(WebCore::ApplicationCacheHost::maybeLoadMainResource): Put the full ResourceResponse here, which

includes x-frame-options headers sent back when the resources was initially loaded from the network.

  • platform/network/ResourceResponseBase.h:

Source/WebKit/mac:

  • WebView/WebFrame.mm:

(-[WebFrame _loadData:MIMEType:textEncodingName:baseURL:unreachableURL:]):

Source/WebKit/win:

  • WebFrame.cpp:

(WebFrame::loadData):

Source/WebKit2:

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::loadDataImpl):

LayoutTests:

  • http/tests/appcache/resources/x-frame-options-prevents-framing-test.html: Added.
  • http/tests/appcache/resources/x-frame-options-prevents-framing.manifest: Added.
  • http/tests/appcache/x-frame-options-prevents-framing-expected.txt: Added.
  • http/tests/appcache/x-frame-options-prevents-framing.php: Added.
3:10 PM Changeset in webkit [184597] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

Add PLUGIN_ARCHITECTURE(MAC) around WKNVCALayerRenderServerPort in NetscapeBrowserFunc.h.
https://bugs.webkit.org/show_bug.cgi?id=145173

Patch by Sungmann Cho <sungmann.cho@navercorp.com> on 2015-05-19
Reviewed by Anders Carlsson.

WKNVCALayerRenderServerPort in NetscapeBrowserFunc.h is meaningful only for Mac.
So we need to add PLUGIN_ARCHITECTURE(MAC) around it.

  • WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.h:
2:58 PM Changeset in webkit [184596] by Brent Fulgham
  • 19 edits in trunk/Source

REGRESSION(142590): Part 2: Scroll-snap points are improperly snapping to earlier index values (Scrolling Thread)
https://bugs.webkit.org/show_bug.cgi?id=145175
<rdar://problem/21023785>

Reviewed by Beth Dakin.

Source/WebCore:

Extend the main-thread scrolling changes done in Bug 145140 to also handle Scrolling Thread snapping.
The post-layout fixup (needed to handle window resize and device orientation changes) should not fire
while Scrolling Thread scroll-snap animations are running, since these animations will most likely
move the scroll view into the proper position. If we attempt to 'fix up' the scroll position before
these animations finish, we get an ugly 'jump' in the display.

  • page/FrameView.cpp:

(WebCore::FrameView::isScrollSnapInProgress): New method based on isRubberBandInProgress, which considers
both the ScrollAnimator (main thread) scrolling, as well as the ScrollingCoordinator (Scrolling Thread)
scrolling operations. Returns true if a scroll-snap animation is still active.

  • page/FrameView.h:
  • page/scrolling/AsyncScrollingCoordinator.cpp:

(WebCore::AsyncScrollingCoordinator::isScrollSnapInProgress): Added. Returns scrolling tree's
'isScrollSnapInProgress' state.

  • page/scrolling/AsyncScrollingCoordinator.h:
  • page/scrolling/ScrollingCoordinator.h:

(WebCore::ScrollingCoordinator::isScrollSnapInProgress): Added default 'false' stub.

  • page/scrolling/ScrollingTree.cpp:

(WebCore::ScrollingTree::ScrollingTree): Use modern C++11 initializers.
(WebCore::ScrollingTree::isScrollSnapInProgress): Added.
(WebCore::ScrollingTree::setMainFrameIsScrollSnapping): Added.

  • page/scrolling/ScrollingTree.h:
  • page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.h:
  • page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.mm:

(WebCore::ScrollingTreeFrameScrollingNodeMac::handleWheelEvent): Update scrolling tree state to match the
ScrollController's scroll-snap state.
(WebCore::ScrollingTreeFrameScrollingNodeMac::startScrollSnapTimer): Added. When starting a scroll snap timer,
always set the scrolling tree scroll-snapping state to true.
(WebCore::ScrollingTreeFrameScrollingNodeMac::stopScrollSnapTimer): Added. When ending a scroll snap timer,
only set the scrolling tree scroll-snapping state to false if the other axis animator is inactive.

  • platform/ScrollableArea.cpp:

(WebCore::ScrollableArea::updateScrollSnapState): Revise implementation to use its 'isScrollSnapInProgress'
method, rather than only looking at the ScrollAnimator (main thread) state.

  • platform/ScrollableArea.h:

(WebCore::ScrollableArea::isScrollSnapInProgress): Added.

  • platform/cocoa/ScrollController.h:
  • platform/cocoa/ScrollController.mm:

(WebCore::ScrollController::hasActiveScrollSnapTimerForAxis): Added. Reports if the scroll snap animation
timer on the requested axis is running or not.

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::isScrollSnapInProgress): Added.

  • rendering/RenderLayer.h:

Source/WebKit2:

Add a stub implementation of isScrollSnapInProgress to match ScrollingCoordinator signature.

  • WebProcess/Scrolling/RemoteScrollingCoordinator.h:
  • WebProcess/Scrolling/RemoteScrollingCoordinator.mm:

(WebKit::RemoteScrollingCoordinator::isScrollSnapInProgress): Added stub.

2:52 PM Changeset in webkit [184595] by roger_fong@apple.com
  • 3 edits in trunk/Source/WebCore

Media Controls stop updating after hovering for a few seconds.
https://bugs.webkit.org/show_bug.cgi?id=144770.
<rdar://problem/19823121>

Reviewed by Jer Noble.

  • Modules/mediacontrols/mediaControlsApple.js:

(Controller.prototype.createBase):
We should never hide controls immediately as a result of mousing out of the controls.
It should only happen when the mouse leaves the video entirely.
(Controller.prototype.updateTimelineMetricsIfNeeded):
Don’t update if controls are hidden, timeline dimensions will be 0.
(Controller.prototype.handlePanelTransitionEnd):
Instead of adjusting visibility via adding and removing classes,
remove controls entirely from the tree.
(Controller.prototype.showControls):
Add controls back into the tree when showing controls.
(Controller.prototype.updateForShowingControls):
Helper method for showControls.
(Controller.prototype.controlsAreHidden):
Controls also hidden if removed from tree.

Remove forceUpdate logic, no longer necessary.
(Controller.prototype.handleDurationChange):
(Controller.prototype.updateProgress):
(Controller.prototype.updateTime):

Override methods to use add and remove panelContainer for iOS.

  • Modules/mediacontrols/mediaControlsiOS.js:

(ControllerIOS.prototype.handlePanelTransitionEnd):
(ControllerIOS.prototype.showControls):
(ControllerIOS.prototype.controlsAreHidden):

2:49 PM Changeset in webkit [184594] by rniwa@webkit.org
  • 2 edits in trunk/Websites/perf.webkit.org

Build fix. Don't fall into an infinite loop when value (renamed from bytes) is zero.

  • public/v2/manifest.js:

(App.Manifest.Ember.Controller.extend.):
(App.Manifest.Ember.Controller.extend):

2:46 PM Changeset in webkit [184593] by bshafiei@apple.com
  • 2 edits in tags/Safari-601.1.32.2.3/Source/WebCore

Merged r184406.

2:45 PM Changeset in webkit [184592] by bshafiei@apple.com
  • 2 edits in branches/safari-601.1.32.2-branch/Source/WebCore

Merged r184406.

2:39 PM Changeset in webkit [184591] by rniwa@webkit.org
  • 6 edits in trunk/Websites/perf.webkit.org

Don't show unit (bytes) separaetly from SI suffixes (K, M, etc...)
https://bugs.webkit.org/show_bug.cgi?id=145181

Rubber-stamped by Chris Dumez.

Show 'MB' in each y-axis label instead of showing 'bytes' separately and suffixing each label with just 'M'
for clarity. This change also reduces the code complexity.

  • public/index.html:
  • public/v2/app.js:

(App.AnalysisTaskController._chartDataChanged):
(App.TestGroupPane._createConfigurationSummary):

  • public/v2/data.js:

(RunsData.unitFromMetricName): Use 'B' instead of 'bytes' as the unit.

  • public/v2/interactive-chart.js: Removed the support for showing units separately.

(App.InteractiveChartComponent._constructGraphIfPossible):
(App.InteractiveChartComponent._relayoutDataAndAxes)

  • public/v2/manifest.js:

(App.Manifest._makeFormatter): Renamed from _formatBytes. Support more SI suffixes such as micro and mili.
Now takes the unit as the first argument. Adjust the base unit if it's 'ms'.
(App.Manifest._formatFetchedData): Removed unit and formatWithUnit now that all all formatters would
automatically include unit.

2:37 PM Changeset in webkit [184590] by andersca@apple.com
  • 3 edits in trunk/Tools

Add alternate menu items for performing operations on the default data store
https://bugs.webkit.org/show_bug.cgi?id=145184

Reviewed by Sam Weinig.

This makes it possible to test WKWebsiteDataStore code paths when there are no live web views
associated with a data store.

  • MiniBrowser/mac/AppDelegate.m:

(-[BrowserAppDelegate fetchDefaultStoreWebsiteData:]):
(-[BrowserAppDelegate fetchAndClearDefaultStoreWebsiteData:]):
(-[BrowserAppDelegate clearDefaultStoreWebsiteData:]):

  • MiniBrowser/mac/MainMenu.xib:
2:27 PM Changeset in webkit [184589] by Brent Fulgham
  • 2 edits in trunk/Source/WebCore

Scroll-snap animations should not start on axes with zero-delta
https://bugs.webkit.org/show_bug.cgi?id=145148

Reviewed by Dean Jackson.

Don't begin a scroll snap animation on an axis that had no change in position (on that axis)
during the gesture.

  • platform/cocoa/ScrollController.mm:

(WebCore::ScrollController::processWheelEventForScrollSnapOnAxis): Don't begin a scroll snap
animation if no movement on this axis was ever made.

2:12 PM Changeset in webkit [184588] by youenn.fablet@crf.canon.fr
  • 4 edits in trunk

AudioContext should resolve promises with jsUndefined() and not jsNull()
https://bugs.webkit.org/show_bug.cgi?id=145063

Reviewed by Sam Weinig.

Source/WebCore:

Covered by updated test.

  • bindings/js/JSDOMPromise.h:

(WebCore::DeferredWrapper::resolve): resolving std::nullptr_t as jsUndefined() and not jsNull()

LayoutTests:

  • webaudio/audiocontext-state.html: Added check of promise resolve value.
1:53 PM Changeset in webkit [184587] by eric.carlson@apple.com
  • 10 edits
    54 adds
    4 deletes in trunk/LayoutTests

iOS gardening. Update "fast" image and text results, delete wk2-only results.

Rubber-stamped by Brent Fulgham.

  • platform/ios-simulator-wk2/TestExpectations:
  • platform/ios-simulator-wk2/fast/events/touch/gesture/long-press-on-draggable-element-triggers-drag-expected.txt: Removed.
  • platform/ios-simulator-wk2/fast/forms/search-vertical-alignment-expected.txt: Removed.
  • platform/ios-simulator-wk2/fast/forms/searchfield-heights-expected.txt: Removed.
  • platform/ios-simulator-wk2/fast/gradients/list-item-gradient-expected.txt: Removed.
  • platform/ios-simulator/TestExpectations:
  • platform/ios-simulator/fast/attachment/attachment-select-on-click-expected.txt: Added.
  • platform/ios-simulator/fast/attachment/attachment-select-on-click-inside-user-select-all-expected.txt: Added.
  • platform/ios-simulator/fast/backgrounds/selection-background-color-of-image-list-style-expected.txt: Added.
  • platform/ios-simulator/fast/backgrounds/selection-background-color-of-list-style-expected.txt: Added.
  • platform/ios-simulator/fast/block/basic/001-expected.png: Added.
  • platform/ios-simulator/fast/block/margin-collapse/001-expected.png: Added.
  • platform/ios-simulator/fast/block/positioning/001-expected.png: Added.
  • platform/ios-simulator/fast/block/positioning/002-expected.png: Added.
  • platform/ios-simulator/fast/block/positioning/003-expected.png: Added.
  • platform/ios-simulator/fast/block/positioning/004-expected.png: Added.
  • platform/ios-simulator/fast/block/positioning/005-expected.png: Added.
  • platform/ios-simulator/fast/block/positioning/006-expected.png: Added.
  • platform/ios-simulator/fast/block/positioning/007-expected.png: Added.
  • platform/ios-simulator/fast/block/positioning/008-expected.png: Added.
  • platform/ios-simulator/fast/block/positioning/009-expected.png: Added.
  • platform/ios-simulator/fast/block/positioning/010-expected.png: Added.
  • platform/ios-simulator/fast/block/positioning/011-expected.png: Added.
  • platform/ios-simulator/fast/block/positioning/012-expected.png: Added.
  • platform/ios-simulator/fast/block/positioning/013-expected.png: Added.
  • platform/ios-simulator/fast/block/positioning/014-expected.png: Added.
  • platform/ios-simulator/fast/block/positioning/015-expected.png: Added.
  • platform/ios-simulator/fast/block/positioning/016-expected.png: Added.
  • platform/ios-simulator/fast/block/positioning/017-expected.png: Added.
  • platform/ios-simulator/fast/block/positioning/018-expected.png: Added.
  • platform/ios-simulator/fast/block/positioning/019-expected.png: Added.
  • platform/ios-simulator/fast/block/positioning/020-expected.png: Added.
  • platform/ios-simulator/fast/block/positioning/021-expected.png: Added.
  • platform/ios-simulator/fast/css/font-weight-1-expected.png: Added.
  • platform/ios-simulator/fast/css/font-weight-1-expected.txt:
  • platform/ios-simulator/fast/css/text-overflow-ellipsis-bidi-expected.png: Added.
  • platform/ios-simulator/fast/css/text-overflow-ellipsis-bidi-expected.txt:
  • platform/ios-simulator/fast/events/touch/gesture/long-press-on-draggable-element-triggers-drag-expected.txt:
  • platform/ios-simulator/fast/forms/box-shadow-override-expected.png: Added.
  • platform/ios-simulator/fast/forms/button-align-expected.png: Added.
  • platform/ios-simulator/fast/forms/input-auto-fill-button-expected.png: Added.
  • platform/ios-simulator/fast/forms/input-auto-fill-button-expected.txt: Added.
  • platform/ios-simulator/fast/forms/input-spaces-expected.png: Added.
  • platform/ios-simulator/fast/forms/input-table-expected.png: Added.
  • platform/ios-simulator/fast/forms/input-text-click-inside-expected.png: Added.
  • platform/ios-simulator/fast/forms/input-text-click-outside-expected.png: Added.
  • platform/ios-simulator/fast/forms/input-text-double-click-expected.png: Added.
  • platform/ios-simulator/fast/forms/input-text-drag-down-expected.png: Added.
  • platform/ios-simulator/fast/forms/listbox-hit-test-zoomed-expected.png: Added.
  • platform/ios-simulator/fast/forms/listbox-hit-test-zoomed-expected.txt:
  • platform/ios-simulator/fast/forms/option-index-expected.png: Added.
  • platform/ios-simulator/fast/forms/search-vertical-alignment-expected.png: Added.
  • platform/ios-simulator/fast/forms/search-vertical-alignment-expected.txt:
  • platform/ios-simulator/fast/forms/searchfield-heights-expected.png: Added.
  • platform/ios-simulator/fast/forms/searchfield-heights-expected.txt:
  • platform/ios-simulator/fast/forms/textarea-placeholder-pseudo-style-expected.png: Added.
  • platform/ios-simulator/fast/frames/calculate-fixed-expected.png: Added.
  • platform/ios-simulator/fast/frames/calculate-order-expected.png: Added.
  • platform/ios-simulator/fast/frames/calculate-percentage-expected.png: Added.
  • platform/ios-simulator/fast/frames/calculate-relative-expected.png: Added.
  • platform/ios-simulator/fast/frames/calculate-round-expected.png: Added.
  • platform/ios-simulator/fast/frames/content-opacity-1-expected.png: Added.
  • platform/ios-simulator/fast/frames/content-opacity-2-expected.png: Added.
  • platform/ios-simulator/fast/gradients/list-item-gradient-expected.png: Added.
  • platform/ios-simulator/fast/gradients/list-item-gradient-expected.txt:
  • platform/ios-simulator/fast/hidpi/broken-image-icon-very-hidpi-expected.txt: Added.
  • platform/ios-simulator/fast/images/animated-gif-with-offsets-expected.png: Added.
1:07 PM Changeset in webkit [184586] by youenn.fablet@crf.canon.fr
  • 5 edits in trunk/Source/JavaScriptCore

Rename createIterResultObject as createIteratorResultObject
https://bugs.webkit.org/show_bug.cgi?id=145116

Reviewed by Darin Adler.

Renamed createIterResultObject as createIteratorResultObject.
Made this function exportable for future use by streams API.

  • runtime/IteratorOperations.cpp:

(JSC::createIteratorResultObject):

  • runtime/IteratorOperations.h:
  • runtime/MapIteratorPrototype.cpp:

(JSC::MapIteratorPrototypeFuncNext):

  • runtime/SetIteratorPrototype.cpp:

(JSC::SetIteratorPrototypeFuncNext):

1:02 PM Changeset in webkit [184585] by youenn.fablet@crf.canon.fr
  • 7 edits in trunk/Source/WebCore

[Streams API] Migrate closed promise handling from ReadableStreamReader to ReadableStream
https://bugs.webkit.org/show_bug.cgi?id=145110

Reviewed by Darin Adler.

Reader is now just checking whether it is the reader locking the stream or not.
If not and stream is readable, it resolves the closed promise.
Otherwise, it delegates the promise handling to its stream.

No change in behavior.

  • Modules/streams/ReadableStream.cpp:

(WebCore::ReadableStream::cleanCallbacks): Cleaning of closed callbacks.
(WebCore::ReadableStream::changeStateToClosed): Resolving closed promise if set.
(WebCore::ReadableStream::changeStateToErrored): Rejecting closed promise if set.
(WebCore::ReadableStream::getReader): Removed reader state notification.
(WebCore::ReadableStream::closed): Moved from reader to stream.

  • Modules/streams/ReadableStream.h:

(WebCore::ReadableStream::reader): Added to allow reader to check whether it is locking its stream or not.
(WebCore::ReadableStream::isReadable): Added as an improvement over internalState which is removed.
(WebCore::ReadableStream::internalState): Deleted.

  • Modules/streams/ReadableStreamReader.cpp:

(WebCore::ReadableStreamReader::closed):

  • Modules/streams/ReadableStreamReader.h: Removed state and closed promise callbacks.
  • bindings/js/JSReadableStreamControllerCustom.cpp:

(WebCore::JSReadableStreamController::close): Refactoring of internalState to isReadable.
(WebCore::JSReadableStreamController::error): Ditto.

  • bindings/js/JSReadableStreamReaderCustom.cpp:

(WebCore::JSReadableStreamReader::closed): Refactoring to have the promise value as callback parameter.

12:59 PM Changeset in webkit [184584] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

Remove use of deprecated AVKit SPI cancelOptimizedFullscreen.
https://bugs.webkit.org/show_bug.cgi?id=145159

Patch by Jeremy Jones <jeremyj@apple.com> on 2015-05-19
Reviewed by Eric Carlson.

Remove cancelOptimizedFullscreen, and use stopOptimizedFullscreen instead.

  • platform/ios/WebVideoFullscreenInterfaceAVKit.mm:

(WebVideoFullscreenInterfaceAVKit::cleanupFullscreenInternal):

  • platform/spi/cocoa/AVKitSPI.h: remove declaration.
12:56 PM Changeset in webkit [184583] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

WebVideoFullscreenManagerProxy has incorrect OS_VERSION_MIN_REQUIRED conditionals.
https://bugs.webkit.org/show_bug.cgi?id=145158

Patch by Jeremy Jones <jeremyj@apple.com> on 2015-05-19
Reviewed by Eric Carlson.

  • UIProcess/ios/WebVideoFullscreenManagerProxy.mm:

(WebKit::WebVideoFullscreenManagerProxy::setVideoLayerFrame):

12:51 PM Changeset in webkit [184582] by Yusuke Suzuki
  • 23 edits
    1 copy in trunk

Array.prototype methods must use ToLength
https://bugs.webkit.org/show_bug.cgi?id=144128

Reviewed by Oliver Hunt.

Source/JavaScriptCore:

Per https://people.mozilla.org/~jorendorff/es6-draft.html#sec-tolength

This patch introduces ToLength and ToInteger JS implementation to encourage the DFG/FTL's inlining.
These implementations are located in GlobalObject.js.
And set to the JSGlobalObject with the private symbols @ToLength and @ToInteger manually.

  • builtins/Array.prototype.js:

(every):
(forEach):
(filter):
(map):
(some):
(fill):
(find):
(findIndex):
(includes):

  • builtins/ArrayConstructor.js:

(from):

  • builtins/GlobalObject.js: Copied from Source/JavaScriptCore/builtins/StringConstructor.js.

(ToInteger):
(ToLength):

  • builtins/StringConstructor.js:

(raw):

  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::init):

  • runtime/JSGlobalObjectFunctions.h:

LayoutTests:

  • fast/profiler/built-in-function-calls-anonymous-expected.txt:
  • fast/profiler/built-in-function-calls-user-defined-function-expected.txt:
  • js/array-every-expected.txt:
  • js/array-fill-expected.txt:
  • js/array-filter-expected.txt:
  • js/array-find-expected.txt:
  • js/array-findIndex-expected.txt:
  • js/array-functions-non-arrays-expected.txt:
  • js/array-includes-expected.txt:
  • js/script-tests/array-every.js:

(throwError):

  • js/script-tests/array-fill.js:

(throwError):

  • js/script-tests/array-filter.js:

(throwError):

  • js/script-tests/array-find.js:

(throwError):

  • js/script-tests/array-findIndex.js:

(toObject):
(throwError):

  • js/script-tests/array-functions-non-arrays.js:

(throwError):

  • js/script-tests/array-includes.js:
12:31 PM Changeset in webkit [184581] by mark.lam@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Fix the build of a universal binary with ARMv7k of JavaScriptCore.
https://bugs.webkit.org/show_bug.cgi?id=145143

Reviewed by Geoffrey Garen.

The offlineasm works in 3 phases:

Phase 1:

Parse the llint asm files for config options and desired offsets.
Let's say the offlineasm discovers C unique options and O unique offsets.
The offlineasm will then generate a LLIntDesiredOffsets.h file with
C x C build configurations, each with a set of O offsets.

Each of these build configurations is given a unique configuration index number.

Phase 2:

Compile the LLIntDesiredOffsets.h file into a JSCLLIntOffsetsExtractor binary.

If we're building a fat binary with 2 configurations: armv7, and armv7k,
then the fat binary will contain 2 blobs of offsets, one for each of these
build configurations.

Phase 3:

Parse the llint asm files and emit asm code using the offsets that are
extracted from the JSCLLIntOffsetsExtractor binary for the corresponding
configuration index number.

In the pre-existing code, there are no "if ARMv7k" statements in the llint asm
source. As a result, OFFLINE_ASM_ARMv7k is not one of the config options in
the set of C unique options.

For armv7k builds, OFFLINE_ASM_ARMv7 is also true. As a result, for an armv7k
target, we will end up building armv7 source. In general, this is fine except:

  1. armv7k has different alignment requirements from armv7. Hence, their offset values (in JSCLLIntOffsetsExtractor) will be different.
  1. The offlineasm was never told that it needed to make a different configuration for armv7k builds. Hence, the armv7k build of LLIntDesiredOffsets.h will build the armv7 configuration, and consequently, the armv7k blob of offsets in JSCLLIntOffsetsExtractor will have the same configuration index number as the armv7 blob of offsets.

In phase 3, when the offlineasm parses the JSCLLIntOffsetsExtractor fat binary
looking for the armv7 build's configuration index number, it discovers the
armv7k blob which has the same configuration number. As a result, it
erroneously thinks the armv7k offsets are appropriate for emitting armv7 code.
Needless to say, armv7 code using armv7k offsets will lead to incorrect behavior
and all round badness.

The fix is to add a simple "if ARMv7k" statement to the llint asm files. While
the if statement has no body, it does make the offlineasm aware of the need for
ARMv7k as a configuration option. As a result, it will generate an armv7k
variant configuration in the LLIntDesiredOffsets.h file with its own unique
configuration index number. With that, the JSCLLIntOffsetsExtractor fat binary
will no longer have duplicate configuration index numbers for the armv7 and
armv7k blobs of offsets, and the issue is resolved.

  • llint/LLIntOfflineAsmConfig.h:
  • llint/LowLevelInterpreter.asm:
12:24 PM Changeset in webkit [184580] by bshafiei@apple.com
  • 3 edits in branches/safari-600.7-branch/Source/JavaScriptCore

Merge patch for r182827. rdar://problem/20977128.

11:15 AM Changeset in webkit [184579] by matthew_hanson@apple.com
  • 1 copy in tags/Safari-601.1.32.2.3

New Tag.

11:13 AM Changeset in webkit [184578] by matthew_hanson@apple.com
  • 5 edits in branches/safari-601.1.32.2-branch/Source

Versioning.

10:49 AM Changeset in webkit [184577] by Alan Bujtas
  • 3 edits
    2 adds in trunk

Merged anonymous blocks should invalidate simple line layout path.
https://bugs.webkit.org/show_bug.cgi?id=145104
rdar://problem/20980930

Reviewed by Antti Koivisto.

When anonymous blocks are merged together, it's not guaranteed that the final block can use simple line layout.
This patch ensures that the flow block, where the other block's content gets moved to, is no longer on simple line layout path.
Whether the final flow block ends up using inline boxes or simple line layout will be determined during the next layout.

Source/WebCore:

Test: fast/block/crash-when-anonymous-blocks-are-merged-with-simple-line-layout.html

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::insertChildInternal):

LayoutTests:

  • fast/block/crash-when-anonymous-blocks-are-merged-with-simple-line-layout-expected.txt: Added.
  • fast/block/crash-when-anonymous-blocks-are-merged-with-simple-line-layout.html: Added.
10:26 AM Changeset in webkit [184576] by Beth Dakin
  • 2 edits in trunk/Source/WebCore

Crash in WebCore::RenderLayer::updateScrollbarsAfterLayout
https://bugs.webkit.org/show_bug.cgi?id=145142

Reviewed by Simon Fraser.

I have not been able to reproduce this crash, but according to symbolication
m_vBar is null. It seems like this crash was probably caused by
http://trac.webkit.org/changeset/173668 which made it so that overflow:scroll
behaves like overflow:auto when the scrollbars are overlay. I can see how you
could encounter this crash with that change if the layout caused
styleRequiresScrollbar() to return true when it used to return false. Then this
code, by failing to null-check the scrollbars, assumes that
styleRequiresScrollbar() could not have changed based on a layout. But it could
change if the css changed the scrollbars to be custom or if the user managed
switch to legacy style scrollbars at just the wrong time. Or I suppose it could
also happen if the user has legacy scrollbars and the style switched from auto to
scroll during the layout.

Anyway, we should null-check the scrollbars. This is a speculative fix.

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::updateScrollbarsAfterLayout):

10:06 AM Changeset in webkit [184575] by akling@apple.com
  • 7 edits in trunk/Source/JavaScriptCore

Give JSString a StringView getter and start using it.
<https://webkit.org/b/145131>

Reviewed by Anders Carlsson.

When JSString is a substring internally, calling value(ExecState*) on it
will reify the baseString/start/length tuple into a new StringImpl.

For clients that only want to look at the characters of a JSString, but
don't actually need a reffable StringImpl, adding a light-weight StringView
getter lets them avoid constructing anything.

This patch adds JSString::view(ExecState*) and uses it in a few places.
There are many more opportunities to use this API, but let's do a few things
at a time.

  • runtime/FunctionConstructor.cpp:

(JSC::constructFunctionSkippingEvalEnabledCheck):

  • runtime/JSGlobalObjectFunctions.cpp:

(JSC::decode):
(JSC::parseInt):
(JSC::jsToNumber):
(JSC::parseFloat):
(JSC::globalFuncParseInt):
(JSC::globalFuncParseFloat):
(JSC::globalFuncEscape):
(JSC::globalFuncUnescape):

  • runtime/JSGlobalObjectFunctions.h:
  • runtime/JSONObject.cpp:

(JSC::JSONProtoFuncParse):

  • runtime/JSString.cpp:

(JSC::JSString::getPrimitiveNumber):
(JSC::JSString::toNumber):

  • runtime/JSString.h:

(JSC::JSRopeString::view):
(JSC::JSString::view):

9:46 AM Changeset in webkit [184574] by matthew_hanson@apple.com
  • 7 edits in branches/safari-601.1.32.2-branch/Source/WebCore

Merge r184513. rdar://problem/21006738

9:46 AM Changeset in webkit [184573] by matthew_hanson@apple.com
  • 3 edits
    3 adds in branches/safari-601.1.32.2-branch

Merge r184510. rdar://problem/21004989

9:46 AM Changeset in webkit [184572] by matthew_hanson@apple.com
  • 4 edits in branches/safari-601.1.32.2-branch/Source/WebKit2

Merge r184439. rdar://problem/20975978

9:46 AM Changeset in webkit [184571] by matthew_hanson@apple.com
  • 5 edits in branches/safari-601.1.32.2-branch

Merge r183912. rdar://problem/20926150

9:46 AM Changeset in webkit [184570] by matthew_hanson@apple.com
  • 2 edits in branches/safari-601.1.32.2-branch/Source/WebCore

Merge r184433. rdar://problem/20877518

9:46 AM Changeset in webkit [184569] by matthew_hanson@apple.com
  • 4 edits in branches/safari-601.1.32.2-branch/Source/JavaScriptCore

Merge r184542. rdar://problem/20679710

9:46 AM Changeset in webkit [184568] by matthew_hanson@apple.com
  • 4 edits in branches/safari-601.1.32.2-branch/Source/JavaScriptCore

Merge r184540. rdar://problem/20679710

9:37 AM Changeset in webkit [184567] by commit-queue@webkit.org
  • 5 edits in trunk/Source

[SOUP] Use st_birthtime to get creation time of files on systems support it
https://bugs.webkit.org/show_bug.cgi?id=144989

Patch by Ting-Wei Lan <Ting-Wei Lan> on 2015-05-19
Reviewed by Carlos Garcia Campos.

Source/WebKit2:

FreeBSD and NetBSD have either st_birthtime field or compatiblity macro
with the same name in stat. It is better to use it instead of manually
setting xattr, which is unreliable because both operating systems and
file systems support are required.

  • NetworkProcess/cache/NetworkCacheFileSystemPosix.h:

(WebKit::NetworkCache::fileTimes):

  • NetworkProcess/cache/NetworkCacheIOChannelSoup.cpp:

(WebKit::NetworkCache::IOChannel::IOChannel):

Source/WTF:

Define HAVE(STAT_BIRTHTIME) as 1 on operating systems supporting
getting creation time of files using st_birthtime in stat.

  • wtf/Platform.h:
9:29 AM Changeset in webkit [184566] by commit-queue@webkit.org
  • 11 edits in trunk/Source/WebCore

Use modern for-loops in WebCore/xml.
https://bugs.webkit.org/show_bug.cgi?id=145046

Patch by Hunseop Jeong <Hunseop Jeong> on 2015-05-19
Reviewed by Chris Dumez.

No new tests, no new tests.

  • xml/XMLHttpRequest.cpp:

(WebCore::XMLHttpRequest::uppercaseKnownHTTPMethod):

  • xml/XPathExpressionNode.cpp:

(WebCore::XPath::Expression::setSubexpressions):

  • xml/XPathFunctions.cpp:

(WebCore::XPath::FunSum::evaluate):
(WebCore::XPath::populateFunctionMap):

  • xml/XPathNodeSet.cpp:

(WebCore::XPath::NodeSet::traversalSort):

  • xml/XPathParser.cpp:

(WebCore::XPath::populateAxisNamesMap):

  • xml/XPathPath.cpp:

(WebCore::XPath::Filter::evaluate):
(WebCore::XPath::LocationPath::evaluate):

  • xml/XPathPredicate.cpp:

(WebCore::XPath::EqTestOp::compare):
(WebCore::XPath::Union::evaluate):

  • xml/XPathStep.cpp:

(WebCore::XPath::Step::optimize):
(WebCore::XPath::Step::predicatesAreContextListInsensitive):
(WebCore::XPath::Step::evaluate):
(WebCore::XPath::nodeMatches):

  • xml/XSLStyleSheetLibxslt.cpp:

(WebCore::XSLStyleSheet::~XSLStyleSheet):
(WebCore::XSLStyleSheet::isLoading):
(WebCore::XSLStyleSheet::clearDocuments):
(WebCore::XSLStyleSheet::locateStylesheetSubResource):

  • xml/XSLTProcessorLibxslt.cpp:

(WebCore::xsltParamArrayFromParameterMap):

9:26 AM Changeset in webkit [184565] by jonlee@apple.com
  • 2 edits in trunk/Source/WebCore

Improve text rendering of placeholder
https://bugs.webkit.org/show_bug.cgi?id=145135

Reviewed by Eric Carlson.

  • Modules/mediacontrols/mediaControlsApple.css: The <p> elements of the wireless playback

text are being popped out into separate layers, causing the text to render antialiased, which
looks bad on non-retina machines. Explicitly set the background color (which is ok since the
container element for the placeholder is also black). Also extend the height out 1pt to prevent
clipping of descenders.
(audio::-webkit-media-controls-wireless-playback-text-top): Set background color to black and add
1 to the height.
(audio::-webkit-media-controls-wireless-playback-text-bottom): Ditto.

9:24 AM Changeset in webkit [184564] by jonlee@apple.com
  • 2 edits in trunk/Source/WebCore

[iOS] Current time display should be right-aligned
https://bugs.webkit.org/show_bug.cgi?id=145163
rdar://problem/21014339

Reviewed by Eric Carlson.

  • Modules/mediacontrols/mediaControlsiOS.css: Use flex-start and flex-end

instead of right and left, similar to the Mac controls.
(video::-webkit-media-controls-current-time-display):
(video::-webkit-media-controls-time-remaining-display):

9:09 AM WebKitGTK/Gardening/Calendar edited by chavarria1991@gmail.com
(diff)
8:48 AM Changeset in webkit [184563] by Chris Fleizach
  • 3 edits
    2 adds in trunk

AX: Select text mechanism returns results outside of text control regions
https://bugs.webkit.org/show_bug.cgi?id=145041

Reviewed by Mario Sanchez Prada.

Source/WebCore:

The behavior of the select text mechanism (inside accessibility) should make sure that results
returned stay within text control elements if the search was initiated inside a text control element.

Test: platform/mac/accessibility/select-text-stays-inside-text-controls.html

  • accessibility/AccessibilityObject.cpp:

(WebCore::rangeClosestToRange):
(WebCore::AccessibilityObject::selectText):

LayoutTests:

  • platform/mac/accessibility/select-text-stays-inside-text-controls-expected.txt: Added.
  • platform/mac/accessibility/select-text-stays-inside-text-controls.html: Added.
8:10 AM Changeset in webkit [184562] by matthew_hanson@apple.com
  • 10 edits in branches/safari-601.1.32-branch/Source

Merge custom patch. rdar://problem/20950052

6:26 AM Changeset in webkit [184561] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

[GTK] Gardening 19th May
https://bugs.webkit.org/show_bug.cgi?id=145166

Unreviewed.

Patch by Marcos Chavarría Teijeiro <mchavarria@igalia.com> on 2015-05-19

  • platform/gtk/TestExpectations:
6:22 AM Changeset in webkit [184560] by eric.carlson@apple.com
  • 3 edits
    316 adds
    155 deletes in trunk/LayoutTests

iOS gardening. Update "editing" image and text results, delete wk2-only results.

Rubber-stamped by Brent Fulgham.

  • platform/ios-simulator-wk2/TestExpectations:
  • platform/ios-simulator-wk2/editing/deleting/delete-3775172-fix-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/deleting/delete-3857753-fix-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/deleting/delete-3865854-fix-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/deleting/delete-3928305-fix-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/deleting/delete-4083333-fix-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/deleting/delete-and-undo-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/deleting/delete-at-paragraph-boundaries-002-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/deleting/delete-at-paragraph-boundaries-003-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/deleting/delete-at-paragraph-boundaries-004-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/deleting/delete-at-paragraph-boundaries-005-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/deleting/delete-at-paragraph-boundaries-006-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/deleting/delete-at-paragraph-boundaries-007-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/deleting/delete-at-paragraph-boundaries-008-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/deleting/delete-at-paragraph-boundaries-009-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/deleting/delete-at-paragraph-boundaries-010-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/deleting/delete-at-paragraph-boundaries-011-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/deleting/delete-block-contents-003-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/deleting/delete-block-merge-contents-001-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/deleting/delete-block-merge-contents-002-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/deleting/delete-block-merge-contents-003-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/deleting/delete-block-merge-contents-004-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/deleting/delete-block-merge-contents-005-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/deleting/delete-block-merge-contents-006-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/deleting/delete-block-merge-contents-007-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/deleting/delete-block-merge-contents-008-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/deleting/delete-block-merge-contents-009-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/deleting/delete-block-merge-contents-010-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/deleting/delete-block-merge-contents-011-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/deleting/delete-block-merge-contents-012-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/deleting/delete-block-merge-contents-013-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/deleting/delete-block-merge-contents-014-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/deleting/delete-block-merge-contents-015-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/deleting/delete-block-merge-contents-016-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/deleting/delete-block-merge-contents-017-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/deleting/delete-block-merge-contents-018-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/deleting/delete-block-merge-contents-019-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/deleting/delete-block-merge-contents-020-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/deleting/delete-block-merge-contents-021-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/deleting/delete-block-merge-contents-022-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/deleting/delete-block-merge-contents-023-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/deleting/delete-block-merge-contents-024-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/deleting/delete-br-001-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/deleting/delete-br-003-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/deleting/delete-br-007-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/deleting/delete-br-008-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/deleting/delete-br-010-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/deleting/delete-character-001-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/deleting/delete-contiguous-ws-001-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/deleting/delete-first-list-item-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/deleting/delete-hr-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/deleting/delete-image-001-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/deleting/delete-image-002-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/deleting/delete-image-003-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/deleting/delete-line-001-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/deleting/delete-line-002-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/deleting/delete-line-003-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/deleting/delete-line-004-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/deleting/delete-line-005-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/deleting/delete-line-006-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/deleting/delete-line-007-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/deleting/delete-line-008-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/deleting/delete-line-009-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/deleting/delete-line-010-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/deleting/delete-line-012-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/deleting/delete-line-013-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/deleting/delete-line-014-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/deleting/delete-line-015-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/deleting/delete-line-016-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/deleting/delete-line-017-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/deleting/delete-listitem-001-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/deleting/delete-listitem-002-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/deleting/delete-selection-001-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/deleting/delete-tab-002-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/deleting/delete-tab-003-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/deleting/delete-to-select-table-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/deleting/delete-trailing-ws-001-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/deleting/delete-trailing-ws-002-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/deleting/delete-ws-fixup-001-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/deleting/delete-ws-fixup-002-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/deleting/delete-ws-fixup-003-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/deleting/delete-ws-fixup-004-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/deleting/forward-delete-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/deleting/list-item-1-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/deleting/merge-different-styles-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/deleting/merge-endOfParagraph-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/deleting/merge-no-br-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/deleting/merge-unrendered-space-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/deleting/non-smart-delete-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/deleting/pruning-after-merge-2-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/deleting/smart-delete-001-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/deleting/table-cells-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/execCommand/4641880-1-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/execCommand/4641880-2-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/execCommand/create-list-with-hr-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/execCommand/indent-empty-root-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/execCommand/indent-list-item-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/execCommand/indent-selection-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/execCommand/insert-list-and-stitch-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/execCommand/insertHorizontalRule-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/execCommand/insertImage-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/execCommand/nsresponder-indent-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/execCommand/nsresponder-outdent-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/execCommand/print-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/execCommand/remove-list-from-range-selection-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/pasteboard/4989774-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/selection/3690703-2-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/selection/3690703-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/selection/3690719-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/selection/4397952-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/selection/4889598-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/selection/4932260-1-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/selection/4932260-2-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/selection/4932260-3-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/selection/4947387-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/selection/5195166-2-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/selection/7152-1-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/selection/7152-2-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/selection/after-line-wrap-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/selection/focus_editable_html-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/selection/iframe-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/selection/image-before-linebreak-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/selection/inline-table-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/selection/leave-requested-block-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/selection/mixed-editability-10-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/selection/mixed-editability-3-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/selection/mixed-editability-4-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/selection/mixed-editability-5-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/selection/mixed-editability-8-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/selection/mixed-editability-9-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/selection/move-3875618-fix-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/selection/move-3875641-fix-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/selection/move-backwords-by-word-001-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/selection/move-between-blocks-no-001-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/selection/move-between-blocks-yes-001-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/selection/move-by-character-001-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/selection/move-by-character-002-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/selection/move-by-character-003-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/selection/move-by-character-004-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/selection/move-by-character-005-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/selection/move-by-character-6-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/selection/move-by-sentence-001-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/selection/move-past-trailing-space-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/selection/previous-line-position-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/selection/replaced-boundaries-1-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/selection/replaced-boundaries-2-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/selection/replaced-boundaries-3-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/selection/select-all-005-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/selection/select-all-006-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/selection/select-box-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/selection/select-element-paragraph-boundary-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/selection/selection-3748164-fix-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/selection/table-caret-1-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/selection/table-caret-2-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/selection/table-caret-3-expected.txt: Removed.
  • platform/ios-simulator-wk2/editing/selection/unrendered-space-expected.txt: Removed.
  • platform/ios-simulator/editing/deleting/delete-3608462-fix-expected.png: Added.
  • platform/ios-simulator/editing/deleting/delete-3608462-fix-expected.txt: Added.
  • platform/ios-simulator/editing/deleting/delete-3775172-fix-expected.txt: Added.
  • platform/ios-simulator/editing/deleting/delete-3857753-fix-expected.png: Added.
  • platform/ios-simulator/editing/deleting/delete-3857753-fix-expected.txt: Added.
  • platform/ios-simulator/editing/deleting/delete-3865854-fix-expected.png: Added.
  • platform/ios-simulator/editing/deleting/delete-3865854-fix-expected.txt: Added.
  • platform/ios-simulator/editing/deleting/delete-3928305-fix-expected.png: Added.
  • platform/ios-simulator/editing/deleting/delete-3928305-fix-expected.txt: Added.
  • platform/ios-simulator/editing/deleting/delete-4083333-fix-expected.png: Added.
  • platform/ios-simulator/editing/deleting/delete-4083333-fix-expected.txt: Added.
  • platform/ios-simulator/editing/deleting/delete-and-undo-expected.png: Added.
  • platform/ios-simulator/editing/deleting/delete-and-undo-expected.txt: Added.
  • platform/ios-simulator/editing/deleting/delete-at-paragraph-boundaries-002-expected.png: Added.
  • platform/ios-simulator/editing/deleting/delete-at-paragraph-boundaries-002-expected.txt: Added.
  • platform/ios-simulator/editing/deleting/delete-at-paragraph-boundaries-003-expected.png: Added.
  • platform/ios-simulator/editing/deleting/delete-at-paragraph-boundaries-003-expected.txt: Added.
  • platform/ios-simulator/editing/deleting/delete-at-paragraph-boundaries-004-expected.png: Added.
  • platform/ios-simulator/editing/deleting/delete-at-paragraph-boundaries-004-expected.txt: Added.
  • platform/ios-simulator/editing/deleting/delete-at-paragraph-boundaries-005-expected.png: Added.
  • platform/ios-simulator/editing/deleting/delete-at-paragraph-boundaries-005-expected.txt: Added.
  • platform/ios-simulator/editing/deleting/delete-at-paragraph-boundaries-006-expected.png: Added.
  • platform/ios-simulator/editing/deleting/delete-at-paragraph-boundaries-006-expected.txt: Added.
  • platform/ios-simulator/editing/deleting/delete-at-paragraph-boundaries-007-expected.png: Added.
  • platform/ios-simulator/editing/deleting/delete-at-paragraph-boundaries-007-expected.txt: Added.
  • platform/ios-simulator/editing/deleting/delete-at-paragraph-boundaries-008-expected.png: Added.
  • platform/ios-simulator/editing/deleting/delete-at-paragraph-boundaries-008-expected.txt: Added.
  • platform/ios-simulator/editing/deleting/delete-at-paragraph-boundaries-009-expected.png: Added.
  • platform/ios-simulator/editing/deleting/delete-at-paragraph-boundaries-009-expected.txt: Added.
  • platform/ios-simulator/editing/deleting/delete-at-paragraph-boundaries-010-expected.png: Added.
  • platform/ios-simulator/editing/deleting/delete-at-paragraph-boundaries-010-expected.txt: Added.
  • platform/ios-simulator/editing/deleting/delete-at-paragraph-boundaries-011-expected.png: Added.
  • platform/ios-simulator/editing/deleting/delete-at-paragraph-boundaries-011-expected.txt: Added.
  • platform/ios-simulator/editing/deleting/delete-block-contents-003-expected.png: Added.
  • platform/ios-simulator/editing/deleting/delete-block-contents-003-expected.txt: Added.
  • platform/ios-simulator/editing/deleting/delete-block-merge-contents-001-expected.png: Added.
  • platform/ios-simulator/editing/deleting/delete-block-merge-contents-001-expected.txt: Added.
  • platform/ios-simulator/editing/deleting/delete-block-merge-contents-002-expected.png: Added.
  • platform/ios-simulator/editing/deleting/delete-block-merge-contents-002-expected.txt: Added.
  • platform/ios-simulator/editing/deleting/delete-block-merge-contents-003-expected.png: Added.
  • platform/ios-simulator/editing/deleting/delete-block-merge-contents-003-expected.txt: Added.
  • platform/ios-simulator/editing/deleting/delete-block-merge-contents-004-expected.png: Added.
  • platform/ios-simulator/editing/deleting/delete-block-merge-contents-004-expected.txt: Added.
  • platform/ios-simulator/editing/deleting/delete-block-merge-contents-005-expected.png: Added.
  • platform/ios-simulator/editing/deleting/delete-block-merge-contents-005-expected.txt: Added.
  • platform/ios-simulator/editing/deleting/delete-block-merge-contents-006-expected.png: Added.
  • platform/ios-simulator/editing/deleting/delete-block-merge-contents-006-expected.txt: Added.
  • platform/ios-simulator/editing/deleting/delete-block-merge-contents-007-expected.png: Added.
  • platform/ios-simulator/editing/deleting/delete-block-merge-contents-007-expected.txt: Added.
  • platform/ios-simulator/editing/deleting/delete-block-merge-contents-008-expected.png: Added.
  • platform/ios-simulator/editing/deleting/delete-block-merge-contents-008-expected.txt: Added.
  • platform/ios-simulator/editing/deleting/delete-block-merge-contents-009-expected.png: Added.
  • platform/ios-simulator/editing/deleting/delete-block-merge-contents-009-expected.txt: Added.
  • platform/ios-simulator/editing/deleting/delete-block-merge-contents-010-expected.png: Added.
  • platform/ios-simulator/editing/deleting/delete-block-merge-contents-010-expected.txt: Added.
  • platform/ios-simulator/editing/deleting/delete-block-merge-contents-011-expected.png: Added.
  • platform/ios-simulator/editing/deleting/delete-block-merge-contents-011-expected.txt: Added.
  • platform/ios-simulator/editing/deleting/delete-block-merge-contents-012-expected.png: Added.
  • platform/ios-simulator/editing/deleting/delete-block-merge-contents-012-expected.txt: Added.
  • platform/ios-simulator/editing/deleting/delete-block-merge-contents-013-expected.png: Added.
  • platform/ios-simulator/editing/deleting/delete-block-merge-contents-013-expected.txt: Added.
  • platform/ios-simulator/editing/deleting/delete-block-merge-contents-014-expected.png: Added.
  • platform/ios-simulator/editing/deleting/delete-block-merge-contents-014-expected.txt: Added.
  • platform/ios-simulator/editing/deleting/delete-block-merge-contents-015-expected.png: Added.
  • platform/ios-simulator/editing/deleting/delete-block-merge-contents-015-expected.txt: Added.
  • platform/ios-simulator/editing/deleting/delete-block-merge-contents-016-expected.png: Added.
  • platform/ios-simulator/editing/deleting/delete-block-merge-contents-016-expected.txt: Added.
  • platform/ios-simulator/editing/deleting/delete-block-merge-contents-017-expected.png: Added.
  • platform/ios-simulator/editing/deleting/delete-block-merge-contents-017-expected.txt: Added.
  • platform/ios-simulator/editing/deleting/delete-block-merge-contents-018-expected.png: Added.
  • platform/ios-simulator/editing/deleting/delete-block-merge-contents-018-expected.txt: Added.
  • platform/ios-simulator/editing/deleting/delete-block-merge-contents-019-expected.png: Added.
  • platform/ios-simulator/editing/deleting/delete-block-merge-contents-019-expected.txt: Added.
  • platform/ios-simulator/editing/deleting/delete-block-merge-contents-020-expected.png: Added.
  • platform/ios-simulator/editing/deleting/delete-block-merge-contents-020-expected.txt: Added.
  • platform/ios-simulator/editing/deleting/delete-block-merge-contents-021-expected.png: Added.
  • platform/ios-simulator/editing/deleting/delete-block-merge-contents-021-expected.txt: Added.
  • platform/ios-simulator/editing/deleting/delete-block-merge-contents-022-expected.png: Added.
  • platform/ios-simulator/editing/deleting/delete-block-merge-contents-022-expected.txt: Added.
  • platform/ios-simulator/editing/deleting/delete-block-merge-contents-023-expected.png: Added.
  • platform/ios-simulator/editing/deleting/delete-block-merge-contents-023-expected.txt: Added.
  • platform/ios-simulator/editing/deleting/delete-block-merge-contents-024-expected.png: Added.
  • platform/ios-simulator/editing/deleting/delete-block-merge-contents-024-expected.txt: Added.
  • platform/ios-simulator/editing/deleting/delete-br-001-expected.png: Added.
  • platform/ios-simulator/editing/deleting/delete-br-001-expected.txt: Added.
  • platform/ios-simulator/editing/deleting/delete-br-003-expected.png: Added.
  • platform/ios-simulator/editing/deleting/delete-br-003-expected.txt: Added.
  • platform/ios-simulator/editing/deleting/delete-br-007-expected.png: Added.
  • platform/ios-simulator/editing/deleting/delete-br-007-expected.txt: Added.
  • platform/ios-simulator/editing/deleting/delete-br-008-expected.png: Added.
  • platform/ios-simulator/editing/deleting/delete-br-008-expected.txt: Added.
  • platform/ios-simulator/editing/deleting/delete-br-010-expected.png: Added.
  • platform/ios-simulator/editing/deleting/delete-br-010-expected.txt: Added.
  • platform/ios-simulator/editing/deleting/delete-character-001-expected.png: Added.
  • platform/ios-simulator/editing/deleting/delete-character-001-expected.txt: Added.
  • platform/ios-simulator/editing/deleting/delete-contiguous-ws-001-expected.png: Added.
  • platform/ios-simulator/editing/deleting/delete-contiguous-ws-001-expected.txt: Added.
  • platform/ios-simulator/editing/deleting/delete-first-list-item-expected.png: Added.
  • platform/ios-simulator/editing/deleting/delete-first-list-item-expected.txt: Added.
  • platform/ios-simulator/editing/deleting/delete-hr-expected.png: Added.
  • platform/ios-simulator/editing/deleting/delete-hr-expected.txt: Added.
  • platform/ios-simulator/editing/deleting/delete-image-001-expected.png: Added.
  • platform/ios-simulator/editing/deleting/delete-image-001-expected.txt: Added.
  • platform/ios-simulator/editing/deleting/delete-image-002-expected.png: Added.
  • platform/ios-simulator/editing/deleting/delete-image-002-expected.txt: Added.
  • platform/ios-simulator/editing/deleting/delete-image-003-expected.png: Added.
  • platform/ios-simulator/editing/deleting/delete-image-003-expected.txt: Added.
  • platform/ios-simulator/editing/deleting/delete-line-001-expected.png: Added.
  • platform/ios-simulator/editing/deleting/delete-line-001-expected.txt: Added.
  • platform/ios-simulator/editing/deleting/delete-line-002-expected.png: Added.
  • platform/ios-simulator/editing/deleting/delete-line-002-expected.txt: Added.
  • platform/ios-simulator/editing/deleting/delete-line-003-expected.png: Added.
  • platform/ios-simulator/editing/deleting/delete-line-003-expected.txt: Added.
  • platform/ios-simulator/editing/deleting/delete-line-004-expected.png: Added.
  • platform/ios-simulator/editing/deleting/delete-line-004-expected.txt: Added.
  • platform/ios-simulator/editing/deleting/delete-line-005-expected.png: Added.
  • platform/ios-simulator/editing/deleting/delete-line-005-expected.txt: Added.
  • platform/ios-simulator/editing/deleting/delete-line-006-expected.png: Added.
  • platform/ios-simulator/editing/deleting/delete-line-006-expected.txt: Added.
  • platform/ios-simulator/editing/deleting/delete-line-007-expected.png: Added.
  • platform/ios-simulator/editing/deleting/delete-line-007-expected.txt: Added.
  • platform/ios-simulator/editing/deleting/delete-line-008-expected.png: Added.
  • platform/ios-simulator/editing/deleting/delete-line-008-expected.txt: Added.
  • platform/ios-simulator/editing/deleting/delete-line-009-expected.png: Added.
  • platform/ios-simulator/editing/deleting/delete-line-009-expected.txt: Added.
  • platform/ios-simulator/editing/deleting/delete-line-010-expected.png: Added.
  • platform/ios-simulator/editing/deleting/delete-line-010-expected.txt: Added.
  • platform/ios-simulator/editing/deleting/delete-line-012-expected.png: Added.
  • platform/ios-simulator/editing/deleting/delete-line-012-expected.txt: Added.
  • platform/ios-simulator/editing/deleting/delete-line-013-expected.png: Added.
  • platform/ios-simulator/editing/deleting/delete-line-013-expected.txt: Added.
  • platform/ios-simulator/editing/deleting/delete-line-014-expected.png: Added.
  • platform/ios-simulator/editing/deleting/delete-line-014-expected.txt: Added.
  • platform/ios-simulator/editing/deleting/delete-line-015-expected.png: Added.
  • platform/ios-simulator/editing/deleting/delete-line-015-expected.txt: Added.
  • platform/ios-simulator/editing/deleting/delete-line-016-expected.png: Added.
  • platform/ios-simulator/editing/deleting/delete-line-016-expected.txt: Added.
  • platform/ios-simulator/editing/deleting/delete-line-017-expected.png: Added.
  • platform/ios-simulator/editing/deleting/delete-line-017-expected.txt: Added.
  • platform/ios-simulator/editing/deleting/delete-listitem-001-expected.png: Added.
  • platform/ios-simulator/editing/deleting/delete-listitem-001-expected.txt: Added.
  • platform/ios-simulator/editing/deleting/delete-listitem-002-expected.png: Added.
  • platform/ios-simulator/editing/deleting/delete-listitem-002-expected.txt: Added.
  • platform/ios-simulator/editing/deleting/delete-selection-001-expected.png: Added.
  • platform/ios-simulator/editing/deleting/delete-selection-001-expected.txt: Added.
  • platform/ios-simulator/editing/deleting/delete-tab-002-expected.png: Added.
  • platform/ios-simulator/editing/deleting/delete-tab-002-expected.txt: Added.
  • platform/ios-simulator/editing/deleting/delete-tab-003-expected.png: Added.
  • platform/ios-simulator/editing/deleting/delete-tab-003-expected.txt: Added.
  • platform/ios-simulator/editing/deleting/delete-to-select-table-expected.png: Added.
  • platform/ios-simulator/editing/deleting/delete-to-select-table-expected.txt: Added.
  • platform/ios-simulator/editing/deleting/delete-trailing-ws-001-expected.png: Added.
  • platform/ios-simulator/editing/deleting/delete-trailing-ws-001-expected.txt: Added.
  • platform/ios-simulator/editing/deleting/delete-trailing-ws-002-expected.png: Added.
  • platform/ios-simulator/editing/deleting/delete-trailing-ws-002-expected.txt: Added.
  • platform/ios-simulator/editing/deleting/delete-ws-fixup-001-expected.png: Added.
  • platform/ios-simulator/editing/deleting/delete-ws-fixup-001-expected.txt: Added.
  • platform/ios-simulator/editing/deleting/delete-ws-fixup-002-expected.png: Added.
  • platform/ios-simulator/editing/deleting/delete-ws-fixup-002-expected.txt: Added.
  • platform/ios-simulator/editing/deleting/delete-ws-fixup-003-expected.png: Added.
  • platform/ios-simulator/editing/deleting/delete-ws-fixup-003-expected.txt: Added.
  • platform/ios-simulator/editing/deleting/delete-ws-fixup-004-expected.png: Added.
  • platform/ios-simulator/editing/deleting/delete-ws-fixup-004-expected.txt: Added.
  • platform/ios-simulator/editing/deleting/forward-delete-expected.png: Added.
  • platform/ios-simulator/editing/deleting/forward-delete-expected.txt: Added.
  • platform/ios-simulator/editing/deleting/list-item-1-expected.png: Added.
  • platform/ios-simulator/editing/deleting/list-item-1-expected.txt: Added.
  • platform/ios-simulator/editing/deleting/merge-different-styles-expected.png: Added.
  • platform/ios-simulator/editing/deleting/merge-different-styles-expected.txt: Added.
  • platform/ios-simulator/editing/deleting/merge-endOfParagraph-expected.png: Added.
  • platform/ios-simulator/editing/deleting/merge-endOfParagraph-expected.txt: Added.
  • platform/ios-simulator/editing/deleting/merge-no-br-expected.png: Added.
  • platform/ios-simulator/editing/deleting/merge-no-br-expected.txt: Added.
  • platform/ios-simulator/editing/deleting/merge-unrendered-space-expected.png: Added.
  • platform/ios-simulator/editing/deleting/merge-unrendered-space-expected.txt: Added.
  • platform/ios-simulator/editing/deleting/non-smart-delete-expected.png: Added.
  • platform/ios-simulator/editing/deleting/non-smart-delete-expected.txt: Added.
  • platform/ios-simulator/editing/deleting/pruning-after-merge-2-expected.png: Added.
  • platform/ios-simulator/editing/deleting/pruning-after-merge-2-expected.txt: Added.
  • platform/ios-simulator/editing/deleting/smart-delete-001-expected.png: Added.
  • platform/ios-simulator/editing/deleting/smart-delete-001-expected.txt: Added.
  • platform/ios-simulator/editing/deleting/table-cells-expected.png: Added.
  • platform/ios-simulator/editing/deleting/table-cells-expected.txt: Added.
  • platform/ios-simulator/editing/execCommand/4641880-1-expected.png: Added.
  • platform/ios-simulator/editing/execCommand/4641880-1-expected.txt: Added.
  • platform/ios-simulator/editing/execCommand/4641880-2-expected.png: Added.
  • platform/ios-simulator/editing/execCommand/4641880-2-expected.txt: Added.
  • platform/ios-simulator/editing/execCommand/5142012-1-expected.png: Added.
  • platform/ios-simulator/editing/execCommand/5142012-1-expected.txt:
  • platform/ios-simulator/editing/execCommand/create-list-with-hr-expected.png: Added.
  • platform/ios-simulator/editing/execCommand/create-list-with-hr-expected.txt: Added.
  • platform/ios-simulator/editing/execCommand/indent-empty-root-expected.png: Added.
  • platform/ios-simulator/editing/execCommand/indent-empty-root-expected.txt: Added.
  • platform/ios-simulator/editing/execCommand/indent-list-item-expected.png: Added.
  • platform/ios-simulator/editing/execCommand/indent-list-item-expected.txt: Added.
  • platform/ios-simulator/editing/execCommand/indent-selection-expected.png: Added.
  • platform/ios-simulator/editing/execCommand/indent-selection-expected.txt: Added.
  • platform/ios-simulator/editing/execCommand/insert-list-and-stitch-expected.png: Added.
  • platform/ios-simulator/editing/execCommand/insert-list-and-stitch-expected.txt: Added.
  • platform/ios-simulator/editing/execCommand/insertHorizontalRule-expected.png: Added.
  • platform/ios-simulator/editing/execCommand/insertHorizontalRule-expected.txt: Added.
  • platform/ios-simulator/editing/execCommand/insertImage-expected.png: Added.
  • platform/ios-simulator/editing/execCommand/insertImage-expected.txt: Added.
  • platform/ios-simulator/editing/execCommand/nsresponder-indent-expected.png: Added.
  • platform/ios-simulator/editing/execCommand/nsresponder-indent-expected.txt: Added.
  • platform/ios-simulator/editing/execCommand/nsresponder-outdent-expected.png: Added.
  • platform/ios-simulator/editing/execCommand/nsresponder-outdent-expected.txt: Added.
  • platform/ios-simulator/editing/execCommand/print-expected.png: Added.
  • platform/ios-simulator/editing/execCommand/print-expected.txt: Added.
  • platform/ios-simulator/editing/execCommand/remove-list-from-range-selection-expected.png: Added.
  • platform/ios-simulator/editing/execCommand/remove-list-from-range-selection-expected.txt: Added.
  • platform/ios-simulator/editing/pasteboard/4989774-expected.png: Added.
  • platform/ios-simulator/editing/pasteboard/4989774-expected.txt: Added.
  • platform/ios-simulator/editing/pasteboard/drag-drop-dead-frame-expected.png: Added.
  • platform/ios-simulator/editing/selection/3690703-2-expected.png: Added.
  • platform/ios-simulator/editing/selection/3690703-2-expected.txt: Added.
  • platform/ios-simulator/editing/selection/3690703-expected.png: Added.
  • platform/ios-simulator/editing/selection/3690703-expected.txt: Added.
  • platform/ios-simulator/editing/selection/3690719-expected.png: Added.
  • platform/ios-simulator/editing/selection/3690719-expected.txt: Added.
  • platform/ios-simulator/editing/selection/4397952-expected.png: Added.
  • platform/ios-simulator/editing/selection/4397952-expected.txt: Added.
  • platform/ios-simulator/editing/selection/4889598-expected.png: Added.
  • platform/ios-simulator/editing/selection/4889598-expected.txt: Added.
  • platform/ios-simulator/editing/selection/4932260-1-expected.png: Added.
  • platform/ios-simulator/editing/selection/4932260-1-expected.txt: Added.
  • platform/ios-simulator/editing/selection/4932260-2-expected.png: Added.
  • platform/ios-simulator/editing/selection/4932260-2-expected.txt: Added.
  • platform/ios-simulator/editing/selection/4932260-3-expected.png: Added.
  • platform/ios-simulator/editing/selection/4932260-3-expected.txt: Added.
  • platform/ios-simulator/editing/selection/4947387-expected.png: Added.
  • platform/ios-simulator/editing/selection/4947387-expected.txt: Added.
  • platform/ios-simulator/editing/selection/5195166-2-expected.png: Added.
  • platform/ios-simulator/editing/selection/5195166-2-expected.txt: Added.
  • platform/ios-simulator/editing/selection/7152-1-expected.png: Added.
  • platform/ios-simulator/editing/selection/7152-1-expected.txt: Added.
  • platform/ios-simulator/editing/selection/7152-2-expected.png: Added.
  • platform/ios-simulator/editing/selection/7152-2-expected.txt: Added.
  • platform/ios-simulator/editing/selection/after-line-wrap-expected.png: Added.
  • platform/ios-simulator/editing/selection/after-line-wrap-expected.txt: Added.
  • platform/ios-simulator/editing/selection/extend-by-character-007-expected.txt: Added.
  • platform/ios-simulator/editing/selection/focus_editable_html-expected.png: Added.
  • platform/ios-simulator/editing/selection/focus_editable_html-expected.txt: Added.
  • platform/ios-simulator/editing/selection/iframe-expected.png: Added.
  • platform/ios-simulator/editing/selection/iframe-expected.txt: Added.
  • platform/ios-simulator/editing/selection/image-before-linebreak-expected.png: Added.
  • platform/ios-simulator/editing/selection/image-before-linebreak-expected.txt: Added.
  • platform/ios-simulator/editing/selection/inline-table-expected.png: Added.
  • platform/ios-simulator/editing/selection/inline-table-expected.txt: Added.
  • platform/ios-simulator/editing/selection/leave-requested-block-expected.png: Added.
  • platform/ios-simulator/editing/selection/leave-requested-block-expected.txt: Added.
  • platform/ios-simulator/editing/selection/mixed-editability-10-expected.txt: Added.
  • platform/ios-simulator/editing/selection/mixed-editability-3-expected.png: Added.
  • platform/ios-simulator/editing/selection/mixed-editability-3-expected.txt: Added.
  • platform/ios-simulator/editing/selection/mixed-editability-4-expected.png: Added.
  • platform/ios-simulator/editing/selection/mixed-editability-4-expected.txt: Added.
  • platform/ios-simulator/editing/selection/mixed-editability-5-expected.png: Added.
  • platform/ios-simulator/editing/selection/mixed-editability-5-expected.txt: Added.
  • platform/ios-simulator/editing/selection/mixed-editability-8-expected.png: Added.
  • platform/ios-simulator/editing/selection/mixed-editability-8-expected.txt: Added.
  • platform/ios-simulator/editing/selection/mixed-editability-9-expected.png: Added.
  • platform/ios-simulator/editing/selection/mixed-editability-9-expected.txt: Added.
  • platform/ios-simulator/editing/selection/move-3875618-fix-expected.png: Added.
  • platform/ios-simulator/editing/selection/move-3875618-fix-expected.txt: Added.
  • platform/ios-simulator/editing/selection/move-3875641-fix-expected.png: Added.
  • platform/ios-simulator/editing/selection/move-3875641-fix-expected.txt: Added.
  • platform/ios-simulator/editing/selection/move-backwords-by-word-001-expected.png: Added.
  • platform/ios-simulator/editing/selection/move-backwords-by-word-001-expected.txt: Added.
  • platform/ios-simulator/editing/selection/move-between-blocks-no-001-expected.png: Added.
  • platform/ios-simulator/editing/selection/move-between-blocks-no-001-expected.txt: Added.
  • platform/ios-simulator/editing/selection/move-between-blocks-yes-001-expected.png: Added.
  • platform/ios-simulator/editing/selection/move-between-blocks-yes-001-expected.txt: Added.
  • platform/ios-simulator/editing/selection/move-by-character-001-expected.png: Added.
  • platform/ios-simulator/editing/selection/move-by-character-001-expected.txt: Added.
  • platform/ios-simulator/editing/selection/move-by-character-002-expected.png: Added.
  • platform/ios-simulator/editing/selection/move-by-character-002-expected.txt: Added.
  • platform/ios-simulator/editing/selection/move-by-character-003-expected.png: Added.
  • platform/ios-simulator/editing/selection/move-by-character-003-expected.txt: Added.
  • platform/ios-simulator/editing/selection/move-by-character-004-expected.png: Added.
  • platform/ios-simulator/editing/selection/move-by-character-004-expected.txt: Added.
  • platform/ios-simulator/editing/selection/move-by-character-005-expected.png: Added.
  • platform/ios-simulator/editing/selection/move-by-character-005-expected.txt: Added.
  • platform/ios-simulator/editing/selection/move-by-character-6-expected.png: Added.
  • platform/ios-simulator/editing/selection/move-by-character-6-expected.txt: Added.
  • platform/ios-simulator/editing/selection/move-by-sentence-001-expected.png: Added.
  • platform/ios-simulator/editing/selection/move-by-sentence-001-expected.txt: Added.
  • platform/ios-simulator/editing/selection/move-past-trailing-space-expected.png: Added.
  • platform/ios-simulator/editing/selection/move-past-trailing-space-expected.txt: Added.
  • platform/ios-simulator/editing/selection/previous-line-position-expected.png: Added.
  • platform/ios-simulator/editing/selection/previous-line-position-expected.txt: Added.
  • platform/ios-simulator/editing/selection/range-between-block-and-inline-expected.png: Added.
  • platform/ios-simulator/editing/selection/replaced-boundaries-1-expected.png: Added.
  • platform/ios-simulator/editing/selection/replaced-boundaries-1-expected.txt: Added.
  • platform/ios-simulator/editing/selection/replaced-boundaries-2-expected.png: Added.
  • platform/ios-simulator/editing/selection/replaced-boundaries-2-expected.txt: Added.
  • platform/ios-simulator/editing/selection/replaced-boundaries-3-expected.png: Added.
  • platform/ios-simulator/editing/selection/replaced-boundaries-3-expected.txt: Added.
  • platform/ios-simulator/editing/selection/select-all-005-expected.png: Added.
  • platform/ios-simulator/editing/selection/select-all-005-expected.txt: Added.
  • platform/ios-simulator/editing/selection/select-all-006-expected.png: Added.
  • platform/ios-simulator/editing/selection/select-all-006-expected.txt: Added.
  • platform/ios-simulator/editing/selection/select-box-expected.png: Added.
  • platform/ios-simulator/editing/selection/select-box-expected.txt: Added.
  • platform/ios-simulator/editing/selection/select-element-paragraph-boundary-expected.png: Added.
  • platform/ios-simulator/editing/selection/select-element-paragraph-boundary-expected.txt: Added.
  • platform/ios-simulator/editing/selection/selection-3748164-fix-expected.png: Added.
  • platform/ios-simulator/editing/selection/selection-3748164-fix-expected.txt: Added.
  • platform/ios-simulator/editing/selection/table-caret-1-expected.png: Added.
  • platform/ios-simulator/editing/selection/table-caret-1-expected.txt: Added.
  • platform/ios-simulator/editing/selection/table-caret-2-expected.png: Added.
  • platform/ios-simulator/editing/selection/table-caret-2-expected.txt: Added.
  • platform/ios-simulator/editing/selection/table-caret-3-expected.png: Added.
  • platform/ios-simulator/editing/selection/table-caret-3-expected.txt: Added.
  • platform/ios-simulator/editing/selection/unrendered-space-expected.png: Added.
  • platform/ios-simulator/editing/selection/unrendered-space-expected.txt: Added.
  • platform/ios-simulator/editing/unsupported-content: Added.
  • platform/ios-simulator/editing/unsupported-content/list-type-after-expected.png: Added.
4:54 AM Changeset in webkit [184559] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.4/Source/WebInspectorUI

Unreviewed. Fix make distcheck.

  • GNUmakefile.am:
3:03 AM WebKitGTK/Gardening/Calendar edited by chavarria1991@gmail.com
(diff)
1:21 AM Changeset in webkit [184558] by Csaba Osztrogonác
  • 2 edits in trunk/Tools

Fix tautological-compare warning in AtomicString.cpp
https://bugs.webkit.org/show_bug.cgi?id=145120

Reviewed by Alexey Proskuryakov.

  • TestWebKitAPI/Tests/WTF/AtomicString.cpp:

(TestWebKitAPI::TEST): Removed always true assert.

12:58 AM Changeset in webkit [184557] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.4/Source/WTF

[GTK] Miscellaneous changes for msys/mingw
https://bugs.webkit.org/show_bug.cgi?id=143907

Patch by Milan Crha <mcrha@redhat.com> on 2015-04-17
Reviewed by Carlos Garcia Campos.

  • wtf/Platform.h: Remove autogenerated header not needed by GTK

port.

12:24 AM Changeset in webkit [184556] by Carlos Garcia Campos
  • 8 edits in releases/WebKitGTK/webkit-2.4

[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-04-17
Reviewed by Carlos Garcia Campos.

.:

  • GNUmakefile.am: Command line with expanded resources exceeds 32KB, which

is a limit on Windows. It's better to expand wildcards inside the
python script.

Source/WebInspectorUI:

  • GNUmakefile.am: Command line with expanded resources exceeds 32KB, which

is a limit on Windows. It's better to expand wildcards inside the
python script.

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.

12:22 AM Changeset in webkit [184555] by Chris Dumez
  • 34 edits in trunk/Source

Mark static variables as const when possible
https://bugs.webkit.org/show_bug.cgi?id=145161

Reviewed by Andreas Kling.

Source/WebCore:

  • Modules/mediasession/WebMediaSessionManager.cpp:
  • Modules/mediasource/SourceBuffer.cpp:
  • Modules/webdatabase/SQLException.cpp:
  • dom/DOMCoreException.cpp:
  • inspector/NetworkResourcesData.cpp:
  • loader/icon/IconDatabase.cpp:

(WebCore::urlForLogging):

  • page/AutoscrollController.cpp:
  • page/Page.cpp:
  • platform/RuntimeApplicationChecksIOS.mm:

(WebCore::applicationIsAdSheet):
(WebCore::applicationIsMobileMail):
(WebCore::applicationIsMobileSafari):
(WebCore::applicationIsDumpRenderTree):
(WebCore::applicationIsWebApp):
(WebCore::applicationIsOkCupid):
(WebCore::applicationIsFacebook):
(WebCore::applicationIsEpicurious):
(WebCore::applicationIsDaijisenDictionary):
(WebCore::applicationIsNASAHD):
(WebCore::applicationIsMASH):
(WebCore::applicationIsTheEconomistOnIPhone):
(WebCore::applicationIsWebProcess):
(WebCore::applicationIsIBooksOnIOS):

  • platform/audio/HRTFElevation.cpp:
  • platform/audio/mac/AudioHardwareListenerMac.cpp:

(WebCore::processIsRunningPropertyDescriptor):
(WebCore::outputDevicePropertyDescriptor):

  • platform/graphics/avfoundation/AudioSourceProviderAVFObjC.mm:
  • platform/graphics/ca/GraphicsLayerCA.cpp:
  • platform/graphics/mac/FontCacheMac.mm:

(WebCore::toCoreTextFontWeight):
(WebCore::toAppKitFontWeight):
(WebCore::toNSFontWeight):

  • platform/mac/ScrollAnimatorMac.mm:

(supportsUIStateTransitionProgress):
(supportsExpansionTransitionProgress):
(supportsContentAreaScrolledInDirection):

  • platform/mac/ScrollbarThemeMac.mm:
  • platform/mac/WebCoreNSURLExtras.mm:

(WebCore::dataForURLComponentType):

  • platform/mock/ScrollbarThemeMock.cpp:
  • platform/text/icu/UTextProviderLatin1.cpp:
  • platform/text/ios/LocalizedDateCache.mm:

(WebCore::LocalizedDateCache::calculateMaximumWidth):

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlockFlow::matchedEndLine):

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::paintTranslucentBorderSides):

  • rendering/RenderFrameBase.cpp:

(WebCore::shouldExpandFrame):

  • rendering/RenderTableSection.cpp:
  • rendering/RenderThemeIOS.mm:

(WebCore::getInsetGradient):
(WebCore::getShineGradient):
(WebCore::getShadeGradient):
(WebCore::getConvexGradient):
(WebCore::getConcaveGradient):
(WebCore::getSliderTrackGradient):
(WebCore::getReadonlySliderTrackGradient):
(WebCore::getSliderThumbOpaquePressedGradient):
(WebCore::RenderThemeIOS::paintCheckboxDecorations):
(WebCore::RenderThemeIOS::paintRadioDecorations):

  • rendering/RenderThemeMac.mm:

(WebCore::toFontWeight):
(WebCore::TopGradientInterpolate):
(WebCore::BottomGradientInterpolate):
(WebCore::MainGradientInterpolate):
(WebCore::TrackGradientInterpolate):

Source/WebKit2:

  • Platform/IPC/MessageEncoder.cpp:
  • UIProcess/Cocoa/WebProcessPoolCocoa.mm:

(WebKit::networkProcessLatencyQOS):
(WebKit::networkProcessThroughputQOS):
(WebKit::webProcessLatencyQOS):
(WebKit::webProcessThroughputQOS):

  • UIProcess/Plugins/mac/PluginProcessProxyMac.mm:

(WebKit::PluginProcessProxy::pluginNeedsExecutableHeap):
(WebKit::pluginProcessLatencyQOS):
(WebKit::pluginProcessThroughputQOS):

  • WebProcess/WebPage/WebPage.cpp:

Source/WTF:

  • wtf/dtoa.cpp:

(WTF::pow5mult):

12:20 AM Changeset in webkit [184554] by Gyuyoung Kim
  • 3 edits in trunk/Source/WTF

[EFL] Remove unnecessary PLATFORM(EFL) macro in EFL specific files
https://bugs.webkit.org/show_bug.cgi?id=145160

Reviewed by Csaba Osztrogonác.

  • wtf/efl/EflTypedefs.h: Remove PLATFORM(EFL).
  • wtf/efl/UniquePtrEfl.h: ditto.
12:12 AM Changeset in webkit [184553] by Nikita Vasilyev
  • 8 edits
    1 add in trunk/Source/WebInspectorUI

Web Inspector: Convert stackTrace from raw payload data to an array of CallFrames
https://bugs.webkit.org/show_bug.cgi?id=144982

Reviewed by Joseph Pecoraro.

  • UserInterface/Controllers/LogManager.js:
  • UserInterface/Main.html:
  • UserInterface/Models/CallFrame.js:

(WebInspector.CallFrame.fromPayload):
Consider an empty string url as a native code as it was in
WebInspector.ConsoleMessageView.prototype._firstNonNativeCallFrame

  • UserInterface/Models/ConsoleMessage.js:

(WebInspector.ConsoleMessage):
Convert _stackTrace from an array of payload objects to WebInspector.StackTrace model.

  • UserInterface/Models/StackTrace.js: Added.

(WebInspector.StackTrace):
(WebInspector.StackTrace.prototype.get callFrames):
(WebInspector.StackTrace.prototype.get firstNonNativeCallFrame): Added.
(WebInspector.StackTrace.fromPayload):

  • UserInterface/Test.html:
  • UserInterface/Views/CallFrameView.js:

(WebInspector.CallFrameView):
Don't show a URL when sourceCodeLocation is missing, fix webkit.org/b/145071.

  • UserInterface/Views/ConsoleMessageView.js:

(WebInspector.ConsoleMessageView):
(WebInspector.ConsoleMessageView.prototype.toClipboardString):
(WebInspector.ConsoleMessageView.prototype._appendLocationLink):
(WebInspector.ConsoleMessageView.prototype._appendStackTrace):
(WebInspector.ConsoleMessageView.prototype._shouldShowStackTrace):
(WebInspector.ConsoleMessageView.prototype._linkifyCallFrame):
(WebInspector.ConsoleMessageView.prototype._firstNonNativeCallFrame): Deleted.

May 18, 2015:

11:49 PM Changeset in webkit [184552] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.4/Source/WTF

[W32] weakCompareAndSwap assembler code is not used when building with MinGW GCC
https://bugs.webkit.org/show_bug.cgi?id=143754

Unreviewed.

Allow MinGW-GCC to use GCC asm code for weakCompareAndSwap.

Patch by Руслан Ижбулатов <lrn1986@gmail.com> on 2015-04-16

  • wtf/Atomics.h:

(WTF::x86_mfence):
(WTF::weakCompareAndSwap):

11:43 PM Changeset in webkit [184551] by Carlos Garcia Campos
  • 4 edits in releases/WebKitGTK/webkit-2.4

[W32] Buildsystem may use wrong Python interpreter
https://bugs.webkit.org/show_bug.cgi?id=143755

Patch by Руслан Ижбулатов <lrn1986@gmail.com> on 2015-04-15
Reviewed by Carlos Garcia Campos.

Use confgured Python interpreter

Configure script has tests for Python (AC_PATH_PROG(PYTHON, python)),
use the interpretor they provide (which is overridable by user by
the way of passing PYTHON=... to configure) instead of the first
thing found in PATH.

Otherwise wrong version of Python might be used. Mingw-python,
for example, which has commandline length limit, which results in
errors like:
/usr/bin/env: python: Argument list too long
GNUmakefile:82317: recipe for target
'DerivedSources/WebInspectorUI/GResourceBundle.xml' failed

Source/WebInspectorUI:

  • GNUmakefile.am:

Tools:

  • gtk/GNUmakefile.am:
11:40 PM Changeset in webkit [184550] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.4/Source/WebCore

WebCore uses M_PI_2 instead of piOverTwoDouble
https://bugs.webkit.org/show_bug.cgi?id=143758

Patch by Руслан Ижбулатов <lrn1986@gmail.com> on 2015-04-15
Reviewed by Darin Adler.

Because M_PI_2 is not defined everywhere.
Fixes errors like:

CXX Source/WebCore/platform/graphics/freetype/libPlatformGtk_la-FontPlatformDataFreeType.lo

../webkitgtk-2.4.8/Source/WebCore/platform/graphics/freetype/FontPlatformDataFreeType.cpp: In function 'void WebCore::rotateCairoMatrixForVerticalOrientation(cairo_matrix_t*)':
../webkitgtk-2.4.8/Source/WebCore/platform/graphics/freetype/FontPlatformDataFreeType.cpp:123:34: error: 'M_PI_2' was not declared in this scope

cairo_matrix_rotate(matrix, -M_PI_2);


GNUmakefile:51663: recipe for target 'Source/WebCore/platform/graphics/freetype/libPlatformGtk_la-FontPlatformDataFreeType.lo' failed

  • platform/graphics/freetype/FontPlatformDataFreeType.cpp:

(WebCore::rotateCairoMatrixForVerticalOrientation):

11:35 PM Changeset in webkit [184549] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.4/Source/WebCore

[GTK][W32] FileSystemGtk calls GetModuleHandleExA(), but does not include appropriate header
https://bugs.webkit.org/show_bug.cgi?id=143759

Patch by Руслан Ижбулатов <lrn1986@gmail.com> on 2015-04-15
Reviewed by Darin Adler.

Add missing includes to FileSystemGtk

Needed for GetModuleHandleExA() & Co.

  • platform/gtk/FileSystemGtk.cpp:
11:30 PM Changeset in webkit [184548] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.4/Source/WebCore

[W32] Compile-time assertion failure: RenderBlock_should_stay_small
https://bugs.webkit.org/show_bug.cgi?id=143760

Patch by Руслан Ижбулатов <lrn1986@gmail.com> on 2015-04-15
Reviewed by Carlos Garcia Campos.

Move enum LineLayoutPath in RenderBlock

This removes the bitfield interruption, allowing more efficient
packing.
Otherwise compile-time assertion fails:
In file included from ../webkitgtk-2.4.8/Source/WTF/wtf/PossiblyNull.h:29:0,

from ../webkitgtk-2.4.8/Source/WTF/wtf/FastMalloc.h:27,
from ../webkitgtk-2.4.8/Source/WebCore/config.h:74,
from ../webkitgtk-2.4.8/Source/WebCore/rendering/RenderBlock.cpp:24:

../webkitgtk-2.4.8/Source/WTF/wtf/Assertions.h:326:35: error: static assertion failed: RenderBlock_should_stay_small


../webkitgtk-2.4.8/Source/WebCore/rendering/RenderBlock.cpp:88:1: note: in expansion of macro 'COMPILE_ASSERT'
COMPILE_ASSERT(sizeof(RenderBlock) == sizeof(SameSizeAsRenderBlock), RenderBlock_should_stay_small);

11:24 PM Changeset in webkit [184547] by Carlos Garcia Campos
  • 4 edits in releases/WebKitGTK/webkit-2.4/Source

[W32] GraphicsContextCairoWin.cpp fails to compile: unallowed function template partial specialization
https://bugs.webkit.org/show_bug.cgi?id=143761

Patch by Руслан Ижбулатов <lrn1986@gmail.com> on 2015-04-15
Reviewed by Darin Adler.

Fix deleteObject prototypte, fix header case

Apparently, <T> is unneeded here:

Source/WebCore:

In file included from ../webkitgtk-2.4.8/Source/WebCore/platform/graphics/win/GraphicsContextCairoWin.cpp:35:0:
../webkitgtk-2.4.8/Source/WTF/wtf/win/GdiObject.h:114:58: error: function template partial specialization 'deleteObject<T>' is not allowed
template<typename T> inline void deleteObject<T>(T object)


As a bonus, change GdiObject.h -> GDIObject.h (this matters when
cross-compiling or when using case-sensitive filesystems on W32).

Source/WTF:

In file included from ../webkitgtk-2.4.8/Source/WebCore/platform/graphics/win/GraphicsContextCairoWin.cpp:35:0:
../webkitgtk-2.4.8/Source/WTF/wtf/win/GdiObject.h:114:58: error: function template partial specialization 'deleteObject<T>' is not allowed

template<typename T> inline void deleteObject<T>(T object)


As a bonus, change GdiObject.h -> GDIObject.h (this matters when
cross-compiling or when using case-sensitive filesystems on W32).

  • wtf/win/GDIObject.h:

(WTF::deleteObject):

11:19 PM Changeset in webkit [184546] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.4/Source/ThirdParty/ANGLE

[ANGLE][W32] Buildsystem is hardcoded for UNIX
https://bugs.webkit.org/show_bug.cgi?id=143762

Patch by Руслан Ижбулатов <lrn1986@gmail.com> on 2015-04-15
Reviewed by Carlos Garcia Campos.

Don't hardcode ossource_posix.cpp in the makefile

Compile ossource_posix.cpp or ossource_win.cpp depending on the target.

Otherwise you get an error:
../webkitgtk-2.4.8/Source/ThirdParty/ANGLE/src/compiler/ossource_posix.cpp:13:2: error: #error Trying to build a posix specific file in a non-posix build.

  • GNUmakefile.am:
11:15 PM Changeset in webkit [184545] by Carlos Garcia Campos
  • 5 edits in releases/WebKitGTK/webkit-2.4/Source/WebCore

[W32][GTK] Conflict between NO_ERROR from W32API and GraphicsContext3D
https://bugs.webkit.org/show_bug.cgi?id=143768

Patch by Руслан Ижбулатов <lrn1986@gmail.com> on 2015-04-15
Reviewed by Carlos Garcia Campos.

Work around name conflicts (NO_ERROR)

In file included from /mingw/include/_mingw.h:12:0,

from ../webkitgtk-2.4.8/Source/WTF/wtf/Compiler.h:93,
from ../webkitgtk-2.4.8/Source/WTF/wtf/Platform.h:32,
from ../webkitgtk-2.4.8/Source/JavaScriptCore/config.h:30,
from ../webkitgtk-2.4.8/Source/WebCore/platform/graphics/opengl/Extensions3DOpenGLCommon.cpp:27:

../webkitgtk-2.4.8/Source/WebCore/platform/graphics/opengl/Extensions3DOpenGLCommon.cpp: In member function 'virtual int WebCore::Extensions3DOpenGLCommon::getGraphicsResetStatusARB()':
../webkitgtk-2.4.8/Source/WebCore/platform/graphics/opengl/Extensions3DOpenGLCommon.cpp:144:31: error: expected unqualified-id before numeric constant

return GraphicsContext3D::NO_ERROR;

because NO_ERROR is also a macro defined in Windows headers. Ouch.
Also expand this to the (PLATFORM(GTK) && OS(WINDOWS)) combination,
in addition to the workaround for VERSION already present there.

11:05 PM Changeset in webkit [184544] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.4/Source/WebCore

[W32] Fails to build - missing references to OpenGL context functions
https://bugs.webkit.org/show_bug.cgi?id=143769

Patch by Руслан Ижбулатов <lrn1986@gmail.com> on 2015-04-15
Reviewed by Carlos Garcia Campos.

Also use GL-related files when compiling with MinGW
CXXLD libwebkitgtk-3.0.la
./.libs/../source/webcore/platform/graphics/.libs/libplatform_la-graphicscontext3dprivate.o: In function `GraphicsContext3DPrivate':
/src/mingw/webkitgtk-2.4.8-1\bld/../webkitgtk-2.4.8/Source/WebCore/platform/graphics/GraphicsContext3DPrivate.cpp:59: undefined reference to `ZN7WebCore9GLContext14sharingContextEv'
/src/mingw/webkitgtk-2.4.8-1\bld/../webkitgtk-2.4.8/Source/WebCore/platform/graphics/GraphicsContext3DPrivate.cpp:59: undefined reference to `
ZN7WebCore9GLContext22createOffscreenContextEPS0_'
./.libs/../source/webcore/platform/graphics/.libs/libplatform_la-graphicscontext3dprivate.o: In function `platformContext':
/src/mingw/webkitgtk-2.4.8-1\bld/../webkitgtk-2.4.8/Source/WebCore/platform/graphics/GraphicsContext3DPrivate.cpp:84: undefined reference to `ZN7WebCore9GLContext10getCurrentEv'

Becuase GLContext.cpp is not used, which happens because it's
under TARGET_X11_OR_WAYLAND condition in the GNUmakefile.list.am.
Move TARGET_X11_OR_WAYLAND up a bit to free up GLContext.cpp (now
only protected by USE_OPENGL).

  • GNUmakefile.list.am:
10:55 PM Changeset in webkit [184543] by Gyuyoung Kim
  • 16 edits in trunk/Source/WebCore

Use Ref instead of PassRefPtr in WebCore/bindings
https://bugs.webkit.org/show_bug.cgi?id=144981

Reviewed by Darin Adler.

As a step to purge PassRefPtr, remove PassRefPtr in WebCore/bindings.

No new tests, no behavior changes.

  • bindings/gobject/GObjectNodeFilterCondition.h:

(WebCore::GObjectNodeFilterCondition::create):

  • bindings/gobject/GObjectXPathNSResolver.h:

(WebCore::GObjectXPathNSResolver::create):

  • bindings/js/JSCustomXPathNSResolver.cpp:

(WebCore::JSCustomXPathNSResolver::create):

  • bindings/js/JSCustomXPathNSResolver.h:
  • bindings/js/JSDOMGlobalObjectTask.cpp:
  • bindings/js/JSErrorHandler.h:

(WebCore::JSErrorHandler::create):

  • bindings/js/JSLazyEventListener.cpp:

(WebCore::JSLazyEventListener::createForNode):
(WebCore::JSLazyEventListener::createForDOMWindow):

  • bindings/js/JSLazyEventListener.h:
  • bindings/js/JSMutationCallback.h:

(WebCore::JSMutationCallback::create):

  • bindings/js/JSNodeFilterCondition.h:

(WebCore::JSNodeFilterCondition::create):

  • bindings/js/SerializedScriptValue.cpp:

(WebCore::SerializedScriptValue::create):
(WebCore::SerializedScriptValue::numberValue):
(WebCore::SerializedScriptValue::undefinedValue):
(WebCore::SerializedScriptValue::nullValue):

  • bindings/js/SerializedScriptValue.h:
  • bindings/objc/ObjCEventListener.h:
  • bindings/objc/ObjCEventListener.mm:

(WebCore::ObjCEventListener::wrap):

  • bindings/objc/ObjCNodeFilterCondition.h:

(WebCore::ObjCNodeFilterCondition::create):

9:46 PM Changeset in webkit [184542] by fpizlo@apple.com
  • 4 edits in trunk/Source/JavaScriptCore

Better optimize 'if' with ternaries conditional tests.
https://bugs.webkit.org/show_bug.cgi?id=144136

Reviewed by Benjamin Poulain.

This is the last fix I'll do for this for now. BooleanToNumber(Untyped:) where the input
is proved to be either BoolInt32 or Boolean should be optimized to just masking the
lowest bit.

This is another 37% speed-up on JSRegress/slow-ternaries.

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::compileBooleanToNumber):

8:39 PM Changeset in webkit [184541] by benjamin@webkit.org
  • 2 edits
    1 add in trunk/Source/JavaScriptCore

<rdar://problem/21003555> cloberrize() is wrong for ArithRound because it doesn't account for the arith mode
https://bugs.webkit.org/show_bug.cgi?id=145147

Patch by Benjamin Poulain <bpoulain@apple.com> on 2015-05-18
Reviewed by Filip Pizlo.

Really stupid bug: ArithRound nodes with different rounding modes
were not distinguished and CSE would happily unify with a node of
a different rounding mode.

DFG::clobberize() already support additional data but I was not using it.

  • dfg/DFGClobberize.h:

(JSC::DFG::clobberize):

  • tests/stress/math-round-arith-rounding-mode.js: Added.

(firstCareAboutZeroSecondDoesNot):
(firstDoNotCareAboutZeroSecondDoes):
(warmup):
(verifyNegativeZeroIsPreserved):

7:30 PM Changeset in webkit [184540] by fpizlo@apple.com
  • 4 edits in trunk/Source/JavaScriptCore

Add SpecBoolInt32 type that means "I'm an int and I'm either 0 or 1"
https://bugs.webkit.org/show_bug.cgi?id=145137

Reviewed by Benjamin Poulain.

It's super useful to know if an integer value could be either zero or one. We have an
immediate need for this because of Int32|Boolean uses, where knowing that the Int32 is
either 0 or 1 means that there is no actual polymorphism if you just look at the low bit
(1 behaves like true, 0 behaves like false, and the low bit of 1|true is 1, and the low
bit of 0|false is 0).

We do this by splitting the SpecInt32 type into SpecBoolInt32 and SpecNonBoolInt32. This
change doesn't have any effect on behavior, yet. But it does give us the ability to
predict and prove when values are SpecBoolInt32; it's just we don't leverage this yet.

This is perf-neutral.

  • bytecode/SpeculatedType.cpp:

(JSC::dumpSpeculation):
(JSC::speculationToAbbreviatedString):
(JSC::speculationFromValue):

  • bytecode/SpeculatedType.h:

(JSC::isStringOrStringObjectSpeculation):
(JSC::isBoolInt32Speculation):
(JSC::isInt32Speculation):
(JSC::isInt32OrBooleanSpeculation):

  • dfg/DFGAbstractInterpreterInlines.h:

(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):

7:02 PM Changeset in webkit [184539] by Csaba Osztrogonác
  • 2 edits in trunk/Tools

[EFL] Fix unsequenced warning in MiniBrowser's main.c
https://bugs.webkit.org/show_bug.cgi?id=145123

Reviewed by Gyuyoung Kim.

  • MiniBrowser/efl/main.c:

(on_key_down):

6:49 PM Changeset in webkit [184538] by mmaxfield@apple.com
  • 3 edits in trunk/LayoutTests

Improve coverage of platform/mac/fast/text/font-weights.html
https://bugs.webkit.org/show_bug.cgi?id=145152

Reviewed by Anders Carlsson.

Add coverage of italics.

  • platform/mac/fast/text/font-weights-expected.txt:
  • platform/mac/fast/text/font-weights.html:
6:39 PM Changeset in webkit [184537] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebCore

Fix uninitialized warnings in RealtimeMediaSourceCenterOwr.cpp
https://bugs.webkit.org/show_bug.cgi?id=145119

Reviewed by Gyuyoung Kim.

  • platform/mediastream/openwebrtc/RealtimeMediaSourceCenterOwr.cpp:

(WebCore::RealtimeMediaSourceCenterOwr::validateRequestConstraints):
(WebCore::RealtimeMediaSourceCenterOwr::mediaSourcesAvailable):

6:35 PM Changeset in webkit [184536] by Michael Catanzaro
  • 21 edits in trunk

[CMake] Ignore warnings in system headers
https://bugs.webkit.org/show_bug.cgi?id=144747

Reviewed by Darin Adler.

.:

Require CMake 2.8.12 when compiling the GTK+ port. This is because we use the
target_include_directories command (added in 2.8.11) in GTK-specific cmake files, and also
use the SYSTEM argument to the command (added in 2.8.12).

  • CMakeLists.txt:

Source/JavaScriptCore:

Separate include directories into WebKit project includes and system includes. Suppress all
warnings from headers in system include directories using the SYSTEM argument to
the include_directories command.

  • CMakeLists.txt:
  • PlatformGTK.cmake:

Source/WebCore:

Separate include directories into WebKit project includes and system includes. Suppress all
warnings from headers in system include directories using the SYSTEM argument to
the include_directories command.

  • CMakeLists.txt:
  • PlatformEfl.cmake:
  • PlatformGTK.cmake:
  • PlatformMac.cmake:

Source/WebKit:

Separate include directories into WebKit project includes and system includes. Suppress all
warnings from headers in system include directories using the SYSTEM argument to
the include_directories command.

  • CMakeLists.txt:
  • PlatformMac.cmake:

Source/WebKit2:

Separate include directories into WebKit project includes and system includes. Suppress all
warnings from headers in system include directories using the SYSTEM argument to
the include_directories command.

  • CMakeLists.txt:
  • PlatformEfl.cmake:
  • PlatformGTK.cmake:

Source/WTF:

Separate include directories into WebKit project includes and system includes. Suppress all
warnings from headers in system include directories using the SYSTEM argument to
the include_directories command.

  • wtf/CMakeLists.txt:
  • wtf/PlatformEfl.cmake:
  • wtf/PlatformGTK.cmake:
6:11 PM Changeset in webkit [184535] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebKit2

Fix return-type warnings in test_ewk2_color_picker.cpp
https://bugs.webkit.org/show_bug.cgi?id=145122

Reviewed by Gyuyoung Kim.

  • UIProcess/API/efl/tests/test_ewk2_color_picker.cpp:

(EWK2ColorPickerTest::hideColorPicker):
(EWK2ColorPickerTest::hideColorPickerByRemovingElement):

6:06 PM Changeset in webkit [184534] by matthew_hanson@apple.com
  • 5 edits in branches/safari-601.1.32.2-branch/Source/JavaScriptCore

Merge r184397. rdar://problem/20979071

6:06 PM Changeset in webkit [184533] by matthew_hanson@apple.com
  • 7 edits in branches/safari-601.1.32.2-branch/Source/JavaScriptCore

Merge r184367. rdar://problem/20979071

6:00 PM Changeset in webkit [184532] by mmaxfield@apple.com
  • 2 edits in trunk/LayoutTests

platform/mac/fast/text/font-weights.html is flakey
https://bugs.webkit.org/show_bug.cgi?id=145149

Reviewed by Alexey Proskuryakov.

  • platform/mac/TestExpectations:
5:24 PM Changeset in webkit [184531] by rniwa@webkit.org
  • 2 edits in trunk/Websites/perf.webkit.org

REGRESSION: v2 UI reports a higher memory usage
https://bugs.webkit.org/show_bug.cgi?id=145151

Reviewed by Chris Dumez.

The bug was caused by v2 UI using 1000 to divide the number of bytes instead of by 1024 as done in v1.
Fixed the bug by manually implementing the formatter as done in v1.

  • public/v2/manifest.js:

(App.Manfiest._formatBytes): Added.
(App.Manifest._formatFetchedData): Use _formatByte instead of format('s').

5:09 PM Changeset in webkit [184530] by matthew_hanson@apple.com
  • 7 edits in branches/safari-601.1.32-branch/Source/WebCore

Merge r184513. rdar://problem/21006738

5:09 PM Changeset in webkit [184529] by matthew_hanson@apple.com
  • 4 edits in branches/safari-601.1.32-branch/Source/WebKit2

Merge r184439. rdar://problem/20975978

5:09 PM Changeset in webkit [184528] by matthew_hanson@apple.com
  • 3 edits
    3 adds in branches/safari-601.1.32-branch

Merge r184510. rdar://problem/21004989

5:09 PM Changeset in webkit [184527] by matthew_hanson@apple.com
  • 12 edits
    1 move
    3 adds
    1 delete in branches/safari-601.1.32-branch/Source/JavaScriptCore

Merge r184445. rdar://problem/20979071

5:08 PM Changeset in webkit [184526] by matthew_hanson@apple.com
  • 5 edits in branches/safari-601.1.32-branch/Source/JavaScriptCore

Merge r184397. rdar://problem/20979071

5:08 PM Changeset in webkit [184525] by matthew_hanson@apple.com
  • 15 edits in branches/safari-601.1.32-branch/Source/JavaScriptCore

Merge r184368. rdar://problem/20979071

5:08 PM Changeset in webkit [184524] by matthew_hanson@apple.com
  • 7 edits in branches/safari-601.1.32-branch/Source/JavaScriptCore

Merge r184367. rdar://problem/20979071

5:05 PM Changeset in webkit [184523] by bshafiei@apple.com
  • 5 edits in tags/Safari-601.1.32.2.2/Source

Versioning.

5:03 PM Changeset in webkit [184522] by bshafiei@apple.com
  • 1 copy in tags/Safari-601.1.32.2.2

New tag.

4:56 PM Changeset in webkit [184521] by dbates@webkit.org
  • 2 edits
    1 add in trunk/Tools

prepare-ChangeLog reports function above deleted function as deleted; uninitialized value warning
when staged non-empty file for commit
https://bugs.webkit.org/show_bug.cgi?id=145082

Reviewed by Darin Adler.

Fixes two issues when running prepare-ChangeLog:

  1. The function above a deleted function is reported as changed.
  2. With a Git checkout of WebKit, a Perl uninitialized value warning is emitted when a new non-empty file is staged for commit (e.g. extractLineRangeBeforeAndAfterChange.pl, included in this patch).

Simplify code by using unified diff parsing logic for both SVN and Git support. Currently
prepare-ChangeLog has logic to parse normal diff- and unified diff- chunk range lines as
generated by svn diff and git diff, respectively. The logic for parsing these formats
has correctness issues. We should make use of the VCSUtil::parseChunkRange() to parse
chunk range lines of a unified diff as opposed to having specialized logic in prepare-ChangeLog.
VCSUtil::parseChunkRange() has existing test coverage.

  • Scripts/prepare-ChangeLog:

(generateFunctionLists): Only add a line range to %line_ranges_before_changed, %line_ranges_after_changed
when the beginning line number, ending line number >= 1. Modified for-loop condition to iterate over
all the files represented by %line_ranges_before_changed and %line_ranges_after_changed so that we
examine files that only have deletions. Currently this works as a side effect of the behavior of
extractLineRangeAfterChange(), which always returns a well-formed (though nonsensical) line range for
a change that represents a deletion (e.g. extractLineRangeAfterChange("@@ -166,6 +165,0 @@") => [165, 165]).
(diffCommand): Generate a unified diff instead of a normal diff when using a SVN checkout of WebKit.
(extractLineRangeAfterChange): Remove logic to parse a normal diff chunk range line and write
the logic to parse a unified diff chunk range line in terms of VCSUtil::parseChunkRange().
We return (-1, -1) when the change represents a deletion.
(extractLineRangeBeforeChange): Remove logic to parse a normal diff chunk range line and write
the logic to parse a unified diff chunk range line in terms of VCSUtil::parseChunkRange().
We return (-1, -1) when the change represents an addition.

  • Scripts/webkitperl/prepare-ChangeLog_unittest/extractLineRangeBeforeAndAfterChange.pl: Added;

unit tests.

4:52 PM Changeset in webkit [184520] by bshafiei@apple.com
  • 5 edits in branches/safari-601.1.32.2-branch/Source

Versioning.

4:16 PM Changeset in webkit [184519] by mmaxfield@apple.com
  • 5 edits in trunk/Source

Addressing post-review comments on r184353
https://bugs.webkit.org/show_bug.cgi?id=145146

Reviewed by Benjamin Poulain.

Source/WebCore:

See per-file comments.

No new tests because there is no behavior change.

  • platform/graphics/mac/FontCacheMac.mm:

(WebCore::fontWithFamilySpecialCase): Use equalIgnoringASCIICase() AtomicString overload.

  • rendering/RenderThemeMac.mm:

(WebCore::RenderThemeMac::updateCachedSystemFontDescription): Implement Ben's ideas for
cheaply constructing AtomicStrings only when necessary.

Source/WTF:

Create an overload for equalIgnoringASCIICase() for AtomicString and string literals.

  • wtf/text/AtomicString.h:

(WTF::equalIgnoringASCIICase):

4:01 PM Changeset in webkit [184518] by matthew_hanson@apple.com
  • 2 edits in branches/safari-601.1.32-branch/Source/WebCore

Merge r184417. rdar://problem/20770052

3:53 PM Changeset in webkit [184517] by commit-queue@webkit.org
  • 12 edits in trunk

[ES6] Arrow function syntax. Feature flag for arrow function
https://bugs.webkit.org/show_bug.cgi?id=145108

Patch by Skachkov Alexandr <gskachkov@gmail.com> on 2015-05-18
Reviewed by Ryosuke Niwa.

Added feature flag ENABLE_ES6_ARROWFUNCTION_SYNTAX for arrow function

Source/JavaScriptCore:

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore:

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit/mac:

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

  • Configurations/FeatureDefines.xcconfig:

Source/WTF:

  • wtf/FeatureDefines.h:
3:39 PM Changeset in webkit [184516] by andersca@apple.com
  • 9 edits in trunk/Source/WebKit2

WKWebsiteDataStore should fully support session storage
https://bugs.webkit.org/show_bug.cgi?id=145145
rdar://problem/10690447

Reviewed by Sam Weinig.

Add a session store data type and handle it when clearing and fetching data.

  • Shared/WebsiteData/WebsiteDataTypes.h:
  • UIProcess/API/Cocoa/WKWebsiteDataRecord.h:
  • UIProcess/API/Cocoa/WKWebsiteDataRecord.mm:

(dataTypesToString):

  • UIProcess/API/Cocoa/WKWebsiteDataRecordInternal.h:

(WebKit::toWebsiteDataTypes):
(WebKit::toWKWebsiteDataTypes):

  • UIProcess/API/Cocoa/WKWebsiteDataStore.mm:

(+[WKWebsiteDataStore allWebsiteDataTypes]):

  • UIProcess/Storage/StorageManager.cpp:

(WebKit::StorageManager::SessionStorageNamespace::origins):
(WebKit::StorageManager::SessionStorageNamespace::clearStorageAreasMatchingOrigin):
(WebKit::StorageManager::SessionStorageNamespace::clearAllStorageAreas):
(WebKit::StorageManager::getSessionStorageOrigins):
(WebKit::StorageManager::deleteSessionStorageOrigins):
(WebKit::StorageManager::deleteSessionStorageEntriesForOrigins):

  • UIProcess/Storage/StorageManager.h:
  • UIProcess/WebsiteData/WebsiteDataStore.cpp:

(WebKit::WebsiteDataStore::fetchData):
(WebKit::WebsiteDataStore::removeData):

3:16 PM Changeset in webkit [184515] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebInspectorUI

Web Inspector: Improve Reliability of Closing and Reopening Elements Tab
https://bugs.webkit.org/show_bug.cgi?id=145139

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-05-18
Reviewed by Timothy Hatcher.

  • UserInterface/Views/DOMTreeElement.js:

(WebInspector.DOMTreeElement.prototype.highlightSearchResults):
(WebInspector.DOMTreeElement.prototype.hideSearchHighlights):
(WebInspector.DOMTreeElement.prototype.emphasizeSearchHighlight.animationEnded):
(WebInspector.DOMTreeElement.prototype.emphasizeSearchHighlight):
(WebInspector.DOMTreeElement.prototype._updateChildren):
(WebInspector.DOMTreeElement.prototype.adjustCollapsedRange):
(WebInspector.DOMTreeElement.prototype._startEditingAsHTML.dispose):
(WebInspector.DOMTreeElement.prototype._startEditingAsHTML):
(WebInspector.DOMTreeElement.prototype.updateTitle):
Stop using the delete operator.

  • UserInterface/Views/DOMTreeOutline.js:

(WebInspector.DOMTreeOutline.prototype.setVisible):
Trigger an update when the outline is made visible.

  • UserInterface/Views/FrameDOMTreeContentView.js:

(WebInspector.FrameDOMTreeContentView.prototype._rootDOMNodeAvailable):
Provide a reasonable default selection if there is no body or document element.
For example in an augmented DOM tree.

3:09 PM Changeset in webkit [184514] by beidson@apple.com
  • 2 edits in trunk/Source/WebKit2

Followup to: Networking process on iOS can be suspended and never exit
https://bugs.webkit.org/show_bug.cgi?id=144971.

Unreviewed. Fixing API tests that revealed the unintentional change in behavior.

  • Shared/ChildProcessProxy.cpp:

(WebKit::ChildProcessProxy::shutDownProcess): The on WebProcessProxy code path that this

was adopted from had an m_connection null check, and that null check needs to remain.

3:01 PM Changeset in webkit [184513] by Brent Fulgham
  • 7 edits in trunk/Source/WebCore

REGRESSION(142590): Scroll-snap points are improperly snapping to earlier index values
https://bugs.webkit.org/show_bug.cgi?id=145140
<rdar://problem/21006738>

Reviewed by Beth Dakin.

The new "nearestActiveSnapPoint" logic is firing while scroll snap animations are running. We need
to add an "isScrollSnapInProgress" predicate, much like the existing "isRubberBandInProgress" to avoid
certain "fix-up" logic that we don't want running while we are in the process of moving to a new position.

  • platform/ScrollAnimator.h:

(WebCore::ScrollAnimator::ScrollAnimator::isScrollSnapInProgress): Added.

  • platform/ScrollableArea.cpp:

(WebCore::ScrollableArea::updateScrollSnapState): If we are in the midst of a scroll snap operation,
do not attempt to reset position to the current active snap point.

  • platform/cocoa/ScrollController.h:
  • platform/cocoa/ScrollController.mm:

(WebCore::ScrollController::isScrollSnapInProgress): Added.

  • platform/mac/ScrollAnimatorMac.h:
  • platform/mac/ScrollAnimatorMac.mm:

(WebCore::ScrollAnimatorMac::isScrollSnapInProgress): Added.

2:28 PM Changeset in webkit [184512] by andersca@apple.com
  • 2 edits in trunk/Tools

Add ATS keys to MiniBrowser
https://bugs.webkit.org/show_bug.cgi?id=145141

Reviewed by Sam Weinig.

  • MiniBrowser/mac/Info.plist:
1:45 PM Changeset in webkit [184511] by benjamin@webkit.org
  • 15 edits in trunk/Source/JavaScriptCore

[JSC] When entering a CheckTierUp without OSREntry, force the CheckTierUp for the outer loops with OSR Entry
https://bugs.webkit.org/show_bug.cgi?id=145092

Reviewed by Filip Pizlo.

When we have a hot loop without OSR Entry inside a slower loop that support OSR Entry,
we get the inside loop driving the tierUpCounter and we have very little chance of
doing a CheckTierUp on the outer loop. In turn, this give almost no opportunity to tier
up in the outer loop and OSR Enter there.

This patches changes CheckTierUp to force its outer loops to do a CheckTierUp themselves.

To do that, CheckTierUp sets a flag "nestedTriggerIsSet" to force the outer loop to
enter their CheckTierUp regardless of the tier-up counter.

  • bytecode/ExecutionCounter.cpp:

(JSC::ExecutionCounter<countingVariant>::setThreshold):
This is somewhat unrelated. This assertion is incorrect because it relies on
m_counter, which changes on an other thread.

I have hit it a couple of times with this patch because we are a bit more aggressive
on CheckTierUp. What happens is:
1) ExecutionCounter<countingVariant>::checkIfThresholdCrossedAndSet() first checks

hasCrossedThreshold(), and it is false.

2) On the main thread, the hot loops keeps running and the counter becomes large

enough to cross the threshold.

3) ExecutionCounter<countingVariant>::checkIfThresholdCrossedAndSet() runs the next

test, setThreshold(), where the assertion is. Since the counter is now large enough,
the assertion fails.

  • dfg/DFGAbstractInterpreterInlines.h:

(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):

  • dfg/DFGClobberize.h:

(JSC::DFG::clobberize):

  • dfg/DFGDoesGC.cpp:

(JSC::DFG::doesGC):

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::fixupNode):

  • dfg/DFGJITCode.h:

I used a uint8_t instead of a boolean to make the code generation clearer
in DFGSpeculativeJIT64.

  • dfg/DFGNodeType.h:
  • dfg/DFGOperations.cpp:
  • dfg/DFGOperations.h:
  • dfg/DFGPredictionPropagationPhase.cpp:

(JSC::DFG::PredictionPropagationPhase::propagate):
This is a bit annoying: we have the NaturalLoops analysis that provides us
everything we need to know about loops, but the TierUpCheck are conservative
and set on LoopHint.

To make the two work together, we first find all the CheckTierUp that cannot
OSR enter and we keep a list of all the natural loops containing them.

Then we do a second pass over the LoopHints, get their NaturalLoop, and check
if it contains a loop that cannot OSR enter.

  • dfg/DFGSafeToExecute.h:

(JSC::DFG::safeToExecute):

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGTierUpCheckInjectionPhase.cpp:

(JSC::DFG::TierUpCheckInjectionPhase::run):
(JSC::DFG::TierUpCheckInjectionPhase::canOSREnterAtLoopHint):

1:41 PM Changeset in webkit [184510] by fpizlo@apple.com
  • 3 edits
    3 adds in trunk

Add a Int-or-Boolean speculation to Branch
https://bugs.webkit.org/show_bug.cgi?id=145134

Reviewed by Benjamin Poulain.

Source/JavaScriptCore:

After https://bugs.webkit.org/show_bug.cgi?id=126778 we no longer have a reason not to do the
int-or-boolean optimization that we already do everywhere else.

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::fixupNode):

LayoutTests:

Added the reduced asm.js test case from https://bugs.webkit.org/show_bug.cgi?id=144136. We don't yet
run it as fast as we should but this is a big step.

  • js/regress/script-tests/slow-ternaries.js: Added.

(.f):
(asmMod):

  • js/regress/slow-ternaries-expected.txt: Added.
  • js/regress/slow-ternaries.html: Added.
1:15 PM Changeset in webkit [184509] by matthew_hanson@apple.com
  • 9 edits in branches/safari-601.1.32.2-branch/Source

Merge custom patch. rdar://problem/20950052

12:53 PM Changeset in webkit [184508] by commit-queue@webkit.org
  • 6 edits in trunk/Source/WebInspectorUI

Web Inspector: Tab Restoration incorrectly makes ContentViews "shown" in background tabs
https://bugs.webkit.org/show_bug.cgi?id=145080

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-05-18
Reviewed by Timothy Hatcher.

Many tabs have their own content browser / navigation sidebar. During
state restoration, each tab would immediately try to restore an
appropriate ContentView after the load / navigation. However, in doing
so, we weren't respecting whether or not the Tab the ContentBrowser
was in was hidden or not, so ContentViews in background tags were
still being treated as shown/visible.

This patch changes state restoration to only affect the foreground
tab, and be delayed on all background tabs until that tab is shown.
This reduces the amount of work on load and navigation to just a
single tab instead of all tabs. Most importantly, it avoids having
performing work on ContentBrowsers that are non-visible, so state
restoration only happens for visible ContentBrowsers.

For simplicity, in the case of a delayed tab restoration triggered
by the user switching tabs, we don't try twice (like we occasionally
do on load/reload). We could add back some hueristic here if needed.

  • UserInterface/Base/Main.js:

(WebInspector.contentLoaded):
(WebInspector.activateExtraDomains):
(WebInspector._mainResourceDidChange):
(WebInspector._restoreCookieForOpenTabs):

  • UserInterface/Views/NavigationSidebarPanel.js:
  • UserInterface/Views/TabContentView.js:

(WebInspector.TabContentView.prototype.shown):
(WebInspector.TabContentView.prototype.restoreStateFromCookie):
(WebInspector.TabContentView.prototype.saveStateToCookie):
When asked to restore state, save that logic until the next time the tab is shown.

  • UserInterface/Views/TextEditor.js:

(WebInspector.TextEditor.prototype.get visible):

  • UserInterface/Views/SourceCodeTextEditor.js:

(WebInspector.SourceCodeTextEditor.prototype.editingControllerDidStartEditing):
(WebInspector.SourceCodeTextEditor.prototype._setTypeTokenAnnotatorEnabledState): Deleted.
Although this didn't actually catch the issue, it could potentially
catch other issues in the future. We don't want to enable the annotators
in a non-visible text editor, as it could be a performance issue.

12:35 PM Changeset in webkit [184507] by matthew_hanson@apple.com
  • 5 edits in branches/safari-601.1.32-branch

Merge r183912. rdar://problem/20926150

12:24 PM Changeset in webkit [184506] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebKit2

[GTK] URTBF after r184503.

  • PlatformGTK.cmake:
11:44 AM Changeset in webkit [184505] by Carlos Garcia Campos
  • 4 edits in releases/WebKitGTK/webkit-2.4

[W32] Wrong configure tests for OpenGL on Windows, wrong ifdefs
https://bugs.webkit.org/show_bug.cgi?id=143763

Patch by Руслан Ижбулатов <lrn1986@gmail.com> on 2015-04-15
Reviewed by Carlos Garcia Campos.

Change OpenGL checks to work on W32, add libopengl32

AGain, use OS(WINDOWS) for things that are W32 but not necessarily MSVC.
Don't try to check for dlopen() on W32 (it might be available, but
native code is already here, so use it).

Correctly cast the result of GetProcAddress(), because C++.

Link W32 version to -lOpenGL32 instead of -lGL, otherwise libtool complains:
* Warning: linker path does not have real file for library -lGL.

.:

  • Source/autotools/FindDependencies.m4:

Source/WebCore:

  • platform/graphics/OpenGLShims.cpp:

(WebCore::getProcAddress):

11:24 AM Changeset in webkit [184504] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.4/Source/WebKit/gtk

[W32][GTK] GI fails due to W32-incompatible arguments to the scanner
https://bugs.webkit.org/show_bug.cgi?id=143764

Patch by Руслан Ижбулатов <lrn1986@gmail.com> on 2015-04-15
Reviewed by Carlos Garcia Campos.

Use correct .la files as --library arguments for GI scanner

This way it plays well with W32 gobject-introspection library resolution
code.
Without that one would get things like:
ERROR: can't resolve libraries to shared libraries: webkitgtk-3.0, javascriptcoregtk-3.0

  • GNUmakefile.am:
10:53 AM Changeset in webkit [184503] by beidson@apple.com
  • 12 edits
    1 add in trunk/Source/WebKit2

Networking process on iOS can be suspended and never exit.
<rdar://problem/20368630> and https://bugs.webkit.org/show_bug.cgi?id=144971

Reviewed by Darin Adler.

There's a few issues here.

1 - When the NetworkProcessProxy goes away, it takes its process assertion with it. This causes

the Network process to suspend indefinitely, unable to ever respond to IPC::Connection callbacks.
We already solved this with WebProcess with a watchdog timer keeping both the process assertion
and xpc_connection alive while the process shuts down. This patch expands that to the network
process, and it will be easy to expand that to database and plugin processes doing forward.

2 - All of our child processes either decide to self-terminate or listen for their connection to

close at which point they terminate. This leads to various races. We should
move to a model where the UI process explicitly tells them to shutdown, and this patch starts us
down that path.

  • CMakeLists.txt:
  • DerivedSources.make:
  • WebKit2.xcodeproj/project.pbxproj:
  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::didReceiveMessage): Send ChildProcess messages to ChildProcess.

  • Shared/ChildProcess.cpp:

(WebKit::ChildProcess::shutDown): For now, just terminate the process. In the future have the

process do cleanup work before it is terminated.

  • Shared/ChildProcess.h:
  • Shared/ChildProcess.messages.in: Added.
  • Shared/ChildProcessProxy.cpp:

(WebKit::ChildProcessProxy::shutDownProcess): Set a watchdog and - if possible - explicitly message

the process to ShutDown.

(WebKit::ChildProcessProxy::abortProcessLaunchIfNeeded): Deleted.

  • Shared/ChildProcessProxy.h:
  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::~WebProcessPool): Explicitly tell the network process to shut down.

  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::removeWebPage): Move abortProcessLaunchIfNeeded() and the watchdog timer

code to ChildProcessProxy::shutDownProcess.

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::didReceiveMessage): Send ChildProcess messages to ChildProcess::didReceiveMessage.

10:51 AM Changeset in webkit [184502] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.4

[W32] Configure may misdetect ICU libraries
https://bugs.webkit.org/show_bug.cgi?id=143767

Patch by Руслан Ижбулатов <lrn1986@gmail.com> on 2015-04-15
Reviewed by Carlos Garcia Campos.

Try to use pkg-config to detect ICU libraries.

MinGW packages tend to have .pc files these days. Use them.

ICU naming and structure is complex enough to warrant this, and
asking pkg-config might result in things like
UNICODE_LIBS="-licui18n54 -licuuc54 -licudata54"
instead of the default
UNICODE_LIBS="-licui18n -licuuc"
and pkg-config usually knows best.

  • Source/autotools/FindDependencies.m4:
10:46 AM Changeset in webkit [184501] by akling@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

[JSC] Speed up URL encode/decode by using bitmaps instead of strchr().
<https://webkit.org/b/145115>

Reviewed by Anders Carlsson.

We were calling strchr() for every character when doing URL encoding/decoding and it stood out
like a sore O(n) thumb in Instruments. Optimize this by using a Bitmap<256> instead.

5.5% progression on Kraken/stanford-crypto-sha256-iterative.

  • runtime/JSGlobalObjectFunctions.cpp:

(JSC::makeCharacterBitmap):
(JSC::encode):
(JSC::decode):
(JSC::globalFuncDecodeURI):
(JSC::globalFuncDecodeURIComponent):
(JSC::globalFuncEncodeURI):
(JSC::globalFuncEncodeURIComponent):
(JSC::globalFuncEscape):

10:01 AM Changeset in webkit [184500] by matthew_hanson@apple.com
  • 12 edits
    1 move
    3 adds
    1 delete in branches/safari-601.1.32.2-branch/Source/JavaScriptCore

Merge r184445. rdar://problem/20979071

10:01 AM Changeset in webkit [184499] by matthew_hanson@apple.com
  • 15 edits in branches/safari-601.1.32.2-branch/Source/JavaScriptCore

Merge r184368. rdar://problem/20979071

10:01 AM Changeset in webkit [184498] by matthew_hanson@apple.com
  • 2 edits in branches/safari-601.1.32.2-branch/Source/WebKit2

Merge r184422. rdar://problem/20410944

10:01 AM Changeset in webkit [184497] by matthew_hanson@apple.com
  • 2 edits in branches/safari-601.1.32.2-branch/Source/WebKit2

Merge r184399. rdar://problem/20939743

10:01 AM Changeset in webkit [184496] by matthew_hanson@apple.com
  • 2 edits in branches/safari-601.1.32.2-branch/Source/WebCore

Merge r184360. rdar://problem/20865442

10:01 AM Changeset in webkit [184495] by matthew_hanson@apple.com
  • 10 edits
    1 delete in branches/safari-601.1.32.2-branch

Merge r184353. rdar://problem/20809399

10:00 AM Changeset in webkit [184494] by matthew_hanson@apple.com
  • 9 edits in branches/safari-601.1.32.2-branch

Merge r184341. rdar://problem/20809399

10:00 AM Changeset in webkit [184493] by matthew_hanson@apple.com
  • 2 edits in branches/safari-601.1.32.2-branch/Source/JavaScriptCore

Merge r184289. rdar://problem/18717477

10:00 AM Changeset in webkit [184492] by matthew_hanson@apple.com
  • 2 edits in branches/safari-601.1.32.2-branch/Source/WTF

Merge r184245. rdar://problem/19611967

10:00 AM Changeset in webkit [184491] by matthew_hanson@apple.com
  • 2 edits in branches/safari-601.1.32.2-branch/Source/JavaScriptCore

Merge r184019. rdar://problem/20764509

9:47 AM Changeset in webkit [184490] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.4/Source/WebCore

[W32] windowsVersion() and osVersionForUAString() are outdated
https://bugs.webkit.org/show_bug.cgi?id=143771

Patch by Руслан Ижбулатов <lrn1986@gmail.com> on 2015-04-15
Reviewed by Darin Adler

Update windowsVersion() and osVersionForUAString()

Add support for newer Windows versions to windowsVersion(), handle
all defined cases in osVersionForUAString(), avoiding warnings like
../webkitgtk-2.4.8/Source/WebCore/platform/win/SystemInfo.cpp: In function 'WTF::String WebCore::osVersionForUAString()':
../webkitgtk-2.4.8/Source/WebCore/platform/win/SystemInfo.cpp:94:12: warning: enumeration value 'WindowsCE5' not handled in switch [-Wswitch]
repeated for each unhandled value

  • platform/win/SystemInfo.cpp:

(WebCore::windowsVersion):
(WebCore::osVersionForUAString):

  • platform/win/SystemInfo.h:
9:17 AM Changeset in webkit [184489] by Carlos Garcia Campos
  • 4 edits in releases/WebKitGTK/webkit-2.4/Source

[GTK] Replace M_SQRT2 with sqrtOfTwoDouble
https://bugs.webkit.org/show_bug.cgi?id=143906

Patch by Milan Crha <mcrha@redhat.com> on 2015-04-17
Reviewed by Carlos Garcia Campos.

Source/WebCore:

  • rendering/mathml/RenderMathMLMenclose.cpp:

(WebCore::RenderMathMLMenclose::computePreferredLogicalWidths):
(WebCore::RenderMathMLMenclose::updateLogicalHeight):

Source/WTF:

  • wtf/MathExtras.h:
7:24 AM Changeset in webkit [184488] by matthew_hanson@apple.com
  • 2 edits in branches/safari-601.1.32-branch/Source/WebInspectorUI

Merge r184364. rdar://problem/20965745

7:24 AM Changeset in webkit [184487] by matthew_hanson@apple.com
  • 20 edits in branches/safari-601.1.32-branch

Merge r184358. rdar://problem/19790341

7:24 AM Changeset in webkit [184486] by matthew_hanson@apple.com
  • 10 edits
    1 delete in branches/safari-601.1.32-branch

Merge r184353. rdar://problem/20809399

7:23 AM Changeset in webkit [184485] by matthew_hanson@apple.com
  • 9 edits in branches/safari-601.1.32-branch

Merge r184341. rdar://problem/20809399

7:23 AM Changeset in webkit [184484] by matthew_hanson@apple.com
  • 5 edits
    2 adds in branches/safari-601.1.32-branch

Merge r184308. rdar://problem/20895753

7:23 AM Changeset in webkit [184483] by matthew_hanson@apple.com
  • 7 edits in branches/safari-601.1.32-branch/Source/WebCore

Merge r184304. rdar://problem/19790341

7:23 AM Changeset in webkit [184482] by matthew_hanson@apple.com
  • 3 edits in branches/safari-601.1.32-branch/Source/WebCore

Merge r184296. rdar://problem/20100706

7:23 AM Changeset in webkit [184481] by matthew_hanson@apple.com
  • 11 edits in branches/safari-601.1.32-branch/Source

Merge r184290. rdar://problem/19790341

7:23 AM Changeset in webkit [184480] by matthew_hanson@apple.com
  • 7 edits in branches/safari-601.1.32-branch/Source/WebCore

Merge r184204. rdar://problem/20909871

7:22 AM Changeset in webkit [184479] by matthew_hanson@apple.com
  • 2 edits in branches/safari-601.1.32-branch/Source/WebKit2

Merge r184052. rdar://problem/20890647

7:22 AM Changeset in webkit [184478] by matthew_hanson@apple.com
  • 10 edits
    1 add in branches/safari-601.1.32-branch/Source

Merge r184047. rdar://problem/20890647

7:22 AM Changeset in webkit [184477] by matthew_hanson@apple.com
  • 2 edits in branches/safari-601.1.32-branch/Source/WebKit2

Merge r184024. rdar://problem/19790341

7:22 AM Changeset in webkit [184476] by matthew_hanson@apple.com
  • 2 edits in branches/safari-601.1.32-branch/Source/WebKit2

Merge r184022. rdar://problem/19790341

7:22 AM Changeset in webkit [184475] by matthew_hanson@apple.com
  • 2 edits in branches/safari-601.1.32-branch/Source/WebKit2

Merge r184016. rdar://problem/19790341

7:22 AM Changeset in webkit [184474] by matthew_hanson@apple.com
  • 2 edits in branches/safari-601.1.32-branch/Source/WebKit2

Merge r184014. rdar://problem/19790341

7:21 AM Changeset in webkit [184473] by matthew_hanson@apple.com
  • 2 edits in branches/safari-601.1.32-branch/Source/WebKit2

Merge r184012. rdar://problem/19790341

7:21 AM Changeset in webkit [184472] by matthew_hanson@apple.com
  • 13 edits in branches/safari-601.1.32-branch/Source/WebKit2

Merge r184011. rdar://problem/19790341

7:21 AM Changeset in webkit [184471] by matthew_hanson@apple.com
  • 5 edits in branches/safari-601.1.32-branch/Source/WebKit2

Merge r183978. rdar://problem/20635659

6:54 AM Changeset in webkit [184470] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.4/Source/WebCore

[GTK] Make preprocessor.pm / make_names.pl work under msys/mingw
https://bugs.webkit.org/show_bug.cgi?id=143908

Patch by Milan Crha <mcrha@redhat.com> on 2015-04-17
Reviewed by Carlos Garcia Campos.

  • bindings/scripts/preprocessor.pm:

(applyPreprocessor):

  • dom/make_names.pl:
6:46 AM Changeset in webkit [184469] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.4/Source/WTF

Merge r182848 - Harmonize binary semaphore ifdefs

They should be either OS(WINDOWS) (in which case we'd need
BinarySemaphoreWin.cpp, which is not shipped by WebKitGTK)
or PLATFORM(WIN) (in which case Mutex/ThreadCondition-based
implementation is used).

This fixes errors like:

CXX Source/WTF/wtf/threads/libWTF_la-BinarySemaphore.lo

../webkitgtk-2.4.8/Source/WTF/wtf/threads/BinarySemaphore.cpp: In constructor 'WTF::BinarySemaphore::BinarySemaphore()':
../webkitgtk-2.4.8/Source/WTF/wtf/threads/BinarySemaphore.cpp:34:7: error: class 'WTF::BinarySemaphore' does not have any field named 'm_isSet'

: m_isSet(false)


../webkitgtk-2.4.8/Source/WTF/wtf/threads/BinarySemaphore.cpp: In member function 'void WTF::BinarySemaphore::signal()':
../webkitgtk-2.4.8/Source/WTF/wtf/threads/BinarySemaphore.cpp:44:24: error: 'm_mutex' was not declared in this scope

MutexLocker locker(m_mutex);


../webkitgtk-2.4.8/Source/WTF/wtf/threads/BinarySemaphore.cpp:46:5: error: 'm_isSet' was not declared in this scope

m_isSet = true;

../webkitgtk-2.4.8/Source/WTF/wtf/threads/BinarySemaphore.cpp:47:5: error: 'm_condition' was not declared in this scope

m_condition.signal();

../webkitgtk-2.4.8/Source/WTF/wtf/threads/BinarySemaphore.cpp: In member function 'bool WTF::BinarySemaphore::wait(double)':
../webkitgtk-2.4.8/Source/WTF/wtf/threads/BinarySemaphore.cpp:52:24: error: 'm_mutex' was not declared in this scope

MutexLocker locker(m_mutex);


../webkitgtk-2.4.8/Source/WTF/wtf/threads/BinarySemaphore.cpp:55:13: error: 'm_isSet' was not declared in this scope

while (!m_isSet) {


../webkitgtk-2.4.8/Source/WTF/wtf/threads/BinarySemaphore.cpp:56:21: error: 'm_condition' was not declared in this scope

timedOut = !m_condition.timedWait(m_mutex, absoluteTime);


../webkitgtk-2.4.8/Source/WTF/wtf/threads/BinarySemaphore.cpp:62:5: error: 'm_isSet' was not declared in this scope

m_isSet = false;

GNUmakefile:52762: recipe for target 'Source/WTF/wtf/threads/libWTF_la-BinarySemaphore.lo' failed

[W32] Inconsistent ifdefs in BinarySemaphore.h and BinarySemaphore.cpp
https://bugs.webkit.org/show_bug.cgi?id=143756

Patch by Руслан Ижбулатов <lrn1986@gmail.com> on 2015-04-15
Reviewed by Darin Adler.

  • wtf/threads/BinarySemaphore.h:
6:38 AM Changeset in webkit [184468] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.4/Source/JavaScriptCore

[GTK][Stable] Missing implementation of callToJavaScript/callToNativeFunction with msys/mingw32
https://bugs.webkit.org/show_bug.cgi?id=132856

Patch by Milan Crha <mcrha@redhat.com> on 2015-04-17

  • jit/JITStubsX86.h:
6:11 AM WebKitGTK/2.4.x edited by Carlos Garcia Campos
(diff)
6:09 AM Changeset in webkit [184467] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.4/Source/WebKit2

[GTK] fails to build with --disable-accelerated-compositing
https://bugs.webkit.org/show_bug.cgi?id=137640

Patch by Alexander Tsoy <alexander@tsoy.me> on 2015-05-18
Reviewed by Alberto Garcia.

  • WebProcess/soup/WebProcessSoup.cpp:

(WebKit::WebProcess::platformSetCacheModel):

5:41 AM WebKitGTK/2.4.x edited by Carlos Garcia Campos
(diff)
5:39 AM Changeset in webkit [184466] by Carlos Garcia Campos
  • 16 edits in releases/WebKitGTK/webkit-2.4/Source

[GTK] Add HighDPI support for non-accelerated compositing contents
https://bugs.webkit.org/show_bug.cgi?id=131562

Patch by Owen Taylor <otaylor@redhat.com> on 2014-05-29
Reviewed by Anders Carlsson.

Source/WebCore:

No new tests. This will be tested once we have the proper dependencies in the WebKit testing
JHBuild.

Adapted by Michael Kuhn for 2.4 branch.

  • platform/cairo/WidgetBackingStore.h:

(WebCore::WidgetBackingStore::WidgetBackingStore): Accept a device scale argument.

  • platform/cairo/WidgetBackingStoreCairo.cpp: Use the device scale argument to make the surface the proper size and set the surface device scale.
  • platform/cairo/WidgetBackingStoreCairo.h: Accept a device scale argument.
  • platform/graphics/cairo/CairoUtilities.cpp: Add a new helper to set the device scale if Cairo built against is new enough.
  • platform/graphics/cairo/CairoUtilities.h:
  • platform/gtk/GtkVersioning.h: Add the HAVE_GTK_SCALE_FACTOR macro.
  • platform/gtk/WidgetBackingStoreGtkX11.cpp: Use the device scale argument to make the surface the proper size and set the surface device scale.
  • platform/gtk/WidgetBackingStoreGtkX11.h: Accept a device scale argument.

Source/WebKit2:

Adapted by Michael Kuhn for 2.4 branch.

  • UIProcess/API/gtk/WebKitWebViewBase.cpp:

(deviceScaleFactorChanged): Added this callback to pass scale changes to the page proxy.
(webkitWebViewBaseCreateWebPage): Attach the callback to the notify signal.

  • UIProcess/WebPageProxy.cpp:
  • UIProcess/cairo/BackingStoreCairo.cpp:

(WebKit::WebPageProxy::setCustomDeviceScaleFactor): Do not set a custom device scale factor for cairo when it's not supported.
(WebKit::createBackingStoreForGTK): Pass the scale factor to the WebCore backing store.
(WebKit::BackingStore::incorporateUpdate): Ditto.

5:23 AM Changeset in webkit [184465] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.4/Source/JavaScriptCore

webkit-gtk 2.3.3 fails to build on OS X - Conflicting type "Fixed"
https://bugs.webkit.org/show_bug.cgi?id=126433

Don't include CoreFoundation.h when building the GTK port.

Patch by Philip Chimento <philip.chimento@gmail.com> on 2015-01-06

  • Source/JavaScriptCore/API/WebKitAvailability.h: Add

!defined(BUILDING_GTK) to defined(APPLE).

5:07 AM Changeset in webkit [184464] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.4/Source/WebCore

Merge r183729 - [GTK] API tests crashing on debug builds due to extra unref
https://bugs.webkit.org/show_bug.cgi?id=144508

Reviewed by Mario Sanchez Prada.

The problem is that we were assuming that when a new DOMWindow is
created, the DOM object cache was notified about the previous
DOMWindow being destroyed before objects for the new DOMWindow are
added to the cache. However, that's not always the case and we
only create a DOMWindowObserver for the first DOMWindow. We need
to keep a pointer to the DOMWindow being observed to clear() the
cache and create a new DOMWindowObserver when it changes in the
Frame.

Fixes crashes in several unit tests in debug builds.

  • bindings/gobject/DOMObjectCache.cpp:
5:05 AM Changeset in webkit [184463] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.4/Source/WebCore

Merge r181787 - [GTK] Crash due to empty drag image during drag-and-drop
https://bugs.webkit.org/show_bug.cgi?id=142671

Reviewed by Philippe Normand.

Return early from ImageBuffer constructor if an empty size is
given. This is a speculative fix for a crash while starting a drag
and drop operation, that I haven't been able to reproduce.

  • platform/graphics/cairo/ImageBufferCairo.cpp:

(WebCore::ImageBuffer::ImageBuffer):

5:02 AM Changeset in webkit [184462] by Carlos Garcia Campos
  • 4 edits
    1 add in releases/WebKitGTK/webkit-2.4/Source

Merge r181305 - 8-bit version of weakCompareAndSwap() can cause an infinite loop.
https://webkit.org/b/142513>

Reviewed by Filip Pizlo.

Source/JavaScriptCore:

Added a test that exercises the 8-bit CAS from multiple threads. The threads
will contend to set bits in a large array of bytes using the CAS function.

  • API/tests/CompareAndSwapTest.cpp: Added.

(Bitmap::Bitmap):
(Bitmap::numBits):
(Bitmap::clearAll):
(Bitmap::concurrentTestAndSet):
(setBitThreadFunc):
(testCompareAndSwap):

  • API/tests/testapi.c:

(main):

Source/WTF:

Presently, Bitmap::concurrentTestAndSet() uses the 8-bit version of
weakCompareAndSwap() (which compares and swaps an uint8_t value).
Bitmap::concurrentTestAndSet() has a loop that checks if a bit in the
byte of interest has been set. If not, it will call the 8-bit CAS
function to set the bit.

Under the covers, for ARM, the 8-bit CAS function actually works with a
32-bit CAS. The 8-bit CAS will first fetch the 32-bit value in memory
that should contain the 8-bit value, and check if it contains the
expected byte. If the value in memory doesn't have the expected byte,
it will return early to its caller. The expectation is that the caller
will reload the byte from memory and call the 8-bit CAS again.

Unfortunately, this code path that returns early does not have a
compiler fence. Without a compiler fence, the C++ compiler can
optimize away the reloading of the expected byte value, leaving it
unchanged. As a result, we'll have a infinite loop here that checks a
value that will never change, and the loop will not terminate until the
value changes.

The fix is to eliminate the early return check in the 8-bit CAS, and
have it always call down to the 32-bit CAS. The 32-bit CAS has a
compiler fence which will prevent this issue.

  • wtf/Atomics.h:

(WTF::weakCompareAndSwap):

4:29 AM Changeset in webkit [184461] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.4/Source/WebCore

Merge r181074 - [SOUP] Check TLS errors as soon as they are set in the SoupMessage
https://bugs.webkit.org/show_bug.cgi?id=142244

Reviewed by Sergio Villar Senin.

Source/WebCore:

Connect to the notify::tls-errors signal of SoupMessage to cancel
the load earlier in case of TLS failure, preventing any private
data from being sent to the server before the TLS errors are checked.

  • platform/network/soup/ResourceHandleSoup.cpp:

(WebCore::tlsErrorsChangedCallback):
(WebCore::gotHeadersCallback):
(WebCore::createSoupMessageForHandleAndRequest):

4:27 AM Changeset in webkit [184460] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.4

Merge r180927 - [SOUP] Synchronous XMLHttpRequests can time out when we reach the max connections limit
https://bugs.webkit.org/show_bug.cgi?id=141508

Reviewed by Sergio Villar Senin.

Source/WebCore:

Use SOUP_MESSAGE_IGNORE_CONNECTION_LIMITS flag when loading a
synchronous message instead of increasing the maximum number of
connections allowed if the soup version is recent enough.
The current solution of increasing/decreasing the limits doesn't
always work, because connections are not marked as IDLE in libsoup
until the message is unqueued, but we don't wait for the message
to be unqueued to finish our loads in WebKit, we finish them as
soon as we have finished reading the stream. This causes that
synchronous loads keep blocked in the nested main loop until the
timeout of 10 seconds is fired and the load fails.
Also marked WebCoreSynchronousLoader class as final, the virtual
methods as override and removed the unsused method isSynchronousClient.

  • platform/network/soup/ResourceHandleSoup.cpp:

(WebCore::createSoupMessageForHandleAndRequest):
(WebCore::WebCoreSynchronousLoader::WebCoreSynchronousLoader):
(WebCore::WebCoreSynchronousLoader::isSynchronousClient): Deleted.
(WebCore::WebCoreSynchronousLoader::didReceiveResponse):
(WebCore::WebCoreSynchronousLoader::didReceiveData):
(WebCore::WebCoreSynchronousLoader::didReceiveBuffer):
(WebCore::WebCoreSynchronousLoader::didFinishLoading):
(WebCore::WebCoreSynchronousLoader::didFail):
(WebCore::WebCoreSynchronousLoader::didReceiveAuthenticationChallenge):
(WebCore::WebCoreSynchronousLoader::shouldUseCredentialStorage):

4:24 AM Changeset in webkit [184459] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.4/Source/WebCore

Merge r181744 - [GTK] Scrollbars look bad with GTK+ 3.16
https://bugs.webkit.org/show_bug.cgi?id=140800

Reviewed by Sergio Villar Senin.

Take margin into account when rendering scrollbars. This fixes the
huge scrollbars rendered with GTK+ 3.16. We don't need to check
the GTK+ version because in previous versions the marging were 0,
so the same code just works.

  • platform/gtk/ScrollbarThemeGtk.cpp:

(WebCore::adjustRectAccordingToMargin):
(WebCore::ScrollbarThemeGtk::paintTrackBackground):
(WebCore::ScrollbarThemeGtk::paintThumb):

4:10 AM Changeset in webkit [184458] by Carlos Garcia Campos
  • 6 edits
    4 adds
    2 deletes in releases/WebKitGTK/webkit-2.4

Merge r176930 - [Soup][Curl] HTTP header values should be treated as latin1, not UTF-8
https://bugs.webkit.org/show_bug.cgi?id=128739

Patch by Youenn Fablet <youenn.fablet@crf.canon.fr> on 2014-12-07
Reviewed by Martin Robinson.
Source/WebCore:

Removed UTF-8 conversion of HTTP header values (SOUP and CURL).
Removed unnecessary UTF-8 conversion of HTTP header names (SOUP).
Changed conversion of HTTP method from UTF-8 to ASCII (SOUP and CURL).
Added explicit UTF-8 conversion of Content-Disposition header to compute download suggested filename.

Test: http/tests/xmlhttprequest/response-special-characters.html

  • platform/network/curl/CurlDownload.cpp:

(WebCore::CurlDownload::headerCallback): Removed header conversion.

  • platform/network/curl/ResourceHandleManager.cpp:

(WebCore::headerCallback): Ditto.
(WebCore::ResourceHandleManager::initializeHandle): Changed HTTP method conversion to ASCI.

  • platform/network/soup/ResourceRequestSoup.cpp:

(WebCore::ResourceRequest::updateFromSoupMessageHeaders): Removed header conversion.
(WebCore::ResourceRequest::updateSoupMessage): Changed HTTP method conversion to ASCII.
(WebCore::ResourceRequest::toSoupMessage): Ditto.
(WebCore::ResourceRequest::updateFromSoupMessage):

  • platform/network/soup/ResourceResponseSoup.cpp:

(WebCore::ResourceResponse::updateFromSoupMessageHeaders): Rmoved header conversion.
(WebCore::ResourceResponse::platformSuggestedFilename): Added explicit conversion of contentDisposition to UTF-8.

LayoutTests:

Tests that non ascii header & reason phrase values are correctly retrieved by the web application.
headers.php script sends a response that includes non ascii header value.
not-ascii-status.php sends a response that includes non ascii reason phrase.
Removed specific gtk/efl expectations as now aligned with regular expectation.

  • http/tests/xmlhttprequest/resources/headers.php: Added.
  • http/tests/xmlhttprequest/resources/not-ascii-status.php: Added.
  • http/tests/xmlhttprequest/response-special-characters-expected.txt: Added.
  • http/tests/xmlhttprequest/response-special-characters.html: Added.
  • platform/efl/http/tests/security/contentSecurityPolicy/source-list-parsing-nonascii-expected.txt: Removed.
  • platform/gtk/http/tests/security/contentSecurityPolicy/source-list-parsing-nonascii-expected.txt: Removed.
4:06 AM Changeset in webkit [184457] by Carlos Garcia Campos
  • 4 edits in releases/WebKitGTK/webkit-2.4/Source

Merge r176803 - Serialization of MapData object provides unsafe access to internal types
https://bugs.webkit.org/show_bug.cgi?id=138653

Patch by Oliver Hunt <oliver@apple.com> on 2014-12-04
Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

Converting these ASSERTs into RELEASE_ASSERTs, as it is now obvious
that despite trying hard to be safe in all cases it's simply to easy
to use an iterator in an unsafe state.

  • runtime/MapData.h:

(JSC::MapData::const_iterator::key):
(JSC::MapData::const_iterator::value):

Source/WebCore:

We now keep the value portion of the key/value pair in MapData as a
separate stack. This allows us to maintain the spec semantic of
"atomic" serialisation of the key/value pair without retaining the
use of a potentially invalid iterator.

  • bindings/js/SerializedScriptValue.cpp:

(WebCore::CloneSerializer::serialize):

3:35 AM Changeset in webkit [184456] by Carlos Garcia Campos
  • 3 edits
    2 adds in releases/WebKitGTK/webkit-2.4

Merge r175363 - ASSERTION NOT REACHED because RenderStyle::setWordSpacing() does not handle a Length value of type 'Calculated'.
https://bugs.webkit.org/show_bug.cgi?id=138054.

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2014-10-29
Reviewed by Zalan Bujtas.

Source/WebCore:

A Length of type 'Calculated' can be generated from blending two lengths of
different types. Setting the wordSpacing of the render style should be handled
correctly when the type of the new value is 'Calculated'.

Tests: css3/calculated-word-spacing.html.

Add a case for setting the render style wordSpacing to a <length> of type 'Calculated'.

  • rendering/style/RenderStyle.cpp:

(WebCore::RenderStyle::setWordSpacing):

LayoutTests:

Ensure the render style's wordSpacing can be set correctly when the type of
the new value is 'Calculated'. The 'Calculated' Length value can result from
blending two Length values of different types. And these two Length values
are defined in two consecutive css animation key frames.

  • css3/calculated-word-spacing-expected.txt: Added.
  • css3/calculated-word-spacing.html: Added.
3:32 AM Changeset in webkit [184455] by Carlos Garcia Campos
  • 5 edits
    2 adds in releases/WebKitGTK/webkit-2.4

Merge r175197 - Clamp wordSpacing percentage value.
https://bugs.webkit.org/show_bug.cgi?id=129350.

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2014-10-24
Reviewed by Zalan Bujtas.

Source/WebCore:

When the CSS wordSpacing property is percentage, its value has to be within the
pre-defined min/max values for the CSS length type. This is done the same way
the wordSpacing of type <length> is handled.

Tests: css3/infinite-word-spacing.html.

Move the definitions of minValueForCssLength and maxValueForCssLength from the
.cpp file to the .h file.

  • css/CSSPrimitiveValue.cpp:
  • css/CSSPrimitiveValue.h:

Clamp the wordSpacing value to minValueForCssLength and maxValueForCssLength when
its type is percentage.

  • css/DeprecatedStyleBuilder.cpp:

(WebCore::ApplyPropertyWordSpacing::applyValue):

LayoutTests:

Make sure that setting the CSS style wordSpacing property to very huge percentage
value and blending this value with other values for animating key frames does
not assert or crash. The expectation is to have this huge value to be clamped to
the pre-defined min/max values for the CSS length type. So when blending the clamped
value with other wordSpacing values, the result can't be NaN. This should be very
similar to the case when it is set to a huge <length> value.

  • css3/infinite-word-spacing-expected.txt: Added.
  • css3/infinite-word-spacing.html: Added.
3:23 AM Changeset in webkit [184454] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.4/Source/WebCore

Merge r175177 - Replace INT_MIN/MAX / kFixedPointDenominator with intMin/MaxForLayoutUnit.
https://bugs.webkit.org/show_bug.cgi?id=138047

Reviewed by Andreas Kling.

No change in functionality.

  • css/CSSPrimitiveValue.cpp:
3:19 AM Changeset in webkit [184453] by Carlos Garcia Campos
  • 4 edits
    2 adds in releases/WebKitGTK/webkit-2.4

Merge r175345 - Remove invalid float from RootInlineBox.
https://bugs.webkit.org/show_bug.cgi?id=137707

Reviewed by Antti Koivisto.

In certain cases, floating boxes get attached to the last (root) inline box.
When this particular floating box gets destroyed, it also needs to be detached
from the last inline box.
Source/WebCore:

  1. Introduce RootInlineBox::removeFloat() (vs. RootInlineBox::appendFloat())
  2. Ensure that it is called when the floating box is being destroyed.

Test: fast/inline/crash-when-inline-box-has-invalid-float.html

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::removeFloatingObject):
(WebCore::RenderBlockFlow::markAllDescendantsWithFloatsForLayout): During style recalc, while
tearing down the render tree, we can get to a state where a block element has both inline and block children.
It happens when the style change on an element makes sibling anonymous block wrappers detached.
In that case the markAllDescendantsWithFloatsForLayout() call does not get propagated down on the
block child elements as we return early at the childrenInline() check.

  • rendering/RootInlineBox.h:

(WebCore::RootInlineBox::removeFloat):

LayoutTests:

  • fast/inline/crash-when-inline-box-has-invalid-float-expected.txt: Added.
  • fast/inline/crash-when-inline-box-has-invalid-float.html: Added.
3:14 AM Changeset in webkit [184452] by Carlos Garcia Campos
  • 3 edits
    6 adds in releases/WebKitGTK/webkit-2.4

Merge r175243 - Crash when attempting to perform array iteration on a non-array with numeric keys not initialized.
<https://webkit.org/b/137814>

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

The arrayIteratorNextThunkGenerator() thunk was not checking for the case where
the butterfly may be NULL. This was the source of the crash, and is now fixed.

In addition, it is also not checking for the case where a property named "length"
may have been set on the iterated object. The thunk only checks the butterfly's
publicLength for its iteration operation. Array objects will work fine with this
because it always updates its butterfly's publicLength when its length changes.
In the case of iterable non-Array objects, the "length" property will require a
look up outside of the scope of this thunk. The fix is simply to limit the fast
case checks in this thunk to Array objects.

  • jit/ThunkGenerators.cpp:

(JSC::arrayIteratorNextThunkGenerator):

LayoutTests:

  • js/array-length-shortening-expected.txt: Added.
  • js/array-length-shortening.html: Added.
  • js/for-of-crash-expected.txt: Added.
  • js/for-of-crash.html: Added.
  • js/script-tests/array-length-shortening.js: Added.

(testLengthShortening):
(denseInt32Elements):
(denseDoubleElements):
(denseObjectElements):
(holeyInt32Elements):
(holeyDoubleElements):
(holeyObjectElements):
(arrayStorageInt32Elements):
(arrayStorageDoubleElements):
(arrayStorageObjectElements):
(sparseInt32Elements):
(sparseDoubleElements):
(sparseObjectElements):

  • js/script-tests/for-of-crash.js: Added.

(foo):

3:04 AM Changeset in webkit [184451] by Carlos Garcia Campos
  • 13 edits in releases/WebKitGTK/webkit-2.4

Merge r175078 - String(new Date(Mar 30 2014 01:00:00)) is wrong in CET
https://bugs.webkit.org/show_bug.cgi?id=130967

Patch by Byungseon Shin <sun.shin@lge.com> on 2014-10-22
Reviewed by Mark Lam.

Source/JavaScriptCore:

By definition of calculateLocalTimeOffset, input time should be UTC time.
But there are many cases when input time is based on local time.
So, it gives erroneous results while calculating offset of DST boundary time.
By adding a argument to distinguish UTC and local time, we can get the correct offset.

(JSC::constructDate):
(JSC::callDate):
(JSC::dateUTC):

  • runtime/DateInstance.cpp:

(JSC::DateInstance::calculateGregorianDateTime):
(JSC::DateInstance::calculateGregorianDateTimeUTC):

  • runtime/DatePrototype.cpp:

(JSC::setNewValueFromTimeArgs):
(JSC::setNewValueFromDateArgs):
(JSC::dateProtoFuncSetMilliSeconds):
(JSC::dateProtoFuncSetUTCMilliseconds):
(JSC::dateProtoFuncSetSeconds):
(JSC::dateProtoFuncSetUTCSeconds):
(JSC::dateProtoFuncSetMinutes):
(JSC::dateProtoFuncSetUTCMinutes):
(JSC::dateProtoFuncSetHours):
(JSC::dateProtoFuncSetUTCHours):
(JSC::dateProtoFuncSetDate):
(JSC::dateProtoFuncSetUTCDate):
(JSC::dateProtoFuncSetMonth):
(JSC::dateProtoFuncSetUTCMonth):
(JSC::dateProtoFuncSetFullYear):
(JSC::dateProtoFuncSetUTCFullYear):
(JSC::dateProtoFuncSetYear):

  • runtime/JSDateMath.cpp:

(JSC::localTimeOffset):
(JSC::gregorianDateTimeToMS):
(JSC::msToGregorianDateTime):
(JSC::parseDateFromNullTerminatedCharacters):

  • runtime/JSDateMath.h:
  • runtime/VM.h:

(JSC::LocalTimeOffsetCache::LocalTimeOffsetCache):
(JSC::LocalTimeOffsetCache::reset):
Passing TimeType argument to distingush UTC time and local time.

Source/WTF:

By definition of calculateLocalTimeOffset, input time should be UTC time.
But there are many cases when input time is based on local time.
So, it gives erroneous results while calculating offset of DST boundary time.
By adding a argument to distinguish UTC and local time, we can get the correct offset.

  • wtf/DateMath.cpp:

(WTF::calculateLocalTimeOffset):
(WTF::parseDateFromNullTerminatedCharacters):
Compensate time offset depends on UTC time or local time.

  • wtf/DateMath.h:

Add argument to differenciate UTC or local time.

LayoutTests:

Set latest DST timezone boundary values on
<http://www.timeanddate.com/time/zone/usa/los-angeles>

  • js/dom/script-tests/date-DST-time-cusps.js:
2:40 AM Changeset in webkit [184450] by Carlos Garcia Campos
  • 3 edits
    9 adds in releases/WebKitGTK/webkit-2.4

Merge r175074 - SVG loaded through html <img> can't request to load any external resources.
https://bugs.webkit.org/show_bug.cgi?id=137762.

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2014-10-22
Reviewed by Daniel Bates.

Source/WebCore:

SVG images have unique security rules that prevent them from loading any external
resources. This patch enforces these rules in CachedResourceLoader::canRequest for
all non-data-uri resources.

The fix and the tests are ported but modified a little from the chromium fix:
http://src.chromium.org/viewvc/blink?view=rev&rev=176084

Test: http/tests/security/svg-image-with-cached-remote-image.html

http/tests/security/svg-image-with-css-cross-domain.html

For the SVG image, prevent loading any external sub-resource except for data urls.

  • loader/cache/CachedResourceLoader.cpp:

(WebCore::CachedResourceLoader::canRequest):

LayoutTests:

Ensure that SVG images, which are loaded through the <img> tag or through the
CSS background image, cannot load any external sub-resource except for data-
URL resources (though this doesn't work at the time of writing, see bug #137941).
Also ensure the same rule is enforced on cached resources.

The tests are ported but modified a little from the chromium fix:
http://src.chromium.org/viewvc/blink?view=rev&rev=176084

Set the circle background to orange

  • http/tests/security/resources/image-with-css-cross-domain-circle.css: Added.

(circle):

Set the circle stroke-width = 2 and the circle stroke = red

  • http/tests/security/resources/image-with-css-cross-domain-circle2.css: Added.

(circle):

This svg references the two css files: one is relative path and the other is absolute path

  • http/tests/security/resources/image-with-css-cross-domain.svg: Added.

This svg references an external image.

  • http/tests/security/resources/image-with-remote-image.svg: Added.

A helper css which sets the formatting style for some html tags

  • http/tests/security/svg-image-with-css-cross-domain.css: Added.

(span):
(span.circle-css-cross-domain):
(embed):
(iframe):

Test the svg which is referenced as a cached image by an <object> tag, does not load
external sub-resource.

  • http/tests/security/svg-image-with-cached-remote-image-expected.html: Added.
  • http/tests/security/svg-image-with-cached-remote-image.html: Added.

Test loading sub-resources for an svg which is included in the html by different ways
and which references external css files.
Ensure the image object does not load any external sub-resources.

  • http/tests/security/svg-image-with-css-cross-domain-expected.html: Added.
  • http/tests/security/svg-image-with-css-cross-domain.html: Added.

May 17, 2015:

11:31 PM Changeset in webkit [184449] by Carlos Garcia Campos
  • 8 edits
    1 copy in trunk/Source/WebKit2

Network Cache: Make Data::adoptMap take the ownership of the file descriptor
https://bugs.webkit.org/show_bug.cgi?id=144950

Reviewed by Antti Koivisto.

It will be required to implement ShareableResource for soup
network backend. Also move the common code of Data to a common
file and add mapToFile(). The mapFile version that receives a file
descriptor has been renamed to adoptAndMapFile().

  • CMakeLists.txt: Add new file to compilation.
  • NetworkProcess/cache/NetworkCacheBlobStorage.cpp:

(WebKit::NetworkCache::BlobStorage::add): Use mapToFile().

  • NetworkProcess/cache/NetworkCacheData.cpp: Added.

(WebKit::NetworkCache::Data::mapToFile): Write the data to the
given file and map it.
(WebKit::NetworkCache::mapFile):
(WebKit::NetworkCache::adoptAndMapFile):
(WebKit::NetworkCache::computeSHA1):
(WebKit::NetworkCache::bytesEqual):

  • NetworkProcess/cache/NetworkCacheData.h:
  • NetworkProcess/cache/NetworkCacheDataCocoa.mm:

(WebKit::NetworkCache::Data::adoptMap): Close the file descriptor.

  • NetworkProcess/cache/NetworkCacheDataSoup.cpp:

(WebKit::NetworkCache::Data::Data): Use a constructor that
receives a file descriptor instead of the one receiving
Backing. If the file descriptor is not -1 then the Data is a map.
(WebKit::NetworkCache::MapWrapper::~MapWrapper): Also close the
file descriptor.
(WebKit::NetworkCache::Data::adoptMap): Pass the file descriptor
to the MapWrapper and create the Data passing the file descriptor.

  • UIProcess/API/APIUserContentExtensionStore.cpp:

(API::openAndMapContentExtension): Use mapFile that receives a
file path.
(API::compiledToFile): Use adoptAndMapFile() and don't close the
descriptor.

11:26 PM Changeset in webkit [184448] by benjamin@webkit.org
  • 6 edits in trunk/Source

Do not use fastMallocGoodSize anywhere
https://bugs.webkit.org/show_bug.cgi?id=145103

Reviewed by Michael Saboff.

Source/JavaScriptCore:

  • assembler/AssemblerBuffer.h:

(JSC::AssemblerData::AssemblerData):
(JSC::AssemblerData::grow):

Source/WTF:

It is silly we see fastMallocGoodSize in profiles, it does absolutely nothing.

This patch keeps fastMallocGoodSize() around for older code linking
with newer WebKit, but remove any use of it inside WebKit.

  • wtf/FastMalloc.cpp:

(WTF::fastMallocGoodSize):

  • wtf/FastMalloc.h:
  • wtf/Vector.h:

(WTF::VectorBufferBase::allocateBuffer):
(WTF::VectorBufferBase::tryAllocateBuffer):
(WTF::VectorBufferBase::reallocateBuffer):

11:23 PM Changeset in webkit [184447] by benjamin@webkit.org
  • 4 edits
    3 adds in trunk

[JSC] Make StringRecursionChecker faster in the simple cases without any recursion
https://bugs.webkit.org/show_bug.cgi?id=145102

Reviewed by Darin Adler.

Source/JavaScriptCore:

In general, the array targeted by Array.toString() or Array.join() are pretty
simple. In those simple cases, we spend as much time in StringRecursionChecker
as we do on the actual operation.

The reason for this is the HashSet stringRecursionCheckVisitedObjects used
to detect recursion. We are constantly adding and removing objects which
dirty buckets and force constant rehash.

This patch adds a simple shortcut for those simple case: in addition to the HashSet,
we keep a pointer to the root object of the recursion.
In the vast majority of cases, we no longer touch the HashSet at all.

This patch is a 12% progression on the overall score of ArrayWeighted.

  • runtime/StringRecursionChecker.h:

(JSC::StringRecursionChecker::performCheck):
(JSC::StringRecursionChecker::~StringRecursionChecker):

  • runtime/VM.h:

LayoutTests:

Improve the coverage a tiny bit.

  • js/array-string-recursion-expected.txt: Added.
  • js/array-string-recursion.html: Added.
  • js/script-tests/array-string-recursion.js: Added.
11:16 PM Changeset in webkit [184446] by Manuel Rego Casasnovas
  • 3 edits
    2 adds in trunk

[CSS Grid Layout] Add scrollbar width in intrinsic logical widths computation
https://bugs.webkit.org/show_bug.cgi?id=145021

Source/WebCore:

Like for flexboxes we've to take into account the scrollbar logical
width while computing the intrinsic min and max logical widths.

Reviewed by Sergio Villar Senin.

Test: fast/css-grid-layout/compute-intrinsic-widths-scrollbar.html

  • rendering/RenderGrid.cpp:

(WebCore::RenderGrid::computeIntrinsicLogicalWidths): Add scrollbar
logical width.

LayoutTests:

Reviewed by Sergio Villar Senin.

  • fast/css-grid-layout/compute-intrinsic-widths-scrollbar-expected.txt: Added.
  • fast/css-grid-layout/compute-intrinsic-widths-scrollbar.html: Added.
8:39 PM Changeset in webkit [184445] by fpizlo@apple.com
  • 12 edits
    4 adds
    2 deletes in trunk/Source/JavaScriptCore

Insert store barriers late so that IR transformations don't have to worry about them
https://bugs.webkit.org/show_bug.cgi?id=145015

Reviewed by Geoffrey Garen.

We have had three kinds of bugs with store barriers. For the sake of discussion we say
that a store barrier is needed when we have something like:

base.field = value


  • We sometimes fail to realize that we could remove a barrier when value is a non-cell. This might happen if we prove value to be a non-cell even though in the FixupPhase it wasn't predicted non-cell.


  • We sometimes have a barrier in the wrong place after object allocation sinking. We might sink an allocation to just above the store, but that puts it just after the StoreBarrier that FixupPhase inserted.


  • We don't remove redundant barriers across basic blocks.


This comprehensively fixes these issues by doing store barrier insertion late, and
removing the store barrier elision phase. Store barrier insertion uses an epoch-based
algorithm to determine when stores need barriers. Briefly, a barrier is not needed if
base is in the current GC epoch (i.e. was the last object that we allocated or had a
barrier since last GC) or if base has a newer GC epoch than value (i.e. value would have
always been allocated before base). We do conservative things when merging epoch state
between basic blocks, and we only do such inter-block removal in the FTL. FTL also
queries AI to determine what type we've proved about value, and avoids barriers when
value is not a cell. FixupPhase still inserts type checks on some stores, to maximize
the likelihood that this AI-based removal is effective.

Rolling back in after fixing some debug build test failures.

(JSC::DFG::BlockMap::at):

  • dfg/DFGConstantFoldingPhase.cpp:

(JSC::DFG::ConstantFoldingPhase::emitPutByOffset):

  • dfg/DFGEpoch.h:

(JSC::DFG::Epoch::operator<):
(JSC::DFG::Epoch::operator>):
(JSC::DFG::Epoch::operator<=):
(JSC::DFG::Epoch::operator>=):

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::fixupNode):
(JSC::DFG::FixupPhase::speculateForBarrier):
(JSC::DFG::FixupPhase::insertStoreBarrier): Deleted.

  • dfg/DFGPlan.cpp:

(JSC::DFG::Plan::compileInThreadImpl):

  • dfg/DFGStoreBarrierElisionPhase.cpp: Removed.
  • dfg/DFGStoreBarrierElisionPhase.h: Removed.
  • dfg/DFGStoreBarrierInsertionPhase.cpp: Added.

(JSC::DFG::performFastStoreBarrierInsertion):
(JSC::DFG::performGlobalStoreBarrierInsertion):

  • dfg/DFGStoreBarrierInsertionPhase.h: Added.
  • ftl/FTLOperations.cpp:

(JSC::FTL::operationMaterializeObjectInOSR): Fix an unrelated debug-only bug.

  • tests/stress/load-varargs-then-inlined-call-and-exit.js: Test for that debug-only bug.
  • tests/stress/load-varargs-then-inlined-call-and-exit-strict.js: Strict version of that test.
11:44 AM Changeset in webkit [184444] by youenn.fablet@crf.canon.fr
  • 10 edits in trunk/Source/WebCore

[Streams API] Delegate ReadableStreamReader reference counting to ReadableStream
https://bugs.webkit.org/show_bug.cgi?id=144907

Reviewed by Darin Adler.

Changed the link between readadable stream and reader.
Controller ref()/deref() now increments/decrements its stream ref counter, similarly to ReadableStreamController.
This ensures that even if JS scripts do not keep track of the readable stream,
the readable stream will not be disposed as long as the JS script has access to its reader.

All readers of a given stream are kept by the stream, either in an array (for released readers)
or and in ReadableStream::m_reader for the active reader.
This removes the need for the code synchronizing stream and reader.

As a reader can now already count on its stream, the reader no longer needs to store the error in errored state.
Removal of ReadableJSStream::Reader as closed promise rejection error is directly retrieved from the ReadableStream.
Moved the creation of reader directly in ReadableStream.

Next step should be to remove ReadableStreamReader::m_state and to delegate the handling of ReadableStreamReader closed promise callbacks to ReadableStream.

No change in behavior.

  • Modules/streams/ReadableStream.cpp:

(WebCore::ReadableStream::changeStateToClosed):
(WebCore::ReadableStream::changeStateToErrored):
(WebCore::ReadableStream::getReader):

  • Modules/streams/ReadableStream.h:

(WebCore::ReadableStream::reader):

  • Modules/streams/ReadableStreamReader.cpp:

(WebCore::ReadableStreamReader::clean):
(WebCore::ReadableStreamReader::ref):
(WebCore::ReadableStreamReader::deref):
(WebCore::ReadableStreamReader::closed):
(WebCore::ReadableStreamReader::changeStateToClosed):
(WebCore::ReadableStreamReader::changeStateToErrored):

  • Modules/streams/ReadableStreamReader.h:

(WebCore::ReadableStreamReader::ReadableStreamReader):

  • Modules/streams/ReadableStreamReader.idl:
  • bindings/js/JSReadableStreamCustom.cpp:

(WebCore::JSReadableStream::getReader):

  • bindings/js/JSReadableStreamReaderCustom.cpp:

(WebCore::JSReadableStreamReader::closed):
(WebCore::constructJSReadableStreamReader):

  • bindings/js/ReadableJSStream.cpp:

(WebCore::ReadableJSStream::storeError):
(WebCore::ReadableJSStream::ReadableJSStream): Deleted.

  • bindings/js/ReadableJSStream.h:
10:39 AM Changeset in webkit [184443] by ap@apple.com
  • 2 edits in trunk/Source/WebCore

Crash when uploading huge files to YouTube or Google Drive
https://bugs.webkit.org/show_bug.cgi?id=145083
rdar://problem/15468529

Reviewed by Darin Adler.

This fixes the crash, but uploading will fail.

  • fileapi/FileReaderLoader.cpp:

(WebCore::FileReaderLoader::start): Tell SubresourceLoader to not store a copy of
all received data, FileReaderLoader has its own buffer.
(WebCore::FileReaderLoader::didReceiveResponse): Fixed a bounds check - not every
64-bit value that doesn't fit into 32 bits is negative. With this, FileReader fails
on huge files right away, as intended.
(WebCore::FileReaderLoader::didReceiveData): Fixed multiple bugs in code that's
executed when size is not available upfront. This is the code that used to crash,
but with the above fix, it's not executed by YouTube.
Not only overflow was handled incorrectly, but even simply growing a buffer for
append was buggy.

10:36 AM Changeset in webkit [184442] by ddkilzer@apple.com
  • 2 edits in trunk/Tools

bisect-builds: Add 'retry' option when prompting whether the bug reproduced
<http://webkit.org/b/145100>

Reviewed by Darin Adler.

  • Scripts/bisect-builds:
  • Add PROMPT_ANSWER_* constants for yes/no/retry/broken prompt.
  • Switch to using PROMPT_RESPONSE_* constants when testing the value of $didReproduceBug.
  • Add do { } while loops to implement 'retry' mode.

(promptForTest):

  • Switch to returning PROMPT_RESPONSE_* constants.
  • Add support for 'retry' response.
Note: See TracTimeline for information about the timeline view.