Bug 1299335 (part 3) - Streamline nsIWidget::SetParent. r=mstange.

This patch removes its return value, because none of the call sites check it
except for one non-vital assertion.

--HG--
extra : rebase_source : 3471c4e22394b8a05c6708d0f8469686ffad9814
This commit is contained in:
Nicholas Nethercote 2016-12-16 10:54:11 +11:00
parent efc5071ff2
commit 1dab0c3072
14 changed files with 21 additions and 43 deletions

View File

@ -836,11 +836,7 @@ void nsViewManager::ReparentChildWidgets(nsView* aView, nsIWidget *aNewWidget)
if (parentWidget) {
// Child widget
if (parentWidget != aNewWidget) {
#ifdef DEBUG
nsresult rv =
#endif
widget->SetParent(aNewWidget);
NS_ASSERTION(NS_SUCCEEDED(rv), "SetParent failed!");
}
} else {
// Toplevel widget (popup, dialog, etc)

View File

@ -86,7 +86,7 @@ PluginWidgetProxy::Create(nsIWidget* aParent,
return NS_OK;
}
NS_IMETHODIMP
void
PluginWidgetProxy::SetParent(nsIWidget* aNewParent)
{
nsCOMPtr<nsIWidget> kungFuDeathGrip(this);
@ -98,7 +98,6 @@ PluginWidgetProxy::SetParent(nsIWidget* aNewParent)
aNewParent->AddChild(this);
}
mParent = aNewParent;
return NS_OK;
}
nsIWidget*

View File

@ -42,7 +42,7 @@ public:
override;
virtual void Destroy() override;
NS_IMETHOD SetFocus(bool aRaise = false) override;
NS_IMETHOD SetParent(nsIWidget* aNewParent) override;
virtual void SetParent(nsIWidget* aNewParent) override;
virtual nsIWidget* GetParent(void) override;
virtual void* GetNativeData(uint32_t aDataType) override;

View File

@ -1632,11 +1632,11 @@ nsWindow::RedrawAll()
}
}
NS_IMETHODIMP
void
nsWindow::SetParent(nsIWidget *aNewParent)
{
if ((nsIWidget*)mParent == aNewParent)
return NS_OK;
return;
// If we had a parent before, remove ourselves from its list of
// children.
@ -1651,8 +1651,6 @@ nsWindow::SetParent(nsIWidget *aNewParent)
// if we are now in the toplevel window's hierarchy, schedule a redraw
if (FindTopLevel() == nsWindow::TopWindow())
RedrawAll();
return NS_OK;
}
nsIWidget*

View File

@ -158,7 +158,7 @@ public:
nsWidgetInitData* aInitData) override;
virtual void Destroy() override;
NS_IMETHOD ConfigureChildren(const nsTArray<nsIWidget::Configuration>&) override;
NS_IMETHOD SetParent(nsIWidget* aNewParent) override;
virtual void SetParent(nsIWidget* aNewParent) override;
virtual nsIWidget *GetParent(void) override;
virtual float GetDPI() override;
virtual double GetDefaultScaleInternal() override;

View File

@ -309,7 +309,7 @@ public:
NS_IMETHOD Show(bool aState) override;
virtual bool IsVisible() const override;
NS_IMETHOD SetParent(nsIWidget* aNewParent) override;
virtual void SetParent(nsIWidget* aNewParent) override;
virtual nsIWidget* GetParent(void) override;
virtual float GetDPI() override;

View File

@ -739,13 +739,13 @@ NS_IMETHODIMP nsChildView::Show(bool aState)
}
// Change the parent of this widget
NS_IMETHODIMP
void
nsChildView::SetParent(nsIWidget* aNewParent)
{
NS_OBJC_BEGIN_TRY_ABORT_BLOCK_NSRESULT;
NS_OBJC_BEGIN_TRY_ABORT_BLOCK;
if (mOnDestroyCalled)
return NS_OK;
return;
nsCOMPtr<nsIWidget> kungFuDeathGrip(this);
@ -766,9 +766,7 @@ nsChildView::SetParent(nsIWidget* aNewParent)
mParentWidget->AddChild(this);
}
return NS_OK;
NS_OBJC_END_TRY_ABORT_BLOCK_NSRESULT;
NS_OBJC_END_TRY_ABORT_BLOCK;
}
void

View File

@ -831,12 +831,12 @@ nsWindow::GetDefaultScaleInternal()
return GdkScaleFactor() * gfxPlatformGtk::GetDPIScale();
}
NS_IMETHODIMP
void
nsWindow::SetParent(nsIWidget *aNewParent)
{
if (mContainer || !mGdkWindow) {
NS_NOTREACHED("nsWindow::SetParent called illegally");
return NS_ERROR_NOT_IMPLEMENTED;
return;
}
nsCOMPtr<nsIWidget> kungFuDeathGrip = this;
@ -852,7 +852,7 @@ nsWindow::SetParent(nsIWidget *aNewParent)
// reparent.
MOZ_ASSERT(gdk_window_is_destroyed(mGdkWindow),
"live GdkWindow with no widget");
return NS_OK;
return;
}
if (aNewParent) {
@ -868,7 +868,6 @@ nsWindow::SetParent(nsIWidget *aNewParent)
ReparentNativeWidgetInternal(aNewParent, newContainer, newParentWindow,
oldContainer);
}
return NS_OK;
}
bool

View File

@ -107,7 +107,7 @@ public:
{
return mozilla::DesktopToLayoutDeviceScale(1.0);
}
virtual nsresult SetParent(nsIWidget* aNewParent) override;
virtual void SetParent(nsIWidget* aNewParent) override;
virtual void SetModal(bool aModal) override;
virtual bool IsVisible() const override;
virtual void ConstrainPosition(bool aAllowSlop,

View File

@ -538,18 +538,6 @@ void nsBaseWidget::Destroy()
#endif
}
//-------------------------------------------------------------------------
//
// Set this nsBaseWidget's parent
//
//-------------------------------------------------------------------------
NS_IMETHODIMP nsBaseWidget::SetParent(nsIWidget* aNewParent)
{
return NS_ERROR_NOT_IMPLEMENTED;
}
//-------------------------------------------------------------------------
//
// Get this nsBaseWidget parent

View File

@ -149,7 +149,7 @@ public:
virtual nsIWidgetListener* GetWidgetListener() override;
virtual void SetWidgetListener(nsIWidgetListener* alistener) override;
virtual void Destroy() override;
NS_IMETHOD SetParent(nsIWidget* aNewParent) override;
virtual void SetParent(nsIWidget* aNewParent) override {};
virtual nsIWidget* GetParent(void) override;
virtual nsIWidget* GetTopLevelWidget() override;
virtual nsIWidget* GetSheetWindowParent(void) override;

View File

@ -523,7 +523,7 @@ class nsIWidget : public nsISupports
*
* @param aNewParent new parent
*/
NS_IMETHOD SetParent(nsIWidget* aNewParent) = 0;
virtual void SetParent(nsIWidget* aNewParent) = 0;
/**
* Return the parent Widget of this Widget or nullptr if this is a

View File

@ -1145,7 +1145,8 @@ void nsWindow::SubclassWindow(BOOL bState)
**************************************************************/
// Get and set parent widgets
NS_IMETHODIMP nsWindow::SetParent(nsIWidget *aNewParent)
void
nsWindow::SetParent(nsIWidget *aNewParent)
{
mParent = aNewParent;
@ -1157,13 +1158,12 @@ NS_IMETHODIMP nsWindow::SetParent(nsIWidget *aNewParent)
if (aNewParent) {
ReparentNativeWidget(aNewParent);
aNewParent->AddChild(this);
return NS_OK;
return;
}
if (mWnd) {
// If we have no parent, SetParent should return the desktop.
VERIFY(::SetParent(mWnd, nullptr));
}
return NS_OK;
}
void

View File

@ -104,7 +104,7 @@ public:
nsWidgetInitData* aInitData = nullptr)
override;
virtual void Destroy() override;
NS_IMETHOD SetParent(nsIWidget *aNewParent) override;
virtual void SetParent(nsIWidget *aNewParent) override;
virtual nsIWidget* GetParent(void) override;
virtual float GetDPI() override;
double GetDefaultScaleInternal() final;