DXR will be turned off on Tuesday, December 29th. It will redirect to Searchfox.
See the announcement on Discourse.

DXR is a code search and navigation tool aimed at making sense of large projects. It supports full-text and regex searches as well as structural queries.

Implementation

Mercurial (c68fe15a81fc)

VCS Links

Line Code
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
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* 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_HTMLTableCellElement_h
#define mozilla_dom_HTMLTableCellElement_h
#define mozilla_dom_HTMLTableCellElement_h

#include "mozilla/Attributes.h"
#include "nsGenericHTMLElement.h"

namespace mozilla {
namespace mozilla {
namespace dom {

class HTMLTableElement;

class HTMLTableCellElement final : public nsGenericHTMLElement {
class HTMLTableCellElement final : public nsGenericHTMLElement {
 public:
  explicit HTMLTableCellElement(
      already_AddRefed<mozilla::dom::NodeInfo>&& aNodeInfo)
      : nsGenericHTMLElement(std::move(aNodeInfo)) {
      : nsGenericHTMLElement(std::move(aNodeInfo)) {
    SetHasWeirdParserInsertionMode();
  }

  // nsISupports
  NS_INLINE_DECL_REFCOUNTING_INHERITED(HTMLTableCellElement,
  NS_INLINE_DECL_REFCOUNTING_INHERITED(HTMLTableCellElement,
                                       nsGenericHTMLElement)

  uint32_t ColSpan() const { return GetUnsignedIntAttr(nsGkAtoms::colspan, 1); }
  void SetColSpan(uint32_t aColSpan, ErrorResult& aError) {
    SetUnsignedIntAttr(nsGkAtoms::colspan, aColSpan, 1, aError);
  }
  }
  uint32_t RowSpan() const { return GetUnsignedIntAttr(nsGkAtoms::rowspan, 1); }
  void SetRowSpan(uint32_t aRowSpan, ErrorResult& aError) {
    SetUnsignedIntAttr(nsGkAtoms::rowspan, aRowSpan, 1, aError);
  }
  // already_AddRefed<nsDOMTokenList> Headers() const;
  // already_AddRefed<nsDOMTokenList> Headers() const;
  void GetHeaders(DOMString& aHeaders) {
    GetHTMLAttr(nsGkAtoms::headers, aHeaders);
  }
  void SetHeaders(const nsAString& aHeaders, ErrorResult& aError) {
    SetHTMLAttr(nsGkAtoms::headers, aHeaders, aError);
    SetHTMLAttr(nsGkAtoms::headers, aHeaders, aError);
  }
  int32_t CellIndex() const;

  void GetAbbr(DOMString& aAbbr) { GetHTMLAttr(nsGkAtoms::abbr, aAbbr); }
  void SetAbbr(const nsAString& aAbbr, ErrorResult& aError) {
    SetHTMLAttr(nsGkAtoms::abbr, aAbbr, aError);
  }
  }
  void GetScope(DOMString& aScope);
  void SetScope(const nsAString& aScope, ErrorResult& aError) {
    SetHTMLAttr(nsGkAtoms::scope, aScope, aError);
  }
  void GetAlign(DOMString& aAlign);
  void GetAlign(DOMString& aAlign);
  void SetAlign(const nsAString& aAlign, ErrorResult& aError) {
    SetHTMLAttr(nsGkAtoms::align, aAlign, aError);
  }
  void GetAxis(DOMString& aAxis) { GetHTMLAttr(nsGkAtoms::axis, aAxis); }
  void SetAxis(const nsAString& aAxis, ErrorResult& aError) {
  void SetAxis(const nsAString& aAxis, ErrorResult& aError) {
    SetHTMLAttr(nsGkAtoms::axis, aAxis, aError);
  }
  void GetHeight(DOMString& aHeight) {
    GetHTMLAttr(nsGkAtoms::height, aHeight);
  }
  void SetHeight(const nsAString& aHeight, ErrorResult& aError) {
    SetHTMLAttr(nsGkAtoms::height, aHeight, aError);
  }
  void GetWidth(DOMString& aWidth) { GetHTMLAttr(nsGkAtoms::width, aWidth); }
  void GetWidth(DOMString& aWidth) { GetHTMLAttr(nsGkAtoms::width, aWidth); }
  void SetWidth(const nsAString& aWidth, ErrorResult& aError) {
    SetHTMLAttr(nsGkAtoms::width, aWidth, aError);
  }
  void GetCh(DOMString& aCh) { GetHTMLAttr(nsGkAtoms::_char, aCh); }
  void SetCh(const nsAString& aCh, ErrorResult& aError) {
  void SetCh(const nsAString& aCh, ErrorResult& aError) {
    SetHTMLAttr(nsGkAtoms::_char, aCh, aError);
  }
  void GetChOff(DOMString& aChOff) { GetHTMLAttr(nsGkAtoms::charoff, aChOff); }
  void SetChOff(const nsAString& aChOff, ErrorResult& aError) {
    SetHTMLAttr(nsGkAtoms::charoff, aChOff, aError);
    SetHTMLAttr(nsGkAtoms::charoff, aChOff, aError);
  }
  bool NoWrap() { return GetBoolAttr(nsGkAtoms::nowrap); }
  void SetNoWrap(bool aNoWrap, ErrorResult& aError) {
    SetHTMLBoolAttr(nsGkAtoms::nowrap, aNoWrap, aError);
  }
  }
  void GetVAlign(DOMString& aVAlign) {
    GetHTMLAttr(nsGkAtoms::valign, aVAlign);
  }
  void SetVAlign(const nsAString& aVAlign, ErrorResult& aError) {
    SetHTMLAttr(nsGkAtoms::valign, aVAlign, aError);
    SetHTMLAttr(nsGkAtoms::valign, aVAlign, aError);
  }
  void GetBgColor(DOMString& aBgColor) {
    GetHTMLAttr(nsGkAtoms::bgcolor, aBgColor);
  }
  void SetBgColor(const nsAString& aBgColor, ErrorResult& aError) {
  void SetBgColor(const nsAString& aBgColor, ErrorResult& aError) {
    SetHTMLAttr(nsGkAtoms::bgcolor, aBgColor, aError);
  }

  virtual bool ParseAttribute(int32_t aNamespaceID, nsAtom* aAttribute,
  virtual bool ParseAttribute(int32_t aNamespaceID, nsAtom* aAttribute,
                              const nsAString& aValue,
                              nsIPrincipal* aMaybeScriptedPrincipal,
                              nsIPrincipal* aMaybeScriptedPrincipal,
                              nsAttrValue& aResult) override;
  virtual nsMapRuleToAttributesFunc GetAttributeMappingFunction()
      const override;
  NS_IMETHOD_(bool) IsAttributeMapped(const nsAtom* aAttribute) const override;
  // Get mapped attributes of ancestor table, if any
  // Get mapped attributes of ancestor table, if any
  nsMappedAttributes* GetMappedAttributesInheritedFromTable() const;

  virtual nsresult Clone(dom::NodeInfo*, nsINode** aResult) const override;

 protected:
 protected:
  virtual ~HTMLTableCellElement();

  virtual JSObject* WrapNode(JSContext* aCx,
                             JS::Handle<JSObject*> aGivenProto) override;


  HTMLTableElement* GetTable() const;

  HTMLTableRowElement* GetRow() const;

 private:
 private:
  static void MapAttributesIntoRule(const nsMappedAttributes* aAttributes,
                                    MappedDeclarations&);
};

}  // namespace dom
}  // namespace dom
}  // namespace mozilla

#endif /* mozilla_dom_HTMLTableCellElement_h */
#endif /* mozilla_dom_HTMLTableCellElement_h */