mirror of
https://github.com/mozilla/gecko-dev.git
synced 2025-02-06 14:44:26 +00:00
Bug 986359 part 2 - Factor out GetTransaction in DOMWindowUtils; r=mattwoodrow
This commit is contained in:
parent
4d7ae1cfa3
commit
d961380bc0
@ -162,6 +162,23 @@ nsDOMWindowUtils::GetDocument()
|
||||
return window->GetExtantDoc();
|
||||
}
|
||||
|
||||
LayerTransactionChild*
|
||||
nsDOMWindowUtils::GetLayerTransaction()
|
||||
{
|
||||
nsIWidget* widget = GetWidget();
|
||||
if (!widget)
|
||||
return nullptr;
|
||||
|
||||
LayerManager* manager = widget->GetLayerManager();
|
||||
if (!manager)
|
||||
return nullptr;
|
||||
|
||||
ShadowLayerForwarder* forwarder = manager->AsShadowForwarder();
|
||||
return forwarder && forwarder->HasShadowManager() ?
|
||||
forwarder->GetShadowManager() :
|
||||
nullptr;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsDOMWindowUtils::GetImageAnimationMode(uint16_t *aMode)
|
||||
{
|
||||
@ -2552,16 +2569,9 @@ nsDOMWindowUtils::AdvanceTimeAndRefresh(int64_t aMilliseconds)
|
||||
nsRefreshDriver* driver = GetPresContext()->RefreshDriver();
|
||||
driver->AdvanceTimeAndRefresh(aMilliseconds);
|
||||
|
||||
nsIWidget* widget = GetWidget();
|
||||
if (widget) {
|
||||
LayerManager* manager = widget->GetLayerManager();
|
||||
if (manager) {
|
||||
ShadowLayerForwarder* forwarder = manager->AsShadowForwarder();
|
||||
if (forwarder && forwarder->HasShadowManager()) {
|
||||
forwarder->GetShadowManager()->SendSetTestSampleTime(
|
||||
driver->MostRecentRefresh());
|
||||
}
|
||||
}
|
||||
LayerTransactionChild* transaction = GetLayerTransaction();
|
||||
if (transaction) {
|
||||
transaction->SendSetTestSampleTime(driver->MostRecentRefresh());
|
||||
}
|
||||
|
||||
return NS_OK;
|
||||
@ -2577,15 +2587,9 @@ nsDOMWindowUtils::RestoreNormalRefresh()
|
||||
// Kick the compositor out of test mode before the refresh driver, so that
|
||||
// the refresh driver doesn't send an update that gets ignored by the
|
||||
// compositor.
|
||||
nsIWidget* widget = GetWidget();
|
||||
if (widget) {
|
||||
LayerManager* manager = widget->GetLayerManager();
|
||||
if (manager) {
|
||||
ShadowLayerForwarder* forwarder = manager->AsShadowForwarder();
|
||||
if (forwarder && forwarder->HasShadowManager()) {
|
||||
forwarder->GetShadowManager()->SendLeaveTestMode();
|
||||
}
|
||||
}
|
||||
LayerTransactionChild* transaction = GetLayerTransaction();
|
||||
if (transaction) {
|
||||
transaction->SendLeaveTestMode();
|
||||
}
|
||||
|
||||
nsRefreshDriver* driver = GetPresContext()->RefreshDriver();
|
||||
|
@ -19,6 +19,12 @@ class nsPresContext;
|
||||
class nsPoint;
|
||||
class nsIDocument;
|
||||
|
||||
namespace mozilla {
|
||||
namespace layers {
|
||||
class LayerTransactionChild;
|
||||
}
|
||||
}
|
||||
|
||||
class nsDOMWindowUtils MOZ_FINAL : public nsIDOMWindowUtils,
|
||||
public nsSupportsWeakReference
|
||||
{
|
||||
@ -41,6 +47,7 @@ protected:
|
||||
nsIPresShell* GetPresShell();
|
||||
nsPresContext* GetPresContext();
|
||||
nsIDocument* GetDocument();
|
||||
mozilla::layers::LayerTransactionChild* GetLayerTransaction();
|
||||
|
||||
NS_IMETHOD SendMouseEventCommon(const nsAString& aType,
|
||||
float aX,
|
||||
|
Loading…
x
Reference in New Issue
Block a user