WebKit-https.git
3 years agoAnother build fix attempt.
andersca@apple.com [Thu, 4 Aug 2016 22:38:18 +0000 (22:38 +0000)]
Another build fix attempt.

* bindings/gobject/WebKitDOMDeprecated.cpp:

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

3 years agoAdd some extra test coverage for active touch event handler on subdocuments
benjamin@webkit.org [Thu, 4 Aug 2016 22:37:14 +0000 (22:37 +0000)]
Add some extra test coverage for active touch event handler on subdocuments
https://bugs.webkit.org/show_bug.cgi?id=160276

Reviewed by Alex Christensen.

I wrote some tests while chasing a bug.
Documents are handled differently than other EventTarget. We had no test coverage
for that.

* fast/events/touch/ios/touch-event-listeners-on-detached-document-expected.txt: Added.
* fast/events/touch/ios/touch-event-listeners-on-detached-document.html: Added.
* fast/events/touch/ios/touch-event-listeners-on-subdocument-then-detach-from-frame-expected.txt: Added.
* fast/events/touch/ios/touch-event-listeners-on-subdocument-then-detach-from-frame.html: Added.
* fast/events/touch/ios/touch-event-listeners-on-subdocuments-expected.txt: Added.
* fast/events/touch/ios/touch-event-listeners-on-subdocuments.html: Added.
* fast/events/touch/ios/touch-event-listeners-on-template-document-expected.txt: Added.
* fast/events/touch/ios/touch-event-listeners-on-template-document.html: Added.

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

3 years agoAdd long, boolean, double, and String Media Constraint classes
commit-queue@webkit.org [Thu, 4 Aug 2016 22:34:26 +0000 (22:34 +0000)]
Add long, boolean, double, and String Media Constraint classes
https://bugs.webkit.org/show_bug.cgi?id=160524
<rdar://problem/27685132>

Patch by George Ruan <gruan@apple.com> on 2016-08-04
Reviewed by Eric Carlson.

No new tests. The current patch is untestable, but functionality
will be tested in a future patch.

* WebCore.xcodeproj/project.pbxproj:
* platform/mediastream/MediaConstraints.cpp: Added.
(WebCore::BaseConstraint::create): Initializes min, max, exact, ideal
value of constraint with dictionary.
(WebCore::BaseConstraint::createEmptyDerivedConstraint): Factory
for all derived constraints.
(WebCore::LongConstraint::create): Creates LongConstraint with name.
(WebCore::LongConstraint::setMin): Sets mandatory min constraint value.
(WebCore::LongConstraint::setMax): Sets mandatory max constraint value.
(WebCore::LongConstraint::setExact): Sets mandatory exact constraint
value.
(WebCore::LongConstraint::setIdeal): Sets optional ideal constraint
value.
(WebCore::LongConstraint::initializeWithDictionary): Parses user input
and sets min, max, exact, ideal values.
(WebCore::DoubleConstraint::create): Ditto.
(WebCore::DoubleConstraint::setMin): Ditto.
(WebCore::DoubleConstraint::setMax): Ditto.
(WebCore::DoubleConstraint::setExact): Ditto.
(WebCore::DoubleConstraint::setIdeal): Ditto.
(WebCore::DoubleConstraint::initializeWithDictionary): Ditto.
(WebCore::BooleanConstraint::create): Ditto.
(WebCore::BooleanConstraint::setExact): Ditto.
(WebCore::BooleanConstraint::setIdeal): Ditto.
(WebCore::BooleanConstraint::initializeWithDictionary): Ditto.
(WebCore::StringConstraint::create): Ditto.
(WebCore::StringConstraint::setExact): Ditto.
(WebCore::StringConstraint::setIdeal): Ditto.
(WebCore::StringConstraint::initializeWithDictionary): Ditto.
* platform/mediastream/MediaConstraints.h: Add abstract classes
BaseConstraint and NumericConstraint, and final classes
DoubleConstraint, LongConstraint, BooleanConstraint, and
StringConstraint.
(WebCore::BaseConstraint::~BaseConstraint):
(WebCore::BaseConstraint::name): Name of constraint associated with.
(WebCore::BaseConstraint::BaseConstraint):
(WebCore::NumericConstraint::setHasMin): Sets min constraint value.
(WebCore::NumericConstraint::setHasMax): Sets max constraint value.
(WebCore::NumericConstraint::setHasExact): Sets exact constraint
value.
(WebCore::NumericConstraint::setHasIdeal): Sets ideal constraint
value.
(WebCore::NumericConstraint::hasMin): Determines whether constraint
has a minimum value.
(WebCore::NumericConstraint::hasMax): Determines whether constraint
has a maximum value.
(WebCore::NumericConstraint::hasExact): Determines whether constraint
has an exact value.
(WebCore::NumericConstraint::NumericConstraint):

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

3 years agoTry to fix the GTK+ build.
andersca@apple.com [Thu, 4 Aug 2016 22:05:00 +0000 (22:05 +0000)]
Try to fix the GTK+ build.

* bindings/gobject/WebKitDOMDeprecated.cpp:
(webkit_dom_document_get_elements_by_tag_name):
(webkit_dom_document_get_elements_by_tag_name_ns):
(webkit_dom_document_get_elements_by_class_name):
(webkit_dom_element_get_elements_by_tag_name):
(webkit_dom_element_get_elements_by_tag_name_ns):
(webkit_dom_element_get_elements_by_class_name):

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

3 years agoRebaseline http/tests/security/cross-frame-access-put.html after r204126.
ryanhaddad@apple.com [Thu, 4 Aug 2016 22:02:33 +0000 (22:02 +0000)]
Rebaseline http/tests/security/cross-frame-access-put.html after r204126.

Unreviewed test gardening.

* http/tests/security/cross-frame-access-put-expected.txt:

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

3 years agoAdd support for wrapper types in dictionaries
cdumez@apple.com [Thu, 4 Aug 2016 22:02:21 +0000 (22:02 +0000)]
Add support for wrapper types in dictionaries
https://bugs.webkit.org/show_bug.cgi?id=160487

Reviewed by Sam Weinig.

Add support for nullable wrapper types in dictionaries.
A TypeError is thrown if the conversion fails.

No new tests, updated bindings tests.

* bindings/js/JSDOMConvert.h:
(WebCore::convertWrapperType):
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateDictionaryImplementationContent):
* bindings/scripts/IDLParser.pm:
(parseDictionaryMember):
* bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::convert<TestObj::Dictionary>):
* bindings/scripts/test/TestObj.idl:

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

3 years ago[Mac][cmake] Fix the build after Objective-C bindings generator removal
ossy@webkit.org [Thu, 4 Aug 2016 21:45:52 +0000 (21:45 +0000)]
[Mac][cmake] Fix the build after Objective-C bindings generator removal
https://bugs.webkit.org/show_bug.cgi?id=160545

.:

Reviewed by Alex Christensen.

* Source/cmake/WebKitMacros.cmake:

Source/WebCore:

Reviewed by Alex Christensen.

* CMakeLists.txt:
* PlatformMac.cmake:

Source/WebKit:

Reviewed by Alex Christensen.

* PlatformMac.cmake:

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

3 years agoAttempt to fix Windows build after r204134.
ryanhaddad@apple.com [Thu, 4 Aug 2016 21:34:12 +0000 (21:34 +0000)]
Attempt to fix Windows build after r204134.

Unreviewed build fix.

* dom/DOMAllInOne.cpp:

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

3 years agoASSERTION FAILED: !hasInstanceValueNode->isCellConstant() || defaultHasInstanceFuncti...
keith_miller@apple.com [Thu, 4 Aug 2016 21:11:16 +0000 (21:11 +0000)]
ASSERTION FAILED: !hasInstanceValueNode->isCellConstant() || defaultHasInstanceFunction == hasInstanceValueNode->asCell()
https://bugs.webkit.org/show_bug.cgi?id=160562
JSTests:

Reviewed by Mark Lam.

* stress/instanceof-late-constant-folding.js: Added.
(Constructor):
(value):
(body):

Source/JavaScriptCore:

<rdar://problem/27704825>

Reviewed by Mark Lam.

This patch fixes an issue where we would emit incorrect code in the DFG when constant folding would
convert a GetByOffset into a constant late in compilation. Additionally, it removes invalid assertions
associated with the assumption that this could not happen.

* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileOverridesHasInstance): Deleted.

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

3 years agoOptimize bot watcher's dashboard a little
ap@apple.com [Thu, 4 Aug 2016 21:07:21 +0000 (21:07 +0000)]
Optimize bot watcher's dashboard a little
https://bugs.webkit.org/show_bug.cgi?id=160515
rdar://problem/26096900

Reviewed by Lucas Forschler.

Made re-sorting after loading an iteration more efficient.

* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotIteration.js:
(BuildbotIteration.prototype._updateWithData):
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotQueue.js:
(BuildbotQueue.prototype.updateIterationPosition):

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

3 years agoRemove unused intrinsic member of NativeExecutable
keith_miller@apple.com [Thu, 4 Aug 2016 20:59:49 +0000 (20:59 +0000)]
Remove unused intrinsic member of NativeExecutable
https://bugs.webkit.org/show_bug.cgi?id=160560

Reviewed by Saam Barati.

NativeExecutable has an Intrinsic member. It appears that this member is never
used. Instead we use the Intrinsic member NativeExecutable's super class,
ExecutableBase.

* runtime/Executable.h:

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

3 years agoWeb Inspector: Popover's arrow is misplaced
mattbaker@apple.com [Thu, 4 Aug 2016 20:51:57 +0000 (20:51 +0000)]
Web Inspector: Popover's arrow is misplaced
https://bugs.webkit.org/show_bug.cgi?id=151236
<rdar://problem/23527296>

Reviewed by Brian Burg.

* UserInterface/Views/Popover.js:
(WebInspector.Popover.prototype._setAnchorPoint):
Drive-by style fix.
(WebInspector.Popover.prototype._drawFrame):
Position the arrow so that the arrow head doesn't overlap the
rounded corners of its edge.

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

3 years agoCrash under NavigationState::NavigationClient::processDidCrash()
cdumez@apple.com [Thu, 4 Aug 2016 20:33:53 +0000 (20:33 +0000)]
Crash under NavigationState::NavigationClient::processDidCrash()
https://bugs.webkit.org/show_bug.cgi?id=160563
<rdar://problem/19814215>

Reviewed by Sam Weinig.

When WebPageProxy::close() gets called, make sure we destroy the page's
navigationClient. If we don't then the navigationClient can outlive the
navigationState, causing crashes when navigationClient tries to use its
stale navigationState member reference later on. This happens when the
WebPageProxy outlives its WKWebView because:
1. WebPageProxy owns the navigationClient
2. WKWebView owns the navigationState
3. navigationClient has a reference to the navigationState as member.

WebPageProxy can outlive the WKWebView because it is refCounted. It
can happen for example when the client application uses the
RelatedPage API as this extend the lifetime of the related WebPage's
proxy but the application may not keep the related WKWebView alive.

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::close):
Note that it is safe to null out m_navigationClient here instead of
creating a fresh one because there is a null check before every use
of m_navigationClient in WebPageProxy.

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

3 years agoRemove more Objective-C specific bindings code
andersca@apple.com [Thu, 4 Aug 2016 20:27:48 +0000 (20:27 +0000)]
Remove more Objective-C specific bindings code
https://bugs.webkit.org/show_bug.cgi?id=160564

Reviewed by Sam Weinig.

* CMakeLists.txt:
* DerivedSources.make:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSNodeCustom.cpp:
* bindings/objc/DOMDocument.mm:
* bindings/objc/DOMEntity.mm:
(-[DOMEntity publicId]):
(-[DOMEntity systemId]):
(-[DOMEntity notationName]):
* bindings/objc/DOMEntityReference.mm:
(kit): Deleted.
* bindings/objc/DOMEntityReferenceInternal.h: Removed.
* bindings/objc/DOMNodeIterator.mm:
(-[DOMNodeIterator expandEntityReferences]):
* bindings/objc/DOMTreeWalker.mm:
(-[DOMTreeWalker expandEntityReferences]):
* dom/Document.idl:
* dom/Entity.h: Removed.
(WebCore::Entity::publicId): Deleted.
(WebCore::Entity::systemId): Deleted.
(WebCore::Entity::notationName): Deleted.
(WebCore::Entity::Entity): Deleted.
* dom/Entity.idl: Removed.
* dom/EntityReference.cpp: Removed.
(WebCore::EntityReference::EntityReference): Deleted.
* dom/EntityReference.h: Removed.
* dom/EntityReference.idl: Removed.
* dom/NodeIterator.idl:
* dom/Traversal.h:
(WebCore::NodeIteratorBase::expandEntityReferences): Deleted.
* dom/TreeWalker.idl:

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

3 years agoSimplify overloads for HTMLSelectElement.add() / HTMLOptionsCollection.add()
cdumez@apple.com [Thu, 4 Aug 2016 20:12:04 +0000 (20:12 +0000)]
Simplify overloads for HTMLSelectElement.add() / HTMLOptionsCollection.add()
https://bugs.webkit.org/show_bug.cgi?id=160527

Reviewed by Ryosuke Niwa.

Simplify overloads for HTMLSelectElement.add() / HTMLOptionsCollection.add().
We now have 2 overloads instead of 3 while achieving the same web-facing
behavior.

* html/HTMLOptionsCollection.h:
* html/HTMLOptionsCollection.idl:
* html/HTMLSelectElement.h:
(WebCore::HTMLSelectElement::add): Deleted.
* html/HTMLSelectElement.idl:

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

3 years agoMove Objective-C bindings specific code into the bindings
andersca@apple.com [Thu, 4 Aug 2016 19:33:47 +0000 (19:33 +0000)]
Move Objective-C bindings specific code into the bindings
https://bugs.webkit.org/show_bug.cgi?id=160561

Reviewed by Tim Horton.

* bindings/objc/DOMDocument.mm:
(-[DOMDocument createEntityReference:]):
(-[DOMDocument getElementsByTagName:]):
(-[DOMDocument getElementsByTagNameNS:localName:]):
(-[DOMDocument getElementsByClassName:]):
* bindings/objc/DOMElement.mm:
(-[DOMElement getElementsByTagName:]):
(-[DOMElement getElementsByTagNameNS:localName:]):
(-[DOMElement getElementsByClassName:]):
* css/CSSCharsetRule.idl:
* dom/ContainerNode.cpp:
(WebCore::ContainerNode::getElementsByTagNameForObjC): Deleted.
(WebCore::ContainerNode::getElementsByTagNameNSForObjC): Deleted.
(WebCore::ContainerNode::getElementsByClassNameForObjC): Deleted.
* dom/ContainerNode.h:
* dom/Document.cpp:
(WebCore::Document::createEntityReference): Deleted.
* dom/Document.h:
* dom/Document.idl:
* dom/Element.idl:

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

3 years ago[JSC] Speed up InPlaceAbstractState::endBasicBlock()
commit-queue@webkit.org [Thu, 4 Aug 2016 19:33:21 +0000 (19:33 +0000)]
[JSC] Speed up InPlaceAbstractState::endBasicBlock()
https://bugs.webkit.org/show_bug.cgi?id=160539

Patch by Benjamin Poulain <bpoulain@apple.com> on 2016-08-04
Reviewed by Mark Lam.

This patch does small improvements to our handling
of value propagation to the successors.

One key insight is that using HashMap to map Nodes
to Value in valuesAtTail is too inefficient at the scale
we use it. Instead, I reuse our existing mapping
from every Node to its value, abstracted by forNode().

Since we are not going to use the mapping after endBasicBlock()
I can replace whatever we had there. The next beginBasicBlock()
will setup the new value as needed.

In endBasicBlock(), valuesAtTail is now a vector of all values live
at tail. For each node, I merge the previous live at tail with
the new value, then replace the value in the mapping.
Liveness Analysis guarantees we won't have duplicates there which
make the replacement sound.

Next, when propagating, I take the vector of values lives at head
and use the global node->value mapping to find its new abstract value.
Again, Liveness Analysis guarantees I won't find a value live at head
that was not replaced by the merging at tail of the predecessor.

All our live lists have become vectors instead of HashTable.
The mapping from Node to Value is always done by array indexing.
Same big-O, much smaller constant.

* dfg/DFGAtTailAbstractState.cpp:
(JSC::DFG::AtTailAbstractState::AtTailAbstractState):
(JSC::DFG::AtTailAbstractState::createValueForNode):
(JSC::DFG::AtTailAbstractState::forNode):
* dfg/DFGAtTailAbstractState.h:
I did not look much into this state, I just made it equivalent
to the previous mapping.

* dfg/DFGBasicBlock.h:
* dfg/DFGCFAPhase.cpp:
(JSC::DFG::CFAPhase::performBlockCFA):
* dfg/DFGGraph.cpp:
(JSC::DFG::Graph::dump):
* dfg/DFGInPlaceAbstractState.cpp:
(JSC::DFG::InPlaceAbstractState::endBasicBlock):

(JSC::DFG::InPlaceAbstractState::mergeStateAtTail):
AbstractValue is big enough that we really don't want to copy it twice.

(JSC::DFG::InPlaceAbstractState::merge):
(JSC::DFG::setLiveValues): Deleted.
* dfg/DFGInPlaceAbstractState.h:

* dfg/DFGPhiChildren.h:
This is heap allocated by AbstractInterpreter. It should use fastMalloc().

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

3 years agoClean up the deprecated Objective-C binding methods
andersca@apple.com [Thu, 4 Aug 2016 19:13:30 +0000 (19:13 +0000)]
Clean up the deprecated Objective-C binding methods
https://bugs.webkit.org/show_bug.cgi?id=160558

Reviewed by Tim Horton.

Put the deprecated methods in their respective category @implementation, and
simply have them call their non-deprecated counterparts.

* bindings/objc/DOMCSSMediaRule.mm:
(-[DOMCSSMediaRule deleteRule:]):
(-[DOMCSSMediaRule insertRule::]):
* bindings/objc/DOMCSSPrimitiveValue.mm:
(-[DOMCSSPrimitiveValue setFloatValue::]):
(-[DOMCSSPrimitiveValue setStringValue::]):
* bindings/objc/DOMCSSStyleDeclaration.mm:
(-[DOMCSSStyleDeclaration setProperty:::]):
* bindings/objc/DOMCSSStyleSheet.mm:
(-[DOMCSSStyleSheet insertRule::]):
* bindings/objc/DOMCharacterData.mm:
(-[DOMCharacterData deleteData:length:]):
(-[DOMCharacterData replaceData:length:data:]):
(-[DOMCharacterData remove]):
(-[DOMCharacterData substringData::]):
(-[DOMCharacterData insertData::]):
(-[DOMCharacterData deleteData::]):
(-[DOMCharacterData replaceData:::]):
* bindings/objc/DOMDocument.mm:
(-[DOMDocument createProcessingInstruction::]):
(-[DOMDocument importNode::]):
(-[DOMDocument createElementNS::]):
(-[DOMDocument createAttributeNS::]):
(-[DOMDocument getElementsByTagNameNS::]):
(-[DOMDocument createNodeIterator::::]):
(-[DOMDocument createTreeWalker::::]):
(-[DOMDocument getOverrideStyle::]):
(-[DOMDocument createExpression::]):
(-[DOMDocument evaluate:::::]):
(-[DOMDocument getComputedStyle::]):
* bindings/objc/DOMElement.mm:
(-[DOMElement setAttribute::]):
(-[DOMElement getAttributeNS::]):
(-[DOMElement setAttributeNS:::]):
(-[DOMElement removeAttributeNS::]):
(-[DOMElement getElementsByTagNameNS::]):
(-[DOMElement getAttributeNodeNS::]):
(-[DOMElement hasAttributeNS::]):
* bindings/objc/DOMEvent.mm:
(-[DOMEvent stopImmediatePropagation]):
(-[DOMEvent initEvent:::]):
* bindings/objc/DOMHTMLSelectElement.mm:
(-[DOMHTMLSelectElement remove:]):
(-[DOMHTMLSelectElement add::]):
* bindings/objc/DOMMouseEvent.mm:
(-[DOMMouseEvent initMouseEvent:::::::::::::::]):
* bindings/objc/DOMMutationEvent.mm:
(-[DOMMutationEvent initMutationEvent::::::::]):
* bindings/objc/DOMNamedNodeMap.mm:
(-[DOMNamedNodeMap getNamedItemNS::]):
(-[DOMNamedNodeMap removeNamedItemNS::]):
* bindings/objc/DOMNode.mm:
(-[DOMNode insertBefore::]):
(-[DOMNode replaceChild::]):
(-[DOMNode isSupported::]):
* bindings/objc/DOMRange.mm:
(-[DOMRange setStart::]):
(-[DOMRange setEnd::]):
(-[DOMRange compareBoundaryPoints::]):
* bindings/objc/DOMUIEvent.mm:
(-[DOMUIEvent initUIEvent:::::]):
* bindings/objc/DOMXPathExpression.mm:
(-[DOMXPathExpression evaluate:::]):

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

3 years agoTemporary redirected m3u8 streaming stopped working.
commit-queue@webkit.org [Thu, 4 Aug 2016 18:48:16 +0000 (18:48 +0000)]
Temporary redirected m3u8 streaming stopped working.
https://bugs.webkit.org/show_bug.cgi?id=160472
rdar://problem/27592694

Patch by Jeremy Jones <jeremyj@apple.com> on 2016-08-04
Reviewed by Alex Christensen.

Source/WebCore:

Test: http/tests/media/hls/hls-redirect.html

The change for https://trac.webkit.org/changeset/202466 hides knowledge of the temporary redirected URL from
WebCoreNSURLSession clients. MPEG playlists (e.g. .m3u8) can contain paths relative to the redirected URL.

This change exposes the redirected URL for MPEG playlists.

* platform/MIMETypeRegistry.cpp:
(WebCore::initializeMPEGPlaylistMIMETypes): Added.
(WebCore::initializeMIMETypeRegistry):
(WebCore::MIMETypeRegistry::isMPEGPlaylistMIMEType): Added.
* platform/MIMETypeRegistry.h:
* platform/network/cocoa/WebCoreNSURLSession.mm:
(-[WebCoreNSURLSessionDataTask resource:receivedResponse:]): Add MPEG playlist condition.
(-[WebCoreNSURLSessionDataTask resource:receivedRedirect:request:]): Add MPEG playlist condition.

LayoutTests:

This tests that m3u8 files can be loaded when going through a temporary redirect.

* http/tests/media/hls/hls-redirect-expected.txt: Added.
* http/tests/media/hls/hls-redirect.html: Added.

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

3 years agoContent Blocker cannot block WebSocket connections
commit-queue@webkit.org [Thu, 4 Aug 2016 18:07:45 +0000 (18:07 +0000)]
Content Blocker cannot block WebSocket connections
https://bugs.webkit.org/show_bug.cgi?id=160159

