tor-browser

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

SVGAnimateMotionElement.cpp (1783B)


      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/SVGAnimateMotionElement.h"
      8 
      9 #include "mozilla/dom/SVGAnimateMotionElementBinding.h"
     10 
     11 NS_IMPL_NS_NEW_SVG_ELEMENT(AnimateMotion)
     12 
     13 namespace mozilla::dom {
     14 
     15 JSObject* SVGAnimateMotionElement::WrapNode(JSContext* aCx,
     16                                            JS::Handle<JSObject*> aGivenProto) {
     17  return SVGAnimateMotionElement_Binding::Wrap(aCx, this, aGivenProto);
     18 }
     19 
     20 //----------------------------------------------------------------------
     21 // Implementation
     22 
     23 SVGAnimateMotionElement::SVGAnimateMotionElement(
     24    already_AddRefed<mozilla::dom::NodeInfo>&& aNodeInfo)
     25    : SVGAnimationElement(std::move(aNodeInfo)) {}
     26 
     27 //----------------------------------------------------------------------
     28 // nsINode methods
     29 
     30 NS_IMPL_ELEMENT_CLONE_WITH_INIT(SVGAnimateMotionElement)
     31 
     32 //----------------------------------------------------------------------
     33 
     34 SMILAnimationFunction& SVGAnimateMotionElement::AnimationFunction() {
     35  return mAnimationFunction;
     36 }
     37 
     38 bool SVGAnimateMotionElement::GetTargetAttributeName(
     39    int32_t* aNamespaceID, nsAtom** aLocalName) const {
     40  // <animateMotion> doesn't take an attributeName, since it doesn't target an
     41  // 'attribute' per se.  We'll use a unique dummy attribute-name so that our
     42  // SMILTargetIdentifier logic (which requires an attribute name) still works.
     43  *aNamespaceID = kNameSpaceID_None;
     44  *aLocalName = nsGkAtoms::mozAnimateMotionDummyAttr;
     45  return true;
     46 }
     47 
     48 }  // namespace mozilla::dom