WebKit-https.git
4 years agoFix internal dashboard breakage from recent commit.
dburkart@apple.com [Sat, 23 May 2015 00:54:59 +0000 (00:54 +0000)]
Fix internal dashboard breakage from recent commit.
https://bugs.webkit.org/show_bug.cgi?id=144814

Unreviewed build fix.

* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotStaticAnalyzerQueueView.js:
(BuildbotStaticAnalyzerQueueView.prototype.update.appendStaticAnalyzerQueueStatus):
(BuildbotStaticAnalyzerQueueView.prototype.update):

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

4 years agoREGRESSION (OS X 10.9.2): PageVisibilityStateWithWindowChanges.WebKit2 API test fails
ap@apple.com [Sat, 23 May 2015 00:26:54 +0000 (00:26 +0000)]
REGRESSION (OS X 10.9.2): PageVisibilityStateWithWindowChanges.WebKit2 API test fails
https://bugs.webkit.org/show_bug.cgi?id=130463
rdar://problem/20461342

Reviewed by Tim Horton.

This was more of a timing related flakiness than an actual OS version specific bug,
we weren't getting window visibility notifications.

I will look into adding this function call to DumpRenderTree separately, layout tests
might actually rely on the broken behavior.

* TestWebKitAPI/Tests/mac/PageVisibilityStateWithWindowChanges.mm:
(TestWebKitAPI::TEST_F):
* TestWebKitAPI/mac/mainMac.mm:
(main):

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

4 years agoShow results and status before revisions for A/B testing results
rniwa@webkit.org [Sat, 23 May 2015 00:25:31 +0000 (00:25 +0000)]
Show results and status before revisions for A/B testing results
https://bugs.webkit.org/show_bug.cgi?id=145327

Reviewed by Chris Dumez.

Place the results and the status columns before the columns for revisions.
Also show the absolute difference as well as the relative difference between the averages of A and B.

* public/v2/app.js:
(App.TestGroupPane._populate):
(App.TestGroupPane._computeStatisticalSignificance):
* public/v2/index.html:

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

4 years agoAdd missing file from r184804 (mis-applied diff).
dburkart@apple.com [Sat, 23 May 2015 00:19:03 +0000 (00:19 +0000)]
Add missing file from r184804 (mis-applied diff).
https://bugs.webkit.org/show_bug.cgi?id=144814

Reviewed by Alexey Proskuryakov.

* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotStaticAnalyzerQueueView.js: Added.
(BuildbotStaticAnalyzerQueueView):
(BuildbotStaticAnalyzerQueueView.prototype.update.appendStaticAnalyzerQueueStatus):
(BuildbotStaticAnalyzerQueueView.prototype.update):

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

4 years agoAdd support to the botwatchers dashboard for a static analyzer bot.
dburkart@apple.com [Sat, 23 May 2015 00:11:30 +0000 (00:11 +0000)]
Add support to the botwatchers dashboard for a static analyzer bot.
https://bugs.webkit.org/show_bug.cgi?id=144814

Reviewed by Alexey Proskuryakov.

* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotIteration.js:
scan-build should be considered a productive step.

* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotQueue.js:
(BuildbotQueue):
Adds support for the staticAnalyzer property

* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotTestResults.js:
(BuildbotTestResults.prototype._parseResults):
Get bug count from the scan-build step output

* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Main.js:
(documentReady):
Rename the performance column 'Other', and merge the current 'Other' column with it.

* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js:
(WebKitBuildbot):
Now that performance bots are part of the 'Other' column, give them better headings.

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

4 years agoUnreviewed GTK fix after r184802.
jonlee@apple.com [Fri, 22 May 2015 23:57:59 +0000 (23:57 +0000)]
Unreviewed GTK fix after r184802.

* UIProcess/API/gtk/WebKitSettings.cpp:
(webkit_settings_get_media_playback_requires_user_gesture):
(webkit_settings_set_media_playback_requires_user_gesture):

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

4 years agoRename MediaPlaybackRequiresUserGesture
jonlee@apple.com [Fri, 22 May 2015 23:56:38 +0000 (23:56 +0000)]
Rename MediaPlaybackRequiresUserGesture
https://bugs.webkit.org/show_bug.cgi?id=145314

Reviewed by Anders Carlsson.

In preparation for an API rename, update internal symbols from mediaPlaybackRequiresUserGesture
to requiresUserGestureForMediaPlayback.

Source/WebCore:

* page/Settings.cpp: update static const default variable name.
* page/Settings.in: update the setting name and static const default variable name.

* Modules/webaudio/AudioContext.cpp:
(WebCore::AudioContext::constructCommon): Update settings call.
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::HTMLMediaElement): Ditto.

Source/WebKit/mac:

No changes are being made to the API in this patch.

* WebView/WebPreferenceKeysPrivate.h: Update the name of the key, but not its value, for backwards
compatibility.
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]): Update the symbol.
(-[WebPreferences mediaPlaybackRequiresUserGesture]): Ditto. This setting will not be renamed
in a future patch.
(-[WebPreferences setMediaPlaybackRequiresUserGesture:]): Ditto.
* WebView/WebView.mm:
(-[WebView _preferencesChanged:]): Update the call to settings.

Source/WebKit2:

No changes are being made to the API in this patch.

* Shared/WebPreferencesDefinitions.h: Update the name of the macro and the setting.
* UIProcess/API/C/WKPreferences.cpp: The C API will not change in a future patch.
(WKPreferencesSetMediaPlaybackRequiresUserGesture): Update the call to preferences.
(WKPreferencesGetMediaPlaybackRequiresUserGesture): Ditto.
* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView initWithFrame:configuration:]): Update the name of the key.
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences): Ditto.

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

4 years agoAX: Figure out why list-detection2.html test fails on GTK
jdiggs@igalia.com [Fri, 22 May 2015 23:44:18 +0000 (23:44 +0000)]
AX: Figure out why list-detection2.html test fails on GTK
https://bugs.webkit.org/show_bug.cgi?id=145273

Reviewed by Chris Fleizach.

Only consider the text under the pseudo element for GTK and EFL.
The other platforms expose rendered text content through their
own accessible objects. This will fix the crash on Windows until
it can be looked into properly.

No new tests. This should stop list-detection2.html to stop crashing on Windows.

* accessibility/AccessibilityList.cpp:
(WebCore::AccessibilityList::childHasPseudoVisibleListItemMarkers):

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

4 years agoUnreviewed, rolling out r183647.
commit-queue@webkit.org [Fri, 22 May 2015 23:29:25 +0000 (23:29 +0000)]
Unreviewed, rolling out r183647.
https://bugs.webkit.org/show_bug.cgi?id=145326

broke some toolbar blurring behavior (Requested by thorton on
#webkit).

Reverted changeset:

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

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

4 years ago[Mac] Audio tracks tagged as 'describes-video' are not automatically selected when...
jer.noble@apple.com [Fri, 22 May 2015 23:15:37 +0000 (23:15 +0000)]
[Mac] Audio tracks tagged as 'describes-video' are not automatically selected when that system accessibility option is set.
https://bugs.webkit.org/show_bug.cgi?id=145228

Reviewed by Eric Carlson.

Source/WebCore:

Tests: http/tests/media/hls/hls-accessiblity-describes-video.html
       media/accessiblity-describes-video.html

Add support to CaptionUserPreferences to return the user's preferred audio characteristics,
including "public.accessibility.describes-video". When the media accessibility options change,
trigger the HTMLMediaElement to update the list of tracks, and chose a new audio track if
appropriate. Manually filter those tracks matching the requested characteristics in
MediaSelectionGroupAVFObjC.  Allow these characteristics to be overrided by Internals for
testing purposes.

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::captionPreferencesChanged): Call tracksChanged().
(WebCore::HTMLMediaElement::mediaPlayerPreferredAudioCharacteristics): Pass through to the page's caption preferences.
* html/HTMLMediaElement.h:
* page/CaptionUserPreferences.cpp:
(WebCore::CaptionUserPreferences::setPreferredAudioCharacteristic): Simple setter.
(WebCore::CaptionUserPreferences::preferredAudioCharacteristics): Simple getter.
* page/CaptionUserPreferences.h:
* page/CaptionUserPreferencesMediaAF.cpp:
(WebCore::CaptionUserPreferencesMediaAF::~CaptionUserPreferencesMediaAF): Unregister for audio characteristics change notifications.
(WebCore::CaptionUserPreferencesMediaAF::setInterestedInCaptionPreferenceChanges): Register for same.
(WebCore::CaptionUserPreferencesMediaAF::setPreferredAudioCharacteristic): If in testing mode, pass to superclass; otherwise no-op.
(WebCore::CaptionUserPreferencesMediaAF::preferredAudioCharacteristics): If in testing mode, pass to superclass;
    otherwise, ask the media accessibility framework.
* page/CaptionUserPreferencesMediaAF.h:
* platform/graphics/MediaPlayer.cpp:
(WebCore::MediaPlayer::tracksChanged): Pass through to m_private.
(WebCore::MediaPlayer::preferredAudioCharacteristics): Pass through to HTMLMediaElement.
* platform/graphics/MediaPlayer.h:
(WebCore::MediaPlayerClient::mediaPlayerPreferredAudioCharacteristics): Added; return empty vector by default.
* platform/graphics/MediaPlayerPrivate.h:
(WebCore::MediaPlayerPrivateInterface::tracksChanged): Added; no-op by default.
* platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
* platform/graphics/avfoundation/MediaSelectionGroupAVFObjC.h:
* platform/graphics/avfoundation/MediaSelectionGroupAVFObjC.mm:
(WebCore::MediaSelectionGroupAVFObjC::create): Added characteristics parameter.
(WebCore::MediaSelectionGroupAVFObjC::MediaSelectionGroupAVFObjC): Ditto.
(WebCore::MediaSelectionGroupAVFObjC::updateOptions): Add an additional filter against the
    passed-in characteristics.
* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::determineChangedTracksFromNewTracksAndOldItems): Pass the characteristics to the media selection group.
(WebCore::MediaPlayerPrivateAVFoundationObjC::updateAudioTracks): Pass in the user's preferred characteristics.
(WebCore::MediaPlayerPrivateAVFoundationObjC::updateVideoTracks): Pass in an empty vector.
* testing/Internals.cpp:
(WebCore::Internals::userPreferredAudioCharacteristics): Added; return the current setting.
(WebCore::Internals::setUserPreferredAudioCharacteristic): Added; pass through to CaptionUserPreferences.
* testing/Internals.h:
* testing/Internals.idl:

Add soft link macros which account for a possible failure to look up constants.

* platform/cf/MediaAccessibilitySoftLink.cpp:
* platform/cf/MediaAccessibilitySoftLink.h:
* platform/mac/SoftLinking.h:
* platform/win/SoftLinking.h:

LayoutTests:

* http/tests/media/hls/hls-accessiblity-describes-video-expected.txt: Added.
* http/tests/media/hls/hls-accessiblity-describes-video.html: Added.
* http/tests/media/resources/hls/audio-describes-video.m3u8: Added.
* http/tests/media/resources/hls/english/description.aac: Added.
* http/tests/media/resources/hls/english/description.m3u8: Added.
* media/accessiblity-describes-video-expected.txt: Added.
* media/accessiblity-describes-video.html: Added.
* media/content/audio-describes-video.mp4: Added.
* platform/mac-mavericks/TestExpectations:

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

4 years agoImage link doesn't create a preview view controller.
commit-queue@webkit.org [Fri, 22 May 2015 22:52:20 +0000 (22:52 +0000)]
Image link doesn't create a preview view controller.
https://bugs.webkit.org/show_bug.cgi?id=145320

Also try to create the preview view controller if the hit-tested node
is a image link.

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

* UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView gestureRecognizerShouldBegin:]):
(-[WKContentView previewViewControllerForPosition:inSourceView:]):

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

4 years agoAvoid doing an extra layout in some cases while doing scale-to-fit
timothy_horton@apple.com [Fri, 22 May 2015 21:48:53 +0000 (21:48 +0000)]
Avoid doing an extra layout in some cases while doing scale-to-fit
https://bugs.webkit.org/show_bug.cgi?id=145321
<rdar://problem/21051165>

Reviewed by Beth Dakin.

* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::TiledCoreAnimationDrawingArea::scaleViewToFitDocumentIfNeeded):
If we make it to scaleViewToFitDocumentIfNeeded with valid layout,
the view width is still less than the last-known minimum document size,
and the document size hasn't changed, update the view scale without
doing an extra layout, keeping the fixed layout size at the previously
computed minimum document size.

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

4 years ago[Cocoa] Use CTFontDrawGlyphs() instead of CGContextShowGlyphsWithAdvances()/CGContext...
mmaxfield@apple.com [Fri, 22 May 2015 21:43:14 +0000 (21:43 +0000)]
[Cocoa] Use CTFontDrawGlyphs() instead of CGContextShowGlyphsWithAdvances()/CGContextShowGlyphsAtPositions()
https://bugs.webkit.org/show_bug.cgi?id=145234

Reviewed by Enrica Casucci.

Eventually, we want to migrate entirely off of text-related CoreGraphics calls
and onto CoreText calls (in order to reduce complexity as well as eventually
removing the need for FontPlatformData to hold a CGFontRef). There is an
equivalent call to CGContextShowGlyphsWithAdvances() and
CGContextShowGlyphsAtPositions(), namely, CTFontDrawGlyphs(), which we have
found is as performant as its CoreGraphics counterparts. This patch simply
migrates these two CG calls to its CT counterpart.

Performance was measured on a iPhone 4s as well as a Mid 2010 Mac Pro.

No new tests because there is no behavior change.

* platform/graphics/cocoa/FontCascadeCocoa.mm:
(WebCore::showGlyphsWithAdvances):
(WebCore::FontCascade::drawGlyphs):

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

4 years ago[Mac] Don't show default controls after playing to wireless target
eric.carlson@apple.com [Fri, 22 May 2015 21:01:39 +0000 (21:01 +0000)]
[Mac] Don't show default controls after playing to wireless target
https://bugs.webkit.org/show_bug.cgi?id=145317

Reviewed by Dean Jackson.

* Modules/mediacontrols/mediaControlsApple.js:
(Controller.prototype.handlePanelTransitionEnd): Don't show controls unless the video
element has the 'controls' attribute.
(Controller.prototype.setPlaying): Check this.video.controls directly because we never want
to show controls unless the attribute is present.
(Controller.prototype.showControls): Ditto.
(Controller.prototype.updateWirelessPlaybackStatus): Call reconnectControls.
(Controller.prototype.handleWirelessPlaybackChange): Don't call reconnectControls, it will
happen in updateWirelessPlaybackStatus.
(Controller.prototype.showInlinePlaybackPlaceholderOnly): Deleted.

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

4 years ago[CG] Regression(r78652): Partially decoded images are not properly removed from Memor...
cdumez@apple.com [Fri, 22 May 2015 20:47:53 +0000 (20:47 +0000)]
[CG] Regression(r78652): Partially decoded images are not properly removed from MemoryCache when pruning
https://bugs.webkit.org/show_bug.cgi?id=145310

Reviewed by Antti Koivisto.

r78652 added partially decoded images to the MemoryCache's list of live
decoded resources so that they can be pruned on memory pressure. This
was needed because CG decodes part of the image to determine its
properties (e.g. its size). On memory pressure, we call
BitmapImage::destroyDecodedData() which clears the ImageSource and
frees up this extra decoded data.

However, we would fail to remove such partially decoded images from the
MemoryCache's list of live resources when pruning. This is because
BitmapImage::destroyMetadataAndNotify() fails to take into account the
decoded properties size when no frame has been cleared. We would thus
fail to detect a decoded size change and not call
CachedImage::decodedSizeChanged(). As a result, the CachedImage's
decoded size is not reset to 0 and we don't remove it from live decoded
resources.

This patch updates BitmapImage::destroyMetadataAndNotify() to account
for m_decodedPropertiesSize even if frameBytesCleared is 0. This way,
images for which we have't decoded any frames yet will correctly report
that we cleared the decoded data used to determine the image properties
and their decoded size will be properly reset to 0. As a result, these
will be removed from the MemoryCache's list of live decoded resources.

* platform/graphics/BitmapImage.cpp:
(WebCore::BitmapImage::destroyDecodedData):
(WebCore::BitmapImage::destroyMetadataAndNotify):
(WebCore::BitmapImage::dataChanged):
* platform/graphics/BitmapImage.h:

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

4 years agoWeb Inspector: Unable to get cursor in new Rule section after creating multiple New...
commit-queue@webkit.org [Fri, 22 May 2015 20:31:47 +0000 (20:31 +0000)]
Web Inspector: Unable to get cursor in new Rule section after creating multiple New Rules
https://bugs.webkit.org/show_bug.cgi?id=145294

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

* inspector/InspectorStyleSheet.cpp:
(WebCore::InspectorStyleSheet::ensureParsedDataReady):
Allow stylesheets with mutations for the inspector stylesheet
which we control mutations of.

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

4 years agoTurn on autosaving of toolbar configuration in MiniBrowser
timothy_horton@apple.com [Fri, 22 May 2015 20:30:36 +0000 (20:30 +0000)]
Turn on autosaving of toolbar configuration in MiniBrowser

Rubber-stamped by Dan Bernstein.

* MiniBrowser/mac/BrowserWindow.xib:

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

4 years agoYellow highlight and DD popover don't go away when scrolling an iframe
bdakin@apple.com [Fri, 22 May 2015 20:23:33 +0000 (20:23 +0000)]
Yellow highlight and DD popover don't go away when scrolling an iframe
https://bugs.webkit.org/show_bug.cgi?id=145312
-and corresponding-
rdar://problem/19692334

Reviewed by Tim Horton.

Match what Lookup already does for their popover and dismiss our popovers on
scroll.
* UIProcess/API/mac/WKView.mm:
(-[WKView scrollWheel:]):

This should not be needed anymore.
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::pageDidScroll):

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

4 years ago[Mac] Device picker menu should be persistent
eric.carlson@apple.com [Fri, 22 May 2015 19:14:48 +0000 (19:14 +0000)]
[Mac] Device picker menu should be persistent
https://bugs.webkit.org/show_bug.cgi?id=145311

Reviewed by Brent Fulgham.

* Modules/mediasession/WebMediaSessionManager.cpp:
(WebCore::WebMediaSessionManager::addPlaybackTargetPickerClient): Add logging.
(WebCore::WebMediaSessionManager::removePlaybackTargetPickerClient): Ditto.
(WebCore::WebMediaSessionManager::removeAllPlaybackTargetPickerClients): Ditto.
(WebCore::WebMediaSessionManager::showPlaybackTargetPicker): Ditto.
(WebCore::WebMediaSessionManager::clientStateDidChange): Ditto.
(WebCore::WebMediaSessionManager::externalOutputDeviceAvailableDidChange): Ditto.
(WebCore::WebMediaSessionManager::configurePlaybackTargetMonitoring): Ditto.

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::mediaState): Don't set ExternalDeviceAutoPlayCandidate unless
there is an event listener.

* platform/graphics/avfoundation/objc/MediaPlaybackTargetPickerMac.mm:
(WebCore::MediaPlaybackTargetPickerMac::~MediaPlaybackTargetPickerMac): Release the menu
controller and remove observers.
(WebCore::MediaPlaybackTargetPickerMac::create): Add logging.
(WebCore::MediaPlaybackTargetPickerMac::pendingActionTimerFired): Ditto.
(WebCore::MediaPlaybackTargetPickerMac::availableDevicesDidChange): Ditto.
(WebCore::MediaPlaybackTargetPickerMac::devicePicker): Ditto.
(WebCore::MediaPlaybackTargetPickerMac::showPlaybackTargetPicker): Ditto.
(WebCore::MediaPlaybackTargetPickerMac::addPendingAction): Start the timer after
a brief pause to debounce multiple identical notifications.
(WebCore::MediaPlaybackTargetPickerMac::currentDeviceDidChange): Add logging.
(WebCore::MediaPlaybackTargetPickerMac::startingMonitoringPlaybackTargets): Add logging.
(WebCore::MediaPlaybackTargetPickerMac::stopMonitoringPlaybackTargets): Don't release
the menu controller delegate.
(-[WebAVOutputDeviceMenuControllerHelper observeValueForKeyPath:ofObject:change:context:]): Add logging.

* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::setWirelessPlaybackTarget): Update logging.
(WebCore::MediaPlayerPrivateAVFoundationObjC::setShouldPlayToPlaybackTarget): Ditto.

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

4 years agobuild.webkit.org/dashboard: Simplify BuildbotQueueView creation code
ap@apple.com [Fri, 22 May 2015 19:03:54 +0000 (19:03 +0000)]
build.webkit.org/dashboard: Simplify BuildbotQueueView creation code
https://bugs.webkit.org/show_bug.cgi?id=145297

Reviewed by Tim Horton.

This is a refactoring to simplify code, and to make it more logical.

It is up to the view to decide how to present the queues, and whether to split
them into debug and release, or in some different way.

* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotBuilderQueueView.js:
(BuildbotBuilderQueueView.filterQueues):
(BuildbotBuilderQueueView):
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotLeaksQueueView.js:
(BuildbotLeaksQueueView):
(BuildbotLeaksQueueView.prototype.update):
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotPerformanceQueueView.js:
(BuildbotPerformanceQueueView):
(BuildbotPerformanceQueueView.prototype.update):
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotQueueView.js:
(BuildbotQueueView):
(BuildbotQueueView.prototype._updateQueues):
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotTesterQueueView.js:
(BuildbotTesterQueueView):
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Main.js:
(documentReady):

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

4 years agoBuild fix. Added a platform ifdef.
ap@apple.com [Fri, 22 May 2015 18:57:05 +0000 (18:57 +0000)]
Build fix. Added a platform ifdef.

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

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

4 years agoArguments elimination phase mishandles arity check failure in its reduction of LoadVa...
fpizlo@apple.com [Fri, 22 May 2015 18:48:03 +0000 (18:48 +0000)]
Arguments elimination phase mishandles arity check failure in its reduction of LoadVarargs to GetStack/PutStacks
https://bugs.webkit.org/show_bug.cgi?id=145298

Reviewed by Geoffrey Garen.

* dfg/DFGArgumentsEliminationPhase.cpp: Fix the bug. I restructured the loop to make it more obvious that we're initializing everything that we're supposed to initialize.
* dfg/DFGNode.h: Add a comment to clarify something I was confused about while writing this code.
* dfg/DFGPutStackSinkingPhase.cpp: Hacking on PutStacks made me think deep thoughts, and I added some FIXMEs.
* tests/stress/fold-load-varargs-arity-check-fail-barely.js: Added. This test crashes or fails before this patch.
* tests/stress/fold-load-varargs-arity-check-fail.js: Added. This is even more sure to crash or fail.
* tests/stress/simplify-varargs-mandatory-minimum-smaller-than-limit.js: Added. Not sure if we had coverage for this case before.

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

4 years agoRemove action menu support
timothy_horton@apple.com [Fri, 22 May 2015 18:43:42 +0000 (18:43 +0000)]
Remove action menu support
https://bugs.webkit.org/show_bug.cgi?id=145305
<rdar://problem/21070771>

Reviewed by Anders Carlsson.

* WebCore.xcodeproj/project.pbxproj:
* platform/spi/mac/NSMenuSPI.h:
* platform/spi/mac/NSViewSPI.h: Removed.
Remove some SPI.

* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit2/action-menu-target.pdf: Removed.
* TestWebKitAPI/Tests/WebKit2/action-menu-targets.html: Removed.
* TestWebKitAPI/Tests/WebKit2ObjC/ActionMenus.mm: Removed.
* TestWebKitAPI/Tests/WebKit2ObjC/ActionMenusBundle.mm: Removed.
* TestWebKitAPI/Tests/WebKit2ObjC/ActionMenusBundleSPI.h: Removed.
Remove the tests.

* WebKit.xcodeproj/project.pbxproj:
Remove some files.

* Configurations/WebKitLegacy.xcconfig:
* WebView/WebActionMenuController.h: Removed.
* WebView/WebActionMenuController.mm: Removed.
* WebView/WebHTMLView.mm:
(-[WebHTMLView otherMouseDown:]):
(-[WebHTMLView scrollWheel:scrollWheel:]): Deleted.
(-[WebHTMLView mouseDown:mouseDown:]): Deleted.
* WebView/WebUIDelegatePrivate.h:
* WebView/WebView.mm:
(-[WebView _commonInitializationWithFrameName:groupName:]): Deleted.
(-[WebView _close]): Deleted.
(-[WebView prepareForMenu:withEvent:]): Deleted.
(-[WebView willOpenMenu:withEvent:]): Deleted.
(-[WebView didCloseMenu:withEvent:]): Deleted.
(-[WebView _actionMenuController]): Deleted.
* WebView/WebViewData.h:
* WebView/WebViewData.mm:
(-[WebViewPrivate dealloc]): Deleted.
* WebView/WebViewInternal.h:
Remove everything, except some enums that clients still refer to.

* Configurations/WebKit.xcconfig:
* Shared/API/c/WKActionMenuItemTypes.h:
* Shared/API/c/WKActionMenuTypes.h:
* UIProcess/API/Cocoa/WKViewPrivate.h:
* UIProcess/API/mac/WKView.mm:
(-[WKView _didPerformImmediateActionHitTest:contentPreventsDefault:userData:]):
(-[WKView dealloc]): Deleted.
(-[WKView mouseDown:]): Deleted.
(-[WKView initWithFrame:processPool:configuration:webView:]): Deleted.
(-[WKView prepareForMenu:withEvent:]): Deleted.
(-[WKView willOpenMenu:withEvent:]): Deleted.
(-[WKView didCloseMenu:withEvent:]): Deleted.
(-[WKView _didPerformActionMenuHitTest:forImmediateAction:contentPreventsDefault:userData:]): Deleted.
(-[WKView _actionMenuItemsForHitTestResult:withType:defaultActionMenuItems:]): Deleted.
(-[WKView _actionMenuItemsForHitTestResult:withType:defaultActionMenuItems:userData:]): Deleted.
* UIProcess/API/mac/WKViewInternal.h:
* UIProcess/PageClient.h:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::performImmediateActionHitTestAtLocation):
(WebKit::WebPageProxy::didPerformImmediateActionHitTest):
(WebKit::WebPageProxy::performActionMenuHitTestAtLocation): Deleted.
(WebKit::WebPageProxy::selectLastActionMenuRange): Deleted.
(WebKit::WebPageProxy::focusAndSelectLastActionMenuHitTestResult): Deleted.
(WebKit::WebPageProxy::didPerformActionMenuHitTest): Deleted.
* UIProcess/WebPageProxy.h:
* UIProcess/WebPageProxy.messages.in:
* UIProcess/mac/PageClientImpl.h:
* UIProcess/mac/PageClientImpl.mm:
(WebKit::PageClientImpl::didPerformImmediateActionHitTest):
(WebKit::PageClientImpl::didPerformActionMenuHitTest): Deleted.
* UIProcess/mac/WKActionMenuController.h: Removed.
* UIProcess/mac/WKActionMenuController.mm: Removed.
* UIProcess/mac/WKImmediateActionController.h:
* UIProcess/mac/WKImmediateActionController.mm:
(-[WKImmediateActionController didPerformImmediateActionHitTest:contentPreventsDefault:userData:]):
(-[WKImmediateActionController immediateActionRecognizerWillPrepare:]):
(-[WKImmediateActionController immediateActionRecognizerWillBeginAnimation:]):
(-[WKImmediateActionController didPerformActionMenuHitTest:contentPreventsDefault:userData:]): Deleted.
* WebKit2.xcodeproj/project.pbxproj:
* WebProcess/InjectedBundle/API/APIInjectedBundlePageContextMenuClient.h:
(API::InjectedBundle::PageContextMenuClient::prepareForImmediateAction):
(API::InjectedBundle::PageContextMenuClient::prepareForActionMenu): Deleted.
* WebProcess/InjectedBundle/API/c/WKBundlePageContextMenuClient.h:
* WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.cpp:
* WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.h:
* WebProcess/InjectedBundle/InjectedBundlePageContextMenuClient.cpp:
(WebKit::InjectedBundlePageContextMenuClient::prepareForImmediateAction):
(WebKit::InjectedBundlePageContextMenuClient::prepareForActionMenu): Deleted.
* WebProcess/InjectedBundle/InjectedBundlePageContextMenuClient.h:
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/WebPage.messages.in:
* WebProcess/WebPage/WebPageOverlay.cpp:
(WebKit::WebPageOverlay::actionContextForResultAtPoint):
* WebProcess/WebPage/WebPageOverlay.h:
(WebKit::WebPageOverlay::Client::actionContextForResultAtPoint):
* WebProcess/WebPage/mac/WebPageMac.mm:
(WebKit::textIndicatorTransitionForImmediateAction):
(WebKit::WebPage::performImmediateActionHitTestAtLocation):
(WebKit::textIndicatorTransitionForActionMenu): Deleted.
(WebKit::WebPage::performActionMenuHitTestAtLocation): Deleted.
(WebKit::WebPage::selectLastActionMenuRange): Deleted.
(WebKit::WebPage::focusAndSelectLastActionMenuHitTestResult): Deleted.
Remove everything, except some enums that clients still refer to.
Also, leave SPI that used to be shared between immediate actions and
action menus intact, even if it had "action menu" in the name. We can
deprecate and rename in another patch... except for the very recently-added
support from r184106, which we'll revert entirely, removing WKBundlePageOverlayV2,
which was not adopted by any clients.

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

4 years agoMaskImageOperation code does not manage CachedImageClients correctly
antti@apple.com [Fri, 22 May 2015 17:41:46 +0000 (17:41 +0000)]
MaskImageOperation code does not manage CachedImageClients correctly
https://bugs.webkit.org/show_bug.cgi?id=145276
rdar://problem/20959822

* rendering/RenderLayerMaskImageInfo.cpp:
(WebCore::RenderLayer::MaskImageInfo::removeMaskImageClients):

    Followup fix: clear m_maskImageOperations vector.

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

4 years agoAllow DFGClobberize to return non-node constants that must be later created
basile_clement@apple.com [Fri, 22 May 2015 17:24:05 +0000 (17:24 +0000)]
Allow DFGClobberize to return non-node constants that must be later created
https://bugs.webkit.org/show_bug.cgi?id=145272

Reviewed by Filip Pizlo.

Source/JavaScriptCore:

This adds a new LazyNode class in DFG that represents either a Node*,
or a FrozenValue* with a way to convert it to a Node* provided a block
to insert it into. DFGClobberize is converted to use LazyNode instead
of Node* when def()'ing values, which allows to now define the array's
length as well as the value of its various fields in NewArray and
NewArrayBuffer nodes.

We also introduce a Vector<uint32_t> in DFG::Graph to collect all the
values that can be used as index, in order to avoid def()'ing too many
values at once for big NewArrayBuffers.

HeapLocation had to be updated to use a LazyNode as its index to be
able to define array values.

* CMakeLists.txt:
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
* JavaScriptCore.xcodeproj/project.pbxproj:
* dfg/DFGCSEPhase.cpp:
* dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
(JSC::DFG::DefMethodClobberize::operator()):
* dfg/DFGGraph.cpp:
(JSC::DFG::Graph::freezeFragile):
* dfg/DFGGraph.h:
* dfg/DFGHeapLocation.h:
(JSC::DFG::HeapLocation::HeapLocation):
(JSC::DFG::HeapLocation::index):
(JSC::DFG::HeapLocation::hash):
* dfg/DFGLazyNode.cpp: Added.
(JSC::DFG::LazyNode::dump):
* dfg/DFGLazyNode.h: Added.
(JSC::DFG::LazyNode::LazyNode):
(JSC::DFG::LazyNode::setNode):
(JSC::DFG::LazyNode::isHashTableDeletedValue):
(JSC::DFG::LazyNode::isNode):
(JSC::DFG::LazyNode::op):
(JSC::DFG::LazyNode::asNode):
(JSC::DFG::LazyNode::asValue):
(JSC::DFG::LazyNode::hash):
(JSC::DFG::LazyNode::operator==):
(JSC::DFG::LazyNode::operator!=):
(JSC::DFG::LazyNode::ensureIsNode):
(JSC::DFG::LazyNode::operator->):
(JSC::DFG::LazyNode::operator*):
(JSC::DFG::LazyNode::operator!):
(JSC::DFG::LazyNode::operator UnspecifiedBoolType*):
(JSC::DFG::LazyNode::setFrozenValue):
* dfg/DFGPreciseLocalClobberize.h:
(JSC::DFG::PreciseLocalClobberizeAdaptor::def):
* dfg/DFGPutStackSinkingPhase.cpp:

LayoutTests:

* js/regress/script-tests/cse-new-array-buffer.js: Added.
(foo):
* js/regress/script-tests/cse-new-array.js: Added.
(foo):

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

4 years agoRework how the ResourceRequest user initiated property key is used.
beidson@apple.com [Fri, 22 May 2015 17:24:04 +0000 (17:24 +0000)]
Rework how the ResourceRequest user initiated property key is used.
Followup to https://bugs.webkit.org/show_bug.cgi?id=145281
Source/WebCore:

Reviewed by NOBODY (OOPS!).

* platform/mac/WebCoreSystemInterface.h:

* platform/network/cf/ResourceRequest.h:
* platform/network/cf/ResourceRequestCFNet.cpp:
(WebCore::ResourceRequest::doUpdatePlatformRequest):
(WebCore::ResourceRequest::doUpdateResourceRequest):
(WebCore::ResourceRequest::isUserInitiatedKey):

* platform/network/cocoa/ResourceRequestCocoa.mm:
(WebCore::ResourceRequest::doUpdateResourceRequest):
(WebCore::ResourceRequest::doUpdatePlatformRequest):

Source/WebKit/mac:

Reviewed by NOBODY (OOPS!).

* WebCoreSupport/WebSystemInterface.mm:
(WKResourceRequestIsUserInitiatedKey): Deleted.
(InitWebCoreSystemInterface): Deleted.

Source/WebKit2:

Reviewed by NOBODY (OOPS!).

* Shared/API/Cocoa/_WKNSURLRequestExtras.mm:
(-[NSURLRequest _web_isUserInitiated]):
(-[NSMutableURLRequest _web_setIsUserInitiated:]):

* WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
(WKResourceRequestIsUserInitiatedKey): Deleted.
(InitWebCoreSystemInterface): Deleted.

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

4 years agoNetworking process sometimes suspended while WebContent runnable
barraclough@apple.com [Fri, 22 May 2015 17:19:39 +0000 (17:19 +0000)]
Networking process sometimes suspended while WebContent runnable
https://bugs.webkit.org/show_bug.cgi?id=145291
<rdar://problem/21033029>

Reviewed by Andreas Kling.

There is an asymmetry in how the Networking process suspension is managed.
We drop the assertion (& suspend the process) whenever the WebProcess says
it is ready to suspend, but we only take the assertion (& resume execution)
when the WebContent process is actually resumed. This leaves a race – where
the WebContent process was willing to be suspended, but the UI app changed
its mind suspending it. Since the WebContent process never actually suspended
(we only prepared it to), we never send a resume, and since we never resume,
we never wake the Networking process.

The fix is pretty clean. A web process should take a token on the networking
process precisely whenever it holds an assertion on the web content process.
This also enables a nice refinement, that when holding a BG assertion on the
WebContent process we only need to hold a BG assertion on the networking
process.

* UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::didSetAssertionState):
    - no-op
* UIProcess/Network/NetworkProcessProxy.h:
    - added didSetAssertionState.
* UIProcess/ProcessThrottler.cpp:
(WebKit::ProcessThrottler::updateAssertionNow):
(WebKit::ProcessThrottler::updateAssertion):
(WebKit::ProcessThrottler::didConnectToProcess):
    - whenever taking/updating the assertion, inform the client via didSetAssertionState.
* UIProcess/ProcessThrottlerClient.h:
    - added didSetAssertionState.
* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::didFinishLaunching):
    removed initializeNetworkProcessActivityToken - this is taken via ProcessThrottler::didConnectToProcess.
(WebKit::WebProcessProxy::sendProcessDidResume):
    - removed call to initializeNetworkProcessActivityToken - updated via didSetAssertionState.
(WebKit::WebProcessProxy::processReadyToSuspend):
    - removed update of m_tokenForNetworkProcess - updated via didSetAssertionState.
(WebKit::WebProcessProxy::didSetAssertionState):
    - update m_backgroundTokenForNetworkProcess/m_foregroundTokenForNetworkProcess.
(WebKit::WebProcessProxy::initializeNetworkProcessActivityToken): Deleted.
    - updated via didSetAssertionState.
* UIProcess/WebProcessProxy.h:
    - added didSetAssertionState, added separate FG/BG activity tokens for Networking process.

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

4 years agoFixed the fix for <rdar://problem/20830673> Symlink the WebKit dylib instead of just...
mitz@apple.com [Fri, 22 May 2015 17:09:12 +0000 (17:09 +0000)]
Fixed the fix for <rdar://problem/20830673> Symlink the WebKit dylib instead of just the framework directory
https://bugs.webkit.org/show_bug.cgi?id=145287

Reviewed by Anders Carlsson.

* WebKit2.xcodeproj/project.pbxproj: Give the symlink the correct destination.

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

4 years agoUnreviewed build fix for ENABLE(TREE_DEBUGGING)
zalan@apple.com [Fri, 22 May 2015 16:31:50 +0000 (16:31 +0000)]
Unreviewed build fix for ENABLE(TREE_DEBUGGING)

* editing/VisibleSelection.h:
* html/parser/HTMLElementStack.h:
* html/parser/HTMLFormattingElementList.h:

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

4 years agoRemoved the Use Shrink To Fit button from the toolbar’s default set.
mitz@apple.com [Fri, 22 May 2015 15:52:38 +0000 (15:52 +0000)]
Removed the Use Shrink To Fit button from the toolbar’s default set.

Rubber-stamped by Tim Horton.

* MiniBrowser/mac/BrowserWindow.xib:

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

4 years ago[GTK] Gardening 21st May.
commit-queue@webkit.org [Fri, 22 May 2015 11:36:38 +0000 (11:36 +0000)]
[GTK] Gardening 21st May.
https://bugs.webkit.org/show_bug.cgi?id=145250

Unreviewed.

Patch by Marcos Chavarría Teijeiro <mchavarria@igalia.com> on 2015-05-22

* platform/gtk/TestExpectations:

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

4 years ago[JSC] Speed up new array construction in Array.prototype.splice().
akling@apple.com [Fri, 22 May 2015 10:18:47 +0000 (10:18 +0000)]
[JSC] Speed up new array construction in Array.prototype.splice().
<https://webkit.org/b/145303>

Reviewed by Benjamin Poulain.

Give splice() a fast path just like slice(), for indexing types where the backing
store can be memcpy'd. I generalized JSArray::fastSlice() a little bit so it works
for this optimization as well.

7% progression on Kraken/stanford-crypto-pbkdf2.

* runtime/JSArray.h:
* runtime/JSArray.cpp:
(JSC::JSArray::fastSlice): Tweak this to return JSArray*, and don't bother throwing
out-of-memory exceptions. Let the caller worry about that.

* runtime/ArrayPrototype.cpp:
(JSC::arrayProtoFuncSlice): Update for fastSlice() changes.
(JSC::arrayProtoFuncSplice): If the object we're splicing out of is a bona fide
JSArray, use fastSlice() to create the returned array instead of doing a generic
get/put loop.

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

4 years ago[l10n] Add Catalan translation for WebKitGTK+
berto@igalia.com [Fri, 22 May 2015 08:15:34 +0000 (08:15 +0000)]
[l10n] Add Catalan translation for WebKitGTK+
https://bugs.webkit.org/show_bug.cgi?id=142928

Patch by Jordi Mas <jmas@softcatala.org> on 2015-05-22
Reviewed by Carlos Garcia Campos.

* ca.po: Added.

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

4 years agoAX: Figure out why list-detection2.html test fails on GTK
jdiggs@igalia.com [Fri, 22 May 2015 08:03:34 +0000 (08:03 +0000)]
AX: Figure out why list-detection2.html test fails on GTK
https://bugs.webkit.org/show_bug.cgi?id=145273

Reviewed by Chris Fleizach.

Source/WebCore:

Platforms which expose rendered text content through the parent element "ignore" the
child renderers. This was causing AccessibilityList::childHasPseudoVisibleListItemMarker
to fail, which in turn caused the list detection heuristic to fail. Therefore add one
final check to this method to look for non-empty, non-whitespace text under the ::before
pseudo element.

No new tests; list-detection2.html now passes on GTK.

* accessibility/AccessibilityList.cpp:
(WebCore::AccessibilityList::childHasPseudoVisibleListItemMarkers):

LayoutTests:

* platform/gtk/TestExpectations: Removed list-detection2.html from the list of expected failures.

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

4 years ago[iOS] Tell AVPlayerLayer when we enter optimized fullscreen mode.
jer.noble@apple.com [Fri, 22 May 2015 06:57:30 +0000 (06:57 +0000)]
[iOS] Tell AVPlayerLayer when we enter optimized fullscreen mode.
https://bugs.webkit.org/show_bug.cgi?id=145289

Reviewed by Eric Carlson.

AVFoundation would normally already know that its AVPlayerLayer is in optimized
fullscreen mode, but because of the WebProcess/UIProcess split, they need to be
told explicitly in the WebProcess when the UIProcess enters optimized fullscreen
mode.

* html/HTMLMediaElement.h:
* html/HTMLVideoElement.cpp:
(WebCore::HTMLVideoElement::fullscreenModeChanged): Pass to private().
* platform/graphics/MediaPlayer.cpp:
(WebCore::MediaPlayer::setVideoFullscreenMode): Pass to m_private.
(WebCore::MediaPlayer::fullscreenMode): Pass to m_client.
* platform/graphics/MediaPlayer.h:
(WebCore::MediaPlayerClient::mediaPlayerFullscreenMode): Default implementation returns None.
* platform/graphics/MediaPlayerPrivate.h:
(WebCore::MediaPlayerPrivateInterface::setVideoFullscreenMode): Default implementation is a no-op.
* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerLayer): Get the fullscreen
    mode from MediaPlayer and tell the AVPlayerLayer if the mode is optimized.
(WebCore::MediaPlayerPrivateAVFoundationObjC::setVideoFullscreenMode):
    Ditto.
* platform/spi/mac/AVFoundationSPI.h:

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

4 years agoCPS rethreading should really get rid of GetLocals
fpizlo@apple.com [Fri, 22 May 2015 06:32:30 +0000 (06:32 +0000)]
CPS rethreading should really get rid of GetLocals
https://bugs.webkit.org/show_bug.cgi?id=145290

Reviewed by Benjamin Poulain.

CPS rethreading is intended to get rid of redundant GetLocals. CSE can also do it, but
the idea is that you should be able to disable CSE and everything would still work. This
fixes a bug in CPS rethreading's GetLocal elimination: we should be calling replaceWith
rather than setReplacement, since setReplacement still leaves the original node.

* dfg/DFGCPSRethreadingPhase.cpp:
(JSC::DFG::CPSRethreadingPhase::canonicalizeGetLocalFor): Fix the bug.
* dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode): Eliminating GetLocals means that they turn into Check. We should handle Checks that have zero inputs.
* dfg/DFGValidate.cpp:
(JSC::DFG::Validate::validateCPS): Add a validation for what a GetLocal should look like in ThreadedCPS.
* tests/stress/get-local-elimination.js: Added.
(foo):

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

4 years agoAX: [GTK] Implement computedRoleString in AccessibilityUIElement
jdiggs@igalia.com [Fri, 22 May 2015 06:12:05 +0000 (06:12 +0000)]
AX: [GTK] Implement computedRoleString in AccessibilityUIElement
https://bugs.webkit.org/show_bug.cgi?id=128420

Reviewed by Chris Fleizach.

Source/WebCore:

Expose all ARIA roles (not just landmark-related roles) via an "xml-roles" AtkObject
attribute as per http://www.w3.org/TR/core-aam-1.1/#roleMappingGeneralRules

Expose non-empty computed role strings via AtkObject attribute named "computed-role".
Currently the computed role and the ARIA role value happen to be the same string, but
that might not always be the case. And AtkObject attributes are cheap.

Test: platform/gtk/accessibility/xml-roles-exposed.html.

* accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
(webkitAccessibleGetAttributes):

Tools:

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

LayoutTests:

* platform/gtk/TestExpectations: Removed roles-computedRoleString from the failing test.
* platform/gtk/accessibility/image-link-expected.txt: Updated to reflect the new object attribute.
* platform/gtk/accessibility/image-map2-expected.txt: Updated to reflect the new object attribute.
* platform/gtk/accessibility/lists-expected.txt: Updated to reflect the new object attribute.
* platform/gtk/accessibility/roles-computedRoleString-expected.txt: Added.
* platform/gtk/accessibility/table-attributes-expected.txt: Updated to reflect the new object attribute.
* platform/gtk/accessibility/table-cell-spans-expected.txt: Updated to reflect the new object attribute.
* platform/gtk/accessibility/table-cells-expected.txt: Updated to reflect the new object attribute.
* platform/gtk/accessibility/table-detection-expected.txt: Updated to reflect the new object attribute.
* platform/gtk/accessibility/table-sections-expected.txt: Updated to reflect the new object attribute.
* platform/gtk/accessibility/table-with-rules-expected.txt: Updated to reflect the new object attribute.
* platform/gtk/accessibility/xml-roles-exposed-expected.txt: Added.
* platform/gtk/accessibility/xml-roles-exposed.html: Added.

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

4 years agoWeb Inspector: Give Toolbar buttons an active style
commit-queue@webkit.org [Fri, 22 May 2015 04:35:11 +0000 (04:35 +0000)]
Web Inspector: Give Toolbar buttons an active style
https://bugs.webkit.org/show_bug.cgi?id=145292

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

* UserInterface/Views/ButtonToolbarItem.css:
(.toolbar .item.button:active):

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

4 years agoMaskImageOperation code does not manage CachedImageClients correctly
antti@apple.com [Fri, 22 May 2015 03:59:16 +0000 (03:59 +0000)]
MaskImageOperation code does not manage CachedImageClients correctly
https://bugs.webkit.org/show_bug.cgi?id=145276
Source/WebCore:

rdar://problem/20959822

Reviewed by Andreas Kling.

Test: css3/masking/mask-image-client-crash.html

* platform/graphics/MaskImageOperation.cpp:
(WebCore::MaskImageOperation::isMaskLoaded):
(WebCore::MaskImageOperation::setImage):

    If image changes transfer the clients to the new image.

(WebCore::MaskImageOperation::setRenderLayerImageClient):

    Always use setImage.

(WebCore::MaskImageOperation::notifyFinished):
* platform/graphics/MaskImageOperation.h:
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::calculateClipRects):
* rendering/RenderLayer.h:
* rendering/RenderLayerMaskImageInfo.cpp:
(WebCore::RenderLayer::MaskImageInfo::~MaskImageInfo):
(WebCore::RenderLayer::MaskImageInfo::updateMaskImageClients):

    Store the MaskImageOperations where we added clients.

(WebCore::RenderLayer::MaskImageInfo::removeMaskImageClients):

    Make sure we remove the clients from the same MaskImageOperations we added them to.

* rendering/RenderLayerMaskImageInfo.h:

LayoutTests:

Reviewed by Andreas Kling.

* css3/masking/mask-image-client-crash-expected.txt: Added.
* css3/masking/mask-image-client-crash.html: Added.

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

4 years agoWeb Inspector: Dashboard debugger information can be clipped
nvasilyev@apple.com [Fri, 22 May 2015 02:54:44 +0000 (02:54 +0000)]
Web Inspector: Dashboard debugger information can be clipped
https://bugs.webkit.org/show_bug.cgi?id=144209

Reviewed by Timothy Hatcher.

* UserInterface/Views/DashboardContainerView.css:
(.toolbar .dashboard-container):
Make dashboard flexible by using vw (viewport width units).

* UserInterface/Views/DefaultDashboardView.css:
(.toolbar .dashboard.default):
Center default dashboard icons in the middle, don't spread them along the dashboard.

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

4 years agoObject allocation sinking phase should explicitly create bottom values for CreateActi...
saambarati1@gmail.com [Fri, 22 May 2015 02:39:25 +0000 (02:39 +0000)]
Object allocation sinking phase should explicitly create bottom values for CreateActivation sink candidates and CreateActivation should have SymbolTable as a child node
https://bugs.webkit.org/show_bug.cgi?id=145192

Reviewed by Filip Pizlo.

When we sink CreateActivation and generate MaterializeCreateActivation
in the object allocation sinking phase, we now explictly add PutHints for
all variables on the activation setting those variables to their default value
(undefined for Function activations and soon to be JS Empty Value for block scope activations).
This allows us to remove code that fills FTL fast activation allocations with Undefined.

This patch also adds the constant SymbolTable as an OpInfo of CreateActivation and MaterializeCreateActivation
nodes. This is in preparation for ES6 block scoping which will introduce a new
op code that gets lowered to CreateActivation.

* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::parseBlock):
* dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
* dfg/DFGNode.h:
(JSC::DFG::Node::hasCellOperand):
(JSC::DFG::Node::cellOperand):
* dfg/DFGObjectAllocationSinkingPhase.cpp:
(JSC::DFG::ObjectAllocationSinkingPhase::lowerNonReadingOperationsOnPhantomAllocations):
(JSC::DFG::ObjectAllocationSinkingPhase::handleNode):
(JSC::DFG::ObjectAllocationSinkingPhase::createMaterialize):
(JSC::DFG::ObjectAllocationSinkingPhase::populateMaterialize):
* dfg/DFGPromotedHeapLocation.cpp:
(WTF::printInternal):
* dfg/DFGPromotedHeapLocation.h:
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileCreateActivation):
* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::compileCreateActivation):
(JSC::FTL::LowerDFGToLLVM::compileMaterializeCreateActivation):
* ftl/FTLOperations.cpp:
(JSC::FTL::operationMaterializeObjectInOSR):
* tests/stress/activation-sink-default-value.js: Added.
(bar):
* tests/stress/activation-sink-osrexit-default-value.js: Added.
(foo.set result):

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

4 years agoUpdate Autofill button icon
dbates@webkit.org [Fri, 22 May 2015 01:15:54 +0000 (01:15 +0000)]
Update Autofill button icon
https://bugs.webkit.org/show_bug.cgi?id=145191
<rdar://problem/20178942>

Reviewed by Jessie Berlin.

Source/WebCore:

* css/html.css:
(input::-webkit-auto-fill-button):
(input::-webkit-auto-fill-button:active):
(input::-webkit-auto-fill-button:hover):

LayoutTests:

Update expected results.

* fast/forms/input-auto-fill-button-expected.txt:
* platform/mac-mavericks/fast/forms/input-auto-fill-button-expected.txt:

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

4 years agoAdd an "initiated by user gesture" flag to ResourceRequest.
beidson@apple.com [Fri, 22 May 2015 00:35:53 +0000 (00:35 +0000)]
Add an "initiated by user gesture" flag to ResourceRequest.
https://bugs.webkit.org/show_bug.cgi?id=145281

Reviewed by Alex Christensen.

Source/WebCore:

Allow WebKit to tell WebCore what the new property key is:
* platform/ios/WebCoreSystemInterfaceIOS.mm:
* platform/mac/WebCoreSystemInterface.h:
* platform/mac/WebCoreSystemInterface.mm:

Add the flag to ResourceRequest, and make sure it encodes/decodes:
* platform/network/ResourceRequestBase.h:
(WebCore::ResourceRequestBase::initiatedByUserGesture):
(WebCore::ResourceRequestBase::setInitiatedByUserGesture):
(WebCore::ResourceRequestBase::encodeWithoutPlatformData):
(WebCore::ResourceRequestBase::decodeWithoutPlatformData):

Set/get the property on native CFURLRequestRefs:
* platform/network/cf/ResourceRequestCFNet.cpp:
(WebCore::ResourceRequest::doUpdatePlatformRequest):
(WebCore::ResourceRequest::doUpdateResourceRequest):

Set/get the property on native NSURLRequests:
* platform/network/cocoa/ResourceRequestCocoa.mm:
(WebCore::ResourceRequest::doUpdateResourceRequest):
(WebCore::ResourceRequest::doUpdatePlatformRequest):

Source/WebKit/mac:

* WebCoreSupport/WebSystemInterface.mm:
(WKResourceRequestIsUserInitiatedKey):
(InitWebCoreSystemInterface):

Source/WebKit2:

Expose a new category on NSURLRequest to allow SPI clients to easily set/get the flag:
* Shared/API/Cocoa/_WKNSURLRequestExtras.h: Added.
* Shared/API/Cocoa/_WKNSURLRequestExtras.mm: Added.
(-[NSURLRequest _web_isUserInitiated]):
(-[NSMutableURLRequest _web_setIsUserInitiated:]):

* WebKit2.xcodeproj/project.pbxproj:

Expose the new property key to WebCore:
* WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
(WKResourceRequestIsUserInitiatedKey):
(InitWebCoreSystemInterface):

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

4 years agoRollout <http://trac.webkit.org/changeset/183909>
dbates@webkit.org [Fri, 22 May 2015 00:34:12 +0000 (00:34 +0000)]
Rollout <http://trac.webkit.org/changeset/183909>
(https://bugs.webkit.org/show_bug.cgi?id=144657)

Revert <http://trac.webkit.org/changeset/183909> since pausing the database
thread prevents in-progress transactions from completing. We need to think
about this change some more.

Source/WebCore:

* Modules/webdatabase/AbstractDatabaseServer.h:
* Modules/webdatabase/DatabaseManager.cpp:
(WebCore::DatabaseManager::setPauseAllDatabases): Deleted.
* Modules/webdatabase/DatabaseManager.h:
* Modules/webdatabase/DatabaseServer.cpp:
(WebCore::DatabaseServer::setPauseAllDatabases): Deleted.
* Modules/webdatabase/DatabaseServer.h:

Source/WebKit2:

* UIProcess/WebPageProxy.h:
* UIProcess/ios/WKContentView.mm:
(-[WKContentView _applicationDidEnterBackground:]): Deleted.
* UIProcess/ios/WebPageProxyIOS.mm:
(WebKit::WebPageProxy::applicationDidEnterBackground): Deleted.
* WebProcess/WebCoreSupport/WebDatabaseManager.cpp:
(WebKit::WebDatabaseManager::setPauseAllDatabases): Deleted.
* WebProcess/WebCoreSupport/WebDatabaseManager.h:
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/WebPage.messages.in:
* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::applicationWillEnterForeground): Deleted.
(WebKit::WebPage::applicationDidEnterBackground): Deleted.

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

4 years ago[iOS] Crash when taking a snapshot of a large PDF.
enrica@apple.com [Fri, 22 May 2015 00:31:07 +0000 (00:31 +0000)]
[iOS] Crash when taking a snapshot of a large PDF.
https://bugs.webkit.org/show_bug.cgi?id=145286
rdar://problem/20892362

Reviewed by Tim Horton.

The code for the PDF case was incorrectly computing the snapshot rect.
On top of that drawViewHierarchyInRect was ignoring the rect and
always creating an image using the view bounds causing the crash.
We are now always using the IOSurface if we are parented or
an image context when we are not.

* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _snapshotRect:intoImageOfWidth:completionHandler:]):

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

4 years agoSymlink the WebKit dylib instead of just the framework directory
andersca@apple.com [Fri, 22 May 2015 00:29:48 +0000 (00:29 +0000)]
Symlink the WebKit dylib instead of just the framework directory
https://bugs.webkit.org/show_bug.cgi?id=145287
rdar://problem/20830673

Reviewed by Dan Bernstein.

* WebKit2.xcodeproj/project.pbxproj:

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

4 years agoWeb Inspector: Improve the UI of the type profiler popover
joepeck@webkit.org [Thu, 21 May 2015 23:33:42 +0000 (23:33 +0000)]
Web Inspector: Improve the UI of the type profiler popover
https://bugs.webkit.org/show_bug.cgi?id=140737

Reviewed by Timothy Hatcher.

Display TypeDescriptions in a Tree similiar to ObjectTrees.
Currently the only information we have in a TypeDescription
is the property names, and not their types, so all we can
display in the tree are names.

* Localizations/en.lproj/localizedStrings.js:
* UserInterface/Controllers/TypeTokenAnnotator.js:
(WebInspector.TypeTokenAnnotator.prototype._insertTypeToken):
* UserInterface/Main.html:
* UserInterface/Models/ScriptSyntaxTree.js:
(WebInspector.ScriptSyntaxTree.prototype.updateTypes):
* UserInterface/Models/StructureDescription.js: Added.
(WebInspector.StructureDescription):
(WebInspector.StructureDescription.fromPayload):
(WebInspector.StructureDescription.prototype.get fields):
(WebInspector.StructureDescription.prototype.get optionalFields):
(WebInspector.StructureDescription.prototype.get constructorName):
(WebInspector.StructureDescription.prototype.get prototypeStructure):
(WebInspector.StructureDescription.prototype.get imprecise):
* UserInterface/Models/TypeDescription.js: Added.
(WebInspector.TypeDescription):
(WebInspector.TypeDescription.fromPayload):
(WebInspector.TypeDescription.prototype.get leastCommonAncestor):
(WebInspector.TypeDescription.prototype.get typeSet):
(WebInspector.TypeDescription.prototype.get structures):
(WebInspector.TypeDescription.prototype.get valid):
(WebInspector.TypeDescription.prototype.get truncated):
* UserInterface/Models/TypeSet.js:
(WebInspector.TypeSet):
(WebInspector.TypeSet.prototype.get primitiveTypeNames):
* UserInterface/Views/ObjectTreeView.js:
(WebInspector.ObjectTreeView.prototype._updateChildren):
* UserInterface/Views/Section.css: Removed.
* UserInterface/Views/Section.js: Removed.
* UserInterface/Views/SourceCodeTextEditor.css:
(.popover .expandable):
* UserInterface/Views/SourceCodeTextEditor.js:
(WebInspector.SourceCodeTextEditor):
(WebInspector.SourceCodeTextEditor.prototype.showPopoverForTypes):
(WebInspector.SourceCodeTextEditor.prototype._populateWithScriptContent):
(WebInspector.SourceCodeTextEditor.prototype._tokenTrackingControllerHighlightedJavaScriptTypeInformation.handler):
(WebInspector.SourceCodeTextEditor.prototype._tokenTrackingControllerHighlightedJavaScriptTypeInformation):
(WebInspector.SourceCodeTextEditor.prototype._showPopoverForObject):
* UserInterface/Views/TypePropertiesSection.js: Removed.
* UserInterface/Views/TypeTokenView.js:
(WebInspector.TypeTokenView):
(WebInspector.TypeTokenView.titleForPopover):
(WebInspector.TypeTokenView.prototype.update):
(WebInspector.TypeTokenView.prototype._setUpMouseoverHandlers):
(WebInspector.TypeTokenView.prototype._shouldShowPopover):
(WebInspector.TypeTokenView.prototype._displayTypeName):
* UserInterface/Views/TypeTreeElement.css: Added.
(.type-tree-element):
(.type-tree-element > .titles):
(.type-tree-element > .disclosure-button):
(.type-tree-element.parent > .disclosure-button):
(.type-tree-element.parent.expanded > .disclosure-button):
(.type-tree-element > .icon):
(.type-tree-element.prototype):
(.type-tree-element.prototype:focus):
(.type-tree-element.prototype + ol):
* UserInterface/Views/TypeTreeElement.js: Added.
(WebInspector.TypeTreeElement):
(WebInspector.TypeTreeElement.prototype.get name):
(WebInspector.TypeTreeElement.prototype.get isPrototype):
(WebInspector.TypeTreeElement.prototype.onpopulate):
(WebInspector.TypeTreeElement.prototype.onexpand):
* UserInterface/Views/TypeTreeView.css: Renamed from Source/WebInspectorUI/UserInterface/Views/PropertiesSection.js.
(.type-tree):
(.type-tree-outline):
(.type-tree-outline li):
(.type-tree-outline ol):
(.type-tree-outline ol.expanded):
(.type-tree-outline li .empty-message):
* UserInterface/Views/TypeTreeView.js: Added.
(WebInspector.TypeTreeView):
(WebInspector.TypeTreeView.prototype.get typeDescription):
(WebInspector.TypeTreeView.prototype.get element):
(WebInspector.TypeTreeView.prototype.get treeOutline):
(WebInspector.TypeTreeView.prototype._populate):

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

