WebKit-https.git
5 years agoPDF action menu fixes
bfulgham@apple.com [Tue, 28 Apr 2015 02:43:40 +0000 (02:43 +0000)]
PDF action menu fixes
https://bugs.webkit.org/show_bug.cgi?id=144299
<rdar://problem/20702215>

Reviewed by Tim Horton.

Make two corrections to how PDFs are handled:
1. When calculating the view rect for the user's selection, make sure
that we get coordinates for the correct PDF page. The existing code assumed
that the current PDFLayerControler's current page was correct, but this will
not be true if you zoom the PDF out so that several pages are displayed at
once. Each selection keeps track of the page it is referenced against.

2. Revise the offsets calculated for the TextIndicator to take into account
the font descender (as well as the ascender), and to adjust by the scaled
amount of margin around the selected text.

* WebProcess/Plugins/PDF/PDFPlugin.mm:
(WebKit::PDFPlugin::viewRectForSelection): Use correct page for calculating
the coordinates.
* WebProcess/WebPage/mac/WebPageMac.mm:
(WebKit::WebPage::dictionaryPopupInfoForSelectionInPDFPlugin): Include font 'descendant'
and (scaled) margin when adjusting the hit target for the TextIndicator to draw.

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

5 years agoUnreviewed, roll out r183438 "RegExp matches arrays should use contiguous indexing...
fpizlo@apple.com [Tue, 28 Apr 2015 02:14:26 +0000 (02:14 +0000)]
Unreviewed, roll out r183438 "RegExp matches arrays should use contiguous indexing". It
causes many debug test failures.

* runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::init):
(JSC::JSGlobalObject::visitChildren):
* runtime/JSGlobalObject.h:
(JSC::JSGlobalObject::regExpMatchesArrayStructure):
* runtime/JSObject.h:
(JSC::JSObject::initializeIndex):
* runtime/RegExpMatchesArray.cpp:
(JSC::createRegExpMatchesArray):

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

5 years agoAdd '__init__.py' and fix known bug in benchmark runner.
commit-queue@webkit.org [Tue, 28 Apr 2015 01:06:14 +0000 (01:06 +0000)]
Add '__init__.py' and fix known bug in benchmark runner.
https://bugs.webkit.org/show_bug.cgi?id=144296

Patch by Dewei Zhu <dewei_zhu@apple.com> on 2015-04-27
Reviewed by Ryosuke Niwa

* Scripts/webkitpy/benchmark_runner/__init__.py: Make python to recognize this module.
* Scripts/webkitpy/benchmark_runner/benchmark_builder/__init__.py: Make python to recognize this module.
* Scripts/webkitpy/benchmark_runner/benchmark_runner.py:
(BenchmarkRunner.__init__):
(BenchmarkRunner.execute): Fix logic bug that '--output-file' option doesn't work, and empty output file bug.
* Scripts/webkitpy/benchmark_runner/browser_driver/__init__.py: Make python to recognize this module.
* Scripts/webkitpy/benchmark_runner/http_server_driver/__init__.py: Make python to recognize this module.

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

5 years agoConsolidate one-line flag-related header files into TextFlags.h
mmaxfield@apple.com [Tue, 28 Apr 2015 00:59:13 +0000 (00:59 +0000)]
Consolidate one-line flag-related header files into TextFlags.h
https://bugs.webkit.org/show_bug.cgi?id=144295

Reviewed by Tim Horton.

There were a collection of single-line header files throughout platform/ which contain
single-line type declaractions of flags related to text layout & rendering. This patch
consolidates all these single-line headers into TextFlags.h

No new tests because there is no behavior change.

* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:
* css/CSSFontFace.h:
* css/CSSPrimitiveValueMappings.h:
* loader/cache/CachedFont.h:
* loader/cache/CachedTextTrack.h:
* page/Settings.h:
* platform/DragImage.h:
* platform/graphics/FontDescription.h:
* platform/graphics/FontOrientation.h: Removed.
* platform/graphics/FontPlatformData.h:
* platform/graphics/FontRenderingMode.h: Removed.
* platform/graphics/FontSmoothingMode.h: Removed.
* platform/graphics/FontTraitsMask.h: Removed.
* platform/graphics/FontWidthVariant.h: Removed.
* platform/graphics/TextRenderingMode.h: Removed.
* platform/graphics/cairo/FontCustomPlatformData.h:
* platform/graphics/freetype/FontPlatformData.h:
* platform/graphics/mac/FontCustomPlatformData.h:
* platform/graphics/win/FontCustomPlatformData.h:
* platform/text/NonCJKGlyphOrientation.h: Removed.
* platform/text/TextFlags.h:
* rendering/TextPainter.h:
* style/StyleFontSizeFunctions.h:

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

5 years agoAdd naver to team.html
ryuan.choi@navercorp.com [Tue, 28 Apr 2015 00:46:21 +0000 (00:46 +0000)]
Add naver to team.html
https://bugs.webkit.org/show_bug.cgi?id=144298

Reviewed by Gyuyoung Kim.

* team.html:

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

5 years agoStatus page: fix the email links
benjamin@webkit.org [Tue, 28 Apr 2015 00:31:05 +0000 (00:31 +0000)]
Status page: fix the email links

Patch by Benjamin Poulain <bpoulain@apple.com> on 2015-04-27

* status.html:

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

5 years agoMore build fix.
ap@apple.com [Tue, 28 Apr 2015 00:22:26 +0000 (00:22 +0000)]
More build fix.

* WebKitTestRunner/InjectedBundle/mac/AccessibilityNotificationHandler.mm:
(-[AccessibilityNotificationHandler _notificationReceived:]):
Use -objectForKey:, not array subscript.

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

5 years agoRegExp matches arrays should use contiguous indexing.
akling@apple.com [Tue, 28 Apr 2015 00:14:47 +0000 (00:14 +0000)]
RegExp matches arrays should use contiguous indexing.
<https://webkit.org/b/144286>

Reviewed by Geoffrey Garen.

We had a custom Structure being used for RegExp matches arrays that would
put the arrays into SlowPutArrayStorageShape mode. This was just left
from when matches arrays were custom, lazily initialized objects.

This change removes that Structure and switches the matches arrays to
using the default ContiguousShape Structure. This allows the FTL JIT
to compile the inner loop of the Octane/regexp benchmark.

Also made a version of initializeIndex() [inline] that takes the indexing
type in an argument, allowing createRegExpMatchesArray() to initialize
the entire array without branching on the indexing type for each entry.

~3% progression on Octane/regexp.

* runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::init):
(JSC::JSGlobalObject::visitChildren):
* runtime/JSGlobalObject.h:
(JSC::JSGlobalObject::mapStructure):
(JSC::JSGlobalObject::regExpMatchesArrayStructure): Deleted.
* runtime/JSObject.h:
(JSC::JSObject::initializeIndex):
* runtime/RegExpMatchesArray.cpp:
(JSC::createRegExpMatchesArray):

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

5 years agoForm control may be associated with the wrong HTML Form element after form id change
dbates@webkit.org [Tue, 28 Apr 2015 00:03:55 +0000 (00:03 +0000)]
Form control may be associated with the wrong HTML Form element after form id change
https://bugs.webkit.org/show_bug.cgi?id=133456
<rdar://problem/17095055>

Reviewed by Andy Estes.

Source/WebCore:

Fixes an issue where a form control may be associated with the wrong HTML Form element
after the id of the HTML Form element associated with the form control is changed when
there is more than one HTML Form element with the same id in the document. Specifically,
a form control that has an HTML form attribute value X will always be associated with
some HTML Form element f where f.id = X regardless of whether f.id is subsequently
changed.

Tests: fast/forms/change-form-id-to-be-unique-then-submit-form.html
       fast/forms/change-form-id-to-be-unique.html

* dom/Element.cpp:
(WebCore::Element::attributeChanged): Notify observers when the id of an element changed.
(WebCore::Element::updateId): Added parameter NotifyObservers (defaults to NotifyObservers::Yes),
as to whether we should notify observers of the id change.
(WebCore::Element::updateIdForTreeScope): Ditto.
(WebCore::Element::willModifyAttribute): Do not notify observers of the id change immediately. As
indicated by the name of this method, we plan to modify the DOM attribute id of the element, but
we have not actually modified it when this method is called. Instead we will notify observers
in Element::attributeChanged(), which is called after the DOM attribute id is modified.
(WebCore::Element::cloneAttributesFromElement): Ditto.
* dom/Element.h: Defined enum class NotifyObservers.
* dom/TreeScope.cpp:
(WebCore::TreeScope::addElementById): Added boolean parameter notifyObservers (defaults to true)
as to whether we should dispatch a notification to all observers.
(WebCore::TreeScope::removeElementById): Ditto.
* dom/TreeScope.h:

LayoutTests:

Add tests to ensure that we associate the correct HTML Form element with a
<select> after changing the id of its associated HTML form element.

* fast/forms/change-form-id-to-be-unique-expected.txt: Added.
* fast/forms/change-form-id-to-be-unique-then-submit-form-expected.txt: Added.
* fast/forms/change-form-id-to-be-unique-then-submit-form.html: Added.
* fast/forms/change-form-id-to-be-unique.html: Added.

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

5 years agoCatch unexpected exits in DumpRenderTree
ap@apple.com [Mon, 27 Apr 2015 23:34:06 +0000 (23:34 +0000)]
Catch unexpected exits in DumpRenderTree
https://bugs.webkit.org/show_bug.cgi?id=144288

Reviewed by Tim Horton.

* DumpRenderTree/mac/DumpRenderTree.mm:
(atexitFunction):
(DumpRenderTreeMain):

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

5 years agoBuild fix
ap@apple.com [Mon, 27 Apr 2015 23:18:33 +0000 (23:18 +0000)]
Build fix

* DumpRenderTree/mac/AccessibilityNotificationHandler.mm:
(-[AccessibilityNotificationHandler _notificationReceived:]):
Use -objectForKey:, not array subscript.

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

5 years agoReduce allocations and memory usage when compiling content extensions.
achristensen@apple.com [Mon, 27 Apr 2015 22:34:47 +0000 (22:34 +0000)]
Reduce allocations and memory usage when compiling content extensions.
https://bugs.webkit.org/show_bug.cgi?id=144277

Reviewed by Benjamin Poulain.

Covered by existing tests.

* contentextensions/Term.h:
(WebCore::ContentExtensions::Term::CharacterSet::set):
(WebCore::ContentExtensions::Term::CharacterSet::get):
(WebCore::ContentExtensions::Term::CharacterSet::invert):
(WebCore::ContentExtensions::Term::CharacterSet::inverted):
(WebCore::ContentExtensions::Term::CharacterSet::bitCount):
(WebCore::ContentExtensions::Term::CharacterSet::operator==):
(WebCore::ContentExtensions::Term::CharacterSet::hash):
(WebCore::ContentExtensions::Term::Term):
(WebCore::ContentExtensions::Term::addCharacter):
(WebCore::ContentExtensions::Term::isEndOfLineAssertion):
(WebCore::ContentExtensions::Term::isUniversalTransition):
(WebCore::ContentExtensions::Term::generateSubgraphForAtom):
Use two uint64_t's instead of a BitVector with a capacity of 128 bits.

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

5 years agoRename WTF_USE_3D_GRAPHICS to ENABLE_GRAPHICS_CONTEXT_3D
mcatanzaro@igalia.com [Mon, 27 Apr 2015 22:30:47 +0000 (22:30 +0000)]
Rename WTF_USE_3D_GRAPHICS to ENABLE_GRAPHICS_CONTEXT_3D
https://bugs.webkit.org/show_bug.cgi?id=144193

Reviewed by Darin Adler.

.:

* Source/cmake/OptionsEfl.cmake:
* Source/cmake/OptionsGTK.cmake:
* Source/cmake/OptionsWinCairo.cmake:
* Source/cmake/WebKitFeatures.cmake:

Source/WebCore:

* CMakeLists.txt:
* platform/graphics/ANGLEWebKitBridge.cpp:
* platform/graphics/FormatConverter.cpp:
* platform/graphics/FormatConverter.h:
* platform/graphics/GLContext.h:
* platform/graphics/GraphicsContext3D.cpp:
* platform/graphics/GraphicsContext3DPrivate.cpp:
* platform/graphics/OpenGLShims.cpp:
* platform/graphics/cairo/GraphicsContext3DCairo.cpp:
* platform/graphics/cg/GraphicsContext3DCG.cpp:
* platform/graphics/egl/GLContextEGL.cpp:
* platform/graphics/egl/GLContextEGL.h:
* platform/graphics/glx/GLContextGLX.cpp:
* platform/graphics/glx/GLContextGLX.h:
* platform/graphics/mac/GraphicsContext3DMac.mm:
* platform/graphics/opengl/Extensions3DOpenGL.cpp:
* platform/graphics/opengl/Extensions3DOpenGLCommon.cpp:
* platform/graphics/opengl/Extensions3DOpenGLES.cpp:
* platform/graphics/opengl/GLPlatformContext.cpp:
* platform/graphics/opengl/GLPlatformSurface.cpp:
* platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
* platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
* platform/graphics/opengl/GraphicsContext3DOpenGLES.cpp:
* platform/graphics/opengl/TemporaryOpenGLSetting.cpp:
* platform/graphics/win/GraphicsContext3DWin.cpp:

Source/WebKit2:

* CMakeLists.txt:

Source/WTF:

* wtf/FeatureDefines.h:
* wtf/Platform.h:

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

5 years ago[iOS] Video not centered in element on retina devices
jer.noble@apple.com [Mon, 27 Apr 2015 22:24:07 +0000 (22:24 +0000)]
[iOS] Video not centered in element on retina devices
https://bugs.webkit.org/show_bug.cgi?id=144274

Reviewed by Simon Fraser.

In r173702, a transform was added to the video layer (and a matching, inverse transform
in the UIProcess), but this transform affects the position property of the video layer
used to position the video content within the element bounds when their aspect ratios
do not match.

To work around this problem, pre-apply the transform during -setPosition:.

* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(-[WebVideoContainerLayer setPosition:]):

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

5 years agoAdd a setting & restriction which prevents non-interactivte playback of audible media...
jer.noble@apple.com [Mon, 27 Apr 2015 22:08:43 +0000 (22:08 +0000)]
Add a setting & restriction which prevents non-interactivte playback of audible media elements.
https://bugs.webkit.org/show_bug.cgi?id=143486

Reviewed by Eric Carlson.

Source/WebCore:

Tests: media/audio-playback-restriction-autoplay.html
       media/audio-playback-restriction-play.html

To allow clients who want to allow non-user-interactive video-only playback, but still
restrict playback of audible media elements, add a new setting and matching restriction
which disallows playback of media elements containing audible characteristics.

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::HTMLMediaElement): Set the RequireUserGestureForAudioRateChange
    restriction if the audioPlaybackRequiresUserGesture() setting is set.
(WebCore::HTMLMediaElement::parseAttribute): Drive-by fix. Move the opening brace
    out of the #if, as this confuses the heck out of diff and makes all subsequent
    changes appear to be within HTMLMediaElement::parseAttribute.
(WebCore::HTMLMediaElement::autoplay): Remove the restriction check from within autoplay().
    It is checked again immediately after every autoplay() call site.
(WebCore::HTMLMediaElement::pauseInternal): Remove the iOS-only #if.
(WebCore::HTMLMediaElement::mediaPlayerDidAddAudioTrack): Check whether playback
    is permitted, and if not, pause.
(WebCore::HTMLMediaElement::mediaPlayerCharacteristicChanged): Ditto.
(WebCore::HTMLMediaElement::removeBehaviorsRestrictionsAfterFirstUserGesture): Ditto.
* html/HTMLMediaSession.cpp:
(WebCore::restrictionName): Since BehaviorRestrictions is a bitfield, check each bit
    individually.
(WebCore::HTMLMediaSession::removeBehaviorRestriction): Handle RequireUserGestureForAudioRateChange.
(WebCore::HTMLMediaSession::playbackPermitted): Check whether the element has audio and
    audio playback is restricted, and return false if so.
* html/HTMLMediaSession.h:
* page/Settings.cpp:
* page/Settings.in:
* testing/Internals.cpp:
(WebCore::Internals::setMediaSessionRestrictions): Added.
(WebCore::Internals::setMediaElementRestrictions): Added.
* testing/Internals.h:
* testing/Internals.idl:

LayoutTests:

* media/audio-playback-restriction-autoplay.html: Added.
* media/audio-playback-restriction-play.html: Added.
* media/video-test.js:
(setCaptionDisplayMode):
(runWithKeyDown.eventName.window.testRunner.eventSender.keyDown.string_appeared_here.string_appeared_here.thunk):
(runWithKeyDown):

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

5 years ago[CMake] Should be possible for an option to conflict with other options
mcatanzaro@igalia.com [Mon, 27 Apr 2015 22:04:04 +0000 (22:04 +0000)]
[CMake] Should be possible for an option to conflict with other options
https://bugs.webkit.org/show_bug.cgi?id=143956

Reviewed by Martin Robinson.

Add WEBKIT_OPTION_CONFLICT macro, which fails the build if conflicting options are on.

* Source/cmake/WebKitFeatures.cmake:

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

5 years agoContext menus are not reshown after an orientation change
jhoneycutt@apple.com [Mon, 27 Apr 2015 21:57:55 +0000 (21:57 +0000)]
Context menus are not reshown after an orientation change

<https://bugs.webkit.org/show_bug.cgi?id=144143>
<rdar://problem/20679931>

Reviewed by Darin Adler.

* UIProcess/ios/WKActionSheet.mm:
(-[WKActionSheet updateSheetPosition]):
Return early if we're still in a rotation, not if the rotation is
complete.

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

