WebKit-https.git
3 years agoRemove Objective-C specific extended attributes from the bindings
weinig@apple.com [Sun, 21 Aug 2016 01:09:10 +0000 (01:09 +0000)]
Remove Objective-C specific extended attributes from the bindings
https://bugs.webkit.org/show_bug.cgi?id=161034

Reviewed by Dan Bernstein.

- Removes ObjCPolymorphic, ObjCProtocol, ObjCLegacyUnnamedParameters and ObjCExplicitAtomicString
  extended attributes.

* animation/AnimationTimeline.idl:
* css/CSSMediaRule.idl:
* css/CSSPrimitiveValue.idl:
* css/CSSRule.idl:
* css/CSSStyleDeclaration.idl:
* css/CSSStyleSheet.idl:
* css/CSSValue.idl:
* css/StyleSheet.idl:
* dom/CharacterData.idl:
* dom/DOMImplementation.idl:
* dom/Document.idl:
* dom/Element.idl:
* dom/Event.idl:
* dom/EventListener.idl:
* dom/EventTarget.idl:
* dom/MouseEvent.idl:
* dom/MutationEvent.idl:
* dom/NamedNodeMap.idl:
* dom/Node.idl:
* dom/NodeFilter.idl:
* dom/NonElementParentNode.idl:
* dom/Range.idl:
* dom/UIEvent.idl:
* html/HTMLCollection.idl:
* html/HTMLSelectElement.idl:
* svg/SVGExternalResourcesRequired.idl:
* svg/SVGFilterPrimitiveStandardAttributes.idl:
* svg/SVGFitToViewBox.idl:
* svg/SVGPathSeg.idl:
* svg/SVGTests.idl:
* svg/SVGURIReference.idl:
* svg/SVGZoomAndPan.idl:
* xml/XPathExpression.idl:
* xml/XPathNSResolver.idl:

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

3 years agoRoll out r204683.
weinig@apple.com [Sun, 21 Aug 2016 00:54:33 +0000 (00:54 +0000)]
Roll out r204683.

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

3 years agoRemove Objective-C specific extended attributes / features from the bindings
weinig@apple.com [Sat, 20 Aug 2016 23:43:45 +0000 (23:43 +0000)]
Remove Objective-C specific extended attributes / features from the bindings
https://bugs.webkit.org/show_bug.cgi?id=161034

Reviewed by Dan Bernstein.

- Removes ObjCPolymorphic, ObjCProtocol, ObjCLegacyUnnamedParameters and ObjCExplicitAtomicString
  extended attributes.
- Remove support for multiple inheritance from the IDLParser.

* bindings/scripts/CodeGenerator.pm:
* bindings/scripts/IDLParser.pm:
* animation/AnimationTimeline.idl:
* css/CSSMediaRule.idl:
* css/CSSPrimitiveValue.idl:
* css/CSSRule.idl:
* css/CSSStyleDeclaration.idl:
* css/CSSStyleSheet.idl:
* css/CSSValue.idl:
* css/StyleSheet.idl:
* dom/CharacterData.idl:
* dom/DOMImplementation.idl:
* dom/Document.idl:
* dom/Element.idl:
* dom/Event.idl:
* dom/EventListener.idl:
* dom/EventTarget.idl:
* dom/MouseEvent.idl:
* dom/MutationEvent.idl:
* dom/NamedNodeMap.idl:
* dom/Node.idl:
* dom/NodeFilter.idl:
* dom/NonElementParentNode.idl:
* dom/Range.idl:
* dom/UIEvent.idl:
* html/HTMLCollection.idl:
* html/HTMLSelectElement.idl:
* svg/SVGExternalResourcesRequired.idl:
* svg/SVGFilterPrimitiveStandardAttributes.idl:
* svg/SVGFitToViewBox.idl:
* svg/SVGPathSeg.idl:
* svg/SVGTests.idl:
* svg/SVGURIReference.idl:
* svg/SVGZoomAndPan.idl:
* xml/XPathExpression.idl:
* xml/XPathNSResolver.idl:

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

3 years ago[Mac] Web Content service with a restricted entitlement may load arbitrary dylibs
mitz@apple.com [Sat, 20 Aug 2016 22:00:11 +0000 (22:00 +0000)]
[Mac] Web Content service with a restricted entitlement may load arbitrary dylibs
https://bugs.webkit.org/show_bug.cgi?id=156668
<rdar://problem/25429784>

Reviewed by Sam Weinig.

* Configurations/WebContentService.xcconfig: Enable library validation when the Web Content
  service is given the XPC domain extension entitlement.

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

3 years agoStop pretending that AbstractView is a thing, it's not
weinig@apple.com [Sat, 20 Aug 2016 21:40:29 +0000 (21:40 +0000)]
Stop pretending that AbstractView is a thing, it's not
https://bugs.webkit.org/show_bug.cgi?id=161032

Reviewed by Dan Bernstein.

Remove AbstractView.idl, the AbstractView typedef of DOMWindow, and
all special casing of the name AbstractView in the JS code generator.

No change in behavior.

* DerivedSources.make:
* Modules/indieui/UIRequestEvent.cpp:
(WebCore::UIRequestEvent::createForBindings):
(WebCore::UIRequestEvent::create):
(WebCore::UIRequestEvent::UIRequestEvent):
* Modules/indieui/UIRequestEvent.h:
(WebCore::UIRequestEvent::receiver):
* WebCore.xcodeproj/project.pbxproj:
* bindings/scripts/CodeGeneratorGObject.pm:
* bindings/scripts/CodeGeneratorJS.pm:
(ShouldGenerateToJSDeclaration):
(GetImplClassName):
* dom/CompositionEvent.cpp:
(WebCore::CompositionEvent::CompositionEvent):
(WebCore::CompositionEvent::~CompositionEvent):
(WebCore::CompositionEvent::initCompositionEvent):
* dom/CompositionEvent.h:
* dom/FocusEvent.cpp:
(WebCore::FocusEvent::isFocusEvent):
(WebCore::FocusEvent::FocusEvent):
* dom/FocusEvent.h:
* dom/KeyboardEvent.cpp:
(WebCore::KeyboardEvent::KeyboardEvent):
(WebCore::KeyboardEvent::~KeyboardEvent):
(WebCore::KeyboardEvent::initKeyboardEvent):
* dom/KeyboardEvent.h:
* dom/MouseEvent.cpp:
(WebCore::MouseEvent::createForBindings):
(WebCore::MouseEvent::create):
(WebCore::MouseEvent::MouseEvent):
(WebCore::MouseEvent::~MouseEvent):
(WebCore::MouseEvent::initMouseEvent):
* dom/MouseEvent.h:
* dom/MouseRelatedEvent.cpp:
(WebCore::MouseRelatedEvent::MouseRelatedEvent):
(WebCore::contentsScrollOffset):
* dom/MouseRelatedEvent.h:
* dom/SimulatedClick.cpp:
* dom/TextEvent.cpp:
(WebCore::TextEvent::createForBindings):
(WebCore::TextEvent::create):
(WebCore::TextEvent::createForPlainTextPaste):
(WebCore::TextEvent::createForFragmentPaste):
(WebCore::TextEvent::createForDrop):
(WebCore::TextEvent::createForDictation):
(WebCore::TextEvent::TextEvent):
(WebCore::TextEvent::~TextEvent):
(WebCore::TextEvent::initTextEvent):
* dom/TextEvent.h:
* dom/TouchEvent.h:
* dom/UIEvent.cpp:
(WebCore::UIEvent::UIEvent):
(WebCore::UIEvent::~UIEvent):
(WebCore::UIEvent::initUIEvent):
* dom/UIEvent.h:
(WebCore::UIEvent::create):
(WebCore::UIEvent::createForBindings):
(WebCore::UIEvent::view):
(WebCore::UIEvent::detail):
* dom/UIEventWithKeyState.h:
(WebCore::UIEventWithKeyState::UIEventWithKeyState):
* dom/WheelEvent.cpp:
(WebCore::WheelEvent::WheelEvent):
(WebCore::WheelEvent::initWheelEvent):
(WebCore::WheelEvent::initWebKitWheelEvent):
* dom/WheelEvent.h:
* page/AbstractView.idl: Removed.

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

3 years agoREGRESSION (r204477): Running LayoutTests on ios-simulator became ~15 minutes slower
simon.fraser@apple.com [Sat, 20 Aug 2016 17:29:05 +0000 (17:29 +0000)]
REGRESSION (r204477): Running LayoutTests on ios-simulator became ~15 minutes slower
https://bugs.webkit.org/show_bug.cgi?id=160985

Re-land r204672, but don't check the result of 'xcrun simctl shutdown', because
device shutdown seems to happen as result of killing Simulator.apps, and we're racing
with that.

* Scripts/webkitpy/layout_tests/views/printing.py:
(Printer.print_config):
* Scripts/webkitpy/port/base.py:
(Port.driver_cmd_line_for_logging):
(Port.driver_cmd_line): Deleted.
* Scripts/webkitpy/port/driver.py:
(IOSSimulatorDriver.cmd_line):
* Scripts/webkitpy/port/ios.py:
(IOSSimulatorPort.__init__):
(IOSSimulatorPort.driver_cmd_line_for_logging):
(IOSSimulatorPort._create_simulators):
(IOSSimulatorPort.setup_test_run):
(IOSSimulatorPort._quit_ios_simulator):
(IOSSimulatorPort.clean_up_test_run):
(IOSSimulatorPort._create_device):
(IOSSimulatorPort):
(IOSSimulatorPort._remove_device):
(IOSSimulatorPort._testing_device):
(IOSSimulatorPort.device_id_for_worker_number):
(IOSSimulatorPort._set_device_class): Deleted.
(IOSSimulatorPort.testing_device): Deleted.
* Scripts/webkitpy/port/port_testcase.py:
(PortTestCase.test_driver_cmd_line):
* Scripts/webkitpy/xcode/simulator.py:
(Device.shutdown):
(Device):
(Device.delete):
(Device.reset):
(Simulator):
(Simulator.create_device):
(Simulator.remove_device):
(Simulator.device_number):
(Simulator.device_state_description):
(Simulator.wait_until_device_is_in_state):

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

3 years agoLocation.ancestorOrigins should return a FrozenArray<USVString>
weinig@apple.com [Sat, 20 Aug 2016 14:44:52 +0000 (14:44 +0000)]
Location.ancestorOrigins should return a FrozenArray<USVString>
https://bugs.webkit.org/show_bug.cgi?id=161018

Reviewed by Ryosuke Niwa and Chris Dumez.

Source/JavaScriptCore:

* runtime/ObjectConstructor.h:
(JSC::objectConstructorFreeze):
Export objectConstructorFreeze so it can be used to freeze DOM FrozenArrays.

Source/WebCore:

Updated tests: fast/dom/Window/Location/ancestor-origins.html
               fast/dom/indexed-getters-returning-string.html

* Modules/indexeddb/IDBDatabase.cpp:
(WebCore::IDBDatabase::createObjectStore):
(WebCore::IDBDatabase::transaction):
(WebCore::IDBDatabase::deleteObjectStore):
* Modules/indexeddb/IDBDatabase.h:
Remove unused ScriptExecutionContext parameter.

* Modules/indexeddb/IDBDatabase.idl:
There is no need for a custom implementation anymore.

* CMakeLists.txt:
* WebCore.xcodeproj/project.pbxproj:
Remove JSDOMStringListCustom.cpp, which is no longer needed.

* bindings/js/JSDOMBinding.cpp:
(WebCore::jsArray): Deleted.
Remove overload of jsArray that took a DOMStringList.

* bindings/js/JSDOMBinding.h:
(WebCore::jsFrozenArray):
Add jsFrozenArray which returns an JSArray which has had the moral
equivalent of Object.freeze() called on it. This follows
http://heycam.github.io/webidl/#es-frozen-array.

* bindings/js/JSDOMStringListCustom.cpp:
Removed.

* bindings/js/JSIDBDatabaseCustom.cpp:
(WebCore::JSIDBDatabase::transaction): Deleted.
Remove no longer necessary custom implementation of transaction.

* bindings/scripts/CodeGenerator.pm:
(IsRefPtrType):
(IsSVGAnimatedType):
(IsSequenceType):
(GetSequenceType):
(IsFrozenArrayType):
(GetFrozenArrayInnerType):
* bindings/scripts/CodeGeneratorJS.pm:
(AreTypesDistinguishableForOverloadResolution):
(GenerateOverloadedFunctionOrConstructor):
(GetNativeType):
(GetNativeVectorInnerType):
(GetNativeTypeForCallbacks):
(JSValueToNative):
(NativeToJSValue):
* bindings/scripts/IDLParser.pm:
(parseNonAnyType):
Add support for FrozenArray, closely matching the sequence code.

* bindings/scripts/test/JS/JSTestCallback.cpp:
* bindings/scripts/test/JS/JSTestCallback.h:
* bindings/scripts/test/JS/JSTestCallbackFunction.cpp:
* bindings/scripts/test/JS/JSTestCallbackFunction.h:
* bindings/scripts/test/JS/JSTestObj.cpp:
* bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
Updated bindings test results.

* dom/DOMStringList.idl:
Remove JSCustomToNativeObject, which is no longer needed.

* inspector/InspectorIndexedDBAgent.cpp:
Update calls to IDBDatabase::transaction.

* page/Location.cpp:
(WebCore::Location::ancestorOrigins):
* page/Location.h:
Change ancestorOrigins to return a Vector<String> rather than
a DOMStringList.

* page/Location.idl:
Change ancestorOrigins to return a FrozenArray<USVString>, matching
the HTML5 spec.

LayoutTests:

Update existing tests to account for the change in type of Location.ancestorOrigins.

* fast/dom/Window/Location/ancestor-origins-expected.txt:
* fast/dom/Window/Location/ancestor-origins.html:
* fast/dom/indexed-getters-returning-string-expected.txt:
* fast/dom/indexed-getters-returning-string.html:

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

3 years ago[GTK] Unreviewed GTK build fix since r204665 and 204668
jfernandez@igalia.com [Sat, 20 Aug 2016 09:38:41 +0000 (09:38 +0000)]
[GTK] Unreviewed GTK build fix since r204665 and 204668
https://bugs.webkit.org/show_bug.cgi?id=161020

* CMakeLists.txt:
* Platform/IPC/MessageRecorder.cpp:
(IPC::MessageRecorder::recordOutgoingMessage):
* Platform/IPC/unix/ConnectionUnix.cpp:
(IPC::Connection::processMessage):
(IPC::Connection::sendOutgoingMessage):
* Platform/unix/SharedMemoryUnix.cpp:
(WebKit::SharedMemory::Handle::encode):
(WebKit::SharedMemory::Handle::decode):
* PlatformGTK.cmake:
* Scripts/webkit/LegacyMessageReceiver-expected.cpp:
(Messages::WebPage::GetPluginProcessConnection::DelayedReply::DelayedReply):
(Messages::WebPage::TestMultipleAttributes::DelayedReply::DelayedReply):
(WebKit::WebPage::didReceiveWebPageMessage):
(WebKit::WebPage::didReceiveSyncWebPageMessage):
* Scripts/webkit/LegacyMessages-expected.h:
* Scripts/webkit/MessageReceiver-expected.cpp:
(Messages::WebPage::GetPluginProcessConnection::DelayedReply::DelayedReply):
(Messages::WebPage::TestMultipleAttributes::DelayedReply::DelayedReply):
(WebKit::WebPage::didReceiveMessage):
(WebKit::WebPage::didReceiveSyncMessage):
* Scripts/webkit/Messages-expected.h:
* Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
(IPC::ArgumentCoder<WebCore::FilterOperations>::encode):
(IPC::ArgumentCoder<WebCore::FilterOperations>::decode):
(IPC::ArgumentCoder<TransformOperations>::encode):
(IPC::ArgumentCoder<TransformOperations>::decode):
(IPC::encodeTimingFunction):
(IPC::decodeTimingFunction):
(IPC::ArgumentCoder<TextureMapperAnimation>::encode):
(IPC::ArgumentCoder<TextureMapperAnimation>::decode):
(IPC::ArgumentCoder<TextureMapperAnimations>::encode):
(IPC::ArgumentCoder<TextureMapperAnimations>::decode):
(IPC::ArgumentCoder<WebCore::GraphicsSurfaceToken>::encode):
(IPC::ArgumentCoder<WebCore::GraphicsSurfaceToken>::decode):
(IPC::ArgumentCoder<SurfaceUpdateInfo>::encode):
(IPC::ArgumentCoder<SurfaceUpdateInfo>::decode):
(IPC::ArgumentCoder<CoordinatedGraphicsLayerState>::encode):
(IPC::ArgumentCoder<CoordinatedGraphicsLayerState>::decode):
(IPC::ArgumentCoder<TileUpdateInfo>::encode):
(IPC::ArgumentCoder<TileUpdateInfo>::decode):
(IPC::ArgumentCoder<TileCreationInfo>::encode):
(IPC::ArgumentCoder<TileCreationInfo>::decode):
(IPC::encodeCoordinatedSurface):
(IPC::decodeCoordinatedSurface):
(IPC::ArgumentCoder<CoordinatedGraphicsState>::encode):
(IPC::ArgumentCoder<CoordinatedGraphicsState>::decode):
* Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.h:
* Shared/CoordinatedGraphics/WebCoordinatedSurface.cpp:
(WebKit::WebCoordinatedSurface::Handle::encode):
(WebKit::WebCoordinatedSurface::Handle::decode):
* Shared/CoordinatedGraphics/WebCoordinatedSurface.h:
* Shared/WebBatteryStatus.cpp:
(WebKit::WebBatteryStatus::Data::encode):
(WebKit::WebBatteryStatus::Data::decode):
* Shared/WebBatteryStatus.h:
* Shared/gtk/ArgumentCodersGtk.cpp:
(IPC::encodeImage):
(IPC::decodeImage):
(IPC::encodeDataObject):
(IPC::decodeDataObject):
(IPC::ArgumentCoder<DragData>::encode):
(IPC::ArgumentCoder<DragData>::decode):
(IPC::encodeGKeyFile):
(IPC::decodeGKeyFile):
(IPC::encode):
(IPC::decode):
* Shared/gtk/ArgumentCodersGtk.h:
* Shared/soup/WebCoreArgumentCodersSoup.cpp:
(IPC::ArgumentCoder<ResourceRequest>::encodePlatformData):
(IPC::ArgumentCoder<ResourceRequest>::decodePlatformData):
(IPC::ArgumentCoder<CertificateInfo>::encode):
(IPC::ArgumentCoder<CertificateInfo>::decode):
(IPC::ArgumentCoder<ResourceError>::encodePlatformData):
(IPC::ArgumentCoder<ResourceError>::decodePlatformData):
(IPC::ArgumentCoder<ProtectionSpace>::encodePlatformData):
(IPC::ArgumentCoder<ProtectionSpace>::decodePlatformData):
(IPC::ArgumentCoder<Credential>::encodePlatformData):
(IPC::ArgumentCoder<Credential>::decodePlatformData):
* UIProcess/LegacySessionStateCodingNone.cpp:
(WebKit::encodeLegacySessionState):
(WebKit::decodeLegacySessionState):
* UIProcess/WebBatteryManagerProxy.h:

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

3 years agoUnreviewed, build fix attempt after r204665 and r204668.
utatane.tea@gmail.com [Sat, 20 Aug 2016 08:04:08 +0000 (08:04 +0000)]
Unreviewed, build fix attempt after r204665 and r204668.

* PlatformGTK.cmake:

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

3 years agoAnother build fix attempt after r204665 and r204668.
rniwa@webkit.org [Sat, 20 Aug 2016 04:53:41 +0000 (04:53 +0000)]
Another build fix attempt after r204665 and r204668.

* CMakeLists.txt:

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

