ap@apple.com [Mon, 27 Jul 2015 19:10:02 +0000 (19:10 +0000)]
Add test expectations for rdar://problem/
22014672
* platform/mac/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@187439
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
simon.fraser@apple.com [Mon, 27 Jul 2015 18:54:53 +0000 (18:54 +0000)]
Enhance Animation logging slightly
https://bugs.webkit.org/show_bug.cgi?id=147324
Reviewed by Anders Carlsson.
Include the value of "param" in animation logging, because sometimes it's negative,
and log state changes in a few more places.
* page/animation/AnimationBase.cpp:
(WebCore::AnimationBase::updateStateMachine):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@187438
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
saambarati1@gmail.com [Mon, 27 Jul 2015 18:52:19 +0000 (18:52 +0000)]
Added a comment explaining that all "addVar()"s should happen before
emitting bytecode for a function's default parameter expressions
Rubber Stamped by Mark Lam.
* bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::BytecodeGenerator):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@187437
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
peavo@outlook.com [Mon, 27 Jul 2015 18:48:02 +0000 (18:48 +0000)]
[Curl] Crash in CurlDownload::didReceiveHeader when downloading file.
https://bugs.webkit.org/show_bug.cgi?id=146832
Reviewed by Darin Adler.
Source/WebCore:
Only call ResourceResponse::setMimeType from the main thread.
Also, CurlDownload should be reference counted to make sure it
still lives when a function call is invoked on the main thread
from the download thread.
* platform/network/curl/CurlDownload.cpp:
(WebCore::CurlDownloadManager::downloadThread):
(WebCore::CurlDownload::CurlDownload):
(WebCore::CurlDownload::start):
(WebCore::CurlDownload::didReceiveHeader):
(WebCore::CurlDownload::didReceiveData):
* platform/network/curl/CurlDownload.h:
(WebCore::CurlDownloadListener::didFail):
(WebCore::CurlDownload::setListener):
Source/WebKit/win:
CurlDownload should be reference counted to make sure it still
lives when a function call is invoked on the main thread from
the download thread.
* WebDownload.h:
* WebDownloadCurl.cpp:
(WebDownload::init):
(WebDownload::start):
(WebDownload::cancel):
(WebDownload::deletesFileUponFailure):
(WebDownload::setDeletesFileUponFailure):
(WebDownload::setDestination):
(WebDownload::didReceiveResponse):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@187436
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Mon, 27 Jul 2015 18:41:45 +0000 (18:41 +0000)]
Source/WebCore:
Remove duplicate vectors inside of UserMediaRequest
https://bugs.webkit.org/show_bug.cgi?id=147321
<rdar://problem/
22011290>
Patch by Matthew Daiter <mdaiter@apple.com> on 2015-07-27
Reviewed by Eric Carlson.
* Modules/mediastream/UserMediaRequest.h:
(WebCore::UserMediaRequest::deviceUIDsVideo): Deleted.
(WebCore::UserMediaRequest::deviceUIDsAudio): Deleted.
Source/WebKit2:
Renamed duplicate vectors inside UserMediaPermissionRequestProxy
https://bugs.webkit.org/show_bug.cgi?id=147321
<rdar://problem/
22011290>
Patch by Matthew Daiter <mdaiter@apple.com> on 2015-07-27
Reviewed by Eric Carlson.
* UIProcess/UserMediaPermissionRequestProxy.cpp:
(WebKit::UserMediaPermissionRequestProxy::UserMediaPermissionRequestProxy):
* UIProcess/UserMediaPermissionRequestProxy.h:
(WebKit::UserMediaPermissionRequestProxy::videoDeviceUIDs):
(WebKit::UserMediaPermissionRequestProxy::audioDeviceUIDs):
(WebKit::UserMediaPermissionRequestProxy::deviceUIDsVideo): Deleted.
(WebKit::UserMediaPermissionRequestProxy::deviceUIDsAudio): Deleted.
* WebProcess/MediaStream/UserMediaPermissionRequestManager.cpp:
(WebKit::UserMediaPermissionRequestManager::startRequest):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@187435
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
nvasilyev@apple.com [Mon, 27 Jul 2015 08:19:01 +0000 (08:19 +0000)]
Web Inspector: " = $0" in Elements panel can cause a jerk by pushing nodes below it
https://bugs.webkit.org/show_bug.cgi?id=147318
Reviewed by Timothy Hatcher.
* UserInterface/Views/DOMTreeOutline.css:
(.dom-tree-outline li.selected > span::after):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@187434
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
calvaris@igalia.com [Mon, 27 Jul 2015 08:14:53 +0000 (08:14 +0000)]
[Streams API] Strategy tests need sync with the reference
https://bugs.webkit.org/show_bug.cgi?id=147267
Reviewed by Sam Weinig.
The reference accepted a two new tests for the constructor and another for the size method for both strategies
that we need to bring to WebKit to ensure compliance. Expectations updated accordingly.
* streams/reference-implementation/byte-length-queuing-strategy-expected.txt:
* streams/reference-implementation/byte-length-queuing-strategy.html:
* streams/reference-implementation/count-queuing-strategy-expected.txt:
* streams/reference-implementation/count-queuing-strategy.html:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@187433
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
carlosgc@webkit.org [Mon, 27 Jul 2015 08:07:28 +0000 (08:07 +0000)]
[GTK] Pass a GstInstallPluginsContext to gst_install_plugins_async
https://bugs.webkit.org/show_bug.cgi?id=147103
Reviewed by Philippe Normand.
Source/WebCore:
* platform/graphics/gstreamer/GUniquePtrGStreamer.h: Allow to use
GUniquePtr with GstInstallPluginsContext.
Source/WebKit2:
This allows PackageKit to properly position the window and make it
transient to the web view window.
* UIProcess/API/gtk/PageClientImpl.cpp:
(WebKit::PageClientImpl::setCursor): Disambiguate Cursor now that
we include gtkx.h.
(WebKit::PageClientImpl::createGstInstallPluginsContext): Create a
new GstInstallPluginsContext and set the web view window XID when
running on X11.
* UIProcess/API/gtk/PageClientImpl.h:
* UIProcess/PageClient.h:
* UIProcess/efl/WebViewEfl.h:
* UIProcess/gstreamer/WebPageProxyGStreamer.cpp:
(WebKit::WebPageProxy::requestInstallMissingMediaPlugins): Use
PageClient::createGstInstallPluginsContext() to create a new
GstInstallPluginsContext and pass it to gst_install_plugins_async().
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@187432
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
yoon@igalia.com [Mon, 27 Jul 2015 06:34:05 +0000 (06:34 +0000)]
[ThreadedCompositor] Unreviewed build fix after r186059
https://bugs.webkit.org/show_bug.cgi?id=147315
* Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp:
(WebKit::ThreadedCompositor::glContext):
Explicitly cast u_int64 to GLNativeWindowType.
* WebProcess/WebPage/CoordinatedGraphics/ThreadedCoordinatedLayerTreeHost.h:
(WebKit::ThreadedCoordinatedLayerTreeHost::create):
Update declaration to match with modified definition.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@187416
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cdumez@apple.com [Mon, 27 Jul 2015 05:08:24 +0000 (05:08 +0000)]
[WK2][iOS] WebContent process main thread should have fixed priority
https://bugs.webkit.org/show_bug.cgi?id=147313
<rdar://problem/
22003112>
Reviewed by Darin Adler.
WebContent process main thread should have fixed priority on iOS 9.
Priority decay regresses PLT and fixing the main thread's priority
gives up a ~3% progression on warm PLT (tested on iPhone 5s).
* WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::WebProcess::platformInitializeWebProcess):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@187412
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Mon, 27 Jul 2015 04:52:38 +0000 (04:52 +0000)]
Add missing builtin files to the JavaScriptCore Xcode project
https://bugs.webkit.org/show_bug.cgi?id=147312
Patch by Sam Weinig <sam@webkit.org> on 2015-07-26
Reviewed by Darin Adler.
* JavaScriptCore.xcodeproj/project.pbxproj:
Add missing files.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@187411
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
utatane.tea@gmail.com [Sun, 26 Jul 2015 21:17:32 +0000 (21:17 +0000)]
[ES6] Implement Reflect.isExtensible
https://bugs.webkit.org/show_bug.cgi?id=147308
Reviewed by Sam Weinig.
This patch implements Reflect.isExtensible.
It is similar to Object.isExtensible.
The difference is that it raises an error if the first argument is not an object.
* runtime/ReflectObject.cpp:
(JSC::reflectObjectIsExtensible):
* tests/stress/reflect-is-extensible.js: Added.
(shouldBe):
(shouldThrow):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@187410
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
utatane.tea@gmail.com [Sun, 26 Jul 2015 21:10:47 +0000 (21:10 +0000)]
Unreviewed, fix the debug build due to touching the non-declared variable in ASSERT
https://bugs.webkit.org/show_bug.cgi?id=147307
* runtime/ObjectConstructor.cpp:
(JSC::ownPropertyKeys):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@187409
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
utatane.tea@gmail.com [Sun, 26 Jul 2015 21:02:23 +0000 (21:02 +0000)]
[ES6] Implement Reflect.ownKeys
https://bugs.webkit.org/show_bug.cgi?id=147307
Reviewed by Sam Weinig.
This patch implements Reflect.ownKeys.
In this patch, we refactor the existing code to list up own keys in the object.
Such code is used by Object.getOwnPropertyNames, Object.getOwnPropertyKeys, Object.keys and @ownEnumerableKeys.
We factor out the listing up own keys as ownPropertyKeys function and also use it in Reflect.ownKeys.
* runtime/ObjectConstructor.cpp:
(JSC::objectConstructorGetOwnPropertyNames):
(JSC::objectConstructorGetOwnPropertySymbols):
(JSC::objectConstructorKeys):
(JSC::ownEnumerablePropertyKeys):
(JSC::ownPropertyKeys):
* runtime/ObjectConstructor.h:
* runtime/ReflectObject.cpp:
(JSC::reflectObjectOwnKeys):
* tests/stress/reflect-own-keys.js: Added.
(shouldBe):
(shouldThrow):
(shouldBeArray):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@187408
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
utatane.tea@gmail.com [Sun, 26 Jul 2015 20:52:58 +0000 (20:52 +0000)]
[ES6] Implement Reflect.apply
https://bugs.webkit.org/show_bug.cgi?id=147306
Reviewed by Sam Weinig.
Implement Reflect.apply.
The large part of this can be implemented by the @apply builtin annotation.
The only thing which is different from the Funciton.prototype.apply is the third parameter,
"argumentsList" is needed to be an object.
* builtins/ReflectObject.js:
(apply):
(deleteProperty):
* runtime/ReflectObject.cpp:
* tests/stress/reflect-apply.js: Added.
(shouldBe):
(shouldThrow):
(get shouldThrow):
(.get shouldThrow):
(get var.array.get length):
(get var.array.get 0):
(.get var):
* tests/stress/reflect-delete-property.js:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@187407
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz@apple.com [Sun, 26 Jul 2015 19:14:12 +0000 (19:14 +0000)]
Suppressed an Xcode 7 warning about including a nib in an iOS build product.
* Configurations/BaseLegacyProcess.xcconfig: Exclude xib files on iOS.
* Configurations/BaseXPCService.xcconfig: Ditto.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@187406
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
nvasilyev@apple.com [Sun, 26 Jul 2015 06:30:37 +0000 (06:30 +0000)]
Web Inspector: Start using Node.prototype.remove
https://bugs.webkit.org/show_bug.cgi?id=147304
Reviewed by Timothy Hatcher.
* UserInterface/Base/Main.js:
(WebInspector.elementDragStart):
(WebInspector.elementDragEnd):
(WebInspector.revertDomChanges):
* UserInterface/Views/DOMTreeElement.js:
(WebInspector.DOMTreeElement.prototype._updateSearchHighlight.updateEntryHide):
(WebInspector.DOMTreeElement.prototype._updateSearchHighlight):
(WebInspector.DOMTreeElement.prototype.remove.removeNodeCallback):
(WebInspector.DOMTreeElement.prototype.remove):
* UserInterface/Views/Resizer.js:
(WebInspector.Resizer.prototype._resizerMouseDown):
(WebInspector.Resizer.prototype._resizerMouseUp):
(WebInspector.Resizer):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@187405
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
nvasilyev@apple.com [Sun, 26 Jul 2015 06:23:10 +0000 (06:23 +0000)]
Web Inspector: Fix color declaration for not-executed comments
https://bugs.webkit.org/show_bug.cgi?id=147305
Reviewed by Timothy Hatcher.
* UserInterface/Views/SyntaxHighlightingDefaultTheme.css:
(.cm-s-default .basic-block-has-not-executed.cm-comment):
This was an RGB color mispelled as HSL. Replace "hsl" with "rgb"
and convert it to HSL.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@187404
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
nvasilyev@apple.com [Sun, 26 Jul 2015 06:19:48 +0000 (06:19 +0000)]
Web Inspector: Start using Node.prototype.replaceWith
https://bugs.webkit.org/show_bug.cgi?id=147303
Reviewed by Timothy Hatcher.
* UserInterface/Views/Popover.js:
(WebInspector.Popover.prototype._update):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@187403
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
nvasilyev@apple.com [Sun, 26 Jul 2015 05:46:30 +0000 (05:46 +0000)]
Web Inspector: Start using Node.prototype.append
https://bugs.webkit.org/show_bug.cgi?id=147301
Convert all instances of element.appendChild(document.createTextNode(aString))
to element.append(aString).
Reviewed by Timothy Hatcher.
* UserInterface/Base/DOMUtilities.js:
* UserInterface/Base/Main.js:
(WebInspector.linkifyLocation):
(WebInspector.linkifyStringAsFragmentWithCustomLinkifier):
* UserInterface/Models/Breakpoint.js:
(WebInspector.Breakpoint.prototype._editBreakpointPopoverContentElement):
* UserInterface/Views/BoxModelDetailsSectionRow.js:
(WebInspector.BoxModelDetailsSectionRow.prototype._updateMetrics):
* UserInterface/Views/CSSStyleDeclarationSection.js:
(WebInspector.CSSStyleDeclarationSection.prototype.refresh):
* UserInterface/Views/CSSStyleDetailsSidebarPanel.js:
(WebInspector.CSSStyleDetailsSidebarPanel):
* UserInterface/Views/ChartDetailsSectionRow.js:
(WebInspector.ChartDetailsSectionRow.prototype._createLegendItem):
* UserInterface/Views/ConsoleMessageView.js:
(WebInspector.ConsoleMessageView.prototype._appendMessageTextAndArguments):
(WebInspector.ConsoleMessageView.prototype._appendFormattedArguments):
* UserInterface/Views/DOMNodeDetailsSidebarPanel.js:
(WebInspector.DOMNodeDetailsSidebarPanel.prototype._refreshAccessibility.accessibilityPropertiesCallback):
(WebInspector.DOMNodeDetailsSidebarPanel.prototype._refreshAccessibility):
* UserInterface/Views/DOMTreeElement.js:
(WebInspector.DOMTreeElement.prototype._insertInLastAttributePosition):
(WebInspector.DOMTreeElement.prototype._buildAttributeDOM):
(WebInspector.DOMTreeElement.prototype._buildTagDOM):
(WebInspector.DOMTreeElement.prototype._nodeTitleInfo):
defaultElement variable is unused, remove it.
* UserInterface/Views/DataGrid.js:
(WebInspector.DataGridNode.prototype.createCell.get if):
(WebInspector.DataGridNode.prototype.createCell):
* UserInterface/Views/DebuggerDashboardView.js:
(WebInspector.DebuggerDashboardView.prototype._rebuildLocation):
* UserInterface/Views/EventListenerSectionGroup.js:
(WebInspector.EventListenerSectionGroup.prototype._functionTextOrLink):
(WebInspector.EventListenerSectionGroup):
* UserInterface/Views/FormattedValue.js:
(WebInspector.FormattedValue.createLinkifiedElementString):
(WebInspector.FormattedValue.createElementForNodePreview):
* UserInterface/Views/ObjectPreviewView.js:
(WebInspector.ObjectPreviewView.prototype._appendEntryPreviews):
(WebInspector.ObjectPreviewView.prototype._appendPropertyPreviews):
* UserInterface/Views/ResourceDetailsSidebarPanel.js:
(WebInspector.ResourceDetailsSidebarPanel.prototype._refreshRequestDataSection):
(WebInspector.ResourceDetailsSidebarPanel):
* UserInterface/Views/RulesStyleDetailsPanel.js:
(WebInspector.RulesStyleDetailsPanel.prototype.refresh.addNewRuleButton):
(WebInspector.RulesStyleDetailsPanel.prototype.refresh.insertMediaOrInheritanceLabel):
* UserInterface/Views/SearchResultTreeElement.js:
(WebInspector.SearchResultTreeElement.truncateAndHighlightTitle):
* UserInterface/Views/SyntaxHighlightingSupport.js:
(.appendText):
(WebInspector.syntaxHighlightStringAsDocumentFragment):
* UserInterface/Views/TimelineDataGridNode.js:
(WebInspector.TimelineDataGridNode.prototype.createCellContent):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@187402
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
utatane.tea@gmail.com [Sun, 26 Jul 2015 05:12:26 +0000 (05:12 +0000)]
[ES6] Add Reflect namespace and add Reflect.deleteProperty
https://bugs.webkit.org/show_bug.cgi?id=147287
Reviewed by Sam Weinig.
This patch just creates the namespace for ES6 Reflect APIs.
And add template files to implement the actual code.
Not to keep the JS generated properties C array empty,
we added one small method, Reflect.deleteProperty in this patch.
* CMakeLists.txt:
* DerivedSources.make:
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
* JavaScriptCore.xcodeproj/project.pbxproj:
* builtins/ReflectObject.js: Added.
(deleteProperty):
* runtime/CommonIdentifiers.h:
* runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::init):
* runtime/ReflectObject.cpp: Added.
(JSC::ReflectObject::ReflectObject):
(JSC::ReflectObject::finishCreation):
(JSC::ReflectObject::getOwnPropertySlot):
* runtime/ReflectObject.h: Added.
(JSC::ReflectObject::create):
(JSC::ReflectObject::createStructure):
* tests/stress/reflect-delete-property.js: Added.
(shouldBe):
(shouldThrow):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@187401
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap@apple.com [Sun, 26 Jul 2015 02:28:21 +0000 (02:28 +0000)]
REGRESSION (r186569): media/restore-from-page-cache.html is very flaky
https://bugs.webkit.org/show_bug.cgi?id=147254
* platform/mac/TestExpectations: Updated the expectations, because the problem is
not limited to Debug Mavericks.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@187399
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap@apple.com [Sun, 26 Jul 2015 02:13:33 +0000 (02:13 +0000)]
Remove an never failing check for client() in ResourceHandle::canAuthenticateAgainstProtectionSpace.
Requested by Brady Eidson in bug 147277.
* platform/network/mac/ResourceHandleMac.mm:
(WebCore::ResourceHandle::canAuthenticateAgainstProtectionSpace):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@187398
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap@apple.com [Sun, 26 Jul 2015 01:38:45 +0000 (01:38 +0000)]
REGRESSION?: Frame scrollability tests are very flaky
https://bugs.webkit.org/show_bug.cgi?id=147300
* platform/mac-wk2/TestExpectations: Marking them as such.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@187396
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap@apple.com [Sun, 26 Jul 2015 01:30:40 +0000 (01:30 +0000)]
inspector/css/modify-rule-selector.html times out (flakily on some platforms, and
every time on others).
https://bugs.webkit.org/show_bug.cgi?id=147229
* platform/gtk/TestExpectations:
* platform/mac-wk2/TestExpectations:
* platform/win/TestExpectations:
Added expectations.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@187395
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap@apple.com [Sun, 26 Jul 2015 01:01:05 +0000 (01:01 +0000)]
aria-liveregions-notifications tests are very flaky
https://bugs.webkit.org/show_bug.cgi?id=147299
* platform/mac/TestExpectations: Marked them as such.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@187394
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
timothy_horton@apple.com [Sun, 26 Jul 2015 00:31:46 +0000 (00:31 +0000)]
Expose TextIndicator-backed snapshot and rect gathering on DOMNode
https://bugs.webkit.org/show_bug.cgi?id=147298
<rdar://problem/
21905839>
Reviewed by Sam Weinig.
* bindings/objc/DOM.mm:
(-[DOMNode getPreviewSnapshotImage:andRects:]):
No need to multiply by device scale here.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@187393
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
timothy_horton@apple.com [Sat, 25 Jul 2015 23:28:18 +0000 (23:28 +0000)]
Expose TextIndicator-backed snapshot and rect gathering on DOMNode
https://bugs.webkit.org/show_bug.cgi?id=147298
<rdar://problem/
21905839>
* bindings/objc/DOM.mm:
(-[DOMNode getPreviewSnapshotImage:andRects:]):
* bindings/objc/DOMExtensions.h:
* bindings/objc/DOMPrivate.h:
Move this to a private header.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@187392
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
timothy_horton@apple.com [Sat, 25 Jul 2015 23:11:16 +0000 (23:11 +0000)]
Expose TextIndicator-backed snapshot and rect gathering on DOMNode
https://bugs.webkit.org/show_bug.cgi?id=147298
<rdar://problem/
21905839>
Reviewed by Sam Weinig.
* bindings/objc/DOM.mm:
(-[DOMNode getPreviewSnapshotImage:andRects:]):
* bindings/objc/DOMExtensions.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@187391
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
clopez@igalia.com [Sat, 25 Jul 2015 14:46:20 +0000 (14:46 +0000)]
REGRESSION (bmalloc): WebKit performance tests don't report memory stats.
https://bugs.webkit.org/show_bug.cgi?id=141247
Reviewed by Geoffrey Garen.
Meanwhile a better way of getting memory stats with bmalloc is not found
(see bug 136592), we can report as memory stats the resident set size
information that the operating system provides to us.
This at least should be good enough to get back the memory stats on the
performance tests and being able to track down memory usage regressions
at https://perf.webkit.org
* wtf/FastMalloc.cpp:
(WTF::fastMallocStatistics): Report maxrss data as committedVMBytes.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@187389
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rniwa@webkit.org [Sat, 25 Jul 2015 09:19:13 +0000 (09:19 +0000)]
Another build fix. Removed the unused argument.
* platform/graphics/ca/cocoa/PlatformCALayerCocoa.mm:
(PlatformCALayer::setTileSize):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@187388
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rniwa@webkit.org [Sat, 25 Jul 2015 08:07:49 +0000 (08:07 +0000)]
iOS build fix after r187384.
* platform/graphics/ca/cocoa/PlatformCALayerCocoa.mm:
(PlatformCALayer::setTileSize):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@187387
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cfleizach@apple.com [Sat, 25 Jul 2015 07:59:35 +0000 (07:59 +0000)]
AX: iOS: Video "start playback" playback controls not accessible
https://bugs.webkit.org/show_bug.cgi?id=147285
Reviewed by Jer Noble.
The start playback control also needs the right label.
* Modules/mediacontrols/mediaControlsiOS.js:
(ControllerIOS.prototype.createBase):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@187386
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
timothy_horton@apple.com [Sat, 25 Jul 2015 06:02:43 +0000 (06:02 +0000)]
Remove a file that was accidentally added in r142320
* PlatformMac.cmake:
* platform/mac/PlatformSpeechSynthesisMac.mm: Removed.
It looks like Chris added PlatformSpeechSynthesisMac and
PlatformSpeechSynthesizerMac but only meant to add the latter.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@187385
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
timothy_horton@apple.com [Sat, 25 Jul 2015 05:59:46 +0000 (05:59 +0000)]
Remove a file that was supposed to be removed in r158096
* platform/graphics/mac/WebTiledLayer.h: Removed.
* platform/graphics/mac/WebTiledLayer.mm: Removed.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@187384
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rniwa@webkit.org [Sat, 25 Jul 2015 05:38:22 +0000 (05:38 +0000)]
iOS 8 build fix attempt after r187215.
* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _snapshotRect:intoImageOfWidth:completionHandler:]): Deleted.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@187383
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jinwoo7.song@samsung.com [Sat, 25 Jul 2015 05:29:52 +0000 (05:29 +0000)]
[EFL] Build fix in ProtectionSpaceBase.cpp
https://bugs.webkit.org/show_bug.cgi?id=147289
Reviewed by Brent Fulgham.
Fix the build break for [-Werror=return-type] error.
* platform/network/ProtectionSpaceBase.cpp:
(WebCore::ProtectionSpaceBase::isPasswordBased):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@187382
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bfulgham@apple.com [Sat, 25 Jul 2015 04:32:11 +0000 (04:32 +0000)]
[Win] Test results gardening.
* platform/win/TestExpectations:
* platform/win/js/dom/global-constructors-attributes-expected.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@187381
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mmaxfield@apple.com [Sat, 25 Jul 2015 03:51:06 +0000 (03:51 +0000)]
text-overflow: ellipsis is broken by text-align: right and padding-left
https://bugs.webkit.org/show_bug.cgi?id=121902
Reviewed by Zalan Bujtas.
Source/WebCore:
Right offsets (which include padding) are not the same as widths (which don't).
Test: fast/inline/padding-ellipsis-right.html
* rendering/RenderBlockLineLayout.cpp:
(WebCore::updateLogicalWidthForRightAlignedBlock):
(WebCore::RenderBlockFlow::checkLinesForTextOverflow):
LayoutTests:
Updating expected results.
* fast/inline/padding-ellipsis-right-expected.html: Added.
* fast/inline/padding-ellipsis-right.html: Added.
* platform/mac/fast/css/text-overflow-ellipsis-text-align-center-expected.png:
* platform/mac/fast/css/text-overflow-ellipsis-text-align-center-expected.txt:
* platform/mac/fast/css/text-overflow-ellipsis-text-align-left-expected.png:
* platform/mac/fast/css/text-overflow-ellipsis-text-align-left-expected.txt:
* platform/mac/fast/css/text-overflow-ellipsis-text-align-right-expected.png:
* platform/mac/fast/css/text-overflow-ellipsis-text-align-right-expected.txt:
* platform/mac/fast/css/vertical-text-overflow-ellipsis-text-align-center-expected.png:
* platform/mac/fast/css/vertical-text-overflow-ellipsis-text-align-center-expected.txt:
* platform/mac/fast/css/vertical-text-overflow-ellipsis-text-align-left-expected.png:
* platform/mac/fast/css/vertical-text-overflow-ellipsis-text-align-right-expected.png:
* platform/mac/fast/css/vertical-text-overflow-ellipsis-text-align-right-expected.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@187380
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz@apple.com [Sat, 25 Jul 2015 03:41:08 +0000 (03:41 +0000)]
Tried to fix the iOS 9 build after r187375.
* platform/network/mac/CookieJarMac.mm:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@187379
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyungwook.lee@navercorp.com [Sat, 25 Jul 2015 03:13:39 +0000 (03:13 +0000)]
Unreviewed, updated my nick name in contributors.json
* Scripts/webkitpy/common/config/contributors.json:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@187378
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Sat, 25 Jul 2015 02:37:39 +0000 (02:37 +0000)]
[MSE] Incorrect sample timestamps when using "sequence" mode
https://bugs.webkit.org/show_bug.cgi?id=147252
Patch by Sajid Anwar <sajidanwar94@gmail.com> on 2015-07-24
Reviewed by Jer Noble.
Source/WebCore:
Test: media/media-source/media-source-sequence-timestamps.html
According to the specification, the "sequence" mode indicates that the samples in the buffer will use generated timestamps
instead of the presentation/decode timestamps already present in the sample. The current implementation always adds
the current timestamp offset to the samples' timestamps, as expected for "segments" mode.
Add a method to media samples to allow their presentation and decode timestamps to be set to specific values.
* Modules/mediasource/SourceBuffer.cpp:
(WebCore::SourceBuffer::sourceBufferPrivateDidReceiveSample): Fix an algorithm condition to align with the specification, and
correctly set the presentation and decode timestamps of samples when in "sequence" mode.
* platform/MediaSample.h:
* platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
(WebCore::MediaSampleAVFObjC::setTimestamps): Add a new method to set the values of a sample's presentation and decode timestamps.
* platform/mock/mediasource/MockBox.h:
(WebCore::MockBox::setTimestamps): Set m_presentationTimestamp and m_decodeTimestamp.
* platform/mock/mediasource/MockSourceBufferPrivate.cpp:
(WebCore::MockMediaSample::offsetTimestampsBy): Pass to MockBox.
* testing/Internals.cpp:
(WebCore::Internals::setShouldGenerateTimestamps): Expose the internal `setShouldGenerateTimestamps` method of SourceBuffer.
* testing/Internals.h:
* testing/Internals.idl:
LayoutTests:
* media/media-source/media-source-sequence-timestamps-expected.txt: Added.
* media/media-source/media-source-sequence-timestamps.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@187377
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Sat, 25 Jul 2015 01:08:19 +0000 (01:08 +0000)]
Don't create UIWebFormAccessory if we don't require accessory view.
https://bugs.webkit.org/show_bug.cgi?id=147283
Don't try to intialize _formAccessoryView if requiresAccessoryView returns false since we don't
need it yet.
Patch by Yongjun Zhang <yongjun_zhang@apple.com> on 2015-07-24
Reviewed by Dan Bernstein.
* UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView inputAccessoryView]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@187376
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Sat, 25 Jul 2015 00:33:03 +0000 (00:33 +0000)]
WKWebsiteDataStore remove methods don't properly delete cookies
https://bugs.webkit.org/show_bug.cgi?id=147282
rdar://problem/
21948230
Reviewed by Sam Weinig.
Source/WebCore:
Rename deleteCookiesForHostname to deleteCookiesForHostnames and
make it take a vector of hostnames instead.
Also, fix the Mac implementation to not be O(n2) by putting all cookies
in a dictionary keyed on the domain.
Also make sure to call _saveStorage after deleting cookies.
Finally, get rid of deleteCookiesForHostname from CookieJarCFNet.cpp and
use the Mac implementation on iOS as well. Just stub out deleteCookiesForHostnames
on Windows since nobody is calling it.
* platform/network/PlatformCookieJar.h:
* platform/network/cf/CookieJarCFNet.cpp:
(WebCore::deleteCookiesForHostnames):
(WebCore::deleteCookiesForHostname): Deleted.
* platform/network/mac/CookieJarMac.mm:
(WebCore::deleteCookiesForHostnames):
(WebCore::deleteAllCookiesModifiedSince):
(WebCore::deleteCookiesForHostname): Deleted.
* platform/network/soup/CookieJarSoup.cpp:
(WebCore::deleteCookiesForHostnames):
(WebCore::deleteCookiesForHostname): Deleted.
* platform/spi/cf/CFNetworkSPI.h:
Source/WebKit2:
* NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::deleteWebsiteDataForOrigins):
Call deleteCookiesForHostnames instead of iterating over each hostname.
* WebProcess/Cookies/WebCookieManager.cpp:
(WebKit::WebCookieManager::deleteCookiesForHostname):
Call deleteCookiesForHostnames.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@187375
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cfleizach@apple.com [Fri, 24 Jul 2015 23:26:34 +0000 (23:26 +0000)]
AX: scrollable elements do not allow 3-finger swipe
https://bugs.webkit.org/show_bug.cgi?id=141893
Reviewed by Mario Sanchez Prada.
Source/WebCore:
To allow iOS Accessibility to perform by-page scrolling in overflow areas, we move
that scrolling code into AccessibilityObject and then iterate all the possible ScrollableAreas,
rather than just finding the parents that are ScrollViews.
Test: platform/ios-simulator/accessibility/scroll-in-overflow-div.html
* accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::scrollAreaAndAncestor):
(WebCore::AccessibilityObject::scrollPosition):
(WebCore::AccessibilityObject::scrollVisibleContentRect):
(WebCore::AccessibilityObject::scrollContentsSize):
(WebCore::AccessibilityObject::scrollByPage):
* accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
(-[WebAccessibilityObjectWrapper accessibilityScroll:]):
(-[WebAccessibilityObjectWrapper convertPointToScreenSpace:]):
(-[WebAccessibilityObjectWrapper _accessibilityScrollPosition]):
(-[WebAccessibilityObjectWrapper _accessibilityScrollSize]):
(-[WebAccessibilityObjectWrapper _accessibilityScrollVisibleRect]):
(-[WebAccessibilityObjectWrapper accessibilityElementDidBecomeFocused]):
Tools:
Support global notification listeners for iOS code.
Fix an issue in DRT where the dictionary of data was not being passed back to the layout test for the notication callback.
Implement scrollUp/Down/Left/Right.
* DumpRenderTree/AccessibilityController.h:
* DumpRenderTree/AccessibilityUIElement.cpp:
(increaseTextSelectionCallback):
(scrollPageUpCallback):
(scrollPageDownCallback):
(scrollPageLeftCallback):
(scrollPageRightCallback):
(decreaseTextSelectionCallback):
(getElementTextLengthCallback):
(AccessibilityUIElement::getJSClass):
* DumpRenderTree/AccessibilityUIElement.h:
* DumpRenderTree/ios/AccessibilityControllerIOS.mm:
(AccessibilityController::~AccessibilityController):
(AccessibilityController::elementAtPoint):
(AccessibilityController::addNotificationListener):
(AccessibilityController::platformResetToConsistentState):
(AccessibilityController::removeNotificationListener):
* DumpRenderTree/ios/AccessibilityUIElementIOS.mm:
(AccessibilityUIElement::AccessibilityUIElement):
(AccessibilityUIElement::subrole):
(AccessibilityUIElement::scrollPageUp):
(AccessibilityUIElement::scrollPageDown):
(AccessibilityUIElement::scrollPageLeft):
(AccessibilityUIElement::scrollPageRight):
(AccessibilityUIElement::roleDescription):
* DumpRenderTree/mac/AccessibilityNotificationHandler.mm:
(-[AccessibilityNotificationHandler _notificationReceived:]):
* WebKitTestRunner/InjectedBundle/AccessibilityController.h:
* WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp:
(WTR::AccessibilityUIElement::linkedElement):
(WTR::AccessibilityUIElement::headerElementAtIndex):
(WTR::AccessibilityUIElement::assistiveTechnologySimulatedFocus):
(WTR::AccessibilityUIElement::scrollPageUp):
(WTR::AccessibilityUIElement::scrollPageDown):
(WTR::AccessibilityUIElement::scrollPageLeft):
(WTR::AccessibilityUIElement::scrollPageRight):
* WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
* WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl:
* WebKitTestRunner/InjectedBundle/ios/AccessibilityControllerIOS.mm:
(WTR::AccessibilityController::addNotificationListener):
(WTR::AccessibilityController::removeNotificationListener):
* WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:
(WTR::AccessibilityUIElement::AccessibilityUIElement):
(WTR::AccessibilityUIElement::assistiveTechnologySimulatedFocus):
(WTR::AccessibilityUIElement::scrollPageUp):
(WTR::AccessibilityUIElement::scrollPageDown):
(WTR::AccessibilityUIElement::scrollPageLeft):
(WTR::AccessibilityUIElement::scrollPageRight):
(WTR::AccessibilityUIElement::increaseTextSelection):
LayoutTests:
* platform/ios-simulator/accessibility/scroll-in-overflow-div-expected.txt: Added.
* platform/ios-simulator/accessibility/scroll-in-overflow-div.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@187371
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bfulgham@apple.com [Fri, 24 Jul 2015 23:24:38 +0000 (23:24 +0000)]
Source/WebCore:
[Win] Connect UserScript and UserStyleSheet through WebView.
https://bugs.webkit.org/show_bug.cgi?id=147279
<rdar://problem/
21990767>
Reviewed by Dean Jackson.
Tested by http/tests/security/contentSecurityPolicy/user-style-sheet-font-crasher.html as well
as many skipped tests.
* DerivedSources.cpp: Conditionally compile JSSecurityPolicyViolationEvent.cpp if CSP_NEXT is enabled.
* DerivedSources.make: Generate bindings for SecurityPolicyViolationEvent.idl.
* WebCore.vcxproj/WebCore.vcxproj: Add missing files.
* WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
Source/WebKit/win:
[Win] Connect UserScript and UserStyleSheet through WebView.
https://bugs.webkit.org/show_bug.cgi?id=147279
<rdar://problem/
21990767>
Reviewed by Dean Jackson.
* Interfaces/IWebViewPrivate.idl: Add updated API for 'addUserScriptToGroup' and
'addUserStyleSheetToGroup'
* WebView.cpp:
(WebView::addUserScriptToGroup): Add implementation.
(toStringVector): Added helper function.
(WebView::addUserStyleSheetToGroup): Add implementation.
(WebView::removeUserScriptFromGroup): Ditto.
(WebView::removeUserStyleSheetFromGroup): Ditto.
(WebView::removeUserScriptsFromGroup): Ditto.
(WebView::removeUserStyleSheetsFromGroup): Ditto.
(WebView::removeAllUserContentFromGroup): Ditto.
* WebView.h:
Tools:
[Win] Activate CSP_NEXT and Connect UserScript and UserStyleSheet through WebView.
https://bugs.webkit.org/show_bug.cgi?id=147279
<rdar://problem/
21990767>
Reviewed by Dean Jackson.
* DumpRenderTree/win/TestRunnerWin.cpp:
(TestRunner::addUserScript):
(TestRunner::addUserStyleSheet):
(TestRunner::setDeveloperExtrasEnabled):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@187370
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap@apple.com [Fri, 24 Jul 2015 22:43:42 +0000 (22:43 +0000)]
[Cocoa] Clean up server trust handling in ResourceHandle.
https://bugs.webkit.org/show_bug.cgi?id=147277
rdar://problem/
21394410
Reviewed by Brady Eidson.
* platform/network/ProtectionSpaceBase.h: (WebCore::ProtectionSpaceBase::isPasswordBased):
* platform/network/ProtectionSpaceBase.cpp: (WebCore::ProtectionSpaceBase::isPasswordBased):
Added. This is somewhat weak, as authentication schemes could change, but I couldn't find
any better way.
* platform/network/ResourceHandle.h:
* platform/network/cf/ResourceHandleCFNet.cpp:
(WebCore::ResourceHandle::didReceiveAuthenticationChallenge):
(WebCore::ResourceHandle::tryHandlePasswordBasedAuthentication):
* platform/network/mac/ResourceHandleMac.mm:
(WebCore::ResourceHandle::didReceiveAuthenticationChallenge):
(WebCore::ResourceHandle::tryHandlePasswordBasedAuthentication):
Factored out password handling, and made sure to not try that for server trust.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@187367
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zalan@apple.com [Fri, 24 Jul 2015 22:25:52 +0000 (22:25 +0000)]
[iOS]: Inline video controls are blurry on scaled-down pages on non-retina devices.
https://bugs.webkit.org/show_bug.cgi?id=147272
rdar://problem/
21429111
Reviewed by Simon Fraser.
Blurry inline video controls are the result of transform scaling up the content when the page
is zoomed out (page scale > 1).
This patch addresses the blurriness by switching to css zoom when the content is being scaled up.
While transform scale is a paint time operation, css zoom triggers layout and the content is getting
painted on a non-scaled graphics context.
* Modules/mediacontrols/mediaControlsiOS.css:
(audio::-webkit-media-controls-timeline-container):
* Modules/mediacontrols/mediaControlsiOS.js:
(ControllerIOS.prototype.set pageScaleFactor):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@187366
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mmaxfield@apple.com [Fri, 24 Jul 2015 22:15:50 +0000 (22:15 +0000)]
Add image for a blog post
* blog-files/el-capitan-system-font.png: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@187365
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Fri, 24 Jul 2015 22:01:01 +0000 (22:01 +0000)]
Networking process crash in NetworkConnectionToWebProcess::convertMainResourceLoadToDownload while attempting to download a blob
https://bugs.webkit.org/show_bug.cgi?id=147276
rdar://problem/
21423353
Reviewed by Andreas Kling.
We currently don't support downloading blobs, so for now just bail if we encounter a null loader inside
convertMainResourceLoadToDownload (which happens when trying to download a blob URL).
* NetworkProcess/NetworkConnectionToWebProcess.cpp:
(WebKit::NetworkConnectionToWebProcess::didCleanupResourceLoader):
Rewrite the assertion to be more clear - it's fine to do an extra hash lookup in debug builds.
(WebKit::NetworkConnectionToWebProcess::convertMainResourceLoadToDownload):
Bail if loader is null.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@187364
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
utatane.tea@gmail.com [Fri, 24 Jul 2015 21:45:21 +0000 (21:45 +0000)]
Avoid 2 times name iteration in Object.assign
https://bugs.webkit.org/show_bug.cgi?id=147268
Reviewed by Geoffrey Garen.
Object.assign calls Object.getOwnPropertyNames & Object.getOwnPropertySymbols to collect all the names.
But exposing the private API that collects both at the same time makes the API efficient when the given Object has so many non-indexed properties.
Since Object.assign is so generic API (some form of utility API), the form of the given Object is not expected.
So the taken object may have so many non-indexed properties.
In this patch, we introduce `ownEnumerablePropertyKeys` private function.
It is minor changed version of `[[OwnPropertyKeys]]` in the ES6 spec;
It only includes enumerable properties.
By filtering out the non-enumerable properties in the exposed private function,
we avoid calling @objectGetOwnPropertyDescriptor for each property at the same time.
* builtins/ObjectConstructor.js:
(assign):
* runtime/CommonIdentifiers.h:
* runtime/EnumerationMode.h:
* runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::init):
* runtime/ObjectConstructor.cpp:
(JSC::ownEnumerablePropertyKeys):
* runtime/ObjectConstructor.h:
* tests/stress/object-assign-enumerable.js: Added.
(shouldBe):
* tests/stress/object-assign-order.js: Added.
(shouldBe):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@187363
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ggaren@apple.com [Fri, 24 Jul 2015 21:29:07 +0000 (21:29 +0000)]
vmmap crash at JavaScriptCore: 0x31cd12f6 (the JavaScript malloc zone enumerator)
https://bugs.webkit.org/show_bug.cgi?id=147274
Reviewed by Anders Carlsson.
It's not really clear why vmmap sometimes fails to read the target
process, but we can avoid a crash when it does. This is useful because
you'll still get all the non-bmalloc data out of the target process,
and bmalloc might not even be relevant to your investigation.
* bmalloc/Zone.cpp:
(bmalloc::remoteRead): Check for failure.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@187362
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ggaren@apple.com [Fri, 24 Jul 2015 21:03:09 +0000 (21:03 +0000)]
JavaScriptCore bmalloc should not register its malloc zone more than once
https://bugs.webkit.org/show_bug.cgi?id=147273
Reviewed by Andreas Kling.
This was a goof: The Zone constructor, by virtue of running automatically,
was registering a Zone inside the analysis process.
* bmalloc/Zone.cpp:
(bmalloc::remoteRead): Clarify that the pointer is remote.
(bmalloc::enumerator):
(bmalloc::Zone::Zone):
* bmalloc/Zone.h: Separate the normal constructor and the remote constructor.
The remote constructor skips zone registration since its goal is not
to register a zone in the current process or do any allocation but rather
to mirror the bytes of the zone from the target process.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@187360
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap@apple.com [Fri, 24 Jul 2015 20:31:59 +0000 (20:31 +0000)]
Remove WEBCORE_EXPORT from Page::allowsMediaDocumentInlinePlayback()
https://bugs.webkit.org/show_bug.cgi?id=147260
Reviewed by Daniel Bates.
* page/Page.h:
(WebCore::Page::allowsMediaDocumentInlinePlayback):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@187358
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
basile_clement@apple.com [Fri, 24 Jul 2015 20:22:58 +0000 (20:22 +0000)]
Call fixChangeLogPatch when generating patches from webkit-patch
https://bugs.webkit.org/show_bug.cgi?id=147248
Reviewed by Geoffrey Garen.
When two consecutive patches are from the same author, diff tools
create wrong-looking diffs for ChangeLog files where the apparent added
author is actually the previous patch's author line, making it awkward
to read - and things only get worse when committing a patch and a
followup fix for the same bug shortly after.
We have a perl function in VCSUtils.pm, fixChangeLogPatch, to corrects
this, which we use in perl scripts (svn-create-patch et al). But it is
not used by webkit-patch, which is a python script, and thus creates
"bad" diffs.
In the long term, we should probably port fixChangeLogPatch to python -
but in the short term, let's make webkit-patch call perl to run
fixChangeLogPatch. We are already making various external calls there
anyway.
* Scripts/webkitpy/common/checkout/scm/git.py:
(Git.create_patch):
* Scripts/webkitpy/common/checkout/scm/scm.py:
(SCM.fix_changelog_patch):
* Scripts/webkitpy/common/checkout/scm/svn.py:
(SVN.create_patch):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@187357
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
utatane.tea@gmail.com [Fri, 24 Jul 2015 19:48:26 +0000 (19:48 +0000)]
Remove runtime flags for symbols
https://bugs.webkit.org/show_bug.cgi?id=147246
Reviewed by Alex Christensen.
Source/JavaScriptCore:
* runtime/ArrayPrototype.cpp:
(JSC::ArrayPrototype::finishCreation):
* runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::init): Deleted.
* runtime/JSGlobalObject.h:
* runtime/ObjectConstructor.cpp:
(JSC::ObjectConstructor::finishCreation):
* runtime/RuntimeFlags.h:
Source/WebKit/mac:
* WebView/WebPreferencesPrivate.h:
Source/WebKit/win:
* Interfaces/IWebPreferencesPrivate.idl:
Source/WebKit2:
* UIProcess/API/C/WKPreferencesRefPrivate.h:
* UIProcess/API/Cocoa/WKPreferencesPrivate.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@187356
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
utatane.tea@gmail.com [Fri, 24 Jul 2015 19:31:16 +0000 (19:31 +0000)]
Object.getOwnPropertySymbols on large list takes very long
https://bugs.webkit.org/show_bug.cgi?id=146137
Reviewed by Mark Lam.
Source/JavaScriptCore:
Before this patch, Object.getOwnPropertySymbols collects all the names including strings.
And after it's done, filter the names to only retrieve the symbols.
But it's so time consuming if the given object is a large non-holed array since it has
many indexed properties and all the indexes have to be converted to uniqued_strings and
added to the collection of property names (though they may not be of the requested type
and will be filtered out later)
This patch introduces PropertyNameMode.
We leverage this mode in 2 places.
1. PropertyNameArray side
It is set in PropertyNameArray and it filters the incoming added identifiers based on the mode.
It ensures that PropertyNameArray doesn't become so large in the pathological case.
And it ensures that non-expected typed keys by the filter (Symbols or Strings) are never added
to the property name array collections.
However it does not solve the whole problem because the huge array still incurs the many
"indexed property to uniqued string" conversion and the large iteration before adding the keys
to the property name array.
2. getOwnPropertyNames side
So we can use the PropertyNameMode in the caller side (getOwnPropertyNames) as a **hint**.
When the large iteration may occur, the caller side can use the PropertyNameMode as a hint to
avoid the iteration.
But we cannot exclusively rely on these caller side checks because it would require that we
exhaustively add the checks to all custom implementations of getOwnPropertyNames as well.
This process requires manual inspection of many pieces of code, and is error prone. Instead,
we only apply the caller side check in a few strategic places where it is known to yield
performance benefits; and we rely on the filter in PropertyNameArray::add() to reject the wrong
types of properties for all other calls to PropertyNameArray::add().
In this patch, there's a concept in use that is not clear just from reading the code, and hence
should be documented here. When selecting the PropertyNameMode for the PropertyNameArray to be
instantiated, we apply the following logic:
1. Only JavaScriptCore code is aware of ES6 Symbols.
We can assume that pre-existing external code that interfaces JSC are only looking for string named properties. This includes:
a. WebCore bindings
b. Serializer bindings
c. NPAPI bindings
d. Objective C bindings
2. In JSC, code that compute object storage space needs to iterate both Symbol and String named properties. Hence, use PropertyNameMode::Both.
3. In JSC, ES6 APIs that work with Symbols should use PropertyNameMode::Symbols.
4. In JSC, ES6 APIs that work with String named properties should use PropertyNameMode::Strings.
* API/JSObjectRef.cpp:
(JSObjectCopyPropertyNames):
* bindings/ScriptValue.cpp:
(Deprecated::jsToInspectorValue):
* bytecode/ObjectAllocationProfile.h:
(JSC::ObjectAllocationProfile::possibleDefaultPropertyCount):
* runtime/EnumerationMode.h:
(JSC::EnumerationMode::EnumerationMode):
(JSC::EnumerationMode::includeSymbolProperties): Deleted.
* runtime/GenericArgumentsInlines.h:
(JSC::GenericArguments<Type>::getOwnPropertyNames):
* runtime/JSGenericTypedArrayViewInlines.h:
(JSC::JSGenericTypedArrayView<Adaptor>::getOwnPropertyNames):
* runtime/JSLexicalEnvironment.cpp:
(JSC::JSLexicalEnvironment::getOwnNonIndexPropertyNames):
* runtime/JSONObject.cpp:
(JSC::Stringifier::Stringifier):
(JSC::Stringifier::Holder::appendNextProperty):
(JSC::Walker::walk):
* runtime/JSObject.cpp:
(JSC::JSObject::getOwnPropertyNames):
* runtime/JSPropertyNameEnumerator.cpp:
(JSC::JSPropertyNameEnumerator::create):
* runtime/JSPropertyNameEnumerator.h:
(JSC::propertyNameEnumerator):
* runtime/JSSymbolTableObject.cpp:
(JSC::JSSymbolTableObject::getOwnNonIndexPropertyNames):
* runtime/ObjectConstructor.cpp:
(JSC::objectConstructorGetOwnPropertyNames):
(JSC::objectConstructorGetOwnPropertySymbols):
(JSC::objectConstructorKeys):
(JSC::defineProperties):
(JSC::objectConstructorSeal):
(JSC::objectConstructorFreeze):
(JSC::objectConstructorIsSealed):
(JSC::objectConstructorIsFrozen):
* runtime/PropertyNameArray.h:
(JSC::PropertyNameArray::PropertyNameArray):
(JSC::PropertyNameArray::mode):
(JSC::PropertyNameArray::addKnownUnique):
(JSC::PropertyNameArray::add):
(JSC::PropertyNameArray::isUidMatchedToTypeMode):
(JSC::PropertyNameArray::includeSymbolProperties):
(JSC::PropertyNameArray::includeStringProperties):
* runtime/StringObject.cpp:
(JSC::StringObject::getOwnPropertyNames):
* runtime/Structure.cpp:
(JSC::Structure::getPropertyNamesFromStructure):
Source/WebCore:
* bindings/js/Dictionary.cpp:
(WebCore::Dictionary::getOwnPropertiesAsStringHashMap):
(WebCore::Dictionary::getOwnPropertyNames):
* bindings/js/SerializedScriptValue.cpp:
(WebCore::CloneSerializer::serialize):
* bridge/NP_jsobject.cpp:
(_NPN_Enumerate):
Source/WebKit/mac:
* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::enumerate):
Source/WebKit2:
* WebProcess/Plugins/Netscape/NPJSObject.cpp:
(WebKit::NPJSObject::enumerate):
LayoutTests:
* js/regress/object-get-own-property-symbols-on-large-array-expected.txt: Added.
* js/regress/object-get-own-property-symbols-on-large-array.html: Added.
* js/regress/script-tests/object-get-own-property-symbols-on-large-array.js: Added.
(trial):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@187355
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ddkilzer@apple.com [Fri, 24 Jul 2015 18:51:48 +0000 (18:51 +0000)]
REGRESSION (r187149): Build fails when CSS_SELECTORS_LEVEL4 is disabled
This is a follow-up fix to:
[CSS Selectors Level 4] Add #ifdefs to the new '>>' descendant combinator
<https://bugs.webkit.org/show_bug.cgi?id=147184>
* css/CSSParserValues.cpp:
(WebCore::CSSParserSelector::appendTagHistory):
* css/CSSParserValues.h:
* css/CSSSelector.h:
- Change ENABLE_CSS_SELECTORS_LEVEL4 to
ENABLE(CSS_SELECTORS_LEVEL4).
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@187353
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
drousso@apple.com [Fri, 24 Jul 2015 18:48:17 +0000 (18:48 +0000)]
Web Inspector: Editing non-inspector-stylesheet rule selectors fails after the first change
https://bugs.webkit.org/show_bug.cgi?id=147229
Reviewed by Timothy Hatcher.
Source/WebCore:
Test: inspector/css/modify-rule-selector.html
* inspector/InspectorStyleSheet.cpp:
(WebCore::InspectorStyleSheet::setRuleSelector):
Now checks to see if the stylesheet is not mutated before making the change to the
rule's selector, and if so mark it as not mutated to allow future edits.
LayoutTests:
* inspector/css/modify-rule-selector-expected.txt: Added.
* inspector/css/modify-rule-selector.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@187352
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
saambarati1@gmail.com [Fri, 24 Jul 2015 18:40:58 +0000 (18:40 +0000)]
[ES6] Add support for default parameters
https://bugs.webkit.org/show_bug.cgi?id=38409
Reviewed by Filip Pizlo.
Source/JavaScriptCore:
This patch implements ES6 default parameters according to the ES6
specification. This patch builds off the components introduced with
"let" scoping and parsing function parameters in the same parser
arena as the function itself. "let" scoping allows functions with default
parameter values to place their parameters under the TDZ. Parsing function
parameters in the same parser arena allows the FunctionParameters AST node
refer to ExpressionNodes.
The most subtle part of this patch is how we allocate lexical environments
when functions have default parameter values. If a function has default
parameter values then there must be a separate lexical environment for
its parameters. Then, the function's "var" lexical environment must have
the parameter lexical environment as its parent. The BytecodeGenerator
takes great care to not allocate the "var" lexical environment before its
really needed.
The "arguments" object for a function with default parameters will never be
a mapped arugments object. It will always be a cloned arugments object.
* bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::generate):
(JSC::BytecodeGenerator::BytecodeGenerator):
(JSC::BytecodeGenerator::~BytecodeGenerator):
(JSC::BytecodeGenerator::initializeDefaultParameterValuesAndSetupFunctionScopeStack):
(JSC::BytecodeGenerator::initializeNextParameter):
(JSC::BytecodeGenerator::initializeVarLexicalEnvironment):
(JSC::BytecodeGenerator::visibleNameForParameter):
(JSC::BytecodeGenerator::emitLoadGlobalObject):
(JSC::BytecodeGenerator::pushLexicalScopeInternal):
(JSC::BytecodeGenerator::pushLexicalScope):
(JSC::BytecodeGenerator::popLexicalScope):
* bytecompiler/BytecodeGenerator.h:
(JSC::BytecodeGenerator::lastOpcodeID):
* bytecompiler/NodesCodegen.cpp:
(JSC::FunctionNode::emitBytecode):
* jit/JITOperations.cpp:
* parser/ASTBuilder.h:
(JSC::ASTBuilder::createElementList):
(JSC::ASTBuilder::createFormalParameterList):
(JSC::ASTBuilder::appendParameter):
(JSC::ASTBuilder::createClause):
(JSC::ASTBuilder::createClauseList):
* parser/Nodes.h:
(JSC::FunctionParameters::size):
(JSC::FunctionParameters::at):
(JSC::FunctionParameters::hasDefaultParameterValues):
(JSC::FunctionParameters::append):
* parser/Parser.cpp:
(JSC::Parser<LexerType>::parseVariableDeclarationList):
(JSC::Parser<LexerType>::createBindingPattern):
(JSC::Parser<LexerType>::tryParseDestructuringPatternExpression):
(JSC::Parser<LexerType>::parseDestructuringPattern):
(JSC::Parser<LexerType>::parseFormalParameters):
(JSC::Parser<LexerType>::parseFunctionParameters):
* parser/Parser.h:
(JSC::Scope::declareParameter):
* parser/SyntaxChecker.h:
(JSC::SyntaxChecker::createElementList):
(JSC::SyntaxChecker::createFormalParameterList):
(JSC::SyntaxChecker::appendParameter):
(JSC::SyntaxChecker::createClause):
(JSC::SyntaxChecker::createClauseList):
* tests/stress/es6-default-parameters.js: Added.
(assert):
(shouldThrow):
(shouldThrowSyntaxError):
(shouldThrowTDZ):
(basic):
(basicFunctionCaptureInDefault.basicFunctionCaptureInDefault.basicCaptured):
(basicCaptured.basicCaptured.tricky):
(strict):
(playground):
(scoping):
(augmentsArguments1):
(augmentsArguments2):
(augmentsArguments3):
(augmentsArguments4):
(augmentsArguments5):
LayoutTests:
* js/destructuring-assignment-default-values-expected.txt:
* js/parser-syntax-check-expected.txt:
* js/script-tests/destructuring-assignment-default-values.js:
(shouldThrow): Deleted.
* js/script-tests/parser-syntax-check.js:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@187351
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 24 Jul 2015 18:39:41 +0000 (18:39 +0000)]
Web Inspector: Add custom parameter lists for new DOM append/prepend/before/after/replaceWith methods
https://bugs.webkit.org/show_bug.cgi?id=147257
Patch by Joseph Pecoraro <pecoraro@apple.com> on 2015-07-24
Reviewed by Timothy Hatcher.
* UserInterface/Models/NativeFunctionParameters.js:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@187350
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
calvaris@igalia.com [Fri, 24 Jul 2015 18:36:03 +0000 (18:36 +0000)]
Remove JS Promise constructor unused piece of code
https://bugs.webkit.org/show_bug.cgi?id=147262
Reviewed by Geoffrey Garen.
* runtime/JSPromiseConstructor.cpp:
(JSC::constructPromise): Deleted.
* runtime/JSPromiseConstructor.h: Removed JSC::constructPromise.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@187349
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mark.lam@apple.com [Fri, 24 Jul 2015 18:32:18 +0000 (18:32 +0000)]
Add WASM files to vcxproj files.
https://bugs.webkit.org/show_bug.cgi?id=147264
Reviewed by Geoffrey Garen.
This is a follow up to http://trac.webkit.org/changeset/187254 where WASM files
were introduced but were not able to be added to the vcxproj files yet.
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@187348
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
fpizlo@apple.com [Fri, 24 Jul 2015 18:23:13 +0000 (18:23 +0000)]
DFG::safeToExecute() is wrong for MultiGetByOffset, doesn't consider the structures of the prototypes that get loaded from
https://bugs.webkit.org/show_bug.cgi?id=147250
Reviewed by Geoffrey Garen.
This fixes a nasty - but currently benign - bug in DFG::safeToExecute(). That function
will tell you if hoisting a node to some point is safe in the sense that the node will
not crash the VM if it executes at that point. A node may be unsafe to execute if we
cannot prove that at that point, the memory it is loading is not garbage. This is a
necessarily loose notion - for example it's OK to hoist a load if we haven't proved
that the load makes semantic sense at that point, since anyway the place where the node
did get used will still be guarded by any such semantic checks. But because we may also
hoist uses of the load, we need to make sure that it doesn't produce a garbage value.
Also, we need to ensure that the load won't trap. Hence safeToExecute() returns true
anytime we can be sure that a node will not produce a garbage result (i.e. a malformed
JSValue or object pointer) and will not trap when executed at the point in question.
The bug is that this verification isn't performed for the loads from prototypes inside
MultiGetByOffset. DFG::ByteCodeParser will guard MultiGetByOffset with CheckStructure's
on the prototypes. So, hypothetically, you might end up hoisting a MultiGetByOffset
above those structure checks, which would mean that we might load a value from a memory
location without knowing that the location is valid. It might then return the value
loaded.
This never happens in practice. Those structure checks are more hoistable that the
MultiGetByOffset, since they read a strict subset of the MultiGetByOffset's abstract
heap reads. Also, we hoist in program order. So, those CheckStructure's will always be
hoisted before the MultiGetByOffset gets hoisted.
But we should fix this anyway. DFG::safeToExecute() has a clear definition of what a
"true" return means for IR transformations, and it fails in satisfying that definition
for MultiGetByOffset.
There are various approaches we can use for making this safe. I considered two:
1) Have MultiGetByOffset refer to the prototypes it is loading from in IR, so that we
can check if it's safe to load from them.
2) Turn off MultiGetByOffset hoisting when it will emit loads from prototypes, and the
prototype structure isn't being watched.
I ended up using (2), because it will be the most natural solution once I finish
https://bugs.webkit.org/show_bug.cgi?id=146929. Already now, it's somewhat more natural
than (1) since that requires more extensive IR changes. Also, (2) will give us what we
want in *most* cases: we will usually watch the prototype structure, and we will
usually constant-fold loads from prototypes. Both of these usually-true things would
have to become false for MultiGetByOffset hoisting to be disabled by this change.
This change also adds my attempt at a test, though it's not really a test of this bug.
This bug is currently benign. But, the test does at least trigger the logic to run,
which is better than nothing.
* dfg/DFGSafeToExecute.h:
(JSC::DFG::safeToExecute):
* tests/stress/multi-get-by-offset-hoist-around-structure-check.js: Added.
(foo):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@187347
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
simon.fraser@apple.com [Fri, 24 Jul 2015 17:51:05 +0000 (17:51 +0000)]
Recode.net gets into a continual resize loop in split fullscreen
https://bugs.webkit.org/show_bug.cgi?id=147266
rdar://problem/
21409047
Reviewed by Tim Horton.
In split fullscreen, we use fixed layout and scale to shrink pages down to
fit a given width. This is re-evaluated every time the document width changes.
However some pages, like recode.net, end up continually resizing because
when laid out unconstrained they use a narrower width than when laid out with
a fixed layout size. In fixed layout, they actually use more width than the fixed
layout size.
Detect and break this cycle by just not re-scaling when we've done one fixed layout,
and the document is now taking more width than the fixed layout width.
* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::TiledCoreAnimationDrawingArea::scaleViewToFitDocumentIfNeeded):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@187345
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 24 Jul 2015 16:07:30 +0000 (16:07 +0000)]
CSS "content" property is missing in getComputedStyles
https://bugs.webkit.org/show_bug.cgi?id=147255
Patch by Joseph Pecoraro <pecoraro@apple.com> on 2015-07-24
Reviewed by Simon Fraser.
Source/WebCore:
* css/CSSComputedStyleDeclaration.cpp:
LayoutTests:
* fast/css/getComputedStyle/computed-style-expected.txt:
* fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
* fast/css/getComputedStyle/resources/property-names.js:
* svg/css/getComputedStyle-basic-expected.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@187344
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ossy@webkit.org [Fri, 24 Jul 2015 14:49:18 +0000 (14:49 +0000)]
[EFL] many fast tests are flaky
https://bugs.webkit.org/show_bug.cgi?id=145835
Unreviewed gardening. These tests aren't flakey now, let's unskip them.
* platform/efl/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@187343
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ossy@webkit.org [Fri, 24 Jul 2015 14:17:14 +0000 (14:17 +0000)]
[EFL] Multi-column tests have been failed since r167808
https://bugs.webkit.org/show_bug.cgi?id=141496
Unreviewed gardening, updated expected results.
* platform/efl/TestExpectations:
* platform/efl/fast/multicol/client-rects-expected.png:
* platform/efl/fast/multicol/client-rects-expected.txt:
* platform/efl/fast/multicol/client-rects-spanners-complex-expected.png: Added.
* platform/efl/fast/multicol/client-rects-spanners-complex-expected.txt:
* platform/efl/fast/multicol/client-rects-spanners-expected.png: Added.
* platform/efl/fast/multicol/client-rects-spanners-expected.txt:
* platform/efl/fast/multicol/layers-split-across-columns-expected.png:
* platform/efl/fast/multicol/layers-split-across-columns-expected.txt:
* platform/efl/fast/multicol/newmulticol/client-rects-expected.png: Added.
* platform/efl/fast/multicol/newmulticol/client-rects-expected.txt:
* platform/efl/fast/multicol/pagination/LeftToRight-tb-hittest-expected.png: Added.
* platform/efl/fast/multicol/pagination/LeftToRight-tb-hittest-expected.txt: Added.
* platform/efl/fast/multicol/pagination/RightToLeft-rl-hittest-expected.png: Added.
* platform/efl/fast/multicol/pagination/RightToLeft-rl-hittest-expected.txt: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@187342
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ossy@webkit.org [Fri, 24 Jul 2015 14:06:53 +0000 (14:06 +0000)]
[EFL] Unreviewed gardening, unskip now passing tests.
* platform/efl/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@187341
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ossy@webkit.org [Fri, 24 Jul 2015 12:59:50 +0000 (12:59 +0000)]
[EFL] Unreviewed gardening. Updated since MEDIA_STREAM is enabled.
* platform/efl/js/dom/constructor-length-expected.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@187340
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ossy@webkit.org [Fri, 24 Jul 2015 12:51:49 +0000 (12:51 +0000)]
Remove the unused GCC workaround - std::is_trivially_destructible
https://bugs.webkit.org/show_bug.cgi?id=147226
Reviewed by Darin Adler.
* wtf/StdLibExtras.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@187339
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
carlosgc@webkit.org [Fri, 24 Jul 2015 12:06:34 +0000 (12:06 +0000)]
[GStreamer] Crashes during plugin installation
https://bugs.webkit.org/show_bug.cgi?id=144099
Reviewed by Philippe Normand.
Source/WebCore:
Add new methods to MediaPlayerClient and ChromeClient to request
the API layer to start the installer when there are missing media
plugins.
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::requestInstallMissingPlugins): Pass
the request to the ChromeClient.
* html/HTMLMediaElement.h:
* page/ChromeClient.h:
* platform/graphics/MediaPlayer.h:
(WebCore::MediaPlayerClient::requestInstallMissingPlugins):
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::~MediaPlayerPrivateGStreamer):
Invalidate any pending request to install missing media plugins.
(WebCore::MediaPlayerPrivateGStreamer::handleMessage): In case of
missing plugins message, start a request to install them if
supported by GST.
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
(WebCore::MediaPlayerRequestInstallMissingPluginsCallback::create):
(WebCore::MediaPlayerRequestInstallMissingPluginsCallback::MediaPlayerRequestInstallMissingPluginsCallback):
(WebCore::MediaPlayerRequestInstallMissingPluginsCallback::invalidate):
(WebCore::MediaPlayerRequestInstallMissingPluginsCallback::complete):
Source/WebKit2:
Move the missing plugins installation to the UI process, ensuring
there's a single installer running and cancelling the request when
the page is closed or the media player is deleted.
* PlatformEfl.cmake: Add new files to compilation.
* PlatformGTK.cmake: Ditto.
* UIProcess/WebPageProxy.h:
* UIProcess/WebPageProxy.messages.in: Add
RequestInstallMissingMediaPlugins message.
* UIProcess/gstreamer/WebPageProxyGStreamer.cpp: Added.
(WebKit::WebPageProxy::requestInstallMissingMediaPlugins): Call
gst_install_plugins_async() and send
DidEndRequestInstallMissingMediaPlugins message back to the web
process when done.
* WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::requestInstallMissingMediaPlugins): Call
WebPage::requestInstallMissingMediaPlugins().
* WebProcess/WebCoreSupport/WebChromeClient.h:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::close): Invalidate the install missing plugins
request callback.
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/WebPage.messages.in: Add
DidEndRequestInstallMissingMediaPlugins message.
* WebProcess/WebPage/gstreamer/WebPageGStreamer.cpp: Added.
(WebKit::WebPage::requestInstallMissingMediaPlugins): Send
RequestInstallMissingMediaPlugins to the UI process or complete
the request early if there's already a request in progress.
(WebKit::WebPage::didEndRequestInstallMissingMediaPlugins):
Complete the request.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@187338
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
carlosgc@webkit.org [Fri, 24 Jul 2015 11:58:52 +0000 (11:58 +0000)]
Unreviewed. Fix the build with MEDIA_STREAM disabled after r187282.
RealtimeMediaSource is only defined when MEDIA_STREAM is enabled.
* UIProcess/UserMediaPermissionRequestProxy.cpp:
* UIProcess/UserMediaPermissionRequestProxy.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@187337
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
carlosgc@webkit.org [Fri, 24 Jul 2015 11:27:32 +0000 (11:27 +0000)]
REGRESSION(r187100): [GTK] ASSERTION FAILED: Attempt to access post layout data before receiving it when typing backspace
https://bugs.webkit.org/show_bug.cgi?id=147196
Reviewed by Žan Doberšek.
Do not try to use the PostLayoutData from EditorState when
isMissingPostLayoutData is true. That happens when there's a
layout pending, and EditorStateChanged is sent again after that
layout with the post layout data. So we can just return early and
wait until the second message.
* UIProcess/API/gtk/WebKitEditorState.cpp:
(webkitEditorStateChanged):
* UIProcess/API/gtk/WebKitWebViewBase.cpp:
(webkitWebViewBaseUpdateTextInputState):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@187336
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 24 Jul 2015 08:03:51 +0000 (08:03 +0000)]
commit-queue flags in webkit-patch are confusing
https://bugs.webkit.org/show_bug.cgi?id=88694
Patch by Dean Johnson <dean_johnson@apple.com> on 2015-07-24
Reviewed by Csaba Osztrogonác.
* Scripts/webkitpy/tool/steps/options.py:
(Options): Updated help string to be more descriptive.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@187332
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
achristensen@apple.com [Fri, 24 Jul 2015 04:58:43 +0000 (04:58 +0000)]
Fix 32-bit build after r187272.
* UIProcess/mac/PageClientImpl.mm:
(WebKit::PageClientImpl::mediaDocumentNaturalSizeChanged):
Added some WK_API_ENABLED.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@187289
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz@apple.com [Fri, 24 Jul 2015 04:53:26 +0000 (04:53 +0000)]
<rdar://problem/
21929532> REGRESSION (r184026): Safari AutoFill with Contact info for phone number is broken
https://bugs.webkit.org/show_bug.cgi?id=147249
Reviewed by Sam Weinig.
* Shared/API/Cocoa/WKRemoteObjectCoder.mm:
(encodeObject): Use encodeString only for strings that encode as NSString or
NSMutableString. It can’t encode arbitrary NSString subclasses.
(decodeObject): Use decodeString for NSMutableString as well.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@187288
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
achristensen@apple.com [Fri, 24 Jul 2015 04:38:54 +0000 (04:38 +0000)]
[Win] Unreviewed build fix after r187245.
* PlatformWin.cmake:
Add GDIUtilities.cpp to CMake build.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@187287
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zalan@apple.com [Fri, 24 Jul 2015 04:16:02 +0000 (04:16 +0000)]
[iOS] REGRESSION (187131): Loading CuteOverload zooms in to the top left corner.
https://bugs.webkit.org/show_bug.cgi?id=147251
rdar://problem/
21953359
Calling zoomToRect() should result in essentially the same zoom scale as if we
called setZoomScale with the new page scale factor.
Reviewed by Benjamin Poulain.
* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _didCommitLayerTree:]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@187286
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 24 Jul 2015 02:35:37 +0000 (02:35 +0000)]
Implement WebAssembly modules
https://bugs.webkit.org/show_bug.cgi?id=147222
Patch by Sukolsak Sakshuwong <sukolsak@gmail.com> on 2015-07-23
Reviewed by Filip Pizlo.
Make JSWASMModule inherit from JSDestructibleObject so that the destructor is called.
* wasm/JSWASMModule.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@187283
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 24 Jul 2015 02:23:38 +0000 (02:23 +0000)]
Linking WebKit2 to be able to grab media sources from a UID
https://bugs.webkit.org/show_bug.cgi?id=147202
<rdar://problem/
21947608>
Patch by Matthew Daiter <mdaiter@apple.com> on 2015-07-23
Reviewed by Brent Fulgham.
Source/WebCore:
* WebCore.xcodeproj/project.pbxproj:
* platform/mediastream/RealtimeMediaSourceCenter.h:
* platform/mediastream/mac/AVCaptureDeviceManager.h:
* platform/mediastream/mac/AVCaptureDeviceManager.mm:
(WebCore::AVCaptureDeviceManager::sourceWithUID):
* platform/mediastream/mac/RealtimeMediaSourceCenterMac.cpp:
(WebCore::RealtimeMediaSourceCenterMac::sourceWithUID):
* platform/mediastream/mac/RealtimeMediaSourceCenterMac.h:
* platform/mediastream/openwebrtc/RealtimeMediaSourceCenterOwr.cpp:
(WebCore::RealtimeMediaSourceCenterOwr::sourceWithUID):
* platform/mediastream/openwebrtc/RealtimeMediaSourceCenterOwr.h:
* platform/mock/MockRealtimeMediaSourceCenter.cpp:
(WebCore::MockRealtimeMediaSourceCenter::sourceWithUID):
* platform/mock/MockRealtimeMediaSourceCenter.h:
Source/WebKit2:
* UIProcess/UserMediaPermissionRequestProxy.cpp:
(WebKit::UserMediaPermissionRequestProxy::getDeviceNameForUID):
* UIProcess/UserMediaPermissionRequestProxy.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@187282
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
achristensen@apple.com [Fri, 24 Jul 2015 01:22:28 +0000 (01:22 +0000)]
Unreviewed build fix after r187245.
* WebView.cpp:
WM_DPICHANGED is #defined, which causes problems if we try to use it as a variable name.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@187281
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mattbaker@apple.com [Fri, 24 Jul 2015 01:00:01 +0000 (01:00 +0000)]
Web Inspector: jittery cursor when adjusting time interval using timeline grabbers
https://bugs.webkit.org/show_bug.cgi?id=147095
Reviewed by Brian Burg.
* UserInterface/Views/TimelineRuler.css:
(.timeline-ruler.resizing-selection > .selection-drag):
Override selection-drag element's cursor when "resizing-selection" selector is applied.
(.timeline-ruler.allows-time-range-selection.creating-selection): Deleted.
Renamed "creating-selection" selector to "resizing-selection" to reflect its new role.
* UserInterface/Views/TimelineRuler.js:
(WebInspector.TimelineRuler.prototype._handleMouseMove):
(WebInspector.TimelineRuler.prototype._handleMouseUp):
(WebInspector.TimelineRuler.prototype._handleSelectionHandleMouseDown):
(WebInspector.TimelineRuler.prototype._handleSelectionHandleMouseUp):
Toggle cursor styles.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@187280
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
achristensen@apple.com [Fri, 24 Jul 2015 00:55:10 +0000 (00:55 +0000)]
Remove compile and runtime flags for promises.
https://bugs.webkit.org/show_bug.cgi?id=147244
Reviewed by Yusuke Suzuki.
.:
* Source/cmake/OptionsMac.cmake:
* Source/cmake/OptionsWindows.cmake:
* Source/cmake/WebKitFeatures.cmake:
Source/JavaScriptCore:
* API/JSCallbackObjectFunctions.h:
(JSC::JSCallbackObject<Parent>::JSCallbackObject):
* API/JSContextRef.cpp:
(JSGlobalContextCreateInGroup):
* Configurations/FeatureDefines.xcconfig:
* inspector/JSInjectedScriptHost.cpp:
(Inspector::JSInjectedScriptHost::getInternalProperties):
* runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::init):
(JSC::JSGlobalObject::visitChildren):
* runtime/JSGlobalObject.h:
(JSC::JSGlobalObject::create):
(JSC::JSGlobalObject::syntaxErrorConstructor):
(JSC::JSGlobalObject::typeErrorConstructor):
(JSC::JSGlobalObject::URIErrorConstructor):
(JSC::JSGlobalObject::promiseConstructor):
(JSC::JSGlobalObject::nullGetterFunction):
(JSC::JSGlobalObject::nullSetterFunction):
(JSC::JSGlobalObject::applyFunction):
(JSC::JSGlobalObject::definePropertyFunction):
(JSC::JSGlobalObject::arrayProtoValuesFunction):
(JSC::JSGlobalObject::initializePromiseFunction):
(JSC::JSGlobalObject::newPromiseDeferredFunction):
(JSC::JSGlobalObject::throwTypeErrorGetterSetter):
(JSC::JSGlobalObject::regExpPrototype):
(JSC::JSGlobalObject::errorPrototype):
(JSC::JSGlobalObject::iteratorPrototype):
(JSC::JSGlobalObject::promisePrototype):
(JSC::JSGlobalObject::debuggerScopeStructure):
(JSC::JSGlobalObject::withScopeStructure):
(JSC::JSGlobalObject::iteratorResultStructure):
(JSC::JSGlobalObject::iteratorResultStructureOffset):
(JSC::JSGlobalObject::regExpMatchesArrayStructure):
(JSC::JSGlobalObject::promiseStructure):
* runtime/JSPromise.cpp:
(JSC::JSPromise::result):
* runtime/JSPromise.h:
* runtime/JSPromiseConstructor.cpp:
(JSC::constructPromise):
* runtime/JSPromiseConstructor.h:
* runtime/JSPromiseDeferred.cpp:
(JSC::JSPromiseDeferred::visitChildren):
* runtime/JSPromiseDeferred.h:
* runtime/JSPromisePrototype.cpp:
(JSC::JSPromisePrototype::getOwnPropertySlot):
* runtime/JSPromisePrototype.h:
* runtime/RuntimeFlags.h:
* runtime/VM.cpp:
(JSC::VM::VM):
* runtime/VM.h:
Source/WebCore:
* Configurations/FeatureDefines.xcconfig:
* bindings/js/JSDOMPromise.cpp:
(WebCore::rejectPromiseWithExceptionIfAny):
* bindings/js/JSDOMPromise.h:
Source/WebKit/mac:
* Configurations/FeatureDefines.xcconfig:
* WebView/WebPreferencesPrivate.h:
Source/WebKit/win:
* Interfaces/IWebPreferencesPrivate.idl:
Source/WebKit2:
* Configurations/FeatureDefines.xcconfig:
* UIProcess/API/C/WKPreferencesRefPrivate.h:
* UIProcess/API/Cocoa/WKPreferencesPrivate.h:
Source/WTF:
* wtf/FeatureDefines.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@187279
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 24 Jul 2015 00:32:32 +0000 (00:32 +0000)]
AX: AccessibilityNodeObject::childrenChanged() generates too many AXLiveRegionChanged notifications
https://bugs.webkit.org/show_bug.cgi?id=147211
<rdar://problem/
19908029>
Patch by Nan Wang <n_wang@apple.com> on 2015-07-23
Reviewed by Chris Fleizach.
Source/WebCore:
AccessibilityNodeObject::childrenChanged() can be called repeatedly, generating a live region
change notification each time. Sometimes, so many happen that VoiceOver hangs. We can use a timer
to make sure that we coalesce these notifications.
Test: platform/mac/accessibility/aria-multiple-liveregions-notification.html
* accessibility/AXObjectCache.cpp:
(WebCore::AXComputedObjectAttributeCache::getIgnored):
(WebCore::AXObjectCache::AXObjectCache):
(WebCore::AXObjectCache::~AXObjectCache):
(WebCore::AXObjectCache::frameLoadingEventNotification):
(WebCore::AXObjectCache::postLiveRegionChangeNotification):
(WebCore::AXObjectCache::liveRegionChangedNotificationPostTimerFired):
(WebCore::AXObjectCache::handleScrollbarUpdate):
* accessibility/AXObjectCache.h:
* accessibility/AccessibilityNodeObject.cpp:
(WebCore::AccessibilityNodeObject::childrenChanged):
LayoutTests:
* platform/mac/accessibility/aria-liveregions-notifications-always-sent-expected.txt:
* platform/mac/accessibility/aria-liveregions-notifications-always-sent.html:
* platform/mac/accessibility/aria-liveregions-notifications-expected.txt:
* platform/mac/accessibility/aria-liveregions-notifications.html:
* platform/mac/accessibility/aria-multiple-liveregions-notification-expected.txt: Added.
* platform/mac/accessibility/aria-multiple-liveregions-notification.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@187278
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
timothy_horton@apple.com [Fri, 24 Jul 2015 00:19:58 +0000 (00:19 +0000)]
[iOS] Frame snapshots don't factor in page scale
https://bugs.webkit.org/show_bug.cgi?id=147239
<rdar://problem/
21905756>
Reviewed by Simon Fraser.
* page/FrameSnapshotting.cpp:
(WebCore::snapshotFrameRect):
Apply page scale when determining the backing store size and setting up the context.
* page/TextIndicator.cpp:
(WebCore::TextIndicator::createWithSelectionInFrame):
Don't assume snapshotFrameRect gave us an image with scale=deviceScale, because it
will factor in the pageScale too.
* platform/graphics/ImageBuffer.h:
(WebCore::ImageBuffer::resolutionScale):
Expose resolutionScale.
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::addToOverlapMap):
This has been true for a long time.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@187274
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jond@apple.com [Fri, 24 Jul 2015 00:08:54 +0000 (00:08 +0000)]
Adding Web Components to feature status page.
https://bugs.webkit.org/show_bug.cgi?id=147209
Reviewed by Timothy Hatcher.
* features.json:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@187273
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jer.noble@apple.com [Thu, 23 Jul 2015 23:46:59 +0000 (23:46 +0000)]
Notify the UI delegate when a MediaDocument's natural size changes
https://bugs.webkit.org/show_bug.cgi?id=147182
Reviewed by Simon Fraser.
Source/WebCore:
Notify the MediaDocument that it's underlying media element has changed its natural size, either when
the media engine notifies us that the size changed, or when the ready state progresses to HAVE_METADATA.
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::setReadyState): Notify the media document.
(WebCore::HTMLMediaElement::mediaPlayerSizeChanged): Ditto.
* html/MediaDocument.cpp:
(WebCore::MediaDocument::mediaElementNaturalSizeChanged): Pass to the chrome client.
* html/MediaDocument.h:
* page/ChromeClient.h:
Source/WebKit2:
Pipe notifications of media document natural size changes up from the chrome client, through
to the UIProcess, through the page client, through the WKWebView, to the UIDelegate.
* UIProcess/API/APIUIClient.h:
(API::UIClient::mediaDocumentNaturalSizeChanged):
* UIProcess/API/Cocoa/WKUIDelegatePrivate.h:
* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _mediaDocumentNaturalSizeChanged:]):
* UIProcess/API/Cocoa/WKWebViewInternal.h:
* UIProcess/Cocoa/UIDelegate.h:
* UIProcess/Cocoa/UIDelegate.mm:
(WebKit::UIDelegate::setDelegate):
(WebKit::UIDelegate::UIClient::mediaDocumentNaturalSizeChanged):
* UIProcess/PageClient.h:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::mediaDocumentNaturalSizeChanged):
* UIProcess/WebPageProxy.h:
* UIProcess/WebPageProxy.messages.in:
* UIProcess/ios/PageClientImplIOS.h:
* UIProcess/ios/PageClientImplIOS.mm:
(WebKit::PageClientImpl::mediaDocumentNaturalSizeChanged):
* UIProcess/mac/PageClientImpl.h:
* UIProcess/mac/PageClientImpl.mm:
(WebKit::PageClientImpl::mediaDocumentNaturalSizeChanged):
* WebProcess/WebCoreSupport/WebChromeClient.h:
* WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::mediaDocumentNaturalSizeChanged):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::mediaDocumentNaturalSizeChanged):
* WebProcess/WebPage/WebPage.h:
* UIProcess/API/gtk/PageClientImpl.h: Add default, empty implementation of new pure-virtual method.
* UIProcess/efl/WebViewEfl.h: Ditto.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@187272
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
simon.fraser@apple.com [Thu, 23 Jul 2015 23:43:35 +0000 (23:43 +0000)]
Layer z-ordering is incorrect when scrolling on page witih position:fixed
https://bugs.webkit.org/show_bug.cgi?id=147220
rdar://problem/
15849697&
21929247
Reviewed by Dean Jackson.
Source/WebCore:
Overlap testing for compositing uses the currently laid out position of fixed
elements, without taking into account the fact that async scrolling can move
them around, and possibly under other non-composited elements. This manifested
as position:fixed elements moving over other elements on some pages when
scrolling, when they should have moved behind.
Fix by expanding the overlap map entry for position:fixed elements to create
an rect for the area they cover at all scroll locations, taking min and max
scroll offsets into account.
Also add a couple more LOG(Compositing) statements.
Tests: compositing/layer-creation/fixed-overlap-extent-rtl.html
compositing/layer-creation/fixed-overlap-extent.html
* rendering/RenderLayerCompositor.cpp:
(WebCore::fixedPositionOffset):
(WebCore::RenderLayerCompositor::computeExtent):
(WebCore::RenderLayerCompositor::needsFixedRootBackgroundLayer):
(WebCore::RenderLayerCompositor::rootBackgroundTransparencyChanged):
LayoutTests:
Tests that reveal the overlap area by creating lots of small layers, and dumping
the layer tree.
* compositing/layer-creation/fixed-overlap-extent-expected.txt: Added.
* compositing/layer-creation/fixed-overlap-extent-rtl-expected.txt: Added.
* compositing/layer-creation/fixed-overlap-extent-rtl.html: Added.
* compositing/layer-creation/fixed-overlap-extent.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@187271
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ggaren@apple.com [Thu, 23 Jul 2015 23:33:05 +0000 (23:33 +0000)]
bmalloc: Shrink the super chunk size (again)
https://bugs.webkit.org/show_bug.cgi?id=147240
Reviewed by Andreas Kling.
Shrinking to 8MB reduced VM exhaustion crashes but did not eliminate them.
Let's try 4MB.
(My previous comment was that the maximum fast object was 2MB. But it
was 4MB! Now it's 2MB for realsies.)
* bmalloc/Sizes.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@187270
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
burg@cs.washington.edu [Thu, 23 Jul 2015 23:20:31 +0000 (23:20 +0000)]
Web Inspector: rewrite inspector-protocol/console tests to use new testing patterns
https://bugs.webkit.org/show_bug.cgi?id=147231
Reviewed by Joseph Pecoraro.
Restructure existing protocol tests for Console.messageAdded to use Promises and
modern event listener test interfaces. Add some new functionality to make it easier
install multiple protocol event listeners without clobbering.
This test also splits warnings-errors.html into two tests, one to cover CSS parser
warnings and one for JavaScript parser and runtime errors.
* http/tests/inspector-protocol/resources/InspectorTest.js:
(InspectorTest.sendCommand): Support arguments packaged in an object. This style is preferable
in tests because it is very explicit about what functionality and messages are covered.
(InspectorTest.awaitEvent): Added. This is a single-shot event listener that resolves a
promise when the desired protocol event is dispatched.
(InspectorTest.addEventListener): Reimplemented, based on code from WebInspector.Object.
Allows multiple listeners to be registered for a single protocol event.
(InspectorTest.AsyncTestSuite.prototype.runTestCases):
(InspectorTest.AsyncTestSuite):
(InspectorTest.SyncTestSuite.prototype.runTestCases):
(InspectorTest.SyncTestSuite):
(InspectorTest.log): Improve the formatting of test suite/test case output.
(InspectorFrontendAPI.dispatchMessageAsync): Dispatch to an array of listeners if available.
(InspectorTest.importScript): Clarify that this method performs a synchronous load.
(.InspectorTest.eventHandler.eventName): Deleted.
* inspector-protocol/async-test-suite-expected.txt: Rebaseline whitespace.
* inspector-protocol/sync-test-suite-expected.txt: Rebaseline whitespace.
* inspector-protocol/console/console-message-expected.txt:
* inspector-protocol/console/console-message.html:
* inspector-protocol/console/css-source-locations-expected.txt: Added.
* inspector-protocol/console/css-source-locations.html: Added.
* inspector-protocol/console/js-source-locations-expected.txt: Added.
* inspector-protocol/console/js-source-locations.html: Added.
* inspector-protocol/console/warnings-errors-expected.txt: Removed.
* inspector-protocol/console/warnings-errors.html: Removed.
* inspector-protocol/runtime/getProperties-expected.txt: Rebaseline whitespace.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@187269
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
enrica@apple.com [Thu, 23 Jul 2015 23:16:07 +0000 (23:16 +0000)]
Removing one incorrect annotation from the previous change.
Unreviewed.
* UIProcess/API/Cocoa/WKUIDelegatePrivate.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@187268
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
enrica@apple.com [Thu, 23 Jul 2015 23:08:11 +0000 (23:08 +0000)]
[iOS] Add another preview delegate for didDismissPreview.
https://bugs.webkit.org/show_bug.cgi?id=147241
rdar://problem/
21664211
Reviewed by Tim Horton and Yongjun Zhang.
* UIProcess/API/Cocoa/WKUIDelegatePrivate.h:
* UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _previewItemController:didDismissPreview:committing:]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@187267
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz@apple.com [Thu, 23 Jul 2015 23:06:44 +0000 (23:06 +0000)]
<rdar://problem/
21910578> Second pass at [iOS] Keyboard shortcuts that take focus away from the web view end up typing a letter into the newly focused field
https://bugs.webkit.org/show_bug.cgi?id=146732
Reviewed by Darin Adler.
* UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _interpretKeyEvent:isCharEvent:]): Rather than checking if the view is
first responder, which it might still be when the Web Content processes invokes this
callback, check if we are in editable content before forwarding the event to the keyboard.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@187266
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap@apple.com [Thu, 23 Jul 2015 22:53:12 +0000 (22:53 +0000)]
Windows test result gardening after Mac libxml changes.
* platform/win/fast/dom/adopt-attribute-crash-expected.txt: Added.
* platform/win/fast/parser/xml-colon-entity-expected.txt: Added.
* platform/win/fast/parser/xml-declaration-missing-ending-mark-expected.txt: Added.
* platform/win/svg/custom/bug78807-expected.txt: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@187265
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jer.noble@apple.com [Thu, 23 Jul 2015 22:32:51 +0000 (22:32 +0000)]
Unreviewed build fix after r187251; rename flag -> allows.
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::setAllowsMediaDocumentInlinePlayback):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@187264
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
achristensen@apple.com [Thu, 23 Jul 2015 22:29:51 +0000 (22:29 +0000)]
[iOS] Unreviewed build fix after r187251.
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::setAllowsMediaDocumentInlinePlayback):
Use the correct name for the boolean to pass along to SetAllowsMediaDocumentInlinePlayback.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@187263
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jer.noble@apple.com [Thu, 23 Jul 2015 22:23:28 +0000 (22:23 +0000)]
Relax media playback restrictions if the allowsMediaDocumentInlinePlayback property is set.
https://bugs.webkit.org/show_bug.cgi?id=147234
Reviewed by Darin Adler.
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::prepareForLoad): Moved restriction check into MediaElementSession.
* html/MediaElementSession.cpp:
(WebCore::MediaElementSession::playbackPermitted): Check if is a top-level media document and if
allowsMediaDocumentInilnePlayback is set, and return early.
(WebCore::MediaElementSession::effectivePreloadForElement): Ditto.
(WebCore::MediaElementSession::allowsAutomaticMediaDataLoading): Ditto.
* html/MediaElementSession.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@187262
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
enrica@apple.com [Thu, 23 Jul 2015 22:16:18 +0000 (22:16 +0000)]
One more iOS build fix.
Unreviewed.
* Platform/spi/ios/UIKitSPI.h:
* UIProcess/ios/WKContentViewInteraction.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@187259
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 23 Jul 2015 22:15:22 +0000 (22:15 +0000)]
Bridged passing lists of devices between the UIProcess and the WebProcess
https://bugs.webkit.org/show_bug.cgi?id=147056
<rdar://problem/
21883094>
Patch by Matthew Daiter <mdaiter@apple.com> on 2015-07-23
Reviewed by Brent Fulgham.
Source/WebCore:
* Modules/mediastream/UserMediaRequest.h: Added fields to store and
retrieve lists of devices
(WebCore::UserMediaRequest::deviceUIDsVideo):
(WebCore::UserMediaRequest::deviceUIDsAudio):
Source/WebKit2:
* UIProcess/UserMediaPermissionRequestManagerProxy.cpp: Modified file
to reflect changes made to the header in the .messages.in file
(WebKit::UserMediaPermissionRequestManagerProxy::createRequest): Ditto
(WebKit::UserMediaPermissionRequestManagerProxy::didReceiveUserMediaPermissionDecision):
* UIProcess/UserMediaPermissionRequestManagerProxy.h: Ditto
* UIProcess/UserMediaPermissionRequestProxy.cpp: Ditto
(WebKit::UserMediaPermissionRequestProxy::UserMediaPermissionRequestProxy):
* UIProcess/UserMediaPermissionRequestProxy.h:
(WebKit::UserMediaPermissionRequestProxy::create):
(WebKit::UserMediaPermissionRequestProxy::deviceUIDsVideo):
(WebKit::UserMediaPermissionRequestProxy::deviceUIDsAudio):
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::requestUserMediaPermissionForFrame):
* UIProcess/WebPageProxy.h:
* UIProcess/WebPageProxy.messages.in: Changed heading
* WebProcess/MediaStream/UserMediaPermissionRequestManager.cpp:
(WebKit::UserMediaPermissionRequestManager::startRequest):
(WebKit::UserMediaPermissionRequestManager::didReceiveUserMediaPermissionDecision):
* WebProcess/MediaStream/UserMediaPermissionRequestManager.h:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::didReceiveUserMediaPermissionDecision):
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/WebPage.messages.in: Changed heading
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@187258
268f45cc-cd09-0410-ab3c-
d52691b4dbfc