Timeline



Aug 20, 2016:

10:21 PM Changeset in webkit [204690] by Gyuyoung Kim
  • 8 edits in trunk/Source/WebKit2

Unreviewed EFL build fix since r204668

r204668 changed MessageDecoder with Decoder though, MessageDecoder remained
in EFL specific files.

  • UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h:
  • UIProcess/WebVibrationProxy.h:
  • WebProcess/Battery/WebBatteryManager.h:
  • WebProcess/WebPage/AcceleratedDrawingArea.cpp:

(WebKit::AcceleratedDrawingArea::didReceiveCoordinatedLayerTreeHostMessage):

  • WebProcess/WebPage/AcceleratedDrawingArea.h:
  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
  • WebProcess/WebPage/LayerTreeHost.h:
8:26 PM Changeset in webkit [204689] by commit-queue@webkit.org
  • 1 edit
    1 delete in trunk/Tools

[EFL] Remove unnecessary a patch to mute ecore warnings
https://bugs.webkit.org/show_bug.cgi?id=160997

Patch by Gyuyoung Kim <gyuyoung.kim@navercorp.com> on 2016-08-20
Reviewed by Darin Adler.

There is no warning messages during the layout test and perf test
after bumping efl version from 1.17 to 1.18. Remove it.

  • efl/patches/ecore_remove_warnings.patch: Removed.
8:06 PM Changeset in webkit [204688] by weinig@apple.com
  • 2 edits in trunk/Source/WebCore

Fix the build.

  • dom/UIEvent.h:
7:21 PM Changeset in webkit [204687] by Darin Adler
  • 74 edits in trunk/Source/WebCore

Removed Objective-C specific attributes from IDL, made conditionals more consistent
https://bugs.webkit.org/show_bug.cgi?id=160900

Reviewed by Sam Weinig.

Removed all Objective-C-specific attributes from all the various IDL files where
they were used. Except, oops, Sam already did that, and so everything just merged!
Now that Objective-C is gone, made all the conditionals be based on LANGUAGE_GOBJECT
specifically. Later we should cut these down because many were not actually needed
for the GObject bindings, actually only for Objective-C. Also made the style of
conditional consistent. Also re-sorted attributes in alphabetical order in many cases
and made formatting more consistent without fancy indentation. Also removed old comments
that tried to document where various operations and attributes were defined; it's not
helpful to track "this was part of DOM level 2" at this point. Also fixed a variety of
types to explicitly state the values are nullable in cases where the generated code
is currently not affected by that; mostly read-only attribute types.

  • Modules/mediasession/HTMLMediaElementMediaSession.idl:
  • Modules/mediastream/HTMLMediaElementMediaStream.idl:
  • animation/AnimationTimeline.idl:
  • animation/DocumentAnimation.idl:
  • bindings/scripts/IDLAttributes.txt:
  • css/CSSMediaRule.idl:
  • css/CSSPrimitiveValue.idl:
  • css/CSSRule.idl:
  • css/CSSStyleDeclaration.idl:
  • css/CSSStyleSheet.idl:
  • css/CSSValue.idl:
  • css/RGBColor.idl:
  • css/StyleSheet.idl:
  • dom/CharacterData.idl:
  • dom/DOMCoreException.idl:
  • dom/DOMImplementation.idl:
  • dom/Document.idl:
  • dom/DocumentType.idl:
  • dom/Element.idl:
  • dom/Event.idl:
  • dom/EventListener.idl:
  • dom/EventTarget.idl:
  • dom/KeyboardEvent.idl:
  • dom/MessageEvent.idl:
  • dom/MessagePort.idl:
  • dom/MouseEvent.idl:
  • dom/MutationEvent.idl:
  • dom/NamedNodeMap.idl:
  • dom/Node.idl:
  • dom/NodeFilter.idl:
  • dom/NonElementParentNode.idl:
  • dom/Range.idl:
  • dom/Slotable.idl:
  • dom/UIEvent.idl:
  • dom/WheelEvent.idl:
  • fileapi/FileException.idl:
  • html/DOMTokenList.idl:
  • html/HTMLAnchorElement.idl:
  • html/HTMLAppletElement.idl:
  • html/HTMLCollection.idl:
  • html/HTMLDocument.idl:
  • html/HTMLElement.idl:
  • html/HTMLEmbedElement.idl:
  • html/HTMLFormElement.idl:
  • html/HTMLInputElement.idl:
  • html/HTMLMediaElement.idl:
  • html/HTMLOptionElement.idl:
  • html/HTMLOptionsCollection.idl:
  • html/HTMLSelectElement.idl:
  • html/HTMLTableColElement.idl:
  • html/HTMLVideoElement.idl:
  • html/ImageData.idl:
  • html/URLUtils.idl:
  • html/track/TextTrack.idl:
  • page/AbstractView.idl:
  • page/DOMSelection.idl:
  • page/DOMWindow.idl:
  • page/Location.idl:
  • svg/SVGDocument.idl:
  • svg/SVGElement.idl:
  • svg/SVGException.idl:
  • svg/SVGExternalResourcesRequired.idl:
  • svg/SVGFilterPrimitiveStandardAttributes.idl:
  • svg/SVGFitToViewBox.idl:
  • svg/SVGPathSeg.idl:
  • svg/SVGTests.idl:
  • svg/SVGURIReference.idl:
  • svg/SVGZoomAndPan.idl:
  • workers/DedicatedWorkerGlobalScope.idl:
  • workers/Worker.idl:
  • workers/WorkerGlobalScope.idl:
  • xml/XPathException.idl:
  • xml/XPathExpression.idl:
  • xml/XPathNSResolver.idl:

See above for summary of changes.

6:43 PM Changeset in webkit [204686] by BJ Burg
  • 2 edits in trunk/Source/JavaScriptCore

Remote Inspector: some methods don't need to be marked virtual anymore
https://bugs.webkit.org/show_bug.cgi?id=161033

Reviewed by Darin Adler.

This probably happened when this code was last refactored and moved around.

  • inspector/remote/RemoteConnectionToTarget.h:
6:09 PM Changeset in webkit [204685] by weinig@apple.com
  • 35 edits in trunk/Source/WebCore

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:
5:54 PM Changeset in webkit [204684] by weinig@apple.com
  • 37 edits in trunk/Source/WebCore

Roll out r204683.

4:43 PM Changeset in webkit [204683] by weinig@apple.com
  • 37 edits in trunk/Source/WebCore

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:
3:00 PM Changeset in webkit [204682] by mitz@apple.com
  • 2 edits in trunk/Source/WebKit2

[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.
2:40 PM Changeset in webkit [204681] by weinig@apple.com
  • 28 edits
    1 delete in trunk/Source/WebCore

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.
10:29 AM Changeset in webkit [204680] by Simon Fraser
  • 7 edits in trunk/Tools

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

7:44 AM Changeset in webkit [204679] by weinig@apple.com
  • 32 edits
    1 delete in trunk

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:
4:39 AM WebKitGTK/Gardening/Calendar edited by jfernandez@igalia.com
(diff)
2:38 AM Changeset in webkit [204678] by jfernandez@igalia.com
  • 20 edits in trunk/Source/WebKit2

[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:
1:04 AM Changeset in webkit [204677] by Yusuke Suzuki
  • 2 edits in trunk/Source/WebKit2

Unreviewed, build fix attempt after r204665 and r204668.

  • PlatformGTK.cmake:

Aug 19, 2016:

9:53 PM Changeset in webkit [204676] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebKit2

Another build fix attempt after r204665 and r204668.

  • CMakeLists.txt:
9:44 PM Changeset in webkit [204675] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebKit2

GTK+ / EFL build fix attempt after r204665.

  • CMakeLists.txt:
8:10 PM Changeset in webkit [204674] by Chris Dumez
  • 3 edits in trunk/LayoutTests/imported/w3c

Unreviewed, roll out part of r204662 to see if it addresses flakiness.

  • web-platform-tests/html/dom/interfaces.html:
7:59 PM Changeset in webkit [204673] by ap@apple.com
  • 4 edits in branches/safari-602.1.50.1-branch/Tools

Merge r204656 and r204660.

2016-08-19 Alexey Proskuryakov <ap@apple.com>

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:
7:53 PM Changeset in webkit [204672] by Ryan Haddad
  • 7 edits in trunk/Tools

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

7:51 PM Changeset in webkit [204671] by ap@apple.com
  • 4 edits in branches/safari-602-branch/Tools

Merge r204656 and r204660.

2016-08-19 Alexey Proskuryakov <ap@apple.com>

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:
7:00 PM Changeset in webkit [204670] by commit-queue@webkit.org
  • 20 edits
    1 add in trunk

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

5:45 PM Changeset in webkit [204669] by Chris Dumez
  • 10 edits
    2 moves
    1 add in trunk

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:

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:
5:11 PM Changeset in webkit [204668] by andersca@apple.com
  • 266 edits
    2 moves
    2 deletes in trunk/Source/WebKit2

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:
4:09 PM Changeset in webkit [204667] by Alan Bujtas
  • 7 edits in trunk/Source/WebCore

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:
3:55 PM Changeset in webkit [204666] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Update Xcode project.

  • WebKit2.xcodeproj/project.pbxproj:
3:52 PM Changeset in webkit [204665] by andersca@apple.com
  • 219 edits
    2 moves
    2 deletes in trunk/Source/WebKit2

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:
3:52 PM Changeset in webkit [204664] by dino@apple.com
  • 6 edits
    1 add in trunk

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:
3:49 PM Changeset in webkit [204663] by commit-queue@webkit.org
  • 3 edits
    1 add in trunk

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 <Joseph Pecoraro> 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):

3:44 PM Changeset in webkit [204662] by Chris Dumez
  • 3 edits in trunk/LayoutTests/imported/w3c

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:
3:42 PM Changeset in webkit [204661] by Joseph Pecoraro
  • 10 edits
    5 deletes in trunk/Source

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.
3:24 PM Changeset in webkit [204660] by ap@apple.com
  • 2 edits in trunk/Tools

Build fix for non-USE_SIM_SERVICE_CONTEXT builds

  • LayoutTestRelay/LayoutTestRelay/main.m: (main):
3:13 PM Changeset in webkit [204659] by Simon Fraser
  • 7 edits in trunk/Tools

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

3:13 PM Changeset in webkit [204658] by mmaxfield@apple.com
  • 4 edits in trunk/Source/WebCore

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

3:09 PM Changeset in webkit [204657] by Ryan Haddad
  • 2 edits
    1 add in branches/safari-602.1.50.1-branch/LayoutTests

Test gardening for rdar://problem/27595142.

3:03 PM Changeset in webkit [204656] by ap@apple.com
  • 4 edits in trunk/Tools

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:
2:55 PM Changeset in webkit [204655] by Ryan Haddad
  • 2 edits in trunk/Source/WebCore

Attempt to fix the Windows build after r204652.

Unreviewed build fix.

  • dom/DOMAllInOne.cpp:
2:47 PM Changeset in webkit [204654] by mmaxfield@apple.com
  • 8 edits in trunk/Source/WebCore

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:
2:40 PM Changeset in webkit [204653] by mmaxfield@apple.com
  • 4 edits in trunk/Source/WebCore

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:
2:02 PM Changeset in webkit [204652] by rniwa@webkit.org
  • 10 edits
    2 moves in trunk/Source/WebCore

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

1:40 PM Changeset in webkit [204651] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

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:
1:33 PM Changeset in webkit [204650] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

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:
1:15 PM Changeset in webkit [204649] by Lucas Forschler
  • 2 edits in trunk/Tools

Remove Yosemite Leaks bot after http://trac.webkit.org/projects/webkit/changeset/204629

Reviewed by Kocsen Chung.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js:

(WebKitBuildbot):

12:44 PM Changeset in webkit [204648] by Chris Dumez
  • 9 edits
    7 deletes in trunk

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:

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:
12:33 PM Changeset in webkit [204647] by Chris Dumez
  • 4 edits in trunk

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

<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:
12:33 PM Changeset in webkit [204646] by Nikita Vasilyev
  • 1 edit
    1 add in trunk/Source/WebInspectorUI

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.
12:23 PM Changeset in webkit [204645] by n_wang@apple.com
  • 5 edits in trunk

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:
12:12 PM WebKitGTK/Gardening/Calendar edited by clopez@igalia.com
(diff)
12:07 PM Changeset in webkit [204644] by clopez@igalia.com
  • 7 edits
    5 adds in trunk/LayoutTests

[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).
11:58 AM Changeset in webkit [204643] by ap@apple.com
  • 2 edits in trunk/Tools

Partial revert of r203811 - this key is not needed.

  • LayoutTestRelay/LayoutTestRelay/LTRelayController.m: (-[LTRelayController installApp]):
11:41 AM Changeset in webkit [204642] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebInspectorUI

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 <Devin Rousso> 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):

11:30 AM Changeset in webkit [204641] by commit-queue@webkit.org
  • 11 edits
    2 adds
    3 deletes in trunk

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.
11:24 AM Changeset in webkit [204640] by dbates@webkit.org
  • 3 edits in trunk/Tools

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:
11:24 AM Changeset in webkit [204639] by Ryan Haddad
  • 2 edits
    1 add in branches/safari-602.1.50.0-branch/LayoutTests

Test gardening for rdar://problem/27595142.

11:21 AM Changeset in webkit [204638] by eric.carlson@apple.com
  • 3 edits in trunk/Source/WebCore

