WebKit-https.git
6 years agoOptimize relativePositionOffset() to avoid doing unnecessary work
hyatt@apple.com [Wed, 6 May 2015 18:37:51 +0000 (18:37 +0000)]
Optimize relativePositionOffset() to avoid doing unnecessary work
https://bugs.webkit.org/show_bug.cgi?id=144698

Reviewed by Simon Fraser.

* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::relativePositionOffset):

Patch relativePositionOffset to avoid doing unnecessary work in the common case where
all values of top/left/right/bottom are either auto or fixed. We no longer fetch
containingBlock() into a local always, but instead just invoke the function only
when necessary.

Also avoid computing the percentage-relative maximum for the top/right/bottom/left lengths
when they are fixed values, since that maximum won't be examined at all.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@183879 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[FreeType] Vertical CJK glyphs should not be rendered with synthetic oblique
mrobinson@webkit.org [Wed, 6 May 2015 17:52:43 +0000 (17:52 +0000)]
[FreeType] Vertical CJK glyphs should not be rendered with synthetic oblique
https://bugs.webkit.org/show_bug.cgi?id=144612

Reviewed by Darin Adler.

Source/WebCore:

No new tests. This causes fast/text/international/synthesized-italic-vertical.html to pass.

* platform/graphics/Font.cpp:
(WebCore::Font::nonSyntheticItalicFont): Compile this method for Cairo as well.
* platform/graphics/FontCascadeFonts.cpp:
(WebCore::FontCascadeFonts::glyphDataForSystemFallback): When searching for the system fallback,
ensure that we do not use synthetic oblique when rendering vertical CJK glyphs.
(WebCore::FontCascadeFonts::glyphDataForNormalVariant): Extend the CJK fix to Cairo ports.
* platform/graphics/FontPlatformData.h:
(WebCore::FontPlatformData::setSyntheticOblique): Added this helper method, because
Freetype/Cairo ports needs to be able to recreate the scaled font matrix when the
synthetic oblique settings changes.
* platform/graphics/freetype/FontPlatformData.h: Rename initializeWithFontFace to buildScaledFont.
Remove the now unused m_horizontalOrientationMatrix member.
(WebCore::FontPlatformData::setSyntheticOblique): Added the helper here as well.
* platform/graphics/freetype/FontPlatformDataFreeType.cpp:
(WebCore::FontPlatformData::FontPlatformData): Calculate whether or not to use synthetic oblique here,
before buildScaledFont is called. Call buildScaledFont instead of initializeWithFontFace.
(WebCore::FontPlatformData::operator=):
(WebCore::FontPlatformData::buildScaledFont): Renamed from initializeWithFontFace, does
the same thing, except calculate whether or not to use synthetic oblique. Instead just
reads the value.
(WebCore::FontPlatformData::setOrientation): Instead of adjusting the font matrix, recreate
the entire font.
(WebCore::FontPlatformData::setSyntheticOblique): Added.
(WebCore::rotateCairoMatrixForVerticalOrientation): Deleted.
(WebCore::FontPlatformData::initializeWithFontFace): Deleted.

LayoutTests:

* platform/gtk/TestExpectations: Remove expectation for failing test.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@183878 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[Content Extensions] Test splitting NFAs by max NFA size.
commit-queue@webkit.org [Wed, 6 May 2015 17:51:07 +0000 (17:51 +0000)]
[Content Extensions] Test splitting NFAs by max NFA size.
https://bugs.webkit.org/show_bug.cgi?id=144659

Patch by Alex Christensen <achristensen@webkit.org> on 2015-05-06
Reviewed by Darin Adler.

Source/WebCore:

* WebCore.xcodeproj/project.pbxproj:
* contentextensions/CombinedURLFilters.cpp:
(WebCore::ContentExtensions::generateNFAForSubtree):
(WebCore::ContentExtensions::CombinedURLFilters::processNFAs):
* contentextensions/CombinedURLFilters.h:
* contentextensions/ContentExtensionCompiler.cpp:
(WebCore::ContentExtensions::compileRuleList):
* contentextensions/DFABytecodeCompiler.h:
* contentextensions/DFABytecodeInterpreter.h:
Make maxNFASize a parameter so we can test it with small values.

Tools:

* TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp:
(TestWebKitAPI::createNFAs):
(TestWebKitAPI::TEST_F):
* TestWebKitAPI/Tests/WebCore/DFAMinimizer.cpp:
(TestWebKitAPI::createNFAs):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@183877 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoUnreviewed GTK+ gardening
mrobinson@webkit.org [Wed, 6 May 2015 17:47:32 +0000 (17:47 +0000)]
Unreviewed GTK+ gardening

* platform/gtk/TestExpectations: Remove a couple expectations tests.
* platform/gtk/editing/execCommand/nsresponder-outdent-expected.txt:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@183876 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoREGRESSION (r183467): Unable to start downloads in private browsing mode
antti@apple.com [Wed, 6 May 2015 17:31:12 +0000 (17:31 +0000)]
REGRESSION (r183467): Unable to start downloads in private browsing mode
https://bugs.webkit.org/show_bug.cgi?id=144533

Reviewed by Darin Adler.

Source/WebCore:

If willSendRequest delegate mutated the request we would lose the requester field value from the original.

No test runner support for mutating requests.

* platform/network/cf/ResourceRequestCFNet.cpp:
(WebCore::ResourceRequest::updateFromDelegatePreservingOldProperties):

    This needs to keep the requester too.

* platform/network/cocoa/ResourceRequestCocoa.mm:
(WebCore::ResourceRequest::updateFromDelegatePreservingOldProperties): Deleted.

    Share implementations.

Source/WebKit/mac:

* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::dispatchWillSendRequest):

    Use updateFromDelegatePreservingOldProperties (like WK2) instead of doing the same thing manually.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@183875 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoDon't allocate a StringImpl for every Number JSValue in JSON.stringify().
akling@apple.com [Wed, 6 May 2015 17:10:38 +0000 (17:10 +0000)]
Don't allocate a StringImpl for every Number JSValue in JSON.stringify().
<https://webkit.org/b/144676>

Reviewed by Darin Adler.

We were creating a new String for every number JSValue passing through the JSON stringifier.
These StringImpl allocations were dominating one of the Kraken JSON benchmarks.
Optimize this by using StringBuilder::appendECMAScriptNumber() which uses a stack buffer
for the conversion instead.

13% progression on Kraken/json-stringify-tinderbox.

* runtime/JSONObject.cpp:
(JSC::Stringifier::appendStringifiedValue):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@183874 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoUpdate expectations for fast/forms/button-line-height.html
ap@apple.com [Wed, 6 May 2015 17:02:47 +0000 (17:02 +0000)]
Update expectations for fast/forms/button-line-height.html

* TestExpectations:
* platform/efl/TestExpectations:
* platform/gtk/TestExpectations:
* platform/win/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@183873 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoUnreviewed, rolling out r183847.
commit-queue@webkit.org [Wed, 6 May 2015 16:50:19 +0000 (16:50 +0000)]
Unreviewed, rolling out r183847.
https://bugs.webkit.org/show_bug.cgi?id=144691

