Timeline



Jul 25, 2015:

11:30 PM Changeset in webkit [187405] by Nikita Vasilyev
  • 4 edits in trunk/Source/WebInspectorUI

Web Inspector: Start using Node.prototype.remove
https://bugs.webkit.org/show_bug.cgi?id=147304

Reviewed by Timothy Hatcher.

  • UserInterface/Base/Main.js:

(WebInspector.elementDragStart):
(WebInspector.elementDragEnd):
(WebInspector.revertDomChanges):

  • UserInterface/Views/DOMTreeElement.js:

(WebInspector.DOMTreeElement.prototype._updateSearchHighlight.updateEntryHide):
(WebInspector.DOMTreeElement.prototype._updateSearchHighlight):
(WebInspector.DOMTreeElement.prototype.remove.removeNodeCallback):
(WebInspector.DOMTreeElement.prototype.remove):

  • UserInterface/Views/Resizer.js:

(WebInspector.Resizer.prototype._resizerMouseDown):
(WebInspector.Resizer.prototype._resizerMouseUp):
(WebInspector.Resizer):

11:23 PM Changeset in webkit [187404] by Nikita Vasilyev
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Fix color declaration for not-executed comments
https://bugs.webkit.org/show_bug.cgi?id=147305

Reviewed by Timothy Hatcher.

  • UserInterface/Views/SyntaxHighlightingDefaultTheme.css:

(.cm-s-default .basic-block-has-not-executed.cm-comment):
This was an RGB color mispelled as HSL. Replace "hsl" with "rgb"
and convert it to HSL.

11:19 PM Changeset in webkit [187403] by Nikita Vasilyev
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Start using Node.prototype.replaceWith
https://bugs.webkit.org/show_bug.cgi?id=147303

Reviewed by Timothy Hatcher.

  • UserInterface/Views/Popover.js:

(WebInspector.Popover.prototype._update):

10:46 PM Changeset in webkit [187402] by Nikita Vasilyev
  • 21 edits in trunk/Source/WebInspectorUI

Web Inspector: Start using Node.prototype.append
https://bugs.webkit.org/show_bug.cgi?id=147301

Convert all instances of element.appendChild(document.createTextNode(aString))
to element.append(aString).

Reviewed by Timothy Hatcher.

  • UserInterface/Base/DOMUtilities.js:
  • UserInterface/Base/Main.js:

(WebInspector.linkifyLocation):
(WebInspector.linkifyStringAsFragmentWithCustomLinkifier):

  • UserInterface/Models/Breakpoint.js:

(WebInspector.Breakpoint.prototype._editBreakpointPopoverContentElement):

  • UserInterface/Views/BoxModelDetailsSectionRow.js:

(WebInspector.BoxModelDetailsSectionRow.prototype._updateMetrics):

  • UserInterface/Views/CSSStyleDeclarationSection.js:

(WebInspector.CSSStyleDeclarationSection.prototype.refresh):

  • UserInterface/Views/CSSStyleDetailsSidebarPanel.js:

(WebInspector.CSSStyleDetailsSidebarPanel):

  • UserInterface/Views/ChartDetailsSectionRow.js:

(WebInspector.ChartDetailsSectionRow.prototype._createLegendItem):

  • UserInterface/Views/ConsoleMessageView.js:

(WebInspector.ConsoleMessageView.prototype._appendMessageTextAndArguments):
(WebInspector.ConsoleMessageView.prototype._appendFormattedArguments):

  • UserInterface/Views/DOMNodeDetailsSidebarPanel.js:

(WebInspector.DOMNodeDetailsSidebarPanel.prototype._refreshAccessibility.accessibilityPropertiesCallback):
(WebInspector.DOMNodeDetailsSidebarPanel.prototype._refreshAccessibility):

  • UserInterface/Views/DOMTreeElement.js:

(WebInspector.DOMTreeElement.prototype._insertInLastAttributePosition):
(WebInspector.DOMTreeElement.prototype._buildAttributeDOM):
(WebInspector.DOMTreeElement.prototype._buildTagDOM):
(WebInspector.DOMTreeElement.prototype._nodeTitleInfo):
defaultElement variable is unused, remove it.

  • UserInterface/Views/DataGrid.js:

(WebInspector.DataGridNode.prototype.createCell.get if):
(WebInspector.DataGridNode.prototype.createCell):

  • UserInterface/Views/DebuggerDashboardView.js:

(WebInspector.DebuggerDashboardView.prototype._rebuildLocation):

  • UserInterface/Views/EventListenerSectionGroup.js:

(WebInspector.EventListenerSectionGroup.prototype._functionTextOrLink):
(WebInspector.EventListenerSectionGroup):

  • UserInterface/Views/FormattedValue.js:

(WebInspector.FormattedValue.createLinkifiedElementString):
(WebInspector.FormattedValue.createElementForNodePreview):

  • UserInterface/Views/ObjectPreviewView.js:

(WebInspector.ObjectPreviewView.prototype._appendEntryPreviews):
(WebInspector.ObjectPreviewView.prototype._appendPropertyPreviews):

  • UserInterface/Views/ResourceDetailsSidebarPanel.js:

(WebInspector.ResourceDetailsSidebarPanel.prototype._refreshRequestDataSection):
(WebInspector.ResourceDetailsSidebarPanel):

  • UserInterface/Views/RulesStyleDetailsPanel.js:

(WebInspector.RulesStyleDetailsPanel.prototype.refresh.addNewRuleButton):
(WebInspector.RulesStyleDetailsPanel.prototype.refresh.insertMediaOrInheritanceLabel):

  • UserInterface/Views/SearchResultTreeElement.js:

(WebInspector.SearchResultTreeElement.truncateAndHighlightTitle):

  • UserInterface/Views/SyntaxHighlightingSupport.js:

(.appendText):
(WebInspector.syntaxHighlightStringAsDocumentFragment):

  • UserInterface/Views/TimelineDataGridNode.js:

(WebInspector.TimelineDataGridNode.prototype.createCellContent):

10:12 PM Changeset in webkit [187401] by Yusuke Suzuki
  • 8 edits
    4 adds in trunk/Source/JavaScriptCore

[ES6] Add Reflect namespace and add Reflect.deleteProperty
https://bugs.webkit.org/show_bug.cgi?id=147287

Reviewed by Sam Weinig.

This patch just creates the namespace for ES6 Reflect APIs.
And add template files to implement the actual code.

Not to keep the JS generated properties C array empty,
we added one small method, Reflect.deleteProperty in this patch.

  • CMakeLists.txt:
  • DerivedSources.make:
  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • builtins/ReflectObject.js: Added.

(deleteProperty):

  • runtime/CommonIdentifiers.h:
  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::init):

  • runtime/ReflectObject.cpp: Added.

(JSC::ReflectObject::ReflectObject):
(JSC::ReflectObject::finishCreation):
(JSC::ReflectObject::getOwnPropertySlot):

  • runtime/ReflectObject.h: Added.

(JSC::ReflectObject::create):
(JSC::ReflectObject::createStructure):

  • tests/stress/reflect-delete-property.js: Added.

(shouldBe):
(shouldThrow):

7:53 PM Changeset in webkit [187400] by ap@apple.com
  • 2 edits in branches/safari-601.1-branch/LayoutTests

Updating an expectation to actually work (it's a reftest, so it needs ImageOnlyFailure).

  • platform/mac/TestExpectations:
7:28 PM Changeset in webkit [187399] by ap@apple.com
  • 2 edits in trunk/LayoutTests

REGRESSION (r186569): media/restore-from-page-cache.html is very flaky
https://bugs.webkit.org/show_bug.cgi?id=147254

  • platform/mac/TestExpectations: Updated the expectations, because the problem is

not limited to Debug Mavericks.

7:13 PM Changeset in webkit [187398] by ap@apple.com
  • 2 edits in trunk/Source/WebCore

Remove an never failing check for client() in ResourceHandle::canAuthenticateAgainstProtectionSpace.

Requested by Brady Eidson in bug 147277.

  • platform/network/mac/ResourceHandleMac.mm:

(WebCore::ResourceHandle::canAuthenticateAgainstProtectionSpace):

7:09 PM Changeset in webkit [187397] by ap@apple.com
  • 15 edits in branches/safari-601.1-branch/LayoutTests

Update test results after r187346 ('>>' descendant combinator).

  • fast/css/css-selector-text-expected.txt:
  • fast/css/css-set-selector-text-expected.txt:
  • fast/css/parsing-css-attribute-case-insensitive-value-1-expected.txt:
  • fast/css/parsing-css-attribute-case-insensitive-value-4-expected.txt:
  • fast/css/parsing-css-descendant-combinator-doubled-child-syntax-expected.txt:
  • fast/selectors/case-insensitive-attribute-register-requirement-2-expected.txt:
  • fast/selectors/element-closest-descendant-combinator-doubled-child-syntax-expected.txt:
  • fast/selectors/element-matches-attribute-ascii-case-insensitive-html-expected.txt:
  • fast/selectors/element-matches-descendant-combinator-doubled-child-syntax-expected.txt:
  • fast/selectors/nth-child-matching-first-expected.txt:
  • fast/selectors/nth-last-child-matching-first-expected.txt:
  • fast/selectors/querySelector-attribute-ascii-case-insensitive-html-expected.txt:
  • fast/selectors/querySelector-descendant-combinator-doubled-child-syntax-expected.txt:
  • platform/mac/TestExpectations:
6:38 PM Changeset in webkit [187396] by ap@apple.com
  • 2 edits in trunk/LayoutTests

REGRESSION?: Frame scrollability tests are very flaky
https://bugs.webkit.org/show_bug.cgi?id=147300

  • platform/mac-wk2/TestExpectations: Marking them as such.
6:30 PM Changeset in webkit [187395] by ap@apple.com
  • 4 edits in trunk/LayoutTests

inspector/css/modify-rule-selector.html times out (flakily on some platforms, and
every time on others).
https://bugs.webkit.org/show_bug.cgi?id=147229

  • platform/gtk/TestExpectations:
  • platform/mac-wk2/TestExpectations:
  • platform/win/TestExpectations:

Added expectations.

6:01 PM Changeset in webkit [187394] by ap@apple.com
  • 2 edits in trunk/LayoutTests

aria-liveregions-notifications tests are very flaky
https://bugs.webkit.org/show_bug.cgi?id=147299

  • platform/mac/TestExpectations: Marked them as such.
5:31 PM Changeset in webkit [187393] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebCore

Expose TextIndicator-backed snapshot and rect gathering on DOMNode
https://bugs.webkit.org/show_bug.cgi?id=147298
<rdar://problem/21905839>

Reviewed by Sam Weinig.

  • bindings/objc/DOM.mm:

(-[DOMNode getPreviewSnapshotImage:andRects:]):
No need to multiply by device scale here.

4:28 PM Changeset in webkit [187392] by timothy_horton@apple.com
  • 4 edits in trunk/Source/WebCore

Expose TextIndicator-backed snapshot and rect gathering on DOMNode
https://bugs.webkit.org/show_bug.cgi?id=147298
<rdar://problem/21905839>

  • bindings/objc/DOM.mm:

(-[DOMNode getPreviewSnapshotImage:andRects:]):

  • bindings/objc/DOMExtensions.h:
  • bindings/objc/DOMPrivate.h:

Move this to a private header.

4:11 PM Changeset in webkit [187391] by timothy_horton@apple.com
  • 3 edits in trunk/Source/WebCore

Expose TextIndicator-backed snapshot and rect gathering on DOMNode
https://bugs.webkit.org/show_bug.cgi?id=147298
<rdar://problem/21905839>

Reviewed by Sam Weinig.

  • bindings/objc/DOM.mm:

(-[DOMNode getPreviewSnapshotImage:andRects:]):

  • bindings/objc/DOMExtensions.h:
10:51 AM Changeset in webkit [187390] by jer.noble@apple.com
  • 37 edits in branches/safari-601.1-branch/Source

Merge r187251, r187252, r187262, r187263, r187272, r187289. rdar://problem/20689512

Source/WebCore:

2015-07-21 Jer Noble <jer.noble@apple.com>

Notify the UI delegate when a MediaDocument's natural size changes
https://bugs.webkit.org/show_bug.cgi?id=147182

Reviewed by Simon Fraser.

Notify the MediaDocument that it's underlying media element has changed its natural size, either when
the media engine notifies us that the size changed, or when the ready state progresses to HAVE_METADATA.

  • html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::setReadyState): Notify the media document. (WebCore::HTMLMediaElement::mediaPlayerSizeChanged): Ditto.
  • html/MediaDocument.cpp: (WebCore::MediaDocument::mediaElementNaturalSizeChanged): Pass to the chrome client.
  • html/MediaDocument.h:
  • page/ChromeClient.h:

2015-07-23 Jer Noble <jer.noble@apple.com>

Relax media playback restrictions if the allowsMediaDocumentInlinePlayback property is set.
https://bugs.webkit.org/show_bug.cgi?id=147234

Reviewed by Darin Adler.

  • html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::prepareForLoad): Moved restriction check into MediaElementSession.
  • html/MediaElementSession.cpp: (WebCore::MediaElementSession::playbackPermitted): Check if is a top-level media document and if

allowsMediaDocumentInilnePlayback is set, and return early.

(WebCore::MediaElementSession::effectivePreloadForElement): Ditto.
(WebCore::MediaElementSession::allowsAutomaticMediaDataLoading): Ditto.

  • html/MediaElementSession.h:

2015-07-21 Jer Noble <jer.noble@apple.com>

[iOS] Add an explicit API to allow media documents to (temporarily) play inline
https://bugs.webkit.org/show_bug.cgi?id=147181

Reviewed by Beth Dakin.

Add listeners for the new allowsMediaDocumentInlinePlayback API. When this value becomes
NO, force any playing MediaDocuments to enter fullscreen mode.

  • dom/Document.cpp: (WebCore::Document::registerForAllowsMediaDocumentInlinePlaybackChangedCallbacks): Added registration method. (WebCore::Document::unregisterForAllowsMediaDocumentInlinePlaybackChangedCallbacks): Added deregistration method. (WebCore::Document::allowsMediaDocumentInlinePlaybackChanged): Notify all listeners.
  • dom/Document.h:
  • html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::registerWithDocument): Listen for allowsMediaDocumentInlinePlayback changes. (WebCore::HTMLMediaElement::unregisterWithDocument): Stop listening to same. (WebCore::HTMLMediaElement::allowsMediaDocumentInlinePlaybackChanged): Enter fullscreen mode if the value

changes to false during playback.

  • html/HTMLMediaElement.h:
  • html/MediaElementSession.cpp: (WebCore::MediaElementSession::requiresFullscreenForVideoPlayback): Early true if the override value is set.
  • page/Page.cpp: (WebCore::Page::setAllowsMediaDocumentInlinePlayback): Notify all documents of the changed value.
  • page/Page.h: (WebCore::Page::allowsMediaDocumentInlinePlayback): Simple getter.

Source/WebKit2:

2015-07-23 Alex Christensen <achristensen@webkit.org>

Fix 32-bit build after r187272.

  • UIProcess/mac/PageClientImpl.mm: (WebKit::PageClientImpl::mediaDocumentNaturalSizeChanged): Added some WK_API_ENABLED.

2015-07-23 Alex Christensen <achristensen@webkit.org>

[iOS] Unreviewed build fix after r187251.

  • UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::setAllowsMediaDocumentInlinePlayback): Use the correct name for the boolean to pass along to SetAllowsMediaDocumentInlinePlayback.

2015-07-21 Jer Noble <jer.noble@apple.com>

Notify the UI delegate when a MediaDocument's natural size changes
https://bugs.webkit.org/show_bug.cgi?id=147182

Reviewed by Simon Fraser.

Pipe notifications of media document natural size changes up from the chrome client, through
to the UIProcess, through the page client, through the WKWebView, to the UIDelegate.

  • UIProcess/API/APIUIClient.h: (API::UIClient::mediaDocumentNaturalSizeChanged):
  • UIProcess/API/Cocoa/WKUIDelegatePrivate.h:
  • UIProcess/API/Cocoa/WKWebView.mm: (-[WKWebView _mediaDocumentNaturalSizeChanged:]):
  • UIProcess/API/Cocoa/WKWebViewInternal.h:
  • UIProcess/Cocoa/UIDelegate.h:
  • UIProcess/Cocoa/UIDelegate.mm: (WebKit::UIDelegate::setDelegate): (WebKit::UIDelegate::UIClient::mediaDocumentNaturalSizeChanged):
  • UIProcess/PageClient.h:
  • UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::mediaDocumentNaturalSizeChanged):
  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
  • UIProcess/ios/PageClientImplIOS.h:
  • UIProcess/ios/PageClientImplIOS.mm: (WebKit::PageClientImpl::mediaDocumentNaturalSizeChanged):
  • UIProcess/mac/PageClientImpl.h:
  • UIProcess/mac/PageClientImpl.mm: (WebKit::PageClientImpl::mediaDocumentNaturalSizeChanged):
  • WebProcess/WebCoreSupport/WebChromeClient.h:
  • WebProcess/WebCoreSupport/WebChromeClient.cpp: (WebKit::WebChromeClient::mediaDocumentNaturalSizeChanged):
  • WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::mediaDocumentNaturalSizeChanged):
  • WebProcess/WebPage/WebPage.h:
  • UIProcess/API/gtk/PageClientImpl.h: Add default, empty implementation of new pure-virtual method.
  • UIProcess/efl/WebViewEfl.h: Ditto.

2015-07-23 Jer Noble <jer.noble@apple.com>

Unreviewed build fix after r187251; rename flag -> allows.

  • UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::setAllowsMediaDocumentInlinePlayback):

2015-07-23 Jer Noble <jer.noble@apple.com>

[WK2] Add a WKWebView property for whether the view is displaying a media document
https://bugs.webkit.org/show_bug.cgi?id=147233

Reviewed by Beth Dakin.

Add a _isDisplayingStandaloneMediaDocument property, which queries the frame for whether
the current MIME type is one which our media engines support.

  • UIProcess/API/Cocoa/WKWebView.mm: (-[WKWebView _isDisplayingStandaloneMediaDocument]):
  • UIProcess/API/Cocoa/WKWebViewPrivate.h:
  • UIProcess/WebFrameProxy.cpp: (WebKit::WebFrameProxy::isDisplayingStandaloneMediaDocument):
  • UIProcess/WebFrameProxy.h:

2015-07-21 Jer Noble <jer.noble@apple.com>

[iOS] Add an explicit API to allow media documents to (temporarily) play inline
https://bugs.webkit.org/show_bug.cgi?id=147181

Reviewed by Beth Dakin.

Add a WKWebView(Private) API which allows MediaDocuments loaded by the view to play their contents inline, regardless
of whether inline playback is restricted on the current device.

  • UIProcess/API/Cocoa/WKWebView.mm: (-[WKWebView _setRequiresUserActionForMediaPlayback:]): Added. Pass through to WebPageProxy. (-[WKWebView _allowsMediaDocumentInlinePlayback]): Ditto.
  • UIProcess/API/Cocoa/WKWebViewPrivate.h:
  • UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::allowsMediaDocumentInlinePlayback): Simple getter. (WebKit::WebPageProxy::setAllowsMediaDocumentInlinePlayback): Set, and conditionally pass the new value to WebPage.
  • UIProcess/WebPageProxy.h:
  • WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::setAllowsMediaDocumentInlinePlayback): Set, and conditionally notify WebCore page of the change.
  • WebProcess/WebPage/WebPage.h: (WebKit::WebPage::allowsMediaDocumentInlinePlayback): Simple getter.
  • WebProcess/WebPage/WebPage.messages.in: Add new messages.
7:46 AM Changeset in webkit [187389] by clopez@igalia.com
  • 2 edits in trunk/Source/WTF

REGRESSION (bmalloc): WebKit performance tests don't report memory stats.
https://bugs.webkit.org/show_bug.cgi?id=141247

Reviewed by Geoffrey Garen.

Meanwhile a better way of getting memory stats with bmalloc is not found
(see bug 136592), we can report as memory stats the resident set size
information that the operating system provides to us.

This at least should be good enough to get back the memory stats on the
performance tests and being able to track down memory usage regressions
at https://perf.webkit.org

  • wtf/FastMalloc.cpp:

(WTF::fastMallocStatistics): Report maxrss data as committedVMBytes.

2:19 AM Changeset in webkit [187388] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebCore

Another build fix. Removed the unused argument.

  • platform/graphics/ca/cocoa/PlatformCALayerCocoa.mm:

(PlatformCALayer::setTileSize):

1:07 AM Changeset in webkit [187387] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebCore

iOS build fix after r187384.

  • platform/graphics/ca/cocoa/PlatformCALayerCocoa.mm:

(PlatformCALayer::setTileSize):

12:59 AM Changeset in webkit [187386] by Chris Fleizach
  • 2 edits in trunk/Source/WebCore

AX: iOS: Video "start playback" playback controls not accessible
https://bugs.webkit.org/show_bug.cgi?id=147285

Reviewed by Jer Noble.

The start playback control also needs the right label.

  • Modules/mediacontrols/mediaControlsiOS.js:

(ControllerIOS.prototype.createBase):

Jul 24, 2015:

11:02 PM Changeset in webkit [187385] by timothy_horton@apple.com
  • 2 edits
    1 delete in trunk/Source/WebCore

Remove a file that was accidentally added in r142320

  • PlatformMac.cmake:
  • platform/mac/PlatformSpeechSynthesisMac.mm: Removed.

It looks like Chris added PlatformSpeechSynthesisMac and
PlatformSpeechSynthesizerMac but only meant to add the latter.

10:59 PM Changeset in webkit [187384] by timothy_horton@apple.com
  • 1 edit
    2 deletes in trunk/Source/WebCore

Remove a file that was supposed to be removed in r158096

  • platform/graphics/mac/WebTiledLayer.h: Removed.
  • platform/graphics/mac/WebTiledLayer.mm: Removed.
10:38 PM Changeset in webkit [187383] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebKit2

iOS 8 build fix attempt after r187215.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _snapshotRect:intoImageOfWidth:completionHandler:]): Deleted.

10:29 PM Changeset in webkit [187382] by jinwoo7.song@samsung.com
  • 2 edits in trunk/Source/WebCore

[EFL] Build fix in ProtectionSpaceBase.cpp
https://bugs.webkit.org/show_bug.cgi?id=147289

Reviewed by Brent Fulgham.

Fix the build break for [-Werror=return-type] error.

  • platform/network/ProtectionSpaceBase.cpp:

(WebCore::ProtectionSpaceBase::isPasswordBased):

9:32 PM Changeset in webkit [187381] by Brent Fulgham
  • 3 edits in trunk/LayoutTests

[Win] Test results gardening.

  • platform/win/TestExpectations:
  • platform/win/js/dom/global-constructors-attributes-expected.txt:
8:51 PM Changeset in webkit [187380] by mmaxfield@apple.com
  • 14 edits
    2 adds in trunk

text-overflow: ellipsis is broken by text-align: right and padding-left
https://bugs.webkit.org/show_bug.cgi?id=121902

Reviewed by Zalan Bujtas.

Source/WebCore:

Right offsets (which include padding) are not the same as widths (which don't).

Test: fast/inline/padding-ellipsis-right.html

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::updateLogicalWidthForRightAlignedBlock):
(WebCore::RenderBlockFlow::checkLinesForTextOverflow):

LayoutTests:

Updating expected results.

  • fast/inline/padding-ellipsis-right-expected.html: Added.
  • fast/inline/padding-ellipsis-right.html: Added.
  • platform/mac/fast/css/text-overflow-ellipsis-text-align-center-expected.png:
  • platform/mac/fast/css/text-overflow-ellipsis-text-align-center-expected.txt:
  • platform/mac/fast/css/text-overflow-ellipsis-text-align-left-expected.png:
  • platform/mac/fast/css/text-overflow-ellipsis-text-align-left-expected.txt:
  • platform/mac/fast/css/text-overflow-ellipsis-text-align-right-expected.png:
  • platform/mac/fast/css/text-overflow-ellipsis-text-align-right-expected.txt:
  • platform/mac/fast/css/vertical-text-overflow-ellipsis-text-align-center-expected.png:
  • platform/mac/fast/css/vertical-text-overflow-ellipsis-text-align-center-expected.txt:
  • platform/mac/fast/css/vertical-text-overflow-ellipsis-text-align-left-expected.png:
  • platform/mac/fast/css/vertical-text-overflow-ellipsis-text-align-right-expected.png:
  • platform/mac/fast/css/vertical-text-overflow-ellipsis-text-align-right-expected.txt:
8:41 PM Changeset in webkit [187379] by mitz@apple.com
  • 2 edits in trunk/Source/WebCore

Tried to fix the iOS 9 build after r187375.

  • platform/network/mac/CookieJarMac.mm:
8:13 PM Changeset in webkit [187378] by hyungwook.lee@navercorp.com
  • 2 edits in trunk/Tools

Unreviewed, updated my nick name in contributors.json

  • Scripts/webkitpy/common/config/contributors.json:
7:37 PM Changeset in webkit [187377] by commit-queue@webkit.org
  • 10 edits
    2 adds in trunk

[MSE] Incorrect sample timestamps when using "sequence" mode
https://bugs.webkit.org/show_bug.cgi?id=147252

Patch by Sajid Anwar <sajidanwar94@gmail.com> on 2015-07-24
Reviewed by Jer Noble.

Source/WebCore:

Test: media/media-source/media-source-sequence-timestamps.html

According to the specification, the "sequence" mode indicates that the samples in the buffer will use generated timestamps
instead of the presentation/decode timestamps already present in the sample. The current implementation always adds
the current timestamp offset to the samples' timestamps, as expected for "segments" mode.

Add a method to media samples to allow their presentation and decode timestamps to be set to specific values.

  • Modules/mediasource/SourceBuffer.cpp:

(WebCore::SourceBuffer::sourceBufferPrivateDidReceiveSample): Fix an algorithm condition to align with the specification, and

correctly set the presentation and decode timestamps of samples when in "sequence" mode.

  • platform/MediaSample.h:
  • platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:

(WebCore::MediaSampleAVFObjC::setTimestamps): Add a new method to set the values of a sample's presentation and decode timestamps.

  • platform/mock/mediasource/MockBox.h:

(WebCore::MockBox::setTimestamps): Set m_presentationTimestamp and m_decodeTimestamp.

  • platform/mock/mediasource/MockSourceBufferPrivate.cpp:

(WebCore::MockMediaSample::offsetTimestampsBy): Pass to MockBox.

  • testing/Internals.cpp:

(WebCore::Internals::setShouldGenerateTimestamps): Expose the internal setShouldGenerateTimestamps method of SourceBuffer.

  • testing/Internals.h:
  • testing/Internals.idl:

LayoutTests:

  • media/media-source/media-source-sequence-timestamps-expected.txt: Added.
  • media/media-source/media-source-sequence-timestamps.html: Added.
6:08 PM Changeset in webkit [187376] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

Don't create UIWebFormAccessory if we don't require accessory view.
https://bugs.webkit.org/show_bug.cgi?id=147283

Don't try to intialize _formAccessoryView if requiresAccessoryView returns false since we don't
need it yet.

Patch by Yongjun Zhang <yongjun_zhang@apple.com> on 2015-07-24
Reviewed by Dan Bernstein.

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView inputAccessoryView]):

5:33 PM Changeset in webkit [187375] by andersca@apple.com
  • 9 edits in trunk/Source

WKWebsiteDataStore remove methods don't properly delete cookies
https://bugs.webkit.org/show_bug.cgi?id=147282
rdar://problem/21948230

Reviewed by Sam Weinig.

Source/WebCore:

Rename deleteCookiesForHostname to deleteCookiesForHostnames and
make it take a vector of hostnames instead.

Also, fix the Mac implementation to not be O(n2) by putting all cookies
in a dictionary keyed on the domain.

Also make sure to call _saveStorage after deleting cookies.

Finally, get rid of deleteCookiesForHostname from CookieJarCFNet.cpp and
use the Mac implementation on iOS as well. Just stub out deleteCookiesForHostnames
on Windows since nobody is calling it.

  • platform/network/PlatformCookieJar.h:
  • platform/network/cf/CookieJarCFNet.cpp:

(WebCore::deleteCookiesForHostnames):
(WebCore::deleteCookiesForHostname): Deleted.

  • platform/network/mac/CookieJarMac.mm:

(WebCore::deleteCookiesForHostnames):
(WebCore::deleteAllCookiesModifiedSince):
(WebCore::deleteCookiesForHostname): Deleted.

  • platform/network/soup/CookieJarSoup.cpp:

(WebCore::deleteCookiesForHostnames):
(WebCore::deleteCookiesForHostname): Deleted.

  • platform/spi/cf/CFNetworkSPI.h:

Source/WebKit2:

  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::deleteWebsiteDataForOrigins):
Call deleteCookiesForHostnames instead of iterating over each hostname.

  • WebProcess/Cookies/WebCookieManager.cpp:

(WebKit::WebCookieManager::deleteCookiesForHostname):
Call deleteCookiesForHostnames.

5:29 PM Changeset in webkit [187374] by bshafiei@apple.com
  • 1 copy in tags/Safari-601.1.43

New tag.

5:29 PM Changeset in webkit [187373] by bshafiei@apple.com
  • 1 copy in tags/Safari-600.8.6

New tag.

5:29 PM Changeset in webkit [187372] by bshafiei@apple.com
  • 1 copy in tags/Safari-600.1.4.17.4

New tag.

4:26 PM Changeset in webkit [187371] by Chris Fleizach
  • 18 edits
    2 adds in trunk

AX: scrollable elements do not allow 3-finger swipe
https://bugs.webkit.org/show_bug.cgi?id=141893

Reviewed by Mario Sanchez Prada.

Source/WebCore:

To allow iOS Accessibility to perform by-page scrolling in overflow areas, we move
that scrolling code into AccessibilityObject and then iterate all the possible ScrollableAreas,
rather than just finding the parents that are ScrollViews.

Test: platform/ios-simulator/accessibility/scroll-in-overflow-div.html

  • accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::scrollAreaAndAncestor):
(WebCore::AccessibilityObject::scrollPosition):
(WebCore::AccessibilityObject::scrollVisibleContentRect):
(WebCore::AccessibilityObject::scrollContentsSize):
(WebCore::AccessibilityObject::scrollByPage):

  • accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:

(-[WebAccessibilityObjectWrapper accessibilityScroll:]):
(-[WebAccessibilityObjectWrapper convertPointToScreenSpace:]):
(-[WebAccessibilityObjectWrapper _accessibilityScrollPosition]):
(-[WebAccessibilityObjectWrapper _accessibilityScrollSize]):
(-[WebAccessibilityObjectWrapper _accessibilityScrollVisibleRect]):
(-[WebAccessibilityObjectWrapper accessibilityElementDidBecomeFocused]):

Tools:

Support global notification listeners for iOS code.
Fix an issue in DRT where the dictionary of data was not being passed back to the layout test for the notication callback.
Implement scrollUp/Down/Left/Right.

  • DumpRenderTree/AccessibilityController.h:
  • DumpRenderTree/AccessibilityUIElement.cpp:

(increaseTextSelectionCallback):
(scrollPageUpCallback):
(scrollPageDownCallback):
(scrollPageLeftCallback):
(scrollPageRightCallback):
(decreaseTextSelectionCallback):
(getElementTextLengthCallback):
(AccessibilityUIElement::getJSClass):

  • DumpRenderTree/AccessibilityUIElement.h:
  • DumpRenderTree/ios/AccessibilityControllerIOS.mm:

(AccessibilityController::~AccessibilityController):
(AccessibilityController::elementAtPoint):
(AccessibilityController::addNotificationListener):
(AccessibilityController::platformResetToConsistentState):
(AccessibilityController::removeNotificationListener):

  • DumpRenderTree/ios/AccessibilityUIElementIOS.mm:

(AccessibilityUIElement::AccessibilityUIElement):
(AccessibilityUIElement::subrole):
(AccessibilityUIElement::scrollPageUp):
(AccessibilityUIElement::scrollPageDown):
(AccessibilityUIElement::scrollPageLeft):
(AccessibilityUIElement::scrollPageRight):
(AccessibilityUIElement::roleDescription):

  • DumpRenderTree/mac/AccessibilityNotificationHandler.mm:

(-[AccessibilityNotificationHandler _notificationReceived:]):

  • WebKitTestRunner/InjectedBundle/AccessibilityController.h:
  • WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp:

(WTR::AccessibilityUIElement::linkedElement):
(WTR::AccessibilityUIElement::headerElementAtIndex):
(WTR::AccessibilityUIElement::assistiveTechnologySimulatedFocus):
(WTR::AccessibilityUIElement::scrollPageUp):
(WTR::AccessibilityUIElement::scrollPageDown):
(WTR::AccessibilityUIElement::scrollPageLeft):
(WTR::AccessibilityUIElement::scrollPageRight):

  • WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
  • WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl:
  • WebKitTestRunner/InjectedBundle/ios/AccessibilityControllerIOS.mm:

(WTR::AccessibilityController::addNotificationListener):
(WTR::AccessibilityController::removeNotificationListener):

  • WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:

