Title: [171321] trunk/Source
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]);
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to