On Oct 5, 2011, at 2:12 AM, Sumedh wrote:

> Hi,
> 
> I am using WebKit apple port for windows, i have extended the WinLauncher 
> project. I wanted to write my own protocol handler for particular mime type, 
> lets say "image/". I have implemented IWebDocumentView and 
> IWebDocumentRepresentation. As required, i am passing the pointer to the 
> objects of the respective classes to the RegisterViewClass method of IWebView 
>  object, now this method returns me E_NOTIMPL, which means the method is not 
> implemented,  Do i need to implement IWebView also? Is there anything extra 
> to be done to write my own handler for a particular mime type.
> 
> Meanwhile, my aim is to load all the resources from the memory, Idea is 
> something like this, all web pages, resources (js, images etc) resides in 
> some database, to be particular SQLITE. I want to read this resources and 
> pages from the blob, and render it on the WebView, from the memory. For 
> Internet Explorer, i have written similar kind of thing, implementing 
> IInternetProtocol, thanks to Igor. 
> (http://msdn.microsoft.com/en-us/library/aa767883%28v=vs.85%29.aspx). Am i 
> following the right approach for the WebKit.
> 
> Sample Code:
> 
>    //Create WebView Instance
>     hr = WebKitCreateInstance(CLSID_WebView, 0, IID_IWebView, 
> (void**)&myWebView);
> 
>    //Create IWebDocumentView instance
>     myWebDocumentView = new WinLauncherWebDocumentView();
>     myWebDocumentView->AddRef();
>    
>    //Create IWebDocumentRepresentation Instance
>     myWebDocumentRepresentation = new WinLauncherWebDocumentRepresentation();
>     myWebDocumentRepresentation->AddRef();
> 
>     //Register the class
>     hr = myWebView->registerViewClass(myWebDocumentView, 
> myWebDocumentRepresentation, L"image/");
> 
> In this case hr is E_NOTIMPL
> 
> EIN? (Please thell me if any extra Information Needed)

The IWebView::registerViewClass function has never been implemented in WebKit. 
(See 
<http://trac.webkit.org/browser/trunk/Source/WebKit/win/WebView.cpp?rev=96549#L3489>.)

If all you want to do is provide custom data for certain resources and have 
WebKit render the resulting data for you, you might want to investigate using 
IWebResourceLoadDelegate::willSendRequest to modify the URLs of those resources 
to use a custom URL scheme, and then implement a handler for your URL scheme 
that provides the desired data. URL handlers are a feature of whatever 
networking library you're using, not of WebKit itself, so the mechanism for 
implementing one depends on which networking library you're using.

If you really need to provide a custom view, you could investigate 
IWebUIDelegatePrivate::embeddedViewWithArguments and IWebEmbeddedView. This 
lets you supply a custom HWND to be used for rendering an <object> or <embed> 
element.

-Adam

_______________________________________________
webkit-help mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-help

Reply via email to