4 years agor184718 and r184725 caused four tests to begin crashing
jacob_nielsen@apple.com [Thu, 21 May 2015 22:45:13 +0000 (22:45 +0000)]
r184718 and r184725 caused four tests to begin crashing

Unreviewed rollback.

Tests that started crashing:

svg/carto.net/textbox.svg svg/custom/tref-clone-crash.html svg/custom/use-animation-in-fill.html svg/custom/use-multiple-on-nested-disallowed-font.html

* svg/SVGAnimateElementBase.cpp:
(WebCore::propertyTypesAreConsistent):
* svg/SVGAnimatedPath.cpp:
(WebCore::SVGAnimatedPathAnimator::startAnimValAnimation):
* svg/SVGAnimatedTypeAnimator.h:
(WebCore::SVGAnimatedTypeAnimator::executeAction):
* svg/SVGAnimationElement.cpp:
(WebCore::SVGAnimationElement::parseAttribute):
* svg/SVGCursorElement.cpp:
(WebCore::SVGCursorElement::~SVGCursorElement):
(WebCore::SVGCursorElement::isSupportedAttribute):
* svg/SVGDocumentExtensions.cpp:
(WebCore::SVGDocumentExtensions::pauseAnimations):
(WebCore::SVGDocumentExtensions::unpauseAnimations):
(WebCore::SVGDocumentExtensions::dispatchSVGLoadEventToOutermostSVGElements):
(WebCore::SVGDocumentExtensions::isElementWithPendingResources):
(WebCore::SVGDocumentExtensions::removeElementFromPendingResources):
(WebCore::SVGDocumentExtensions::removeAllTargetReferencesForElement):
(WebCore::SVGDocumentExtensions::rebuildElements):
* svg/SVGElement.cpp:
(WebCore::populateAttributeNameToCSSPropertyIDMap):
(WebCore::populateAttributeNameToAnimatedPropertyTypeMap):
(WebCore::attributeNameToAnimatedPropertyTypeMap):
(WebCore::populateCSSPropertyWithSVGDOMNameToAnimatedPropertyTypeMap):
(WebCore::cssPropertyWithSVGDOMNameToAnimatedPropertyTypeMap):
(WebCore::hasLoadListener):
* svg/SVGFontData.cpp:
(WebCore::SVGFontData::applySVGGlyphSelection):
* svg/SVGFontElement.cpp:
(WebCore::SVGFontElement::registerLigaturesInGlyphCache):
(WebCore::SVGKerningMap::insert):
(WebCore::stringMatchesUnicodeRange):
* svg/SVGPathByteStream.h:
(WebCore::SVGPathByteStream::begin):
(WebCore::SVGPathByteStream::end):
(WebCore::SVGPathByteStream::append):
(WebCore::SVGPathByteStream::clear):
(WebCore::SVGPathByteStream::isEmpty):
* svg/SVGPathUtilities.cpp:
(WebCore::appendSVGPathByteStreamFromSVGPathSeg):
* svg/animation/SMILTimeContainer.cpp:
(WebCore::SMILTimeContainer::setElapsed):
(WebCore::SMILTimeContainer::updateAnimations):
* svg/animation/SVGSMILElement.cpp:
(WebCore::SVGSMILElement::parseBeginOrEnd):
(WebCore::SVGSMILElement::connectConditions):
(WebCore::SVGSMILElement::disconnectConditions):
(WebCore::SVGSMILElement::notifyDependentsIntervalChanged):
(WebCore::SVGSMILElement::createInstanceTimesFromSyncbase):
* svg/graphics/filters/SVGFilterBuilder.cpp:
(WebCore::SVGFilterBuilder::clearResultsRecursive):
* svg/graphics/filters/SVGFilterBuilder.h:
(WebCore::SVGFilterBuilder::addBuiltinEffects):
* svg/properties/SVGAnimatedProperty.cpp:
(WebCore::SVGAnimatedProperty::~SVGAnimatedProperty):
* svg/properties/SVGListProperty.h:
(WebCore::SVGListProperty::detachListWrappersAndResize):
* svg/properties/SVGPathSegListPropertyTearOff.cpp:
(WebCore::SVGPathSegListPropertyTearOff::clearContextAndRoles):

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

4 years agoScroll-snap points needs to be updated during programmatic scrolls
bfulgham@apple.com [Thu, 21 May 2015 19:37:50 +0000 (19:37 +0000)]
Scroll-snap points needs to be updated during programmatic scrolls
https://bugs.webkit.org/show_bug.cgi?id=145216
<rdar://problem/21051039>

Reviewed by Dean Jackson.

Whenever we adjust the current scroll position, make sure we also update the current
active scroll snap offset index (if applicable).

* platform/ScrollAnimator.cpp:
(WebCore::ScrollAnimator::scrollToOffsetWithoutAnimation): Call the new 'updateActiveScrollSnapIndexForOffset'
method after moving to a new position.
(WebCore::ScrollAnimator::setCurrentPosition): Ditto.
(WebCore::ScrollAnimator::updateActiveScrollSnapIndexForOffset): New method. Asks the scroll controller to
identify the closest scroll snap offset index. If it finds something relevant, update the ScrollableArea state
to track these new values.
* platform/ScrollAnimator.h:
* platform/cocoa/ScrollController.h:
(WebCore::ScrollController::activeScrollSnapIndexDidChange):
(WebCore::ScrollController::setScrollSnapIndexDidChange):
* platform/cocoa/ScrollController.mm:
(WebCore::ScrollController::setNearestScrollSnapIndexForAxisAndOffset): Added. Find the closest relevant scroll snap offset
index for the given scroll offset, and update the internal scroll snap state to reflect it.
(WebCore::ScrollController::setActiveScrollSnapIndicesForOffset): Given the x and y offset for a scroll,
set the relevant scroll snap offset indices.
* platform/mac/ScrollAnimatorMac.mm:
(WebCore::ScrollAnimatorMac::immediateScrollTo): Call the new 'updateActiveScrollSnapIndexForOffset' method
after moving to a new position.
(WebCore::ScrollAnimatorMac::immediateScrollBy): Ditto.

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

4 years agoWKWebsiteDataStore doesn't track and remove iOS Safari's offline application cache...
andersca@apple.com [Thu, 21 May 2015 19:12:17 +0000 (19:12 +0000)]
WKWebsiteDataStore doesn't track and remove iOS Safari's offline application cache entries
https://bugs.webkit.org/show_bug.cgi?id=145279
rdar://problem/20657912

Reviewed by Dan Bernstein.

Special-case iOS Safari and WebApp when computing the default application cache directory.

* UIProcess/API/Cocoa/APIWebsiteDataStoreCocoa.mm:
(API::applicationCacheDirectory):
(API::WebsiteDataStore::defaultDataStoreConfiguration):

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

4 years agoAdd a _WKWebKitContentExtensionStore initializer that takes a path.
bweinstein@apple.com [Thu, 21 May 2015 18:54:13 +0000 (18:54 +0000)]
Add a _WKWebKitContentExtensionStore initializer that takes a path.
https://bugs.webkit.org/show_bug.cgi?id=145269 and work towards <rdar://problem/21031414>

Reviewed by Anders Carlsson.

* UIProcess/API/APIUserContentExtensionStore.cpp:
(API::UserContentExtensionStore::storeWithPath):
* UIProcess/API/APIUserContentExtensionStore.h:
* UIProcess/API/Cocoa/_WKUserContentExtensionStore.h:
* UIProcess/API/Cocoa/_WKUserContentExtensionStore.mm:
(+[_WKUserContentExtensionStore storeWithURL:]):

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

4 years agoUnreviewed build fix.
mattbaker@apple.com [Thu, 21 May 2015 18:32:58 +0000 (18:32 +0000)]
Unreviewed build fix.

* svg/SVGAnimateElementBase.cpp:
(WebCore::propertyTypesAreConsistent): should be type.properties, not type.properties().

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

4 years ago[Streams API] Remove ReadableStreamReader closed promise internal slot
youenn.fablet@crf.canon.fr [Thu, 21 May 2015 18:08:34 +0000 (18:08 +0000)]
[Streams API] Remove ReadableStreamReader closed promise internal slot
https://bugs.webkit.org/show_bug.cgi?id=145215

Reviewed by Darin Adler.

Using the new JSPromiseDeferred member generated by binding generator to handle closed promise attribute.
Removed internal slots routines previously used to ensure persistency of the promise.

Existing tests cover the changes.

* bindings/js/JSReadableStreamReaderCustom.cpp:
(WebCore::JSReadableStreamReader::closed):
(WebCore::JSReadableStreamReader::cancel): Deleted.
(WebCore::JSReadableStreamReader::releaseLock): Deleted.
* bindings/js/ReadableJSStream.cpp:
(WebCore::getPropertyFromObject): Deleted.
(WebCore::callFunction): Deleted.
(WebCore::ReadableJSStream::Source::create): Deleted.
(WebCore::ReadableJSStream::Source::Source): Deleted.
* bindings/js/ReadableJSStream.h:

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

4 years agoMedia Controls stop updating after hovering for a few seconds.
roger_fong@apple.com [Thu, 21 May 2015 17:52:38 +0000 (17:52 +0000)]
Media Controls stop updating after hovering for a few seconds.
https://bugs.webkit.org/show_bug.cgi?id=144770.
<rdar://problem/19823121>

Reviewed by Jer Noble.

* Modules/mediacontrols/mediaControlsApple.js:
(Controller.prototype.createBase):
We should never hide controls immediately as a result of mousing out of the controls.
It should only happen when the mouse leaves the video entirely.
(Controller.prototype.updateTimelineMetricsIfNeeded):
Don’t update if controls are hidden, timeline dimensions will be 0.
(Controller.prototype.handlePanelTransitionEnd):
Instead of adjusting visibility via adding and removing classes,
remove controls entirely from the tree.
(Controller.prototype.showControls):
Add controls back into the tree when showing controls.
(Controller.prototype.updateForShowingControls):
Helper method for showControls.
(Controller.prototype.controlsAreHidden):
Controls also hidden if removed from tree.

Remove forceUpdate logic, no longer necessary.
(Controller.prototype.handleDurationChange):
(Controller.prototype.updateProgress):
(Controller.prototype.updateTime):

Override methods to use add and remove panelContainer for iOS.
* Modules/mediacontrols/mediaControlsiOS.js:
(ControllerIOS.prototype.handlePanelTransitionEnd):
(ControllerIOS.prototype.showControls):
(ControllerIOS.prototype.controlsAreHidden):

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

4 years agoAX: improve list heuristics (presentational use versus actual lists)
cfleizach@apple.com [Thu, 21 May 2015 17:45:48 +0000 (17:45 +0000)]
AX: improve list heuristics (presentational use versus actual lists)
https://bugs.webkit.org/show_bug.cgi?id=134187

Unreviewed layout test fixage.

Skip the list-detection2.html test on GTK until it can be investigated.
    https://bugs.webkit.org/show_bug.cgi?id=145273
Fix a failing test on GTK that needed an update after the last set of changes.
Skip the test on windows until a time someone can decide if we even expose or need lists in Windows AX API.
    https://bugs.webkit.org/show_bug.cgi?id=145271

* platform/gtk/TestExpectations:
* platform/gtk/accessibility/list-detection-expected.txt:
* platform/win/TestExpectations:

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

4 years agoRegression(r179293): We no longer call destroyDecodedData() on CachedResources on...
cdumez@apple.com [Thu, 21 May 2015 17:45:21 +0000 (17:45 +0000)]
Regression(r179293): We no longer call destroyDecodedData() on CachedResources on memory pressure
https://bugs.webkit.org/show_bug.cgi?id=145270
<rdar://problem/20734901>

Reviewed by Andreas Kling.

We no longer call destroyDecodedData() on CachedResources on memory
pressure after r179293. In r179293, we started calling
MemoryCache::evictResources() on memory pressure instead of
MemoryCache::pruneToPercentage(0). However, unlike
MemoryCache::pruneToPercentage(), it appears
MemoryCache::evictResources() removes the CachedResources from the
memory cache without calling destroyDecodedData() on them.
This caused a regression on Membuster.

This patch now calls MemoryCache::pruneLiveResourcesToSize(0) on
critical memory pressure, instead of evictResources(). We don't need to
call pruneDeadResourcesToSize(0) here because the non-critical memory
pressure handler already takes care of this.

During local testing, this change seemed to decrease the overall memory
usage of WebProcesses by ~10MB on Membuster (tested on Yosemite).

* platform/MemoryPressureHandler.cpp:
(WebCore::MemoryPressureHandler::releaseNoncriticalMemory):
(WebCore::MemoryPressureHandler::releaseCriticalMemory):

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

4 years agoSVG as image uses very tiny default font-size
commit-queue@webkit.org [Thu, 21 May 2015 17:36:32 +0000 (17:36 +0000)]
SVG as image uses very tiny default font-size
https://bugs.webkit.org/show_bug.cgi?id=68090

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

Source/WebCore:

When loading a document, WebKit creates a Page object and then changes its setting
from the browser's preferences. This is true for interactive resources also, such as a
stand-alone SVG or an SVG embedded in an <object> tag for example. For non-interactive
resources, like an SVG embedded in an <img> tag for example, this function is called
after loading the resource is finished. This function creates an artificial page and
fabricates a scoped settings for it. This turns out to be problematic for cases like
the default font size because its initial value is zero. We cannot go from WebCore to
WebKit to ask for the global settings. But we can inherit the global settings from the
the master page. This is not the best solution because of two reasons. (1) Once the
resource is cached and the styles for the text elements are calculated, nothing can
change the values of styles except removing the resource itself from the cache if the
browser's preferences change. Also there is no mechanism to notify this artificial
page if the browser's preferences change. (2) An image like a non-interactive SVG,
should be displayed the same way regardless of the browser's preferences. A user may
be able to change the default font size for other text. But this should not affect
images even if they are vector images like SVG. An easy and more agreeable solution
is to hard-code the default font size for this case and do not depend on the global
settings at all.

Test: svg/text/text-default-font-size.html

* page/Settings.in: Set the initial value of the setting defaultFontSize to be 16.

LayoutTests:

* svg/text/text-default-font-size-expected.html: Added.
* svg/text/text-default-font-size.html: Added.
Ensure the default font size for non-interactive SVG images is not zero.

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

4 years agoUse modern for-loops in WebCore/svg.
commit-queue@webkit.org [Thu, 21 May 2015 17:34:09 +0000 (17:34 +0000)]
Use modern for-loops in WebCore/svg.
https://bugs.webkit.org/show_bug.cgi?id=145209

Patch by Hunseop Jeong <hs85.jeong@samsung.com> on 2015-05-21
Reviewed by Darin Adler.

No new tests, no new tests.

* svg/SVGAnimateElementBase.cpp:
(WebCore::propertyTypesAreConsistent):
* svg/SVGAnimatedPath.cpp:
(WebCore::SVGAnimatedPathAnimator::startAnimValAnimation):
* svg/SVGAnimatedTypeAnimator.h:
(WebCore::SVGAnimatedTypeAnimator::executeAction):
* svg/SVGAnimationElement.cpp:
(WebCore::SVGAnimationElement::parseAttribute):
* svg/SVGCursorElement.cpp:
(WebCore::SVGCursorElement::~SVGCursorElement):
* svg/SVGDocumentExtensions.cpp:
(WebCore::SVGDocumentExtensions::pauseAnimations):
(WebCore::SVGDocumentExtensions::unpauseAnimations):
(WebCore::SVGDocumentExtensions::dispatchSVGLoadEventToOutermostSVGElements):
(WebCore::SVGDocumentExtensions::isElementWithPendingResources):
(WebCore::SVGDocumentExtensions::removeElementFromPendingResources):
(WebCore::SVGDocumentExtensions::removeAllTargetReferencesForElement):
* svg/SVGElement.cpp:
(WebCore::populateAttributeNameToCSSPropertyIDMap):
(WebCore::populateAttributeNameToAnimatedPropertyTypeMap):
(WebCore::populateCSSPropertyWithSVGDOMNameToAnimatedPropertyTypeMap):
(WebCore::hasLoadListener):
* svg/SVGFontData.cpp:
(WebCore::SVGFontData::applySVGGlyphSelection):
* svg/SVGFontElement.cpp:
(WebCore::SVGFontElement::registerLigaturesInGlyphCache):
(WebCore::SVGKerningMap::insert):
(WebCore::stringMatchesUnicodeRange):
* svg/SVGPathByteStream.h:
(WebCore::SVGPathByteStream::append):
* svg/animation/SMILTimeContainer.cpp:
(WebCore::SMILTimeContainer::setElapsed):
(WebCore::SMILTimeContainer::updateAnimations):
* svg/animation/SVGSMILElement.cpp:
(WebCore::SVGSMILElement::parseBeginOrEnd):
(WebCore::SVGSMILElement::connectConditions):
(WebCore::SVGSMILElement::disconnectConditions):
(WebCore::SVGSMILElement::notifyDependentsIntervalChanged):
(WebCore::SVGSMILElement::createInstanceTimesFromSyncbase):
* svg/graphics/filters/SVGFilterBuilder.cpp:
(WebCore::SVGFilterBuilder::clearResultsRecursive):
* svg/graphics/filters/SVGFilterBuilder.h:
(WebCore::SVGFilterBuilder::addBuiltinEffects):
* svg/properties/SVGAnimatedProperty.cpp:
(WebCore::SVGAnimatedProperty::~SVGAnimatedProperty):
* svg/properties/SVGListProperty.h:
(WebCore::SVGListProperty::detachListWrappersAndResize):
* svg/properties/SVGPathSegListPropertyTearOff.cpp:
(WebCore::SVGPathSegListPropertyTearOff::clearContextAndRoles):

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

4 years agoMSVC internal compiler error when compiling TemplateRegistryKey class.
peavo@outlook.com [Thu, 21 May 2015 17:27:47 +0000 (17:27 +0000)]
MSVC internal compiler error when compiling TemplateRegistryKey class.
https://bugs.webkit.org/show_bug.cgi?id=145259

Reviewed by Alex Christensen.

MSVC is not able to handle the brace initialization of a class member in this case.

* runtime/TemplateRegistryKey.h:

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

4 years agoBuild fix. Silence some deprecation warnings.
ap@apple.com [Thu, 21 May 2015 17:10:48 +0000 (17:10 +0000)]
Build fix. Silence some deprecation warnings.

* UIProcess/ios/forms/WKFileUploadPanel.mm:
(-[WKFileUploadPanel _presentPopoverWithContentViewController:animated:]):
* UIProcess/ios/forms/WKFormInputControl.mm:
(-[WKDateTimePopover initWithView:datePickerMode:]):
* UIProcess/ios/forms/WKFormPopover.h:
* UIProcess/ios/forms/WKFormPopover.mm:
* UIProcess/ios/forms/WKFormSelectPopover.mm:
(-[WKSelectPopover initWithView:hasGroups:]):

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

4 years agostreams/reference-implementation/readable-stream.html should now pass
youenn.fablet@crf.canon.fr [Thu, 21 May 2015 15:49:21 +0000 (15:49 +0000)]
streams/reference-implementation/readable-stream.html should now pass
https://bugs.webkit.org/show_bug.cgi?id=145266

Unreviewed.

* TestExpectations: removing falky expectation of streams/reference-implementation/readable-stream.html.

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

4 years agoFix the !ENABLE(ES6_TEMPLATE_LITERAL_SYNTAX) build after r184337
ossy@webkit.org [Thu, 21 May 2015 12:29:43 +0000 (12:29 +0000)]
Fix the !ENABLE(ES6_TEMPLATE_LITERAL_SYNTAX) build after r184337
https://bugs.webkit.org/show_bug.cgi?id=145248

Reviewed by Yusuke Suzuki.

* bytecompiler/BytecodeGenerator.cpp:
* bytecompiler/BytecodeGenerator.h:
* parser/Parser.cpp:
(JSC::Parser<LexerType>::parseMemberExpression):

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

4 years ago[EFL] Bump libsoup version to 2.50.0
ossy@webkit.org [Thu, 21 May 2015 12:28:22 +0000 (12:28 +0000)]
[EFL] Bump libsoup version to 2.50.0
https://bugs.webkit.org/show_bug.cgi?id=145127

Reviewed by Gyuyoung Kim.

* efl/jhbuild.modules:
* efl/patches/soup-clang-warning-fix1.patch: Removed.
* efl/patches/soup-clang-warning-fix2.patch: Removed.

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

4 years ago[EFL] Remove an unused private field from EwkPopupMenuItem class
ossy@webkit.org [Thu, 21 May 2015 10:51:59 +0000 (10:51 +0000)]
[EFL] Remove an unused private field from EwkPopupMenuItem class
https://bugs.webkit.org/show_bug.cgi?id=145249

Reviewed by Gyuyoung Kim.

* UIProcess/API/efl/ewk_popup_menu.cpp:
(EwkPopupMenu::EwkPopupMenu):
* UIProcess/API/efl/ewk_popup_menu_private.h:

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

4 years ago[EFL] Fix mismatched-tags warnings in UIProcess/API/efl
ossy@webkit.org [Thu, 21 May 2015 09:27:07 +0000 (09:27 +0000)]
[EFL] Fix mismatched-tags warnings in UIProcess/API/efl
https://bugs.webkit.org/show_bug.cgi?id=145129

Reviewed by Gyuyoung Kim.

* UIProcess/API/efl/EwkViewCallbacks.h:
* UIProcess/API/efl/ewk_application_cache_manager.h:
* UIProcess/API/efl/ewk_auth_request.h:
* UIProcess/API/efl/ewk_back_forward_list.h:
* UIProcess/API/efl/ewk_back_forward_list_item.h:
* UIProcess/API/efl/ewk_color_picker.h:
* UIProcess/API/efl/ewk_context.h:
* UIProcess/API/efl/ewk_context_menu_item.h:
* UIProcess/API/efl/ewk_cookie_manager.h:
* UIProcess/API/efl/ewk_database_manager.h:
* UIProcess/API/efl/ewk_download_job.h:
* UIProcess/API/efl/ewk_error.h:
* UIProcess/API/efl/ewk_favicon_database.h:
* UIProcess/API/efl/ewk_file_chooser_request.h:
* UIProcess/API/efl/ewk_form_submission_request.h:
* UIProcess/API/efl/ewk_navigation_data.h:
* UIProcess/API/efl/ewk_navigation_policy_decision.h:
* UIProcess/API/efl/ewk_object.h:
* UIProcess/API/efl/ewk_page_group.h:
* UIProcess/API/efl/ewk_popup_menu.h:
* UIProcess/API/efl/ewk_popup_menu_item.h:
* UIProcess/API/efl/ewk_security_origin.h:
* UIProcess/API/efl/ewk_settings.h:
* UIProcess/API/efl/ewk_storage_manager.h:
* UIProcess/API/efl/ewk_url_request.h:
* UIProcess/API/efl/ewk_url_response.h:
* UIProcess/API/efl/ewk_url_scheme_request.h:
* UIProcess/API/efl/ewk_view.h:
* UIProcess/API/efl/ewk_window_features.h:
* WebProcess/InjectedBundle/API/efl/ewk_extension.h:
* WebProcess/InjectedBundle/API/efl/ewk_page.h:

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

4 years agoPurge PassRefPtr in WebCore/Modules
gyuyoung.kim@webkit.org [Thu, 21 May 2015 07:26:55 +0000 (07:26 +0000)]
Purge PassRefPtr in WebCore/Modules
https://bugs.webkit.org/show_bug.cgi?id=145112

Reviewed by Darin Adler.

As a step to remove PassRefPtr, this patch replaces PassRefPtr with Ref or RefPtr
depends on null of return value.

No new tests, no behavior changes.

* Modules/encryptedmedia/MediaKeySession.cpp:
(WebCore::MediaKeySession::create):
* Modules/encryptedmedia/MediaKeySession.h:
* Modules/encryptedmedia/MediaKeys.cpp:
(WebCore::MediaKeys::create):
(WebCore::MediaKeys::createSession):
* Modules/encryptedmedia/MediaKeys.h:
* Modules/gamepad/Gamepad.h:
* Modules/gamepad/NavigatorGamepad.cpp:
(WebCore::NavigatorGamepad::gamepadFromPlatformGamepad):
* Modules/gamepad/deprecated/Gamepad.h:
* Modules/geolocation/GeolocationError.h:
(WebCore::GeolocationError::create):
* Modules/geolocation/GeolocationPosition.h:
(WebCore::GeolocationPosition::create):
* Modules/geolocation/Geoposition.h:
(WebCore::Geoposition::create):
* Modules/geolocation/PositionError.h:
(WebCore::PositionError::create):
* Modules/geolocation/PositionOptions.h:
(WebCore::PositionOptions::create):
* Modules/mediacontrols/MediaControlsHost.cpp:
(WebCore::MediaControlsHost::create):
* Modules/mediacontrols/MediaControlsHost.h:
* Modules/mediasource/MediaSource.cpp:
(WebCore::MediaSource::create):
* Modules/mediasource/MediaSource.h:
* Modules/mediastream/RTCDataChannel.cpp:
(WebCore::RTCDataChannel::create):
* Modules/mediastream/RTCDataChannel.h:
* Modules/mediastream/RTCIceCandidate.cpp:
(WebCore::RTCIceCandidate::create):
* Modules/mediastream/RTCIceCandidate.h:
* Modules/webaudio/OfflineAudioContext.cpp:
(WebCore::OfflineAudioContext::create):
* Modules/webaudio/OfflineAudioContext.h:
* Modules/webaudio/OfflineAudioDestinationNode.h:
(WebCore::OfflineAudioDestinationNode::create):
* Modules/webaudio/OscillatorNode.cpp:
(WebCore::OscillatorNode::create):
* Modules/webaudio/OscillatorNode.h:
* Modules/webdatabase/Database.cpp:
(WebCore::Database::runTransaction):
* Modules/webdatabase/DatabaseTracker.cpp:
(WebCore::DatabaseTracker::originLockFor):
* Modules/webdatabase/DatabaseTracker.h:
* Modules/webdatabase/SQLError.h:
(WebCore::SQLError::create):
* Modules/webdatabase/SQLResultSet.h:
(WebCore::SQLResultSet::create):
* Modules/webdatabase/SQLResultSetRowList.h:
(WebCore::SQLResultSetRowList::create):
* Modules/webdatabase/SQLStatementBackend.cpp:
(WebCore::SQLStatementBackend::create):
* Modules/webdatabase/SQLStatementBackend.h:
* Modules/webdatabase/SQLTransactionBackend.cpp:
(WebCore::SQLTransactionBackend::create):
* Modules/webdatabase/SQLTransactionBackend.h:
* Modules/websockets/ThreadableWebSocketChannelClientWrapper.cpp:
(WebCore::ThreadableWebSocketChannelClientWrapper::create):
* Modules/websockets/ThreadableWebSocketChannelClientWrapper.h:
* Modules/websockets/WebSocket.cpp:
(WebCore::WebSocket::create):
* Modules/websockets/WebSocket.h:
* Modules/websockets/WebSocketChannel.h:
(WebCore::WebSocketChannel::create):
* Modules/websockets/WorkerThreadableWebSocketChannel.h:
(WebCore::WorkerThreadableWebSocketChannel::create):
(WebCore::WorkerThreadableWebSocketChannel::Bridge::create):
* editing/InsertListCommand.h:
(WebCore::InsertListCommand::create):
* workers/Worker.cpp:
(WebCore::Worker::create):
* workers/Worker.h:
* xml/XPathExpression.cpp:
(WebCore::XPathExpression::createExpression):
(WebCore::XPathExpression::evaluate):
* xml/XPathExpression.h:

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

