blob: 650b1cc8d56e8d578cf55d31b694a87d84824cb9 [file] [log] [blame]
/*
Copyright (C) 2002 David Faure <faure@kde.org>
2004, 2005 Nikolas Zimmermann <wildfox@kde.org>
This file is part of the KDE project
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., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#include "config.h"
#if SVG_SUPPORT
#include <kdom/core/Node.h>
#include <kdom/core/Document.h>
#include "GlobalObject.h"
#include "Constructors.h"
#include <ksvg2/data/EcmaConstants.h>
#include <ksvg2/data/GlobalObject.lut.h>
using namespace WebCore;
/*
@begin GlobalObject::s_hashTable 13
# Constructors
SVGException GlobalObjectConstants::SVGException DontDelete|Function 1
SVGLength GlobalObjectConstants::SVGLength DontDelete|Function 1
SVGAngle GlobalObjectConstants::SVGAngle DontDelete|Function 1
SVGColor GlobalObjectConstants::SVGColor DontDelete|Function 1
SVGUnitTypes GlobalObjectConstants::SVGUnitTypes DontDelete|Function 1
SVGTransform GlobalObjectConstants::SVGTransform DontDelete|Function 1
SVGPaint GlobalObjectConstants::SVGPaint DontDelete|Function 1
SVGGradientElement GlobalObjectConstants::SVGGradientElement DontDelete|Function 1
SVGPreserveAspectRatio GlobalObjectConstants::SVGPreserveAspectRatio DontDelete|Function 1
SVGZoomAndPan GlobalObjectConstants::SVGZoomAndPan DontDelete|Function 1
SVGMarkerElement GlobalObjectConstants::SVGMarkerElement DontDelete|Function 1
@end
*/
GlobalObject::GlobalObject(Document *doc) : GlobalObject(doc)
{
}
GlobalObject::~GlobalObject()
{
}
void GlobalObject::afterTimeout() const
{
if(doc())
doc()->updateRendering();
}
KJS::JSValue *GlobalObject::get(KJS::ExecState *exec, const KJS::Identifier &p) const
{
kdDebug(26004) << "WebCore::GlobalObject (" << this << ")::get " << p.deprecatedString() << endl;
KJS::JSValue *ret = GlobalObject::get(exec, p);
if(ret->type() != KJS::UndefinedType)
return ret;
const KJS::HashEntry *entry = KJS::Lookup::findEntry(&GlobalObject::s_hashTable, p);
if(entry)
{
switch(entry->value)
{
case GlobalObjectConstants::SVGException:
return getSVGExceptionConstructor(exec);
case GlobalObjectConstants::SVGLength:
return getSVGLengthConstructor(exec);
case GlobalObjectConstants::SVGAngle:
return getSVGAngleConstructor(exec);
case GlobalObjectConstants::SVGColor:
return getSVGColorConstructor(exec);
case GlobalObjectConstants::SVGPaint:
return getSVGPaintConstructor(exec);
case GlobalObjectConstants::SVGUnitTypes:
return getSVGUnitTypesConstructor(exec);
case GlobalObjectConstants::SVGTransform:
return getSVGTransformConstructor(exec);
case GlobalObjectConstants::SVGGradientElement:
return getSVGGradientElementConstructor(exec);
case GlobalObjectConstants::SVGPreserveAspectRatio:
return getSVGPreserveAspectRatioConstructor(exec);
case GlobalObjectConstants::SVGZoomAndPan:
return getSVGZoomAndPanConstructor(exec);
case GlobalObjectConstants::SVGMarkerElement:
return getSVGMarkerElementConstructor(exec);
}
}
// This isn't necessarily a bug. Some code uses if(!window.blah) window.blah=1
// But it can also mean something isn't loaded or implemented...
kdDebug(26004) << "GlobalObject::get property not found: " << p.deprecatedString() << endl;
return KJS::jsUndefined();
}
// vim:ts=4:noet
#endif // SVG_SUPPORT