3 years agoGTK+ / EFL build fix attempt after r204665.
rniwa@webkit.org [Sat, 20 Aug 2016 04:44:38 +0000 (04:44 +0000)]
GTK+ / EFL build fix attempt after r204665.

* CMakeLists.txt:

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

3 years agoUnreviewed, roll out part of r204662 to see if it addresses flakiness.
cdumez@apple.com [Sat, 20 Aug 2016 03:10:03 +0000 (03:10 +0000)]
Unreviewed, roll out part of r204662 to see if it addresses flakiness.

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

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

3 years agoUnreviewed, rolling out r204659.
ryanhaddad@apple.com [Sat, 20 Aug 2016 02:53:00 +0000 (02:53 +0000)]
Unreviewed, rolling out r204659.

This change appears to have caused ios-simulator LayoutTests
to fail when shutting down the simulator

Reverted changeset:

"REGRESSION (r204477): Running LayoutTests on ios-simulator
became ~15 minutes slower"
https://bugs.webkit.org/show_bug.cgi?id=160985
http://trac.webkit.org/changeset/204659

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

3 years ago[JSC] ArithSqrt should work with any argument type
commit-queue@webkit.org [Sat, 20 Aug 2016 02:00:44 +0000 (02:00 +0000)]
[JSC] ArithSqrt should work with any argument type
https://bugs.webkit.org/show_bug.cgi?id=160954

Patch by Benjamin Poulain <bpoulain@apple.com> on 2016-08-19
Reviewed by Saam Barati.

JSTests:

* stress/arith-sqrt-on-various-types.js: Added.
(let.validInputTypedTestCases.validInputTestCases.map):
(isIdentical):
(opaqueAllTypesSqrt):
(testAllTypesCall):
(testSingleTypeCall):
(opaqueSqrtForSideEffects):
(testSideEffect.let.testObject.valueOf):
(testSideEffect):
(opaqueSqrtForCSE):
(testCSE.let.testObject.valueOf):
(testCSE):
(testException.opaqueSqrtWithException):
(testException):

Source/JavaScriptCore:

Previsouly, ArithSqrt would always OSR Exit if the argument
is not typed Integer, Double, or Boolean.
Since we can't recover by generalizing to those, we continuously
OSR Exit and recompile the same code over and over again.

This patch introduces a fallback to handle the remaining types.

* dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
* dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
* dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):

* dfg/DFGMayExit.cpp:
This is somewhat unrelated. While discussing the design of this
with Filip, we decided not to use ToNumber+ArithSqrt despite
the guarantee that ToNumber does not OSR Exit.
Since it does not OSR Exit, we should say so in mayExitImpl().

* dfg/DFGNodeType.h:
* dfg/DFGOperations.cpp:
* dfg/DFGOperations.h:
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileArithSqrt):
* dfg/DFGSpeculativeJIT.h:
(JSC::DFG::SpeculativeJIT::callOperation):
* ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileArithSqrt):

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

3 years agoMark CanvasPath operations' parameters as mandatory when they should be
cdumez@apple.com [Sat, 20 Aug 2016 00:45:30 +0000 (00:45 +0000)]
Mark CanvasPath operations' parameters as mandatory when they should be
https://bugs.webkit.org/show_bug.cgi?id=161014

Reviewed by Sam Weinig.

LayoutTests/imported/w3c:

Rebaseline W3C test now that more checks are passing.

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

Source/WebCore:

Mark CanvasPath operations as mandatory when they should be:
- https://html.spec.whatwg.org/multipage/scripting.html#canvaspath

This patch moves the CanvasPath methods from CanvasRenderingContext2D
and Path2D to a new CanvasPath interface, to avoid duplication and
match the specification.

The parameters were correctly marked as mandatory in WebKit on
CanvasRenderingContext2D but not on Path2D.

Those parameters are correctly marked as mandatory in Chrome and Firefox.

No new tests, rebaselined existing test.

* CMakeLists.txt:
* DerivedSources.make:
* WebCore.xcodeproj/project.pbxproj:
* html/canvas/CanvasPath.cpp: Renamed from Source/WebCore/html/canvas/CanvasPathMethods.cpp.
(WebCore::CanvasPath::closePath):
(WebCore::CanvasPath::moveTo):
(WebCore::CanvasPath::lineTo):
(WebCore::CanvasPath::quadraticCurveTo):
(WebCore::CanvasPath::bezierCurveTo):
(WebCore::CanvasPath::arcTo):
(WebCore::normalizeAngles):
(WebCore::CanvasPath::arc):
(WebCore::CanvasPath::ellipse):
(WebCore::CanvasPath::rect):
* html/canvas/CanvasPath.h: Renamed from Source/WebCore/html/canvas/CanvasPathMethods.h.
(WebCore::CanvasPath::~CanvasPath):
(WebCore::CanvasPath::CanvasPath):
(WebCore::CanvasPath::hasInvertibleTransform):
* html/canvas/CanvasPath.idl: Added.
* html/canvas/CanvasRenderingContext2D.h:
* html/canvas/CanvasRenderingContext2D.idl:
* html/canvas/DOMPath.h:
* html/canvas/DOMPath.idl:

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

3 years agoMerge MessageDecoder and ArgumentDecoder into Decoder
andersca@apple.com [Sat, 20 Aug 2016 00:11:17 +0000 (00:11 +0000)]
Merge MessageDecoder and ArgumentDecoder into Decoder
https://bugs.webkit.org/show_bug.cgi?id=161019

Reviewed by Tim Horton.

* DatabaseProcess/DatabaseProcess.cpp:
* DatabaseProcess/DatabaseProcess.h:
* DatabaseProcess/DatabaseToWebProcessConnection.cpp:
* DatabaseProcess/DatabaseToWebProcessConnection.h:
* DatabaseProcess/IndexedDB/WebIDBConnectionToClient.h:
* NetworkProcess/CustomProtocols/CustomProtocolManager.h:
* NetworkProcess/Downloads/DownloadID.h:
* NetworkProcess/NetworkConnectionToWebProcess.cpp:
* NetworkProcess/NetworkConnectionToWebProcess.h:
* NetworkProcess/NetworkProcess.cpp:
* NetworkProcess/NetworkProcess.h:
* NetworkProcess/NetworkProcessCreationParameters.cpp:
* NetworkProcess/NetworkProcessCreationParameters.h:
* NetworkProcess/NetworkResourceLoadParameters.cpp:
* NetworkProcess/NetworkResourceLoadParameters.h:
* NetworkProcess/NetworkResourceLoader.h:
* Platform/IPC/ArgumentCoder.h:
* Platform/IPC/ArgumentCoders.cpp:
* Platform/IPC/ArgumentCoders.h:
* Platform/IPC/ArgumentDecoder.cpp:
* Platform/IPC/ArgumentDecoder.h:
* Platform/IPC/Arguments.h:
* Platform/IPC/Attachment.cpp:
* Platform/IPC/Attachment.h:
* Platform/IPC/Connection.cpp:
* Platform/IPC/Connection.h:
* Platform/IPC/DataReference.cpp:
* Platform/IPC/DataReference.h:
* Platform/IPC/Decoder.cpp: Renamed from Source/WebKit2/Platform/IPC/ArgumentDecoder.cpp.
* Platform/IPC/Decoder.h: Renamed from Source/WebKit2/Platform/IPC/ArgumentDecoder.h.
* Platform/IPC/HandleMessage.h:
* Platform/IPC/MessageDecoder.cpp: Removed.
* Platform/IPC/MessageDecoder.h: Removed.
* Platform/IPC/MessageReceiver.h:
* Platform/IPC/MessageReceiverMap.cpp:
* Platform/IPC/MessageReceiverMap.h:
* Platform/IPC/MessageRecorder.cpp:
* Platform/IPC/MessageRecorder.h:
* Platform/IPC/StringReference.cpp:
* Platform/IPC/StringReference.h:
* Platform/IPC/mac/ConnectionMac.mm:
* Platform/IPC/mac/MachPort.h:
* Platform/SharedMemory.h:
* Platform/mac/SharedMemoryMac.cpp:
* PluginProcess/PluginControllerProxy.h:
* PluginProcess/PluginCreationParameters.cpp:
* PluginProcess/PluginCreationParameters.h:
* PluginProcess/PluginProcess.cpp:
* PluginProcess/PluginProcess.h:
* PluginProcess/WebProcessConnection.cpp:
* PluginProcess/WebProcessConnection.h:
* Scripts/webkit/messages.py:
* Shared/API/APIData.cpp:
* Shared/API/APIData.h:
* Shared/API/APIError.cpp:
* Shared/API/APIError.h:
* Shared/API/APIFrameHandle.cpp:
* Shared/API/APIFrameHandle.h:
* Shared/API/APIGeometry.cpp:
* Shared/API/APIGeometry.h:
* Shared/API/APINumber.h:
* Shared/API/APIPageGroupHandle.cpp:
* Shared/API/APIPageGroupHandle.h:
* Shared/API/APIPageHandle.cpp:
* Shared/API/APIPageHandle.h:
* Shared/API/APIURL.h:
* Shared/API/APIURLRequest.cpp:
* Shared/API/APIURLRequest.h:
* Shared/API/APIURLResponse.cpp:
* Shared/API/APIURLResponse.h:
* Shared/API/Cocoa/RemoteObjectInvocation.h:
* Shared/API/Cocoa/RemoteObjectInvocation.mm:
* Shared/API/Cocoa/RemoteObjectRegistry.h:
* Shared/AssistedNodeInformation.cpp:
* Shared/AssistedNodeInformation.h:
* Shared/Authentication/AuthenticationManager.h:
* Shared/ChildProcess.h:
* Shared/Cocoa/DataDetectionResult.h:
* Shared/Cocoa/DataDetectionResult.mm:
* Shared/Cocoa/LoadParametersCocoa.mm:
* Shared/Cocoa/WebCoreArgumentCodersCocoa.mm:
* Shared/ContextMenuContextData.cpp:
* Shared/ContextMenuContextData.h:
* Shared/Databases/DatabaseProcessCreationParameters.cpp:
* Shared/Databases/DatabaseProcessCreationParameters.h:
* Shared/Databases/IndexedDB/WebIDBResult.cpp:
* Shared/Databases/IndexedDB/WebIDBResult.h:
* Shared/EditorState.cpp:
* Shared/EditorState.h:
* Shared/FontInfo.cpp:
* Shared/FontInfo.h:
* Shared/Gamepad/GamepadData.cpp:
* Shared/Gamepad/GamepadData.h:
* Shared/LayerTreeContext.cpp:
* Shared/LayerTreeContext.h:
* Shared/LoadParameters.cpp:
* Shared/LoadParameters.h:
* Shared/NavigationActionData.cpp:
* Shared/NavigationActionData.h:
* Shared/PlatformPopupMenuData.cpp:
* Shared/PlatformPopupMenuData.h:
* Shared/Plugins/NPIdentifierData.cpp:
* Shared/Plugins/NPIdentifierData.h:
* Shared/Plugins/NPObjectMessageReceiver.h:
* Shared/Plugins/NPRemoteObjectMap.cpp:
* Shared/Plugins/NPRemoteObjectMap.h:
* Shared/Plugins/NPVariantData.cpp:
* Shared/Plugins/NPVariantData.h:
* Shared/Plugins/PluginProcessCreationParameters.cpp:
* Shared/Plugins/PluginProcessCreationParameters.h:
* Shared/PrintInfo.cpp:
* Shared/PrintInfo.h:
* Shared/SandboxExtension.h:
* Shared/Scrolling/RemoteScrollingCoordinatorTransaction.cpp:
* Shared/Scrolling/RemoteScrollingCoordinatorTransaction.h:
* Shared/SessionState.cpp:
* Shared/SessionState.h:
* Shared/ShareableBitmap.cpp:
* Shared/ShareableBitmap.h:
* Shared/ShareableResource.cpp:
* Shared/ShareableResource.h:
* Shared/StatisticsData.cpp:
* Shared/StatisticsData.h:
* Shared/UpdateInfo.cpp:
* Shared/UpdateInfo.h:
* Shared/UserData.cpp:
* Shared/UserData.h:
* Shared/VisibleContentRectUpdateInfo.cpp:
* Shared/VisibleContentRectUpdateInfo.h:
* Shared/WebBackForwardListItem.h:
* Shared/WebCompiledContentExtensionData.cpp:
* Shared/WebCompiledContentExtensionData.h:
* Shared/WebConnection.h:
* Shared/WebContextMenuItemData.cpp:
* Shared/WebContextMenuItemData.h:
* Shared/WebCoreArgumentCoders.cpp:
* Shared/WebCoreArgumentCoders.h:
* Shared/WebEvent.cpp:
* Shared/WebEvent.h:
* Shared/WebGeolocationPosition.cpp:
* Shared/WebGeolocationPosition.h:
* Shared/WebHitTestResultData.cpp:
* Shared/WebHitTestResultData.h:
* Shared/WebKeyboardEvent.cpp:
* Shared/WebMouseEvent.cpp:
* Shared/WebNavigationDataStore.h:
* Shared/WebPageCreationParameters.cpp:
* Shared/WebPageCreationParameters.h:
* Shared/WebPageGroupData.cpp:
* Shared/WebPageGroupData.h:
* Shared/WebPlatformTouchPoint.cpp:
* Shared/WebPopupItem.cpp:
* Shared/WebPopupItem.h:
* Shared/WebPreferencesStore.cpp:
* Shared/WebPreferencesStore.h:
* Shared/WebProcessCreationParameters.cpp:
* Shared/WebProcessCreationParameters.h:
* Shared/WebTouchEvent.cpp:
* Shared/WebUserContentControllerDataTypes.cpp:
* Shared/WebUserContentControllerDataTypes.h:
* Shared/WebWheelEvent.cpp:
* Shared/WebsiteData/WebsiteData.cpp:
* Shared/WebsiteData/WebsiteData.h:
* Shared/cf/ArgumentCodersCF.cpp:
* Shared/cf/ArgumentCodersCF.h:
* Shared/ios/InteractionInformationAtPosition.h:
* Shared/ios/InteractionInformationAtPosition.mm:
* Shared/ios/QuickLookDocumentData.cpp:
* Shared/ios/QuickLookDocumentData.h:
* Shared/ios/WebPlatformTouchPointIOS.cpp:
* Shared/ios/WebTouchEventIOS.cpp:
* Shared/mac/ArgumentCodersMac.h:
* Shared/mac/ArgumentCodersMac.mm:
* Shared/mac/AttributedString.h:
* Shared/mac/AttributedString.mm:
* Shared/mac/ColorSpaceData.h:
* Shared/mac/ColorSpaceData.mm:
* Shared/mac/ObjCObjectGraph.h:
* Shared/mac/ObjCObjectGraph.mm:
* Shared/mac/RemoteLayerBackingStore.h:
* Shared/mac/RemoteLayerBackingStore.mm:
* Shared/mac/RemoteLayerTreeTransaction.h:
* Shared/mac/RemoteLayerTreeTransaction.mm:
* Shared/mac/SandboxExtensionMac.mm:
* Shared/mac/SecItemRequestData.cpp:
* Shared/mac/SecItemRequestData.h:
* Shared/mac/SecItemResponseData.cpp:
* Shared/mac/SecItemResponseData.h:
* Shared/mac/SecItemShim.h:
* Shared/mac/WebCoreArgumentCodersMac.mm:
* Shared/mac/WebGestureEvent.cpp:
* Shared/mac/WebGestureEvent.h:
* Shared/mac/WebHitTestResultData.mm:
* UIProcess/API/APIHitTestResult.h:
* UIProcess/ApplePay/WebPaymentCoordinatorProxy.h:
* UIProcess/Automation/WebAutomationSession.h:
* UIProcess/ChildProcessProxy.cpp:
* UIProcess/ChildProcessProxy.h:
* UIProcess/Cocoa/WebPlaybackSessionManagerProxy.h:
* UIProcess/Cocoa/WebVideoFullscreenManagerProxy.h:
* UIProcess/Databases/DatabaseProcessProxy.cpp:
* UIProcess/Databases/DatabaseProcessProxy.h:
* UIProcess/Downloads/DownloadProxy.h:
* UIProcess/DrawingAreaProxy.h:
* UIProcess/Network/CustomProtocols/CustomProtocolManagerProxy.h:
* UIProcess/Network/NetworkProcessProxy.cpp:
* UIProcess/Network/NetworkProcessProxy.h:
* UIProcess/Plugins/PluginProcessProxy.h:
* UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.cpp:
* UIProcess/Storage/StorageManager.h:
* UIProcess/UserContent/WebUserContentControllerProxy.h:
* UIProcess/VisitedLinkStore.h:
* UIProcess/WebCookieManagerProxy.h:
* UIProcess/WebFrameProxy.h:
* UIProcess/WebFullScreenManagerProxy.h:
* UIProcess/WebGeolocationManagerProxy.h:
* UIProcess/WebIconDatabase.h:
* UIProcess/WebInspectorProxy.h:
* UIProcess/WebPageProxy.h:
* UIProcess/WebPasteboardProxy.h:
* UIProcess/WebProcessPool.cpp:
* UIProcess/WebProcessPool.h:
* UIProcess/WebProcessProxy.cpp:
* UIProcess/WebProcessProxy.h:
* UIProcess/WebResourceLoadStatisticsStore.h:
* UIProcess/ios/SmartMagnificationController.h:
* UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.h:
* UIProcess/mac/SecItemShimProxy.h:
* UIProcess/mac/ViewGestureController.h:
* WebKit2.xcodeproj/project.pbxproj:
* WebProcess/ApplePay/WebPaymentCoordinator.h:
* WebProcess/Automation/WebAutomationSessionProxy.h:
* WebProcess/Cookies/WebCookieManager.h:
* WebProcess/Databases/IndexedDB/WebIDBConnectionToServer.h:
* WebProcess/Databases/WebToDatabaseProcessConnection.cpp:
* WebProcess/Databases/WebToDatabaseProcessConnection.h:
* WebProcess/FullScreen/WebFullScreenManager.cpp:
* WebProcess/FullScreen/WebFullScreenManager.h:
* WebProcess/Geolocation/WebGeolocationManager.h:
* WebProcess/IconDatabase/WebIconDatabaseProxy.h:
* WebProcess/InjectedBundle/InjectedBundle.h:
* WebProcess/Network/NetworkProcessConnection.cpp:
* WebProcess/Network/NetworkProcessConnection.h:
* WebProcess/Network/WebResourceLoader.h:
* WebProcess/Notifications/WebNotificationManager.h:
* WebProcess/Plugins/Plugin.cpp:
* WebProcess/Plugins/Plugin.h:
* WebProcess/Plugins/PluginProcessConnection.cpp:
* WebProcess/Plugins/PluginProcessConnection.h:
* WebProcess/Plugins/PluginProcessConnectionManager.cpp:
* WebProcess/Plugins/PluginProcessConnectionManager.h:
* WebProcess/Plugins/PluginProxy.h:
* WebProcess/Scrolling/RemoteScrollingCoordinator.h:
* WebProcess/Scrolling/RemoteScrollingCoordinator.mm:
* WebProcess/Storage/StorageAreaMap.h:
* WebProcess/UserContent/WebUserContentController.h:
* WebProcess/WebPage/DrawingArea.h:
* WebProcess/WebPage/EventDispatcher.h:
* WebProcess/WebPage/ViewGestureGeometryCollector.h:
* WebProcess/WebPage/ViewUpdateDispatcher.h:
* WebProcess/WebPage/VisitedLinkTableController.h:
* WebProcess/WebPage/WebInspector.h:
* WebProcess/WebPage/WebInspectorUI.h:
* WebProcess/WebPage/WebPage.cpp:
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/mac/PlatformCAAnimationRemote.h:
* WebProcess/WebPage/mac/PlatformCAAnimationRemote.mm:
* WebProcess/WebProcess.cpp:
* WebProcess/WebProcess.h:
* WebProcess/cocoa/WebPlaybackSessionManager.h:
* WebProcess/cocoa/WebVideoFullscreenManager.h:

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

