WebKit-https.git
5 years ago[CMake] Define SHOULD_INSTALL_JS_SHELL before including ports Options files.
rakuco@webkit.org [Sat, 3 May 2014 18:52:45 +0000 (18:52 +0000)]
[CMake] Define SHOULD_INSTALL_JS_SHELL before including ports Options files.
https://bugs.webkit.org/show_bug.cgi?id=132525

Reviewed by Martin Robinson.

* CMakeLists.txt: If OPTION() is called after Options${PORT}.cmake is included, it will
override whatever value a port may have set for it. The GTK+ port, for example, tries to set
it to SHOULD_INSTALL_JS_SHELL to ON by default, even though it did not happen before.

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

5 years agoSubpixel rendering: Add hidpi fieldset/legend test case to check fieldset's cliprect...
zalan@apple.com [Sat, 3 May 2014 17:36:45 +0000 (17:36 +0000)]
Subpixel rendering: Add hidpi fieldset/legend test case to check fieldset's cliprect when legend text is present.
https://bugs.webkit.org/show_bug.cgi?id=132524

Reviewed by Simon Fraser.

This is the hidpi test for r168221. (Fieldset legend has a horizontal line
through, when the fieldset is painted on odd device pixel position.)

* fast/forms/hidpi-fieldset-on-subpixel-position-when-legend-is-present-expected.html: Added.
* fast/forms/hidpi-fieldset-on-subpixel-position-when-legend-is-present.html: Added.

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

5 years agoUnreviewed. Fix GTK+ build after r168209.
carlosgc@webkit.org [Sat, 3 May 2014 10:37:13 +0000 (10:37 +0000)]
Unreviewed. Fix GTK+ build after r168209.

* platform/leveldb/LevelDBDatabase.cpp:
(WebCore::LevelDBDatabase::write):

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

5 years agoSubpixel rendering: Fieldset legend has a horizontal line through, when the fieldset...
zalan@apple.com [Sat, 3 May 2014 07:47:38 +0000 (07:47 +0000)]
Subpixel rendering: Fieldset legend has a horizontal line through, when the fieldset is painted on odd device pixel position.
https://bugs.webkit.org/show_bug.cgi?id=132521
<rdar://problem/16803305>

Reviewed by Simon Fraser.

Use device pixel snapping when the fieldset's border gets clipped out for the legend's text. It ensures that
the device pixel snapped border gets properly clipped out.

Existing fieldset tests cover it.

* rendering/RenderFieldset.cpp:
(WebCore::RenderFieldset::paintBoxDecorations):

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

5 years ago[Mac] Unreviewed gardening.
zalan@apple.com [Sat, 3 May 2014 04:09:37 +0000 (04:09 +0000)]
[Mac] Unreviewed gardening.

Cliprect does not cover textarea properly on certain subpixel positions.

* platform/mac/TestExpectations:

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

5 years agoCodeCleanup: Remove *MaintainsPixelAlignment from GraphicsLayer*.
zalan@apple.com [Sat, 3 May 2014 01:16:00 +0000 (01:16 +0000)]
CodeCleanup: Remove *MaintainsPixelAlignment from GraphicsLayer*.
https://bugs.webkit.org/show_bug.cgi?id=132501

Reviewed by Simon Fraser.

* WebCore.exp.in:
* platform/graphics/GraphicsLayer.cpp:
(WebCore::GraphicsLayer::GraphicsLayer):
* platform/graphics/GraphicsLayer.h:
(WebCore::GraphicsLayer::setMaintainsPixelAlignment): Deleted.
(WebCore::GraphicsLayer::maintainsPixelAlignment): Deleted.
(WebCore::GraphicsLayer::pixelAlignmentOffset): Deleted.
* platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::updateGeometry):
(WebCore::GraphicsLayerCA::computePixelAlignment):
(WebCore::GraphicsLayerCA::setMaintainsPixelAlignment): Deleted.
* platform/graphics/ca/GraphicsLayerCA.h:
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::createGraphicsLayer):
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::keepLayersPixelAligned): Deleted.
* rendering/RenderLayerCompositor.h:

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

5 years ago<https://webkit.org/b/132505> Make it possible to tell copy-webkitlibraries-to-produc...
mrowe@apple.com [Sat, 3 May 2014 01:15:47 +0000 (01:15 +0000)]
<https://webkit.org/b/132505> Make it possible to tell copy-webkitlibraries-to-product-directory which OS X version to copy for

Reviewed by Dan Bernstein.

* Scripts/copy-webkitlibraries-to-product-directory: Add an --osx-version argument and use the passed value
when determining which LLVM archive to extract.

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

5 years ago[iOS WK2] Tiled layer content missing on pages with animated tiled layers
simon.fraser@apple.com [Sat, 3 May 2014 01:15:07 +0000 (01:15 +0000)]
[iOS WK2] Tiled layer content missing on pages with animated tiled layers
https://bugs.webkit.org/show_bug.cgi?id=132507
<rdar://problem/16765740>

Reviewed by Tim Horton.

Updating the tiling area of content TileControllers while
CSS animations are running depends on GraphicsLayerUpdater
triggering repeated layer flushes. With UI-side compositing, those
flushes were happening, but nothing triggered RemoteLayerTreeDrawingArea
to flush changes to the UI process.

Fix by having RenderLayerCompositor schedule a flush, rather
than just doing a flush, in response to GraphicsLayerUpdater.

Also change the name of the GraphicsLayerUpdaterClient function
to indicate that it suggests that a flush is required soon, rather than
that the flushing has to be synchronous.

* platform/graphics/GraphicsLayerUpdater.cpp:
(WebCore::GraphicsLayerUpdater::displayRefreshFired):
* platform/graphics/GraphicsLayerUpdater.h:
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::flushLayersSoon):
(WebCore::RenderLayerCompositor::flushLayers): Deleted.
* rendering/RenderLayerCompositor.h:

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

5 years agoUse displayNameForTrack instead of textTrack->label() for captions.
commit-queue@webkit.org [Sat, 3 May 2014 01:13:40 +0000 (01:13 +0000)]
Use displayNameForTrack instead of textTrack->label() for captions.
https://bugs.webkit.org/show_bug.cgi?id=131311

Patch by Jeremy Jones <jeremyj@apple.com> on 2014-05-02
Reviewed by Darin Adler.

Use the same mechanism as the desktop to build the captions list so it has the correct
names in the correct order including none and automatic.

* platform/ios/WebVideoFullscreenModelMediaElement.h:
* platform/ios/WebVideoFullscreenModelMediaElement.mm:
(WebVideoFullscreenModelMediaElement::setMediaElement):
move legible track code into updateLegibleOptions()

(WebVideoFullscreenModelMediaElement::handleEvent):
updateLegibleOptions on addTrack and removeTrack

(WebVideoFullscreenModelMediaElement::selectLegibleMediaOption):
select the corresponding TextTrack on HTMLMediaElement.

(WebVideoFullscreenModelMediaElement::updateLegibleOptions):
use the same mechanism as desktop to build the captions menu.

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

5 years agoCSS-based Media Controls Show Different times content longer than 1 hour.
commit-queue@webkit.org [Sat, 3 May 2014 01:12:27 +0000 (01:12 +0000)]
CSS-based Media Controls Show Different times content longer than 1 hour.
https://bugs.webkit.org/show_bug.cgi?id=132443

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

* Modules/mediacontrols/mediaControlsApple.css:
(audio::-webkit-media-controls-timeline-container .hour-long-time):
This class has a wider width for longer duration times.

* Modules/mediacontrols/mediaControlsApple.js:
(Controller.prototype.updateDuration):
Apply .hour-long-time class as appropriate.

(Controller.prototype.formatTime):
More robust formatting to handle hours.

* Modules/mediacontrols/mediaControlsiOS.css:
(audio::-webkit-media-controls-timeline-container .hour-long-time):
This class has a wider width for longer duration times.

* Modules/mediacontrols/mediaControlsiOS.js:
(ControllerIOS.prototype.formatTime):
More robust formatting to handle hours.

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

5 years ago[MSE][Mac] AVAssetTrack returns incorrect track size
jer.noble@apple.com [Sat, 3 May 2014 01:09:49 +0000 (01:09 +0000)]
[MSE][Mac] AVAssetTrack returns incorrect track size
https://bugs.webkit.org/show_bug.cgi?id=132469

Reviewed by Brent Fulgham.

* platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.h:
* platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
(WebCore::SourceBufferPrivateAVFObjC::didParseStreamDataAsAsset):  Remove the sizeChanged() notification.
(WebCore::SourceBufferPrivateAVFObjC::processCodedFrame): Cache the last parsed video frame size.
(WebCore::SourceBufferPrivateAVFObjC::naturalSize): Return the cached value.

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

5 years ago[Cocoa] Remove unused WKErrorRecoveryAttempting
mitz@apple.com [Sat, 3 May 2014 00:19:20 +0000 (00:19 +0000)]
[Cocoa] Remove unused WKErrorRecoveryAttempting
https://bugs.webkit.org/show_bug.cgi?id=132503

Reviewed by Anders Carlsson.

* UIProcess/API/Cocoa/WKBrowsingContextController.mm:
(didFailProvisionalLoadWithErrorForFrame):
(didFailLoadWithErrorForFrame):
(createErrorWithRecoveryAttempter): Deleted.
(-[WKBrowsingContextController attemptRecoveryFromError:]): Deleted.
* UIProcess/API/Cocoa/WKErrorRecoveryAttempting.m: Removed.
* UIProcess/API/Cocoa/_WKFormDelegate.h:
* WebKit2.xcodeproj/project.pbxproj:

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

5 years agoSubpixel rendering[iOS]: Use pixelSnappedRoundedRectForPainting() to clip text area...
zalan@apple.com [Sat, 3 May 2014 00:02:23 +0000 (00:02 +0000)]
Subpixel rendering[iOS]: Use pixelSnappedRoundedRectForPainting() to clip text area rect.
https://bugs.webkit.org/show_bug.cgi?id=132499
<rdar://problem/16631050>

Reviewed by Simon Fraser.

Snap to device pixels properly instead of relying on float arithmetics while converting from RoundedRect
to FloatRoundedRect. This is the second, cleanup part of the text-area decoration is off-by-one painting issue.

Currently not testable.

* rendering/RenderThemeIOS.mm:
(WebCore::RenderThemeIOS::paintTextFieldDecorations):

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

5 years agoREGRESSION (WebKit2) Need to support reanalyze button for Chinese Traditional.
enrica@apple.com [Sat, 3 May 2014 00:00:58 +0000 (00:00 +0000)]
REGRESSION (WebKit2) Need to support reanalyze button for Chinese Traditional.
https://bugs.webkit.org/show_bug.cgi?id=132504
<rdar://problem/16778862>

Reviewed by Benjamin Poulain.

For traditional Chinese we support reanalyzing of the text to perform
transformations on the text based on the selected language and keyboard.
This is done by pressing the Reanalyze button on the system
menu. This patch adds the necessary code to canPerformAction to enable
the button when appropriate as well as the implementation of the action
itself.

* UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _reanalyze:]):
(-[WKContentView canPerformAction:withSender:]):

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

5 years agoRemove HistogramSupport.
akling@apple.com [Fri, 2 May 2014 23:57:54 +0000 (23:57 +0000)]
Remove HistogramSupport.
<https://webkit.org/b/132354>

Prune some leftover Chromium gunk that no other ports ever used.

Reviewed by Simon Fraser.

* CMakeLists.txt:
* Modules/indexeddb/IDBDatabase.cpp:
(WebCore::IDBDatabase::createObjectStore):
(WebCore::IDBDatabase::deleteObjectStore):
(WebCore::IDBDatabase::transaction):
* Modules/indexeddb/IDBFactory.cpp:
(WebCore::IDBFactory::openInternal):
(WebCore::IDBFactory::deleteDatabase):
* Modules/indexeddb/IDBHistograms.h: Removed.
* Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:
(WebCore::IDBBackingStoreLevelDB::open):
(WebCore::IDBBackingStoreLevelDB::openInMemory):
(WebCore::recordInternalError): Deleted.
* Modules/indexeddb/leveldb/IDBBackingStoreTransactionLevelDB.cpp:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:
* css/CSSParser.cpp:
(WebCore::cssPropertyID):
* dom/Document.cpp:
(WebCore::Document::~Document):
(WebCore::histogramMutationEventUsage): Deleted.
* dom/ShadowRoot.cpp:
* fileapi/Blob.cpp:
* fileapi/WebKitBlobBuilder.cpp:
(WebCore::BlobBuilder::append):
* history/PageCache.cpp:
(WebCore::logCanCacheFrameDecision):
(WebCore::logCanCachePageDecision):
* platform/HistogramSupport.cpp: Removed.
* platform/HistogramSupport.h: Removed.
* platform/leveldb/LevelDBDatabase.cpp:
(WebCore::LevelDBDatabase::open):
(WebCore::histogramLevelDBError): Deleted.
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::updateNeedsCompositedScrolling):
* xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::send):

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

5 years agoStop flipping the ImageControlsButton
beidson@apple.com [Fri, 2 May 2014 23:38:30 +0000 (23:38 +0000)]
Stop flipping the ImageControlsButton
<rdar://problem/16773238> and https://bugs.webkit.org/show_bug.cgi?id=132502

Reviewed by Tim Horton.

* rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::paintImageControlsButton):

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

5 years agoREGRESSION (WebKit2) Need to support transliterate chinese button (简⇄繁) for Tradition...
enrica@apple.com [Fri, 2 May 2014 23:36:23 +0000 (23:36 +0000)]
REGRESSION (WebKit2) Need to support transliterate chinese button (简⇄繁) for Traditional Chinese.
https://bugs.webkit.org/show_bug.cgi?id=132500
<rdar://problem/16778870>

Reviewed by Benjamin Poulain.

For traditional Chinese we support the transliterate to simplified Chinese.
This is done by pressing the 简⇄繁 button on the system
menu. This patch adds the necessary code to canPerformAction to enable
the button when appropriate as well as the implementation of the action
itself.

* UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _transliterateChinese:]):
(-[WKContentView canPerformAction:withSender:]):

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

5 years agoFullscreen UI does not appear after WebProcess has crashed
commit-queue@webkit.org [Fri, 2 May 2014 23:11:14 +0000 (23:11 +0000)]
Fullscreen UI does not appear after WebProcess has crashed
https://bugs.webkit.org/show_bug.cgi?id=132442

Patch by Jeremy Jones <jeremyj@apple.com> on 2014-05-02
Reviewed by Darin Adler.

Source/WebCore:
Clean up immediately when there is a WebProcess crash.

* WebCore.exp.in:
* platform/ios/WebVideoFullscreenInterfaceAVKit.h:
* platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
(WebVideoFullscreenInterfaceAVKit::invalidate):
Clean-up resources immediately.

Source/WebKit2:
Cleanup WebVideoFullscreenManagerProxy after a WebProcess crash.

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::reattachToWebProcess):
recreate WebVideoFullscreenManagerProxy after a WebProcess crash.

(WebKit::WebPageProxy::resetState):
invalidate and release WebVideoFullscreenManagerProxy on crash.

* UIProcess/ios/WebVideoFullscreenManagerProxy.h:
* UIProcess/ios/WebVideoFullscreenManagerProxy.mm:
(WebKit::WebVideoFullscreenManagerProxy::~WebVideoFullscreenManagerProxy):
don't assume m_page is valid.

(WebKit::WebVideoFullscreenManagerProxy::invalidate):
do cleanup invalidation in reponse to a WebProcess crash.

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

5 years agoUnreviewed, rolling out r168192.
commit-queue@webkit.org [Fri, 2 May 2014 22:56:56 +0000 (22:56 +0000)]
Unreviewed, rolling out r168192.
https://bugs.webkit.org/show_bug.cgi?id=132498

Was not the correct fix (blurry!) (Requested by bfulgham_ on
#webkit).

Reverted changeset:

"[iOS] deviceScaleFactor is being double-applied when
rendering captions in full screen mode"
https://bugs.webkit.org/show_bug.cgi?id=132481
http://trac.webkit.org/changeset/168192

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

5 years ago[iOS][WK2] More animation madness for when the extendedBackground is modified in...
benjamin@webkit.org [Fri, 2 May 2014 22:54:27 +0000 (22:54 +0000)]
[iOS][WK2] More animation madness for when the extendedBackground is modified in an animation block
https://bugs.webkit.org/show_bug.cgi?id=132497

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-05-02
Reviewed by Beth Dakin.

* UIProcess/API/Cocoa/WKWebView.mm:
(updateTopAndBottomExtendedBackgroundExclusionIfNecessary):
Do not early return when _extendedBackgroundExclusionInsets.left is empty. That way, if executed in an animation block,
the top of bottom view will animate from their current size to an empty width.

When creating the layer, set up their height without animation. Otherwise it is possible to see the height animating
while the left inset is animating.

(-[WKWebView _setExtendedBackgroundExclusionInsets:]):
When replacing the scrollview, make sure the frame and color are not animated. Otherwise the transition between
scrollView and _mainExtendedBackgroundView can be visible if _setExtendedBackgroundExclusionInsets: is invoked
in an animation block.

(-[WKWebView _endAnimatedResize]):
Nuke the top and bottom insets when possible. [WKWebView _endAnimatedResize] is unfrequent, so it is a good opportunity
to free the memory.

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

5 years agoAdd Jeremy Jones as a committer. https://bugs.webkit.org/show_bug.cgi?id=132492
jeremyj-wk@apple.com [Fri, 2 May 2014 22:47:38 +0000 (22:47 +0000)]
Add Jeremy Jones as a committer. https://bugs.webkit.org/show_bug.cgi?id=132492

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

5 years agoRemove Blob contentDisposition handling
ap@apple.com [Fri, 2 May 2014 22:41:24 +0000 (22:41 +0000)]
Remove Blob contentDisposition handling
https://bugs.webkit.org/show_bug.cgi?id=132490

Reviewed by Sam Weinig.

Source/WebCore:
Dead code.

* platform/network/BlobData.h:
(WebCore::BlobData::contentDisposition): Deleted.
(WebCore::BlobData::setContentDisposition): Deleted.
* platform/network/BlobRegistryImpl.cpp:
(WebCore::BlobRegistryImpl::registerBlobURL):
(WebCore::BlobRegistryImpl::registerBlobURLForSlice):
* platform/network/BlobResourceHandle.cpp:
(WebCore::BlobResourceHandle::notifyResponseOnSuccess):
* platform/network/BlobStorageData.h:
(WebCore::BlobStorageData::create):
(WebCore::BlobStorageData::contentType):
(WebCore::BlobStorageData::BlobStorageData):
(WebCore::BlobStorageData::contentDisposition): Deleted.

Source/WebKit2:
* Shared/FileAPI/BlobRegistrationData.cpp:
(WebKit::BlobRegistrationData::encode):
(WebKit::BlobRegistrationData::decode):

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

5 years agoImplement FormData decoding using KeyedDecoder
andersca@apple.com [Fri, 2 May 2014 22:38:47 +0000 (22:38 +0000)]
Implement FormData decoding using KeyedDecoder
https://bugs.webkit.org/show_bug.cgi?id=132494

Reviewed by Tim Horton.

* platform/KeyedCoding.h:
(WebCore::KeyedDecoder::decodeEnum):
* platform/network/FormData.cpp:
(WebCore::decodeElement):
(WebCore::FormData::decode):
* platform/network/FormData.h:

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

5 years agoAdd Jeremy as a committer.
commit-queue@webkit.org [Fri, 2 May 2014 22:37:07 +0000 (22:37 +0000)]
Add Jeremy as a committer.
https://bugs.webkit.org/show_bug.cgi?id=132492

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

Add Jeremy Jones to the committers file.

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

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

5 years ago"arm64 function not 4-byte aligned" warnings when building JSC
msaboff@apple.com [Fri, 2 May 2014 22:24:37 +0000 (22:24 +0000)]
"arm64 function not 4-byte aligned" warnings when building JSC
https://bugs.webkit.org/show_bug.cgi?id=132495

Reviewed by Geoffrey Garen.

Added ".align 4" for both ARM Thumb2 and ARM 64 to silence the linker.

* llint/LowLevelInterpreter.cpp:

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

5 years ago[iOS][WK2] Adapt the rubberband constraints when the page get smaller than the scroll...
benjamin@webkit.org [Fri, 2 May 2014 22:05:26 +0000 (22:05 +0000)]
[iOS][WK2] Adapt the rubberband constraints when the page get smaller than the scrollview - insets
https://bugs.webkit.org/show_bug.cgi?id=132457

Reviewed by Enrica Casucci.

It is quite common for us to have a WKContentView that is scalled smaller than the WKWebView, content
insets included.

In those cases, update the constraints to fit the content properly in the view.

* UIProcess/ios/WKScrollView.mm:
(valuesAreWithinOnePixel):
(-[WKScrollView _rubberBandOffsetForOffset:maxOffset:minOffset:range:outside:]):

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

5 years ago-[_WKThumbnailView _requestSnapshotIfNeeded] assumes that taking a snapshot will...
mrowe@apple.com [Fri, 2 May 2014 22:04:02 +0000 (22:04 +0000)]
-[_WKThumbnailView _requestSnapshotIfNeeded] assumes that taking a snapshot will always succeed
<https://webkit.org/b/132489> / <rdar://problem/16704660>

Reviewed by Tim Horton.

* UIProcess/API/Cocoa/_WKThumbnailView.mm:
(-[_WKThumbnailView _requestSnapshotIfNeeded]): Don't attempt to create a CGImageRef if we failed
to create a ShareableBitmap. This handles both the callback receiving a null Handle and a failure
within ShareableBitmap::create.

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

5 years agoImplement new delegate method -sharingService:sourceFrameOnScreenForShareItem:.
beidson@apple.com [Fri, 2 May 2014 21:43:03 +0000 (21:43 +0000)]
Implement new delegate method -sharingService:sourceFrameOnScreenForShareItem:.
<rdar://problem/16797425> and https://bugs.webkit.org/show_bug.cgi?id=132484

Reviewed by Tim Horton.

* Misc/WebSharingServicePickerController.mm:
(-[WebSharingServicePickerController sharingService:sourceFrameOnScreenForShareItem:]):

* WebCoreSupport/WebContextMenuClient.h:
* WebCoreSupport/WebContextMenuClient.mm:
(WebContextMenuClient::screenRectForHitTestNode):

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

5 years ago[iOS] deviceScaleFactor is being double-applied when rendering captions in full scree...
bfulgham@apple.com [Fri, 2 May 2014 21:39:03 +0000 (21:39 +0000)]
[iOS] deviceScaleFactor is being double-applied when rendering captions in full screen mode
https://bugs.webkit.org/show_bug.cgi?id=132481

Reviewed by Jer Noble.

* html/shadow/MediaControlElements.cpp:
(WebCore::MediaControlTextTrackContainerElement::updateDisplay): Don't set the platform scale factor here. It is already
being accounted for in the createTextTrackRepresentationImage method.

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

5 years ago[iOS WK2] Don't create backing store for -webkit-overflow-scrolling:touch that can...
simon.fraser@apple.com [Fri, 2 May 2014 21:24:54 +0000 (21:24 +0000)]
[iOS WK2] Don't create backing store for -webkit-overflow-scrolling:touch that can't scroll
https://bugs.webkit.org/show_bug.cgi?id=132487
<rdar://problem/16758041>

Reviewed by Sam Weinig.

Source/WebCore:

Previously, -webkit-overflow-scrolling:touch would cause us to make compositing
layers for any element that had overflow: auto or scroll on either axis. This
created lots of backing store when not required.

Improve this to only create compositing for scrolling when there is actually
scrollable overflow. This makes things slightly more complex, because we can
only know when layout is up to date.

* rendering/RenderBox.cpp:
(WebCore::RenderBox::computeRectForRepaint): usesCompositedScrolling() tells
us if we're actually doing composited overflow.
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::hasTouchScrollableOverflow):
(WebCore::RenderLayer::handleTouchEvent):
* rendering/RenderLayer.h:
* rendering/RenderLayerBacking.cpp:
(WebCore::layerOrAncestorIsTransformedOrUsingCompositedScrolling):
(WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration): Only update
scrolling and clipping layers if layout is not pending.
(WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
(WebCore::RenderLayerBacking::updateScrollingLayers): The caller calls
updateInternalHierarchy(), so no need to do it here.
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::requiresCompositingForScrolling): We
can only determine that we're scrollable after layout.
(WebCore::isStickyInAcceleratedScrollingLayerOrViewport):
(WebCore::isMainFrameScrollingOrOverflowScrolling):

LayoutTests:

These are all progressions, and show that we make layers in fewer cases.

* platform/ios-sim/compositing/overflow/iframe-inside-overflow-clipping-expected.txt:
* platform/ios-sim/compositing/overflow/overflow-auto-with-touch-no-overflow-expected.txt:
* platform/ios-sim/compositing/overflow/overflow-overlay-with-touch-no-overflow-expected.txt:
* platform/ios-sim/compositing/overflow/overflow-scroll-with-touch-no-overflow-expected.txt:
* platform/ios-sim/compositing/overflow/subpixel-overflow-expected.txt:

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

5 years agoFix cloop build after r168178
mhahnenberg@apple.com [Fri, 2 May 2014 21:21:04 +0000 (21:21 +0000)]
Fix cloop build after r168178

* bytecode/CodeBlock.cpp:

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

5 years agoClean up FormDataElement
andersca@apple.com [Fri, 2 May 2014 21:03:00 +0000 (21:03 +0000)]
Clean up FormDataElement
https://bugs.webkit.org/show_bug.cgi?id=132483

Reviewed by Sam Weinig.

Source/WebCore:
* platform/network/FormData.cpp:
(WebCore::FormData::FormData):
(WebCore::FormData::deepCopy):
(WebCore::FormData::expandDataStore):
(WebCore::FormData::flatten):
(WebCore::FormData::resolveBlobReferences):
(WebCore::FormData::generateFiles):
(WebCore::FormData::hasGeneratedFiles):
(WebCore::FormData::hasOwnedGeneratedFiles):
(WebCore::FormData::removeGeneratedFilesIfNeeded):
(WebCore::encodeElement):
(WebCore::decodeElement):
* platform/network/FormData.h:
(WebCore::FormDataElement::FormDataElement):
(WebCore::operator==):
* platform/network/cf/FormDataStreamCFNet.cpp:
(WebCore::advanceCurrentStream):
(WebCore::setHTTPBody):
* platform/network/curl/FormDataStreamCurl.cpp:
(WebCore::FormDataStream::read):
* platform/network/curl/ResourceHandleManager.cpp:
(WebCore::setupFormData):
* platform/network/soup/ResourceHandleSoup.cpp:
(WebCore::addFormElementsToSoupMessage):

Source/WebKit2:
* NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::NetworkResourceLoader):
* Shared/Network/NetworkResourceLoadParameters.cpp:
(WebKit::NetworkResourceLoadParameters::encode):

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

5 years agoUpdate ANGLE Windows build.
commit-queue@webkit.org [Fri, 2 May 2014 20:53:11 +0000 (20:53 +0000)]
Update ANGLE Windows build.
https://bugs.webkit.org/show_bug.cgi?id=132456

Patch by Alex Christensen <achristensen@webkit.org> on 2014-05-02
Reviewed by Brent Fulgham.

* ANGLE.vcxproj/libEGLCommon.props:
* ANGLE.vcxproj/libGLESv2.vcxproj:
* ANGLE.vcxproj/libGLESv2.vcxproj.filters:
* ANGLE.vcxproj/libGLESv2Common.props:
* ANGLE.vcxproj/translator_common.vcxproj:
* ANGLE.vcxproj/translator_common.vcxproj.filters:
* ANGLE.vcxproj/translator_glsl.vcxproj:
* ANGLE.vcxproj/translator_glsl.vcxproj.filters:
* ANGLE.vcxproj/translator_hlsl.vcxproj:
* ANGLE.vcxproj/translator_hlsl.vcxproj.filters:
Updated ANGLE build.
* src/ANGLE.sln: Removed.
* src/build_angle.gyp: Removed.
* src/commit.h: Added.
* changes.diff:
* src/libGLESv2/Program.cpp:
(gl::InfoLog::append):
Fixed typo.

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

5 years ago[iOS] Wireless playback button not blue when active
jer.noble@apple.com [Fri, 2 May 2014 20:03:41 +0000 (20:03 +0000)]
[iOS] Wireless playback button not blue when active
https://bugs.webkit.org/show_bug.cgi?id=132473

Reviewed by Simon Fraser.

The playback button's class was being set to 'undefined', due to Controller.ClassNames.active being undefined.

* Modules/mediacontrols/mediaControlsApple.js:

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

5 years agoCrash inside [WebSharingServicePickerController clear]
beidson@apple.com [Fri, 2 May 2014 20:00:49 +0000 (20:00 +0000)]
Crash inside [WebSharingServicePickerController clear]
<rdar://problem/16791944> and https://bugs.webkit.org/show_bug.cgi?id=132477

Reviewed by Tim Horton.

* Misc/WebSharingServicePickerController.h:
* Misc/WebSharingServicePickerController.mm:
(-[WebSharingServicePickerController clear]): clear can be called twice, so null check _menuClient.

* WebCoreSupport/WebContextMenuClient.h:
* WebCoreSupport/WebContextMenuClient.mm:
(WebContextMenuClient::~WebContextMenuClient): For a sanity check, call clear on the picker here.

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

5 years agoHard to figure out how to run a single test with run-api-tests
burg@cs.washington.edu [Fri, 2 May 2014 19:54:17 +0000 (19:54 +0000)]
Hard to figure out how to run a single test with run-api-tests
https://bugs.webkit.org/show_bug.cgi?id=116332

Reviewed by Alexey Proskuryakov.

* Scripts/run-api-tests: add two examples to the help message.

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

5 years agoDon't abuse Blob deserialization constructor in WebSocket
ap@apple.com [Fri, 2 May 2014 19:43:57 +0000 (19:43 +0000)]
Don't abuse Blob deserialization constructor in WebSocket
https://bugs.webkit.org/show_bug.cgi?id=132478

Reviewed by Sam Weinig.

* Modules/websockets/WebSocketChannel.cpp:
(WebCore::WebSocketChannel::send):
(WebCore::WebSocketChannel::enqueueBlobFrame): This is the important change -
Blob::create was called for no reason. If the blob came from a worker, it was
already cloned for cross-thread messaging, otherwise there is no reason to make
a new one.

* fileapi/Blob.h:
(WebCore::Blob::deserialize):
(WebCore::Blob::create): Deleted.
* fileapi/File.h:
(WebCore::File::deserialize):
(WebCore::File::create): Deleted.
Renamed a special case of "create" function to avoid explaining what it is for.

* Modules/websockets/ThreadableWebSocketChannel.h:
* Modules/websockets/WebSocket.cpp:
(WebCore::WebSocket::send):
* Modules/websockets/WebSocketChannel.h:
* Modules/websockets/WorkerThreadableWebSocketChannel.cpp:
(WebCore::WorkerThreadableWebSocketChannel::send): Print a full URL in LOG(),
not one shortened to 1024 characters.
(WebCore::WorkerThreadableWebSocketChannel::Peer::send):
(WebCore::WorkerThreadableWebSocketChannel::mainThreadSendBlob):
(WebCore::WorkerThreadableWebSocketChannel::Bridge::send):
* Modules/websockets/WorkerThreadableWebSocketChannel.h:
* bindings/js/SerializedScriptValue.cpp:
(WebCore::CloneDeserializer::readFile):
(WebCore::CloneDeserializer::readTerminal):

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

5 years agoAdd and implement KeyedDecoder::decodeBytes
andersca@apple.com [Fri, 2 May 2014 19:34:33 +0000 (19:34 +0000)]
Add and implement KeyedDecoder::decodeBytes
https://bugs.webkit.org/show_bug.cgi?id=132479

Reviewed by Tim Horton.

Source/WebCore:
* platform/KeyedCoding.h:
(WebCore::KeyedDecoder::decodeBytes):

Source/WebKit2:
* Shared/cf/KeyedDecoder.cpp:
(WebKit::KeyedDecoder::decodeBytes):
* Shared/cf/KeyedDecoder.h:

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

5 years ago[iOS] WebKit2 File Upload Support
joepeck@webkit.org [Fri, 2 May 2014 19:28:30 +0000 (19:28 +0000)]
[iOS] WebKit2 File Upload Support
https://bugs.webkit.org/show_bug.cgi?id=132024

Reviewed by Enrica Casucci.

Source/WebCore:
* English.lproj/Localizable.strings:
New localized strings for <input type="file"> on iOS.

Source/WebKit2:
* Configurations/WebKit2.xcconfig:
Include MobileCoreServices on iOS for kUTTypeImage/kUTTypeMovie.

* WebKit2.xcodeproj/project.pbxproj:
Add new files.

* UIProcess/WebOpenPanelResultListenerProxy.h:
* UIProcess/WebOpenPanelResultListenerProxy.cpp:
(WebKit::filePathsFromFileURLs):
(WebKit::WebOpenPanelResultListenerProxy::chooseFiles):
* UIProcess/WebPageProxy.h:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::runOpenPanel):
(WebKit::WebPageProxy::didChooseFilesForOpenPanelWithDisplayStringAndIcon):
* WebProcess/WebPage/WebOpenPanelResultListener.h:
* WebProcess/WebPage/WebOpenPanelResultListener.cpp:
(WebKit::WebOpenPanelResultListener::didChooseFilesWithDisplayStringAndIcon):
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/WebPage.messages.in:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::didChooseFilesForOpenPanelWithDisplayStringAndIcon):
Message forwarding for choosing files and providing a display string and icon,
leading down to the existing WebCore FileChooser method.

* UIProcess/PageClient.h:
* UIProcess/ios/PageClientImplIOS.h:
* UIProcess/ios/PageClientImplIOS.mm:
(WebKit::PageClientImpl::handleRunOpenPanel):
Add a default handler for file open panel on iOS.
Forwards to the content view.

* UIProcess/ios/WKContentViewInteraction.h:
* UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView lastInteractionLocation]):
(-[WKContentView _webTouchEventsRecognized:]):
(-[WKContentView _highlightLongPressRecognized:]):
(-[WKContentView _longPressRecognized:]):
(-[WKContentView _singleTapRecognized:]):
(-[WKContentView _doubleTapRecognized:]):
(-[WKContentView _twoFingerDoubleTapRecognized:]):
Keep track of the last interaction location. This matches previous behavior
of showing the file upload popover where the user tapped, to handle
cases where the <input> is hidden.

(-[WKContentView _showRunOpenPanel:resultListener:]):
(-[WKContentView fileUploadPanelDidDismiss:]):
Handle showing the cleaning up after the file upload panel.

* UIProcess/ios/forms/WKFileUploadPanel.h:
* UIProcess/ios/forms/WKFileUploadPanel.mm: Added.
(squareCropRectForSize):
(squareImage):
(thumbnailSizedImageForImage):
(-[_WKFileUploadItem isVideo]):
(-[_WKFileUploadItem fileURL]):
(-[_WKFileUploadItem displayImage]):
(-[_WKImageFileUploadItem initWithFilePath:originalImage:]):
(-[_WKImageFileUploadItem isVideo]):
(-[_WKImageFileUploadItem fileURL]):
(-[_WKImageFileUploadItem displayImage]):
(-[_WKVideoFileUploadItem initWithFilePath:mediaURL:]):
(-[_WKVideoFileUploadItem isVideo]):
(-[_WKVideoFileUploadItem fileURL]):
(-[_WKVideoFileUploadItem displayImage]):
Helper class for each image picker selection. Knows how to get
a file URL and thumbnail display image for the item.

(-[WKFileUploadPanel initWithView:]):
(-[WKFileUploadPanel dealloc]):
(-[WKFileUploadPanel _dispatchDidDismiss]):
(-[WKFileUploadPanel _cancel]):
(-[WKFileUploadPanel _chooseFiles:displayString:iconImage:]):
Lifetime of the upload panel requires that either cancel or choose
must happen as we go through the file picking process.

(-[WKFileUploadPanel presentWithParameters:WebKit::resultListener:WebKit::]):
(-[WKFileUploadPanel dismiss]):
API to show or dismiss the panel.

(-[WKFileUploadPanel _dismissDisplayAnimated:]):
Helper to clean up the UI as it progresses or completes no matter the device idiom.

(-[WKFileUploadPanel _presentPopoverWithContentViewController:animated:]):
(-[WKFileUploadPanel _presentFullscreenViewController:animated:]):
UI presentation for the appropriate idiom.

(-[WKFileUploadPanel _mediaTypesForPickerSourceType:]):
(-[WKFileUploadPanel _showMediaSourceSelectionSheet]):
(-[WKFileUploadPanel _showPhotoPickerWithSourceType:]):
Showing the action sheet or image picker.

(-[WKFileUploadPanel popoverControllerDidDismissPopover:]):
(-[WKFileUploadPanel _willMultipleSelectionDelegateBeCalled]):
(-[WKFileUploadPanel imagePickerController:didFinishPickingMediaWithInfo:]):
(-[WKFileUploadPanel imagePickerController:didFinishPickingMultipleMediaWithInfo:]):
(-[WKFileUploadPanel imagePickerControllerDidCancel:]):
Action sheet or image picker handlers.

(-[WKFileUploadPanel _processMediaInfoDictionaries:successBlock:failureBlock:]):
(-[WKFileUploadPanel _processMediaInfoDictionaries:atIndex:processedResults:processedImageCount:processedVideoCount:successBlock:failureBlock:]):
(-[WKFileUploadPanel _uploadItemFromMediaInfo:successBlock:failureBlock:]):
(-[WKFileUploadPanel _displayStringForPhotos:videos:]):
Processing selections from the image picker to FileUploadItems.

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

5 years agoRemove unsuccessful build fix attempts
andersca@apple.com [Fri, 2 May 2014 19:01:10 +0000 (19:01 +0000)]
Remove unsuccessful build fix attempts
https://bugs.webkit.org/show_bug.cgi?id=132476

Reviewed by Dan Bernstein.

* WebKit.xcodeproj/project.pbxproj:

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

5 years agoAdd a DFG function whitelist
mhahnenberg@apple.com [Fri, 2 May 2014 18:52:10 +0000 (18:52 +0000)]
Add a DFG function whitelist
https://bugs.webkit.org/show_bug.cgi?id=132437

Reviewed by Geoffrey Garen.

Often times when debugging, using bytecode ranges isn't enough to narrow down to the
particular DFG block that's causing issues. This patch adds the ability to whitelist
specific functions specified in a file to enable further filtering without having to recompile.

* CMakeLists.txt:
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
* JavaScriptCore.xcodeproj/project.pbxproj:
* dfg/DFGCapabilities.cpp:
(JSC::DFG::isSupported):
(JSC::DFG::mightInlineFunctionForCall):
(JSC::DFG::mightInlineFunctionForClosureCall):
(JSC::DFG::mightInlineFunctionForConstruct):
* dfg/DFGFunctionWhitelist.cpp: Added.
(JSC::DFG::FunctionWhitelist::ensureGlobalWhitelist):
(JSC::DFG::FunctionWhitelist::FunctionWhitelist):
(JSC::DFG::FunctionWhitelist::parseFunctionNamesInFile):
(JSC::DFG::FunctionWhitelist::contains):
* dfg/DFGFunctionWhitelist.h: Added.
* runtime/Options.cpp:
(JSC::parse):
(JSC::Options::dumpOption):
* runtime/Options.h:

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

5 years agoFix several memory leaks found by code inspection
simon.fraser@apple.com [Fri, 2 May 2014 18:46:53 +0000 (18:46 +0000)]
Fix several memory leaks found by code inspection
https://bugs.webkit.org/show_bug.cgi?id=132472

Reviewed by Geoffrey Garen.

Fix memory leaks.

* TestWebKitAPI/Tests/mac/WillSendSubmitEvent.mm:
(TestWebKitAPI::TEST):
* WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
(WTR::InjectedBundlePage::willSendRequestForFrame):
* WebKitTestRunner/mac/PlatformWebViewMac.mm:
(WTR::PlatformWebView::changeWindowScaleIfNeeded):

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

5 years ago[iOS WK2] Animations on vox.com look wrong
simon.fraser@apple.com [Fri, 2 May 2014 17:29:22 +0000 (17:29 +0000)]
[iOS WK2] Animations on vox.com look wrong
https://bugs.webkit.org/show_bug.cgi?id=132462
<rdar://problem/16731884>

Reviewed by Sam Weinig.

PlatformCALayerRemote was managing animations incorrectly; aninations
would stick around in m_properties.addedAnimations and get added a second
time by mistake.

Animations have to be managed a little differently to other properties,
since they are not steady-state things. A given commit has to send over
the added and removed animations, and then clear the layer properties.

Do this by adding PlatformCALayerRemote::didCommit(), which is called
after the layer properties have been encoded, and have it clear the lists
of added and removed animations.

removeAnimationForKey() also has to remove the animation from addedAnimations
so that an add/remove in the same commit doesn't send the animation to the
UI process.

* WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
(WebKit::PlatformCALayerRemote::recursiveBuildTransaction):
(WebKit::PlatformCALayerRemote::didCommit):
(WebKit::PlatformCALayerRemote::removeAnimationForKey):
* WebProcess/WebPage/mac/PlatformCALayerRemote.h:
* WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
(WebKit::RemoteLayerTreeDrawingArea::flushLayers):

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

5 years ago[iOS WK2] Can't scroll on gatesnotes.com
simon.fraser@apple.com [Fri, 2 May 2014 17:29:20 +0000 (17:29 +0000)]
[iOS WK2] Can't scroll on gatesnotes.com
https://bugs.webkit.org/show_bug.cgi?id=132459
<rdar://problem/16770909>

Reviewed by Benjamin Poulain.

The custom UIView hit-testing code was finding views that were created by
the compositing code for clipping, above the UIScrollViews. We only ever
need to find UIScrollViews here for touch overflow-scrolling, so constrain
the hit-testing code to only return UIScrollViews.

* UIProcess/ios/RemoteLayerTreeHostIOS.mm:
(-[UIView _recursiveFindDescendantScrollViewAtPoint:withEvent:]):
(-[UIView _findDescendantViewAtPoint:withEvent:]):
(-[UIView _recursiveFindDescendantViewAtPoint:withEvent:]): Deleted.

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

5 years agoUnreviewed, rolling out r168150.
commit-queue@webkit.org [Fri, 2 May 2014 17:27:40 +0000 (17:27 +0000)]
Unreviewed, rolling out r168150.
https://bugs.webkit.org/show_bug.cgi?id=132471

This test is still broken (Requested by ap on #webkit).

Reverted changeset:

"REGRESSION(r125251): It made svg/custom/use-instanceRoot-as-
event-target.xhtml assert and flakey"
https://bugs.webkit.org/show_bug.cgi?id=93812
http://trac.webkit.org/changeset/168150

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

5 years agoDFGAbstractInterpreter should not claim Int52 arithmetic creates Int52s
fpizlo@apple.com [Fri, 2 May 2014 17:23:30 +0000 (17:23 +0000)]
DFGAbstractInterpreter should not claim Int52 arithmetic creates Int52s
https://bugs.webkit.org/show_bug.cgi?id=132446

Reviewed by Mark Hahnenberg.

Source/JavaScriptCore:
Basically any arithmetic operation can turn an Int52 into an Int32 or vice-versa, and
our modeling of Int52Rep nodes is such that they can have either Int32 or Int52 type
to indicate a bound on the value. This is useful for knowing, for example, that
Int52Rep(Int32:) returns a value that cannot be outside the Int32 range. Also,
ValueRep(Int52Rep:) uses this to determine whether it may return a double or an int.
But this means that all arithmetic operations must be careful to note that they may
turn Int32 inputs into an Int52 output or vice-versa, as these new tests show.

* dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::makeSafe):
* tests/stress/int52-ai-add-then-filter-int32.js: Added.
(foo):
* tests/stress/int52-ai-mul-and-clean-neg-zero-then-filter-int32.js: Added.
(foo):
* tests/stress/int52-ai-mul-then-filter-int32-directly.js: Added.
(foo):
* tests/stress/int52-ai-mul-then-filter-int32.js: Added.
(foo):
* tests/stress/int52-ai-neg-then-filter-int32.js: Added.
(foo):
* tests/stress/int52-ai-sub-then-filter-int32.js: Added.
(foo):

Tools:
Test the FTL by default now that it's enabled by default.

* Scripts/run-javascriptcore-tests:

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

5 years agoAX: WK2: iOS web page scrolling doesn't work with VoiceOver
cfleizach@apple.com [Fri, 2 May 2014 16:19:32 +0000 (16:19 +0000)]
AX: WK2: iOS web page scrolling doesn't work with VoiceOver
https://bugs.webkit.org/show_bug.cgi?id=132028

Reviewed by Mario Sanchez Prada.

With the AX tree residing in the WebProcess, scrolling needs to be implemented in
WebCore using accessibilityScroll: in order for accessibility clients to scroll through the AX API.

* accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::scrollViewAncestor):
(WebCore::AccessibilityObject::scrollToMakeVisibleWithSubFocus):
* accessibility/AccessibilityObject.h:
* accessibility/ios/WebAccessibilityObjectWrapperIOS.h:
* accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
(-[WebAccessibilityObjectWrapper _accessibilityConvertPointToViewSpace:]):
(-[WebAccessibilityObjectWrapper _accessibilityScrollToVisible]):
(-[WebAccessibilityObjectWrapper accessibilityScroll:]):
(-[WebAccessibilityObjectWrapper postScrollStatusChangeNotification]):
(-[WebAccessibilityObjectWrapper _accessibilityScrollPosition]):
(-[WebAccessibilityObjectWrapper _accessibilityScrollSize]):
(-[WebAccessibilityObjectWrapper _accessibilityScrollVisibleRect]):

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

5 years agoWeb Inspector: CodeMirror 4 CSS mode new state data structure breaks helpers.
commit-queue@webkit.org [Fri, 2 May 2014 16:04:09 +0000 (16:04 +0000)]
Web Inspector: CodeMirror 4 CSS mode new state data structure breaks helpers.
https://bugs.webkit.org/show_bug.cgi?id=132149

Patch by Jono Wells <jonowells@apple.com> on 2014-05-02
Reviewed by Joseph Pecoraro.

The update to CodeMirror 4 included dramatic changes to the CSS mode,
particularly the way it handles tokens. `state.stack` is gone, replaced
by `state.context`.

* Tools/PrettyPrinting/CodeMirrorFormatters.js:
* Tools/PrettyPrinting/codemirror.js:
* UserInterface/External/CodeMirror/codemirror.js:
* UserInterface/External/CodeMirror/livescript.js:
* UserInterface/External/CodeMirror/runmode.js:
Updates from ToT CodeMirror.

* UserInterface/Controllers/CodeMirrorCompletionController.js:
(WebInspector.CodeMirrorCompletionController.prototype._generateCSSCompletions):
* UserInterface/Views/CodeMirrorAdditions.js:
* UserInterface/Views/CodeMirrorFormatters.js: `lastToken` is null now for ":" characters.
Changes to match structural changes to the state object and changes to expected values of `lastToken`.

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

5 years agoPause playback on exit fullscreen when inline playback not allowed.
jeremyj@apple.com [Fri, 2 May 2014 13:52:01 +0000 (13:52 +0000)]
Pause playback on exit fullscreen when inline playback not allowed.
https://bugs.webkit.org/show_bug.cgi?id=132450

Reviewed by Jer Noble.

Use correct method of determining if inline playback is allowed.

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::parseAttribute):
Use m_mediaSession->requiresFullscreenForVideoPlayback to detect if inline playback is allowed.

* platform/ios/WebVideoFullscreenModelMediaElement.mm:
(WebVideoFullscreenModelMediaElement::requestExitFullscreen):
Prevent duplicate exit requests.

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

5 years agoREGRESSION(r168118): [GTK] build broken due to shouldTrackVisitedLinks
commit-queue@webkit.org [Fri, 2 May 2014 12:03:07 +0000 (12:03 +0000)]
REGRESSION(r168118): [GTK] build broken due to shouldTrackVisitedLinks
https://bugs.webkit.org/show_bug.cgi?id=132447

Unreviewed GTK build fix.

shouldTrackVisitedLinks was removed on r168118.
Visited link coloring works as expected after this change.

Patch by Carlos Alberto Lopez Perez <clopez@igalia.com> on 2014-05-02

* UIProcess/gtk/WebContextGtk.cpp:
(WebKit::WebContext::platformInitializeWebProcess): Remove
shouldTrackVisitedLinks parameter.

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

5 years ago[CSS Blending] Remove support for non-separable blend modes from background-blend...
commit-queue@webkit.org [Fri, 2 May 2014 09:35:34 +0000 (09:35 +0000)]
[CSS Blending] Remove support for non-separable blend modes from background-blend-mode
https://bugs.webkit.org/show_bug.cgi?id=132327

Patch by Ion Rosca <rosca@adobe.com> on 2014-05-02
Reviewed by Dean Jackson.

Source/WebCore:
Removed support for non-separable background blend modes from the CSS parser.
Covered by existing tests.

* css/CSSParser.cpp:
(WebCore::CSSParser::parseFillProperty):

LayoutTests:
* css3/compositing/background-blend-mode-gif-color-2.html:
* css3/compositing/background-blend-mode-gif-color.html:
* css3/compositing/background-blend-mode-gradient-color.html:
* css3/compositing/background-blend-mode-gradient-gradient.html:
* css3/compositing/background-blend-mode-gradient-image.html:
* css3/compositing/background-blend-mode-image-color.html:
* css3/compositing/background-blend-mode-image-image.html:
* css3/compositing/background-blend-mode-image-svg.html:
* css3/compositing/background-blend-mode-multiple-background-layers.html:
* css3/compositing/background-blend-mode-property-expected.txt:
* css3/compositing/background-blend-mode-property-parsing-expected.txt:
* css3/compositing/background-blend-mode-svg-color.html:
* css3/compositing/effect-background-blend-mode-tiled.html:
* css3/compositing/effect-background-blend-mode.html:
* css3/compositing/script-tests/background-blend-mode-property-parsing.js:
* css3/compositing/script-tests/background-blend-mode-property.js:
* platform/mac/css3/compositing/background-blend-mode-gif-color-2-expected.png:
* platform/mac/css3/compositing/background-blend-mode-gif-color-2-expected.txt:
* platform/mac/css3/compositing/background-blend-mode-gif-color-expected.png:
* platform/mac/css3/compositing/background-blend-mode-gif-color-expected.txt:
* platform/mac/css3/compositing/background-blend-mode-gradient-color-expected.png:
* platform/mac/css3/compositing/background-blend-mode-gradient-gradient-expected.png:
* platform/mac/css3/compositing/background-blend-mode-gradient-image-expected.png:
* platform/mac/css3/compositing/background-blend-mode-image-color-expected.png:
* platform/mac/css3/compositing/background-blend-mode-image-color-expected.txt:
* platform/mac/css3/compositing/background-blend-mode-image-image-expected.png:
* platform/mac/css3/compositing/background-blend-mode-image-image-expected.txt:
* platform/mac/css3/compositing/background-blend-mode-image-svg-expected.png:
* platform/mac/css3/compositing/background-blend-mode-multiple-background-layers-expected.png:
* platform/mac/css3/compositing/background-blend-mode-svg-color-expected.png:

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

5 years agoClean up #include <OwnPtr.h>|<PassOwnPtr.h> in Supplementable classes
gyuyoung.kim@samsung.com [Fri, 2 May 2014 08:59:29 +0000 (08:59 +0000)]
Clean up #include <OwnPtr.h>|<PassOwnPtr.h> in Supplementable classes
https://bugs.webkit.org/show_bug.cgi?id=132466

Reviewed by Tim Horton.

Since r168144, Supplementable classes don't need to include OwnPtr.h or PassOwnPtr.h.
Clean up those inclusions.

No new tests, just clean up patch.

* Modules/encryptedmedia/CDMPrivate.h:
* Modules/gamepad/NavigatorGamepad.cpp:
* Modules/geolocation/GeolocationController.cpp:
(WebCore::GeolocationController::create): Deleted. Don't need to have a factory function.
* Modules/geolocation/GeolocationController.h:
* Modules/mediasource/MediaSource.h:
* Modules/mediastream/UserMediaController.h:
* Modules/notifications/NotificationCenter.h:
* Modules/notifications/NotificationController.cpp:
* Modules/quota/StorageErrorCallback.h:
* Modules/vibration/Vibration.h:
* Modules/webdatabase/Database.cpp:
* Modules/websockets/ThreadableWebSocketChannelClientWrapper.h:
* Modules/websockets/WebSocket.cpp:
* Modules/websockets/WebSocket.h:

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

5 years agoMore 32-bit build fixes.
timothy_horton@apple.com [Fri, 2 May 2014 06:23:31 +0000 (06:23 +0000)]
More 32-bit build fixes.

* Misc/WebSharingServicePickerController.mm:
(-[WebSharingServicePickerController sharingService:didShareItems:]):

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

5 years agoAdded Radar link to the last ChangeLog entry.
mitz@apple.com [Fri, 2 May 2014 05:55:44 +0000 (05:55 +0000)]
Added Radar link to the last ChangeLog entry.

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

5 years agoTemporarily "fix" the 32-bit build.
timothy_horton@apple.com [Fri, 2 May 2014 05:55:37 +0000 (05:55 +0000)]
Temporarily "fix" the 32-bit build.

* Misc/WebSharingServicePickerController.mm:
This will fail miserably at runtime, but we shouldn't ever get here in a 32-bit process.

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

5 years agoFixed production builds for the iOS Simulator.
mitz@apple.com [Fri, 2 May 2014 05:53:08 +0000 (05:53 +0000)]
Fixed production builds for the iOS Simulator.

* Configurations/bmalloc.xcconfig: Include INSTALL_PATH_PREFIX in
PRIVATE_HEADERS_FOLDER_PATH when installing.

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

5 years agoRemove TiledBackingStore stuff from Frame
ryuan.choi@samsung.com [Fri, 2 May 2014 05:49:24 +0000 (05:49 +0000)]
Remove TiledBackingStore stuff from Frame
https://bugs.webkit.org/show_bug.cgi?id=132458

Reviewed by Andreas Kling.

Although TiledBackingStore is using for the CoordinatedGraphics,
CoordinatedGraphics does not use tiledBackingStore of Frame.

This patch removed TiledBackingStore related code of the Frame.

* page/Frame.cpp:
(WebCore::Frame::Frame):
(WebCore::Frame::setView):
(WebCore::Frame::setTiledBackingStoreEnabled): Deleted.
(WebCore::Frame::tiledBackingStorePaintBegin): Deleted.
(WebCore::Frame::tiledBackingStorePaint): Deleted.
(WebCore::Frame::tiledBackingStorePaintEnd): Deleted.
(WebCore::Frame::tiledBackingStoreContentsRect): Deleted.
(WebCore::Frame::tiledBackingStoreVisibleRect): Deleted.
(WebCore::Frame::tiledBackingStoreBackgroundColor): Deleted.
* page/Frame.h:
(WebCore::Frame::tiledBackingStore): Deleted.
* page/FrameView.cpp:
(WebCore::FrameView::repaintContentRectangle):
* page/Settings.cpp:
(WebCore::Settings::Settings):
(WebCore::Settings::setTiledBackingStoreEnabled): Deleted.
* page/Settings.h:
(WebCore::Settings::tiledBackingStoreEnabled): Deleted.

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

5 years agoREGRESSION(r125251): It made svg/custom/use-instanceRoot-as-event-target.xhtml assert...
ap@apple.com [Fri, 2 May 2014 05:19:18 +0000 (05:19 +0000)]
REGRESSION(r125251): It made svg/custom/use-instanceRoot-as-event-target.xhtml assert and flakey
https://bugs.webkit.org/show_bug.cgi?id=93812

This is most likely fixed, unmarking the test.

* platform/gtk/TestExpectations:
* platform/mac/TestExpectations:

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