Caused many assertion failures (Requested by ap on #webkit).

Reverted changeset:

"GC has trouble with pathologically large array allocations"
https://bugs.webkit.org/show_bug.cgi?id=144609
http://trac.webkit.org/changeset/183847

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@183872 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoToggling underline on font panel removes strike through
rniwa@webkit.org [Wed, 6 May 2015 16:42:33 +0000 (16:42 +0000)]
Toggling underline on font panel removes strike through
https://bugs.webkit.org/show_bug.cgi?id=144670
<rdar://problem/3790443>

Reviewed by Darin Adler.

Source/WebCore:

* editing/EditingStyle.cpp:
(WebCore::EditingStyle::EditingStyle): Added a variant that takes CSSStyleDeclaration.
* editing/EditingStyle.h:
(WebCore::EditingStyle::create): Ditto.
* editing/Editor.cpp:
(WebCore::Editor::applyStyleToSelection): Takes Ref<EditingStyle>&& instead of RefPtr<EditingStyle>&&.
* editing/Editor.h:
* editing/EditorCommand.cpp:
(WebCore::applyCommandToFrame): Ditto.
(WebCore::executeStrikethrough):
(WebCore::executeUnderline):

Source/WebKit/mac:

Use setStrikeThroughChange and setUnderlineChange added in r183770 to toggle underline and strike through.

* WebView/WebHTMLView.mm:
(-[WebHTMLView _applyEditingStyleToSelection:withUndoAction:]):
(-[WebHTMLView _styleForAttributeChange:]):
(-[WebHTMLView changeAttributes:]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@183871 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoMore build fixing.
jberlin@webkit.org [Wed, 6 May 2015 16:36:25 +0000 (16:36 +0000)]
More build fixing.

* page/mac/TextIndicatorWindow.mm:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@183870 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago32-bit build fix after r183859 and r183860.
jberlin@webkit.org [Wed, 6 May 2015 16:25:09 +0000 (16:25 +0000)]
32-bit build fix after r183859 and r183860.

* page/mac/TextIndicatorWindow.mm:
Autosynthesis isn't available for our 32-bit builds.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@183869 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[EGL] Move EGLDisplay handling to PlatformDisplay and remove PlatformDisplay definiti...
carlosgc@webkit.org [Wed, 6 May 2015 16:06:30 +0000 (16:06 +0000)]
[EGL] Move EGLDisplay handling to PlatformDisplay and remove PlatformDisplay definition from GLDefs.h
https://bugs.webkit.org/show_bug.cgi?id=144685

Reviewed by Martin Robinson.

The EGL display is also initialized in multiple places, and could
be unified in PlatformDisplay. Remove the PlatformDisplay
definition from platform/graphics/opengl/GLDefs.h to avoid conflicts.

* platform/graphics/PlatformDisplay.cpp:
(WebCore::PlatformDisplay::PlatformDisplay): Initialize m_eglDisplay.
(WebCore::PlatformDisplay::~PlatformDisplay): Call terminateEGLDisplay().
(WebCore::PlatformDisplay::eglDisplay): Lazy intialize the EGL
display and return it.
(WebCore::PlatformDisplay::initializeEGLDisplay):
(WebCore::PlatformDisplay::terminateEGLDisplay):
* platform/graphics/PlatformDisplay.h:
* platform/graphics/egl/GLContextEGL.cpp:
(WebCore::sharedEGLDisplay): Use PlatformDisplay::eglDisplay().
* platform/graphics/opengl/GLDefs.h: Remove unneeded definitions.
* platform/graphics/opengl/GLPlatformSurface.cpp:
(WebCore::GLPlatformSurface::GLPlatformSurface): Remove
m_sharedDisplay member, PlatformDisplay::sharedDisplay() can be used instead.
(WebCore::GLPlatformSurface::sharedDisplay): Deleted.
* platform/graphics/opengl/GLPlatformSurface.h:
* platform/graphics/surfaces/egl/EGLConfigSelector.h: Use
EGLDisplay instead of PlatformDisplay.
* platform/graphics/surfaces/egl/EGLContext.cpp:
(WebCore::EGLOffScreenContext::initialize): Use PlatformDisplay::eglDisplay().
* platform/graphics/surfaces/egl/EGLHelper.cpp: Remove the
EGLDisplayConnection clas and use PlatformDisplay instead.
(WebCore::EGLHelper::eglDisplay):
(WebCore::EGLHelper::currentDisplay):
(WebCore::EGLDisplayConnection::EGLDisplayConnection): Deleted.
(WebCore::EGLDisplayConnection::~EGLDisplayConnection): Deleted.
(WebCore::EGLDisplayConnection::display): Deleted.
(WebCore::EGLDisplayConnection::terminate): Deleted.
* platform/graphics/surfaces/egl/EGLHelper.h:
* platform/graphics/surfaces/egl/EGLSurface.cpp:
(WebCore::EGLTransportSurface::EGLTransportSurface): Use EGLHelper::eglDisplay().
(WebCore::EGLTransportSurface::destroy): Ditto.
(WebCore::EGLOffScreenSurface::EGLOffScreenSurface): Ditto.
(WebCore::EGLOffScreenSurface::destroy): Ditto.
* platform/graphics/surfaces/egl/EGLXSurface.cpp:
(WebCore::EGLWindowTransportSurface::EGLWindowTransportSurface):
Use PlatformDisplay::eglDisplay().
(WebCore::EGLWindowTransportSurface::swapBuffers): Ditto.
(WebCore::EGLPixmapSurface::EGLPixmapSurface): Ditto.
* platform/graphics/surfaces/glx/GLXContext.cpp:
(WebCore::GLXOffScreenContext::initialize): Use X11Helper::nativeDisplay().
* platform/graphics/surfaces/glx/GLXSurface.cpp:
(WebCore::GLXTransportSurface::GLXTransportSurface): Do not use m_sharedDisplay.
(WebCore::GLXOffScreenSurface::initialize): Ditto.
* platform/graphics/wayland/PlatformDisplayWayland.cpp:
(WebCore::PlatformDisplayWayland::PlatformDisplayWayland): Call
PlatformDisplay::initializeEGLDisplay() to insialize the EGL display.
* platform/graphics/wayland/PlatformDisplayWayland.h:
* platform/graphics/x11/PlatformDisplayX11.cpp:
(WebCore::PlatformDisplayX11::initializeEGLDisplay): Override
PlatformDisplay::initializeEGLDisplay() to initialize the
m_eglDisplay member.
* platform/graphics/x11/PlatformDisplayX11.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@183868 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoWeb Inspector: DOMStorage exception and issue with sessionStorage
commit-queue@webkit.org [Wed, 6 May 2015 12:55:20 +0000 (12:55 +0000)]
Web Inspector: DOMStorage exception and issue with sessionStorage
https://bugs.webkit.org/show_bug.cgi?id=144646

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2015-05-06
Reviewed by Timothy Hatcher.

Source/WebCore:

* inspector/InspectorDOMStorageAgent.cpp:
(WebCore::InspectorDOMStorageAgent::findStorageArea):
Return session storage if the identifier says not local storage.

Source/WebInspectorUI:

* UserInterface/Views/DOMStorageContentView.js:
(WebInspector.DOMStorageContentView):
(WebInspector.DOMStorageContentView.prototype._populate):
(WebInspector.DOMStorageContentView.prototype.reset): Deleted.
Always have the datagrid be available with a default sort.

(WebInspector.DOMStorageContentView.prototype._sortDataGrid.comparator):
(WebInspector.DOMStorageContentView.prototype._sortDataGrid):
Simplify and correct the order.

(WebInspector.DOMStorageContentView.prototype.cleanup):
Cleanup some uses of delete.

* UserInterface/Views/DataGrid.js:
(WebInspector.DataGrid.prototype.sortNodesImmediately):
Provide a way to sort immediately without a visible delay.

(WebInspector.DataGrid.prototype._sortNodesCallback):
Cleanup some dead code to simplify sorting.

(WebInspector.DataGridNode.prototype._attach):
When sorting, the children list does not match the child node list,
so ensure that placeholder nodes are added to the end.

(WebInspector.PlaceholderDataGridNode.prototype.makeNormal):
Cleanup some uses of delete.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@183867 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoMove ReadableStreamJSSource.h/.cpp to ReadableJSStream.h/.cpp
youenn.fablet@crf.canon.fr [Wed, 6 May 2015 11:59:41 +0000 (11:59 +0000)]
Move ReadableStreamJSSource.h/.cpp to ReadableJSStream.h/.cpp
https://bugs.webkit.org/show_bug.cgi?id=144567

Reviewed by Darin Adler.

In addition to renaming ReadableStreamJSSource.h/.cpp, ReadableStreamJSSource is now made a private class of
ReadableJSStream, called ReadableJSStream::Source.
Made some minor refactoring (passing some ExecState by ref and not by pointer).
No functional change, existing tests cover the changes.

* bindings/js/JSReadableStreamCustom.cpp:
* bindings/js/ReadableJSStream.cpp:
(WebCore::ReadableJSStream::Source::create):
(WebCore::ReadableJSStream::Source::Source):
(WebCore::ReadableJSStream::Source::~Source):
(WebCore::ReadableJSStream::Source::globalObject):
(WebCore::ReadableJSStream::Source::start):
(WebCore::ReadableJSStream::create):
(WebCore::ReadableJSStream::ReadableJSStream):
* bindings/js/ReadableJSStream.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@183866 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[GTK][WK2] The WebKit network disk cache is not enabled
carlosgc@webkit.org [Wed, 6 May 2015 09:12:39 +0000 (09:12 +0000)]
[GTK][WK2] The WebKit network disk cache is not enabled
https://bugs.webkit.org/show_bug.cgi?id=142821

Reviewed by Martin Robinson.

Source/WebKit2:

Enable NetworkCache for the GTK+ port.

* config.h:

LayoutTests:

Unskip http/tests/cache/disk-cache tests.

* platform/gtk/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@183865 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[EFL] Remove redudant condition in ViewClientEfl::didChangeViewportAttributes
ryuan.choi@navercorp.com [Wed, 6 May 2015 08:17:31 +0000 (08:17 +0000)]
[EFL] Remove redudant condition in ViewClientEfl::didChangeViewportAttributes
https://bugs.webkit.org/show_bug.cgi?id=144672

Reviewed by Gyuyoung Kim.

ViewClientEfl::didChangeViewportAttributes is always called when fixed layout is disabled.

* UIProcess/efl/ViewClientEfl.cpp:
(WebKit::ViewClientEfl::didChangeViewportAttributes):
Removes condition that checks whether fixed layout is enabled.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@183864 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoWeb Inspector: SourceCodeTextEditor shows "undefined" instead of resource content...
commit-queue@webkit.org [Wed, 6 May 2015 07:06:54 +0000 (07:06 +0000)]
Web Inspector: SourceCodeTextEditor shows "undefined" instead of resource content when pausing during resource load
https://bugs.webkit.org/show_bug.cgi?id=144662

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2015-05-06
Reviewed by Timothy Hatcher.

* UserInterface/Protocol/InspectorBackend.js:
(InspectorBackend.Command.prototype.promise):
Start standardizing on rejecting Promises with Error objects.

* UserInterface/Views/ResourceContentView.js:
(WebInspector.ResourceContentView):
(WebInspector.ResourceContentView.prototype._protocolError):
When there is a protocol error, show a nice UI string for the error.

(WebInspector.ResourceContentView.prototype._contentAvailable):
(WebInspector.ResourceContentView.prototype._contentError):
(WebInspector.ResourceContentView.prototype._hasContent):
Whenever we hit an error case in ResourceContentView, check to make sure
that a subclass hasn't already populated the content view with content.
This can happen when a TextResourceContentView populates a Resource with
Script content while paused, because the Resource content would be
unavailable. We check that content has loaded by checking that the
indeterminate spinner is no longer showing.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@183863 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoLayoutTests/fast/forms/button-line-height.html is broken on non-Mac/non-iOS ports
nvasilyev@apple.com [Wed, 6 May 2015 07:02:36 +0000 (07:02 +0000)]
LayoutTests/fast/forms/button-line-height.html is broken on non-Mac/non-iOS ports
https://bugs.webkit.org/show_bug.cgi?id=144673

* TestExpectations: Skip broken test.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@183862 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoNetworkResourceLoader::cleanup() should clear ResourceHandle client pointer.
ap@apple.com [Wed, 6 May 2015 06:55:16 +0000 (06:55 +0000)]
NetworkResourceLoader::cleanup() should clear ResourceHandle client pointer.
https://bugs.webkit.org/show_bug.cgi?id=144641
rdar://problem/20250960

Reviewed by David Kilzer.

* NetworkProcess/NetworkResourceLoader.cpp: (WebKit::NetworkResourceLoader::cleanup):
Clear the client pointer.

* Shared/Authentication/AuthenticationManager.cpp:
(WebKit::AuthenticationManager::useCredentialForChallenge):
(WebKit::AuthenticationManager::continueWithoutCredentialForChallenge):
(WebKit::AuthenticationManager::cancelChallenge):
(WebKit::AuthenticationManager::performDefaultHandling):
(WebKit::AuthenticationManager::rejectProtectionSpaceAndContinue):
Updated comments, which were not accurate, at least on Mac.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@183861 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoREGRESSION (r183517): Yellow find-in-page highlight gets stuck forever
timothy_horton@apple.com [Wed, 6 May 2015 06:46:30 +0000 (06:46 +0000)]
REGRESSION (r183517): Yellow find-in-page highlight gets stuck forever
https://bugs.webkit.org/show_bug.cgi?id=144651
<rdar://problem/20755722>

* page/mac/TextIndicatorWindow.mm:
Fix an incorrectly-applied review comment.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@183860 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoREGRESSION (r183517): Yellow find-in-page highlight gets stuck forever
timothy_horton@apple.com [Wed, 6 May 2015 06:26:24 +0000 (06:26 +0000)]
REGRESSION (r183517): Yellow find-in-page highlight gets stuck forever
https://bugs.webkit.org/show_bug.cgi?id=144651
<rdar://problem/20755722>

Reviewed by Dan Bernstein.

* page/mac/TextIndicatorWindow.h:
* page/mac/TextIndicatorWindow.mm:
(WebCore::TextIndicatorWindow::clearTextIndicator):
(WebCore::TextIndicatorWindow::setTextIndicator):
(WebCore::TextIndicatorWindow::closeWindow):
(WebCore::TextIndicatorWindow::startFadeOut):
We can't keep m_fadingOut on TextIndicatorWindow, since it is reused.
Keep it on the WebTextIndicatorView instead.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@183859 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoAdd missing vtable override specifiers under Source/WebCore/html
zandobersek@gmail.com [Wed, 6 May 2015 06:23:24 +0000 (06:23 +0000)]
Add missing vtable override specifiers under Source/WebCore/html
https://bugs.webkit.org/show_bug.cgi?id=144578

Reviewed by Daniel Bates.

Update virtual method overrides under Source/WebCore/html
which are missing the override specifier.

* html/canvas/WebGL2RenderingContext.h:
* html/canvas/WebGLRenderingContext.h:
* html/track/InbandTextTrack.h:
* html/track/TrackListBase.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@183858 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoAdd missing vtable override specifiers under Source/WebCore/rendering
zandobersek@gmail.com [Wed, 6 May 2015 06:21:20 +0000 (06:21 +0000)]
Add missing vtable override specifiers under Source/WebCore/rendering
https://bugs.webkit.org/show_bug.cgi?id=144570

Reviewed by Darin Adler.

Update virtual method overrides under Source/WebCore/rendering
which are missing the override specifiers.

* rendering/InlineTextBox.h:
(WebCore::InlineTextBox::calculateBoundaries): Deleted.
* rendering/RenderFlowThread.h:
* rendering/RenderMedia.h:
(WebCore::RenderMedia::shadowControlsNeedCustomLayoutMetrics): Deleted.
* rendering/RenderMultiColumnSet.h:
* rendering/RenderRegion.h:
* rendering/RenderRegionSet.h:
* rendering/RenderThemeGtk.h:
* rendering/mathml/RenderMathMLOperator.h:
* rendering/svg/RenderSVGBlock.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@183857 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoAdd missing vtable override specifiers under Source/WebCore/Modules
zandobersek@gmail.com [Wed, 6 May 2015 06:17:02 +0000 (06:17 +0000)]
Add missing vtable override specifiers under Source/WebCore/Modules
https://bugs.webkit.org/show_bug.cgi?id=144569

Reviewed by Darin Adler.

Update virtual method overrides under Source/WebCore/Modules
which are missing the override specifier.

* Modules/mediasource/SourceBuffer.h:
* Modules/mediastream/MediaStreamTrack.h:
* Modules/mediastream/RTCVoidRequestImpl.h:
* Modules/webaudio/AudioContext.h:
(WebCore::AudioContext::mediaType): Deleted.
(WebCore::AudioContext::presentationType): Deleted.
(WebCore::AudioContext::canReceiveRemoteControlCommands): Deleted.
(WebCore::AudioContext::didReceiveRemoteControlCommand): Deleted.
(WebCore::AudioContext::overrideBackgroundPlaybackRestriction): Deleted.
* Modules/webaudio/MediaStreamAudioDestinationNode.h:
* Modules/webaudio/MediaStreamAudioSourceNode.h:
* Modules/webaudio/WaveShaperDSPKernel.h:
* Modules/websockets/WebSocketChannel.h:
(WebCore::WebSocketChannel::refThreadableWebSocketChannel): Deleted.
(WebCore::WebSocketChannel::derefThreadableWebSocketChannel): Deleted.
* Modules/websockets/WorkerThreadableWebSocketChannel.h:
(WebCore::WorkerThreadableWebSocketChannel::refThreadableWebSocketChannel): Deleted.
(WebCore::WorkerThreadableWebSocketChannel::derefThreadableWebSocketChannel): Deleted.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@183856 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoEventHandler::m_eventHandlerWillResetCapturingMouseEventsElement is incorrectly initi...
zandobersek@gmail.com [Wed, 6 May 2015 06:14:51 +0000 (06:14 +0000)]
EventHandler::m_eventHandlerWillResetCapturingMouseEventsElement is incorrectly initialized
https://bugs.webkit.org/show_bug.cgi?id=144583

Reviewed by Daniel Bates.

* page/EventHandler.cpp:
(WebCore::EventHandler::EventHandler): The
m_eventHandlerWillResetCapturingMouseEventsElement is a boolean,
so initialize it to false, instead of to nullptr.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@183855 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoViews get stuck with viewScale < 1 after switching from DynamicSizeWithMinimumViewSiz...
timothy_horton@apple.com [Wed, 6 May 2015 06:11:39 +0000 (06:11 +0000)]
Views get stuck with viewScale < 1 after switching from DynamicSizeWithMinimumViewSize to ViewSize
https://bugs.webkit.org/show_bug.cgi?id=144656

Reviewed by Dan Bernstein.

* UIProcess/mac/WKViewLayoutStrategy.mm:
(-[WKViewDynamicSizeWithMinimumViewSizeLayoutStrategy willChangeLayoutStrategy]):
Reset the viewScale when we leave the DynamicSizeWithMinimumViewSize strategy.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@183854 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoRemove the remaining vestiges of SVG feature define
commit-queue@webkit.org [Wed, 6 May 2015 05:57:56 +0000 (05:57 +0000)]
Remove the remaining vestiges of SVG feature define
https://bugs.webkit.org/show_bug.cgi?id=144655

Patch by daegyu lee <daegyu.lee@navercorp.com> on 2015-05-05
Reviewed by Alexey Proskuryakov.

Tools:

* Scripts/webkitperl/FeatureList.pm:

WebKitLibraries:

* win/tools/vsprops/FeatureDefines.props:
* win/tools/vsprops/FeatureDefinesCairo.props:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@183853 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoPutGlobalVar shouldn't have an unconditional store barrier
fpizlo@apple.com [Wed, 6 May 2015 05:56:43 +0000 (05:56 +0000)]
PutGlobalVar shouldn't have an unconditional store barrier
https://bugs.webkit.org/show_bug.cgi?id=133104

Reviewed by Benjamin Poulain.

We don't need a store barrier on PutGlobalVar if the value being stored can be
speculated to not be a cell.

* dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@183852 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoCopiedBlock::reportLiveBytes() should be totally cool with oversize blocks
fpizlo@apple.com [Wed, 6 May 2015 05:52:52 +0000 (05:52 +0000)]
CopiedBlock::reportLiveBytes() should be totally cool with oversize blocks
https://bugs.webkit.org/show_bug.cgi?id=144667

Reviewed by Andreas Kling.

We are now calling this method for oversize blocks. It had an assertion that indirectly
implied that the block is not oversize, because it was claiming that the number of live
bytes should be smaller than the non-oversize-block size.

* heap/CopiedBlockInlines.h:
(JSC::CopiedBlock::reportLiveBytes):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@183851 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[CSS Grid Layout] grid-template-areas should accept none value
rego@igalia.com [Wed, 6 May 2015 05:39:02 +0000 (05:39 +0000)]
[CSS Grid Layout] grid-template-areas should accept none value
https://bugs.webkit.org/show_bug.cgi?id=144624

Reviewed by Darin Adler.

Source/WebCore:

Default value for grid-template-areas property is "none":
http://dev.w3.org/csswg/css-grid/#propdef-grid-template-areas

Currently if you set the property to "none" from JavaScript, the value
doesn't get reseted and it keeps the old value.

Update fast/css-grid-layout/grid-template-areas-get-set.html adding a
new test case.

* css/CSSParser.cpp:
(WebCore::CSSParser::parseGridTemplateAreas): Add support to parse
"none" successfully.

LayoutTests:

* fast/css-grid-layout/grid-template-areas-get-set-expected.txt:
* fast/css-grid-layout/grid-template-areas-get-set.html: Add new test
case to check "none" support.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@183850 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoRemove unused RenderLayerBacking::hasContentsLayer().
zalan@apple.com [Wed, 6 May 2015 04:57:41 +0000 (04:57 +0000)]
Remove unused RenderLayerBacking::hasContentsLayer().
https://bugs.webkit.org/show_bug.cgi?id=144658

Reviewed by Simon Fraser.

No change in functionality.

* rendering/RenderLayerBacking.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@183849 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoFix tests after r183770 on non-Mac ports. These tests are expecting Mac editing behavior.
rniwa@webkit.org [Wed, 6 May 2015 04:39:57 +0000 (04:39 +0000)]
Fix tests after r183770 on non-Mac ports. These tests are expecting Mac editing behavior.

* editing/execCommand/strikethroughSelection.html:
* editing/execCommand/toggle-mixed-text-decorations.html:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@183848 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoGC has trouble with pathologically large array allocations
fpizlo@apple.com [Wed, 6 May 2015 03:39:20 +0000 (03:39 +0000)]
GC has trouble with pathologically large array allocations
https://bugs.webkit.org/show_bug.cgi?id=144609

Reviewed by Mark Lam.

* heap/Heap.cpp:
(JSC::Heap::updateObjectCounts): Make this code less confusing.
* heap/SlotVisitorInlines.h:
(JSC::SlotVisitor::copyLater): The early return for isOversize() was the bug. We still need to report these bytes as live. Otherwise the GC doesn't know that it owns this memory.
* jsc.cpp: Add size measuring hooks to write the largeish test.
(GlobalObject::finishCreation):
(functionGCAndSweep):
(functionFullGC):
(functionEdenGC):
(functionHeapSize):
* tests/stress/new-array-storage-array-with-size.js: Fix this so that it actually allocates ArrayStorage arrays and tests the thing it was supposed to test.
* tests/stress/new-largeish-contiguous-array-with-size.js: Added. This tests what the other test accidentally started testing, but does so without running your system out of memory.
(foo):
(test):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@183847 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoFix the build.
timothy_horton@apple.com [Wed, 6 May 2015 02:10:43 +0000 (02:10 +0000)]
Fix the build.

* Platform/mac/LayerHostingContext.mm:
(WebKit::LayerHostingContext::setFencePort):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@183846 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[Content Extensions] Limit NFA size.
achristensen@apple.com [Wed, 6 May 2015 01:12:49 +0000 (01:12 +0000)]
[Content Extensions] Limit NFA size.
https://bugs.webkit.org/show_bug.cgi?id=144649

Reviewed by Benjamin Poulain.

* contentextensions/CombinedURLFilters.cpp:
(WebCore::ContentExtensions::generateNFAForSubtree):
(WebCore::ContentExtensions::CombinedURLFilters::processNFAs):
Add a maximum NFA size to ensure that we do not use too much memory when compiling.
* contentextensions/ContentExtensionCompiler.cpp:
(WebCore::ContentExtensions::compileRuleList):
Remove debugging code that doesn't compile any more.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@183845 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoFix the build.
timothy_horton@apple.com [Wed, 6 May 2015 00:21:47 +0000 (00:21 +0000)]
Fix the build.

* UIProcess/mac/WKViewLayoutStrategy.mm:
(-[WKViewDynamicSizeWithMinimumViewSizeLayoutStrategy updateLayout]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@183844 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoUnreviewed. Some assertion failures in compositing code after r183820.
roger_fong@apple.com [Tue, 5 May 2015 23:48:24 +0000 (23:48 +0000)]
Unreviewed. Some assertion failures in compositing code after r183820.
https://bugs.webkit.org/show_bug.cgi?id=144630.

* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::computeCompositingRequirements):
* platform/mac/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@183843 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[GTK] platform/gtk/accessibility/unknown-roles-not-exposed.html is flaky
jdiggs@igalia.com [Tue, 5 May 2015 23:44:40 +0000 (23:44 +0000)]
[GTK] platform/gtk/accessibility/unknown-roles-not-exposed.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=74493

Reviewed by Chris Fleizach.

Make the test more reliable by searching for a child with an unknown role
rather than depending on an exact hierarchy. This makes the test applicable
to other platforms as at least Efl and Mac also do not expose children with
unknown roles, so it's now part of the shared accessibility tests.

* accessibility/unknown-roles-not-exposed-expected.txt: Added.
* accessibility/unknown-roles-not-exposed.html: Added.
* platform/gtk/TestExpectations: Removed skipped test.
* platform/gtk/accessibility/unknown-roles-not-exposed-expected.txt: Removed.
* platform/gtk/accessibility/unknown-roles-not-exposed.html: Removed.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@183842 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoAdd a layout mode for computing fixed layout size from a minimum size
timothy_horton@apple.com [Tue, 5 May 2015 23:39:06 +0000 (23:39 +0000)]
Add a layout mode for computing fixed layout size from a minimum size
https://bugs.webkit.org/show_bug.cgi?id=144610
<rdar://problem/19790341>

Reviewed by Simon Fraser.

Add a layout mode where WebKit determines the layout size with a set of
(still in flux) heuristics, trying hard to keep the page usable below a
particular client-defined threshold view size.

This can mean that WebKit will start scaling down the page inside the view
to make the whole page fit, using the viewScale mechanism.

* UIProcess/API/C/WKLayoutMode.h:
* UIProcess/API/Cocoa/_WKLayoutMode.h:
Add the new layout mode, and documentation for the two complicated ones.

* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _layoutMode]):
(-[WKWebView _setLayoutMode:]):
(-[WKWebView _setViewScale:]):
(-[WKWebView _setMinimumViewSize:]):
(-[WKWebView _minimumViewSize]):
* UIProcess/API/Cocoa/WKWebViewPrivate.h:
Forward the layoutMode and viewScale parameters to WKView if we have one.

