/usr/include/thunderbird/mozilla/dom/HTMLMenuItemElement.h is in thunderbird-dev 1:52.8.0-1~deb8u1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 | /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* 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/. */
#ifndef mozilla_dom_HTMLMenuItemElement_h
#define mozilla_dom_HTMLMenuItemElement_h
#include "mozilla/Attributes.h"
#include "nsIDOMHTMLMenuItemElement.h"
#include "nsGenericHTMLElement.h"
namespace mozilla {
class EventChainPreVisitor;
namespace dom {
class Visitor;
class HTMLMenuItemElement final : public nsGenericHTMLElement,
public nsIDOMHTMLMenuItemElement
{
public:
using mozilla::dom::Element::GetText;
HTMLMenuItemElement(already_AddRefed<mozilla::dom::NodeInfo>& aNodeInfo,
mozilla::dom::FromParser aFromParser);
NS_IMPL_FROMCONTENT_HTML_WITH_TAG(HTMLMenuItemElement, menuitem)
// nsISupports
NS_DECL_ISUPPORTS_INHERITED
// nsIDOMHTMLMenuItemElement
NS_DECL_NSIDOMHTMLMENUITEMELEMENT
virtual nsresult PreHandleEvent(EventChainPreVisitor& aVisitor) override;
virtual nsresult PostHandleEvent(
EventChainPostVisitor& aVisitor) override;
virtual nsresult BindToTree(nsIDocument* aDocument, nsIContent* aParent,
nsIContent* aBindingParent,
bool aCompileEventHandlers) override;
virtual bool ParseAttribute(int32_t aNamespaceID,
nsIAtom* aAttribute,
const nsAString& aValue,
nsAttrValue& aResult) override;
virtual void DoneCreatingElement() override;
virtual nsresult Clone(mozilla::dom::NodeInfo *aNodeInfo, nsINode **aResult) const override;
uint8_t GetType() const { return mType; }
/**
* Syntax sugar to make it easier to check for checked and checked dirty
*/
bool IsChecked() const { return mChecked; }
bool IsCheckedDirty() const { return mCheckedDirty; }
void GetText(nsAString& aText);
// WebIDL
// The XPCOM GetType is OK for us
void SetType(const nsAString& aType, ErrorResult& aError)
{
SetHTMLAttr(nsGkAtoms::type, aType, aError);
}
// The XPCOM GetLabel is OK for us
void SetLabel(const nsAString& aLabel, ErrorResult& aError)
{
SetAttrHelper(nsGkAtoms::label, aLabel);
}
// The XPCOM GetIcon is OK for us
void SetIcon(const nsAString& aIcon, ErrorResult& aError)
{
SetAttrHelper(nsGkAtoms::icon, aIcon);
}
bool Disabled() const
{
return GetBoolAttr(nsGkAtoms::disabled);
}
void SetDisabled(bool aDisabled, ErrorResult& aError)
{
SetHTMLBoolAttr(nsGkAtoms::disabled, aDisabled, aError);
}
bool Checked() const
{
return mChecked;
}
void SetChecked(bool aChecked, ErrorResult& aError)
{
aError = SetChecked(aChecked);
}
// The XPCOM GetRadiogroup is OK for us
void SetRadiogroup(const nsAString& aRadiogroup, ErrorResult& aError)
{
SetHTMLAttr(nsGkAtoms::radiogroup, aRadiogroup, aError);
}
bool DefaultChecked() const
{
return GetBoolAttr(nsGkAtoms::checked);
}
void SetDefaultChecked(bool aDefault, ErrorResult& aError)
{
SetHTMLBoolAttr(nsGkAtoms::checked, aDefault, aError);
}
protected:
virtual ~HTMLMenuItemElement();
virtual JSObject* WrapNode(JSContext *aCx, JS::Handle<JSObject*> aGivenProto) override;
protected:
virtual nsresult AfterSetAttr(int32_t aNamespaceID, nsIAtom* aName,
const nsAttrValue* aValue, bool aNotify) override;
void WalkRadioGroup(Visitor* aVisitor);
HTMLMenuItemElement* GetSelectedRadio();
void AddedToRadioGroup();
void InitChecked();
friend class ClearCheckedVisitor;
friend class SetCheckedDirtyVisitor;
void ClearChecked() { mChecked = false; }
void SetCheckedDirty() { mCheckedDirty = true; }
private:
uint8_t mType : 2;
bool mParserCreating : 1;
bool mShouldInitChecked : 1;
bool mCheckedDirty : 1;
bool mChecked : 1;
};
} // namespace dom
} // namespace mozilla
#endif // mozilla_dom_HTMLMenuItemElement_h
|