[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.

11:10 AM Changeset in webkit [204637] by Simon Fraser
  • 33 edits in trunk/Source

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.

10:34 AM Changeset in webkit [204636] by bshafiei@apple.com
  • 1 copy in tags/Safari-601.1.46.146

New tag.

10:10 AM Changeset in webkit [204635] by pvollan@apple.com
  • 2 edits in trunk

[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:
10:07 AM Changeset in webkit [204634] by dbates@webkit.org
  • 6 edits in trunk/WebKitLibraries

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:
9:41 AM Changeset in webkit [204633] by pvollan@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

[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:
9:08 AM Changeset in webkit [204632] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Unskip tests that now pass on ios-simulator.

Unreviewed test gardening.

  • platform/ios-simulator-wk2/TestExpectations:
8:46 AM Changeset in webkit [204631] by Chris Dumez
  • 3 edits in trunk/Source/WebCore

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

8:36 AM Changeset in webkit [204630] by Chris Dumez
  • 7 edits in trunk

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:

No new tests, rebaselined existing tests.

  • dom/Event.h:

(WebCore::Event::resetPropagationFlags):

  • dom/EventDispatcher.cpp:

(WebCore::EventDispatcher::dispatchEvent):

  • dom/EventTarget.cpp:

(WebCore::EventTarget::dispatchEvent):

12:26 AM Changeset in webkit [204629] by Lucas Forschler
  • 2 edits in trunk/Tools

Remove Yosemite Leaks bot from config.json

Reviewed by Alexey Proskuryakov.

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

Aug 18, 2016:

10:42 PM Changeset in webkit [204628] by bshafiei@apple.com
  • 3 edits in branches/safari-601.1.46-branch/Source/JavaScriptCore

Merge r204572. rdar://problem/27889416

8:07 PM Changeset in webkit [204627] by dbates@webkit.org
  • 7 edits in trunk/Source

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:
7:53 PM Changeset in webkit [204626] by weinig@apple.com
  • 2 edits in trunk/Source/WebCore

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:
7:44 PM Changeset in webkit [204625] by Hunseop Jeong
  • 2 edits in trunk/Source/WebKit2

Unreviewed, Fix CMake build after r204614

  • PlatformMac.cmake:
7:40 PM Changeset in webkit [204624] by Chris Dumez
  • 19 edits in trunk

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:

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:
7:37 PM Changeset in webkit [204623] by Chris Dumez
  • 7 edits in trunk/LayoutTests/imported/w3c

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:
6:41 PM Changeset in webkit [204622] by bshafiei@apple.com
  • 1 copy in tags/Safari-602.2.2

New tag.

6:07 PM Changeset in webkit [204621] by Chris Dumez
  • 3 edits in trunk/Source/WebKit2

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

6:01 PM Changeset in webkit [204620] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

Binding NULL pointer to reference in WebCore::RenderObject
https://bugs.webkit.org/show_bug.cgi?id=160830

Patch by Jonathan Bedard <Jonathan Bedard> 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.

5:55 PM Changeset in webkit [204619] by rniwa@webkit.org
  • 3 edits in trunk/Source/WebCore

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

5:50 PM Changeset in webkit [204618] by dino@apple.com
  • 7 edits
    2 adds in trunk

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.
5:12 PM Changeset in webkit [204617] by andersca@apple.com
  • 13 edits in trunk/Source

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:
4:21 PM Changeset in webkit [204616] by bshafiei@apple.com
  • 1 copy in tags/Safari-602.1.50.0.5

New tag.

4:15 PM Changeset in webkit [204615] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebCore

Building test fix after r204611.

  • bindings/scripts/test/TestObj.idl:
4:11 PM Changeset in webkit [204614] by mitz@apple.com
  • 5 edits
    3 adds in trunk

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

4:03 PM Changeset in webkit [204613] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

Unreviewed, nit fix after r204605 reported by Darin.

  • platform/text/TextCodecICU.cpp:
3:55 PM Changeset in webkit [204612] by mark.lam@apple.com
  • 3 edits
    1 add in trunk

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

3:19 PM Changeset in webkit [204611] by rniwa@webkit.org
  • 13 edits
    4 adds in trunk

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.
2:19 PM Changeset in webkit [204610] by Beth Dakin
  • 4 edits in trunk/Source/WebCore

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:
2:11 PM Changeset in webkit [204609] by bshafiei@apple.com
  • 3 edits in branches/safari-602.1.50.0-branch/Source/JavaScriptCore

Merge r204572. rdar://problem/27889416

1:53 PM Changeset in webkit [204608] by bshafiei@apple.com
  • 5 edits in branches/safari-602-branch/Source

Versioning.

1:25 PM Changeset in webkit [204607] by mark.lam@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Add LLINT probe() macro for X86_64.
https://bugs.webkit.org/show_bug.cgi?id=160968

Reviewed by Geoffrey Garen.

  • llint/LowLevelInterpreter.asm:
12:55 PM Changeset in webkit [204606] by aestes@apple.com
  • 3 edits in trunk/Source/WebKit2

[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:
12:53 PM Changeset in webkit [204605] by Chris Dumez
  • 18 edits in trunk

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

  1. 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:

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:
12:04 PM Changeset in webkit [204604] by aestes@apple.com
  • 2 edits in trunk/Source/WebKit2

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.

11:59 AM Changeset in webkit [204603] by aestes@apple.com
  • 15 edits in trunk/Source

[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.
11:06 AM Changeset in webkit [204602] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Land test expectations for rdar://problem/27723718.

  • platform/mac-wk1/TestExpectations:
11:05 AM Changeset in webkit [204601] by eric.carlson@apple.com
  • 13 edits
    2 adds in trunk

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.
10:54 AM Changeset in webkit [204600] by mark.lam@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

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.

10:26 AM Changeset in webkit [204599] by achristensen@apple.com
  • 3 edits in trunk/Source/WebCore

Fix WinCairo build after r204592.

  • PlatformAppleWin.cmake:
  • PlatformWin.cmake:
10:23 AM Changeset in webkit [204598] by bshafiei@apple.com
  • 5 edits in branches/safari-602.1.50.0-branch/Source

Versioning.

10:17 AM Changeset in webkit [204597] by sbarati@apple.com
  • 5 edits in trunk/Source/JavaScriptCore

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

9:10 AM Changeset in webkit [204596] by Ryan Haddad
  • 3 edits in trunk/LayoutTests

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:
9:06 AM Changeset in webkit [204595] by eric.carlson@apple.com
  • 10 edits in trunk/Source/WebCore

[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.

6:58 AM Changeset in webkit [204594] by commit-queue@webkit.org
  • 28 edits
    10 copies
    6 adds in trunk

[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.
2:23 AM Changeset in webkit [204593] by pvollan@apple.com
  • 2 edits in trunk/LayoutTests

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:

Aug 17, 2016:

11:38 PM Changeset in webkit [204592] by mmaxfield@apple.com
  • 10 edits
    3 adds in trunk

[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:
11:22 PM Changeset in webkit [204591] by benjamin@webkit.org
  • 15 edits
    2 adds in trunk

[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.
10:37 PM Changeset in webkit [204590] by bshafiei@apple.com
  • 11 edits in branches/safari-602-branch/Source

Merge r204587. rdar://problem/27807479

8:07 PM Changeset in webkit [204589] by Chris Dumez
  • 4 edits in trunk/Source/WebCore

[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:
6:35 PM Changeset in webkit [204588] by keith_miller@apple.com
  • 4 edits in trunk/Source/JavaScriptCore

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:
5:46 PM Changeset in webkit [204587] by andersca@apple.com
  • 11 edits in trunk/Source

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

4:57 PM Changeset in webkit [204586] by commit-queue@webkit.org
  • 3 edits
    1 add in trunk

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

4:54 PM Changeset in webkit [204585] by bshafiei@apple.com
  • 5 edits in branches/safari-601-branch/Source

Versioning.

4:48 PM Changeset in webkit [204584] by bshafiei@apple.com
  • 3 edits in branches/safari-602-branch/Source/WebKit/win

Merge r204575. rdar://problem/27850667

4:46 PM Changeset in webkit [204583] by bshafiei@apple.com
  • 3 edits in branches/safari-602-branch/Source/JavaScriptCore

Merge r204572. rdar://problem/27889416

4:44 PM Changeset in webkit [204582] by bshafiei@apple.com
  • 5 edits in branches/safari-602-branch/Source

Versioning.

4:29 PM Changeset in webkit [204581] by commit-queue@webkit.org
  • 5 edits in trunk

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:
4:08 PM Changeset in webkit [204580] by Brent Fulgham
  • 2 edits in trunk/Tools

[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:
4:02 PM Changeset in webkit [204579] by Matt Baker
  • 2 edits in trunk/Source/WebInspectorUI

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

3:24 PM Changeset in webkit [204578] by bshafiei@apple.com
  • 1 copy in tags/Safari-602.1.50.1.3

New tag.

3:18 PM Changeset in webkit [204577] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

Extra logging for crash reason
https://bugs.webkit.org/show_bug.cgi?id=160943

Patch by Jonathan Bedard <Jonathan Bedard> 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.

3:04 PM Changeset in webkit [204576] by bshafiei@apple.com
  • 1 copy in tags/Safari-602.1.50.0.4

New tag.

3:02 PM Changeset in webkit [204575] by bshafiei@apple.com
  • 3 edits in branches/safari-602.1.50.0-branch/Source/WebKit/win

Merge patch for rdar://problem/27850667.

2:31 PM Changeset in webkit [204574] by bshafiei@apple.com
  • 3 edits in branches/safari-602.1.50.1-branch/Source/JavaScriptCore

Merge r204572. rdar://problem/27889416

2:24 PM Changeset in webkit [204573] by bshafiei@apple.com
  • 5 edits in branches/safari-602.1.50.0-branch/Source

Versioning.

2:22 PM Changeset in webkit [204572] by ggaren@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

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.

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

Web Inspector: Select elements in DOM hierarchy are misaligned
https://bugs.webkit.org/show_bug.cgi?id=160885

Patch by Devin Rousso <Devin Rousso> on 2016-08-17
Reviewed by Timothy Hatcher.

  • UserInterface/Views/HierarchicalPathComponent.css:

(.hierarchical-path-component > select):

2:00 PM Changeset in webkit [204570] by mark.lam@apple.com
  • 4 edits
    1 add in trunk

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 --argumentscallee?;

}

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

1:41 PM Changeset in webkit [204569] by bshafiei@apple.com
  • 5 edits in branches/safari-602.1.50.1-branch/Source

Versioning.

1:22 PM Changeset in webkit [204568] by andersca@apple.com
  • 7 edits in trunk/Source

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.

12:58 PM Changeset in webkit [204567] by andersca@apple.com
  • 5 edits in trunk/Source

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.

12:56 PM Changeset in webkit [204566] by Antti Koivisto
  • 24 edits in trunk/Source

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:
12:19 PM Changeset in webkit [204565] by mitz@apple.com
  • 6 edits
    2 adds in trunk

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

11:15 AM Changeset in webkit [204564] by Antti Koivisto
  • 2 edits in trunk/Source/WebCore

Try to fix CMake build.

  • rendering/style/StyleCachedImage.cpp:

(WebCore::StyleCachedImage::cssValue):

11:01 AM Changeset in webkit [204563] by Chris Fleizach
  • 7 edits
    2 adds in trunk

AX: Support abbreviations in iOS
https://bugs.webkit.org/show_bug.cgi?id=160907

Reviewed by Joanmarie Diggs.

Source/WebCore:

Expose the expandedTextValue attribute for iOS, so that VoiceOver can speak abbreviations correctly.

Test: accessibility/ios-simulator/abbreviation.html

  • accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:

(-[WebAccessibilityObjectWrapper textMarkersForRange:]):
(-[WebAccessibilityObjectWrapper accessibilityExpandedTextValue]):
(-[WebAccessibilityObjectWrapper accessibilityIdentifier]):

  • accessibility/mac/WebAccessibilityObjectWrapperMac.mm:

(AXAttributeStringSetSpelling):
(AXAttributeStringSetExpandedTextValue):
(AXAttributedStringAppendText):
(AXAttributeStringSetexpandedTextValue): Deleted.

Tools:

  • DumpRenderTree/ios/AccessibilityUIElementIOS.mm:

(AccessibilityUIElement::stringAttributeValue):

  • WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:

(WTR::AccessibilityUIElement::stringAttributeValue):

LayoutTests:

  • accessibility/ios-simulator/abbreviation-expected.txt: Added.
  • accessibility/ios-simulator/abbreviation.html: Added.
10:48 AM Changeset in webkit [204562] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebInspectorUI

Web Inspector: rapid updates to status icons in Visual Styles sidebar causes flicker
https://bugs.webkit.org/show_bug.cgi?id=160887

Patch by Devin Rousso <Devin Rousso> on 2016-08-17
Reviewed by Timothy Hatcher.

  • UserInterface/Views/VisualStyleBasicInput.js:

(WebInspector.VisualStyleBasicInput):

  • UserInterface/Views/VisualStyleColorPicker.js:

(WebInspector.VisualStyleColorPicker):

  • UserInterface/Views/VisualStyleNumberInputBox.js:

(WebInspector.VisualStyleNumberInputBox):
(WebInspector.VisualStyleNumberInputBox.prototype._valueNumberInputKeyDown):

  • UserInterface/Views/VisualStylePropertyNameInput.js:

(WebInspector.VisualStylePropertyNameInput):

10:12 AM Changeset in webkit [204561] by mitz@apple.com
  • 8 copies
    1 add in releases/Apple/Safari Technology Preview 11

Added a tag for Safari Technology Preview release 11.

9:37 AM Changeset in webkit [204560] by Antti Koivisto
  • 14 edits
    2 deletes in trunk/Source/WebCore

Remove StyleCachedImageSet
https://bugs.webkit.org/show_bug.cgi?id=160941

Reviewed by Simon Fraser.

It is almost the same as StyleCachedImage. Just use that.

  • CMakeLists.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • css/CSSCursorImageValue.cpp:

(WebCore::CSSCursorImageValue::cachedImage):

  • css/CSSImageSetValue.cpp:

(WebCore::CSSImageSetValue::detachPendingImage):
(WebCore::CSSImageSetValue::~CSSImageSetValue):
(WebCore::CSSImageSetValue::fillImageSet):
(WebCore::CSSImageSetValue::bestImageForScaleFactor):
(WebCore::CSSImageSetValue::bestFitImage):
(WebCore::CSSImageSetValue::cachedOrPendingImageSet):
(WebCore::CSSImageSetValue::customCSSText):
(WebCore::CSSImageSetValue::traverseSubresources):
(WebCore::CSSImageSetValue::cachedImageSet): Deleted.

  • css/CSSImageSetValue.h:

(WebCore::CSSImageSetValue::create):
(WebCore::CSSImageSetValue::compareByScaleFactor):

  • css/StyleResolver.cpp:
  • page/EventHandler.cpp:
  • rendering/style/ShapeValue.cpp:

(WebCore::ShapeValue::isImageValid):

  • rendering/style/StyleAllInOne.cpp:
  • rendering/style/StyleCachedImage.cpp:

(WebCore::StyleCachedImage::StyleCachedImage):

Add scale factor and CSSImageSetValue backpointer, the only additional features of StyleCachedImageSet.

(WebCore::StyleCachedImage::cssValue):
(WebCore::StyleCachedImage::imageSize):
(WebCore::StyleCachedImage::imageHasRelativeWidth):

  • rendering/style/StyleCachedImage.h:
  • rendering/style/StyleCachedImageSet.cpp: Removed.
  • rendering/style/StyleCachedImageSet.h: Removed.
  • rendering/style/StyleImage.h:

(WebCore::StyleImage::isCachedImage):
(WebCore::StyleImage::isPendingImage):
(WebCore::StyleImage::isGeneratedImage):
(WebCore::StyleImage::StyleImage):
(WebCore::StyleImage::isCachedImageSet): Deleted.

  • style/StylePendingResources.cpp:

(WebCore::Style::loadPendingImage):

7:59 AM Changeset in webkit [204559] by commit-queue@webkit.org
  • 5 edits in trunk

[EFL] Bump efl version from 1.17 to 1.18
https://bugs.webkit.org/show_bug.cgi?id=160899

Patch by Gyuyoung Kim <gyuyoung.kim@navercorp.com> on 2016-08-17
Reviewed by Antonio Gomes.

.:

  • Source/cmake/OptionsEfl.cmake: Update ewebkit version to 1.18.0.

Tools:

To use efl-1.18, EFL port needs to update install dependencies as well.

  • efl/install-dependencies:
  • efl/jhbuild.modules:
7:39 AM Changeset in webkit [204558] by pvollan@apple.com
  • 4 edits
    1 add in trunk

[Win] Add tests for linked fonts.
https://bugs.webkit.org/show_bug.cgi?id=160898

Reviewed by Brent Fulgham.

Add tests for https://trac.webkit.org/changeset/204502.

Source/WebCore:

  • platform/graphics/win/FontCacheWin.cpp:

(WebCore::appendLinkedFonts):
(WebCore::getLinkedFonts):

Tools:

  • TestWebKitAPI/PlatformWin.cmake:
  • TestWebKitAPI/Tests/WebCore/win/LinkedFonts.cpp: Added.

(TestWebKitAPI::TEST):

4:12 AM Changeset in webkit [204557] by Hunseop Jeong
  • 2 edits in trunk/Source/WebKit2

[EFL] Fix test_ewk2_view after r203612
https://bugs.webkit.org/show_bug.cgi?id=160937

Reviewed by Gyuyoung Kim.

Default parameter values for window.alert() / prompt() / confirm() was
changed from "undefined" to the empty string after r203612.

  • UIProcess/API/efl/tests/test_ewk2_view.cpp:

(TEST_F):

4:07 AM Changeset in webkit [204556] by Carlos Garcia Campos
  • 5 edits in trunk/Source/WebCore

Unreviewed. Fix GObject DOM bindings API break after r204449, r204450 and r204451.

Attributes designMode, embeds, plugins, scripts and compatMode have been moved from HTMLDocument to Document.

  • bindings/gobject/WebKitDOMDeprecated.cpp:

(webkit_dom_html_document_get_design_mode):
(webkit_dom_html_document_set_design_mode):
(webkit_dom_html_document_get_compat_mode):
(webkit_dom_html_document_get_embeds):
(webkit_dom_html_document_get_plugins):
(webkit_dom_html_document_get_scripts):

  • bindings/gobject/WebKitDOMDeprecated.h:
  • bindings/gobject/WebKitDOMDeprecated.symbols:
  • bindings/gobject/webkitdom.symbols:
1:50 AM Changeset in webkit [204555] by Carlos Garcia Campos
  • 6 edits in trunk/Source/WebCore

Unreviewed. Fix GObject DOM bindings API break after r204312.

HTMLInputElement capture attribute now returns the actual capture value, instead of whether it's present or
not. This patch renames webkit_dom_html_input_element_get_capture as
webkit_dom_html_input_element_get_capture_type and deprecates webkit_dom_html_input_element_get_capture.

  • bindings/gobject/WebKitDOMDeprecated.cpp:

(webkit_dom_html_input_element_get_capture):

  • bindings/gobject/WebKitDOMDeprecated.h:
  • bindings/gobject/WebKitDOMDeprecated.symbols:
  • bindings/gobject/webkitdom.symbols:
  • bindings/scripts/CodeGeneratorGObject.pm:

(GenerateProperty):
(GetEffectiveFunctionName):

Aug 16, 2016:

10:48 PM Changeset in webkit [204554] by Simon Fraser
  • 3 edits
    2 adds in trunk

[iOS WK2] Don't throw touchMove events on the floor
https://bugs.webkit.org/show_bug.cgi?id=160935

Reviewed by Tim Horton.

Source/WebKit2:

EventDispatcher claimed to coalesce touchMove events, but actually threw away any
touchMove if there was one in the queue when the next non-move event came along.

Fix to strictly coalesce touchMove events, so a start/move/end stream always fires
a move event. This is necessary for move-based interaction to work in testing,
for example the added range slider test.

Test: fast/forms/ios/drag-range-thumb.html

  • WebProcess/WebPage/EventDispatcher.cpp:

(WebKit::EventDispatcher::touchEvent):

LayoutTests:

Test for range slider interaction with synthesized touch events.

  • fast/forms/ios/drag-range-thumb-expected.txt: Added.
  • fast/forms/ios/drag-range-thumb.html: Added.
9:42 PM Changeset in webkit [204553] by rniwa@webkit.org
  • 11 edits
    2 moves in trunk

customElements.define should retrieve lifecycle callbacks
https://bugs.webkit.org/show_bug.cgi?id=160797

Reviewed by Chris Dumez.

Source/WebCore:

Updated JSCustomElementInterface to invoke Get(constructor, "prototype") and Get(prototype, callbackName)
for each lifecycle callback as required by the latest specification:
https://html.spec.whatwg.org/#dom-customelementsregistry-define

Also added the support for "observedAttributes" property on the custom elements constructor which defines
the list of attributes for which attributeChangedCallback is invoked.

Test: fast/custom-elements/CustomElementsRegistry.html

  • bindings/js/JSCustomElementInterface.cpp:

(WebCore::JSCustomElementInterface::setAttributeChangedCallback): Added.
(WebCore::JSCustomElementInterface::attributeChanged): Invoke m_attributeChangedCallback instead of on the
result of Get(element, "attributeChangedCallback").

  • bindings/js/JSCustomElementInterface.h:

(WebCore::JSCustomElementInterface::observesAttribute): Added.

  • bindings/js/JSCustomElementsRegistryCustom.cpp:

(WebCore::getLifecycleCallback): Added.
(WebCore::JSCustomElementsRegistry::define): Invoke Get(prototype, callbackName) for each callback. Also
store attributedChangedCallback and observedAttributes to JSCustomElementInterface. Other callbacks will
be stored in the future when the support for those callbacks are added.

  • dom/Element.cpp:

(WebCore::Element::attributeChanged): Moved more code into enqueueAttributeChangedCallbackIfNeeded.

  • dom/LifecycleCallbackQueue.cpp:

(WebCore::LifecycleCallbackQueue::enqueueAttributeChangedCallbackIfNeeded): Added an early exit for when
the given attribute is not observed by the custom element. Also moved the logic to retrieve
JSCustomElementInterface from Element::attributeChanged and renamed it from enqueueAttributeChangedCallback.

  • bindings/js/JSDOMBinding.h:

(WebCore::toNativeArray): Throw a TypeError when the argument is not an object.

  • bindings/js/JSDOMConvert.h:

(WebCore::Converter<Vector<T>>::convert): Removed a FIXME comment.

LayoutTests:

Added test cases for CustomElementsRegistry.define to make sure it invokes Get(constructor, "prototype")
and Get(prototype, callbackName) for each lifecycle callback.

Also updated the tests to reflect the support for observedAttributes which specifies the list of attributes
for which attributeChangedCallback is invoked.

  • fast/custom-elements/CustomElementsRegistry-expected.txt: Renamed from Document-defineElement-expected.txt.
  • fast/custom-elements/CustomElementsRegistry.html: Renamed from Document-defineElement.html.
  • fast/custom-elements/Document-defineElement-expected.txt: Removed.
  • fast/custom-elements/Document-defineElement.html: Removed.
  • fast/custom-elements/attribute-changed-callback-expected.txt:
  • fast/custom-elements/attribute-changed-callback.html: Added test cases for "observedAttributes".
  • fast/custom-elements/lifecycle-callback-timing.html:
8:18 PM Changeset in webkit [204552] by Alan Bujtas
  • 6 edits
    8 adds in trunk

Subpixel rendering: Cleanup RenderLayerBacking::updateGeometry.
https://bugs.webkit.org/show_bug.cgi?id=156860
<rdar://problem/25432352>

Reviewed by Simon Fraser.

Source/WebCore:

This patch cleans up the subpixel adjustment computation for the graphics layers
in RenderLayerBacking::updateGeometry.
It also fixes subpixel jiggling with clipping layers (both ancestor and child containment layers).

Tests: compositing/hidpi-ancestor-subpixel-clipping.html

compositing/hidpi-sibling-composited-content-offset.html
compositing/hidpi-subpixel-transform-origin.html
fast/scrolling/ios/subpixel-overflow-scrolling-with-ancestor.html

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::beginTransparencyLayers):
(WebCore::RenderLayer::paint):
(WebCore::RenderLayer::clipToRect):
(WebCore::RenderLayer::setupClipPath):
(WebCore::RenderLayer::paintLayerByApplyingTransform):
(WebCore::RenderLayer::paintBackgroundForFragments):
(WebCore::RenderLayer::paintForegroundForFragmentsWithPhase):
(WebCore::RenderLayer::paintOutlineForFragments):
(WebCore::RenderLayer::paintMaskForFragments):
(WebCore::RenderLayer::paintChildClippingMaskForFragments):
(WebCore::RenderLayer::paintOverflowControlsForFragments):
(WebCore::RenderLayer::calculateClipRects):

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

(WebCore::subpixelOffsetFromRendererChanged):
(WebCore::subpixelForLayerPainting):
(WebCore::computeOffsetFromRenderer):
(WebCore::snappedGraphicsLayerRect):
(WebCore::computeOffsetFromAncestorGraphicsLayer):
(WebCore::ComputedOffsets::ComputedOffsets): This is a helper class to hold offset values.
(WebCore::ComputedOffsets::fromAncestorGraphicsLayer):
(WebCore::ComputedOffsets::fromParentGraphicsLayer):
(WebCore::ComputedOffsets::fromPrimaryGraphicsLayer):
(WebCore::RenderLayerBacking::computePrimaryGraphicsLayerRect):
(WebCore::RenderLayerBacking::computeParentGraphicsLayerRect):
(WebCore::RenderLayerBacking::updateGeometry):
(WebCore::RenderLayerBacking::updateMaskingLayerGeometry):
(WebCore::RenderLayerBacking::contentOffsetInCompostingLayer):
(WebCore::RenderLayerBacking::setContentsNeedDisplayInRect):
(WebCore::RenderLayerBacking::paintIntoLayer):
(WebCore::RenderLayerBacking::paintContents):
(WebCore::devicePixelFractionGapFromRendererChanged): Deleted.
(WebCore::pixelFractionForLayerPainting): Deleted.
(WebCore::calculateDevicePixelOffsetFromRenderer): Deleted.
(WebCore::RenderLayerBacking::adjustAncestorCompositingBoundsForFlowThread): Deleted.

  • rendering/RenderLayerBacking.h:

LayoutTests:

  • compositing/hidpi-ancestor-subpixel-clipping-expected.html: Added.
  • compositing/hidpi-ancestor-subpixel-clipping.html: Added.
  • compositing/hidpi-sibling-composited-content-offset-expected.html: Added.
  • compositing/hidpi-sibling-composited-content-offset.html: Added.
  • compositing/hidpi-subpixel-transform-origin-expected.html: Added.
  • compositing/hidpi-subpixel-transform-origin.html: Added.
  • fast/scrolling/ios/subpixel-overflow-scrolling-with-ancestor-expected.txt: Added.
  • fast/scrolling/ios/subpixel-overflow-scrolling-with-ancestor.html: Added.
8:17 PM Changeset in webkit [204551] by commit-queue@webkit.org
  • 12 edits
    2 adds
    2 deletes in trunk

Unreviewed, rolling out r204540, r204545, and r204547.
https://bugs.webkit.org/show_bug.cgi?id=160932

Broke Windows builds (Requested by rniwa on #webkit).

Reverted changesets:

"customElements.define should retrieve lifecycle callbacks"
https://bugs.webkit.org/show_bug.cgi?id=160797
http://trac.webkit.org/changeset/204540

"Windows build fix attempt after r204540."
http://trac.webkit.org/changeset/204545

"Another Windows build fix attempt. The error message doesn't
make any sense to me."
http://trac.webkit.org/changeset/204547

7:42 PM Changeset in webkit [204550] by Hunseop Jeong
  • 2 edits in trunk/Source/WebCore

Unreviewed, CMake build fix after r204532

  • PlatformMac.cmake:
7:30 PM Changeset in webkit [204549] by dbates@webkit.org
  • 3 edits in trunk/Tools

prepare-ChangeLog: Extract logic from generateFunctionLists() into a function that takes a delegate object
https://bugs.webkit.org/show_bug.cgi?id=160924

Reviewed by Stephanie Lewis.

Towards adding unit tests for generateFunctionLists() we move its logic into actuallyGenerateFunctionLists()
and have actuallyGenerateFunctionLists() take a delegate object to use to query the file system and SCM.
We modify generateFunctionLists() to call actuallyGenerateFunctionLists(). This will make is possible to
test the generate function list machinery without requiring a SCM checkout by substituting a delegate
object that mocks out the file system and SCM operations.

  • Scripts/VCSUtils.pm:

(parseDiffStartLine): Parses an SVN or Git start line and returns the path to the target file.

  • Scripts/prepare-ChangeLog:

(generateFunctionLists): Move functionality to actually generate the function lists to actuallyGenerateFunctionLists(),
abstracting the logic to query the file system and SCM into functions on a delegate object that
we pass to it.
(actuallyGenerateFunctionLists): Extracted from generateFunctionLists().
(diffHeaderFormat): Deleted.

7:29 PM Changeset in webkit [204548] by Hunseop Jeong
  • 4 edits in trunk/Source

Unreviewed, CMake build fix

  • PlatformMac.cmake:
7:23 PM Changeset in webkit [204547] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebCore

Another Windows build fix attempt. The error message doesn't make any sense to me.

  • bindings/js/JSCustomElementsRegistryCustom.cpp:

(WebCore::JSCustomElementsRegistry::define):

7:01 PM Changeset in webkit [204546] by commit-queue@webkit.org
  • 2 edits in trunk/Websites/webkit.org

[JSC] Update the documentation of B3's Return opcode
https://bugs.webkit.org/show_bug.cgi?id=160912

Patch by Benjamin Poulain <bpoulain@apple.com> on 2016-08-16
Reviewed by Filip Pizlo.

  • docs/b3/intermediate-representation.html:
6:55 PM Changeset in webkit [204545] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebCore

Windows build fix attempt after r204540.

  • bindings/js/JSBindingsAllInOne.cpp:
5:41 PM Changeset in webkit [204544] by achristensen@apple.com
  • 6 edits in trunk

URLParser should parse URLs without credentials
https://bugs.webkit.org/show_bug.cgi?id=160913

Reviewed by Brady Eidson.

Source/WebCore:

When parsing a URL, after the scheme we do not know if we are parsing a username and password
or if we are parsing the host until we hit a '@' indicating the end of the credentials or a /, ?, or #
indicating the end of the host. Because there are significantly different rules for serializing usernames,
passwords, and hosts (all of which have yet to be implemented in URLParser) we put the code points after the
scheme in a special buffer that will be processed once we know what we are parsing.

In the future, this could be optimized by assuming that we are parsing the host and if we encounter a '@' character,
then do some extra work. This would save us the effort of copying the host twice because most URLs don't have credentials.

This is covered by a new URLParser API test.

  • platform/Logging.h:
  • platform/URLParser.cpp:

(WebCore::isC0Control):
(WebCore::isC0ControlOrSpace):
(WebCore::isTabOrNewline):
(WebCore::isSpecialScheme):
(WebCore::URLParser::parse):
(WebCore::URLParser::authorityEndReached):
(WebCore::URLParser::hostEndReached):
(WebCore::URLParser::allValuesEqual):
(WebCore::isASCIIDigit): Deleted.
(WebCore::isASCIIAlpha): Deleted.
(WebCore::isASCIIAlphanumeric): Deleted.

  • platform/URLParser.h:

(WebCore::URLParser::parse):

Tools:

  • TestWebKitAPI/Tests/WebCore/URLParser.cpp:

(TestWebKitAPI::s):
(TestWebKitAPI::checkURL):
(TestWebKitAPI::TEST_F):

5:25 PM Changeset in webkit [204543] by Chris Dumez
  • 19 edits
    2 adds in trunk

Add support for ShadowRoot.mode attribute
https://bugs.webkit.org/show_bug.cgi?id=160919

Reviewed by Ryosuke Niwa.

LayoutTests/imported/w3c:

Rebaseline W3C test now that one more check is passing.

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

Source/WebCore:

Add support for ShadowRoot.mode attribute:

Test: fast/shadow-dom/ShadowRoot-mode.html

  • css/ElementRuleCollector.cpp:

(WebCore::ElementRuleCollector::collectMatchingRules):

  • css/SelectorChecker.cpp:

(WebCore::SelectorChecker::matchRecursively):

  • dom/Element.cpp:

(WebCore::Element::bindingsOffsetParent):
(WebCore::Element::addShadowRoot):
(WebCore::Element::attachShadow):
(WebCore::Element::shadowRootForBindings):
(WebCore::Element::userAgentShadowRoot):
(WebCore::Element::ensureUserAgentShadowRoot):

  • dom/Node.cpp:

(WebCore::Node::isUnclosedNode):
(WebCore::Node::assignedSlotForBindings):
(WebCore::Node::isInUserAgentShadowTree):

  • dom/ShadowRoot.cpp:

(WebCore::ShadowRoot::ShadowRoot):
(WebCore::ShadowRoot::styleResolver):

  • dom/ShadowRoot.h:
  • dom/ShadowRoot.idl:
  • dom/SlotAssignment.cpp:

(WebCore::SlotAssignment::didChangeSlot):

  • html/HTMLSummaryElement.cpp:

(WebCore::HTMLSummaryElement::create):

  • inspector/InspectorDOMAgent.cpp:

(WebCore::shadowRootType):
(WebCore::InspectorDOMAgent::buildObjectForNode):

  • rendering/HitTestResult.cpp:

(WebCore::moveOutOfUserAgentShadowTree):

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::selectionPseudoStyle):

  • rendering/RenderLayer.cpp:

(WebCore::rendererForScrollbar):

  • svg/SVGElement.cpp:

(WebCore::SVGElement::correspondingUseElement):

  • testing/Internals.cpp:

(WebCore::Internals::shadowRootType):

LayoutTests:

Add layout test coverage.

  • fast/shadow-dom/ShadowRoot-mode-expected.txt: Added.
  • fast/shadow-dom/ShadowRoot-mode.html: Added.
5:18 PM Changeset in webkit [204542] by mark.lam@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Heap::collectAllGarbage() should work with JSC_useImmortalObjects=true.
https://bugs.webkit.org/show_bug.cgi?id=160917

Reviewed by Filip Pizlo.

If we do an synchronous GC when JSC_useImmortalObjects=true, we'll get a
RELEASE_ASSERT failure:

$ JSC_useImmortalObjects=true jsc

gc()

Trace/BPT trap: 5

This is because Heap::collectAllGarbage() is doing an explicit sweep of the
MarkedSpace, and the sweeper is expecting to see no RetiredBlocks. However, we
make objects immortal by retiring their blocks. As a result, there is a mismatch
in expectancy.

The fix is simply to not run the sweeper when JSC_useImmortalObjects=true.

  • heap/Heap.cpp:

(JSC::Heap::collectAllGarbage):

4:59 PM Changeset in webkit [204541] by keith_miller@apple.com
  • 2 edits in trunk/Source/WTF

Enable WebAssembly in the build.
https://bugs.webkit.org/show_bug.cgi?id=160916

Reviewed by Benjamin Poulain.

This patch turns on WebAssembly on all the platforms that support B3.
Turning on WebAssembly by default lets us check the build on every
platform.

  • wtf/FeatureDefines.h:
4:55 PM Changeset in webkit [204540] by rniwa@webkit.org
  • 11 edits
    2 moves in trunk

customElements.define should retrieve lifecycle callbacks
https://bugs.webkit.org/show_bug.cgi?id=160797

Reviewed by Chris Dumez.

Source/WebCore:

Updated JSCustomElementInterface to invoke Get(constructor, "prototype") and Get(prototype, callbackName)
for each lifecycle callback as required by the latest specification:
https://html.spec.whatwg.org/#dom-customelementsregistry-define

Also added the support for "observedAttributes" property on the custom elements constructor which defines
the list of attributes for which attributeChangedCallback is invoked.

Test: fast/custom-elements/CustomElementsRegistry.html

  • bindings/js/JSCustomElementInterface.cpp:

(WebCore::JSCustomElementInterface::setAttributeChangedCallback): Added.
(WebCore::JSCustomElementInterface::attributeChanged): Invoke m_attributeChangedCallback instead of on the
result of Get(element, "attributeChangedCallback").

  • bindings/js/JSCustomElementInterface.h:

(WebCore::JSCustomElementInterface::observesAttribute): Added.

  • bindings/js/JSCustomElementsRegistryCustom.cpp:

(WebCore::getLifecycleCallback): Added.
(WebCore::JSCustomElementsRegistry::define): Invoke Get(prototype, callbackName) for each callback. Also
store attributedChangedCallback and observedAttributes to JSCustomElementInterface. Other callbacks will
be stored in the future when the support for those callbacks are added.

  • dom/Element.cpp:

(WebCore::Element::attributeChanged): Moved more code into enqueueAttributeChangedCallbackIfNeeded.

  • dom/LifecycleCallbackQueue.cpp:

(WebCore::LifecycleCallbackQueue::enqueueAttributeChangedCallbackIfNeeded): Added an early exit for when
the given attribute is not observed by the custom element. Also moved the logic to retrieve
JSCustomElementInterface from Element::attributeChanged and renamed it from enqueueAttributeChangedCallback.

  • bindings/js/JSDOMBinding.h:

(WebCore::toNativeArray): Throw a TypeError when the argument is not an object.

  • bindings/js/JSDOMConvert.h:

(WebCore::Converter<Vector<T>>::convert): Removed a FIXME comment.

LayoutTests:

Added test cases for CustomElementsRegistry.define to make sure it invokes Get(constructor, "prototype")
and Get(prototype, callbackName) for each lifecycle callback.

Also updated the tests to reflect the support for observedAttributes which specifies the list of attributes
for which attributeChangedCallback is invoked.

  • fast/custom-elements/CustomElementsRegistry-expected.txt: Renamed from Document-defineElement-expected.txt.
  • fast/custom-elements/CustomElementsRegistry.html: Renamed from Document-defineElement.html.
  • fast/custom-elements/Document-defineElement-expected.txt: Removed.
  • fast/custom-elements/Document-defineElement.html: Removed.
  • fast/custom-elements/attribute-changed-callback-expected.txt:
  • fast/custom-elements/attribute-changed-callback.html: Added test cases for "observedAttributes".
  • fast/custom-elements/lifecycle-callback-timing.html:
4:31 PM Changeset in webkit [204539] by keith_miller@apple.com
  • 4 edits in trunk/Source/JavaScriptCore

Add WASM I32 simple operators.
https://bugs.webkit.org/show_bug.cgi?id=160914

Reviewed by Benjamin Poulain.

This patch adds support for the i32 simple binary operators.

  • wasm/WASMB3IRGenerator.cpp:

(JSC::WASM::toB3Op):
(JSC::WASM::B3IRGenerator::binaryOp):

  • wasm/WASMFunctionParser.h:

(JSC::WASM::WASMFunctionParser<Context>::parseExpression):

  • wasm/WASMOps.h:
4:05 PM Changeset in webkit [204538] by andersca@apple.com
  • 2 edits in trunk/Source/WTF

Fix a thinko.

  • wtf/Scope.h:
4:00 PM Changeset in webkit [204537] by andersca@apple.com
  • 2 edits in trunk/Source/WebCore

Fix build.

  • Configurations/WebCore.xcconfig:
3:56 PM Changeset in webkit [204536] by Chris Dumez
  • 7 edits
    9 deletes in trunk

Align isDefaultNamespace() / lookupPrefix() / lookupNamespaceURI() with the specification
https://bugs.webkit.org/show_bug.cgi?id=160911

Reviewed by Ryosuke Niwa.

LayoutTests/imported/w3c:

Rebaseline W3C test now that more checks are passing.

  • web-platform-tests/dom/nodes/Node-lookupNamespaceURI-expected.txt:

Source/WebCore:

Align isDefaultNamespace() / lookupPrefix() / lookupNamespaceURI() with the specification:

Our implementation now matches closely the text of the DOM specification
and we pass more W3C tests as it fixes the following bug:

  • isDefaultNamespace(null) / isDefaultNamespace() was not returning true for in cases where the node's default namespace was null. Our implementation was returning false instead of comparing the node's default namespace (in this case null) with the input namespace (in this case null).

No new tests, rebaselined existing test.

  • dom/Node.cpp:

(WebCore::locateDefaultNamespace):
(WebCore::Node::isDefaultNamespace):
(WebCore::Node::lookupNamespaceURI):
(WebCore::locateNamespacePrefix):
(WebCore::Node::lookupPrefix):
(WebCore::appendTextContent): Deleted.
(WebCore::Node::textContent): Deleted.
(WebCore::Node::setTextContent): Deleted.

  • dom/Node.h:
  • xml/NativeXPathNSResolver.cpp:

(WebCore::NativeXPathNSResolver::lookupNamespaceURI):

LayoutTests:

Drop several outdated tests.

  • dom/xhtml/level3/core/nodeisdefaultnamespace03-expected.txt: Removed.
  • dom/xhtml/level3/core/nodeisdefaultnamespace03.js: Removed.
  • dom/xhtml/level3/core/nodeisdefaultnamespace03.xhtml: Removed.
  • dom/xhtml/level3/core/nodelookupnamespaceuri08-expected.txt: Removed.
  • dom/xhtml/level3/core/nodelookupnamespaceuri08.js: Removed.
  • dom/xhtml/level3/core/nodelookupnamespaceuri08.xhtml: Removed.
  • dom/xhtml/level3/core/nodelookupnamespaceuri09-expected.txt: Removed.
  • dom/xhtml/level3/core/nodelookupnamespaceuri09.js: Removed.
  • dom/xhtml/level3/core/nodelookupnamespaceuri09.xhtml: Removed.
3:51 PM Changeset in webkit [204535] by Simon Fraser
  • 8 edits
    2 copies in trunk/Source/WebKit2

[iOS WK2] Clean up form select code
https://bugs.webkit.org/show_bug.cgi?id=160915

Reviewed by Enrica Casucci.

Some minor forms-related cleanup:

  1. Give WKFormSelectPopover and WKFormSelectPicker their own header files, making

things easier to find.

  1. Remove WKContentView *_view member variables from classes which also stored

the view in their base classes.

Sort the project file.

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

(-[WKFormRotatingAccessoryPopover accessoryDone]):
(-[WKFormRotatingAccessoryPopover initWithView:]): Deleted.

  • UIProcess/ios/forms/WKFormSelectControl.h:
  • UIProcess/ios/forms/WKFormSelectControl.mm:
  • UIProcess/ios/forms/WKFormSelectPicker.h: Copied from Source/WebKit2/UIProcess/ios/forms/WKFormSelectControl.h.
  • UIProcess/ios/forms/WKFormSelectPicker.mm:
  • UIProcess/ios/forms/WKFormSelectPopover.h: Copied from Source/WebKit2/UIProcess/ios/forms/WKFormSelectControl.h.
  • UIProcess/ios/forms/WKFormSelectPopover.mm:

(-[WKSelectPopover initWithView:hasGroups:]):

  • WebKit2.xcodeproj/project.pbxproj:
3:48 PM Changeset in webkit [204534] by adachan@apple.com
  • 7 edits
    2 adds in trunk

Placeholder does not show the first time going into picture-in-picture on video without controls
https://bugs.webkit.org/show_bug.cgi?id=160868

Reviewed by Eric Carlson.

Source/WebCore:

Test: media/controls/pip-placeholder-without-video-controls.html

If the media controls script is not injected by the time webkitpresentationmodechanged
event fires, the script that updates the stylesheet to show the placeholder won't execute.

To fix this, doing one of the following would work:

  • Ensure the shadow dom for the video is set up when we schedule the

webkitpresentationmodechanged event.

  • Make sure the styles are set up correctly to show the placeholder if needed

when the Controller object (in mediaControlsApple.js) is created.

Doing both here following what we did for the wireless playback status.

  • Modules/mediacontrols/mediaControlsApple.js:

(Controller):
Call updatePictureInPicturePlaceholder() so it updates the styles to show the
placeholder if needed.
(Controller.prototype.updatePictureInPicturePlaceholder):
Extract the logic that updates the placeholder into a separate method so it can
be called when we initialize Controller.
(Controller.prototype.handlePresentationModeChange):
Call updatePictureInPicturePlaceholder().

  • Modules/mediacontrols/mediaControlsiOS.js:

(ControllerIOS.prototype.updatePictureInPicturePlaceholder):
Renamed from handlePresentationModeChange().
(ControllerIOS.prototype.handlePresentationModeChange): Deleted.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::enterFullscreen):
Call configureMediaControls() which ensures the shadow root gets added if needed.

LayoutTests:

Test that a video without controls attribute does show after going into picture-in-picture.

  • TestExpectations:
  • media/controls/pip-placeholder-without-video-controls-expected.txt: Added.
  • media/controls/pip-placeholder-without-video-controls.html: Added.
  • platform/mac-wk2/TestExpectations:
3:44 PM Changeset in webkit [204533] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

Rename FrameView::m_layoutDisallowed to m_layoutDisallowedCount
https://bugs.webkit.org/show_bug.cgi?id=160918

Reviewed by Zalan Bujtas.

m_layoutDisallowedCount makes it clearer that it's accumulated.

  • page/FrameView.h:
3:41 PM Changeset in webkit [204532] by andersca@apple.com
  • 2 edits
    1 move in trunk/Source/WebCore

Rename SSLKeyGeneratorMac.cpp to SSLKeyGeneratorMac.mm.

Rubber-stamped by Dan Bernstein.

  • platform/mac/SSLKeyGeneratorMac.mm: Renamed from platform/mac/SSLKeyGeneratorMac.cpp.
3:39 PM Changeset in webkit [204531] by mmaxfield@apple.com
  • 13 edits
    1 move
    1 add
    1 delete in trunk/Source

Migrate line breaking code from ints to Optional<unsigned>s
https://bugs.webkit.org/show_bug.cgi?id=160859

Reviewed by Darin Adler.

Source/WebCore:

Previously, we were using -1 to mean "before the beginning of the string". Now,
Nullopt means that.

This patch also renames break_lines.{h,cpp} to BreakLines.{h.cpp}. This file was
originally named during the KHTML days.

No new tests because there is no behavior change.

  • CMakeLists.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • rendering/BreakLines.cpp: Renamed from Source/WebCore/rendering/break_lines.cpp.
  • rendering/BreakLines.h: Renamed from Source/WebCore/rendering/break_lines.h.

(WebCore::isBreakableSpace):
(WebCore::shouldBreakAfter):
(WebCore::needsLineBreakIterator):
(WebCore::nextBreakablePositionNonLoosely):
(WebCore::nextBreakablePositionLoosely):
(WebCore::nextBreakablePositionKeepingAllWords):
(WebCore::nextBreakablePositionKeepingAllWordsIgnoringNBSP):
(WebCore::nextBreakablePosition):
(WebCore::nextBreakablePositionIgnoringNBSP):
(WebCore::nextBreakablePositionLoose):
(WebCore::nextBreakablePositionIgnoringNBSPLoose):
(WebCore::isBreakable):

  • rendering/InlineIterator.h:

(WebCore::InlineIterator::moveTo):
(WebCore::InlineIterator::nextBreakablePosition):
(WebCore::InlineIterator::setNextBreakablePosition):
(WebCore::InlineIterator::InlineIterator): Deleted.

  • rendering/InlineTextBox.cpp:
  • rendering/RenderText.cpp:

(WebCore::RenderText::computePreferredLogicalWidths):

  • rendering/RenderingAllInOne.cpp:
  • rendering/SimpleLineLayoutTextFragmentIterator.h:
  • rendering/break_lines.h:

(WebCore::isBreakableSpace): Deleted.
(WebCore::shouldBreakAfter): Deleted.
(WebCore::needsLineBreakIterator): Deleted.
(WebCore::nextBreakablePositionNonLoosely): Deleted.
(WebCore::nextBreakablePositionLoosely): Deleted.
(WebCore::nextBreakablePositionKeepingAllWords): Deleted.
(WebCore::nextBreakablePositionKeepingAllWordsIgnoringNBSP): Deleted.
(WebCore::nextBreakablePosition): Deleted.
(WebCore::nextBreakablePositionIgnoringNBSP): Deleted.
(WebCore::nextBreakablePositionLoose): Deleted.
(WebCore::nextBreakablePositionIgnoringNBSPLoose): Deleted.
(WebCore::isBreakable): Deleted.

  • rendering/line/BreakingContext.h:

(WebCore::BreakingContext::commitLineBreakAtCurrentWidth):
(WebCore::BreakingContext::InlineIteratorHistory::nextBreakablePosition):
(WebCore::BreakingContext::InlineIteratorHistory::moveTo):
(WebCore::tryHyphenating):
(WebCore::BreakingContext::handleText):
(WebCore::BreakingContext::optimalLineBreakLocationForTrailingWord):

Source/WebKit/ios:

  • Misc/WebUIKitSupport.mm:

(WebKitGetLastLineBreakInBuffer):

3:33 PM Changeset in webkit [204530] by Chris Dumez
  • 3 edits in trunk/LayoutTests/imported/w3c

Re-sync imported/w3c/web-platform-tests/dom/ranges/Range-mutations.html with upstream
https://bugs.webkit.org/show_bug.cgi?id=160903

Reviewed by Ryosuke Niwa.

Re-sync imported/w3c/web-platform-tests/dom/ranges/Range-mutations.html with upstream
after https://github.com/w3c/web-platform-tests/pull/3468.

  • web-platform-tests/dom/ranges/Range-mutations-expected.txt:
  • web-platform-tests/dom/ranges/Range-mutations.html:
3:32 PM Changeset in webkit [204529] by andersca@apple.com
  • 5 edits
    2 adds in trunk

Add WTF::ScopeExit
https://bugs.webkit.org/show_bug.cgi?id=160908

Reviewed by Geoffrey Garen.

Source/WTF:

WTF::ScopeExit and WTF::makeScopeExit let you define an object that will invoke a function when the
object goes out of scope. This is going to be used to avoid spagetti-code and gotos in a future patch.

The class is modeled after the LWG paper "P0052 - Generic Scope Guard and RAII Wrapper for the Standard Library".

  • WTF.xcodeproj/project.pbxproj:
  • wtf/Scope.h: Added.

(WTF::makeScopeExit):

Tools:

  • TestWebKitAPI/CMakeLists.txt:
  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WTF/Scope.cpp: Added.

(TestWebKitAPI::TEST):

3:26 PM Changeset in webkit [204528] by Chris Dumez
  • 3 edits
    2 adds
    2 deletes in trunk

DOM4: getElementsByClassName should include non StyledElements
https://bugs.webkit.org/show_bug.cgi?id=94718

Reviewed by Ryosuke Niwa.

Source/WebCore:

getElementsByClassName() now includes non StyledElements as per the latest
DOM specification:

The new behavior is consistent with Firefox and Chrome.

Test: fast/dom/getElementsByClassName/non-styled-element.html

  • dom/ClassCollection.h:

(WebCore::ClassCollection::elementMatches):

LayoutTests:

  • fast/dom/getElementsByClassName/011-expected.txt: Removed.
  • fast/dom/getElementsByClassName/011.xml: Removed.

Drop outdated test. It is failing in Firefox and Chrome.

  • fast/dom/getElementsByClassName/non-styled-element-expected.txt: Added.
  • fast/dom/getElementsByClassName/non-styled-element.html: Added.

Add layout test coverage.

3:24 PM Changeset in webkit [204527] by aakash_jain@apple.com
  • 2 edits in trunk/Tools

EWS logs file are rotated too quickly
https://bugs.webkit.org/show_bug.cgi?id=160724

Reviewed by Daniel Bates.

Currently we are rotating the log file after 10 iterations of queue. If the queue
doesn't have any pending patches, these iterations result in very small amount of
logs (1 KB log file). Even if the queue process some patches, logs are few KBs.
This results in a lot of log files in a day. This patch ensures that we rotate the
log file when its file size is greater than or equal to 100 KB.

  • EWSTools/start-queue-mac.sh: Added check for file size before rotating log file.
3:20 PM Changeset in webkit [204526] by dbates@webkit.org
  • 15 edits
    2 moves
    4 deletes in trunk

WKSI static library should be named by major iOS revision, not individual updates
https://bugs.webkit.org/show_bug.cgi?id=160727
<rdar://problem/22274848>

Reviewed by Alexey Proskuryakov.

Source/WebKit/mac:

  • Configurations/Base.xcconfig:
  • Configurations/DebugRelease.xcconfig:
  • Configurations/WebKitLegacy.xcconfig:

Source/WebKit2:

  • Configurations/Base.xcconfig:
  • Configurations/BaseTarget.xcconfig:
  • Configurations/DebugRelease.xcconfig:

Tools:

  • DumpRenderTree/mac/Configurations/Base.xcconfig:
  • DumpRenderTree/mac/Configurations/DebugRelease.xcconfig:
  • Scripts/copy-webkitlibraries-to-product-directory:
  • WebKitTestRunner/Configurations/Base.xcconfig:
  • WebKitTestRunner/Configurations/DebugRelease.xcconfig:

WebKitLibraries:

  • libWebKitSystemInterfaceIOSDevice9.0.a: Removed.
  • libWebKitSystemInterfaceIOSDevice9.2.a: Removed.
  • libWebKitSystemInterfaceIOSDevice9.a: Renamed from WebKitLibraries/libWebKitSystemInterfaceIOSDevice9.3.a.
  • libWebKitSystemInterfaceIOSSimulator9.0.a: Removed.
  • libWebKitSystemInterfaceIOSSimulator9.2.a: Removed.
  • libWebKitSystemInterfaceIOSSimulator9.a: Renamed from WebKitLibraries/libWebKitSystemInterfaceIOSSimulator9.3.a.
3:15 PM Changeset in webkit [204525] by Simon Fraser
  • 15 edits
    4 adds in trunk

Make it possible to test iOS select elements, and add iPhone and iPad tests for them
https://bugs.webkit.org/show_bug.cgi?id=160909

Reviewed by Enrica Casucci.

Source/WebKit2:

Hook up form-related UIScriptController functions, and plumb through the various
<select> pickers the ability to select a row.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView dismissFormAccessoryView]):
(-[WKWebView selectFormAccessoryPickerRow:]):

  • UIProcess/API/Cocoa/WKWebViewPrivate.h:
  • UIProcess/ios/WKContentViewInteraction.h:
  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView selectFormAccessoryPickerRow:]):

  • UIProcess/ios/forms/WKFormSelectControl.h:
  • UIProcess/ios/forms/WKFormSelectControl.mm:

(-[WKFormSelectControl selectRow:inComponent:extendingSelection:]):

  • UIProcess/ios/forms/WKFormSelectPicker.mm:

(-[WKMultipleSelectPicker selectRow:inComponent:extendingSelection:]):
(-[WKSelectSinglePicker selectRow:inComponent:extendingSelection:]):

  • UIProcess/ios/forms/WKFormSelectPopover.mm:

(-[WKSelectPopover selectRow:inComponent:extendingSelection:]):

Tools:

Add functions to UIScriptController to dismiss the form accessory view for iOS,
and to programmatically pick a row from a <select> picker.

  • WebKitTestRunner/UIScriptContext/Bindings/UIScriptController.idl:
  • WebKitTestRunner/UIScriptContext/UIScriptController.cpp:

(WTR::UIScriptController::dismissFormAccessoryView):
(WTR::UIScriptController::selectFormAccessoryPickerRow):

  • WebKitTestRunner/UIScriptContext/UIScriptController.h:
  • WebKitTestRunner/ios/UIScriptControllerIOS.mm:

(WTR::UIScriptController::dismissFormAccessoryView):
(WTR::UIScriptController::selectFormAccessoryPickerRow):

LayoutTests:

Add iPhone and iPad tests for the <select> pickers. The iPhone test has to
use a didShowKeyboardCallback to know when to select the appropriate row,
and to dismiss the picker. The iPad test can just select the row, which also
dismisses the popover.

  • fast/forms/ios/choose-select-option-expected.txt: Added.
  • fast/forms/ios/choose-select-option.html: Added.
  • fast/forms/ios/ipad/choose-select-option-expected.txt: Added.
  • fast/forms/ios/ipad/choose-select-option.html: Added.
2:44 PM Changeset in webkit [204524] by beidson@apple.com
  • 16 edits in trunk/Source

Cleanup WK2 platform gamepad handling.
https://bugs.webkit.org/show_bug.cgi?id=160871

Reviewed by Alex Christensen.

Source/WebCore:

No new tests (No currently testable change in behavior).

This patch does a few things:
1 - Separates the concepts of "monitoring gamepads" and "monitoring gamepad inputs"
2 - Uses this new concept to much more cleanly handle the case where we are not currently

monitoring gamepad inputs because an interested WKWebView is not front and center.

3 - Pre-populates the "initial set of gamepads" in WebProcesses that start listening for gamepads.

  • platform/gamepad/GamepadProviderClient.h:

(WebCore::GamepadProviderClient::setInitialConnectedGamepads):

  • platform/gamepad/mac/HIDGamepadProvider.cpp:

(WebCore::HIDGamepadProvider::HIDGamepadProvider):
(WebCore::HIDGamepadProvider::stopMonitoringInput):
(WebCore::HIDGamepadProvider::startMonitoringInput):
(WebCore::HIDGamepadProvider::connectionDelayTimerFired):

  • platform/gamepad/mac/HIDGamepadProvider.h:

Source/WebKit2:

This patch does a few things:
1 - Separates the concepts of "monitoring gamepads" and "monitoring gamepad inputs"
2 - Uses this new concept to much more cleanly handle the case where we are not currently

monitoring gamepad inputs because an interested WKWebView is not front and center.

3 - Pre-populates the "initial set of gamepads" in WebProcesses that start listening for gamepads.

  • Platform/Logging.h:
  • UIProcess/Gamepad/UIGamepadProvider.cpp:

(WebKit::UIGamepadProvider::gamepadSyncTimerFired):
(WebKit::UIGamepadProvider::setInitialConnectedGamepads):
(WebKit::UIGamepadProvider::processPoolStoppedUsingGamepads):
(WebKit::UIGamepadProvider::viewBecameActive):
(WebKit::UIGamepadProvider::viewBecameInactive):
(WebKit::UIGamepadProvider::stopMonitoringGamepads):
(WebKit::UIGamepadProvider::snapshotGamepads):
(WebKit::UIGamepadProvider::platformStopMonitoringInput):
(WebKit::UIGamepadProvider::platformStartMonitoringInput):
(WebKit::UIGamepadProvider::UIGamepadProvider): Deleted.
(WebKit::UIGamepadProvider::scheduleDisableGamepadMonitoring): Deleted.
(WebKit::UIGamepadProvider::disableMonitoringTimerFired): Deleted.

  • UIProcess/Gamepad/UIGamepadProvider.h:
  • UIProcess/Gamepad/mac/UIGamepadProviderHID.cpp:

(WebKit::UIGamepadProvider::platformStopMonitoringInput):
(WebKit::UIGamepadProvider::platformStartMonitoringInput):

  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::setInitialConnectedGamepads):

  • UIProcess/WebProcessPool.h:
  • WebProcess/Gamepad/WebGamepadProvider.cpp:

(WebKit::WebGamepadProvider::setInitialGamepads):

  • WebProcess/Gamepad/WebGamepadProvider.h:
  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::setInitialGamepads):

  • WebProcess/WebProcess.h:
  • WebProcess/WebProcess.messages.in:
2:18 PM Changeset in webkit [204523] by Simon Fraser
  • 14 edits
    2 moves
    4 adds in trunk

[iOS] Add iPad viewport and form tests, and revert the iPad-testing part of r202132
https://bugs.webkit.org/show_bug.cgi?id=160878

Reviewed by Tim Horton.
Source/WebKit2:

Remove testing-specific "forceIPadStyleZoomOnInputFocus" behavior added in r202132
now that we have the ability to run tests in the iPad simulator.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView forceIPadStyleZoomOnInputFocus]): Deleted.
(-[WKWebView setForceIPadStyleZoomOnInputFocus:]): Deleted.

  • UIProcess/API/Cocoa/WKWebViewPrivate.h:
  • UIProcess/ios/WKContentViewInteraction.h:
  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView _displayFormNodeInputView]):
