mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-19 08:15:31 +00:00
6002ad9aeb
This patch maps SVG geometry attributes to CSS property, so that the values set via SVG attribute will be known by CSS. It doesn't deal with how the value is used. Differential Revision: https://phabricator.services.mozilla.com/D29960 --HG-- extra : moz-landing-system : lando
51 lines
1.4 KiB
C++
51 lines
1.4 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: */
|
|
/* 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_SVGGraphicsElement_h
|
|
#define mozilla_dom_SVGGraphicsElement_h
|
|
|
|
#include "mozilla/dom/SVGTests.h"
|
|
#include "mozilla/dom/SVGTransformableElement.h"
|
|
|
|
namespace mozilla {
|
|
namespace dom {
|
|
|
|
typedef SVGTransformableElement SVGGraphicsElementBase;
|
|
|
|
class SVGGraphicsElement : public SVGGraphicsElementBase, public SVGTests {
|
|
protected:
|
|
explicit SVGGraphicsElement(
|
|
already_AddRefed<mozilla::dom::NodeInfo>&& aNodeInfo);
|
|
~SVGGraphicsElement() = default;
|
|
|
|
public:
|
|
// interfaces:
|
|
NS_DECL_ISUPPORTS_INHERITED
|
|
|
|
bool IsFocusableInternal(int32_t* aTabIndex, bool aWithMouse) override;
|
|
SVGElement* AsSVGElement() final { return this; }
|
|
|
|
protected:
|
|
// returns true if focusability has been definitively determined otherwise
|
|
// false
|
|
bool IsSVGFocusable(bool* aIsFocusable, int32_t* aTabIndex);
|
|
|
|
template <typename T>
|
|
bool IsInLengthInfo(const nsAtom* aAttribute, const T& aLengthInfos) const {
|
|
for (auto const& e : aLengthInfos) {
|
|
if (e.mName == aAttribute) {
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
};
|
|
|
|
} // namespace dom
|
|
} // namespace mozilla
|
|
|
|
#endif // mozilla_dom_SVGGraphicsElement_h
|