5 years agoWeb Inspector: Attempt to workaround exception in TimelineRuler
timothy@apple.com [Mon, 27 Apr 2015 21:43:04 +0000 (21:43 +0000)]
Web Inspector: Attempt to workaround exception in TimelineRuler
https://bugs.webkit.org/show_bug.cgi?id=144228

Reviewed by Joseph Pecoraro.

* UserInterface/Views/TimelineRuler.js:
(WebInspector.TimelineRuler.prototype.updateLayout):
Use firstChild instead of a custom _labelElement property on the dividerElement.

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

5 years ago[WebAudio] AudioContext does not remove user-gesture restriction during resume()
jer.noble@apple.com [Mon, 27 Apr 2015 21:35:03 +0000 (21:35 +0000)]
[WebAudio] AudioContext does not remove user-gesture restriction during resume()
https://bugs.webkit.org/show_bug.cgi?id=144211

Reviewed by Eric Carlson.

Source/WebCore:

Tests: webaudio/audiocontext-restriction-audiobuffersourcenode-start.html
       webaudio/audiocontext-restriction.html

Before the introduction of resume(), suspend(), and stop(), AudioContexts which required
a user-gesture would start normally, but would effectively mute their outputs. Now that
the AudioContext's state property is exposed to JavaScript, the AudioContext should stay
in the "suspended" state until the user-gesture restriction is lifted.

Add a new method, willBeginPlayback() which checks and potentially clears the context's
behavior restrictions before checking with the MediaSession. Call this new willBeginPlayback()
method when the state would transition to "running".

Because they may be called before any nodes are created, make sure to call lazyInitialize()
from within the JS-exposed resumePlayback(), suspendPlayback(), and stopPlayback() methods.

Instead of clearing the behavior restrictions directly, scheduled AudioNodes should instead
call a new method nodeWillBeginPlayback(). Because existing sites will call AudioNode.start()
inside a user-gesture handler to clear the user-gesture restriction, call startRendering()
from nodeWillBeginPlayback(). But because we don't want AudioNode.start() to resume playback
unconditionally, only do so when the user-gesture restriction is set.

Now that an AudioContext will not transition to "running" state without a user-gesture (if
that restriction is set), there's no reason to check for that restriction from inside
AudioDestinationNode.

Add some internal methods to set and clear AudioContext BehaviorRestrictions for testing purposes.

* Modules/webaudio/AudioBufferSourceNode.cpp:
(WebCore::AudioBufferSourceNode::startPlaying):
* Modules/webaudio/AudioContext.cpp:
(WebCore::AudioContext::nodeWillBeginPlayback):
(WebCore::AudioContext::willBeginPlayback):
(WebCore::AudioContext::willPausePlayback):
(WebCore::AudioContext::startRendering):
(WebCore::AudioContext::suspendContext):
(WebCore::AudioContext::resumeContext):
(WebCore::AudioContext::closeContext):
(WebCore::AudioContext::suspendPlayback):
(WebCore::AudioContext::mayResumePlayback):
* Modules/webaudio/AudioContext.h:
(WebCore::AudioContext::behaviorRestrictions):
(WebCore::AudioContext::userGestureRequiredForAudioStart):
(WebCore::AudioContext::pageConsentRequiredForAudioStart):
* Modules/webaudio/AudioDestinationNode.cpp:
(WebCore::AudioDestinationNode::render):
* Modules/webaudio/AudioScheduledSourceNode.cpp:
(WebCore::AudioScheduledSourceNode::start):
* testing/Internals.cpp:
(WebCore::Internals::setAudioContextRestrictions):
* testing/Internals.h:
* testing/Internals.idl:

LayoutTests:

* webaudio/audiocontext-restriction-audiobuffersourcenode-start-expected.txt: Added.
* webaudio/audiocontext-restriction-audiobuffersourcenode-start.html: Added.
* webaudio/audiocontext-restriction-expected.txt: Added.
* webaudio/audiocontext-restriction.html: Added.
* webaudio/resources/audio-testing.js:
(runWithKeyDown):

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

5 years agoWeb Inspector: Elements tab details sidebar becomes non-expandable after using Consol...
timothy@apple.com [Mon, 27 Apr 2015 21:30:58 +0000 (21:30 +0000)]
Web Inspector: Elements tab details sidebar becomes non-expandable after using Console tab
https://bugs.webkit.org/show_bug.cgi?id=144212

Show the DOM tree content view again on main resource change. This better matches what we did
in the pre tab user interface with the DOM being off the main resource tree element.

Reviewed by Joseph Pecoraro.

* UserInterface/Views/ElementsTabContentView.js:
(WebInspector.ElementsTabContentView): Listen for main resource change. Call _showDOMTreeContentView.
(WebInspector.ElementsTabContentView.prototype.closed): Fix a leak and exception.
The removeEventListener was wrong. Add a new removeEventListener for WebInspector.Frame.
(WebInspector.ElementsTabContentView.prototype._showDOMTreeContentView): Added.
(WebInspector.ElementsTabContentView.prototype._mainFrameDidChange): Call _showDOMTreeContentView.
(WebInspector.ElementsTabContentView.prototype._mainResourceDidChange): Added.

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

5 years agoWeb Inspector: TabContentView closed() isn't being called when a tab is closed /...
timothy@apple.com [Mon, 27 Apr 2015 21:28:57 +0000 (21:28 +0000)]
Web Inspector: TabContentView closed() isn't being called when a tab is closed / removed
https://bugs.webkit.org/show_bug.cgi?id=144229

Reviewed by Joseph Pecoraro.

* UserInterface/Views/ContentViewContainer.js:
(WebInspector.ContentViewContainer.prototype._disassociateFromContentView):
TabContentViews don't have a representedObject, so returning early and not
calling closed() was not correct.

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

5 years agoREGRESSION (r183373): ASSERT failed in wtf/SHA1.h
rniwa@webkit.org [Mon, 27 Apr 2015 21:08:35 +0000 (21:08 +0000)]
REGRESSION (r183373): ASSERT failed in wtf/SHA1.h
https://bugs.webkit.org/show_bug.cgi?id=144257

Temporarily disable skip these tests.

* tests/stress/template-literal-line-terminators.js:
* tests/stress/template-literal-syntax.js:
* tests/stress/template-literal.js:

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

5 years agoBuild fix.
ap@apple.com [Mon, 27 Apr 2015 21:02:31 +0000 (21:02 +0000)]
Build fix.

* accessibility/mac/AXObjectCacheMac.mm: (WebCore::AXObjectCache::postTextReplacementPlatformNotification):
Use -setObject:forKey:, not array subscript.

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

5 years agoFunction allocations shouldn't sink through Put operations
commit-queue@webkit.org [Mon, 27 Apr 2015 20:42:28 +0000 (20:42 +0000)]
Function allocations shouldn't sink through Put operations
https://bugs.webkit.org/show_bug.cgi?id=144176

Patch by Basile Clement <basile_clement@apple.com> on 2015-04-27
Reviewed by Filip Pizlo.

By design, we don't support function allocation sinking through any
related operation ; however object allocation can sink through PutByOffset et
al.

Currently, the checks to prevent function allocation to sink through
these are misguided and do not prevent anything ; function allocation sinking
through these operations is prevented as a side effect of requiring an
AllocatePropertyStorage through which the function allocation is seen as
escaping.

This changes it so that ObjectAllocationSinkingPhase::handleNode()
checks properly that only object allocations sink through related write
operations.

* dfg/DFGObjectAllocationSinkingPhase.cpp:
(JSC::DFG::ObjectAllocationSinkingPhase::lowerNonReadingOperationsOnPhantomAllocations):
(JSC::DFG::ObjectAllocationSinkingPhase::handleNode):

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

5 years agofast/frames/flattening/iframe-flattening-resize-event-count.html times out on Yosemit...
ap@apple.com [Mon, 27 Apr 2015 20:34:33 +0000 (20:34 +0000)]
fast/frames/flattening/iframe-flattening-resize-event-count.html times out on Yosemite WK2
https://bugs.webkit.org/show_bug.cgi?id=144155

Reviewed by Tim Horton.

* WebKitTestRunner/TestController.cpp: (WTR::TestController::resetPreferencesToConsistentValues):
Disable App Nap. I don't have positive evidence that it's the culprit, but it could be,
and we clearly don't want App Nap while testing.

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

5 years agoWirelessTargetPicker should not be visible unless a file is playable
eric.carlson@apple.com [Mon, 27 Apr 2015 20:33:15 +0000 (20:33 +0000)]
WirelessTargetPicker should not be visible unless a file is playable
https://bugs.webkit.org/show_bug.cgi?id=144271
<rdar://problem/20712003>

Reviewed by Jer Noble.

* Modules/mediacontrols/mediaControlsApple.js:
(Controller.prototype.isPlayable): New.
(Controller.prototype.setStatusHidden): Call updateWirelessTargetAvailable.
(Controller.prototype.updateWirelessTargetAvailable): Don't show the button until the
    status message has been hidden.

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

5 years ago[CMake] Autogenerate cmakeconfig.h.cmake
mrobinson@webkit.org [Mon, 27 Apr 2015 20:30:15 +0000 (20:30 +0000)]
[CMake] Autogenerate cmakeconfig.h.cmake
https://bugs.webkit.org/show_bug.cgi?id=143997

Reviewed by Csaba Osztrogonác.

.:

* CMakeLists.txt: Create the configuration header as the last part of the cmake run.
* Source/CMakeLists.txt: No longer use configure_file to create cmakeconfig.h.
* Source/cmake/OptionsCommon.cmake: Expose WTF_CPU_ARM64_CORTEXA53 to the build explicitly.
* Source/cmake/OptionsGTK.cmake: Expose variables to the build using SET_AND_EXPOSE_TO_BUILD.
Do some other miscellaneous related cleanup.
* Source/cmake/OptionsEFL.cmake: Expose HAVE_LLVM to the build.
* Source/cmake/WebKitFeatures.cmake: Expose all WebKit features to the build. Add support for
build exposed variables. Add a macro to generate a configuration from them.
* Source/cmakeconfig.h.cmake: Removed.

Source/WebCore:

* PlatformGTK.cmake: Use the WTF_USE style variables, because those are the same
as the ones exposed to the build.

Source/WTF:

* wtf/Platform.h: Move a GTK-specific setting from cmakeconfig.h to here.

Tools:

* DumpRenderTree/TestNetscapePlugIn/CMakeLists.txt: Add XP_UNIX to the command-line
definitions since TestNetscapePlugIn does not use cmakeconfig.h.

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

5 years agoUnreviewed build fix after r183405
beidson@apple.com [Mon, 27 Apr 2015 20:28:55 +0000 (20:28 +0000)]
Unreviewed build fix after r183405

* WebActionPropertyBag.cpp:
(WebActionPropertyBag::Read): Cast the enum class to a LONG.

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

5 years agordar://problem/16678392 Page visibility tests are broken in Yosemite
ap@apple.com [Mon, 27 Apr 2015 20:23:08 +0000 (20:23 +0000)]
rdar://problem/16678392 Page visibility tests are broken in Yosemite

* platform/mac-wk2/TestExpectations: They don't seem to be broken any more, unskipping.
Maybe <http://trac.webkit.org/changeset/181866> fixed them?
Also updated the next line (media/video-background-tab-playback.html), as it didn't match what bots see now.

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

5 years agoSimple line layout: Wrong text offsetting when range does not start from the first...
zalan@apple.com [Mon, 27 Apr 2015 20:19:13 +0000 (20:19 +0000)]
Simple line layout: Wrong text offsetting when range does not start from the first renderer.
https://bugs.webkit.org/show_bug.cgi?id=144167
rdar://problem/20639857

Reviewed by Simon Fraser.

This patch ensures that TextIterator returns the right text when the input range starts
from a sibling node.

TextIterator::m_previousTextLengthInFlow keeps track of the current node offset from the parent.
Source/WebCore:

It is required to map simple line layout runs to RenderText positions.
This patch sets the offset value when the iteration start with a sibling node.

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

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

LayoutTests:

it is required to map simple line layout runs to RenderText positions.
This patch sets the offset value when the iteration start with a sibling node.

* fast/text/range-text-with-simple-line-layout-expected.txt: Added.
* fast/text/range-text-with-simple-line-layout.html: Added.

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

5 years ago[WK2] API::Dictionary creation functions should return Ref<>
zandobersek@gmail.com [Mon, 27 Apr 2015 20:15:12 +0000 (20:15 +0000)]
[WK2] API::Dictionary creation functions should return Ref<>
https://bugs.webkit.org/show_bug.cgi?id=144221

Reviewed by Darin Adler.

Have API::Dictionary creation functions return Ref<>.
The call-sites are also updated, using and operating
on the returned Ref<> object where possible.

* Shared/API/APIDictionary.cpp:
(API::Dictionary::create):
* Shared/API/APIDictionary.h:
* Shared/API/Cocoa/WKRemoteObjectCoder.mm:
(createEncodedObject):
* Shared/API/Cocoa/_WKRemoteObjectRegistry.mm:
(-[_WKRemoteObjectRegistry _sendInvocation:interface:]):
* Shared/API/c/WKDictionary.cpp:
(WKDictionaryCreate):
* Shared/API/c/WKMutableDictionary.cpp:
(WKMutableDictionaryCreate):
* Shared/Plugins/Netscape/PluginInformation.cpp:
(WebKit::createPluginInformationDictionary):
* Shared/Plugins/Netscape/PluginInformation.h:
* UIProcess/API/C/WKPage.cpp:
(WKPageSetPageUIClient):
* UIProcess/API/gtk/WebKitWebContext.cpp:
(webkit_web_context_prefetch_dns):
* UIProcess/API/gtk/WebKitWebView.cpp:
(webkit_web_view_get_snapshot):
* UIProcess/Plugins/PlugInAutoStartProvider.cpp:
(WebKit::PlugInAutoStartProvider::autoStartOriginsTableCopy):
* UIProcess/Plugins/PlugInAutoStartProvider.h:
* UIProcess/StatisticsRequest.cpp:
(WebKit::createDictionaryFromHashMap):
(WebKit::StatisticsRequest::completedRequest):
* UIProcess/WebFormClient.cpp:
(WebKit::WebFormClient::willSubmitForm):
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::didFailToInitializePlugin):
* WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp:
(didInitiateLoadForResource):
(willSendRequestForFrame):
(didReceiveResponseForResource):
(didReceiveContentLengthForResource):
(didFinishLoadForResource):
(didFailLoadForResource):
(webkitWebPageDidReceiveMessage):
* WebProcess/InjectedBundle/InjectedBundlePageFormClient.cpp:
(WebKit::InjectedBundlePageFormClient::willSendSubmitEvent):
(WebKit::InjectedBundlePageFormClient::willSubmitForm):

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

5 years ago[WK2] API::Data creation functions should return Ref<>
zandobersek@gmail.com [Mon, 27 Apr 2015 20:13:53 +0000 (20:13 +0000)]
[WK2] API::Data creation functions should return Ref<>
https://bugs.webkit.org/show_bug.cgi?id=144220

Reviewed by Darin Adler.

Have API::Data creation functions return Ref<>.
The call-sites are also updated, using and operating
on the returned Ref<> object where possible.

* Shared/API/APIData.h:
(API::Data::createWithoutCopying):
(API::Data::create):
* Shared/API/c/WKData.cpp:
(WKDataCreate):
* Shared/API/c/mac/WKWebArchive.cpp:
(WKWebArchiveCopyData):
* Shared/API/c/mac/WKWebArchiveResource.cpp:
(WKWebArchiveResourceCopyData):
* Shared/APIWebArchive.h:
* Shared/APIWebArchive.mm:
(API::WebArchive::data):
* Shared/APIWebArchiveResource.h:
* Shared/APIWebArchiveResource.mm:
(API::WebArchiveResource::data):
* Shared/Cocoa/APIDataCocoa.mm:
(API::Data::createWithoutCopying):
* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView loadData:MIMEType:characterEncodingName:baseURL:]):
* UIProcess/API/gtk/WebKitURISchemeRequest.cpp:
(webkitURISchemeRequestReadCallback):
* UIProcess/API/gtk/WebKitWebView.cpp:
(webkit_web_view_load_bytes):
* UIProcess/Downloads/DownloadProxy.cpp:
(WebKit::createData):
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::dataCallback):
(WebKit::WebPageProxy::savePDFToFileInDownloadsFolder):

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

5 years ago[WK2] API::URL creation functions should return Ref<>
zandobersek@gmail.com [Mon, 27 Apr 2015 20:09:41 +0000 (20:09 +0000)]
[WK2] API::URL creation functions should return Ref<>
https://bugs.webkit.org/show_bug.cgi?id=144219

Reviewed by Darin Adler.

Have API::URL creation functions return Ref<>.
The call-sites are also updated, using and operating in the
returned Ref<> object, where possible.

* Shared/API/APIURL.h:
(API::URL::create):
* Shared/API/c/WKSharedAPICast.h:
(WebKit::toCopiedURLAPI):
* Shared/API/c/WKURL.cpp:
(WKURLCreateWithUTF8CString):
(WKURLCreateWithBaseURL):
* UIProcess/API/gtk/WebKitWebResource.cpp:
(webkit_web_resource_get_data):
* UIProcess/WebIconDatabase.cpp:
(WebKit::WebIconDatabase::didChangeIconForPageURL):
(WebKit::WebIconDatabase::notifyIconDataReadyForPageURL):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::userAgent):

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

5 years ago[WK2] API::String creation functions should return Ref<>
zandobersek@gmail.com [Mon, 27 Apr 2015 20:05:14 +0000 (20:05 +0000)]
[WK2] API::String creation functions should return Ref<>
https://bugs.webkit.org/show_bug.cgi?id=144218

Reviewed by Darin Adler.

Have API::String creation functions return Ref<>.
The call-sites are also updated, using and operating on the returned
Ref<> object, where possible.

* Shared/API/APIString.h:
* Shared/API/c/WKPluginInformation.cpp:
(WKPluginInformationBundleIdentifierKey):
(WKPluginInformationBundleVersionKey):
(WKPluginInformationBundleShortVersionKey):
(WKPluginInformationPathKey):
(WKPluginInformationDisplayNameKey):
(WKPluginInformationDefaultLoadPolicyKey):
(WKPluginInformationUpdatePastLastBlockedVersionIsKnownAvailableKey):
(WKPluginInformationHasSandboxProfileKey):
(WKPluginInformationFrameURLKey):
(WKPluginInformationMIMETypeKey):
(WKPluginInformationPageURLKey):
(WKPluginInformationPluginspageAttributeURLKey):
(WKPluginInformationPluginURLKey):
(WKPlugInInformationReplacementObscuredKey):
* Shared/API/c/WKSharedAPICast.h:
(WebKit::ProxyingRefPtr::ProxyingRefPtr):
(WebKit::toCopiedAPI):
* Shared/API/c/WKString.cpp:
(WKStringCreateWithUTF8CString):
(WKStringCreateWithJSString):
* UIProcess/API/C/WKDatabaseManager.cpp:
(WKDatabaseManagerGetOriginKey):
(WKDatabaseManagerGetOriginQuotaKey):
(WKDatabaseManagerGetOriginUsageKey):
(WKDatabaseManagerGetDatabaseDetailsKey):
(WKDatabaseManagerGetDatabaseDetailsNameKey):
(WKDatabaseManagerGetDatabaseDetailsDisplayNameKey):
(WKDatabaseManagerGetDatabaseDetailsExpectedUsageKey):
(WKDatabaseManagerGetDatabaseDetailsCurrentUsageKey):
(WKDatabaseManagerGetDatabaseDetailsCreationTimeKey):
(WKDatabaseManagerGetDatabaseDetailsModificationTimeKey):
* UIProcess/API/C/WKKeyValueStorageManager.cpp:
(WKKeyValueStorageManagerGetOriginKey):
(WKKeyValueStorageManagerGetCreationTimeKey):
(WKKeyValueStorageManagerGetModificationTimeKey):
* UIProcess/API/C/WKPage.cpp:
(WKPageGetSessionHistoryURLValueType):
(WKPageGetSessionBackForwardListItemValueType):
(toGenericCallbackFunction):
(WKPageValidateCommand):
* UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::didReceiveInvalidMessage):

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

5 years agoUnreviewed, rolling out r183393.
commit-queue@webkit.org [Mon, 27 Apr 2015 19:36:25 +0000 (19:36 +0000)]
Unreviewed, rolling out r183393.
https://bugs.webkit.org/show_bug.cgi?id=144272

Caused memory corruption detected by GuardMalloc (Requested by
ap on #webkit).

Reverted changeset:

"Synchronous XMLHttpRequest should get access to AppCache
resources stored as flat files"
https://bugs.webkit.org/show_bug.cgi?id=143711
http://trac.webkit.org/changeset/183393

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

5 years ago[Curl] Favicons loaded from disc cache are ignored.
peavo@outlook.com [Mon, 27 Apr 2015 18:57:13 +0000 (18:57 +0000)]
[Curl] Favicons loaded from disc cache are ignored.
https://bugs.webkit.org/show_bug.cgi?id=143953

Reviewed by Alex Christensen.

When a favicon is loaded from the Curl disc cache, the icon data is thrown away.
This happens because we give a 304 response, which makes the icon loader ignore
the response. We can solve this by responding with 200 OK.

* platform/network/ResourceHandleInternal.h:
(WebCore::ResourceHandleInternal::ResourceHandleInternal):
* platform/network/curl/CurlCacheManager.cpp:
(WebCore::CurlCacheManager::didReceiveResponse):
* platform/network/curl/ResourceHandleManager.cpp:
(WebCore::headerCallback):
(WebCore::ResourceHandleManager::initializeHandle):

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

5 years agoVarargsForwardingPhase should use bytecode liveness in addition to other uses to...
fpizlo@apple.com [Mon, 27 Apr 2015 18:49:15 +0000 (18:49 +0000)]
VarargsForwardingPhase should use bytecode liveness in addition to other uses to determine the last point that a candidate is used
https://bugs.webkit.org/show_bug.cgi?id=143843

Reviewed by Geoffrey Garen.

It will soon come to pass that Phantom isn't available at the time that
VarargsForwardingPhase runs. So, it needs to use some other mechanism for discovering when
a value dies for OSR.

This is simplified by two things:

1) The bytecode kill analysis is now reusable. This patch makes it even more reusable than
   before by polishing the API.

2) This phase already operates on one node at a time and allows itself to do a full search
   of the enclosing basic block for that node. This is fine because CreateDirectArguments
   and friends is a rarely occurring node. The fact that it operates on one node at a time
   makes it even easier to reason about OSR liveness - we just track the list of locals in
   which it is live.

This change has no effect right now but it is a necessary prerequisite to implementing
https://bugs.webkit.org/show_bug.cgi?id=143736.

* dfg/DFGBasicBlock.h:
(JSC::DFG::BasicBlock::tryAt):
* dfg/DFGForAllKills.h:
(JSC::DFG::forAllKilledOperands):
* dfg/DFGPhantomInsertionPhase.cpp:
* dfg/DFGVarargsForwardingPhase.cpp:

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

5 years agoMake 'enum NavigationType' be an enum class
beidson@apple.com [Mon, 27 Apr 2015 18:46:15 +0000 (18:46 +0000)]
Make 'enum NavigationType' be an enum class
https://bugs.webkit.org/show_bug.cgi?id=144270

Reviewed by Alex Christensen.

Source/WebCore:

No new tests (No change in behavior).

I’ll be adding a new NavigationType for bug 144269 so it makes sense to make this
an enum class first.

* loader/FrameLoader.cpp:
(WebCore::FrameLoader::load):
(WebCore::FrameLoader::reload):
(WebCore::FrameLoader::loadDifferentDocumentItem):
* loader/FrameLoaderTypes.h:

* loader/NavigationAction.cpp:
(WebCore::navigationType):
(WebCore::NavigationAction::NavigationAction):

* loader/PolicyChecker.cpp:
(WebCore::PolicyChecker::checkNavigationPolicy):

* page/PerformanceNavigation.cpp:
(WebCore::PerformanceNavigation::type):

Source/WebKit/mac:

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

Source/WebKit2:

* Shared/API/c/WKSharedAPICast.h:
(WebKit::toAPI):

* Shared/NavigationActionData.cpp:
(WebKit::NavigationActionData::NavigationActionData):

* UIProcess/API/Cocoa/WKNavigationAction.mm:
(toWKNavigationType):

* UIProcess/API/gtk/WebKitPrivate.cpp:
(toWebKitNavigationType):

* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):

* WebProcess/WebPage/WebInspector.cpp:
(WebKit::WebInspector::openInNewTab):

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

5 years agoFix viewport units in Media Queries
yoav@yoav.ws [Mon, 27 Apr 2015 18:42:29 +0000 (18:42 +0000)]
Fix viewport units in Media Queries
https://bugs.webkit.org/show_bug.cgi?id=144260

Reviewed by Darin Adler.

Source/WebCore:

This patch makes sure that viewport units are considered "length units"
in the context of Media Queries, by having MediaQueryExp use the unit logic
that is in CSSPrimitiveValue.
It does that by turning the relevant methods in CSSPrimitiveValue into static.

It also makes sure that the logic for "resolution units" is not maintained separately
in MediaQueryExp, to avoid similiar issues in the future with resolution units.

Test: fast/media/mq-viewport-units.html

* css/CSSPrimitiveValue.h:
(WebCore::CSSPrimitiveValue::isViewportPercentageLength): Added a static variant.
(WebCore::CSSPrimitiveValue::isLength): Added a static variant.
(WebCore::CSSPrimitiveValue::isResolution): Added a static variant.
* css/MediaQueryExp.cpp:
(WebCore::featureWithValidPositiveLenghtOrNumber): Call CSSPrimitiveValue's length unit logic.
(WebCore::featureWithValidDensity): Call CSSPrimitiveValue's resolution unit logic.

LayoutTests:

These tests make sure that viewport units are working as expected inside of Media Queries.

* fast/media/mq-viewport-units-expected.txt: Added.
* fast/media/mq-viewport-units.html: Added.

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

5 years agoREGRESSION(r182879): Images and video can no longer be downloaded
bfulgham@apple.com [Mon, 27 Apr 2015 18:38:29 +0000 (18:38 +0000)]
REGRESSION(r182879): Images and video can no longer be downloaded
https://bugs.webkit.org/show_bug.cgi?id=144267
<rdar://problem/20702844>

Reviewed by Simon Fraser.

Source/WebKit/mac:

* WebView/WebActionMenuController.mm:
(-[WebActionMenuController _createActionMenuItemForTag:]): Check for
"!WebCore::protocolIs(..., "file")" for image and media downloads.

Source/WebKit2:

* UIProcess/mac/WKActionMenuController.mm:
(-[WKActionMenuController _createActionMenuItemForTag:]): Check for
"!WebCore::protocolIs(..., "file")" for image and media downloads.

Tools:

Revise tests to check for proper download menu state.
1. Downloading a loal image should be disabled.
2. Downloading a local media file should be disabled.
3. Downloading non-downloadable media should be disabled.

* TestWebKitAPI/Tests/WebKit2ObjC/ActionMenus.mm:
(TestWebKitAPI::TEST):

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

5 years agoMap#entries and Map#keys error for non-Maps is swapped
commit-queue@webkit.org [Mon, 27 Apr 2015 18:36:14 +0000 (18:36 +0000)]
Map#entries and Map#keys error for non-Maps is swapped
https://bugs.webkit.org/show_bug.cgi?id=144253

Patch by Jordan Harband <ljharb@gmail.com> on 2015-04-27
Reviewed by Simon Fraser.

Correcting error messages on Set/Map methods when called on
incompatible objects.

* runtime/MapPrototype.cpp:
(JSC::mapProtoFuncEntries):
(JSC::mapProtoFuncKeys):
* runtime/SetPrototype.cpp:
(JSC::setProtoFuncEntries):

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

5 years agoRationalize DFG DCE handling of nodes that perform checks that propagate through AI
fpizlo@apple.com [Mon, 27 Apr 2015 18:31:26 +0000 (18:31 +0000)]
Rationalize DFG DCE handling of nodes that perform checks that propagate through AI
https://bugs.webkit.org/show_bug.cgi?id=144186

Reviewed by Geoffrey Garen.

If I do ArithAdd(Int32Use, Int32Use, CheckOverflow) then AI will prove that this returns
Int32. We may later perform code simplifications based on the proof that this is Int32, and
we may kill all DFG users of this ArithAdd. Then we may prove that there is no exit site at
which the ArithAdd is live. This seems like it is sufficient to then kill the ArithAdd,
except that we still need the overflow check!

Previously we mishandled this:

- In places where we want the overflow check we need to use MustGenerate(@ArithAdd) as a hack
  to keep it alive. That's dirty and it's just indicative of a deeper issue.

- Our MovHint removal doesn't do Phantom canonicalization which essentially makes it
  powerless. This was sort of hiding the bug.

- Nodes that have checks that AI leverages should always be NodeMustGenerate. You can't kill
  something that you are relying on for subsequent simplifications.

This fixes MovHint removal to also canonicalize Phantoms. This also adds ModeMustGenerate to
nodes that may perform checks that are used by AI to guarantee the result type. As a result,
we no longer need the weird MustGenerate node.

* dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
* dfg/DFGArgumentsEliminationPhase.cpp:
* dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
* dfg/DFGDCEPhase.cpp:
(JSC::DFG::DCEPhase::run):
* dfg/DFGDoesGC.cpp:
(JSC::DFG::doesGC):
* dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
(JSC::DFG::FixupPhase::tryToRelaxRepresentation):
* dfg/DFGIntegerCheckCombiningPhase.cpp:
(JSC::DFG::IntegerCheckCombiningPhase::handleBlock):
(JSC::DFG::IntegerCheckCombiningPhase::insertMustAdd): Deleted.
* dfg/DFGMayExit.cpp:
(JSC::DFG::mayExit):
* dfg/DFGNode.h:
(JSC::DFG::Node::willHaveCodeGenOrOSR):
* dfg/DFGNodeType.h:
* dfg/DFGObjectAllocationSinkingPhase.cpp:
(JSC::DFG::ObjectAllocationSinkingPhase::handleNode):
* dfg/DFGPhantomCanonicalizationPhase.cpp:
(JSC::DFG::PhantomCanonicalizationPhase::run):
* dfg/DFGPhantomRemovalPhase.cpp:
(JSC::DFG::PhantomRemovalPhase::run):
* dfg/DFGPlan.cpp:
(JSC::DFG::Plan::compileInThreadImpl):
* dfg/DFGPredictionPropagationPhase.cpp:
(JSC::DFG::PredictionPropagationPhase::propagate):
* dfg/DFGSafeToExecute.h:
(JSC::DFG::safeToExecute):
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGTypeCheckHoistingPhase.cpp:
(JSC::DFG::TypeCheckHoistingPhase::identifyRedundantStructureChecks):
(JSC::DFG::TypeCheckHoistingPhase::identifyRedundantArrayChecks):
* dfg/DFGVarargsForwardingPhase.cpp:
* ftl/FTLCapabilities.cpp:
(JSC::FTL::canCompile):
* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::compileNode):
* tests/stress/fold-based-on-int32-proof-mul-branch.js: Added.
(foo):
* tests/stress/fold-based-on-int32-proof-mul.js: Added.
(foo):
* tests/stress/fold-based-on-int32-proof-or-zero.js: Added.
(foo):
* tests/stress/fold-based-on-int32-proof.js: Added.
(foo):

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

5 years agoMerge run-launcher into run-minibrowser
ossy@webkit.org [Mon, 27 Apr 2015 18:19:37 +0000 (18:19 +0000)]
Merge run-launcher into run-minibrowser
https://bugs.webkit.org/show_bug.cgi?id=141928

Reviewed by Darin Adler.

* Scripts/run-iexploder-tests:
(runSafariWithIExploder):
* Scripts/run-launcher: Removed.
* Scripts/run-minibrowser:
* Scripts/webkitdirs.pm:
(launcherPath):
* Scripts/webkitpy/port/efl.py:
(EflPort.show_results_html_file):
* Scripts/webkitpy/port/efl_unittest.py:
(EflPortTest.test_show_results_html_file):
* Scripts/webkitpy/port/gtk.py:
(GtkPort.print_leaks_summary):
(GtkPort.show_results_html_file):
(GtkPort): Deleted.
* Scripts/webkitpy/port/gtk_unittest.py:
(GtkPortTest.test_show_results_html_file):

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

5 years ago[CSS Grid Layout] Support for the justify-self and justify-items in grid layout
jfernandez@igalia.com [Mon, 27 Apr 2015 17:24:44 +0000 (17:24 +0000)]
[CSS Grid Layout] Support for the justify-self and justify-items in grid layout
https://bugs.webkit.org/show_bug.cgi?id=133280

Source/WebCore:

Reviewed by David Hyatt.

Implementation of justify-self and justify-items properties for grid. It supports
different writing-modes and direction. Margins, borders and paddings are also
considered when computing the final position and stretched size.

This patch applies also a quite important refactoring of the alignment logic in
order to share code between the two alignment dimensions, row-axis and column-axis.

Overflow handling is still missing and will be added later in a follow-up bug.

Tests: fast/css-grid-layout/grid-align-justify-margin-border-padding-vertical-lr.html
       fast/css-grid-layout/grid-align-justify-margin-border-padding-vertical-rl.html
       fast/css-grid-layout/grid-align-justify-margin-border-padding.html
       fast/css-grid-layout/justify-self-cell.html

* rendering/RenderGrid.cpp:
(WebCore::RenderGrid::layoutGridItems):
(WebCore::RenderGrid::columnAxisPositionForChild):
(WebCore::RenderGrid::rowAxisPositionForChild):
(WebCore::RenderGrid::rowPositionForChild):
(WebCore::RenderGrid::columnPositionForChild):
(WebCore::RenderGrid::findChildLogicalPosition):
(WebCore::RenderGrid::allowedToStretchLogicalHeightForChild): Deleted.
(WebCore::RenderGrid::needToStretchChildLogicalHeight): Deleted.
(WebCore::RenderGrid::marginLogicalHeightForChild): Deleted.
(WebCore::RenderGrid::availableAlignmentSpaceForChildBeforeStretching): Deleted.
(WebCore::RenderGrid::applyStretchAlignmentToChildIfNeeded): Deleted.
* rendering/RenderGrid.h:
* rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::resolveJustification):
* rendering/style/RenderStyle.h:

LayoutTests:

Implementation of justify-self and justify-items properties for grid.
Added additional testing for ensuring margin, padding and border are considered when
computing grid item's position.

Reviewed by David Hyatt.

* fast/css-grid-layout/grid-align-justify-margin-border-padding-expected.txt: Added.
* fast/css-grid-layout/grid-align-justify-margin-border-padding-vertical-lr-expected.txt: Added.
* fast/css-grid-layout/grid-align-justify-margin-border-padding-vertical-lr.html: Added.
* fast/css-grid-layout/grid-align-justify-margin-border-padding-vertical-rl-expected.txt: Added.
* fast/css-grid-layout/grid-align-justify-margin-border-padding-vertical-rl.html: Added.
* fast/css-grid-layout/grid-align-justify-margin-border-padding.html: Added.
* fast/css-grid-layout/justify-self-cell-expected.txt: Added.
* fast/css-grid-layout/justify-self-cell.html: Added.
* fast/css-grid-layout/resources/grid.css:
(.directionLTR): Added. Useful for defining orthogonal flows.

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

5 years agoCrashes under IDBDatabase::closeConnection
darin@apple.com [Mon, 27 Apr 2015 17:07:20 +0000 (17:07 +0000)]
Crashes under IDBDatabase::closeConnection
https://bugs.webkit.org/show_bug.cgi?id=141745

Reviewed by Alexey Proskuryakov.

* Modules/indexeddb/IDBDatabase.cpp:
(WebCore::IDBDatabase::~IDBDatabase): Do the work of close/closeConnection without
actually calling those functions.
(WebCore::IDBDatabase::closeConnection): Protect the database so it's not destroyed
in the middle of this function's execution.

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

5 years agoUnreviewed.
calvaris@igalia.com [Mon, 27 Apr 2015 14:56:18 +0000 (14:56 +0000)]
Unreviewed.

Fixed timeout expectation of "closed should fulfill with
undefined" test. This doesn't time out anymore.

* streams/reference-implementation/readable-stream-templated.html:

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

5 years agoUnreviewed.
calvaris@igalia.com [Mon, 27 Apr 2015 14:54:56 +0000 (14:54 +0000)]
Unreviewed.

Fixed timeout expectation of "closed should fulfill with
undefined" test. This doesn't time out anymore.

* streams/reference-implementation/readable-stream-templated.html:

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

5 years ago[Streams API] ReadableStream constructor start function should be able to close the...
youenn.fablet@crf.canon.fr [Mon, 27 Apr 2015 13:31:59 +0000 (13:31 +0000)]
[Streams API] ReadableStream constructor start function should be able to close the stream
https://bugs.webkit.org/show_bug.cgi?id=143363

Reviewed by Benjamin Poulain.

Source/WebCore:

Implements https://streams.spec.whatwg.org/#close-readable-stream.
When the "close" JS function is called, the stream is getting closed.
The stream state is changed to close and if it has a reader, the reader gets closed as well:
The reader resolves the closed promise and releases the stream.

Enabled the possibility to resolve a promise with any JS value.
This is used to resolve closed promise with jsUndefined and will be used for read promises in
the future as well, though of course it is not restricted to Streams.

Covered by reference tests that are now passing.

* Modules/streams/ReadableStream.h:
* Modules/streams/ReadableStream.cpp:
(WebCore::ReadableStream::changeStateToClosed): Called by the JS function 'close'.
* Modules/streams/ReadableStreamReader.cpp:
(WebCore::ReadableStreamReader::ReadableStreamReader): Initialized stream.
(WebCore::ReadableStreamReader::initialize): Added to handle state change at constructor time
in particular closed/errored state.
(WebCore::ReadableStreamReader::releaseStream): Releases the stream.
(WebCore::ReadableStreamReader::closed): Stores the promise callbacks and invokes success
immediately if the stream is already closed.
(WebCore::ReadableStreamReader::changeStateToClosed): Changes the internal state to closed,
resolves the promise and releases the stream.
* Modules/streams/ReadableStreamReader.h:
(WebCore::ReadableStreamReader::State): Added.
* bindings/js/JSDOMPromise.h:
(WebCore::DeferredWrapper::resolve<JSC::JSValue>): Adds the ability to resolve a promise with
a custom JS value.
* bindings/js/JSReadableStreamControllerCustom.cpp:
(WebCore::JSReadableStreamController::close): Not "notImplemented" anymore. Now it closes the
stream.
* bindings/js/JSReadableStreamReaderCustom.cpp:
(WebCore::JSReadableStreamReader::closed): Resolves the promise with undefined.

LayoutTests:

Updated expectations with new passes.

* streams/reference-implementation/bad-underlying-sources-expected.txt:
* streams/reference-implementation/readable-stream-reader-expected.txt:
* streams/reference-implementation/readable-stream-templated-expected.txt:

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

5 years agoFix the !ENABLE(CSS_GRID_LAYOUT) build after r183370
ossy@webkit.org [Mon, 27 Apr 2015 11:10:49 +0000 (11:10 +0000)]
Fix the !ENABLE(CSS_GRID_LAYOUT) build after r183370
https://bugs.webkit.org/show_bug.cgi?id=144255

Reviewed by Carlos Garcia Campos.

* rendering/RenderBox.cpp:
(WebCore::RenderBox::computeLogicalHeight):

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

5 years agoSynchronous XMLHttpRequest should get access to AppCache resources stored as flat...
youenn.fablet@crf.canon.fr [Mon, 27 Apr 2015 11:03:24 +0000 (11:03 +0000)]
Synchronous XMLHttpRequest should get access to AppCache resources stored as flat files
https://bugs.webkit.org/show_bug.cgi?id=143711

Reviewed by Darin Adler.

Source/WebCore:

This patch checks whether a substitute resource data is stored in memory or in file for synchronous loads.
If data is stored in file, it reads the data through SharedBuffer::createWithContentsOfFile.
This patch refactors some routines to replace Vector<char> by SharedBuffer to transmit response data.

Test: http/tests/appcache/simple-video-sync.html

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::parseAttribute):
* loader/DocumentThreadableLoader.cpp:
(WebCore::DocumentThreadableLoader::loadRequest):
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::loadResourceSynchronously):
* loader/FrameLoader.h:
* loader/appcache/ApplicationCacheHost.cpp:
(WebCore::ApplicationCacheHost::maybeLoadResource):
(WebCore::ApplicationCacheHost::createFileURL):
(WebCore::ApplicationCacheHost::maybeLoadSynchronously):
(WebCore::ApplicationCacheHost::maybeLoadFallbackSynchronously):
* loader/appcache/ApplicationCacheHost.h:
* xml/XSLTProcessorLibxslt.cpp:
(WebCore::docLoaderFunc):
* xml/parser/XMLDocumentParserLibxml2.cpp:
(WebCore::openFunc):

LayoutTests:

* http/tests/appcache/resources/fake-video.mp4: Added.
* http/tests/appcache/resources/simple-video-sync.manifest: Added.
* http/tests/appcache/simple-video-sync-expected.txt: Added.
* http/tests/appcache/simple-video-sync.html: Added.

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

5 years agoAlso skip it in run-javascriptcore-tests.
rniwa@webkit.org [Mon, 27 Apr 2015 10:23:20 +0000 (10:23 +0000)]
Also skip it in run-javascriptcore-tests.

* js/script-tests/class-syntax-semicolon.js:

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

5 years agoTemporarily skip the test added in r183384 as it's hitting an assertion per an existi...
rniwa@webkit.org [Mon, 27 Apr 2015 10:13:15 +0000 (10:13 +0000)]
Temporarily skip the test added in r183384 as it's hitting an assertion per an existing bug.

The newly uncovered bug is tracked by webkit.org/b/144258.

* TestExpectations:

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

5 years ago[buildbot] Fix the output of perf-test buildstep on timeout
ossy@webkit.org [Mon, 27 Apr 2015 10:05:14 +0000 (10:05 +0000)]
[buildbot] Fix the output of perf-test buildstep on timeout
https://bugs.webkit.org/show_bug.cgi?id=144097

Reviewed by Ryosuke Niwa.

* BuildSlaveSupport/build.webkit.org-config/master.cfg:
(RunAndUploadPerfTests.getText2):
* BuildSlaveSupport/build.webkit.org-config/mastercfg_unittest.py:
(RunAndUploadPerfTestsTest.test_buildbot_timeout):
(RunAndUploadPerfTestsTest.test_build_bad_preparation): Deleted.

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

5 years ago[EFL] TestWebKitAPI's forwarding header generator should depend on WebKit2's generator
ossy@webkit.org [Mon, 27 Apr 2015 10:02:36 +0000 (10:02 +0000)]
[EFL] TestWebKitAPI's forwarding header generator should depend on WebKit2's generator
https://bugs.webkit.org/show_bug.cgi?id=143874

Reviewed by Gyuyoung Kim.

Source/WebKit2:

* PlatformEfl.cmake: Rename the generator to have consistent name with other generators.
* Scripts/generate-forwarding-headers.pl: Removed the unnecessary multiple include-path support.

Tools:

* TestWebKitAPI/PlatformEfl.cmake: Add the new dependency.

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

5 years ago[JHBuild] Move to upstream OpenWebRTC
philn@webkit.org [Mon, 27 Apr 2015 06:47:26 +0000 (06:47 +0000)]
[JHBuild] Move to upstream OpenWebRTC
https://bugs.webkit.org/show_bug.cgi?id=144145

Reviewed by Carlos Garcia Campos.

.:

* Source/cmake/FindOpenWebRTC.cmake: Check the presence of the
owr-gst library.

Source/WebCore:

* platform/mediastream/openwebrtc/OpenWebRTCUtilities.cpp:
(WebCore::initializeOpenWebRTC): Update with new owr_init API.

Tools:

* efl/jhbuild.modules: Switch to upstream OpenWebRTC repository
and add a new simple patch to gst-plugins-base, required for
OpenWebRTC build.
* efl/patches/gst-plugins-base-rtp-rtcpbuffer-fix-typo-in-enum.patch: Added.
* gtk/jhbuild.modules: Ditto.
* gtk/patches/gst-plugins-base-rtp-rtcpbuffer-fix-typo-in-enum.patch: Added.

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

5 years ago[SOUP] Add initial implementation of NetworkProcess disk cache
carlosgc@webkit.org [Mon, 27 Apr 2015 06:17:05 +0000 (06:17 +0000)]
[SOUP] Add initial implementation of NetworkProcess disk cache
https://bugs.webkit.org/show_bug.cgi?id=143872

Reviewed by Martin Robinson.

Source/WebCore:

Allow to create a GRefPtr for SoupBuffer. Even though SoupBuffer
is not a GObject and has copy/free functions instead of ref/unref,
it's internally refcounted, so we could use copy/free as
ref/unref.

* PlatformGTK.cmake:
* platform/network/soup/GRefPtrSoup.cpp: Added.
(WTF::refGPtr):
(WTF::derefGPtr):
* platform/network/soup/GRefPtrSoup.h: Added.

Source/WebKit2:

Implement the platform specific parts of the disk cache
implementation for Soup. It's mainly NetworkCache::Data and
NetworkCache::IOChannel.

* CMakeLists.txt:
* NetworkProcess/cache/NetworkCache.cpp:
(WebKit::NetworkCache::dumpFileChanged):
(WebKit::NetworkCache::Cache::initialize):
* NetworkProcess/cache/NetworkCacheBlobStorage.cpp:
* NetworkProcess/cache/NetworkCacheData.h:
(WebKit::NetworkCache::Data::soupBuffer):
* NetworkProcess/cache/NetworkCacheDataSoup.cpp: Added.
(WebKit::NetworkCache::Data::Data):
(WebKit::NetworkCache::Data::empty):
(WebKit::NetworkCache::Data::data):
(WebKit::NetworkCache::Data::isNull):
(WebKit::NetworkCache::Data::apply):
(WebKit::NetworkCache::Data::subrange):
(WebKit::NetworkCache::concatenate):
(WebKit::NetworkCache::MapWrapper::~MapWrapper):
(WebKit::NetworkCache::deleteMapWrapper):
(WebKit::NetworkCache::mapFile):
(WebKit::NetworkCache::Data::adoptMap):
(WebKit::NetworkCache::computeSHA1):
(WebKit::NetworkCache::bytesEqual):
* NetworkProcess/cache/NetworkCacheIOChannel.h:
* NetworkProcess/cache/NetworkCacheIOChannelSoup.cpp: Added.
(WebKit::NetworkCache::IOChannel::IOChannel):
(WebKit::NetworkCache::IOChannel::open):
(WebKit::NetworkCache::fillDataFromReadBuffer):
(WebKit::NetworkCache::inputStreamReadReadyCallback):
(WebKit::NetworkCache::IOChannel::read):
(WebKit::NetworkCache::IOChannel::readSync):
(WebKit::NetworkCache::outputStreamWriteReadyCallback):
(WebKit::NetworkCache::IOChannel::write):
* NetworkProcess/cache/NetworkCacheStorageSoup.cpp: Removed.
* NetworkProcess/gtk/NetworkProcessMainGtk.cpp:
* NetworkProcess/soup/NetworkProcessSoup.cpp:
(WebKit::NetworkProcess::platformInitializeNetworkProcess):
(WebKit::NetworkProcess::platformSetCacheModel):
(WebKit::NetworkProcess::clearDiskCache):
* PlatformGTK.cmake:

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

5 years agoediting/selection/programmatic-selection-on-mac-is-directionless.html is flaky
ap@apple.com [Mon, 27 Apr 2015 05:58:36 +0000 (05:58 +0000)]
editing/selection/programmatic-selection-on-mac-is-directionless.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=141122

* platform/wk2/TestExpectations: Mark the test as such. Unfortunately, there are
almost certainly other tests affected by this.

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

5 years ago[CSS Grid Layout] LayoutBox::hasDefiniteLogicalHeight() should consider abspos boxes...
rego@igalia.com [Mon, 27 Apr 2015 05:39:56 +0000 (05:39 +0000)]
[CSS Grid Layout] LayoutBox::hasDefiniteLogicalHeight() should consider abspos boxes as definite
https://bugs.webkit.org/show_bug.cgi?id=144144

Reviewed by Darin Adler.

Source/WebCore:

Change order in hasDefiniteLogicalHeight() ifs to consider definite
absolutely positioned elements.

Test: fast/css-grid-layout/percent-track-breadths-regarding-container-size.html

* rendering/RenderBox.cpp:
(WebCore::RenderBox::hasDefiniteLogicalHeight):

LayoutTests:

Add new test case to check absolutely positioned elements.

* fast/css-grid-layout/percent-track-breadths-regarding-container-size-expected.txt:
* fast/css-grid-layout/percent-track-breadths-regarding-container-size.html:

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

5 years agoClass body ending with a semicolon throws a SyntaxError
gyuyoung.kim@webkit.org [Mon, 27 Apr 2015 05:02:38 +0000 (05:02 +0000)]
Class body ending with a semicolon throws a SyntaxError
https://bugs.webkit.org/show_bug.cgi?id=144244

Patch by Ryosuke Niwa <rniwa@webkit.org> on 2015-04-26
Reviewed by Darin Adler.

Added a regression test for having a semicolon inside the class definition.

* js/class-syntax-semicolon-expected.txt: Added.
* js/class-syntax-semicolon.html: Added.
* js/script-tests/class-syntax-semicolon.js: Added.

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

5 years agoClass body ending with a semicolon throws a SyntaxError
rniwa@webkit.org [Mon, 27 Apr 2015 04:20:32 +0000 (04:20 +0000)]
Class body ending with a semicolon throws a SyntaxError
https://bugs.webkit.org/show_bug.cgi?id=144244

Reviewed by Darin Adler.

Source/JavaScriptCore:

The bug was caused by parseClass's inner loop for method definitions not moving onto the next iteration
it encounters a semicolon. As a result, we always expected a method to appear after a semicolon. Fixed
it by continue'ing when it encounters a semicolon.

* parser/Parser.cpp:
(JSC::Parser<LexerType>::parseClass):

LayoutTests:

Added a regression test for having a semicolon inside the class definition.

* js/class-syntax-semicolon-expected.txt: Added.
* js/class-syntax-semicolon.html: Added.
* js/script-tests/class-syntax-semicolon.js: Added.

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

5 years agoGetter or setter method named "prototype" or "constrcutor" should throw SyntaxError
rniwa@webkit.org [Mon, 27 Apr 2015 04:18:18 +0000 (04:18 +0000)]
Getter or setter method named "prototype" or "constrcutor" should throw SyntaxError
https://bugs.webkit.org/show_bug.cgi?id=144243

Reviewed by Darin Adler.

Source/JavaScriptCore:

Fixed the bug by adding explicit checks in parseGetterSetter when we're parsing class methods.

* parser/Parser.cpp:
(JSC::Parser<LexerType>::parseGetterSetter):

LayoutTests:

Added tests cases to both tests. Also added test cases missing from expression tests.

* js/class-syntax-declaration-expected.txt:
* js/class-syntax-expression-expected.txt:
* js/script-tests/class-syntax-declaration.js:
* js/script-tests/class-syntax-expression.js:

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

5 years agoSVGFilterBuilder should drive the builtin sourceAlpha from the passed sourceGraphic
commit-queue@webkit.org [Mon, 27 Apr 2015 03:51:23 +0000 (03:51 +0000)]
SVGFilterBuilder should drive the builtin sourceAlpha from the passed sourceGraphic
https://bugs.webkit.org/show_bug.cgi?id=144137

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

Source/WebCore:

The SourceAlpha should be driven from the last applied FilterEffect. This
will require the SourceAlpha FilterEffect to wrap a FilterEffect rather
than just getting the SourceGraphic reference from FilterEffectRenderer.

This is based on the Blink patch:
https://src.chromium.org/viewvc/blink?revision=194115&view=revision.

Test: svg/filters/sourceAlpha-input-filter-effect.html

* platform/graphics/filters/SourceAlpha.cpp:
(WebCore::SourceAlpha::create): Make SourceAlpha wraps a FilterEffect
rather than a Filter.

(WebCore::SourceAlpha::determineAbsolutePaintRect): Determine the paint
rect from the wrapped FilterEffect.

(WebCore::SourceAlpha::platformApplySoftware): Extract the alpha channel
from the wrapped FilterEffect.

