Jacek Caban : mshtml: Add IHTMLCSSStyleDeclaration:: getPropertyValue implementation.
Alexandre Julliard
julliard at winehq.org
Tue Mar 26 16:43:15 CDT 2019
Module: wine
Branch: master
Commit: 069d5de90af595f75272f2e446c3f16ccf25ff4e
URL: https://source.winehq.org/git/wine.git/?a=commit;h=069d5de90af595f75272f2e446c3f16ccf25ff4e
Author: Jacek Caban <jacek at codeweavers.com>
Date: Tue Mar 26 17:26:36 2019 +0100
mshtml: Add IHTMLCSSStyleDeclaration::getPropertyValue implementation.
Signed-off-by: Jacek Caban <jacek at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/mshtml/htmlstyle.c | 16 +++++++++++++---
dlls/mshtml/tests/elements.js | 8 ++++++++
2 files changed, 21 insertions(+), 3 deletions(-)
diff --git a/dlls/mshtml/htmlstyle.c b/dlls/mshtml/htmlstyle.c
index 5e2d68a..88dd4a3 100644
--- a/dlls/mshtml/htmlstyle.c
+++ b/dlls/mshtml/htmlstyle.c
@@ -4989,11 +4989,21 @@ static HRESULT WINAPI HTMLCSSStyleDeclaration_get_parentRule(IHTMLCSSStyleDeclar
return E_NOTIMPL;
}
-static HRESULT WINAPI HTMLCSSStyleDeclaration_getPropertyValue(IHTMLCSSStyleDeclaration *iface, BSTR bstrPropertyName, BSTR *pbstrPropertyValue)
+static HRESULT WINAPI HTMLCSSStyleDeclaration_getPropertyValue(IHTMLCSSStyleDeclaration *iface, BSTR name, BSTR *value)
{
CSSStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
- FIXME("(%p)->(%s %p)\n", This, debugstr_w(bstrPropertyName), pbstrPropertyValue);
- return E_NOTIMPL;
+ const style_tbl_entry_t *style_entry;
+ nsAString name_str, value_str;
+ nsresult nsres;
+
+ TRACE("(%p)->(%s %p)\n", This, debugstr_w(name), value);
+
+ style_entry = lookup_style_tbl(name);
+ nsAString_InitDepend(&name_str, style_entry ? style_entry->name : name);
+ nsAString_InitDepend(&value_str, NULL);
+ nsres = nsIDOMCSSStyleDeclaration_GetPropertyValue(This->nsstyle, &name_str, &value_str);
+ nsAString_Finish(&name_str);
+ return return_nsstr(nsres, &value_str, value);
}
static HRESULT WINAPI HTMLCSSStyleDeclaration_getPropertyPriority(IHTMLCSSStyleDeclaration *iface, BSTR bstrPropertyName, BSTR *pbstrPropertyPriority)
diff --git a/dlls/mshtml/tests/elements.js b/dlls/mshtml/tests/elements.js
index b23f5c1..188a277 100644
--- a/dlls/mshtml/tests/elements.js
+++ b/dlls/mshtml/tests/elements.js
@@ -238,6 +238,10 @@ function test_style_properties() {
style.cssFloat = "left";
ok(style.cssFloat === "left", "cssFloat = " + style.cssFloat);
+ ok(style.getPropertyValue("float") === "left",
+ 'style.getPropertyValue("float") = ' + style.getPropertyValue("float"));
+ ok(style.getPropertyValue("cssFloat") === "",
+ 'style.getPropertyValue("cssFloat") = ' + style.getPropertyValue("cssFloat"));
val = style.removeProperty("float");
ok(val === "left", "removeProperty() returned " + val);
@@ -262,6 +266,10 @@ function test_style_properties() {
style["z-index"] = 1;
ok(style.zIndex === 1, "zIndex = " + style.zIndex);
ok(style["z-index"] === 1, "z-index = " + style["z-index"]);
+ ok(style.getPropertyValue("z-index") === "1",
+ 'style.getPropertyValue("x-index") = ' + style.getPropertyValue("z-index"));
+ ok(style.getPropertyValue("zIndex") === "",
+ 'style.getPropertyValue("xIndex") = ' + style.getPropertyValue("zIndex"));
style.setProperty("border-width", "5px");
ok(style.borderWidth === "5px", "style.borderWidth = " + style.borderWidth);
More information about the wine-cvs
mailing list