mshtml: Load data from moniker in IPersistStreamInit::InitNew.
authorJacek Caban <jacek@codeweavers.com>
Wed, 3 Mar 2010 13:55:00 +0000 (14:55 +0100)
committerAlexandre Julliard <julliard@winehq.org>
Wed, 3 Mar 2010 14:29:02 +0000 (15:29 +0100)
dlls/mshtml/persist.c

index d903ac7d0c94795a37d289292d9fab37d5a971f7..18013d319a9fa528e5daba9b687f72bdfa3815a2 100644 (file)
@@ -683,44 +683,24 @@ static HRESULT WINAPI PersistStreamInit_InitNew(IPersistStreamInit *iface)
 {
     HTMLDocument *This = PERSTRINIT_THIS(iface);
     IMoniker *mon;
-    HGLOBAL body;
-    LPSTREAM stream;
     HRESULT hres;
 
     static const WCHAR about_blankW[] = {'a','b','o','u','t',':','b','l','a','n','k',0};
-    static const WCHAR html_bodyW[] = {'<','H','T','M','L','>','<','/','H','T','M','L','>',0};
 
     TRACE("(%p)\n", This);
 
-    body = GlobalAlloc(0, sizeof(html_bodyW));
-    if(!body)
-        return E_OUTOFMEMORY;
-    memcpy(body, html_bodyW, sizeof(html_bodyW));
-
     hres = CreateURLMoniker(NULL, about_blankW, &mon);
     if(FAILED(hres)) {
         WARN("CreateURLMoniker failed: %08x\n", hres);
-        GlobalFree(body);
         return hres;
     }
 
     hres = set_moniker(This, mon, NULL, FALSE);
     IMoniker_Release(mon);
-    if(FAILED(hres)) {
-        GlobalFree(body);
-        return hres;
-    }
-
-    hres = CreateStreamOnHGlobal(body, TRUE, &stream);
-    if(FAILED(hres)) {
-        GlobalFree(body);
+    if(FAILED(hres))
         return hres;
-    }
 
-    hres = channelbsc_load_stream(This->window->bscallback, stream);
-
-    IStream_Release(stream);
-    return hres;
+    return start_binding(This->window, NULL, (BSCallback*)This->window->bscallback, NULL);
 }
 
 #undef PERSTRINIT_THIS