📄 webview.h
字号:
BSTR search, BOOL caseSensitive, BOOL highlight, UINT limit, UINT* matches); virtual HRESULT STDMETHODCALLTYPE unmarkAllTextMatches(); virtual HRESULT STDMETHODCALLTYPE rectsForTextMatches( IEnumTextMatches** pmatches); virtual HRESULT STDMETHODCALLTYPE generateSelectionImage( BOOL forceWhiteText, OLE_HANDLE* hBitmap); virtual HRESULT STDMETHODCALLTYPE selectionRect( RECT* rc); virtual HRESULT STDMETHODCALLTYPE DragEnter( IDataObject* pDataObject, DWORD grfKeyState, POINTL pt, DWORD* pdwEffect); virtual HRESULT STDMETHODCALLTYPE DragOver( DWORD grfKeyState, POINTL pt, DWORD* pdwEffect); virtual HRESULT STDMETHODCALLTYPE DragLeave(); virtual HRESULT STDMETHODCALLTYPE Drop( IDataObject* pDataObject, DWORD grfKeyState, POINTL pt, DWORD* pdwEffect); virtual HRESULT STDMETHODCALLTYPE canHandleRequest( IWebURLRequest *request, BOOL *result); virtual HRESULT STDMETHODCALLTYPE standardUserAgentWithApplicationName( /* [in] */ BSTR applicationName, /* [retval][out] */ BSTR *groupName); virtual HRESULT STDMETHODCALLTYPE clearFocusNode(); virtual HRESULT STDMETHODCALLTYPE setInitialFocus( /* [in] */ BOOL forward); virtual HRESULT STDMETHODCALLTYPE setTabKeyCyclesThroughElements( /* [in] */ BOOL cycles); virtual HRESULT STDMETHODCALLTYPE tabKeyCyclesThroughElements( /* [retval][out] */ BOOL *result); virtual HRESULT STDMETHODCALLTYPE setAllowSiteSpecificHacks( /* [in] */ BOOL allows); virtual HRESULT STDMETHODCALLTYPE addAdditionalPluginDirectory( /* [in] */ BSTR directory); virtual HRESULT STDMETHODCALLTYPE loadBackForwardListFromOtherView( /* [in] */ IWebView *otherView); virtual HRESULT STDMETHODCALLTYPE inspector( /* [retval][out] */ IWebInspector**); virtual HRESULT STDMETHODCALLTYPE clearUndoRedoOperations( void); virtual HRESULT STDMETHODCALLTYPE shouldClose( /* [retval][out] */ BOOL* result); virtual HRESULT STDMETHODCALLTYPE setProhibitsMainFrameScrolling(BOOL); virtual HRESULT STDMETHODCALLTYPE setShouldApplyMacFontAscentHack(BOOL); 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 globalHistoryItem( /* [out, retval] */ IWebHistoryItem** item); 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); virtual HRESULT STDMETHODCALLTYPE setMediaVolume( /* [in] */ float volume); virtual HRESULT STDMETHODCALLTYPE mediaVolume( /* [out, retval] */ float* volume); virtual HRESULT STDMETHODCALLTYPE registerEmbeddedViewMIMEType( /* [in] */ BSTR mimeType); virtual HRESULT STDMETHODCALLTYPE setMemoryCacheDelegateCallsEnabled( /* [in] */ BOOL enabled); virtual HRESULT STDMETHODCALLTYPE setJavaScriptURLsAreAllowed( /* [in] */ BOOL areAllowed); // WebView bool shouldUseEmbeddedView(const WebCore::String& mimeType) const; WebCore::Page* page(); bool handleMouseEvent(UINT, WPARAM, LPARAM); void setMouseActivated(bool flag) { m_mouseActivated = flag; } bool handleContextMenuEvent(WPARAM, LPARAM); bool onMeasureItem(WPARAM, LPARAM); bool onDrawItem(WPARAM, LPARAM); bool onInitMenuPopup(WPARAM, LPARAM); bool onUninitMenuPopup(WPARAM, LPARAM); void performContextMenuAction(WPARAM, LPARAM, bool byPosition); bool mouseWheel(WPARAM, LPARAM, bool isHorizontal); bool execCommand(WPARAM wParam, LPARAM lParam); bool keyDown(WPARAM, LPARAM, bool systemKeyDown = false); bool keyUp(WPARAM, LPARAM, bool systemKeyDown = false); bool keyPress(WPARAM, LPARAM, bool systemKeyDown = false); bool inResizer(LPARAM lParam); void paint(HDC, LPARAM); void paintIntoWindow(HDC bitmapDC, HDC windowDC, const WebCore::IntRect& dirtyRect); bool ensureBackingStore(); 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 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(); bool onIMEChar(WPARAM, LPARAM); bool onIMENotify(WPARAM, LPARAM, LRESULT*); bool onIMERequest(WPARAM, LPARAM, LRESULT*); bool onIMESelect(WPARAM, LPARAM); bool onIMESetContext(WPARAM, LPARAM); void selectionChanged(); void resetIME(WebCore::Frame*); void setInputMethodState(bool); HRESULT registerDragDrop(); HRESULT revokeDragDrop(); // Convenient to be able to violate the rules of COM here for easy movement to the frame. 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; } const char* interpretKeyEvent(const WebCore::KeyboardEvent*); bool handleEditingKeyboardEvent(WebCore::KeyboardEvent*); bool isPainting() const { return m_paintCount > 0; } void setToolTip(const WebCore::String&); void registerForIconNotification(bool listen); void dispatchDidReceiveIconFromWebFrame(WebFrame*); HRESULT notifyDidAddIcon(IWebNotification*); HRESULT notifyPreferencesChanged(IWebNotification*); static void setCacheModel(WebCacheModel); static WebCacheModel cacheModel(); static bool didSetCacheModel(); 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(); enum WindowsToPaint { PaintWebViewOnly, PaintWebViewAndChildren }; void paintIntoBackingStore(WebCore::FrameView*, HDC bitmapDC, const WebCore::IntRect& dirtyRect, WindowsToPaint); void updateBackingStore(WebCore::FrameView*, HDC = 0, bool backingStoreCompletelyDirty = false, WindowsToPaint = PaintWebViewOnly);protected: HIMC getIMMContext(); void releaseIMMContext(HIMC); static bool allowSiteSpecificHacks() { return s_allowSiteSpecificHacks; } void preflightSpellChecker(); bool continuousCheckingAllowed(); void initializeToolTipWindow(); void closeWindowTimerFired(WebCore::Timer<WebView>*); void prepareCandidateWindow(WebCore::Frame*, HIMC); void updateSelectionForIME(); bool onIMERequestCharPosition(WebCore::Frame*, IMECHARPOSITION*, LRESULT*); bool onIMERequestReconvertString(WebCore::Frame*, RECONVERTSTRING*, LRESULT*); bool developerExtrasEnabled() const; // AllWebViewSet functions void addToAllWebViewsSet(); void removeFromAllWebViewsSet(); virtual void windowReceivedMessage(HWND, UINT message, WPARAM, LPARAM); ULONG m_refCount; HWND m_hostWindow; HWND m_viewWindow; WebFrame* m_mainFrame; WebCore::Page* m_page; OwnPtr<HBITMAP> m_backingStoreBitmap; SIZE m_backingStoreSize; OwnPtr<HRGN> m_backingStoreDirtyRegion; COMPtr<IWebEditingDelegate> m_editingDelegate; COMPtr<IWebFrameLoadDelegate> m_frameLoadDelegate; COMPtr<IWebFrameLoadDelegatePrivate> m_frameLoadDelegatePrivate; COMPtr<IWebUIDelegate> m_uiDelegate; COMPtr<IWebUIDelegatePrivate> m_uiDelegatePrivate; COMPtr<IWebFormDelegate> m_formDelegate; COMPtr<IWebPolicyDelegate> m_policyDelegate; COMPtr<IWebResourceLoadDelegate> m_resourceLoadDelegate; COMPtr<IWebDownloadDelegate> m_downloadDelegate; COMPtr<WebPreferences> m_preferences; COMPtr<WebInspector> m_webInspector; bool m_userAgentOverridden; bool m_useBackForwardList; WebCore::String m_userAgentCustom; WebCore::String m_userAgentStandard; float m_zoomMultiplier; WebCore::String m_overrideEncoding; WebCore::String m_applicationName; bool m_mouseActivated; // WebCore dragging logic needs to be able to inspect the drag data // this is updated in DragEnter/Leave/Drop COMPtr<IDataObject> m_dragData; COMPtr<IDropTargetHelper> m_dropTargetHelper; UChar m_currentCharacterCode; bool m_isBeingDestroyed; unsigned m_paintCount; bool m_hasSpellCheckerDocumentTag; bool m_smartInsertDeleteEnabled; bool m_selectTrailingWhitespaceEnabled; bool m_didClose; bool m_hasCustomDropTarget; unsigned m_inIMEComposition; HWND m_toolTipHwnd; WebCore::String m_toolTip; bool m_deleteBackingStoreTimerActive; bool m_transparent; static bool s_allowSiteSpecificHacks; WebCore::Timer<WebView> m_closeWindowTimer; OwnPtr<TRACKMOUSEEVENT> m_mouseOutTracker; HWND m_topLevelParent; OwnPtr<HashSet<WebCore::String> > m_embeddedViewMIMETypes;};#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -