tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

HTMLPreElement.h (1669B)


      1 /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
      2 /* vim: set ts=8 sts=2 et sw=2 tw=80: */
      3 /* This Source Code Form is subject to the terms of the Mozilla Public
      4 * License, v. 2.0. If a copy of the MPL was not distributed with this
      5 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
      6 
      7 #ifndef mozilla_dom_HTMLPreElement_h
      8 #define mozilla_dom_HTMLPreElement_h
      9 
     10 #include "nsGenericHTMLElement.h"
     11 
     12 namespace mozilla::dom {
     13 
     14 class HTMLPreElement final : public nsGenericHTMLElement {
     15 public:
     16  explicit HTMLPreElement(already_AddRefed<mozilla::dom::NodeInfo>&& aNodeInfo)
     17      : nsGenericHTMLElement(std::move(aNodeInfo)) {}
     18 
     19  // nsISupports
     20  NS_INLINE_DECL_REFCOUNTING_INHERITED(HTMLPreElement, nsGenericHTMLElement)
     21 
     22  bool ParseAttribute(int32_t aNamespaceID, nsAtom* aAttribute,
     23                      const nsAString& aValue,
     24                      nsIPrincipal* aMaybeScriptedPrincipal,
     25                      nsAttrValue& aResult) override;
     26  NS_IMETHOD_(bool) IsAttributeMapped(const nsAtom* aAttribute) const override;
     27  nsMapRuleToAttributesFunc GetAttributeMappingFunction() const override;
     28 
     29  nsresult Clone(dom::NodeInfo*, nsINode** aResult) const override;
     30 
     31  // WebIDL API
     32  int32_t Width() const { return GetIntAttr(nsGkAtoms::width, 0); }
     33  void SetWidth(int32_t aWidth, mozilla::ErrorResult& rv) {
     34    rv = SetIntAttr(nsGkAtoms::width, aWidth);
     35  }
     36 
     37 protected:
     38  virtual ~HTMLPreElement();
     39 
     40  JSObject* WrapNode(JSContext* aCx, JS::Handle<JSObject*>) override;
     41 
     42 private:
     43  static void MapAttributesIntoRule(MappedDeclarationsBuilder&);
     44 };
     45 
     46 }  // namespace mozilla::dom
     47 
     48 #endif  // mozilla_dom_HTMLPreElement_h