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

Timeline



May 3, 2015:

10:16 PM Changeset in webkit [183736] by ap@apple.com
  • 2 edits in trunk/Source/WebKit2

Crash in SandboxExtension::consume when uploading iWork -tef documents to iCloud
https://bugs.webkit.org/show_bug.cgi?id=144509
rdar://problem/18731910

Reviewed by Daniel Bates.

No test, because testRunner.beginDragWithFiles doesn't work in WKTR, and making
it work is hard.

  • Shared/BlobDataFileReferenceWithSandboxExtension.cpp:

(WebKit::BlobDataFileReferenceWithSandboxExtension::prepareForFileAccess):
(WebKit::BlobDataFileReferenceWithSandboxExtension::revokeFileAccess):

6:20 PM Changeset in webkit [183735] by Gyuyoung Kim
  • 42 edits in trunk/Source/WebCore

Purge PassRefPtr in WebCore/html
https://bugs.webkit.org/show_bug.cgi?id=144543

Reviewed by Andreas Kling.

Change PassRefPtr in create() factory functions with Ref. In some functions,
it returns RefPtr when it might have a chance to return nullptr.

No new tests, no behavior changes.

  • Modules/encryptedmedia/MediaKeySession.cpp:

(WebCore::MediaKeySession::sendError):

  • html/DOMFormData.h:

(WebCore::DOMFormData::create):

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::mediaPlayerCreateResourceLoader):

  • html/HTMLMediaElement.h:
  • html/MediaError.h:

(WebCore::MediaError::create):

  • html/MediaKeyError.h:

(WebCore::MediaKeyError::create):

  • html/canvas/CanvasGradient.h:
  • html/canvas/CanvasProxy.cpp:

(WebCore::CanvasProxy::create):

  • html/canvas/CanvasProxy.h:
  • html/canvas/WebGLActiveInfo.h:

(WebCore::WebGLActiveInfo::create):

  • html/canvas/WebGLContextAttributes.h:
  • html/canvas/WebGLContextGroup.h:
  • html/canvas/WebGLProgram.h:
  • html/canvas/WebGLQuery.h:
  • html/canvas/WebGLRenderbuffer.h:
  • html/canvas/WebGLSampler.h:
  • html/canvas/WebGLShader.h:
  • html/canvas/WebGLShaderPrecisionFormat.h:
  • html/canvas/WebGLSync.h:
  • html/canvas/WebGLTexture.h:
  • html/canvas/WebGLTransformFeedback.h:
  • html/canvas/WebGLUniformLocation.h:
  • html/canvas/WebGLVertexArrayObjectOES.h:
  • html/shadow/ImageControlsRootElement.cpp:

(WebCore::ImageControlsRootElement::maybeCreate):

  • html/shadow/ImageControlsRootElement.h:
  • html/shadow/MediaControlElements.cpp:

(WebCore::MediaControlPanelElement::create):
(WebCore::MediaControlPanelEnclosureElement::create):
(WebCore::MediaControlOverlayEnclosureElement::create):
(WebCore::MediaControlTimelineContainerElement::create):
(WebCore::MediaControlVolumeSliderContainerElement::create):
(WebCore::MediaControlStatusDisplayElement::create):
(WebCore::MediaControlPanelMuteButtonElement::create):
(WebCore::MediaControlVolumeSliderMuteButtonElement::create):
(WebCore::MediaControlPlayButtonElement::create):
(WebCore::MediaControlOverlayPlayButtonElement::create):
(WebCore::MediaControlSeekForwardButtonElement::create):
(WebCore::MediaControlSeekBackButtonElement::create):
(WebCore::MediaControlRewindButtonElement::create):
(WebCore::MediaControlReturnToRealtimeButtonElement::create):
(WebCore::MediaControlToggleClosedCaptionsButtonElement::create):
(WebCore::MediaControlClosedCaptionsContainerElement::create):
(WebCore::MediaControlClosedCaptionsTrackListElement::create):
(WebCore::MediaControlTimelineElement::create):
(WebCore::MediaControlPanelVolumeSliderElement::create):
(WebCore::MediaControlFullscreenVolumeSliderElement::create):
(WebCore::MediaControlFullscreenButtonElement::create):
(WebCore::MediaControlFullscreenVolumeMinButtonElement::create):
(WebCore::MediaControlFullscreenVolumeMaxButtonElement::create):
(WebCore::MediaControlTimeRemainingDisplayElement::create):
(WebCore::MediaControlCurrentTimeDisplayElement::create):

  • html/shadow/MediaControlElements.h:
  • html/shadow/MediaControlsApple.h:

(WebCore::MediaControlsAppleEventListener::create):

  • html/shadow/MeterShadowElement.h:

(WebCore::MeterInnerElement::create):
(WebCore::MeterBarElement::create):
(WebCore::MeterValueElement::create):

  • html/shadow/ProgressShadowElement.h:

(WebCore::ProgressInnerElement::create):
(WebCore::ProgressBarElement::create):
(WebCore::ProgressValueElement::create):

  • html/shadow/mac/ImageControlsRootElementMac.cpp:

(WebCore::ImageControlsRootElement::maybeCreate):

  • html/track/TextTrackCueList.h:

(WebCore::TextTrackCueList::create):

  • html/track/VTTCue.cpp:

(WebCore::VTTCue::create):

  • html/track/VTTCue.h:

(WebCore::VTTCue::create):

  • html/track/VTTRegion.h:
  • html/track/VideoTrack.h:
  • html/track/VideoTrackList.h:
  • html/track/WebVTTElement.cpp:

(WebCore::WebVTTElement::create):

  • html/track/WebVTTElement.h:
  • html/track/WebVTTParser.h:
  • platform/graphics/MediaPlayer.h:

(WebCore::MediaPlayerClient::mediaPlayerCreateResourceLoader):

4:58 PM Changeset in webkit [183734] by Simon Fraser
  • 5 edits in trunk/Source

Make some static data const
https://bugs.webkit.org/show_bug.cgi?id=144552

Reviewed by Andreas Kling.
Source/JavaScriptCore:

Turn characterSetInfo into const data.

  • yarr/YarrCanonicalizeUCS2.cpp:
  • yarr/YarrCanonicalizeUCS2.h:

Source/WebCore:

Turn baseTable and shiftTable into const data.

  • platform/graphics/FormatConverter.cpp:
3:55 PM Changeset in webkit [183733] by timothy@apple.com
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Exception under ContentViewContainer _disassociateFromContentView
https://bugs.webkit.org/show_bug.cgi?id=144546

Reviewed by Brian Burg.

  • UserInterface/Views/ContentViewContainer.js:

(WebInspector.ContentViewContainer.prototype.showContentView):
Make sure to pass the ContentView to _disassociateFromContentView. Also negate the result
of the _backForwardList.some(), since we don't want to dissociate if the content view is
still in the back-forward list.

9:10 AM Changeset in webkit [183732] by Simon Fraser
  • 5 edits
    3 adds in trunk

Assertion failure (!needsLayout()) loading inkedmag.com
https://bugs.webkit.org/show_bug.cgi?id=144528
rdar://problem/20788681

Reviewed by Darin Adler.

Source/WebCore:

When animated GIFs get into catch-up mode, which is common on inkedmag.com,
BitmapImage::advanceAnimation() can synchronously call it's observer's
animationAdvanced(). This could cause RenderImage::repaintOrMarkForLayout()
to repaint or mark itself as needing layout in the middle of painting.
If painting multiple tiles, this could occur when painting the first tile,
and then painting the second tile would assert in RenderView::paint().

It's always wrong to synchronously call the observer when advancing
the animation, since this happens when painting, and you can't repaint
when painting. The long comment and call to startAnimation(DoNotCatchUp)
was required to explain and work around this, but it's simpler to just
advance the animation on a zero-delay timer.

Special handling is required for the case where internalAdvanceAnimation()
is catching up, and reaches the end of a non-repeating image; there, we
have to set a flag and do the notify on a zero-delay timer.

Lots of comment cleanup.

Test: fast/images/set-needs-layout-in-painting.html

  • platform/graphics/BitmapImage.cpp:

(WebCore::BitmapImage::BitmapImage):
(WebCore::BitmapImage::startTimer): Utility to create and start the timer.
(WebCore::BitmapImage::repetitionCount):
(WebCore::BitmapImage::startAnimation): Early return in the DoNotCatchUp clause.
If skipping, and internalAdvanceAnimation() returns false (meaning it must have
reached the end), then queue up a notify. Change the normal behavior to just
start the timer.
(WebCore::BitmapImage::stopAnimation):
(WebCore::BitmapImage::internalAdvanceAnimation): Notify if the flag is set.

  • platform/graphics/BitmapImage.h:
  • rendering/RenderReplaced.cpp:

(WebCore::RenderReplaced::paint): Add a SetLayoutNeededForbiddenScope to
detect setNeedsLayouts when painting replaced elements, including images.

LayoutTests:

Test that sleeps for a while to force an image into catchup mode.

  • fast/images/resources/spinner.gif: Added.
  • fast/images/set-needs-layout-in-painting-expected.txt: Added.
  • fast/images/set-needs-layout-in-painting.html: Added.
8:20 AM Changeset in webkit [183731] by Carlos Garcia Campos
  • 14 edits
    2 moves
    5 adds in trunk/Source

[GTK][EFL] Unify platform display handling
https://bugs.webkit.org/show_bug.cgi?id=144517

Reviewed by Martin Robinson.

Source/WebCore:

There are several places were we are handling the X display
connection:

  • GLContext::sharedX11Display() creates a new connection.
  • X11Helper::nativeDisplay() creates a new connection.
  • BackingStoreBackendCairoX11 uses the GTK+ shared connection.
  • NetscapePlugin::x11HostDisplay() uses the GTK+/ecore shared connection
  • The rest of the GTK+ code uses the shared GTK+ connection

And then we also have WaylandDisplay and the code to check if the
current display is wayland or X11.
We could unify all these to share the same connection to reduce
the amount of ifdefs and ensure a single connection. That will
also allow us to use "smart pointers" for the X resources that
need a Display* to be freed.

  • PlatformEfl.cmake: Add new files to compilation.
  • PlatformGTK.cmake: Move some files to WebCore_SOURCES sinc ethey

don't use GTK+ anymore, and add new files to compilation.

  • platform/graphics/GLContext.cpp:

(WebCore::GLContext::cleanupActiveContextsAtExit): Remove the
custom X11 connection.
(WebCore::GLContext::createContextForWindow): Check if the shared
display is Wayland to create a EGL context in such case.

  • platform/graphics/PlatformDisplay.cpp: Added.

(WebCore::PlatformDisplay::createPlatformDisplay): Creates the
shared display, using the GTK+/ecore shared connection.
(WebCore::PlatformDisplay::sharedDisplay): Return the shared display.

  • platform/graphics/PlatformDisplay.h: Added.
  • platform/graphics/egl/GLContextEGL.cpp:

(WebCore::sharedEGLDisplay): Use PlatformDisplay::sharedDisplay()
to get the native display.
(WebCore::GLContextEGL::createPixmapContext): Ditto.

  • platform/graphics/glx/GLContextGLX.cpp:

(WebCore::GLContextGLX::createWindowContext): Ditto.
(WebCore::GLContextGLX::createPbufferContext): Ditto.
(WebCore::GLContextGLX::createPixmapContext): Ditto.
(WebCore::GLContextGLX::createContext): Ditto.
(WebCore::GLContextGLX::~GLContextGLX): Ditto.
(WebCore::GLContextGLX::defaultFrameBufferSize): Ditto.
(WebCore::GLContextGLX::makeContextCurrent): Ditto.
(WebCore::GLContextGLX::swapBuffers): Ditto.
(WebCore::GLContextGLX::cairoDevice): Ditto.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:

(WebCore::MediaPlayerPrivateGStreamerBase::ensureGstGLContext): Ditto.

  • platform/graphics/surfaces/glx/X11Helper.cpp:

(WebCore::X11Helper::nativeDisplay): Ditto.

  • platform/graphics/wayland/PlatformDisplayWayland.cpp: Renamed from Source/WebCore/platform/graphics/wayland/WaylandDisplay.cpp.

(WebCore::PlatformDisplayWayland::globalCallback):
(WebCore::PlatformDisplayWayland::globalRemoveCallback):
(WebCore::PlatformDisplayWayland::create): Renamed instance() as
create() since the single instance is now handled by PlatformDisplay.
(WebCore::PlatformDisplayWayland::PlatformDisplayWayland):
(WebCore::PlatformDisplayWayland::createSurface):
(WebCore::PlatformDisplayWayland::createSharingGLContext):

  • platform/graphics/wayland/PlatformDisplayWayland.h: Renamed from Source/WebCore/platform/graphics/wayland/WaylandDisplay.h.
  • platform/graphics/x11/PlatformDisplayX11.cpp: Added.

(WebCore::PlatformDisplayX11::PlatformDisplayX11):
(WebCore::PlatformDisplayX11::~PlatformDisplayX11):

  • platform/graphics/x11/PlatformDisplayX11.h: Added.
  • platform/gtk/GtkUtilities.cpp:

(WebCore::getDisplaySystemType): Deleted.

  • platform/gtk/GtkUtilities.h:

Source/WebKit2:

  • UIProcess/API/gtk/WebKitWebViewBase.cpp:

(webkitWebViewBaseRealize): Use PlatformDisplay::sharedDisplay()
to checkt the display type.
(webkitWebViewBaseCreateWebPage): Ditto.

  • UIProcess/cairo/BackingStoreCairo.cpp:

(WebKit::BackingStore::createBackend): Pass the native X11 shared
display to BackingStoreBackendCairoX11.

  • WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:

(WebKit::NetscapePlugin::x11HostDisplay): Return the native X11
shared display.

3:14 AM Changeset in webkit [183730] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebKit2

Unreviewed. Fix Debug build with NETWORK_CACHE enabled and CACHE_PARTITIONING disabled.

  • NetworkProcess/cache/NetworkCache.cpp:

(WebKit::NetworkCache::Cache::store):

2:54 AM Changeset in webkit [183729] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebCore

[GTK] API tests crashing on debug builds due to extra unref
https://bugs.webkit.org/show_bug.cgi?id=144508

Reviewed by Mario Sanchez Prada.

The problem is that we were assuming that when a new DOMWindow is
created, the DOM object cache was notified about the previous
DOMWindow being destroyed before objects for the new DOMWindow are
added to the cache. However, that's not always the case and we
only create a DOMWindowObserver for the first DOMWindow. We need
to keep a pointer to the DOMWindow being observed to clear() the
cache and create a new DOMWindowObserver when it changes in the
Frame.

Fixes crashes in several unit tests in debug builds.

  • bindings/gobject/DOMObjectCache.cpp:
12:48 AM Changeset in webkit [183728] by ap@apple.com
  • 2 edits in trunk/LayoutTests

Skip fast/frames/flattening/crash-remove-iframe-during-object-beforeload.html
https://bugs.webkit.org/show_bug.cgi?id=144540

12:13 AM Changeset in webkit [183727] by ap@apple.com
  • 2 edits in trunk/Source/WebCore

Remove timer alignment logging that I added earler today.

  • page/Settings.cpp: (WebCore::Settings::setDOMTimerAlignmentInterval):

May 2, 2015:

7:20 PM Changeset in webkit [183726] by commit-queue@webkit.org
  • 36 edits in trunk/Source/WebCore

Purge PassRefPtr create() factory functions in html
https://bugs.webkit.org/show_bug.cgi?id=144522

Patch by Gyuyoung Kim <gyuyoung.kim@samsung.com> on 2015-05-02
Reviewed by Darin Adler.

Return Ref instead of PassRefPtr in create() factory functions in html, because the factory
can't return null. This patch is a first step to purge in html. Following patch is going to
be uploaded.

No new tests, no behavior changes.

  • html/FileInputType.cpp:

(WebCore::UploadButtonElement::create):
(WebCore::UploadButtonElement::createForMultiple):

  • html/MediaController.cpp:

(MediaController::create):

  • html/MediaController.h:
  • html/canvas/WebGLBuffer.cpp:

(WebCore::WebGLBuffer::create):

  • html/canvas/WebGLBuffer.h:
  • html/canvas/WebGLContextAttributes.cpp:

(WebCore::WebGLContextAttributes::create):

  • html/canvas/WebGLContextAttributes.h:
  • html/canvas/WebGLContextGroup.cpp:

(WebCore::WebGLContextGroup::create):

  • html/canvas/WebGLContextGroup.h:
  • html/canvas/WebGLFramebuffer.cpp:

(WebCore::WebGLFramebuffer::create):

  • html/canvas/WebGLFramebuffer.h:
  • html/canvas/WebGLProgram.cpp:

(WebCore::WebGLProgram::create):

  • html/canvas/WebGLProgram.h:
  • html/canvas/WebGLQuery.cpp:

(WebCore::WebGLQuery::create):

  • html/canvas/WebGLQuery.h:
  • html/canvas/WebGLRenderbuffer.cpp:

(WebCore::WebGLRenderbuffer::create):

  • html/canvas/WebGLRenderbuffer.h:
  • html/canvas/WebGLSampler.cpp:

(WebCore::WebGLSampler::create):

  • html/canvas/WebGLSampler.h:
  • html/canvas/WebGLShader.cpp:

(WebCore::WebGLShader::create):

  • html/canvas/WebGLShader.h:
  • html/canvas/WebGLShaderPrecisionFormat.cpp:

(WebCore::WebGLShaderPrecisionFormat::create):

  • html/canvas/WebGLShaderPrecisionFormat.h:
  • html/canvas/WebGLSync.cpp:

(WebCore::WebGLSync::create):

  • html/canvas/WebGLSync.h:
  • html/canvas/WebGLTexture.cpp:

(WebCore::WebGLTexture::create):

  • html/canvas/WebGLTexture.h:
  • html/canvas/WebGLTransformFeedback.cpp:

(WebCore::WebGLTransformFeedback::create):

  • html/canvas/WebGLTransformFeedback.h:
  • html/canvas/WebGLUniformLocation.cpp:

(WebCore::WebGLUniformLocation::create):

  • html/canvas/WebGLUniformLocation.h:
  • html/canvas/WebGLVertexArrayObject.cpp:

(WebCore::WebGLVertexArrayObject::create):

  • html/canvas/WebGLVertexArrayObject.h:
  • html/canvas/WebGLVertexArrayObjectOES.cpp:

(WebCore::WebGLVertexArrayObjectOES::create):

  • html/canvas/WebGLVertexArrayObjectOES.h:
5:53 PM Changeset in webkit [183725] by akling@apple.com
  • 2 edits in trunk/Source/WebCore

Style recalc always causes detach from shared StyleRareNonInheritedData.
<https://webkit.org/b/144530>

Reviewed by Darin Adler.

StyleResolver::adjustStyleForMaskImages() was always calling RenderStyle::ensureMaskLayers()
when we were in style recalc. This caused the RenderStyle to COW off from the previously
shared StyleRareNonInheritedData even if nothing actually changes.

This patch adds an early return to adjustStyleForMaskImages() when the previous style had
no mask images. Further refinements could be made, but this covers the most common case where
we don't have any mask images at all.

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::adjustStyleForMaskImages):

5:15 PM Changeset in webkit [183724] by fpizlo@apple.com
  • 22 edits
    2 adds in trunk/Source/JavaScriptCore

TypeOf should be fast
https://bugs.webkit.org/show_bug.cgi?id=144396

Reviewed by Geoffrey Garen.

Adds comprehensive support for fast typeof to the optimizing JITs. Calls into the runtime
are only used for very exotic objects - they must have either the MasqueradesAsUndefined or
TypeOfShouldCallGetCallData type flags set. All other cases are handled inline.

This means optimizing IsObjectOrNull, IsFunction, and TypeOf - all node types that used to
rely heavily on C++ calls to fulfill their function.

Because TypeOf is now so fast, we no longer need to do any speculations on this node.

In the FTL, we take this further by querying AI for each branch in the TypeOf decision tree.
This means that if the TypeOf is dominated by any type checks, we will automatically prune
out cases that are redundant.

This patch anticipates the addition of SwitchTypeOf or something like that. So, the TypeOf
code generation is designed to be reusable.

This is a speed-up on most typeof benchmarks. But, it is a slow-down on benchmarks that take
the exotic call trap hook. That hook is now in a deeper slow path than before.

(JSC::DFG::clobberize): TypeOf was pure all along, but we failed to realize this.

  • dfg/DFGFixupPhase.cpp:

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

  • dfg/DFGHeapLocation.cpp:

(WTF::printInternal):

  • dfg/DFGHeapLocation.h:
  • dfg/DFGOperations.cpp:
  • dfg/DFGOperations.h:
  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileIsObjectOrNull):
(JSC::DFG::SpeculativeJIT::compileIsFunction):
(JSC::DFG::SpeculativeJIT::compileTypeOf):

  • dfg/DFGSpeculativeJIT.h:

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

  • dfg/DFGSpeculativeJIT32_64.cpp:

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

  • dfg/DFGSpeculativeJIT64.cpp:

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

  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):

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

(JSC::FTL::LowerDFGToLLVM::compileNode):
(JSC::FTL::LowerDFGToLLVM::compileIsObjectOrNull):
(JSC::FTL::LowerDFGToLLVM::compileIsFunction):
(JSC::FTL::LowerDFGToLLVM::compileTypeOf):
(JSC::FTL::LowerDFGToLLVM::buildTypeOf): Reusable TypeOf building for the FTL.
(JSC::FTL::LowerDFGToLLVM::isExoticForTypeof):

  • ftl/FTLSwitchCase.h:

(JSC::FTL::SwitchCase::SwitchCase):

  • jit/AssemblyHelpers.h:

(JSC::AssemblyHelpers::branchIfNotEqual):
(JSC::AssemblyHelpers::branchIfEqual):
(JSC::AssemblyHelpers::branchIfNumber):
(JSC::AssemblyHelpers::branchIfNotNumber):
(JSC::AssemblyHelpers::branchIfBoolean):
(JSC::AssemblyHelpers::branchIfNotBoolean):
(JSC::AssemblyHelpers::boxBooleanPayload):
(JSC::AssemblyHelpers::boxBoolean):
(JSC::AssemblyHelpers::emitTypeOf): Reusable TypeOf building for assembly JITs.

  • jit/JITOperations.h:
  • runtime/SmallStrings.h:

(JSC::SmallStrings::typeString):

  • runtime/TypeofType.cpp: Added.

(WTF::printInternal):

  • runtime/TypeofType.h: Added.
  • tests/stress/type-of-functions-and-objects.js: Modified this test to give more comprehensive feedback.
4:06 PM Changeset in webkit [183723] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WTF

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

Made all the tests assert (Requested by ap on #webkit).

Reverted changeset:

"Generated static StringImpls should have static flag set."
https://bugs.webkit.org/show_bug.cgi?id=144516
http://trac.webkit.org/changeset/183722

1:55 PM Changeset in webkit [183722] by akling@apple.com
  • 2 edits in trunk/Source/WTF

Generated static StringImpls should have static flag set.
<https://webkit.org/b/144516>

Reviewed by Darin Adler.

Discovered this while tracking down a string ref leak. Turns out that the strings
generated by StaticString.pm were not getting the static flag set on them.

The only practical difference from this AFAICT is that now the garbage collector
will correctly see that these strings have no extra memory cost to worry about.

  • wtf/text/StringImpl.h:
12:55 PM WebKitGTK/2.8.x edited by Michael Catanzaro
Propose r183692 (diff)
12:26 PM Changeset in webkit [183721] by commit-queue@webkit.org
  • 15 edits
    2 deletes in trunk/Source/WebInspectorUI

Web Inspector: Relocate the selected range details in the Rendering Frames timeline UI
https://bugs.webkit.org/show_bug.cgi?id=144346

This patch removes the details sidebar used by the rendering frames view, and relocates the frame selection
chart the Timelines navigation sidebar.

Patch by Matt Baker <Matt Baker> on 2015-05-02
Reviewed by Timothy Hatcher.

  • Localizations/en.lproj/localizedStrings.js:
  • UserInterface/Base/Main.js:

(WebInspector.contentLoaded):
RenderingFramesDetailsSidebar is no longer used.

  • UserInterface/Controllers/TimelineManager.js:

(WebInspector.TimelineManager.prototype._loadNewRecording):
Reordered timelines.

  • UserInterface/Main.html:

Removed references to deleted files.

  • UserInterface/Views/ChartDetailsSectionLegendRow.js: Removed.

No longer used. The legend is now a child element of the chart.

  • UserInterface/Views/ChartDetailsSectionRow.css:

(.details-section > .content > .group > .row.chart > .title):
(.details-section > .content > .group > .row.chart > .chart-content):
(.details-section > .content > .group > .row.chart > .chart-content > .legend):
(.details-section > .content > .group > .row.chart > .chart-content > .legend > .legend-item):
(.details-section > .content > .group > .row.chart > .chart-content > .legend > .legend-item > .label > .color-swatch):
(.details-section > .content > .group > .row.chart > .chart-content > .legend > .legend-item > .label):
(.details-section > .content > .group > .row.chart > .chart-content > .legend > .legend-item > .value):
(.details-section > .content > .group > .row.chart > .chart-content > .legend > .legend-item > *):
New chart and legend styles.

  • UserInterface/Views/ChartDetailsSectionRow.js:

(WebInspector.ChartDetailsSectionRow):
(WebInspector.ChartDetailsSectionRow.prototype.set title):
(WebInspector.ChartDetailsSectionRow.prototype.set innerLabel):
(WebInspector.ChartDetailsSectionRow.prototype.set innerRadius):
(WebInspector.ChartDetailsSectionRow.prototype.get total):
(WebInspector.ChartDetailsSectionRow.set data):
(WebInspector.ChartDetailsSectionRow.prototype.set data):
(WebInspector.ChartDetailsSectionRow.prototype._createLegendItem):
(WebInspector.ChartDetailsSectionRow.prototype._refresh):

A few changes have been made to the appearance and behavior of the chart. A chart title can now be set,
and the legend appears to the right of the chart rather than in a separate details group.

The chart now has better support for adding empty data points, ensuring that a meaningful legend is shown even
when no rendering frames are selected in the timeline overview graph. This ensures that the task associated
with each colored frame segment is apparent, without having to make a selection or record a timeline.

  • UserInterface/Views/RenderingFrameDetailsSidebarPanel.js: Removed.

No longer used.

  • UserInterface/Views/RenderingFrameTimelineOverviewGraph.js:

Reduced maximum timeline height to increase the height of short frames.

  • UserInterface/Views/RenderingFrameTimelineView.js:

(WebInspector.RenderingFrameTimelineView.prototype.shown):
(WebInspector.RenderingFrameTimelineView.prototype.hidden):
RenderingFramesDetailsSidebar is no longer used.

  • UserInterface/Views/TimelineRecordingContentView.js:

(WebInspector.TimelineRecordingContentView):
(WebInspector.TimelineRecordingContentView.prototype._updateTimes):
(WebInspector.TimelineRecordingContentView.prototype._updateTimelineOverviewHeight):
(WebInspector.TimelineRecordingContentView.prototype._timelineRemoved):
(WebInspector.TimelineRecordingContentView.prototype._timeRangeSelectionChanged):
(WebInspector.TimelineRecordingContentView.prototype._updateFrameSelection):
Improved logic for updating the frame selection.

  • UserInterface/Views/TimelineSidebarPanel.css:

(.sidebar > .panel.navigation.timeline > .timelines-content > .details-section > div.header):
(.sidebar > .panel.navigation.timeline > .timelines-content > .details-section > .content > .group > .row.chart):
(.sidebar > .panel.navigation.timeline > .timelines-content > .details-section > .content > .group > .row.chart > .chart-content > .chart):
(.sidebar > .panel.navigation.timeline.timeline-recording-content-view-showing > .content): Deleted.
New chart styles.

  • UserInterface/Views/TimelineSidebarPanel.js:

(WebInspector.TimelineSidebarPanel):
(WebInspector.TimelineSidebarPanel.prototype.shown):
(WebInspector.TimelineSidebarPanel._timelineAdded.set this):
(WebInspector.TimelineSidebarPanel.this._timelineTreeElementMap.get select):
(WebInspector.TimelineSidebarPanel.get else):
(WebInspector.TimelineSidebarPanel._refreshFrameSelectionChart.getSelectedRecords.get var):
(WebInspector.TimelineSidebarPanel._refreshFrameSelectionChart.getSelectedRecords):
(WebInspector.TimelineSidebarPanel.showTimelineViewForTimeline.this._timelineTreeElementMap.get select):
(WebInspector.TimelineSidebarPanel.prototype.treeElementForRepresentedObject.get if.get if):
(WebInspector.TimelineSidebarPanel.prototype.treeElementForRepresentedObject.get if):
(WebInspector.TimelineSidebarPanel._refreshFrameSelectionChart.durationForRecordType):
(WebInspector.TimelineSidebarPanel.prototype.treeElementForRepresentedObject):
(WebInspector.TimelineSidebarPanel.set contentTreeOutlineLabel): Deleted.
(WebInspector.TimelineSidebarPanel._recordingCreated.set this): Deleted.
(WebInspector.TimelineSidebarPanel.get this): Deleted.
Moved the selected frames chart to the navigation sidebar.

  • UserInterface/Views/TimelineTabContentView.js:

(WebInspector.TimelineTabContentView):
RenderingFramesDetailsSidebar is no longer used.

  • WebInspectorUI.vcxproj/WebInspectorUI.vcxproj:
  • WebInspectorUI.vcxproj/WebInspectorUI.vcxproj.filters:

Removed references to deleted files.

12:19 PM Changeset in webkit [183720] by ap@apple.com
  • 2 edits in trunk/Source/WebCore

fast/frames/flattening/iframe-flattening-resize-event-count.html times out on Yosemite WK2
https://bugs.webkit.org/show_bug.cgi?id=144155

Unreviewed, will roll out soon.

Added some temporary logging to better see if alignment is indeed the culprit.

  • page/Settings.cpp: (WebCore::Settings::setDOMTimerAlignmentInterval):
11:36 AM Changeset in webkit [183719] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed, add a FIXME referencing https://bugs.webkit.org/show_bug.cgi?id=144527.

  • dfg/DFGLICMPhase.cpp:

(JSC::DFG::LICMPhase::attemptHoist):

10:33 AM Changeset in webkit [183718] by fpizlo@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Unreviewed, add FIXMEs referencing https://bugs.webkit.org/show_bug.cgi?id=144524 and
https://bugs.webkit.org/show_bug.cgi?id=144525.

  • dfg/DFGLICMPhase.cpp:

(JSC::DFG::LICMPhase::attemptHoist):

  • dfg/DFGPhantomInsertionPhase.cpp:
8:41 AM Changeset in webkit [183717] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebCore

Use Ref instead of PassRefPtr in WebCore/svg
https://bugs.webkit.org/show_bug.cgi?id=144479

Patch by Gyuyoung Kim <gyuyoung.kim@samsung.com> on 2015-05-02
Reviewed by Darin Adler.

Remove remained PassRefPtr in svg.

No new tests, no behavior changes.

  • svg/SVGFontFaceSrcElement.cpp:

(WebCore::SVGFontFaceSrcElement::srcValue):

  • svg/SVGFontFaceSrcElement.h:
  • svg/properties/SVGPropertyInfo.h:
8:32 AM Changeset in webkit [183716] by Simon Fraser
  • 4 edits in trunk/Source/WebCore

Small cleanup in BitmapImage
https://bugs.webkit.org/show_bug.cgi?id=144515

Reviewed by Darin Adler.

Use an enum for the internalAdvanceAnimation() argument, with a default.

Wrap the clearing of the timer in a clearTimer() function, called from
stopAnimation(). This fixes the jarring reading of BitmapImage::internalAdvanceAnimation(),
which used to start by calling stopAnimation().

  • platform/graphics/BitmapImage.cpp:

(WebCore::BitmapImage::clearTimer):
(WebCore::BitmapImage::startAnimation):
(WebCore::BitmapImage::stopAnimation):
(WebCore::BitmapImage::advanceAnimation):
(WebCore::BitmapImage::internalAdvanceAnimation):

  • platform/graphics/BitmapImage.h:
  • platform/graphics/Image.h:
8:28 AM Changeset in webkit [183715] by Yusuke Suzuki
  • 2 edits in trunk/Source/JavaScriptCore

Static property hashtable should only lookup with non-symbol key
https://bugs.webkit.org/show_bug.cgi?id=144438

Reviewed by Darin Adler.

Static property hashtable compares the Identifier's uid
with the normal C string without interning it.
So this comparison is performed in their contents.
As the result, in this comparison, symbol-ness is not considered.

So if accidentally the hash collision occur with the symbol and the string
and they have the same contents, the hash table entry is looked up incorrectly.

  • runtime/Lookup.h:

(JSC::HashTable::entry):

2:41 AM Changeset in webkit [183714] by timothy@apple.com
  • 5 edits in trunk/Source/WebInspectorUI

Web Inspector: Allow closing and reopening the Resources tab
https://bugs.webkit.org/show_bug.cgi?id=144513

Reviewed by Joseph Pecoraro.

  • UserInterface/Base/Main.js:

(WebInspector._updateNewTabButtonState):

  • UserInterface/Views/NewTabContentView.js:

(WebInspector.NewTabContentView):

  • UserInterface/Views/ResourceSidebarPanel.js:

(WebInspector.ResourceSidebarPanel):
(WebInspector.ResourceSidebarPanel.prototype.closed):

  • UserInterface/Views/ResourcesTabContentView.js:

(WebInspector.ResourcesTabContentView):

2:36 AM Changeset in webkit [183713] by timothy@apple.com
  • 6 edits in trunk/Source/WebInspectorUI

Web Inspector: REGRESSION: Resources section doesn't update after changes are made to a local file
https://bugs.webkit.org/show_bug.cgi?id=144512

The content view was being associated with the wrong represented object. This caused the code to use
the old main resource when showing the frame again.

Reviewed by Joseph Pecoraro.

  • UserInterface/Base/Main.js:

(WebInspector._frameWasAdded.delayedWork):
(WebInspector._frameWasAdded):
With the changes in ResourceSidebarPanel, we need to delay showing the frame.

  • UserInterface/Views/ContentBrowserTabContentView.js:

(WebInspector.ContentBrowserTabContentView.prototype.showRepresentedObject):
Avoid restoring state by calling cancelRestoringState(). Not fully related to this bug,
but it was preventing testing the cases.

  • UserInterface/Views/ContentViewContainer.js:

(WebInspector.ContentViewContainer.prototype.contentViewForRepresentedObject):
This fixes the bug. Don't associate the content view with the Frame, associate it with
the Resource that we actually show.

  • UserInterface/Views/NavigationSidebarPanel.js:

(WebInspector.NavigationSidebarPanel.prototype.cancelRestoringState): Added.

  • UserInterface/Views/ResourceSidebarPanel.js:

(WebInspector.ResourceSidebarPanel): Remove unused _waitingForInitialMainFrame.
(WebInspector.ResourceSidebarPanel.prototype.treeElementForRepresentedObject):
(WebInspector.ResourceSidebarPanel.prototype._mainResourceDidChange):
(WebInspector.ResourceSidebarPanel.prototype._mainFrameDidChange):
(WebInspector.ResourceSidebarPanel.prototype._mainFrameMainResourceDidChange.delayedWork):
(WebInspector.ResourceSidebarPanel.prototype._mainFrameMainResourceDidChange):
Clean up how we show the main frame in the sidebar. This was a two step mess before.

May 1, 2015:

11:09 PM Changeset in webkit [183712] by bshafiei@apple.com
  • 1 copy in tags/Safari-600.7.5

New tag.

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

Merged r183524. rdar://problem/20779683

7:32 PM Changeset in webkit [183710] by Simon Fraser
  • 10 edits
    3 adds in trunk

Avoid compositing updates after style recalcs which have no compositing implications
https://bugs.webkit.org/show_bug.cgi?id=144502

Reviewed by Darin Adler.

Source/WebCore:

After r183461, we have reliable information about whether a style change with zero
diff can be reliably ignored. Use that information to track whether a given
recalcStyle() does anything which should force a compositing update.

This eliminates up to 40% of the post-recalcStyle compositing updates on some pages.

Add Internals API to test.

Test: compositing/updates/no-style-change-updates.html

  • dom/Document.cpp:

(WebCore::Document::recalcStyle): Tell the FrameView we're going to recalc style.

  • page/FrameView.cpp:

(WebCore::FrameView::willRecalcStyle): Pass it on to the compositor.
(WebCore::FrameView::updateCompositingLayersAfterStyleChange): Move the code
that was here into RenderLayerCompositor::didRecalcStyleWithNoPendingLayout().

  • page/FrameView.h:
  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::willRecalcStyle): Reset the m_layerNeedsCompositingUpdate flag.