Patch by Alex Christensen <achristensen@webkit.org> on 2016-08-04
Reviewed by Brady Eidson.

Source/WebCore:

Tests: http/tests/websocket/tests/hybi/contentextensions/block-cookies-worker.php
       http/tests/websocket/tests/hybi/contentextensions/block-cookies.php
       http/tests/websocket/tests/hybi/contentextensions/block-worker.html
       http/tests/websocket/tests/hybi/contentextensions/block.html
       http/tests/websocket/tests/hybi/contentextensions/display-none-worker.html
       http/tests/websocket/tests/hybi/contentextensions/display-none.html
       http/tests/websocket/tests/hybi/contentextensions/upgrade-worker.html
       http/tests/websocket/tests/hybi/contentextensions/upgrade.html

* Modules/websockets/ThreadableWebSocketChannelClientWrapper.cpp:
(WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveMessageError):
(WebCore::ThreadableWebSocketChannelClientWrapper::didUpgradeURL):
(WebCore::ThreadableWebSocketChannelClientWrapper::suspend):
* Modules/websockets/ThreadableWebSocketChannelClientWrapper.h:
* Modules/websockets/WebSocket.cpp:
(WebCore::WebSocket::didClose):
(WebCore::WebSocket::didUpgradeURL):
(WebCore::WebSocket::getFramingOverhead):
* Modules/websockets/WebSocket.h:

Added didUpgradeURL to WebSocketChannelClient so the WebSocketChannel can tell the WebSocket
that it has upgraded a ws: url to a wss: url.

* Modules/websockets/WebSocketChannel.cpp:
(WebCore::WebSocketChannel::~WebSocketChannel):
(WebCore::WebSocketChannel::connect):

If content extensions are being used, run the URL through the content extension and apply its actions
before connecting the WebSocket.  This is done in WebSocketChannel instead of WebSocket like the CSP checks
because we need access to the Document in order to get access to the main document's URL for if-domain and
unless-domain rules, and to apply any display:none css to the Document.

(WebCore::WebSocketChannel::disconnect):
* Modules/websockets/WebSocketChannelClient.h:
(WebCore::WebSocketChannelClient::~WebSocketChannelClient):
(WebCore::WebSocketChannelClient::WebSocketChannelClient):
(WebCore::WebSocketChannelClient::didConnect):
(WebCore::WebSocketChannelClient::didReceiveMessage):
(WebCore::WebSocketChannelClient::didReceiveBinaryData):
(WebCore::WebSocketChannelClient::didReceiveMessageError):
(WebCore::WebSocketChannelClient::didUpdateBufferedAmount):
(WebCore::WebSocketChannelClient::didStartClosingHandshake):
(WebCore::WebSocketChannelClient::didClose):

Made WebSocketChannelClient purely virtual to avoid accidentally making an implementation that is missing functionality.

(WebCore::WebSocketChannelClient::didUpgradeURL): Added.
* Modules/websockets/WebSocketHandshake.cpp:
(WebCore::WebSocketHandshake::getExpectedWebSocketAccept):
(WebCore::WebSocketHandshake::WebSocketHandshake):
(WebCore::WebSocketHandshake::clientOrigin):
(WebCore::WebSocketHandshake::clientLocation):
(WebCore::WebSocketHandshake::clientHandshakeMessage):

Only put cookies on the WebSocket's handshake if we are allowed to use cookies.

(WebCore::WebSocketHandshake::clientHandshakeRequest):

A WebSocketHandshake always has a Document* for its ScriptExecutionContext, so I replaced m_context with
m_document and removed a suspicious-looking check for is<Document> that turned out to not be suspicious at all.

(WebCore::WebSocketHandshake::reset):
(WebCore::WebSocketHandshake::clearDocument):
(WebCore::WebSocketHandshake::readServerHandshake):
(WebCore::WebSocketHandshake::clearScriptExecutionContext): Deleted.
* Modules/websockets/WebSocketHandshake.h:
* Modules/websockets/WorkerThreadableWebSocketChannel.cpp:
(WebCore::WorkerThreadableWebSocketChannel::Peer::didReceiveMessageError):
(WebCore::WorkerThreadableWebSocketChannel::Peer::didUpgradeURL):
(WebCore::WorkerThreadableWebSocketChannel::Bridge::Bridge):
* Modules/websockets/WorkerThreadableWebSocketChannel.h:
* contentextensions/ContentExtensionActions.h:

Before this change we would pass a ResourceRequest as a parameter to the content extension engine.
The ResourceRequest would be used to get the URL, and it would be modified by possibly disabling cookies
or making the URL https.  Any display:none CSS rules added were put into the Document through the DocumentLoader.
The only information it needed to return was whether the load was blocked.
To make content extensions work with WebSockets, we need to pass a URL as a parameter instead of a ResourceRequest
because there is no ResourceRequest with WebSockets, only a URL.  We can still put CSS rules in through the DocumentLoader,
but the rest of the actions need to be returned through the return value, which is then processed by the callers.
BlockedStatus is now a struct containing a set of actions to apply, and applyBlockedStatusToRequest is a helper function
that applies the actions to the ResourceRequests we have at all previously existing call sites of processContentExtensionRulesForLoad.

* contentextensions/ContentExtensionsBackend.cpp:
(WebCore::ContentExtensions::ContentExtensionsBackend::globalDisplayNoneStyleSheet):
(WebCore::ContentExtensions::ContentExtensionsBackend::processContentExtensionRulesForLoad):
(WebCore::ContentExtensions::ContentExtensionsBackend::displayNoneCSSRule):
(WebCore::ContentExtensions::applyBlockedStatusToRequest):
* contentextensions/ContentExtensionsBackend.h:
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::loadResource):

Here, we also only had a URL.  Before, we were making a ResourceRequest from the URL just for the content extension engine,
but now we can just pass the URL.

* loader/FrameLoader.cpp:
(WebCore::FrameLoader::loadResourceSynchronously):
* loader/PingLoader.cpp:
(WebCore::processContentExtensionRulesForLoad):
(WebCore::PingLoader::loadImage):
(WebCore::PingLoader::sendPing):
(WebCore::PingLoader::sendViolationReport):
* loader/ResourceLoader.cpp:
(WebCore::ResourceLoader::willSendRequestInternal):
* loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::requestResource):
* page/UserContentProvider.cpp:
(WebCore::contentExtensionsEnabled):
(WebCore::UserContentProvider::processContentExtensionRulesForLoad):
(WebCore::UserContentProvider::actionsForResourceLoad):
* page/UserContentProvider.h:

LayoutTests:

* http/tests/contentextensions/make-https-expected.txt:
Rebased to reflect slight change in console logged messages which contain the same information.
* http/tests/websocket/tests/hybi/contentextensions: Added.
* http/tests/websocket/tests/hybi/contentextensions/block-cookies-expected.txt: Added.
* http/tests/websocket/tests/hybi/contentextensions/block-cookies-worker-expected.txt: Added.
* http/tests/websocket/tests/hybi/contentextensions/block-cookies-worker.php: Added.
* http/tests/websocket/tests/hybi/contentextensions/block-cookies-worker.php.json: Added.
* http/tests/websocket/tests/hybi/contentextensions/block-cookies.php: Copied from LayoutTests/http/tests/websocket/tests/hybi/httponly-cookie.pl.
* http/tests/websocket/tests/hybi/contentextensions/block-cookies.php.json: Added.
* http/tests/websocket/tests/hybi/contentextensions/block-expected.txt: Added.
* http/tests/websocket/tests/hybi/contentextensions/block-worker-expected.txt: Added.
* http/tests/websocket/tests/hybi/contentextensions/block-worker.html: Added.
* http/tests/websocket/tests/hybi/contentextensions/block-worker.html.json: Added.
* http/tests/websocket/tests/hybi/contentextensions/block.html: Added.
* http/tests/websocket/tests/hybi/contentextensions/block.html.json: Added.
* http/tests/websocket/tests/hybi/contentextensions/display-none-expected.txt: Added.
* http/tests/websocket/tests/hybi/contentextensions/display-none-worker-expected.txt: Added.
* http/tests/websocket/tests/hybi/contentextensions/display-none-worker.html: Added.
* http/tests/websocket/tests/hybi/contentextensions/display-none-worker.html.json: Added.
* http/tests/websocket/tests/hybi/contentextensions/display-none.html: Added.
* http/tests/websocket/tests/hybi/contentextensions/display-none.html.json: Added.
* http/tests/websocket/tests/hybi/contentextensions/resources: Added.
* http/tests/websocket/tests/hybi/contentextensions/resources/block-cookies-worker.js: Added.
* http/tests/websocket/tests/hybi/contentextensions/resources/block-worker.js: Added.
* http/tests/websocket/tests/hybi/contentextensions/resources/display-none-worker.js: Added.
* http/tests/websocket/tests/hybi/contentextensions/resources/echo-cookie_wsh.py: Copied from LayoutTests/http/tests/websocket/tests/hybi/echo-cookie_wsh.py.
* http/tests/websocket/tests/hybi/contentextensions/resources/echo_wsh.py: Added.
* http/tests/websocket/tests/hybi/contentextensions/resources/upgrade-worker.js: Added.
* http/tests/websocket/tests/hybi/contentextensions/upgrade-expected.txt: Added.
* http/tests/websocket/tests/hybi/contentextensions/upgrade-worker-expected.txt: Added.
* http/tests/websocket/tests/hybi/contentextensions/upgrade-worker.html: Added.
* http/tests/websocket/tests/hybi/contentextensions/upgrade-worker.html.json: Added.
* http/tests/websocket/tests/hybi/contentextensions/upgrade.html: Added.
* http/tests/websocket/tests/hybi/contentextensions/upgrade.html.json: Added.

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

3 years ago[[Prototype]] property of an interface object for a callback interface must be the...
cdumez@apple.com [Thu, 4 Aug 2016 18:03:16 +0000 (18:03 +0000)]
[[Prototype]] property of an interface object for a callback interface must be the Object.prototype object
https://bugs.webkit.org/show_bug.cgi?id=160555

Reviewed by Geoffrey Garen.

LayoutTests/imported/w3c:

Rebaseline W3C trst now that one more check is passing.

* web-platform-tests/dom/interfaces-expected.txt:

Source/WebCore:

[[Prototype]] property of an interface object for a callback interface
must be the Object.prototype object:
- http://heycam.github.io/webidl/#interface-object

This impacts NodeFilter, which is a callback interface.

No new tests, rebaselined existing test.

* bindings/scripts/CodeGeneratorJS.pm:
(GenerateConstructorHelperMethods):

LayoutTests:

Rebaseline existing test.

* platform/mac/fast/dom/Window/window-lookup-precedence-expected.txt:

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

3 years agoWeb Inspector: Add placeholder graphs to TimelineOverview while editing
mattbaker@apple.com [Thu, 4 Aug 2016 17:48:38 +0000 (17:48 +0000)]
Web Inspector: Add placeholder graphs to TimelineOverview while editing
https://bugs.webkit.org/show_bug.cgi?id=160485
<rdar://problem/27670755>

Reviewed by Brian Burg.

Insert placeholder elements in TimelineOverview's graph container
when editing instruments. This allows alternating overview graph styles
to be shown for disabled instruments, and ensures that every tree element
has a corresponding element in the overview during dragging/reordering
of instruments (see https://webkit.org/b/157957).

* UserInterface/Views/TimelineOverview.js:
(WebInspector.TimelineOverview.prototype._startEditingInstruments):
(WebInspector.TimelineOverview.prototype._stopEditingInstruments):

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

3 years agoWeb Inspector: UI polish for Open Quickly and Goto Line dialogs
mattbaker@apple.com [Thu, 4 Aug 2016 17:47:19 +0000 (17:47 +0000)]
Web Inspector: UI polish for Open Quickly and Goto Line dialogs
https://bugs.webkit.org/show_bug.cgi?id=159849
<rdar://problem/27383068>

Reviewed by Brian Burg.

* UserInterface/Images/Search.svg: Added.
Magnifying glass icon.

* UserInterface/Views/GoToLineDialog.css:
(.go-to-line-dialog):
(.go-to-line-dialog > div):
(.go-to-line-dialog > div::before):
* UserInterface/Views/OpenResourceDialog.css:
(.open-resource-dialog > .field):
(.open-resource-dialog > .field::before):
(.open-resource-dialog.has-results > .tree-outline):
(.open-resource-dialog > .tree-outline .item):
Add search icon to left of the input field in both dialogs,
and adjust styles to better match Xcode 8.

* UserInterface/Views/OpenResourceDialog.js:
(WebInspector.OpenResourceDialog):
Remove "input" event listener, as styles are now toggled in _updateFilter.
(WebInspector.OpenResourceDialog.prototype._updateFilter):
Toggle "has-results" and "non-empty" class names.
(WebInspector.OpenResourceDialog.prototype._handleInputEvent): Deleted.
(WebInspector.OpenResourceDialog.prototype._clear): Deleted.
Moved class toggle to _updateFilter.

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

3 years ago[Win] Unable to reliably run tests in parallel
pvollan@apple.com [Thu, 4 Aug 2016 17:02:42 +0000 (17:02 +0000)]
[Win] Unable to reliably run tests in parallel
https://bugs.webkit.org/show_bug.cgi?id=140914

Reviewed by Brent Fulgham.

The cygpath utility function can fail badly when running with multiple DumpRenderTree
processes. We can use string replacement to convert the Cygwin path to a Windows path
instead.

* Scripts/webkitpy/common/system/path.py:
(cygpathFast):
* Scripts/webkitpy/port/driver.py:
(Driver._command_from_driver_input):

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

3 years agoElement.insertAdjacent*() should throw a SYNTAX_ERR for invalid "where" parameter
cdumez@apple.com [Thu, 4 Aug 2016 16:28:17 +0000 (16:28 +0000)]
Element.insertAdjacent*() should throw a SYNTAX_ERR for invalid "where" parameter
https://bugs.webkit.org/show_bug.cgi?id=160514

Reviewed by Alex Christensen.

LayoutTests/imported/w3c:

Rebaseline several W3C tests now that more checks are passing.

* web-platform-tests/dom/nodes/Element-insertAdjacentElement-expected.txt:
* web-platform-tests/dom/nodes/Element-insertAdjacentText-expected.txt:
* web-platform-tests/dom/nodes/insert-adjacent-expected.txt:

Source/WebCore:

Element.insertAdjacent*() should throw a SYNTAX_ERR for invalid "where" parameter:
- https://dom.spec.whatwg.org/#insert-adjacent

We were throwing a NOT_SUPPORTED_ERR instead.

No new tests, rebaselined existing tests.

* html/HTMLElement.cpp:
(WebCore::HTMLElement::insertAdjacent):

LayoutTests:

Rebaseline existing test now that a different exception is thrown.

* fast/dynamic/insertAdjacentElement-expected.txt:
* fast/dynamic/insertAdjacentText-expected.txt:

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

3 years ago[JSC] fix generator-syntax.js JSTest again after yield grammar fix
caitp@igalia.com [Thu, 4 Aug 2016 15:59:44 +0000 (15:59 +0000)]
[JSC] fix generator-syntax.js JSTest again after yield grammar fix
https://bugs.webkit.org/show_bug.cgi?id=160550

Reviewed by Yusuke Suzuki.

* stress/generator-syntax.js:
(testYieldBindingIdentifier):

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

3 years ago[ES7] Update features.json for exponentiation expression
utatane.tea@gmail.com [Thu, 4 Aug 2016 14:46:32 +0000 (14:46 +0000)]
[ES7] Update features.json for exponentiation expression
https://bugs.webkit.org/show_bug.cgi?id=160541

Reviewed by Mark Lam.

* features.json:

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

3 years agoWebRTC: OWR: Add support for the muted state in the mediaplayer
alex@webkit.org [Thu, 4 Aug 2016 09:26:16 +0000 (09:26 +0000)]
WebRTC: OWR: Add support for the muted state in the mediaplayer
https://bugs.webkit.org/show_bug.cgi?id=160502

Modified the load, play and stop methods to handle the new
situation where the mediaSource could be empty, until the remote
side sends the information to create the receiver.

Reviewed by Philippe Normand.

No new tests, we need to upstream the owr endpoint to check this
situation.

* platform/graphics/gstreamer/MediaPlayerPrivateGStreamerOwr.cpp:
(WebCore::MediaPlayerPrivateGStreamerOwr::play): Check the muted
state of the tracks if required, we do it using the new
maybeHandleChangeMutedState function.
(WebCore::MediaPlayerPrivateGStreamerOwr::load): Add always the
observer of the track to check when it is unmuted, and we delay
enabling/setting the source until the play or the unmute.
(WebCore::MediaPlayerPrivateGStreamerOwr::internalLoad): Removed,
we now do all in the load method.
(WebCore::MediaPlayerPrivateGStreamerOwr::stop): Remove the
mediasource when disabling. Removed the m_stopped state, it was
there because the internalLoad was called multiple times.
(WebCore::MediaPlayerPrivateGStreamerOwr::trackMutedChanged):
Check the muted state and handle it, we use the new method
maybeHandleChangeMutedState.
(WebCore::MediaPlayerPrivateGStreamerOwr::maybeHandleChangeMutedState):
Check if the track is muted or not, in case it is muted disable
the the renderer and remove its mediasource. If it is not muted
enable the renderer and set the mediasource.
(WebCore::MediaPlayerPrivateGStreamerOwr::createVideoSink): Move
the workaround for the renderer to this method when it is created.
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamerOwr.h:
Removed internalLoad method and the m_stopped attribute used to
call internalLoad multiple times.

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

3 years agoDocumentThreadableLoader should pass the fetch mode to underlying loader code
commit-queue@webkit.org [Thu, 4 Aug 2016 07:56:37 +0000 (07:56 +0000)]
DocumentThreadableLoader should pass the fetch mode to underlying loader code
https://bugs.webkit.org/show_bug.cgi?id=160399

Patch by Youenn Fablet <youenn@apple.com> on 2016-08-04
Reviewed by Alex Christensen.

LayoutTests/imported/w3c:

Updated expectations.
Added new tests to check specifically for Origin header in case of redirections.
Updated server-side redirect.py python script to generate valid Location URLs.

* web-platform-tests/XMLHttpRequest/send-authentication-cors-basic-setrequestheader-expected.txt:
* web-platform-tests/XMLHttpRequest/send-authentication-cors-setrequestheader-no-cred-expected.txt:
* web-platform-tests/fetch/api/cors/cors-redirect-credentials-expected.txt:
* web-platform-tests/fetch/api/cors/cors-redirect-credentials-worker-expected.txt:
* web-platform-tests/fetch/api/redirect/redirect-location-expected.txt:
* web-platform-tests/fetch/api/redirect/redirect-location-worker-expected.txt:
* web-platform-tests/fetch/api/redirect/redirect-origin-expected.txt: Added.
* web-platform-tests/fetch/api/redirect/redirect-origin-worker-expected.txt: Added.
* web-platform-tests/fetch/api/redirect/redirect-origin-worker.html: Added.
* web-platform-tests/fetch/api/redirect/redirect-origin.html: Added.
* web-platform-tests/fetch/api/redirect/redirect-origin.js: Added.
(testOriginAfterRedirection):
* web-platform-tests/fetch/api/redirect/redirect-schemes-expected.txt:
* web-platform-tests/fetch/api/redirect/redirect-schemes.html: Updated test so that fetches are done in a deterministic order, one after the other is finished.
* web-platform-tests/fetch/api/resources/redirect.py:
(main):

Source/WebCore:

Tests: imported/w3c/web-platform-tests/fetch/api/redirect/redirect-origin-worker.html
       imported/w3c/web-platform-tests/fetch/api/redirect/redirect-origin.html
Covered by existing and rebased tests.

DocumentThredableLoader was previously loading resources in NoCors mode and doing the cors checks on it own.
This was duplicating code and increasing the risk of being not consistent.
DocumentThreadableLoader is now passing the fetch mode given by client to underlying loader code.
This allows removing some CORS checks in DocumentThreadableLoader code for redirections.

Updated SubresourceLoader redirection CORS checks to be on par with DocumentThreadableLoader.
In particular, aligning the code with https://fetch.spec.whatwg.org/#http-redirect-fetch.

The error logging situation is not perfect as some errors are properly logged in the console while some others are not.
For instance blockedError (due to forbidden port for instance) reason is not logged on the console.

* loader/DocumentThreadableLoader.cpp:
(WebCore::DocumentThreadableLoader::redirectReceived): Updating redirection checking as SubresourceLoader is already doing most of the checks.
(WebCore::DocumentThreadableLoader::didReceiveResponse): Removing temp hack as tainting is now computed by underlying loader code.
(WebCore::DocumentThreadableLoader::loadRequest): Removing fetch mode change.
* loader/SubresourceLoader.cpp:
(WebCore::SubresourceLoader::willSendRequestInternal): Updating cancellation error and improve error logging.
(WebCore::SubresourceLoader::checkRedirectionCrossOriginAccessControl): Improved the checks and error reporting.
Tried to align as much as possible to https://fetch.spec.whatwg.org/#http-redirect-fetch.
* loader/SubresourceLoader.h:
* xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::didFail): Added an error message to the console in case of access control error.

LayoutTests:

* TestExpectations:
* http/tests/security/contentSecurityPolicy/1.1/child-src/worker-redirect-blocked-expected.txt:
* http/tests/security/isolatedWorld/bypass-main-world-csp-worker-redirect-expected.txt:
* http/tests/workers/worker-redirect-expected.txt:
* http/tests/xmlhttprequest/access-control-and-redirects-async-expected.txt:
* http/tests/xmlhttprequest/access-control-and-redirects-async.html: Fixed bugs in the test and updated comments.
* http/tests/xmlhttprequest/access-control-and-redirects-expected.txt:
* http/tests/xmlhttprequest/redirect-cross-origin-post-expected.txt:
* http/tests/xmlhttprequest/simple-cross-origin-denied-events-post-expected.txt:

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

3 years agoLayoutTest imported/w3c/web-platform-tests/XMLHttpRequest/send-redirect-post-upload...
commit-queue@webkit.org [Thu, 4 Aug 2016 06:53:26 +0000 (06:53 +0000)]
LayoutTest imported/w3c/web-platform-tests/XMLHttpRequest/send-redirect-post-upload.htm failing
https://bugs.webkit.org/show_bug.cgi?id=159724

Unreviewed..

Patch by Youenn Fablet <youenn@apple.com> on 2016-08-04

* TestExpectations: Removing Crash expectation since it is only occuring on Debug Mac bots.
* platform/mac/TestExpectations: Skipping test in Debug for Mac bots.

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

3 years agoObject.getOwnPropertyNames() on NamedNodeMap fails to return named properties
cdumez@apple.com [Thu, 4 Aug 2016 05:26:58 +0000 (05:26 +0000)]
Object.getOwnPropertyNames() on NamedNodeMap fails to return named properties
https://bugs.webkit.org/show_bug.cgi?id=160517

