diff --git a/include/wx/osx/webview_webkit.h b/include/wx/osx/webview_webkit.h index cf873771a7..047f6c7eb8 100644 --- a/include/wx/osx/webview_webkit.h +++ b/include/wx/osx/webview_webkit.h @@ -92,10 +92,10 @@ public: virtual void LoadHistoryItem(wxSharedPtr WXUNUSED(item)) {} //Undo / redo functionality - virtual bool CanUndo() { return false; } - virtual bool CanRedo() { return false; } - virtual void Undo() {} - virtual void Redo() {} + virtual bool CanUndo(); + virtual bool CanRedo(); + virtual void Undo(); + virtual void Redo(); //Clipboard functions virtual bool CanCut() { return false; } diff --git a/src/osx/webview_webkit.mm b/src/osx/webview_webkit.mm index 93e345dcc2..763c9097ca 100644 --- a/src/osx/webview_webkit.mm +++ b/src/osx/webview_webkit.mm @@ -961,6 +961,26 @@ void wxWebViewWebKit::EnableHistory(bool enable) [m_webView setMaintainsBackForwardList:enable]; } +bool wxWebViewWebKit::CanUndo() +{ + return [[m_webView undoManager] canUndo]; +} + +bool wxWebViewWebKit::CanRedo() +{ + return [[m_webView undoManager] canRedo]; +} + +void wxWebViewWebKit::Undo() +{ + [[m_webView undoManager] undo]; +} + +void wxWebViewWebKit::Redo() +{ + [[m_webView undoManager] redo]; +} + //------------------------------------------------------------ // Listener interfaces //------------------------------------------------------------