4 years agoFix mismatched-tags warnings related to CoordinatedGraphics
ossy@webkit.org [Thu, 21 May 2015 07:26:50 +0000 (07:26 +0000)]
Fix mismatched-tags warnings related to CoordinatedGraphics
https://bugs.webkit.org/show_bug.cgi?id=145130

Reviewed by Darin Adler.

* Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.h:
* UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.messages.in:
* WebProcess/WebPage/CoordinatedGraphics/ThreadedCoordinatedLayerTreeHost.h:

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

4 years ago[GTK] Move MainThreadGtk, RunLoopGtk, WorkQueueGtk under Source/WTF/wtf/glib/
zandobersek@gmail.com [Thu, 21 May 2015 05:55:21 +0000 (05:55 +0000)]
[GTK] Move MainThreadGtk, RunLoopGtk, WorkQueueGtk under Source/WTF/wtf/glib/
https://bugs.webkit.org/show_bug.cgi?id=145117

Reviewed by Csaba Osztrogonác.

Source/WTF:

Move the MainThreadGtk, RunLoopGtk and WorkQueueGtk implementation files from
Source/WTF/wtf/gtk/ to Source/WTF/wtf/glib/. These implementations are not
GTK-specific and only depend on GLib, so they are renamed as well.

There are other such implementations under Source/WTF/wtf/gobject/ (GObject
is just a subset of GLib) that will be moved under the new directory in
future patches.

* wtf/PlatformGTK.cmake:
* wtf/glib/MainThreadGLib.cpp: Renamed from Source/WTF/wtf/gtk/MainThreadGtk.cpp.
(WTF::initializeMainThreadPlatform):
(WTF::scheduleDispatchFunctionsOnMainThread):
* wtf/glib/RunLoopGLib.cpp: Renamed from Source/WTF/wtf/gtk/RunLoopGtk.cpp.
(WTF::RunLoop::RunLoop):
(WTF::RunLoop::~RunLoop):
(WTF::RunLoop::run):
(WTF::RunLoop::stop):
(WTF::RunLoop::wakeUp):
(WTF::RunLoop::TimerBase::TimerBase):
(WTF::RunLoop::TimerBase::~TimerBase):
(WTF::RunLoop::TimerBase::start):
(WTF::RunLoop::TimerBase::stop):
(WTF::RunLoop::TimerBase::isActive):
* wtf/glib/WorkQueueGLib.cpp: Renamed from Source/WTF/wtf/gtk/WorkQueueGtk.cpp.
(WTF::WorkQueue::platformInitialize):
(WTF::WorkQueue::platformInvalidate):
(WTF::WorkQueue::registerSocketEventHandler):
(WTF::WorkQueue::unregisterSocketEventHandler):
(WTF::WorkQueue::dispatch):
(WTF::WorkQueue::dispatchAfter):

Tools:

Rename the WorkQueueGtk.cpp file to WorkQueueGLib.cpp, and move it under
Tools/TestWebKitAPI/Tests/WTF/glib/.

* TestWebKitAPI/PlatformGTK.cmake:
* TestWebKitAPI/Tests/WTF/glib/WorkQueueGLib.cpp: Renamed from Tools/TestWebKitAPI/Tests/WTF/gtk/WorkQueueGtk.cpp.
(TestWebKitAPI::TEST):

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

4 years agoUnreviewed, rolling out r184667 and r184682.
commit-queue@webkit.org [Thu, 21 May 2015 05:52:18 +0000 (05:52 +0000)]
Unreviewed, rolling out r184667 and r184682.
https://bugs.webkit.org/show_bug.cgi?id=145245

Broke media/media-controls-timeline-updates.html on WebKit2
(Requested by ap on #webkit).

Reverted changesets:

"Media Controls stop updating after hovering for a few
seconds."
https://bugs.webkit.org/show_bug.cgi?id=144770
http://trac.webkit.org/changeset/184667

"Unreviewed. Media Controls stop updating after hovering for a
few seconds."
https://bugs.webkit.org/show_bug.cgi?id=144770
http://trac.webkit.org/changeset/184682

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

4 years ago[iOS] Update optimized fullscreen controls artwork
jonlee@apple.com [Thu, 21 May 2015 05:16:07 +0000 (05:16 +0000)]
[iOS] Update optimized fullscreen controls artwork
https://bugs.webkit.org/show_bug.cgi?id=145208
rdar://problem/21034032

Reviewed by Jer Noble.

Update the artwork when media goes into optimized fullscreen. Add a new UI part
representing return-from-optimized.

* Modules/mediacontrols/MediaControlsHost.cpp:
(WebCore::MediaControlsHost::mediaUIImageData): Return data for the return button.
* Modules/mediacontrols/MediaControlsHost.idl: Add a new part ID.
* Modules/mediacontrols/mediaControlsApple.js: Add a new ClassName to apply to the
button when in the proper state.
* Modules/mediacontrols/mediaControlsiOS.js:
(ControllerIOS.prototype.handlePresentationModeChange): Add the ClassName when the
video goes into optimized fullscreen mode. Remove it otherwise.
* platform/ios/WebCoreSystemInterfaceIOS.h:
* rendering/RenderThemeIOS.mm:
(WebCore::RenderThemeIOS::mediaControlsStyleSheet): Add the return button data to the
stylesheet.

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

4 years agoWeb Inspector: array previews should have a much smaller cap on values
commit-queue@webkit.org [Thu, 21 May 2015 05:13:03 +0000 (05:13 +0000)]
Web Inspector: array previews should have a much smaller cap on values
https://bugs.webkit.org/show_bug.cgi?id=145195

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

Source/JavaScriptCore:

* inspector/InjectedScriptSource.js:
(InjectedScript.RemoteObject.prototype._generatePreview):
Reduce the indexes threshold for previews.

LayoutTests:

* inspector/model/remote-object-expected.txt:
Update expected results now that array previews include
a smaller number of items.

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

4 years agoWeb Inspector: Fix WebInspector.StackTrace style
commit-queue@webkit.org [Thu, 21 May 2015 05:12:10 +0000 (05:12 +0000)]
Web Inspector: Fix WebInspector.StackTrace style
https://bugs.webkit.org/show_bug.cgi?id=145240

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

* UserInterface/Models/StackTrace.js:
Reorder and add our usual marker comments.

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

4 years agoWeb Inspector: Use native Arguments detection instead of using toString
commit-queue@webkit.org [Thu, 21 May 2015 05:12:04 +0000 (05:12 +0000)]
Web Inspector: Use native Arguments detection instead of using toString
https://bugs.webkit.org/show_bug.cgi?id=145235

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

* inspector/InjectedScriptSource.js:
(InjectedScript.prototype._subtype):
Deleted the old string code.

* inspector/JSInjectedScriptHost.cpp:
(Inspector::JSInjectedScriptHost::subtype):
Replaced with a stricter, more accurate check.

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

4 years agoUnreviewed GTK build fix since r184686.
gyuyoung.kim@webkit.org [Thu, 21 May 2015 04:48:07 +0000 (04:48 +0000)]
Unreviewed GTK build fix since r184686.

Patch by Gyuyoung Kim <gyuyoung.kim@webkit.org> on 2015-05-20

* UIProcess/gtk/WebProcessPoolGtk.cpp:
(WebKit::WebProcessPool::legacyPlatformDefaultApplicationCacheDirectory): Add *legacy* prefix.
(WebKit::WebProcessPool::platformDefaultApplicationCacheDirectory): Deleted.

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

4 years agoBuild fix after r184591.
rniwa@webkit.org [Thu, 21 May 2015 03:17:16 +0000 (03:17 +0000)]
Build fix after r184591.

* public/v2/manifest.js:

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

4 years agoUnreviewed EFL build fix since r184686.
gyuyoung.kim@webkit.org [Thu, 21 May 2015 03:09:24 +0000 (03:09 +0000)]
Unreviewed EFL build fix since r184686.

Patch by Gyuyoung Kim <gyuyoung.kim@webkit.org> on 2015-05-20

* UIProcess/efl/WebProcessPoolEfl.cpp:
(WebKit::WebProcessPool::legacyPlatformDefaultApplicationCacheDirectory): Add *legacy* prefix.
(WebKit::WebProcessPool::platformDefaultApplicationCacheDirectory): Deleted.

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

4 years ago[WK2][iOS] Update WebContent process sandbox profile for AWD logging
cdumez@apple.com [Thu, 21 May 2015 03:06:53 +0000 (03:06 +0000)]
[WK2][iOS] Update WebContent process sandbox profile for AWD logging
https://bugs.webkit.org/show_bug.cgi?id=145229
<rdar://problem/20543269>

Reviewed by Alexey Proskuryakov.

* Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:

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

4 years agodispatchViewStateChange should not wait for sync reply if the page isn't visible
barraclough@apple.com [Thu, 21 May 2015 02:36:28 +0000 (02:36 +0000)]
dispatchViewStateChange should not wait for sync reply if the page isn't visible
https://bugs.webkit.org/show_bug.cgi?id=145242
<rdar://problem/20967937>

Reviewed by Ben Poulain.

This is particularly problematic on iOS, since if the page isn't visible the process is likely suspended.

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::dispatchViewStateChange):
(WebKit::WebPageProxy::waitForDidUpdateViewState):

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

4 years ago[EFL] fix efreet error
hyuki.kim@samsung.com [Thu, 21 May 2015 02:33:15 +0000 (02:33 +0000)]
[EFL] fix efreet error
https://bugs.webkit.org/show_bug.cgi?id=143670

Reviewed by Gyuyoung Kim.

Fix efreet error by using external variable efreet_cache_update.
As 0 value of efreet_cache_update prevents monitoring of icon and desktop cache,
efreet error for efreet_cache does not occur.

* MiniBrowser/efl/main.c:
(elm_main):

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

4 years agoEnable disk cache for range requests
commit-queue@webkit.org [Thu, 21 May 2015 02:09:14 +0000 (02:09 +0000)]
Enable disk cache for range requests
https://bugs.webkit.org/show_bug.cgi?id=144682

Patch by Marcos Chavarría Teijeiro <mchavarria@igalia.com> on 2015-05-20
Reviewed by Antti Koivisto.

Source/WebKit2:

Add Range header value to the network cache key constructor so we take
into account this value. The 206 response code is also marked to be cached.

* NetworkProcess/cache/NetworkCache.cpp:
(WebKit::NetworkCache::makeCacheKey):
(WebKit::NetworkCache::isStatusCodeCacheableByDefault):
* NetworkProcess/cache/NetworkCacheKey.cpp:
(WebKit::NetworkCache::Key::Key):
(WebKit::NetworkCache::Key::operator=):
(WebKit::NetworkCache::Key::computeHash):
(WebKit::NetworkCache::Key::operator==):
(WebKit::NetworkCache::Key::encode):
(WebKit::NetworkCache::Key::decode):
(WebKit::NetworkCache::Key::stringToHash): Deleted.
* NetworkProcess/cache/NetworkCacheKey.h:

LayoutTests:

* http/tests/cache/disk-cache/disk-cache-range-expected.txt: Added. Add Test.
* http/tests/cache/disk-cache/disk-cache-range.html: Added.
* http/tests/cache/disk-cache/resources/generate-response.cgi: Modify script to return 206 and 416 response codes if Range header is present.
* platform/gtk/TestExpectations: Remove failing test.

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

4 years agoWKWebsiteDataStore API doesn't report webkit.org as using Databases or App Cache...
andersca@apple.com [Thu, 21 May 2015 01:30:18 +0000 (01:30 +0000)]
WKWebsiteDataStore API doesn't report webkit.org as using Databases or App Cache after visiting webkit.org/demos/sticky-notes/
https://bugs.webkit.org/show_bug.cgi?id=145238
rdar://problem/20581175

Reviewed by Tim Horton.

Make sure to set the application cache and WebSQL directories when using the legacy data store.

* UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::WebProcessPool::legacyPlatformDefaultApplicationCacheDirectory):
(WebKit::WebProcessPool::platformDefaultApplicationCacheDirectory):
Rename this and move it to the right place.

* UIProcess/WebProcessPool.cpp:
(WebKit::legacyWebsiteDataStoreConfiguration):
Rename this and add the application cache and WebSQL directories.

(WebKit::WebProcessPool::WebProcessPool):
Call legacyWebsiteDataStoreConfiguration.

(WebKit::WebProcessPool::applicationCacheDirectory):
Call legacyPlatformDefaultApplicationCacheDirectory.

* UIProcess/WebProcessPool.h:

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

4 years agoLabel text for default buttons don’t have the correct white color
dino@apple.com [Thu, 21 May 2015 01:28:31 +0000 (01:28 +0000)]
Label text for default buttons don’t have the correct white color
https://bugs.webkit.org/show_bug.cgi?id=145221
<rdar://problem/20985817>

Follow-up commit. After discussion with the AppKit team, we've
concluded that a solid white is the color that best matches
the system.

* rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::systemColor): Use Color::white.

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

4 years ago[ContentExtensions] Properly initialize ActionKey.state
achristensen@apple.com [Thu, 21 May 2015 01:15:43 +0000 (01:15 +0000)]
[ContentExtensions] Properly initialize ActionKey.state
https://bugs.webkit.org/show_bug.cgi?id=145237
rdar://problem/20716683

Reviewed by Benjamin Poulain.

* contentextensions/DFAMinimizer.cpp:
Initialize ActionKey.state to Valid if it is a valid ActionKey.
Inlining can now be done safely.

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

4 years agoAdd option to run_jsc_stress_tests to disable JIT testing
msaboff@apple.com [Thu, 21 May 2015 01:14:16 +0000 (01:14 +0000)]
Add option to run_jsc_stress_tests to disable JIT testing
https://bugs.webkit.org/show_bug.cgi?id=145233

Reviewed by Mark Lam.

Added --no-jit option.

* Scripts/run-jsc-stress-tests:

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

4 years agoUnreviewed. Media Controls stop updating after hovering for a few seconds.
roger_fong@apple.com [Thu, 21 May 2015 00:58:25 +0000 (00:58 +0000)]
Unreviewed. Media Controls stop updating after hovering for a few seconds.
https://bugs.webkit.org/show_bug.cgi?id=144770.
<rdar://problem/19823121>

Followup to r184667.
* Modules/mediacontrols/mediaControlsApple.js:
(Controller.prototype.showControls):
Only put controls back into the tree if they don’t yet exist in the tree.
Otherwise we interrupt operations like scrubbing.

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

4 years ago[iOS] Using CSS viewport units causes incorrect layout.
enrica@apple.com [Thu, 21 May 2015 00:52:33 +0000 (00:52 +0000)]
[iOS] Using CSS viewport units causes incorrect layout.
https://bugs.webkit.org/show_bug.cgi?id=145225
rdar://problem/20924495

Reviewed by Benjamin Poulain.

Source/WebCore:

* page/ViewportConfiguration.cpp:
(WebCore::ViewportConfiguration::initialScaleFromSize):
(WebCore::ViewportConfiguration::initialScale):
(WebCore::ViewportConfiguration::initialScaleIgnoringContentSize):
* page/ViewportConfiguration.h:
(WebCore::ViewportConfiguration::initialScaleFromSize):
(WebCore::ViewportConfiguration::initialScaleIgnoringContentSize):

Source/WebKit2:

* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::updateViewportSizeForCSSViewportUnits):

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

4 years agoFix build.
andersca@apple.com [Thu, 21 May 2015 00:51:34 +0000 (00:51 +0000)]
Fix build.

* WebView/WebViewInternal.h:

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

4 years agoAllow overriding the waitForDidUpdateViewState timeout
timothy_horton@apple.com [Thu, 21 May 2015 00:14:00 +0000 (00:14 +0000)]
Allow overriding the waitForDidUpdateViewState timeout
https://bugs.webkit.org/show_bug.cgi?id=145230
<rdar://problem/20990162>

Reviewed by Darin Adler.

* UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm:
(WebKit::RemoteLayerTreeDrawingAreaProxy::waitForDidUpdateViewState):
Use the value from NSUserDefaults, if it exists.
We'll only check once, so changing the default requires a restart of the UI process.

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

4 years agoUnreviewed build fix; LocalizedStrings.h is in WebCore.
achristensen@apple.com [Thu, 21 May 2015 00:11:27 +0000 (00:11 +0000)]
Unreviewed build fix; LocalizedStrings.h is in WebCore.

* WebView/WebActionMenuController.mm:

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

4 years agoMake sure we always have a process pool to perform data store operations with
andersca@apple.com [Thu, 21 May 2015 00:10:57 +0000 (00:10 +0000)]
Make sure we always have a process pool to perform data store operations with
https://bugs.webkit.org/show_bug.cgi?id=145231
rdar://problem/20618248

Reviewed by Tim Horton.

Make sure that we always return a process pool. If we're a legacy C SPI per-context data store,
find the process pool we're a part of and use that. Otherwise, create a new one.

* UIProcess/WebsiteData/WebsiteDataStore.cpp:
(WebKit::WebsiteDataStore::processPools):

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

4 years agoAX: improve list heuristics (presentational use versus actual lists)
cfleizach@apple.com [Wed, 20 May 2015 23:42:08 +0000 (23:42 +0000)]
AX: improve list heuristics (presentational use versus actual lists)
https://bugs.webkit.org/show_bug.cgi?id=134187

Reviewed by Darin Adler.

Source/WebCore:

Improve heuristics for list detection by:
    1. Not exposing lists without list markers (unless explicitly marked as lists)
    2. Recognizing css: before-content as list markers

Test: accessibility/list-detection2.html

* accessibility/AccessibilityList.cpp:
(WebCore::AccessibilityList::isDescriptionList):
(WebCore::AccessibilityList::childHasPseudoVisibleListItemMarkers):
(WebCore::AccessibilityList::determineAccessibilityRole):
* accessibility/AccessibilityList.h:

LayoutTests:

* accessibility/list-detection-expected.txt:
* accessibility/list-detection.html:
* accessibility/list-detection2-expected.txt: Added.
* accessibility/list-detection2.html: Added.

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

4 years agoREGRESSION (r172591): Can no longer style <optgroup> with colors (LayoutTests/fast...
antti@apple.com [Wed, 20 May 2015 23:34:48 +0000 (23:34 +0000)]
REGRESSION (r172591): Can no longer style <optgroup> with colors (LayoutTests/fast/forms/select/optgroup-rendering.html)
https://bugs.webkit.org/show_bug.cgi?id=145227
Source/WebCore:

rdar://problem/20967472

Reviewed by Darin Adler.

Test: fast/forms/select/select-painting.html

Use computedStyle() consistently for option and optgroup items.

* rendering/RenderListBox.cpp:
(WebCore::RenderListBox::paintItemForeground):
(WebCore::RenderListBox::paintItemBackground):

    We can always use computedStyle() and it can't be null. If there was renderer style it would return that.

* rendering/RenderMenuList.cpp:
(RenderMenuList::itemStyle):
(RenderMenuList::getItemBackgroundColor):

LayoutTests:

Reviewed by Darin Adler.

Add ref test for select painting.

* fast/forms/select/select-painting-expected.html: Added.
* fast/forms/select/select-painting.html: Added.

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

4 years agoUnreviewed build fix; WebActionMenuController.mm should directly include LocalizedStr...
jer.noble@apple.com [Wed, 20 May 2015 23:33:07 +0000 (23:33 +0000)]
Unreviewed build fix; WebActionMenuController.mm should directly include LocalizedStrings.h

* WebView/WebActionMenuController.mm:

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

4 years agoTouching HTMLMediaElement.h or MediaPlayer.h causes a world rebuild.
jer.noble@apple.com [Wed, 20 May 2015 23:12:09 +0000 (23:12 +0000)]
Touching HTMLMediaElement.h or MediaPlayer.h causes a world rebuild.
https://bugs.webkit.org/show_bug.cgi?id=145193

Reviewed by Eric Carlson.

Source/WebCore:

HTMLMediaElement.h and MediaPlayer.h are included in a number of headers solely for access to the enums
defined within the classes contained within. Move these enums into their own--otherwise empty--classes.
Then add `using` declarations to pull those inherited enums back into the namespace of HTMLMediaElement
and MediaPlayer.

Classes and headers which do not need to directly include HTMLMediaElement.h can now include HTMLMediaElementEnums.h
instead; the same goes for MediaPlayer.h and MediaPlayerEnums.h.

* WebCore.xcodeproj/project.pbxproj: Add new files to project.
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::TrackGroup::TrackGroup): Move definition here from the header.
* html/HTMLMediaElement.h:
(WebCore::HTMLMediaElement::videoFullscreenGravity): MediaPlayer -> MediaPlayerEnums.
(WebCore::HTMLMediaElement::preloadValue): Ditto.
(WebCore::HTMLMediaElement::TrackGroup::TrackGroup): Deleted; moved to implementation file.
* html/HTMLMediaElementEnums.h: Added.
* html/MediaControllerInterface.h: Inherit from HTMLMediaElementEnums.
* page/ChromeClient.h: HTMLMediaElement -> HTMLMediaElementEnums.
* platform/graphics/MediaPlayer.h: MediaPlayer -> MediaPlayerEnums.
* platform/graphics/MediaPlayerEnums.h: Added.
* platform/ios/WebVideoFullscreenControllerAVKit.h:
* platform/ios/WebVideoFullscreenControllerAVKit.mm:
(-[WebVideoFullscreenController enterFullscreen:mode:]): HTMLMediaElement -> HTMLMediaElementEnums.
* platform/ios/WebVideoFullscreenInterfaceAVKit.h:
* platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
(WebVideoFullscreenInterfaceAVKit::setupFullscreen): Ditto.
(WebVideoFullscreenInterfaceAVKit::setupFullscreenInternal): Ditto.
(WebVideoFullscreenInterfaceAVKit::enterFullscreen): Ditto.
(WebVideoFullscreenInterfaceAVKit::exitFullscreenInternal): Ditto.
(WebVideoFullscreenInterfaceAVKit::cleanupFullscreenInternal): Ditto.
(WebVideoFullscreenInterfaceAVKit::requestHideAndExitFullscreen): Ditto.
(WebVideoFullscreenInterfaceAVKit::mayAutomaticallyShowVideoOptimized): Ditto.
(WebVideoFullscreenInterfaceAVKit::willStartOptimizedFullscreen): Ditto.
(WebVideoFullscreenInterfaceAVKit::didStopOptimizedFullscreen): Ditto.
(WebVideoFullscreenInterfaceAVKit::didCancelOptimizedFullscreen): Ditto.
(WebVideoFullscreenInterfaceAVKit::setMode): Ditto.
(WebVideoFullscreenInterfaceAVKit::clearMode): Ditto.
* platform/ios/WebVideoFullscreenModel.h:
* platform/ios/WebVideoFullscreenModelVideoElement.h:
* platform/ios/WebVideoFullscreenModelVideoElement.mm:
(WebVideoFullscreenModelVideoElement::setVideoElement): Ditto.
(WebVideoFullscreenModelVideoElement::fullscreenModeChanged): Ditto.

Source/WebKit/mac:

Use HTMLMediaElementEnums instead of HTMLMediaElement.

* WebCoreSupport/WebChromeClient.h:
* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::enterVideoFullscreenForVideoElement): HTMLMediaElement -> HTMLMediaElementEnums.
* WebView/WebView.mm:
(-[WebView _enterVideoFullscreenForVideoElement:mode:]): Ditto.
* WebView/WebViewInternal.h:

Source/WebKit2:

Use HTMLMediaElementEnums instead of HTMLMediaElement.

* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _isShowingVideoOptimized]): HTMLMediaElement -> HTMLMediaElementEnums.
* UIProcess/ios/WebVideoFullscreenManagerProxy.h:
* UIProcess/ios/WebVideoFullscreenManagerProxy.messages.in:
* UIProcess/ios/WebVideoFullscreenManagerProxy.mm:
(WebKit::WebVideoFullscreenManagerProxy::hasMode): Ditto.
(WebKit::WebVideoFullscreenModelContext::fullscreenModeChanged): Ditto.
(WebKit::WebVideoFullscreenManagerProxy::setupFullscreenWithID): Ditto.
(WebKit::WebVideoFullscreenManagerProxy::fullscreenModeChanged): Ditto.
* WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::enterVideoFullscreenForVideoElement): Ditto.
* WebProcess/WebCoreSupport/WebChromeClient.h:
* WebProcess/ios/WebVideoFullscreenManager.h:
(WebKit::WebVideoFullscreenInterfaceContext::fullscreenMode): Ditto.
(WebKit::WebVideoFullscreenInterfaceContext::setFullscreenMode): Ditto.
* WebProcess/ios/WebVideoFullscreenManager.messages.in:
* WebProcess/ios/WebVideoFullscreenManager.mm:
(WebKit::WebVideoFullscreenManager::enterVideoFullscreenForVideoElement): Ditto.
(WebKit::WebVideoFullscreenManager::fullscreenModeChanged): Ditto.
(WebKit::WebVideoFullscreenManager::didCleanupFullscreen): Ditto.

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

4 years agoRefactor process pool enumeration code in WebsiteDataStore
andersca@apple.com [Wed, 20 May 2015 23:04:15 +0000 (23:04 +0000)]
Refactor process pool enumeration code in WebsiteDataStore
https://bugs.webkit.org/show_bug.cgi?id=145218

Reviewed by Tim Horton.

Also make sure to keep the WebProcessPool objects alive for the duration of the various data store
operations. This is the first step towards having the data store create a single process pool lazily if
there are no web views associated with the data store.

* UIProcess/WebsiteData/WebsiteDataStore.cpp:
(WebKit::WebsiteDataStore::fetchData):
(WebKit::WebsiteDataStore::removeData):
(WebKit::WebsiteDataStore::processPools):
* UIProcess/WebsiteData/WebsiteDataStore.h:

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

4 years agoUse correct String for StringView in WTF API tests
achristensen@apple.com [Wed, 20 May 2015 23:01:24 +0000 (23:01 +0000)]
Use correct String for StringView in WTF API tests
https://bugs.webkit.org/show_bug.cgi?id=145226
rdar://problem/20361786

Reviewed by Benjamin Poulain.

* TestWebKitAPI/Tests/WTF/StringView.cpp:
(TestWebKitAPI::TEST):
Use patternHolder for pattern.

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

4 years agoMedia Controls stop updating after hovering for a few seconds.
roger_fong@apple.com [Wed, 20 May 2015 22:40:16 +0000 (22:40 +0000)]
Media Controls stop updating after hovering for a few seconds.
https://bugs.webkit.org/show_bug.cgi?id=144770.
<rdar://problem/19823121>

Reviewed by Jer Noble.

* Modules/mediacontrols/mediaControlsApple.js:
(Controller.prototype.createBase):
We should never hide controls immediately as a result of mousing out of the controls.
It should only happen when the mouse leaves the video entirely.
(Controller.prototype.updateTimelineMetricsIfNeeded):
Don’t update if controls are hidden, timeline dimensions will be 0.
(Controller.prototype.handlePanelTransitionEnd):
Instead of adjusting visibility via adding and removing classes,
remove controls entirely from the tree.
(Controller.prototype.showControls):
Add controls back into the tree when showing controls.
(Controller.prototype.updateForShowingControls):
Helper method for showControls.
(Controller.prototype.controlsAreHidden):
Controls also hidden if removed from tree.
Remove forceUpdate logic, no longer necessary.
(Controller.prototype.handleDurationChange):
(Controller.prototype.updateProgress):
(Controller.prototype.updateTime):

Override methods to use add and remove panelContainer for iOS.
* Modules/mediacontrols/mediaControlsiOS.js:
(ControllerIOS.prototype.handlePanelTransitionEnd):
(ControllerIOS.prototype.showControls):
(ControllerIOS.prototype.controlsAreHidden):

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

4 years agoRemove unused MarkedBlock::m_rememberedSet.
akling@apple.com [Wed, 20 May 2015 22:25:20 +0000 (22:25 +0000)]
Remove unused MarkedBlock::m_rememberedSet.
<https://webkit.org/b/145224>

Reviewed by Mark Hahnenberg.

The MarkedBlock had a copy of the remembered bit for each of its cells,
and we were maintaining that bitmap despite no one actually ever consulting it.

This patch removes MarkedBlock::m_rememberedSet, freeing up 128 bytes in each
block and making write barriers a little faster.

* heap/Heap.cpp:
(JSC::Heap::clearRememberedSet):
(JSC::Heap::addToRememberedSet):
* heap/HeapInlines.h:
(JSC::Heap::isRemembered):
* heap/MarkedBlock.cpp:
(JSC::MarkedBlock::clearRememberedSet): Deleted.
(JSC::MarkedBlock::clearMarksWithCollectionType):
* heap/MarkedBlock.h:
(JSC::MarkedBlock::setRemembered): Deleted.
(JSC::MarkedBlock::clearRemembered): Deleted.
(JSC::MarkedBlock::atomicClearRemembered): Deleted.
(JSC::MarkedBlock::isRemembered): Deleted.
* heap/MarkedSpace.h:
(JSC::ClearRememberedSet::operator()): Deleted.
(JSC::MarkedSpace::clearRememberedSet): Deleted.

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

4 years agoUpgrading WordPress to 4.2.2 release.
jond@apple.com [Wed, 20 May 2015 22:23:23 +0000 (22:23 +0000)]
Upgrading WordPress to 4.2.2 release.

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

4 years agoBuild fix. Use POSIX timestamp instead of human readable string for the commit time.
rniwa@webkit.org [Wed, 20 May 2015 22:07:14 +0000 (22:07 +0000)]
Build fix. Use POSIX timestamp instead of human readable string for the commit time.

* public/include/build-requests-fetcher.php:

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