Reviewed by Alex Christensen.

LayoutTests/imported/w3c:

Rebaseline several W3C tests now that more checks are passing.

* web-platform-tests/dom/collections/namednodemap-supported-property-names-expected.txt:
* web-platform-tests/dom/nodes/attributes-expected.txt:

Source/WebCore:

Object.getOwnPropertyNames() on NamedNodeMap should return named
properties' names as per:
- https://dom.spec.whatwg.org/#dom-namednodemap-item

No new tests, rebaselined existing tests.

* dom/NamedNodeMap.cpp:
(WebCore::NamedNodeMap::supportedPropertyNames):
* dom/NamedNodeMap.h:

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

3 years agoDrop DocumentType.internalSubset attribute
cdumez@apple.com [Thu, 4 Aug 2016 05:11:26 +0000 (05:11 +0000)]
Drop DocumentType.internalSubset attribute
https://bugs.webkit.org/show_bug.cgi?id=160530

Reviewed by Alex Christensen.

LayoutTests/imported/w3c:

Rebaseline W3C test now that one more check is passing.

* web-platform-tests/dom/historical-expected.txt:

Source/JavaScriptCore:

Drop DocumentType.internalSubset attribute.

* inspector/protocol/DOM.json:

Source/WebCore:

Drop DocumentType.internalSubset attribute.

It is no longer in the DOM specification:
- https://dom.spec.whatwg.org/#documenttype
- https://w3c.github.io/DOM-Parsing/#xml-serializing-a-documenttype-node

Other browsers have already dropped it. In WebKit, it was always null
anyway.

No new tests, rebaselined existing test.

* bindings/objc/DOMDocumentType.mm:
(-[DOMDocumentType internalSubset]):
* dom/DocumentType.h:
* dom/DocumentType.idl:
* dom/Node.cpp:
(WebCore::Node::isEqualNode): Deleted.
* editing/MarkupAccumulator.cpp:
(WebCore::MarkupAccumulator::appendDocumentType): Deleted.
* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::buildObjectForNode): Deleted.

Source/WebInspectorUI:

Drop DocumentType.internalSubset attribute.

* UserInterface/Models/DOMNode.js:
(WebInspector.DOMNode): Deleted.
* UserInterface/Models/DOMSearchMatchObject.js:
(WebInspector.DOMSearchMatchObject.titleForDOMNode): Deleted.
* UserInterface/Views/DOMTreeElement.js:
(WebInspector.DOMTreeElement.prototype._nodeTitleInfo): Deleted.

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

3 years agoDrop legacy Document.defaultCharset attribute
cdumez@apple.com [Thu, 4 Aug 2016 05:09:18 +0000 (05:09 +0000)]
Drop legacy Document.defaultCharset attribute
https://bugs.webkit.org/show_bug.cgi?id=160536

Reviewed by Alex Christensen.

LayoutTests/imported/w3c:

Rebaseline W3C test now that one more check is passing.

* web-platform-tests/dom/historical-expected.txt:

Source/WebCore:

Drop legacy Document.defaultCharset attribute.

It is no longer in the specification:
- https://dom.spec.whatwg.org/#interface-document

Firefox and Chrome have already dropped it.

No new tests, rebaselined existing test.

* bindings/objc/DOMDocument.mm:
(-[DOMDocument defaultCharset]):
* dom/Document.cpp:
(WebCore::Document::defaultCharsetForBindings):
* dom/Document.h:
* dom/Document.idl:

LayoutTests:

* fast/dom/Document/document-charset-expected.txt:
* fast/dom/Document/document-charset.html:
Drop defaultCharset checks.

* fast/frames/detached-frame-document-defaultCharset-expected.txt: Removed.
* fast/frames/detached-frame-document-defaultCharset.html: Removed.
Drop test that is no longer useful now that we dropped defaultCharset.

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

3 years ago[JSC] Improve the memory locality of DFG Node's AbstractValues
commit-queue@webkit.org [Thu, 4 Aug 2016 03:43:51 +0000 (03:43 +0000)]
[JSC] Improve the memory locality of DFG Node's AbstractValues
https://bugs.webkit.org/show_bug.cgi?id=160443

Patch by Benjamin Poulain <bpoulain@apple.com> on 2016-08-03
Reviewed by Mark Lam.

The AbstractInterpreter spends a lot of time on memory operations
for AbstractValues. This patch attempts to improve the situation
by putting the values closer together in memory.

First, AbstractValue is moved out of DFG::Node and it kept in
a vector addressed by node indices.

I initially moved them to InPlaceAbstractState but I quickly discovered
initializing the values in the vector was costly.
I moved the vector to Graph as a cache shared by every instantiation of
InPlaceAbstractState. It is mainly there to avoid constructors and destructors
of AbstractValue. The patch of https://bugs.webkit.org/show_bug.cgi?id=160370
should also help eventually.

I instrumented CFA to find how packed is SparseCollection.
The answer is it can be very sparse, which is bad for CFA.
I added packIndices() to repack the collection before running
liveness since that's where we start using the memory intensively.
This is a measurable improvement but it implies we can no longer
keep indices on a side channel between phases since they may change.

* b3/B3SparseCollection.h:
(JSC::B3::SparseCollection::packIndices):
* dfg/DFGGraph.cpp:
(JSC::DFG::Graph::packNodeIndices):
* dfg/DFGGraph.h:
(JSC::DFG::Graph::abstractValuesCache):
* dfg/DFGInPlaceAbstractState.cpp:
(JSC::DFG::InPlaceAbstractState::InPlaceAbstractState):
* dfg/DFGInPlaceAbstractState.h:
(JSC::DFG::InPlaceAbstractState::forNode):
* dfg/DFGLivenessAnalysisPhase.cpp:
(JSC::DFG::performLivenessAnalysis):
* dfg/DFGNode.h:

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

3 years agoClarify SyntaxErrors around yield and unskip tests
caitp@igalia.com [Thu, 4 Aug 2016 02:36:28 +0000 (02:36 +0000)]
Clarify SyntaxErrors around yield and unskip tests
https://bugs.webkit.org/show_bug.cgi?id=158460

Reviewed by Saam Barati.

Fix and unskip tests which erroneously asserted that `yield` is not a
valid BindingIdentifier, and improve error message for YieldExpressions
occuring in Arrow formal parameters.

JSTests:

* stress/generator-syntax.js:
* stress/yield-out-of-generator.js:

Source/JavaScriptCore:

* parser/Parser.cpp:
(JSC::Scope::MaybeParseAsGeneratorForScope::MaybeParseAsGeneratorForScope):
(JSC::Parser<LexerType>::parseFunctionInfo):
(JSC::Parser<LexerType>::parseYieldExpression):
* parser/Parser.h:

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

3 years agoMarking media/track/track-in-band-cues-added-once.html as flaky on ios-simulator.
ryanhaddad@apple.com [Thu, 4 Aug 2016 01:27:10 +0000 (01:27 +0000)]
Marking media/track/track-in-band-cues-added-once.html as flaky on ios-simulator.
https://bugs.webkit.org/show_bug.cgi?id=142152

Unreviewed test gardening.

* platform/ios-simulator-wk2/TestExpectations:

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

3 years agoRemove some unneeded #ifs now that the Objective-C bindings are frozen
andersca@apple.com [Thu, 4 Aug 2016 00:00:13 +0000 (00:00 +0000)]
Remove some unneeded #ifs now that the Objective-C bindings are frozen
https://bugs.webkit.org/show_bug.cgi?id=160532

Reviewed by Tim Horton.

* DerivedSources.make:
* Modules/mediasession/HTMLMediaElementMediaSession.idl:
* Modules/mediastream/HTMLMediaElementMediaStream.idl:
* WebCore.xcodeproj/project.pbxproj:
* animation/DocumentAnimation.idl:
* dom/ChildNode.idl:
* dom/Document.idl:
* dom/Element.idl:
* dom/Event.idl:
* dom/ParentNode.idl:
* fileapi/Blob.idl:
* fileapi/FileError.idl:
* html/DOMSettableTokenList.h: Removed.
* html/DOMSettableTokenList.idl: Removed.
* html/HTMLCanvasElement.idl:
* html/HTMLEmbedElement.idl:
* html/HTMLFrameElement.idl:
* html/HTMLIFrameElement.idl:
* html/HTMLMediaElement.idl:
* html/HTMLObjectElement.idl:
* html/HTMLOptionsCollection.idl:
* html/HTMLVideoElement.idl:

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

3 years ago[iOS] SF-Heavy is not accessible from web content
mmaxfield@apple.com [Wed, 3 Aug 2016 23:50:19 +0000 (23:50 +0000)]
[iOS] SF-Heavy is not accessible from web content
https://bugs.webkit.org/show_bug.cgi?id=160522
<rdar://problem/27685273>

Reviewed by Simon Fraser.

Source/WebCore:

The mappings we were using from CSS font-weight to CoreText font weight were inaccurate.
Instead, these new mappings should be used.

Test: fast/text/system-font-weight.html

* platform/graphics/ios/FontCacheIOS.mm:
(WebCore::systemFontModificationAttributes):

LayoutTests:

* platform/ios-simulator/fast/text/system-font-weight-expected.txt: iOS 9 is not
expected to pass this test, but there is no way to specify that currently using
TestExpectations. Instead, we can create an iOS 9 specific result.
* fast/text/system-font-weight-expected.txt:
* fast/text/system-font-weight.html:

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

3 years agoDocument instructions for increasing process and file limits
aakash_jain@apple.com [Wed, 3 Aug 2016 23:25:02 +0000 (23:25 +0000)]
Document instructions for increasing process and file limits
https://bugs.webkit.org/show_bug.cgi?id=160528
rdar://problem/24777576

Reviewed by Alexey Proskuryakov.

* Scripts/webkitpy/port/ios.py:
(IOSSimulatorPort.default_child_processes):

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

3 years agoRemove the Objective-C bindings generator
andersca@apple.com [Wed, 3 Aug 2016 22:53:09 +0000 (22:53 +0000)]
Remove the Objective-C bindings generator
https://bugs.webkit.org/show_bug.cgi?id=160526

Reviewed by Sam Weinig.

Source/WebCore:

* DerivedSources.make:
* WebCore.xcodeproj/project.pbxproj:
* bindings/objc/PublicDOMInterfaces.h: Removed.
* bindings/scripts/CodeGeneratorObjC.pm: Removed.
* bindings/scripts/test/ObjC/DOMFloat64Array.h: Removed.
* bindings/scripts/test/ObjC/DOMFloat64Array.mm: Removed.
* bindings/scripts/test/ObjC/DOMFloat64ArrayInternal.h: Removed.
* bindings/scripts/test/ObjC/DOMInterfaceName.h: Removed.
* bindings/scripts/test/ObjC/DOMInterfaceName.mm: Removed.
* bindings/scripts/test/ObjC/DOMInterfaceNameInternal.h: Removed.
* bindings/scripts/test/ObjC/DOMTestActiveDOMObject.h: Removed.
* bindings/scripts/test/ObjC/DOMTestActiveDOMObject.mm: Removed.
* bindings/scripts/test/ObjC/DOMTestActiveDOMObjectInternal.h: Removed.
* bindings/scripts/test/ObjC/DOMTestCallback.h: Removed.
* bindings/scripts/test/ObjC/DOMTestCallback.mm: Removed.
* bindings/scripts/test/ObjC/DOMTestCallbackFunction.h: Removed.
* bindings/scripts/test/ObjC/DOMTestCallbackFunction.mm: Removed.
* bindings/scripts/test/ObjC/DOMTestCallbackFunctionInternal.h: Removed.
* bindings/scripts/test/ObjC/DOMTestCallbackInternal.h: Removed.
* bindings/scripts/test/ObjC/DOMTestClassWithJSBuiltinConstructor.h: Removed.
* bindings/scripts/test/ObjC/DOMTestClassWithJSBuiltinConstructor.mm: Removed.
* bindings/scripts/test/ObjC/DOMTestClassWithJSBuiltinConstructorInternal.h: Removed.
* bindings/scripts/test/ObjC/DOMTestCustomConstructorWithNoInterfaceObject.h: Removed.
* bindings/scripts/test/ObjC/DOMTestCustomConstructorWithNoInterfaceObject.mm: Removed.
* bindings/scripts/test/ObjC/DOMTestCustomConstructorWithNoInterfaceObjectInternal.h: Removed.
* bindings/scripts/test/ObjC/DOMTestCustomNamedGetter.h: Removed.
* bindings/scripts/test/ObjC/DOMTestCustomNamedGetter.mm: Removed.
* bindings/scripts/test/ObjC/DOMTestCustomNamedGetterInternal.h: Removed.
* bindings/scripts/test/ObjC/DOMTestEventConstructor.h: Removed.
* bindings/scripts/test/ObjC/DOMTestEventConstructor.mm: Removed.
* bindings/scripts/test/ObjC/DOMTestEventConstructorInternal.h: Removed.
* bindings/scripts/test/ObjC/DOMTestEventTarget.h: Removed.
* bindings/scripts/test/ObjC/DOMTestEventTarget.mm: Removed.
* bindings/scripts/test/ObjC/DOMTestEventTargetInternal.h: Removed.
* bindings/scripts/test/ObjC/DOMTestException.h: Removed.
* bindings/scripts/test/ObjC/DOMTestException.mm: Removed.
* bindings/scripts/test/ObjC/DOMTestExceptionInternal.h: Removed.
* bindings/scripts/test/ObjC/DOMTestGenerateIsReachable.h: Removed.
* bindings/scripts/test/ObjC/DOMTestGenerateIsReachable.mm: Removed.
* bindings/scripts/test/ObjC/DOMTestGenerateIsReachableInternal.h: Removed.
* bindings/scripts/test/ObjC/DOMTestGlobalObject.h: Removed.
* bindings/scripts/test/ObjC/DOMTestGlobalObject.mm: Removed.
* bindings/scripts/test/ObjC/DOMTestGlobalObjectInternal.h: Removed.
* bindings/scripts/test/ObjC/DOMTestImplements.cpp: Removed.
* bindings/scripts/test/ObjC/DOMTestImplements.h: Removed.
* bindings/scripts/test/ObjC/DOMTestInterface.h: Removed.
* bindings/scripts/test/ObjC/DOMTestInterface.mm: Removed.
* bindings/scripts/test/ObjC/DOMTestInterfaceInternal.h: Removed.
* bindings/scripts/test/ObjC/DOMTestIterable.h: Removed.
* bindings/scripts/test/ObjC/DOMTestIterable.mm: Removed.
* bindings/scripts/test/ObjC/DOMTestIterableInternal.h: Removed.
* bindings/scripts/test/ObjC/DOMTestJSBuiltinConstructor.h: Removed.
* bindings/scripts/test/ObjC/DOMTestJSBuiltinConstructor.mm: Removed.
* bindings/scripts/test/ObjC/DOMTestJSBuiltinConstructorInternal.h: Removed.
* bindings/scripts/test/ObjC/DOMTestMediaQueryListListener.h: Removed.
* bindings/scripts/test/ObjC/DOMTestMediaQueryListListener.mm: Removed.
* bindings/scripts/test/ObjC/DOMTestMediaQueryListListenerInternal.h: Removed.
* bindings/scripts/test/ObjC/DOMTestNamedConstructor.h: Removed.
* bindings/scripts/test/ObjC/DOMTestNamedConstructor.mm: Removed.
* bindings/scripts/test/ObjC/DOMTestNamedConstructorInternal.h: Removed.
* bindings/scripts/test/ObjC/DOMTestNode.h: Removed.
* bindings/scripts/test/ObjC/DOMTestNode.mm: Removed.
* bindings/scripts/test/ObjC/DOMTestNodeInternal.h: Removed.
* bindings/scripts/test/ObjC/DOMTestNondeterministic.h: Removed.
* bindings/scripts/test/ObjC/DOMTestNondeterministic.mm: Removed.
* bindings/scripts/test/ObjC/DOMTestNondeterministicInternal.h: Removed.
* bindings/scripts/test/ObjC/DOMTestObj.h: Removed.
* bindings/scripts/test/ObjC/DOMTestObj.mm: Removed.
* bindings/scripts/test/ObjC/DOMTestObjInternal.h: Removed.
* bindings/scripts/test/ObjC/DOMTestOverloadedConstructors.h: Removed.
* bindings/scripts/test/ObjC/DOMTestOverloadedConstructors.mm: Removed.
* bindings/scripts/test/ObjC/DOMTestOverloadedConstructorsInternal.h: Removed.
* bindings/scripts/test/ObjC/DOMTestOverrideBuiltins.h: Removed.
* bindings/scripts/test/ObjC/DOMTestOverrideBuiltins.mm: Removed.
* bindings/scripts/test/ObjC/DOMTestOverrideBuiltinsInternal.h: Removed.
* bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterface.h: Removed.
* bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterface.mm: Removed.
* bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterfaceInternal.h: Removed.
* bindings/scripts/test/ObjC/DOMTestSupplemental.cpp: Removed.
* bindings/scripts/test/ObjC/DOMTestSupplemental.h: Removed.
* bindings/scripts/test/ObjC/DOMTestTypedefs.h: Removed.
* bindings/scripts/test/ObjC/DOMTestTypedefs.mm: Removed.
* bindings/scripts/test/ObjC/DOMTestTypedefsInternal.h: Removed.
* bindings/scripts/test/ObjC/DOMattribute.h: Removed.
* bindings/scripts/test/ObjC/DOMattribute.mm: Removed.
* bindings/scripts/test/ObjC/DOMattributeInternal.h: Removed.
* bindings/scripts/test/ObjC/DOMreadonly.h: Removed.
* bindings/scripts/test/ObjC/DOMreadonly.mm: Removed.
* bindings/scripts/test/ObjC/DOMreadonlyInternal.h: Removed.
* bindings/scripts/test/ObjC/ObjCTestSupplemental.cpp: Removed.
* bindings/scripts/test/ObjC/ObjCTestSupplemental.h: Removed.

Tools:

* Scripts/run-bindings-tests:
Update test.

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

3 years agoRemove dead bindings code
andersca@apple.com [Wed, 3 Aug 2016 21:31:03 +0000 (21:31 +0000)]
Remove dead bindings code
https://bugs.webkit.org/show_bug.cgi?id=160521

Reviewed by Tim Horton.

