gecko-dev/dom/html/HTMLTableCaptionElement.cpp

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

77 строки
2.7 KiB
C++
Исходник Обычный вид История

/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim: set ts=8 sts=2 et sw=2 tw=80: */
Fix for bug 824907 (Convert HTML table elements to WebIDL) - rename classes. r=bz. --HG-- rename : content/html/content/src/nsHTMLTableCaptionElement.cpp => content/html/content/src/HTMLTableCaptionElement.cpp rename : content/html/content/src/nsHTMLTableCaptionElement.cpp => content/html/content/src/HTMLTableCaptionElement.h rename : content/html/content/src/nsHTMLTableCellElement.cpp => content/html/content/src/HTMLTableCellElement.cpp rename : content/html/content/src/nsHTMLTableCellElement.cpp => content/html/content/src/HTMLTableCellElement.h rename : content/html/content/src/nsHTMLTableColElement.cpp => content/html/content/src/HTMLTableColElement.cpp rename : content/html/content/src/nsHTMLTableColElement.cpp => content/html/content/src/HTMLTableColElement.h rename : content/html/content/src/nsHTMLTableElement.cpp => content/html/content/src/HTMLTableElement.cpp rename : content/html/content/src/nsHTMLTableElement.h => content/html/content/src/HTMLTableElement.h rename : content/html/content/src/nsHTMLTableRowElement.cpp => content/html/content/src/HTMLTableRowElement.cpp rename : content/html/content/src/nsHTMLTableRowElement.cpp => content/html/content/src/HTMLTableRowElement.h rename : content/html/content/src/nsHTMLTableSectionElement.cpp => content/html/content/src/HTMLTableSectionElement.cpp rename : content/html/content/src/nsHTMLTableSectionElement.cpp => content/html/content/src/HTMLTableSectionElement.h extra : rebase_source : ebb7a81fd1091f5c5905431e79390fd271328a67
2012-12-28 06:45:57 +04:00
/* 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/. */
#include "mozilla/dom/HTMLTableCaptionElement.h"
#include "mozilla/MappedDeclarations.h"
Fix for bug 824907 (Convert HTML table elements to WebIDL) - rename classes. r=bz. --HG-- rename : content/html/content/src/nsHTMLTableCaptionElement.cpp => content/html/content/src/HTMLTableCaptionElement.cpp rename : content/html/content/src/nsHTMLTableCaptionElement.cpp => content/html/content/src/HTMLTableCaptionElement.h rename : content/html/content/src/nsHTMLTableCellElement.cpp => content/html/content/src/HTMLTableCellElement.cpp rename : content/html/content/src/nsHTMLTableCellElement.cpp => content/html/content/src/HTMLTableCellElement.h rename : content/html/content/src/nsHTMLTableColElement.cpp => content/html/content/src/HTMLTableColElement.cpp rename : content/html/content/src/nsHTMLTableColElement.cpp => content/html/content/src/HTMLTableColElement.h rename : content/html/content/src/nsHTMLTableElement.cpp => content/html/content/src/HTMLTableElement.cpp rename : content/html/content/src/nsHTMLTableElement.h => content/html/content/src/HTMLTableElement.h rename : content/html/content/src/nsHTMLTableRowElement.cpp => content/html/content/src/HTMLTableRowElement.cpp rename : content/html/content/src/nsHTMLTableRowElement.cpp => content/html/content/src/HTMLTableRowElement.h rename : content/html/content/src/nsHTMLTableSectionElement.cpp => content/html/content/src/HTMLTableSectionElement.cpp rename : content/html/content/src/nsHTMLTableSectionElement.cpp => content/html/content/src/HTMLTableSectionElement.h extra : rebase_source : ebb7a81fd1091f5c5905431e79390fd271328a67
2012-12-28 06:45:57 +04:00
#include "nsAttrValueInlines.h"
#include "nsMappedAttributes.h"
#include "mozilla/dom/HTMLTableCaptionElementBinding.h"
Fix for bug 824907 (Convert HTML table elements to WebIDL) - rename classes. r=bz. --HG-- rename : content/html/content/src/nsHTMLTableCaptionElement.cpp => content/html/content/src/HTMLTableCaptionElement.cpp rename : content/html/content/src/nsHTMLTableCaptionElement.cpp => content/html/content/src/HTMLTableCaptionElement.h rename : content/html/content/src/nsHTMLTableCellElement.cpp => content/html/content/src/HTMLTableCellElement.cpp rename : content/html/content/src/nsHTMLTableCellElement.cpp => content/html/content/src/HTMLTableCellElement.h rename : content/html/content/src/nsHTMLTableColElement.cpp => content/html/content/src/HTMLTableColElement.cpp rename : content/html/content/src/nsHTMLTableColElement.cpp => content/html/content/src/HTMLTableColElement.h rename : content/html/content/src/nsHTMLTableElement.cpp => content/html/content/src/HTMLTableElement.cpp rename : content/html/content/src/nsHTMLTableElement.h => content/html/content/src/HTMLTableElement.h rename : content/html/content/src/nsHTMLTableRowElement.cpp => content/html/content/src/HTMLTableRowElement.cpp rename : content/html/content/src/nsHTMLTableRowElement.cpp => content/html/content/src/HTMLTableRowElement.h rename : content/html/content/src/nsHTMLTableSectionElement.cpp => content/html/content/src/HTMLTableSectionElement.cpp rename : content/html/content/src/nsHTMLTableSectionElement.cpp => content/html/content/src/HTMLTableSectionElement.h extra : rebase_source : ebb7a81fd1091f5c5905431e79390fd271328a67
2012-12-28 06:45:57 +04:00
NS_IMPL_NS_NEW_HTML_ELEMENT(TableCaption)
namespace mozilla {
namespace dom {
HTMLTableCaptionElement::~HTMLTableCaptionElement() {}
Bug 1117172 part 3. Change the wrappercached WrapObject methods to allow passing in aGivenProto. r=peterv The only manual changes here are to BindingUtils.h, BindingUtils.cpp, Codegen.py, Element.cpp, IDBFileRequest.cpp, IDBObjectStore.cpp, dom/workers/Navigator.cpp, WorkerPrivate.cpp, DeviceStorageRequestChild.cpp, Notification.cpp, nsGlobalWindow.cpp, MessagePort.cpp, nsJSEnvironment.cpp, Sandbox.cpp, XPCConvert.cpp, ExportHelpers.cpp, and DataStoreService.cpp. The rest of this diff was generated by running the following commands: find . -name "*.h" -o -name "*.cpp" | xargs perl -pi -e 'BEGIN { $/ = undef } s/(WrapObjectInternal\(JSContext *\* *(?:aCx|cx|aContext|aCtx|js))\)/\1, JS::Handle<JSObject*> aGivenProto)/g' find . -name "*.h" -o -name "*.cpp" | xargs perl -pi -e 'BEGIN { $/ = undef } s/(WrapObjectInternal\((?:aCx|cx|aContext|aCtx|js))\)/\1, aGivenProto)/g' find . -name "*.h" -o -name "*.cpp" | xargs perl -pi -e 'BEGIN { $/ = undef } s/(WrapNode\(JSContext *\* *(?:aCx|cx|aContext|aCtx|js))\)/\1, JS::Handle<JSObject*> aGivenProto)/g' find . -name "*.h" -o -name "*.cpp" | xargs perl -pi -e 'BEGIN { $/ = undef } s/(WrapNode\((?:aCx|cx|aContext|aCtx|js))\)/\1, aGivenProto)/g' find . -name "*.h" -o -name "*.cpp" | xargs perl -pi -e 'BEGIN { $/ = undef } s/(WrapObject\(JSContext *\* *(?:aCx|cx|aContext|aCtx|js))\)/\1, JS::Handle<JSObject*> aGivenProto)/g' find . -name "*.h" -o -name "*.cpp" | xargs perl -pi -e 'BEGIN { $/ = undef } s/(Binding(?:_workers)?::Wrap\((?:aCx|cx|aContext|aCtx|js), [^,)]+)\)/\1, aGivenProto)/g'
2015-03-19 17:13:33 +03:00
JSObject* HTMLTableCaptionElement::WrapNode(JSContext* aCx,
JS::Handle<JSObject*> aGivenProto) {
return HTMLTableCaptionElement_Binding::Wrap(aCx, this, aGivenProto);
}
Fix for bug 824907 (Convert HTML table elements to WebIDL) - rename classes. r=bz. --HG-- rename : content/html/content/src/nsHTMLTableCaptionElement.cpp => content/html/content/src/HTMLTableCaptionElement.cpp rename : content/html/content/src/nsHTMLTableCaptionElement.cpp => content/html/content/src/HTMLTableCaptionElement.h rename : content/html/content/src/nsHTMLTableCellElement.cpp => content/html/content/src/HTMLTableCellElement.cpp rename : content/html/content/src/nsHTMLTableCellElement.cpp => content/html/content/src/HTMLTableCellElement.h rename : content/html/content/src/nsHTMLTableColElement.cpp => content/html/content/src/HTMLTableColElement.cpp rename : content/html/content/src/nsHTMLTableColElement.cpp => content/html/content/src/HTMLTableColElement.h rename : content/html/content/src/nsHTMLTableElement.cpp => content/html/content/src/HTMLTableElement.cpp rename : content/html/content/src/nsHTMLTableElement.h => content/html/content/src/HTMLTableElement.h rename : content/html/content/src/nsHTMLTableRowElement.cpp => content/html/content/src/HTMLTableRowElement.cpp rename : content/html/content/src/nsHTMLTableRowElement.cpp => content/html/content/src/HTMLTableRowElement.h rename : content/html/content/src/nsHTMLTableSectionElement.cpp => content/html/content/src/HTMLTableSectionElement.cpp rename : content/html/content/src/nsHTMLTableSectionElement.cpp => content/html/content/src/HTMLTableSectionElement.h extra : rebase_source : ebb7a81fd1091f5c5905431e79390fd271328a67
2012-12-28 06:45:57 +04:00
NS_IMPL_ELEMENT_CLONE(HTMLTableCaptionElement)
static const nsAttrValue::EnumTable kCaptionAlignTable[] = {
{"left", NS_STYLE_CAPTION_SIDE_LEFT},
{"right", NS_STYLE_CAPTION_SIDE_RIGHT},
{"top", NS_STYLE_CAPTION_SIDE_TOP},
{"bottom", NS_STYLE_CAPTION_SIDE_BOTTOM},
{nullptr, 0}};
Fix for bug 824907 (Convert HTML table elements to WebIDL) - rename classes. r=bz. --HG-- rename : content/html/content/src/nsHTMLTableCaptionElement.cpp => content/html/content/src/HTMLTableCaptionElement.cpp rename : content/html/content/src/nsHTMLTableCaptionElement.cpp => content/html/content/src/HTMLTableCaptionElement.h rename : content/html/content/src/nsHTMLTableCellElement.cpp => content/html/content/src/HTMLTableCellElement.cpp rename : content/html/content/src/nsHTMLTableCellElement.cpp => content/html/content/src/HTMLTableCellElement.h rename : content/html/content/src/nsHTMLTableColElement.cpp => content/html/content/src/HTMLTableColElement.cpp rename : content/html/content/src/nsHTMLTableColElement.cpp => content/html/content/src/HTMLTableColElement.h rename : content/html/content/src/nsHTMLTableElement.cpp => content/html/content/src/HTMLTableElement.cpp rename : content/html/content/src/nsHTMLTableElement.h => content/html/content/src/HTMLTableElement.h rename : content/html/content/src/nsHTMLTableRowElement.cpp => content/html/content/src/HTMLTableRowElement.cpp rename : content/html/content/src/nsHTMLTableRowElement.cpp => content/html/content/src/HTMLTableRowElement.h rename : content/html/content/src/nsHTMLTableSectionElement.cpp => content/html/content/src/HTMLTableSectionElement.cpp rename : content/html/content/src/nsHTMLTableSectionElement.cpp => content/html/content/src/HTMLTableSectionElement.h extra : rebase_source : ebb7a81fd1091f5c5905431e79390fd271328a67
2012-12-28 06:45:57 +04:00
bool HTMLTableCaptionElement::ParseAttribute(
int32_t aNamespaceID, nsAtom* aAttribute, const nsAString& aValue,
nsIPrincipal* aMaybeScriptedPrincipal, nsAttrValue& aResult) {
Fix for bug 824907 (Convert HTML table elements to WebIDL) - rename classes. r=bz. --HG-- rename : content/html/content/src/nsHTMLTableCaptionElement.cpp => content/html/content/src/HTMLTableCaptionElement.cpp rename : content/html/content/src/nsHTMLTableCaptionElement.cpp => content/html/content/src/HTMLTableCaptionElement.h rename : content/html/content/src/nsHTMLTableCellElement.cpp => content/html/content/src/HTMLTableCellElement.cpp rename : content/html/content/src/nsHTMLTableCellElement.cpp => content/html/content/src/HTMLTableCellElement.h rename : content/html/content/src/nsHTMLTableColElement.cpp => content/html/content/src/HTMLTableColElement.cpp rename : content/html/content/src/nsHTMLTableColElement.cpp => content/html/content/src/HTMLTableColElement.h rename : content/html/content/src/nsHTMLTableElement.cpp => content/html/content/src/HTMLTableElement.cpp rename : content/html/content/src/nsHTMLTableElement.h => content/html/content/src/HTMLTableElement.h rename : content/html/content/src/nsHTMLTableRowElement.cpp => content/html/content/src/HTMLTableRowElement.cpp rename : content/html/content/src/nsHTMLTableRowElement.cpp => content/html/content/src/HTMLTableRowElement.h rename : content/html/content/src/nsHTMLTableSectionElement.cpp => content/html/content/src/HTMLTableSectionElement.cpp rename : content/html/content/src/nsHTMLTableSectionElement.cpp => content/html/content/src/HTMLTableSectionElement.h extra : rebase_source : ebb7a81fd1091f5c5905431e79390fd271328a67
2012-12-28 06:45:57 +04:00
if (aAttribute == nsGkAtoms::align && aNamespaceID == kNameSpaceID_None) {
return aResult.ParseEnumValue(aValue, kCaptionAlignTable, false);
}
return nsGenericHTMLElement::ParseAttribute(aNamespaceID, aAttribute, aValue,
aMaybeScriptedPrincipal, aResult);
Fix for bug 824907 (Convert HTML table elements to WebIDL) - rename classes. r=bz. --HG-- rename : content/html/content/src/nsHTMLTableCaptionElement.cpp => content/html/content/src/HTMLTableCaptionElement.cpp rename : content/html/content/src/nsHTMLTableCaptionElement.cpp => content/html/content/src/HTMLTableCaptionElement.h rename : content/html/content/src/nsHTMLTableCellElement.cpp => content/html/content/src/HTMLTableCellElement.cpp rename : content/html/content/src/nsHTMLTableCellElement.cpp => content/html/content/src/HTMLTableCellElement.h rename : content/html/content/src/nsHTMLTableColElement.cpp => content/html/content/src/HTMLTableColElement.cpp rename : content/html/content/src/nsHTMLTableColElement.cpp => content/html/content/src/HTMLTableColElement.h rename : content/html/content/src/nsHTMLTableElement.cpp => content/html/content/src/HTMLTableElement.cpp rename : content/html/content/src/nsHTMLTableElement.h => content/html/content/src/HTMLTableElement.h rename : content/html/content/src/nsHTMLTableRowElement.cpp => content/html/content/src/HTMLTableRowElement.cpp rename : content/html/content/src/nsHTMLTableRowElement.cpp => content/html/content/src/HTMLTableRowElement.h rename : content/html/content/src/nsHTMLTableSectionElement.cpp => content/html/content/src/HTMLTableSectionElement.cpp rename : content/html/content/src/nsHTMLTableSectionElement.cpp => content/html/content/src/HTMLTableSectionElement.h extra : rebase_source : ebb7a81fd1091f5c5905431e79390fd271328a67
2012-12-28 06:45:57 +04:00
}
void HTMLTableCaptionElement::MapAttributesIntoRule(
const nsMappedAttributes* aAttributes, MappedDeclarations& aDecls) {
if (!aDecls.PropertyIsSet(eCSSProperty_caption_side)) {
const nsAttrValue* value = aAttributes->GetAttr(nsGkAtoms::align);
if (value && value->Type() == nsAttrValue::eEnum)
aDecls.SetKeywordValue(eCSSProperty_caption_side, value->GetEnumValue());
Fix for bug 824907 (Convert HTML table elements to WebIDL) - rename classes. r=bz. --HG-- rename : content/html/content/src/nsHTMLTableCaptionElement.cpp => content/html/content/src/HTMLTableCaptionElement.cpp rename : content/html/content/src/nsHTMLTableCaptionElement.cpp => content/html/content/src/HTMLTableCaptionElement.h rename : content/html/content/src/nsHTMLTableCellElement.cpp => content/html/content/src/HTMLTableCellElement.cpp rename : content/html/content/src/nsHTMLTableCellElement.cpp => content/html/content/src/HTMLTableCellElement.h rename : content/html/content/src/nsHTMLTableColElement.cpp => content/html/content/src/HTMLTableColElement.cpp rename : content/html/content/src/nsHTMLTableColElement.cpp => content/html/content/src/HTMLTableColElement.h rename : content/html/content/src/nsHTMLTableElement.cpp => content/html/content/src/HTMLTableElement.cpp rename : content/html/content/src/nsHTMLTableElement.h => content/html/content/src/HTMLTableElement.h rename : content/html/content/src/nsHTMLTableRowElement.cpp => content/html/content/src/HTMLTableRowElement.cpp rename : content/html/content/src/nsHTMLTableRowElement.cpp => content/html/content/src/HTMLTableRowElement.h rename : content/html/content/src/nsHTMLTableSectionElement.cpp => content/html/content/src/HTMLTableSectionElement.cpp rename : content/html/content/src/nsHTMLTableSectionElement.cpp => content/html/content/src/HTMLTableSectionElement.h extra : rebase_source : ebb7a81fd1091f5c5905431e79390fd271328a67
2012-12-28 06:45:57 +04:00
}
nsGenericHTMLElement::MapCommonAttributesInto(aAttributes, aDecls);
Fix for bug 824907 (Convert HTML table elements to WebIDL) - rename classes. r=bz. --HG-- rename : content/html/content/src/nsHTMLTableCaptionElement.cpp => content/html/content/src/HTMLTableCaptionElement.cpp rename : content/html/content/src/nsHTMLTableCaptionElement.cpp => content/html/content/src/HTMLTableCaptionElement.h rename : content/html/content/src/nsHTMLTableCellElement.cpp => content/html/content/src/HTMLTableCellElement.cpp rename : content/html/content/src/nsHTMLTableCellElement.cpp => content/html/content/src/HTMLTableCellElement.h rename : content/html/content/src/nsHTMLTableColElement.cpp => content/html/content/src/HTMLTableColElement.cpp rename : content/html/content/src/nsHTMLTableColElement.cpp => content/html/content/src/HTMLTableColElement.h rename : content/html/content/src/nsHTMLTableElement.cpp => content/html/content/src/HTMLTableElement.cpp rename : content/html/content/src/nsHTMLTableElement.h => content/html/content/src/HTMLTableElement.h rename : content/html/content/src/nsHTMLTableRowElement.cpp => content/html/content/src/HTMLTableRowElement.cpp rename : content/html/content/src/nsHTMLTableRowElement.cpp => content/html/content/src/HTMLTableRowElement.h rename : content/html/content/src/nsHTMLTableSectionElement.cpp => content/html/content/src/HTMLTableSectionElement.cpp rename : content/html/content/src/nsHTMLTableSectionElement.cpp => content/html/content/src/HTMLTableSectionElement.h extra : rebase_source : ebb7a81fd1091f5c5905431e79390fd271328a67
2012-12-28 06:45:57 +04:00
}
NS_IMETHODIMP_(bool)
HTMLTableCaptionElement::IsAttributeMapped(const nsAtom* aAttribute) const {
Fix for bug 824907 (Convert HTML table elements to WebIDL) - rename classes. r=bz. --HG-- rename : content/html/content/src/nsHTMLTableCaptionElement.cpp => content/html/content/src/HTMLTableCaptionElement.cpp rename : content/html/content/src/nsHTMLTableCaptionElement.cpp => content/html/content/src/HTMLTableCaptionElement.h rename : content/html/content/src/nsHTMLTableCellElement.cpp => content/html/content/src/HTMLTableCellElement.cpp rename : content/html/content/src/nsHTMLTableCellElement.cpp => content/html/content/src/HTMLTableCellElement.h rename : content/html/content/src/nsHTMLTableColElement.cpp => content/html/content/src/HTMLTableColElement.cpp rename : content/html/content/src/nsHTMLTableColElement.cpp => content/html/content/src/HTMLTableColElement.h rename : content/html/content/src/nsHTMLTableElement.cpp => content/html/content/src/HTMLTableElement.cpp rename : content/html/content/src/nsHTMLTableElement.h => content/html/content/src/HTMLTableElement.h rename : content/html/content/src/nsHTMLTableRowElement.cpp => content/html/content/src/HTMLTableRowElement.cpp rename : content/html/content/src/nsHTMLTableRowElement.cpp => content/html/content/src/HTMLTableRowElement.h rename : content/html/content/src/nsHTMLTableSectionElement.cpp => content/html/content/src/HTMLTableSectionElement.cpp rename : content/html/content/src/nsHTMLTableSectionElement.cpp => content/html/content/src/HTMLTableSectionElement.h extra : rebase_source : ebb7a81fd1091f5c5905431e79390fd271328a67
2012-12-28 06:45:57 +04:00
static const MappedAttributeEntry attributes[] = {{nsGkAtoms::align},
{nullptr}};
static const MappedAttributeEntry* const map[] = {
attributes,
sCommonAttributeMap,
};
return FindAttributeDependence(aAttribute, map);
}
nsMapRuleToAttributesFunc HTMLTableCaptionElement::GetAttributeMappingFunction()
const {
return &MapAttributesIntoRule;
}
} // namespace dom
} // namespace mozilla