diff options
Diffstat (limited to 'WebKit/gtk/webkit/webkitwebview.cpp')
-rw-r--r-- | WebKit/gtk/webkit/webkitwebview.cpp | 25 |
1 files changed, 24 insertions, 1 deletions
diff --git a/WebKit/gtk/webkit/webkitwebview.cpp b/WebKit/gtk/webkit/webkitwebview.cpp index 8747d42..58d91ea 100644 --- a/WebKit/gtk/webkit/webkitwebview.cpp +++ b/WebKit/gtk/webkit/webkitwebview.cpp @@ -549,6 +549,11 @@ static gboolean webkit_web_view_expose_event(GtkWidget* widget, GdkEventExpose* ctx.restore(); } } + + ctx.save(); + ctx.clip(static_cast<IntRect>(event->area)); + frame->page()->inspectorController()->drawNodeHighlight(ctx); + ctx.restore(); } return FALSE; @@ -792,7 +797,8 @@ static gboolean webkit_web_view_focus_in_event(GtkWidget* widget, GdkEventFocus* else focusController->setFocusedFrame(core(webView)->mainFrame()); - gtk_im_context_focus_in(webView->priv->imContext); + if (focusController->focusedFrame()->editor()->canEdit()) + gtk_im_context_focus_in(webView->priv->imContext); } return GTK_WIDGET_CLASS(webkit_web_view_parent_class)->focus_in_event(widget, event); } @@ -4658,3 +4664,20 @@ WebKitCacheModel webkit_get_cache_model() webkit_init(); return cacheModel; } + +void webkit_web_view_execute_core_command_by_name(WebKitWebView* webView, const gchar* name, const gchar* value) +{ + g_return_if_fail(WEBKIT_IS_WEB_VIEW(webView)); + g_return_if_fail(name); + g_return_if_fail(value); + + core(webView)->focusController()->focusedOrMainFrame()->editor()->command(name).execute(value); +} + +gboolean webkit_web_view_is_command_enabled(WebKitWebView* webView, const gchar* name) +{ + g_return_val_if_fail(WEBKIT_IS_WEB_VIEW(webView), FALSE); + g_return_val_if_fail(name, FALSE); + + return core(webView)->focusController()->focusedOrMainFrame()->editor()->command(name).isEnabled(); +} |