* WebCore.xcodeproj/project.pbxproj:
* bindings/objc/DOMBlob.mm:
(core): Deleted.
* bindings/objc/DOMBlobInternal.h:
* bindings/objc/DOMCDATASection.mm:
(core): Deleted.
* bindings/objc/DOMCDATASectionInternal.h:
* bindings/objc/DOMCSSCharsetRule.mm:
(core): Deleted.
(kit): Deleted.
* bindings/objc/DOMCSSCharsetRuleInternal.h: Removed.
* bindings/objc/DOMCSSFontFaceRule.mm:
(core): Deleted.
(kit): Deleted.
* bindings/objc/DOMCSSFontFaceRuleInternal.h: Removed.
* bindings/objc/DOMCSSImportRule.mm:
(core): Deleted.
(kit): Deleted.
* bindings/objc/DOMCSSImportRuleInternal.h: Removed.
* bindings/objc/DOMCSSMediaRule.mm:
(core): Deleted.
(kit): Deleted.
* bindings/objc/DOMCSSMediaRuleInternal.h: Removed.
* bindings/objc/DOMCSSPageRule.mm:
(core): Deleted.
(kit): Deleted.
* bindings/objc/DOMCSSPageRuleInternal.h: Removed.
* bindings/objc/DOMCSSPrimitiveValue.mm:
(core): Deleted.
* bindings/objc/DOMCSSPrimitiveValueInternal.h:
* bindings/objc/DOMCSSRule.mm:
(core): Deleted.
* bindings/objc/DOMCSSRuleInternal.h:
* bindings/objc/DOMCSSRuleList.mm:
(core): Deleted.
* bindings/objc/DOMCSSRuleListInternal.h:
* bindings/objc/DOMCSSStyleRule.mm:
(core): Deleted.
(kit): Deleted.
* bindings/objc/DOMCSSStyleRuleInternal.h: Removed.
* bindings/objc/DOMCSSStyleSheet.mm:
(core): Deleted.
* bindings/objc/DOMCSSStyleSheetInternal.h:
* bindings/objc/DOMCSSUnknownRule.mm:
(core): Deleted.
(kit): Deleted.
* bindings/objc/DOMCSSUnknownRuleInternal.h: Removed.
* bindings/objc/DOMCSSValue.mm:
(core): Deleted.
* bindings/objc/DOMCSSValueInternal.h:
* bindings/objc/DOMCSSValueList.mm:
(core): Deleted.
(kit): Deleted.
* bindings/objc/DOMCSSValueListInternal.h: Removed.
* bindings/objc/DOMCharacterData.mm:
(core): Deleted.
(kit): Deleted.
* bindings/objc/DOMCharacterDataInternal.h: Removed.
* bindings/objc/DOMComment.mm:
(core): Deleted.
* bindings/objc/DOMCommentInternal.h:
* bindings/objc/DOMCounter.mm:
(core): Deleted.
* bindings/objc/DOMCounterInternal.h:
* bindings/objc/DOMDOMImplementation.mm:
(core): Deleted.
* bindings/objc/DOMDOMImplementationInternal.h:
* bindings/objc/DOMDOMTokenList.mm:
(core): Deleted.
* bindings/objc/DOMDOMTokenListInternal.h:
* bindings/objc/DOMEntity.mm:
(core): Deleted.
(kit): Deleted.
* bindings/objc/DOMEntityInternal.h: Removed.
* bindings/objc/DOMEntityReference.mm:
(core): Deleted.
* bindings/objc/DOMEntityReferenceInternal.h:
* bindings/objc/DOMFile.mm:
(core): Deleted.
* bindings/objc/DOMFileInternal.h:
* bindings/objc/DOMHTMLAnchorElement.mm:
(core): Deleted.
(kit): Deleted.
* bindings/objc/DOMHTMLAnchorElementInternal.h: Removed.
* bindings/objc/DOMHTMLAppletElement.mm:
(core): Deleted.
(kit): Deleted.
* bindings/objc/DOMHTMLAppletElementInternal.h: Removed.
* bindings/objc/DOMHTMLAreaElement.mm:
(kit): Deleted.
* bindings/objc/DOMHTMLAreaElementInternal.h:
* bindings/objc/DOMHTMLBRElement.mm:
(core): Deleted.
(kit): Deleted.
* bindings/objc/DOMHTMLBRElementInternal.h: Removed.
* bindings/objc/DOMHTMLBaseElement.mm:
(core): Deleted.
(kit): Deleted.
* bindings/objc/DOMHTMLBaseElementInternal.h: Removed.
* bindings/objc/DOMHTMLBaseFontElement.mm:
(core): Deleted.
(kit): Deleted.
* bindings/objc/DOMHTMLBaseFontElementInternal.h: Removed.
* bindings/objc/DOMHTMLBodyElement.mm:
(core): Deleted.
(kit): Deleted.
* bindings/objc/DOMHTMLBodyElementInternal.h: Removed.
* bindings/objc/DOMHTMLButtonElement.mm:
(core): Deleted.
(kit): Deleted.
* bindings/objc/DOMHTMLButtonElementInternal.h: Removed.
* bindings/objc/DOMHTMLCanvasElement.mm:
(core): Deleted.
(kit): Deleted.
* bindings/objc/DOMHTMLCanvasElementInternal.h: Removed.
* bindings/objc/DOMHTMLCollection.mm:
(core): Deleted.
* bindings/objc/DOMHTMLCollectionInternal.h:
* bindings/objc/DOMHTMLDListElement.mm:
(core): Deleted.
(kit): Deleted.
* bindings/objc/DOMHTMLDListElementInternal.h: Removed.
* bindings/objc/DOMHTMLDirectoryElement.mm:
(core): Deleted.
(kit): Deleted.
* bindings/objc/DOMHTMLDirectoryElementInternal.h: Removed.
* bindings/objc/DOMHTMLDivElement.mm:
(core): Deleted.
(kit): Deleted.
* bindings/objc/DOMHTMLDivElementInternal.h: Removed.
* bindings/objc/DOMHTMLEmbedElement.mm:
(core): Deleted.
(kit): Deleted.
* bindings/objc/DOMHTMLEmbedElementInternal.h: Removed.
* bindings/objc/DOMHTMLFieldSetElement.mm:
(core): Deleted.
(kit): Deleted.
* bindings/objc/DOMHTMLFieldSetElementInternal.h: Removed.
* bindings/objc/DOMHTMLFontElement.mm:
(core): Deleted.
(kit): Deleted.
* bindings/objc/DOMHTMLFontElementInternal.h: Removed.
* bindings/objc/DOMHTMLFormElement.mm:
(core): Deleted.
* bindings/objc/DOMHTMLFormElementInternal.h:
* bindings/objc/DOMHTMLFrameElement.mm:
(core): Deleted.
(kit): Deleted.
* bindings/objc/DOMHTMLFrameElementInternal.h: Removed.
* bindings/objc/DOMHTMLFrameSetElement.mm:
(core): Deleted.
(kit): Deleted.
* bindings/objc/DOMHTMLFrameSetElementInternal.h: Removed.
* bindings/objc/DOMHTMLHRElement.mm:
(core): Deleted.
(kit): Deleted.
* bindings/objc/DOMHTMLHRElementInternal.h: Removed.
* bindings/objc/DOMHTMLHeadElement.mm:
(core): Deleted.
* bindings/objc/DOMHTMLHeadElementInternal.h:
* bindings/objc/DOMHTMLHeadingElement.mm:
(core): Deleted.
(kit): Deleted.
* bindings/objc/DOMHTMLHeadingElementInternal.h: Removed.
* bindings/objc/DOMHTMLHtmlElement.mm:
(core): Deleted.
(kit): Deleted.
* bindings/objc/DOMHTMLHtmlElementInternal.h: Removed.
* bindings/objc/DOMHTMLIFrameElement.mm:
(core): Deleted.
(kit): Deleted.
* bindings/objc/DOMHTMLIFrameElementInternal.h: Removed.
* bindings/objc/DOMHTMLImageElement.mm:
(kit): Deleted.
* bindings/objc/DOMHTMLImageElementInternal.h:
* bindings/objc/DOMHTMLLIElement.mm:
(core): Deleted.
(kit): Deleted.
* bindings/objc/DOMHTMLLIElementInternal.h: Removed.
* bindings/objc/DOMHTMLLabelElement.mm:
(core): Deleted.
(kit): Deleted.
* bindings/objc/DOMHTMLLabelElementInternal.h: Removed.
* bindings/objc/DOMHTMLLegendElement.mm:
(core): Deleted.
(kit): Deleted.
* bindings/objc/DOMHTMLLegendElementInternal.h: Removed.
* bindings/objc/DOMHTMLLinkElement.mm:
(kit): Deleted.
* bindings/objc/DOMHTMLLinkElementInternal.h:
* bindings/objc/DOMHTMLMapElement.mm:
(core): Deleted.
(kit): Deleted.
* bindings/objc/DOMHTMLMapElementInternal.h: Removed.
* bindings/objc/DOMHTMLMarqueeElement.mm:
(core): Deleted.
(kit): Deleted.
* bindings/objc/DOMHTMLMarqueeElementInternal.h: Removed.
* bindings/objc/DOMHTMLMediaElement.mm:
(core): Deleted.
(kit): Deleted.
* bindings/objc/DOMHTMLMediaElementInternal.h: Removed.
* bindings/objc/DOMHTMLMenuElement.mm:
(core): Deleted.
(kit): Deleted.
* bindings/objc/DOMHTMLMenuElementInternal.h: Removed.
* bindings/objc/DOMHTMLMetaElement.mm:
(core): Deleted.
(kit): Deleted.
* bindings/objc/DOMHTMLMetaElementInternal.h: Removed.
* bindings/objc/DOMHTMLModElement.mm:
(core): Deleted.
(kit): Deleted.
* bindings/objc/DOMHTMLModElementInternal.h: Removed.
* bindings/objc/DOMHTMLOListElement.mm:
(core): Deleted.
(kit): Deleted.
* bindings/objc/DOMHTMLOListElementInternal.h: Removed.
* bindings/objc/DOMHTMLObjectElement.mm:
(core): Deleted.
(kit): Deleted.
* bindings/objc/DOMHTMLObjectElementInternal.h: Removed.
* bindings/objc/DOMHTMLOptGroupElement.mm:
(core): Deleted.
(kit): Deleted.
* bindings/objc/DOMHTMLOptGroupElementInternal.h: Removed.
* bindings/objc/DOMHTMLOptionsCollection.mm:
(core): Deleted.
* bindings/objc/DOMHTMLOptionsCollectionInternal.h:
* bindings/objc/DOMHTMLParagraphElement.mm:
(core): Deleted.
(kit): Deleted.
* bindings/objc/DOMHTMLParagraphElementInternal.h: Removed.
* bindings/objc/DOMHTMLParamElement.mm:
(core): Deleted.
(kit): Deleted.
* bindings/objc/DOMHTMLParamElementInternal.h: Removed.
* bindings/objc/DOMHTMLPreElement.mm:
(core): Deleted.
(kit): Deleted.
* bindings/objc/DOMHTMLPreElementInternal.h: Removed.
* bindings/objc/DOMHTMLQuoteElement.mm:
(core): Deleted.
(kit): Deleted.
* bindings/objc/DOMHTMLQuoteElementInternal.h: Removed.
* bindings/objc/DOMHTMLScriptElement.mm:
(core): Deleted.
* bindings/objc/DOMHTMLScriptElementInternal.h:
* bindings/objc/DOMHTMLSelectElement.mm:
(kit): Deleted.
* bindings/objc/DOMHTMLSelectElementInternal.h:
* bindings/objc/DOMHTMLStyleElement.mm:
(kit): Deleted.
* bindings/objc/DOMHTMLStyleElementInternal.h:
* bindings/objc/DOMHTMLTableColElement.mm:
(kit): Deleted.
* bindings/objc/DOMHTMLTableColElementInternal.h:
* bindings/objc/DOMHTMLTableElement.mm:
(core): Deleted.
(kit): Deleted.
* bindings/objc/DOMHTMLTableElementInternal.h: Removed.
* bindings/objc/DOMHTMLTableRowElement.mm:
(core): Deleted.
(kit): Deleted.
* bindings/objc/DOMHTMLTableRowElementInternal.h: Removed.
* bindings/objc/DOMHTMLTitleElement.mm:
(core): Deleted.
(kit): Deleted.
* bindings/objc/DOMHTMLTitleElementInternal.h: Removed.
* bindings/objc/DOMHTMLUListElement.mm:
(core): Deleted.
(kit): Deleted.
* bindings/objc/DOMHTMLUListElementInternal.h: Removed.
* bindings/objc/DOMHTMLVideoElement.mm:
(core): Deleted.
(kit): Deleted.
* bindings/objc/DOMHTMLVideoElementInternal.h: Removed.
* bindings/objc/DOMKeyboardEvent.mm:
(core): Deleted.
(kit): Deleted.
* bindings/objc/DOMKeyboardEventInternal.h: Removed.
* bindings/objc/DOMMediaError.mm:
(core): Deleted.
* bindings/objc/DOMMediaErrorInternal.h:
* bindings/objc/DOMMediaList.mm:
(core): Deleted.
* bindings/objc/DOMMediaListInternal.h:
* bindings/objc/DOMMouseEvent.mm:
(core): Deleted.
(kit): Deleted.
* bindings/objc/DOMMouseEventInternal.h: Removed.
* bindings/objc/DOMMutationEvent.mm:
(core): Deleted.
(kit): Deleted.
* bindings/objc/DOMMutationEventInternal.h: Removed.
* bindings/objc/DOMNamedNodeMap.mm:
(core): Deleted.
* bindings/objc/DOMNamedNodeMapInternal.h:
* bindings/objc/DOMNodeIterator.mm:
(core): Deleted.
* bindings/objc/DOMNodeIteratorInternal.h:
* bindings/objc/DOMNodeList.mm:
(core): Deleted.
* bindings/objc/DOMNodeListInternal.h:
* bindings/objc/DOMOverflowEvent.mm:
(core): Deleted.
(kit): Deleted.
* bindings/objc/DOMOverflowEventInternal.h: Removed.
* bindings/objc/DOMProgressEvent.mm:
(core): Deleted.
(kit): Deleted.
* bindings/objc/DOMProgressEventInternal.h: Removed.
* bindings/objc/DOMRGBColor.mm:
(core): Deleted.
* bindings/objc/DOMRGBColorInternal.h:
* bindings/objc/DOMRect.mm:
(core): Deleted.
* bindings/objc/DOMRectInternal.h:
* bindings/objc/DOMStyleSheet.mm:
(core): Deleted.
* bindings/objc/DOMStyleSheetInternal.h:
* bindings/objc/DOMStyleSheetList.mm:
(core): Deleted.
* bindings/objc/DOMStyleSheetListInternal.h:
* bindings/objc/DOMText.mm:
(core): Deleted.
* bindings/objc/DOMTextEvent.mm:
(core): Deleted.
(kit): Deleted.
* bindings/objc/DOMTextEventInternal.h: Removed.
* bindings/objc/DOMTextInternal.h:
* bindings/objc/DOMTimeRanges.mm:
(core): Deleted.
* bindings/objc/DOMTimeRangesInternal.h:
* bindings/objc/DOMTreeWalker.mm:
(core): Deleted.
* bindings/objc/DOMTreeWalkerInternal.h:
* bindings/objc/DOMUIEvent.mm:
(core): Deleted.
(kit): Deleted.
* bindings/objc/DOMUIEventInternal.h: Removed.
* bindings/objc/DOMWheelEvent.mm:
(kit): Deleted.
* bindings/objc/DOMWheelEventInternal.h:
* bindings/objc/DOMXPathExpression.mm:
(core): Deleted.
* bindings/objc/DOMXPathExpressionInternal.h:

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

3 years ago[Mac] Work around AVPlayer setMuted bug
eric.carlson@apple.com [Wed, 3 Aug 2016 20:57:43 +0000 (20:57 +0000)]
[Mac] Work around AVPlayer setMuted bug
https://bugs.webkit.org/show_bug.cgi?id=160519
<rdar://problem/27310475>

Reviewed by Dean Jackson.

* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h: Only override
supportsMuting on iOS.

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

3 years agoWeb Inspector: Cmd-L shortcut for Jump to Line conflicts with selecting URL of inspec...
mattbaker@apple.com [Wed, 3 Aug 2016 20:49:15 +0000 (20:49 +0000)]
Web Inspector: Cmd-L shortcut for Jump to Line conflicts with selecting URL of inspected page
https://bugs.webkit.org/show_bug.cgi?id=158028
<rdar://problem/26516663>

Reviewed by Timothy Hatcher.

Remove Command-L shortcut for opening the Line Number dialog, since
we already support Control-G.

* UserInterface/Views/SourceCodeTextEditor.js:
(WebInspector.SourceCodeTextEditor): Deleted.

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

3 years ago[SOUP] Deduplicate WebProcessPool::setIgnoreTLSErrors
mcatanzaro@igalia.com [Wed, 3 Aug 2016 20:06:22 +0000 (20:06 +0000)]
[SOUP] Deduplicate WebProcessPool::setIgnoreTLSErrors
https://bugs.webkit.org/show_bug.cgi?id=160489

Reviewed by Alex Christensen.

WebProcessPool::setIgnoreTLSErrors has identical implementation in WebProcessPoolEfl.cpp
and WebProcessPoolGtk.cpp. We have WebProcessPoolSoup.cpp and this function is specific to
the soup network backend, so move it there.

* UIProcess/efl/WebProcessPoolEfl.cpp:
(WebKit::WebProcessPool::setIgnoreTLSErrors): Deleted.
* UIProcess/gtk/WebProcessPoolGtk.cpp:
(WebKit::WebProcessPool::setIgnoreTLSErrors): Deleted.
* UIProcess/soup/WebProcessPoolSoup.cpp:
(WebKit::WebProcessPool::setIgnoreTLSErrors):

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

3 years agoUnreviewed test gardening.
ryanhaddad@apple.com [Wed, 3 Aug 2016 19:40:33 +0000 (19:40 +0000)]
Unreviewed test gardening.

* platform/ios-simulator/imported/w3c/web-platform-tests/html/dom/reflection-embedded-expected.txt:
* platform/ios-simulator/imported/w3c/web-platform-tests/html/dom/reflection-forms-expected.txt:
* platform/ios-simulator/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-checkValidity-expected.txt:
* platform/ios-simulator/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-reportValidity-expected.txt:
* platform/ios-simulator/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-rangeOverflow-expected.txt:
* platform/ios-simulator/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-rangeUnderflow-expected.txt:
* platform/ios-simulator/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-stepMismatch-expected.txt:
* platform/ios-simulator/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valid-expected.txt:
* platform/ios-simulator/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valueMissing-expected.txt:
* platform/ios-simulator/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-willValidate-expected.txt: Renamed from LayoutTests/platform/ios-simulator-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-willValidate-expected.txt.
* platform/ios-simulator/imported/w3c/web-platform-tests/html/semantics/forms/form-control-infrastructure/form-expected.txt:

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

3 years agoREGRESSION(r203368): broke some test262 tests
fpizlo@apple.com [Wed, 3 Aug 2016 18:50:57 +0000 (18:50 +0000)]
REGRESSION(r203368): broke some test262 tests
https://bugs.webkit.org/show_bug.cgi?id=160479

Reviewed by Mark Lam.

JSTests:

Added a stress test for this case, since we don't always run test262.

* stress/freeze-setter.js: Added.
(let.o.set foo):

Source/JavaScriptCore:

The optimization in r203368 overlooked a subtle detail: freezing should not set ReadOnly on
Accessor properties.

* runtime/Structure.cpp:
(JSC::Structure::nonPropertyTransition):
* runtime/StructureTransitionTable.h:
(JSC::setsDontDeleteOnAllProperties):
(JSC::setsReadOnlyOnNonAccessorProperties):
(JSC::setsReadOnlyOnAllProperties): Deleted.

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

3 years agoRevise a TestWebKitAPI comment to mention the actual underlying problem
timothy_horton@apple.com [Wed, 3 Aug 2016 18:44:04 +0000 (18:44 +0000)]
Revise a TestWebKitAPI comment to mention the actual underlying problem

* TestWebKitAPI/Tests/WebKit2Cocoa/AnimatedResize.mm:
Note that this is because of https://bugs.webkit.org/show_bug.cgi?id=160516

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

3 years ago[bmalloc] Merging of XLargeRanges can leak the upper range
ggaren@apple.com [Wed, 3 Aug 2016 18:43:15 +0000 (18:43 +0000)]
[bmalloc] Merging of XLargeRanges can leak the upper range
https://bugs.webkit.org/show_bug.cgi?id=160403

Reviewed by Michael Saboff.

* bmalloc/Heap.cpp:
(bmalloc::Heap::scavengeLargeObjects): Don't use removePhysical().
Recorded physical size is a performance optimization. It is not the
truth. So it might be zero even if a range contains physical pages.

Instead, iterate each range in the map unconditionally.

The map can shrink when we release the lock, so we must clamp our
iterator each time through the loop.

The map can grow when we release the lock, but we don't care because
growth restarts the scavenger from the beginning.

* bmalloc/XLargeMap.cpp:
(bmalloc::XLargeMap::removePhysical): Deleted. Not used anymore.

* bmalloc/XLargeMap.h:
(bmalloc::XLargeMap::ranges): Added direct access for the sake of
scavengeLargeObjects. (This violates our naming conventions -- I'll do
a rename in a follow-up patch.)

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

3 years agoFix logging in W3C tests
cdumez@apple.com [Wed, 3 Aug 2016 18:35:21 +0000 (18:35 +0000)]
Fix logging in W3C tests
https://bugs.webkit.org/show_bug.cgi?id=160513

Reviewed by Alex Christensen.

LayoutTests/imported/w3c:

Rebaseline W3C tests.