* UIProcess/API/Cocoa/WKViewPrivate.h:
* UIProcess/API/mac/WKView.mm:
(-[WKView dealloc]):
(-[WKView viewWillStartLiveResize]):
(-[WKView viewDidEndLiveResize]):
(-[WKView setFrameSize:]):
(-[WKView initWithFrame:processPool:configuration:webView:]):
(-[WKView disableFrameSizeUpdates]):
(-[WKView enableFrameSizeUpdates]):
(-[WKView frameSizeUpdatesDisabled]):
(-[WKView _layoutMode]):
(-[WKView _setLayoutMode:]):
(-[WKView _setViewScale:]):
(-[WKView _setMinimumViewSize:]):
(-[WKView _minimumViewSize]):
Store the minimum view size, and update the fixed layout size if needed.

(-[WKView _updateAutomaticallyComputedFixedLayoutSize]): Deleted.
(-[WKView _setAutomaticallyComputesFixedLayoutSizeFromViewScale:]): Deleted.
(-[WKView _automaticallyComputesFixedLayoutSizeFromViewScale]): Deleted.
Store the WKLayoutMode on the WKViewLayoutStrategy instead of having a
bunch of things like _automaticallyComputesFixedLayoutSizeFromViewScale.

* UIProcess/API/mac/WKViewInternal.h:

* UIProcess/mac/WKViewLayoutStrategy.h: Added.
* UIProcess/mac/WKViewLayoutStrategy.mm: Added.
(+[WKViewLayoutStrategy layoutStrategyWithPage:view:mode:]):
(-[WKViewLayoutStrategy initWithPage:view:mode:]):
(-[WKViewLayoutStrategy willDestroyView:]):
(-[WKViewLayoutStrategy layoutMode]):
(-[WKViewLayoutStrategy updateLayout]):
(-[WKViewLayoutStrategy disableFrameSizeUpdates]):
(-[WKViewLayoutStrategy enableFrameSizeUpdates]):
(-[WKViewLayoutStrategy frameSizeUpdatesDisabled]):
(-[WKViewLayoutStrategy didChangeViewScale]):
(-[WKViewLayoutStrategy didChangeMinimumViewSize]):
(-[WKViewLayoutStrategy willStartLiveResize]):
(-[WKViewLayoutStrategy didEndLiveResize]):
(-[WKViewLayoutStrategy didChangeFrameSize]):
(-[WKViewLayoutStrategy willChangeLayoutStrategy]):
(-[WKViewViewSizeLayoutStrategy initWithPage:view:mode:]):
(-[WKViewViewSizeLayoutStrategy updateLayout]):
(-[WKViewFixedSizeLayoutStrategy initWithPage:view:mode:]):
(-[WKViewFixedSizeLayoutStrategy updateLayout]):
(-[WKViewDynamicSizeComputedFromViewScaleLayoutStrategy initWithPage:view:mode:]):
(-[WKViewDynamicSizeComputedFromViewScaleLayoutStrategy updateLayout]):
(-[WKViewDynamicSizeComputedFromViewScaleLayoutStrategy didChangeViewScale]):
(-[WKViewDynamicSizeComputedFromViewScaleLayoutStrategy didChangeFrameSize]):
Move the existing layout strategies from WKView into WKViewLayoutStrategy subclasses.

(-[WKViewDynamicSizeWithMinimumViewSizeLayoutStrategy initWithPage:view:mode:]):
(-[WKViewDynamicSizeWithMinimumViewSizeLayoutStrategy updateLayout]):
(-[WKViewDynamicSizeWithMinimumViewSizeLayoutStrategy didChangeMinimumViewSize]):
(-[WKViewDynamicSizeWithMinimumViewSizeLayoutStrategy willStartLiveResize]):
(-[WKViewDynamicSizeWithMinimumViewSizeLayoutStrategy didEndLiveResize]):
While in live resize with the new layout mode, disable frame size updates.
The new layout mode will do a live scale during part of the resize, and
we don't always want to send the new view size to the Web process.

(-[WKViewDynamicSizeWithMinimumViewSizeLayoutStrategy didChangeFrameSize]):
(-[WKViewDynamicSizeWithMinimumViewSizeLayoutStrategy willChangeLayoutStrategy]):
While in the new layout mode, maintain the viewScale as the minimum of the
scale required to fit the current view frame size inside the minimumViewSize.
If no scaling is required, carry on as usual, pushing the new view frame size
to the DrawingArea and on to the Web process.
If scaling is required, apply a transform to the view in the UI process,
until the live resize completes, in which case we send a fenced viewScale
adjustment to the Web process (so that the tiles paint at the new viewScale
synchronized with the removal of the transform in the UI process).

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::scaleViewFenced):
* UIProcess/WebPageProxy.h:
* WebProcess/WebPage/DrawingArea.h:
(WebKit::DrawingArea::addFence):
(WebKit::DrawingArea::acceleratedAnimationDidEnd): Deleted.
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::scaleViewAndUpdateGeometryFenced):
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/WebPage.messages.in:
* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::TiledCoreAnimationDrawingArea::addFence):
Add scaleViewAndUpdateGeometryFenced and the ability to install CoreAnimation fences on
TiledCoreAnimationDrawingArea's CAContext.

Add the ability to send updateGeometry out-of-band, so that
we can send it synchronously inside the message along with the CA fence.
We have to both change the viewScale and updateGeometry simultaneously
in the same CA commit that we install the fence into, in order to ensure
that there is no flash.

* platform/spi/cocoa/QuartzCoreSPI.h:
Add some SPI.

* MiniBrowser/mac/BrowserWindow.xib:
* MiniBrowser/mac/BrowserWindowController.h:
* MiniBrowser/mac/WK1BrowserWindowController.m:
(-[WK1BrowserWindowController toggleUseMinimumViewSize:]):
* MiniBrowser/mac/WK2BrowserWindowController.m:
(-[WK2BrowserWindowController toggleUseMinimumViewSize:]):
Add a optional toolbar item to toggle a minimum view size of 1024x0.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@183841 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoiOS] Scroll snap points trigger reentrant layout
bfulgham@apple.com [Tue, 5 May 2015 23:35:41 +0000 (23:35 +0000)]
iOS] Scroll snap points trigger reentrant layout
https://bugs.webkit.org/show_bug.cgi?id=144644
<rdar://problem/20366547>

Reviewed by Simon Fraser.

Covered by scroll-snap-mandatory.html test.

We had an iOS code path in 'appendChildSnapOffsets' that used offsetLeft and offsetTop. This code
was sometimes called during layout, which triggered a reentrant layout call, resulting in a debug
assertion.

* page/scrolling/AxisScrollSnapOffsets.cpp:
(WebCore::appendChildSnapOffsets): Remove iOS codepath.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@183840 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoBlurry media control icons on non retina displays.
roger_fong@apple.com [Tue, 5 May 2015 23:22:39 +0000 (23:22 +0000)]
Blurry media control icons on non retina displays.
https://bugs.webkit.org/show_bug.cgi?id=144638.
<rdar://problem/20526166>

Reviewed by Dean Jackson.

* Modules/mediacontrols/mediaControlsApple.css:
Adjust fullscreen buttons so that they look good on both 1x and 2x displays.
(audio::-webkit-media-controls-fullscreen-button):
(audio::-webkit-media-controls-fullscreen-button.exit):
(audio::-webkit-media-controls-fullscreen-button:active):
(audio::-webkit-media-controls-panel button.exit:active):
Handle wireless playback picker button background in mediaControlsApple.js
(audio::-webkit-media-controls-wireless-playback-picker-button):
(audio::-webkit-media-controls-wireless-playback-picker-button.playing): Deleted.

