Bug 1274868 - Deactive opened menu when entering fullscreen. r=enn

MozReview-Commit-ID: 9VOMfDQZ0eZ

--HG--
extra : amend_source : 4bb215e2d9256725293ecc8fe66d9b93590af526
This commit is contained in:
Xidorn Quan 2016-06-27 10:42:37 +10:00
Родитель d8d1e0b986
Коммит 9cd4a13d78
3 изменённых файлов: 19 добавлений и 0 удалений

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

@ -85,6 +85,8 @@ nsMenuBarFrame::Init(nsIContent* aContent,
mTarget->AddEventListener(NS_LITERAL_STRING("mousedown"), mMenuBarListener, true);
mTarget->AddEventListener(NS_LITERAL_STRING("mousedown"), mMenuBarListener, false);
mTarget->AddEventListener(NS_LITERAL_STRING("blur"), mMenuBarListener, true);
mTarget->AddEventListener(NS_LITERAL_STRING("MozDOMFullscreen:Entered"), mMenuBarListener, false);
}
NS_IMETHODIMP
@ -423,6 +425,8 @@ nsMenuBarFrame::DestroyFrom(nsIFrame* aDestructRoot)
mTarget->RemoveEventListener(NS_LITERAL_STRING("mousedown"), mMenuBarListener, false);
mTarget->RemoveEventListener(NS_LITERAL_STRING("blur"), mMenuBarListener, true);
mTarget->RemoveEventListener(NS_LITERAL_STRING("MozDOMFullscreen:Entered"), mMenuBarListener, false);
mMenuBarListener->OnDestroyMenuBarFrame();
mMenuBarListener = nullptr;

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

@ -403,6 +403,17 @@ nsMenuBarListener::MouseDown(nsIDOMEvent* aMouseEvent)
return NS_OK; // means I am NOT consuming event
}
////////////////////////////////////////////////////////////////////////
nsresult
nsMenuBarListener::Fullscreen(nsIDOMEvent* aEvent)
{
if (mMenuBarFrame->IsActive()) {
ToggleMenuActiveState();
}
return NS_OK;
}
////////////////////////////////////////////////////////////////////////
nsresult
nsMenuBarListener::HandleEvent(nsIDOMEvent* aEvent)
@ -433,6 +444,9 @@ nsMenuBarListener::HandleEvent(nsIDOMEvent* aEvent)
if (eventType.EqualsLiteral("mousedown")) {
return MouseDown(aEvent);
}
if (eventType.EqualsLiteral("MozDOMFullscreen:Entered")) {
return Fullscreen(aEvent);
}
NS_ABORT();

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

@ -35,6 +35,7 @@ public:
nsresult KeyPress(nsIDOMEvent* aMouseEvent);
nsresult Blur(nsIDOMEvent* aEvent);
nsresult MouseDown(nsIDOMEvent* aMouseEvent);
nsresult Fullscreen(nsIDOMEvent* aEvent);
static nsresult GetMenuAccessKey(int32_t* aAccessKey);