* web-platform-tests/XMLHttpRequest/open-url-about-blank-window-expected.txt:
* web-platform-tests/XMLHttpRequest/open-url-javascript-window-2-expected.txt:
* web-platform-tests/XMLHttpRequest/open-url-javascript-window-expected.txt:
* web-platform-tests/XMLHttpRequest/open-url-multi-window-4-expected.txt:
* web-platform-tests/XMLHttpRequest/open-url-multi-window-5-expected.txt:
* web-platform-tests/XMLHttpRequest/open-url-multi-window-expected.txt:
* web-platform-tests/XMLHttpRequest/send-content-type-string-expected.txt:
* web-platform-tests/dom/collections/domstringmap-supported-property-names-expected.txt:
* web-platform-tests/dom/collections/namednodemap-supported-property-names-expected.txt:
* web-platform-tests/dom/nodes/Comment-constructor-expected.txt:
* web-platform-tests/dom/nodes/Document-contentType/contentType/contenttype_bmp-expected.txt:
* web-platform-tests/dom/nodes/Document-contentType/contentType/contenttype_css-expected.txt:
* web-platform-tests/dom/nodes/Document-contentType/contentType/contenttype_datauri_01-expected.txt:
* web-platform-tests/dom/nodes/Document-contentType/contentType/contenttype_datauri_02-expected.txt:
* web-platform-tests/dom/nodes/Document-contentType/contentType/contenttype_gif-expected.txt:
* web-platform-tests/dom/nodes/Document-contentType/contentType/contenttype_html-expected.txt:
* web-platform-tests/dom/nodes/Document-contentType/contentType/contenttype_javascripturi-expected.txt:
* web-platform-tests/dom/nodes/Document-contentType/contentType/contenttype_jpg-expected.txt:
* web-platform-tests/dom/nodes/Document-contentType/contentType/contenttype_mimeheader_01-expected.txt:
* web-platform-tests/dom/nodes/Document-contentType/contentType/contenttype_mimeheader_02-expected.txt:
* web-platform-tests/dom/nodes/Document-contentType/contentType/contenttype_png-expected.txt:
* web-platform-tests/dom/nodes/Document-contentType/contentType/contenttype_txt-expected.txt:
* web-platform-tests/dom/nodes/Document-contentType/contentType/contenttype_xml-expected.txt:
* web-platform-tests/dom/nodes/Document-createElement-namespace-expected.txt:
* web-platform-tests/dom/nodes/Element-childElement-null-expected.txt:
* web-platform-tests/dom/nodes/Element-childElement-null-xhtml-expected.txt:
* web-platform-tests/dom/nodes/Element-childElementCount-dynamic-add-expected.txt:
* web-platform-tests/dom/nodes/Element-childElementCount-dynamic-add-xhtml-expected.txt:
* web-platform-tests/dom/nodes/Element-childElementCount-dynamic-remove-expected.txt:
* web-platform-tests/dom/nodes/Element-childElementCount-dynamic-remove-xhtml-expected.txt:
* web-platform-tests/dom/nodes/Element-childElementCount-expected.txt:
* web-platform-tests/dom/nodes/Element-childElementCount-nochild-expected.txt:
* web-platform-tests/dom/nodes/Element-childElementCount-nochild-xhtml-expected.txt:
* web-platform-tests/dom/nodes/Element-childElementCount-xhtml-expected.txt:
* web-platform-tests/dom/nodes/Element-children-expected.txt:
* web-platform-tests/dom/nodes/Element-firstElementChild-entity-xhtml-expected.txt:
* web-platform-tests/dom/nodes/Element-firstElementChild-expected.txt:
* web-platform-tests/dom/nodes/Element-firstElementChild-namespace-expected.txt:
* web-platform-tests/dom/nodes/Element-firstElementChild-namespace-xhtml-expected.txt:
* web-platform-tests/dom/nodes/Element-firstElementChild-xhtml-expected.txt:
* web-platform-tests/dom/nodes/Element-insertAdjacentElement-expected.txt:
* web-platform-tests/dom/nodes/Element-insertAdjacentText-expected.txt:
* web-platform-tests/dom/nodes/Element-lastElementChild-expected.txt:
* web-platform-tests/dom/nodes/Element-lastElementChild-xhtml-expected.txt:
* web-platform-tests/dom/nodes/Element-nextElementSibling-expected.txt:
* web-platform-tests/dom/nodes/Element-nextElementSibling-xhtml-expected.txt:
* web-platform-tests/dom/nodes/Element-previousElementSibling-expected.txt:
* web-platform-tests/dom/nodes/Element-previousElementSibling-xhtml-expected.txt:
* web-platform-tests/dom/nodes/Element-siblingElement-null-expected.txt:
* web-platform-tests/dom/nodes/Element-siblingElement-null-xhtml-expected.txt:
* web-platform-tests/dom/nodes/Node-appendChild-expected.txt:
* web-platform-tests/dom/nodes/Node-contains-xml-expected.txt:
* web-platform-tests/dom/nodes/Node-isEqualNode-xhtml-expected.txt:
* web-platform-tests/dom/nodes/Node-removeChild-expected.txt:
* web-platform-tests/dom/nodes/Text-constructor-expected.txt:
* web-platform-tests/dom/nodes/getElementsByClassName-19-expected.txt:
* web-platform-tests/dom/nodes/getElementsByClassName-20-expected.txt:
* web-platform-tests/dom/nodes/getElementsByClassName-21-expected.txt:
* web-platform-tests/dom/nodes/getElementsByClassName-22-expected.txt:
* web-platform-tests/dom/nodes/getElementsByClassName-23-expected.txt:
* web-platform-tests/dom/nodes/getElementsByClassName-24-expected.txt:
* web-platform-tests/dom/nodes/getElementsByClassName-25-expected.txt:
* web-platform-tests/dom/nodes/getElementsByClassName-26-expected.txt:
* web-platform-tests/dom/nodes/getElementsByClassName-27-expected.txt:
* web-platform-tests/dom/nodes/getElementsByClassName-28-expected.txt:
* web-platform-tests/dom/nodes/getElementsByClassName-29-expected.txt:
* web-platform-tests/dom/nodes/getElementsByClassName-30-expected.txt:
* web-platform-tests/dom/nodes/getElementsByClassName-31-expected.txt:
* web-platform-tests/dom/traversal/TreeWalker-acceptNode-filter-expected.txt:
* web-platform-tests/dom/traversal/TreeWalker-basic-expected.txt:
* web-platform-tests/dom/traversal/TreeWalker-currentNode-expected.txt:
* web-platform-tests/dom/traversal/TreeWalker-previousNodeLastChildReject-expected.txt:
* web-platform-tests/dom/traversal/TreeWalker-previousSiblingLastChildSkip-expected.txt:
* web-platform-tests/dom/traversal/TreeWalker-traversal-reject-expected.txt:
* web-platform-tests/dom/traversal/TreeWalker-traversal-skip-expected.txt:
* web-platform-tests/dom/traversal/TreeWalker-traversal-skip-most-expected.txt:
* web-platform-tests/dom/traversal/TreeWalker-walking-outside-a-tree-expected.txt:
* web-platform-tests/domparsing/innerhtml-05-expected.txt:
* web-platform-tests/fetch/nosniff/image-expected.txt:
* web-platform-tests/html/dom/documents/dom-tree-accessors/document.forms-expected.txt:
* web-platform-tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-namespace-expected.txt:
* web-platform-tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-namespace-xhtml-expected.txt:
* web-platform-tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-newelements-expected.txt:
* web-platform-tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-newelements-xhtml-expected.txt:
* web-platform-tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-param-expected.txt:
* web-platform-tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-param-xhtml-expected.txt:
* web-platform-tests/html/dom/documents/dom-tree-accessors/document.images-expected.txt:
* web-platform-tests/html/dom/documents/dom-tree-accessors/nameditem-01-expected.txt:
* web-platform-tests/html/dom/documents/dom-tree-accessors/nameditem-02-expected.txt:
* web-platform-tests/html/dom/documents/dom-tree-accessors/nameditem-06-expected.txt:
* web-platform-tests/html/dom/dynamic-markup-insertion/document-write/049-expected.txt:
* web-platform-tests/html/dom/dynamic-markup-insertion/document-write/050-expected.txt:
* web-platform-tests/html/dom/dynamic-markup-insertion/document-write/051-expected.txt:
* web-platform-tests/html/dom/dynamic-markup-insertion/document-write/document.write-02-expected.txt:
* web-platform-tests/html/dom/dynamic-markup-insertion/document-writeln/document.writeln-02-expected.txt:
* web-platform-tests/html/dom/dynamic-markup-insertion/document-writeln/document.writeln-03-expected.txt:
* web-platform-tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/001-expected.txt:
* web-platform-tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/004-expected.txt:
* web-platform-tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/005-expected.txt:
* web-platform-tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/006-expected.txt:
* web-platform-tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/007-expected.txt:
* web-platform-tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/008-expected.txt:
* web-platform-tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/009-expected.txt:
* web-platform-tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/011-expected.txt:
* web-platform-tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/012-expected.txt:
* web-platform-tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/013-expected.txt:
* web-platform-tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/014-expected.txt:
* web-platform-tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/015-expected.txt:
* web-platform-tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/016-expected.txt:
* web-platform-tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/document.open-03-expected.txt:
* web-platform-tests/html/dom/reflection-embedded-expected.txt:
* web-platform-tests/html/dom/reflection-forms-expected.txt:
* web-platform-tests/html/dom/reflection-grouping-expected.txt:
* web-platform-tests/html/dom/reflection-metadata-expected.txt:
* web-platform-tests/html/dom/reflection-misc-expected.txt:
* web-platform-tests/html/dom/reflection-obsolete-expected.txt:
* web-platform-tests/html/dom/reflection-sections-expected.txt:
* web-platform-tests/html/dom/reflection-tabular-expected.txt:
* web-platform-tests/html/dom/reflection-text-expected.txt:
* web-platform-tests/html/semantics/disabled-elements/disabledElement-expected.txt:
* web-platform-tests/html/semantics/document-metadata/the-base-element/base_multiple-expected.txt:
* web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/TextTrack/activeCues-expected.txt:
* web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/TextTrack/addCue-expected.txt:
* web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/TextTrack/removeCue-expected.txt:
* web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/TextTrackCue/endTime-expected.txt:
* web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/TextTrackCue/id-expected.txt:
* web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/TextTrackCue/pauseOnExit-expected.txt:
* web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/TextTrackCue/startTime-expected.txt:
* web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/TextTrackCue/track-expected.txt:
* web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/TextTrackCueList/getCueById-expected.txt:
* web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/TextTrackCueList/getter-expected.txt:
* web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/TextTrackCueList/length-expected.txt:
* web-platform-tests/html/semantics/embedded-content/media-elements/video_008-expected.txt:
* web-platform-tests/html/semantics/embedded-content/media-elements/video_volume_check-expected.txt:
* web-platform-tests/html/semantics/embedded-content/the-embed-element/embed-dimension-expected.txt:
* web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe-allowfullscreen-expected.txt:
* web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_javascript_url_01-expected.txt:
* web-platform-tests/html/semantics/embedded-content/the-img-element/current-pixel-density/basic-expected.txt:
* web-platform-tests/html/semantics/embedded-content/the-img-element/current-pixel-density/error-expected.txt:
* web-platform-tests/html/semantics/embedded-content/the-img-element/environment-changes/viewport-change-expected.txt:
* web-platform-tests/html/semantics/embedded-content/the-img-element/sizes/parse-a-sizes-attribute-expected.txt:
* web-platform-tests/html/semantics/embedded-content/the-img-element/srcset/parse-a-srcset-attribute-expected.txt:
* web-platform-tests/html/semantics/embedded-content/the-img-element/srcset/select-an-image-source-expected.txt:
* web-platform-tests/html/semantics/embedded-content/the-img-element/update-media-expected.txt:
* web-platform-tests/html/semantics/embedded-content/the-img-element/update-the-source-set-expected.txt:
* web-platform-tests/html/semantics/embedded-content/the-object-element/object-attributes-expected.txt:
* web-platform-tests/html/semantics/embedded-content/the-object-element/object-handler-expected.txt:
* web-platform-tests/html/semantics/embedded-content/the-video-element/video-tabindex-expected.txt:
* web-platform-tests/html/semantics/forms/attributes-common-to-form-controls/dirname-ltr-expected.txt:
* web-platform-tests/html/semantics/forms/constraints/form-validation-checkValidity-expected.txt:
* web-platform-tests/html/semantics/forms/constraints/form-validation-reportValidity-expected.txt:
* web-platform-tests/html/semantics/forms/constraints/form-validation-validity-badInput-expected.txt:
* web-platform-tests/html/semantics/forms/constraints/form-validation-validity-customError-expected.txt:
* web-platform-tests/html/semantics/forms/constraints/form-validation-validity-patternMismatch-expected.txt:
* web-platform-tests/html/semantics/forms/constraints/form-validation-validity-rangeOverflow-expected.txt:
* web-platform-tests/html/semantics/forms/constraints/form-validation-validity-rangeUnderflow-expected.txt:
* web-platform-tests/html/semantics/forms/constraints/form-validation-validity-stepMismatch-expected.txt:
* web-platform-tests/html/semantics/forms/constraints/form-validation-validity-tooLong-expected.txt:
* web-platform-tests/html/semantics/forms/constraints/form-validation-validity-tooShort-expected.txt:
* web-platform-tests/html/semantics/forms/constraints/form-validation-validity-typeMismatch-expected.txt:
* web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valid-expected.txt:
* web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valueMissing-expected.txt:
* web-platform-tests/html/semantics/forms/constraints/form-validation-willValidate-expected.txt:
* web-platform-tests/html/semantics/forms/form-control-infrastructure/form-expected.txt:
* web-platform-tests/html/semantics/forms/textfieldselection/selection-expected.txt:
* web-platform-tests/html/semantics/forms/textfieldselection/textfieldselection-setSelectionRange-expected.txt:
* web-platform-tests/html/semantics/forms/the-button-element/button-validation-expected.txt:
* web-platform-tests/html/semantics/forms/the-datalist-element/datalistoptions-expected.txt:
* web-platform-tests/html/semantics/forms/the-fieldset-element/disabled-001-expected.txt:
* web-platform-tests/html/semantics/forms/the-fieldset-element/disabled-002-expected.txt:
* web-platform-tests/html/semantics/forms/the-form-element/form-autocomplete-expected.txt:
* web-platform-tests/html/semantics/forms/the-form-element/form-elements-matches-expected.txt:
* web-platform-tests/html/semantics/forms/the-form-element/form-elements-nameditem-01-expected.txt:
* web-platform-tests/html/semantics/forms/the-form-element/form-elements-nameditem-02-expected.txt:
* web-platform-tests/html/semantics/forms/the-form-element/form-elements-sameobject-expected.txt:
* web-platform-tests/html/semantics/forms/the-form-element/form-indexed-element-expected.txt:
* web-platform-tests/html/semantics/forms/the-form-element/form-nameditem-expected.txt:
* web-platform-tests/html/semantics/forms/the-input-element/button-expected.txt:
* web-platform-tests/html/semantics/forms/the-input-element/checkbox-expected.txt:
* web-platform-tests/html/semantics/forms/the-input-element/radio-expected.txt:
* web-platform-tests/html/semantics/forms/the-input-element/radio-groupname-case-expected.txt:
* web-platform-tests/html/semantics/forms/the-input-element/reset-expected.txt:
* web-platform-tests/html/semantics/forms/the-option-element/option-text-backslash-expected.txt:
* web-platform-tests/html/semantics/forms/the-output-element/output-expected.txt:
* web-platform-tests/html/semantics/forms/the-progress-element/progress-expected.txt:
* web-platform-tests/html/semantics/forms/the-select-element/common-HTMLOptionsCollection-expected.txt:
* web-platform-tests/html/semantics/forms/the-select-element/common-HTMLOptionsCollection-namedItem-expected.txt:
* web-platform-tests/html/semantics/forms/the-select-element/select-named-getter-expected.txt:
* web-platform-tests/html/semantics/grouping-content/the-li-element/grouping-li-expected.txt:
* web-platform-tests/html/semantics/grouping-content/the-ol-element/grouping-ol-expected.txt:
* web-platform-tests/html/semantics/interactive-elements/the-dialog-element/dialog-close-expected.txt:
* web-platform-tests/html/semantics/interactive-elements/the-dialog-element/dialog-showModal-expected.txt:
* web-platform-tests/html/semantics/scripting-1/the-script-element/async_003-expected.txt:
* web-platform-tests/html/semantics/scripting-1/the-script-element/async_004-expected.txt:
* web-platform-tests/html/semantics/scripting-1/the-script-element/async_005-expected.txt:
* web-platform-tests/html/semantics/scripting-1/the-script-element/async_006-expected.txt:
* web-platform-tests/html/semantics/scripting-1/the-script-element/async_007-expected.txt:
* web-platform-tests/html/semantics/scripting-1/the-script-element/async_008-expected.txt:
* web-platform-tests/html/semantics/scripting-1/the-script-element/async_010-expected.txt:
* web-platform-tests/html/semantics/scripting-1/the-script-element/script-noembed-noframes-iframe-expected.txt:
* web-platform-tests/html/semantics/selectors/pseudo-classes/checked-expected.txt:
* web-platform-tests/html/semantics/selectors/pseudo-classes/default-expected.txt:
* web-platform-tests/html/semantics/selectors/pseudo-classes/dir-expected.txt:
* web-platform-tests/html/semantics/selectors/pseudo-classes/dir01-expected.txt:
* web-platform-tests/html/semantics/selectors/pseudo-classes/disabled-expected.txt:
* web-platform-tests/html/semantics/selectors/pseudo-classes/enabled-expected.txt:
* web-platform-tests/html/semantics/selectors/pseudo-classes/focus-expected.txt:
* web-platform-tests/html/semantics/selectors/pseudo-classes/indeterminate-expected.txt:
* web-platform-tests/html/semantics/selectors/pseudo-classes/inrange-outofrange-expected.txt:
* web-platform-tests/html/semantics/selectors/pseudo-classes/readwrite-readonly-expected.txt:
* web-platform-tests/html/semantics/selectors/pseudo-classes/required-optional-expected.txt:
* web-platform-tests/html/semantics/selectors/pseudo-classes/valid-invalid-expected.txt:
* web-platform-tests/html/semantics/tabular-data/the-table-element/caption-methods-expected.txt:
* web-platform-tests/html/semantics/tabular-data/the-table-element/tBodies-expected.txt:
* web-platform-tests/html/semantics/tabular-data/the-tbody-element/insertRow-expected.txt:
* web-platform-tests/html/semantics/tabular-data/the-tr-element/cells-expected.txt:
* web-platform-tests/html/semantics/text-level-semantics/the-a-element/a.text-getter-01-expected.txt:
* web-platform-tests/html/semantics/text-level-semantics/the-a-element/a.text-setter-01-expected.txt:

LayoutTests:

Fix logging in W3C tests. Some W3C tests have no visible output or
output in the wrong order because we fail to use the test's "log"
<div> and always append the log lines to the body.

* resources/testharnessreport.js:
(self.testRunner.add_completion_callback):

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

3 years agoCleanup HTMLMediaElement track lists.
eric.carlson@apple.com [Wed, 3 Aug 2016 18:17:38 +0000 (18:17 +0000)]
Cleanup HTMLMediaElement track lists.
https://bugs.webkit.org/show_bug.cgi?id=160470

Reviewed by Brent Fulgham.

* html/track/AudioTrack.cpp:
(WebCore::AudioTrack::willRemove): Remove unnecessary ASSERT and NULL check.

* html/track/TextTrackList.cpp:
(TextTrackList::~TextTrackList): Call clearElement so media element and client pointers are
cleared.

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

3 years ago[Mac] media/pip-video-going-into-fullscreen.html is a flaky failure
adachan@apple.com [Wed, 3 Aug 2016 18:11:50 +0000 (18:11 +0000)]
[Mac] media/pip-video-going-into-fullscreen.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=160469

Reviewed by Eric Carlson.

Source/WebCore:

When going from picture-in-picture directly to fullscreen, fix the issue where the
presentation mode unexpectedly changes back to inline after changing to fullscreen.

On Mac, standard fullscreen is not handled by WebVideoFullscreenManager.
When going from picture-in-picture directly to fullscreen, we call
WebVideoFullscreenInterfaceMac::exitFullscreenWithoutAnimationToMode().
We should update m_mode to VideoFullscreenModeStandard there to keep it in sync
with the fullscreen mode in HTMLMediaElement. Otherwise, we'll inadvertently
update the mode to inline when we clear the VideoFullscreenModePictureInPicture mode
in -[WebVideoFullscreenInterfaceMacObjC pipDidClose:].

Since standard fullscreen on Mac doesn't make use of the video fullscreen layer,
we need to make sure we return the video layer back to inline when the presentation
mode changes to "fullscreen". We only do this on Mac because iOS does use
the video fullscreen layer for standard fullscreen.

* Modules/mediacontrols/MediaControlsHost.cpp:
(WebCore::MediaControlsHost::setPreparedToReturnVideoLayerToInline):
Renamed from MediaControlsHost::setPreparedForInline to make it clear this is about
whether the video layer should be inline.
(WebCore::MediaControlsHost::setPreparedForInline): Deleted.
* Modules/mediacontrols/MediaControlsHost.h:
* Modules/mediacontrols/MediaControlsHost.idl:

* Modules/mediacontrols/mediaControlsApple.js:
(Controller.prototype.shouldReturnVideoLayerToInline):
On Mac, the video layer is inline when the presentation mode is "inline" or "fullscreen".
(Controller.prototype.handlePresentationModeChange):
Call shouldReturnVideoLayerToInline() to determine whether the video layer should be inline.

* Modules/mediacontrols/mediaControlsiOS.js:
(ControllerIOS.prototype.shouldReturnVideoLayerToInline):
Override this method since on iOS, the video layer is only inline when the presentation
mode is "inline".

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::stopWithoutDestroyingMediaPlayer):
(WebCore::HTMLMediaElement::setPreparedToReturnVideoLayerToInline):
(WebCore::HTMLMediaElement::setPreparedForInline): Deleted.
* html/HTMLMediaElement.h:

* platform/mac/WebVideoFullscreenInterfaceMac.mm:
(WebCore::WebVideoFullscreenInterfaceMac::enterFullscreen):
Remove the assertion that the mode must be "picture-in-picture". I've run into this
assertion in layout tests. Since the EnterFullscreen message is sent in a dispatch_async
block in WebVideoFullscreenManager::didSetupFullscreen(), there's a chance that the
fullscreen mode tracked in WebVideoFullscreenInterfaceMac has already changed to
something else when WebVideoFullscreenInterfaceMac::enterFullscreen() is called.
(WebCore::WebVideoFullscreenInterfaceMac::exitFullscreenWithoutAnimationToMode):
If exiting to standard fullscreen, update m_mode to VideoFullscreenModeStandard.

LayoutTests:

Re-enable media/pip-video-going-into-fullscreen.html on Sierra.

* platform/mac-wk2/TestExpectations:

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

3 years agoBenchmark test content-animation timeouts always
clopez@igalia.com [Wed, 3 Aug 2016 18:05:50 +0000 (18:05 +0000)]
Benchmark test content-animation timeouts always
https://bugs.webkit.org/show_bug.cgi?id=160057

Reviewed by Simon Fraser.

* Scripts/webkitpy/benchmark_runner/data/plans/Skipped: Added.
* Scripts/webkitpy/benchmark_runner/run_benchmark.py:
(start):

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

3 years agohttp/tests/fetch/fetch-in-worker-crash.html is sometimes crashing
commit-queue@webkit.org [Wed, 3 Aug 2016 17:15:12 +0000 (17:15 +0000)]
http/tests/fetch/fetch-in-worker-crash.html is sometimes crashing
https://bugs.webkit.org/show_bug.cgi?id=160498

Patch by Youenn Fablet <youenn@apple.com> on 2016-08-03
Reviewed by Chris Dumez.

Source/WebCore:

Covered by http/tests/fetch/fetch-in-worker-crash.html.

* loader/WorkerThreadableLoader.cpp:
(WebCore::WorkerThreadableLoader::MainThreadBridge::cancel): Taking a reference of the client wrapper to ensure it can be cleaned-up successfully.

LayoutTests:

* http/tests/fetch/fetch-in-worker.js:
(onmessage): Reducing flakiness risk by making fetch http load being delayed.

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

3 years agoLacking support on a arm-traditional disassembler.
ossy@webkit.org [Wed, 3 Aug 2016 17:12:55 +0000 (17:12 +0000)]
Lacking support on a arm-traditional disassembler.
https://bugs.webkit.org/show_bug.cgi?id=123717

Reviewed by Mark Lam.

.:

* Source/cmake/FindLLVM.cmake: Added back the r196749 state.
* Source/cmake/OptionsCommon.cmake: Added back the r196749 state.

Source/JavaScriptCore:

* CMakeLists.txt:
* disassembler/ARMLLVMDisassembler.cpp: Added, based on pre r196729 LLVMDisassembler, but it is ARM traditional only now.
(JSC::tryToDisassemble):

Source/WTF:

* wtf/Platform.h:

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

3 years agoFreeze the last of the Objective-C bindings
andersca@apple.com [Wed, 3 Aug 2016 16:53:15 +0000 (16:53 +0000)]
Freeze the last of the Objective-C bindings
https://bugs.webkit.org/show_bug.cgi?id=160482

Reviewed by Darin Adler.

* WebCore.xcodeproj/project.pbxproj:
* bindings/objc/DOMAttr.h: Added.
* bindings/objc/DOMAttr.mm: Added.
* bindings/objc/DOMAttrInternal.h: Added.
* bindings/objc/DOMCDATASection.h: Added.
* bindings/objc/DOMCDATASection.mm: Added.
* bindings/objc/DOMCDATASectionInternal.h: Added.
* bindings/objc/DOMCharacterData.h
* bindings/objc/DOMCharacterData.mm: Added.
* bindings/objc/DOMCharacterDataInternal.h: Added.
* bindings/objc/DOMComment.h: Added.
* bindings/objc/DOMComment.mm: Added.
* bindings/objc/DOMCommentInternal.h: Added.
* bindings/objc/DOMDOMImplementation.h: Added.
* bindings/objc/DOMDOMImplementation.mm: Added.
* bindings/objc/DOMDOMImplementationInternal.h: Added.
* bindings/objc/DOMDocument.h: Added.
* bindings/objc/DOMDocument.mm: Added.
* bindings/objc/DOMDocumentFragment.h: Added.
* bindings/objc/DOMDocumentFragment.mm: Added.
* bindings/objc/DOMDocumentFragmentInternal.h: Added.
* bindings/objc/DOMDocumentFragmentPrivate.h: Added.
* bindings/objc/DOMDocumentInternal.h: Added.
* bindings/objc/DOMDocumentPrivate.h: Added.
* bindings/objc/DOMDocumentType.h: Added.
* bindings/objc/DOMDocumentType.mm: Added.
* bindings/objc/DOMDocumentTypeInternal.h: Added.
* bindings/objc/DOMElement.h: Added.
* bindings/objc/DOMElement.mm: Added.
* bindings/objc/DOMElementInternal.h: Added.
* bindings/objc/DOMEntity.h: Added.
* bindings/objc/DOMEntity.mm: Added.
* bindings/objc/DOMEntityInternal.h: Added.
* bindings/objc/DOMEntityReference.h: Added.
* bindings/objc/DOMEntityReference.mm: Added.
* bindings/objc/DOMEntityReferenceInternal.h: Added.
* bindings/objc/DOMNamedNodeMap.h: Added.
* bindings/objc/DOMNamedNodeMap.mm: Added.
* bindings/objc/DOMNamedNodeMapInternal.h: Added.
* bindings/objc/DOMNode.h: Added.
* bindings/objc/DOMNode.mm: Added.
* bindings/objc/DOMNodeInternal.h: Added.
* bindings/objc/DOMNodeList.h: Added.
* bindings/objc/DOMNodeList.mm: Added.
* bindings/objc/DOMNodeListInternal.h: Added.
* bindings/objc/DOMNodePrivate.h: Added.
* bindings/objc/DOMProcessingInstruction.h: Added.
* bindings/objc/DOMProcessingInstruction.mm: Added.
* bindings/objc/DOMProcessingInstructionInternal.h: Added.
* bindings/objc/DOMText.h: Added.
* bindings/objc/DOMText.mm: Added.
* bindings/objc/DOMTextEvent.mm:
* bindings/objc/DOMTextEventInternal.h:
* bindings/objc/DOMTextInternal.h: Added.

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