5 years agoMigrate all uses of DeviceMotionController and DeviceOrientationController to std...
mmaxfield@apple.com [Fri, 2 May 2014 04:23:34 +0000 (04:23 +0000)]
Migrate all uses of DeviceMotionController and DeviceOrientationController to std::unique_ptr
https://bugs.webkit.org/show_bug.cgi?id=132461

Unreviewed build fix.

No new tests.

* dom/Document.cpp:
(WebCore::Document::Document):
* dom/Document.h:
* platform/ios/DeviceMotionClientIOS.h:
(WebCore::DeviceMotionClientIOS::create): Deleted.
* platform/ios/DeviceOrientationClientIOS.h:
(WebCore::DeviceOrientationClientIOS::create): Deleted.

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

5 years agoUpdate service picker API usage.
beidson@apple.com [Fri, 2 May 2014 03:31:43 +0000 (03:31 +0000)]
Update service picker API usage.
<rdar://problem/16772674> and https://bugs.webkit.org/show_bug.cgi?id=132452

Reviewed by Tim Horton.

* Misc/WebSharingServicePickerController.h:
* Misc/WebSharingServicePickerController.mm:
(-[WebSharingServicePickerController didShareImageData:confirmDataIsValidTIFFData:]):
  Factor out a common "didShare" handler that optionally validates whether the data represents an image.
(-[WebSharingServicePickerController sharingService:didShareItems:]): Update API usage, including marshalling
  on off-main thread call back to the main thread.

* WebCoreSupport/WebContextMenuClient.mm:
(WebContextMenuClient::contextMenuForEvent): Update API usage.

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

5 years agoConvert OwnPtr and PassOwnPtr uses to std::unique_ptr in Supplement
gyuyoung.kim@samsung.com [Fri, 2 May 2014 02:28:49 +0000 (02:28 +0000)]
Convert OwnPtr and PassOwnPtr uses to std::unique_ptr in Supplement
https://bugs.webkit.org/show_bug.cgi?id=132165

Reviewed by Darin Adler.

According to convert from PassOwnPtr to std::unique_ptr, provideTo() callers also begin
to use std::make_unique.

* Modules/battery/BatteryController.cpp:
(WebCore::provideBatteryTo):
* Modules/battery/BatteryController.h:
* Modules/battery/NavigatorBattery.cpp:
(WebCore::NavigatorBattery::from):
* Modules/gamepad/NavigatorGamepad.cpp:
(WebCore::NavigatorGamepad::from):
* Modules/geolocation/GeolocationController.cpp:
(WebCore::provideGeolocationTo):
* Modules/geolocation/GeolocationController.h:
* Modules/geolocation/NavigatorGeolocation.cpp:
(WebCore::NavigatorGeolocation::from):
* Modules/indexeddb/DOMWindowIndexedDatabase.cpp:
(WebCore::DOMWindowIndexedDatabase::from):
* Modules/indexeddb/PageGroupIndexedDatabase.cpp:
(WebCore::PageGroupIndexedDatabase::from):
* Modules/indexeddb/WorkerGlobalScopeIndexedDatabase.cpp:
(WebCore::WorkerGlobalScopeIndexedDatabase::from):
* Modules/mediastream/UserMediaController.cpp:
(WebCore::provideUserMediaTo):
(WebCore::UserMediaController::create): Deleted.
* Modules/mediastream/UserMediaController.h:
* Modules/navigatorcontentutils/NavigatorContentUtils.cpp:
(WebCore::provideNavigatorContentUtilsTo):
(WebCore::NavigatorContentUtils::create): Deleted.
* Modules/navigatorcontentutils/NavigatorContentUtils.h:
* Modules/notifications/DOMWindowNotifications.cpp:
(WebCore::DOMWindowNotifications::from):
* Modules/notifications/NotificationController.cpp:
(WebCore::provideNotification):
(WebCore::NotificationController::create): Deleted.
* Modules/notifications/NotificationController.h:
* Modules/notifications/WorkerGlobalScopeNotifications.cpp:
(WebCore::WorkerGlobalScopeNotifications::from):
* Modules/proximity/DeviceProximityController.cpp:
(WebCore::provideDeviceProximityTo):
(WebCore::DeviceProximityController::create): Deleted.
* Modules/proximity/DeviceProximityController.h:
* Modules/quota/DOMWindowQuota.cpp:
(WebCore::DOMWindowQuota::from):
* Modules/quota/NavigatorStorageQuota.cpp:
(WebCore::NavigatorStorageQuota::from):
* Modules/quota/WorkerNavigatorStorageQuota.cpp:
(WebCore::WorkerNavigatorStorageQuota::from):
* Modules/speech/DOMWindowSpeechSynthesis.cpp:
(WebCore::DOMWindowSpeechSynthesis::from):
* Modules/speech/SpeechRecognitionController.cpp:
(WebCore::provideSpeechRecognitionTo):
* Modules/vibration/Vibration.cpp:
(WebCore::provideVibrationTo):
(WebCore::Vibration::create): Deleted.
* Modules/vibration/Vibration.h:
* dom/DeviceMotionController.cpp:
(WebCore::provideDeviceMotionTo):
(WebCore::DeviceMotionController::create): Deleted.
* dom/DeviceMotionController.h:
* dom/DeviceOrientationController.cpp:
(WebCore::provideDeviceOrientationTo):
(WebCore::DeviceOrientationController::create): Deleted.
* dom/DeviceOrientationController.h:
* page/SpeechInput.cpp:
(WebCore::provideSpeechInputTo):
(WebCore::SpeechInput::create): Deleted.
* page/SpeechInput.h:
* platform/Supplementable.h:
(WebCore::Supplement::provideTo):
(WebCore::Supplementable::provideSupplement):
* testing/InternalSettings.cpp:
(WebCore::InternalSettings::from):

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

5 years agoCorrect case of environment variables in auto-version.sh scripts
bfulgham@apple.com [Fri, 2 May 2014 01:45:13 +0000 (01:45 +0000)]
Correct case of environment variables in auto-version.sh scripts
https://bugs.webkit.org/show_bug.cgi?id=132455

Reviewed by Dean Jackson.

Although we have historically used RC_PROJECTSOURCEVERSION in our scripts,
the actual environment variable is RC_ProjectSourceVersion. Old versions of
Cygwin converted this to all-caps by default, but this is no longer the case.
We need to use the proper case to avoid build failures.

* win/tools/scripts/auto-version.sh: Although we have historically coded
this as 'RC_PROJECTSOURCEVERSION', it is actually 'RC_ProjectSourceVersion'.

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

5 years agoREGRESSION (WebKit2) Need to support Learn button.
enrica@apple.com [Fri, 2 May 2014 01:40:13 +0000 (01:40 +0000)]
REGRESSION (WebKit2) Need to support Learn button.
https://bugs.webkit.org/show_bug.cgi?id=132454
<rdar://problem/16778889>

Reviewed by Benjamin Poulain.

For traditional Chinese we support the ability to add shortcuts
for typing. This is done by pressing the Learn button on the system
menu. This patch adds the necessary code to canPerformAction to enable
the button when appropriate as well as the implementation of the action
itself.
It also adds a check for the Replace button not to be shown when the
selection only contains CJ characters.

* UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _addShortcut:]):
(-[WKContentView canPerformAction:withSender:]):

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

5 years ago[EFL][WK1] Drop ewk_view_setting_tiled_backingstore APIs
ryuan.choi@samsung.com [Fri, 2 May 2014 01:21:53 +0000 (01:21 +0000)]
[EFL][WK1] Drop ewk_view_setting_tiled_backingstore APIs
https://bugs.webkit.org/show_bug.cgi?id=132240

Reviewed by Anders Carlsson.

Source/WebKit/efl:
Since we moved to use TextureMapper, this option is meaningless now.
Removed ewk_view_setting_tiled_backing_store_enabled_{get|set} and related codes.

* ewk/ewk_view.cpp:
(ewk_view_setting_tiled_backing_store_enabled_set): Deleted.
(ewk_view_setting_tiled_backing_store_enabled_get): Deleted.
* ewk/ewk_view.h:
* tests/test_ewk_view.cpp:
(TEST_F): Deleted.

Tools:
Removed ewk_view_setting_tiled_backingstore related code.

* DumpRenderTree/efl/DumpRenderTreeChrome.cpp:
(DumpRenderTreeChrome::createView):
(shouldUseTiledBackingStore): Deleted.
* EWebLauncher/main.c:
(windowCreate):
(parseUserArguments):

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

5 years agoSupport OS-version-specific install paths for WebKit.framework
andersca@apple.com [Fri, 2 May 2014 00:34:03 +0000 (00:34 +0000)]
Support OS-version-specific install paths for WebKit.framework
https://bugs.webkit.org/show_bug.cgi?id=132448
<rdar://problem/16784932>

Reviewed by Dan Bernstein.

Source/WebKit:
* WebKit.xcodeproj/project.pbxproj:
Add a build step to put a symlink in place from PrivateFrameworks to Frameworks.

Source/WebKit/mac:
* WebKitLegacy/WebKit.m:
Add version specific install names.

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

5 years agoHTMLMediaElement: Remove two unnecessary virtual overrides.
akling@apple.com [Fri, 2 May 2014 00:04:19 +0000 (00:04 +0000)]
HTMLMediaElement: Remove two unnecessary virtual overrides.
<https://webkit.org/b/132445>

Now that ENABLE_PLUGIN_PROXY_FOR_VIDEO is gone, we can remove
these overrides:

    - defaultEventHandler()
    - willRespondToMouseClickEvents()

Reviewed by Darin Adler.

* html/HTMLMediaElement.cpp:
* html/HTMLMediaElement.h:

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

5 years agoViewportConfiguration::minimumScale() uses the initial scale as initial value
benjamin@webkit.org [Thu, 1 May 2014 23:59:43 +0000 (23:59 +0000)]
ViewportConfiguration::minimumScale() uses the initial scale as initial value
https://bugs.webkit.org/show_bug.cgi?id=132451
<rdar://problem/16780111>

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-05-01
Reviewed by Enrica Casucci.

* page/ViewportConfiguration.cpp:
(WebCore::ViewportConfiguration::minimumScale):
The initial minimum scale was set to the initial scale, preventing some pages from zooming
out.

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

5 years ago[iOS][WK2] Tweak the extended background exclusion for MobileSafari
benjamin@webkit.org [Thu, 1 May 2014 23:59:06 +0000 (23:59 +0000)]
[iOS][WK2] Tweak the extended background exclusion for MobileSafari
https://bugs.webkit.org/show_bug.cgi?id=132449

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-05-01
Reviewed by Beth Dakin.

Some tweaks for Mobile:
-Use UIViews instead of CALayers to have the same animation timing as the top views.
-The left extended background insets should not exclude the top and bottom insets.

Since this code is in the middle of 2 hot paths, also added some performance tweaks.

* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView initWithFrame:configuration:]):
In the normal case, we do not have extended background exclusion. To avoid creating a background view, we use
the scrollview to render the background.
The separate background view is created lazily if needed.

(-[WKWebView _updateScrollViewBackground]):
(-[WKWebView _frameOrBoundsChanged]):
(updateTopAndBottomExtendedBackgroundExclusionIfNecessary):
This create the top and bottom extended background view as needed and update their frames for the current insets.

(-[WKWebView _setObscuredInsets:]):
(-[WKWebView _setExtendedBackgroundExclusionInsets:]):
When an exclusion inset is needed, create a view for it, transfer the color from the ScrollView, and reset the color
of the scrollview.

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

5 years agoBuild fix for !ENABLE(BLOB) builds.
ap@apple.com [Thu, 1 May 2014 23:19:40 +0000 (23:19 +0000)]
Build fix for !ENABLE(BLOB) builds.

* fileapi/ThreadableBlobRegistry.cpp:
(WebCore::ThreadableBlobRegistry::registerBlobURL):
(WebCore::ThreadableBlobRegistry::registerBlobURLForSlice):

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

5 years agoMove size computation for Blob constructor into BlobRegistryImpl
ap@apple.com [Thu, 1 May 2014 23:09:27 +0000 (23:09 +0000)]
Move size computation for Blob constructor into BlobRegistryImpl
https://bugs.webkit.org/show_bug.cgi?id=132439

Reviewed by Sam Weinig.

Source/WebCore:
* Modules/websockets/WebSocket.cpp: (WebCore::WebSocket::didReceiveBinaryData):
Don't pass the size, anyone who cares can get it from BlobData.

* bindings/js/JSBlobCustom.cpp: (WebCore::JSBlobConstructor::constructJSBlob):
Updated for BlobBuilder changes.

* fileapi/Blob.cpp: (WebCore::Blob::Blob):
* fileapi/Blob.h: (WebCore::Blob::create):
No longer take a precomputed size with BlobData, BlobRegistry will compute it as
part of registration.

* fileapi/File.h:
* fileapi/File.cpp:
(WebCore::File::File): Don't pass a size (that's unknown anyway).
(WebCore::File::captureSnapshot): Deleted. Finally, only the registry is responsible
for snapshot tracking now (I doubt that either new or old code is particularly compliant).

* fileapi/ThreadableBlobRegistry.cpp:
(WebCore::ThreadableBlobRegistry::registerBlobURL):
* fileapi/ThreadableBlobRegistry.h:
Plumbing to make this version of registerBlobURL return a size. I may make size
calculation lazy and the function async later, but this is needed to move the behavior
to the right place first.

* fileapi/WebKitBlobBuilder.h:
* fileapi/WebKitBlobBuilder.cpp:
(WebCore::BlobBuilder::BlobBuilder):
(WebCore::BlobBuilder::append):
(WebCore::BlobBuilder::appendBytesData):
(WebCore::BlobBuilder::finalize):
(WebCore::BlobBuilder::getBlob): Deleted.
Don't track sizes or modification times, registry will do that with appropriate laziness.
Cleaned up the API - now that BlobBuilder is not exposed to JS as an object, it
does not need to be reusable.

* platform/network/BlobRegistry.h: Made this version of registerBlobURL return a size.
* platform/network/BlobRegistryImpl.h:
* platform/network/BlobRegistryImpl.cpp:
(WebCore::BlobRegistryImpl::appendStorageItems): Assert that length computations are accurate.
(WebCore::BlobRegistryImpl::registerBlobURL): Compute a size to return, and record
modification time as necessary.

* xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::responseBlob): Don't pass the
size, which can be computed from data. Soon, I want to add a constructor that doesn't
require wrapping a single Vector as BlobData to construct a Blob.

Source/WebKit2:
Plumbing to make this version of registerBlobURL synchronous for now.
I expect to make it async again when data structures on client side are simplified.

* NetworkProcess/FileAPI/NetworkBlobRegistry.cpp:
(WebKit::NetworkBlobRegistry::registerBlobURL):
* NetworkProcess/FileAPI/NetworkBlobRegistry.h:
* NetworkProcess/NetworkConnectionToWebProcess.cpp:
(WebKit::NetworkConnectionToWebProcess::registerBlobURL):
* NetworkProcess/NetworkConnectionToWebProcess.h:
* NetworkProcess/NetworkConnectionToWebProcess.messages.in:
* WebProcess/FileAPI/BlobRegistryProxy.cpp:
(WebKit::BlobRegistryProxy::registerBlobURL):
* WebProcess/FileAPI/BlobRegistryProxy.h:

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

5 years ago[iOS] audio and video should automatically play to active external device
eric.carlson@apple.com [Thu, 1 May 2014 22:54:40 +0000 (22:54 +0000)]
[iOS] audio and video should automatically play to active external device
https://bugs.webkit.org/show_bug.cgi?id=132428

Reviewed by Jer Noble.

* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayer): Set
    AVPlayer.usesExternalPlaybackWhileExternalScreenIsActive.

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

5 years agoREGRESSION(168053): Repro crash navigating to another page after selecting phone
bdakin@apple.com [Thu, 1 May 2014 22:53:53 +0000 (22:53 +0000)]
REGRESSION(168053): Repro crash navigating to another page after selecting phone
numbers on a page
https://bugs.webkit.org/show_bug.cgi?id=132444
-and corresponding-
<rdar://problem/16787285>

Reviewed by Darin Adler.

Missing null-check.
* WebProcess/WebPage/mac/TelephoneNumberOverlayControllerMac.mm:
(WebKit::TelephoneNumberOverlayController::drawRect):

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

5 years agoRemove WKBundleSetShouldTrackVisitedLinks and associate code
andersca@apple.com [Thu, 1 May 2014 22:03:54 +0000 (22:03 +0000)]
Remove WKBundleSetShouldTrackVisitedLinks and associate code
https://bugs.webkit.org/show_bug.cgi?id=132441

Reviewed by Sam Weinig.

* WebProcess/InjectedBundle/API/c/WKBundle.cpp:
(WKBundleSetShouldTrackVisitedLinks): Deleted.
* WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
* WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::setShouldTrackVisitedLinks): Deleted.
* WebProcess/InjectedBundle/InjectedBundle.h:
* WebProcess/WebPage/VisitedLinkTableController.cpp:
(WebKit::VisitedLinkTableController::addVisitedLink):
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::WebProcess):
(WebKit::WebProcess::setShouldTrackVisitedLinks): Deleted.
* WebProcess/WebProcess.h:
(WebKit::WebProcess::shouldTrackVisitedLinks): Deleted.

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

5 years agowindow.testRunner.keepWebHistory() should update the UI process state
andersca@apple.com [Thu, 1 May 2014 21:53:47 +0000 (21:53 +0000)]
window.testRunner.keepWebHistory() should update the UI process state
https://bugs.webkit.org/show_bug.cgi?id=132440

Reviewed by Dan Bernstein.

Source/WebKit2:
* UIProcess/API/C/WKPage.cpp:
(WKPageGetAddsVisitedLinks):
(WKPageSetAddsVisitedLinks):
* UIProcess/API/C/WKPagePrivate.h:

Tools:
* WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::postSetAddsVisitedLinks):
* WebKitTestRunner/InjectedBundle/InjectedBundle.h:
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::keepWebHistory):
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::invoke):
(WTR::TestInvocation::didReceiveMessageFromInjectedBundle):

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

5 years agoREGRESSION (r168046): [New Multicolumn] Selection into and out of column-span element...
hyatt@apple.com [Thu, 1 May 2014 21:00:19 +0000 (21:00 +0000)]
REGRESSION (r168046): [New Multicolumn] Selection into and out of column-span elements doesn't work
https://bugs.webkit.org/show_bug.cgi?id=132066

Reviewed by Oliver Hunt.

Make a new SelectionIterator struct that knows how to drill into and out of
column span placeholders. Also change spans to be selection roots (in the painting
sense).

* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::isSelectionRoot):
(WebCore::RenderBlock::selectionGaps):
* rendering/RenderView.cpp:
(WebCore::SelectionIterator::SelectionIterator):
(WebCore::SelectionIterator::checkForSpanner):
(WebCore::SelectionIterator::current):
(WebCore::SelectionIterator::next):
(WebCore::RenderView::subtreeSelectionBounds):
(WebCore::RenderView::repaintSubtreeSelection):
(WebCore::RenderView::setSubtreeSelection):

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

5 years agoRoll out r60161.
fpizlo@apple.com [Thu, 1 May 2014 20:56:48 +0000 (20:56 +0000)]
Roll out r60161.

Rubber stamped by Mark Hahnenberg.

This breaks our debugging workflow.

* Shared/WebProcessCreationParameters.cpp:
(WebKit::WebProcessCreationParameters::decode):
* UIProcess/mac/WebContextMac.mm:
(WebKit::registerUserDefaultsIfNeeded):
(WebKit::WebContext::platformInitializeWebProcess):

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

5 years agoDon't always make backing store for -webkit-backface-visibility:hidden
simon.fraser@apple.com [Thu, 1 May 2014 20:56:21 +0000 (20:56 +0000)]
Don't always make backing store for -webkit-backface-visibility:hidden
https://bugs.webkit.org/show_bug.cgi?id=132420

Reviewed by Sam Weinig.

Source/WebCore:
Previously, -webkit-backface-visibility:hidden unconditionally created
compositing layers with backing store. This results in high memory use
on pages with this style applied to many elements (a cargo-cult "optimization").

Fix by only having -webkit-backface-visibility:hidden create compositing layers
if some ancestor has a 3D transform. That's the only scenario in which the
element can be flipped around to reveal the back side, so the only time we need
to do compositing for this property. In future, we could be smarter, and only
consider 3D transforms in the current preserve-3d context.

Tests: compositing/backing/backface-visibility-in-3dtransformed.html
       compositing/backing/backface-visibility-in-transformed.html
       compositing/backing/backface-visibility.html

* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::RenderLayer):
(WebCore::RenderLayer::updateLayerPositions):
(WebCore::RenderLayer::hitTestLayer):
* rendering/RenderLayer.h:
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::requiresCompositingLayer):
(WebCore::RenderLayerCompositor::requiresOwnBackingStore):
(WebCore::RenderLayerCompositor::requiresCompositingForBackfaceVisibility):
* rendering/RenderLayerCompositor.h:

LayoutTests:
Dump layers for elements with backface-visibility: hidden with various types
of ancestors.

* compositing/backing/backface-visibility-expected.txt: Added.
* compositing/backing/backface-visibility-in-3dtransformed-expected.txt: Added.
* compositing/backing/backface-visibility-in-3dtransformed.html: Added.
* compositing/backing/backface-visibility-in-transformed-expected.txt: Added.
* compositing/backing/backface-visibility-in-transformed.html: Added.
* compositing/backing/backface-visibility.html: Added.
* inspector-protocol/layers/layers-anonymous.html: Don't use backface-visibility
for force a layer.

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

5 years agoWKWebView doesn't track visited links (for visited link coloring)
andersca@apple.com [Thu, 1 May 2014 20:39:55 +0000 (20:39 +0000)]
WKWebView doesn't track visited links (for visited link coloring)
https://bugs.webkit.org/show_bug.cgi?id=132438
<rdar://problem/16704519>

Reviewed by Dan Bernstein.

* Shared/WebProcessCreationParameters.cpp:
(WebKit::WebProcessCreationParameters::WebProcessCreationParameters):
(WebKit::WebProcessCreationParameters::encode):
(WebKit::WebProcessCreationParameters::decode):
* Shared/WebProcessCreationParameters.h:
* UIProcess/API/APIHistoryClient.h:
(API::HistoryClient::addsVisitedLinks):
(API::HistoryClient::shouldTrackVisitedLinks): Deleted.
* UIProcess/API/C/WKContext.cpp:
(WKContextSetHistoryClient):
* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _addsVisitedLinks]):
(-[WKWebView _setAddsVisitedLinks:]):
* UIProcess/API/Cocoa/WKWebViewPrivate.h:
* UIProcess/API/mac/WKView.mm:
(-[WKView initWithFrame:context:configuration:webView:]):
* UIProcess/Cocoa/HistoryClient.h:
* UIProcess/Cocoa/HistoryClient.mm:
(WebKit::HistoryClient::shouldTrackVisitedLinks): Deleted.
* UIProcess/VisitedLinkProvider.cpp:
(WebKit::VisitedLinkProvider::addVisitedLinkHashFromPage):
* UIProcess/VisitedLinkProvider.h:
* UIProcess/VisitedLinkProvider.messages.in:
* UIProcess/WebContext.cpp:
(WebKit::WebContext::setHistoryClient):
(WebKit::WebContext::createNewWebProcess):
* UIProcess/WebContext.h:
(WebKit::WebContext::processes):
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::WebPageProxy):
* UIProcess/WebPageProxy.h:
(WebKit::WebPageProxy::addsVisitedLinks):
(WebKit::WebPageProxy::setAddsVisitedLinks):
* WebProcess/WebPage/VisitedLinkTableController.cpp:
(WebKit::VisitedLinkTableController::addVisitedLink):
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::initializeWebProcess):
* WebProcess/WebProcess.h:
* WebProcess/WebProcess.messages.in:

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

5 years ago[iOS][WK2] The highlight view needs to be in WKWebView coordinates
benjamin@webkit.org [Thu, 1 May 2014 20:32:57 +0000 (20:32 +0000)]
[iOS][WK2] The highlight view needs to be in WKWebView coordinates
https://bugs.webkit.org/show_bug.cgi?id=132435
<rdar://problem/16708861>

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-05-01
Reviewed by Tim Horton.

_UIHighlightView needs to be in WKWebView coordinates so that it render unscaled for any page scale factor.
The view needs to be a child of WKContentView so that it moves/scales with the page.

To fix the issue, add an inverse transform root layer for the hightlight, and scale the coordinates to their
inverse scaled counterpart.

The scale is not updated live with the scaling of WKContentView but that should be fine since the view disappear
on any scaling operation (and I would prefer not add live painting during scaling animation).

* UIProcess/ios/WKContentViewInteraction.h:
* UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView cleanupInteraction]):
(-[WKContentView _didGetTapHighlightForRequest:color:WebCore::quads:WebCore::topLeftRadius:WebCore::topRightRadius:WebCore::bottomLeftRadius:WebCore::bottomRightRadius:WebCore::]):
(-[WKContentView _cancelInteraction]):

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

5 years agoJavaScriptCore fails to build with some versions of clang
ggaren@apple.com [Thu, 1 May 2014 20:03:27 +0000 (20:03 +0000)]
JavaScriptCore fails to build with some versions of clang
https://bugs.webkit.org/show_bug.cgi?id=132436

Reviewed by Anders Carlsson.

* runtime/ArgumentsIteratorConstructor.cpp: Since we call
putDirectWithoutTransition, and it calls putWillGrowOutOfLineStorage,
and both are marked inline, it's valid for the compiler to decide
to inline both and emit neither in the binary. Therefore, we need
both inline definitions to be available in the translation unit at
compile time, or we'll try to link against a function that doesn't exist.

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

5 years agoFinish updating ANGLE.
achristensen@apple.com [Thu, 1 May 2014 19:24:46 +0000 (19:24 +0000)]
Finish updating ANGLE.
https://bugs.webkit.org/show_bug.cgi?id=132434

Reviewed by Dean Jackson.

Source/ThirdParty/ANGLE:
* ANGLE.xcodeproj/project.pbxproj:
Removed Uniform.cpp which is no longer in ANGLE.
* changes.diff:
Added more changes from ANGLE which are already included in WebKit.

Updated ANGLE source files to e7a453a5bd76705ccb151117fa844846d4aa90af.  Long list of changes omitted.

Source/WebCore:
* CMakeLists.txt:
Removed Uniform.cpp which is no longer in ANGLE.

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

5 years agoREGRESSION (new multi-column): WebKit2.ResizeReversePaginatedWebView fails on debug...
hyatt@apple.com [Thu, 1 May 2014 19:10:56 +0000 (19:10 +0000)]
REGRESSION (new multi-column): WebKit2.ResizeReversePaginatedWebView fails on debug bots
https://bugs.webkit.org/show_bug.cgi?id=132429

Reviewed by Alexey Proskuryakov.

Make sure to get the column count directly from the column set.
I was returning the theoretical column count from the flow thread,
and that wasn't the right value.

* rendering/RenderMultiColumnSet.h:
* rendering/RenderView.cpp:
(WebCore::RenderView::pageCount):

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

5 years agoFix handling of attributes prior to compiling shader
bfulgham@apple.com [Thu, 1 May 2014 19:02:49 +0000 (19:02 +0000)]
Fix handling of attributes prior to compiling shader
https://bugs.webkit.org/show_bug.cgi?id=132430

Reviewed by Dean Jackson.

Source/WebCore:
WebGL programs that called bindAttribLocations prior to compiling shader sources
would perform the bind using the non-hashed symbol name, but would later create
the attributes as hashed names. Consequently, the program would refer to
attributes that were never actually part of any shader, resulting in some amazing
display artifacts.

This patch adds a dictionary of hashed symbol names so that we can tell the WebGL
program the proper name that will be used when the shader is eventually compiled,
allowing the WebGL program to link against the proper symbol after compiling and
linking completes.

* platform/graphics/GraphicsContext3D.h:
* platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
(WebCore::generateHashedName): Function uses the ANGLE hashing
function to generate correct symbol.
(WebCore::GraphicsContext3D::mappedSymbolName): If we haven't compiled shaders yet, look
in our set of potentially unused attributes.
(WebCore::GraphicsContext3D::originalSymbolName): Ditto, for reverse lookup.

