Timeline



Oct 27, 2015:

10:20 PM Changeset in webkit [191658] by Hunseop Jeong
  • 4 edits in trunk

[Cairo] Incorrect dashed and dotted border painting after r177686.
https://bugs.webkit.org/show_bug.cgi?id=141967

Reviewed by Gyuyoung Kim.

Fix the incorrect dashed/dotted border painting in cairo.

Source/WebCore:

  • platform/graphics/cairo/GraphicsContextCairo.cpp:

(WebCore::GraphicsContext::drawLine):
(WebCore::calculateStrokePatternOffset): Deleted.
(WebCore::drawLineOnCairoContext): Deleted.

LayoutTests:

  • platform/gtk/TestExpectations: Removed the passed test.
10:19 PM Changeset in webkit [191657] by matthew_hanson@apple.com
  • 3 edits in branches/safari-601-branch/Source/WebCore

Merge r191636. <rdar://problem/23078059>

10:19 PM Changeset in webkit [191656] by matthew_hanson@apple.com
  • 2 edits in branches/safari-601-branch/Source/WebCore

Merge r191525. <rdar://problem/23239748> FaradayDotTwo: CrashTracer: com.apple.WebKit.WebContent at ?re: WebCore::RenderObject::localToContainerQuad const + 132

10:19 PM Changeset in webkit [191655] by matthew_hanson@apple.com
  • 6 edits in branches/safari-601-branch

Merge r191395. rdar://problem/22847057

10:19 PM Changeset in webkit [191654] by matthew_hanson@apple.com
  • 2 edits in branches/safari-601-branch/Source/JavaScriptCore

Merge r187510. <rdar://problem/22847057> FaradayDotTwo: Safari crash in com.apple.JavaScriptCore: JSC::DFG::(anonymous namespace)::PutStackSinkingPhase::run + 47593

10:19 PM Changeset in webkit [191653] by matthew_hanson@apple.com
  • 16 edits
    3 adds in branches/safari-601-branch

Merge r191530. rdar://problem/23206864

9:40 PM Changeset in webkit [191652] by Chris Dumez
  • 126 edits
    2 adds in trunk

id of iframe incorrectly sets window name
https://bugs.webkit.org/show_bug.cgi?id=150565

Reviewed by Darin Adler.

Source/WebCore:

As per the specification, the iframe's contentWindow name should be an
empty string if the frame's name attribute is unset:
http://www.whatwg.org/specs/web-apps/current-work/multipage/the-iframe-element.html#attr-iframe-name

Instead, WebKit was using the iframe's id as window name if the name
was unset.

Firefox, IE and Chrome behave according to the specification.

This is a merge of the following Blink commit:
https://src.chromium.org/viewvc/blink?revision=169803&view=revision

Test: fast/frames/iframe-no-name.html

  • html/HTMLFrameElementBase.cpp:

(WebCore::HTMLFrameElementBase::parseAttribute):
(WebCore::HTMLFrameElementBase::insertedInto): Deleted.

LayoutTests:

Add a test to check that id of iframe incorrectly sets the window name
when the iframe's name is not set.

Also set frame names in a lot of layout tests so that they keep giving
the same output.

  • fast/css-generated-content/positioned-div-with-floating-after-content-crash.html:
  • fast/dom/Window/slow-unload-handler-overwritten-date.html:
  • fast/dom/Window/timeout-callback-scope.html:
  • fast/dom/Window/window-access-after-navigation.html:
  • fast/dom/Window/window-collection-length-no-crash.html:
  • fast/dom/Window/window-special-properties-expected.txt:
  • fast/dom/microtask-detach.html:
  • fast/dom/microtask-inorder.html:
  • fast/dom/microtask-reverse.html:
  • fast/dom/wrapper-context.html:
  • fast/dom/xss-DENIED-javascript-variations.html:
  • fast/events/onbeforeunload-focused-iframe.html:
  • fast/events/open-window-from-another-frame.html:
  • fast/events/popup-blocked-to-post-blank.html:
  • fast/events/popup-blocking-click-in-iframe.html:
  • fast/events/popup-when-select-change.html:
  • fast/frames/detach-frame-during-focus.html:
  • fast/frames/frame-inherit-noresize-from-frameset.html:
  • fast/frames/frame-programmatic-noresize.html:
  • fast/frames/frame-with-noresize-can-be-resized-after-removal-of-noresize.html:
  • fast/frames/frame-with-noresize-can-be-resized-after-setting-noResize-to-false.html:
  • fast/frames/iframe-no-name-expected.txt: Added.
  • fast/frames/iframe-no-name.html: Added.
  • fast/frames/unload-reparent-sibling-frame.html:
  • fast/history/form-submit-in-frame-via-onclick.html:
  • fast/history/form-submit-in-frame.html:
  • fast/history/same-document-iframes-changing-fragment.html:
  • fast/history/same-document-iframes-changing-pushstate.html:
  • fast/history/saves-state-after-frame-nav.html:
  • fast/images/exif-orientation-image-document.html:
  • fast/loader/resources/subframe-navigate-during-main-frame-load2.html:
  • fast/overflow/scrollRevealButton.html:
  • fast/parser/xml-colon-entity.html:
  • fast/parser/xml-declaration-missing-ending-mark.html:
  • fast/scrolling/latching/scroll-nested-iframe.html:
  • fullscreen/full-screen-frameset.html:
  • http/tests/contentextensions/block-cookies-in-csp-report.html:
  • http/tests/contentextensions/block-cookies-in-ping.html:
  • http/tests/contentextensions/block-cookies-send.html:
  • http/tests/contentextensions/block-csp-report.html:
  • http/tests/contentextensions/block-everything-unless-domain-iframe.html:
  • http/tests/contentextensions/block-ping.html:
  • http/tests/contentextensions/hide-on-csp-report.html:
  • http/tests/contentextensions/hide-on-ping.html:
  • http/tests/loading/text-content-type-with-binary-extension.html:
  • http/tests/misc/location-replace-crossdomain.html:
  • http/tests/multipart/multipart-wait-before-boundary.html:
  • http/tests/navigation/no-referrer-subframe.html:
  • http/tests/security/cross-frame-access-child-explicit-domain.html:
  • http/tests/security/cross-frame-access-document-direct.html:
  • http/tests/security/cross-frame-access-parent-explicit-domain.html:
  • http/tests/security/cross-frame-access-port-explicit-domain.html:
  • http/tests/security/cross-frame-access-port.html:
  • http/tests/security/dataURL/resources/foreign-domain-data-url-accessee-iframe.html:
  • http/tests/security/dataURL/resources/foreign-domain-data-url-accessor-iframe.html:
  • http/tests/security/dataURL/xss-DENIED-from-data-url-in-foreign-domain-subframe.html:
  • http/tests/security/dataURL/xss-DENIED-from-data-url-sub-frame-2-level.html:
  • http/tests/security/dataURL/xss-DENIED-from-data-url-sub-frame.html:
  • http/tests/security/dataURL/xss-DENIED-from-data-url-to-data-url.html:
  • http/tests/security/dataURL/xss-DENIED-to-data-url-from-data-url.html:
  • http/tests/security/dataURL/xss-DENIED-to-data-url-sub-frame-2-level.html:
  • http/tests/security/dataURL/xss-DENIED-to-data-url-sub-frame-uppercase.html:
  • http/tests/security/dataURL/xss-DENIED-to-data-url-sub-frame.html:
  • http/tests/security/host-compare-case-insensitive.html:
  • http/tests/security/javascriptURL/javascriptURL-execution-context-frame-location-htmldom.html:
  • http/tests/security/javascriptURL/javascriptURL-execution-context-frame-src-getAttribute-value.html:
  • http/tests/security/javascriptURL/javascriptURL-execution-context-frame-src-htmldom.html:
  • http/tests/security/javascriptURL/javascriptURL-execution-context-frame-src-setAttribute.html:
  • http/tests/security/javascriptURL/javascriptURL-execution-context-frame-src-setAttributeNS.html:
  • http/tests/security/javascriptURL/javascriptURL-execution-context-frame-src-setAttributeNode.html:
  • http/tests/security/javascriptURL/javascriptURL-execution-context-frame-src-setAttributeNodeNS.html:
  • http/tests/security/javascriptURL/javascriptURL-execution-context-iframe-src-getAttribute-value.html:
  • http/tests/security/javascriptURL/javascriptURL-execution-context-iframe-src-htmldom.html:
  • http/tests/security/javascriptURL/javascriptURL-execution-context-iframe-src-setAttribute.html:
  • http/tests/security/javascriptURL/javascriptURL-execution-context-iframe-src-setAttributeNS.html:
  • http/tests/security/javascriptURL/javascriptURL-execution-context-iframe-src-setAttributeNode.html:
  • http/tests/security/javascriptURL/javascriptURL-execution-context-iframe-src-setAttributeNodeNS.html:
  • http/tests/security/javascriptURL/resources/foreign-domain-javascript-url-accessee-iframe.html:
  • http/tests/security/javascriptURL/resources/foreign-domain-javascript-url-accessor-iframe.html:
  • http/tests/security/javascriptURL/xss-ALLOWED-from-javascript-url-sub-frame-2-level.html:
  • http/tests/security/javascriptURL/xss-ALLOWED-from-javascript-url-sub-frame.html:
  • http/tests/security/javascriptURL/xss-ALLOWED-to-javascript-url-from-javscript-url.html:
  • http/tests/security/javascriptURL/xss-ALLOWED-to-javascript-url-sub-frame.html:
  • http/tests/security/protocol-compare-case-insensitive.html:
  • http/tests/security/referrer-policy-redirect-link.html:
  • http/tests/security/sandboxed-iframe-blocks-access-from-parent.html:
  • http/tests/security/srcdoc-inherits-referrer-for-forms.html:
  • http/tests/security/xssAuditor/full-block-base-href.html:
  • http/tests/security/xssAuditor/full-block-iframe-javascript-url.html:
  • http/tests/security/xssAuditor/full-block-iframe-no-inherit.php:
  • http/tests/security/xssAuditor/full-block-javascript-link.html:
  • http/tests/security/xssAuditor/full-block-link-onclick.html:
  • http/tests/security/xssAuditor/full-block-object-tag.html:
  • http/tests/security/xssAuditor/full-block-script-tag-cross-domain.html:
  • http/tests/security/xssAuditor/full-block-script-tag-with-source.html:
  • http/tests/security/xssAuditor/full-block-script-tag.html:
  • http/tests/security/xssAuditor/malformed-xss-protection-header-1.html:
  • http/tests/security/xssAuditor/malformed-xss-protection-header-2.html:
  • http/tests/security/xssAuditor/malformed-xss-protection-header-3.html:
  • http/tests/security/xssAuditor/malformed-xss-protection-header-4.html:
  • http/tests/security/xssAuditor/malformed-xss-protection-header-5.html:
  • http/tests/security/xssAuditor/malformed-xss-protection-header-6.html:
  • http/tests/security/xssAuditor/malformed-xss-protection-header-7.html:
  • http/tests/security/xssAuditor/malformed-xss-protection-header-8.html:
  • http/tests/security/xssAuditor/malformed-xss-protection-header-9.html:
  • http/tests/security/xssAuditor/report-script-tag-replace-state.html:
  • http/tests/security/xssAuditor/report-script-tag.html:
  • http/tests/security/xssAuditor/resources/utilities.js:

(sendRequestFromIFrame):

  • http/tests/security/xssAuditor/xss-protection-parsing-02.html:
  • http/tests/security/xssAuditor/xss-protection-parsing-03.html:
  • http/tests/security/xssAuditor/xss-protection-parsing-04.html:
  • platform/mac/webarchive/archive-empty-frame-dom-expected.txt:
  • plugins/plugin-remove-subframe.html:
  • webarchive/archive-empty-frame-dom-expected.webarchive:
  • webarchive/archive-empty-frame-dom.html:
7:44 PM Changeset in webkit [191651] by commit-queue@webkit.org
  • 11 edits in trunk/Source

Web Inspector: Remove Timeline MarkDOMContent and MarkLoad, data is already available
https://bugs.webkit.org/show_bug.cgi?id=150615

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-10-27
Reviewed by Timothy Hatcher.

Source/JavaScriptCore:

  • inspector/protocol/Timeline.json:

Source/WebCore:

The timestamp only event data is already available from Page.domContentEventFired
and Page.loadEventFired events. We can drop the Timeline specific events in
favor of these which have existed for a very long time (before iOS 7).

  • inspector/InspectorInstrumentation.cpp:

(WebCore::InspectorInstrumentation::loadEventFiredImpl):
(WebCore::InspectorInstrumentation::domContentLoadedEventFiredImpl): Deleted.

  • inspector/InspectorTimelineAgent.cpp:

(WebCore::InspectorTimelineAgent::didMarkDOMContentEvent): Deleted.
(WebCore::InspectorTimelineAgent::didMarkLoadEvent): Deleted.
(WebCore::toProtocol): Deleted.

  • inspector/InspectorTimelineAgent.h:
  • inspector/TimelineRecordFactory.cpp:

(WebCore::TimelineRecordFactory::createMarkData): Deleted.

  • inspector/TimelineRecordFactory.h:

Source/WebInspectorUI:

  • UserInterface/Controllers/TimelineManager.js:

(WebInspector.TimelineManager.prototype._processEvent):
Remove the now unneed mark event handling.

(WebInspector.TimelineManager.prototype.pageDOMContentLoadedEventFired):
(WebInspector.TimelineManager.prototype.pageLoadEventFired):
Update the main frame and create markers for the current recording.

  • UserInterface/Protocol/PageObserver.js:

(WebInspector.PageObserver.prototype.domContentEventFired):
(WebInspector.PageObserver.prototype.loadEventFired):
Forward to TimelineManager.

5:48 PM Changeset in webkit [191650] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

Fix the 32-bit build.

  • UIProcess/Cocoa/WebViewImpl.mm:

(WebKit::WebViewImpl::dragImageForView):

5:47 PM Changeset in webkit [191649] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

Fix the build.

  • UIProcess/Cocoa/WebViewImpl.mm:
5:44 PM Changeset in webkit [191648] by timothy_horton@apple.com
  • 8 edits in trunk/Source/WebKit2

WKView being inside WKWebView leads to weird API issues
https://bugs.webkit.org/show_bug.cgi?id=150174

Reviewed by Anders Carlsson.

  • UIProcess/API/mac/WKView.mm:

(-[WKView mouseDown:]):
(-[WKView mouseUp:]):
(-[WKView acceptsFirstMouse:]):
(-[WKView shouldDelayWindowOrderingForEvent:]):
(-[WKView pasteboardChangedOwner:]):
(-[WKView pasteboard:provideDataForType:]):
(-[WKView namesOfPromisedFilesDroppedAtDestination:]):
(-[WKView _startWindowDrag]):
(-[WKView _setMouseDownEvent:]): Deleted.
(-[WKView _colorSpace]): Deleted.
(-[WKView _dragImageForView:withImage:at:linkDrag:]): Deleted.
(matchesExtensionOrEquivalent): Deleted.
(-[WKView _setFileAndURLTypes:withExtension:withTitle:withURL:withVisibleURL:forPasteboard:]): Deleted.
(-[WKView _setPromisedDataForImage:withFileName:withExtension:withTitle:withURL:withVisibleURL:withArchive:forPasteboard:]): Deleted.
(-[WKView _setPromisedDataForAttachment:withExtension:withTitle:withURL:withVisibleURL:forPasteboard:]): Deleted.
(fileExists): Deleted.
(pathWithUniqueFilenameForPath): Deleted.
(-[WKView spellCheckerDocumentTag]): Deleted.
(-[WKView handleAcceptedAlternativeText:]): Deleted.
(-[WKView initWithFrame:processPool:configuration:webView:]): Deleted.

  • UIProcess/API/mac/WKViewInternal.h:
  • UIProcess/Cocoa/WebViewImpl.h:
  • UIProcess/Cocoa/WebViewImpl.mm:

(WebKit::WebViewImpl::handleAcceptedAlternativeText):
(WebKit::WebViewImpl::spellCheckerDocumentTag):
(WebKit::WebViewImpl::startWindowDrag):
(WebKit::WebViewImpl::dragImageForView):
(WebKit::matchesExtensionOrEquivalent):
(WebKit::WebViewImpl::setFileAndURLTypes):
(WebKit::WebViewImpl::setPromisedDataForImage):
(WebKit::WebViewImpl::setPromisedDataForAttachment):
(WebKit::WebViewImpl::pasteboardChangedOwner):
(WebKit::WebViewImpl::provideDataForPasteboard):
(WebKit::fileExists):
(WebKit::pathWithUniqueFilenameForPath):
(WebKit::WebViewImpl::namesOfPromisedFilesDroppedAtDestination):
(WebKit::WebViewImpl::setLastMouseDownEvent):

  • UIProcess/mac/CorrectionPanel.h:
  • UIProcess/mac/CorrectionPanel.mm:

(WebKit::CorrectionPanel::show):
(WebKit::CorrectionPanel::recordAutocorrectionResponse):
(WebKit::CorrectionPanel::handleAcceptedReplacement):

  • UIProcess/mac/PageClientImpl.mm:

(WebKit::PageClientImpl::colorSpace):
(WebKit::PageClientImpl::setDragImage):
(WebKit::PageClientImpl::setPromisedDataForImage):
(WebKit::PageClientImpl::setPromisedDataForAttachment):
(WebKit::PageClientImpl::showCorrectionPanel):
(WebKit::PageClientImpl::recordAutocorrectionResponse):
(WebKit::PageClientImpl::showDictationAlternativeUI):
Move some pasteboard and spellcheck code.

5:35 PM Changeset in webkit [191647] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

Null dereference loading Blink layout test editing/execCommand/format-block-uneditable-crash.html
https://bugs.webkit.org/show_bug.cgi?id=150207
<rdar://problem/23137066>

Patch by Jiewen Tan <jiewen_tan@apple.com> on 2015-10-27
Reviewed by Enrica Casucci.

Source/WebCore:

This is a merge of Blink r200238:
https://codereview.chromium.org/1280263002

Test: editing/execCommand/format-block-uneditable-crash.html

  • editing/ApplyBlockElementCommand.cpp:

(WebCore::ApplyBlockElementCommand::rangeForParagraphSplittingTextNodesIfNeeded):
splitTextNode() will return early if the given text node is not editable. Hence, check
its editablity before calling the method.

LayoutTests:

  • editing/execCommand/format-block-uneditable-crash-expected.txt: Added.
  • editing/execCommand/format-block-uneditable-crash.html: Added.
5:34 PM Changeset in webkit [191646] by Wenson Hsieh
  • 2 edits in trunk/LayoutTests

Unreviewed, fix a failing iOS WK2 test.

  • fast/events/ios/viewport-device-width-allows-double-tap-zoom-out-expected.txt:
5:12 PM Changeset in webkit [191645] by beidson@apple.com
  • 11 edits
    4 adds in trunk

Modern IDB: IDBTransaction.objectStore() support.
https://bugs.webkit.org/show_bug.cgi?id=150607

Reviewed by Alex Christensen.

Source/WebCore:

Tests: storage/indexeddb/modern/aborted-put.html

storage/indexeddb/modern/idbtransaction-objectstore-failures.html

  • Modules/indexeddb/client/IDBObjectStoreImpl.cpp:

(WebCore::IDBClient::IDBObjectStore::put):

  • Modules/indexeddb/client/IDBTransactionImpl.cpp:

(WebCore::IDBClient::IDBTransaction::objectStore):
(WebCore::IDBClient::IDBTransaction::createObjectStoreOnServer):

  • Modules/indexeddb/client/IDBTransactionImpl.h:
  • Modules/indexeddb/server/MemoryBackingStoreTransaction.cpp:

(WebCore::IDBServer::MemoryBackingStoreTransaction::addExistingObjectStore):

  • Modules/indexeddb/server/MemoryBackingStoreTransaction.h:
  • Modules/indexeddb/server/MemoryIDBBackingStore.cpp:

(WebCore::IDBServer::MemoryIDBBackingStore::beginTransaction):

  • Modules/indexeddb/shared/IDBDatabaseInfo.cpp:

(WebCore::IDBDatabaseInfo::infoForExistingObjectStore):

  • Modules/indexeddb/shared/IDBDatabaseInfo.h:
  • Modules/indexeddb/shared/IDBTransactionInfo.h:

(WebCore::IDBTransactionInfo::objectStores):

LayoutTests:

  • storage/indexeddb/modern/aborted-put-expected.txt: Added.
  • storage/indexeddb/modern/aborted-put.html: Added.
  • storage/indexeddb/modern/idbtransaction-objectstore-failures-expected.txt: Added.
  • storage/indexeddb/modern/idbtransaction-objectstore-failures.html: Added.
4:34 PM Changeset in webkit [191644] by Wenson Hsieh
  • 22 edits
    6 adds in trunk

Implement viewport-width-based fast-click heuristic
https://bugs.webkit.org/show_bug.cgi?id=150604
<rdar://problem/23267308>

Reviewed by Simon Fraser.

Source/WebKit2:

Implement a new fast-click heuristic that applies to viewports with width = device-width. The basic rules are
as follows: when a page has viewport width = device-width and is at initial zoom scale, we disable double-tapping
in favor of fast-clicking. However, if the viewport scale is not the initial scale, we allow double tapping. For
fast-clicking to remain useful after the user pinch-zooms, we change our double-tap to zoom out behavior to zoom
to the initial scale rather than the minimum scale. For unscalable viewports, we default to fast-clicking behavior,
and for all other viewports not at device-width, we double-tap to zoom and scroll as normal.

This patch removes some logic previously used for our scroll- and zoom-based fast-clicking heuristic, and adds
information about the viewport width and initial scale to RemoteLayerTreeTransactions. This information is then
used by the UI process to determine whether double tapping should be disabled or enabled.

The fast-click heuristic can be turned off through user default preferences, and a tap highlight for debugging
fast-clicking can also be enabled through a user default preference. A red highlight indicates that a single-
tap was slow, whereas a green highlight indicates a fast single-tap.

  • Shared/mac/RemoteLayerTreeTransaction.h:

(WebKit::RemoteLayerTreeTransaction::initialScaleFactor):
(WebKit::RemoteLayerTreeTransaction::setInitialScaleFactor):
(WebKit::RemoteLayerTreeTransaction::viewportMetaTagWidth):
(WebKit::RemoteLayerTreeTransaction::setViewportMetaTagWidth):

  • Shared/mac/RemoteLayerTreeTransaction.mm:

(WebKit::RemoteLayerTreeTransaction::encode):
(WebKit::RemoteLayerTreeTransaction::decode):

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView initWithFrame:configuration:]):
(-[WKWebView _processDidExit]):
(-[WKWebView _didCommitLayerTree:]):
(-[WKWebView _zoomToInitialScaleWithOrigin:animated:]):
(-[WKWebView _allowsDoubleTapGestures]):
(-[WKWebView _setViewportMetaTagWidth:]): Deleted.
(-[WKWebView _contentZoomScale]): Deleted.
(-[WKWebView _viewportMetaTagWidth]): Deleted.
(-[WKWebView _viewportIsUserScalable]): Deleted.

  • UIProcess/API/Cocoa/WKWebViewInternal.h:
  • UIProcess/API/Cocoa/WKWebViewPrivate.h:
  • UIProcess/PageClient.h:
  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
  • UIProcess/ios/PageClientImplIOS.h:
  • UIProcess/ios/PageClientImplIOS.mm:

(WebKit::PageClientImpl::disableDoubleTapGesturesDuringTapIfNecessary):
(WebKit::PageClientImpl::didChangeViewportMetaTagWidth): Deleted.
(WebKit::PageClientImpl::disableDoubleTapGesturesUntilTapIsFinishedIfNecessary): Deleted.

  • UIProcess/ios/SmartMagnificationController.h:
  • UIProcess/ios/SmartMagnificationController.mm:

(WebKit::SmartMagnificationController::didCollectGeometryForSmartMagnificationGesture):

  • UIProcess/ios/WKContentView.h:
  • UIProcess/ios/WKContentView.mm:

(-[WKContentView _zoomToInitialScaleWithOrigin:]):

  • UIProcess/ios/WKContentViewInteraction.h:
  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView setupInteraction]):
(-[WKContentView _showTapHighlight]):
(-[WKContentView _didGetTapHighlightForRequest:color:quads:topLeftRadius:topRightRadius:bottomLeftRadius:bottomRightRadius:]):
(-[WKContentView _mayDisableDoubleTapGesturesDuringSingleTap]):
(-[WKContentView _disableDoubleTapGesturesDuringTapIfNecessary:]):
(-[WKContentView _finishInteraction]):
(-[WKContentView _endPotentialTapAndEnableDoubleTapGesturesIfNecessary]):
(-[WKContentView _tapHighlightColorForFastClick:]):
(-[WKContentView _setDoubleTapGesturesEnabled:]):
(-[WKContentView _fastClickZoomThreshold]): Deleted.
(-[WKContentView _allowDoubleTapToZoomForCurrentZoomScale:andTargetZoomScale:]): Deleted.
(-[WKContentView _disableDoubleTapGesturesUntilTapIsFinishedIfNecessary:allowsDoubleTapZoom:targetRect:isReplaced:minimumScale:maximumScale:]): Deleted.

  • UIProcess/ios/WebPageProxyIOS.mm:

(WebKit::WebPageProxy::disableDoubleTapGesturesDuringTapIfNecessary):
(WebKit::WebPageProxy::viewportMetaTagWidthDidChange): Deleted.
(WebKit::WebPageProxy::disableDoubleTapGesturesUntilTapIsFinishedIfNecessary): Deleted.

  • WebProcess/WebPage/ViewGestureGeometryCollector.h:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::willCommitLayerTree):

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::potentialTapAtPosition):
(WebKit::WebPage::viewportPropertiesDidChange): Deleted.

LayoutTests:

Implement a new fast-click heuristic that applies to viewports with width = device-width. Adds
new tests to check various fast-clicking behaviors. These three tests check (for pages with width=
device-width) that:

  • Double-tapping to zoom still works when the scale is not the initial scale.
  • If the page is at initial scale, we fire fast-clicks instead of zooming.
  • When zooming out from element scale, we end up at initial scale instead of minimum scale.
  • fast/events/ios/viewport-device-width-allows-double-tap-zoom-out-expected.txt: Added.
  • fast/events/ios/viewport-device-width-allows-double-tap-zoom-out.html: Added.
  • fast/events/ios/viewport-device-width-at-initial-scale-fast-clicks-expected.txt: Added.
  • fast/events/ios/viewport-device-width-at-initial-scale-fast-clicks.html: Added.
  • fast/events/ios/viewport-zooms-from-element-to-initial-scale-expected.txt: Added.
  • fast/events/ios/viewport-zooms-from-element-to-initial-scale.html: Added.
3:08 PM Changeset in webkit [191643] by commit-queue@webkit.org
  • 12 edits in trunk/Source

Web Inspector: Remove unused / duplicated XHR timeline instrumentation
https://bugs.webkit.org/show_bug.cgi?id=150605

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-10-27
Reviewed by Timothy Hatcher.

Source/JavaScriptCore:

  • inspector/protocol/Timeline.json:

Source/WebCore:

These records are just duplicates of "EventDispatch" records for XHR
load and readystatechange events. Due to the nesting, the XHR records
were themselves never getting looked at, and their data (URL / readyState)
not shown in the frontend.

  • inspector/InspectorInstrumentation.cpp:

(WebCore::InspectorInstrumentation::willDispatchXHRReadyStateChangeEventImpl): Deleted.
(WebCore::InspectorInstrumentation::didDispatchXHRReadyStateChangeEventImpl): Deleted.
(WebCore::InspectorInstrumentation::willDispatchXHRLoadEventImpl): Deleted.
(WebCore::InspectorInstrumentation::didDispatchXHRLoadEventImpl): Deleted.

  • inspector/InspectorInstrumentation.h:

(WebCore::InspectorInstrumentation::willDispatchXHRReadyStateChangeEvent): Deleted.
(WebCore::InspectorInstrumentation::didDispatchXHRReadyStateChangeEvent): Deleted.
(WebCore::InspectorInstrumentation::willDispatchXHRLoadEvent): Deleted.
(WebCore::InspectorInstrumentation::didDispatchXHRLoadEvent): Deleted.

  • inspector/InspectorTimelineAgent.cpp:

(WebCore::InspectorTimelineAgent::willDispatchXHRReadyStateChangeEvent): Deleted.
(WebCore::InspectorTimelineAgent::didDispatchXHRReadyStateChangeEvent): Deleted.
(WebCore::InspectorTimelineAgent::willDispatchXHRLoadEvent): Deleted.
(WebCore::InspectorTimelineAgent::didDispatchXHRLoadEvent): Deleted.
(WebCore::toProtocol): Deleted.

  • inspector/InspectorTimelineAgent.h:
  • inspector/TimelineRecordFactory.cpp:

(WebCore::TimelineRecordFactory::createXHRReadyStateChangeData): Deleted.
(WebCore::TimelineRecordFactory::createXHRLoadData): Deleted.

  • inspector/TimelineRecordFactory.h:
  • xml/XMLHttpRequest.cpp:

(WebCore::XMLHttpRequest::callReadyStateChangeListener): Deleted.

Source/WebInspectorUI:

  • UserInterface/Controllers/TimelineManager.js:

(WebInspector.TimelineManager.prototype._processRecord):
Remove unused events and add an assert that we don't miss
any script embedders.

2:47 PM Changeset in webkit [191642] by ap@apple.com
  • 2 edits in trunk/Tools

WebKitTestRunner leaks in generateWhitelist()
https://bugs.webkit.org/show_bug.cgi?id=150563

Reviewed by Andreas Kling.

  • WebKitTestRunner/mac/TestControllerMac.mm:

(WTR::generateWhitelist):

2:44 PM Changeset in webkit [191641] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Web Inspector: Do not send RenderingFrame TimelineRecords that have no children
https://bugs.webkit.org/show_bug.cgi?id=150600

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-10-27
Reviewed by Timothy Hatcher.

  • inspector/InspectorTimelineAgent.cpp:

(WebCore::InspectorTimelineAgent::didCompleteCurrentRecord):
The frontend already filters out empty RenderingFrame records
(in TimelineManager.prototype._processRecord). Filter them out
on the backend to reduce protocol traffic / noise.

2:42 PM Changeset in webkit [191640] by Matt Baker
  • 2 edits in trunk/Source/WebInspectorUI

REGRESSION: Web Inspector: DOM path bar blinks when modifying inline styles
https://bugs.webkit.org/show_bug.cgi?id=149258

Reviewed by Timothy Hatcher.

Now that Object now longer spams constructor event listeners, ContentBrowser can safely
update the NavigationBar synchronously. This fixes the issue, with zero impact on layout
responsiveness when selecting Rendering Frames tree elements.

  • UserInterface/Views/ContentBrowser.js:

(WebInspector.ContentBrowser.prototype._contentViewSelectionPathComponentDidChange):
Force NavigationBar to update synchronously.

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

Web Inspector: Timeline current time marker does not start moving when starting recording after just opening inspector
https://bugs.webkit.org/show_bug.cgi?id=150178

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-10-27
Reviewed by Brian Burg.

  • UserInterface/Controllers/TimelineManager.js:

(WebInspector.TimelineManager.prototype.capturingStarted):

  • UserInterface/Models/TimelineRecording.js:

(WebInspector.TimelineRecording.prototype.initializeTimeBoundsIfNecessary):
For a recording to start updating current time the recording itself
must have a start time. Provide a setter so that the start time can
be set without waiting for a timeline record. For example the
timestamp that the frontend receives when it starts a recording.

  • UserInterface/Views/TimelineRecordingContentView.js:

(WebInspector.TimelineRecordingContentView.prototype._startUpdatingCurrentTime):
When we have a startTime number (new backends) always use it as the current time.
Previously we were only doing this if current time was NaN, which would be when
re-starting a recording after it had stopped, but not for the initial recording
after opening the inspector.

  • UserInterface/Views/TimelineRuler.js:

(WebInspector.TimelineRuler.prototype.updateLayout):
Even if we do not need to create new time dividers we may need to perform
other updates like update the current time marker. So do work before bailing.

2:36 PM Changeset in webkit [191638] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Cleaning up formatting on recent additions win TestExpectations file

Unreviewed test gardening.

  • platform/win/TestExpectations:
1:55 PM Changeset in webkit [191637] by timothy_horton@apple.com
  • 6 edits in trunk/Source/WebKit2

WKView being inside WKWebView leads to weird API issues
https://bugs.webkit.org/show_bug.cgi?id=150174

Reviewed by Anders Carlsson.

  • UIProcess/API/mac/WKView.mm:

(-[WKView _superAccessibilityAttributeValue:]):
(-[WKView accessibilityFocusedUIElement]):
(-[WKView accessibilityIsIgnored]):
(-[WKView accessibilityHitTest:]):
(-[WKView accessibilityAttributeValue:]):
(-[WKView _processDidExit]):
(-[WKView _pageClosed]):
(-[WKView _updateRemoteAccessibilityRegistration:]): Deleted.
(-[WKView enableAccessibilityIfNecessary]): Deleted.
(-[WKView _toolTipChangedFrom:to:]): Deleted.
(-[WKView _setAccessibilityWebProcessToken:]): Deleted.
(-[WKView _hasFullScreenWindowController]): Deleted.
(-[WKView _fullScreenWindowController]): Deleted.
(-[WKView _closeFullScreenWindowController]): Deleted.
(-[WKView _setSuppressVisibilityUpdates:]): Deleted.
(-[WKView _suppressVisibilityUpdates]): Deleted.
(-[WKView _primaryTrackingArea]): Deleted.
(-[WKView _setPrimaryTrackingArea:]): Deleted.
(-[WKView initWithFrame:processPool:configuration:webView:]): Deleted.

  • UIProcess/API/mac/WKViewInternal.h:
  • UIProcess/Cocoa/WebViewImpl.h:

(WebKit::WebViewImpl::accessibilityIsIgnored):
(WebKit::WebViewImpl::primaryTrackingArea):

  • UIProcess/Cocoa/WebViewImpl.mm:

(WebKit::trackingAreaOptions):
(WebKit::WebViewImpl::WebViewImpl):
(WebKit::WebViewImpl::setAccessibilityWebProcessToken):
(WebKit::WebViewImpl::updateRemoteAccessibilityRegistration):
(WebKit::WebViewImpl::accessibilityFocusedUIElement):
(WebKit::WebViewImpl::accessibilityHitTest):
(WebKit::WebViewImpl::enableAccessibilityIfNecessary):
(WebKit::WebViewImpl::accessibilityAttributeValue):
(WebKit::WebViewImpl::setPrimaryTrackingArea):
(WebKit::WebViewImpl::toolTipChanged):

  • UIProcess/mac/PageClientImpl.mm:

(WebKit::PageClientImpl::toolTipChanged):
(WebKit::PageClientImpl::accessibilityWebProcessTokenReceived):
(WebKit::PageClientImpl::recommendedScrollbarStyleDidChange):
(WebKit::PageClientImpl::closeFullScreenManager):
(WebKit::PageClientImpl::isFullScreen):
(WebKit::PageClientImpl::enterFullScreen):
(WebKit::PageClientImpl::exitFullScreen):
(WebKit::PageClientImpl::beganEnterFullScreen):
(WebKit::PageClientImpl::beganExitFullScreen):
Move accessibility code, and fold in some internal-only methods.

1:41 PM Changeset in webkit [191636] by achristensen@apple.com
  • 3 edits in trunk/Source/WebCore

Cancel navigation policy checks like we do content policy checks.
https://bugs.webkit.org/show_bug.cgi?id=150582
rdar://problem/22077579

Reviewed by Brent Fulgham.

This was verified manually and I'll write a layout test for it soon.

  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::DocumentLoader):
(WebCore::DocumentLoader::~DocumentLoader):
(WebCore::DocumentLoader::willSendRequest):
(WebCore::DocumentLoader::continueAfterNavigationPolicy):
(WebCore::DocumentLoader::cancelPolicyCheckIfNeeded):

  • loader/DocumentLoader.h:

Add a bool to keep track of whether we are waiting for navigation policy checks, like we do with content policy checks.
Without this check, sometimes callbacks are made to DocumentLoaders that do not exist any more because they do not get
cancelled by cancelPolicyCheckIfNeeded when detaching from the frame.

1:39 PM Changeset in webkit [191635] by beidson@apple.com
  • 53 edits
    1 copy
    5 adds in trunk

Modern IDB: Support IDBObjectStore.put/get support.
https://bugs.webkit.org/show_bug.cgi?id=150468

Reviewed by Alex Christensen.

Source/WebCore:

Tests: storage/indexeddb/modern/basic-put.html

storage/indexeddb/modern/keypath-basic.html

  • CMakeLists.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • Modules/indexeddb/IDBKeyData.cpp:

(WebCore::IDBKeyData::deletedValue):
(WebCore::IDBKeyData::operator<):
(WebCore::IDBKeyData::operator==):

  • Modules/indexeddb/IDBKeyData.h:

(WebCore::IDBKeyData::isValid):
(WebCore::IDBKeyData::operator!=):
(WebCore::IDBKeyData::hash):
(WebCore::IDBKeyData::isDeletedValue):
(WebCore::IDBKeyDataHash::hash):
(WebCore::IDBKeyDataHash::equal):
(WebCore::IDBKeyDataHashTraits::constructDeletedValue):
(WebCore::IDBKeyDataHashTraits::isDeletedValue):
(WebCore::IDBKeyDataHashTraits::emptyValue):
(WebCore::IDBKeyDataHashTraits::isEmptyValue):

  • Modules/indexeddb/IndexedDB.h:
  • Modules/indexeddb/client/IDBAnyImpl.cpp:

(WebCore::IDBClient::IDBAny::IDBAny):
(WebCore::IDBClient::IDBAny::modernIDBObjectStore):

  • Modules/indexeddb/client/IDBAnyImpl.h:

(WebCore::IDBClient::IDBAny::create):

  • Modules/indexeddb/client/IDBConnectionToServer.cpp:

(WebCore::IDBClient::IDBConnectionToServer::createObjectStore):
(WebCore::IDBClient::IDBConnectionToServer::didCreateObjectStore):
(WebCore::IDBClient::IDBConnectionToServer::putOrAdd):
(WebCore::IDBClient::IDBConnectionToServer::didPutOrAdd):
(WebCore::IDBClient::IDBConnectionToServer::getRecord):
(WebCore::IDBClient::IDBConnectionToServer::didGetRecord):
(WebCore::IDBClient::IDBConnectionToServer::saveOperation):
(WebCore::IDBClient::IDBConnectionToServer::completeOperation):

  • Modules/indexeddb/client/IDBConnectionToServer.h:
  • Modules/indexeddb/client/IDBConnectionToServerDelegate.h:
  • Modules/indexeddb/client/IDBObjectStoreImpl.cpp:

(WebCore::IDBClient::IDBObjectStore::autoIncrement):
(WebCore::IDBClient::IDBObjectStore::put):
(WebCore::IDBClient::IDBObjectStore::get):
(WebCore::IDBClient::IDBObjectStore::putOrAdd):

  • Modules/indexeddb/client/IDBObjectStoreImpl.h:

(WebCore::IDBClient::IDBObjectStore::info):

  • Modules/indexeddb/client/IDBOpenDBRequestImpl.cpp:

(WebCore::IDBClient::IDBOpenDBRequest::IDBOpenDBRequest): Deleted.

  • Modules/indexeddb/client/IDBRequestImpl.cpp:

(WebCore::IDBClient::IDBRequest::create):
(WebCore::IDBClient::IDBRequest::IDBRequest):
(WebCore::IDBClient::IDBRequest::sourceObjectStoreIdentifier):
(WebCore::IDBClient::IDBRequest::hasPendingActivity):
(WebCore::IDBClient::IDBRequest::dispatchEvent):
(WebCore::IDBClient::IDBRequest::setResult):
(WebCore::IDBClient::IDBRequest::setResultToStructuredClone):
(WebCore::IDBClient::IDBRequest::requestCompleted):
(WebCore::IDBClient::IDBRequest::onError):
(WebCore::IDBClient::IDBRequest::onSuccess):

  • Modules/indexeddb/client/IDBRequestImpl.h:
  • Modules/indexeddb/client/IDBTransactionImpl.cpp:

(WebCore::IDBClient::IDBTransaction::IDBTransaction):
(WebCore::IDBClient::IDBTransaction::hasPendingActivity):
(WebCore::IDBClient::IDBTransaction::isActive):
(WebCore::IDBClient::IDBTransaction::operationTimerFired):
(WebCore::IDBClient::IDBTransaction::commit):
(WebCore::IDBClient::IDBTransaction::didAbort):
(WebCore::IDBClient::IDBTransaction::createObjectStoreOnServer):
(WebCore::IDBClient::IDBTransaction::requestGetRecord):
(WebCore::IDBClient::IDBTransaction::getRecordOnServer):
(WebCore::IDBClient::IDBTransaction::didGetRecordOnServer):
(WebCore::IDBClient::IDBTransaction::requestPutOrAdd):
(WebCore::IDBClient::IDBTransaction::putOrAddOnServer):
(WebCore::IDBClient::IDBTransaction::didPutOrAddOnServer):
(WebCore::IDBClient::IDBTransaction::activate):
(WebCore::IDBClient::IDBTransaction::deactivate):

  • Modules/indexeddb/client/IDBTransactionImpl.h:

(WebCore::IDBClient::IDBTransaction::isReadOnly):
(WebCore::IDBClient::TransactionActivator::TransactionActivator):
(WebCore::IDBClient::TransactionActivator::~TransactionActivator):

  • Modules/indexeddb/client/TransactionOperation.cpp:

(WebCore::IDBClient::TransactionOperation::TransactionOperation):

  • Modules/indexeddb/client/TransactionOperation.h:

(WebCore::IDBClient::TransactionOperation::objectStoreIdentifier):
(WebCore::IDBClient::TransactionOperation::transaction):
(WebCore::IDBClient::createTransactionOperation):

  • Modules/indexeddb/server/IDBBackingStore.h:
  • Modules/indexeddb/server/IDBConnectionToClient.cpp:

(WebCore::IDBServer::IDBConnectionToClient::didPutOrAdd):
(WebCore::IDBServer::IDBConnectionToClient::didGetRecord):

  • Modules/indexeddb/server/IDBConnectionToClient.h:
  • Modules/indexeddb/server/IDBConnectionToClientDelegate.h:
  • Modules/indexeddb/server/IDBServer.cpp:

(WebCore::IDBServer::IDBServer::putOrAdd):
(WebCore::IDBServer::IDBServer::getRecord):

  • Modules/indexeddb/server/IDBServer.h:
  • Modules/indexeddb/server/MemoryBackingStoreTransaction.cpp:

(WebCore::IDBServer::MemoryBackingStoreTransaction::recordValueChanged):
(WebCore::IDBServer::MemoryBackingStoreTransaction::abort):

  • Modules/indexeddb/server/MemoryBackingStoreTransaction.h:
  • Modules/indexeddb/server/MemoryIDBBackingStore.cpp:

(WebCore::IDBServer::MemoryIDBBackingStore::keyExistsInObjectStore):
(WebCore::IDBServer::MemoryIDBBackingStore::deleteRecord):
(WebCore::IDBServer::MemoryIDBBackingStore::putRecord):
(WebCore::IDBServer::MemoryIDBBackingStore::getRecord):

  • Modules/indexeddb/server/MemoryIDBBackingStore.h:
  • Modules/indexeddb/server/MemoryObjectStore.cpp:

(WebCore::IDBServer::MemoryObjectStore::containsRecord):
(WebCore::IDBServer::MemoryObjectStore::deleteRecord):
(WebCore::IDBServer::MemoryObjectStore::putRecord):
(WebCore::IDBServer::MemoryObjectStore::valueForKey):

  • Modules/indexeddb/server/MemoryObjectStore.h:
  • Modules/indexeddb/server/UniqueIDBDatabase.cpp:

(WebCore::IDBServer::UniqueIDBDatabase::storeCallback):
(WebCore::IDBServer::UniqueIDBDatabase::putOrAdd):
(WebCore::IDBServer::UniqueIDBDatabase::performPutOrAdd):
(WebCore::IDBServer::UniqueIDBDatabase::didPerformPutOrAdd):
(WebCore::IDBServer::UniqueIDBDatabase::getRecord):
(WebCore::IDBServer::UniqueIDBDatabase::performGetRecord):
(WebCore::IDBServer::UniqueIDBDatabase::didPerformGetRecord):
(WebCore::IDBServer::UniqueIDBDatabase::performKeyDataCallback):
(WebCore::IDBServer::UniqueIDBDatabase::performValueDataCallback):

  • Modules/indexeddb/server/UniqueIDBDatabase.h:
  • Modules/indexeddb/server/UniqueIDBDatabaseTransaction.cpp:

(WebCore::IDBServer::UniqueIDBDatabaseTransaction::isReadOnly):
(WebCore::IDBServer::UniqueIDBDatabaseTransaction::putOrAdd):
(WebCore::IDBServer::UniqueIDBDatabaseTransaction::getRecord):

  • Modules/indexeddb/server/UniqueIDBDatabaseTransaction.h:
  • Modules/indexeddb/shared/IDBDatabaseInfo.cpp:

(WebCore::IDBDatabaseInfo::infoForExistingObjectStore):

  • Modules/indexeddb/shared/IDBDatabaseInfo.h:
  • Modules/indexeddb/shared/IDBError.cpp:

(WebCore::idbErrorName):
(WebCore::idbErrorDescription):

  • Modules/indexeddb/shared/IDBError.h:
  • Modules/indexeddb/shared/IDBRequestData.cpp:

(WebCore::IDBRequestData::IDBRequestData):
(WebCore::IDBRequestData::serverConnectionIdentifier):
(WebCore::IDBRequestData::objectStoreIdentifier):

  • Modules/indexeddb/shared/IDBRequestData.h:
  • Modules/indexeddb/shared/IDBResultData.cpp:

(WebCore::IDBResultData::IDBResultData):
(WebCore::IDBResultData::putOrAddSuccess):
(WebCore::IDBResultData::getRecordSuccess):

  • Modules/indexeddb/shared/IDBResultData.h:

(WebCore::IDBResultData::resultKey):
(WebCore::IDBResultData::resultData):

  • Modules/indexeddb/shared/InProcessIDBServer.cpp:

(WebCore::InProcessIDBServer::didPutOrAdd):
(WebCore::InProcessIDBServer::didGetRecord):
(WebCore::InProcessIDBServer::putOrAdd):
(WebCore::InProcessIDBServer::getRecord):

  • Modules/indexeddb/shared/InProcessIDBServer.h:
  • bindings/js/IDBBindingUtilities.cpp:

(WebCore::idbKeyToJSValue):
(WebCore::maybeCreateIDBKeyFromScriptValueAndKeyPath):
(WebCore::canInjectIDBKeyIntoScriptValue):
(WebCore::deserializeIDBValueData):
(WebCore::scriptValueToIDBKey):
(WebCore::idbKeyDataToScriptValue):

  • bindings/js/IDBBindingUtilities.h:
  • platform/CrossThreadCopier.cpp:

(WebCore::ThreadSafeDataBuffer>::copy):

  • platform/CrossThreadCopier.h:
  • platform/ThreadSafeDataBuffer.h: Added.

(WebCore::ThreadSafeDataBufferImpl::ThreadSafeDataBufferImpl):
(WebCore::ThreadSafeDataBuffer::adoptVector):
(WebCore::ThreadSafeDataBuffer::copyVector):
(WebCore::ThreadSafeDataBuffer::ThreadSafeDataBuffer):
(WebCore::ThreadSafeDataBuffer::data):

LayoutTests:

  • platform/mac-wk1/TestExpectations: Re-enable a test that can now be made reliable.
  • storage/indexeddb/modern/basic-put-expected.txt: Added.
  • storage/indexeddb/modern/basic-put.html: Added.
  • storage/indexeddb/modern/createobjectstore-basic-expected.txt:
  • storage/indexeddb/modern/createobjectstore-basic.html:
  • storage/indexeddb/modern/keypath-basic-expected.txt: Added.
  • storage/indexeddb/modern/keypath-basic.html: Added.
1:09 PM Changeset in webkit [191634] by timothy_horton@apple.com
  • 8 edits in trunk/Source

WKView being inside WKWebView leads to weird API issues
https://bugs.webkit.org/show_bug.cgi?id=150174

Reviewed by Anders Carlsson.

  • UIProcess/API/mac/WKView.mm:

(-[WKView scrollWheel:]):
(-[WKView swipeWithEvent:]):
(-[WKView _superSwipeWithEvent:]):
(-[WKView _superMagnifyWithEvent:]):
(-[WKView _superSmartMagnifyWithEvent:]):
(-[WKView _processDidExit]):
(-[WKView setAllowsBackForwardNavigationGestures:]):
(-[WKView allowsBackForwardNavigationGestures]):
(-[WKView setAllowsMagnification:]):
(-[WKView allowsMagnification]):
(-[WKView magnifyWithEvent:]):
(-[WKView rotateWithEvent:]):
(-[WKView _gestureEventWasNotHandledByWebCore:]):
(-[WKView smartMagnifyWithEvent:]):
(-[WKView setMagnification:centeredAtPoint:]):
(-[WKView setMagnification:]):
(-[WKView magnification]):
(-[WKView _setCustomSwipeViews:]):
(-[WKView _setCustomSwipeViewsTopContentInset:]):
(-[WKView _tryToSwipeWithEvent:ignoringPinnedState:]):
(-[WKView _setDidMoveSwipeSnapshotCallback:]):
(-[WKView _ensureGestureController]): Deleted.
(takeWindowSnapshot): Deleted.
(-[WKView _takeViewSnapshot]): Deleted.
(-[WKView _wheelEventWasNotHandledByWebCore:]): Deleted.
(-[WKView _didFirstVisuallyNonEmptyLayoutForMainFrame]): Deleted.
(-[WKView _didFinishLoadForMainFrame]): Deleted.
(-[WKView _didFailLoadForMainFrame]): Deleted.
(-[WKView _didSameDocumentNavigationForMainFrame:]): Deleted.
(-[WKView _removeNavigationGestureSnapshot]): Deleted.

  • UIProcess/API/mac/WKViewInternal.h:
  • UIProcess/Cocoa/WebViewImpl.h:

(WebKit::WebViewImpl::gestureController):
(WebKit::WebViewImpl::allowsBackForwardNavigationGestures):
(WebKit::WebViewImpl::allowsMagnification):

  • UIProcess/Cocoa/WebViewImpl.mm:

(WebKit::takeWindowSnapshot):
(WebKit::WebViewImpl::takeViewSnapshot):
(WebKit::WebViewImpl::ensureGestureController):
(WebKit::WebViewImpl::resetGestureController):
(WebKit::WebViewImpl::setAllowsBackForwardNavigationGestures):
(WebKit::WebViewImpl::setAllowsMagnification):
(WebKit::WebViewImpl::setMagnification):
(WebKit::WebViewImpl::magnification):
(WebKit::WebViewImpl::setCustomSwipeViews):
(WebKit::WebViewImpl::setCustomSwipeViewsTopContentInset):
(WebKit::WebViewImpl::tryToSwipeWithEvent):
(WebKit::WebViewImpl::setDidMoveSwipeSnapshotCallback):
(WebKit::WebViewImpl::scrollWheel):
(WebKit::WebViewImpl::swipeWithEvent):
(WebKit::WebViewImpl::magnifyWithEvent):
(WebKit::WebViewImpl::smartMagnifyWithEvent):
(WebKit::WebViewImpl::rotateWithEvent):
(WebKit::WebViewImpl::gestureEventWasNotHandledByWebCore):
(WebKit::WebViewImpl::gestureEventWasNotHandledByWebCoreFromViewOnly):

  • UIProcess/mac/PageClientImpl.mm:

(WebKit::PageClientImpl::takeViewSnapshot):
(WebKit::PageClientImpl::wheelEventWasNotHandledByWebCore):
(WebKit::PageClientImpl::didFirstVisuallyNonEmptyLayoutForMainFrame):
(WebKit::PageClientImpl::didFinishLoadForMainFrame):
(WebKit::PageClientImpl::didFailLoadForMainFrame):
(WebKit::PageClientImpl::didSameDocumentNavigationForMainFrame):
(WebKit::PageClientImpl::removeNavigationGestureSnapshot):
Move swipe, zoom, rotate, and snapshotting code.

  • platform/spi/cg/CoreGraphicsSPI.h:
1:01 PM Changeset in webkit [191633] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Marking newly imported W3C html/semantics/forms tests as flaky on Windows
https://bugs.webkit.org/show_bug.cgi?id=150596

Unreviewed test gardening.

  • platform/win/TestExpectations:
12:57 PM Changeset in webkit [191632] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Marking newly imported W3C XMLHttpRequest tests as flaky on Windows
https://bugs.webkit.org/show_bug.cgi?id=150594

Unreviewed test gardening.

  • platform/win/TestExpectations:
12:36 PM Changeset in webkit [191631] by Alan Bujtas
  • 6 edits in trunk/LayoutTests

Unreviewed Win gardening(subpixel table fallout).

  • platform/win/css2.1/20110323/inline-table-003-expected.txt:
  • platform/win/http/tests/misc/acid2-expected.txt:
  • platform/win/http/tests/misc/acid2-pixel-expected.txt:
  • platform/win/http/tests/misc/generated-content-inside-table-expected.txt:
  • platform/win/http/tests/misc/object-embedding-svg-delayed-size-negotiation-2-expected.txt:
12:18 PM Changeset in webkit [191630] by andersca@apple.com
  • 2 edits
    3 adds in trunk/Tools

Add an API test for _WKRemoteObjectRegistry
https://bugs.webkit.org/show_bug.cgi?id=150597

Reviewed by Andreas Kling.

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebKit2Cocoa/RemoteObjectRegistry.h: Added.
  • TestWebKitAPI/Tests/WebKit2Cocoa/RemoteObjectRegistry.mm: Added.

(TEST):

  • TestWebKitAPI/Tests/WebKit2Cocoa/RemoteObjectRegistryPlugIn.mm: Added.

(-[RemoteObjectRegistryPlugIn webProcessPlugIn:didCreateBrowserContextController:]):
(-[RemoteObjectRegistryPlugIn sayHello:]):

12:09 PM Changeset in webkit [191629] by Alan Bujtas
  • 3 edits in trunk/LayoutTests

table-hover-on-link.html behaves unexpectedly on WK2.

Unreviewed gardening.

11:49 AM Changeset in webkit [191628] by commit-queue@webkit.org
  • 13 edits in trunk/Source

Add WebKit API to clear data type Search Field Recent Searches.
https://bugs.webkit.org/show_bug.cgi?id=150019.

Patch by Zhuo Li <zachli@apple.com> on 2015-10-27
Reviewed by Anders Carlsson.

Source/WebCore:

  • platform/cocoa/SearchPopupMenuCocoa.h: Add a function to remove recent searches based on

time.

  • platform/cocoa/SearchPopupMenuCocoa.mm:

(WebCore::typeCheckedRecentSearchesArray): Return nil if the recent searches array is
corrupted, otherwise return the array.
(WebCore::typeCheckedDateInRecentSearch): Return nil if the date in recent search is
corrupted, otherwise return the date.
(WebCore::typeCheckedRecentSearchesRemovingRecentSearchesAddedAfterDate): Return nil if the recent searches plist is
corrupted, otherwise return the recent searches plist.
(WebCore::writeEmptyRecentSearchesPlist): Replace the existing recent searches plist if there is
any with a clean one.
(WebCore::loadRecentSearches): Use -typeCheckedRecentSearchesArray and -typeCheckedDateInRecentSearch.
(WebCore::removeRecentlyModifiedRecentSearches):
When the time passed in is equivalent to [NSDate distantPast], clear all recent searches in
the Recent Searches plist. Otherwise, we only clear the recent searches that were created
after or at the time that is passed in as the parameter. If all recent searches associated
with an autosave name were created after or at the time that is passed in as the parameter,
remove this autosave name key and all of its values in the plist. If all recent searches
associated with every autosave name in the plist were created after or at the time that is
passed in as the parameter, clear all recent searches in the Recent Searches plist.

Also, we clear all recent searches in the Recent Searches plist when we find the plist is
corrupted.

Source/WebKit2:

  • Shared/WebsiteData/WebsiteDataTypes.h: Add data type Search Field Recent Searches.
  • UIProcess/API/Cocoa/WKWebsiteDataRecord.mm:

(dataTypesToString): Ditto.

  • UIProcess/API/Cocoa/WKWebsiteDataRecordInternal.h:

(WebKit::toWebsiteDataTypes): Ditto.
(WebKit::toWKWebsiteDataTypes): Ditto.

  • UIProcess/API/Cocoa/WKWebsiteDataRecordPrivate.h: Ditto.
  • UIProcess/WebsiteData/WebsiteDataStore.cpp:

(WebKit::WebsiteDataStore::removeData): Handle the case when data type is Search
Field Recent Searches.

  • UIProcess/WebsiteData/WebsiteDataStore.h: Add a private function for removing

recent searches based on time.

  • UIProcess/WebsiteData/Cocoa/WebsiteDataStoreCocoa.mm:

(WebKit::WebsiteDataStoreCocoa::platformRemoveRecentSearches): Call the removing
recent searches logic in WebCore.

  • UIProcess/efl/WebPageProxyEfl.cpp:

(WebKit::WebsiteDataStore::platformRemoveRecentSearches): Not implemented.

  • UIProcess/gtk/WebPageProxyGtk.cpp:

(WebKit::WebsiteDataStore::platformRemoveRecentSearches): Not implemented.

11:27 AM Changeset in webkit [191627] by Alan Bujtas
  • 3 edits in trunk/LayoutTests

Unskip and update the test result for El Capitan -> tables/mozilla_expected_failures/bugs/bug8499.html

Unreviewed gardening.

  • platform/mac/tables/mozilla_expected_failures/bugs/bug8499-expected.txt:
  • platform/wk2/TestExpectations:
10:53 AM Changeset in webkit [191626] by commit-queue@webkit.org
  • 4 edits
    2 adds in trunk

Do not sanitize user input for input[type=url]
https://bugs.webkit.org/show_bug.cgi?id=150346
<rdar://problem/23243240>

Patch by Keith Rollin <Keith Rollin> on 2015-10-27
Reviewed by Darin Adler.

Source/WebCore:

Do not sanitize user input in text-based input fields that support
the Selection API, in order to not break JavaScript code that expects
element.value to match what's on the screen.

Test: fast/forms/input-user-input-sanitization.html

  • html/TextFieldInputType.cpp:

(WebCore::TextFieldInputType::subtreeHasChanged):

LayoutTests:

Test the sanitization of text-based input fields when the user enters
text.

  • fast/forms/input-user-input-sanitization-expected.txt: Added.
  • fast/forms/input-user-input-sanitization.html: Added.
10:48 AM Changeset in webkit [191625] by msaboff@apple.com
  • 5 edits
    3 adds in trunk

REGRESSION (r191360): Crash: com.apple.WebKit.WebContent at com.apple.JavaScriptCore: JSC::FTL:: + 386
https://bugs.webkit.org/show_bug.cgi?id=150580

Reviewed by Mark Lam.

Source/JavaScriptCore:

Changed code to box 32 bit integers and booleans arguments when generating the call instead of boxing
them in the shuffler.

The ASSERT in CallFrameShuffler::extendFrameIfNeeded is wrong when called from CallFrameShuffler::spill(),
as we could be making space to spill a register so that we have a spare that we can use for the new
frame's base pointer.

  • ftl/FTLJSTailCall.cpp:

(JSC::FTL::DFG::recoveryFor): Added RELEASE_ASSERT to check that we never see unboxed 32 bit
arguments stored in the stack.

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::DFG::LowerDFGToLLVM::exitValueForTailCall):

  • jit/CallFrameShuffler.cpp:

(JSC::CallFrameShuffler::extendFrameIfNeeded): Removed unneeded ASSERT.

LayoutTests:

New regression test.

  • js/regress-150580-expected.txt: Added.
  • js/regress-150580.html: Added.
  • js/script-tests/regress-150580.js: Added.

(addEmUp):
(sumVector):
(test):

10:27 AM Changeset in webkit [191624] by bshafiei@apple.com
  • 5 edits in branches/safari-601-branch/Source

Versioning.

9:38 AM Changeset in webkit [191623] by Alan Bujtas
  • 4488 edits
    438 adds in trunk

Subpixel layout: Convert RenderTable* and AutoTableLayout to use LayoutUnit.
https://bugs.webkit.org/show_bug.cgi?id=149366

Reviewed by David Hyatt.

Source/WebCore:

This patch enables non-integral cell space distribution for both
auto and fixed table layout.
Due to the tight layout, float is used to calculate each cell's dimension/position and
we convert them to LayoutUnits while said values are set on the renderer.
Due to the (lack of) LayoutUnit precision, a fudge factor is applied on table cell's minimum width.

Collapsed table borders are still integral based, tracked here: webkit.org/b/150383

Covered by existing tests.

(WebCore::RenderTableSection::firstLineBaseline): Baseline is still integral (same as normal line layout)

  • rendering/RenderTreeAsText.cpp: flooring produces the least amount of rebaseline diff (still over 1200 tests). It doesn't really matter which direction we round

as long as it is consistent.
(WebCore::writeTextRun):
(WebCore::writeSimpleLine):

  • platform/graphics/LayoutRect.h:

(WebCore::LayoutRect::LayoutRect):

  • rendering/AutoTableLayout.cpp:

(WebCore::AutoTableLayout::recalcColumn):
(WebCore::AutoTableLayout::computeIntrinsicLogicalWidths):
(WebCore::AutoTableLayout::applyPreferredLogicalWidthQuirks):
(WebCore::AutoTableLayout::calcEffectiveLogicalWidth):
(WebCore::AutoTableLayout::layout):

  • rendering/AutoTableLayout.h:
  • rendering/FixedTableLayout.cpp:

(WebCore::FixedTableLayout::calcWidthArray):
(WebCore::FixedTableLayout::applyPreferredLogicalWidthQuirks):
(WebCore::FixedTableLayout::layout):

  • rendering/FixedTableLayout.h:
  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::computePreferredLogicalWidths):

  • rendering/RenderTable.cpp:

(WebCore::RenderTable::updateLogicalWidth):
(WebCore::RenderTable::distributeExtraLogicalHeight):
(WebCore::RenderTable::layout):
(WebCore::RenderTable::addOverflowFromChildren):
(WebCore::RenderTable::computePreferredLogicalWidths):
(WebCore::RenderTable::offsetWidthForColumn):
(WebCore::RenderTable::calcBorderStart):
(WebCore::RenderTable::calcBorderEnd):
(WebCore::RenderTable::outerBorderBefore):
(WebCore::RenderTable::outerBorderAfter):
(WebCore::RenderTable::outerBorderStart):
(WebCore::RenderTable::outerBorderEnd):

  • rendering/RenderTable.h:

(WebCore::RenderTable::hBorderSpacing):
(WebCore::RenderTable::vBorderSpacing):
(WebCore::RenderTable::outerBorderLeft):
(WebCore::RenderTable::outerBorderRight):
(WebCore::RenderTable::outerBorderTop):
(WebCore::RenderTable::outerBorderBottom):
(WebCore::RenderTable::columnPositions):
(WebCore::RenderTable::setColumnPosition):

  • rendering/RenderTableCell.cpp:

(WebCore::RenderTableCell::logicalWidthFromColumns):
(WebCore::RenderTableCell::computeIntrinsicPadding):
(WebCore::RenderTableCell::setCellLogicalWidth):
(WebCore::RenderTableCell::layout):
(WebCore::RenderTableCell::paddingTop):
(WebCore::RenderTableCell::paddingBottom):
(WebCore::RenderTableCell::paddingLeft):
(WebCore::RenderTableCell::paddingRight):
(WebCore::RenderTableCell::paddingBefore):
(WebCore::RenderTableCell::paddingAfter):
(WebCore::RenderTableCell::clippedOverflowRectForRepaint):
(WebCore::RenderTableCell::borderLeft):
(WebCore::RenderTableCell::borderRight):
(WebCore::RenderTableCell::borderTop):
(WebCore::RenderTableCell::borderBottom):
(WebCore::RenderTableCell::borderStart):
(WebCore::RenderTableCell::borderEnd):
(WebCore::RenderTableCell::borderBefore):
(WebCore::RenderTableCell::borderAfter):
(WebCore::RenderTableCell::borderHalfLeft):
(WebCore::RenderTableCell::borderHalfRight):
(WebCore::RenderTableCell::borderHalfTop):
(WebCore::RenderTableCell::borderHalfBottom):
(WebCore::RenderTableCell::borderHalfStart):
(WebCore::RenderTableCell::borderHalfEnd):
(WebCore::RenderTableCell::borderHalfBefore):
(WebCore::RenderTableCell::borderHalfAfter):
(WebCore::CollapsedBorders::addBorder):
(WebCore::RenderTableCell::paintCollapsedBorders):
(WebCore::RenderTableCell::paintBackgroundsBehindCell):
(WebCore::RenderTableCell::paintBoxDecorations):
(WebCore::RenderTableCell::paintMask):

  • rendering/RenderTableCell.h:

(WebCore::RenderTableCell::logicalHeightForRowSizing):

  • rendering/RenderTableSection.cpp:

(WebCore::RenderTableSection::calcRowLogicalHeight):
(WebCore::RenderTableSection::layout):
(WebCore::RenderTableSection::distributeExtraLogicalHeightToPercentRows):
(WebCore::RenderTableSection::distributeExtraLogicalHeightToAutoRows):
(WebCore::RenderTableSection::distributeRemainingExtraLogicalHeight):
(WebCore::RenderTableSection::distributeExtraLogicalHeightToRows):
(WebCore::RenderTableSection::layoutRows):
(WebCore::RenderTableSection::calcOuterBorderBefore):
(WebCore::RenderTableSection::calcOuterBorderAfter):
(WebCore::RenderTableSection::calcOuterBorderStart):
(WebCore::RenderTableSection::calcOuterBorderEnd):
(WebCore::RenderTableSection::logicalRectForWritingModeAndDirection):
(WebCore::RenderTableSection::dirtiedColumns):
(WebCore::RenderTableSection::spannedColumns):
(WebCore::RenderTableSection::offsetLeftForRowGroupBorder):
(WebCore::RenderTableSection::offsetTopForRowGroupBorder):
(WebCore::RenderTableSection::verticalRowGroupBorderHeight):
(WebCore::RenderTableSection::horizontalRowGroupBorderWidth):
(WebCore::RenderTableSection::paintRowGroupBorderIfRequired):
(WebCore::RenderTableSection::setLogicalPositionForCell):

  • rendering/RenderTableSection.h:

(WebCore::RenderTableSection::outerBorderLeft):
(WebCore::RenderTableSection::outerBorderRight):
(WebCore::RenderTableSection::outerBorderTop):
(WebCore::RenderTableSection::outerBorderBottom):

  • rendering/style/CollapsedBorderValue.h:

(WebCore::CollapsedBorderValue::CollapsedBorderValue):
(WebCore::CollapsedBorderValue::width):

LayoutTests:

Changeset (due to the massive rebaselining) is too long to list.

4:36 AM Changeset in webkit [191622] by calvaris@igalia.com
  • 11 edits in trunk

[Streams API] Add close method to writable stream
https://bugs.webkit.org/show_bug.cgi?id=150560

Reviewed by Darin Adler.

Source/WebCore:

Added the close method which requires three additional writable stream internal functions plus a queuing
function to retrieve a value from the queue according to the spec.

Current test set suffices. Expectations were updated accordingly.

  • Modules/streams/StreamInternals.js:

(peekQueueValue):

  • Modules/streams/WritableStream.js:

(close):

  • Modules/streams/WritableStreamInternals.js:

(callOrScheduleWritableStreamAdvanceQueue):
(writableStreamAdvanceQueue):
(closeWritableStream): Added as per spec.

LayoutTests:

New expectations after adding close method to writable stream.

Two tests were also flagged because of bug 147933 that prevents them from running properly in certain
conditions. So far this only happened in Mac, hence they were flagged only for it.

  • platform/mac/TestExpectations:
  • streams/reference-implementation/bad-underlying-sinks-expected.txt:
  • streams/reference-implementation/brand-checks-expected.txt:
  • streams/reference-implementation/pipe-to-expected.txt:
  • streams/reference-implementation/writable-stream-abort-expected.txt:
  • streams/reference-implementation/writable-stream-expected.txt:
12:00 AM Changeset in webkit [191621] by Yusuke Suzuki
  • 24 edits
    10 adds in trunk/Source/JavaScriptCore

[ES6] Add DFG/FTL support for accessor put operations
https://bugs.webkit.org/show_bug.cgi?id=148860

Reviewed by Geoffrey Garen.

This patch introduces accessor defining ops into DFG and FTL.
The following DFG nodes are introduced.

op_put_getter_by_id => PutGetterById
op_put_setter_by_id => PutSetterById
op_put_getter_setter => PutGetterSetterById
op_put_getter_by_val => PutGetterByVal
op_put_setter_by_val => PutSetterByVal

These DFG nodes just call operations. But it does not prevent compiling in DFG/FTL.

To use operations defined for baseline JIT, we clean up existing operations.
And reuse these operations in DFG and FTL.

  • dfg/DFGAbstractInterpreterInlines.h:

(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::parseBlock):

  • dfg/DFGCapabilities.cpp:

(JSC::DFG::capabilityLevel):

  • dfg/DFGClobberize.h:

(JSC::DFG::clobberize):

  • dfg/DFGDoesGC.cpp:

(JSC::DFG::doesGC):

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::fixupNode):

  • dfg/DFGNode.h:

(JSC::DFG::Node::hasIdentifier):
(JSC::DFG::Node::hasAccessorAttributes):
(JSC::DFG::Node::accessorAttributes):

  • dfg/DFGNodeType.h:
  • dfg/DFGPredictionPropagationPhase.cpp:

(JSC::DFG::PredictionPropagationPhase::propagate):

  • dfg/DFGSafeToExecute.h:

(JSC::DFG::safeToExecute):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compilePutAccessorById):
(JSC::DFG::SpeculativeJIT::compilePutGetterSetterById):
(JSC::DFG::SpeculativeJIT::compilePutAccessorByVal):
We should fill all GPRs before calling flushRegisters().

  • dfg/DFGSpeculativeJIT.h:

(JSC::DFG::SpeculativeJIT::callOperation):

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):

  • ftl/FTLIntrinsicRepository.h:
  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::DFG::LowerDFGToLLVM::compileNode):
(JSC::FTL::DFG::LowerDFGToLLVM::compilePutAccessorById):
(JSC::FTL::DFG::LowerDFGToLLVM::compilePutGetterSetterById):
(JSC::FTL::DFG::LowerDFGToLLVM::compilePutAccessorByVal):

  • jit/JIT.h:
  • jit/JITInlines.h:

(JSC::JIT::callOperation):

  • jit/JITOperations.cpp:
  • jit/JITOperations.h:
  • jit/JITPropertyAccess.cpp:

(JSC::JIT::emit_op_put_getter_by_id):
(JSC::JIT::emit_op_put_setter_by_id):
(JSC::JIT::emit_op_put_getter_setter):

  • jit/JITPropertyAccess32_64.cpp:

(JSC::JIT::emit_op_put_getter_by_id):
(JSC::JIT::emit_op_put_setter_by_id):
(JSC::JIT::emit_op_put_getter_setter):

  • tests/stress/dfg-put-accessors-by-id-class.js: Added.

(shouldBe):
(testAttribute):
(getter.Cocoa.prototype.get hello):
(getter.Cocoa):
(getter):
(setter.Cocoa):
(setter.Cocoa.prototype.set hello):
(setter):
(accessors.Cocoa):
(accessors.Cocoa.prototype.get hello):
(accessors.Cocoa.prototype.set hello):
(accessors):

  • tests/stress/dfg-put-accessors-by-id.js: Added.

(shouldBe):
(testAttribute):
(getter.object.get hello):
(getter):
(setter.object.set hello):
(setter):
(accessors.object.get hello):
(accessors.object.set hello):
(accessors):

  • tests/stress/dfg-put-getter-by-id-class.js: Added.

(shouldBe):
(testAttribute):
(getter.Cocoa):
(getter.Cocoa.prototype.get hello):
(getter.Cocoa.prototype.get name):
(getter):

  • tests/stress/dfg-put-getter-by-id.js: Added.

(shouldBe):
(testAttribute):
(getter.object.get hello):
(getter):

  • tests/stress/dfg-put-getter-by-val-class.js: Added.

(shouldBe):
(testAttribute):
(getter.Cocoa):
(getter.Cocoa.prototype.get name):
(getter):

  • tests/stress/dfg-put-getter-by-val.js: Added.

(shouldBe):
(testAttribute):
(getter.object.get name):
(getter):

  • tests/stress/dfg-put-setter-by-id-class.js: Added.

(shouldBe):
(testAttribute):
(getter.Cocoa):
(getter.Cocoa.prototype.set hello):
(getter.Cocoa.prototype.get name):
(getter):

  • tests/stress/dfg-put-setter-by-id.js: Added.

(shouldBe):
(testAttribute):
(setter.object.set hello):
(setter):

  • tests/stress/dfg-put-setter-by-val-class.js: Added.

(shouldBe):
(testAttribute):
(setter.Cocoa):
(setter.Cocoa.prototype.set name):
(setter):

  • tests/stress/dfg-put-setter-by-val.js: Added.

(shouldBe):
(testAttribute):
(setter.object.set name):
(setter):

Oct 26, 2015:

10:34 PM WebKitGTK/2.10.x edited by philip.chimento@gmail.com
Start 2.10.4 proposals (diff)
10:22 PM Changeset in webkit [191620] by beidson@apple.com
  • 18 edits in trunk/Source

Make IDBKeyData from a struct to a class.
https://bugs.webkit.org/show_bug.cgi?id=150576

Reviewed by Alex Christensen.

Source/WebCore:

No new tests (No change in behavior).

  • Modules/indexeddb/IDBKeyData.cpp:

(WebCore::IDBKeyData::IDBKeyData):
(WebCore::IDBKeyData::maybeCreateIDBKey):
(WebCore::IDBKeyData::isolatedCopy):
(WebCore::IDBKeyData::encode):
(WebCore::IDBKeyData::decode):
(WebCore::IDBKeyData::compare):
(WebCore::IDBKeyData::loggingString):
(WebCore::IDBKeyData::setArrayValue):
(WebCore::IDBKeyData::setStringValue):
(WebCore::IDBKeyData::setDateValue):
(WebCore::IDBKeyData::setNumberValue):

  • Modules/indexeddb/IDBKeyData.h:

(WebCore::IDBKeyData::IDBKeyData):
(WebCore::IDBKeyData::minimum):
(WebCore::IDBKeyData::maximum):
(WebCore::IDBKeyData::isNull):
(WebCore::IDBKeyData::type):
(WebCore::IDBKeyData::encode):
(WebCore::IDBKeyData::decode):

  • Modules/indexeddb/legacy/IDBTransactionBackendOperations.cpp:

(WebCore::GetOperation::perform):

  • bindings/js/IDBBindingUtilities.h:
  • platform/CrossThreadCopier.h:

Source/WebKit2:

  • DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h:
  • DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.messages.in:
  • DatabaseProcess/IndexedDB/IDBSerialization.h:
  • DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:

(WebKit::UniqueIDBDatabase::putRecordInBackingStore):

  • DatabaseProcess/IndexedDB/UniqueIDBDatabase.h:
  • DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h:
  • DatabaseProcess/IndexedDB/sqlite/SQLiteIDBCursor.cpp:

(WebKit::buildIndexStatement):
(WebKit::buildObjectStoreStatement):
(WebKit::SQLiteIDBCursor::establishStatement):
(WebKit::SQLiteIDBCursor::createSQLiteStatement):
(WebKit::SQLiteIDBCursor::resetAndRebindStatement):
(WebKit::SQLiteIDBCursor::iterate):

  • DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:

(WebKit::UniqueIDBDatabaseBackingStoreSQLite::createIndex):

  • WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:

(WebKit::WebIDBServerConnection::didPutRecord):

  • WebProcess/Databases/IndexedDB/WebIDBServerConnection.h:
  • WebProcess/Databases/IndexedDB/WebIDBServerConnection.messages.in:
10:18 PM EFLWebKit edited by Gyuyoung Kim
(diff)
10:16 PM Changeset in webkit [191619] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[GTK] [Stable] Build GL texture mapper only if USE_TEXTURE_MAPPER_GL
https://bugs.webkit.org/show_bug.cgi?id=148606

Unreviewed, build-only change.

No new tests, build-only change.

Patch by Philip Chimento <philip.chimento@gmail.com> on 2015-10-26

  • PlatformGTK.cmake: Remove sources requiring GL from list of

sources that are built when USE_TEXTURE_MAPPER is true, and add a
separate condition within the USE_TEXTURE_MAPPER condition to
build those sources when USE_TEXTURE_MAPPER_GL is true.

10:15 PM Changeset in webkit [191618] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

[GTK] [Stable] InstallMissingMediaPluginsPermissionRequest not defined when building without GStreamer
https://bugs.webkit.org/show_bug.cgi?id=148607

Unreviewed, build fix.

Patch by Philip Chimento <philip.chimento@gmail.com> on 2015-10-26

  • UIProcess/gstreamer/InstallMissingMediaPluginsPermissionRequest.h:

Add a stub for the InstallMissingMediaPluginsPermissionRequest class
for the case when video is disabled or not using GStreamer. It's OK
that this class does nothing, because the associated C API contains
an assert_not_reached if video is disabled. We just need to define
the symbol so that the function signature will compile.

9:03 PM Changeset in webkit [191617] by Simon Fraser
  • 7 edits in trunk/Source/WebCore

Remove redundant GraphicsContext::clip(const Path&, WindRule)
https://bugs.webkit.org/show_bug.cgi?id=150584

Reviewed by Tim Horton.

GraphicsContext had both clipPath(const Path&, WindRule) and clip(const Path&, WindRule),
which were mostly the same other than GraphicsContext::clipPath() not clipping if the path
was empty (added, I think by mistake, in r72926), and not calling m_data->clip().

Make clipPath() be the winner, and have it behave like clip() with empty paths, and call m_data->clip().

  • platform/graphics/GraphicsContext.cpp:

(WebCore::GraphicsContext::clipRoundedRect):

  • platform/graphics/GraphicsContext.h:
  • platform/graphics/cairo/GraphicsContextCairo.cpp:

(WebCore::GraphicsContext::clipPath):
(WebCore::GraphicsContext::clip): Deleted.

  • platform/graphics/cg/GraphicsContextCG.cpp:

(WebCore::GraphicsContext::clipPath):
(WebCore::GraphicsContext::canvasClip):
(WebCore::GraphicsContext::clip): Deleted.

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::paintBoxShadow): Making a path, calling addRoundedRect() and then clipping
to the path is the same as context.clipRoundedRect().

  • rendering/mathml/RenderMathMLRadicalOperator.cpp:

(WebCore::RenderMathMLRadicalOperator::paint):

5:55 PM Changeset in webkit [191616] by youenn.fablet@crf.canon.fr
  • 2 edits in trunk/Tools

Add myself to the reviewers list
https://bugs.webkit.org/show_bug.cgi?id=150581

Unreviewed.

  • Scripts/webkitpy/common/config/contributors.json:
5:25 PM Changeset in webkit [191615] by Matt Baker
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: WebInspector.Object can dispatch constructor-level events multiple times
https://bugs.webkit.org/show_bug.cgi?id=150579

Reviewed by Timothy Hatcher.

Use hasOwnProperty when checking for constructor event listeners when walking the
prototype chain. This prevents listeners registered with a base class constructor
from being dispatched multiple times by getting picked up higher in the prototype chain.

  • UserInterface/Base/Object.js:

(WebInspector.Object.prototype.dispatchEventToListeners.dispatch):
(WebInspector.Object.prototype.dispatchEventToListeners):
(WebInspector.Object):

5:11 PM Changeset in webkit [191614] by Matt Baker
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Hundreds of failed assertions after switching to Rendering Frames after recording complete
https://bugs.webkit.org/show_bug.cgi?id=150568

Reviewed by Timothy Hatcher.

When the TimelineRecordingContentView responds to the current content view changing,
the TimelineOverview may be swapped out (if switching from a Timelines content view to a
Rendering Frames content view). This patch installs a new overview (if it's changing) prior
to setting the TimelineSidebarPanel's tree outline, as setting the tree outline forces
filters to run.

Filtering tree elements requires that the timeline overview is up to date, which was the
cause the assertion deluge.

  • UserInterface/Views/TimelineRecordingContentView.js:

(WebInspector.TimelineRecordingContentView.prototype._currentContentViewDidChange):

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

Web Inspector: Spacebar to start recording should not cause system beep
https://bugs.webkit.org/show_bug.cgi?id=150573

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-10-26
Reviewed by Timothy Hatcher.

  • UserInterface/Views/TimelineSidebarPanel.js:

(WebInspector.TimelineSidebarPanel.prototype._toggleRecordingOnSpacebar):
(WebInspector.TimelineSidebarPanel.prototype._toggleNewRecordingOnSpacebar):
The keyboard shortcuts do not implicitly prevent default because they may bail.
So in cases where they do handle the key, prevent default to prevent system beeps.

4:53 PM Changeset in webkit [191612] by Matt Baker
  • 5 edits in trunk/Source/WebInspectorUI

Web Inspector: Cleanup sidebar panels, reduce delete and use Maps instead of objects
https://bugs.webkit.org/show_bug.cgi?id=150548

Reviewed by Timothy Hatcher.

  • UserInterface/Views/LayerTreeDetailsSidebarPanel.js:

(WebInspector.LayerTreeDetailsSidebarPanel):
(WebInspector.LayerTreeDetailsSidebarPanel.prototype._updateDataGrid):
(WebInspector.LayerTreeDetailsSidebarPanel.prototype._dataGridNodeForLayer):

  • UserInterface/Views/NavigationSidebarPanel.js:

(WebInspector.NavigationSidebarPanel):
(WebInspector.NavigationSidebarPanel.restoreStateFromCookie.finalAttemptToRestoreViewStateFromCookie):
(WebInspector.NavigationSidebarPanel.restoreStateFromCookie):
(WebInspector.NavigationSidebarPanel.prototype.applyFiltersToTreeElement):
(WebInspector.NavigationSidebarPanel.prototype._updateContentOverflowShadowVisibility):
(WebInspector.NavigationSidebarPanel.prototype._checkElementsForPendingViewStateCookie):
Switched to using Symbol() to set external properties on tree elements.

  • UserInterface/Views/ScopeChainDetailsSidebarPanel.js:

(WebInspector.ScopeChainDetailsSidebarPanel.prototype._generateCallFramesSection):

  • UserInterface/Views/StorageSidebarPanel.js:

(WebInspector.StorageSidebarPanel):
(WebInspector.StorageSidebarPanel.prototype._addDatabase):
(WebInspector.StorageSidebarPanel.prototype._addIndexedDatabase):
(WebInspector.StorageSidebarPanel.prototype._addFrameManifest):
(WebInspector.StorageSidebarPanel.prototype._storageCleared):

4:51 PM Changeset in webkit [191611] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Removing duplicated test expectations and removing debug flag from flaky fast/canvas/webgl tests
https://bugs.webkit.org/show_bug.cgi?id=150367

Unreviewed test gardening.

  • platform/mac-wk1/TestExpectations:
4:36 PM Changeset in webkit [191610] by Alan Bujtas
  • 9 edits
    2 adds in trunk

Floating box is misplaced after content change.
https://bugs.webkit.org/show_bug.cgi?id=150271

Reviewed by David Hyatt.

Collapse anonymous block when as the result of a sibling removal only floating siblings are left.

Source/WebCore:

Test: fast/block/collapse-anon-block-with-float-siblings-only.html

  • rendering/RenderBlock.cpp:

(WebCore::canCollapseAnonymousBlock):
(WebCore::canMergeContiguousAnonymousBlocks):
(WebCore::RenderBlock::collapseAnonymousBoxChild):
(WebCore::RenderBlock::removeChild):
(WebCore::canMergeAnonymousBlock): Deleted.

  • rendering/RenderBlock.h:
  • rendering/RenderElement.cpp:

(WebCore::RenderElement::removeAnonymousWrappersForInlinesIfNecessary):

LayoutTests:

  • fast/block/collapse-anon-block-with-float-siblings-only-expected.html: Added.
  • fast/block/collapse-anon-block-with-float-siblings-only.html: Added.
4:08 PM Changeset in webkit [191609] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

Null dereference loading Blink layout test editing/execCommand/crash-replacing-list-by-list.html
https://bugs.webkit.org/show_bug.cgi?id=149288
<rdar://problem/22746310>

Patch by Jiewen Tan <jiewen_tan@apple.com> on 2015-10-26
Reviewed by Chris Dumez.

Source/WebCore:

This is a merge of Blink r170821:
https://codereview.chromium.org/220233013

Test: editing/execCommand/crash-replacing-list-by-list.html

  • editing/ReplaceSelectionCommand.cpp:

(WebCore::ReplaceSelectionCommand::insertAsListItems):

LayoutTests:

  • editing/execCommand/crash-replacing-list-by-list-expected.txt: Added.
  • editing/execCommand/crash-replacing-list-by-list.html: Added.
4:05 PM Changeset in webkit [191608] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

Null dereference loading Blink layout test editing/execCommand/insert-image-changing-visibility-crash.html
https://bugs.webkit.org/show_bug.cgi?id=150208
<rdar://problem/23137109>

Patch by Jiewen Tan <jiewen_tan@apple.com> on 2015-10-26
Reviewed by Chris Dumez.

Source/WebCore:

This is a merge from Blink r168502:
https://codereview.chromium.org/183893018

Test: editing/execCommand/insert-image-changing-visibility-crash.html

  • editing/ReplaceSelectionCommand.cpp:

(WebCore::ReplaceSelectionCommand::doApply):
We should check again the visibility of the inserted position again since
the replacement might change the visibility.

LayoutTests:

  • editing/execCommand/insert-image-changing-visibility-crash-expected.txt: Added.
  • editing/execCommand/insert-image-changing-visibility-crash.html: Added.
3:58 PM Changeset in webkit [191607] by andersca@apple.com
  • 1 edit in trunk/Source/WebKit2/ChangeLog

Pipe custom context menu handling through to the UIDelegate object
https://bugs.webkit.org/show_bug.cgi?id=150572

Reviewed by Tim Horton.

  • UIProcess/API/APIContextMenuClient.h:

(API::ContextMenuClient::menuFromProposedMenu):

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView setUIDelegate:]):

  • UIProcess/Cocoa/UIDelegate.h:
  • UIProcess/Cocoa/UIDelegate.mm:

(WebKit::UIDelegate::createContextMenuClient):
(WebKit::UIDelegate::ContextMenuClient::ContextMenuClient):
(WebKit::UIDelegate::ContextMenuClient::~ContextMenuClient):
(WebKit::UIDelegate::ContextMenuClient::menuFromProposedMenu):

  • UIProcess/mac/WebContextMenuProxyMac.mm:

(WebKit::WebContextMenuProxyMac::showContextMenu):

3:51 PM Changeset in webkit [191606] by timothy_horton@apple.com
  • 4 edits in trunk/Source/WebKit2

WKView being inside WKWebView leads to weird API issues
https://bugs.webkit.org/show_bug.cgi?id=150174

Reviewed by Anders Carlsson.

  • UIProcess/API/mac/WKView.mm:

(-[WKView mouseDown:]):
(-[WKView mouseDragged:]):
(-[WKView draggedImage:endedAt:operation:]):
(-[WKView draggingEntered:]):
(-[WKView draggingUpdated:]):
(-[WKView draggingExited:]):
(-[WKView prepareForDragOperation:]):
(-[WKView performDragOperation:]):
(-[WKView _hitTest:dragTypes:]):
(-[WKView initWithFrame:processPool:configuration:webView:]):
(-[WKView applicationFlags:]): Deleted.
(maybeCreateSandboxExtensionFromPasteboard): Deleted.
(createSandboxExtensionsForFileUpload): Deleted.
(-[WKView _registerDraggedTypes]): Deleted.

  • UIProcess/Cocoa/WebViewImpl.h:

(WebKit::WebViewImpl::ignoresMouseDraggedEvents):

  • UIProcess/Cocoa/WebViewImpl.mm:

(WebKit::WebViewImpl::setIgnoresMouseDraggedEvents):
(WebKit::WebViewImpl::draggedImage):
(WebKit::applicationFlagsForDrag):
(WebKit::WebViewImpl::draggingEntered):
(WebKit::WebViewImpl::draggingUpdated):
(WebKit::WebViewImpl::draggingExited):
(WebKit::WebViewImpl::prepareForDragOperation):
(WebKit::maybeCreateSandboxExtensionFromPasteboard):
(WebKit::createSandboxExtensionsForFileUpload):
(WebKit::WebViewImpl::performDragOperation):
(WebKit::WebViewImpl::hitTestForDragTypes):
(WebKit::WebViewImpl::registerDraggedTypes):
Move some drag-related things to WebViewImpl.

3:49 PM Changeset in webkit [191605] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

Null dereference loading Blink layout test editing/execCommand/insert-ordered-list-crash.html
https://bugs.webkit.org/show_bug.cgi?id=150209
<rdar://problem/23137198>

Patch by Jiewen Tan <jiewen_tan@apple.com> on 2015-10-26
Reviewed by Chris Dumez.

Source/WebCore:

This is a merge from Blink r168006:
https://codereview.chromium.org/181283002

Test: editing/execCommand/insert-ordered-list-crash.html

  • editing/InsertListCommand.cpp:

(WebCore::InsertListCommand::doApply):
setEndingSelection() might change endingSelection(), we should check again.

LayoutTests:

  • editing/execCommand/insert-ordered-list-crash-expected.txt: Added.
  • editing/execCommand/insert-ordered-list-crash.html: Added.
3:03 PM Changeset in webkit [191604] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

Null dereference loading Blink layout test editing/execCommand/insert-html-to-document-element-crash.html
https://bugs.webkit.org/show_bug.cgi?id=149294
<rdar://problem/22746657>

Patch by Jiewen Tan <jiewen_tan@apple.com> on 2015-10-26
Reviewed by Darin Adler.

Source/WebCore:

This is a merge of Blink r175019:
https://codereview.chromium.org/300143012

Test: editing/execCommand/insert-html-to-document-element-crash.html

  • editing/ReplaceSelectionCommand.cpp:

(WebCore::ReplaceSelectionCommand::removeRedundantStylesAndKeepStyleSpanInline):
check nullable value |element->parentNode()| before using it.

LayoutTests:

  • editing/execCommand/insert-html-to-document-element-crash-expected.txt: Added.
  • editing/execCommand/insert-html-to-document-element-crash.html: Added.
3:01 PM Changeset in webkit [191603] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

Null dereference loading Blink layout test editing/execCommand/indent-nested-blockquotes-crash.html
https://bugs.webkit.org/show_bug.cgi?id=149291
<rdar://problem/22746473>

Patch by Jiewen Tan <jiewen_tan@apple.com> on 2015-10-26
Reviewed by Darin Adler.

Source/WebCore:

This is a merge of Blink r172967:
https://codereview.chromium.org/251723003

Test: editing/execCommand/indent-nested-blockquotes-crash.html

  • editing/CompositeEditCommand.cpp:

(WebCore::CompositeEditCommand::insertNodeAfter):

LayoutTests:

  • editing/execCommand/indent-nested-blockquotes-crash-expected.txt: Added.
  • editing/execCommand/indent-nested-blockquotes-crash.html: Added.
2:45 PM Changeset in webkit [191602] by mark.lam@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Add logging to warn about under-estimated FTL inline cache sizes.
https://bugs.webkit.org/show_bug.cgi?id=150570

Reviewed by Geoffrey Garen.

Added 2 options:

  1. JSC_dumpFailedICSizing - dumps an error message if the FTL encounters IC size estimates that are less than the actual needed code size.

This option is useful for when we add a new IC and want to compute an
estimated size for the IC. To do this:

  1. Build jsc for the target port with a very small IC size (enough to store the jump instruction needed for the out of line fallback implementation).
  2. Implement a test suite with scenarios that exercise all the code paths in the IC generator.
  3. Run jsc with JSC_dumpFailedICSizing=true on the test suite.
  4. The max value reported by the dumps will be the worst case size needed to store the IC. We should use this value for our estimate.
  5. Update the IC's estimated size and rebuild jsc.
  6. Re-run (3) and confirm that there are no more error messages about the IC sizing.
  1. JSC_assertICSizing - same as JSC_dumpFailedICSizing except that it also crashes the VM each time it encounters an inadequate IC size estimate.

This option is useful for regression testing to ensure that our estimates
do not regress.

  • ftl/FTLCompile.cpp:

(JSC::FTL::generateInlineIfPossibleOutOfLineIfNot):

  • runtime/Options.h:
2:45 PM Changeset in webkit [191601] by dburkart@apple.com
  • 4 edits in trunk

make analyze should build using the debug configuration
https://bugs.webkit.org/show_bug.cgi?id=150571

Reviewed by Lucas Forschler.

.:

  • Makefile.shared:

WebKitLibraries:

  • Makefile:
2:41 PM Changeset in webkit [191600] by andersca@apple.com
  • 6 edits in trunk/Source/WebKit2

Pipe custom context menu handling through to the UIDelegate object
https://bugs.webkit.org/show_bug.cgi?id=150572

Reviewed by Tim Horton.

  • UIProcess/API/APIContextMenuClient.h:

(API::ContextMenuClient::menuFromProposedMenu):

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView setUIDelegate:]):

  • UIProcess/Cocoa/UIDelegate.h:
  • UIProcess/Cocoa/UIDelegate.mm:

(WebKit::UIDelegate::createContextMenuClient):
(WebKit::UIDelegate::ContextMenuClient::ContextMenuClient):
(WebKit::UIDelegate::ContextMenuClient::~ContextMenuClient):
(WebKit::UIDelegate::ContextMenuClient::menuFromProposedMenu):

  • UIProcess/mac/WebContextMenuProxyMac.mm:

(WebKit::WebContextMenuProxyMac::showContextMenu):

2:09 PM Changeset in webkit [191599] by Ryan Haddad
  • 1 edit in trunk/LayoutTests/platform/mac-wk1/TestExpectations

2015-10-26 Ryan Haddad <Ryan Haddad>

Marking svg/repaint/add-background-property-on-root.html as flaky on mac-wk1 due to timeouts
https://bugs.webkit.org/show_bug.cgi?id=150564

Unreviewed test gardening.

  • platform/mac-wk1/TestExpectations:
2:07 PM Changeset in webkit [191598] by beidson@apple.com
  • 11 edits
    2 copies in trunk/Source/WebCore

Modern IDB: Backing store objectStores (plumbing for b/150468).
https://bugs.webkit.org/show_bug.cgi?id=150543

Reviewed by Alex Christensen.

No new tests (No change in behavior, plumbing for future testability)

  • CMakeLists.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • Modules/indexeddb/server/IDBBackingStore.h:
  • Modules/indexeddb/server/MemoryBackingStoreTransaction.cpp:

(WebCore::IDBServer::MemoryBackingStoreTransaction::addNewObjectStore):
(WebCore::IDBServer::MemoryBackingStoreTransaction::abort):
(WebCore::IDBServer::MemoryBackingStoreTransaction::commit):
(WebCore::IDBServer::MemoryBackingStoreTransaction::finish):

  • Modules/indexeddb/server/MemoryBackingStoreTransaction.h:

(WebCore::IDBServer::MemoryBackingStoreTransaction::isWriting):

  • Modules/indexeddb/server/MemoryIDBBackingStore.cpp:

(WebCore::IDBServer::MemoryIDBBackingStore::createObjectStore):
(WebCore::IDBServer::MemoryIDBBackingStore::removeObjectStoreForVersionChangeAbort):

  • Modules/indexeddb/server/MemoryIDBBackingStore.h:
  • Modules/indexeddb/server/MemoryObjectStore.cpp:

(WebCore::IDBServer::MemoryObjectStore::create):
(WebCore::IDBServer::MemoryObjectStore::MemoryObjectStore):
(WebCore::IDBServer::MemoryObjectStore::~MemoryObjectStore):
(WebCore::IDBServer::MemoryObjectStore::writeTransactionStarted):
(WebCore::IDBServer::MemoryObjectStore::writeTransactionFinished):

  • Modules/indexeddb/server/MemoryObjectStore.h:

(WebCore::IDBServer::MemoryObjectStore::info):

  • Modules/indexeddb/server/UniqueIDBDatabase.cpp:

(WebCore::IDBServer::UniqueIDBDatabase::createObjectStore):

  • Modules/indexeddb/shared/IDBError.cpp:

(WebCore::idbErrorName):
(WebCore::idbErrorDescription):

  • Modules/indexeddb/shared/IDBError.h:
1:16 PM Changeset in webkit [191597] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

Null dereference loading Blink layout test editing/execCommand/indent-inline-box-crash.html
https://bugs.webkit.org/show_bug.cgi?id=149290
<rdar://problem/22746435>

Patch by Jiewen Tan <jiewen_tan@apple.com> on 2015-10-26
Reviewed by Alex Christensen.

Source/WebCore:

This is a merge of Blink r174952:
https://codereview.chromium.org/297203004

Test: editing/execCommand/indent-inline-box-crash.html

  • editing/IndentOutdentCommand.cpp:

(WebCore::IndentOutdentCommand::tryIndentingAsListItem):

LayoutTests:

  • editing/execCommand/indent-inline-box-crash-expected.txt: Added.
  • editing/execCommand/indent-inline-box-crash.html: Added.
1:08 PM Changeset in webkit [191596] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

Null dereference loading Blink layout test editing/execCommand/indent-no-visible-contents-crash.html
https://bugs.webkit.org/show_bug.cgi?id=149292
<rdar://problem/22746530>

Patch by Jiewen Tan <jiewen_tan@apple.com> on 2015-10-26
Reviewed by Alex Christensen.

Source/WebCore:

This is a merge of Blink r176735:
https://codereview.chromium.org/349143002

Test: editing/execCommand/indent-no-visible-contents-crash.html

  • editing/CompositeEditCommand.cpp:

(WebCore::CompositeEditCommand::moveParagraphWithClones):

Sometimes callers of this method will pass null startOfParagraphToMove
endOfParagraphToMove,

hence check them before proceeding.

LayoutTests:

  • editing/execCommand/indent-no-visible-contents-crash-expected.txt: Added.
  • editing/execCommand/indent-no-visible-contents-crash.html: Added.
1:01 PM Changeset in webkit [191595] by achristensen@apple.com
  • 2 edits in trunk/Source/WebKit2

Build fix when using NETWORK_SESSION after r191457.

  • NetworkProcess/cocoa/NetworkSessionCocoa.mm:

(-[NetworkSessionDelegate URLSession:dataTask:didReceiveResponse:completionHandler:]):
Use resourceResponse.

12:48 PM Changeset in webkit [191594] by sbarati@apple.com
  • 5 edits
    1 add in trunk/Source/JavaScriptCore

r190735 Caused us to maybe trample the base's tag-GPR on 32-bit inline cache when the cache allocates a scratch register and then jumps to the slow path
https://bugs.webkit.org/show_bug.cgi?id=150532

Reviewed by Geoffrey Garen.

The base's tag register used to show up in the used register set
before r190735 because of how the DFG kept track of used register. I changed this
in my work on inline caching because we don't want to spill these registers
when we have a GetByIdFlush/PutByIdFlush and we use the used register set
as the metric of what to spill. That said, these registers should be locked
and not used as scratch registers by the scratch register allocator. The
reason is that our inline cache may fail and jump to the slow path. The slow
path then uses the base's tag register. If the inline cache used the base's tag
register as a scratch and the inline cache fails and jumps to the slow path, we
have a problem because the tag may now be trampled.

Note that this doesn't mean that we can't trample the base's tag register when making
a call. We can totally trample the register as long as the inline cache succeeds in a GetByIdFlush/PutByIdFlush.
The problem is only when we trample it and then jump to the slow path.

This patch fixes this bug by making StructureStubInfo keep track of the base's
tag GPR. PolymorphicAccess then locks this register when using the ScratchRegisterAllocator.

  • bytecode/PolymorphicAccess.cpp:

(JSC::AccessCase::generate):
(JSC::PolymorphicAccess::regenerate):

  • bytecode/StructureStubInfo.h:
  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileIn):

  • jit/JITInlineCacheGenerator.cpp:

(JSC::JITByIdGenerator::JITByIdGenerator):

  • tests/stress/regress-150532.js: Added.

(assert):
(randomFunction):
(foo):
(i.switch):

12:20 PM Changeset in webkit [191593] by andersca@apple.com
  • 3 edits in trunk/Source/WebKit2

Remove more dead context menu code
https://bugs.webkit.org/show_bug.cgi?id=150569

Reviewed by Tim Horton.

  • UIProcess/API/APIContextMenuClient.h:

(API::ContextMenuClient::contextMenuDismissed): Deleted.

  • UIProcess/API/C/WKPage.cpp:

(WKPageSetPageContextMenuClient): Deleted.

12:15 PM Changeset in webkit [191592] by Ryan Haddad
  • 2 edits in trunk/Tools

2015-10-26 Ryan Haddad <Ryan Haddad>

Adding myself to contributors.json

  • Scripts/webkitpy/common/config/contributors.json:
12:01 PM Changeset in webkit [191591] by andersca@apple.com
  • 10 edits in trunk/Source

Remove dead context menu code
https://bugs.webkit.org/show_bug.cgi?id=150567

Reviewed by Tim Horton.

Source/WebCore:

  • loader/EmptyClients.h:
  • page/ContextMenuClient.h:
  • page/ContextMenuController.cpp:

(WebCore::ContextMenuController::showContextMenu): Deleted.

Source/WebKit/mac:

  • WebCoreSupport/WebContextMenuClient.h:
  • WebCoreSupport/WebContextMenuClient.mm:

(WebContextMenuClient::getCustomMenuFromDefaultItems): Deleted.

Source/WebKit2:

  • WebProcess/WebCoreSupport/WebContextMenuClient.cpp:

(WebKit::WebContextMenuClient::getCustomMenuFromDefaultItems): Deleted.

  • WebProcess/WebCoreSupport/WebContextMenuClient.h:
11:39 AM Changeset in webkit [191590] by Simon Fraser
  • 4 edits
    6 adds in trunk

Implement 'round' and 'space' values for border-image
https://bugs.webkit.org/show_bug.cgi?id=14185

Reviewed by Tim Horton.

Source/WebCore:

Add support for "round" and "space" values for border-image-repeat.
Following "stretch" and "repeat", the code is added to Image::drawTiled().

For "round", we compute an integral number of copies of the image that fit,
and then adjust the tile scale.

For "space", we also compute an integral number N of copies that will fit,
and then divide the remaining space amongst N+1 gaps, adjusting the tiling
phase so that with an even number of images, a gap is centered.

Tests: fast/borders/border-image-round.html

fast/borders/border-image-space.html

  • platform/graphics/Image.cpp:

(WebCore::Image::drawTiled):

  • platform/graphics/cg/GraphicsContextCG.cpp:

(WebCore::GraphicsContext::drawPattern):

LayoutTests:

Ref tests that clip, leaving relevant parts of the images.

  • fast/borders/border-image-round-expected.html: Added.
  • fast/borders/border-image-round.html: Added.
  • fast/borders/border-image-space-expected.html: Added.
  • fast/borders/border-image-space.html: Added.
  • fast/borders/resources/big-border-image-lines.png: Added.
  • fast/borders/resources/big-border-image.png: Added.
11:26 AM Changeset in webkit [191589] by Simon Fraser
  • 3 edits
    2 adds in trunk

Incorrect repeated background-size behavior in keyframes
https://bugs.webkit.org/show_bug.cgi?id=150309

Reviewed by Zalan Bujtas.

Source/WebCore:

After computing the style for a keyframe, we failed to propagate unset
fill-layer properties to all layers, which caused incorrect behavior when
there were multiple background images, but only one value on a background
property in the keyframes.

Fix by calling adjustRenderStyle() on keyframe styles, which invokes
style.adjustBackgroundLayers() which fixes the bug.

Test: animations/multiple-backgrounds.html

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::styleForKeyframe):

LayoutTests:

  • animations/multiple-backgrounds-expected.html: Added.
  • animations/multiple-backgrounds.html: Added.
11:24 AM Changeset in webkit [191588] by timothy_horton@apple.com
  • 5 edits in trunk

Don't expose the whitelist/blacklist in _WKUserStyleSheet
https://bugs.webkit.org/show_bug.cgi?id=150566

Reviewed by Anders Carlsson.

Source/WebKit2:

  • UIProcess/API/Cocoa/_WKUserStyleSheet.h:
  • UIProcess/API/Cocoa/_WKUserStyleSheet.mm:

(-[_WKUserStyleSheet initWithSource:forMainFrameOnly:]):
(toWTFStrings): Deleted.
(-[_WKUserStyleSheet initWithSource:whitelistedURLPatterns:blacklistedURLPatterns:forMainFrameOnly:]): Deleted.
(-[_WKUserStyleSheet whitelistedURLPatterns]): Deleted.
(-[_WKUserStyleSheet blacklistedURLPatterns]): Deleted.

Tools:

  • TestWebKitAPI/Tests/WebKit2Cocoa/UserContentController.mm:

(TEST):

11:08 AM Changeset in webkit [191587] by Chris Dumez
  • 5 edits in trunk

Indexing an object with an integer that is not a supported property index should not call the named property getter
https://bugs.webkit.org/show_bug.cgi?id=148871
<rdar://problem/22589952>

Reviewed by Darin Adler.

LayoutTests/imported/w3c:

Rebaseline W3C HTML test now that more checks are passing.

  • web-platform-tests/html/semantics/forms/the-form-element/form-elements-matches-expected.txt:

Source/WebCore:

Indexing an object with an integer that is not a supported property
index should not call the named property getter, as per the Web IDL
specification:
https://heycam.github.io/webidl/#idl-indexed-properties (Note in blue)

Firefox and Chrome both already behave according to the specification
here so this patch aligns our behavior with other browsers as well.

No new tests, already covered by existing test.

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateGetOwnPropertySlotBody):
(GenerateImplementation):

  • bindings/scripts/test/JS/JSTestEventTarget.cpp:

(WebCore::JSTestEventTarget::getOwnPropertySlot):
(WebCore::JSTestEventTarget::getOwnPropertySlotByIndex): Deleted.
(WebCore::jsTestEventTargetConstructor): Deleted.

9:44 AM Changeset in webkit [191586] by commit-queue@webkit.org
  • 21 edits
    1 add in trunk/PerformanceTests

Add an option to output the results of the graphics benchmark in JSON format
https://bugs.webkit.org/show_bug.cgi?id=150484
<rdar://problem/23243721>

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2015-10-26
Reviewed by Darin Adler.

  • Animometer/resources/extensions.js:

(ResultsDashboard): A new class to hold the iterations results.
(ResultsDashboard.prototype.push): Appends an iteration results;
(ResultsDashboard.prototype.toJSON): Converts the iterations results to JSON format.

(RecordTable.prototype.clear): Clears the results table.
(RecordTable.prototype._showTitles): Shows the header titles and appends the sub-titles to a queue.
(RecordTable.prototype._showHeader): Shows the table header titles.
(RecordTable.prototype._showEmpty): Shows an empty table cell.
(RecordTable.prototype._showValue): Shows a number value in the results table.
(RecordTable.prototype._showSamples): Shows a button for the sampled data graph.
(RecordTable.prototype._showTest): Shows the results of a single test.
(RecordTable.prototype._showSuite): Shows the results of a single suite.
(RecordTable.prototype.showRecord): Shows a single iteration for a single test.
(RecordTable.prototype.showIterations): Shows the results of all the suites of the iterations.

(ResultsTable): RecordTable was renamed to ResultsTable.
(ResultsTable.prototype.clear): Clears the table element.
(ResultsTable.prototype._showHeaderRow): Shows a row in the results table header.
(ResultsTable.prototype._showHeader): Shows the results table header.
(ResultsTable.prototype._showEmpty): Shows an empty table cell.
(ResultsTable.prototype._showText): Shows a string in a new table cell.
(ResultsTable.prototype._showFixedNumber): Shows a number in a new table cell.
(ResultsTable.prototype._showGraph): Shows a button for the sampled data graph.
(ResultsTable.prototype._showJSON): Shows a button for the sampled data JSON.
(ResultsTable.prototype._showTest): Shows the results of a single test.
(ResultsTable.prototype._showSuite): Shows the results of a single suite.
(ResultsTable.prototype._showIteration): Shows the results of a single iteration.
(ResultsTable.prototype.showRecord): Shows a single iteration for a single test.
(ResultsTable.prototype.showIterations): Shows all the results.
(RecordTable): Deleted.
(RecordTable.prototype.clear): Deleted.
(RecordTable.prototype._showTitles): Deleted.
(RecordTable.prototype._showHeader): Deleted.
(RecordTable.prototype._showEmpty): Deleted.
(RecordTable.prototype._showValue): Deleted.
(RecordTable.prototype._showSamples): Deleted.
(RecordTable.prototype._showTest): Deleted.
(RecordTable.prototype._showSuite): Deleted.
(RecordTable.prototype.showRecord): Deleted.
(RecordTable.prototype.showIterations): Deleted.

  • Animometer/resources/sampler.js:

(Sampler.prototype.startSampling): Use forEach.
(Sampler.prototype.sample): Use forEach.
(Sampler.prototype.toJSON): Converts the sampler data to JSON format.

  • Animometer/resources/strings.js: Added.

This new file will be used to associate the strings used by the benchmark
with IDs. A string can be changed in one place without having to change
all the instances of this string in multiple files. There two groups of
strings in this file. The first one is used by the UI elements and the second
group is used when constructing the results JSON.

  • Animometer/runner/animometer.html:
  • Animometer/runner/resources/animometer.css:
  • Animometer/runner/resources/animometer.js:

(window.benchmarkRunnerClient.willAddTestFrame):
(window.benchmarkRunnerClient.willStartFirstIteration):
(window.benchmarkRunnerClient.didRunSuites):
(window.benchmarkRunnerClient.didFinishLastIteration):
Make benchmarkRunnerClient uses ResultsDashboard instead of _iterationsSamplers
Get the JSON from ResultsDashboard.toJSON() and pass it to ResultsTable.showIterations().
Also set the textContent of the "#json" textarea with the results JSON.

(showResults): Delete unneeded code.
(showJson): Shows the "json" section.
(showTestGraph): Rename showGraph() to be showTestGraph().
(showTestJSON): Shows the JSON of a single testResults.
(showGraph): Deleted.

  • Animometer/runner/resources/tests.js:

Use the string table instead of putting literal strings.

  • Animometer/tests/resources/stage.js:

(StageBenchmark.prototype.showResults):
Fix the parameters which are passed to RecordTable.showRecord().

  • Animometer/tests/bouncing-particles/bouncing-canvas-images.html:
  • Animometer/tests/bouncing-particles/bouncing-canvas-shapes.html:
  • Animometer/tests/bouncing-particles/bouncing-css-images.html:
  • Animometer/tests/bouncing-particles/bouncing-css-shapes.html:
  • Animometer/tests/bouncing-particles/bouncing-svg-images.html:
  • Animometer/tests/bouncing-particles/bouncing-svg-shapes.html:
  • Animometer/tests/examples/canvas-electrons.html:
  • Animometer/tests/examples/canvas-stars.html:
  • Animometer/tests/simple/simple-canvas-paths.html:
  • Animometer/tests/template/template-canvas.html:
  • Animometer/tests/template/template-css.html:
  • Animometer/tests/template/template-svg.html:
  • Animometer/tests/text/layering-text.html:

Include the new strings.js file in all the test files.

8:59 AM Changeset in webkit [191585] by rniwa@webkit.org
  • 1 edit
    3 adds in trunk/Websites/webkit.org

Add images needed for shadow DOM blog post
https://bugs.webkit.org/show_bug.cgi?id=150549

Reviewed by Timothy Hatcher.

Added images.

  • blog-files/introducing-shadow-dom: Added.
  • blog-files/introducing-shadow-dom/commit-queue-contact.png: Added.
  • blog-files/introducing-shadow-dom/progress-bar.png: Added.
8:09 AM Changeset in webkit [191584] by calvaris@igalia.com
  • 8 edits in trunk

[Streams API] Implement abort method on writable streams
https://bugs.webkit.org/show_bug.cgi?id=150444

Reviewed by Darin Adler.

Source/WebCore:

Abort method on writable streams implemented according to the spec.

Current test set suffices. Expectations are updated accordingly.

  • Modules/streams/StreamInternals.js:

(promiseInvokeOrFallbackOrNoop): Implemented according to the spec.

  • Modules/streams/WritableStream.js:

(abort): Implemented according to the spec.

LayoutTests:

Test expectations updated.

  • streams/reference-implementation/bad-underlying-sinks-expected.txt:
  • streams/reference-implementation/brand-checks-expected.txt:
  • streams/reference-implementation/pipe-to-expected.txt:
  • streams/reference-implementation/writable-stream-abort-expected.txt:
5:04 AM Changeset in webkit [191583] by Philippe Normand
  • 4 edits
    3 adds in trunk

Unreviewed, rolling out r191576.

.:

broke the http/tests/media tests

Reverted changeset:

"[GStreamer] Bump internal jhbuild versions to 1.6.0"
https://bugs.webkit.org/show_bug.cgi?id=149594
http://trac.webkit.org/changeset/191576

Tools:

broke

Reverted changeset:

"[GStreamer] Bump internal jhbuild versions to 1.6.0"
https://bugs.webkit.org/show_bug.cgi?id=149594
http://trac.webkit.org/changeset/191576

3:32 AM Changeset in webkit [191582] by Carlos Garcia Campos
  • 1 copy in releases/WebKitGTK/webkit-2.10.3

WebKitGTK+ 2.10.3

3:31 AM Changeset in webkit [191581] by Carlos Garcia Campos
  • 4 edits in releases/WebKitGTK/webkit-2.10

Unreviewed. Update OptionsGTK.cmake and NEWS for 2.10.3 release.

.:

  • Source/cmake/OptionsGTK.cmake: Bump version numbers.

Source/WebKit2:

  • gtk/NEWS: Add release notes for 2.10.3
2:31 AM Changeset in webkit [191580] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.10/Source/WebCore

Merge r191549 - [TexMap] Fix a misused flag for GstGL
https://bugs.webkit.org/show_bug.cgi?id=150545

Reviewed by Žan Doberšek.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:

(WebCore::MediaPlayerPrivateGStreamerBase::paintToTextureMapper):
We should pass TextureMapperGL::Flags to the TextureMapperGL::drawTexture instead of
BitmapTexture::Flags.

2:30 AM Changeset in webkit [191579] by Carlos Garcia Campos
  • 5 edits in releases/WebKitGTK/webkit-2.10/Source/WebCore

Merge r191541 - [TexMap] Clean up BitmapTexture and BitmapTextureGL.
https://bugs.webkit.org/show_bug.cgi?id=143298

Reviewed by Žan Doberšek.

No new tests, this is just a refactor.

  • platform/graphics/texmap/BitmapTexture.h:

(WebCore::BitmapTexture::canReuseWith): Deleted.
Reuseability of a BitmapTexture is only decided by its size.
We can use size() instead of this method.

  • platform/graphics/texmap/BitmapTextureGL.h:

(WebCore::driverSupportsExternalTextureBGRA): Deleted.
We do not have to check a suitable texture format in every
update/reset. It is enough to store the formats in construction time
and reuse them.

2:26 AM Changeset in webkit [191578] by Carlos Garcia Campos
  • 3 edits
    2 adds in releases/WebKitGTK/webkit-2.10

Merge r191540 - REGRESSION (r187121): Delayed instantaneous animations not honouring ' forwards' fill-mode
https://bugs.webkit.org/show_bug.cgi?id=150326

Reviewed by Darin Adler.

Source/WebCore:

With a zero-duration, delayed fill-forwards animation, we'd end up trying
to interpolate between the last and first keyframes, and picking the first
because AnimationBase::progress() had a special case for zero duration. Removing
this check fixes the bug.

Test: animations/fill-mode-forwards-zero-duration.html

  • page/animation/AnimationBase.cpp:

(WebCore::AnimationBase::progress):

LayoutTests:

Test with a zero-duration, delayed fill-forwards animation.

  • animations/fill-mode-forwards-zero-duration-expected.txt: Added.
  • animations/fill-mode-forwards-zero-duration.html: Added.
2:25 AM Changeset in webkit [191577] by Carlos Garcia Campos
  • 16 edits
    3 adds in releases/WebKitGTK/webkit-2.10

Merge r191530 - REGRESSION (r179357-r179359): WebContent Crash using AOL Mail @ com.apple.JavascriptCore JSC::linkPolymorphicCall(JSC::ExecState*, JSC::CallLinkInfo&, JSC::CallVariant, JSC::RegisterPreservationMode) + 1584
https://bugs.webkit.org/show_bug.cgi?id=150513

Reviewed by Saam Barati.

Source/JavaScriptCore:

Add check in linkPolymorphicCall() to make sure we have a CodeBlock for the newly added variant.
If not, we turn the call into a virtual call.

The bug was caused by a stack overflow when preparing the function for execution. This properly
threw an exception, however linkPolymorphicCall() didn't check for this error case.

Added a new test function "failNextNewCodeBlock()" to test tools to simplify the testing.

  • API/JSCTestRunnerUtils.cpp:

(JSC::failNextNewCodeBlock):
(JSC::numberOfDFGCompiles):

  • API/JSCTestRunnerUtils.h:
  • jit/Repatch.cpp:

(JSC::linkPolymorphicCall):

  • jsc.cpp:

(GlobalObject::finishCreation):
(functionTransferArrayBuffer):
(functionFailNextNewCodeBlock):
(functionQuit):

  • runtime/Executable.cpp:

(JSC::ScriptExecutable::prepareForExecutionImpl):

  • runtime/TestRunnerUtils.cpp:

(JSC::optimizeNextInvocation):
(JSC::failNextNewCodeBlock):
(JSC::numberOfDFGCompiles):

  • runtime/TestRunnerUtils.h:
  • runtime/VM.h:

(JSC::VM::setFailNextNewCodeBlock):
(JSC::VM::getAndClearFailNextNewCodeBlock):
(JSC::VM::stackPointerAtVMEntry):

Tools:

Added a new test function, failNextNewCodeBlock() to simplify the writing of a regression test.

  • DumpRenderTree/TestRunner.cpp:

(simulateWebNotificationClickCallback):
(failNextCodeBlock):
(numberOfDFGCompiles):
(TestRunner::staticFunctions):

  • WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
  • WebKitTestRunner/InjectedBundle/TestRunner.cpp:

(WTR::TestRunner::setBlockAllPlugins):
(WTR::TestRunner::failNextCodeBlock):
(WTR::TestRunner::numberOfDFGCompiles):

  • WebKitTestRunner/InjectedBundle/TestRunner.h:

LayoutTests:

New regression test.

  • js/regress-150513-expected.txt: Added.
  • js/regress-150513.html: Added.
  • js/script-tests/regress-150513.js: Added.

(test):

  • resources/standalone-pre.js: Added failNextNewCodeBlock to testRunner object.
1:57 AM Changeset in webkit [191576] by ChangSeok Oh
  • 4 edits
    3 deletes in trunk

[GStreamer] Bump internal jhbuild versions to 1.6.0
https://bugs.webkit.org/show_bug.cgi?id=149594

Reviewed by Philippe Normand.

.:

Bump up the minimum reqirement version of gstreamer-gl to 1.6.0.

  • Source/cmake/FindGStreamer.cmake:

Tools:

Bump up whole gstreamer libraries to 1.6.0. Relevant patches are no more
useful so they are removed accordingly.

  • gtk/jhbuild.modules:
  • gtk/patches/gst-plugins-bad-fix-faad2-version-check.patch: Removed.
  • gtk/patches/gst-plugins-bad-remove-gnustep-support.patch: Removed.
  • gtk/patches/gst-plugins-base-rtp-rtcpbuffer-fix-typo-in-enum.patch: Removed.
1:56 AM Changeset in webkit [191575] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.10/Source/WebCore

Merge r191525 - Avoid SVG-induced layouts inside Element::absoluteEventBounds()
https://bugs.webkit.org/show_bug.cgi?id=150516

Reviewed by Zalan Bujtas.

Speculative fix for a crash under RenderObject::localToContainerQuad() when
computing the wheel event handler region, which uses Element::absoluteEventHandlerBounds().
Element::absoluteEventBounds() was calling SVGElement::getBoundingBox() in a way
that could trigger a layout.

  • dom/Element.cpp:

(WebCore::Element::absoluteEventBounds):

1:54 AM Changeset in webkit [191574] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.10/Source/WebKit2

Merge r191503 - [GTK] Minor web editor fixes
https://bugs.webkit.org/show_bug.cgi?id=150501

Reviewed by Carlos Garcia Campos.

  • UIProcess/gtk/KeyBindingTranslator.cpp: Remove

"MoveParagraphForward/Backward" as these commands do not exist in
WebKit (anymore?).

  • WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp:

(WebKit::WebEditorClient::executePendingEditorCommands):
Editor::Command can take a String, no need to convert to a C char.

1:53 AM Changeset in webkit [191573] by Carlos Garcia Campos
  • 4 edits
    2 adds in releases/WebKitGTK/webkit-2.10

Merge r191502 - REGRESSION (r187121): Multiple-keyframe animations not honouring ' forwards' fill-mode
https://bugs.webkit.org/show_bug.cgi?id=150328

Reviewed by Dean Jackson.

Source/WebCore:

AnimationBase::getElapsedTime() for a finished animation would return 1 (a progress),
rather than a time value as the caller expects. Fix it to return the total duration
if the animation has finished. This fixes the bug.

Change CompositeAnimation::pauseAnimationAtTime() to be more permissive, allowing
testing of filling-forwards animations with the pause API.

Test: animations/fill-forwards-end-state.html

  • page/animation/AnimationBase.cpp:

(WebCore::AnimationBase::getElapsedTime):

  • page/animation/CompositeAnimation.cpp:

(WebCore::CompositeAnimation::pauseAnimationAtTime):

LayoutTests:

Filling-forwards test with an animation whose duration is greater than one second,
which showed the bug.

  • animations/fill-forwards-end-state-expected.txt: Added.
  • animations/fill-forwards-end-state.html: Added.
1:47 AM Changeset in webkit [191572] by Carlos Garcia Campos
  • 5 edits
    2 adds in releases/WebKitGTK/webkit-2.10

Merge r191492 - ConvolverNode.buffer must have same sample-rate as the AudioContext
https://bugs.webkit.org/show_bug.cgi?id=150385

Patch by Hyemi Shin <hyemi.sin@samsung.com> on 2015-10-23
Reviewed by Chris Dumez.

ConvolverNode.buffer must be of the same sample-rate as the AudioContext
or an NOT_SUPPORTED_ERR exception MUST be thrown.

Test : webaudio/convolver-setBuffer-different-samplerate.html

  • Modules/webaudio/ConvolverNode.cpp:

(WebCore::ConvolverNode::setBuffer):

  • Modules/webaudio/ConvolverNode.h:
  • Modules/webaudio/ConvolverNode.idl:

LayoutTests:
ConvolverNode.buffer must have same sample rate as the AudioContext
https://bugs.webkit.org/show_bug.cgi?id=150385

Patch by Hyemi Shin <hyemi.sin@samsung.com> on 2015-10-23
Reviewed by Chris Dumez.

  • webaudio/convolver-setBuffer-different-samplerate-expected.txt: Added.
  • webaudio/convolver-setBuffer-different-samplerate.html: Added.
1:37 AM Changeset in webkit [191571] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.10/Source/WebKit2

Merge r191481 - ERROR: Unhandled web process message 'StorageAreaMap:DispatchStorageEvent'
https://bugs.webkit.org/show_bug.cgi?id=150315

Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2015-10-22
Reviewed by Andreas Kling.

It was introduced in r184930, that keeps the session storage area
maps alive in the UI process when they are destroyed by the web
process. The problem is that we also keep the listeners, so that
events are also dispatched to the listeners of destroyed areas,
and the message handlers were removed in the web process.

  • UIProcess/Storage/StorageManager.cpp:

(WebKit::StorageManager::createTransientLocalStorageMap): Add a
listener for the new storage map ID when the map is reused.
(WebKit::StorageManager::destroyStorageMap): Always remove
listeners of destroyed maps.

1:36 AM Changeset in webkit [191570] by Carlos Garcia Campos
  • 15 edits
    1 add in releases/WebKitGTK/webkit-2.10

Merge r191451 - REGRESSION (r181972): Scroll position changes to top of youtube page when switching tabs
https://bugs.webkit.org/show_bug.cgi?id=150428

Reviewed by Antti Koivisto.

Source/WebCore:

The bug was caused by updateFocusAppearance in WebPage::restoreSelectionInFocusedEditableElement
revealing the focused element which was added in r181972. Fixed the bug by adding an option to
suppress this behavior here.

  • dom/Document.cpp:

(WebCore::Document::Document):
(WebCore::Document::updateFocusAppearanceSoon):

  • dom/Document.h:
  • dom/Element.cpp:

(WebCore::Element::focus):
(WebCore::Element::updateFocusAppearanceAfterAttachIfNeeded):
(WebCore::Element::updateFocusAppearance):

  • dom/Element.h:
  • history/CachedPage.cpp:

(WebCore::CachedPage::restore):

  • html/HTMLAreaElement.cpp:

(WebCore::HTMLAreaElement::updateFocusAppearance):

  • html/HTMLAreaElement.h:
  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::updateFocusAppearance):
(WebCore::HTMLInputElement::runPostTypeUpdateTasks):
(WebCore::HTMLInputElement::didAttachRenderers):

  • html/HTMLInputElement.h:
  • html/HTMLTextAreaElement.cpp:

(WebCore::HTMLTextAreaElement::updateFocusAppearance):

  • html/HTMLTextAreaElement.h:

Source/WebKit2:

Call updateFocusAppearance with RevealMode::DoNotReveal to avoid revealing the focused element.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::restoreSelectionInFocusedEditableElement):

Tools:

Added a regression test using WebKit API test.

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/mac/FirstResponderScrollingPosition.mm: Added.

(TestWebKitAPI::didFinishLoadForFrame):
(TestWebKitAPI::TEST):

1:18 AM Changeset in webkit [191569] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.10

Merge r191442 - [GTK][Mac] ICU-related build fixes
https://bugs.webkit.org/show_bug.cgi?id=150032

Rubber-stamped by Darin Adler.

  • Source/cmake/FindICU.cmake: Use pkg-config to hint at icu-i18n's library location.
1:16 AM Changeset in webkit [191568] by Carlos Garcia Campos
  • 4 edits
    2 adds in releases/WebKitGTK/webkit-2.10

Merge r191403 - Null dereference loading Blink layout test svg/filters/display-none-filter-primitive.html
https://bugs.webkit.org/show_bug.cgi?id=150212
<rdar://problem/23137376>

Reviewed by Brent Fulgham.

Source/WebCore:

Handle the case where a filter element doesn't have a renderer. Inspired by the Blink
commit:
https://chromium.googlesource.com/chromium/src.git/+/fb79f7fc46552d45127acd2959a23662ad8f271e

Test: svg/filters/display-none-filter-primitive.html

  • rendering/svg/RenderSVGResourceFilter.cpp:

(WebCore::RenderSVGResourceFilter::buildPrimitives):

  • svg/graphics/filters/SVGFilterBuilder.cpp:

(WebCore::SVGFilterBuilder::appendEffectToEffectReferences):

LayoutTests:

  • svg/filters/display-none-filter-primitive-expected.txt: Added.
  • svg/filters/display-none-filter-primitive.html: Added.
1:10 AM Changeset in webkit [191567] by Carlos Garcia Campos
  • 4 edits in releases/WebKitGTK/webkit-2.10/Source/WebCore

Merge r191386 - ASSERTION FAILED: markFontData in FontCascade::emphasisMarkHeight
https://bugs.webkit.org/show_bug.cgi?id=150171

Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2015-10-21
Reviewed by Myles C. Maxfield.

It happens with several tests like fast/ruby/text-emphasis.html in
the GTK Debug bot. The tests seem to pass in Release and the rendering
looks correct as well removing the assert. The thing is that
for some reason we can get an empty GlyphData from
FontCascade::getEmphasisMarkGlyphData() when it ends up falling
back to system (FontCascadeFonts::glyphDataForSystemFallback).

  • platform/graphics/FontCascade.cpp:

(WebCore::FontCascade::getEmphasisMarkGlyphData): Return
Optional<GlyphData> instead of returning a boolean and an out
parameter. If we get an invalid GlyphData, Nullopt is
returned. Also use a SurrogatePairAwareTextIterator to handle
surrogate pairs.
(WebCore::FontCascade::emphasisMarkAscent):
(WebCore::FontCascade::emphasisMarkDescent):
(WebCore::FontCascade::emphasisMarkHeight):
(WebCore::FontCascade::drawEmphasisMarks):

  • platform/graphics/FontCascade.h:
  • platform/graphics/GlyphPage.h:

(WebCore::GlyphData::isValid): Return whether the GlyphData is valid.

12:54 AM Changeset in webkit [191566] by Carlos Garcia Campos
  • 24 edits in releases/WebKitGTK/webkit-2.10/Source

Merge r191381 - NetworkProcess: DNS prefetch happens in the Web Process
https://bugs.webkit.org/show_bug.cgi?id=147824

Reviewed by Chris Dumez.

Source/WebCore:

Use FrameLoaderClient to do the DNS prefetch.

  • html/HTMLAnchorElement.cpp:

(WebCore::HTMLAnchorElement::parseAttribute):

  • loader/EmptyClients.h:
  • loader/FrameLoaderClient.h:
  • loader/LinkLoader.cpp:

(WebCore::LinkLoader::loadLink):

  • page/Chrome.cpp:

(WebCore::Chrome::mouseDidMoveOverElement):

Source/WebKit/mac:

Implement FrameLoaderClient::prefetchDNS().

  • WebCoreSupport/WebFrameLoaderClient.h:
  • WebCoreSupport/WebFrameLoaderClient.mm:

Source/WebKit/win:

Implement FrameLoaderClient::prefetchDNS().

  • WebCoreSupport/WebFrameLoaderClient.cpp:

(WebFrameLoaderClient::prefetchDNS):

  • WebCoreSupport/WebFrameLoaderClient.h:

Source/WebKit2:

DNS prefetch requests started in the WebProcess should be sent to
the network process when it's enabled.

  • NetworkProcess/NetworkConnectionToWebProcess.cpp:

(WebKit::NetworkConnectionToWebProcess::prefetchDNS): Use NetworkProcess::prefetchDNS().

  • NetworkProcess/NetworkConnectionToWebProcess.h:
  • NetworkProcess/NetworkConnectionToWebProcess.messages.in: Add

PrefetchDNS message.

  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::prefetchDNS): Do the actual DNS prefetch.

  • NetworkProcess/NetworkProcess.h:
  • WebProcess/InjectedBundle/API/gtk/WebKitWebExtension.cpp:

(webkitWebExtensionDidReceiveMessage): Use WebProcess::prefetchDNS().

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::prefetchDNS): Use WebProcess::prefetchDNS().

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::sendTapHighlightForNodeIfNecessary): Use
FrameLoaderClient to do the DNS prefetch.

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::WebProcess): Initialize the DNS prefetched
hosts cleanup hysteresis activity. Clear the cache of DNS
prefetched when hysteresis activity stopped.
(WebKit::WebProcess::prefetchDNS): Send the request to the network
process if it's enabled, otherwise do the actual DNS prefetch.

  • WebProcess/WebProcess.h:
12:49 AM Changeset in webkit [191565] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.10/Source/WebCore

Merge r191357 - AX: CrashTracer: com.apple.WebKit.WebContent at com.apple.WebCore: WebCore::AccessibilityTable::tableElement const + 116
https://bugs.webkit.org/show_bug.cgi?id=150349

Reviewed by Brent Fulgham.

The crash point for this bug says that the parentElement of the firstBody is garbage when it's accessed.
Unfortunately, I could not reproduce this in-situ or with a test.
So my speculative solution is to recalculate those body elements to ensure that they're valid before we access.

  • accessibility/AccessibilityTable.cpp:

(WebCore::AccessibilityTable::tableElement):
(WebCore::AccessibilityTable::isDataTable):

12:47 AM Changeset in webkit [191564] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.10/Source/WebKit2

Merge r191341 - [UNIX] ASSERTION FAILED: m_shouldWaitForSyncReplies in Connection::connectionDidClose()
https://bugs.webkit.org/show_bug.cgi?id=150361

Reviewed by Martin Robinson.

It doesn't always happen because it depends on how sockets are
closed, and the state of the threads. The problem is that we are
not handling the case when the read fails because we closed the
connection. In that case we log the error and call
Connection::connectionDidClose(). But it was connectionDidClose()
the one closing the socket. So, in this particular case it's not an
error but a normal termination, and we shouldn't try to close the
connection again. Something similar can happen while sending a
message, and we get a broken pipe error, but in that case we are
only printing the error, so it's harmless.

  • Platform/IPC/unix/ConnectionUnix.cpp:

(IPC::Connection::readyReadHandler): Only print error and call
connectionDidClose() if we are still connected when read fails.
(IPC::Connection::sendOutgoingMessage): Only print error if we are
still connected when send fails.

12:44 AM Changeset in webkit [191563] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.10/Source/WebKit2

Merge r191338 - [GTK] Fix build for ENABLE_PLUGIN_PROCESS_GTK2=OFF
https://bugs.webkit.org/show_bug.cgi?id=150086

Reviewed by Darin Adler.

  • UIProcess/cairo/BackingStoreCairo.cpp:

(WebKit::BackingStore::createBackend):

12:43 AM Changeset in webkit [191562] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.10/Source/WebCore

Merge r191332 - ASSERTION FAILED: m_state == Initialized in SubresourceLoader::didReceiveResponse()
https://bugs.webkit.org/show_bug.cgi?id=150327

Reviewed by Antti Koivisto.

This is how it happens:

  1. print() is called while the document is still loading, so m_shouldPrintWhenFinishedLoading is set to true
  2. DataURLDecoder::decode() finishes in the work queue thread, the completion handler is scheduled in the main thread
  3. The load is cancelled 3.1. SubresourceLoader::willCancel sets m_state = Finishing 3.2. DOMWindow::finishedLoading() is called, and since

m_shouldPrintWhenFinishedLoading is true, it does the print.

3.3. Cancellation finishes and ResourceLoader::releaseResources()

is called that sets m_reachedTerminalState = true

So, between 3.1 and 3.3, the state is Finishing, but
m_reachedTerminalState is false. What happens, in the GTK+ port at
least, is that the nested main loop used to make print()
synchronous, processes the DataURLDecoder::decode() completion
handler that was pending. The completion handler returns early if
m_reachedTerminalState is true, but it's not yet in this
particular case. So, it ends up calling didReceiveResponse,
because the decode didn't fail, when the subresource loader state
is Finishing.

I think there are two things here. One is that we shouldn't start
a print that was waiting for the load to finish when it
failed. That would fix the problem. But it's probably a good idea
to also check for cancellation in the DataURLDecoder::decode()
completion handler.

Fixes printing/print-close-crash.html in GTK+ Debug.

  • loader/ResourceLoader.cpp:

(WebCore::ResourceLoader::loadDataURL): Return early from
DataURLDecoder::decode() completion handler if the load was cancelled.

  • page/DOMWindow.cpp:

(WebCore::DOMWindow::finishedLoading): Do not start a print that
was witing for the load to finish when it failed.

12:38 AM Changeset in webkit [191561] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.10/Source/WebKit2

Merge r191284 - [GTK] ASSERTION FAILED: parent in WebInspectorProxy::platformDetach()
https://bugs.webkit.org/show_bug.cgi?id=150319

Reviewed by Žan Doberšek.

This happens when the inspector is shown/closed very
quickly. Since we start the inspector attached by default, when
the web inspector is created m_isAttached is set to true, so that
when opened, it's attached to the view. If the inspector is closed
before it has been actually attached, the inspector view doesn't
have a parent, even if the m_isAttached is true. So, we should
handle this case instead of asserting. This is what happens in
test http/tests/xmlhttprequest/access-control-repeated-failed-preflight-crash.html.

  • UIProcess/gtk/WebInspectorProxyGtk.cpp:

(WebKit::WebInspectorProxy::platformDetach): Remove the view from
its parent container if it was actually attached.

12:37 AM Changeset in webkit [191560] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.10/Source/WebKit2

Merge r191272 - [GTK] Remove WebKitContextMenu related missing annotation warnings
https://bugs.webkit.org/show_bug.cgi?id=150299

Patch by Joonghun Park <jh718.park@samsung.com> on 2015-10-18
Reviewed by Darin Adler.

The warnings occur currently because when executing g-ir-scanner,
it doesn't consider WebKitContextMenu related .cpp files,
but only .h files.

  • PlatformGTK.cmake: Add WebKitContextMenu related cpp files.
12:34 AM Changeset in webkit [191559] by Carlos Garcia Campos
  • 3 edits
    2 adds in releases/WebKitGTK/webkit-2.10

Merge r191233 - Avoid to insert TAB before HTML element.
https://bugs.webkit.org/show_bug.cgi?id=149295
<rdar://problem/22746706>

Patch by Jiewen Tan <jiewen_tan@apple.com> on 2015-10-16
Reviewed by Ryosuke Niwa.

Source/WebCore:

This is a merge of Blink r175047:
https://codereview.chromium.org/306583005

This patch avoids InsertTextCommand::insertTab before HTML element because
we can't set Text node as document element.

Test: editing/execCommand/insert-tab-to-html-element-crash.html

  • editing/InsertTextCommand.cpp:

(WebCore::InsertTextCommand::insertTab):

LayoutTests:

  • editing/execCommand/insert-tab-to-html-element-crash-expected.txt: Added.
  • editing/execCommand/insert-tab-to-html-element-crash.html: Added.
12:30 AM Changeset in webkit [191558] by Carlos Garcia Campos
  • 6 edits in releases/WebKitGTK/webkit-2.10/Source/bmalloc

Merge r191196 - bmalloc: per-thread cache data structure should be smaller
https://bugs.webkit.org/show_bug.cgi?id=150218

Reviewed by Andreas Kling.

Reduce the number of entries in the range cache because it's really
big, and the bigness only helps in cases of serious fragmentation, and
it only saves us a little bit of lock acquisition time.

  • bmalloc/Allocator.cpp:

(bmalloc::Allocator::scavenge):
(bmalloc::Allocator::refillAllocatorSlowCase):
(bmalloc::Allocator::refillAllocator):
(bmalloc::Allocator::allocateLarge):
(bmalloc::Allocator::allocateSlowCase):
(bmalloc::Allocator::allocateBumpRangeSlowCase): Deleted.
(bmalloc::Allocator::allocateBumpRange): Deleted.

  • bmalloc/Allocator.h: Pass through the empty allocator and the range

cache when refilling, and refill both. Otherwise, we always immediately
pop the last item in the range cache, wasting that slot of capacity.

  • bmalloc/Heap.cpp:

(bmalloc::Heap::allocateSmallBumpRanges):
(bmalloc::Heap::allocateMediumBumpRanges): Account for the fact that
the range cache is no longer big enough to guarantee that it can hold
all the ranges in a page.

(bmalloc::Heap::refillSmallBumpRangeCache): Deleted.
(bmalloc::Heap::refillMediumBumpRangeCache): Deleted.

  • bmalloc/Heap.h: Move VMHeap to the end of the object because it

contains a lot of unused / wasted space, and we want to pack our data
together in memory.

  • bmalloc/Sizes.h: Make the range cache smaller.
12:28 AM Changeset in webkit [191557] by Carlos Garcia Campos
  • 10 edits
    2 adds in releases/WebKitGTK/webkit-2.10

Merge r191195 - First line box in paragraph using initial-letter overflows.
https://bugs.webkit.org/show_bug.cgi?id=147977
<rdar://problem/22901553>

Reviewed by David Hyatt.

When initial-letter float is present, we should shrink the first
line even if it's not intersected with the block's current height.
This is because of the sunken behaviour of initial-letter.

Source/WebCore:

Test: fast/css-generated-content/initial-letter-first-line-wrapping.html

  • rendering/RenderBlockFlow.h:
  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlockFlow::positionNewFloatOnLine):

  • rendering/line/BreakingContext.h:

(WebCore::BreakingContext::handleFloat):

  • rendering/line/LineBreaker.cpp:

(WebCore::LineBreaker::skipLeadingWhitespace):

  • rendering/line/LineBreaker.h:

(WebCore::LineBreaker::positionNewFloatOnLine):

  • rendering/line/LineWidth.cpp:

(WebCore::newFloatShrinksLine):
(WebCore::LineWidth::shrinkAvailableWidthForNewFloatIfNeeded):

  • rendering/line/LineWidth.h:

LayoutTests:

  • fast/css-generated-content/initial-letter-first-line-wrapping-expected.html: Added.
  • fast/css-generated-content/initial-letter-first-line-wrapping.html: Added.
  • platform/mac/fast/css-generated-content/initial-letter-basic-expected.txt: progression.
12:13 AM Changeset in webkit [191556] by Carlos Garcia Campos
  • 4 edits in releases/WebKitGTK/webkit-2.10/Source/WebCore

Merge r191174 - [GStreamer] ASSERTION FAILED: !m_adoptionIsRequired in MediaSourceGStreamer::addSourceBuffer
https://bugs.webkit.org/show_bug.cgi?id=150229

Reviewed by Philippe Normand.

This happens in the debug bot in all media source tests that run
that code. The problem is that we are creating a RefPtr without
adopting the reference.

  • platform/graphics/gstreamer/MediaSourceGStreamer.cpp:

(WebCore::MediaSourceGStreamer::addSourceBuffer): Use
SourceBufferPrivateGStreamer::create().

  • platform/graphics/gstreamer/SourceBufferPrivateGStreamer.cpp:

(WebCore::SourceBufferPrivateGStreamer::create): Added to make
sure you can't create a SourceBufferPrivateGStreamer without
adopting the reference.
(WebCore::SourceBufferPrivateGStreamer::SourceBufferPrivateGStreamer):
Takes a reference to the client instead of a PassRefPtr.

  • platform/graphics/gstreamer/SourceBufferPrivateGStreamer.h:
12:11 AM Changeset in webkit [191555] by Carlos Garcia Campos
  • 6 edits in releases/WebKitGTK/webkit-2.10

Merge r191132 - CSSKeyframesRule::appendRule is deprecated, but is actually the spec
https://bugs.webkit.org/show_bug.cgi?id=150113

Reviewed by Simon Fraser.

Source/WebCore:

I stupidly deprecated the wrong function in
http://trac.webkit.org/changeset/174469

  • css/CSSKeyframesRule.cpp:

(WebCore::CSSKeyframesRule::insertRule): Swap the code between these two.
(WebCore::CSSKeyframesRule::appendRule):

LayoutTests:

Update tests to deprecate the correct function.

  • animations/change-keyframes-expected.txt:
  • animations/keyframes-rule.html:
  • animations/unprefixed-keyframes-rule.html:

Oct 25, 2015:

11:40 PM Changeset in webkit [191554] by Carlos Garcia Campos
  • 18 edits in releases/WebKitGTK/webkit-2.10/Source/WebKit2

Merge r191340 - [GTK] Graphics corruption when entering/leaving AC mode quickly
https://bugs.webkit.org/show_bug.cgi?id=150323

Reviewed by Mario Sanchez Prada.

The UI process is notified when entering accelerated compositing
mode after the layers have been flushed and rendered to avoid
flickering. However, this is producing flickering in the GTK+
port, because we use an offscreen redirected window that is
resized to a minimium size to save memory when not in AC mode. The
web process always uses the current size of the redirected window,
so when entering AC mode, contents are rendered into the 1x1
window, then the UI process is notified, the redirected window is
resized to its actual size, and we force a resize to ask the web
process to render again, now at the correct size. Rendering at 1x1
and then resizing the window is what produces the flickering when
entering AC mode, but it's also inefficient, since we need to
render again after the redirected window is resized. So, this
patch adds a WillEnterAcceleratedCompositing message that is sent
to the UI process when the layer tree host is created but before
the contents have been composited and rendered. This is
implemented by the GTK+ port to prepare for entering AC mode, by
resizing the redirected window. When we actually enter AC mode,
the contents have already been rendered in the web process at the
correct size, so we can just use the redirected window surface
instead of the drawing area one, and paint in the web view without
any flickering. We no longer need the forceResize either.
When leaving accelerated compositing mode, we now clear the redirected
window resources after a short delay. This ensures that we have
already rendered the update sent in the ExitAcceleratedCompositingMode
message, but also that entering/leaving AC mode quickly doesn't
produce any redirected window resize.

  • UIProcess/API/gtk/PageClientImpl.cpp:

(WebKit::PageClientImpl::willEnterAcceleratedCompositingMode):

  • UIProcess/API/gtk/PageClientImpl.h:
  • UIProcess/API/gtk/WebKitWebViewBase.cpp:

(webkitWebViewBaseClearRedirectedWindowSoon):
(webkitWebViewBaseWillEnterAcceleratedCompositingMode):
(webkitWebViewBaseEnterAcceleratedCompositingMode):
(webkitWebViewBaseExitAcceleratedCompositingMode):

  • UIProcess/API/gtk/WebKitWebViewBasePrivate.h:
  • UIProcess/CoordinatedGraphics/WebView.h:
  • UIProcess/DrawingAreaProxy.h:

(WebKit::DrawingAreaProxy::willEnterAcceleratedCompositingMode):

  • UIProcess/DrawingAreaProxy.messages.in:
  • UIProcess/DrawingAreaProxyImpl.cpp:

(WebKit::DrawingAreaProxyImpl::willEnterAcceleratedCompositingMode):

  • UIProcess/DrawingAreaProxyImpl.h:

(WebKit::DrawingAreaProxyImpl::forceResize): Deleted.

  • UIProcess/PageClient.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::willEnterAcceleratedCompositingMode):

  • UIProcess/WebPageProxy.h:
  • UIProcess/ios/PageClientImplIOS.h:
  • UIProcess/ios/PageClientImplIOS.mm:

(WebKit::PageClientImpl::willEnterAcceleratedCompositingMode):

  • UIProcess/mac/PageClientImpl.h:
  • UIProcess/mac/PageClientImpl.mm:

(WebKit::PageClientImpl::willEnterAcceleratedCompositingMode):

  • WebProcess/WebPage/DrawingAreaImpl.cpp:

(WebKit::DrawingAreaImpl::enterAcceleratedCompositingMode):

11:29 PM Changeset in webkit [191553] by Hunseop Jeong
  • 18 edits in trunk/Source/WebCore

Use modern for-loops in WebCore/editing.
https://bugs.webkit.org/show_bug.cgi?id=150354

Reviewed by Darin Adler.

No new tests because there is no behavior change.

  • editing/AlternativeTextController.cpp:

(WebCore::AlternativeTextController::applyAlternativeTextToRange):
(WebCore::AlternativeTextController::applyAutocorrectionBeforeTypingIfAppropriate):
(WebCore::AlternativeTextController::rootViewRectForRange):
(WebCore::AlternativeTextController::markCorrection):

  • editing/ApplyStyleCommand.cpp:

(WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
(WebCore::dummySpanAncestorForNode):
(WebCore::ApplyStyleCommand::cleanupUnstyledAppleStyleSpans):
(WebCore::ApplyStyleCommand::splitAncestorsWithUnicodeBidi):
(WebCore::ApplyStyleCommand::applyInlineStyleToNodeRange):
(WebCore::ApplyStyleCommand::removeImplicitlyStyledElement):
(WebCore::ApplyStyleCommand::pushDownInlineStyleAroundNode):
(WebCore::ApplyStyleCommand::joinChildTextNodes):

  • editing/CompositeEditCommand.cpp:

(WebCore::EditCommandComposition::reapply):
(WebCore::EditCommandComposition::getNodesInCommand):
(WebCore::CompositeEditCommand::removeChildrenInRange):
(WebCore::CompositeEditCommand::removeNode):
(WebCore::copyMarkers):
(WebCore::CompositeEditCommand::replaceTextInNodePreservingMarkers):
(WebCore::CompositeEditCommand::deleteInsignificantText):

  • editing/DictationCommand.cpp:

(WebCore::DictationMarkerSupplier::addMarkersToTextNode):
(WebCore::DictationCommand::collectDictationAlternativesInRange):

  • editing/EditingStyle.cpp:

(WebCore::isEditingProperty):
(WebCore::EditingStyle::extractConflictingImplicitStyleOfAttributes):
(WebCore::EditingStyle::elementIsStyledSpanOrHTMLEquivalent):
(WebCore::EditingStyle::mergeInlineAndImplicitStyleOfElement):
(WebCore::styleFromMatchedRulesForElement):
(WebCore::diffTextDecorations):

  • editing/Editor.cpp:

(WebCore::Editor::setComposition):
(WebCore::Editor::markAndReplaceFor):

  • editing/EditorCommand.cpp:

(WebCore::createCommandMap):

  • editing/MarkupAccumulator.cpp:

(WebCore::MarkupAccumulator::totalLength):

  • editing/MergeIdenticalElementsCommand.cpp:

(WebCore::MergeIdenticalElementsCommand::doApply):
(WebCore::MergeIdenticalElementsCommand::doUnapply):

  • editing/ReplaceSelectionCommand.cpp:

(WebCore::ReplacementFragment::removeUnrenderedNodes):
(WebCore::ReplacementFragment::removeInterchangeNodes):
(WebCore::ReplaceSelectionCommand::removeRedundantStylesAndKeepStyleSpanInline):
(WebCore::removeHeadContents):

  • editing/SpellChecker.cpp:

(WebCore::SpellChecker::~SpellChecker):
(WebCore::SpellChecker::client):
(WebCore::SpellChecker::enqueueRequest):

  • editing/SplitElementCommand.cpp:

(WebCore::SplitElementCommand::executeApply):
(WebCore::SplitElementCommand::doApply):
(WebCore::SplitElementCommand::doUnapply):

  • editing/TextCheckingHelper.cpp:

(WebCore::TextCheckingHelper::findFirstMisspellingOrBadGrammar):
(WebCore::TextCheckingHelper::guessesForMisspelledOrUngrammaticalRange):

  • editing/WrapContentsInDummySpanCommand.cpp:

(WebCore::WrapContentsInDummySpanCommand::executeApply):
(WebCore::WrapContentsInDummySpanCommand::doUnapply):

  • editing/ios/EditorIOS.mm:

(WebCore::Editor::createFragmentAndAddResources):

  • editing/mac/EditorMac.mm:

(WebCore::Editor::WebContentReader::readFilenames):
(WebCore::Editor::createFragmentAndAddResources):

  • editing/markup.cpp:

(WebCore::completeURLs):

11:23 PM Changeset in webkit [191552] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

[EFL] Unreviewed gardening. some test expectations for media should be Failure.
https://bugs.webkit.org/show_bug.cgi?id=150495

Unreviewed, EFL gardening.

Some test expectations for media should be Failure.

Patch by Sun-woo Nam <sunny.nam@samsung.com> on 2015-10-25

  • platform/efl/TestExpectations:
9:57 PM Changeset in webkit [191551] by Simon Fraser
  • 17 edits
    6 adds in trunk

Support bezier paths in clip-path property
https://bugs.webkit.org/show_bug.cgi?id=149996

Reviewed by Darin Adler.

Source/WebCore:

Support path() in the -webkit-clip-path property, as specified in
https://drafts.csswg.org/css-shapes-2/#supported-basic-shapes

Added BasicShapePath and CSSBasicShapePath, which both represent the path
as a SVGPathByteStream and wind rule.

Make BasicShape::canBlend() a virtual function, and implement it on each subclass.
Make various BasicShape subclass function overrides private, other than windRule()
wich is called on derived classes in a few places.

Add SVGPathBlender::canBlendPaths() which returns true if the given paths can be
interpolated. Uses the same logic as blendAnimatedPath(), without doing any interpolation.

RenderElement::createsGroup() is fixed to have clip-path trigger a group,
which fixes rendering of clip-path with a descendant compositing layer.

Tests: compositing/masks/clip-path-composited-descendent.html

css3/masking/clip-path-with-path.html
transitions/clip-path-path-transitions.html

  • css/BasicShapeFunctions.cpp:

(WebCore::valueForBasicShape):
(WebCore::basicShapeForValue):

  • css/CSSBasicShapes.cpp:

(WebCore::CSSBasicShapePath::CSSBasicShapePath):
(WebCore::CSSBasicShapePath::pathData):
(WebCore::buildPathString):
(WebCore::CSSBasicShapePath::cssText):
(WebCore::CSSBasicShapePath::equals):

  • css/CSSBasicShapes.h:
  • css/CSSParser.cpp:

(WebCore::CSSParser::parseBasicShapePath):
(WebCore::CSSParser::parseBasicShape):

  • css/CSSParser.h:
  • rendering/RenderElement.h:

(WebCore::RenderElement::createsGroup):

  • rendering/style/BasicShapes.cpp:

(WebCore::BasicShapeCircle::canBlend):
(WebCore::BasicShapeEllipse::canBlend):
(WebCore::BasicShapePolygon::canBlend):
(WebCore::BasicShapePath::BasicShapePath):
(WebCore::BasicShapePath::path):
(WebCore::BasicShapePath::operator==):
(WebCore::BasicShapePath::canBlend):
(WebCore::BasicShapePath::blend):
(WebCore::BasicShapeInset::canBlend):
(WebCore::BasicShape::canBlend): Deleted.

  • rendering/style/BasicShapes.h:
  • svg/SVGPathBlender.cpp:

(WebCore::SVGPathBlender::addAnimatedPath):
(WebCore::SVGPathBlender::blendAnimatedPath):
(WebCore::SVGPathBlender::canBlendPaths):
(WebCore::SVGPathBlender::SVGPathBlender):
(WebCore::SVGPathBlender::blendMoveToSegment):
(WebCore::SVGPathBlender::blendLineToSegment):
(WebCore::SVGPathBlender::blendLineToHorizontalSegment):
(WebCore::SVGPathBlender::blendLineToVerticalSegment):
(WebCore::SVGPathBlender::blendCurveToCubicSegment):
(WebCore::SVGPathBlender::blendCurveToCubicSmoothSegment):
(WebCore::SVGPathBlender::blendCurveToQuadraticSegment):
(WebCore::SVGPathBlender::blendCurveToQuadraticSmoothSegment):
(WebCore::SVGPathBlender::blendArcToSegment):

  • svg/SVGPathBlender.h:
  • svg/SVGPathByteStream.h:

(WebCore::SVGPathByteStream::operator==):

  • svg/SVGPathUtilities.cpp:

(WebCore::canBlendSVGPathByteStreams):

  • svg/SVGPathUtilities.h:

LayoutTests:

Tests for compositing with clip-path and a composited descendant,
a ref test which tests clip-paths with evenodd, comparing to SVG rendering,
and a transition test to test path blendability.

  • compositing/masks/clip-path-composited-descendent-expected.txt: Added.
  • compositing/masks/clip-path-composited-descendent.html: Added.
  • css3/masking/clip-path-with-path-expected.html: Added.
  • css3/masking/clip-path-with-path.html: Added.
  • transitions/clip-path-path-transitions-expected.txt: Added.
  • transitions/clip-path-path-transitions.html: Added.
  • transitions/resources/transition-test-helpers.js: Add some basic parsing

support for paths.
(extractPathValues):
(parseClipPath):

  • transitions/svg-transitions-expected.txt:
12:06 PM Changeset in webkit [191550] by ap@apple.com
  • 2 edits in trunk/Tools

API tests fail on El Capitan after r191543
https://bugs.webkit.org/show_bug.cgi?id=150547

Reviewed by Dan Bernstein.

  • Scripts/run-api-tests: (listAllTests): Add appropriate arch arguments in one more place.
8:10 AM Changeset in webkit [191549] by yoon@igalia.com
  • 2 edits in trunk/Source/WebCore

[TexMap] Fix a misused flag for GstGL
https://bugs.webkit.org/show_bug.cgi?id=150545

Reviewed by Žan Doberšek.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:

(WebCore::MediaPlayerPrivateGStreamerBase::paintToTextureMapper):
We should pass TextureMapperGL::Flags to the TextureMapperGL::drawTexture instead of
BitmapTexture::Flags.

2:17 AM Changeset in webkit [191548] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebKit2

Unreviewed. Fix GTK+ build after r191543.

  • UIProcess/API/gtk/WebKitWebView.cpp:

(webkit_web_view_run_javascript):
(resourcesStreamReadCallback):

12:42 AM Changeset in webkit [191547] by youenn.fablet@crf.canon.fr
  • 3 edits in trunk/Source/WebCore

Use ImplementedAs for MediaDevices.getUserMediaFromJS
https://bugs.webkit.org/show_bug.cgi?id=150439

Reviewed by Darin Adler.

No change in behavior.

  • Modules/mediastream/MediaDevices.h: Removing getUserMediaFromJS C++ function.
  • Modules/mediastream/MediaDevices.idl: Marking getUserMediaFromJS as ImplementedAS=getUserMedia
12:39 AM Changeset in webkit [191546] by youenn.fablet@crf.canon.fr
  • 6 edits
    7 copies
    406 adds in trunk/LayoutTests

Import W3C XMLHttpRequest tests
https://bugs.webkit.org/show_bug.cgi?id=142163

Reviewed by Darin Adler.

LayoutTests/imported/w3c:

  • resources/ImportExpectations: skipping import of some XHR tests that are failing or timing out.
  • web-platform-tests/XMLHttpRequest/FormData-append-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/FormData-append.html: Added.
  • web-platform-tests/XMLHttpRequest/XMLHttpRequest-withCredentials-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/XMLHttpRequest-withCredentials.html: Added.
  • web-platform-tests/XMLHttpRequest/XMLHttpRequest-withCredentials.js: Added.

(test_withCredentials.):
(test_withCredentials):

  • web-platform-tests/XMLHttpRequest/XMLHttpRequest-withCredentials.worker.js: Added.
  • web-platform-tests/XMLHttpRequest/abort-after-receive-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/abort-after-receive.htm: Added.
  • web-platform-tests/XMLHttpRequest/abort-after-send-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/abort-after-send.htm: Added.
  • web-platform-tests/XMLHttpRequest/abort-after-timeout-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/abort-after-timeout.htm: Added.
  • web-platform-tests/XMLHttpRequest/abort-during-done-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/abort-during-done.htm: Added.
  • web-platform-tests/XMLHttpRequest/abort-during-open-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/abort-during-open.htm: Added.
  • web-platform-tests/XMLHttpRequest/abort-during-unsent-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/abort-during-unsent.htm: Added.
  • web-platform-tests/XMLHttpRequest/abort-during-upload-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/abort-during-upload.htm: Added.
  • web-platform-tests/XMLHttpRequest/abort-event-abort-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/abort-event-abort.htm: Added.
  • web-platform-tests/XMLHttpRequest/abort-event-listeners-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/abort-event-listeners.htm: Added.
  • web-platform-tests/XMLHttpRequest/abort-event-loadend-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/abort-event-loadend.htm: Added.
  • web-platform-tests/XMLHttpRequest/abort-event-order-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/abort-event-order.htm: Added.
  • web-platform-tests/XMLHttpRequest/abort-upload-event-abort-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/abort-upload-event-abort.htm: Added.
  • web-platform-tests/XMLHttpRequest/abort-upload-event-loadend-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/abort-upload-event-loadend.htm: Added.
  • web-platform-tests/XMLHttpRequest/anonymous-mode-unsupported-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/anonymous-mode-unsupported.htm: Added.
  • web-platform-tests/XMLHttpRequest/data-uri-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/data-uri.htm: Added.
  • web-platform-tests/XMLHttpRequest/event-abort-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/event-abort.htm: Added.
  • web-platform-tests/XMLHttpRequest/event-error-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/event-error.html: Added.
  • web-platform-tests/XMLHttpRequest/event-load-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/event-load.htm: Added.
  • web-platform-tests/XMLHttpRequest/event-loadend-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/event-loadend.htm: Added.
  • web-platform-tests/XMLHttpRequest/event-loadstart-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/event-loadstart.htm: Added.
  • web-platform-tests/XMLHttpRequest/event-progress-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/event-progress.htm: Added.
  • web-platform-tests/XMLHttpRequest/event-readystatechange-loaded-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/event-readystatechange-loaded.htm: Added.
  • web-platform-tests/XMLHttpRequest/event-timeout-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/event-timeout.htm: Added.
  • web-platform-tests/XMLHttpRequest/event-upload-progress-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/event-upload-progress.htm: Added.
  • web-platform-tests/XMLHttpRequest/folder.txt: Added.
  • web-platform-tests/XMLHttpRequest/formdata-blob-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/formdata-blob.htm: Added.
  • web-platform-tests/XMLHttpRequest/formdata-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/formdata.htm: Added.
  • web-platform-tests/XMLHttpRequest/getallresponseheaders-cookies-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/getallresponseheaders-cookies.htm: Added.
  • web-platform-tests/XMLHttpRequest/getallresponseheaders-status-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/getallresponseheaders-status.htm: Added.
  • web-platform-tests/XMLHttpRequest/getresponseheader-case-insensitive-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/getresponseheader-case-insensitive.htm: Added.
  • web-platform-tests/XMLHttpRequest/getresponseheader-chunked-trailer-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/getresponseheader-chunked-trailer.htm: Added.
  • web-platform-tests/XMLHttpRequest/getresponseheader-cookies-and-more-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/getresponseheader-cookies-and-more.htm: Added.
  • web-platform-tests/XMLHttpRequest/getresponseheader-error-state-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/getresponseheader-error-state.htm: Added.
  • web-platform-tests/XMLHttpRequest/getresponseheader-server-date-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/getresponseheader-server-date.htm: Added.
  • web-platform-tests/XMLHttpRequest/getresponseheader-special-characters-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/getresponseheader-special-characters.htm: Added.
  • web-platform-tests/XMLHttpRequest/getresponseheader-unsent-opened-state-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/getresponseheader-unsent-opened-state.htm: Added.
  • web-platform-tests/XMLHttpRequest/interfaces-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/interfaces.html: Added.
  • web-platform-tests/XMLHttpRequest/open-after-abort-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/open-after-abort.htm: Added.
  • web-platform-tests/XMLHttpRequest/open-after-setrequestheader-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/open-after-setrequestheader.htm: Added.
  • web-platform-tests/XMLHttpRequest/open-during-abort-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/open-during-abort.htm: Added.
  • web-platform-tests/XMLHttpRequest/open-method-bogus-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/open-method-bogus.htm: Added.
  • web-platform-tests/XMLHttpRequest/open-method-case-insensitive-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/open-method-case-insensitive.htm: Added.
  • web-platform-tests/XMLHttpRequest/open-method-case-sensitive-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/open-method-case-sensitive.htm: Added.
  • web-platform-tests/XMLHttpRequest/open-method-insecure-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/open-method-insecure.htm: Added.
  • web-platform-tests/XMLHttpRequest/open-method-responsetype-set-sync-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/open-method-responsetype-set-sync.htm: Added.
  • web-platform-tests/XMLHttpRequest/open-open-send-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/open-open-send.htm: Added.
  • web-platform-tests/XMLHttpRequest/open-open-sync-send-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/open-open-sync-send.htm: Added.
  • web-platform-tests/XMLHttpRequest/open-referer-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/open-referer.htm: Added.
  • web-platform-tests/XMLHttpRequest/open-send-open-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/open-send-open.htm: Added.
  • web-platform-tests/XMLHttpRequest/open-sync-open-send-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/open-sync-open-send.htm: Added.
  • web-platform-tests/XMLHttpRequest/open-url-about-blank-window-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/open-url-about-blank-window.htm: Added.
  • web-platform-tests/XMLHttpRequest/open-url-base-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/open-url-base-inserted-after-open-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/open-url-base-inserted-after-open.htm: Added.
  • web-platform-tests/XMLHttpRequest/open-url-base-inserted-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/open-url-base-inserted.htm: Added.
  • web-platform-tests/XMLHttpRequest/open-url-base.htm: Added.
  • web-platform-tests/XMLHttpRequest/open-url-bogus-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/open-url-bogus.htm: Added.
  • web-platform-tests/XMLHttpRequest/open-url-encoding-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/open-url-encoding.htm: Added.
  • web-platform-tests/XMLHttpRequest/open-url-fragment-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/open-url-fragment.htm: Added.
  • web-platform-tests/XMLHttpRequest/open-url-javascript-window-2-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/open-url-javascript-window-2.htm: Added.
  • web-platform-tests/XMLHttpRequest/open-url-javascript-window-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/open-url-javascript-window.htm: Added.
  • web-platform-tests/XMLHttpRequest/open-url-multi-window-2-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/open-url-multi-window-2.htm: Added.
  • web-platform-tests/XMLHttpRequest/open-url-multi-window-3-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/open-url-multi-window-3.htm: Added.
  • web-platform-tests/XMLHttpRequest/open-url-multi-window-4-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/open-url-multi-window-4.htm: Added.
  • web-platform-tests/XMLHttpRequest/open-url-multi-window-5-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/open-url-multi-window-5.htm: Added.
  • web-platform-tests/XMLHttpRequest/open-url-multi-window-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/open-url-multi-window.htm: Added.
  • web-platform-tests/XMLHttpRequest/open-url-worker-simple-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/open-url-worker-simple.htm: Added.
  • web-platform-tests/XMLHttpRequest/open-user-password-non-same-origin-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/open-user-password-non-same-origin.htm: Added.
  • web-platform-tests/XMLHttpRequest/overridemimetype-done-state-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/overridemimetype-done-state.htm: Added.
  • web-platform-tests/XMLHttpRequest/overridemimetype-headers-received-state-force-shiftjis-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/overridemimetype-headers-received-state-force-shiftjis.htm: Added.
  • web-platform-tests/XMLHttpRequest/overridemimetype-invalid-mime-type-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/overridemimetype-invalid-mime-type.htm: Added.
  • web-platform-tests/XMLHttpRequest/overridemimetype-loading-state-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/overridemimetype-loading-state.htm: Added.
  • web-platform-tests/XMLHttpRequest/overridemimetype-open-state-force-utf-8-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/overridemimetype-open-state-force-utf-8.htm: Added.
  • web-platform-tests/XMLHttpRequest/overridemimetype-open-state-force-xml-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/overridemimetype-open-state-force-xml.htm: Added.
  • web-platform-tests/XMLHttpRequest/overridemimetype-unsent-state-force-shiftjis-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/overridemimetype-unsent-state-force-shiftjis.htm: Added.
  • web-platform-tests/XMLHttpRequest/progress-events-response-data-gzip-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/progress-events-response-data-gzip.htm: Added.
  • web-platform-tests/XMLHttpRequest/readme.txt: Added.
  • web-platform-tests/XMLHttpRequest/resources/accept-language.py: Added.

(main):

  • web-platform-tests/XMLHttpRequest/resources/accept.py: Added.

(main):

  • web-platform-tests/XMLHttpRequest/resources/auth1/auth.py: Added.

(main):

  • web-platform-tests/XMLHttpRequest/resources/auth1/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/w3c-import.log.
  • web-platform-tests/XMLHttpRequest/resources/auth2/auth.py: Added.

(main):

  • web-platform-tests/XMLHttpRequest/resources/auth2/corsenabled.py: Added.

(main):

  • web-platform-tests/XMLHttpRequest/resources/auth2/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/w3c-import.log.
  • web-platform-tests/XMLHttpRequest/resources/auth3/auth.py: Added.

(main):

  • web-platform-tests/XMLHttpRequest/resources/auth3/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/w3c-import.log.
  • web-platform-tests/XMLHttpRequest/resources/auth4/auth.py: Added.

(main):

  • web-platform-tests/XMLHttpRequest/resources/auth4/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/w3c-import.log.
  • web-platform-tests/XMLHttpRequest/resources/auth5/auth.py: Added.

(main):

  • web-platform-tests/XMLHttpRequest/resources/auth5/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/w3c-import.log.
  • web-platform-tests/XMLHttpRequest/resources/auth6/auth.py: Added.

(main):

  • web-platform-tests/XMLHttpRequest/resources/auth6/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/w3c-import.log.
  • web-platform-tests/XMLHttpRequest/resources/authentication.py: Added.

(main):

  • web-platform-tests/XMLHttpRequest/resources/chunked.py: Added.

(main):

  • web-platform-tests/XMLHttpRequest/resources/conditional.py: Added.

(main):

  • web-platform-tests/XMLHttpRequest/resources/content.py: Added.

(main):

  • web-platform-tests/XMLHttpRequest/resources/corsenabled.py: Added.

(main):

  • web-platform-tests/XMLHttpRequest/resources/delay.py: Added.

(main):

  • web-platform-tests/XMLHttpRequest/resources/echo-method.py: Added.

(main):

  • web-platform-tests/XMLHttpRequest/resources/folder.txt: Added.
  • web-platform-tests/XMLHttpRequest/resources/form.py: Added.

(main):

  • web-platform-tests/XMLHttpRequest/resources/gzip.py: Added.

(main):

  • web-platform-tests/XMLHttpRequest/resources/headers.py: Added.

(main):

  • web-platform-tests/XMLHttpRequest/resources/image.gif: Added.
  • web-platform-tests/XMLHttpRequest/resources/img.jpg: Added.
  • web-platform-tests/XMLHttpRequest/resources/infinite-redirects.py: Added.

(main):

  • web-platform-tests/XMLHttpRequest/resources/init.htm: Added.
  • web-platform-tests/XMLHttpRequest/resources/inspect-headers.py: Added.

(main):

  • web-platform-tests/XMLHttpRequest/resources/invalid-utf8-html.py: Added.

(main):

  • web-platform-tests/XMLHttpRequest/resources/nocors/folder.txt: Added.
  • web-platform-tests/XMLHttpRequest/resources/nocors/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/w3c-import.log.
  • web-platform-tests/XMLHttpRequest/resources/redirect.py: Added.

(main):

  • web-platform-tests/XMLHttpRequest/resources/requri.py: Added.

(main):

  • web-platform-tests/XMLHttpRequest/resources/shift-jis-html.py: Added.

(main):

  • web-platform-tests/XMLHttpRequest/resources/status.py: Added.

(main):

  • web-platform-tests/XMLHttpRequest/resources/trickle.py: Added.

(main):

  • web-platform-tests/XMLHttpRequest/resources/upload.py: Added.

(main):

  • web-platform-tests/XMLHttpRequest/resources/utf16.txt: Added.
  • web-platform-tests/XMLHttpRequest/resources/w3c-import.log: Added.
  • web-platform-tests/XMLHttpRequest/resources/well-formed.xml: Added.
  • web-platform-tests/XMLHttpRequest/resources/win-1252-xml.py: Added.

(main):

  • web-platform-tests/XMLHttpRequest/resources/workerxhr-origin-referrer.js: Added.

(xhr.new.XMLHttpRequest.xhr.onreadystatechange):
(true.xhr.send.xhr2.new.XMLHttpRequest.xhr2.onreadystatechange):
(true.xhr2.send.xhr3.new.XMLHttpRequest.xhr3.onreadystatechange):

  • web-platform-tests/XMLHttpRequest/resources/workerxhr-simple.js: Added.

(xhr.new.XMLHttpRequest.xhr.onreadystatechange):

  • web-platform-tests/XMLHttpRequest/resources/xmlhttprequest-timeout-aborted.js: Added.
  • web-platform-tests/XMLHttpRequest/resources/xmlhttprequest-timeout-abortedonmain.js: Added.
  • web-platform-tests/XMLHttpRequest/resources/xmlhttprequest-timeout-overrides.js: Added.
  • web-platform-tests/XMLHttpRequest/resources/xmlhttprequest-timeout-overridesexpires.js: Added.
  • web-platform-tests/XMLHttpRequest/resources/xmlhttprequest-timeout-runner.js: Added.

(testResultCallbackHandler):

  • web-platform-tests/XMLHttpRequest/resources/xmlhttprequest-timeout-simple.js: Added.
  • web-platform-tests/XMLHttpRequest/resources/xmlhttprequest-timeout-synconmain.js: Added.
  • web-platform-tests/XMLHttpRequest/resources/xmlhttprequest-timeout-synconworker.js: Added.
  • web-platform-tests/XMLHttpRequest/resources/xmlhttprequest-timeout-twice.js: Added.
  • web-platform-tests/XMLHttpRequest/resources/xmlhttprequest-timeout.js: Added.

(catch):
(message):
(is):
(ok):
(RequestTracker):
(RequestTracker.prototype.handleEvent):
(RequestTracker.prototype.startXHR):
(RequestTracker.prototype.getMessage):
(AbortedRequest):
(AbortedRequest.prototype.handleEvent):
(AbortedRequest.prototype.abortReq):
(AbortedRequest.prototype.startXHR):
(AbortedRequest.prototype.noEventsFired):
(AbortedRequest.prototype.getMessage):
(SyncRequestSettingTimeoutAfterOpen.startXHR):
(SyncRequestSettingTimeoutBeforeOpen.startXHR):
(TestCounter.testComplete):
(TestCounter.next):
(runTestRequests):

  • web-platform-tests/XMLHttpRequest/resources/zlib.py: Added.

(main):

  • web-platform-tests/XMLHttpRequest/response-data-arraybuffer-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/response-data-arraybuffer.htm: Added.
  • web-platform-tests/XMLHttpRequest/response-data-blob-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/response-data-blob.htm: Added.
  • web-platform-tests/XMLHttpRequest/response-data-deflate-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/response-data-deflate.htm: Added.
  • web-platform-tests/XMLHttpRequest/response-data-gzip-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/response-data-gzip.htm: Added.
  • web-platform-tests/XMLHttpRequest/response-data-progress-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/response-data-progress.htm: Added.
  • web-platform-tests/XMLHttpRequest/response-invalid-responsetype-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/response-invalid-responsetype.htm: Added.
  • web-platform-tests/XMLHttpRequest/response-json-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/response-json.htm: Added.
  • web-platform-tests/XMLHttpRequest/response-method-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/response-method.htm: Added.
  • web-platform-tests/XMLHttpRequest/responseText-status-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/responseText-status.html: Added.
  • web-platform-tests/XMLHttpRequest/responsetext-decoding-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/responsetext-decoding.htm: Added.
  • web-platform-tests/XMLHttpRequest/responsetype-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/responsetype.html: Added.
  • web-platform-tests/XMLHttpRequest/responsexml-basic-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/responsexml-basic.htm: Added.
  • web-platform-tests/XMLHttpRequest/responsexml-document-properties-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/responsexml-document-properties.htm: Added.
  • web-platform-tests/XMLHttpRequest/responsexml-media-type-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/responsexml-media-type.htm: Added.
  • web-platform-tests/XMLHttpRequest/responsexml-non-document-types-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/responsexml-non-document-types.htm: Added.
  • web-platform-tests/XMLHttpRequest/responsexml-non-well-formed-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/responsexml-non-well-formed.htm: Added.
  • web-platform-tests/XMLHttpRequest/security-consideration.sub-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/security-consideration.sub.html: Added.
  • web-platform-tests/XMLHttpRequest/send-accept-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/send-accept-language-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/send-accept-language.htm: Added.
  • web-platform-tests/XMLHttpRequest/send-accept.htm: Added.
  • web-platform-tests/XMLHttpRequest/send-authentication-cors-basic-setrequestheader-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/send-authentication-cors-basic-setrequestheader.htm: Added.
  • web-platform-tests/XMLHttpRequest/send-conditional-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/send-conditional.htm: Added.
  • web-platform-tests/XMLHttpRequest/send-content-type-charset-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/send-content-type-charset.htm: Added.
  • web-platform-tests/XMLHttpRequest/send-content-type-string-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/send-content-type-string.htm: Added.
  • web-platform-tests/XMLHttpRequest/send-data-arraybuffer-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/send-data-arraybuffer.htm: Added.
  • web-platform-tests/XMLHttpRequest/send-data-blob-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/send-data-blob.htm: Added.
  • web-platform-tests/XMLHttpRequest/send-data-es-object-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/send-data-es-object.htm: Added.
  • web-platform-tests/XMLHttpRequest/send-data-formdata-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/send-data-formdata.htm: Added.
  • web-platform-tests/XMLHttpRequest/send-data-unexpected-tostring-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/send-data-unexpected-tostring.htm: Added.
  • web-platform-tests/XMLHttpRequest/send-entity-body-document-bogus-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/send-entity-body-document-bogus.htm: Added.
  • web-platform-tests/XMLHttpRequest/send-entity-body-document-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/send-entity-body-document.htm: Added.
  • web-platform-tests/XMLHttpRequest/send-entity-body-empty-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/send-entity-body-empty.htm: Added.
  • web-platform-tests/XMLHttpRequest/send-entity-body-get-head-async-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/send-entity-body-get-head-async.htm: Added.
  • web-platform-tests/XMLHttpRequest/send-entity-body-get-head-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/send-entity-body-get-head.htm: Added.
  • web-platform-tests/XMLHttpRequest/send-entity-body-none-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/send-entity-body-none.htm: Added.
  • web-platform-tests/XMLHttpRequest/send-network-error-sync-events.sub-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/send-network-error-sync-events.sub.htm: Added.
  • web-platform-tests/XMLHttpRequest/send-no-response-event-loadend-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/send-no-response-event-loadend.htm: Added.
  • web-platform-tests/XMLHttpRequest/send-no-response-event-loadstart-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/send-no-response-event-loadstart.htm: Added.
  • web-platform-tests/XMLHttpRequest/send-no-response-event-order-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/send-no-response-event-order.htm: Added.
  • web-platform-tests/XMLHttpRequest/send-non-same-origin.sub-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/send-non-same-origin.sub.htm: Added.
  • web-platform-tests/XMLHttpRequest/send-receive-utf16-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/send-receive-utf16.htm: Added.
  • web-platform-tests/XMLHttpRequest/send-redirect-bogus-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/send-redirect-bogus-sync-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/send-redirect-bogus-sync.htm: Added.
  • web-platform-tests/XMLHttpRequest/send-redirect-bogus.htm: Added.
  • web-platform-tests/XMLHttpRequest/send-redirect-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/send-redirect-infinite-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/send-redirect-infinite-sync-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/send-redirect-infinite-sync.htm: Added.
  • web-platform-tests/XMLHttpRequest/send-redirect-infinite.htm: Added.
  • web-platform-tests/XMLHttpRequest/send-redirect-no-location-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/send-redirect-no-location.htm: Added.
  • web-platform-tests/XMLHttpRequest/send-redirect-to-cors-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/send-redirect-to-cors.htm: Added.
  • web-platform-tests/XMLHttpRequest/send-redirect-to-non-cors-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/send-redirect-to-non-cors.htm: Added.
  • web-platform-tests/XMLHttpRequest/send-redirect.htm: Added.
  • web-platform-tests/XMLHttpRequest/send-response-event-order-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/send-response-event-order.htm: Added.
  • web-platform-tests/XMLHttpRequest/send-response-upload-event-loadend-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/send-response-upload-event-loadend.htm: Added.
  • web-platform-tests/XMLHttpRequest/send-response-upload-event-loadstart-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/send-response-upload-event-loadstart.htm: Added.
  • web-platform-tests/XMLHttpRequest/send-response-upload-event-progress-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/send-response-upload-event-progress.htm: Added.
  • web-platform-tests/XMLHttpRequest/send-send-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/send-send.htm: Added.
  • web-platform-tests/XMLHttpRequest/send-sync-blocks-async-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/send-sync-blocks-async.htm: Added.
  • web-platform-tests/XMLHttpRequest/send-sync-no-response-event-load-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/send-sync-no-response-event-load.htm: Added.
  • web-platform-tests/XMLHttpRequest/send-sync-no-response-event-loadend-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/send-sync-no-response-event-loadend.htm: Added.
  • web-platform-tests/XMLHttpRequest/send-sync-no-response-event-order-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/send-sync-no-response-event-order.htm: Added.
  • web-platform-tests/XMLHttpRequest/send-sync-response-event-order-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/send-sync-response-event-order.htm: Added.
  • web-platform-tests/XMLHttpRequest/send-sync-timeout-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/send-sync-timeout.htm: Added.
  • web-platform-tests/XMLHttpRequest/send-timeout-events-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/send-timeout-events.htm: Added.
  • web-platform-tests/XMLHttpRequest/send-usp-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/send-usp.html: Added.
  • web-platform-tests/XMLHttpRequest/send-usp.js: Added.

(encode):
(do_test.):

  • web-platform-tests/XMLHttpRequest/send-usp.worker.js: Added.
  • web-platform-tests/XMLHttpRequest/setrequestheader-after-send-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/setrequestheader-after-send.htm: Added.
  • web-platform-tests/XMLHttpRequest/setrequestheader-allow-empty-value-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/setrequestheader-allow-empty-value.htm: Added.
  • web-platform-tests/XMLHttpRequest/setrequestheader-allow-whitespace-in-value-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/setrequestheader-allow-whitespace-in-value.htm: Added.
  • web-platform-tests/XMLHttpRequest/setrequestheader-before-open-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/setrequestheader-before-open.htm: Added.
  • web-platform-tests/XMLHttpRequest/setrequestheader-bogus-name-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/setrequestheader-bogus-name.htm: Added.
  • web-platform-tests/XMLHttpRequest/setrequestheader-bogus-value-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/setrequestheader-bogus-value.htm: Added.
  • web-platform-tests/XMLHttpRequest/setrequestheader-case-insensitive-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/setrequestheader-case-insensitive.htm: Added.
  • web-platform-tests/XMLHttpRequest/setrequestheader-content-type-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/setrequestheader-content-type.htm: Added.
  • web-platform-tests/XMLHttpRequest/setrequestheader-header-allowed-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/setrequestheader-header-allowed.htm: Added.
  • web-platform-tests/XMLHttpRequest/setrequestheader-header-forbidden-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/setrequestheader-header-forbidden.htm: Added.
  • web-platform-tests/XMLHttpRequest/setrequestheader-open-setrequestheader-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/setrequestheader-open-setrequestheader.htm: Added.
  • web-platform-tests/XMLHttpRequest/status-async-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/status-async.htm: Added.
  • web-platform-tests/XMLHttpRequest/status-basic-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/status-basic.htm: Added.
  • web-platform-tests/XMLHttpRequest/status-error-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/status-error.htm: Added.
  • web-platform-tests/XMLHttpRequest/timeout-cors-async-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/timeout-cors-async.htm: Added.
  • web-platform-tests/XMLHttpRequest/timeout-sync-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/timeout-sync.htm: Added.
  • web-platform-tests/XMLHttpRequest/w3c-import.log: Added.
  • web-platform-tests/XMLHttpRequest/xmlhttprequest-basic-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/xmlhttprequest-basic.htm: Added.
  • web-platform-tests/XMLHttpRequest/xmlhttprequest-eventtarget-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/xmlhttprequest-eventtarget.htm: Added.
  • web-platform-tests/XMLHttpRequest/xmlhttprequest-network-error-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/xmlhttprequest-network-error-sync-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/xmlhttprequest-network-error-sync.htm: Added.
  • web-platform-tests/XMLHttpRequest/xmlhttprequest-network-error.htm: Added.
  • web-platform-tests/XMLHttpRequest/xmlhttprequest-timeout-aborted-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/xmlhttprequest-timeout-aborted.html: Added.
  • web-platform-tests/XMLHttpRequest/xmlhttprequest-timeout-abortedonmain-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/xmlhttprequest-timeout-abortedonmain.html: Added.
  • web-platform-tests/XMLHttpRequest/xmlhttprequest-timeout-overrides-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/xmlhttprequest-timeout-overrides.html: Added.
  • web-platform-tests/XMLHttpRequest/xmlhttprequest-timeout-overridesexpires-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/xmlhttprequest-timeout-overridesexpires.html: Added.
  • web-platform-tests/XMLHttpRequest/xmlhttprequest-timeout-simple-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/xmlhttprequest-timeout-simple.html: Added.
  • web-platform-tests/XMLHttpRequest/xmlhttprequest-timeout-synconmain-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/xmlhttprequest-timeout-synconmain.html: Added.
  • web-platform-tests/XMLHttpRequest/xmlhttprequest-timeout-twice-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/xmlhttprequest-timeout-twice.html: Added.
  • web-platform-tests/XMLHttpRequest/xmlhttprequest-timeout-worker-aborted-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/xmlhttprequest-timeout-worker-aborted.html: Added.
  • web-platform-tests/XMLHttpRequest/xmlhttprequest-timeout-worker-overrides-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/xmlhttprequest-timeout-worker-overrides.html: Added.
  • web-platform-tests/XMLHttpRequest/xmlhttprequest-timeout-worker-overridesexpires-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/xmlhttprequest-timeout-worker-overridesexpires.html: Added.
  • web-platform-tests/XMLHttpRequest/xmlhttprequest-timeout-worker-simple-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/xmlhttprequest-timeout-worker-simple.html: Added.
  • web-platform-tests/XMLHttpRequest/xmlhttprequest-timeout-worker-synconworker-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/xmlhttprequest-timeout-worker-synconworker.html: Added.
  • web-platform-tests/XMLHttpRequest/xmlhttprequest-timeout-worker-twice-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/xmlhttprequest-timeout-worker-twice.html: Added.
  • web-platform-tests/XMLHttpRequest/xmlhttprequest-unsent-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/xmlhttprequest-unsent.htm: Added.
  • web-platform-tests/w3c-import.log:

LayoutTests:

  • TestExpectations: Marking xhr timeout tests as slow.
  • platform/gtk/TestExpectations: Marking some XHR tests as failing.timing out.

Oct 24, 2015:

10:59 PM Changeset in webkit [191545] by timothy_horton@apple.com
  • 11 edits
    5 adds in trunk

Add a way to add user style sheets to WKUserContentController
https://bugs.webkit.org/show_bug.cgi?id=150531
<rdar://problem/23191691>

Reviewed by Darin Adler.

  • Shared/API/APIObject.h:
  • Shared/Cocoa/APIObject.mm:

(API::Object::newObject):
Boilerplate for a new API::UserStyleSheet.

  • UIProcess/API/APIUserStyleSheet.cpp: Added.

(API::generateIdentifier):
(API::UserStyleSheet::generateUniqueURL):

  • UIProcess/API/APIUserStyleSheet.h: Added.

Added API::UserStyleSheet, borrowing URL generation code from API::UserScript.

  • UIProcess/API/Cocoa/WKUserContentController.mm:

(-[WKUserContentController _addUserStyleSheet:]):
(-[WKUserContentController _removeAllUserStyleSheets]):
Forward add and remove-all to WebUserContentControllerProxy.

  • UIProcess/API/Cocoa/WKUserContentControllerPrivate.h:
  • UIProcess/API/Cocoa/_WKUserStyleSheet.h: Added.
  • UIProcess/API/Cocoa/_WKUserStyleSheet.mm: Added.

(toWTFStrings):
(-[_WKUserStyleSheet initWithSource:whitelistedURLPatterns:blacklistedURLPatterns:forMainFrameOnly:]):
(-[_WKUserStyleSheet source]):
(-[_WKUserStyleSheet isForMainFrameOnly]):
(-[_WKUserStyleSheet copyWithZone:]):
(-[_WKUserStyleSheet _apiObject]):

  • UIProcess/API/Cocoa/_WKUserStyleSheetInternal.h: Added.

(API::wrapper):

  • WebKit2.xcodeproj/project.pbxproj:

Add the new modern API object (as SPI for now).

  • TestWebKitAPI/Tests/WebKit2Cocoa/UserContentController.mm:

(TEST):

10:41 PM Changeset in webkit [191544] by yoon@igalia.com
  • 3 edits in trunk/Source/WebCore

Remove setApplyDeviceScaleFactorInCompositor
https://bugs.webkit.org/show_bug.cgi?id=150538

Reviewed by Tim Horton.

It was used to support the device scale factor for chromium port and blackberry
port. But it was removed quite a while ago.

  • page/Settings.in:

applyDeviceScaleFactorInCompositor: Deleted

  • platform/graphics/texmap/coordinated/CompositingCoordinator.cpp:

(WebCore::CompositingCoordinator::CompositingCoordinator): Remove uses
of applyDeviceScaleFactorInCompositor.

10:37 PM Changeset in webkit [191543] by timothy_horton@apple.com
  • 20 edits in trunk

Expose more information about the exception in WKErrorJavaScriptExceptionOccurred errors
https://bugs.webkit.org/show_bug.cgi?id=150525

Reviewed by Darin Adler.

Adjusted API test to cover this: WKWebView.EvaluateJavaScriptErrorCases.

  • bindings/js/JSDOMBinding.cpp:

(WebCore::reportException):

  • bindings/js/JSDOMBinding.h:

Fill in the given struct with computed exception data if it was given.

  • bindings/js/ScriptController.cpp:

(WebCore::ScriptController::evaluateInWorld):
(WebCore::ScriptController::evaluate):
(WebCore::ScriptController::executeScript):

  • bindings/js/ScriptController.h:

Plumb aforementioned struct through ScriptController.

  • Scripts/webkit/messages.py:

(headers_for_type):

  • Shared/WebCoreArgumentCoders.cpp:

(IPC::ArgumentCoder<ExceptionDetails>::encode):
(IPC::ArgumentCoder<ExceptionDetails>::decode):

  • Shared/WebCoreArgumentCoders.h:

Learn how to en/decode ExceptionDetails.

  • UIProcess/API/C/WKPage.cpp:

(WKPageRunJavaScriptInMainFrame):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::runJavaScriptInMainFrame):
(WebKit::WebPageProxy::scriptValueCallback):

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::runJavaScriptInMainFrame):
Plumb ExceptionDetails back through runJavaScriptInMainFrame, across the
process boundary.

  • UIProcess/API/Cocoa/WKError.mm:

(localizedDescriptionForErrorCode):

  • UIProcess/API/Cocoa/WKErrorInternal.h:
  • UIProcess/API/Cocoa/WKErrorPrivate.h:

Expose localizedDescriptionForErrorCode so that WKWebView can do special
things with its error.
Add new private userInfo keys for exception info.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView evaluateJavaScript:completionHandler:]):
Fill in the NSError userInfo with the exception info.

  • TestWebKitAPI/Tests/WebKit2Cocoa/WKWebViewEvaluateJavaScript.mm:

(TEST):
Test the various new keys.

8:20 PM Changeset in webkit [191542] by ap@apple.com
  • 2 edits in trunk/LayoutTests

Add a test expectation for imported/blink/transitions/unprefixed-perspective.html
https://bugs.webkit.org/show_bug.cgi?id=150541

7:23 PM Changeset in webkit [191541] by yoon@igalia.com
  • 5 edits in trunk/Source/WebCore

[TexMap] Clean up BitmapTexture and BitmapTextureGL.
https://bugs.webkit.org/show_bug.cgi?id=143298

Reviewed by Žan Doberšek.

No new tests, this is just a refactor.

  • platform/graphics/texmap/BitmapTexture.h:

(WebCore::BitmapTexture::canReuseWith): Deleted.
Reuseability of a BitmapTexture is only decided by its size.
We can use size() instead of this method.

  • platform/graphics/texmap/BitmapTextureGL.h:

(WebCore::driverSupportsExternalTextureBGRA): Deleted.
We do not have to check a suitable texture format in every
update/reset. It is enough to store the formats in construction time
and reuse them.

6:33 PM Changeset in webkit [191540] by Simon Fraser
  • 3 edits
    2 adds in trunk

REGRESSION (r187121): Delayed instantaneous animations not honouring ' forwards' fill-mode
https://bugs.webkit.org/show_bug.cgi?id=150326

Reviewed by Darin Adler.

Source/WebCore:

With a zero-duration, delayed fill-forwards animation, we'd end up trying
to interpolate between the last and first keyframes, and picking the first
because AnimationBase::progress() had a special case for zero duration. Removing
this check fixes the bug.

Test: animations/fill-mode-forwards-zero-duration.html

  • page/animation/AnimationBase.cpp:

(WebCore::AnimationBase::progress):

LayoutTests:

Test with a zero-duration, delayed fill-forwards animation.

  • animations/fill-mode-forwards-zero-duration-expected.txt: Added.
  • animations/fill-mode-forwards-zero-duration.html: Added.
5:51 PM Changeset in webkit [191539] by Nikita Vasilyev
  • 2 edits in trunk/Source/WebInspectorUI

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

Reverted changeset:

"Web Inspector: Autocompletion previews in the CSS sidebar do not apply"
https://bugs.webkit.org/show_bug.cgi?id=147720
http://trac.webkit.org/changeset/191419

4:36 PM Changeset in webkit [191538] by fred.wang@free.fr
  • 3 edits in trunk/Tools

check-webkit-style complains about missing operator whitespace inside character literal
https://bugs.webkit.org/show_bug.cgi?id=150396

Reviewed by Darin Adler.

  • Scripts/webkitpy/style/checkers/cpp.py: Improve matching of C++ character literal.
  • Scripts/webkitpy/style/checkers/cpp_unittest.py:

(WebKitStyleTest.test_spacing): Add a test to verify that the spacing for the character literal 'OS/2' is not tested.

2:39 PM Changeset in webkit [191537] by BJ Burg
  • 5 edits in trunk/Source/JavaScriptCore

Teach create_hash_table to omit builtins macros when generating tables for native-only objects
https://bugs.webkit.org/show_bug.cgi?id=150491

Reviewed by Yusuke Suzuki.

In order to support separate compilation for generated builtins files, we need to be able to
include specific builtins headers from generated .lut.h files. However, the create_hash_table
script isn't smart enough to figure out when a generated file might actually contain a builtin.
Without further help, we'd have to include an all-in-one header, mostly defeating the point of
generating separate .h and .cpp files for every builtin.

This patch segregates the pure native and partially builtin sources in the build system, and
gives hints to create_hash_table so that it doesn't even generate checks for builtins if the
input file has no builtin method implementations. Also do some modernization and code cleanup.

  • CMakeLists.txt:

Generate each group with different flags to create_hash_table. Change the macro to take
flags through the variable LUT_GENERATOR_FLAGS. Set this as necessary before calling macro.
Add an additional hint to CMake that the .cpp source file depends on the generated file.

  • DerivedSources.make:

Generate each group with different flags to create_hash_table. Clean up the 'all' target
so that static dependencies are listed first. Use static patterns to decide which .lut.h
files require which flags. Reduce fragile usages of implicit variables.

Add some missing .lut.h files to the Derived Sources group. Sort the project.

  • create_hash_table:

Parse options in a sane way using GetOpt::Long. Remove ability to specify a custom namespace
since this isn't actually used anywhere. Normalize placement of newlines in quoted strings.
Only generate builtins macros and includes if the source file is known to have some builtins.

1:04 PM Changeset in webkit [191536] by Gyuyoung Kim
  • 2 edits in trunk/Source/WebKit2

[EFL] Fix a wrong enum variable use
https://bugs.webkit.org/show_bug.cgi?id=150522

Reviewed by Csaba Osztrogonác.

  • UIProcess/API/efl/EwkView.cpp:

(EwkView::requestPopupMenu):
Use kWKPopupItemTextDirectionLTR instead of EWK_TEXT_DIRECTION_LEFT_TO_RIGHT.

8:57 AM Changeset in webkit [191535] by mitz@apple.com
  • 3 edits in trunk/Source/WebKit2

[Cocoa] _WKFormInputSession should provide access to the focused element info
https://bugs.webkit.org/show_bug.cgi?id=150512

Reviewed by Tim Horton.

  • UIProcess/API/Cocoa/_WKFormInputSession.h: Added focusedElementInfo property to the protocol.
  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKFormInputSession initWithContentView:focusedElementInfo:userObject:]): Added the

focusedElementInfo argument, used to initialize a new ivar.

(-[WKFormInputSession focusedElementInfo]): Added this getter for the new

_WKFormInputSession property.

(-[WKContentView _startAssistingNode:userIsInteracting:blurPreviousNode:userObject:]):

Create the WKFocusedElementInfo unconditionally and pass it to the new WKFormInputSession
initializer.

8:54 AM Changeset in webkit [191534] by mitz@apple.com
  • 3 edits in trunk/Source/WebKit2

[iOS] Allow clients to specify a custom input view to be used for a form input session
https://bugs.webkit.org/show_bug.cgi?id=150395

Reviewed by Tim Horton.

  • UIProcess/API/Cocoa/_WKFormInputSession.h: Added customInputView property to the protocol.
  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKFormInputSession customInputView]): Added this getter.
(-[WKFormInputSession setCustomInputView:]): Added this setter, which reloads the input

views when the custom input view changes.

(-[WKContentView inputView]): Changed to return the custom view from the input session if

there is one.

Oct 23, 2015:

10:53 PM Changeset in webkit [191533] by Chris Dumez
  • 13 edits in trunk

RadioNodeList should be exposed on Window
https://bugs.webkit.org/show_bug.cgi?id=148869
<rdar://problem/22589828>

Reviewed by Ryosuke Niwa.

LayoutTests/imported/w3c:

Rebaseline existing W3C tests now that more checks are passing.

  • web-platform-tests/html/dom/interfaces-expected.txt:
  • web-platform-tests/html/semantics/forms/the-form-element/form-elements-nameditem-01-expected.txt:

Source/WebCore:

RadioNodeList should be exposed on on the global Window object, as per
the HTML specification:
https://html.spec.whatwg.org/multipage/infrastructure.html#radionodelist

This patch addresses the issue, and aligns our behavior with Firefox
and Chrome.

No new tests, already covered by existing tests.

  • html/RadioNodeList.idl:

LayoutTests:

Rebaseline existing layout test now that RadioNodeList is exposed on the
global Window object.

  • js/dom/global-constructors-attributes-expected.txt:
  • platform/efl/js/dom/global-constructors-attributes-expected.txt:
  • platform/gtk/js/dom/global-constructors-attributes-expected.txt:
  • platform/mac-mavericks/js/dom/global-constructors-attributes-expected.txt:
  • platform/mac-yosemite/js/dom/global-constructors-attributes-expected.txt:
  • platform/mac/js/dom/global-constructors-attributes-expected.txt:
  • platform/win/js/dom/global-constructors-attributes-expected.txt:
8:58 PM Changeset in webkit [191532] by commit-queue@webkit.org
  • 15 edits in trunk/Source

Web Inspector: Remove unused ScrollLayer Timeline EventType
https://bugs.webkit.org/show_bug.cgi?id=150518

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-10-23
Reviewed by Timothy Hatcher.

Source/JavaScriptCore:

  • inspector/protocol/Timeline.json:

Source/WebCore:

  • inspector/InspectorInstrumentation.cpp:

(WebCore::InspectorInstrumentation::willScrollLayerImpl): Deleted.
(WebCore::InspectorInstrumentation::didScrollLayerImpl): Deleted.

  • inspector/InspectorInstrumentation.h:

(WebCore::InspectorInstrumentation::willScrollLayer): Deleted.
(WebCore::InspectorInstrumentation::didScrollLayer): Deleted.

  • inspector/InspectorTimelineAgent.cpp:

(WebCore::InspectorTimelineAgent::willScroll): Deleted.
(WebCore::InspectorTimelineAgent::didScroll): Deleted.

  • inspector/InspectorTimelineAgent.h:
  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::scrollTo): Deleted.

Source/WebInspectorUI:

  • UserInterface/Protocol/Legacy/7.0/InspectorBackendCommands.js:
  • UserInterface/Protocol/Legacy/8.0/InspectorBackendCommands.js:
  • UserInterface/Protocol/Legacy/9.0/InspectorBackendCommands.js:
  • Versions/Inspector-iOS-7.0.json:
  • Versions/Inspector-iOS-8.0.json:
  • Versions/Inspector-iOS-9.0.json:
8:56 PM Changeset in webkit [191531] by commit-queue@webkit.org
  • 24 edits
    1 delete in trunk/Source

Web Inspector: Clean up InspectorInstrumentation includes
https://bugs.webkit.org/show_bug.cgi?id=150523

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-10-23
Reviewed by Timothy Hatcher.

Source/JavaScriptCore:

  • inspector/agents/InspectorConsoleAgent.cpp:

(Inspector::InspectorConsoleAgent::consoleMessageArgumentCounts): Deleted.

  • inspector/agents/InspectorConsoleAgent.h:

Source/WebCore:

  • Modules/webdatabase/DatabaseManager.cpp:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • css/MediaQueryEvaluator.cpp:
  • dom/EventDispatcher.cpp:
  • dom/ExtensionStyleSheets.cpp:
  • inspector/InspectorController.h:
  • inspector/InspectorDOMDebuggerAgent.cpp:
  • inspector/InspectorDatabaseInstrumentation.h: Removed.
  • inspector/InspectorInstrumentation.h:

(WebCore::InspectorInstrumentation::didOpenDatabase):

  • inspector/InspectorPageAgent.cpp:
  • inspector/InspectorTimelineAgent.cpp:

(WebCore::toProtocol): Deleted.

  • loader/ResourceLoadScheduler.cpp:
  • loader/mac/ResourceLoaderMac.mm:
  • page/Screen.cpp:
  • rendering/TextAutosizer.cpp:
  • testing/Internals.cpp:

(WebCore::Internals::consoleMessageArgumentCounts): Deleted.

  • testing/Internals.h:
  • testing/Internals.idl:
  • workers/AbstractWorker.cpp:
6:45 PM Changeset in webkit [191530] by msaboff@apple.com
  • 16 edits
    3 adds in trunk

REGRESSION (r179357-r179359): WebContent Crash using AOL Mail @ com.apple.JavascriptCore JSC::linkPolymorphicCall(JSC::ExecState*, JSC::CallLinkInfo&, JSC::CallVariant, JSC::RegisterPreservationMode) + 1584
https://bugs.webkit.org/show_bug.cgi?id=150513

Reviewed by Saam Barati.

Source/JavaScriptCore:

Add check in linkPolymorphicCall() to make sure we have a CodeBlock for the newly added variant.
If not, we turn the call into a virtual call.

The bug was caused by a stack overflow when preparing the function for execution. This properly
threw an exception, however linkPolymorphicCall() didn't check for this error case.

Added a new test function "failNextNewCodeBlock()" to test tools to simplify the testing.

  • API/JSCTestRunnerUtils.cpp:

(JSC::failNextNewCodeBlock):
(JSC::numberOfDFGCompiles):

  • API/JSCTestRunnerUtils.h:
  • jit/Repatch.cpp:

(JSC::linkPolymorphicCall):

  • jsc.cpp:

(GlobalObject::finishCreation):
(functionTransferArrayBuffer):
(functionFailNextNewCodeBlock):
(functionQuit):

  • runtime/Executable.cpp:

(JSC::ScriptExecutable::prepareForExecutionImpl):

  • runtime/TestRunnerUtils.cpp:

(JSC::optimizeNextInvocation):
(JSC::failNextNewCodeBlock):
(JSC::numberOfDFGCompiles):

  • runtime/TestRunnerUtils.h:
  • runtime/VM.h:

(JSC::VM::setFailNextNewCodeBlock):
(JSC::VM::getAndClearFailNextNewCodeBlock):
(JSC::VM::stackPointerAtVMEntry):

Tools:

Added a new test function, failNextNewCodeBlock() to simplify the writing of a regression test.

  • DumpRenderTree/TestRunner.cpp:

(simulateWebNotificationClickCallback):
(failNextCodeBlock):
(numberOfDFGCompiles):
(TestRunner::staticFunctions):

  • WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
  • WebKitTestRunner/InjectedBundle/TestRunner.cpp:

(WTR::TestRunner::setBlockAllPlugins):
(WTR::TestRunner::failNextCodeBlock):
(WTR::TestRunner::numberOfDFGCompiles):

  • WebKitTestRunner/InjectedBundle/TestRunner.h:

LayoutTests:

New regression test.

  • js/regress-150513-expected.txt: Added.
  • js/regress-150513.html: Added.
  • js/script-tests/regress-150513.js: Added.

(test):

  • resources/standalone-pre.js: Added failNextNewCodeBlock to testRunner object.
6:26 PM Changeset in webkit [191529] by commit-queue@webkit.org
  • 24 edits
    10 deletes in trunk/Source/JavaScriptCore

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

Broke two JSC regression tests (Requested by msaboff on
#webkit).

Reverted changeset:

"[ES6] Add DFG/FTL support for accessor put operations"
https://bugs.webkit.org/show_bug.cgi?id=148860
http://trac.webkit.org/changeset/191500

6:11 PM Changeset in webkit [191528] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

Fix CMake compile error and add correct null check
https://bugs.webkit.org/show_bug.cgi?id=150520

Patch by Alex Christensen <achristensen@webkit.org> on 2015-10-23
Reviewed by Simon Fraser.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _doAfterNextPresentationUpdate:]):

6:01 PM Changeset in webkit [191527] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

Removing [ Release ] flag from flaky imported blink tests that are timing out in debug too
https://bugs.webkit.org/show_bug.cgi?id=150050

Patch by Ryan Haddad <Ryan Haddad> on 2015-10-23
Reviewed by Tim Horton.

  • platform/mac-wk1/TestExpectations:
5:57 PM Changeset in webkit [191526] by matthew_hanson@apple.com
  • 5 edits in branches/safari-601.1.46-branch/Source

Versioning

5:52 PM Changeset in webkit [191525] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

Avoid SVG-induced layouts inside Element::absoluteEventBounds()
https://bugs.webkit.org/show_bug.cgi?id=150516

Reviewed by Zalan Bujtas.

Speculative fix for a crash under RenderObject::localToContainerQuad() when
computing the wheel event handler region, which uses Element::absoluteEventHandlerBounds().
Element::absoluteEventBounds() was calling SVGElement::getBoundingBox() in a way
that could trigger a layout.

  • dom/Element.cpp:

(WebCore::Element::absoluteEventBounds):

5:46 PM Changeset in webkit [191524] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

Remove unnecessary details from Other Crashes section
https://bugs.webkit.org/show_bug.cgi?id=150514
<rdar://problem/23235458>

Patch by Aakash Jain <aakash_jain@apple.com> on 2015-10-23
Reviewed by Alexey Proskuryakov.

  • fast/harness/results.html: Create separate other-crash-tests-table.
5:44 PM Changeset in webkit [191523] by matthew_hanson@apple.com
  • 1 copy in tags/Safari-601.3.6

New Tag.

5:43 PM Changeset in webkit [191522] by matthew_hanson@apple.com
  • 1 copy in tags/Safari-601.1.46.43

New Tag.

5:42 PM Changeset in webkit [191521] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

Marking more http/tests/xmlhttprequest/timeout/ tests as flaky, removing Yosemite-only flag
https://bugs.webkit.org/show_bug.cgi?id=150378

Patch by Ryan Haddad <Ryan Haddad> on 2015-10-23
Reviewed by Alexey Proskuryakov.

  • platform/mac-wk2/TestExpectations:
5:26 PM Changeset in webkit [191520] by andersca@apple.com
  • 3 edits in trunk/Source/WebKit/mac

Invoke the context menu delegate callback right before we return the menu
https://bugs.webkit.org/show_bug.cgi?id=150521

Reviewed by Tim Horton.

Move the getCustomMenuFromDefaultItems to WebHTMLView wholesale. This will allow us to get rid of the ContextMenuClient function from WebCore.

  • WebCoreSupport/WebContextMenuClient.mm:

(WebContextMenuClient::getCustomMenuFromDefaultItems):
(isPreVersion3Client): Deleted.
(isPreInspectElementTagClient): Deleted.
(fixMenusToSendToOldClients): Deleted.
(fixMenusReceivedFromOldClients): Deleted.

  • WebView/WebHTMLView.mm:

(isPreVersion3Client):
(isPreInspectElementTagClient):
(fixMenusToSendToOldClients):
(fixMenusReceivedFromOldClients):
(customMenuFromDefaultItems):
(-[WebHTMLView menuForEvent:]):

5:24 PM Changeset in webkit [191519] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebInspectorUI

Web Inspector: xlink:href should be linkified
https://bugs.webkit.org/show_bug.cgi?id=150505

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-10-23
Reviewed by Timothy Hatcher.

  • UserInterface/Base/Main.js:

When opening a URL with a fragment, prefer opening a resource
that has the same URL without the fragment, otherwise this would
open in a new tab.

  • UserInterface/Base/URLUtilities.js:

(absoluteURL):
Better handling absoluteURL("#frag", baseURL).

  • UserInterface/Views/CodeMirrorAdditions.js:
  • UserInterface/Views/DOMTreeElement.js:

(WebInspector.DOMTreeElement.prototype._buildAttributeDOM):
Allow for more "href" style attributes, such as XML namespaced
"xlink:href" attribute names.

4:55 PM Changeset in webkit [191518] by achristensen@apple.com
  • 9 edits
    2 deletes in trunk/Source

Progress towards CMake on Mac
https://bugs.webkit.org/show_bug.cgi?id=150517

Reviewed by Tim Horton.

Source/WebCore:

  • PlatformMac.cmake:

Source/WebKit:

  • PlatformMac.cmake:

Source/WebKit2:

  • CMakeLists.txt:
  • PlatformEfl.cmake:
  • PlatformGTK.cmake:
  • PlatformMac.cmake:
  • WebProcess/Cookies/cf/WebCookieManagerCFNet.cpp: Removed.
  • WebProcess/Cookies/curl/WebCookieManagerCurl.cpp: Removed.
4:47 PM Changeset in webkit [191517] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit/mac

More context menu simplification
https://bugs.webkit.org/show_bug.cgi?id=150519

Reviewed by Tim Horton.

There's no need to convert the menu items back to ContextMenuItems just so we can check whether its
represented object is the sharing service picker. Also, move the check to the second loop.

  • WebView/WebHTMLView.mm:

(-[WebHTMLView menuForEvent:]):

4:07 PM Changeset in webkit [191516] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

Updating test expectation for animations/fill-forwards-end-state.html
https://bugs.webkit.org/show_bug.cgi?id=150328#c11

Patch by Ryan Haddad <Ryan Haddad> on 2015-10-23
Reviewed by Alexey Proskuryakov.

  • animations/fill-forwards-end-state-expected.txt:
4:03 PM Changeset in webkit [191515] by matthew_hanson@apple.com
  • 6 edits in branches/safari-601-branch

Rollout r191395. rdar://problem/22847057

3:45 PM Changeset in webkit [191514] by matthew_hanson@apple.com
  • 6 edits in branches/safari-601.1.46-branch

Rollout r191395. rdar://problem/22846455

3:32 PM Changeset in webkit [191513] by matthew_hanson@apple.com
  • 5 edits in branches/safari-601-branch/Source

Merge r191484.

2:34 PM Changeset in webkit [191512] by andersca@apple.com
  • 4 edits in trunk

Simplify the WebKitLegacy menu conversion code
https://bugs.webkit.org/show_bug.cgi?id=150509

Reviewed by Andreas Kling.

Source/WebKit/mac:

  • WebCoreSupport/WebContextMenuClient.mm:

(fixMenusToSendToOldClients):
(fixMenusReceivedFromOldClients):
(WebContextMenuClient::getCustomMenuFromDefaultItems):

Tools:

Implement the context menu delegate method so we'll test that code path.

  • MiniBrowser/mac/WK1BrowserWindowController.m:

(-[WK1BrowserWindowController webView:contextMenuItemsForElement:defaultMenuItems:]):

2:25 PM Changeset in webkit [191511] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

WKView being inside WKWebView leads to weird API issues
https://bugs.webkit.org/show_bug.cgi?id=150174

  • UIProcess/Cocoa/WebViewImpl.h:

Whoops.

2:03 PM Changeset in webkit [191510] by timothy_horton@apple.com
  • 6 edits in trunk/Source/WebKit2

WKView being inside WKWebView leads to weird API issues
https://bugs.webkit.org/show_bug.cgi?id=150174

Reviewed by Anders Carlsson.

  • UIProcess/API/mac/WKView.mm:

(-[WKView hitTest:]):
(-[WKView _processDidExit]):
(-[WKView _setThumbnailView:]):
(-[WKView _thumbnailView]):
(-[WKFlippedView isFlipped]): Deleted.
(-[WKView dealloc]): Deleted.
(-[WKView _setAcceleratedCompositingModeRootLayer:]): Deleted.
(-[WKView _acceleratedCompositingModeRootLayer]): Deleted.
(-[WKView _updateThumbnailViewLayer]): Deleted.
(-[WKView _reparentLayerTreeInThumbnailView]): Deleted.

  • UIProcess/API/mac/WKViewInternal.h:
  • UIProcess/Cocoa/WebViewImpl.h:

(WebKit::WebViewImpl::acceleratedCompositingRootLayer):
(WebKit::WebViewImpl::layerHostingView):
(WebKit::WebViewImpl::thumbnailView):

  • UIProcess/Cocoa/WebViewImpl.mm:

(-[WKFlippedView isFlipped]):
(WebKit::WebViewImpl::~WebViewImpl):
(WebKit::WebViewImpl::setAcceleratedCompositingRootLayer):
(WebKit::WebViewImpl::setThumbnailView):
(WebKit::WebViewImpl::reparentLayerTreeInThumbnailView):
(WebKit::WebViewImpl::updateThumbnailViewLayer):

  • UIProcess/mac/PageClientImpl.mm:

(WebKit::PageClientImpl::enterAcceleratedCompositingMode):
(WebKit::PageClientImpl::exitAcceleratedCompositingMode):
(WebKit::PageClientImpl::updateAcceleratedCompositingMode):
(WebKit::PageClientImpl::setAcceleratedCompositingRootLayer):
(WebKit::PageClientImpl::acceleratedCompositingRootLayer):
Move accelerated compositing and thumbnail view code.

1:50 PM Changeset in webkit [191509] by timothy_horton@apple.com
  • 4 edits in trunk/Source/WebKit2

WKView being inside WKWebView leads to weird API issues
https://bugs.webkit.org/show_bug.cgi?id=150174

Reviewed by Anders Carlsson.

  • UIProcess/API/mac/WKView.mm:

(-[WKView _superRemoveTrackingRect:]):
(-[WKView addTrackingRect:owner:userData:assumeInside:]):
(-[WKView _addTrackingRect:owner:userData:assumeInside:useTrackingNum:]):
(-[WKView _addTrackingRects:owner:userDataList:assumeInsideList:trackingNums:count:]):
(-[WKView removeTrackingRect:]):
(-[WKView _removeTrackingRects:count:]):
(-[WKView view:stringForToolTip:point:userData:]):
(-[WKView _toolTipChangedFrom:to:]):
(-[WKView _setAcceleratedCompositingModeRootLayer:]): Deleted.
(-[WKView _acceleratedCompositingModeRootLayer]): Deleted.
(takeWindowSnapshot): Deleted.

  • UIProcess/Cocoa/WebViewImpl.h:
  • UIProcess/Cocoa/WebViewImpl.mm:

(WebKit::WebViewImpl::addTrackingRect):
(WebKit::WebViewImpl::addTrackingRectWithTrackingNum):
(WebKit::WebViewImpl::addTrackingRectsWithTrackingNums):
(WebKit::WebViewImpl::removeTrackingRect):
(WebKit::WebViewImpl::removeTrackingRects):
(WebKit::WebViewImpl::sendToolTipMouseExited):
(WebKit::WebViewImpl::sendToolTipMouseEntered):
(WebKit::WebViewImpl::stringForToolTip):
(WebKit::WebViewImpl::toolTipChanged):
Move tooltip code.

1:49 PM Changeset in webkit [191508] by timothy_horton@apple.com
  • 6 edits in trunk/Source/WebKit2

WKView being inside WKWebView leads to weird API issues
https://bugs.webkit.org/show_bug.cgi?id=150174

Reviewed by Anders Carlsson.

  • UIProcess/API/mac/WKView.mm:

(-[WKView _interpretKeyEvent:completionHandler:]):
(-[WKView inputContext]):
(-[WKView performKeyEquivalent:]):
(-[WKView keyDown:]):
(-[WKView _doneWithKeyEvent:eventWasHandled:]):
(-[WKView _setPluginComplexTextInputState:]): Deleted.
(-[WKView _disableComplexTextInputIfNecessary]): Deleted.
(-[WKView _handlePluginComplexTextInputKeyDown:]): Deleted.
(-[WKView _tryHandlePluginComplexTextInputKeyDown:]): Deleted.
(-[WKView _tryPostProcessPluginComplexTextInputKeyDown:]): Deleted.
(-[WKView _pluginFocusOrWindowFocusChanged:pluginComplexTextInputIdentifier:]): Deleted.
(-[WKView _setPluginComplexTextInputState:pluginComplexTextInputIdentifier:]): Deleted.

  • UIProcess/API/mac/WKViewInternal.h:
  • UIProcess/Cocoa/WebViewImpl.h:

(WebKit::WebViewImpl::pluginComplexTextInputState):
(WebKit::WebViewImpl::pluginComplexTextInputIdentifier):

  • UIProcess/Cocoa/WebViewImpl.mm:

(WebKit::WebViewImpl::setPluginComplexTextInputState):
(WebKit::WebViewImpl::setPluginComplexTextInputStateAndIdentifier):
(WebKit::WebViewImpl::disableComplexTextInputIfNecessary):
(WebKit::WebViewImpl::handlePluginComplexTextInputKeyDown):
(WebKit::WebViewImpl::tryHandlePluginComplexTextInputKeyDown):
(WebKit::WebViewImpl::pluginFocusOrWindowFocusChanged):
(WebKit::WebViewImpl::tryPostProcessPluginComplexTextInputKeyDown):

  • UIProcess/mac/PageClientImpl.mm:

(WebKit::PageClientImpl::pluginFocusOrWindowFocusChanged):
(WebKit::PageClientImpl::setPluginComplexTextInputState):
Move a few more methods.

1:21 PM Changeset in webkit [191507] by peavo@outlook.com
  • 4 edits in trunk

[WinCairo] Improve test results for fast layouttests.
https://bugs.webkit.org/show_bug.cgi?id=150464

Reviewed by Alex Christensen.

Source/WebCore:

Disable the Mac ascent hack for WinCairo.

  • platform/graphics/win/SimpleFontDataCairoWin.cpp:

(WebCore::Font::platformInit):

Tools:

Set custom device scale factor to 1.0.

  • DumpRenderTree/win/DumpRenderTree.cpp:

(createWebViewAndOffscreenWindow):

12:19 PM Changeset in webkit [191506] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit/mac

Don't override already existing represented objects on menu items
https://bugs.webkit.org/show_bug.cgi?id=150508

Reviewed by Tim Horton.

This fixes a crash/exception when a client implements webView:contextMenuItemsForElement:defaultMenuItems: and
the default menu has a share menu item.

  • WebCoreSupport/WebContextMenuClient.mm:

(WebContextMenuClient::getCustomMenuFromDefaultItems):

12:06 PM Changeset in webkit [191505] by commit-queue@webkit.org
  • 1 edit
    3 adds in trunk/LayoutTests

[Content Extensions] Add test for hiding content on <a ping> pings
https://bugs.webkit.org/show_bug.cgi?id=150499

Patch by Roopesh Chander <roop@roopc.net> on 2015-10-23
Reviewed by Alex Christensen.

Test for ensuring that <a ping> pings are subject to
'css-display-none' content blocking rules.

  • http/tests/contentextensions/hide-on-ping-expected.txt: Added.
  • http/tests/contentextensions/hide-on-ping.html: Added.
  • http/tests/contentextensions/hide-on-ping.html.json: Added.
12:01 PM Changeset in webkit [191504] by eric.carlson@apple.com
  • 3 edits in trunk/Source/WebKit2

[MediaStream] Fix UserMediaPermissionRequestProxy::invalidate
https://bugs.webkit.org/show_bug.cgi?id=150503
<rdar://problem/23235386>

Reviewed by Dean Jackson.

  • UIProcess/UserMediaPermissionRequestProxy.cpp:

(WebKit::UserMediaPermissionRequestProxy::UserMediaPermissionRequestProxy): m_manager is a pointer.
(WebKit::UserMediaPermissionRequestProxy::allow): Return early if m_manager is null, clear it after

calling the manager.

(WebKit::UserMediaPermissionRequestProxy::deny): Ditto.
(WebKit::UserMediaPermissionRequestProxy::invalidate): Clear m_manager.

  • UIProcess/UserMediaPermissionRequestProxy.h: Change m_manager from a reference to a pointer so it can be cleared.
11:41 AM Changeset in webkit [191503] by Claudio Saavedra
  • 3 edits in trunk/Source/WebKit2

[GTK] Minor web editor fixes
https://bugs.webkit.org/show_bug.cgi?id=150501

Reviewed by Carlos Garcia Campos.

  • UIProcess/gtk/KeyBindingTranslator.cpp: Remove

"MoveParagraphForward/Backward" as these commands do not exist in
WebKit (anymore?).

  • WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp:

(WebKit::WebEditorClient::executePendingEditorCommands):
Editor::Command can take a String, no need to convert to a C char.

11:29 AM Changeset in webkit [191502] by Simon Fraser
  • 4 edits
    2 adds in trunk

REGRESSION (r187121): Multiple-keyframe animations not honouring ' forwards' fill-mode
https://bugs.webkit.org/show_bug.cgi?id=150328

Reviewed by Dean Jackson.

Source/WebCore:

AnimationBase::getElapsedTime() for a finished animation would return 1 (a progress),
rather than a time value as the caller expects. Fix it to return the total duration
if the animation has finished. This fixes the bug.

Change CompositeAnimation::pauseAnimationAtTime() to be more permissive, allowing
testing of filling-forwards animations with the pause API.

Test: animations/fill-forwards-end-state.html

  • page/animation/AnimationBase.cpp:

(WebCore::AnimationBase::getElapsedTime):

  • page/animation/CompositeAnimation.cpp:

(WebCore::CompositeAnimation::pauseAnimationAtTime):

LayoutTests:

Filling-forwards test with an animation whose duration is greater than one second,
which showed the bug.

  • animations/fill-forwards-end-state-expected.txt: Added.
  • animations/fill-forwards-end-state.html: Added.
11:07 AM Changeset in webkit [191501] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

Fix the build by unapplying review comments.

  • UIProcess/Cocoa/WebViewImpl.h:
11:05 AM Changeset in webkit [191500] by Yusuke Suzuki
  • 24 edits
    10 adds in trunk/Source/JavaScriptCore

[ES6] Add DFG/FTL support for accessor put operations
https://bugs.webkit.org/show_bug.cgi?id=148860

Reviewed by Geoffrey Garen.

This patch introduces accessor defining ops into DFG and FTL.
The following DFG nodes are introduced.

op_put_getter_by_id => PutGetterById
op_put_setter_by_id => PutSetterById
op_put_getter_setter => PutGetterSetterById
op_put_getter_by_val => PutGetterByVal
op_put_setter_by_val => PutSetterByVal

These DFG nodes just call operations. But it does not prevent compiling in DFG/FTL.