3 years ago[Mac][iOS] Adopt MediaRemote "seek to playback position"
eric.carlson@apple.com [Wed, 3 Aug 2016 16:33:40 +0000 (16:33 +0000)]
[Mac][iOS] Adopt MediaRemote "seek to playback position"
https://bugs.webkit.org/show_bug.cgi?id=160405
<rdar://problem/27547583>

Reviewed by Dean Jackson.

* platform/ios/RemoteCommandListenerIOS.mm:
(WebCore::RemoteCommandListenerIOS::RemoteCommandListenerIOS): Fix a typo.

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

3 years agoUnreviewed, move LayoutTest out of platform/ios-simulator/ios.
cdumez@apple.com [Wed, 3 Aug 2016 16:12:17 +0000 (16:12 +0000)]
Unreviewed, move LayoutTest out of platform/ios-simulator/ios.

* fast/events/touch/ios/Touch-attributes-prototype-expected.txt: Renamed from LayoutTests/platform/ios-simulator/ios/touch/Touch-attributes-prototype-expected.txt.
* fast/events/touch/ios/Touch-attributes-prototype.html: Renamed from LayoutTests/platform/ios-simulator/ios/touch/Touch-attributes-prototype.html.

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

3 years ago[GTK] Document how to initialize WebKitFaviconDatabase
mcatanzaro@igalia.com [Wed, 3 Aug 2016 14:35:38 +0000 (14:35 +0000)]
[GTK] Document how to initialize WebKitFaviconDatabase
https://bugs.webkit.org/show_bug.cgi?id=160391

Reviewed by Carlos Garcia Campos.

* UIProcess/API/gtk/WebKitFaviconDatabase.cpp:

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

3 years agoRefresh wpt tests up to d686014
commit-queue@webkit.org [Wed, 3 Aug 2016 10:41:11 +0000 (10:41 +0000)]
Refresh wpt tests up to d686014
https://bugs.webkit.org/show_bug.cgi?id=160446

Patch by Youenn Fablet <youenn@apple.com> on 2016-08-03
Reviewed by Alex Christensen.

* resources/ImportExpectations:
* resources/TestRepositories:
* resources/web-platform-tests-modules.json:
* web-platform-tests/XMLHttpRequest/FormData-append.html:
* web-platform-tests/XMLHttpRequest/XMLHttpRequest-withCredentials.any.js: Added.
(test):
(string_appeared_here.test):
(string_appeared_here.async_test):
* web-platform-tests/XMLHttpRequest/XMLHttpRequest-withCredentials.html: Removed.
* web-platform-tests/XMLHttpRequest/XMLHttpRequest-withCredentials.js: Removed.
* web-platform-tests/XMLHttpRequest/XMLHttpRequest-withCredentials.worker.js: Removed.
* web-platform-tests/XMLHttpRequest/headers-normalize-response-expected.txt: Added.
* web-platform-tests/XMLHttpRequest/headers-normalize-response.htm: Added.
* web-platform-tests/XMLHttpRequest/open-url-multi-window.htm:
* web-platform-tests/XMLHttpRequest/resources/last-modified.py:
(main):
* web-platform-tests/XMLHttpRequest/resources/parse-headers.py: Added.
(main):
* web-platform-tests/XMLHttpRequest/resources/w3c-import.log:
* web-platform-tests/XMLHttpRequest/responsexml-document-properties-expected.txt:
* web-platform-tests/XMLHttpRequest/responsexml-document-properties.htm:
* web-platform-tests/XMLHttpRequest/send-entity-body-document-expected.txt:
* web-platform-tests/XMLHttpRequest/send-entity-body-empty-expected.txt:
* web-platform-tests/XMLHttpRequest/send-entity-body-empty.htm:
* web-platform-tests/XMLHttpRequest/send-entity-body-get-head-async-expected.txt:
* web-platform-tests/XMLHttpRequest/send-entity-body-get-head-async.htm:
* web-platform-tests/XMLHttpRequest/send-entity-body-get-head-expected.txt:
* web-platform-tests/XMLHttpRequest/send-entity-body-get-head.htm:
* web-platform-tests/XMLHttpRequest/send-entity-body-none-expected.txt:
* web-platform-tests/XMLHttpRequest/send-entity-body-none.htm:
* web-platform-tests/XMLHttpRequest/setrequestheader-content-type-expected.txt:
* web-platform-tests/XMLHttpRequest/setrequestheader-content-type.htm:
* web-platform-tests/XMLHttpRequest/w3c-import.log:
* web-platform-tests/dom/events/AddEventListenerOptions-once-expected.txt: Added.
* web-platform-tests/dom/events/AddEventListenerOptions-once.html: Added.
* web-platform-tests/dom/events/w3c-import.log:
* web-platform-tests/dom/lists/DOMTokenList-iteration-expected.txt: Added.
* web-platform-tests/dom/lists/DOMTokenList-iteration.html: Added.
* web-platform-tests/dom/lists/w3c-import.log:
* web-platform-tests/dom/nodes/Node-childNodes-expected.txt:
* web-platform-tests/dom/nodes/Node-childNodes.html:
* web-platform-tests/domparsing/insert_adjacent_html-expected.txt:
* web-platform-tests/fetch/api/basic/request-headers-expected.txt:
* web-platform-tests/fetch/api/basic/request-headers-worker-expected.txt:
* web-platform-tests/fetch/api/basic/request-headers.js:
* web-platform-tests/fetch/api/basic/request-referrer-expected.txt: Added.
* web-platform-tests/fetch/api/basic/request-referrer.html: Added.
* web-platform-tests/fetch/api/basic/request-referrer.js: Added.
(testReferrer):
* web-platform-tests/fetch/api/basic/w3c-import.log:
* web-platform-tests/fetch/api/cors/cors-cookies-worker-expected.txt:
* web-platform-tests/fetch/api/policies/referrer-no-referrer-expected.txt:
* web-platform-tests/fetch/api/policies/referrer-no-referrer-worker-expected.txt:
* web-platform-tests/fetch/api/policies/referrer-no-referrer.html.headers:
* web-platform-tests/fetch/api/policies/referrer-no-referrer.js.headers:
* web-platform-tests/fetch/api/policies/referrer-origin-expected.txt:
* web-platform-tests/fetch/api/policies/referrer-origin-when-cross-origin-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/fetch/api/policies/referrer-origin-expected.txt.
* web-platform-tests/fetch/api/policies/referrer-origin-when-cross-origin-worker-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/fetch/api/policies/referrer-origin-expected.txt.
* web-platform-tests/fetch/api/policies/referrer-origin-when-cross-origin-worker.html: Added.
* web-platform-tests/fetch/api/policies/referrer-origin-when-cross-origin.html: Added.
* web-platform-tests/fetch/api/policies/referrer-origin-when-cross-origin.html.headers: Added.
* web-platform-tests/fetch/api/policies/referrer-origin-when-cross-origin.js: Added.
(promise_test):
* web-platform-tests/fetch/api/policies/referrer-origin-when-cross-origin.js.headers: Added.
* web-platform-tests/fetch/api/policies/referrer-origin-worker-expected.txt:
* web-platform-tests/fetch/api/policies/referrer-origin.html.headers:
* web-platform-tests/fetch/api/policies/referrer-origin.js.headers:
* web-platform-tests/fetch/api/policies/referrer-unsafe-url-expected.txt:
* web-platform-tests/fetch/api/policies/referrer-unsafe-url-worker-expected.txt:
* web-platform-tests/fetch/api/policies/referrer-unsafe-url.html.headers:
* web-platform-tests/fetch/api/policies/referrer-unsafe-url.js.headers:
* web-platform-tests/fetch/api/policies/w3c-import.log:
* web-platform-tests/fetch/api/request/request-cache-expected.txt:
* web-platform-tests/fetch/api/request/resources/get-host-info.sub.js: Removed.
* web-platform-tests/fetch/nosniff/resources/image.py:
(main):
* web-platform-tests/fetch/nosniff/stylesheet-expected.txt:
* web-platform-tests/fetch/nosniff/stylesheet.html:
* web-platform-tests/html/dom/interfaces-expected.txt:
* web-platform-tests/html/dom/interfaces.html:
* web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe-allowfullscreen-expected.txt:
* web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe-allowfullscreen.html:
* web-platform-tests/html/semantics/embedded-content/the-img-element/environment-changes/viewport-change-expected.txt:
* web-platform-tests/html/semantics/grouping-content/the-li-element/grouping-li-expected.txt:
* web-platform-tests/html/semantics/grouping-content/the-li-element/grouping-li.html:
* web-platform-tests/html/semantics/interactive-elements/the-dialog-element/dialog-open-expected.txt: Added.
* web-platform-tests/html/semantics/interactive-elements/the-dialog-element/dialog-open.html: Added.
* web-platform-tests/html/semantics/interactive-elements/the-dialog-element/w3c-import.log:
* web-platform-tests/html/semantics/scripting-1/the-script-element/script-charset-03-expected.txt: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/script-charset-03.html: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/w3c-import.log:
* web-platform-tests/html/semantics/tabular-data/the-table-element/caption-methods-expected.txt:
* web-platform-tests/html/semantics/tabular-data/the-table-element/caption-methods.html:
* web-platform-tests/html/semantics/tabular-data/the-table-element/remove-row-expected.txt: Added.
* web-platform-tests/html/semantics/tabular-data/the-table-element/remove-row.html: Added.
* web-platform-tests/html/semantics/tabular-data/the-table-element/w3c-import.log:
* web-platform-tests/lint.whitelist:
* web-platform-tests/service-workers/tools/blink-import.py:
(main):

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

3 years agoImplement nested rest destructuring w.r.t the ES7 spec
sbarati@apple.com [Wed, 3 Aug 2016 07:50:40 +0000 (07:50 +0000)]
Implement nested rest destructuring w.r.t the ES7 spec
https://bugs.webkit.org/show_bug.cgi?id=160423

Reviewed by Filip Pizlo.

JSTests:

* stress/destructuring-rest-element.js: Added.
(assert):
(test):
(arr):
(eq):
(gen):
(fakeGen.return.Symbol.iterator):
(fakeGen):
* stress/rest-elements.js:
(testSyntaxError.String.raw):
* stress/rest-parameter-is-destructuring.js: Added.
(assert):
(test):
(foo):
(bar):
* test262.yaml:

Source/JavaScriptCore:

The spec has updated the BindingRestElement grammar production to be:
BindingRestElement:
   BindingIdentifier
   BindingingPattern.

It used to only allow BindingIdentifier in the grammar production.
I've updated our engine to account for this. The semantics are exactly
what you'd expect.  For example:
`let [a, ...[b, ...c]] = expr();`
means that we create an array for the first rest element `...[b, ...c]`
and then perform the binding of `[b, ...c]` to that array. And so on,
applied recursively through the pattern.

* bytecompiler/NodesCodegen.cpp:
(JSC::RestParameterNode::collectBoundIdentifiers):
(JSC::RestParameterNode::toString):
(JSC::RestParameterNode::bindValue):
(JSC::RestParameterNode::emit):
* parser/ASTBuilder.h:
(JSC::ASTBuilder::createBindingLocation):
(JSC::ASTBuilder::createRestParameter):
(JSC::ASTBuilder::createAssignmentElement):
* parser/NodeConstructors.h:
(JSC::AssignmentElementNode::AssignmentElementNode):
(JSC::RestParameterNode::RestParameterNode):
(JSC::DestructuringAssignmentNode::DestructuringAssignmentNode):
* parser/Nodes.h:
(JSC::RestParameterNode::name): Deleted.
* parser/Parser.cpp:
(JSC::Parser<LexerType>::parseDestructuringPattern):
(JSC::Parser<LexerType>::parseFormalParameters):
* parser/SyntaxChecker.h:
(JSC::SyntaxChecker::operatorStackPop):

LayoutTests:

* js/parser-syntax-check-expected.txt:
* js/script-tests/parser-syntax-check.js:

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

3 years ago[JSC] Fix Windows build after r204065
benjamin@webkit.org [Wed, 3 Aug 2016 07:38:32 +0000 (07:38 +0000)]
[JSC] Fix Windows build after r204065

* dfg/DFGAbstractValue.cpp:
(JSC::DFG::AbstractValue::observeTransitions):
AbstractValue is bigger on Windows for an unknown reason.

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

3 years agoActivate directory index generation for Apache test server
commit-queue@webkit.org [Wed, 3 Aug 2016 07:06:28 +0000 (07:06 +0000)]
Activate directory index generation for Apache test server
https://bugs.webkit.org/show_bug.cgi?id=160451

Patch by Youenn Fablet <youenn@apple.com> on 2016-08-03
Reviewed by Alexey Proskuryakov.

* http/conf/apache2.4-httpd.conf:

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

3 years agoMove determination of operator direction into DOM class and reduce relayout
fred.wang@free.fr [Wed, 3 Aug 2016 07:00:38 +0000 (07:00 +0000)]
Move determination of operator direction into DOM class and reduce relayout
https://bugs.webkit.org/show_bug.cgi?id=160339

Patch by Frederic Wang <fwang@igalia.com> on 2016-08-02
Reviewed by Darin Adler.

We move the determination of operator direction into MathMLOperatorElement. We also simplify
a bit RenderMathMLFencedOperator so that the update of operator properties are done
immediately in updateOperatorContent and the resolution of to LayoutUnit is implemented
in leadingSpace, trailingSpace, minSize and maxSize. After that, setOperatorProperties is no
longer necessary and we can remove many calls that used to update operator properties and
force relayout.

No new tests, already covered by existing tests.

* mathml/MathMLInlineContainerElement.cpp:
(WebCore::MathMLInlineContainerElement::childrenChanged): No need to call updateOperatorProperties.
* mathml/MathMLOperatorElement.cpp: Change names from "text" to "char".
(WebCore::MathMLOperatorElement::parseOperatorChar): Parse character and isVertical in this function.
(WebCore::MathMLOperatorElement::operatorChar):
(WebCore::MathMLOperatorElement::childrenChanged):
(WebCore::MathMLOperatorElement::computeDictionaryProperty): Call operatorChar().character.
(WebCore::MathMLOperatorElement::parseOperatorText): Deleted.
(WebCore::MathMLOperatorElement::operatorText): Deleted.
* mathml/MathMLOperatorElement.h: Use a new structure to hold both the character and direction
and change names from "text" to "char".
* rendering/mathml/RenderMathMLFencedOperator.cpp:
(WebCore::RenderMathMLFencedOperator::updateOperatorContent): Update both the character and
direction using MathMLOperatorElement::parseOperatorChar. Then set the boolean properties
and leading/trailing space using the operator dictionary. minsize and maxsize are constant
so we do not need to set them any more.
(WebCore::RenderMathMLFencedOperator::leadingSpace): Resolve the spacing read from the
dictionary to LayoutUnit. Note that it can never be negative.
(WebCore::RenderMathMLFencedOperator::trailingSpace): Ditto.
(WebCore::RenderMathMLFencedOperator::RenderMathMLFencedOperator): Deleted.
(WebCore::RenderMathMLFencedOperator::setOperatorProperties): Deleted.
* rendering/mathml/RenderMathMLFencedOperator.h: We use the new OperatorChar structure for
accessors and members. We make minSize and maxSize just return the default values and delete
the corresponding members. Finally, leading and trailing space are now stored as unsigned
short in MathUnit.
* rendering/mathml/RenderMathMLOperator.cpp:
(WebCore::RenderMathMLOperator::textContent): Use the new OperatorChar structure.
(WebCore::RenderMathMLOperator::isVertical): Helper function forwarding to MathMLOperatorElement.
(WebCore::RenderMathMLOperator::stretchTo): Use isVertical() and remove setOperatorProperties().
(WebCore::RenderMathMLOperator::resetStretchSize): Ditto.
(WebCore::RenderMathMLOperator::updateMathOperator): Rename rebuildTokenContent as this is
now really only used to update MathOperator and hence replace the condition on
useMathOperator() with an ASSERT.
(WebCore::RenderMathMLOperator::updateTokenContent): Call updateMathOperator instead of
rebuildTokenContent.
(WebCore::RenderMathMLOperator::verticalStretchedOperatorShift): We use isVertical().
(WebCore::RenderMathMLOperator::paint): Ditto.
(WebCore::RenderMathMLOperator::setOperatorProperties): Deleted. This is no longer needed.
(WebCore::RenderMathMLOperator::computePreferredLogicalWidths): Deleted.
(WebCore::RenderMathMLOperator::rebuildTokenContent): Deleted. Renamed updateMathOperator.
(WebCore::RenderMathMLOperator::styleDidChange): No need to call updateOperatorProperties.
(WebCore::RenderMathMLOperator::updateOperatorProperties): Ditto..
* rendering/mathml/RenderMathMLOperator.h: Update some declaration and remove m_isVertical.
(WebCore::RenderMathMLOperator::isVertical): Deleted.
* rendering/mathml/RenderMathMLRow.cpp:
(WebCore::RenderMathMLRow::updateOperatorProperties): Deleted. This is no longer needed.
* rendering/mathml/RenderMathMLRow.h: Ditto.

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

3 years agoUpdate breaking rules to match ICU 57
mmaxfield@apple.com [Wed, 3 Aug 2016 06:35:08 +0000 (06:35 +0000)]
Update breaking rules to match ICU 57
https://bugs.webkit.org/show_bug.cgi?id=160488
<rdar://problem/25856238>

Reviewed by Darin Adler.

Source/WTF:

This patch fixes a typo in the uax14AssignmentsAfter rules which
was causing flag emoji to have line breaking opportunities in their
middles. It also fixes significant language issues for languages
such as Hebrew, and adds correct breaking opportunities around
hyphens.

* wtf/text/TextBreakIterator.cpp:
(WTF::cursorMovementIterator):
(WTF::uax14AssignmentsAfter):
(WTF::uax14Forward):
(WTF::uax14Reverse):

LayoutTests:

* fast/text/flag-emoji-line-break-expected.html: Added.
* fast/text/flag-emoji-line-break.html: Added.
* platform/mac/TestExpectations: Mark the test as failing on Yosemite.

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

3 years ago[JSC] Fix 32bits jsc after r204065
benjamin@webkit.org [Wed, 3 Aug 2016 05:33:48 +0000 (05:33 +0000)]
[JSC] Fix 32bits jsc after r204065

Default constructed JSValue() are not equal to zero in 32bits.

* dfg/DFGAbstractValue.h:
(JSC::DFG::AbstractValue::AbstractValue):

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

3 years ago[JSC] Simplify the initialization of AbstractValue in the AbstractInterpreter
benjamin@webkit.org [Wed, 3 Aug 2016 03:45:07 +0000 (03:45 +0000)]
[JSC] Simplify the initialization of AbstractValue in the AbstractInterpreter
https://bugs.webkit.org/show_bug.cgi?id=160370

Reviewed by Saam Barati.

Source/JavaScriptCore:

We use a ton of AbstractValue to run the Abstract Interpreter.

When we set up the initial values, the compiler sets
a zero on a first word, a one on a second word, and a zero
again on a third word.
Since no vector or double-store can deal with 3 words, unrolling
is done by repeating those instructions.

The reason for the one was TinyPtrSet. It needed a flag for
empty value to identify the set as thin. I flipped the flag to "fat"
to make sure TinyPtrSet is initialized to zero.

With that done, I just had to clean some places to make
the initialization shorter.
It makes the binary easier to follow but this does not help with
the bigger problem: the time spent per block on Abstract Interpreter.

* bytecode/Operands.h:
The traits were useless, no client code defines it.

(JSC::Operands::Operands):
(JSC::Operands::ensureLocals):
Because of the size of the function, llvm is not inlining it.
We were literally loading 3 registers from memory and storing
them in the vector.
Now that AbstractValue has a VectorTraits, we should just rely
on the memset of Vector when possible.

(JSC::Operands::getLocal):
(JSC::Operands::setArgumentFirstTime):
(JSC::Operands::setLocalFirstTime):
(JSC::Operands::clear):
(JSC::OperandValueTraits::defaultValue): Deleted.
(JSC::OperandValueTraits::isEmptyForDump): Deleted.
* bytecode/OperandsInlines.h:
(JSC::Operands<T>::dumpInContext):
(JSC::Operands<T>::dump):
(JSC::Traits>::dumpInContext): Deleted.
(JSC::Traits>::dump): Deleted.
* dfg/DFGAbstractValue.cpp:
* dfg/DFGAbstractValue.h:
(JSC::DFG::AbstractValue::AbstractValue):

Source/WTF:

* wtf/TinyPtrSet.h:
(WTF::TinyPtrSet::isThin):
(WTF::TinyPtrSet::set):

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

3 years agoDrop custom bindings code for HTMLSelectElement.remove()
cdumez@apple.com [Wed, 3 Aug 2016 02:56:22 +0000 (02:56 +0000)]
Drop custom bindings code for HTMLSelectElement.remove()
https://bugs.webkit.org/show_bug.cgi?id=160477

Reviewed by Darin Adler.

Drop custom bindings code for HTMLSelectElement.remove() and use
overloading instead.

* bindings/js/JSHTMLSelectElementCustom.cpp:
(WebCore::JSHTMLSelectElement::remove): Deleted.
* html/HTMLSelectElement.idl:

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

3 years agoDrop custom bindings code for HTMLOptionsCollection.remove()
cdumez@apple.com [Wed, 3 Aug 2016 02:56:05 +0000 (02:56 +0000)]
Drop custom bindings code for HTMLOptionsCollection.remove()
https://bugs.webkit.org/show_bug.cgi?id=160475

Reviewed by Darin Adler.

LayoutTests/imported/w3c:

Rebaseline W3C test now that more checks are passing.

* web-platform-tests/html/dom/interfaces-expected.txt:

Source/WebCore:

Drop custom bindings code for HTMLOptionsCollection.remove() and use
overloading instead. The overload that take an HTMLOptionElement is
WebKit-specific and should probably be dropped at some point:
- https://html.spec.whatwg.org/multipage/infrastructure.html#htmloptionscollection

This patch also fixes several bugs:
- The parameter is now mandatory. This is consistent with the
  specification, Firefox and Chrome.
- HTMLOptionsCollection.prototype.remove.length is now 1 instead of 0.

No new tests, rebaselined existing tests.

* bindings/js/JSHTMLOptionsCollectionCustom.cpp:
(WebCore::JSHTMLOptionsCollection::remove): Deleted.
* html/HTMLOptionsCollection.idl:

LayoutTests:

Update existing tests to reflect behavior change.

* fast/dom/non-numeric-values-numeric-parameters-expected.txt:
* fast/dom/script-tests/non-numeric-values-numeric-parameters.js:
* js/dom/select-options-remove-expected.txt:
* js/resources/select-options-remove.js:

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

3 years agoAX: Simulated touch events are not working on iOS
n_wang@apple.com [Wed, 3 Aug 2016 02:38:35 +0000 (02:38 +0000)]
AX: Simulated touch events are not working on iOS
https://bugs.webkit.org/show_bug.cgi?id=160395
<rdar://problem/27633597>

Reviewed by Chris Fleizach.

Source/WebCore:

We should mark the simulated touch as a potential tap otherwise it won't
be handled on iOS. Also, we need to dispatch both touch start and touch end
to mimic the real touch events. Last, added a has event listeners check,
because iOS is dispatching mouse click events for elements without touch event
listeners.

Test: accessibility/ios-simulator/press-fires-touch-events.html

* accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::press):
(WebCore::AccessibilityObject::dispatchTouchEvent):
* page/ios/EventHandlerIOS.mm:
(WebCore::EventHandler::dispatchSimulatedTouchEvent):
* platform/ios/PlatformEventFactoryIOS.mm:
(WebCore::PlatformTouchEventBuilder::PlatformTouchEventBuilder):

Tools:

* WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:
(WTR::AccessibilityUIElement::press):
(WTR::AccessibilityUIElement::setSelectedChild):

LayoutTests:

* accessibility/ios-simulator/press-fires-touch-events-expected.txt: Added.
* accessibility/ios-simulator/press-fires-touch-events.html: Added.
* platform/ios-simulator-wk2/TestExpectations:
* platform/ios-simulator/ios/accessibility/press-fires-touch-events-expected.txt: Removed.
* platform/ios-simulator/ios/accessibility/press-fires-touch-events.html: Removed.

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

3 years agoClean up some useless AtomicString atoms
commit-queue@webkit.org [Wed, 3 Aug 2016 02:20:40 +0000 (02:20 +0000)]
Clean up some useless AtomicString atoms
https://bugs.webkit.org/show_bug.cgi?id=160471

Patch by Benjamin Poulain <bpoulain@apple.com> on 2016-08-02
Reviewed by Geoffrey Garen.

Source/WebCore:

The only uses of "commentAtom" and "textAtom" where for their
respective overload of Node::nodeName().
Those methods return a string, we should not keep them in the atomic
string table just to hold a small String alive. They were also the only
two nodes to behave that way.

The atom xlinkAtom was only used by createForeignAttributesMap(), which
is itself only invoked once. There is no need for the symbol xlinkAtom.

* dom/CDATASection.cpp:
(WebCore::CDATASection::nodeName):
* dom/Comment.cpp:
(WebCore::Comment::nodeName):
* dom/Document.cpp:
(WebCore::Document::nodeName):
* dom/Text.cpp:
(WebCore::Text::nodeName):
* html/parser/HTMLTreeBuilder.cpp:
(WebCore::createForeignAttributesMap):

Source/WTF:

* wtf/text/AtomicString.h:
* wtf/text/StringStatics.cpp:
(WTF::AtomicString::init): Deleted.

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

3 years agorun-javascriptcore-tests should accept multiple --extra-tests
fpizlo@apple.com [Wed, 3 Aug 2016 01:57:45 +0000 (01:57 +0000)]
run-javascriptcore-tests should accept multiple --extra-tests
https://bugs.webkit.org/show_bug.cgi?id=160486

Reviewed by Saam Barati.

We want to be able to pass --extra-tests multiple times, to supply an arbitrary number of extra
test suites. This does it by using GetOpt::Long's array support.

* Scripts/run-javascriptcore-tests:
(runJSCStressTests):

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

3 years agoRename Changelog to ChangeLog
sbarati@apple.com [Wed, 3 Aug 2016 01:46:03 +0000 (01:46 +0000)]
Rename Changelog to ChangeLog

Rubber stamped by Keith Miller.

* Changelog: Removed.

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

3 years agoupdate a class extending null w.r.t the ES7 spec
sbarati@apple.com [Wed, 3 Aug 2016 01:28:16 +0000 (01:28 +0000)]
update a class extending null w.r.t the ES7 spec
https://bugs.webkit.org/show_bug.cgi?id=160417

Reviewed by Keith Miller.

Source/JavaScriptCore:

When a class extends null, it should not be marked as a derived class.
This was changed in the ES2016 spec, and this patch makes the needed
changes in JSC to follow the spec. This allows classes to extend
null and have their default constructor invoked without throwing an exception.
This also prevents |this| from being under TDZ at the start of the constructor.
Because ES6 allows arbitrary expressions in the `class <ident> extends <expr>`
syntax, we don't know statically if a constructor is extending null or not.
Therefore, we don't always know statically if it's a base or derived constructor.
I solved this by putting a boolean on the constructor function under a private
symbol named isDerivedConstructor when doing class construction. We only need
to put this boolean on constructors that may extend null. Constructors that are
declared in a class with no extends syntax can tell statically that they are a base constructor.

I've also renamed the ConstructorKind::Derived enum value to be
ConstructorKind::Extends to better indicate that we can't answer
the "am I a derived constructor?" question statically.

* builtins/BuiltinExecutables.cpp:
(JSC::BuiltinExecutables::createDefaultConstructor):
* builtins/BuiltinNames.h:
* bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::BytecodeGenerator):
(JSC::BytecodeGenerator::initializeArrowFunctionContextScopeIfNeeded):
(JSC::BytecodeGenerator::emitReturn):
(JSC::BytecodeGenerator::emitLoadArrowFunctionLexicalEnvironment):
(JSC::BytecodeGenerator::ensureThis):
(JSC::BytecodeGenerator::emitPutDerivedConstructorToArrowFunctionContextScope):
* bytecompiler/BytecodeGenerator.h:
(JSC::BytecodeGenerator::makeFunction):
* bytecompiler/NodesCodegen.cpp:
(JSC::EvalFunctionCallNode::emitBytecode):
(JSC::FunctionCallValueNode::emitBytecode):
(JSC::FunctionNode::emitBytecode):
(JSC::ClassExprNode::emitBytecode):
* parser/Parser.cpp:
(JSC::Parser<LexerType>::Parser):
(JSC::Parser<LexerType>::parseFunctionInfo):
(JSC::Parser<LexerType>::parseClass):
(JSC::Parser<LexerType>::parseMemberExpression):
* parser/ParserModes.h:

LayoutTests:

* js/class-syntax-extends-expected.txt:
* js/class-syntax-super-expected.txt:
* js/script-tests/class-syntax-extends.js:
* js/script-tests/class-syntax-super.js:

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

3 years agoREGRESSION (r203385): Frequent RELEASE_ASSERT in WebKit::RemoteLayerTreeDrawingArea...
timothy_horton@apple.com [Wed, 3 Aug 2016 01:22:25 +0000 (01:22 +0000)]
REGRESSION (r203385): Frequent RELEASE_ASSERT in WebKit::RemoteLayerTreeDrawingArea::flushLayers()
https://bugs.webkit.org/show_bug.cgi?id=160481
<rdar://problem/27534205>

Reviewed by Simon Fraser.

* UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.h:
* UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm:
(WebKit::RemoteLayerTreeDrawingAreaProxy::commitLayerTree):
(WebKit::RemoteLayerTreeDrawingAreaProxy::didRefreshDisplay):
(WebKit::RemoteLayerTreeDrawingAreaProxy::waitForDidUpdateViewState):
If the UI process sends a didUpdate message while the Web process is in
the middle of flushing on a background thread, the drawing area will
allow another commit to start on the main thread, which then (rightfully)
causes the RELEASE_ASSERT.

This is normally not a problem, because didRefreshDisplay (which sends the didUpdate)
bails if m_didUpdateMessageState is anything other than NotSent, and m_didUpdateMessageState
is only NotSent if the Web process has sent a commit (and thus will not commit again until
it gets a didUpdate). This is the fundamental mechanism that avoids multiple commits being
in flight at once.

In r203385, I added a path where didRefreshDisplay could be called
before the first commit arrived (by way of
_applicationWillEnterForeground -> viewStateDidChange -> waitForDidUpdateViewState).

This caused trouble because m_didUpdateMessageState is initialized to NotSent,
which means that we could end up sending a didUpdate immediately, before the first
commit arrives - even worse, while the first commit is being flushed on a background thread,
leading the aforementioned RELEASE_ASSERT to fire.

Instead, initialize it to Sent (which I've renamed to DoesNotNeedDidUpdate), so that
we won't send a didUpdate until after the first commit arrives (at which point
the two processes are in agreement about the order of things).

It's not currently possible to API test this for multiple reasons, though it is fairly
easy to write a test app that reproduces reliably (by simulating suspend/resume notifications
inside the didFinishNavigation: callback).

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

3 years agoSkip media/track/track-remove-crash.html on ios-simulator-wk2
ryanhaddad@apple.com [Wed, 3 Aug 2016 00:43:36 +0000 (00:43 +0000)]
Skip media/track/track-remove-crash.html on ios-simulator-wk2
https://bugs.webkit.org/show_bug.cgi?id=160367

Unreviewed test gardening.

* platform/ios-simulator-wk2/TestExpectations:

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

3 years agoFreeze the Objective-C DOM Event and CSS bindings
andersca@apple.com [Wed, 3 Aug 2016 00:31:22 +0000 (00:31 +0000)]
Freeze the Objective-C DOM Event and CSS bindings
https://bugs.webkit.org/show_bug.cgi?id=160476

Reviewed by Tim Horton.

* DerivedSources.make:
* WebCore.xcodeproj/project.pbxproj:
* bindings/objc/DOMCSSCharsetRule.h: Added.
* bindings/objc/DOMCSSCharsetRule.mm: Added.
* bindings/objc/DOMCSSCharsetRuleInternal.h: Added.
* bindings/objc/DOMCSSFontFaceRule.h: Added.
* bindings/objc/DOMCSSFontFaceRule.mm: Added.
* bindings/objc/DOMCSSFontFaceRuleInternal.h: Added.
* bindings/objc/DOMCSSImportRule.h: Added.
* bindings/objc/DOMCSSImportRule.mm: Added.
* bindings/objc/DOMCSSImportRuleInternal.h: Added.
* bindings/objc/DOMCSSMediaRule.h: Added.
* bindings/objc/DOMCSSMediaRule.mm: Added.
* bindings/objc/DOMCSSMediaRuleInternal.h: Added.
* bindings/objc/DOMCSSPageRule.h: Added.
* bindings/objc/DOMCSSPageRule.mm: Added.
* bindings/objc/DOMCSSPageRuleInternal.h: Added.
* bindings/objc/DOMCSSPrimitiveValue.h: Added.
* bindings/objc/DOMCSSPrimitiveValue.mm: Added.
* bindings/objc/DOMCSSPrimitiveValueInternal.h: Added.
* bindings/objc/DOMCSSRule.h: Added.
* bindings/objc/DOMCSSRule.mm: Added.
* bindings/objc/DOMCSSRuleInternal.h: Added.
* bindings/objc/DOMCSSRuleList.h: Added.
* bindings/objc/DOMCSSRuleList.mm: Added.
* bindings/objc/DOMCSSRuleListInternal.h: Added.
* bindings/objc/DOMCSSStyleDeclaration.h: Added.
* bindings/objc/DOMCSSStyleDeclaration.mm: Added.
* bindings/objc/DOMCSSStyleDeclarationInternal.h: Added.
* bindings/objc/DOMCSSStyleRule.h: Added.
* bindings/objc/DOMCSSStyleRule.mm: Added.
* bindings/objc/DOMCSSStyleRuleInternal.h: Added.
* bindings/objc/DOMCSSStyleSheet.h: Added.
* bindings/objc/DOMCSSStyleSheet.mm: Added.
* bindings/objc/DOMCSSStyleSheetInternal.h: Added.
* bindings/objc/DOMCSSUnknownRule.h: Added.
* bindings/objc/DOMCSSUnknownRule.mm: Added.
* bindings/objc/DOMCSSUnknownRuleInternal.h: Added.
* bindings/objc/DOMCSSValue.h: Added.
* bindings/objc/DOMCSSValue.mm: Added.
* bindings/objc/DOMCSSValueInternal.h: Added.
* bindings/objc/DOMCSSValueList.h: Added.
* bindings/objc/DOMCSSValueList.mm: Added.
* bindings/objc/DOMCSSValueListInternal.h: Added.
* bindings/objc/DOMCounter.h: Added.
* bindings/objc/DOMCounter.mm: Added.
* bindings/objc/DOMCounterInternal.h: Added.
* bindings/objc/DOMEvent.h: Added.
* bindings/objc/DOMEvent.mm: Added.
* bindings/objc/DOMEventInternal.h: Added.
* bindings/objc/DOMEventListener.h: Added.
* bindings/objc/DOMEventTarget.h: Added.
* bindings/objc/DOMKeyboardEvent.h: Added.
* bindings/objc/DOMKeyboardEvent.mm: Added.
* bindings/objc/DOMKeyboardEventInternal.h: Added.
* bindings/objc/DOMMouseEvent.h: Added.
* bindings/objc/DOMMouseEvent.mm: Added.
* bindings/objc/DOMMouseEventInternal.h: Added.
* bindings/objc/DOMMutationEvent.h: Added.
* bindings/objc/DOMMutationEvent.mm: Added.
* bindings/objc/DOMMutationEventInternal.h: Added.
* bindings/objc/DOMOverflowEvent.h: Added.
* bindings/objc/DOMOverflowEvent.mm: Added.
* bindings/objc/DOMOverflowEventInternal.h: Added.
* bindings/objc/DOMProgressEvent.h: Added.
* bindings/objc/DOMProgressEvent.mm: Added.
* bindings/objc/DOMProgressEventInternal.h: Added.
* bindings/objc/DOMRGBColor.h: Added.
* bindings/objc/DOMRGBColor.mm: Added.
* bindings/objc/DOMRGBColorInternal.h: Added.
* bindings/objc/DOMRect.h: Added.
* bindings/objc/DOMRect.mm: Added.
* bindings/objc/DOMRectInternal.h: Added.
* bindings/objc/DOMTextEvent.h: Added.
* bindings/objc/DOMTextEvent.mm: Added.
(-[DOMTextEvent data]):
(-[DOMTextEvent initTextEvent:canBubbleArg:cancelableArg:viewArg:dataArg:]):
* bindings/objc/DOMTextEventInternal.h: Added.
* bindings/objc/DOMUIEvent.h: Added.
* bindings/objc/DOMUIEvent.mm: Added.
* bindings/objc/DOMUIEventInternal.h: Added.
* bindings/objc/DOMWheelEvent.h: Added.
* bindings/objc/DOMWheelEvent.mm: Added.
* bindings/objc/DOMWheelEventInternal.h: Added.

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

3 years agoAllow building with content filtering disabled.
enrica@apple.com [Wed, 3 Aug 2016 00:00:59 +0000 (00:00 +0000)]
Allow building with content filtering disabled.
https://bugs.webkit.org/show_bug.cgi?id=160454

Reviewed by Simon Fraser.

Source/JavaScriptCore:

* Configurations/FeatureDefines.xcconfig:

Source/WebCore:

* Configurations/FeatureDefines.xcconfig:
* platform/PlatformContentFilter.h:
(WebCore::PlatformContentFilter::unblockRequestDeniedScript):
* platform/cocoa/NetworkExtensionContentFilter.h:
* platform/cocoa/NetworkExtensionContentFilter.mm:
(WebCore::NetworkExtensionContentFilter::unblockHandler):
* platform/cocoa/ParentalControlsContentFilter.h:
* testing/MockContentFilter.h:

Source/WebKit/mac:

* Configurations/FeatureDefines.xcconfig:
* WebCoreSupport/WebFrameLoaderClient.h:
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::blockedByContentFilterError):

Source/WebKit2:

* Configurations/FeatureDefines.xcconfig:
* Shared/mac/WebCoreArgumentCodersMac.mm:
(IPC::ArgumentCoder<KeypressCommand>::decode):
(IPC::ArgumentCoder<ContentFilterUnblockHandler>::encode):
(IPC::ArgumentCoder<ContentFilterUnblockHandler>::decode):
* WebProcess/WebCoreSupport/mac/WebErrorsMac.mm:
(WebKit::blockedByContentFilterError):

Tools:

* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:

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

3 years agoReapply fixes for webkit.org/b/159450 and webkit.org/b/157569
dino@apple.com [Tue, 2 Aug 2016 23:43:30 +0000 (23:43 +0000)]
Reapply fixes for webkit.org/b/159450 and webkit.org/b/157569
https://bugs.webkit.org/show_bug.cgi?id=160474
<rdar://problem/27668170>

Reviewed by Simon Fraser.

The fixes are behaviour we want. They just caused a regression
on medium.com (reverted in http://trac.webkit.org/r203380).

Now that we've branched, revert the reversion (which itself
was a reversion), so we can fix the actual bug:
https://bugs.webkit.org/show_bug.cgi?id=160478

Source/WebCore:

* css/CSSParser.cpp:
(WebCore::CSSParser::parseValue):
(WebCore::CSSParser::parseAnimationShorthand):
(WebCore::CSSParser::addPropertyWithPrefixingVariant):
(WebCore::CSSParser::parseTransitionShorthand):
* css/CSSPropertyNames.in:
* css/PropertySetCSSStyleDeclaration.cpp:
(WebCore::PropertySetCSSStyleDeclaration::getPropertyCSSValue):
(WebCore::PropertySetCSSStyleDeclaration::getPropertyValue):
(WebCore::PropertySetCSSStyleDeclaration::getPropertyCSSValueInternal):
(WebCore::PropertySetCSSStyleDeclaration::getPropertyValueInternal):
* css/StyleProperties.cpp:
(WebCore::MutableStyleProperties::removeShorthandProperty):
(WebCore::StyleProperties::asText):
(WebCore::MutableStyleProperties::removeProperty): Deleted.
(WebCore::MutableStyleProperties::removePrefixedOrUnprefixedProperty): Deleted.
(WebCore::MutableStyleProperties::setProperty): Deleted.
(WebCore::getIndexInShorthandVectorForPrefixingVariant): Deleted.
(WebCore::MutableStyleProperties::appendPrefixingVariantProperty): Deleted.
(WebCore::MutableStyleProperties::setPrefixingVariantProperty): Deleted.
* css/StyleProperties.h:

LayoutTests:

* animations/fill-mode-forwards-zero-duration.html:
* animations/play-state-start-paused.html:
* animations/script-tests/spring-parsing.js:
(testSpring):
* animations/spring-parsing-expected.txt:
* animations/unprefixed-properties-expected.txt:
* animations/unprefixed-properties.html:
* fast/css/prefixed-unprefixed-variant-style-declaration-expected.txt:
* fast/css/shorthand-omitted-initial-value-overrides-shorthand-expected.txt:

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

3 years agoCleanup HTMLMediaElement track lists.
eric.carlson@apple.com [Tue, 2 Aug 2016 23:03:30 +0000 (23:03 +0000)]
Cleanup HTMLMediaElement track lists.
https://bugs.webkit.org/show_bug.cgi?id=160470

Reviewed by David Kilzer.

Source/WebCore:

Test: media/range-extract-contents-crash.html

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::~HTMLMediaElement):

* html/track/AudioTrack.cpp:
(WebCore::AudioTrack::willRemove): ASSERT if media element is NULL.

* html/track/TextTrackList.cpp:
(TextTrackList::clearElement): Clear track media element pointers and client.
* html/track/TextTrackList.h:

* html/track/TrackListBase.cpp:
(TrackListBase::~TrackListBase): Call clearElement.
(TrackListBase::clearElement): Clear track media element pointers and client.
* html/track/TrackListBase.h:

LayoutTests:

* media/range-extract-contents-crash-expected.txt: Added.
* media/range-extract-contents-crash.html: Added.

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

3 years agoRemove more Objective-C bindings that are not used
andersca@apple.com [Tue, 2 Aug 2016 22:59:55 +0000 (22:59 +0000)]
Remove more Objective-C bindings that are not used
https://bugs.webkit.org/show_bug.cgi?id=160473

Reviewed by Sam Weinig.

* DerivedSources.make:
* WebCore.xcodeproj/project.pbxproj:
* bindings/objc/DOMCSS.mm:
(kitClass):
* dom/Document.idl:

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

3 years agoDrop custom bindings for FormData.append()
cdumez@apple.com [Tue, 2 Aug 2016 22:55:39 +0000 (22:55 +0000)]
Drop custom bindings for FormData.append()
https://bugs.webkit.org/show_bug.cgi?id=160466

Reviewed by Sam Weinig.

LayoutTests/imported/w3c:

* web-platform-tests/XMLHttpRequest/interfaces-expected.txt:

Source/WebCore:

Drop custom bindings for FormData.append(). We no longer need them now
that we have proper support for overloads after r204028.

This patch also fixes the fact that FormData.prototype.append.length
was 0 instead of 2.

No new tests, rebaselined existing test.

* bindings/js/JSDOMFormDataCustom.cpp:
(WebCore::JSDOMFormData::append): Deleted.
* html/DOMFormData.cpp:
(WebCore::DOMFormData::append):
* html/DOMFormData.h:
* html/DOMFormData.idl:
* html/FileInputType.cpp:
(WebCore::FileInputType::appendFormData):
* html/FormDataList.cpp:
(WebCore::FormDataList::appendBlob):
* html/FormDataList.h:
(WebCore::FormDataList::Item::Item):
(WebCore::FormDataList::appendBlob):

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

3 years agoUnreviewed, rolling out r203799.
commit-queue@webkit.org [Tue, 2 Aug 2016 22:42:34 +0000 (22:42 +0000)]
Unreviewed, rolling out r203799.
https://bugs.webkit.org/show_bug.cgi?id=160467

