Backed out changeset f94ee00aa4d6 (bug 974197) for causing gaia-ui-test failures

This commit is contained in:
Ed Morley 2014-03-07 15:45:59 +00:00
Родитель d61d42192c
Коммит f60c92c019
17 изменённых файлов: 8 добавлений и 137 удалений

Просмотреть файл

@ -74,7 +74,6 @@
#include "nsILoadContext.h"
#include "ipc/nsGUIEventIPC.h"
#include "mozilla/gfx/Matrix.h"
#include "ClientLayerManager.h"
#include "nsColorPickerProxy.h"
@ -107,9 +106,6 @@ static bool sCpowsEnabled = false;
static int32_t sActiveDurationMs = 10;
static bool sActiveDurationMsSet = false;
typedef nsDataHashtable<nsUint64HashKey, TabChild*> TabChildMap;
static TabChildMap* sTabChildren;
NS_IMETHODIMP
ContentListener::HandleEvent(nsIDOMEvent* aEvent)
{
@ -284,7 +280,6 @@ TabChild::TabChild(ContentChild* aManager, const TabContext& aContext, uint32_t
, mManager(aManager)
, mTabChildGlobal(nullptr)
, mChromeFlags(aChromeFlags)
, mLayersId(0)
, mOuterRect(0, 0, 0, 0)
, mInnerSize(0, 0)
, mActivePointerId(-1)
@ -1213,17 +1208,6 @@ TabChild::DestroyWindow()
mRemoteFrame->Destroy();
mRemoteFrame = nullptr;
}
if (mLayersId != 0) {
MOZ_ASSERT(sTabChildren);
sTabChildren->Remove(mLayersId);
if (!sTabChildren->Count()) {
delete sTabChildren;
sTabChildren = nullptr;
}
mLayersId = 0;
}
}
bool
@ -2443,13 +2427,6 @@ TabChild::InitRenderingState()
ImageBridgeChild::IdentifyCompositorTextureHost(mTextureFactoryIdentifier);
mRemoteFrame = remoteFrame;
if (id != 0) {
if (!sTabChildren) {
sTabChildren = new TabChildMap;
}
sTabChildren->Put(id, this);
mLayersId = id;
}
nsCOMPtr<nsIObserverService> observerService =
mozilla::services::GetObserverService();
@ -2652,26 +2629,6 @@ TabChild::GetFrom(nsIPresShell* aPresShell)
return GetFrom(docShell);
}
TabChild*
TabChild::GetFrom(uint64_t aLayersId)
{
if (!sTabChildren) {
return nullptr;
}
return sTabChildren->Get(aLayersId);
}
void
TabChild::DidComposite()
{
MOZ_ASSERT(mWidget);
MOZ_ASSERT(mWidget->GetLayerManager());
MOZ_ASSERT(mWidget->GetLayerManager()->GetBackendType() == LayersBackend::LAYERS_CLIENT);
ClientLayerManager *manager = static_cast<ClientLayerManager*>(mWidget->GetLayerManager());
manager->DidComposite();
}
NS_IMETHODIMP
TabChild::OnShowTooltip(int32_t aXCoords, int32_t aYCoords, const char16_t *aTipText)
{

Просмотреть файл

@ -381,9 +381,6 @@ public:
}
static TabChild* GetFrom(nsIPresShell* aPresShell);
static TabChild* GetFrom(uint64_t aLayersId);
void DidComposite();
static inline TabChild*
GetFrom(nsIDOMWindow* aWindow)
@ -502,7 +499,6 @@ private:
nsRefPtr<ContentChild> mManager;
nsRefPtr<TabChildGlobal> mTabChildGlobal;
uint32_t mChromeFlags;
uint64_t mLayersId;
nsIntRect mOuterRect;
ScreenIntSize mInnerSize;
// When we're tracking a possible tap gesture, this is the "down"

Просмотреть файл

