WebKitURLWithTitles pasteboard format should support URLs containing Emoji characters.
https://bugs.webkit.org/show_bug.cgi?id=81835
<rdar://problem/11082749>

Reviewed by Brady Eidson.

Source/WebCore: 

When writing the URL in the pasteboard for the WebURLWithTitles format,
we use the user visible string instead of the original URL.
In case of URL with Unicode characters, we lose the encoding.
        
Added TestWebKitAPI test.

* platform/mac/PasteboardMac.mm:
(WebCore::writeURLForTypes): Writes to the pasteboard the original URL.

Tools: 

* TestWebKitAPI/Tests/mac/ContextMenuCanCopyURL.html:
* TestWebKitAPI/Tests/mac/ContextMenuCanCopyURL.mm:
(TestWebKitAPI::contextMenuCopyLink):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@111614 268f45cc-cd09-0410-ab3c-d52691b4dbfc
WebKitURLWithTitles pasteboard format should support URLs containing Emoji characters.
https://bugs.webkit.org/show_bug.cgi?id=81835
<rdar://problem/11082749>

Patch by Enrica Casucci <enrica@apple.com> on 2012-03-21
Reviewed by Brady Eidson.

* TestWebKitAPI/Tests/mac/ContextMenuCanCopyURL.html:
* TestWebKitAPI/Tests/mac/ContextMenuCanCopyURL.mm:
(TestWebKitAPI::contextMenuCopyLink):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@111615 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[chromium] Early out in a new prepareToDraw() step if checkerboarding an accelerated animation in order to skip the frame
https://bugs.webkit.org/show_bug.cgi?id=81437

Patch by Dana Jansens <danakj@chromium.org> on 2012-03-21
Reviewed by Adrienne Walker.

Source/WebCore:

Split CCLayerTreeHostImpl::drawLayers() into two phases:
prepareToDraw() and drawLayers().

When calculating a RenderPass, and we checkerboard a quad on a
layer, bubble this info back up to CCLayerTreeHostImpl. If the
layer is transforming in an animation, then abort the prepareToDraw()
phase and cause it to return false back to the thread proxy.

Unit test: CCLayerTreeHostImplTest.prepareToDrawFailsWhenAnimationUsesCheckerboard

* platform/graphics/chromium/cc/CCLayerImpl.cpp:
(WebCore::CCLayerImpl::appendQuads):
* platform/graphics/chromium/cc/CCLayerImpl.h:
(CCLayerImpl):
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
(WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
(WebCore::CCLayerTreeHostImpl::prepareToDraw):
(WebCore):
(WebCore::CCLayerTreeHostImpl::drawLayers):
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
(CCLayerTreeHostImpl):
(FrameData):
* platform/graphics/chromium/cc/CCQuadCuller.cpp:
(WebCore::CCQuadCuller::append):
* platform/graphics/chromium/cc/CCQuadCuller.h:
(CCQuadCuller):
* platform/graphics/chromium/cc/CCRenderPass.cpp:
(WebCore::CCRenderPass::appendQuadsForLayer):
* platform/graphics/chromium/cc/CCRenderPass.h:
(CCRenderPass):
* platform/graphics/chromium/cc/CCScrollbarLayerImpl.cpp:
(WebCore::CCScrollbarLayerImpl::appendQuads):
* platform/graphics/chromium/cc/CCScrollbarLayerImpl.h:
(CCScrollbarLayerImpl):
* platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
(WebCore::CCSingleThreadProxy::doComposite):
* platform/graphics/chromium/cc/CCSolidColorLayerImpl.cpp:
(WebCore::CCSolidColorLayerImpl::appendQuads):
* platform/graphics/chromium/cc/CCSolidColorLayerImpl.h:
(CCSolidColorLayerImpl):
* platform/graphics/chromium/cc/CCTextureLayerImpl.cpp:
(WebCore::CCTextureLayerImpl::appendQuads):
* platform/graphics/chromium/cc/CCTextureLayerImpl.h:
(CCTextureLayerImpl):
* platform/graphics/chromium/cc/CCThreadProxy.cpp:
(WebCore::CCThreadProxy::scheduledActionDrawAndSwap):
* platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
(WebCore::CCTiledLayerImpl::appendQuads):
* platform/graphics/chromium/cc/CCTiledLayerImpl.h:
(CCTiledLayerImpl):
* platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
(WebCore::CCVideoLayerImpl::appendQuads):
* platform/graphics/chromium/cc/CCVideoLayerImpl.h:
(CCVideoLayerImpl):

Source/WebKit/chromium:

* tests/CCAnimationTestCommon.cpp:
(WebCore):
(WebCore::addAnimatedTransform):
(WebKitTests::addOpacityTransitionToLayer):
(WebKitTests):
(WebKitTests::addAnimatedTransformToLayer):
* tests/CCAnimationTestCommon.h:
(WebCore):
(WebKitTests):
* tests/CCLayerTreeHostImplTest.cpp:
(WebKitTests::TEST_F):
(DidDrawCheckLayer):
(WebKitTests::DidDrawCheckLayer::DidDrawCheckLayer):
(MissingTextureAnimatingLayer):
(WebKitTests::MissingTextureAnimatingLayer::create):
(WebKitTests::MissingTextureAnimatingLayer::MissingTextureAnimatingLayer):
(WebKitTests):
(WebKitTests::BlendStateCheckLayer::appendQuads):
* tests/CCLayerTreeHostTest.cpp:
(WTF::TestHooks::prepareToDrawOnCCThread):
(WTF::MockLayerTreeHostImpl::prepareToDraw):
(MockLayerTreeHostImpl):
(WTF::MockLayerTreeHostImpl::drawLayers):
* tests/CCQuadCullerTest.cpp:
(WebCore::appendQuads):
* tests/CCSolidColorLayerImplTest.cpp:
(CCLayerTestCommon::TEST):
* tests/CCTiledLayerImplTest.cpp:
(CCLayerTestCommon::TEST):
(CCLayerTestCommon::getQuads):
* tests/MockCCQuadCuller.h:
(WebCore::MockCCQuadCuller::append):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@111616 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Merge branch 'master', remote branch 'upstream/master'