(WebCore::SourceAlpha::SourceAlpha):
* platform/graphics/filters/SourceAlpha.h:
(WebCore::SourceAlpha::SourceAlpha): Deleted.
Reimplement the constructor of the SourceAlpha such that it wraps the
sourceEffect in its inputEffects.

* rendering/FilterEffectRenderer.cpp:
(WebCore::FilterEffectRenderer::buildReferenceFilter): Delete the FIXME
comment and do exactly what it said. This matches the implementation of
Gecko and Blink.

* rendering/svg/RenderSVGResourceFilter.cpp:
(WebCore::RenderSVGResourceFilter::buildPrimitives):
Delete the extra argument.

* svg/graphics/filters/SVGFilterBuilder.cpp:
(WebCore::SVGFilterBuilder::SVGFilterBuilder):
* svg/graphics/filters/SVGFilterBuilder.h: Drive the SourceAlpha from the
passed source FilterEffect.

* platform/graphics/filters/FEBlend.cpp:
* platform/graphics/filters/FEBlend.h:
* platform/graphics/filters/FEColorMatrix.cpp:
* platform/graphics/filters/FEColorMatrix.h:
* platform/graphics/filters/FEComponentTransfer.cpp:
* platform/graphics/filters/FEComponentTransfer.h:
* platform/graphics/filters/FEComposite.cpp:
* platform/graphics/filters/FEComposite.h:
* platform/graphics/filters/FEConvolveMatrix.cpp:
* platform/graphics/filters/FEConvolveMatrix.h:
* platform/graphics/filters/FEDiffuseLighting.cpp:
* platform/graphics/filters/FEDiffuseLighting.h:
* platform/graphics/filters/FEDisplacementMap.cpp:
* platform/graphics/filters/FEDisplacementMap.h:
* platform/graphics/filters/FEDropShadow.cpp:
* platform/graphics/filters/FEDropShadow.h:
* platform/graphics/filters/FEFlood.cpp:
* platform/graphics/filters/FEFlood.h:
* platform/graphics/filters/FEGaussianBlur.cpp:
* platform/graphics/filters/FEGaussianBlur.h:
* platform/graphics/filters/FELighting.cpp:
* platform/graphics/filters/FELighting.h:
* platform/graphics/filters/FEMerge.cpp:
* platform/graphics/filters/FEMerge.h:
* platform/graphics/filters/FEMorphology.cpp:
* platform/graphics/filters/FEMorphology.h:
* platform/graphics/filters/FEOffset.cpp:
* platform/graphics/filters/FEOffset.h:
* platform/graphics/filters/FESpecularLighting.cpp:
* platform/graphics/filters/FESpecularLighting.h:
* platform/graphics/filters/FETile.cpp:
* platform/graphics/filters/FETile.h:
* platform/graphics/filters/FETurbulence.cpp:
* platform/graphics/filters/FETurbulence.h:
* platform/graphics/filters/Filter.h:
* platform/graphics/filters/FilterEffect.cpp:
* platform/graphics/filters/FilterEffect.h:
* platform/graphics/filters/SourceGraphic.cpp:
* platform/graphics/filters/SourceGraphic.h:
* rendering/svg/RenderSVGResourceFilter.h:
* rendering/svg/SVGRenderTreeAsText.cpp:
Code clean up: Pointer to reference conversion. It starts by converting
FilterEffect::m_filter from pointer to reference and it kept expanding.
All the creations of FilterEffect were happening by passing "this" so
passing "*this" did not require to check whether the pointer is nil.

* svg/SVGFEBlendElement.cpp:
* svg/SVGFEBlendElement.h:
* svg/SVGFEColorMatrixElement.cpp:
* svg/SVGFEColorMatrixElement.h:
* svg/SVGFEComponentTransferElement.cpp:
* svg/SVGFEComponentTransferElement.h:
* svg/SVGFECompositeElement.cpp:
* svg/SVGFECompositeElement.h:
* svg/SVGFEConvolveMatrixElement.cpp:
* svg/SVGFEConvolveMatrixElement.h:
* svg/SVGFEDiffuseLightingElement.cpp:
* svg/SVGFEDiffuseLightingElement.h:
* svg/SVGFEDisplacementMapElement.cpp:
* svg/SVGFEDisplacementMapElement.h:
* svg/SVGFEDropShadowElement.cpp:
* svg/SVGFEDropShadowElement.h:
* svg/SVGFEFloodElement.cpp:
* svg/SVGFEFloodElement.h:
* svg/SVGFEGaussianBlurElement.cpp:
* svg/SVGFEGaussianBlurElement.h:
* svg/SVGFEImageElement.cpp:
* svg/SVGFEImageElement.h:
* svg/SVGFEMergeElement.cpp:
* svg/SVGFEMergeElement.h:
* svg/SVGFEMorphologyElement.cpp:
* svg/SVGFEMorphologyElement.h:
* svg/SVGFEOffsetElement.cpp:
* svg/SVGFEOffsetElement.h:
* svg/SVGFESpecularLightingElement.cpp:
* svg/SVGFESpecularLightingElement.h:
* svg/SVGFETileElement.cpp:
* svg/SVGFETileElement.h:
* svg/SVGFETurbulenceElement.cpp:
* svg/SVGFETurbulenceElement.h:
* svg/SVGFilterPrimitiveStandardAttributes.h:
* svg/graphics/filters/SVGFEImage.cpp:
* svg/graphics/filters/SVGFEImage.h:
Code clean up: Pointer to reference and PassRefPtr<> to RefPtr<> or Ref<>
conversion.

LayoutTests:

Ensure the SourceAlpha is driven from last applied FilterEffect.

* svg/filters/sourceAlpha-input-filter-effect-expected.html: Added.
* svg/filters/sourceAlpha-input-filter-effect.html: Added.

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

5 years agoImprove the status page
benjamin@webkit.org [Mon, 27 Apr 2015 03:38:50 +0000 (03:38 +0000)]
Improve the status page
https://bugs.webkit.org/show_bug.cgi?id=144248

Reviewed by Darin Adler.

* status.html:
Lots of minor changes:
-Add a page title.
-Do not use sync XHR. That was nice for testing but that's eveil
 and it breaks Firefox.
-Start fetching the json files as soon as possible during page load,
 that server takes forever to respond.
-Remove some useless CSS.
-Get rid of mustache. That template thing was awesome but it took
 up to 600ms to fetch the file (plus it is not exactly efficient).
-Put both the specifications and the features in the list.
 They are referencing each other with links. That seems to work pretty well.
-Use the keywords for filtering.

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

5 years ago[EFL] Unreviewed EFL gardening on 27th April.
gyuyoung.kim@webkit.org [Mon, 27 Apr 2015 02:30:18 +0000 (02:30 +0000)]
[EFL] Unreviewed EFL gardening on 27th April.

Unskip 2 tests which have been passed since r183368.

Mark editing/selection/extend-by-character-007.html to missing.
This needs to have new baseline for EFL port.

* platform/efl/TestExpectations:

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

5 years agoREGRESSION (r174283): disabled default buttons use impossible-to-read white text...
darin@apple.com [Mon, 27 Apr 2015 02:04:11 +0000 (02:04 +0000)]
REGRESSION (r174283): disabled default buttons use impossible-to-read white text on Mac
https://bugs.webkit.org/show_bug.cgi?id=144237

Reviewed by Simon Fraser.

No test because DumpRenderTree and WebKitTestRunner don't have a good method
for testing behaviors that are specific to active windows. That's the same reason
that the change that caused this bug didn't come with a regression test.

* rendering/RenderTheme.cpp:
(WebCore::RenderTheme::adjustStyle): Renamed "e" to "element". Added a comment to
clarify the meaning of the setInsideDefaultButton function, and added an
isDisabledFormControl check so it won't trigger on a disabled button.
(WebCore::RenderTheme::systemColor): Moved CSSValueActivebuttontext into
alphabetical order to match the rest of the switch statement ordering.

* rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::systemColor): Moved CSSValueActivebuttontext into
alphabetical order to match the rest of the switch statement ordering. Also
fixed its behavior on older versions of OS X; it should just return the same
thing that CSSValueButtontext would return in that context.

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

5 years agoWeb Inspector: Cannot make Timeline time range selection clicking inside Frames Overview
commit-queue@webkit.org [Mon, 27 Apr 2015 01:52:09 +0000 (01:52 +0000)]
Web Inspector: Cannot make Timeline time range selection clicking inside Frames Overview
https://bugs.webkit.org/show_bug.cgi?id=143744

Patch by Matt Baker <mattbaker@apple.com> on 2015-04-26
Reviewed by Timothy Hatcher.

Fixed frame rate divider element style so that it is no longer a mouse event target.

* UserInterface/Views/RenderingFrameTimelineOverviewGraph.css:
(.timeline-overview-graph.rendering-frame > .divider):

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

5 years agoWeb Inspector: Allow Timeline tab to show resource when a go-to arrow is clicked...
timothy@apple.com [Mon, 27 Apr 2015 01:25:50 +0000 (01:25 +0000)]
Web Inspector: Allow Timeline tab to show resource when a go-to arrow is clicked in a recording
https://bugs.webkit.org/show_bug.cgi?id=144240

Only support showing a resource or script if we have that represented object in the Timeline sidebar.

Reviewed by Darin Adler.

* UserInterface/Views/TimelineTabContentView.js:
(WebInspector.TimelineTabContentView.prototype.canShowRepresentedObject):

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

5 years agoWeb Inspector: Don't use treeElement.revealAndSelect when showing a default content...
timothy@apple.com [Mon, 27 Apr 2015 01:24:37 +0000 (01:24 +0000)]
Web Inspector: Don't use treeElement.revealAndSelect when showing a default content view
https://bugs.webkit.org/show_bug.cgi?id=144239

Using revealAndSelect will end up calling WebInspector.showRepresentedObject. That is not bad
is most cases, but if the select tab supports the same represented object, it can end up showing
the content view in the wrong tab.

Reviewed by Darin Adler.

* UserInterface/Views/ContentBrowserTabContentView.js:
(WebInspector.ContentBrowserTabContentView.prototype._revealAndSelectRepresentedObjectInNavigationSidebar):
* UserInterface/Views/DebuggerSidebarPanel.js:
(WebInspector.DebuggerSidebarPanel.prototype.showDefaultContentView):
* UserInterface/Views/NavigationSidebarPanel.js:
(WebInspector.NavigationSidebarPanel.prototype.showDefaultContentViewForTreeElement):
(WebInspector.NavigationSidebarPanel.prototype._checkElementsForPendingViewStateCookie):
(WebInspector.NavigationSidebarPanel):
(WebInspector.NavigationSidebarPanel.prototype.showContentViewForCurrentSelection): Deleted.
* UserInterface/Views/ResourceSidebarPanel.js:
(WebInspector.ResourceSidebarPanel.prototype.showDefaultContentView):
(WebInspector.ResourceSidebarPanel.prototype._mainFrameDidChange):
(WebInspector.ResourceSidebarPanel.prototype._mainFrameMainResourceDidChange.delayedWork):
(WebInspector.ResourceSidebarPanel.prototype._mainFrameMainResourceDidChange):

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

5 years agoMap#forEach does not pass "map" argument to callback.
commit-queue@webkit.org [Mon, 27 Apr 2015 00:33:48 +0000 (00:33 +0000)]
Map#forEach does not pass "map" argument to callback.
https://bugs.webkit.org/show_bug.cgi?id=144187

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

Per https://people.mozilla.org/~jorendorff/es6-draft.html#sec-map.prototype.foreach
step 7.a.i., the callback should be called with three arguments.

* runtime/MapPrototype.cpp:
(JSC::mapProtoFuncForEach):

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

5 years ago[ES6] Implement ES6 template literals
utatane.tea@gmail.com [Mon, 27 Apr 2015 00:27:28 +0000 (00:27 +0000)]
[ES6] Implement ES6 template literals
https://bugs.webkit.org/show_bug.cgi?id=142691

Reviewed by Darin Adler.

.:

Add ENABLE_ES6_TEMPLATE_LITERAL_SYNTAX compile time flag.

* Source/cmake/WebKitFeatures.cmake:
* Source/cmakeconfig.h.cmake:

Source/JavaScriptCore:

This patch implements TemplateLiteral.
Since TaggedTemplate requires some global states and
primitive operations like GetTemplateObject,
we separate the patch. It will be implemented in a subsequent patch.

Template Literal Syntax is guarded by ENABLE_ES6_TEMPLATE_LITERAL_SYNTAX compile time flag.
By disabling it, we can disable Template Literal support.

To implement template literals, in this patch,
we newly introduces bytecode op_to_string.
In template literals, we alternately evaluate the expression and
perform ToString onto the result of evaluation.
For example,

`${f1()} ${f2()}`

In this template literal, execution order is the following,
1. calling f1()
2. ToString(the result of f1())
3. calling f2()
4. ToString(the result of f2())

op_strcat also performs ToString. However, performing ToString
onto expressions are batched in op_strcat, it's not the same to the
template literal spec. In the above example,
ToString(f1()) should be called before calling f2().

* Configurations/FeatureDefines.xcconfig:
* bytecode/BytecodeList.json:
* bytecode/BytecodeUseDef.h:
(JSC::computeUsesForBytecodeOffset):
(JSC::computeDefsForBytecodeOffset):
* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::dumpBytecode):
* bytecompiler/BytecodeGenerator.h:
(JSC::BytecodeGenerator::emitToString):
(JSC::BytecodeGenerator::emitToNumber): Deleted.
* bytecompiler/NodesCodegen.cpp:
(JSC::TemplateStringNode::emitBytecode):
(JSC::TemplateLiteralNode::emitBytecode):
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::parseBlock):
* dfg/DFGCapabilities.cpp:
(JSC::DFG::capabilityLevel):
* jit/JIT.cpp:
(JSC::JIT::privateCompileMainPass):
(JSC::JIT::privateCompileSlowCases):
* jit/JIT.h:
* jit/JITOpcodes.cpp:
(JSC::JIT::emit_op_to_string):
(JSC::JIT::emitSlow_op_to_string):
* jit/JITOpcodes32_64.cpp:
(JSC::JIT::emit_op_to_string):
(JSC::JIT::emitSlow_op_to_string):
* llint/LowLevelInterpreter32_64.asm:
* llint/LowLevelInterpreter64.asm:
* parser/ASTBuilder.h:
(JSC::ASTBuilder::createTemplateString):
(JSC::ASTBuilder::createTemplateStringList):
(JSC::ASTBuilder::createTemplateExpressionList):
(JSC::ASTBuilder::createTemplateLiteral):
* parser/Lexer.cpp:
(JSC::Lexer<T>::Lexer):
(JSC::Lexer<T>::parseIdentifierSlowCase):
(JSC::Lexer<T>::parseString):
(JSC::LineNumberAdder::LineNumberAdder):
(JSC::LineNumberAdder::clear):
(JSC::LineNumberAdder::add):
(JSC::Lexer<T>::parseTemplateLiteral):
(JSC::Lexer<T>::lex):
(JSC::Lexer<T>::scanRegExp):
(JSC::Lexer<T>::scanTrailingTemplateString):
(JSC::Lexer<T>::parseStringSlowCase): Deleted.
* parser/Lexer.h:
* parser/NodeConstructors.h:
(JSC::TemplateExpressionListNode::TemplateExpressionListNode):
(JSC::TemplateStringNode::TemplateStringNode):
(JSC::TemplateStringListNode::TemplateStringListNode):
(JSC::TemplateLiteralNode::TemplateLiteralNode):
* parser/Nodes.h:
(JSC::TemplateExpressionListNode::value):
(JSC::TemplateExpressionListNode::next):
(JSC::TemplateStringNode::cooked):
(JSC::TemplateStringNode::raw):
(JSC::TemplateStringListNode::value):
(JSC::TemplateStringListNode::next):
* parser/Parser.cpp:
(JSC::Parser<LexerType>::parseTemplateString):
(JSC::Parser<LexerType>::parseTemplateLiteral):
(JSC::Parser<LexerType>::parsePrimaryExpression):
* parser/Parser.h:
* parser/ParserTokens.h:
* parser/SyntaxChecker.h:
(JSC::SyntaxChecker::createTemplateString):
(JSC::SyntaxChecker::createTemplateStringList):
(JSC::SyntaxChecker::createTemplateExpressionList):
(JSC::SyntaxChecker::createTemplateLiteral):
(JSC::SyntaxChecker::createSpreadExpression): Deleted.
* runtime/CommonSlowPaths.cpp:
(JSC::SLOW_PATH_DECL):
* runtime/CommonSlowPaths.h:
* tests/stress/template-literal-line-terminators.js: Added.
(test):
(testEval):
(testEvalLineNumber):
* tests/stress/template-literal-syntax.js: Added.
(testSyntax):
(testSyntaxError):
* tests/stress/template-literal.js: Added.
(test):
(testEval):
(testEmbedded):

Source/WebCore:

Add ENABLE_ES6_TEMPLATE_LITERAL_SYNTAX compile time flag.

* Configurations/FeatureDefines.xcconfig:

Source/WebKit/mac:

Add ENABLE_ES6_TEMPLATE_LITERAL_SYNTAX compile time flag.

* Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

Add ENABLE_ES6_TEMPLATE_LITERAL_SYNTAX compile time flag.

* Configurations/FeatureDefines.xcconfig:

Tools:

Add ENABLE_ES6_TEMPLATE_LITERAL_SYNTAX compile time flag.

* Scripts/webkitperl/FeatureList.pm:

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

5 years agoRemove PluginView::renderer().
commit-queue@webkit.org [Sun, 26 Apr 2015 23:41:21 +0000 (23:41 +0000)]
Remove PluginView::renderer().
https://bugs.webkit.org/show_bug.cgi?id=144216

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

Nobody should have to know about the plug-in view's renderer except the plug-in view itself.

