https://bugs.webkit.org/show_bug.cgi?id=77055
Unreviewed rollout of http://trac.webkit.org/changeset/100751. The refresh rate mechanism is not implemented,
but it still triggers a very slow codepath and triggers races on some platforms.
Patch by James Robinson <jamesr@chromium.org> on 2012-01-25
Source/WebCore:
* platform/PlatformScreen.h:
(WebCore):
* platform/chromium/PlatformScreenChromium.cpp:
* platform/chromium/PlatformSupport.h:
(PlatformSupport):
():
* platform/graphics/chromium/cc/CCLayerTreeHost.h:
(WebCore::CCSettings::CCSettings):
(CCSettings):
* platform/graphics/chromium/cc/CCThreadProxy.cpp:
(WebCore::CCThreadProxy::initializeImplOnImplThread):
Source/WebKit/chromium:
* public/WebScreenInfo.h:
(WebScreenInfo):
(WebKit::WebScreenInfo::WebScreenInfo):
* src/PlatformSupport.cpp:
* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::setIsAcceleratedCompositingActive):
* tests/CCLayerTreeHostTest.cpp:
(WTF::CCLayerTreeHostTest::runTest):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@105961
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
+2012-01-25 James Robinson <jamesr@chromium.org>
+
+ [chromium] Rollout r100751, this mechanism does not work and is very slow
+ https://bugs.webkit.org/show_bug.cgi?id=77055
+
+ Unreviewed rollout of http://trac.webkit.org/changeset/100751. The refresh rate mechanism is not implemented,
+ but it still triggers a very slow codepath and triggers races on some platforms.
+
+ * platform/PlatformScreen.h:
+ (WebCore):
+ * platform/chromium/PlatformScreenChromium.cpp:
+ * platform/chromium/PlatformSupport.h:
+ (PlatformSupport):
+ ():
+ * platform/graphics/chromium/cc/CCLayerTreeHost.h:
+ (WebCore::CCSettings::CCSettings):
+ (CCSettings):
+ * platform/graphics/chromium/cc/CCThreadProxy.cpp:
+ (WebCore::CCThreadProxy::initializeImplOnImplThread):
+
2012-01-25 Mark Rowe <mrowe@apple.com>
Reapply Daniel Bates's build fix from r105847 after the exact same issue was reintroduced in r105930.
FloatRect screenRect(Widget*);
FloatRect screenAvailableRect(Widget*);
-#if PLATFORM(CHROMIUM)
- // Measured in frames per second. 0 if the refresh rate is unknown, or not applicable.
- double screenRefreshRate(Widget*);
-#endif
-
#if PLATFORM(MAC)
NSScreen *screenForWindow(NSWindow *);
return PlatformSupport::screenAvailableRect(widget);
}
-double screenRefreshRate(Widget* widget)
-{
- return PlatformSupport::screenRefreshRate(widget);
-}
-
} // namespace WebCore
static bool screenIsMonochrome(Widget*);
static IntRect screenRect(Widget*);
static IntRect screenAvailableRect(Widget*);
- static double screenRefreshRate(Widget*);
// SharedTimers -------------------------------------------------------
static void setSharedTimerFiredFunction(void (*func)());
TRACE_EVENT("CCThreadProxy::initializeImplOnImplThread", this, 0);
ASSERT(isImplThread());
m_layerTreeHostImpl = m_layerTreeHost->createLayerTreeHostImpl(this);
- ASSERT(m_layerTreeHostImpl->settings().refreshRate > 0);
- const double displayRefreshIntervalMs = 1000.0 / m_layerTreeHostImpl->settings().refreshRate;
+ const double displayRefreshIntervalMs = 1000.0 / 60.0;
OwnPtr<CCFrameRateController> frameRateController = adoptPtr(new CCFrameRateController(CCDelayBasedTimeSource::create(displayRefreshIntervalMs, CCProxy::implThread())));
m_schedulerOnImplThread = CCScheduler::create(this, frameRateController.release());
m_schedulerOnImplThread->setVisible(m_layerTreeHostImpl->visible());
+2012-01-25 James Robinson <jamesr@chromium.org>
+
+ [chromium] Rollout r100751, this mechanism does not work and is very slow
+ https://bugs.webkit.org/show_bug.cgi?id=77055
+
+ Unreviewed rollout of http://trac.webkit.org/changeset/100751. The refresh rate mechanism is not implemented,
+ but it still triggers a very slow codepath and triggers races on some platforms.
+
+ * public/WebScreenInfo.h:
+ (WebScreenInfo):
+ (WebKit::WebScreenInfo::WebScreenInfo):
+ * src/PlatformSupport.cpp:
+ * src/WebViewImpl.cpp:
+ (WebKit::WebViewImpl::setIsAcceleratedCompositingActive):
+ * tests/CCLayerTreeHostTest.cpp:
+ (WTF::CCLayerTreeHostTest::runTest):
+
2012-01-25 Eric Uhrhane <ericu@chromium.org>
Add full support for filesystem URLs.
// some of the rectangle's coordinates may be negative values".
WebRect availableRect;
- // Measured in frames per second. 0 if the rate is unknown or not applicable.
- double refreshRate;
-
WebScreenInfo()
: horizontalDPI(0)
, verticalDPI(0)
, depth(0)
, depthPerComponent(0)
- , isMonochrome(false)
- , refreshRate(0) { }
+ , isMonochrome(false) { }
};
} // namespace WebKit
return client->screenInfo().availableRect;
}
-double PlatformSupport::screenRefreshRate(Widget* widget)
-{
- WebWidgetClient* client = toWebWidgetClient(widget);
- if (!client)
- return 0;
- return client->screenInfo().refreshRate;
-}
-
bool PlatformSupport::popupsAllowed(NPP npp)
{
// FIXME: Give the embedder a way to control this.
#include "PlatformContextSkia.h"
#include "PlatformKeyboardEvent.h"
#include "PlatformMouseEvent.h"
-#include "PlatformScreen.h"
#include "PlatformThemeChromiumLinux.h"
#include "PlatformWheelEvent.h"
#include "PopupContainer.h"
} else {
TRACE_EVENT("WebViewImpl::setIsAcceleratedCompositingActive(true)", this, 0);
- static const double defaultRefreshRate = 60.0;
-
WebCore::CCSettings ccSettings;
ccSettings.acceleratePainting = page()->settings()->acceleratedDrawingEnabled();
ccSettings.compositeOffscreen = settings()->compositeToTextureEnabled();
ccSettings.showFPSCounter = settings()->showFPSCounter();
ccSettings.showPlatformLayerTree = settings()->showPlatformLayerTree();
- ccSettings.refreshRate = screenRefreshRate(page()->mainFrame()->view());
-
- ASSERT(ccSettings.refreshRate >= 0);
- if (!ccSettings.refreshRate)
- ccSettings.refreshRate = defaultRefreshRate;
ccSettings.perTilePainting = page()->settings()->perTileDrawingEnabled();
ccSettings.partialSwapEnabled = page()->settings()->partialSwapEnabled();
virtual void runTest(bool threaded)
{
- m_settings.refreshRate = 100.0;
-
if (threaded) {
m_webThread = adoptPtr(webKitPlatformSupport()->createThread("CCLayerTreeHostTest"));
WebCompositor::initialize(m_webThread.get());