WebKit-https.git
5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 years ago[Mac] inform media session of all state changes
eric.carlson@apple.com [Wed, 20 May 2015 21:53:07 +0000 (21:53 +0000)]
[Mac] inform media session of all state changes
https://bugs.webkit.org/show_bug.cgi?id=145222

Reviewed by Dean Jackson.

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::~HTMLMediaElement): Call updateMediaState.
(WebCore::HTMLMediaElement::mediaPlayerEngineUpdated): Ditto.
(WebCore::HTMLMediaElement::mediaPlayerFirstVideoFrameAvailable): Ditto.
(WebCore::HTMLMediaElement::removeEventListener): Ditto.
(WebCore::HTMLMediaElement::enqueuePlaybackTargetAvailabilityChangedEvent): Ditto.

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

5 years agoUI to associate bugs with an analysis task is crappy
rniwa@webkit.org [Wed, 20 May 2015 21:52:35 +0000 (21:52 +0000)]
UI to associate bugs with an analysis task is crappy
https://bugs.webkit.org/show_bug.cgi?id=145198

Reviewed by Andreas Kling.

Make the UI less crappy by linkifying bug numbers and adding an explicit button to disassociate
a bug and a separate select view with a text field to associate a new bug instead of implicitly
updating or deleting the existing record based on what the user had typed.

* init-database.sql: Removed the constraint that each bug tracker should appear exactly once for
a given analysis task since it's perfectly reasonable for a given task to be associated with
multiple WebKit bugs.

* public/privileged-api/associate-bug.php:
(main): Only remove the bug specified by newly added bugToDelete instead of implicitly deleting
one that matches the analysis task and the bug tracker when the bug number is falsey.

* public/v2/analysis.js:
(App.Bug.url): Added.
(App.BugAdapter.deleteRecord): Added. Uses the privileged API to delete the record.

* public/v2/app.css:

* public/v2/app.js:
(App.AnalysisTaskController.actions.addBug): Added.
(App.AnalysisTaskController.actions.deleteBug): Added.
(App.AnalysisTaskController.associateBug): Deleted.

* public/v2/index.html: Updated the templates.

* public/v2/manifest.js:
(App.BugTracker.urlFromBugNumber): Added.

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

5 years agoAX: AutoFill button is not accessible with VoiceOver
dbates@webkit.org [Wed, 20 May 2015 21:38:01 +0000 (21:38 +0000)]
AX: AutoFill button is not accessible with VoiceOver
https://bugs.webkit.org/show_bug.cgi?id=145200
<rdar://problem/20507480>

Reviewed by Chris Fleizach.

Source/WebCore:

Add ARIA label and role attributes to the AutoFill button markup so that VoiceOver
can identify and interact with it.

Test: accessibility/input-auto-fill-button.html

* English.lproj/Localizable.strings: Add placeholder localized string for AutoFill button.
* html/TextFieldInputType.cpp:
(WebCore::TextFieldInputType::createAutoFillButton): Add ARIA label and role attributes.
* platform/LocalizedStrings.cpp:
(WebCore::AXAutoFillButtonText): Added; returns the localized string for the AutoFill button.
* platform/LocalizedStrings.h:
* platform/efl/LocalizedStringsEfl.cpp:
(WebCore::AXAutoFillButtonText): Ditto.
* platform/gtk/LocalizedStringsGtk.cpp:
(WebCore::AXAutoFillButtonText): Ditto.

LayoutTests:

Test that there is an accessibility element for the AutoFill button.

* accessibility/input-auto-fill-button-expected.txt: Added.
* accessibility/input-auto-fill-button.html: Added.
* platform/win/TestExpectations: For now, mark tests as failing. I suspect the cause
is <https://bugs.webkit.org/show_bug.cgi?id=140798>.

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

5 years agoLabel text for default buttons don’t have the correct white color
dino@apple.com [Wed, 20 May 2015 21:36:20 +0000 (21:36 +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>

Reviewed by Tim Horton.

Use a 85% solid white for the active text color on buttons.

As has been disappointingly pointed out in other patches, we don't
have a good way to test ActiveButtonText since it only applies at
paint time.

* rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::systemColor): Move to an 85% solid white.

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

5 years agoA/B testing rootSets should provide commit times as well as revisions
rniwa@webkit.org [Wed, 20 May 2015 21:22:21 +0000 (21:22 +0000)]
A/B testing rootSets should provide commit times as well as revisions
https://bugs.webkit.org/show_bug.cgi?id=145207

Reviewed by Andreas Kling.

Some continuous build systems need the commit time as well as the revision number / hash so provide one
in the root sets but maintain the backwards compatibility with buildbots that use revision number directly.

* public/include/build-requests-fetcher.php:
(BuildRequestsFetcher::fetch_roots_for_set): Made the revision info an associative array that contains
the revision number as well as the commit time.
* tools/sync-with-buildbot.py:
(schedule_request): Removed "replacement" which was a superfluous copy of "roots". Use "revision" values
when the JSON configuration refers to "root". This is necessary in buildbot instances that require WebKit
revision to be specified on its own field instead of it being a JSON that contains "revision" and "time".

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

5 years agoThreadableLoaderOptions::isolatedCopy() doesn't produce a copy that is safe for sendi...
ap@apple.com [Wed, 20 May 2015 21:08:24 +0000 (21:08 +0000)]
ThreadableLoaderOptions::isolatedCopy() doesn't produce a copy that is safe for sending to another thread
https://bugs.webkit.org/show_bug.cgi?id=145217

Reviewed by Anders Carlsson.

Caught by existing tests, rarely. I don't know how to catch such bugs more reliably.

* loader/ThreadableLoader.cpp: (WebCore::ThreadableLoaderOptions::isolatedCopy):
* loader/ThreadableLoader.h:

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

5 years agoAdd a mechanism to opt-out of the automatic scaling applied to not-really-responsive...
timothy_horton@apple.com [Wed, 20 May 2015 20:42:49 +0000 (20:42 +0000)]
Add a mechanism to opt-out of the automatic scaling applied to not-really-responsive sites
https://bugs.webkit.org/show_bug.cgi?id=144760

Reviewed by Darin Adler.

Add a new viewport property, shrink-to-fit, which can be used to disable
the automatic scaling introduced in r181400. This provides sites with a
way to tell WebKit that they're really sure they want to be laid out at
window-width/height, even if they fail to fit within that size.

* dom/ViewportArguments.cpp:
(WebCore::ViewportArguments::resolve):
(WebCore::findBooleanValue):
(WebCore::setViewportFeature):
* dom/ViewportArguments.h:
(WebCore::ViewportArguments::ViewportArguments):
(WebCore::ViewportArguments::operator==):
* page/ViewportConfiguration.cpp:
(WebCore::ViewportConfiguration::shouldIgnoreHorizontalScalingConstraints):
(WebCore::ViewportConfiguration::shouldIgnoreVerticalScalingConstraints):
(WebCore::ViewportConfiguration::webpageParameters):
(WebCore::ViewportConfiguration::textDocumentParameters):
(WebCore::ViewportConfiguration::imageDocumentParameters):
(WebCore::ViewportConfiguration::testingParameters):
(WebCore::booleanViewportArgumentIsSet):
(WebCore::ViewportConfiguration::updateConfiguration):
(WebCore::ViewportConfigurationTextStream::operator<<):
(WebCore::viewportArgumentUserZoomIsSet): Deleted.
* page/ViewportConfiguration.h:
(WebCore::ViewportConfiguration::Parameters::Parameters):
Plumb the shrink-to-fit viewport property through.
If shrink-to-fit is set to yes, or not set, we behave as usual; if it is
set to no, we will bail from shouldIgnore[Horizontal|Vertical]ScalingConstraints,
effectively disabling the automatic scaling introduced in r181400.

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

5 years agoAssertion failure in WebCore::BidiRun::BidiRun()
antti@apple.com [Wed, 20 May 2015 20:34:40 +0000 (20:34 +0000)]
Assertion failure in WebCore::BidiRun::BidiRun()
https://bugs.webkit.org/show_bug.cgi?id=145203
rdar://problem/20958973

Reviewed by Andreas Kling.

Source/WebCore:

Test: fast/text/text-combine-crash.html

* rendering/line/BreakingContext.h:
(WebCore::BreakingContext::handleText):

    Renove !isCombined() check. RenderCombineText::combineText() doesn't
    do any work unless needed and text may become uncombined too.

* rendering/line/LineBreaker.cpp:
(WebCore::LineBreaker::skipLeadingWhitespace):

    Same here.

LayoutTests:

* fast/text/text-combine-crash-expected.txt: Added.
* fast/text/text-combine-crash.html: Added.

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

5 years agoEden collections should extend the IncrementalSweeper work list, not replace it.
akling@apple.com [Wed, 20 May 2015 20:30:42 +0000 (20:30 +0000)]
Eden collections should extend the IncrementalSweeper work list, not replace it.
<https://webkit.org/b/145213>
<rdar://problem/21002666>

Reviewed by Geoffrey Garen.

After an eden collection, the garbage collector was adding all MarkedBlocks containing
new objects to the IncrementalSweeper's work list, to make sure they didn't have to
wait until the next full collection before getting swept.

Or at least, that's what it thought it was doing. It turns out that IncrementalSweeper's
internal work list is really just a reference to Heap::m_blockSnapshot. I didn't realize
this when writing the post-eden sweep code, and instead made eden collections cancel
all pending sweeps and *replace* them with the list of blocks with new objects.

This made it so that rapidly occurring eden collections could prevent large numbers of
heap blocks from ever getting swept. This would manifest as accumulation of MarkedBlocks
when a system under heavy load was also allocating short lived objects at a high rate.
Things would eventually get cleaned up when there was a lull and a full collection was
allowed to run its heap sweep to completion.

Fix this by moving all management of the block snapshot to Heap. snapshotMarkedSpace()
now handles eden collections by merging the list of blocks with new objects into the
existing block snapshot.

* heap/Heap.cpp:
(JSC::Heap::snapshotMarkedSpace):
(JSC::Heap::notifyIncrementalSweeper):
* heap/IncrementalSweeper.cpp:
(JSC::IncrementalSweeper::startSweeping):
(JSC::IncrementalSweeper::addBlocksAndContinueSweeping): Deleted.
* heap/IncrementalSweeper.h:

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

5 years agoAudioContext resume/close/suspend should reject promises with a DOM exception in...
youenn.fablet@crf.canon.fr [Wed, 20 May 2015 20:20:09 +0000 (20:20 +0000)]
AudioContext resume/close/suspend should reject promises with a DOM exception in lieu of throwing exceptions
https://bugs.webkit.org/show_bug.cgi?id=145064

Reviewed by Darin Adler.

Source/JavaScriptCore:

Added default message for TypeError.

* runtime/Error.cpp:
(JSC::throwTypeError):
* runtime/Error.h:

Source/WebCore:

Rejecting resume/suspend/close promises with InvalidStateError values in case context is offline.
Removed unneeded calls to postTask for resolving/rejecting promises.
Adding promise rejection of DOM Exception values, 0 being equivalent of no error passed to reject callback.

Test: webaudio/audiocontext-promise-throwing.html

* Modules/webaudio/AudioContext.cpp:
(WebCore::AudioContext::suspendContext): Rejecting promise in lieu of throwing exception.
(WebCore::AudioContext::resumeContext): Ditto.
(WebCore::AudioContext::closeContext): Ditto.
* Modules/webaudio/AudioContext.h:
* bindings/js/JSAudioContextCustom.cpp:
(WebCore::JSAudioContext::suspend): Removing ExceptionCode handling.
(WebCore::JSAudioContext::resume): Ditto.
(WebCore::JSAudioContext::close): Ditto.
* bindings/js/JSDOMBinding.cpp:
(WebCore::createDOMException): Splitting DOM exception creation from throwing.
(WebCore::setDOMException): Ditto.
* bindings/js/JSDOMBinding.h: Adding createDOMException prototype.
* bindings/js/JSDOMPromise.h:
(WebCore::DeferredWrapper::reject<ExceptionCode>):

LayoutTests:

Adding test to cover resume/close/suspend rejecting with InvalidStateError.
Updating existing test to cover resume and suspend rejection with no error.

* webaudio/audiocontext-promise-throwing-expected.txt: Added.
* webaudio/audiocontext-promise-throwing.html: Added.
* webaudio/audiocontext-state-expected.txt:
* webaudio/audiocontext-state.html:

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

5 years agoUnreviewed, rolling out r184645.
commit-queue@webkit.org [Wed, 20 May 2015 20:12:39 +0000 (20:12 +0000)]
Unreviewed, rolling out r184645.
https://bugs.webkit.org/show_bug.cgi?id=145220

Broken build (Requested by jacob_nielsen on #webkit).

Reverted changeset:

"AX: AutoFill button is not accessible with VoiceOver"
https://bugs.webkit.org/show_bug.cgi?id=145200
http://trac.webkit.org/changeset/184645

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

5 years agoNo LLInt Test Failure: jsc-layout-tests.yaml/js/script-tests/object-literal-duplicate...
joepeck@webkit.org [Wed, 20 May 2015 19:35:17 +0000 (19:35 +0000)]
No LLInt Test Failure: jsc-layout-tests.yaml/js/script-tests/object-literal-duplicate-properties.js.layout-no-llint
https://bugs.webkit.org/show_bug.cgi?id=145219

Reviewed by Mark Lam.

* jit/JITOperations.cpp:
Throw the error we just got, instead of a stack overflow exception.
This matches other error handling for callers of prepareForExecution.

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

5 years agoAdd some assertions about the CFG in the loop pre-header creation phase
fpizlo@apple.com [Wed, 20 May 2015 18:40:42 +0000 (18:40 +0000)]
Add some assertions about the CFG in the loop pre-header creation phase
https://bugs.webkit.org/show_bug.cgi?id=145205

Reviewed by Geoffrey Garen.

* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::currentNodeOrigin): Add a FIXME.
* dfg/DFGLICMPhase.cpp:
(JSC::DFG::LICMPhase::run): Add a FIXME.
* dfg/DFGLoopPreHeaderCreationPhase.cpp:
(JSC::DFG::LoopPreHeaderCreationPhase::run): Add the assertions.

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

5 years agoAX: AutoFill button is not accessible with VoiceOver
dbates@webkit.org [Wed, 20 May 2015 17:58:37 +0000 (17:58 +0000)]
AX: AutoFill button is not accessible with VoiceOver
https://bugs.webkit.org/show_bug.cgi?id=145200
<rdar://problem/20507480>

Reviewed by Chris Fleizach.

Source/WebCore:

Add ARIA label and role attributes to the AutoFill button markup so that VoiceOver
can identify and interact with it.

Test: accessibility/input-auto-fill-button.html

* English.lproj/Localizable.strings: Add placeholder localized string for AutoFill button.
* html/TextFieldInputType.cpp:
(WebCore::TextFieldInputType::createAutoFillButton): Add ARIA label and role attributes.
* platform/LocalizedStrings.cpp:
(WebCore::AXAutoFillButtonText): Added; returns the localized string for the AutoFill button.
* platform/LocalizedStrings.h:
* platform/efl/LocalizedStringsEfl.cpp:
(WebCore::AXAutoFillButtonText): Ditto.
* platform/gtk/LocalizedStringsGtk.cpp:
(WebCore::AXAutoFillButtonText): Ditto.

LayoutTests:

Test that there is an accessibility element for the AutoFill button.

* accessibility/input-auto-fill-button-expected.txt: Added.
* accessibility/input-auto-fill-button.html: Added.

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

5 years ago[Content Extensions] Relax restrictions on triggers that match everything.
achristensen@apple.com [Wed, 20 May 2015 17:56:17 +0000 (17:56 +0000)]
[Content Extensions] Relax restrictions on triggers that match everything.
https://bugs.webkit.org/show_bug.cgi?id=145069

Reviewed by Benjamin Poulain.

Source/WebCore:

Added API tests that cover the new functionality and test for correctness in behavior.

* contentextensions/CompiledContentExtension.cpp:
(WebCore::ContentExtensions::CompiledContentExtension::globalDisplayNoneSelectors):
* contentextensions/ContentExtensionCompiler.cpp:
(WebCore::ContentExtensions::addUniversalActionsToDFA):
(WebCore::ContentExtensions::compileRuleList):
Put universalActionsWithoutDomains into the DFA from filtersWithoutDomains and
put universalActionsWithDomains into the DFA from filtersWithDomains.
* contentextensions/ContentExtensionError.cpp:
(WebCore::ContentExtensions::contentExtensionErrorCategory):
* contentextensions/ContentExtensionError.h:
Remove error codes for errors that are not errors any more.
* contentextensions/ContentExtensionsBackend.cpp:
(WebCore::ContentExtensions::ContentExtensionsBackend::actionsForResourceLoad):
* contentextensions/ContentExtensionsBackend.h:
* contentextensions/DFABytecode.h:
(WebCore::ContentExtensions::instructionSizeWithArguments):
* contentextensions/DFABytecodeCompiler.cpp:
(WebCore::ContentExtensions::set32Bits):
(WebCore::ContentExtensions::DFABytecodeCompiler::emitAppendAction):
(WebCore::ContentExtensions::DFABytecodeCompiler::emitJump):
(WebCore::ContentExtensions::DFABytecodeCompiler::emitCheckValue):
(WebCore::ContentExtensions::DFABytecodeCompiler::emitCheckValueRange):
(WebCore::ContentExtensions::DFABytecodeCompiler::compileNode):
(WebCore::ContentExtensions::DFABytecodeCompiler::compile):
(WebCore::ContentExtensions::DFABytecodeCompiler::emitTestFlagsAndAppendAction): Deleted.
* contentextensions/DFABytecodeCompiler.h:
* contentextensions/DFABytecodeInterpreter.cpp:
(WebCore::ContentExtensions::DFABytecodeInterpreter::interpretAppendAction):
(WebCore::ContentExtensions::DFABytecodeInterpreter::interpretTestFlagsAndAppendAction):
(WebCore::ContentExtensions::DFABytecodeInterpreter::actionsForDefaultStylesheetFromDFARoot):
(WebCore::ContentExtensions::DFABytecodeInterpreter::interpret):
(WebCore::ContentExtensions::DFABytecodeInterpreter::actionsFromDFARoot): Deleted.
* contentextensions/DFABytecodeInterpreter.h:
Add a new bytecode AppendActionDefaultStylesheet to mark actions that are css-display-none
that need to be put in the default stylesheet to be ignored or not as a whole.
css-display-none actions with flags or domain rules and css-display-none actions
after ignore-previous-rules actions are not to be in this precompiled stylesheet, but
they will be applied as needed per page.  The precompiled stylesheet is already applied
if no ignore-previous-rules action is triggered.
* loader/ResourceLoadInfo.h:

Source/WebKit2:

* UIProcess/API/APIUserContentExtensionStore.h:
Increment version number to reflect changes in DFABytecode.

Tools:

* TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp:
(TestWebKitAPI::TEST_F):
Update and add tests for new possibilities with .*

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

5 years agoJS binding generator should create a member variable for each Promise attribute of...
youenn.fablet@crf.canon.fr [Wed, 20 May 2015 17:39:11 +0000 (17:39 +0000)]
JS binding generator should create a member variable for each Promise attribute of an interface
https://bugs.webkit.org/show_bug.cgi?id=145056

Reviewed by Darin Adler.

For each attribute XXX whose type is Promise, a member m_XXXPromiseDeferred is created, its type being a JSC::Strong of JSPromiseDeferred.
The purpose is to enable custom getters to create the JSPromiseDeferred and store ino the class member to ensure the same promise is returned each time
the custom getter is called.
This patch will enable simplifying ReadableStreamReader custom binding.

Covered by added attribute in TestObj.idl.

* bindings/scripts/CodeGeneratorJS.pm:
(GenerateHeader):
* bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
(webkit_dom_test_obj_get_property):
(webkit_dom_test_obj_class_init):
(webkit_dom_test_obj_get_test_promise_attr):
(webkit_dom_test_obj_set_nullable_string_value): Deleted.
* bindings/scripts/test/GObject/WebKitDOMTestObj.h:
* bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::jsTestObjTestPromiseAttr):
(WebCore::jsTestObjAttributeWithReservedEnumType): Deleted.
* bindings/scripts/test/JS/JSTestObj.h:
* bindings/scripts/test/ObjC/DOMTestObj.h:
* bindings/scripts/test/ObjC/DOMTestObj.mm:
(-[DOMTestObj testPromiseAttr]):
(-[DOMTestObj attribute]): Deleted.
* bindings/scripts/test/TestObj.idl:

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

5 years agoES6: Implement Object.setPrototypeOf
commit-queue@webkit.org [Wed, 20 May 2015 17:23:03 +0000 (17:23 +0000)]
ES6: Implement Object.setPrototypeOf
https://bugs.webkit.org/show_bug.cgi?id=145202

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

Source/JavaScriptCore:

* runtime/JSGlobalObjectFunctions.h:
* runtime/JSGlobalObjectFunctions.cpp:
(JSC::globalFuncProtoSetter):
(JSC::checkProtoSetterAccessAllowed):
Extract a helper to share this code between __proto__ setter and setPrototypeOf.

* runtime/ObjectConstructor.cpp:
(JSC::objectConstructorSetPrototypeOf):
Implementation is very similiar to __proto__ setter.

LayoutTests:

* http/tests/security/cross-frame-access-object-setPrototypeOf-expected.txt: Added.
* http/tests/security/cross-frame-access-object-setPrototypeOf.html: Added.
* http/tests/security/resources/cross-frame-iframe-for-object-setPrototypeOf-test.html: Added.
Test covering cross origin restriction behavior.

* js/Object-getOwnPropertyNames-expected.txt:
* js/script-tests/Object-getOwnPropertyNames.js:
Updated for the new exposed property.

* js/cyclic-prototypes-expected.txt:
* js/script-tests/cyclic-prototypes.js:
Extend this test to include setPrototypeOf cyclic checks.
Note that setPrototypeOf can still change the prototype
where __proto__ cannot.

* js/prototypes-expected.txt:
* js/script-tests/prototypes.js:
Extend this test to cover more types previously overlooked.

* js/script-tests/setPrototypeOf.js: Added.
(debugEval):
(getObjectDescriptions.myFunction):
(getObjectDescriptions):
* js/setPrototypeOf-expected.txt: Added.
* js/setPrototypeOf.html: Added.
Test coverage for all the different object / prototype combinations.
This is modeled after the other browser tests with coverage of a
few more basic functionality tests and object types.

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

5 years agoAudioContext suspend/resume/close should resolve promises immediately when state...
youenn.fablet@crf.canon.fr [Wed, 20 May 2015 17:02:24 +0000 (17:02 +0000)]
AudioContext suspend/resume/close should resolve promises immediately when state is already suspended/active/closed
https://bugs.webkit.org/show_bug.cgi?id=145164

Reviewed by Jer Noble.

Source/WebCore:

Test: webaudio/audiocontext-promise.html

* Modules/webaudio/AudioContext.cpp:
(WebCore::AudioContext::suspendContext): Immediatly call callbacks whenever possible to resolve/reject promises.
(WebCore::AudioContext::resumeContext): Ditto.
(WebCore::AudioContext::closeContext): Ditto

LayoutTests:

* webaudio/audiocontext-promise-expected.txt: Added.
* webaudio/audiocontext-promise.html: Added.

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

5 years agoES6: Should not allow duplicate basic __proto__ properties in Object Literals
commit-queue@webkit.org [Wed, 20 May 2015 16:54:09 +0000 (16:54 +0000)]
ES6: Should not allow duplicate basic __proto__ properties in Object Literals
https://bugs.webkit.org/show_bug.cgi?id=145138

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

Source/JavaScriptCore:

Implement ES6 Annex B.3.1, which disallows duplicate basic __proto__
properties in object literals. This doesn't affect computed properties,
shorthand properties, or getters/setters all of which avoid setting
the actual prototype of the object anyway.

* interpreter/Interpreter.cpp:
(JSC::eval):
Remove out of date comment. Duplicate property names are allowed
now in ES6, they were not in ES5 strict mode.

* parser/ASTBuilder.h:
(JSC::ASTBuilder::getName):
(JSC::ASTBuilder::getType):
* parser/SyntaxChecker.h:
(JSC::SyntaxChecker::getName):
Add back getName to get the property name depending on the tree builder.
Also tighten up the parameter types.

* runtime/LiteralParser.cpp:
(JSC::LiteralParser<CharType>::parse):
In quick JSON literal parsing for eval, we actually need to evaluate
the __proto__ property assignment, instead of just building up a list
of direct properties. Only do this when not doing a strict JSON parse.

* parser/Nodes.h:
Add "Shorthand" to the list of PropertyNode types to allow it to
be distinguished without relying on other information.

* parser/Parser.h:
* parser/Parser.cpp:
(JSC::Parser<LexerType>::parseProperty):
Add the Shorthand type when parsing a shorthand property.

(JSC::Parser<LexerType>::shouldCheckPropertyForUnderscoreProtoDuplicate):
(JSC::Parser<LexerType>::parseObjectLiteral):
(JSC::Parser<LexerType>::parseStrictObjectLiteral):
Check for duplicate __proto__ properties, and throw a SyntaxError
if that was the case.

LayoutTests:

* js/dom/JSON-parse-expected.txt:
* js/resources/JSON-parse.js:
Update expected results for JSON parsing using eval() versus JSON.parse.
In eval, an object literal with a "__proto__" property modifies the prototype.
In JSON.parse, all properties are direct/own properties, no matter their name,
so "__proto__" does not get special treatment.

* js/eval-json-proto-expected.txt: Added.
* js/eval-json-proto.html: Added.
* js/script-tests/eval-json-proto.js: Added.
Direct test for LiteralParser behavior, in both eval and JSON.parse.

* js/object-literal-duplicate-properties-expected.txt:
* js/script-tests/object-literal-duplicate-properties.js:
(runProtoTestShouldThrow):
(runProtoTestShouldNotThrow):
Test for all cases of acceptable and unacceptable __proto__ duplicate
properties in literals.

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

5 years agoMinor cleanups to PluginProcessProxy.
commit-queue@webkit.org [Wed, 20 May 2015 16:18:03 +0000 (16:18 +0000)]
Minor cleanups to PluginProcessProxy.
https://bugs.webkit.org/show_bug.cgi?id=145199

Patch by Sungmann Cho <sungmann.cho@navercorp.com> on 2015-05-20
Reviewed by Anders Carlsson.

1. Remove unnecessary forward declaration.
2. Remove unnecessary #include.

* UIProcess/Plugins/PluginProcessProxy.cpp:
* UIProcess/Plugins/PluginProcessProxy.h:

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

5 years ago[GTK] Add some documentation to WebKitWebExtension
commit-queue@webkit.org [Wed, 20 May 2015 16:13:24 +0000 (16:13 +0000)]
[GTK] Add some documentation to WebKitWebExtension
https://bugs.webkit.org/show_bug.cgi?id=142786

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

WebKitWebExtension API documentation lacks of some details and the information
available is in some contributors blog posts. I add the section
documentation with a small guide about how to use WebExtensions.

The code examples were taken from Carlos García and Adrián Pérez blog
posts.

* WebProcess/InjectedBundle/API/gtk/WebKitWebExtension.cpp:

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

5 years agoRename WebsiteDataStore::isNonPersistent() to WebsiteDataStore::isPersistent().
commit-queue@webkit.org [Wed, 20 May 2015 15:53:55 +0000 (15:53 +0000)]
Rename WebsiteDataStore::isNonPersistent() to WebsiteDataStore::isPersistent().
https://bugs.webkit.org/show_bug.cgi?id=145111

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

This is a follow up to https://bugs.webkit.org/show_bug.cgi?id=144158.

* UIProcess/API/APIWebsiteDataStore.cpp:
(API::WebsiteDataStore::isPersistent):
* UIProcess/WebsiteData/WebsiteDataStore.cpp:
(WebKit::WebsiteDataStore::fetchData):
(WebKit::WebsiteDataStore::removeData):
* UIProcess/WebsiteData/WebsiteDataStore.h:
(WebKit::WebsiteDataStore::isPersistent):
(WebKit::WebsiteDataStore::isNonPersistent): Deleted.

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

5 years ago[JSC] Add missing copyrights and licenses for some scripts
ossy@webkit.org [Wed, 20 May 2015 15:49:33 +0000 (15:49 +0000)]
[JSC] Add missing copyrights and licenses for some scripts
https://bugs.webkit.org/show_bug.cgi?id=145044

Reviewed by Darin Adler.

* build-symbol-table-index.py:
* create-llvm-ir-from-source-file.py:
* create-symbol-table-index.py:

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

5 years agoWeb Inspector: Slightly better node previews in arrays
commit-queue@webkit.org [Wed, 20 May 2015 15:46:04 +0000 (15:46 +0000)]
Web Inspector: Slightly better node previews in arrays
https://bugs.webkit.org/show_bug.cgi?id=145188

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

Source/JavaScriptCore:

* inspector/InjectedScriptSource.js:
(InjectedScript.prototype._nodeDescription):
(InjectedScript.prototype._nodePreview):
Different stringified representations for a basic object description or in a preview.

(InjectedScript.RemoteObject.prototype._appendPropertyPreviews):
Use the node preview string representation inside previews.

LayoutTests:

* inspector/model/remote-object-expected.txt:
* inspector/model/remote-object.html:

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

5 years ago[EFL] Fix build failure, linker does not find libXext.
commit-queue@webkit.org [Wed, 20 May 2015 10:12:07 +0000 (10:12 +0000)]
[EFL] Fix build failure, linker does not find libXext.
https://bugs.webkit.org/show_bug.cgi?id=144100

Patch by Hyungwook Lee <hyungwook.lee@navercorp.com> on 2015-05-20
Reviewed by Gyuyoung Kim.

Move Xext library from WebProcess_LIBRARIES to WebKit2_LIBRARIES.

* PlatformEfl.cmake:

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

5 years agoREGRESSION(r184420): [GTK] webkit_dom_html_element_get_children has been removed
carlosgc@webkit.org [Wed, 20 May 2015 07:55:28 +0000 (07:55 +0000)]
REGRESSION(r184420): [GTK] webkit_dom_html_element_get_children has been removed
https://bugs.webkit.org/show_bug.cgi?id=145174

Reviewed by Philippe Normand.

children property has been moved to Element, Document and
DocumentFragment to match the spec, so we need to expose the new
get_children and bring back webkit_dom_html_element_get_children()
as deprecated.

* bindings/gobject/WebKitDOMDeprecated.cpp:
(webkit_dom_html_element_get_children):
* bindings/gobject/WebKitDOMDeprecated.h:
* bindings/gobject/WebKitDOMDeprecated.symbols:
* bindings/gobject/webkitdom.symbols:

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

5 years agonullptr cleanup in WebCore/xml.
commit-queue@webkit.org [Wed, 20 May 2015 07:39:12 +0000 (07:39 +0000)]
nullptr cleanup in WebCore/xml.
https://bugs.webkit.org/show_bug.cgi?id=145165

Patch by Hunseop Jeong <hs85.jeong@samsung.com> on 2015-05-20
Reviewed by Csaba Osztrogonác.

No new tests, no behavior changes

* xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::responseXML):
(WebCore::XMLHttpRequest::internalAbort):
(WebCore::XMLHttpRequest::clearResponseBuffers):
(WebCore::XMLHttpRequest::clearRequest):
(WebCore::XMLHttpRequest::didFinishLoading):
* xml/XMLHttpRequestProgressEventThrottle.cpp:
(WebCore::XMLHttpRequestProgressEventThrottle::flushProgressEvent):
* xml/XSLImportRule.cpp:
(WebCore::XSLImportRule::XSLImportRule):
(WebCore::XSLImportRule::~XSLImportRule):
(WebCore::XSLImportRule::setXSLStyleSheet):
(WebCore::XSLImportRule::loadSheet):
* xml/XSLStyleSheet.h:
* xml/XSLStyleSheetLibxslt.cpp:
(WebCore::XSLStyleSheet::XSLStyleSheet):
(WebCore::XSLStyleSheet::~XSLStyleSheet):
(WebCore::XSLStyleSheet::clearDocuments):
* xml/XSLTProcessorLibxslt.cpp:
(WebCore::saveResultToString):
(WebCore::xsltParamArrayFromParameterMap):
(WebCore::xmlDocPtrFromNode):
(WebCore::XSLTProcessor::transformToString):
* xml/parser/XMLDocumentParser.cpp:
(WebCore::XMLDocumentParser::clearCurrentNodeStack):
(WebCore::XMLDocumentParser::exitText):
(WebCore::XMLDocumentParser::notifyFinished):
* xml/parser/XMLDocumentParser.h:
* xml/parser/XMLDocumentParserLibxml2.cpp:
(WebCore::openFunc):
(WebCore::XMLDocumentParser::XMLDocumentParser):
* xml/parser/XMLDocumentParserScope.cpp:
* xml/parser/XMLDocumentParserScope.h:

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

5 years ago[EFL][Minibrowser] Hide URL bar on fullscreen mode for HTML elements and browser...
commit-queue@webkit.org [Wed, 20 May 2015 07:26:56 +0000 (07:26 +0000)]
[EFL][Minibrowser] Hide URL bar on fullscreen mode for HTML elements and browser window in WebKit EFL Minibrowser
https://bugs.webkit.org/show_bug.cgi?id=144992

Patch by Rohit Kumar <kumar.rohit@samsung.com> on 2015-05-20
Reviewed by Gyuyoung Kim.

* MiniBrowser/efl/main.c:
(toggle_window_fullscreen): Method to toggle between fullscreen and normal mode.
(on_key_down):
(on_fullscreen_enter):
(on_fullscreen_exit):
(window_create):

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

5 years ago[SOUP] Network Cache: Implement ShareableResource for Soup and enable it for GTK...
carlosgc@webkit.org [Wed, 20 May 2015 07:04:34 +0000 (07:04 +0000)]
[SOUP] Network Cache: Implement ShareableResource for Soup and enable it for GTK platform
https://bugs.webkit.org/show_bug.cgi?id=144380

Reviewed by Antti Koivisto.

Source/WebCore:

Add a soup implementation of SharedBuffer::tryReplaceContentsWithPlatformBuffer().

Covered by http/tests/cache/disk-cache/ tests.

* loader/cache/CachedResource.cpp: Define
CachedResource::tryReplaceEncodedData() also for Soup.
* loader/cache/CachedResource.h: Ditto.
* platform/soup/SharedBufferSoup.cpp:
(WebCore::SharedBuffer::tryReplaceContentsWithPlatformBuffer):

Source/WebKit2:

It improves the network cache performance, by mmaping big
resources and sending only the file descriptor to the web process
instead of the actual file data. It needs some changes in
cross-platform code, because we can't use the same approach as
mac (it uses a platform specific implementation not available in
other platforms).

* NetworkProcess/cache/NetworkCache.cpp:
(WebKit::NetworkCache::Cache::store): Use
Data::tryCreateSharedMemory() to create the shared memory used by
the ShareableResource. Also add an ASSERT instead of checking the
shareable resource created is not nullptr, because the
ShareableResource::create() that receives a shared memory should
never return nullptr.
* NetworkProcess/cache/NetworkCacheData.h:
* NetworkProcess/cache/NetworkCacheDataCocoa.mm:
(WebKit::NetworkCache::Data::tryCreateSharedMemory):
* NetworkProcess/cache/NetworkCacheDataSoup.cpp:
(WebKit::NetworkCache::Data::tryCreateSharedMemory): Create a
SharedMemory object to wrap the mapped file, but keeping the ownership.
* NetworkProcess/cache/NetworkCacheEntry.cpp:
(WebKit::NetworkCache::Entry::initializeShareableResourceHandleFromStorageRecord):
Use Data::tryCreateSharedMemory() to create the shared memory used
bythe ShareableResource. Also add an ASSERT instead of checking
the shareable resource created is not nullptr, because the
ShareableResource::create() that receives a shared memory should
never return nullptr.
* Platform/SharedMemory.h:
* Platform/unix/SharedMemoryUnix.cpp:
(WebKit::SharedMemory::map): Use wrapMap() and initialize
m_isWrappingMap to false.
(WebKit::SharedMemory::wrapMap): Create a SharedMemory object for
the given map, without taking its ownership.
(WebKit::SharedMemory::~SharedMemory): Do not unmap and close the
file descriptor if m_isWrappingMap is true.
* Shared/ShareableResource.cpp:
(WebKit::createShareableResourceDeallocator):
(WebKit::ShareableResource::wrapInSharedBuffer): Create a SharedBuffer
wrapping the ShareableResource data.
(WebKit::ShareableResource::Handle::tryWrapInSharedBuffer): Create
a ShareableResource for the handle and create a SharedBuffer
wrapping it.
* Shared/ShareableResource.h:
* WebKit2Prefix.h: Enable ENABLE_SHAREABLE_RESOURCE for GTK.
* WebProcess/Network/WebResourceLoader.cpp:
(WebKit::WebResourceLoader::didReceiveResource): Get the CFData
from the SharedBuffer for QuickLook instead of wrapping the handle again.

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

5 years ago[SOUP] Network Cache: Disable network cache efficacy logging
carlosgc@webkit.org [Wed, 20 May 2015 06:29:13 +0000 (06:29 +0000)]
[SOUP] Network Cache: Disable network cache efficacy logging
https://bugs.webkit.org/show_bug.cgi?id=145172

Reviewed by Martin Robinson.

Disable network cache efficacy logging by default, since we are
not currently using the collected data.

* UIProcess/soup/WebProcessPoolSoup.cpp:
(WebKit::WebProcessPool::platformInitializeNetworkProcess):

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

5 years agoUnreviewed, rolling out r184613 and r184614.
commit-queue@webkit.org [Wed, 20 May 2015 06:14:03 +0000 (06:14 +0000)]
Unreviewed, rolling out r184613 and r184614.
https://bugs.webkit.org/show_bug.cgi?id=145206

