⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Timeline



May 12, 2016:

11:38 PM Changeset in webkit [200817] by bshafiei@apple.com
  • 2 edits in branches/safari-602.1.32-branch/Source/WebKit/mac

Merged r200664. rdar://problem/26262632

11:37 PM Changeset in webkit [200816] by bshafiei@apple.com
  • 19 edits in branches/safari-602.1.32-branch/Source

Roll out r200463. rdar://problem/26260800

11:34 PM Changeset in webkit [200815] by bshafiei@apple.com
  • 2 edits in branches/safari-602.1.32-branch/Source/WebCore

Roll out r200469. rdar://problem/26260800

11:28 PM Changeset in webkit [200814] by Chris Dumez
  • 3 edits in trunk/Source/WebCore

Drop WorkerGlobalScope's custom GetOwnPropertySlot() implementation
https://bugs.webkit.org/show_bug.cgi?id=157662

Reviewed by Darin Adler.

Drop WorkerGlobalScope's custom GetOwnPropertySlot() implementation as
it is no longer needed after <http://trac.webkit.org/changeset/196678>.

JSC::getStaticPropertySlot() now properly checks for overrides *before*
checking the static table.

No new tests, no web-exposed behavior change.

  • bindings/js/JSWorkerGlobalScopeCustom.cpp:

(WebCore::JSWorkerGlobalScope::getOwnPropertySlotDelegate): Deleted.

  • workers/WorkerGlobalScope.idl:
10:52 PM Changeset in webkit [200813] by zandobersek@gmail.com
  • 2 edits in trunk/Source/WebCore

CoordinatedGraphicsLayer::syncLayerState() should set the m_layerState.contentsOpaque flag
https://bugs.webkit.org/show_bug.cgi?id=157575

Reviewed by Darin Adler.

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

(WebCore::CoordinatedGraphicsLayer::syncLayerState): The contentsOpaque flag in the
layer's CoordinatedGraphicsLayerState object should also be set to the current value
of the layer. This is the only flag in the union of 9 members that's not being updated
in this method.

10:48 PM Changeset in webkit [200812] by zandobersek@gmail.com
  • 3 edits in trunk/Source/WebCore

[TexMap] Handle TextureMapperShaderProgram objects through references
https://bugs.webkit.org/show_bug.cgi?id=157619

Reviewed by Antonio Gomes.

TextureMapper code always expects valid TextureMapperShaderProgram
objects to be created, so it doesn't make sense to access these
objects through raw pointers or RefPtr<>s.

  • platform/graphics/texmap/TextureMapperGL.cpp:

(WebCore::TextureMapperGL::drawBorder):
(WebCore::prepareFilterProgram):
(WebCore::TextureMapperGL::drawTexture):
(WebCore::TextureMapperGL::drawSolidColor):
(WebCore::TextureMapperGL::drawEdgeTriangles):
(WebCore::TextureMapperGL::drawUnitRect):
(WebCore::TextureMapperGL::draw):
(WebCore::TextureMapperGL::drawTexturedQuadWithProgram):
(WebCore::TextureMapperGL::drawFiltered):
(WebCore::TextureMapperGL::beginClip):

  • platform/graphics/texmap/TextureMapperGL.h:
10:46 PM Changeset in webkit [200811] by zandobersek@gmail.com
  • 2 edits in trunk/Source/WebCore

VideoSinkGStreamer: plug a GstBuffer leak in webkitVideoSinkRequestRender()
https://bugs.webkit.org/show_bug.cgi?id=157617

Reviewed by Darin Adler.

Unref the newly-created GstBuffer object after creating the new GstSample
that's based on it. gst_sample_new() doesn't take the ownership of it.

Also, don't unref the GstBuffer object that's passed in to the
webkitVideoSinkRequestRender() function in case the allocation of the
replacement buffer fails. We don't have any ownership over that buffer
and it's not unreffed anywhere else in this function.

  • platform/graphics/gstreamer/VideoSinkGStreamer.cpp:

(webkitVideoSinkRequestRender):

9:20 PM Changeset in webkit [200810] by Matt Baker
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Remove "Extra Scripts" folder from Resources sidebar if all children removed
https://bugs.webkit.org/show_bug.cgi?id=157656

Reviewed by Timothy Hatcher.

  • UserInterface/Views/ResourceSidebarPanel.js:

(WebInspector.ResourceSidebarPanel.prototype._scriptWasRemoved):
Remove parent folder after last script tree element removed.

9:19 PM Changeset in webkit [200809] by Matt Baker
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Can't filter Rendering Frames by duration
https://bugs.webkit.org/show_bug.cgi?id=157654

Reviewed by Timothy Hatcher.

  • UserInterface/Views/RenderingFrameTimelineView.js:

(WebInspector.RenderingFrameTimelineView.prototype._scopeBarSelectionDidChange):
Call filterDidChange on the grid, not the base class.
TimelineView.filterDidChange exists to let TimelineViews perform
additional work when the grid filter changes (see LayoutTimelineView).
(WebInspector.RenderingFrameTimelineView):

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

Web Inspector: Deleting nodes in DOM Tree sometimes changes selection to parent instead of sibling
https://bugs.webkit.org/show_bug.cgi?id=157649

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-05-12
Reviewed by Timothy Hatcher.

  • UserInterface/Views/DOMTreeElement.js:

(WebInspector.DOMTreeElement.prototype._updateChildren): Deleted.
When pressing delete, we remove the node via DOM.removeNode()
and remove the DOMTreeElement when we receive a successful response.
However, the backend could send a DOM.childNodeRemoved event before
the response from DOM.removeNode, and the frontend would have a race
between DOMTreeUpdater's timeout and the removeNode callback.

In DOMTreeUpdater's path, DOMTreeElement updateChildren would notice
a removed node and set the selection to the parent node.

In the DOM.removeNode path, TreeOutline would update the selection
based on availability of a previousSibling/nextSibling/parent.

Remove the custom code in DOMTreeElement updateChildren, so that it
can just do the normal TreeOutline behavior via removeChildAtIndex.

6:55 PM Changeset in webkit [200807] by mmaxfield@apple.com
  • 3 edits
    3 adds in trunk

Source/WebCore:
[Cocoa] Text shadow sometimes clipped unexpectedly
https://bugs.webkit.org/show_bug.cgi?id=108929

Reviewed by Dean Jackson.

CoreGraphics can only draw one text shadow at a time. We work around that by drawing
the text multiple times, one for each shadow. However, we want to make sure that the
original text isn't also drawn multiple times, so we bump up the shadow offsets so
the text and the shadow don't intersect, and then we clip out the original text (so
only the shadow remains).

Unfortunately, this clipping requires knowing where the visual extent of the text is,
which WebKit currently has trouble with. In particular, we often use layout extents
in lieu of visual extents, which is a problem when the glyphs draw outside of their
layout boxes. In this case, it causes us to think the text shadow is much smaller
than it really is, so our clipping operation clips to an area which is too small.

A quick solution to this is to inflate the clip rect by an amount proportional to the
font size, and offset the text shadow accordingly. If this amount is large enough,
this bug will occur on few enough sites that it is reasonable to consider this bug
fixed without the real solution of educating WebKit properly about the difference
between text layout rects and text visual extent rects.

Test: fast/text/multiple-text-shadow-overflow-layout-rect.html

  • rendering/TextPainter.cpp:

(WebCore::ShadowApplier::ShadowApplier):

LayoutTests:
Text shadow sometimes clipped unexpectedly
https://bugs.webkit.org/show_bug.cgi?id=108929

Reviewed by Dean Jackson.

Add a font which draws dramatically far outside of its layout rect.

  • fast/text/multiple-text-shadow-overflow-layout-rect-expected.html: Added.
  • fast/text/multiple-text-shadow-overflow-layout-rect.html: Added.
  • fast/text/resources/font-overflow-layout-rect.svg: Added.
6:24 PM Changeset in webkit [200806] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

REGRESSION: Web Inspector: Fails to load sourceMappingURL with relative URL
https://bugs.webkit.org/show_bug.cgi?id=157650
<rdar://problem/26133763>

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-05-12
Reviewed by Timothy Hatcher.

  • UserInterface/Controllers/SourceMapManager.js:

Wrong order of arguments. The intent was to pass the incoming
baseURL as the partialURL, because if it was not absolute by
that point we could make it relative to the main resource.
However we accidentally put the main resource as the partial
portion, which would just always return the main resource url.
Swap the order, so that if the incoming base is absolute
(such as a resource.url) that will be used, but if the
incoming base is relative (e.g. an incomplete sourceURL) we
can make it absolute with the main resource.

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

Web Inspector: Uncaught exception when removing selected Timeline instrument
https://bugs.webkit.org/show_bug.cgi?id=157639
<rdar://problem/26252938>

Reviewed by Timothy Hatcher.

  • UserInterface/Views/TimelineOverview.js:

(WebInspector.TimelineOverview.prototype._instrumentRemoved):
Remove timeline tree element before modifying state. Removing the tree
element triggers a SelectionDidChange event, which can have side effects.

5:48 PM Changeset in webkit [200804] by Ryan Haddad
  • 3 edits in trunk/LayoutTests

Marking inspector/debugger/command-line-api-exception-nested-catch.html as a flaky timeout on mac
https://bugs.webkit.org/show_bug.cgi?id=152487

Unreviewed test gardening.

  • platform/mac-wk1/TestExpectations:
  • platform/mac/TestExpectations:
5:24 PM Changeset in webkit [200803] by mmaxfield@apple.com
  • 3 edits
    2 adds in trunk

REGRESSION(r200601): Crash when using local() and unicode-range in @font-face blocks
https://bugs.webkit.org/show_bug.cgi?id=157646

Reviewed by Geoffrey Garen.

Source/WebCore:

I simply forgot a null check.

Test: fast/text/isLoading-crash-failed-font.html

  • css/CSSSegmentedFontFace.cpp:

LayoutTests:

  • fast/text/isLoading-crash-failed-font-expected.txt: Added.
  • fast/text/isLoading-crash-failed-font.html: Added.
5:09 PM Changeset in webkit [200802] by matthew_hanson@apple.com
  • 1 copy in tags/Safari-601.7.1

New Tag.

4:47 PM Changeset in webkit [200801] by matthew_hanson@apple.com
  • 1 copy in tags/Safari-601.1.46.140

New Tag.

4:40 PM Changeset in webkit [200800] by jiewen_tan@apple.com
  • 2 edits in trunk/Source/WebKit/mac

Unreviewed build fix for r200799.

  • WebView/WebView.mm:
4:22 PM Changeset in webkit [200799] by jiewen_tan@apple.com
  • 12 edits in trunk

REGRESSION (r199313): ICBC app: text field In the webview is not tappable
https://bugs.webkit.org/show_bug.cgi?id=157396
<rdar://problem/25931513>

Reviewed by David Kilzer.

Source/WebCore:

Add a quirk for WebKit1 apps.

  • loader/SubframeLoader.cpp:

(WebCore::SubframeLoader::requestFrame):
Even though the HTML spec suggests that we should navigate to about:blank
for subframes/iframes, of which the src cannot be resolved to an valid URL,
many existing WebKit1 apps are relying on invalid URLs to bridge their WebView
codes and their native Objective-C codes. Therefore, a quirk is added to
escape the URL validation for existing WebKit1 apps.
(WebCore::SubframeLoader::shouldConvertInvalidURLsToBlank):

  • loader/SubframeLoader.h:
  • page/Settings.in:

Source/WebKit/mac:

Add a quirk for WebKit1 apps.

  • WebView/WebView.mm:

(shouldConvertInvalidURLsToBlank):
(-[WebView _preferencesChanged:]):

LayoutTests:

The previous test is actually bogus, and therefore modify it to do the
real task.

  • fast/loader/iframe-src-invalid-url-expected.txt:
  • fast/loader/iframe-src-invalid-url.html:
  • platform/ios-simulator-wk1/TestExpectations:
  • platform/mac-wk1/TestExpectations:
  • platform/win/TestExpectations:
4:11 PM Changeset in webkit [200798] by bshafiei@apple.com
  • 5 edits in branches/safari-602.1.32-branch/Source

Versioning.

4:09 PM Changeset in webkit [200797] by bshafiei@apple.com
  • 1 copy in tags/Safari-602.1.32.1

New tag.

3:55 PM Changeset in webkit [200796] by mark.lam@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Baseline and DFG's JSC_report...CompileTimes needs CodeBlock hashes.
https://bugs.webkit.org/show_bug.cgi?id=157643

Reviewed by Keith Miller.

  • runtime/Options.cpp:

(JSC::recomputeDependentOptions):

3:51 PM Changeset in webkit [200795] by Matt Baker
  • 1 edit in trunk/Source/WebInspectorUI/ChangeLog

Unreviewed, fix ChangeLog title for r199634

3:13 PM Changeset in webkit [200794] by adachan@apple.com
  • 2 edits in trunk/Source/WebCore

Prevent clicks in the placeholder from playing or pausing the video in a MediaDocument.
https://bugs.webkit.org/show_bug.cgi?id=157625

Reviewed by Jer Noble.

  • Modules/mediacontrols/mediaControlsApple.js:

(Controller.prototype.createControls):
(Controller.prototype.handlePlaceholderClick):

3:09 PM Changeset in webkit [200793] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebInspectorUI

Web Inspector: Timeline Reset button only resets the one active Script TimelineView
https://bugs.webkit.org/show_bug.cgi?id=157638

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-05-12
Reviewed by Timothy Hatcher.

  • UserInterface/Views/ScriptClusterTimelineView.js:

(WebInspector.ScriptClusterTimelineView.prototype.reset):
Reset should reset all the views.

(WebInspector.ScriptClusterTimelineView.prototype.get navigationSidebarTreeOutline): Deleted.

  • UserInterface/Views/NetworkGridContentView.js:

(WebInspector.NetworkGridContentView.prototype.get navigationSidebarTreeOutline): Deleted.

  • UserInterface/Views/TimelineView.js:

(WebInspector.TimelineView.prototype.get navigationSidebarTreeOutlineScopeBar): Deleted.
Remove dead code. Nobody calls these getters.

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

Web Inspector: Layout timeline popovers are inconsistently shown
https://bugs.webkit.org/show_bug.cgi?id=157640
<rdar://problem/26253394>

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-05-12
Reviewed by Timothy Hatcher.

  • UserInterface/Views/TimelineDataGrid.js:

(WebInspector.TimelineDataGrid.prototype._showPopoverForSelectedNodeSoon):
Fix the bug by clearing _showPopoverTimeout when we show the popover.

(WebInspector.TimelineDataGrid.prototype._hidePopover):
Modernize the code to use arrow functions and avoid binds.

(WebInspector.TimelineDataGrid.prototype._updatePopoverForSelectedNode):
Updating with presentNewContentWithFrame animates the popover to the correct
position instead of jumping and ending up at the wrong location.

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

Web Inspector: Remove forced layouts caused by DOMTreeElement during Timeline recording
https://bugs.webkit.org/show_bug.cgi?id=157641

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-05-12
Reviewed by Timothy Hatcher.

  • UserInterface/Views/DOMTreeElement.js:

(WebInspector.DOMTreeElement.prototype.updateSelection): Deleted.
This triggers forced layout and I could never actually get it to trigger anyways.
Its history is from the original import, so I don't know why it was added to begin with.
Just remove it.

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

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

Data grid column dividers are misaligned (Requested by NVI on
#webkit).

Reverted changeset:

"Web Inspector: Contents of Duration column are covered by
always on (legacy) scroll bars"
https://bugs.webkit.org/show_bug.cgi?id=157590
http://trac.webkit.org/changeset/200718

2:13 PM Changeset in webkit [200789] by Chris Dumez
  • 30 edits in trunk/Source/WebCore

Drop toJS() overload taking a PassRefPtr<> parameter
https://bugs.webkit.org/show_bug.cgi?id=157627

Reviewed by Alex Christensen.

Update our implementation stop stop returning PassRefPtrs to the
JS bindings and drop the toJS() overload taking a PassRefPtr<>
parameter

  • Modules/mediasource/SourceBuffer.cpp:

(WebCore::SourceBuffer::buffered):

  • Modules/mediasource/SourceBuffer.h:
  • Modules/webaudio/AudioBuffer.cpp:

(WebCore::AudioBuffer::getChannelData):

  • Modules/webaudio/AudioBuffer.h:
  • animation/DocumentTimeline.cpp:

(WebCore::DocumentTimeline::create):

  • animation/DocumentTimeline.h:
  • bindings/js/JSDOMBinding.h:

(WebCore::toJS): Deleted.
(WebCore::toJSNewlyCreated): Deleted.

  • css/CSSPrimitiveValue.cpp:

(WebCore::CSSPrimitiveValue::getRGBColorValue):

  • css/CSSPrimitiveValue.h:
  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::error):

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