(WTR::AccessibilityUIElement::AccessibilityUIElement):
(WTR::AccessibilityUIElement::assistiveTechnologySimulatedFocus):
(WTR::AccessibilityUIElement::scrollPageUp):
(WTR::AccessibilityUIElement::scrollPageDown):
(WTR::AccessibilityUIElement::scrollPageLeft):
(WTR::AccessibilityUIElement::scrollPageRight):
(WTR::AccessibilityUIElement::increaseTextSelection):

LayoutTests:

  • platform/ios-simulator/accessibility/scroll-in-overflow-div-expected.txt: Added.
  • platform/ios-simulator/accessibility/scroll-in-overflow-div.html: Added.
4:24 PM Changeset in webkit [187370] by Brent Fulgham
  • 14 edits in trunk

Source/WebCore:
[Win] Connect UserScript and UserStyleSheet through WebView.
https://bugs.webkit.org/show_bug.cgi?id=147279
<rdar://problem/21990767>

Reviewed by Dean Jackson.

Tested by http/tests/security/contentSecurityPolicy/user-style-sheet-font-crasher.html as well
as many skipped tests.

  • DerivedSources.cpp: Conditionally compile JSSecurityPolicyViolationEvent.cpp if CSP_NEXT is enabled.
  • DerivedSources.make: Generate bindings for SecurityPolicyViolationEvent.idl.
  • WebCore.vcxproj/WebCore.vcxproj: Add missing files.
  • WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.

Source/WebKit/win:
[Win] Connect UserScript and UserStyleSheet through WebView.
https://bugs.webkit.org/show_bug.cgi?id=147279
<rdar://problem/21990767>

Reviewed by Dean Jackson.

  • Interfaces/IWebViewPrivate.idl: Add updated API for 'addUserScriptToGroup' and

'addUserStyleSheetToGroup'

  • WebView.cpp:

(WebView::addUserScriptToGroup): Add implementation.
(toStringVector): Added helper function.
(WebView::addUserStyleSheetToGroup): Add implementation.
(WebView::removeUserScriptFromGroup): Ditto.
(WebView::removeUserStyleSheetFromGroup): Ditto.
(WebView::removeUserScriptsFromGroup): Ditto.
(WebView::removeUserStyleSheetsFromGroup): Ditto.
(WebView::removeAllUserContentFromGroup): Ditto.

  • WebView.h:

Tools:
[Win] Activate CSP_NEXT and Connect UserScript and UserStyleSheet through WebView.
https://bugs.webkit.org/show_bug.cgi?id=147279
<rdar://problem/21990767>

Reviewed by Dean Jackson.

  • DumpRenderTree/win/TestRunnerWin.cpp:

(TestRunner::addUserScript):
(TestRunner::addUserStyleSheet):
(TestRunner::setDeveloperExtrasEnabled):

4:12 PM Changeset in webkit [187369] by bshafiei@apple.com
  • 5 edits
    1 delete in branches/safari-600.8-branch

Merge patch for r187189. rdar://problem/21707927

4:05 PM Changeset in webkit [187368] by bshafiei@apple.com
  • 5 edits
    1 delete in branches/safari-600.1.4.17-branch

Merge patch for r187189. rdar://problem/21708281

3:43 PM Changeset in webkit [187367] by ap@apple.com
  • 6 edits in trunk/Source/WebCore

[Cocoa] Clean up server trust handling in ResourceHandle.
https://bugs.webkit.org/show_bug.cgi?id=147277
rdar://problem/21394410

Reviewed by Brady Eidson.

  • platform/network/ProtectionSpaceBase.h: (WebCore::ProtectionSpaceBase::isPasswordBased):
  • platform/network/ProtectionSpaceBase.cpp: (WebCore::ProtectionSpaceBase::isPasswordBased):

Added. This is somewhat weak, as authentication schemes could change, but I couldn't find
any better way.

  • platform/network/ResourceHandle.h:
  • platform/network/cf/ResourceHandleCFNet.cpp:

(WebCore::ResourceHandle::didReceiveAuthenticationChallenge):
(WebCore::ResourceHandle::tryHandlePasswordBasedAuthentication):

  • platform/network/mac/ResourceHandleMac.mm:

(WebCore::ResourceHandle::didReceiveAuthenticationChallenge):
(WebCore::ResourceHandle::tryHandlePasswordBasedAuthentication):
Factored out password handling, and made sure to not try that for server trust.

3:35 PM WhitespaceCollapsing edited by mmaxfield@apple.com
(diff)
3:32 PM WhitespaceCollapsing created by mmaxfield@apple.com
3:25 PM Changeset in webkit [187366] by Alan Bujtas
  • 3 edits in trunk/Source/WebCore

[iOS]: Inline video controls are blurry on scaled-down pages on non-retina devices.
https://bugs.webkit.org/show_bug.cgi?id=147272
rdar://problem/21429111

Reviewed by Simon Fraser.

Blurry inline video controls are the result of transform scaling up the content when the page
is zoomed out (page scale > 1).
This patch addresses the blurriness by switching to css zoom when the content is being scaled up.
While transform scale is a paint time operation, css zoom triggers layout and the content is getting
painted on a non-scaled graphics context.

  • Modules/mediacontrols/mediaControlsiOS.css:

(audio::-webkit-media-controls-timeline-container):

  • Modules/mediacontrols/mediaControlsiOS.js:

(ControllerIOS.prototype.set pageScaleFactor):

3:15 PM Changeset in webkit [187365] by mmaxfield@apple.com
  • 1 edit
    1 add in trunk/Websites/webkit.org

Add image for a blog post

  • blog-files/el-capitan-system-font.png: Added.
3:01 PM Changeset in webkit [187364] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Networking process crash in NetworkConnectionToWebProcess::convertMainResourceLoadToDownload while attempting to download a blob
https://bugs.webkit.org/show_bug.cgi?id=147276
rdar://problem/21423353

Reviewed by Andreas Kling.

We currently don't support downloading blobs, so for now just bail if we encounter a null loader inside
convertMainResourceLoadToDownload (which happens when trying to download a blob URL).

  • NetworkProcess/NetworkConnectionToWebProcess.cpp:

(WebKit::NetworkConnectionToWebProcess::didCleanupResourceLoader):
Rewrite the assertion to be more clear - it's fine to do an extra hash lookup in debug builds.

(WebKit::NetworkConnectionToWebProcess::convertMainResourceLoadToDownload):
Bail if loader is null.

2:45 PM Changeset in webkit [187363] by Yusuke Suzuki
  • 7 edits
    2 adds in trunk/Source/JavaScriptCore

Avoid 2 times name iteration in Object.assign
https://bugs.webkit.org/show_bug.cgi?id=147268

Reviewed by Geoffrey Garen.

Object.assign calls Object.getOwnPropertyNames & Object.getOwnPropertySymbols to collect all the names.
But exposing the private API that collects both at the same time makes the API efficient when the given Object has so many non-indexed properties.
Since Object.assign is so generic API (some form of utility API), the form of the given Object is not expected.
So the taken object may have so many non-indexed properties.

In this patch, we introduce ownEnumerablePropertyKeys private function.
It is minor changed version of [[OwnPropertyKeys]] in the ES6 spec;
It only includes enumerable properties.

By filtering out the non-enumerable properties in the exposed private function,
we avoid calling @objectGetOwnPropertyDescriptor for each property at the same time.

  • builtins/ObjectConstructor.js:

(assign):

  • runtime/CommonIdentifiers.h:
  • runtime/EnumerationMode.h:
  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::init):

  • runtime/ObjectConstructor.cpp:

(JSC::ownEnumerablePropertyKeys):

  • runtime/ObjectConstructor.h:
  • tests/stress/object-assign-enumerable.js: Added.

(shouldBe):

  • tests/stress/object-assign-order.js: Added.

(shouldBe):

2:29 PM Changeset in webkit [187362] by ggaren@apple.com
  • 2 edits in trunk/Source/bmalloc

vmmap crash at JavaScriptCore: 0x31cd12f6 (the JavaScript malloc zone enumerator)
https://bugs.webkit.org/show_bug.cgi?id=147274

Reviewed by Anders Carlsson.

It's not really clear why vmmap sometimes fails to read the target
process, but we can avoid a crash when it does. This is useful because
you'll still get all the non-bmalloc data out of the target process,
and bmalloc might not even be relevant to your investigation.

  • bmalloc/Zone.cpp:

(bmalloc::remoteRead): Check for failure.

2:08 PM Changeset in webkit [187361] by bshafiei@apple.com
  • 9 edits in branches/safari-600.1.4.17-branch

Merged r187359. rdar://problem/21708243

2:03 PM Changeset in webkit [187360] by ggaren@apple.com
  • 3 edits in trunk/Source/bmalloc

JavaScriptCore bmalloc should not register its malloc zone more than once
https://bugs.webkit.org/show_bug.cgi?id=147273

Reviewed by Andreas Kling.

This was a goof: The Zone constructor, by virtue of running automatically,
was registering a Zone inside the analysis process.

  • bmalloc/Zone.cpp:

(bmalloc::remoteRead): Clarify that the pointer is remote.

(bmalloc::enumerator):
(bmalloc::Zone::Zone):

  • bmalloc/Zone.h: Separate the normal constructor and the remote constructor.

The remote constructor skips zone registration since its goal is not
to register a zone in the current process or do any allocation but rather
to mirror the bytes of the zone from the target process.

1:41 PM Changeset in webkit [187359] by andersca@apple.com
  • 9 edits in branches/safari-600.8-branch

Fix fallout from merging changes for
<rdar://problem/21707887> CSP doesn't prevent image loading of <object> when page contains <video controls> and ENABLE(MEDIA_CONTROLS_SCRIPT) is enabled

Reviewed by Alexey Proskuryakov.

Source/WebCore:
Tweaked http/tests/security/isolatedWorld/image-load-should-not-bypass-main-world-csp.html so that
it will test allowing evals in non-main worlds.

  • bindings/js/ScriptController.cpp:

(WebCore::ScriptController::initScript):
Due to ContentSecurityPolicy::allowEval being modified on ToT, we'd always end up passing true for
the overrideContentSecurityPolicy parameter (since the ContentSecurityPolicy::SuppressReport parameter
was incorrectly treated as a boolean).
Fix this by merging part of the fix for bug 141316.

  • loader/cache/CachedResourceLoader.cpp:

(WebCore::CachedResourceLoader::defaultCachedResourceOptions):
The correct ContentSecurityPolicyImposition should be DoPolicyCheck. This was the case on ToT but for
some reason it was changed to SkipPolicyCheck when the patch was merged.

  • page/DOMSecurityPolicy.cpp:

(WebCore::DOMSecurityPolicy::allowsEval):
Pass false for overrideContentSecurityPolicy.

LayoutTests:

  • http/tests/security/contentSecurityPolicy/resources/track.vtt:

Replace this with a track.vtt from ToT which is actually a valid .vtt file that will parse properly.

  • http/tests/security/contentSecurityPolicy/userAgentShadowDOM/allow-object.html:

Tweak this test so it will work on the branch - setting object.data in order to force an object's URL to be loaded
when it's already got a renderer only works on ToT, so do it before appending the object element.

  • http/tests/security/isolatedWorld/image-load-should-not-bypass-main-world-csp-expected.txt:

Copy the test result from ToT and get rid of the merge conflict.

  • http/tests/security/isolatedWorld/image-load-should-not-bypass-main-world-csp.html:

Copy the test from ToT which also gives us a test for allowing eval in non-main script worlds.

1:31 PM Changeset in webkit [187358] by ap@apple.com
  • 2 edits in trunk/Source/WebCore

Remove WEBCORE_EXPORT from Page::allowsMediaDocumentInlinePlayback()
https://bugs.webkit.org/show_bug.cgi?id=147260

Reviewed by Daniel Bates.

  • page/Page.h:

(WebCore::Page::allowsMediaDocumentInlinePlayback):

1:22 PM Changeset in webkit [187357] by basile_clement@apple.com
  • 4 edits in trunk/Tools

Call fixChangeLogPatch when generating patches from webkit-patch
https://bugs.webkit.org/show_bug.cgi?id=147248

Reviewed by Geoffrey Garen.

When two consecutive patches are from the same author, diff tools
create wrong-looking diffs for ChangeLog files where the apparent added
author is actually the previous patch's author line, making it awkward
to read - and things only get worse when committing a patch and a
followup fix for the same bug shortly after.

We have a perl function in VCSUtils.pm, fixChangeLogPatch, to corrects
this, which we use in perl scripts (svn-create-patch et al). But it is
not used by webkit-patch, which is a python script, and thus creates
"bad" diffs.

In the long term, we should probably port fixChangeLogPatch to python -
but in the short term, let's make webkit-patch call perl to run
fixChangeLogPatch. We are already making various external calls there
anyway.

  • Scripts/webkitpy/common/checkout/scm/git.py:

(Git.create_patch):

  • Scripts/webkitpy/common/checkout/scm/scm.py:

(SCM.fix_changelog_patch):

  • Scripts/webkitpy/common/checkout/scm/svn.py:

(SVN.create_patch):

12:48 PM Changeset in webkit [187356] by Yusuke Suzuki
  • 13 edits in trunk/Source

Remove runtime flags for symbols
https://bugs.webkit.org/show_bug.cgi?id=147246

Reviewed by Alex Christensen.

Source/JavaScriptCore:

  • runtime/ArrayPrototype.cpp:

(JSC::ArrayPrototype::finishCreation):

  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::init): Deleted.

  • runtime/JSGlobalObject.h:
  • runtime/ObjectConstructor.cpp:

(JSC::ObjectConstructor::finishCreation):

  • runtime/RuntimeFlags.h:

Source/WebKit/mac:

  • WebView/WebPreferencesPrivate.h:

Source/WebKit/win:

  • Interfaces/IWebPreferencesPrivate.idl:

Source/WebKit2:

  • UIProcess/API/C/WKPreferencesRefPrivate.h:
  • UIProcess/API/Cocoa/WKPreferencesPrivate.h:
12:31 PM Changeset in webkit [187355] by Yusuke Suzuki
  • 26 edits
    3 adds in trunk

Object.getOwnPropertySymbols on large list takes very long
https://bugs.webkit.org/show_bug.cgi?id=146137

Reviewed by Mark Lam.

Source/JavaScriptCore:

Before this patch, Object.getOwnPropertySymbols collects all the names including strings.
And after it's done, filter the names to only retrieve the symbols.
But it's so time consuming if the given object is a large non-holed array since it has
many indexed properties and all the indexes have to be converted to uniqued_strings and
added to the collection of property names (though they may not be of the requested type
and will be filtered out later)

This patch introduces PropertyNameMode.
We leverage this mode in 2 places.

  1. PropertyNameArray side

It is set in PropertyNameArray and it filters the incoming added identifiers based on the mode.
It ensures that PropertyNameArray doesn't become so large in the pathological case.
And it ensures that non-expected typed keys by the filter (Symbols or Strings) are never added
to the property name array collections.
However it does not solve the whole problem because the huge array still incurs the many
"indexed property to uniqued string" conversion and the large iteration before adding the keys
to the property name array.

  1. getOwnPropertyNames side

So we can use the PropertyNameMode in the caller side (getOwnPropertyNames) as a hint.
When the large iteration may occur, the caller side can use the PropertyNameMode as a hint to
avoid the iteration.
But we cannot exclusively rely on these caller side checks because it would require that we
exhaustively add the checks to all custom implementations of getOwnPropertyNames as well.
This process requires manual inspection of many pieces of code, and is error prone. Instead,
we only apply the caller side check in a few strategic places where it is known to yield
performance benefits; and we rely on the filter in PropertyNameArray::add() to reject the wrong
types of properties for all other calls to PropertyNameArray::add().

In this patch, there's a concept in use that is not clear just from reading the code, and hence
should be documented here. When selecting the PropertyNameMode for the PropertyNameArray to be
instantiated, we apply the following logic:

  1. Only JavaScriptCore code is aware of ES6 Symbols.

We can assume that pre-existing external code that interfaces JSC are only looking for string named properties. This includes:

  1. WebCore bindings
  2. Serializer bindings
  3. NPAPI bindings
  4. Objective C bindings
  1. In JSC, code that compute object storage space needs to iterate both Symbol and String named properties. Hence, use PropertyNameMode::Both.
  2. In JSC, ES6 APIs that work with Symbols should use PropertyNameMode::Symbols.
  3. In JSC, ES6 APIs that work with String named properties should use PropertyNameMode::Strings.
  • API/JSObjectRef.cpp:

(JSObjectCopyPropertyNames):

  • bindings/ScriptValue.cpp:

(Deprecated::jsToInspectorValue):

  • bytecode/ObjectAllocationProfile.h:

(JSC::ObjectAllocationProfile::possibleDefaultPropertyCount):

  • runtime/EnumerationMode.h:

(JSC::EnumerationMode::EnumerationMode):
(JSC::EnumerationMode::includeSymbolProperties): Deleted.

  • runtime/GenericArgumentsInlines.h:

(JSC::GenericArguments<Type>::getOwnPropertyNames):

  • runtime/JSGenericTypedArrayViewInlines.h:

(JSC::JSGenericTypedArrayView<Adaptor>::getOwnPropertyNames):

  • runtime/JSLexicalEnvironment.cpp:

(JSC::JSLexicalEnvironment::getOwnNonIndexPropertyNames):

  • runtime/JSONObject.cpp:

(JSC::Stringifier::Stringifier):
(JSC::Stringifier::Holder::appendNextProperty):
(JSC::Walker::walk):

  • runtime/JSObject.cpp:

(JSC::JSObject::getOwnPropertyNames):

  • runtime/JSPropertyNameEnumerator.cpp:

(JSC::JSPropertyNameEnumerator::create):

  • runtime/JSPropertyNameEnumerator.h:

(JSC::propertyNameEnumerator):

  • runtime/JSSymbolTableObject.cpp:

(JSC::JSSymbolTableObject::getOwnNonIndexPropertyNames):

  • runtime/ObjectConstructor.cpp:

(JSC::objectConstructorGetOwnPropertyNames):
(JSC::objectConstructorGetOwnPropertySymbols):
(JSC::objectConstructorKeys):
(JSC::defineProperties):
(JSC::objectConstructorSeal):
(JSC::objectConstructorFreeze):
(JSC::objectConstructorIsSealed):
(JSC::objectConstructorIsFrozen):

  • runtime/PropertyNameArray.h:

(JSC::PropertyNameArray::PropertyNameArray):
(JSC::PropertyNameArray::mode):
(JSC::PropertyNameArray::addKnownUnique):
(JSC::PropertyNameArray::add):
(JSC::PropertyNameArray::isUidMatchedToTypeMode):
(JSC::PropertyNameArray::includeSymbolProperties):
(JSC::PropertyNameArray::includeStringProperties):

  • runtime/StringObject.cpp:

(JSC::StringObject::getOwnPropertyNames):

  • runtime/Structure.cpp:

(JSC::Structure::getPropertyNamesFromStructure):

Source/WebCore:

  • bindings/js/Dictionary.cpp:

(WebCore::Dictionary::getOwnPropertiesAsStringHashMap):
(WebCore::Dictionary::getOwnPropertyNames):

  • bindings/js/SerializedScriptValue.cpp:

(WebCore::CloneSerializer::serialize):

  • bridge/NP_jsobject.cpp:

(_NPN_Enumerate):

Source/WebKit/mac:

  • Plugins/Hosted/NetscapePluginInstanceProxy.mm:

(WebKit::NetscapePluginInstanceProxy::enumerate):

Source/WebKit2:

  • WebProcess/Plugins/Netscape/NPJSObject.cpp:

(WebKit::NPJSObject::enumerate):

LayoutTests:

  • js/regress/object-get-own-property-symbols-on-large-array-expected.txt: Added.
  • js/regress/object-get-own-property-symbols-on-large-array.html: Added.
  • js/regress/script-tests/object-get-own-property-symbols-on-large-array.js: Added.

(trial):

11:56 AM Changeset in webkit [187354] by basile_clement@apple.com
  • 6 edits in branches/jsc-tailcall/Source/JavaScriptCore

jsc-tailcall: Repatching tail calls as jump should depend on the opcode, not the JS CallLinkInfo
https://bugs.webkit.org/show_bug.cgi?id=147243

Reviewed by Michael Saboff.

When linking, we are currently looking at data from the JS CallLinkInfo
to determine if we have a call or jump opcode. However, even with a
tail call, the slow path uses a call opcode for simplicity.

This adds the information that we are performing a tail call into the
CodeLocationNearCall class, which allows us to link as jump or call
based on the actual opcode.

This is a conceptual error that couldn't be found on X86 architecture
since the patching of jump and calls is identical there.

  • assembler/AbstractMacroAssembler.h:

(JSC::AbstractMacroAssembler::repatchNearCall):

  • assembler/CodeLocation.h:

(JSC::CodeLocationNearCall::CodeLocationNearCall):
(JSC::CodeLocationNearCall::isTail):
(JSC::CodeLocationCommon::nearCallAtOffset):

  • assembler/LinkBuffer.h:

(JSC::LinkBuffer::locationOfNearCall):

  • assembler/RepatchBuffer.h:

(JSC::RepatchBuffer::relink):

  • jit/Repatch.cpp:

(JSC::linkSlowFor):
(JSC::linkFor):
(JSC::revertCall):
(JSC::linkPolymorphicCall):

11:51 AM Changeset in webkit [187353] by ddkilzer@apple.com
  • 4 edits in trunk/Source/WebCore

REGRESSION (r187149): Build fails when CSS_SELECTORS_LEVEL4 is disabled

This is a follow-up fix to:

[CSS Selectors Level 4] Add #ifdefs to the new '>>' descendant combinator
<https://bugs.webkit.org/show_bug.cgi?id=147184>

  • css/CSSParserValues.cpp:

(WebCore::CSSParserSelector::appendTagHistory):

  • css/CSSParserValues.h:
  • css/CSSSelector.h:
  • Change ENABLE_CSS_SELECTORS_LEVEL4 to ENABLE(CSS_SELECTORS_LEVEL4).
11:48 AM Changeset in webkit [187352] by Devin Rousso
  • 3 edits
    2 adds in trunk

Web Inspector: Editing non-inspector-stylesheet rule selectors fails after the first change
https://bugs.webkit.org/show_bug.cgi?id=147229

Reviewed by Timothy Hatcher.

Source/WebCore:

Test: inspector/css/modify-rule-selector.html

  • inspector/InspectorStyleSheet.cpp:

(WebCore::InspectorStyleSheet::setRuleSelector):
Now checks to see if the stylesheet is not mutated before making the change to the
rule's selector, and if so mark it as not mutated to allow future edits.

LayoutTests:

  • inspector/css/modify-rule-selector-expected.txt: Added.
  • inspector/css/modify-rule-selector.html: Added.
11:40 AM Changeset in webkit [187351] by saambarati1@gmail.com
  • 15 edits
    1 add in trunk

[ES6] Add support for default parameters
https://bugs.webkit.org/show_bug.cgi?id=38409

Reviewed by Filip Pizlo.

Source/JavaScriptCore:

This patch implements ES6 default parameters according to the ES6
specification. This patch builds off the components introduced with
"let" scoping and parsing function parameters in the same parser
arena as the function itself. "let" scoping allows functions with default
parameter values to place their parameters under the TDZ. Parsing function
parameters in the same parser arena allows the FunctionParameters AST node
refer to ExpressionNodes.

The most subtle part of this patch is how we allocate lexical environments
when functions have default parameter values. If a function has default
parameter values then there must be a separate lexical environment for
its parameters. Then, the function's "var" lexical environment must have
the parameter lexical environment as its parent. The BytecodeGenerator
takes great care to not allocate the "var" lexical environment before its
really needed.

The "arguments" object for a function with default parameters will never be
a mapped arugments object. It will always be a cloned arugments object.

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::generate):
(JSC::BytecodeGenerator::BytecodeGenerator):
(JSC::BytecodeGenerator::~BytecodeGenerator):
(JSC::BytecodeGenerator::initializeDefaultParameterValuesAndSetupFunctionScopeStack):
(JSC::BytecodeGenerator::initializeNextParameter):
(JSC::BytecodeGenerator::initializeVarLexicalEnvironment):
(JSC::BytecodeGenerator::visibleNameForParameter):
(JSC::BytecodeGenerator::emitLoadGlobalObject):
(JSC::BytecodeGenerator::pushLexicalScopeInternal):
(JSC::BytecodeGenerator::pushLexicalScope):
(JSC::BytecodeGenerator::popLexicalScope):

  • bytecompiler/BytecodeGenerator.h:

(JSC::BytecodeGenerator::lastOpcodeID):

  • bytecompiler/NodesCodegen.cpp:

(JSC::FunctionNode::emitBytecode):

  • jit/JITOperations.cpp:
  • parser/ASTBuilder.h:

(JSC::ASTBuilder::createElementList):
(JSC::ASTBuilder::createFormalParameterList):
(JSC::ASTBuilder::appendParameter):
(JSC::ASTBuilder::createClause):
(JSC::ASTBuilder::createClauseList):

  • parser/Nodes.h:

(JSC::FunctionParameters::size):
(JSC::FunctionParameters::at):
(JSC::FunctionParameters::hasDefaultParameterValues):
(JSC::FunctionParameters::append):

  • parser/Parser.cpp:

(JSC::Parser<LexerType>::parseVariableDeclarationList):
(JSC::Parser<LexerType>::createBindingPattern):
(JSC::Parser<LexerType>::tryParseDestructuringPatternExpression):
(JSC::Parser<LexerType>::parseDestructuringPattern):
(JSC::Parser<LexerType>::parseFormalParameters):
(JSC::Parser<LexerType>::parseFunctionParameters):

  • parser/Parser.h:

(JSC::Scope::declareParameter):

  • parser/SyntaxChecker.h:

(JSC::SyntaxChecker::createElementList):
(JSC::SyntaxChecker::createFormalParameterList):
(JSC::SyntaxChecker::appendParameter):
(JSC::SyntaxChecker::createClause):
(JSC::SyntaxChecker::createClauseList):

  • tests/stress/es6-default-parameters.js: Added.

(assert):
(shouldThrow):
(shouldThrowSyntaxError):
(shouldThrowTDZ):
(basic):
(basicFunctionCaptureInDefault.basicFunctionCaptureInDefault.basicCaptured):
(basicCaptured.basicCaptured.tricky):
(strict):
(playground):
(scoping):
(augmentsArguments1):
(augmentsArguments2):
(augmentsArguments3):
(augmentsArguments4):
(augmentsArguments5):

LayoutTests:

  • js/destructuring-assignment-default-values-expected.txt:
  • js/parser-syntax-check-expected.txt:
  • js/script-tests/destructuring-assignment-default-values.js:

(shouldThrow): Deleted.

  • js/script-tests/parser-syntax-check.js:
11:39 AM Changeset in webkit [187350] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Add custom parameter lists for new DOM append/prepend/before/after/replaceWith methods
https://bugs.webkit.org/show_bug.cgi?id=147257

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-07-24
Reviewed by Timothy Hatcher.

  • UserInterface/Models/NativeFunctionParameters.js:
11:36 AM Changeset in webkit [187349] by calvaris@igalia.com
  • 3 edits in trunk/Source/JavaScriptCore

Remove JS Promise constructor unused piece of code
https://bugs.webkit.org/show_bug.cgi?id=147262

Reviewed by Geoffrey Garen.

  • runtime/JSPromiseConstructor.cpp:

(JSC::constructPromise): Deleted.

  • runtime/JSPromiseConstructor.h: Removed JSC::constructPromise.
11:32 AM Changeset in webkit [187348] by mark.lam@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Add WASM files to vcxproj files.
https://bugs.webkit.org/show_bug.cgi?id=147264

Reviewed by Geoffrey Garen.

This is a follow up to http://trac.webkit.org/changeset/187254 where WASM files
were introduced but were not able to be added to the vcxproj files yet.

11:23 AM Changeset in webkit [187347] by fpizlo@apple.com
  • 2 edits
    1 add in trunk/Source/JavaScriptCore

DFG::safeToExecute() is wrong for MultiGetByOffset, doesn't consider the structures of the prototypes that get loaded from
https://bugs.webkit.org/show_bug.cgi?id=147250

Reviewed by Geoffrey Garen.

This fixes a nasty - but currently benign - bug in DFG::safeToExecute(). That function
will tell you if hoisting a node to some point is safe in the sense that the node will
not crash the VM if it executes at that point. A node may be unsafe to execute if we
cannot prove that at that point, the memory it is loading is not garbage. This is a
necessarily loose notion - for example it's OK to hoist a load if we haven't proved
that the load makes semantic sense at that point, since anyway the place where the node
did get used will still be guarded by any such semantic checks. But because we may also
hoist uses of the load, we need to make sure that it doesn't produce a garbage value.
Also, we need to ensure that the load won't trap. Hence safeToExecute() returns true
anytime we can be sure that a node will not produce a garbage result (i.e. a malformed
JSValue or object pointer) and will not trap when executed at the point in question.

The bug is that this verification isn't performed for the loads from prototypes inside
MultiGetByOffset. DFG::ByteCodeParser will guard MultiGetByOffset with CheckStructure's
on the prototypes. So, hypothetically, you might end up hoisting a MultiGetByOffset
above those structure checks, which would mean that we might load a value from a memory
location without knowing that the location is valid. It might then return the value
loaded.

This never happens in practice. Those structure checks are more hoistable that the
MultiGetByOffset, since they read a strict subset of the MultiGetByOffset's abstract
heap reads. Also, we hoist in program order. So, those CheckStructure's will always be
hoisted before the MultiGetByOffset gets hoisted.

But we should fix this anyway. DFG::safeToExecute() has a clear definition of what a
"true" return means for IR transformations, and it fails in satisfying that definition
for MultiGetByOffset.

There are various approaches we can use for making this safe. I considered two:

1) Have MultiGetByOffset refer to the prototypes it is loading from in IR, so that we

can check if it's safe to load from them.


2) Turn off MultiGetByOffset hoisting when it will emit loads from prototypes, and the

prototype structure isn't being watched.


I ended up using (2), because it will be the most natural solution once I finish
https://bugs.webkit.org/show_bug.cgi?id=146929. Already now, it's somewhat more natural
than (1) since that requires more extensive IR changes. Also, (2) will give us what we
want in *most* cases: we will usually watch the prototype structure, and we will
usually constant-fold loads from prototypes. Both of these usually-true things would
have to become false for MultiGetByOffset hoisting to be disabled by this change.

This change also adds my attempt at a test, though it's not really a test of this bug.
This bug is currently benign. But, the test does at least trigger the logic to run,
which is better than nothing.

  • dfg/DFGSafeToExecute.h:

(JSC::DFG::safeToExecute):

  • tests/stress/multi-get-by-offset-hoist-around-structure-check.js: Added.

(foo):

10:59 AM Changeset in webkit [187346] by Lucas Forschler
  • 6 edits in branches/safari-601.1-branch/Source/WebCore

Merged r187149. rdar://problem/21935769

10:51 AM Changeset in webkit [187345] by Simon Fraser
  • 2 edits in trunk/Source/WebKit2

Recode.net gets into a continual resize loop in split fullscreen
https://bugs.webkit.org/show_bug.cgi?id=147266
rdar://problem/21409047

Reviewed by Tim Horton.

In split fullscreen, we use fixed layout and scale to shrink pages down to
fit a given width. This is re-evaluated every time the document width changes.
However some pages, like recode.net, end up continually resizing because
when laid out unconstrained they use a narrower width than when laid out with
a fixed layout size. In fixed layout, they actually use more width than the fixed
layout size.

Detect and break this cycle by just not re-scaling when we've done one fixed layout,
and the document is now taking more width than the fixed layout width.

  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:

(WebKit::TiledCoreAnimationDrawingArea::scaleViewToFitDocumentIfNeeded):

9:07 AM Changeset in webkit [187344] by commit-queue@webkit.org
  • 7 edits in trunk

CSS "content" property is missing in getComputedStyles
https://bugs.webkit.org/show_bug.cgi?id=147255

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-07-24
Reviewed by Simon Fraser.

Source/WebCore:

  • css/CSSComputedStyleDeclaration.cpp:

LayoutTests:

  • fast/css/getComputedStyle/computed-style-expected.txt:
  • fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
  • fast/css/getComputedStyle/resources/property-names.js:
  • svg/css/getComputedStyle-basic-expected.txt:
7:49 AM Changeset in webkit [187343] by Csaba Osztrogonác
  • 2 edits in trunk/LayoutTests

[EFL] many fast tests are flaky
https://bugs.webkit.org/show_bug.cgi?id=145835

Unreviewed gardening. These tests aren't flakey now, let's unskip them.

  • platform/efl/TestExpectations:
7:17 AM Changeset in webkit [187342] by Csaba Osztrogonác
  • 9 edits
    7 adds in trunk/LayoutTests

[EFL] Multi-column tests have been failed since r167808
https://bugs.webkit.org/show_bug.cgi?id=141496