Source/WTF:
WebGL programs that called bindAttribLocations prior to compiling shader sources
would perform the bind using the non-hashed symbol name, but would later create
the attributes as hashed names. Consequently, the program would refer to
attributes that were never actually part of any shader, resulting in some amazing
display artifacts.

This patch adds a dictionary of hashed symbol names so that we can tell the WebGL
program the proper name that will be used when the shader is eventually compiled,
allowing the WebGL program to link against the proper symbol after compiling and
linking completes.

* wtf/HexNumber.h:
(WTF::appendUnsigned64AsHex): Add uint64_t-compatible hex->string converter.

LayoutTests:
* fast/canvas/webgl/gl-bind-attrib-location-before-compile-test-expected.txt: Added.
* fast/canvas/webgl/gl-bind-attrib-location-before-compile-test.html: Added.

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

5 years agoSubpixel rendering: Make selection gaps painting subpixel aware.
zalan@apple.com [Thu, 1 May 2014 18:49:37 +0000 (18:49 +0000)]
Subpixel rendering: Make selection gaps painting subpixel aware.
https://bugs.webkit.org/show_bug.cgi?id=132169

Reviewed by Simon Fraser.

Push selection gaps painting to device pixel boundaries instead of integral CSS pixel positions.

Source/WebCore:
Test: fast/inline/hidpi-selection-gap-on-subpixel-position.html

* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::blockSelectionGap):
(WebCore::RenderBlock::logicalLeftSelectionGap):
(WebCore::RenderBlock::logicalRightSelectionGap):

LayoutTests:
* fast/inline/hidpi-selection-gap-on-subpixel-position-expected.html: Added.
* fast/inline/hidpi-selection-gap-on-subpixel-position.html: Added. : &nbsp is needed to make
this test pass on WK2. Font rendering reports differences. 0.9 transparency is added so that
text selection code does modify the color's alpha channel and I can properly match it.

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

5 years agoLink against bmalloc in production builds
ggaren@apple.com [Thu, 1 May 2014 18:31:35 +0000 (18:31 +0000)]
Link against bmalloc in production builds
https://bugs.webkit.org/show_bug.cgi?id=132413

Reviewed by Sam Weinig.

Production builders have been configured to handle this, so let's build
it.

* Configurations/WTF.xcconfig:

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

5 years agoReally remove ENABLE_PLUGIN_PROXY_FOR_VIDEO
ddkilzer@apple.com [Thu, 1 May 2014 18:20:14 +0000 (18:20 +0000)]
Really remove ENABLE_PLUGIN_PROXY_FOR_VIDEO
<http://webkit.org/b/132432>

Reviewed by Tim Horton.

.:
* Source/cmake/WebKitFeatures.cmake:
* Source/cmakeconfig.h.cmake:
- Remove ENABLE_PLUGIN_PROXY_FOR_VIDEO as build option.

Source/WebCore:
* platform/graphics/wince/MediaPlayerPrivateWinCE.h: Remove
methods and ivar in ENABLE(PLUGIN_PROXY_FOR_VIDEO).

Tools:
* Scripts/webkitperl/FeatureList.pm: Remove support for
--plugin-proxy-for-video switch.

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

5 years ago[CSS Grid Layout] Clamping the number of repetitions in repeat()
commit-queue@webkit.org [Thu, 1 May 2014 17:48:38 +0000 (17:48 +0000)]
[CSS Grid Layout] Clamping the number of repetitions in repeat()
https://bugs.webkit.org/show_bug.cgi?id=131023

Patch by Javier Fernandez <jfernandez@igalia.com> on 2014-05-01
Reviewed by Brent Fulgham.

Source/WebCore:
The ED suggests now to be able to clamp the number of repetitions when
using the repeat() function, taking precautions about excessive memory
usage.

The implemented max repetitions is 10K.

Test: fast/css-grid-layout/grid-element-repeat-max-repetitions.html

* css/CSSParser.cpp:
(WebCore::CSSParser::parseGridTrackRepeatFunction):

LayoutTests:
Test to ensure the number of repetitions used in the repeat() function
is clamped to 10K.

* fast/css-grid-layout/grid-element-repeat-max-repetitions-expected.txt: Added.
* fast/css-grid-layout/grid-element-repeat-max-repetitions.html: Added.

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

5 years agoUnreviewed, rolling out r167964.
commit-queue@webkit.org [Thu, 1 May 2014 17:26:24 +0000 (17:26 +0000)]
Unreviewed, rolling out r167964.
https://bugs.webkit.org/show_bug.cgi?id=132431

Memory improvements should not regress memory usage (Requested
by olliej on #webkit).

Reverted changeset:

"Don't hold on to parameter BindingNodes forever"
https://bugs.webkit.org/show_bug.cgi?id=132360
http://trac.webkit.org/changeset/167964

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

5 years agofast/multicol/fixed-stack.html failing since introduction.
ap@apple.com [Thu, 1 May 2014 16:42:38 +0000 (16:42 +0000)]
fast/multicol/fixed-stack.html failing since introduction.
https://bugs.webkit.org/show_bug.cgi?id=132421

* TestExpectations: Changed expectation from Skip to ImageOnyFailure

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

5 years agoFix trivial debug-only race-that-crashes in CallLinkStatus and explain why the remain...
fpizlo@apple.com [Thu, 1 May 2014 15:48:05 +0000 (15:48 +0000)]
Fix trivial debug-only race-that-crashes in CallLinkStatus and explain why the remaining races are totally awesome
https://bugs.webkit.org/show_bug.cgi?id=132427

Reviewed by Mark Hahnenberg.

* bytecode/CallLinkStatus.cpp:
(JSC::CallLinkStatus::computeFor):

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

5 years ago[MSE] Seeking between two buffered ranges enquues incorrect buffers.
jer.noble@apple.com [Thu, 1 May 2014 15:43:13 +0000 (15:43 +0000)]
[MSE] Seeking between two buffered ranges enquues incorrect buffers.
https://bugs.webkit.org/show_bug.cgi?id=132416

Reviewed by Eric Carlson.

std::equal_range(begin, end, value) will return an empty range if equal values cannot
be found. But the range is not necessarily [end, end).  It may be some other value n,
such that the empty range is [n, n). Check to see if the returned range is empty in
findSampleContainingPresentationTime() and its reverse version, and if so, explicitly
return presentationEnd() or reversePresentationEnd() respectively.

Drive-by fix: make the comparator functions take const& arguments to minimize object
creation.

* Modules/mediasource/SampleMap.cpp:
(WebCore::SampleIsLessThanMediaTimeComparator::operator()):
(WebCore::SampleIsGreaterThanMediaTimeComparator::operator()):
(WebCore::SampleMap::findSampleContainingPresentationTime):
(WebCore::SampleMap::reverseFindSampleContainingPresentationTime):

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

5 years ago[GTK] Unreviewed GTK gardening.
commit-queue@webkit.org [Thu, 1 May 2014 15:34:54 +0000 (15:34 +0000)]
[GTK] Unreviewed GTK gardening.
Rebaseline affected tests by the new multi-column mode that was
enabled on r168046, and later modified on r168076 and r168088.

Patch by Carlos Alberto Lopez Perez <clopez@igalia.com> on 2014-05-01

* platform/gtk/TestExpectations: Include two new flaky tests after
the new multi-colum mode and remove expectations for the ones that
now pass.

* platform/gtk/css3/unicode-bidi-isolate-basic-expected.txt:
* platform/gtk/fast/block/float/float-not-removed-from-next-sibling4-expected.png:
* platform/gtk/fast/block/float/float-not-removed-from-next-sibling4-expected.txt:
* platform/gtk/fast/borders/border-antialiasing-expected.txt:
* platform/gtk/fast/line-grid/line-grid-inside-columns-expected.txt:
* platform/gtk/fast/line-grid/line-grid-into-columns-expected.txt:
* platform/gtk/fast/multicol/block-axis-horizontal-bt-expected.txt:
* platform/gtk/fast/multicol/block-axis-horizontal-tb-expected.txt:
* platform/gtk/fast/multicol/block-axis-vertical-lr-expected.txt:
* platform/gtk/fast/multicol/block-axis-vertical-rl-expected.txt:
* platform/gtk/fast/multicol/border-padding-pagination-expected.png:
* platform/gtk/fast/multicol/border-padding-pagination-expected.txt:
* platform/gtk/fast/multicol/client-rects-expected.png:
* platform/gtk/fast/multicol/client-rects-expected.txt:
* platform/gtk/fast/multicol/client-rects-spanners-complex-expected.txt: Added.
* platform/gtk/fast/multicol/client-rects-spanners-expected.txt: Added.
* platform/gtk/fast/multicol/column-break-with-balancing-expected.txt:
* platform/gtk/fast/multicol/column-count-with-rules-expected.txt:
* platform/gtk/fast/multicol/column-rules-expected.png:
* platform/gtk/fast/multicol/column-rules-expected.txt:
* platform/gtk/fast/multicol/column-rules-stacking-expected.png:
* platform/gtk/fast/multicol/column-rules-stacking-expected.txt:
* platform/gtk/fast/multicol/columns-shorthand-parsing-expected.txt:
* platform/gtk/fast/multicol/float-avoidance-expected.txt:
* platform/gtk/fast/multicol/float-multicol-expected.png:
* platform/gtk/fast/multicol/float-multicol-expected.txt:
* platform/gtk/fast/multicol/float-paginate-complex-expected.txt:
* platform/gtk/fast/multicol/float-paginate-empty-lines-expected.txt:
* platform/gtk/fast/multicol/float-paginate-expected.txt:
* platform/gtk/fast/multicol/layers-in-multicol-expected.txt:
* platform/gtk/fast/multicol/layers-split-across-columns-expected.txt:
* platform/gtk/fast/multicol/margin-collapse-expected.txt:
* platform/gtk/fast/multicol/max-height-columns-block-expected.png:
* platform/gtk/fast/multicol/max-height-columns-block-expected.txt:
* platform/gtk/fast/multicol/nested-columns-expected.png:
* platform/gtk/fast/multicol/nested-columns-expected.txt:
* platform/gtk/fast/multicol/newmulticol/client-rects-expected.png: Added.
* platform/gtk/fast/multicol/newmulticol/client-rects-expected.txt:
* platform/gtk/fast/multicol/overflow-across-columns-expected.txt:
* platform/gtk/fast/multicol/overflow-across-columns-percent-height-expected.png:
* platform/gtk/fast/multicol/overflow-across-columns-percent-height-expected.txt:
* platform/gtk/fast/multicol/overflow-unsplittable-expected.png:
* platform/gtk/fast/multicol/overflow-unsplittable-expected.txt:
* platform/gtk/fast/multicol/paginate-block-replaced-expected.txt:
* platform/gtk/fast/multicol/pagination/BottomToTop-bt-expected.png: Added.
* platform/gtk/fast/multicol/pagination/BottomToTop-bt-expected.txt:
* platform/gtk/fast/multicol/pagination/BottomToTop-lr-expected.png: Added.
* platform/gtk/fast/multicol/pagination/BottomToTop-lr-expected.txt:
* platform/gtk/fast/multicol/pagination/BottomToTop-rl-expected.png: Added.
* platform/gtk/fast/multicol/pagination/BottomToTop-rl-expected.txt:
* platform/gtk/fast/multicol/pagination/BottomToTop-tb-expected.png: Added.
* platform/gtk/fast/multicol/pagination/BottomToTop-tb-expected.txt:
* platform/gtk/fast/multicol/pagination/LeftToRight-bt-expected.png: Added.
* platform/gtk/fast/multicol/pagination/LeftToRight-bt-expected.txt:
* platform/gtk/fast/multicol/pagination/LeftToRight-lr-expected.png: Added.
* platform/gtk/fast/multicol/pagination/LeftToRight-lr-expected.txt:
* platform/gtk/fast/multicol/pagination/LeftToRight-rl-expected.png: Added.
* platform/gtk/fast/multicol/pagination/LeftToRight-rl-expected.txt:
* platform/gtk/fast/multicol/pagination/LeftToRight-tb-expected.png: Added.
* platform/gtk/fast/multicol/pagination/LeftToRight-tb-expected.txt:
* platform/gtk/fast/multicol/pagination/RightToLeft-bt-expected.png: Added.
* platform/gtk/fast/multicol/pagination/RightToLeft-bt-expected.txt:
* platform/gtk/fast/multicol/pagination/RightToLeft-lr-expected.png: Added.
* platform/gtk/fast/multicol/pagination/RightToLeft-lr-expected.txt:
* platform/gtk/fast/multicol/pagination/RightToLeft-rl-expected.png: Added.
* platform/gtk/fast/multicol/pagination/RightToLeft-rl-expected.txt:
* platform/gtk/fast/multicol/pagination/RightToLeft-tb-expected.png: Added.
* platform/gtk/fast/multicol/pagination/RightToLeft-tb-expected.txt:
* platform/gtk/fast/multicol/pagination/TopToBottom-bt-expected.png: Added.
* platform/gtk/fast/multicol/pagination/TopToBottom-bt-expected.txt:
* platform/gtk/fast/multicol/pagination/TopToBottom-lr-expected.png: Added.
* platform/gtk/fast/multicol/pagination/TopToBottom-lr-expected.txt:
* platform/gtk/fast/multicol/pagination/TopToBottom-rl-expected.png: Added.
* platform/gtk/fast/multicol/pagination/TopToBottom-rl-expected.txt:
* platform/gtk/fast/multicol/pagination/TopToBottom-tb-expected.png: Added.
* platform/gtk/fast/multicol/pagination/TopToBottom-tb-expected.txt:
* platform/gtk/fast/multicol/positioned-split-expected.txt:
* platform/gtk/fast/multicol/positive-leading-expected.png:
* platform/gtk/fast/multicol/positive-leading-expected.txt:
* platform/gtk/fast/multicol/scrolling-overflow-expected.txt:
* platform/gtk/fast/multicol/shadow-breaking-expected.png:
* platform/gtk/fast/multicol/shadow-breaking-expected.txt:
* platform/gtk/fast/multicol/shrink-to-column-height-for-pagination-expected.png: Added.
* platform/gtk/fast/multicol/shrink-to-column-height-for-pagination-expected.txt:
* platform/gtk/fast/multicol/single-line-expected.txt:
* platform/gtk/fast/multicol/span/anonymous-before-child-parent-crash-expected.png:
* platform/gtk/fast/multicol/span/anonymous-before-child-parent-crash-expected.txt:
* platform/gtk/fast/multicol/span/anonymous-split-block-crash-expected.png:
* platform/gtk/fast/multicol/span/anonymous-split-block-crash-expected.txt:
* platform/gtk/fast/multicol/span/anonymous-style-inheritance-expected.txt:
* platform/gtk/fast/multicol/span/clone-anonymous-block-non-inline-child-crash-expected.png:
* platform/gtk/fast/multicol/span/clone-anonymous-block-non-inline-child-crash-expected.txt:
* platform/gtk/fast/multicol/span/clone-flexbox-expected.txt:
* platform/gtk/fast/multicol/span/clone-summary-expected.txt:
* platform/gtk/fast/multicol/span/span-as-immediate-child-complex-splitting-expected.png:
* platform/gtk/fast/multicol/span/span-as-immediate-child-complex-splitting-expected.txt:
* platform/gtk/fast/multicol/span/span-as-immediate-child-generated-content-expected.png:
* platform/gtk/fast/multicol/span/span-as-immediate-child-generated-content-expected.txt:
* platform/gtk/fast/multicol/span/span-as-immediate-child-property-removal-expected.txt:
* platform/gtk/fast/multicol/span/span-as-immediate-columns-child-dynamic-expected.txt:
* platform/gtk/fast/multicol/span/span-as-immediate-columns-child-expected.txt:
* platform/gtk/fast/multicol/span/span-as-immediate-columns-child-removal-expected.txt:
* platform/gtk/fast/multicol/span/span-as-nested-columns-child-dynamic-expected.png:
* platform/gtk/fast/multicol/span/span-as-nested-columns-child-dynamic-expected.txt:
* platform/gtk/fast/multicol/span/span-as-nested-columns-child-expected.png:
* platform/gtk/fast/multicol/span/span-as-nested-columns-child-expected.txt:
* platform/gtk/fast/multicol/span/span-as-nested-inline-block-child-expected.txt:
* platform/gtk/fast/multicol/span/span-margin-collapsing-expected.txt:
* platform/gtk/fast/multicol/table-margin-collapse-expected.txt:
* platform/gtk/fast/multicol/table-vertical-align-expected.txt:
* platform/gtk/fast/multicol/unsplittable-inline-block-expected.txt:
* platform/gtk/fast/multicol/vertical-lr/border-padding-pagination-expected.png:
* platform/gtk/fast/multicol/vertical-lr/border-padding-pagination-expected.txt:
* platform/gtk/fast/multicol/vertical-lr/column-break-with-balancing-expected.txt:
* platform/gtk/fast/multicol/vertical-lr/column-count-with-rules-expected.txt:
* platform/gtk/fast/multicol/vertical-lr/column-rules-expected.png:
* platform/gtk/fast/multicol/vertical-lr/column-rules-expected.txt:
* platform/gtk/fast/multicol/vertical-lr/float-avoidance-expected.txt:
* platform/gtk/fast/multicol/vertical-lr/float-multicol-expected.txt:
* platform/gtk/fast/multicol/vertical-lr/float-paginate-complex-expected.txt:
* platform/gtk/fast/multicol/vertical-lr/float-paginate-expected.txt:
* platform/gtk/fast/multicol/vertical-lr/nested-columns-expected.png:
* platform/gtk/fast/multicol/vertical-lr/nested-columns-expected.txt:
* platform/gtk/fast/multicol/vertical-lr/unsplittable-inline-block-expected.txt:
* platform/gtk/fast/multicol/vertical-rl/border-padding-pagination-expected.png:
* platform/gtk/fast/multicol/vertical-rl/border-padding-pagination-expected.txt:
* platform/gtk/fast/multicol/vertical-rl/column-break-with-balancing-expected.txt:
* platform/gtk/fast/multicol/vertical-rl/column-count-with-rules-expected.txt:
* platform/gtk/fast/multicol/vertical-rl/column-rules-expected.png:
* platform/gtk/fast/multicol/vertical-rl/column-rules-expected.txt:
* platform/gtk/fast/multicol/vertical-rl/float-avoidance-expected.txt:
* platform/gtk/fast/multicol/vertical-rl/float-multicol-expected.txt:
* platform/gtk/fast/multicol/vertical-rl/float-paginate-complex-expected.txt:
* platform/gtk/fast/multicol/vertical-rl/float-paginate-expected.txt:
* platform/gtk/fast/multicol/vertical-rl/nested-columns-expected.png:
* platform/gtk/fast/multicol/vertical-rl/nested-columns-expected.txt:
* platform/gtk/fast/multicol/vertical-rl/rule-style-expected.txt:
* platform/gtk/fast/multicol/vertical-rl/unsplittable-inline-block-expected.txt:
* platform/gtk/fast/overflow/paged-x-div-expected.txt:
* platform/gtk/fast/overflow/paged-x-div-with-column-gap-expected.txt:
* platform/gtk/fast/overflow/paged-x-on-root-expected.txt:
* platform/gtk/fast/overflow/paged-x-with-column-gap-expected.txt:
* platform/gtk/fast/overflow/paged-y-div-expected.txt:
* platform/gtk/fast/overflow/paged-y-on-root-expected.txt:
* platform/gtk/fast/repaint/multicol-repaint-expected.png:
* platform/gtk/fast/repaint/multicol-repaint-expected.txt:

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

5 years agoSubpixel rendering: Inline text selection painting should not snap to integral CSS...
zalan@apple.com [Thu, 1 May 2014 13:31:46 +0000 (13:31 +0000)]
Subpixel rendering: Inline text selection painting should not snap to integral CSS pixel position.
https://bugs.webkit.org/show_bug.cgi?id=132164

Reviewed by Darin Adler.

Inline text selection painting now snaps to device pixels. It uses the same rounding logic as
other painting functions.

Source/WebCore:
Test: fast/inline/hidpi-select-inline-on-subpixel-position.html

* rendering/EllipsisBox.cpp:
(WebCore::EllipsisBox::paintSelection):
* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::paintSelection):
(WebCore::alignSelectionRectToDevicePixels): Deleted.
* rendering/InlineTextBox.h:

LayoutTests:
* fast/inline/hidpi-select-inline-on-subpixel-position-expected.html: Added.
* fast/inline/hidpi-select-inline-on-subpixel-position.html: Added.

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

5 years ago[EFL] There are many warnings with software backend
ryuan.choi@samsung.com [Thu, 1 May 2014 12:42:32 +0000 (12:42 +0000)]
[EFL] There are many warnings with software backend
https://bugs.webkit.org/show_bug.cgi?id=132422

Reviewed by Gyuyoung Kim.

Source/WebCore:
ecore_evas_gl_x11_window_get should be called when only engine is opengl_x11.

This patch refactors not to call unnecessary API by checking engine type.
In addition, removed unnecessary isUsingEcoreX().

* platform/efl/EflScreenUtilities.cpp:
(WebCore::applyFallbackCursor):
(WebCore::getEcoreXWindow):
(WebCore::isUsingEcoreX): Deleted.
* platform/efl/EflScreenUtilities.h:

Source/WebKit/efl:
* ewk/ewk_view.cpp:
(_ewk_view_priv_new):
(ewk_view_cursor_set):

Source/WebKit2:
* UIProcess/API/efl/EwkView.cpp:
(EwkView::updateCursor):
(EwkView::transformToScreen):

Source/WTF:
* wtf/efl/EflTypedefs.h: Added Ecore_X_Window typedef

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

5 years ago<rdar://problem/16780403> REGRESSION: Plugin tests failing on Mac/WebKit1.
mitz@apple.com [Thu, 1 May 2014 09:57:43 +0000 (09:57 +0000)]
<rdar://problem/16780403> REGRESSION: Plugin tests failing on Mac/WebKit1.

* WebKit.xcodeproj/project.pbxproj: Keep the WebKitPluginHost.app symlink in
WebKit.framework for now.

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

5 years agoCalling createPattern with a broken image must throw an invalidstate error
cabanier@adobe.com [Thu, 1 May 2014 08:33:47 +0000 (08:33 +0000)]
Calling createPattern with a broken image must throw an invalidstate error
https://bugs.webkit.org/show_bug.cgi?id=132407

Reviewed by Dirk Schulze.

Source/WebCore:
Per the WebIDL spec, passing non-finite parameter to a method that
takes doubles, should generate a type error.

Tests:
* canvas/philip/tests/2d.imageData.create2.nonfinite.html:
* fast/canvas/canvas-2d-imageData-create-nonfinite.html:

* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::createImageData):

LayoutTests:
* canvas/philip/tests/2d.imageData.create2.nonfinite.html:
* fast/canvas/canvas-2d-imageData-create-nonfinite-expected.txt:
* fast/canvas/resources/canvas-2d-imageData-create-nonfinite.js:

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

5 years agoSkip fast/multicol/fixed-stack.html
akling@apple.com [Thu, 1 May 2014 07:17:50 +0000 (07:17 +0000)]
Skip fast/multicol/fixed-stack.html
<https://webkit.org/b/132421>

* TestExpectations:

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

5 years agoREGRESSION (r168046): [New Multicolumn] LeftToRight-rl.html (and all the other revers...
hyatt@apple.com [Thu, 1 May 2014 06:44:54 +0000 (06:44 +0000)]
REGRESSION (r168046): [New Multicolumn] LeftToRight-rl.html (and all the other reversed/block-axis pagination tests) fail
https://bugs.webkit.org/show_bug.cgi?id=132419

Reviewed by Andreas Kling.

Source/WebCore:
* rendering/RenderMultiColumnSet.cpp:
(WebCore::RenderMultiColumnSet::initialBlockOffsetForPainting):
Don't flip here. The old code needed to do that, but the new code doesn't.

LayoutTests:
* platform/mac/fast/multicol/pagination/LeftToRight-rl-expected.png:
* platform/mac/fast/multicol/pagination/TopToBottom-bt-expected.png:

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

5 years agoVersioning.
matthew_hanson@apple.com [Thu, 1 May 2014 06:38:12 +0000 (06:38 +0000)]
Versioning.

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

5 years agoRoll out fix for https://bugs.webkit.org/show_bug.cgi?id=131637:
ap@apple.com [Thu, 1 May 2014 05:49:09 +0000 (05:49 +0000)]
Roll out fix for https://bugs.webkit.org/show_bug.cgi?id=131637:
Clean up unnecessary methods in the BackForwardClient interface

It broke a regression test and an API test.

Source/WebCore:
* WebCore.exp.in:
* history/BackForwardClient.h:
(WebCore::BackForwardClient::backItem):
(WebCore::BackForwardClient::currentItem):
(WebCore::BackForwardClient::forwardItem):
* history/BackForwardController.cpp:
(WebCore::BackForwardController::BackForwardController):
* history/BackForwardController.h:
(WebCore::BackForwardController::client):
* history/BackForwardList.cpp:
(WebCore::BackForwardList::BackForwardList):
(WebCore::BackForwardList::close):
* history/BackForwardList.h:
(WebCore::BackForwardList::create):
(WebCore::BackForwardList::page):
* page/Page.cpp:
(WebCore::Page::Page):
(WebCore::Page::PageClients::PageClients):
* page/Page.h:

Source/WebKit/efl:
* ewk/ewk_history.cpp:
(ewk_history_clear):
(ewk_history_new):
(ewk_history_free):
* ewk/ewk_view.cpp:
(_ewk_view_priv_new):
(ewk_view_history_enable_get):
(ewk_view_history_enable_set):
(ewk_view_history_get):

Source/WebKit/mac:
* History/WebBackForwardList.mm:
(-[WebBackForwardList initWithBackForwardList:]):
(-[WebBackForwardList init]):
(-[WebBackForwardList dealloc]):
(-[WebBackForwardList finalize]):
(-[WebBackForwardList setPageCacheSize:]):
(-[WebBackForwardList pageCacheSize]):
* History/WebBackForwardListInternal.h:
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::canCachePage):
* WebView/WebFrameView.mm:
(-[WebFrameView keyDown:keyDown:]):
* WebView/WebView.mm:
(-[WebView _loadBackForwardListFromOtherView:]):
(-[WebView initWithCoder:]):
(-[WebView encodeWithCoder:]):
(-[WebView backForwardList]):
(-[WebView setMaintainsBackForwardList:]):

Source/WebKit/win:
* WebBackForwardList.cpp:
(WebBackForwardList::WebBackForwardList):
(WebBackForwardList::~WebBackForwardList):
(WebBackForwardList::createInstance):
* WebBackForwardList.h:
* WebView.cpp:
(WebView::backForwardList):
(WebView::canGoBack):
(WebView::canGoForward):
(WebView::loadBackForwardListFromOtherView):

Source/WebKit2:
* WebKit2.xcodeproj/project.pbxproj:
* WebProcess/InjectedBundle/InjectedBundleBackForwardList.cpp:
(WebKit::InjectedBundleBackForwardList::clear):
* WebProcess/WebPage/WebBackForwardListProxy.cpp:
(WebKit::WebBackForwardListProxy::WebBackForwardListProxy):
(WebKit::WebBackForwardListProxy::addItem):
(WebKit::WebBackForwardListProxy::goToItem):
(WebKit::WebBackForwardListProxy::itemAtIndex):
(WebKit::WebBackForwardListProxy::backListCount):
(WebKit::WebBackForwardListProxy::forwardListCount):
(WebKit::WebBackForwardListProxy::close):
(WebKit::WebBackForwardListProxy::clear):
* WebProcess/WebPage/WebBackForwardListProxy.h:
(WebKit::WebBackForwardListProxy::create):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::WebPage):
* WebProcess/WebPage/ios/WebBackForwardListProxyIOS.mm: Copied from Source/WebKit2/WebProcess/WebPage/ios/WebBackForwardListProxyIOS.mm.

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