1 /* 2 * Copyright 2012 Jacek Caban for CodeWeavers 3 * 4 * This library is free software; you can redistribute it and/or 5 * modify it under the terms of the GNU Lesser General Public 6 * License as published by the Free Software Foundation; either 7 * version 2.1 of the License, or (at your option) any later version. 8 * 9 * This library is distributed in the hope that it will be useful, 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 * Lesser General Public License for more details. 13 * 14 * You should have received a copy of the GNU Lesser General Public 15 * License along with this library; if not, write to the Free Software 16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA 17 */ 18 19 #pragma once 20 21 typedef struct { 22 HTMLElement element; 23 24 IHTMLScriptElement IHTMLScriptElement_iface; 25 26 nsIDOMHTMLScriptElement *nsscript; 27 BOOL parsed; 28 BOOL parse_on_bind; 29 BOOL pending_readystatechange_event; 30 READYSTATE readystate; 31 } HTMLScriptElement; 32 33 typedef struct { 34 struct list entry; 35 HTMLScriptElement *script; 36 } script_queue_entry_t; 37 38 HRESULT script_elem_from_nsscript(HTMLDocumentNode*,nsIDOMHTMLScriptElement*,HTMLScriptElement**) DECLSPEC_HIDDEN; 39 void bind_event_scripts(HTMLDocumentNode*) DECLSPEC_HIDDEN; 40 41 void release_script_hosts(HTMLInnerWindow*) DECLSPEC_HIDDEN; 42 void connect_scripts(HTMLInnerWindow*) DECLSPEC_HIDDEN; 43 void doc_insert_script(HTMLInnerWindow*,HTMLScriptElement*) DECLSPEC_HIDDEN; 44 IDispatch *script_parse_event(HTMLInnerWindow*,LPCWSTR) DECLSPEC_HIDDEN; 45 HRESULT exec_script(HTMLInnerWindow*,const WCHAR*,const WCHAR*,VARIANT*) DECLSPEC_HIDDEN; 46 void set_script_mode(HTMLOuterWindow*,SCRIPTMODE) DECLSPEC_HIDDEN; 47 BOOL find_global_prop(HTMLInnerWindow*,BSTR,DWORD,ScriptHost**,DISPID*) DECLSPEC_HIDDEN; 48 IDispatch *get_script_disp(ScriptHost*) DECLSPEC_HIDDEN; 49