3 years agoRenderObject::containingBlock() cleanup.
zalan@apple.com [Fri, 19 Aug 2016 23:09:14 +0000 (23:09 +0000)]
RenderObject::containingBlock() cleanup.
https://bugs.webkit.org/show_bug.cgi?id=161013

Reviewed by Simon Fraser.

Move ::containingBlockForAbsolutePosition and ::containingBlockForFixedPosition
to RenderElement after tightening containingBlock() callsites.

No change in functionality.

* dom/Element.cpp:
(WebCore::layoutOverflowRectContainsAllDescendants):
* rendering/RenderElement.cpp:
(WebCore::RenderElement::containingBlockForFixedPosition):
(WebCore::RenderElement::containingBlockForAbsolutePosition):
* rendering/RenderElement.h:
* rendering/RenderInline.cpp:
(WebCore::RenderInline::styleWillChange):
* rendering/RenderObject.cpp:
(WebCore::RenderObject::containingBlock):
(WebCore::RenderObject::containingBlockForFixedPosition): Deleted.
(WebCore::RenderObject::containingBlockForAbsolutePosition): Deleted.
* rendering/RenderObject.h:

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

3 years agoUpdate Xcode project.
andersca@apple.com [Fri, 19 Aug 2016 22:55:32 +0000 (22:55 +0000)]
Update Xcode project.

* WebKit2.xcodeproj/project.pbxproj:

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

3 years agoMerge MessageEncoder and ArgumentEncoder into Encoder
andersca@apple.com [Fri, 19 Aug 2016 22:52:59 +0000 (22:52 +0000)]
Merge MessageEncoder and ArgumentEncoder into Encoder
https://bugs.webkit.org/show_bug.cgi?id=161016

Reviewed by Tim Horton.

* DatabaseProcess/DatabaseToWebProcessConnection.cpp:
(WebKit::DatabaseToWebProcessConnection::didReceiveSyncMessage):
* DatabaseProcess/DatabaseToWebProcessConnection.h:
* NetworkProcess/Downloads/DownloadID.h:
(IPC::ArgumentCoder<WebKit::DownloadID>::encode):
* NetworkProcess/NetworkConnectionToWebProcess.cpp:
(WebKit::NetworkConnectionToWebProcess::didReceiveSyncMessage):
* NetworkProcess/NetworkConnectionToWebProcess.h:
* NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::didReceiveSyncMessage):
* NetworkProcess/NetworkProcess.h:
* NetworkProcess/NetworkProcessCreationParameters.cpp:
(WebKit::NetworkProcessCreationParameters::encode):
* NetworkProcess/NetworkProcessCreationParameters.h:
* NetworkProcess/NetworkResourceLoadParameters.cpp:
(WebKit::NetworkResourceLoadParameters::encode):
* NetworkProcess/NetworkResourceLoadParameters.h:
* Platform/IPC/ArgumentCoder.h:
(IPC::ArgumentCoder::encode):
* Platform/IPC/ArgumentCoders.cpp:
(IPC::ArgumentCoder<std::chrono::system_clock::time_point>::encode):
(IPC::ArgumentCoder<AtomicString>::encode):
(IPC::ArgumentCoder<CString>::encode):
(IPC::ArgumentCoder<String>::encode):
(IPC::ArgumentCoder<uuid_t>::encode):
* Platform/IPC/ArgumentCoders.h:
(IPC::SimpleArgumentCoder::encode):
(IPC::ArgumentCoder<OptionSet<T>>::encode):
(IPC::ArgumentCoder<WTF::Optional<T>>::encode):
* Platform/IPC/ArgumentEncoder.cpp:
(IPC::allocBuffer): Deleted.
(IPC::freeBuffer): Deleted.
(IPC::ArgumentEncoder::ArgumentEncoder): Deleted.
(IPC::ArgumentEncoder::~ArgumentEncoder): Deleted.
(IPC::roundUpToAlignment): Deleted.
(IPC::ArgumentEncoder::reserve): Deleted.
(IPC::ArgumentEncoder::grow): Deleted.
(IPC::ArgumentEncoder::encodeFixedLengthData): Deleted.
(IPC::ArgumentEncoder::encodeVariableLengthByteArray): Deleted.
(IPC::copyValueToBuffer): Deleted.
(IPC::ArgumentEncoder::encode): Deleted.
(IPC::ArgumentEncoder::addAttachment): Deleted.
(IPC::ArgumentEncoder::releaseAttachments): Deleted.
* Platform/IPC/ArgumentEncoder.h:
(IPC::ArgumentEncoder::encodeEnum): Deleted.
(IPC::ArgumentEncoder::encode): Deleted.
(IPC::ArgumentEncoder::operator<<): Deleted.
(IPC::ArgumentEncoder::buffer): Deleted.
(IPC::ArgumentEncoder::bufferSize): Deleted.
* Platform/IPC/Arguments.h:
(IPC::TupleCoder::encode):
(IPC::Arguments::encode):
* Platform/IPC/Attachment.cpp:
(IPC::Attachment::encode):
* Platform/IPC/Attachment.h:
* Platform/IPC/Connection.cpp:
(IPC::Connection::dispatchWorkQueueMessageReceiverMessage):
(IPC::Connection::createSyncMessageEncoder):
(IPC::Connection::sendMessage):
(IPC::Connection::sendSyncReply):
(IPC::Connection::sendSyncMessage):
(IPC::Connection::sendSyncMessageFromSecondaryThread):
(IPC::Connection::sendOutgoingMessages):
(IPC::Connection::dispatchSyncMessage):
* Platform/IPC/Connection.h:
(IPC::Connection::send):
(IPC::Connection::sendSync):
* Platform/IPC/DataReference.cpp:
(IPC::DataReference::encode):
(IPC::SharedBufferDataReference::encode):
* Platform/IPC/DataReference.h:
* Platform/IPC/Encoder.cpp: Renamed from Source/WebKit2/Platform/IPC/ArgumentEncoder.cpp.
(IPC::allocBuffer):
(IPC::freeBuffer):
(IPC::Encoder::Encoder):
(IPC::Encoder::~Encoder):
(IPC::Encoder::isSyncMessage):
(IPC::Encoder::shouldDispatchMessageWhenWaitingForSyncReply):
(IPC::Encoder::setIsSyncMessage):
(IPC::Encoder::setShouldDispatchMessageWhenWaitingForSyncReply):
(IPC::Encoder::setFullySynchronousModeForTesting):
(IPC::Encoder::wrapForTesting):
(IPC::roundUpToAlignment):
(IPC::Encoder::reserve):
(IPC::Encoder::encodeHeader):
(IPC::Encoder::grow):
(IPC::Encoder::encodeFixedLengthData):
(IPC::Encoder::encodeVariableLengthByteArray):
(IPC::copyValueToBuffer):
(IPC::Encoder::encode):
(IPC::Encoder::addAttachment):
(IPC::Encoder::releaseAttachments):
* Platform/IPC/Encoder.h: Renamed from Source/WebKit2/Platform/IPC/ArgumentEncoder.h.
* Platform/IPC/HandleMessage.h:
(IPC::handleMessage):
(IPC::handleMessageDelayed):
* Platform/IPC/MessageEncoder.cpp: Removed.
(IPC::MessageEncoder::MessageEncoder): Deleted.
(IPC::MessageEncoder::~MessageEncoder): Deleted.
(IPC::MessageEncoder::encodeHeader): Deleted.
(IPC::MessageEncoder::isSyncMessage): Deleted.
(IPC::MessageEncoder::shouldDispatchMessageWhenWaitingForSyncReply): Deleted.
(IPC::MessageEncoder::setIsSyncMessage): Deleted.
(IPC::MessageEncoder::setShouldDispatchMessageWhenWaitingForSyncReply): Deleted.
(IPC::MessageEncoder::setFullySynchronousModeForTesting): Deleted.
(IPC::MessageEncoder::wrapForTesting): Deleted.
* Platform/IPC/MessageEncoder.h: Removed.
(IPC::MessageEncoder::messageReceiverName): Deleted.
(IPC::MessageEncoder::messageName): Deleted.
(IPC::MessageEncoder::destinationID): Deleted.
(IPC::MessageEncoder::UUID): Deleted.
* Platform/IPC/MessageReceiver.h:
(IPC::MessageReceiver::didReceiveSyncMessage):
* Platform/IPC/MessageReceiverMap.cpp:
(IPC::MessageReceiverMap::dispatchSyncMessage):
* Platform/IPC/MessageReceiverMap.h:
* Platform/IPC/MessageRecorder.h:
* Platform/IPC/MessageSender.cpp:
(IPC::MessageSender::sendMessage):
* Platform/IPC/MessageSender.h:
(IPC::MessageSender::send):
* Platform/IPC/StringReference.cpp:
(IPC::StringReference::encode):
* Platform/IPC/StringReference.h:
* Platform/IPC/mac/ConnectionMac.mm:
(IPC::Connection::open):
(IPC::Connection::sendOutgoingMessage):
* Platform/IPC/mac/MachPort.h:
(IPC::MachPort::encode):
* Platform/SharedMemory.h:
* Platform/mac/SharedMemoryMac.cpp:
(WebKit::SharedMemory::Handle::encode):
* PluginProcess/PluginControllerProxy.h:
* PluginProcess/PluginCreationParameters.cpp:
(WebKit::PluginCreationParameters::encode):
* PluginProcess/PluginCreationParameters.h:
* PluginProcess/WebProcessConnection.cpp:
(WebKit::WebProcessConnection::didReceiveSyncMessage):
* PluginProcess/WebProcessConnection.h:
* Scripts/webkit/messages.py:
(message_to_struct_declaration):
(forward_declarations_and_headers):
(generate_message_handler):
(headers_for_type): Deleted.
* Shared/API/APIData.cpp:
(API::Data::encode):
* Shared/API/APIData.h:
* Shared/API/APIError.cpp:
(API::Error::encode):
* Shared/API/APIError.h:
* Shared/API/APIFrameHandle.cpp:
(API::FrameHandle::encode):
* Shared/API/APIFrameHandle.h:
* Shared/API/APIGeometry.cpp:
(API::Point::encode):
(API::Size::encode):
(API::Rect::encode):
* Shared/API/APIGeometry.h:
* Shared/API/APINumber.h:
(API::Number::encode):
* Shared/API/APIPageGroupHandle.cpp:
(API::PageGroupHandle::encode):
* Shared/API/APIPageGroupHandle.h:
* Shared/API/APIPageHandle.cpp:
(API::PageHandle::encode):
* Shared/API/APIPageHandle.h:
* Shared/API/APIURL.h:
(API::URL::encode):
* Shared/API/APIURLRequest.cpp:
(API::URLRequest::encode):
* Shared/API/APIURLRequest.h:
* Shared/API/APIURLResponse.cpp:
(API::URLResponse::encode):
* Shared/API/APIURLResponse.h:
* Shared/API/Cocoa/RemoteObjectInvocation.h:
* Shared/API/Cocoa/RemoteObjectInvocation.mm:
(WebKit::RemoteObjectInvocation::encode):
* Shared/AssistedNodeInformation.cpp:
(WebKit::OptionItem::encode):
(WebKit::AssistedNodeInformation::encode):
* Shared/AssistedNodeInformation.h:
* Shared/Cocoa/DataDetectionResult.h:
* Shared/Cocoa/DataDetectionResult.mm:
(WebKit::DataDetectionResult::encode):
* Shared/Cocoa/LoadParametersCocoa.mm:
(WebKit::LoadParameters::platformEncode):
* Shared/Cocoa/WebCoreArgumentCodersCocoa.mm:
(IPC::ArgumentCoder<WebCore::Payment>::encode):
(IPC::ArgumentCoder<WebCore::PaymentContact>::encode):
(IPC::ArgumentCoder<WebCore::PaymentMerchantSession>::encode):
(IPC::ArgumentCoder<WebCore::PaymentMethod>::encode):
(IPC::ArgumentCoder<PaymentRequest>::encode):
(IPC::ArgumentCoder<PaymentRequest::ContactFields>::encode):
(IPC::ArgumentCoder<PaymentRequest::LineItem>::encode):
(IPC::ArgumentCoder<PaymentRequest::MerchantCapabilities>::encode):
(IPC::ArgumentCoder<PaymentRequest::ShippingMethod>::encode):
(IPC::ArgumentCoder<PaymentRequest::TotalAndLineItems>::encode):
* Shared/ContextMenuContextData.cpp:
(WebKit::ContextMenuContextData::encode):
* Shared/ContextMenuContextData.h:
* Shared/Databases/DatabaseProcessCreationParameters.cpp:
(WebKit::DatabaseProcessCreationParameters::encode):
* Shared/Databases/DatabaseProcessCreationParameters.h:
* Shared/Databases/IndexedDB/WebIDBResult.cpp:
(WebKit::WebIDBResult::encode):
* Shared/Databases/IndexedDB/WebIDBResult.h:
* Shared/EditorState.cpp:
(WebKit::EditorState::encode):
(WebKit::EditorState::PostLayoutData::encode):
* Shared/EditorState.h:
* Shared/FontInfo.cpp:
(WebKit::FontInfo::encode):
* Shared/FontInfo.h:
* Shared/Gamepad/GamepadData.cpp:
(WebKit::GamepadData::encode):
* Shared/Gamepad/GamepadData.h:
* Shared/LayerTreeContext.cpp:
(WebKit::LayerTreeContext::encode):
* Shared/LayerTreeContext.h:
* Shared/LoadParameters.cpp:
(WebKit::LoadParameters::encode):
(WebKit::LoadParameters::platformEncode):
* Shared/LoadParameters.h:
* Shared/NavigationActionData.cpp:
(WebKit::NavigationActionData::encode):
* Shared/NavigationActionData.h:
* Shared/PlatformPopupMenuData.cpp:
(WebKit::PlatformPopupMenuData::encode):
* Shared/PlatformPopupMenuData.h:
* Shared/Plugins/NPIdentifierData.cpp:
(WebKit::NPIdentifierData::encode):
* Shared/Plugins/NPIdentifierData.h:
* Shared/Plugins/NPObjectMessageReceiver.h:
* Shared/Plugins/NPRemoteObjectMap.cpp:
(WebKit::NPRemoteObjectMap::didReceiveSyncMessage):
* Shared/Plugins/NPRemoteObjectMap.h:
* Shared/Plugins/NPVariantData.cpp:
(WebKit::NPVariantData::encode):
* Shared/Plugins/NPVariantData.h:
* Shared/Plugins/PluginProcessCreationParameters.cpp:
(WebKit::PluginProcessCreationParameters::encode):
* Shared/Plugins/PluginProcessCreationParameters.h:
* Shared/PrintInfo.cpp:
(WebKit::PrintInfo::encode):
* Shared/PrintInfo.h:
* Shared/SandboxExtension.h:
(WebKit::SandboxExtension::Handle::encode):
(WebKit::SandboxExtension::HandleArray::encode):
* Shared/Scrolling/RemoteScrollingCoordinatorTransaction.cpp:
(ArgumentCoder<ScrollingStateNode>::encode):
(ArgumentCoder<ScrollingStateScrollingNode>::encode):
(ArgumentCoder<ScrollingStateFrameScrollingNode>::encode):
(ArgumentCoder<ScrollingStateOverflowScrollingNode>::encode):
(ArgumentCoder<ScrollingStateFixedNode>::encode):
(ArgumentCoder<ScrollingStateStickyNode>::encode):
(WebKit::encodeNodeAndDescendants):
(WebKit::RemoteScrollingCoordinatorTransaction::encode):
* Shared/Scrolling/RemoteScrollingCoordinatorTransaction.h:
* Shared/SessionState.cpp:
(WebKit::HTTPBody::Element::encode):
(WebKit::HTTPBody::encode):
(WebKit::FrameState::encode):
(WebKit::PageState::encode):
(WebKit::BackForwardListItemState::encode):
(WebKit::BackForwardListState::encode):
* Shared/SessionState.h:
* Shared/ShareableBitmap.cpp:
(WebKit::ShareableBitmap::Handle::encode):
* Shared/ShareableBitmap.h:
* Shared/ShareableResource.cpp:
(WebKit::ShareableResource::Handle::encode):
* Shared/ShareableResource.h:
* Shared/StatisticsData.cpp:
(WebKit::StatisticsData::encode):
* Shared/StatisticsData.h:
* Shared/UpdateInfo.cpp:
(WebKit::UpdateInfo::encode):
* Shared/UpdateInfo.h:
* Shared/UserData.cpp:
(WebKit::UserData::encode):
* Shared/UserData.h:
* Shared/VisibleContentRectUpdateInfo.cpp:
(WebKit::VisibleContentRectUpdateInfo::encode):
* Shared/VisibleContentRectUpdateInfo.h:
* Shared/WebBackForwardListItem.h:
* Shared/WebCompiledContentExtensionData.cpp:
(WebKit::WebCompiledContentExtensionData::encode):
* Shared/WebCompiledContentExtensionData.h:
* Shared/WebContextMenuItemData.cpp:
(WebKit::WebContextMenuItemData::encode):
* Shared/WebContextMenuItemData.h:
* Shared/WebCoreArgumentCoders.cpp:
(IPC::ArgumentCoder<AffineTransform>::encode):
(IPC::ArgumentCoder<EventTrackingRegions>::encode):
(IPC::ArgumentCoder<TransformationMatrix>::encode):
(IPC::ArgumentCoder<LinearTimingFunction>::encode):
(IPC::ArgumentCoder<CubicBezierTimingFunction>::encode):
(IPC::ArgumentCoder<StepsTimingFunction>::encode):
(IPC::ArgumentCoder<SpringTimingFunction>::encode):
(IPC::ArgumentCoder<FloatPoint>::encode):
(IPC::ArgumentCoder<FloatPoint3D>::encode):
(IPC::ArgumentCoder<FloatRect>::encode):
(IPC::ArgumentCoder<FloatSize>::encode):
(IPC::ArgumentCoder<FloatRoundedRect>::encode):
(IPC::ArgumentCoder<FloatQuad>::encode):
(IPC::ArgumentCoder<ViewportArguments>::encode):
(IPC::ArgumentCoder<IntPoint>::encode):
(IPC::ArgumentCoder<IntRect>::encode):
(IPC::ArgumentCoder<IntSize>::encode):
(IPC::pathEncodeApplierFunction):
(IPC::ArgumentCoder<Path>::encode):
(IPC::ArgumentCoder<RecentSearch>::encode):
(IPC::ArgumentCoder<Region::Span>::encode):
(IPC::ArgumentCoder<Region>::encode):
(IPC::ArgumentCoder<Length>::encode):
(IPC::ArgumentCoder<ViewportAttributes>::encode):
(IPC::ArgumentCoder<MimeClassInfo>::encode):
(IPC::ArgumentCoder<PluginInfo>::encode):
(IPC::ArgumentCoder<AuthenticationChallenge>::encode):
(IPC::ArgumentCoder<ProtectionSpace>::encode):
(IPC::ArgumentCoder<Credential>::encode):
(IPC::encodeImage):
(IPC::encodeOptionalImage):
(IPC::ArgumentCoder<Cursor>::encode):
(IPC::ArgumentCoder<ResourceRequest>::encode):
(IPC::ArgumentCoder<ResourceError>::encode):
(IPC::ArgumentCoder<SelectionRect>::encode):
(IPC::ArgumentCoder<WindowFeatures>::encode):
(IPC::ArgumentCoder<Color>::encode):
(IPC::ArgumentCoder<CompositionUnderline>::encode):
(IPC::ArgumentCoder<Cookie>::encode):
(IPC::ArgumentCoder<DatabaseDetails>::encode):
(IPC::ArgumentCoder<Highlight>::encode):
(IPC::encodeSharedBuffer):
(IPC::ArgumentCoder<PasteboardWebContent>::encode):
(IPC::ArgumentCoder<PasteboardImage>::encode):
(IPC::ArgumentCoder<DictationAlternative>::encode):
(IPC::ArgumentCoder<FileChooserSettings>::encode):
(IPC::ArgumentCoder<GrammarDetail>::encode):
(IPC::ArgumentCoder<TextCheckingRequestData>::encode):
(IPC::ArgumentCoder<TextCheckingResult>::encode):
(IPC::ArgumentCoder<URL>::encode):
(IPC::ArgumentCoder<UserStyleSheet>::encode):
(IPC::ArgumentCoder<MediaSessionMetadata>::encode):
(IPC::ArgumentCoder<UserScript>::encode):
(IPC::ArgumentCoder<ScrollableAreaParameters>::encode):
(IPC::ArgumentCoder<FixedPositionViewportConstraints>::encode):
(IPC::ArgumentCoder<StickyPositionViewportConstraints>::encode):
(IPC::ArgumentCoder<FilterOperation>::encode):
(IPC::ArgumentCoder<FilterOperations>::encode):
(IPC::ArgumentCoder<SessionID>::encode):
(IPC::ArgumentCoder<BlobPart>::encode):
(IPC::ArgumentCoder<TextIndicatorData>::encode):
(IPC::ArgumentCoder<MediaPlaybackTargetContext>::encode):
(IPC::ArgumentCoder<DictionaryPopupInfo>::encode):
(IPC::ArgumentCoder<ExceptionDetails>::encode):
(IPC::ArgumentCoder<ResourceLoadStatistics>::encode):
* Shared/WebCoreArgumentCoders.h:
* Shared/WebEvent.cpp:
(WebKit::WebEvent::encode):
* Shared/WebEvent.h:
* Shared/WebGeolocationPosition.cpp:
(WebKit::WebGeolocationPosition::Data::encode):
* Shared/WebGeolocationPosition.h:
* Shared/WebHitTestResultData.cpp:
(WebKit::WebHitTestResultData::encode):
(WebKit::WebHitTestResultData::platformEncode):
* Shared/WebHitTestResultData.h:
* Shared/WebKeyboardEvent.cpp:
(WebKit::WebKeyboardEvent::encode):
* Shared/WebMouseEvent.cpp:
(WebKit::WebMouseEvent::encode):
* Shared/WebNavigationDataStore.h:
(WebKit::WebNavigationDataStore::encode):
* Shared/WebPageCreationParameters.cpp:
(WebKit::WebPageCreationParameters::encode):
* Shared/WebPageCreationParameters.h:
* Shared/WebPageGroupData.cpp:
(WebKit::WebPageGroupData::encode):
* Shared/WebPageGroupData.h:
* Shared/WebPlatformTouchPoint.cpp:
(WebKit::WebPlatformTouchPoint::encode):
* Shared/WebPopupItem.cpp:
(WebKit::WebPopupItem::encode):
* Shared/WebPopupItem.h:
* Shared/WebPreferencesStore.cpp:
(WebKit::WebPreferencesStore::Value::encode):
(WebKit::WebPreferencesStore::encode):
* Shared/WebPreferencesStore.h:
* Shared/WebProcessCreationParameters.cpp:
(WebKit::WebProcessCreationParameters::encode):
* Shared/WebProcessCreationParameters.h:
* Shared/WebTouchEvent.cpp:
(WebKit::WebTouchEvent::encode):
* Shared/WebUserContentControllerDataTypes.cpp:
(WebKit::WebUserScriptData::encode):
(WebKit::WebUserStyleSheetData::encode):
(WebKit::WebScriptMessageHandlerData::encode):
* Shared/WebUserContentControllerDataTypes.h:
* Shared/WebWheelEvent.cpp:
(WebKit::WebWheelEvent::encode):
* Shared/WebsiteData/WebsiteData.cpp:
(WebKit::WebsiteData::Entry::encode):
(WebKit::WebsiteData::encode):
* Shared/WebsiteData/WebsiteData.h:
* Shared/cf/ArgumentCodersCF.cpp:
(IPC::encode):
* Shared/cf/ArgumentCodersCF.h:
* Shared/ios/InteractionInformationAtPosition.h:
* Shared/ios/InteractionInformationAtPosition.mm:
(WebKit::InteractionInformationAtPosition::encode):
* Shared/ios/QuickLookDocumentData.cpp:
(WebKit::QuickLookDocumentData::encode):
* Shared/ios/QuickLookDocumentData.h:
* Shared/ios/WebPlatformTouchPointIOS.cpp:
(WebKit::WebPlatformTouchPoint::encode):
* Shared/ios/WebTouchEventIOS.cpp:
(WebKit::WebTouchEvent::encode):
* Shared/mac/ArgumentCodersMac.h:
* Shared/mac/ArgumentCodersMac.mm:
(IPC::encode):
* Shared/mac/AttributedString.h:
* Shared/mac/AttributedString.mm:
(WebKit::AttributedString::encode):
* Shared/mac/ColorSpaceData.h:
* Shared/mac/ColorSpaceData.mm:
(WebKit::ColorSpaceData::encode):
* Shared/mac/ObjCObjectGraph.h:
* Shared/mac/ObjCObjectGraph.mm:
(WebKit::ObjCObjectGraph::encode):
* Shared/mac/RemoteLayerBackingStore.h:
* Shared/mac/RemoteLayerBackingStore.mm:
(WebKit::RemoteLayerBackingStore::encode):
* Shared/mac/RemoteLayerTreeTransaction.h:
* Shared/mac/RemoteLayerTreeTransaction.mm:
(WebKit::RemoteLayerTreeTransaction::LayerCreationProperties::encode):
(WebKit::RemoteLayerTreeTransaction::LayerProperties::encode):
(WebKit::RemoteLayerTreeTransaction::encode):
* Shared/mac/SandboxExtensionMac.mm:
(WebKit::SandboxExtension::Handle::encode):
(WebKit::SandboxExtension::HandleArray::encode):
* Shared/mac/SecItemRequestData.cpp:
(WebKit::SecItemRequestData::encode):
* Shared/mac/SecItemRequestData.h:
* Shared/mac/SecItemResponseData.cpp:
(WebKit::SecItemResponseData::encode):
* Shared/mac/SecItemResponseData.h:
* Shared/mac/WebCoreArgumentCodersMac.mm:
(IPC::ArgumentCoder<ResourceRequest>::encodePlatformData):
(IPC::ArgumentCoder<CertificateInfo>::encode):
(IPC::encodeNSError):
(IPC::ArgumentCoder<ResourceError>::encodePlatformData):
(IPC::ArgumentCoder<ProtectionSpace>::encodePlatformData):
(IPC::ArgumentCoder<Credential>::encodePlatformData):
(IPC::ArgumentCoder<MachSendRight>::encode):
(IPC::ArgumentCoder<KeypressCommand>::encode):
(IPC::ArgumentCoder<ContentFilterUnblockHandler>::encode):
(IPC::ArgumentCoder<MediaPlaybackTargetContext>::encodePlatformData):
* Shared/mac/WebGestureEvent.cpp:
(WebKit::WebGestureEvent::encode):
* Shared/mac/WebGestureEvent.h:
* Shared/mac/WebHitTestResultData.mm:
(WebKit::WebHitTestResultData::platformEncode):
* UIProcess/API/APIHitTestResult.h:
* UIProcess/ApplePay/WebPaymentCoordinatorProxy.h:
* UIProcess/ChildProcessProxy.cpp:
(WebKit::ChildProcessProxy::sendMessage):
(WebKit::ChildProcessProxy::dispatchSyncMessage):
(WebKit::ChildProcessProxy::didFinishLaunching):
* UIProcess/ChildProcessProxy.h:
(WebKit::ChildProcessProxy::send):
* UIProcess/Downloads/DownloadProxy.h:
* UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::didReceiveSyncMessage):
* UIProcess/Network/NetworkProcessProxy.h:
* UIProcess/Notifications/WebNotification.cpp:
* UIProcess/Notifications/WebNotification.h:
* UIProcess/Plugins/PluginProcessManager.h:
* UIProcess/Plugins/PluginProcessProxy.h:
* UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.cpp:
* UIProcess/Storage/StorageManager.h:
* UIProcess/WebFullScreenManagerProxy.h:
* UIProcess/WebIconDatabase.h:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::sendMessage):
* UIProcess/WebPageProxy.h:
* UIProcess/WebPasteboardProxy.h:
* UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::dispatchSyncMessage):
* UIProcess/WebProcessPool.h:
* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::didReceiveSyncMessage):
* UIProcess/WebProcessProxy.h:
* WebKit2.xcodeproj/project.pbxproj:
* WebProcess/Network/NetworkProcessConnection.cpp:
(WebKit::NetworkProcessConnection::didReceiveSyncMessage):
* WebProcess/Network/NetworkProcessConnection.h:
* WebProcess/Plugins/Plugin.cpp:
(WebKit::Plugin::Parameters::encode):
* WebProcess/Plugins/Plugin.h:
* WebProcess/Plugins/PluginProcessConnection.cpp:
(WebKit::PluginProcessConnection::didReceiveSyncMessage):
* WebProcess/Plugins/PluginProcessConnection.h:
* WebProcess/Plugins/PluginProcessConnectionManager.cpp:
* WebProcess/Plugins/PluginProxy.h:
* WebProcess/Scrolling/RemoteScrollingCoordinator.h:
* WebProcess/Scrolling/RemoteScrollingCoordinator.mm:
* WebProcess/WebPage/DrawingArea.h:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::didReceiveSyncMessage):
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/mac/PlatformCAAnimationRemote.h:
* WebProcess/WebPage/mac/PlatformCAAnimationRemote.mm:
(WebKit::PlatformCAAnimationRemote::KeyframeValue::encode):
(WebKit::PlatformCAAnimationRemote::Properties::encode):
* WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
* WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
(WebKit::RemoteLayerTreeDrawingArea::flushLayers):
(WebKit::RemoteLayerTreeDrawingArea::BackingStoreFlusher::create):
(WebKit::RemoteLayerTreeDrawingArea::BackingStoreFlusher::BackingStoreFlusher):
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::didReceiveSyncMessage):
* WebProcess/WebProcess.h:

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