(-[WKContentView requiresAccessoryView]):
(-[WKContentView inputAccessoryView]):
(-[WKContentView requiresAccessoryView:]): Deleted.
(-[WKContentView forceIPadStyleZoomOnInputFocus]): Deleted.
(-[WKContentView setForceIPadStyleZoomOnInputFocus:]): Deleted.

Tools:

Remove testing-specific "forceIPadStyleZoomOnInputFocus" behavior added in r202132
now that we have the ability to run tests in the iPad simulator.

  • WebKitTestRunner/UIScriptContext/Bindings/UIScriptController.idl:
  • WebKitTestRunner/UIScriptContext/UIScriptController.cpp:

(WTR::UIScriptController::forceIPadStyleZoomOnInputFocus): Deleted.
(WTR::UIScriptController::setForceIPadStyleZoomOnInputFocus): Deleted.

  • WebKitTestRunner/UIScriptContext/UIScriptController.h:
  • WebKitTestRunner/ios/TestControllerIOS.mm:

(WTR::TestController::platformResetStateToConsistentValues): Deleted.

  • WebKitTestRunner/ios/UIScriptControllerIOS.mm:

(WTR::UIScriptController::forceIPadStyleZoomOnInputFocus): Deleted.
(WTR::UIScriptController::setForceIPadStyleZoomOnInputFocus): Deleted.

LayoutTests:

Move forms/ios/focus-input-via-button-ipad.html into fast/forms/ios/ipad, making it
an iPad test, which allows for the removal of the "useIPadBehavior" flag.

Add fast/viewport/ios/ipad/width-is-device-width.html with iPad-specific results.

  • fast/forms/ios/ipad/focus-input-via-button-expected.txt: Renamed from LayoutTests/fast/forms/ios/focus-input-via-button-ipad-expected.txt.
  • fast/forms/ios/ipad/focus-input-via-button.html: Renamed from LayoutTests/fast/forms/ios/focus-input-via-button-ipad.html.
  • fast/forms/ios/resources/zooming-test-utils.js:

(testZoomAfterTap):

  • fast/viewport/ios/ipad/width-is-device-width-expected.txt: Added.
  • fast/viewport/ios/ipad/width-is-device-width.html: Added.
  • platform/ios-simulator-wk2/TestExpectations: Enable fast/viewport/ios, because leaving

them skipped from the base TestExpectations is evil.

1:58 PM Changeset in webkit [204522] by Chris Dumez
  • 10 edits in trunk

querySelector() / querySelectorAll() should always throw a SyntaxError when failing to parse selector string
https://bugs.webkit.org/show_bug.cgi?id=160906

Reviewed by Ryosuke Niwa.