(WebCore::RenderLayerCompositor::didRecalcStyleWithNoPendingLayout): Bail on the update if
no layers changed.
(WebCore::RenderLayerCompositor::updateCompositingLayers): Logging. Increment m_compositingUpdateCount,
which is used for testing.
(WebCore::RenderLayerCompositor::layerStyleChanged): Set the m_layerNeedsCompositingUpdate flag.
(WebCore::RenderLayerCompositor::startTrackingCompositingUpdates): Reset the counter.
(WebCore::RenderLayerCompositor::compositingUpdateCount):

  • rendering/RenderLayerCompositor.h:
  • testing/Internals.cpp:

(WebCore::Internals::startTrackingCompositingUpdates):
(WebCore::Internals::compositingUpdateCount):

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

LayoutTests:

Use internals.compositingUpdateCount() to see if various document mutations
cause a compositing update. Doesn't actually detect any behavior change
from this patch, but seems useful in general.

  • compositing/updates/no-style-change-updates-expected.txt: Added.
  • compositing/updates/no-style-change-updates.html: Added.
7:23 PM Changeset in webkit [183709] by rniwa@webkit.org
  • 10 edits
    3 adds in trunk

Class syntax should allow string and numeric identifiers for method names
https://bugs.webkit.org/show_bug.cgi?id=144254

Reviewed by Darin Adler.

Source/JavaScriptCore:

Added the support for string and numeric identifiers in class syntax.

  • parser/Parser.cpp:

(JSC::Parser<LexerType>::parseFunctionInfo): Instead of using ConstructorKind to indicate whether we're
inside a class or not, use the newly added SuperBinding argument instead. ConstructorKind is now None
outside a class constructor as it should be.
(JSC::Parser<LexerType>::parseFunctionDeclaration):
(JSC::Parser<LexerType>::parseClass): No longer expects an identifier at the beginning of every class
element to allow numeric and string method names. For both of those method names, parse it here instead
of parseFunctionInfo since it doesn't support either type. Also pass in SuperBinding::Needed.
(JSC::Parser<LexerType>::parsePropertyMethod): Call parseFunctionInfo with SuperBinding::NotNeeded since
this function is never used to parse a class method.
(JSC::Parser<LexerType>::parseGetterSetter): Pass in superBinding argument to parseFunctionInfo.
(JSC::Parser<LexerType>::parsePrimaryExpression): Call parseFunctionInfo with SuperBinding::NotNeeded.

  • parser/Parser.h:
  • parser/SyntaxChecker.h:

(JSC::SyntaxChecker::createProperty):

LayoutTests:

Added a test and rebaselined other tests per syntax error message change.

  • js/class-syntax-declaration-expected.txt:
  • js/class-syntax-expression-expected.txt:
  • js/class-syntax-string-and-numeric-names-expected.txt: Added.
  • js/class-syntax-string-and-numeric-names.html: Added.
  • js/class-syntax-super-expected.txt:
  • js/script-tests/class-syntax-declaration.js:
  • js/script-tests/class-syntax-expression.js:
  • js/script-tests/class-syntax-string-and-numeric-names.js: Added.
  • js/script-tests/class-syntax-super.js:
6:59 PM Changeset in webkit [183708] by fpizlo@apple.com
  • 4 edits in trunk/Source/JavaScriptCore

FTL should use AI more
https://bugs.webkit.org/show_bug.cgi?id=144500

Reviewed by Oliver Hunt.

This makes our type check folding even more comprehensive by ensuring that even if the FTL
decides to emit some checks, it will still do another query to the abstract interpreter to
see if the check is necessary. This helps with cases where we decided early on to speculate
one way, but later proved a more specific type of the value in question, and the constant
folder didn't catch it.

This also makes it more natural to query the abstract interpreter. For example, if you just
want the proven type, you can now say provenType(node) or provenType(edge).

  • dfg/DFGArrayMode.cpp:

(JSC::DFG::ArrayMode::alreadyChecked):

  • dfg/DFGArrayMode.h:
  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::compileBooleanToNumber):
(JSC::FTL::LowerDFGToLLVM::compileToThis):
(JSC::FTL::LowerDFGToLLVM::compileValueAdd):
(JSC::FTL::LowerDFGToLLVM::compileArithAddOrSub):
(JSC::FTL::LowerDFGToLLVM::compileArithPow):
(JSC::FTL::LowerDFGToLLVM::compileArithNegate):
(JSC::FTL::LowerDFGToLLVM::compileGetById):
(JSC::FTL::LowerDFGToLLVM::compileCheckArray):
(JSC::FTL::LowerDFGToLLVM::compilePutByVal):
(JSC::FTL::LowerDFGToLLVM::compileToStringOrCallStringConstructor):
(JSC::FTL::LowerDFGToLLVM::compileToPrimitive):
(JSC::FTL::LowerDFGToLLVM::compileStringCharAt):
(JSC::FTL::LowerDFGToLLVM::compileStringCharCodeAt):
(JSC::FTL::LowerDFGToLLVM::compileCompareStrictEq):
(JSC::FTL::LowerDFGToLLVM::compileSwitch):
(JSC::FTL::LowerDFGToLLVM::compileIsBoolean):
(JSC::FTL::LowerDFGToLLVM::compileIsNumber):
(JSC::FTL::LowerDFGToLLVM::compileIsString):
(JSC::FTL::LowerDFGToLLVM::compileIsObject):
(JSC::FTL::LowerDFGToLLVM::compileInstanceOf):
(JSC::FTL::LowerDFGToLLVM::numberOrNotCellToInt32):
(JSC::FTL::LowerDFGToLLVM::baseIndex):
(JSC::FTL::LowerDFGToLLVM::compareEqObjectOrOtherToObject):
(JSC::FTL::LowerDFGToLLVM::typedArrayLength):
(JSC::FTL::LowerDFGToLLVM::boolify):
(JSC::FTL::LowerDFGToLLVM::equalNullOrUndefined):
(JSC::FTL::LowerDFGToLLVM::lowInt32):
(JSC::FTL::LowerDFGToLLVM::lowInt52):
(JSC::FTL::LowerDFGToLLVM::lowCell):
(JSC::FTL::LowerDFGToLLVM::lowBoolean):
(JSC::FTL::LowerDFGToLLVM::lowDouble):
(JSC::FTL::LowerDFGToLLVM::isCellOrMisc):
(JSC::FTL::LowerDFGToLLVM::isNotCellOrMisc):
(JSC::FTL::LowerDFGToLLVM::isNumber):
(JSC::FTL::LowerDFGToLLVM::isNotNumber):
(JSC::FTL::LowerDFGToLLVM::isNotCell):
(JSC::FTL::LowerDFGToLLVM::isCell):
(JSC::FTL::LowerDFGToLLVM::isNotMisc):
(JSC::FTL::LowerDFGToLLVM::isMisc):
(JSC::FTL::LowerDFGToLLVM::isNotBoolean):
(JSC::FTL::LowerDFGToLLVM::isBoolean):
(JSC::FTL::LowerDFGToLLVM::isNotOther):
(JSC::FTL::LowerDFGToLLVM::isOther):
(JSC::FTL::LowerDFGToLLVM::isProvenValue):
(JSC::FTL::LowerDFGToLLVM::isObject):
(JSC::FTL::LowerDFGToLLVM::isNotObject):
(JSC::FTL::LowerDFGToLLVM::isNotString):
(JSC::FTL::LowerDFGToLLVM::isString):
(JSC::FTL::LowerDFGToLLVM::isFunction):
(JSC::FTL::LowerDFGToLLVM::isNotFunction):
(JSC::FTL::LowerDFGToLLVM::speculateObjectOrOther):
(JSC::FTL::LowerDFGToLLVM::speculateStringObjectForStructureID):
(JSC::FTL::LowerDFGToLLVM::speculateNotStringVar):
(JSC::FTL::LowerDFGToLLVM::abstractValue):
(JSC::FTL::LowerDFGToLLVM::provenType):
(JSC::FTL::LowerDFGToLLVM::provenValue):
(JSC::FTL::LowerDFGToLLVM::abstractStructure):

6:44 PM Changeset in webkit [183707] by Brent Fulgham
  • 1 edit
    9 adds in trunk/LayoutTests

Create a set of initial scroll snap point tests
https://bugs.webkit.org/show_bug.cgi?id=142358

Reviewed by Simon Fraser.

  • platform/mac-wk2/tiled-drawing/scrolling/scroll-snap: Added.
  • platform/mac-wk2/tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-mainframe-horizontal-expected.txt: Added.
  • platform/mac-wk2/tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-mainframe-horizontal.html: Added.
  • platform/mac-wk2/tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-mainframe-slow-horizontal-expected.txt: Added.
  • platform/mac-wk2/tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-mainframe-slow-horizontal.html: Added.
  • platform/mac-wk2/tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-mainframe-slow-vertical-expected.txt: Added.
  • platform/mac-wk2/tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-mainframe-slow-vertical.html: Added.
  • platform/mac-wk2/tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-mainframe-vertical-expected.txt: Added.
  • platform/mac-wk2/tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-mainframe-vertical.html: Added.
6:29 PM Changeset in webkit [183706] by akling@apple.com
  • 3 edits
    2 adds in trunk

Reproducible crash removing name attribute from <img> node
<https://webkit.org/b/144371>
<rdar://problem/17198583>

Reviewed by Darin Adler.

Source/WebCore:

The problem here was with HTMLImageElement::getNameAttribute(), which relies
on Element::hasName() to avoid slow attribute lookups when the attribute
is already known not to be present. Unfortunately hasName() uses an ElementData
flag that wasn't getting updated until after the call to parseAttribute().

This patch fixes the issue by moving the code that updates the hasName() flag
before the parseAttribute() virtual dispatch.

Test: fast/dom/HTMLImageElement/remove-name-id-attribute-from-image.html

  • dom/Element.cpp:

(WebCore::Element::attributeChanged):

LayoutTests:

  • fast/dom/HTMLImageElement/remove-name-id-attribute-from-image-expected.txt: Added.
  • fast/dom/HTMLImageElement/remove-name-id-attribute-from-image.html: Added.
6:11 PM Changeset in webkit [183705] by eric.carlson@apple.com
  • 5 edits
    2 adds in trunk

Postpone caption style sheet creation
https://bugs.webkit.org/show_bug.cgi?id=144499

Reviewed by Simon Fraser.
Source/WebCore:


Generating and inserting the caption user style sheet is expensive so don't do it until
we see a text track, and only do it for the first video element in a PageGroup.

Test: media/track/track-user-stylesheet.html

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::registerWithDocument): Only register for caption preferences
changes if we have done so before.
(WebCore::HTMLMediaElement::unregisterWithDocument): Only unregister for caption preferences
changes if we registered for them.
(WebCore::HTMLMediaElement::addTextTrack): Register for caption preference changes.

  • html/HTMLMediaElement.h:
  • page/CaptionUserPreferencesMediaAF.cpp:

(WebCore::CaptionUserPreferencesMediaAF::setInterestedInCaptionPreferenceChanges): Only
generate the style sheet when called for the first time.

LayoutTests:

  • media/track/track-user-stylesheet-expected.txt: Added.
  • media/track/track-user-stylesheet.html: Added.
5:55 PM Changeset in webkit [183704] by dino@apple.com
  • 2 edits in trunk/Source/WebCore

[iOS] Scrubber display is broken if the buffered range is empty
https://bugs.webkit.org/show_bug.cgi?id=144511

Reviewed by Eric Carlson.

Make sure that if video.buffered returns an empty list, we
still draw the scrubber background correctly.

  • Modules/mediacontrols/mediaControlsiOS.js:

(ControllerIOS.prototype.drawTimelineBackground): Ensure that buffered
is always at least as big as the current time.

5:47 PM Changeset in webkit [183703] by roger_fong@apple.com
  • 2 edits in trunk/Source/WebCore

Media control volume slider should be vertical to avoid flickering issues.
https://bugs.webkit.org/show_bug.cgi?id=144496.
<rdar://problem/20451328>

Reviewed by Darin Adler.

  • Modules/mediacontrols/mediaControlsApple.css:

Resize and reposition the volume box so that it does not have to rotated via a transform.
(audio::-webkit-media-controls-panel):
(audio::-webkit-media-controls-panel .volume-box): Also set overflow: hidden so we can't interact

with the volume slider while the volume box is hidden.

(audio::-webkit-media-controls-panel .volume-box:active):
Rotate and position the volume slider via transforms. Make sure it's not transformed in the fullscreen controls.
(video::-webkit-media-controls-volume-slider):
(video:-webkit-full-screen::-webkit-media-controls-volume-slider):

5:39 PM Changeset in webkit [183702] by Brent Fulgham
  • 16 edits in trunk/Source/WebCore

Expand test infrastructure to support scrolling tests (Part 4): Scroll Snap Support
https://bugs.webkit.org/show_bug.cgi?id=144482

Reviewed by Simon Fraser.

New tests will be landed in a second patch.

The new WheelEventTestTriggers do not work properly with scroll snap points, because some test deferral notifications
need to be triggered for state changes on the scrolling thread. This required the following changes:

  1. A flag indicating that we want to know about WheelEvent state changes needed to be propagated to the scrolling thread, so that tests could be deferred until Scrolling thread rubberband or scroll-snap animations had completed.
  2. The ScrollingNodeID needed to be used for registering and clearing deferrals.
  3. The scrolling thread needed a way to dispatch messages to the main thread indicating that we should (or should not) defer tests due to scrolling actions.

Note that a future patch will extend this support to include the RemoteScrollingTree.

  • page/WheelEventTestTrigger.cpp:

(WebCore::WheelEventTestTrigger::deferTestsForReason): Added some logging features.
(WebCore::WheelEventTestTrigger::removeTestDeferralForReason): Ditto.
(WebCore::dumpState): Helper function for logging test deferral state.
(WebCore::WheelEventTestTrigger::triggerTestTimerFired): Added some logging features.

  • page/scrolling/AsyncScrollingCoordinator.cpp:

(WebCore::AsyncScrollingCoordinator::frameViewLayoutUpdated): Make sure that the scrolling thread is
told that it needs to send scrolling state back to the main thread. Only do this if we are in testing mode.
(WebCore::AsyncScrollingCoordinator::updateScrollPositionAfterAsyncScroll): The scrollingNodeID should be
used as the identifier for this operation, not the page address.
(WebCore::AsyncScrollingCoordinator::deferTestsForReason): Added. receives messages from the scrolling thread
and notifies the testing infrastructure.
(WebCore::AsyncScrollingCoordinator::removeTestDeferralForReason): Ditto.

  • page/scrolling/AsyncScrollingCoordinator.h:
  • page/scrolling/ScrollingStateScrollingNode.cpp:

(WebCore::ScrollingStateScrollingNode::ScrollingStateScrollingNode): When cloning the ScrollingStateScrollingNode,
include the testing mode state.
(WebCore::ScrollingStateScrollingNode::setExpectsWheelEventTestTrigger): Added.

  • page/scrolling/ScrollingStateScrollingNode.h:

(WebCore::ScrollingStateScrollingNode::expectsWheelEventTestTrigger): Added.

  • page/scrolling/ScrollingTree.h:

(WebCore::ScrollingTree::deferTestsForReason): Added stub.
(WebCore::ScrollingTree::removeTestDeferralForReason): Ditto.

  • page/scrolling/ThreadedScrollingTree.cpp:

(WebCore::ThreadedScrollingTree::deferTestsForReason): Added. Dispatches messages from the scrolling thread to the
main thread.
(WebCore::ThreadedScrollingTree::removeTestDeferralForReason): Ditto.

  • page/scrolling/ThreadedScrollingTree.h:
  • page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.h:
  • page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.mm:

(WebCore::ScrollingTreeFrameScrollingNodeMac::ScrollingTreeFrameScrollingNodeMac): Initialize testing state flag.
(WebCore::ScrollingTreeFrameScrollingNodeMac::updateBeforeChildren): If the 'ExpectsWheelEventTestTrigger' flag is
set, update local state.
(WebCore::ScrollingTreeFrameScrollingNodeMac::handleWheelEvent): If we are testing, and the wheel event should be handled
asynchronously, tell the testing infrastructure we need to wait for the thread state to sync.
(WebCore::ScrollingTreeFrameScrollingNodeMac::deferTestsForReason): Added. Notifies test system we need to defer tests
until we notify them. Also used by the ScrollController during animations.
(WebCore::ScrollingTreeFrameScrollingNodeMac::removeTestDeferralForReason): Ditto.

  • platform/Logging.h:
  • platform/ScrollAnimator.cpp:

(WebCore::ScrollAnimator::deferTestsForReason): Added. Used by ScrollController during animation. This updates the
testing infrastructure directly, since it is running in the same process and main thread.
(WebCore::ScrollAnimator::removeTestDeferralForReason): Ditto.

  • platform/ScrollAnimator.h:
  • platform/cocoa/ScrollController.h:

(WebCore::ScrollControllerClient::deferTestsForReason): Change client API.
(WebCore::ScrollControllerClient::removeTestDeferralForReason): Ditto.
(WebCore::ScrollControllerClient::testTrigger): Deleted.

  • platform/cocoa/ScrollController.mm:

(WebCore::ScrollController::startSnapRubberbandTimer): Use new client API.
(WebCore::ScrollController::stopSnapRubberbandTimer): Ditto.
(WebCore::ScrollController::startScrollSnapTimer): Ditto.
(WebCore::ScrollController::stopScrollSnapTimer): Ditto.

5:23 PM Changeset in webkit [183701] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

check-webkit-style fails due to system pylint
https://bugs.webkit.org/show_bug.cgi?id=144360

Patch by Mario Sanchez Prada <mario@endlessm.com> on 2015-05-01
Reviewed by Darin Adler.

Make sure that the directory containing third party autoinstalled modules
is at the beginning of the search path, to avoid conflicts with other
versions of the same modules installed in the system (e.g. pylint).

  • Scripts/webkitpy/thirdparty/init.py: Prepend the autoinstalled

modules directory to sys.path, instead of appending it.

4:59 PM Changeset in webkit [183700] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

Inline some small methods instead of them being EXPORT'd and out of line
https://bugs.webkit.org/show_bug.cgi?id=144498

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-05-01
Reviewed by Darin Adler.

  • page/Page.cpp:

(WebCore::Page::testTrigger): Deleted.
(WebCore::Page::clearTrigger): Deleted.
(WebCore::Page::expectsWheelEventTriggers): Deleted.

  • page/Page.h:

(WebCore::Page::testTrigger):
(WebCore::Page::clearTrigger):
(WebCore::Page::expectsWheelEventTriggers):

4:52 PM Changeset in webkit [183699] by mario@webkit.org
  • 2 edits in trunk/Tools

Unreviewed, updated my list of email addresses.

  • Scripts/webkitpy/common/config/contributors.json: Updated.
4:47 PM Changeset in webkit [183698] by mitz@apple.com
  • 12 edits
    1 add in trunk

Source/WebCore:
WebCore part of <rdar://problem/8636045> Back/forward navigation to an error page in Safari breaks the back-forward list
https://bugs.webkit.org/show_bug.cgi?id=144501

Reviewed by Darin Adler.

Test: TestWebKitAPI/Tests/WebKit2Cocoa/LoadAlternateHTMLString.mm

Normally, loading substitute data (such as an error page) creates a new back-forward list
item. FrameLoader has a mechanism that detects when a substitute data load occurs during
handling of a provisional load error and prevents the creation of a new back-forwards list
item in that case if the unreachable URL is the same as the failing provisional URL. This
mechanism was broken in WebKit2, where handling the provisional load error is asynchronous.

The fix is to capture some state (namely, the failing provisional URL) when dispatching the
load error and allow it to be restored when loading the substitute data.

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::FrameLoader): Removed initialization of
m_delegateIsHandlingProvisionalLoadError.
(WebCore::FrameLoader::shouldReloadToHandleUnreachableURL): Instead of checking
m_delegateIsHandlingProvisionalLoadError and if true using the provisional document loader’s
URL, check m_provisionalLoadErrorBeingHandledURL.
(WebCore::FrameLoader::checkLoadCompleteForThisFrame): Instead of checking and setting
m_delegateIsHandlingProvisionalLoadError, use m_provisionalLoadErrorBeingHandledURL.

  • loader/FrameLoader.h:

(WebCore::FrameLoader::provisionalLoadErrorBeingHandledURL): Added this getter. The client
can call this from its override of dispatchDidFailProvisionalLoad and store the result.
(WebCore::FrameLoader::setProvisionalLoadErrorBeingHandledURL): Added this setter. The
client can call this prior to loading substitute data if it’s done as part of handling a
previously-dispatched didFailProvisionalLoad.

Source/WebKit2:
WebKit2 part of <rdar://problem/8636045> Back/forward navigation to an error page in Safari breaks the back-forward list
https://bugs.webkit.org/show_bug.cgi?id=144501

Reviewed by Darin Adler.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::loadAlternateHTMLString): If this is called during
didFailProvisionalLoadForFrame, send back the provisional URL captured at the time of
failure.
(WebKit::WebPageProxy::didFailProvisionalLoadForFrame): Get the provisioinal URL and keep
it in new member variable m_failingProvisionalLoadURL for the duration of the client’s
handling of this message.

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in: Added provisionalURL parameter to

DidFailProvisionalLoadForFrame.

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::dispatchDidFailProvisionalLoad): Send the URL for this error
to the UI process.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::loadAlternateHTMLString): Temporarily restore the loader’s state to
reflect the provisional load error being handled.

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in: Added provisionalLoadErrorURL parameter to

LoadAlternateHTMLString.

4:38 PM Changeset in webkit [183697] by Martin Robinson
  • 37 edits in trunk

USE(...) macro should expect unprefixed variables
https://bugs.webkit.org/show_bug.cgi?id=144454

Reviewed by Daniel Bates.

.:

  • Source/cmake/OptionsAppleWin.cmake: Replace all occurrences WTF_USE with USE.
  • Source/cmake/OptionsEfl.cmake: Ditto.
  • Source/cmake/OptionsGTK.cmake: Ditto.
  • Source/cmake/OptionsMac.cmake: Ditto.
  • Source/cmake/OptionsWinCairo.cmake: Ditto.
  • Source/cmake/WebKitFeatures.cmake: No longer expose WTF_USE when encountering

USE variables.

Source/JavaScriptCore:

  • CMakeLists.txt: Replace all occurrences WTF_USE with USE.

Source/WebCore:

  • DerivedSources.make: Replace all occurrences WTF_USE with USE.
  • PlatformEfl.cmake: Ditto.
  • PlatformGTK.cmake: Ditto.
  • bindings/objc/PublicDOMInterfaces.h: Ditto.
  • config.h: Ditto.
  • crypto/mac/SerializedCryptoKeyWrapMac.mm: Ditto.
  • page/AlternativeTextClient.h: Ditto.
  • platform/efl/FileSystemEfl.cpp: Ditto.

(WebCore::fileSystemRepresentation): Ditto.

  • platform/graphics/cg/ImageBufferDataCG.h: Ditto.
  • platform/graphics/cg/PDFDocumentImage.h: Ditto.
  • platform/ios/wak/WAKAppKitStubs.h: Ditto.
  • rendering/RenderLayerCompositor.cpp: Ditto.

Source/WebKit/cf:

  • WebCoreSupport/WebInspectorClientCF.cpp: Replace all occurrences WTF_USE with USE.

Source/WebKit/mac:

  • Misc/WebDownload.h: Replace all occurrences WTF_USE with USE.

Source/WebKit2:

  • Shared/API/c/WKBase.h: Replace all occurrences WTF_USE with USE.
  • WebKit2.xcodeproj/project.pbxproj: Ditto.

Source/WTF:

  • wtf/Assertions.cpp: Replace all occurrences WTF_USE with USE.
  • wtf/Platform.h: Replace all occurrences WTF_USE with USE. Modify the USE

macro to look for unprefixed variables.

  • wtf/WTFThreadData.h: Replace all occurrences WTF_USE with USE.

Tools:

  • DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj: Replace all occurrences WTF_USE with USE.
  • DumpRenderTree/config.h: Ditto.
  • TestWebKitAPI/config.h: Ditto.
4:25 PM Changeset in webkit [183696] by mmaxfield@apple.com
  • 5 edits
    2 adds in trunk

[OS X] Text dilation parameters are not restored after being set
https://bugs.webkit.org/show_bug.cgi?id=144507
<rdar://problem/19446938>

Patch by Myles C. Maxfield <mmaxfield@apple.com> on 2015-05-01
Reviewed by Simon Fraser and Ned Holbrook.

Source/WebCore:

Create a RAII class who is in charge of saving, applying, and restoring dilation parameters. Use this class
around our text drawing routines.

Note that this migrates our use of CTFontSetRenderingParameters() to CTFontSetRenderingStyle().

Test: fast/text/dilation-save-restore.html

  • platform/graphics/cocoa/FontCascadeCocoa.mm:

(WebCore::RenderingStyleSaver::RenderingStyleSaver):
(WebCore::RenderingStyleSaver::~RenderingStyleSaver):
(WebCore::showGlyphsWithAdvances):

  • platform/spi/cg/CoreGraphicsSPI.h:
  • platform/spi/cocoa/CoreTextSPI.h:

LayoutTests:

See below.

  • fast/text/dilation-save-restore-expected.html: Added. Never sets dilation parameters, draws two strings.
  • fast/text/dilation-save-restore.html: Added. Draws one string without dilation, sets the dilation, then draws a

second string. If saving and restoring doesn't work correctly, these two lines will appear different.

3:53 PM Changeset in webkit [183695] by commit-queue@webkit.org
  • 2 edits in trunk/PerformanceTests

Fix typo bug in Speedometer/resources/main.js
https://bugs.webkit.org/show_bug.cgi?id=144504

Patch by Dewei Zhu <Dewei Zhu> on 2015-05-01
Reviewed by Ryosuke Niwa.

  • Speedometer/resources/main.js: Fix typo.

(window.benchmarkClient.totalTimeInDisplayUnit):

3:44 PM Changeset in webkit [183694] by commit-queue@webkit.org
  • 5 edits in trunk

String#startsWith/endsWith/includes don't handle Infinity position/endPosition args correctly
https://bugs.webkit.org/show_bug.cgi?id=144314

Patch by Jordan Harband <ljharb@gmail.com> on 2015-05-01
Reviewed by Darin Adler.

Source/JavaScriptCore:

Fixing handling of Infinity position args, per
https://people.mozilla.org/~jorendorff/es6-draft.html#sec-string.prototype.includes
https://people.mozilla.org/~jorendorff/es6-draft.html#sec-string.prototype.startswith
https://people.mozilla.org/~jorendorff/es6-draft.html#sec-string.prototype.endswith

  • runtime/StringPrototype.cpp:

(JSC::clampInt32):
(JSC::stringProtoFuncStartsWith):
(JSC::stringProtoFuncEndsWith):
(JSC::stringProtoFuncIncludes):

LayoutTests:

  • js/script-tests/string-includes.js:
  • js/string-includes-expected.txt:
3:38 PM Changeset in webkit [183693] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

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

