- Revision
- 171321
- Author
- [email protected]
- Date
- 2014-07-21 17:09:19 -0700 (Mon, 21 Jul 2014)
Log Message
WK1 should always setAcceleratedCompositingForFixedPositionEnabled(true) on
Yosemite
https://bugs.webkit.org/show_bug.cgi?id=135135
Reviewed by Darin Adler.
Source/WebCore:
This patch gets rid of the ChromeClient function that was introduced with
http://trac.webkit.org/changeset/171308 We’ll just enable the Setting instead.
* css/StyleResolver.cpp:
(WebCore::StyleResolver::adjustRenderStyle):
(WebCore::fixedPositionCreatesStackingContext): Deleted.
* page/ChromeClient.h:
(WebCore::ChromeClient::requiresAcceleratedCompositingForViewportConstrainedPosition): Deleted.
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::requiresCompositingForPosition):
Source/WebKit/mac:
Get rid of the ChromeClient function, and enable the Setting instead.
* WebCoreSupport/WebChromeClient.h:
* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::requiresAcceleratedCompositingForViewportConstrainedPosition): Deleted.
* WebView/WebView.mm:
(-[WebView _preferencesChanged:]):
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (171320 => 171321)
--- trunk/Source/WebCore/ChangeLog 2014-07-21 23:44:33 UTC (rev 171320)
+++ trunk/Source/WebCore/ChangeLog 2014-07-22 00:09:19 UTC (rev 171321)
@@ -1,3 +1,21 @@
+2014-07-21 Beth Dakin <[email protected]>
+
+ WK1 should always setAcceleratedCompositingForFixedPositionEnabled(true) on
+ Yosemite
+ https://bugs.webkit.org/show_bug.cgi?id=135135
+
+ Reviewed by Darin Adler.
+
+ This patch gets rid of the ChromeClient function that was introduced with
+ http://trac.webkit.org/changeset/171308 We’ll just enable the Setting instead.
+ * css/StyleResolver.cpp:
+ (WebCore::StyleResolver::adjustRenderStyle):
+ (WebCore::fixedPositionCreatesStackingContext): Deleted.
+ * page/ChromeClient.h:
+ (WebCore::ChromeClient::requiresAcceleratedCompositingForViewportConstrainedPosition): Deleted.
+ * rendering/RenderLayerCompositor.cpp:
+ (WebCore::RenderLayerCompositor::requiresCompositingForPosition):
+
2014-07-21 Simon Fraser <[email protected]>
[iOS WK2] Turn off position:fixed behavior when the keyboard is up
Modified: trunk/Source/WebCore/css/StyleResolver.cpp (171320 => 171321)
--- trunk/Source/WebCore/css/StyleResolver.cpp 2014-07-21 23:44:33 UTC (rev 171320)
+++ trunk/Source/WebCore/css/StyleResolver.cpp 2014-07-22 00:09:19 UTC (rev 171321)
@@ -59,8 +59,6 @@
#include "CachedSVGDocument.h"
#include "CachedSVGDocumentReference.h"
#include "CalculationValue.h"
-#include "Chrome.h"
-#include "ChromeClient.h"
#include "ContentData.h"
#include "Counter.h"
#include "CounterContent.h"
@@ -1149,19 +1147,6 @@
}
#endif
-static inline bool fixedPositionCreatesStackingContext(Element* element)
-{
- if (!element)
- return false;
-
- Page* page = element->document().page();
- if (!page)
- return false;
-
- return page->settings().fixedPositionCreatesStackingContext()
- || page->chrome().client().requiresAcceleratedCompositingForViewportConstrainedPosition();
-}
-
void StyleResolver::adjustRenderStyle(RenderStyle& style, const RenderStyle& parentStyle, Element *e)
{
// Cache our original display.
@@ -1270,7 +1255,7 @@
|| style.hasBlendMode()
|| style.hasIsolation()
|| style.position() == StickyPosition
- || (style.position() == FixedPosition && fixedPositionCreatesStackingContext(e))
+ || (style.position() == FixedPosition && e && e->document().page() && e->document().page()->settings().fixedPositionCreatesStackingContext())
|| style.hasFlowFrom()
))
style.setZIndex(0);
Modified: trunk/Source/WebCore/page/ChromeClient.h (171320 => 171321)
--- trunk/Source/WebCore/page/ChromeClient.h 2014-07-21 23:44:33 UTC (rev 171320)
+++ trunk/Source/WebCore/page/ChromeClient.h 2014-07-22 00:09:19 UTC (rev 171321)
@@ -427,8 +427,6 @@
virtual bool shouldUseTiledBackingForFrameView(const FrameView*) const { return false; }
- virtual bool requiresAcceleratedCompositingForViewportConstrainedPosition() const { return false; }
-
#if ENABLE(SUBTLE_CRYPTO)
virtual bool wrapCryptoKey(const Vector<uint8_t>&, Vector<uint8_t>&) const { return false; }
virtual bool unwrapCryptoKey(const Vector<uint8_t>&, Vector<uint8_t>&) const { return false; }
Modified: trunk/Source/WebCore/rendering/RenderLayerCompositor.cpp (171320 => 171321)
--- trunk/Source/WebCore/rendering/RenderLayerCompositor.cpp 2014-07-21 23:44:33 UTC (rev 171320)
+++ trunk/Source/WebCore/rendering/RenderLayerCompositor.cpp 2014-07-22 00:09:19 UTC (rev 171321)
@@ -2610,9 +2610,7 @@
// FIXME: acceleratedCompositingForFixedPositionEnabled should probably be renamed acceleratedCompositingForViewportConstrainedPositionEnabled().
const Settings& settings = m_renderView.frameView().frame().settings();
- Page* page = this->page();
- bool clientRequiresCompositing = page && page->chrome().client().requiresAcceleratedCompositingForViewportConstrainedPosition();
- if (!(settings.acceleratedCompositingForFixedPositionEnabled() || clientRequiresCompositing))
+ if (!settings.acceleratedCompositingForFixedPositionEnabled())
return false;
if (isSticky)
Modified: trunk/Source/WebKit/mac/ChangeLog (171320 => 171321)
--- trunk/Source/WebKit/mac/ChangeLog 2014-07-21 23:44:33 UTC (rev 171320)
+++ trunk/Source/WebKit/mac/ChangeLog 2014-07-22 00:09:19 UTC (rev 171321)
@@ -1,5 +1,20 @@
2014-07-21 Beth Dakin <[email protected]>
+ WK1 should always setAcceleratedCompositingForFixedPositionEnabled(true) on
+ Yosemite
+ https://bugs.webkit.org/show_bug.cgi?id=135135
+
+ Reviewed by Darin Adler.
+
+ Get rid of the ChromeClient function, and enable the Setting instead.
+ * WebCoreSupport/WebChromeClient.h:
+ * WebCoreSupport/WebChromeClient.mm:
+ (WebChromeClient::requiresAcceleratedCompositingForViewportConstrainedPosition): Deleted.
+ * WebView/WebView.mm:
+ (-[WebView _preferencesChanged:]):
+
+2014-07-21 Beth Dakin <[email protected]>
+
Build fix.
* WebCoreSupport/WebChromeClient.mm:
Modified: trunk/Source/WebKit/mac/WebCoreSupport/WebChromeClient.h (171320 => 171321)
--- trunk/Source/WebKit/mac/WebCoreSupport/WebChromeClient.h 2014-07-21 23:44:33 UTC (rev 171320)
+++ trunk/Source/WebKit/mac/WebCoreSupport/WebChromeClient.h 2014-07-22 00:09:19 UTC (rev 171321)
@@ -211,7 +211,6 @@
#endif
private:
- virtual bool requiresAcceleratedCompositingForViewportConstrainedPosition() const override;
WebView *m_webView;
};
Modified: trunk/Source/WebKit/mac/WebCoreSupport/WebChromeClient.mm (171320 => 171321)
--- trunk/Source/WebKit/mac/WebCoreSupport/WebChromeClient.mm 2014-07-21 23:44:33 UTC (rev 171320)
+++ trunk/Source/WebKit/mac/WebCoreSupport/WebChromeClient.mm 2014-07-22 00:09:19 UTC (rev 171321)
@@ -1009,16 +1009,6 @@
#endif // ENABLE(FULLSCREEN_API)
-bool WebChromeClient::requiresAcceleratedCompositingForViewportConstrainedPosition() const
-{
-#if !PLATFORM(IOS)
- NSView<WebDocumentView> *documentView = [[[m_webView _selectedOrMainFrame] frameView] documentView];
- return [documentView isKindOfClass:[WebHTMLView class]] && documentView.layer;
-#else
- return false;
-#endif
-}
-
#if ENABLE(SUBTLE_CRYPTO)
bool WebChromeClient::wrapCryptoKey(const Vector<uint8_t>& key, Vector<uint8_t>& wrappedKey) const
{
Modified: trunk/Source/WebKit/mac/WebView/WebView.mm (171320 => 171321)
--- trunk/Source/WebKit/mac/WebView/WebView.mm 2014-07-21 23:44:33 UTC (rev 171320)
+++ trunk/Source/WebKit/mac/WebView/WebView.mm 2014-07-22 00:09:19 UTC (rev 171321)
@@ -2298,6 +2298,9 @@
settings.setPlugInSnapshottingEnabled([preferences plugInSnapshottingEnabled]);
settings.setFixedPositionCreatesStackingContext(true);
+#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 10100
+ settings.setAcceleratedCompositingForFixedPositionEnabled(true);
+#endif
#if PLATFORM(IOS)
settings.setStandalone([preferences _standalone]);