3 years agoImplement preferLowPowerToHighPerformance for WebGL
dino@apple.com [Fri, 19 Aug 2016 22:52:24 +0000 (22:52 +0000)]
Implement preferLowPowerToHighPerformance for WebGL
https://bugs.webkit.org/show_bug.cgi?id=161017
<rdar://problem/26819135>

Reviewed by Myles Maxfield.

.:

A manual test that creates contexts with and without preferLowPowerToHighPerformance
to see what is used. This has to be manual because it depends on the hardware
configuration, and we don't have a way to detect it up-front. Also, if the
code was failing, it would be the same result as on a single GPU system.

* ManualTests/webgl-preferLowPowerToHighPerformance.html: Added.

Source/WebCore:

Implement preferLowPowerToHighPerformance on macOS by
passing the correct CGL attribute when creating the
pixel format.

* bindings/js/JSHTMLCanvasElementCustom.cpp:
(WebCore::get3DContextAttributes):
* platform/graphics/mac/GraphicsContext3DMac.mm:
(WebCore::setPixelFormat):
(WebCore::GraphicsContext3D::GraphicsContext3D):

LayoutTests:

Now that we implement preferLowPowerToHighPerformance we can
retain its value in the context creation attributes object.

* fast/canvas/webgl/context-creation-attributes-expected.txt:

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

3 years agoMake custom Error properties (line, column, sourceURL) configurable and writable
commit-queue@webkit.org [Fri, 19 Aug 2016 22:49:26 +0000 (22:49 +0000)]
Make custom Error properties (line, column, sourceURL) configurable and writable
https://bugs.webkit.org/show_bug.cgi?id=160984
<rdar://problem/27905979>

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2016-08-19
Reviewed by Saam Barati.

JSTests:

* stress/native-error-properties.js: Added.
(assert):
(shouldNotThrow):

(checkEmptyErrorPropertiesDescriptors):
(checkNonEmptyErrorPropertiesDescriptors):
The spec only describes the "message" property, so
ensure it has the right descriptor attributes.

(checkErrorPropertiesWritable):
Ensure common error property names are writable.
In strict mode this would have thrown an exception
if they were readonly.

Source/JavaScriptCore:

* runtime/Error.cpp:
(JSC::addErrorInfoAndGetBytecodeOffset):
(JSC::addErrorInfo):

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

3 years agoRe-sync html/dom/interfaces.html web-platform-test from upstream
cdumez@apple.com [Fri, 19 Aug 2016 22:44:08 +0000 (22:44 +0000)]
Re-sync html/dom/interfaces.html web-platform-test from upstream
https://bugs.webkit.org/show_bug.cgi?id=161012

Reviewed by Ryosuke Niwa.

Re-sync html/dom/interfaces.html web-platform-test from upstream.

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

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

3 years agoRemove empty files and empty namespace blocks
joepeck@webkit.org [Fri, 19 Aug 2016 22:42:55 +0000 (22:42 +0000)]
Remove empty files and empty namespace blocks
https://bugs.webkit.org/show_bug.cgi?id=160990

Reviewed by Alex Christensen.

* CMakeLists.txt:
Source/JavaScriptCore:

* JavaScriptCore.xcodeproj/project.pbxproj:
* bytecode/ValueProfile.cpp: Removed.
* runtime/WatchdogMac.cpp: Removed.
* runtime/WatchdogNone.cpp: Removed.

* runtime/StringIteratorPrototype.cpp:
Remove empty namespace block.

* runtime/JSDestructibleObject.h:
Drive-by add missing copyright.

Source/WebCore:

* WebCore.xcodeproj/project.pbxproj:
* dom/DOMAllInOne.cpp:
* dom/MessagePortChannel.cpp: Removed.
* page/DatabaseProvider.h:
* platform/mock/mediasource/MockTracks.cpp: Removed.

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

3 years agoBuild fix for non-USE_SIM_SERVICE_CONTEXT builds
ap@apple.com [Fri, 19 Aug 2016 22:24:46 +0000 (22:24 +0000)]
Build fix for non-USE_SIM_SERVICE_CONTEXT builds
* LayoutTestRelay/LayoutTestRelay/main.m: (main):

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

3 years agoREGRESSION (r204477): Running LayoutTests on ios-simulator became ~15 minutes slower
simon.fraser@apple.com [Fri, 19 Aug 2016 22:13:15 +0000 (22:13 +0000)]
REGRESSION (r204477): Running LayoutTests on ios-simulator became ~15 minutes slower
https://bugs.webkit.org/show_bug.cgi?id=160985

Reviewed by Alexey Proskuryakov.

r204477 removed @memoized on a couple of ios.py functions, causing them to instantiate
a Simulator() on every call, which causes 'xcrun simctl list' to run. The functions
must not be @memoized, because their return value depends on the value of simulator_device_type().

Fix by adding some global state in simulator.py that tracks the created devices
in a worker number -> Device dictionary. Explicitly create devices in _create_simulators(),
and delete them in clean_up_test_run().

Also explicitly called 'xcrun simctl shutdown' to shut down devices, since it seems
that killing the Simulator apps isn't enough.

Simulator tracks the devices in a global dictionary, since state needs to persist
across different instances of IOSSimulatorPort.

Annoyingly, the "Command line:" dumping tried to access a device before we'd done
any setup. Rather than implicitly creating a device here (which the old code did),
override the more clearly named driver_cmd_line_for_logging() in IOSSimulatorPort
and set flag to say that device_id_for_worker_number() doesn't need to return a real
device id.

* Scripts/webkitpy/layout_tests/views/printing.py:
(print_options):
(Printer.print_config):
* Scripts/webkitpy/port/base.py:
(Port.driver_cmd_line_for_logging):
(Port.driver_cmd_line): Deleted.
* Scripts/webkitpy/port/driver.py:
(IOSSimulatorDriver.cmd_line):
* Scripts/webkitpy/port/ios.py:
(IOSSimulatorPort.__init__):
(IOSSimulatorPort.driver_cmd_line_for_logging):
(IOSSimulatorPort._create_simulators):
(IOSSimulatorPort.setup_test_run):
(IOSSimulatorPort.clean_up_test_run):
(IOSSimulatorPort._create_device):
(IOSSimulatorPort):
(IOSSimulatorPort._remove_device):
(IOSSimulatorPort._testing_device):
(IOSSimulatorPort.device_id_for_worker_number):
(IOSSimulatorPort._set_device_class): Deleted.
(IOSSimulatorPort.testing_device): Deleted.
* Scripts/webkitpy/port/port_testcase.py:
(PortTestCase.test_driver_cmd_line):
* Scripts/webkitpy/xcode/simulator.py:
(Device.shutdown):
(Device.delete):
(Device.reset):
(Simulator.create_device):
(Simulator.remove_device):
(Simulator.device_number):
(Simulator.device_state_description):
(Simulator.wait_until_device_is_in_state):

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

3 years agoAddressing post-review comments after r204592
mmaxfield@apple.com [Fri, 19 Aug 2016 22:13:00 +0000 (22:13 +0000)]
Addressing post-review comments after r204592
https://bugs.webkit.org/show_bug.cgi?id=160895

Unreviewed.

No new tests because there is no behavior change.

* page/cocoa/ResourceUsageOverlayCocoa.mm:
(WebCore::showText):
* platform/graphics/ca/PlatformCALayer.cpp:
(WebCore::PlatformCALayer::drawTextAtPoint):
* platform/ios/LegacyTileCache.mm:
(WebCore::LegacyTileCache::drawLayer):

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

3 years agoAdopt SimServiceContext in LayoutTestRelay
ap@apple.com [Fri, 19 Aug 2016 22:03:31 +0000 (22:03 +0000)]
Adopt SimServiceContext in LayoutTestRelay
https://bugs.webkit.org/show_bug.cgi?id=161000
<rdar://problem/25765594>

Reviewed by Daniel Bates.

* LayoutTestRelay/LayoutTestRelay/CoreSimulatorSPI.h:
* LayoutTestRelay/LayoutTestRelay/main.m:

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

3 years agoAttempt to fix the Windows build after r204652.
ryanhaddad@apple.com [Fri, 19 Aug 2016 21:55:55 +0000 (21:55 +0000)]
Attempt to fix the Windows build after r204652.

Unreviewed build fix.

* dom/DOMAllInOne.cpp:

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

3 years agoMigrate from ints to unsigneds in a few more places in rendering code
mmaxfield@apple.com [Fri, 19 Aug 2016 21:47:43 +0000 (21:47 +0000)]
Migrate from ints to unsigneds in a few more places in rendering code
https://bugs.webkit.org/show_bug.cgi?id=161006

Reviewed by Alex Christensen.

No new tests because there is no behavior change.

* platform/graphics/GraphicsContext.cpp:
(WebCore::GraphicsContext::drawBidiText):
* platform/mock/MockRealtimeVideoSource.cpp:
(WebCore::MockRealtimeVideoSource::drawText):
* platform/text/BidiResolver.h:
(WebCore::BidiCharacterRun::BidiCharacterRun):
(WebCore::BidiCharacterRun::start):
(WebCore::BidiCharacterRun::stop):
* rendering/BidiRun.cpp:
(WebCore::BidiRun::BidiRun):
* rendering/BidiRun.h:
* rendering/RenderBlockLineLayout.cpp:
(WebCore::setLogicalWidthForTextRun):
(WebCore::RenderBlockFlow::computeInlineDirectionPositionsForSegment):
(WebCore::findFirstTrailingSpace):
(WebCore::RenderBlockFlow::handleTrailingSpaces):
* rendering/line/BreakingContext.h:

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

3 years agoMigrate RenderText::stringView() to unsigneds
mmaxfield@apple.com [Fri, 19 Aug 2016 21:40:13 +0000 (21:40 +0000)]
Migrate RenderText::stringView() to unsigneds
https://bugs.webkit.org/show_bug.cgi?id=161005

Reviewed by Alex Christensen.

No new tests because there is no behavior change.

* rendering/RenderBlockLineLayout.cpp:
(WebCore::RenderBlockFlow::computeInlineDirectionPositionsForSegment):
* rendering/RenderText.cpp:
(WebCore::RenderText::stringView):
* rendering/RenderText.h:

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

3 years agoRename LifecycleCallback to CustomElementReaction
rniwa@webkit.org [Fri, 19 Aug 2016 21:02:31 +0000 (21:02 +0000)]
Rename LifecycleCallback to CustomElementReaction
https://bugs.webkit.org/show_bug.cgi?id=160991

Reviewed by Chris Dumez.

Renamed LifecycleCallbackQueue and CustomElementLifecycleProcessingStack
to CustomElementReactionQueue and CustomElementReactionStack per the latest spec:
https://html.spec.whatwg.org/#custom-element-reactions

No new tests since this is just a rename of classes which are not exposed to the Web.

* CMakeLists.txt:
* WebCore.xcodeproj/project.pbxproj:

* bindings/js/JSCustomElementsRegistryCustom.cpp:
(WebCore::getCallback): Renamed from getLifecycleCallback.
(WebCore::JSCustomElementsRegistry::define):
(WebCore::getLifecycleCallback): Deleted.

* bindings/js/JSMainThreadExecState.h:
(WebCore::JSMainThreadNullState):

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

* bindings/scripts/test/JS/JSTestObj.cpp: Rebaselined.
* bindings/scripts/test/TestObj.idl:

* dom/CustomElementReactionQueue.cpp: Moved from Source/WebCore/dom/LifecycleCallbackQueue.cpp.
(WebCore::CustomElementReactionQueueItem::CustomElementReactionQueueItem):
(WebCore::CustomElementReactionQueue::CustomElementReactionQueue):
(WebCore::CustomElementReactionQueue::~CustomElementReactionQueue):
(WebCore::CustomElementReactionQueue::enqueueElementUpgrade):
(WebCore::CustomElementReactionQueue::enqueueConnectedCallbackIfNeeded):
(WebCore::CustomElementReactionQueue::enqueueDisconnectedCallbackIfNeeded):
(WebCore::CustomElementReactionQueue::enqueueAttributeChangedCallbackIfNeeded):
(WebCore::CustomElementReactionQueue::invokeAll):
(WebCore::CustomElementReactionStack::ensureCurrentQueue):
(WebCore::CustomElementReactionStack::processQueue):

* dom/CustomElementReactionQueue.h: Moved from Source/WebCore/dom/LifecycleCallbackQueue.h.
(WebCore::CustomElementReactionStack::CustomElementReactionStack):
(WebCore::CustomElementReactionStack::~CustomElementReactionStack):
(WebCore::CustomElementReactionStack::hasCurrentProcessingStack):

* dom/Document.cpp:
(WebCore::createFallbackHTMLElement):

* dom/Element.cpp:
(WebCore::Element::attributeChanged):
(WebCore::Element::insertedInto):
(WebCore::Element::removedFrom):

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

3 years agoRebaseline imported/w3c/web-platform-tests/html/semantics/interfaces.html for ios...
ryanhaddad@apple.com [Fri, 19 Aug 2016 20:40:16 +0000 (20:40 +0000)]
Rebaseline imported/w3c/web-platform-tests/html/semantics/interfaces.html for ios-simulator after r204647.

Unreviewed test gardening.

* platform/ios-simulator/imported/w3c/web-platform-tests/html/semantics/interfaces-expected.txt:

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

3 years agoMarking editing/deleting/delete-empty-line-breaks-at-end-of-textarea.html as flaky...
ryanhaddad@apple.com [Fri, 19 Aug 2016 20:33:55 +0000 (20:33 +0000)]
Marking editing/deleting/delete-empty-line-breaks-at-end-of-textarea.html as flaky on El Capitan.
https://bugs.webkit.org/show_bug.cgi?id=160782

Unreviewed test gardening.

* platform/mac-wk2/TestExpectations:

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

3 years agoRemove Yosemite Leaks bot after http://trac.webkit.org/projects/webkit/changeset...
lforschler@apple.com [Fri, 19 Aug 2016 20:15:49 +0000 (20:15 +0000)]
Remove Yosemite Leaks bot after trac.webkit.org/projects/webkit/changeset/204629

Reviewed by Kocsen Chung.

* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js:
(WebKitBuildbot):

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

3 years agoAttr.prefix / Element.prefix attribute should be readonly
cdumez@apple.com [Fri, 19 Aug 2016 19:44:01 +0000 (19:44 +0000)]
Attr.prefix / Element.prefix attribute should be readonly
https://bugs.webkit.org/show_bug.cgi?id=160998

Reviewed by Daniel Bates.

LayoutTests/imported/w3c:

Rebaseline W3C test now that more checks are passing.

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

Source/WebCore:

Attr.prefix / Element.prefix attribute should be readonly:
- https://dom.spec.whatwg.org/#element
- https://dom.spec.whatwg.org/#attr

Firefox and Chrome agree with the specification.

No new tests, rebaselined existing test.

* dom/Attr.idl:
* dom/Element.idl:

LayoutTests:

Update existing tests to reflect behavior change and drop a few
outdated tests.

* fast/dom/Element/prefix-setter-exception-expected.txt: Removed.
* fast/dom/Element/prefix-setter-exception.html: Removed.
* fast/dom/Element/setAttributeNode-case-insensitivity.html:
* fast/dom/bad-href-attribute-expected.txt: Removed.
* fast/dom/bad-href-attribute.html: Removed.
* fast/dom/node-prefix-setter-namespace-exception-expected.txt: Removed.
* fast/dom/node-prefix-setter-namespace-exception.html: Removed.
* fast/dom/script-tests/node-prefix-setter-namespace-exception.js: Removed.
* svg/custom/xlink-prefix-generation-in-attributes-expected.txt:
* svg/custom/xlink-prefix-generation-in-attributes.html:

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

3 years ago<command> should be an HTMLUnknownElement and <basefont> should be an HTMLElement
cdumez@apple.com [Fri, 19 Aug 2016 19:33:58 +0000 (19:33 +0000)]
<command> should be an HTMLUnknownElement and <basefont> should be an HTMLElement
https://bugs.webkit.org/show_bug.cgi?id=161004

Reviewed by Daniel Bates.

LayoutTests/imported/w3c:

Rebaseline a W3C test now that more checks are passing.

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

Source/WebCore:

<command> should be an HTMLUnknownElement and <basefont> should be an HTMLElement as per:
- https://html.spec.whatwg.org/multipage/dom.html#elements-in-the-dom:element-interface

<basefont> is already an HTMLElement in Firefox and Chrome. <command> is an
HTMLUnknownElement in Firefox but an HTMLElement in Chrome.

No new tests, rebaselined existing test.

* html/HTMLTagNames.in:

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

3 years agoWeb Inspector: Make an icon for Code Coverage Profiler
nvasilyev@apple.com [Fri, 19 Aug 2016 19:33:23 +0000 (19:33 +0000)]
Web Inspector: Make an icon for Code Coverage Profiler
https://bugs.webkit.org/show_bug.cgi?id=160872
<rdar://problem/27855650>

Reviewed by Joseph Pecoraro.

Add a "C" icon, similar to the existing "T" (Type Profiler) icon.
"C" can stand for Code Coverage or Control Flow.

* UserInterface/Images/NavigationItemCodeCoverage.svg: Added.

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

3 years agoAX: iOS, Wrong axLabel on static text if heading has multiple children
n_wang@apple.com [Fri, 19 Aug 2016 19:23:30 +0000 (19:23 +0000)]
AX: iOS, Wrong axLabel on static text if heading has multiple children
https://bugs.webkit.org/show_bug.cgi?id=160981

Reviewed by Chris Fleizach.

Source/WebCore:

Headings are using textUnderElement to compute the accessibilityLabel on iOS, so normally it's
the concatenation of all the children's accessibilityLabel. Therefore, we shouldn't use accessibilityLabel
to check for user defined text on headings. Instead, baseAccessibilityDescription will return the
alternate text we want.

Changes are covered in the modified test.

* accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
(-[WebAccessibilityObjectWrapper _accessibilityTraitsFromAncestors]):

LayoutTests:

* accessibility/ios-simulator/heading-with-aria-label-expected.txt:
* accessibility/ios-simulator/heading-with-aria-label.html:

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

3 years ago[GTK] Gardening: Layout tests expectations updates and test rebaselines.
clopez@igalia.com [Fri, 19 Aug 2016 19:07:30 +0000 (19:07 +0000)]
[GTK] Gardening: Layout tests expectations updates and test rebaselines.

Unreviewed.

LayoutTests/imported/w3c:

The test below contained wrong results (FAIL strings instead of PASS).
There are many more. I'm only updating this 3 ones because they are passing
on the GTK+ port, but the tooling gives Failures due to the wrong expectation
files. Reported https://bugs.webkit.org/show_bug.cgi?id=161003 regarding this.

* web-platform-tests/XMLHttpRequest/send-entity-body-empty-expected.txt:
* web-platform-tests/XMLHttpRequest/send-entity-body-none-expected.txt:
* web-platform-tests/XMLHttpRequest/setrequestheader-content-type-expected.txt:

LayoutTests:

* TestExpectations: Mark as failing 3 tests from imported/w3c/web-platform-tests/XMLHttpRequest that had wrong results.
* platform/gtk/TestExpectations: Update list for imported/w3c/web-platform-tests/XMLHttpRequest and merge repeated results.
* platform/gtk/sputnik/Unicode/Unicode_510/S7.6_A3.1-expected.txt: Added. Rebaseline after r201449 (updated version of libicu).
* platform/gtk/sputnik/Unicode/Unicode_510/S7.6_A3.2-expected.txt: Added. Rebaseline after r201449 (updated version of libicu).
* platform/gtk/sputnik/Unicode/Unicode_510/S7.6_A5.3_T1-expected.txt: Added. Rebaseline after r201449 (updated version of libicu).
* platform/gtk/sputnik/Unicode/Unicode_510/S7.6_A5.3_T2-expected.txt: Added. Rebaseline after r201449 (updated version of libicu).

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

3 years agoPartial revert of r203811 - this key is not needed.
ap@apple.com [Fri, 19 Aug 2016 18:58:56 +0000 (18:58 +0000)]
Partial revert of r203811 - this key is not needed.

* LayoutTestRelay/LayoutTestRelay/LTRelayController.m: (-[LTRelayController installApp]):

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

3 years agoWeb Inspector: Console log counter on the dashboard should be better at displaying...
commit-queue@webkit.org [Fri, 19 Aug 2016 18:41:08 +0000 (18:41 +0000)]
Web Inspector: Console log counter on the dashboard should be better at displaying large numbers
https://bugs.webkit.org/show_bug.cgi?id=160054

Patch by Devin Rousso <dcrousso+webkit@gmail.com> on 2016-08-19
Reviewed by Matt Baker.

* Localizations/en.lproj/localizedStrings.js:

* UserInterface/Base/Utilities.js:
(Number.abbreviate):
Add logic for formatting a number as "#K", "#M", and "#B" when it is very large.

* UserInterface/Views/DefaultDashboardView.js:
(WebInspector.DefaultDashboardView.prototype._updateDisplay):
(WebInspector.DefaultDashboardView.prototype._formatPossibleLargeNumber): Deleted.
(WebInspector.DefaultDashboardView.prototype._setConsoleItemValue):

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

3 years agoResource Timing: Make PerformanceEntryList a sequence as per spec
commit-queue@webkit.org [Fri, 19 Aug 2016 18:30:10 +0000 (18:30 +0000)]
Resource Timing: Make PerformanceEntryList a sequence as per spec
https://bugs.webkit.org/show_bug.cgi?id=160963

Patch by Johan K. Jensen <johan_jensen@apple.com> on 2016-08-19
Reviewed by Alex Christensen.

Source/WebCore:

Change PerformanceEntryList to be a sequence of PerformanceEntry instead of an object.

Test: http/tests/performance/performance-resource-timing-entries-iterable.html

* CMakeLists.txt:
* DerivedSources.cpp:
* DerivedSources.make:
* PlatformGTK.cmake:
* WebCore.xcodeproj/project.pbxproj:
* bindings/scripts/CodeGeneratorGObject.pm:
Remove references to {JS,}PerformanceEntryList.{cpp,h,idl}.

* page/Performance.cpp:
(WebCore::Performance::getEntries):
(WebCore::Performance::getEntriesByType):
(WebCore::Performance::getEntriesByName):
* page/Performance.h:
Methods now operate on a Vector of PerformanceEntry.

* page/Performance.idl:
Typedef PerformanceEntryList as a sequence of PerformanceEntry.

* page/PerformanceEntryList.cpp: Removed.
(WebCore::PerformanceEntryList::PerformanceEntryList): Deleted.
(WebCore::PerformanceEntryList::~PerformanceEntryList): Deleted.
(WebCore::PerformanceEntryList::length): Deleted.
(WebCore::PerformanceEntryList::item): Deleted.
(WebCore::PerformanceEntryList::append): Deleted.
(WebCore::PerformanceEntryList::appendAll): Deleted.
(WebCore::PerformanceEntryList::sort): Deleted.
* page/PerformanceEntryList.h: Removed.
(WebCore::PerformanceEntryList::create): Deleted.
* page/PerformanceEntryList.idl: Removed.

LayoutTests:

Testing that PerformanceEntryList (window.performance.getEntries()) is iterable.

* http/tests/performance/performance-resource-timing-entries-iterable-expected.txt: Added.
* http/tests/performance/performance-resource-timing-entries-iterable.html: Added.

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

3 years agoAnother attempt to fix the iOS 9.3 build
dbates@webkit.org [Fri, 19 Aug 2016 18:24:50 +0000 (18:24 +0000)]
Another attempt to fix the iOS 9.3 build

Define WK_EMPTY_, WK_NOT_, and WK_NOT_YES.

* DumpRenderTree/mac/Configurations/Base.xcconfig:
* WebKitTestRunner/Configurations/Base.xcconfig:

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

3 years ago[Mac] fix PiP context menu typos
eric.carlson@apple.com [Fri, 19 Aug 2016 18:21:35 +0000 (18:21 +0000)]
[Mac] fix PiP context menu typos
https://bugs.webkit.org/show_bug.cgi?id=160999
<rdar://problem/27885070>

Reviewed by Jer Noble.

* English.lproj/Localizable.strings: "Picture-in-Picture" -> "Picture in Picture".

* platform/LocalizedStrings.cpp:
(WebCore::contextMenuItemTagEnterVideoEnhancedFullscreen): Ditto.
(WebCore::contextMenuItemTagExitVideoEnhancedFullscreen): Ditto.

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

3 years agoRename didLayout(LayoutMilestones) to didReachLayoutMilestone(), and related WK2...
simon.fraser@apple.com [Fri, 19 Aug 2016 18:10:23 +0000 (18:10 +0000)]
Rename didLayout(LayoutMilestones) to didReachLayoutMilestone(), and related WK2 functions
https://bugs.webkit.org/show_bug.cgi?id=160923

Reviewed by Tim Horton.

Source/WebCore:

didLayout(LayoutMilestones) -> didReachLayoutMilestone(LayoutMilestones)
dispatchDidLayout(LayoutMilestones) -> dispatchDidReachLayoutMilestone(LayoutMilestones)

* dom/Document.cpp:
(WebCore::Document::setVisualUpdatesAllowed):
* loader/EmptyClients.h:
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::didReachLayoutMilestone):
(WebCore::FrameLoader::didLayout): Deleted.
* loader/FrameLoader.h:
* loader/FrameLoaderClient.h:
* page/FrameView.cpp:
(WebCore::FrameView::fireLayoutRelatedMilestonesIfNeeded):
(WebCore::FrameView::firePaintRelatedMilestonesIfNeeded):
* page/LayoutMilestones.h: Formatting
* page/Page.cpp:
(WebCore::Page::addRelevantRepaintedObject):

Source/WebKit/mac:

* WebCoreSupport/WebFrameLoaderClient.h:
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::dispatchDidReachLayoutMilestone):
(WebFrameLoaderClient::dispatchDidLayout): Deleted.

Source/WebKit/win:

didLayout(LayoutMilestones) -> didReachLayoutMilestone(LayoutMilestones)
dispatchDidLayout(LayoutMilestones) -> dispatchDidReachLayoutMilestone(LayoutMilestones)

* WebCoreSupport/WebFrameLoaderClient.cpp:
(WebFrameLoaderClient::dispatchDidReachLayoutMilestone):
(WebFrameLoaderClient::dispatchDidLayout): Deleted.
* WebCoreSupport/WebFrameLoaderClient.h:

Source/WebKit2:

didLayout(LayoutMilestones) -> didReachLayoutMilestone(LayoutMilestones)
dispatchDidLayout(LayoutMilestones) -> dispatchDidReachLayoutMilestone(LayoutMilestones)

Avoided changing functions that are exposed as API/SPI.

* UIProcess/API/APILoaderClient.h:
(API::LoaderClient::didReachLayoutMilestone):
(API::LoaderClient::didLayout): Deleted.
* UIProcess/API/C/WKPage.cpp:
(WKPageSetPageLoaderClient):
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::didLayoutForCustomContentProvider):
(WebKit::WebPageProxy::didReachLayoutMilestone):
(WebKit::WebPageProxy::didLayout): Deleted.
* UIProcess/WebPageProxy.h:
* UIProcess/WebPageProxy.messages.in:
* UIProcess/ios/WebPageProxyIOS.mm:
(WebKit::WebPageProxy::didCommitLayerTree):
* UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm:
(WebKit::RemoteLayerTreeDrawingAreaProxy::commitLayerTree):
* WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:
(didReachLayoutMilestone):
(setUpPageLoaderClient):
(didLayout): Deleted.
* WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
(WebKit::InjectedBundlePageLoaderClient::didReachLayoutMilestone):
(WebKit::InjectedBundlePageLoaderClient::didLayout): Deleted.
* WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::dispatchDidReachLayoutMilestone):
(WebKit::WebFrameLoaderClient::dispatchDidLayout): Deleted.
* WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
* WebProcess/WebPage/DrawingArea.h:
(WebKit::DrawingArea::dispatchDidReachLayoutMilestone):
(WebKit::DrawingArea::dispatchDidLayout): Deleted.
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::dispatchDidReachLayoutMilestone):
(WebKit::WebPage::dispatchDidLayout): Deleted.
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
* WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
(WebKit::RemoteLayerTreeDrawingArea::dispatchDidReachLayoutMilestone):
(WebKit::RemoteLayerTreeDrawingArea::dispatchDidLayout): Deleted.

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

3 years ago[Win] Warning fix.
pvollan@apple.com [Fri, 19 Aug 2016 17:10:57 +0000 (17:10 +0000)]
[Win] Warning fix.
https://bugs.webkit.org/show_bug.cgi?id=160994

Reviewed by Anders Carlsson.

Ignore warning when function declared with __declspec(noreturn) has non void return type.

* Source/cmake/OptionsWin.cmake:

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

3 years agoAttempt to fix the iOS 9.3 build
dbates@webkit.org [Fri, 19 Aug 2016 17:07:32 +0000 (17:07 +0000)]
Attempt to fix the iOS 9.3 build

Reorder the keys in the text-based stubs to make linker happy.

* WebKitPrivateFrameworkStubs/iOS/9/AppSupport.framework/AppSupport.tbd:
* WebKitPrivateFrameworkStubs/iOS/9/AssertionServices.framework/AssertionServices.tbd:
* WebKitPrivateFrameworkStubs/iOS/9/CorePDF.framework/CorePDF.tbd:
* WebKitPrivateFrameworkStubs/iOS/9/GraphicsServices.framework/GraphicsServices.tbd:
* WebKitPrivateFrameworkStubs/iOS/9/IOSurface.framework/IOSurface.tbd:

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