(WebCore::LabelableElement::labels):

  • html/LabelableElement.h:
  • html/canvas/WebGLGetInfo.cpp:

(WebCore::WebGLGetInfo::getWebGLBuffer):
(WebCore::WebGLGetInfo::getWebGLFloatArray):
(WebCore::WebGLGetInfo::getWebGLFramebuffer):
(WebCore::WebGLGetInfo::getWebGLIntArray):
(WebCore::WebGLGetInfo::getWebGLProgram):
(WebCore::WebGLGetInfo::getWebGLRenderbuffer):
(WebCore::WebGLGetInfo::getWebGLTexture):
(WebCore::WebGLGetInfo::getWebGLUnsignedByteArray):
(WebCore::WebGLGetInfo::getWebGLUnsignedIntArray):
(WebCore::WebGLGetInfo::getWebGLVertexArrayObjectOES):
(WebCore::WebGLGetInfo::getWebGLVertexArrayObject):

  • html/canvas/WebGLGetInfo.h:
  • html/canvas/WebGLRenderingContextBase.cpp:

(WebCore::WebGLRenderingContextBase::paintRenderingResultsToImageData):
(WebCore::WebGLRenderingContextBase::createBuffer):
(WebCore::WebGLRenderingContextBase::createFramebuffer):
(WebCore::WebGLRenderingContextBase::createTexture):
(WebCore::WebGLRenderingContextBase::createProgram):
(WebCore::WebGLRenderingContextBase::createRenderbuffer):
(WebCore::WebGLRenderingContextBase::createShader):
(WebCore::WebGLRenderingContextBase::getActiveAttrib):
(WebCore::WebGLRenderingContextBase::getActiveUniform):
(WebCore::WebGLRenderingContextBase::getShaderPrecisionFormat):
(WebCore::WebGLRenderingContextBase::getUniformLocation):
(WebCore::WebGLRenderingContextBase::drawImageIntoBuffer):
(WebCore::WebGLRenderingContextBase::videoFrameToImage):

  • html/canvas/WebGLRenderingContextBase.h:
  • html/track/TextTrackCue.cpp:

(WebCore::TextTrackCue::create):

  • html/track/TextTrackCue.h:
  • html/track/VTTCue.cpp:

(WebCore::VTTCueBox::create):

  • html/track/VTTCue.h:
  • page/DOMSelection.cpp:

(WebCore::DOMSelection::getRangeAt):

  • page/DOMSelection.h:
  • page/DOMWindow.cpp:

(WebCore::DOMWindow::matchMedia):
(WebCore::DOMWindow::styleMedia):
(WebCore::DOMWindow::getComputedStyle):
(WebCore::DOMWindow::getMatchedCSSRules):
(WebCore::DOMWindow::webkitConvertPointFromNodeToPage):
(WebCore::DOMWindow::webkitConvertPointFromPageToNode):
(WebCore::DOMWindow::open):

  • page/DOMWindow.h:
  • page/Location.cpp:

(WebCore::Location::ancestorOrigins):

  • page/Location.h:
12:54 PM Changeset in webkit [200788] by rniwa@webkit.org
  • 4 edits in trunk/Source/WebCore

Touch.prototype is undefined on iOS
https://bugs.webkit.org/show_bug.cgi?id=157560
<rdar://problem/26143008>

Reviewed by Chris Dumez.

Remove Touch and TouchList attributes from DOMWindow.
These attributes should be exposed via generated binding code (JSDOMWindow.cpp).

  • bindings/js/JSDOMWindowCustom.cpp:

(WebCore::JSDOMWindow::touch): Deleted.
(WebCore::JSDOMWindow::touchList): Deleted.

  • bindings/js/ios/TouchConstructors.cpp:
  • page/DOMWindow.idl:
12:51 PM Changeset in webkit [200787] by rniwa@webkit.org
  • 7 edits in trunk

indexForVisiblePosition should use the root editable element as the scope
https://bugs.webkit.org/show_bug.cgi?id=157611

Reviewed by Darin Adler.

Source/WebCore:

Use the highest editing host instead of the document node as the scope in indexForVisiblePosition
when it's called inside an editable region. This refactoring is necessary to unblock the work to support
undo/redo in VoiceOver after r199030.

We have to workaround a bug in indexForVisiblePosition that it could return a slightly higher index than
the expected value because TextIterator emits an extra new line after a block element with a large margin
at the bottom. Unfortunately, fixing this requires a lot of code changes since the rest of the editing
code assumes this behavior and/or happens to cancel it out with some other quirks.

  • editing/ApplyBlockElementCommand.cpp:

(WebCore::ApplyBlockElementCommand::doApply):

  • editing/htmlediting.cpp:

(WebCore::indexForVisiblePosition):

LayoutTests:

Rebaselined tests with progressions.

  • editing/execCommand/crash-indenting-list-item-expected.txt: Now preseves the selection at the beginning of

the editable region instead of moving it to the end.

  • editing/execCommand/format-block-multiple-paragraphs-in-pre-expected.txt: Now preserves selection in more test

cases. This test is the one that required the workaround in ApplyBlockElementCommand::doApply. One of the test
cases would regress and clear the selection without it.

  • editing/execCommand/indent-pre-list-expected.txt: Now preserves the selection instead of clearing it.
12:29 PM Changeset in webkit [200786] by Beth Dakin
  • 3 edits in trunk/Source/WebKit/mac

WebKitAdditions needs to be notified before the WebView is dealloc'd
https://bugs.webkit.org/show_bug.cgi?id=157633
-and corresponding-
rdar://problem/26134539

Reviewed by Anders Carlsson.

  • WebView/WebView.mm:

(-[WebView dealloc]):

  • WebView/WebViewInternal.h:
12:14 PM Changeset in webkit [200785] by dbates@webkit.org
  • 7 edits in trunk/Source

Use SecTask SPI to retrieve code signing identifier for user directory suffix
https://bugs.webkit.org/show_bug.cgi?id=157570
Source/WebKit2:

<rdar://problem/25706517>

Reviewed by Darin Adler.

It is sufficient to make use of the SecTask SPI to retrieve the code signing
identifier of the embedding client for use in the user directory suffix. This
avoids the need to allow Code Signing Services to have access to the bundle
of the embedding client.

  • Shared/mac/ChildProcessMac.mm:

(WebKit::ChildProcess::initializeSandbox): Use the code signing identifier of the
embedding client as part of the user directory suffix if available.

  • Shared/mac/CodeSigning.h: Update comment and include header wtf/spi/darwin/XPCSPI.h

for the definition of xpc_connection_t. Renamed codeSigningIdentifier() to codeSigningIdentifierForCurrentProcess()
to convey that it returns the code signing identifier for the current process. Repurposed
the name codeSigningIdentifier for the variant of this function that takes a xpc_connection_t.

  • Shared/mac/CodeSigning.mm:

(WebKit::codeSigningIdentifier): Added. Uses the audit token associated with the specified
XPC connection to get the code signing identifier for the embedding client.
(WebKit::codeSigningIdentifierForCurrentProcess): Renamed; formerly named codeSigningIdentifier.
Implemented in terms of the SecTask API.
(WebKit::secCodeForCurrentProcess): Deleted.
(WebKit::secCodeForProcess): Deleted.
(WebKit::secCodeSigningInformation): Deleted.
(WebKit::appleSignedOrMacAppStoreSignedOrAppleDeveloperSignedRequirement): Deleted.
(WebKit::secCodeSigningIdentifier): Deleted.
(WebKit::codeSigningIdentifierForProcess): Deleted.

  • UIProcess/Launcher/mac/ProcessLauncherMac.mm:

(WebKit::connectToService): Update code due to renaming.

Source/WTF:

Reviewed by Darin Adler.
<rdar://problem/25706517>

Forward declare SPI SecTaskCopySigningIdentifier().

  • wtf/spi/cocoa/SecuritySPI.h:
12:13 PM Changeset in webkit [200784] by bshafiei@apple.com
  • 2 edits in branches/safari-601-branch/Source/WebCore

Build fix after r195004/r200780.

11:57 AM Changeset in webkit [200783] by bshafiei@apple.com
  • 2 edits
    1 copy in branches/safari-601.1.46-branch/Source/JavaScriptCore

Merge patch for r200387. rdar://problem/26131112

11:53 AM Changeset in webkit [200782] by bshafiei@apple.com
  • 2 edits
    1 add in branches/safari-601-branch/Source/JavaScriptCore

Merge patch for r200387. rdar://problem/26131068

11:44 AM Changeset in webkit [200781] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

Cleanup RenderObject::containingBlock.
https://bugs.webkit.org/show_bug.cgi?id=157628

Reviewed by Chris Dumez.

No change in functionality.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::containingBlock):

11:09 AM Changeset in webkit [200780] by bshafiei@apple.com
  • 8 edits in branches/safari-601-branch/Source/WebCore

Merged r195004. rdar://problem/26228562

10:57 AM Changeset in webkit [200779] by Matt Baker
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: 11% of time in TimelineRecording spent updating DataGrid that is not visible
https://bugs.webkit.org/show_bug.cgi?id=157612
<rdar://problem/26239051>

Reviewed by Timothy Hatcher.

During recording, a timeline view is constantly having its cached time
values updated. These updates should only trigger forced layouts if the
view supports live data.

  • UserInterface/Views/TimelineView.js:

(WebInspector.TimelineView.prototype.set zeroTime):
Drive-by fix, add call to _filterTimesDidChange.
(WebInspector.TimelineView.prototype.set startTime):
(WebInspector.TimelineView.prototype.set endTime):
(WebInspector.TimelineView.prototype.set currentTime):
Don't update layout directly.
(WebInspector.TimelineView.prototype._timesDidChange):
Force a layout if the view supports live data. When not recording,
a layout is always performed.
(WebInspector.TimelineView):
(WebInspector.TimelineView.prototype._filterTimesDidChange.delayedWork): Deleted.
Changed to an arrow function.
(WebInspector.TimelineView.prototype._filterTimesDidChange): Deleted.
Renamed _timesDidChange, since the method now does more than throttle
a filterDidChange call.

10:53 AM Changeset in webkit [200778] by eric.carlson@apple.com
  • 5 edits
    2 adds in trunk

Adjust "main content" video heuristic
https://bugs.webkit.org/show_bug.cgi?id=157532
Source/WebCore:

<rdar://problem/25840861>

Reviewed by Darin Adler.

Test: media/video-main-content-autoplay.html, plus existing tests updated.

  • html/MediaElementSession.cpp:

(WebCore::MediaElementSession::canControlControlsManager): Use isElementLargeEnoughForMainContent.
(WebCore::isMainContent): Ditto.
(WebCore::isElementLargeEnoughForMainContent): Check video area and aspect ratio.
(WebCore::MediaElementSession::mainContentCheckTimerFired): Call result.setToNonUserAgentShadowAncestor

so it doesn't hit test the video controls in the shadow DOM.

LayoutTests:

Reviewed by Darin Adler.

  • media/video-main-content-allow.html:
  • media/video-main-content-autoplay-expected.txt: Added.
  • media/video-main-content-autoplay.html: Added.
  • media/video-main-content-deny-too-small.html:
10:01 AM Changeset in webkit [200777] by matthew_hanson@apple.com
  • 5 edits in branches/safari-601.1.46-branch/Source

Versioning.

9:21 AM Changeset in webkit [200776] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebCore
[curl] ASSERTION FAILED: isLocalFile()
url == m_string in fast/dom/34176.html

https://bugs.webkit.org/show_bug.cgi?id=157059

Patch by Fujii Hironori <Fujii Hironori> on 2016-05-12
Reviewed by Darin Adler.

Fix incorrect usage of URL constructor. CURLINFO_EFFECTIVE_URL
does not conform to URL's ParsedURLString. Created a new utility
function to convert CURLINFO_EFFECTIVE_URL to a URL, and replaced
all codes converting CURLINFO_EFFECTIVE_URL with it.

Test: fast/dom/34176.html

  • platform/network/curl/CurlDownload.cpp:

(WebCore::CurlDownload::didReceiveHeader): Use getCurlEffectiveURL

  • platform/network/curl/ResourceHandleManager.cpp:

(WebCore::getCurlEffectiveURL): Added.
(WebCore::handleLocalReceiveResponse): Use getCurlEffectiveURL
(WebCore::getProtectionSpace): Ditto.
(WebCore::headerCallback): Ditto.
(WebCore::ResourceHandleManager::downloadTimerCallback): Ditto.

  • platform/network/curl/ResourceHandleManager.h: Add a declaration

of getCurlEffectiveURL.

9:07 AM Changeset in webkit [200775] by Chris Dumez
  • 104 edits in trunk/Source/WebCore

Avoid unnecessary null checks in toJS() when the implementation returns a reference or Ref<>
https://bugs.webkit.org/show_bug.cgi?id=157604

Reviewed by Darin Adler.

Avoid unnecessary null checks in toJS() when the implementation returns
a C++ reference or Ref<>. To achieve this, the following changes were
made:

  1. Have toJS() overload that takes a raw pointer call the one that takes in a C++ reference, instead of the other way around. This way, we only do the null check when passing a raw pointer in.
  2. Stop calling WTF::getPtr() on the value returned by the implementation because this causes us to call toJS() with a raw pointer every time.
  3. Add an toJS() overload in JSDOMBinding.h that takes a Ref<T> in and that calls toJS() with a C++ reference internally. This way, we bypass the null check if the implementation returns a Ref<T>.

Further refactoring could be done but I try to keep the size of this
patch as small as possible. toJS() should probably take the ExecState
and the globalObject by reference, for e.g.

  • bindings/js/JSAnimationTimelineCustom.cpp:

(WebCore::toJS):

  • bindings/js/JSBlobCustom.cpp:

(WebCore::toJS):
(WebCore::constructJSBlob): Deleted.

  • bindings/js/JSCSSRuleCustom.cpp:

(WebCore::toJS):

  • bindings/js/JSCSSStyleDeclarationCustom.cpp:

(WebCore::JSCSSStyleDeclaration::getPropertyCSSValue):

  • bindings/js/JSCSSValueCustom.cpp:

(WebCore::toJS):

  • bindings/js/JSCanvasRenderingContextCustom.cpp:

(WebCore::toJS):

  • bindings/js/JSCustomElementInterface.cpp:

(WebCore::JSCustomElementInterface::attributeChanged):

  • bindings/js/JSDOMBinding.h:

(WebCore::toJS):
(WebCore::toJSNewlyCreated):

  • bindings/js/JSDOMFormDataCustom.cpp:

(WebCore::constructJSDOMFormData):

  • bindings/js/JSDOMMimeTypeArrayCustom.cpp:

(WebCore::JSDOMMimeTypeArray::nameGetter):

  • bindings/js/JSDOMNamedFlowCollectionCustom.cpp:

(WebCore::JSDOMNamedFlowCollection::nameGetter):

  • bindings/js/JSDOMPluginArrayCustom.cpp:

(WebCore::JSDOMPluginArray::nameGetter):

  • bindings/js/JSDOMPluginCustom.cpp:

(WebCore::JSDOMPlugin::nameGetter):

  • bindings/js/JSDOMWindowBase.cpp:

(WebCore::toJS):

  • bindings/js/JSDOMWindowBase.h:

(WebCore::toJS):

  • bindings/js/JSDOMWindowCustom.cpp:

(WebCore::jsDOMWindowGetOwnPropertySlotNamedItemGetter):

  • bindings/js/JSDocumentCustom.cpp:

(WebCore::toJS):
(WebCore::toJSNewlyCreated):
(WebCore::JSDocument::createTouchList):
(WebCore::JSDocument::prepend): Deleted.

  • bindings/js/JSDocumentFragmentCustom.cpp:

(WebCore::toJSNewlyCreated):
(WebCore::toJS):

  • bindings/js/JSEventCustom.cpp:

(WebCore::toJS):
(WebCore::toJSNewlyCreated):

  • bindings/js/JSEventTargetCustom.cpp:

(WebCore::toJS):

  • bindings/js/JSFileReaderCustom.cpp:

(WebCore::JSFileReader::result):

  • bindings/js/JSHTMLAllCollectionCustom.cpp:

(WebCore::namedItems):
(WebCore::callHTMLAllCollection):

  • bindings/js/JSHTMLCanvasElementCustom.cpp:

(WebCore::JSHTMLCanvasElement::getContext):

  • bindings/js/JSHTMLCollectionCustom.cpp:

(WebCore::JSHTMLCollection::nameGetter):
(WebCore::toJS):

  • bindings/js/JSHTMLDocumentCustom.cpp:

(WebCore::JSHTMLDocument::nameGetter):

  • bindings/js/JSHTMLElementCustom.cpp:

(WebCore::constructJSHTMLElement):
(WebCore::JSHTMLElement::pushEventHandlerScope):

  • bindings/js/JSHTMLFormControlsCollectionCustom.cpp:

(WebCore::namedItems):

  • bindings/js/JSHTMLFormElementCustom.cpp:

(WebCore::JSHTMLFormElement::nameGetter):

  • bindings/js/JSHTMLOptionsCollectionCustom.cpp:

(WebCore::JSHTMLOptionsCollection::nameGetter):

  • bindings/js/JSIDBCursorCustom.cpp:

(WebCore::JSIDBCursor::source):
(WebCore::toJS):

  • bindings/js/JSIDBDatabaseCustom.cpp:

(WebCore::JSIDBDatabase::createObjectStore):
(WebCore::JSIDBDatabase::transaction):

  • bindings/js/JSIDBRequestCustom.cpp:

(WebCore::JSIDBRequest::result):
(WebCore::JSIDBRequest::source):

  • bindings/js/JSImageConstructor.cpp:

(WebCore::JSImageConstructor::construct):

  • bindings/js/JSImageDataCustom.cpp:

(WebCore::toJS):

  • bindings/js/JSLazyEventListener.cpp:

(WebCore::JSLazyEventListener::initializeJSFunction):

  • bindings/js/JSMediaSessionCustom.cpp:

(WebCore::constructJSMediaSession):

  • bindings/js/JSMediaStreamCapabilitiesCustom.cpp:

(WebCore::toJS):

  • bindings/js/JSNamedNodeMapCustom.cpp:

(WebCore::JSNamedNodeMap::nameGetter):

  • bindings/js/JSNodeCustom.cpp:

(WebCore::createWrapperInline):
(WebCore::toJSNewlyCreated):
(WebCore::willCreatePossiblyOrphanedTreeByRemovalSlowCase):
(WebCore::getOutOfLineCachedWrapper): Deleted.

  • bindings/js/JSNodeCustom.h:

(WebCore::toJS):

  • bindings/js/JSNodeListCustom.cpp:

(WebCore::toJSNewlyCreated):

  • bindings/js/JSNodeListCustom.h:

(WebCore::toJS):

  • bindings/js/JSPerformanceEntryCustom.cpp:

(WebCore::toJS):

  • bindings/js/JSPopStateEventCustom.cpp:

(WebCore::JSPopStateEvent::state):

  • bindings/js/JSRTCStatsResponseCustom.cpp:

(WebCore::JSRTCStatsResponse::nameGetter):

  • bindings/js/JSSVGPathSegCustom.cpp:

(WebCore::toJS):

  • bindings/js/JSStyleSheetCustom.cpp:

(WebCore::toJS):

  • bindings/js/JSTextTrackCueCustom.cpp:

(WebCore::toJS):

  • bindings/js/JSTrackCustom.cpp:

(WebCore::toJS):

  • bindings/js/JSTrackCustom.h:
  • bindings/js/JSTrackEventCustom.cpp:

(WebCore::JSTrackEvent::track):

  • bindings/js/JSUserMessageHandlersNamespaceCustom.cpp:

(WebCore::JSUserMessageHandlersNamespace::getOwnPropertySlotDelegate):

  • bindings/js/JSWorkerCustom.cpp:

(WebCore::constructJSWorker):

  • bindings/js/ReadableStreamController.cpp:

(WebCore::createReadableStream):

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateHeader):
(GenerateImplementation):
(GenerateCallbackHeader):
(GenerateCallbackImplementation):
(NativeToJSValue):
(GenerateConstructorDefinition):
(ceilingToPowerOf2): Deleted.
(ConstructorHasProperties): Deleted.

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

(WebCore::toJSNewlyCreated):
(WebCore::toJS):
(WebCore::JSTestActiveDOMObject::toWrapped): Deleted.

  • bindings/scripts/test/JS/JSTestActiveDOMObject.h:

(WebCore::toJS):
(WebCore::toJSNewlyCreated):

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

(WebCore::JSTestCallback::callbackWithArrayParam):
(WebCore::JSTestCallback::callbackWithStringList):
(WebCore::JSTestCallback::callbackRequiresThisToPass):
(WebCore::toJS):

  • bindings/scripts/test/JS/JSTestCallback.h:

(WebCore::toJS):

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

(WebCore::JSTestCallbackFunction::callbackWithArrayParam):
(WebCore::JSTestCallbackFunction::callbackWithStringList):
(WebCore::JSTestCallbackFunction::callbackRequiresThisToPass):
(WebCore::toJS):

  • bindings/scripts/test/JS/JSTestCallbackFunction.h:

(WebCore::toJS):

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

(WebCore::toJSNewlyCreated):
(WebCore::toJS):
(WebCore::JSTestClassWithJSBuiltinConstructor::toWrapped): Deleted.

  • bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.h:

(WebCore::toJS):
(WebCore::toJSNewlyCreated):

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

(WebCore::toJSNewlyCreated):
(WebCore::toJS):
(WebCore::JSTestCustomConstructorWithNoInterfaceObject::toWrapped): Deleted.

  • bindings/scripts/test/JS/JSTestCustomConstructorWithNoInterfaceObject.h:

(WebCore::toJS):
(WebCore::toJSNewlyCreated):

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

(WebCore::toJSNewlyCreated):
(WebCore::toJS):
(WebCore::JSTestCustomNamedGetter::toWrapped): Deleted.

  • bindings/scripts/test/JS/JSTestCustomNamedGetter.h:

(WebCore::toJS):
(WebCore::toJSNewlyCreated):

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

(WebCore::JSTestEventConstructorConstructor::construct):
(WebCore::toJSNewlyCreated):
(WebCore::toJS):
(WebCore::JSTestEventConstructor::toWrapped): Deleted.

  • bindings/scripts/test/JS/JSTestEventConstructor.h:

(WebCore::toJS):
(WebCore::toJSNewlyCreated):

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

(WebCore::jsTestEventTargetPrototypeFunctionItem):
(WebCore::toJSNewlyCreated):
(WebCore::toJS):
(WebCore::JSTestEventTarget::toWrapped): Deleted.

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

(WebCore::toJS):
(WebCore::toJSNewlyCreated):

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

(WebCore::toJSNewlyCreated):
(WebCore::toJS):
(WebCore::JSTestException::toWrapped): Deleted.

  • bindings/scripts/test/JS/JSTestException.h:

(WebCore::toJS):
(WebCore::toJSNewlyCreated):

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

(WebCore::toJSNewlyCreated):
(WebCore::toJS):
(WebCore::JSTestGenerateIsReachable::toWrapped): Deleted.

  • bindings/scripts/test/JS/JSTestGenerateIsReachable.h:

(WebCore::toJS):
(WebCore::toJSNewlyCreated):

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

(WebCore::toJSNewlyCreated):
(WebCore::toJS):
(WebCore::JSTestGlobalObject::toWrapped): Deleted.

  • bindings/scripts/test/JS/JSTestGlobalObject.h:

(WebCore::toJS):
(WebCore::toJSNewlyCreated):

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

(WebCore::JSTestInterfaceConstructor::construct):
(WebCore::jsTestInterfaceImplementsNode):
(WebCore::jsTestInterfaceSupplementalNode):
(WebCore::jsTestInterfacePrototypeFunctionImplementsMethod2):
(WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod2):
(WebCore::toJSNewlyCreated):
(WebCore::toJS):
(WebCore::JSTestInterface::toWrapped): Deleted.

  • bindings/scripts/test/JS/JSTestInterface.h:

(WebCore::toJS):
(WebCore::toJSNewlyCreated):

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

(WebCore::toJSNewlyCreated):
(WebCore::toJS):
(WebCore::JSTestMediaQueryListListener::toWrapped): Deleted.

  • bindings/scripts/test/JS/JSTestMediaQueryListListener.h:

(WebCore::toJS):
(WebCore::toJSNewlyCreated):

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

(WebCore::JSTestNamedConstructorNamedConstructor::construct):
(WebCore::toJSNewlyCreated):
(WebCore::toJS):
(WebCore::JSTestNamedConstructor::toWrapped): Deleted.

  • bindings/scripts/test/JS/JSTestNamedConstructor.h:

(WebCore::toJS):
(WebCore::toJSNewlyCreated):

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

(WebCore::JSTestNodeConstructor::construct):

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

(WebCore::toJSNewlyCreated):
(WebCore::toJS):
(WebCore::JSTestNondeterministic::toWrapped): Deleted.

  • bindings/scripts/test/JS/JSTestNondeterministic.h:

(WebCore::toJS):
(WebCore::toJSNewlyCreated):

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

(WebCore::JSTestObjConstructor::construct):
(WebCore::jsTestObjReadOnlyTestObjAttr):
(WebCore::jsTestObjTestObjAttr):
(WebCore::jsTestObjTestNullableObjAttr):
(WebCore::jsTestObjLenientTestObjAttr):
(WebCore::jsTestObjXMLObjAttr):
(WebCore::jsTestObjTypedArrayAttr):
(WebCore::jsTestObjStrictTypeCheckingAttribute):
(WebCore::jsTestObjWithScriptExecutionContextAttribute):
(WebCore::jsTestObjWithScriptStateAttributeRaises):
(WebCore::jsTestObjWithScriptExecutionContextAttributeRaises):
(WebCore::jsTestObjWithScriptExecutionContextAndScriptStateAttribute):
(WebCore::jsTestObjWithScriptExecutionContextAndScriptStateAttributeRaises):
(WebCore::jsTestObjWithScriptExecutionContextAndScriptStateWithSpacesAttribute):
(WebCore::jsTestObjWithScriptArgumentsAndCallStackAttribute):
(WebCore::jsTestObjContentDocument):
(WebCore::jsTestObjMutablePoint):
(WebCore::jsTestObjImmutablePoint):
(WebCore::jsTestObjPutForwardsAttribute):
(WebCore::jsTestObjPutForwardsNullableAttribute):
(WebCore::jsTestObjPrototypeFunctionObjMethod):
(WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows):
(WebCore::jsTestObjPrototypeFunctionWithScriptStateObj):
(WebCore::jsTestObjPrototypeFunctionWithScriptStateObjException):
(WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndScriptStateObjException):
(WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndScriptStateWithSpaces):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod):
(WebCore::jsTestObjPrototypeFunctionDomStringListFunction):
(WebCore::jsTestObjPrototypeFunctionGetElementById):
(WebCore::jsTestObjPrototypeFunctionGetSVGDocument):
(WebCore::jsTestObjPrototypeFunctionMutablePointFunction):
(WebCore::jsTestObjPrototypeFunctionImmutablePointFunction):
(WebCore::toJSNewlyCreated):
(WebCore::toJS):
(WebCore::JSTestObj::toWrapped): Deleted.

  • bindings/scripts/test/JS/JSTestObj.h:

(WebCore::toJS):
(WebCore::toJSNewlyCreated):

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

(WebCore::constructJSTestOverloadedConstructors1):
(WebCore::constructJSTestOverloadedConstructors2):
(WebCore::constructJSTestOverloadedConstructors3):
(WebCore::constructJSTestOverloadedConstructors4):
(WebCore::constructJSTestOverloadedConstructors5):
(WebCore::toJSNewlyCreated):
(WebCore::toJS):
(WebCore::JSTestOverloadedConstructors::toWrapped): Deleted.

  • bindings/scripts/test/JS/JSTestOverloadedConstructors.h:

(WebCore::toJS):
(WebCore::toJSNewlyCreated):

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

(WebCore::jsTestOverrideBuiltinsPrototypeFunctionNamedItem):
(WebCore::toJSNewlyCreated):
(WebCore::toJS):
(WebCore::JSTestOverrideBuiltins::toWrapped): Deleted.

  • bindings/scripts/test/JS/JSTestOverrideBuiltins.h:

(WebCore::toJS):
(WebCore::toJSNewlyCreated):

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

(WebCore::toJSNewlyCreated):
(WebCore::toJS):
(WebCore::JSTestSerializedScriptValueInterface::toWrapped): Deleted.

  • bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:

(WebCore::toJS):
(WebCore::toJSNewlyCreated):

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

(WebCore::JSTestTypedefsConstructor::construct):
(WebCore::jsTestTypedefsPrototypeFunctionImmutablePointFunction):
(WebCore::toJSNewlyCreated):
(WebCore::toJS):
(WebCore::JSTestTypedefs::toWrapped): Deleted.

  • bindings/scripts/test/JS/JSTestTypedefs.h:

(WebCore::toJS):
(WebCore::toJSNewlyCreated):

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

(WebCore::toJSNewlyCreated):
(WebCore::toJS):
(WebCore::JSattribute::toWrapped): Deleted.

  • bindings/scripts/test/JS/JSattribute.h:

(WebCore::toJS):
(WebCore::toJSNewlyCreated):

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

(WebCore::toJSNewlyCreated):
(WebCore::toJS):
(WebCore::JSreadonly::toWrapped): Deleted.

  • bindings/scripts/test/JS/JSreadonly.h:

(WebCore::toJS):
(WebCore::toJSNewlyCreated):

  • html/HTMLMediaElement.cpp:

(WebCore::controllerJSValue):
(WebCore::HTMLMediaElement::didAddUserAgentShadowRoot):

8:47 AM Changeset in webkit [200774] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Windows Perl fails to run copy-user-interface-resources.pl
https://bugs.webkit.org/show_bug.cgi?id=157620
<rdar://problem/26241548>

Patch by Fujii Hironori <Fujii Hironori> on 2016-05-12
Reviewed by Timothy Hatcher.

There are two problems on Windows platform. 'cat' command is
missing and can not execute shebang.

  • Scripts/copy-user-interface-resources.pl: Invoke Perl scripts

with explicitly specifying Perl command instead of relying on
shebang. Add a new subroutine 'appendFile' to concatenate files
instread of 'cat' command.

8:43 AM Changeset in webkit [200773] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: 3.8% of timeline recording spent in NavigationSidebarPanel _updateContentOverflowShadowVisibility for background tab
https://bugs.webkit.org/show_bug.cgi?id=157616

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-05-12
Reviewed by Timothy Hatcher.

  • UserInterface/Views/NavigationSidebarPanel.js:

(WebInspector.NavigationSidebarPanel.prototype._updateContentOverflowShadowVisibility):
(WebInspector.NavigationSidebarPanel.prototype._treeElementAddedOrChanged):
Don't update or schedule and update if we aren't visible.
When we are shown we will force an update.

8:42 AM Changeset in webkit [200772] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Reduce rAF churn in DefaultDashboardView on pages with lots of resources
https://bugs.webkit.org/show_bug.cgi?id=157618

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-05-12
Reviewed by Timothy Hatcher.

  • UserInterface/Views/DefaultDashboardView.js:

(WebInspector.DefaultDashboardView):
(WebInspector.DefaultDashboardView.prototype._updateDisplaySoon):
(WebInspector.DefaultDashboardView.prototype._updateDisplay):
Previously we were scheduling multiple rAFs that would all fire with
the same data, each time a resource was added. Coalesce into one.

