Line data Source code
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 : #include "mozilla/dom/HTMLFrameElement.h"
8 : #include "mozilla/dom/HTMLFrameElementBinding.h"
9 :
10 : class nsIDOMDocument;
11 :
12 0 : NS_IMPL_NS_NEW_HTML_ELEMENT_CHECK_PARSER(Frame)
13 :
14 : namespace mozilla {
15 : namespace dom {
16 :
17 0 : HTMLFrameElement::HTMLFrameElement(already_AddRefed<mozilla::dom::NodeInfo>& aNodeInfo,
18 0 : FromParser aFromParser)
19 0 : : nsGenericHTMLFrameElement(aNodeInfo, aFromParser)
20 : {
21 0 : }
22 :
23 0 : HTMLFrameElement::~HTMLFrameElement()
24 : {
25 0 : }
26 :
27 :
28 0 : NS_IMPL_ISUPPORTS_INHERITED(HTMLFrameElement, nsGenericHTMLFrameElement,
29 : nsIDOMHTMLFrameElement)
30 :
31 0 : NS_IMPL_ELEMENT_CLONE(HTMLFrameElement)
32 :
33 :
34 0 : NS_IMPL_STRING_ATTR(HTMLFrameElement, FrameBorder, frameborder)
35 0 : NS_IMPL_URI_ATTR(HTMLFrameElement, LongDesc, longdesc)
36 0 : NS_IMPL_STRING_ATTR(HTMLFrameElement, MarginHeight, marginheight)
37 0 : NS_IMPL_STRING_ATTR(HTMLFrameElement, MarginWidth, marginwidth)
38 0 : NS_IMPL_STRING_ATTR(HTMLFrameElement, Name, name)
39 0 : NS_IMPL_BOOL_ATTR(HTMLFrameElement, NoResize, noresize)
40 0 : NS_IMPL_STRING_ATTR(HTMLFrameElement, Scrolling, scrolling)
41 0 : NS_IMPL_URI_ATTR(HTMLFrameElement, Src, src)
42 :
43 :
44 : NS_IMETHODIMP
45 0 : HTMLFrameElement::GetContentDocument(nsIDOMDocument** aContentDocument)
46 : {
47 0 : return nsGenericHTMLFrameElement::GetContentDocument(aContentDocument);
48 : }
49 :
50 : bool
51 0 : HTMLFrameElement::ParseAttribute(int32_t aNamespaceID,
52 : nsIAtom* aAttribute,
53 : const nsAString& aValue,
54 : nsAttrValue& aResult)
55 : {
56 0 : if (aNamespaceID == kNameSpaceID_None) {
57 0 : if (aAttribute == nsGkAtoms::bordercolor) {
58 0 : return aResult.ParseColor(aValue);
59 : }
60 0 : if (aAttribute == nsGkAtoms::frameborder) {
61 0 : return ParseFrameborderValue(aValue, aResult);
62 : }
63 0 : if (aAttribute == nsGkAtoms::marginwidth) {
64 0 : return aResult.ParseSpecialIntValue(aValue);
65 : }
66 0 : if (aAttribute == nsGkAtoms::marginheight) {
67 0 : return aResult.ParseSpecialIntValue(aValue);
68 : }
69 0 : if (aAttribute == nsGkAtoms::scrolling) {
70 0 : return ParseScrollingValue(aValue, aResult);
71 : }
72 : }
73 :
74 0 : return nsGenericHTMLFrameElement::ParseAttribute(aNamespaceID, aAttribute,
75 0 : aValue, aResult);
76 : }
77 :
78 : JSObject*
79 0 : HTMLFrameElement::WrapNode(JSContext* aCx, JS::Handle<JSObject*> aGivenProto)
80 : {
81 0 : return HTMLFrameElementBinding::Wrap(aCx, this, aGivenProto);
82 : }
83 :
84 : } // namespace dom
85 : } // namespace mozilla
|