3 years ago[Win] Warning fix.
pvollan@apple.com [Fri, 19 Aug 2016 16:41:27 +0000 (16:41 +0000)]
[Win] Warning fix.
https://bugs.webkit.org/show_bug.cgi?id=160995

Avoid setting unknown compile option on source file.

Reviewed by Anders Carlsson.

* CMakeLists.txt:

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

3 years agoUnskip tests that now pass on ios-simulator.
ryanhaddad@apple.com [Fri, 19 Aug 2016 16:08:18 +0000 (16:08 +0000)]
Unskip tests that now pass on ios-simulator.

Unreviewed test gardening.

* platform/ios-simulator-wk2/TestExpectations:

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

3 years agoDumpRenderTree crashed in com.apple.WebCore: WebCore::DOMWindow::resetDOMWindowProper...
cdumez@apple.com [Fri, 19 Aug 2016 15:46:42 +0000 (15:46 +0000)]
DumpRenderTree crashed in com.apple.WebCore: WebCore::DOMWindow::resetDOMWindowProperties + 607
https://bugs.webkit.org/show_bug.cgi?id=160983
<rdar://problem/26768524>

Reviewed by Brent Fulgham.

Update DOMWindow::frameDestroyed() to ref the window object as the crash
traces seem to indicate it can get destroyed during the execution of this
method. Also update the code in the ~Frame destructor to not iterate over
the list of FrameDestructionObservers because observers remove themselves
from the list when they get destroyed.

No new tests, do not know how to reproduce.

* page/DOMWindow.cpp:
(WebCore::DOMWindow::frameDestroyed):
* page/Frame.cpp:
(WebCore::Frame::~Frame):

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

3 years agoWebKit should unset event propagation flags after dispatch
cdumez@apple.com [Fri, 19 Aug 2016 15:36:55 +0000 (15:36 +0000)]
WebKit should unset event propagation flags after dispatch
https://bugs.webkit.org/show_bug.cgi?id=160853

Reviewed by Ryosuke Niwa.

LayoutTests/imported/w3c:

Rebaseline several W3C tests now that more checks are passing.

* web-platform-tests/dom/events/Event-dispatch-multiple-stopPropagation-expected.txt:
* web-platform-tests/dom/events/Event-initEvent-expected.txt:
* web-platform-tests/dom/events/Event-propagation-expected.txt:

Source/WebCore:

WebKit should unset event propagation flags after dispatch to reflect
the latest DOM specification:
- https://github.com/whatwg/dom/commit/806d4aab584f6fc38c21f8e088b51b8ba3e27e20

No new tests, rebaselined existing tests.

* dom/Event.h:
(WebCore::Event::resetPropagationFlags):
* dom/EventDispatcher.cpp:
(WebCore::EventDispatcher::dispatchEvent):
* dom/EventTarget.cpp:
(WebCore::EventTarget::dispatchEvent):

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

3 years agoRemove Yosemite Leaks bot from config.json
lforschler@apple.com [Fri, 19 Aug 2016 07:26:22 +0000 (07:26 +0000)]
Remove Yosemite Leaks bot from config.json

Reviewed by Alexey Proskuryakov.

* BuildSlaveSupport/build.webkit.org-config/config.json:

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

3 years agoLd warns of non-existent PrivateFrameworks directory when building WebKit with the...
dbates@webkit.org [Fri, 19 Aug 2016 03:07:15 +0000 (03:07 +0000)]
Ld warns of non-existent PrivateFrameworks directory when building WebKit with the public iOS 9.3 SDK
https://bugs.webkit.org/show_bug.cgi?id=160979

Rubber-stamped by Simon Fraser.

Only add the SDK PrivateFrameworks directory to the FRAMEWORK_SEARCH_PATH when building for
iOS Simulator, building with an iOS SDK that does not support text-based stubs, or building
an Apple-internal build.

Source/WebCore:

* Configurations/Base.xcconfig: Define WK_TARGET_IOS_VERSION_MAJOR.
* Configurations/WebCore.xcconfig:

Source/WebKit/mac:

* Configurations/WebKitLegacy.xcconfig:

Source/WebKit2:

* Configurations/BaseTarget.xcconfig:

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

3 years agoRe-landing:
weinig@apple.com [Fri, 19 Aug 2016 02:53:58 +0000 (02:53 +0000)]
Re-landing:

Support WebIDL unions (Part 1)
https://bugs.webkit.org/show_bug.cgi?id=160769

Reviewed by Chris Dumez.

This is the first part of an effort to add support for union types
in our code generators. This change:
- Adds a domType struct to hold the parsed type information. For now, we only
  use it temporarily while parsing, and don't expose it to the code generators,
  but that will change in a later patch.
- Remove support for scoped identifiers for types. They are not supported by WebIDL.
- Make debugging the parser easier by providing backtraces when asserting.

There should be no observable changes.

* bindings/scripts/IDLParser.pm:

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

3 years agoUnreviewed, Fix CMake build after r204614
hs85.jeong@samsung.com [Fri, 19 Aug 2016 02:44:59 +0000 (02:44 +0000)]
Unreviewed, Fix CMake build after r204614

* PlatformMac.cmake:

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

3 years agoMove prefix / namespaceURI / localName attributes from Node to Attr / Element
cdumez@apple.com [Fri, 19 Aug 2016 02:40:11 +0000 (02:40 +0000)]
Move prefix / namespaceURI / localName attributes from Node to Attr / Element
https://bugs.webkit.org/show_bug.cgi?id=160988

Reviewed by Ryosuke Niwa.

LayoutTests/imported/w3c:

Rebaseline several W3C test now that more checks are passing.

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

Source/WebCore:

Move prefix / namespaceURI / localName attributes from Node to Attr / Element
as per the latest DOM specification:
- https://dom.spec.whatwg.org/#element
- https://dom.spec.whatwg.org/#attr

Firefox and Chrome match the specification.

No new tests, rebaselined existing tests.

* dom/Attr.h:
* dom/Attr.idl:
* dom/Element.h:
* dom/Element.idl:
* dom/Node.idl:

LayoutTests:

Update existing layout tests to reflect behavior change.

* fast/dom/Node/initial-values-expected.txt:
* fast/dom/Node/script-tests/initial-values.js:
* http/tests/misc/createElementNamespace1-expected.txt:
* http/tests/misc/createElementNamespace1.xml:
* http/tests/misc/createElementNamespace2-expected.txt:
* http/tests/misc/createElementNamespace2.xhtml:
* http/tests/misc/createElementNamespace3-expected.txt:
* http/tests/misc/createElementNamespace3.html:
* js/dom/dom-static-property-for-in-iteration-expected.txt:

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

3 years agoRe-sync DOM web platform tests from upstream
cdumez@apple.com [Fri, 19 Aug 2016 02:37:52 +0000 (02:37 +0000)]
Re-sync DOM web platform tests from upstream
https://bugs.webkit.org/show_bug.cgi?id=160980

Reviewed by Ryosuke Niwa.

Re-sync DOM web platform tests from upstream.

* web-platform-tests/dom/events/Event-initEvent-expected.txt:
* web-platform-tests/dom/events/Event-initEvent.html:
* web-platform-tests/dom/events/Event-propagation-expected.txt:
* web-platform-tests/dom/events/Event-propagation.html:
* web-platform-tests/dom/nodes/Node-properties.html:

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

3 years ago[iOS] Network Processes & Database processes do not exit promptly
cdumez@apple.com [Fri, 19 Aug 2016 01:07:45 +0000 (01:07 +0000)]
[iOS] Network Processes & Database processes do not exit promptly
https://bugs.webkit.org/show_bug.cgi?id=160978
<rdar://problem/27914081>

Reviewed by Anders Carlsson.

Network Processes & Database processes do not exit promptly. They hang
for 10 seconds until they log the following message:
> com.apple.WebKit.Networking: (WebKit) #WK: Exiting process early due to unacknowledged closed-connection

Then forcefully call exit(0).

To address the issue, we now call ChildProcess::stopRunLoop() instead
of RunLoop::current().stop(). stopRunLoop() works as expected on iOS
after r202723.

There is no impact on Mac because stopRunLoop() calls
RunLoop::current().stop().

* DatabaseProcess/DatabaseProcess.cpp:
(WebKit::DatabaseProcess::didClose):
(WebKit::DatabaseProcess::didReceiveInvalidMessage):
* NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::didClose):
(WebKit::NetworkProcess::didReceiveInvalidMessage):

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

3 years agoBinding NULL pointer to reference in WebCore::RenderObject
commit-queue@webkit.org [Fri, 19 Aug 2016 01:01:47 +0000 (01:01 +0000)]
Binding NULL pointer to reference in WebCore::RenderObject
https://bugs.webkit.org/show_bug.cgi?id=160830

Patch by Jonathan Bedard <jbedard@apple.com> on 2016-08-18
Reviewed by Myles C. Maxfield.

No new tests needed, existing functionality not changed.

Fixes a dereferenced NULL pointer bound to a reference through a minor re-factor.

* rendering/InlineIterator.h:
(WebCore::InlineIterator::clear): Explicit clear occurs, instead of a call to moveTo.
(WebCore::InlineIterator::moveToStartOf): Swapped pointer for reference.
(WebCore::InlineIterator::moveTo): Swapped pointer for reference.
(WebCore::InlineIterator::increment): Explicitly call clear for clarity.
* rendering/line/BreakingContext.h:
(WebCore::BreakingContext::commitLineBreakClear): Commit a line break and clear the iterator.
(WebCore::BreakingContext::commitLineBreakAtCurrentWidth): Swapped pointer for reference.
(WebCore::BreakingContext::InlineIteratorHistory::moveTo): Swapped pointer for reference.
(WebCore::BreakingContext::increment): Explicitly call clear for clarity.
(WebCore::BreakingContext::handleBR): Swapped pointer for passed reference.
(WebCore::BreakingContext::handleReplaced): Explicitly call clear for clarity.
(WebCore::tryHyphenating): Swapped pointer for passed reference.
(WebCore::BreakingContext::handleText): Replaced all render object passing with references.  Note that the caller explicitly checks if m_current.renderer() exists before calling this function.
(WebCore::BreakingContext::commitAndUpdateLineBreakIfNeeded): Explicitly call clear for clarity.
(WebCore::BreakingContext::handleEndOfLine): Explicitly call clear for clarity.

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

3 years agoWindows build fix after r204611. Use the fully qualified name to avoid the ambiguity...
rniwa@webkit.org [Fri, 19 Aug 2016 00:55:42 +0000 (00:55 +0000)]
Windows build fix after r204611. Use the fully qualified name to avoid the ambiguity in VC++.

* bindings/js/JSCustomElementInterface.cpp:
(WebCore::JSCustomElementInterface::invokeCallback):
* bindings/js/JSCustomElementInterface.h:
(WebCore::JSCustomElementInterface::invokeCallback):

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

3 years agoSupport passing preferLowPowerToHighPerformance and failIfMajorPerformanceCaveat
dino@apple.com [Fri, 19 Aug 2016 00:50:36 +0000 (00:50 +0000)]
Support passing preferLowPowerToHighPerformance and failIfMajorPerformanceCaveat
https://bugs.webkit.org/show_bug.cgi?id=160982
<rdar://problem/27915946>

Reviewed by Simon Fraser.

Source/WebCore:

Update WebGLContextAttributes to be compliant with the specification,
by adding preferLowPowerToHighPerformance and failIfMajorPerformanceCaveat.
They are not implemented yet, so asking the created context what
values it used should give the default.

Test: fast/canvas/webgl/context-creation-attributes.html

* html/canvas/WebGLContextAttributes.cpp:
(WebCore::WebGLContextAttributes::preferLowPowerToHighPerformance):
(WebCore::WebGLContextAttributes::setPreferLowPowerToHighPerformance):
(WebCore::WebGLContextAttributes::failIfMajorPerformanceCaveat):
(WebCore::WebGLContextAttributes::setFailIfMajorPerformanceCaveat):
* html/canvas/WebGLContextAttributes.h:
* html/canvas/WebGLContextAttributes.idl:
* html/canvas/WebGLRenderingContextBase.cpp:
(WebCore::WebGLRenderingContextBase::create): Deleted.
* platform/graphics/GraphicsContext3D.h:
(WebCore::GraphicsContext3D::Attributes::Attributes): Deleted.

LayoutTests:

Very simple test that creates some WebGL contexts with various
creation attributes and outputs the result.

* fast/canvas/webgl/context-creation-attributes-expected.txt: Added.
* fast/canvas/webgl/context-creation-attributes.html: Added.

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

3 years agoMove an NPAPI-only function from WebCore to WebKit
andersca@apple.com [Fri, 19 Aug 2016 00:12:27 +0000 (00:12 +0000)]
Move an NPAPI-only function from WebCore to WebKit
https://bugs.webkit.org/show_bug.cgi?id=160967

Reviewed by Sam Weinig.

Source/WebCore:

* WebCore.xcodeproj/project.pbxproj:
* bindings/js/ScriptController.cpp:
(WebCore::ScriptController::createScriptObjectForPluginElement): Deleted.
* bindings/js/ScriptController.h:
* bridge/NP_jsobject.h:

Source/WebKit/mac:

* Plugins/WebNetscapePluginView.h:
* Plugins/WebNetscapePluginView.mm:
(-[WebNetscapePluginView getVariable:value:]):
(-[WebNetscapePluginView _destroyPlugin]):

Source/WebKit/win:

* Plugins/PluginView.cpp:
(WebCore::PluginView::~PluginView):
(WebCore::PluginView::PluginView):
(WebCore::PluginView::getValue):
* Plugins/PluginView.h:

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

3 years agoBuilding test fix after r204611.
rniwa@webkit.org [Thu, 18 Aug 2016 23:15:05 +0000 (23:15 +0000)]
Building test fix after r204611.

* bindings/scripts/test/TestObj.idl:

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

3 years ago[Cocoa] API::Number needs to be wrapped by an NSNumber
mitz@apple.com [Thu, 18 Aug 2016 23:11:05 +0000 (23:11 +0000)]
[Cocoa] API::Number needs to be wrapped by an NSNumber
https://bugs.webkit.org/show_bug.cgi?id=160977
<rdar://problem/27877735>

Reviewed by Anders Carlsson.

Source/WebKit2:

We introduce a single WKNSNumber class to wrap three distinct API::Number instantiations
corresponding to the Boolean, UInt64 and Double types.

Test: TestWebKitAPI/Tests/WebKit2Cocoa/WKNSNumber.mm

* Shared/Cocoa/APIObject.mm:
(API::Object::newObject): Create a WKNSNumber to contain any of the number types, and set
  its _type ivar accordingly.
* Shared/Cocoa/WKNSNumber.h: Added.
(WebKit::wrapper):
* Shared/Cocoa/WKNSNumber.mm: Added.
(-[WKNSNumber dealloc]): Call the appropriate destructor.
(-[WKNSNumber objCType]): Implement this NSValue primitive method.
(-[WKNSNumber getValue:]): Ditto.
(-[WKNSNumber boolValue]): Implement this NSNumber method corresponding to one of our
  possible types.
(-[WKNSNumber doubleValue]): Ditto.
(-[WKNSNumber unsignedLongLongValue]): Ditto.
(-[WKNSNumber copyWithZone:]): Implement this NSCopying method by retaining self.
(-[WKNSNumber _apiObject]): Implement this WKObject method by returning the appropriate
  API object.

* WebKit2.xcodeproj/project.pbxproj: Added references to new files.

Tools:

* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit2Cocoa/WKNSNumber.mm: Added.
(TestWebKitAPI::TEST):

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

3 years agoUnreviewed, nit fix after r204605 reported by Darin.
cdumez@apple.com [Thu, 18 Aug 2016 23:03:47 +0000 (23:03 +0000)]
Unreviewed, nit fix after r204605 reported by Darin.

* platform/text/TextCodecICU.cpp:

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

3 years agoScopedArguments is using the wrong owner object for a write barrier.
mark.lam@apple.com [Thu, 18 Aug 2016 22:55:05 +0000 (22:55 +0000)]
ScopedArguments is using the wrong owner object for a write barrier.
https://bugs.webkit.org/show_bug.cgi?id=160976
<rdar://problem/27328506>

Reviewed by Keith Miller.

JSTests:

* stress/scoped-arguments-write-barrier-should-be-on-scope-object.js: Added.

Source/JavaScriptCore:

* runtime/ScopedArguments.h:
(JSC::ScopedArguments::setIndexQuickly):

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

3 years agoAdd basic support for connected and disconnected callbacks
rniwa@webkit.org [Thu, 18 Aug 2016 22:19:59 +0000 (22:19 +0000)]
Add basic support for connected and disconnected callbacks
https://bugs.webkit.org/show_bug.cgi?id=160950

Reviewed by Chris Dumez.

Source/WebCore:

Added the basic support for custom elements' connectedCallback and disconnectedCallback. These callbacks
are enqueued by inserting and removing a node as spec'ed by https://dom.spec.whatwg.org/#concept-node-insert
and https://dom.spec.whatwg.org/#concept-node-remove

For now, we only support callbacks on appendChild and removeChild to limit the amount of code changes and
tests that need to be included in this patch.

This patch also renames InvokesCustomElementLifecycleCallbacks IDL attribute to CEReactions to match
the latest specification: https://html.spec.whatwg.org/multipage/scripting.html#cereactions

Tests: fast/custom-elements/connected-callbacks.html
       fast/custom-elements/disconnected-callbacks.html

* bindings/js/JSCustomElementInterface.cpp:
(WebCore::JSCustomElementInterface::invokeCallback): Extracted from invokeAttributeChangedCallback.
(WebCore::JSCustomElementInterface::setConnectedCallback): Added.
(WebCore::JSCustomElementInterface::invokeConnectedCallback): Added.
(WebCore::JSCustomElementInterface::setDisconnectedCallback): Added.
(WebCore::JSCustomElementInterface::invokeDisconnectedCallback): Added.
(WebCore::JSCustomElementInterface::setAttributeChangedCallback):
(WebCore::JSCustomElementInterface::invokeAttributeChangedCallback): Renamed from attributeChanged.
* bindings/js/JSCustomElementInterface.h: Added m_connectedCallback and m_disconnectedCallback as instance
variables. Also removed the superfluous mutable qualifier from m_constructor m_attributeChangedCallback.
* bindings/js/JSCustomElementsRegistryCustom.cpp:
(WebCore::JSCustomElementsRegistry::define): Store connectedCallback and disconnectedCallback.
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateImplementation):
* bindings/scripts/IDLAttributes.txt:
* dom/CustomElementsRegistry.idl:
* dom/Element.cpp:
(WebCore::Element::insertedInto): Call enqueueConnectedCallbackIfNeeded.
(WebCore::Element::removedFrom): Call enqueueDisconnectedCallbackIfNeeded.
* dom/Element.idl:
* dom/LifecycleCallbackQueue.cpp:
(WebCore::LifecycleQueueItem::invoke): Added calls to invokeConnectedCallback and invokeDisconnectedCallback.
(WebCore::findInterfaceForCustomElement): Extracted from enqueueAttributeChangedCallbackIfNeeded.
(WebCore::LifecycleCallbackQueue::enqueueConnectedCallbackIfNeeded): Added.
(WebCore::LifecycleCallbackQueue::enqueueDisconnectedCallbackIfNeeded): Added.
(WebCore::LifecycleCallbackQueue::enqueueAttributeChangedCallbackIfNeeded):
(WebCore::CustomElementLifecycleProcessingStack::ensureCurrentQueue):
* dom/LifecycleCallbackQueue.h:
* dom/Node.idl:

LayoutTests:

Added W3C style testharness.js tests for connectedCallback and disconnectedCallback.

Four test cases are failing due to a bug in window-less document's custom element registry,
which will be addressed in a future patch.