8:25 AM Changeset in webkit [200771] by bshafiei@apple.com
  • 3 edits in branches/safari-601.1.46-branch/Source/WebCore

Merged r200466. rdar://problem/26228860

7:48 AM Changeset in webkit [200770] by Konstantin Tokarev
  • 14 edits in trunk/Source

Use reference instead of pointer in FrameLoaderClient::saveViewStateToItem.
https://bugs.webkit.org/show_bug.cgi?id=157624

Reviewed by Darin Adler.

Source/WebCore:

No new tests needed.

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

(WebCore::HistoryController::saveScrollPositionAndViewStateToItem):

Source/WebKit/mac:

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

(WebFrameLoaderClient::saveViewStateToItem):

  • WebView/WebFrame.mm:

(-[WebFrame _saveViewState]):

Source/WebKit/win:

  • WebCoreSupport/WebFrameLoaderClient.cpp:

(WebFrameLoaderClient::saveViewStateToItem):

  • WebCoreSupport/WebFrameLoaderClient.h:

Source/WebKit2:

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::saveViewStateToItem):

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
5:47 AM Changeset in webkit [200769] by commit-queue@webkit.org
  • 12 edits
    4 adds in trunk

Correctly handle prefixed and unprefixed variants in CSSStyleDeclaration
https://bugs.webkit.org/show_bug.cgi?id=157569
<rdar://problem/26223115>

Patch by Antoine Quint <Antoine Quint> on 2016-05-12
Reviewed by Dean Jackson.

Source/WebCore:

Tests: fast/css/prefixed-unprefixed-variant-style-declaration.html

fast/css/shorthand-omitted-initial-value-overrides-shorthand.html

We essentially revert the code added with https://bugs.webkit.org/show_bug.cgi?id=110011
which duplicated properties that had a prefixed or unprefixed variant. What we do now is
to return the value of the prefixed or unprefixed variant through a CSSStyleDeclaration,
but only return the properties specified by the author when reading from the cssText property.

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseValue):
(WebCore::CSSParser::parseTransitionShorthand):
(WebCore::CSSParser::addPropertyWithPrefixingVariant): Deleted.

  • css/CSSParser.h:

Remove all code adding duplicated properties for the prefixed or unprefixed
variant of properties that exist in both forms.

  • css/CSSPropertyNames.in:

Treat transition properties as we do animation properties.

  • css/PropertySetCSSStyleDeclaration.cpp:

(WebCore::PropertySetCSSStyleDeclaration::getPropertyCSSValue):
(WebCore::PropertySetCSSStyleDeclaration::getPropertyValue):
Make these two methods call into the matching getXXXInternal() variant instead
of going through the property set directly so that they would correctly pick up
on the prefixed or unprefixed variant should there be one when the specified property
is not specified directly.

(WebCore::PropertySetCSSStyleDeclaration::getPropertyCSSValueInternal):
(WebCore::PropertySetCSSStyleDeclaration::getPropertyValueInternal):
We used to simply return the value for the given property from the property set, which
we still do but now also check if there is prefixed or unprefixed variant for the provided
property in case it was absent.

  • css/StyleProperties.cpp:

(WebCore::MutableStyleProperties::removeShorthandProperty):
Remove all code adding duplicated properties for the prefixed or unprefixed
variant of properties that exist in both forms.

(WebCore::StyleProperties::asText):
Drive-by fix to also handle the animation-play-state and -webkit-animation-play-state properties
when serializing to the shorthand.

(WebCore::MutableStyleProperties::removeProperty): Deleted.
(WebCore::MutableStyleProperties::removePrefixedOrUnprefixedProperty): Deleted.
(WebCore::MutableStyleProperties::setProperty): Deleted.
(WebCore::getIndexInShorthandVectorForPrefixingVariant): Deleted.
(WebCore::MutableStyleProperties::appendPrefixingVariantProperty): Deleted.
(WebCore::MutableStyleProperties::setPrefixingVariantProperty): Deleted.

  • css/StyleProperties.h:

Remove all code adding duplicated properties for the prefixed or unprefixed
variant of properties that exist in both forms.

LayoutTests:

  • animations/fill-mode-forwards-zero-duration.html:
  • animations/play-state-start-paused.html:

These two tests incorrectly expected a shorthand property not to reset
longhand properties that it covers to their initial values even if left
out of the shorthand.

  • animations/unprefixed-properties-expected.txt:
  • animations/unprefixed-properties.html:

This test incorrectly expected that setting an unprefixed property only would
lead to reading the prefixed property through the CSSOM return the empty string,
rather than the value set on the unprefixed property.

  • fast/css/prefixed-unprefixed-variant-style-declaration-expected.txt: Added.
  • fast/css/prefixed-unprefixed-variant-style-declaration.html: Added.

New test checking that setting one of two of a property's unprefixed and prefixed
variants correctly allows to read the style through the CSS OM for both variants,
while only serializing the property that was set through cssText.

  • fast/css/shorthand-omitted-initial-value-overrides-shorthand-expected.txt: Added.
  • fast/css/shorthand-omitted-initial-value-overrides-shorthand.html: Added.

New test checking that setting a longhand property and then the shorthand for that
longhand correctly resets the initial values, even if they were omitted in the shorthand.

5:26 AM Changeset in webkit [200768] by commit-queue@webkit.org
  • 19 edits in trunk/Source/WebCore

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

it is breaking yosemite builds (Requested by youenn on
#webkit).

Reverted changeset:

"DOMPromise should only restrict the resolution type"
https://bugs.webkit.org/show_bug.cgi?id=157307
http://trac.webkit.org/changeset/200766

3:34 AM Changeset in webkit [200767] by Matt Baker
  • 7 edits
    1 add in trunk/Source/WebInspectorUI

Web Inspector: Improve snapshot selection in heap allocations overview graph
https://bugs.webkit.org/show_bug.cgi?id=157588
<rdar://problem/26231245>

Reviewed by Joseph Pecoraro.

Heap snapshot icon selection now uses the built-in record selection
behavior provided by TimelineOverview/TimelineOverviewGraph. The marker
representing the selected heap snapshot now has a "selected" style, and
clicking an icon when the HeapAllocationsTimeline is not selected causes
the timeline to become selected.

  • UserInterface/Images/HeapSnapshotSelected.svg: Added.

New art for selected snapshot icon.

  • UserInterface/Views/HeapAllocationsTimelineOverviewGraph.css:

(.timeline-overview-graph.heap-allocations > img.snapshot.selected):
(.timeline-overview-graph.heap-allocations:not(.selected) > img.snapshot.selected):
Selected icon styles for selected/unselected overview graph.

  • UserInterface/Views/HeapAllocationsTimelineOverviewGraph.js:

(WebInspector.HeapAllocationsTimelineOverviewGraph):
Track selected image element.

(WebInspector.HeapAllocationsTimelineOverviewGraph.prototype.layout):
Associate image elements with their snapshot record, and reuse image
elements between layouts. Image element click handler can just set the
selectedRecord in the TimelineOverviewGraph base class.

(WebInspector.HeapAllocationsTimelineOverviewGraph.prototype.updateSelectedRecord):
(WebInspector.HeapAllocationsTimelineOverviewGraph.prototype._updateSnapshotMarkers):
Refresh snapshot icon styles when selected record changes.

  • UserInterface/Views/HeapAllocationsTimelineView.js:

(WebInspector.HeapAllocationsTimelineView.prototype.selectRecord):
Show snapshot list if no record selected.
(WebInspector.HeapAllocationsTimelineView.prototype.userSelectedRecordFromOverview): Deleted.
No longer needed.

  • UserInterface/Views/RenderingFrameTimelineOverviewGraph.js:

(WebInspector.RenderingFrameTimelineOverviewGraph.prototype._updateFrameMarker):
No need to call dispatchSelectedRecordChangedEvent manually anymore,
method has been removed from base class.

  • UserInterface/Views/TimelineOverviewGraph.js:

(WebInspector.TimelineOverviewGraph.prototype._needsSelectedRecordLayout):
(WebInspector.TimelineOverviewGraph):
(WebInspector.TimelineOverviewGraph.prototype.dispatchSelectedRecordChangedEvent): Deleted.
No longer needed. Event dispatched automatically by the rAF callback.

  • UserInterface/Views/TimelineRecordingContentView.js:

(WebInspector.TimelineRecordingContentView.prototype._recordSelected):
Allow switching to another timeline, if the selected record does not
belong to the current timeline.

2:36 AM Changeset in webkit [200766] by youenn.fablet@crf.canon.fr
  • 19 edits in trunk/Source/WebCore

DOMPromise should only restrict the resolution type
https://bugs.webkit.org/show_bug.cgi?id=157307

Reviewed by Darin Adler.

Removing from DOMPromise the rejection template parameter.
Supported rejection types are integers (Exception codes) and DOM objects (DOMError typically).

Updated toJS and DeferredWrapper to accept Ref<>&& and RefPtr<>&&.
Previously Ref<>&& were not accepted and only "const RefPtr<>&" was accepted.
This in turn created an unecessary churn count when calling toJS.

Changes also allow in most cases to remove the need for explictly declaring the
rejection/resolution type.

Minor refactoring of FontFaceSet promise handling to use DOMPromise in lieu of DeferredWrapper.

Covered by existing tests.
Changes should not be visible from user scripts.

  • Modules/fetch/FetchBody.cpp:

(WebCore::FetchBody::consume):
(WebCore::FetchBody::consumeText):
(WebCore::blobFromArrayBuffer):
(WebCore::FetchBody::loadingFailed):

  • Modules/fetch/FetchBody.h:

(WebCore::FetchBody::formData):

  • Modules/fetch/FetchBodyOwner.cpp:

(WebCore::FetchBodyOwner::arrayBuffer):
(WebCore::FetchBodyOwner::blob):
(WebCore::FetchBodyOwner::formData):
(WebCore::FetchBodyOwner::json):
(WebCore::FetchBodyOwner::text):

  • Modules/fetch/FetchResponse.cpp:

(WebCore::FetchResponse::BodyLoader::didReceiveResponse):

  • Modules/fetch/FetchResponse.h:
  • Modules/mediastream/MediaDevices.h:
  • Modules/mediastream/PeerConnectionBackend.h:
  • Modules/mediastream/UserMediaRequest.cpp:

(WebCore::UserMediaRequest::didCreateStream):

  • Modules/streams/ReadableStreamSource.h:
  • Modules/webaudio/AudioContext.h:
  • bindings/js/JSDOMBinding.h:

(WebCore::toJS):
(WebCore::jsPair):

  • bindings/js/JSDOMPromise.cpp:

(WebCore::fulfillPromiseWithJSON):

  • bindings/js/JSDOMPromise.h:

(WebCore::TypeInspector::decltype):
(WebCore::TypeInspector::testIsVector):
(WebCore::TypeInspector::testIsRefOrRefPtr):
(WebCore::DeferredWrapper::resolve):
(WebCore::DeferredWrapper::reject):
(WebCore::DOMPromise::resolve):
(WebCore::DOMPromise::reject):
(WebCore::DeferredWrapper::resolveWithValue):
(WebCore::DeferredWrapper::rejectWithValue):
(WebCore::callPromiseFunction):

  • bindings/js/JSSubtleCryptoCustom.cpp:

(WebCore::JSSubtleCrypto::importKey):
(WebCore::JSSubtleCrypto::unwrapKey):

  • css/FontFace.h:
  • css/FontFaceSet.cpp:

(WebCore::FontFaceSet::PendingPromise::PendingPromise):
(WebCore::FontFaceSet::load):
(WebCore::FontFaceSet::registerReady):

  • css/FontFaceSet.h:
  • html/HTMLMediaElement.h:
2:28 AM Changeset in webkit [200765] by matthew_hanson@apple.com
  • 10 edits in branches/safari-601.1.46-branch/Source/WebCore

Merge r199351. rdar://problem/26228860

2:12 AM Changeset in webkit [200764] by matthew_hanson@apple.com
  • 1 edit
    3 deletes in branches/safari-601.1.46-branch/LayoutTests

Merge r200378. rdar://problem/26064990

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

Merge r200375. rdar://problem/26064990

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

Merge r200091. rdar://problem/26228870

2:12 AM Changeset in webkit [200761] by matthew_hanson@apple.com
  • 2 edits
    1 add in branches/safari-601.1.46-branch/Source/JavaScriptCore

Merge r199277. rdar://problem/26228815

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

Merge r199243. rdar://problem/26228921

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

Merge r199101. rdar://problem/26228884

2:12 AM Changeset in webkit [200758] by matthew_hanson@apple.com
  • 5 edits in branches/safari-601.1.46-branch

Merge r198780. rdar://problem/26228892

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

Merge r198701. rdar://problem/26228887

2:12 AM Changeset in webkit [200756] by matthew_hanson@apple.com
  • 5 edits in branches/safari-601.1.46-branch/Source

Merge r198143. rdar://problem/26228904

2:12 AM Changeset in webkit [200755] by Manuel Rego Casasnovas
  • 12 edits in trunk

[css-grid] Incorrect parsing when using just 'span" as grid-line value
https://bugs.webkit.org/show_bug.cgi?id=157615

Reviewed by Sergio Villar Senin.

Source/WebCore:

The spec is pretty clear about this:
https://drafts.csswg.org/css-grid/#typedef-grid-row-start-grid-line

The possible options when using "span" to reference a grid line are:

[ span && [ <integer>
<custom-ident> ] ]

Thus, "span" keyword alone produces an invalid declaration.

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseGridPosition):

LayoutTests:

Add new test case in grid-item-column-row-get-set.html.

Updated other tests that were using "span" alone, with 2 approaches:

  • In some of them changing "span" by "span 1" making it valid.
  • In other changing the expected result to "auto", as it's invalid now.
  • fast/css-grid-layout/grid-item-area-get-set.html:
  • fast/css-grid-layout/grid-item-bad-named-area-auto-placement.html:
  • fast/css-grid-layout/grid-item-column-row-get-set-expected.txt:
  • fast/css-grid-layout/grid-item-column-row-get-set.html:
  • fast/css-grid-layout/grid-item-end-after-get-set-expected.txt:
  • fast/css-grid-layout/grid-item-end-after-get-set.html:
  • fast/css-grid-layout/grid-item-negative-position-resolution.html:
  • fast/css-grid-layout/grid-item-start-before-get-set-expected.txt:
  • fast/css-grid-layout/grid-item-start-before-get-set.html:
2:12 AM Changeset in webkit [200754] by matthew_hanson@apple.com
  • 3 edits
    3 adds in branches/safari-601.1.46-branch

Merge r198050. rdar://problem/26228899

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

Merge r196524. rdar://problem/26228854

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

Merge r195724. rdar://problem/26228915

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

Merge r195004. rdar://problem/26228875

2:11 AM Changeset in webkit [200750] by matthew_hanson@apple.com
  • 3 edits
    2 adds in branches/safari-601.1.46-branch

Merge r194399. rdar://problem/26228911

2:11 AM Changeset in webkit [200749] by matthew_hanson@apple.com
  • 3 edits in branches/safari-601.1.46-branch/Source/WebCore

Merge r194290. rdar://problem/26228866

2:11 AM Changeset in webkit [200748] by matthew_hanson@apple.com
  • 3 edits
    2 adds in branches/safari-601.1.46-branch

Merge r190820. rdar://problem/26228881

2:03 AM Changeset in webkit [200747] by Csaba Osztrogonác
  • 16 edits in trunk

Remove ENABLE(ES6_ARROWFUNCTION_SYNTAX) guards
https://bugs.webkit.org/show_bug.cgi?id=157564

Reviewed by Darin Adler.

.:

  • Source/cmake/WebKitFeatures.cmake:

Source/JavaScriptCore:

  • Configurations/FeatureDefines.xcconfig:
  • parser/Parser.cpp:

Source/WebCore:

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit/mac:

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

  • Configurations/FeatureDefines.xcconfig:

Source/WTF:

  • wtf/FeatureDefines.h:

Tools:

  • Scripts/webkitperl/FeatureList.pm:
  • TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
12:28 AM Changeset in webkit [200746] by commit-queue@webkit.org
  • 5 edits in trunk