LayoutTests/imported/w3c:

Rebaseline several W3C tests now that more checks are passing.

  • web-platform-tests/dom/nodes/Element-matches-expected.txt:
  • web-platform-tests/dom/nodes/ParentNode-querySelector-All-expected.txt:
  • web-platform-tests/dom/nodes/ParentNode-querySelector-All-xht-expected.txt:

Source/WebCore:

querySelector() / querySelectorAll() should always throw a SyntaxError
when failing to parse selector string:

In some cases, WebKit was throwing a NamespaceError instead.

No new tests, rebaselined existing tests.

  • dom/SelectorQuery.cpp:

(WebCore::SelectorQueryCache::add):

LayoutTests:

Rebaseline several layout tests now that we throw a different exception type.

  • fast/css/parsing-css-attribute-case-insensitive-value-1-expected.txt:
  • fast/css/parsing-css-attribute-case-insensitive-value-2-expected.txt:
  • fast/dom/SelectorAPI/not-supported-namespace-in-selector-expected.txt:
1:32 PM Changeset in webkit [204521] by Brent Fulgham
  • 6 edits
    3 adds in trunk

Upgrade-Insecure-Request state is improperly retained between navigations
https://bugs.webkit.org/show_bug.cgi?id=160905
<rdar://problem/27075526>