Broke 10 tests :| (Requested by kling on #webkit).

Reverted changesets:

"[JSC] Speed up URL encode/decode by using bitmaps instead of
strchr()."
https://bugs.webkit.org/show_bug.cgi?id=145115
http://trac.webkit.org/changeset/184613

"[JSC] Speed up URL encode/decode by using bitmaps instead of
strchr()."
https://bugs.webkit.org/show_bug.cgi?id=145115
http://trac.webkit.org/changeset/184614

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

5 years agoGive StringView a utf8() API.
akling@apple.com [Wed, 20 May 2015 05:57:55 +0000 (05:57 +0000)]
Give StringView a utf8() API.
<https://webkit.org/b/145201>

Source/JavaScriptCore:

Reviewed by Anders Carlsson.

Use JSString::view() in a few places where we couldn't before due to StringView
lacking a utf8() API. This is a minor speed-up on Kraken's crypto subtests,
which like to call encode() with substring JSStrings.

* jsc.cpp:
(functionPrint):
(functionDebug):
* runtime/JSGlobalObjectFunctions.cpp:
(JSC::encode):

Source/WTF:

Reviewed by Anders Carlsson

Added an LChar version of StringImpl::utf8ForCharacters() and use that to give
StringView a utf8() API just like String has.

* wtf/text/StringImpl.cpp:
(WTF::StringImpl::utf8ForCharacters):
* wtf/text/StringImpl.h:
* wtf/text/StringView.cpp:
(WTF::StringView::utf8):
* wtf/text/StringView.h:

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

5 years agoOrganize event handlers a bit
weinig@apple.com [Wed, 20 May 2015 05:41:13 +0000 (05:41 +0000)]
Organize event handlers a bit
https://bugs.webkit.org/show_bug.cgi?id=145106

Reviewed by Darin Adler.

Source/WebCore:

- Add GlobalEventHandlers.idl (from https://html.spec.whatwg.org/multipage/webappapis.html#globaleventhandlers)
  and move all event handlers shared by Element, Document and DOMWindow there. Put all the standard defined
  event handlers at the top (commenting out the ones that aren't implemented yet) and the non-standard ones
  at the bottom.

  There is one change in behavior here. Previously, the media related event handlers where only exposed on
  Element and DOMWindow. The spec says they should also be on Document, so this adds support for that (this
  is tested in fast/dom/event-handler-attributes.html).

- Add WindowEventHandlers.idl (from https://html.spec.whatwg.org/multipage/webappapis.html#windoweventhandlers)
  and move all event handlers shared by DOMWindow, HTMLBodyElement and HTMLFrameSetElement there. Put all the
  standard defined event handlers at the top (commenting out the ones that aren't implemented yet) and the
  non-standard ones at the bottom.

- Group remaining event handlers in Element, Document, DOMWindow, HTMLBodyElement and HTMLFrameSetElement by
  their grouping, and add some FIXMEs for future cleaning.

* CMakeLists.txt:
* DerivedSources.make:
* WebCore.xcodeproj/project.pbxproj:
- Add GlobalEventHandlers.idl and WindowEventHandlers.idl.

* bindings/scripts/CodeGeneratorJS.pm:
(GenerateImplementation):
Add special cases for WindowEventHandler when used on DOMWindow and DocumentEventHandler when used on Document
so that event handlers using those extended attributes can be set on shared interfaces. This is used to allow
DOMWindow to implement WindowEventHandlers.

* dom/Document.idl:
Move event handlers to GlobalEventHandlers and have Document implement it. Group remaining event handlers.

* dom/Element.idl:
Move event handlers to GlobalEventHandlers and have Element implement it. Group remaining event handlers.

* dom/GlobalEventHandlers.idl:
Added.

* html/HTMLBodyElement.idl:
Move event handlers to WindowEventHandlers and have HTMLBodyElement implement it. Group remaining event handlers.

* html/HTMLFrameSetElement.idl:
Move event handlers to WindowEventHandlers and have HTMLFrameSetElement implement it. Group remaining event handlers.

* page/DOMWindow.idl:
Move event handlers to GlobalEventHandlers and WindowEventHandlers and have DOMWindow implement both of them. Group
remaining event handlers.

* page/WindowEventHandlers.idl:
Added.

LayoutTests:

* fast/dom/event-handler-attributes-expected.txt:
* fast/dom/event-handler-attributes.html:
Update for putting media related event handlers on Document in addition to
Element and DOMWindow.

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

5 years agoCrash under WebCore::invalidateStyleRecursively
antti@apple.com [Wed, 20 May 2015 05:28:02 +0000 (05:28 +0000)]
Crash under WebCore::invalidateStyleRecursively
https://bugs.webkit.org/show_bug.cgi?id=145186
rdar://problem/19736838

Reviewed by Andreas Kling

We have seen crashes where we run out of stack under invalidateStyleRecursively in StyleInvalidationAnalysis
on some devices.

Switch to iterative algorithm.

* css/StyleInvalidationAnalysis.cpp:
(WebCore::StyleInvalidationAnalysis::StyleInvalidationAnalysis):
(WebCore::invalidateIfNeeded):
(WebCore::invalidateStyleForTree):
(WebCore::StyleInvalidationAnalysis::invalidateStyle):
(WebCore::invalidateStyleRecursively): Deleted.

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

5 years agoFixup accidental ChangeLog switcheroo.
akling@apple.com [Wed, 20 May 2015 04:51:29 +0000 (04:51 +0000)]
Fixup accidental ChangeLog switcheroo.

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

5 years ago[JSC] Speed up URL encode/decode by using bitmaps instead of strchr().
akling@apple.com [Wed, 20 May 2015 04:49:36 +0000 (04:49 +0000)]
[JSC] Speed up URL encode/decode by using bitmaps instead of strchr().
<https://webkit.org/b/145115>

Incorporate review feedback from Darin, removing some unnecessary zero checks.

Patch by Yusuke Suzuki <utatane.tea@gmail.com> on 2015-05-19

* runtime/JSGlobalObjectFunctions.cpp:
(JSC::encode):
(JSC::decode):
(JSC::globalFuncEscape):

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

5 years agoMove AtomicStringImpl table related operations from AtomicString to AtomicStringImpl
utatane.tea@gmail.com [Wed, 20 May 2015 04:19:14 +0000 (04:19 +0000)]
Move AtomicStringImpl table related operations from AtomicString to AtomicStringImpl
https://bugs.webkit.org/show_bug.cgi?id=145109

Reviewed by Darin Adler.

Source/JavaScriptCore:

* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::nameForRegister):
* runtime/Identifier.cpp:
(JSC::Identifier::add):
(JSC::Identifier::add8):
* runtime/Identifier.h:
(JSC::Identifier::add):
* runtime/IdentifierInlines.h:
(JSC::Identifier::Identifier):
(JSC::Identifier::add):
* runtime/JSString.cpp:
(JSC::JSRopeString::resolveRopeToExistingAtomicString):
* runtime/JSString.h:
(JSC::JSString::toExistingAtomicString):
* runtime/SmallStrings.cpp:
(JSC::SmallStringsStorage::SmallStringsStorage):
* runtime/TypeSet.cpp:
(JSC::StructureShape::propertyHash):

Source/WebCore:

* dom/TreeScope.cpp:
(WebCore::TreeScope::getElementById):

Source/WTF:

Now AtomicStringImpl table operations are located in AtomicString.
But they should be under AtomicStringImpl.
This patch simply moves these operations to AtomicStringImpl.

And this patch renames static AtomicString::find to static AtomicStringImpl::lookUp
because it conflicts with AtomicStringImpl's member function name.

* WTF.vcxproj/WTF.vcxproj:
* WTF.vcxproj/WTF.vcxproj.filters:
* WTF.vcxproj/copy-files.cmd:
* WTF.xcodeproj/project.pbxproj:
* wtf/CMakeLists.txt:
* wtf/PlatformMac.cmake:
* wtf/PlatformWin.cmake:
* wtf/text/AtomicString.cpp:
(WTF::AtomicString::lower):
(WTF::AtomicString::convertToASCIILowercase):
(WTF::AtomicString::fromUTF8Internal):
(WTF::AtomicStringTableLocker::AtomicStringTableLocker): Deleted.
(WTF::stringTable): Deleted.
(WTF::addToStringTable): Deleted.
(WTF::CStringTranslator::hash): Deleted.
(WTF::CStringTranslator::equal): Deleted.
(WTF::CStringTranslator::translate): Deleted.
(WTF::AtomicString::add): Deleted.
(WTF::UCharBufferTranslator::hash): Deleted.
(WTF::UCharBufferTranslator::equal): Deleted.
(WTF::UCharBufferTranslator::translate): Deleted.
(WTF::HashAndCharactersTranslator::hash): Deleted.
(WTF::HashAndCharactersTranslator::equal): Deleted.
(WTF::HashAndCharactersTranslator::translate): Deleted.
(WTF::HashAndUTF8CharactersTranslator::hash): Deleted.
(WTF::HashAndUTF8CharactersTranslator::equal): Deleted.
(WTF::HashAndUTF8CharactersTranslator::translate): Deleted.
(WTF::SubstringTranslator::translate): Deleted.
(WTF::SubstringTranslator8::hash): Deleted.
(WTF::SubstringTranslator8::equal): Deleted.
(WTF::SubstringTranslator16::hash): Deleted.
(WTF::SubstringTranslator16::equal): Deleted.
(WTF::LCharBufferTranslator::hash): Deleted.
(WTF::LCharBufferTranslator::equal): Deleted.
(WTF::LCharBufferTranslator::translate): Deleted.
(WTF::CharBufferFromLiteralDataTranslator::hash): Deleted.
(WTF::CharBufferFromLiteralDataTranslator::equal): Deleted.
(WTF::CharBufferFromLiteralDataTranslator::translate): Deleted.
(WTF::AtomicString::addFromLiteralData): Deleted.
(WTF::AtomicString::addSlowCase): Deleted.
(WTF::AtomicString::remove): Deleted.
(WTF::AtomicString::findSlowCase): Deleted.
(WTF::AtomicString::findInternal): Deleted.
(WTF::AtomicString::isInAtomicStringTable): Deleted.
* wtf/text/AtomicString.h:
(WTF::AtomicString::AtomicString):
(WTF::AtomicString::fromUTF8):
(WTF::AtomicString::find): Deleted.
(WTF::AtomicString::add): Deleted.
(WTF::AtomicString::addWithStringTableProvider): Deleted.
* wtf/text/AtomicStringImpl.cpp: Copied from Source/WTF/wtf/text/AtomicString.cpp.
(WTF::AtomicStringTableLocker::AtomicStringTableLocker):
(WTF::stringTable):
(WTF::addToStringTable):
(WTF::CStringTranslator::hash):
(WTF::CStringTranslator::equal):
(WTF::CStringTranslator::translate):
(WTF::AtomicStringImpl::add):
(WTF::UCharBufferTranslator::hash):
(WTF::UCharBufferTranslator::equal):
(WTF::UCharBufferTranslator::translate):
(WTF::HashAndCharactersTranslator::hash):
(WTF::HashAndCharactersTranslator::equal):
(WTF::HashAndCharactersTranslator::translate):
(WTF::HashAndUTF8CharactersTranslator::hash):
(WTF::HashAndUTF8CharactersTranslator::equal):
(WTF::HashAndUTF8CharactersTranslator::translate):
(WTF::SubstringTranslator::translate):
(WTF::SubstringTranslator8::hash):
(WTF::SubstringTranslator8::equal):
(WTF::SubstringTranslator16::hash):
(WTF::SubstringTranslator16::equal):
(WTF::LCharBufferTranslator::hash):
(WTF::LCharBufferTranslator::equal):
(WTF::LCharBufferTranslator::translate):
(WTF::CharBufferFromLiteralDataTranslator::hash):
(WTF::CharBufferFromLiteralDataTranslator::equal):
(WTF::CharBufferFromLiteralDataTranslator::translate):
(WTF::AtomicStringImpl::addLiteral):
(WTF::AtomicStringImpl::addSlowCase):
(WTF::AtomicStringImpl::remove):
(WTF::AtomicStringImpl::lookUpSlowCase):
(WTF::AtomicStringImpl::addUTF8):
(WTF::AtomicStringImpl::lookUpInternal):
(WTF::AtomicStringImpl::isInAtomicStringTable):
* wtf/text/AtomicStringImpl.h:
(WTF::AtomicStringImpl::lookUp):
(WTF::AtomicStringImpl::add):
(WTF::AtomicStringImpl::addWithStringTableProvider):
(WTF::AtomicStringImpl::AtomicStringImpl): Deleted.
* wtf/text/StringImpl.cpp:
(WTF::StringImpl::~StringImpl):
* wtf/text/StringImpl.h:
* wtf/text/WTFString.h:
(WTF::String::String):
* wtf/text/cf/AtomicStringCF.cpp:
(WTF::AtomicString::add): Deleted.
* wtf/text/cf/AtomicStringImplCF.cpp: Renamed from Source/WTF/wtf/text/cf/AtomicStringCF.cpp.
(WTF::AtomicStringImpl::add):

Tools:

* TestWebKitAPI/Tests/WTF/StringImpl.cpp:
(TestWebKitAPI::TEST):

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

5 years ago[iOS] Optimized fullscreen placeholder is incorrectly sized
jonlee@apple.com [Wed, 20 May 2015 03:34:35 +0000 (03:34 +0000)]
[iOS] Optimized fullscreen placeholder is incorrectly sized
https://bugs.webkit.org/show_bug.cgi?id=145196
rdar://problem/21031188

Reviewed by Dean Jackson.

Add a new media part UI for the placeholder text when entering optimized fullscreen,
and use it as part of the title text in the placeholder. Now the wireless playback status
div serves as a multi-purpose placeholder.

* Modules/mediacontrols/MediaControlsHost.cpp:
(WebCore::MediaControlsHost::mediaUIImageData): Return the placeholder text.
* Modules/mediacontrols/MediaControlsHost.idl: Add a new UI part for placeholder text.
* Modules/mediacontrols/mediaControlsApple.js: Add a new "optimized" ClassName when
the presentation mode is set to optimized.

* Modules/mediacontrols/mediaControlsiOS.css:
(audio::-webkit-media-controls-wireless-playback-status): The text should be at
medium weight, not light weight.
(audio::-webkit-media-controls-wireless-playback-text-top): The title text should be
white for both wireless playback and optimized fullscreen. It matches the style
when taking a video fullscreen.

Add new CSS rules when the placard is used for optimized fullscreen.
(audio::-webkit-media-controls-wireless-playback-status.optimized): Accommodate the
size of the graphic, and position appropriately.
(audio::-webkit-media-controls-wireless-playback-text-top.optimized): One line is
needed, so use this one, and place it where the bottom one is since more room is
needed to accommodate the graphic.
(audio::-webkit-media-controls-wireless-playback-text-bottom.optimized): One line is
needed, so hide this one.
* Modules/mediacontrols/mediaControlsiOS.js:
(ControllerIOS.prototype.createControls): Several of the container divs are already
created in Controller.prototype.createControls(). Fly-by fix to avoid creation of
those divs. Only the panelContainer is new for the iOS controls. Fly-by fix of a
missing semicolon.
(ControllerIOS.prototype.handlePresentationModeChange): When the presentation mode
changes do several things:
    1- Update the background image. Clear the inline background image when going back
       to inline or in wireless playback.
    2- Add the "optimized" ClassName to the placeholder container, and the two text
       divs when entering optimized fullscreen. Remove them in other cases.
    3- Set -webkit-media-controls-wireless-playback-text-top to the placeholder text.
       This is better than embedding it inside the graphic. Clear the -bottom text.
* platform/ios/WebCoreSystemInterfaceIOS.h: Add a new enum to obtain the placeholder
text.

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

5 years ago[EFL] Use GSimpleProxyResolver instead of custom SoupProxyResolver
ryuan.choi@navercorp.com [Wed, 20 May 2015 02:46:43 +0000 (02:46 +0000)]
[EFL] Use GSimpleProxyResolver instead of custom SoupProxyResolver
https://bugs.webkit.org/show_bug.cgi?id=145154

Reviewed by Gyuyoung Kim.

SoupProxyResolver was deprecated since libsoup 2.42.
So, this patch refactors the custom SoupProxyResolver to GSimpleProxyResolver
which provides same functionality in gio.

No new tests, because there is not behavior change.

* PlatformEfl.cmake:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* platform/network/soup/ProxyResolverSoup.cpp: Removed.
* platform/network/soup/ProxyResolverSoup.h: Removed.
* platform/network/soup/SoupNetworkSession.cpp:
(WebCore::SoupNetworkSession::setHTTPProxy): Moved to private member.
(WebCore::SoupNetworkSession::httpProxy): Deleted because nobody calls it.
* platform/network/soup/SoupNetworkSession.h:

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

5 years agoUnreviewed, rolling out r184595.
commit-queue@webkit.org [Wed, 20 May 2015 01:48:33 +0000 (01:48 +0000)]
Unreviewed, rolling out r184595.
https://bugs.webkit.org/show_bug.cgi?id=145197

Introduced a crash in 15 layout tests on Mavericks on #webkit
(Requested by rniwa on #webkit).

Reverted changeset:

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

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

5 years agoREGRESSION(r181571): Build broken when USE(OPENGL_ES_2) is defined.
clopez@igalia.com [Wed, 20 May 2015 01:01:47 +0000 (01:01 +0000)]
REGRESSION(r181571): Build broken when USE(OPENGL_ES_2) is defined.
https://bugs.webkit.org/show_bug.cgi?id=145156

Reviewed by Alex Christensen.

Source/ThirdParty/ANGLE:

* include/GLES2/gl2softlinking.h: Revert r181589. Vertex Array Objects are not in GLESv2.

Source/WebCore:

No new tests, no behavior changes.

Vertex Array Objects are not available in OpenGLESv2.
Add guards to avoid using this when building with GLESv2.

* platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
(WebCore::GraphicsContext3D::createVertexArray):
(WebCore::GraphicsContext3D::deleteVertexArray):
(WebCore::GraphicsContext3D::isVertexArray):
(WebCore::GraphicsContext3D::bindVertexArray):

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

5 years agoWeb Inspector: Improve Preview for NodeList / array like collections
commit-queue@webkit.org [Wed, 20 May 2015 00:35:52 +0000 (00:35 +0000)]
Web Inspector: Improve Preview for NodeList / array like collections
https://bugs.webkit.org/show_bug.cgi?id=145177

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

Source/JavaScriptCore:

* inspector/InjectedScriptSource.js:
(InjectedScript.RemoteObject.prototype._appendPropertyPreviews):
For "array" like object previews skip over non-index properties.
We are not marking the object as lossless by choice, but we
may return to this decision later.

Source/WebInspectorUI:

* UserInterface/Views/ObjectPreviewView.js:
(WebInspector.ObjectPreviewView.prototype._appendPreview):
Show the class name for a non-basic-Array, but still hide
it for a basic Array.

LayoutTests:

* inspector/model/remote-object-expected.txt:

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

5 years agoUpper half of volume control should be filled, not hollow.
roger_fong@apple.com [Tue, 19 May 2015 23:59:27 +0000 (23:59 +0000)]
Upper half of volume control should be filled, not hollow.
https://bugs.webkit.org/show_bug.cgi?id=145187.
<rdar://problem/21021970>

Reviewed by Dean Jackson.

* Modules/mediacontrols/mediaControlsApple.js:
(Controller.prototype.drawVolumeBackground):

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

5 years agoREGRESSION(183787): JIT is enabled for all builds
msaboff@apple.com [Tue, 19 May 2015 23:09:43 +0000 (23:09 +0000)]
REGRESSION(183787): JIT is enabled for all builds
https://bugs.webkit.org/show_bug.cgi?id=145179

Reviewed by Geoffrey Garen.

Eliminated the setting of ENABLE_JIT, as wtf/Platform.h has appropriate logic to
set it depending on OS and CPU type.

Source/JavaScriptCore:

* Configurations/FeatureDefines.xcconfig:

Source/WebCore:

Only changed the way build options are initialized.

* Configurations/FeatureDefines.xcconfig:

Source/WebKit/mac:

* Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

* Configurations/FeatureDefines.xcconfig:

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

5 years ago[Mac] Font lookups are flakey due to caching
cdumez@apple.com [Tue, 19 May 2015 22:52:35 +0000 (22:52 +0000)]
[Mac] Font lookups are flakey due to caching
https://bugs.webkit.org/show_bug.cgi?id=145180
<rdar://problem/21012406>

Reviewed by Darin Adler.

Source/WebCore:

Font lookups were flakey on Mac due to the cache in fontWithFamily().
The reason is that the "desired family" to "available family" mapping
is sometimes dependent on the desired traits. However, our cache was
only using the "desired family" as key.

This patch now uses a std::pair as key containing both the "desired
family" and the "desired traits" for correctness. I also updated the
cache to use WTF types instead of NS types.

Test: platform/mac/fast/text/font-weights.html

* platform/graphics/mac/FontCacheMac.mm:
(WebCore::desiredFamilyToAvailableFamilyMap):
(WebCore::hasDesiredFamilyToAvailableFamilyMapping):
(WebCore::rememberDesiredFamilyToAvailableFamilyMapping):
(WebCore::fontWithFamily):
(WebCore::invalidateFontCache):
(WebCore::desiredFamilyToAvailableFamilyDictionary): Deleted.

LayoutTests:

* platform/mac/TestExpectations:
Unskip platform/mac/fast/text/font-weights.html as it is no longer
flakey after this change.

* platform/mac/fast/text/font-weights-expected.txt:
Rebaseline the test as the expected results were those based on the
bad caching behavior.

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

5 years agoX-Frame-Options headers not respected when loading from application cache.
beidson@apple.com [Tue, 19 May 2015 22:22:51 +0000 (22:22 +0000)]
X-Frame-Options headers not respected when loading from application cache.
<rdar://problem/14877623> and https://bugs.webkit.org/show_bug.cgi?id=131800

Reviewed by Alexey Proskuryakov.

Source/WebCore:

Test: http/tests/appcache/x-frame-options-prevents-framing.php

This patch updates SubstituteData to hold on to a ResourceResponse instead of just a URL.

It also updates all users of SubstituteData to reflect this.

Finally it updates ApplicationCacheHost to put the full response (including x-frame-options header)
in the SubstituteData so they can be checked at the appropriate times.

* loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::handleSubstituteDataLoadNow):
(WebCore::DocumentLoader::responseReceived): Update an ASSERT to reflect that it's okay to not have
  a main resource as long as you have a substitute identifier for it.
(WebCore::DocumentLoader::documentURL):
(WebCore::DocumentLoader::contentFilterDidDecide):

* loader/FrameLoader.cpp:
(WebCore::FrameLoader::loadArchive):
(WebCore::FrameLoader::defaultSubstituteDataForURL):

* loader/SubstituteData.h:
(WebCore::SubstituteData::SubstituteData):
(WebCore::SubstituteData::shouldRevealToSessionHistory):
(WebCore::SubstituteData::mimeType):
(WebCore::SubstituteData::textEncoding):
(WebCore::SubstituteData::response):
(WebCore::SubstituteData::responseURL): Deleted.

* loader/appcache/ApplicationCacheHost.cpp:
(WebCore::ApplicationCacheHost::maybeLoadMainResource): Put the full ResourceResponse here, which
  includes x-frame-options headers sent back when the resources was initially loaded from the network.

* platform/network/ResourceResponseBase.h:

Source/WebKit/mac:

* WebView/WebFrame.mm:
(-[WebFrame _loadData:MIMEType:textEncodingName:baseURL:unreachableURL:]):

Source/WebKit/win:

* WebFrame.cpp:
(WebFrame::loadData):

Source/WebKit2:

* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::loadDataImpl):

LayoutTests:

* http/tests/appcache/resources/x-frame-options-prevents-framing-test.html: Added.
* http/tests/appcache/resources/x-frame-options-prevents-framing.manifest: Added.
* http/tests/appcache/x-frame-options-prevents-framing-expected.txt: Added.
* http/tests/appcache/x-frame-options-prevents-framing.php: Added.

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

5 years agoAdd PLUGIN_ARCHITECTURE(MAC) around WKNVCALayerRenderServerPort in NetscapeBrowserFunc.h.
commit-queue@webkit.org [Tue, 19 May 2015 22:10:07 +0000 (22:10 +0000)]
Add PLUGIN_ARCHITECTURE(MAC) around WKNVCALayerRenderServerPort in NetscapeBrowserFunc.h.
https://bugs.webkit.org/show_bug.cgi?id=145173

Patch by Sungmann Cho <sungmann.cho@navercorp.com> on 2015-05-19
Reviewed by Anders Carlsson.

WKNVCALayerRenderServerPort in NetscapeBrowserFunc.h is meaningful only for Mac.
So we need to add PLUGIN_ARCHITECTURE(MAC) around it.

* WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.h:

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