mirror of
https://github.com/roytam1/UXP.git
synced 2026-05-26 14:54:25 +00:00
@@ -1,4 +1,5 @@
|
||||
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
||||
// vim:cindent:ts=2:et:sw=2:
|
||||
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
@@ -55,6 +56,9 @@
|
||||
#include "nsXBLBinding.h"
|
||||
#include "nsContentUtils.h"
|
||||
#include "nsIScriptError.h"
|
||||
#ifdef XP_MACOSX
|
||||
#include "nsIDocShell.h"
|
||||
#endif
|
||||
#include "ChildIterator.h"
|
||||
#include "nsError.h"
|
||||
#include "nsLayoutUtils.h"
|
||||
@@ -4332,7 +4336,11 @@ nsCSSFrameConstructor::FindXULTagData(Element* aElement,
|
||||
SIMPLE_XUL_CREATE(menu, NS_NewMenuFrame),
|
||||
SIMPLE_XUL_CREATE(menubutton, NS_NewMenuFrame),
|
||||
SIMPLE_XUL_CREATE(menuitem, NS_NewMenuItemFrame),
|
||||
#ifdef XP_MACOSX
|
||||
SIMPLE_TAG_CHAIN(menubar, nsCSSFrameConstructor::FindXULMenubarData),
|
||||
#else
|
||||
SIMPLE_XUL_CREATE(menubar, NS_NewMenuBarFrame),
|
||||
#endif /* XP_MACOSX */
|
||||
SIMPLE_TAG_CHAIN(popupgroup, nsCSSFrameConstructor::FindPopupGroupData),
|
||||
SIMPLE_XUL_CREATE(iframe, NS_NewSubDocumentFrame),
|
||||
SIMPLE_XUL_CREATE(editor, NS_NewSubDocumentFrame),
|
||||
@@ -4407,6 +4415,31 @@ nsCSSFrameConstructor::FindXULDescriptionData(Element* aElement,
|
||||
return &sDescriptionData;
|
||||
}
|
||||
|
||||
#ifdef XP_MACOSX
|
||||
/* static */
|
||||
const nsCSSFrameConstructor::FrameConstructionData*
|
||||
nsCSSFrameConstructor::FindXULMenubarData(Element* aElement,
|
||||
nsStyleContext* aStyleContext)
|
||||
{
|
||||
nsCOMPtr<nsIDocShell> treeItem =
|
||||
aStyleContext->PresContext()->GetDocShell();
|
||||
if (treeItem && nsIDocShellTreeItem::typeChrome == treeItem->ItemType()) {
|
||||
nsCOMPtr<nsIDocShellTreeItem> parent;
|
||||
treeItem->GetParent(getter_AddRefs(parent));
|
||||
if (!parent) {
|
||||
// This is the root. Suppress the menubar, since on Mac
|
||||
// window menus are not attached to the window.
|
||||
static const FrameConstructionData sSuppressData = SUPPRESS_FCDATA();
|
||||
return &sSuppressData;
|
||||
}
|
||||
}
|
||||
|
||||
static const FrameConstructionData sMenubarData =
|
||||
SIMPLE_XUL_FCDATA(NS_NewMenuBarFrame);
|
||||
return &sMenubarData;
|
||||
}
|
||||
#endif /* XP_MACOSX */
|
||||
|
||||
/* static */
|
||||
const nsCSSFrameConstructor::FrameConstructionData*
|
||||
nsCSSFrameConstructor::FindXULListBoxBodyData(Element* aElement,
|
||||
|
||||
Reference in New Issue
Block a user