* Modules/mediacontrols/mediaControlsApple.js:
Update wireless playback picker button based on display type.
(Controller.prototype.UIString):
(Controller.prototype.handleReadyStateChange):
(Controller.prototype.updateWirelessTargetPickerButton):
(Controller.prototype.updateWirelessPlaybackStatus):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@183839 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoWeb Inspector: Crash under WebCore::domWindowFromExecState reloading page with inspec...
commit-queue@webkit.org [Tue, 5 May 2015 23:08:10 +0000 (23:08 +0000)]
Web Inspector: Crash under WebCore::domWindowFromExecState reloading page with inspector open
https://bugs.webkit.org/show_bug.cgi?id=144636

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2015-05-05
Reviewed by Mark Lam.

This ensures we create an InjectedScript for the execution context
(frame) preventing the global object / exec state from getting garbage
collected before we remove it from our map.

* inspector/PageRuntimeAgent.cpp:
(WebCore::PageRuntimeAgent::notifyContextCreated):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@183838 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[iOS] AirPlay placeholder in inline videos uses Helvetica or Times, should be system...
dino@apple.com [Tue, 5 May 2015 23:03:32 +0000 (23:03 +0000)]
[iOS] AirPlay placeholder in inline videos uses Helvetica or Times, should be system font
https://bugs.webkit.org/show_bug.cgi?id=144643

Reviewed by Brent Fulgham.

The Airplay placard should use "-apple-system" as a font-family.

* Modules/mediacontrols/mediaControlsiOS.css:
(audio::-webkit-media-controls-wireless-playback-status):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@183837 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[Content Extensions] Release input NSString when finished copying it.
achristensen@apple.com [Tue, 5 May 2015 22:58:07 +0000 (22:58 +0000)]
[Content Extensions] Release input NSString when finished copying it.
https://bugs.webkit.org/show_bug.cgi?id=144642

Reviewed by Brian Weinstein.

Source/WebKit2:

* UIProcess/API/Cocoa/_WKUserContentExtensionStore.h:
* UIProcess/API/Cocoa/_WKUserContentExtensionStore.mm:
(-[_WKUserContentExtensionStore compileContentExtensionForIdentifier:encodedContentExtension:completionHandler:]):

Tools:

* WebKitTestRunner/mac/TestControllerMac.mm:
(WTR::TestController::platformConfigureViewForTest):
Use alloc and initWithContentsOfURL to prevent over-releasing an autoreleased object.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@183836 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoNavigating to www.apple.com hits assertion in WebCore::TextIteratorCopyableText:...
zalan@apple.com [Tue, 5 May 2015 22:44:30 +0000 (22:44 +0000)]
Navigating to apple.com hits assertion in WebCore::TextIteratorCopyableText::set()
https://bugs.webkit.org/show_bug.cgi?id=144629
rdar://problem/20689877

Reviewed by Andreas Kling.

This patch ensures that we don't emit empty text for the text iterator.
In TextIterator::handleTextNode before emitting a string, certain characters (\n \t) need to
be replaced with space. When such character is found, we emit the string we've processed so far and
handle the replacement during the next callback.
When the first character in the string needs replacing, there's nothing to emit. However if we don't
handle at least one character, TextIterator::advance believes that processing is done and never calls
TextIterator::handleTextNode back with the rest of the string.

Source/WebCore:

Test: fast/text/simple-line-layout-innerText-with-newline.html

* editing/TextIterator.cpp:
(WebCore::isNewLineOrTabCharacter):
(WebCore::TextIterator::handleTextNode):

LayoutTests:

* fast/text/simple-line-layout-innerText-with-newline-expected.html: Added.
* fast/text/simple-line-layout-innerText-with-newline.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@183835 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoUnreviewed test fix after r183798.
bfulgham@apple.com [Tue, 5 May 2015 22:25:27 +0000 (22:25 +0000)]
Unreviewed test fix after r183798.

* DumpRenderTree/win/AccessibilityUIElementWin.cpp:
(convertToDRTLabel): Mimic behavior of Mac accessibility output
so we can share results.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@183833 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[Content Extensions] Use less memory to store the json input.
achristensen@apple.com [Tue, 5 May 2015 22:20:34 +0000 (22:20 +0000)]
[Content Extensions] Use less memory to store the json input.
https://bugs.webkit.org/show_bug.cgi?id=144604

Reviewed by Benjamin Poulain.

Source/WebCore:

* contentextensions/ContentExtensionCompiler.cpp:
(WebCore::ContentExtensions::compileRuleList):
* contentextensions/ContentExtensionCompiler.h:
(WebCore::ContentExtensions::loadEncodedRules):
Don't copy strings as much or keep them alive after done using them.

Source/WebKit2:

* UIProcess/API/APIUserContentExtensionStore.cpp:
(API::compiledToFile):
(API::UserContentExtensionStore::compileContentExtension):
* UIProcess/API/APIUserContentExtensionStore.h:
Don't copy strings as much or keep them alive after done using them.

Tools:

* MiniBrowser/mac/ExtensionManagerWindowController.m:
(-[ExtensionManagerWindowController add:]):
* TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp:
(TestWebKitAPI::InMemoryCompiledContentExtension::createFromFilter):
* WebKitTestRunner/mac/TestControllerMac.mm:
(WTR::TestController::platformConfigureViewForTest):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@183832 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoPrevent recursive calls to show target picker menu.
eric.carlson@apple.com [Tue, 5 May 2015 22:01:42 +0000 (22:01 +0000)]
Prevent recursive calls to show target picker menu.
https://bugs.webkit.org/show_bug.cgi?id=144637
<rdar://problem/20824726>

Reviewed by Jer Noble.

* platform/graphics/avfoundation/objc/MediaPlaybackTargetPickerMac.h: Add m_showingMenu.
* platform/graphics/avfoundation/objc/MediaPlaybackTargetPickerMac.mm:
(WebCore::MediaPlaybackTargetPickerMac::showPlaybackTargetPicker): Do nothing if the menu
is already showing.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@183831 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[GTK] Web Inspector: Further optimize SVG images
agomez@igalia.com [Tue, 5 May 2015 21:31:14 +0000 (21:31 +0000)]
[GTK] Web Inspector: Further optimize SVG images
https://bugs.webkit.org/show_bug.cgi?id=144441

SVG images optimized with a combination of sed replacements, the
usage of the scour tool (http://www.codedread.com/scour/) and a
forked version of the svgo tool (https://github.com/tanty/svgo).

Also, added the class attribute to the shape elements following
the convention used in Apple's images.

Reviewed by Joseph Pecoraro.

* UserInterface/Images/gtk/BackArrow.svg: Optimized.
* UserInterface/Images/gtk/BreakpointActionAdd.svg: Optimized.
* UserInterface/Images/gtk/BreakpointActionRemove.svg: Optimized.
* UserInterface/Images/gtk/BreakpointButton.svg: Optimized.
* UserInterface/Images/gtk/BreakpointInactiveButton.svg: Optimized.
* UserInterface/Images/gtk/Breakpoints.svg: Optimized.
* UserInterface/Images/gtk/Checkers.svg: Optimized.
* UserInterface/Images/gtk/Circle.svg: Optimized.
* UserInterface/Images/gtk/Close.svg: Optimized.
* UserInterface/Images/gtk/CloseLarge.svg: Optimized.
* UserInterface/Images/gtk/CloseWhite.svg: Optimized.
* UserInterface/Images/gtk/ContentFlow.svg: Optimized.
* UserInterface/Images/gtk/Crosshair.svg: Optimized.
* UserInterface/Images/gtk/DOMCharacterData.svg: Optimized.
* UserInterface/Images/gtk/DOMComment.svg: Optimized.
* UserInterface/Images/gtk/DOMDocument.svg: Optimized.
* UserInterface/Images/gtk/DOMDocumentType.svg: Optimized.
* UserInterface/Images/gtk/DOMElement.svg: Optimized.
* UserInterface/Images/gtk/DOMNode.svg: Optimized.
* UserInterface/Images/gtk/DOMTextNode.svg: Optimized.
* UserInterface/Images/gtk/DisclosureTriangleSmallClosed.svg: Optimized.
* UserInterface/Images/gtk/DisclosureTriangleSmallOpen.svg: Optimized.
* UserInterface/Images/gtk/DisclosureTriangleTinyClosed.svg: Optimized.
* UserInterface/Images/gtk/DisclosureTriangleTinyOpen.svg: Optimized.
* UserInterface/Images/gtk/DockBottom.svg: Optimized.
* UserInterface/Images/gtk/DockRight.svg: Optimized.
* UserInterface/Images/gtk/DownloadArrow.svg: Optimized.
* UserInterface/Images/gtk/Error.svg: Optimized.
* UserInterface/Images/gtk/Errors.svg: Optimized.
* UserInterface/Images/gtk/ErrorsEnabled.svg: Optimized.
* UserInterface/Images/gtk/EventListener.svg: Optimized.
* UserInterface/Images/gtk/Exception.svg: Optimized.
* UserInterface/Images/gtk/Eye.svg: Optimized.
* UserInterface/Images/gtk/FilterFieldGlyph.svg: Optimized.
* UserInterface/Images/gtk/ForwardArrow.svg: Optimized.
* UserInterface/Images/gtk/Function.svg: Optimized.
* UserInterface/Images/gtk/GoToArrow.svg: Optimized.
* UserInterface/Images/gtk/HierarchicalNavigationItemChevron.svg: Optimized.
* UserInterface/Images/gtk/IndeterminateProgressSpinner1.svg: Optimized.
* UserInterface/Images/gtk/IndeterminateProgressSpinner10.svg: Optimized.
* UserInterface/Images/gtk/IndeterminateProgressSpinner11.svg: Optimized.
* UserInterface/Images/gtk/IndeterminateProgressSpinner12.svg: Optimized.
* UserInterface/Images/gtk/IndeterminateProgressSpinner2.svg: Optimized.
* UserInterface/Images/gtk/IndeterminateProgressSpinner3.svg: Optimized.
* UserInterface/Images/gtk/IndeterminateProgressSpinner4.svg: Optimized.
* UserInterface/Images/gtk/IndeterminateProgressSpinner5.svg: Optimized.
* UserInterface/Images/gtk/IndeterminateProgressSpinner6.svg: Optimized.
* UserInterface/Images/gtk/IndeterminateProgressSpinner7.svg: Optimized.
* UserInterface/Images/gtk/IndeterminateProgressSpinner8.svg: Optimized.
* UserInterface/Images/gtk/IndeterminateProgressSpinner9.svg: Optimized.
* UserInterface/Images/gtk/Issues.svg: Optimized.
* UserInterface/Images/gtk/IssuesEnabled.svg: Optimized.
* UserInterface/Images/gtk/LayerBorders.svg: Optimized.
* UserInterface/Images/gtk/Locked.svg: Optimized.
* UserInterface/Images/gtk/Logs.svg: Optimized.
* UserInterface/Images/gtk/Native.svg: Optimized.
* UserInterface/Images/gtk/NavigationItemCurleyBraces.svg: Optimized.
* UserInterface/Images/gtk/NavigationItemTrash.svg: Optimized.
* UserInterface/Images/gtk/NavigationItemTypes.svg: Optimized.
* UserInterface/Images/gtk/PaintFlashing.svg: Optimized.
* UserInterface/Images/gtk/Pause.svg: Optimized.
* UserInterface/Images/gtk/PausedBreakpoint.svg: Optimized.
* UserInterface/Images/gtk/Pencil.svg: Optimized.
* UserInterface/Images/gtk/Plus.svg: Optimized. Text element
converted into a shape.
* UserInterface/Images/gtk/PseudoElement.svg: Optimized.
* UserInterface/Images/gtk/Record.svg: Optimized.
* UserInterface/Images/gtk/Reflection.svg: Optimized.
* UserInterface/Images/gtk/ReloadFull.svg: Optimized.
* UserInterface/Images/gtk/ReplayPauseButton.svg: Optimized.
* UserInterface/Images/gtk/ReplayPlayButton.svg: Optimized.
* UserInterface/Images/gtk/ReplayRecordingButton.svg: Optimized.
* UserInterface/Images/gtk/Request.svg: Optimized.
* UserInterface/Images/gtk/Resources.svg: Optimized.
* UserInterface/Images/gtk/Response.svg: Optimized.
* UserInterface/Images/gtk/ResultLine.svg: Optimized.
* UserInterface/Images/gtk/Resume.svg: Optimized.
* UserInterface/Images/gtk/ShadowDOM.svg: Optimized.
* UserInterface/Images/gtk/SortIndicatorDownArrow.svg: Optimized.
* UserInterface/Images/gtk/SortIndicatorUpArrow.svg: Optimized.
* UserInterface/Images/gtk/SplitToggleUp.svg: Optimized.
* UserInterface/Images/gtk/StepInto.svg: Optimized.
* UserInterface/Images/gtk/StepOut.svg: Optimized.
* UserInterface/Images/gtk/StepOver.svg: Optimized.
* UserInterface/Images/gtk/Stop.svg: Optimized.
* UserInterface/Images/gtk/StyleRuleAuthor.svg: Optimized.
* UserInterface/Images/gtk/StyleRuleInherited.svg: Optimized.
* UserInterface/Images/gtk/StyleRuleInheritedElement.svg: Optimized.
* UserInterface/Images/gtk/StyleRuleInspector.svg: Optimized.
* UserInterface/Images/gtk/StyleRuleUser.svg: Optimized.
* UserInterface/Images/gtk/StyleRuleUserAgent.svg: Optimized.
* UserInterface/Images/gtk/TimelineRecordAnimation.svg: Optimized.
* UserInterface/Images/gtk/TimelineRecordConsoleProfile.svg: Optimized.
* UserInterface/Images/gtk/TimelineRecordEvent.svg: Optimized.
* UserInterface/Images/gtk/TimelineRecordLayout.svg: Optimized.
* UserInterface/Images/gtk/TimelineRecordPaint.svg: Optimized.
* UserInterface/Images/gtk/TimelineRecordProbeSampled.svg: Optimized.
* UserInterface/Images/gtk/TimelineRecordScriptEvaluated.svg: Optimized.
* UserInterface/Images/gtk/TimelineRecordStyle.svg: Optimized.
* UserInterface/Images/gtk/TimelineRecordTimer.svg: Optimized.
* UserInterface/Images/gtk/TypeBoolean.svg: Optimized.
* UserInterface/Images/gtk/TypeNull.svg: Optimized.
* UserInterface/Images/gtk/TypeNumber.svg: Optimized.
* UserInterface/Images/gtk/TypeObject.svg: Optimized.
* UserInterface/Images/gtk/TypeRegex.svg: Optimized. Removed
mistaken extra shape.
* UserInterface/Images/gtk/TypeString.svg: Optimized.
* UserInterface/Images/gtk/TypeSymbol.svg: Optimized. Removed
mistaken extra shape.
* UserInterface/Images/gtk/TypeUndefined.svg: Optimized.
* UserInterface/Images/gtk/Undock.svg: Optimized.
* UserInterface/Images/gtk/UpDownArrows.svg: Optimized.
* UserInterface/Images/gtk/UserInputPrompt.svg: Optimized.
* UserInterface/Images/gtk/UserInputPromptPrevious.svg: Optimized.
* UserInterface/Images/gtk/UserInputResult.svg: Optimized.
* UserInterface/Images/gtk/Warning.svg: Optimized.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@183830 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoUse system blue for Airplay Glyph
dino@apple.com [Tue, 5 May 2015 21:29:20 +0000 (21:29 +0000)]
Use system blue for Airplay Glyph
https://bugs.webkit.org/show_bug.cgi?id=144614

There was a typo in the last commit.

* Modules/mediacontrols/mediaControlsiOS.css:
(audio::-webkit-media-controls-optimized-fullscreen-button): Transition duration should be 250ms.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@183829 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[iOS] Use system blue for Airplay Glyph
dino@apple.com [Tue, 5 May 2015 21:19:25 +0000 (21:19 +0000)]
[iOS] Use system blue for Airplay Glyph
https://bugs.webkit.org/show_bug.cgi?id=144614

Reviewed by Eric Carlson.

Revert to using masks for the glyphs in the media controls,
which allows us to:
- use the system blue color when Airplay is active <rdar://problem/20245297>
- fade out from the active state <rdar://problem/20245487>
- allow the play button to give touch feedback <rdar://problem/17849930>

While those are three separate bugs, they all get addressed by
this single change.

* Modules/mediacontrols/mediaControlsiOS.css:
(audio::-webkit-media-controls-optimized-fullscreen-button):
(audio::-webkit-media-controls-optimized-fullscreen-button:active):
(video::-webkit-media-controls-play-button):
(video::-webkit-media-controls-play-button.paused):
(video::-webkit-media-controls-fullscreen-button):
(video::-webkit-media-controls-wireless-playback-picker-button):
(video::-webkit-media-controls-wireless-playback-picker-button.playing):
(video::-webkit-media-controls-optimized-fullscreen-button):
(video::-webkit-media-controls-play-button:active): Deleted.
(video::-webkit-media-controls-play-button.paused:active): Deleted.
(video::-webkit-media-controls-fullscreen-button:active): Deleted.
(video::-webkit-media-controls-wireless-playback-picker-button:active): Deleted.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@183828 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoUnreviewed. Make myself a WebKit reviewer.
utatane.tea@gmail.com [Tue, 5 May 2015 21:01:22 +0000 (21:01 +0000)]
Unreviewed. Make myself a WebKit reviewer.

* Scripts/webkitpy/common/config/contributors.json:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@183827 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoOnly autoplay videos should not automatically play to playback target
eric.carlson@apple.com [Tue, 5 May 2015 20:50:02 +0000 (20:50 +0000)]
Only autoplay videos should not automatically play to playback target
https://bugs.webkit.org/show_bug.cgi?id=144633

Reviewed by Jer Noble.

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::HTMLMediaElement): Set RequireUserGestureToAutoplayToExternalDevice.
(WebCore::HTMLMediaElement::removeBehaviorsRestrictionsAfterFirstUserGesture): Remove
RequireUserGestureToAutoplayToExternalDevice.
(WebCore::HTMLMediaElement::mediaState): Set ExternalDeviceAutoPlayCandidate if playback
was started from a user gesture, even if the video loops and/or doesn't have audio.

* html/HTMLMediaSession.h: Define RequireUserGestureToAutoplayToExternalDevice.
(WebCore::HTMLMediaSession::hasBehaviorRestriction): New.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@183826 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoFTL SwitchString slow case creates duplicate switch cases
fpizlo@apple.com [Tue, 5 May 2015 20:42:44 +0000 (20:42 +0000)]
FTL SwitchString slow case creates duplicate switch cases
https://bugs.webkit.org/show_bug.cgi?id=144634

Reviewed by Geoffrey Garen.

The problem of duplicate switches is sufficiently annoying that I fixed the issue and also
added mostly-debug-only asserts to catch such issues earlier.

* bytecode/CallVariant.cpp:
(JSC::variantListWithVariant): Assertion to prevent similar bugs.
* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::switchStringRecurse): Assertion to prevent similar bugs.
(JSC::FTL::LowerDFGToLLVM::switchStringSlow): This is the bug.
* jit/BinarySwitch.cpp:
(JSC::BinarySwitch::BinarySwitch): Assertion to prevent similar bugs.
* jit/Repatch.cpp:
(JSC::linkPolymorphicCall): Assertion to prevent similar bugs.
* tests/stress/ftl-switch-string-slow-duplicate-cases.js: Added. This tests the FTL SwitchString bug. It was previously crashing every time.
(foo):
(cat):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@183825 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoUnreviewed logging fix.
bfulgham@apple.com [Tue, 5 May 2015 20:14:07 +0000 (20:14 +0000)]
Unreviewed logging fix.

