Timeline
Sep 14, 2016:
- 11:57 PM Changeset in webkit [205952] by
-
- 14 edits3 adds in branches/safari-602-branch
Merge r205938. rdar://problem/28227805
- 11:57 PM Changeset in webkit [205951] by
-
- 5 edits in branches/safari-602-branch
Merge r205878. rdar://problem/28229827
- 11:57 PM Changeset in webkit [205950] by
-
- 11 edits1 copy3 adds in branches/safari-602-branch
Merge r205870. rdar://problem/28225774
- 11:56 PM Changeset in webkit [205949] by
-
- 2 edits in branches/safari-602-branch/Source/WebKit2
Merge r205935. rdar://problem/26013388
- 11:56 PM Changeset in webkit [205948] by
-
- 6 edits in branches/safari-602-branch/Source/WebKit2
Merge r205934. rdar://problem/26013388
- 11:56 PM Changeset in webkit [205947] by
-
- 6 edits in branches/safari-602-branch/Source/WebKit2
Merge r205928. rdar://problem/26013388
- 9:54 PM Changeset in webkit [205946] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Call frame is sometimes not selected in Debugger sidebar on initial pause
https://bugs.webkit.org/show_bug.cgi?id=161835
<rdar://problem/28236680>
Reviewed by Joseph Pecoraro.
- UserInterface/Views/NavigationSidebarPanel.js:
(WebInspector.NavigationSidebarPanel):
(WebInspector.NavigationSidebarPanel.prototype._contentTreeOutlineTreeSelectionDidChange):
If a tree other than the newly selected element's tree has the selection,
deselect it to prevent multiple tree selections.
(WebInspector.NavigationSidebarPanel.prototype.show): Deleted.
Not needed since the selected tree is no longer tracked. Incidentally,
SidebarPanel.show was only called by SearchSidebarPanel, which doesn't need
to manage selection across multiple tree outlines.
- 9:32 PM Changeset in webkit [205945] by
-
- 4 edits in trunk/LayoutTests
Unreviewed, update ios-simulator-wk1 test expectations after migrating to iOS 10
- platform/ios-simulator-wk1/TestExpectations:
- platform/ios-simulator-wk2/TestExpectations:
- platform/ios-simulator/TestExpectations:
- 6:14 PM Changeset in webkit [205944] by
-
- 5 edits in trunk
ASSERT_NOT_REACHED when using spread inside an array literal with Function.prototype.apply
https://bugs.webkit.org/show_bug.cgi?id=162003
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-09-14
Reviewed by Saam Barati.
JSTests:
- stress/spread-calling.js:
- test262.yaml:
Source/JavaScriptCore:
- bytecompiler/NodesCodegen.cpp:
(JSC::ArrayNode::isSimpleArray):
Don't treat an Array that has a spread expression inside it as simple.
This avoids a fast path for f.apply(x, simpleArray) that was not handling
spread expressions within arrays, and instead taking a path that can
handle the spreading.
- 6:08 PM Changeset in webkit [205943] by
-
- 5 edits in branches/safari-602-branch/Source
Versioning.
- 5:33 PM Changeset in webkit [205942] by
-
- 14 edits in trunk/Source
Unreviewed, rolling out r205933 and r205936.
https://bugs.webkit.org/show_bug.cgi?id=162002
broke the build (Requested by keith_miller on #webkit).
Reverted changesets:
"Pragma out undefined-var-template warnings in JSC for
JSObjects that are templatized"
https://bugs.webkit.org/show_bug.cgi?id=161985
http://trac.webkit.org/changeset/205933
"Unreviewed, fix the Windows build."
http://trac.webkit.org/changeset/205936
- 5:19 PM Changeset in webkit [205941] by
-
- 21 edits4 adds2 deletes in trunk
WebCrypto algorithms should be exposed via KeyAlgorithm dictionary
https://bugs.webkit.org/show_bug.cgi?id=128748
<rdar://problem/27359438>
Reviewed by Brent Fulgham and Chris Dumez.
Source/WebCore:
Replace custom CryptoAlgorithmBuilder/buildAlgorithmDescription with KeyAlgorithm dictionary which is
defined by the spec: https://www.w3.org/TR/WebCryptoAPI/#key-algorithm-dictionary. Moreover, mark
CryptoKey.usages as CachedAttribute.
Tests: crypto/subtle/crypto-key-algorithm-gc.html
crypto/subtle/crypto-key-usages-gc.html
- PlatformEfl.cmake:
- PlatformGTK.cmake:
- PlatformMac.cmake:
Remove CryptoAlgorithmDescriptionBuilder.cpp.
- WebCore.xcodeproj/project.pbxproj:
- bindings/js/JSCryptoAlgorithmBuilder.cpp:
(WebCore::JSCryptoAlgorithmBuilder::add):
(WebCore::JSCryptoAlgorithmBuilder::createEmptyClone): Deleted.
- bindings/js/JSCryptoAlgorithmBuilder.h:
- bindings/js/JSCryptoKeyCustom.cpp:
(WebCore::JSCryptoKey::algorithm):
Get rid of dependency on CryptoAlgorithmDescriptionBuilder.
- crypto/CryptoAlgorithmDescriptionBuilder.cpp: Removed.
- crypto/CryptoAlgorithmDescriptionBuilder.h: Removed.
Replace it with KeyAlgorithm.
- crypto/CryptoKey.cpp:
(WebCore::CryptoKey::CryptoKey):
(WebCore::CryptoKey::buildAlgorithmDescription): Deleted.
- crypto/CryptoKey.h:
(WebCore::KeyAlgorithm::KeyAlgorithm):
(WebCore::KeyAlgorithm::~KeyAlgorithm):
(WebCore::CryptoKey::algorithmIdentifier):
- crypto/CryptoKey.idl:
Add KeyAlgorithm dictionary which is returned via CryptoKey.buildAlgorithm() method,
and rename m_algorithm to m_algorithmIdentifier to distingush it with newly
added KeyAlgorithm dictionary.
- crypto/gnutls/CryptoKeyRSAGnuTLS.cpp:
(WebCore::buildAlgorithm):
(WebCore::CryptoKeyRSA::buildAlgorithmDescription): Deleted.
- crypto/keys/CryptoKeyAES.cpp:
(WebCore::CryptoKeyAES::buildAlgorithm):
(WebCore::CryptoKeyAES::buildAlgorithmDescription): Deleted.
- crypto/keys/CryptoKeyAES.h:
(WebCore::AesKeyAlgorithm::AesKeyAlgorithm):
(WebCore::AesKeyAlgorithm::~AesKeyAlgorithm):
- crypto/keys/CryptoKeyHMAC.cpp:
(WebCore::CryptoKeyHMAC::buildAlgorithm):
(WebCore::CryptoKeyHMAC::buildAlgorithmDescription): Deleted.
- crypto/keys/CryptoKeyHMAC.h:
(WebCore::HmacKeyAlgorithm::HmacKeyAlgorithm):
(WebCore::HmacKeyAlgorithm::~HmacKeyAlgorithm):
- crypto/keys/CryptoKeyRSA.h:
(WebCore::RsaKeyAlgorithm::RsaKeyAlgorithm):
(WebCore::RsaKeyAlgorithm::~RsaKeyAlgorithm):
(WebCore::RsaHashedKeyAlgorithm::RsaHashedKeyAlgorithm):
(WebCore::RsaHashedKeyAlgorithm::~RsaHashedKeyAlgorithm):
- crypto/mac/CryptoKeyRSAMac.cpp:
(WebCore::CryptoKeyRSA::buildAlgorithm):
(WebCore::CryptoKeyRSA::buildAlgorithmDescription): Deleted.
LayoutTests:
- crypto/subtle/crypto-key-algorithm-gc-expected.txt: Added.
- crypto/subtle/crypto-key-algorithm-gc.html: Added.
- crypto/subtle/crypto-key-usages-gc-expected.txt: Added.
- crypto/subtle/crypto-key-usages-gc.html: Added.
- crypto/subtle/hmac-generate-key-expected.txt:
- crypto/subtle/hmac-generate-key.html:
- 5:16 PM Changeset in webkit [205940] by
-
- 1 copy in tags/Safari-602.2.8
New tag.
- 5:03 PM Changeset in webkit [205939] by
-
- 10 edits in trunk
REGRESSION (r205670): ASSERTION FAILED: methodTable(vm)->toThis(this, exec, NotStrictMode) == this
https://bugs.webkit.org/show_bug.cgi?id=161982
Reviewed by Saam Barati.
Source/JavaScriptCore:
Update JSProxy::setPrototype() to return false unconditionally instead
of forwarding the call to its target. We used to forward to the target
and then the JSDOMWindow's SetPrototypeOf would return false.
However, the JSC tests use a different GlobalObject and forwarding
the setPrototypeOf() call to the GlobalObject lead to hitting an
assertion. This patch aligns the behavior of the GlobalObject used by
the JSC tests with JSDOMWindow.
- runtime/JSProxy.cpp:
(JSC::JSProxy::setPrototype):
Source/WebCore:
We no longer need a custom SetPrototypeOf anymore as JSProxy::setPrototypeOf()
no longer forwards the call to its target.
No new layout tests because the behavior only changes in the context of the JSC
tests (which were updated in this patch).
- bindings/js/JSDOMWindowCustom.cpp:
(WebCore::JSDOMWindow::setPrototype): Deleted.
- page/DOMWindow.idl:
LayoutTests:
Bring back JSC test coverage that got lost in r205670.
- js/object-literal-shorthand-construction-expected.txt:
- js/script-tests/object-literal-shorthand-construction.js:
- js/script-tests/sloppy-getter-setter-global-object.js:
- js/sloppy-getter-setter-global-object-expected.txt:
- 4:51 PM Changeset in webkit [205938] by
-
- 14 edits3 adds in trunk
Media controls behave strangely when changing media sources
https://bugs.webkit.org/show_bug.cgi?id=161914
<rdar://problem/28227805>
Reviewed by Tim Horton.
Source/WebCore:
Addresses media controls flickering while changing the source of a media element. To accomplish this, we make
the following changes to the media controls main content heuristic:
- Prevent elements that are not mostly within the mainframe rect (or elements with empty rects) from showing media controls. Many websites that rely on same document navigation will move videos offscreen when navigating to a section of their site that does not play media. Without this check, we would not know to hide a video element on certain popular websites that use this technique, since the video has been interacted with in the past.
- Rather than check whether a media element currently has video/audio sources, check whether it has ever had audio. Many websites will use the same media element across different videos and change only the source, and we should not prevent a media element from having media controls on grounds of having no audio or video in this case.
- Rather than add user gesture and playback behavior restrictions before dispatching an ended event, add only the gesture restriction immediately, and add the playback restriction after waiting for a grace period only if the user has not interacted with the video since ending, and the video is not currently playing or about to play. This gives the user a chance to interact with the controls when a video ends, but also allows the page to load or begin playing a new video with the same media element without thrashing media control state.
Adds 3 new API tests.
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::HTMLMediaElement):
(WebCore::HTMLMediaElement::~HTMLMediaElement):
(WebCore::HTMLMediaElement::mediaPlayerActiveSourceBuffersChanged):
(WebCore::HTMLMediaElement::seekWithTolerance):
(WebCore::HTMLMediaElement::beginScrubbing):
(WebCore::HTMLMediaElement::addBehaviorRestrictionsOnEndIfNecessary):
(WebCore::HTMLMediaElement::mediaPlayerCharacteristicChanged):
(WebCore::HTMLMediaElement::playbackControlsManagerBehaviorRestrictionsTimerFired):
- html/HTMLMediaElement.h:
(WebCore::HTMLMediaElement::hasEverHadAudio):
(WebCore::HTMLMediaElement::hasEverHadVideo):
- html/MediaElementSession.cpp:
(WebCore::MediaElementSession::canShowControlsManager):
(WebCore::isElementRectMostlyInMainFrame):
- platform/graphics/MediaPlayer.h:
(WebCore::MediaPlayerClient::mediaPlayerActiveSourceBuffersChanged):
- platform/graphics/MediaPlayerPrivate.h:
(WebCore::MediaPlayerPrivateInterface::notifyActiveSourceBuffersChanged):
- platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:
- platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::notifyActiveSourceBuffersChanged):
- platform/graphics/avfoundation/objc/MediaSourcePrivateAVFObjC.mm:
(WebCore::MediaSourcePrivateAVFObjC::removeSourceBuffer):
(WebCore::MediaSourcePrivateAVFObjC::sourceBufferPrivateDidChangeActiveState):
Source/WebKit2:
Allows a web page to have an active video for a media control manager even if no audio or video is currently
being produced. This is because the media element may be in a state where it is changing its source and does not
currently have a video or audio track.
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::hasActiveVideoForControlsManager):
Tools:
Adds three new unit tests verifying that media controls remain stable during common
srcchange scenarios. Also
tweaks an existing test to account for newendedbehavior.
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebKit2Cocoa/VideoControlsManager.mm:
(-[VideoControlsManagerTestWebView waitForMediaControlsToShow]):
(-[VideoControlsManagerTestWebView waitForMediaControlsToHide]):
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/WebKit2Cocoa/change-video-source-on-click.html: Added.
- TestWebKitAPI/Tests/WebKit2Cocoa/change-video-source-on-end.html: Added.
- TestWebKitAPI/Tests/WebKit2Cocoa/large-video-offscreen.html: Added.
- 4:17 PM Changeset in webkit [205937] by
-
- 5 edits1 add in trunk
YARR doesn't check for invalid flags for literal regular expressions
https://bugs.webkit.org/show_bug.cgi?id=161995
Reviewed by Mark Lam.
JSTests:
New test.
- stress/regress-161995.js: Added.
(testStatic):
(catch):
Source/JavaScriptCore:
Added a new error and a check that the flags are valid when we create a
literal regular expression.
- runtime/RegExp.cpp:
(JSC::RegExp::finishCreation):
- yarr/YarrPattern.cpp:
(JSC::Yarr::YarrPattern::errorMessage):
(JSC::Yarr::YarrPattern::compile):
- yarr/YarrPattern.h:
- 4:15 PM Changeset in webkit [205936] by
-
- 2 edits in trunk/Source/JavaScriptCore
Unreviewed, fix the Windows build.
- runtime/HashMapImpl.cpp:
- 4:11 PM Changeset in webkit [205935] by
-
- 2 edits in trunk/Source/WebKit2
Add needsPlainTextQuirk and send it to the UIProcess
https://bugs.webkit.org/show_bug.cgi?id=161996
-and corresponding-
rdar://problem/26013388
Rubber-stamped by Simon Fraser.
Quick clean-up.
- WebProcess/WebPage/WebPage.cpp:
(WebKit::needsPlainTextQuirk):
- 4:00 PM Changeset in webkit [205934] by
-
- 6 edits in trunk/Source/WebKit2
Add needsPlainTextQuirk and send it to the UIProcess
https://bugs.webkit.org/show_bug.cgi?id=161996
-and corresponding-
rdar://problem/26013388
Reviewed by Anders Carlsson.
WebPageProxy should keep track of m_needsPlainTextQuirk.
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::setNeedsPlainTextQuirk):
- UIProcess/WebPageProxy.h:
(WebKit::WebPageProxy::needsPlainTextQuirk):
(WebKit::WebPageProxy::needsHiddenContentEditableQuirk): Deleted.
- UIProcess/WebPageProxy.messages.in:
If m_needsPlainTextQuirk is true, set it back to false on page transition.
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::didStartPageTransition):
The sites that need this quirk.
(WebKit::needsPlainTextQuirk):
(WebKit::WebPage::didChangeSelection):
- WebProcess/WebPage/WebPage.h:
- 3:32 PM Changeset in webkit [205933] by
-
- 13 edits in trunk/Source
Pragma out undefined-var-template warnings in JSC for JSObjects that are templatized
https://bugs.webkit.org/show_bug.cgi?id=161985
Reviewed by Geoffrey Garen.
Source/JavaScriptCore:
I started a true fix for this in
https://bugs.webkit.org/show_bug.cgi?id=161979, however the fix
for this issue is not sustainable. Since the scope of this issue
is just limited to the static const ClassInfo member it is
simpler to just pragma out this warning. This works because
COMDAT will, AFAIK, pick the actual specialization. If, in the
future, we want to expose these classes to WebCore we will need to
do what we do for JSGenericTypedArrayViews and create a custom
info() function with a switch.
This patch also fixes a bunch of weak external symbols due to one of:
1) out of line template member definitions functions not being marked inline.
2) inline member functions definitions being marked as exported.
3) missing header file includes for forward function declarations.
- API/JSCallbackObject.h:
- b3/B3ValueInlines.h:
(JSC::B3::Value::as):
- runtime/HashMapImpl.h:
- runtime/JSCJSValue.h:
(JSC::toUInt32): Deleted.
- runtime/JSGenericTypedArrayView.h:
(JSC::JSGenericTypedArrayView::setIndexQuicklyToDouble):
- runtime/JSGenericTypedArrayViewConstructor.h:
- runtime/JSGenericTypedArrayViewPrototype.h:
- runtime/MathCommon.h:
(JSC::toUInt32):
- runtime/TypedArrayAdaptors.h:
- runtime/VM.h:
(JSC::VM::watchdog):
(JSC::VM::heapProfiler):
(JSC::VM::samplingProfiler):
Source/WTF:
Fix WTF_EXPORT_PRIVATE for an inline member function. This would
generate a weak export.
- wtf/MetaAllocator.h:
(WTF::MetaAllocator::getLock):
- 3:27 PM Changeset in webkit [205932] by
-
- 13 edits in trunk
test262: TypedArray constructors length should be 3 and configurable
https://bugs.webkit.org/show_bug.cgi?id=161955
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-09-14
Reviewed by Mark Lam.
JSTests:
- test262.yaml:
Source/JavaScriptCore:
https://tc39.github.io/ecma262/#sec-ecmascript-standard-built-in-objects
Unless otherwise specified, the length property of a built-in Function
object has the attributes:
{ Writable: false, Enumerable: false, Configurable: true }.
- runtime/JSGenericTypedArrayViewConstructorInlines.h:
(JSC::JSGenericTypedArrayViewConstructor<ViewClass>::finishCreation):
LayoutTests:
- js/script-tests/typedarray-constructors.js:
- js/typedarray-constructors-expected.txt:
- js/dom/constructor-length.html:
- platform/efl/js/dom/constructor-length-expected.txt:
- platform/gtk/js/dom/constructor-length-expected.txt:
- platform/ios-simulator/js/dom/constructor-length-expected.txt:
- platform/mac/js/dom/constructor-length-expected.txt:
- platform/win/js/dom/constructor-length-expected.txt:
- 2:24 PM Changeset in webkit [205931] by
-
- 12 edits4 adds in trunk
[JSC] Make the rounding-related nodes support any type
https://bugs.webkit.org/show_bug.cgi?id=161895
Patch by Benjamin Poulain <bpoulain@apple.com> on 2016-09-14
Reviewed by Geoffrey Garen.
JSTests:
- stress/arith-ceil-on-various-types.js: Added.
- stress/arith-floor-on-various-types.js: Added.
- stress/arith-round-on-various-types.js: Added.
- stress/arith-trunc-on-various-types.js: Added.
Source/JavaScriptCore:
This patch changes ArithRound, ArithFloor, ArithCeil and ArithTrunc
to support polymorphic input without exiting on entry.
- dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
- dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::handleIntrinsicCall):
The 4 functions ignore any input past the first argument. It is okay
to use the nodes with the first argument and let the Phantoms keep
the remaining arguments live.
- dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
- dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
Our fixup had the issue we have seen on previous nodes: unaryArithShouldSpeculateInt32()
prevents us from picking a good type if we do not see any double.
- dfg/DFGNodeType.h:
- dfg/DFGOperations.cpp:
- dfg/DFGOperations.h:
- dfg/DFGPredictionPropagationPhase.cpp:
Prediction propagation of those nodes are fully determined
from their flags and results's prediction. They are moved
to the invariant processing.
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileArithRounding):
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileArithRound):
(JSC::FTL::DFG::LowerDFGToB3::compileArithFloor):
(JSC::FTL::DFG::LowerDFGToB3::compileArithCeil):
(JSC::FTL::DFG::LowerDFGToB3::compileArithTrunc):
- 2:15 PM Changeset in webkit [205930] by
-
- 5 edits2 adds in trunk/Source/WebInspectorUI
Web Inspector: Call Stack tree in the Debugger sidebar should mark the active call frame
https://bugs.webkit.org/show_bug.cgi?id=161945
<rdar://problem/28293451>
Reviewed by Joseph Pecoraro.
Add an indicator for the active call frame tree element, patterned after
Xcode's call stack UI. The indicator should be positioned on the left,
with a fill color based on the tree element's selected/focused state.
- UserInterface/Images/ActiveCallFrame.svg: Added.
Image for "active call frame" tree element status.
- UserInterface/Main.html:
New file.
- UserInterface/Views/CallFrameTreeElement.css: Added.
(.tree-outline .item.call-frame .status):
(.tree-outline .item.call-frame .status > .status-image):
(.tree-outline .item.call-frame.selected .status > .status-image):
(.tree-outline:matches(:focus, .force-focus) .item.call-frame.selected .status > .status-image):
New tree element styles.
- UserInterface/Views/CallFrameTreeElement.js:
(WebInspector.CallFrameTreeElement):
(WebInspector.CallFrameTreeElement.prototype.get callFrame):
(WebInspector.CallFrameTreeElement.prototype.get isActiveCallFrame):
(WebInspector.CallFrameTreeElement.prototype.set isActiveCallFrame):
Add property for toggling active call frame indicator.
(WebInspector.CallFrameTreeElement.prototype.onattach):
(WebInspector.CallFrameTreeElement.prototype._updateStatus):
- UserInterface/Views/DebuggerSidebarPanel.js:
(WebInspector.DebuggerSidebarPanel):
(WebInspector.DebuggerSidebarPanel.prototype._debuggerCallFramesDidChange):
(WebInspector.DebuggerSidebarPanel.prototype._debuggerActiveCallFrameDidChange):
- UserInterface/Views/Variables.css:
(:root):
New global for dark border color.
- 1:57 PM Changeset in webkit [205929] by
-
- 19 edits3 moves6 deletes in trunk/Source
[MediaStream] Minor cleanup
https://bugs.webkit.org/show_bug.cgi?id=161976
Reviewed by Youenn Fablet and Dean Jackson.
Source/WebCore:
No new tests, no behavior change.
- CMakeLists.txt:
- DerivedSources.make:
- Modules/mediastream/CaptureDeviceInfo.h: Removed.
- Modules/mediastream/CaptureDeviceManager.cpp: Removed.
- Modules/mediastream/CaptureDeviceManager.h: Removed.
- Modules/mediastream/MediaDevicesRequest.cpp:
(WebCore::MediaDevicesRequest::didCompletePermissionCheck):
(WebCore::MediaDevicesRequest::didCompleteTrackSourceInfoRequest): Deleted.
(WebCore::MediaDevicesRequest::requestOrigin): Deleted.
- Modules/mediastream/MediaDevicesRequest.h:
- Modules/mediastream/MediaStreamTrackSourcesCallback.h: Removed.
- Modules/mediastream/MediaStreamTrackSourcesCallback.idl: Removed.
- Modules/mediastream/SourceInfo.cpp: Removed.
- Modules/mediastream/SourceInfo.h: Removed.
- Modules/mediastream/SourceInfo.idl: Removed.
- WebCore.xcodeproj/project.pbxproj:
- platform/mediastream/CaptureDevice.h: Copied from Source/WebCore/Modules/mediastream/CaptureDeviceInfo.h.
(WebCore::CaptureDevice::CaptureDevice):
(WebCore::CaptureDevice::persistentId):
(WebCore::CaptureDevice::label):
(WebCore::CaptureDevice::groupId):
(WebCore::CaptureDevice::kind):
(WebCore::CaptureSessionInfo::~CaptureSessionInfo): Deleted.
(WebCore::CaptureSessionInfo::supportsVideoSize): Deleted.
(WebCore::CaptureSessionInfo::bestSessionPresetForVideoDimensions): Deleted.
- platform/mediastream/CaptureDeviceManager.cpp: Copied from Source/WebCore/Modules/mediastream/CaptureDeviceManager.cpp.
(CaptureDeviceManager::getSourcesInfo):
- platform/mediastream/CaptureDeviceManager.h: Copied from Source/WebCore/Modules/mediastream/CaptureDeviceManager.h.
(WebCore::CaptureSessionInfo::~CaptureSessionInfo):
(WebCore::CaptureSessionInfo::supportsVideoSize):
(WebCore::CaptureSessionInfo::bestSessionPresetForVideoDimensions):
- platform/mediastream/MediaStreamTrackSourcesRequestClient.h: Removed.
- platform/mediastream/RealtimeMediaSourceCenter.h:
- platform/mediastream/mac/AVCaptureDeviceManager.h:
- platform/mediastream/mac/AVCaptureDeviceManager.mm:
(WebCore::AVCaptureDeviceManager::getSourcesInfo):
- platform/mediastream/mac/RealtimeMediaSourceCenterMac.cpp:
(WebCore::RealtimeMediaSourceCenterMac::getMediaStreamDevices):
(WebCore::RealtimeMediaSourceCenterMac::getMediaStreamTrackSources): Deleted.
(WebCore::RealtimeMediaSourceCenterMac::sourceWithUID): Deleted.
- platform/mediastream/mac/RealtimeMediaSourceCenterMac.h:
- platform/mediastream/openwebrtc/RealtimeMediaSourceCenterOwr.cpp:
(WebCore::RealtimeMediaSourceCenterOwr::getMediaStreamDevices):
(WebCore::RealtimeMediaSourceCenterOwr::getMediaStreamTrackSources): Deleted.
(WebCore::RealtimeMediaSourceCenterOwr::sourceWithUID): Deleted.
- platform/mediastream/openwebrtc/RealtimeMediaSourceCenterOwr.h:
- platform/mock/MockRealtimeMediaSource.cpp:
(WebCore::MockRealtimeMediaSource::audioDeviceInfo):
(WebCore::MockRealtimeMediaSource::videoDeviceInfo):
(WebCore::MockRealtimeMediaSource::trackSourceWithUID): Deleted.
- platform/mock/MockRealtimeMediaSource.h:
- platform/mock/MockRealtimeMediaSourceCenter.cpp:
(WebCore::MockRealtimeMediaSourceCenter::getMediaStreamDevices):
(WebCore::MockRealtimeMediaSourceCenter::getMediaStreamTrackSources): Deleted.
(WebCore::MockRealtimeMediaSourceCenter::sourceWithUID): Deleted.
- platform/mock/MockRealtimeMediaSourceCenter.h:
Source/WebKit2:
- UIProcess/UserMediaPermissionRequestProxy.cpp:
- 1:56 PM Changeset in webkit [205928] by
-
- 6 edits in trunk/Source/WebKit2
Add needsHiddenContentEditableQuirk and send it to the UIProcess
https://bugs.webkit.org/show_bug.cgi?id=161984
-and corresponding-
rdar://problem/26013388
Reviewed by Anders Carlsson.
Keep track of m_needsHiddenContentEditableQuirk in WebPageProxy.
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::setNeedsHiddenContentEditableQuirk):
- UIProcess/WebPageProxy.h:
(WebKit::WebPageProxy::needsHiddenContentEditableQuirk):
(WebKit::WebPageProxy::hasHadSelectionChangesFromUserInteraction): Deleted.
- UIProcess/WebPageProxy.messages.in:
If m_needsHiddenContentEditableQuirk is true, set it back to false on page
transition.
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::didStartPageTransition):
Google Docs and iCloud Pages are the sites that need this quirk.
(WebKit::needsHiddenContentEditableQuirk):
(WebKit::WebPage::didChangeSelection):
- WebProcess/WebPage/WebPage.h:
- 1:51 PM Changeset in webkit [205927] by
-
- 9 edits in trunk/Source/WebCore
Move more code out from RenderObject
https://bugs.webkit.org/show_bug.cgi?id=161980
Reviewed by Zalan Bujtas.
Move some functions that are only needed for RenderElement there.
Move collapsing anonymous table rows to RenderTableRow.
- rendering/RenderElement.cpp:
(WebCore::RenderElement::hasOutlineAnnotation):
(WebCore::RenderElement::hasSelfPaintingLayer):
(WebCore::RenderElement::checkForRepaintDuringLayout):
- rendering/RenderElement.h:
(WebCore::RenderElement::hasOutline):
(WebCore::RenderElement::hasHiddenBackface): Deleted.
- rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::rootOrBodyStyleChanged):
- rendering/RenderObject.cpp:
(WebCore::RenderObject::pixelSnappedAbsoluteClippedOverflowRect):
(WebCore::RenderObject::destroyAndCleanupAnonymousWrappers):
(WebCore::RenderObject::hasSelfPaintingLayer): Deleted.
(WebCore::RenderObject::checkForRepaintDuringLayout): Deleted.
(WebCore::RenderObject::hasOutlineAnnotation): Deleted.
(WebCore::RenderObject::hasEntirelyFixedBackground): Deleted.
(WebCore::collapseAnonymousTableRowsIfNeeded): Deleted.
- rendering/RenderObject.h:
(WebCore::RenderObject::hasLayer):
(WebCore::RenderObject::canBeSelectionLeaf):
(WebCore::RenderObject::hasOutline): Deleted.
(WebCore::RenderObject::hasSelectedChildren): Deleted.
- rendering/RenderTableRow.cpp:
(WebCore::RenderTableRow::destroyAndCollapseAnonymousSiblingRows):
- rendering/RenderTableRow.h:
- rendering/RenderView.cpp:
(WebCore::RenderView::rootBackgroundIsEntirelyFixed):
- 1:46 PM Changeset in webkit [205926] by
-
- 4 edits in trunk/Source/WebCore
Switch CSSParser to use CSSParserFastPaths::isKeywordPropertyID()
https://bugs.webkit.org/show_bug.cgi?id=161983
Reviewed by David Hyatt.
Towards switching to the new CSS parser keyword properties validation logic,
switch over the old CSS parser logic for determining a keyword property to
use the analogous logic in the new CSS parser.
A side benefit of this change is that it is a step towards unifying CSS- and
SVG CSS- keyword properties. The new CSS parser does not make a distinction
between these kinds of properties and will allow us to have a shared code path
for validating a keyword property.
No functionality was changed. So, no new tests.
- css/parser/CSSParser.cpp: Include header CSSParserFastPaths.h.
(WebCore::isValidKeywordPropertyAndValue): Validate SVG CSS keyword properties. This
logic was moved from CSSParser::parseSVGValue(). In subsequent patches we will switch
the old CSS parser from this function to CSSParserFastPaths::isValidKeywordPropertyAndValue().
(WebCore::parseKeywordValue): Modified to call CSSParserFastPaths::isKeywordPropertyID().
(WebCore::CSSParser::parseValue): Ditto.
(WebCore::isKeywordPropertyID): Deleted. Incorporated its functionality into
CSSParserFastPaths::isKeywordPropertyID().
- css/parser/CSSParserFastPaths.cpp:
(WebCore::CSSParserFastPaths::isKeywordPropertyID): Incorporates the functionality
of WebCore::isKeywordPropertyID().
- css/parser/SVGCSSParser.cpp:
(WebCore::CSSParser::parseSVGValue): Move properties that can be processed as
keyword properties from here to WebCore::isValidKeywordPropertyAndValue().
- 1:41 PM Changeset in webkit [205925] by
-
- 5 edits in trunk/Source/JavaScriptCore
Remove Heap::setMarked()
Rubber stamped by Keith Miller.
Nobody uses this function.
- heap/Heap.h:
- heap/HeapInlines.h:
(JSC::Heap::setMarked): Deleted.
- heap/LargeAllocation.h:
(JSC::LargeAllocation::testAndSetMarked):
(JSC::LargeAllocation::setMarked): Deleted.
- heap/MarkedBlock.h:
- 1:12 PM Changeset in webkit [205924] by
-
- 3 edits in trunk/Source/WebCore
Rename parseColorParameters and clean up conditional
https://bugs.webkit.org/show_bug.cgi?id=161941
<rdar://problem/28292750>
Reviewed by Dan Bates.
In preparation for adding color() support, rename the existing
parseColorParameters to parseRGBParameters.
Also clean up the logic in the parseColorFromValue function.
- css/parser/CSSParser.cpp:
(WebCore::CSSParser::parseRGBParameters):
(WebCore::CSSParser::parseColorFromValue):
(WebCore::CSSParser::parseColorParameters): Deleted.
- css/parser/CSSParser.h:
- 12:56 PM Changeset in webkit [205923] by
-
- 4 edits in trunk
Add support hr.color IDL attribute
https://bugs.webkit.org/show_bug.cgi?id=161977
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
Rebaseline W3C test now that more checks are passing.
- web-platform-tests/html/dom/reflection-grouping-expected.txt:
Source/WebCore:
Add support hr.color IDL attribute as per:
Even though this is a legacy attribute, it is still part of the HTML specification
and it is still supported by Firefox and Chrome.
Also note that even though WebKit does not currently support the 'color' IDL
attribute on <hr>, it does support the 'color' content attribute on <hr>.
Therefore, we only need to reflect the 'color' content attribute.
No new tests, rebaselined existing test.
- html/HTMLHRElement.idl:
- 12:34 PM Changeset in webkit [205922] by
-
- 3 edits in trunk/Source/WebCore
URLParser: Add fast path for hosts containing no non-ASCII or percent characters
https://bugs.webkit.org/show_bug.cgi?id=161970
Reviewed by Daniel Bates.
Covered by existing tests.
- platform/URLParser.cpp:
(WebCore::URLParser::parse):
(WebCore::URLParser::parseHost):
- platform/URLParser.h:
When parsing the host of a URL, if it contains non-ASCII characters or percent-encoded values,
we need to do additional encoding. Many URLs, including all already-parsed URLs, do not have
such characters in their host, and therefore do not need the additional encoding. Skipping
the additional encoding significantly speeds up my URL parsing benchmark.
- 11:51 AM Changeset in webkit [205921] by
-
- 2 edits in trunk/Source/WTF
Atomics on ARM don't require full-system fencing, and other minutiae
https://bugs.webkit.org/show_bug.cgi?id=161928
Reviewed by Geoffrey Garen.
Add cmpxchg versions with both success and failure memory
ordering. In some interesting cases we can craft code which needs
barriers which aren't as strong.
weakCompareAndSwap is super dubious, its 3 uses seem
questionable... but for now I'm just adding debug asserts.
Rename armv7_dmb* functions to arm_dmb* because they apply to v7
and v8 (or more precisely; to ARMv7's ARM and Thumb2, as well as
ARMv8's aarch32 A32/T32 and aarch64).
Use inner-shareability domain for ARM barriers instead of
full-system. This is what C++ uses.
The default case for barriers simply used a compiler barrier. This
is generally wrong, e.g. for MIPS.
- wtf/Atomics.h:
(WTF::Atomic::compareExchangeWeak): offer two-order version
(WTF::Atomic::compareExchangeStrong): offer two-order version
(WTF::weakCompareAndSwap): a few assertions
(WTF::arm_dmb): rename since it applies to ARMv7 and v8; make it innser-shareable
(WTF::arm_dmb_st): rename since it applies to ARMv7 and v8; make it innser-shareable
(WTF::loadLoadFence): incorrect generally
(WTF::loadStoreFence): incorrect generally
(WTF::storeLoadFence): incorrect generally
(WTF::storeStoreFence): incorrect generally
(WTF::memoryBarrierAfterLock): incorrect generally
(WTF::memoryBarrierBeforeUnlock): incorrect generally
(WTF::armV7_dmb): Deleted.
(WTF::armV7_dmb_st): Deleted.
- 11:46 AM Changeset in webkit [205920] by
-
- 2 edits in trunk/Source/WebCore
ShowRenderTree should take position offset into account when printing inflow positioned renderers.
https://bugs.webkit.org/show_bug.cgi?id=161978
Reviewed by Simon Fraser.
Adjust (x, y) with the inflow positioned renderer's offset.
Not testable.
- rendering/RenderObject.cpp:
(WebCore::RenderObject::showRenderObject):
- 11:26 AM Changeset in webkit [205919] by
-
- 2 edits in branches/safari-602-branch/Source/JavaScriptCore
Merge r205882. rdar://problem/28233331
- 11:16 AM Changeset in webkit [205918] by
-
- 2 edits in trunk/Source/WebCore
URLParser: Add fast path for utf8 encoding queries
https://bugs.webkit.org/show_bug.cgi?id=161968
Reviewed by Daniel Bates.
No change in behavior. Covered by existing tests.
- platform/URLParser.cpp:
(WebCore::utf8PercentEncodeQuery):
(WebCore::URLParser::parse):
If the text encoding is UTF-8 (which is quite common), then we can encode the query
as we iterate its code points. This reduces memory allocation and significantly speeds
up my URL parsing benchmark.
- 10:55 AM Changeset in webkit [205917] by
-
- 4 edits in trunk/Source/JavaScriptCore
Use Options::validateExceptionChecks() instead of VM::m_verifyExceptionEvents.
https://bugs.webkit.org/show_bug.cgi?id=161975
Reviewed by Keith Miller.
This makes it less burdensome (no longer needs a rebuild to enable checks) to do
incremental work towards enabling checks all the time.
- runtime/Options.h:
- runtime/VM.cpp:
(JSC::VM::verifyExceptionCheckNeedIsSatisfied):
- runtime/VM.h:
- 10:48 AM Changeset in webkit [205916] by
-
- 5 edits in trunk
TaggedTemplateString function calls should emit tail position calls
https://bugs.webkit.org/show_bug.cgi?id=161948
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-09-14
Reviewed by Yusuke Suzuki.
JSTests:
- stress/tail-call-recognize.js:
(runTests):
Ensure a tagged template string function call is tail call.
- test262.yaml:
These now pass.
Source/JavaScriptCore:
- bytecompiler/NodesCodegen.cpp:
(JSC::TaggedTemplateNode::emitBytecode):
The tagged template string function call can be a tail call:
https://tc39.github.io/ecma262/#sec-tagged-templates-runtime-semantics-evaluation
- 10:44 AM Changeset in webkit [205915] by
-
- 3 edits in trunk/Source/WebKit2
Long tap menu on an image link no longer includes "Save Image" button
https://bugs.webkit.org/show_bug.cgi?id=161761
<rdar://27202717>
Patch by Megan Gardner <Megan Gardner> on 2016-09-14
Reviewed by Beth Dakin.
- UIProcess/ios/WKActionSheetAssistant.mm:
(-[WKActionSheetAssistant defaultActionsForImageSheet:]):
Added share to image sheet as to not regress current functionality
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::getPositionInformation):
Gather information for images as well as links, and they can be both
- 10:11 AM Changeset in webkit [205914] by
-
- 2 edits in trunk/Source/WTF
Alwasys inline atomic operations
https://bugs.webkit.org/show_bug.cgi?id=155371
Reviewed by Geoffrey Garen.
Fixes "build fails with memory model cannot be stronger than
success memory model for ‘atomic_compare_exchange’".
Pre-5 revisions of GCC at Os only generated an error message
related to invalid failure memory ordering. The reason is that
libstdc++ tries to be clever about enforcing the C++ standard's
clause [atomics.types.operations.req] ¶21 which states:
Requires: The failure argument shall not be
memory_order_releasenormemory_order_acq_rel. The failure
argument shall be no stronger than the success argument.
It fails at doing this because its inlining heuristics are
modified by Os, and they're not quite as dumb as O0 but not smart
enough to get to the good code at O1. Adding ALWAYS_INLINE fixes
the silliness at Os, leaves O1 great, and makes O0 slightly less
bad but still pretty bad.
The other good news is that I'm going to get this particular
problem fixed in the version of C++ which will come after C++17:
https://github.com/jfbastien/papers/blob/master/source/P0418r1.bs
While we're at it we should always inline all of these wrapped
functions because the generated code is horrendous if the memory
order isn't known at compile time.
- wtf/Atomics.h:
(WTF::Atomic::load):
(WTF::Atomic::store):
(WTF::Atomic::compareExchangeWeak):
(WTF::Atomic::compareExchangeStrong):
(WTF::Atomic::exchangeAndAdd):
(WTF::Atomic::exchange):
- 9:56 AM Changeset in webkit [205913] by
-
- 2 edits in trunk/Source/WebCore
Regression(r152725): generate-bindings.pl --write-dependencies does not work
https://bugs.webkit.org/show_bug.cgi?id=161897
Reviewed by Darin Adler.
r152725 inadvertently dropped the code generating the JS*.dep files when
--write-dependencies is passed to the bindings generator. As a result,
our dependency tracking was broken. This patch restores the code that
was dropped in r152725.
- bindings/scripts/CodeGeneratorJS.pm:
(new):
(GenerateHeader):
- 9:56 AM Changeset in webkit [205912] by
-
- 16 edits4 adds in trunk
input.type cannot be set to "file" after being set to another type
https://bugs.webkit.org/show_bug.cgi?id=161943
Reviewed by Daniel Bates.
LayoutTests/imported/w3c:
Rebaseline a couple of W3C tests now that more checks are passing.
- web-platform-tests/html/dom/reflection-forms-expected.txt:
- web-platform-tests/html/semantics/forms/the-input-element/type-change-state-expected.txt:
Source/WebCore:
input.type cannot be set to "file" after being set to another type.
This behavior does not match the HTML specification or the behavior
of Firefox and Chrome. This patch drops this restriction and aligns
our behavior with other browsers.
Test: fast/dom/HTMLInputElement/input-type-change-to-file.html
- html/FileInputType.cpp:
(WebCore::FileInputType::canChangeFromAnotherType): Deleted.
- html/FileInputType.h:
- html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::updateType):
- html/InputType.cpp:
(WebCore::InputType::canChangeFromAnotherType): Deleted.
- html/InputType.h:
LayoutTests:
- fast/dom/HTMLInputElement/input-type-change-to-file-expected.txt: Added.
- fast/dom/HTMLInputElement/input-type-change-to-file.html: Added.
- fast/dom/HTMLInputElement/input-type-file-security-expected.txt: Added
- fast/dom/HTMLInputElement/input-type-file-security.html: Added
Add layout test coverage. I have verified that these tests are passing in both
Firefox and Chrome.
- fast/forms/input-type-change3-expected.txt:
- fast/forms/input-type-change3.html:
- fast/forms/input-valueasnumber-unsupported-expected.txt:
- fast/forms/input-valueasnumber-unsupported.html:
Update existing tests to reflect behavior change.
- 9:55 AM Changeset in webkit [205911] by
-
- 1 edit5 adds in trunk/LayoutTests
Rebaseline tests added with r205905 for ios-simulator.
Unreviewed test gardening.
- platform/ios-simulator/fast/dom/HTMLImageElement/sizes/image-sizes-w3c-1-expected.txt: Added.
- platform/ios-simulator/fast/dom/HTMLImageElement/sizes/image-sizes-w3c-2-expected.txt: Added.
- platform/ios-simulator/fast/dom/HTMLImageElement/sizes/image-sizes-w3c-3-expected.txt: Added.
- platform/ios-simulator/fast/dom/HTMLImageElement/sizes/image-sizes-w3c-4-expected.txt: Added.
- 9:47 AM Changeset in webkit [205910] by
-
- 4 edits in trunk
test262: Array.prototype.slice should always set length
https://bugs.webkit.org/show_bug.cgi?id=161953
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-09-14
Reviewed by Mark Lam.
JSTests:
- test262.yaml:
Source/JavaScriptCore:
- runtime/ArrayPrototype.cpp:
(JSC::arrayProtoFuncSplice):
- 9:45 AM Changeset in webkit [205909] by
-
- 26 edits4 adds in trunk/Source
[GTK][Wayland] Implement clipboard support
https://bugs.webkit.org/show_bug.cgi?id=146574
Patch by Carlos Garnacho <carlosg@gnome.org> on 2016-09-14
Reviewed by Carlos Garcia Campos.
Source/WebCore:
Implement PlatformPasteboard in the GTK+ platform, and move Pasteboard
to using PasteboardStrategy so clipboard management is left to the
UIProcess.
DataObjectGtk is still used in the Pasteboard GTK implementation, it's
now just never backed by a GtkClipboard, this object is instead
serialized through PasteboardStrategy, so the UIProcess side can mirror
the content in a GtkClipboard-backed DataObjectGtk, which is then
exposed to the windowing through PlatformPasteboard/PasteboardHelper.
When requesting clipboard content, it works similarly, the UIProcess
side first updates its DataObjectGtk, which is then mirrored by the
WebProcess through the PasteboardStrategy requests.
- PlatformGTK.cmake: Added PlatformPasteboardGtk.cpp
- editing/gtk/EditorGtk.cpp:
(WebCore::Editor::writeSelectionToPasteboard): Eliminate usage of
PasteboardWebContent callback argument. This is done differently as
we have to signal back the WebProcess.
- platform/Pasteboard.h: Cleaned up of direct GTK+ dependency.
- platform/PasteboardStrategy.h: Added plumbing towards the pasteboard
proxy.
- platform/PlatformPasteboard.h:
- platform/gtk/DataObjectGtk.cpp:
(WebCore::DataObjectGtk::clearAllExceptFilenames): Clear the "smart
paste" flag if set, now that this is DataObjectGtk data.
- platform/gtk/DataObjectGtk.h:
(WebCore::DataObjectGtk::canSmartReplace):
(WebCore::DataObjectGtk::setCanSmartReplace): Added functions, in order
to flag whether a DataObjectGtk has the "smart paste" feature enabled
or not.
- platform/gtk/PasteboardGtk.cpp:
(WebCore::Pasteboard::createForCopyAndPaste):
(WebCore::Pasteboard::createForGlobalSelection):
(WebCore::Pasteboard::Pasteboard):
(WebCore::Pasteboard::writeToClipboard):
(WebCore::Pasteboard::readFromClipboard):
(WebCore::Pasteboard::writePlainText):
(WebCore::Pasteboard::write):
(WebCore::Pasteboard::writePasteboard):
(WebCore::Pasteboard::clear):
(WebCore::Pasteboard::canSmartReplace):
(WebCore::Pasteboard::read):
(WebCore::Pasteboard::hasData):
(WebCore::Pasteboard::types):
(WebCore::Pasteboard::readString):
(WebCore::Pasteboard::readFilenames): Made to use the
PasteboardStrategy instead of PasteboardHelper/GTK+ API.
- platform/gtk/PasteboardHelper.cpp:
(WebCore::PasteboardHelper::~PasteboardHelper):
(WebCore::ClipboardSetData::ClipboardSetData):
(WebCore::clearClipboardContentsCallback):
(WebCore::PasteboardHelper::writeClipboardContents): Remove the GClosure
to notify whether the global selection has been replaced. Use std:function
instead. Remove SmartPasteInclusion argument, now figured out through
DataObjectGtk canSmartPaste() member.
- platform/gtk/PasteboardHelper.h:
- platform/gtk/PlatformPasteboardGtk.cpp: Added.
(WebCore::PlatformPasteboard::PlatformPasteboard):
(WebCore::PlatformPasteboard::writeToClipboard):
(WebCore::PlatformPasteboard::readFromClipboard): Implemented
PlatformPasteboard using PasteboardHelper/GTK+ API.
Source/WebKit2:
Add the necessary plumbing for the GTK+ backend to use the
PlatformPasteboard in WebCore. All selection data is transmitted
at once through the serialization of PasteboardContentGtk/DataObjectGtk.
- PlatformGTK.cmake: Add PasteboardContentGtk.cpp and
WebPasteboardProxyGtk.cpp
- Shared/gtk/ArgumentCodersGtk.cpp:
(IPC::encode):
(IPC::decode): Renamed from encodeDataObject/decodeDataObject
and made public.
(IPC::ArgumentCoder<DragData>::encode):
(IPC::ArgumentCoder<DragData>::decode): Update DataObjectGtk
encode/decode callers. Encode the extra canSmartReplace field.
- Shared/gtk/ArgumentCodersGtk.h: Expose encode/decode methods for
DataObjectGtk.
- Shared/gtk/PasteboardContent.cpp: Added. Wraps a DataObjectGtk
so it can be serialized on WebProcess/UIProcess messaging.
(WebKit::PasteboardContent::PasteboardContent):
(WebKit::PasteboardContent::encode):
(WebKit::PasteboardContent::decode): Methods to encode/decode a
PasteboardContent.
- Shared/gtk/PasteboardContent.h: Added.
- UIProcess/WebFrameProxy.cpp:
(WebKit::WebFrameProxy::collapseSelection): Added plumbing to allow
collapsing the global selection from the UI process side.
- UIProcess/WebFrameProxy.h:
- UIProcess/WebPasteboardProxy.h:
- UIProcess/WebPasteboardProxy.messages.in: Added plumbing for the
GTK+ pasteboard proxy functions.
- UIProcess/gtk/WebPageProxyGtk.cpp:
(WebKit::WebPageProxy::editorStateChanged):
- UIProcess/gtk/WebPasteboardProxyGtk.cpp: Added.
(WebKit::WebPasteboardProxy::writeToClipboard):
(WebKit::WebPasteboardProxy::readFromClipboard): Implemented functions
hooking into the PlatformPasteboard. Per-selection (ie.
primary/clipboard) PlatformPasteboards are kept at this level, so those
are independently set and dealt with.
(WebKit::WebPasteboardProxy::setPrimarySelectionOwner):
(WebKit::WebPasteboardProxy::didDestroyFrame): Implemented functions
to manage the frame currently being currently interacted, so we can
signal back when the global selection has been replaced.
- WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
(WebKit::WebPlatformStrategies::writeToClipboard):
(WebKit::WebPlatformStrategies::readFromClipboard): Added methods to
send the WebProcess->UIProcess messages.
- WebProcess/WebCoreSupport/WebPlatformStrategies.h:
- WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp:
(WebKit::WebEditorClient::updateGlobalSelection): Remove GClosure to
get notifications about changes in global selection ownership. This
is done through a WebPage message now, as the UI process manages the
clipboard.
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in:
- WebProcess/WebPage/gtk/WebPageGtk.cpp:
(WebKit::WebPage::collapseSelectionInFrame): Added methods to send
the UIProcess->WebProcess notification that the global selection has
been replaced.
- 9:40 AM Changeset in webkit [205908] by
-
- 4 edits in trunk/LayoutTests
LayoutTest http/tests/security/cross-origin-cached-scripts-parallel.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=161912
Patch by Youenn Fablet <youenn@apple.com> on 2016-09-14
Reviewed by Alexey Proskuryakov.
- TestExpectations: Removing flaky expectation.
- http/tests/security/cross-origin-cached-scripts-parallel-expected.txt:
- http/tests/security/cross-origin-cached-scripts-parallel.html: Increase timeout to ensure load is made in parallel.
Fixed flakiness by doing parallel loads in two shots of two, in lieu of 1 shot of 4.
- 9:23 AM Changeset in webkit [205907] by
-
- 3 edits in trunk/LayoutTests
Marking inspector/console/messagesCleared.html as flaky on mac-debug.
https://bugs.webkit.org/show_bug.cgi?id=152025
Unreviewed test gardening.
- platform/mac-wk2/TestExpectations:
- platform/mac/TestExpectations:
- 9:22 AM Changeset in webkit [205906] by
-
- 2 edits in trunk/LayoutTests
Marking fast/scrolling/arrow-key-scroll-in-rtl-document.html as flaky on mac-wk2.
https://bugs.webkit.org/show_bug.cgi?id=161549
Unreviewed test gardening.
- platform/mac-wk2/TestExpectations:
- 8:54 AM Changeset in webkit [205905] by
-
- 18 edits10 adds2 deletes in trunk
[CSS Parser] Enable the new sizes parser by default
https://bugs.webkit.org/show_bug.cgi?id=161931
Reviewed by Zalan Bujtas.
Source/WebCore:
Added new tests in fast/dom/HTMLImageElement/sizes.
- CMakeLists.txt:
- WebCore.xcodeproj/project.pbxproj:
- css/CSSGrammar.y.in:
Remove the old code that parsed source size lists.
- css/MediaQueryEvaluator.cpp:
(WebCore::MediaQueryEvaluator::MediaQueryEvaluator):
- css/MediaQueryEvaluator.h:
Change to take a const Document&, since the Document is not modified.
- css/SourceSizeList.cpp: Removed.
- css/SourceSizeList.h: Removed.
- css/parser/CSSParser.cpp:
(WebCore::CSSParser::parseSizesAttribute): Deleted.
(WebCore::CSSParser::SourceSize::SourceSize): Deleted.
(WebCore::CSSParser::sourceSize): Deleted.
- css/parser/CSSParser.h:
Remove the old sizes processing code.
- css/parser/MediaQueryParser.cpp:
(WebCore::MediaQueryParser::skipUntilComma):
(WebCore::MediaQueryParser::parseInternal):
Fix a bug I introduced when modifying this code from Blink. The Nones should have been Nots.
- css/parser/SizesAttributeParser.cpp:
(WebCore::SizesAttributeParser::computeLength):
(WebCore::SizesAttributeParser::SizesAttributeParser):
(WebCore::SizesAttributeParser::calculateLengthInPixels):
(WebCore::SizesAttributeParser::mediaConditionMatches):
(WebCore::SizesAttributeParser::effectiveSizeDefaultValue):
- css/parser/SizesAttributeParser.h:
- css/parser/SizesCalcParser.cpp:
(WebCore::SizesCalcParser::SizesCalcParser):
(WebCore::SizesCalcParser::appendLength):
- css/parser/SizesCalcParser.h:
Make the sizes parsers take a Document, since having separate style and view arguments made
no sense, given that the style used is always the view's.
- html/HTMLImageElement.cpp:
(WebCore::HTMLImageElement::bestFitSourceFromPictureElement):
(WebCore::HTMLImageElement::selectImageSource):
- html/parser/HTMLPreloadScanner.cpp:
(WebCore::TokenPreloadScanner::StartTagScanner::processAttributes):
Switch image elements and the preload scanner over to the new code.
LayoutTests:
- fast/dom/HTMLImageElement/resources/green-16x16.png: Added.
- fast/dom/HTMLImageElement/resources/green-1x1.png: Added.
- fast/dom/HTMLImageElement/sizes/image-sizes-invalids-expected.txt:
- fast/dom/HTMLImageElement/sizes/image-sizes-invalids.html:
- fast/dom/HTMLImageElement/sizes/image-sizes-w3c-1-expected.txt: Added.
- fast/dom/HTMLImageElement/sizes/image-sizes-w3c-1.html: Added.
- fast/dom/HTMLImageElement/sizes/image-sizes-w3c-2-expected.txt: Added.
- fast/dom/HTMLImageElement/sizes/image-sizes-w3c-2.html: Added.
- fast/dom/HTMLImageElement/sizes/image-sizes-w3c-3-expected.txt: Added.
- fast/dom/HTMLImageElement/sizes/image-sizes-w3c-3.html: Added.
- fast/dom/HTMLImageElement/sizes/image-sizes-w3c-4-expected.txt: Added.
- fast/dom/HTMLImageElement/sizes/image-sizes-w3c-4.html: Added.
- 8:16 AM Changeset in webkit [205904] by
-
- 2 edits in trunk/Tools
Fix mastercfg_unittest
https://bugs.webkit.org/show_bug.cgi?id=161816
Reviewed by Daniel Bates.
(RunWebKitTests.start):
- BuildSlaveSupport/build.webkit.org-config/mastercfg_unittest.py: Fixed broken unit tests.
Sep 13, 2016:
- 11:24 PM Changeset in webkit [205903] by
-
- 5 edits in branches/safari-602-branch/Source
Merge r205895. rdar://problem/28287070
- 11:22 PM Changeset in webkit [205902] by
-
- 5 edits in branches/safari-602-branch/Source
Versioning.
- 11:06 PM Changeset in webkit [205901] by
-
- 2 edits in trunk/LayoutTests
Marking imported/w3c/web-platform-tests/XMLHttpRequest/response-method.htm as failing on ios-simulator.
https://bugs.webkit.org/show_bug.cgi?id=161949
Unreviewed test gardening.
- platform/ios-simulator/TestExpectations:
- 11:02 PM Changeset in webkit [205900] by
-
- 2 edits in trunk/LayoutTests
Rebaseline imported/w3c/web-platform-tests/XMLHttpRequest/setrequestheader-content-type.htm for ios-simulator.
Unreviewed test gardening.
- platform/ios-simulator/imported/w3c/web-platform-tests/XMLHttpRequest/setrequestheader-content-type-expected.txt:
- 10:58 PM Changeset in webkit [205899] by
-
- 2 edits in trunk/LayoutTests
More unreviewed test gardening for iOS 10.
- platform/ios-simulator/TestExpectations:
- 10:26 PM Changeset in webkit [205898] by
-
- 5 edits in trunk/LayoutTests
Unreviewed test gardening for iOS 10.
- platform/ios-simulator/TestExpectations:
- platform/ios-simulator/editing/deleting/delete-emoji-expected.txt:
- platform/ios-simulator/fast/text/font-weights-expected.txt:
- platform/ios-simulator/fast/text/system-font-weight-expected.txt:
- 9:56 PM Changeset in webkit [205897] by
-
- 9 edits1 delete in trunk/Source/WebCore
Unreviewed, rolling out r205887.
Broke the Windows build
Reverted changeset:
"Merge Element::ScrollToOptions and
DOMWindow::ScrollToOptions"
https://bugs.webkit.org/show_bug.cgi?id=161932
http://trac.webkit.org/changeset/205887
- 9:11 PM Changeset in webkit [205896] by
-
- 2 edits in trunk/LayoutTests
Rebaseline js/dom/global-constructors-attributes.html for Yosemite.
Unreviewed test gardening.
- platform/mac-yosemite/js/dom/global-constructors-attributes-expected.txt:
- 7:29 PM Changeset in webkit [205895] by
-
- 5 edits in trunk/Source
Promises aren't resolved properly when making a ObjC API callback
https://bugs.webkit.org/show_bug.cgi?id=161929
Reviewed by Geoffrey Garen.
Source/JavaScriptCore:
When we go to call out to an Objective C function registered via the API,
we first drop all JSC locks to make the call. As part of dropping the locks,
we drain the microtask queue that is used among other things for handling deferred
promise resolution. The DropAllLocks scope class that drops the locks while in
scope, resets the current thread's AtomicStringTable to the default table. This
is wrong for two reasons, first it happens before we drain the microtask queue and
second it isn't needed as JSLock::willReleaseLock() restores the current thread's
AtomicStringTable to the table before the lock was acquired.
In fact, the manipulation of the current thread's AtomicStringTable is already
properly handled as a stack in JSLock::didAcquireLock() and willReleaseLock().
Therefore the manipulation of the AtomicStringTable in DropAllLocks constructor
and destructor should be removed.
- API/tests/testapi.mm:
(testObjectiveCAPIMain): Added a new test.
- runtime/JSLock.cpp:
(JSC::JSLock::DropAllLocks::DropAllLocks):
(JSC::JSLock::DropAllLocks::~DropAllLocks):
Source/WTF:
Removed resetCurrentAtomicStringTable() which is no longer referenced.
- wtf/WTFThreadData.h:
(WTF::WTFThreadData::resetCurrentAtomicStringTable): Deleted.
- 7:22 PM Changeset in webkit [205894] by
-
- 1 edit1 delete in trunk/Source/WebCore
Remove a .rej file.
- animation/DocumentTimeline.h.rej: Removed.
- 6:34 PM Changeset in webkit [205893] by
-
- 32 edits5 adds in trunk
Implement URLSearchParams
https://bugs.webkit.org/show_bug.cgi?id=161920
Reviewed by Chris Dumez.
LayoutTests/imported/w3c:
- web-platform-tests/XMLHttpRequest/send-usp-expected.txt:
- web-platform-tests/fetch/api/request/request-init-002-expected.txt:
- web-platform-tests/fetch/api/response/response-init-002-expected.txt:
- web-platform-tests/url/interfaces-expected.txt:
- web-platform-tests/url/url-constructor-expected.txt:
- web-platform-tests/url/urlsearchparams-append-expected.txt:
- web-platform-tests/url/urlsearchparams-constructor-expected.txt:
- web-platform-tests/url/urlsearchparams-delete-expected.txt:
- web-platform-tests/url/urlsearchparams-get-expected.txt:
- web-platform-tests/url/urlsearchparams-getall-expected.txt:
- web-platform-tests/url/urlsearchparams-has-expected.txt:
- web-platform-tests/url/urlsearchparams-set-expected.txt:
- web-platform-tests/url/urlsearchparams-stringifier-expected.txt:
Source/WebCore:
Covered by newly passing web platform tests.
- CMakeLists.txt:
- DerivedSources.make:
- WebCore.xcodeproj/project.pbxproj:
- html/DOMURL.cpp:
(WebCore::DOMURL::setQuery):
(WebCore::DOMURL::searchParams):
- html/DOMURL.h:
- html/URLSearchParams.cpp: Added.
(WebCore::URLSearchParams::URLSearchParams):
(WebCore::URLSearchParams::get):
(WebCore::URLSearchParams::has):
(WebCore::URLSearchParams::set):
(WebCore::URLSearchParams::append):
(WebCore::URLSearchParams::getAll):
(WebCore::URLSearchParams::remove):
(WebCore::URLSearchParams::toString):
(WebCore::URLSearchParams::updateURL):
(WebCore::URLSearchParams::Iterator::Iterator):
- html/URLSearchParams.h: Added.
(WebCore::URLSearchParams::create):
(WebCore::URLSearchParams::createIterator):
- html/URLSearchParams.idl: Added.
- html/URLUtils.idl:
- platform/URLParser.cpp:
(WebCore::percentDecode):
(WebCore::URLParser::parseHost):
(WebCore::formURLDecode):
(WebCore::serializeURLEncodedForm):
(WebCore::URLParser::serialize):
- platform/URLParser.h:
Source/WTF:
- wtf/text/StringView.h:
(WTF::StringView::split): Added.
LayoutTests:
- js/dom/global-constructors-attributes-dedicated-worker-expected.txt:
- platform/mac-wk1/js/dom/global-constructors-attributes-expected.txt:
- platform/mac/imported/w3c/web-platform-tests/XMLHttpRequest/setrequestheader-content-type-expected.txt:
- 5:38 PM Changeset in webkit [205892] by
-
- 20 edits in trunk/Source
Replace RGBA32 with Color in member variables
https://bugs.webkit.org/show_bug.cgi?id=161856
<rdar://problem/28254324>
Reviewed by Simon Fraser.
In preparation for the Color class to become more than
just a 4-byte RGBA value, I went through a few places
that were using the RGBA32 type directly, and replaced
them with Color. This will make some objects a little
bigger e.g. BorderValue and its friends.
I mostly looked at the places that were using RGBA32 as
a member variable. There is still a lot of RGBA32 use
around the project, in particular the CSS parser.
There should be no behaviour change.
Source/WebCore:
- html/canvas/CanvasRenderingContext2D.cpp: Shadows now use Color.
(WebCore::CanvasRenderingContext2D::setShadow):
(WebCore::CanvasRenderingContext2D::shouldDrawShadows):
(WebCore::CanvasRenderingContext2D::didDraw):
- html/canvas/CanvasRenderingContext2D.h:
- html/canvas/CanvasStyle.cpp: Canvas style uses Color for fills and strokes.
(WebCore::CanvasStyle::CanvasStyle):
(WebCore::CanvasStyle::isEquivalentColor):
(WebCore::CanvasStyle::isEquivalentRGBA):
(WebCore::CanvasStyle::applyStrokeColor):
(WebCore::CanvasStyle::applyFillColor):
- html/canvas/CanvasStyle.h:
(WebCore::CanvasStyle::CMYKAValues::CMYKAValues):
(WebCore::CanvasStyle::color):
- html/track/TextTrackCueGeneric.h: Foreground, background and
highlight colors.
- platform/graphics/InbandTextTrackPrivateClient.h:
(WebCore::GenericCueData::setForegroundColor):
(WebCore::GenericCueData::setBackgroundColor):
(WebCore::GenericCueData::setHighlightColor):
- page/PageOverlay.cpp: Background color.
(WebCore::PageOverlay::setBackgroundColor):
- page/PageOverlay.h:
- platform/graphics/mac/ColorMac.h: Random function that returned RGBA32.
- platform/graphics/mac/ColorMac.mm:
(WebCore::oldAquaFocusRingColor):
- rendering/RenderTableCell.cpp: Update the size of CollapsedBorderValue.
- rendering/RenderTheme.h: Use a NeverDestroyed Color rather than a static RGBA32.
- rendering/style/BorderValue.h: Use a Color.
(WebCore::BorderValue::BorderValue):
(WebCore::BorderValue::isTransparent):
(WebCore::BorderValue::operator==):
(WebCore::BorderValue::setColor):
(WebCore::BorderValue::color):
- rendering/style/CollapsedBorderValue.h:
(WebCore::CollapsedBorderValue::CollapsedBorderValue):
(WebCore::CollapsedBorderValue::color):
- rendering/style/OutlineValue.h:
(WebCore::OutlineValue::operator==):
- rendering/style/RenderStyle.cpp: Update to match new BorderValue.
Source/WebKit/mac:
- Misc/WebKitNSStringExtras.mm:
(-[NSString _web_drawAtPoint:font:textColor:allowingFontSmoothing:]): Explicitly
call a Color constructor, rather than passing an RGBA32.
- 5:36 PM Changeset in webkit [205891] by
-
- 1 copy in tags/Safari-602.2.7
New tag.
- 5:11 PM Changeset in webkit [205890] by
-
- 4 edits1 add in trunk
[media-source] MediaSource.addSourceBuffer(null) should throw an exception
https://bugs.webkit.org/show_bug.cgi?id=161884
Reviewed by Eric Carlson.
Source/WebCore:
Fixes test: imported/w3c/web-platform-tests/media-source/mediasource-addsourcebuffer.html
- Modules/mediasource/MediaSource.idl: The addSourceBuffer() parameter is not optional
and not nullable.
LayoutTests:
- platform/mac/TestExpectations:
- platform/mac/imported/w3c/web-platform-tests/media-source/mediasource-addsourcebuffer-expected.txt: Added.
- 5:10 PM Changeset in webkit [205889] by
-
- 2 edits in trunk/Source/WebCore
Remove Chrome app-specific CSS property -webkit-app-region
https://bugs.webkit.org/show_bug.cgi?id=161935
Reviewed by Simon Fraser.
- css/parser/CSSParserFastPaths.cpp:
- 5:10 PM Changeset in webkit [205888] by
-
- 2 edits in trunk/Source/WebCore
Treat some CSS properties as keyword properties
https://bugs.webkit.org/show_bug.cgi?id=161934
Reviewed by Simon Fraser.
Move validation of the following CSS keyword properties from CSSParser::parseValue() to
WebCore::isValidKeywordPropertyAndValue():
CSSPropertyColumnProgression
CSSPropertyFontStretch
CSSPropertyTextAlign
CSSPropertyUnicodeBidi
CSSPropertyWebkitColumnAxis
CSSPropertyWebkitCursorVisibility
CSSPropertyWebkitTextDecorationStyle
CSSPropertyWebkitTextOrientation
CSSPropertyWebkitTextZoom
CSSPropertyWebkitTouchCallout
Among other benefits, this will make it more straightforward to migrate from CSSParser::is{KeywordPropertyID, ValidKeywordPropertyAndValue}()
to CSSParserFastPaths::is{KeywordPropertyID, ValidKeywordPropertyAndValue}(), respectively.
- css/parser/CSSParser.cpp:
(WebCore::isValidKeywordPropertyAndValue):
(WebCore::isKeywordPropertyID):
(WebCore::CSSParser::parseValue):
- 4:27 PM Changeset in webkit [205887] by
-
- 9 edits1 add in trunk/Source/WebCore
Merge Element::ScrollToOptions and DOMWindow::ScrollToOptions
https://bugs.webkit.org/show_bug.cgi?id=161932
Reviewed by Simon Fraser.
Merge Element::ScrollToOptions and DOMWindow::ScrollToOptions.
Ideally we would merge them on IDL side as well but this is for
another patch.
- WebCore.xcodeproj/project.pbxproj:
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateDictionaryImplementationContent):
- bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::convertDictionary<TestObj::Dictionary>):
(WebCore::convertDictionary<TestObj::DictionaryThatShouldNotTolerateNull>):
(WebCore::convertDictionary<TestObj::DictionaryThatShouldTolerateNull>):
(WebCore::convertDictionary<AlternateDictionaryName>):
- dom/Element.h:
- dom/Element.idl:
- dom/ScrollToOptions.h: Added.
- html/HTMLBodyElement.cpp:
(WebCore::HTMLBodyElement::scrollTo):
- page/DOMWindow.h:
- page/DOMWindow.idl:
- 4:19 PM Changeset in webkit [205886] by
-
- 3 edits in trunk/Source/JavaScriptCore
Remove Heap::isLive()
https://bugs.webkit.org/show_bug.cgi?id=161933
Reviewed by Mark Lam.
Before I put any more effort into maintaining this weird function, I decided to check how it
was used. It turns out it's not.
- heap/Heap.h:
- heap/HeapInlines.h:
(JSC::Heap::isLive): Deleted.
- 4:13 PM Changeset in webkit [205885] by
-
- 6 edits in trunk/Tools
Landing optimized .png files, forgot to do it initially.
- BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/IOS10.png:
- BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/IOS10@2x.png:
- BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/IOS10Simulator.png:
- BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/IOSDevice.png:
- BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/IOSDevice@2x.png:
- 4:08 PM Changeset in webkit [205884] by
-
- 14 edits6 adds in trunk/Tools
Switch build.webkit.org to iOS 10
https://bugs.webkit.org/show_bug.cgi?id=161930
Reviewed by Daniel Bates.
- BuildSlaveSupport/build.webkit.org-config/config.json:
- BuildSlaveSupport/build.webkit.org-config/master.cfg:
(RunWebKitTests.start):
- BuildSlaveSupport/build.webkit.org-config/mastercfg_unittest.py:
- BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/IOS10.png: Added.
- BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/IOS10@2x.png: Added.
- BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/IOS10Simulator.png: Added.
- BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/IOS10Simulator@2x.png: Added.
- BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/IOSDevice.png:
- BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/IOSDevice@2x.png:
- BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/IOSSimulator.png: Added.
- BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/IOSSimulator@2x.png: Added.
- BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BubbleQueueServer.js:
- BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Dashboard.js:
- BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js:
- BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/Main.css:
- BuildSlaveSupport/build.webkit.org-config/wkbuild.py:
- BuildSlaveSupport/build.webkit.org-config/wkbuild_unittest.py:
- Scripts/webkitpy/port/ios.py:
- TestResultServer/static-dashboards/builders.jsonp:
- 3:38 PM Changeset in webkit [205883] by
-
- 79 edits4 copies in trunk
[Cocoa] Unify font's ascent, descent, and x-height between macOS and iOS
https://bugs.webkit.org/show_bug.cgi?id=161877
Reviewed by Simon Fraser.
Source/WebCore:
macOS and iOS have slightly different handling of ascent, descent, and x-height.
This patch migrates them to have the same handling of them.
There are slight behavior changes here because our previous code converted between
floats and doubles in unnecessary places, and does not handle rounding in
consistent ways. The differences are all miniscule, but nevertheless lead to test
results needing to be updated.
Coincidentally, by performing this unification, there are no longer any places
on macOS Sierra which are using the CGFontRef member of PlatformFontData. This
patch removes the member on that operating system for memory savings as well as
clarity.
Covered by existing tests.
- platform/graphics/FontPlatformData.cpp:
- platform/graphics/FontPlatformData.h:
- platform/graphics/cocoa/FontCocoa.mm:
(WebCore::Font::platformInit):
- platform/graphics/cocoa/FontPlatformDataCocoa.mm:
(WebCore::FontPlatformData::FontPlatformData):
(WebCore::FontPlatformData::platformIsEqual):
(WebCore::FontPlatformData::ctFont):
LayoutTests:
Updating expected results.
- imported/blink/svg/text/obb-paintserver-expected.html: Covered tiny unrelated 1px difference.
- imported/blink/svg/text/obb-paintserver.html: Ditto.
- platform/ios-simulator/editing/selection/vertical-rl-rtl-extend-line-backward-br-expected.txt:
- platform/ios-simulator/editing/selection/vertical-rl-rtl-extend-line-backward-p-expected.txt:
- platform/ios-simulator/editing/selection/vertical-rl-rtl-extend-line-forward-br-expected.txt:
- platform/ios-simulator/editing/selection/vertical-rl-rtl-extend-line-forward-p-expected.txt:
- platform/ios-simulator/fast/text/whitespace/pre-wrap-spaces-after-newline-expected.txt:
- platform/ios-simulator/svg/W3C-SVG-1.1-SE/coords-units-03-b-expected.txt:
- platform/ios-simulator/svg/custom/glyph-transformation-with-hkern-expected.txt: Copied from LayoutTests/svg/custom/glyph-transformation-with-hkern-expected.txt.
- platform/ios-simulator/svg/custom/repaint-shadow-expected.txt: Copied from LayoutTests/svg/custom/repaint-shadow-expected.txt.
- platform/ios-simulator/svg/text/text-hkern-on-vertical-text-expected.txt: Copied from LayoutTests/svg/text/text-hkern-on-vertical-text-expected.txt.
- platform/ios-simulator/svg/text/text-vkern-on-horizontal-text-expected.txt: Copied from LayoutTests/svg/text/text-vkern-on-horizontal-text-expected.txt.
- platform/ios-simulator/tables/mozilla/bugs/bug55527-expected.txt:
- platform/mac-yosemite/fast/text/emoji-expected.txt:
- platform/mac-yosemite/svg/W3C-SVG-1.1-SE/text-intro-05-t-expected.txt:
- platform/mac/css2.1/t1202-counter-04-b-expected.txt:
- platform/mac/css2.1/t1202-counters-04-b-expected.txt:
- platform/mac/fast/text/emoji-expected.txt:
- platform/mac/svg/W3C-SVG-1.1-SE/color-prop-05-t-expected.txt:
- platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-01-f-expected.txt:
- platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-02-f-expected.txt:
- platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-03-f-expected.txt:
- platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-04-f-expected.txt:
- platform/mac/svg/W3C-SVG-1.1-SE/coords-units-03-b-expected.txt:
- platform/mac/svg/W3C-SVG-1.1-SE/filters-felem-01-b-expected.txt:
- platform/mac/svg/W3C-SVG-1.1-SE/filters-image-03-f-expected.txt:
- platform/mac/svg/W3C-SVG-1.1-SE/interact-pointer-03-t-expected.txt:
- platform/mac/svg/W3C-SVG-1.1-SE/linking-uri-01-b-expected.txt:
- platform/mac/svg/W3C-SVG-1.1-SE/painting-marker-07-f-expected.txt:
- platform/mac/svg/W3C-SVG-1.1-SE/paths-dom-02-f-expected.txt:
- platform/mac/svg/W3C-SVG-1.1-SE/pservers-grad-17-b-expected.txt:
- platform/mac/svg/W3C-SVG-1.1-SE/pservers-grad-20-b-expected.txt:
- platform/mac/svg/W3C-SVG-1.1-SE/pservers-pattern-03-f-expected.txt:
- platform/mac/svg/W3C-SVG-1.1-SE/pservers-pattern-04-f-expected.txt:
- platform/mac/svg/W3C-SVG-1.1-SE/struct-use-14-f-expected.txt:
- platform/mac/svg/W3C-SVG-1.1-SE/styling-css-04-f-expected.txt:
- platform/mac/svg/W3C-SVG-1.1-SE/styling-pres-02-f-expected.txt:
- platform/mac/svg/W3C-SVG-1.1-SE/svgdom-over-01-f-expected.txt:
- platform/mac/svg/W3C-SVG-1.1-SE/text-intro-02-b-expected.txt:
- platform/mac/svg/W3C-SVG-1.1-SE/text-intro-05-t-expected.txt:
- platform/mac/svg/W3C-SVG-1.1-SE/text-intro-09-b-expected.txt:
- platform/mac/svg/W3C-SVG-1.1-SE/text-tref-03-b-expected.txt:
- platform/mac/svg/W3C-SVG-1.1-SE/text-tspan-02-b-expected.txt:
- platform/mac/svg/W3C-SVG-1.1-SE/types-dom-01-b-expected.txt:
- platform/mac/svg/W3C-SVG-1.1-SE/types-dom-02-f-expected.txt:
- platform/mac/svg/W3C-SVG-1.1-SE/types-dom-03-b-expected.txt:
- platform/mac/svg/W3C-SVG-1.1-SE/types-dom-04-b-expected.txt:
- platform/mac/svg/W3C-SVG-1.1-SE/types-dom-05-b-expected.txt:
- platform/mac/svg/W3C-SVG-1.1-SE/types-dom-06-f-expected.txt:
- platform/mac/svg/W3C-SVG-1.1-SE/types-dom-07-f-expected.txt:
- platform/mac/svg/W3C-SVG-1.1/animate-elem-03-t-expected.txt:
- platform/mac/svg/W3C-SVG-1.1/animate-elem-24-t-expected.txt:
- platform/mac/svg/W3C-SVG-1.1/animate-elem-36-t-expected.txt:
- platform/mac/svg/W3C-SVG-1.1/animate-elem-40-t-expected.txt:
- platform/mac/svg/W3C-SVG-1.1/filters-light-04-f-expected.txt:
- platform/mac/svg/W3C-SVG-1.1/filters-turb-02-f-expected.txt:
- platform/mac/svg/W3C-SVG-1.1/fonts-elem-05-t-expected.txt:
- platform/mac/svg/W3C-SVG-1.1/fonts-elem-06-t-expected.txt:
- platform/mac/svg/W3C-SVG-1.1/fonts-glyph-02-t-expected.txt:
- platform/mac/svg/W3C-SVG-1.1/fonts-glyph-03-t-expected.txt:
- platform/mac/svg/W3C-SVG-1.1/fonts-kern-01-t-expected.txt:
- platform/mac/svg/W3C-SVG-1.1/render-elems-06-t-expected.txt:
- platform/mac/svg/W3C-SVG-1.1/render-elems-07-t-expected.txt:
- platform/mac/svg/W3C-SVG-1.1/render-elems-08-t-expected.txt:
- platform/mac/svg/W3C-SVG-1.1/text-align-08-b-expected.txt:
- platform/mac/svg/W3C-SVG-1.1/text-fonts-03-t-expected.txt:
- platform/mac/svg/W3C-SVG-1.1/text-text-04-t-expected.txt:
- platform/mac/svg/batik/text/xmlSpace-expected.txt:
- platform/mac/svg/custom/glyph-selection-bidi-mirror-expected.txt:
- platform/mac/svg/custom/glyph-setting-d-attribute-expected.txt:
- platform/mac/svg/foreignObject/text-tref-02-b-expected.txt:
- platform/mac/svg/text/kerning-expected.txt:
- platform/mac/svg/text/multichar-glyph-expected.txt:
- svg/custom/glyph-transformation-with-hkern-expected.txt:
- svg/custom/repaint-shadow-expected.txt:
- svg/text/text-hkern-on-vertical-text-expected.txt:
- svg/text/text-vkern-on-horizontal-text-expected.txt:
- 3:16 PM Changeset in webkit [205882] by
-
- 2 edits in trunk/Source/JavaScriptCore
DFG NewArrayBuffer node should watch for "have a bad time" state change.
https://bugs.webkit.org/show_bug.cgi?id=161927
<rdar://problem/27995222>
Reviewed by Geoffrey Garen.
- dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
- 2:56 PM Changeset in webkit [205881] by
-
- 9 edits in trunk/Source/WebCore
[Win] Unreviewed build fix.
Based on a suggestion by Simon Fraser, I have corrected the
headers to avoid including <d2d1.h> directly, relying instead
on forward declarations.
- platform/graphics/FloatPoint.h:
- platform/graphics/FloatRect.h:
- platform/graphics/FloatSize.h:
- platform/graphics/IntPoint.h:
- platform/graphics/IntRect.h:
- platform/graphics/IntSize.h:
- platform/graphics/transforms/AffineTransform.h:
- platform/graphics/transforms/TransformationMatrix.h:
- 2:53 PM Changeset in webkit [205880] by
-
- 6 edits1 add in trunk
Support jsc shell builtin
read
https://bugs.webkit.org/show_bug.cgi?id=161662
Reviewed by Keith Miller.
JSTests:
- stress/jsc-read.js: Added.
(test): test
readandreadFileshell builtins, in string and binary mode.
Source/JavaScriptCore:
The jsc shell currently supports a
readFilemethod which returns
a string. SpiderMonkey's js shell and V8's d8 shell both support
similar file-to-string functions, as well as a
binary-file-to-Uint8Array function. jsc should support a similar
binary file method to simplify testing, including testing of
WebAssembly blobs.
Emscripten's shell.js (which is also used for some WebAssembly
things) has a polyfill [1] for a builtin calledread. jsc should
therefore have a builtin with the same name if we want things to
"Just Work".
[1]: https://github.com/kripken/emscripten/blob/5f0918409a1407dd168f57cfa34b109cd1770a8a/src/shell.js#L138
- jsc.cpp:
(GlobalObject::finishCreation): add
read, makereadFiletake up to 2 arguments.
(functionReadFile): support binary files, as per SpiderMonkey.
- runtime/Error.h:
(JSC::throwVMError): convenience function, I'll add more uses in a follow-up
- runtime/JSTypedArrays.cpp:
(JSC::createUint8TypedArray): JS private export of JSUint8Array::create.
- runtime/JSTypedArrays.h: expose private export.
- 2:25 PM Changeset in webkit [205879] by
-
- 1 copy in tags/Safari-602.1.50.0.10
New tag.
- 2:09 PM Changeset in webkit [205878] by
-
- 5 edits in trunk
Provide a mechanism to specify the maximum size of WKThumbnailView snapshots
https://bugs.webkit.org/show_bug.cgi?id=161896
<rdar://problem/28229827>
Reviewed by Simon Fraser.
Some clients know that their thumbnail views will only be displayed up to
a specific size that is significantly smaller than the WKView size. Allow
them to avoid wasting lots of memory on unnecessarily large snapshots.
- UIProcess/API/Cocoa/_WKThumbnailView.h:
- UIProcess/API/Cocoa/_WKThumbnailView.mm:
(-[_WKThumbnailView requestSnapshot]):
(-[_WKThumbnailView _requestSnapshotIfNeeded]):
(-[_WKThumbnailView setMaximumSnapshotSize:]):
Add a maximumSnapshotSize property which can be changed dynamically.
- TestWebKitAPI/Tests/WebKit2/WKThumbnailView.mm:
(TestWebKitAPI::TEST):
Add a test for the new property.
Also fix the old new test to run on arbitrary scale displays without failing.
- 1:56 PM Changeset in webkit [205877] by
-
- 10 edits in trunk/Source/WebCore
Get rid of the m_premultiplyAlpha flag of the ImageFrame class
https://bugs.webkit.org/show_bug.cgi?id=159721
Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2016-09-13
Reviewed by Simon Fraser.
This flag was only needed when calling ImageBackingStore::create() in
ImageFrame::setSize(). Instead we can pass ImageDecoder::m_premultiplyAlpha
to ImageFrame::setSize(), which is renamed ImageFrame::initializeBackingStore().
The passed premultiplyAlpha can then be passed to ImageBackingStore::create().
- platform/image-decoders/ImageDecoder.cpp:
(WebCore::ImageFrame::ImageFrame):
(WebCore::ImageFrame::operator=):
(WebCore::ImageFrame::initializeBackingStore):
(WebCore::ImageFrame::copyBitmapData): Deleted.
(WebCore::ImageFrame::setSize): Deleted.
- platform/image-decoders/ImageDecoder.h:
(WebCore::ImageFrame::disposalMethod):
(WebCore::ImageFrame::setDisposalMethod):
(WebCore::ImageDecoder::premultiplyAlpha):
(WebCore::ImageFrame::premultiplyAlpha): Deleted.
(WebCore::ImageFrame::setPremultiplyAlpha): Deleted.
- platform/image-decoders/bmp/BMPImageDecoder.cpp:
(WebCore::BMPImageDecoder::frameBufferAtIndex):
- platform/image-decoders/bmp/BMPImageReader.cpp:
(WebCore::BMPImageReader::decodeBMP):
- platform/image-decoders/gif/GIFImageDecoder.cpp:
(WebCore::GIFImageDecoder::decode):
(WebCore::GIFImageDecoder::initFrameBuffer):
- platform/image-decoders/ico/ICOImageDecoder.cpp:
(WebCore::ICOImageDecoder::frameCount):
- platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
(WebCore::JPEGImageDecoder::frameBufferAtIndex):
(WebCore::JPEGImageDecoder::outputScanlines):
- platform/image-decoders/png/PNGImageDecoder.cpp:
(WebCore::PNGImageDecoder::frameBufferAtIndex):
(WebCore::PNGImageDecoder::rowAvailable):
(WebCore::PNGImageDecoder::readChunks):
(WebCore::PNGImageDecoder::initFrameBuffer):
(WebCore::setPixelRGB): Deleted.
(WebCore::setPixelRGBA): Deleted.
(WebCore::setPixelPremultipliedRGBA): Deleted.
- platform/image-decoders/webp/WEBPImageDecoder.cpp:
(WebCore::WEBPImageDecoder::frameBufferAtIndex):
(WebCore::WEBPImageDecoder::decode):
- 1:47 PM Changeset in webkit [205876] by
-
- 5 edits in branches/safari-602.1.50.0-branch/Source
Versioning.
- 1:43 PM Changeset in webkit [205875] by
-
- 2 edits in branches/safari-602-branch/Source/WebKit2
Merge r205873. rdar://problem/28208208
- 1:38 PM Changeset in webkit [205874] by
-
- 2 edits in branches/safari-602.1.50.0-branch/Source/WebKit2
Merge r205873. rdar://problem/28208208
- 1:14 PM Changeset in webkit [205873] by
-
- 2 edits in trunk/Source/WebKit2
REGRESSION (r196321): Amazon Videos are all black in Fullscreen
https://bugs.webkit.org/show_bug.cgi?id=161924
rdar://problem/28208208
Reviewed by Dan Bernstein.
- Shared/EntryPointUtilities/mac/XPCService/XPCServiceMain.mm:
(main):
Set AppleMagnifiedMode to true.
- 1:12 PM Changeset in webkit [205872] by
-
- 11 edits in trunk
Web Inspector: Use Array.shallowEqual instead of Object.shallowEqual in more places
https://bugs.webkit.org/show_bug.cgi?id=161867
<rdar://problem/28261328>
Reviewed by Joseph Pecoraro.
Source/WebInspectorUI:
- UserInterface/Base/Utilities.js:
(value):
Array.shallowEqual should return false if passed a non-array.
- UserInterface/Models/CSSRule.js:
(WebInspector.CSSRule.prototype.update):
- UserInterface/Models/Color.js:
(WebInspector.Color.prototype.isKeyword):
- UserInterface/Models/DOMNodeStyles.js:
(WebInspector.DOMNodeStyles.prototype.refresh.fetchedComputedStyle):
(WebInspector.DOMNodeStyles.prototype.refresh):
- UserInterface/Models/Geometry.js:
(WebInspector.CubicBezier.prototype.toString):
- UserInterface/Views/GeneralTreeElement.js:
(WebInspector.GeneralTreeElement.prototype.set classNames):
- UserInterface/Views/NewTabContentView.js:
(WebInspector.NewTabContentView.prototype._updateShownTabs):
Prefer Array.shallowEqual over Obejct.shallowEqual if the arguments
will always be arrays.
LayoutTests:
- inspector/unit-tests/array-utilities-expected.txt:
- inspector/unit-tests/array-utilities.html:
Add test coverage for Array.shallowEqual.
Use Array.shallowEqual instead of JSON.stringify in tests.
Use expectFalse and expectEqual in tests where appropriate.
- 12:54 PM Changeset in webkit [205871] by
-
- 19 edits11 adds in trunk
[Win][Direct2D] Provide Direct2D-based geometry and transform cast operations
https://bugs.webkit.org/show_bug.cgi?id=161818
Reviewed by Dean Jackson.
Source/WebCore:
Tested by new TestWebKitAPI tests.
Add new casting operators to and from various Direct2D data types.
- PlatformWin.cmake:
- platform/graphics/FloatPoint.h:
(WebCore::FloatPoint::FloatPoint):
- platform/graphics/FloatRect.h:
- platform/graphics/FloatSize.h:
(WebCore::FloatSize::FloatSize):
- platform/graphics/IntPoint.h:
- platform/graphics/IntRect.h:
- platform/graphics/IntSize.h:
- platform/graphics/transforms/AffineTransform.h:
- platform/graphics/transforms/TransformationMatrix.h:
- platform/graphics/win/FloatPointDirect2D.cpp:
- platform/graphics/win/FloatRectDirect2D.cpp:
- platform/graphics/win/FloatSizeDirect2D.cpp:
- platform/graphics/win/IntPointWin.cpp:
(WebCore::IntPoint::IntPoint):
(WebCore::IntPoint::operator D2D1_POINT_2F):
(WebCore::IntPoint::operator D2D1_POINT_2U):
- platform/graphics/win/IntRectWin.cpp:
(WebCore::IntRect::IntRect):
(WebCore::IntRect::operator D2D1_RECT_F):
(WebCore::IntRect::operator D2D1_RECT_U):
- platform/graphics/win/IntSizeWin.cpp:
(WebCore::IntSize::IntSize):
(WebCore::IntSize::operator D2D1_SIZE_U):
(WebCore::IntSize::operator D2D1_SIZE_F):
- platform/graphics/win/TransformationMatrixDirect2D.cpp: Added.
(WebCore::TransformationMatrix::TransformationMatrix):
(WebCore::TransformationMatrix::operator D2D1_MATRIX_3X2_F):
(WebCore::AffineTransform::AffineTransform):
(WebCore::AffineTransform::operator D2D1_MATRIX_3X2_F):
Source/WebKit:
- PlatformWin.cmake: Link to Direct2D on Windows.
Tools:
Add several new test suites for the various geometric primitives in WebCore.
- TestWebKitAPI/PlatformWin.cmake: Add new files for test cases.
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: Ditto.
- TestWebKitAPI/Tests/WebCore/AffineTransform.cpp: Added.
- TestWebKitAPI/Tests/WebCore/FloatPoint.cpp: Added.
- TestWebKitAPI/Tests/WebCore/FloatRect.cpp: Added.
- TestWebKitAPI/Tests/WebCore/FloatSize.cpp: Added.
- TestWebKitAPI/Tests/WebCore/IntPoint.cpp: Added.
- TestWebKitAPI/Tests/WebCore/IntRect.cpp: Added.
- TestWebKitAPI/Tests/WebCore/IntSize.cpp: Added.
- TestWebKitAPI/Tests/WebCore/TransformationMatrix.cpp: Add some new
Windows-focused test cases.
- 12:44 PM Changeset in webkit [205870] by
-
- 11 edits4 adds in trunk
Undoing a candidate insertion results in the replaced text being selected
https://bugs.webkit.org/show_bug.cgi?id=161894
<rdar://problem/28225774>
Reviewed by Simon Fraser.
Test: editing/mac/spelling/accept-candidate-undo-does-not-select.html
- WebCore.xcodeproj/project.pbxproj:
- editing/ReplaceRangeWithTextCommand.cpp: Added.
(WebCore::ReplaceRangeWithTextCommand::ReplaceRangeWithTextCommand):
(WebCore::ReplaceRangeWithTextCommand::doApply):
- editing/ReplaceRangeWithTextCommand.h: Added.
(WebCore::ReplaceRangeWithTextCommand::create):
Add a editor command that replaces a range with the given text.
- editing/Editor.cpp:
(WebCore::Editor::rangeForTextCheckingResult):
(WebCore::Editor::handleAcceptedCandidate):
(WebCore::Editor::selectTextCheckingResult): Deleted.
- editing/Editor.h:
Make use of the new editor command to do candidate insertion as a single
composite operation, so that it is undone as a unit. Otherwise, undo ends up
undoing the insertion, but not the selection, and we are left with the old
text, selected, which is undesirable.
- editing/mac/spelling/accept-candidate-allows-autocorrect-on-next-word-expected.txt:
- editing/mac/spelling/accept-candidate-replacing-multiple-words-expected.txt:
- editing/mac/spelling/accept-candidate-undo-does-not-select-expected.txt: Copied from LayoutTests/editing/mac/spelling/accept-candidate-replacing-multiple-words-expected.txt.
- editing/mac/spelling/accept-candidate-undo-does-not-select.html: Added.
- editing/mac/spelling/accept-candidate-without-adding-space-expected.txt:
- editing/mac/spelling/accept-candidate-without-crossing-editing-boundary-expected.txt:
Adjust some test results, and add a new test that ensures that undoing
a candidate insertion does not select the replaced text.
- 12:08 PM Changeset in webkit [205869] by
-
- 13 edits10 adds in trunk/Source/WebCore
[CSS Parser] Add CSS Variable Parsing support
https://bugs.webkit.org/show_bug.cgi?id=161916
Reviewed by Dean Jackson.
This patch not only adds the parser for CSS variables (from Blink), but it also brings in
all of the data structures used to store variables and custom property declarations. We
will be abandoning our old data structures eventually in favor of these new ones. They
are not significantly different other than operating on the CSSParserTokenRanges rather
than the soon-to-be-removed parser value lists.
- CMakeLists.txt:
- WebCore.xcodeproj/project.pbxproj:
- css/CSSCustomIdentValue.cpp: Added.
(WebCore::CSSCustomIdentValue::CSSCustomIdentValue):
(WebCore::CSSCustomIdentValue::customCSSText):
- css/CSSCustomIdentValue.h: Added.
(WebCore::CSSCustomIdentValue::create):
(WebCore::CSSCustomIdentValue::value):
(WebCore::CSSCustomIdentValue::isKnownPropertyID):
(WebCore::CSSCustomIdentValue::valueAsPropertyID):
(WebCore::CSSCustomIdentValue::equals):
- css/CSSCustomPropertyDeclaration.cpp: Added.
(WebCore::CSSCustomPropertyDeclaration::customCSSText):
- css/CSSCustomPropertyDeclaration.h: Added.
(WebCore::CSSCustomPropertyDeclaration::create):
(WebCore::CSSCustomPropertyDeclaration::name):
(WebCore::CSSCustomPropertyDeclaration::value):
(WebCore::CSSCustomPropertyDeclaration::id):
(WebCore::CSSCustomPropertyDeclaration::equals):
(WebCore::CSSCustomPropertyDeclaration::CSSCustomPropertyDeclaration):
- css/CSSCustomPropertyValue.h:
- css/CSSValue.cpp:
(WebCore::CSSValue::cssText):
(WebCore::CSSValue::destroy):
- css/CSSValue.h:
(WebCore::CSSValue::isCustomPropertyDeclaration):
(WebCore::CSSValue::isCustomIdentValue):
(WebCore::CSSValue::isVariableReferenceValue):
- css/CSSValueKeywords.in:
- css/CSSVariableData.cpp: Added.
(WebCore::CSSVariableData::updateTokens):
(WebCore::CSSVariableData::operator==):
(WebCore::CSSVariableData::consumeAndUpdateTokens):
(WebCore::CSSVariableData::CSSVariableData):
- css/CSSVariableData.h: Added.
(WebCore::CSSVariableData::create):
(WebCore::CSSVariableData::createResolved):
(WebCore::CSSVariableData::tokenRange):
(WebCore::CSSVariableData::tokens):
(WebCore::CSSVariableData::needsVariableResolution):
(WebCore::CSSVariableData::CSSVariableData):
- css/CSSVariableDependentValue.h:
- css/CSSVariableReferenceValue.cpp: Added.
(WebCore::CSSVariableReferenceValue::customCSSText):
- css/CSSVariableReferenceValue.h: Added.
(WebCore::CSSVariableReferenceValue::create):
(WebCore::CSSVariableReferenceValue::variableDataValue):
(WebCore::CSSVariableReferenceValue::equals):
(WebCore::CSSVariableReferenceValue::CSSVariableReferenceValue):
- css/CSSVariableValue.h:
- css/parser/CSSParserImpl.cpp:
(WebCore::filterProperties):
(WebCore::CSSParserImpl::consumeDeclaration):
(WebCore::CSSParserImpl::consumeVariableValue):
- css/parser/CSSVariableParser.cpp: Added.
(WebCore::CSSVariableParser::isValidVariableName):
(WebCore::classifyBlock):
(WebCore::isValidVariableReference):
(WebCore::classifyVariableRange):
(WebCore::CSSVariableParser::containsValidVariableReferences):
(WebCore::CSSVariableParser::parseDeclarationValue):
- css/parser/CSSVariableParser.h: Added.
- 12:01 PM Changeset in webkit [205868] by
-
- 2 edits in trunk/Source/WebCore
Remove CSS keyword properties from CSSParser::parseValue(CSSPropertyID, bool)
https://bugs.webkit.org/show_bug.cgi?id=161918
Reviewed by Simon Fraser.
CSSParser::parseValue(CSSPropertyID, bool) calls ASSERT_NOT_REACHED() when processing a CSS property
that is known to accept only keyword values as a means to guide a person to add such a CSS property
to the switch block in WebCore::isValidKeywordPropertyAndValue(). In theory this sounds good, but
in practice it does not work out and the list of such properties is stale. We should remove the
case statements for such properties and the maintenance burden they required, which was manual and
error prone. We should think about a better way to enforce that all CSS properties are parsed/validated.
The approach of calling ASSERT_NOT_REACHED is not beneficial to catching coding mistakes because
CSSParser::parseValue() has a default case statement to parse/validate SVG CSS properties and hence
does not allow the C++ compiler to validate that the switch block covers all CSSPropertyIDs.
- css/parser/CSSParser.cpp:
(WebCore::CSSParser::parseValue):
- 12:01 PM Changeset in webkit [205867] by
-
- 2 edits in trunk/Source/WebCore
Organize CSS keyword properties in WebCore::isKeywordPropertyID()
https://bugs.webkit.org/show_bug.cgi?id=161917
Reviewed by Simon Fraser.
Group and sort compile-time feature keywords and move them to the end of the switch block
to avoid the distraction of preprocessor statements scattered throughout the list. Sort
all the other keyword properties to make it straightforward to find a property by name.
- css/parser/CSSParser.cpp:
(WebCore::isKeywordPropertyID):
- 11:37 AM Changeset in webkit [205866] by
-
- 14 edits2 adds in trunk
Web Inspector: Should be able to pretty print module code (import / export statements)
https://bugs.webkit.org/show_bug.cgi?id=161891
<rdar://problem/28272784>
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-09-13
Reviewed by Yusuke Suzuki.
Source/WebInspectorUI:
- Tools/Formatting/EsprimaFormatterDebug.js:
- Tools/Formatting/index.html:
Update the formatting tool to toggle between source type modes.
- UserInterface/Proxies/FormatterWorkerProxy.js:
- UserInterface/Workers/Formatter/FormatterWorker.js:
(FormatterWorker.prototype.formatJavaScript):
Provide a flag to parse the input as a module instead of a script/program.
- UserInterface/Views/TextEditor.js:
(WebInspector.TextEditor.prototype._startWorkerPrettyPrint):
Using the formatter here, we may have module scripts in the future.
- UserInterface/Views/SourceCodeTextEditor.js:
(WebInspector.SourceCodeTextEditor.prototype._showPopoverForFunction.didGetDetails):
Using the formatter for a function is not module source.
- UserInterface/Workers/Formatter/ESTreeWalker.js:
(ESTreeWalker.prototype._walkChildren):
Visit children of Export/Import nodes.
- UserInterface/Workers/Formatter/EsprimaFormatter.js:
(EsprimaFormatter.prototype._handleTokenAtNode):
Output tokens with appropriate whitespace.
LayoutTests:
- inspector/formatting/formatting-javascript-expected.txt:
- inspector/formatting/formatting-javascript.html:
- inspector/formatting/resources/javascript-tests/modules-expected.js: Added.
- inspector/formatting/resources/javascript-tests/modules.js: Added.
Include a new test for modules.
- inspector/formatting/formatting-json.html:
All of these are non-module source code.
- inspector/formatting/resources/utilities.js:
Determine if module or not based on the test name.
- 11:20 AM Changeset in webkit [205865] by
-
- 2 edits in trunk/Source/WebCore
AX: Crash at AccessibilityRenderObject::computeAccessibilityIsIgnored const + 552
https://bugs.webkit.org/show_bug.cgi?id=161276
Reviewed by Chris Fleizach.
Sometimes when calling JavaScript removeChild or setAttribute on a node, it seems like
the renderer is deallocated during the process of computeAccessibilityIsIgnored. It's
causing a crash when we are accessing the renderer after that. Since RenderObject is not ref
counted and we cannot hold onto it for the duration of the function, fixed it by adding
more nil checks.
Despite my best efforts, I couldn't make a layout test that destroys the renderer within
the computeAccessibilityIsIgnored function.
- accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored):
- 10:53 AM Changeset in webkit [205864] by
-
- 2 edits in trunk/LayoutTests
Marking http/tests/security/cross-origin-cached-scripts-parallel.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=161912
Unreviewed test gardening.
- 10:43 AM Changeset in webkit [205863] by
-
- 4 edits2 adds in trunk
Media-source backed elements block load event; cause web-platform-test flakiness
https://bugs.webkit.org/show_bug.cgi?id=161881
Reviewed by Eric Carlson.
Source/WebCore:
Test: media/media-source/media-source-delaying-load-event.html
The MSE specification has added an explicit step to their "attaching to media element"
algorithm which tells the media element to stop delaying the load event. And indeed,
the HTMLMediaElement blocks the load event when a MediaSource is attached but its data
is never loaded.
- Modules/mediasource/MediaSource.cpp:
(WebCore::MediaSource::setPrivateAndOpen):
- html/HTMLMediaElement.h:
LayoutTests:
- media/media-source/media-source-delaying-load-event-expected.txt: Added.
- media/media-source/media-source-delaying-load-event.html: Added.
- 10:33 AM Changeset in webkit [205862] by
-
- 2 edits in trunk/LayoutTests
Unreviewed gardening; removed duplicate entry for mediasource-config-change-mp4-v-bitrate.html.
- platform/mac/TestExpectations:
- 10:05 AM Changeset in webkit [205861] by
-
- 3 edits2 adds in trunk
Input type object and the associated render can go out of sync.
https://bugs.webkit.org/show_bug.cgi?id=161871
<rdar://problem/28178094>
Reviewed by Antti Koivisto.
Source/WebCore:
Bail out when we've got a mismatched renderer.
Test: fast/forms/assert-on-input-type-change.html
- html/ImageInputType.cpp:
(WebCore::ImageInputType::altAttributeChanged):
LayoutTests:
- fast/forms/assert-on-input-type-change-expected.txt: Added.
- fast/forms/assert-on-input-type-change.html: Added.
- 9:13 AM Changeset in webkit [205860] by
-
- 12 edits in trunk/Source
[GTK] Get rid of DataObjectGtk::forClipboard and cleanup pasteboard code
https://bugs.webkit.org/show_bug.cgi?id=161907
Reviewed by Michael Catanzaro.
Source/WebCore:
We don't really need to keep a DataObjectGtk for every clipboard, we could simply pass the DataObjectGtk to read
and write methods of PasteboardHelper.
- editing/gtk/EditorGtk.cpp:
(WebCore::createFragmentFromPasteboardData): Update for DataObjectGtk API changes.
- platform/Pasteboard.h:
- platform/gtk/DataObjectGtk.cpp: Remove forClipboard() static method.
- platform/gtk/DataObjectGtk.h: Ditto.
- platform/gtk/PasteboardGtk.cpp:
(WebCore::Pasteboard::Pasteboard): Always create a new DataObjectGtk.
(WebCore::Pasteboard::dataObject): Return a const reference instead of a pointer.
(WebCore::Pasteboard::writePlainText): Pass the DataObjectGtk to PasteboardHelper.
(WebCore::Pasteboard::write): Ditto.
(WebCore::Pasteboard::writePasteboard): Ditto.
(WebCore::Pasteboard::clear): Ditto.
(WebCore::Pasteboard::read): Ditto.
(WebCore::Pasteboard::hasData): Ditto.
(WebCore::Pasteboard::types): Ditto.
(WebCore::Pasteboard::readString): Ditto.
(WebCore::Pasteboard::readFilenames): Ditto.
- platform/gtk/PasteboardHelper.cpp:
(WebCore::PasteboardHelper::getClipboardContents): Update the given DataObjectGtk.
(WebCore::PasteboardHelper::fillSelectionData): Use a const reference to DataObjectGtk instead of a pointer.
(WebCore::PasteboardHelper::targetListForDataObject): Ditto.
(WebCore::PasteboardHelper::fillDataObjectFromDropData): Use a reference to DataObjectGtk instead of a pointer.
(WebCore::ClipboardSetData::ClipboardSetData): Helper struct to pass DataObjectGtk and callback to clipboard callbacks.
(WebCore::ClipboardSetData::~ClipboardSetData):
(WebCore::getClipboardContentsCallback): Get the DataObjectGtk from ClipboardSetData struct passed as user data.
(WebCore::clearClipboardContentsCallback): Get the DataObjectGtk and callback from ClipboardSetData struct
passed as user data.
(WebCore::PasteboardHelper::writeClipboardContents): Write the given DataObjectGtk.
- platform/gtk/PasteboardHelper.h:
Source/WebKit2:
Update to DataObjectGtk and PasteboardHelper API changes.
- UIProcess/gtk/DragAndDropHandler.cpp:
(WebKit::DragAndDropHandler::startDrag):
(WebKit::DragAndDropHandler::fillDragData):
(WebKit::DragAndDropHandler::dataObjectForDropData):
- WebProcess/WebCoreSupport/gtk/WebDragClientGtk.cpp:
(WebKit::WebDragClient::startDrag):
- WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp:
(WebKit::collapseSelection):
(WebKit::WebEditorClient::updateGlobalSelection): Remove wrong X11 guards, since that code is not X11 specific.
- 8:59 AM Changeset in webkit [205859] by
-
- 2 edits in trunk/Source/WTF
ParkingLot is going to have a bad time with threads dying
https://bugs.webkit.org/show_bug.cgi?id=161893
Reviewed by Michael Saboff.
If a thread dies right as it falls out of parkConditionally, then unparkOne() and friends
might die because they will dereference a deallocated ThreadData.
The solution is to ref-count ThreadData's. When unparkOne() and friends want to hold onto a
ThreadData past the queue lock, they can use RefPtr<>.
- wtf/ParkingLot.cpp:
(WTF::ParkingLot::unparkOne):
(WTF::ParkingLot::unparkOneImpl):
(WTF::ParkingLot::unparkAll):
- 8:02 AM Changeset in webkit [205858] by
-
- 29 edits3 adds56 deletes in trunk
Drop support for <isindex>
https://bugs.webkit.org/show_bug.cgi?id=7139
Reviewed by Ryosuke Niwa.
LayoutTests/imported/w3c:
Import layout test coverage from W3C web-platform-tests. We used to fail
the last check but we now pass it. Chrome also passes this last check.
- web-platform-tests/html/semantics/forms/historical-expected.txt: Added.
- web-platform-tests/html/semantics/forms/historical.html: Added.
- web-platform-tests/html/semantics/forms/w3c-import.log: Added.
Source/WebCore:
Drop support for <isindex> and <input name=isindex>. Those are no longer
in the HTML specification and Chrome / Edge have already dropped their
support. Firefox is also planning on dropping this.
Test: imported/w3c/web-platform-tests/html/semantics/forms/historical.html
- css/StyleResolver.cpp:
(WebCore::elementTypeHasAppearanceFromUAStyle):
- css/html.css:
(input, textarea, keygen, select, button, meter, progress):
(input, textarea, keygen, select, button):
(#if defined(WTF_PLATFORM_IOS) && WTF_PLATFORM_IOS):
(input::placeholder):
(input:focus, textarea:focus, keygen:focus, select:focus):
- dom/Element.cpp:
(WebCore::Element::ieForbidsInsertHTML):
- html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::HTMLInputElement):
- html/HTMLTagNames.in:
- html/parser/HTMLStackItem.h:
(WebCore::isSpecialNode):
- html/parser/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processStartTagForInBody):
(WebCore::HTMLTreeBuilder::processCloseWhenNestedTag): Deleted.
(WebCore::createCaseMap): Deleted.
- html/parser/HTMLTreeBuilder.h:
- platform/network/FormData.cpp:
(WebCore::FormData::appendKeyValuePairItems):
Source/WebInspectorUI:
Drop references to isindex.
- UserInterface/Views/DOMTreeElement.js:
Source/WebKit/mac:
Drop references to isindex.
- WebCoreSupport/WebEditorClient.mm:
(attributesForAttributedStringConversion):
- WebView/WebHTMLView.mm:
(+[WebHTMLView _excludedElementsForAttributedStringConversion]):
LayoutTests:
Drop outdated tests / checks.
- dom/html/level2/html/HTMLIsIndexElement01-expected.txt: Removed.
- dom/html/level2/html/HTMLIsIndexElement01.html: Removed.
- dom/html/level2/html/HTMLIsIndexElement01.js: Removed.
- dom/html/level2/html/HTMLIsIndexElement02-expected.txt: Removed.
- dom/html/level2/html/HTMLIsIndexElement02.html: Removed.
- dom/html/level2/html/HTMLIsIndexElement02.js: Removed.
- dom/html/level2/html/HTMLIsIndexElement03-expected.txt: Removed.
- dom/html/level2/html/HTMLIsIndexElement03.html: Removed.
- dom/html/level2/html/HTMLIsIndexElement03.js: Removed.
- fast/dom/HTMLIsIndexElement/prototype-chain-expected.txt: Removed.
- fast/dom/HTMLIsIndexElement/prototype-chain.html: Removed.
- fast/dom/HTMLIsIndexElement/script-tests/prototype-chain.js: Removed.
- fast/dom/isindex-001.html: Removed.
- fast/dom/isindex-002.html: Removed.
- fast/events/resources/tabindex-focus-blur-all-frame1.html:
- fast/events/resources/tabindex-focus-blur-all-frame2.html:
- fast/events/resources/tabindex-focus-blur-all-iframe1.html:
- fast/events/resources/tabindex-focus-blur-all-iframe2.html:
- fast/forms/isindex-name-expected.txt: Removed.
- fast/forms/isindex-name.html: Removed.
- fast/forms/isindex-placeholder-expected.html: Removed.
- fast/forms/isindex-placeholder.html: Removed.
- fast/forms/text-style-color.html: Removed.
- fast/parser/fragment-parser-expected.txt:
- fast/parser/script-tests/fragment-parser.js:
- fast/replaced/table-percent-height-text-controls-expected.txt:
- fast/replaced/table-percent-height-text-controls.html:
- html5lib/generated/run-isindex-data-expected.txt: Removed.
- html5lib/generated/run-isindex-data.html: Removed.
- html5lib/generated/run-isindex-write-expected.txt: Removed.
- html5lib/generated/run-isindex-write.html: Removed.
- html5lib/resources/isindex.dat:
- html5lib/resources/tests19.dat:
- html5lib/resources/tests2.dat:
- html5lib/resources/webkit02.dat:
- http/tests/misc/isindex-formdata-expected.txt: Removed.
- http/tests/misc/isindex-formdata.html: Removed.
- http/tests/misc/isindex-with-no-form-base-href-expected.txt: Removed.
- http/tests/misc/isindex-with-no-form-base-href.html: Removed.
- http/tests/misc/isindex-with-no-form-expected.txt: Removed.
- http/tests/misc/isindex-with-no-form.html: Removed.
- http/tests/misc/resources/isindex-with-no-form-base-href-submit.html: Removed.
- http/tests/misc/resources/isindex-with-no-form-base-href.html: Removed.
- platform/efl/fast/dom/isindex-001-expected.png: Removed.
- platform/efl/fast/dom/isindex-001-expected.txt: Removed.
- platform/efl/fast/dom/isindex-002-expected.png: Removed.
- platform/efl/fast/dom/isindex-002-expected.txt: Removed.
- platform/efl/fast/forms/text-style-color-expected.png: Removed.
- platform/efl/fast/forms/text-style-color-expected.txt: Removed.
- platform/gtk/fast/dom/isindex-001-expected.png: Removed.
- platform/gtk/fast/dom/isindex-001-expected.txt: Removed.
- platform/gtk/fast/dom/isindex-002-expected.png: Removed.
- platform/gtk/fast/dom/isindex-002-expected.txt: Removed.
- platform/gtk/fast/forms/text-style-color-expected.png: Removed.
- platform/gtk/fast/forms/text-style-color-expected.txt: Removed.
- platform/ios-simulator/fast/dom/isindex-001-expected.txt: Removed.
- platform/ios-simulator/fast/dom/isindex-002-expected.txt: Removed.
- platform/ios-simulator/fast/forms/text-style-color-expected.txt: Removed.
- platform/mac-elcapitan/fast/dom/isindex-001-expected.txt: Removed.
- platform/mac-elcapitan/fast/dom/isindex-002-expected.txt: Removed.
- platform/mac-elcapitan/fast/forms/text-style-color-expected.txt: Removed.
- platform/mac/fast/dom/isindex-001-expected.png: Removed.
- platform/mac/fast/dom/isindex-001-expected.txt: Removed.
- platform/mac/fast/dom/isindex-002-expected.png: Removed.
- platform/mac/fast/dom/isindex-002-expected.txt: Removed.
- platform/mac/fast/forms/text-style-color-expected.png: Removed.
- platform/mac/fast/forms/text-style-color-expected.txt: Removed.
- platform/win/fast/dom/isindex-001-expected.txt: Removed.
- platform/win/fast/dom/isindex-002-expected.txt: Removed.
- platform/win/fast/forms/text-style-color-expected.txt: Removed.
- 4:52 AM Changeset in webkit [205857] by
-
- 2 edits in trunk/LayoutTests
Skip media source tests since the feature is not enabled on Windows.
Unreviewed test gardening.
- platform/win/TestExpectations:
- 1:17 AM Changeset in webkit [205856] by
-
- 18 edits1 copy1 move4 adds2 deletes in trunk
ES6: Classes: Should be allowed to create a static method with name "arguments"
https://bugs.webkit.org/show_bug.cgi?id=152985
Reviewed by Keith Miller.
Source/JavaScriptCore:
Current patch covered 16.2 Forbidden Extensions - first topic
(https://tc39.github.io/ecma262/#sec-forbidden-extensions) ECMAScript Functions
should not have own properties named "caller" or "arguments".
Also added possibility to declare static methods and getters with
name 'arguments' and 'caller' for classes. i.e.:
class A { static arguments() { return 'value'; } }
A.arguments() === 'value';
To implement this patch 'caller' and 'arguments' were put to the FunctionPrototype
object. Also was changed approach to init throwTypeErrorArgumentsCalleeAndCallerGetterSetter
property from Lazy to common because it necessary to use execState during init of the accessors
properties.
- runtime/Executable.h:
- runtime/FunctionPrototype.cpp:
(JSC::FunctionPrototype::initRestrictedProperties):
(JSC::FunctionPrototype::addFunctionProperties): Deleted.
- runtime/FunctionPrototype.h:
- runtime/JSFunction.cpp:
(JSC::JSFunction::getOwnPropertySlot):
(JSC::JSFunction::getOwnNonIndexPropertyNames):
(JSC::JSFunction::put):
(JSC::JSFunction::deleteProperty):
(JSC::JSFunction::defineOwnProperty):
- runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::init):
(JSC::JSGlobalObject::visitChildren):
- runtime/JSGlobalObject.h:
(JSC::JSGlobalObject::throwTypeErrorArgumentsCalleeAndCallerGetterSetter):
JSTests:
- test262.yaml:
LayoutTests:
- js/Object-getOwnPropertyNames-expected.txt:
- js/basic-strict-mode-expected.txt:
- js/class-method-and-constructor-properties-expected.txt: Removed.
- js/class-syntax-method-names-expected.txt:
- js/es6-function-properties-expected.txt: Added.
- js/es6-function-properties.html: Copied from LayoutTests/js/class-method-and-constructor-properties.html.
- js/kde/script-tests/function_arguments.js:
(f):
- js/non-strict-function-properties-expected.txt: Added.
- js/non-strict-function-properties.html: Renamed from LayoutTests/js/class-method-and-constructor-properties.html.
- js/script-tests/Object-getOwnPropertyNames.js:
- js/script-tests/basic-strict-mode.js:
- js/script-tests/class-method-and-constructor-properties.js: Removed.
(shouldThrow): Deleted.
(shouldBe): Deleted.
(A): Deleted.
(B): Deleted.
(C): Deleted.
(D): Deleted.
(E.prototype.getItem): Deleted.
(E): Deleted.
(F.prototype.getElement): Deleted.
(F): Deleted.
(G.prototype.get item): Deleted.
(G): Deleted.
(H.prototype.caller): Deleted.
(H.prototype.arguments): Deleted.
(H): Deleted.
- js/script-tests/class-syntax-method-names.js:
- js/script-tests/es6-function-properties.js: Added.
(shouldThrow):
(shouldBe):
(A):
(B):
(C):
(D):
(E.prototype.getItem):
(E):
(F.prototype.getElement):
(F):
(G.prototype.get item):
(G):
(check):
(arr):
(H.prototype.caller):
(H.prototype.arguments):
(H):
(J.prototype.gen):
(J.gen):
(J):
- js/script-tests/non-strict-function-properties.js: Added.
(foo):
(boo):
(f):
(g):
(doSetCaller):
(doSetArguments):
- js/script-tests/strict-throw-type-error.js: