#include "config.h"
#if SVG_SUPPORT
#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;
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);
}
}
kdDebug(26004) << "GlobalObject::get property not found: " << p.deprecatedString() << endl;
return KJS::jsUndefined();
}
#endif // SVG_SUPPORT