Title: [169395] trunk/Source/WebCore
Revision
169395
Author
[email protected]
Date
2014-05-27 11:35:39 -0700 (Tue, 27 May 2014)

Log Message

Turn on the LayerPool for iOS
https://bugs.webkit.org/show_bug.cgi?id=133299

Reviewed by Antti Koivisto.

* Configurations/WebCore.xcconfig:
* platform/cocoa/MemoryPressureHandlerCocoa.mm:
(WebCore::MemoryPressureHandler::platformReleaseMemory):
* platform/graphics/ca/mac/TileController.mm:
(WebCore::TileController::createTileLayer):
* platform/graphics/ca/mac/TileGrid.mm:
(WebCore::TileGrid::removeTiles):
Turn on the LayerPool for iOS.
We've used this on Mac for a long time, and the WebKit1
("legacy") iOS TileCache also had a similar pool.
This helps a good bit with flashiness while scrolling.

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (169394 => 169395)


--- trunk/Source/WebCore/ChangeLog	2014-05-27 18:35:12 UTC (rev 169394)
+++ trunk/Source/WebCore/ChangeLog	2014-05-27 18:35:39 UTC (rev 169395)
@@ -1,3 +1,22 @@
+2014-05-27  Timothy Horton  <[email protected]>
+
+        Turn on the LayerPool for iOS
+        https://bugs.webkit.org/show_bug.cgi?id=133299
+
+        Reviewed by Antti Koivisto.
+
+        * Configurations/WebCore.xcconfig:
+        * platform/cocoa/MemoryPressureHandlerCocoa.mm:
+        (WebCore::MemoryPressureHandler::platformReleaseMemory):
+        * platform/graphics/ca/mac/TileController.mm:
+        (WebCore::TileController::createTileLayer):
+        * platform/graphics/ca/mac/TileGrid.mm:
+        (WebCore::TileGrid::removeTiles):
+        Turn on the LayerPool for iOS.
+        We've used this on Mac for a long time, and the WebKit1
+        ("legacy") iOS TileCache also had a similar pool.
+        This helps a good bit with flashiness while scrolling.
+
 2014-05-27  David Hyatt  <[email protected]>
 
         REGRESSION: Audio volume scrubber does not show volume level thumb

Modified: trunk/Source/WebCore/Configurations/WebCore.xcconfig (169394 => 169395)


--- trunk/Source/WebCore/Configurations/WebCore.xcconfig	2014-05-27 18:35:12 UTC (rev 169394)
+++ trunk/Source/WebCore/Configurations/WebCore.xcconfig	2014-05-27 18:35:39 UTC (rev 169395)
@@ -112,6 +112,6 @@
 _javascript_CORE_PRIVATE_HEADERS_engineering = $(BUILT_PRODUCTS_DIR)/_javascript_Core.framework/PrivateHeaders;
 
 EXCLUDED_SOURCE_FILE_NAMES = $(EXCLUDED_SOURCE_FILE_NAMES_$(PLATFORM_NAME));