* page/WheelEventTestTrigger.cpp:
(WebCore::WheelEventTestTrigger::triggerTestTimerFired): Fix typo in logging channel.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@183824 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoAdd overflow scroll-snap tests
bfulgham@apple.com [Tue, 5 May 2015 20:12:10 +0000 (20:12 +0000)]
Add overflow scroll-snap tests
https://bugs.webkit.org/show_bug.cgi?id=144591

Reviewed by Simon Fraser.

* platform/mac-wk2/TextExpectations: Mark overflow test as flaky while I investigate.
* platform/mac-wk2/tiled-drawing/scrolling/scroll-snap/resources: Added.
* platform/mac-wk2/tiled-drawing/scrolling/scroll-snap/resources/horizontal-mainframe.html: Added.
* platform/mac-wk2/tiled-drawing/scrolling/scroll-snap/resources/vertical-mainframe.html: Added.
* platform/mac-wk2/tiled-drawing/scrolling/scroll-snap/scroll-snap-destination-lock-up-expected.txt: Added.
* platform/mac-wk2/tiled-drawing/scrolling/scroll-snap/scroll-snap-destination-lock-up.html: Added.
* platform/mac-wk2/tiled-drawing/scrolling/scroll-snap/scroll-snap-iframe-expected.txt: Added.
* platform/mac-wk2/tiled-drawing/scrolling/scroll-snap/scroll-snap-iframe.html: Added.
* platform/mac-wk2/tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-overflow-expected.txt: Added.
* platform/mac-wk2/tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-overflow.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@183823 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[GTK] r183783 breaks build
jdiggs@igalia.com [Tue, 5 May 2015 19:35:21 +0000 (19:35 +0000)]
[GTK] r183783 breaks build
https://bugs.webkit.org/show_bug.cgi?id=144632

Reviewed by Martin Robinson.

Return false rather than nullptr for unimplemented AccessibilityUIElement::setSelectedVisibleTextRange

* WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
(WTR::AccessibilityUIElement::setSelectedVisibleTextRange):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@183822 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoREGRESSION: Web Inspector: no way to navigate to a resource/source location from...
timothy@apple.com [Tue, 5 May 2015 18:11:50 +0000 (18:11 +0000)]
REGRESSION: Web Inspector: no way to navigate to a resource/source location from overview timeline view
https://bugs.webkit.org/show_bug.cgi?id=144539

Reviewed by Brian Burg.

* UserInterface/Views/GeneralTreeElement.js:
(WebInspector.GeneralTreeElement.prototype.set status): Call didChange() so the onchange event fires. This allows
TimelineSidebarPanel to update the status element when it goes from a spinner to empty for ResourceTreeElements.
(WebInspector.GeneralTreeElement.prototype.onattach): Don't call _updateStatusElement, just append it if needed.
Calling _updateStatusElement caused DOMNodeFragments as status elements to be appended a second time and fail.
* UserInterface/Views/NavigationSidebarPanel.js:
(WebInspector.NavigationSidebarPanel.prototype.treeElementAddedOrChanged):
(WebInspector.NavigationSidebarPanel.prototype._treeElementAddedOrChanged):
* UserInterface/Views/NetworkTimelineView.js:
(WebInspector.NetworkTimelineView.prototype.canShowContentViewForTreeElement):
(WebInspector.NetworkTimelineView.prototype.showContentViewForTreeElement):
(WebInspector.NetworkTimelineView.prototype.treeElementSelected):
(WebInspector.NetworkTimelineView.prototype._dataGridNodeSelected):
(WebInspector.NetworkTimelineView.prototype._updateTreeElementWithCloseButton): Deleted.
(WebInspector.NetworkTimelineView.prototype._closeStatusButtonClicked): Deleted.
* UserInterface/Views/OverviewTimelineView.js:
(WebInspector.OverviewTimelineView.prototype.canShowContentViewForTreeElement):
(WebInspector.OverviewTimelineView.prototype.showContentViewForTreeElement):
(WebInspector.OverviewTimelineView.prototype._dataGridNodeSelected):
(WebInspector.OverviewTimelineView.prototype._treeElementDeselected): Deleted.
(WebInspector.OverviewTimelineView.prototype._treeElementSelected): Deleted.
(WebInspector.OverviewTimelineView.prototype._updateTreeElementWithCloseButton): Deleted.
(WebInspector.OverviewTimelineView.prototype._closeStatusButtonClicked): Deleted.
* UserInterface/Views/RenderingFrameTimelineView.js:
(WebInspector.RenderingFrameTimelineView.prototype.canShowContentViewForTreeElement):
(WebInspector.RenderingFrameTimelineView.prototype.showContentViewForTreeElement):
* UserInterface/Views/ResourceTimelineDataGridNode.js:
(WebInspector.ResourceTimelineDataGridNode.prototype.createCellContent): Don't show a go-to arrow in the Domain column.
(WebInspector.ResourceTimelineDataGridNode.prototype._goToResource): Deleted.
* UserInterface/Views/ScriptTimelineView.js:
(WebInspector.ScriptTimelineView.prototype.canShowContentViewForTreeElement):
(WebInspector.ScriptTimelineView.prototype.showContentViewForTreeElement):
(WebInspector.ScriptTimelineView.prototype.treeElementSelected):
* UserInterface/Views/TimelineRecordTreeElement.js:
(WebInspector.TimelineRecordTreeElement.prototype.get sourceCodeLocation):
* UserInterface/Views/TimelineSidebarPanel.css:
(.sidebar > .panel.navigation.timeline .item:hover:not(.selected) .status .close.status-button):
(.sidebar > .panel.navigation.timeline:not(.timeline-recording-content-view-showing) .status .go-to-arrow.status-button):
(.sidebar > .panel.navigation.timeline.timeline-recording-content-view-showing .status .close.status-button):
* UserInterface/Views/TimelineSidebarPanel.js:
(WebInspector.TimelineSidebarPanel.prototype.treeElementAddedOrChanged): Added.
(WebInspector.TimelineSidebarPanel.prototype.canShowDifferentContentView):
(WebInspector.TimelineSidebarPanel.prototype._treeElementGoToArrowWasClicked): Added.
(WebInspector.TimelineSidebarPanel.prototype._treeElementCloseButtonClicked): Added.
* UserInterface/Views/TimelineView.js:
(WebInspector.TimelineView):
(WebInspector.TimelineView.prototype.canShowContentViewForTreeElement):
(WebInspector.TimelineView.prototype.showContentViewForTreeElement):
(WebInspector.TimelineView.prototype.treeElementDeselected):
(WebInspector.TimelineView.prototype.treeElementSelected):
(WebInspector.TimelineView.prototype.needsLayout):
(WebInspector.TimelineView.prototype._closeStatusButtonClicked): Deleted.
(WebInspector.TimelineView.prototype._updateTreeElementWithCloseButton): Deleted.
* UserInterface/Views/TreeElementStatusButton.css:
(.item > .status > .status-button): Fix an alignment issue with close and go-to arrows being side-by-side.
Does not happen in the final patch because they are mutually exclusive, but still good to fix.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@183821 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoMedia control volume slider is opaque.
roger_fong@apple.com [Tue, 5 May 2015 18:02:09 +0000 (18:02 +0000)]
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.

* platform/mac/TestExpectations:
Some tests generate assertion failures after this change, though the tests pass in release.
Marking them as crashing in debug for now.
Tracking failures here: https://bugs.webkit.org/show_bug.cgi?id=144630.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@183820 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoFix debug builds after r183812
basile_clement@apple.com [Tue, 5 May 2015 17:59:33 +0000 (17:59 +0000)]
Fix debug builds after r183812
https://bugs.webkit.org/show_bug.cgi?id=144300

Rubber stamped by Andreas Kling and Filip Pizlo.

hasObjectMaterializationData() didn't treat MaterializeCreateActivation
as having materialization data, which was causing an assertion failure when
sinking CreateActivations on debug builds.

* dfg/DFGNode.h:
(JSC::DFG::Node::hasObjectMaterializationData):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@183819 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[Content Extensions] Combine NFAs properly and free memory as we compile.
achristensen@apple.com [Tue, 5 May 2015 17:27:41 +0000 (17:27 +0000)]
[Content Extensions] Combine NFAs properly and free memory as we compile.
https://bugs.webkit.org/show_bug.cgi?id=144485

Reviewed by Benjamin Poulain.

Source/WebCore:

This patch correctly combines all regular expressions with a common prefix up to
the last quantified term into the same NFA.  It also deletes the prefix tree as it
creates NFAs, thus reducing the maximum memory used when compiling.

* contentextensions/CombinedURLFilters.cpp:
(WebCore::ContentExtensions::CombinedURLFilters::isEmpty):
(WebCore::ContentExtensions::CombinedURLFilters::addPattern):
(WebCore::ContentExtensions::generateNFAForSubtree):
(WebCore::ContentExtensions::CombinedURLFilters::processNFAs):
(WebCore::ContentExtensions::CombinedURLFilters::clear): Deleted.
* contentextensions/CombinedURLFilters.h:
* contentextensions/ContentExtensionCompiler.cpp:
(WebCore::ContentExtensions::compileRuleList):
* contentextensions/ContentExtensionsDebugging.h:

Tools:

* TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp:
(TestWebKitAPI::TEST_F):
Added tests for correctly splitting up NFAs with unquantified terms after quantified terms.
Added tests for deep NFAs.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@183818 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[Content Extensions] Use less memory when writing byte code to file
achristensen@apple.com [Tue, 5 May 2015 17:12:36 +0000 (17:12 +0000)]
[Content Extensions] Use less memory when writing byte code to file
https://bugs.webkit.org/show_bug.cgi?id=144602

Reviewed by Darin Adler.

Source/WebCore:

* contentextensions/ContentExtensionCompiler.cpp:
(WebCore::ContentExtensions::compileRuleList):
* contentextensions/ContentExtensionCompiler.h:
Compile one DFA at a time so we don't need to keep all the bytecode in memory at the same time.
* contentextensions/DFABytecodeInterpreter.cpp:
(WebCore::ContentExtensions::DFABytecodeInterpreter::interpret):
Jumps are now relative to the current DFA because we don't know about other DFAs that
have been compiling when linking the DFA bytecode.  This will also make the DFA bytecode
easier to minimize because more of the values are small in the DFAs after the first DFA.
* platform/FileSystem.h:

Source/WebKit2:

* UIProcess/API/APIUserContentExtensionStore.cpp:
(API::decodeContentExtensionMetaData):
(API::writeDataToFile):
(API::compiledToFile):
(API::createExtension):
Compile and write each DFA to file, then come back and write the header when finalizing.
Also don't copy the DFA bytecode. This way, we don't need to keep more than one DFA's
bytecode in memory at a time.

Tools:

* TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@183817 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoWeb Inspector: Fix some issues with Search tabs
timothy@apple.com [Tue, 5 May 2015 16:59:31 +0000 (16:59 +0000)]
Web Inspector: Fix some issues with Search tabs
https://bugs.webkit.org/show_bug.cgi?id=144531

Reviewed by Darin Adler.

* UserInterface/Views/ContentView.js:
(WebInspector.ContentView):
(WebInspector.ContentView.isViewable):
Support DOMSearchMatchObject and SourceCodeSearchMatchObject representedObjects. These are usually
handled at a higher level, but cookie restoring requires ContentView to handle them.

* UserInterface/Views/DOMTreeContentView.js:
(WebInspector.DOMTreeContentView):
(WebInspector.DOMTreeContentView.prototype.selectAndRevealDOMNode):
(WebInspector.DOMTreeContentView.prototype.selectLastSelectedNode):
(WebInspector.DOMTreeContentView.prototype._restoreSelectedNodeAfterUpdate):
Don't allow restoring the previous selected node when another not has already been selected.

* UserInterface/Views/SearchTabContentView.js:
(WebInspector.SearchTabContentView.prototype.canShowRepresentedObject):
Allow Script objects to be shown in the Search tab.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@183816 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoWeb Inspector: Source/WebInspectorUI/UserInterface/Images/Logs.svg has unknown attrib...
timothy@apple.com [Tue, 5 May 2015 16:37:58 +0000 (16:37 +0000)]
Web Inspector: Source/WebInspectorUI/UserInterface/Images/Logs.svg has unknown attribute "fille"
https://bugs.webkit.org/show_bug.cgi?id=144627

Reviewed by Darin Adler.

* UserInterface/Images/Logs.svg: Change "fille" to "fill".

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@183815 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoUnreviewed gardening, unskip passing compositing tests since USE_NATIVE_XDISPLAY=1
ossy@webkit.org [Tue, 5 May 2015 16:36:27 +0000 (16:36 +0000)]
Unreviewed gardening, unskip passing compositing tests since USE_NATIVE_XDISPLAY=1
is set on the EFL bots and mark the remaining failing compositing tests properly.

* platform/efl/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@183814 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoMake all FrameLoadState data members private.
commit-queue@webkit.org [Tue, 5 May 2015 16:34:35 +0000 (16:34 +0000)]
Make all FrameLoadState data members private.
https://bugs.webkit.org/show_bug.cgi?id=144562

Patch by Sungmann Cho <sungmann.cho@navercorp.com> on 2015-05-05
Reviewed by Darin Adler.

Previously, all of the data members in FrameLoadState were public and accessed directly
from outside the class. But these should all be private as noted in FrameLoadState.h
for better encapsulation.

No new tests, no behavior change.

* UIProcess/API/C/WKFrame.cpp:
(WKFrameGetFrameLoadState):
* UIProcess/FrameLoadState.h:
(WebKit::FrameLoadState::state):
(WebKit::FrameLoadState::url):
(WebKit::FrameLoadState::provisionalURL):
(WebKit::FrameLoadState::unreachableURL):
* UIProcess/WebFrameProxy.h:
(WebKit::WebFrameProxy::url):
(WebKit::WebFrameProxy::provisionalURL):
(WebKit::WebFrameProxy::unreachableURL):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@183813 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoAllow CreateActivation sinking
basile_clement@apple.com [Tue, 5 May 2015 16:34:21 +0000 (16:34 +0000)]
Allow CreateActivation sinking
https://bugs.webkit.org/show_bug.cgi?id=144300

Reviewed by Filip Pizlo.

Source/JavaScriptCore:

This pursues the work started in
https://bugs.webkit.org/show_bug.cgi?id=144016 to expand the set of
allocations we are able to sink by allowing sinking of CreateActivation
node.

This is achieved by following closely the way NewObject is currently
sunk: we add a new PhantomCreateActivation node to record the initial
position of the CreateActivation node, new ClosureVarPLoc promoted heap
locations to keep track of the variables put in the activation, and a
new MaterializeCreateActivation node to allocate and populate the sunk
activation.

* dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
* dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
* dfg/DFGDoesGC.cpp:
(JSC::DFG::doesGC):
* dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
* dfg/DFGNode.cpp:
(JSC::DFG::Node::convertToPutClosureVarHint):
* dfg/DFGNode.h:
(JSC::DFG::Node::convertToPhantomCreateActivation):
(JSC::DFG::Node::isActivationAllocation):
(JSC::DFG::Node::isPhantomActivationAllocation):
(JSC::DFG::Node::isPhantomAllocation):
* dfg/DFGNodeType.h:
* dfg/DFGObjectAllocationSinkingPhase.cpp:
(JSC::DFG::ObjectAllocationSinkingPhase::lowerNonReadingOperationsOnPhantomAllocations):
(JSC::DFG::ObjectAllocationSinkingPhase::handleNode):
(JSC::DFG::ObjectAllocationSinkingPhase::createMaterialize):
(JSC::DFG::ObjectAllocationSinkingPhase::populateMaterialize):
* dfg/DFGPredictionPropagationPhase.cpp:
(JSC::DFG::PredictionPropagationPhase::propagate):
* dfg/DFGPromotedHeapLocation.cpp:
(WTF::printInternal):
* dfg/DFGPromotedHeapLocation.h:
* dfg/DFGSafeToExecute.h:
(JSC::DFG::safeToExecute):
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGValidate.cpp:
(JSC::DFG::Validate::validateCPS):
* ftl/FTLCapabilities.cpp:
(JSC::FTL::canCompile):
* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::compileNode):
(JSC::FTL::LowerDFGToLLVM::compileMaterializeCreateActivation):
* ftl/FTLOperations.cpp:
(JSC::FTL::operationMaterializeObjectInOSR):
* tests/stress/activation-sink-osrexit.js: Added.
(bar):
(foo.set result):
* tests/stress/activation-sink.js: Added.
(bar):

LayoutTests:

Add a performance test for activation allocation sinking.

* js/regress/script-tests/sink-huge-activation.js: Added.
(bar):
(foo):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@183812 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoCrashes in SandboxExtension::consumePermanently when uploading
ap@apple.com [Tue, 5 May 2015 16:27:39 +0000 (16:27 +0000)]
Crashes in SandboxExtension::consumePermanently when uploading
https://bugs.webkit.org/show_bug.cgi?id=144611
rdar://problem/10156710

Reviewed by Darin Adler.

This only fixes the crashes, uploading still won't work.
Added null checks and some logging that may help us get to the root cause eventually.

* Shared/SandboxExtension.h:
(WebKit::SandboxExtension::createHandle):
(WebKit::SandboxExtension::createHandleForReadWriteDirectory):
* Shared/mac/SandboxExtensionMac.mm:
(WebKit::SandboxExtension::createHandle):
(WebKit::SandboxExtension::createHandleForReadWriteDirectory):
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::didChooseFilesForOpenPanel):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::extendSandboxForFileFromOpenPanel):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@183811 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoUnreviewed WinCairo buildfix after r183807.
ossy@webkit.org [Tue, 5 May 2015 16:22:23 +0000 (16:22 +0000)]
Unreviewed WinCairo buildfix after r183807.

* WebCoreSupport/AcceleratedCompositingContext.cpp:
(AcceleratedCompositingContext::initialize):
(AcceleratedCompositingContext::acceleratedCompositingAvailable):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@183810 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoUnreviewed, speculative WinCairo buildfix after r183807.
ossy@webkit.org [Tue, 5 May 2015 16:13:05 +0000 (16:13 +0000)]
Unreviewed, speculative WinCairo buildfix after r183807.

* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@183809 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoFix up fast/performance/performance-now-crash-on-navigated-window.html after r183795.
akling@apple.com [Tue, 5 May 2015 16:10:04 +0000 (16:10 +0000)]
Fix up fast/performance/performance-now-crash-on-navigated-window.html after r183795.

Unreviewed fix for the bots. Since performance.now doesn't bail out and return 0 in
disconnected frames anymore, we have to adjust the expectations. This test was all
about catching a crash anyway.

* fast/performance/performance-now-crash-on-navigated-window-expected.txt:
* fast/performance/performance-now-crash-on-navigated-window.html:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@183808 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoRemove TextureMapperImageBuffer
ossy@webkit.org [Tue, 5 May 2015 15:48:29 +0000 (15:48 +0000)]
Remove TextureMapperImageBuffer
https://bugs.webkit.org/show_bug.cgi?id=143561

Reviewed by Žan Doberšek.

Source/WebCore:

* CMakeLists.txt:
* PlatformEfl.cmake:
* PlatformGTK.cmake:
* PlatformWinCairo.cmake:
* platform/graphics/GraphicsContext3DPrivate.cpp:
(WebCore::GraphicsContext3DPrivate::paintToTextureMapper):
* platform/graphics/cairo/ImageBufferCairo.cpp:
(WebCore::ImageBufferData::paintToTextureMapper):
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
(WebCore::MediaPlayerPrivateGStreamerBase::paintToTextureMapper):
* platform/graphics/texmap/BitmapTextureImageBuffer.cpp: Removed.
* platform/graphics/texmap/BitmapTextureImageBuffer.h: Removed.
* platform/graphics/texmap/BitmapTexturePool.cpp:
(WebCore::BitmapTexturePool::createTexture):
* platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
(WebCore::GraphicsLayerTextureMapper::setFilters):
* platform/graphics/texmap/TextureMapper.cpp:
(WebCore::TextureMapper::create):
(WebCore::TextureMapper::TextureMapper):
* platform/graphics/texmap/TextureMapper.h:
(WebCore::TextureMapper::accelerationMode): Deleted.
* platform/graphics/texmap/TextureMapperGL.cpp:
(WebCore::TextureMapperGL::TextureMapperGL):
* platform/graphics/texmap/TextureMapperImageBuffer.cpp: Removed.
* platform/graphics/texmap/TextureMapperImageBuffer.h: Removed.
* platform/graphics/texmap/coordinated/CompositingCoordinator.cpp:
(WebCore::CompositingCoordinator::CompositingCoordinator):
* platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
(WebCore::GraphicsLayer::supportsContentsTiling):
(WebCore::CoordinatedGraphicsLayer::setShouldSupportContentsTiling): Deleted.
* platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h:

Source/WebKit2:

* Shared/CoordinatedGraphics/CoordinatedGraphicsScene.cpp:
(WebKit::CoordinatedGraphicsScene::paintToCurrentGLContext):
* WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
(WebKit::LayerTreeHostGtk::setNativeSurfaceHandleForCompositing):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@183807 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[GTK] Web Inspector: New Images added in r183339, r183338, r183332, r183323, r182660...
agomez@igalia.com [Tue, 5 May 2015 15:20:36 +0000 (15:20 +0000)]
[GTK] Web Inspector: New Images added in r183339, r183338, r183332, r183323, r182660, and r182186
https://bugs.webkit.org/show_bug.cgi?id=144329

Reviewed by Joseph Pecoraro.

* UserInterface/Images/gtk/Console.svg: Added.
* UserInterface/Images/gtk/Debugger.svg: Added.
* UserInterface/Images/gtk/Elements.svg: Added.
* UserInterface/Images/gtk/Gear.svg: Added.
* UserInterface/Images/gtk/NewTab.svg: Added.
* UserInterface/Images/gtk/NewTabPlus.svg: Added.
* UserInterface/Images/gtk/ReloadToolbar.svg: Added.
* UserInterface/Images/gtk/SearchResults.svg: Added.
* UserInterface/Images/gtk/Storage.svg: Added.
* UserInterface/Images/gtk/Timeline.svg: Added.
* UserInterface/Images/gtk/TimelineRecordRenderingFrame.svg: Added.
* UserInterface/Images/gtk/ToggleLeftSidebar.svg: Added.
* UserInterface/Images/gtk/ToggleRightSidebar.svg: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@183806 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[CSS Box Alignment] Upgrade align-content parsing to CSS3 Box Alignment spec
jfernandez@igalia.com [Tue, 5 May 2015 15:15:38 +0000 (15:15 +0000)]
[CSS Box Alignment] Upgrade align-content parsing to CSS3 Box Alignment spec
https://bugs.webkit.org/show_bug.cgi?id=144443