* fast/custom-elements/connected-callbacks-expected.txt: Added.
* fast/custom-elements/connected-callbacks.html: Added.
* fast/custom-elements/disconnected-callbacks-expected.txt: Added.
* fast/custom-elements/disconnected-callbacks.html: Added.

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

3 years agoUpdate the accessibility titles for list insertion
bdakin@apple.com [Thu, 18 Aug 2016 21:19:26 +0000 (21:19 +0000)]
Update the accessibility titles for list insertion
https://bugs.webkit.org/show_bug.cgi?id=160972
-and corresponding-
rdar://problem/27750446

Reviewed by Chris Fleizach.

Update accessibility titles based on feedback.
* English.lproj/Localizable.strings:
* platform/LocalizedStrings.cpp:
(WebCore::insertListTypeNone):
(WebCore::insertListTypeBulleted):
(WebCore::insertListTypeBulletedAccessibilityTitle):
(WebCore::insertListTypeNumbered):
(WebCore::insertListTypeNumberedAccessibilityTitle):
(WebCore::insertListTypeNoneAccessibilityTitle): Deleted.
* platform/LocalizedStrings.h:

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

3 years agoAdd LLINT probe() macro for X86_64.
mark.lam@apple.com [Thu, 18 Aug 2016 20:25:30 +0000 (20:25 +0000)]
Add LLINT probe() macro for X86_64.
https://bugs.webkit.org/show_bug.cgi?id=160968

Reviewed by Geoffrey Garen.

* llint/LowLevelInterpreter.asm:

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

3 years ago[Cocoa] Add SPI to WKProcessPool for enabling cookie storage partitioning
aestes@apple.com [Thu, 18 Aug 2016 19:55:41 +0000 (19:55 +0000)]
[Cocoa] Add SPI to WKProcessPool for enabling cookie storage partitioning
https://bugs.webkit.org/show_bug.cgi?id=160964

Reviewed by Anders Carlsson.

Followed the guidelines for SPI naming.

* UIProcess/API/Cocoa/WKProcessPool.mm:
(-[WKProcessPool _isCookieStoragePartitioningEnabled]): Renamed from -cookieStoragePartitioningEnabled.
(-[WKProcessPool _setCookieStoragePartitioningEnabled:]): Renamed from -setCookieStoragePartitioningEnabled:.
(-[WKProcessPool cookieStoragePartitioningEnabled]): Renamed to -_isCookieStoragePartitioningEnabled.
(-[WKProcessPool setCookieStoragePartitioningEnabled:]): Renamed to -_setCookieStoragePartitioningEnabled:.
* UIProcess/API/Cocoa/WKProcessPoolPrivate.h:

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

3 years agoAlign our encoding labels with the encoding specification
cdumez@apple.com [Thu, 18 Aug 2016 19:53:35 +0000 (19:53 +0000)]
Align our encoding labels with the encoding specification
https://bugs.webkit.org/show_bug.cgi?id=160931

Reviewed by Darin Adler.

LayoutTests/imported/w3c:

Rebaseline W3C test now that we are passing a lot more checks. For reference,
Firefox 48 passes 624 out of 654, and Chrome 52 passes 651 out of 654.
Before this change, WebKit was only passing 501 out of 654 and is now passing
651. The only checks we're failing is due to "Big5-HKSCS" not being an alias
to "Big5".

* web-platform-tests/dom/nodes/Document-characterSet-normalization-expected.txt:

Source/WebCore:

Align our encoding labels with the encoding specification:
- https://encoding.spec.whatwg.org/#names-and-labels

This also aligns with Firefox and Chrome.

No new tests, rebaselined existing test.

* platform/text/TextCodecICU.cpp:
(WebCore::TextCodecICU::registerEncodingNames):
* platform/text/TextCodecLatin1.cpp:
(WebCore::TextCodecLatin1::registerEncodingNames):
(WebCore::newStreamingTextDecoderWindowsLatin1): Deleted.
(WebCore::TextCodecLatin1::registerCodecs): Deleted.
* platform/text/TextCodecUTF8.cpp:
(WebCore::TextCodecUTF8::registerEncodingNames):

LayoutTests:

Update / rebaseline existing tests to reflect the code change.
The new baselines match Chrome and Firefox.

* fast/encoding/bracket-in-tag-expected.txt:
* fast/encoding/charset-invalid-expected.txt:
* fast/encoding/charset-replacement-expected.txt:
* fast/encoding/misplaced-xml-declaration-expected.txt:
* fast/encoding/pseudo-xml-expected.txt:
* http/tests/misc/char-encoding-bocu-1-blacklisted-expected.txt:
* http/tests/misc/char-encoding-bocu-1-blacklisted.html:
* http/tests/misc/char-encoding-in-hidden-charset-field-default-expected.txt:
* http/tests/misc/char-encoding-scsu-blacklisted-expected.txt:
* http/tests/misc/char-encoding-scsu-blacklisted.html:
* http/tests/misc/frame-default-enc-different-domain-expected.txt:

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

3 years agoGenerated messages headers should use #pragma once
aestes@apple.com [Thu, 18 Aug 2016 19:04:28 +0000 (19:04 +0000)]
Generated messages headers should use #pragma once
https://bugs.webkit.org/show_bug.cgi?id=160965

Reviewed by Anders Carlsson.

* Scripts/webkit/messages.py:
(generate_messages_header): Used #pragma once instead of a header guard.

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

3 years ago[Cocoa] Add SPI to WKProcessPool for enabling cookie storage partitioning
aestes@apple.com [Thu, 18 Aug 2016 18:59:20 +0000 (18:59 +0000)]
[Cocoa] Add SPI to WKProcessPool for enabling cookie storage partitioning
https://bugs.webkit.org/show_bug.cgi?id=160964

Reviewed by Brent Fulgham.

Source/WebCore:

* page/Settings.cpp:
(WebCore::Settings::setCookieStoragePartitioningEnabled): Deleted.
* page/Settings.h:
(WebCore::Settings::cookieStoragePartitioningEnabled): Deleted.
* platform/network/NetworkStorageSession.h:
* platform/network/cf/NetworkStorageSessionCFNet.cpp: Defined cookieStoragePartitioningEnabled.
(WebCore::NetworkStorageSession::setCookieStoragePartitioningEnabled): Set cookieStoragePartitioningEnabled.
(WebCore::cookieStoragePartition): Used cookieStoragePartitioningEnabled instead of Settings::cookieStoragePartitioningEnabled().

Source/WebKit2:

* NetworkProcess/NetworkProcess.h: Declared setCookieStoragePartitioningEnabled().
* NetworkProcess/NetworkProcess.messages.in: Added message SetCookieStoragePartitioningEnabled.
* NetworkProcess/NetworkProcessCreationParameters.cpp:
(WebKit::NetworkProcessCreationParameters::encode): Encoded cookieStoragePartitioningEnabled.
(WebKit::NetworkProcessCreationParameters::decode): Decoded cookieStoragePartitioningEnabled.
* NetworkProcess/NetworkProcessCreationParameters.h: Declared cookieStoragePartitioningEnabled.
* NetworkProcess/cocoa/NetworkProcessCocoa.mm:
(WebKit::NetworkProcess::platformInitializeNetworkProcessCocoa):
Called NetworkStorageSession::setCookieStoragePartitioningEnabled() given the cookieStoragePartitioningEnabled parameter.
(WebKit::NetworkProcess::setCookieStoragePartitioningEnabled):
Called NetworkStorageSession::setCookieStoragePartitioningEnabled().
* UIProcess/API/Cocoa/WKProcessPool.mm:
(-[WKProcessPool cookieStoragePartitioningEnabled]): Returned WebProcessPool::cookieStoragePartitioningEnabled().
(-[WKProcessPool setCookieStoragePartitioningEnabled:]): Called WebProcessPool::setCookieStoragePartitioningEnabled().
* UIProcess/API/Cocoa/WKProcessPoolPrivate.h: Declared cookieStoragePartitioningEnabled as a property.
* UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::WebProcessPool::platformInitializeNetworkProcess):
Set the cookieStoragePartitioningEnabled parameter from m_cookieStoragePartitioningEnabled.
(WebKit::WebProcessPool::setCookieStoragePartitioningEnabled):
Set m_cookieStoragePartitioningEnabled and sent the NetworkProcess::SetCookieStoragePartitioningEnabled message.
* UIProcess/WebProcessPool.h: Declared cookieStoragePartitioningEnabled.

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

3 years agoLand test expectations for rdar://problem/27723718.
ryanhaddad@apple.com [Thu, 18 Aug 2016 18:06:45 +0000 (18:06 +0000)]
Land test expectations for rdar://problem/27723718.

* platform/mac-wk1/TestExpectations:

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

3 years agoAX: Audio Description tracks are not labeled correctly, causing user confusion
eric.carlson@apple.com [Thu, 18 Aug 2016 18:05:56 +0000 (18:05 +0000)]
AX: Audio Description tracks are not labeled correctly, causing user confusion
https://bugs.webkit.org/show_bug.cgi?id=160652
<rdar://problem/27742208>

Reviewed by Antoine Quint.

* http/tests/media/hls/hls-accessiblity-describes-video-menu-expected.txt: Added.
* http/tests/media/hls/hls-accessiblity-describes-video-menu.html: Added.

* media/trackmenu-test.js:
(clickCCButton): Fail immediately if "video" is null or not a media element. Make failure
logging more descriptive.

* platform/gtk/TestExpectations: Skip new test.

* platform/ios-simulator/media/video-controls-captions-trackmenu-expected.txt: Updated for
clickCCButton error message change.
* platform/ios-simulator/media/video-controls-captions-trackmenu-hide-on-click-expected.txt: Ditto.
* platform/ios-simulator/media/video-controls-captions-trackmenu-localized-expected.txt: Ditto.
* platform/ios-simulator/media/video-controls-captions-trackmenu-sorted-expected.txt: Ditto.

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

3 years agoRemove unused SlotVisitor::append() variant.
mark.lam@apple.com [Thu, 18 Aug 2016 17:54:27 +0000 (17:54 +0000)]
Remove unused SlotVisitor::append() variant.
https://bugs.webkit.org/show_bug.cgi?id=160961

Reviewed by Saam Barati.

* heap/SlotVisitor.h:
* jit/JITWriteBarrier.h:
(JSC::JITWriteBarrier::get):
(JSC::SlotVisitor::append): Deleted.

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

3 years agoFix WinCairo build after r204592.
achristensen@apple.com [Thu, 18 Aug 2016 17:26:28 +0000 (17:26 +0000)]
Fix WinCairo build after r204592.

* PlatformAppleWin.cmake:
* PlatformWin.cmake:

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

3 years agoMake @Array(size) a bytecode intrinsic
sbarati@apple.com [Thu, 18 Aug 2016 17:17:41 +0000 (17:17 +0000)]
Make @Array(size) a bytecode intrinsic
https://bugs.webkit.org/show_bug.cgi?id=160867

Reviewed by Mark Lam.

There were a few places in the code where we were emitting `@Array(size)`
or `new @Array(size)`. Since we have a bytecode operation that already
represents this, called new_array_with_size, it's faster to just make a
bytecode intrinsic for the this operation. This patch does that and
the intrinsic is called `@newArrayWithSize`. This might be around a
1% speedup on ES6 sample bench, but it's within the noise. This is just
a good bytecode operation to have because it's common enough to
create arrays and it's good to make that fast in all tiers.

* builtins/ArrayConstructor.js:
(of):
(from):
* builtins/ArrayPrototype.js:
(filter):
(map):
(sort.stringSort):
(sort):
(concatSlowPath):
* bytecode/BytecodeIntrinsicRegistry.h:
* bytecompiler/NodesCodegen.cpp:
(JSC::BytecodeIntrinsicNode::emit_intrinsic_isObject):
(JSC::BytecodeIntrinsicNode::emit_intrinsic_newArrayWithSize):

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

3 years agoRebaseline js/dom/global-constructors-attributes.html after r204594.
ryanhaddad@apple.com [Thu, 18 Aug 2016 16:10:26 +0000 (16:10 +0000)]
Rebaseline js/dom/global-constructors-attributes.html after r204594.

Unreviewed test gardening.

* platform/mac-wk1/js/dom/global-constructors-attributes-expected.txt:
* platform/mac/js/dom/global-constructors-attributes-expected.txt:

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

3 years ago[MediaStream] cleanup MediaConstraints
eric.carlson@apple.com [Thu, 18 Aug 2016 16:06:19 +0000 (16:06 +0000)]
[MediaStream] cleanup MediaConstraints
https://bugs.webkit.org/show_bug.cgi?id=160957

Reviewed by Antoine Quint.

No new tests, no behavior change.

* Modules/mediastream/CaptureDeviceManager.cpp:
(CaptureDeviceManager::sessionSupportsConstraint): Use MediaConstraint::type

* bindings/js/JSMediaDevicesCustom.cpp:
(WebCore::initializeStringConstraintWithList): MediaConstraint::create now takes the constraint
type, not name.
(WebCore::createStringConstraint): Ditto.
(WebCore::createBooleanConstraint): Ditto.
(WebCore::createDoubleConstraint): Ditto.
(WebCore::createIntConstraint): Ditto.
(WebCore::parseMediaTrackConstraintSetForKey): Pass constraint type.

* platform/mediastream/MediaConstraints.cpp:
(WebCore::MediaConstraint::create): MediaConstraint constructor now takes the constraint.
(WebCore::IntConstraint::create): Take type, not name.
(WebCore::IntConstraint::setMin): Ditto.
(WebCore::DoubleConstraint::create): Ditto.
(WebCore::BooleanConstraint::create): Ditto.
(WebCore::StringConstraint::create): Ditto.
* platform/mediastream/MediaConstraints.h:

* platform/mediastream/RealtimeMediaSourceSupportedConstraints.cpp:
(WebCore::RealtimeMediaSourceSupportedConstraints::nameForConstraint): Make static.
(WebCore::RealtimeMediaSourceSupportedConstraints::constraintFromName): Ditto.
* platform/mediastream/RealtimeMediaSourceSupportedConstraints.h:

* platform/mediastream/mac/AVCaptureDeviceManager.mm:
(WebCore::AVCaptureDeviceManager::sessionSupportsConstraint): Use MediaConstraint::type

* platform/mediastream/mac/AVVideoCaptureSource.mm:
(WebCore::AVVideoCaptureSource::applyConstraints): nameForConstraint is a static method. Add
error logging.

* platform/mock/MediaConstraintsMock.cpp:
(WebCore::isSatisfiable): Use constraint type.

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

3 years ago[web-animations] Add Animatable, AnimationEffect, KeyframeEffect and Animation interface
commit-queue@webkit.org [Thu, 18 Aug 2016 13:58:37 +0000 (13:58 +0000)]
[web-animations] Add Animatable, AnimationEffect, KeyframeEffect and Animation interface
https://bugs.webkit.org/show_bug.cgi?id=156096

Patch by Rawinder Singh <rawinder.singh-webkit@cisra.canon.com.au> on 2016-08-18
Reviewed by Dean Jackson.

Adds:
Source/JavaScriptCore:

- Animatable interface and implementation of getAnimations in Element.
- Interface and implementation for Document getAnimations method.
- AnimationEffect interface and class stub.
- KeyframeEffect interface and constructor implementation.
- 'Animation' interface, constructor and query methods for effect and timeline.
- Remove runtime condition on Web animation interfaces (compile time flag is specified).

* runtime/CommonIdentifiers.h:

Source/WebCore:

- Animatable interface and implementation of getAnimations in Element.
- Interface and implementation for Document getAnimations method.
- AnimationEffect interface and class stub.
- KeyframeEffect interface and constructor implementation.
- 'Animation' interface, constructor and query methods for effect and timeline.
- Remove runtime condition on Web animation interfaces (compile time flag is specified).

Test: webanimations/Document.html

* CMakeLists.txt:
* DerivedSources.make:
* PlatformGTK.cmake:
* WebCore.xcodeproj/project.pbxproj:
* animation/Animatable.idl: Copied from Source/WebCore/animation/AnimationTimeline.idl.
* animation/AnimationEffect.cpp: Copied from Source/WebCore/animation/AnimationTimeline.cpp.
(WebCore::AnimationEffect::AnimationEffect):
(WebCore::AnimationEffect::~AnimationEffect):
(WebCore::AnimationEffect::setAnimation):
(WebCore::AnimationEffect::isCurrent):
(WebCore::AnimationEffect::isInEffect):
* animation/AnimationEffect.h: Copied from Source/WebCore/animation/DocumentTimeline.cpp.
* animation/AnimationEffect.idl: Copied from Source/WebCore/animation/DocumentAnimation.idl.
* animation/AnimationTimeline.cpp:
(WebCore::AnimationTimeline::destroy):
(WebCore::AnimationTimeline::attachAnimation):
(WebCore::AnimationTimeline::detachAnimation):
* animation/AnimationTimeline.h:
* animation/AnimationTimeline.idl:
* animation/DocumentAnimation.cpp:
(WebCore::DocumentAnimation::timeline):
(WebCore::DocumentAnimation::getAnimations):
(WebCore::DocumentAnimation::addAnimation):
(WebCore::DocumentAnimation::removeAnimation):
* animation/DocumentAnimation.h:
(WebCore::DocumentAnimation::getAnimations):
* animation/DocumentAnimation.idl:
* animation/DocumentTimeline.cpp:
(WebCore::DocumentTimeline::create):
(WebCore::DocumentTimeline::DocumentTimeline):
(WebCore::DocumentTimeline::attach):
(WebCore::DocumentTimeline::detach):
* animation/DocumentTimeline.h:
* animation/DocumentTimeline.idl:
* animation/KeyframeEffect.cpp: Copied from Source/WebCore/animation/DocumentTimeline.cpp.
(WebCore::KeyframeEffect::create):
(WebCore::KeyframeEffect::KeyframeEffect):
(WebCore::KeyframeEffect::~KeyframeEffect):
* animation/KeyframeEffect.h: Copied from Source/WebCore/animation/DocumentTimeline.h.
* animation/KeyframeEffect.idl: Copied from Source/WebCore/animation/DocumentTimeline.idl.
* animation/WebAnimation.cpp: Copied from Source/WebCore/animation/DocumentAnimation.cpp.
(WebCore::WebAnimation::create):
(WebCore::WebAnimation::WebAnimation):
(WebCore::WebAnimation::~WebAnimation):
* animation/WebAnimation.h: Copied from Source/WebCore/animation/DocumentAnimation.h.
* animation/WebAnimation.idl: Copied from Source/WebCore/animation/DocumentTimeline.idl.
* bindings/scripts/CodeGeneratorGObject.pm:
* dom/Element.cpp:
(WebCore::Element::getAnimations):
* dom/Element.h:
* dom/Element.idl:

Source/WebKit/mac:

- Setup interface for enabling runtime flag for Web animations through preferences.

* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
(-[WebPreferences webAnimationsEnabled]):
(-[WebPreferences setWebAnimationsEnabled:]):
* WebView/WebPreferencesPrivate.h:
* WebView/WebView.mm:
(-[WebView _preferencesChanged:]):

LayoutTests:

- Animatable interface and implementation of getAnimations in Element.
- Interface and implementation for Document getAnimations method.
- AnimationEffect interface and class stub.
- KeyframeEffect interface and constructor implementation.
- 'Animation' interface, constructor and query methods for effect and timeline.
- Remove runtime condition on Web animation interfaces (compile time flag is specified).

* platform/gtk/js/dom/global-constructors-attributes-expected.txt:
* platform/mac-yosemite/js/dom/global-constructors-attributes-expected.txt:
* webanimations/Document-expected.txt: Added.
* webanimations/Document.html: Added.
* webanimations/script-tests/Document.js: Added.

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

3 years agoUnreviewed test gardening.
pvollan@apple.com [Thu, 18 Aug 2016 09:23:32 +0000 (09:23 +0000)]
Unreviewed test gardening.

Update test expectations on Windows for failing tests. These failures are tracked in
https://bugs.webkit.org/show_bug.cgi?id=160447.