Unreviewed gardening, updated expected results.

  • platform/efl/TestExpectations:
  • platform/efl/fast/multicol/client-rects-expected.png:
  • platform/efl/fast/multicol/client-rects-expected.txt:
  • platform/efl/fast/multicol/client-rects-spanners-complex-expected.png: Added.
  • platform/efl/fast/multicol/client-rects-spanners-complex-expected.txt:
  • platform/efl/fast/multicol/client-rects-spanners-expected.png: Added.
  • platform/efl/fast/multicol/client-rects-spanners-expected.txt:
  • platform/efl/fast/multicol/layers-split-across-columns-expected.png:
  • platform/efl/fast/multicol/layers-split-across-columns-expected.txt:
  • platform/efl/fast/multicol/newmulticol/client-rects-expected.png: Added.
  • platform/efl/fast/multicol/newmulticol/client-rects-expected.txt:
  • platform/efl/fast/multicol/pagination/LeftToRight-tb-hittest-expected.png: Added.
  • platform/efl/fast/multicol/pagination/LeftToRight-tb-hittest-expected.txt: Added.
  • platform/efl/fast/multicol/pagination/RightToLeft-rl-hittest-expected.png: Added.
  • platform/efl/fast/multicol/pagination/RightToLeft-rl-hittest-expected.txt: Added.
7:06 AM Changeset in webkit [187341] by Csaba Osztrogonác
  • 2 edits in trunk/LayoutTests

[EFL] Unreviewed gardening, unskip now passing tests.

  • platform/efl/TestExpectations:
5:59 AM Changeset in webkit [187340] by Csaba Osztrogonác
  • 2 edits in trunk/LayoutTests

[EFL] Unreviewed gardening. Updated since MEDIA_STREAM is enabled.

  • platform/efl/js/dom/constructor-length-expected.txt:
5:51 AM Changeset in webkit [187339] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WTF

Remove the unused GCC workaround - std::is_trivially_destructible
https://bugs.webkit.org/show_bug.cgi?id=147226

Reviewed by Darin Adler.

  • wtf/StdLibExtras.h:
5:06 AM Changeset in webkit [187338] by Carlos Garcia Campos
  • 17 edits
    5 adds in trunk/Source

[GStreamer] Crashes during plugin installation
https://bugs.webkit.org/show_bug.cgi?id=144099

Reviewed by Philippe Normand.

Source/WebCore:

Add new methods to MediaPlayerClient and ChromeClient to request
the API layer to start the installer when there are missing media
plugins.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::requestInstallMissingPlugins): Pass
the request to the ChromeClient.

  • html/HTMLMediaElement.h:
  • page/ChromeClient.h:
  • platform/graphics/MediaPlayer.h:

(WebCore::MediaPlayerClient::requestInstallMissingPlugins):

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::MediaPlayerPrivateGStreamer::~MediaPlayerPrivateGStreamer):
Invalidate any pending request to install missing media plugins.
(WebCore::MediaPlayerPrivateGStreamer::handleMessage): In case of
missing plugins message, start a request to install them if
supported by GST.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:

(WebCore::MediaPlayerRequestInstallMissingPluginsCallback::create):
(WebCore::MediaPlayerRequestInstallMissingPluginsCallback::MediaPlayerRequestInstallMissingPluginsCallback):
(WebCore::MediaPlayerRequestInstallMissingPluginsCallback::invalidate):
(WebCore::MediaPlayerRequestInstallMissingPluginsCallback::complete):

Source/WebKit2:

Move the missing plugins installation to the UI process, ensuring
there's a single installer running and cancelling the request when
the page is closed or the media player is deleted.

  • PlatformEfl.cmake: Add new files to compilation.
  • PlatformGTK.cmake: Ditto.
  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in: Add

RequestInstallMissingMediaPlugins message.

  • UIProcess/gstreamer/WebPageProxyGStreamer.cpp: Added.

(WebKit::WebPageProxy::requestInstallMissingMediaPlugins): Call
gst_install_plugins_async() and send
DidEndRequestInstallMissingMediaPlugins message back to the web
process when done.

  • WebProcess/WebCoreSupport/WebChromeClient.cpp:

(WebKit::WebChromeClient::requestInstallMissingMediaPlugins): Call
WebPage::requestInstallMissingMediaPlugins().

  • WebProcess/WebCoreSupport/WebChromeClient.h:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::close): Invalidate the install missing plugins
request callback.

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in: Add

DidEndRequestInstallMissingMediaPlugins message.

  • WebProcess/WebPage/gstreamer/WebPageGStreamer.cpp: Added.

(WebKit::WebPage::requestInstallMissingMediaPlugins): Send
RequestInstallMissingMediaPlugins to the UI process or complete
the request early if there's already a request in progress.
(WebKit::WebPage::didEndRequestInstallMissingMediaPlugins):
Complete the request.

4:58 AM Changeset in webkit [187337] by Carlos Garcia Campos
  • 3 edits in trunk/Source/WebKit2

Unreviewed. Fix the build with MEDIA_STREAM disabled after r187282.

RealtimeMediaSource is only defined when MEDIA_STREAM is enabled.

  • UIProcess/UserMediaPermissionRequestProxy.cpp:
  • UIProcess/UserMediaPermissionRequestProxy.h:
4:27 AM Changeset in webkit [187336] by Carlos Garcia Campos
  • 3 edits in trunk/Source/WebKit2

REGRESSION(r187100): [GTK] ASSERTION FAILED: Attempt to access post layout data before receiving it when typing backspace
https://bugs.webkit.org/show_bug.cgi?id=147196

Reviewed by Žan Doberšek.

Do not try to use the PostLayoutData from EditorState when
isMissingPostLayoutData is true. That happens when there's a
layout pending, and EditorStateChanged is sent again after that
layout with the post layout data. So we can just return early and
wait until the second message.

  • UIProcess/API/gtk/WebKitEditorState.cpp:

(webkitEditorStateChanged):

  • UIProcess/API/gtk/WebKitWebViewBase.cpp:

(webkitWebViewBaseUpdateTextInputState):

1:48 AM Changeset in webkit [187335] by matthew_hanson@apple.com
  • 12 edits in branches/safari-601.1-branch

Merge custom patch for rdar://problem/21953865

1:23 AM Changeset in webkit [187334] by matthew_hanson@apple.com
  • 2 edits in branches/safari-601.1-branch/Source/WebCore

Merge r187036. rdar://problem/21901881

1:18 AM Changeset in webkit [187333] by matthew_hanson@apple.com
  • 2 edits in branches/safari-601.1-branch/Source/WebKit2

Merge r187268. rdar://problem/21664211

1:03 AM Changeset in webkit [187332] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

commit-queue flags in webkit-patch are confusing
https://bugs.webkit.org/show_bug.cgi?id=88694

Patch by Dean Johnson <dean_johnson@apple.com> on 2015-07-24
Reviewed by Csaba Osztrogonác.

  • Scripts/webkitpy/tool/steps/options.py:

(Options): Updated help string to be more descriptive.

12:55 AM Changeset in webkit [187331] by matthew_hanson@apple.com
  • 2 edits in branches/safari-601.1-branch/Source/WebKit2

Merge r187288. rdar://problem/21929532

12:54 AM Changeset in webkit [187330] by matthew_hanson@apple.com
  • 2 edits in branches/safari-601.1-branch/Source/WebKit2

Merge r187286. rdar://problem/21953359

12:54 AM Changeset in webkit [187329] by matthew_hanson@apple.com
  • 5 edits in branches/safari-601.1-branch/Source/WebCore

Merge r187274. rdar://problem/21905756

12:54 AM Changeset in webkit [187328] by matthew_hanson@apple.com
  • 3 edits
    4 adds in branches/safari-601.1-branch

Merge r187271. rdar://problem/21929247

12:54 AM Changeset in webkit [187327] by matthew_hanson@apple.com
  • 3 edits in branches/safari-601.1-branch/Source/WebKit2

Merge r187267. rdar://problem/21664211

12:54 AM Changeset in webkit [187326] by matthew_hanson@apple.com
  • 2 edits in branches/safari-601.1-branch/Source/WebKit2

Merge r187266. rdar://problem/21910578

12:54 AM Changeset in webkit [187325] by matthew_hanson@apple.com
  • 2 edits in branches/safari-601.1-branch/Source/WebKit2

Merge r187255. rdar://problem/21875510

12:54 AM Changeset in webkit [187324] by matthew_hanson@apple.com
  • 2 edits in branches/safari-601.1-branch/Source/WebKit2

Merge r187250. rdar://problem/21968460

12:54 AM Changeset in webkit [187323] by matthew_hanson@apple.com
  • 3 edits
    2 adds in branches/safari-601.1-branch

Merge r187248. rdar://problem/21949735

12:54 AM Changeset in webkit [187322] by matthew_hanson@apple.com
  • 2 edits in branches/safari-601.1-branch/Source/WebCore

Merge r187219. rdar://problem/21032083

12:54 AM Changeset in webkit [187321] by matthew_hanson@apple.com
  • 2 edits in branches/safari-601.1-branch/Source/WebCore

Merge r187216. rdar://problem/21032083

12:54 AM Changeset in webkit [187320] by matthew_hanson@apple.com
  • 5 edits in branches/safari-601.1-branch/Source

Merge r187215. rdar://problem/21032083

12:54 AM Changeset in webkit [187319] by matthew_hanson@apple.com
  • 2 edits in branches/safari-601.1-branch/Source/WebKit2

Merge r187212. rdar://problem/21945775

12:54 AM Changeset in webkit [187318] by matthew_hanson@apple.com
  • 2 edits in branches/safari-601.1-branch/Source/WebInspectorUI

Merge r187209. rdar://problem/21946519

12:54 AM Changeset in webkit [187317] by matthew_hanson@apple.com
  • 3 edits in branches/safari-601.1-branch/Source/WebCore

Merge r187203. rdar://problem/21012688

12:54 AM Changeset in webkit [187316] by matthew_hanson@apple.com
  • 2 edits in branches/safari-601.1-branch/Source/WebKit2

Merge r187199. rdar://problem/21945775

12:54 AM Changeset in webkit [187315] by matthew_hanson@apple.com
  • 2 edits in branches/safari-601.1-branch/Source/WebKit2

Merge r187198. rdar://problem/21945775

12:54 AM Changeset in webkit [187314] by matthew_hanson@apple.com
  • 6 edits in branches/safari-601.1-branch/Source/WebKit2

Merge r187193. rdar://problem/21945775

12:54 AM Changeset in webkit [187313] by matthew_hanson@apple.com
  • 4 edits
    2 adds in branches/safari-601.1-branch

Merge r187189. rdar://problem/21567767

12:54 AM Changeset in webkit [187312] by matthew_hanson@apple.com
  • 2 edits in branches/safari-601.1-branch/Source/WebKit2

Merge r187174. rdar://problem/21818117

12:54 AM Changeset in webkit [187311] by matthew_hanson@apple.com
  • 9 edits in branches/safari-601.1-branch/Source

Merge r187173. rdar://problem/21637698

12:54 AM Changeset in webkit [187310] by matthew_hanson@apple.com
  • 2 edits in branches/safari-601.1-branch/Source/WebCore

Merge r187170. rdar://problem/21901076

12:54 AM Changeset in webkit [187309] by matthew_hanson@apple.com
  • 2 edits in branches/safari-601.1-branch/Source/WebCore

Merge r187144. rdar://problem/21931728

12:54 AM Changeset in webkit [187308] by matthew_hanson@apple.com
  • 2 edits in branches/safari-601.1-branch/Source/JavaScriptCore

Merge r187139. rdar://problem/21847618

12:08 AM Changeset in webkit [187307] by Lucas Forschler
  • 4 edits
    20 copies in branches/safari-601.1-branch

Merged r187133. rdar://problem/21919408

12:06 AM Changeset in webkit [187306] by Lucas Forschler
  • 2 edits in branches/safari-601.1-branch/Source/WebKit2

Merged r187131. rdar://problem/21046961

12:03 AM Changeset in webkit [187305] by Lucas Forschler
  • 2 edits in branches/safari-601.1-branch/Source/WebKit2

Merged r187136. rdar://problem/18477459

12:02 AM Changeset in webkit [187304] by Lucas Forschler
  • 2 edits in branches/safari-601.1-branch/Source/WebCore

Merged r187130. rdar://problem/21630806

Jul 23, 2015:

11:56 PM Changeset in webkit [187303] by Lucas Forschler
  • 7 edits in branches/safari-601.1-branch/Source

Merged r187129. rdar://problem/18477459

11:34 PM Changeset in webkit [187302] by matthew_hanson@apple.com
  • 7 edits
    7 copies in branches/safari-601.1-branch

Roll over ChangeLogs.

11:33 PM Changeset in webkit [187301] by Lucas Forschler
  • 10 edits in branches/safari-601.1-branch

Merged r187125. rdar://problem/21847618

11:31 PM Changeset in webkit [187300] by Lucas Forschler
  • 2 edits in branches/safari-601.1-branch/Source/WebInspectorUI

Merged r187123. rdar://problem/21925581

11:29 PM Changeset in webkit [187299] by Lucas Forschler
  • 3 edits in branches/safari-601.1-branch/Source/WebKit2

Merged r187117. rdar://problem/21921061

11:27 PM Changeset in webkit [187298] by Lucas Forschler
  • 4 edits
    4 copies in branches/safari-601.1-branch

Merged r187116. rdar://problem/21110936

11:24 PM Changeset in webkit [187297] by Lucas Forschler
  • 2 edits in branches/safari-601.1-branch/Source/WebKit2

Merged r187115. rdar://problem/21838764

11:21 PM Changeset in webkit [187296] by Lucas Forschler
  • 2 edits in branches/safari-601.1-branch/Source/WebKit/ios

Merged r187113. rdar://problem/21920008

11:20 PM Changeset in webkit [187295] by Lucas Forschler
  • 3 edits in branches/safari-601.1-branch/Source/WebKit/ios

Merged r187107. rdar://problem/21920008

11:10 PM Changeset in webkit [187294] by Lucas Forschler
  • 2 edits in branches/safari-601.1-branch/Source/WebKit2

Merged r187045. rdar://problem/21433691

11:06 PM Changeset in webkit [187293] by Lucas Forschler
  • 2 edits in branches/safari-601.1-branch/LayoutTests

Merged r186994. rdar://problem/21787807

11:04 PM Changeset in webkit [187292] by Lucas Forschler
  • 3 edits
    2 copies in branches/safari-601.1-branch

Merged r186981. rdar://problem/21787807

11:01 PM Changeset in webkit [187291] by Lucas Forschler
  • 2 edits in branches/safari-601.1-branch/Source/WebKit2

Merged r186977. rdar://problem/20864286

10:58 PM Changeset in webkit [187290] by Lucas Forschler
  • 2 edits in branches/safari-601.1-branch/Source/WebKit2

Merged r186806. rdar://problem/21795569

9:58 PM Changeset in webkit [187289] by achristensen@apple.com
  • 2 edits in trunk/Source/WebKit2

Fix 32-bit build after r187272.

  • UIProcess/mac/PageClientImpl.mm:

(WebKit::PageClientImpl::mediaDocumentNaturalSizeChanged):
Added some WK_API_ENABLED.

9:53 PM Changeset in webkit [187288] by mitz@apple.com
  • 2 edits in trunk/Source/WebKit2

<rdar://problem/21929532> REGRESSION (r184026): Safari AutoFill with Contact info for phone number is broken
https://bugs.webkit.org/show_bug.cgi?id=147249

Reviewed by Sam Weinig.

  • Shared/API/Cocoa/WKRemoteObjectCoder.mm:

(encodeObject): Use encodeString only for strings that encode as NSString or
NSMutableString. It can’t encode arbitrary NSString subclasses.
(decodeObject): Use decodeString for NSMutableString as well.

9:38 PM Changeset in webkit [187287] by achristensen@apple.com
  • 2 edits in trunk/Source/WebCore

[Win] Unreviewed build fix after r187245.

  • PlatformWin.cmake:

Add GDIUtilities.cpp to CMake build.

9:16 PM Changeset in webkit [187286] by Alan Bujtas
  • 2 edits in trunk/Source/WebKit2

[iOS] REGRESSION (187131): Loading CuteOverload zooms in to the top left corner.
https://bugs.webkit.org/show_bug.cgi?id=147251
rdar://problem/21953359

Calling zoomToRect() should result in essentially the same zoom scale as if we
called setZoomScale with the new page scale factor.

Reviewed by Benjamin Poulain.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _didCommitLayerTree:]):

7:48 PM Changeset in webkit [187285] by bshafiei@apple.com
  • 3 edits
    2 copies in branches/safari-600.1.4.17-branch

Merged r187248. rdar://problem/21976051

7:44 PM Changeset in webkit [187284] by bshafiei@apple.com
  • 3 edits
    2 copies in branches/safari-600.8-branch

Merged r187248. rdar://problem/21976049

7:35 PM Changeset in webkit [187283] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

Implement WebAssembly modules
https://bugs.webkit.org/show_bug.cgi?id=147222

Patch by Sukolsak Sakshuwong <Sukolsak Sakshuwong> on 2015-07-23
Reviewed by Filip Pizlo.

Make JSWASMModule inherit from JSDestructibleObject so that the destructor is called.

  • wasm/JSWASMModule.h:
7:23 PM Changeset in webkit [187282] by commit-queue@webkit.org
  • 14 edits in trunk/Source

Linking WebKit2 to be able to grab media sources from a UID
https://bugs.webkit.org/show_bug.cgi?id=147202
<rdar://problem/21947608>

Patch by Matthew Daiter <mdaiter@apple.com> on 2015-07-23
Reviewed by Brent Fulgham.

Source/WebCore:

  • WebCore.xcodeproj/project.pbxproj:
  • platform/mediastream/RealtimeMediaSourceCenter.h:
  • platform/mediastream/mac/AVCaptureDeviceManager.h:
  • platform/mediastream/mac/AVCaptureDeviceManager.mm:

(WebCore::AVCaptureDeviceManager::sourceWithUID):

  • platform/mediastream/mac/RealtimeMediaSourceCenterMac.cpp:

(WebCore::RealtimeMediaSourceCenterMac::sourceWithUID):

  • platform/mediastream/mac/RealtimeMediaSourceCenterMac.h:
  • platform/mediastream/openwebrtc/RealtimeMediaSourceCenterOwr.cpp:

(WebCore::RealtimeMediaSourceCenterOwr::sourceWithUID):

  • platform/mediastream/openwebrtc/RealtimeMediaSourceCenterOwr.h:
  • platform/mock/MockRealtimeMediaSourceCenter.cpp:

(WebCore::MockRealtimeMediaSourceCenter::sourceWithUID):

  • platform/mock/MockRealtimeMediaSourceCenter.h:

Source/WebKit2:

  • UIProcess/UserMediaPermissionRequestProxy.cpp:

(WebKit::UserMediaPermissionRequestProxy::getDeviceNameForUID):

  • UIProcess/UserMediaPermissionRequestProxy.h:
6:22 PM Changeset in webkit [187281] by achristensen@apple.com
  • 2 edits in trunk/Source/WebKit/win

Unreviewed build fix after r187245.

  • WebView.cpp:

WM_DPICHANGED is #defined, which causes problems if we try to use it as a variable name.

6:00 PM Changeset in webkit [187280] by Matt Baker
  • 3 edits in trunk/Source/WebInspectorUI

Web Inspector: jittery cursor when adjusting time interval using timeline grabbers
https://bugs.webkit.org/show_bug.cgi?id=147095

Reviewed by Brian Burg.

  • UserInterface/Views/TimelineRuler.css:

(.timeline-ruler.resizing-selection > .selection-drag):
Override selection-drag element's cursor when "resizing-selection" selector is applied.
(.timeline-ruler.allows-time-range-selection.creating-selection): Deleted.
Renamed "creating-selection" selector to "resizing-selection" to reflect its new role.

  • UserInterface/Views/TimelineRuler.js:

(WebInspector.TimelineRuler.prototype._handleMouseMove):
(WebInspector.TimelineRuler.prototype._handleMouseUp):
(WebInspector.TimelineRuler.prototype._handleSelectionHandleMouseDown):
(WebInspector.TimelineRuler.prototype._handleSelectionHandleMouseUp):
Toggle cursor styles.

5:55 PM Changeset in webkit [187279] by achristensen@apple.com
  • 37 edits in trunk

Remove compile and runtime flags for promises.
https://bugs.webkit.org/show_bug.cgi?id=147244

Reviewed by Yusuke Suzuki.

.:

  • Source/cmake/OptionsMac.cmake:
  • Source/cmake/OptionsWindows.cmake:
  • Source/cmake/WebKitFeatures.cmake:

Source/JavaScriptCore:

  • API/JSCallbackObjectFunctions.h:

(JSC::JSCallbackObject<Parent>::JSCallbackObject):

  • API/JSContextRef.cpp:

(JSGlobalContextCreateInGroup):

  • Configurations/FeatureDefines.xcconfig:
  • inspector/JSInjectedScriptHost.cpp:

(Inspector::JSInjectedScriptHost::getInternalProperties):

  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::init):
(JSC::JSGlobalObject::visitChildren):

  • runtime/JSGlobalObject.h:

(JSC::JSGlobalObject::create):
(JSC::JSGlobalObject::syntaxErrorConstructor):
(JSC::JSGlobalObject::typeErrorConstructor):
(JSC::JSGlobalObject::URIErrorConstructor):
(JSC::JSGlobalObject::promiseConstructor):
(JSC::JSGlobalObject::nullGetterFunction):
(JSC::JSGlobalObject::nullSetterFunction):
(JSC::JSGlobalObject::applyFunction):
(JSC::JSGlobalObject::definePropertyFunction):
(JSC::JSGlobalObject::arrayProtoValuesFunction):
(JSC::JSGlobalObject::initializePromiseFunction):
(JSC::JSGlobalObject::newPromiseDeferredFunction):
(JSC::JSGlobalObject::throwTypeErrorGetterSetter):
(JSC::JSGlobalObject::regExpPrototype):
(JSC::JSGlobalObject::errorPrototype):
(JSC::JSGlobalObject::iteratorPrototype):
(JSC::JSGlobalObject::promisePrototype):
(JSC::JSGlobalObject::debuggerScopeStructure):
(JSC::JSGlobalObject::withScopeStructure):
(JSC::JSGlobalObject::iteratorResultStructure):
(JSC::JSGlobalObject::iteratorResultStructureOffset):
(JSC::JSGlobalObject::regExpMatchesArrayStructure):
(JSC::JSGlobalObject::promiseStructure):

  • runtime/JSPromise.cpp:

(JSC::JSPromise::result):

  • runtime/JSPromise.h:
  • runtime/JSPromiseConstructor.cpp:

(JSC::constructPromise):

  • runtime/JSPromiseConstructor.h:
  • runtime/JSPromiseDeferred.cpp:

(JSC::JSPromiseDeferred::visitChildren):

  • runtime/JSPromiseDeferred.h:
  • runtime/JSPromisePrototype.cpp:

(JSC::JSPromisePrototype::getOwnPropertySlot):

  • runtime/JSPromisePrototype.h:
  • runtime/RuntimeFlags.h:
  • runtime/VM.cpp:

(JSC::VM::VM):

  • runtime/VM.h:

Source/WebCore:

  • Configurations/FeatureDefines.xcconfig:
  • bindings/js/JSDOMPromise.cpp:

(WebCore::rejectPromiseWithExceptionIfAny):

  • bindings/js/JSDOMPromise.h:

Source/WebKit/mac:

  • Configurations/FeatureDefines.xcconfig:
  • WebView/WebPreferencesPrivate.h:

Source/WebKit/win:

  • Interfaces/IWebPreferencesPrivate.idl:

Source/WebKit2:

  • Configurations/FeatureDefines.xcconfig:
  • UIProcess/API/C/WKPreferencesRefPrivate.h:
  • UIProcess/API/Cocoa/WKPreferencesPrivate.h:

Source/WTF:

  • wtf/FeatureDefines.h:
5:32 PM Changeset in webkit [187278] by commit-queue@webkit.org
  • 9 edits
    2 adds in trunk

AX: AccessibilityNodeObject::childrenChanged() generates too many AXLiveRegionChanged notifications
https://bugs.webkit.org/show_bug.cgi?id=147211
<rdar://problem/19908029>

Patch by Nan Wang <n_wang@apple.com> on 2015-07-23
Reviewed by Chris Fleizach.

Source/WebCore:

AccessibilityNodeObject::childrenChanged() can be called repeatedly, generating a live region
change notification each time. Sometimes, so many happen that VoiceOver hangs. We can use a timer
to make sure that we coalesce these notifications.

Test: platform/mac/accessibility/aria-multiple-liveregions-notification.html

  • accessibility/AXObjectCache.cpp:

(WebCore::AXComputedObjectAttributeCache::getIgnored):
(WebCore::AXObjectCache::AXObjectCache):
(WebCore::AXObjectCache::~AXObjectCache):
(WebCore::AXObjectCache::frameLoadingEventNotification):
(WebCore::AXObjectCache::postLiveRegionChangeNotification):
(WebCore::AXObjectCache::liveRegionChangedNotificationPostTimerFired):
(WebCore::AXObjectCache::handleScrollbarUpdate):

  • accessibility/AXObjectCache.h:
  • accessibility/AccessibilityNodeObject.cpp:

(WebCore::AccessibilityNodeObject::childrenChanged):

LayoutTests:

  • platform/mac/accessibility/aria-liveregions-notifications-always-sent-expected.txt:
  • platform/mac/accessibility/aria-liveregions-notifications-always-sent.html:
  • platform/mac/accessibility/aria-liveregions-notifications-expected.txt:
  • platform/mac/accessibility/aria-liveregions-notifications.html:
  • platform/mac/accessibility/aria-multiple-liveregions-notification-expected.txt: Added.
  • platform/mac/accessibility/aria-multiple-liveregions-notification.html: Added.
5:28 PM Changeset in webkit [187277] by bshafiei@apple.com
  • 2 edits in branches/safari-600.8-branch/LayoutTests

Roll out r187241. rdar://problem/21707900

5:27 PM Changeset in webkit [187276] by bshafiei@apple.com
  • 3 edits
    2 deletes in branches/safari-600.8-branch

Roll out r185838. rdar://problem/21707900

5:23 PM Changeset in webkit [187275] by bshafiei@apple.com
  • 3 edits
    2 deletes in branches/safari-600.1.4.17-branch

Roll out r185838. rdar://problem/21708257

5:19 PM Changeset in webkit [187274] by timothy_horton@apple.com
  • 5 edits in trunk/Source/WebCore

[iOS] Frame snapshots don't factor in page scale
https://bugs.webkit.org/show_bug.cgi?id=147239
<rdar://problem/21905756>

Reviewed by Simon Fraser.

  • page/FrameSnapshotting.cpp:

(WebCore::snapshotFrameRect):
Apply page scale when determining the backing store size and setting up the context.

  • page/TextIndicator.cpp:

(WebCore::TextIndicator::createWithSelectionInFrame):
Don't assume snapshotFrameRect gave us an image with scale=deviceScale, because it
will factor in the pageScale too.

  • platform/graphics/ImageBuffer.h:

(WebCore::ImageBuffer::resolutionScale):
Expose resolutionScale.

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::addToOverlapMap):
This has been true for a long time.

5:08 PM Changeset in webkit [187273] by Jon Davis
  • 2 edits in trunk/Source/WebCore

Adding Web Components to feature status page.
https://bugs.webkit.org/show_bug.cgi?id=147209

Reviewed by Timothy Hatcher.

  • features.json:
4:46 PM Changeset in webkit [187272] by jer.noble@apple.com
  • 26 edits in trunk/Source

Notify the UI delegate when a MediaDocument's natural size changes
https://bugs.webkit.org/show_bug.cgi?id=147182

Reviewed by Simon Fraser.

Source/WebCore:

Notify the MediaDocument that it's underlying media element has changed its natural size, either when
the media engine notifies us that the size changed, or when the ready state progresses to HAVE_METADATA.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::setReadyState): Notify the media document.
(WebCore::HTMLMediaElement::mediaPlayerSizeChanged): Ditto.

  • html/MediaDocument.cpp:

(WebCore::MediaDocument::mediaElementNaturalSizeChanged): Pass to the chrome client.

  • html/MediaDocument.h:
  • page/ChromeClient.h:

Source/WebKit2:

Pipe notifications of media document natural size changes up from the chrome client, through
to the UIProcess, through the page client, through the WKWebView, to the UIDelegate.

  • UIProcess/API/APIUIClient.h:

(API::UIClient::mediaDocumentNaturalSizeChanged):

  • UIProcess/API/Cocoa/WKUIDelegatePrivate.h:
  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _mediaDocumentNaturalSizeChanged:]):

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

(WebKit::UIDelegate::setDelegate):
(WebKit::UIDelegate::UIClient::mediaDocumentNaturalSizeChanged):

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

(WebKit::WebPageProxy::mediaDocumentNaturalSizeChanged):

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

(WebKit::PageClientImpl::mediaDocumentNaturalSizeChanged):

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

(WebKit::PageClientImpl::mediaDocumentNaturalSizeChanged):

  • WebProcess/WebCoreSupport/WebChromeClient.h:
  • WebProcess/WebCoreSupport/WebChromeClient.cpp:

(WebKit::WebChromeClient::mediaDocumentNaturalSizeChanged):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::mediaDocumentNaturalSizeChanged):

  • WebProcess/WebPage/WebPage.h:
  • UIProcess/API/gtk/PageClientImpl.h: Add default, empty implementation of new pure-virtual method.
  • UIProcess/efl/WebViewEfl.h: Ditto.
4:43 PM Changeset in webkit [187271] by Simon Fraser
  • 3 edits
    4 adds in trunk

Layer z-ordering is incorrect when scrolling on page witih position:fixed
https://bugs.webkit.org/show_bug.cgi?id=147220
rdar://problem/15849697&21929247

Reviewed by Dean Jackson.

Source/WebCore:

Overlap testing for compositing uses the currently laid out position of fixed
elements, without taking into account the fact that async scrolling can move
them around, and possibly under other non-composited elements. This manifested
as position:fixed elements moving over other elements on some pages when
scrolling, when they should have moved behind.

Fix by expanding the overlap map entry for position:fixed elements to create
an rect for the area they cover at all scroll locations, taking min and max
scroll offsets into account.

Also add a couple more LOG(Compositing) statements.

Tests: compositing/layer-creation/fixed-overlap-extent-rtl.html

compositing/layer-creation/fixed-overlap-extent.html

  • rendering/RenderLayerCompositor.cpp:

(WebCore::fixedPositionOffset):
(WebCore::RenderLayerCompositor::computeExtent):
(WebCore::RenderLayerCompositor::needsFixedRootBackgroundLayer):
(WebCore::RenderLayerCompositor::rootBackgroundTransparencyChanged):

LayoutTests:

Tests that reveal the overlap area by creating lots of small layers, and dumping
the layer tree.

  • compositing/layer-creation/fixed-overlap-extent-expected.txt: Added.
  • compositing/layer-creation/fixed-overlap-extent-rtl-expected.txt: Added.
  • compositing/layer-creation/fixed-overlap-extent-rtl.html: Added.
  • compositing/layer-creation/fixed-overlap-extent.html: Added.
4:33 PM Changeset in webkit [187270] by ggaren@apple.com
  • 3 edits in trunk/Source/bmalloc

bmalloc: Shrink the super chunk size (again)
https://bugs.webkit.org/show_bug.cgi?id=147240

Reviewed by Andreas Kling.

Shrinking to 8MB reduced VM exhaustion crashes but did not eliminate them.
Let's try 4MB.

(My previous comment was that the maximum fast object was 2MB. But it
was 4MB! Now it's 2MB for realsies.)

  • bmalloc/Sizes.h:
4:20 PM Changeset in webkit [187269] by Brian Burg
  • 7 edits
    4 adds
    2 deletes in trunk/LayoutTests

Web Inspector: rewrite inspector-protocol/console tests to use new testing patterns
https://bugs.webkit.org/show_bug.cgi?id=147231

Reviewed by Joseph Pecoraro.

Restructure existing protocol tests for Console.messageAdded to use Promises and
modern event listener test interfaces. Add some new functionality to make it easier
install multiple protocol event listeners without clobbering.

This test also splits warnings-errors.html into two tests, one to cover CSS parser
warnings and one for JavaScript parser and runtime errors.

  • http/tests/inspector-protocol/resources/InspectorTest.js:

(InspectorTest.sendCommand): Support arguments packaged in an object. This style is preferable
in tests because it is very explicit about what functionality and messages are covered.

(InspectorTest.awaitEvent): Added. This is a single-shot event listener that resolves a
promise when the desired protocol event is dispatched.

(InspectorTest.addEventListener): Reimplemented, based on code from WebInspector.Object.
Allows multiple listeners to be registered for a single protocol event.

(InspectorTest.AsyncTestSuite.prototype.runTestCases):
(InspectorTest.AsyncTestSuite):
(InspectorTest.SyncTestSuite.prototype.runTestCases):
(InspectorTest.SyncTestSuite):
(InspectorTest.log): Improve the formatting of test suite/test case output.

(InspectorFrontendAPI.dispatchMessageAsync): Dispatch to an array of listeners if available.
(InspectorTest.importScript): Clarify that this method performs a synchronous load.
(.InspectorTest.eventHandler.eventName): Deleted.

  • inspector-protocol/async-test-suite-expected.txt: Rebaseline whitespace.
  • inspector-protocol/sync-test-suite-expected.txt: Rebaseline whitespace.
  • inspector-protocol/console/console-message-expected.txt:
  • inspector-protocol/console/console-message.html:
  • inspector-protocol/console/css-source-locations-expected.txt: Added.
  • inspector-protocol/console/css-source-locations.html: Added.
  • inspector-protocol/console/js-source-locations-expected.txt: Added.
  • inspector-protocol/console/js-source-locations.html: Added.
  • inspector-protocol/console/warnings-errors-expected.txt: Removed.
  • inspector-protocol/console/warnings-errors.html: Removed.
  • inspector-protocol/runtime/getProperties-expected.txt: Rebaseline whitespace.
4:16 PM Changeset in webkit [187268] by enrica@apple.com
  • 2 edits in trunk/Source/WebKit2

Removing one incorrect annotation from the previous change.

Unreviewed.

  • UIProcess/API/Cocoa/WKUIDelegatePrivate.h:
4:08 PM Changeset in webkit [187267] by enrica@apple.com
  • 3 edits in trunk/Source/WebKit2

[iOS] Add another preview delegate for didDismissPreview.
https://bugs.webkit.org/show_bug.cgi?id=147241
rdar://problem/21664211

Reviewed by Tim Horton and Yongjun Zhang.

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

(-[WKContentView _previewItemController:didDismissPreview:committing:]):

4:06 PM Changeset in webkit [187266] by mitz@apple.com
  • 2 edits in trunk/Source/WebKit2

<rdar://problem/21910578> Second pass at [iOS] Keyboard shortcuts that take focus away from the web view end up typing a letter into the newly focused field
https://bugs.webkit.org/show_bug.cgi?id=146732

Reviewed by Darin Adler.

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView _interpretKeyEvent:isCharEvent:]): Rather than checking if the view is
first responder, which it might still be when the Web Content processes invokes this
callback, check if we are in editable content before forwarding the event to the keyboard.

3:53 PM Changeset in webkit [187265] by ap@apple.com
  • 1 edit
    4 adds in trunk/LayoutTests

Windows test result gardening after Mac libxml changes.

  • platform/win/fast/dom/adopt-attribute-crash-expected.txt: Added.
  • platform/win/fast/parser/xml-colon-entity-expected.txt: Added.
  • platform/win/fast/parser/xml-declaration-missing-ending-mark-expected.txt: Added.
  • platform/win/svg/custom/bug78807-expected.txt: Added.
3:32 PM Changeset in webkit [187264] by jer.noble@apple.com
  • 1 edit in trunk/Source/WebKit2/ChangeLog

Unreviewed build fix after r187251; rename flag -> allows.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::setAllowsMediaDocumentInlinePlayback):

3:29 PM Changeset in webkit [187263] by achristensen@apple.com
  • 2 edits in trunk/Source/WebKit2

[iOS] Unreviewed build fix after r187251.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::setAllowsMediaDocumentInlinePlayback):
Use the correct name for the boolean to pass along to SetAllowsMediaDocumentInlinePlayback.

3:23 PM Changeset in webkit [187262] by jer.noble@apple.com
  • 4 edits in trunk/Source/WebCore

Relax media playback restrictions if the allowsMediaDocumentInlinePlayback property is set.
https://bugs.webkit.org/show_bug.cgi?id=147234

Reviewed by Darin Adler.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::prepareForLoad): Moved restriction check into MediaElementSession.

  • html/MediaElementSession.cpp:

(WebCore::MediaElementSession::playbackPermitted): Check if is a top-level media document and if

allowsMediaDocumentInilnePlayback is set, and return early.

(WebCore::MediaElementSession::effectivePreloadForElement): Ditto.
(WebCore::MediaElementSession::allowsAutomaticMediaDataLoading): Ditto.

  • html/MediaElementSession.h:
3:19 PM Changeset in webkit [187261] by bshafiei@apple.com
  • 3 edits
    2 adds in branches/safari-600.8-branch

Merged r187189. rdar://problem/21707927

3:18 PM Changeset in webkit [187260] by bshafiei@apple.com
  • 3 edits
    2 adds in branches/safari-600.1.4.17-branch

Merged r187189. rdar://problem/21708281

3:16 PM Changeset in webkit [187259] by enrica@apple.com
  • 3 edits in trunk/Source/WebKit2

One more iOS build fix.

Unreviewed.

  • Platform/spi/ios/UIKitSPI.h:
  • UIProcess/ios/WKContentViewInteraction.h:
3:15 PM Changeset in webkit [187258] by commit-queue@webkit.org
  • 15 edits in trunk/Source

Bridged passing lists of devices between the UIProcess and the WebProcess
https://bugs.webkit.org/show_bug.cgi?id=147056
<rdar://problem/21883094>

Patch by Matthew Daiter <mdaiter@apple.com> on 2015-07-23
Reviewed by Brent Fulgham.

Source/WebCore:

  • Modules/mediastream/UserMediaRequest.h: Added fields to store and

retrieve lists of devices
(WebCore::UserMediaRequest::deviceUIDsVideo):
(WebCore::UserMediaRequest::deviceUIDsAudio):

Source/WebKit2:

  • UIProcess/UserMediaPermissionRequestManagerProxy.cpp: Modified file

to reflect changes made to the header in the .messages.in file
(WebKit::UserMediaPermissionRequestManagerProxy::createRequest): Ditto
(WebKit::UserMediaPermissionRequestManagerProxy::didReceiveUserMediaPermissionDecision):

  • UIProcess/UserMediaPermissionRequestManagerProxy.h: Ditto
  • UIProcess/UserMediaPermissionRequestProxy.cpp: Ditto

(WebKit::UserMediaPermissionRequestProxy::UserMediaPermissionRequestProxy):

  • UIProcess/UserMediaPermissionRequestProxy.h:

(WebKit::UserMediaPermissionRequestProxy::create):
(WebKit::UserMediaPermissionRequestProxy::deviceUIDsVideo):
(WebKit::UserMediaPermissionRequestProxy::deviceUIDsAudio):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::requestUserMediaPermissionForFrame):

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in: Changed heading
  • WebProcess/MediaStream/UserMediaPermissionRequestManager.cpp:

(WebKit::UserMediaPermissionRequestManager::startRequest):
(WebKit::UserMediaPermissionRequestManager::didReceiveUserMediaPermissionDecision):

  • WebProcess/MediaStream/UserMediaPermissionRequestManager.h:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::didReceiveUserMediaPermissionDecision):

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in: Changed heading
3:06 PM Changeset in webkit [187257] by mrajca@apple.com
  • 6 edits
    2 adds in trunk

Media Session: add support for ducking media elements https://bugs.webkit.org/show_bug.cgi?id=147089

Reviewed by Eric Carlson.

Test: media/session/transient-interruptions.html

  • Modules/mediasession/MediaSession.cpp:

(WebCore::MediaSession::handleDuckInterruption): Duck the active media elements.
(WebCore::MediaSession::handleUnduckInterruption): Unduck the active media elements.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::updateVolume): Lower the volume of media elements to 25% when ducked (constant determined empirically).
(WebCore::HTMLMediaElement::setShouldDuck): Call updateVolume to change the volume of the underlying media player.

  • html/HTMLMediaElement.h:
3:02 PM Changeset in webkit [187256] by mrajca@apple.com
  • 6 edits in trunk/Source/WebCore

Media Session: add infrastructure for testing ducking https://bugs.webkit.org/show_bug.cgi?id=147080

Reviewed by Jer Noble.

We need to expose a media element's underlying media player's volume to tests so we can test ducking.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::playerVolume):

  • html/HTMLMediaElement.h:
  • testing/Internals.cpp:

(WebCore::Internals::mediaElementPlayerVolume):

  • testing/Internals.h:
  • testing/Internals.idl:
3:00 PM Changeset in webkit [187255] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

Adopt the new _previewItemControllerDidCancelPreview delegate method.
https://bugs.webkit.org/show_bug.cgi?id=147238

Don't allow hightlight long press to trigger tap if the link preview is cancelled because
the link is not preview-able.

Patch by Yongjun Zhang <yongjun_zhang@apple.com> on 2015-07-23
Reviewed by Beth Dakin.

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView _previewItemControllerDidCancelPreview:]):

2:26 PM Changeset in webkit [187254] by commit-queue@webkit.org
  • 3 edits
    3 adds in trunk/Source/JavaScriptCore

Implement WebAssembly modules
https://bugs.webkit.org/show_bug.cgi?id=147222

Patch by Sukolsak Sakshuwong <Sukolsak Sakshuwong> on 2015-07-23
Reviewed by Mark Lam.

Introducing the boilerplate data structure for the WebAssembly module.
WebAssembly functionality will be added in a subsequent patch.

  • CMakeLists.txt:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • wasm/JSWASMModule.cpp: Added.

(JSC::JSWASMModule::visitChildren):

  • wasm/JSWASMModule.h: Added.

(JSC::JSWASMModule::create):
(JSC::JSWASMModule::createStructure):
(JSC::JSWASMModule::JSWASMModule):

2:19 PM Changeset in webkit [187253] by enrica@apple.com
  • 2 edits in trunk/Source/WebKit2

iOS build fix after http://trac.webkit.org/changeset/187238.

Unreviewed.

  • Platform/spi/ios/UIKitSPI.h:
2:17 PM Changeset in webkit [187252] by jer.noble@apple.com
  • 5 edits in trunk/Source/WebKit2

[WK2] Add a WKWebView property for whether the view is displaying a media document
https://bugs.webkit.org/show_bug.cgi?id=147233

Reviewed by Beth Dakin.

Add a _isDisplayingStandaloneMediaDocument property, which queries the frame for whether
the current MIME type is one which our media engines support.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _isDisplayingStandaloneMediaDocument]):

  • UIProcess/API/Cocoa/WKWebViewPrivate.h:
  • UIProcess/WebFrameProxy.cpp:

(WebKit::WebFrameProxy::isDisplayingStandaloneMediaDocument):

  • UIProcess/WebFrameProxy.h:
2:15 PM Changeset in webkit [187251] by jer.noble@apple.com
  • 16 edits in trunk/Source

[iOS] Add an explicit API to allow media documents to (temporarily) play inline
https://bugs.webkit.org/show_bug.cgi?id=147181

Reviewed by Beth Dakin.

Source/WebCore:

Add listeners for the new allowsMediaDocumentInlinePlayback API. When this value becomes
NO, force any playing MediaDocuments to enter fullscreen mode.

  • dom/Document.cpp:

(WebCore::Document::registerForAllowsMediaDocumentInlinePlaybackChangedCallbacks): Added registration method.
(WebCore::Document::unregisterForAllowsMediaDocumentInlinePlaybackChangedCallbacks): Added deregistration method.
(WebCore::Document::allowsMediaDocumentInlinePlaybackChanged): Notify all listeners.

  • dom/Document.h:
  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::registerWithDocument): Listen for allowsMediaDocumentInlinePlayback changes.
(WebCore::HTMLMediaElement::unregisterWithDocument): Stop listening to same.
(WebCore::HTMLMediaElement::allowsMediaDocumentInlinePlaybackChanged): Enter fullscreen mode if the value

changes to false during playback.

  • html/HTMLMediaElement.h:
  • html/MediaElementSession.cpp:

(WebCore::MediaElementSession::requiresFullscreenForVideoPlayback): Early true if the override value is set.

  • page/Page.cpp:

(WebCore::Page::setAllowsMediaDocumentInlinePlayback): Notify all documents of the changed value.

  • page/Page.h:

(WebCore::Page::allowsMediaDocumentInlinePlayback): Simple getter.

Source/WebKit2:

Add a WKWebView(Private) API which allows MediaDocuments loaded by the view to play their contents inline, regardless
of whether inline playback is restricted on the current device.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _setRequiresUserActionForMediaPlayback:]): Added. Pass through to WebPageProxy.
(-[WKWebView _allowsMediaDocumentInlinePlayback]): Ditto.

  • UIProcess/API/Cocoa/WKWebViewPrivate.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::allowsMediaDocumentInlinePlayback): Simple getter.
(WebKit::WebPageProxy::setAllowsMediaDocumentInlinePlayback): Set, and conditionally pass the new value to WebPage.

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

(WebKit::WebPage::setAllowsMediaDocumentInlinePlayback): Set, and conditionally notify WebCore page of the change.

  • WebProcess/WebPage/WebPage.h:

(WebKit::WebPage::allowsMediaDocumentInlinePlayback): Simple getter.

  • WebProcess/WebPage/WebPage.messages.in: Add new messages.
1:53 PM Changeset in webkit [187250] by Beth Dakin
  • 2 edits in trunk/Source/WebKit2

Should not allow previews of 1x1 images
https://bugs.webkit.org/show_bug.cgi?id=147237
-and corresponding-
rdar://problem/21968460

Reviewed by Tim Horton.

1x1 images are used on some sites to cover actual images, which leads to a
misleading preview experience. There is not any reason why you would really
want to preview an image this small nor any reason to believe that the
preview would result in anything useful.

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::getPositionInformation):

1:24 PM Changeset in webkit [187249] by Devin Rousso
  • 18 edits
    2 adds in trunk

Web Inspector: Add a function to CSSCompletions to get a list of supported system fonts
https://bugs.webkit.org/show_bug.cgi?id=147009

Reviewed by Joseph Pecoraro.

Source/JavaScriptCore:

  • inspector/protocol/CSS.json: Added getSupportedSystemFontFamilyNames function.

Source/WebCore:

Test: inspector/css/get-system-fonts.html

  • inspector/InspectorCSSAgent.cpp:

(WebCore::InspectorCSSAgent::getSupportedSystemFontFamilyNames):
Gets the list of system fonts (implemented in each platform) and returns that list.

  • inspector/InspectorCSSAgent.h:
  • platform/graphics/FontCache.h:
  • platform/graphics/freetype/FontCacheFreeType.cpp:

(WebCore::FontCache::systemFontFamilies):

  • platform/graphics/ios/FontCacheIOS.mm:

(WebCore::FontCache::systemFontFamilies):

  • platform/graphics/mac/FontCacheMac.mm:

(WebCore::FontCache::systemFontFamilies):

  • platform/graphics/win/FontCacheWin.cpp:

(WebCore::FontCache::systemFontFamilies):

Source/WebInspectorUI:

  • UserInterface/Base/Main.js:

(WebInspector.loaded):
(WebInspector.activateExtraDomains):

  • UserInterface/Base/Test.js:

(WebInspector.loaded):

  • UserInterface/Models/CSSCompletions.js:

(WebInspector.CSSCompletions.requestCSSCompletions.fontFamilyNamesCallback):
(WebInspector.CSSCompletions.requestCSSCompletions):
Now also grabs the list of system font family names and adds that list to the existing completion
list for both font and font-family in CSSKeywordCompletions.
(WebInspector.CSSCompletions.requestCSSNameCompletions): Deleted.

LayoutTests:

Skip the get-system-fonts test until it is implemented.

  • platform/efl/TestExpectations:
  • platform/gtk/TestExpectations:
  • platform/win/TestExpectations:

Added the get-system-fonts test that returns the list of system fonts.

  • inspector/css/get-system-fonts-expected.html:
  • inspector/css/get-system-fonts.html:
1:18 PM Changeset in webkit [187248] by beidson@apple.com
  • 3 edits
    2 adds in trunk

Crash in WebPlatformStrategies::createPingHandle - Deref a null NetworkingContext.
<rdar://problem/21949735> and https://bugs.webkit.org/show_bug.cgi?id=147227

Reviewed by Alexey Proskuryakov.

Source/WebKit2:

  • WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:

(WebKit::WebPlatformStrategies::createPingHandle): Skip it if there's a null NetworkingContext.

LayoutTests:

  • http/tests/security/contentSecurityPolicy/user-style-sheet-font-crasher-expected.txt: Added.
  • http/tests/security/contentSecurityPolicy/user-style-sheet-font-crasher.html: Added.
1:05 PM Changeset in webkit [187247] by timothy@apple.com
  • 4 edits
    3 adds in trunk/Websites/webkit.org

Change some images for a blog post and add 2x images.

  • blog-files/inspector-elements-tab-2x.png: Added.
  • blog-files/inspector-elements-tab.png: Updated.
  • blog-files/inspector-network-tab-2x.png: Added.
  • blog-files/inspector-network-tab.png: Updated.
  • blog-files/inspector-tab-bar-2x.png: Added.
  • blog-files/inspector-tab-bar.png: Updated.
1:02 PM Changeset in webkit [187246] by bshafiei@apple.com
  • 5 edits in branches/safari-601.1-branch/Source

Versioning.

12:30 PM Changeset in webkit [187245] by Brent Fulgham
  • 20 edits
    2 adds in trunk

Source/WebCore:
[Win] Implement High DPI support features
https://bugs.webkit.org/show_bug.cgi?id=146335
<rdar://problem/21558269>

Reviewed by Alex Christensen.

  • platform/graphics/ca/win/PlatformCALayerWinInternal.cpp:

(WebCore::PlatformCALayerWinInternal::drawTile): Don't translate the CGContext to the position
of the CACFLayerRef; the underlying context is already in the right position.

  • platform/win/PlatformMouseEventWin.cpp: Update class to adjust mouse

event coordinates based on scaling factor.
(WebCore::deviceScaleFactor):
(WebCore::positionForEvent):

  • platform/win/ScrollbarThemeWin.cpp:

(WebCore::scrollbarThicknessInPixels):
(WebCore::ScrollbarThemeWin::scrollbarThickness):
(WebCore::ScrollbarThemeWin::themeChanged):

  • platform/win/WheelEventWin.cpp: Update class to adjust wheel event

coordinates based on scaling factor.
(WebCore::deviceScaleFactor):
(WebCore::positionForEvent):
(WebCore::globalPositionForEvent):
(WebCore::PlatformWheelEvent::PlatformWheelEvent):

Source/WebKit/win:
[Win] Implement High DPI support features
https://bugs.webkit.org/show_bug.cgi?id=146335
<rdar://problem/21558269>

Reviewed by Alex Christensen.

  • WebCoreSupport/WebFrameLoaderClient.cpp:

(WebFrameLoaderClient::transitionToCommittedForNewPage): Size
page for current device scale factor.

  • WebFrame.cpp:

(WebFrame::paintDocumentRectToContext): Account for device scale factor.
(WebFrame::paintScrollViewRectToContextAtPoint): Ditto.

  • WebView.cpp:

(WebView::repaint): Adjust paint rect for device scale factor.
(WebView::scrollBackingStore): Adjust coordinates for scale factor.
(WebView::sizeChanged): Ditto.
(WebView::updateBackingStore): Ditto.
(WebView::paint): Ditto.
(WebView::paintIntoBackingStore): Ditto.
(WebView::handleContextMenuEvent): Ditto.
(WebView::gestureNotify): Ditto.
(WebView::gesture): Ditto.
(WebView::initializeToolTipWindow): Adjust max tool tip width
for device scale factor.
(WebView::selectionRect): Adjust coordinates for scale factor.
(WebView::elementAtPoint): Ditto.
(WebView::scrollOffset): Ditto.
(WebView::scrollBy): Ditto.
(WebView::visibleContentRect): Ditto.
(WebView::paintContents): Ditto.

  • WebView.h:

Tools:
[Win] Implement proper High DPI support features
https://bugs.webkit.org/show_bug.cgi?id=146335
<rdar://problem/21558269>

Reviewed by Alex Christensen.

Update WinLauncher to take device scaling factor into account.

  • WinLauncher/Common.cpp:

(resizeSubViews): Make sure toolbars and URL bar are properly sized and using
a valid font.
(computeFullDesktopFrame): Handle high DPI desktops.
(WndProc): Make comments more precise.

  • WinLauncher/WinLauncher.cpp:

(WinLauncher::init): Determine device scale factor at launch.
(WinLauncher::updateDeviceScaleFactor): Added.

  • WinLauncher/WinLauncher.h:
  • WinLauncher/WinLauncherWebHost.h: Use C++11 initialization.
  • WinLauncher/WinMain.cpp: Size interface based on scaling factor.

(wWinMain): Ditto.

  • win/DLLLauncher/DLLLauncherMain.cpp:

(wWinMain): Tell Windows we understand high DPI.

12:15 PM Changeset in webkit [187244] by mmaxfield@apple.com
  • 4 edits
    1 add in trunk

REGRESSION(r182236): Justified Arabic text does not expand
https://bugs.webkit.org/show_bug.cgi?id=147217

Reviewed by Simon Fraser.

When I was writing r182236, I got confused between the levels of the string hierarchy in ComplexTextController.
I've added a comment in the header which should make it easier to get it right.

Test: fast/text/international/arabic-justify.html

  • platform/graphics/mac/ComplexTextController.cpp:

(WebCore::ComplexTextController::adjustGlyphsAndAdvances):

  • platform/graphics/mac/ComplexTextController.h:
12:08 PM Changeset in webkit [187243] by ap@apple.com
  • 3 edits in branches/safari-601.1-branch

Merge r186900.

2015-07-16 David Kilzer <ddkilzer@apple.com>

Mark fast/canvas/canvas-too-large-to-draw.html as crashing on El Capitan

Fix is tracked by <rdar://problem/21857102>.

  • platform/mac/TestExpectations: Mark test as crashing:
  • fast/canvas/canvas-too-large-to-draw.html
12:01 PM Changeset in webkit [187242] by ap@apple.com
  • 2 edits in branches/safari-601.1-branch/LayoutTests

More test gardening.

  • platform/mac/TestExpectations:
11:52 AM Changeset in webkit [187241] by andersca@apple.com
  • 2 edits in branches/safari-600.8-branch/LayoutTests

Skip a couple of region selection tests.

  • platform/mac/TestExpectations:
11:34 AM Changeset in webkit [187240] by timothy_horton@apple.com
  • 1 edit
    4 deletes in trunk/Source/WebKit2

Remove some files that should have been removed with WebKit2 Windows
https://bugs.webkit.org/show_bug.cgi?id=147223

Reviewed by Csaba Osztrogonác.

  • Shared/API/c/cf/WKURLRequestCF.cpp: Removed.
  • Shared/API/c/cf/WKURLRequestCF.h: Removed.
  • Shared/API/c/cf/WKURLResponseCF.cpp: Removed.
  • Shared/API/c/cf/WKURLResponseCF.h: Removed.
11:21 AM Changeset in webkit [187239] by timothy@apple.com
  • 3 edits in trunk/Websites/webkit.org

Change some images for a blog post.

  • blog-files/inspector-elements-tab.png:
  • blog-files/inspector-network-tab.png:
11:04 AM Changeset in webkit [187238] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

Fix the build

  • Platform/spi/ios/UIKitSPI.h:
11:03 AM Changeset in webkit [187237] by timothy@apple.com
  • 2 edits
    2 adds
    1 delete in trunk/Websites/webkit.org

Add and change some images for a blog post.

  • blog-files/inspector-elements-network-tabs.png: Removed.
  • blog-files/inspector-elements-tab.png: Added.
  • blog-files/inspector-network-tab.png: Added.
  • blog-files/inspector-tab-bar.png:
10:30 AM Changeset in webkit [187236] by Brent Fulgham
  • 6 edits in trunk/Websites/webkit.org

Correct rest of the images to match.

  • blog-files/backdrop-filters/backdrop_correct_1x.jpg:
  • blog-files/backdrop-filters/backdrop_correct_2x.jpg:
  • blog-files/backdrop-filters/backdrop_invert_1x.jpg:
  • blog-files/backdrop-filters/backdrop_invert_2x.jpg:
  • blog-files/backdrop-filters/backdrop_mixed_1x.jpg:
10:26 AM Changeset in webkit [187235] by achristensen@apple.com
  • 2 edits in trunk/Tools

[Win] Unreviewed build fix after r187169.

  • Scripts/build-webkit:

Correctly find WebKit.sln.

10:21 AM Changeset in webkit [187234] by Brent Fulgham
  • 6 edits in trunk/Websites/webkit.org

Adjust image sizes to avoid page scaling.

  • blog-files/backdrop-filters/Screen_OSX_Yosemite_Finder-iCloud-WaterBg_1x.jpg:
  • blog-files/backdrop-filters/Screen_OSX_Yosemite_Finder-iCloud-WaterBg_2x.jpg:
  • blog-files/backdrop-filters/Screen_V_iOS8_ControlCenter_BlueGradient_1x.jpg:
  • blog-files/backdrop-filters/Screen_V_iOS8_ControlCenter_BlueGradient_2x.jpg:
  • blog-files/backdrop-filters/backdrop_mixed_2x.jpg:
10:19 AM Changeset in webkit [187233] by ap@apple.com
  • 4 edits in branches/safari-601.1-branch

Merge r186677, which is a follow-up fix to r186642.

2015-07-10 Brady Eidson <beidson@apple.com>

ASSERT restoring from page cache as DocumentLoader reattaches to its Frame.
<rdar://problem/21766282> and https://bugs.webkit.org/show_bug.cgi?id=146786

Reviewed by NOBODY (Fixing obvious boneheaded mistake in r186642)

No new tests (Covered by existing)

  • loader/DocumentLoader.cpp: (WebCore::DocumentLoader::attachToFrame): Bail if reattaching to the current Frame, which happens when restoring from the page cache.
10:04 AM Changeset in webkit [187232] by ap@apple.com
  • 23 edits in branches/safari-601.1-branch/LayoutTests

More test updates for features that are disabled on this branch.

  • css3/parse-align-content-expected.txt:
  • css3/parse-align-items-expected.txt:
  • css3/parse-align-self-expected.txt:
  • css3/parse-justify-content-expected.txt:
  • fast/css/css-selector-text-expected.txt:
  • fast/css/css-set-selector-text-expected.txt:
  • fast/css/getComputedStyle/computed-style-expected.txt:
  • fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
  • fast/css/parse-justify-items-expected.txt:
  • fast/css/parse-justify-items.html:
  • fast/css/read-only-read-write-input-basics-expected.html:
  • fast/css/read-only-read-write-input-basics.html:
  • fast/dom/navigator-detached-no-crash-expected.txt:
  • fast/selectors/read-only-read-write-input-basics-expected.txt:
  • js/dom/dom-static-property-for-in-iteration-expected.txt:
  • platform/mac-mavericks/accessibility/roles-exposed-expected.txt:
  • platform/mac-mavericks/js/dom/global-constructors-attributes-expected.txt:
  • platform/mac-yosemite/js/dom/global-constructors-attributes-expected.txt:
  • platform/mac/TestExpectations:
  • platform/mac/accessibility/roles-exposed-expected.txt:
  • platform/mac/js/dom/global-constructors-attributes-expected.txt:
  • svg/css/getComputedStyle-basic-expected.txt:
9:24 AM Changeset in webkit [187231] by ap@apple.com
  • 3 edits in branches/safari-601.1-branch

Merge r187194.

2015-07-22 Myles C. Maxfield <mmaxfield@apple.com>

[El Capitan] Test Gardening

Unreviewed.

  • platform/mac/fast/text/ligature-subdivision-expected.txt:
9:21 AM Changeset in webkit [187230] by ap@apple.com
  • 28 edits
    13 copies in branches/safari-601.1-branch

Merge r187126.

2015-07-21 Myles C. Maxfield <mmaxfield@apple.com>

[El Capitan] Test gardening
https://bugs.webkit.org/show_bug.cgi?id=147059

  • platform/mac-yosemite/fast/dom/52776-expected.png: Copied from LayoutTests/platform/mac/fast/dom/52776-expected.png.
  • platform/mac-yosemite/fast/text/complex-text-opacity-expected.png: Copied from LayoutTests/platform/mac/fast/text/complex-text-opacity-expected.png.
  • platform/mac-yosemite/fast/text/font-weights-expected.png: Copied from LayoutTests/platform/mac/fast/text/font-weights-expected.png.
  • platform/mac-yosemite/fast/text/indic-expected.png: Copied from LayoutTests/platform/mac/fast/text/indic-expected.png.
  • platform/mac-yosemite/fast/text/indic-expected.txt: Copied from LayoutTests/platform/mac/fast/text/indic-expected.txt.
  • platform/mac-yosemite/fast/text/international/bidi-AN-after-L-expected.png: Copied from LayoutTests/platform/mac/fast/text/international/bidi-AN-after-L-expected.png.
  • platform/mac-yosemite/fast/text/international/bidi-mirror-he-ar-expected.png: Copied from LayoutTests/platform/mac/fast/text/international/bidi-mirror-he-ar-expected.png.
  • platform/mac-yosemite/fast/text/international/bidi-neutral-directionality-paragraph-start-expected.png: Copied from LayoutTests/platform/mac/fast/text/international/bidi-neutral-directionality-paragraph-start-expected.png.
  • platform/mac-yosemite/fast/text/international/bidi-neutral-run-expected.png: Copied from LayoutTests/platform/mac/fast/text/international/bidi-neutral-run-expected.png.
  • platform/mac-yosemite/fast/text/international/danda-space-expected.png: Copied from LayoutTests/platform/mac/fast/text/international/danda-space-expected.png.
  • platform/mac-yosemite/fast/text/international/danda-space-expected.txt: Copied from LayoutTests/platform/mac/fast/text/international/danda-space-expected.txt.
  • platform/mac-yosemite/svg/W3C-SVG-1.1/text-intro-05-t-expected.png: Copied from LayoutTests/platform/mac/svg/W3C-SVG-1.1/text-intro-05-t-expected.png.
  • platform/mac-yosemite/svg/text/text-intro-05-t-expected.png: Copied from LayoutTests/platform/mac/svg/text/text-intro-05-t-expected.png.
  • platform/mac/fast/dom/52776-expected.png:
  • platform/mac/fast/dom/52776-expected.txt:
  • platform/mac/fast/text/arabic-times-new-roman-expected.png:
  • platform/mac/fast/text/arabic-times-new-roman-expected.txt:
  • platform/mac/fast/text/complex-text-opacity-expected.png:
  • platform/mac/fast/text/complex-text-opacity-expected.txt:
  • platform/mac/fast/text/font-weights-expected.png:
  • platform/mac/fast/text/font-weights-expected.txt:
  • platform/mac/fast/text/indic-expected.png:
  • platform/mac/fast/text/indic-expected.txt:
  • platform/mac/fast/text/international/bidi-AN-after-L-expected.png:
  • platform/mac/fast/text/international/bidi-AN-after-L-expected.txt:
  • platform/mac/fast/text/international/bidi-mirror-he-ar-expected.png:
  • platform/mac/fast/text/international/bidi-mirror-he-ar-expected.txt:
  • platform/mac/fast/text/international/bidi-neutral-directionality-paragraph-start-expected.png:
  • platform/mac/fast/text/international/bidi-neutral-directionality-paragraph-start-expected.txt:
  • platform/mac/fast/text/international/bidi-neutral-run-expected.png:
  • platform/mac/fast/text/international/bidi-neutral-run-expected.txt:
  • platform/mac/fast/text/international/danda-space-expected.png:
  • platform/mac/fast/text/international/danda-space-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1-SE/text-intro-05-t-expected.png:
  • platform/mac/svg/W3C-SVG-1.1-SE/text-intro-05-t-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1/text-intro-05-t-expected.png:
  • platform/mac/svg/W3C-SVG-1.1/text-intro-05-t-expected.txt:
  • platform/mac/svg/text/text-intro-05-t-expected.png:
  • platform/mac/svg/text/text-intro-05-t-expected.txt:
9:17 AM Changeset in webkit [187229] by ap@apple.com
  • 11 edits
    8 copies in branches/safari-601.1-branch/LayoutTests

Merge r187148.

2015-07-21 Alexey Proskuryakov <ap@apple.com>

Update Mac test results for libxml2 v2.9.2.

These results will probably become cross-platform eventually, but for now it's just Mac.

  • platform/mac-yosemite/fast/dom/adopt-attribute-crash-expected.txt: Copied from LayoutTests/fast/dom/adopt-attribute-crash-expected.txt.
  • platform/mac-yosemite/fast/parser: Added.
  • platform/mac-yosemite/fast/parser/xml-colon-entity-expected.txt: Copied from LayoutTests/fast/parser/xml-colon-entity-expected.txt.
  • platform/mac-yosemite/fast/parser/xml-declaration-missing-ending-mark-expected.txt: Copied from LayoutTests/fast/parser/xml-declaration-missing-ending-mark-expected.txt.
  • platform/mac-yosemite/fast/xsl: Added.
  • platform/mac-yosemite/fast/xsl/xslt-extra-content-at-end-expected.png: Copied from LayoutTests/platform/mac/fast/xsl/xslt-extra-content-at-end-expected.png.
  • platform/mac-yosemite/fast/xsl/xslt-extra-content-at-end-expected.txt: Copied from LayoutTests/platform/mac/fast/xsl/xslt-extra-content-at-end-expected.txt.
  • platform/mac-yosemite/fast/xsl/xslt-missing-namespace-in-xslt-expected.png: Copied from LayoutTests/platform/mac/fast/xsl/xslt-missing-namespace-in-xslt-expected.png.
  • platform/mac-yosemite/fast/xsl/xslt-missing-namespace-in-xslt-expected.txt: Copied from LayoutTests/platform/mac/fast/xsl/xslt-missing-namespace-in-xslt-expected.txt.
  • platform/mac-yosemite/svg/custom: Added.
  • platform/mac-yosemite/svg/custom/bug78807-expected.txt: Copied from LayoutTests/svg/custom/bug78807-expected.txt.
  • platform/mac-yosemite/svg/custom/missing-xlink-expected.png: Copied from LayoutTests/platform/mac/svg/custom/missing-xlink-expected.png.
  • platform/mac-yosemite/svg/custom/missing-xlink-expected.txt: Copied from LayoutTests/platform/mac/svg/custom/missing-xlink-expected.txt.
  • platform/mac-yosemite/svg/custom/path-bad-data-expected.png: Copied from LayoutTests/platform/mac/svg/custom/path-bad-data-expected.png.
  • platform/mac-yosemite/svg/custom/path-bad-data-expected.txt: Copied from LayoutTests/platform/mac/svg/custom/path-bad-data-expected.txt.
  • platform/mac-yosemite/svg/custom/use-font-face-crash-expected.png: Copied from LayoutTests/platform/mac/svg/custom/use-font-face-crash-expected.png.
  • platform/mac-yosemite/svg/custom/use-font-face-crash-expected.txt: Copied from LayoutTests/platform/mac/svg/custom/use-font-face-crash-expected.txt.
  • platform/mac/fast/dom/adopt-attribute-crash-expected.txt: Added.
  • platform/mac/fast/parser/xml-colon-entity-expected.txt: Added.
  • platform/mac/fast/parser/xml-declaration-missing-ending-mark-expected.txt: Added.
  • platform/mac/fast/xsl/xslt-extra-content-at-end-expected.png:
  • platform/mac/fast/xsl/xslt-extra-content-at-end-expected.txt:
  • platform/mac/fast/xsl/xslt-missing-namespace-in-xslt-expected.png:
  • platform/mac/fast/xsl/xslt-missing-namespace-in-xslt-expected.txt:
  • platform/mac/svg/custom/bug78807-expected.txt: Added.
  • platform/mac/svg/custom/missing-xlink-expected.png:
  • platform/mac/svg/custom/missing-xlink-expected.txt:
  • platform/mac/svg/custom/path-bad-data-expected.png:
  • platform/mac/svg/custom/path-bad-data-expected.txt:
  • platform/mac/svg/custom/use-font-face-crash-expected.png:
  • platform/mac/svg/custom/use-font-face-crash-expected.txt:
7:02 AM Changeset in webkit [187228] by msaboff@apple.com
  • 2 edits in trunk/LayoutTests

Application cache abort() tests are flaky
https://bugs.webkit.org/show_bug.cgi?id=87633

These AppCache tests are flakey:
http/tests/appcache/deferred-events-delete-while-raising-timer.html
http/tests/appcache/deferred-events-delete-while-raising.html
http/tests/appcache/deferred-events.html
http/tests/appcache/fail-on-update-2.html

7:00 AM Changeset in webkit [187227] by Matt Baker
  • 3 edits in trunk/Source/WebInspectorUI

Web Inspector: wrong cursor shown when selecting time interval from timeline overview
https://bugs.webkit.org/show_bug.cgi?id=147094

Reviewed by Timothy Hatcher.

  • UserInterface/Views/TimelineRuler.css:

(.timeline-ruler.allows-time-range-selection.creating-selection):
New cursor style for entire ruler element.

  • UserInterface/Views/TimelineRuler.js:

(WebInspector.TimelineRuler.prototype._handleMouseMove):
(WebInspector.TimelineRuler.prototype._handleMouseUp):
Toggle cursor style when dragging to create a new selection in the overview.

5:21 AM Changeset in webkit [187226] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/win

[Win] Fix typos in PluginViewWin.cpp: kWebPluginViewdowClassName -> kWebPluginViewClassName
https://bugs.webkit.org/show_bug.cgi?id=147214

Patch by Sungmann Cho <sungmann.cho@navercorp.com> on 2015-07-23
Reviewed by Csaba Osztrogonác.

  • Plugins/PluginViewWin.cpp:

(WebCore::registerPluginView):
(WebCore::PluginView::platformStart):

3:11 AM Changeset in webkit [187225] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebCore
Fix the build for IPHONE_OS_VERSION_MIN_REQUIRED <= 80200
!HAVE(AVKIT)
  • platform/ios/WebVideoFullscreenControllerAVKit.mm:

(elementRectInWindow):
This helper is only used in the #else block, so move it there.

3:05 AM Changeset in webkit [187224] by timothy_horton@apple.com
  • 1 edit
    1 delete in trunk/Source/WebKit2

Remove files that were meant to be removed in r173929

  • WebProcess/WebPage/mac/WebInspectorMac.mm: Removed.
2:58 AM Changeset in webkit [187223] by timothy_horton@apple.com
  • 1 edit
    1 delete in trunk/Source/WebKit2

Remove files that were meant to be removed in r168213

  • UIProcess/API/Cocoa/WKErrorRecoveryAttempting.h: Removed.
2:50 AM Changeset in webkit [187222] by timothy_horton@apple.com
  • 1 edit
    3 deletes in trunk/Source/WebKit2

Remove files that were meant to be removed in r168229

  • UIProcess/API/Cocoa/WKSession.h: Removed.
  • UIProcess/API/Cocoa/WKSession.mm: Removed.
  • UIProcess/API/Cocoa/WKSessionInternal.h: Removed.
2:18 AM Changeset in webkit [187221] by timothy_horton@apple.com
  • 1 edit
    2 deletes in trunk/Source/WebKit2

Remove files that were meant to be removed in r165014

  • WebProcess/WebPage/mac/WKAccessibilityWebPageObject.h: Removed.
  • WebProcess/WebPage/mac/WKAccessibilityWebPageObject.mm: Removed.
1:23 AM Changeset in webkit [187220] by Carlos Garcia Campos
  • 14 edits in trunk

[GTK] Add API to allow executing editing commands that require an argument
https://bugs.webkit.org/show_bug.cgi?id=146781

Reviewed by Gustavo Noronha Silva.

Source/WebKit2:

Commands like InsertImage or CreateLink receive an argument, but
we only have webkit_web_view_execute_editing_command() that
doesn't receive any argument. This patch adds
webkit_web_view_execute_editing_command_with_argument() for those
commands. It also adds WEBKIT_EDITING_COMMAND_INSERT_IMAGE and
WEBKIT_EDITING_COMMAND_CREATE_LINK to the predefined editing commands.

  • UIProcess/API/gtk/WebKitEditingCommands.h: Add

WEBKIT_EDITING_COMMAND_INSERT_IMAGE and WEBKIT_EDITING_COMMAND_CREATE_LINK.

  • UIProcess/API/gtk/WebKitWebView.cpp:

(webkit_web_view_execute_editing_command_with_argument):

  • UIProcess/API/gtk/WebKitWebView.h:
  • UIProcess/API/gtk/docs/webkit2gtk-4.0-sections.txt: Add new symbols.
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::executeEditCommand): Pass also the argument
to the message.

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

(WebKit::WebPage::executeEditCommand): Add the argument parameter
to the message handler.

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in: Add argument parameter

to ExecuteEditCommand message.

Tools:

Add buttons to insert image/link to the MiniBrowser edit toolbar,
and test cases for insert image/link commands too.

  • MiniBrowser/gtk/BrowserWindow.c:

(insertImageCommandCallback):
(insertLinkCommandCallback):
(browserWindowSetupEditorToolbar):
(browserWindowConstructed):

  • TestWebKitAPI/Tests/WebKit2Gtk/TestWebViewEditor.cpp:

(testWebViewEditorInsertImage):
(testWebViewEditorCreateLink):
(beforeAll):

12:58 AM Changeset in webkit [187219] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebCore

Try to fix the build

  • platform/spi/cocoa/QuartzCoreSPI.h:
12:31 AM Changeset in webkit [187218] by Carlos Garcia Campos
  • 2 edits in trunk/Tools

Unregistering and re-registering a user message handler does not work
https://bugs.webkit.org/show_bug.cgi?id=138142

Reviewed by Martin Robinson.

This has probably been fixed in r184846, enable the test case
blocked on it.

  • TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitUserContentManager.cpp:

(testUserContentManagerScriptMessageReceived):

Jul 22, 2015:

10:44 PM Changeset in webkit [187217] by commit-queue@webkit.org
  • 14 edits in trunk

Add ENABLE_WEBASSEMBLY feature flag for WebAssembly
https://bugs.webkit.org/show_bug.cgi?id=147212

Patch by Sukolsak Sakshuwong <Sukolsak Sakshuwong> on 2015-07-22
Reviewed by Filip Pizlo.

.:

  • Source/cmake/WebKitFeatures.cmake:

Source/JavaScriptCore:

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore:

No new tests.

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit/mac:

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

  • Configurations/FeatureDefines.xcconfig:

Source/WTF:

  • wtf/FeatureDefines.h:

Tools:

  • Scripts/webkitperl/FeatureList.pm:
10:31 PM Changeset in webkit [187216] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebCore

Try to fix the build

  • platform/spi/cocoa/QuartzCoreSPI.h:
10:09 PM Changeset in webkit [187215] by timothy_horton@apple.com
  • 5 edits in trunk/Source

Use updated CoreAnimation snapshot SPI.
https://bugs.webkit.org/show_bug.cgi?id=147197
<rdar://problem/21032083>

Reviewed by Tim Horton.
Patch by James Savage.

  • Platform/spi/ios/UIKitSPI.h:
  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _snapshotRect:intoImageOfWidth:completionHandler:]):

  • platform/spi/cocoa/QuartzCoreSPI.h:
9:58 PM Changeset in webkit [187214] by fpizlo@apple.com
  • 4 edits in trunk/Source/JavaScriptCore

Simplify DFG::DesiredIdentifiers and make it possible to turn a UniquedStringImpl* into an identifierNumber at any time
https://bugs.webkit.org/show_bug.cgi?id=147218

Reviewed by Sam Weinig.

I want to be able to take a UniquedStringImpl* and turn it into an identifierNumber at
various points in my work on https://bugs.webkit.org/show_bug.cgi?id=146929. Currently,
most Nodes that deal with identifiers use identifierNumbers and you can only create an
identifierNumber in BytecodeGenerator. DFG::ByteCodeParser does sort of have the
ability to create new identifierNumbers when inlining - it takes the inlined code's
identifiers and either gives them new numbers or reuses numbers from the enclosing
code.

This patch takes that basic functionality and puts it in
DFG::DesiredIdentifiers::ensure(). Anyone can call this at any time to turn a
UniquedStringImpl* into an identifierNumber. This data structure is already used by
Plan to properly install any newly created identifier table entries into the CodeBlock.

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::ByteCodeParser):
(JSC::DFG::ByteCodeParser::noticeArgumentsUse):
(JSC::DFG::ByteCodeParser::linkBlocks):
(JSC::DFG::ByteCodeParser::InlineStackEntry::InlineStackEntry):
(JSC::DFG::ByteCodeParser::buildOperandMapsIfNecessary): Deleted.

  • dfg/DFGDesiredIdentifiers.cpp:

(JSC::DFG::DesiredIdentifiers::DesiredIdentifiers):
(JSC::DFG::DesiredIdentifiers::numberOfIdentifiers):
(JSC::DFG::DesiredIdentifiers::ensure):
(JSC::DFG::DesiredIdentifiers::at):
(JSC::DFG::DesiredIdentifiers::addLazily): Deleted.

  • dfg/DFGDesiredIdentifiers.h:
9:51 PM Changeset in webkit [187213] by fpizlo@apple.com
  • 2 edits
    2 adds in trunk/Source/JavaScriptCore

Simplify things like CompareEq(@x,@x)
https://bugs.webkit.org/show_bug.cgi?id=145850

Reviewed by Sam Weinig.

This simplifies x==x to true, except in cases where x might be a double (in which case this
might still be false if x is NaN).

  • dfg/DFGAbstractInterpreterInlines.h:

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

  • tests/stress/nan-equal-untyped.js: Added.

(foo):
(test):

  • tests/stress/nan-equal.js: Added.

(foo):

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

Fix the build

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView setupInteraction]):
(-[WKContentView cleanupInteraction]):

9:45 PM Changeset in webkit [187211] by commit-queue@webkit.org
  • 9 edits
    2 adds in trunk

Web Inspector: Timeline should immediately start moving play head when starting a new recording
https://bugs.webkit.org/show_bug.cgi?id=147210

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-07-22
Reviewed by Timothy Hatcher.

Source/JavaScriptCore:

  • inspector/protocol/Timeline.json:

Add timestamps to recordingStarted and recordingStopped events.

Source/WebCore:

Test: inspector/timeline/recording-start-stop-timestamps.html

  • inspector/InspectorTimelineAgent.cpp:

(WebCore::InspectorTimelineAgent::internalStart):
(WebCore::InspectorTimelineAgent::internalStop):
Include the current timestamp when starting / stopping a recording.

Source/WebInspectorUI:

  • UserInterface/Protocol/TimelineObserver.js:

(WebInspector.TimelineObserver.prototype.recordingStarted):
(WebInspector.TimelineObserver.prototype.recordingStopped):
Pass on the new timestamps.

  • UserInterface/Controllers/TimelineManager.js:

(WebInspector.TimelineManager.prototype.capturingStarted):
(WebInspector.TimelineManager.prototype.capturingStopped):
Pass on the new timestamps in the events.

  • UserInterface/Views/TimelineRecordingContentView.js:

(WebInspector.TimelineRecordingContentView.prototype._capturingStarted):
Pass on the new timestamp from the event as it can be used to update the currentTime.

(WebInspector.TimelineRecordingContentView.prototype._startUpdatingCurrentTime):
If provided a startTime we can use that as the new currentTime. Otherwise fallback
to determining a good currentTime from the next incoming record for legacy backends.

(WebInspector.TimelineRecordingContentView.prototype._recordingTimesUpdated):
Update the comment, as there is now a solution but this is required for legacy backends.

LayoutTests:

  • inspector/timeline/recording-start-stop-timestamps-expected.txt: Added.
  • inspector/timeline/recording-start-stop-timestamps.html: Added.

Add a test for Timeline.recordingStarted and Timeline.recordingStopped events.

9:24 PM Changeset in webkit [187210] by Wenson Hsieh
  • 3 edits
    2 adds in trunk

Coordinates-based snap offsets don't update correctly when container is scrolled
https://bugs.webkit.org/show_bug.cgi?id=147215

Reviewed by Brent Fulgham.

Source/WebCore:

Fixes the way we append the snap offsets of child elements with coordinates. We
now consider the scroll offset of the parent scroll snapping container, so snap
offset recomputations don't fail on scroll snapping containers.

Test: css3/scroll-snap/scroll-snap-coordinate-overflow-resize.html

  • page/scrolling/AxisScrollSnapOffsets.cpp:

(WebCore::appendChildSnapOffsets): Fixed to consider the scroll offset of the

parent container.

LayoutTests:

Tests that snap offsets update properly on scrolled containers.

  • css3/scroll-snap/scroll-snap-coordinate-overflow-resize-expected.txt: Added.
  • css3/scroll-snap/scroll-snap-coordinate-overflow-resize.html: Added.
9:18 PM Changeset in webkit [187209] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Timeline's Current Time does not jump forward to new start time when starting a new recording, causes timeline to appear delayed and broken
https://bugs.webkit.org/show_bug.cgi?id=147204

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-07-22
Reviewed by Timothy Hatcher.

  • UserInterface/Views/TimelineRecordingContentView.js:

(WebInspector.TimelineRecordingContentView.prototype._recordingTimesUpdated):
We were skipping a timeline, but it might have a new event record with
a new start time. This ensures we get an updated current time which makes
sense, and we jump forward to that time in the main timeline.

9:15 PM Changeset in webkit [187208] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

Needed to add methods to get PreviewCaptureLayers from Video
https://bugs.webkit.org/show_bug.cgi?id=147011
<rdar://problem/21861999>

Patch by Matthew Daiter <mdaiter@apple.com> on 2015-07-22
Reviewed by Jer Noble.

  • platform/mediastream/mac/AVVideoCaptureSource.h: Added in preview

layer to class
(WebCore::AVVideoCaptureSource::previewLayer):

  • platform/mediastream/mac/AVVideoCaptureSource.mm: Instantiate

previewLayer on load
(WebCore::AVVideoCaptureSource::setupCaptureSession):

8:54 PM Changeset in webkit [187207] by Matt Baker
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: TimelineRuler shouldn't dispatch selection changed event unless it actually changes
https://bugs.webkit.org/show_bug.cgi?id=147219

Reviewed by Timothy Hatcher.

Moved to a "suppress next" model for suppressing dispatch of TimelineRuler's selection changed event. The
ruler's _timeRangeSelectionChanged flag is now reset only when an event is finally dispatched.

  • UserInterface/Views/TimelineRuler.js:

(WebInspector.TimelineRuler):
(WebInspector.TimelineRuler.prototype._updateSelection):
(WebInspector.TimelineRuler.prototype._dispatchTimeRangeSelectionChangedEvent):
Check for this._timeRangeSelectionChanged moved into dispatch function.
(WebInspector.TimelineRuler.prototype._handleMouseDown):
(WebInspector.TimelineRuler.prototype._handleMouseMove):
(WebInspector.TimelineRuler.prototype._handleMouseUp):
We now suppress the next dispatch only, rather than a toggle.

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

[EFL] The "Missing Plug-in" buttons are not showing up on some flash contents
https://bugs.webkit.org/show_bug.cgi?id=147191

Patch by Sungmann Cho <sungmann.cho@navercorp.com> on 2015-07-22
Reviewed by Gyuyoung Kim.

Currently, WebKitEFL doesn't show the "Missing Plug-in" buttons if the plugin-related tags
don't have a "type" attribute. In such a case, WebCore tries to guess the MIME type from
the extensions by using MIMETypeRegistry::getMIMETypeForExtension(). For WebKitEFL,
MIMETypeRegistry::getMIMETypeForExtension() goes through |extensionMap|, which is a simple
array of <extension, mime type>, looking for the mime type for the given extension.
But |extensionMap| in MIMETypeRegistryEfl.cpp doesn't have the information for ".swf",
so WebCore fails to guess the MIME type and regard the content type as ObjectContentFrame,
not ObjectContentNetscapePlugin.

  • platform/efl/MIMETypeRegistryEfl.cpp:
7:36 PM Changeset in webkit [187205] by Yusuke Suzuki
  • 19 edits
    1 copy
    1 add in trunk/Source/JavaScriptCore

Introducing construct ability into JS executables
https://bugs.webkit.org/show_bug.cgi?id=147183

Reviewed by Geoffrey Garen.

Decouple the construct ability from the builtin functions.
Currently, all builtin functions are not constructors after r182995.
In that patch, when the given function is builtin JS function, we recognize it as the non-constructor function.

But, we need to relax it to implement some constructors in builtins JS.
By decoupling the construct ability from whether the function is builtin or not, we can provide

  1. constructors written in builtin JS
  2. non-constructors in normal JS functions

(1) is needed for Promise constructor.
And (2) is needed for method functions and arrow functions.

This patch introduces ConstructAbility into the unlinked function executables.
It holds whether the given JS function has the construct ability or not.
By leveraging this, this patch disables the construct ability of the method definitions, setters, getters and arrow functions.

And at the same time, this patch introduces the annotation for constructor in builtin JS.
We can define the function as follows,

constructor Promise(executor)
{

...

}

(JSC::BuiltinExecutables::createDefaultConstructor):
(JSC::BuiltinExecutables::createExecutableInternal):

  • builtins/BuiltinExecutables.h:
  • builtins/Iterator.prototype.js:

(symbolIterator):
(SymbolIterator): Deleted.

  • bytecode/UnlinkedCodeBlock.cpp:

(JSC::UnlinkedFunctionExecutable::UnlinkedFunctionExecutable):

  • bytecode/UnlinkedCodeBlock.h:
  • bytecompiler/BytecodeGenerator.h:

(JSC::BytecodeGenerator::makeFunction):

  • generate-js-builtins:

(getCopyright):
(Function):
(Function.init):
(Function.mangleName):
(getFunctions):
(mangleName): Deleted.

  • jit/JITOperations.cpp:
  • llint/LLIntSlowPaths.cpp:

(JSC::LLInt::setUpCall):

  • parser/Parser.cpp:

(JSC::Parser<LexerType>::parseClass):

  • runtime/CodeCache.cpp:

(JSC::CodeCache::getFunctionExecutableFromGlobalCode):

  • runtime/CommonIdentifiers.h:
  • runtime/ConstructAbility.h: Copied from Source/JavaScriptCore/builtins/Iterator.prototype.js.
  • runtime/Executable.h:
  • runtime/JSFunction.cpp:

(JSC::JSFunction::getConstructData):

  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::init):

  • tests/stress/non-constructors.js: Added.

(shouldThrow):
(.prototype.method):
(.prototype.get getter):
(.prototype.set setter):
(.method):
(.get shouldThrow):
(.set shouldThrow):
(set var.test.get getter):
(set var.test.set setter):
(set var.test.normal):
(.set var):
(.set new):

6:54 PM Changeset in webkit [187204] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebCore

Rank sources for fitness for UIDs in bestSourcesForTypeAndConstraints
https://bugs.webkit.org/show_bug.cgi?id=147206
<rdar://problem/21950653>

Patch by Matthew Daiter <mdaiter@apple.com> on 2015-07-22
Reviewed by Jer Noble.

  • platform/mediastream/RealtimeMediaSource.cpp:

(WebCore::RealtimeMediaSource::RealtimeMediaSource):

  • platform/mediastream/RealtimeMediaSource.h:

(WebCore::RealtimeMediaSource::fitnessScore):
(WebCore::RealtimeMediaSource::setFitnessScore):

  • platform/mediastream/mac/AVCaptureDeviceManager.mm:

(WebCore::AVCaptureDeviceManager::bestSourcesForTypeAndConstraints):

6:47 PM Changeset in webkit [187203] by dino@apple.com
  • 3 edits in trunk/Source/WebCore

Video controls, though hidden, are still interactive when in PiP
https://bugs.webkit.org/show_bug.cgi?id=147216
<rdar://problem/21012688>

Reviewed by Simon Fraser.

Explicitly add the PiP class to the controls container so that
we can hang a pointer-events: none off it.

  • Modules/mediacontrols/mediaControlsiOS.css:

(video::-webkit-media-controls-panel.picture-in-picture): Add a pointer-events: none.

  • Modules/mediacontrols/mediaControlsiOS.js:

(ControllerIOS.prototype.handlePresentationModeChange): Add/remove a PiP class
to the controls panel when necessary.

6:21 PM Changeset in webkit [187202] by commit-queue@webkit.org
  • 5 edits in trunk/Source

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

broke all the iOS builds (Requested by thorton on #webkit).

Reverted changeset:

"Use updated CoreAnimation snapshot SPI."
https://bugs.webkit.org/show_bug.cgi?id=147197
http://trac.webkit.org/changeset/187196

6:20 PM Changeset in webkit [187201] by matthew_hanson@apple.com
  • 5 edits in branches/safari-600.8-branch/Source

Versioning.

6:19 PM Changeset in webkit [187200] by matthew_hanson@apple.com
  • 1 copy in tags/Safari-600.8.5

New Tag.

6:19 PM Changeset in webkit [187199] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

Fix the build

  • UIProcess/ios/WKContentViewInteraction.h:
6:08 PM Changeset in webkit [187198] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

[iOS] Adjust the preview architecture
https://bugs.webkit.org/show_bug.cgi?id=147203
<rdar://problem/21945775>

Reviewed by Simon Fraser.

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView _dataForPreviewItemController:atPosition:type:]):
Link previews should win over image previews if both are possible.

5:57 PM Changeset in webkit [187197] by bshafiei@apple.com
  • 1 copy in tags/Safari-601.1.42

New tag.

5:53 PM Changeset in webkit [187196] by commit-queue@webkit.org
  • 5 edits in trunk/Source

Use updated CoreAnimation snapshot SPI.
https://bugs.webkit.org/show_bug.cgi?id=147197

Patch by James Savage <James Savage> on 2015-07-22
Reviewed by Tim Horton.

Source/WebCore:

  • platform/spi/cocoa/QuartzCoreSPI.h:

Source/WebKit2:

  • Platform/spi/ios/UIKitSPI.h:
  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _snapshotRect:intoImageOfWidth:completionHandler:]):

5:44 PM Changeset in webkit [187195] by Devin Rousso
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: REGRESSION (Safari 7): Pseudo element rules are not labelled with media queries in Styles panel
https://bugs.webkit.org/show_bug.cgi?id=147207

Reviewed by Timothy Hatcher.

  • UserInterface/Views/RulesStyleDetailsPanel.js:

(WebInspector.RulesStyleDetailsPanel.prototype.refresh.insertMediaOrInheritanceLabel):
(WebInspector.RulesStyleDetailsPanel.prototype.refresh.insertAllMatchingPseudoStyles):
Now inserts pseudo-styles based on whether their selector specificity is greater than
the previous style's selector specificity.
(WebInspector.RulesStyleDetailsPanel.prototype.refresh):

5:04 PM Changeset in webkit [187194] by mmaxfield@apple.com
  • 2 edits in trunk/LayoutTests

[El Capitan] Test Gardening

Unreviewed.

  • platform/mac/fast/text/ligature-subdivision-expected.txt:
4:23 PM Changeset in webkit [187193] by timothy_horton@apple.com
  • 6 edits in trunk/Source/WebKit2

[iOS] Adjust the preview architecture
https://bugs.webkit.org/show_bug.cgi?id=147203
<rdar://problem/21945775>

Reviewed by Beth Dakin.

  • Platform/spi/ios/UIKitSPI.h:
  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _setAllowsLinkPreview:]): Deleted.

  • UIProcess/ios/WKContentView.mm:

(-[WKContentView willMoveToWindow:]): Deleted.

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

(-[WKContentView setupInteraction]):
(-[WKContentView cleanupInteraction]):
(-[WKContentView _registerPreview]):
(-[WKContentView _unregisterPreview]):
(-[WKContentView _interactionShouldBeginFromPreviewItemController:forPosition:]):
(-[WKContentView _dataForPreviewItemController:atPosition:type:]):
(-[WKContentView _presentationRectForPreviewItemController:]):
(-[WKContentView _presentedViewControllerForPreviewItemController:]):
(-[WKContentView _previewItemController:commitPreview:]):
(-[WKContentView _previewItemController:willPresentPreview:forPosition:inSourceView:]):
(-[WKContentView _previewItemController:didDismissPreview:committing:]):
(-[WKContentView _presentationSnapshotForPreviewItemController:]):
(-[WKContentView _presentationRectsForPreviewItemController:]):
(-[WKContentView gestureRecognizerShouldBegin:]): Deleted.
(-[WKContentView _registerPreviewInWindow:]): Deleted.
(-[WKContentView _unregisterPreviewInWindow:]): Deleted.
(-[WKContentView previewViewControllerForPosition:inSourceView:]): Deleted.
(-[WKContentView commitPreviewViewController:]): Deleted.
(-[WKContentView willPresentPreviewViewController:forPosition:inSourceView:]): Deleted.
(-[WKContentView didDismissPreviewViewController:committing:]): Deleted.
Register and unregister in setup/cleanupInteraction instead of when moving between windows.
Implement 'shouldBegin' instead of interacting directly with the recognizer.
Make use of system enums instead of our own.
Let UIPreviewItemController handle shrink-wrapping and the indicator view.

3:51 PM Changeset in webkit [187192] by matthew_hanson@apple.com
  • 1 edit
    1 add in branches/safari-600.8-branch/Tools

Add ModalAlertsSPI.cpp, which was missed in the merge of r185915.

Reviewed by Jeff Miller.

  • TestWebKitAPI/Tests/WebKit2/ModalAlertsSPI.cpp: Added.
3:51 PM Changeset in webkit [187191] by Gyuyoung Kim
  • 4 edits
    2 copies
    4 moves
    3 adds in trunk/Source/WebKit2

[EFL] Support indexeddb for WK2
https://bugs.webkit.org/show_bug.cgi?id=145867

Reviewed by Csaba Osztrogonác.

Add stub implementation for indexeddb. Move KeyedDecoder and KeyedEncoder from gtk to glib
in order to share it between GTK and EFL ports.

  • DatabaseProcess/EntryPoint/unix/DatabaseProcessMain.cpp:
  • DatabaseProcess/efl/DatabaseProcessMainEfl.cpp: Copied from Source/WebKit2/DatabaseProcess/EntryPoint/unix/DatabaseProcessMain.cpp.

(WebKit::DatabaseProcessMainUnix):

  • PlatformEfl.cmake:
  • PlatformGTK.cmake:
  • Shared/glib/KeyedDecoder.cpp: Renamed from Source/WebKit2/Shared/gtk/KeyedDecoder.cpp.

(WebKit::KeyedDecoder::KeyedDecoder):
(WebKit::KeyedDecoder::~KeyedDecoder):
(WebKit::KeyedDecoder::dictionaryFromGVariant):
(WebKit::KeyedDecoder::decodeBytes):
(WebKit::KeyedDecoder::decodeSimpleValue):
(WebKit::KeyedDecoder::decodeBool):
(WebKit::KeyedDecoder::decodeUInt32):
(WebKit::KeyedDecoder::decodeInt32):
(WebKit::KeyedDecoder::decodeInt64):
(WebKit::KeyedDecoder::decodeFloat):
(WebKit::KeyedDecoder::decodeDouble):
(WebKit::KeyedDecoder::decodeString):
(WebKit::KeyedDecoder::beginObject):
(WebKit::KeyedDecoder::endObject):
(WebKit::KeyedDecoder::beginArray):
(WebKit::KeyedDecoder::beginArrayElement):
(WebKit::KeyedDecoder::endArrayElement):
(WebKit::KeyedDecoder::endArray):

  • Shared/glib/KeyedDecoder.h: Renamed from Source/WebKit2/Shared/gtk/KeyedDecoder.h.
  • Shared/glib/KeyedEncoder.cpp: Renamed from Source/WebKit2/Shared/gtk/KeyedEncoder.cpp.

(WebKit::KeyedEncoder::KeyedEncoder):
(WebKit::KeyedEncoder::~KeyedEncoder):
(WebKit::KeyedEncoder::encodeBytes):
(WebKit::KeyedEncoder::encodeBool):
(WebKit::KeyedEncoder::encodeUInt32):
(WebKit::KeyedEncoder::encodeInt32):
(WebKit::KeyedEncoder::encodeInt64):
(WebKit::KeyedEncoder::encodeFloat):
(WebKit::KeyedEncoder::encodeDouble):
(WebKit::KeyedEncoder::encodeString):
(WebKit::KeyedEncoder::beginObject):
(WebKit::KeyedEncoder::endObject):
(WebKit::KeyedEncoder::beginArray):
(WebKit::KeyedEncoder::beginArrayElement):
(WebKit::KeyedEncoder::endArrayElement):
(WebKit::KeyedEncoder::endArray):
(WebKit::KeyedEncoder::finishEncoding):

  • Shared/glib/KeyedEncoder.h: Renamed from Source/WebKit2/Shared/gtk/KeyedEncoder.h.
  • UIProcess/Databases/efl/DatabaseProcessProxyEfl.cpp: Copied from Source/WebKit2/DatabaseProcess/EntryPoint/unix/DatabaseProcessMain.cpp.

(WebKit::DatabaseProcessProxy::platformGetLaunchOptions):

3:09 PM Changeset in webkit [187190] by Michael Catanzaro
  • 2 edits in trunk/Source/WebKit2

[Seccomp] Canonicalize filesystem path when whitelisting it
https://bugs.webkit.org/show_bug.cgi?id=142986

Reviewed by Žan Doberšek.

  • Shared/linux/SeccompFilters/SyscallPolicy.cpp:

(WebKit::canonicalizeFileName):
(WebKit::SyscallPolicy::addFilePermission):
(WebKit::SyscallPolicy::addDirectoryPermission):

2:55 PM Changeset in webkit [187189] by dino@apple.com
  • 4 edits
    2 adds in trunk

Out of bounds in WebGLRenderingContext::simulateVertexAttrib0
https://bugs.webkit.org/show_bug.cgi?id=147176
<rdar://problem/21567767>

Reviewed by Oliver Hunt.

Source/WebCore:

Test: fast/canvas/webgl/out-of-bounds-simulated-vertexAttrib0-drawArrays.html

Add overflow checking for the drawing calls, specifically the way
they may simulate vertexAttrib0.

  • html/canvas/WebGLRenderingContextBase.cpp:

(WebCore::WebGLRenderingContextBase::validateDrawArrays): Call new validation method.
(WebCore::WebGLRenderingContextBase::validateDrawElements): Ditto.
(WebCore::WebGLRenderingContextBase::validateSimulatedVertexAttrib0): New method that
validates the parameters used to create the simulated attribute.
(WebCore::WebGLRenderingContextBase::simulateVertexAttrib0): No need to do overflow
checking here now that the validation method does it for us.
(WebCore::WebGLRenderingContextBase::validateVertexAttributes): Deleted.

  • html/canvas/WebGLRenderingContextBase.h: Add new validation method.

LayoutTests:

  • fast/canvas/webgl/out-of-bounds-simulated-vertexAttrib0-drawArrays-expected.txt: Added.
  • fast/canvas/webgl/out-of-bounds-simulated-vertexAttrib0-drawArrays.html: Added.
2:42 PM Changeset in webkit [187188] by Brent Fulgham
  • 1 edit
    11 adds in trunk/Websites/webkit.org

