Changeset 37982 in webkit
- Timestamp:
- Oct 29, 2008 3:39:18 PM (15 years ago)
- Location:
- trunk
- Files:
-
- 2 added
- 13 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/ChangeLog
r37977 r37982 1 2008-10-29 Gustavo Noronha Silva <gns@gnome.org> 2 3 Reviewed by Holger Freyther. 4 5 Added all the files that need to be installed for the Inspector to 6 work. 7 1 8 2008-10-29 Mike Hommey <glandium@debian.org> 2 9 -
trunk/GNUmakefile.am
r37977 r37982 310 310 WebKit/gtk/webkit/webkitwebframe.h \ 311 311 WebKit/gtk/webkit/webkitwebhistoryitem.h \ 312 WebKit/gtk/webkit/webkitwebinspector.h \ 312 313 WebKit/gtk/webkit/webkitwebsettings.h \ 313 314 WebKit/gtk/webkit/webkitwebview.h … … 341 342 WebKit/gtk/webkit/webkitwebframe.cpp \ 342 343 WebKit/gtk/webkit/webkitwebhistoryitem.cpp \ 344 WebKit/gtk/webkit/webkitwebinspector.cpp \ 343 345 WebKit/gtk/webkit/webkitwebsettings.cpp \ 344 346 WebKit/gtk/webkit/webkitwebview.cpp -
trunk/WebCore/ChangeLog
r37980 r37982 1 2008-10-29 Gustavo Noronha Silva <gns@gnome.org> 2 3 Reviewed and slightly changed by Holger Freyther. 4 5 Added all the files that need to be installed for the Inspector to 6 work. 7 8 * GNUmakefile.am: Invoke the shell to get the files. 9 1 10 2008-10-29 Andrew Scherkus <scherkus@chromium.org> 2 11 -
trunk/WebCore/GNUmakefile.am
r37966 r37982 2955 2955 WebCore/xml/XPathGrammar.y 2956 2956 2957 # Installing web inspector files 2958 webcore_cppflags += -DDATA_DIR=\"${datadir}\" 2959 2960 webinspectordir = ${datadir}/webkit-1.0/webinspector 2961 dist_webinspector_DATA = \ 2962 $(shell ls $(WebCore)/inspector/front-end/*.{js,html,css}) 2963 2964 webinspectorimagesdir = ${datadir}/webkit-1.0/webinspector/Images 2965 dist_webinspectorimages_DATA = \ 2966 $(shell ls $(WebCore)/inspector/front-end/Images/*.png) 2967 2957 2968 # Clean rules for WebCore 2958 2969 -
trunk/WebKit/gtk/ChangeLog
r37903 r37982 1 2008-10-29 Gustavo Noronha Silva <gns@gnome.org> 2 3 Reviewed and slightly changed by Holger Freyther. 4 5 Implemented a new WebKitWebInspector class to provide a GObject 6 API for the Web Inspector. Also implemented InspectorClient. 7 8 * WebCoreSupport/InspectorClientGtk.cpp: 9 (WebKit::notifyWebViewDestroyed): 10 (WebKit::InspectorClient::InspectorClient): 11 (WebKit::InspectorClient::inspectorDestroyed): 12 (WebKit::InspectorClient::webViewDestroyed): 13 (WebKit::InspectorClient::createPage): 14 (WebKit::InspectorClient::showWindow): 15 (WebKit::InspectorClient::closeWindow): 16 (WebKit::InspectorClient::attachWindow): 17 (WebKit::InspectorClient::detachWindow): 18 (WebKit::InspectorClient::inspectedURLChanged): 19 * WebCoreSupport/InspectorClientGtk.h: 20 * webkit/webkit.h: 21 * webkit/webkit-marshal.list: 22 * webkit/webkitdefines.h: 23 * webkit/webkitprivate.h: 24 * webkit/webkitwebinspector.cpp: Added. 25 (_WebKitWebInspectorPrivate::webkit_inspect_web_view_request_handled): 26 (_WebKitWebInspectorPrivate::webkit_web_inspector_class_init): 27 (_WebKitWebInspectorPrivate::webkit_web_inspector_init): 28 (_WebKitWebInspectorPrivate::webkit_web_inspector_finalize): 29 (_WebKitWebInspectorPrivate::webkit_web_inspector_set_property): 30 (_WebKitWebInspectorPrivate::webkit_web_inspector_get_property): 31 (_WebKitWebInspectorPrivate::webkit_web_inspector_set_web_view): 32 * webkit/webkitwebinspector.h: Added. 33 * webkit/webkitwebsettings.cpp: 34 (_WebKitWebSettingsPrivate::): 35 (_WebKitWebSettingsPrivate::webkit_web_settings_class_init): 36 (_WebKitWebSettingsPrivate::webkit_web_settings_set_property): 37 (_WebKitWebSettingsPrivate::webkit_web_settings_get_property): 38 (_WebKitWebSettingsPrivate::webkit_web_settings_copy): 39 * webkit/webkitwebview.cpp: 40 * webkit/webkitwebview.h: 41 1 42 2008-10-27 Michael Tross <michael@tross.org> 2 43 -
trunk/WebKit/gtk/WebCoreSupport/InspectorClientGtk.cpp
r37848 r37982 1 1 /* 2 * Copyright (C) 2008 Gustavo Noronha Silva 3 * 2 4 * This library is free software; you can redistribute it and/or 3 5 * modify it under the terms of the GNU Lesser General Public … … 18 20 #include "InspectorClientGtk.h" 19 21 22 #include "webkitwebview.h" 23 #include "webkitwebinspector.h" 24 #include "webkitprivate.h" 25 #include "CString.h" 26 #include "InspectorController.h" 20 27 #include "NotImplemented.h" 21 28 #include "PlatformString.h" … … 25 32 namespace WebKit { 26 33 34 static void notifyWebViewDestroyed(WebKitWebView* webView, InspectorClient* inspectorClient) 35 { 36 inspectorClient->webViewDestroyed(); 37 } 38 39 InspectorClient::InspectorClient(WebKitWebView* webView) 40 : m_webView(0) 41 , m_inspectedWebView(webView) 42 , m_webInspector(0) 43 {} 44 27 45 void InspectorClient::inspectorDestroyed() 28 46 { 47 if (m_webView) { 48 gboolean handled = FALSE; 49 g_signal_emit_by_name(m_webInspector, "destroy", &handled); 50 51 /* we can now dispose our own reference */ 52 g_object_unref(m_webInspector); 53 } 54 29 55 delete this; 56 } 57 58 void InspectorClient::webViewDestroyed() 59 { 60 m_webView = 0; 61 core(m_inspectedWebView)->inspectorController()->pageDestroyed(); 62 63 // createPage will be called again, if the user chooses to inspect 64 // something else, and the inspector will be referenced again, 65 // there. 66 g_object_unref(m_webInspector); 30 67 } 31 68 32 69 Page* InspectorClient::createPage() 33 70 { 34 notImplemented(); 35 return 0; 71 if (m_webView) 72 return core(m_webView); 73 74 // This g_object_get will ref the inspector. We're not doing an 75 // unref if this method succeeds because the inspector object must 76 // be alive even after the inspected WebView is destroyed - the 77 // close-window and destroy signals still need to be 78 // emitted. 79 WebKitWebInspector* webInspector; 80 g_object_get(G_OBJECT(m_inspectedWebView), "web-inspector", &webInspector, NULL); 81 m_webInspector = webInspector; 82 83 g_signal_emit_by_name(m_webInspector, "inspect-web-view", m_inspectedWebView, &m_webView); 84 85 if (!m_webView) { 86 g_object_unref(m_webInspector); 87 return 0; 88 } 89 90 webkit_web_inspector_set_web_view(m_webInspector, m_webView); 91 92 g_signal_connect(G_OBJECT(m_webView), "destroy", 93 G_CALLBACK(notifyWebViewDestroyed), (gpointer)this); 94 95 webkit_web_view_open(m_webView, "file://"DATA_DIR"/webkit-1.0/webinspector/inspector.html"); 96 gtk_widget_show(GTK_WIDGET(m_webView)); 97 98 return core(m_webView); 36 99 } 37 100 … … 44 107 void InspectorClient::showWindow() 45 108 { 46 notImplemented(); 109 if (!m_webView) 110 return; 111 112 gboolean handled = FALSE; 113 g_signal_emit_by_name(m_webInspector, "show-window", &handled); 114 115 core(m_inspectedWebView)->inspectorController()->setWindowVisible(true); 47 116 } 48 117 49 118 void InspectorClient::closeWindow() 50 119 { 51 notImplemented(); 120 if (!m_webView) 121 return; 122 123 gboolean handled = FALSE; 124 g_signal_emit_by_name(m_webInspector, "close-window", &handled); 125 126 core(m_inspectedWebView)->inspectorController()->setWindowVisible(false); 52 127 } 53 128 54 129 void InspectorClient::attachWindow() 55 130 { 56 notImplemented(); 131 if (!m_webView) 132 return; 133 134 gboolean handled = FALSE; 135 g_signal_emit_by_name(m_webInspector, "attach-window", &handled); 57 136 } 58 137 59 138 void InspectorClient::detachWindow() 60 139 { 61 notImplemented(); 140 if (!m_webView) 141 return; 142 143 gboolean handled = FALSE; 144 g_signal_emit_by_name(m_webInspector, "dettach-window", &handled); 62 145 } 63 146 … … 77 160 } 78 161 79 void InspectorClient::inspectedURLChanged(const String& )162 void InspectorClient::inspectedURLChanged(const String& newURL) 80 163 { 81 notImplemented(); 164 if (!m_webView) 165 return; 166 167 webkit_web_inspector_set_inspected_uri(m_webInspector, newURL.utf8().data()); 82 168 } 83 169 -
trunk/WebKit/gtk/WebCoreSupport/InspectorClientGtk.h
r37848 r37982 31 31 32 32 #include "InspectorClient.h" 33 #include "webkitwebview.h" 34 #include "webkitwebinspector.h" 33 35 34 36 namespace WebCore { … … 42 44 class InspectorClient : public WebCore::InspectorClient { 43 45 public: 46 InspectorClient(WebKitWebView* webView); 47 44 48 virtual void inspectorDestroyed(); 49 void webViewDestroyed(); 45 50 46 51 virtual WebCore::Page* createPage(); … … 63 68 virtual void storeSetting(const WebCore::String& key, const WebCore::InspectorController::Setting&); 64 69 virtual void removeSetting(const WebCore::String& key); 70 71 private: 72 WebKitWebView* m_webView; 73 WebKitWebView* m_inspectedWebView; 74 WebKitWebInspector* m_webInspector; 65 75 }; 66 76 } -
trunk/WebKit/gtk/webkit/webkit.h
r34649 r37982 26 26 #include <webkit/webkitwebframe.h> 27 27 #include <webkit/webkitwebsettings.h> 28 #include <webkit/webkitwebinspector.h> 28 29 #include <webkit/webkitwebview.h> 29 30 #include <webkit/webkitwebbackforwardlist.h> -
trunk/WebKit/gtk/webkit/webkitdefines.h
r31184 r37982 56 56 typedef struct _WebKitWebSettingsClass WebKitWebSettingsClass; 57 57 58 typedef struct _WebKitWebInspector WebKitWebInspector; 59 typedef struct _WebKitWebInspectorClass WebKitWebInspectorClass; 60 58 61 typedef struct _WebKitWebView WebKitWebView; 59 62 typedef struct _WebKitWebViewClass WebKitWebViewClass; -
trunk/WebKit/gtk/webkit/webkitprivate.h
r35816 r37982 38 38 #include "Page.h" 39 39 #include "Frame.h" 40 #include "InspectorClientGtk.h" 40 41 #include "FrameLoaderClient.h" 41 42 … … 68 69 WebCore::Page* corePage; 69 70 WebKitWebSettings* webSettings; 71 WebKitWebInspector* webInspector; 70 72 71 73 WebKitWebFrame* mainFrame; … … 111 113 webkit_web_history_item_new_with_core_item(WebCore::HistoryItem*); 112 114 115 void 116 webkit_web_inspector_set_inspector_client(WebKitWebInspector*, WebKit::InspectorClient*); 117 118 void 119 webkit_web_inspector_set_web_view(WebKitWebInspector *web_inspector, WebKitWebView *web_view); 120 121 void 122 webkit_web_inspector_set_inspected_uri(WebKitWebInspector* web_inspector, const gchar* inspected_uri); 123 113 124 // FIXME: Move these to webkitwebframe.h once their API has been discussed. 114 125 -
trunk/WebKit/gtk/webkit/webkitwebsettings.cpp
r34387 r37982 49 49 gchar* user_stylesheet_uri; 50 50 gfloat zoom_step; 51 gboolean enable_developer_extras; 51 52 }; 52 53 … … 74 75 PROP_RESIZABLE_TEXT_AREAS, 75 76 PROP_USER_STYLESHEET_URI, 76 PROP_ZOOM_STEP 77 PROP_ZOOM_STEP, 78 PROP_ENABLE_DEVELOPER_EXTRAS 77 79 }; 78 80 … … 267 269 "The value by which the zoom level is changed when zooming in or out.", 268 270 0.0f, G_MAXFLOAT, 0.1f, 271 flags)); 272 273 /** 274 * WebKitWebSettings:enable-developer-extras: 275 * 276 * Whether developer extensions should be enabled. This enables, 277 * for now, the Web Inspector, which can be controlled using the 278 * #WebKitWebInspector instance held by the #WebKitWebView this 279 * setting is enabled for. 280 * 281 * Since: 1.0.2 282 */ 283 g_object_class_install_property(gobject_class, 284 PROP_ENABLE_DEVELOPER_EXTRAS, 285 g_param_spec_boolean( 286 "enable-developer-extras", 287 "Enable Developer Extras", 288 "Enables special extensions that help developers", 289 FALSE, 269 290 flags)); 270 291 … … 365 386 priv->zoom_step = g_value_get_float(value); 366 387 break; 388 case PROP_ENABLE_DEVELOPER_EXTRAS: 389 priv->enable_developer_extras = g_value_get_boolean(value); 390 break; 367 391 default: 368 392 G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec); … … 433 457 case PROP_ZOOM_STEP: 434 458 g_value_set_float(value, priv->zoom_step); 459 break; 460 case PROP_ENABLE_DEVELOPER_EXTRAS: 461 g_value_set_boolean(value, priv->enable_developer_extras); 435 462 break; 436 463 default: … … 484 511 "user-stylesheet-uri", priv->user_stylesheet_uri, 485 512 "zoom-step", priv->zoom_step, 513 "enable-developer-extras", priv->enable_developer_extras, 486 514 NULL)); 487 515 -
trunk/WebKit/gtk/webkit/webkitwebview.cpp
r37903 r37982 28 28 #include "webkitmarshal.h" 29 29 #include "webkitprivate.h" 30 #include "webkitwebinspector.h" 30 31 #include "webkitwebbackforwardlist.h" 31 32 #include "webkitwebhistoryitem.h" … … 102 103 PROP_EDITABLE, 103 104 PROP_SETTINGS, 105 PROP_WEB_INSPECTOR, 104 106 PROP_TRANSPARENT, 105 107 PROP_ZOOM_LEVEL, … … 240 242 case PROP_SETTINGS: 241 243 g_value_set_object(value, webkit_web_view_get_settings(webView)); 244 break; 245 case PROP_WEB_INSPECTOR: 246 g_value_set_object(value, webkit_web_view_get_inspector(webView)); 242 247 break; 243 248 case PROP_TRANSPARENT: … … 764 769 g_signal_handlers_disconnect_by_func(priv->webSettings, (gpointer)webkit_web_view_settings_notify, webView); 765 770 g_object_unref(priv->webSettings); 771 g_object_unref(priv->webInspector); 766 772 g_object_unref(priv->mainFrame); 767 773 g_object_unref(priv->imContext); … … 1266 1272 WEBKIT_PARAM_READWRITE)); 1267 1273 1274 /** 1275 * WebKitWebView:web-inspector: 1276 * 1277 * The associated WebKitWebInspector instance. 1278 * 1279 * Since: 1.0.2 1280 */ 1281 g_object_class_install_property(objectClass, PROP_WEB_INSPECTOR, 1282 g_param_spec_object("web-inspector", 1283 "Web Inspector", 1284 "The associated WebKitWebInspector instance", 1285 WEBKIT_TYPE_WEB_INSPECTOR, 1286 WEBKIT_PARAM_READABLE)); 1287 1268 1288 g_object_class_install_property(objectClass, PROP_EDITABLE, 1269 1289 g_param_spec_boolean("editable", … … 1352 1372 1353 1373 gchar* defaultEncoding, *cursiveFontFamily, *defaultFontFamily, *fantasyFontFamily, *monospaceFontFamily, *sansSerifFontFamily, *serifFontFamily, *userStylesheetUri; 1354 gboolean autoLoadImages, autoShrinkImages, printBackgrounds, enableScripts, enablePlugins, resizableTextAreas;1374 gboolean autoLoadImages, autoShrinkImages, printBackgrounds, enableScripts, enablePlugins, enableDeveloperExtras, resizableTextAreas; 1355 1375 1356 1376 g_object_get(G_OBJECT(webSettings), … … 1369 1389 "resizable-text-areas", &resizableTextAreas, 1370 1390 "user-stylesheet-uri", &userStylesheetUri, 1391 "enable-developer-extras", &enableDeveloperExtras, 1371 1392 NULL); 1372 1393 … … 1385 1406 settings->setTextAreasAreResizable(resizableTextAreas); 1386 1407 settings->setUserStyleSheetLocation(KURL(userStylesheetUri)); 1408 settings->setDeveloperExtrasEnabled(enableDeveloperExtras); 1387 1409 1388 1410 g_free(defaultEncoding); … … 1454 1476 1455 1477 priv->imContext = gtk_im_multicontext_new(); 1456 priv->corePage = new Page(new WebKit::ChromeClient(webView), new WebKit::ContextMenuClient(webView), new WebKit::EditorClient(webView), new WebKit::DragClient, new WebKit::InspectorClient); 1478 1479 WebKit::InspectorClient* inspectorClient = new WebKit::InspectorClient(webView); 1480 priv->corePage = new Page(new WebKit::ChromeClient(webView), new WebKit::ContextMenuClient(webView), new WebKit::EditorClient(webView), new WebKit::DragClient, inspectorClient); 1481 1482 // We also add a simple wrapper class to provide the public 1483 // interface for the Web Inspector. 1484 priv->webInspector = WEBKIT_WEB_INSPECTOR(g_object_new(WEBKIT_TYPE_WEB_INSPECTOR, NULL)); 1485 webkit_web_inspector_set_inspector_client(priv->webInspector, inspectorClient); 1457 1486 1458 1487 priv->horizontalAdjustment = GTK_ADJUSTMENT(gtk_adjustment_new(0.0, 0.0, 0.0, 0.0, 0.0, 0.0)); … … 1530 1559 1531 1560 /** 1561 * webkit_web_view_get_inspector: 1562 * @webView: a #WebKitWebView 1563 * 1564 * Obtains the #WebKitWebInspector associated with the 1565 * #WebKitWebView. Every #WebKitWebView object has a 1566 * #WebKitWebInspector object attached to it as soon as it is created, 1567 * so this function will only return NULL if the argument is not a 1568 * valid #WebKitWebView. 1569 * 1570 * Returns: the #WebKitWebInspector instance associated with the 1571 * #WebKitWebView; %NULL is only returned if the argument is not a 1572 * valid #WebKitWebView. 1573 * 1574 * Since: 1.0.2 1575 */ 1576 WebKitWebInspector* webkit_web_view_get_inspector(WebKitWebView* webView) 1577 { 1578 g_return_val_if_fail(WEBKIT_IS_WEB_VIEW(webView), NULL); 1579 1580 WebKitWebViewPrivate* priv = webView->priv; 1581 return priv->webInspector; 1582 } 1583 1584 /** 1532 1585 * webkit_web_view_set_maintains_back_forward_list: 1533 1586 * @webView: a #WebKitWebView -
trunk/WebKit/gtk/webkit/webkitwebview.h
r34477 r37982 248 248 webkit_web_view_get_settings (WebKitWebView *web_view); 249 249 250 WEBKIT_API WebKitWebInspector * 251 webkit_web_view_get_inspector (WebKitWebView *web_view); 252 250 253 WEBKIT_API gboolean 251 254 webkit_web_view_get_transparent (WebKitWebView *web_view);
Note: See TracChangeset
for help on using the changeset viewer.