Web Inspector: CRASH getting internal properties of function with no bound arguments causes
https://bugs.webkit.org/show_bug.cgi?id=157613
<rdar://problem/26238754>

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-05-12
Reviewed by Timothy Hatcher.

Source/JavaScriptCore:

  • inspector/JSInjectedScriptHost.cpp:

(Inspector::JSInjectedScriptHost::getInternalProperties):
Gracefully handle a JSBoundFunction with no bound arguments.
In this case boundArgs is JSValue() which we don't want to
expose as the value of the internal property.

LayoutTests:

  • inspector/runtime/getProperties-expected.txt:
  • inspector/runtime/getProperties.html:

Include coverage for a bound function with no bound arguments.

12:23 AM Changeset in webkit [200745] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebInspectorUI

Web Inspector: 3.5% of time in toFixed in TimelineRecordBar updating element positions
https://bugs.webkit.org/show_bug.cgi?id=157608

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-05-12
Reviewed by Timothy Hatcher.

Avoid using toFixed to do an approximation comparison of two floating point numbers.
Instead keep in Numbers by just doing the approximation with Math.round(num * 100).
Since toFixed was doing stringification it was very expensive.

  • UserInterface/Views/TimelineRecordBar.js:

(WebInspector.TimelineRecordBar.prototype._updateElementPosition):
(WebInspector.TimelineRecordBar):

  • UserInterface/Views/TimelineRecordFrame.js:

(WebInspector.TimelineRecordFrame.prototype._updateElementPosition):
(WebInspector.TimelineRecordFrame):

  • UserInterface/Views/TimelineRuler.js:

(WebInspector.TimelineRuler.prototype._updatePositionOfElement):

May 11, 2016:

11:47 PM Changeset in webkit [200744] by rniwa@webkit.org
  • 4 edits
    1 delete in trunk/Source/WebCore

TextIteratorStopsOnFormControls is never used
https://bugs.webkit.org/show_bug.cgi?id=157609

Reviewed by Alex Christensen.

Removed SurroundingText.cpp and TextIteratorStopsOnFormControls from TextIterator as they're no longer used.

  • editing/SurroundingText.cpp: Removed.
  • editing/TextIterator.cpp:

(WebCore::TextIterator::advance):
(WebCore::TextIterator::exitNode):
(WebCore::SimplifiedBackwardsTextIterator::SimplifiedBackwardsTextIterator):
(WebCore::SimplifiedBackwardsTextIterator::advance):
(WebCore::characterSubrange):
(WebCore::BackwardsCharacterIterator::BackwardsCharacterIterator):

  • editing/TextIterator.h:

(WebCore::SimplifiedBackwardsTextIterator::atEnd):

  • editing/TextIteratorBehavior.h:
11:34 PM Changeset in webkit [200743] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

[JSC] Make sure StringRange is passed to Vector by register
https://bugs.webkit.org/show_bug.cgi?id=157603

Patch by Benjamin Poulain <bpoulain@apple.com> on 2016-05-11
Reviewed by Darin Adler.

This is bizarre, but on my SDK, Vector::append(StringRange)
is passing the values on the stack.
The two integers are written to the stack, the address given
to append(), then append() reads it back and store it.

This patch changes the code to use constructAndAppend(), ensuring
the values are used directly.

On my machine, this helps Sunspider and Octane.
This might be something wrong with my SDK but the fix is so easy
that we might as well do this.

  • runtime/StringPrototype.cpp:

(JSC::removeUsingRegExpSearch):
(JSC::replaceUsingRegExpSearch):

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

ARMv7Assembler: suppress a -Wnarrowing warning when compiling with GCC
https://bugs.webkit.org/show_bug.cgi?id=157576

Patch by Zan Dobersek <zdobersek@igalia.com> on 2016-05-11
Reviewed by Csaba Osztrogonác.

  • assembler/ARMv7Assembler.h:

(JSC::ARMv7Assembler::revertJumpTo_movT3movtcmpT2): Explicitly cast the
OP_CMP_reg_T2 | left value to uint16_t, avoiding a narrowing conversion
warning that's being reported when compiling with GCC. The warning is sprung
due to RegisterID (which is the type of left) being an enum based on int,
even when the enum itself only declares 23 values.

9:35 PM Changeset in webkit [200741] by Chris Dumez
  • 3 edits in trunk/Source/WebCore

Kill Node::ancestorElement()
https://bugs.webkit.org/show_bug.cgi?id=157599

Reviewed by Darin Adler.

Kill Node::ancestorElement() and use Node::parentElement() instead. If
our parent is not an Element then none of our ancestors will be.

  • dom/Node.cpp:

(WebCore::Node::isDefaultNamespace):
(WebCore::Node::lookupPrefix):
(WebCore::Node::lookupNamespaceURI):
(WebCore::Node::lookupNamespacePrefix):
(WebCore::Node::convertToPage):
(WebCore::Node::convertFromPage):
(WebCore::Node::ancestorElement): Deleted.

  • dom/Node.h:
9:32 PM Changeset in webkit [200740] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: 4% of time in TimelineOverviewGraph adding/removing classList styles on TimelineRecordBar
https://bugs.webkit.org/show_bug.cgi?id=157607

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-05-11
Reviewed by Brian Burg.

This gets us down to about 0.5% of time.

  • UserInterface/Views/TimelineRecordBar.js:

(WebInspector.TimelineRecordBar.prototype.set records):
Only modify the classLists when the record changes.

(WebInspector.TimelineRecordBar.prototype.refresh):
Set unfinished once for either the uses active or not uses active cases.

8:17 PM Changeset in webkit [200739] by matthew_hanson@apple.com
  • 1 edit
    1 delete in branches/safari-601-branch/LayoutTests

Roll out r200376 via r200721.

7:56 PM Changeset in webkit [200738] by matthew_hanson@apple.com
  • 6 edits in branches/safari-601-branch/Source/WebCore

Merge r198701. rdar://problem/26228577

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

Web Inspector: this in Scope Chain Sidebar does not have preview, looks poor
https://bugs.webkit.org/show_bug.cgi?id=157602

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-05-11
Reviewed by Timothy Hatcher.

  • inspector/InjectedScriptSource.js:

(InjectedScript.CallFrameProxy):
Include a preview when creating the RemoteObject for this.

7:09 PM Changeset in webkit [200736] by Alan Bujtas
  • 4 edits
    2 adds in trunk

Absolute positioned element is not placed properly when parent becomes the containing block.
https://bugs.webkit.org/show_bug.cgi?id=157455
<rdar://problem/26212568>

Reviewed by Simon Fraser.

When a container becomes a containing block, we need to check if there are any positioned boxes in its subtree
in order to "re-parent" them. It basically means that we remove them from RenderBlock::positionedDescendants map
and they'll get re-inserted during the next layout correctly.
This patch fixes the case when a container becomes the containing block by setting the transform property and its positioned
child gets misplaced.

Source/WebCore:

Test: fast/block/containing-block-changes.html

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::removePositionedObjectsIfNeeded):
(WebCore::RenderBlock::styleWillChange):

  • rendering/RenderBlock.h:

LayoutTests:

  • fast/block/containing-block-changes-expected.html: Added.
  • fast/block/containing-block-changes.html: Added.
6:32 PM Changeset in webkit [200735] by matthew_hanson@apple.com
  • 5 edits in branches/safari-601-branch/Source

Merge r198143. rdar://problem/26228593

6:32 PM Changeset in webkit [200734] by matthew_hanson@apple.com
  • 2 edits
    1 add in branches/safari-601-branch/Source/JavaScriptCore

Merge r199277. rdar://problem/26228546

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

Merge r199243. rdar://problem/26228520

6:31 PM Changeset in webkit [200732] by matthew_hanson@apple.com
  • 4 edits
    2 adds in branches/safari-601-branch

Merge r199101. rdar://problem/26228570

6:31 PM Changeset in webkit [200731] by matthew_hanson@apple.com
  • 5 edits in branches/safari-601-branch

Merge r198780. rdar://problem/26228583

6:31 PM Changeset in webkit [200730] by matthew_hanson@apple.com
  • 3 edits
    3 adds in branches/safari-601-branch

Merge r198050. rdar://problem/26228588

6:31 PM Changeset in webkit [200729] by matthew_hanson@apple.com
  • 3 edits in branches/safari-601-branch/Source/JavaScriptCore

Merge r196524. rdar://problem/26228552

6:31 PM Changeset in webkit [200728] by matthew_hanson@apple.com
  • 3 edits
    4 adds in branches/safari-601-branch

Merge r195724. rdar://problem/26228611

6:31 PM Changeset in webkit [200727] by matthew_hanson@apple.com
  • 3 edits
    2 adds in branches/safari-601-branch

Merge r194399. rdar://problem/26228601

6:31 PM Changeset in webkit [200726] by matthew_hanson@apple.com
  • 3 edits
    2 adds in branches/safari-601-branch

Merge r190820. rdar://problem/26228566

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

Merge r200091. rdar://problem/26228555

6:31 PM Changeset in webkit [200724] by matthew_hanson@apple.com
  • 3 edits in branches/safari-601-branch/Source/WebCore

Merge r194290. rdar://problem/26053735

6:31 PM Changeset in webkit [200723] by matthew_hanson@apple.com
  • 1 edit
    3 deletes in branches/safari-601-branch/LayoutTests

Merge r200378. rdar://problem/26066673

6:31 PM Changeset in webkit [200722] by matthew_hanson@apple.com
  • 3 edits
    9 adds in branches/safari-601-branch

Merge r200375. rdar://problem/26066673

6:31 PM Changeset in webkit [200721] by matthew_hanson@apple.com
  • 1 edit
    1 add in branches/safari-601-branch/LayoutTests

Merge r200376. rdar://problem/25991928

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

Web Inspector: Unexpected unread notification icon next to Log after clearing via clear()
https://bugs.webkit.org/show_bug.cgi?id=157598

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-05-11
Reviewed by Timothy Hatcher.

We always show ConsoleCommand and ConsoleCommandResult messages no matter
what the filter is. So it doesn't make sense to mark the "log" filter
as having an unread notification for a ConsoleCommandResult when we can
see the result.

  • UserInterface/Views/LogContentView.js:

(WebInspector.LogContentView.prototype.didAppendConsoleMessageView):
(WebInspector.LogContentView.prototype._markScopeBarItemUnread):

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

Web Inspector: Console unread indicators should be cleared however the console clears
https://bugs.webkit.org/show_bug.cgi?id=157594

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-05-11
Reviewed by Timothy Hatcher.

  • UserInterface/Views/LogContentView.js:

(WebInspector.LogContentView.prototype._logCleared):
(WebInspector.LogContentView.prototype._clearLog):
Move code that clears unread indicators from clearLog to logCleared
to handle all possible clear cases.

5:47 PM Changeset in webkit [200718] by Nikita Vasilyev
  • 3 edits in trunk/Source/WebInspectorUI

Web Inspector: Contents of Duration column are covered by always on (legacy) scroll bars
https://bugs.webkit.org/show_bug.cgi?id=157590

Reviewed by Timothy Hatcher.

  • UserInterface/Views/DataGrid.css:

(.data-grid .data-container):
Always show vertical scrollbars.

(.data-grid > .header-wrapper):
(.data-grid > .header-wrapper::-webkit-scrollbar):
Show invisible scrollbar for DataGrid's header to align the header table with the content.

(.data-grid.no-header > .header-wrapper > table.header):
(.data-grid.no-header > table.header): Deleted.
(.data-grid th): Deleted.

  • UserInterface/Views/DataGrid.js:

(WebInspector.DataGrid):
overflow-y: scroll doesn't work on a table element. Wrap table in a div.

5:31 PM Changeset in webkit [200717] by rniwa@webkit.org
  • 4 edits in trunk/Source/WebCore

Unreviewed, rolling out r200700, r200703, and r200713.
https://bugs.webkit.org/show_bug.cgi?id=157601

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

Reverted changesets:

"Touch.prototype is undefined on iOS"
https://bugs.webkit.org/show_bug.cgi?id=157560
http://trac.webkit.org/changeset/200700

"iOS build fix attempt after r200700."
http://trac.webkit.org/changeset/200703

"iOS clean build fix after r200700."
http://trac.webkit.org/changeset/200713

Patch by Commit Queue <commit-queue@webkit.org> on 2016-05-11

5:01 PM Changeset in webkit [200716] by Matt Baker
  • 3 edits in trunk/Source/WebInspectorUI

Web Inspector: Make it possible to do special styling on selected TimelineOverviewGraphs
https://bugs.webkit.org/show_bug.cgi?id=157593
<rdar://problem/26232886>

Reviewed by Timothy Hatcher.

  • UserInterface/Views/TimelineOverview.js:

(WebInspector.TimelineOverview.prototype._timelinesTreeSelectionDidChange.updateGraphSelectedState):
(WebInspector.TimelineOverview.prototype._timelinesTreeSelectionDidChange):
Select the new overview graph and deselect the old one.

  • UserInterface/Views/TimelineOverviewGraph.js:

(WebInspector.TimelineOverviewGraph):
(WebInspector.TimelineOverviewGraph.prototype.get selected):
(WebInspector.TimelineOverviewGraph.prototype.set selected):
New property, toggles "selected" class on the graph element.

4:36 PM Changeset in webkit [200715] by rniwa@webkit.org
  • 2 edits in trunk/LayoutTests

Add a failing expectation on iOS for the test added in r200712
since there is no support for eventSender on iOS.

  • platform/ios-simulator/TestExpectations:
4:25 PM Changeset in webkit [200714] by keith_miller@apple.com
  • 1 edit in trunk/Source/JavaScriptCore/ChangeLog

Unreviewed, correct the title of the ChangeLog for r200667.

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

iOS clean build fix after r200700.

  • bindings/js/JSDOMWindowCustom.cpp:
3:42 PM Changeset in webkit [200712] by rniwa@webkit.org
  • 5 edits
    2 adds in trunk

Moving focus by tab could erroneously focus a non-focusable shadow host
https://bugs.webkit.org/show_bug.cgi?id=157585

Reviewed by Antti Koivisto.

Source/WebCore:

The bug was caused by findFocusableElementDescendingDownIntoFrameDocument erroneously returning a shadow host
that contains a focusable element instead of traversing it through to find a focusable element within. Fixed
the bug calling findFocusableElementWithinScope which traverses shadow trees to find a focusable element unlike
findFocusableElementOrScopeOwner which returns a focusable element or a shadow host.

Also done some refactoring for clarity.

Test: fast/shadow-dom/focus-on-iframe.html

  • page/FocusController.cpp:

(WebCore::FocusController::findFocusableElementDescendingDownIntoFrameDocument): See above.

(WebCore::FocusController::findFocusableElementAcrossFocusScope): Declare outerScope as late as possible.
(WebCore::nextElementWithGreaterTabIndex): Merged if conditions for clarity.
(WebCore::previousElementWithLowerTabIndex): Removed the check for isNonFocusableShadowHost since
isFocusableOrHasShadowTreeWithoutCustomFocusLogic returns true whenever isNonFocusableShadowHost returns true.

LayoutTests:

Added a regression test for moving focus across iframes.

Also expanded negative-tabindex-on-shadow-host.html to cover reverse traversal.

  • fast/shadow-dom/focus-on-iframe-expected.txt: Added.
  • fast/shadow-dom/focus-on-iframe.html: Added.
  • fast/shadow-dom/negative-tabindex-on-shadow-host-expected.txt:
  • fast/shadow-dom/negative-tabindex-on-shadow-host.html:
3:20 PM Changeset in webkit [200711] by Ryan Haddad
  • 2 edits in trunk/Source/WebCore

Updating bindings tests results after r200699

Unreviewed test gardening.

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

(WebCore::jsTestObjPrototypeFunctionOverloadedMethod):

3:11 PM Changeset in webkit [200710] by Joseph Pecoraro
  • 2 edits in trunk/Source/JavaScriptCore

JSC test stress/reflect-set.js failing after 200694
https://bugs.webkit.org/show_bug.cgi?id=157586

Unreviewed test rebaseline.

  • tests/stress/reflect-set.js:

Update the expected error message. We are in strict mode, so the
improved error message makes sense.