Add some images needed for an upcoming blog post.

  • blog-files/backdrop-filters: Added.
  • blog-files/backdrop-filters/Screen_OSX_Yosemite_Finder-iCloud-WaterBg_1x.jpg: Added.
  • blog-files/backdrop-filters/Screen_OSX_Yosemite_Finder-iCloud-WaterBg_2x.jpg: Added.
  • blog-files/backdrop-filters/Screen_V_iOS8_ControlCenter_BlueGradient_1x.jpg: Added.
  • blog-files/backdrop-filters/Screen_V_iOS8_ControlCenter_BlueGradient_2x.jpg: Added.
  • blog-files/backdrop-filters/backdrop_correct_1x.jpg: Added.
  • blog-files/backdrop-filters/backdrop_correct_2x.jpg: Added.
  • blog-files/backdrop-filters/backdrop_invert_1x.jpg: Added.
  • blog-files/backdrop-filters/backdrop_invert_2x.jpg: Added.
  • blog-files/backdrop-filters/backdrop_mixed_1x.jpg: Added.
  • blog-files/backdrop-filters/backdrop_mixed_2x.jpg: Added.
2:41 PM Changeset in webkit [187187] by bshafiei@apple.com
  • 3 edits in branches/safari-601.1-branch/Source/WebCore

Merged r187183. rdar://problem/21930899

2:40 PM Changeset in webkit [187186] by bshafiei@apple.com
  • 2 edits in branches/safari-601.1-branch/Source/WebCore

Merged r187181. rdar://problem/21928170

2:36 PM Changeset in webkit [187185] by commit-queue@webkit.org
  • 11 edits in trunk

Web Inspector: AppCache manifest 404 doesn't produce errors in console, manifest resource request always loading indicator
https://bugs.webkit.org/show_bug.cgi?id=147135

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-07-22
Reviewed by Alexey Proskuryakov.

Source/WebCore:

  • loader/appcache/ApplicationCacheGroup.cpp:

(WebCore::ApplicationCacheGroup::didReceiveResponse):
Always pass a document loader instead of passing null for the manifest request.

(WebCore::ApplicationCacheGroup::didReceiveManifestResponse):
Since we will be cancelling the resource handle ourselves in didReceiveResponse
before receiving the didFail resource handle delegates, we should update the
inspector about this resource load failing due to a cancel.

(WebCore::ApplicationCacheGroup::didFinishLoadingManifest):
(WebCore::ApplicationCacheGroup::checkIfLoadIsComplete):
Update the MessageSource from "Other" to "AppCache".

LayoutTests:

  • http/tests/appcache/404-manifest-expected.txt:
  • http/tests/appcache/abort-cache-ondownloading-manifest-404-expected.txt:
  • http/tests/appcache/deferred-events-delete-while-raising-expected.txt:
  • http/tests/appcache/deferred-events-delete-while-raising-timer-expected.txt:
  • http/tests/appcache/deferred-events-expected.txt:
  • http/tests/appcache/fail-on-update-2-expected.txt:
  • http/tests/appcache/fail-on-update-expected.txt:
  • http/tests/appcache/remove-cache-expected.txt:

Update with new Console errors about manifest 404s.

2:31 PM Changeset in webkit [187184] by Csaba Osztrogonác
  • 2 edits in trunk/Source/JavaScriptCore

[JSC] Enable exception fuzzing for GCC too
https://bugs.webkit.org/show_bug.cgi?id=146831

Reviewed by Darin Adler.

  • jit/JITOperations.cpp:
2:31 PM Changeset in webkit [187183] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

Fix fullscreen and PiP video animation and sizing regressions.
https://bugs.webkit.org/show_bug.cgi?id=147189
<rdar://problem/21930899>

Patch by Jeremy Jones <jeremyj@apple.com> on 2015-07-22
Reviewed by Jer Noble.

Fixes WK1 specific regressions introduced by r187044. Flicker when entering fullscreen,
wrong animation and missing initial animation rects.

  • platform/ios/WebVideoFullscreenControllerAVKit.mm:

(elementRectInWindow): Added.
(WebVideoFullscreenControllerContext::didSetupFullscreen): Clear background decreases flash.
(WebVideoFullscreenControllerContext::fullscreenMayReturnToInline): Use consistent inline rect.
(WebVideoFullscreenControllerContext::setVideoLayerFrame):
Clear the transform on the web thread instead of on the UI thread.
(WebVideoFullscreenControllerContext::setUpFullscreen): Use consistent inline rect.
(WebVideoFullscreenControllerContext::exitFullscreen): Use consistent inline rect.

  • platform/ios/WebVideoFullscreenInterfaceAVKit.mm:

(-[WebAVPlayerLayer resolveBounds]): Clear transform after setting frame.

2:29 PM Changeset in webkit [187182] by jhoneycutt@apple.com
  • 2 edits in trunk/Tools

Add --ios-simulator to run-api-tests --help.

Rubber-stamped by Dan Bates.

  • Scripts/run-api-tests:
2:27 PM Changeset in webkit [187181] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Adopt AVKit's AVSimplePlayerLayerView change for PiP.
https://bugs.webkit.org/show_bug.cgi?id=147186
<rdar://problem/21928170>

Patch by Jeremy Jones <jeremyj@apple.com> on 2015-07-22
Reviewed by Jer Noble.

Adopt AVKit changes by inheriting from UIView instead of from AVPictureInPicturePlayerLayerView.

  • platform/ios/WebVideoFullscreenInterfaceAVKit.mm:

(WebAVPlayerLayerView_layerClass): Style.
(WebAVPlayerLayerView_playerController): Style.
(WebAVPlayerLayerView_videoView): Style.
(getWebAVPictureInPicturePlayerLayerViewClass): Inherit from UIView.

2:06 PM Changeset in webkit [187180] by bshafiei@apple.com
  • 2 edits in branches/safari-600.1.4.17-branch/Source/WebKit2

Merged r187174. rdar://problem/21877914

2:03 PM Changeset in webkit [187179] by bshafiei@apple.com
  • 5 edits in branches/safari-600.1.4.17-branch/Source

Versioning.

1:59 PM Changeset in webkit [187178] by Simon Fraser
  • 3 edits in trunk/Source/WebKit2

Add logging for TiledCoreAnimationDrawingArea resizing
https://bugs.webkit.org/show_bug.cgi?id=147180

Reviewed by Tim Horton.

Add a "Resize" log channel for WebKit2, and use it to log data in scaleViewToFitDocumentIfNeeded().

  • Platform/Logging.h:
  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:

(WebKit::TiledCoreAnimationDrawingArea::scaleViewToFitDocumentIfNeeded):

1:49 PM Changeset in webkit [187177] by fpizlo@apple.com
  • 2 edits in trunk/Source/WTF

Introduce release assert for using threads before threading is initialized
https://bugs.webkit.org/show_bug.cgi?id=147200

Reviewed by Michael Saboff.

This will help bugs where you use createThread() before calling initializeThreading().

  • wtf/ThreadIdentifierDataPthreads.cpp:

(WTF::ThreadIdentifierData::initialize):

1:36 PM Changeset in webkit [187176] by matthew_hanson@apple.com
  • 11 edits in branches/safari-600.8-branch

Merge r185915. rdar://problem/21716368

1:31 PM Changeset in webkit [187175] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Fixed pool allocation should always be aligned
https://bugs.webkit.org/show_bug.cgi?id=147201

Reviewed by Simon Fraser.

Passing an unaligned size to the allocator can cause asserts or even worse things. The
Options reservation value isn't going to be aligned.

  • jit/ExecutableAllocatorFixedVMPool.cpp:

(JSC::FixedVMPoolExecutableAllocator::FixedVMPoolExecutableAllocator):

12:56 PM Changeset in webkit [187174] by weinig@apple.com
  • 2 edits in trunk/Source/WebKit2

Encode/Decode underlying errors when serializing NSErrors
<rdar://problem/21818117>
https://bugs.webkit.org/show_bug.cgi?id=147199

Reviewed by Anders Carlsson.

  • Shared/mac/WebCoreArgumentCodersMac.mm:

(IPC::ArgumentCoder<CertificateInfo>::decode):
(IPC::encodeNSError):
(IPC::ArgumentCoder<ResourceError>::encodePlatformData):
(IPC::decodeNSError):
(IPC::ArgumentCoder<ResourceError>::decodePlatformData):
Break out encoding/decoding of the NSErrors into a helpers so they can be called
for the underlying error.

12:15 PM Changeset in webkit [187173] by Beth Dakin
  • 9 edits in trunk/Source

Animated images should animate in previews
https://bugs.webkit.org/show_bug.cgi?id=147173
-and corresponding-
rdar://problem/21637698

Reviewed by Dan Bernstein.

Source/WebCore:

New virtual function to indicate whether or not the image is animated.

  • platform/graphics/BitmapImage.h:
  • platform/graphics/Image.h:

(WebCore::Image::isAnimated):

Source/WebKit2:

InteractionInformationAtPosition needs to know if it’s an animated image.

  • Shared/InteractionInformationAtPosition.cpp:

(WebKit::InteractionInformationAtPosition::encode):
(WebKit::InteractionInformationAtPosition::decode):

  • Shared/InteractionInformationAtPosition.h:

New delegate method to create a link preview view controller for animated
images.

  • UIProcess/API/Cocoa/WKUIDelegatePrivate.h:

Treat animated images more like link previews.

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView previewViewControllerForPosition:inSourceView:]):

Set info.isAnimatedImage

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::getPositionInformation):

12:00 PM Changeset in webkit [187172] by commit-queue@webkit.org
  • 4 edits in trunk/Tools

Remove hardcoded "internal" from Buildbot.prototype._normalizeQueueInfo.
https://bugs.webkit.org/show_bug.cgi?id=147043

Patch by Jason Marcell <jmarcell@apple.com> on 2015-07-22
Reviewed by Daniel Bates and Alexey Proskuryakov.

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

(Buildbot.prototype._normalizeQueueInfo):
The _normalizeQueueInfo method now calls the defaultBranches getter instead of using hardcoded values
in cases where the queue.branch property is not set and the queue is not a combined queue.

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

(BuildbotCombinedQueueView):
Ensuring uniformity of repository branches within a combined queue.

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

(WebKitBuildbot.prototype.get defaultBranches):
Added; provides a WebKit-specific implementation that sets the queue.branches dictionary to have a
single entry for "openSource" as the default set of branches. Note that we intentionally omitted a
base class implementation of the defaultBranches getter so as to cause a JavaScript TypeError when a
sub-queue of a combined queue does not specify property branch and the derived Buildbot class does not
implement defaultBranches so that a person can either update the definition of the sub-queue or
implement defaultBranches in the derived Buildbot class they are using.

11:52 AM Changeset in webkit [187171] by commit-queue@webkit.org
  • 5 edits
    2 adds in trunk

[WinCairo] SVG path not rendered with all-zero dasharray
https://bugs.webkit.org/show_bug.cgi?id=146997

Patch by Jinyoung Hur <hur.ims@navercorp.com> on 2015-07-22
Reviewed by Martin Robinson.

Source/WebCore:

All-zero dash array should not be passed to cairo_set_dash() as an argument, because it will cause an internal Cairo error.
Rather call cairo_set_dash() with num_dashes=0 to disable dash line.

Tests: fast/canvas/canvas-lineDash.html

svg/custom/zero-dasharray.html

  • platform/graphics/cairo/GraphicsContextCairo.cpp:

(WebCore::GraphicsContext::setLineDash):

LayoutTests:

Canvas 2D context and SVG stroke tests with all-zero dash array are added.

  • fast/canvas/canvas-lineDash-expected.txt:
  • fast/canvas/script-tests/canvas-lineDash.js:
  • svg/custom/zero-dasharray.html: Added
  • svg/custom/zero-dasharray-expected.html: Added
11:47 AM Changeset in webkit [187170] by Wenson Hsieh
  • 2 edits in trunk/Source/WebCore

Search fields render placeholder text improperly.
https://bugs.webkit.org/show_bug.cgi?id=147192
<rdar://problem/21901076>

Reviewed by Alexey Proskuryakov.

Due to changes in the way AppKit renders search inputs, we must now explicitly
set the placeholder text of a search input rendered using the Mac theme to be
an empty string when rendering the search input box (not including the actual
placeholder text).

  • rendering/RenderThemeMac.mm:

(WebCore::RenderThemeMac::setSearchCellState): Force the placeholder text of

the NSSearchFieldCell for the Mac theme to be an empty string.

11:14 AM Changeset in webkit [187169] by achristensen@apple.com
  • 3 edits in trunk/Tools

Switch WinCairo build to use CMake.
https://bugs.webkit.org/show_bug.cgi?id=147169

Reviewed by Brent Fulgham.

  • Scripts/build-webkit:
  • Scripts/webkitdirs.pm:

(determineConfiguration):
(determineArchitecture):
(determinePassedConfiguration):
(passedConfiguration):
(jhbuildWrapperPrefixIfNeeded):
(generateBuildSystemFromCMakeProject):
It's CMake time! We now use the CMake files to generate a solution in WebKitBuild/Release/WebKit.sln and build that.

11:09 AM Changeset in webkit [187168] by commit-queue@webkit.org
  • 9 edits in trunk/Source/WebCore

Need the ability to give only best source UIDs to UserMedia request
https://bugs.webkit.org/show_bug.cgi?id=147171
<rdar://problem/21931121>

Patch by Matthew Daiter <mdaiter@apple.com> on 2015-07-22
Reviewed by Eric Carlson.

  • Modules/mediastream/UserMediaRequest.cpp:

(WebCore::UserMediaRequest::constraintsValidated):

  • Modules/mediastream/UserMediaRequest.h:

(WebCore::UserMediaRequest::videoDeviceUIDs):
(WebCore::UserMediaRequest::audioDeviceUIDs):

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

(WebCore::AVCaptureDeviceManager::bestSourcesForTypeAndConstraints):
(WebCore::AVCaptureDeviceManager::bestSourceForTypeAndConstraints): Deleted.

  • platform/mediastream/mac/RealtimeMediaSourceCenterMac.cpp:

(WebCore::RealtimeMediaSourceCenterMac::validateRequestConstraints):
(WebCore::RealtimeMediaSourceCenterMac::createMediaStream):

  • platform/mock/MockRealtimeMediaSourceCenter.cpp:

(WebCore::MockRealtimeMediaSourceCenter::validateRequestConstraints):

11:04 AM Changeset in webkit [187167] by Csaba Osztrogonác
  • 2 edits in trunk/Source/JavaScriptCore

Enable STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE for GCC
https://bugs.webkit.org/show_bug.cgi?id=146829

Reviewed by Brent Fulgham.

  • heap/GCAssertions.h:
10:56 AM Changeset in webkit [187166] by basile_clement@apple.com
  • 39 edits
    5 adds in branches/jsc-tailcall

jsc-tailcall: Add new opcodes for tail calls
https://bugs.webkit.org/show_bug.cgi?id=146484

Reviewed by Michael Saboff.

Source/JavaScriptCore:

This patch introduces two new opcodes, op_tail_call and
op_tail_call_varargs, to perform tail calls, and implements them in the
LLInt and baseline JIT. Their use prevents DFG and FTL compilation for
now. They are currently implemented by sliding the call frame and
masquerading as our own caller right before performing an actual call.

This required to change the operationLink family of operation to return
a SlowPathReturnType instead of a char* in order to distinguish between
exception cases (must not trash the caller frame) and actual call case
(must trash the caller frame).

This is also a semantics change, since the Function.caller property is
now leaking tail calls. Since tail calls are only used in strict mode,
which poisons this property, the only way of seeing this semantics
change is when a sloppy function calls a strict function that then
tail-calls a sloppy function. Previously, the second sloppy function's
caller would have been the strict function (i.e. raises a TypeError
when the .caller attribute is accessed), while it is now the first
sloppy function.

Finally, this patch adds a couple of tests to check that tail calls run
in constant stack space, as well as tests checking that tail calls are
recognized correctly. Those tests use the handy aforementioned leaking
of tail calls through Function.caller. Moreover, this patch also adds
(as per the spec) statements following a label as tail positions, and
removes the body of a with statement (in disagreement with the spec) as
a tail position since with statements are not allowed in strict mode.

  • assembler/AbstractMacroAssembler.h:
  • assembler/MacroAssemblerARM.h:

(JSC::MacroAssemblerARM::nearTailCall):
(JSC::MacroAssemblerARM::linkCall):

  • assembler/MacroAssemblerARM64.h:

(JSC::MacroAssemblerARM64::nearTailCall):
(JSC::MacroAssemblerARM64::linkCall):

  • assembler/MacroAssemblerARMv7.h:

(JSC::MacroAssemblerARMv7::nearTailCall):
(JSC::MacroAssemblerARMv7::linkCall):

  • assembler/MacroAssemblerMIPS.h:

(JSC::MacroAssemblerMIPS::nearTailCall):
(JSC::MacroAssemblerMIPS::linkCall):

  • assembler/MacroAssemblerSH4.h:

(JSC::MacroAssemblerSH4::nearTailCall):
(JSC::MacroAssemblerSH4::linkCall):

  • assembler/MacroAssemblerX86.h:

(JSC::MacroAssemblerX86::linkCall):

  • assembler/MacroAssemblerX86Common.h:

(JSC::MacroAssemblerX86Common::nearTailCall):

  • assembler/MacroAssemblerX86_64.h:

(JSC::MacroAssemblerX86_64::linkCall):

  • assembler/RepatchBuffer.h:

(JSC::RepatchBuffer::relink):

  • bytecode/BytecodeList.json:
  • bytecode/BytecodeUseDef.h:

(JSC::computeUsesForBytecodeOffset):
(JSC::computeDefsForBytecodeOffset):

  • bytecode/CallLinkInfo.h:

(JSC::CallLinkInfo::callTypeFor):
(JSC::CallLinkInfo::isVarargsCallType):
(JSC::CallLinkInfo::isTailCallType):
(JSC::CallLinkInfo::setSlowStub):
(JSC::CallLinkInfo::clearSlowStub):
(JSC::CallLinkInfo::slowStub):

  • bytecode/CallLinkStatus.cpp:

(JSC::CallLinkStatus::computeFromLLInt):

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::dumpBytecode):
(JSC::CodeBlock::CodeBlock):

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::emitTailCall):
(JSC::BytecodeGenerator::emitCall):
(JSC::BytecodeGenerator::emitTailCallVarargs):

  • bytecompiler/NodesCodegen.cpp:

(JSC::LabelNode::emitBytecode):

  • dfg/DFGJITCompiler.cpp:

(JSC::DFG::JITCompiler::link):

  • ftl/FTLJSCallBase.cpp:

(JSC::FTL::JSCallBase::link):

  • interpreter/Interpreter.h:

(JSC::Interpreter::isCallBytecode):

  • jit/JIT.cpp:

(JSC::JIT::privateCompileMainPass):
(JSC::JIT::privateCompileSlowCases):

  • jit/JIT.h:
  • jit/JITCall.cpp:

(JSC::JIT::compileOpCall):
(JSC::JIT::compileOpCallSlowCase):
(JSC::JIT::emit_op_tail_call):
(JSC::JIT::emit_op_tail_call_varargs):
(JSC::JIT::emitSlow_op_tail_call):
(JSC::JIT::emitSlow_op_tail_call_varargs):

  • jit/JITCall32_64.cpp:

(JSC::JIT::emitSlow_op_tail_call):
(JSC::JIT::emitSlow_op_tail_call_varargs):
(JSC::JIT::emit_op_tail_call):
(JSC::JIT::emit_op_tail_call_varargs):
(JSC::JIT::compileOpCall):
(JSC::JIT::compileOpCallSlowCase):

  • jit/JITInlines.h:

(JSC::JIT::emitNakedTailCall):

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

(JSC::operationLinkFor):
(JSC::operationVirtualFor):
(JSC::operationLinkPolymorphicCallFor):

  • jit/Repatch.cpp:

(JSC::generateByIdStub):
(JSC::linkSlowFor):
(JSC::linkFor):
(JSC::revertCall):
(JSC::unlinkFor):
(JSC::linkVirtualFor):
(JSC::linkPolymorphicCall):

  • jit/ThunkGenerators.cpp:

(JSC::slowPathFor):
(JSC::linkThunkFor):
(JSC::linkCallThunk):
(JSC::linkCallThunkGenerator):
(JSC::linkConstructThunkGenerator):
(JSC::linkCallThatPreservesRegsThunkGenerator):
(JSC::linkConstructThatPreservesRegsThunkGenerator):
(JSC::linkPolymorphicCallThunkFor):
(JSC::linkPolymorphicCallThunk):
(JSC::linkPolymorphicCallThunkGenerator):
(JSC::linkPolymorphicCallThatPreservesRegsThunkGenerator):
(JSC::virtualThunkFor):
(JSC::virtualThunk):
(JSC::virtualCallThunkGenerator):
(JSC::virtualConstructThunkGenerator):
(JSC::virtualCallThatPreservesRegsThunkGenerator):
(JSC::virtualConstructThatPreservesRegsThunkGenerator):
(JSC::unreachableGenerator):
(JSC::prepareForTailCall):

  • jit/ThunkGenerators.h:
  • llint/LowLevelInterpreter.asm:
  • llint/LowLevelInterpreter32_64.asm:
  • llint/LowLevelInterpreter64.asm:
  • tests/stress/mutual-tail-call-no-stack-overflow.js: Added.

(shouldThrow):
(sloppyCountdown.even):
(sloppyCountdown.odd):
(strictCountdown.even):
(strictCountdown.odd):
(strictCountdown):

  • tests/stress/tail-call-no-stack-overflow.js: Added.

(shouldThrow):
(strictLoop):

  • tests/stress/tail-call-recognize.js: Added.

(callerMustBeRun):
(callerMustBeStrict):
(runTests):

  • tests/stress/tail-call-varargs-no-stack-overflow.js: Added.

(shouldThrow):
(strictLoop):

LayoutTests:

  • js/caller-property-expected.txt:
  • js/script-tests/caller-property.js: Function.caller has had semantics change: it nows leaks tail calls

(strictCaller):
(strictTailCaller):

  • js/script-tests/class-syntax-super.js:
  • js/script-tests/dfg-strict-mode-to-this.js: Temporarily disabled since it has a tail call and requires DFG
10:21 AM Changeset in webkit [187165] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

Source/WebCore:
Fix toJSDOMWindow() in the case of an object that has the actual JS DOM window in its prototype chain.
https://bugs.webkit.org/show_bug.cgi?id=146785

Patch by Mark Dittmer <mark.s.dittmer@gmail.com> on 2015-07-22
Reviewed by Mark Lam.

  • bindings/js/JSDOMWindowBase.cpp: toJSDOMWindow(): Walk the prototype chain of the given JSValue until a JSDOMWindow or JSDOMWindowShell is found.

LayoutTests:
New test: Object.create(window).location will trigger a crash when toJSDOMWindow() returns NULL on an object that have the JS DOM Window in its prototype chain.
https://bugs.webkit.org/show_bug.cgi?id=146785

Patch by Mark Dittmer <mark.s.dittmer@gmail.com> on 2015-07-22
Reviewed by Mark Lam.

  • js/property-of-window-as-prototype-expected.txt:
  • js/property-of-window-as-prototype.html:
10:17 AM Changeset in webkit [187164] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebCore

Remove revealing getVideoTracks() and getAudioTracks()
https://bugs.webkit.org/show_bug.cgi?id=147126
<rdar://problem/21908723>

Patch by Matthew Daiter <mdaiter@apple.com> on 2015-07-22
Reviewed by Eric Carlson.

  • Modules/mediastream/MediaStream.h:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.h:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm:

(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::MediaPlayerPrivateMediaStreamAVFObjC):
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::load): Modded to use
tracks() instead of getVideo/AudioTracks()
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::platformLayer): Ditto
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::playInternal): Ditto
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::pauseInternal): Ditto
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::setMuted): Ditto
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::naturalSize): Ditto
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::hasVideo): Ditto
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::hasAudio): Ditto
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::currentMediaTime):
Changed to a FIXME

  • platform/mediastream/MediaStreamPrivate.h:
10:12 AM Changeset in webkit [187163] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Ensure MediaPlayerPrivateAVFoundation doesn't load MediaStreams
https://bugs.webkit.org/show_bug.cgi?id=147119
<rdar://problem/21904955>

Patch by Matthew Daiter <mdaiter@apple.com> on 2015-07-22
Reviewed by Eric Carlson.

  • platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h: Set

networkstate to error when loading MediaStreams

10:09 AM Changeset in webkit [187162] by ap@apple.com
  • 5 edits in branches/safari-601.1-branch

Merge r186980.

2015-07-17 Simon Fraser <Simon Fraser>

Attempt to fix the build.

  • html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::webkitCurrentPlaybackTargetIsWireless):
  • html/HTMLMediaElement.h:
10:04 AM Changeset in webkit [187161] by achristensen@apple.com
  • 16 edits in trunk

Fix quirks in CMake build on Mac and Windows
https://bugs.webkit.org/show_bug.cgi?id=147174

Reviewed by Gyuyoung Kim.

.:

  • CMakeLists.txt:
  • Source/cmake/OptionsWindows.cmake:

Added options I removed in r187022. They are indeed needed.

  • Source/cmake/WebKitFS.cmake:

Make the DerivedSources/WebKit directory.

Source/JavaScriptCore:

  • PlatformMac.cmake:

Add JSRemoteInspector.cpp and remove semicolon from command to make it actually run.

Source/WebCore:

  • PlatformMac.cmake:

Removed files that don't exist any more.

  • platform/win/WindowsTouch.h:

Only use definitions of touch structures when compiling with VS2012.

Source/WebKit:

  • PlatformMac.cmake:

Fixed syntax, removed files that don't exist any more.

Source/WebKit/win:

  • WebView.cpp:

Include winuser.h to get definitions of touch-related structures like tagGESTUREINFO.

Tools:

  • CMakeLists.txt:

Don't build DumpRenderTree with CMake for now (until we get that working).

  • WinLauncher/CMakeLists.txt:

Renamed WinLauncherLauncher to WinLauncher and WinLauncher to WinLauncherLib to match the Visual Studio build.

9:08 AM Changeset in webkit [187160] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebCore

Fix cast-align warning in NetworkStateNotifierEfl.cpp
https://bugs.webkit.org/show_bug.cgi?id=145915

Reviewed by Gyuyoung Kim.

  • platform/network/efl/NetworkStateNotifierEfl.cpp:

(WebCore::NetworkStateNotifier::readSocketCallback):

8:56 AM Changeset in webkit [187159] by Michael Catanzaro
  • 3 edits
    2 adds in trunk/Source/WebKit2

[Seccomp Filters] Add helpers to get XDG base directory locations
https://bugs.webkit.org/show_bug.cgi?id=142982

Reviewed by Zan Dobersek.

  • PlatformEfl.cmake:
  • PlatformGTK.cmake:
  • Shared/linux/SeccompFilters/XDGBaseDirectory.h: Added.
  • Shared/linux/SeccompFilters/XDGBaseDirectoryGLib.cpp: Added.

(WebKit::userHomeDirectory):
(WebKit::userCacheDirectory):
(WebKit::userConfigDirectory):
(WebKit::userDataDirectory):
(WebKit::userRuntimeDirectory):

8:44 AM Changeset in webkit [187158] by Nikita Vasilyev
  • 3 edits in trunk/Source/WebInspectorUI

Web Inspector: Change syntax highlighting color for regular expressions to make them more readable
https://bugs.webkit.org/show_bug.cgi?id=146956

Reviewed by Timothy Hatcher.

  • UserInterface/Views/FormattedValue.css:

(.formatted-regexp):

  • UserInterface/Views/SyntaxHighlightingDefaultTheme.css:

(.syntax-highlighted :matches(.css-string, .javascript-string, .html-attribute-value)):
(.syntax-highlighted .javascript-regexp):
(.syntax-highlighted :matches(.css-string, .javascript-string, .javascript-regexp, .html-attribute-value)): Deleted.

7:57 AM Changeset in webkit [187157] by Michael Catanzaro
  • 2 edits in trunk/Source/WebCore/platform/gtk/po

[l10n] Updated Swedish translation
https://bugs.webkit.org/show_bug.cgi?id=147190

Patch by Josef Andersson <josef.andersson@fripost.org> on 2015-07-22

  • sv.po:
7:53 AM Changeset in webkit [187156] by Gyuyoung Kim
  • 2 edits in trunk/Source/WebKit2

[EFL][WK2] EWK2ContextTestMultipleProcesses.ewk_context_network_process_model fails to pass
https://bugs.webkit.org/show_bug.cgi?id=142967

Reviewed by Csaba Osztrogonác.

Though processIdentifier() can return 0 when a page is not closed, ewk_context_network_process_model has
not been considered process id can be 0. This patch adds a protection logic which doesn't test when process
id is 0 at the moment.

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

(TEST_F):

6:20 AM Changeset in webkit [187155] by ryuan.choi@navercorp.com
  • 3 edits in trunk/Source/WebCore

[GTK][EFL] Remove dead functions in LocalizedStrings
https://bugs.webkit.org/show_bug.cgi?id=147188

Reviewed by Csaba Osztrogonác.

  • platform/efl/LocalizedStringsEfl.cpp:

(WebCore::contextMenuItemTagHideMediaControls):
(WebCore::contextMenuitemTagHideMediaControls): Fixed typo since r152117.
(WebCore::inactivePluginText): Deleted since r151530.
(WebCore::textTrackClosedCaptionsText): Deleted since r141864.

  • platform/gtk/LocalizedStringsGtk.cpp:

(WebCore::inactivePluginText): Deleted since r151530.
(WebCore::textTrackClosedCaptionsText): Deleted since r141864.

1:15 AM Changeset in webkit [187154] by calvaris@igalia.com
  • 3 edits in trunk/Tools

[check-webkit-style] .lut.h files shouldn't raise a sorting issue
https://bugs.webkit.org/show_bug.cgi?id=147146

Reviewed by Darin Adler.

  • Scripts/webkitpy/style/checkers/cpp.py:

(check_include_line): Avoid checking previous lines if it it is a lut.h include.

  • Scripts/webkitpy/style/checkers/cpp_unittest.py:

(OrderOfIncludesTest.test_check_alphabetical_include_order): Added test.

1:13 AM Changeset in webkit [187153] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebKit2

Unreviewed. Fix some warnings when generating GTK+ HTML API docs.

  • UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Add

WebKitWebsiteDataManager and WebKitWebEditor.

12:21 AM WebKitGTK/Releasing edited by Carlos Garcia Campos
(diff)
12:16 AM Changeset in webkit [187152] by Carlos Garcia Campos
  • 1 copy in releases/WebKitGTK/webkit-2.9.4

WebKitGTK+ 2.9.4

12:13 AM WebKitGTK/Releasing edited by Carlos Garcia Campos
(diff)
12:10 AM Changeset in webkit [187151] by Carlos Garcia Campos
  • 4 edits in trunk

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

.:

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

Source/WebKit2:

  • gtk/NEWS: Add release notes for 2.9.4.

Jul 21, 2015:

11:53 PM Changeset in webkit [187150] by bshafiei@apple.com
  • 2 edits in branches/safari-601.1-branch/Source/WebCore

Merged r187128. rdar://problem/21928558

10:23 PM Changeset in webkit [187149] by benjamin@webkit.org
  • 6 edits in trunk/Source/WebCore

[CSS Selectors Level 4] Add #ifdefs to the new '>>' descendant combinator
https://bugs.webkit.org/show_bug.cgi?id=147184

Patch by Benjamin Poulain <bpoulain@apple.com> on 2015-07-21
Reviewed by Anders Carlsson.

Now that '>>>' is dead, the combinator '>>' is at risk.

This patch #ifdef all that code with the other experimental
features from Level 4.

  • css/CSSGrammar.y.in:
  • css/CSSParserValues.cpp:

(WebCore::CSSParserSelector::appendTagHistory):

  • css/CSSParserValues.h:
  • css/CSSSelector.cpp:

(WebCore::CSSSelector::CSSSelector):
(WebCore::CSSSelector::selectorText):

  • css/CSSSelector.h:

(WebCore::CSSSelector::CSSSelector):

8:51 PM Changeset in webkit [187148] by ap@apple.com
  • 11 edits
    14 copies
    7 adds in trunk/LayoutTests

Update Mac test results for libxml2 v2.9.2.