No new tests, no behavior change.

* WebProcess/Plugins/PDF/PDFPlugin.mm:
(WebKit::PDFPlugin::convertFromScrollbarToContainingView):
(WebKit::PDFPlugin::convertFromContainingViewToScrollbar):
* WebProcess/Plugins/PluginView.cpp:
(WebKit::PluginView::renderer): Deleted.
* WebProcess/Plugins/PluginView.h:

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

5 years agoSet#forEach does not pass "key" or "set" arguments to callback.
commit-queue@webkit.org [Sun, 26 Apr 2015 22:54:21 +0000 (22:54 +0000)]
Set#forEach does not pass "key" or "set" arguments to callback.
https://bugs.webkit.org/show_bug.cgi?id=144188

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

Per https://people.mozilla.org/~jorendorff/es6-draft.html#sec-set.prototype.foreach
Set#forEach should pass 3 arguments to the callback.

* runtime/SetPrototype.cpp:
(JSC::setProtoFuncForEach):

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

5 years ago[CSS Grid Layout] Support for align-self and align-items in grid layout
jfernandez@igalia.com [Sun, 26 Apr 2015 22:44:11 +0000 (22:44 +0000)]
[CSS Grid Layout] Support for align-self and align-items in grid layout
https://bugs.webkit.org/show_bug.cgi?id=133225

Reviewed by Darin Adler.

Source/WebCore:

Implementation of align-self and align-items properties for grid. It supports
different writing-modes and direction. Margins, borders and paddings are also
considered when computing the final position and stretched size.

Overflow handling is still missing and will be added when implemented row-axis
alignment support.

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

* rendering/RenderBox.cpp:
(WebCore::RenderBox::computeLogicalHeight):
* rendering/RenderGrid.cpp:
(WebCore::RenderGrid::logicalContentHeightForChild):
(WebCore::RenderGrid::layoutGridItems):
(WebCore::computeOverflowAlignmentOffset):
(WebCore::RenderGrid::endOfRowForChild):
(WebCore::RenderGrid::startOfRowForChild):
(WebCore::RenderGrid::centeredRowPositionForChild):
(WebCore::marginWidthForChild):
(WebCore::marginHeightForChild):
(WebCore::RenderGrid::allowedToStretchLogicalHeightForChild):
(WebCore::RenderGrid::needToStretchChildLogicalHeight):
(WebCore::RenderGrid::marginLogicalHeightForChild):
(WebCore::RenderGrid::availableAlignmentSpaceForChildBeforeStretching):
(WebCore::RenderGrid::applyStretchAlignmentToChildIfNeeded):
(WebCore::RenderGrid::rowPositionForChild):
(WebCore::RenderGrid::findChildLogicalPosition):
(WebCore::RenderGrid::populateGridPositions): Deleted.
* rendering/RenderGrid.h:

LayoutTests:

Implementation of align-self and align-items properties ifor grid.

Several layout tests were touched for adapting them to the new grid item's
column-axis position when using RTL direction.

* fast/css-grid-layout/grid-align-expected.txt: Added.
* fast/css-grid-layout/grid-align.html: Added.
* fast/css-grid-layout/grid-element-border-grid-item.html:
* fast/css-grid-layout/grid-element-border-padding-grid-item.html:
* fast/css-grid-layout/grid-element-padding-grid-item.html:
* fast/css-grid-layout/grid-item-margin-auto-columns-rows-horizontal-rtl-expected.html:
* fast/css-grid-layout/grid-item-margin-auto-columns-rows-vertical-rtl-expected.html:
* fast/css-grid-layout/grid-item-margin-resolution.html:

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

5 years ago[CMake][EFL] Remove unnecessary include, library path in WebKitTestRunner/PlatformEfl...
gyuyoung.kim@webkit.org [Sun, 26 Apr 2015 22:31:12 +0000 (22:31 +0000)]
[CMake][EFL] Remove unnecessary include, library path in WebKitTestRunner/PlatformEfl.cmake
https://bugs.webkit.org/show_bug.cgi?id=144217

Reviewed by Darin Adler.

* WebKitTestRunner/PlatformEfl.cmake:

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

5 years agoAX: richer text change notifications (142719)
commit-queue@webkit.org [Sun, 26 Apr 2015 22:17:11 +0000 (22:17 +0000)]
AX: richer text change notifications (142719)
https://bugs.webkit.org/show_bug.cgi?id=142719

Patch by Doug Russell <d_russell@apple.com> on 2015-04-26
Reviewed by Darin Adler.

Richer accessibility value change notifications. Introduce AXTextEditType,
postTextStateChangeNotification and postTextReplacementNotification to give assistive
tech apps more reliable context for responding to changes in web content. Also implement
a mechanism to post value changes in password form fields in coalesced ticks to thwart
analyzing the cadence of changes.

Richer accessibility selection change notifications. Introduce AXTextStateChangeIntent,
and an overload of postTextReplacementNotification to give assistive tech apps more
reliable context for responding to changes in web content selection. Also block posting
selection changes on password fields.

Source/WebCore:

Tests: platform/mac/accessibility/input-replacevalue-userinfo.html
       platform/mac/accessibility/selection-change-userinfo.html
       platform/mac/accessibility/value-change-userinfo.html

* CMakeLists.txt:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:
* accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::AXObjectCache):
(WebCore::AXObjectCache::notificationPostTimerFired):
(WebCore::AXObjectCache::passwordNotificationPostTimerFired):
(WebCore::AXObjectCache::showIntent):
(WebCore::AXObjectCache::setTextSelectionIntent):
(WebCore::isPasswordFieldOrContainedByPasswordField):
(WebCore::AXObjectCache::postTextStateChangeNotification):
(WebCore::AXObjectCache::postTextReplacementNotification):
(WebCore::AXObjectCache::enqueuePasswordValueChangeNotification):
(WebCore::AXObjectCache::rootWebArea):
(WebCore::AXObjectCache::textChangeForEditType):
(WebCore::AXObjectCache::selectedChildrenChanged): Deleted.
(WebCore::AXObjectCache::frameLoadingEventNotification): Deleted.
* accessibility/AXObjectCache.h:
(WebCore::AXObjectCache::postTextStateChangeNotification):
(WebCore::AXObjectCache::postTextReplacementNotification):
(WebCore::AXObjectCache::postTextStateChangePlatformNotification):
(WebCore::AXObjectCache::postTextReplacementPlatformNotification):
(WebCore::AXObjectCache::textChangeForEditType):
(WebCore::AXObjectCache::nodeTextChangePlatformNotification):
(WebCore::AXObjectCache::computedObjectAttributeCache): Deleted.
(WebCore::AXObjectCache::getOrCreate): Deleted.
(WebCore::AXObjectCache::attachWrapper): Deleted.
* accessibility/AXTextStateChangeIntent.h: Added.
(WebCore::AXTextStateChangeIntent::AXTextStateChangeIntent):
* accessibility/AccessibilityNodeObject.cpp:
(WebCore::AccessibilityNodeObject::passwordFieldOrContainingPasswordField):
* accessibility/AccessibilityNodeObject.h:
* accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::isContainedByPasswordField):
* accessibility/AccessibilityObject.h:
(WebCore::AccessibilityObject::passwordFieldOrContainingPasswordField):
(WebCore::AccessibilityObject::isPasswordField): Deleted.
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::setSelectedTextRange):
(WebCore::AccessibilityRenderObject::setSelectedVisiblePositionRange):
* accessibility/AccessibilityScrollView.h:
* accessibility/atk/AXObjectCacheAtk.cpp:
(WebCore::AXObjectCache::nodeTextChangePlatformNotification):
* accessibility/ios/AXObjectCacheIOS.mm:
(WebCore::AXObjectCache::postTextStateChangePlatformNotification):
(WebCore::AXObjectCache::postTextReplacementPlatformNotification):
* accessibility/mac/AXObjectCacheMac.mm:
(WebCore::AXObjectCache::setShouldRepostNotificationsForTests):
(WebCore::AXPostNotificationWithUserInfo):
(WebCore::AXObjectCache::postPlatformNotification):
(WebCore::AXObjectCache::postTextStateChangePlatformNotification):
(WebCore::textReplacementChangeDictionary):
(WebCore::AXObjectCache::postTextReplacementPlatformNotification):
* accessibility/mac/WebAccessibilityObjectWrapperBase.h:
* accessibility/mac/WebAccessibilityObjectWrapperBase.mm:
(+[WebAccessibilityObjectWrapperBase accessibilitySetShouldRepostNotifications:]):
(-[WebAccessibilityObjectWrapperBase accessibilityPostedNotification:]):
(arrayRemovingNonJSONTypes):
(dictionaryRemovingNonJSONTypes):
(-[WebAccessibilityObjectWrapperBase accessibilityPostedNotification:userInfo:]):
* accessibility/mac/WebAccessibilityObjectWrapperMac.h:
* accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(textMarkerRangeFromVisiblePositions):
(-[WebAccessibilityObjectWrapper textMarkerRangeFromVisiblePositions:endPosition:]):
* editing/AppendNodeCommand.cpp:
(WebCore::AppendNodeCommand::AppendNodeCommand):
(WebCore::sendAXTextChangedIgnoringLineBreaks):
(WebCore::AppendNodeCommand::doApply):
(WebCore::AppendNodeCommand::doUnapply):
* editing/AppendNodeCommand.h:
(WebCore::AppendNodeCommand::create):
* editing/ApplyStyleCommand.cpp:
(WebCore::ApplyStyleCommand::ApplyStyleCommand):
(WebCore::ApplyStyleCommand::applyBlockStyle): Deleted.
* editing/ApplyStyleCommand.h:
* editing/CompositeEditCommand.cpp:
(WebCore::EditCommandComposition::unapplyEditType):
(WebCore::CompositeEditCommand::CompositeEditCommand):
(WebCore::CompositeEditCommand::apply):
(WebCore::CompositeEditCommand::insertParagraphSeparator):
(WebCore::CompositeEditCommand::insertNodeBefore):
(WebCore::CompositeEditCommand::appendNode):
(WebCore::CompositeEditCommand::removeNodePreservingChildren):
(WebCore::CompositeEditCommand::insertTextIntoNode):
(WebCore::CompositeEditCommand::deleteTextFromNode):
(WebCore::CompositeEditCommand::replaceTextInNode):
(WebCore::CompositeEditCommand::moveParagraphs):
(WebCore::EditCommandComposition::getNodesInCommand): Deleted.
(WebCore::CompositeEditCommand::applyStyle): Deleted.
(WebCore::CompositeEditCommand::insertLineBreak): Deleted.
(WebCore::CompositeEditCommand::insertNodeAt): Deleted.
(WebCore::CompositeEditCommand::removeChildrenInRange): Deleted.
(WebCore::CompositeEditCommand::inputText): Deleted.
* editing/CompositeEditCommand.h:
* editing/DeleteFromTextNodeCommand.cpp:
(WebCore::DeleteFromTextNodeCommand::DeleteFromTextNodeCommand):
(WebCore::DeleteFromTextNodeCommand::doApply):
(WebCore::DeleteFromTextNodeCommand::doUnapply):
* editing/DeleteFromTextNodeCommand.h:
(WebCore::DeleteFromTextNodeCommand::create):
(WebCore::DeleteFromTextNodeCommand::deletedText):
* editing/DeleteSelectionCommand.cpp:
(WebCore::DeleteSelectionCommand::DeleteSelectionCommand):
(WebCore::DeleteSelectionCommand::preservesTypingStyle): Deleted.
* editing/DeleteSelectionCommand.h:
(WebCore::DeleteSelectionCommand::create):
* editing/DictationCommand.cpp:
(WebCore::DictationCommand::insertTextRunWithoutNewlines):
(WebCore::DictationCommand::insertParagraphSeparator):
* editing/EditAction.h:
* editing/EditCommand.cpp:
(WebCore::EditCommand::EditCommand):
(WebCore::EditCommand::editingAction):
(WebCore::EditCommand::applyEditType):
(WebCore::EditCommand::unapplyEditType):
(WebCore::SimpleEditCommand::SimpleEditCommand):
(WebCore::SimpleEditCommand::notifyAccessibilityForTextChange):
(WebCore::EditCommand::setParent): Deleted.
* editing/EditCommand.h:
* editing/EditingAllInOne.cpp:
* editing/Editor.cpp:
(WebCore::Editor::handleTextEvent):
(WebCore::Editor::deleteSelectionWithSmartDelete):
(WebCore::Editor::replaceSelectionWithFragment):
(WebCore::Editor::replaceSelectionWithText):
(WebCore::Editor::appliedEditing):
(WebCore::Editor::unappliedEditing):
(WebCore::Editor::performCutOrCopy):
(WebCore::Editor::markMisspellingsAfterTypingToWord):
(WebCore::Editor::changeBackToReplacedString):
(WebCore::Editor::transpose):
(WebCore::Editor::changeSelectionAfterCommand):
* editing/Editor.h:
* editing/EditorCommand.cpp:
(WebCore::executeInsertFragment):
* editing/FrameSelection.cpp:
(WebCore::FrameSelection::moveTo):
(WebCore::FrameSelection::moveWithoutValidationTo):
(WebCore::FrameSelection::setSelectionByMouseIfDifferent):
(WebCore::FrameSelection::setSelectionWithoutUpdatingAppearance):
(WebCore::FrameSelection::setSelection):
(WebCore::FrameSelection::updateAndRevealSelection):
(WebCore::isBoundary):
(WebCore::FrameSelection::textSelectionIntent):
(WebCore::FrameSelection::modify):
(WebCore::FrameSelection::selectAll):
(WebCore::FrameSelection::wordSelectionContainingCaretSelection):
(WebCore::FrameSelection::modifyMovingBackward): Deleted.
(WebCore::FrameSelection::selectFrameElementInParentIfFullySelected): Deleted.
(WebCore::FrameSelection::selectionAtWordStart): Deleted.
* editing/FrameSelection.h:
(WebCore::FrameSelection::notifyAccessibilityForSelectionChange):
(WebCore::FrameSelection::selection): Deleted.
* editing/InsertIntoTextNodeCommand.cpp:
(WebCore::InsertIntoTextNodeCommand::InsertIntoTextNodeCommand):
(WebCore::InsertIntoTextNodeCommand::doApply):
(WebCore::InsertIntoTextNodeCommand::doUnapply):
* editing/InsertIntoTextNodeCommand.h:
(WebCore::InsertIntoTextNodeCommand::create):
(WebCore::InsertIntoTextNodeCommand::insertedText):
* editing/InsertNodeBeforeCommand.cpp:
(WebCore::InsertNodeBeforeCommand::InsertNodeBeforeCommand):
(WebCore::InsertNodeBeforeCommand::doApply):
(WebCore::InsertNodeBeforeCommand::doUnapply):
* editing/InsertNodeBeforeCommand.h:
(WebCore::InsertNodeBeforeCommand::create):
* editing/InsertParagraphSeparatorCommand.cpp:
(WebCore::InsertParagraphSeparatorCommand::InsertParagraphSeparatorCommand):
* editing/InsertParagraphSeparatorCommand.h:
(WebCore::InsertParagraphSeparatorCommand::create):
* editing/InsertTextCommand.cpp:
(WebCore::InsertTextCommand::InsertTextCommand):
* editing/InsertTextCommand.h:
(WebCore::InsertTextCommand::create):
(WebCore::InsertTextCommand::createWithMarkerSupplier):
* editing/MoveSelectionCommand.cpp:
(WebCore::MoveSelectionCommand::doApply):
* editing/RemoveNodePreservingChildrenCommand.cpp:
(WebCore::RemoveNodePreservingChildrenCommand::RemoveNodePreservingChildrenCommand):
* editing/RemoveNodePreservingChildrenCommand.h:
(WebCore::RemoveNodePreservingChildrenCommand::create):
* editing/ReplaceDeleteFromTextNodeCommand.cpp: Copied from Source/WebCore/editing/AppendNodeCommand.h.
(WebCore::ReplaceDeleteFromTextNodeCommand::ReplaceDeleteFromTextNodeCommand):
(WebCore::ReplaceDeleteFromTextNodeCommand::notifyAccessibilityForTextChange):
* editing/ReplaceDeleteFromTextNodeCommand.h: Copied from Source/WebCore/editing/AppendNodeCommand.h.
* editing/ReplaceInsertIntoTextNodeCommand.cpp: Added.
(WebCore::ReplaceInsertIntoTextNodeCommand::ReplaceInsertIntoTextNodeCommand):
(WebCore::ReplaceInsertIntoTextNodeCommand::notifyAccessibilityForTextChange):
* editing/ReplaceInsertIntoTextNodeCommand.h: Copied from Source/WebCore/editing/RemoveNodePreservingChildrenCommand.h.
* editing/ReplaceSelectionCommand.cpp:
(WebCore::ReplaceSelectionCommand::ReplaceSelectionCommand):
(WebCore::ReplaceSelectionCommand::InsertedNodes::didReplaceNode): Deleted.
(WebCore::ReplaceSelectionCommand::insertAsListItems): Deleted.
* editing/ReplaceSelectionCommand.h:
(WebCore::ReplaceSelectionCommand::create):
* editing/TypingCommand.cpp:
(WebCore::TypingCommand::insertTextRunWithoutNewlines):
(WebCore::TypingCommand::insertParagraphSeparator):
* editing/atk/FrameSelectionAtk.cpp:
(WebCore::FrameSelection::notifyAccessibilityForSelectionChange):
* editing/ios/DictationCommandIOS.cpp:
(WebCore::DictationCommandIOS::DictationCommandIOS):
* editing/ios/DictationCommandIOS.h:
* editing/mac/FrameSelectionMac.mm:
(WebCore::FrameSelection::notifyAccessibilityForSelectionChange):
* html/HTMLTextFormControlElement.cpp:
(WebCore::HTMLTextFormControlElement::setInnerTextValue):
* page/DragController.cpp:
(WebCore::DragController::concludeEditDrag):
* page/EventHandler.cpp:
(WebCore::setInitialKeyboardSelection):
* page/FocusController.cpp:
(WebCore::FocusController::advanceFocusInDocumentOrder):

