diff options
Diffstat (limited to 'WebKit/win/WebView.h')
-rw-r--r-- | WebKit/win/WebView.h | 112 |
1 files changed, 102 insertions, 10 deletions
diff --git a/WebKit/win/WebView.h b/WebKit/win/WebView.h index 112e1df..c64bc59 100644 --- a/WebKit/win/WebView.h +++ b/WebKit/win/WebView.h @@ -27,10 +27,7 @@ #define WebView_H #include "COMPtr.h" -#include "IWebNotificationObserver.h" -#include "IWebUIDelegatePrivate.h" -#include "IWebView.h" -#include "IWebViewPrivate.h" +#include "WebKit.h" #include "WebFrame.h" #include "WebPreferences.h" @@ -44,6 +41,7 @@ class WebBackForwardList; class WebInspector; class WebInspectorClient; +WebView* kit(WebCore::Page*); WebCore::Page* core(IWebView*); interface IDropTargetHelper; @@ -439,6 +437,33 @@ public: virtual HRESULT STDMETHODCALLTYPE setGrammarCheckingEnabled( BOOL enabled); + virtual HRESULT STDMETHODCALLTYPE setPageSizeMultiplier( + /* [in] */ float multiplier); + + virtual HRESULT STDMETHODCALLTYPE pageSizeMultiplier( + /* [retval][out] */ float *multiplier); + + virtual HRESULT STDMETHODCALLTYPE canZoomPageIn( + /* [in] */ IUnknown *sender, + /* [retval][out] */ BOOL *result); + + virtual HRESULT STDMETHODCALLTYPE zoomPageIn( + /* [in] */ IUnknown *sender); + + virtual HRESULT STDMETHODCALLTYPE canZoomPageOut( + /* [in] */ IUnknown *sender, + /* [retval][out] */ BOOL *result); + + virtual HRESULT STDMETHODCALLTYPE zoomPageOut( + /* [in] */ IUnknown *sender); + + virtual HRESULT STDMETHODCALLTYPE canResetPageZoom( + /* [in] */ IUnknown *sender, + /* [retval][out] */ BOOL *result); + + virtual HRESULT STDMETHODCALLTYPE resetPageZoom( + /* [in] */ IUnknown *sender); + // IWebViewUndoableEditing virtual HRESULT STDMETHODCALLTYPE replaceSelectionWithNode( @@ -573,6 +598,8 @@ public: virtual HRESULT STDMETHODCALLTYPE executeCoreCommandByName(BSTR name, BSTR value); + virtual HRESULT STDMETHODCALLTYPE clearMainFrameName(); + virtual HRESULT STDMETHODCALLTYPE markAllMatchesForText( BSTR search, BOOL caseSensitive, BOOL highlight, UINT limit, UINT* matches); @@ -602,6 +629,10 @@ public: IWebURLRequest *request, BOOL *result); + virtual HRESULT STDMETHODCALLTYPE standardUserAgentWithApplicationName( + /* [in] */ BSTR applicationName, + /* [retval][out] */ BSTR *groupName); + virtual HRESULT STDMETHODCALLTYPE clearFocusNode(); virtual HRESULT STDMETHODCALLTYPE setInitialFocus( @@ -616,8 +647,8 @@ public: virtual HRESULT STDMETHODCALLTYPE setAllowSiteSpecificHacks( /* [in] */ BOOL allows); - virtual HRESULT STDMETHODCALLTYPE addAdditionalPluginPath( - /* [in] */ BSTR path); + virtual HRESULT STDMETHODCALLTYPE addAdditionalPluginDirectory( + /* [in] */ BSTR directory); virtual HRESULT STDMETHODCALLTYPE loadBackForwardListFromOtherView( /* [in] */ IWebView *otherView); @@ -634,6 +665,43 @@ public: virtual HRESULT STDMETHODCALLTYPE windowAncestryDidChange(); + virtual HRESULT STDMETHODCALLTYPE paintDocumentRectToContext( + /* [in] */ RECT rect, + /* [in] */ OLE_HANDLE dc); + + virtual HRESULT STDMETHODCALLTYPE setCustomHTMLTokenizerTimeDelay( + /* [in] */ double timeDelay); + + virtual HRESULT STDMETHODCALLTYPE setCustomHTMLTokenizerChunkSize( + /* [in] */ int chunkSize); + + virtual HRESULT STDMETHODCALLTYPE backingStore( + /* [out, retval] */ OLE_HANDLE* hBitmap); + + virtual HRESULT STDMETHODCALLTYPE setTransparent( + /* [in] */ BOOL transparent); + + virtual HRESULT STDMETHODCALLTYPE transparent( + /* [out, retval] */ BOOL* transparent); + + virtual HRESULT STDMETHODCALLTYPE setDefersCallbacks( + /* [in] */ BOOL defersCallbacks); + + virtual HRESULT STDMETHODCALLTYPE defersCallbacks( + /* [out, retval] */ BOOL* defersCallbacks); + + virtual HRESULT STDMETHODCALLTYPE setAlwaysUsesComplexTextCodePath( + /* [in] */ BOOL complex); + + virtual HRESULT STDMETHODCALLTYPE alwaysUsesComplexTextCodePath( + /* [out, retval] */ BOOL* complex); + + virtual HRESULT STDMETHODCALLTYPE setCookieEnabled( + /* [in] */ BOOL enable); + + virtual HRESULT STDMETHODCALLTYPE cookieEnabled( + /* [out, retval] */ BOOL* enabled); + // WebView WebCore::Page* page(); bool handleMouseEvent(UINT, WPARAM, LPARAM); @@ -657,14 +725,17 @@ public: void addToDirtyRegion(const WebCore::IntRect&); void addToDirtyRegion(HRGN); void scrollBackingStore(WebCore::FrameView*, int dx, int dy, const WebCore::IntRect& scrollViewRect, const WebCore::IntRect& clipRect); - void updateBackingStore(WebCore::FrameView*, HDC, bool backingStoreCompletelyDirty); + void updateBackingStore(WebCore::FrameView*, HDC = 0, bool backingStoreCompletelyDirty = false); void deleteBackingStore(); + void repaint(const WebCore::IntRect&, bool contentChanged, bool immediate = false, bool repaintContentOnly = false); void frameRect(RECT* rect); void closeWindow(); void closeWindowSoon(); void close(); bool didClose() const { return m_didClose; } + bool transparent() const { return m_transparent; } + bool onIMEStartComposition(); bool onIMEComposition(LPARAM); bool onIMEEndComposition(); @@ -681,11 +752,13 @@ public: HRESULT revokeDragDrop(); // Convenient to be able to violate the rules of COM here for easy movement to the frame. - WebFrame* topLevelFrame() { return m_mainFrame; } + WebFrame* topLevelFrame() const { return m_mainFrame; } const WebCore::String& userAgentForKURL(const WebCore::KURL& url); static bool canHandleRequest(const WebCore::ResourceRequest&); + static WebCore::String standardUserAgentWithApplicationName(const WebCore::String&); + void setIsBeingDestroyed() { m_isBeingDestroyed = true; } bool isBeingDestroyed() const { return m_isBeingDestroyed; } @@ -708,11 +781,27 @@ public: static WebCacheModel maxCacheModelInAnyInstance(); void updateActiveStateSoon() const; + void deleteBackingStoreSoon(); + void cancelDeleteBackingStoreSoon(); HWND topLevelParent() const { return m_topLevelParent; } void updateActiveState(); + bool onGetObject(WPARAM, LPARAM, LRESULT&) const; + static STDMETHODIMP AccessibleObjectFromWindow(HWND, DWORD objectID, REFIID, void** ppObject); + +private: + void setZoomMultiplier(float multiplier, bool isTextOnly); + float zoomMultiplier(bool isTextOnly); + bool canZoomIn(bool isTextOnly); + HRESULT zoomIn(bool isTextOnly); + bool canZoomOut(bool isTextOnly); + HRESULT zoomOut(bool isTextOnly); + bool canResetZoom(bool isTextOnly); + HRESULT resetZoom(bool isTextOnly); + bool active(); + protected: HIMC getIMMContext(); void releaseIMMContext(HIMC); @@ -734,7 +823,6 @@ protected: virtual void windowReceivedMessage(HWND, UINT message, WPARAM, LPARAM); ULONG m_refCount; - WebCore::String m_groupName; HWND m_hostWindow; HWND m_viewWindow; WebFrame* m_mainFrame; @@ -760,7 +848,8 @@ protected: bool m_useBackForwardList; WebCore::String m_userAgentCustom; WebCore::String m_userAgentStandard; - float m_textSizeMultiplier; + float m_zoomMultiplier; + bool m_zoomMultiplierIsTextOnly; WebCore::String m_overrideEncoding; WebCore::String m_applicationName; bool m_mouseActivated; @@ -778,6 +867,9 @@ protected: unsigned m_inIMEComposition; HWND m_toolTipHwnd; WebCore::String m_toolTip; + bool m_deleteBackingStoreTimerActive; + + bool m_transparent; static bool s_allowSiteSpecificHacks; |