Decided on a different solution (Requested by jonlee_ on
#webkit).

Reverted changeset:

"Captions do not render in PiP window when element is hidden"
https://bugs.webkit.org/show_bug.cgi?id=160265
http://trac.webkit.org/changeset/203799

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

3 years agoRemove unused functions in URL
achristensen@apple.com [Tue, 2 Aug 2016 22:23:57 +0000 (22:23 +0000)]
Remove unused functions in URL
https://bugs.webkit.org/show_bug.cgi?id=160468

Reviewed by Geoffrey Garen.

* page/SecurityOrigin.cpp:
(WebCore::SecurityOrigin::extractInnerURL):
* platform/URL.cpp:
(WebCore::mimeTypeFromURL):
(WebCore::URL::stringCenterEllipsizedToLength):
(WebCore::URL::isSafeToSendToAnotherThread): Deleted.
* platform/URL.h:
(WebCore::URL::operator NSString*):
(WebCore::URL::innerURL): Deleted.

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

3 years agoNamed / Indexed properties should be configurable
cdumez@apple.com [Tue, 2 Aug 2016 22:23:22 +0000 (22:23 +0000)]
Named / Indexed properties should be configurable
https://bugs.webkit.org/show_bug.cgi?id=160457

Reviewed by Darin Adler.

LayoutTests/imported/w3c:

Rebaseline several W3C tests now that more checks are passing.

* web-platform-tests/dom/nodes/Document-getElementsByTagName-expected.txt:
* web-platform-tests/dom/nodes/Element-getElementsByTagName-expected.txt:

Source/WebCore:

Report Named / Indexed properties as being configurable to comply with
the Web IDL specification:
- http://heycam.github.io/webidl/#getownproperty-guts (step 1. and 2.)

Firefox and Chrome also report them as being configurable.

No new tests, rebaselined existing tests.

* bindings/scripts/CodeGeneratorJS.pm:
(GenerateGetOwnPropertySlotBody):

LayoutTests:

Update / rebaseline existing tests to reflect behavior change.

* fast/dom/NodeList/nodelist-name-getter-properties-expected.txt:
* fast/dom/NodeList/nodelist-name-getter-properties.html:
* js/dom/getOwnPropertyDescriptor-expected.txt:
* js/resources/getOwnPropertyDescriptor.js:

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

3 years agoRemove more unused/uninstalled Objective-C DOM bindings
andersca@apple.com [Tue, 2 Aug 2016 22:16:15 +0000 (22:16 +0000)]
Remove more unused/uninstalled Objective-C DOM bindings
https://bugs.webkit.org/show_bug.cgi?id=160464

Reviewed by Darin Adler.

Source/WebCore:

* Configurations/WebCore.xcconfig:
* DerivedSources.make:
* WebCore.xcodeproj/project.pbxproj:
* bindings/objc/DOMCSS.mm:
(kitClass):
* bindings/objc/DOMEvents.h:
* bindings/objc/DOMEvents.mm:
(kitClass): Deleted.
* dom/Document.idl:

Source/WebKit/mac:

Stop installing unused headers.

* MigrateHeaders.make:

LayoutTests:

Update test results.

* platform/mac/fast/dom/wrapper-classes-objc-expected.txt:
* platform/mac/fast/dom/wrapper-classes-objc.html:

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

3 years ago[WebIDL] Extend new overload resolution algorithm support to constructors
cdumez@apple.com [Tue, 2 Aug 2016 21:44:27 +0000 (21:44 +0000)]
[WebIDL] Extend new overload resolution algorithm support to constructors
https://bugs.webkit.org/show_bug.cgi?id=160455

Reviewed by Ryosuke Niwa.

Source/WebCore:

Extend new overload resolution algorithm support (added in r204028) to
constructors as well. It was only used for operations. Remove code that
is now dead from the bindings generator.

We now share the same code of generating the overload resolution code
for operations and constructors.

No new tests, rebaselined existing tests.

* bindings/scripts/CodeGenerator.pm:
(LinkOverloadedFunctions):
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateOverloadedFunctionOrConstructor):
(GenerateImplementation):
(GenerateConstructorDefinitions):
(GenerateConstructorDefinition):
(GetFunctionLength): Deleted.
(LengthOfLongestFunctionParameterList): Deleted.
(GetNativeTypeForConversions): Deleted.
(GetGnuVTableNameForInterface): Deleted.
(GetGnuMangledNameForInterface): Deleted.
(GetGnuVTableOffsetForType): Deleted.
(GenerateConstructorHelperMethods): Deleted.
* bindings/scripts/IDLParser.pm:
(applyExtendedAttributeList): Deleted.
* bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
(WebCore::JSTestOverloadedConstructorsConstructor::construct):
* bindings/scripts/test/TestOverloadedConstructors.idl:

LayoutTests:

Update / rebaseline existing test as we now provide slightly different
exception messages when given bad overloaded constructor parameters.

* fast/canvas/canvas-imageData-expected.txt:
* fast/canvas/script-tests/canvas-imageData.js:

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

3 years agoRemoving IndexedDB WebsiteData can fail for some users.
beidson@apple.com [Tue, 2 Aug 2016 21:28:12 +0000 (21:28 +0000)]
Removing IndexedDB WebsiteData can fail for some users.
https://bugs.webkit.org/show_bug.cgi?id=160463

Reviewed by Alex Christensen.

Source/WebCore:

Covered by changes to API test IndexedDB.StoreBlobThenDelete.

For a few months in trunk WebKit, deleting an IndexedDB using WebsiteDataStore API would only
delete the "IndexedDB.sqlite3" file, but would leave the "-wal" and "-shm" files behind.

We'd then fail to delete the directory itself, tricking API clients to think there are still
databases in the given origin.

Furthermore, the code to delete a database first checks for the existence of "IndexedDB.sqlite3"
then refuses to do any further cleanup if it doesn't exist.

We should just always run the entire delete procedure even if IndexedDB.sqlite does not exist.

* Modules/indexeddb/server/IDBServer.cpp:
(WebCore::IDBServer::removeAllDatabasesForOriginPath):

* platform/sql/SQLiteFileSystem.cpp:
(WebCore::SQLiteFileSystem::deleteDatabaseFile):

Tools:

* TestWebKitAPI/Tests/WebKit2Cocoa/StoreBlobThenDelete.mm:

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

3 years agoFix Mac CMake build.
achristensen@apple.com [Tue, 2 Aug 2016 21:17:37 +0000 (21:17 +0000)]
Fix Mac CMake build.

* PlatformMac.cmake:
Some ObjC bindings have been frozen.

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

3 years agoMarking two media tests as flaky crashes on ios-simulator-wk2
ryanhaddad@apple.com [Tue, 2 Aug 2016 21:15:04 +0000 (21:15 +0000)]
Marking two media tests as flaky crashes on ios-simulator-wk2
https://bugs.webkit.org/show_bug.cgi?id=160367

Unreviewed test gardening.

* platform/ios-simulator-wk2/TestExpectations:

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

3 years agoMore cleanup of MathML operator parsing
fred.wang@free.fr [Tue, 2 Aug 2016 20:26:08 +0000 (20:26 +0000)]
More cleanup of MathML operator parsing
https://bugs.webkit.org/show_bug.cgi?id=160336

Patch by Frederic Wang <fwang@igalia.com> on 2016-08-02
Reviewed by Darin Adler.

No new tests, behavior is unchanged.

* rendering/mathml/RenderMathMLBlock.cpp:
(WebCore::parseMathMLLength): Deleted. This function is no longer used.
* rendering/mathml/RenderMathMLBlock.h: Ditto.
* rendering/mathml/RenderMathMLFencedOperator.h: Move some length members from
RenderMathMLOperator and override the accessors. Also override useMathOperator() since it is
always true for anonymous mfenced operators.
* rendering/mathml/RenderMathMLOperator.cpp:
(WebCore::RenderMathMLOperator::textContent): No need to ASSERT !isAnonymous since this
function is overriden by RenderMathMLFencedOperator.
(WebCore::RenderMathMLOperator::isInvisibleOperator): Use a temporary variable to call
textContent only once.
(WebCore::RenderMathMLOperator::leadingSpace): Helper function to determine the leading space.
(WebCore::RenderMathMLOperator::trailingSpace): Helper function to determine the trailing space.
(WebCore::RenderMathMLOperator::minSize): Helper function to determine the min space.
(WebCore::RenderMathMLOperator::maxSize): Helper function to determine the max space.
(WebCore::RenderMathMLOperator::setOperatorProperties): This is now only used to set m_isVertical.
(WebCore::RenderMathMLOperator::stretchTo): Call maxSize and minSize when necessary.
(WebCore::RenderMathMLOperator::computePreferredLogicalWidths): Call leadingSpace and trailingSpace.
(WebCore::RenderMathMLOperator::layoutBlock): Ditto.
(WebCore::RenderMathMLOperator::useMathOperator): Remove the case for anonymous operators as
this is now handled in the derived class.
(WebCore::RenderMathMLOperator::paint): Call leadingSpace.
* rendering/mathml/RenderMathMLOperator.h: Remove length members and declare helper functions
to get these lengths from MathMLOperatorElement.
(WebCore::RenderMathMLOperator::setLeadingSpace): Deleted. This is no longer used.
(WebCore::RenderMathMLOperator::setTrailingSpace): Deleted. This is no longer used.

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

3 years agoMove parsing of operator length attributes to MathMLOperatorElement
fred.wang@free.fr [Tue, 2 Aug 2016 19:53:57 +0000 (19:53 +0000)]
Move parsing of operator length attributes to MathMLOperatorElement
https://bugs.webkit.org/show_bug.cgi?id=160301

Patch by Frederic Wang <fwang@igalia.com> on 2016-08-02
Reviewed by Darin Adler.

Source/WebCore:

We move parsing of operator attributes lspace, rspace minsize, maxsize into the class
MathMLOperatorElement. We rely on the existing MathMLElement::Length structure and expand
it to handle the "infinity" case of maxsize that we always resolve as intMaxForLayoutUnit.
We also improve the resolution of a negative value for minsize and maxsize since the MathML
recommendation says it should be rounded up to the nearest valid value (which is zero)
instead of ignoring the attribute and using the default value. This is similar to r203285
for mfrac@linethickness. We also update the existing test for minsize/maxsize to take into
account that change.

No new tests, already covered by existing tests.

* mathml/MathMLElement.h: Add an "Infinity" type for MathML Length.
* mathml/MathMLOperatorElement.cpp:
(WebCore::MathMLOperatorElement::leadingSpace): Helper function to retrieve the cached value
for the lspace attribute, parse it if necessary.
(WebCore::MathMLOperatorElement::trailingSpace): Ditto for rspace.
(WebCore::MathMLOperatorElement::minSize): Ditto for minsize.
(WebCore::MathMLOperatorElement::maxSize): Ditto for maxsize. This attribute also accepts the
"infinity" value.
(WebCore::MathMLOperatorElement::parseAttribute): Mark attributes dirty.
* mathml/MathMLOperatorElement.h: Declare Length members and accessors.
* rendering/mathml/RenderMathMLBlock.cpp:
(WebCore::toUserUnits): Resolve Infinity as intMaxForLayoutUnit.
* rendering/mathml/RenderMathMLOperator.cpp:
(WebCore::RenderMathMLOperator::setOperatorProperties): We use toUserUnits to resolve the
lengths. Negative maxsize and minsize values now fallback to 0 instead of their default
values. We also remove the !isAnonymous() check since setOperatorProperties is overriden
in the RenderMathMLFencedOperator class.

LayoutTests:

* mathml/presentation/stretchy-minsize-maxsize-expected.html: Update the test for negative
minsize and maxsize to align on the behavior suggested in the MathML recommendation.
* mathml/presentation/stretchy-minsize-maxsize.html: Ditto.

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

3 years agoUnreviewed build error fix.
fred.wang@free.fr [Tue, 2 Aug 2016 19:23:26 +0000 (19:23 +0000)]
Unreviewed build error fix.

* mathml/MathMLOperatorElement.cpp:
(WebCore::propertyFlagToAttributeName): Return a nullQName to avoid warnings on some platforms.

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

3 years agoStop building Objective-C bindings that aren't exposed anywhere
andersca@apple.com [Tue, 2 Aug 2016 19:16:08 +0000 (19:16 +0000)]
Stop building Objective-C bindings that aren't exposed anywhere
https://bugs.webkit.org/show_bug.cgi?id=160458

Reviewed by Darin Adler.

* DerivedSources.make:
* WebCore.xcodeproj/project.pbxproj:

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

3 years agoHTMLCollection's named getter should only do 'name' attribute matching for HTMLElements
cdumez@apple.com [Tue, 2 Aug 2016 19:13:42 +0000 (19:13 +0000)]
HTMLCollection's named getter should only do 'name' attribute matching for HTMLElements
https://bugs.webkit.org/show_bug.cgi?id=160456

Reviewed by Darin Adler.

LayoutTests/imported/w3c:

* web-platform-tests/dom/nodes/Document-getElementsByTagName-expected.txt:
Rebaseline. We are still failing but on the next check.

* web-platform-tests/dom/nodes/Element-children-expected.txt:
Rebaseline now that one more check is passing.

Source/WebCore:

HTMLCollection's named getter should only do 'name' attribute matching for HTMLElements:
- https://dom.spec.whatwg.org/#dom-htmlcollection-nameditem

Our slow path which relies on HTMLCollection::updateNamedElementCache() does the right
thing. However, we have a fast path in
CachedHTMLCollection<HTMLCollectionClass, traversalType>::namedItem() that was missing a
check.

Firefox and Chrome both behave correctly here.

No new tests, rebaselined existing tests.

* html/CachedHTMLCollection.h:
(WebCore::traversalType>::namedItem):

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

3 years agoKill [StrictTypeChecking] IDL extended attribute
cdumez@apple.com [Tue, 2 Aug 2016 19:11:27 +0000 (19:11 +0000)]
Kill [StrictTypeChecking] IDL extended attribute
https://bugs.webkit.org/show_bug.cgi?id=160382

Reviewed by Darin Adler.

Kill [StrictTypeChecking] IDL extended attribute. Its only remaining
use was on DOMString parameters for a few CanvasRenderingContext2D
operations in order to work around a bug in our overload resolution.

However, as of r204028, we implement the Web IDL overload resolution
algorithm and [StrictTypeChecking] is now a no-op and is no longer
needed.

* bindings/scripts/CodeGeneratorJS.pm:
(GenerateParametersCheckExpression):
* bindings/scripts/IDLAttributes.txt:
* bindings/scripts/test/TestObj.idl:
* bindings/scripts/test/TestTypedefs.idl:
* html/canvas/CanvasRenderingContext2D.idl:

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

3 years agoMove parsing of boolean operator properties into MathMLOperatorElement
fred.wang@free.fr [Tue, 2 Aug 2016 18:47:14 +0000 (18:47 +0000)]
Move parsing of boolean operator properties into MathMLOperatorElement
https://bugs.webkit.org/show_bug.cgi?id=160190

Patch by Frederic Wang <fwang@igalia.com> on 2016-08-02
Reviewed by Darin Adler.

No new tests, already covered by existing tests.

* mathml/MathMLOperatorDictionary.h: Add a bit mask with all the property flags set.
* mathml/MathMLOperatorElement.cpp:
(WebCore::attributeNameToPropertyFlag): helper function to map from attribute name to flag.
(WebCore::MathMLOperatorElement::computeOperatorFlag): Helper function to update one
bit of m_properties.flags from the corresponding boolean attribute. The default value is
taken from the operator dictionary data stored in m_dictionaryProperty.flags.
(WebCore::MathMLOperatorElement::hasProperty): Returns whether the operator has a property,
parsing it again if the corresponding attribute is dirty.
(WebCore::MathMLOperatorElement::childrenChanged): Make all properties dirty.
(WebCore::propertyFlagToAttributeName): helper function to map from flag to attribute name.
(WebCore::MathMLOperatorElement::parseAttribute): Make all properties dirty if the form
attribute changed. Make each property dirty when the corresponding attribute changed.
(WebCore::MathMLOperatorElement::flags): Deleted. Replaced with the finer hasProperty function.
* mathml/MathMLOperatorElement.h: Define new structure, member and functions to handle
operator properties.
* rendering/mathml/RenderMathMLFencedOperator.cpp:
(WebCore::RenderMathMLFencedOperator::RenderMathMLFencedOperator): Move m_operatorFlags from
the base class to the derived class.
* rendering/mathml/RenderMathMLFencedOperator.h: Ditto.
* rendering/mathml/RenderMathMLOperator.cpp:
(WebCore::RenderMathMLOperator::RenderMathMLOperator): Ditto.
(WebCore::RenderMathMLOperator::hasOperatorFlag): Just call hasOperatorFlag from the
MathMLOperatorElement class.
(WebCore::RenderMathMLOperator::setOperatorProperties): We do not initialize m_operatorFlags
since it has been removed from the base class. We also do not parse attributes since this
has been moved to the MathMLOperatorElement class.
(WebCore::RenderMathMLOperator::setOperatorFlagFromAttribute): Deleted.
(WebCore::RenderMathMLOperator::setOperatorFlagFromAttributeValue): Deleted.
* rendering/mathml/RenderMathMLOperator.h: Move m_operatorFlags from the base class to the
derived class, remove some parsing helper functions and update hasOperatorFlag to make it
overridable.

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

3 years agoFreeze another bunch of Objective-C binding files
andersca@apple.com [Tue, 2 Aug 2016 17:42:27 +0000 (17:42 +0000)]
Freeze another bunch of Objective-C binding files
https://bugs.webkit.org/show_bug.cgi?id=160435

Reviewed by Alex Christensen.

* DerivedSources.make:
* WebCore.xcodeproj/project.pbxproj:
* bindings/objc/DOMAbstractView.h: Added.
* bindings/objc/DOMAbstractView.mm:
* bindings/objc/DOMAbstractViewInternal.h: Added.
* bindings/objc/DOMMediaList.h: Added.
* bindings/objc/DOMMediaList.mm: Added.
* bindings/objc/DOMMediaListInternal.h: Added.
* bindings/objc/DOMNodeFilter.h: Added.
* bindings/objc/DOMNodeIterator.h: Added.
* bindings/objc/DOMNodeIterator.mm: Added.
* bindings/objc/DOMNodeIteratorInternal.h: Added.
* bindings/objc/DOMRange.h: Added.
* bindings/objc/DOMRange.mm: Added.
* bindings/objc/DOMRangeInternal.h: Added.
* bindings/objc/DOMStyleSheet.h: Added.
* bindings/objc/DOMStyleSheet.mm: Added.
* bindings/objc/DOMStyleSheetInternal.h: Added.
* bindings/objc/DOMStyleSheetList.h: Added.
* bindings/objc/DOMStyleSheetList.mm: Added.
* bindings/objc/DOMStyleSheetListInternal.h: Added.
* bindings/objc/DOMTreeWalker.h: Added.
* bindings/objc/DOMTreeWalker.mm: Added.
* bindings/objc/DOMTreeWalkerInternal.h: Added.
* bindings/objc/DOMXPathExpression.h: Added.
* bindings/objc/DOMXPathExpression.mm: Added.
* bindings/objc/DOMXPathExpressionInternal.h: Added.
* bindings/objc/DOMXPathNSResolver.h: Added.
* bindings/objc/DOMXPathResult.h: Added.
* bindings/objc/DOMXPathResult.mm: Added.
* bindings/objc/DOMXPathResultInternal.h: Added.

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

3 years ago[MathML] Use more auto for local variables
commit-queue@webkit.org [Tue, 2 Aug 2016 17:27:37 +0000 (17:27 +0000)]
[MathML] Use more auto for local variables
https://bugs.webkit.org/show_bug.cgi?id=160453

Patch by Frederic Wang <fwang@igalia.com> on 2016-08-02
Reviewed by Darin Adler.

No new tests, behavior is unchanged.

* mathml/MathMLElement.cpp:
(WebCore::MathMLElement::colSpan):
(WebCore::MathMLElement::rowSpan):
(WebCore::MathMLElement::childShouldCreateRenderer):
(WebCore::MathMLElement::defaultEventHandler):
* mathml/MathMLSelectElement.cpp:
(WebCore::MathMLSelectElement::getSelectedActionChild):
(WebCore::MathMLSelectElement::getSelectedSemanticsChild):
* rendering/mathml/RenderMathMLFenced.cpp:
(WebCore::RenderMathMLFenced::updateFromElement):

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

3 years agoAttempt to fix build after r204014.
ryanhaddad@apple.com [Tue, 2 Aug 2016 17:03:40 +0000 (17:03 +0000)]
Attempt to fix build after r204014.

Unreviewed build fix.

* loader/mac/ResourceLoaderMac.mm:
(WebCore::ResourceLoader::willCacheResponse):

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

3 years ago[WebIDL] Implement overload resolution algorithm
cdumez@apple.com [Tue, 2 Aug 2016 17:02:23 +0000 (17:02 +0000)]
[WebIDL] Implement overload resolution algorithm
https://bugs.webkit.org/show_bug.cgi?id=160394

Reviewed by Darin Adler.

Source/WebCore:

Implement overload resolution algorithm:
- http://heycam.github.io/webidl/#es-overloads

This means that our support for operation overloading in our IDL is
now a lot more extensive than it used to be and is now compliant with
the Web IDL specification.

In particular, overloading should now work for a lot more parameter
types which means that:
- We should be able to drop some custom bindings code in a follow-up patch.
- We will be able to drop the [StrictTypeChecking] attribute which was
  a hack used to make overloading work for parameters of type DOMString.

Also, the order of the overloads in the IDL no longer impacts the
generated bindings code. It used to be that you needed to put the
overloads with the more specific parameter types first in order for the
generated bindings code to be somewhat correct.

No new tests, rebaselined bindings tests.

* bindings/scripts/CodeGenerator.pm:
(IsStringOrEnumType):
* bindings/scripts/CodeGeneratorJS.pm:
(IsNullableType):
(StripNullable):
(ComputeEffectiveOverloadSet):
(AreTypesDistinguishableForOverloadResolution):
(GetDistinguishingArgumentIndex):
(GetOverloadThatMatches):
(GenerateOverloadedFunction):
* bindings/scripts/test/JS/JSTestGlobalObject.cpp:
(WebCore::jsTestGlobalObjectInstanceFunctionEnabledAtRuntimeOperation):
* bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::jsTestObjPrototypeFunctionEnabledAtRuntimeOperation):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithOptionalParameter1):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithOptionalParameter):
(WebCore::jsTestObjConstructorFunctionOverloadedMethod1):
(WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunction):
(WebCore::jsTestObjConstructorFunctionOverloadedMethod12): Deleted.
(WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunction2Promise): Deleted.
* bindings/scripts/test/TestObj.idl:
* dom/EventTarget.h:
* dom/EventTarget.idl:
* html/HTMLOptionsCollection.h:
* html/HTMLOptionsCollection.idl:
* html/HTMLSelectElement.h:
(WebCore::HTMLSelectElement::add):
* html/HTMLSelectElement.idl:

LayoutTests:

Update / Rebaseline existing test. There is no major behavior change.
We sometimes get a different exception message than we used to.

* fast/canvas/canvas-clip-path-expected.txt:
* fast/canvas/canvas-fill-path-expected.txt:
* fast/canvas/canvas-path-addPath-expected.txt:
* fast/canvas/canvas-path-isPointInPath-expected.txt:
* fast/canvas/canvas-path-isPointInStroke-expected.txt:
* fast/canvas/canvas-putImageData-expected.txt:
* fast/canvas/canvas-putImageData.js:
* fast/canvas/canvas-stroke-path-expected.txt:
* fast/canvas/webgl/script-tests/texImageTest.js:
* fast/canvas/webgl/texImageTest-expected.txt:
* fast/dom/HTMLSelectElement/add-expected.txt:
* fast/dom/HTMLSelectElement/add.html:
* fast/dom/HTMLSelectElement/options-collection-add-expected.txt:
* fast/dom/HTMLSelectElement/options-collection-add.html:
* fast/dom/incompatible-operations-expected.txt:
* js/dom/select-options-add-expected.txt:
* webaudio/audiobuffer-expected.txt:
* webaudio/audiobuffer.html:
* webgl/1.0.2/resources/webgl_test_files/conformance/textures/tex-image-with-invalid-data.html:

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