Reviewed by Darin Adler.

Source/WebCore:

Upgrade the align-content property to the last CSS3 Box
Alignment specification. As it uses a different enumeration for
Positional and Distribution alignment, it implies some changes in
the FlexibleBox implementation.

Test: css3/parse-align-content.html

* css/CSSComputedStyleDeclaration.cpp:
(WebCore::resolveContentAlignmentAuto):
(WebCore::ComputedStyleExtractor::propertyValue):
* css/CSSParser.cpp:
(WebCore::isValidKeywordPropertyAndValue):
(WebCore::isKeywordPropertyID):
(WebCore::CSSParser::parseValue):
* css/CSSPropertyNames.in:
* rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::layoutAndPlaceChildren):
(WebCore::RenderFlexibleBox::layoutColumnReverse):
(WebCore::initialAlignContentOffset):
(WebCore::alignContentSpaceBetweenChildren):
(WebCore::RenderFlexibleBox::alignFlexLines):
* rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::resolveContentAlignment):
(WebCore::RenderStyle::resolveContentJustification):
* rendering/style/RenderStyle.h:
* rendering/style/StyleRareNonInheritedData.cpp:
(WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
(WebCore::StyleRareNonInheritedData::operator==):
* rendering/style/StyleRareNonInheritedData.h:

LayoutTests:

Tests to verify the align-content parsing logic. The new Box Alignment spec
requires some changes in the flexbox tests.

* css3/flexbox/css-properties-expected.txt:
* css3/flexbox/css-properties.html:
* css3/parse-align-content-expected.txt: Added.
* css3/parse-align-content.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@183805 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[GTK] Web Inspector: icons for console.info() messages
agomez@igalia.com [Tue, 5 May 2015 13:43:52 +0000 (13:43 +0000)]
[GTK] Web Inspector: icons for console.info() messages
https://bugs.webkit.org/show_bug.cgi?id=144461

Reviewed by Joseph Pecoraro.

* UserInterface/Images/gtk/Debug.svg: Added.
* UserInterface/Images/gtk/Info.svg: Added.
* UserInterface/Images/gtk/Log.svg: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@183804 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agostreams/readable-stream.html is very flaky
youenn.fablet@crf.canon.fr [Tue, 5 May 2015 13:23:52 +0000 (13:23 +0000)]
streams/readable-stream.html is very flaky
https://bugs.webkit.org/show_bug.cgi?id=144455

Reviewed by Darin Adler.

Source/WebCore:

Changed the link between readadable stream and controller.
Controller ref()/deref() now increments/decrements its stream ref counter.
This ensures that even if JS scripts do not keep track of the readable stream,
the readable stream will not be disposed as long as the JS script has access to its controller.

Test: streams/readable-stream-gc.html

* Modules/streams/ReadableStreamController.h:
(WebCore::ReadableStreamController::ReadableStreamController):
(WebCore::ReadableStreamController::ref):
(WebCore::ReadableStreamController::deref):
(WebCore::ReadableStreamController::create): Deleted.
(WebCore::ReadableStreamController::stream): Deleted.
* bindings/js/JSReadableStreamControllerCustom.cpp:
(WebCore::JSReadableStreamController::close):
(WebCore::JSReadableStreamController::enqueue):
(WebCore::JSReadableStreamController::error):
* bindings/js/ReadableStreamJSSource.cpp:
(WebCore::ReadableStreamJSSource::~ReadableStreamJSSource):
(WebCore::ReadableStreamJSSource::start):
(WebCore::ReadableJSStream::jsController):
* bindings/js/ReadableStreamJSSource.h:

LayoutTests:

Moved flaky test to streams/readable-stream-gc.html.
Updated flaky test to check that the controller methods work well even if readable stream reference is lost by script.

* streams/readable-stream-expected.txt:
* streams/readable-stream-gc-expected.txt: Added.
* streams/readable-stream-gc.html: Added.
* streams/readable-stream.html:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@183803 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[GTK] Gardening 4th May
commit-queue@webkit.org [Tue, 5 May 2015 13:14:01 +0000 (13:14 +0000)]
[GTK] Gardening 4th May
https://bugs.webkit.org/show_bug.cgi?id=144571

Unreviewed.

Patch by Marcos Chavarría Teijeiro <chavarria1991@gmail.com> on 2015-05-05

* platform/gtk/TestExpectations:
* platform/gtk/fast/forms/color/input-appearance-color-expected.png: Added.
* platform/gtk/fast/forms/color/input-appearance-color-expected.txt:
* platform/gtk/fast/regions/region-overflow-break-expected.html: Added.
* platform/gtk/fast/regions/scrolling/wheel-scroll-abspos-expected.html: Added.
* platform/gtk/fast/regions/scrolling/wheel-scroll-expected.html: Added.
* platform/gtk/fast/text/font-kerning-expected.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@183802 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[SOUP] Network Cache: IOChannel operations are not sent to the right thread
carlosgc@webkit.org [Tue, 5 May 2015 08:20:47 +0000 (08:20 +0000)]
[SOUP] Network Cache: IOChannel operations are not sent to the right thread
https://bugs.webkit.org/show_bug.cgi?id=144542

Reviewed by Darin Adler.

We are ignoring the given WorkQueue and running the async
operations in the current thread. Check the given WorkQueue
instead and schedule the operation to the given queue. If the
given queue is nullptr, which means the operation should be run in
the main context, the operation is run directly if the current
context is the main one or sent to the main context using a
GMainLoopSource.

Fixes crashes due to asserts when running disk-cache layout tests
in a Debug build.

* NetworkProcess/cache/NetworkCacheIOChannel.h:
* NetworkProcess/cache/NetworkCacheIOChannelSoup.cpp:
(WebKit::NetworkCache::runTaskInQueue):
(WebKit::NetworkCache::IOChannel::read):
(WebKit::NetworkCache::IOChannel::readSync):
(WebKit::NetworkCache::IOChannel::write):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@183801 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[GTK] Async operations running in the WorkQueue thread should schedule their sources...
carlosgc@webkit.org [Tue, 5 May 2015 08:16:16 +0000 (08:16 +0000)]
[GTK] Async operations running in the WorkQueue thread should schedule their sources to the WorkQueue main lopp
https://bugs.webkit.org/show_bug.cgi?id=144541

Reviewed by Žan Doberšek.

Source/WTF:

They are currently sent to the main thread run loop, because we
are not setting the WorkQueue main context as the default one in
the worker thread.

* wtf/gtk/WorkQueueGtk.cpp:
(WTF::WorkQueue::platformInitialize): Call
g_main_context_push_thread_default() to set the WorkQueue main
context as the default of the thread before running the main loop,
and g_main_context_pop_thread_default() when the main loop quits.

Tools:

Add a test case to WorkQueue unit test, to check that sources of
asynchronous IO operations running in the WorkQueue thread are
dispatched by the WorkQueue main loop.

* TestWebKitAPI/PlatformGTK.cmake:
* TestWebKitAPI/Tests/WTF/gtk/WorkQueueGtk.cpp: Added.
(TestWebKitAPI::TEST):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@183800 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoSmall cleanup in RenderText::computePreferredLogicalWidths()
mmaxfield@apple.com [Tue, 5 May 2015 07:49:13 +0000 (07:49 +0000)]
Small cleanup in RenderText::computePreferredLogicalWidths()
https://bugs.webkit.org/show_bug.cgi?id=144615

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

A little bit of cleanup before I tackle dependent widths in this function.

No new tests because there is no behavior change.

* rendering/RenderText.cpp:
(WebCore::RenderText::computePreferredLogicalWidths):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@183799 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[ATK] AX: figure out platform difference for ATK to make accessibility/table-cell...
jdiggs@igalia.com [Tue, 5 May 2015 07:39:23 +0000 (07:39 +0000)]
[ATK] AX: figure out platform difference for ATK to make accessibility/table-cell-display-block.html work
https://bugs.webkit.org/show_bug.cgi?id=143083

Reviewed by Chris Fleizach.

Source/WebCore:

The main platform difference was that ATK was mapping the td element to
the accessible table cell, and the render block resulting from the style
wound up being the cell parent. In contrast, AX API was mapping the cell
element to an AXGroup which was a child of the AXCell. Rather than try to
bend yet another case to the will of our individual platforms' table needs,
it made more sense to clean up the code that is competing and move toward
more platform-unified handling. This is the first step in that direction,
with ATK moving closer toward the WebCore/AX API mapping.

No new tests. Instead, modified and fixed the test which was being skipped
for GTK, and also updated the expectations of some Mac tests whose FIXMEs
should now be fixed.

* accessibility/AccessibilityNodeObject.cpp:
(WebCore::AccessibilityNodeObject::supportsRequiredAttribute):
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::determineAccessibilityRole):
* accessibility/AccessibilityTable.cpp:
(WebCore::AccessibilityTable::computeIsTableExposableThroughAccessibility):
* accessibility/AccessibilityTableCell.cpp:
(WebCore::AccessibilityTableCell::determineAccessibilityRole):
* accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(createAccessibilityRoleMap):

LayoutTests:

* accessibility/roles-computedRoleString-expected.txt: Updated to reflect fixed FIXME.
* accessibility/roles-computedRoleString.html: Updated to reflect fixed FIXME.
* accessibility/table-cell-display-block-expected.txt: Modified to be more platform agnostic.
* accessibility/table-cell-display-block.html: Modified to be more platform agnostic.
* platform/efl/accessibility/table-detection-expected.txt: Updated to reflect mapping change.
* platform/gtk/TestExpectations: Unskip failing test from opening report.
* platform/gtk/accessibility/table-detection-expected.txt: Updated to reflect mapping change.
* platform/mac/accessibility/rowheader-outside-table-role-expected.txt: Updated to reflect mapping change.
* platform/mac/accessibility/rowheader-outside-table-role.html: Updated to reflect mapping change.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@183798 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[iOS] Videos on apple.com flash when touching to show or hide the controls
jer.noble@apple.com [Tue, 5 May 2015 06:57:27 +0000 (06:57 +0000)]
[iOS] Videos on apple.com flash when touching to show or hide the controls
https://bugs.webkit.org/show_bug.cgi?id=144598

Reviewed by Eric Carlson.

The apple.com site will add a "selection" rectangle atop a playing video when it recieves a touchstart
event. The default media controls use touchstart to signal the controls to become visible. Stop the touch
from propagating down to the page in this case.

* Modules/mediacontrols/mediaControlsiOS.js:
(ControllerIOS.prototype.handleWrapperTouchStart):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@183797 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoCorrect '--show-webview' option for Tiled Drawing tests
bfulgham@apple.com [Tue, 5 May 2015 05:22:52 +0000 (05:22 +0000)]
Correct '--show-webview' option for Tiled Drawing tests
https://bugs.webkit.org/show_bug.cgi?id=144621

Reviewed by Simon Fraser.

The scrolling thread/tiled drawing tests recreate the standard test runner web view. My earlier patch did not make
sure that the state of the '--show-webview' option was propagated to this additional view creation routine.

* WebKitTestRunner/mac/TestControllerMac.mm:
(WTR::TestController::platformConfigureViewForTest): Include the value of the 'shouldShowWebView' state in the
WKMutableDictionary passed to the 'ensureViewSupportsOptions' method.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@183796 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoRecord the reference time when Performance is constructed.
akling@apple.com [Tue, 5 May 2015 04:49:00 +0000 (04:49 +0000)]
Record the reference time when Performance is constructed.
<https://webkit.org/b/144616>

Reviewed by Geoffrey Garen.

This is a merge of Blink's r156613 by simonjam@chromium.org.

Cache a copy of the DocumentLoader's reference timestamp when constructing
the Performance object. That way we don't have to jump through a bunch of scary
hoops to access it when now() is called later on.

* page/Performance.cpp:
(WebCore::Performance::Performance):
(WebCore::Performance::now): Deleted.
* page/Performance.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@183795 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoFix assertions in WK1 tests after r183777.
simon.fraser@apple.com [Tue, 5 May 2015 04:29:30 +0000 (04:29 +0000)]
Fix assertions in WK1 tests after r183777.

Source/WebCore:

Two issues with the original change:

If not in compositing mode, we shouldn't schedule layer flushes, since
Document::documentWillSuspendForPageCache() only only calls cancelCompositingLayerUpdate()
if in compositing mode.

Second, RenderLayerCompositor::rootBackgroundTransparencyChanged() never stored the
new color, resulting in too many triggered compositing updates.

* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::rootBackgroundTransparencyChanged):

LayoutTests:

Behavior difference with the change to RenderLayerCompositor::rootBackgroundTransparencyChanged().

* platform/mac-wk2/tiled-drawing/background-transparency-toggle-expected.txt:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@183794 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoUnreviewed, fix stale comment.
fpizlo@apple.com [Tue, 5 May 2015 04:24:23 +0000 (04:24 +0000)]
Unreviewed, fix stale comment.

* tests/mozilla/js1_5/Array/regress-101964.js:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@183793 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoLarge array shouldn't be slow
fpizlo@apple.com [Tue, 5 May 2015 04:16:50 +0000 (04:16 +0000)]
Large array shouldn't be slow
https://bugs.webkit.org/show_bug.cgi?id=144617

Rubber stamped by Mark Lam.

* tests/mozilla/js1_5/Array/regress-101964.js: 500ms isn't enough in debug mode. We don't care how long this takes so long as we run it to completion. I've raised the limit much higher.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@183792 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoLarge array shouldn't be slow
fpizlo@apple.com [Tue, 5 May 2015 03:51:35 +0000 (03:51 +0000)]
Large array shouldn't be slow
https://bugs.webkit.org/show_bug.cgi?id=144617