These results will probably become cross-platform eventually, but for now it's just Mac.

  • platform/mac-yosemite/fast/dom/adopt-attribute-crash-expected.txt: Copied from LayoutTests/fast/dom/adopt-attribute-crash-expected.txt.
  • platform/mac-yosemite/fast/parser: Added.
  • platform/mac-yosemite/fast/parser/xml-colon-entity-expected.txt: Copied from LayoutTests/fast/parser/xml-colon-entity-expected.txt.
  • platform/mac-yosemite/fast/parser/xml-declaration-missing-ending-mark-expected.txt: Copied from LayoutTests/fast/parser/xml-declaration-missing-ending-mark-expected.txt.
  • platform/mac-yosemite/fast/xsl: Added.
  • platform/mac-yosemite/fast/xsl/xslt-extra-content-at-end-expected.png: Copied from LayoutTests/platform/mac/fast/xsl/xslt-extra-content-at-end-expected.png.
  • platform/mac-yosemite/fast/xsl/xslt-extra-content-at-end-expected.txt: Copied from LayoutTests/platform/mac/fast/xsl/xslt-extra-content-at-end-expected.txt.
  • platform/mac-yosemite/fast/xsl/xslt-missing-namespace-in-xslt-expected.png: Copied from LayoutTests/platform/mac/fast/xsl/xslt-missing-namespace-in-xslt-expected.png.
  • platform/mac-yosemite/fast/xsl/xslt-missing-namespace-in-xslt-expected.txt: Copied from LayoutTests/platform/mac/fast/xsl/xslt-missing-namespace-in-xslt-expected.txt.
  • platform/mac-yosemite/svg/custom: Added.
  • platform/mac-yosemite/svg/custom/bug78807-expected.txt: Copied from LayoutTests/svg/custom/bug78807-expected.txt.
  • platform/mac-yosemite/svg/custom/missing-xlink-expected.png: Copied from LayoutTests/platform/mac/svg/custom/missing-xlink-expected.png.
  • platform/mac-yosemite/svg/custom/missing-xlink-expected.txt: Copied from LayoutTests/platform/mac/svg/custom/missing-xlink-expected.txt.
  • platform/mac-yosemite/svg/custom/path-bad-data-expected.png: Copied from LayoutTests/platform/mac/svg/custom/path-bad-data-expected.png.
  • platform/mac-yosemite/svg/custom/path-bad-data-expected.txt: Copied from LayoutTests/platform/mac/svg/custom/path-bad-data-expected.txt.
  • platform/mac-yosemite/svg/custom/use-font-face-crash-expected.png: Copied from LayoutTests/platform/mac/svg/custom/use-font-face-crash-expected.png.
  • platform/mac-yosemite/svg/custom/use-font-face-crash-expected.txt: Copied from LayoutTests/platform/mac/svg/custom/use-font-face-crash-expected.txt.
  • platform/mac/fast/dom/adopt-attribute-crash-expected.txt: Added.
  • platform/mac/fast/parser/xml-colon-entity-expected.txt: Added.
  • platform/mac/fast/parser/xml-declaration-missing-ending-mark-expected.txt: Added.
  • platform/mac/fast/xsl/xslt-extra-content-at-end-expected.png:
  • platform/mac/fast/xsl/xslt-extra-content-at-end-expected.txt:
  • platform/mac/fast/xsl/xslt-missing-namespace-in-xslt-expected.png:
  • platform/mac/fast/xsl/xslt-missing-namespace-in-xslt-expected.txt:
  • platform/mac/svg/custom/bug78807-expected.txt: Added.
  • platform/mac/svg/custom/missing-xlink-expected.png:
  • platform/mac/svg/custom/missing-xlink-expected.txt:
  • platform/mac/svg/custom/path-bad-data-expected.png:
  • platform/mac/svg/custom/path-bad-data-expected.txt:
  • platform/mac/svg/custom/use-font-face-crash-expected.png:
  • platform/mac/svg/custom/use-font-face-crash-expected.txt:
7:35 PM Changeset in webkit [187147] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: console.log("%d", 0) or console.log("%d", "str") show nothing, expected Number or NaN
https://bugs.webkit.org/show_bug.cgi?id=147163

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-07-21
Reviewed by Timothy Hatcher.

  • UserInterface/Views/ConsoleMessageView.js:

(WebInspector.ConsoleMessageView.prototype._formatWithSubstitutionString.append):
When appending the result for a substitution formatter, don't check against a
falsey value, check against undefined. This will allow falsely values like
0 and NaN to be output as expected.

6:49 PM Changeset in webkit [187146] by commit-queue@webkit.org
  • 4 edits in trunk/Source

Web Inspector: [Mac] "Open Image In New Window" context menu item does nothing on an image
https://bugs.webkit.org/show_bug.cgi?id=147175

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-07-21
Reviewed by Timothy Hatcher.

Source/WebKit/mac:

  • WebCoreSupport/WebInspectorClient.mm:

(-[WebInspectorWindowController webView:contextMenuItemsForElement:defaultMenuItems:]):
Remove default context menus that won't work in the inspector page.

Source/WebKit2:

  • UIProcess/mac/WebInspectorProxyMac.mm:

(WebKit::getContextMenuFromProposedMenu):
(WebKit::WebInspectorProxy::platformCreateInspectorPage):
Remove default context menus that won't work in the inspector page.

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

Web Inspector: Node highlights are wrong when the page is zoomed
https://bugs.webkit.org/show_bug.cgi?id=147177

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-07-21
Reviewed by Simon Fraser.

  • inspector/InspectorOverlay.cpp:

(WebCore::InspectorOverlay::update):
Remove scaling that appears to no longer be needed, it was double
scaling the overlay content and misplacing it in the process.

6:39 PM Changeset in webkit [187144] by dino@apple.com
  • 2 edits in trunk/Source/WebCore

Default media controls use a serif font, which seems wrong
https://bugs.webkit.org/show_bug.cgi?id=147179
<rdar://problem/21931728>

Reviewed by Simon Fraser.

The captions menu (and other text) should use a system style,
-webkit-small-control.

  • Modules/mediacontrols/mediaControlsApple.css:

(::-webkit-media-controls):

5:37 PM Changeset in webkit [187143] by bshafiei@apple.com
  • 1 copy in tags/Safari-600.1.4.17.3

New tag.

5:29 PM Changeset in webkit [187142] by Yusuke Suzuki
  • 6 edits in trunk/Source/JavaScriptCore

Add newTarget accessor to JS constructor written in C++
https://bugs.webkit.org/show_bug.cgi?id=147160

Reviewed by Geoffrey Garen.

This patch adds ExecState#newTarget() which returns new.target defined in ECMA262 6th.
It enables some C++ constructors (like Intl.XXX constructors) to leverage this to complete
its implementation.

When the constructor is called, |this| in the arguments is used for storing new.target instead.
So by adding the accessor for |this|, JS constructor written in C++ can access new.target.

And at the same time, this patch extends the existing construct to accept new.target value.
It is corresponding to the spec's Construct abstract operation.

  • interpreter/CallFrame.h:

(JSC::ExecState::newTarget):

  • interpreter/Interpreter.cpp:

(JSC::Interpreter::executeConstruct):

  • interpreter/Interpreter.h:
  • runtime/ConstructData.cpp:

(JSC::construct):

  • runtime/ConstructData.h:

(JSC::construct):

5:24 PM Changeset in webkit [187141] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.8-branch/Source/WebKit/mac

Merge r187103. rdar://problem/21707873

5:06 PM Changeset in webkit [187140] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

Exposed method to query device by UID
https://bugs.webkit.org/show_bug.cgi?id=147117
<rdar://problem/21904678>

Patch by Matthew Daiter <mdaiter@apple.com> on 2015-07-21
Reviewed by Eric Carlson.

  • platform/mediastream/mac/AVCaptureDeviceManager.h: Added method to

query device by UID

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

(WebCore::AVCaptureDeviceManager::sourceWithUID): Ditto

5:01 PM Changeset in webkit [187139] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed, fix a lot of tests. Need to initialize WTF threading sooner.

  • jsc.cpp:

(main):

4:52 PM Changeset in webkit [187138] by ap@apple.com
  • 2 edits in branches/safari-601.1-branch/LayoutTests

Start disabling tests for features that are disabled on this branch.

  • platform/mac/TestExpectations:
4:45 PM Changeset in webkit [187137] by benjamin@webkit.org
  • 9 edits
    3 adds in trunk

[Content Extensions] Use a jump table when consecutive transitions have different targets
https://bugs.webkit.org/show_bug.cgi?id=147099

Reviewed by Alex Christensen.

Source/WebCore:

When handling consecutive single transitions, merge them into
a jump table instead of creating many individual CheckValue.

From local testing on x86_64, it reduces the bytecode size by about 5%
and improve the runtime by about 10%.

  • contentextensions/DFABytecode.h:

(WebCore::ContentExtensions::instructionSizeWithArguments):

  • contentextensions/DFABytecodeCompiler.cpp:

(WebCore::ContentExtensions::DFABytecodeCompiler::extractJumpTable):
(WebCore::ContentExtensions::DFABytecodeCompiler::transitions):
(WebCore::ContentExtensions::DFABytecodeCompiler::checkForJumpTableMaxBytecodeSize):
(WebCore::ContentExtensions::DFABytecodeCompiler::compileJumpTable):
(WebCore::ContentExtensions::DFABytecodeCompiler::nodeTransitionsMaxBytecodeSize):
(WebCore::ContentExtensions::DFABytecodeCompiler::compileNodeTransitions):
(WebCore::ContentExtensions::DFABytecodeCompiler::ranges): Deleted.

  • contentextensions/DFABytecodeCompiler.h:
  • contentextensions/DFABytecodeInterpreter.cpp:

(WebCore::ContentExtensions::DFABytecodeInterpreter::interpetJumpTable):
(WebCore::ContentExtensions::DFABytecodeInterpreter::interpret):

  • contentextensions/DFABytecodeInterpreter.h:

Source/WebKit2:

  • UIProcess/API/APIUserContentExtensionStore.h:

LayoutTests:

Add some primitive testing to make sure the code is covered.

  • http/tests/contentextensions/test-jump-table-bytecode-generation-expected.txt: Added.
  • http/tests/contentextensions/test-jump-table-bytecode-generation.html: Added.
  • http/tests/contentextensions/test-jump-table-bytecode-generation.html.json: Added.
4:33 PM Changeset in webkit [187136] by dbates@webkit.org
  • 2 edits in trunk/Source/WebKit2

Fix the build following <https://trac.webkit.org/changeset/187129>
(https://bugs.webkit.org/show_bug.cgi?id=147112)

  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::reinstateNetworkProcessAssertionState): Guard implementation with PLATFORM(IOS)
since this logic is specific to the iOS port.

4:31 PM Changeset in webkit [187135] by Simon Fraser
  • 4 edits in trunk/Source/WebKit2

Rename the 'View' log channel to 'Printing'
https://bugs.webkit.org/show_bug.cgi?id=147172

Reviewed by Zalan Bujtas.

"View" was a terrible name for a log channel that was all about printing.
Sort the log channels.

  • Platform/Logging.h:
  • UIProcess/API/mac/WKView.mm:

(-[WKView drawRect:]):
(-[WKView printOperationWithPrintInfo:forFrame:]):

  • UIProcess/mac/WKPrintingView.mm:

(-[WKPrintingView _preparePDFDataForPrintingOnSecondaryThread]):
(pageDidComputePageRects):
(-[WKPrintingView knowsPageRange:]):
(-[WKPrintingView drawRect:]):
(-[WKPrintingView rectForPage:]):
(-[WKPrintingView beginDocument]):
(-[WKPrintingView endDocument]):

4:31 PM Changeset in webkit [187134] by Simon Fraser
  • 6 edits in trunk/Source

Add a logging channel for Layout, remove the LiveConnect channel
https://bugs.webkit.org/show_bug.cgi?id=147170

Reviewed by Zalan Bujtas.

Add a layout logging channel to WebCore, and remove the LiveConnect channel.

Source/WebCore:

  • page/FrameView.cpp:

(WebCore::FrameView::adjustViewSize):
(WebCore::FrameView::forceLayoutParentViewIfNeeded):
(WebCore::FrameView::layout):
(WebCore::FrameView::performPostLayoutTasks):
(WebCore::FrameView::autoSizeIfEnabled):

  • platform/Logging.h:

Source/WebKit/mac:

  • Misc/WebKitLogging.h:
  • Plugins/WebNetscapePluginPackage.mm:

(-[WebNetscapePluginPackage _tryLoad]): Deleted.

4:17 PM Changeset in webkit [187133] by benjamin@webkit.org
  • 4 edits
    20 adds in trunk

StyleSheetContents::wrapperInsertRule() can create rules that overflow RuleData's selector index
https://bugs.webkit.org/show_bug.cgi?id=147144

Patch by Benjamin Poulain <bpoulain@apple.com> on 2015-07-21
Reviewed by Alex Christensen.

Source/WebCore:

RuleData identifies selectors by the index in a large array. The index only has 13 bits
so rules with more than 8192 selectors should be split.

One of the paths was not splitting the rule: StyleSheetContents::wrapperInsertRule().
When rules with too many selectors were added, the index would overflow and
some RuleData would point to selectors in the middle of selector chains. The resulting
behavior is random based on the selectors and the DOM.

We cannot easily fix that because the CSS OM API do not expect to create
several rules in response to calls to the API.
In this patch, I don't do anything fancy and just let the calls fail
if we cannot use the rules safely.

Content Extensions were also running into this problem. Large Selector lists are
pretty common, and ContentExtensionStyleSheet::addDisplayNoneSelector() was
overflowing the RuleData, creating broken page.

Unlike CSSOM, there is no problem with splitting rules coming from Content Extensions.
Instead of creating new APIs for that case, I rely on the parser to extend the StyleSheetContents.
That code already knows how to break rules correctly.

Tests: fast/css/insert-rule-overflow-rule-data.html

http/tests/contentextensions/css-display-none-overflows-rule-data-1.html
http/tests/contentextensions/css-display-none-overflows-rule-data-2.html

  • contentextensions/ContentExtensionStyleSheet.cpp:

(WebCore::ContentExtensions::ContentExtensionStyleSheet::addDisplayNoneSelector):

  • css/StyleSheetContents.cpp:

(WebCore::StyleSheetContents::wrapperInsertRule):

LayoutTests:

This bug was affecting two parts of WebKit:
-In CSSOM, StyleSheet.insertRule() could create bogus rules.

The new test verifies that the call fails instead of creating undefined
behaviors.

-In ContentExtensions, large selectors are now working correctly. The tests

cover the case of a default stylesheet and an dynamic stylesheet.

  • fast/css/insert-rule-overflow-rule-data-expected.txt: Added.
  • fast/css/insert-rule-overflow-rule-data.html: Added.
  • http/tests/contentextensions/css-display-none-overflows-rule-data-1-expected.txt: Added.
  • http/tests/contentextensions/css-display-none-overflows-rule-data-1.html: Added.
  • http/tests/contentextensions/css-display-none-overflows-rule-data-1.html.json: Added.
  • http/tests/contentextensions/css-display-none-overflows-rule-data-2-expected.txt: Added.
  • http/tests/contentextensions/css-display-none-overflows-rule-data-2.html: Added.
  • http/tests/contentextensions/css-display-none-overflows-rule-data-2.html.json: Added.
  • http/tests/contentextensions/css-display-none-overflows-rule-data-3-expected.txt: Added.
  • http/tests/contentextensions/css-display-none-overflows-rule-data-3.html: Added.
  • http/tests/contentextensions/css-display-none-overflows-rule-data-3.html.json: Added.
  • http/tests/contentextensions/css-display-none-overflows-rule-data-4-expected.txt: Added.
  • http/tests/contentextensions/css-display-none-overflows-rule-data-4.html: Added.
  • http/tests/contentextensions/css-display-none-overflows-rule-data-4.html.json: Added.
  • http/tests/contentextensions/css-display-none-overflows-rule-data-5-expected.txt: Added.
  • http/tests/contentextensions/css-display-none-overflows-rule-data-5.html: Added.
  • http/tests/contentextensions/css-display-none-overflows-rule-data-5.html.json: Added.
  • http/tests/contentextensions/css-display-none-overflows-rule-data-6-expected.txt: Added.
  • http/tests/contentextensions/css-display-none-overflows-rule-data-6.html: Added.
  • http/tests/contentextensions/css-display-none-overflows-rule-data-6.html.json: Added.
4:14 PM Changeset in webkit [187132] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/win

[Win] Add needTouchEvents() stub to WebChromeClient.h for a successful build with ENABLE_TOUCH_EVENTS=ON
https://bugs.webkit.org/show_bug.cgi?id=147141

Patch by Sungmann Cho <sungmann.cho@navercorp.com> on 2015-07-21
Reviewed by Darin Adler.

  • WebCoreSupport/WebChromeClient.h:
3:35 PM Changeset in webkit [187131] by Alan Bujtas
  • 2 edits in trunk/Source/WebKit2

[iOS] Menu drop down such as on nike.com does not stay
https://bugs.webkit.org/show_bug.cgi?id=147047
rdar://problem/21046961

Reviewed by Benjamin Poulain.

This is a workaround for unintended scrolling while scaling.
(Based on Benjamin Poulain's WIP patch for webkit.org/b/136904)

In certain cases when scaling would result in moving the scrollview (which would trigger
a scroll event on WebCore side), zoomRect is called instead of setZoomScale to ensure
that the scroll position stays intact.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _didCommitLayerTree:]):

3:34 PM Changeset in webkit [187130] by jhoneycutt@apple.com
  • 2 edits in trunk/Source/WebCore

[iOS] Keyboard bold/italic/underline keys don't highlight after being
tapped to style a selection
https://bugs.webkit.org/show_bug.cgi?id=147164
<rdar://problem/21630806>

Reviewed by Ryosuke Niwa.

  • editing/cocoa/EditorCocoa.mm:

(WebCore::Editor::styleForSelectionStart):
Use adjustedSelectionStartForStyleComputation(), which will ensure that
we're at the start of the selected node, not at the end of the node
before the selection.

3:33 PM Changeset in webkit [187129] by dbates@webkit.org
  • 7 edits in trunk/Source

WTFCrash() in WebKit::WebProcess::networkConnection()
https://bugs.webkit.org/show_bug.cgi?id=147112
<rdar://problem/18477459>

Reviewed by Gavin Barraclough.

Source/WebKit2:

Fixes an issue where a newly launched network process may be jetsam'd because it has not
taken a process assertion between the time it was launched and the time when a web process
makes use of it.

Initially a network process does not have a process assertion. A process assertion is taken
(if one has not been taken) for the network process when a process assertion is taken for at
least one web process. When the network process crashes a WebProcess may ultimately launch a
new network process in WebProcess::networkConnection(). The new network process may be jetsam'd
immediately when the system is under some measure pressure because it has a low jetsam priority,
0 (since it does not have a process assertion and higher priority implies that a process is less
likely to be jetsam'd). And the logic in WebProcess::networkConnection() explicitly calls
CRASH() if the newly launched network process crashes immediately. Towards preventing the newly
launched network process from being jetsam'd we should obtain a process assertion for it.

  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::WebProcessPool): Initialize m_didNetworkProcessCrash to false.
(WebKit::WebProcessPool::ensureNetworkProcess): If the network process crashed (m_didNetworkProcessCrash == true)
then tell each process in the pool to reinstate their network activity token for the new network process.
(WebKit::WebProcessPool::networkProcessCrashed): Set m_didNetworkProcessCrash to true when the
network process crashed.

  • UIProcess/WebProcessPool.h:
  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::reinstateNetworkProcessAssertionState): Added.
(WebKit::WebProcessProxy::didSetAssertionState): Add assert to ensure we never have both
a background- and foreground- activity token for the network process.

  • UIProcess/WebProcessProxy.h:

Source/WTF:

Add explicit boolean conversion function and remove overload of operator! to support
checking whether an activity token is valid more directly than using the overloaded operator!.

  • wtf/RefCounter.h:

(WTF::RefCounter::Token::operator bool): Added.
(WTF::RefCounter::Token::operator!): Deleted.

3:16 PM Changeset in webkit [187128] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebCore

Placing video in fullscreen caused WebKit crash at WebCore::Range::textQuads
https://bugs.webkit.org/show_bug.cgi?id=147166
<rdar://problem/21928558>

Reviewed by Simon Fraser.

  • editing/FrameSelection.cpp:

(WebCore::FrameSelection::getClippedVisibleTextRectangles):
Check the Range, as always.

3:00 PM Changeset in webkit [187127] by Lucas Forschler
  • 2 edits in branches/safari-600.8-branch/Source/WebKit2

Merged r186812. rdar://problem/21877954

2:43 PM Changeset in webkit [187126] by mmaxfield@apple.com
  • 27 edits
    13 copies in trunk/LayoutTests

[El Capitan] Test gardening
https://bugs.webkit.org/show_bug.cgi?id=147059

  • platform/mac-yosemite/fast/dom/52776-expected.png: Copied from LayoutTests/platform/mac/fast/dom/52776-expected.png.
  • platform/mac-yosemite/fast/text/complex-text-opacity-expected.png: Copied from LayoutTests/platform/mac/fast/text/complex-text-opacity-expected.png.
  • platform/mac-yosemite/fast/text/font-weights-expected.png: Copied from LayoutTests/platform/mac/fast/text/font-weights-expected.png.
  • platform/mac-yosemite/fast/text/indic-expected.png: Copied from LayoutTests/platform/mac/fast/text/indic-expected.png.
  • platform/mac-yosemite/fast/text/indic-expected.txt: Copied from LayoutTests/platform/mac/fast/text/indic-expected.txt.
  • platform/mac-yosemite/fast/text/international/bidi-AN-after-L-expected.png: Copied from LayoutTests/platform/mac/fast/text/international/bidi-AN-after-L-expected.png.
  • platform/mac-yosemite/fast/text/international/bidi-mirror-he-ar-expected.png: Copied from LayoutTests/platform/mac/fast/text/international/bidi-mirror-he-ar-expected.png.
  • platform/mac-yosemite/fast/text/international/bidi-neutral-directionality-paragraph-start-expected.png: Copied from LayoutTests/platform/mac/fast/text/international/bidi-neutral-directionality-paragraph-start-expected.png.
  • platform/mac-yosemite/fast/text/international/bidi-neutral-run-expected.png: Copied from LayoutTests/platform/mac/fast/text/international/bidi-neutral-run-expected.png.
  • platform/mac-yosemite/fast/text/international/danda-space-expected.png: Copied from LayoutTests/platform/mac/fast/text/international/danda-space-expected.png.
  • platform/mac-yosemite/fast/text/international/danda-space-expected.txt: Copied from LayoutTests/platform/mac/fast/text/international/danda-space-expected.txt.
  • platform/mac-yosemite/svg/W3C-SVG-1.1/text-intro-05-t-expected.png: Copied from LayoutTests/platform/mac/svg/W3C-SVG-1.1/text-intro-05-t-expected.png.
  • platform/mac-yosemite/svg/text/text-intro-05-t-expected.png: Copied from LayoutTests/platform/mac/svg/text/text-intro-05-t-expected.png.
  • platform/mac/fast/dom/52776-expected.png:
  • platform/mac/fast/dom/52776-expected.txt:
  • platform/mac/fast/text/arabic-times-new-roman-expected.png:
  • platform/mac/fast/text/arabic-times-new-roman-expected.txt:
  • platform/mac/fast/text/complex-text-opacity-expected.png:
  • platform/mac/fast/text/complex-text-opacity-expected.txt:
  • platform/mac/fast/text/font-weights-expected.png:
  • platform/mac/fast/text/font-weights-expected.txt:
  • platform/mac/fast/text/indic-expected.png:
  • platform/mac/fast/text/indic-expected.txt:
  • platform/mac/fast/text/international/bidi-AN-after-L-expected.png:
  • platform/mac/fast/text/international/bidi-AN-after-L-expected.txt:
  • platform/mac/fast/text/international/bidi-mirror-he-ar-expected.png:
  • platform/mac/fast/text/international/bidi-mirror-he-ar-expected.txt:
  • platform/mac/fast/text/international/bidi-neutral-directionality-paragraph-start-expected.png:
  • platform/mac/fast/text/international/bidi-neutral-directionality-paragraph-start-expected.txt:
  • platform/mac/fast/text/international/bidi-neutral-run-expected.png:
  • platform/mac/fast/text/international/bidi-neutral-run-expected.txt:
  • platform/mac/fast/text/international/danda-space-expected.png:
  • platform/mac/fast/text/international/danda-space-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1-SE/text-intro-05-t-expected.png:
  • platform/mac/svg/W3C-SVG-1.1-SE/text-intro-05-t-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1/text-intro-05-t-expected.png:
  • platform/mac/svg/W3C-SVG-1.1/text-intro-05-t-expected.txt:
  • platform/mac/svg/text/text-intro-05-t-expected.png:
  • platform/mac/svg/text/text-intro-05-t-expected.txt:
2:41 PM Changeset in webkit [187125] by fpizlo@apple.com
  • 10 edits in trunk

Fixed VM pool allocation should have a reserve for allocations that cannot fail
https://bugs.webkit.org/show_bug.cgi?id=147154
rdar://problem/21847618

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

This adds the notion of a JIT pool reserve fraction. Some fraction, currently 1/4, of
the JIT pool is reserved for allocations that cannot fail. It makes sense to make this
a fraction rather than a constant because each allocation that can fail may cause some
number of allocations that cannot fail (for example, the OSR exit thunks that we
compile when we exit from some CodeBlock cannot fail).

I've tested this by adding a test mode where we artificially limit the JIT pool size.
Prior to the fix, we had >20 failures. Now we have none.

  • heap/GCLogging.cpp:

(WTF::printInternal): I needed a dump method on Options members when debugging this.

  • heap/GCLogging.h:
  • jit/ExecutableAllocator.h: Raise the ARM64 limit to 32MB because 16MB is cutting it too close.
  • jit/ExecutableAllocatorFixedVMPool.cpp:

(JSC::FixedVMPoolExecutableAllocator::FixedVMPoolExecutableAllocator): Add the ability to artificially limit JIT pool size for testing.
(JSC::ExecutableAllocator::memoryPressureMultiplier): Implement the reserve when computing memory pressure for JIT tier-up heuristics.
(JSC::ExecutableAllocator::allocate): Implement the reserve when allocating can-fail things.

  • jsc.cpp: Rewire some options parsing so that CommandLine happens before we create the JIT pool.

(main):
(CommandLine::parseArguments):
(jscmain):

  • runtime/Options.cpp:

(JSC::OptionRange::dump): I needed a dump method on Options members when debugging this.
(JSC::Options::initialize): This can now be called more than once.

  • runtime/Options.h:

Tools:

Add a new test mode where we artificially limit JIT memory to 50KB. If our JIT OOM
mitigations work, these should all pass. Prior to this patch there were >20 failures.

  • Scripts/run-jsc-stress-tests:
2:39 PM Changeset in webkit [187124] by dbates@webkit.org
  • 5 edits in trunk/Source/WebKit2

ASSERT(m_suspendMessageCount >= 0) fails in ProcessThrottler::didCancelProcessSuspension()
when WebContent process crashes; Network process may never voluntarily suspend
https://bugs.webkit.org/show_bug.cgi?id=147122
<rdar://problem/21906759>

Reviewed by Chris Dumez.

Fixes an issue where the network process may never voluntarily release its process assertion.

Currently the network process always sends both a ProcessReadyToSuspend and CancelPrepareToSuspend
message in response to receiving a PrepareToSuspend message and CancelPrepareToSuspend message,
respectively. The process throttler expects to receive either a ProcessReadyToSuspend message
or a CancelPrepareToSuspend message (and not both) in response to sending the message sequence
PrepareToSuspend, CancelPrepareToSuspend. When a process throttler receives both messages in
response to this sequence then its internal message count becomes imbalanced and it will
never release the process assertion it manages. One user interaction that can cause such an
imbalance, in the process throttler held by NetworkProcessProxy, is switching tabs.

  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::cancelPrepareToSuspend): Do not send message NetworkProcessProxy::DidCancelProcessSuspension.

  • UIProcess/Network/NetworkProcessProxy.cpp:

(WebKit::NetworkProcessProxy::didCancelProcessSuspension): Deleted.

  • UIProcess/Network/NetworkProcessProxy.h:
  • UIProcess/Network/NetworkProcessProxy.messages.in: Remove message NetworkProcessProxy::DidCancelProcessSuspension.
2:23 PM Changeset in webkit [187123] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Total download size doesn't update soon after loading
https://bugs.webkit.org/show_bug.cgi?id=147161

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-07-21
Reviewed by Timothy Hatcher.

  • UserInterface/Models/DefaultDashboard.js:

(WebInspector.DefaultDashboard.prototype._mainResourceDidChange):
Previously autorecording would always have made us start capturing,
however we only autorecord if users are on the Timeline tab. Just
reset the time always, a navigation happened and start the timer.

(WebInspector.DefaultDashboard.prototype._resourceSizeDidChange):
Move to a better location within the file.

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

Make sure to invalidate requests for user media after webpage reset
https://bugs.webkit.org/show_bug.cgi?id=147155
<rdar://problem/21924174>

Patch by Matthew Daiter <mdaiter@apple.com> on 2015-07-21
Reviewed by Brent Fulgham.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::resetState): Added user media reset

2:19 PM Changeset in webkit [187121] by Simon Fraser
  • 10 edits in trunk

Safari mis-applies "animation-fill-mode: forwards" when using fractional iteration count
https://bugs.webkit.org/show_bug.cgi?id=146996

Reviewed by Dean Jackson.
Source/WebCore:

animation-fill-mode: forwards with fractional iteration counts always snapped to
1 or 0, depending on direction. Fix to compute the fill-forward state from the
correct keyframes.

If filling forwards, AnimationBase::progress() sets the elapsed time to the duration,
then uses fractionalTime() to handle animation direction mapping. If the fractionalTime
is integral, we can return early, avoiding the cost of mapping through timing functions.

Tested by existing tests.

  • page/animation/AnimationBase.cpp:

(WebCore::AnimationBase::progress):
(WebCore::AnimationBase::getElapsedTime):

  • page/animation/KeyframeAnimation.cpp:

(WebCore::KeyframeAnimation::fetchIntervalEndpointsForProperty): It was possible
to end up with prevIndex == nextIndex with reverse animations, which resulted
in divide-by-zero when computing scale. Fix by picking a nextIndex that is different
from prevIndex.

LayoutTests:

Progressions, improved tests.

  • animations/animation-direction-reverse-fill-mode-expected.txt: New results; this is a progression.
  • animations/animation-direction-reverse-fill-mode.html: Use a shorter animation. Fixed results.
  • animations/fill-mode-iteration-count-non-integer-expected.txt:
  • animations/fill-mode-iteration-count-non-integer.html: Use iteration counts that are not multiplies

of 0.5, so the test can differentiation between forward and backwards states. Add a non-linear timing
function to check that fill-forwards consults the timing functions. Don't print exact succeeding
results because they may have floating point values.

  • animations/fill-mode-reverse-expected.txt: New results; this is a progression.
  • animations/fill-mode-reverse.html: Fixed results, use gray.
1:57 PM Changeset in webkit [187120] by hyatt@apple.com
  • 2 edits in trunk/Source/WebCore

Fix failing WK1 layout tests. Make sure to reset the text zoom scale
in Internals::resetToConsistentState.

Reviewed by Anders Carlsson

  • testing/Internals.cpp:

(WebCore::Internals::resetToConsistentState):

1:22 PM Changeset in webkit [187119] by saambarati1@gmail.com
  • 2 edits in trunk/Source/JavaScriptCore

ObjectPatternNode's entry should use "const Identifier&" instead of "Identifier"
https://bugs.webkit.org/show_bug.cgi?id=147156

Reviewed by Andreas Kling.

  • parser/Nodes.h:
1:15 PM Changeset in webkit [187118] by basile_clement@apple.com
  • 6 edits
    2 deletes in trunk/Source/JavaScriptCore

Object allocation sinking phase is performing needless HashMap copies
https://bugs.webkit.org/show_bug.cgi?id=147159

Reviewed by Geoffrey Garen.

The points-to analyzer in the object allocation sinking phase is
currently performing copies of its allocation and pointers tables in
several places. While this is not a huge problem since those tables are
usually small and we are in the FTL path anyway, we still shouldn't be
doing such useless copying.

This patch also removes the DFGInsertOSRHintsForUpdate files that are
no longer needed with the new object sinking phase and should have been
removed in r186795.

(JSC::DFG::insertOSRHintsForUpdate): Deleted.

  • dfg/DFGInsertOSRHintsForUpdate.h: Removed.
  • dfg/DFGObjectAllocationSinkingPhase.cpp:
12:58 PM Changeset in webkit [187117] by timothy_horton@apple.com
  • 3 edits in trunk/Source/WebKit2

[iOS] Avoid using a TextIndicator if there are non-text things to indicate
https://bugs.webkit.org/show_bug.cgi?id=147152
<rdar://problem/21921061>

Reviewed by Beth Dakin.

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView willPresentPreviewViewController:forPosition:inSourceView:]):

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::shouldUseTextIndicatorForLink):
(WebKit::WebPage::getPositionInformation):
Fall back to a rectangular area instead of a TextIndicator if there are any
non-inline elements inside the link.

12:56 PM Changeset in webkit [187116] by commit-queue@webkit.org
  • 4 edits
    4 adds in trunk

REGRESSION (r172417, r184065): Multiple rendering issues with fixed attached background-image
https://bugs.webkit.org/show_bug.cgi?id=147049
<rdar://problem/21110936>

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2015-07-21
Reviewed by Simon Fraser.
Source/WebCore:

The fixed-attached background-image rendering is special. In general, to
display it, the destinationSize should be set to visibleContentSize. The
destinationLocation should be set such that the background-image does
not move with scrolling. The topContentInset should be subtracted from
the destinationLocation such that background-image can be rendered blurred
in the topContentArea. However there are cases in which these rules have to
be changed.

-- destinationSize: In the case of fixed layout size, the fixedLayoutSize
is bigger than the visibleContentSize. In this case, if the background-image
belongs to the root element, the destinationSize has to be set to fixedLayoutSize.
Otherwise it has to be set to the borderBoxSize unless the overflow is
hidden.

-- destinationLocation: If the background-image belongs to the root element, no
scroll offset to added to destinationLocation. For non-root element case,
FrameView::documentScrollOffsetRelativeToViewOrigin() should be used if no page
scaling is applied. Otherwise FrameView::scrollOffsetForFixedPosition() should be
used instead.

Tests: platform/mac-wk2/tiled-drawing/fixed-layout-size-fixed-attachment-cover.html

platform/mac-wk2/tiled-drawing/fixed-layout-size-fixed-attachment-local.html

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry): Ensure
the geometry for the fixed-attached background-image is calculated correctly.

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::updateGeometry): Ensure the background layer
gets the correct size for the fixedLayoutSize mode.

LayoutTests:

fixedLayoutSize background-image rendering for root and non-root elements.

  • platform/mac-wk2/tiled-drawing/fixed-layout-size-fixed-attachment-cover-expected.html: Added.
  • platform/mac-wk2/tiled-drawing/fixed-layout-size-fixed-attachment-cover.html: Added.
  • platform/mac-wk2/tiled-drawing/fixed-layout-size-fixed-attachment-local-expected.html: Added.
  • platform/mac-wk2/tiled-drawing/fixed-layout-size-fixed-attachment-local.html: Added.
12:54 PM Changeset in webkit [187115] by akling@apple.com
  • 2 edits in trunk/Source/WebKit2

API::Session should clean up its storage in the network process when destroyed.
<https://webkit.org/b/147139>
<rdar://problem/21838764>

Reviewed by Anders Carlsson.

Have ~Session() send a DestroyPrivateBrowsingSession message to all networking processes
for ephemeral sessions. This plugs a NetworkStorageSession leak that could retain a large
CFNetwork object graph.

  • UIProcess/API/APISession.cpp:

(API::Session::~Session):

12:52 PM Changeset in webkit [187114] by commit-queue@webkit.org
  • 6 edits
    1 delete in trunk

Make PluginProxy::handleMouseEvent() asynchronous.
https://bugs.webkit.org/show_bug.cgi?id=146142

Patch by Sungmann Cho <sungmann.cho@navercorp.com> on 2015-07-21
Reviewed by Anders Carlsson.

PluginProxy::handleMouseEvent() forwards the generated mouse event to PluginControllerProxy
using a synchronous message, but the recipient always reply immediately with the same value("true")
even before handling the received message. So I think PluginProxy::handleMouseEvent() is perfectly
OK to process its messages asynchronously.

Source/WebKit2:

  • PluginProcess/PluginControllerProxy.cpp:

(WebKit::PluginControllerProxy::handleMouseEvent):

  • PluginProcess/PluginControllerProxy.h:
  • PluginProcess/PluginControllerProxy.messages.in:
  • WebProcess/Plugins/PluginProxy.cpp:

(WebKit::PluginProxy::handleMouseEvent):

LayoutTests:

platform/mac-wk2/plugins/mouse-events-expected.txt was introduced by webkit.org/b/116665 to avoid
flakey tests, but from now on we can share the common expectations.

  • platform/mac-wk2/plugins/mouse-events-expected.txt: Removed.
12:33 PM Changeset in webkit [187113] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit/ios

Expose shrink-wrapping as UIKit support SPI
https://bugs.webkit.org/show_bug.cgi?id=147148
<rdar://problem/21920008>

  • WebKit.iOS.exp:

Also export.

12:21 PM Changeset in webkit [187112] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebCore

Fix the !ENABLE(DETAILS_ELEMENT) build after r186598
https://bugs.webkit.org/show_bug.cgi?id=147115

Reviewed by Chris Fleizach.

  • accessibility/AccessibilityNodeObject.cpp:

(WebCore::AccessibilityNodeObject::setIsExpanded):

12:18 PM Changeset in webkit [187111] by saambarati1@gmail.com
  • 3 edits in trunk/Source/JavaScriptCore

DestructuringPatternNode and DestructuringAssignmentNode should be ParserArenaFreeable
https://bugs.webkit.org/show_bug.cgi?id=147140

Reviewed by Geoffrey Garen.

The descendants of DestructuringPatternNode that need destruction also
inherit from ParserArenaDeletable.

  • parser/Nodes.h:

(JSC::DestructuringPatternNode::~DestructuringPatternNode):
(JSC::ObjectPatternNode::appendEntry):
(JSC::DestructuringAssignmentNode::bindings):

11:43 AM Changeset in webkit [187110] by hyatt@apple.com
  • 19 edits
    2 adds in trunk

Need a way to ignore text-zoom in a Web page.
https://bugs.webkit.org/show_bug.cgi?id=27092
rdar://problem/7037987

Reviewed by Simon Fraser.

Source/WebCore:

This patch adds a new property, -webkit-text-zoom, with values of normal and reset. The reset
keyword, just as with the zoom property, can be used to ignore any inherited zoom from the
document.

Added new test in fast/text.

  • Modules/mediacontrols/mediaControlsApple.css:

(audio::-webkit-media-controls-panel):
(video::-webkit-media-controls-panel):

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::ComputedStyleExtractor::propertyValue):

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseValue):

  • css/CSSPrimitiveValueMappings.h:

(WebCore::CSSPrimitiveValue::operator ContentDistributionType):
(WebCore::CSSPrimitiveValue::operator TextZoom):
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):

  • css/CSSPropertyNames.in:
  • css/StyleBuilderConverter.h:

(WebCore::StyleBuilderConverter::csstoLengthConversionDataWithTextZoomFactor):

  • css/StyleBuilderCustom.h:

(WebCore::StyleBuilderCustom::applyValueWebkitTextSizeAdjust):
(WebCore::StyleBuilderCustom::applyValueWebkitTextZoom):
(WebCore::StyleBuilderCustom::applyTextOrBoxShadowValue):

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::checkForZoomChange):

  • rendering/style/RenderStyle.cpp:

(WebCore::RenderStyle::changeRequiresLayout):

  • rendering/style/RenderStyle.h:
  • rendering/style/RenderStyleConstants.h:
  • rendering/style/StyleRareInheritedData.cpp:

(WebCore::StyleRareInheritedData::StyleRareInheritedData):
(WebCore::StyleRareInheritedData::operator==):

  • rendering/style/StyleRareInheritedData.h:
  • style/StyleFontSizeFunctions.cpp:

(WebCore::Style::computedFontSizeFromSpecifiedSize):

  • testing/Internals.cpp:

(WebCore::Internals::setPageZoomFactor):
(WebCore::Internals::setTextZoomFactor):
(WebCore::Internals::setUseFixedLayout):

  • testing/Internals.h:
  • testing/Internals.idl:

LayoutTests:

  • fast/text/text-zoom-reset-expected.html: Added.
  • fast/text/text-zoom-reset.html: Added.
11:40 AM Changeset in webkit [187109] by peavo@outlook.com
  • 4 edits in trunk/Source

WinLauncher does not start on WinXP.
https://bugs.webkit.org/show_bug.cgi?id=147147

Reviewed by Alex Christensen.

Source/WebCore:

Calling GetProcessMemoryInfo() on WinXP requires that PSAPI_VERSION is set to 1,
see https://msdn.microsoft.com/en-us/library/windows/desktop/ms683219(v=vs.85).aspx.

  • WebCore.vcxproj/WebCoreCommon.props:

Source/WebKit/win:

ANGLE requires Win7, accelerated compositing must be disabled on earlier Windows versions.

  • WebCoreSupport/AcceleratedCompositingContext.cpp:

(AcceleratedCompositingContext::acceleratedCompositingAvailable):

11:18 AM Changeset in webkit [187108] by commit-queue@webkit.org
  • 9 edits
    1 add in trunk/Source/JavaScriptCore

Add support for the new.target syntax.
https://bugs.webkit.org/show_bug.cgi?id=147051

Patch by Keith Miller <keith_miller@apple.com> on 2015-07-21
Reviewed by Yusuke Suzuki.

Add support for new.target. Essentially the implementation is, before constructor calls,
the target of a "new" is placed where "this" noramlly goes in the calling convention.
Then in the constructor before object is initialized we move the target of the "new"
into a local variable.

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::BytecodeGenerator):

  • bytecompiler/NodesCodegen.cpp:

(JSC::NewTargetNode::emitBytecode):

  • parser/ASTBuilder.h:

(JSC::ASTBuilder::newTargetExpr):

  • parser/NodeConstructors.h:

(JSC::NewTargetNode::NewTargetNode):

  • parser/Nodes.h:
  • parser/Parser.cpp:

(JSC::Parser<LexerType>::parseMemberExpression):

  • parser/SyntaxChecker.h:

(JSC::SyntaxChecker::newTargetExpr):

  • runtime/CommonIdentifiers.h:
  • tests/stress/new-target.js: Added.

(test):
(call):
(Constructor.subCall):
(Constructor.SubConstructor):
(Constructor):
(noAssign):
(doWeirdThings):
(SuperClass):
(SubClass):

10:14 AM Changeset in webkit [187107] by timothy_horton@apple.com
  • 3 edits in trunk/Source/WebKit/ios

Expose shrink-wrapping as UIKit support SPI
https://bugs.webkit.org/show_bug.cgi?id=147148
<rdar://problem/21920008>

Reviewed by Simon Fraser.

  • Misc/WebUIKitSupport.h:
  • Misc/WebUIKitSupport.mm:

(WebKitCreatePathWithShrinkWrappedRects):

10:06 AM Changeset in webkit [187106] by bshafiei@apple.com
  • 2 edits in branches/safari-601.1-branch/Source/WebKit/mac

Merged r187103. rdar://problem/9091261

9:53 AM Changeset in webkit [187105] by Nikita Vasilyev
  • 73 edits in trunk/Source/WebInspectorUI

Web Inspector: Convert all colors from RGB to HSL color scheme
https://bugs.webkit.org/show_bug.cgi?id=147143

HSL color scheme is more human friendly than RGB.

RGB -> HSL
RGB hex (e.g. #bada55 and #456) -> HSL
RGBA -> HSLA
Named colors (white, black, lightgoldenrodyellow) are unchanged

Reviewed by Timothy Hatcher.

  • UserInterface/Controllers/CodeMirrorGradientEditingController.css:

(.gradient-editing-controller > label > input):

  • UserInterface/Views/BoxModelDetailsSectionRow.css:

(.details-section .row.box-model .position):
(.details-section .row.box-model .margin):
(.details-section .row.box-model .margin.active):
(.details-section .row.box-model .border):
(.details-section .row.box-model .border.active):
(.details-section .row.box-model .padding):
(.details-section .row.box-model .padding.active):
(.details-section .row.box-model .content):
(.details-section .row.box-model .content.active):

  • UserInterface/Views/Breakpoint.css:

(.popover .edit-breakpoint-popover-content > table > tr > th):

  • UserInterface/Views/BreakpointActionView.css:

(.breakpoint-action-remove-button):
(.breakpoint-action-append-button):
(.breakpoint-action-block-body):
(.breakpoint-action-eval-editor):

  • UserInterface/Views/BreakpointTreeElement.css:

(.breakpoint-generic-line-icon .icon > span):
(.data-updated.breakpoint-generic-line-icon .icon > span):

  • UserInterface/Views/ButtonNavigationItem.css:

(.navigation-bar .item.button.text-only):
(.navigation-bar .item.button.suppress-emboss > .glyph):

  • UserInterface/Views/ButtonToolbarItem.css:

(.toolbar .item.button > .label):
(.toolbar.label-only .item.activate.button.activated > .label):

  • UserInterface/Views/CSSStyleDeclarationSection.css:

(.style-declaration-section > .header > .selector):
(.style-declaration-section > .header > .origin):

  • UserInterface/Views/CSSStyleDeclarationTextEditor.css:

(.css-style-text-editor > .CodeMirror .CodeMirror-lines .css-style-declaration-property:matches(.disabled, .invalid, .other-vendor, .not-inherited, .overridden)):
(.css-style-text-editor > .CodeMirror .CodeMirror-lines .css-style-declaration-property.invalid):
(.css-style-text-editor > .CodeMirror .CodeMirror-lines .editing-line .css-style-declaration-property:matches(.disabled, .other-vendor, .not-inherited, .overridden)):
(.css-style-text-editor > .CodeMirror .CodeMirror-lines .color-swatch):
(.css-style-text-editor > .CodeMirror .CodeMirror-lines .color-swatch > span):
(.css-style-text-editor > .CodeMirror .CodeMirror-lines .color-swatch:hover > span):
(.css-style-text-editor > .CodeMirror .CodeMirror-lines .color-swatch:active > span):
(.css-style-text-editor > .CodeMirror .cm-link):

  • UserInterface/Views/CSSStyleDetailsSidebarPanel.css:

(.sidebar > .panel.details.css-style > .content > .pseudo-classes):
(.sidebar > .panel.details.css-style > .content > .pseudo-classes > .group > label):
(.sidebar > .panel.details.css-style > .content.has-filter-bar + .filter-bar):
(.sidebar > .panel.details.css-style > .content.filter-in-progress .filter-matching):
(.sidebar > .panel.details.css-style > .content.filter-in-progress .style-declaration-section:not(.filter-section-has-label)):

  • UserInterface/Views/ChartDetailsSectionRow.css:

(.details-section > .content > .group > .row.chart > .title):
(.details-section > .content > .group > .row.chart > .chart-content > .legend > .legend-item > .label > .color-swatch):
(.details-section > .content > .group > .row.chart > .chart-content > .legend > .legend-item > .label):

  • UserInterface/Views/CodeMirrorOverrides.css:

(.CodeMirror .CodeMirror-selected):
(.CodeMirror .CodeMirror-lines .CodeMirror-matchingbracket):
(.CodeMirror .CodeMirror-lines .CodeMirror-nonmatchingbracket):
(.CodeMirror .CodeMirror-gutters):
(.CodeMirror .CodeMirror-linenumber):

  • UserInterface/Views/CompletionSuggestionsView.css:

(.completion-suggestions):
(.completion-suggestions-container > .item:active):

  • UserInterface/Views/ConsoleMessageView.css:

(.console-user-command.special-user-log > .console-message-text):
(.console-message .repeat-count):
(.console-message-preview-divider):
(.console-message-enclosed):
(.console-user-command > .console-message-text):
(.console-saved-variable):

  • UserInterface/Views/DOMStorageContentView.css:

(.content-view.dom-storage > .data-grid tr.missing-value td.value-column):
(.content-view.dom-storage > .data-grid:focus tr.selected.missing-value td.value-column):

  • UserInterface/Views/DOMTreeOutline.css:

(.dom-tree-outline li.hovered:not(.selected) .selection):
(.dom-tree-outline li.selected .selection):
(.dom-tree-outline li.elements-drag-over .selection):
(.dom-tree-outline:focus li.selected .selection):
(.showing-find-banner .dom-tree-outline .search-highlight):

  • UserInterface/Views/DataGrid.css:

(.data-grid .highlight):
(.data-grid.inline):
(.data-grid th):
(body.window-inactive .data-grid th):
(.data-grid :matches(th, td):not(:last-child)):
(body.window-inactive .data-grid :matches(th, td):not(:last-child)):
(.data-grid th.sortable:active):
(.data-grid th:matches(.sort-ascending, .sort-descending)):
(.data-grid table.data):
(.data-grid:matches(:focus, .force-focus) tr.selected td:not(:last-child)):
(.data-grid tr.selected):
(.data-grid:matches(:focus, .force-focus) tr.selected):
(.data-grid td .subtitle):
(.data-grid:matches(:focus, .force-focus) tr.selected td .subtitle):
(.data-grid td.error):

  • UserInterface/Views/DatabaseContentView.css:

(.storage-view .storage-table-error):
(.database-user-query):
(.database-query-text):

  • UserInterface/Views/DebuggerDashboardView.css:

(.toolbar .dashboard.debugger):
(.dashboard.debugger .navigation-bar .item.button > .glyph):
(.dashboard.debugger > .divider):
(.dashboard.debugger > .location .function-name):
(.dashboard.debugger > .location .go-to-link):

  • UserInterface/Views/DebuggerSidebarPanel.css:

(.sidebar > .panel.navigation.debugger.paused .details-section.scripts):

  • UserInterface/Views/DefaultDashboardView.css:

(.toolbar .dashboard.default > .item.enabled:hover):
(.toolbar .dashboard.default > .item.enabled:active):
(.toolbar .dashboard.default > .item > div):
(.toolbar .dashboard.default > .item.enabled > div):
(.toolbar .dashboard.default > .item.enabled:hover > div):
(.toolbar .dashboard.default > .errors.enabled > div):
(.toolbar .dashboard.default > .errors.enabled:hover > div):
(.toolbar .dashboard.default > .issues.enabled > div):
(.toolbar .dashboard.default > .issues.enabled:hover > div):

  • UserInterface/Views/DetailsSection.css:

(.details-section):
(.details-section .details-section):
(.details-section .details-section:first-child):
(.details-section > .header):
(.details-section .details-section > .header):
(.details-section .details-section:not(.collapsed) > .header):
(.details-section.computed-style-properties:not(.collapsed) > .header):
(.details-section > .header > label):
(.details-section > .content > .group):
(.details-section > .content > .group:nth-child(even) > .row:matches(.simple:first-child > *, :not(.simple):first-child)):
(.details-section > .content > .group > .row.simple > .label):
(.details-section > .content .data-grid tr:nth-child(odd)):

  • UserInterface/Views/DividerNavigationItem.css:

(.navigation-bar .item.divider):

  • UserInterface/Views/Editing.css:

(.editing):

  • UserInterface/Views/FilterBar.css:

(.filter-bar):
(.filter-bar > input[type="search"]):
(.filter-bar > input[type="search"]::-webkit-input-placeholder):

  • UserInterface/Views/FindBanner.css:

(.find-banner):
(body.window-inactive .find-banner):
(.find-banner > input[type="search"]):
(.find-banner > button):
(.find-banner > button:active:not(:disabled)):
(.find-banner > button:disabled):

  • UserInterface/Views/FormattedValue.css:

(:matches(.formatted-array, .formatted-map, .formatted-set, .formatted-weakmap, .formatted-weakset) > .size):
(.formatted-number):
(.formatted-boolean):
(.formatted-string):
(.formatted-regexp):
(.formatted-symbol):
(.formatted-null, .formatted-undefined):

  • UserInterface/Views/GoToLineDialog.css:

(.go-to-line-dialog):
(.go-to-line-dialog > div):
(.go-to-line-dialog > div > input):
(.go-to-line-dialog > div > input::-webkit-input-placeholder):
(.go-to-line-dialog > div > img):
(.go-to-line-dialog > div > img:active):

  • UserInterface/Views/GradientSlider.css:

(.gradient-slider):
(.gradient-slider-knob > div):

  • UserInterface/Views/HierarchicalPathComponent.css:

(.hierarchical-path-component > .title):

  • UserInterface/Views/HoverMenu.css:

(.hover-menu > svg > :matches(path, rect)):

  • UserInterface/Views/ImageResourceContentView.css:

(.content-view.resource.image):

  • UserInterface/Views/IndexedDatabaseObjectStoreContentView.css:

(.content-view.indexed-database-object-store > .data-grid table.data tr:nth-child(odd)):

  • UserInterface/Views/LayerTreeDetailsSidebarPanel.css:

(.panel.details.layer-tree .name-column :matches(.pseudo-element, .reflection)):
(.panel.details.layer-tree tr.selected .name-column :matches(.pseudo-element, .reflection)):
(.panel.details.layer-tree .bottom-bar):

  • UserInterface/Views/LogContentView.css:

(.console-item):
(.console-session + .console-session):
(.console-messages a):
(.console-messages a:hover):
(.search-bar.log-search-bar > input[type="search"]):
(.search-in-progress .console-item:not(.filtered-out-by-search) .highlighted):
(.search-in-progress .console-item:not(.filtered-out-by-search) .highlighted.selected):

  • UserInterface/Views/Main.css:

(body.docked.bottom):
(body.docked.right):
(body.window-inactive.docked.bottom):
(body.window-inactive.docked.right):
(#split-content-browser):
(body.window-inactive #split-content-browser):
(#split-content-browser > .navigation-bar):
(#split-content-browser .hierarchical-path-component.log-icon .title):
(.message-text-view):
(.message-text-view.error):
(.go-to-link):
(.value-with-clarification .clarification):
(.bouncy-highlight):

  • UserInterface/Views/NavigationBar.css:

(.navigation-bar):
(body.window-inactive .navigation-bar):

  • UserInterface/Views/NavigationSidebarPanel.css:

(.sidebar > .panel.navigation > .overflow-shadow):
(body.window-inactive .sidebar > .panel.navigation > .overflow-shadow):
(.sidebar > .panel.navigation > .empty-content-placeholder > .message):
(.navigation-sidebar-panel-content-tree-outline .item.selected):
(.navigation-sidebar-panel-content-tree-outline:matches(:focus, .force-focus) .item.selected):
(body.window-inactive .navigation-sidebar-panel-content-tree-outline .item.selected):
(.navigation-sidebar-panel-content-tree-outline .item .highlighted):
(.navigation-sidebar-panel-content-tree-outline .item .subtitle):
(.navigation-sidebar-panel-content-tree-outline:matches(:focus, .force-focus) .item.selected .subtitle):

  • UserInterface/Views/NetworkGridContentView.css:

(.content-view.network-grid > .data-grid table.data):

  • UserInterface/Views/NetworkSidebarPanel.css:

(.sidebar > .panel.navigation.network > .title-bar):
(body.window-inactive .sidebar > .panel.navigation.network > .title-bar):
(.sidebar > .panel.navigation.network.network-grid-content-view-showing > .content > .navigation-sidebar-panel-content-tree-outline):

  • UserInterface/Views/NetworkTimelineOverviewGraph.css:

(.timeline-overview-graph.network:nth-child(even) > .graph-row > .timeline-record-bar > .segment:not(.inactive)):

  • UserInterface/Views/NewTabContentView.css:

(.new-tab.tab.content-view):
(.new-tab.tab.content-view > .tab-item > .box):

  • UserInterface/Views/ObjectPreviewView.css:

(.object-preview .name):
(.object-preview > .size):

  • UserInterface/Views/ObjectTreeView.css:

(.object-tree-outline li .empty-message):

  • UserInterface/Views/OverviewTimelineView.css:

(.timeline-view.overview > .timeline-ruler > .header):
(body.window-inactive .timeline-view.overview > .timeline-ruler > .header):
(.timeline-view.overview > .data-grid tr.parent:not(.expanded).selected td.graph-column .timeline-record-bar:not(.has-inactive-segment) > .segment):
(.timeline-view.overview > .data-grid:focus tr.parent:not(.expanded).selected td.graph-column .timeline-record-bar:not(.has-inactive-segment) > .segment):
(.timeline-view.overview > .data-grid tr.parent:not(.expanded).selected td.graph-column .timeline-record-bar.has-inactive-segment > .segment:not(.inactive)):
(.timeline-view.overview > .data-grid:focus tr.parent:not(.expanded).selected td.graph-column .timeline-record-bar.has-inactive-segment > .segment:not(.inactive)):

  • UserInterface/Views/ProbeSetDataGrid.css:

(.details-section.probe-set .data-grid tr.past-value td):
(.details-section.probe-set .data-grid > td.unknown-value):
(@-webkit-keyframes blink-frame-highlight):
(100%):
(.details-section.probe-set .data-grid tr.separator):
(@-webkit-keyframes blink-probe-frame):

  • UserInterface/Views/QuickConsole.css:

(.quick-console):
(body.window-inactive .quick-console):
(.quick-console.showing-log):

  • UserInterface/Views/RadioButtonNavigationItem.css:

(.navigation-bar .item.radio.button.text-only:hover):
(.navigation-bar .item.radio.button.text-only.selected):
(.navigation-bar .item.radio.button.text-only:active):
(.navigation-bar .item.radio.button.text-only.selected:active):

  • UserInterface/Views/RenderingFrameTimelineOverviewGraph.css:

(.timeline-overview-graph.rendering-frame > .divider):
(.timeline-overview-graph.rendering-frame > .divider > .label):

  • UserInterface/Views/ReplayDashboardView.css:

(.toolbar .dashboard.replay):

  • UserInterface/Views/ResourceTreeElement.css:

(.item.resource.failed):
(.item.resource.failed .subtitle):

  • UserInterface/Views/RulesStyleDetailsPanel.css:

(.sidebar > .panel.details.css-style .rules .label):
(.sidebar > .panel.details.css-style > .content.filter-in-progress > .rules.filter-non-matching > .no-filter-results > .no-filter-results-message):

  • UserInterface/Views/ScopeBar.css:

(.scope-bar > li):
(.scope-bar > li:hover):
(.scope-bar > li.selected):
(.scope-bar > li:active):
(.scope-bar > li.selected:active):

  • UserInterface/Views/SearchBar.css:

(.search-bar > input[type="search"]):
(.search-bar > input[type="search"]::-webkit-input-placeholder):

  • UserInterface/Views/SearchSidebarPanel.css:

(.sidebar > .panel.navigation.search > .search-bar):

  • UserInterface/Views/Sidebar.css:

(.sidebar):
(.sidebar.left):
(.sidebar.right):
(body.window-inactive .sidebar.left):
(body.window-inactive .sidebar.right):

  • UserInterface/Views/SourceCodeTextEditor.css:

(.source-code.text-editor > .CodeMirror .warning):
(.source-code.text-editor > .CodeMirror .error):
(.source-code.text-editor > .CodeMirror .issue-widget.warning):
(.source-code.text-editor > .CodeMirror .issue-widget.inline.warning):
(.source-code.text-editor > .CodeMirror .issue-widget.inline.warning > .arrow):
(.source-code.text-editor > .CodeMirror .issue-widget.error):
(.source-code.text-editor > .CodeMirror .issue-widget.inline.error):
(.source-code.text-editor > .CodeMirror .issue-widget.inline.error > .arrow):
(.popover .debugger-popover-content > .body):

  • UserInterface/Views/SyntaxHighlightingDefaultTheme.css:

(.syntax-highlighted :matches(.css-comment, .javascript-comment, .html-comment)):
(.syntax-highlighted :matches(.css-keyword, .css-tag, .css-at-rule, .css-important, .javascript-keyword, .html-tag)):
(.syntax-highlighted :matches(.css-number, .javascript-number)):
(.syntax-highlighted :matches(.css-string, .javascript-string, .javascript-regexp, .html-attribute-value)):
(.syntax-highlighted :matches(.html-doctype, .html-processing-instruction)):
(.syntax-highlighted .html-attribute-name):
(.syntax-highlighted a):
(.supports-find-banner.showing-find-banner .syntax-highlighted .search-result):
(.cm-s-default .basic-block-has-not-executed):
(.cm-s-default .basic-block-has-not-executed.cm-m-css:matches(.cm-atom, .cm-meta, .cm-variable-3, .cm-property)):
(.cm-s-default .basic-block-has-not-executed:matches(.cm-number, .cm-atom.cm-hex-color)):
(.cm-s-default .basic-block-has-not-executed.cm-string):
(.cm-s-default .basic-block-has-not-executed.cm-m-xml.cm-meta):

  • UserInterface/Views/TabBar.css:

(.tab-bar):
(body.window-inactive .tab-bar):
(.tab-bar > .top-border):
(body.window-inactive .tab-bar > .top-border):
(.tab-bar > .item):
(.tab-bar.dragging-tab > .item.selected):
(.tab-bar > .item:not(.disabled).selected):
(.tab-bar > .item.new-tab-button:not(.disabled):hover):
(.tab-bar:not(.animating) > .item:not(.selected, .disabled):hover + .item):
(body.window-inactive .tab-bar > .item):
(body.window-inactive .tab-bar > .item.selected):
(.tab-bar > .item > .close:hover):
(.tab-bar > .item > .title):
(.tab-bar:not(.animating) > .item:not(.selected):hover > .title):
(.tab-bar > .item.selected > .title):
(.tab-bar.animating.closing-tab > .item.selected):
(body.window-inactive .tab-bar.animating.closing-tab > .item.selected):

  • UserInterface/Views/TextEditor.css:

(.text-editor > .CodeMirror .execution-line):
(.text-editor > .CodeMirror .hovered-expression-highlight):
(to):

  • UserInterface/Views/TimelineDataGrid.css:

(.data-grid.timeline th):
(body.window-inactive .data-grid.timeline th):
(.timeline-data-grid-tree-outline .item:hover):
(.timeline-data-grid-tree-outline .item .subtitle):

  • UserInterface/Views/TimelineOverview.css:

(.timeline-overview > .graphs-container > .timeline-overview-graph:nth-child(even)):
(.timeline-overview > .graphs-container > .timeline-overview-graph:not(:first-child)):

  • UserInterface/Views/TimelineRecordBar.css:

(.timeline-record-bar > .segment):
(:matches(:focus, .force-focus) .selected .timeline-record-bar > .segment.inactive):
(:matches(:focus, .force-focus) .selected .timeline-record-bar.has-inactive-segment > .segment:not(.inactive)):
(.timeline-record-bar.timeline-record-type-network > .segment):
(.timeline-record-bar.timeline-record-type-network > .segment.inactive):
(.timeline-record-bar.timeline-record-type-layout > .segment):
(.timeline-record-bar.timeline-record-type-layout.layout-timeline-record-composite > .segment):
(.timeline-record-bar.timeline-record-type-script > .segment):

  • UserInterface/Views/TimelineRecordFrame.css:

(.timeline-record-frame):
(.timeline-record-frame > .frame > .duration):
(.timeline-record-frame > .frame > .duration.rendering-frame-timeline-record-script):
(.timeline-record-frame > .frame > .duration.rendering-frame-timeline-record-layout):
(.timeline-record-frame > .frame > .duration.rendering-frame-timeline-record-paint):

  • UserInterface/Views/TimelineRecordingContentView.css:

(.content-view.timeline-recording > .content-view-container > .timeline-view > .data-grid table.data):

  • UserInterface/Views/TimelineRuler.css:

(.timeline-ruler > .header):
(body.window-inactive .timeline-ruler > .header):
(.timeline-ruler > .header > .divider):
(body.window-inactive .timeline-ruler > .header > .divider):
(.timeline-ruler > .header > .divider > .label):
(.timeline-ruler > .markers > .divider):
(.timeline-ruler > .markers > .marker):
(.timeline-ruler > .markers > .marker.load-event):
(.timeline-ruler > .markers > .marker.dom-content-event):
(.timeline-ruler > .markers > .marker.timestamp):
(.timeline-ruler > .selection-handle):
(.timeline-ruler > .shaded-area):

  • UserInterface/Views/TimelineSidebarPanel.css:

(.sidebar > .panel.navigation.timeline > .status-bar):
(body.window-inactive .sidebar > .panel.navigation.timeline > .status-bar):
(.sidebar > .panel.navigation.timeline > .status-bar > .record-status):
(.sidebar > .panel.navigation.timeline > .title-bar):
(body.window-inactive .sidebar > .panel.navigation.timeline > .title-bar):
(.sidebar > .panel.navigation.timeline > .title-bar.timeline-events):
(body.window-inactive .sidebar > .panel.navigation.timeline > .title-bar.timeline-events):
(.sidebar > .panel.navigation.timeline > .timelines-content li.item:not(.selected):nth-child(even)):
(.sidebar > .panel.navigation.timeline > .timelines-content li.item:not(.selected):not(:first-child)):
(.sidebar > .panel.navigation.timeline > .timelines-content li.item.selected + li.item):
(body.window-inactive .sidebar > .panel.navigation.timeline > .timelines-content li.item.selected + li.item):
(.sidebar > .panel.navigation.timeline > .timelines-content :focus li.item.selected + li.item):

  • UserInterface/Views/TimelineView.css:

(.panel.navigation.timeline.timeline-recording-content-view-showing > .content > .navigation-sidebar-panel-content-tree-outline):

  • UserInterface/Views/Toolbar.css:

(.toolbar):
(body.window-inactive .toolbar):

  • UserInterface/Views/TreeElementStatusButton.css:

(.item > .status > .status-button > svg .filled):
(.item > .status > .status-button > svg .stroked):

  • UserInterface/Views/TypeTokenView.css:

(.type-token-function, .type-token-boolean):
(.type-token-number):
(.type-token-string):
(.type-token-symbol):
(.type-token-default):
(.type-token-empty):
(.type-token-many):

  • UserInterface/Views/TypeTreeView.css:

(.type-tree-outline li .empty-message):

9:49 AM Changeset in webkit [187104] by Lucas Forschler
  • 2 edits in branches/safari-600.1.4.17-branch/Source/WebKit/mac

Merged r187103. <rdar://problem/9091261>

9:19 AM Changeset in webkit [187103] by beidson@apple.com
  • 2 edits in trunk/Source/WebKit/mac

Fix WebPreferences infinite recursion introduced in r186232.
<rdar://problem/9091261> and https://bugs.webkit.org/show_bug.cgi?id=147149

Reviewed by Tim Horton.

  • WebView/WebPreferences.mm:

(-[WebPreferences metaRefreshEnabled]):

8:50 AM Changeset in webkit [187102] by bshafiei@apple.com
  • 2 edits in branches/safari-601.1-branch/Source/WebKit2

Merged r186897. rdar://problem/21692212

Note: See TracTimeline for information about the timeline view.