18e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/* 28e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Copyright (C) 2006, 2007 Apple Inc. All rights reserved. 38e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 48e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Redistribution and use in source and binary forms, with or without 58e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * modification, are permitted provided that the following conditions 68e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * are met: 78e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 1. Redistributions of source code must retain the above copyright 88e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * notice, this list of conditions and the following disclaimer. 98e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 2. Redistributions in binary form must reproduce the above copyright 108e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * notice, this list of conditions and the following disclaimer in the 118e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * documentation and/or other materials provided with the distribution. 128e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 138e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY 148e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 168e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR 178e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 188e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 198e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 208e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY 218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 228e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 238e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 248e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 258e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 268e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#ifndef DOMCSSClasses_H 278e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define DOMCSSClasses_H 288e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 298e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#include "WebKit.h" 308e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#include "DOMCoreClasses.h" 318e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 328e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#include <WebCore/CSSStyleDeclaration.h> 338e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 348e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectclass DOMCSSStyleDeclaration : public DOMObject, public IDOMCSSStyleDeclaration 358e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{ 368e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectprotected: 378e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project DOMCSSStyleDeclaration(WebCore::CSSStyleDeclaration* d); 388e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project ~DOMCSSStyleDeclaration(); 398e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 408e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectpublic: 418e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project static IDOMCSSStyleDeclaration* createInstance(WebCore::CSSStyleDeclaration* d); 428e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 438e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectpublic: 448e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project // IUnknown 458e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject); 468e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual ULONG STDMETHODCALLTYPE AddRef(void) { return DOMObject::AddRef(); } 478e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual ULONG STDMETHODCALLTYPE Release(void) { return DOMObject::Release(); } 488e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 498e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project // IWebScriptObject 508e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual HRESULT STDMETHODCALLTYPE throwException( 518e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /* [in] */ BSTR exceptionMessage, 528e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /* [retval][out] */ BOOL *result) { return DOMObject::throwException(exceptionMessage, result); } 538e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 548e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual HRESULT STDMETHODCALLTYPE callWebScriptMethod( 558e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /* [in] */ BSTR name, 568e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /* [size_is][in] */ const VARIANT args[ ], 578e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /* [in] */ int cArgs, 588e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /* [retval][out] */ VARIANT *result) { return DOMObject::callWebScriptMethod(name, args, cArgs, result); } 598e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 608e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual HRESULT STDMETHODCALLTYPE evaluateWebScript( 618e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /* [in] */ BSTR script, 628e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /* [retval][out] */ VARIANT *result) { return DOMObject::evaluateWebScript(script, result); } 638e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 648e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey( 658e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /* [in] */ BSTR name) { return DOMObject::removeWebScriptKey(name); } 668e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 678e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual HRESULT STDMETHODCALLTYPE stringRepresentation( 688e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /* [retval][out] */ BSTR* stringRepresentation) { return DOMObject::stringRepresentation(stringRepresentation); } 698e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 708e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex( 718e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /* [in] */ unsigned int index, 728e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /* [retval][out] */ VARIANT *result) { return DOMObject::webScriptValueAtIndex(index, result); } 738e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 748e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual HRESULT STDMETHODCALLTYPE setWebScriptValueAtIndex( 758e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /* [in] */ unsigned int index, 768e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /* [in] */ VARIANT val) { return DOMObject::setWebScriptValueAtIndex(index, val); } 778e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 788e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual HRESULT STDMETHODCALLTYPE setException( 798e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /* [in] */ BSTR description) { return DOMObject::setException(description); } 808e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 818e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project // IDOMCSSStyleDeclaration 828e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual HRESULT STDMETHODCALLTYPE cssText( 838e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /* [retval][out] */ BSTR *result); 848e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 858e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual HRESULT STDMETHODCALLTYPE setCssText( 868e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /* [in] */ BSTR cssText); 878e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 888e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual HRESULT STDMETHODCALLTYPE getPropertyValue( 898e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /* [in] */ BSTR propertyName, 908e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /* [retval][out] */ BSTR *result); 918e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 928e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual HRESULT STDMETHODCALLTYPE getPropertyCSSValue( 938e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /* [in] */ BSTR propertyName, 948e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /* [retval][out] */ IDOMCSSValue **result); 958e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 968e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual HRESULT STDMETHODCALLTYPE removeProperty( 978e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /* [in] */ BSTR propertyName, 988e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /* [retval][out] */ BSTR *result); 998e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1008e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual HRESULT STDMETHODCALLTYPE getPropertyPriority( 1018e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /* [in] */ BSTR propertyName, 1028e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /* [retval][out] */ BSTR *result); 1038e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1048e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual HRESULT STDMETHODCALLTYPE setProperty( 1058e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /* [in] */ BSTR propertyName, 1068e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /* [in] */ BSTR value, 1078e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /* [in] */ BSTR priority); 1088e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1098e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual HRESULT STDMETHODCALLTYPE length( 1108e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /* [retval][out] */ UINT *result); 1118e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1128e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual HRESULT STDMETHODCALLTYPE item( 1138e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /* [in] */ UINT index, 1148e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /* [retval][out] */ BSTR *result); 1158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1168e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual HRESULT STDMETHODCALLTYPE parentRule( 1178e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /* [retval][out] */ IDOMCSSRule **result); 1188e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1198e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectprotected: 1208e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project ULONG m_refCount; 1218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project WebCore::CSSStyleDeclaration* m_style; 1228e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}; 1238e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1248e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#endif 125