diff options
author | Shimeng (Simon) Wang <swang@google.com> | 2010-12-07 17:22:45 -0800 |
---|---|---|
committer | Shimeng (Simon) Wang <swang@google.com> | 2010-12-22 14:15:40 -0800 |
commit | 4576aa36e9a9671459299c7963ac95aa94beaea9 (patch) | |
tree | 3863574e050f168c0126ecb47c83319fab0972d8 /WebCore/bindings/js/JSSVGContextCache.h | |
parent | 55323ac613cc31553107b68603cb627264d22bb0 (diff) | |
download | external_webkit-4576aa36e9a9671459299c7963ac95aa94beaea9.zip external_webkit-4576aa36e9a9671459299c7963ac95aa94beaea9.tar.gz external_webkit-4576aa36e9a9671459299c7963ac95aa94beaea9.tar.bz2 |
Merge WebKit at r73109: Initial merge by git.
Change-Id: I61f1a66d9642e3d8405d3ac6ccab2a53421c75d8
Diffstat (limited to 'WebCore/bindings/js/JSSVGContextCache.h')
-rw-r--r-- | WebCore/bindings/js/JSSVGContextCache.h | 97 |
1 files changed, 0 insertions, 97 deletions
diff --git a/WebCore/bindings/js/JSSVGContextCache.h b/WebCore/bindings/js/JSSVGContextCache.h deleted file mode 100644 index 75ed324..0000000 --- a/WebCore/bindings/js/JSSVGContextCache.h +++ /dev/null @@ -1,97 +0,0 @@ -/* - Copyright (C) Research In Motion Limited 2009-2010. All rights reserved. - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to - the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - Boston, MA 02110-1301, USA. -*/ - -#ifndef JSSVGContextCache_h -#define JSSVGContextCache_h - -#if ENABLE(SVG) -#include "SVGElement.h" -#include <wtf/StdLibExtras.h> - -namespace WebCore { - -class DOMObject; - -class JSSVGContextCache : public Noncopyable { -public: - typedef HashMap<DOMObject*, SVGElement*> WrapperMap; - - static WrapperMap& wrapperMap() - { - DEFINE_STATIC_LOCAL(WrapperMap, s_wrapperMap, ()); - return s_wrapperMap; - } - - static void addWrapper(DOMObject* wrapper, SVGElement* context) - { - ASSERT(wrapper); - ASSERT(context); - - pair<WrapperMap::iterator, bool> result = wrapperMap().add(wrapper, context); - if (result.second) { - WrapperMap::iterator& it = result.first; - ASSERT_UNUSED(it, it->second == context); - } - } - - static void forgetWrapper(DOMObject* wrapper) - { - ASSERT(wrapper); - - WrapperMap& map = wrapperMap(); - WrapperMap::iterator it = map.find(wrapper); - if (it == map.end()) - return; - - map.remove(it); - } - - static void propagateSVGDOMChange(DOMObject* wrapper, const QualifiedName& attributeName) - { - WrapperMap& map = wrapperMap(); - WrapperMap::iterator it = map.find(wrapper); - if (it == map.end()) - return; - - SVGElement* context = it->second; - ASSERT(context); - - context->svgAttributeChanged(attributeName); - } - - static SVGElement* svgContextForDOMObject(DOMObject* wrapper) - { - ASSERT(wrapper); - - WrapperMap& map = wrapperMap(); - WrapperMap::iterator it = map.find(wrapper); - if (it == map.end()) - return 0; - - SVGElement* context = it->second; - ASSERT(context); - return context; - } - -}; - -} - -#endif -#endif |