SVG-as-image: Throw out cached bitmap renderings after they sit unused for some time.
<http://webkit.org/b/106484>
<rdar://problem/12983216>

Reviewed by Antti Koivisto.

Add a one-shot timer to SVGImageCache to self-clear the bitmap cache 30 seconds after last access.
This prevents us from keeping huge ImageBuffers around in memory for the lifetime of the elements
referencing that particular SVG file. (The ownership model is actually a bit more complicated
but that's irrelevant to this issue.)

10234kB progression on Membuster3.

* svg/graphics/SVGImageCache.cpp:
(WebCore::SVGImageCache::SVGImageCache):
(WebCore::SVGImageCache::~SVGImageCache):
(WebCore::SVGImageCache::clearBitmapCache):
(WebCore::SVGImageCache::cacheClearTimerFired):
(WebCore::SVGImageCache::lookupOrCreateBitmapImageForRenderer):
* svg/graphics/SVGImageCache.h:
(SVGImageCache):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@139236 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Add WebPreferences for Seamless IFrames on Windows port.
https://bugs.webkit.org/show_bug.cgi?id=106468.

Rubberstamped by Eric Seidel.

* Interfaces/IWebPreferences.idl:
* WebPreferenceKeysPrivate.h:
* WebPreferences.cpp:
(WebPreferences::areSeamlessIFramesEnabled):
(WebPreferences::setSeamlessIFramesEnabled):
* WebPreferences.h:
(WebPreferences):
* WebView.cpp:
(WebView::notifyPreferencesChanged):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@139237 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Skia] Implement GraphicsContext::addRoundedRectClip() using SkCanvas::clipRRect()
https://bugs.webkit.org/show_bug.cgi?id=106461

Reviewed by Stephen White.

Source/WebCore:

This patch adds a Skia-specific version of GraphicsContext::addRoundedRectClip() to take
advantage of the SkCanvas::clipRRect() primitive.

As a minor cleanup, the anonymous namespace in GraphicsContextSkia.cpp is extended to cover
all the local helper functions.

No new tests: coverage provided by existing tests.

* platform/graphics/GraphicsContext.cpp:
(WebCore):
* platform/graphics/skia/GraphicsContextSkia.cpp:
(WebCore::GraphicsContext::addRoundedRectClip):
(WebCore):
(WebCore::GraphicsContext::fillRoundedRect):
* platform/graphics/skia/PlatformContextSkia.h:
(WebCore::PlatformContextSkia::clipRRect):
(WebCore):

LayoutTests:

* platform/chromium-linux/fast/backgrounds/border-radius-split-background-image-expected.png:
* platform/chromium-linux/fast/borders/border-radius-complex-inner-expected.png:
* platform/chromium-linux/fast/borders/border-radius-inset-outset-expected.png:
* platform/chromium-linux/fast/borders/border-radius-wide-border-05-expected.png:
* platform/chromium-linux/fast/borders/border-styles-split-expected.png:
* platform/chromium-linux/fast/borders/borderRadiusArcs01-expected.png:
* platform/chromium-linux/fast/borders/mixed-border-styles-radius-expected.png:
* platform/chromium-linux/fast/css/background-clip-radius-values-expected.png:
* platform/chromium-linux/fast/replaced/border-radius-clip-content-edge-expected.png:
* platform/chromium-linux/fast/writing-mode/border-styles-vertical-lr-expected.png:
* platform/chromium-linux/fast/writing-mode/border-styles-vertical-rl-expected.png:
* platform/chromium-linux/ietestcenter/css3/bordersbackgrounds/border-radius-sum-of-radii-001-expected.png:
* platform/chromium-linux/ietestcenter/css3/bordersbackgrounds/border-radius-sum-of-radii-002-expected.png:
* platform/chromium-linux/ietestcenter/css3/bordersbackgrounds/border-top-left-radius-values-004-expected.png:
* platform/chromium-linux/ietestcenter/css3/bordersbackgrounds/border-top-right-radius-values-004-expected.png:
* platform/chromium-linux/svg/custom/svg-fonts-in-html-expected.png:
* platform/chromium/TestExpectations:


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