-EXCLUDED_SOURCE_FILE_NAMES_iphoneos = *.tiff *Cursor.png AccessibilityObjectMac.mm AXObjectCacheMac.mm ColorMac.mm Cursor.cpp CursorMac.mm DataTransferMac.mm EditorMac.mm EventHandlerMac.mm EventLoopMac.mm GeolocationServiceMac.mm GraphicsContext3DOpenGLES.cpp IconDatabase.cpp IconMac.mm KillRingMac.mm LocalCurrentGraphicsContext.mm MIMETypeRegistryMac.mm MediaPlayerPrivateQTKit.mm NSScrollerImpDetails.mm NetworkStateNotifierMac.cpp PasteboardMac.mm PlatformEventFactoryMac.mm PlatformMouseEventMac.mm PlatformPasteboardMac.mm PlatformScreenMac.mm PlatformSpeechSynthesizerMac.mm PluginMainThreadScheduler.cpp RunLoopMac.mm SSLKeyGeneratorMac.cpp ScrollingCoordinatorMac.mm ScrollViewMac.mm ScrollbarThemeMac.mm SharedTimerMac.mm SoundMac.mm SystemTimeMac.cpp ThemeMac.mm ThreadCheck.mm UserAgentMac.mm WebAccessibilityObjectWrapperMac.mm WebCoreSystemInterface.mm WebCoreURLResponse.mm WebCoreView.m WebFontCache.mm WebVideoFullscreenController.mm WebVideoFullscreenHUDWindowController.mm WebWindowAnimation.mm WidgetMac.mm mac/LayerPool.mm DisplayRefreshMonitorMac.cpp;
+EXCLUDED_SOURCE_FILE_NAMES_iphoneos = *.tiff *Cursor.png AccessibilityObjectMac.mm AXObjectCacheMac.mm ColorMac.mm Cursor.cpp CursorMac.mm DataTransferMac.mm EditorMac.mm EventHandlerMac.mm EventLoopMac.mm GeolocationServiceMac.mm GraphicsContext3DOpenGLES.cpp IconDatabase.cpp IconMac.mm KillRingMac.mm LocalCurrentGraphicsContext.mm MIMETypeRegistryMac.mm MediaPlayerPrivateQTKit.mm NSScrollerImpDetails.mm NetworkStateNotifierMac.cpp PasteboardMac.mm PlatformEventFactoryMac.mm PlatformMouseEventMac.mm PlatformPasteboardMac.mm PlatformScreenMac.mm PlatformSpeechSynthesizerMac.mm PluginMainThreadScheduler.cpp RunLoopMac.mm SSLKeyGeneratorMac.cpp ScrollingCoordinatorMac.mm ScrollViewMac.mm ScrollbarThemeMac.mm SharedTimerMac.mm SoundMac.mm SystemTimeMac.cpp ThemeMac.mm ThreadCheck.mm UserAgentMac.mm WebAccessibilityObjectWrapperMac.mm WebCoreSystemInterface.mm WebCoreURLResponse.mm WebCoreView.m WebFontCache.mm WebVideoFullscreenController.mm WebVideoFullscreenHUDWindowController.mm WebWindowAnimation.mm WidgetMac.mm DisplayRefreshMonitorMac.cpp;
 EXCLUDED_SOURCE_FILE_NAMES_iphonesimulator = $(EXCLUDED_SOURCE_FILE_NAMES_iphoneos);
 EXCLUDED_SOURCE_FILE_NAMES_macosx = *IOS.h *IOS.cpp *IOS.mm JSTouch* JSGesture* DOMGesture* DOMTouch* KillRingNone.cpp WAKAppKitStubs.h WAKClipView.h WAKResponder.h WAKScrollView.h WAKView.h WAKViewPrivate.h WAKWindow.h WKContentObservation.h WKGraphics.h WKTypes.h WKUtilities.h WKView.h WKViewPrivate.h WebCoreThread.h WebCoreThreadMessage.h WebCoreThreadRun.h WebCoreThreadSystemInterface.h;

Modified: trunk/Source/WebCore/platform/cocoa/MemoryPressureHandlerCocoa.mm (169394 => 169395)


--- trunk/Source/WebCore/platform/cocoa/MemoryPressureHandlerCocoa.mm	2014-05-27 18:35:12 UTC (rev 169394)
+++ trunk/Source/WebCore/platform/cocoa/MemoryPressureHandlerCocoa.mm	2014-05-27 18:35:39 UTC (rev 169395)
@@ -47,12 +47,10 @@
 
 void MemoryPressureHandler::platformReleaseMemory(bool)
 {
-#if PLATFORM(MAC)
     {
         ReliefLogger log("Drain LayerPool");
         LayerPool::sharedPool()->drain();
     }
-#endif
 #if USE(IOSURFACE)
     {
         ReliefLogger log("Drain IOSurfacePool");

Modified: trunk/Source/WebCore/platform/graphics/ca/mac/TileController.mm (169394 => 169395)


--- trunk/Source/WebCore/platform/graphics/ca/mac/TileController.mm	2014-05-27 18:35:12 UTC (rev 169394)
+++ trunk/Source/WebCore/platform/graphics/ca/mac/TileController.mm	2014-05-27 18:35:39 UTC (rev 169395)
@@ -32,9 +32,7 @@
 #import "TileCoverageMap.h"
 #import "TileGrid.h"
 #import "WebLayer.h"
-#if !PLATFORM(IOS)
 #import "LayerPool.h"
-#endif
 #import <wtf/MainThread.h>
 #import <utility>
 
@@ -490,11 +488,7 @@
 
 RefPtr<PlatformCALayer> TileController::createTileLayer(const IntRect& tileRect, TileGrid& grid)
 {
-#if PLATFORM(IOS)
-    RefPtr<PlatformCALayer> layer;
-#else
     RefPtr<PlatformCALayer> layer = LayerPool::sharedPool()->takeLayerWithSize(tileRect.size());
-#endif
 
     if (layer)
         layer->setOwner(&grid);

Modified: trunk/Source/WebCore/platform/graphics/ca/mac/TileGrid.mm (169394 => 169395)


--- trunk/Source/WebCore/platform/graphics/ca/mac/TileGrid.mm	2014-05-27 18:35:12 UTC (rev 169394)
+++ trunk/Source/WebCore/platform/graphics/ca/mac/TileGrid.mm	2014-05-27 18:35:39 UTC (rev 169395)
@@ -268,9 +268,7 @@
         TileInfo tileInfo = m_tiles.take(toRemove[i]);
         tileInfo.layer->removeFromSuperlayer();
         m_tileRepaintCounts.remove(tileInfo.layer.get());
-#if !PLATFORM(IOS)
         LayerPool::sharedPool()->addLayer(tileInfo.layer);
-#endif
     }
 }
 
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to