Appears to have caused assertions (Requested by ap on
#webkit).

Reverted changeset:

"Media control volume slider is opaque."
https://bugs.webkit.org/show_bug.cgi?id=144470
http://trac.webkit.org/changeset/183687

3:35 PM Changeset in webkit [183692] by basile_clement@apple.com
  • 2 edits
    1 add in trunk/Source/JavaScriptCore

Math.abs() returns negative
https://bugs.webkit.org/show_bug.cgi?id=137827

Reviewed by Michael Saboff.

Math.abs() on doubles was mistakenly assumed by the DFG AI to be the
identity function.

  • dfg/DFGAbstractInterpreterInlines.h:

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

  • tests/stress/math-abs-positive.js: Added, was previously failing.

(foo):

3:33 PM Changeset in webkit [183691] by basile_clement@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Function allocation sinking shouldn't be performed on singleton functions
https://bugs.webkit.org/show_bug.cgi?id=144166

Reviewed by Geoffrey Garen.

Function allocations usually are free of any other side effects, but
this is not the case for allocations performed while the underlying
FunctionExecutable is still a singleton (as this allogation will fire
watchpoints invalidating code that depends on it being a singleton).
As the object allocation sinking phase assumes object allocation is
free of side-effects, sinking these allocations is not correct.

This also means that when materializing a function allocation on OSR
exit, that function's executable will never be a singleton, and we don't have
to worry about its watchpoint, allowing us to use
JSFunction::createWithInvalidatedRellocationWatchpoint instead of
JSFunction::create.

  • dfg/DFGObjectAllocationSinkingPhase.cpp:

(JSC::DFG::ObjectAllocationSinkingPhase::handleNode):

  • ftl/FTLOperations.cpp:

(JSC::FTL::operationMaterializeObjectInOSR):

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

Stop using deprecated AVKit SPI for enter and exit fullscreen.
https://bugs.webkit.org/show_bug.cgi?id=144493

Patch by Jeremy Jones <jeremyj@apple.com> on 2015-05-01
Reviewed by Jer Noble.

Replace

-enterFullScreenWithCompletionHandler:
-exitFullScreenWithCompletionHandler:

with

-enterFullScreenAnimated:completionHandler:
-exitFullScreenAnimated:completionHandler:

  • platform/ios/WebVideoFullscreenInterfaceAVKit.mm:

(WebVideoFullscreenInterfaceAVKit::enterFullscreenStandard):
(WebVideoFullscreenInterfaceAVKit::exitFullscreenInternal):

  • platform/spi/cocoa/AVKitSPI.h:
2:07 PM Changeset in webkit [183689] by basile_clement@apple.com
  • 2 edits in trunk/Tools

Unreviewed. Add myself as a commiter in contributors.json.

  • Scripts/webkitpy/common/config/contributors.json:
1:54 PM Changeset in webkit [183688] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WTF

Enable ENABLE_ES6_TEMPLATE_LITERAL_SYNTAX by default on all ports (Windows was missed)
https://bugs.webkit.org/show_bug.cgi?id=144495

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-05-01
Reviewed by Csaba Osztrogonác.

  • wtf/FeatureDefines.h:

This covers all ports that haven't defined the flag otherwise.

1:11 PM Changeset in webkit [183687] by roger_fong@apple.com
  • 2 edits in trunk/Source/WebCore

Media control volume slider is opaque.
https://bugs.webkit.org/show_bug.cgi?id=144470.
<rdar://problem/20770350>

Rubberstamped by Simon Fraser.

  • Modules/mediacontrols/mediaControlsApple.css:

(audio::-webkit-media-controls-panel):
Don't create a stacking context just for the controls.
Doing so causes the mix-blend-mode on the volume box to fail.

12:50 PM Changeset in webkit [183686] by Martin Robinson
  • 2 edits in trunk/LayoutTests

Unreviewed gardening for GTK+.

  • platform/gtk/TestExpectations: Remove some inaccurate missing results

and unskip a passing test.

12:42 PM Changeset in webkit [183685] by commit-queue@webkit.org
  • 4 edits in trunk

Update speedometer patch to provide better UI, fix merge result bug and add "Score" metric to speedometer benchmark.
https://bugs.webkit.org/show_bug.cgi?id=144487

Patch by Dewei Zhu <Dewei Zhu> on 2015-05-01
Reviewed by Ryosuke Niwa.

  • Scripts/webkitpy/benchmark_runner/benchmark_runner.py:

(BenchmarkRunner.merge): Fix bug.

  • Scripts/webkitpy/benchmark_runner/data/patches/Speedometer.patch: Update appearance and add "Score" metric.
12:39 PM Changeset in webkit [183684] by jdiggs@igalia.com
  • 3 edits in trunk/LayoutTests

[GTK] accessibility/secure-textfield-title-ui.html is failing
https://bugs.webkit.org/show_bug.cgi?id=98375

Reviewed by Chris Fleizach.

Modify the test to check the childrenCount of the titleUIElement in order
to determine where the element text is exposed. On the Mac, it's exposed
in StaticText children; in ATK, in the element itself. The test was failing
because it assumed the text was in the first child of the element.

  • accessibility/secure-textfield-title-ui.html: Modified.
  • platform/gtk/TestExpectations: Unskipped the failing test.
12:37 PM Changeset in webkit [183683] by jdiggs@igalia.com
  • 12 edits in trunk/Source/WebCore

[GTK] REGRESSION(183368): It made editing tests assert
https://bugs.webkit.org/show_bug.cgi?id=144447

Reviewed by Chris Fleizach.

Don't notify platforms of editing actions of type EditActionUnspecified.
If we don't know what the action is, platform accessibility APIs certainly
won't.

Add AXTextEditTypeAttributesChange and AXTextAttributesChanged as catch-alls
for formatting changes. ATK lacks finely-grained signals through which to
specify which text attributes have changed. If other platforms have such
signals, new types can always be added.

Don't post an accessible replacement notification for AXTextEditTypeCut.
The notification is handled by DeleteSelectionCommand. It is possible for
white space to be inserted in preparation for a cut which was triggering
a not-reached assert, but insertion of whitespace in preparation for a
cut does not seem notification-worthy.

Treat AXTextEditTypeDictation the same as other insertion types (insert,
paste, typing) with respect to replacement notifications.

No new tests. The hundreds of editing tests that had been crashing seem sufficient.

  • accessibility/AXObjectCache.cpp:

(WebCore::AXObjectCache::showIntent):
(WebCore::AXObjectCache::textChangeForEditType):

  • accessibility/AXObjectCache.h:
  • accessibility/AXTextStateChangeIntent.h:
  • accessibility/atk/AXObjectCacheAtk.cpp:

(WebCore::AXObjectCache::nodeTextChangePlatformNotification):

  • editing/AppendNodeCommand.cpp:

(WebCore::AppendNodeCommand::doApply):
(WebCore::AppendNodeCommand::doUnapply):

  • editing/DeleteFromTextNodeCommand.cpp:

(WebCore::DeleteFromTextNodeCommand::doApply):
(WebCore::DeleteFromTextNodeCommand::doUnapply):

  • editing/EditCommand.cpp:

(WebCore::EditCommand::applyEditType):
(WebCore::EditCommand::unapplyEditType):

  • editing/InsertIntoTextNodeCommand.cpp:

(WebCore::InsertIntoTextNodeCommand::doApply):
(WebCore::InsertIntoTextNodeCommand::doUnapply):

  • editing/InsertNodeBeforeCommand.cpp:

(WebCore::InsertNodeBeforeCommand::doApply):
(WebCore::InsertNodeBeforeCommand::doUnapply):

  • editing/ReplaceInsertIntoTextNodeCommand.cpp:

(WebCore::ReplaceInsertIntoTextNodeCommand::notifyAccessibilityForTextChange):

11:19 AM Changeset in webkit [183682] by beidson@apple.com
  • 18 edits
    3 adds in trunk

Add API to disable meta refreshes.
<rdar://problem/20333198> and https://bugs.webkit.org/show_bug.cgi?id=144269

Reviewed by Alexey Proskuryakov.

Source/WebCore:

Test: loader/meta-refresh-disabled.html

  • dom/Document.cpp:

(WebCore::Document::processHttpEquiv): Bail early if Settings have meta refreshes disabled.

  • page/Settings.in:

Source/WebKit/mac:

Add a preference to enable/disable meta refreshes, enabled by default.

  • WebView/WebPreferenceKeysPrivate.h:
  • WebView/WebPreferences.mm:

(+[WebPreferences initialize]):
(-[WebPreferences setMetaRefreshEnabled:]):
(-[WebPreferences metaRefreshEnabled]):

  • WebView/WebPreferencesPrivate.h:
  • WebView/WebView.mm:

(-[WebView _preferencesChanged:]):

Source/WebKit2:

Add a preference to enable/disable meta refreshes, enabled by default.

  • Shared/WebPreferencesDefinitions.h:
  • UIProcess/API/C/WKPreferences.cpp:

(WKPreferencesSetMetaRefreshEnabled):
(WKPreferencesGetMetaRefreshEnabled):
(WKPreferencesGetIgnoreViewportScalingConstraints): Deleted.

  • UIProcess/API/C/WKPreferencesRefPrivate.h:
  • WebProcess/InjectedBundle/InjectedBundle.cpp:

(WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::updatePreferences):

Tools:

  • DumpRenderTree/mac/DumpRenderTree.mm:

(resetWebPreferencesToConsistentValues): Reset the meta refresh pref between tests.

LayoutTests:

  • loader/meta-refresh-disabled-expected.txt: Added.
  • loader/meta-refresh-disabled.html: Added.
  • loader/resources/notify-done.html: Added.
  • platform/win/TestExpectations:
10:55 AM Changeset in webkit [183681] by Martin Robinson
  • 5 edits
    62 adds in trunk/LayoutTests

Unreviewed gardening for WebKitGTK+

Unskip some passing tests. Add new baselines. Properly organize some
failures in the TestExpectations file.

  • platform/gtk/TestExpectations:
  • platform/gtk/editing/execCommand/print-expected.png: Added.
  • platform/gtk/editing/execCommand/print-expected.txt: Added.
  • platform/gtk/fast/attachment/attachment-progress-expected.txt: Added.
  • platform/gtk/fast/attachment/attachment-select-on-click-expected.txt: Added.
  • platform/gtk/fast/attachment/attachment-select-on-click-inside-user-select-all-expected.txt: Added.
  • platform/gtk/fast/attachment/attachment-subtitle-expected.txt: Added.
  • platform/gtk/fast/attachment/attachment-title-expected.txt: Added.
  • platform/gtk/fast/box-shadow/hidpi-webkit-box-shadow-subpixel-position-expected.txt: Added.
  • platform/gtk/fast/css/focus-ring-exists-for-search-field-expected.png: Added.
  • platform/gtk/fast/css/focus-ring-exists-for-search-field-expected.txt: Added.
  • platform/gtk/fast/multicol/scrolling-column-rules-expected.png: Added.
  • platform/gtk/fast/multicol/scrolling-column-rules-expected.txt: Added.
  • platform/gtk/printing/allowed-page-breaks-expected.txt: Added.
  • platform/gtk/printing/compositing-layer-printing-expected.png: Added.
  • platform/gtk/printing/compositing-layer-printing-expected.txt:
  • platform/gtk/printing/css2.1/page-break-after-000-expected.txt: Added.
  • platform/gtk/printing/css2.1/page-break-after-001-expected.txt: Added.
  • platform/gtk/printing/css2.1/page-break-after-002-expected.txt: Added.
  • platform/gtk/printing/css2.1/page-break-after-003-expected.txt: Added.
  • platform/gtk/printing/css2.1/page-break-after-004-expected.txt: Added.
  • platform/gtk/printing/css2.1/page-break-before-000-expected.txt: Added.
  • platform/gtk/printing/css2.1/page-break-before-001-expected.txt: Added.
  • platform/gtk/printing/css2.1/page-break-before-002-expected.txt: Added.
  • platform/gtk/printing/css2.1/page-break-inside-000-expected.txt: Added.
  • platform/gtk/printing/iframe-print-expected.png: Added.
  • platform/gtk/printing/iframe-print-expected.txt: Added.
  • platform/gtk/printing/media-queries-print-expected.png: Added.
  • platform/gtk/printing/media-queries-print-expected.txt:
  • platform/gtk/printing/no-content-empty-pages-expected.txt: Added.
  • platform/gtk/printing/numberOfPages-expected.txt: Added.
  • platform/gtk/printing/page-break-after-avoid-expected.txt: Added.
  • platform/gtk/printing/page-break-always-expected.txt: Added.
  • platform/gtk/printing/page-break-avoid-expected.txt: Added.
  • platform/gtk/printing/page-break-before-avoid-expected.txt: Added.
  • platform/gtk/printing/page-break-display-none-expected.txt: Added.
  • platform/gtk/printing/page-break-inside-avoid-expected.txt: Added.
  • platform/gtk/printing/page-break-margin-collapsed-expected.txt: Added.
  • platform/gtk/printing/page-break-orphans-and-widows-expected.txt: Added.
  • platform/gtk/printing/page-break-orphans-expected.txt: Added.
  • platform/gtk/printing/page-break-widows-expected.txt: Added.
  • platform/gtk/printing/page-count-layout-overflow-expected.txt: Added.
  • platform/gtk/printing/page-count-percentage-height-expected.txt: Added.
  • platform/gtk/printing/page-count-relayout-shrink-expected.txt: Added.
  • platform/gtk/printing/page-count-with-one-word-expected.txt: Added.
  • platform/gtk/printing/page-format-data-display-none-expected.txt: Added.
  • platform/gtk/printing/page-format-data-expected.txt: Added.
  • platform/gtk/printing/page-rule-css-text-expected.txt: Added.
  • platform/gtk/printing/page-rule-in-media-query-expected.png: Added.
  • platform/gtk/printing/page-rule-in-media-query-expected.txt: Added.
  • platform/gtk/printing/pageNumerForElementById-expected.txt: Added.
  • platform/gtk/printing/print-close-crash-expected.txt: Added.
  • platform/gtk/printing/pseudo-class-outside-page-expected.txt: Added.
  • platform/gtk/printing/return-from-printing-mode-expected.png: Added.
  • platform/gtk/printing/return-from-printing-mode-expected.txt:
  • platform/gtk/printing/setPrinting-expected.png: Added.
  • platform/gtk/printing/setPrinting-expected.txt: Added.
  • platform/gtk/printing/simultaneous-position-float-change-expected.png: Added.
  • platform/gtk/printing/simultaneous-position-float-change-expected.txt: Added.
  • platform/gtk/printing/single-line-must-not-be-split-into-two-pages-expected.txt: Added.
  • platform/gtk/printing/stretch-to-view-height-expected.txt: Added.
  • platform/gtk/printing/width-overflow-expected.png: Added.
  • platform/gtk/printing/width-overflow-expected.txt: Added.
  • platform/gtk/printing/zoomed-document-expected.txt: Added.
10:50 AM Changeset in webkit [183680] by Martin Robinson
  • 4 edits
    2 adds in trunk

[Freetype] Properly support synthetic oblique in vertical text
https://bugs.webkit.org/show_bug.cgi?id=144492

Reviewed by Sergio Villar Senin.

Source/WebCore:

No new tests. Covered by existing tests.

  • platform/graphics/freetype/FontPlatformDataFreeType.cpp:

(WebCore::FontPlatformData::initializeWithFontFace): Skew vertical when using synthetic
oblique for vertical text.

LayoutTests:

  • platform/gtk/TestExpectations: Unskip passing tests.
  • platform/gtk/fast/text/international/synthesized-italic-vertical-latin-expected.png: Added.
  • platform/gtk/fast/text/international/synthesized-italic-vertical-latin-expected.txt: Added.
10:14 AM Changeset in webkit [183679] by bshafiei@apple.com
  • 5 edits in branches/safari-600.7-branch/Source

Versioning.

10:05 AM Changeset in webkit [183678] by jdiggs@igalia.com
  • 2 edits in trunk/Source/WebCore

AX: [ATK] REGRESSION: accessibility/canvas-fallback-content.html now crashes
https://bugs.webkit.org/show_bug.cgi?id=144481

Reviewed by Chris Fleizach.

Canvas fallback content is allowed to be focusable if the canvas is displayed
and visible. Update the style when creating an accessible object for a node in
a canvas subtree and before Element::isFocusable() gets called.

No new tests. The existing, crashing test no longer crashes.

  • accessibility/AXObjectCache.cpp:

(WebCore::AXObjectCache::getOrCreate):

10:03 AM Changeset in webkit [183677] by achristensen@apple.com
  • 6 edits in trunk/Source/WebCore

[Content Extensions] Add CombinedURLFilters debugging code.
https://bugs.webkit.org/show_bug.cgi?id=144491

Reviewed by Daniel Bates.

No change in behavior.

  • contentextensions/CombinedURLFilters.cpp:

(WebCore::ContentExtensions::recursiveMemoryUsed):
(WebCore::ContentExtensions::CombinedURLFilters::memoryUsed):
(WebCore::ContentExtensions::prefixTreeVertexToString):
(WebCore::ContentExtensions::recursivePrint):
(WebCore::ContentExtensions::CombinedURLFilters::print):
(WebCore::ContentExtensions::CombinedURLFilters::addPattern):
(WebCore::ContentExtensions::generateNFAForSubtree):
(WebCore::ContentExtensions::CombinedURLFilters::processNFAs):

  • contentextensions/CombinedURLFilters.h:
  • contentextensions/NFA.cpp:

(WebCore::ContentExtensions::NFA::memoryUsed):

  • contentextensions/NFA.h:
  • contentextensions/Term.h:

(WebCore::ContentExtensions::quantifierToString):
(WebCore::ContentExtensions::Term::toString):

9:57 AM Changeset in webkit [183676] by eric.carlson@apple.com
  • 10 edits in trunk

Fix text track language selection logic
https://bugs.webkit.org/show_bug.cgi?id=144467

Reviewed by Brent Fulgham.

Source/WebCore:

No new tests, media/track/track-language-preference.html was updated.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::configureTextTrackGroup): Correct a minor style typo.
(WebCore::HTMLMediaElement::configureTextTrackDisplay): Update logging.

  • page/CaptionUserPreferences.cpp:

(WebCore::CaptionUserPreferences::textTrackSelectionScore): Minor cleanup.
(WebCore::CaptionUserPreferences::textTrackLanguageSelectionScore): Give exact matches a
higher score.

  • page/CaptionUserPreferencesMediaAF.cpp:

(WebCore::CaptionUserPreferencesMediaAF::textTrackSelectionScore): Update for
indexOfBestMatchingLanguageInList change.

  • platform/Language.cpp:

(WebCore::indexOfBestMatchingLanguageInList): Add parameter for exact match. Convert the
passed language to lower case as we do with the preferred languages.

  • platform/Language.h:

LayoutTests:

  • media/track/track-language-preference-expected.txt:
  • media/track/track-language-preference.html: Updated, add new tests.
  • platform/mac/TestExpectations:
9:23 AM Changeset in webkit [183675] by Brent Fulgham
  • 2 edits in trunk/Tools

Provide a runtime flag to run-webkit-tests that shows the test view
https://bugs.webkit.org/show_bug.cgi?id=144079.

Unreviewed correction to r183651.

  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::initialize): Make sure the state of the '--show-webview'
flag is included in the options dictionary passed to the PlatformWebView.

9:04 AM Changeset in webkit [183674] by Martin Robinson
  • 2 edits
    1 delete in trunk/LayoutTests

Unreviewed gardening. Rebaseline some tests for WebKitGTK+.

  • platform/gtk/editing/execCommand/nsresponder-outdent-expected.txt: Rebaseline.
  • platform/gtk/inspector-protocol/debugger/regress-133182-expected.txt: Removed. The

platform-independent baseline should be good enough.

9:00 AM Changeset in webkit [183673] by Martin Robinson
  • 2 edits in trunk/Source/WebCore

[Freetype] Add support for the font-synthesis property
https://bugs.webkit.org/show_bug.cgi?id=144472

Reviewed by Sergio Villar Senin.

No new tests. This causes fast/css3-text/font-synthesis.html to pass
for WebKitGTK+.

  • platform/graphics/freetype/FontPlatformDataFreeType.cpp:

(WebCore::FontPlatformData::FontPlatformData): Only use synthetic bold when the font description allows it.
(WebCore::FontPlatformData::initializeWithFontFace): Ditto for synthetic oblique.

7:58 AM Changeset in webkit [183672] by Martin Robinson
  • 2 edits in trunk/Source/WebCore

[GTK] New CORS tests from r183280 fail on WebKitGTK+
https://bugs.webkit.org/show_bug.cgi?id=144469

Reviewed by Sergio Villar Senin.

No new tests. This causes failing tests to pass.

  • platform/network/soup/ResourceHandleSoup.cpp:

(WebCore::doRedirect): Clear the origin header on cross-origin redirects.

7:24 AM Changeset in webkit [183671] by timothy@apple.com
  • 4 edits
    5 deletes in trunk/Source/WebInspectorUI

Web Inspector: Remove FrameContentView.js
https://bugs.webkit.org/show_bug.cgi?id=144415

Reviewed by Joseph Pecoraro.

  • UserInterface/Images/DOMTree.svg: Removed.
  • UserInterface/Images/SourceCode.svg: Removed.
  • UserInterface/Main.html: Removed FrameContentView.js.
  • UserInterface/Views/FrameContentView.js: Removed.
  • UserInterface/Views/PathComponentIcons.css:

(.source-code-icon .icon): Deleted.
(.dom-tree-icon .icon): Deleted.

  • UserInterface/Views/ResourceSidebarPanel.js:

(WebInspector.ResourceSidebarPanel.prototype._mainFrameMainResourceDidChange.delayedWork):
(WebInspector.ResourceSidebarPanel.prototype._mainFrameMainResourceDidChange):
Simplify the code here. We don't need these checks now with tabs and the Storage tab.

4:40 AM Changeset in webkit [183670] by Antti Koivisto
  • 15 edits in trunk

Remove network process load serialization code
https://bugs.webkit.org/show_bug.cgi?id=144448

Reviewed by Alexey Proskuryakov.

Source/WebKit2:

TestRunner.setSerializeHTTPLoads is used by a few tests but it is unnecessary
with network process. We don't reorder loads anyway so test results are consistent.
There or no other clients for this code.

  • NetworkProcess/NetworkConnectionToWebProcess.cpp:

(WebKit::NetworkConnectionToWebProcess::NetworkConnectionToWebProcess):
(WebKit::NetworkConnectionToWebProcess::setSerialLoadingEnabled): Deleted.

  • NetworkProcess/NetworkConnectionToWebProcess.h:

(WebKit::NetworkConnectionToWebProcess::isSerialLoadingEnabled): Deleted.

  • NetworkProcess/NetworkConnectionToWebProcess.messages.in:
  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::getNetworkProcessStatistics):

  • NetworkProcess/NetworkResourceLoadScheduler.cpp:

(WebKit::NetworkResourceLoadScheduler::scheduleLoader):
(WebKit::NetworkResourceLoadScheduler::removeLoader):
(WebKit::NetworkResourceLoadScheduler::loadsPendingCount): Deleted.

  • NetworkProcess/NetworkResourceLoadScheduler.h:
  • WebProcess/InjectedBundle/API/c/WKBundle.cpp:

(WKBundleSetTabKeyCyclesThroughElements):
(WKBundleSetSerialLoadingEnabled): Deleted.
(WKBundleDispatchPendingLoadRequests): Deleted.

  • WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
  • WebProcess/InjectedBundle/InjectedBundle.cpp:

(WebKit::InjectedBundle::setSerialLoadingEnabled): Deleted.
(WebKit::InjectedBundle::dispatchPendingLoadRequests): Deleted.

Remove also this as it does nothing.

  • WebProcess/Network/WebResourceLoadScheduler.cpp:

(WebKit::WebResourceLoadScheduler::WebResourceLoadScheduler):
(WebKit::WebResourceLoadScheduler::suspendPendingRequests):
(WebKit::WebResourceLoadScheduler::resumePendingRequests):

Remove implementation, it does nothing.

(WebKit::WebResourceLoadScheduler::setSerialLoadingEnabled):

  • WebProcess/Network/WebResourceLoadScheduler.h:

Tools:

  • WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:

(WTR::InjectedBundle::beginTesting):

  • WebKitTestRunner/InjectedBundle/TestRunner.cpp:

(WTR::TestRunner::setSerializeHTTPLoads):
(WTR::TestRunner::dispatchPendingLoadRequests):

2:04 AM Changeset in webkit [183669] by calvaris@igalia.com
  • 2 edits in trunk/Tools

[GTK] Add libhyphen-dev to the build dependencies
https://bugs.webkit.org/show_bug.cgi?id=144452

Reviewed by Martin Robinson.

  • gtk/install-dependencies: Added hyphen as Fedora and Arch

dependencies.

Apr 30, 2015:

10:57 PM Changeset in webkit [183668] by Nikita Vasilyev
  • 2 edits in trunk/Source/WebInspectorUI

REGRESSION: Web Inspector: Console message repeat count overlapped by icon
https://bugs.webkit.org/show_bug.cgi?id=144344

Reviewed by Timothy Hatcher.

  • UserInterface/Views/ConsoleMessageView.css:

(.console-message .repeat-count):

10:01 PM Changeset in webkit [183667] by achristensen@apple.com
  • 6 edits in trunk/Source/WebCore

Compile fix when using content extensions debugging code.

  • contentextensions/ContentExtensionCompiler.cpp:

(WebCore::ContentExtensions::compileRuleList):

  • contentextensions/ContentExtensionsDebugging.h:
  • contentextensions/DFA.cpp:

(WebCore::ContentExtensions::printTransitions):
(WebCore::ContentExtensions::DFA::debugPrintDot):

  • contentextensions/DFANode.h:
  • contentextensions/NFA.cpp:

(WebCore::ContentExtensions::NFA::memoryUsed):
(WebCore::ContentExtensions::NFA::debugPrintDot):

9:24 PM Changeset in webkit [183666] by mitz@apple.com
  • 2 edits in trunk/Source/WebCore

Fixed the build for <rdar://problem/20758514>

  • platform/graphics/avfoundation/AudioSourceProviderAVFObjC.mm:

(WebCore::AudioSourceProviderAVFObjC::destroyMix): Don’t pass nil to
-[AVMutableAudioMix setInputParameters:].

8:42 PM Changeset in webkit [183665] by Joseph Pecoraro
  • 8 edits in trunk/LayoutTests

Unreviewed gardening. Update results of inspector tests.

  • inspector-protocol/debugger/breakpoint-eval-with-exception-expected.txt:
  • inspector-protocol/debugger/regress-133182-expected.txt:
  • inspector-protocol/debugger/regress-133182.html:
  • inspector-protocol/debugger/setBreakpoint-actions-expected.txt:
  • inspector-protocol/debugger/terminate-dedicated-worker-while-paused-expected.txt:
  • inspector-protocol/page/deny-X-FrameOption-expected.txt:
  • inspector/debugger/search-scripts-expected.txt:
8:42 PM Changeset in webkit [183664] by Joseph Pecoraro
  • 6 edits
    1 delete in trunk/LayoutTests

Unreviewed gardening. Remove skipped and broken inspector test.

This is the last test relying on the old model interface.

(InspectorTest.initializeInspectorModels.console.error.window.onerror): Deleted.
(InspectorTest.initializeInspectorModels.console.assert): Deleted.
(InspectorTest.initializeInspectorModels): Deleted.

  • inspector-protocol/indexeddb/basics-expected.txt: Removed.
  • inspector-protocol/indexeddb/basics.html: Removed.
  • platform/efl/TestExpectations:
  • platform/gtk/TestExpectations:
  • platform/win/TestExpectations:
7:40 PM Changeset in webkit [183663] by dbates@webkit.org
  • 2 edits in trunk/Source/WebCore

Clean up: Remove unnecessary runtime computation of string length
https://bugs.webkit.org/show_bug.cgi?id=144483

Reviewed by Joseph Pecoraro.

Following <http://trac.webkit.org/changeset/183649>, WebCore::fullyQualifiedInfoTableName()
computes strlen() of the first string literal as part of concatenating two string literals.
It is sufficient to use sizeof() - 1 instead of strlen() to compute the length of the first
string literal because the size of the string literal is known at compile time.

  • Modules/webdatabase/DatabaseBackendBase.cpp:

(WebCore::fullyQualifiedInfoTableName):

6:56 PM Changeset in webkit [183662] by dino@apple.com
  • 17 edits
    1 copy
    1 add in trunk

Expose -apple-system as a font family
https://bugs.webkit.org/show_bug.cgi?id=144484
<rdar://problem/20767330>

Reviewed by Tim Horton.

Source/WebCore:

Accept "-apple-system" for the font-family property, and
rename "-apple-system-font-monospaced-numbers" to
"-apple-system-monospaced-numbers".

Also change the media controls to use the new name.

Covered by existing tests and this new one:

fast/text/system-font-legacy-name.html

  • Modules/mediacontrols/mediaControlsApple.css:

(audio::-webkit-media-controls-time-remaining-display):

  • Modules/mediacontrols/mediaControlsiOS.css:

(::-webkit-media-controls):
(audio::-webkit-media-controls-time-remaining-display):
(audio::-webkit-media-controls-status-display):

  • platform/graphics/ios/FontCacheIOS.mm: Add support for the new name.

(WebCore::createCTFontWithFamilyNameAndWeight):

  • platform/graphics/mac/FontCacheMac.mm: Ditto.

(WebCore::fontWithFamily):

LayoutTests:

Change a bunch of tests to use "-apple-system" instead
of "-apple-system-font" for font-family.

Add a test to make sure the old name still works.

  • fast/text/system-font-legacy-name.html
  • platform/ios-simulator/fast/text/system-monospaced-numbers.html:
  • platform/ios-simulator/ios/fast/text/apple-logo-expected.txt:
  • platform/ios-simulator/ios/fast/text/apple-logo.html:
  • platform/ios-simulator/ios/fast/text/opticalFont-expected.txt:
  • platform/ios-simulator/ios/fast/text/opticalFont.html:
  • platform/ios-simulator/ios/fast/text/opticalFontWithWeight-expected.txt:
  • platform/ios-simulator/ios/fast/text/opticalFontWithWeight.html:
  • platform/ios-simulator/ios/fast/text/underline-scaling-expected.txt:
  • platform/ios-simulator/ios/fast/text/underline-scaling.html:
  • platform/mac/fast/text/systemFont-expected.txt:
  • platform/mac/fast/text/systemFont.html:
6:38 PM Changeset in webkit [183661] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WTF

Decrease minimum Vector size.
https://bugs.webkit.org/show_bug.cgi?id=144453

Patch by Alex Christensen <achristensen@webkit.org> on 2015-04-30
Reviewed by Andreas Kling.

  • wtf/Vector.h:

Make the default min size 4 to save memory on small Vectors.

6:14 PM Changeset in webkit [183660] by jfernandez@igalia.com
  • 5 edits
    2 adds in trunk

[CSS Grid Layout] overflow-position keyword for align and justify properties.
https://bugs.webkit.org/show_bug.cgi?id=144235

Reviewed by Sergio Villar Senin.

Source/WebCore:

When the alignment subject is larger than the alignment container,
it will overflow. Some alignment modes, if honored in this
situation, may cause data loss; an overflow alignment mode can be
explicitly specified to avoid this.

This patch implements overflow-keyword handling for Grid Layout on
align-self and justify-self properties.

Test: fast/css-grid-layout/grid-align-justify-overflow.html

  • rendering/RenderGrid.cpp:

(WebCore::computeOverflowAlignmentOffset):
(WebCore::RenderGrid::rowPositionForChild):
(WebCore::RenderGrid::columnPositionForChild):
(WebCore::RenderGrid::rowAxisPositionForChild): Deleted.

  • rendering/style/RenderStyle.cpp:

(WebCore::resolveAlignmentData):
(WebCore::resolveJustificationData):
(WebCore::RenderStyle::resolveAlignment):
(WebCore::RenderStyle::resolveAlignmentOverflow):
(WebCore::RenderStyle::resolveJustification):
(WebCore::RenderStyle::resolveJustificationOverflow):

  • rendering/style/RenderStyle.h:

LayoutTests:

Implementation of overflow-keyword handling for Grid Layout on
align-self and justify-self properties.

  • fast/css-grid-layout/grid-align-justify-overflow-expected.txt: Added.
  • fast/css-grid-layout/grid-align-justify-overflow.html: Added.
6:10 PM Changeset in webkit [183659] by Jon Davis
  • 18 edits
    3 adds in trunk

Web Inspector: console should show an icon for console.info() messages
https://bugs.webkit.org/show_bug.cgi?id=18530

Reviewed by Timothy Hatcher.

Source/JavaScriptCore:

  • inspector/ConsoleMessage.cpp:

(Inspector::messageLevelValue):

  • inspector/protocol/Console.json:
  • runtime/ConsoleClient.cpp:

(JSC::appendMessagePrefix):

  • runtime/ConsolePrototype.cpp:

(JSC::ConsolePrototype::finishCreation):
(JSC::consoleProtoFuncInfo):

  • runtime/ConsoleTypes.h:

Source/WebInspectorUI:

Added icons for console.log, console.info and console.debug messages.

Separated console.info from console.log.

  • UserInterface/Images/Debug.svg: Added.
  • UserInterface/Images/Info.svg: Added.
  • UserInterface/Images/Log.svg: Added.

New icon files.

  • UserInterface/Models/ConsoleMessage.js:
  • UserInterface/Views/ConsoleMessageView.css:

(.console-log-level::before):
(.console-info-level::before):
(.console-debug-level::before):
(:matches(.console-warning-level, .console-error-level, .console-log-level, .console-info-level, .console-debug-level).console-message):
(:matches(.console-warning-level, .console-error-level, .console-log-level, .console-info-level, .console-debug-level)::before):
(:matches(.console-warning-level, .console-error-level, .console-log-level).console-message): Deleted.
(:matches(.console-warning-level, .console-error-level, .console-log-level)::before): Deleted.
Include console.info messages in layout adjustments.

  • UserInterface/Views/ConsoleMessageView.js:

(WebInspector.ConsoleMessageView):
(WebInspector.ConsoleMessageView.prototype._levelString):

Source/WebKit/mac:

  • WebCoreSupport/WebChromeClient.mm:

(stringForMessageLevel):

  • WebView/WebUIDelegatePrivate.h:

LayoutTests:

  • inspector/console/console-api-expected.txt:
6:04 PM Changeset in webkit [183658] by timothy_horton@apple.com
  • 3 edits in trunk/Source/WebKit2

Remove long-deprecated unused WKView minimumLayoutWidth properties
https://bugs.webkit.org/show_bug.cgi?id=144480

Reviewed by Alexey Proskuryakov.

  • UIProcess/API/Cocoa/WKViewPrivate.h:
  • UIProcess/API/mac/WKView.mm:

(-[WKView minimumLayoutWidth]): Deleted.
(-[WKView setMinimumLayoutWidth:]): Deleted.
(-[WKView minimumWidthForAutoLayout]): Deleted.
(-[WKView setMinimumWidthForAutoLayout:]): Deleted.
These were replaced with minimumSizeForAutoLayout long ago.

5:34 PM Changeset in webkit [183657] by jhoneycutt@apple.com
  • 9 edits in trunk/Source/WebCore

Rebaseline bindings tests results after r183648.

Unreviewed.

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

(WebCore::jsTestActiveDOMObjectPrototypeFunctionPostMessage):

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

(WebCore::jsTestCustomNamedGetterPrototypeFunctionAnotherFunction):

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

(WebCore::JSTestInterfaceConstructor::constructJSTestInterface):
(WebCore::setJSTestInterfaceConstructorImplementsStaticAttr):
(WebCore::setJSTestInterfaceImplementsStr2):
(WebCore::setJSTestInterfaceConstructorSupplementalStaticAttr):
(WebCore::setJSTestInterfaceSupplementalStr2):
(WebCore::jsTestInterfacePrototypeFunctionImplementsMethod2):
(WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod2):

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

(WebCore::JSTestNamedConstructorNamedConstructor::constructJSTestNamedConstructor):

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

(WebCore::setJSTestNondeterministicNondeterministicWriteableAttr):
(WebCore::setJSTestNondeterministicNondeterministicExceptionAttr):
(WebCore::setJSTestNondeterministicNondeterministicGetterExceptionAttr):
(WebCore::setJSTestNondeterministicNondeterministicSetterExceptionAttr):

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

(WebCore::setJSTestObjConstructorStaticStringAttr):
(WebCore::setJSTestObjStringAttr):
(WebCore::setJSTestObjReflectedStringAttr):
(WebCore::setJSTestObjReflectedURLAttr):
(WebCore::setJSTestObjReflectedCustomURLAttr):
(WebCore::setJSTestObjStringAttrWithGetterException):
(WebCore::setJSTestObjStringAttrWithSetterException):
(WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionByteMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionOctetMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionLongMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalString):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsUndefined):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsNullString):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod1):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod3):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod11):
(WebCore::jsTestObjConstructorFunctionOverloadedMethod12):
(WebCore::jsTestObjPrototypeFunctionStrictFunction):
(WebCore::jsTestObjPrototypeFunctionVariadicStringMethod):

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

(WebCore::JSTestOverloadedConstructorsConstructor::constructJSTestOverloadedConstructors4):

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

(WebCore::JSTestTypedefsConstructor::constructJSTestTypedefs):
(WebCore::setJSTestTypedefsStringAttrWithGetterException):
(WebCore::setJSTestTypedefsStringAttrWithSetterException):
(WebCore::jsTestTypedefsPrototypeFunctionSetShadow):

5:06 PM Changeset in webkit [183656] by fpizlo@apple.com
  • 7 edits in trunk/Source/JavaScriptCore

Move all of the branchIs<type> helpers from SpeculativeJIT into AssemblyHelpers
https://bugs.webkit.org/show_bug.cgi?id=144462

Reviewed by Geoffrey Garen and Mark Lam.

At some point we started adding representation-agnostic helpers for doing common type tests.
We added some in SpeculativeJIT, and then some in AssemblyHelpers. Prior to this change,
they had overlapping powers, though SpeculativeJIT was a bit better.

This removes SpeculativeJIT's helpers and strengthens AssemblyHelpers' helpers. This is
better because now all of these helpers can be used in all of the assembly-based JITs, not
just the DFG. It also settles on what I find to be a slightly better naming convention.
For example where we previously would have said branchIsString, now we say
branchIfString. Similarly, branchNotString becomes branchIfNotString.

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compilePeepHoleObjectEquality):
(JSC::DFG::SpeculativeJIT::compileValueToInt32):
(JSC::DFG::SpeculativeJIT::compileInstanceOfForObject):
(JSC::DFG::SpeculativeJIT::compileInstanceOf):
(JSC::DFG::SpeculativeJIT::compileStringToUntypedEquality):
(JSC::DFG::SpeculativeJIT::compileStringIdentToNotStringVarEquality):
(JSC::DFG::SpeculativeJIT::compileGetByValOnScopedArguments):
(JSC::DFG::SpeculativeJIT::compileToStringOrCallStringConstructorOnCell):
(JSC::DFG::SpeculativeJIT::speculateObject):
(JSC::DFG::SpeculativeJIT::speculateObjectOrOther):
(JSC::DFG::SpeculativeJIT::speculateString):
(JSC::DFG::SpeculativeJIT::speculateNotStringVar):
(JSC::DFG::SpeculativeJIT::speculateNotCell):
(JSC::DFG::SpeculativeJIT::speculateOther):
(JSC::DFG::SpeculativeJIT::emitSwitchChar):
(JSC::DFG::SpeculativeJIT::emitSwitchString):
(JSC::DFG::SpeculativeJIT::branchIsObject): Deleted.
(JSC::DFG::SpeculativeJIT::branchNotObject): Deleted.
(JSC::DFG::SpeculativeJIT::branchIsString): Deleted.
(JSC::DFG::SpeculativeJIT::branchNotString): Deleted.

  • dfg/DFGSpeculativeJIT.h:
  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeCompareNull):
(JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeBranchNull):
(JSC::DFG::SpeculativeJIT::emitCall):
(JSC::DFG::SpeculativeJIT::fillSpeculateCell):
(JSC::DFG::SpeculativeJIT::compileObjectEquality):
(JSC::DFG::SpeculativeJIT::compileObjectToObjectOrOtherEquality):
(JSC::DFG::SpeculativeJIT::compilePeepHoleObjectToObjectOrOtherEquality):
(JSC::DFG::SpeculativeJIT::compileObjectOrOtherLogicalNot):
(JSC::DFG::SpeculativeJIT::emitObjectOrOtherBranch):
(JSC::DFG::SpeculativeJIT::compile):
(JSC::DFG::SpeculativeJIT::branchIsCell): Deleted.
(JSC::DFG::SpeculativeJIT::branchNotCell): Deleted.
(JSC::DFG::SpeculativeJIT::branchIsOther): Deleted.
(JSC::DFG::SpeculativeJIT::branchNotOther): Deleted.

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeCompareNull):
(JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeBranchNull):
(JSC::DFG::SpeculativeJIT::fillSpeculateCell):
(JSC::DFG::SpeculativeJIT::compileObjectEquality):
(JSC::DFG::SpeculativeJIT::compileObjectToObjectOrOtherEquality):
(JSC::DFG::SpeculativeJIT::compilePeepHoleObjectToObjectOrOtherEquality):
(JSC::DFG::SpeculativeJIT::compileObjectOrOtherLogicalNot):
(JSC::DFG::SpeculativeJIT::emitObjectOrOtherBranch):
(JSC::DFG::SpeculativeJIT::compile):
(JSC::DFG::SpeculativeJIT::writeBarrier):
(JSC::DFG::SpeculativeJIT::branchIsCell): Deleted.
(JSC::DFG::SpeculativeJIT::branchNotCell): Deleted.
(JSC::DFG::SpeculativeJIT::branchIsOther): Deleted.
(JSC::DFG::SpeculativeJIT::branchNotOther): Deleted.

  • jit/AssemblyHelpers.h:

(JSC::AssemblyHelpers::branchIfCell):
(JSC::AssemblyHelpers::branchIfOther):
(JSC::AssemblyHelpers::branchIfNotOther):
(JSC::AssemblyHelpers::branchIfObject):
(JSC::AssemblyHelpers::branchIfNotObject):
(JSC::AssemblyHelpers::branchIfType):
(JSC::AssemblyHelpers::branchIfNotType):
(JSC::AssemblyHelpers::branchIfString):
(JSC::AssemblyHelpers::branchIfNotString):
(JSC::AssemblyHelpers::branchIfSymbol):
(JSC::AssemblyHelpers::branchIfNotSymbol):
(JSC::AssemblyHelpers::branchIfFunction):
(JSC::AssemblyHelpers::branchIfNotFunction):
(JSC::AssemblyHelpers::branchIfEmpty):
(JSC::AssemblyHelpers::branchIsEmpty): Deleted.
(JSC::AssemblyHelpers::branchIfCellNotObject): Deleted.

  • jit/JITPropertyAccess.cpp:

(JSC::JIT::emitScopedArgumentsGetByVal):

4:44 PM Changeset in webkit [183655] by Simon Fraser
  • 11 edits in trunk/Source

Fixed elements end up in the middle of the view with pageScale < 1
https://bugs.webkit.org/show_bug.cgi?id=144428
rdar://problem/20404982

Reviewed by Tim Horton.

Source/WebCore:

When pageScale is < 1, we used fixed layout mode, and FrameView::fixedElementsLayoutRelativeToFrame()
returns true. However, the scrolling thread was calling the static scrollOffsetForFixedPosition()
hardcoding 'false' for this parameter.

Fix by sending the value of fixedElementsLayoutRelativeToFrame over to the scrolling thread,
so we can use it when doing scrolling-thread fixed position stuff.

Not testable.

  • page/scrolling/AsyncScrollingCoordinator.cpp:

(WebCore::AsyncScrollingCoordinator::frameViewLayoutUpdated):

  • page/scrolling/ScrollingStateFrameScrollingNode.cpp:

(WebCore::ScrollingStateFrameScrollingNode::ScrollingStateFrameScrollingNode):
(WebCore::ScrollingStateFrameScrollingNode::setFixedElementsLayoutRelativeToFrame):

  • page/scrolling/ScrollingStateFrameScrollingNode.h:
  • page/scrolling/ScrollingTreeFrameScrollingNode.cpp:

(WebCore::ScrollingTreeFrameScrollingNode::ScrollingTreeFrameScrollingNode):
(WebCore::ScrollingTreeFrameScrollingNode::updateBeforeChildren):

  • page/scrolling/ScrollingTreeFrameScrollingNode.h:

(WebCore::ScrollingTreeFrameScrollingNode::fixedElementsLayoutRelativeToFrame):
(WebCore::ScrollingTreeFrameScrollingNode::shouldUpdateScrollLayerPositionSynchronously): Deleted.

  • page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.mm:

(WebCore::ScrollingTreeFrameScrollingNodeMac::setScrollLayerPosition):

Source/WebKit2:

Encode/decode fixedElementsLayoutRelativeToFrame.

  • Shared/Scrolling/RemoteScrollingCoordinatorTransaction.cpp:

(ArgumentCoder<ScrollingStateFrameScrollingNode>::encode):
(ArgumentCoder<ScrollingStateFrameScrollingNode>::decode):

4:35 PM Changeset in webkit [183654] by Beth Dakin
  • 2 edits in trunk/Source/WebCore

Remove invalid assertion from MouseEvent::create()
https://bugs.webkit.org/show_bug.cgi?id=144477

Reviewed by Tim Horton.

mouseforcechanged events and mouseforcewillbegin trigger this assertion. The
assertion does not seem valuable, so rather than changing it, just remove it.

  • dom/MouseEvent.cpp:

(WebCore::MouseEvent::create):

4:26 PM Changeset in webkit [183653] by dino@apple.com
  • 3 edits
    2 adds in trunk

-apple-system-font-monospaced-numbers doesn't work on iOS
https://bugs.webkit.org/show_bug.cgi?id=144478
<rdar://problem/20544940>

Reviewed by Brent Fulgham.

Source/WebCore:

Make sure to start from the system font descriptor when
asking for a monospaced numeric alternate.

Test: platform/ios-simulator/fast/text/system-monospaced-numbers.html

  • platform/graphics/ios/FontCacheIOS.mm:

(WebCore::createCTFontWithFamilyNameAndWeight):

LayoutTests:

A test that draws two lines of different numbers and checks
they are the same width.

  • platform/ios-simulator/fast/text/system-monospaced-numbers-expected.txt: Added.
  • platform/ios-simulator/fast/text/system-monospaced-numbers.html: Added.
4:16 PM Changeset in webkit [183652] by Joseph Pecoraro
  • 4 edits in trunk/LayoutTests

Unreviewed, ios-simulator gardening

  • Address linter warnings.
  • Unskip some tests that pass.
  • More generically skip unsupported iOS features.
  • Address FIXMEs.
  • platform/ios-simulator-wk1/TestExpectations:
  • platform/ios-simulator-wk2/TestExpectations:
  • platform/ios-simulator/TestExpectations:
4:13 PM Changeset in webkit [183651] by Brent Fulgham
  • 7 edits in trunk/Tools

Provide a runtime flag to run-webkit-tests that shows the test view
https://bugs.webkit.org/show_bug.cgi?id=144079.

Reviewed by Dean Jackson.

Add a new flag (--show-webview) that causes DumpRenderTree and WebKitTestRunner to display
their WebViews on-screen. This can be used when running tests via the "--additional-drt-flag"
option:

--additional-drt-flag="--show-webview"

  • DumpRenderTree/mac/DumpRenderTree.mm:

(createWebViewAndOffscreenWindow): Use an on-screen window rect if the user passed the
'--show-webview' flag.
(initializeGlobalsFromCommandLineOptions): Recognize the "--show-webview" option.

  • WebKitTestRunner/Options.cpp:

(WTR::Options::Options):
(WTR::handleOptionShowWebView):
(WTR::OptionsHandler::OptionsHandler): Recognize the new "--show-webview" option.

  • WebKitTestRunner/Options.h:
  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::TestController):
(WTR::TestController::initialize): Use value of 'shouldShowWebView' from the Options bundle.

  • WebKitTestRunner/TestController.h:

(WTR::TestController::shouldShowWebView):

  • WebKitTestRunner/mac/PlatformWebViewMac.mm:

(WTR::PlatformWebView::PlatformWebView): Retrieve the value of the 'ShouldShowWebView' key from the
options dictionary. If it is true, display the web view while running the test.

4:02 PM Changeset in webkit [183650] by fpizlo@apple.com
  • 6 edits in trunk

js/regress/is-string-fold-tricky.html and js/regress/is-string-fold.html are crashing
https://bugs.webkit.org/show_bug.cgi?id=144463

Reviewed by Benjamin Poulain.

Source/JavaScriptCore:

Fixup phase was super cleverly folding an IsString(@x) when @x is predicted SpecString
into a Check(String:@x) followed by JSConstant(true). Then in these tests the
ValueAdd(IsString(@x), @stuff) would try to turn this into an integer add by cleverly
converting the boolean into an integer. But as part of doing that, it would try to
short-circuit any profiling by leveraging the fact that the IsString is now a constant,
and it would try to figure out if the addition might overflow. Part of that logic
involved checking if the immediate is either a boolean or a sufficiently small integer.
But: it would check if it's a sufficiently small integer before checking if it was a
boolean, so it would try to call asNumber() on the boolean.

All of this cleverness was very deliberate, but apparently the @stuff + booleanConstant
case was previously never hit until I wrote these tests, and so we never knew that
calling asNumber() on a boolean was wrong.

The fix is super simple: the expression should just check for boolean first.

This bug was benign in release builds. JSValue::asNumber() on a boolean would return
garbage, and that's OK, since we'd take the boolean case anyway.

  • dfg/DFGGraph.h:

(JSC::DFG::Graph::addImmediateShouldSpeculateInt32):

LayoutTests:

Unskip now that the bug is fixed.

  • TestExpectations:
  • js/regress/script-tests/is-string-fold-tricky.js:
  • js/regress/script-tests/is-string-fold.js:
3:57 PM Changeset in webkit [183649] by beidson@apple.com
  • 2 edits in trunk/Source/WebCore

Build fix after r183646 for less enlightened platforms.

Unreviewed.

  • Modules/webdatabase/DatabaseBackendBase.cpp:

(WebCore::fullyQualifiedInfoTableName): Windows doesn’t have stpcpy :(

3:40 PM Changeset in webkit [183648] by oliver@apple.com
  • 2 edits in trunk/Source/WebCore

DOM bindings should not be using a reference type to point to a temporary object
https://bugs.webkit.org/show_bug.cgi?id=144474

Reviewed by Beth Dakin.

The DOM bindings will currently try and use a local reference to point
to a temporary object. This currently works as a by product of the compiler's
stack layout. This patch removes the dependency on undefined behaviour
by ensuring that we use a value rather than reference type.

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateParametersCheck):
(GetNativeTypeForCallbacks):

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

Asynchronous (or timed-out synchronous) resize flashes white instead of page background color
https://bugs.webkit.org/show_bug.cgi?id=144468

Reviewed by Simon Fraser and Dan Bernstein.

  • UIProcess/API/mac/WKView.mm:

(-[WKView _viewBackgroundColor]):
(-[WKView updateLayer]):
Use the pageExtendedBackgroundColor for the background color of the WKView,
if we have one (and aren't using a transparent background). This means
during asynchronous resize or other cases where the Web process isn't keeping
up with the UI process during a resize, we'll see background color instead of white.

3:15 PM Changeset in webkit [183646] by beidson@apple.com
  • 5 edits
    3 adds in trunk

Javascript using WebSQL can create their own WebKit info table.
<rdar://problem/20688792> and https://bugs.webkit.org/show_bug.cgi?id=144466

Reviewed by Alex Christensen.

Source/WebCore:

Test: storage/websql/alter-to-info-table.html

  • Modules/webdatabase/DatabaseBackendBase.cpp:

(WebCore::DatabaseBackendBase::databaseInfoTableName): Return the info table name.
(WebCore::fullyQualifiedInfoTableName): Append "main." to the info table name.
(WebCore::DatabaseBackendBase::DatabaseBackendBase): Use the fully qualified name.
(WebCore::DatabaseBackendBase::performOpenAndVerify): Ditto.
(WebCore::DatabaseBackendBase::getVersionFromDatabase): Ditto.
(WebCore::DatabaseBackendBase::setVersionInDatabase): Ditto.

LayoutTests:

  • storage/websql/alter-to-info-table-expected.txt: Added.
  • storage/websql/alter-to-info-table.html: Added.
  • storage/websql/alter-to-info-table.js: Added.
3:00 PM Changeset in webkit [183645] by Beth Dakin
  • 4 edits in trunk/Source

Should choose UIScrollView indicatorStyle based on the document background color
https://bugs.webkit.org/show_bug.cgi?id=144473
-and corresponding-
rdar://problem/19897699

Reviewed by Simon Fraser.

Source/WebCore:

Export this function.

  • platform/graphics/Color.h:

Source/WebKit2:

Update the indicator style whenever the background color changes.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _updateScrollViewBackground]):

2:26 PM Changeset in webkit [183644] by Martin Robinson
  • 2 edits in trunk/LayoutTests

Unskip isolated words tests on WebKitGTK+

  • platform/gtk/TestExpectations: Unskip tests. We've been able to run these

since the switch to WebKitTestRunner.

1:55 PM Changeset in webkit [183643] by fpizlo@apple.com
  • 3 edits in trunk/LayoutTests

Unreviewed, skip new tests js/regress/is-string-fold.html and js/regress/is-string-fold-tricky.html because they are crashing in RJST as well.

  • js/regress/script-tests/is-string-fold-tricky.js:
  • js/regress/script-tests/is-string-fold.js:
1:03 PM Changeset in webkit [183642] by timothy@apple.com
  • 4 edits in trunk/Source/WebInspectorUI

Web Inspector: Scope Chain sidebar should be selected immediately when paused
https://bugs.webkit.org/show_bug.cgi?id=144352

Reviewed by Joseph Pecoraro.

  • UserInterface/Base/Main.js:

(WebInspector.showDebuggerTab): Added showScopeChainDetailsSidebarPanel argument.
(WebInspector._debuggerDidPause): Pass true for showScopeChainDetailsSidebarPanel.

  • UserInterface/Views/ContentBrowserTabContentView.js:

(WebInspector.ContentBrowserTabContentView): Wire the event to showDetailsSidebarPanels instead of
_contentBrowserRepresentedObjectsDidChange, allowing subclasses to do work during the event.
(WebInspector.ContentBrowserTabContentView.prototype.showDetailsSidebarPanels): Moved content of
_contentBrowserRepresentedObjectsDidChange here.
(WebInspector.ContentBrowserTabContentView.prototype._contentBrowserRepresentedObjectsDidChange): Deleted.

  • UserInterface/Views/DebuggerTabContentView.js:

(WebInspector.DebuggerTabContentView.prototype.showDetailsSidebarPanels): Added. Show the scope sidebar panel
if it is available and it was requested by showScopeChainDetailsSidebarPanel().
(WebInspector.DebuggerTabContentView.prototype.showScopeChainDetailsSidebarPanel): Added.

1:01 PM Changeset in webkit [183641] by ap@apple.com
  • 3 edits in trunk/Tools

r183355 didn't trigger Mac tests
https://bugs.webkit.org/show_bug.cgi?id=144464

Reviewed by Simon Fraser.

Update badly neglected filters and unit tests.

  • BuildSlaveSupport/build.webkit.org-config/wkbuild.py:

(_should_file_trigger_build):

  • BuildSlaveSupport/build.webkit.org-config/wkbuild_unittest.py:

(ShouldBuildTest):
(ShouldBuildTest.test_should_build):

12:51 PM Changeset in webkit [183640] by Martin Robinson
  • 5 edits
    2 adds in trunk/LayoutTests

Rebaseline some editing tests for WebKitGTK+

Also add some missing baselines.

  • fast/hidpi/broken-image-icon-very-hidpi-expected.png: Added.
  • fast/hidpi/broken-image-icon-very-hidpi-expected.txt: Added.
  • platform/gtk/editing/execCommand/5142012-1-expected.png:
  • platform/gtk/editing/execCommand/5142012-1-expected.txt:
  • platform/gtk/editing/inserting/insert-at-end-02-expected.txt:
  • platform/gtk/editing/pasteboard/4989774-expected.txt:
12:04 PM Changeset in webkit [183639] by Brent Fulgham
  • 2 edits in trunk/Source/WebCore

[Win] Allow WebKit to build without ANGLE support
https://bugs.webkit.org/show_bug.cgi?id=144459
<rdar://problem/20707307>

Reviewed by Dean Jackson.

  • platform/graphics/GLContext.cpp: Use the ENABLE(GRAPHICS_CONTEXT_3D)

macro to avoid compiling this code if not using WEBGL/3D contexts.

11:54 AM Changeset in webkit [183638] by fpizlo@apple.com
  • 2 edits in trunk/LayoutTests

Unreviewed, skip new tests js/regress/is-string-fold.html and js/regress/is-string-fold-tricky.html because they are crashing.

11:50 AM Changeset in webkit [183637] by jhoneycutt@apple.com
  • 2 edits in trunk/LayoutTests

Add image failure expectation for
svg/filters/sourceAlpha-input-filter-effect.html on Windows

Unreviewed.

  • platform/win/TestExpectations:
11:36 AM Changeset in webkit [183636] by hyatt@apple.com
  • 7 edits in trunk/Source/WebCore

Avoid containingBlock() calls when no writing mode flipping is needed.
https://bugs.webkit.org/show_bug.cgi?id=144407

Reviewed by Simon Fraser.

Add a bool to RenderView that indicates whether or not any flipped blocks have been
added to the view. Once tainted, the view just stays dirty forever. If no flipped
blocks are ever seen, we can then optimize away calls to containingBlock().

The motivation for this patch is to improve layer position updating, which makes many
calls to topLeftLocationOffset(), one of the functions that can be optimized by this
change.

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::layoutOverflowRectForPropagation):

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::updateFromStyle):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::calculateClipRects):

  • rendering/RenderLineBoxList.cpp:

(WebCore::RenderLineBoxList::rangeIntersectsRect):

  • rendering/RenderView.cpp:

(WebCore::RenderView::RenderView):

  • rendering/RenderView.h:
11:21 AM Changeset in webkit [183635] by enrica@apple.com
  • 2 edits in trunk/Source/WebKit2

[iOS] tapping in the middle of a word in editable content should not select the word.
https://bugs.webkit.org/show_bug.cgi?id=144421
rdar://problem/20710948

Reviewed by Tim Horton.

Reverting to the original behavior.

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::selectWithGesture):

11:20 AM Changeset in webkit [183634] by calvaris@igalia.com
  • 2 edits in trunk/Tools

[GTK] Add libhyphen-dev to the build dependencies
https://bugs.webkit.org/show_bug.cgi?id=144452

Reviewed by Martin Robinson.

  • gtk/install-dependencies: Added libhyphen-dev to the WebKitGTK+

build dependencies.

11:00 AM Changeset in webkit [183633] by Andres Gomez
  • 1 edit
    1 add in trunk/Source/WebInspectorUI

[GTK] Web Inspector: New Images for ObjectTreeView - Setter
https://bugs.webkit.org/show_bug.cgi?id=143173

Reviewed by Martin Robinson.

  • UserInterface/Images/gtk/Pencil.svg: Added.
10:50 AM Changeset in webkit [183632] by Martin Robinson
  • 2 edits in trunk/Tools

[GTK] Testing dictionaries are not installed automatically
https://bugs.webkit.org/show_bug.cgi?id=144460

Reviewed by Carlos Garcia Campos.

  • gtk/jhbuild.modules: Add the testing dictionaries to the main moduleset.
10:44 AM Changeset in webkit [183631] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed, add a FIXME comment referencing https://bugs.webkit.org/show_bug.cgi?id=144458.

  • jit/JITOperations.cpp:
10:40 AM Changeset in webkit [183630] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Add a comment clarifying the behavior and semantics of getCallData/getConstructData, in
particular that they cannot change their minds and may be called from compiler threads.

Rubber stamped by Geoffrey Garen.

  • runtime/JSCell.h:
10:36 AM Changeset in webkit [183629] by fpizlo@apple.com
  • 3 edits
    59 adds in trunk

DFG Is<Blah> versions of TypeOf should fold based on proven input type
https://bugs.webkit.org/show_bug.cgi?id=144409

Reviewed by Geoffrey Garen.
Source/JavaScriptCore:


We were missing some obvious folding opportunities here. I don't know how this affects real
code, but in general, we like to ensure that our constant folding is comprehensive. So this
is more about placating my static analysis OCD than anything else.

I added a bunch of speed/correctness tests for this in LayoutTests/js/regress.

  • dfg/DFGAbstractInterpreterInlines.h:

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

LayoutTests:

  • js/regress/is-boolean-fold-expected.txt: Added.
  • js/regress/is-boolean-fold-tricky-expected.txt: Added.
  • js/regress/is-boolean-fold-tricky.html: Added.
  • js/regress/is-boolean-fold.html: Added.
  • js/regress/is-function-fold-expected.txt: Added.
  • js/regress/is-function-fold-tricky-expected.txt: Added.
  • js/regress/is-function-fold-tricky-internal-function-expected.txt: Added.
  • js/regress/is-function-fold-tricky-internal-function.html: Added.
  • js/regress/is-function-fold-tricky.html: Added.
  • js/regress/is-function-fold.html: Added.
  • js/regress/is-number-fold-expected.txt: Added.
  • js/regress/is-number-fold-tricky-expected.txt: Added.
  • js/regress/is-number-fold-tricky.html: Added.
  • js/regress/is-number-fold.html: Added.
  • js/regress/is-object-or-null-fold-expected.txt: Added.
  • js/regress/is-object-or-null-fold-functions-expected.txt: Added.
  • js/regress/is-object-or-null-fold-functions.html: Added.
  • js/regress/is-object-or-null-fold-less-tricky-expected.txt: Added.
  • js/regress/is-object-or-null-fold-less-tricky.html: Added.
  • js/regress/is-object-or-null-fold-tricky-expected.txt: Added.
  • js/regress/is-object-or-null-fold-tricky.html: Added.
  • js/regress/is-object-or-null-fold.html: Added.
  • js/regress/is-object-or-null-trickier-function-expected.txt: Added.
  • js/regress/is-object-or-null-trickier-function.html: Added.
  • js/regress/is-object-or-null-trickier-internal-function-expected.txt: Added.
  • js/regress/is-object-or-null-trickier-internal-function.html: Added.
  • js/regress/is-object-or-null-tricky-function-expected.txt: Added.
  • js/regress/is-object-or-null-tricky-function.html: Added.
  • js/regress/is-object-or-null-tricky-internal-function-expected.txt: Added.
  • js/regress/is-object-or-null-tricky-internal-function.html: Added.
  • js/regress/is-string-fold-expected.txt: Added.
  • js/regress/is-string-fold-tricky-expected.txt: Added.
  • js/regress/is-string-fold-tricky.html: Added.
  • js/regress/is-string-fold.html: Added.
  • js/regress/is-undefined-fold-expected.txt: Added.
  • js/regress/is-undefined-fold-tricky-expected.txt: Added.
  • js/regress/is-undefined-fold-tricky.html: Added.
  • js/regress/is-undefined-fold.html: Added.
  • js/regress/script-tests/is-boolean-fold-tricky.js: Added.
  • js/regress/script-tests/is-boolean-fold.js: Added.
  • js/regress/script-tests/is-function-fold-tricky-internal-function.js: Added.
  • js/regress/script-tests/is-function-fold-tricky.js: Added.

(func):
(func2):

  • js/regress/script-tests/is-function-fold.js: Added.

(value1):

  • js/regress/script-tests/is-number-fold-tricky.js: Added.
  • js/regress/script-tests/is-number-fold.js: Added.
  • js/regress/script-tests/is-object-or-null-fold-functions.js: Added.

(value2):

  • js/regress/script-tests/is-object-or-null-fold-less-tricky.js: Added.
  • js/regress/script-tests/is-object-or-null-fold-tricky.js: Added.
  • js/regress/script-tests/is-object-or-null-fold.js: Added.
  • js/regress/script-tests/is-object-or-null-trickier-function.js: Added.

(func):
(func2):

  • js/regress/script-tests/is-object-or-null-trickier-internal-function.js: Added.
  • js/regress/script-tests/is-object-or-null-tricky-function.js: Added.

(func):

  • js/regress/script-tests/is-object-or-null-tricky-internal-function.js: Added.
  • js/regress/script-tests/is-string-fold-tricky.js: Added.
  • js/regress/script-tests/is-string-fold.js: Added.
  • js/regress/script-tests/is-undefined-fold-tricky.js: Added.
  • js/regress/script-tests/is-undefined-fold.js: Added.
  • js/regress/sink-function-expected.txt: Added.
  • js/regress/sink-function.html: Added.
10:21 AM Changeset in webkit [183628] by Brent Fulgham
  • 27 edits in trunk/LayoutTests

[Mac] Expand test infrastructure to support scrolling tests (Part 3)
https://bugs.webkit.org/show_bug.cgi?id=144131

Reviewed by Eric Carlson.

Update the WK2 scrolling tests to use the new scroll trigger infrastructure to reduce the use of
timeouts.

  • platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-div-latched-div-expected.txt:
  • platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-div-latched-div-with-handler-expected.txt:
  • platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-div-latched-div-with-handler.html:
  • platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-div-latched-div.html:
  • platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-div-latched-mainframe-expected.txt:
  • platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-div-latched-mainframe-with-handler-expected.txt:
  • platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-div-latched-mainframe-with-handler.html:
  • platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-div-latched-mainframe.html:
  • platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-iframe-latched-iframe-expected.txt:
  • platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-iframe-latched-iframe-with-handler-expected.txt:
  • platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-iframe-latched-iframe-with-handler.html:
  • platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-iframe-latched-iframe.html:
  • platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-iframe-latched-mainframe-expected.txt:
  • platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-iframe-latched-mainframe-with-handler-expected.txt:
  • platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-iframe-latched-mainframe-with-handler.html:
  • platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-iframe-latched-mainframe.html:
  • platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-select-latched-mainframe-expected.txt:
  • platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-select-latched-mainframe-with-handler-expected.txt:
  • platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-select-latched-mainframe-with-handler.html:
  • platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-select-latched-mainframe.html:
  • platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-select-latched-select-expected.txt:
  • platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-select-latched-select-with-handler-expected.txt:
  • platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-select-latched-select-with-handler.html:
  • platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-select-latched-select.html:
  • platform/mac-wk2/tiled-drawing/scrolling/overflow-scroll-zero-delta-wheel-events.html:
  • platform/mac-wk2/tiled-drawing/scrolling/root-overflow-with-mousewheel.html:
10:17 AM Changeset in webkit [183627] by Andres Gomez
  • 1 edit
    18 deletes in trunk/Source/WebInspectorUI

[GTK] Web Inspector: Remove some unused Images
https://bugs.webkit.org/show_bug.cgi?id=144445

Reviewed by Carlos Garcia Campos.

  • UserInterface/Images/gtk/BottomUpTree.svg: Removed.
  • UserInterface/Images/gtk/Log.png: Removed.
  • UserInterface/Images/gtk/Log@2x.png: Removed.
  • UserInterface/Images/gtk/NavigationItemAngleBrackets.svg: Removed.
  • UserInterface/Images/gtk/NavigationItemBrushAndRuler.svg: Removed.
  • UserInterface/Images/gtk/NavigationItemBug.svg: Removed.
  • UserInterface/Images/gtk/NavigationItemFile.svg: Removed.
  • UserInterface/Images/gtk/NavigationItemLayers.svg: Removed.
  • UserInterface/Images/gtk/NavigationItemLog.svg: Removed.
  • UserInterface/Images/gtk/NavigationItemProbes.svg: Removed.
  • UserInterface/Images/gtk/NavigationItemStopwatch.svg: Removed.
  • UserInterface/Images/gtk/NavigationItemStorage.svg: Removed.
  • UserInterface/Images/gtk/NavigationItemVariable.svg: Removed.
  • UserInterface/Images/gtk/Percent.svg: Removed.
  • UserInterface/Images/gtk/Reload.svg: Removed.
  • UserInterface/Images/gtk/SplitToggleDown.svg: Removed.
  • UserInterface/Images/gtk/Time.svg: Removed.
  • UserInterface/Images/gtk/Weight.svg: Removed.
9:17 AM Changeset in webkit [183626] by Martin Robinson
  • 3 edits in trunk

[CMake] Automatically expose WTF_USE_FOO to the build when USE_FOO is exposed
https://bugs.webkit.org/show_bug.cgi?id=144394

Reviewed by Carlos Garcia Campos.

Automatically expose WTF_USE_FOO when USE_FOO is exposed. A side-effect of this change
is that it fixes the redirected XComposite window for GTK+, which was accidentally
disabled in previous reworking of the CMake configuration.

  • Source/cmake/OptionsGTK.cmake: We no longer need to expose the WTF_ prefixed

version of USE variables.

  • Source/cmake/WebKitFeatures.cmake: Automatically expose WTF_USE_FOO when USE_FOO

is exposed to the build.

2:19 AM EFLWebKit edited by Gyuyoung Kim
(diff)
2:09 AM EFLWebKit edited by Gyuyoung Kim
(diff)
2:06 AM EFLWebKit edited by Gyuyoung Kim
(diff)
2:02 AM EFLWebKit edited by Gyuyoung Kim
(diff)
1:54 AM Changeset in webkit [183625] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Copy not working in Console
https://bugs.webkit.org/show_bug.cgi?id=144354

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-04-30
Reviewed by Timothy Hatcher.

  • UserInterface/Base/Main.js:

(WebInspector._focusedContentView):
Select the inner most content view to check if handleCopyEvent exists.
Previously we were stopping at the top level TabContentView.

1:37 AM Changeset in webkit [183624] by Yusuke Suzuki
  • 9 edits in trunk/Source

Use the default hash value for Symbolized StringImpl
https://bugs.webkit.org/show_bug.cgi?id=144347

Reviewed by Darin Adler.

Source/JavaScriptCore:

Before this patch, symbolized StringImpl* has a special hash value
to avoid the hash collision with the other normal StringImpl*.
I guess that it is introduced when private symbols are introduced.
However, it prevents using symbolized StringImpl* in the other place
For example, using it as WTFString cause a problem because of its special hash value.

When only using private symbols, they are not exposed to the outside of JSC,
so we can handle it carefully. But now, it's extended to symbols.
So I think storing a special hash value in StringImpl* causes an error.

To avoid this, I propose using the usual hash value in symbolized StringImpl*.
And to provide significantly different hash value when using it as symbol,
store the additional hash value in symbolized StringImpl*. It is used when
the hash value is required by IdentifierRepHash.

  • runtime/Identifier.h:

(JSC::IdentifierRepHash::hash):

  • runtime/Lookup.h:

(JSC::HashTable::entry):

  • runtime/PropertyMapHashTable.h:

(JSC::PropertyTable::find):
(JSC::PropertyTable::get):

  • runtime/Structure.cpp:

(JSC::PropertyTable::checkConsistency):

Source/WTF:

Use a default hash value calculation for symbolized StringImpl.

  • wtf/text/StringImpl.cpp:

(WTF::StringImpl::createSymbol):

  • wtf/text/StringImpl.h:

(WTF::StringImpl::StringImpl):
(WTF::StringImpl::symbolAwareHash):
(WTF::StringImpl::existingSymbolAwareHash):
(WTF::StringImpl::hashForSymbol):

  • wtf/text/StringStatics.cpp:

(WTF::StringImpl::nextHashForSymbol):
(WTF::StringImpl::hashAndFlagsForSymbol): Deleted.

12:39 AM Changeset in webkit [183623] by Antti Koivisto
  • 3 edits in trunk/LayoutTests

These should be saying HTTP/1.1 not HTTP/1.0

  • http/tests/cache/resources/iframe304.php:
  • http/tests/cache/resources/iframe304body.php:
12:30 AM WebKitEFLLayoutTest edited by Gyuyoung Kim
(diff)
12:30 AM WebKitEFLLayoutTest edited by Gyuyoung Kim
(diff)
12:29 AM WebKitEFLLayoutTest edited by Gyuyoung Kim
(diff)
12:25 AM WebKitEFLLayoutTest edited by Gyuyoung Kim
(diff)
12:13 AM Changeset in webkit [183622] by Carlos Garcia Campos
  • 2 edits in trunk

Unreviewed. Bump GTK+ version numbers.

  • Source/cmake/OptionsGTK.cmake:
12:08 AM Changeset in webkit [183621] by commit-queue@webkit.org
  • 4 edits in trunk/Tools

Fix return code issue, check return code of safari process and dump results to log
https://bugs.webkit.org/show_bug.cgi?id=144436

Patch by Dewei Zhu <Dewei Zhu> on 2015-04-30
Reviewed by Ryosuke Niwa.

  • Scripts/run-benchmark:
  • Scripts/webkitpy/benchmark_runner/benchmark_runner.py:

(BenchmarkRunner.dump): Correct typo.
(BenchmarkRunner.wrap): Add results to console.

  • Scripts/webkitpy/benchmark_runner/browser_driver/osx_safari_driver.py: Check return code to detect Safari crashes.

(OSXSafariDriver.prepareEnv):
(OSXSafariDriver.launchUrl):
(OSXSafariDriver.closeBrowsers):

Note: See TracTimeline for information about the timeline view.