summaryrefslogtreecommitdiff
path: root/Source/WebCore/bindings/js/JSCSSValueCustom.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/WebCore/bindings/js/JSCSSValueCustom.cpp')
-rw-r--r--Source/WebCore/bindings/js/JSCSSValueCustom.cpp88
1 files changed, 24 insertions, 64 deletions
diff --git a/Source/WebCore/bindings/js/JSCSSValueCustom.cpp b/Source/WebCore/bindings/js/JSCSSValueCustom.cpp
index 050e4b8e3..13e23701d 100644
--- a/Source/WebCore/bindings/js/JSCSSValueCustom.cpp
+++ b/Source/WebCore/bindings/js/JSCSSValueCustom.cpp
@@ -10,10 +10,10 @@
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
- * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
@@ -24,90 +24,50 @@
*/
#include "config.h"
-#include "JSCSSValue.h"
-#include "CSSPrimitiveValue.h"
-#include "CSSValueList.h"
-#include "JSCSSPrimitiveValue.h"
-#include "JSCSSValueList.h"
+#include "DeprecatedCSSOMPrimitiveValue.h"
+#include "DeprecatedCSSOMValueList.h"
+#include "JSDeprecatedCSSOMPrimitiveValue.h"
+#include "JSDeprecatedCSSOMValue.h"
+#include "JSDeprecatedCSSOMValueList.h"
#include "JSNode.h"
-#include "JSWebKitCSSTransformValue.h"
-#include "WebKitCSSTransformValue.h"
-
-#if ENABLE(CSS_FILTERS)
-#include "JSWebKitCSSFilterValue.h"
-#include "WebKitCSSFilterValue.h"
-#endif
-
-#if ENABLE(SVG)
-#include "JSSVGColor.h"
-#include "JSSVGPaint.h"
-#include "SVGColor.h"
-#include "SVGPaint.h"
-#endif
using namespace JSC;
namespace WebCore {
-bool JSCSSValueOwner::isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown> handle, void* context, SlotVisitor& visitor)
+bool JSDeprecatedCSSOMValueOwner::isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown> handle, void* context, SlotVisitor& visitor)
{
- JSCSSValue* jsCSSValue = jsCast<JSCSSValue*>(handle.get().asCell());
+ JSDeprecatedCSSOMValue* jsCSSValue = jsCast<JSDeprecatedCSSOMValue*>(handle.slot()->asCell());
if (!jsCSSValue->hasCustomProperties())
return false;
DOMWrapperWorld* world = static_cast<DOMWrapperWorld*>(context);
- void* root = world->m_cssValueRoots.get(&jsCSSValue->impl());
+ void* root = world->m_deprecatedCSSOMValueRoots.get(&jsCSSValue->wrapped());
if (!root)
return false;
return visitor.containsOpaqueRoot(root);
}
-void JSCSSValueOwner::finalize(JSC::Handle<JSC::Unknown> handle, void* context)
+void JSDeprecatedCSSOMValueOwner::finalize(JSC::Handle<JSC::Unknown> handle, void* context)
{
- JSCSSValue* jsCSSValue = jsCast<JSCSSValue*>(handle.get().asCell());
+ JSDeprecatedCSSOMValue* jsCSSValue = static_cast<JSDeprecatedCSSOMValue*>(handle.slot()->asCell());
DOMWrapperWorld& world = *static_cast<DOMWrapperWorld*>(context);
- world.m_cssValueRoots.remove(&jsCSSValue->impl());
- uncacheWrapper(world, &jsCSSValue->impl(), jsCSSValue);
- jsCSSValue->releaseImpl();
+ world.m_deprecatedCSSOMValueRoots.remove(&jsCSSValue->wrapped());
+ uncacheWrapper(world, &jsCSSValue->wrapped(), jsCSSValue);
}
-JSValue toJS(ExecState* exec, JSDOMGlobalObject* globalObject, CSSValue* value)
+JSValue toJSNewlyCreated(ExecState*, JSDOMGlobalObject* globalObject, Ref<DeprecatedCSSOMValue>&& value)
{
- if (!value)
- return jsNull();
-
- // Scripts should only ever see cloned CSSValues, never the internal ones.
- ASSERT(value->isCSSOMSafe());
-
- // If we're here under erroneous circumstances, prefer returning null over a potentially insecure value.
- if (!value->isCSSOMSafe())
- return jsNull();
-
- JSObject* wrapper = getCachedWrapper(currentWorld(exec), value);
-
- if (wrapper)
- return wrapper;
-
- if (value->isWebKitCSSTransformValue())
- wrapper = CREATE_DOM_WRAPPER(exec, globalObject, WebKitCSSTransformValue, value);
-#if ENABLE(CSS_FILTERS)
- else if (value->isWebKitCSSFilterValue())
- wrapper = CREATE_DOM_WRAPPER(exec, globalObject, WebKitCSSFilterValue, value);
-#endif
- else if (value->isValueList())
- wrapper = CREATE_DOM_WRAPPER(exec, globalObject, CSSValueList, value);
-#if ENABLE(SVG)
- else if (value->isSVGPaint())
- wrapper = CREATE_DOM_WRAPPER(exec, globalObject, SVGPaint, value);
- else if (value->isSVGColor())
- wrapper = CREATE_DOM_WRAPPER(exec, globalObject, SVGColor, value);
-#endif
- else if (value->isPrimitiveValue())
- wrapper = CREATE_DOM_WRAPPER(exec, globalObject, CSSPrimitiveValue, value);
- else
- wrapper = CREATE_DOM_WRAPPER(exec, globalObject, CSSValue, value);
+ if (value->isValueList())
+ return createWrapper<DeprecatedCSSOMValueList>(globalObject, WTFMove(value));
+ if (value->isPrimitiveValue())
+ return createWrapper<DeprecatedCSSOMPrimitiveValue>(globalObject, WTFMove(value));
+ return createWrapper<DeprecatedCSSOMValue>(globalObject, WTFMove(value));
+}
- return wrapper;
+JSValue toJS(ExecState* state, JSDOMGlobalObject* globalObject, DeprecatedCSSOMValue& value)
+{
+ return wrap(state, globalObject, value);
}
} // namespace WebCore