summaryrefslogtreecommitdiffstats
path: root/WebKit/win/COMVariantSetter.h
diff options
context:
space:
mode:
Diffstat (limited to 'WebKit/win/COMVariantSetter.h')
-rw-r--r--WebKit/win/COMVariantSetter.h26
1 files changed, 26 insertions, 0 deletions
diff --git a/WebKit/win/COMVariantSetter.h b/WebKit/win/COMVariantSetter.h
index 76ca927..22c20e4 100644
--- a/WebKit/win/COMVariantSetter.h
+++ b/WebKit/win/COMVariantSetter.h
@@ -57,6 +57,19 @@ template<> struct COMVariantSetter<WebCore::String> : COMVariantSetterBase<WebCo
}
};
+template<> struct COMVariantSetter<bool> : COMVariantSetterBase<bool>
+{
+ static const VARENUM VariantType = VT_BOOL;
+
+ static void setVariant(VARIANT* variant, bool value)
+ {
+ ASSERT(V_VT(variant) == VT_EMPTY);
+
+ V_VT(variant) = VariantType;
+ V_BOOL(variant) = value;
+ }
+};
+
template<> struct COMVariantSetter<unsigned long long> : COMVariantSetterBase<unsigned long long>
{
static const VARENUM VariantType = VT_UI8;
@@ -83,6 +96,19 @@ template<> struct COMVariantSetter<int> : COMVariantSetterBase<int>
}
};
+template<> struct COMVariantSetter<float> : COMVariantSetterBase<float>
+{
+ static const VARENUM VariantType = VT_R4;
+
+ static void setVariant(VARIANT* variant, float value)
+ {
+ ASSERT(V_VT(variant) == VT_EMPTY);
+
+ V_VT(variant) = VariantType;
+ V_R4(variant) = value;
+ }
+};
+
template<typename T> struct COMVariantSetter<COMPtr<T> > : COMVariantSetterBase<COMPtr<T> >
{
static const VARENUM VariantType = VT_UNKNOWN;