Source/WebKit/mac:

* WebCoreSupport/WebEditorClient.mm:
(undoNameForEditAction):

Source/WebKit2:

* UIProcess/WebEditCommandProxy.cpp:
(WebKit::WebEditCommandProxy::nameForEditAction):

Tools:

* DumpRenderTree/mac/AccessibilityNotificationHandler.h:
* DumpRenderTree/mac/AccessibilityNotificationHandler.mm:
(-[AccessibilityNotificationHandler stopObserving]):
(-[AccessibilityNotificationHandler _notificationReceived:]):
* DumpRenderTree/mac/AccessibilityUIElementMac.mm:
(AccessibilityUIElement::removeNotificationListener):
* WebKitTestRunner/InjectedBundle/mac/AccessibilityNotificationHandler.mm:
(-[AccessibilityNotificationHandler _notificationReceived:]):
* WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
(WTR::AccessibilityUIElement::removeNotificationListener):

LayoutTests:

* platform/mac/accessibility/input-replacevalue-userinfo-expected.txt: Added.
* platform/mac/accessibility/input-replacevalue-userinfo.html: Added.
* platform/mac/accessibility/selection-change-userinfo-expected.txt: Added.
* platform/mac/accessibility/selection-change-userinfo.html: Added.
* platform/mac/accessibility/value-change-userinfo-expected.txt: Added.
* platform/mac/accessibility/value-change-userinfo.html: Added.

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

5 years agorefine
darin@apple.com [Sun, 26 Apr 2015 21:26:42 +0000 (21:26 +0000)]
refine

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

5 years agoREGRESSION (r176751): line-height ignored in <button> elements
darin@apple.com [Sun, 26 Apr 2015 21:25:02 +0000 (21:25 +0000)]
REGRESSION (r176751): line-height ignored in <button> elements
https://bugs.webkit.org/show_bug.cgi?id=144234

Reviewed by Antti Koivisto.

Source/WebCore:

Test: fast/forms/button-line-height.html

* platform/Theme.h: Changed controlFont to return an Optional so we can tell
when the theme is overriding the font. Otherwise if the font from the user-agent
style sheet and the font from the theme are the same, we will think we are not
overriding the font when we actually are.

* platform/mac/ThemeMac.h: Updated controlFont to return Optional.
* platform/mac/ThemeMac.mm:
(WebCore::ThemeMac::controlFont): Ditto.

* rendering/RenderTheme.cpp:
(WebCore::RenderTheme::adjustStyle): Set line height only if the font is
overriden by the theme, all the time for PushButtonPart on Mac, and not at all
for other parts. Also tightened up the logic a little since RenderStyle's
setFontDescription already does an "==" comparison; we don't have to do
that twice.

LayoutTests:

* fast/forms/button-line-height-expected.html: Added.
* fast/forms/button-line-height.html: Added.

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

5 years agoREGRESSION (r173801): Use after free in WebCore::NotificationCenter::~NotificationCenter
darin@apple.com [Sun, 26 Apr 2015 21:18:15 +0000 (21:18 +0000)]
REGRESSION (r173801): Use after free in WebCore::NotificationCenter::~NotificationCenter
https://bugs.webkit.org/show_bug.cgi?id=137163

Reviewed by Andy Estes.

Source/WebCore:

Test: fast/notifications/request-notification-permission-while-reloading.html

The test doesn't crash under WebKit2, but that's still OK for our purposes.

* Modules/notifications/NotificationCenter.cpp:
(WebCore::NotificationCenter::NotificationCenter): Initialize m_timer.
(WebCore::NotificationCenter::createNotification): Moved here from the header.
(WebCore::NotificationCenter::requestPermission): Start the timer and ref the notification
center when we need to defer a callback. Also use a lambda for the callback and changed
the argument to match what the bindings actually pass. Before we said PassRefPtr, but the
bindings were not transferring ownership of the VoidCallback. The new type is a little
strange but it's consistent with how the bindings work right now.
(WebCore::NotificationCenter::timerFired): Added. Calls all the callbacks, then does a deref
to match the ref we did above.
(WebCore::NotificationCenter::requestTimedOut): Deleted.
(WebCore::NotificationCenter::NotificationRequestCallback::createAndStartTimer): Deleted.
(WebCore::NotificationCenter::NotificationRequestCallback::NotificationRequestCallback): Deleted.
(WebCore::NotificationCenter::NotificationRequestCallback::startTimer): Deleted.
(WebCore::NotificationCenter::NotificationRequestCallback::timerFired): Deleted.

* Modules/notifications/NotificationCenter.h: Reorganized the header to be a bit more tidy.
Changed the argument type for requestPermission to match the reality of what's passed by the
bindings. Removed NotificationRequestCallback and replaced the m_callbacks HashSet with a
vector of std::function.

LayoutTests:

* fast/notifications/request-notification-permission-while-reloading-expected.txt: Added.
* fast/notifications/request-notification-permission-while-reloading.html: Added.

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

5 years agoModernize animations code
simon.fraser@apple.com [Sun, 26 Apr 2015 20:38:20 +0000 (20:38 +0000)]
Modernize animations code
https://bugs.webkit.org/show_bug.cgi?id=144196

Reviewed by Darin Adler.

General cleanup in animation-related code.

Use C++ references where possible. Use modern loops. Make classes fast-allocated.
Use C++11 member initialization. Order member variables to optimize packing.

This removes some null checks in CompositeAnimation, but the values in m_transitions
and m_keyframeAnimations can never be null.

No behavior change.

* page/animation/AnimationBase.cpp:
(WebCore::AnimationBase::AnimationBase):
(WebCore::AnimationBase::animationsMatch):
(WebCore::AnimationBase::updateStateMachine):
(WebCore::AnimationBase::fireAnimationEventsIfNeeded):
(WebCore::AnimationBase::beginAnimationUpdateTime):
(WebCore::AnimationBase::getElapsedTime):
* page/animation/AnimationBase.h:
(WebCore::AnimationBase::animation):
(WebCore::AnimationBase::setAnimation):
* page/animation/AnimationController.cpp:
(WebCore::AnimationControllerPrivate::ensureCompositeAnimation):
(WebCore::AnimationControllerPrivate::addToAnimationsWaitingForStartTimeResponse):
* page/animation/CompositeAnimation.cpp:
(WebCore::CompositeAnimation::CompositeAnimation):
(WebCore::CompositeAnimation::clearRenderer):
(WebCore::CompositeAnimation::updateTransitions):
(WebCore::CompositeAnimation::updateKeyframeAnimations):
(WebCore::CompositeAnimation::animate):
(WebCore::CompositeAnimation::getAnimatedStyle):
(WebCore::CompositeAnimation::timeToNextService):
(WebCore::CompositeAnimation::getAnimationForProperty):
(WebCore::CompositeAnimation::computeExtentOfTransformAnimation):
(WebCore::CompositeAnimation::suspendAnimations):
(WebCore::CompositeAnimation::resumeAnimations):
(WebCore::CompositeAnimation::overrideImplicitAnimations):
(WebCore::CompositeAnimation::resumeOverriddenImplicitAnimations):
(WebCore::CompositeAnimation::isAnimatingProperty):
(WebCore::CompositeAnimation::pauseTransitionAtTime):
(WebCore::CompositeAnimation::numberOfActiveAnimations):
* page/animation/CompositeAnimation.h:
(WebCore::CompositeAnimation::create):
(WebCore::CompositeAnimation::animationController):
* page/animation/ImplicitAnimation.cpp:
(WebCore::ImplicitAnimation::ImplicitAnimation):
(WebCore::ImplicitAnimation::sendTransitionEvent):
* page/animation/ImplicitAnimation.h:
(WebCore::ImplicitAnimation::create):
* page/animation/KeyframeAnimation.cpp:
(WebCore::KeyframeAnimation::KeyframeAnimation):
(WebCore::KeyframeAnimation::animate):
(WebCore::KeyframeAnimation::getAnimatedStyle):
(WebCore::KeyframeAnimation::computeExtentOfTransformAnimation):
(WebCore::KeyframeAnimation::startAnimation):
(WebCore::KeyframeAnimation::sendAnimationEvent):
(WebCore::KeyframeAnimation::overrideAnimations):
(WebCore::KeyframeAnimation::resumeOverriddenAnimations):
(WebCore::KeyframeAnimation::timeToNextService):
* page/animation/KeyframeAnimation.h:
* platform/animation/Animation.cpp:
(WebCore::Animation::animationsMatch):
* platform/animation/Animation.h:
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::paint):
(WebCore::performOverlapTests):
* rendering/style/KeyframeList.h:
(WebCore::KeyframeList::properties):
(WebCore::KeyframeList::keyframes):
(WebCore::KeyframeList::beginProperties): Deleted.
(WebCore::KeyframeList::endProperties): Deleted.
(WebCore::KeyframeList::operator[]): Deleted.
* rendering/style/RenderStyle.h:

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

5 years agoVersioning.
bshafiei@apple.com [Sun, 26 Apr 2015 20:22:27 +0000 (20:22 +0000)]
Versioning.

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

5 years ago<rdar://problem/20702337> REGRESSION (r182952): Plug-in service fails to load because...
mitz@apple.com [Sun, 26 Apr 2015 20:20:08 +0000 (20:20 +0000)]
<rdar://problem/20702337> REGRESSION (r182952): Plug-in service fails to load because it links against WebKit2.framework
https://bugs.webkit.org/show_bug.cgi?id=144233

Reviewed by Simon Fraser.

Have the plug-in service link against WebKit.framework rather than WebKit2.framework.

* Configurations/PluginService.32.xcconfig: Removed linker flags for linking against WebKit2
and Foundation from the definition of OTHER_LDFLAGS. Since linking is no longer conditional,
we can just do it in the target’s Link Binary With Libraries build phase.

* Configurations/PluginService.64.xcconfig: Ditto.

* WebKit2.xcodeproj/project.pbxproj: Have Foundation and WebKit listed in the services’ Link
Binariy With Libraries build phases (one service already had WebKit).

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

5 years agoStart a basic status page on webkit.org
benjamin@webkit.org [Sun, 26 Apr 2015 19:57:11 +0000 (19:57 +0000)]
Start a basic status page on webkit.org
https://bugs.webkit.org/show_bug.cgi?id=143940

Patch by Benjamin Poulain  <benjamin@webkit.org>, Chris Bateman <chrisb808@gmail.com> on 2015-04-26
Reviewed by Darin Adler.

* status.html: Added.
Nothing fancy, for now just show the "features" list of the two features.json

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

5 years ago[JSC] Implement Math.clz32(), remove Number.clz()
benjamin@webkit.org [Sun, 26 Apr 2015 19:55:18 +0000 (19:55 +0000)]
[JSC] Implement Math.clz32(), remove Number.clz()
https://bugs.webkit.org/show_bug.cgi?id=144205

Reviewed by Michael Saboff.

Source/JavaScriptCore:

This patch adds the ES6 function Math.clz32(), and remove the non-standard
Number.clz(). Number.clz() probably came from an older draft.

The new function has a corresponding instrinsic: Clz32Intrinsic,
and a corresponding DFG node: ArithClz32, optimized all the way to LLVM.

* assembler/MacroAssemblerX86Common.h:
(JSC::MacroAssemblerX86Common::countLeadingZeros32):
* assembler/X86Assembler.h:
(JSC::X86Assembler::bsr_rr):
The x86 assembler did not have countLeadingZeros32() because there is
no native CLZ instruction on that architecture.

I have added the version with bsr + branches for the case of zero.
An other popular version uses cmov to handle the case of zero. I kept
it simple since the Assembler has no support for cmov.

It is unlikely to matter much. If the code is hot enough, LLVM picks
something good based on the surrounding code.

* dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
Constant handling + effect propagation. The node only produces integer (between 0 and 32).

* dfg/DFGBackwardsPropagationPhase.cpp:
(JSC::DFG::BackwardsPropagationPhase::propagate):
Thanks to the definition of toUint32(), we can ignore plenty of details
from doubles.

* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::handleIntrinsic):
* dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
* dfg/DFGDoesGC.cpp:
(JSC::DFG::doesGC):
* dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
* dfg/DFGNodeType.h:
* dfg/DFGPredictionPropagationPhase.cpp:
(JSC::DFG::PredictionPropagationPhase::propagate):
* dfg/DFGSafeToExecute.h:
(JSC::DFG::safeToExecute):
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileArithClz32):
* dfg/DFGSpeculativeJIT.h:
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* ftl/FTLCapabilities.cpp:
(JSC::FTL::canCompile):
* ftl/FTLIntrinsicRepository.h:
* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::compileNode):
(JSC::FTL::LowerDFGToLLVM::compileArithClz32):
* ftl/FTLOutput.h:
(JSC::FTL::Output::ctlz32):
* jit/ThunkGenerators.cpp:
(JSC::clz32ThunkGenerator):
* jit/ThunkGenerators.h:
* runtime/Intrinsic.h:
* runtime/MathCommon.h:
(JSC::clz32):
Fun fact: InstCombine does not recognize this pattern to eliminate
the branch which makes our FTL version better than the C version.

* runtime/MathObject.cpp:
(JSC::MathObject::finishCreation):
(JSC::mathProtoFuncClz32):
* runtime/NumberPrototype.cpp:
(JSC::clz): Deleted.
(JSC::numberProtoFuncClz): Deleted.
* runtime/VM.cpp:
(JSC::thunkGeneratorForIntrinsic):
* tests/stress/math-clz32-basics.js: Added.
(mathClz32OnInteger):
(testMathClz32OnIntegers):
(verifyMathClz32OnIntegerWithOtherTypes):
(mathClz32OnDouble):
(testMathClz32OnDoubles):
(verifyMathClz32OnDoublesWithOtherTypes):
(mathClz32NoArguments):
(mathClz32TooManyArguments):
(testMathClz32OnConstants):
(mathClz32StructTransition):
(Math.clz32):

LayoutTests:

Basic conformance tests.

* js/Object-getOwnPropertyNames-expected.txt:
* js/math-clz32-expected.txt: Added.
* js/math-clz32.html: Renamed from LayoutTests/js/number-clz.html.
* js/number-clz-expected.txt: Removed.
* js/script-tests/Object-getOwnPropertyNames.js:
* js/script-tests/math-clz32.js: Added.
(objectConvertToString.toString):
(objectRecordToStringCall.toString):
(objectThrowOnToString.toString):
(objectWithValueOf.valueOf):
(objectThrowOnValueOf.valueOf):
(objectThrowOnValueOf.toString):
(objectRecordValueOfCall.valueOf):
(objectRecordConversionCalls.toString):
(objectRecordConversionCalls.valueOf):
* js/script-tests/number-clz.js: Removed.

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

5 years ago[ES6] Array.from need to accept iterables
utatane.tea@gmail.com [Sun, 26 Apr 2015 19:52:33 +0000 (19:52 +0000)]
[ES6] Array.from need to accept iterables
https://bugs.webkit.org/show_bug.cgi?id=141055

Reviewed by Darin Adler.

Source/JavaScriptCore:

ES6 spec requires that Array.from accepts iterable objects.
This patch introduces this functionality, Array.from accepting iterable objects.

Currently, `isConstructor` is not used. Instead of it, `typeof thiObj === "function"` is used.
However, it doesn't conform to the spec. While `isConstructor` queries the given object has `[[Construct]]`,
`typeof thisObj === "function"` queries the given object has `[[Call]]`.
This will be fixed in the subsequent patch[1].

[1]: https://bugs.webkit.org/show_bug.cgi?id=144093

* builtins/ArrayConstructor.js:
(from):
* parser/Parser.cpp:
(JSC::Parser<LexerType>::parseInner):
* runtime/CommonIdentifiers.h:
* runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::init):
* tests/stress/array-from-with-iterable.js: Added.
(shouldBe):
(.set for):
(.set var):
(.get var):
(argumentsGenerators):
(.set shouldBe):
(.set new):
* tests/stress/array-from-with-iterator.js: Added.
(shouldBe):
(shouldThrow):
(createIterator.iterator.return):
(createIterator):
(.):

LayoutTests:

Array.from now accepts iterables.

* js/array-from-expected.txt:

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

5 years agoNew baselines for iOS.
simon.fraser@apple.com [Sun, 26 Apr 2015 18:45:09 +0000 (18:45 +0000)]
New baselines for iOS.

* platform/ios-simulator-wk2/compositing/contents-scale/rounded-contents-scale-expected.txt:
* platform/ios-simulator-wk2/compositing/contents-scale/scaled-ancestor-expected.txt:
* platform/ios-simulator-wk2/compositing/contents-scale/simple-scale-expected.txt:
* platform/ios-simulator-wk2/compositing/contents-scale/z-translate-expected.txt:
* platform/ios-simulator-wk2/compositing/repaint/invalidations-on-composited-layers-expected.txt:
* platform/ios-simulator-wk2/compositing/tiling/tile-cache-zoomed-expected.txt:
* platform/ios-simulator-wk2/compositing/visible-rect/2d-transformed-expected.txt:
* platform/ios-simulator-wk2/compositing/visible-rect/3d-transformed-expected.txt:
* platform/ios-simulator-wk2/compositing/visible-rect/clipped-by-viewport-expected.txt:
* platform/ios-simulator-wk2/compositing/visible-rect/clipped-visible-rect-expected.txt:
* platform/ios-simulator-wk2/compositing/visible-rect/coverage-clipped-expected.txt:
* platform/ios-simulator-wk2/compositing/visible-rect/coverage-scrolling-expected.txt:
* platform/ios-simulator-wk2/compositing/visible-rect/flipped-preserve-3d-expected.txt:
* platform/ios-simulator-wk2/compositing/visible-rect/iframe-and-layers-expected.txt:
* platform/ios-simulator-wk2/compositing/visible-rect/nested-transform-expected.txt:
* platform/ios-simulator-wk2/compositing/visible-rect/scrolled-expected.txt:

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

