From 648161bb0edfc3d43db63caed5cc5213bc6cb78f Mon Sep 17 00:00:00 2001 From: The Android Open Source Project Date: Tue, 3 Mar 2009 18:28:41 -0800 Subject: auto import from //depot/cupcake/@135843 --- WebKit/gtk/ChangeLog | 3924 -------------------- WebKit/gtk/WebCoreSupport/ChromeClientGtk.cpp | 404 -- WebKit/gtk/WebCoreSupport/ChromeClientGtk.h | 109 - WebKit/gtk/WebCoreSupport/ContextMenuClientGtk.cpp | 195 - WebKit/gtk/WebCoreSupport/ContextMenuClientGtk.h | 61 - WebKit/gtk/WebCoreSupport/DragClientGtk.cpp | 64 - WebKit/gtk/WebCoreSupport/DragClientGtk.h | 51 - WebKit/gtk/WebCoreSupport/EditorClientGtk.cpp | 549 --- WebKit/gtk/WebCoreSupport/EditorClientGtk.h | 118 - WebKit/gtk/WebCoreSupport/FrameLoaderClientGtk.cpp | 794 ---- WebKit/gtk/WebCoreSupport/FrameLoaderClientGtk.h | 181 - WebKit/gtk/WebCoreSupport/InspectorClientGtk.cpp | 186 - WebKit/gtk/WebCoreSupport/InspectorClientGtk.h | 78 - WebKit/gtk/WebCoreSupport/PasteboardHelperGtk.cpp | 50 - WebKit/gtk/WebCoreSupport/PasteboardHelperGtk.h | 49 - WebKit/gtk/webkit.pc.in | 11 - WebKit/gtk/webkit/webkit.h | 34 - WebKit/gtk/webkit/webkitdefines.h | 66 - WebKit/gtk/webkit/webkitnetworkrequest.cpp | 88 - WebKit/gtk/webkit/webkitnetworkrequest.h | 63 - WebKit/gtk/webkit/webkitprivate.cpp | 113 - WebKit/gtk/webkit/webkitprivate.h | 142 - WebKit/gtk/webkit/webkitversion.cpp | 67 - WebKit/gtk/webkit/webkitversion.h.in | 52 - WebKit/gtk/webkit/webkitwebbackforwardlist.cpp | 379 -- WebKit/gtk/webkit/webkitwebbackforwardlist.h | 107 - WebKit/gtk/webkit/webkitwebframe.cpp | 592 --- WebKit/gtk/webkit/webkitwebframe.h | 100 - WebKit/gtk/webkit/webkitwebhistoryitem.cpp | 458 --- WebKit/gtk/webkit/webkitwebhistoryitem.h | 80 - WebKit/gtk/webkit/webkitwebinspector.cpp | 368 -- WebKit/gtk/webkit/webkitwebinspector.h | 65 - WebKit/gtk/webkit/webkitwebsettings.cpp | 519 --- WebKit/gtk/webkit/webkitwebsettings.h | 65 - WebKit/gtk/webkit/webkitwebview.cpp | 2332 ------------ WebKit/gtk/webkit/webkitwebview.h | 282 -- 36 files changed, 12796 deletions(-) delete mode 100644 WebKit/gtk/ChangeLog delete mode 100644 WebKit/gtk/WebCoreSupport/ChromeClientGtk.cpp delete mode 100644 WebKit/gtk/WebCoreSupport/ChromeClientGtk.h delete mode 100644 WebKit/gtk/WebCoreSupport/ContextMenuClientGtk.cpp delete mode 100644 WebKit/gtk/WebCoreSupport/ContextMenuClientGtk.h delete mode 100644 WebKit/gtk/WebCoreSupport/DragClientGtk.cpp delete mode 100644 WebKit/gtk/WebCoreSupport/DragClientGtk.h delete mode 100644 WebKit/gtk/WebCoreSupport/EditorClientGtk.cpp delete mode 100644 WebKit/gtk/WebCoreSupport/EditorClientGtk.h delete mode 100644 WebKit/gtk/WebCoreSupport/FrameLoaderClientGtk.cpp delete mode 100644 WebKit/gtk/WebCoreSupport/FrameLoaderClientGtk.h delete mode 100644 WebKit/gtk/WebCoreSupport/InspectorClientGtk.cpp delete mode 100644 WebKit/gtk/WebCoreSupport/InspectorClientGtk.h delete mode 100644 WebKit/gtk/WebCoreSupport/PasteboardHelperGtk.cpp delete mode 100644 WebKit/gtk/WebCoreSupport/PasteboardHelperGtk.h delete mode 100644 WebKit/gtk/webkit.pc.in delete mode 100644 WebKit/gtk/webkit/webkit.h delete mode 100644 WebKit/gtk/webkit/webkitdefines.h delete mode 100644 WebKit/gtk/webkit/webkitnetworkrequest.cpp delete mode 100644 WebKit/gtk/webkit/webkitnetworkrequest.h delete mode 100644 WebKit/gtk/webkit/webkitprivate.cpp delete mode 100644 WebKit/gtk/webkit/webkitprivate.h delete mode 100644 WebKit/gtk/webkit/webkitversion.cpp delete mode 100644 WebKit/gtk/webkit/webkitversion.h.in delete mode 100644 WebKit/gtk/webkit/webkitwebbackforwardlist.cpp delete mode 100644 WebKit/gtk/webkit/webkitwebbackforwardlist.h delete mode 100644 WebKit/gtk/webkit/webkitwebframe.cpp delete mode 100644 WebKit/gtk/webkit/webkitwebframe.h delete mode 100644 WebKit/gtk/webkit/webkitwebhistoryitem.cpp delete mode 100644 WebKit/gtk/webkit/webkitwebhistoryitem.h delete mode 100644 WebKit/gtk/webkit/webkitwebinspector.cpp delete mode 100644 WebKit/gtk/webkit/webkitwebinspector.h delete mode 100644 WebKit/gtk/webkit/webkitwebsettings.cpp delete mode 100644 WebKit/gtk/webkit/webkitwebsettings.h delete mode 100644 WebKit/gtk/webkit/webkitwebview.cpp delete mode 100644 WebKit/gtk/webkit/webkitwebview.h (limited to 'WebKit/gtk') diff --git a/WebKit/gtk/ChangeLog b/WebKit/gtk/ChangeLog deleted file mode 100644 index 166be63..0000000 --- a/WebKit/gtk/ChangeLog +++ /dev/null @@ -1,3924 +0,0 @@ -2008-11-03 Cameron Zwarich - - Rubber-stamped by Maciej Stachowiak. - - Move more files into the runtime subdirectory of JavaScriptCore. - - * webkit/webkitprivate.cpp: - -2008-11-03 Alp Toker - - Reviewed by Holger Freyther. - - Deprecate flawed webkit_web_frame_new() function. This would never - have worked properly when used outside WebCore since Frame::create() - can only be called without an owner element once in the lifetime of a - Page and would result in assertions, leaks and an unusable WebView - instance. - - Frame creation may be exposed in API some time later via the DOM - binding but probably not in the WebKit GTK+ core API. - - * webkit/webkitwebframe.cpp: - * webkit/webkitwebframe.h: - -2008-11-03 Alp Toker - - Reviewed by Holger Freyther. - - Redundant scrollbars appear in frames where they shouldn't be visible - eg. embedded Google adverts. - - Call setCanHaveScrollbars() when necessary. The Mac and Win ports - already have this but it was missing in FrameLoaderClientGtk. - - * WebCoreSupport/FrameLoaderClientGtk.cpp: - (WebKit::FrameLoaderClient::transitionToCommittedForNewPage): - -2008-11-03 Alp Toker - - Rubber-stamped by Holger Freyther. - - Sync WebKit GTK+ default UA version string to 528.5+. (We're still - doing this manually!) - - * WebCoreSupport/FrameLoaderClientGtk.cpp: - (WebKit::composeUserAgent): - -2008-10-31 Christian Dywan - - Reviewed by Mark Rowe. - - http://bugs.webkit.org/show_bug.cgi?id=22018 - enable-developer-extras doesn't toggle WebInspector - - * webkit/webkitwebview.cpp: - Add missing 'if' in notification for 'enable-developer-extras'. - -2008-10-30 Alp Toker - - Reviewed by Dave Hyatt. - - Fix GIF animations. WebCore will not update animated GIFs if - the WebView is marked offscreen so we need to call - frameView->setParentVisible() when necessary like the Mac and Win - ports do. Regression was introduced around r37155 during the - HostWindow refactor. - - * WebCoreSupport/FrameLoaderClientGtk.cpp: - (WebKit::FrameLoaderClient::transitionToCommittedForNewPage): - -2008-10-30 Alp Toker - - Rubber-stamped by Holger Freyther. - - Fix typo in recently added web inspector signal. dettach -> detach. - - * WebCoreSupport/InspectorClientGtk.cpp: - (WebKit::InspectorClient::detachWindow): - * webkit/webkitwebinspector.cpp: - (_WebKitWebInspectorPrivate::webkit_web_inspector_class_init): - -2008-10-30 Alp Toker - - Fix version comments for the web inspector added in r37982. Available - since 1.0.3, not 1.0.2. - - * webkit/webkitwebinspector.cpp: - (_WebKitWebInspectorPrivate::webkit_web_inspector_class_init): - * webkit/webkitwebsettings.cpp: - (_WebKitWebSettingsPrivate::webkit_web_settings_class_init): - * webkit/webkitwebview.cpp: - -2008-10-29 Gustavo Noronha Silva - - Reviewed and slightly changed by Holger Freyther. - - Implemented a new WebKitWebInspector class to provide a GObject - API for the Web Inspector. Also implemented InspectorClient. - - * WebCoreSupport/InspectorClientGtk.cpp: - (WebKit::notifyWebViewDestroyed): - (WebKit::InspectorClient::InspectorClient): - (WebKit::InspectorClient::inspectorDestroyed): - (WebKit::InspectorClient::webViewDestroyed): - (WebKit::InspectorClient::createPage): - (WebKit::InspectorClient::showWindow): - (WebKit::InspectorClient::closeWindow): - (WebKit::InspectorClient::attachWindow): - (WebKit::InspectorClient::detachWindow): - (WebKit::InspectorClient::inspectedURLChanged): - * WebCoreSupport/InspectorClientGtk.h: - * webkit/webkit.h: - * webkit/webkit-marshal.list: - * webkit/webkitdefines.h: - * webkit/webkitprivate.h: - * webkit/webkitwebinspector.cpp: Added. - (_WebKitWebInspectorPrivate::webkit_inspect_web_view_request_handled): - (_WebKitWebInspectorPrivate::webkit_web_inspector_class_init): - (_WebKitWebInspectorPrivate::webkit_web_inspector_init): - (_WebKitWebInspectorPrivate::webkit_web_inspector_finalize): - (_WebKitWebInspectorPrivate::webkit_web_inspector_set_property): - (_WebKitWebInspectorPrivate::webkit_web_inspector_get_property): - (_WebKitWebInspectorPrivate::webkit_web_inspector_set_web_view): - * webkit/webkitwebinspector.h: Added. - * webkit/webkitwebsettings.cpp: - (_WebKitWebSettingsPrivate::): - (_WebKitWebSettingsPrivate::webkit_web_settings_class_init): - (_WebKitWebSettingsPrivate::webkit_web_settings_set_property): - (_WebKitWebSettingsPrivate::webkit_web_settings_get_property): - (_WebKitWebSettingsPrivate::webkit_web_settings_copy): - * webkit/webkitwebview.cpp: - * webkit/webkitwebview.h: - -2008-10-27 Michael Tross - - Reviewed by Alp Toker. Landed by Jan Alonzo. - - https://bugs.webkit.org/show_bug.cgi?id=21827 - [GTK] Fix memory leak in webkit_web_view_load_string - - * webkit/webkitwebview.cpp: - -2008-10-24 Sam Weinig - - Fix the Gtk build. - - * WebCoreSupport/ChromeClientGtk.cpp: - -2008-10-24 Sam Weinig - - Reviewed by Dan Bernstein. - - Fix https://bugs.webkit.org/show_bug.cgi?id=21759 - Layering violation: FileChooser should not depend on Document/Frame/Page - - * WebCoreSupport/ChromeClientGtk.cpp: - (WebKit::ChromeClient::runOpenPanel): - * WebCoreSupport/ChromeClientGtk.h: - -2008-10-24 Timothy Hatcher - - Stub out new InspectorClient methods. - - https://bugs.webkit.org/show_bug.cgi?id=21856 - - Reviewed by Darin Adler. - - * WebCoreSupport/InspectorClientGtk.cpp: - (WebKit::InspectorClient::populateSetting): Not implemented. - (WebKit::InspectorClient::storeSetting): Ditto. - (WebKit::InspectorClient::removeSetting): Ditto. - * WebCoreSupport/InspectorClientGtk.h: - -2008-10-22 Alp Toker - - Build fix for older GTK+ versions where GTK_TYPE_TARGET_LIST isn't - defined. - - * webkit/webkitwebview.cpp: - -2008-10-22 Alp Toker - - Reviewed by Adam Roben. - - Avoid critical warnings on older GTK+ versions (2.8) by not checking - for GTK+ setting properties when we know they don't exist. - - * WebCoreSupport/ContextMenuClientGtk.cpp: - (WebKit::inputMethodsMenuItem): - (WebKit::unicodeMenuItem): - -2008-10-20 Sam Weinig - - Reviewed by Anders Carlsson. - - Remove FrameLoaderClient::detachedFromParent4. It is no longer used by any port. - - * WebCoreSupport/FrameLoaderClientGtk.cpp: - * WebCoreSupport/FrameLoaderClientGtk.h: - -2008-10-20 Alp Toker - - Reviewed by Dave Hyatt. - - https://bugs.webkit.org/show_bug.cgi?id=21303 - [GTK] Scrolling glitches - - Implement a buffering scheme to avoid full repaints when scrolling - views or subframes significantly improving scrolling performance. - - Improve rendering performance by coalescing large numbers of small - repaints. - - Also fixes long-running issues with scrollbar positioning and frame - invalidation. - - Rendering in the GTK+ port should be more similar to other ports after - these changes. - - * WebCoreSupport/ChromeClientGtk.cpp: - (WebKit::ChromeClient::repaint): - (WebKit::ChromeClient::scroll): - * WebCoreSupport/FrameLoaderClientGtk.cpp: - (WebKit::FrameLoaderClient::forceLayout): - * webkit/webkitwebview.cpp: - -2008-10-17 Luke Kenneth Casson Leighton - - Reviewed by Mark Rowe. Landed by Jan Alonzo. - - https://bugs.webkit.org/show_bug.cgi?id=20403 - [Gtk] Segfault after a table with an iframe is attempted to be added twice to DOM model with javascript - - * WebCoreSupport/FrameLoaderClientGtk.cpp: - (WebKit::FrameLoaderClient::frameLoaderDestroyed): - (WebKit::FrameLoaderClient::detachedFromParent4): - -2008-10-06 David Hyatt - - Enable viewless Mac WebKit to paint some basic pages. - - Reviewed by Sam Weinig - - * WebCoreSupport/FrameLoaderClientGtk.cpp: - (WebKit::FrameLoaderClient::transitionToCommittedForNewPage): - * WebCoreSupport/FrameLoaderClientGtk.h: - -2008-10-03 David Hyatt - - Fix Gtk bustage from use of containingWindow() over on the WebKit side. Replace with HostWindow use. - - * webkit/webkitwebview.cpp: - -2008-10-03 David Hyatt - - https://bugs.webkit.org/show_bug.cgi?id=21340 - - Remove "containingWindow()/setContainingWindow()" from Widget. HostWindow covers this now. - - Reviewed by Dan Bernstein & Darin Adler - - * WebCoreSupport/FrameLoaderClientGtk.cpp: - (WebKit::FrameLoaderClient::transitionToCommittedForNewPage): - -2008-10-03 Alp Toker - - Remove some left-over GTK+ includes. No change in functionality. - - * webkit/webkitwebhistoryitem.h: - -2008-10-03 Alp Toker - - Build fix following r37234. Remove addToDirtyRegion from the header - too. - - * WebCoreSupport/ChromeClientGtk.h: - -2008-10-03 David Hyatt - - Remove addToDirtyRegion. - - Reviewed by Oliver Hunt - - * WebCoreSupport/ChromeClientGtk.cpp: - -2008-10-02 David Hyatt - - https://bugs.webkit.org/show_bug.cgi?id=21314 - - Make scrollBackingStore cross-platform. - - Reviewed by Sam Weinig - - * WebCoreSupport/ChromeClientGtk.cpp: - (WebKit::ChromeClient::repaint): - (WebKit::ChromeClient::scroll): - * WebCoreSupport/ChromeClientGtk.h: - -2008-10-01 David Hyatt - - https://bugs.webkit.org/show_bug.cgi?id=21282 - - Make contentsToScreen/screenToContents cross-platform. Only implemented by Mac/Win right now. - - Reviewed by Adam Roben - - * WebCoreSupport/ChromeClientGtk.cpp: - (WebKit::ChromeClient::windowToScreen): - (WebKit::ChromeClient::screenToWindow): - * WebCoreSupport/ChromeClientGtk.h: - -2008-09-30 Dave Hyatt - - http://bugs.webkit.org/show_bug.cgi?id=21250 - - Rename updateContents to repaintContentRectangle and make it cross-platform by always sending - repaints up through the ChromeClient. - - Reviewed by Darin Adler - - * WebCoreSupport/ChromeClientGtk.cpp: - (WebKit::ChromeClient::repaint): - * WebCoreSupport/ChromeClientGtk.h: - -2008-09-16 Alp Toker - - Suggested by Dave Hyatt. - - Build fix and cleanup. Rename ScrollBar to Scrollbar. - - * webkit/webkitwebview.cpp: - -2008-09-13 Adrien Nader - - Gtk build fix, not reviewed. - - * webkit/webkitwebview.cpp: - -2008-09-10 Alp Toker - - Reviewed by Mark Rowe. - - https://bugs.webkit.org/show_bug.cgi?id=17267 - [GTK] Primary selection/clipboard support - - Implement primary selection support (copying only, no paste yet). - - * WebCoreSupport/EditorClientGtk.cpp: - (WebKit::clipboard_get_contents_cb): - (WebKit::clipboard_clear_contents_cb): - (WebKit::EditorClient::respondToChangedSelection): - -2008-09-07 Cameron Zwarich - - Reviewed by Maciej Stachowiak. - - Bug 20704: Replace the KJS namespace - - - Rename the KJS namespace to JSC. - - * webkit/webkitprivate.cpp: - (webkit_init): - -2008-09-05 Gustavo Noronha Silva - - Reviewed by Alp Toker. - - https://bugs.webkit.org/show_bug.cgi?id=18346 - [GTK] Remove build warnings - - Removed/commented code that is not (yet) used, and reordered - member variables initialization for FrameLoaderClient, so that the - compiler is happy and prints less warnings when building. - - * WebCoreSupport/ContextMenuClientGtk.cpp: - * WebCoreSupport/FrameLoaderClientGtk.cpp: - (WebKit::FrameLoaderClient::FrameLoaderClient): - -2008-09-03 Alp Toker - - Build fix following r36073. Include config.h where necessary. - - * WebCoreSupport/PasteboardHelperGtk.cpp: - * webkit/webkitversion.cpp: - -2008-09-01 Alp Toker - - Reviewed by Eric Seidel. - - https://bugs.webkit.org/show_bug.cgi?id=19939 - [GTK] webkit_web_history_item_get_title() fails with assertion - - Make sure newly constructed WebHistoryItem objects wrap a WebCore - history item when necessary. Avoid G_PARAM_CONSTRUCT since it destroys - history data -- use WEBKIT_PARAM flags instead as they do the right - thing. This restores history functionality. - - Also use CString to simplify UTF-8 string management. - - * webkit/webkitwebbackforwardlist.cpp: - (_WebKitWebBackForwardListPrivate::webkit_web_back_forward_list_get_forward_list_with_limit): - (_WebKitWebBackForwardListPrivate::webkit_web_back_forward_list_get_back_list_with_limit): - No need to initialize the vector with a size since it's cleared by the - callee. - * webkit/webkitwebhistoryitem.cpp: - (_WebKitWebHistoryItemPrivate::webkit_web_history_item_finalize): - (_WebKitWebHistoryItemPrivate::webkit_web_history_item_class_init): - (_WebKitWebHistoryItemPrivate::webkit_web_history_item_new_with_core_item): - (_WebKitWebHistoryItemPrivate::webkit_web_history_item_new): - (_WebKitWebHistoryItemPrivate::webkit_web_history_item_new_with_data): - (_WebKitWebHistoryItemPrivate::webkit_web_history_item_get_title): - (_WebKitWebHistoryItemPrivate::webkit_web_history_item_get_alternate_title): - (_WebKitWebHistoryItemPrivate::webkit_web_history_item_set_alternate_title): - (_WebKitWebHistoryItemPrivate::webkit_web_history_item_get_uri): - (_WebKitWebHistoryItemPrivate::webkit_web_history_item_get_original_uri): - -2008-08-27 Adrien Nader - - Reviewed by Eric Seidel. - - https://bugs.webkit.org/show_bug.cgi?id=20099 - [GTK] SHIFT+PAGE_UP/DOWN doesn't extend selection - - * WebCoreSupport/EditorClientGtk.cpp: - (WebKit::EditorClient::handleKeyboardEvent): - -2008-08-27 Brady Eidson - - Reviewed by Anders - - - Crash when loading large movie as a standalone document - - * WebCoreSupport/FrameLoaderClientGtk.cpp: - (WebKit::FrameLoaderClient::pluginWillHandleLoadError): Stubbed for now - * WebCoreSupport/FrameLoaderClientGtk.h: - -2008-08-18 Alp Toker - - Reviewed by Holger Freyther. - - https://bugs.webkit.org/show_bug.cgi?id=20350 - [GTK] Get DumpRenderTree working - - Add a private function to WebFrame to dump the render tree as required - for the DumpRenderTree testing tool. - - * webkit/webkitprivate.h: - * webkit/webkitwebframe.cpp: - -2008-08-12 Timothy Hatcher - - Add a stub for InspectorClient::setAttachedWindowHeight. - - * WebCoreSupport/InspectorClientGtk.cpp: - (WebKit::InspectorClient::setAttachedWindowHeight): - Call notImplemented(). - * WebCoreSupport/InspectorClientGtk.h: - -2008-08-10 Alp Toker - - Remove leftover qmake/GTK+ build files. - - * webkit/headers.pri: Removed. - -2008-08-02 Christian Dywan - - Reviewed by Eric Seidel. - - Remove webkit-marshal.list, which was made obsolete in #19742 - - * webkit/webkit-marshal.list: Removed. - -2008-08-01 Wouter Bolsterlee - - Reviewed by Eric Seidel. - - https://bugs.webkit.org/show_bug.cgi?id=20035 - [GTK] Fix return value for webkit_web_view_go_to_back_forward_item() - - * webkit/webkitwebview.cpp: - -2008-07-30 Marco Barisione - - Reviewed by Holger. - - http://bugs.webkit.org/show_bug.cgi?id=19742 - [GTK] Auto generate webkitmarshal.list - - Auto generate webkitmarshal.list from source files to reduce the - number of conflicts when merging git branches or when applying - patches. - Also rename webkit-marshal.* to webkitmarshal.* for consistency. - - * webkit/webkitwebframe.cpp: Include webkitmarshal.h instead of - webkit-marshal.h. - * webkit/webkitwebview.cpp: Ditto. - -2008-07-30 Gustavo Noronha Silva - - Reviewed by Sam. - - https://bugs.webkit.org/show_bug.cgi?id=20205 - Typo in comment for bracer ending block - - * webkit/webkitprivate.cpp: Typo fix in comment for the brace - that ends the WebKit namespace; WebCore -> WebKit - -2008-07-26 Mark Rowe - - Build fix. Changes to accommodate newly named/signatured loading methods in WebCore. - - * WebCoreSupport/FrameLoaderClientGtk.cpp: - (WebKit::FrameLoaderClient::createFrame): - -2008-07-17 Christian Dywan - - Reviewed by Holger Freyther. - - https://bugs.webkit.org/show_bug.cgi?id=19813 - [GTK] WebKit crashes on invalid settings notify callback - - * webkit/webkitwebview.cpp: Disconnect in webkit_web_view_finalize - -2008-07-08 Jan Michael Alonzo - - Reviewed by Christian Dywan. - - Replace 'const' with G_CONST_RETURN macro to make it flexible to - disable constness - - * webkit/webkitnetworkrequest.cpp: - * webkit/webkitnetworkrequest.h: - * webkit/webkitwebframe.cpp: - * webkit/webkitwebframe.h: - * webkit/webkitwebhistoryitem.cpp: - * webkit/webkitwebhistoryitem.h: - -2008-06-18 Marco Barisione - - Reviewed by Alp Toker. - - https://bugs.webkit.org/show_bug.cgi?id=19171 - [GTK] GTypes for enumerations - - Generate GTypes for public enumerations so they can be used as - properties. - - * GNUmakefile.am: Generate webkit-enum-types.cpp and - webkit-enum-types.h. - -2008-06-17 Christian Dywan - - Reviewed by Alp. - - [GTK] WebKitWebHistoryItem needs properties - https://bugs.webkit.org/show_bug.cgi?id=19558 - - Implement properties matching the existing accessors. - - * webkit/webkitwebhistoryitem.cpp: - (_WebKitWebHistoryItemPrivate::): - (_WebKitWebHistoryItemPrivate::webkit_web_history_item_class_init): - (_WebKitWebHistoryItemPrivate::webkit_web_history_item_set_property): - (_WebKitWebHistoryItemPrivate::webkit_web_history_item_get_property): - (_WebKitWebHistoryItemPrivate::webkit_web_history_item_set_alternate_title): - -2008-06-15 Darin Adler - - - give Frame object functions shorter names: scriptProxy() -> script(), - selectionController() -> selection(), animationController() -> animation() - - * WebCoreSupport/EditorClientGtk.cpp: - (WebKit::EditorClient::handleKeyboardEvent): - * WebCoreSupport/FrameLoaderClientGtk.cpp: - (WebKit::FrameLoaderClient::windowObjectCleared): - * webkit/webkitwebframe.cpp: - * webkit/webkitwebview.cpp: - -2008-06-15 Darin Adler - - - undo bogus renaming done by the script - - * WebCoreSupport/ContextMenuClientGtk.cpp: - * webkit/webkitnetworkrequest.h: - * webkit/webkitwebbackforwardlist.h: - * webkit/webkitwebframe.h: - * webkit/webkitwebhistoryitem.h: - * webkit/webkitwebsettings.h: - -2008-06-15 Darin Adler - - - new names for a few key JavaScriptCore files - - * WebCoreSupport/ContextMenuClientGtk.cpp: - * webkit/webkitnetworkrequest.h: - * webkit/webkitwebbackforwardlist.h: - * webkit/webkitwebframe.h: - * webkit/webkitwebhistoryitem.h: - * webkit/webkitwebsettings.h: - -2008-06-15 Christian Dywan - - Reviewed by Alp Toker. - - [GTK] Property setters do not call g_object_notify() - https://bugs.webkit.org/show_bug.cgi?id=18405 - - * webkit/webkitwebview.cpp: - -2008-06-15 Christian Dywan - - Reviewed by Alp Toker. - - Tiny documentation fix, s/capacity/limit - - * webkit/webkitwebbackforwardlist.cpp: - -2008-06-14 Darin Adler - - Rubber stamped by Sam. - - - new names for kjs_binding.h and kjs_proxy.h - - * WebCoreSupport/FrameLoaderClientGtk.cpp: - * webkit/webkitwebframe.cpp: - -2008-06-14 Darin Adler - - - fix build - - * webkit/webkitwebframe.cpp: Remove a bogus release() call. - -2008-06-14 Darin Adler - - Reviewed by Sam. - - - more https://bugs.webkit.org/show_bug.cgi?id=17257 - start ref counts at 1 instead of 0 for speed - - * WebCoreSupport/FrameLoaderClientGtk.cpp: - (WebKit::FrameLoaderClient::createDocumentLoader): Use create instead of new. - * webkit/webkitwebframe.cpp: - (webkit_web_frame_new): Ditto. - (webkit_web_frame_init_with_web_view): Ditto. - -2008-06-13 Darin Adler - - - try to fix build - - * WebCoreSupport/FrameLoaderClientGtk.h: Add missing argument. - -2008-06-13 Darin Adler - - Reviewed by John Sullivan. - - - updated for addition of FormState argument to action policy functions - - * WebCoreSupport/FrameLoaderClientGtk.cpp: - (WebKit::FrameLoaderClient::dispatchDecidePolicyForNewWindowAction): - (WebKit::FrameLoaderClient::dispatchDecidePolicyForNavigationAction): - -2008-06-10 Christian Dywan - - Reviewed by Alp Toker and Darin Adler. - - https://bugs.webkit.org/show_bug.cgi?id=16676 - Apply GTK coding style to WebKit Gtk public headers - - * webkit/webkitnetworkrequest.h: - * webkit/webkitwebbackforwardlist.h: - * webkit/webkitwebframe.h: - * webkit/webkitwebhistoryitem.h: - * webkit/webkitwebsettings.h: - * webkit/webkitwebview.h: - -2008-06-07 Jan Michael Alonzo - - Confirmed by Christian Dywan. - - Gtk build fix for r34432 - - * webkit/webkitwebhistoryitem.cpp: - (_WebKitWebHistoryItemPrivate::webkit_history_item_add): - (_WebKitWebHistoryItemPrivate::webkit_history_item_remove): - (_WebKitWebHistoryItemPrivate::webkit_web_history_item_dispose): - (_WebKitWebHistoryItemPrivate::webkit_web_history_item_new_with_core_item): - (_WebKitWebHistoryItemPrivate::webkit_web_history_item_new): - (_WebKitWebHistoryItemPrivate::webkit_web_history_item_new_with_data): - (WebKit::core): - -2008-06-07 Darin Adler - - - try to fix build after HistoryItem changes - - * webkit/webkitwebhistoryitem.cpp: - (_WebKitWebHistoryItemPrivate::webkit_web_history_item_new): Use HistoryItem::create. - (_WebKitWebHistoryItemPrivate::webkit_web_history_item_new_with_data): Ditto. I also - believe this fixes a memory leak in the old version. - -2008-06-07 Christian Dywan - - Reviewed by Alp Toker. - - https://bugs.webkit.org/show_bug.cgi?id=17324 - Remove PLATFORM ifdefs from ContextMenu.cpp - - * WebCoreSupport/ContextMenuClientGtk.cpp: - (WebKit::ContextMenuClient::ContextMenuClient): - (WebKit::ContextMenuClient::contextMenuDestroyed): - (WebKit::inputMethodsMenuItem): - (WebKit::): - (WebKit::insertControlCharacter): - (WebKit::unicodeMenuItem): - (WebKit::ContextMenuClient::getCustomMenuFromDefaultItems): - * WebCoreSupport/ContextMenuClientGtk.h: - * webkit/webkitwebview.cpp: - -2008-06-05 Alp Toker - - Add 'Since' documentation for API versioning functions. - - * webkit/webkitversion.cpp: - -2008-06-05 Christian Dywan - - Reviewed by Alp Toker. - - https://bugs.webkit.org/show_bug.cgi?id=14141 - Please add a version to the Gtk port - - * webkit/webkit.h: - * webkit/webkitversion.cpp: Added. - * webkit/webkitversion.h.in: Added. - * webkit/webkitwebsettings.cpp: - (_WebKitWebSettingsPrivate::webkit_web_settings_class_init): - * webkit/webkitwebview.cpp: - -2008-06-01 Alp Toker - - Suggested by Christian Dywan. - - Use float literals for zoom values and improve documentation wording. - - * webkit/webkitwebsettings.cpp: - (_WebKitWebSettingsPrivate::webkit_web_settings_class_init): - * webkit/webkitwebview.cpp: - -2008-06-01 Alp Toker - - Reviewed by Oliver. - - Remove webkit_web_view_go_backward(), - webkit_web_view_can_go_backward(). These have been obsoleted by - the back() versions for quite a while. - - * webkit/webkitwebview.cpp: - * webkit/webkitwebview.h: - -2008-05-31 Alp Toker - - Fix inconsistent zoom docs and enum name landed in r34249. Issue - noticed by Marco Barisione. - - * webkit/webkitwebview.cpp: - -2008-05-30 Carlos Martín Nieto - - Reviewed by Alp Toker. - - http://bugs.webkit.org/show_bug.cgi?id=18383 - [GTK] The "hovering-over-link" signal arguments aren't documented. - - * webkit/webkitwebview.cpp: - -2008-05-29 Marco Barisione - - Reviewed (and tweaked) by Alp Toker. - - http://bugs.webkit.org/show_bug.cgi?id=18281 - [GTK] add functions to set/get the zoom level - - * webkit/webkitwebsettings.cpp: - (_WebKitWebSettingsPrivate::): - (_WebKitWebSettingsPrivate::webkit_web_settings_class_init): - (_WebKitWebSettingsPrivate::webkit_web_settings_set_property): - (_WebKitWebSettingsPrivate::webkit_web_settings_get_property): - * webkit/webkitwebview.cpp: Add functions to get and set the zoom - level. - * webkit/webkitwebview.h: Ditto. - * webkit/webkitprivate.h: - -2008-05-28 Alp Toker - - Reviewed by Alexey Proskuryakov. - - http://bugs.webkit.org/show_bug.cgi?id=18704 - [gtk] cannot type letters with dead keys in textarea - - http://bugs.webkit.org/show_bug.cgi?id=14120 - [GDK] Support input methods - - Add support for input method composition. - - Remove some old hacks so we handle input method events more - consistently. - - * WebCoreSupport/EditorClientGtk.cpp: - (WebKit::imContextCommitted): - (WebKit::imContextPreeditChanged): - (WebKit::EditorClient::setInputMethodState): - (WebKit::EditorClient::respondToChangedSelection): - (WebKit::EditorClient::handleInputMethodKeydown): - (WebKit::EditorClient::EditorClient): - (WebKit::EditorClient::~EditorClient): - (WebKit::EditorClient::textFieldDidBeginEditing): - (WebKit::EditorClient::textFieldDidEndEditing): - (WebKit::EditorClient::textDidChangeInTextField): - (WebKit::EditorClient::doTextFieldCommandFromEvent): - * webkit/webkitwebview.cpp: - -2008-05-25 Alp Toker - - Reviewed by Niko. - - Drop WebView focus when the widget is focused out. - - * webkit/webkitwebview.cpp: - -2008-05-25 Sriram Neelakandan - - Reviewed by Alp Toker. - - http://bugs.webkit.org/show_bug.cgi?id=18935 - [Gtk] Plugin Load crashes with NP_FULL mode - - Fix crash due to uninitialized variable. - - * WebCoreSupport/FrameLoaderClientGtk.cpp: - (WebKit::FrameLoaderClient::FrameLoaderClient): - -2008-05-24 Alp Toker - - https://bugs.webkit.org/show_bug.cgi?id=18825 - webkitgtk fails to build from source: "Database Tracker" has not been declared - - GTK+ fix for building without database support. - exceededDatabaseQuota() still needs to be present, just a no-op. - - * WebCoreSupport/ChromeClientGtk.cpp: - (WebKit::ChromeClient::exceededDatabaseQuota): - -2008-05-23 Alp Toker - - GTK+ fixes for building without database support. - - * WebCoreSupport/ChromeClientGtk.cpp: - -2008-05-19 Alp Toker - - Reviewed by Anders and Beth. - - http://bugs.webkit.org/show_bug.cgi?id=16495 - [GTK] Accessibility support with ATK/AT-SPI - - Initial ATK/AT-SPI accessibility support for the GTK+ port. - - * webkit/webkitwebview.cpp: - -2008-05-06 Christian Dywan - - Rubber stamped by Alp. - - Back out 17626. It wasn't ready for commit. - - * webkit/webkitprivate.h: - * webkit/webkitwebview.cpp: - * webkit/webkitwebview.h: - -2008-05-01 Marc Ordinas i Llopis - - Reviewed by Alp Toker. - - https://bugs.webkit.org/show_bug.cgi?id=14750 - Added support for NPAPI plugins on Gtk and Qt-x11 ports. - - * WebCoreSupport/FrameLoaderClientGtk.cpp: - (WebKit::FrameLoaderClient::FrameLoaderClient): - (WebKit::FrameLoaderClient::committedLoad): - (WebKit::FrameLoaderClient::createPlugin): - (WebKit::FrameLoaderClient::redirectDataToPlugin): - (WebKit::FrameLoaderClient::finishedLoading): - (WebKit::FrameLoaderClient::setMainDocumentError): - * WebCoreSupport/FrameLoaderClientGtk.h: - -2008-04-30 Sean Egan - - Reviewed and modified by Holger. - - https://bugs.webkit.org/show_bug.cgi?id=17626 - Support setting background color and a 16-bit alpha channel. - - * webkit/webkitprivate.h: - * webkit/webkitwebview.cpp: - * webkit/webkitwebview.h: - -2008-04-24 Dan Bernstein - - - build fix - - * webkit/webkitwebview.cpp: - -2008-04-24 Anders Carlsson - - Reviewed by Sam. - - Change some String arguments to be const references instead. - - * WebCoreSupport/EditorClientGtk.cpp: - (WebKit::EditorClient::shouldInsertText): - * WebCoreSupport/EditorClientGtk.h: - -2008-04-23 Christian Dywan - - Reviewed by Alp Toker. - - Emit a warning about an unknown setting only if it is - not a valid property. Otherwise applications can't - subclass WebKitWebSettings to add new properties. - - * webkit/webkitwebview.cpp: - -2008-04-20 Simon Hausmann - - Reviewed by Alp Toker. - - http://bugs.webkit.org/show_bug.cgi?id=18578 - Share the printing code between the Gtk and the Qt port - - Share the printing code between the Gtk and the Qt port - and added printing to the Qt WebKit API. - - * webkit/webkitwebframe.cpp: Removed PrintContext in favour of - page/Printcontext.cpp/h - -2008-04-19 Alp Toker - - Reviewed by Maciej. - - Enable visited link tracking by default at startup. - - With this patch, the GTK+ port rendering of Acid3 now matches the - reference page. - - * webkit/webkitprivate.cpp: - (WebKit::core): - (webkit_init): - -2008-04-11 Mark Rowe - - Gtk build fix after r32231. - - * webkit/webkitwebview.cpp: Update to use contentRenderer. - -2008-04-18 Alp Toker - - Rubber-stamped by Holger Freyther. - - http://bugs.webkit.org/show_bug.cgi?id=18218 - [Gtk] segfault when clicking on a disabled button - - Always use the main frame for mouse events (not the focused frame) - since it knows best how to get the event through to the right target. - - This also fixes a null crasher. - - * webkit/webkitwebview.cpp: - -2008-04-17 Alp Toker - - Rubber-stamped by Holger Freyther. - - Reduce hard-coded page-cache count to 3 based on research done for the - Mac port on value / page. - - We will need to make this more dynamic or configurable at some point - but for now it's best to keep closer to the behaviour before page - caching was enabled. - - Issue spotted by Mark Rowe. - - * webkit/webkitprivate.cpp: - (webkit_init): - -2008-04-17 Daniele Metilli - - Reviewed by Eric. - - Fixed a typo in the copyright header. - - * webkit/webkitprivate.h: - -2008-04-14 Holger Freyther - - Reviewed by Alp Toker. - - https://bugs.webkit.org/show_bug.cgi?id=18411 - Enable Page caching and create FrameViews on the fly - - Create the FrameView on the fly and cache pages - - - Keep a copy of the GtkAdjustment to be able to reuse it for the - FrameViews - - Do not initially create a FrameView and update the WebKit code to - cope with not having a view. - - Cache seven pages by default. - - * WebCoreSupport/FrameLoaderClientGtk.cpp: - (WebKit::FrameLoaderClient::createFrame): - (WebKit::FrameLoaderClient::canCachePage): - (WebKit::FrameLoaderClient::savePlatformDataToCachedPage): - (WebKit::FrameLoaderClient::transitionToCommittedFromCachedPage): - (WebKit::FrameLoaderClient::transitionToCommittedForNewPage): - * webkit/webkitprivate.cpp: - (webkit_init): - * webkit/webkitprivate.h: - * webkit/webkitwebframe.cpp: - * webkit/webkitwebview.cpp: - -2008-04-10 Mario Bensi - - Reviewed by Alp Toker. - - https://bugs.webkit.org/show_bug.cgi?id=18400 - Database example doesn't work on Gtk port - - Fix quota in ChromeClient - - * WebCoreSupport/ChromeClientGtk.cpp: - (WebKit::ChromeClient::exceededDatabaseQuota): - -2008-04-08 Adam Roben - - Move callOnMainThread to WTF - - Reviewed by Alexey Proskuryakov. - - * webkit/webkitprivate.cpp: Updated #include. - (webkit_init): Changed to call KJS::initializeThreading. - -2008-04-06 Luca Bruno - - Reviewed by Alp Toker. - - Fix webkit_web_view_get_transparent() return value. - - * webkit/webkitwebview.cpp: - -2008-03-31 Jasper Bryant-Greene - - Reviewed by Darin Adler. - - Resolves http://bugs.webkit.org/show_bug.cgi?id=18010 - "WebKitNetworkRequestPrivate is defined in two places unnecessarily" - - Removed unnecessary definition of WebKitNetworkRequestPrivate in - webkitprivate.h - - * webkit/webkitprivate.h: - -2008-03-25 Brady Eidson - - Reviewed by Darin - - Remove newly obsolete FrameLoaderClient methods - - * WebCoreSupport/FrameLoaderClientGtk.cpp: - * WebCoreSupport/FrameLoaderClientGtk.h: - -2008-03-20 Alp Toker - - GTK+ build fix. Back out r31183. This patch also introduced API style - issues. - - * WebCoreSupport/FrameLoaderClientGtk.cpp: - (WebKit::FrameLoaderClient::dispatchDecidePolicyForNavigationAction): - * webkit/headers.pri: - * webkit/webkit-marshal.list: - * webkit/webkitdefines.h: - * webkit/webkitnavigationaction.cpp: Removed. - * webkit/webkitnavigationaction.h: Removed. - * webkit/webkitprivate.cpp: - * webkit/webkitprivate.h: - * webkit/webkitwebview.cpp: - * webkit/webkitwebview.h: - -2008-03-20 Jasper Bryant-Greene - - Reviewed and tweaked by Anders. - - Resolves http://bugs.webkit.org/show_bug.cgi?id=16092 - "[GTK] Middle-mouse click should allow opening a URL in a new tab" - - Created WebKitNavigationAction object exported through the API. The - navigation-requested signal provides this object as context for the - requested navigation, allowing the application to decide what to do - with the navigation based on which mouse button was used, which - modifier keys were held down, etc. This allows, for example, the - application to open links in a new tab when either middle-click or - control-click are used to initiate the navigation. - - * WebCoreSupport/FrameLoaderClientGtk.cpp: - (WebKit::FrameLoaderClient::dispatchDecidePolicyForNavigationAction): - * webkit/headers.pri: - * webkit/webkit-marshal.list: - * webkit/webkitdefines.h: - * webkit/webkitnavigationaction.cpp: Added. - (webkit_navigation_action_finalize): - (webkit_navigation_action_class_init): - (webkit_navigation_action_init): - (webkit_navigation_action_get_button): - (webkit_navigation_action_get_modifier_flags): - (webkit_navigation_action_get_navigation_type): - (webkit_navigation_action_get_original_url): - * webkit/webkitnavigationaction.h: Added. - * webkit/webkitprivate.cpp: - (WebKit::kit): - * webkit/webkitprivate.h: - * webkit/webkitwebview.cpp: - * webkit/webkitwebview.h: - -2008-03-18 Rodney Dawes - - Reviewed and landed by jhoneycutt. - - Update to check if the MIME type is supported by a plugin. - - * WebCoreSupport/FrameLoaderClientGtk.cpp: - (FrameLoaderClient::objectContentType): - -2008-03-18 Rodney Dawes - - Reviewed by Jon Honeycutt. - - Update setContainingWindow() calls to pass a GtkWidget. - - * webkit/webkitwebframe.cpp: - (webkit_web_frame_new): - (webkit_web_frame_init_with_web_view): - -2008-03-13 Rodney Dawes - - Fix GTK+ build for SharedBuffer changes. - - * webkit/webkitwebview.cpp: - (webkit_web_view_load_string): - -2008-03-12 Tommi Komulainen - - Reviewed by Alp Toker. - - http://bugs.webkit.org/show_bug.cgi?id=17799 - WebView signals should use more specific types - - * webkit/webkitwebview.cpp: Use WEBKIT_TYPE_WEB_FRAME argument - type in "script-alert", "script-confirm", "script-script-prompt" - signals so that it gets more clearly documented rather than just - plain GObject. - -2008-03-10 Xan Lopez - - Reviewed by Alp Toker. - - Fix "missing braces" compiler warning. - - * webkit/webkitwebview.cpp: - -2008-03-04 Sam Weinig - - Reviewed by Mark Rowe. - - - Remove all unnecessary includes of JSDOMWindowBase.h, we prefer including - JSDOMWindow.h - - * WebCoreSupport/FrameLoaderClientGtk.cpp: - * webkit/webkitwebframe.cpp: - -2008-03-03 Sam Weinig - - GTK+ build fix. - - * WebCoreSupport/FrameLoaderClientGtk.cpp: - (WebKit::FrameLoaderClient::windowObjectCleared): - -2008-03-03 Alp Toker - - Fix the GTK+ build following breakage introduced in r30712. - - * WebCoreSupport/EditorClientGtk.cpp: - (WebKit::imContextCommitted): - -2008-03-02 Alp Toker - - Reviewed by Mark Rowe. - - Split the WebKit GTK+ build out of the WebCore build and change the - shared object name to match the package name. - - * webkit.pc.in: - -2008-02-27 Adam Roben - - Attempt to fix the GTK+ build - - * webkit/webkitwebframe.cpp: - -2008-02-24 Darin Adler - - Reviewed by Sam. - - - remove separate client calls for "standard" and "reload' history - - * WebCoreSupport/FrameLoaderClientGtk.cpp: - (WebKit::FrameLoaderClient::updateGlobalHistory): - * WebCoreSupport/FrameLoaderClientGtk.h: - -2008-02-23 Alexey Proskuryakov - - Build fix. - - * webkit/webkitprivate.cpp: - (webkit_init): Renamed initializeThreading to initializeThreadingAndMainThread. - -2008-02-18 Alp Toker - - Reviewed by Mark Rowe. - - http://bugs.webkit.org/show_bug.cgi?id=17312 - [GTK] Webview Transparent Background - - Add support for WebView background transparency. - - * webkit/webkitprivate.h: - * webkit/webkitwebview.cpp: - * webkit/webkitwebview.h: - -2008-02-18 Alp Toker - - Reviewed by Mark Rowe. - - Implement webkit_web_view_get_focused_frame() - - Equivalent to selectedFrame in the Mac API. - - * webkit/webkitwebview.cpp: - * webkit/webkitwebview.h: - -2008-02-17 Jan Michael Alonzo - - Reviewed by Mark Rowe. - - Fix a crash introduced in changeset #29985 by moving the dereference to after - the null check. - - * webkit/webkitwebhistoryitem.cpp: - (_WebKitWebHistoryItemPrivate::webkit_web_history_item_new_with_core_item): - -2008-02-15 Alp Toker - - Fix the GTK+ build following breakage introduced in r30243. - - * WebCoreSupport/ChromeClientGtk.cpp: - (WebKit::ChromeClient::mouseDidMoveOverElement): - * WebCoreSupport/FrameLoaderClientGtk.cpp: - (WebKit::FrameLoaderClient::objectContentType): - -2008-02-15 Darin Adler - - - another try at fixing the build - - * webkit/webkitwebview.cpp: Added some explicit conversions to KURL. - -2008-02-14 Darin Adler - - * webkit/webkitwebframe.cpp: Removed DeprecatedString use to try to keep it building. - * webkit/webkitwebview.cpp: Ditto. - -2008-02-14 Holger Hans Peter Freyther - - Reviewed by Alp. - - * Make the handling of the coreFrame consistent. We construct the coreFrame - at the beginning and it will live until the end. Change the g_return_(val_)if - to ASSERTs as having a 0 coreFrame can never happen. - - * webkit/webkitwebframe.cpp: - (PrintContext::webkit_web_frame_print): - -2008-02-14 Holger Hans Peter Freyther - - Reviewed by Alp. - - * Make sure that the WebCore::Frame is living as long as the WebKitWebFrame - wrapped around it. All current calls to WebCore::Frame from within the - WebKitWebFrame are safe, even in the case where the WebCore::Frame is already - detached from the WebCore::Page. - * For the mainFrame the WebKitWebView is holding the initial reference and - will unref on destruction. - * For sub-frames the FramerLoaderClientGtk.cpp will do the unrefing when the - frame gets detached from the parent. - * Make sure FrameLoader::detachFromParent gets called by calling FrameLoader::detachChildren - - * WebCoreSupport/FrameLoaderClientGtk.cpp: - (WebKit::FrameLoaderClient::detachedFromParent4): - * webkit/webkitprivate.cpp: - (WebKit::core): - * webkit/webkitprivate.h: - * webkit/webkitwebframe.cpp: - * webkit/webkitwebview.cpp: - -2008-02-14 Holger Hans Peter Freyther - - Reviewed by Alp. - - WebCore::Frame is RefCounted, do not manually delete it! - - * webkit/webkitwebframe.cpp: - -2008-02-14 Holger Hans Peter Freyther - - Reviewed by Alp. - - * Plug a leak - - * webkit/webkitwebframe.cpp: - -2008-02-14 Holger Hans Peter Freyther - - Reviewed by Alp. - - * Update the Copyright Information - - * WebCoreSupport/FrameLoaderClientGtk.cpp: - * webkit/webkitprivate.h: - * webkit/webkitwebframe.cpp: - -2008-02-13 Alp Toker - - Reviewed by Adam Roben. - - Fix very small, upside down, inside out text on GTK+/DirectFB. - - Based on an initial patch by Sriram Neelakandan - - Test the result of gdk_screen_get_resolution() and use a default - fallback in case of failure. - - Also remove an unhelpful runtime warning. - - * webkit/webkitwebview.cpp: - -2008-02-08 Pierre-Luc Beaudoin - - Reviewed by Alp Toker. - - http://bugs.webkit.org/show_bug.cgi?id=17009 - [Gtk] Webkit strips accents from some dead-key combinations - - KeyEvents have to go through the gtk input method. - - * WebCoreSupport/EditorClientGtk.cpp: - (WebKit::imContextCommitted): - (WebKit::EditorClient::doTextFieldCommandFromEvent): - -2008-02-05 Mark Rowe - - Reviewed by Alp Toker. - - Fix warnings seen on the Gtk port by declaring variables and using constants of the correct types. - - * webkit/webkitwebbackforwardlist.cpp: - (_WebKitWebBackForwardListPrivate::webkit_web_back_forward_list_contains_item): - * webkit/webkitwebhistoryitem.cpp: - * webkit/webkitwebview.cpp: - -2008-02-04 Christian Dywan - - Reviewed by Alp Toker. - - http://bugs.webkit.org/show_bug.cgi?id=17065 - [GTK] Use a consistent coding style - - * WebCoreSupport/EditorClientGtk.cpp: - (WebKit::imContextCommitted): - (WebKit::EditorClient::EditorClient): - (WebKit::EditorClient::~EditorClient): - (WebKit::EditorClient::textFieldDidEndEditing): - * webkit/webkitdefines.h: - * webkit/webkitnetworkrequest.cpp: - (_WebKitNetworkRequestPrivate::webkit_network_request_finalize): - (_WebKitNetworkRequestPrivate::webkit_network_request_class_init): - (_WebKitNetworkRequestPrivate::webkit_network_request_init): - (_WebKitNetworkRequestPrivate::webkit_network_request_new): - (_WebKitNetworkRequestPrivate::webkit_network_request_set_uri): - (_WebKitNetworkRequestPrivate::webkit_network_request_get_uri): - * webkit/webkitnetworkrequest.h: - * webkit/webkitprivate.cpp: - (WebKit::getViewFromFrame): - (WebKit::core): - * webkit/webkitprivate.h: - * webkit/webkitwebbackforwardlist.cpp: - (_WebKitWebBackForwardListPrivate::webkit_web_back_forward_list_new_with_web_view): - * webkit/webkitwebbackforwardlist.h: - * webkit/webkitwebframe.cpp: - * webkit/webkitwebframe.h: - * webkit/webkitwebhistoryitem.cpp: - (_WebKitWebHistoryItemPrivate::webkit_web_history_item_dispose): - (_WebKitWebHistoryItemPrivate::webkit_web_history_item_finalize): - (_WebKitWebHistoryItemPrivate::webkit_web_history_item_new_with_core_item): - (_WebKitWebHistoryItemPrivate::webkit_web_history_item_new): - (_WebKitWebHistoryItemPrivate::webkit_web_history_item_new_with_data): - (_WebKitWebHistoryItemPrivate::webkit_web_history_item_get_title): - (_WebKitWebHistoryItemPrivate::webkit_web_history_item_get_alternate_title): - (_WebKitWebHistoryItemPrivate::webkit_web_history_item_set_alternate_title): - (_WebKitWebHistoryItemPrivate::webkit_web_history_item_get_uri): - (_WebKitWebHistoryItemPrivate::webkit_web_history_item_get_original_uri): - (WebKit::core): - * webkit/webkitwebhistoryitem.h: - * webkit/webkitwebsettings.h: - * webkit/webkitwebview.cpp: - * webkit/webkitwebview.h: - -2008-02-04 Alp Toker - - Rubber-stamped by Mark Rowe. - - Remove all trailing whitespace in the GTK+ port and related - components. - - * WebCoreSupport/DragClientGtk.h: - * WebCoreSupport/FrameLoaderClientGtk.h: - * WebCoreSupport/InspectorClientGtk.h: - * WebCoreSupport/PasteboardHelperGtk.h: - * webkit/webkitprivate.h: - * webkit/webkitwebbackforwardlist.cpp: - (_WebKitWebBackForwardListPrivate::webkit_web_back_forward_list_contains_item): - (_WebKitWebBackForwardListPrivate::webkit_web_back_forward_list_get_forward_list_with_limit): - (_WebKitWebBackForwardListPrivate::webkit_web_back_forward_list_get_back_item): - (_WebKitWebBackForwardListPrivate::webkit_web_back_forward_list_get_forward_length): - * webkit/webkitwebhistoryitem.cpp: - (_WebKitWebHistoryItemPrivate::webkit_history_items): - (_WebKitWebHistoryItemPrivate::webkit_history_item_add): - (_WebKitWebHistoryItemPrivate::webkit_history_item_remove): - (_WebKitWebHistoryItemPrivate::webkit_web_history_item_dispose): - (_WebKitWebHistoryItemPrivate::webkit_web_history_item_new_with_data): - (_WebKitWebHistoryItemPrivate::webkit_web_history_item_get_title): - (_WebKitWebHistoryItemPrivate::webkit_web_history_item_get_alternate_title): - (_WebKitWebHistoryItemPrivate::webkit_web_history_item_set_alternate_title): - (_WebKitWebHistoryItemPrivate::webkit_web_history_item_get_original_uri): - (_WebKitWebHistoryItemPrivate::webkit_web_history_item_get_last_visited_time): - (WebKit::kit): - * webkit/webkitwebhistoryitem.h: - * webkit/webkitwebview.cpp: - * webkit/webkitwebview.h: - -2008-02-03 Christian Dywan - - Reviewed by Alp Toker. - - http://bugs.webkit.org/show_bug.cgi?id=17046 - [GTK] Context menu fixes and customisation suport - - * webkit/webkitwebview.cpp: - -2008-01-31 Alp Toker - - Reviewed by Mark Rowe. - - Fix the pkg-config file to follow GTK+ package naming and versioning - conventions. - - Remove unneeded dependency listings. - - * WebKitGtk.pc.in: Removed. - * webkit.pc.in: Copied from WebKit/gtk/WebKitGtk.pc.in. - -2008-01-31 Alp Toker - - Rubber-stamped by Adam Roben. - - http://bugs.webkit.org/show_bug.cgi?id=17006 - [GTK] Header path should be webkit/webkit.h - - Move the GTK+ API sources as needed and update the build systems. - - * WebView: Removed. - * WebView/headers.pri: Removed. - * WebView/webkit-marshal.list: Removed. - * WebView/webkit.h: Removed. - * WebView/webkitdefines.h: Removed. - * WebView/webkitnetworkrequest.cpp: Removed. - * WebView/webkitnetworkrequest.h: Removed. - * WebView/webkitprivate.cpp: Removed. - * WebView/webkitprivate.h: Removed. - * WebView/webkitwebbackforwardlist.cpp: Removed. - * WebView/webkitwebbackforwardlist.h: Removed. - * WebView/webkitwebframe.cpp: Removed. - * WebView/webkitwebframe.h: Removed. - * WebView/webkitwebhistoryitem.cpp: Removed. - * WebView/webkitwebhistoryitem.h: Removed. - * WebView/webkitwebsettings.cpp: Removed. - * WebView/webkitwebsettings.h: Removed. - * WebView/webkitwebview.cpp: Removed. - * WebView/webkitwebview.h: Removed. - * webkit: Copied from WebKit/gtk/WebView. - * webkit/webkit.h: - * webkit/webkitnetworkrequest.h: - * webkit/webkitprivate.h: - * webkit/webkitwebbackforwardlist.h: - * webkit/webkitwebframe.h: - * webkit/webkitwebhistoryitem.h: - * webkit/webkitwebsettings.h: - * webkit/webkitwebview.h: - -2008-01-27 Jan Michael Alonzo - - Reviewed by Alp Toker. - - http://bugs.webkit.org/show_bug.cgi?id=14811 - [gtk] [request] add a webkit_gtk_page_go_to_history_item function - - implement back/forward list and history item - - * WebView/headers.pri: - * WebView/webkit.h: - * WebView/webkitprivate.cpp: - * WebView/webkitprivate.h: - * WebView/webkitwebbackforwardlist.cpp: Added. - (_WebKitWebBackForwardListPrivate::webkit_web_back_forward_list_dispose): - (_WebKitWebBackForwardListPrivate::webkit_web_back_forward_list_class_init): - (_WebKitWebBackForwardListPrivate::webkit_web_back_forward_list_init): - (_WebKitWebBackForwardListPrivate::webkit_web_back_forward_list_new_with_web_view): - (_WebKitWebBackForwardListPrivate::webkit_web_back_forward_list_go_forward): - (_WebKitWebBackForwardListPrivate::webkit_web_back_forward_list_go_back): - (_WebKitWebBackForwardListPrivate::webkit_web_back_forward_list_contains_item): - (_WebKitWebBackForwardListPrivate::webkit_web_back_forward_list_go_to_item): - (_WebKitWebBackForwardListPrivate::webkit_web_back_forward_list_get_forward_list_with_limit): - (_WebKitWebBackForwardListPrivate::webkit_web_back_forward_list_get_back_list_with_limit): - (_WebKitWebBackForwardListPrivate::webkit_web_back_forward_list_get_back_item): - (_WebKitWebBackForwardListPrivate::webkit_web_back_forward_list_get_current_item): - (_WebKitWebBackForwardListPrivate::webkit_web_back_forward_list_get_forward_item): - (_WebKitWebBackForwardListPrivate::webkit_web_back_forward_list_get_nth_item): - (_WebKitWebBackForwardListPrivate::webkit_web_back_forward_list_get_back_length): - (_WebKitWebBackForwardListPrivate::webkit_web_back_forward_list_get_forward_length): - (_WebKitWebBackForwardListPrivate::webkit_web_back_forward_list_get_limit): - (_WebKitWebBackForwardListPrivate::webkit_web_back_forward_list_set_limit): - * WebView/webkitwebbackforwardlist.h: Added. - * WebView/webkitwebhistoryitem.cpp: Added. - (_WebKitWebHistoryItemPrivate::webkit_history_items): - (_WebKitWebHistoryItemPrivate::webkit_history_item_add): - (_WebKitWebHistoryItemPrivate::webkit_history_item_remove): - (_WebKitWebHistoryItemPrivate::webkit_web_history_item_dispose): - (_WebKitWebHistoryItemPrivate::webkit_web_history_item_finalize): - (_WebKitWebHistoryItemPrivate::webkit_web_history_item_class_init): - (_WebKitWebHistoryItemPrivate::webkit_web_history_item_init): - (_WebKitWebHistoryItemPrivate::webkit_web_history_item_new_with_core_item): - (_WebKitWebHistoryItemPrivate::webkit_web_history_item_new): - (_WebKitWebHistoryItemPrivate::webkit_web_history_item_new_with_data): - (_WebKitWebHistoryItemPrivate::webkit_web_history_item_get_title): - (_WebKitWebHistoryItemPrivate::webkit_web_history_item_get_alternate_title): - (_WebKitWebHistoryItemPrivate::webkit_web_history_item_set_alternate_title): - (_WebKitWebHistoryItemPrivate::webkit_web_history_item_get_uri): - (_WebKitWebHistoryItemPrivate::webkit_web_history_item_get_original_uri): - (_WebKitWebHistoryItemPrivate::webkit_web_history_item_get_last_visited_time): - (WebKit::core): - (WebKit::kit): - * WebView/webkitwebhistoryitem.h: Added. - * WebView/webkitwebview.cpp: - * WebView/webkitwebview.h: - -2008-01-25 Ori Bernstein - - Reviewed by Alp Toker. - - http://bugs.webkit.org/show_bug.cgi?id=16795 - WebKitGtk crashes when there is no focused Frame - - Add a null check. focusedFrame() isn't used directly anywhere else so - this is the only case that needs to be fixed. - - * WebView/webkitwebview.cpp: - -2008-01-22 Christian Dywan - - Reviewed by Alp Toker. - - [GTK] API: WebKitWebSettings is not usable - http://bugs.webkit.org/show_bug.cgi?id=16219 - - Implement WebKitWebSettings. - - * WebView/headers.pri: - * WebView/webkit.h: - * WebView/webkitprivate.cpp: - * WebView/webkitprivate.h: - * WebView/webkitsettings.cpp: Removed. - * WebView/webkitsettings.h: Removed. - * WebView/webkitwebsettings.cpp: Added. - * WebView/webkitwebsettings.h: Added. - * WebView/webkitwebview.cpp: - * WebView/webkitwebview.h: - -2008-01-21 Alp Toker - - GTK+ build fix for breakage introduced in r29698. - - * WebCoreSupport/ChromeClientGtk.h: - -2008-01-21 Darin Adler - - Reviewed by John Sullivan. - - - updated for changes to database functions - - * WebCoreSupport/ChromeClientGtk.cpp: - (WebKit::ChromeClient::exceededDatabaseQuota): - * WebCoreSupport/ChromeClientGtk.h: - * WebView/webkitprivate.cpp: - (webkit_init): - -2008-01-20 Alp Toker - - Reviewed by Mark Rowe. - - Attach the widget's style to its window and set the background to the - base background to avoid black flicker when repainting. This is - similar to what GtkTextView does. - - * WebView/webkitwebview.cpp: - -2008-01-19 Christian Dywan - - Reviewed by Alp Toker. - - http://bugs.webkit.org/show_bug.cgi?id=16882 - [GTK] ChromeClientGtk is incompete - - Implement these functions. - - * WebCoreSupport/ChromeClientGtk.cpp: - (WebKit::ChromeClient::windowRect): - (WebKit::ChromeClient::pageRect): - (WebKit::ChromeClient::scaleFactor): - (WebKit::ChromeClient::focus): - (WebKit::ChromeClient::unfocus): - (WebKit::ChromeClient::canTakeFocus): - (WebKit::ChromeClient::takeFocus): - (WebKit::ChromeClient::canRunBeforeUnloadConfirmPanel): - -2008-01-18 Luca Bruno - - Reviewed by Alp Toker. - - http://bugs.webkit.org/show_bug.cgi?id=16910 - [GTK] REGRESSION: keyboard cursor doesn't blink - - http://bugs.webkit.org/show_bug.cgi?id=16863 - [GTK] REGRESSION: tab focusing doesn't work - - * WebView/webkitwebview.cpp: - (webkit_web_view_focus_in_event): Added. Set the active frame. - (webkit_web_view_class_init): - -2008-01-16 Alp Toker - - Reviewed by Mark Rowe. - - http://bugs.webkit.org/show_bug.cgi?id=16218 - [GTK] API: Should this entry point be called go_back rather than go_backward? - - Obsolete 'backward' terminology in API in favour of 'back'. Introduce - step-based back/forward functions. - - Document more functions. - - * WebView/webkitdefines.h: - * WebView/webkitwebview.cpp: - * WebView/webkitwebview.h: - -2008-01-10 Maciej Stachowiak - - Reviewed by Sam. - - - remove SecurityOriginData and fold its functionality into SecurityOrigin - - * WebCoreSupport/ChromeClientGtk.cpp: - (WebKit::ChromeClient::requestQuotaIncreaseForNewDatabase): - (WebKit::ChromeClient::requestQuotaIncreaseForDatabaseOperation): - * WebCoreSupport/ChromeClientGtk.h: - -2008-01-09 Luca Bruno - - Reviewed by Alp Toker. - - http://bugs.webkit.org/show_bug.cgi?id=16802 - [GTK] Missing gtk properties - - Add missing properties to WebKitViewFrame and WebKitWebView. - - * WebView/webkitprivate.h: add some useful defines for param specs - * WebView/webkitwebframe.cpp: - (webkit_web_frame_get_property): added - (webkit_web_frame_class_init): add name, title and uri read-only properties - * WebView/webkitwebview.cpp: - (webkit_web_view_get_property): add editable property read - (webkit_web_view_set_property): added for editable property write - (webkit_web_view_class_init): add read-write editable property - -2008-01-03 Xan Lopez - - Reviewed by Alp Toker. - - http://bugs.webkit.org/show_bug.cgi?id=16654 - [GTK] Signal "navigation-requested" does not react correctly on - return TRUE from callbacks - - * WebView/webkitwebview.cpp: use our own accumulator for signals - returning WebKitNavigationResponse. The emission will be stopped - when any callback returns anything but - WEBKIT_NAVIGATION_RESPONSE_ACCEPT. - -2008-01-02 Holger Hans Peter Freyther - - Rubber stamped by Darin Adler. - - Coding Style fix. Do not use an else because we use a return in the - if branch. - - * WebView/webkitwebview.cpp: - -2008-01-02 Luca Bruno - - Reviewed by Alp Toker. - - http://bugs.webkit.org/show_bug.cgi?id=16115 - [GTK] ContextMenu and ContextMenuItem lacks an implementation - - Add context menu support. - - Based on a patch by Holger Freyther. - - * WebCoreSupport/ContextMenuClientGtk.cpp: - (WebKit::ContextMenuClient::getCustomMenuFromDefaultItems): - * WebView/webkitprivate.h: - * WebView/webkitwebview.cpp: - -2007-12-29 Jan Michael Alonzo - - Reviewed by Alp Toker. - - http://bugs.webkit.org/show_bug.cgi?id=16669 - autotools update and fixes - - pkgconfig file and icon database inclusion fix - - * WebKitGtk.pc.in: Remove ICU_FLAGS from Cflags - * WebView/webkitprivate.cpp: Guard ICONDATABASE inclusions - -2007-12-28 Christian Dywan - - Reviewed by Alp Toker. - - http://bugs.webkit.org/show_bug.cgi?id=16642 - [GTK] webkit_web_view_has_selection returns the opposite result - - Invert the return value. - - * WebView/webkitwebview.cpp: - -2007-12-26 Jan Michael Alonzo - - Reviewed by Alp Toker. - - http://bugs.webkit.org/show_bug.cgi?id=16390 - Use autotools or GNU make as the build system for the GTK port - - * WebKitGtk.pc.in: Added. - -2007-12-24 Christian Dywan - - Reviewed by Alp Toker. - - http://bugs.webkit.org/attachment.cgi?id=18099 - There are no NULL checks for strings in public api - - Add missing NULL checks for string parameters. - - Provide sensible defaults when NULL is passed for the optional - parameters in webkit_web_view_load_string(). UTF-8 is the default - encoding used by GLib and text/html is a reasonable default content - type. - - * WebView/webkitnetworkrequest.cpp: - * WebView/webkitwebview.cpp: - -2007-12-22 Xan Lopez - - Reviewed by Alp Toker. - - Use webView, web_view, etc for variable names instead of page, which - was left over from the old API. - - * WebCoreSupport/EditorClientGtk.cpp: - (WebKit::imContextCommitted): - (WebKit::EditorClient::EditorClient): - (WebKit::EditorClient::~EditorClient): - (WebKit::EditorClient::textFieldDidBeginEditing): - (WebKit::EditorClient::textFieldDidEndEditing): - * WebCoreSupport/EditorClientGtk.h: - * WebCoreSupport/FrameLoaderClientGtk.cpp: - (WebKit::FrameLoaderClient::postProgressStartedNotification): - (WebKit::FrameLoaderClient::postProgressEstimateChangedNotification): - (WebKit::FrameLoaderClient::postProgressFinishedNotification): - (WebKit::FrameLoaderClient::dispatchDecidePolicyForNavigationAction): - (WebKit::FrameLoaderClient::windowObjectCleared): - (WebKit::FrameLoaderClient::dispatchDidReceiveIcon): - (WebKit::FrameLoaderClient::dispatchDidReceiveTitle): - (WebKit::FrameLoaderClient::dispatchDidCommitLoad): - -2007-12-22 Alp Toker - - GTK+ build fix - - GTK_TARGET_OTHER_APP is not available in older GTK+ versions. Pass - empty target flags for now. - - Check GTK+, not GLib versions, since they are different. - - * WebView/webkitwebview.cpp: - -2007-12-22 Luca Bruno - - Reviewed by Alp Toker. - - http://bugs.webkit.org/show_bug.cgi?id=16311 - [Gtk] Copy rich text to clipboard as text/plain and text/html. - - Add copy and paste targets for WebView and implement - WebCore::PasteboardHelper. - - * WebCoreSupport/PasteboardHelperGtk.cpp: Added. - (WebKit::PasteboardHelperGtk::getClipboard): - (WebKit::PasteboardHelperGtk::getCopyTargetList): - (WebKit::PasteboardHelperGtk::getPasteTargetList): - * WebCoreSupport/PasteboardHelperGtk.h: Added. - * WebView/webkitprivate.cpp: - (webkit_init): set the PasteboardHelperGtk as WebCore::Pasteboard helper - * WebView/webkitprivate.h: - (_WebKitWebViewPrivate::copy_target_list): added - (_WebKitWebViewPrivate::paste_target_list): added - * WebView/webkitwebview.cpp: - (webkit_web_view_get_property): added - (webkit_web_view_finalize): - (webkit_web_view_class_init): create properties for COPY_TARGET and PASTE_TARGET and create the copy and paste target lists - (webkit_web_view_get_copy_target_list): added - (webkit_web_view_get_paste_target_list): added - * WebView/webkitwebview.h: - (webkit_web_view_get_copy_target_list): added - (webkit_web_view_get_paste_target_list): added - -2007-12-22 Xan Lopez - - Reviewed by Alp Toker. - - Follow up to http://bugs.webkit.org/show_bug.cgi?id=16144 - - * WebView/webkitwebview.cpp: - Fix signal id arguments for g_signal_emit in - clipboard functions. - -2007-12-21 Alp Toker - - Documentation typo fix: s/wether/whether - - * WebView/webkitwebview.cpp: - -2007-12-21 Christian Dywan - - Reviewed by Alp Toker. - - http://bugs.webkit.org/show_bug.cgi?id=16144 - [GTK] Clipboard/ selection handling functions - - * WebView/webkitprivate.h: - * WebView/webkitwebview.cpp: - * WebView/webkitwebview.h: - -2007-12-19 Christian Dywan - - Reviewed by Alp Toker. - - http://bugs.webkit.org/show_bug.cgi?id=16222 - [GTK] Implement inline search and highlighting of matching strings. - - * WebView/webkitwebview.cpp: - * WebView/webkitwebview.h: - -2007-12-19 Alp Toker - - Reviewed by Holger Freyther. - - Delete when Destroy functions are called to avoid leaks - - This matches the Mac port. - - * WebCoreSupport/ChromeClientGtk.cpp: - * WebCoreSupport/ContextMenuClientGtk.cpp: - * WebCoreSupport/InspectorClientGtk.cpp: - -2007-12-14 Juan A. Suarez Romero - - Reviewed by Alp Toker. - - http://bugs.webkit.org/show_bug.cgi?id=16042 - [GTK] Eliminate webkit_init() - - Move webkit initialization to WebView class init. - - * WebView/headers.pri: - * WebView/webkit.h: - * WebView/webkitglobal.cpp: Removed. - * WebView/webkitglobal.h: Removed. - * WebView/webkitprivate.cpp: - (WebKit::webkit_init): - * WebView/webkitprivate.h: - * WebView/webkitwebframe.cpp: - * WebView/webkitwebview.cpp: - -2007-12-17 Luca Bruno - - Reviewed by Alp Toker. - - http://bugs.webkit.org/show_bug.cgi?id=13542 - gdklauncher doesnt change URL in adress GTKEntry. - - Let DOMDocument observers do their work before emitting title-changed. - The load-committed signal has been added for both the view and the frame. - - * WebCoreSupport/FrameLoaderClientGtk.cpp: - (WebKit::FrameLoaderClient::dispatchDidReceiveTitle): emit title-changed - (WebKit::FrameLoaderClient::setTitle): set private title - (WebKit::FrameLoaderClient::dispatchDidCommitLoad): update the frame uri and emit load-committed - * WebView/webkit-marshal.list: - * WebView/webkitprivate.h: - (_WebKitWebFramePrivate): rename location to uri - * WebView/webkitwebframe.cpp: - (webkit_web_frame_get_location): renamed to *_get_uri - (webkit_web_frame_get_uri): - (webkit_web_frame_real_title_changed): removed (see FrameLoaderClient::setTitle) - (webkit_web_frame_class_init): pass the frame and the title in title-changed, not the uri - (webkit_web_frame_finalize): - * WebView/webkitwebframe.h: - (_WebKitWebFrameClass): removed title_changed - * WebView/webkitwebview.cpp: - (webkit_web_view_class_init): pass only the title in title-changed - -2007-12-14 Alp Toker - - Fix inconsistent indentation in the license header. Maciej was right! - - * WebCoreSupport/FrameLoaderClientGtk.cpp: - -2007-12-14 Alp Toker - - Reviewed by Maciej. - - http://bugs.webkit.org/show_bug.cgi?id=16432 - [GTK] Update license headers - - Consent has been given by the authors of these files to change license - to the LGPL as outlined in the bug report. - - * WebCoreSupport/ChromeClientGtk.cpp: - * WebCoreSupport/ContextMenuClientGtk.cpp: - * WebCoreSupport/DragClientGtk.cpp: - * WebCoreSupport/EditorClientGtk.cpp: - * WebCoreSupport/FrameLoaderClientGtk.cpp: - (WebKit::FrameLoaderClient::makeRepresentation): - (WebKit::FrameLoaderClient::forceLayout): - (WebKit::FrameLoaderClient::forceLayoutForNonHTML): - (WebKit::FrameLoaderClient::setCopiesOnScroll): - (WebKit::FrameLoaderClient::detachedFromParent1): - (WebKit::FrameLoaderClient::detachedFromParent2): - (WebKit::FrameLoaderClient::detachedFromParent3): - (WebKit::FrameLoaderClient::detachedFromParent4): - (WebKit::FrameLoaderClient::loadedFromCachedPage): - (WebKit::FrameLoaderClient::dispatchDidHandleOnloadEvents): - (WebKit::FrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad): - (WebKit::FrameLoaderClient::dispatchDidCancelClientRedirect): - (WebKit::FrameLoaderClient::dispatchWillPerformClientRedirect): - (WebKit::FrameLoaderClient::dispatchDidChangeLocationWithinPage): - (WebKit::FrameLoaderClient::dispatchWillClose): - (WebKit::FrameLoaderClient::dispatchDidCommitLoad): - (WebKit::FrameLoaderClient::dispatchDidFinishDocumentLoad): - (WebKit::FrameLoaderClient::dispatchDidFirstLayout): - (WebKit::FrameLoaderClient::dispatchShow): - (WebKit::FrameLoaderClient::cancelPolicyCheck): - (WebKit::FrameLoaderClient::dispatchDidLoadMainResource): - (WebKit::FrameLoaderClient::revertToProvisionalState): - (WebKit::FrameLoaderClient::clearUnarchivingState): - (WebKit::FrameLoaderClient::willChangeTitle): - (WebKit::FrameLoaderClient::didChangeTitle): - (WebKit::FrameLoaderClient::finalSetupForReplace): - (WebKit::FrameLoaderClient::setDefersLoading): - (WebKit::FrameLoaderClient::isArchiveLoadPending): - (WebKit::FrameLoaderClient::cancelPendingArchiveLoad): - (WebKit::FrameLoaderClient::clearArchivedResources): - (WebKit::FrameLoaderClient::canHandleRequest): - (WebKit::FrameLoaderClient::canShowMIMEType): - (WebKit::FrameLoaderClient::representationExistsForURLScheme): - (WebKit::FrameLoaderClient::generatedMIMETypeForURLScheme): - (WebKit::FrameLoaderClient::dispatchDidReceiveContentLength): - (WebKit::FrameLoaderClient::dispatchDidFinishLoading): - (WebKit::FrameLoaderClient::dispatchDidFailLoading): - (WebKit::FrameLoaderClient::dispatchDidLoadResourceFromMemoryCache): - (WebKit::FrameLoaderClient::download): - (WebKit::FrameLoaderClient::cancelledError): - (WebKit::FrameLoaderClient::blockedError): - (WebKit::FrameLoaderClient::cannotShowURLError): - (WebKit::FrameLoaderClient::interruptForPolicyChangeError): - (WebKit::FrameLoaderClient::cannotShowMIMETypeError): - (WebKit::FrameLoaderClient::fileDoesNotExistError): - (WebKit::FrameLoaderClient::shouldFallBack): - (WebKit::FrameLoaderClient::willUseArchive): - (WebKit::FrameLoaderClient::canCachePage): - (WebKit::FrameLoaderClient::dispatchCreatePage): - (WebKit::FrameLoaderClient::dispatchUnableToImplementPolicy): - (WebKit::FrameLoaderClient::setMainDocumentError): - (WebKit::FrameLoaderClient::startDownload): - (WebKit::FrameLoaderClient::updateGlobalHistoryForStandardLoad): - (WebKit::FrameLoaderClient::updateGlobalHistoryForReload): - (WebKit::FrameLoaderClient::savePlatformDataToCachedPage): - (WebKit::FrameLoaderClient::transitionToCommittedFromCachedPage): - (WebKit::FrameLoaderClient::transitionToCommittedForNewPage): - * WebCoreSupport/InspectorClientGtk.cpp: - * WebView/webkitwebview.cpp: - -2007-12-14 Darin Adler - - Reviewed by Alexey. - - * WebCoreSupport/EditorClientGtk.cpp: - (WebKit::EditorClient::handleKeyboardEvent): Changed to use Editor::command - instead of Editor::execCommand. - * WebView/webkitwebview.cpp: Ditto. - -2007-12-12 Brady Eidson - - Reviewed by Sam Weinig - - As part of doing some CachedPage and client cleanup, keep GTK building - - * WebCoreSupport/FrameLoaderClientGtk.cpp: - (WebKit::FrameLoaderClient::savePlatformDataToCachedPage): - (WebKit::FrameLoaderClient::transitionToCommittedFromCachedPage): - (WebKit::FrameLoaderClient::transitionToCommittedForNewPage): - * WebCoreSupport/FrameLoaderClientGtk.h: - -2007-12-12 Alp Toker - - Reviewed by Holger Freyther. - - http://bugs.webkit.org/show_bug.cgi?id=15576 - [GTK] Printing support - - Add printing support. - - The API will be kept internal for the time being, but printing can now - be triggered by Web pages or the JSC API using JavaScript. - - The print spooler and pagination code is fairly abstract and could be - shared by other ports including Win and Qt once complete. It doesn't - have header/footer support yet. - - * WebCoreSupport/ChromeClientGtk.cpp: - (WebKit::ChromeClient::print): - * WebView/webkitprivate.h: - * WebView/webkitwebframe.cpp: - (PrintContext::begin_print): - (PrintContext::draw_page): - (PrintContext::end_print): - (PrintContext::webkit_web_frame_print): - -2007-12-12 Sam Weinig - - Build fix. - - * WebCoreSupport/FrameLoaderClientGtk.cpp: - (WebKit::FrameLoaderClient::didChangeTitle): - -2007-12-12 Sam Weinig - - Build fix. - - * WebCoreSupport/FrameLoaderClientGtk.cpp: - (WebKit::FrameLoaderClient::dispatchDecidePolicyForNavigationAction): - -2007-12-11 George Wright - - Reviewed by Alp Toker. - - http://bugs.webkit.org/show_bug.cgi?id=14120 - [GDK] Support input methods - - This patch adds infrastructure for input method support. - - It also adds Hildon features for the Maemo mobile platform sufficient - to support the virtual keyboard. - - * WebCoreSupport/EditorClientGtk.cpp: - (WebKit::imContextCommitted): - (WebKit::EditorClient::EditorClient): - (WebKit::EditorClient::~EditorClient): - (WebKit::EditorClient::textFieldDidBeginEditing): - (WebKit::EditorClient::textFieldDidEndEditing): - * WebCoreSupport/EditorClientGtk.h: - * WebView/webkitprivate.h: - * WebView/webkitwebview.cpp: - -2007-12-07 Alexey Proskuryakov - - Reviewed by Darin Adler. - - - Have to press 4 times instead of 2 times to get the expected result of ^^ with german keyboard. - - http://bugs.webkit.org/show_bug.cgi?id=13916 - JavaScript detects Tab as a character input on a textfield validation - - * WebCoreSupport/EditorClientGtk.cpp: - (WebKit::EditorClient::handleKeyboardEvent): - (WebKit::EditorClient::handleInputMethodKeydown): - * WebCoreSupport/EditorClientGtk.h: - Updated for cross-platform changes as much as it was possible without a gtk build environment. - -2007-12-08 Luca Bruno - - Reviewed by Alp Toker. - - http://bugs.webkit.org/show_bug.cgi?id=16346 - [GTK] Some webview parts must use the focused frame. - - Also update some old code. - - * WebView/webkitprivate.cpp: - (getFrameFromView): removed - - * WebView/webkitprivate.h: - (getFrameFromView): removed - - * WebView/webkitwebview.cpp: - (webkit_web_view_expose_event): - (webkit_web_view_key_press_event): use focused frame - (webkit_web_view_key_release_event): use focused frame - (webkit_web_view_button_press_event): - (webkit_web_view_button_release_event): - (webkit_web_view_motion_event): - (webkit_web_view_scroll_event): - (webkit_web_view_size_allocate): - (webkit_web_view_set_scroll_adjustments): - (webkit_web_view_execute_script): - (webkit_web_view_stop_loading): - (webkit_web_view_load_string): - (webkit_web_view_reload): - (webkit_web_view_open): - (webkit_web_view_can_go_forward): - (webkit_web_view_can_go_backward): - (webkit_web_view_go_forward): - (webkit_web_view_go_backward): - - * WebCoreSupport/EditorClientGtk.cpp: - (WebKit::EditorClient::handleKeypress): fix for page up and page down keys for editable contents - -2007-12-07 Luca Bruno - - Reviewed by Alp Toker. - - http://bugs.webkit.org/show_bug.cgi?id=16333 - [GTK] Key bindings must work with focused frames. - - There are still more cases where getFrameFromView() is mis-used that - need to be fixed, but this is a good start. - - * WebView/webkitwebview.cpp: - (webkit_web_view_real_select_all): - (webkit_web_view_real_cut_clipboard): - (webkit_web_view_real_copy_clipboard): - (webkit_web_view_real_paste_clipboard): - -2007-12-06 Xan Lopez - - Reviewed by Alp Toker. - - http://bugs.webkit.org/show_bug.cgi?id=16329 - [GTK] Two small cleanups - - * WebCoreSupport/ChromeClientGtk.cpp: - (WebKit::ChromeClient::createWindow): - (WebKit::ChromeClient::addMessageToConsole): - (WebKit::ChromeClient::runJavaScriptAlert): - (WebKit::ChromeClient::runJavaScriptConfirm): - (WebKit::ChromeClient::runJavaScriptPrompt): - (WebKit::ChromeClient::setStatusbarText): - (WebKit::ChromeClient::mouseDidMoveOverElement): - (WebKit::ChromeClient::setToolTip): - * WebCoreSupport/ChromeClientGtk.h: - * WebView/webkitprivate.cpp: - (WebKit::kit): - s/m_webPage/m_webView/ - * WebView/webkitwebview.cpp: - Chain up to the parent class to activate bindings instead - of doing it explicitely. - -2007-12-06 Holger Hans Peter Freyther - - Reviewed by Alp Toker. - - http://bugs.webkit.org/show_bug.cgi?id=16173 - Licensing change - - Change license from BSD to LGPL. - - * WebCoreSupport/ChromeClientGtk.h: - * WebView/webkitdefines.h: - * WebView/webkitglobal.cpp: - * WebView/webkitglobal.h: - * WebView/webkitnetworkrequest.cpp: - * WebView/webkitnetworkrequest.h: - * WebView/webkitprivate.cpp: - * WebView/webkitprivate.h: - * WebView/webkitsettings.cpp: - * WebView/webkitsettings.h: - * WebView/webkitwebframe.cpp: - * WebView/webkitwebframe.h: - * WebView/webkitwebview.h: - -2007-12-05 Michael Natterer - - Reviewed by Alp Toker. - - * WebView/webkitwebview.cpp: split key and button event handlers - into separate press and release functions. - -2007-12-05 Luca Bruno - - Reviewed by Alp Toker. - - Handle events for Home and End keys. - - * WebView/webkitwebview.cpp: - (webkit_web_view_key_event): - * WebCoreSupport/EditorClientGtk.cpp: - (EditorClient::handleKeypress): - -2007-12-05 Michael Natterer - - Reviewed by Alp Toker. - - * WebView/webkitwebview.cpp - * WebCoreSupport/ChromeClientGtk.cpp - * WebCoreSupport/FrameLoaderClientGtk.cpp: canonicalize signal names. - -2007-12-04 Darin Adler - - Reviewed by Kevin Decker. - - * WebCoreSupport/FrameLoaderClientGtk.cpp: Removed obsolete privateBrowsingEnabled. - * WebCoreSupport/FrameLoaderClientGtk.h: Ditto. - -2007-12-04 Michael Natterer - - Reviewed by Alp Toker. - - * WebView/webkitwebframe.cpp: don't redeclare the marshaller - prototype but simply include "webkit-marshal.h" now that its build - is fixed. - -2007-12-04 Luca Bruno - - Reviewed by Alp Toker. - - Fix a regression in key press propagation in r28386. - - Fix indentation (was off by two spaces). - - * WebView/webkitwebview.cpp: - -2007-12-04 Luca Bruno - - Reviewed by Alp Toker. - - http://bugs.webkit.org/show_bug.cgi?id=15911 - [GTK] Use GtkBindingSet to make key bindings user-configurable - - This patch doesn't cover the full range of bindings, only the ones - that seem obviously correct and have clear public API. - - * WebCoreSupport/EditorClientGtk.cpp: - (WebKit::EditorClient::handleKeypress): do not handle clipboard operations and select-all - * WebView/webkitwebview.cpp: add cut, copy, paste and select-all signals and allow binding sets (issue #15911 and #16144) - * WebView/webkitwebview.h: - -2007-12-04 Xan Lopez - - Reviewed by Alp Toker. - - http://bugs.webkit.org/show_bug.cgi?id=15561 - GTK port needs DumpRenderTree implementation - - Start work on the GTK+ DRT. - - Add a couple of proposed new API entry points. They are currently for - internal use only by DRT and not in the public headers. - - * WebView/webkitprivate.h: - * WebView/webkitwebframe.cpp: - -2007-12-03 Dan Bernstein - - Reviewed by Dave Hyatt. - - - fix Resize event doesn't fire on body element inside a frame - - * WebView/webkitwebview.cpp: Remove the call to sendResizeEvent() since - FrameView sends it now. - -2007-12-03 Alp Toker - - globalObject() GTK+ build fix. - - * WebCoreSupport/FrameLoaderClientGtk.cpp: - (WebKit::FrameLoaderClient::windowObjectCleared): - -2007-12-03 Geoffrey Garen - - GTK Build fix: get globalExec from the right place. - - * WebView/webkitwebframe.cpp: - -2007-12-01 Alp Toker - - Reviewed by Adam Roben. - - Wrap type definitions in webkitdefines.h with G_BEGIN_DECLS, which - takes care of extern "C". - - Introduce a webkit.h convenience header. - - Remove another left-over from the old API. - - * WebView/headers.pri: - * WebView/webkit.h: Added. - * WebView/webkitdefines.h: - -2007-12-01 Alp Toker - - Reviewed by Adam Roben. - - http://bugs.webkit.org/show_bug.cgi?id=15687 - [Gtk] Allow API clients to interact with JavaScript in web pages - - Include the necessary JavaScriptCore headers directly in the public - API headers. - - This is the last of a series of changes needed to allow GTK+ - applications to access the JS API. - - Until http://bugs.webkit.org/show_bug.cgi?id=16029 is resolved, - developers will still have to include the individual JS API headers - individually if they want to use it in their applications. - - Patch also removes some old legacy use of GDK that was in - WebKitWebFrame. No ABI change. - - * WebView/webkitdefines.h: - * WebView/webkitwebframe.h: - * WebView/webkitwebview.h: - -2007-11-30 Jan Michael Alonzo - - Fix for GTK+ Debug build breakage introduced in r28273. - - * WebView/webkitprivate.cpp: - (WebKit::kit): - -2007-11-30 Alp Toker - - Reviewed by Adam Roben. - - http://bugs.webkit.org/show_bug.cgi?id=15691 - [GTK] Public API does not follow GTK+ conventions - - Refactor the WebKit/GTK+ public API. Changes: - WebKitPage -> WebKitWebView - WebKitFrame -> WebKitWebFrame - - Public API source and header names have been updated to mirror the API - changes. - - The API is now kept in WebKit/gtk/WebView to match other ports in the - same class such as Mac and Win. - - API/ABI-breaking change. - - * Api: Removed. - * Api/headers.pri: Removed. - * Api/webkitgtk-marshal.list: Removed. - * Api/webkitgtkdefines.h: Removed. - * Api/webkitgtkframe.cpp: Removed. - * Api/webkitgtkframe.h: Removed. - * Api/webkitgtkglobal.cpp: Removed. - * Api/webkitgtkglobal.h: Removed. - * Api/webkitgtknetworkrequest.cpp: Removed. - * Api/webkitgtknetworkrequest.h: Removed. - * Api/webkitgtkpage.cpp: Removed. - * Api/webkitgtkpage.h: Removed. - * Api/webkitgtkprivate.cpp: Removed. - * Api/webkitgtkprivate.h: Removed. - * Api/webkitgtksettings.cpp: Removed. - * Api/webkitgtksettings.h: Removed. - * WebCoreSupport/ChromeClientGtk.cpp: - (WebKit::ChromeClient::ChromeClient): - (WebKit::ChromeClient::createWindow): - * WebCoreSupport/ChromeClientGtk.h: - (WebKit::ChromeClient::webPage): - * WebCoreSupport/EditorClientGtk.cpp: - (WebKit::EditorClient::isEditable): - (WebKit::EditorClient::EditorClient): - * WebCoreSupport/EditorClientGtk.h: - * WebCoreSupport/FrameLoaderClientGtk.cpp: - (WebKit::FrameLoaderClient::FrameLoaderClient): - (WebKit::FrameLoaderClient::postProgressStartedNotification): - (WebKit::FrameLoaderClient::postProgressEstimateChangedNotification): - (WebKit::FrameLoaderClient::postProgressFinishedNotification): - (WebKit::FrameLoaderClient::dispatchDecidePolicyForNavigationAction): - (WebKit::FrameLoaderClient::createFrame): - (WebKit::FrameLoaderClient::windowObjectCleared): - (WebKit::FrameLoaderClient::dispatchDidReceiveIcon): - (WebKit::FrameLoaderClient::setTitle): - * WebCoreSupport/FrameLoaderClientGtk.h: - (WebKit::FrameLoaderClient::webFrame): - * WebView: Added. - * WebView/headers.pri: Added. - * WebView/webkit-marshal.list: Added. - * WebView/webkitdefines.h: Added. - * WebView/webkitglobal.cpp: Added. - * WebView/webkitglobal.h: Added. - * WebView/webkitnetworkrequest.cpp: Added. - * WebView/webkitnetworkrequest.h: Added. - * WebView/webkitprivate.cpp: Added. - (WebKit::apply): - (WebKit::create): - (WebKit::getFrameFromView): - (WebKit::getViewFromFrame): - (WebKit::core): - (WebKit::kit): - * WebView/webkitprivate.h: Added. - * WebView/webkitsettings.cpp: Added. - * WebView/webkitsettings.h: Added. - * WebView/webkitwebframe.cpp: Added. - * WebView/webkitwebframe.h: Added. - * WebView/webkitwebview.cpp: Added. - * WebView/webkitwebview.h: Added. - -2007-11-28 Alp Toker - - Reviewed by Timothy Hatcher. - - http://bugs.webkit.org/show_bug.cgi?id=16174 - [GTK] Use "URI" not "URL" in public API - - Replace use of the term "URL" with "URI" in public headers, - documentation and some internal code to match GLib/GTK+ convention. - - This is now mentioned in the API guidelines: - http://trac.webkit.org/projects/webkit/wiki/HackingGtk - - API/ABI-breaking change. - - * Api/webkitgtkframe.cpp: - * Api/webkitgtknetworkrequest.cpp: - * Api/webkitgtknetworkrequest.h: - * Api/webkitgtkpage.cpp: - * Api/webkitgtkpage.h: - * Api/webkitgtkprivate.h: - * Api/webkitgtksettings.h: - -2007-11-29 Brady Eidson - - Better build fix for Gtk - - * WebCoreSupport/ChromeClientGtk.h: - -2007-11-29 Brady Eidson - - Keep it building with new client method - - * WebCoreSupport/ChromeClientGtk.cpp: - (WebKit::ChromeClient::requestQuotaIncreaseForNewDatabase): - (WebKit::ChromeClient::requestQuotaIncreaseForDatabaseOperation): - * WebCoreSupport/ChromeClientGtk.h: - -2007-11-26 Alp Toker - - Reviewed by Adam Roben. - - http://bugs.webkit.org/show_bug.cgi?id=16149 - Implement the window-object-cleared signal - - This implementation provides the JSGlobalContextRef and JSObjectRef - directly rather than using an intermediate JS wrapper object, similar - to the approach taken by the Win port. - - * Api/webkitgtk-marshal.list: - * Api/webkitgtkframe.h: - * Api/webkitgtkpage.cpp: - * Api/webkitgtkpage.h: - * WebCoreSupport/FrameLoaderClientGtk.cpp: - (WebKit::FrameLoaderClient::windowObjectCleared): - -2007-11-24 Alp Toker - - Reviewed by Mark Rowe. - - http://bugs.webkit.org/show_bug.cgi?id=15691 - [GTK] Public API does not follow GTK+ conventions - - Public API enhancements: - - Implement webkit_page_get_editable() and webkit_page_set_editable(). - - Implement webkit_frame_get_name(). - - Remove definitions for functions that are unusable or not implemented. - This has caused much confusion for application developers. - - Improve documentation. - - Correct/constify some return types. - - Add parameter checks. - - Make the default fixed font "Courier New" to match the other Web - font names. - - * Api/webkitgtkframe.cpp: - * Api/webkitgtkframe.h: - * Api/webkitgtkpage.cpp: - * Api/webkitgtkpage.h: - * Api/webkitgtkprivate.h: - * WebCoreSupport/EditorClientGtk.cpp: - (WebKit::EditorClient::isEditable): - -2007-11-24 Alp Toker - - Reviewed by Mark Rowe. - - http://bugs.webkit.org/show_bug.cgi?id=16125 - [GTK] Up key doesn't work properly when content is editable - - Add a missing 'break' to avoid falling through to the next case when - handling VK_UP keystrokes. This was noticed when working on editing - support in the GTK+ port. - - I've checked the other cases for similar typos and they seem fine. - - * WebCoreSupport/EditorClientGtk.cpp: - (WebKit::EditorClient::handleKeypress): - -2007-11-24 Xan Lopez - - Reviewed by Alp Toker. - - http://bugs.webkit.org/show_bug.cgi?id=15745 - [GTK] Arrow keys do not Scroll - - * Api/webkitgtkpage.cpp: - - Support Up/Down/Right/Left keys to scroll. Slight hack, see FIXME for - details. - -2007-11-24 Christian Dywan - - Reviewed by Alp Toker. - - http://bugs.webkit.org/show_bug.cgi?id=15891 - [GTK] Javascript console and dialogs are not implemented - - Fix call to gtk_message_dialog_new() which expects a format string. - - * Api/webkitgtkpage.cpp: - -2007-11-24 Christian Dywan - - Reviewed by Alp Toker. - - http://bugs.webkit.org/show_bug.cgi?id=15793 - [GTK] Webkit doesn't show title attribute tooltip when hovering over an image - - Implement tooltip support using the new Tooltip API. - - Support for older versions of GTK+ is still lacking. - - * WebCoreSupport/ChromeClientGtk.cpp: - (WebKit::ChromeClient::setToolTip): - -2007-11-22 Alp Toker - - Reviewed by Mark Rowe. - - Implement and document several WebKitFrame functions, some of which - are necessary to support DRT. - - Correct NULL handling and improve run-time checks. - - * Api/webkitgtkframe.cpp: - * Api/webkitgtkframe.h: - * Api/webkitgtkprivate.cpp: - -2007-11-22 Alp Toker - - Whitespace fixes only. - - * Api/webkitgtkframe.cpp: - * Api/webkitgtkpage.cpp: - * Api/webkitgtkpage.h: - * Api/webkitgtkprivate.h: - * WebCoreSupport/ChromeClientGtk.cpp: - * WebCoreSupport/ContextMenuClientGtk.cpp: - * WebCoreSupport/ContextMenuClientGtk.h: - * WebCoreSupport/DragClientGtk.h: - * WebCoreSupport/EditorClientGtk.h: - * WebCoreSupport/FrameLoaderClientGtk.cpp: - (WebKit::FrameLoaderClient::dispatchWillSendRequest): - (WebKit::FrameLoaderClient::assignIdentifierToInitialRequest): - (WebKit::FrameLoaderClient::postProgressEstimateChangedNotification): - (WebKit::FrameLoaderClient::createFrame): - (WebKit::FrameLoaderClient::createJavaAppletWidget): - (WebKit::FrameLoaderClient::registerForIconNotification): - (WebKit::FrameLoaderClient::setMainFrameDocumentReady): - (WebKit::FrameLoaderClient::dispatchDidFinishLoad): - (WebKit::FrameLoaderClient::frameLoadCompleted): - (WebKit::FrameLoaderClient::saveViewStateToItem): - (WebKit::FrameLoaderClient::restoreViewState): - (WebKit::FrameLoaderClient::shouldGoToHistoryItem): - (WebKit::FrameLoaderClient::setTitle): - * WebCoreSupport/FrameLoaderClientGtk.h: - -2007-11-22 Michael Natterer - - Reviewed by Alp Toker. - - http://bugs.webkit.org/show_bug.cgi?id=15984 - Implement "navigation-requested" signal for WebKit Gtk - - * Api/webkitgtknetworkrequest.h: fix parent class member. - - * Api/webkitgtknetworkrequest.cpp - * Api/webkitgtkprivate.h: basic implementation featuring an - "url" member and API. - - * Api/webkitgtkdefines.h: added network request typedefs. - - * Api/webkitgtkpage.h: fix enum name: - s/WEBKIT_NAVIGATION_REQUEST_RESPONSE/WebKitNavigationRequestResponse/ - and sanitized enum values. - - * Api/webkitgtkpage.cpp: made "navigation-requested" a signal. - - * Api/webkitgtk-marshal.list: added INT:OBJECT,OBJECT - - * WebCoreSupport/FrameLoaderClientGtk.cpp: emit the new signal in - dispatchDecidePolicyForNavigationAction(). - -2007-11-18 Christian Dywan - - Reviewed by Alp. - - http://bugs.webkit.org/show_bug.cgi?id=15891 - [GTK] Javascript console and dialogs are not implemented - - Correct script-prompt to return NULL when cancelled. - - Small changes to avoid compiler warnings. - - * Api/webkitgtkpage.cpp: - -2007-11-17 Timothy Hatcher - - Reviewed by Mark Rowe. - - Bug 13470: i18n: The Web Inspector is not localizable - http://bugs.webkit.org/show_bug.cgi?id=13470 - - * WebCoreSupport/InspectorClientGtk.cpp: - (WebKit::InspectorClient::localizedStringsURL): Empty stub. - * WebCoreSupport/InspectorClientGtk.h: Add localizedStringsURL. - -2007-11-13 Mark Rowe - - Gtk build fix. Replace incorrect use of the LOG macro with g_print. - - * Api/webkitgtkpage.cpp: - -2007-11-13 Christian Dywan - - Reviewed by Alp. - - http://bugs.webkit.org/show_bug.cgi?id=15891 - [GTK] Javascript console and dialogs are not implemented - - Implement signals for script dialogs and console messages. - - * Api/webkitgtk-marshal.list: - * Api/webkitgtkpage.cpp: - * Api/webkitgtkpage.h: - * WebCoreSupport/ChromeClientGtk.cpp: - (WebKit::ChromeClient::addMessageToConsole): - (WebKit::ChromeClient::runJavaScriptAlert): - (WebKit::ChromeClient::runJavaScriptConfirm): - (WebKit::ChromeClient::runJavaScriptPrompt): - -2007-11-11 Alp Toker - - Reviewed by Anders. - - Initialize m_userAgent. - - Fix typos in GDK_WINDOWING conditionals. - - * WebCoreSupport/FrameLoaderClientGtk.cpp: - (WebKit::FrameLoaderClient::FrameLoaderClient): - (WebKit::agentPlatform): - -2007-11-11 Alp Toker - - Reviewed by Mark Rowe. - - Mention Safari in the UserAgent string to improve site compatibility. - - Also bump the hard-coded AppleWebKit version number. - - * WebCoreSupport/FrameLoaderClientGtk.cpp: - (WebKit::composeUserAgent): - -2007-11-09 Xan Lopez - - Reviewed by Alp. - - Fix http://bugs.webkit.org/show_bug.cgi?id=15926 - [GTK] WebKitPage map handler is redundant. - - * Api/webkitgtkpage.cpp: - The map handler for WebKitPage is redundant, GtkContainer does - the same (and more correctly). - -2007-11-08 Alp Toker - - Reviewed by Mark Rowe. - - http://bugs.webkit.org/show_bug.cgi?id=15653 - [GTK] Text editor does not handle common keystrokes - - Handle more keystrokes in EditorClientGtk. Note that this is a - temporary measure pending a proper solution using GtkBindingSet (see - http://bugs.webkit.org/show_bug.cgi?id=15911). - - * WebCoreSupport/EditorClientGtk.cpp: - (WebKit::EditorClient::handleKeypress): - -2007-11-08 Kevin McCullough - - Reviewed by Sam. - - - windowObjectCleared() is no longer const. It needs to setup the - script debugger and cannot be const to do so. - - * WebCoreSupport/FrameLoaderClientGtk.cpp: - (WebKit::FrameLoaderClient::windowObjectCleared): - * WebCoreSupport/FrameLoaderClientGtk.h: - -2007-11-06 Rodney Dawes - - Fix http://bugs.webkit.org/attachment.cgi?id=17043&action=view - Bug 15766: [GTK] WebKit sometimes spews binary data as text/plain into iframes - - FrameLoaderClient::objectContentType needs to check with the MIMETypeRegistry - to determine whether the given MIME type is displayable as an image or non-image. - - * WebCoreSupport/FrameLoaderClientGtk.cpp: - (FrameLoaderClient::objectContentType): Change logic to match that in - the Windows and Mac ports. - -2007-11-05 Christian Dywan - - Reviewed by Maciej. - - http://bugs.webkit.org/show_bug.cgi?id=15409 - FrameLoaderClientGtk hardcodes data, including platform to Linux i686 - - Compute a proper user agent string. - - Patch includes fixes by Alp. - - * WebCoreSupport/FrameLoaderClientGtk.cpp: - (WebKit::agentPlatform): - (WebKit::agentOS): - (WebKit::composeUserAgent): - (WebKit::FrameLoaderClient::userAgent): - * WebCoreSupport/FrameLoaderClientGtk.h: - -2007-11-05 Mark Rowe - - Rubber-stamped by Alp Toker. - - Remove unused m_firstData member from FrameLoaderClientGtk. - - * WebCoreSupport/FrameLoaderClientGtk.cpp: - * WebCoreSupport/FrameLoaderClientGtk.h: - -2007-11-05 Mark Rowe - - Reviewed by Alp Toker. - - Fix http://bugs.webkit.org/show_bug.cgi?id=15842 - Bug 15842: [Gtk] about:blank doesn't work - - * WebCoreSupport/FrameLoaderClientGtk.cpp: - (WebKit::FrameLoaderClient::finishedLoading): Set the encoding on the frame loader to - get work done that is normally done when the first bit of data is received, even in the - case of a document with no data (like about:blank). - -2007-11-03 Alp Toker - - Reviewed by Mark Rowe. - - Restore correct double and triple click behaviour - - We ended up ignoring GDK_2BUTTON_PRESS and GDK_3BUTTON_PRESS after - recent refactoring. - - * Api/webkitgtkpage.cpp: - -2007-11-03 Alp Toker - - Reviewed by Mark Rowe. - - Frame scrolling and invalidation fixes - - Make upward scroll events have a positive delta to match other ports. - - Fix the invalidation rect offset for frames so that scrolling works properly. - - Avoid allocating negative sizes to widgets to avoid GTK+ warnings. - - Allow tabbing to all widgets and links. - - Fix event returns, improving the focus situation and correcting scroll wheel - behavior. - - * Api/webkitgtkpage.cpp: - * WebCoreSupport/ChromeClientGtk.cpp: - -2007-10-29 Alp Toker - - Reviewed by Maciej. - - Do not allow control to reach end of non-void functions - - * Api/webkitgtksettings.cpp: - -2007-10-28 Lars Lindner - - Reviewed by Alp. - - http://bugs.webkit.org/show_bug.cgi?id=15466 - [gtk] widget does not take focus on mouse click - - Grab widget focus in mouse press callback. - - * Api/webkitgtkpage.cpp: - -2007-10-25 Alp Toker - - Reviewed by Brady. - - http://bugs.webkit.org/show_bug.cgi?id=15686 - GtkLauncher aborts on launch due to uninitialized threading subsystem - - Re-enable database support in the GTK+ port, with a fix. - - Initialize GLib threading as early as possible. - - * Api/webkitgtkglobal.cpp: - -2007-10-25 Alp Toker - - Unreviewed fix to make the GTK+ port run. - - http://bugs.webkit.org/show_bug.cgi?id=15686 - GtkLauncher aborts on launch due to uninitialized threading subsystem - - http://bugs.webkit.org/show_bug.cgi?id=15688 - [GTK] Make it possible to disable database support - - Make database path initialization conditional on database support - being enabled. - - * Api/webkitgtkglobal.cpp: - -2007-10-24 Mark Rowe - - Gtk build fix. Track WebCore changes in r27004. - - * Api/webkitgtkglobal.cpp: - -2007-10-22 Alp Toker - - Reviewed by Mark Rowe. - - http://bugs.webkit.org/show_bug.cgi?id=15611 - [GTK] Text selection behaviour different in Debug and Release builds - - http://bugs.webkit.org/show_bug.cgi?id=15578 - [GTK] Text editor caret does not blink - - Never allow control to reach the end of non-void functions. - - Return more sensible values, or in some cases, nulls. - - * Api/webkitgtksettings.cpp: - * Api/webkitgtksettings.h: - * WebCoreSupport/DragClientGtk.cpp: - (WebKit::DragClient::actionMaskForDrag): - (WebKit::DragClient::dragSourceActionMaskForPoint): - (WebKit::DragClient::createDragImageForLink): - -2007-10-20 Mark Rowe - - Reviewed by Alp. - - Gtk changes needed to enable HTML 5 client-side database storage. - - * Api/webkitgtkglobal.cpp: Set a default database path based on the user data directory. - This should become configurable by client applications in the future. - -2007-10-20 Mark Rowe - - Reviewed by Eric. - - Don't allow control characters to be inserted into editable regions. - - * WebCoreSupport/EditorClientGtk.cpp: - (WebKit::EditorClient::handleKeypress): - -2007-10-19 Alp Toker - - Reviewed by Oliver. - - GTK+ build fix enabling the new local database storage feature. - There is also a prospective Qt build fix. - - * WebCoreSupport/ChromeClientGtk.cpp: - (WebKit::ChromeClient::runDatabaseSizeLimitPrompt): - * WebCoreSupport/ChromeClientGtk.h: - -2007-10-14 Jan Michael Alonzo - - Reviewed by Adam. - - http://bugs.webkit.org/show_bug.cgi?id=15299 - Fix "hovering_over_link" signal not emitted when consecutive links - are hovered. - - * WebCoreSupport/ChromeClientGtk.cpp: - (WebKit::ChromeClient::mouseDidMoveOverElement): - * WebCoreSupport/ChromeClientGtk.h: - - Remove m_didSendLinkSignal as it is superseded by m_hoveredLinkURL - -2007-10-10 Alice Liu - - Reviewed by Geoff Garen. - - changes to keep the build from breaking - - * WebCoreSupport/FrameLoaderClientGtk.cpp: - (WebKit::FrameLoaderClient::createFrame): - * WebCoreSupport/FrameLoaderClientGtk.h: - -2007-10-03 Alp Toker - - Reviewed by Adam. - - http://bugs.webkit.org/show_bug.cgi?id=14726 - [gtk] API design. Mapping the WebView delegates to signals. - - Change the API namespace of the Gtk+ port from 'WebKitGtk' to 'WebKit'. - - * Api/webkitgtkdefines.h: - * Api/webkitgtkframe.cpp: - * Api/webkitgtkframe.h: - * Api/webkitgtkglobal.cpp: - * Api/webkitgtkglobal.h: - * Api/webkitgtknetworkrequest.h: - * Api/webkitgtkpage.cpp: - * Api/webkitgtkpage.h: - * Api/webkitgtkprivate.cpp: - (WebKit::apply): - (WebKit::create): - (WebKit::getFrameFromPage): - (WebKit::getPageFromFrame): - (WebKit::core): - (WebKit::kit): - * Api/webkitgtkprivate.h: - * Api/webkitgtksettings.cpp: - * Api/webkitgtksettings.h: - * WebCoreSupport/ChromeClientGtk.cpp: - (WebKit::ChromeClient::ChromeClient): - (WebKit::ChromeClient::createWindow): - (WebKit::ChromeClient::addMessageToConsole): - (WebKit::ChromeClient::runJavaScriptAlert): - (WebKit::ChromeClient::runJavaScriptConfirm): - (WebKit::ChromeClient::runJavaScriptPrompt): - * WebCoreSupport/ChromeClientGtk.h: - (WebKit::ChromeClient::webPage): - * WebCoreSupport/EditorClientGtk.cpp: - (WebKit::EditorClient::EditorClient): - * WebCoreSupport/EditorClientGtk.h: - * WebCoreSupport/FrameLoaderClientGtk.cpp: - (WebKit::FrameLoaderClient::FrameLoaderClient): - (WebKit::FrameLoaderClient::postProgressStartedNotification): - (WebKit::FrameLoaderClient::postProgressEstimateChangedNotification): - (WebKit::FrameLoaderClient::postProgressFinishedNotification): - (WebKit::FrameLoaderClient::createFrame): - (WebKit::FrameLoaderClient::dispatchDidReceiveIcon): - (WebKit::FrameLoaderClient::setTitle): - * WebCoreSupport/FrameLoaderClientGtk.h: - (WebKit::FrameLoaderClient::webFrame): - -2007-10-02 Cosimo Cecchi - - Reviewed by Mark. - - http://bugs.webkit.org/show_bug.cgi?id=15299 - Fix "hovering_over_link" signal being fired every time mouse moves. - - * WebCoreSupport/ChromeClientGtk.cpp: - (WebKit::ChromeClient::ChromeClient): - (WebKit::ChromeClient::mouseDidMoveOverElement): - * WebCoreSupport/ChromeClientGtk.h: - -2007-09-21 Sean Egan - - Reviewed by Alp. - - Add an "execute_script" method to programmatically call Javascript - http://bugs.webkit.org/show_bug.cgi?id=15255 - - * Api/webkitgtkpage.cpp: - * Api/webkitgtkpage.h: - -2007-09-29 Lars Lindner - - Reviewed by Adam. - - ChromeClientGtk.cpp does not implement mouseDidMoveOverElement() - http://bugs.webkit.org/show_bug.cgi?id=15299 - - Implementing "hovering_over_link" signal. - - * WebCoreSupport/ChromeClientGtk.cpp: - (WebKit::ChromeClient::mouseDidMoveOverElement): - -2007-09-26 Mark Rowe - - Gtk build fix. - - * WebCoreSupport/FrameLoaderClientGtk.cpp: Check for empty URL instead of invalid URL. - -2007-09-17 Holger Hans Peter Freyther - - Reviewed by Adam. - - WebKitGtkPage and WebKitGtkFrame have a dependency on each other. To - allow client code to include both headers the typedef's for - WebKitGtkFrame, WebKitGtkPage, WebKitGtkFrameData and WebKitGtkNetworkRequest - are moved into webkitgtkdefines.h and included by both webkitgtkpage.h and - webkitgtkframe.h - - * Api/webkitgtkdefines.h: - * Api/webkitgtkframe.h: - * Api/webkitgtkpage.h: - -2007-09-17 Cyril Brulebois - - Reviewed by Mark, some Coding Style changes by Holger. - - This is from http://bugs.webkit.org/show_bug.cgi?id=14812. - - Add title and location to WebKitGtkFramePrivate, add - webkit_gtk_frame_get_location to the WebKitGtkFrame API as well - as a title_changed callback, implement - webkit_gtk_frame_get_title and webkit_gtk_frame_get_location. - - Initial patch by Diego Escalante Urrelo. - - * Api/webkitgtkframe.cpp: - * Api/webkitgtkframe.h: - * Api/webkitgtkprivate.h: - -2007-09-15 Holger Hans Peter Freyther - - Reviewed by Mark. - - Use the new WebCore::String::fromUTF8 function to convert - from the Gtk+ representation of a string to WebCore::String. - - * WebCoreSupport/ChromeClientGtk.cpp: - (WebKit::ChromeClient::runJavaScriptPrompt): - -2007-09-10 Nigel Tao - - Reviewed by Mark Rowe. - - Fix a typo where webkit_gtk_page_can_copy was declared twice, - rather than webkit_gtk_page_can_paste. - - * Api/webkitgtkpage.h: - -2007-09-08 Brady Eidson - - Better build fix - - * WebCoreSupport/FrameLoaderClientGtk.cpp: - (WebKit::FrameLoaderClient::registerForIconNotification): - * WebCoreSupport/FrameLoaderClientGtk.h: - -2007-09-08 Brady Eidson - - Build fix - - * WebCoreSupport/FrameLoaderClientGtk.cpp: - (WebKit::FrameLoaderClient::registerForIconNotification): - * WebCoreSupport/FrameLoaderClientGtk.h: - -2007-09-05 Geoffrey Garen - - Reviewed by Darin Adler, Maciej Stachowiak, Mark Rowe, Tim Hatcher. - - Fixed Make non-browser WebKit clients have no - memory cache, or a very tiny one - - Keep the GTK build working with an empty stub. - - * WebCoreSupport/FrameLoaderClientGtk.cpp: - (WebKit::FrameLoaderClient::didPerformFirstNavigation): - * WebCoreSupport/FrameLoaderClientGtk.h: - -2007-09-01 Oliver Hunt - - Reviewed by Sam. - - IME is incorrectly used for key events when on non-editable regions - - EditorClient::setInputMethodState stub - - * WebCoreSupport/EditorClientGtk.cpp: - (WebKit::EditorClient::setInputMethodState): - * WebCoreSupport/EditorClientGtk.h: - -2007-08-18 Holger Hans Peter Freyther - - Build fix. Add const to the first parameter of createPlugin - - * WebCoreSupport/FrameLoaderClientGtk.cpp: - -2007-08-17 Anders Carlsson - - Build fix. - - * WebCoreSupport/FrameLoaderClientGtk.cpp: - (WebKit::FrameLoaderClient::createPlugin): - * WebCoreSupport/FrameLoaderClientGtk.h: - -2007-08-11 Holger Hans Peter Freyther - - Reviewed by Adam. - - To not hit the needsLayout() assert of Frame::paint for subframes we need to - make sure they are layed out. Use the newly created FrameView::layoutIfNeededRecursive - method to do this. - - * Api/webkitgtkpage.cpp: - -2007-08-11 Holger Hans Peter Freyther - - Reviewed by Adam. - - Fix text selection by setting a DragClient when creating the Page. Now - that we have a DragClient we can free the Page when WebKitGtkPage gets - destructed. - - * Api/webkitgtkpage.cpp: - * WebCoreSupport/DragClientGtk.cpp: Added. - (WebKit::DragClient::willPerformDragDestinationAction): - (WebKit::DragClient::willPerformDragSourceAction): - (WebKit::DragClient::actionMaskForDrag): - (WebKit::DragClient::dragSourceActionMaskForPoint): - (WebKit::DragClient::startDrag): - (WebKit::DragClient::createDragImageForLink): - * WebCoreSupport/DragClientGtk.h: Added. - -2007-08-10 Holger Hans Peter Freyther - - Reviewed by Anders. - - Make WebKitGtkPage a GtkContainer to avoid a size_allocate - race of GtkScrollBar and GtkLayout. - - * Api/webkitgtk-marshal.list: - * Api/webkitgtkframe.cpp: - * Api/webkitgtkpage.cpp: - * Api/webkitgtkpage.h: - * Api/webkitgtkprivate.h: - -2007-08-10 Holger Hans Peter Freyther - - Reviewed by Niko. - - Minor changes to the WebKit::EditorClient to allow removing - of text from TextFields. Remove the selectWordBeforeMenuEvent method - which is not used and not within WebCore::EditorClient. - - * WebCoreSupport/EditorClientGtk.cpp: - (WebKit::EditorClient::shouldDeleteRange): - (WebKit::EditorClient::shouldBeginEditing): - (WebKit::EditorClient::shouldEndEditing): - (WebKit::EditorClient::shouldApplyStyle): - (WebKit::EditorClient::shouldInsertNode): - * WebCoreSupport/EditorClientGtk.h: - -2007-08-10 Holger Hans Peter Freyther - - Reviewed by Mark. - - Rename the namespace from WebKitGtk to WebKit. Move the various *Client - classes into the WebKit namespace. Change the class names to not contain Gtk. - The file names have to contain the Gtk suffix to not clash with files in WebCore (e.g. - bridge/EditorClient.h). - - - * Api/webkitgtkframe.cpp: - * Api/webkitgtkpage.cpp: - * Api/webkitgtkprivate.cpp: - * Api/webkitgtkprivate.h: - * ChangeLog: - * WebCoreSupport/ChromeClientGtk.cpp: - (WebKit::ChromeClient::ChromeClient): - (WebKit::ChromeClient::chromeDestroyed): - (WebKit::ChromeClient::windowRect): - (WebKit::ChromeClient::setWindowRect): - (WebKit::ChromeClient::pageRect): - (WebKit::ChromeClient::scaleFactor): - (WebKit::ChromeClient::focus): - (WebKit::ChromeClient::unfocus): - (WebKit::ChromeClient::createWindow): - (WebKit::ChromeClient::createModalDialog): - (WebKit::ChromeClient::show): - (WebKit::ChromeClient::canRunModal): - (WebKit::ChromeClient::runModal): - (WebKit::ChromeClient::setToolbarsVisible): - (WebKit::ChromeClient::toolbarsVisible): - (WebKit::ChromeClient::setStatusbarVisible): - (WebKit::ChromeClient::statusbarVisible): - (WebKit::ChromeClient::setScrollbarsVisible): - (WebKit::ChromeClient::scrollbarsVisible): - (WebKit::ChromeClient::setMenubarVisible): - (WebKit::ChromeClient::menubarVisible): - (WebKit::ChromeClient::setResizable): - (WebKit::ChromeClient::closeWindowSoon): - (WebKit::ChromeClient::canTakeFocus): - (WebKit::ChromeClient::takeFocus): - (WebKit::ChromeClient::canRunBeforeUnloadConfirmPanel): - (WebKit::ChromeClient::runBeforeUnloadConfirmPanel): - (WebKit::ChromeClient::runJavaScriptAlert): - (WebKit::ChromeClient::runJavaScriptConfirm): - (WebKit::ChromeClient::setStatusbarText): - (WebKit::ChromeClient::shouldInterruptJavaScript): - (WebKit::ChromeClient::tabsToLinks): - (WebKit::ChromeClient::windowResizerRect): - (WebKit::ChromeClient::addToDirtyRegion): - (WebKit::ChromeClient::scrollBackingStore): - (WebKit::ChromeClient::updateBackingStore): - (WebKit::ChromeClient::mouseDidMoveOverElement): - (WebKit::ChromeClient::setToolTip): - * WebCoreSupport/ChromeClientGtk.h: - * WebCoreSupport/ContextMenuClientGtk.cpp: - (WebKit::ContextMenuClient::contextMenuDestroyed): - (WebKit::ContextMenuClient::getCustomMenuFromDefaultItems): - (WebKit::ContextMenuClient::contextMenuItemSelected): - (WebKit::ContextMenuClient::downloadURL): - (WebKit::ContextMenuClient::copyImageToClipboard): - (WebKit::ContextMenuClient::searchWithGoogle): - (WebKit::ContextMenuClient::lookUpInDictionary): - (WebKit::ContextMenuClient::speak): - * WebCoreSupport/ContextMenuClientGtk.h: - * WebCoreSupport/EditorClientGtk.cpp: - (WebKit::EditorClient::shouldDeleteRange): - (WebKit::EditorClient::shouldShowDeleteInterface): - (WebKit::EditorClient::isContinuousSpellCheckingEnabled): - (WebKit::EditorClient::isGrammarCheckingEnabled): - (WebKit::EditorClient::spellCheckerDocumentTag): - (WebKit::EditorClient::shouldBeginEditing): - (WebKit::EditorClient::shouldEndEditing): - (WebKit::EditorClient::shouldInsertText): - (WebKit::EditorClient::shouldChangeSelectedRange): - (WebKit::EditorClient::shouldApplyStyle): - (WebKit::EditorClient::shouldMoveRangeAfterDelete): - (WebKit::EditorClient::didBeginEditing): - (WebKit::EditorClient::respondToChangedContents): - (WebKit::EditorClient::respondToChangedSelection): - (WebKit::EditorClient::didEndEditing): - (WebKit::EditorClient::didWriteSelectionToPasteboard): - (WebKit::EditorClient::didSetSelectionTypesForPasteboard): - (WebKit::EditorClient::selectWordBeforeMenuEvent): - (WebKit::EditorClient::isEditable): - (WebKit::EditorClient::registerCommandForUndo): - (WebKit::EditorClient::registerCommandForRedo): - (WebKit::EditorClient::clearUndoRedoOperations): - (WebKit::EditorClient::canUndo): - (WebKit::EditorClient::canRedo): - (WebKit::EditorClient::undo): - (WebKit::EditorClient::redo): - (WebKit::EditorClient::shouldInsertNode): - (WebKit::EditorClient::pageDestroyed): - (WebKit::EditorClient::smartInsertDeleteEnabled): - (WebKit::EditorClient::toggleContinuousSpellChecking): - (WebKit::EditorClient::toggleGrammarChecking): - (WebKit::EditorClient::handleInputMethodKeypress): - (WebKit::EditorClient::EditorClient): - (WebKit::EditorClient::textFieldDidBeginEditing): - (WebKit::EditorClient::textFieldDidEndEditing): - (WebKit::EditorClient::textDidChangeInTextField): - (WebKit::EditorClient::doTextFieldCommandFromEvent): - (WebKit::EditorClient::textWillBeDeletedInTextField): - (WebKit::EditorClient::textDidChangeInTextArea): - (WebKit::EditorClient::ignoreWordInSpellDocument): - (WebKit::EditorClient::learnWord): - (WebKit::EditorClient::checkSpellingOfString): - (WebKit::EditorClient::checkGrammarOfString): - (WebKit::EditorClient::updateSpellingUIWithGrammarString): - (WebKit::EditorClient::updateSpellingUIWithMisspelledWord): - (WebKit::EditorClient::showSpellingUI): - (WebKit::EditorClient::spellingUIIsShowing): - * WebCoreSupport/EditorClientGtk.h: - * WebCoreSupport/FrameLoaderClientGtk.cpp: - (WebKit::FrameLoaderClient::FrameLoaderClient): - (WebKit::FrameLoaderClient::userAgent): - (WebKit::FrameLoaderClient::createDocumentLoader): - (WebKit::FrameLoaderClient::committedLoad): - (WebKit::FrameLoaderClient::dispatchDidReceiveAuthenticationChallenge): - (WebKit::FrameLoaderClient::dispatchDidCancelAuthenticationChallenge): - (WebKit::FrameLoaderClient::dispatchWillSendRequest): - (WebKit::FrameLoaderClient::assignIdentifierToInitialRequest): - (WebKit::FrameLoaderClient::postProgressStartedNotification): - (WebKit::FrameLoaderClient::postProgressFinishedNotification): - (WebKit::FrameLoaderClient::frameLoaderDestroyed): - (WebKit::FrameLoaderClient::dispatchDidReceiveResponse): - (WebKit::FrameLoaderClient::createPlugin): - (WebKit::FrameLoaderClient::redirectDataToPlugin): - (WebKit::FrameLoaderClient::createJavaAppletWidget): - (WebKit::FrameLoaderClient::overrideMediaType): - (WebKit::FrameLoaderClient::windowObjectCleared): - (WebKit::FrameLoaderClient::setMainFrameDocumentReady): - (WebKit::FrameLoaderClient::hasWebView): - (WebKit::FrameLoaderClient::hasFrameView): - (WebKit::FrameLoaderClient::dispatchDidFinishLoad): - (WebKit::FrameLoaderClient::frameLoadCompleted): - (WebKit::FrameLoaderClient::saveViewStateToItem): - (WebKit::FrameLoaderClient::restoreViewState): - (WebKit::FrameLoaderClient::privateBrowsingEnabled): - (WebKit::FrameLoaderClient::makeDocumentView): - (WebKit::FrameLoaderClient::makeRepresentation): - (WebKit::FrameLoaderClient::forceLayout): - (WebKit::FrameLoaderClient::forceLayoutForNonHTML): - (WebKit::FrameLoaderClient::setCopiesOnScroll): - (WebKit::FrameLoaderClient::detachedFromParent1): - (WebKit::FrameLoaderClient::detachedFromParent2): - (WebKit::FrameLoaderClient::detachedFromParent3): - (WebKit::FrameLoaderClient::detachedFromParent4): - (WebKit::FrameLoaderClient::loadedFromCachedPage): - (WebKit::FrameLoaderClient::dispatchDidHandleOnloadEvents): - (WebKit::FrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad): - (WebKit::FrameLoaderClient::dispatchDidCancelClientRedirect): - (WebKit::FrameLoaderClient::dispatchWillPerformClientRedirect): - (WebKit::FrameLoaderClient::dispatchDidChangeLocationWithinPage): - (WebKit::FrameLoaderClient::dispatchWillClose): - (WebKit::FrameLoaderClient::dispatchDidReceiveIcon): - (WebKit::FrameLoaderClient::dispatchDidStartProvisionalLoad): - (WebKit::FrameLoaderClient::dispatchDidReceiveTitle): - (WebKit::FrameLoaderClient::dispatchDidCommitLoad): - (WebKit::FrameLoaderClient::dispatchDidFinishDocumentLoad): - (WebKit::FrameLoaderClient::dispatchDidFirstLayout): - (WebKit::FrameLoaderClient::dispatchShow): - (WebKit::FrameLoaderClient::cancelPolicyCheck): - (WebKit::FrameLoaderClient::dispatchDidLoadMainResource): - (WebKit::FrameLoaderClient::revertToProvisionalState): - (WebKit::FrameLoaderClient::clearUnarchivingState): - (WebKit::FrameLoaderClient::willChangeTitle): - (WebKit::FrameLoaderClient::didChangeTitle): - (WebKit::FrameLoaderClient::finishedLoading): - (WebKit::FrameLoaderClient::finalSetupForReplace): - (WebKit::FrameLoaderClient::setDefersLoading): - (WebKit::FrameLoaderClient::isArchiveLoadPending): - (WebKit::FrameLoaderClient::cancelPendingArchiveLoad): - (WebKit::FrameLoaderClient::clearArchivedResources): - (WebKit::FrameLoaderClient::canHandleRequest): - (WebKit::FrameLoaderClient::canShowMIMEType): - (WebKit::FrameLoaderClient::representationExistsForURLScheme): - (WebKit::FrameLoaderClient::generatedMIMETypeForURLScheme): - (WebKit::FrameLoaderClient::provisionalLoadStarted): - (WebKit::FrameLoaderClient::didFinishLoad): - (WebKit::FrameLoaderClient::setDocumentViewFromCachedPage): - (WebKit::FrameLoaderClient::dispatchDidReceiveContentLength): - (WebKit::FrameLoaderClient::dispatchDidFinishLoading): - (WebKit::FrameLoaderClient::dispatchDidFailLoading): - (WebKit::FrameLoaderClient::dispatchDidLoadResourceFromMemoryCache): - (WebKit::FrameLoaderClient::dispatchDidFailProvisionalLoad): - (WebKit::FrameLoaderClient::dispatchDidFailLoad): - (WebKit::FrameLoaderClient::download): - (WebKit::FrameLoaderClient::cancelledError): - (WebKit::FrameLoaderClient::blockedError): - (WebKit::FrameLoaderClient::cannotShowURLError): - (WebKit::FrameLoaderClient::interruptForPolicyChangeError): - (WebKit::FrameLoaderClient::cannotShowMIMETypeError): - (WebKit::FrameLoaderClient::fileDoesNotExistError): - (WebKit::FrameLoaderClient::shouldFallBack): - (WebKit::FrameLoaderClient::willUseArchive): - (WebKit::FrameLoaderClient::saveDocumentViewToCachedPage): - (WebKit::FrameLoaderClient::canCachePage): - (WebKit::FrameLoaderClient::dispatchCreatePage): - (WebKit::FrameLoaderClient::dispatchUnableToImplementPolicy): - * WebCoreSupport/FrameLoaderClientGtk.h: - * WebCoreSupport/InspectorClientGtk.cpp: - (WebKit::InspectorClient::inspectorDestroyed): - (WebKit::InspectorClient::createPage): - (WebKit::InspectorClient::showWindow): - (WebKit::InspectorClient::closeWindow): - (WebKit::InspectorClient::attachWindow): - (WebKit::InspectorClient::detachWindow): - (WebKit::InspectorClient::highlight): - (WebKit::InspectorClient::hideHighlight): - * WebCoreSupport/InspectorClientGtk.h: - -2007-08-10 Holger Hans Peter Freyther - - Reviewed by Adam. - - As of http://bugs.webkit.org/show_bug.cgi?id=14727 move the - various *ClientGdk.{cpp,h} files from WebCore to WebKit/gtk/WebCoreSupport and - rename it from Gdk to Gtk. - - * Api/webkitgtkdefines.h: - * Api/webkitgtkframe.cpp: - * Api/webkitgtkframe.h: - * Api/webkitgtkglobal.cpp: - * Api/webkitgtkglobal.h: - * Api/webkitgtknetworkrequest.cpp: - * Api/webkitgtknetworkrequest.h: - * Api/webkitgtkpage.cpp: - * Api/webkitgtkpage.h: - * Api/webkitgtkprivate.cpp: - * Api/webkitgtkprivate.h: - * Api/webkitgtksettings.cpp: - * Api/webkitgtksettings.h: - * WebCoreSupport/ChromeClientGtk.cpp: Renamed from WebKit/gtk/WebCoreSupport/ChromeClientGdk.cpp. - (WebKitGtk::ChromeClientGtk::ChromeClientGtk): - (WebKitGtk::ChromeClientGtk::chromeDestroyed): - (WebKitGtk::ChromeClientGtk::windowRect): - (WebKitGtk::ChromeClientGtk::setWindowRect): - (WebKitGtk::ChromeClientGtk::pageRect): - (WebKitGtk::ChromeClientGtk::scaleFactor): - (WebKitGtk::ChromeClientGtk::focus): - (WebKitGtk::ChromeClientGtk::unfocus): - (WebKitGtk::ChromeClientGtk::createWindow): - (WebKitGtk::ChromeClientGtk::createModalDialog): - (WebKitGtk::ChromeClientGtk::show): - (WebKitGtk::ChromeClientGtk::canRunModal): - (WebKitGtk::ChromeClientGtk::runModal): - (WebKitGtk::ChromeClientGtk::setToolbarsVisible): - (WebKitGtk::ChromeClientGtk::toolbarsVisible): - (WebKitGtk::ChromeClientGtk::setStatusbarVisible): - (WebKitGtk::ChromeClientGtk::statusbarVisible): - (WebKitGtk::ChromeClientGtk::setScrollbarsVisible): - (WebKitGtk::ChromeClientGtk::scrollbarsVisible): - (WebKitGtk::ChromeClientGtk::setMenubarVisible): - (WebKitGtk::ChromeClientGtk::menubarVisible): - (WebKitGtk::ChromeClientGtk::setResizable): - (WebKitGtk::ChromeClientGtk::closeWindowSoon): - (WebKitGtk::ChromeClientGtk::canTakeFocus): - (WebKitGtk::ChromeClientGtk::takeFocus): - (WebKitGtk::ChromeClientGtk::canRunBeforeUnloadConfirmPanel): - (WebKitGtk::ChromeClientGtk::runBeforeUnloadConfirmPanel): - (WebKitGtk::ChromeClientGtk::addMessageToConsole): - (WebKitGtk::ChromeClientGtk::runJavaScriptAlert): - (WebKitGtk::ChromeClientGtk::runJavaScriptConfirm): - (WebKitGtk::ChromeClientGtk::runJavaScriptPrompt): - (WebKitGtk::ChromeClientGtk::setStatusbarText): - (WebKitGtk::ChromeClientGtk::shouldInterruptJavaScript): - (WebKitGtk::ChromeClientGtk::tabsToLinks): - (WebKitGtk::ChromeClientGtk::windowResizerRect): - (WebKitGtk::ChromeClientGtk::addToDirtyRegion): - (WebKitGtk::ChromeClientGtk::scrollBackingStore): - (WebKitGtk::ChromeClientGtk::updateBackingStore): - (WebKitGtk::ChromeClientGtk::mouseDidMoveOverElement): - (WebKitGtk::ChromeClientGtk::setToolTip): - * WebCoreSupport/ChromeClientGtk.h: Renamed from WebKit/gtk/WebCoreSupport/ChromeClientGdk.h. - (WebKitGtk::ChromeClientGtk::webPage): - * WebCoreSupport/ContextMenuClientGtk.cpp: Renamed from WebCore/page/gdk/ContextMenuClientGdk.cpp. - (WebCore::ContextMenuClientGtk::contextMenuDestroyed): - (WebCore::ContextMenuClientGtk::getCustomMenuFromDefaultItems): - (WebCore::ContextMenuClientGtk::contextMenuItemSelected): - (WebCore::ContextMenuClientGtk::downloadURL): - (WebCore::ContextMenuClientGtk::copyImageToClipboard): - (WebCore::ContextMenuClientGtk::searchWithGoogle): - (WebCore::ContextMenuClientGtk::lookUpInDictionary): - (WebCore::ContextMenuClientGtk::speak): - (WebCore::ContextMenuClientGtk::stopSpeaking): - * WebCoreSupport/ContextMenuClientGtk.h: Renamed from WebCore/page/gdk/ContextMenuClientGdk.h. - * WebCoreSupport/EditorClientGtk.cpp: Renamed from WebCore/platform/gdk/EditorClientGdk.cpp. - (WebCore::EditorClientGtk::shouldDeleteRange): - (WebCore::EditorClientGtk::shouldShowDeleteInterface): - (WebCore::EditorClientGtk::isContinuousSpellCheckingEnabled): - (WebCore::EditorClientGtk::isGrammarCheckingEnabled): - (WebCore::EditorClientGtk::spellCheckerDocumentTag): - (WebCore::EditorClientGtk::shouldBeginEditing): - (WebCore::EditorClientGtk::shouldEndEditing): - (WebCore::EditorClientGtk::shouldInsertText): - (WebCore::EditorClientGtk::shouldChangeSelectedRange): - (WebCore::EditorClientGtk::shouldApplyStyle): - (WebCore::EditorClientGtk::shouldMoveRangeAfterDelete): - (WebCore::EditorClientGtk::didBeginEditing): - (WebCore::EditorClientGtk::respondToChangedContents): - (WebCore::EditorClientGtk::respondToChangedSelection): - (WebCore::EditorClientGtk::didEndEditing): - (WebCore::EditorClientGtk::didWriteSelectionToPasteboard): - (WebCore::EditorClientGtk::didSetSelectionTypesForPasteboard): - (WebCore::EditorClientGtk::selectWordBeforeMenuEvent): - (WebCore::EditorClientGtk::isEditable): - (WebCore::EditorClientGtk::registerCommandForUndo): - (WebCore::EditorClientGtk::registerCommandForRedo): - (WebCore::EditorClientGtk::clearUndoRedoOperations): - (WebCore::EditorClientGtk::canUndo): - (WebCore::EditorClientGtk::canRedo): - (WebCore::EditorClientGtk::undo): - (WebCore::EditorClientGtk::redo): - (WebCore::EditorClientGtk::shouldInsertNode): - (WebCore::EditorClientGtk::pageDestroyed): - (WebCore::EditorClientGtk::smartInsertDeleteEnabled): - (WebCore::EditorClientGtk::toggleContinuousSpellChecking): - (WebCore::EditorClientGtk::toggleGrammarChecking): - (WebCore::EditorClientGtk::handleKeypress): - (WebCore::EditorClientGtk::handleInputMethodKeypress): - (WebCore::EditorClientGtk::EditorClientGtk): - (WebCore::EditorClientGtk::textFieldDidBeginEditing): - (WebCore::EditorClientGtk::textFieldDidEndEditing): - (WebCore::EditorClientGtk::textDidChangeInTextField): - (WebCore::EditorClientGtk::doTextFieldCommandFromEvent): - (WebCore::EditorClientGtk::textWillBeDeletedInTextField): - (WebCore::EditorClientGtk::textDidChangeInTextArea): - (WebCore::EditorClientGtk::ignoreWordInSpellDocument): - (WebCore::EditorClientGtk::learnWord): - (WebCore::EditorClientGtk::checkSpellingOfString): - (WebCore::EditorClientGtk::checkGrammarOfString): - (WebCore::EditorClientGtk::updateSpellingUIWithGrammarString): - (WebCore::EditorClientGtk::updateSpellingUIWithMisspelledWord): - (WebCore::EditorClientGtk::showSpellingUI): - (WebCore::EditorClientGtk::spellingUIIsShowing): - (WebCore::EditorClientGtk::getGuessesForWord): - * WebCoreSupport/EditorClientGtk.h: Renamed from WebCore/platform/gdk/EditorClientGdk.h. - * WebCoreSupport/FrameLoaderClientGtk.cpp: Renamed from WebCore/loader/gdk/FrameLoaderClientGdk.cpp. - (WebCore::FrameLoaderClientGtk::FrameLoaderClientGtk): - (WebCore::FrameLoaderClientGtk::userAgent): - (WebCore::FrameLoaderClientGtk::createDocumentLoader): - (WebCore::FrameLoaderClientGtk::dispatchWillSubmitForm): - (WebCore::FrameLoaderClientGtk::committedLoad): - (WebCore::FrameLoaderClientGtk::dispatchDidReceiveAuthenticationChallenge): - (WebCore::FrameLoaderClientGtk::dispatchDidCancelAuthenticationChallenge): - (WebCore::FrameLoaderClientGtk::dispatchWillSendRequest): - (WebCore::FrameLoaderClientGtk::assignIdentifierToInitialRequest): - (WebCore::FrameLoaderClientGtk::postProgressStartedNotification): - (WebCore::FrameLoaderClientGtk::postProgressEstimateChangedNotification): - (WebCore::FrameLoaderClientGtk::postProgressFinishedNotification): - (WebCore::FrameLoaderClientGtk::frameLoaderDestroyed): - (WebCore::FrameLoaderClientGtk::dispatchDidReceiveResponse): - (WebCore::FrameLoaderClientGtk::dispatchDecidePolicyForMIMEType): - (WebCore::FrameLoaderClientGtk::dispatchDecidePolicyForNewWindowAction): - (WebCore::FrameLoaderClientGtk::dispatchDecidePolicyForNavigationAction): - (WebCore::FrameLoaderClientGtk::createPlugin): - (WebCore::FrameLoaderClientGtk::createFrame): - (WebCore::FrameLoaderClientGtk::redirectDataToPlugin): - (WebCore::FrameLoaderClientGtk::createJavaAppletWidget): - (WebCore::FrameLoaderClientGtk::objectContentType): - (WebCore::FrameLoaderClientGtk::overrideMediaType): - (WebCore::FrameLoaderClientGtk::windowObjectCleared): - (WebCore::FrameLoaderClientGtk::setMainFrameDocumentReady): - (WebCore::FrameLoaderClientGtk::hasWebView): - (WebCore::FrameLoaderClientGtk::hasFrameView): - (WebCore::FrameLoaderClientGtk::dispatchDidFinishLoad): - (WebCore::FrameLoaderClientGtk::frameLoadCompleted): - (WebCore::FrameLoaderClientGtk::saveViewStateToItem): - (WebCore::FrameLoaderClientGtk::restoreViewState): - (WebCore::FrameLoaderClientGtk::shouldGoToHistoryItem): - (WebCore::FrameLoaderClientGtk::privateBrowsingEnabled): - (WebCore::FrameLoaderClientGtk::makeDocumentView): - (WebCore::FrameLoaderClientGtk::makeRepresentation): - (WebCore::FrameLoaderClientGtk::forceLayout): - (WebCore::FrameLoaderClientGtk::forceLayoutForNonHTML): - (WebCore::FrameLoaderClientGtk::setCopiesOnScroll): - (WebCore::FrameLoaderClientGtk::detachedFromParent1): - (WebCore::FrameLoaderClientGtk::detachedFromParent2): - (WebCore::FrameLoaderClientGtk::detachedFromParent3): - (WebCore::FrameLoaderClientGtk::detachedFromParent4): - (WebCore::FrameLoaderClientGtk::loadedFromCachedPage): - (WebCore::FrameLoaderClientGtk::dispatchDidHandleOnloadEvents): - (WebCore::FrameLoaderClientGtk::dispatchDidReceiveServerRedirectForProvisionalLoad): - (WebCore::FrameLoaderClientGtk::dispatchDidCancelClientRedirect): - (WebCore::FrameLoaderClientGtk::dispatchWillPerformClientRedirect): - (WebCore::FrameLoaderClientGtk::dispatchDidChangeLocationWithinPage): - (WebCore::FrameLoaderClientGtk::dispatchWillClose): - (WebCore::FrameLoaderClientGtk::dispatchDidReceiveIcon): - (WebCore::FrameLoaderClientGtk::dispatchDidStartProvisionalLoad): - (WebCore::FrameLoaderClientGtk::dispatchDidReceiveTitle): - (WebCore::FrameLoaderClientGtk::dispatchDidCommitLoad): - (WebCore::FrameLoaderClientGtk::dispatchDidFinishDocumentLoad): - (WebCore::FrameLoaderClientGtk::dispatchDidFirstLayout): - (WebCore::FrameLoaderClientGtk::dispatchShow): - (WebCore::FrameLoaderClientGtk::cancelPolicyCheck): - (WebCore::FrameLoaderClientGtk::dispatchDidLoadMainResource): - (WebCore::FrameLoaderClientGtk::revertToProvisionalState): - (WebCore::FrameLoaderClientGtk::clearUnarchivingState): - (WebCore::FrameLoaderClientGtk::willChangeTitle): - (WebCore::FrameLoaderClientGtk::didChangeTitle): - (WebCore::FrameLoaderClientGtk::finishedLoading): - (WebCore::FrameLoaderClientGtk::finalSetupForReplace): - (WebCore::FrameLoaderClientGtk::setDefersLoading): - (WebCore::FrameLoaderClientGtk::isArchiveLoadPending): - (WebCore::FrameLoaderClientGtk::cancelPendingArchiveLoad): - (WebCore::FrameLoaderClientGtk::clearArchivedResources): - (WebCore::FrameLoaderClientGtk::canHandleRequest): - (WebCore::FrameLoaderClientGtk::canShowMIMEType): - (WebCore::FrameLoaderClientGtk::representationExistsForURLScheme): - (WebCore::FrameLoaderClientGtk::generatedMIMETypeForURLScheme): - (WebCore::FrameLoaderClientGtk::provisionalLoadStarted): - (WebCore::FrameLoaderClientGtk::didFinishLoad): - (WebCore::FrameLoaderClientGtk::prepareForDataSourceReplacement): - (WebCore::FrameLoaderClientGtk::setTitle): - (WebCore::FrameLoaderClientGtk::setDocumentViewFromCachedPage): - (WebCore::FrameLoaderClientGtk::dispatchDidReceiveContentLength): - (WebCore::FrameLoaderClientGtk::dispatchDidFinishLoading): - (WebCore::FrameLoaderClientGtk::dispatchDidFailLoading): - (WebCore::FrameLoaderClientGtk::dispatchDidLoadResourceFromMemoryCache): - (WebCore::FrameLoaderClientGtk::dispatchDidFailProvisionalLoad): - (WebCore::FrameLoaderClientGtk::dispatchDidFailLoad): - (WebCore::FrameLoaderClientGtk::download): - (WebCore::FrameLoaderClientGtk::cancelledError): - (WebCore::FrameLoaderClientGtk::blockedError): - (WebCore::FrameLoaderClientGtk::cannotShowURLError): - (WebCore::FrameLoaderClientGtk::interruptForPolicyChangeError): - (WebCore::FrameLoaderClientGtk::cannotShowMIMETypeError): - (WebCore::FrameLoaderClientGtk::fileDoesNotExistError): - (WebCore::FrameLoaderClientGtk::shouldFallBack): - (WebCore::FrameLoaderClientGtk::willUseArchive): - (WebCore::FrameLoaderClientGtk::saveDocumentViewToCachedPage): - (WebCore::FrameLoaderClientGtk::canCachePage): - (WebCore::FrameLoaderClientGtk::dispatchCreatePage): - (WebCore::FrameLoaderClientGtk::dispatchUnableToImplementPolicy): - * WebCoreSupport/FrameLoaderClientGtk.h: Renamed from WebCore/loader/gdk/FrameLoaderClientGdk.h. - (WebCore::FrameLoaderClientGtk::~FrameLoaderClientGtk): - (WebCore::FrameLoaderClientGtk::webFrame): - * WebCoreSupport/InspectorClientGtk.cpp: Renamed from WebCore/page/gdk/InspectorClientGdk.cpp. - (WebCore::InspectorClientGtk::inspectorDestroyed): - (WebCore::InspectorClientGtk::createPage): - (WebCore::InspectorClientGtk::showWindow): - (WebCore::InspectorClientGtk::closeWindow): - (WebCore::InspectorClientGtk::attachWindow): - (WebCore::InspectorClientGtk::detachWindow): - (WebCore::InspectorClientGtk::highlight): - (WebCore::InspectorClientGtk::hideHighlight): - (WebCore::InspectorClientGtk::inspectedURLChanged): - * WebCoreSupport/InspectorClientGtk.h: Renamed from WebCore/page/gdk/InspectorClientGdk.h. - -2007-08-10 Holger Hans Peter Freyther - - Build fix. - - * Api/webkitgtkframe.cpp: - -2007-08-10 Holger Hans Peter Freyther - - Reviewed by Adam. - - Remove the create_frame virtual method of WebKitGtkPage. This method was inspired - by the Qt port but to be useful for reimplementations WebKitGtkFrameData would need - to export/expose WebCore types. WebView doesn't offer such a method so I decided to - remove it. - Add a internal constructor to WebKitGtkFrame to be used for constructing Sub-Frames. This - is currently used by FrameLoaderClientGdk::createFrame. - - * Api/webkitgtkframe.cpp: - * Api/webkitgtkframedata.cpp: Removed. - * Api/webkitgtkframedata.h: Removed. - * Api/webkitgtkpage.cpp: - * Api/webkitgtkpage.h: - * Api/webkitgtkprivate.h: - -2007-08-10 Holger Hans Peter Freyther - - Reviewed by Adam. - - Follow the changes of ScrollView in WebCore and call setContainingWindow, set the - GtkAdjustment of the GtkLayout and reimplement the set_scroll_adjustments method and pass - the GtkAdjustments to ScrollView. - This makes having one GdkWindow for the complete FrameTree possible. - - - * gtk/Api/webkitgtkframe.cpp: - * gtk/Api/webkitgtkpage.cpp: - -2007-08-08 Holger Hans Peter Freyther - - Reviewed by Niko. - - We only need to set the Settings of the Page once so do it in - WebKitGtkPage instead of WebKitGtkFrame. - - * gtk/Api/webkitgtkframe.cpp: - * gtk/Api/webkitgtkpage.cpp: - -2007-08-08 Holger Hans Peter Freyther - - Reviewed by Niko. - - Instead of reimplementing the general event method, reimplement - the specific mouse, expose, keyboard event methods. - - Call the finalize implementation of the base class from WebKitGtkPage - and WebKitGtkFrame. - - * gtk/Api/webkitgtkframe.cpp: - * gtk/Api/webkitgtkpage.cpp: - -2007-08-08 Holger Hans Peter Freyther - - Reviewed by Niko. - - Remove the custom painting in favor of the Widget::paint - implementation. - - * gtk/Api/webkitgtkpage.cpp: - -2007-08-08 Holger Hans Peter Freyther - - Reviewed by Adam. - - Moved code from class FrameGdk into WebKitGtkFrame. Update the - webkitgrkprivate.h header file to not include FrameGdk.h. - - * gtk/Api/webkitgtkframe.cpp: - * gtk/Api/webkitgtkprivate.h: - -2007-08-08 Holger Hans Peter Freyther - - Reviewed by Adam. - - Change variable names to follow the Coding-Style. Replace occurences - of a_b with aB and place the '*' correctly. - - * gtk/Api/webkitgtkframe.cpp: - * gtk/Api/webkitgtkpage.cpp: - * gtk/Api/webkitgtkprivate.h: - -2007-08-08 Holger Hans Peter Freyther - - Reviewed by Adam. - - Reimplement GtkWidget::event and handle the keyboard and mouse - events inside WebKitGtkPage. - - * gtk/Api/webkitgtkpage.cpp: - (FrameGdkExposeData::frame_gdk_expose_child): - (FrameGdkExposeData::webkit_gtk_page_rendering_area_handle_gdk_event): - (FrameGdkExposeData::webkit_gtk_page_register_rendering_area_events): - (FrameGdkExposeData::webkit_gtk_page_class_init): - -2007-08-07 Xan Lopez - - Reviewed by Mark Rowe. - - http://bugs.webkit.org/show_bug.cgi?id=14815 - [gtk] API implementation: reload - - * gtk/Api/webkitgtkpage.cpp: Implement the webkit_gtk_page_reload() - function. - -2007-07-30 Diego Escalante Urrelo - - Reviewed by Adam. - - http://bugs.webkit.org/show_bug.cgi?id=14806 - Implement can_go_backward and can_go_forward in webkitgtkpage.cpp - - * gtk/Api/webkitgtkpage.cpp: Implement webkit_gtk_page_can_go_backward() and - webkit_gtk_page_can_go_forward() functions. - -2007-07-30 Diego Escalante Urrelo - - Reviewed by Alp Toker. - - http://bugs.webkit.org/show_bug.cgi?id=14810 - Bad n_params on load_finished's g_signal_new in webkitgtkpage.cpp - - This is the proper fix for #14810. - - * gtk/Api/webkitgtkframe.cpp: - * gtk/Api/webkitgtkpage.cpp: Fix the marshaller type of the "load_finished" signal and - correct the class_offset parameters. - -2007-07-29 Diego Escalante Urrelo - - Reviewed by Alp Toker. - - http://bugs.webkit.org/show_bug.cgi?id=14810 - Bad n_params on load_finished's g_signal_new in webkitgtkpage.cpp - - * gtk/Api/webkitgtkpage.cpp: Use a correct n_params value and the corresponding types for - them in the "load_finished" signal. - -2007-07-22 Holger Hans Peter Freyther - - Reviewed by Adam. - - Add the first API and partial implementation of the WebKit/Gtk port as - of http://bugs.webkit.org/show_bug.cgi?id=14678. - - The delegates of WebView will be modeled as signals. Delegates like the - WebPolicyDelegate will be implemented as signals with default handlers. - - Start moving files to WebKit/gtk/WebCoreSupport. - - * gtk: Added. - * gtk/Api: Added. - * gtk/Api/headers.pri: Added. - * gtk/Api/webkitgtk-marshal.list: Added. - * gtk/Api/webkitgtkdefines.h: Added. - * gtk/Api/webkitgtkframe.cpp: Added. - * gtk/Api/webkitgtkframe.h: Added. - * gtk/Api/webkitgtkframedata.cpp: Added. - * gtk/Api/webkitgtkframedata.h: Added. - * gtk/Api/webkitgtkglobal.cpp: Added. - * gtk/Api/webkitgtkglobal.h: Added. - * gtk/Api/webkitgtknetworkrequest.cpp: Added. - * gtk/Api/webkitgtknetworkrequest.h: Added. - * gtk/Api/webkitgtkpage.cpp: Added. - * gtk/Api/webkitgtkpage.h: Added. - * gtk/Api/webkitgtkprivate.cpp: Added. - * gtk/Api/webkitgtkprivate.h: Added. - * gtk/Api/webkitgtksettings.cpp: Added. - * gtk/Api/webkitgtksettings.h: Added. - * gtk/WebCoreSupport: Added. - * gtk/WebCoreSupport/ChromeClientGdk.cpp: Added. - (WebCore::ChromeClientGdk::ChromeClientGdk): - (WebCore::ChromeClientGdk::chromeDestroyed): - (WebCore::ChromeClientGdk::windowRect): - (WebCore::ChromeClientGdk::setWindowRect): - (WebCore::ChromeClientGdk::pageRect): - (WebCore::ChromeClientGdk::scaleFactor): - (WebCore::ChromeClientGdk::focus): - (WebCore::ChromeClientGdk::unfocus): - (WebCore::ChromeClientGdk::createWindow): - (WebCore::ChromeClientGdk::createModalDialog): - (WebCore::ChromeClientGdk::show): - (WebCore::ChromeClientGdk::canRunModal): - (WebCore::ChromeClientGdk::runModal): - (WebCore::ChromeClientGdk::setToolbarsVisible): - (WebCore::ChromeClientGdk::toolbarsVisible): - (WebCore::ChromeClientGdk::setStatusbarVisible): - (WebCore::ChromeClientGdk::statusbarVisible): - (WebCore::ChromeClientGdk::setScrollbarsVisible): - (WebCore::ChromeClientGdk::scrollbarsVisible): - (WebCore::ChromeClientGdk::setMenubarVisible): - (WebCore::ChromeClientGdk::menubarVisible): - (WebCore::ChromeClientGdk::setResizable): - (WebCore::ChromeClientGdk::closeWindowSoon): - (WebCore::ChromeClientGdk::canTakeFocus): - (WebCore::ChromeClientGdk::takeFocus): - (WebCore::ChromeClientGdk::canRunBeforeUnloadConfirmPanel): - (WebCore::ChromeClientGdk::runBeforeUnloadConfirmPanel): - (WebCore::ChromeClientGdk::addMessageToConsole): - (WebCore::ChromeClientGdk::runJavaScriptAlert): - (WebCore::ChromeClientGdk::runJavaScriptConfirm): - (WebCore::ChromeClientGdk::runJavaScriptPrompt): - (WebCore::ChromeClientGdk::setStatusbarText): - (WebCore::ChromeClientGdk::shouldInterruptJavaScript): - (WebCore::ChromeClientGdk::tabsToLinks): - (WebCore::ChromeClientGdk::windowResizerRect): - (WebCore::ChromeClientGdk::addToDirtyRegion): - (WebCore::ChromeClientGdk::scrollBackingStore): - (WebCore::ChromeClientGdk::updateBackingStore): - (WebCore::ChromeClientGdk::mouseDidMoveOverElement): - (WebCore::ChromeClientGdk::setToolTip): - (WebCore::ChromeClientGdk::print): - * gtk/WebCoreSupport/ChromeClientGdk.h: Added. - diff --git a/WebKit/gtk/WebCoreSupport/ChromeClientGtk.cpp b/WebKit/gtk/WebCoreSupport/ChromeClientGtk.cpp deleted file mode 100644 index 18ca5b3..0000000 --- a/WebKit/gtk/WebCoreSupport/ChromeClientGtk.cpp +++ /dev/null @@ -1,404 +0,0 @@ -/* - * Copyright (C) 2007 Holger Hans Peter Freyther - * Copyright (C) 2007, 2008 Christian Dywan - * Copyright (C) 2008 Nuanti Ltd. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#include "config.h" -#include "ChromeClientGtk.h" - -#include "FileSystem.h" -#include "FileChooser.h" -#include "FloatRect.h" -#include "IntRect.h" -#include "PlatformString.h" -#include "CString.h" -#include "HitTestResult.h" -#include "KURL.h" -#include "webkitwebview.h" -#include "webkitprivate.h" -#include "NotImplemented.h" -#include "WindowFeatures.h" -#if ENABLE(DATABASE) -#include "DatabaseTracker.h" -#endif - -#include -#include -#include - -using namespace WebCore; - -namespace WebKit { - -ChromeClient::ChromeClient(WebKitWebView* webView) - : m_webView(webView) -{ -} - -void ChromeClient::chromeDestroyed() -{ - delete this; -} - -FloatRect ChromeClient::windowRect() -{ - if (!m_webView) - return FloatRect(); - GtkWidget* window = gtk_widget_get_toplevel(GTK_WIDGET(m_webView)); - if (window) { - gint left, top, width, height; - gtk_window_get_position(GTK_WINDOW(window), &left, &top); - gtk_window_get_size(GTK_WINDOW(window), &width, &height); - return IntRect(left, top, width, height); - } - return FloatRect(); -} - -void ChromeClient::setWindowRect(const FloatRect& r) -{ - notImplemented(); -} - -FloatRect ChromeClient::pageRect() -{ - if (!m_webView) - return FloatRect(); - GtkAllocation allocation = GTK_WIDGET(m_webView)->allocation; - return IntRect(allocation.x, allocation.y, allocation.width, allocation.height); -} - -float ChromeClient::scaleFactor() -{ - // Not implementable - return 1.0; -} - -void ChromeClient::focus() -{ - if (!m_webView) - return; - gtk_widget_grab_focus(GTK_WIDGET(m_webView)); -} - -void ChromeClient::unfocus() -{ - if (!m_webView) - return; - GtkWidget* window = gtk_widget_get_toplevel(GTK_WIDGET(m_webView)); - if (window) - gtk_window_set_focus(GTK_WINDOW(window), NULL); -} - -Page* ChromeClient::createWindow(Frame*, const FrameLoadRequest&, const WindowFeatures& features) -{ - if (features.dialog) { - notImplemented(); - return 0; - } else { - /* TODO: FrameLoadRequest is not used */ - WebKitWebView* webView = WEBKIT_WEB_VIEW_GET_CLASS(m_webView)->create_web_view(m_webView); - if (!webView) - return 0; - - WebKitWebViewPrivate* privateData = WEBKIT_WEB_VIEW_GET_PRIVATE(webView); - return privateData->corePage; - } -} - -void ChromeClient::show() -{ - notImplemented(); -} - -bool ChromeClient::canRunModal() -{ - notImplemented(); - return false; -} - -void ChromeClient::runModal() -{ - notImplemented(); -} - -void ChromeClient::setToolbarsVisible(bool) -{ - notImplemented(); -} - -bool ChromeClient::toolbarsVisible() -{ - notImplemented(); - return false; -} - -void ChromeClient::setStatusbarVisible(bool) -{ - notImplemented(); -} - -bool ChromeClient::statusbarVisible() -{ - notImplemented(); - return false; -} - -void ChromeClient::setScrollbarsVisible(bool) -{ - notImplemented(); -} - -bool ChromeClient::scrollbarsVisible() { - notImplemented(); - return false; -} - -void ChromeClient::setMenubarVisible(bool) -{ - notImplemented(); -} - -bool ChromeClient::menubarVisible() -{ - notImplemented(); - return false; -} - -void ChromeClient::setResizable(bool) -{ - notImplemented(); -} - -void ChromeClient::closeWindowSoon() -{ - notImplemented(); -} - -bool ChromeClient::canTakeFocus(FocusDirection) -{ - if (!m_webView) - return false; - return GTK_WIDGET_CAN_FOCUS(m_webView); -} - -void ChromeClient::takeFocus(FocusDirection) -{ - unfocus(); -} - -bool ChromeClient::canRunBeforeUnloadConfirmPanel() -{ - return true; -} - -bool ChromeClient::runBeforeUnloadConfirmPanel(const WebCore::String& message, WebCore::Frame* frame) -{ - return runJavaScriptConfirm(frame, message); -} - -void ChromeClient::addMessageToConsole(const WebCore::String& message, unsigned int lineNumber, const WebCore::String& sourceId) -{ - gboolean retval; - g_signal_emit_by_name(m_webView, "console-message", message.utf8().data(), lineNumber, sourceId.utf8().data(), &retval); -} - -void ChromeClient::runJavaScriptAlert(Frame* frame, const String& message) -{ - gboolean retval; - g_signal_emit_by_name(m_webView, "script-alert", kit(frame), message.utf8().data(), &retval); -} - -bool ChromeClient::runJavaScriptConfirm(Frame* frame, const String& message) -{ - gboolean retval; - gboolean didConfirm; - g_signal_emit_by_name(m_webView, "script-confirm", kit(frame), message.utf8().data(), &didConfirm, &retval); - return didConfirm == TRUE; -} - -bool ChromeClient::runJavaScriptPrompt(Frame* frame, const String& message, const String& defaultValue, String& result) -{ - gboolean retval; - gchar* value = 0; - g_signal_emit_by_name(m_webView, "script-prompt", kit(frame), message.utf8().data(), defaultValue.utf8().data(), &value, &retval); - if (value) { - result = String::fromUTF8(value); - g_free(value); - return true; - } - return false; -} - -void ChromeClient::setStatusbarText(const String& string) -{ - CString stringMessage = string.utf8(); - g_signal_emit_by_name(m_webView, "status-bar-text-changed", stringMessage.data()); -} - -bool ChromeClient::shouldInterruptJavaScript() -{ - notImplemented(); - return false; -} - -bool ChromeClient::tabsToLinks() const -{ - return true; -} - -IntRect ChromeClient::windowResizerRect() const -{ - notImplemented(); - return IntRect(); -} - -void ChromeClient::repaint(const IntRect& windowRect, bool contentChanged, bool immediate, bool repaintContentOnly) -{ - if (!m_webView) - return; - - GdkRectangle rect = windowRect; - GdkWindow* window = GTK_WIDGET(m_webView)->window; - - if (window) { - if (contentChanged) - gdk_window_invalidate_rect(window, &rect, FALSE); - // We don't currently do immediate updates since they delay other UI elements. - //if (immediate) - // gdk_window_process_updates(window, FALSE); - } -} - -void ChromeClient::scroll(const IntSize& delta, const IntRect& rectToScroll, const IntRect& clipRect) -{ - if (!m_webView) - return; - - GdkWindow* window = GTK_WIDGET(m_webView)->window; - if (!window) - return; - - GdkRectangle area = clipRect; - GdkRectangle moveRect; - - GdkRectangle sourceRect = area; - sourceRect.x -= delta.width(); - sourceRect.y -= delta.height(); - - GdkRegion* invalidRegion = gdk_region_rectangle(&area); - - if (gdk_rectangle_intersect(&area, &sourceRect, &moveRect)) { - GdkRegion* moveRegion = gdk_region_rectangle(&moveRect); - gdk_window_move_region(window, moveRegion, delta.width(), delta.height()); - gdk_region_offset(moveRegion, delta.width(), delta.height()); - gdk_region_subtract(invalidRegion, moveRegion); - gdk_region_destroy(moveRegion); - } - - gdk_window_invalidate_region(window, invalidRegion, FALSE); - gdk_region_destroy(invalidRegion); -} - -IntRect ChromeClient::windowToScreen(const IntRect& rect) const -{ - notImplemented(); - return rect; -} - -IntPoint ChromeClient::screenToWindow(const IntPoint& point) const -{ - notImplemented(); - return point; -} - -PlatformWidget ChromeClient::platformWindow() const -{ - return m_webView ? GTK_WIDGET(m_webView) : 0; -} - -void ChromeClient::mouseDidMoveOverElement(const HitTestResult& hit, unsigned modifierFlags) -{ - // check if the element is a link... - bool isLink = hit.isLiveLink(); - if (isLink) { - KURL url = hit.absoluteLinkURL(); - if (!url.isEmpty() && url != m_hoveredLinkURL) { - CString titleString = hit.title().utf8(); - CString urlString = url.prettyURL().utf8(); - g_signal_emit_by_name(m_webView, "hovering-over-link", titleString.data(), urlString.data()); - m_hoveredLinkURL = url; - } - } else if (!isLink && !m_hoveredLinkURL.isEmpty()) { - g_signal_emit_by_name(m_webView, "hovering-over-link", 0, 0); - m_hoveredLinkURL = KURL(); - } -} - -void ChromeClient::setToolTip(const String& toolTip) -{ -#if GTK_CHECK_VERSION(2,12,0) - if (toolTip.isEmpty()) - g_object_set(G_OBJECT(m_webView), "has-tooltip", FALSE, NULL); - else - gtk_widget_set_tooltip_text(GTK_WIDGET(m_webView), toolTip.utf8().data()); -#else - // TODO: Support older GTK+ versions - // See http://bugs.webkit.org/show_bug.cgi?id=15793 - notImplemented(); -#endif -} - -void ChromeClient::print(Frame* frame) -{ - webkit_web_frame_print(kit(frame)); -} - -void ChromeClient::exceededDatabaseQuota(Frame* frame, const String&) -{ -#if ENABLE(DATABASE) - // Set to 5M for testing - // FIXME: Make this configurable - notImplemented(); - const unsigned long long defaultQuota = 5 * 1024 * 1024; - DatabaseTracker::tracker().setQuota(frame->document()->securityOrigin(), defaultQuota); -#endif -} - -void ChromeClient::runOpenPanel(Frame*, PassRefPtr prpFileChooser) -{ - // FIXME: Support multiple files. - - RefPtr fileChooser = prpFileChooser; - - GtkWidget* dialog = gtk_file_chooser_dialog_new(_("Upload File"), - GTK_WINDOW(gtk_widget_get_toplevel(GTK_WIDGET(platformWindow()))), - GTK_FILE_CHOOSER_ACTION_OPEN, - GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, - GTK_STOCK_OPEN, GTK_RESPONSE_ACCEPT, - NULL); - - if (gtk_dialog_run(GTK_DIALOG(dialog)) == GTK_RESPONSE_ACCEPT) { - gchar* filename = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(dialog)); - if (filename) - fileChooser->chooseFile(filenameToString(filename)); - g_free(filename); - } - gtk_widget_destroy(dialog); -} - -} diff --git a/WebKit/gtk/WebCoreSupport/ChromeClientGtk.h b/WebKit/gtk/WebCoreSupport/ChromeClientGtk.h deleted file mode 100644 index 04b3a26..0000000 --- a/WebKit/gtk/WebCoreSupport/ChromeClientGtk.h +++ /dev/null @@ -1,109 +0,0 @@ -/* - * Copyright (C) 2007 Holger Hans Peter Freyther - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public License - * along with this library; see the file COPYING.LIB. If not, write to - * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - * Boston, MA 02110-1301, USA. - */ - -#ifndef ChromeClientGtk_h -#define ChromeClientGtk_h - -#include "ChromeClient.h" -#include "KURL.h" - -typedef struct _WebKitWebView WebKitWebView; - -namespace WebKit { - - class ChromeClient : public WebCore::ChromeClient { - public: - ChromeClient(WebKitWebView*); - WebKitWebView* webView() const { return m_webView; } - - virtual void chromeDestroyed(); - - virtual void setWindowRect(const WebCore::FloatRect&); - virtual WebCore::FloatRect windowRect(); - - virtual WebCore::FloatRect pageRect(); - - virtual float scaleFactor(); - - virtual void focus(); - virtual void unfocus(); - - virtual bool canTakeFocus(WebCore::FocusDirection); - virtual void takeFocus(WebCore::FocusDirection); - - virtual WebCore::Page* createWindow(WebCore::Frame*, const WebCore::FrameLoadRequest&, const WebCore::WindowFeatures&); - virtual void show(); - - virtual bool canRunModal(); - virtual void runModal(); - - virtual void setToolbarsVisible(bool); - virtual bool toolbarsVisible(); - - virtual void setStatusbarVisible(bool); - virtual bool statusbarVisible(); - - virtual void setScrollbarsVisible(bool); - virtual bool scrollbarsVisible(); - - virtual void setMenubarVisible(bool); - virtual bool menubarVisible(); - - virtual void setResizable(bool); - - virtual void addMessageToConsole(const WebCore::String& message, unsigned int lineNumber, - const WebCore::String& sourceID); - - virtual bool canRunBeforeUnloadConfirmPanel(); - virtual bool runBeforeUnloadConfirmPanel(const WebCore::String& message, WebCore::Frame* frame); - - virtual void closeWindowSoon(); - - virtual void runJavaScriptAlert(WebCore::Frame*, const WebCore::String&); - virtual bool runJavaScriptConfirm(WebCore::Frame*, const WebCore::String&); - virtual bool runJavaScriptPrompt(WebCore::Frame*, const WebCore::String& message, const WebCore::String& defaultValue, WebCore::String& result); - virtual void setStatusbarText(const WebCore::String&); - virtual bool shouldInterruptJavaScript(); - virtual bool tabsToLinks() const; - - virtual WebCore::IntRect windowResizerRect() const; - - virtual void repaint(const WebCore::IntRect&, bool contentChanged, bool immediate = false, bool repaintContentOnly = false); - virtual void scroll(const WebCore::IntSize& scrollDelta, const WebCore::IntRect& rectToScroll, const WebCore::IntRect& clipRect); - virtual WebCore::IntPoint screenToWindow(const WebCore::IntPoint&) const; - virtual WebCore::IntRect windowToScreen(const WebCore::IntRect&) const; - virtual PlatformWidget platformWindow() const; - - virtual void mouseDidMoveOverElement(const WebCore::HitTestResult&, unsigned modifierFlags); - - virtual void setToolTip(const WebCore::String&); - - virtual void print(WebCore::Frame*); - - virtual void exceededDatabaseQuota(WebCore::Frame*, const WebCore::String&); - - virtual void runOpenPanel(WebCore::Frame*, PassRefPtr); - - private: - WebKitWebView* m_webView; - WebCore::KURL m_hoveredLinkURL; - }; -} - -#endif // ChromeClient_h diff --git a/WebKit/gtk/WebCoreSupport/ContextMenuClientGtk.cpp b/WebKit/gtk/WebCoreSupport/ContextMenuClientGtk.cpp deleted file mode 100644 index 490370c..0000000 --- a/WebKit/gtk/WebCoreSupport/ContextMenuClientGtk.cpp +++ /dev/null @@ -1,195 +0,0 @@ -/* - * Copyright (C) 2008 Nuanti Ltd. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#include "config.h" -#include "ContextMenu.h" -#include "ContextMenuClientGtk.h" - -#include "HitTestResult.h" -#include "KURL.h" -#include "NotImplemented.h" - -#include -#include -#include -#include "webkitprivate.h" - -using namespace WebCore; - -namespace WebKit { - -ContextMenuClient::ContextMenuClient(WebKitWebView *webView) - : m_webView(webView) -{ -} - -void ContextMenuClient::contextMenuDestroyed() -{ - delete this; -} - -static GtkWidget* inputMethodsMenuItem (WebKitWebView* webView) -{ - if (gtk_major_version > 2 || (gtk_major_version == 2 && gtk_minor_version >= 10)) { - GtkSettings* settings = webView ? gtk_widget_get_settings(GTK_WIDGET(webView)) : gtk_settings_get_default(); - - gboolean showMenu = TRUE; - if (settings) - g_object_get(settings, "gtk-show-input-method-menu", &showMenu, NULL); - if (!showMenu) - return 0; - } - - GtkWidget* menuitem = gtk_image_menu_item_new_with_mnemonic( - _("Input _Methods")); - - WebKitWebViewPrivate* priv = WEBKIT_WEB_VIEW_GET_PRIVATE(webView); - GtkWidget* imContextMenu = gtk_menu_new(); - gtk_im_multicontext_append_menuitems(GTK_IM_MULTICONTEXT(priv->imContext), GTK_MENU_SHELL(imContextMenu)); - - gtk_menu_item_set_submenu(GTK_MENU_ITEM(menuitem), imContextMenu); - - return menuitem; -} - -// Values taken from gtktextutil.c -typedef struct { - const char *label; - gunichar ch; -} GtkUnicodeMenuEntry; -static const GtkUnicodeMenuEntry bidi_menu_entries[] = { - { N_("LRM _Left-to-right mark"), 0x200E }, - { N_("RLM _Right-to-left mark"), 0x200F }, - { N_("LRE Left-to-right _embedding"), 0x202A }, - { N_("RLE Right-to-left e_mbedding"), 0x202B }, - { N_("LRO Left-to-right _override"), 0x202D }, - { N_("RLO Right-to-left o_verride"), 0x202E }, - { N_("PDF _Pop directional formatting"), 0x202C }, - { N_("ZWS _Zero width space"), 0x200B }, - { N_("ZWJ Zero width _joiner"), 0x200D }, - { N_("ZWNJ Zero width _non-joiner"), 0x200C } -}; - -static void insertControlCharacter(GtkWidget* widget) -{ - // GtkUnicodeMenuEntry* entry = (GtkUnicodeMenuEntry*)g_object_get_data(G_OBJECT(widget), "gtk-unicode-menu-entry"); - notImplemented(); -} - -static GtkWidget* unicodeMenuItem(WebKitWebView* webView) -{ - if (gtk_major_version > 2 || (gtk_major_version == 2 && gtk_minor_version >= 10)) { - GtkSettings* settings = webView ? gtk_widget_get_settings(GTK_WIDGET(webView)) : gtk_settings_get_default(); - - gboolean showMenu = TRUE; - if (settings) - g_object_get(settings, "gtk-show-unicode-menu", &showMenu, NULL); - if (!showMenu) - return 0; - } - - GtkWidget* menuitem = gtk_image_menu_item_new_with_mnemonic( - _("_Insert Unicode Control Character")); - - GtkWidget* unicodeContextMenu = gtk_menu_new(); - unsigned i; - for (i = 0; i < G_N_ELEMENTS(bidi_menu_entries); i++) { - GtkWidget* menuitem = gtk_menu_item_new_with_mnemonic(_(bidi_menu_entries[i].label)); - g_object_set_data(G_OBJECT(menuitem), "gtk-unicode-menu-entry", (gpointer)&bidi_menu_entries[i]); - g_signal_connect(menuitem, "activate", G_CALLBACK(insertControlCharacter), 0); - gtk_widget_show(menuitem); - gtk_menu_shell_append(GTK_MENU_SHELL(unicodeContextMenu), menuitem); - // FIXME: Make the item sensitive as insertControlCharacter() is implemented - gtk_widget_set_sensitive(menuitem, FALSE); - } - - gtk_menu_item_set_submenu(GTK_MENU_ITEM(menuitem), unicodeContextMenu); - - return menuitem; -} - -PlatformMenuDescription ContextMenuClient::getCustomMenuFromDefaultItems(ContextMenu* menu) -{ - GtkMenu* gtkmenu = menu->releasePlatformDescription(); - - HitTestResult result = menu->hitTestResult(); - WebKitWebView* webView = m_webView; - - if (result.isContentEditable()) { - - GtkWidget* imContextMenu = inputMethodsMenuItem(webView); - GtkWidget* unicodeContextMenu = unicodeMenuItem(webView); - - if (imContextMenu || unicodeContextMenu) { - GtkWidget* separator = gtk_separator_menu_item_new(); - gtk_menu_shell_append(GTK_MENU_SHELL(gtkmenu), separator); - gtk_widget_show(separator); - } - - if (imContextMenu) { - gtk_menu_shell_append(GTK_MENU_SHELL(gtkmenu), imContextMenu); - gtk_widget_show(imContextMenu); - } - - if (unicodeContextMenu) { - gtk_menu_shell_append(GTK_MENU_SHELL(gtkmenu), unicodeContextMenu); - gtk_widget_show(unicodeContextMenu); - } - - } - - return gtkmenu; -} - -void ContextMenuClient::contextMenuItemSelected(ContextMenuItem*, const ContextMenu*) -{ - notImplemented(); -} - -void ContextMenuClient::downloadURL(const KURL& url) -{ - notImplemented(); -} - -void ContextMenuClient::copyImageToClipboard(const HitTestResult&) -{ - notImplemented(); -} - -void ContextMenuClient::searchWithGoogle(const Frame*) -{ - notImplemented(); -} - -void ContextMenuClient::lookUpInDictionary(Frame*) -{ - notImplemented(); -} - -void ContextMenuClient::speak(const String&) -{ - notImplemented(); -} - -void ContextMenuClient::stopSpeaking() -{ - notImplemented(); -} - -} - diff --git a/WebKit/gtk/WebCoreSupport/ContextMenuClientGtk.h b/WebKit/gtk/WebCoreSupport/ContextMenuClientGtk.h deleted file mode 100644 index 52f7ad7..0000000 --- a/WebKit/gtk/WebCoreSupport/ContextMenuClientGtk.h +++ /dev/null @@ -1,61 +0,0 @@ -/* - * Copyright (C) 2006 Zack Rusin - * - * 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. - */ - -#ifndef ContextMenuClientGtk_h -#define ContextMenuClientGtk_h - -#include "ContextMenuClient.h" - -typedef struct _WebKitWebView WebKitWebView; - -namespace WebCore { - class ContextMenu; -} - -namespace WebKit { - - class ContextMenuClient : public WebCore::ContextMenuClient - { - public: - ContextMenuClient(WebKitWebView*); - - virtual void contextMenuDestroyed(); - - virtual WebCore::PlatformMenuDescription getCustomMenuFromDefaultItems(WebCore::ContextMenu*); - virtual void contextMenuItemSelected(WebCore::ContextMenuItem*, const WebCore::ContextMenu*); - - virtual void downloadURL(const WebCore::KURL& url); - virtual void copyImageToClipboard(const WebCore::HitTestResult&); - virtual void searchWithGoogle(const WebCore::Frame*); - virtual void lookUpInDictionary(WebCore::Frame*); - virtual void speak(const WebCore::String&); - virtual void stopSpeaking(); - - private: - WebKitWebView* m_webView; - }; -} - -#endif diff --git a/WebKit/gtk/WebCoreSupport/DragClientGtk.cpp b/WebKit/gtk/WebCoreSupport/DragClientGtk.cpp deleted file mode 100644 index f55b6ea..0000000 --- a/WebKit/gtk/WebCoreSupport/DragClientGtk.cpp +++ /dev/null @@ -1,64 +0,0 @@ -/* - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#include "config.h" -#include "DragClientGtk.h" - -#include "NotImplemented.h" - -using namespace WebCore; - -namespace WebKit { - -void DragClient::willPerformDragDestinationAction(DragDestinationAction, DragData*) -{ - notImplemented(); -} - -void DragClient::willPerformDragSourceAction(DragSourceAction, const IntPoint&, Clipboard*) -{ - notImplemented(); -} - -DragDestinationAction DragClient::actionMaskForDrag(DragData*) -{ - notImplemented(); - return DragDestinationActionAny; -} - -DragSourceAction DragClient::dragSourceActionMaskForPoint(const IntPoint&) -{ - notImplemented(); - return DragSourceActionAny; -} - -void DragClient::startDrag(DragImageRef, const IntPoint&, const IntPoint&, Clipboard*, Frame*, bool) -{ - notImplemented(); -} - -DragImageRef DragClient::createDragImageForLink(KURL&, const String& label, Frame*) -{ - notImplemented(); - return 0; -} - -void DragClient::dragControllerDestroyed() -{ - delete this; -} -} - diff --git a/WebKit/gtk/WebCoreSupport/DragClientGtk.h b/WebKit/gtk/WebCoreSupport/DragClientGtk.h deleted file mode 100644 index 4367c68..0000000 --- a/WebKit/gtk/WebCoreSupport/DragClientGtk.h +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Copyright (C) 2007 Apple Inc. All rights reserved. - * Copyright (C) 2007 Holger Hans Peter Freyther - * - * 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. - * 3. Neither the name of Apple, Inc. ("Apple") nor the names of - * its contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "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 OR ITS 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. - */ - -#ifndef DragClientGtk_h -#define DragClientGtk_h - -#include "DragClient.h" - -namespace WebKit { - class DragClient : public WebCore::DragClient { - public: - virtual void willPerformDragDestinationAction(WebCore::DragDestinationAction, WebCore::DragData*); - virtual void willPerformDragSourceAction(WebCore::DragSourceAction, const WebCore::IntPoint&, WebCore::Clipboard*); - virtual WebCore::DragDestinationAction actionMaskForDrag(WebCore::DragData*); - - virtual WebCore::DragSourceAction dragSourceActionMaskForPoint(const WebCore::IntPoint& windowPoint); - - virtual void startDrag(WebCore::DragImageRef dragImage, const WebCore::IntPoint& dragImageOrigin, const WebCore::IntPoint& eventPos, WebCore::Clipboard*, WebCore::Frame*, bool linkDrag = false); - virtual WebCore::DragImageRef createDragImageForLink(WebCore::KURL&, const WebCore::String& label, WebCore::Frame*); - - virtual void dragControllerDestroyed(); - }; -} - -#endif diff --git a/WebKit/gtk/WebCoreSupport/EditorClientGtk.cpp b/WebKit/gtk/WebCoreSupport/EditorClientGtk.cpp deleted file mode 100644 index 62f1f27..0000000 --- a/WebKit/gtk/WebCoreSupport/EditorClientGtk.cpp +++ /dev/null @@ -1,549 +0,0 @@ -/* - * Copyright (C) 2007 Alp Toker - * Copyright (C) 2008 Nuanti Ltd. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#include "config.h" -#include "EditorClientGtk.h" - -#include "CString.h" -#include "EditCommand.h" -#include "Editor.h" -#include "FocusController.h" -#include "Frame.h" -#include "KeyboardCodes.h" -#include "KeyboardEvent.h" -#include "NotImplemented.h" -#include "Page.h" -#include "PlatformKeyboardEvent.h" -#include "markup.h" -#include "webkitprivate.h" - -using namespace WebCore; - -namespace WebKit { - -static void imContextCommitted(GtkIMContext* context, const gchar* str, EditorClient* client) -{ - Frame* targetFrame = core(client->m_webView)->focusController()->focusedOrMainFrame(); - - if (!targetFrame || !targetFrame->editor()->canEdit()) - return; - - Editor* editor = targetFrame->editor(); - - String commitString = String::fromUTF8(str); - editor->confirmComposition(commitString); -} - -static void imContextPreeditChanged(GtkIMContext* context, EditorClient* client) -{ - Frame* frame = core(client->m_webView)->focusController()->focusedOrMainFrame(); - Editor* editor = frame->editor(); - - gchar* preedit = NULL; - gint cursorPos = 0; - // We ignore the provided PangoAttrList for now. - gtk_im_context_get_preedit_string(context, &preedit, NULL, &cursorPos); - String preeditString = String::fromUTF8(preedit); - g_free(preedit); - - // setComposition() will replace the user selection if passed an empty - // preedit. We don't want this to happen. - if (preeditString.isEmpty() && !editor->hasComposition()) - return; - - Vector underlines; - underlines.append(CompositionUnderline(0, preeditString.length(), Color(0, 0, 0), false)); - editor->setComposition(preeditString, underlines, cursorPos, 0); -} - -void EditorClient::setInputMethodState(bool active) -{ - WebKitWebViewPrivate* priv = m_webView->priv; - - if (active) - gtk_im_context_focus_in(priv->imContext); - else - gtk_im_context_focus_out(priv->imContext); - -#ifdef MAEMO_CHANGES - if (active) - hildon_gtk_im_context_show(priv->imContext); - else - hildon_gtk_im_context_hide(priv->imContext); -#endif -} - -bool EditorClient::shouldDeleteRange(Range*) -{ - notImplemented(); - return true; -} - -bool EditorClient::shouldShowDeleteInterface(HTMLElement*) -{ - return false; -} - -bool EditorClient::isContinuousSpellCheckingEnabled() -{ - notImplemented(); - return false; -} - -bool EditorClient::isGrammarCheckingEnabled() -{ - notImplemented(); - return false; -} - -int EditorClient::spellCheckerDocumentTag() -{ - notImplemented(); - return 0; -} - -bool EditorClient::shouldBeginEditing(WebCore::Range*) -{ - notImplemented(); - return true; -} - -bool EditorClient::shouldEndEditing(WebCore::Range*) -{ - notImplemented(); - return true; -} - -bool EditorClient::shouldInsertText(const String&, Range*, EditorInsertAction) -{ - notImplemented(); - return true; -} - -bool EditorClient::shouldChangeSelectedRange(Range*, Range*, EAffinity, bool) -{ - notImplemented(); - return true; -} - -bool EditorClient::shouldApplyStyle(WebCore::CSSStyleDeclaration*, WebCore::Range*) -{ - notImplemented(); - return true; -} - -bool EditorClient::shouldMoveRangeAfterDelete(WebCore::Range*, WebCore::Range*) -{ - notImplemented(); - return true; -} - -void EditorClient::didBeginEditing() -{ - notImplemented(); -} - -void EditorClient::respondToChangedContents() -{ - notImplemented(); -} - -#if GTK_CHECK_VERSION(2,10,0) -static void clipboard_get_contents_cb(GtkClipboard* clipboard, GtkSelectionData* selection_data, guint info, gpointer data) -{ - WebKitWebView* webView = reinterpret_cast(data); - Frame* frame = core(webView)->focusController()->focusedOrMainFrame(); - PassRefPtr selectedRange = frame->selection()->toRange(); - - if (static_cast(info) == WEBKIT_WEB_VIEW_TARGET_INFO_HTML) { - String markup = createMarkup(selectedRange.get(), 0, AnnotateForInterchange); - gtk_selection_data_set(selection_data, selection_data->target, 8, - reinterpret_cast(markup.utf8().data()), markup.utf8().length()); - } else { - String text = selectedRange->text(); - gtk_selection_data_set_text(selection_data, text.utf8().data(), text.utf8().length()); - } -} - -static void clipboard_clear_contents_cb(GtkClipboard* clipboard, gpointer data) -{ - WebKitWebView* webView = reinterpret_cast(data); - Frame* frame = core(webView)->focusController()->focusedOrMainFrame(); - - // Collapse the selection without clearing it - frame->selection()->setBase(frame->selection()->extent(), frame->selection()->affinity()); -} -#endif - -void EditorClient::respondToChangedSelection() -{ - WebKitWebViewPrivate* priv = m_webView->priv; - Frame* targetFrame = core(m_webView)->focusController()->focusedOrMainFrame(); - - if (!targetFrame) - return; - - if (targetFrame->editor()->ignoreCompositionSelectionChange()) - return; - -#if GTK_CHECK_VERSION(2,10,0) - GtkClipboard* clipboard = gtk_widget_get_clipboard(GTK_WIDGET(m_webView), GDK_SELECTION_PRIMARY); - if (targetFrame->selection()->isRange()) { - GtkTargetList* targetList = webkit_web_view_get_copy_target_list(m_webView); - gint targetCount; - GtkTargetEntry* targets = gtk_target_table_new_from_list(targetList, &targetCount); - gtk_clipboard_set_with_owner(clipboard, targets, targetCount, - clipboard_get_contents_cb, clipboard_clear_contents_cb, G_OBJECT(m_webView)); - gtk_target_table_free(targets, targetCount); - } else if (gtk_clipboard_get_owner(clipboard) == G_OBJECT(m_webView)) - gtk_clipboard_clear(clipboard); -#endif - - if (!targetFrame->editor()->hasComposition()) - return; - - unsigned start; - unsigned end; - if (!targetFrame->editor()->getCompositionSelection(start, end)) { - // gtk_im_context_reset() clears the composition for us. - gtk_im_context_reset(priv->imContext); - targetFrame->editor()->confirmCompositionWithoutDisturbingSelection(); - } -} - -void EditorClient::didEndEditing() -{ - notImplemented(); -} - -void EditorClient::didWriteSelectionToPasteboard() -{ - notImplemented(); -} - -void EditorClient::didSetSelectionTypesForPasteboard() -{ - notImplemented(); -} - -bool EditorClient::isEditable() -{ - return webkit_web_view_get_editable(m_webView); -} - -void EditorClient::registerCommandForUndo(WTF::PassRefPtr) -{ - notImplemented(); -} - -void EditorClient::registerCommandForRedo(WTF::PassRefPtr) -{ - notImplemented(); -} - -void EditorClient::clearUndoRedoOperations() -{ - notImplemented(); -} - -bool EditorClient::canUndo() const -{ - notImplemented(); - return false; -} - -bool EditorClient::canRedo() const -{ - notImplemented(); - return false; -} - -void EditorClient::undo() -{ - notImplemented(); -} - -void EditorClient::redo() -{ - notImplemented(); -} - -bool EditorClient::shouldInsertNode(Node*, Range*, EditorInsertAction) -{ - notImplemented(); - return true; -} - -void EditorClient::pageDestroyed() -{ - delete this; -} - -bool EditorClient::smartInsertDeleteEnabled() -{ - notImplemented(); - return false; -} - -void EditorClient::toggleContinuousSpellChecking() -{ - notImplemented(); -} - -void EditorClient::toggleGrammarChecking() -{ -} - -void EditorClient::handleKeyboardEvent(KeyboardEvent* event) -{ - Frame* frame = core(m_webView)->focusController()->focusedOrMainFrame(); - if (!frame || !frame->document()->focusedNode()) - return; - - const PlatformKeyboardEvent* kevent = event->keyEvent(); - if (!kevent || kevent->type() == PlatformKeyboardEvent::KeyUp) - return; - - Node* start = frame->selection()->start().node(); - if (!start) - return; - - // FIXME: Use GtkBindingSet instead of this hard-coded switch - // http://bugs.webkit.org/show_bug.cgi?id=15911 - - if (start->isContentEditable()) { - switch (kevent->windowsVirtualKeyCode()) { - case VK_BACK: - frame->editor()->deleteWithDirection(SelectionController::BACKWARD, - kevent->ctrlKey() ? WordGranularity : CharacterGranularity, false, true); - break; - case VK_DELETE: - frame->editor()->deleteWithDirection(SelectionController::FORWARD, - kevent->ctrlKey() ? WordGranularity : CharacterGranularity, false, true); - break; - case VK_LEFT: - frame->selection()->modify(kevent->shiftKey() ? SelectionController::EXTEND : SelectionController::MOVE, - SelectionController::LEFT, - kevent->ctrlKey() ? WordGranularity : CharacterGranularity, - true); - break; - case VK_RIGHT: - frame->selection()->modify(kevent->shiftKey() ? SelectionController::EXTEND : SelectionController::MOVE, - SelectionController::RIGHT, - kevent->ctrlKey() ? WordGranularity : CharacterGranularity, - true); - break; - case VK_UP: - frame->selection()->modify(kevent->shiftKey() ? SelectionController::EXTEND : SelectionController::MOVE, - SelectionController::BACKWARD, - kevent->ctrlKey() ? ParagraphGranularity : LineGranularity, - true); - break; - case VK_DOWN: - frame->selection()->modify(kevent->shiftKey() ? SelectionController::EXTEND : SelectionController::MOVE, - SelectionController::FORWARD, - kevent->ctrlKey() ? ParagraphGranularity : LineGranularity, - true); - break; - case VK_PRIOR: // PageUp - frame->editor()->command(kevent->shiftKey() ? "MovePageUpAndModifySelection" : "MovePageUp").execute(); - break; - case VK_NEXT: // PageDown - frame->editor()->command(kevent->shiftKey() ? "MovePageDownAndModifySelection" : "MovePageDown").execute(); - break; - case VK_HOME: - if (kevent->ctrlKey() && kevent->shiftKey()) - frame->editor()->command("MoveToBeginningOfDocumentAndModifySelection").execute(); - else if (kevent->ctrlKey()) - frame->editor()->command("MoveToBeginningOfDocument").execute(); - else if (kevent->shiftKey()) - frame->editor()->command("MoveToBeginningOfLineAndModifySelection").execute(); - else - frame->editor()->command("MoveToBeginningOfLine").execute(); - break; - case VK_END: - if (kevent->ctrlKey() && kevent->shiftKey()) - frame->editor()->command("MoveToEndOfDocumentAndModifySelection").execute(); - else if (kevent->ctrlKey()) - frame->editor()->command("MoveToEndOfDocument").execute(); - else if (kevent->shiftKey()) - frame->editor()->command("MoveToEndOfLineAndModifySelection").execute(); - else - frame->editor()->command("MoveToEndOfLine").execute(); - break; - case VK_RETURN: - frame->editor()->command("InsertLineBreak").execute(); - break; - case VK_TAB: - return; - default: - if (!kevent->ctrlKey() && !kevent->altKey() && !kevent->text().isEmpty()) { - if (kevent->text().length() == 1) { - UChar ch = kevent->text()[0]; - // Don't insert null or control characters as they can result in unexpected behaviour - if (ch < ' ') - break; - } - frame->editor()->insertText(kevent->text(), event); - } else if (kevent->ctrlKey()) { - switch (kevent->windowsVirtualKeyCode()) { - case VK_B: - frame->editor()->command("ToggleBold").execute(); - break; - case VK_I: - frame->editor()->command("ToggleItalic").execute(); - break; - case VK_Y: - frame->editor()->command("Redo").execute(); - break; - case VK_Z: - frame->editor()->command("Undo").execute(); - break; - default: - return; - } - } else return; - } - } else { - switch (kevent->windowsVirtualKeyCode()) { - case VK_UP: - frame->editor()->command("MoveUp").execute(); - break; - case VK_DOWN: - frame->editor()->command("MoveDown").execute(); - break; - case VK_PRIOR: // PageUp - frame->editor()->command("MovePageUp").execute(); - break; - case VK_NEXT: // PageDown - frame->editor()->command("MovePageDown").execute(); - break; - case VK_HOME: - if (kevent->ctrlKey()) - frame->editor()->command("MoveToBeginningOfDocument").execute(); - break; - case VK_END: - if (kevent->ctrlKey()) - frame->editor()->command("MoveToEndOfDocument").execute(); - break; - default: - return; - } - } - event->setDefaultHandled(); -} - -void EditorClient::handleInputMethodKeydown(KeyboardEvent* event) -{ - WebKitWebViewPrivate* priv = m_webView->priv; - - // TODO: Dispatch IE-compatible text input events for IM events. - if (gtk_im_context_filter_keypress(priv->imContext, event->keyEvent()->gdkEventKey())) - event->setDefaultHandled(); -} - -EditorClient::EditorClient(WebKitWebView* webView) - : m_webView(webView) -{ - WebKitWebViewPrivate* priv = m_webView->priv; - g_signal_connect(priv->imContext, "commit", G_CALLBACK(imContextCommitted), this); - g_signal_connect(priv->imContext, "preedit-changed", G_CALLBACK(imContextPreeditChanged), this); -} - -EditorClient::~EditorClient() -{ - WebKitWebViewPrivate* priv = m_webView->priv; - g_signal_handlers_disconnect_by_func(priv->imContext, (gpointer)imContextCommitted, this); - g_signal_handlers_disconnect_by_func(priv->imContext, (gpointer)imContextPreeditChanged, this); -} - -void EditorClient::textFieldDidBeginEditing(Element*) -{ -} - -void EditorClient::textFieldDidEndEditing(Element*) -{ -} - -void EditorClient::textDidChangeInTextField(Element*) -{ -} - -bool EditorClient::doTextFieldCommandFromEvent(Element*, KeyboardEvent*) -{ - return false; -} - -void EditorClient::textWillBeDeletedInTextField(Element*) -{ - notImplemented(); -} - -void EditorClient::textDidChangeInTextArea(Element*) -{ - notImplemented(); -} - -void EditorClient::ignoreWordInSpellDocument(const String&) -{ - notImplemented(); -} - -void EditorClient::learnWord(const String&) -{ - notImplemented(); -} - -void EditorClient::checkSpellingOfString(const UChar*, int, int*, int*) -{ - notImplemented(); -} - -void EditorClient::checkGrammarOfString(const UChar*, int, Vector&, int*, int*) -{ - notImplemented(); -} - -void EditorClient::updateSpellingUIWithGrammarString(const String&, const GrammarDetail&) -{ - notImplemented(); -} - -void EditorClient::updateSpellingUIWithMisspelledWord(const String&) -{ - notImplemented(); -} - -void EditorClient::showSpellingUI(bool) -{ - notImplemented(); -} - -bool EditorClient::spellingUIIsShowing() -{ - notImplemented(); - return false; -} - -void EditorClient::getGuessesForWord(const String&, Vector&) -{ - notImplemented(); -} - -} diff --git a/WebKit/gtk/WebCoreSupport/EditorClientGtk.h b/WebKit/gtk/WebCoreSupport/EditorClientGtk.h deleted file mode 100644 index de31842..0000000 --- a/WebKit/gtk/WebCoreSupport/EditorClientGtk.h +++ /dev/null @@ -1,118 +0,0 @@ -/* - * Copyright (C) 2006 Nikolas Zimmermann - * Copyright (C) 2006 Zack Rusin - * 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. - */ - -#ifndef EditorClientGtk_h -#define EditorClientGtk_h - -#include "EditorClient.h" - -#include - -typedef struct _WebKitWebView WebKitWebView; - -namespace WebCore { - class Page; -} - -namespace WebKit { - - class EditorClient : public WebCore::EditorClient { - public: - EditorClient(WebKitWebView*); - ~EditorClient(); - - // from EditorClient - virtual void pageDestroyed(); - - virtual bool shouldDeleteRange(WebCore::Range*); - virtual bool shouldShowDeleteInterface(WebCore::HTMLElement*); - virtual bool smartInsertDeleteEnabled(); - virtual bool isContinuousSpellCheckingEnabled(); - virtual void toggleContinuousSpellChecking(); - virtual bool isGrammarCheckingEnabled(); - virtual void toggleGrammarChecking(); - virtual int spellCheckerDocumentTag(); - - virtual bool isEditable(); - - virtual bool shouldBeginEditing(WebCore::Range*); - virtual bool shouldEndEditing(WebCore::Range*); - virtual bool shouldInsertNode(WebCore::Node*, WebCore::Range*, WebCore::EditorInsertAction); - virtual bool shouldInsertText(const WebCore::String&, WebCore::Range*, WebCore::EditorInsertAction); - virtual bool shouldChangeSelectedRange(WebCore::Range* fromRange, WebCore::Range* toRange, WebCore::EAffinity, bool stillSelecting); - - virtual bool shouldApplyStyle(WebCore::CSSStyleDeclaration*, WebCore::Range*); - - virtual bool shouldMoveRangeAfterDelete(WebCore::Range*, WebCore::Range*); - - virtual void didBeginEditing(); - virtual void respondToChangedContents(); - virtual void respondToChangedSelection(); - virtual void didEndEditing(); - virtual void didWriteSelectionToPasteboard(); - virtual void didSetSelectionTypesForPasteboard(); - - virtual void registerCommandForUndo(WTF::PassRefPtr); - virtual void registerCommandForRedo(WTF::PassRefPtr); - virtual void clearUndoRedoOperations(); - - virtual bool canUndo() const; - virtual bool canRedo() const; - - virtual void undo(); - virtual void redo(); - - virtual void handleKeyboardEvent(WebCore::KeyboardEvent*); - virtual void handleInputMethodKeydown(WebCore::KeyboardEvent*); - - virtual void textFieldDidBeginEditing(WebCore::Element*); - virtual void textFieldDidEndEditing(WebCore::Element*); - virtual void textDidChangeInTextField(WebCore::Element*); - virtual bool doTextFieldCommandFromEvent(WebCore::Element*, WebCore::KeyboardEvent*); - virtual void textWillBeDeletedInTextField(WebCore::Element*); - virtual void textDidChangeInTextArea(WebCore::Element*); - - virtual void ignoreWordInSpellDocument(const WebCore::String&); - virtual void learnWord(const WebCore::String&); - virtual void checkSpellingOfString(const UChar*, int length, int* misspellingLocation, int* misspellingLength); - virtual void checkGrammarOfString(const UChar*, int length, WTF::Vector&, int* badGrammarLocation, int* badGrammarLength); - virtual void updateSpellingUIWithGrammarString(const WebCore::String&, const WebCore::GrammarDetail&); - virtual void updateSpellingUIWithMisspelledWord(const WebCore::String&); - virtual void showSpellingUI(bool show); - virtual bool spellingUIIsShowing(); - virtual void getGuessesForWord(const WebCore::String&, WTF::Vector& guesses); - virtual void setInputMethodState(bool enabled); - - WebKitWebView* m_webView; - }; -} - -#endif - -// vim: ts=4 sw=4 et diff --git a/WebKit/gtk/WebCoreSupport/FrameLoaderClientGtk.cpp b/WebKit/gtk/WebCoreSupport/FrameLoaderClientGtk.cpp deleted file mode 100644 index 8cea58f..0000000 --- a/WebKit/gtk/WebCoreSupport/FrameLoaderClientGtk.cpp +++ /dev/null @@ -1,794 +0,0 @@ -/* - * Copyright (C) 2007, 2008 Alp Toker - * Copyright (C) 2007, 2008 Holger Hans Peter Freyther - * Copyright (C) 2007 Christian Dywan - * Copyright (C) 2008 Collabora Ltd. All rights reserved. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#include "config.h" -#include "FrameLoaderClientGtk.h" - -#include "DocumentLoader.h" -#include "FrameLoader.h" -#include "FrameView.h" -#include "FrameTree.h" -#include "HTMLFormElement.h" -#include "HTMLFrameElement.h" -#include "HTMLFrameOwnerElement.h" -#include "HTMLNames.h" -#include "JSDOMWindow.h" -#include "Language.h" -#include "MIMETypeRegistry.h" -#include "NotImplemented.h" -#include "PlatformString.h" -#include "PluginDatabase.h" -#include "RenderPart.h" -#include "ResourceRequest.h" -#include "CString.h" -#include "ProgressTracker.h" -#include "JSDOMBinding.h" -#include "ScriptController.h" -#include "webkitwebview.h" -#include "webkitwebframe.h" -#include "webkitprivate.h" - -#include -#include -#if PLATFORM(UNIX) -#include -#endif - -using namespace WebCore; - -namespace WebKit { - -FrameLoaderClient::FrameLoaderClient(WebKitWebFrame* frame) - : m_frame(frame) - , m_userAgent("") - , m_pluginView(0) - , m_hasSentResponseToPlugin(false) -{ - ASSERT(m_frame); -} - -static String agentPlatform() -{ -#ifdef GDK_WINDOWING_X11 - return "X11"; -#elif defined(GDK_WINDOWING_WIN32) - return "Windows"; -#elif defined(GDK_WINDOWING_QUARTZ) - return "Macintosh"; -#elif defined(GDK_WINDOWING_DIRECTFB) - return "DirectFB"; -#else - notImplemented(); - return "Unknown"; -#endif -} - -static String agentOS() -{ -#if PLATFORM(DARWIN) -#if PLATFORM(X86) - return "Intel Mac OS X"; -#else - return "PPC Mac OS X"; -#endif -#elif PLATFORM(UNIX) - struct utsname name; - if (uname(&name) != -1) - return String::format("%s %s", name.sysname, name.machine); - else - return "Unknown"; -#elif PLATFORM(WIN_OS) - // FIXME: Compute the Windows version - return "Windows"; -#else - notImplemented(); - return "Unknown"; -#endif -} - -static String composeUserAgent() -{ - // This is a liberal interpretation of http://www.mozilla.org/build/revised-user-agent-strings.html - // See also http://developer.apple.com/internet/safari/faq.html#anchor2 - - String ua; - - // Product - ua += "Mozilla/5.0"; - - // Comment - ua += " ("; - ua += agentPlatform(); // Platform - ua += "; U; "; // Security - ua += agentOS(); // OS-or-CPU - ua += "; "; - ua += defaultLanguage(); // Localization information - ua += ") "; - - // WebKit Product - // FIXME: The WebKit version is hardcoded - static const String webKitVersion = "528.5+"; - ua += "AppleWebKit/" + webKitVersion; - ua += " (KHTML, like Gecko, "; - // We mention Safari since many broken sites check for it (OmniWeb does this too) - // We re-use the WebKit version, though it doesn't seem to matter much in practice - ua += "Safari/" + webKitVersion; - ua += ") "; - - // Vendor Product - ua += g_get_prgname(); - - return ua; -} - -String FrameLoaderClient::userAgent(const KURL&) -{ - if (m_userAgent.isEmpty()) - m_userAgent = composeUserAgent(); - - return m_userAgent; -} - -WTF::PassRefPtr FrameLoaderClient::createDocumentLoader(const WebCore::ResourceRequest& request, const SubstituteData& substituteData) -{ - return DocumentLoader::create(request, substituteData); -} - -void FrameLoaderClient::dispatchWillSubmitForm(FramePolicyFunction policyFunction, PassRefPtr) -{ - // FIXME: This is surely too simple - ASSERT(policyFunction); - if (!policyFunction) - return; - (core(m_frame)->loader()->*policyFunction)(PolicyUse); -} - - -void FrameLoaderClient::committedLoad(DocumentLoader* loader, const char* data, int length) -{ - if (!m_pluginView) { - ASSERT(loader->frame()); - // Setting the encoding on the frame loader is our way to get work done that is normally done - // when the first bit of data is received, even for the case of a document with no data (like about:blank). - String encoding = loader->overrideEncoding(); - bool userChosen = !encoding.isNull(); - if (!userChosen) - encoding = loader->response().textEncodingName(); - - FrameLoader* frameLoader = loader->frameLoader(); - frameLoader->setEncoding(encoding, userChosen); - if (data) - frameLoader->addData(data, length); - } - - if (m_pluginView) { - if (!m_hasSentResponseToPlugin) { - m_pluginView->didReceiveResponse(loader->response()); - m_hasSentResponseToPlugin = true; - } - m_pluginView->didReceiveData(data, length); - } -} - -void FrameLoaderClient::dispatchDidReceiveAuthenticationChallenge(DocumentLoader*, unsigned long identifier, const AuthenticationChallenge&) -{ - notImplemented(); -} - -void FrameLoaderClient::dispatchDidCancelAuthenticationChallenge(DocumentLoader*, unsigned long identifier, const AuthenticationChallenge&) -{ - notImplemented(); -} - -void FrameLoaderClient::dispatchWillSendRequest(DocumentLoader*, unsigned long, ResourceRequest&, const ResourceResponse&) -{ - notImplemented(); -} - -void FrameLoaderClient::assignIdentifierToInitialRequest(unsigned long identifier, DocumentLoader*, const ResourceRequest&) -{ - notImplemented(); -} - -void FrameLoaderClient::postProgressStartedNotification() -{ - WebKitWebView* webView = getViewFromFrame(m_frame); - g_signal_emit_by_name(webView, "load-started", m_frame); -} - -void FrameLoaderClient::postProgressEstimateChangedNotification() -{ - WebKitWebView* webView = getViewFromFrame(m_frame); - Page* corePage = core(webView); - - g_signal_emit_by_name(webView, "load-progress-changed", lround(corePage->progress()->estimatedProgress()*100)); -} - -void FrameLoaderClient::postProgressFinishedNotification() -{ - WebKitWebView* webView = getViewFromFrame(m_frame); - - g_signal_emit_by_name(webView, "load-finished", m_frame); -} - -void FrameLoaderClient::frameLoaderDestroyed() -{ - g_object_unref(m_frame); - m_frame = 0; - delete this; -} - -void FrameLoaderClient::dispatchDidReceiveResponse(DocumentLoader*, unsigned long, const ResourceResponse& response) -{ - m_response = response; -} - -void FrameLoaderClient::dispatchDecidePolicyForMIMEType(FramePolicyFunction policyFunction, const String&, const ResourceRequest&) -{ - // FIXME: we need to call directly here (comment copied from Qt version) - ASSERT(policyFunction); - if (!policyFunction) - return; - (core(m_frame)->loader()->*policyFunction)(PolicyUse); -} - -void FrameLoaderClient::dispatchDecidePolicyForNewWindowAction(FramePolicyFunction policyFunction, const NavigationAction&, const ResourceRequest&, PassRefPtr, const String&) -{ - ASSERT(policyFunction); - if (!policyFunction) - return; - // FIXME: I think Qt version marshals this to another thread so when we - // have multi-threaded download, we might need to do the same - (core(m_frame)->loader()->*policyFunction)(PolicyIgnore); -} - -void FrameLoaderClient::dispatchDecidePolicyForNavigationAction(FramePolicyFunction policyFunction, const NavigationAction& action, const ResourceRequest& resourceRequest, PassRefPtr) -{ - ASSERT(policyFunction); - if (!policyFunction) - return; - - WebKitWebView* webView = getViewFromFrame(m_frame); - WebKitNetworkRequest* request = webkit_network_request_new(resourceRequest.url().string().utf8().data()); - WebKitNavigationResponse response; - - g_signal_emit_by_name(webView, "navigation-requested", m_frame, request, &response); - - g_object_unref(request); - - if (response == WEBKIT_NAVIGATION_RESPONSE_IGNORE) { - (core(m_frame)->loader()->*policyFunction)(PolicyIgnore); - return; - } - - (core(m_frame)->loader()->*policyFunction)(PolicyUse); -} - -Widget* FrameLoaderClient::createPlugin(const IntSize& pluginSize, Element* element, const KURL& url, const Vector& paramNames, const Vector& paramValues, const String& mimeType, bool loadManually) -{ - PluginView* pluginView = PluginView::create(core(m_frame), pluginSize, element, url, paramNames, paramValues, mimeType, loadManually); - - if (pluginView->status() == PluginStatusLoadedSuccessfully) - return pluginView; - - return 0; -} - -PassRefPtr FrameLoaderClient::createFrame(const KURL& url, const String& name, HTMLFrameOwnerElement* ownerElement, - const String& referrer, bool allowsScrolling, int marginWidth, int marginHeight) -{ - Frame* coreFrame = core(webFrame()); - - ASSERT(core(getViewFromFrame(webFrame())) == coreFrame->page()); - WebKitWebFrame* gtkFrame = WEBKIT_WEB_FRAME(webkit_web_frame_init_with_web_view(getViewFromFrame(webFrame()), ownerElement)); - RefPtr childFrame(adoptRef(core(gtkFrame))); - - coreFrame->tree()->appendChild(childFrame); - - childFrame->tree()->setName(name); - childFrame->init(); - childFrame->loader()->loadURL(url, referrer, String(), FrameLoadTypeRedirectWithLockedHistory, 0, 0); - - // The frame's onload handler may have removed it from the document. - if (!childFrame->tree()->parent()) - return 0; - - return childFrame.release(); -} - -void FrameLoaderClient::redirectDataToPlugin(Widget* pluginWidget) -{ - ASSERT(!m_pluginView); - m_pluginView = static_cast(pluginWidget); - m_hasSentResponseToPlugin = false; -} - -Widget* FrameLoaderClient::createJavaAppletWidget(const IntSize&, Element*, const KURL& baseURL, - const Vector& paramNames, const Vector& paramValues) -{ - notImplemented(); - return 0; -} - -ObjectContentType FrameLoaderClient::objectContentType(const KURL& url, const String& mimeType) -{ - String type = mimeType; - // We don't use MIMETypeRegistry::getMIMETypeForPath() because it returns "application/octet-stream" upon failure - if (type.isEmpty()) - type = MIMETypeRegistry::getMIMETypeForExtension(url.path().substring(url.path().reverseFind('.') + 1)); - - if (type.isEmpty()) - return WebCore::ObjectContentFrame; - - if (MIMETypeRegistry::isSupportedImageMIMEType(type)) - return WebCore::ObjectContentImage; - - if (PluginDatabase::installedPlugins()->isMIMETypeRegistered(mimeType)) - return WebCore::ObjectContentNetscapePlugin; - - if (MIMETypeRegistry::isSupportedNonImageMIMEType(type)) - return WebCore::ObjectContentFrame; - - return WebCore::ObjectContentNone; -} - -String FrameLoaderClient::overrideMediaType() const -{ - notImplemented(); - return String(); -} - -void FrameLoaderClient::windowObjectCleared() -{ - // Is this obsolete now? - g_signal_emit_by_name(m_frame, "cleared"); - - Frame* coreFrame = core(webFrame()); - ASSERT(coreFrame); - - Settings* settings = coreFrame->settings(); - if (!settings || !settings->isJavaScriptEnabled()) - return; - - // TODO: Consider using g_signal_has_handler_pending() to avoid the overhead - // when there are no handlers. - JSGlobalContextRef context = toGlobalRef(coreFrame->script()->globalObject()->globalExec()); - JSObjectRef windowObject = toRef(coreFrame->script()->globalObject()); - ASSERT(windowObject); - - WebKitWebView* webView = getViewFromFrame(m_frame); - g_signal_emit_by_name(webView, "window-object-cleared", m_frame, context, windowObject); - - // TODO: Re-attach debug clients if present. - // The Win port has an example of how we might do this. -} - -void FrameLoaderClient::didPerformFirstNavigation() const -{ -} - -void FrameLoaderClient::registerForIconNotification(bool) -{ - notImplemented(); -} - -void FrameLoaderClient::setMainFrameDocumentReady(bool) -{ - // this is only interesting once we provide an external API for the DOM -} - -bool FrameLoaderClient::hasWebView() const -{ - notImplemented(); - return true; -} - -void FrameLoaderClient::dispatchDidFinishLoad() -{ - g_signal_emit_by_name(m_frame, "load-done", true); -} - -void FrameLoaderClient::frameLoadCompleted() -{ - notImplemented(); -} - -void FrameLoaderClient::saveViewStateToItem(HistoryItem*) -{ - notImplemented(); -} - -void FrameLoaderClient::restoreViewState() -{ - notImplemented(); -} - -bool FrameLoaderClient::shouldGoToHistoryItem(HistoryItem* item) const -{ - // FIXME: This is a very simple implementation. More sophisticated - // implementation would delegate the decision to a PolicyDelegate. - // See mac implementation for example. - return item != 0; -} - -void FrameLoaderClient::makeRepresentation(DocumentLoader*) -{ - notImplemented(); -} - -void FrameLoaderClient::forceLayout() -{ - core(m_frame)->forceLayout(true); -} - -void FrameLoaderClient::forceLayoutForNonHTML() -{ - notImplemented(); -} - -void FrameLoaderClient::setCopiesOnScroll() -{ - notImplemented(); -} - -void FrameLoaderClient::detachedFromParent2() -{ - notImplemented(); -} - -void FrameLoaderClient::detachedFromParent3() -{ - notImplemented(); -} - -void FrameLoaderClient::loadedFromCachedPage() -{ - notImplemented(); -} - -void FrameLoaderClient::dispatchDidHandleOnloadEvents() -{ - notImplemented(); -} - -void FrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad() -{ - notImplemented(); -} - -void FrameLoaderClient::dispatchDidCancelClientRedirect() -{ - notImplemented(); -} - -void FrameLoaderClient::dispatchWillPerformClientRedirect(const KURL&, double, double) -{ - notImplemented(); -} - -void FrameLoaderClient::dispatchDidChangeLocationWithinPage() -{ - notImplemented(); -} - -void FrameLoaderClient::dispatchWillClose() -{ - notImplemented(); -} - -void FrameLoaderClient::dispatchDidReceiveIcon() -{ - WebKitWebView* webView = getViewFromFrame(m_frame); - - g_signal_emit_by_name(webView, "icon-loaded", m_frame); -} - -void FrameLoaderClient::dispatchDidStartProvisionalLoad() -{ -} - -void FrameLoaderClient::dispatchDidReceiveTitle(const String& title) -{ - g_signal_emit_by_name(m_frame, "title-changed", title.utf8().data()); - - WebKitWebView* webView = getViewFromFrame(m_frame); - if (m_frame == webkit_web_view_get_main_frame(webView)) - g_signal_emit_by_name(webView, "title-changed", m_frame, title.utf8().data()); -} - -void FrameLoaderClient::dispatchDidCommitLoad() -{ - /* Update the URI once first data has been received. - * This means the URI is valid and successfully identify the page that's going to be loaded. - */ - WebKitWebFramePrivate* frameData = WEBKIT_WEB_FRAME_GET_PRIVATE(m_frame); - g_free(frameData->uri); - frameData->uri = g_strdup(core(m_frame)->loader()->url().prettyURL().utf8().data()); - - g_signal_emit_by_name(m_frame, "load-committed"); - - WebKitWebView* webView = getViewFromFrame(m_frame); - if (m_frame == webkit_web_view_get_main_frame(webView)) - g_signal_emit_by_name(webView, "load-committed", m_frame); -} - -void FrameLoaderClient::dispatchDidFinishDocumentLoad() -{ - notImplemented(); -} - -void FrameLoaderClient::dispatchDidFirstLayout() -{ - notImplemented(); -} - -void FrameLoaderClient::dispatchShow() -{ - notImplemented(); -} - -void FrameLoaderClient::cancelPolicyCheck() -{ - notImplemented(); -} - -void FrameLoaderClient::dispatchDidLoadMainResource(DocumentLoader*) -{ - notImplemented(); -} - -void FrameLoaderClient::revertToProvisionalState(DocumentLoader*) -{ - notImplemented(); -} - -void FrameLoaderClient::willChangeTitle(DocumentLoader*) -{ - notImplemented(); -} - -void FrameLoaderClient::didChangeTitle(DocumentLoader *l) -{ - setTitle(l->title(), l->url()); -} - -bool FrameLoaderClient::canHandleRequest(const ResourceRequest&) const -{ - notImplemented(); - return true; -} - -bool FrameLoaderClient::canShowMIMEType(const String&) const -{ - notImplemented(); - return true; -} - -bool FrameLoaderClient::representationExistsForURLScheme(const String&) const -{ - notImplemented(); - return false; -} - -String FrameLoaderClient::generatedMIMETypeForURLScheme(const String&) const -{ - notImplemented(); - return String(); -} - -void FrameLoaderClient::finishedLoading(DocumentLoader* documentLoader) -{ - if (!m_pluginView) - committedLoad(documentLoader, 0, 0); - else { - m_pluginView->didFinishLoading(); - m_pluginView = 0; - m_hasSentResponseToPlugin = false; - } -} - - -void FrameLoaderClient::provisionalLoadStarted() -{ - notImplemented(); -} - -void FrameLoaderClient::didFinishLoad() { - notImplemented(); -} - -void FrameLoaderClient::prepareForDataSourceReplacement() { notImplemented(); } - -void FrameLoaderClient::setTitle(const String& title, const KURL& url) -{ - WebKitWebFramePrivate* frameData = WEBKIT_WEB_FRAME_GET_PRIVATE(m_frame); - g_free(frameData->title); - frameData->title = g_strdup(title.utf8().data()); -} - -void FrameLoaderClient::dispatchDidReceiveContentLength(DocumentLoader*, unsigned long identifier, int lengthReceived) -{ - notImplemented(); -} - -void FrameLoaderClient::dispatchDidFinishLoading(DocumentLoader*, unsigned long identifier) -{ - notImplemented(); -} - -void FrameLoaderClient::dispatchDidFailLoading(DocumentLoader*, unsigned long identifier, const ResourceError&) -{ - notImplemented(); -} - -bool FrameLoaderClient::dispatchDidLoadResourceFromMemoryCache(DocumentLoader*, const ResourceRequest&, const ResourceResponse&, int length) -{ - notImplemented(); - return false; -} - -void FrameLoaderClient::dispatchDidFailProvisionalLoad(const ResourceError&) -{ - g_signal_emit_by_name(m_frame, "load-done", false); -} - -void FrameLoaderClient::dispatchDidFailLoad(const ResourceError&) -{ - g_signal_emit_by_name(m_frame, "load-done", false); -} - -void FrameLoaderClient::download(ResourceHandle*, const ResourceRequest&, const ResourceRequest&, const ResourceResponse&) -{ - notImplemented(); -} - -ResourceError FrameLoaderClient::cancelledError(const ResourceRequest&) -{ - notImplemented(); - return ResourceError(); -} - -ResourceError FrameLoaderClient::blockedError(const ResourceRequest&) -{ - notImplemented(); - return ResourceError(); -} - -ResourceError FrameLoaderClient::cannotShowURLError(const ResourceRequest&) -{ - notImplemented(); - return ResourceError(); -} - -ResourceError FrameLoaderClient::interruptForPolicyChangeError(const ResourceRequest&) -{ - notImplemented(); - return ResourceError(); -} - -ResourceError FrameLoaderClient::cannotShowMIMETypeError(const ResourceResponse&) -{ - notImplemented(); - return ResourceError(); -} - -ResourceError FrameLoaderClient::fileDoesNotExistError(const ResourceResponse&) -{ - notImplemented(); - return ResourceError(); -} - -ResourceError FrameLoaderClient::pluginWillHandleLoadError(const ResourceResponse&) -{ - notImplemented(); - return ResourceError(); -} - -bool FrameLoaderClient::shouldFallBack(const ResourceError&) -{ - notImplemented(); - return false; -} - -bool FrameLoaderClient::canCachePage() const -{ - return true; -} - -Frame* FrameLoaderClient::dispatchCreatePage() -{ - notImplemented(); - return 0; -} - -void FrameLoaderClient::dispatchUnableToImplementPolicy(const ResourceError&) -{ - notImplemented(); -} - -void FrameLoaderClient::setMainDocumentError(DocumentLoader*, const ResourceError& error) -{ - if (m_pluginView) { - m_pluginView->didFail(error); - m_pluginView = 0; - m_hasSentResponseToPlugin = false; - } -} - -void FrameLoaderClient::startDownload(const ResourceRequest&) -{ - notImplemented(); -} - -void FrameLoaderClient::updateGlobalHistory(const KURL&) -{ - notImplemented(); -} - -void FrameLoaderClient::savePlatformDataToCachedPage(CachedPage*) -{ -} - -void FrameLoaderClient::transitionToCommittedFromCachedPage(CachedPage*) -{ -} - -void FrameLoaderClient::transitionToCommittedForNewPage() -{ - Frame* frame = core(m_frame); - ASSERT(frame); - - Page* page = frame->page(); - ASSERT(page); - - WebKitWebView* containingWindow = getViewFromFrame(m_frame); - bool isMainFrame = frame == page->mainFrame(); - - if (isMainFrame && frame->view()) - frame->view()->setParentVisible(false); - - frame->setView(0); - - FrameView* frameView; - if (isMainFrame) { - IntSize size = IntSize(GTK_WIDGET(containingWindow)->allocation.width, - GTK_WIDGET(containingWindow)->allocation.height); - frameView = new FrameView(frame, size); - WebKitWebViewPrivate* priv = WEBKIT_WEB_VIEW_GET_PRIVATE(containingWindow); - frameView->setGtkAdjustments(priv->horizontalAdjustment, priv->verticalAdjustment); - } else - frameView = new FrameView(frame); - - frame->setView(frameView); - // FrameViews are created with a ref count of 1. Release this ref since we've assigned it to frame. - frameView->deref(); - - if (isMainFrame) - frameView->setParentVisible(true); - - if (frame->ownerRenderer()) - frame->ownerRenderer()->setWidget(frameView); - - if (HTMLFrameOwnerElement* owner = frame->ownerElement()) - frame->view()->setCanHaveScrollbars(owner->scrollingMode() != ScrollbarAlwaysOff); -} - -} diff --git a/WebKit/gtk/WebCoreSupport/FrameLoaderClientGtk.h b/WebKit/gtk/WebCoreSupport/FrameLoaderClientGtk.h deleted file mode 100644 index 8f63b53..0000000 --- a/WebKit/gtk/WebCoreSupport/FrameLoaderClientGtk.h +++ /dev/null @@ -1,181 +0,0 @@ -/* - * Copyright (C) 2006 Zack Rusin - * Copyright (C) 2006 Apple Computer, Inc. All rights reserved. - * Copyright (C) 2008 Collabora Ltd. All rights reserved. - * - * 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. - */ - -#ifndef FrameLoaderClientGtk_h -#define FrameLoaderClientGtk_h - -#include "FrameLoaderClient.h" -#include "ResourceResponse.h" -#include "PluginView.h" - -typedef struct _WebKitWebFrame WebKitWebFrame; - -namespace WebKit { - - class FrameLoaderClient : public WebCore::FrameLoaderClient { - public: - FrameLoaderClient(WebKitWebFrame*); - virtual ~FrameLoaderClient() { } - virtual void frameLoaderDestroyed(); - - WebKitWebFrame* webFrame() const { return m_frame; } - - virtual bool hasWebView() const; - - virtual void makeRepresentation(WebCore::DocumentLoader*); - virtual void forceLayout(); - virtual void forceLayoutForNonHTML(); - - virtual void setCopiesOnScroll(); - - virtual void detachedFromParent2(); - virtual void detachedFromParent3(); - - virtual void loadedFromCachedPage(); - - virtual void assignIdentifierToInitialRequest(unsigned long identifier, WebCore::DocumentLoader*, const WebCore::ResourceRequest&); - - virtual void dispatchWillSendRequest(WebCore::DocumentLoader*, unsigned long identifier, WebCore::ResourceRequest&, const WebCore::ResourceResponse& redirectResponse); - virtual void dispatchDidReceiveAuthenticationChallenge(WebCore::DocumentLoader*, unsigned long identifier, const WebCore::AuthenticationChallenge&); - virtual void dispatchDidCancelAuthenticationChallenge(WebCore::DocumentLoader*, unsigned long identifier, const WebCore::AuthenticationChallenge&); - virtual void dispatchDidReceiveResponse(WebCore::DocumentLoader*, unsigned long identifier, const WebCore::ResourceResponse&); - virtual void dispatchDidReceiveContentLength(WebCore::DocumentLoader*, unsigned long identifier, int lengthReceived); - virtual void dispatchDidFinishLoading(WebCore::DocumentLoader*, unsigned long identifier); - virtual void dispatchDidFailLoading(WebCore::DocumentLoader*, unsigned long identifier, const WebCore::ResourceError&); - virtual bool dispatchDidLoadResourceFromMemoryCache(WebCore::DocumentLoader*, const WebCore::ResourceRequest&, const WebCore::ResourceResponse&, int length); - - virtual void dispatchDidHandleOnloadEvents(); - virtual void dispatchDidReceiveServerRedirectForProvisionalLoad(); - virtual void dispatchDidCancelClientRedirect(); - virtual void dispatchWillPerformClientRedirect(const WebCore::KURL&, double, double); - virtual void dispatchDidChangeLocationWithinPage(); - virtual void dispatchWillClose(); - virtual void dispatchDidReceiveIcon(); - virtual void dispatchDidStartProvisionalLoad(); - virtual void dispatchDidReceiveTitle(const WebCore::String&); - virtual void dispatchDidCommitLoad(); - virtual void dispatchDidFailProvisionalLoad(const WebCore::ResourceError&); - virtual void dispatchDidFailLoad(const WebCore::ResourceError&); - virtual void dispatchDidFinishDocumentLoad(); - virtual void dispatchDidFinishLoad(); - virtual void dispatchDidFirstLayout(); - - virtual WebCore::Frame* dispatchCreatePage(); - virtual void dispatchShow(); - - virtual void dispatchDecidePolicyForMIMEType(WebCore::FramePolicyFunction, const WebCore::String& MIMEType, const WebCore::ResourceRequest&); - virtual void dispatchDecidePolicyForNewWindowAction(WebCore::FramePolicyFunction, const WebCore::NavigationAction&, const WebCore::ResourceRequest&, WTF::PassRefPtr, const WebCore::String& frameName); - virtual void dispatchDecidePolicyForNavigationAction(WebCore::FramePolicyFunction, const WebCore::NavigationAction&, const WebCore::ResourceRequest&, WTF::PassRefPtr); - virtual void cancelPolicyCheck(); - - virtual void dispatchUnableToImplementPolicy(const WebCore::ResourceError&); - - virtual void dispatchWillSubmitForm(WebCore::FramePolicyFunction, WTF::PassRefPtr); - - virtual void dispatchDidLoadMainResource(WebCore::DocumentLoader*); - virtual void revertToProvisionalState(WebCore::DocumentLoader*); - virtual void setMainDocumentError(WebCore::DocumentLoader*, const WebCore::ResourceError&); - - virtual void postProgressStartedNotification(); - virtual void postProgressEstimateChangedNotification(); - virtual void postProgressFinishedNotification(); - - virtual PassRefPtr createFrame(const WebCore::KURL& url, const WebCore::String& name, WebCore::HTMLFrameOwnerElement* ownerElement, - const WebCore::String& referrer, bool allowsScrolling, int marginWidth, int marginHeight); - virtual WebCore::Widget* createPlugin(const WebCore::IntSize&, WebCore::Element*, const WebCore::KURL&, const WTF::Vector&, const WTF::Vector&, const WebCore::String&, bool); - virtual void redirectDataToPlugin(WebCore::Widget* pluginWidget); - virtual WebCore::Widget* createJavaAppletWidget(const WebCore::IntSize&, WebCore::Element*, const WebCore::KURL& baseURL, const WTF::Vector& paramNames, const WTF::Vector& paramValues); - virtual WebCore::String overrideMediaType() const; - virtual void windowObjectCleared(); - virtual void didPerformFirstNavigation() const; - - virtual void registerForIconNotification(bool); - - virtual WebCore::ObjectContentType objectContentType(const WebCore::KURL& url, const WebCore::String& mimeType); - - virtual void setMainFrameDocumentReady(bool); - - virtual void startDownload(const WebCore::ResourceRequest&); - - virtual void willChangeTitle(WebCore::DocumentLoader*); - virtual void didChangeTitle(WebCore::DocumentLoader*); - - virtual void committedLoad(WebCore::DocumentLoader*, const char*, int); - virtual void finishedLoading(WebCore::DocumentLoader*); - - virtual void updateGlobalHistory(const WebCore::KURL&); - virtual bool shouldGoToHistoryItem(WebCore::HistoryItem*) const; - - virtual WebCore::ResourceError cancelledError(const WebCore::ResourceRequest&); - virtual WebCore::ResourceError blockedError(const WebCore::ResourceRequest&); - virtual WebCore::ResourceError cannotShowURLError(const WebCore::ResourceRequest&); - virtual WebCore::ResourceError interruptForPolicyChangeError(const WebCore::ResourceRequest&); - - virtual WebCore::ResourceError cannotShowMIMETypeError(const WebCore::ResourceResponse&); - virtual WebCore::ResourceError fileDoesNotExistError(const WebCore::ResourceResponse&); - virtual WebCore::ResourceError pluginWillHandleLoadError(const WebCore::ResourceResponse&); - - virtual bool shouldFallBack(const WebCore::ResourceError&); - - virtual bool canHandleRequest(const WebCore::ResourceRequest&) const; - virtual bool canShowMIMEType(const WebCore::String&) const; - virtual bool representationExistsForURLScheme(const WebCore::String&) const; - virtual WebCore::String generatedMIMETypeForURLScheme(const WebCore::String&) const; - - virtual void frameLoadCompleted(); - virtual void saveViewStateToItem(WebCore::HistoryItem*); - virtual void restoreViewState(); - virtual void provisionalLoadStarted(); - virtual void didFinishLoad(); - virtual void prepareForDataSourceReplacement(); - - virtual WTF::PassRefPtr createDocumentLoader(const WebCore::ResourceRequest&, const WebCore::SubstituteData&); - virtual void setTitle(const WebCore::String& title, const WebCore::KURL&); - - virtual WebCore::String userAgent(const WebCore::KURL&); - - virtual void savePlatformDataToCachedPage(WebCore::CachedPage*); - virtual void transitionToCommittedFromCachedPage(WebCore::CachedPage*); - virtual void transitionToCommittedForNewPage(); - - virtual bool canCachePage() const; - virtual void download(WebCore::ResourceHandle*, const WebCore::ResourceRequest&, const WebCore::ResourceRequest&, const WebCore::ResourceResponse&); - private: - WebKitWebFrame* m_frame; - WebCore::ResourceResponse m_response; - WebCore::String m_userAgent; - - // Plugin view to redirect data to - WebCore::PluginView* m_pluginView; - bool m_hasSentResponseToPlugin; - }; - -} - -#endif diff --git a/WebKit/gtk/WebCoreSupport/InspectorClientGtk.cpp b/WebKit/gtk/WebCoreSupport/InspectorClientGtk.cpp deleted file mode 100644 index 210995a..0000000 --- a/WebKit/gtk/WebCoreSupport/InspectorClientGtk.cpp +++ /dev/null @@ -1,186 +0,0 @@ -/* - * Copyright (C) 2008 Gustavo Noronha Silva - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#include "config.h" -#include "InspectorClientGtk.h" - -#include "webkitwebview.h" -#include "webkitwebinspector.h" -#include "webkitprivate.h" -#include "CString.h" -#include "InspectorController.h" -#include "NotImplemented.h" -#include "PlatformString.h" - -using namespace WebCore; - -namespace WebKit { - -static void notifyWebViewDestroyed(WebKitWebView* webView, InspectorClient* inspectorClient) -{ - inspectorClient->webViewDestroyed(); -} - -InspectorClient::InspectorClient(WebKitWebView* webView) - : m_webView(0) - , m_inspectedWebView(webView) - , m_webInspector(0) -{} - -void InspectorClient::inspectorDestroyed() -{ - if (m_webView) { - gboolean handled = FALSE; - g_signal_emit_by_name(m_webInspector, "destroy", &handled); - - /* we can now dispose our own reference */ - g_object_unref(m_webInspector); - } - - delete this; -} - -void InspectorClient::webViewDestroyed() -{ - m_webView = 0; - core(m_inspectedWebView)->inspectorController()->pageDestroyed(); - - // createPage will be called again, if the user chooses to inspect - // something else, and the inspector will be referenced again, - // there. - g_object_unref(m_webInspector); -} - -Page* InspectorClient::createPage() -{ - if (m_webView) - return core(m_webView); - - // This g_object_get will ref the inspector. We're not doing an - // unref if this method succeeds because the inspector object must - // be alive even after the inspected WebView is destroyed - the - // close-window and destroy signals still need to be - // emitted. - WebKitWebInspector* webInspector; - g_object_get(G_OBJECT(m_inspectedWebView), "web-inspector", &webInspector, NULL); - m_webInspector = webInspector; - - g_signal_emit_by_name(m_webInspector, "inspect-web-view", m_inspectedWebView, &m_webView); - - if (!m_webView) { - g_object_unref(m_webInspector); - return 0; - } - - webkit_web_inspector_set_web_view(m_webInspector, m_webView); - - g_signal_connect(G_OBJECT(m_webView), "destroy", - G_CALLBACK(notifyWebViewDestroyed), (gpointer)this); - - webkit_web_view_open(m_webView, "file://"DATA_DIR"/webkit-1.0/webinspector/inspector.html"); - gtk_widget_show(GTK_WIDGET(m_webView)); - - return core(m_webView); -} - -String InspectorClient::localizedStringsURL() -{ - notImplemented(); - return String(); -} - -void InspectorClient::showWindow() -{ - if (!m_webView) - return; - - gboolean handled = FALSE; - g_signal_emit_by_name(m_webInspector, "show-window", &handled); - - core(m_inspectedWebView)->inspectorController()->setWindowVisible(true); -} - -void InspectorClient::closeWindow() -{ - if (!m_webView) - return; - - gboolean handled = FALSE; - g_signal_emit_by_name(m_webInspector, "close-window", &handled); - - core(m_inspectedWebView)->inspectorController()->setWindowVisible(false); -} - -void InspectorClient::attachWindow() -{ - if (!m_webView) - return; - - gboolean handled = FALSE; - g_signal_emit_by_name(m_webInspector, "attach-window", &handled); -} - -void InspectorClient::detachWindow() -{ - if (!m_webView) - return; - - gboolean handled = FALSE; - g_signal_emit_by_name(m_webInspector, "detach-window", &handled); -} - -void InspectorClient::setAttachedWindowHeight(unsigned height) -{ - notImplemented(); -} - -void InspectorClient::highlight(Node* node) -{ - notImplemented(); -} - -void InspectorClient::hideHighlight() -{ - notImplemented(); -} - -void InspectorClient::inspectedURLChanged(const String& newURL) -{ - if (!m_webView) - return; - - webkit_web_inspector_set_inspected_uri(m_webInspector, newURL.utf8().data()); -} - -void InspectorClient::populateSetting(const String& key, InspectorController::Setting& setting) -{ - notImplemented(); -} - -void InspectorClient::storeSetting(const String& key, const InspectorController::Setting& setting) -{ - notImplemented(); -} - -void InspectorClient::removeSetting(const String& key) -{ - notImplemented(); -} - -} - diff --git a/WebKit/gtk/WebCoreSupport/InspectorClientGtk.h b/WebKit/gtk/WebCoreSupport/InspectorClientGtk.h deleted file mode 100644 index 4fba55d..0000000 --- a/WebKit/gtk/WebCoreSupport/InspectorClientGtk.h +++ /dev/null @@ -1,78 +0,0 @@ -/* - * Copyright (C) 2007 Apple 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. - * 3. Neither the name of Apple Computer, Inc. ("Apple") nor the names of - * its contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "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 OR ITS 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. - */ - -#ifndef InspectorClientGtk_h -#define InspectorClientGtk_h - -#include "InspectorClient.h" -#include "webkitwebview.h" -#include "webkitwebinspector.h" - -namespace WebCore { - class Node; - class Page; - class String; -} - -namespace WebKit { - - class InspectorClient : public WebCore::InspectorClient { - public: - InspectorClient(WebKitWebView* webView); - - virtual void inspectorDestroyed(); - void webViewDestroyed(); - - virtual WebCore::Page* createPage(); - - virtual WebCore::String localizedStringsURL(); - - virtual void showWindow(); - virtual void closeWindow(); - - virtual void attachWindow(); - virtual void detachWindow(); - - virtual void setAttachedWindowHeight(unsigned height); - - virtual void highlight(WebCore::Node*); - virtual void hideHighlight(); - virtual void inspectedURLChanged(const WebCore::String& newURL); - - virtual void populateSetting(const WebCore::String& key, WebCore::InspectorController::Setting&); - virtual void storeSetting(const WebCore::String& key, const WebCore::InspectorController::Setting&); - virtual void removeSetting(const WebCore::String& key); - - private: - WebKitWebView* m_webView; - WebKitWebView* m_inspectedWebView; - WebKitWebInspector* m_webInspector; - }; -} - -#endif diff --git a/WebKit/gtk/WebCoreSupport/PasteboardHelperGtk.cpp b/WebKit/gtk/WebCoreSupport/PasteboardHelperGtk.cpp deleted file mode 100644 index ad8b077..0000000 --- a/WebKit/gtk/WebCoreSupport/PasteboardHelperGtk.cpp +++ /dev/null @@ -1,50 +0,0 @@ -/* - * Copyright (C) 2007 Luca Bruno - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#include "config.h" -#include "PasteboardHelperGtk.h" - -#include "Frame.h" -#include "webkitwebframe.h" -#include "webkitwebview.h" -#include "webkitprivate.h" - -#include - -using namespace WebCore; - -namespace WebKit -{ - -GtkClipboard* PasteboardHelperGtk::getClipboard(Frame* frame) const { - WebKitWebView* webView = webkit_web_frame_get_web_view(kit(frame)); - return gtk_widget_get_clipboard(GTK_WIDGET (webView), - GDK_SELECTION_CLIPBOARD); -} - -GtkTargetList* PasteboardHelperGtk::getCopyTargetList(Frame* frame) const { - WebKitWebView* webView = webkit_web_frame_get_web_view(kit(frame)); - return webkit_web_view_get_copy_target_list(webView); -} - -GtkTargetList* PasteboardHelperGtk::getPasteTargetList(Frame* frame) const { - WebKitWebView* webView = webkit_web_frame_get_web_view(kit(frame)); - return webkit_web_view_get_paste_target_list(webView); -} - -} diff --git a/WebKit/gtk/WebCoreSupport/PasteboardHelperGtk.h b/WebKit/gtk/WebCoreSupport/PasteboardHelperGtk.h deleted file mode 100644 index 77e0457..0000000 --- a/WebKit/gtk/WebCoreSupport/PasteboardHelperGtk.h +++ /dev/null @@ -1,49 +0,0 @@ -/* - * Copyright (C) 2007 Luca Bruno - * All rights reserved. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public License - * along with this library; see the file COPYING.LIB. If not, write to - * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - * Boston, MA 02110-1301, USA. - * - */ - -#ifndef PasteboardHelperGtk_h -#define PasteboardHelperGtk_h - -/* - * FIXME: this is for WebCore support and must be removed once - * a better solution is found - */ - -#include "Frame.h" -#include "PasteboardHelper.h" - -#include - -using namespace WebCore; - -namespace WebKit { - -class PasteboardHelperGtk : public PasteboardHelper { -public: - PasteboardHelperGtk() { } - virtual GtkClipboard* getClipboard(Frame*) const; - virtual GtkTargetList* getCopyTargetList(Frame*) const; - virtual GtkTargetList* getPasteTargetList(Frame*) const; -}; - -} - -#endif // PasteboardHelperGtk_h diff --git a/WebKit/gtk/webkit.pc.in b/WebKit/gtk/webkit.pc.in deleted file mode 100644 index 0ce6f71..0000000 --- a/WebKit/gtk/webkit.pc.in +++ /dev/null @@ -1,11 +0,0 @@ -prefix=@prefix@ -exec_prefix=@exec_prefix@ -libdir=@libdir@ -includedir=@includedir@ - -Name: WebKit -Description: Web content engine for GTK+ -Version: @VERSION@ -Requires: gtk+-2.0 -Libs: -L${libdir} -lwebkit-1.0 -Cflags: -I${includedir}/webkit-1.0 diff --git a/WebKit/gtk/webkit/webkit.h b/WebKit/gtk/webkit/webkit.h deleted file mode 100644 index e19cbc7..0000000 --- a/WebKit/gtk/webkit/webkit.h +++ /dev/null @@ -1,34 +0,0 @@ -/* - * Copyright (C) 2007 Alp Toker - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public License - * along with this library; see the file COPYING.LIB. If not, write to - * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - * Boston, MA 02110-1301, USA. - */ - -#ifndef __WEBKIT_H__ -#define __WEBKIT_H__ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#endif /* __WEBKIT_H__ */ diff --git a/WebKit/gtk/webkit/webkitdefines.h b/WebKit/gtk/webkit/webkitdefines.h deleted file mode 100644 index 0c080f4..0000000 --- a/WebKit/gtk/webkit/webkitdefines.h +++ /dev/null @@ -1,66 +0,0 @@ -/* - * Copyright (C) 2007 Holger Hans Peter Freyther - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public License - * along with this library; see the file COPYING.LIB. If not, write to - * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - * Boston, MA 02110-1301, USA. - */ - -#ifndef WEBKIT_DEFINES_H -#define WEBKIT_DEFINES_H - -#include - -#ifdef G_OS_WIN32 - #ifdef BUILDING_WEBKIT - #define WEBKIT_API __declspec(dllexport) - #else - #define WEBKIT_API __declspec(dllimport) - #endif - #define WEBKIT_OBSOLETE_API WEBKIT_API -#else - #define WEBKIT_API __attribute__((visibility("default"))) - #define WEBKIT_OBSOLETE_API WEBKIT_API __attribute__((deprecated)) -#endif - -#ifndef WEBKIT_API - #define WEBKIT_API -#endif - -G_BEGIN_DECLS - -typedef struct _WebKitNetworkRequest WebKitNetworkRequest; -typedef struct _WebKitNetworkRequestClass WebKitNetworkRequestClass; - -typedef struct _WebKitWebBackForwardList WebKitWebBackForwardList; -typedef struct _WebKitWebBackForwardListClass WebKitWebBackForwardListClass; - -typedef struct _WebKitWebHistoryItem WebKitWebHistoryItem; -typedef struct _WebKitWebHistoryItemClass WebKitWebHistoryItemClass; - -typedef struct _WebKitWebFrame WebKitWebFrame; -typedef struct _WebKitWebFrameClass WebKitWebFrameClass; - -typedef struct _WebKitWebSettings WebKitWebSettings; -typedef struct _WebKitWebSettingsClass WebKitWebSettingsClass; - -typedef struct _WebKitWebInspector WebKitWebInspector; -typedef struct _WebKitWebInspectorClass WebKitWebInspectorClass; - -typedef struct _WebKitWebView WebKitWebView; -typedef struct _WebKitWebViewClass WebKitWebViewClass; - -G_END_DECLS - -#endif diff --git a/WebKit/gtk/webkit/webkitnetworkrequest.cpp b/WebKit/gtk/webkit/webkitnetworkrequest.cpp deleted file mode 100644 index fab0f88..0000000 --- a/WebKit/gtk/webkit/webkitnetworkrequest.cpp +++ /dev/null @@ -1,88 +0,0 @@ -/* - * Copyright (C) 2007 Holger Hans Peter Freyther - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public License - * along with this library; see the file COPYING.LIB. If not, write to - * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - * Boston, MA 02110-1301, USA. - */ - -#include "config.h" - -#include "webkitnetworkrequest.h" - -extern "C" { - -G_DEFINE_TYPE(WebKitNetworkRequest, webkit_network_request, G_TYPE_OBJECT); - -struct _WebKitNetworkRequestPrivate { - gchar* uri; -}; - -#define WEBKIT_NETWORK_REQUEST_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE((obj), WEBKIT_TYPE_NETWORK_REQUEST, WebKitNetworkRequestPrivate)) - -static void webkit_network_request_finalize(GObject* object) -{ - WebKitNetworkRequest* request = WEBKIT_NETWORK_REQUEST(object); - WebKitNetworkRequestPrivate* priv = request->priv; - - g_free(priv->uri); - - G_OBJECT_CLASS(webkit_network_request_parent_class)->finalize(object); -} - -static void webkit_network_request_class_init(WebKitNetworkRequestClass* requestClass) -{ - G_OBJECT_CLASS(requestClass)->finalize = webkit_network_request_finalize; - - g_type_class_add_private(requestClass, sizeof(WebKitNetworkRequestPrivate)); -} - -static void webkit_network_request_init(WebKitNetworkRequest* request) -{ - WebKitNetworkRequestPrivate* priv = WEBKIT_NETWORK_REQUEST_GET_PRIVATE(request); - request->priv = priv; -} - -WebKitNetworkRequest* webkit_network_request_new(const gchar* uri) -{ - g_return_val_if_fail(uri, NULL); - - WebKitNetworkRequest* request = WEBKIT_NETWORK_REQUEST(g_object_new(WEBKIT_TYPE_NETWORK_REQUEST, NULL)); - WebKitNetworkRequestPrivate* priv = request->priv; - - priv->uri = g_strdup(uri); - - return request; -} - -void webkit_network_request_set_uri(WebKitNetworkRequest* request, const gchar* uri) -{ - g_return_if_fail(WEBKIT_IS_NETWORK_REQUEST(request)); - g_return_if_fail(uri); - - WebKitNetworkRequestPrivate* priv = request->priv; - - g_free(priv->uri); - priv->uri = g_strdup(uri); -} - -G_CONST_RETURN gchar* webkit_network_request_get_uri(WebKitNetworkRequest* request) -{ - g_return_val_if_fail(WEBKIT_IS_NETWORK_REQUEST(request), NULL); - - WebKitNetworkRequestPrivate* priv = request->priv; - return priv->uri; -} - -} diff --git a/WebKit/gtk/webkit/webkitnetworkrequest.h b/WebKit/gtk/webkit/webkitnetworkrequest.h deleted file mode 100644 index dfb4d6c..0000000 --- a/WebKit/gtk/webkit/webkitnetworkrequest.h +++ /dev/null @@ -1,63 +0,0 @@ -/* - * Copyright (C) 2007 Holger Hans Peter Freyther - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public License - * along with this library; see the file COPYING.LIB. If not, write to - * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - * Boston, MA 02110-1301, USA. - */ - -#ifndef WEBKIT_NETWORK_REQUEST_H -#define WEBKIT_NETWORK_REQUEST_H - -#include - -#include - -G_BEGIN_DECLS - -#define WEBKIT_TYPE_NETWORK_REQUEST (webkit_network_request_get_type()) -#define WEBKIT_NETWORK_REQUEST(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), WEBKIT_TYPE_NETWORK_REQUEST, WebKitNetworkRequest)) -#define WEBKIT_NETWORK_REQUEST_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), WEBKIT_TYPE_NETWORK_REQUEST, WebKitNetworkRequestClass)) -#define WEBKIT_IS_NETWORK_REQUEST(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), WEBKIT_TYPE_NETWORK_REQUEST)) -#define WEBKIT_IS_NETWORK_REQUEST_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), WEBKIT_TYPE_NETWORK_REQUEST)) -#define WEBKIT_NETWORK_REQUEST_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), WEBKIT_TYPE_NETWORK_REQUEST, WebKitNetworkRequestClass)) - -typedef struct _WebKitNetworkRequestPrivate WebKitNetworkRequestPrivate; - -struct _WebKitNetworkRequest { - GObject parent_instance; - - WebKitNetworkRequestPrivate *priv; -}; - -struct _WebKitNetworkRequestClass { - GObjectClass parent_class; -}; - -WEBKIT_API GType -webkit_network_request_get_type (void); - -WEBKIT_API WebKitNetworkRequest * -webkit_network_request_new (const gchar *uri); - -WEBKIT_API void -webkit_network_request_set_uri (WebKitNetworkRequest *request, - const gchar* uri); - -WEBKIT_API G_CONST_RETURN gchar * -webkit_network_request_get_uri (WebKitNetworkRequest *request); - -G_END_DECLS - -#endif diff --git a/WebKit/gtk/webkit/webkitprivate.cpp b/WebKit/gtk/webkit/webkitprivate.cpp deleted file mode 100644 index 07c8174..0000000 --- a/WebKit/gtk/webkit/webkitprivate.cpp +++ /dev/null @@ -1,113 +0,0 @@ -/* - * Copyright (C) 2007 Holger Hans Peter Freyther - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public License - * along with this library; see the file COPYING.LIB. If not, write to - * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - * Boston, MA 02110-1301, USA. - */ - -#include "config.h" - -#include "webkitprivate.h" -#include "ChromeClientGtk.h" -#include "FrameLoader.h" -#include "FrameLoaderClientGtk.h" -#include "Logging.h" -#include "NotImplemented.h" -#include "PageCache.h" -#include "PageGroup.h" -#include "Pasteboard.h" -#include "PasteboardHelperGtk.h" -#include - -#if ENABLE(DATABASE) -#include "DatabaseTracker.h" -#endif - -using namespace WebCore; - -namespace WebKit { - -WebKitWebView* getViewFromFrame(WebKitWebFrame* frame) -{ - WebKitWebFramePrivate* priv = frame->priv; - return priv->webView; -} - -WebCore::Frame* core(WebKitWebFrame* frame) -{ - if (!frame) - return 0; - - WebKitWebFramePrivate* priv = frame->priv; - return priv ? priv->coreFrame.get() : 0; -} - -WebKitWebFrame* kit(WebCore::Frame* coreFrame) -{ - if (!coreFrame) - return 0; - - ASSERT(coreFrame->loader()); - WebKit::FrameLoaderClient* client = static_cast(coreFrame->loader()->client()); - return client ? client->webFrame() : 0; -} - -WebCore::Page* core(WebKitWebView* webView) -{ - if (!webView) - return 0; - - WebKitWebViewPrivate* priv = webView->priv; - return priv ? priv->corePage : 0; -} - -WebKitWebView* kit(WebCore::Page* corePage) -{ - if (!corePage) - return 0; - - ASSERT(corePage->chrome()); - WebKit::ChromeClient* client = static_cast(corePage->chrome()->client()); - return client ? client->webView() : 0; -} - -} /** end namespace WebKit */ - -void webkit_init() -{ - static bool isInitialized = false; - if (isInitialized) - return; - isInitialized = true; - - JSC::initializeThreading(); - WebCore::InitializeLoggingChannelsIfNecessary(); - - // Page cache capacity (in pages). Comment from Mac port: - // (Research indicates that value / page drops substantially after 3 pages.) - // FIXME: Expose this with an API and/or calculate based on available resources - WebCore::pageCache()->setCapacity(3); - -#if ENABLE(DATABASE) - // FIXME: It should be possible for client applications to override this default location - gchar* databaseDirectory = g_build_filename(g_get_user_data_dir(), "webkit", "databases", NULL); - WebCore::DatabaseTracker::tracker().setDatabaseDirectoryPath(databaseDirectory); - g_free(databaseDirectory); -#endif - - PageGroup::setShouldTrackVisitedLinks(true); - - Pasteboard::generalPasteboard()->setHelper(new WebKit::PasteboardHelperGtk()); -} diff --git a/WebKit/gtk/webkit/webkitprivate.h b/WebKit/gtk/webkit/webkitprivate.h deleted file mode 100644 index 3047af4..0000000 --- a/WebKit/gtk/webkit/webkitprivate.h +++ /dev/null @@ -1,142 +0,0 @@ -/* - * Copyright (C) 2007, 2008 Holger Hans Peter Freyther - * Copyright (C) 2008 Jan Michael C. Alonzo - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public License - * along with this library; see the file COPYING.LIB. If not, write to - * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - * Boston, MA 02110-1301, USA. - */ - -#ifndef WEBKIT_PRIVATE_H -#define WEBKIT_PRIVATE_H - -/* - * This file knows the shared secret of WebKitWebView and WebKitWebFrame. - * They are using WebCore which musn't be exposed to the outer world. - */ - -#include -#include -#include -#include -#include - -#include "BackForwardList.h" -#include "HistoryItem.h" -#include "Settings.h" -#include "Page.h" -#include "Frame.h" -#include "InspectorClientGtk.h" -#include "FrameLoaderClient.h" - -#include - -namespace WebKit { - WebKitWebView* getViewFromFrame(WebKitWebFrame*); - - WebCore::Frame* core(WebKitWebFrame*); - WebKitWebFrame* kit(WebCore::Frame*); - - WebCore::Page* core(WebKitWebView*); - WebKitWebView* kit(WebCore::Page*); - - WebCore::HistoryItem* core(WebKitWebHistoryItem*); - WebKitWebHistoryItem* kit(WebCore::HistoryItem*); - - WebCore::BackForwardList* core(WebKitWebBackForwardList*); -} - -extern "C" { - void webkit_init(); - -#define WEBKIT_PARAM_READABLE ((GParamFlags)(G_PARAM_READABLE|G_PARAM_STATIC_NAME|G_PARAM_STATIC_NICK|G_PARAM_STATIC_BLURB)) -#define WEBKIT_PARAM_READWRITE ((GParamFlags)(G_PARAM_READWRITE|G_PARAM_STATIC_NAME|G_PARAM_STATIC_NICK|G_PARAM_STATIC_BLURB)) - - #define WEBKIT_WEB_VIEW_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE((obj), WEBKIT_TYPE_WEB_VIEW, WebKitWebViewPrivate)) - typedef struct _WebKitWebViewPrivate WebKitWebViewPrivate; - struct _WebKitWebViewPrivate { - WebCore::Page* corePage; - WebKitWebSettings* webSettings; - WebKitWebInspector* webInspector; - - WebKitWebFrame* mainFrame; - WebCore::String applicationNameForUserAgent; - WebCore::String* userAgent; - - WebKitWebBackForwardList* backForwardList; - - gint lastPopupXPosition; - gint lastPopupYPosition; - - HashSet children; - bool editable; - GtkIMContext* imContext; - - GtkTargetList* copy_target_list; - GtkTargetList* paste_target_list; - - gboolean transparent; - - GtkAdjustment* horizontalAdjustment; - GtkAdjustment* verticalAdjustment; - - gboolean zoomFullContent; - }; - - #define WEBKIT_WEB_FRAME_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE((obj), WEBKIT_TYPE_WEB_FRAME, WebKitWebFramePrivate)) - typedef struct _WebKitWebFramePrivate WebKitWebFramePrivate; - struct _WebKitWebFramePrivate { - WTF::RefPtr coreFrame; - WebCore::FrameLoaderClient* client; - WebKitWebView* webView; - - gchar* name; - gchar* title; - gchar* uri; - }; - - WebKitWebFrame* - webkit_web_frame_init_with_web_view(WebKitWebView*, WebCore::HTMLFrameOwnerElement*); - - WebKitWebHistoryItem* - webkit_web_history_item_new_with_core_item(WebCore::HistoryItem*); - - void - webkit_web_inspector_set_inspector_client(WebKitWebInspector*, WebKit::InspectorClient*); - - void - webkit_web_inspector_set_web_view(WebKitWebInspector *web_inspector, WebKitWebView *web_view); - - void - webkit_web_inspector_set_inspected_uri(WebKitWebInspector* web_inspector, const gchar* inspected_uri); - - // FIXME: Move these to webkitwebframe.h once their API has been discussed. - - WEBKIT_API GSList* - webkit_web_frame_get_children (WebKitWebFrame* frame); - - WEBKIT_API gchar* - webkit_web_frame_get_inner_text (WebKitWebFrame* frame); - - WEBKIT_API void - webkit_web_frame_print (WebKitWebFrame* frame); - - WEBKIT_API gchar* - webkit_web_frame_dump_render_tree (WebKitWebFrame* frame); - - WEBKIT_API gchar* - webkit_web_view_get_selected_text (WebKitWebView* web_view); -} - -#endif diff --git a/WebKit/gtk/webkit/webkitversion.cpp b/WebKit/gtk/webkit/webkitversion.cpp deleted file mode 100644 index 3f35750..0000000 --- a/WebKit/gtk/webkit/webkitversion.cpp +++ /dev/null @@ -1,67 +0,0 @@ -/* - * Copyright (C) 2008 Christian Dywan - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public License - * along with this library; see the file COPYING.LIB. If not, write to - * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - * Boston, MA 02110-1301, USA. - */ - -#include "config.h" -#include "webkitversion.h" - -extern "C" { - -/** - * webkit_major_version: - * - * The major version number of the WebKit that is linked against. - * - * Return value: The major version - * - * Since: 1.0.1 - */ -guint webkit_major_version() -{ - return WEBKIT_MAJOR_VERSION; -} - -/** - * webkit_minor_version: - * - * The minor version number of the WebKit that is linked against. - * - * Return value: The minor version - * - * Since: 1.0.1 - */ -guint webkit_minor_version() -{ - return WEBKIT_MINOR_VERSION; -} - -/** - * webkit_micro_version: - * - * The micro version number of the WebKit that is linked against. - * - * Return value: The micro version - * - * Since: 1.0.1 - */ -guint webkit_micro_version() -{ - return WEBKIT_MICRO_VERSION; -} - -} diff --git a/WebKit/gtk/webkit/webkitversion.h.in b/WebKit/gtk/webkit/webkitversion.h.in deleted file mode 100644 index f70800d..0000000 --- a/WebKit/gtk/webkit/webkitversion.h.in +++ /dev/null @@ -1,52 +0,0 @@ -/* - * Copyright (C) 2008 Christian Dywan - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public License - * along with this library; see the file COPYING.LIB. If not, write to - * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - * Boston, MA 02110-1301, USA. - */ - -#ifndef WEBKIT_VERSION_H -#define WEBKIT_VERSION_H - -#include -#include - -G_BEGIN_DECLS - -#define WEBKIT_MAJOR_VERSION (@WEBKIT_MAJOR_VERSION@) -#define WEBKIT_MINOR_VERSION (@WEBKIT_MINOR_VERSION@) -#define WEBKIT_MICRO_VERSION (@WEBKIT_MICRO_VERSION@) - -#define WEBKIT_CHECK_VERSION(major, minor, micro) \ - (WEBKIT_MAJOR_VERSION > (major) || \ - (WEBKIT_MAJOR_VERSION == (major) && WEBKIT_MINOR_VERSION > (minor)) || \ - (WEBKIT_MAJOR_VERSION == (major) && WEBKIT_MINOR_VERSION == (minor) && \ - WEBKIT_MICRO_VERSION >= (micro))) - -WEBKIT_API guint -webkit_major_version (void); - -WEBKIT_API guint -webkit_minor_version (void); - -WEBKIT_API guint -webkit_micro_version (void); - -WEBKIT_API gboolean -webkit_check_version (guint major, guint minor, guint micro); - -G_END_DECLS - -#endif diff --git a/WebKit/gtk/webkit/webkitwebbackforwardlist.cpp b/WebKit/gtk/webkit/webkitwebbackforwardlist.cpp deleted file mode 100644 index ff68dad..0000000 --- a/WebKit/gtk/webkit/webkitwebbackforwardlist.cpp +++ /dev/null @@ -1,379 +0,0 @@ -/* - * Copyright (C) 2008 Jan Michael C. Alonzo - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public License - * along with this library; see the file COPYING.LIB. If not, write to - * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - * Boston, MA 02110-1301, USA. - */ - -#include "config.h" - -#include "webkitwebbackforwardlist.h" -#include "webkitprivate.h" -#include "webkitwebhistoryitem.h" -#include "webkitwebview.h" - -#include - -#include "BackForwardList.h" -#include "HistoryItem.h" - -using namespace WebKit; - -extern "C" { - -struct _WebKitWebBackForwardListPrivate { - WebCore::BackForwardList* backForwardList; -}; - -#define WEBKIT_WEB_BACK_FORWARD_LIST_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE((obj), WEBKIT_TYPE_WEB_BACK_FORWARD_LIST, WebKitWebBackForwardListPrivate)) - -G_DEFINE_TYPE(WebKitWebBackForwardList, webkit_web_back_forward_list, G_TYPE_OBJECT); - -static void webkit_web_back_forward_list_class_init(WebKitWebBackForwardListClass* klass) -{ - g_type_class_add_private(klass, sizeof(WebKitWebBackForwardListPrivate)); -} - -static void webkit_web_back_forward_list_init(WebKitWebBackForwardList* webBackForwardList) -{ - webBackForwardList->priv = WEBKIT_WEB_BACK_FORWARD_LIST_GET_PRIVATE(webBackForwardList); -} - -/** - * webkit_web_back_forward_list_new_with_web_view: - * @webView: the back forward list's #WebKitWebView - * - * Creates an instance of the back forward list with a controlling #WebKitWebView - * - * Return value: a #WebKitWebBackForwardList - */ -WebKitWebBackForwardList* webkit_web_back_forward_list_new_with_web_view(WebKitWebView* webView) -{ - g_return_val_if_fail(WEBKIT_IS_WEB_VIEW(webView), NULL); - - WebKitWebBackForwardList* webBackForwardList; - - webBackForwardList = WEBKIT_WEB_BACK_FORWARD_LIST(g_object_new(WEBKIT_TYPE_WEB_BACK_FORWARD_LIST, NULL)); - WebKitWebBackForwardListPrivate* priv = webBackForwardList->priv; - - priv->backForwardList = core(webView)->backForwardList(); - priv->backForwardList->setEnabled(TRUE); - - return webBackForwardList; -} - -/** - * webkit_web_back_forward_list_go_forward: - * @webBackForwardList: a #WebKitWebBackForwardList - * - * Steps forward in the back forward list - */ -void webkit_web_back_forward_list_go_forward(WebKitWebBackForwardList* webBackForwardList) -{ - g_return_if_fail(WEBKIT_IS_WEB_BACK_FORWARD_LIST(webBackForwardList)); - - WebCore::BackForwardList* backForwardList = core(webBackForwardList); - if (backForwardList->enabled()) - backForwardList->goForward(); -} - -/** - * webkit_web_back_forward_list_go_back: - * @webBackForwardList: a #WebKitWebBackForwardList - * - * Steps backward in the back forward list - */ -void webkit_web_back_forward_list_go_back(WebKitWebBackForwardList* webBackForwardList) -{ - g_return_if_fail(WEBKIT_IS_WEB_BACK_FORWARD_LIST(webBackForwardList)); - - WebCore::BackForwardList* backForwardList = core(webBackForwardList); - if (backForwardList->enabled()) - backForwardList->goBack(); -} - -/** - * webkit_web_back_forward_list_contains_item: - * @webBackForwardList: a #WebKitWebBackForwardList - * @webHistoryItem: the #WebKitWebHistoryItem to check - * - * Checks if @webHistoryItem is in the back forward list - * - * Return: %TRUE if @webHistoryItem is in the back forward list, %FALSE if it doesn't - */ -gboolean webkit_web_back_forward_list_contains_item(WebKitWebBackForwardList* webBackForwardList, WebKitWebHistoryItem* webHistoryItem) -{ - g_return_val_if_fail(WEBKIT_IS_WEB_BACK_FORWARD_LIST(webBackForwardList), FALSE); - g_return_val_if_fail(WEBKIT_IS_WEB_HISTORY_ITEM(webHistoryItem), FALSE); - - WebCore::HistoryItem* historyItem = core(webHistoryItem); - - g_return_val_if_fail(historyItem != NULL, FALSE); - - WebCore::BackForwardList* backForwardList = core(webBackForwardList); - - return (backForwardList->enabled() ? backForwardList->containsItem(historyItem) : FALSE); -} - -/** - * webkit_web_back_forward_list_go_to_item: - * @webBackForwardList: a #WebKitWebBackForwardList - * @webHistoryItem: the #WebKitWebHistoryItem to go to - * - * Go to the specified @webHistoryItem in the back forward list - */ -void webkit_web_back_forward_list_go_to_item(WebKitWebBackForwardList* webBackForwardList, WebKitWebHistoryItem* webHistoryItem) -{ - g_return_if_fail(WEBKIT_IS_WEB_BACK_FORWARD_LIST(webBackForwardList)); - g_return_if_fail(WEBKIT_IS_WEB_HISTORY_ITEM(webHistoryItem)); - - WebCore::HistoryItem* historyItem = core(webHistoryItem); - WebCore::BackForwardList* backForwardList = core(webBackForwardList); - - if (backForwardList->enabled() && historyItem) - backForwardList->goToItem(historyItem); -} - -/** - * webkit_web_back_forward_list_get_forward_list_with_limit: - * @webBackForwardList: a #WebKitWebBackForwardList - * @limit: the number of items to retrieve - * - * Returns a list of items that succeed the current item, limited by @limit - * - * Return value: a #GList of items succeeding the current item, limited by @limit - */ -GList* webkit_web_back_forward_list_get_forward_list_with_limit(WebKitWebBackForwardList* webBackForwardList, gint limit) -{ - g_return_val_if_fail(WEBKIT_IS_WEB_BACK_FORWARD_LIST(webBackForwardList), NULL); - - WebCore::BackForwardList* backForwardList = core(webBackForwardList); - if (!backForwardList || !backForwardList->enabled()) - return NULL; - - WebCore::HistoryItemVector items; - GList* forwardItems = { 0 }; - - backForwardList->forwardListWithLimit(limit, items); - - for (unsigned i = 0; i < items.size(); i++) { - WebKitWebHistoryItem* webHistoryItem = webkit_web_history_item_new_with_core_item(items[i].get()); - forwardItems = g_list_prepend(forwardItems, g_object_ref(webHistoryItem)); - } - - return g_list_reverse(forwardItems); -} - -/** - * webkit_web_back_forward_list_get_back_list_with_limit: - * @webBackForwardList: a #WebKitWebBackForwardList - * @limit: the number of items to retrieve - * - * Returns a list of items that precede the current item, limited by @limit - * - * Return value: a #GList of items preceding the current item, limited by @limit - */ -GList* webkit_web_back_forward_list_get_back_list_with_limit(WebKitWebBackForwardList* webBackForwardList, gint limit) -{ - g_return_val_if_fail(WEBKIT_IS_WEB_BACK_FORWARD_LIST(webBackForwardList), NULL); - - WebCore::BackForwardList* backForwardList = core(webBackForwardList); - if (!backForwardList || !backForwardList->enabled()) - return NULL; - - WebCore::HistoryItemVector items; - GList* backItems = { 0 }; - - backForwardList->backListWithLimit(limit, items); - - for (unsigned i = 0; i < items.size(); i++) { - WebKitWebHistoryItem* webHistoryItem = webkit_web_history_item_new_with_core_item(items[i].get()); - backItems = g_list_prepend(backItems, g_object_ref(webHistoryItem)); - } - - return g_list_reverse(backItems); -} -/** - * webkit_web_back_forward_list_get_back_item: - * @webBackForwardList: a #WebBackForwardList - * - * Returns the item that precedes the current item - * - * Return value: the #WebKitWebHistoryItem preceding the current item - */ -WebKitWebHistoryItem* webkit_web_back_forward_list_get_back_item(WebKitWebBackForwardList* webBackForwardList) -{ - g_return_val_if_fail(WEBKIT_IS_WEB_BACK_FORWARD_LIST(webBackForwardList), NULL); - - WebCore::BackForwardList* backForwardList = core(webBackForwardList); - if (!backForwardList || !backForwardList->enabled()) - return NULL; - - WebCore::HistoryItem* historyItem = backForwardList->backItem(); - - return (historyItem ? kit(historyItem) : NULL); -} - -/** - * webkit_web_back_forward_list_get_current_item: - * @webBackForwardList: a #WebKitWebBackForwardList - * - * Returns the current item. - * - * Returns a NULL value if the back forward list is empty - * - * Return value: a #WebKitWebHistoryItem - */ -WebKitWebHistoryItem* webkit_web_back_forward_list_get_current_item(WebKitWebBackForwardList* webBackForwardList) -{ - g_return_val_if_fail(WEBKIT_IS_WEB_BACK_FORWARD_LIST(webBackForwardList), NULL); - - WebCore::BackForwardList* backForwardList = core(webBackForwardList); - if (!backForwardList || !backForwardList->enabled()) - return NULL; - - WebCore::HistoryItem* historyItem = backForwardList->currentItem(); - - return (historyItem ? kit(historyItem) : NULL); -} - -/** - * webkit_web_back_forward_list_get_forward_item: - * @webBackForwardList: a #WebKitWebBackForwardList - * - * Returns the item that succeeds the current item. - * - * Returns a NULL value if there nothing that succeeds the current item - * - * Return value: a #WebKitWebHistoryItem - */ -WebKitWebHistoryItem* webkit_web_back_forward_list_get_forward_item(WebKitWebBackForwardList* webBackForwardList) -{ - g_return_val_if_fail(WEBKIT_IS_WEB_BACK_FORWARD_LIST(webBackForwardList), NULL); - - WebCore::BackForwardList* backForwardList = core(webBackForwardList); - if (!backForwardList || !backForwardList->enabled()) - return NULL; - - WebCore::HistoryItem* historyItem = backForwardList->forwardItem(); - - return (historyItem ? kit(historyItem) : NULL); -} - -/** - * webkit_web_back_forward_list_get_nth_item: - * @webBackForwardList: a #WebKitWebBackForwardList - * @index: the index of the item - * - * Returns the item at a given index relative to the current item. - * - * Return value: the #WebKitWebHistoryItem located at the specified index relative to the current item - */ -WebKitWebHistoryItem* webkit_web_back_forward_list_get_nth_item(WebKitWebBackForwardList* webBackForwardList, gint index) -{ - g_return_val_if_fail(WEBKIT_IS_WEB_BACK_FORWARD_LIST(webBackForwardList), NULL); - - WebCore::BackForwardList* backForwardList = core(webBackForwardList); - if (!backForwardList) - return NULL; - - WebCore::HistoryItem* historyItem = backForwardList->itemAtIndex(index); - - return (historyItem ? kit(historyItem) : NULL); -} - -/** - * webkit_web_back_forward_list_get_back_length: - * @webBackForwardList: a #WebKitWebBackForwardList - * - * Returns the number of items that preced the current item. - * - * Return value: a #gint corresponding to the number of items preceding the current item - */ -gint webkit_web_back_forward_list_get_back_length(WebKitWebBackForwardList* webBackForwardList) -{ - g_return_val_if_fail(WEBKIT_IS_WEB_BACK_FORWARD_LIST(webBackForwardList), 0); - - WebCore::BackForwardList* backForwardList = core(webBackForwardList); - if (!backForwardList || !backForwardList->enabled()) - return 0; - - return backForwardList->backListCount(); -} - -/** - * webkit_web_back_forward_list_get_forward_length: - * @webBackForwardList: a #WebKitWebBackForwardList - * - * Returns the number of items that succeed the current item. - * - * Return value: a #gint corresponding to the nuber of items succeeding the current item - */ -gint webkit_web_back_forward_list_get_forward_length(WebKitWebBackForwardList* webBackForwardList) -{ - g_return_val_if_fail(WEBKIT_IS_WEB_BACK_FORWARD_LIST(webBackForwardList), 0); - - WebCore::BackForwardList* backForwardList = core(webBackForwardList); - if (!backForwardList || !backForwardList->enabled()) - return 0; - - return backForwardList->forwardListCount(); -} - -/** - * webkit_web_back_forward_list_get_limit: - * @webBackForwardList: a #WebKitWebBackForwardList - * - * Returns the maximum limit of the back forward list. - * - * Return value: a #gint indicating the number of #WebHistoryItem the back forward list can hold - */ -gint webkit_web_back_forward_list_get_limit(WebKitWebBackForwardList* webBackForwardList) -{ - g_return_val_if_fail(WEBKIT_IS_WEB_BACK_FORWARD_LIST(webBackForwardList), 0); - - WebCore::BackForwardList* backForwardList = core(webBackForwardList); - if (!backForwardList || !backForwardList->enabled()) - return 0; - - return backForwardList->capacity(); -} - -/** - * webkit_web_back_forward_list_set_limit: - * @webBackForwardList: a #WebKitWebBackForwardList - * @limit: the limit to set the back forward list to - * - * Sets the maximum limit of the back forward list. If the back forward list - * exceeds its capacity, items will be removed everytime a new item has been - * added. - */ -void webkit_web_back_forward_list_set_limit(WebKitWebBackForwardList* webBackForwardList, gint limit) -{ - g_return_if_fail(WEBKIT_IS_WEB_BACK_FORWARD_LIST(webBackForwardList)); - - WebCore::BackForwardList* backForwardList = core(webBackForwardList); - if (backForwardList) - backForwardList->setCapacity(limit); -} - -} /* end extern "C" */ - -WebCore::BackForwardList* WebKit::core(WebKitWebBackForwardList* webBackForwardList) -{ - g_return_val_if_fail(WEBKIT_IS_WEB_BACK_FORWARD_LIST(webBackForwardList), NULL); - - return webBackForwardList->priv ? webBackForwardList->priv->backForwardList : 0; -} diff --git a/WebKit/gtk/webkit/webkitwebbackforwardlist.h b/WebKit/gtk/webkit/webkitwebbackforwardlist.h deleted file mode 100644 index 68e18eb..0000000 --- a/WebKit/gtk/webkit/webkitwebbackforwardlist.h +++ /dev/null @@ -1,107 +0,0 @@ -/* - * Copyright (C) 2008 Jan Michael C. Alonzo - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public License - * along with this library; see the file COPYING.LIB. If not, write to - * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - * Boston, MA 02110-1301, USA. - */ - -#ifndef WEBKIT_WEB_BACK_FORWARD_LIST_H -#define WEBKIT_WEB_BACK_FORWARD_LIST_H - -#include -#include - -#include -#include - -G_BEGIN_DECLS - -#define WEBKIT_TYPE_WEB_BACK_FORWARD_LIST (webkit_web_back_forward_list_get_type()) -#define WEBKIT_WEB_BACK_FORWARD_LIST(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), WEBKIT_TYPE_WEB_BACK_FORWARD_LIST, WebKitWebBackForwardList)) -#define WEBKIT_WEB_BACK_FORWARD_LIST_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), WEBKIT_TYPE_WEB_BACK_FORWARD_LIST, WebKitWebBackForwardListClass)) -#define WEBKIT_IS_WEB_BACK_FORWARD_LIST(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), WEBKIT_TYPE_WEB_BACK_FORWARD_LIST)) -#define WEBKIT_IS_WEB_BACK_FORWARD_LIST_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), WEBKIT_TYPE_WEB_BACK_FORWARD_LIST)) -#define WEBKIT_WEB_BACK_FORWARD_LIST_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), WEBKIT_TYPE_WEB_BACK_FORWARD_LIST, WebKitWebBackForwardListClass)) - -typedef struct _WebKitWebBackForwardListPrivate WebKitWebBackForwardListPrivate; - -struct _WebKitWebBackForwardList { - GObject parent_instance; - - WebKitWebBackForwardListPrivate *priv; -}; - -struct _WebKitWebBackForwardListClass { - GObjectClass parent_class; -}; - -WEBKIT_API GType -webkit_web_back_forward_list_get_type (void); - -WEBKIT_API WebKitWebBackForwardList * -webkit_web_back_forward_list_new_with_web_view (WebKitWebView *web_view); - -WEBKIT_API void -webkit_web_back_forward_list_go_forward (WebKitWebBackForwardList *web_back_forward_list); - -WEBKIT_API void -webkit_web_back_forward_list_go_back (WebKitWebBackForwardList *web_back_forward_list); - -WEBKIT_API gboolean -webkit_web_back_forward_list_contains_item (WebKitWebBackForwardList *web_back_forward_list, - WebKitWebHistoryItem *history_item); - -WEBKIT_API void -webkit_web_back_forward_list_go_to_item (WebKitWebBackForwardList *web_back_forward_list, - WebKitWebHistoryItem *history_item); - -WEBKIT_API GList * -webkit_web_back_forward_list_get_forward_list_with_limit (WebKitWebBackForwardList *web_back_forward_list, - gint limit); - -WEBKIT_API GList * -webkit_web_back_forward_list_get_back_list_with_limit (WebKitWebBackForwardList *web_back_forward_list, - gint limit); - -WEBKIT_API WebKitWebHistoryItem * -webkit_web_back_forward_list_get_back_item (WebKitWebBackForwardList *web_back_forward_list); - -WEBKIT_API WebKitWebHistoryItem * -webkit_web_back_forward_list_get_current_item (WebKitWebBackForwardList *web_back_forward_list); - -WEBKIT_API WebKitWebHistoryItem * -webkit_web_back_forward_list_get_forward_item (WebKitWebBackForwardList *web_back_forward_list); - -WEBKIT_API WebKitWebHistoryItem * -webkit_web_back_forward_list_get_nth_item (WebKitWebBackForwardList *web_back_forward_list, - gint index); - -WEBKIT_API gint -webkit_web_back_forward_list_get_back_length (WebKitWebBackForwardList *web_back_forward_list); - -WEBKIT_API gint -webkit_web_back_forward_list_get_forward_length (WebKitWebBackForwardList *web_back_forward_list); - -WEBKIT_API gint -webkit_web_back_forward_list_get_limit (WebKitWebBackForwardList *web_back_forward_list); - -WEBKIT_API void -webkit_web_back_forward_list_set_limit (WebKitWebBackForwardList *web_back_forward_list, - gint limit); - -G_END_DECLS - - -#endif /* WEBKIT_WEB_BACK_FORWARD_LIST_H */ diff --git a/WebKit/gtk/webkit/webkitwebframe.cpp b/WebKit/gtk/webkit/webkitwebframe.cpp deleted file mode 100644 index 6a4c4d5..0000000 --- a/WebKit/gtk/webkit/webkitwebframe.cpp +++ /dev/null @@ -1,592 +0,0 @@ -/* - * Copyright (C) 2007, 2008 Holger Hans Peter Freyther - * Copyright (C) 2007 Alp Toker - * Copyright (C) 2007 Apple Inc. - * Copyright (C) 2008 Christian Dywan - * Copyright (C) 2008 Collabora Ltd. - * Copyright (C) 2008 Nuanti Ltd. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public License - * along with this library; see the file COPYING.LIB. If not, write to - * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - * Boston, MA 02110-1301, USA. - */ - -#include "config.h" - -#include "webkitwebframe.h" -#include "webkitwebview.h" -#include "webkitmarshal.h" -#include "webkitprivate.h" - -#include "CString.h" -#include "FrameLoader.h" -#include "FrameLoaderClientGtk.h" -#include "FrameTree.h" -#include "FrameView.h" -#include "GraphicsContext.h" -#include "HTMLFrameOwnerElement.h" -#include "JSDOMWindow.h" -#include "PrintContext.h" -#include "RenderView.h" -#include "RenderTreeAsText.h" -#include "JSDOMBinding.h" -#include "ScriptController.h" - -#include - -using namespace WebKit; -using namespace WebCore; -using namespace std; - -extern "C" { - -enum { - CLEARED, - LOAD_COMMITTED, - LOAD_DONE, - TITLE_CHANGED, - HOVERING_OVER_LINK, - LAST_SIGNAL -}; - -enum { - PROP_0, - - PROP_NAME, - PROP_TITLE, - PROP_URI -}; - -static guint webkit_web_frame_signals[LAST_SIGNAL] = { 0, }; - -G_DEFINE_TYPE(WebKitWebFrame, webkit_web_frame, G_TYPE_OBJECT) - -static void webkit_web_frame_get_property(GObject* object, guint prop_id, GValue* value, GParamSpec* pspec) -{ - WebKitWebFrame* frame = WEBKIT_WEB_FRAME(object); - - switch(prop_id) { - case PROP_NAME: - g_value_set_string(value, webkit_web_frame_get_name(frame)); - break; - case PROP_TITLE: - g_value_set_string(value, webkit_web_frame_get_title(frame)); - break; - case PROP_URI: - g_value_set_string(value, webkit_web_frame_get_uri(frame)); - break; - default: - G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec); - break; - } -} - -static void webkit_web_frame_finalize(GObject* object) -{ - WebKitWebFrame* frame = WEBKIT_WEB_FRAME(object); - WebKitWebFramePrivate* priv = frame->priv; - - priv->coreFrame->loader()->cancelAndClear(); - priv->coreFrame = 0; - - g_free(priv->name); - g_free(priv->title); - g_free(priv->uri); - - G_OBJECT_CLASS(webkit_web_frame_parent_class)->finalize(object); -} - -static void webkit_web_frame_class_init(WebKitWebFrameClass* frameClass) -{ - webkit_init(); - - /* - * signals - */ - webkit_web_frame_signals[CLEARED] = g_signal_new("cleared", - G_TYPE_FROM_CLASS(frameClass), - (GSignalFlags)(G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION), - 0, - NULL, - NULL, - g_cclosure_marshal_VOID__VOID, - G_TYPE_NONE, 0); - - webkit_web_frame_signals[LOAD_COMMITTED] = g_signal_new("load-committed", - G_TYPE_FROM_CLASS(frameClass), - (GSignalFlags)(G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION), - 0, - NULL, - NULL, - g_cclosure_marshal_VOID__VOID, - G_TYPE_NONE, 0); - - webkit_web_frame_signals[LOAD_DONE] = g_signal_new("load-done", - G_TYPE_FROM_CLASS(frameClass), - (GSignalFlags)(G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION), - 0, - NULL, - NULL, - g_cclosure_marshal_VOID__BOOLEAN, - G_TYPE_NONE, 1, - G_TYPE_BOOLEAN); - - webkit_web_frame_signals[TITLE_CHANGED] = g_signal_new("title-changed", - G_TYPE_FROM_CLASS(frameClass), - (GSignalFlags)(G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION), - 0, - NULL, - NULL, - webkit_marshal_VOID__STRING, - G_TYPE_NONE, 1, - G_TYPE_STRING); - - webkit_web_frame_signals[HOVERING_OVER_LINK] = g_signal_new("hovering-over-link", - G_TYPE_FROM_CLASS(frameClass), - (GSignalFlags)(G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION), - 0, - NULL, - NULL, - webkit_marshal_VOID__STRING_STRING, - G_TYPE_NONE, 2, - G_TYPE_STRING, G_TYPE_STRING); - - /* - * implementations of virtual methods - */ - GObjectClass* objectClass = G_OBJECT_CLASS(frameClass); - objectClass->finalize = webkit_web_frame_finalize; - objectClass->get_property = webkit_web_frame_get_property; - - /* - * properties - */ - g_object_class_install_property(objectClass, PROP_NAME, - g_param_spec_string("name", - "Name", - "The name of the frame", - NULL, - WEBKIT_PARAM_READABLE)); - - g_object_class_install_property(objectClass, PROP_TITLE, - g_param_spec_string("title", - "Title", - "The document title of the frame", - NULL, - WEBKIT_PARAM_READABLE)); - - g_object_class_install_property(objectClass, PROP_URI, - g_param_spec_string("uri", - "URI", - "The current URI of the contents displayed by the frame", - NULL, - WEBKIT_PARAM_READABLE)); - - g_type_class_add_private(frameClass, sizeof(WebKitWebFramePrivate)); -} - -static void webkit_web_frame_init(WebKitWebFrame* frame) -{ - WebKitWebFramePrivate* priv = WEBKIT_WEB_FRAME_GET_PRIVATE(frame); - - // TODO: Move constructor code here. - frame->priv = priv; -} - -/** - * webkit_web_frame_new: - * @web_view: the controlling #WebKitWebView - * - * Creates a new #WebKitWebFrame initialized with a controlling #WebKitWebView. - * - * Returns: a new #WebKitWebFrame - * - * Deprecated: 1.0.2: #WebKitWebFrame can only be used to inspect existing - * frames. - **/ -WebKitWebFrame* webkit_web_frame_new(WebKitWebView* webView) -{ - g_return_val_if_fail(WEBKIT_IS_WEB_VIEW(webView), NULL); - - WebKitWebFrame* frame = WEBKIT_WEB_FRAME(g_object_new(WEBKIT_TYPE_WEB_FRAME, NULL)); - WebKitWebFramePrivate* priv = frame->priv; - WebKitWebViewPrivate* viewPriv = WEBKIT_WEB_VIEW_GET_PRIVATE(webView); - - priv->webView = webView; - priv->client = new WebKit::FrameLoaderClient(frame); - priv->coreFrame = Frame::create(viewPriv->corePage, 0, priv->client).get(); - priv->coreFrame->init(); - - return frame; -} - -WebKitWebFrame* webkit_web_frame_init_with_web_view(WebKitWebView* webView, HTMLFrameOwnerElement* element) -{ - WebKitWebFrame* frame = WEBKIT_WEB_FRAME(g_object_new(WEBKIT_TYPE_WEB_FRAME, NULL)); - WebKitWebFramePrivate* priv = frame->priv; - WebKitWebViewPrivate* viewPriv = WEBKIT_WEB_VIEW_GET_PRIVATE(webView); - - priv->webView = webView; - priv->client = new WebKit::FrameLoaderClient(frame); - priv->coreFrame = Frame::create(viewPriv->corePage, element, priv->client).releaseRef(); - priv->coreFrame->init(); - - return frame; -} - -/** - * webkit_web_frame_get_title: - * @frame: a #WebKitWebFrame - * - * Returns the @frame's document title - * - * Return value: the title of @frame - */ -G_CONST_RETURN gchar* webkit_web_frame_get_title(WebKitWebFrame* frame) -{ - g_return_val_if_fail(WEBKIT_IS_WEB_FRAME(frame), NULL); - - WebKitWebFramePrivate* priv = frame->priv; - return priv->title; -} - -/** - * webkit_web_frame_get_uri: - * @frame: a #WebKitWebFrame - * - * Returns the current URI of the contents displayed by the @frame - * - * Return value: the URI of @frame - */ -G_CONST_RETURN gchar* webkit_web_frame_get_uri(WebKitWebFrame* frame) -{ - g_return_val_if_fail(WEBKIT_IS_WEB_FRAME(frame), NULL); - - WebKitWebFramePrivate* priv = frame->priv; - return priv->uri; -} - -/** - * webkit_web_frame_get_web_view: - * @frame: a #WebKitWebFrame - * - * Returns the #WebKitWebView that manages this #WebKitWebFrame. - * - * The #WebKitWebView returned manages the entire hierarchy of #WebKitWebFrame - * objects that contains @frame. - * - * Return value: the #WebKitWebView that manages @frame - */ -WebKitWebView* webkit_web_frame_get_web_view(WebKitWebFrame* frame) -{ - g_return_val_if_fail(WEBKIT_IS_WEB_FRAME(frame), NULL); - - WebKitWebFramePrivate* priv = frame->priv; - return priv->webView; -} - -/** - * webkit_web_frame_get_name: - * @frame: a #WebKitWebFrame - * - * Returns the @frame's name - * - * Return value: the name of @frame - */ -G_CONST_RETURN gchar* webkit_web_frame_get_name(WebKitWebFrame* frame) -{ - g_return_val_if_fail(WEBKIT_IS_WEB_FRAME(frame), NULL); - - WebKitWebFramePrivate* priv = frame->priv; - - if (priv->name) - return priv->name; - - Frame* coreFrame = core(frame); - ASSERT(coreFrame); - - String string = coreFrame->tree()->name(); - priv->name = g_strdup(string.utf8().data()); - return priv->name; -} - -/** - * webkit_web_frame_get_parent: - * @frame: a #WebKitWebFrame - * - * Returns the @frame's parent frame, or %NULL if it has none. - * - * Return value: the parent #WebKitWebFrame or %NULL in case there is none - */ -WebKitWebFrame* webkit_web_frame_get_parent(WebKitWebFrame* frame) -{ - g_return_val_if_fail(WEBKIT_IS_WEB_FRAME(frame), NULL); - - Frame* coreFrame = core(frame); - ASSERT(coreFrame); - - return kit(coreFrame->tree()->parent()); -} - -/** - * webkit_web_frame_load_request: - * @frame: a #WebKitWebFrame - * @request: a #WebKitNetworkRequest - * - * Connects to a given URI by initiating an asynchronous client request. - * - * Creates a provisional data source that will transition to a committed data - * source once any data has been received. Use webkit_web_frame_stop_loading() to - * stop the load. This function is typically invoked on the main frame. - */ -void webkit_web_frame_load_request(WebKitWebFrame* frame, WebKitNetworkRequest* request) -{ - g_return_if_fail(WEBKIT_IS_WEB_FRAME(frame)); - g_return_if_fail(WEBKIT_IS_NETWORK_REQUEST(request)); - - Frame* coreFrame = core(frame); - ASSERT(coreFrame); - - // TODO: Use the ResourceRequest carried by WebKitNetworkRequest when it is implemented. - String string = String::fromUTF8(webkit_network_request_get_uri(request)); - coreFrame->loader()->load(ResourceRequest(KURL(string))); -} - -/** - * webkit_web_frame_stop_loading: - * @frame: a #WebKitWebFrame - * - * Stops any pending loads on @frame's data source, and those of its children. - */ -void webkit_web_frame_stop_loading(WebKitWebFrame* frame) -{ - g_return_if_fail(WEBKIT_IS_WEB_FRAME(frame)); - - Frame* coreFrame = core(frame); - ASSERT(coreFrame); - - coreFrame->loader()->stopAllLoaders(); -} - -/** - * webkit_web_frame_reload: - * @frame: a #WebKitWebFrame - * - * Reloads the initial request. - */ -void webkit_web_frame_reload(WebKitWebFrame* frame) -{ - g_return_if_fail(WEBKIT_IS_WEB_FRAME(frame)); - - Frame* coreFrame = core(frame); - ASSERT(coreFrame); - - coreFrame->loader()->reload(); -} - -/** - * webkit_web_frame_find_frame: - * @frame: a #WebKitWebFrame - * @name: the name of the frame to be found - * - * For pre-defined names, returns @frame if @name is "_self" or "_current", - * returns @frame's parent frame if @name is "_parent", and returns the main - * frame if @name is "_top". Also returns @frame if it is the main frame and - * @name is either "_parent" or "_top". For other names, this function returns - * the first frame that matches @name. This function searches @frame and its - * descendents first, then @frame's parent and its children moving up the - * hierarchy until a match is found. If no match is found in @frame's - * hierarchy, this function will search for a matching frame in other main - * frame hierarchies. Returns %NULL if no match is found. - * - * Return value: the found #WebKitWebFrame or %NULL in case none is found - */ -WebKitWebFrame* webkit_web_frame_find_frame(WebKitWebFrame* frame, const gchar* name) -{ - g_return_val_if_fail(WEBKIT_IS_WEB_FRAME(frame), NULL); - g_return_val_if_fail(name, NULL); - - Frame* coreFrame = core(frame); - ASSERT(coreFrame); - - String nameString = String::fromUTF8(name); - return kit(coreFrame->tree()->find(AtomicString(nameString))); -} - -/** - * webkit_web_frame_get_global_context: - * @frame: a #WebKitWebFrame - * - * Gets the global JavaScript execution context. Use this function to bridge - * between the WebKit and JavaScriptCore APIs. - * - * Return value: the global JavaScript context - */ -JSGlobalContextRef webkit_web_frame_get_global_context(WebKitWebFrame* frame) -{ - g_return_val_if_fail(WEBKIT_IS_WEB_FRAME(frame), NULL); - - Frame* coreFrame = core(frame); - ASSERT(coreFrame); - - return toGlobalRef(coreFrame->script()->globalObject()->globalExec()); -} - -/** - * webkit_web_frame_get_children: - * @frame: a #WebKitWebFrame - * - * Return value: child frames of @frame - */ -GSList* webkit_web_frame_get_children(WebKitWebFrame* frame) -{ - g_return_val_if_fail(WEBKIT_IS_WEB_FRAME(frame), NULL); - - Frame* coreFrame = core(frame); - ASSERT(coreFrame); - - GSList* children = NULL; - for (Frame* child = coreFrame->tree()->firstChild(); child; child = child->tree()->nextSibling()) { - FrameLoader* loader = child->loader(); - WebKit::FrameLoaderClient* client = static_cast(loader->client()); - if (client) - children = g_slist_append(children, client->webFrame()); - } - - return children; -} - -/** - * webkit_web_frame_get_inner_text: - * @frame: a #WebKitWebFrame - * - * Return value: inner text of @frame - */ -gchar* webkit_web_frame_get_inner_text(WebKitWebFrame* frame) -{ - g_return_val_if_fail(WEBKIT_IS_WEB_FRAME(frame), NULL); - - Frame* coreFrame = core(frame); - ASSERT(coreFrame); - - FrameView* view = coreFrame->view(); - - if (view && view->layoutPending()) - view->layout(); - - Element* documentElement = coreFrame->document()->documentElement(); - String string = documentElement->innerText(); - return g_strdup(string.utf8().data()); -} - -/** - * webkit_web_frame_dump_render_tree: - * @frame: a #WebKitWebFrame - * - * Return value: Non-recursive render tree dump of @frame - */ -gchar* webkit_web_frame_dump_render_tree(WebKitWebFrame* frame) -{ - g_return_val_if_fail(WEBKIT_IS_WEB_FRAME(frame), NULL); - - Frame* coreFrame = core(frame); - ASSERT(coreFrame); - - FrameView* view = coreFrame->view(); - - if (view && view->layoutPending()) - view->layout(); - - String string = externalRepresentation(coreFrame->contentRenderer()); - return g_strdup(string.utf8().data()); -} - -#if GTK_CHECK_VERSION(2,10,0) - -static void begin_print(GtkPrintOperation* op, GtkPrintContext* context, gpointer user_data) -{ - PrintContext* printContext = reinterpret_cast(user_data); - - float width = gtk_print_context_get_width(context); - float height = gtk_print_context_get_height(context); - FloatRect printRect = FloatRect(0, 0, width, height); - - printContext->begin(width); - - // TODO: Margin adjustments and header/footer support - float headerHeight = 0; - float footerHeight = 0; - float pageHeight; // height of the page adjusted by margins - printContext->computePageRects(printRect, headerHeight, footerHeight, 1.0, pageHeight); - gtk_print_operation_set_n_pages(op, printContext->pageCount()); -} - -static void draw_page(GtkPrintOperation* op, GtkPrintContext* context, gint page_nr, gpointer user_data) -{ - PrintContext* printContext = reinterpret_cast(user_data); - - cairo_t* cr = gtk_print_context_get_cairo_context(context); - GraphicsContext ctx(cr); - float width = gtk_print_context_get_width(context); - printContext->spoolPage(ctx, page_nr, width); -} - -static void end_print(GtkPrintOperation* op, GtkPrintContext* context, gpointer user_data) -{ - PrintContext* printContext = reinterpret_cast(user_data); - printContext->end(); -} - -void webkit_web_frame_print(WebKitWebFrame* frame) -{ - GtkWidget* topLevel = gtk_widget_get_toplevel(GTK_WIDGET(webkit_web_frame_get_web_view(frame))); - if (!GTK_WIDGET_TOPLEVEL(topLevel)) - topLevel = NULL; - - Frame* coreFrame = core(frame); - ASSERT(coreFrame); - - PrintContext printContext(coreFrame); - - GtkPrintOperation* op = gtk_print_operation_new(); - g_signal_connect(G_OBJECT(op), "begin-print", G_CALLBACK(begin_print), &printContext); - g_signal_connect(G_OBJECT(op), "draw-page", G_CALLBACK(draw_page), &printContext); - g_signal_connect(G_OBJECT(op), "end-print", G_CALLBACK(end_print), &printContext); - GError *error = NULL; - gtk_print_operation_run(op, GTK_PRINT_OPERATION_ACTION_PRINT_DIALOG, GTK_WINDOW(topLevel), &error); - g_object_unref(op); - - if (error) { - GtkWidget* dialog = gtk_message_dialog_new(GTK_WINDOW(topLevel), - GTK_DIALOG_DESTROY_WITH_PARENT, - GTK_MESSAGE_ERROR, - GTK_BUTTONS_CLOSE, - "%s", error->message); - g_error_free(error); - - g_signal_connect(dialog, "response", G_CALLBACK(gtk_widget_destroy), NULL); - gtk_widget_show(dialog); - } -} - -#else - -void webkit_web_frame_print(WebKitWebFrame*) -{ - g_warning("Printing support is not available in older versions of GTK+"); -} - -#endif - -} diff --git a/WebKit/gtk/webkit/webkitwebframe.h b/WebKit/gtk/webkit/webkitwebframe.h deleted file mode 100644 index 827e4b9..0000000 --- a/WebKit/gtk/webkit/webkitwebframe.h +++ /dev/null @@ -1,100 +0,0 @@ -/* - * Copyright (C) 2007 Holger Hans Peter Freyther - * Copyright (C) 2007 Alp Toker - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public License - * along with this library; see the file COPYING.LIB. If not, write to - * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - * Boston, MA 02110-1301, USA. - */ - -#ifndef WEBKIT_WEB_FRAME_H -#define WEBKIT_WEB_FRAME_H - -#include -#include - -#include -#include - -G_BEGIN_DECLS - -#define WEBKIT_TYPE_WEB_FRAME (webkit_web_frame_get_type()) -#define WEBKIT_WEB_FRAME(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), WEBKIT_TYPE_WEB_FRAME, WebKitWebFrame)) -#define WEBKIT_WEB_FRAME_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), WEBKIT_TYPE_WEB_FRAME, WebKitWebFrameClass)) -#define WEBKIT_IS_WEB_FRAME(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), WEBKIT_TYPE_WEB_FRAME)) -#define WEBKIT_IS_WEB_FRAME_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), WEBKIT_TYPE_WEB_FRAME)) -#define WEBKIT_WEB_FRAME_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), WEBKIT_TYPE_WEB_FRAME, WebKitWebFrameClass)) - -typedef struct _WebKitWebFramePrivate WebKitWebFramePrivate; - -struct _WebKitWebFrame { - GObject parent_instance; - - WebKitWebFramePrivate *priv; -}; - -struct _WebKitWebFrameClass { - GObjectClass parent_class; - - void (*_webkit_reserved1) (void); - void (*_webkit_reserved2) (void); - void (*_webkit_reserved3) (void); - void (*_webkit_reserved4) (void); - void (*_webkit_reserved5) (void); - void (*_webkit_reserved6) (void); -}; - -WEBKIT_API GType -webkit_web_frame_get_type (void); - -#ifndef WEBKIT_DISABLE_DEPRECATED -WEBKIT_API WebKitWebFrame * -webkit_web_frame_new (WebKitWebView *web_view); -#endif - -WEBKIT_API WebKitWebView * -webkit_web_frame_get_web_view (WebKitWebFrame *frame); - -WEBKIT_API G_CONST_RETURN gchar * -webkit_web_frame_get_name (WebKitWebFrame *frame); - -WEBKIT_API G_CONST_RETURN gchar * -webkit_web_frame_get_title (WebKitWebFrame *frame); - -WEBKIT_API G_CONST_RETURN gchar * -webkit_web_frame_get_uri (WebKitWebFrame *frame); - -WEBKIT_API WebKitWebFrame* -webkit_web_frame_get_parent (WebKitWebFrame *frame); - -WEBKIT_API void -webkit_web_frame_load_request (WebKitWebFrame *frame, - WebKitNetworkRequest *request); - -WEBKIT_API void -webkit_web_frame_stop_loading (WebKitWebFrame *frame); - -WEBKIT_API void -webkit_web_frame_reload (WebKitWebFrame *frame); - -WEBKIT_API WebKitWebFrame * -webkit_web_frame_find_frame (WebKitWebFrame *frame, - const gchar *name); - -WEBKIT_API JSGlobalContextRef -webkit_web_frame_get_global_context (WebKitWebFrame *frame); - -G_END_DECLS - -#endif diff --git a/WebKit/gtk/webkit/webkitwebhistoryitem.cpp b/WebKit/gtk/webkit/webkitwebhistoryitem.cpp deleted file mode 100644 index 150df68..0000000 --- a/WebKit/gtk/webkit/webkitwebhistoryitem.cpp +++ /dev/null @@ -1,458 +0,0 @@ -/* - * Copyright (C) 2008 Jan Michael C. Alonzo - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public License - * along with this library; see the file COPYING.LIB. If not, write to - * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - * Boston, MA 02110-1301, USA. - */ - - -#include "config.h" - -#include "webkitwebhistoryitem.h" -#include "webkitprivate.h" - -#include - -#include "CString.h" -#include "HistoryItem.h" -#include "PlatformString.h" - -using namespace WebKit; - -extern "C" { - -struct _WebKitWebHistoryItemPrivate { - WTF::RefPtr historyItem; - - WebCore::CString title; - WebCore::CString alternateTitle; - WebCore::CString uri; - WebCore::CString originalUri; -}; - -#define WEBKIT_WEB_HISTORY_ITEM_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE((obj), WEBKIT_TYPE_WEB_HISTORY_ITEM, WebKitWebHistoryItemPrivate)) - -enum { - PROP_0, - - PROP_TITLE, - PROP_ALTERNATE_TITLE, - PROP_URI, - PROP_ORIGINAL_URI, - PROP_LAST_VISITED_TIME -}; - -G_DEFINE_TYPE(WebKitWebHistoryItem, webkit_web_history_item, G_TYPE_OBJECT); - -static void webkit_web_history_item_set_property(GObject* object, guint prop_id, const GValue* value, GParamSpec* pspec); - -static void webkit_web_history_item_get_property(GObject* object, guint prop_id, GValue* value, GParamSpec* pspec); - -static GHashTable* webkit_history_items() -{ - static GHashTable* historyItems = g_hash_table_new(g_direct_hash, g_direct_equal); - return historyItems; -} - -static void webkit_history_item_add(WebKitWebHistoryItem* webHistoryItem, WebCore::HistoryItem* historyItem) -{ - g_return_if_fail(WEBKIT_IS_WEB_HISTORY_ITEM(webHistoryItem)); - - GHashTable* table = webkit_history_items(); - - g_hash_table_insert(table, historyItem, g_object_ref(webHistoryItem)); -} - -static void webkit_history_item_remove(WebCore::HistoryItem* historyItem) -{ - GHashTable* table = webkit_history_items(); - WebKitWebHistoryItem* webHistoryItem = (WebKitWebHistoryItem*) g_hash_table_lookup(table, historyItem); - - g_return_if_fail(webHistoryItem != NULL); - - g_hash_table_remove(table, historyItem); - g_object_unref(webHistoryItem); -} - -static void webkit_web_history_item_dispose(GObject* object) -{ - WebKitWebHistoryItem* webHistoryItem = WEBKIT_WEB_HISTORY_ITEM(object); - - webkit_history_item_remove(core(webHistoryItem)); - - /* destroy table if empty */ - GHashTable* table = webkit_history_items(); - if (!g_hash_table_size(table)) - g_hash_table_destroy(table); - - G_OBJECT_CLASS(webkit_web_history_item_parent_class)->dispose(object); -} - -static void webkit_web_history_item_finalize(GObject* object) -{ - WebKitWebHistoryItem* webHistoryItem = WEBKIT_WEB_HISTORY_ITEM(object); - WebKitWebHistoryItemPrivate* priv = webHistoryItem->priv; - - priv->title = WebCore::CString(); - priv->alternateTitle = WebCore::CString(); - priv->uri = WebCore::CString(); - priv->originalUri = WebCore::CString(); - - G_OBJECT_CLASS(webkit_web_history_item_parent_class)->finalize(object); -} - -static void webkit_web_history_item_class_init(WebKitWebHistoryItemClass* klass) -{ - GObjectClass* gobject_class = G_OBJECT_CLASS(klass); - - gobject_class->dispose = webkit_web_history_item_dispose; - gobject_class->finalize = webkit_web_history_item_finalize; - gobject_class->set_property = webkit_web_history_item_set_property; - gobject_class->get_property = webkit_web_history_item_get_property; - - /** - * WebKitWebHistoryItem:title: - * - * The title of the history item. - * - * Since: 1.0.2 - */ - g_object_class_install_property(gobject_class, - PROP_TITLE, - g_param_spec_string( - "title", - "Title", - "The title of the history item", - NULL, - WEBKIT_PARAM_READABLE)); - - /** - * WebKitWebHistoryItem:alternate-title: - * - * The alternate title of the history item. - * - * Since: 1.0.2 - */ - g_object_class_install_property(gobject_class, - PROP_ALTERNATE_TITLE, - g_param_spec_string( - "alternate-title", - "Alternate Title", - "The alternate title of the history item", - NULL, - WEBKIT_PARAM_READWRITE)); - - /** - * WebKitWebHistoryItem:uri: - * - * The URI of the history item. - * - * Since: 1.0.2 - */ - g_object_class_install_property(gobject_class, - PROP_URI, - g_param_spec_string( - "uri", - "URI", - "The URI of the history item", - NULL, - WEBKIT_PARAM_READABLE)); - - /** - * WebKitWebHistoryItem:original-uri: - * - * The original URI of the history item. - * - * Since: 1.0.2 - */ - g_object_class_install_property(gobject_class, - PROP_ORIGINAL_URI, - g_param_spec_string( - "original-uri", - "Original URI", - "The original URI of the history item", - NULL, - WEBKIT_PARAM_READABLE)); - - /** - * WebKitWebHistoryItem:last-visited-time: - * - * The time at which the history item was last visited. - * - * Since: 1.0.2 - */ - g_object_class_install_property(gobject_class, - PROP_LAST_VISITED_TIME, - g_param_spec_double( - "last-visited-time", - "Last visited Time", - "The time at which the history item was last visited", - 0, G_MAXDOUBLE, 0, - WEBKIT_PARAM_READABLE)); - - g_type_class_add_private(gobject_class, sizeof(WebKitWebHistoryItemPrivate)); -} - -static void webkit_web_history_item_init(WebKitWebHistoryItem* webHistoryItem) -{ - webHistoryItem->priv = WEBKIT_WEB_HISTORY_ITEM_GET_PRIVATE(webHistoryItem); -} - -static void webkit_web_history_item_set_property(GObject* object, guint prop_id, const GValue* value, GParamSpec* pspec) -{ - WebKitWebHistoryItem* webHistoryItem = WEBKIT_WEB_HISTORY_ITEM(object); - - switch(prop_id) { - case PROP_ALTERNATE_TITLE: - webkit_web_history_item_set_alternate_title(webHistoryItem, g_value_get_string(value)); - break; - default: - G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec); - break; - } -} - -static void webkit_web_history_item_get_property(GObject* object, guint prop_id, GValue* value, GParamSpec* pspec) -{ - WebKitWebHistoryItem* webHistoryItem = WEBKIT_WEB_HISTORY_ITEM(object); - - switch (prop_id) { - case PROP_TITLE: - g_value_set_string(value, webkit_web_history_item_get_title(webHistoryItem)); - break; - case PROP_ALTERNATE_TITLE: - g_value_set_string(value, webkit_web_history_item_get_alternate_title(webHistoryItem)); - break; - case PROP_URI: - g_value_set_string(value, webkit_web_history_item_get_uri(webHistoryItem)); - break; - case PROP_ORIGINAL_URI: - g_value_set_string(value, webkit_web_history_item_get_original_uri(webHistoryItem)); - break; - case PROP_LAST_VISITED_TIME: - g_value_set_double(value, webkit_web_history_item_get_last_visited_time(webHistoryItem)); - break; - default: - G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec); - break; - } -} - -/* Helper function to create a new WebHistoryItem instance when needed */ -WebKitWebHistoryItem* webkit_web_history_item_new_with_core_item(WebCore::HistoryItem* item) -{ - WebKitWebHistoryItem* webHistoryItem = kit(item); - - if (webHistoryItem) - g_object_ref(webHistoryItem); - else { - webHistoryItem = WEBKIT_WEB_HISTORY_ITEM(g_object_new(WEBKIT_TYPE_WEB_HISTORY_ITEM, NULL)); - WebKitWebHistoryItemPrivate* priv = webHistoryItem->priv; - - priv->historyItem = item; - webkit_history_item_add(webHistoryItem, priv->historyItem.get()); - } - - return webHistoryItem; -} - - -/** - * webkit_web_history_item_new: - * - * Creates a new #WebKitWebHistoryItem instance - * - * Return value: the new #WebKitWebHistoryItem - */ -WebKitWebHistoryItem* webkit_web_history_item_new() -{ - WebKitWebHistoryItem* webHistoryItem = WEBKIT_WEB_HISTORY_ITEM(g_object_new(WEBKIT_TYPE_WEB_HISTORY_ITEM, NULL)); - WebKitWebHistoryItemPrivate* priv = webHistoryItem->priv; - - priv->historyItem = WebCore::HistoryItem::create(); - webkit_history_item_add(webHistoryItem, priv->historyItem.get()); - - return webHistoryItem; -} - -/** - * webkit_web_history_item_new_with_data: - * @uri: the uri of the page - * @title: the title of the page - * - * Creates a new #WebKitWebHistoryItem with the given URI and title - * - * Return value: the new #WebKitWebHistoryItem - */ -WebKitWebHistoryItem* webkit_web_history_item_new_with_data(const gchar* uri, const gchar* title) -{ - WebCore::KURL historyUri(uri); - WebCore::String historyTitle = WebCore::String::fromUTF8(title); - - WebKitWebHistoryItem* webHistoryItem = WEBKIT_WEB_HISTORY_ITEM(g_object_new(WEBKIT_TYPE_WEB_HISTORY_ITEM, NULL)); - WebKitWebHistoryItemPrivate* priv = webHistoryItem->priv; - - priv->historyItem = WebCore::HistoryItem::create(historyUri, historyTitle, 0); - webkit_history_item_add(webHistoryItem, priv->historyItem.get()); - - return webHistoryItem; -} - -/** - * webkit_web_history_item_get_title: - * @webHistoryItem: a #WebKitWebHistoryItem - * - * Returns the page title of @webHistoryItem - */ -G_CONST_RETURN gchar* webkit_web_history_item_get_title(WebKitWebHistoryItem* webHistoryItem) -{ - g_return_val_if_fail(WEBKIT_IS_WEB_HISTORY_ITEM(webHistoryItem), NULL); - - WebCore::HistoryItem* item = core(webHistoryItem); - - g_return_val_if_fail(item != NULL, NULL); - - WebKitWebHistoryItemPrivate* priv = webHistoryItem->priv; - priv->title = item->title().utf8(); - - return priv->title.data(); -} - -/** - * webkit_web_history_item_get_alternate_title: - * @webHistoryItem: a #WebKitWebHistoryItem - * - * Returns the alternate title of @webHistoryItem - * - * Return value: the alternate title of @webHistoryItem - */ -G_CONST_RETURN gchar* webkit_web_history_item_get_alternate_title(WebKitWebHistoryItem* webHistoryItem) -{ - g_return_val_if_fail(WEBKIT_IS_WEB_HISTORY_ITEM(webHistoryItem), NULL); - - WebCore::HistoryItem* item = core(webHistoryItem); - - g_return_val_if_fail(item != NULL, NULL); - - WebKitWebHistoryItemPrivate* priv = webHistoryItem->priv; - priv->alternateTitle = item->alternateTitle().utf8(); - - return priv->alternateTitle.data(); -} - -/** - * webkit_web_history_item_set_alternate_title: - * @webHistoryItem: a #WebKitWebHistoryItem - * @title: the alternate title for @this history item - * - * Sets an alternate title for @webHistoryItem - */ -void webkit_web_history_item_set_alternate_title(WebKitWebHistoryItem* webHistoryItem, const gchar* title) -{ - g_return_if_fail(WEBKIT_IS_WEB_HISTORY_ITEM(webHistoryItem)); - g_return_if_fail(title); - - WebCore::HistoryItem* item = core(webHistoryItem); - - item->setAlternateTitle(WebCore::String::fromUTF8(title)); - g_object_notify(G_OBJECT(webHistoryItem), "alternate-title"); -} - -/** - * webkit_web_history_item_get_uri: - * @webHistoryItem: a #WebKitWebHistoryItem - * - * Returns the URI of @this - * - * Return value: the URI of @webHistoryItem - */ -G_CONST_RETURN gchar* webkit_web_history_item_get_uri(WebKitWebHistoryItem* webHistoryItem) -{ - g_return_val_if_fail(WEBKIT_IS_WEB_HISTORY_ITEM(webHistoryItem), NULL); - - WebCore::HistoryItem* item = core(WEBKIT_WEB_HISTORY_ITEM(webHistoryItem)); - - g_return_val_if_fail(item != NULL, NULL); - - WebKitWebHistoryItemPrivate* priv = webHistoryItem->priv; - priv->uri = item->urlString().utf8(); - - return priv->uri.data(); -} - -/** - * webkit_web_history_item_get_original_uri: - * @webHistoryItem: a #WebKitWebHistoryItem - * - * Returns the original URI of @webHistoryItem. - * - * Return value: the original URI of @webHistoryITem - */ -G_CONST_RETURN gchar* webkit_web_history_item_get_original_uri(WebKitWebHistoryItem* webHistoryItem) -{ - g_return_val_if_fail(WEBKIT_IS_WEB_HISTORY_ITEM(webHistoryItem), NULL); - - WebCore::HistoryItem* item = core(WEBKIT_WEB_HISTORY_ITEM(webHistoryItem)); - - g_return_val_if_fail(item != NULL, NULL); - - WebKitWebHistoryItemPrivate* priv = webHistoryItem->priv; - priv->originalUri = item->originalURLString().utf8(); - - return webHistoryItem->priv->originalUri.data(); -} - -/** - * webkit_web_history_item_get_last_visisted_time : - * @webHistoryItem: a #WebKitWebHistoryItem - * - * Returns the last time @webHistoryItem was visited - * - * Return value: the time in seconds this @webHistoryItem was last visited - */ -gdouble webkit_web_history_item_get_last_visited_time(WebKitWebHistoryItem* webHistoryItem) -{ - g_return_val_if_fail(WEBKIT_IS_WEB_HISTORY_ITEM(webHistoryItem), 0); - - WebCore::HistoryItem* item = core(WEBKIT_WEB_HISTORY_ITEM(webHistoryItem)); - - g_return_val_if_fail(item != NULL, 0); - - return item->lastVisitedTime(); -} - -} /* end extern "C" */ - -WebCore::HistoryItem* WebKit::core(WebKitWebHistoryItem* webHistoryItem) -{ - g_return_val_if_fail(WEBKIT_IS_WEB_HISTORY_ITEM(webHistoryItem), NULL); - - WebKitWebHistoryItemPrivate* priv = webHistoryItem->priv; - WTF::RefPtr historyItem = priv->historyItem; - - return historyItem ? historyItem.get() : 0; -} - -WebKitWebHistoryItem* WebKit::kit(WebCore::HistoryItem* historyItem) -{ - g_return_val_if_fail(historyItem != NULL, NULL); - - WebKitWebHistoryItem* webHistoryItem; - GHashTable* table = webkit_history_items(); - - webHistoryItem = (WebKitWebHistoryItem*) g_hash_table_lookup(table, historyItem); - return webHistoryItem; -} - diff --git a/WebKit/gtk/webkit/webkitwebhistoryitem.h b/WebKit/gtk/webkit/webkitwebhistoryitem.h deleted file mode 100644 index dd63f9d..0000000 --- a/WebKit/gtk/webkit/webkitwebhistoryitem.h +++ /dev/null @@ -1,80 +0,0 @@ -/* - * Copyright (C) 2008 Jan Michael C. Alonzo - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public License - * along with this library; see the file COPYING.LIB. If not, write to - * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - * Boston, MA 02110-1301, USA. - */ - -#ifndef WEBKIT_WEB_HISTORY_ITEM_H -#define WEBKIT_WEB_HISTORY_ITEM_H - -#include -#include - -#include - -G_BEGIN_DECLS - -#define WEBKIT_TYPE_WEB_HISTORY_ITEM (webkit_web_history_item_get_type()) -#define WEBKIT_WEB_HISTORY_ITEM(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), WEBKIT_TYPE_WEB_HISTORY_ITEM, WebKitWebHistoryItem)) -#define WEBKIT_WEB_HISTORY_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), WEBKIT_TYPE_WEB_HISTORY_ITEM, WebKitWebHistoryItemClass)) -#define WEBKIT_IS_WEB_HISTORY_ITEM(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), WEBKIT_TYPE_WEB_HISTORY_ITEM)) -#define WEBKIT_IS_WEB_HISTORY_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), WEBKIT_TYPE_WEB_HISTORY_ITEM)) -#define WEBKIT_WEB_HISTORY_ITEM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), WEBKIT_TYPE_WEB_HISTORY_ITEM, WebKitWebHistoryItemClass)) - -typedef struct _WebKitWebHistoryItemPrivate WebKitWebHistoryItemPrivate; - -struct _WebKitWebHistoryItem { - GObject parent_instance; - - WebKitWebHistoryItemPrivate *priv; -}; - -struct _WebKitWebHistoryItemClass { - GObjectClass parent_class; -}; - -WEBKIT_API GType -webkit_web_history_item_get_type (void); - -WEBKIT_API WebKitWebHistoryItem * -webkit_web_history_item_new (void); - -WEBKIT_API WebKitWebHistoryItem * -webkit_web_history_item_new_with_data (const gchar *uri, - const gchar *title); - -WEBKIT_API G_CONST_RETURN gchar * -webkit_web_history_item_get_title (WebKitWebHistoryItem *web_history_item); - -WEBKIT_API G_CONST_RETURN gchar * -webkit_web_history_item_get_alternate_title (WebKitWebHistoryItem *web_history_item); - -WEBKIT_API void -webkit_web_history_item_set_alternate_title (WebKitWebHistoryItem *web_history_item, - const gchar *title); - -WEBKIT_API G_CONST_RETURN gchar * -webkit_web_history_item_get_uri (WebKitWebHistoryItem *web_history_item); - -WEBKIT_API G_CONST_RETURN gchar * -webkit_web_history_item_get_original_uri (WebKitWebHistoryItem *web_history_item); - -WEBKIT_API gdouble -webkit_web_history_item_get_last_visited_time (WebKitWebHistoryItem *web_history_item); - -G_END_DECLS - -#endif /* WEBKIT_WEB_HISTORY_ITEM_H */ diff --git a/WebKit/gtk/webkit/webkitwebinspector.cpp b/WebKit/gtk/webkit/webkitwebinspector.cpp deleted file mode 100644 index 437fe2b..0000000 --- a/WebKit/gtk/webkit/webkitwebinspector.cpp +++ /dev/null @@ -1,368 +0,0 @@ -/* - * Copyright (C) 2008 Gustavo Noronha Silva - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public License - * along with this library; see the file COPYING.LIB. If not, write to - * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - * Boston, MA 02110-1301, USA. - */ - -#include "config.h" - -#include "webkitwebinspector.h" -#include "webkitmarshal.h" -#include "InspectorClientGtk.h" -#include "webkitprivate.h" - -using namespace WebKit; - -extern "C" { - -enum { - INSPECT_WEB_VIEW, - SHOW_WINDOW, - ATTACH_WINDOW, - DETACH_WINDOW, - CLOSE_WINDOW, - FINISHED, - LAST_SIGNAL -}; - -static guint webkit_web_inspector_signals[LAST_SIGNAL] = { 0, }; - -enum { - PROP_0, - - PROP_WEB_VIEW, - PROP_INSPECTED_URI, -}; - -G_DEFINE_TYPE(WebKitWebInspector, webkit_web_inspector, G_TYPE_OBJECT) - -struct _WebKitWebInspectorPrivate { - InspectorClient* inspectorClient; - WebKitWebView* inspector_view; - gchar* inspected_uri; -}; - -#define WEBKIT_WEB_INSPECTOR_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE((obj), WEBKIT_TYPE_WEB_INSPECTOR, WebKitWebInspectorPrivate)) - -static void webkit_web_inspector_finalize(GObject* object); - -static void webkit_web_inspector_set_property(GObject* object, guint prop_id, const GValue* value, GParamSpec* pspec); - -static void webkit_web_inspector_get_property(GObject* object, guint prop_id, GValue* value, GParamSpec* pspec); - -static gboolean webkit_inspect_web_view_request_handled(GSignalInvocationHint* ihint, GValue* returnAccu, const GValue* handlerReturn, gpointer dummy) -{ - gboolean continueEmission = TRUE; - gpointer newWebView = g_value_get_object(handlerReturn); - g_value_set_object(returnAccu, newWebView); - - if (newWebView) - continueEmission = FALSE; - - return continueEmission; -} - -static void webkit_web_inspector_class_init(WebKitWebInspectorClass* klass) -{ - GObjectClass* gobject_class = G_OBJECT_CLASS(klass); - gobject_class->finalize = webkit_web_inspector_finalize; - gobject_class->set_property = webkit_web_inspector_set_property; - gobject_class->get_property = webkit_web_inspector_get_property; - - /** - * WebKitWebInspector::inspect-web-view: - * @web_inspector: the object on which the signal is emitted - * @web_view: the #WebKitWeb which will be inspected - * @return: a newly allocated #WebKitWebView or %NULL - * - * Emitted when the user activates the 'inspect' context menu item - * to inspect a web view. The application which is interested in - * the inspector should create a window, or otherwise add the - * #WebKitWebView it creates to an existing window. - * - * You don't need to handle the reference count of the - * #WebKitWebView instance you create; the widget to which you add - * it will do that. - * - * Since: 1.0.3 - */ - webkit_web_inspector_signals[INSPECT_WEB_VIEW] = g_signal_new("inspect-web-view", - G_TYPE_FROM_CLASS(klass), - (GSignalFlags)(G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION), - 0, - webkit_inspect_web_view_request_handled, - NULL, - webkit_marshal_OBJECT__OBJECT, - WEBKIT_TYPE_WEB_VIEW , 1, - WEBKIT_TYPE_WEB_VIEW); - - /** - * WebKitWebInspector::show-window: - * @web_inspector: the object on which the signal is emitted - * @return: %TRUE if the signal has been handled - * - * Emitted when the inspector window should be displayed. Notice - * that the window must have been created already by handling - * ::inspect-web-view. - * - * Since: 1.0.3 - */ - webkit_web_inspector_signals[SHOW_WINDOW] = g_signal_new("show-window", - G_TYPE_FROM_CLASS(klass), - (GSignalFlags)(G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION), - 0, - g_signal_accumulator_true_handled, - NULL, - webkit_marshal_BOOLEAN__VOID, - G_TYPE_BOOLEAN , 0); - - /** - * WebKitWebInspector::attach-window: - * @web_inspector: the object on which the signal is emitted - * @return: %TRUE if the signal has been handled - * - * Emitted when the inspector should appear at the same window as - * the #WebKitWebView being inspected. - * - * Since: 1.0.3 - */ - webkit_web_inspector_signals[ATTACH_WINDOW] = g_signal_new("attach-window", - G_TYPE_FROM_CLASS(klass), - (GSignalFlags)(G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION), - 0, - g_signal_accumulator_true_handled, - NULL, - webkit_marshal_BOOLEAN__VOID, - G_TYPE_BOOLEAN , 0); - - /** - * WebKitWebInspector::detach-window: - * @web_inspector: the object on which the signal is emitted - * @return: %TRUE if the signal has been handled - * - * Emitted when the inspector should appear in a separate window. - * - * Since: 1.0.3 - */ - webkit_web_inspector_signals[DETACH_WINDOW] = g_signal_new("detach-window", - G_TYPE_FROM_CLASS(klass), - (GSignalFlags)(G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION), - 0, - g_signal_accumulator_true_handled, - NULL, - webkit_marshal_BOOLEAN__VOID, - G_TYPE_BOOLEAN , 0); - - /** - * WebKitWebInspector::close-window: - * @web_inspector: the object on which the signal is emitted - * @return: %TRUE if the signal has been handled - * - * Emitted when the inspector window should be closed. You can - * destroy the window or hide it so that it can be displayed again - * by handling ::show-window later on. - * - * Notice that the inspected #WebKitWebView may no longer exist - * when this signal is emitted. - * - * Notice, too, that if you decide to destroy the window, - * ::inspect-web-view will be emmited again, when the user - * inspects an element. - * - * Since: 1.0.3 - */ - webkit_web_inspector_signals[CLOSE_WINDOW] = g_signal_new("close-window", - G_TYPE_FROM_CLASS(klass), - (GSignalFlags)(G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION), - 0, - g_signal_accumulator_true_handled, - NULL, - webkit_marshal_BOOLEAN__VOID, - G_TYPE_BOOLEAN , 0); - - /** - * WebKitWebInspector::finished: - * @web_inspector: the object on which the signal is emitted - * - * Emitted when the inspection is done. You should release your - * references on the inspector at this time. The inspected - * #WebKitWebView may no longer exist when this signal is emitted. - * - * Since: 1.0.3 - */ - webkit_web_inspector_signals[FINISHED] = g_signal_new("finished", - G_TYPE_FROM_CLASS(klass), - (GSignalFlags)(G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION), - 0, - NULL, - NULL, - g_cclosure_marshal_VOID__VOID, - G_TYPE_NONE , 0); - - /* - * properties - */ - - /** - * WebKitWebInspector:web-view: - * - * The Web View that renders the Web Inspector itself. - * - * Since: 1.0.3 - */ - g_object_class_install_property(gobject_class, PROP_WEB_VIEW, - g_param_spec_object("web-view", - "Web View", - "The Web View that renders the Web Inspector itself", - WEBKIT_TYPE_WEB_VIEW, - WEBKIT_PARAM_READABLE)); - - /** - * WebKitWebInspector:inspected-uri: - * - * The URI that is currently being inspected. - * - * Since: 1.0.3 - */ - g_object_class_install_property(gobject_class, PROP_INSPECTED_URI, - g_param_spec_string("inspected-uri", - "Inspected URI", - "The URI that is currently being inspected", - NULL, - WEBKIT_PARAM_READABLE)); - - g_type_class_add_private(klass, sizeof(WebKitWebInspectorPrivate)); -} - -static void webkit_web_inspector_init(WebKitWebInspector* web_inspector) -{ - web_inspector->priv = WEBKIT_WEB_INSPECTOR_GET_PRIVATE(web_inspector); -} - -static void webkit_web_inspector_finalize(GObject* object) -{ - WebKitWebInspector* web_inspector = WEBKIT_WEB_INSPECTOR(object); - WebKitWebInspectorPrivate* priv = web_inspector->priv; - - if (priv->inspector_view) - g_object_unref(priv->inspector_view); - - if (priv->inspected_uri) - g_free(priv->inspected_uri); - - G_OBJECT_CLASS(webkit_web_inspector_parent_class)->finalize(object); -} - -static void webkit_web_inspector_set_property(GObject* object, guint prop_id, const GValue* value, GParamSpec* pspec) -{ - switch(prop_id) { - default: - G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec); - break; - } -} - -static void webkit_web_inspector_get_property(GObject* object, guint prop_id, GValue* value, GParamSpec* pspec) -{ - WebKitWebInspector* web_inspector = WEBKIT_WEB_INSPECTOR(object); - WebKitWebInspectorPrivate* priv = web_inspector->priv; - - switch (prop_id) { - case PROP_WEB_VIEW: - g_value_set_object(value, priv->inspector_view); - break; - case PROP_INSPECTED_URI: - g_value_set_string(value, priv->inspected_uri); - break; - default: - G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec); - break; - } -} - -// internal use only -void webkit_web_inspector_set_web_view(WebKitWebInspector *web_inspector, WebKitWebView *web_view) -{ - g_return_if_fail(WEBKIT_IS_WEB_INSPECTOR(web_inspector)); - g_return_if_fail(WEBKIT_IS_WEB_VIEW(web_view)); - - WebKitWebInspectorPrivate* priv = web_inspector->priv; - - if (priv->inspector_view) - g_object_unref(priv->inspector_view); - - g_object_ref(web_view); - priv->inspector_view = web_view; -} - -/** - * webkit_web_inspector_get_web_view: - * - * Obtains the #WebKitWebView that is used to render the - * inspector. The #WebKitWebView instance is created by the - * application, by handling the ::inspect-web-view signal. This means - * that this method may return %NULL if the user hasn't inspected - * anything. - * - * Returns: the #WebKitWebView instance that is used to render the - * inspector or %NULL if it is not yet created. - * - * Since: 1.0.3 - **/ -WebKitWebView* webkit_web_inspector_get_web_view(WebKitWebInspector *web_inspector) -{ - WebKitWebInspectorPrivate* priv = web_inspector->priv; - - return priv->inspector_view; -} - -// internal use only -void webkit_web_inspector_set_inspected_uri(WebKitWebInspector* web_inspector, const gchar* inspected_uri) -{ - g_return_if_fail(WEBKIT_IS_WEB_INSPECTOR(web_inspector)); - - WebKitWebInspectorPrivate* priv = web_inspector->priv; - - g_free(priv->inspected_uri); - priv->inspected_uri = g_strdup(inspected_uri); -} - -/** - * webkit_web_inspector_get_inspected_uri: - * - * Obtains the URI that is currently being inspected. - * - * Returns: a pointer to the URI as an internally allocated string; it - * should not be freed, modified or stored. - * - * Since: 1.0.3 - **/ -const gchar* webkit_web_inspector_get_inspected_uri(WebKitWebInspector *web_inspector) -{ - WebKitWebInspectorPrivate* priv = web_inspector->priv; - - return priv->inspected_uri; -} - -void -webkit_web_inspector_set_inspector_client(WebKitWebInspector* web_inspector, WebKit::InspectorClient* inspectorClient) -{ - WebKitWebInspectorPrivate* priv = web_inspector->priv; - - priv->inspectorClient = inspectorClient; -} - -} diff --git a/WebKit/gtk/webkit/webkitwebinspector.h b/WebKit/gtk/webkit/webkitwebinspector.h deleted file mode 100644 index 41ccf92..0000000 --- a/WebKit/gtk/webkit/webkitwebinspector.h +++ /dev/null @@ -1,65 +0,0 @@ -/* - * Copyright (C) 2008 Gustavo Noronha Silva - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public License - * along with this library; see the file COPYING.LIB. If not, write to - * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - * Boston, MA 02110-1301, USA. - */ - -#ifndef __WEBKIT_WEB_INSPECTOR_H__ -#define __WEBKIT_WEB_INSPECTOR_H__ - -#include - -#include - -G_BEGIN_DECLS - -#define WEBKIT_TYPE_WEB_INSPECTOR (webkit_web_inspector_get_type()) -#define WEBKIT_WEB_INSPECTOR(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), WEBKIT_TYPE_WEB_INSPECTOR, WebKitWebInspector)) -#define WEBKIT_WEB_INSPECTOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), WEBKIT_TYPE_WEB_INSPECTOR, WebKitWebInspectorClass)) -#define WEBKIT_IS_WEB_INSPECTOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), WEBKIT_TYPE_WEB_INSPECTOR)) -#define WEBKIT_IS_WEB_INSPECTOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), WEBKIT_TYPE_WEB_INSPECTOR)) -#define WEBKIT_WEB_INSPECTOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), WEBKIT_TYPE_WEB_INSPECTOR, WebKitWebInspectorClass)) - -typedef struct _WebKitWebInspectorPrivate WebKitWebInspectorPrivate; - -struct _WebKitWebInspector { - GObject parent_instance; - - WebKitWebInspectorPrivate* priv; -}; - -struct _WebKitWebInspectorClass { - GObjectClass parent_class; - - /* Padding for future expansion */ - void (*_webkit_reserved1) (void); - void (*_webkit_reserved2) (void); - void (*_webkit_reserved3) (void); - void (*_webkit_reserved4) (void); -}; - -WEBKIT_API GType -webkit_web_inspector_get_type (void); - -WEBKIT_API WebKitWebView* -webkit_web_inspector_get_web_view(WebKitWebInspector* web_inspector); - -WEBKIT_API const gchar* -webkit_web_inspector_get_inspected_uri(WebKitWebInspector* web_inspector); - -G_END_DECLS - -#endif /* __WEBKIT_WEB_INSPECTOR_H__ */ diff --git a/WebKit/gtk/webkit/webkitwebsettings.cpp b/WebKit/gtk/webkit/webkitwebsettings.cpp deleted file mode 100644 index 49ab4c6..0000000 --- a/WebKit/gtk/webkit/webkitwebsettings.cpp +++ /dev/null @@ -1,519 +0,0 @@ -/* - * Copyright (C) 2008 Christian Dywan - * Copyright (C) 2008 Nuanti Ltd. - * Copyright (C) 2008 Collabora Ltd. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public License - * along with this library; see the file COPYING.LIB. If not, write to - * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - * Boston, MA 02110-1301, USA. - */ - -#include "config.h" - -#include "webkitwebsettings.h" -#include "webkitprivate.h" - -extern "C" { - -G_DEFINE_TYPE(WebKitWebSettings, webkit_web_settings, G_TYPE_OBJECT) - -struct _WebKitWebSettingsPrivate { - gchar* default_encoding; - gchar* cursive_font_family; - gchar* default_font_family; - gchar* fantasy_font_family; - gchar* monospace_font_family; - gchar* sans_serif_font_family; - gchar* serif_font_family; - guint default_font_size; - guint default_monospace_font_size; - guint minimum_font_size; - guint minimum_logical_font_size; - gboolean auto_load_images; - gboolean auto_shrink_images; - gboolean print_backgrounds; - gboolean enable_scripts; - gboolean enable_plugins; - gboolean resizable_text_areas; - gchar* user_stylesheet_uri; - gfloat zoom_step; - gboolean enable_developer_extras; -}; - -#define WEBKIT_WEB_SETTINGS_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE((obj), WEBKIT_TYPE_WEB_SETTINGS, WebKitWebSettingsPrivate)) - -enum { - PROP_0, - - PROP_DEFAULT_ENCODING, - PROP_CURSIVE_FONT_FAMILY, - PROP_DEFAULT_FONT_FAMILY, - PROP_FANTASY_FONT_FAMILY, - PROP_MONOSPACE_FONT_FAMILY, - PROP_SANS_SERIF_FONT_FAMILY, - PROP_SERIF_FONT_FAMILY, - PROP_DEFAULT_FONT_SIZE, - PROP_DEFAULT_MONOSPACE_FONT_SIZE, - PROP_MINIMUM_FONT_SIZE, - PROP_MINIMUM_LOGICAL_FONT_SIZE, - PROP_AUTO_LOAD_IMAGES, - PROP_AUTO_SHRINK_IMAGES, - PROP_PRINT_BACKGROUNDS, - PROP_ENABLE_SCRIPTS, - PROP_ENABLE_PLUGINS, - PROP_RESIZABLE_TEXT_AREAS, - PROP_USER_STYLESHEET_URI, - PROP_ZOOM_STEP, - PROP_ENABLE_DEVELOPER_EXTRAS -}; - -static void webkit_web_settings_finalize(GObject* object); - -static void webkit_web_settings_set_property(GObject* object, guint prop_id, const GValue* value, GParamSpec* pspec); - -static void webkit_web_settings_get_property(GObject* object, guint prop_id, GValue* value, GParamSpec* pspec); - -static void webkit_web_settings_class_init(WebKitWebSettingsClass* klass) -{ - GObjectClass* gobject_class = G_OBJECT_CLASS(klass); - gobject_class->finalize = webkit_web_settings_finalize; - gobject_class->set_property = webkit_web_settings_set_property; - gobject_class->get_property = webkit_web_settings_get_property; - - GParamFlags flags = (GParamFlags)(WEBKIT_PARAM_READWRITE | G_PARAM_CONSTRUCT); - - g_object_class_install_property(gobject_class, - PROP_DEFAULT_ENCODING, - g_param_spec_string( - "default-encoding", - "Default Encoding", - "The default encoding used to display text.", - "iso-8859-1", - flags)); - - g_object_class_install_property(gobject_class, - PROP_CURSIVE_FONT_FAMILY, - g_param_spec_string( - "cursive-font-family", - "Cursive Font Family", - "The default Cursive font family used to display text.", - "serif", - flags)); - - g_object_class_install_property(gobject_class, - PROP_DEFAULT_FONT_FAMILY, - g_param_spec_string( - "default-font-family", - "Default Font Family", - "The default font family used to display text.", - "sans-serif", - flags)); - - g_object_class_install_property(gobject_class, - PROP_FANTASY_FONT_FAMILY, - g_param_spec_string( - "fantasy-font-family", - "Fantasy Font Family", - "The default Fantasy font family used to display text.", - "serif", - flags)); - - g_object_class_install_property(gobject_class, - PROP_MONOSPACE_FONT_FAMILY, - g_param_spec_string( - "monospace-font-family", - "Monospace Font Family", - "The default font family used to display monospace text.", - "monospace", - flags)); - - g_object_class_install_property(gobject_class, - PROP_SANS_SERIF_FONT_FAMILY, - g_param_spec_string( - "sans-serif-font-family", - "Sans Serif Font Family", - "The default Sans Serif font family used to display text.", - "sans-serif", - flags)); - - g_object_class_install_property(gobject_class, - PROP_SERIF_FONT_FAMILY, - g_param_spec_string( - "serif-font-family", - "Serif Font Family", - "The default Serif font family used to display text.", - "serif", - flags)); - - g_object_class_install_property(gobject_class, - PROP_DEFAULT_FONT_SIZE, - g_param_spec_int( - "default-font-size", - "Default Font Size", - "The default font size used to display text.", - 5, G_MAXINT, 10, - flags)); - - g_object_class_install_property(gobject_class, - PROP_DEFAULT_MONOSPACE_FONT_SIZE, - g_param_spec_int( - "default-monospace-font-size", - "Default Monospace Font Size", - "The default font size used to display monospace text.", - 5, G_MAXINT, 10, - flags)); - - g_object_class_install_property(gobject_class, - PROP_MINIMUM_FONT_SIZE, - g_param_spec_int( - "minimum-font-size", - "Minimum Font Size", - "The minimum font size used to display text.", - 1, G_MAXINT, 5, - flags)); - - g_object_class_install_property(gobject_class, - PROP_MINIMUM_LOGICAL_FONT_SIZE, - g_param_spec_int( - "minimum-logical-font-size", - "Minimum Logical Font Size", - "The minimum logical font size used to display text.", - 1, G_MAXINT, 5, - flags)); - - g_object_class_install_property(gobject_class, - PROP_AUTO_LOAD_IMAGES, - g_param_spec_boolean( - "auto-load-images", - "Auto Load Images", - "Load images automatically.", - TRUE, - flags)); - - g_object_class_install_property(gobject_class, - PROP_AUTO_SHRINK_IMAGES, - g_param_spec_boolean( - "auto-shrink-images", - "Auto Shrink Images", - "Automatically shrink standalone images to fit.", - TRUE, - flags)); - - g_object_class_install_property(gobject_class, - PROP_PRINT_BACKGROUNDS, - g_param_spec_boolean( - "print-backgrounds", - "Print Backgrounds", - "Whether background images should be printed.", - TRUE, - flags)); - - g_object_class_install_property(gobject_class, - PROP_ENABLE_SCRIPTS, - g_param_spec_boolean( - "enable-scripts", - "Enable Scripts", - "Enable embedded scripting languages.", - TRUE, - flags)); - - g_object_class_install_property(gobject_class, - PROP_ENABLE_PLUGINS, - g_param_spec_boolean( - "enable-plugins", - "Enable Plugins", - "Enable embedded plugin objects.", - TRUE, - flags)); - - g_object_class_install_property(gobject_class, - PROP_RESIZABLE_TEXT_AREAS, - g_param_spec_boolean( - "resizable-text-areas", - "Resizable Text Areas", - "Whether text areas are resizable.", - TRUE, - flags)); - - g_object_class_install_property(gobject_class, - PROP_USER_STYLESHEET_URI, - g_param_spec_string("user-stylesheet-uri", - "User Stylesheet URI", - "The URI of a stylesheet that is applied to every page.", - 0, - flags)); - - /** - * WebKitWebSettings:zoom-step: - * - * The value by which the zoom level is changed when zooming in or out. - * - * Since: 1.0.1 - */ - g_object_class_install_property(gobject_class, - PROP_ZOOM_STEP, - g_param_spec_float( - "zoom-step", - "Zoom Stepping Value", - "The value by which the zoom level is changed when zooming in or out.", - 0.0f, G_MAXFLOAT, 0.1f, - flags)); - - /** - * WebKitWebSettings:enable-developer-extras: - * - * Whether developer extensions should be enabled. This enables, - * for now, the Web Inspector, which can be controlled using the - * #WebKitWebInspector instance held by the #WebKitWebView this - * setting is enabled for. - * - * Since: 1.0.3 - */ - g_object_class_install_property(gobject_class, - PROP_ENABLE_DEVELOPER_EXTRAS, - g_param_spec_boolean( - "enable-developer-extras", - "Enable Developer Extras", - "Enables special extensions that help developers", - FALSE, - flags)); - - g_type_class_add_private(klass, sizeof(WebKitWebSettingsPrivate)); -} - -static void webkit_web_settings_init(WebKitWebSettings* web_settings) -{ - web_settings->priv = WEBKIT_WEB_SETTINGS_GET_PRIVATE(web_settings); -} - -static void webkit_web_settings_finalize(GObject* object) -{ - WebKitWebSettings* web_settings = WEBKIT_WEB_SETTINGS(object); - WebKitWebSettingsPrivate* priv = web_settings->priv; - - g_free(priv->default_encoding); - g_free(priv->cursive_font_family); - g_free(priv->default_font_family); - g_free(priv->fantasy_font_family); - g_free(priv->monospace_font_family); - g_free(priv->sans_serif_font_family); - g_free(priv->serif_font_family); - g_free(priv->user_stylesheet_uri); - - G_OBJECT_CLASS(webkit_web_settings_parent_class)->finalize(object); -} - -static void webkit_web_settings_set_property(GObject* object, guint prop_id, const GValue* value, GParamSpec* pspec) -{ - WebKitWebSettings* web_settings = WEBKIT_WEB_SETTINGS(object); - WebKitWebSettingsPrivate* priv = web_settings->priv; - - switch(prop_id) { - case PROP_DEFAULT_ENCODING: - g_free(priv->default_encoding); - priv->default_encoding = g_strdup(g_value_get_string(value)); - break; - case PROP_CURSIVE_FONT_FAMILY: - g_free(priv->cursive_font_family); - priv->cursive_font_family = g_strdup(g_value_get_string(value)); - break; - case PROP_DEFAULT_FONT_FAMILY: - g_free(priv->default_font_family); - priv->default_font_family = g_strdup(g_value_get_string(value)); - break; - case PROP_FANTASY_FONT_FAMILY: - g_free(priv->fantasy_font_family); - priv->fantasy_font_family = g_strdup(g_value_get_string(value)); - break; - case PROP_MONOSPACE_FONT_FAMILY: - g_free(priv->monospace_font_family); - priv->monospace_font_family = g_strdup(g_value_get_string(value)); - break; - case PROP_SANS_SERIF_FONT_FAMILY: - g_free(priv->sans_serif_font_family); - priv->sans_serif_font_family = g_strdup(g_value_get_string(value)); - break; - case PROP_SERIF_FONT_FAMILY: - g_free(priv->serif_font_family); - priv->serif_font_family = g_strdup(g_value_get_string(value)); - break; - case PROP_DEFAULT_FONT_SIZE: - priv->default_font_size = g_value_get_int(value); - break; - case PROP_DEFAULT_MONOSPACE_FONT_SIZE: - priv->default_monospace_font_size = g_value_get_int(value); - break; - case PROP_MINIMUM_FONT_SIZE: - priv->minimum_font_size = g_value_get_int(value); - break; - case PROP_MINIMUM_LOGICAL_FONT_SIZE: - priv->minimum_logical_font_size = g_value_get_int(value); - break; - case PROP_AUTO_LOAD_IMAGES: - priv->auto_load_images = g_value_get_boolean(value); - break; - case PROP_AUTO_SHRINK_IMAGES: - priv->auto_shrink_images = g_value_get_boolean(value); - break; - case PROP_PRINT_BACKGROUNDS: - priv->print_backgrounds = g_value_get_boolean(value); - break; - case PROP_ENABLE_SCRIPTS: - priv->enable_scripts = g_value_get_boolean(value); - break; - case PROP_ENABLE_PLUGINS: - priv->enable_plugins = g_value_get_boolean(value); - break; - case PROP_RESIZABLE_TEXT_AREAS: - priv->resizable_text_areas = g_value_get_boolean(value); - break; - case PROP_USER_STYLESHEET_URI: - g_free(priv->user_stylesheet_uri); - priv->user_stylesheet_uri = g_strdup(g_value_get_string(value)); - break; - case PROP_ZOOM_STEP: - priv->zoom_step = g_value_get_float(value); - break; - case PROP_ENABLE_DEVELOPER_EXTRAS: - priv->enable_developer_extras = g_value_get_boolean(value); - break; - default: - G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec); - break; - } -} - -static void webkit_web_settings_get_property(GObject* object, guint prop_id, GValue* value, GParamSpec* pspec) -{ - WebKitWebSettings* web_settings = WEBKIT_WEB_SETTINGS(object); - WebKitWebSettingsPrivate* priv = web_settings->priv; - - switch (prop_id) { - case PROP_DEFAULT_ENCODING: - g_value_set_string(value, priv->default_encoding); - break; - case PROP_CURSIVE_FONT_FAMILY: - g_value_set_string(value, priv->cursive_font_family); - break; - case PROP_DEFAULT_FONT_FAMILY: - g_value_set_string(value, priv->default_font_family); - break; - case PROP_FANTASY_FONT_FAMILY: - g_value_set_string(value, priv->fantasy_font_family); - break; - case PROP_MONOSPACE_FONT_FAMILY: - g_value_set_string(value, priv->monospace_font_family); - break; - case PROP_SANS_SERIF_FONT_FAMILY: - g_value_set_string(value, priv->sans_serif_font_family); - break; - case PROP_SERIF_FONT_FAMILY: - g_value_set_string(value, priv->serif_font_family); - break; - case PROP_DEFAULT_FONT_SIZE: - g_value_set_int(value, priv->default_font_size); - break; - case PROP_DEFAULT_MONOSPACE_FONT_SIZE: - g_value_set_int(value, priv->default_monospace_font_size); - break; - case PROP_MINIMUM_FONT_SIZE: - g_value_set_int(value, priv->minimum_font_size); - break; - case PROP_MINIMUM_LOGICAL_FONT_SIZE: - g_value_set_int(value, priv->minimum_logical_font_size); - break; - case PROP_AUTO_LOAD_IMAGES: - g_value_set_boolean(value, priv->auto_load_images); - break; - case PROP_AUTO_SHRINK_IMAGES: - g_value_set_boolean(value, priv->auto_shrink_images); - break; - case PROP_PRINT_BACKGROUNDS: - g_value_set_boolean(value, priv->print_backgrounds); - break; - case PROP_ENABLE_SCRIPTS: - g_value_set_boolean(value, priv->enable_scripts); - break; - case PROP_ENABLE_PLUGINS: - g_value_set_boolean(value, priv->enable_plugins); - break; - case PROP_RESIZABLE_TEXT_AREAS: - g_value_set_boolean(value, priv->resizable_text_areas); - break; - case PROP_USER_STYLESHEET_URI: - g_value_set_string(value, priv->user_stylesheet_uri); - break; - case PROP_ZOOM_STEP: - g_value_set_float(value, priv->zoom_step); - break; - case PROP_ENABLE_DEVELOPER_EXTRAS: - g_value_set_boolean(value, priv->enable_developer_extras); - break; - default: - G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec); - break; - } -} - -/** - * webkit_web_settings_new: - * - * Creates a new #WebKitWebSettings instance with default values. It must - * be manually attached to a WebView. - * - * Returns: a new #WebKitWebSettings instance - **/ -WebKitWebSettings* webkit_web_settings_new() -{ - return WEBKIT_WEB_SETTINGS(g_object_new(WEBKIT_TYPE_WEB_SETTINGS, NULL)); -} - -/** - * webkit_web_settings_copy: - * - * Copies an existing #WebKitWebSettings instance. - * - * Returns: a new #WebKitWebSettings instance - **/ -WebKitWebSettings* webkit_web_settings_copy(WebKitWebSettings* web_settings) -{ - WebKitWebSettingsPrivate* priv = web_settings->priv; - - WebKitWebSettings* copy = WEBKIT_WEB_SETTINGS(g_object_new(WEBKIT_TYPE_WEB_SETTINGS, - "default-encoding", priv->default_encoding, - "cursive-font-family", priv->cursive_font_family, - "default-font-family", priv->default_font_family, - "fantasy-font-family", priv->fantasy_font_family, - "monospace-font-family", priv->monospace_font_family, - "sans-serif-font-family", priv->sans_serif_font_family, - "serif-font-family", priv->serif_font_family, - "default-font-size", priv->default_font_size, - "default-monospace-font-size", priv->default_monospace_font_size, - "minimum-font-size", priv->minimum_font_size, - "minimum-logical-font-size", priv->minimum_logical_font_size, - "auto-load-images", priv->auto_load_images, - "auto-shrink-images", priv->auto_shrink_images, - "print-backgrounds", priv->print_backgrounds, - "enable-scripts", priv->enable_scripts, - "enable-plugins", priv->enable_plugins, - "resizable-text-areas", priv->resizable_text_areas, - "user-stylesheet-uri", priv->user_stylesheet_uri, - "zoom-step", priv->zoom_step, - "enable-developer-extras", priv->enable_developer_extras, - NULL)); - - return copy; -} - -} diff --git a/WebKit/gtk/webkit/webkitwebsettings.h b/WebKit/gtk/webkit/webkitwebsettings.h deleted file mode 100644 index 33fa54a..0000000 --- a/WebKit/gtk/webkit/webkitwebsettings.h +++ /dev/null @@ -1,65 +0,0 @@ -/* - * Copyright (C) 2008 Christian Dywan - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public License - * along with this library; see the file COPYING.LIB. If not, write to - * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - * Boston, MA 02110-1301, USA. - */ - -#ifndef __WEBKIT_WEB_SETTINGS_H__ -#define __WEBKIT_WEB_SETTINGS_H__ - -#include - -#include - -G_BEGIN_DECLS - -#define WEBKIT_TYPE_WEB_SETTINGS (webkit_web_settings_get_type()) -#define WEBKIT_WEB_SETTINGS(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), WEBKIT_TYPE_WEB_SETTINGS, WebKitWebSettings)) -#define WEBKIT_WEB_SETTINGS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), WEBKIT_TYPE_WEB_SETTINGS, WebKitWebSettingsClass)) -#define WEBKIT_IS_WEB_SETTINGS(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), WEBKIT_TYPE_WEB_SETTINGS)) -#define WEBKIT_IS_WEB_SETTINGS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), WEBKIT_TYPE_WEB_SETTINGS)) -#define WEBKIT_WEB_SETTINGS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), WEBKIT_TYPE_WEB_SETTINGS, WebKitWebSettingsClass)) - -typedef struct _WebKitWebSettingsPrivate WebKitWebSettingsPrivate; - -struct _WebKitWebSettings { - GObject parent_instance; - - WebKitWebSettingsPrivate *priv; -}; - -struct _WebKitWebSettingsClass { - GObjectClass parent_class; - - /* Padding for future expansion */ - void (*_webkit_reserved1) (void); - void (*_webkit_reserved2) (void); - void (*_webkit_reserved3) (void); - void (*_webkit_reserved4) (void); -}; - -WEBKIT_API GType -webkit_web_settings_get_type (void); - -WEBKIT_API WebKitWebSettings * -webkit_web_settings_new (void); - -WEBKIT_API WebKitWebSettings * -webkit_web_settings_copy (WebKitWebSettings *web_settings); - -G_END_DECLS - -#endif /* __WEBKIT_WEB_SETTINGS_H__ */ diff --git a/WebKit/gtk/webkit/webkitwebview.cpp b/WebKit/gtk/webkit/webkitwebview.cpp deleted file mode 100644 index 2c90b4e..0000000 --- a/WebKit/gtk/webkit/webkitwebview.cpp +++ /dev/null @@ -1,2332 +0,0 @@ -/* - * Copyright (C) 2007 Holger Hans Peter Freyther - * Copyright (C) 2007, 2008 Christian Dywan - * Copyright (C) 2007 Xan Lopez - * Copyright (C) 2007, 2008 Alp Toker - * Copyright (C) 2008 Jan Alonzo - * Copyright (C) 2008 Nuanti Ltd. - * Copyright (C) 2008 Collabora Ltd. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#include "config.h" - -#include "webkitwebview.h" -#include "webkitmarshal.h" -#include "webkitprivate.h" -#include "webkitwebinspector.h" -#include "webkitwebbackforwardlist.h" -#include "webkitwebhistoryitem.h" - -#include "AXObjectCache.h" -#include "NotImplemented.h" -#include "BackForwardList.h" -#include "CString.h" -#include "ChromeClientGtk.h" -#include "ContextMenu.h" -#include "ContextMenuClientGtk.h" -#include "ContextMenuController.h" -#include "Cursor.h" -#include "Document.h" -#include "DragClientGtk.h" -#include "Editor.h" -#include "EditorClientGtk.h" -#include "EventHandler.h" -#include "FocusController.h" -#include "FrameLoaderTypes.h" -#include "HitTestRequest.h" -#include "HitTestResult.h" -#include "GraphicsContext.h" -#include "InspectorClientGtk.h" -#include "FrameLoader.h" -#include "FrameView.h" -#include "Editor.h" -#include "PasteboardHelper.h" -#include "PlatformKeyboardEvent.h" -#include "PlatformWheelEvent.h" -#include "Scrollbar.h" -#include "SubstituteData.h" -#include - -#include - -static const double defaultDPI = 96.0; - -using namespace WebKit; -using namespace WebCore; - -extern "C" { - -enum { - /* normal signals */ - NAVIGATION_REQUESTED, - WINDOW_OBJECT_CLEARED, - LOAD_STARTED, - LOAD_COMMITTED, - LOAD_PROGRESS_CHANGED, - LOAD_FINISHED, - TITLE_CHANGED, - HOVERING_OVER_LINK, - POPULATE_POPUP, - STATUS_BAR_TEXT_CHANGED, - ICOND_LOADED, - SELECTION_CHANGED, - CONSOLE_MESSAGE, - SCRIPT_ALERT, - SCRIPT_CONFIRM, - SCRIPT_PROMPT, - SELECT_ALL, - COPY_CLIPBOARD, - PASTE_CLIPBOARD, - CUT_CLIPBOARD, - LAST_SIGNAL -}; - -enum { - PROP_0, - - PROP_COPY_TARGET_LIST, - PROP_PASTE_TARGET_LIST, - PROP_EDITABLE, - PROP_SETTINGS, - PROP_WEB_INSPECTOR, - PROP_TRANSPARENT, - PROP_ZOOM_LEVEL, - PROP_FULL_CONTENT_ZOOM -}; - -static guint webkit_web_view_signals[LAST_SIGNAL] = { 0, }; - -G_DEFINE_TYPE(WebKitWebView, webkit_web_view, GTK_TYPE_CONTAINER) - -static void webkit_web_view_settings_notify(WebKitWebSettings* webSettings, GParamSpec* pspec, WebKitWebView* webView); - -static void webkit_web_view_context_menu_position_func(GtkMenu*, gint* x, gint* y, gboolean* pushIn, WebKitWebViewPrivate* data) -{ - *pushIn = FALSE; - *x = data->lastPopupXPosition; - *y = data->lastPopupYPosition; -} - -static gboolean webkit_web_view_forward_context_menu_event(WebKitWebView* webView, const PlatformMouseEvent& event) -{ - Page* page = core(webView); - page->contextMenuController()->clearContextMenu(); - Frame* focusedFrame = page->focusController()->focusedOrMainFrame(); - - if (!focusedFrame->view()) - return FALSE; - - focusedFrame->view()->setCursor(pointerCursor()); - bool handledEvent = focusedFrame->eventHandler()->sendContextMenuEvent(event); - if (!handledEvent) - return FALSE; - - ContextMenu* coreMenu = page->contextMenuController()->contextMenu(); - if (!coreMenu) - return FALSE; - - GtkMenu* menu = GTK_MENU(coreMenu->platformDescription()); - if (!menu) - return FALSE; - - g_signal_emit(webView, webkit_web_view_signals[POPULATE_POPUP], 0, menu); - - GList* items = gtk_container_get_children(GTK_CONTAINER(menu)); - bool empty = !g_list_nth(items, 0); - g_list_free(items); - if (empty) - return FALSE; - - WebKitWebViewPrivate* priv = WEBKIT_WEB_VIEW_GET_PRIVATE(webView); - priv->lastPopupXPosition = event.globalX(); - priv->lastPopupYPosition = event.globalY(); - gtk_menu_popup(menu, NULL, NULL, - reinterpret_cast(webkit_web_view_context_menu_position_func), - priv, event.button() + 1, gtk_get_current_event_time()); - return TRUE; -} - -static gboolean webkit_web_view_popup_menu_handler(GtkWidget* widget) -{ - static const int contextMenuMargin = 1; - - // The context menu event was generated from the keyboard, so show the context menu by the current selection. - Page* page = core(WEBKIT_WEB_VIEW(widget)); - FrameView* view = page->mainFrame()->view(); - if (!view) - return FALSE; - - Position start = page->mainFrame()->selection()->selection().start(); - Position end = page->mainFrame()->selection()->selection().end(); - - int rightAligned = FALSE; - IntPoint location; - - if (!start.node() || !end.node()) - location = IntPoint(rightAligned ? view->contentsWidth() - contextMenuMargin : contextMenuMargin, contextMenuMargin); - else { - RenderObject* renderer = start.node()->renderer(); - if (!renderer) - return FALSE; - - // Calculate the rect of the first line of the selection (cribbed from -[WebCoreFrameBridge firstRectForDOMRange:]). - int extraWidthToEndOfLine = 0; - - InlineBox* startInlineBox; - int startCaretOffset; - start.getInlineBoxAndOffset(DOWNSTREAM, startInlineBox, startCaretOffset); - IntRect startCaretRect = renderer->caretRect(startInlineBox, startCaretOffset, &extraWidthToEndOfLine); - - InlineBox* endInlineBox; - int endCaretOffset; - end.getInlineBoxAndOffset(UPSTREAM, endInlineBox, endCaretOffset); - IntRect endCaretRect = renderer->caretRect(endInlineBox, endCaretOffset); - - IntRect firstRect; - if (startCaretRect.y() == endCaretRect.y()) - firstRect = IntRect(MIN(startCaretRect.x(), endCaretRect.x()), - startCaretRect.y(), - abs(endCaretRect.x() - startCaretRect.x()), - MAX(startCaretRect.height(), endCaretRect.height())); - else - firstRect = IntRect(startCaretRect.x(), - startCaretRect.y(), - startCaretRect.width() + extraWidthToEndOfLine, - startCaretRect.height()); - - location = IntPoint(rightAligned ? firstRect.right() : firstRect.x(), firstRect.bottom()); - } - - int x, y; - gdk_window_get_origin(GTK_WIDGET(view->hostWindow()->platformWindow())->window, &x, &y); - - // FIXME: The IntSize(0, -1) is a hack to get the hit-testing to result in the selected element. - // Ideally we'd have the position of a context menu event be separate from its target node. - location = view->contentsToWindow(location) + IntSize(0, -1); - IntPoint global = location + IntSize(x, y); - PlatformMouseEvent event(location, global, NoButton, MouseEventPressed, 0, false, false, false, false, gtk_get_current_event_time()); - - return webkit_web_view_forward_context_menu_event(WEBKIT_WEB_VIEW(widget), event); -} - -static void webkit_web_view_get_property(GObject* object, guint prop_id, GValue* value, GParamSpec* pspec) -{ - WebKitWebView* webView = WEBKIT_WEB_VIEW(object); - - switch(prop_id) { -#if GTK_CHECK_VERSION(2,10,0) - case PROP_COPY_TARGET_LIST: - g_value_set_boxed(value, webkit_web_view_get_copy_target_list(webView)); - break; - case PROP_PASTE_TARGET_LIST: - g_value_set_boxed(value, webkit_web_view_get_paste_target_list(webView)); - break; -#endif - case PROP_EDITABLE: - g_value_set_boolean(value, webkit_web_view_get_editable(webView)); - break; - case PROP_SETTINGS: - g_value_set_object(value, webkit_web_view_get_settings(webView)); - break; - case PROP_WEB_INSPECTOR: - g_value_set_object(value, webkit_web_view_get_inspector(webView)); - break; - case PROP_TRANSPARENT: - g_value_set_boolean(value, webkit_web_view_get_transparent(webView)); - break; - case PROP_ZOOM_LEVEL: - g_value_set_float(value, webkit_web_view_get_zoom_level(webView)); - break; - case PROP_FULL_CONTENT_ZOOM: - g_value_set_boolean(value, webkit_web_view_get_full_content_zoom(webView)); - break; - default: - G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec); - } -} - -static void webkit_web_view_set_property(GObject* object, guint prop_id, const GValue* value, GParamSpec *pspec) -{ - WebKitWebView* webView = WEBKIT_WEB_VIEW(object); - - switch(prop_id) { - case PROP_EDITABLE: - webkit_web_view_set_editable(webView, g_value_get_boolean(value)); - break; - case PROP_SETTINGS: - webkit_web_view_set_settings(webView, WEBKIT_WEB_SETTINGS(g_value_get_object(value))); - break; - case PROP_TRANSPARENT: - webkit_web_view_set_transparent(webView, g_value_get_boolean(value)); - break; - case PROP_ZOOM_LEVEL: - webkit_web_view_set_zoom_level(webView, g_value_get_float(value)); - break; - case PROP_FULL_CONTENT_ZOOM: - webkit_web_view_set_full_content_zoom(webView, g_value_get_boolean(value)); - break; - default: - G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec); - } -} - -static bool shouldCoalesce(GdkRectangle rect, GdkRectangle* rects, int count) -{ - const int cRectThreshold = 10; - const float cWastedSpaceThreshold = 0.75f; - bool useUnionedRect = (count <= 1) || (count > cRectThreshold); - if (!useUnionedRect) { - // Attempt to guess whether or not we should use the unioned rect or the individual rects. - // We do this by computing the percentage of "wasted space" in the union. If that wasted space - // is too large, then we will do individual rect painting instead. - float unionPixels = (rect.width * rect.height); - float singlePixels = 0; - for (int i = 0; i < count; ++i) - singlePixels += rects[i].width * rects[i].height; - float wastedSpace = 1 - (singlePixels / unionPixels); - if (wastedSpace <= cWastedSpaceThreshold) - useUnionedRect = true; - } - return useUnionedRect; -} - -static gboolean webkit_web_view_expose_event(GtkWidget* widget, GdkEventExpose* event) -{ - WebKitWebView* webView = WEBKIT_WEB_VIEW(widget); - WebKitWebViewPrivate* priv = webView->priv; - - Frame* frame = core(webView)->mainFrame(); - if (frame->contentRenderer() && frame->view()) { - frame->view()->layoutIfNeededRecursive(); - - cairo_t* cr = gdk_cairo_create(event->window); - GraphicsContext ctx(cr); - cairo_destroy(cr); - ctx.setGdkExposeEvent(event); - - GOwnPtr rects; - int rectCount; - gdk_region_get_rectangles(event->region, &rects.outPtr(), &rectCount); - - // Avoid recursing into the render tree excessively - bool coalesce = shouldCoalesce(event->area, rects.get(), rectCount); - - if (coalesce) { - IntRect rect = event->area; - ctx.clip(rect); - if (priv->transparent) - ctx.clearRect(rect); - frame->view()->paint(&ctx, rect); - } else { - for (int i = 0; i < rectCount; i++) { - IntRect rect = rects.get()[i]; - ctx.save(); - ctx.clip(rect); - if (priv->transparent) - ctx.clearRect(rect); - frame->view()->paint(&ctx, rect); - ctx.restore(); - } - } - } - - return FALSE; -} - -static gboolean webkit_web_view_key_press_event(GtkWidget* widget, GdkEventKey* event) -{ - WebKitWebView* webView = WEBKIT_WEB_VIEW(widget); - - Frame* frame = core(webView)->focusController()->focusedOrMainFrame(); - PlatformKeyboardEvent keyboardEvent(event); - - if (!frame->view()) - return FALSE; - - if (frame->eventHandler()->keyEvent(keyboardEvent)) - return TRUE; - - FrameView* view = frame->view(); - SelectionController::EAlteration alteration; - if (event->state & GDK_SHIFT_MASK) - alteration = SelectionController::EXTEND; - else - alteration = SelectionController::MOVE; - - // TODO: We probably want to use GTK+ key bindings here and perhaps take an - // approach more like the Win and Mac ports for key handling. - switch (event->keyval) { - case GDK_Down: - view->scrollBy(IntSize(0, cScrollbarPixelsPerLineStep)); - return TRUE; - case GDK_Up: - view->scrollBy(IntSize(0, -cScrollbarPixelsPerLineStep)); - return TRUE; - case GDK_Right: - view->scrollBy(IntSize(cScrollbarPixelsPerLineStep, 0)); - return TRUE; - case GDK_Left: - view->scrollBy(IntSize(-cScrollbarPixelsPerLineStep, 0)); - return TRUE; - case GDK_Home: - frame->selection()->modify(alteration, SelectionController::BACKWARD, DocumentBoundary, true); - return TRUE; - case GDK_End: - frame->selection()->modify(alteration, SelectionController::FORWARD, DocumentBoundary, true); - return TRUE; - } - - /* Chain up to our parent class for binding activation */ - return GTK_WIDGET_CLASS(webkit_web_view_parent_class)->key_press_event(widget, event); -} - -static gboolean webkit_web_view_key_release_event(GtkWidget* widget, GdkEventKey* event) -{ - WebKitWebView* webView = WEBKIT_WEB_VIEW(widget); - - Frame* frame = core(webView)->focusController()->focusedOrMainFrame(); - if (!frame->view()) - return FALSE; - - PlatformKeyboardEvent keyboardEvent(event); - - if (frame->eventHandler()->keyEvent(keyboardEvent)) - return TRUE; - - /* Chain up to our parent class for binding activation */ - return GTK_WIDGET_CLASS(webkit_web_view_parent_class)->key_release_event(widget, event); -} - -static gboolean webkit_web_view_button_press_event(GtkWidget* widget, GdkEventButton* event) -{ - WebKitWebView* webView = WEBKIT_WEB_VIEW(widget); - - // FIXME: need to keep track of subframe focus for key events - gtk_widget_grab_focus(widget); - - if (event->button == 3) - return webkit_web_view_forward_context_menu_event(webView, PlatformMouseEvent(event)); - - Frame* frame = core(webView)->mainFrame(); - if (!frame->view()) - return FALSE; - - return frame->eventHandler()->handleMousePressEvent(PlatformMouseEvent(event)); -} - -static gboolean webkit_web_view_button_release_event(GtkWidget* widget, GdkEventButton* event) -{ - WebKitWebView* webView = WEBKIT_WEB_VIEW(widget); - - Frame* focusedFrame = core(webView)->focusController()->focusedFrame(); - - if (focusedFrame && focusedFrame->editor()->canEdit()) { -#ifdef MAEMO_CHANGES - WebKitWebViewPrivate* priv = webView->priv; - hildon_gtk_im_context_filter_event(priv->imContext, (GdkEvent*)event); -#endif - } - - Frame* mainFrame = core(webView)->mainFrame(); - if (!mainFrame->view()) - return FALSE; - - return mainFrame->eventHandler()->handleMouseReleaseEvent(PlatformMouseEvent(event)); -} - -static gboolean webkit_web_view_motion_event(GtkWidget* widget, GdkEventMotion* event) -{ - WebKitWebView* webView = WEBKIT_WEB_VIEW(widget); - - Frame* frame = core(webView)->mainFrame(); - if (!frame->view()) - return FALSE; - - return frame->eventHandler()->mouseMoved(PlatformMouseEvent(event)); -} - -static gboolean webkit_web_view_scroll_event(GtkWidget* widget, GdkEventScroll* event) -{ - WebKitWebView* webView = WEBKIT_WEB_VIEW(widget); - - Frame* frame = core(webView)->mainFrame(); - if (!frame->view()) - return FALSE; - - PlatformWheelEvent wheelEvent(event); - return frame->eventHandler()->handleWheelEvent(wheelEvent); -} - -static void webkit_web_view_size_allocate(GtkWidget* widget, GtkAllocation* allocation) -{ - GTK_WIDGET_CLASS(webkit_web_view_parent_class)->size_allocate(widget,allocation); - - WebKitWebView* webView = WEBKIT_WEB_VIEW(widget); - - Frame* frame = core(webView)->mainFrame(); - if (!frame->view()) - return; - - frame->view()->resize(allocation->width, allocation->height); - frame->forceLayout(); - frame->view()->adjustViewSize(); -} - -static gboolean webkit_web_view_focus_in_event(GtkWidget* widget, GdkEventFocus* event) -{ - // TODO: Improve focus handling as suggested in - // http://bugs.webkit.org/show_bug.cgi?id=16910 - GtkWidget* toplevel = gtk_widget_get_toplevel(widget); - if (GTK_WIDGET_TOPLEVEL(toplevel) && gtk_window_has_toplevel_focus(GTK_WINDOW(toplevel))) { - WebKitWebView* webView = WEBKIT_WEB_VIEW(widget); - - Frame* frame = core(webView)->mainFrame(); - core(webView)->focusController()->setActive(frame); - } - return GTK_WIDGET_CLASS(webkit_web_view_parent_class)->focus_in_event(widget, event); -} - -static gboolean webkit_web_view_focus_out_event(GtkWidget* widget, GdkEventFocus* event) -{ - WebKitWebView* webView = WEBKIT_WEB_VIEW(widget); - - core(webView)->focusController()->setActive(false); - - return GTK_WIDGET_CLASS(webkit_web_view_parent_class)->focus_out_event(widget, event); -} - -static void webkit_web_view_realize(GtkWidget* widget) -{ - GTK_WIDGET_SET_FLAGS(widget, GTK_REALIZED); - - GdkWindowAttr attributes; - attributes.window_type = GDK_WINDOW_CHILD; - attributes.x = widget->allocation.x; - attributes.y = widget->allocation.y; - attributes.width = widget->allocation.width; - attributes.height = widget->allocation.height; - attributes.wclass = GDK_INPUT_OUTPUT; - attributes.visual = gtk_widget_get_visual (widget); - attributes.colormap = gtk_widget_get_colormap (widget); - attributes.event_mask = GDK_VISIBILITY_NOTIFY_MASK - | GDK_EXPOSURE_MASK - | GDK_BUTTON_PRESS_MASK - | GDK_BUTTON_RELEASE_MASK - | GDK_POINTER_MOTION_MASK - | GDK_KEY_PRESS_MASK - | GDK_KEY_RELEASE_MASK - | GDK_BUTTON_MOTION_MASK - | GDK_BUTTON1_MOTION_MASK - | GDK_BUTTON2_MOTION_MASK - | GDK_BUTTON3_MOTION_MASK; - - gint attributes_mask = GDK_WA_X | GDK_WA_Y | GDK_WA_VISUAL | GDK_WA_COLORMAP; - widget->window = gdk_window_new(gtk_widget_get_parent_window (widget), &attributes, attributes_mask); - gdk_window_set_user_data(widget->window, widget); - - widget->style = gtk_style_attach(widget->style, widget->window); - gdk_window_set_background(widget->window, &widget->style->base[GTK_WIDGET_STATE(widget)]); - - WebKitWebView* webView = WEBKIT_WEB_VIEW(widget); - WebKitWebViewPrivate* priv = webView->priv; - gtk_im_context_set_client_window(priv->imContext, widget->window); -} - -static void webkit_web_view_set_scroll_adjustments(WebKitWebView* webView, GtkAdjustment* hadj, GtkAdjustment* vadj) -{ - FrameView* view = core(webkit_web_view_get_main_frame(webView))->view(); - - if (hadj) - g_object_ref(hadj); - if (vadj) - g_object_ref(vadj); - - WebKitWebViewPrivate* priv = webView->priv; - - if (priv->horizontalAdjustment) - g_object_unref(priv->horizontalAdjustment); - if (priv->verticalAdjustment) - g_object_unref(priv->verticalAdjustment); - - priv->horizontalAdjustment = hadj; - priv->verticalAdjustment = vadj; - - if (!view) - return; - - view->setGtkAdjustments(hadj, vadj); -} - -static void webkit_web_view_container_add(GtkContainer* container, GtkWidget* widget) -{ - WebKitWebView* webView = WEBKIT_WEB_VIEW(container); - WebKitWebViewPrivate* priv = webView->priv; - - priv->children.add(widget); - if (GTK_WIDGET_REALIZED(container)) - gtk_widget_set_parent_window(widget, GTK_WIDGET(webView)->window); - gtk_widget_set_parent(widget, GTK_WIDGET(container)); -} - -static void webkit_web_view_container_remove(GtkContainer* container, GtkWidget* widget) -{ - WebKitWebView* webView = WEBKIT_WEB_VIEW(container); - WebKitWebViewPrivate* priv = webView->priv; - - if (priv->children.contains(widget)) { - gtk_widget_unparent(widget); - priv->children.remove(widget); - } -} - -static void webkit_web_view_container_forall(GtkContainer* container, gboolean, GtkCallback callback, gpointer callbackData) -{ - WebKitWebView* webView = WEBKIT_WEB_VIEW(container); - WebKitWebViewPrivate* priv = webView->priv; - - HashSet children = priv->children; - HashSet::const_iterator end = children.end(); - for (HashSet::const_iterator current = children.begin(); current != end; ++current) - (*callback)(*current, callbackData); -} - -static WebKitWebView* webkit_web_view_real_create_web_view(WebKitWebView*) -{ - notImplemented(); - return 0; -} - -static WebKitNavigationResponse webkit_web_view_real_navigation_requested(WebKitWebView*, WebKitWebFrame* frame, WebKitNetworkRequest*) -{ - notImplemented(); - return WEBKIT_NAVIGATION_RESPONSE_ACCEPT; -} - -static void webkit_web_view_real_window_object_cleared(WebKitWebView*, WebKitWebFrame*, JSGlobalContextRef context, JSObjectRef window_object) -{ - notImplemented(); -} - -static gchar* webkit_web_view_real_choose_file(WebKitWebView*, WebKitWebFrame*, const gchar* old_name) -{ - notImplemented(); - return g_strdup(old_name); -} - -typedef enum { - WEBKIT_SCRIPT_DIALOG_ALERT, - WEBKIT_SCRIPT_DIALOG_CONFIRM, - WEBKIT_SCRIPT_DIALOG_PROMPT - } WebKitScriptDialogType; - -static gboolean webkit_web_view_script_dialog(WebKitWebView* webView, WebKitWebFrame* frame, const gchar* message, WebKitScriptDialogType type, const gchar* defaultValue, gchar** value) -{ - GtkMessageType messageType; - GtkButtonsType buttons; - gint defaultResponse; - GtkWidget* window; - GtkWidget* dialog; - GtkWidget* entry = 0; - gboolean didConfirm = FALSE; - - switch (type) { - case WEBKIT_SCRIPT_DIALOG_ALERT: - messageType = GTK_MESSAGE_WARNING; - buttons = GTK_BUTTONS_CLOSE; - defaultResponse = GTK_RESPONSE_CLOSE; - break; - case WEBKIT_SCRIPT_DIALOG_CONFIRM: - messageType = GTK_MESSAGE_QUESTION; - buttons = GTK_BUTTONS_YES_NO; - defaultResponse = GTK_RESPONSE_YES; - break; - case WEBKIT_SCRIPT_DIALOG_PROMPT: - messageType = GTK_MESSAGE_QUESTION; - buttons = GTK_BUTTONS_OK_CANCEL; - defaultResponse = GTK_RESPONSE_OK; - break; - default: - g_warning("Unknown value for WebKitScriptDialogType."); - return FALSE; - } - - window = gtk_widget_get_toplevel(GTK_WIDGET(webView)); - dialog = gtk_message_dialog_new(GTK_WIDGET_TOPLEVEL(window) ? GTK_WINDOW(window) : 0, GTK_DIALOG_DESTROY_WITH_PARENT, messageType, buttons, "%s", message); - gchar* title = g_strconcat("JavaScript - ", webkit_web_frame_get_uri(frame), NULL); - gtk_window_set_title(GTK_WINDOW(dialog), title); - g_free(title); - - if (type == WEBKIT_SCRIPT_DIALOG_PROMPT) { - entry = gtk_entry_new(); - gtk_entry_set_text(GTK_ENTRY(entry), defaultValue); - gtk_container_add(GTK_CONTAINER(GTK_DIALOG(dialog)->vbox), entry); - gtk_entry_set_activates_default(GTK_ENTRY(entry), TRUE); - gtk_widget_show(entry); - } - - gtk_dialog_set_default_response(GTK_DIALOG(dialog), defaultResponse); - gint response = gtk_dialog_run(GTK_DIALOG(dialog)); - - switch (response) { - case GTK_RESPONSE_YES: - didConfirm = TRUE; - break; - case GTK_RESPONSE_OK: - didConfirm = TRUE; - if (entry) - *value = g_strdup(gtk_entry_get_text(GTK_ENTRY(entry))); - else - *value = 0; - break; - case GTK_RESPONSE_NO: - case GTK_RESPONSE_CANCEL: - didConfirm = FALSE; - break; - - } - gtk_widget_destroy(GTK_WIDGET(dialog)); - return didConfirm; -} - -static gboolean webkit_web_view_real_script_alert(WebKitWebView* webView, WebKitWebFrame* frame, const gchar* message) -{ - webkit_web_view_script_dialog(webView, frame, message, WEBKIT_SCRIPT_DIALOG_ALERT, 0, 0); - return TRUE; -} - -static gboolean webkit_web_view_real_script_confirm(WebKitWebView* webView, WebKitWebFrame* frame, const gchar* message, gboolean* didConfirm) -{ - *didConfirm = webkit_web_view_script_dialog(webView, frame, message, WEBKIT_SCRIPT_DIALOG_CONFIRM, 0, 0); - return TRUE; -} - -static gboolean webkit_web_view_real_script_prompt(WebKitWebView* webView, WebKitWebFrame* frame, const gchar* message, const gchar* defaultValue, gchar** value) -{ - if (!webkit_web_view_script_dialog(webView, frame, message, WEBKIT_SCRIPT_DIALOG_PROMPT, defaultValue, value)) - *value = NULL; - return TRUE; -} - -static gboolean webkit_web_view_real_console_message(WebKitWebView* webView, const gchar* message, unsigned int line, const gchar* sourceId) -{ - g_print("console message: %s @%d: %s\n", sourceId, line, message); - return TRUE; -} - -static void webkit_web_view_real_select_all(WebKitWebView* webView) -{ - Frame* frame = core(webView)->focusController()->focusedOrMainFrame(); - frame->editor()->command("SelectAll").execute(); -} - -static void webkit_web_view_real_cut_clipboard(WebKitWebView* webView) -{ - Frame* frame = core(webView)->focusController()->focusedOrMainFrame(); - frame->editor()->command("Cut").execute(); -} - -static void webkit_web_view_real_copy_clipboard(WebKitWebView* webView) -{ - Frame* frame = core(webView)->focusController()->focusedOrMainFrame(); - frame->editor()->command("Copy").execute(); -} - -static void webkit_web_view_real_paste_clipboard(WebKitWebView* webView) -{ - Frame* frame = core(webView)->focusController()->focusedOrMainFrame(); - frame->editor()->command("Paste").execute(); -} - -static void webkit_web_view_finalize(GObject* object) -{ - WebKitWebView* webView = WEBKIT_WEB_VIEW(object); - WebKitWebViewPrivate* priv = webView->priv; - - webkit_web_view_stop_loading(WEBKIT_WEB_VIEW(object)); - - core(priv->mainFrame)->loader()->detachChildren(); - delete priv->corePage; - - if (priv->horizontalAdjustment) - g_object_unref(priv->horizontalAdjustment); - if (priv->verticalAdjustment) - g_object_unref(priv->verticalAdjustment); - g_object_unref(priv->backForwardList); - g_signal_handlers_disconnect_by_func(priv->webSettings, (gpointer)webkit_web_view_settings_notify, webView); - g_object_unref(priv->webSettings); - g_object_unref(priv->webInspector); - g_object_unref(priv->mainFrame); - g_object_unref(priv->imContext); - gtk_target_list_unref(priv->copy_target_list); - gtk_target_list_unref(priv->paste_target_list); - delete priv->userAgent; - - G_OBJECT_CLASS(webkit_web_view_parent_class)->finalize(object); -} - -static gboolean webkit_navigation_request_handled(GSignalInvocationHint* ihint, GValue* returnAccu, const GValue* handlerReturn, gpointer dummy) -{ - gboolean continueEmission = TRUE; - int signalHandled = g_value_get_int(handlerReturn); - g_value_set_int(returnAccu, signalHandled); - - if (signalHandled != WEBKIT_NAVIGATION_RESPONSE_ACCEPT) - continueEmission = FALSE; - - return continueEmission; -} - -static AtkObject* webkit_web_view_get_accessible(GtkWidget* widget) -{ - WebKitWebView* webView = WEBKIT_WEB_VIEW(widget); - AXObjectCache::enableAccessibility(); - - Frame* coreFrame = core(webView)->mainFrame(); - if (!coreFrame) - return NULL; - - Document* doc = coreFrame->document(); - if (!doc) - return NULL; - - AccessibilityObject* coreAccessible = doc->axObjectCache()->get(doc->renderer()); - if (!coreAccessible || !coreAccessible->wrapper()) - return NULL; - - return coreAccessible->wrapper(); -} - -static void webkit_web_view_class_init(WebKitWebViewClass* webViewClass) -{ - GtkBindingSet* binding_set; - - webkit_init(); - - /* - * Signals - */ - - webkit_web_view_signals[NAVIGATION_REQUESTED] = g_signal_new("navigation-requested", - G_TYPE_FROM_CLASS(webViewClass), - (GSignalFlags)(G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION), - G_STRUCT_OFFSET (WebKitWebViewClass, navigation_requested), - webkit_navigation_request_handled, - NULL, - webkit_marshal_INT__OBJECT_OBJECT, - G_TYPE_INT, 2, - G_TYPE_OBJECT, - G_TYPE_OBJECT); - - /** - * WebKitWebView::window-object-cleared: - * @web_view: the object on which the signal is emitted - * @frame: the #WebKitWebFrame to which @window_object belongs - * @context: the #JSGlobalContextRef holding the global object and other - * execution state; equivalent to the return value of - * webkit_web_frame_get_global_context(@frame) - * - * @window_object: the #JSObjectRef representing the frame's JavaScript - * window object - * - * Emitted when the JavaScript window object in a #WebKitWebFrame has been - * cleared in preparation for a new load. This is the preferred place to - * set custom properties on the window object using the JavaScriptCore API. - */ - webkit_web_view_signals[WINDOW_OBJECT_CLEARED] = g_signal_new("window-object-cleared", - G_TYPE_FROM_CLASS(webViewClass), - (GSignalFlags)(G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION), - G_STRUCT_OFFSET (WebKitWebViewClass, window_object_cleared), - NULL, - NULL, - webkit_marshal_VOID__OBJECT_POINTER_POINTER, - G_TYPE_NONE, 3, - WEBKIT_TYPE_WEB_FRAME, - G_TYPE_POINTER, - G_TYPE_POINTER); - - /** - * WebKitWebView::load-started: - * @web_view: the object on which the signal is emitted - * @frame: the frame going to do the load - * - * When a #WebKitWebFrame begins to load this signal is emitted. - */ - webkit_web_view_signals[LOAD_STARTED] = g_signal_new("load-started", - G_TYPE_FROM_CLASS(webViewClass), - (GSignalFlags)(G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION), - 0, - NULL, - NULL, - g_cclosure_marshal_VOID__OBJECT, - G_TYPE_NONE, 1, - WEBKIT_TYPE_WEB_FRAME); - - /** - * WebKitWebView::load-committed: - * @web_view: the object on which the signal is emitted - * @frame: the main frame that received the first data - * - * When a #WebKitWebFrame loaded the first data this signal is emitted. - */ - webkit_web_view_signals[LOAD_COMMITTED] = g_signal_new("load-committed", - G_TYPE_FROM_CLASS(webViewClass), - (GSignalFlags)(G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION), - 0, - NULL, - NULL, - g_cclosure_marshal_VOID__OBJECT, - G_TYPE_NONE, 1, - WEBKIT_TYPE_WEB_FRAME); - - - /** - * WebKitWebView::load-progress-changed: - * @web_view: the #WebKitWebView - * @progress: the global progress - */ - webkit_web_view_signals[LOAD_PROGRESS_CHANGED] = g_signal_new("load-progress-changed", - G_TYPE_FROM_CLASS(webViewClass), - (GSignalFlags)(G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION), - 0, - NULL, - NULL, - g_cclosure_marshal_VOID__INT, - G_TYPE_NONE, 1, - G_TYPE_INT); - - webkit_web_view_signals[LOAD_FINISHED] = g_signal_new("load-finished", - G_TYPE_FROM_CLASS(webViewClass), - (GSignalFlags)(G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION), - 0, - NULL, - NULL, - g_cclosure_marshal_VOID__OBJECT, - G_TYPE_NONE, 1, - WEBKIT_TYPE_WEB_FRAME); - - /** - * WebKitWebView::title-changed: - * @web_view: the object on which the signal is emitted - * @frame: the main frame - * @title: the new title - * - * When a #WebKitWebFrame changes the document title this signal is emitted. - */ - webkit_web_view_signals[TITLE_CHANGED] = g_signal_new("title-changed", - G_TYPE_FROM_CLASS(webViewClass), - (GSignalFlags)(G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION), - 0, - NULL, - NULL, - webkit_marshal_VOID__OBJECT_STRING, - G_TYPE_NONE, 2, - WEBKIT_TYPE_WEB_FRAME, - G_TYPE_STRING); - - /** - * WebKitWebView::hovering-over-link: - * @web_view: the object on which the signal is emitted - * @title: the link's title - * @uri: the URI the link points to - * - * When the cursor is over a link, this signal is emitted. - */ - webkit_web_view_signals[HOVERING_OVER_LINK] = g_signal_new("hovering-over-link", - G_TYPE_FROM_CLASS(webViewClass), - (GSignalFlags)(G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION), - 0, - NULL, - NULL, - webkit_marshal_VOID__STRING_STRING, - G_TYPE_NONE, 2, - G_TYPE_STRING, - G_TYPE_STRING); - - /** - * WebKitWebView::populate-popup: - * @web_view: the object on which the signal is emitted - * @menu: the context menu - * - * When a context menu is about to be displayed this signal is emitted. - * - * Add menu items to #menu to extend the context menu. - */ - webkit_web_view_signals[POPULATE_POPUP] = g_signal_new("populate-popup", - G_TYPE_FROM_CLASS(webViewClass), - (GSignalFlags)(G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION), - 0, - NULL, - NULL, - g_cclosure_marshal_VOID__OBJECT, - G_TYPE_NONE, 1, - GTK_TYPE_MENU); - - webkit_web_view_signals[STATUS_BAR_TEXT_CHANGED] = g_signal_new("status-bar-text-changed", - G_TYPE_FROM_CLASS(webViewClass), - (GSignalFlags)(G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION), - 0, - NULL, - NULL, - g_cclosure_marshal_VOID__STRING, - G_TYPE_NONE, 1, - G_TYPE_STRING); - - webkit_web_view_signals[ICOND_LOADED] = g_signal_new("icon-loaded", - G_TYPE_FROM_CLASS(webViewClass), - (GSignalFlags)(G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION), - 0, - NULL, - NULL, - g_cclosure_marshal_VOID__VOID, - G_TYPE_NONE, 0); - - webkit_web_view_signals[SELECTION_CHANGED] = g_signal_new("selection-changed", - G_TYPE_FROM_CLASS(webViewClass), - (GSignalFlags)(G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION), - 0, - NULL, - NULL, - g_cclosure_marshal_VOID__VOID, - G_TYPE_NONE, 0); - - /** - * WebKitWebView::console-message: - * @web_view: the object on which the signal is emitted - * @message: the message text - * @line: the line where the error occured - * @source_id: the source id - * @return: TRUE to stop other handlers from being invoked for the event. FALSE to propagate the event further. - * - * A JavaScript console message was created. - */ - webkit_web_view_signals[CONSOLE_MESSAGE] = g_signal_new("console-message", - G_TYPE_FROM_CLASS(webViewClass), - (GSignalFlags)(G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION), - G_STRUCT_OFFSET(WebKitWebViewClass, console_message), - g_signal_accumulator_true_handled, - NULL, - webkit_marshal_BOOLEAN__STRING_INT_STRING, - G_TYPE_BOOLEAN, 3, - G_TYPE_STRING, G_TYPE_INT, G_TYPE_STRING); - - /** - * WebKitWebView::script-alert: - * @web_view: the object on which the signal is emitted - * @frame: the relevant frame - * @message: the message text - * @return: TRUE to stop other handlers from being invoked for the event. FALSE to propagate the event further. - * - * A JavaScript alert dialog was created. - */ - webkit_web_view_signals[SCRIPT_ALERT] = g_signal_new("script-alert", - G_TYPE_FROM_CLASS(webViewClass), - (GSignalFlags)(G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION), - G_STRUCT_OFFSET(WebKitWebViewClass, script_alert), - g_signal_accumulator_true_handled, - NULL, - webkit_marshal_BOOLEAN__OBJECT_STRING, - G_TYPE_BOOLEAN, 2, - WEBKIT_TYPE_WEB_FRAME, G_TYPE_STRING); - - /** - * WebKitWebView::script-confirm: - * @web_view: the object on which the signal is emitted - * @frame: the relevant frame - * @message: the message text - * @confirmed: whether the dialog has been confirmed - * @return: TRUE to stop other handlers from being invoked for the event. FALSE to propagate the event further. - * - * A JavaScript confirm dialog was created, providing Yes and No buttons. - */ - webkit_web_view_signals[SCRIPT_CONFIRM] = g_signal_new("script-confirm", - G_TYPE_FROM_CLASS(webViewClass), - (GSignalFlags)(G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION), - G_STRUCT_OFFSET(WebKitWebViewClass, script_confirm), - g_signal_accumulator_true_handled, - NULL, - webkit_marshal_BOOLEAN__OBJECT_STRING_BOOLEAN, - G_TYPE_BOOLEAN, 3, - WEBKIT_TYPE_WEB_FRAME, G_TYPE_STRING, G_TYPE_BOOLEAN); - - /** - * WebKitWebView::script-prompt: - * @web_view: the object on which the signal is emitted - * @frame: the relevant frame - * @message: the message text - * @default: the default value - * @text: To be filled with the return value or NULL if the dialog was cancelled. - * @return: TRUE to stop other handlers from being invoked for the event. FALSE to propagate the event further. - * - * A JavaScript prompt dialog was created, providing an entry to input text. - */ - webkit_web_view_signals[SCRIPT_PROMPT] = g_signal_new("script-prompt", - G_TYPE_FROM_CLASS(webViewClass), - (GSignalFlags)(G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION), - G_STRUCT_OFFSET(WebKitWebViewClass, script_prompt), - g_signal_accumulator_true_handled, - NULL, - webkit_marshal_BOOLEAN__OBJECT_STRING_STRING_STRING, - G_TYPE_BOOLEAN, 4, - WEBKIT_TYPE_WEB_FRAME, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_POINTER); - - /** - * WebKitWebView::select-all: - * @web_view: the object which received the signal - * - * The ::select-all signal is a keybinding signal which gets emitted to - * select the complete contents of the text view. - * - * The default bindings for this signal is Ctrl-a. - */ - webkit_web_view_signals[SELECT_ALL] = g_signal_new("select-all", - G_TYPE_FROM_CLASS(webViewClass), - (GSignalFlags)(G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION), - G_STRUCT_OFFSET(WebKitWebViewClass, select_all), - NULL, NULL, - g_cclosure_marshal_VOID__VOID, - G_TYPE_NONE, 0); - - /** - * WebKitWebView::cut-clipboard: - * @web_view: the object which received the signal - * - * The ::cut-clipboard signal is a keybinding signal which gets emitted to - * cut the selection to the clipboard. - * - * The default bindings for this signal are Ctrl-x and Shift-Delete. - */ - webkit_web_view_signals[CUT_CLIPBOARD] = g_signal_new("cut-clipboard", - G_TYPE_FROM_CLASS(webViewClass), - (GSignalFlags)(G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION), - G_STRUCT_OFFSET(WebKitWebViewClass, cut_clipboard), - NULL, NULL, - g_cclosure_marshal_VOID__VOID, - G_TYPE_NONE, 0); - - /** - * WebKitWebView::copy-clipboard: - * @web_view: the object which received the signal - * - * The ::copy-clipboard signal is a keybinding signal which gets emitted to - * copy the selection to the clipboard. - * - * The default bindings for this signal are Ctrl-c and Ctrl-Insert. - */ - webkit_web_view_signals[COPY_CLIPBOARD] = g_signal_new("copy-clipboard", - G_TYPE_FROM_CLASS(webViewClass), - (GSignalFlags)(G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION), - G_STRUCT_OFFSET(WebKitWebViewClass, copy_clipboard), - NULL, NULL, - g_cclosure_marshal_VOID__VOID, - G_TYPE_NONE, 0); - - /** - * WebKitWebView::paste-clipboard: - * @web_view: the object which received the signal - * - * The ::paste-clipboard signal is a keybinding signal which gets emitted to - * paste the contents of the clipboard into the Web view. - * - * The default bindings for this signal are Ctrl-v and Shift-Insert. - */ - webkit_web_view_signals[PASTE_CLIPBOARD] = g_signal_new("paste-clipboard", - G_TYPE_FROM_CLASS(webViewClass), - (GSignalFlags)(G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION), - G_STRUCT_OFFSET(WebKitWebViewClass, paste_clipboard), - NULL, NULL, - g_cclosure_marshal_VOID__VOID, - G_TYPE_NONE, 0); - - /* - * implementations of virtual methods - */ - webViewClass->create_web_view = webkit_web_view_real_create_web_view; - webViewClass->navigation_requested = webkit_web_view_real_navigation_requested; - webViewClass->window_object_cleared = webkit_web_view_real_window_object_cleared; - webViewClass->choose_file = webkit_web_view_real_choose_file; - webViewClass->script_alert = webkit_web_view_real_script_alert; - webViewClass->script_confirm = webkit_web_view_real_script_confirm; - webViewClass->script_prompt = webkit_web_view_real_script_prompt; - webViewClass->console_message = webkit_web_view_real_console_message; - webViewClass->select_all = webkit_web_view_real_select_all; - webViewClass->cut_clipboard = webkit_web_view_real_cut_clipboard; - webViewClass->copy_clipboard = webkit_web_view_real_copy_clipboard; - webViewClass->paste_clipboard = webkit_web_view_real_paste_clipboard; - - GObjectClass* objectClass = G_OBJECT_CLASS(webViewClass); - objectClass->finalize = webkit_web_view_finalize; - objectClass->get_property = webkit_web_view_get_property; - objectClass->set_property = webkit_web_view_set_property; - - GtkWidgetClass* widgetClass = GTK_WIDGET_CLASS(webViewClass); - widgetClass->realize = webkit_web_view_realize; - widgetClass->expose_event = webkit_web_view_expose_event; - widgetClass->key_press_event = webkit_web_view_key_press_event; - widgetClass->key_release_event = webkit_web_view_key_release_event; - widgetClass->button_press_event = webkit_web_view_button_press_event; - widgetClass->button_release_event = webkit_web_view_button_release_event; - widgetClass->motion_notify_event = webkit_web_view_motion_event; - widgetClass->scroll_event = webkit_web_view_scroll_event; - widgetClass->size_allocate = webkit_web_view_size_allocate; - widgetClass->popup_menu = webkit_web_view_popup_menu_handler; - widgetClass->focus_in_event = webkit_web_view_focus_in_event; - widgetClass->focus_out_event = webkit_web_view_focus_out_event; - widgetClass->get_accessible = webkit_web_view_get_accessible; - - GtkContainerClass* containerClass = GTK_CONTAINER_CLASS(webViewClass); - containerClass->add = webkit_web_view_container_add; - containerClass->remove = webkit_web_view_container_remove; - containerClass->forall = webkit_web_view_container_forall; - - /* - * make us scrollable (e.g. addable to a GtkScrolledWindow) - */ - webViewClass->set_scroll_adjustments = webkit_web_view_set_scroll_adjustments; - GTK_WIDGET_CLASS(webViewClass)->set_scroll_adjustments_signal = g_signal_new("set-scroll-adjustments", - G_TYPE_FROM_CLASS(webViewClass), - (GSignalFlags)(G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION), - G_STRUCT_OFFSET(WebKitWebViewClass, set_scroll_adjustments), - NULL, NULL, - webkit_marshal_VOID__OBJECT_OBJECT, - G_TYPE_NONE, 2, - GTK_TYPE_ADJUSTMENT, GTK_TYPE_ADJUSTMENT); - - /* - * Key bindings - */ - - binding_set = gtk_binding_set_by_class(webViewClass); - - gtk_binding_entry_add_signal(binding_set, GDK_a, GDK_CONTROL_MASK, - "select_all", 0); - - /* Cut/copy/paste */ - - gtk_binding_entry_add_signal(binding_set, GDK_x, GDK_CONTROL_MASK, - "cut_clipboard", 0); - gtk_binding_entry_add_signal(binding_set, GDK_c, GDK_CONTROL_MASK, - "copy_clipboard", 0); - gtk_binding_entry_add_signal(binding_set, GDK_v, GDK_CONTROL_MASK, - "paste_clipboard", 0); - - gtk_binding_entry_add_signal(binding_set, GDK_Delete, GDK_SHIFT_MASK, - "cut_clipboard", 0); - gtk_binding_entry_add_signal(binding_set, GDK_Insert, GDK_CONTROL_MASK, - "copy_clipboard", 0); - gtk_binding_entry_add_signal(binding_set, GDK_Insert, GDK_SHIFT_MASK, - "paste_clipboard", 0); - - /* - * properties - */ - -#if GTK_CHECK_VERSION(2,10,0) - /** - * WebKitWebView:copy-target-list: - * - * The list of targets this web view supports for clipboard copying. - * - * Since: 1.0.2 - */ - g_object_class_install_property(objectClass, PROP_COPY_TARGET_LIST, - g_param_spec_boxed("copy-target-list", - "Copy target list", - "The list of targets this web view supports for clipboard copying", - GTK_TYPE_TARGET_LIST, - WEBKIT_PARAM_READABLE)); - - /** - * WebKitWebView:paste-target-list: - * - * The list of targets this web view supports for clipboard pasting. - * - * Since: 1.0.2 - */ - g_object_class_install_property(objectClass, PROP_PASTE_TARGET_LIST, - g_param_spec_boxed("paste-target-list", - "Paste target list", - "The list of targets this web view supports for clipboard pasting", - GTK_TYPE_TARGET_LIST, - WEBKIT_PARAM_READABLE)); -#endif - - g_object_class_install_property(objectClass, PROP_SETTINGS, - g_param_spec_object("settings", - "Settings", - "An associated WebKitWebSettings instance", - WEBKIT_TYPE_WEB_SETTINGS, - WEBKIT_PARAM_READWRITE)); - - /** - * WebKitWebView:web-inspector: - * - * The associated WebKitWebInspector instance. - * - * Since: 1.0.3 - */ - g_object_class_install_property(objectClass, PROP_WEB_INSPECTOR, - g_param_spec_object("web-inspector", - "Web Inspector", - "The associated WebKitWebInspector instance", - WEBKIT_TYPE_WEB_INSPECTOR, - WEBKIT_PARAM_READABLE)); - - g_object_class_install_property(objectClass, PROP_EDITABLE, - g_param_spec_boolean("editable", - "Editable", - "Whether content can be modified by the user", - FALSE, - WEBKIT_PARAM_READWRITE)); - - g_object_class_install_property(objectClass, PROP_TRANSPARENT, - g_param_spec_boolean("transparent", - "Transparent", - "Whether content has a transparent background", - FALSE, - WEBKIT_PARAM_READWRITE)); - - /** - * WebKitWebView:zoom-level: - * - * The level of zoom of the content. - * - * Since: 1.0.1 - */ - g_object_class_install_property(objectClass, PROP_ZOOM_LEVEL, - g_param_spec_float("zoom-level", - "Zoom level", - "The level of zoom of the content", - G_MINFLOAT, - G_MAXFLOAT, - 1.0f, - WEBKIT_PARAM_READWRITE)); - - /** - * WebKitWebView:full-content-zoom: - * - * Whether the full content is scaled when zooming. - * - * Since: 1.0.1 - */ - g_object_class_install_property(objectClass, PROP_FULL_CONTENT_ZOOM, - g_param_spec_boolean("full-content-zoom", - "Full content zoom", - "Whether the full content is scaled when zooming", - FALSE, - WEBKIT_PARAM_READWRITE)); - - g_type_class_add_private(webViewClass, sizeof(WebKitWebViewPrivate)); -} - -static void webkit_web_view_screen_changed(WebKitWebView* webView, GdkScreen* previousScreen, gpointer userdata) -{ - WebKitWebViewPrivate* priv = webView->priv; - WebKitWebSettings* webSettings = priv->webSettings; - Settings* settings = core(webView)->settings(); - - guint defaultFontSize, defaultMonospaceFontSize, minimumFontSize, minimumLogicalFontSize; - - g_object_get(G_OBJECT(webSettings), - "default-font-size", &defaultFontSize, - "default-monospace-font-size", &defaultMonospaceFontSize, - "minimum-font-size", &minimumFontSize, - "minimum-logical-font-size", &minimumLogicalFontSize, - NULL); - - gdouble DPI = defaultDPI; -#if GTK_CHECK_VERSION(2,10,0) - GdkScreen* screen = gtk_widget_has_screen(GTK_WIDGET(webView)) ? gtk_widget_get_screen(GTK_WIDGET(webView)) : gdk_screen_get_default(); - if (screen) { - DPI = gdk_screen_get_resolution(screen); - // gdk_screen_get_resolution() returns -1 when no DPI is set. - if (DPI == -1) - DPI = defaultDPI; - } -#endif - ASSERT(DPI > 0); - settings->setDefaultFontSize(defaultFontSize / 72.0 * DPI); - settings->setDefaultFixedFontSize(defaultMonospaceFontSize / 72.0 * DPI); - settings->setMinimumFontSize(minimumFontSize / 72.0 * DPI); - settings->setMinimumLogicalFontSize(minimumLogicalFontSize / 72.0 * DPI); -} - -static void webkit_web_view_update_settings(WebKitWebView* webView) -{ - WebKitWebViewPrivate* priv = webView->priv; - WebKitWebSettings* webSettings = priv->webSettings; - Settings* settings = core(webView)->settings(); - - gchar* defaultEncoding, *cursiveFontFamily, *defaultFontFamily, *fantasyFontFamily, *monospaceFontFamily, *sansSerifFontFamily, *serifFontFamily, *userStylesheetUri; - gboolean autoLoadImages, autoShrinkImages, printBackgrounds, enableScripts, enablePlugins, enableDeveloperExtras, resizableTextAreas; - - g_object_get(G_OBJECT(webSettings), - "default-encoding", &defaultEncoding, - "cursive-font-family", &cursiveFontFamily, - "default-font-family", &defaultFontFamily, - "fantasy-font-family", &fantasyFontFamily, - "monospace-font-family", &monospaceFontFamily, - "sans-serif-font-family", &sansSerifFontFamily, - "serif-font-family", &serifFontFamily, - "auto-load-images", &autoLoadImages, - "auto-shrink-images", &autoShrinkImages, - "print-backgrounds", &printBackgrounds, - "enable-scripts", &enableScripts, - "enable-plugins", &enablePlugins, - "resizable-text-areas", &resizableTextAreas, - "user-stylesheet-uri", &userStylesheetUri, - "enable-developer-extras", &enableDeveloperExtras, - NULL); - - settings->setDefaultTextEncodingName(defaultEncoding); - settings->setCursiveFontFamily(cursiveFontFamily); - settings->setStandardFontFamily(defaultFontFamily); - settings->setFantasyFontFamily(fantasyFontFamily); - settings->setFixedFontFamily(monospaceFontFamily); - settings->setSansSerifFontFamily(sansSerifFontFamily); - settings->setSerifFontFamily(serifFontFamily); - settings->setLoadsImagesAutomatically(autoLoadImages); - settings->setShrinksStandaloneImagesToFit(autoShrinkImages); - settings->setShouldPrintBackgrounds(printBackgrounds); - settings->setJavaScriptEnabled(enableScripts); - settings->setPluginsEnabled(enablePlugins); - settings->setTextAreasAreResizable(resizableTextAreas); - settings->setUserStyleSheetLocation(KURL(userStylesheetUri)); - settings->setDeveloperExtrasEnabled(enableDeveloperExtras); - - g_free(defaultEncoding); - g_free(cursiveFontFamily); - g_free(defaultFontFamily); - g_free(fantasyFontFamily); - g_free(monospaceFontFamily); - g_free(sansSerifFontFamily); - g_free(serifFontFamily); - g_free(userStylesheetUri); - - webkit_web_view_screen_changed(webView, NULL, NULL); -} - -static void webkit_web_view_settings_notify(WebKitWebSettings* webSettings, GParamSpec* pspec, WebKitWebView* webView) -{ - Settings* settings = core(webView)->settings(); - - const gchar* name = g_intern_string(pspec->name); - GValue value = { 0, { { 0 } } }; - g_value_init(&value, pspec->value_type); - g_object_get_property(G_OBJECT(webSettings), name, &value); - - if (name == g_intern_string("default-encoding")) - settings->setDefaultTextEncodingName(g_value_get_string(&value)); - else if (name == g_intern_string("cursive-font-family")) - settings->setCursiveFontFamily(g_value_get_string(&value)); - else if (name == g_intern_string("default-font-family")) - settings->setStandardFontFamily(g_value_get_string(&value)); - else if (name == g_intern_string("fantasy-font-family")) - settings->setFantasyFontFamily(g_value_get_string(&value)); - else if (name == g_intern_string("monospace-font-family")) - settings->setFixedFontFamily(g_value_get_string(&value)); - else if (name == g_intern_string("sans-serif-font-family")) - settings->setSansSerifFontFamily(g_value_get_string(&value)); - else if (name == g_intern_string("serif-font-family")) - settings->setSerifFontFamily(g_value_get_string(&value)); - else if (name == g_intern_string("default-font-size")) - settings->setDefaultFontSize(g_value_get_int(&value)); - else if (name == g_intern_string("default-monospace-font-size")) - settings->setDefaultFixedFontSize(g_value_get_int(&value)); - else if (name == g_intern_string("minimum-font-size")) - settings->setMinimumFontSize(g_value_get_int(&value)); - else if (name == g_intern_string("minimum-logical-font-size")) - settings->setMinimumLogicalFontSize(g_value_get_int(&value)); - else if (name == g_intern_string("auto-load-images")) - settings->setLoadsImagesAutomatically(g_value_get_boolean(&value)); - else if (name == g_intern_string("auto-shrink-images")) - settings->setShrinksStandaloneImagesToFit(g_value_get_boolean(&value)); - else if (name == g_intern_string("print-backgrounds")) - settings->setShouldPrintBackgrounds(g_value_get_boolean(&value)); - else if (name == g_intern_string("enable-scripts")) - settings->setJavaScriptEnabled(g_value_get_boolean(&value)); - else if (name == g_intern_string("enable-plugins")) - settings->setPluginsEnabled(g_value_get_boolean(&value)); - else if (name == g_intern_string("resizable-text-areas")) - settings->setTextAreasAreResizable(g_value_get_boolean(&value)); - else if (name == g_intern_string("user-stylesheet-uri")) - settings->setUserStyleSheetLocation(KURL(g_value_get_string(&value))); - else if (name == g_intern_string("enable-developer-extras")) - settings->setDeveloperExtrasEnabled(g_value_get_boolean(&value)); - else if (!g_object_class_find_property(G_OBJECT_GET_CLASS(webSettings), name)) - g_warning("Unexpected setting '%s'", name); - g_value_unset(&value); -} - -static void webkit_web_view_init(WebKitWebView* webView) -{ - WebKitWebViewPrivate* priv = WEBKIT_WEB_VIEW_GET_PRIVATE(webView); - webView->priv = priv; - - priv->imContext = gtk_im_multicontext_new(); - - WebKit::InspectorClient* inspectorClient = new WebKit::InspectorClient(webView); - priv->corePage = new Page(new WebKit::ChromeClient(webView), new WebKit::ContextMenuClient(webView), new WebKit::EditorClient(webView), new WebKit::DragClient, inspectorClient); - - // We also add a simple wrapper class to provide the public - // interface for the Web Inspector. - priv->webInspector = WEBKIT_WEB_INSPECTOR(g_object_new(WEBKIT_TYPE_WEB_INSPECTOR, NULL)); - webkit_web_inspector_set_inspector_client(priv->webInspector, inspectorClient); - - priv->horizontalAdjustment = GTK_ADJUSTMENT(gtk_adjustment_new(0.0, 0.0, 0.0, 0.0, 0.0, 0.0)); - priv->verticalAdjustment = GTK_ADJUSTMENT(gtk_adjustment_new(0.0, 0.0, 0.0, 0.0, 0.0, 0.0)); - -#if GLIB_CHECK_VERSION(2,10,0) - g_object_ref_sink(priv->horizontalAdjustment); - g_object_ref_sink(priv->verticalAdjustment); -#else - g_object_ref(priv->horizontalAdjustment); - gtk_object_sink(GTK_OBJECT(priv->horizontalAdjustment)); - g_object_ref(priv->verticalAdjustment); - gtk_object_sink(GTK_OBJECT(priv->verticalAdjustment)); -#endif - - GTK_WIDGET_SET_FLAGS(webView, GTK_CAN_FOCUS); - priv->mainFrame = WEBKIT_WEB_FRAME(webkit_web_frame_new(webView)); - priv->lastPopupXPosition = priv->lastPopupYPosition = -1; - priv->editable = false; - - priv->backForwardList = webkit_web_back_forward_list_new_with_web_view(webView); - - priv->zoomFullContent = FALSE; - -#if GTK_CHECK_VERSION(2,10,0) - GdkAtom textHtml = gdk_atom_intern_static_string("text/html"); -#else - GdkAtom textHtml = gdk_atom_intern("text/html", false); -#endif - /* Targets for copy */ - priv->copy_target_list = gtk_target_list_new(NULL, 0); - gtk_target_list_add(priv->copy_target_list, textHtml, 0, WEBKIT_WEB_VIEW_TARGET_INFO_HTML); - gtk_target_list_add_text_targets(priv->copy_target_list, WEBKIT_WEB_VIEW_TARGET_INFO_TEXT); - - /* Targets for pasting */ - priv->paste_target_list = gtk_target_list_new(NULL, 0); - gtk_target_list_add(priv->paste_target_list, textHtml, 0, WEBKIT_WEB_VIEW_TARGET_INFO_HTML); - gtk_target_list_add_text_targets(priv->paste_target_list, WEBKIT_WEB_VIEW_TARGET_INFO_TEXT); - - priv->webSettings = webkit_web_settings_new(); - webkit_web_view_update_settings(webView); - g_signal_connect(webView, "screen-changed", G_CALLBACK(webkit_web_view_screen_changed), NULL); - g_signal_connect(priv->webSettings, "notify", G_CALLBACK(webkit_web_view_settings_notify), webView); -} - -GtkWidget* webkit_web_view_new(void) -{ - WebKitWebView* webView = WEBKIT_WEB_VIEW(g_object_new(WEBKIT_TYPE_WEB_VIEW, NULL)); - - return GTK_WIDGET(webView); -} - -void webkit_web_view_set_settings(WebKitWebView* webView, WebKitWebSettings* webSettings) -{ - g_return_if_fail(WEBKIT_IS_WEB_VIEW(webView)); - g_return_if_fail(WEBKIT_IS_WEB_SETTINGS(webSettings)); - - WebKitWebViewPrivate* priv = webView->priv; - g_signal_handlers_disconnect_by_func(priv->webSettings, (gpointer)webkit_web_view_settings_notify, webView); - g_object_unref(priv->webSettings); - g_object_ref(webSettings); - priv->webSettings = webSettings; - webkit_web_view_update_settings(webView); - g_signal_connect(webSettings, "notify", G_CALLBACK(webkit_web_view_settings_notify), webView); - g_object_notify(G_OBJECT(webView), "settings"); -} - -WebKitWebSettings* webkit_web_view_get_settings(WebKitWebView* webView) -{ - g_return_val_if_fail(WEBKIT_IS_WEB_VIEW(webView), NULL); - - WebKitWebViewPrivate* priv = webView->priv; - return priv->webSettings; -} - -/** - * webkit_web_view_get_inspector: - * @webView: a #WebKitWebView - * - * Obtains the #WebKitWebInspector associated with the - * #WebKitWebView. Every #WebKitWebView object has a - * #WebKitWebInspector object attached to it as soon as it is created, - * so this function will only return NULL if the argument is not a - * valid #WebKitWebView. - * - * Returns: the #WebKitWebInspector instance associated with the - * #WebKitWebView; %NULL is only returned if the argument is not a - * valid #WebKitWebView. - * - * Since: 1.0.3 - */ -WebKitWebInspector* webkit_web_view_get_inspector(WebKitWebView* webView) -{ - g_return_val_if_fail(WEBKIT_IS_WEB_VIEW(webView), NULL); - - WebKitWebViewPrivate* priv = webView->priv; - return priv->webInspector; -} - -/** - * webkit_web_view_set_maintains_back_forward_list: - * @webView: a #WebKitWebView - * @flag: to tell the view to maintain a back or forward list - * - * Set the view to maintain a back or forward list of history items. - */ -void webkit_web_view_set_maintains_back_forward_list(WebKitWebView* webView, gboolean flag) -{ - g_return_if_fail(WEBKIT_IS_WEB_VIEW(webView)); - - core(webView)->backForwardList()->setEnabled(flag); -} - -/** - * webkit_web_view_get_back_forward_list: - * @webView: a #WebKitWebView - * - * Returns a #WebKitWebBackForwardList - * - * Return value: the #WebKitWebBackForwardList - */ -WebKitWebBackForwardList* webkit_web_view_get_back_forward_list(WebKitWebView* webView) -{ - g_return_val_if_fail(WEBKIT_IS_WEB_VIEW(webView), NULL); - - WebKitWebViewPrivate* priv = webView->priv; - - if (!core(webView) || !core(webView)->backForwardList()->enabled()) - return NULL; - - return priv->backForwardList; -} - -/** - * webkit_web_view_go_to_back_forward_item: - * @webView: a #WebKitWebView - * @item: a #WebKitWebHistoryItem* - * - * Go to the specified #WebKitWebHistoryItem - * - * Return value: %TRUE if loading of item is successful, %FALSE if not - */ -gboolean webkit_web_view_go_to_back_forward_item(WebKitWebView* webView, WebKitWebHistoryItem* item) -{ - g_return_val_if_fail(WEBKIT_IS_WEB_VIEW(webView), FALSE); - g_return_val_if_fail(WEBKIT_IS_WEB_HISTORY_ITEM(item), FALSE); - - WebKitWebBackForwardList* backForwardList = webkit_web_view_get_back_forward_list(webView); - if (!webkit_web_back_forward_list_contains_item(backForwardList, item)) - return FALSE; - - core(webView)->goToItem(core(item), FrameLoadTypeIndexedBackForward); - return TRUE; -} - -/** - * webkit_web_view_go_back: - * @web_view: a #WebKitWebView - * - * Loads the previous history item. - */ -void webkit_web_view_go_back(WebKitWebView* webView) -{ - g_return_if_fail(WEBKIT_IS_WEB_VIEW(webView)); - - core(webView)->goBack(); -} - -/** - * webkit_web_view_go_back_or_forward: - * @web_view: a #WebKitWebView - * @steps: the number of steps - * - * Loads the history item that is the number of @steps away from the current - * item. Negative values represent steps backward while positive values - * represent steps forward. - */ -void webkit_web_view_go_back_or_forward(WebKitWebView* webView, gint steps) -{ - g_return_if_fail(WEBKIT_IS_WEB_VIEW(webView)); - - Frame* frame = core(webView)->mainFrame(); - frame->loader()->goBackOrForward(steps); -} - -/** - * webkit_web_view_go_forward: - * @web_view: a #WebKitWebView - * - * Loads the next history item. - */ -void webkit_web_view_go_forward(WebKitWebView* webView) -{ - g_return_if_fail(WEBKIT_IS_WEB_VIEW(webView)); - - core(webView)->goForward(); -} - -/** - * webkit_web_view_can_go_back: - * @web_view: a #WebKitWebView - * - * Determines whether #web_view has a previous history item. - * - * Return value: %TRUE if able to move back, %FALSE otherwise - */ -gboolean webkit_web_view_can_go_back(WebKitWebView* webView) -{ - g_return_val_if_fail(WEBKIT_IS_WEB_VIEW(webView), FALSE); - - if (!core(webView) || !core(webView)->backForwardList()->backItem()) - return FALSE; - - return TRUE; -} - -/** - * webkit_web_view_can_go_back_or_forward: - * @web_view: a #WebKitWebView - * @steps: the number of steps - * - * Determines whether #web_view has a history item of @steps. Negative values - * represent steps backward while positive values represent steps forward. - * - * Return value: %TRUE if able to move back or forward the given number of - * steps, %FALSE otherwise - */ -gboolean webkit_web_view_can_go_back_or_forward(WebKitWebView* webView, gint steps) -{ - g_return_val_if_fail(WEBKIT_IS_WEB_VIEW(webView), FALSE); - - Frame* frame = core(webView)->mainFrame(); - return frame->loader()->canGoBackOrForward(steps); -} - -/** - * webkit_web_view_can_go_forward: - * @web_view: a #WebKitWebView - * - * Determines whether #web_view has a next history item. - * - * Return value: %TRUE if able to move forward, %FALSE otherwise - */ -gboolean webkit_web_view_can_go_forward(WebKitWebView* webView) -{ - g_return_val_if_fail(WEBKIT_IS_WEB_VIEW(webView), FALSE); - - Page* page = core(webView); - - if (!page) - return FALSE; - - if (!page->backForwardList()->forwardItem()) - return FALSE; - - return TRUE; -} - -void webkit_web_view_open(WebKitWebView* webView, const gchar* uri) -{ - g_return_if_fail(WEBKIT_IS_WEB_VIEW(webView)); - g_return_if_fail(uri); - - Frame* frame = core(webView)->mainFrame(); - frame->loader()->load(ResourceRequest(KURL(String::fromUTF8(uri)))); -} - -void webkit_web_view_reload(WebKitWebView* webView) -{ - g_return_if_fail(WEBKIT_IS_WEB_VIEW(webView)); - - core(webView)->mainFrame()->loader()->reload(); -} - -void webkit_web_view_load_string(WebKitWebView* webView, const gchar* content, const gchar* contentMimeType, const gchar* contentEncoding, const gchar* baseUri) -{ - g_return_if_fail(WEBKIT_IS_WEB_VIEW(webView)); - g_return_if_fail(content); - - Frame* frame = core(webView)->mainFrame(); - - KURL url(baseUri ? String::fromUTF8(baseUri) : ""); - RefPtr sharedBuffer = SharedBuffer::create(content, strlen(content)); - SubstituteData substituteData(sharedBuffer.release(), contentMimeType ? String(contentMimeType) : "text/html", contentEncoding ? String(contentEncoding) : "UTF-8", KURL("about:blank"), url); - - frame->loader()->load(ResourceRequest(url), substituteData); -} - -void webkit_web_view_load_html_string(WebKitWebView* webView, const gchar* content, const gchar* baseUri) -{ - g_return_if_fail(WEBKIT_IS_WEB_VIEW(webView)); - g_return_if_fail(content); - - webkit_web_view_load_string(webView, content, NULL, NULL, baseUri); -} - -void webkit_web_view_stop_loading(WebKitWebView* webView) -{ - g_return_if_fail(WEBKIT_IS_WEB_VIEW(webView)); - - Frame* frame = core(webView)->mainFrame(); - - if (FrameLoader* loader = frame->loader()) - loader->stopAllLoaders(); -} - -/** - * webkit_web_view_search_text: - * @web_view: a #WebKitWebView - * @text: a string to look for - * @forward: whether to find forward or not - * @case_sensitive: whether to respect the case of text - * @wrap: whether to continue looking at the beginning after reaching the end - * - * Looks for a specified string inside #web_view. - * - * Return value: %TRUE on success or %FALSE on failure - */ -gboolean webkit_web_view_search_text(WebKitWebView* webView, const gchar* string, gboolean caseSensitive, gboolean forward, gboolean shouldWrap) -{ - g_return_val_if_fail(WEBKIT_IS_WEB_VIEW(webView), FALSE); - g_return_val_if_fail(string, FALSE); - - TextCaseSensitivity caseSensitivity = caseSensitive ? TextCaseSensitive : TextCaseInsensitive; - FindDirection direction = forward ? FindDirectionForward : FindDirectionBackward; - - return core(webView)->findString(String::fromUTF8(string), caseSensitivity, direction, shouldWrap); -} - -/** - * webkit_web_view_mark_text_matches: - * @web_view: a #WebKitWebView - * @string: a string to look for - * @case_sensitive: whether to respect the case of text - * @limit: the maximum number of strings to look for or %0 for all - * - * Attempts to highlight all occurances of #string inside #web_view. - * - * Return value: the number of strings highlighted - */ -guint webkit_web_view_mark_text_matches(WebKitWebView* webView, const gchar* string, gboolean caseSensitive, guint limit) -{ - g_return_val_if_fail(WEBKIT_IS_WEB_VIEW(webView), 0); - g_return_val_if_fail(string, 0); - - TextCaseSensitivity caseSensitivity = caseSensitive ? TextCaseSensitive : TextCaseInsensitive; - - return core(webView)->markAllMatchesForText(String::fromUTF8(string), caseSensitivity, false, limit); -} - -/** - * webkit_web_view_set_highlight_text_matches: - * @web_view: a #WebKitWebView - * @highlight: whether to highlight text matches - * - * Highlights text matches previously marked by webkit_web_view_mark_text_matches. - */ -void webkit_web_view_set_highlight_text_matches(WebKitWebView* webView, gboolean shouldHighlight) -{ - g_return_if_fail(WEBKIT_IS_WEB_VIEW(webView)); - - core(webView)->mainFrame()->setMarkedTextMatchesAreHighlighted(shouldHighlight); -} - -/** - * webkit_web_view_unmark_text_matches: - * @web_view: a #WebKitWebView - * - * Removes highlighting previously set by webkit_web_view_mark_text_matches. - */ -void webkit_web_view_unmark_text_matches(WebKitWebView* webView) -{ - g_return_if_fail(WEBKIT_IS_WEB_VIEW(webView)); - - return core(webView)->unmarkAllTextMatches(); -} - -WebKitWebFrame* webkit_web_view_get_main_frame(WebKitWebView* webView) -{ - g_return_val_if_fail(WEBKIT_IS_WEB_VIEW(webView), NULL); - - WebKitWebViewPrivate* priv = webView->priv; - return priv->mainFrame; -} - -/** - * webkit_web_view_get_focused_frame: - * @web_view: a #WebKitWebView - * - * Returns the frame that has focus or an active text selection. - * - * Return value: The focused #WebKitWebFrame or %NULL if no frame is focused - */ -WebKitWebFrame* webkit_web_view_get_focused_frame(WebKitWebView* webView) -{ - g_return_val_if_fail(WEBKIT_IS_WEB_VIEW(webView), NULL); - - Frame* focusedFrame = core(webView)->focusController()->focusedFrame(); - return kit(focusedFrame); -} - -void webkit_web_view_execute_script(WebKitWebView* webView, const gchar* script) -{ - g_return_if_fail(WEBKIT_IS_WEB_VIEW(webView)); - g_return_if_fail(script); - - if (FrameLoader* loader = core(webView)->mainFrame()->loader()) - loader->executeScript(String::fromUTF8(script), true); -} - -/** - * webkit_web_view_cut_clipboard: - * @web_view: a #WebKitWebView - * - * Determines whether or not it is currently possible to cut to the clipboard. - * - * Return value: %TRUE if a selection can be cut, %FALSE if not - */ -gboolean webkit_web_view_can_cut_clipboard(WebKitWebView* webView) -{ - g_return_val_if_fail(WEBKIT_IS_WEB_VIEW(webView), FALSE); - - Frame* frame = core(webView)->focusController()->focusedOrMainFrame(); - return frame->editor()->canCut() || frame->editor()->canDHTMLCut(); -} - -/** - * webkit_web_view_copy_clipboard: - * @web_view: a #WebKitWebView - * - * Determines whether or not it is currently possible to copy to the clipboard. - * - * Return value: %TRUE if a selection can be copied, %FALSE if not - */ -gboolean webkit_web_view_can_copy_clipboard(WebKitWebView* webView) -{ - g_return_val_if_fail(WEBKIT_IS_WEB_VIEW(webView), FALSE); - - Frame* frame = core(webView)->focusController()->focusedOrMainFrame(); - return frame->editor()->canCopy() || frame->editor()->canDHTMLCopy(); -} - -/** - * webkit_web_view_paste_clipboard: - * @web_view: a #WebKitWebView - * - * Determines whether or not it is currently possible to paste from the clipboard. - * - * Return value: %TRUE if a selection can be pasted, %FALSE if not - */ -gboolean webkit_web_view_can_paste_clipboard(WebKitWebView* webView) -{ - g_return_val_if_fail(WEBKIT_IS_WEB_VIEW(webView), FALSE); - - Frame* frame = core(webView)->focusController()->focusedOrMainFrame(); - return frame->editor()->canPaste() || frame->editor()->canDHTMLPaste(); -} - -/** - * webkit_web_view_cut_clipboard: - * @web_view: a #WebKitWebView - * - * Cuts the current selection inside the @web_view to the clipboard. - */ -void webkit_web_view_cut_clipboard(WebKitWebView* webView) -{ - g_return_if_fail(WEBKIT_IS_WEB_VIEW(webView)); - - if (webkit_web_view_can_cut_clipboard(webView)) - g_signal_emit(webView, webkit_web_view_signals[CUT_CLIPBOARD], 0); -} - -/** - * webkit_web_view_copy_clipboard: - * @web_view: a #WebKitWebView - * - * Copies the current selection inside the @web_view to the clipboard. - */ -void webkit_web_view_copy_clipboard(WebKitWebView* webView) -{ - g_return_if_fail(WEBKIT_IS_WEB_VIEW(webView)); - - if (webkit_web_view_can_copy_clipboard(webView)) - g_signal_emit(webView, webkit_web_view_signals[COPY_CLIPBOARD], 0); -} - -/** - * webkit_web_view_paste_clipboard: - * @web_view: a #WebKitWebView - * - * Pastes the current contents of the clipboard to the @web_view. - */ -void webkit_web_view_paste_clipboard(WebKitWebView* webView) -{ - g_return_if_fail(WEBKIT_IS_WEB_VIEW(webView)); - - if (webkit_web_view_can_paste_clipboard(webView)) - g_signal_emit(webView, webkit_web_view_signals[PASTE_CLIPBOARD], 0); -} - -/** - * webkit_web_view_delete_selection: - * @web_view: a #WebKitWebView - * - * Deletes the current selection inside the @web_view. - */ -void webkit_web_view_delete_selection(WebKitWebView* webView) -{ - g_return_if_fail(WEBKIT_IS_WEB_VIEW(webView)); - - Frame* frame = core(webView)->focusController()->focusedOrMainFrame(); - frame->editor()->performDelete(); -} - -/** - * webkit_web_view_has_selection: - * @web_view: a #WebKitWebView - * - * Determines whether text was selected. - * - * Return value: %TRUE if there is selected text, %FALSE if not - */ -gboolean webkit_web_view_has_selection(WebKitWebView* webView) -{ - g_return_val_if_fail(WEBKIT_IS_WEB_VIEW(webView), FALSE); - - return !core(webView)->selection().isNone(); -} - -/** - * webkit_web_view_get_selected_text: - * @web_view: a #WebKitWebView - * - * Retrieves the selected text if any. - * - * Return value: a newly allocated string with the selection or %NULL - */ -gchar* webkit_web_view_get_selected_text(WebKitWebView* webView) -{ - g_return_val_if_fail(WEBKIT_IS_WEB_VIEW(webView), 0); - - Frame* frame = core(webView)->focusController()->focusedOrMainFrame(); - return g_strdup(frame->selectedText().utf8().data()); -} - -/** - * webkit_web_view_select_all: - * @web_view: a #WebKitWebView - * - * Attempts to select everything inside the @web_view. - */ -void webkit_web_view_select_all(WebKitWebView* webView) -{ - g_return_if_fail(WEBKIT_IS_WEB_VIEW(webView)); - - g_signal_emit(webView, webkit_web_view_signals[SELECT_ALL], 0); -} - -/** - * webkit_web_view_get_editable: - * @web_view: a #WebKitWebView - * - * Returns whether the user is allowed to edit the document. - * - * Returns %TRUE if @web_view allows the user to edit the HTML document, %FALSE if - * it doesn't. You can change @web_view's document programmatically regardless of - * this setting. - * - * Return value: a #gboolean indicating the editable state - */ -gboolean webkit_web_view_get_editable(WebKitWebView* webView) -{ - g_return_val_if_fail(WEBKIT_IS_WEB_VIEW(webView), FALSE); - - WebKitWebViewPrivate* priv = webView->priv; - - return priv->editable; -} - -/** - * webkit_web_view_set_editable: - * @web_view: a #WebKitWebView - * @flag: a #gboolean indicating the editable state - * - * Sets whether @web_view allows the user to edit its HTML document. - * - * If @flag is %TRUE, @web_view allows the user to edit the document. If @flag is - * %FALSE, an element in @web_view's document can only be edited if the - * CONTENTEDITABLE attribute has been set on the element or one of its parent - * elements. You can change @web_view's document programmatically regardless of - * this setting. By default a #WebKitWebView is not editable. - - * Normally, an HTML document is not editable unless the elements within the - * document are editable. This function provides a low-level way to make the - * contents of a #WebKitWebView editable without altering the document or DOM - * structure. - */ -void webkit_web_view_set_editable(WebKitWebView* webView, gboolean flag) -{ - g_return_if_fail(WEBKIT_IS_WEB_VIEW(webView)); - - WebKitWebViewPrivate* priv = webView->priv; - - Frame* frame = core(webView)->mainFrame(); - g_return_if_fail(frame); - - // TODO: What happens when the frame is replaced? - flag = flag != FALSE; - if (flag == priv->editable) - return; - - priv->editable = flag; - - if (flag) { - frame->applyEditingStyleToBodyElement(); - // TODO: If the WebKitWebView is made editable and the selection is empty, set it to something. - //if (!webkit_web_view_get_selected_dom_range(webView)) - // mainFrame->setSelectionFromNone(); - } else - frame->removeEditingStyleFromBodyElement(); - g_object_notify(G_OBJECT(webView), "editable"); -} - -/** - * webkit_web_view_get_copy_target_list: - * @web_view: a #WebKitWebView - * - * This function returns the list of targets this #WebKitWebView can - * provide for clipboard copying and as DND source. The targets in the list are - * added with %info values from the #WebKitWebViewTargetInfo enum, - * using gtk_target_list_add() and - * gtk_target_list_add_text_targets(). - * - * Return value: the #GtkTargetList - **/ -GtkTargetList* webkit_web_view_get_copy_target_list(WebKitWebView* webView) -{ - g_return_val_if_fail(WEBKIT_IS_WEB_VIEW(webView), NULL); - - WebKitWebViewPrivate* priv = webView->priv; - return priv->copy_target_list; -} - -/** - * webkit_web_view_get_paste_target_list: - * @web_view: a #WebKitWebView - * - * This function returns the list of targets this #WebKitWebView can - * provide for clipboard pasting and as DND destination. The targets in the list are - * added with %info values from the #WebKitWebViewTargetInfo enum, - * using gtk_target_list_add() and - * gtk_target_list_add_text_targets(). - * - * Return value: the #GtkTargetList - **/ -GtkTargetList* webkit_web_view_get_paste_target_list(WebKitWebView* webView) -{ - g_return_val_if_fail(WEBKIT_IS_WEB_VIEW(webView), NULL); - - WebKitWebViewPrivate* priv = webView->priv; - return priv->paste_target_list; -} - -/** - * webkit_web_view_get_transparent: - * @web_view: a #WebKitWebView - * - * Returns whether the #WebKitWebView has a transparent background. - * - * Return value: %FALSE when the #WebKitWebView draws a solid background - * (the default), otherwise %TRUE. - */ -gboolean webkit_web_view_get_transparent(WebKitWebView* webView) -{ - g_return_val_if_fail(WEBKIT_IS_WEB_VIEW(webView), FALSE); - - WebKitWebViewPrivate* priv = webView->priv; - return priv->transparent; -} - -/** - * webkit_web_view_set_transparent: - * @web_view: a #WebKitWebView - * - * Sets whether the #WebKitWebView has a transparent background. - * - * Pass %FALSE to have the #WebKitWebView draw a solid background - * (the default), otherwise %TRUE. - */ -void webkit_web_view_set_transparent(WebKitWebView* webView, gboolean flag) -{ - g_return_if_fail(WEBKIT_IS_WEB_VIEW(webView)); - - WebKitWebViewPrivate* priv = webView->priv; - priv->transparent = flag; - - // TODO: This needs to be made persistent or it could become a problem when - // the main frame is replaced. - Frame* frame = core(webView)->mainFrame(); - g_return_if_fail(frame); - frame->view()->setTransparent(flag); - g_object_notify(G_OBJECT(webView), "transparent"); -} - -/** - * webkit_web_view_get_zoom_level: - * @web_view: a #WebKitWebView - * - * Returns the zoom level of @web_view, i.e. the factor by which elements in - * the page are scaled with respect to their original size. - * If the "full-content-zoom" property is set to %FALSE (the default) - * the zoom level changes the text size, or if %TRUE, scales all - * elements in the page. - * - * Return value: the zoom level of @web_view - * - * Since: 1.0.1 - */ -gfloat webkit_web_view_get_zoom_level(WebKitWebView* webView) -{ - g_return_val_if_fail(WEBKIT_IS_WEB_VIEW(webView), 1.0f); - - Frame* frame = core(webView)->mainFrame(); - if (!frame) - return 1.0f; - - return frame->zoomFactor(); -} - -static void webkit_web_view_apply_zoom_level(WebKitWebView* webView, gfloat zoomLevel) -{ - Frame* frame = core(webView)->mainFrame(); - if (!frame) - return; - - WebKitWebViewPrivate* priv = webView->priv; - frame->setZoomFactor(zoomLevel, !priv->zoomFullContent); -} - -/** - * webkit_web_view_set_zoom_level: - * @web_view: a #WebKitWebView - * @zoom_level: the new zoom level - * - * Sets the zoom level of @web_view, i.e. the factor by which elements in - * the page are scaled with respect to their original size. - * If the "full-content-zoom" property is set to %FALSE (the default) - * the zoom level changes the text size, or if %TRUE, scales all - * elements in the page. - * - * Since: 1.0.1 - */ -void webkit_web_view_set_zoom_level(WebKitWebView* webView, gfloat zoomLevel) -{ - g_return_if_fail(WEBKIT_IS_WEB_VIEW(webView)); - - webkit_web_view_apply_zoom_level(webView, zoomLevel); - g_object_notify(G_OBJECT(webView), "zoom-level"); -} - -/** - * webkit_web_view_zoom_in: - * @web_view: a #WebKitWebView - * - * Increases the zoom level of @web_view. The current zoom - * level is incremented by the value of the "zoom-step" - * property of the #WebKitWebSettings associated with @web_view. - * - * Since: 1.0.1 - */ -void webkit_web_view_zoom_in(WebKitWebView* webView) -{ - g_return_if_fail(WEBKIT_IS_WEB_VIEW(webView)); - - WebKitWebViewPrivate* priv = webView->priv; - gfloat zoomMultiplierRatio; - g_object_get(priv->webSettings, "zoom-step", &zoomMultiplierRatio, NULL); - - webkit_web_view_set_zoom_level(webView, webkit_web_view_get_zoom_level(webView) + zoomMultiplierRatio); -} - -/** - * webkit_web_view_zoom_out: - * @web_view: a #WebKitWebView - * - * Decreases the zoom level of @web_view. The current zoom - * level is decremented by the value of the "zoom-step" - * property of the #WebKitWebSettings associated with @web_view. - * - * Since: 1.0.1 - */ -void webkit_web_view_zoom_out(WebKitWebView* webView) -{ - g_return_if_fail(WEBKIT_IS_WEB_VIEW(webView)); - - WebKitWebViewPrivate* priv = webView->priv; - gfloat zoomMultiplierRatio; - g_object_get(priv->webSettings, "zoom-step", &zoomMultiplierRatio, NULL); - - webkit_web_view_set_zoom_level(webView, webkit_web_view_get_zoom_level(webView) - zoomMultiplierRatio); -} - -/** - * webkit_web_view_get_full_content_zoom: - * @web_view: a #WebKitWebView - * - * Returns whether the zoom level affects only text or all elements. - * - * Return value: %FALSE if only text should be scaled (the default), - * %TRUE if the full content of the view should be scaled. - * - * Since: 1.0.1 - */ -gboolean webkit_web_view_get_full_content_zoom(WebKitWebView* webView) -{ - g_return_val_if_fail(WEBKIT_IS_WEB_VIEW(webView), FALSE); - - WebKitWebViewPrivate* priv = webView->priv; - return priv->zoomFullContent; -} - -/** - * webkit_web_view_set_full_content_zoom: - * @web_view: a #WebKitWebView - * @full_content_zoom: %FALSE if only text should be scaled (the default), - * %TRUE if the full content of the view should be scaled. - * - * Sets whether the zoom level affects only text or all elements. - * - * Since: 1.0.1 - */ -void webkit_web_view_set_full_content_zoom(WebKitWebView* webView, gboolean zoomFullContent) -{ - g_return_if_fail(WEBKIT_IS_WEB_VIEW(webView)); - - WebKitWebViewPrivate* priv = webView->priv; - if (priv->zoomFullContent == zoomFullContent) - return; - - priv->zoomFullContent = zoomFullContent; - webkit_web_view_apply_zoom_level(webView, webkit_web_view_get_zoom_level(webView)); - - g_object_notify(G_OBJECT(webView), "full-content-zoom"); -} - -} diff --git a/WebKit/gtk/webkit/webkitwebview.h b/WebKit/gtk/webkit/webkitwebview.h deleted file mode 100644 index 7371959..0000000 --- a/WebKit/gtk/webkit/webkitwebview.h +++ /dev/null @@ -1,282 +0,0 @@ -/* - * Copyright (C) 2007 Holger Hans Peter Freyther - * Copyright (C) 2007, 2008 Alp Toker - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public License - * along with this library; see the file COPYING.LIB. If not, write to - * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - * Boston, MA 02110-1301, USA. - */ - -#ifndef WEBKIT_WEB_VIEW_H -#define WEBKIT_WEB_VIEW_H - -#include -#include - -#include -#include -#include -#include - -G_BEGIN_DECLS - -#define WEBKIT_TYPE_WEB_VIEW (webkit_web_view_get_type()) -#define WEBKIT_WEB_VIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), WEBKIT_TYPE_WEB_VIEW, WebKitWebView)) -#define WEBKIT_WEB_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), WEBKIT_TYPE_WEB_VIEW, WebKitWebViewClass)) -#define WEBKIT_IS_WEB_VIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), WEBKIT_TYPE_WEB_VIEW)) -#define WEBKIT_IS_WEB_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), WEBKIT_TYPE_WEB_VIEW)) -#define WEBKIT_WEB_VIEW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), WEBKIT_TYPE_WEB_VIEW, WebKitWebViewClass)) - -typedef struct _WebKitWebViewPrivate WebKitWebViewPrivate; - -typedef enum { - WEBKIT_NAVIGATION_RESPONSE_ACCEPT, - WEBKIT_NAVIGATION_RESPONSE_IGNORE, - WEBKIT_NAVIGATION_RESPONSE_DOWNLOAD -} WebKitNavigationResponse; - -typedef enum -{ - WEBKIT_WEB_VIEW_TARGET_INFO_HTML = - 1, - WEBKIT_WEB_VIEW_TARGET_INFO_TEXT = - 2 -} WebKitWebViewTargetInfo; - -struct _WebKitWebView { - GtkContainer parent_instance; - - WebKitWebViewPrivate *priv; -}; - -struct _WebKitWebViewClass { - GtkContainerClass parent_class; - - /* - * default handler/virtual methods - * DISCUSS: create_web_view needs a request and should we make this a signal with default handler? this would - * require someone doing a g_signal_stop_emission_by_name - * WebUIDelegate has nothing for create_frame, WebPolicyDelegate as well... - */ - WebKitWebView * (* create_web_view) (WebKitWebView* web_view); - - /* - * TODO: FIXME: Create something like WebPolicyDecisionListener_Protocol instead - */ - WebKitNavigationResponse (* navigation_requested) (WebKitWebView *web_view, - WebKitWebFrame *frame, - WebKitNetworkRequest *request); - void (* window_object_cleared) (WebKitWebView *web_view, - WebKitWebFrame *frame, - JSGlobalContextRef context, - JSObjectRef window_object); - gchar * (* choose_file) (WebKitWebView *web_view, - WebKitWebFrame *frame, - const gchar *old_file); - gboolean (* script_alert) (WebKitWebView *web_view, - WebKitWebFrame *frame, - const gchar *alert_message); - gboolean (* script_confirm) (WebKitWebView *web_view, - WebKitWebFrame *frame, - const gchar *confirm_message, - gboolean *did_confirm); - gboolean (* script_prompt) (WebKitWebView *web_view, - WebKitWebFrame *frame, - const gchar *message, - const gchar *default_value, - gchar* *value); - gboolean (* console_message) (WebKitWebView *web_view, - const gchar *message, - guint line_number, - const gchar* source_id); - void (* select_all) (WebKitWebView *web_view); - void (* cut_clipboard) (WebKitWebView *web_view); - void (* copy_clipboard) (WebKitWebView *web_view); - void (* paste_clipboard) (WebKitWebView *web_view); - - /* - * internal - */ - void (* set_scroll_adjustments) (WebKitWebView *web_view, - GtkAdjustment *hadjustment, - GtkAdjustment *vadjustment); -}; - -WEBKIT_API GType -webkit_web_view_get_type (void); - -WEBKIT_API GtkWidget * -webkit_web_view_new (void); - -WEBKIT_API void -webkit_web_view_set_maintains_back_forward_list (WebKitWebView *web_view, - gboolean flag); - -WEBKIT_API WebKitWebBackForwardList * -webkit_web_view_get_back_forward_list (WebKitWebView *web_view); - -WEBKIT_API gboolean -webkit_web_view_go_to_back_forward_item (WebKitWebView *web_view, - WebKitWebHistoryItem *item); - -WEBKIT_API gboolean -webkit_web_view_can_go_back (WebKitWebView *web_view); - -WEBKIT_API gboolean -webkit_web_view_can_go_back_or_forward (WebKitWebView *web_view, - gint steps); - -WEBKIT_API gboolean -webkit_web_view_can_go_forward (WebKitWebView *web_view); - -WEBKIT_API void -webkit_web_view_go_back (WebKitWebView *web_view); - -WEBKIT_API void -webkit_web_view_go_back_or_forward (WebKitWebView *web_view, - gint steps); - -WEBKIT_API void -webkit_web_view_go_forward (WebKitWebView *web_view); - -WEBKIT_API void -webkit_web_view_stop_loading (WebKitWebView *web_view); - -WEBKIT_API void -webkit_web_view_open (WebKitWebView *web_view, - const gchar *uri); - -WEBKIT_API void -webkit_web_view_reload (WebKitWebView *web_view); - -WEBKIT_API void -webkit_web_view_load_string (WebKitWebView *web_view, - const gchar *content, - const gchar *content_mime_type, - const gchar *content_encoding, - const gchar *base_uri); - -WEBKIT_API void -webkit_web_view_load_html_string (WebKitWebView *web_view, - const gchar *content, - const gchar *base_uri); - -WEBKIT_API gboolean -webkit_web_view_search_text (WebKitWebView *web_view, - const gchar *string, - gboolean case_sensitive, - gboolean forward, - gboolean wrap); - -WEBKIT_API guint -webkit_web_view_mark_text_matches (WebKitWebView *web_view, - const gchar *string, - gboolean case_sensitive, - guint limit); - -WEBKIT_API void -webkit_web_view_set_highlight_text_matches (WebKitWebView *web_view, - gboolean highlight); - -WEBKIT_API void -webkit_web_view_unmark_text_matches (WebKitWebView *web_view); - -WEBKIT_API WebKitWebFrame * -webkit_web_view_get_main_frame (WebKitWebView *web_view); - -WEBKIT_API WebKitWebFrame * -webkit_web_view_get_focused_frame (WebKitWebView *web_view); - -WEBKIT_API void -webkit_web_view_execute_script (WebKitWebView *web_view, - const gchar *script); - -WEBKIT_API gboolean -webkit_web_view_can_cut_clipboard (WebKitWebView *web_view); - -WEBKIT_API gboolean -webkit_web_view_can_copy_clipboard (WebKitWebView *web_view); - -WEBKIT_API gboolean -webkit_web_view_can_paste_clipboard (WebKitWebView *web_view); - -WEBKIT_API void -webkit_web_view_cut_clipboard (WebKitWebView *web_view); - -WEBKIT_API void -webkit_web_view_copy_clipboard (WebKitWebView *web_view); - -WEBKIT_API void -webkit_web_view_paste_clipboard (WebKitWebView *web_view); - -WEBKIT_API void -webkit_web_view_delete_selection (WebKitWebView *web_view); - -WEBKIT_API gboolean -webkit_web_view_has_selection (WebKitWebView *web_view); - -WEBKIT_API void -webkit_web_view_select_all (WebKitWebView *web_view); - -WEBKIT_API gboolean -webkit_web_view_get_editable (WebKitWebView *web_view); - -WEBKIT_API void -webkit_web_view_set_editable (WebKitWebView *web_view, - gboolean flag); - -WEBKIT_API GtkTargetList * -webkit_web_view_get_copy_target_list (WebKitWebView *web_view); - -WEBKIT_API GtkTargetList * -webkit_web_view_get_paste_target_list (WebKitWebView *web_view); - -WEBKIT_API void -webkit_web_view_set_settings (WebKitWebView *web_view, - WebKitWebSettings *settings); - -WEBKIT_API WebKitWebSettings * -webkit_web_view_get_settings (WebKitWebView *web_view); - -WEBKIT_API WebKitWebInspector * -webkit_web_view_get_inspector (WebKitWebView *web_view); - -WEBKIT_API gboolean -webkit_web_view_get_transparent (WebKitWebView *web_view); - -WEBKIT_API void -webkit_web_view_set_transparent (WebKitWebView *web_view, - gboolean flag); - -WEBKIT_API gfloat -webkit_web_view_get_zoom_level (WebKitWebView *web_view); - -WEBKIT_API void -webkit_web_view_set_zoom_level (WebKitWebView *web_view, - gfloat zoom_level); - -WEBKIT_API void -webkit_web_view_zoom_in (WebKitWebView *web_view); - -WEBKIT_API void -webkit_web_view_zoom_out (WebKitWebView *web_view); - -WEBKIT_API gboolean -webkit_web_view_get_full_content_zoom (WebKitWebView *web_view); - -WEBKIT_API void -webkit_web_view_set_full_content_zoom (WebKitWebView *web_view, - gboolean full_content_zoom); - -G_END_DECLS - -#endif -- cgit v1.1