Reviewed by Andy Estes.

Source/WebCore:

Correct the handling of Upgrade-Insecure-Request state to match the specification, so that
performing top-level navigation to sites that do not have the Upgrade-Insecure-Request header
does not automatically upgrade insecure loads. The same loads performed in an iframe should
be upgraded.

The iframe case was already handled in our tests, but a new test is added that models the top-level
navigation and confirms that an upgrade is not performed.

Tests: http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/proper-uir-on-navigation.html

  • dom/Document.cpp:

(WebCore::Document::initContentSecurityPolicy): Properly inherit Upgrade-Insecure-Request state for children
of existing frames.

  • loader/DocumentWriter.cpp:

(WebCore::DocumentWriter::begin): Retain the history of upgraded resources (per the specification) so that
we continue to upgrade resources that were upgraded during earlier navigations. Note that we do NOT want to
retain the state of the Upgrade-Insecure-Requests header itself.

  • page/csp/ContentSecurityPolicy.cpp:

(WebCore::ContentSecurityPolicy::copyStateFrom): Update to use new helper function.
(WebCore::ContentSecurityPolicy::copyUpgradeInsecureRequestStateFrom): New helper function.

  • page/csp/ContentSecurityPolicy.h:

LayoutTests:

  • http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/proper-uir-on-navigation-expected.txt: Added.
  • http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/proper-uir-on-navigation.html: Added.
  • http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/resources/insecure-site.html: Added.
12:57 PM Changeset in webkit [204520] by Nikita Vasilyev
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: DOM nodes shift when hovering over them in Console
https://bugs.webkit.org/show_bug.cgi?id=160789
<rdar://problem/27815600>

Reviewed by Matt Baker.

  • UserInterface/Views/FormattedValue.css:

(.formatted-node > .tree-outline.dom ol): Deleted.

12:29 PM Changeset in webkit [204519] by andersca@apple.com
  • 9 edits
    1 add in trunk

Add an address-of operator to RetainPtr
https://bugs.webkit.org/show_bug.cgi?id=160879

Reviewed by Tim Horton.

Source/WTF:

This will make some security-related code from WebKitSystemInterface easier to port.

  • wtf/HashIterators.h:

(WTF::HashTableValuesIterator::get):

  • wtf/HashTable.h:

(WTF::HashTableBucketInitializer<true>::initialize):
Use std::addressof instead of &, in case & is overloaded.

  • wtf/RetainPtr.h:

(WTF::RetainPtr::operator&):
Implement this.

Tools:

Test HashMap and HashSet with an object whose operator& is deleted.

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:

Sort the Xcode project.

  • TestWebKitAPI/Tests/WTF/DeletedAddressOfOperator.h: Added.

(DeletedAddressOfOperator::DeletedAddressOfOperator):
(DeletedAddressOfOperator::value):
(DeletedAddressOfOperator::operator==):
(WTF::HashTraits<DeletedAddressOfOperator>::constructDeletedValue):
(WTF::HashTraits<DeletedAddressOfOperator>::isDeletedValue):
(WTF::DefaultHash<DeletedAddressOfOperator>::Hash::hash):
(WTF::DefaultHash<DeletedAddressOfOperator>::Hash::equal):

  • TestWebKitAPI/Tests/WTF/HashMap.cpp:

(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WTF/HashSet.cpp:

(TestWebKitAPI::TEST):

12:25 PM Changeset in webkit [204518] by Nikita Vasilyev
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Data grid has a double left border when the first column is hidden
https://bugs.webkit.org/show_bug.cgi?id=160723
<rdar://problem/27778081>

Reviewed by Timothy Hatcher.

This patch exploits the fact hiding columns that aren't first in DataGrid don't create double
borders.

  • UserInterface/Views/DataGrid.css:

(.data-grid table.header,):
(.data-grid :matches(th, td):first-child):
(@media (-webkit-min-device-pixel-ratio: 2)):

  • UserInterface/Views/SourceCodeTextEditor.js:

(WebInspector.SourceCodeTextEditor.prototype._setTypeTokenAnnotatorEnabledState):

12:08 PM Changeset in webkit [204517] by Chris Dumez
  • 3 edits
    2 adds in trunk

ctx.drawImage should clip source rect if it is outside the source image
https://bugs.webkit.org/show_bug.cgi?id=160804

Reviewed by Simon Fraser.

Source/WebCore:

According to the specification [1]"
"When the source rectangle is outside the source image, the source rectangle
must be clipped to the source image and the destination rectangle must be
clipped in the same proportion."

Firefox and Chrome behave according to the specification. This patch aligns
our behavior.

[1] https://html.spec.whatwg.org/multipage/scripting.html#dom-context-2d-drawimage

Test: fast/canvas/drawImage-srcRect-clipping.html

  • html/canvas/CanvasRenderingContext2D.cpp:

(WebCore::CanvasRenderingContext2D::drawImage):

LayoutTests:

Add layout test coverage.

  • fast/canvas/drawImage-srcRect-clipping-expected.html: Added.
  • fast/canvas/drawImage-srcRect-clipping.html: Added.
12:04 PM Changeset in webkit [204516] by commit-queue@webkit.org
  • 34 edits
    2 adds in trunk

⛱ : Implement parsing of Media Constraints for getUserMedia algorithm in Media Capture and Streaming Spec
https://bugs.webkit.org/show_bug.cgi?id=160533
<rdar://problem/27688483>

Patch by George Ruan <gruan@apple.com> on 2016-08-16
Reviewed by Chris Dumez.

Source/WebCore:

Two getUserMedia tests have been updated to reflect changes and cover limited
testing of the parsing of media constraints when given to getUserMedia().
Current testing infrastructure doesn't support full testing of the parsing
of media constraints. Either a mock needs to be created or the selectSettings()
algorithm will need to be implemented so we can see the constraints reflected
by the settings of media stream tracks. See https://bugs.webkit.org/show_bug.cgi?id=160791.

The specification on media constraints and how they are provided to getUserMedia() and
applyConstraints() has changed. These constraints are parsed in the bindings and are
stored in a new class MediaConstraint with derived classes LongConstraint, DoubleConstraint,
BooleanConstraint, and StringConstraint, each holding their respective type of constraint
value.

  • CMakeLists.txt: Add JSMediaDevicesCustom.cpp and MediaConstraints.cpp.
  • Modules/mediastream/CaptureDeviceManager.cpp:

(CaptureDeviceManager::verifyConstraintsForMediaType): Make changes according
to how format of MediaConstraint was changed.
(CaptureDeviceManager::sessionSupportsConstraint): Ditto.
(CaptureDeviceManager::isSupportedFrameRate): Ditto. Also for the time being
support constraint validation with a static acceptable frame rate range of 0-60.
See relevant https://bugs.webkit.org/show_bug.cgi?id=160794 for supporting
constraint validation of frame rate dynamically.

  • Modules/mediastream/CaptureDeviceManager.h: Make changes according to how

format of MediaConstraint was changed.

  • Modules/mediastream/MediaConstraintsImpl.cpp: Remove code for parsing media

constraints in the legacy format with keys 'mandatory' and 'optional'. Removal
of legacy code is fine since MEDIA_STREAM feature flag is not enabled for any port.
(WebCore::MediaConstraintsImpl::create): Ditto
(WebCore::MediaConstraintsImpl::initialize): Still used by applyConstraints().
Added FIXME to remove after applyConstraints implementation is changed according
to w3c spec changes.
(WebCore::MediaConstraintsImpl::mandatoryConstraints): Make changes according to
how media constraint data is now stored.
(WebCore::MediaConstraintsImpl::advancedConstraints): Ditto.
(WebCore::MediaConstraintsImpl::getMandatoryConstraints): Deleted.
(WebCore::MediaConstraintsImpl::getOptionalConstraints): Deleted.
(WebCore::MediaConstraintsImpl::getMandatoryConstraintValue): Deleted.
(WebCore::MediaConstraintsImpl::getOptionalConstraintValue): Deleted.

  • Modules/mediastream/MediaConstraintsImpl.h:

(WebCore::MediaConstraintsImpl::MediaConstraintsImpl): Add a constructor to allow
construction of MediaConstraintsImpl object based on how the custom binding code
for MediaDevices would parse the media constraints given to getUserMedia().

  • Modules/mediastream/MediaDevices.cpp:

(WebCore::MediaDevices::getUserMedia): Make changes according to how media constraint
data is now stored.

  • Modules/mediastream/MediaDevices.h: Ditto.
  • Modules/mediastream/MediaDevices.idl: Add custom binding to parse media constraints,

since we do not have support for automatic binding generation of sequence of dictionaries,
dictionary inheritance, dictionaries inside of dictionaries, disjunctions, or dictionaries
without an interface.

  • Modules/mediastream/MediaStreamTrack.cpp: Add FIXME with related bug.

(WebCore::MediaStreamTrack::applyConstraints): Ditto.

  • Modules/mediastream/UserMediaRequest.cpp: Make changes according to how media constraint

data is now parsed and stored.
(WebCore::UserMediaRequest::start): Ditto.
(WebCore::UserMediaRequest::UserMediaRequest): Ditto.
(WebCore::UserMediaRequest::didCreateStream): Ditto.
(WebCore::parseOptions): Deleted.

  • Modules/mediastream/UserMediaRequest.h: Ditto.
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/JSBindingsAllInOne.cpp: Added JSMediaDevicesCustom.cpp.
  • bindings/js/JSMediaDevicesCustom.cpp: Added. Custom bindings to parse media constraints.

(WebCore::initializeStringConstraintWithList): Initialize string constraint 'exact' or 'ideal'
value according to an ArrayValue.
(WebCore::createStringConstraint): Given a dictionary acting as a 'MediaTrackConstraintSet'
and a string constraint key (e.g for facingMode), creates a native StringConstraint class to hold
the data.
(WebCore::createBooleanConstraint): Ditto but for constraints of type boolean.
(WebCore::createDoubleConstraint): Ditto but for constraints of type double.
(WebCore::createIntConstraint): Ditto but for constraints of type long.
(WebCore::parseMediaTrackConstraintSetForKey): Parses a given dictionary acting as a
'MediaTrackConstraintSet' for a constraint as the key and creates the correct native object to hold
the data.
(WebCore::parseAdvancedConstraints): Parses the advanced constraints.
(WebCore::parseConstraints): Parses the constraints of a Dictionary acting as a
'MediaTrackConstraints'.
(WebCore::JSMediaDevices::getUserMedia): Parses the constraint input to getUserMedia.

  • platform/mediastream/MediaConstraints.cpp: Added. Add MediaConstraint classes with derived

classes IntConstraint, DoubleConstraint, BooleanConstraint, and StringConstraint to act as
containers for the parsed data from getUserMedia().
(WebCore::MediaConstraint::create): Factory that creates the correct derived class based on the
name of a media constraint.
(WebCore::MediaConstraint::getMin): Interface for getting the min value for a constraint.
ASSERT checks are in place to prevent calling getMin with the incorrect constraint type.
(WebCore::MediaConstraint::getMax): Ditto but for max value of constraint.
(WebCore::MediaConstraint::getExact): Ditto but for exact value of constraint.
(WebCore::MediaConstraint::getIdeal): Ditto but for ideal value of constraint.
(WebCore::IntConstraint::create): Creates a long constraint.
(WebCore::IntConstraint::setMin): Sets min value of constraint.
(WebCore::IntConstraint::setMax): Sets max value of constraint.
(WebCore::IntConstraint::setExact): Sets exact value of constraint.
(WebCore::IntConstraint::setIdeal): Sets ideal value of constraint.
(WebCore::IntConstraint::getMin): Overrides interface function and gets min value of constraint.
(WebCore::IntConstraint::getMax): Ditto but for max value of constraint.
(WebCore::IntConstraint::getExact): Ditto but for exact value of constraint.
(WebCore::IntConstraint::getIdeal): Ditto but for ideal value of constraint.
(WebCore::DoubleConstraint::create): Ditto, DoubleConstraint instead of IntConstraint.
(WebCore::DoubleConstraint::setMin): Ditto.
(WebCore::DoubleConstraint::setMax): Ditto.
(WebCore::DoubleConstraint::setExact): Ditto.
(WebCore::DoubleConstraint::setIdeal): Ditto.
(WebCore::DoubleConstraint::getMin): Ditto.
(WebCore::DoubleConstraint::getMax): Ditto.
(WebCore::DoubleConstraint::getExact): Ditto.
(WebCore::DoubleConstraint::getIdeal): Ditto.
(WebCore::BooleanConstraint::create): Ditto, BooleanConstraint instead of IntConstraint.
(WebCore::BooleanConstraint::setExact): Ditto.
(WebCore::BooleanConstraint::setIdeal): Ditto.
(WebCore::BooleanConstraint::getExact): Ditto.
(WebCore::BooleanConstraint::getIdeal): Ditto.
(WebCore::StringConstraint::create): Ditto, StringConstraint instead of IntConstraint.
(WebCore::StringConstraint::setExact): Ditto.
(WebCore::StringConstraint::appendExact): Appends string to 'exact' value of StringConstraint.
(WebCore::StringConstraint::setIdeal): Ditto.
(WebCore::StringConstraint::appendIdeal): Appends string to 'ideal' value of StringConstraint.
(WebCore::StringConstraint::getExact): Ditto.
(WebCore::StringConstraint::getIdeal): Ditto.

  • platform/mediastream/MediaConstraints.h: Add MediaConstraint classes with derived

classes IntConstraint, DoubleConstraint, BooleanConstraint, and StringConstraint to act as
containers for the parsed data from getUserMedia().
(WebCore::MediaConstraint::~MediaConstraint):
(WebCore::MediaConstraint::name): Get name of constraint.
(WebCore::MediaConstraint::MediaConstraint): Constructor.
(WebCore::NumericConstraint::NumericConstraint): Base class of DoubleConstraint and IntConstraint.
(WebCore::NumericConstraint::setHasMin): Sets whether object has min vlaue.
(WebCore::NumericConstraint::setHasMax): Ditto but for max.
(WebCore::NumericConstraint::setHasExact): Ditto but for exact.
(WebCore::NumericConstraint::setHasIdeal): Ditto but for ideal.
(WebCore::NumericConstraint::hasMin): Gets whether object has min value.
(WebCore::NumericConstraint::hasMax): Ditto but for max.
(WebCore::NumericConstraint::hasExact): Ditto but for exact.
(WebCore::NumericConstraint::hasIdeal): Ditto but for ideal.

  • platform/mediastream/RealtimeMediaSourceCenter.h: Parameters can be reference since

lifetime is guaranteed and ownership is not taken.

  • platform/mediastream/mac/AVCaptureDeviceManager.h: Ditto.
  • platform/mediastream/mac/AVCaptureDeviceManager.mm: Ditto.

(WebCore::AVCaptureDeviceManager::verifyConstraintsForMediaType): Ditto.
(WebCore::AVCaptureDeviceManager::sessionSupportsConstraint): Make changes according to
how media constraint data is stored.
(WebCore::AVCaptureDeviceManager::createMediaSourceForCaptureDeviceWithConstraints):
Ditto.
(WebCore::AVCaptureDeviceManager::isSupportedFrameRate): Ditto.

  • platform/mediastream/mac/AVVideoCaptureSource.h: Change frame rate from 'float' to 'double'.
  • platform/mediastream/mac/AVVideoCaptureSource.mm:

(WebCore::AVVideoCaptureSource::setFrameRateConstraint): Ditto.
(WebCore::AVVideoCaptureSource::applyConstraints): Make changes according to how media constraint
data is stored. The implementation of applyConstraints has also drastically changed, and a FIXME
is associated.

  • platform/mediastream/mac/RealtimeMediaSourceCenterMac.cpp:

(WebCore::RealtimeMediaSourceCenterMac::validateRequestConstraints):
The bindings will always pass a non-null MediaConstraints object to
getUserMedia() so a pointer MediaConstraints parameter is not necessary.
(WebCore::RealtimeMediaSourceCenterMac::createMediaStream): Ditto.

  • platform/mediastream/mac/RealtimeMediaSourceCenterMac.h: Change 'override' to 'final'

since RealtimeMediaSourceCenterMac is a 'final' class.

  • platform/mediastream/openwebrtc/RealtimeMediaSourceCenterOwr.cpp: Ditto to

RealtimeMediaSourceCenterMac.
(WebCore::RealtimeMediaSourceCenterOwr::createMediaStream): Ditto.
(WebCore::RealtimeMediaSourceCenterOwr::validateRequestConstraints):

  • platform/mediastream/openwebrtc/RealtimeMediaSourceCenterOwr.h: Ditto.
  • platform/mock/MediaConstraintsMock.cpp: Change how constraint validation is mocked.

(WebCore::isLongMediaConstraintSatisfiable): Sets arbitrary min and max supported value to be 0 and 10,
respectively. Then checks if constraint is satisfiable.
(WebCore::isDoubleMediaConstraintSatisfiable): Ditto but with double.
(WebCore::isBooleanMediaConstraintSatisfiable): Mock a boolean constraint to only be satisfiable if the
'exact' value is true.
(WebCore::isStringMediaConstraintSatisfiable): Mock a string constraint to only be satisfiable if the
'exact' value has the string 'valid'
(WebCore::isSatisfiable): Checks if a certain constraint is satisfiable.
(WebCore::MediaConstraintsMock::verifyConstraints): Verifies if the constraints are satisfiable.
(WebCore::isSupported): Deleted.
(WebCore::isValid): Deleted.

  • platform/mock/MediaConstraintsMock.h: Change argument of MediaConstraints to raw pointer.
  • platform/mock/MockRealtimeMediaSourceCenter.cpp: Change arguments of MediaConstraints to a raw pointer

and make changes according to how the MediaConstraint was changed.
(WebCore::MockRealtimeMediaSourceCenter::validateRequestConstraints):
(WebCore::MockRealtimeMediaSourceCenter::createMediaStream):

  • platform/mock/MockRealtimeMediaSourceCenter.h: Change argument of MediaConstraints to raw pointer.

LayoutTests:

Implementation of parsing of media constraints passed to getUserMedia has changed to meet
the current w3c standards. Three major changes have been introduced

  • If the parameter in getUserMedia is missing a TypeError is thrown, according to the IDL spec
  • Given a Dictionary value with neither 'audio' nor 'video' keys having dictionary values

or 'true', the promise is rejected with a TypeError

  • If the constraints cannot be satisfied the promise is rejected with a DataError. This should

be changed to an OverConstrainedError in the future. See
https://bugs.webkit.org/show_bug.cgi?id=160790

  • fast/mediastream/MediaDevices-getUserMedia-expected.txt:
  • fast/mediastream/MediaDevices-getUserMedia.html: Added limited testing of parsing of

media constraints for getUserMedia(), this includes only testing of mandatory constraints
and whether the promise is rejected if the constraints cannot be satisfied.

  • fast/mediastream/getusermedia-expected.txt:
  • fast/mediastream/getusermedia.html: As format of media constraints have changed, the test

has been updated to reflect those changes.

11:11 AM Changeset in webkit [204515] by achristensen@apple.com
  • 3 edits in trunk/Source/WebCore

Fix WinCairo build after r204512.

  • platform/network/curl/SocketStreamHandleImpl.h:
  • platform/network/curl/SocketStreamHandleImplCurl.cpp:

(WebCore::createCopy):
(WebCore::SocketStreamHandleImpl::createCopy): Deleted.

11:03 AM Changeset in webkit [204514] by commit-queue@webkit.org
  • 4 edits in trunk/Tools

False crashes in fast/text/emoji-gender-* tests
https://bugs.webkit.org/show_bug.cgi?id=160779

Patch by Jonathan Bedard <Jonathan Bedard> on 2016-08-16
Reviewed by Alexey Proskuryakov.

Fix from <rdar://problem/27786762>, where timed out tests falsely report as crashed.

  • Scripts/webkitpy/port/driver.py:

(Driver._check_for_driver_crash_or_unresponsiveness): Change call to ‘write’ to disable crash flag.

  • Scripts/webkitpy/port/driver_unittest.py: Added 3 variable to test version of ‘write.’
  • Scripts/webkitpy/port/server_process.py:

(ServerProcess.write): Allow caller to disable crash flag on exception.

10:26 AM Changeset in webkit [204513] by commit-queue@webkit.org
  • 4 edits
    1 move in trunk/Source/WebInspectorUI

Web Inspector: Do not request Scope Chain lists if section is collapsed (mainly Global Variables)
https://bugs.webkit.org/show_bug.cgi?id=140567
<rdar://problem/19504745>

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-08-16
Reviewed by Timothy Hatcher.

  • UserInterface/Main.html:

New file name.

  • UserInterface/Views/DOMNodeDetailsSidebarPanel.js:

(WebInspector.DOMNodeDetailsSidebarPanel.prototype._refreshProperties.fillSection):
(WebInspector.DOMNodeDetailsSidebarPanel.prototype._refreshProperties):
Avoid fetching object properties until the user expands the section.

  • UserInterface/Views/ScopeChainDetailsSidebarPanel.js:

(WebInspector.ScopeChainDetailsSidebarPanel.prototype._generateCallFramesSection):
(WebInspector.ScopeChainDetailsSidebarPanel.prototype._generateWatchExpressionsSection):
Avoid fetching scope variable properties until the user expands the section.

  • UserInterface/Views/ObjectPropertiesDetailSectionRow.js: Renamed from Source/WebInspectorUI/UserInterface/Views/DetailsSectionPropertiesRow.js.

(WebInspector.ObjectPropertiesDetailSectionRow):
(WebInspector.ObjectPropertiesDetailSectionRow.prototype.get objectTree):
(WebInspector.ObjectPropertiesDetailSectionRow.prototype._detailsSectionCollapsedStateChanged):
Rename and simplify the class since it always has an ObjectTreeView.
By default the section will auto-expand the ObjectTreeView, however
if provided a details section group, it will defer expanion until
the group expands.

10:14 AM Changeset in webkit [204512] by achristensen@apple.com
  • 15 edits in trunk/Source

Clean up WebSockets
https://bugs.webkit.org/show_bug.cgi?id=160889

Reviewed by Darin Adler.

Source/WebCore:

We should use size_t's instead of ints for data lengths.
SocketStreamHandleClient is now purely virtual.
A few places that will need SocketStreamHandleImpls instead of SocketStreamHandles now have them.
This patch doesn't change behavior.

  • Modules/websockets/WebSocketChannel.cpp:

(WebCore::WebSocketChannel::didCloseSocketStream):
(WebCore::WebSocketChannel::didReceiveSocketStreamData):

  • Modules/websockets/WebSocketChannel.h:
  • platform/network/SocketStreamHandle.cpp:

(WebCore::SocketStreamHandle::state):
(WebCore::SocketStreamHandle::send):

  • platform/network/SocketStreamHandle.h:

(WebCore::SocketStreamHandle::~SocketStreamHandle):
(WebCore::SocketStreamHandle::bufferedAmount):
(WebCore::SocketStreamHandle::client): Deleted.

  • platform/network/SocketStreamHandleClient.h:

(WebCore::SocketStreamHandleClient::~SocketStreamHandleClient):
(WebCore::SocketStreamHandleClient::didOpenSocketStream): Deleted.
(WebCore::SocketStreamHandleClient::didCloseSocketStream): Deleted.
(WebCore::SocketStreamHandleClient::didReceiveSocketStreamData): Deleted.
(WebCore::SocketStreamHandleClient::didUpdateBufferedAmount): Deleted.
(WebCore::SocketStreamHandleClient::didFailSocketStream): Deleted.

  • platform/network/cf/SocketStreamHandleImpl.h:

(WebCore::SocketStreamHandleImpl::create):

  • platform/network/cf/SocketStreamHandleImplCFNet.cpp:

(WebCore::SocketStreamHandleImpl::~SocketStreamHandleImpl):
(WebCore::SocketStreamHandleImpl::platformSend):
(WebCore::SocketStreamHandleImpl::platformClose):

  • platform/network/curl/SocketStreamHandleImpl.h:

(WebCore::SocketStreamHandleImpl::create):

  • platform/network/soup/SocketStreamHandleImpl.h:
  • platform/network/soup/SocketStreamHandleImplSoup.cpp:

(WebCore::SocketStreamHandleImpl::create):

Source/WebKit2:

  • UIProcess/InspectorServer/WebSocketServerConnection.cpp:

(WebKit::WebSocketServerConnection::didCloseSocketStream):
(WebKit::WebSocketServerConnection::didReceiveSocketStreamData):

  • UIProcess/InspectorServer/WebSocketServerConnection.h:
10:05 AM Changeset in webkit [204511] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebInspectorUI

Web Inspector: add "Copy Selected" context menu item to Console
https://bugs.webkit.org/show_bug.cgi?id=151836

Patch by Devin Rousso <Devin Rousso> on 2016-08-16
Reviewed by Timothy Hatcher.

  • Localizations/en.lproj/localizedStrings.js:
  • UserInterface/Views/LogContentView.js:

(WebInspector.LogContentView.prototype._previousMessageRepeatCountUpdated):
(WebInspector.LogContentView.prototype._handleContextMenuEvent):
(WebInspector.LogContentView.prototype._mousedown):

9:57 AM Changeset in webkit [204510] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebInspectorUI

Web Inspector: Visual Styles: "Text -> Content" isn't escaped
https://bugs.webkit.org/show_bug.cgi?id=158271

Patch by Devin Rousso <Devin Rousso> on 2016-08-16
Reviewed by Timothy Hatcher.

  • UserInterface/Base/Utilities.js:

(String.prototype.hasMatchingEscapedQuotes):
Checks that the given string has property escaped quotes (single or double).

  • UserInterface/Views/VisualStyleBasicInput.js:

(WebInspector.VisualStyleBasicInput):
(WebInspector.VisualStyleBasicInput.prototype._handleInputElementInput):

9:57 AM Changeset in webkit [204509] by Chris Dumez
  • 16 edits in trunk/Source

Unreviewed, rolling out r204506.

Broke the build

Reverted changeset:

"Cleanup WK2 platform gamepad handling."
https://bugs.webkit.org/show_bug.cgi?id=160871
http://trac.webkit.org/changeset/204506

9:56 AM Changeset in webkit [204508] by Darin Adler
  • 18 edits
    1 delete in trunk/Source

[Cocoa] Remove dependency on Objective-C bindings in WebKit2 editing code
https://bugs.webkit.org/show_bug.cgi?id=160891

Reviewed by Anders Carlsson.

Source/WebCore:

  • WebCore.xcodeproj/project.pbxproj: Removed EditorCocoa.h.
  • editing/Editor.cpp: Removed member initialization for members now

initialized in the class definition.

  • editing/Editor.h: Added FragmentAndResources struct, createFragment

member function, and _WebCreateFragment function. Also initialize all the
scalar data members here instead of in the constructor.

  • editing/cocoa/EditorCocoa.h: Removed. This was unused.
  • editing/cocoa/EditorCocoa.mm:

(WebCore::Editor::createFragment): Added. Calls through to WebKitLegacy
using soft linking for now, but later should be implemented here in WebCore.

  • editing/ios/EditorIOS.mm:

(WebCore::Editor::createFragmentAndAddResources): Call createFragment.

  • editing/mac/EditorMac.mm:

(WebCore::Editor::createFragmentAndAddResources): Call createFragment.

  • loader/EmptyClients.h: Removed documentFragmentFromAttributedString

implementation.

  • page/EditorClient.h: Removed documentFragmentFromAttributedString.

Two reasons: The first is that this is now implemented in WebCore. While
there is a call through to WebKitLegacy, it's a temporary thing and done
with soft linking. The second reason is that this returned a raw pointer,
which is not safe in general. Was safe here because it was returning a
pointer owned by an autoreleased Objective-C object.

Source/WebKit/mac:

  • WebCoreSupport/WebEditorClient.h: Removed documentFragmentFromAttributedString.
  • WebCoreSupport/WebEditorClient.mm:

(attributesForAttributedStringConversion): Replaced the
createExcludedElementsForAttributedStringConversion function with this one.
No good reason to keep the array around instead of the dictionary.
(_WebCreateFragment): Renamed from documentFragmentFromAttributedString.
This is now a global function exported so it can be called by WebCore with
a different way of returning its value.

  • WebKit.exp: Added _WebCreateFragment.
  • WebView/WebHTMLView.mm:

(-[WebHTMLView _documentFragmentFromPasteboard:forType:inContext:subresources:]):
Removed long-ago-obsolete workaround for Radar bug 5052369.

Source/WebKit2:

  • WebProcess/WebCoreSupport/WebEditorClient.h: Removed documentFragmentFromAttributedString.
  • WebProcess/WebCoreSupport/ios/WebEditorClientIOS.mm:

(WebKit::WebEditorClient::documentFragmentFromAttributedString): Deleted.

  • WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:

(WebKit::createExcludedElementsForAttributedStringConversion): Deleted.
(WebKit::WebEditorClient::documentFragmentFromAttributedString): Deleted.

9:52 AM Changeset in webkit [204507] by commit-queue@webkit.org
  • 30 edits in trunk/Source/WebInspectorUI

Modernize model objects simple getters
https://bugs.webkit.org/show_bug.cgi?id=160863

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-08-16
Reviewed by Timothy Hatcher.

Simplify the style of many Model objects with basic accessors.
We reduce them to a single line and group them together so
that they can be more easily read at a glance.

  • UserInterface/Models/AnalyzerMessage.js:
  • UserInterface/Models/ApplicationCacheFrame.js:
  • UserInterface/Models/ApplicationCacheManifest.js:
  • UserInterface/Models/BreakpointAction.js:
  • UserInterface/Models/CSSMedia.js:
  • UserInterface/Models/CSSSelector.js:
  • UserInterface/Models/CollectionEntry.js:
  • UserInterface/Models/CollectionEntryPreview.js:
  • UserInterface/Models/DOMStorageObject.js:
  • UserInterface/Models/DatabaseObject.js:
  • UserInterface/Models/DatabaseTableObject.js:
  • UserInterface/Models/ExecutionContext.js:
  • UserInterface/Models/GarbageCollection.js:
  • UserInterface/Models/IndexedDatabase.js:
  • UserInterface/Models/IndexedDatabaseObjectStore.js:
  • UserInterface/Models/IndexedDatabaseObjectStoreIndex.js:
  • UserInterface/Models/ObjectPreview.js:
  • UserInterface/Models/ProbeSet.js:
  • UserInterface/Models/PropertyDescriptor.js:
  • UserInterface/Models/PropertyPath.js:
  • UserInterface/Models/PropertyPreview.js:
  • UserInterface/Models/SourceCodePosition.js:
  • UserInterface/Models/SourceCodeSearchMatchObject.js:
  • UserInterface/Models/SourceCodeTimeline.js:
  • UserInterface/Models/StructureDescription.js:
  • UserInterface/Models/TextRange.js:
  • UserInterface/Models/Timeline.js:
  • UserInterface/Models/TimelineRecording.js:
  • UserInterface/Models/TypeDescription.js:
9:27 AM Changeset in webkit [204506] by beidson@apple.com
  • 16 edits in trunk/Source

Cleanup WK2 platform gamepad handling.
https://bugs.webkit.org/show_bug.cgi?id=160871

Reviewed by Alex Christensen.

Source/WebCore:

No new tests (No currently testable change in behavior).

This patch does a few things:
1 - Separates the concepts of "monitoring gamepads" and "monitoring gamepad inputs"
2 - Uses this new concept to much more cleanly handle the case where we are not currently

monitoring gamepad inputs because an interested WKWebView is not front and center.

3 - Pre-populates the "initial set of gamepads" in WebProcesses that start listening for gamepads.

  • platform/gamepad/GamepadProviderClient.h:

(WebCore::GamepadProviderClient::setInitialConnectedGamepads):

  • platform/gamepad/mac/HIDGamepadProvider.cpp:

(WebCore::HIDGamepadProvider::HIDGamepadProvider):
(WebCore::HIDGamepadProvider::stopMonitoringInput):
(WebCore::HIDGamepadProvider::startMonitoringInput):
(WebCore::HIDGamepadProvider::connectionDelayTimerFired):

  • platform/gamepad/mac/HIDGamepadProvider.h:

Source/WebKit2:

This patch does a few things:
1 - Separates the concepts of "monitoring gamepads" and "monitoring gamepad inputs"
2 - Uses this new concept to much more cleanly handle the case where we are not currently

monitoring gamepad inputs because an interested WKWebView is not front and center.

3 - Pre-populates the "initial set of gamepads" in WebProcesses that start listening for gamepads.

  • Platform/Logging.h:
  • UIProcess/Gamepad/UIGamepadProvider.cpp:

(WebKit::UIGamepadProvider::gamepadSyncTimerFired):
(WebKit::UIGamepadProvider::setInitialConnectedGamepads):
(WebKit::UIGamepadProvider::processPoolStoppedUsingGamepads):
(WebKit::UIGamepadProvider::viewBecameActive):
(WebKit::UIGamepadProvider::viewBecameInactive):
(WebKit::UIGamepadProvider::stopMonitoringGamepads):
(WebKit::UIGamepadProvider::snapshotGamepads):
(WebKit::UIGamepadProvider::platformStopMonitoringInput):
(WebKit::UIGamepadProvider::platformStartMonitoringInput):
(WebKit::UIGamepadProvider::UIGamepadProvider): Deleted.
(WebKit::UIGamepadProvider::scheduleDisableGamepadMonitoring): Deleted.
(WebKit::UIGamepadProvider::disableMonitoringTimerFired): Deleted.

  • UIProcess/Gamepad/UIGamepadProvider.h:
  • UIProcess/Gamepad/mac/UIGamepadProviderHID.cpp:

(WebKit::UIGamepadProvider::platformStopMonitoringInput):
(WebKit::UIGamepadProvider::platformStartMonitoringInput):

  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::setInitialConnectedGamepads):

  • UIProcess/WebProcessPool.h:
  • WebProcess/Gamepad/WebGamepadProvider.cpp:

(WebKit::WebGamepadProvider::setInitialGamepads):

  • WebProcess/Gamepad/WebGamepadProvider.h:
  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::setInitialGamepads):

  • WebProcess/WebProcess.h:
  • WebProcess/WebProcess.messages.in:
9:23 AM Changeset in webkit [204505] by Chris Dumez
  • 5 edits in trunk/Source/WebCore

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

Broke the iOS build (Requested by cdumez on #webkit).

Reverted changeset:

"Drop unused EventTarget::hasActiveEventListeners()"
https://bugs.webkit.org/show_bug.cgi?id=160869
http://trac.webkit.org/changeset/204494

Patch by Commit Queue <commit-queue@webkit.org> on 2016-08-16

8:58 AM Changeset in webkit [204504] by Ryan Haddad
  • 2 edits in trunk/JSTests

Unreviewed, rolling out r204464.

This is no longer needed after r204495.

Reverted changeset:

"Skip failing test mozilla/ecma/LexicalConventions/7.7.3.js"
https://bugs.webkit.org/show_bug.cgi?id=160662
http://trac.webkit.org/changeset/204464

8:53 AM Changeset in webkit [204503] by Darin Adler
  • 2 edits in trunk/Source/WebCore
  • bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.cpp: Regenerated results, which were affected by the sequence<T> change last night.
2:43 AM Changeset in webkit [204502] by pvollan@apple.com
  • 2 edits in trunk/Source/WebCore

[Win] Hardening of getLinkedFonts function.
https://bugs.webkit.org/show_bug.cgi?id=160850

The SUCCEEDED macro should only be used for functions returning a HRESULT type.
Also, make sure a string array index will not exceed the string length.

  • platform/graphics/win/FontCacheWin.cpp:

(WebCore::getLinkedFonts):

12:55 AM Changeset in webkit [204501] by commit-queue@webkit.org
  • 3 edits
    1 move
    4 deletes in trunk/Source/WebCore

Simplify SocketStreamError
https://bugs.webkit.org/show_bug.cgi?id=160888

Patch by Alex Christensen <achristensen@webkit.org> on 2016-08-16
Reviewed by Darin Adler.

SocketStreamErrorBase and platform-specific SocketStreamError were overly complicated.
They had many functions that were never used. There's no reason to have two separate classes.

  • WebCore.xcodeproj/project.pbxproj:
  • platform/network/SocketStreamError.h: Copied from Source/WebCore/platform/network/SocketStreamErrorBase.h.

(WebCore::SocketStreamError::SocketStreamError):
(WebCore::SocketStreamError::isNull):
(WebCore::SocketStreamError::errorCode):
(WebCore::SocketStreamError::failingURL):
(WebCore::SocketStreamError::localizedDescription):
(WebCore::SocketStreamErrorBase::isNull): Deleted.
(WebCore::SocketStreamErrorBase::errorCode): Deleted.
(WebCore::SocketStreamErrorBase::failingURL): Deleted.
(WebCore::SocketStreamErrorBase::localizedDescription): Deleted.
(WebCore::SocketStreamErrorBase::SocketStreamErrorBase): Deleted.
(WebCore::operator==): Deleted.
(WebCore::operator!=): Deleted.

  • platform/network/SocketStreamErrorBase.cpp: Removed.
  • platform/network/SocketStreamErrorBase.h: Removed.
  • platform/network/cf/SocketStreamError.h: Removed.
  • platform/network/curl/SocketStreamError.h: Removed.
  • platform/network/soup/SocketStreamError.h: Removed.
Note: See TracTimeline for information about the timeline view.