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 #include "ieframe.h" 20 21 #include "wine/debug.h" 22 23 WINE_DEFAULT_DEBUG_CHANNEL(ieframe); 24 25 static inline IEHTMLWindow *impl_from_IHTMLWindow2(IHTMLWindow2 *iface) 26 { 27 return CONTAINING_RECORD(iface, IEHTMLWindow, IHTMLWindow2_iface); 28 } 29 30 static HRESULT WINAPI IEHTMLWindow2_QueryInterface(IHTMLWindow2 *iface, REFIID riid, void **ppv) 31 { 32 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface); 33 34 if(IsEqualGUID(&IID_IUnknown, riid)) { 35 TRACE("(%p)->(IID_IUnknown %p)\n", This, ppv); 36 *ppv = &This->IHTMLWindow2_iface; 37 }else if(IsEqualGUID(&IID_IDispatch, riid)) { 38 TRACE("(%p)->(IID_IDispatch %p)\n", This, ppv); 39 *ppv = &This->IHTMLWindow2_iface; 40 }else if(IsEqualGUID(&IID_IHTMLFramesCollection2, riid)) { 41 TRACE("(%p)->(IID_IHTMLFramesCollection2 %p)\n", This, ppv); 42 *ppv = &This->IHTMLWindow2_iface; 43 }else if(IsEqualGUID(&IID_IHTMLWindow2, riid)) { 44 TRACE("(%p)->(IID_IHTMLWindow2 %p)\n", This, ppv); 45 *ppv = &This->IHTMLWindow2_iface; 46 }else { 47 WARN("(%p)->(%s %p)\n", This, debugstr_guid(riid), ppv); 48 *ppv = NULL; 49 return E_NOINTERFACE; 50 } 51 52 IUnknown_AddRef((IUnknown*)*ppv); 53 return S_OK; 54 } 55 56 static ULONG WINAPI IEHTMLWindow2_AddRef(IHTMLWindow2 *iface) 57 { 58 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface); 59 60 TRACE("(%p)\n", This); 61 62 return IOleClientSite_AddRef(&This->doc_host->IOleClientSite_iface); 63 } 64 65 static ULONG WINAPI IEHTMLWindow2_Release(IHTMLWindow2 *iface) 66 { 67 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface); 68 69 TRACE("(%p)\n", This); 70 71 return IOleClientSite_Release(&This->doc_host->IOleClientSite_iface); 72 } 73 74 static HRESULT WINAPI IEHTMLWindow2_GetTypeInfoCount(IHTMLWindow2 *iface, UINT *pctinfo) 75 { 76 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface); 77 FIXME("(%p)->()\n", This); 78 return E_NOTIMPL; 79 } 80 81 static HRESULT WINAPI IEHTMLWindow2_GetTypeInfo(IHTMLWindow2 *iface, UINT iTInfo, 82 LCID lcid, ITypeInfo **ppTInfo) 83 { 84 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface); 85 FIXME("(%p)->()\n", This); 86 return E_NOTIMPL; 87 } 88 89 static HRESULT WINAPI IEHTMLWindow2_GetIDsOfNames(IHTMLWindow2 *iface, REFIID riid, 90 LPOLESTR *rgszNames, UINT cNames, 91 LCID lcid, DISPID *rgDispId) 92 { 93 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface); 94 FIXME("(%p)->()\n", This); 95 return E_NOTIMPL; 96 } 97 98 static HRESULT WINAPI IEHTMLWindow2_Invoke(IHTMLWindow2 *iface, DISPID dispIdMember, 99 REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, 100 VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr) 101 { 102 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface); 103 FIXME("(%p)->()\n", This); 104 return E_NOTIMPL; 105 } 106 107 static HRESULT WINAPI IEHTMLWindow2_item(IHTMLWindow2 *iface, VARIANT *pvarIndex, VARIANT *pvarResult) 108 { 109 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface); 110 FIXME("(%p)->(%s %p)\n", This, debugstr_variant(pvarIndex), pvarResult); 111 return E_NOTIMPL; 112 } 113 114 static HRESULT WINAPI IEHTMLWindow2_get_length(IHTMLWindow2 *iface, LONG *p) 115 { 116 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface); 117 FIXME("(%p)->(%p)\n", This, p); 118 return E_NOTIMPL; 119 } 120 121 static HRESULT WINAPI IEHTMLWindow2_get_frames(IHTMLWindow2 *iface, IHTMLFramesCollection2 **p) 122 { 123 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface); 124 FIXME("(%p)->(%p)\n", This, p); 125 return E_NOTIMPL; 126 } 127 128 static HRESULT WINAPI IEHTMLWindow2_put_defaultStatus(IHTMLWindow2 *iface, BSTR v) 129 { 130 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface); 131 FIXME("(%p)->(%s)\n", This, debugstr_w(v)); 132 return E_NOTIMPL; 133 } 134 135 static HRESULT WINAPI IEHTMLWindow2_get_defaultStatus(IHTMLWindow2 *iface, BSTR *p) 136 { 137 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface); 138 FIXME("(%p)->(%p)\n", This, p); 139 return E_NOTIMPL; 140 } 141 142 static HRESULT WINAPI IEHTMLWindow2_put_status(IHTMLWindow2 *iface, BSTR v) 143 { 144 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface); 145 FIXME("(%p)->(%s)\n", This, debugstr_w(v)); 146 return E_NOTIMPL; 147 } 148 149 static HRESULT WINAPI IEHTMLWindow2_get_status(IHTMLWindow2 *iface, BSTR *p) 150 { 151 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface); 152 FIXME("(%p)->(%p)\n", This, p); 153 return E_NOTIMPL; 154 } 155 156 static HRESULT WINAPI IEHTMLWindow2_setTimeout(IHTMLWindow2 *iface, BSTR expression, 157 LONG msec, VARIANT *language, LONG *timerID) 158 { 159 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface); 160 FIXME("(%p)->(%s %d %s %p)\n", This, debugstr_w(expression), msec, debugstr_variant(language), timerID); 161 return E_NOTIMPL; 162 } 163 164 static HRESULT WINAPI IEHTMLWindow2_clearTimeout(IHTMLWindow2 *iface, LONG timerID) 165 { 166 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface); 167 FIXME("(%p)->(%d)\n", This, timerID); 168 return E_NOTIMPL; 169 } 170 171 static HRESULT WINAPI IEHTMLWindow2_alert(IHTMLWindow2 *iface, BSTR message) 172 { 173 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface); 174 FIXME("(%p)->(%s)\n", This, debugstr_w(message)); 175 return E_NOTIMPL; 176 } 177 178 static HRESULT WINAPI IEHTMLWindow2_confirm(IHTMLWindow2 *iface, BSTR message, 179 VARIANT_BOOL *confirmed) 180 { 181 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface); 182 FIXME("(%p)->(%s %p)\n", This, debugstr_w(message), confirmed); 183 return E_NOTIMPL; 184 } 185 186 static HRESULT WINAPI IEHTMLWindow2_prompt(IHTMLWindow2 *iface, BSTR message, 187 BSTR dststr, VARIANT *textdata) 188 { 189 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface); 190 FIXME("(%p)->(%s %s %p)\n", This, debugstr_w(message), debugstr_w(dststr), textdata); 191 return E_NOTIMPL; 192 } 193 194 static HRESULT WINAPI IEHTMLWindow2_get_Image(IHTMLWindow2 *iface, IHTMLImageElementFactory **p) 195 { 196 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface); 197 FIXME("(%p)->(%p)\n", This, p); 198 return E_NOTIMPL; 199 } 200 201 static HRESULT WINAPI IEHTMLWindow2_get_location(IHTMLWindow2 *iface, IHTMLLocation **p) 202 { 203 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface); 204 FIXME("(%p)->(%p)\n", This, p); 205 return E_NOTIMPL; 206 } 207 208 static HRESULT WINAPI IEHTMLWindow2_get_history(IHTMLWindow2 *iface, IOmHistory **p) 209 { 210 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface); 211 FIXME("(%p)->(%p)\n", This, p); 212 return E_NOTIMPL; 213 } 214 215 static HRESULT WINAPI IEHTMLWindow2_close(IHTMLWindow2 *iface) 216 { 217 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface); 218 219 FIXME("(%p) semi-stub\n", This); 220 221 if(!This->doc_host->wb) 222 return E_UNEXPECTED; 223 224 return IWebBrowser2_put_Visible(This->doc_host->wb, VARIANT_FALSE); 225 } 226 227 static HRESULT WINAPI IEHTMLWindow2_put_opener(IHTMLWindow2 *iface, VARIANT v) 228 { 229 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface); 230 FIXME("(%p)->(%s)\n", This, debugstr_variant(&v)); 231 return E_NOTIMPL; 232 } 233 234 static HRESULT WINAPI IEHTMLWindow2_get_opener(IHTMLWindow2 *iface, VARIANT *p) 235 { 236 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface); 237 FIXME("(%p)->(%p)\n", This, p); 238 return E_NOTIMPL; 239 } 240 241 static HRESULT WINAPI IEHTMLWindow2_get_navigator(IHTMLWindow2 *iface, IOmNavigator **p) 242 { 243 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface); 244 FIXME("(%p)->(%p)\n", This, p); 245 return E_NOTIMPL; 246 } 247 248 static HRESULT WINAPI IEHTMLWindow2_put_name(IHTMLWindow2 *iface, BSTR v) 249 { 250 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface); 251 FIXME("(%p)->(%s)\n", This, debugstr_w(v)); 252 return E_NOTIMPL; 253 } 254 255 static HRESULT WINAPI IEHTMLWindow2_get_name(IHTMLWindow2 *iface, BSTR *p) 256 { 257 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface); 258 FIXME("(%p)->(%p)\n", This, p); 259 return E_NOTIMPL; 260 } 261 262 static HRESULT WINAPI IEHTMLWindow2_get_parent(IHTMLWindow2 *iface, IHTMLWindow2 **p) 263 { 264 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface); 265 FIXME("(%p)->(%p)\n", This, p); 266 return E_NOTIMPL; 267 } 268 269 static HRESULT WINAPI IEHTMLWindow2_open(IHTMLWindow2 *iface, BSTR url, BSTR name, 270 BSTR features, VARIANT_BOOL replace, IHTMLWindow2 **pomWindowResult) 271 { 272 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface); 273 FIXME("(%p)->(%s %s %s %x %p)\n", This, debugstr_w(url), debugstr_w(name), 274 debugstr_w(features), replace, pomWindowResult); 275 return E_NOTIMPL; 276 } 277 278 static HRESULT WINAPI IEHTMLWindow2_get_self(IHTMLWindow2 *iface, IHTMLWindow2 **p) 279 { 280 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface); 281 FIXME("(%p)->(%p)\n", This, p); 282 return E_NOTIMPL; 283 } 284 285 static HRESULT WINAPI IEHTMLWindow2_get_top(IHTMLWindow2 *iface, IHTMLWindow2 **p) 286 { 287 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface); 288 FIXME("(%p)->(%p)\n", This, p); 289 return E_NOTIMPL; 290 } 291 292 static HRESULT WINAPI IEHTMLWindow2_get_window(IHTMLWindow2 *iface, IHTMLWindow2 **p) 293 { 294 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface); 295 FIXME("(%p)->(%p)\n", This, p); 296 return E_NOTIMPL; 297 } 298 299 static HRESULT WINAPI IEHTMLWindow2_navigate(IHTMLWindow2 *iface, BSTR url) 300 { 301 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface); 302 FIXME("(%p)->(%s)\n", This, debugstr_w(url)); 303 return E_NOTIMPL; 304 } 305 306 static HRESULT WINAPI IEHTMLWindow2_put_onfocus(IHTMLWindow2 *iface, VARIANT v) 307 { 308 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface); 309 FIXME("(%p)->(%s)\n", This, debugstr_variant(&v)); 310 return E_NOTIMPL; 311 } 312 313 static HRESULT WINAPI IEHTMLWindow2_get_onfocus(IHTMLWindow2 *iface, VARIANT *p) 314 { 315 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface); 316 FIXME("(%p)->(%p)\n", This, p); 317 return E_NOTIMPL; 318 } 319 320 static HRESULT WINAPI IEHTMLWindow2_put_onblur(IHTMLWindow2 *iface, VARIANT v) 321 { 322 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface); 323 FIXME("(%p)->(%s)\n", This, debugstr_variant(&v)); 324 return E_NOTIMPL; 325 } 326 327 static HRESULT WINAPI IEHTMLWindow2_get_onblur(IHTMLWindow2 *iface, VARIANT *p) 328 { 329 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface); 330 FIXME("(%p)->(%p)\n", This, p); 331 return E_NOTIMPL; 332 } 333 334 static HRESULT WINAPI IEHTMLWindow2_put_onload(IHTMLWindow2 *iface, VARIANT v) 335 { 336 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface); 337 FIXME("(%p)->(%s)\n", This, debugstr_variant(&v)); 338 return E_NOTIMPL; 339 } 340 341 static HRESULT WINAPI IEHTMLWindow2_get_onload(IHTMLWindow2 *iface, VARIANT *p) 342 { 343 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface); 344 FIXME("(%p)->(%p)\n", This, p); 345 return E_NOTIMPL; 346 } 347 348 static HRESULT WINAPI IEHTMLWindow2_put_onbeforeunload(IHTMLWindow2 *iface, VARIANT v) 349 { 350 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface); 351 FIXME("(%p)->(%s)\n", This, debugstr_variant(&v)); 352 return E_NOTIMPL; 353 } 354 355 static HRESULT WINAPI IEHTMLWindow2_get_onbeforeunload(IHTMLWindow2 *iface, VARIANT *p) 356 { 357 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface); 358 FIXME("(%p)->(%p)\n", This, p); 359 return E_NOTIMPL; 360 } 361 362 static HRESULT WINAPI IEHTMLWindow2_put_onunload(IHTMLWindow2 *iface, VARIANT v) 363 { 364 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface); 365 FIXME("(%p)->(%s)\n", This, debugstr_variant(&v)); 366 return E_NOTIMPL; 367 } 368 369 static HRESULT WINAPI IEHTMLWindow2_get_onunload(IHTMLWindow2 *iface, VARIANT *p) 370 { 371 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface); 372 FIXME("(%p)->(%p)\n", This, p); 373 return E_NOTIMPL; 374 } 375 376 static HRESULT WINAPI IEHTMLWindow2_put_onhelp(IHTMLWindow2 *iface, VARIANT v) 377 { 378 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface); 379 FIXME("(%p)->(%s)\n", This, debugstr_variant(&v)); 380 return E_NOTIMPL; 381 } 382 383 static HRESULT WINAPI IEHTMLWindow2_get_onhelp(IHTMLWindow2 *iface, VARIANT *p) 384 { 385 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface); 386 FIXME("(%p)->(%p)\n", This, p); 387 return E_NOTIMPL; 388 } 389 390 static HRESULT WINAPI IEHTMLWindow2_put_onerror(IHTMLWindow2 *iface, VARIANT v) 391 { 392 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface); 393 FIXME("(%p)->(%s)\n", This, debugstr_variant(&v)); 394 return E_NOTIMPL; 395 } 396 397 static HRESULT WINAPI IEHTMLWindow2_get_onerror(IHTMLWindow2 *iface, VARIANT *p) 398 { 399 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface); 400 FIXME("(%p)->(%p)\n", This, p); 401 return E_NOTIMPL; 402 } 403 404 static HRESULT WINAPI IEHTMLWindow2_put_onresize(IHTMLWindow2 *iface, VARIANT v) 405 { 406 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface); 407 FIXME("(%p)->(%s)\n", This, debugstr_variant(&v)); 408 return E_NOTIMPL; 409 } 410 411 static HRESULT WINAPI IEHTMLWindow2_get_onresize(IHTMLWindow2 *iface, VARIANT *p) 412 { 413 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface); 414 FIXME("(%p)->(%p)\n", This, p); 415 return E_NOTIMPL; 416 } 417 418 static HRESULT WINAPI IEHTMLWindow2_put_onscroll(IHTMLWindow2 *iface, VARIANT v) 419 { 420 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface); 421 FIXME("(%p)->(%s)\n", This, debugstr_variant(&v)); 422 return E_NOTIMPL; 423 } 424 425 static HRESULT WINAPI IEHTMLWindow2_get_onscroll(IHTMLWindow2 *iface, VARIANT *p) 426 { 427 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface); 428 FIXME("(%p)->(%p)\n", This, p); 429 return E_NOTIMPL; 430 } 431 432 static HRESULT WINAPI IEHTMLWindow2_get_document(IHTMLWindow2 *iface, IHTMLDocument2 **p) 433 { 434 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface); 435 FIXME("(%p)->(%p)\n", This, p); 436 return E_NOTIMPL; 437 } 438 439 static HRESULT WINAPI IEHTMLWindow2_get_event(IHTMLWindow2 *iface, IHTMLEventObj **p) 440 { 441 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface); 442 FIXME("(%p)->(%p)\n", This, p); 443 return E_NOTIMPL; 444 } 445 446 static HRESULT WINAPI IEHTMLWindow2_get__newEnum(IHTMLWindow2 *iface, IUnknown **p) 447 { 448 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface); 449 FIXME("(%p)->(%p)\n", This, p); 450 return E_NOTIMPL; 451 } 452 453 static HRESULT WINAPI IEHTMLWindow2_showModalDialog(IHTMLWindow2 *iface, BSTR dialog, 454 VARIANT *varArgIn, VARIANT *varOptions, VARIANT *varArgOut) 455 { 456 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface); 457 FIXME("(%p)->(%s %s %s %p)\n", This, debugstr_w(dialog), debugstr_variant(varArgIn), 458 debugstr_variant(varOptions), varArgOut); 459 return E_NOTIMPL; 460 } 461 462 static HRESULT WINAPI IEHTMLWindow2_showHelp(IHTMLWindow2 *iface, BSTR helpURL, VARIANT helpArg, 463 BSTR features) 464 { 465 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface); 466 FIXME("(%p)->(%s %s %s)\n", This, debugstr_w(helpURL), debugstr_variant(&helpArg), debugstr_w(features)); 467 return E_NOTIMPL; 468 } 469 470 static HRESULT WINAPI IEHTMLWindow2_get_screen(IHTMLWindow2 *iface, IHTMLScreen **p) 471 { 472 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface); 473 FIXME("(%p)->(%p)\n", This, p); 474 return E_NOTIMPL; 475 } 476 477 static HRESULT WINAPI IEHTMLWindow2_get_Option(IHTMLWindow2 *iface, IHTMLOptionElementFactory **p) 478 { 479 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface); 480 FIXME("(%p)->(%p)\n", This, p); 481 return E_NOTIMPL; 482 } 483 484 static HRESULT WINAPI IEHTMLWindow2_focus(IHTMLWindow2 *iface) 485 { 486 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface); 487 FIXME("(%p)->()\n", This); 488 return E_NOTIMPL; 489 } 490 491 static HRESULT WINAPI IEHTMLWindow2_get_closed(IHTMLWindow2 *iface, VARIANT_BOOL *p) 492 { 493 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface); 494 FIXME("(%p)->(%p)\n", This, p); 495 return E_NOTIMPL; 496 } 497 498 static HRESULT WINAPI IEHTMLWindow2_blur(IHTMLWindow2 *iface) 499 { 500 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface); 501 FIXME("(%p)->()\n", This); 502 return E_NOTIMPL; 503 } 504 505 static HRESULT WINAPI IEHTMLWindow2_scroll(IHTMLWindow2 *iface, LONG x, LONG y) 506 { 507 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface); 508 FIXME("(%p)->(%d %d)\n", This, x, y); 509 return E_NOTIMPL; 510 } 511 512 static HRESULT WINAPI IEHTMLWindow2_get_clientInformation(IHTMLWindow2 *iface, IOmNavigator **p) 513 { 514 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface); 515 FIXME("(%p)->(%p)\n", This, p); 516 return E_NOTIMPL; 517 } 518 519 static HRESULT WINAPI IEHTMLWindow2_setInterval(IHTMLWindow2 *iface, BSTR expression, 520 LONG msec, VARIANT *language, LONG *timerID) 521 { 522 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface); 523 FIXME("(%p)->(%s %d %s %p)\n", This, debugstr_w(expression), msec, debugstr_variant(language), timerID); 524 return E_NOTIMPL; 525 } 526 527 static HRESULT WINAPI IEHTMLWindow2_clearInterval(IHTMLWindow2 *iface, LONG timerID) 528 { 529 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface); 530 FIXME("(%p)->(%d)\n", This, timerID); 531 return E_NOTIMPL; 532 } 533 534 static HRESULT WINAPI IEHTMLWindow2_put_offscreenBuffering(IHTMLWindow2 *iface, VARIANT v) 535 { 536 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface); 537 FIXME("(%p)->(%s)\n", This, debugstr_variant(&v)); 538 return E_NOTIMPL; 539 } 540 541 static HRESULT WINAPI IEHTMLWindow2_get_offscreenBuffering(IHTMLWindow2 *iface, VARIANT *p) 542 { 543 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface); 544 FIXME("(%p)->(%p)\n", This, p); 545 return E_NOTIMPL; 546 } 547 548 static HRESULT WINAPI IEHTMLWindow2_execScript(IHTMLWindow2 *iface, BSTR scode, BSTR language, 549 VARIANT *pvarRet) 550 { 551 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface); 552 FIXME("(%p)->(%s %s %p)\n", This, debugstr_w(scode), debugstr_w(language), pvarRet); 553 return E_NOTIMPL; 554 } 555 556 static HRESULT WINAPI IEHTMLWindow2_toString(IHTMLWindow2 *iface, BSTR *String) 557 { 558 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface); 559 FIXME("(%p)->(%p)\n", This, String); 560 return E_NOTIMPL; 561 } 562 563 static HRESULT WINAPI IEHTMLWindow2_scrollBy(IHTMLWindow2 *iface, LONG x, LONG y) 564 { 565 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface); 566 FIXME("(%p)->(%d %d)\n", This, x, y); 567 return E_NOTIMPL; 568 } 569 570 static HRESULT WINAPI IEHTMLWindow2_scrollTo(IHTMLWindow2 *iface, LONG x, LONG y) 571 { 572 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface); 573 FIXME("(%p)->(%d %d)\n", This, x, y); 574 return E_NOTIMPL; 575 } 576 577 static HRESULT WINAPI IEHTMLWindow2_moveTo(IHTMLWindow2 *iface, LONG x, LONG y) 578 { 579 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface); 580 FIXME("(%p)->(%d %d)\n", This, x, y); 581 return E_NOTIMPL; 582 } 583 584 static HRESULT WINAPI IEHTMLWindow2_moveBy(IHTMLWindow2 *iface, LONG x, LONG y) 585 { 586 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface); 587 FIXME("(%p)->(%d %d)\n", This, x, y); 588 return E_NOTIMPL; 589 } 590 591 static HRESULT WINAPI IEHTMLWindow2_resizeTo(IHTMLWindow2 *iface, LONG x, LONG y) 592 { 593 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface); 594 FIXME("(%p)->(%d %d)\n", This, x, y); 595 return E_NOTIMPL; 596 } 597 598 static HRESULT WINAPI IEHTMLWindow2_resizeBy(IHTMLWindow2 *iface, LONG x, LONG y) 599 { 600 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface); 601 FIXME("(%p)->(%d %d)\n", This, x, y); 602 return E_NOTIMPL; 603 } 604 605 static HRESULT WINAPI IEHTMLWindow2_get_external(IHTMLWindow2 *iface, IDispatch **p) 606 { 607 IEHTMLWindow *This = impl_from_IHTMLWindow2(iface); 608 FIXME("(%p)->(%p)\n", This, p); 609 return E_NOTIMPL; 610 } 611 612 static const IHTMLWindow2Vtbl IEHTMLWindow2Vtbl = { 613 IEHTMLWindow2_QueryInterface, 614 IEHTMLWindow2_AddRef, 615 IEHTMLWindow2_Release, 616 IEHTMLWindow2_GetTypeInfoCount, 617 IEHTMLWindow2_GetTypeInfo, 618 IEHTMLWindow2_GetIDsOfNames, 619 IEHTMLWindow2_Invoke, 620 IEHTMLWindow2_item, 621 IEHTMLWindow2_get_length, 622 IEHTMLWindow2_get_frames, 623 IEHTMLWindow2_put_defaultStatus, 624 IEHTMLWindow2_get_defaultStatus, 625 IEHTMLWindow2_put_status, 626 IEHTMLWindow2_get_status, 627 IEHTMLWindow2_setTimeout, 628 IEHTMLWindow2_clearTimeout, 629 IEHTMLWindow2_alert, 630 IEHTMLWindow2_confirm, 631 IEHTMLWindow2_prompt, 632 IEHTMLWindow2_get_Image, 633 IEHTMLWindow2_get_location, 634 IEHTMLWindow2_get_history, 635 IEHTMLWindow2_close, 636 IEHTMLWindow2_put_opener, 637 IEHTMLWindow2_get_opener, 638 IEHTMLWindow2_get_navigator, 639 IEHTMLWindow2_put_name, 640 IEHTMLWindow2_get_name, 641 IEHTMLWindow2_get_parent, 642 IEHTMLWindow2_open, 643 IEHTMLWindow2_get_self, 644 IEHTMLWindow2_get_top, 645 IEHTMLWindow2_get_window, 646 IEHTMLWindow2_navigate, 647 IEHTMLWindow2_put_onfocus, 648 IEHTMLWindow2_get_onfocus, 649 IEHTMLWindow2_put_onblur, 650 IEHTMLWindow2_get_onblur, 651 IEHTMLWindow2_put_onload, 652 IEHTMLWindow2_get_onload, 653 IEHTMLWindow2_put_onbeforeunload, 654 IEHTMLWindow2_get_onbeforeunload, 655 IEHTMLWindow2_put_onunload, 656 IEHTMLWindow2_get_onunload, 657 IEHTMLWindow2_put_onhelp, 658 IEHTMLWindow2_get_onhelp, 659 IEHTMLWindow2_put_onerror, 660 IEHTMLWindow2_get_onerror, 661 IEHTMLWindow2_put_onresize, 662 IEHTMLWindow2_get_onresize, 663 IEHTMLWindow2_put_onscroll, 664 IEHTMLWindow2_get_onscroll, 665 IEHTMLWindow2_get_document, 666 IEHTMLWindow2_get_event, 667 IEHTMLWindow2_get__newEnum, 668 IEHTMLWindow2_showModalDialog, 669 IEHTMLWindow2_showHelp, 670 IEHTMLWindow2_get_screen, 671 IEHTMLWindow2_get_Option, 672 IEHTMLWindow2_focus, 673 IEHTMLWindow2_get_closed, 674 IEHTMLWindow2_blur, 675 IEHTMLWindow2_scroll, 676 IEHTMLWindow2_get_clientInformation, 677 IEHTMLWindow2_setInterval, 678 IEHTMLWindow2_clearInterval, 679 IEHTMLWindow2_put_offscreenBuffering, 680 IEHTMLWindow2_get_offscreenBuffering, 681 IEHTMLWindow2_execScript, 682 IEHTMLWindow2_toString, 683 IEHTMLWindow2_scrollBy, 684 IEHTMLWindow2_scrollTo, 685 IEHTMLWindow2_moveTo, 686 IEHTMLWindow2_moveBy, 687 IEHTMLWindow2_resizeTo, 688 IEHTMLWindow2_resizeBy, 689 IEHTMLWindow2_get_external 690 }; 691 692 void IEHTMLWindow_Init(DocHost *doc_host) 693 { 694 doc_host->html_window.IHTMLWindow2_iface.lpVtbl = &IEHTMLWindow2Vtbl; 695 doc_host->html_window.doc_host = doc_host; 696 } 697