@ -22,7 +22,6 @@
#include "mozilla/layers/LayerTransactionChild.h"
#include "nsAString.h"
#include "nsIWidget.h" // for nsIWidget
#include "nsIWidgetListener.h"
#include "nsTArray.h" // for AutoInfallibleTArray
#include "nsXULAppAPI.h" // for XRE_GetProcessType, etc
#ifdef MOZ_WIDGET_ANDROID
@ -265,21 +264,6 @@ ClientLayerManager::Composite()
}
}
void
ClientLayerManager::DidComposite()
{
MOZ_ASSERT(mWidget);
nsIWidgetListener *listener = mWidget->GetWidgetListener();
if (listener) {
listener->DidCompositeWindow();
} else {
listener = mWidget->GetAttachedWidgetListener();
if (listener) {
listener->DidCompositeWindow();
}
}
}
void
ClientLayerManager::MakeSnapshotIfRequired()
{

Просмотреть файл

@ -153,8 +153,6 @@ public:
virtual void Composite() MOZ_OVERRIDE;
virtual void DidComposite();
protected:
enum TransactionPhase {
PHASE_NONE, PHASE_CONSTRUCTION, PHASE_DRAWING, PHASE_FORWARD

Просмотреть файл

@ -20,7 +20,6 @@
#include "nsTArray.h" // for nsTArray, nsTArray_Impl
#include "nsXULAppAPI.h" // for XRE_GetIOMessageLoop, etc
#include "FrameLayerBuilder.h"
#include "mozilla/dom/TabChild.h"
using mozilla::layers::LayerTransactionChild;
@ -121,21 +120,6 @@ CompositorChild::RecvInvalidateAll()
return true;
}
bool
CompositorChild::RecvDidComposite(const uint64_t& aId)
{
if (mLayerManager) {
MOZ_ASSERT(aId == 0);
mLayerManager->DidComposite();
} else if (aId != 0) {
dom::TabChild *child = dom::TabChild::GetFrom(aId);
if (child) {
child->DidComposite();
}
}
return true;
}
void
CompositorChild::ActorDestroy(ActorDestroyReason aWhy)
{

Просмотреть файл

@ -57,8 +57,6 @@ public:
virtual bool RecvInvalidateAll() MOZ_OVERRIDE;
virtual bool RecvDidComposite(const uint64_t& aId) MOZ_OVERRIDE;
protected:
virtual PLayerTransactionChild*
AllocPLayerTransactionChild(const nsTArray<LayersBackend>& aBackendHints,

Просмотреть файл

@ -51,7 +51,6 @@
#endif
#include "GeckoProfiler.h"
#include "mozilla/ipc/ProtocolTypes.h"
#include "mozilla/unused.h"
using namespace base;
using namespace mozilla;
@ -190,7 +189,6 @@ CompositorParent::CompositorParent(nsIWidget* aWidget,
, mResumeCompositionMonitor("ResumeCompositionMonitor")
, mOverrideComposeReadiness(false)
, mForceCompositionTask(nullptr)
, mWantDidCompositeEvent(false)
{
NS_ABORT_IF_FALSE(sCompositorThread != nullptr || sCompositorThreadID,
"The compositor thread must be Initialized before instanciating a COmpositorParent.");
@ -539,8 +537,6 @@ CompositorParent::NotifyShadowTreeTransaction(uint64_t aId, bool aIsFirstPaint,
if (aScheduleComposite) {
ScheduleComposition();
}
mWantDidCompositeEvent = true;
}
// Used when layout.frame_rate is -1. Needs to be kept in sync with
@ -667,11 +663,6 @@ CompositorParent::CompositeToTarget(DrawTarget* aTarget)
mLayerManager->SetDebugOverlayWantsNextFrame(false);
mLayerManager->EndEmptyTransaction();
if (!aTarget && mWantDidCompositeEvent) {
DidComposite();
mWantDidCompositeEvent = false;
}
if (mLayerManager->DebugOverlayWantsNextFrame()) {
ScheduleComposition();
}
@ -698,20 +689,6 @@ CompositorParent::CompositeToTarget(DrawTarget* aTarget)
profiler_tracing("Paint", "Composite", TRACING_INTERVAL_END);
}
void
CompositorParent::DidComposite()
{
unused << SendDidComposite(0);
for (LayerTreeMap::iterator it = sIndirectLayerTrees.begin();
it != sIndirectLayerTrees.end(); it++) {
LayerTreeState* lts = &it->second;
if (lts->mParent == this && lts->mCrossProcessParent) {
unused << lts->mCrossProcessParent->SendDidComposite(it->first);
}
}
}
void
CompositorParent::ForceComposeToTarget(DrawTarget* aTarget)
{
@ -788,7 +765,6 @@ CompositorParent::ShadowLayersUpdated(LayerTransactionParent* aLayerTree,
ScheduleComposition();
}
mLayerManager->NotifyShadowTreeTransaction();
mWantDidCompositeEvent = true;
}
void

Просмотреть файл

@ -297,8 +297,6 @@ private:
*/
bool CanComposite();
void DidComposite();
nsRefPtr<LayerManagerComposite> mLayerManager;
nsRefPtr<Compositor> mCompositor;
RefPtr<AsyncCompositionManager> mCompositionManager;
@ -327,8 +325,6 @@ private:
nsRefPtr<APZCTreeManager> mApzcTreeManager;
bool mWantDidCompositeEvent;
DISALLOW_EVIL_CONSTRUCTORS(CompositorParent);
};

Просмотреть файл

@ -40,11 +40,6 @@ child:
// The child should invalidate everything so that the whole window is redrawn.
async InvalidateAll();
// The compositor completed a layers transaction. id is the layers id
// of the child layer tree that was composited (or 0 when notifying
// the root layer tree).
async DidComposite(uint64_t id);
parent:
// The child is about to be destroyed, so perform any necessary cleanup.

Просмотреть файл

@ -5838,7 +5838,11 @@ PresShell::Paint(nsView* aViewToPaint,
NS_ASSERTION(layerManager, "Must be in paint event");
bool shouldInvalidate = layerManager->NeedsWidgetInvalidation();
nsAutoNotifyDidPaint notifyDidPaint(this, aFlags);
uint32_t didPaintFlags = aFlags;
if (!shouldInvalidate) {
didPaintFlags |= PAINT_COMPOSITE;
}
nsAutoNotifyDidPaint notifyDidPaint(this, didPaintFlags);
AutoUpdateHitRegion updateHitRegion(this, frame);
// Whether or not we should set first paint when painting is

Просмотреть файл

@ -9,6 +9,7 @@
document.documentElement.className = '';
}
document.addEventListener("MozReftestInvalidate", setValue);
setTimeout(setValue, 2000); // useful when not running under reftest suite
</script>
<body>
<input type=range id='i' value=50 step=25 style='-moz-appearance:none'>

Просмотреть файл

@ -9,6 +9,7 @@
document.documentElement.className = '';
}
document.addEventListener("MozReftestInvalidate", setValue);
setTimeout(setValue, 2000); // useful when not running under reftest suite
</script>
<body>
<input type=range id='i' value=50 step=25>

Просмотреть файл

@ -12,7 +12,7 @@
};
setTimeout(function() {
document.documentElement.className = "reftest-print"
}, 100);
}, 0);
};
</script>
</head>

Просмотреть файл

@ -370,7 +370,6 @@ public:
virtual void WillPaintWindow(nsIWidget* aWidget) MOZ_OVERRIDE;
virtual bool PaintWindow(nsIWidget* aWidget, nsIntRegion aRegion) MOZ_OVERRIDE;
virtual void DidPaintWindow() MOZ_OVERRIDE;
virtual void DidCompositeWindow() MOZ_OVERRIDE;
virtual void RequestRepaint() MOZ_OVERRIDE;
virtual nsEventStatus HandleEvent(mozilla::WidgetGUIEvent* aEvent,
bool aUseAttachedEvents) MOZ_OVERRIDE;

Просмотреть файл

@ -16,7 +16,6 @@
#include "nsPresArena.h"
#include "nsXULPopupManager.h"
#include "nsIWidgetListener.h"
#include "nsContentUtils.h" // for nsAutoScriptBlocker
using namespace mozilla;
@ -1055,16 +1054,6 @@ nsView::DidPaintWindow()
vm->DidPaintWindow();
}
void
nsView::DidCompositeWindow()
{
nsIPresShell* presShell = mViewManager->GetPresShell();
if (presShell) {
nsAutoScriptBlocker scriptBlocker;
presShell->GetPresContext()->GetDisplayRootPresContext()->GetRootPresContext()->NotifyDidPaintForSubtree(nsIPresShell::PAINT_COMPOSITE);
}
}
void
nsView::RequestRepaint()
{

Просмотреть файл

@ -130,8 +130,6 @@ public:
*/
virtual void DidPaintWindow();
virtual void DidCompositeWindow();
/**
* Request that layout schedules a repaint on the next refresh driver tick.
*/

Просмотреть файл

@ -101,11 +101,6 @@ nsIWidgetListener::DidPaintWindow()
{
}
void
nsIWidgetListener::DidCompositeWindow()
{
}
void
nsIWidgetListener::RequestRepaint()
{