Rubber stamped by Mark Lam.

* tests/mozilla/js1_5/Array/regress-101964.js: Mozilla may have cared about this being fast a decade ago (or more), but we don't care. We've consistently found that an array implementation that punishes this case to get speed on common-case array accesses is better. This should fix some test failures on the bots.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@183791 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoUnreviewed, rolling out r183789.
commit-queue@webkit.org [Tue, 5 May 2015 03:35:13 +0000 (03:35 +0000)]
Unreviewed, rolling out r183789.
https://bugs.webkit.org/show_bug.cgi?id=144620

Causing flakiness on exceptionFuzz tests locally on 32-bit
build (Requested by saamyjoon on #webkit).

Reverted changeset:

"Global functions should be initialized as JSFunctions in byte
code"
https://bugs.webkit.org/show_bug.cgi?id=144178
http://trac.webkit.org/changeset/183789

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@183790 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoGlobal functions should be initialized as JSFunctions in byte code
saambarati1@gmail.com [Tue, 5 May 2015 03:27:09 +0000 (03:27 +0000)]
Global functions should be initialized as JSFunctions in byte code
https://bugs.webkit.org/show_bug.cgi?id=144178

Reviewed by Geoffrey Garen.

This patch makes the initialization of global functions more explicit by
moving initialization into bytecode. It also prepares JSC for having ES6
style lexical scoping because initializing global functions in bytecode
easily allows global functions to be initialized with the proper scope that
will have access to global lexical variables. Global lexical variables
should be visible to global functions but don't live on the global object.

* bytecode/UnlinkedCodeBlock.cpp:
(JSC::UnlinkedProgramCodeBlock::visitChildren):
* bytecode/UnlinkedCodeBlock.h:
* bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::generate):
(JSC::BytecodeGenerator::BytecodeGenerator):
* bytecompiler/BytecodeGenerator.h:
* runtime/Executable.cpp:
(JSC::ProgramExecutable::initializeGlobalProperties):
* runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::addGlobalVar):
(JSC::JSGlobalObject::addFunction):
* runtime/JSGlobalObject.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@183789 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoRenderWidget::setWidgetGeometry() can end up destroying *this*.
zalan@apple.com [Tue, 5 May 2015 03:22:35 +0000 (03:22 +0000)]
RenderWidget::setWidgetGeometry() can end up destroying *this*.
https://bugs.webkit.org/show_bug.cgi?id=144601

Reviewed by Andreas Kling.

This is a speculative fix to ensure we don't crash on an invalid *this* renderer
while flattening the current iframe.
Calling RenderWidget::setWidgetGeometry() can result in destroying the current renderer.
While it is not a issue in case of normal layout flow as widget positions are updated at post layout,
frame flattening initiates this action in the middle of layout.
This patch re-introduces refcount model for RenderWidgets so that the renderer is protected during layout
when frame flattening is in use.

* rendering/RenderFrameBase.cpp:
(WebCore::RenderFrameBase::layoutWithFlattening): Let's be paranoid about child view.
* rendering/RenderObject.cpp:
(WebCore::RenderObject::destroy):
* rendering/FrameView.cpp:
(WebCore::FrameView::layout):
* rendering/RenderView.h:
* rendering/RenderWidget.cpp:
(WebCore::RenderWidget::~RenderWidget):
* rendering/RenderWidget.h:
(WebCore::RenderWidget::ref):
(WebCore::RenderWidget::deref):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@183788 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoLarge array shouldn't be slow
fpizlo@apple.com [Tue, 5 May 2015 02:40:28 +0000 (02:40 +0000)]
Large array shouldn't be slow
https://bugs.webkit.org/show_bug.cgi?id=144617

Reviewed by Geoffrey Garen.

PerformanceTests:

Add the hash-map benchmark to LongSpider. LongSpider was already not a perfect match of
SunSpider. It's not an official benchmark. It contains benchmarks that are relatively
long-running. So, hash-map sort of belongs here.

* LongSpider/hash-map.js: Added.
(HashMap):
(HashMap.):
(.get var):

Source/JavaScriptCore:

Decouple MIN_SPARSE_ARRAY_INDEX, which is the threshold for storing to the sparse map when
you're already using ArrayStorage mode, from the minimul array length required to use
ArrayStorage in a new Array(length) allocation.

Lift the array allocation length threshold to something very high. If this works, we'll
probably remove that threshold entirely.

This is a 27% speed-up on JetStream/hash-map. Because run-jsc-benchmarks still can't run
JetStream as a discrete suite, this adds hash-map to LongSpider so that we run it somewhere
for now.

* dfg/DFGCallArrayAllocatorSlowPathGenerator.h:
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::compileNewArrayWithSize):
* runtime/ArrayConventions.h:
* runtime/JSArray.h:
(JSC::JSArray::create):
* runtime/JSGlobalObject.h:
(JSC::constructEmptyArray):
* tests/stress/new-array-storage-array-with-size.js: Skip this test until we fix https://bugs.webkit.org/show_bug.cgi?id=144609.

Tools:

Add the hash-map benchmark to LongSpider. LongSpider was already not a perfect match of
SunSpider. It's not an official benchmark. It contains benchmarks that are relatively
long-running. So, hash-map sort of belongs here.

* Scripts/run-jsc-benchmarks:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@183787 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoWeb Inspector: Always expand initial top level DOM tree nodes when not including...
commit-queue@webkit.org [Tue, 5 May 2015 01:00:49 +0000 (01:00 +0000)]
Web Inspector: Always expand initial top level DOM tree nodes when not including the root (frame views)
https://bugs.webkit.org/show_bug.cgi?id=144607

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2015-05-04
Reviewed by Timothy Hatcher.

* UserInterface/Views/DOMTreeOutline.js:
(WebInspector.DOMTreeOutline.prototype.update):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@183786 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoAdd backed intrinsics to private functions exposed with private symbols in global...
utatane.tea@gmail.com [Tue, 5 May 2015 00:37:39 +0000 (00:37 +0000)]
Add backed intrinsics to private functions exposed with private symbols in global object
https://bugs.webkit.org/show_bug.cgi?id=144545

Reviewed by Darin Adler.

Math.abs and Math.floor have ASM intrinsics And it is further accelerated in DFG/FTL layers.
This patch adds intrinsic to private functions exposed with private symbols in global object,
@floor and @abs.

* runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::init):
* runtime/JSGlobalObjectFunctions.cpp:
(JSC::globalPrivateFuncAbs): Deleted.
(JSC::globalPrivateFuncFloor): Deleted.
* runtime/MathObject.cpp:
* runtime/MathObject.h:
* tests/stress/array-from-abs-and-floor.js: Added.
(target1):
(target2):
(target3):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@183785 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoWebKit always goes through LaunchServices for main frame navigation actions
mitz@apple.com [Tue, 5 May 2015 00:37:06 +0000 (00:37 +0000)]
WebKit always goes through LaunchServices for main frame navigation actions
https://bugs.webkit.org/show_bug.cgi?id=144608

Reviewed by Tim Horton.

* UIProcess/API/Cocoa/WKNavigationDelegatePrivate.h: Defined
_WKNavigationActionPolicyAllowWithoutTryingAppLink.
* UIProcess/Cocoa/NavigationState.mm:
(WebKit::NavigationState::NavigationClient::decidePolicyForNavigationAction): If the policy
is _WKNavigationActionPolicyAllowWithoutTryingAppLink, don’t go through tryAppLink.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@183784 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoAX: setting focus via accessibility object needs to set isSynchronizing in resulting...
commit-queue@webkit.org [Tue, 5 May 2015 00:16:01 +0000 (00:16 +0000)]
AX: setting focus via accessibility object needs to set isSynchronizing in resulting selection intent
https://bugs.webkit.org/show_bug.cgi?id=144489

Patch by Doug Russell <d_russell@apple.com> on 2015-05-04
Reviewed by Chris Fleizach.

Resolves infinite looping when navigating rapidly between controls with the search API and then focusing
on the returned control.
Remove isSynchronizing flag from AXTextStateChangeIntent and put it on AXObjectCache.
Move AXTextStateChangeIntent logic in AccessibilityRenderObject into a helper method.
Call new AXTextStateChangeIntent helper from AccessibilityRenderObject::setFocus().
Add support for setSelectedVisibleTextRange() in accessibility tests.

Source/WebCore:

Test: platform/mac/accessibility/selection-sync.html

* accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::showIntent):
(WebCore::AXObjectCache::setTextSelectionIntent):
(WebCore::AXObjectCache::setIsSynchronizingSelection):
(WebCore::AXObjectCache::postTextStateChangeNotification):
* accessibility/AXObjectCache.h:
* accessibility/AXTextStateChangeIntent.h:
(WebCore::AXTextStateChangeIntent::AXTextStateChangeIntent):
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::setTextSelectionIntent):
(WebCore::AccessibilityRenderObject::setSelectedTextRange):
(WebCore::AccessibilityRenderObject::setFocused):
(WebCore::AccessibilityRenderObject::setSelectedVisiblePositionRange):
(WebCore::AccessibilityRenderObject::boundsForVisiblePositionRange): Deleted.
* accessibility/mac/AXObjectCacheMac.mm:
(WebCore::AXObjectCache::postTextStateChangePlatformNotification):

Tools:

* DumpRenderTree/AccessibilityUIElement.cpp:
(setSelectedVisibleTextRangeCallback):
(AccessibilityUIElement::setSelectedVisibleTextRange):
(AccessibilityUIElement::getJSClass):
(AccessibilityUIElement::textMarkerForIndex): Deleted.
* DumpRenderTree/AccessibilityUIElement.h:
* DumpRenderTree/mac/AccessibilityUIElementMac.mm:
(AccessibilityUIElement::setSelectedVisibleTextRange):
* WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp:
(WTR::AccessibilityUIElement::setSelectedVisibleTextRange):
(WTR::AccessibilityUIElement::setSelectedTextRange): Deleted.
* WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
* WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl:
* WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
(WTR::AccessibilityUIElement::setSelectedVisibleTextRange):
* WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:
(WTR::AccessibilityUIElement::setSelectedVisibleTextRange):
* WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
(WTR::AccessibilityUIElement::setSelectedVisibleTextRange):

LayoutTests:

* platform/mac/accessibility/selection-sync-expected.txt: Added.
* platform/mac/accessibility/selection-sync.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@183783 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[Mac] Audio-only files should not have a device picker
eric.carlson@apple.com [Tue, 5 May 2015 00:08:28 +0000 (00:08 +0000)]
[Mac] Audio-only files should not have a device picker
https://bugs.webkit.org/show_bug.cgi?id=144606
<rdar://problem/20806387>

Reviewed by Dean Jackson.

* Modules/mediacontrols/mediaControlsApple.js:
(Controller.prototype.hasVideo): New.
(Controller.prototype.updateFullscreenButtons): Use hasVideo.
(Controller.prototype.updateHasVideo): Ditto.
(Controller.prototype.updateWirelessTargetAvailable): Don't show the target picker button
unless a file has video.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@183782 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoCrash at com.apple.WebKit.WebContent at com.apple.WebCore: WebCore::createWindow...
cdumez@apple.com [Mon, 4 May 2015 23:58:32 +0000 (23:58 +0000)]
Crash at com.apple.WebKit.WebContent at com.apple.WebCore: WebCore::createWindow + 185
https://bugs.webkit.org/show_bug.cgi?id=144597
<rdar://problem/20361579>

Reviewed by Andreas Kling.

Source/WebCore:

Test: fast/dom/Window/window-open-activeWindow-null-frame.html

In our implementation of window.open(), we make sure that the window
which window.open() is called has a frame. However, we did not have the
same check for the activeDOMWindow (i.e. the lexicalGlobalObject) causing
us to crash in WebCore::createWindow() when dereferencing it.

This patch updates WebCore::createWindow() takes a reference to the
openerFrame instead of a pointer to make it clear the implementation
expects it to be non-null. A null check is then added for the frame
at the call site: DOMWindow::createWindow().

* inspector/InspectorFrontendClientLocal.cpp:
(WebCore::InspectorFrontendClientLocal::openInNewTab):
* loader/FrameLoader.cpp:
(WebCore::isDocumentSandboxed):
(WebCore::FrameLoader::submitForm):
(WebCore::createWindow):
Take a reference to openerFrame instead of a pointer as the
implementation expects it to be non-null.

* loader/FrameLoader.h:
* page/DOMWindow.cpp:
(WebCore::DOMWindow::createWindow):
Add null check for activeFrame before passing it to
WebCore::createWindow().

LayoutTests:

Add a layout test to cover the case where window.open() is called on a
window that is different than the activeDOMWindow and where the
activeDOMWindow does not have a frame.

* fast/dom/Window/resources/test-frame.html: Added.
* fast/dom/Window/window-open-activeWindow-null-frame-expected.txt: Added.
* fast/dom/Window/window-open-activeWindow-null-frame.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@183781 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[iOS WK2] editorState should include information about selection clipping rectangle.
enrica@apple.com [Mon, 4 May 2015 23:51:21 +0000 (23:51 +0000)]
[iOS WK2] editorState should include information about selection clipping rectangle.
https://bugs.webkit.org/show_bug.cgi?id=144603
rdar://problem/20521252

Reviewed by Chris Dumez.

Adding selectionClipRect to the post-layout portion of EditorState.
This way we can compute the selection clipping rectangle based on
up-to-date information instead of using the rectangle provided when
then element was first focused.

* Shared/EditorState.cpp:
(WebKit::EditorState::PostLayoutData::encode):
(WebKit::EditorState::PostLayoutData::decode):
* Shared/EditorState.h:
* UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _selectionClipRect]):
* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::platformEditorState):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@183780 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[cmake] ARM related build system cleanup
ossy@webkit.org [Mon, 4 May 2015 23:46:44 +0000 (23:46 +0000)]
[cmake] ARM related build system cleanup
https://bugs.webkit.org/show_bug.cgi?id=144566

Reviewed by Darin Adler.

* CMakeLists.txt:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@183779 268f45cc-cd09-0410-ab3c-d52691b4dbfc