зеркало из https://github.com/mozilla/gecko-dev.git
Backing out fix for bug 546071 due to test failures
This commit is contained in:
Коммит
47197a502e
|
@ -1208,11 +1208,6 @@ nsObjectFrame::ComputeWidgetGeometry(const nsRegion& aRegion,
|
||||||
nsRect bounds = GetContentRect() + GetParent()->GetOffsetTo(rootFrame);
|
nsRect bounds = GetContentRect() + GetParent()->GetOffsetTo(rootFrame);
|
||||||
configuration->mBounds = bounds.ToNearestPixels(appUnitsPerDevPixel);
|
configuration->mBounds = bounds.ToNearestPixels(appUnitsPerDevPixel);
|
||||||
|
|
||||||
// This should produce basically the same rectangle (but not relative
|
|
||||||
// to the root frame). We only call this here for the side-effect of
|
|
||||||
// setting mViewToWidgetOffset on the view.
|
|
||||||
mInnerView->CalcWidgetBounds(eWindowType_plugin);
|
|
||||||
|
|
||||||
nsRegionRectIterator iter(aRegion);
|
nsRegionRectIterator iter(aRegion);
|
||||||
nsIntPoint pluginOrigin = aPluginOrigin.ToNearestPixels(appUnitsPerDevPixel);
|
nsIntPoint pluginOrigin = aPluginOrigin.ToNearestPixels(appUnitsPerDevPixel);
|
||||||
for (const nsRect* r = iter.Next(); r; r = iter.Next()) {
|
for (const nsRect* r = iter.Next(); r; r = iter.Next()) {
|
||||||
|
|
|
@ -1,8 +0,0 @@
|
||||||
<!DOCTYPE HTML>
|
|
||||||
<html>
|
|
||||||
<body>
|
|
||||||
<div style="width:200px; border:2px solid black; overflow:hidden;">
|
|
||||||
<embed style="padding-left:1px;" type="application/x-test"></embed>
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
|
@ -1,8 +0,0 @@
|
||||||
<!DOCTYPE HTML>
|
|
||||||
<html>
|
|
||||||
<body>
|
|
||||||
<div style="width:200px; border:2px solid black; overflow:hidden;">
|
|
||||||
<embed style="padding-left:0.5px;" type="application/x-test"></embed>
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
|
@ -1393,4 +1393,3 @@ fails HTTP(..) == 518172-2b.html 518172-b-ref.html # bug 518172
|
||||||
== 541382-1.html 541382-1-ref.html
|
== 541382-1.html 541382-1-ref.html
|
||||||
== 541406-1.html 541406-1-ref.html
|
== 541406-1.html 541406-1-ref.html
|
||||||
== 546033-1.html 546033-1-ref.html
|
== 546033-1.html 546033-1-ref.html
|
||||||
== 546071-1.html 546071-1-ref.html
|
|
||||||
|
|
|
@ -63,8 +63,8 @@ enum nsViewVisibility {
|
||||||
|
|
||||||
// IID for the nsIView interface
|
// IID for the nsIView interface
|
||||||
#define NS_IVIEW_IID \
|
#define NS_IVIEW_IID \
|
||||||
{ 0xe981334b, 0x756e, 0x417a, \
|
{ 0x4435167c, 0xb627, 0x4073, \
|
||||||
{ 0xbf, 0x18, 0x47, 0x4a, 0x2d, 0xfe, 0xc3, 0x87 } }
|
{ 0x9c, 0x92, 0xbc, 0x34, 0x39, 0xd9, 0xf8, 0xd2 } }
|
||||||
|
|
||||||
// Public view flags are defined in this file
|
// Public view flags are defined in this file
|
||||||
#define NS_VIEW_FLAGS_PUBLIC 0x00FF
|
#define NS_VIEW_FLAGS_PUBLIC 0x00FF
|
||||||
|
@ -334,11 +334,6 @@ public:
|
||||||
virtual PRBool ExternalIsRoot() const;
|
virtual PRBool ExternalIsRoot() const;
|
||||||
|
|
||||||
void SetDeletionObserver(nsWeakView* aDeletionObserver);
|
void SetDeletionObserver(nsWeakView* aDeletionObserver);
|
||||||
|
|
||||||
nsIntRect CalcWidgetBounds(nsWindowType aType);
|
|
||||||
|
|
||||||
PRBool IsEffectivelyVisible();
|
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
friend class nsWeakView;
|
friend class nsWeakView;
|
||||||
nsViewManager *mViewManager;
|
nsViewManager *mViewManager;
|
||||||
|
@ -351,7 +346,6 @@ protected:
|
||||||
nsViewVisibility mVis;
|
nsViewVisibility mVis;
|
||||||
nscoord mPosX, mPosY;
|
nscoord mPosX, mPosY;
|
||||||
nsRect mDimBounds; // relative to parent
|
nsRect mDimBounds; // relative to parent
|
||||||
nsPoint mViewToWidgetOffset;
|
|
||||||
float mOpacity;
|
float mOpacity;
|
||||||
PRUint32 mVFlags;
|
PRUint32 mVFlags;
|
||||||
nsWeakView* mDeletionObserver;
|
nsWeakView* mDeletionObserver;
|
||||||
|
|
|
@ -328,16 +328,16 @@ void nsView::ResetWidgetBounds(PRBool aRecurse, PRBool aMoveOnly,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
PRBool nsIView::IsEffectivelyVisible()
|
PRBool nsView::IsEffectivelyVisible()
|
||||||
{
|
{
|
||||||
for (nsIView* v = this; v; v = v->mParent) {
|
for (nsView* v = this; v; v = v->mParent) {
|
||||||
if (v->GetVisibility() == nsViewVisibility_kHide)
|
if (v->GetVisibility() == nsViewVisibility_kHide)
|
||||||
return PR_FALSE;
|
return PR_FALSE;
|
||||||
}
|
}
|
||||||
return PR_TRUE;
|
return PR_TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
nsIntRect nsIView::CalcWidgetBounds(nsWindowType aType)
|
nsIntRect nsView::CalcWidgetBounds(nsWindowType aType)
|
||||||
{
|
{
|
||||||
nsCOMPtr<nsIDeviceContext> dx;
|
nsCOMPtr<nsIDeviceContext> dx;
|
||||||
mViewManager->GetDeviceContext(*getter_AddRefs(dx));
|
mViewManager->GetDeviceContext(*getter_AddRefs(dx));
|
||||||
|
|
|
@ -195,12 +195,17 @@ public:
|
||||||
return mViewToWidgetOffset;
|
return mViewToWidgetOffset;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
nsIntRect CalcWidgetBounds(nsWindowType aType);
|
||||||
|
|
||||||
|
PRBool IsEffectivelyVisible();
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
// Do the actual work of ResetWidgetBounds, unconditionally. Don't
|
// Do the actual work of ResetWidgetBounds, unconditionally. Don't
|
||||||
// call this method if we have no widget.
|
// call this method if we have no widget.
|
||||||
void DoResetWidgetBounds(PRBool aMoveOnly, PRBool aInvalidateChangedSize);
|
void DoResetWidgetBounds(PRBool aMoveOnly, PRBool aInvalidateChangedSize);
|
||||||
|
|
||||||
nsRegion* mDirtyRegion;
|
nsRegion* mDirtyRegion;
|
||||||
|
nsPoint mViewToWidgetOffset;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
Загрузка…
Ссылка в новой задаче