mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-17 15:25:52 +00:00
Bug 1175631 - Make sure TabParent::GetWidget returns a widget even if it's display:none. r=smaug
This commit is contained in:
parent
a62bfe14df
commit
b704ff134d
@ -2645,12 +2645,6 @@ TabParent::TryCacheDPIAndScale()
|
||||
|
||||
nsCOMPtr<nsIWidget> widget = GetWidget();
|
||||
|
||||
if (!widget && mFrameElement) {
|
||||
// Even if we don't have a widget (e.g. because we're display:none), there's
|
||||
// probably a widget somewhere in the hierarchy our frame element lives in.
|
||||
widget = nsContentUtils::WidgetForDocument(mFrameElement->OwnerDoc());
|
||||
}
|
||||
|
||||
if (widget) {
|
||||
mDPI = widget->GetDPI();
|
||||
mDefaultScale = widget->GetDefaultScale();
|
||||
@ -2660,15 +2654,10 @@ TabParent::TryCacheDPIAndScale()
|
||||
already_AddRefed<nsIWidget>
|
||||
TabParent::GetWidget() const
|
||||
{
|
||||
nsCOMPtr<nsIContent> content = do_QueryInterface(mFrameElement);
|
||||
if (!content)
|
||||
if (!mFrameElement) {
|
||||
return nullptr;
|
||||
|
||||
nsIFrame *frame = content->GetPrimaryFrame();
|
||||
if (!frame)
|
||||
return nullptr;
|
||||
|
||||
nsCOMPtr<nsIWidget> widget = frame->GetNearestWidget();
|
||||
}
|
||||
nsCOMPtr<nsIWidget> widget = nsContentUtils::WidgetForDocument(mFrameElement->OwnerDoc());
|
||||
return widget.forget();
|
||||
}
|
||||
|
||||
@ -3026,6 +3015,8 @@ TabParent::DeallocPPluginWidgetParent(mozilla::plugins::PPluginWidgetParent* aAc
|
||||
nsresult
|
||||
TabParent::HandleEvent(nsIDOMEvent* aEvent)
|
||||
{
|
||||
MOZ_ASSERT(mFrameElement);
|
||||
|
||||
nsAutoString eventType;
|
||||
aEvent->GetType(eventType);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user