5 years agoNew WK1 results for this test.
simon.fraser@apple.com [Sun, 26 Apr 2015 18:25:33 +0000 (18:25 +0000)]
New WK1 results for this test.

* platform/mac-wk1/compositing/tiling/transform-origin-tiled-expected.txt: Added.

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

5 years agoExpand compositing coverage rect when scrolling and animating
simon.fraser@apple.com [Sun, 26 Apr 2015 17:24:40 +0000 (17:24 +0000)]
Expand compositing coverage rect when scrolling and animating
https://bugs.webkit.org/show_bug.cgi?id=144214
rdar://problem/20695926

Reviewed by Darin Adler.

Source/WebCore:

r183300 added a secondary rect that gets mapped through graphics layers during
layer flushing, which represents a rect, in layer coordinates, that represents
the portion of this layer that's visible in the viewport.

This patch extends that rect based on scrolling and animating, with the extended
coverage rect being mapped into descendants (where it's used to determine whether
they should detach their backing store). This required moving the responsibility for
extending the coverage rect from TileController (where it was used to compute
tiled extent), to GraphicsLayerCA. Thus, GraphicsLayerCA now owns the concept
of coverage rect, and pushes it onto TileControllers.

Test: compositing/tiling/transform-origin-tiled.html

* platform/graphics/TiledBacking.h: Coverage rect is now pushed onto
TiledBacking from outside; new functions reflect that.
* platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::flushCompositingStateForThisLayerOnly): No need to pass
old visible rect to commitLayerChangesBeforeSublayers.
(WebCore::accumulatesTransform):
(WebCore::GraphicsLayerCA::recursiveVisibleRectChangeRequiresFlush): Now calls computeVisibleAndCoverageRect(),
then adjustCoverageRect() which adjusts for scrolling and animations.
(WebCore::GraphicsLayerCA::computeVisibleAndCoverageRect): Fetch the coverage rect from the
TransformState, but we can only use this if mapping it through various transforms didn't clamp
it (which can happen with severe rotations in perspective).
(WebCore::GraphicsLayerCA::adjustCoverageRect): If this layer represents the page tiled backing,
ask the TileController to do coverage adjustment (code which should move into here eventually).
For other tiled layers, do motion-based adjustment. This should really be done for all layers
(an animating non-tiled layer may contain a tiled layer).
(WebCore::GraphicsLayerCA::setVisibleAndCoverageRects): The VisibleRectChanged wasn't needed
any more; layers only react to changed in coverage rect now.
(WebCore::GraphicsLayerCA::recursiveCommitChanges): If adjustCoverageRect() changed the
coverage rect, here we push the new rect back into the TransformState so it will affect
descendants.
(WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers):
(WebCore::GraphicsLayerCA::updateCoverage): Coverage and backing store attachment go
hand-in-hand now.
(WebCore::GraphicsLayerCA::changeLayerTypeTo):
(WebCore::GraphicsLayerCA::computeVisibleRect): Deleted.
(WebCore::GraphicsLayerCA::updateBackingStoreAttachment): Deleted.
(WebCore::GraphicsLayerCA::updateVisibleRect): Deleted.
* platform/graphics/ca/GraphicsLayerCA.h:
* platform/graphics/ca/TileController.cpp:
(WebCore::TileController::setVisibleRect): Visible rect is only used for scroll performance
logging now.
(WebCore::TileController::setCoverageRect):
(WebCore::TileController::tilesWouldChangeForCoverageRect):
(WebCore::TileController::revalidateTiles):
(WebCore::TileController::boundsForSize): This is required because when computeTileCoverageRect()
is called at the top of committing the owning layer, we haven't yet pushed a new size to the
underlying platform layer (which TileController::bounds() consults).
(WebCore::TileController::bounds):
(WebCore::TileController::computeTileCoverageRect): Have to push the new size in, since the
underlying layer hasn't been updated yet.
(WebCore::TileController::didRevalidateTiles):
(WebCore::TileController::tilesWouldChangeForVisibleRect): Deleted.
* platform/graphics/ca/TileController.h:
* platform/graphics/ca/TileCoverageMap.cpp:
(WebCore::TileCoverageMap::TileCoverageMap): Add a layer to the tile map that shows
a dark blue outline for the coverage rect.
(WebCore::TileCoverageMap::update): Fix some minor issues with map position when top
content inset is non-zero.
* platform/graphics/ca/TileCoverageMap.h:
* platform/graphics/ca/TileGrid.cpp: Everything is in terms of coverage rect now.
(WebCore::TileGrid::tilesWouldChangeForCoverageRect):
(WebCore::TileGrid::revalidateTiles):
(WebCore::TileGrid::tilesWouldChangeForVisibleRect): Deleted.
* platform/graphics/ca/TileGrid.h:
* platform/graphics/transforms/TransformState.cpp:
(WebCore::TransformState::operator=):
(WebCore::TransformState::mappedQuad): Pass direction into mapQuad().
(WebCore::TransformState::mappedSecondaryQuad): Ditto.
(WebCore::TransformState::setLastPlanarSecondaryQuad): This function allows a caller
to pass in a secondary quad, and get it mapped into the coordinate space of the last
"flattening" state (since the TransformState may have in-flight XY offset, or transform).
This mapping is achieved by re-using mapQuad(), but in the inverse direction.
(WebCore::TransformState::mapQuad): Make direction a parameter.
(WebCore::TransformState::flattenWithTransform): This code omitted to map the secondary
quad. Failure was detected by tests.
* platform/graphics/transforms/TransformState.h:
(WebCore::TransformState::isMappingSecondaryQuad):
(WebCore::TransformState::direction):
(WebCore::TransformState::inverseDirection):
(WebCore::TransformState::lastPlanarSecondaryQuad): Deleted.

LayoutTests:

New baselines for tests dumping layer output, with coverage rect being affected
by this changeset. One new test for tiling a layer inside overflow:hidden with transform-origin.

* compositing/contents-scale/animating-expected.txt:
* compositing/contents-scale/rounded-contents-scale-expected.txt:
* compositing/contents-scale/scaled-ancestor-expected.txt:
* compositing/contents-scale/simple-scale-expected.txt:
* compositing/tiling/transform-origin-tiled.html: Added.
* platform/mac-wk2/compositing/tiling/rotated-tiled-clamped-expected.txt:
* platform/mac-wk2/compositing/tiling/rotated-tiled-preserve3d-clamped-expected.txt:
* platform/mac-wk2/compositing/tiling/tile-cache-zoomed-expected.txt:
* platform/mac-wk2/compositing/visible-rect/iframe-no-layers-expected.txt:
* platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-div-latched-div-expected.txt:
* platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-div-latched-div-with-handler-expected.txt:
* platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-div-latched-mainframe-expected.txt:
* platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-div-latched-mainframe-with-handler-expected.txt:
* platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-iframe-latched-iframe-expected.txt:
* platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-iframe-latched-iframe-with-handler-expected.txt:
* platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-iframe-latched-mainframe-expected.txt:
* platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-iframe-latched-mainframe-with-handler-expected.txt:
* platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-select-latched-mainframe-expected.txt:
* platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-select-latched-mainframe-with-handler-expected.txt:
* platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-select-latched-select-expected.txt:
* platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-select-latched-select-with-handler-expected.txt:
* platform/mac-wk2/tiled-drawing/scrolling/fixed/four-bars-zoomed-expected.txt:
* platform/mac-wk2/tiled-drawing/simple-document-with-margin-tiles-expected.txt:
* platform/mac-wk2/tiled-drawing/tile-size-slow-zoomed-expected.txt:
* platform/mac-wk2/tiled-drawing/tiled-drawing-scroll-position-page-cache-restoration-expected.txt:
* platform/mac-wk2/tiled-drawing/tiled-drawing-zoom-expected.txt:
* platform/mac-wk2/tiled-drawing/tiled-drawing-zoom-scrolled-expected.txt:
* platform/mac/compositing/tiling/rotated-tiled-clamped-expected.txt:
* platform/mac/compositing/tiling/rotated-tiled-preserve3d-clamped-expected.txt:
* platform/mac/compositing/tiling/tile-cache-zoomed-expected.txt:
* platform/mac/compositing/visible-rect/2d-transformed-expected.txt:
* platform/mac/compositing/visible-rect/3d-transformed-expected.txt:
* platform/mac/compositing/visible-rect/clipped-by-viewport-expected.txt:
* platform/mac/compositing/visible-rect/clipped-visible-rect-expected.txt:
* platform/mac/compositing/visible-rect/iframe-and-layers-expected.txt:
* platform/mac/compositing/visible-rect/iframe-no-layers-expected.txt:
* platform/mac/compositing/visible-rect/scrolled-expected.txt:

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

5 years agoFixed the build.
mitz@apple.com [Sun, 26 Apr 2015 15:47:20 +0000 (15:47 +0000)]
Fixed the build.

* UIProcess/ios/forms/WKFileUploadPanel.mm:
(-[WKFileUploadPanel _showDocumentPickerMenu]): Suppressed deprecation warnings around use
of -[UIDocumentMenuViewController _setIgnoreApplicationEntitlementForImport:].

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

5 years agoWeb Inspector: Vertically misaligned text in Object Trees
jonowells@apple.com [Sun, 26 Apr 2015 13:00:57 +0000 (13:00 +0000)]
Web Inspector: Vertically misaligned text in Object Trees
https://bugs.webkit.org/show_bug.cgi?id=144029

Reviewed by Timothy Hatcher.

Remove top offset for object tree property titles to fix alignment issue since applying -webkit-system-font
font family to these (http://trac.webkit.org/changeset/182982).

* UserInterface/Views/ObjectTreePropertyTreeElement.css:
(.object-tree-property > .titles):

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

5 years agoMark some tests that take >10 seconds on debug bots as slow.
ap@apple.com [Sun, 26 Apr 2015 06:54:21 +0000 (06:54 +0000)]
Mark some tests that take >10 seconds on debug bots as slow.

This is too close to 30 second timeout, so it's likely that these tests would flakily
time out on other configurations, e.g. locally.

* TestExpectations:

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

5 years agoUpdated expected bindings generation test results after r183343.
mitz@apple.com [Sun, 26 Apr 2015 06:06:43 +0000 (06:06 +0000)]
Updated expected bindings generation test results after r183343.

* bindings/scripts/test/ObjC/DOMTestActiveDOMObject.h:
* bindings/scripts/test/ObjC/DOMTestCallback.h:
* bindings/scripts/test/ObjC/DOMTestCustomNamedGetter.h:
* bindings/scripts/test/ObjC/DOMTestEventConstructor.h:
* bindings/scripts/test/ObjC/DOMTestEventTarget.h:
* bindings/scripts/test/ObjC/DOMTestException.h:
* bindings/scripts/test/ObjC/DOMTestGenerateIsReachable.h:
* bindings/scripts/test/ObjC/DOMTestInterface.h:
* bindings/scripts/test/ObjC/DOMTestMediaQueryListListener.h:
* bindings/scripts/test/ObjC/DOMTestNamedConstructor.h:
* bindings/scripts/test/ObjC/DOMTestNode.h:
* bindings/scripts/test/ObjC/DOMTestNondeterministic.h:
* bindings/scripts/test/ObjC/DOMTestObj.h:
* bindings/scripts/test/ObjC/DOMTestOverloadedConstructors.h:
* bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterface.h:
* bindings/scripts/test/ObjC/DOMTestTypedefs.h:
* bindings/scripts/test/ObjC/DOMattribute.h:
* bindings/scripts/test/ObjC/DOMreadonly.h:

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

5 years agoFurther update gesture swipe shadow style
timothy_horton@apple.com [Sun, 26 Apr 2015 06:00:29 +0000 (06:00 +0000)]
Further update gesture swipe shadow style
https://bugs.webkit.org/show_bug.cgi?id=144215
<rdar://problem/19295843>

Reviewed by Dan Bernstein.

* Resources/mac/SwipeShadow.png: Removed.
* Resources/mac/SwipeShadow@2x.png: Removed.
* UIProcess/mac/ViewGestureController.h:
* UIProcess/mac/ViewGestureControllerMac.mm:
(WebKit::ViewGestureController::beginSwipeGesture):
* WebKit2.xcodeproj/project.pbxproj:
Use a CAGradientLayer instead of PNGs for the swipe shadow.

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

5 years agofont-synthesis's initial value is "style weight"
mmaxfield@apple.com [Sun, 26 Apr 2015 05:20:19 +0000 (05:20 +0000)]
font-synthesis's initial value is "style weight"
https://bugs.webkit.org/show_bug.cgi?id=144195

Reviewed by Darin Adler.

Source/WebCore:

Updated fast/css3-text/font-synthesis-parse.html.

* rendering/style/RenderStyle.h:

LayoutTests:

Updating test.

* fast/css3-text/font-synthesis-parse-expected.txt:
* fast/css3-text/font-synthesis-parse.html:

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

5 years agoUnreviewed, rolling out r183305.
commit-queue@webkit.org [Sun, 26 Apr 2015 04:16:27 +0000 (04:16 +0000)]
Unreviewed, rolling out r183305.
https://bugs.webkit.org/show_bug.cgi?id=144213

Crashes on wikipedia (Requested by litherum on #webkit).

Reverted changeset:

"[Cocoa] FontPlatformData's equality check should always use
reference URLs"
https://bugs.webkit.org/show_bug.cgi?id=144168
http://trac.webkit.org/changeset/183305

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

5 years agoWeb Inspector: Uncaught exception ReferenceError: Can't find variable: message LogCon...
commit-queue@webkit.org [Sun, 26 Apr 2015 04:12:05 +0000 (04:12 +0000)]
Web Inspector: Uncaught exception ReferenceError: Can't find variable: message LogContentView.js
https://bugs.webkit.org/show_bug.cgi?id=144210

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

* UserInterface/Views/LogContentView.js:
(WebInspector.LogContentView.prototype._reappendProvisionalMessages):
With recent refactorings this change was missed.

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

5 years agoWeb Inspector: Uncaught exception using WebInspector.contentBrowser
commit-queue@webkit.org [Sun, 26 Apr 2015 03:42:21 +0000 (03:42 +0000)]
Web Inspector: Uncaught exception using WebInspector.contentBrowser
https://bugs.webkit.org/show_bug.cgi?id=144206

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

* UserInterface/Views/TimelineSidebarPanel.js:
(WebInspector.TimelineSidebarPanel.showTimelineViewForTimeline.this._timelineTreeElementMap.get select):
Use the current tab's content browser since a global one no longer exists.

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

5 years agoAdd myself to contributors.json
commit-queue@webkit.org [Sun, 26 Apr 2015 02:33:27 +0000 (02:33 +0000)]
Add myself to contributors.json
https://bugs.webkit.org/show_bug.cgi?id=144204

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

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

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

5 years agoSource/WebCore:
mitz@apple.com [Sun, 26 Apr 2015 01:38:31 +0000 (01:38 +0000)]
Source/WebCore:
WebCore part of <rdar://problem/20697966> Avoid using TBD as an argument to NS_AVAILABLE
https://bugs.webkit.org/show_bug.cgi?id=144201

Reviewed by Darin Adler.

Instead of TBD, use the high version number to which it corresponds in CFAvailability.h,
9876.5.

* bindings/objc/WebKitAvailability.h: Added a definition of __NSi_9876_5, so that we can
use 9876_5 in availability macros. Removed the definition of
__AVAILABILITY_INTERNAL__MAC_TBD, which will no longer be used.

* bindings/scripts/CodeGeneratorObjC.pm:
(ReadPublicInterfaces): Use 9876_5 instead of TBD.

Source/WebKit2:
WebKit2 part of <rdar://problem/20697966> Avoid using TBD as an argument to NS_AVAILABLE
https://bugs.webkit.org/show_bug.cgi?id=144201

Reviewed by Darin Adler.

Instead of TBD, we use the high version number to which it corresponds in CFAvailability.h,
9876.5.

* mac/MigrateHeadersFromWebKitLegacy.make: To detect not-yet-available declarations in
headers, look for "9876_5" rather than "TBA".

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

5 years agoUpdate localized strings.
timothy@apple.com [Sun, 26 Apr 2015 01:28:51 +0000 (01:28 +0000)]
Update localized strings.

Source/WebCore:

* English.lproj/Localizable.strings: Updated.

Source/WebInspectorUI:

* Localizations/en.lproj/localizedStrings.js: Updated.

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

5 years agoWeb Inspector: Make JSContext debugging work with Tabs UI
timothy@apple.com [Sun, 26 Apr 2015 01:27:03 +0000 (01:27 +0000)]
Web Inspector: Make JSContext debugging work with Tabs UI
https://bugs.webkit.org/show_bug.cgi?id=144203

Reviewed by Joseph Pecoraro.

* UserInterface/Base/Main.js:
(WebInspector.contentLoaded):
(WebInspector._isTabTypeAllowed):
(WebInspector.activateExtraDomains):
(WebInspector._updateReloadToolbarButton):
(WebInspector._updateDownloadToolbarButton):

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