Make use of CG rounded-rect primitives
authortimothy_horton@apple.com <timothy_horton@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 29 Feb 2012 21:36:12 +0000 (21:36 +0000)
committertimothy_horton@apple.com <timothy_horton@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 29 Feb 2012 21:36:12 +0000 (21:36 +0000)
commit52b8b68e8c90b6e7ca3d7fb51e5559d29abc5e3b
tree3c13d9f9c65d2b4fed07ade54ea401b1b620acb9
parent8ff646bd908a70536f6b19a2f25687abcfbef849
Make use of CG rounded-rect primitives
https://bugs.webkit.org/show_bug.cgi?id=79932
<rdar://problem/9274953>

Reviewed by Simon Fraser.

Dispatch to potentially platform-specific rounded rectangle path
construction from addPathForRoundedRect. Make use of this to call
wkCGPathAddRoundedRect on Lion and above, as long as the rounded
corners are all equivalent.

No new tests, as this is covered by many that use rounded corners,
and is only a performance improvement.

* WebCore.exp.in:
* platform/graphics/Path.cpp:
(WebCore::Path::addRoundedRect):
(WebCore):
(WebCore::Path::addPathForRoundedRect):
* platform/graphics/Path.h:
(Path):
* platform/graphics/cg/PathCG.cpp:
(WebCore::Path::addPathForRoundedRect):
(WebCore):
* platform/mac/WebCoreSystemInterface.h:
* platform/mac/WebCoreSystemInterface.mm:

Add wkCGPathAddRoundedRect.

* WebCoreSupport/WebSystemInterface.mm:
(InitWebCoreSystemInterface):

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

* WebKitSystemInterface.h:
* libWebKitSystemInterfaceLeopard.a:
* libWebKitSystemInterfaceLion.a:
* libWebKitSystemInterfaceSnowLeopard.a:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@109255 268f45cc-cd09-0410-ab3c-d52691b4dbfc
16 files changed:
Source/WebCore/ChangeLog
Source/WebCore/WebCore.exp.in
Source/WebCore/platform/graphics/Path.cpp
Source/WebCore/platform/graphics/Path.h
Source/WebCore/platform/graphics/cg/PathCG.cpp
Source/WebCore/platform/mac/WebCoreSystemInterface.h
Source/WebCore/platform/mac/WebCoreSystemInterface.mm
Source/WebKit/mac/ChangeLog
Source/WebKit/mac/WebCoreSupport/WebSystemInterface.mm
Source/WebKit2/ChangeLog
Source/WebKit2/WebProcess/WebCoreSupport/mac/WebSystemInterface.mm
WebKitLibraries/ChangeLog
WebKitLibraries/WebKitSystemInterface.h
WebKitLibraries/libWebKitSystemInterfaceLeopard.a
WebKitLibraries/libWebKitSystemInterfaceLion.a
WebKitLibraries/libWebKitSystemInterfaceSnowLeopard.a