To use operations defined for baseline JIT, we clean up existing operations.
And reuse these operations in DFG and FTL.

  • dfg/DFGAbstractInterpreterInlines.h:

(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::parseBlock):

  • dfg/DFGCapabilities.cpp:

(JSC::DFG::capabilityLevel):

  • dfg/DFGClobberize.h:

(JSC::DFG::clobberize):

  • dfg/DFGDoesGC.cpp:

(JSC::DFG::doesGC):

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::fixupNode):

  • dfg/DFGNode.h:

(JSC::DFG::Node::hasIdentifier):
(JSC::DFG::Node::hasAccessorAttributes):
(JSC::DFG::Node::accessorAttributes):

  • dfg/DFGNodeType.h:
  • dfg/DFGPredictionPropagationPhase.cpp:

(JSC::DFG::PredictionPropagationPhase::propagate):

  • dfg/DFGSafeToExecute.h:

(JSC::DFG::safeToExecute):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compilePutAccessorById):
(JSC::DFG::SpeculativeJIT::compilePutGetterSetterById):
(JSC::DFG::SpeculativeJIT::compilePutAccessorByVal):

  • dfg/DFGSpeculativeJIT.h:

(JSC::DFG::SpeculativeJIT::callOperation):

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):

  • ftl/FTLIntrinsicRepository.h:
  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::DFG::LowerDFGToLLVM::compileNode):
(JSC::FTL::DFG::LowerDFGToLLVM::compilePutAccessorById):
(JSC::FTL::DFG::LowerDFGToLLVM::compilePutGetterSetterById):
(JSC::FTL::DFG::LowerDFGToLLVM::compilePutAccessorByVal):

  • jit/JIT.h:
  • jit/JITInlines.h:

(JSC::JIT::callOperation):

  • jit/JITOperations.cpp:
  • jit/JITOperations.h:
  • jit/JITPropertyAccess.cpp:

(JSC::JIT::emit_op_put_getter_by_id):
(JSC::JIT::emit_op_put_setter_by_id):
(JSC::JIT::emit_op_put_getter_setter):

  • jit/JITPropertyAccess32_64.cpp:

(JSC::JIT::emit_op_put_getter_by_id):
(JSC::JIT::emit_op_put_setter_by_id):
(JSC::JIT::emit_op_put_getter_setter):

  • tests/stress/dfg-put-accessors-by-id-class.js: Added.

(shouldBe):
(testAttribute):
(getter.Cocoa.prototype.get hello):
(getter.Cocoa):
(getter):
(setter.Cocoa):
(setter.Cocoa.prototype.set hello):
(setter):
(accessors.Cocoa):
(accessors.Cocoa.prototype.get hello):
(accessors.Cocoa.prototype.set hello):
(accessors):

  • tests/stress/dfg-put-accessors-by-id.js: Added.

(shouldBe):
(testAttribute):
(getter.object.get hello):
(getter):
(setter.object.set hello):
(setter):
(accessors.object.get hello):
(accessors.object.set hello):
(accessors):

  • tests/stress/dfg-put-getter-by-id-class.js: Added.

(shouldBe):
(testAttribute):
(getter.Cocoa):
(getter.Cocoa.prototype.get hello):
(getter.Cocoa.prototype.get name):
(getter):

  • tests/stress/dfg-put-getter-by-id.js: Added.

(shouldBe):
(testAttribute):
(getter.object.get hello):
(getter):

  • tests/stress/dfg-put-getter-by-val-class.js: Added.

(shouldBe):
(testAttribute):
(getter.Cocoa):
(getter.Cocoa.prototype.get name):
(getter):

  • tests/stress/dfg-put-getter-by-val.js: Added.

(shouldBe):
(testAttribute):
(getter.object.get name):
(getter):

  • tests/stress/dfg-put-setter-by-id-class.js: Added.

(shouldBe):
(testAttribute):
(getter.Cocoa):
(getter.Cocoa.prototype.set hello):
(getter.Cocoa.prototype.get name):
(getter):

  • tests/stress/dfg-put-setter-by-id.js: Added.

(shouldBe):
(testAttribute):
(setter.object.set hello):
(setter):

  • tests/stress/dfg-put-setter-by-val-class.js: Added.

(shouldBe):
(testAttribute):
(setter.Cocoa):
(setter.Cocoa.prototype.set name):
(setter):

  • tests/stress/dfg-put-setter-by-val.js: Added.

(shouldBe):
(testAttribute):
(setter.object.set name):
(setter):

10:57 AM Changeset in webkit [191499] by timothy_horton@apple.com
  • 9 edits in trunk/Source/WebKit2

WKView being inside WKWebView leads to weird API issues
https://bugs.webkit.org/show_bug.cgi?id=150174

Reviewed by Anders Carlsson.

  • UIProcess/API/mac/WKView.mm:

(-[WKView renewGState]):
(-[WKView writeSelectionToPasteboard:types:]):
(-[WKView centerSelectionInVisibleArea:]):
(-[WKView scrollWheel:]):
(-[WKView swipeWithEvent:]):
(-[WKView mouseMoved:]):
(-[WKView mouseDown:]):
(-[WKView mouseUp:]):
(-[WKView mouseDragged:]):
(-[WKView pressureChangeWithEvent:]):
(-[WKView acceptsFirstMouse:]):
(-[WKView shouldDelayWindowOrderingForEvent:]):
(-[WKView performKeyEquivalent:]):
(-[WKView keyUp:]):
(-[WKView keyDown:]):
(-[WKView flagsChanged:]):
(-[WKView _superQuickLookWithEvent:]):
(-[WKView _addFontPanelObserver]):
(-[WKView viewWillMoveToWindow:]):
(-[WKView viewDidMoveToWindow]):
(-[WKView viewDidChangeBackingProperties]):
(-[WKView enableAccessibilityIfNecessary]):
(-[WKView quickLookWithEvent:]):
(-[WKView _colorSpace]):
(-[WKView _didRelaunchProcess]):
(-[WKView _setTextIndicator:]):
(-[WKView _setTextIndicator:withLifetime:]):
(-[WKView _clearTextIndicatorWithAnimation:]):
(-[WKView _setTextIndicatorAnimationProgress:]):
(-[WKView initWithFrame:processPool:configuration:webView:]):
(-[WKView _didPerformImmediateActionHitTest:contentPreventsDefault:userData:]):
(-[WKView _internalImmediateActionAnimationControllerForHitTestResult:withType:userData:]):
(-[WKView _internalPrepareForImmediateActionAnimation]):
(-[WKView _internalCancelImmediateActionAnimation]):
(-[WKView _internalCompleteImmediateActionAnimation]):
(-[WKView _internalDismissContentRelativeChildWindowsWithAnimation:]):
(-[WKView beginDeferringViewInWindowChanges]):
(-[WKView endDeferringViewInWindowChanges]):
(-[WKView endDeferringViewInWindowChangesSync]):
(-[WKView _prepareForMoveToWindow:withCompletionHandler:]):
(-[WKView isDeferringViewInWindowChanges]):
(-[WKView allowsLinkPreview]):
(-[WKView setAllowsLinkPreview:]):
(-[WKView _setIgnoresAllEvents:]):
(-[WKView _setIgnoresNonWheelMouseEvents:]):
(-[WKView _setIgnoresNonWheelEvents:]):
(-[WKView _ignoresNonWheelEvents]):
(-[WKView _ignoresAllEvents]):
(-[WKView _setOverrideDeviceScaleFactor:]):
(-[WKView _overrideDeviceScaleFactor]):
(-[WKView _setTopContentInset:]):
(-[WKView _topContentInset]):
(-[WKView _dismissContentRelativeChildWindows]):
(-[WKView _dismissContentRelativeChildWindowsWithAnimation:]):
(-[WKView _setAutomaticallyAdjustsContentInsets:]):
(-[WKView _automaticallyAdjustsContentInsets]):
(-[WKWindowVisibilityObserver initWithView:]): Deleted.
(-[WKWindowVisibilityObserver startObserving:]): Deleted.
(-[WKWindowVisibilityObserver stopObserving:]): Deleted.
(-[WKWindowVisibilityObserver _windowDidOrderOnScreen:]): Deleted.
(-[WKWindowVisibilityObserver _windowDidOrderOffScreen:]): Deleted.
(-[WKView dealloc]): Deleted.
(-[WKView _updateWindowAndViewFrames]): Deleted.
(-[WKView updateFontPanelIfNeeded]): Deleted.
(-[WKView _selectionChanged]): Deleted.
(-[WKView addWindowObserversForWindow:]): Deleted.
(-[WKView removeWindowObservers]): Deleted.
(-[WKView doWindowDidChangeScreen]): Deleted.
(-[WKView _windowDidBecomeKey:]): Deleted.
(-[WKView _windowDidChangeScreen:]): Deleted.
(-[WKView _windowDidChangeLayerHosting:]): Deleted.
(-[WKView _windowDidResignKey:]): Deleted.
(-[WKView _windowDidMiniaturize:]): Deleted.
(-[WKView _windowDidDeminiaturize:]): Deleted.
(-[WKView _windowDidMove:]): Deleted.
(-[WKView _windowDidResize:]): Deleted.
(-[WKView _windowDidOrderOffScreen:]): Deleted.
(-[WKView _windowDidOrderOnScreen:]): Deleted.
(-[WKView _windowDidChangeBackingProperties:]): Deleted.
(-[WKView _windowDidChangeOcclusionState:]): Deleted.
(-[WKView _prepareForDictionaryLookup]): Deleted.
(-[WKView _dictionaryLookupPopoverWillClose:]): Deleted.
(-[WKView _accessibilityRegisterUIProcessTokens]): Deleted.
(-[WKView _postFakeMouseMovedEventForFlagsChangedEvent:]): Deleted.
(-[WKView _intrinsicDeviceScaleFactor]): Deleted.
(-[WKView _preferencesDidChange]): Deleted.
(-[WKView _targetWindowForMovePreparation]): Deleted.
(-[WKView _updateContentInsetsIfAutomatic]): Deleted.
(-[WKView observeValueForKeyPath:ofObject:change:context:]): Deleted.
(-[WKView _dispatchSetTopContentInset]): Deleted.

  • UIProcess/API/mac/WKViewInternal.h:
  • UIProcess/Cocoa/WebViewImpl.h:

(WebKit::WebViewImpl::automaticallyAdjustsContentInsets):
(WebKit::WebViewImpl::topContentInset):
(WebKit::WebViewImpl::overrideDeviceScaleFactor):
(WebKit::WebViewImpl::isDeferringViewInWindowChanges):
(WebKit::WebViewImpl::targetWindowForMovePreparation):
(WebKit::WebViewImpl::lastPressureEvent):
(WebKit::WebViewImpl::allowsLinkPreview):
(WebKit::WebViewImpl::ignoresNonWheelEvents):
(WebKit::WebViewImpl::ignoresAllEvents):
(WebKit::WebViewImpl::createWeakPtr):

  • UIProcess/Cocoa/WebViewImpl.mm:

(SOFT_LINK_CONSTANT_MAY_FAIL):
(-[WKWindowVisibilityObserver initWithView:impl:]):
(-[WKWindowVisibilityObserver dealloc]):
(-[WKWindowVisibilityObserver startObserving:]):
(-[WKWindowVisibilityObserver stopObserving:]):
(-[WKWindowVisibilityObserver startObservingFontPanel]):
(-[WKWindowVisibilityObserver startObservingLookupDismissal]):
(-[WKWindowVisibilityObserver _windowDidOrderOnScreen:]):
(-[WKWindowVisibilityObserver _windowDidOrderOffScreen:]):
(-[WKWindowVisibilityObserver _windowDidBecomeKey:]):
(-[WKWindowVisibilityObserver _windowDidResignKey:]):
(-[WKWindowVisibilityObserver _windowDidMiniaturize:]):
(-[WKWindowVisibilityObserver _windowDidDeminiaturize:]):
(-[WKWindowVisibilityObserver _windowDidMove:]):
(-[WKWindowVisibilityObserver _windowDidResize:]):
(-[WKWindowVisibilityObserver _windowDidChangeBackingProperties:]):
(-[WKWindowVisibilityObserver _windowDidChangeScreen:]):
(-[WKWindowVisibilityObserver _windowDidChangeLayerHosting:]):
(-[WKWindowVisibilityObserver _windowDidChangeOcclusionState:]):
(-[WKWindowVisibilityObserver observeValueForKeyPath:ofObject:change:context:]):
(-[WKWindowVisibilityObserver _dictionaryLookupPopoverWillClose:]):
(-[WKEditCommandObjC initWithWebEditCommandProxy:]):
(-[WKEditCommandObjC command]):
(-[WKEditorUndoTargetObjC undoEditing:]):
(-[WKEditorUndoTargetObjC redoEditing:]):
(WebKit::WebViewImpl::WebViewImpl):
(WebKit::WebViewImpl::~WebViewImpl):
(WebKit::WebViewImpl::becomeFirstResponder):
(WebKit::WebViewImpl::resignFirstResponder):
(WebKit::WebViewImpl::renewGState):
(WebKit::WebViewImpl::updateWindowAndViewFrames):
(WebKit::WebViewImpl::setAutomaticallyAdjustsContentInsets):
(WebKit::WebViewImpl::updateContentInsetsIfAutomatic):
(WebKit::WebViewImpl::setTopContentInset):
(WebKit::WebViewImpl::dispatchSetTopContentInset):
(WebKit::WebViewImpl::setOverrideDeviceScaleFactor):
(WebKit::WebViewImpl::intrinsicDeviceScaleFactor):
(WebKit::WebViewImpl::windowDidOrderOffScreen):
(WebKit::WebViewImpl::windowDidOrderOnScreen):
(WebKit::WebViewImpl::windowDidBecomeKey):
(WebKit::WebViewImpl::windowDidResignKey):
(WebKit::WebViewImpl::windowDidMiniaturize):
(WebKit::WebViewImpl::windowDidDeminiaturize):
(WebKit::WebViewImpl::windowDidMove):
(WebKit::WebViewImpl::windowDidResize):
(WebKit::WebViewImpl::windowDidChangeBackingProperties):
(WebKit::WebViewImpl::windowDidChangeScreen):
(WebKit::WebViewImpl::windowDidChangeLayerHosting):
(WebKit::WebViewImpl::windowDidChangeOcclusionState):
(WebKit::WebViewImpl::viewWillMoveToWindow):
(WebKit::WebViewImpl::viewDidMoveToWindow):
(WebKit::WebViewImpl::viewDidChangeBackingProperties):
(WebKit::WebViewImpl::postFakeMouseMovedEventForFlagsChangedEvent):
(WebKit::WebViewImpl::colorSpace):
(WebKit::WebViewImpl::beginDeferringViewInWindowChanges):
(WebKit::WebViewImpl::endDeferringViewInWindowChanges):
(WebKit::WebViewImpl::endDeferringViewInWindowChangesSync):
(WebKit::WebViewImpl::prepareForMoveToWindow):
(WebKit::WebViewImpl::pressureChangeWithEvent):
(WebKit::WebViewImpl::isEditable):
(WebKit::WebViewImpl::executeEditCommand):
(WebKit::WebViewImpl::registerEditCommand):
(WebKit::WebViewImpl::clearAllEditCommands):
(WebKit::WebViewImpl::writeSelectionToPasteboard):
(WebKit::WebViewImpl::centerSelectionInVisibleArea):
(WebKit::WebViewImpl::selectionDidChange):
(WebKit::WebViewImpl::startObservingFontPanel):
(WebKit::WebViewImpl::updateFontPanelIfNeeded):
(WebKit::WebViewImpl::preferencesDidChange):
(WebKit::WebViewImpl::setTextIndicator):
(WebKit::WebViewImpl::clearTextIndicatorWithAnimation):
(WebKit::WebViewImpl::setTextIndicatorAnimationProgress):
(WebKit::WebViewImpl::dismissContentRelativeChildWindows):
(WebKit::WebViewImpl::quickLookWithEvent):
(WebKit::WebViewImpl::prepareForDictionaryLookup):
(WebKit::WebViewImpl::setAllowsLinkPreview):
(WebKit::WebViewImpl::immediateActionAnimationControllerForHitTestResult):
(WebKit::WebViewImpl::prepareForImmediateActionAnimation):
(WebKit::WebViewImpl::cancelImmediateActionAnimation):
(WebKit::WebViewImpl::completeImmediateActionAnimation):
(WebKit::WebViewImpl::setIgnoresNonWheelEvents):
(WebKit::WebViewImpl::setIgnoresAllEvents):
(WebKit::WebViewImpl::accessibilityRegisterUIProcessTokens):

  • UIProcess/mac/PageClientImpl.h:
  • UIProcess/mac/PageClientImpl.mm:

(WebKit::PageClientImpl::activeWindow):
(WebKit::PageClientImpl::preferencesDidChange):
(WebKit::PageClientImpl::registerEditCommand):
(WebKit::PageClientImpl::clearAllEditCommands):
(WebKit::PageClientImpl::selectionDidChange):
(WebKit::PageClientImpl::didPerformDictionaryLookup):
(-[WKEditCommandObjC initWithWebEditCommandProxy:]): Deleted.
(-[WKEditCommandObjC command]): Deleted.
(-[WKEditorUndoTargetObjC undoEditing:]): Deleted.
(-[WKEditorUndoTargetObjC redoEditing:]): Deleted.
(WebKit::PageClientImpl::PageClientImpl): Deleted.
Move more things to WebViewImpl.
This also introduces an unfortunate pattern that is required for things which
clients override on WKView, where we have a flow like this:

  • somebody (PageClient, etc.) calls WebViewImpl::x
  • WebViewImpl::x does nothing except call [WKView _x]
  • [WKView _x] calls WebViewImpl::xFromViewOnly, which does the real work

As long as no clients call the -FromViewOnly variant, this will mean that
all callers are bottlenecked through the overridable WKView method.
How this works with WKWebView, I am not sure yet.

  • UIProcess/mac/WKImmediateActionController.h:
  • UIProcess/mac/WKImmediateActionController.mm:

(-[WKImmediateActionController initWithPage:view:viewImpl:recognizer:]):
(-[WKImmediateActionController willDestroyView:]):
(-[WKImmediateActionController immediateActionRecognizerWillPrepare:]):
(-[WKImmediateActionController immediateActionRecognizerDidCancelAnimation:]):
(-[WKImmediateActionController immediateActionRecognizerDidCompleteAnimation:]):
(-[WKImmediateActionController menuItem:viewAtScreenPoint:]):
(-[WKImmediateActionController menuItem:previewItemAtPoint:]):
(-[WKImmediateActionController menuItem:itemFrameForPoint:]):
(-[WKImmediateActionController menuItem:maxSizeForPoint:]):
(-[WKImmediateActionController _animationControllerForDataDetectedText]):
(-[WKImmediateActionController _animationControllerForDataDetectedLink]):
(-[WKImmediateActionController _animationControllerForText]):
(-[WKImmediateActionController initWithPage:view:recognizer:]): Deleted.
Keep a generic NSView, use the WebViewImpl for WK*View related things.

10:55 AM Changeset in webkit [191498] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[GTK] update-webkitgtk-libs should use mesa tarball

https://bugs.webkit.org/show_bug.cgi?id=150470

update-webkitgtk-libs downloads all build dependencies; in fixing
bug 148941 mesa was switched from ftp to git access. Now an http
tarball is available, which is preferred over accessing via git.

Patch by Mark Salisbury <mark.salisbury@hp.com> on 2015-10-23
Reviewed by Philippe Normand

  • gtk/jhbuild.modules:

Mesa access changed to http tarball.

10:47 AM Changeset in webkit [191497] by Chris Dumez
  • 4 edits in trunk

A label element not in a document should not label an element in a document
https://bugs.webkit.org/show_bug.cgi?id=148863
<rdar://problem/22589300>

Reviewed by Ryosuke Niwa.

LayoutTests/imported/w3c:

Rebaseline W3C HTML test now that one more check is passing.

  • web-platform-tests/html/semantics/forms/the-label-element/label-attributes-expected.txt:

Source/WebCore:

As per the HTML specification, a label element's 'for' attribute may be
specified to indicate a form control with which the caption is to be
associated. If the attribute is specified, the attribute's value must
be the ID of a labelable element in the same Document as the label
element:
https://html.spec.whatwg.org/multipage/forms.html#attr-label-for

However, our code was failing to check if the label element was actually
in the document before calling document.getElementById(). In such case,
we would potentially return a labelable Element that is not in the same
document as the label Element. This patch fixes the problem.

The new behavior is consistent with Firefox.

No new tests, already covered by existing test.

  • html/HTMLLabelElement.cpp:

(WebCore::HTMLLabelElement::control):

10:11 AM Changeset in webkit [191496] by Nikita Vasilyev
  • 4 edits in trunk/Source/WebInspectorUI

Web Inspector: Command-Enter in Debugger should show a popover with evaluation result
https://bugs.webkit.org/show_bug.cgi?id=149195

Currenty, the only way to display the popover is to hover over the text with a mouse cursor.
Provide a way to display it via a keyboard shortcut.

Reviewed by Timothy Hatcher.

  • UserInterface/Controllers/CodeMirrorCompletionController.js:

(WebInspector.CodeMirrorCompletionController): Deleted.
(WebInspector.CodeMirrorCompletionController.prototype._generateJavaScriptCompletions): Deleted.
Don't evaluate selected text from Debugger or Sources in the console.

  • UserInterface/Controllers/CodeMirrorTokenTrackingController.js:

(WebInspector.CodeMirrorTokenTrackingController):
(WebInspector.CodeMirrorTokenTrackingController.prototype._handleCommandEnterKey):
(WebInspector.CodeMirrorTokenTrackingController.prototype._hidePopover):
Cmd-Enter triggers the popover, Esc hides it.

(WebInspector.CodeMirrorTokenTrackingController.prototype.set mode):
(WebInspector.CodeMirrorTokenTrackingController.prototype.removeHighlightedRange):
Don't use delete.

(WebInspector.CodeMirrorTokenTrackingController.prototype._mouseMovedWithMarkedText):
When a token isn't hovered, hide it only when it was triggered not by the keyboard.

(WebInspector.CodeMirrorTokenTrackingController.prototype._markedTextIsNoLongerHovered):
Don't use delete.

(WebInspector.CodeMirrorTokenTrackingController.prototype._updateHoveredTokenInfo):
(WebInspector.CodeMirrorTokenTrackingController.prototype._getTokenInfoForPosition):
Abstract out a no side effects _getTokenInfoForPosition method, which is also used by _handleCommandEnterKey.

(WebInspector.CodeMirrorTokenTrackingController.prototype._mouseMovedOutOfEditor):
(WebInspector.CodeMirrorTokenTrackingController.prototype._mouseButtonWasReleasedOverEditor):
Don't use delete.

(WebInspector.CodeMirrorTokenTrackingController.prototype._processNewHoveredToken):
(WebInspector.CodeMirrorTokenTrackingController.prototype._processNonSymbolToken):
(WebInspector.CodeMirrorTokenTrackingController.prototype._processJavaScriptExpression):
Pass tokenInfo as an argument to explicitly state that these methods require it.

(WebInspector.CodeMirrorTokenTrackingController.prototype._resetTrackingStates):
Don't use delete.

  • UserInterface/Views/SourceCodeTextEditor.js:

(WebInspector.SourceCodeTextEditor.prototype.tokenTrackingControllerHighlightedRangeReleased):
Allow to hide the popover regardless of mouse position. Used when the text cursor moves or
when Esc key is pressed.

7:07 AM Changeset in webkit [191495] by matthew_hanson@apple.com
  • 10 edits in branches/safari-601.1.46-branch

Merge r191487. rdar://problem/22811325

1:39 AM Changeset in webkit [191494] by commit-queue@webkit.org
  • 11 edits
    6 adds in trunk

Support for SVG beginEvent event and onbegin attribute
https://bugs.webkit.org/show_bug.cgi?id=150442

Patch by Antoine Quint <Antoine Quint> on 2015-10-23
Reviewed by Dean Jackson.

Source/WebCore:

Add support for the SVG beginEvent event, which is fired as an SVG timing element enters its active interval.
Also add support for the SVG onbegin attribute which allows the definition of a JS event listener declaratively
for the SVG beginEvent event.

Tests: svg/animations/begin-event-attribute.svg

svg/animations/begin-event-script.svg
svg/animations/begin-event-syncbase.svg

  • dom/EventNames.h:
  • svg/animation/SVGSMILElement.cpp:

(WebCore::smilBeginEventSender):
(WebCore::smilEndEventSender):
(WebCore::SVGSMILElement::~SVGSMILElement):
(WebCore::SVGSMILElement::parseAttribute):
(WebCore::SVGSMILElement::progress):
(WebCore::SVGSMILElement::dispatchPendingEvent):

  • svg/svgattrs.in:

LayoutTests:

  • svg/animations/begin-event-attribute-expected.svg: Added.
  • svg/animations/begin-event-attribute.svg: Added.

Test for the newly supported onbegin attribute.

  • svg/animations/begin-event-script-expected.svg: Added.
  • svg/animations/begin-event-script.svg: Added.

Test for the newly supported beginEvent event handled via addEventListener().

  • svg/animations/begin-event-syncbase-expected.svg: Added.
  • svg/animations/begin-event-syncbase.svg: Added.

Test for the newly supported beginEvent event used as a syncbase value in a
timing attribute.

  • svg/animations/end-event-attribute-expected.svg:
  • svg/animations/end-event-attribute.svg:
  • svg/animations/end-event-script-expected.svg:
  • svg/animations/end-event-script.svg:
  • svg/animations/end-event-syncbase-expected.svg:
  • svg/animations/end-event-syncbase.svg:

Cleaned up tests previously added to remove unnecessary XLink namespace, DOCTYPE and
processing instruction to match new tests.

1:36 AM WebKitW3CTesting edited by youenn.fablet@crf.canon.fr
(diff)
1:10 AM Changeset in webkit [191493] by commit-queue@webkit.org
  • 13 edits in trunk/Source/WebInspectorUI

Web Inspector: Visual sidebar should support multiple backgrounds
https://bugs.webkit.org/show_bug.cgi?id=148310

Patch by Devin Rousso <Devin Rousso> on 2015-10-23
Reviewed by Timothy Hatcher.

Changes the layout of the Background - Style section in the Visual sidebar
to be a list instead of a single editable field for a background-image URL.
Allows for comma-separated background properties (both shorthand and
longhand) and displays them all in a single list for editing.

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

(WebInspector.VisualStyleColorPicker):

  • UserInterface/Views/VisualStyleCommaSeparatedKeywordEditor.css:

(.visual-style-property-container.comma-separated-keyword-editor):

  • UserInterface/Views/VisualStyleCommaSeparatedKeywordEditor.js:

(WebInspector.VisualStyleCommaSeparatedKeywordEditor):
(WebInspector.VisualStyleCommaSeparatedKeywordEditor.prototype._generateTextFromLonghandProperties.propertyValue):
(WebInspector.VisualStyleCommaSeparatedKeywordEditor.prototype._generateTextFromLonghandProperties):
(WebInspector.VisualStyleCommaSeparatedKeywordEditor.prototype.modifyPropertyText):
Comma separated properties will now try to assemble a value from related longhand
properties so that a single shorthand property with commas may be used.

  • UserInterface/Views/VisualStyleDetailsPanel.css:

(.sidebar > .panel.details.css-style .visual > .details-section.background .details-section.background-style .visual-style-property-container.comma-separated-keyword-editor.background):

  • UserInterface/Views/VisualStyleDetailsPanel.js:

(WebInspector.VisualStyleDetailsPanel.prototype._populateBackgroundStyleSection):
(WebInspector.VisualStyleDetailsPanel.prototype._populateBoxShadowSection):
(WebInspector.VisualStyleDetailsPanel.prototype._populateTransitionSection):
(WebInspector.VisualStyleDetailsPanel.prototype._noRemainingCommaSeparatedEditorItems):
(WebInspector.VisualStyleDetailsPanel.prototype._selectedCommaSeparatedEditorItemValueChanged):
(WebInspector.VisualStyleDetailsPanel.prototype._commaSeparatedEditorTreeItemSelected):
(WebInspector.VisualStyleDetailsPanel.prototype._populateBoxShadowSection.noRemainingTreeItems): Deleted.
(WebInspector.VisualStyleDetailsPanel.prototype._populateBoxShadowSection.selectedBoxShadowItemValueChanged): Deleted.
(WebInspector.VisualStyleDetailsPanel.prototype._populateBoxShadowSection.boxShadowItemSelected): Deleted.
(WebInspector.VisualStyleDetailsPanel.prototype._populateTransitionSection.noRemainingTreeItems): Deleted.
(WebInspector.VisualStyleDetailsPanel.prototype._populateTransitionSection.selectedtransitionItemValueChanged): Deleted.
(WebInspector.VisualStyleDetailsPanel.prototype._populateTransitionSection.transitionItemSelected): Deleted.
Made the "background-image" property into a comma separated editor.

  • UserInterface/Views/VisualStyleFontFamilyListEditor.js:

(WebInspector.VisualStyleFontFamilyListEditor):

  • UserInterface/Views/VisualStyleKeywordIconList.js:

(WebInspector.VisualStyleKeywordIconList.prototype.set value):
(WebInspector.VisualStyleKeywordIconList.prototype._handleKeywordChanged):
(WebInspector.VisualStyleKeywordIconList):

  • UserInterface/Views/VisualStyleKeywordPicker.js:

(WebInspector.VisualStyleKeywordPicker.prototype.updateEditorValues):
(WebInspector.VisualStyleKeywordPicker.prototype._setValue):

  • UserInterface/Views/VisualStyleNumberInputBox.js:

(WebInspector.VisualStyleNumberInputBox.prototype.set value):

  • UserInterface/Views/VisualStylePropertyCombiner.js:

(WebInspector.VisualStylePropertyCombiner):
(WebInspector.VisualStylePropertyCombiner.prototype.updateValuesFromText.updateCompatibleEditor):
(WebInspector.VisualStylePropertyCombiner.prototype.updateValuesFromText):

  • UserInterface/Views/VisualStylePropertyEditor.js:

(WebInspector.VisualStylePropertyEditor):
(WebInspector.VisualStylePropertyEditor.prototype.update):
(WebInspector.VisualStylePropertyEditor.prototype.getValuesFromText):
(WebInspector.VisualStylePropertyEditor.prototype.get propertyMissing):
(WebInspector.VisualStylePropertyEditor.prototype._valueDidChange):
Moved "propertyMissing" into a member variable for better access.

  • UserInterface/Views/VisualStyleURLInput.js:

(WebInspector.VisualStyleURLInput):
(WebInspector.VisualStyleURLInput.prototype.get synthesizedValue):
(WebInspector.VisualStyleURLInput.prototype.parseValue):
Added support for specific keywords to be used in the input field.

12:37 AM Changeset in webkit [191492] by commit-queue@webkit.org
  • 5 edits
    2 adds in trunk

Source/WebCore:
ConvolverNode.buffer must have same sample-rate as the AudioContext
https://bugs.webkit.org/show_bug.cgi?id=150385

Patch by Hyemi Shin <hyemi.sin@samsung.com> on 2015-10-23
Reviewed by Chris Dumez.

ConvolverNode.buffer must be of the same sample-rate as the AudioContext
or an NOT_SUPPORTED_ERR exception MUST be thrown.

Test : webaudio/convolver-setBuffer-different-samplerate.html

  • Modules/webaudio/ConvolverNode.cpp:

(WebCore::ConvolverNode::setBuffer):

  • Modules/webaudio/ConvolverNode.h:
  • Modules/webaudio/ConvolverNode.idl:

LayoutTests:
ConvolverNode.buffer must have same sample rate as the AudioContext
https://bugs.webkit.org/show_bug.cgi?id=150385

Patch by Hyemi Shin <hyemi.sin@samsung.com> on 2015-10-23
Reviewed by Chris Dumez.

  • webaudio/convolver-setBuffer-different-samplerate-expected.txt: Added.
  • webaudio/convolver-setBuffer-different-samplerate.html: Added.
Note: See TracTimeline for information about the timeline view.