зеркало из 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);
|
||||
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);
|
||||
nsIntPoint pluginOrigin = aPluginOrigin.ToNearestPixels(appUnitsPerDevPixel);
|
||||
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
|
||||
== 541406-1.html 541406-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
|
||||
#define NS_IVIEW_IID \
|
||||
{ 0xe981334b, 0x756e, 0x417a, \
|
||||
{ 0xbf, 0x18, 0x47, 0x4a, 0x2d, 0xfe, 0xc3, 0x87 } }
|
||||
{ 0x4435167c, 0xb627, 0x4073, \
|
||||
{ 0x9c, 0x92, 0xbc, 0x34, 0x39, 0xd9, 0xf8, 0xd2 } }
|
||||
|
||||
// Public view flags are defined in this file
|
||||
#define NS_VIEW_FLAGS_PUBLIC 0x00FF
|
||||
|
@ -334,11 +334,6 @@ public:
|
|||
virtual PRBool ExternalIsRoot() const;
|
||||
|
||||
void SetDeletionObserver(nsWeakView* aDeletionObserver);
|
||||
|
||||
nsIntRect CalcWidgetBounds(nsWindowType aType);
|
||||
|
||||
PRBool IsEffectivelyVisible();
|
||||
|
||||
protected:
|
||||
friend class nsWeakView;
|
||||
nsViewManager *mViewManager;
|
||||
|
@ -351,7 +346,6 @@ protected:
|
|||
nsViewVisibility mVis;
|
||||
nscoord mPosX, mPosY;
|
||||
nsRect mDimBounds; // relative to parent
|
||||
nsPoint mViewToWidgetOffset;
|
||||
float mOpacity;
|
||||
PRUint32 mVFlags;
|
||||
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)
|
||||
return PR_FALSE;
|
||||
}
|
||||
return PR_TRUE;
|
||||
}
|
||||
|
||||
nsIntRect nsIView::CalcWidgetBounds(nsWindowType aType)
|
||||
nsIntRect nsView::CalcWidgetBounds(nsWindowType aType)
|
||||
{
|
||||
nsCOMPtr<nsIDeviceContext> dx;
|
||||
mViewManager->GetDeviceContext(*getter_AddRefs(dx));
|
||||
|
|
|
@ -195,12 +195,17 @@ public:
|
|||
return mViewToWidgetOffset;
|
||||
}
|
||||
|
||||
nsIntRect CalcWidgetBounds(nsWindowType aType);
|
||||
|
||||
PRBool IsEffectivelyVisible();
|
||||
|
||||
protected:
|
||||
// Do the actual work of ResetWidgetBounds, unconditionally. Don't
|
||||
// call this method if we have no widget.
|
||||
void DoResetWidgetBounds(PRBool aMoveOnly, PRBool aInvalidateChangedSize);
|
||||
|
||||
nsRegion* mDirtyRegion;
|
||||
nsPoint mViewToWidgetOffset;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
|
Загрузка…
Ссылка в новой задаче