* platform/win/TestExpectations:

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

3 years ago[Cocoa] Migrate off of deprecated CoreGraphics API CGContextSelectFont() and CGContex...
mmaxfield@apple.com [Thu, 18 Aug 2016 06:38:14 +0000 (06:38 +0000)]
[Cocoa] Migrate off of deprecated CoreGraphics API CGContextSelectFont() and CGContextShowTextAtPoint()
https://bugs.webkit.org/show_bug.cgi?id=160895

Reviewed by Dean Jackson.

Source/WebCore:

Migrate to CTLineDraw() instead.

This patch also adds support for linking to the existing CoreText framework on Windows.

No new tests because there is no behavior change.

* PlatformWin.cmake:
* page/cocoa/ResourceUsageOverlayCocoa.mm:
(WebCore::showText):
* platform/graphics/ca/PlatformCALayer.cpp:
(WebCore::PlatformCALayer::drawTextAtPoint):
* platform/ios/LegacyTileCache.mm:
(WebCore::LegacyTileCache::drawLayer):
* platform/spi/win/CoreTextSPIWin.cpp: Added.
* platform/spi/win/CoreTextSPIWin.h: Added.

Source/WebKit:

Link to the existing CoreText framework.

* PlatformWin.cmake:

Tools:

Link to the existing CoreText framework.

* DumpRenderTree/PlatformWin.cmake:
* TestWebKitAPI/PlatformWin.cmake:

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

3 years ago[CSS] The parser should not get rid of empty namespace specification in front of...
benjamin@webkit.org [Thu, 18 Aug 2016 06:22:40 +0000 (06:22 +0000)]
[CSS] The parser should not get rid of empty namespace specification in front of element name selectors
https://bugs.webkit.org/show_bug.cgi?id=160936

Reviewed by Chris Dumez.

LayoutTests/imported/w3c:

* web-platform-tests/dom/nodes/ParentNode-querySelector-All-expected.txt:
* web-platform-tests/dom/nodes/ParentNode-querySelector-All-xht-expected.txt:

Source/WebCore:

There are two places where you can specify an empty namespace
in selectors:
    - Element name (e.g. "|name")
    - Attribute name (e.g. "[|name]")
In the first case, if we have an empty namespace, the selector
should match that.
In the second case, the default namespace of attribute is already
empty so it is just the same as "[name]".

Our code was just discarding any empty namespace. This is fine
for attributes but for names that is transforming "|name" into "name"
which is invalid.

This patch updates those cases to differentiate:
- Null prefix -> There was no namespace specified.
- Empty prefix -> There was a namespace prefix and it is empty.

Test: fast/selectors/empty-namespace-with-element-selector.html

* css/CSSGrammar.y.in:
* css/CSSParser.cpp:
(WebCore::CSSParser::determineNameInNamespace):
(WebCore::CSSParser::rewriteSpecifiersWithNamespaceIfNeeded):
(WebCore::CSSParser::rewriteSpecifiersWithElementName):
* css/CSSParser.h:
* css/CSSSelector.cpp:
(WebCore::CSSSelector::selectorText):
* css/CSSSelectorList.cpp:
(WebCore::SelectorNeedsNamespaceResolutionFunctor::operator()):
* css/StyleSheetContents.cpp:
(WebCore::StyleSheetContents::determineNamespace): Deleted.

LayoutTests:

* fast/css/css-selector-text-expected.txt:
* fast/css/css-selector-text.html:
* fast/css/css-set-selector-text-expected.txt:
* fast/css/css-set-selector-text.html:
* fast/selectors/empty-namespace-with-element-selector-expected.txt: Added.
* fast/selectors/empty-namespace-with-element-selector.html: Added.

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

3 years ago[Web IDL] Add support for dictionary members of dictionary types
cdumez@apple.com [Thu, 18 Aug 2016 03:07:31 +0000 (03:07 +0000)]
[Web IDL] Add support for dictionary members of dictionary types
https://bugs.webkit.org/show_bug.cgi?id=160902

Reviewed by Sam Weinig.

Add support for dictionary members of dictionary types.

No new tests, updated bindings tests.

* bindings/scripts/CodeGeneratorJS.pm:
(GenerateDictionaryImplementationContent):
* bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::convertDictionary<TestObj::Dictionary>):
(WebCore::convertDictionary<TestObj::DictionaryThatShouldNotTolerateNull>):
* bindings/scripts/test/TestObj.idl:

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

3 years agoAdd WASM support for i64 simple opcodes.
keith_miller@apple.com [Thu, 18 Aug 2016 01:35:55 +0000 (01:35 +0000)]
Add WASM support for i64 simple opcodes.
https://bugs.webkit.org/show_bug.cgi?id=160928

Reviewed by Michael Saboff.

This patch also removes the unsigned int32 mod operator, which is not supported by B3 yet.

* wasm/WASMB3IRGenerator.cpp:
(JSC::WASM::toB3Op):
(JSC::WASM::B3IRGenerator::unaryOp):
* wasm/WASMFunctionParser.h:
(JSC::WASM::WASMFunctionParser<Context>::parseExpression):
* wasm/WASMOps.h:

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

3 years agoAdd support for additional networks
andersca@apple.com [Thu, 18 Aug 2016 00:46:17 +0000 (00:46 +0000)]
Add support for additional networks
https://bugs.webkit.org/show_bug.cgi?id=160951
rdar://problem/27807479

Reviewed by Sam Weinig.

Source/WebCore:

* Modules/applepay/ApplePaySession.cpp:
(WebCore::createSupportedNetworks):
(WebCore::createPaymentRequest):
(WebCore::ApplePaySession::create):
* Modules/applepay/PaymentRequest.cpp:
(WebCore::isAdditionalValidSupportedNetwork):
(WebCore::PaymentRequest::isValidSupportedNetwork):
* Modules/applepay/PaymentRequest.h:
(WebCore::PaymentRequest::supportedNetworks):
(WebCore::PaymentRequest::setSupportedNetworks):
* Modules/applepay/PaymentRequestValidator.cpp:
(WebCore::PaymentRequestValidator::validateSupportedNetworks):
* Modules/applepay/PaymentRequestValidator.h:

Source/WebKit2:

* Shared/Cocoa/WebCoreArgumentCodersCocoa.mm:
(IPC::ArgumentCoder<PaymentRequest>::decode):
(IPC::ArgumentCoder<PaymentRequest::SupportedNetworks>::encode): Deleted.
(IPC::ArgumentCoder<PaymentRequest::SupportedNetworks>::decode): Deleted.
* Shared/WebCoreArgumentCoders.h:
* UIProcess/ApplePay/cocoa/WebPaymentCoordinatorProxyCocoa.mm:
(WebKit::toAdditionalSupportedNetwork):
(WebKit::toSupportedNetwork):
(WebKit::toSupportedNetworks):
* WebProcess/ApplePay/WebPaymentCoordinator.cpp:
(WebKit::WebPaymentCoordinator::supportsVersion):

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

3 years agoWe allow assignments to const variables when in a for-in/for-of loop
commit-queue@webkit.org [Wed, 17 Aug 2016 23:57:03 +0000 (23:57 +0000)]
We allow assignments to const variables when in a for-in/for-of loop
https://bugs.webkit.org/show_bug.cgi?id=156673

Patch by JF Bastien <jfbastien@apple.com> on 2016-08-17
Reviewed by Filip Pizlo.

JSTests:

* stress/for-in-of-const.js: Added.
(expect_nothrow):
(expect_throw):
(capture):

Source/JavaScriptCore:

for-in and for-of weren't checking whether iteration variable from
parent scopes were const. Assigning to such variables should
throw, but used not to.

* bytecompiler/NodesCodegen.cpp:
(JSC::ForInNode::emitLoopHeader):
(JSC::ForOfNode::emitBytecode):

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

3 years agoUse find_library within Windows build
commit-queue@webkit.org [Wed, 17 Aug 2016 23:29:50 +0000 (23:29 +0000)]
Use find_library within Windows build
https://bugs.webkit.org/show_bug.cgi?id=160904

Patch by Don Olmstead <don.olmstead@am.sony.com> on 2016-08-17
Reviewed by Brent Fulgham.

.:

* Source/cmake/FindICU.cmake:
* Source/cmake/OptionsWin.cmake:

Source/WTF:

* wtf/CMakeLists.txt:

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

3 years ago[Win] Remove old libraries from build inputs
bfulgham@apple.com [Wed, 17 Aug 2016 23:08:26 +0000 (23:08 +0000)]
[Win] Remove old libraries from build inputs
https://bugs.webkit.org/show_bug.cgi?id=160949

Reviewed by Dean Jackson.

Modify the download script to remove the old 'icuuc.lib' and
'icuin.lib' files for Windows builds.

* Scripts/update-webkit-auxiliary-libs:

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

3 years agoWeb Inspector: Network Tab should not layout if not visible
mattbaker@apple.com [Wed, 17 Aug 2016 23:02:08 +0000 (23:02 +0000)]
Web Inspector: Network Tab should not layout if not visible
https://bugs.webkit.org/show_bug.cgi?id=160920
<rdar://problem/27876629>

Reviewed by Timothy Hatcher.

Avoid updating the current time when the Network tab is hidden.
The timer, and any debounced timer cancellations, need to be stopped
as soon as the view is hidden.

* UserInterface/Views/NetworkGridContentView.js:
(WebInspector.NetworkGridContentView.prototype.hidden):
(WebInspector.NetworkGridContentView.prototype._networkTimelineRecordAdded):
(WebInspector.NetworkGridContentView.prototype._stopUpdatingCurrentTime):
(WebInspector.NetworkGridContentView):

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

3 years agoExtra logging for crash reason
commit-queue@webkit.org [Wed, 17 Aug 2016 22:18:36 +0000 (22:18 +0000)]
Extra logging for crash reason
https://bugs.webkit.org/show_bug.cgi?id=160943

Patch by Jonathan Bedard <jbedard@apple.com> on 2016-08-17
Reviewed by Alexey Proskuryakov.

A number of tests have been erroneously marked as crashed, this should help diagnose these false crashes.

* Scripts/webkitpy/port/server_process.py:
(ServerProcess.write): Add extra logging to determine why a process has been marked as crashed.
(ServerProcess._wait_for_data_and_update_buffers_using_select): Ditto.
(ServerProcess.has_crashed): Ditto.

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

3 years agoFixed a potential bug in MarkedArgumentBuffer.
ggaren@apple.com [Wed, 17 Aug 2016 21:22:46 +0000 (21:22 +0000)]
Fixed a potential bug in MarkedArgumentBuffer.
https://bugs.webkit.org/show_bug.cgi?id=160948
<rdar://problem/27889416>

Reviewed by Oliver Hunt.

I haven't been able to produce an observable test case after some trying.

* runtime/ArgList.cpp:
(JSC::MarkedArgumentBuffer::addMarkSet): New helper function -- I broke
this out from existing code for clarity, but the behavior is the same.

(JSC::MarkedArgumentBuffer::expandCapacity): Ditto.

(JSC::MarkedArgumentBuffer::slowAppend): Always addMarkSet() on the slow
path. This is faster than the old linear scan, and I think it might
avoid cases the old scan could miss.

* runtime/ArgList.h:
(JSC::MarkedArgumentBuffer::append): Account for the case where someone
has called clear() or removeLast().

(JSC::MarkedArgumentBuffer::mallocBase): No behavior change -- but it's
clearer to test the buffers directly instead of inferring what they
might be based on capacity.

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

3 years agoWeb Inspector: Select elements in DOM hierarchy are misaligned
commit-queue@webkit.org [Wed, 17 Aug 2016 21:20:59 +0000 (21:20 +0000)]
Web Inspector: Select elements in DOM hierarchy are misaligned
https://bugs.webkit.org/show_bug.cgi?id=160885

Patch by Devin Rousso <dcrousso+webkit@gmail.com> on 2016-08-17
Reviewed by Timothy Hatcher.

* UserInterface/Views/HierarchicalPathComponent.css:
(.hierarchical-path-component > select):

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

3 years agoRemove an invalid assertion in the DFG backend's GetById emitter.
mark.lam@apple.com [Wed, 17 Aug 2016 21:00:45 +0000 (21:00 +0000)]
Remove an invalid assertion in the DFG backend's GetById emitter.
https://bugs.webkit.org/show_bug.cgi?id=160925
<rdar://problem/27248961>

Reviewed by Filip Pizlo.

JSTests:

* stress/dfg-get-by-id-should-not-assert-non-null-prediction.js: Added.

Source/JavaScriptCore:

The DFG backend's GetById assertion that the node's prediction not be SpecNone
is just plain wrong.  It assumes that we can never have a GetById node without a
type prediction, but this is not true.  The following test case proves otherwise:

    function foo() {
        "use strict";
        return --arguments["callee"];
    }

Will remove the assertion.  Nothing else needs to change as the DFG is working
correctly without the assertion.

* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):

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

3 years agoRemove a couple of unused WKSI function pointers
andersca@apple.com [Wed, 17 Aug 2016 20:22:24 +0000 (20:22 +0000)]
Remove a couple of unused WKSI function pointers
https://bugs.webkit.org/show_bug.cgi?id=160946

Reviewed by Dan Bernstein.

Source/WebCore:

* platform/mac/WebCoreSystemInterface.h:
* platform/mac/WebCoreSystemInterface.mm:

Source/WebKit/mac:

* WebCoreSupport/WebSystemInterface.mm:
(InitWebCoreSystemInterface): Deleted.

Source/WebKit2:

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

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

3 years agoMove WKSignedPublicKeyAndChallengeString into WebCore and make it proper C++
andersca@apple.com [Wed, 17 Aug 2016 19:58:00 +0000 (19:58 +0000)]
Move WKSignedPublicKeyAndChallengeString into WebCore and make it proper C++
https://bugs.webkit.org/show_bug.cgi?id=160945

Reviewed by Dan Bernstein.

Source/WebCore:

* platform/mac/SSLKeyGeneratorMac.mm:
(WebCore::getSubjectPublicKey):
(WebCore::signPublicKeyAndChallenge):
(WebCore::signedPublicKeyAndChallengeString):

Source/WTF:

* wtf/RetainPtr.h:
(WTF::RetainPtr::operator&):
Cast this to the right type.

* wtf/spi/cocoa/SecuritySPI.h:
Add new SPI.

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

3 years agoRemove CSS_IMAGE_SET feature define
antti@apple.com [Wed, 17 Aug 2016 19:56:28 +0000 (19:56 +0000)]
Remove CSS_IMAGE_SET feature define
https://bugs.webkit.org/show_bug.cgi?id=160944

Reviewed by Dean Jackson.

Source/WebCore:

This seems to be enabled everywhere already (except Mac cmake build which it keep breaking).

* css/CSSCursorImageValue.cpp:
(WebCore::CSSCursorImageValue::CSSCursorImageValue):
(WebCore::CSSCursorImageValue::cachedImage):
(WebCore::CSSCursorImageValue::cachedOrPendingImage):
* css/CSSImageSetValue.cpp:
(WebCore::CSSImageSetValue::cloneForCSSOM):
* css/CSSImageSetValue.h:
* css/CSSParser.cpp:
(WebCore::CSSParser::parseVariableDependentValue):
(WebCore::isImageSetFunctionValue):
(WebCore::CSSParser::parseValue):
(WebCore::CSSParser::parseContent):
(WebCore::CSSParser::parseFillImage):
(WebCore::CSSParser::parseBorderImage):
(WebCore::CSSParser::parseImageResolution):
(WebCore::CSSParser::parseImageSet):
* css/CSSParser.h:
* css/CSSToStyleMap.cpp:
(WebCore::CSSToStyleMap::mapNinePieceImage):
* css/CSSValue.cpp:
(WebCore::CSSValue::traverseSubresources):
(WebCore::CSSValue::equals):
(WebCore::CSSValue::cssText):
(WebCore::CSSValue::destroy):
(WebCore::CSSValue::cloneForCSSOM):
* css/CSSValue.h:
(WebCore::CSSValue::isImageGeneratorValue):
(WebCore::CSSValue::isGradientValue):
(WebCore::CSSValue::isNamedImageValue):
(WebCore::CSSValue::isImageSetValue):
(WebCore::CSSValue::isImageValue):
(WebCore::CSSValue::isInheritedValue):
* css/StyleBuilderConverter.h:
(WebCore::isImageShape):
* css/StyleBuilderCustom.h:
(WebCore::StyleBuilderCustom::applyValueContent):
* css/StyleResolver.cpp:
(WebCore::StyleResolver::styleImage):
(WebCore::StyleResolver::generatedOrPendingFromValue):
(WebCore::StyleResolver::setOrPendingFromValue):
(WebCore::StyleResolver::cursorOrPendingFromValue):
* css/StyleResolver.h:
(WebCore::StyleResolver::applyPropertyToRegularStyle):
* css/makeprop.pl:
(generateFillLayerPropertyValueSetter):
* rendering/style/StyleCachedImage.cpp:
(WebCore::StyleCachedImage::cssValue):
* rendering/style/StylePendingImage.h:
* style/StylePendingResources.cpp:
(WebCore::Style::loadPendingImage):

Source/WTF:

* wtf/FeatureDefines.h:

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

3 years ago[Cocoa] -[NSString isEqualToString:] returns NO for any WKNSString argument
mitz@apple.com [Wed, 17 Aug 2016 19:19:05 +0000 (19:19 +0000)]
[Cocoa] -[NSString isEqualToString:] returns NO for any WKNSString argument
https://bugs.webkit.org/show_bug.cgi?id=160938
<rdar://problem/27876652>

Reviewed by Anders Carlsson.

Source/WebKit2:

-[NSString isEqualToString:] calls an internal NSObject method on its argument, which
NSString subclasses override to return YES, but WKObject does not override and does not
forward to its target NSString.

To fix this issue and other similar issues, we make WKObject a root class instead of an
NSObject subclass.

Test: TestWebKitAPI/Tests/WebKit2Cocoa/WKObject.mm

* Platform/spi/Cocoa/objcSPI.h: Added.

* Shared/Cocoa/WKObject.h: Make WKObject a root class instead of inhereting from NSObject.

* Shared/Cocoa/WKObject.mm:
(+[WKObject class]): Return self.
(-[WKObject allowsWeakReference]): Added. Called by the Objective-C runtime.
(-[WKObject retainWeakReference]): Ditto.
(-[WKObject hash]): If we don’t have a target, return our address.
(-[WKObject superclass]): Implement this NSObject protocol method.
(-[WKObject class]): Ditto.
(-[WKObject self]): Ditto.
(-[WKObject performSelector:]): Ditto.
(-[WKObject performSelector:withObject:]): Ditto.
(-[WKObject performSelector:withObject:withObject:]): Ditto.
(-[WKObject isProxy]): Ditto.
(-[WKObject respondsToSelector:]): Changed to not call super.
(-[WKObject conformsToProtocol:]): Ditto.
(-[WKObject description]): Ditto.
(-[WKObject retain]): Implement this NSObject protocol method.
(-[WKObject release]): Ditto.
(-[WKObject autorelease]): Ditto.
(-[WKObject retainCount]): Ditto.
(-[WKObject zone]): Ditto.
(-[WKObject dealloc]): Deleted.
(-[WKObject classForCoder]): Deleted.
(-[WKObject classForKeyedArchiver]): Deleted.
(-[WKObject _cfTypeID]): Deleted.

* WebKit2.xcodeproj/project.pbxproj: Added reference to new file.

Tools:

* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit2Cocoa/WKObject.mm: Added.
(TestWebKitAPI::TEST):

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

3 years agoTry to fix CMake build.
antti@apple.com [Wed, 17 Aug 2016 18:15:58 +0000 (18:15 +0000)]
Try to fix CMake build.

* rendering/style/StyleCachedImage.cpp:
(WebCore::StyleCachedImage::cssValue):

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