2:55 PM Changeset in webkit [200709] by Nikita Vasilyev
  • 4 edits in trunk/Source/WebInspectorUI

Web Inspector: "Selected Element" is hard to read when searching for "Element"
https://bugs.webkit.org/show_bug.cgi?id=157542
<rdar://problem/26207464>

Reviewed by Timothy Hatcher.

Change the style of highlighted text to match Xcode.

  • UserInterface/Views/LogContentView.css:

(.search-in-progress .console-item:not(.filtered-out-by-search).special-user-log .console-message-text .highlighted):

  • UserInterface/Views/OpenResourceDialog.css:

(.open-resource-dialog > .tree-outline .item.selected .highlighted):

  • UserInterface/Views/Variables.css:

(:root):

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

Web Inspector: Hide filter bar in TimelineViews where it is not needed or not yet working
https://bugs.webkit.org/show_bug.cgi?id=157583

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-05-11
Reviewed by Timothy Hatcher.

  • UserInterface/Views/HeapAllocationsTimelineView.js:

(WebInspector.HeapAllocationsTimelineView.prototype.get showsFilterBar):
(WebInspector.HeapAllocationsTimelineView.prototype.layout):
(WebInspector.HeapAllocationsTimelineView.prototype.updateFilter):
Filter bar not yet hooked up for HeapSnapshot views.
Make filtering work for the main timeline grid.
It doesn't use the normal TimelineView filter based on selected range.
This is intentional because it may be the case that a snapshot happens
outside the selected time range (via the navigation bar button) and
we want to show it. Otherwise a user might be confused why it is not
showing up in the list.

  • UserInterface/Views/MemoryTimelineView.js:

(WebInspector.MemoryTimelineView.prototype.get showsFilterBar):
Filter bar not needed in the Memory timeline view.

  • UserInterface/Views/ScriptClusterTimelineView.js:

(WebInspector.ScriptClusterTimelineView.prototype.get showsFilterBar):
Filter bar works for the Events timeline view.

  • UserInterface/Views/ScriptProfileTimelineView.js:

(WebInspector.ScriptProfileTimelineView.prototype.get showsFilterBar):
Filter bar not yet hooked up for Profile views.

  • UserInterface/Views/TimelineRecordingContentView.js:

(WebInspector.TimelineRecordingContentView.prototype._currentContentViewDidChange):
(WebInspector.TimelineRecordingContentView.prototype._contentViewSelectionPathComponentDidChange):
(WebInspector.TimelineRecordingContentView.prototype._updateFilterBar):
Update the filter bar when the selection path components change, since
that triggers when arbitrarily deep sub-content-views change.

  • UserInterface/Views/TimelineView.js:

(WebInspector.TimelineView.prototype.get showsFilterBar):
Default is yes.

2:51 PM Changeset in webkit [200707] by andersca@apple.com
  • 1 edit in trunk/Source/WebKit2/ChangeLog

Fix the ChangeLog.

2:49 PM Changeset in webkit [200706] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

We have two different types of contextual menus in iBooks
https://bugs.webkit.org/show_bug.cgi?id=157587
rdar://problem/25904169

Reviewed by Darin Adler.

  • UIProcess/mac/WebContextMenuProxyMac.mm:

(WebKit::WebContextMenuProxyMac::showContextMenu):

2:41 PM Changeset in webkit [200705] by fpizlo@apple.com
  • 6 edits in trunk/Source/JavaScriptCore

Beef up JSC profiler event log
https://bugs.webkit.org/show_bug.cgi?id=157584

Reviewed by Saam Barati.

Also log more about compilation.

  • bytecode/ExecutionCounter.cpp: Changed the meaning of codeBlock to be the codeBlock that is doing the profiling. This will now get the baseline version if it needs it. This is needed for logging the threshold checking event.

(JSC::applyMemoryUsageHeuristics):
(JSC::ExecutionCounter<countingVariant>::hasCrossedThreshold):

  • dfg/DFGJITCode.cpp: Pass the right codeBlock.

(JSC::DFG::JITCode::checkIfOptimizationThresholdReached):
(JSC::DFG::JITCode::optimizeNextInvocation):
(JSC::DFG::JITCode::dontOptimizeAnytimeSoon):
(JSC::DFG::JITCode::optimizeSoon):
(JSC::DFG::JITCode::forceOptimizationSlowPathConcurrently):

  • dfg/DFGPlan.cpp: Log things about compile times and whether the compiler succeeded or failed.

(JSC::DFG::Plan::computeCompileTimes):
(JSC::DFG::Plan::reportCompileTimes):
(JSC::DFG::Plan::compileInThread):
(JSC::DFG::Plan::finalizeWithoutNotifyingCallback):

  • jit/ExecutableAllocatorFixedVMPool.cpp: Make it possible to look at memory usage, though separately from the log, for now.

(JSC::ExecutableAllocator::allocate):

  • runtime/Options.h:
2:15 PM Changeset in webkit [200704] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

Unreviewed attempt to fix the Windows build after r200699.

  • bindings/js/JSIDBObjectStoreCustom.cpp:
2:07 PM Changeset in webkit [200703] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebCore

iOS build fix attempt after r200700.

  • bindings/js/ios/TouchConstructors.cpp:
1:57 PM Changeset in webkit [200702] by BJ Burg
  • 9 edits in trunk/Source/WebKit2

Web Automation: add command to asynchronously load the Web Inspector frontend in the background
https://bugs.webkit.org/show_bug.cgi?id=157509

Reviewed by Timothy Hatcher and Joseph Pecoraro.

In order to make it easier to debug code that executes as a result of an automation
command, this patch adds a new Automation command to asynchronously load the debugger
and Inspector frontend. It is designed for use by automation clients to implement an
auto-inspection feature to aid in debugging automation scripts.

  • UIProcess/Automation/Automation.json: Add new command.
  • UIProcess/Automation/WebAutomationSession.cpp:

(WebKit::WebAutomationSession::inspectBrowsingContext): Added.
(WebKit::WebAutomationSession::inspectorFrontendLoaded): Added.
This message is forwarded by WebInspectorProxy to the inspected page's session.

  • UIProcess/Automation/WebAutomationSession.h:
  • UIProcess/Cocoa/WebAutomationSessionCocoa.mm:

(WebKit::WebAutomationSession::sendSynthesizedEventsToPage):
Force the active automation window to become key and bring to front prior to
sending each NSEvent. This way, if the Inspector pauses while a command executes,
the automation window will get back focus when the Inspector unpauses just before
the next synthesized mouse or keyboard NSEvent is sent to its NSWindow.

  • UIProcess/WebInspectorProxy.cpp:

(WebKit::WebInspectorProxy::frontendLoaded):
Forward to the inspected page's session.

  • UIProcess/WebInspectorProxy.h:
  • UIProcess/WebInspectorProxy.messages.in: Add notification of the frontend's load.
  • WebProcess/WebPage/WebInspectorUI.cpp:

(WebKit::WebInspectorUI::frontendLoaded):
Kick off notifying the automation session in UIProcess that the inspector loaded.

(WebKit::WebInspectorUI::closeWindow):
In some circumstances, the Web Inspector can be loaded without showing
the window. If this hidden page closes, make sure the frontend host gets
a chance to disconnect its InspectorFrontendClient. Normally this happens
when the window closes, but unshown Inspectors do not get window instances.

1:54 PM Changeset in webkit [200701] by sbarati@apple.com
  • 9 edits in trunk/Source/JavaScriptCore

Air may decide to put the result register of an arithmetic snippet in the tag register
https://bugs.webkit.org/show_bug.cgi?id=157548

Reviewed by Filip Pizlo.

This patch adds a new ValueRep to B3 called LateRegister. The semantics
are similar to Register in that it can be used to pin an argument to
a particular register. It differs from ValueRep::Register in that the semantics of
LateRegister are that it is used after the result of the node its an argument to
is computed. This means that a LateRegister argument will interfere with the result
of a node. LateRegister is not a valid result ValueRep.

This was needed because there was a bug where B3/Air would assign the
result of a patchpoint to the TagTypeNumber register. This broke our
code when we would box a double into a JSValue in a snippet when the
result is the same as the TagTypeNumber register. To fix the issue,
we pass TagMaskRegister and TagTypeNumberRegister as ValueRep::LateRegister
arguments to various patchpoints.

  • b3/B3LowerToAir.cpp:

(JSC::B3::Air::LowerToAir::fillStackmap):

  • b3/B3PatchpointSpecial.cpp:

(JSC::B3::PatchpointSpecial::admitsStack):

  • b3/B3StackmapSpecial.cpp:

(JSC::B3::StackmapSpecial::forEachArgImpl):
(JSC::B3::StackmapSpecial::isArgValidForRep):

  • b3/B3Validate.cpp:
  • b3/B3ValueRep.cpp:

(JSC::B3::ValueRep::addUsedRegistersTo):
(JSC::B3::ValueRep::dump):
(JSC::B3::ValueRep::emitRestore):
(JSC::B3::ValueRep::recoveryForJSValue):
(WTF::printInternal):

  • b3/B3ValueRep.h:

(JSC::B3::ValueRep::reg):
(JSC::B3::ValueRep::lateReg):
(JSC::B3::ValueRep::stack):
(JSC::B3::ValueRep::operator==):
(JSC::B3::ValueRep::isSomeRegister):
(JSC::B3::ValueRep::isReg):

  • b3/testb3.cpp:

(JSC::B3::testSpillUseLargerThanDef):
(JSC::B3::testLateRegister):
(JSC::B3::zero):
(JSC::B3::run):

  • ftl/FTLLowerDFGToB3.cpp:

(JSC::FTL::DFG::LowerDFGToB3::lower):
(JSC::FTL::DFG::LowerDFGToB3::compileIn):
(JSC::FTL::DFG::LowerDFGToB3::getById):
(JSC::FTL::DFG::LowerDFGToB3::emitBinarySnippet):
(JSC::FTL::DFG::LowerDFGToB3::emitBinaryBitOpSnippet):
(JSC::FTL::DFG::LowerDFGToB3::emitRightShiftSnippet):

1:09 PM Changeset in webkit [200700] by rniwa@webkit.org
  • 3 edits in trunk/Source/WebCore

Touch.prototype is undefined on iOS
https://bugs.webkit.org/show_bug.cgi?id=157560
<rdar://problem/26143008>

Reviewed by Chris Dumez.

Remove Touch and TouchList attributes from DOMWindow.
These attributes should be exposed via generated binding code (JSDOMWindow.cpp).

  • bindings/js/JSDOMWindowCustom.cpp:

(WebCore::JSDOMWindow::touch): Deleted.
(WebCore::JSDOMWindow::touchList): Deleted.

  • page/DOMWindow.idl:
1:04 PM Changeset in webkit [200699] by Darin Adler
  • 24 edits in trunk

Change IDBObjectStore.createIndex to take an IDL dictionary
https://bugs.webkit.org/show_bug.cgi?id=157520

Reviewed by Chris Dumez.

Source/WebCore:

  • Modules/indexeddb/IDBDatabase.cpp:

(WebCore::IDBDatabase::createObjectStore): Use IDBKeyPath::Type instead of
IndexedDB::KeyPathType.

  • Modules/indexeddb/IDBKeyPath.cpp:

(WebCore::IDBKeyPath::IDBKeyPath): Ditto.
(WebCore::IDBKeyPath::isValid): Ditto.
(WebCore::IDBKeyPath::operator==): Ditto.
(WebCore::IDBKeyPath::encode): Ditto.
(WebCore::IDBKeyPath::decode): Ditto.

  • Modules/indexeddb/IDBKeyPath.h: Use pragma once. Make constructors non-explicit so

we can just pass a string or vector and have it turn into an IDBKeyPath. Added an enum
class named Type here and use it instead of IndexedDB::KeyPathType.

  • Modules/indexeddb/IDBObjectStore.cpp:

(WebCore::IDBObjectStore::openCursor): Remove unneeded local variable.
(WebCore::IDBObjectStore::get): Ditto.
(WebCore::IDBObjectStore::doDelete): Ditto.
(WebCore::IDBObjectStore::createIndex): Changed argument type to take IndexParameters
instead of two seaparate booleans. Also updated to use IDBKeyPath::Type.

  • Modules/indexeddb/IDBObjectStore.h: Removed include of IndexedDB, using a forward

decalration instead. Marked the class final. Added an IndexParameters struct and used
it for the argument to createIndex.

  • Modules/indexeddb/IDBObjectStore.idl: Stopped using Custom for put, add, and

createIndex functions. Stopped using Dictionary for createIndex, using IDBIndexParameters
instead as in the specification. Added IDBIndexParameters dictionary definition.

  • Modules/indexeddb/IndexedDB.h: Use pragma once. Removed KeyPathType.
  • bindings/js/IDBBindingUtilities.cpp:

(WebCore::injectIDBKeyIntoScriptValue): Use IDBKeyPath::Type instead of
IndexedDB::KeyPathType.
(WebCore::maybeCreateIDBKeyFromScriptValueAndKeyPath): Ditto.
(WebCore::canInjectIDBKeyIntoScriptValue): Ditto.
(WebCore::createKeyPathArray): Ditto.
(WebCore::toJS): Ditto.

  • bindings/js/JSIDBObjectStoreCustom.cpp:

(WebCore::putOrAdd): Deleted.
(WebCore::JSIDBObjectStore::putFunction): Deleted.
(WebCore::JSIDBObjectStore::add): Deleted.
(WebCore::JSIDBObjectStore::createIndex): Deleted.

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateParametersCheckExpression): Fixed code that generates a type check for
wrappers to only check types is knows how to check: wrappers and arrays, including
typed arrays. This prevents it from trying to check dictionaries.

  • inspector/InspectorIndexedDBAgent.cpp: Use IDBKeyPath::Type instead of

IndexedDB::KeyPathType.

LayoutTests:

  • storage/indexeddb/deleteIndex-bug110792-expected.txt: Updated result.

Test is still marked as flaky, but this is the proper expectation now.
Discovered this when I accidentally reset results for the whole directory.

  • storage/indexeddb/deleteIndex-bug110792-private-expected.txt: Ditto.
  • storage/indexeddb/index-basics-expected.txt: Updated to expect the simpler

type error that is generated by the bindings code as opposed to the hand written
binding. If we want to make this fancier like this for all bindings we can do
that the future in the bindings script.

  • storage/indexeddb/index-basics-private-expected.txt: Ditto.
  • storage/indexeddb/index-basics-workers-expected.txt: Ditto.
  • storage/indexeddb/keypath-basics-expected.txt: Updated for the change that

expects null and undefined the be legal key paths. See below.

  • storage/indexeddb/keypath-basics-private-expected.txt: Ditto.
  • storage/indexeddb/modern/create-index-failures-expected.txt: Removed

expected results that require that we forbid null for the name and key path.
See below.

  • storage/indexeddb/modern/create-index-failures-private-expected.txt: Ditto.
  • storage/indexeddb/modern/resources/create-index-failures.js: Removed the test

that expects failure when null is passed for the name and key path. In both
cases, the Web IDL and IDB specifications call for the null value to be converted
to the string "null", not an exception.

  • storage/indexeddb/resources/keypath-basics.js:

(prepareDatabase): Added tests for both undefined and null. Both are legal values for
the key path argument to createIndex. The Web IDL and IDB specifications call for
them to be converted to the strings "undefined" and "null", not to trigger exceptions.
(testInvalidKeyPaths): Removed tests that expect exceptions when calling createIndex
with undefined and null.

12:59 PM Changeset in webkit [200698] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Rebaseline inspector/dom/getAccessibilityPropertiesForNode.html after r200677

Unreviewed test gardening.

  • inspector/dom/getAccessibilityPropertiesForNode-expected.txt:
12:58 PM Changeset in webkit [200697] by beidson@apple.com
  • 5 edits in trunk

Modern IDB: WebWorker support.
https://bugs.webkit.org/show_bug.cgi?id=149953

Reviewed by Alex Christensen.

LayoutTests/imported/w3c:

  • IndexedDB-private-browsing/idb_webworkers-expected.txt:
  • web-platform-tests/IndexedDB/idb_webworkers-expected.txt:

Source/WebCore:

No new tests (Covered by changes to existing tests).

  • bindings/generic/RuntimeEnabledFeatures.cpp:

(WebCore::RuntimeEnabledFeatures::RuntimeEnabledFeatures):

12:02 PM Changeset in webkit [200696] by Chris Dumez
  • 85 edits in trunk

Update Node::appendChild() / replaceChild() / removeChild() / insertBefore() to take references instead of pointers
https://bugs.webkit.org/show_bug.cgi?id=157556

Reviewed by Darin Adler.

Source/WebCore:

Update Node::appendChild() / replaceChild() / removeChild() / insertBefore()
to take references instead of pointers. Do the parameter null checks in the
bindings instead of doing it in the implementation on Node.

Also update the ContainerNode::appendChild() / replaceChild() /
insertBefore() to take C++ references instead of Ref<>&& to avoid
unnecessarily causing ref counting churns at some call sites (including
in the bindings since they are a raw pointer to the nodes). The
implementation on ContainerNode was not actually using WTFMove() on the
Ref<>&& anyway.

  • Modules/plugins/YouTubePluginReplacement.cpp:

(WebCore::YouTubePluginReplacement::installReplacement):

  • bindings/js/JSNodeCustom.cpp:

(WebCore::JSNode::insertBefore):
(WebCore::JSNode::replaceChild):
(WebCore::JSNode::removeChild):
(WebCore::JSNode::appendChild):

  • dom/ContainerNode.cpp:

(WebCore::ContainerNode::insertBefore):
(WebCore::ContainerNode::parserInsertBefore):
(WebCore::ContainerNode::replaceChild):
(WebCore::ContainerNode::appendChild):
(WebCore::ContainerNode::parserAppendChild):
(WebCore::ContainerNode::cloneChildNodes):
(WebCore::ContainerNode::append):
(WebCore::ContainerNode::prepend):

  • dom/ContainerNode.h:
  • dom/DOMImplementation.cpp:

(WebCore::DOMImplementation::createDocument):
(WebCore::DOMImplementation::createHTMLDocument):

  • dom/Document.cpp:

(WebCore::Document::setBodyOrFrameset):

  • dom/Element.cpp:

(WebCore::Element::setOuterHTML):

  • dom/Node.cpp:

(WebCore::Node::insertBefore):
(WebCore::Node::replaceChild):
(WebCore::Node::removeChild):
(WebCore::Node::appendChild):
(WebCore::Node::before):
(WebCore::Node::after):
(WebCore::Node::replaceWith):
(WebCore::nodeSetPreTransformedFromNodeOrStringVector): Deleted.
(WebCore::Node::normalize): Deleted.

  • dom/Node.h:
  • dom/Node.idl:
  • dom/NodeOrString.cpp:

(WebCore::convertNodesOrStringsIntoNode):

  • dom/Range.cpp:

(WebCore::Range::processContents):
(WebCore::Range::processContentsBetweenOffsets):
(WebCore::Range::processNodes):
(WebCore::Range::processAncestorsAndTheirSiblings):
(WebCore::Range::insertNode):
(WebCore::Range::surroundContents):

  • dom/Range.h:
  • dom/Text.cpp:

(WebCore::Text::splitText):

  • editing/AppendNodeCommand.cpp:

(WebCore::AppendNodeCommand::doApply):

  • editing/Editor.cpp:

(WebCore::Editor::setTextAsChildOfElement):

  • editing/EditorCommand.cpp:

(WebCore::executeInsertNode):

  • editing/MergeIdenticalElementsCommand.cpp:

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

  • editing/RemoveNodeCommand.cpp:

(WebCore::RemoveNodeCommand::doUnapply):

  • editing/ReplaceNodeWithSpanCommand.cpp:

(WebCore::swapInNodePreservingAttributesAndChildren):

  • editing/ReplaceSelectionCommand.cpp:

(WebCore::ReplacementFragment::insertFragmentForTestRendering):

  • editing/SplitElementCommand.cpp:

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

  • editing/WrapContentsInDummySpanCommand.cpp:

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

  • editing/cocoa/EditorCocoa.mm:

(WebCore::Editor::styleForSelectionStart):

  • editing/htmlediting.cpp:

(WebCore::createTabSpanElement):

  • editing/ios/EditorIOS.mm:

(WebCore::Editor::WebContentReader::readURL):
(WebCore::Editor::createFragmentForImageResourceAndAddResource):

  • editing/mac/EditorMac.mm:

(WebCore::Editor::WebContentReader::readFilenames):
(WebCore::Editor::WebContentReader::readURL):
(WebCore::Editor::createFragmentForImageResourceAndAddResource):

  • editing/markup.cpp:

(WebCore::fillContainerFromString):
(WebCore::createFragmentFromText):
(WebCore::replaceChildrenWithFragment):
(WebCore::replaceChildrenWithText):

  • html/BaseChooserOnlyDateAndTimeInputType.cpp:

(WebCore::BaseChooserOnlyDateAndTimeInputType::createShadowSubtree):

  • html/ColorInputType.cpp:

(WebCore::ColorInputType::createShadowSubtree):

  • html/FTPDirectoryDocument.cpp:

(WebCore::FTPDirectoryDocumentParser::appendEntry):
(WebCore::FTPDirectoryDocumentParser::createTDForFilename):
(WebCore::FTPDirectoryDocumentParser::createBasicDocument):

  • html/HTMLDetailsElement.cpp:

(WebCore::HTMLDetailsElement::didAddUserAgentShadowRoot):

  • html/HTMLElement.cpp:

(WebCore::HTMLElement::setOuterText):
(WebCore::HTMLElement::insertAdjacent):

  • html/HTMLImageElement.cpp:

(WebCore::HTMLImageElement::tryCreateImageControls):

  • html/HTMLKeygenElement.cpp:

(WebCore::HTMLKeygenElement::HTMLKeygenElement):

  • html/HTMLMeterElement.cpp:

(WebCore::HTMLMeterElement::didAddUserAgentShadowRoot):

  • html/HTMLOptionElement.cpp:

(WebCore::HTMLOptionElement::createForJSConstructor):

  • html/HTMLProgressElement.cpp:

(WebCore::HTMLProgressElement::didAddUserAgentShadowRoot):

  • html/HTMLTableElement.cpp:

(WebCore::HTMLTableElement::createTBody):
(WebCore::HTMLTableElement::insertRow):

  • html/HTMLTableRowElement.cpp:

(WebCore::HTMLTableRowElement::insertCell):

  • html/ImageDocument.cpp:

(WebCore::ImageDocument::createDocumentStructure):

  • html/MediaDocument.cpp:

(WebCore::MediaDocumentParser::createDocumentStructure):

  • html/PluginDocument.cpp:

(WebCore::PluginDocumentParser::createDocumentStructure):

  • html/RangeInputType.cpp:

(WebCore::RangeInputType::createShadowSubtree):

  • html/SearchInputType.cpp:

(WebCore::SearchInputType::createShadowSubtree):

  • html/ValidationMessage.cpp:

(WebCore::ValidationMessage::buildBubbleTree):

  • html/shadow/MediaControlElements.cpp:

(WebCore::MediaControlClosedCaptionsTrackListElement::rebuildTrackListMenu):

  • html/shadow/MediaControls.cpp:

(WebCore::MediaControls::createTextTrackDisplay):

  • html/shadow/MediaControlsApple.cpp:

(WebCore::MediaControlsApple::tryCreateControls):

  • html/shadow/mac/ImageControlsRootElementMac.cpp:

(WebCore::ImageControlsRootElement::tryCreate):

  • html/track/VTTCue.cpp:

(WebCore::VTTCue::updateDisplayTree):

  • html/track/WebVTTParser.cpp:

(WebCore::WebVTTTreeBuilder::constructTreeFromToken):

  • inspector/DOMEditor.cpp:

(WebCore::DOMEditor::RemoveChildAction::RemoveChildAction):
(WebCore::DOMEditor::InsertBeforeAction::InsertBeforeAction):
(WebCore::DOMEditor::ReplaceChildNodeAction::ReplaceChildNodeAction):
(WebCore::DOMEditor::insertBefore):
(WebCore::DOMEditor::removeChild):
(WebCore::DOMEditor::replaceChild):

  • inspector/DOMEditor.h:
  • inspector/DOMPatchSupport.cpp:

(WebCore::DOMPatchSupport::patchNode):
(WebCore::DOMPatchSupport::innerPatchNode):
(WebCore::DOMPatchSupport::innerPatchChildren):
(WebCore::DOMPatchSupport::insertBeforeAndMarkAsUsed):
(WebCore::DOMPatchSupport::removeChildAndMoveToNew):

  • inspector/DOMPatchSupport.h:
  • inspector/InspectorCSSAgent.cpp:

(WebCore::InspectorCSSAgent::createInspectorStyleSheetForDocument):

  • inspector/InspectorDOMAgent.cpp:

(WebCore::InspectorDOMAgent::removeNode):
(WebCore::InspectorDOMAgent::setNodeName):
(WebCore::InspectorDOMAgent::moveTo):

  • page/DragController.cpp:

(WebCore::documentFragmentFromDragData):

  • page/ios/FrameIOS.mm:

(WebCore::Frame::initWithSimpleHTMLDocument):

  • svg/SVGUseElement.cpp:

(WebCore::SVGUseElement::cloneTarget):
(WebCore::SVGUseElement::expandUseElementsInShadowTree):
(WebCore::SVGUseElement::expandSymbolElementsInShadowTree):

  • xml/XMLErrors.cpp:

(WebCore::createXHTMLParserErrorHeader):
(WebCore::XMLErrors::insertErrorMessageBlock):

  • xml/XMLTreeViewer.cpp:

(WebCore::XMLTreeViewer::transformDocumentToTreeView):

  • xml/parser/XMLDocumentParserLibxml2.cpp:

(WebCore::XMLDocumentParser::startElementNs):
(WebCore::XMLDocumentParser::processingInstruction):
(WebCore::XMLDocumentParser::cdataBlock):
(WebCore::XMLDocumentParser::comment):

Source/WebKit/mac:

  • WebView/WebFrame.mm:

(-[WebFrame _documentFragmentWithNodesAsParagraphs:]):

Source/WebKit/win:

  • DOMCoreClasses.cpp:

(DOMNode::insertBefore):
(DOMNode::removeChild):

Source/WebKit2:

  • WebProcess/InjectedBundle/API/mac/WKDOMNode.mm:

(-[WKDOMNode insertNode:before:]):
(-[WKDOMNode appendChild:]):
(-[WKDOMNode removeChild:]):

  • WebProcess/Plugins/PDF/DeprecatedPDFPlugin.mm:

(WebKit::PDFPlugin::PDFPlugin):

  • WebProcess/Plugins/PDF/PDFPluginChoiceAnnotation.mm:

(WebKit::PDFPluginChoiceAnnotation::createAnnotationElement):

LayoutTests:

Rebaseline several tests now that the Node API provides more useful
exception messages.

  • fast/dom/Document/replaceChild-null-oldChild-expected.txt:
  • fast/dom/Document/script-tests/replaceChild-null-oldChild.js:
  • fast/dom/incompatible-operations-expected.txt:
  • fast/dom/incompatible-operations.html:
  • fast/dom/processing-instruction-appendChild-exceptions-expected.txt:
  • fast/dom/processing-instruction-appendChild-exceptions.xhtml:
  • fast/dom/timer-clear-interval-in-handler-and-generate-error-expected.txt:
  • js/dom/dot-node-base-exception-expected.txt:
  • js/dom/script-tests/dot-node-base-exception.js:
11:42 AM Changeset in webkit [200695] by beidson@apple.com
  • 31 edits in trunk

Modern IDB: IDBOpenDBRequests that are stop()'ed don't notify the IDBServer of that fact.
https://bugs.webkit.org/show_bug.cgi?id=157448

Reviewed by Alex Christensen.

Source/WebCore:

No new tests (Previously skipped tests cover new behavior, and are now unskipped).

There's two main parts to this patch:

1 - When an IDBOpenDBRequest is stop()'ed due to page navigation or worker termination,

we now notify the IDBServer of that.

2 - Lot's of little tweaks to UniqueIDBDatabase to handle shutting down version change

transactions and/or connections related to the cancelled openDB request.

Fortunately the changes to UniqueIDBDatabase were all well covered by existing tests.

  • Modules/indexeddb/IDBOpenDBRequest.cpp:

(WebCore::IDBOpenDBRequest::fireSuccessAfterVersionChangeCommit):
(WebCore::IDBOpenDBRequest::fireErrorAfterVersionChangeCompletion):
(WebCore::IDBOpenDBRequest::cancelForStop):
(WebCore::IDBOpenDBRequest::dispatchEvent):

  • Modules/indexeddb/IDBOpenDBRequest.h:
  • Modules/indexeddb/IDBRequest.cpp:

(WebCore::IDBRequest::stop):
(WebCore::IDBRequest::cancelForStop):

  • Modules/indexeddb/IDBRequest.h:
  • Modules/indexeddb/client/IDBConnectionProxy.cpp:

(WebCore::IDBClient::IDBConnectionProxy::openDBRequestCancelled):
(WebCore::IDBClient::IDBConnectionProxy::didFinishHandlingVersionChangeTransaction):

  • Modules/indexeddb/client/IDBConnectionProxy.h:
  • Modules/indexeddb/client/IDBConnectionToServer.cpp:

(WebCore::IDBClient::IDBConnectionToServer::didFinishHandlingVersionChangeTransaction):
(WebCore::IDBClient::IDBConnectionToServer::openDBRequestCancelled):

  • Modules/indexeddb/client/IDBConnectionToServer.h:
  • Modules/indexeddb/client/IDBConnectionToServerDelegate.h:
  • Modules/indexeddb/server/IDBServer.cpp:

(WebCore::IDBServer::IDBServer::didFinishHandlingVersionChangeTransaction):
(WebCore::IDBServer::IDBServer::databaseConnectionClosed):
(WebCore::IDBServer::IDBServer::openDBRequestCancelled):

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

(WebCore::IDBServer::UniqueIDBDatabase::didDeleteBackingStore):
(WebCore::IDBServer::UniqueIDBDatabase::handleCurrentOperation):
(WebCore::IDBServer::UniqueIDBDatabase::openDBRequestCancelled):
(WebCore::IDBServer::UniqueIDBDatabase::commitTransaction):
(WebCore::IDBServer::UniqueIDBDatabase::performCommitTransaction):
(WebCore::IDBServer::UniqueIDBDatabase::didPerformCommitTransaction):
(WebCore::IDBServer::UniqueIDBDatabase::abortTransaction):
(WebCore::IDBServer::UniqueIDBDatabase::didFinishHandlingVersionChange):
(WebCore::IDBServer::UniqueIDBDatabase::performAbortTransaction):
(WebCore::IDBServer::UniqueIDBDatabase::didPerformAbortTransaction):
(WebCore::IDBServer::UniqueIDBDatabase::connectionClosedFromClient):
(WebCore::IDBServer::UniqueIDBDatabase::transactionCompleted):
(WebCore::IDBServer::UniqueIDBDatabase::forgetErrorCallback):

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

(WebCore::IDBServer::UniqueIDBDatabaseConnection::abortTransactionWithoutCallback):
(WebCore::IDBServer::UniqueIDBDatabaseConnection::didFinishHandlingVersionChange):

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

(WebCore::IDBServer::UniqueIDBDatabaseTransaction::didFinishHandlingVersionChange): Deleted.

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

(WebCore::InProcessIDBServer::didFinishHandlingVersionChangeTransaction):
(WebCore::InProcessIDBServer::openDBRequestCancelled):

  • Modules/indexeddb/shared/InProcessIDBServer.h:

Source/WebKit2:

  • DatabaseProcess/IndexedDB/WebIDBConnectionToClient.cpp:

(WebKit::WebIDBConnectionToClient::didFinishHandlingVersionChangeTransaction):
(WebKit::WebIDBConnectionToClient::openDBRequestCancelled):

  • DatabaseProcess/IndexedDB/WebIDBConnectionToClient.h:
  • DatabaseProcess/IndexedDB/WebIDBConnectionToClient.messages.in:
  • WebProcess/Databases/IndexedDB/WebIDBConnectionToServer.cpp:

(WebKit::WebIDBConnectionToServer::didFinishHandlingVersionChangeTransaction):
(WebKit::WebIDBConnectionToServer::openDBRequestCancelled):

  • WebProcess/Databases/IndexedDB/WebIDBConnectionToServer.h:

LayoutTests:

  • TestExpectations:
  • storage/indexeddb/pending-version-change-stuck-private-expected.txt:
  • storage/indexeddb/pending-version-change-stuck-works-with-terminate-expected.txt:
  • storage/indexeddb/pending-version-change-stuck-works-with-terminate-private-expected.txt:
11:33 AM Changeset in webkit [200694] by commit-queue@webkit.org
  • 11 edits in trunk

Improve error messages for accessing arguments.callee and similar getters in strict mode
https://bugs.webkit.org/show_bug.cgi?id=157545

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-05-11
Reviewed by Mark Lam.

Source/JavaScriptCore:

  • runtime/ClonedArguments.cpp:

(JSC::ClonedArguments::getOwnPropertySlot):
(JSC::ClonedArguments::materializeSpecials):
Provide better error GetterSetter in strict mode.

  • runtime/JSFunction.cpp:

(JSC::getThrowTypeErrorGetterSetter):
(JSC::JSFunction::defineOwnProperty):
Provide better error GetterSetter in strict mode.

  • runtime/JSGlobalObject.cpp:

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

  • runtime/JSGlobalObject.h:

(JSC::JSGlobalObject::throwTypeErrorGetterSetter):
(JSC::JSGlobalObject::throwTypeErrorCalleeAndCallerGetterSetter):
(JSC::JSGlobalObject::throwTypeErrorArgumentsAndCallerInStrictModeGetterSetter):
(JSC::JSGlobalObject::throwTypeErrorArgumentsAndCallerInClassContextGetterSetter):
(JSC::JSGlobalObject::throwTypeErrorArgumentsAndCallerGetterSetter): Deleted.

  • runtime/JSGlobalObjectFunctions.cpp:

(JSC::globalFuncThrowTypeErrorCalleeAndCaller):
(JSC::globalFuncThrowTypeErrorArgumentsAndCallerInStrictMode):
(JSC::globalFuncThrowTypeErrorArgumentsAndCallerInClassContext):
(JSC::globalFuncThrowTypeErrorArgumentsAndCaller): Deleted.

  • runtime/JSGlobalObjectFunctions.h:

Rename and expose new handles for new error getter setter native functions.

LayoutTests:

  • js/basic-strict-mode-expected.txt:
  • js/caller-property-expected.txt:
  • js/script-tests/caller-property.js:
11:13 AM Changeset in webkit [200693] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

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

it's bad news for asm.js (Requested by pizlo on #webkit).

Reverted changeset:

"Reduce maximum JIT pool size on X86_64."
http://trac.webkit.org/changeset/200481

11:06 AM Changeset in webkit [200692] by mmaxfield@apple.com
  • 2 edits in trunk/Source/WebKit2

Fix a typo in r200330

Unreviewed.

  • UIProcess/API/Cocoa/WKWebViewConfiguration.h:
10:28 AM Changeset in webkit [200691] by Chris Dumez
  • 6 edits
    9 deletes in trunk

Unreviewed, rolling out r200686.

Caused a lot of layout test failures

Reverted changeset:

"Sites served over insecure connections should not be allowed
to use geolocation."
https://bugs.webkit.org/show_bug.cgi?id=157423
http://trac.webkit.org/changeset/200686

10:11 AM MathML/Early_2016_Refactoring edited by fred.wang@free.fr
(diff)
9:25 AM Changeset in webkit [200690] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

Optimize DataDetection's searchForLinkRemovingExistingDDLinks()
https://bugs.webkit.org/show_bug.cgi?id=157561

Reviewed by Ryosuke Niwa.

Optimize DataDetection's searchForLinkRemovingExistingDDLinks():

  1. The first loop was using Node::childNodes() to iterate over the child elements. Because of the recursive call, we may end up prepending children as we iterate over them. This is an issue because the childCount was cached before the loop and vector it would blow away the cache inside the NodeList. Switch to using ElementTraversal which should be both safer and more efficient. I don't believe we can use our nice ElementChildIterator here unfortunately as we would hit assertions due the the DOM mutations while iterating.
  2. The second loop was using again Node::childNodes() and kept calling item(0) to get the first child and move it to make it the previous sibling of its old parent. Again, using childNodes() here is super inefficient because we keep modifying the children and childNodes() returns a live NodeList. The call to NodeList::length() would cache all the children in a Vector, only to blow that cache away after removing the first child. Switch to using ContainerNode::firstChild().
  3. Drop the parentElement parameter as we can just get it from the child.
  4. Use tighter typing so we don't end up calling the implementations of insertBefore() / removeChild() that are on Node, thus unnecessarily doing a is<ContainerNode>() check every time.
  5. Pass element by reference instead of pointer as it cannot be null.
  • editing/cocoa/DataDetection.mm:

(WebCore::removeResultLinksFromAnchor):
(WebCore::searchForLinkRemovingExistingDDLinks):

9:24 AM Changeset in webkit [200689] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

preprocess-idls.pl not ignoring comments during processing
https://bugs.webkit.org/show_bug.cgi?id=157559

Patch by Rawinder Singh <rawinder.singh-webkit@cisra.canon.com.au> on 2016-05-11
Reviewed by Darin Adler.

Remove comments from IDL file before processing.

  • bindings/scripts/preprocess-idls.pl:

(getInterfaceExtendedAttributesFromIDL):

9:20 AM Changeset in webkit [200688] by jer.noble@apple.com
  • 3 edits
    2 adds in trunk

Videos allowed to play through the Main Content restriction should not pause when scrolled off-screen.
https://bugs.webkit.org/show_bug.cgi?id=157555

Reviewed by Eric Carlson.

Source/WebCore:

Test: media/video-main-content-allow-then-scroll.html

  • html/MediaElementSession.cpp:

(WebCore::isMainContent):

LayoutTests:

  • media/video-main-content-allow-then-scroll-expected.txt: Added.
  • media/video-main-content-allow-then-scroll.html: Added.
9:18 AM Changeset in webkit [200687] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[curl] curl_easy_setopt(CURLOPT_CONNECT_ONLY) should take a long parameter
https://bugs.webkit.org/show_bug.cgi?id=157562

Patch by Fujii Hironori <Fujii Hironori> on 2016-05-11
Reviewed by Darin Adler.

The third argument of a calling curl_easy_setopt is missing.

  • platform/network/curl/SocketStreamHandleCurl.cpp:

(WebCore::SocketStreamHandle::startThread): Give the third
argument of curl_easy_setopt.

8:52 AM Changeset in webkit [200686] by Brent Fulgham
  • 6 edits
    9 adds in trunk

Sites served over insecure connections should not be allowed to use geolocation.
https://bugs.webkit.org/show_bug.cgi?id=157423
<rdar://problem/23751632>

Patch by Pranjal Jumde <pjumde@apple.com> on 2016-05-11
Reviewed by Brent Fulgham.

Source/WebCore:

Tests: http/tests/security/insecure-geolocation.html

http/tests/security/mixedcontent-geolocation-block-insecure-content.html
http/tests/security/mixedcontent-geolocation.html

  • Modules/geolocation/Geolocation.cpp:

(WebCore::Geolocation::logError):
(WebCore::Geolocation::startRequest):
Access to Geolocation will be blocked if site is not secure. An error will be logged when access to Geolocation is blocked.
(WebCore::Geolocation::shouldBlockGeolocationRequests)
Returns true if the access to the geolocation should be blocked.

  • Modules/geolocation/Geolocation.h:
  • dom/SecurityContext.h:

(WebCore::SecurityContext::foundMixedContent):
Returns true if insecure content was accessed over secure connection.
(WebCore::SecurityContext::setFoundMixedContent):
Sets m_foundMixedContent to true if insecure content is accessed over secure connection.
(WebCore::SecurityContext::geolocationAccessed):
Returns true if geolocation was accessed
(WebCore::SecurityContext::setGeolocationAccessed):
Sets m_geolocationAccessed to true if geolocation was accessed.

  • loader/MixedContentChecker.cpp:

(WebCore::MixedContentChecker::canDisplayInsecureContent):
Insecure content will be blocked if geolocation was accessed by the page. Updates document to keep track of mixed content.
(WebCore::MixedContentChecker::canRunInsecureContent):
Insecure content will be blocked if geolocation was accessed by the page. Updates document to keep track of mixed content.

LayoutTests:

  • http/tests/security/geolocation-over-insecure-content.html: Added.
  • http/tests/security/geolocation-over-mixed-content-block.html: Added.
  • http/tests/security/geolocation-over-mixed-content.html: Added.
  • http/tests/security/insecure-geolocation-expected.txt: Added.
  • http/tests/security/insecure-geolocation.html: Added.
  • http/tests/security/mixedcontent-geolocation-block-insecure-content-expected.txt: Added.
  • http/tests/security/mixedcontent-geolocation-block-insecure-content.html: Added.
  • http/tests/security/mixedcontent-geolocation-expected.txt: Added.
  • http/tests/security/mixedcontent-geolocation.html: Added.
2:11 AM MathML/Early_2016_Refactoring edited by fred.wang@free.fr
(diff)
2:05 AM MathML/Early_2016_Refactoring edited by fred.wang@free.fr
(diff)
1:20 AM Changeset in webkit [200685] by bshafiei@apple.com
  • 6 edits
    1 copy in branches/safari-602.1.32-branch

Merged r200659. rdar://problem/26125909

1:19 AM Changeset in webkit [200684] by bshafiei@apple.com
  • 2 edits in branches/safari-602.1.32-branch/Source/WebInspectorUI

Merged r200649. rdar://problem/26207064

1:18 AM Changeset in webkit [200683] by bshafiei@apple.com
  • 2 edits in branches/safari-602.1.32-branch/Source/WebInspectorUI

Merged r200644. rdar://problem/26204033

1:17 AM Changeset in webkit [200682] by bshafiei@apple.com
  • 2 edits in branches/safari-602.1.32-branch/Source/WebInspectorUI

Merged r200643. rdar://problem/26178404

1:16 AM Changeset in webkit [200681] by bshafiei@apple.com
  • 3 edits in branches/safari-602.1.32-branch/Source/WebInspectorUI

Merged r200608. rdar://problem/26177346

1:16 AM Changeset in webkit [200680] by bshafiei@apple.com
  • 3 edits in branches/safari-602.1.32-branch/Source/WebInspectorUI

Merged r200600. rdar://problem/26176524

1:15 AM Changeset in webkit [200679] by bshafiei@apple.com
  • 2 edits in branches/safari-602.1.32-branch/Source/WebInspectorUI

Merged r200594. rdar://problem/26178439

12:50 AM Changeset in webkit [200678] by youenn.fablet@crf.canon.fr
  • 5 edits in trunk

Ensure DOM iterators remain done
https://bugs.webkit.org/show_bug.cgi?id=157453

Reviewed by Darin Adler.

Source/WebCore:

Covered by updated test.

Making DOMWrapped::Iterator an Optional.
Setting it to Nullopt on the first time Iterator is returning null.

For set iterators, incrementing a counter which value is used in forEach callbacks and entries iterators.

  • bindings/js/JSDOMIterator.h:

(WebCore::JSDOMIterator<JSWrapper>::asJS):
(WebCore::appendForEachArguments):
(WebCore::iteratorForEach):
(WebCore::JSDOMIterator<JSWrapper>::next):

LayoutTests:

  • fast/dom/nodeListIterator-expected.txt:
  • fast/text/font-face-set-javascript-expected.txt:
12:14 AM Changeset in webkit [200677] by jdiggs@igalia.com
  • 20 edits
    1 copy
    2 moves in trunk

[GTK] accessibility/aria-readonly.html is failing
https://bugs.webkit.org/show_bug.cgi?id=98357

Reviewed by Chris Fleizach.

Source/WebCore:

Add support for ATK_STATE_READ_ONLY and expose the value of aria-readonly
as an AtkObject attribute. In order to eliminate duplicate checks, remove
isReadOnly() and just use canSetAttributeValue(), moving all the logic into
AccessibilityNodeObject. Add AccessibilityObject::supportsARIAReadOnly() so
that we can explicitly expose the implicit value for aria-readonly on roles
which support this property. Also add support for ATK_STATE_CHECKABLE, both
because this state was missing and because it serves a similar function to
ATK_STATE_EDITABLE for the purpose of verifying exposure of toggle-able
elements that are not read-only.

Test: accessibility/form-control-value-settable.html

  • accessibility/AccessibilityNodeObject.cpp:

(WebCore::AccessibilityNodeObject::canSetValueAttribute):
(WebCore::AccessibilityNodeObject::isRequired): Deleted.
(WebCore::AccessibilityNodeObject::supportsRequiredAttribute): Deleted.

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

(WebCore::AccessibilityObject::supportsARIAReadOnly):
(WebCore::AccessibilityObject::ariaReadOnlyValue):

  • accessibility/AccessibilityObject.h:

(WebCore::AccessibilityObject::isUnvisited): Deleted.

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::clickPoint):
(WebCore::AccessibilityRenderObject::isOffScreen): Deleted.
(WebCore::AccessibilityRenderObject::anchorElement): Deleted.
(WebCore::AccessibilityRenderObject::internalLinkElement): Deleted.
(WebCore::AccessibilityRenderObject::textChanged): Deleted.
(WebCore::AccessibilityRenderObject::clearChildren): Deleted.
(WebCore::AccessibilityRenderObject::addImageMapChildren): Deleted.

  • accessibility/AccessibilityRenderObject.h:
  • accessibility/atk/WebKitAccessibleInterfaceText.cpp:

(getAttributeSetForAccessibilityObject):

  • accessibility/atk/WebKitAccessibleWrapperAtk.cpp:

(webkitAccessibleGetAttributes):
(setAtkStateSetFromCoreObject):
(getInterfaceMaskFromObject):

  • inspector/InspectorDOMAgent.cpp:

(WebCore::InspectorDOMAgent::buildObjectForAccessibilityProperties):

Source/WebKit/win:

Call AccessibilityNode::canSetValueAttribute() to determine if STATE_SYSTEM_READONLY
should be added and if editable text should be supported.

  • AccessibleBase.cpp:

(AccessibleBase::state):

  • AccessibleTextImpl.cpp:

(AccessibleText::deleteText):
(AccessibleText::insertText):
(AccessibleText::cutText):
(AccessibleText::pasteText):
(AccessibleText::replaceText):

Tools:

Add checks to isAttributeSettable() for ATK_STATE_READ_ONLY and the 'readonly'
AtkObject attribute along with ATK_STATE_CHECKABLE for toggle-able elements,
ATK_STATE_SELECTABLE for select elements, and ATK_STATE_FOCUSABLE combined
with range verification for inputs which implement AtkValue. The latter two
additions are admittedly a heuristic workaround for platform accessibility
API differences. But they should be sufficient to facilitate cross-platform
testing of isAttributeSettable() for form elements which lack ARIA attributes.

Bump the minimum version of at-spi2-core and at-spi2-atk
to 2.15.4 (earliest version that supports STATE_READ_ONLY).

  • WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:

(WTR::AccessibilityUIElement::isAttributeSettable):

  • gtk/jhbuild.modules:

LayoutTests:

As part of this change, a new AtkObject attribute and state are being exposed.
Update two tests accordingly. Also unskip the previously-failing test. Lastly,
move the Mac form-control-value-settable.html test to the shared test set,
with a minor tweak to check the platform for several elements' expectations.

  • accessibility/form-control-value-settable.html: Moved to shared tests.
  • accessibility/gtk/xml-roles-exposed-expected.txt: Updated.
  • platform/gtk/TestExpectations: Unskipped previously-failing test.
  • platform/gtk/accessibility/form-control-value-settable-expected.txt: Added.
  • platform/gtk/accessibility/table-detection-expected.txt: Updated.
  • platform/mac/accessibility/form-control-value-settable-expected.txt: Moved.
Note: See TracTimeline for information about the timeline view.