JSCSSRuleCustom.cpp [plain text]
#include "config.h"
#include "JSCSSRule.h"
#include "CSSCharsetRule.h"
#include "CSSFontFaceRule.h"
#include "CSSImportRule.h"
#include "CSSKeyframeRule.h"
#include "CSSKeyframesRule.h"
#include "CSSMediaRule.h"
#include "CSSPageRule.h"
#include "CSSStyleRule.h"
#include "CSSSupportsRule.h"
#include "JSCSSCharsetRule.h"
#include "JSCSSFontFaceRule.h"
#include "JSCSSImportRule.h"
#include "JSCSSKeyframeRule.h"
#include "JSCSSKeyframesRule.h"
#include "JSCSSMediaRule.h"
#include "JSCSSPageRule.h"
#include "JSCSSStyleRule.h"
#include "JSCSSSupportsRule.h"
#include "JSNode.h"
#include "JSStyleSheetCustom.h"
#include "JSWebKitCSSRegionRule.h"
#include "JSWebKitCSSViewportRule.h"
#include "WebKitCSSRegionRule.h"
#include "WebKitCSSViewportRule.h"
using namespace JSC;
namespace WebCore {
void JSCSSRule::visitAdditionalChildren(SlotVisitor& visitor)
{
visitor.addOpaqueRoot(root(&impl()));
}
JSValue toJS(ExecState*, JSDOMGlobalObject* globalObject, CSSRule* rule)
{
if (!rule)
return jsNull();
JSObject* wrapper = getCachedWrapper(globalObject->world(), rule);
if (wrapper)
return wrapper;
switch (rule->type()) {
case CSSRule::STYLE_RULE:
wrapper = CREATE_DOM_WRAPPER(globalObject, CSSStyleRule, rule);
break;
case CSSRule::MEDIA_RULE:
wrapper = CREATE_DOM_WRAPPER(globalObject, CSSMediaRule, rule);
break;
case CSSRule::FONT_FACE_RULE:
wrapper = CREATE_DOM_WRAPPER(globalObject, CSSFontFaceRule, rule);
break;
case CSSRule::PAGE_RULE:
wrapper = CREATE_DOM_WRAPPER(globalObject, CSSPageRule, rule);
break;
case CSSRule::IMPORT_RULE:
wrapper = CREATE_DOM_WRAPPER(globalObject, CSSImportRule, rule);
break;
case CSSRule::CHARSET_RULE:
wrapper = CREATE_DOM_WRAPPER(globalObject, CSSCharsetRule, rule);
break;
case CSSRule::KEYFRAME_RULE:
wrapper = CREATE_DOM_WRAPPER(globalObject, CSSKeyframeRule, rule);
break;
case CSSRule::KEYFRAMES_RULE:
wrapper = CREATE_DOM_WRAPPER(globalObject, CSSKeyframesRule, rule);
break;
case CSSRule::SUPPORTS_RULE:
wrapper = CREATE_DOM_WRAPPER(globalObject, CSSSupportsRule, rule);
break;
#if ENABLE(CSS_DEVICE_ADAPTATION)
case CSSRule::WEBKIT_VIEWPORT_RULE:
wrapper = CREATE_DOM_WRAPPER(globalObject, WebKitCSSViewportRule, rule);
break;
#endif
#if ENABLE(CSS_REGIONS)
case CSSRule::WEBKIT_REGION_RULE:
wrapper = CREATE_DOM_WRAPPER(globalObject, WebKitCSSRegionRule, rule);
break;
#endif
default:
wrapper = CREATE_DOM_WRAPPER(globalObject, CSSRule, rule);
}
return wrapper;
}
}