/* * Copyright (C) 2006 Apple Computer, Inc. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #pragma once #include "resource.h" #include <WebKit/WebKit.h> class WinLauncherWebHost : public IWebFrameLoadDelegate { public: WinLauncherWebHost() : m_refCount(1) {} // IUnknown virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject); virtual ULONG STDMETHODCALLTYPE AddRef(void); virtual ULONG STDMETHODCALLTYPE Release(void); // IWebFrameLoadDelegate virtual HRESULT STDMETHODCALLTYPE didStartProvisionalLoadForFrame( /* [in] */ IWebView* webView, /* [in] */ IWebFrame* /*frame*/) { return S_OK; } virtual HRESULT STDMETHODCALLTYPE didReceiveServerRedirectForProvisionalLoadForFrame( /* [in] */ IWebView *webView, /* [in] */ IWebFrame *frame) { return S_OK; } virtual HRESULT STDMETHODCALLTYPE didFailProvisionalLoadWithError( /* [in] */ IWebView *webView, /* [in] */ IWebError *error, /* [in] */ IWebFrame *frame) { return S_OK; } virtual HRESULT STDMETHODCALLTYPE didCommitLoadForFrame( /* [in] */ IWebView *webView, /* [in] */ IWebFrame *frame) { return updateAddressBar(webView); } virtual HRESULT STDMETHODCALLTYPE didReceiveTitle( /* [in] */ IWebView *webView, /* [in] */ BSTR title, /* [in] */ IWebFrame *frame) { return S_OK; } virtual HRESULT STDMETHODCALLTYPE didChangeIcons( /* [in] */ IWebView *webView, /* [in] */ IWebFrame *frame) { return S_OK; } virtual HRESULT STDMETHODCALLTYPE didReceiveIcon( /* [in] */ IWebView *webView, /* [in] */ OLE_HANDLE hBitmap, /* [in] */ IWebFrame *frame) { return S_OK; } virtual HRESULT STDMETHODCALLTYPE didFinishLoadForFrame( /* [in] */ IWebView* webView, /* [in] */ IWebFrame* /*frame*/) { return S_OK; } virtual HRESULT STDMETHODCALLTYPE didFailLoadWithError( /* [in] */ IWebView *webView, /* [in] */ IWebError *error, /* [in] */ IWebFrame *forFrame) { return S_OK; } virtual HRESULT STDMETHODCALLTYPE didChangeLocationWithinPageForFrame( /* [in] */ IWebView *webView, /* [in] */ IWebFrame *frame) { return S_OK; } virtual HRESULT STDMETHODCALLTYPE willPerformClientRedirectToURL( /* [in] */ IWebView *webView, /* [in] */ BSTR url, /* [in] */ double delaySeconds, /* [in] */ DATE fireDate, /* [in] */ IWebFrame *frame) { return S_OK; } virtual HRESULT STDMETHODCALLTYPE didCancelClientRedirectForFrame( /* [in] */ IWebView *webView, /* [in] */ IWebFrame *frame) { return S_OK; } virtual HRESULT STDMETHODCALLTYPE willCloseFrame( /* [in] */ IWebView *webView, /* [in] */ IWebFrame *frame) { return S_OK; } virtual /* [local] */ HRESULT STDMETHODCALLTYPE windowScriptObjectAvailable( /* [in] */ IWebView *webView, /* [in] */ JSContextRef context, /* [in] */ JSObjectRef windowScriptObject) { return S_OK; } virtual /* [local] */ HRESULT STDMETHODCALLTYPE didClearWindowObject( /* [in] */ IWebView *webView, /* [in] */ JSContextRef context, /* [in] */ JSObjectRef windowScriptObject, /* [in] */ IWebFrame *frame) { return S_OK; } // WinLauncherWebHost protected: HRESULT updateAddressBar(IWebView* webView); protected: ULONG m_refCount; };