summaryrefslogtreecommitdiffstats
path: root/WebKit/gtk/webkit/webkitwebview.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'WebKit/gtk/webkit/webkitwebview.cpp')
-rw-r--r--WebKit/gtk/webkit/webkitwebview.cpp17
1 files changed, 12 insertions, 5 deletions
diff --git a/WebKit/gtk/webkit/webkitwebview.cpp b/WebKit/gtk/webkit/webkitwebview.cpp
index 47d7d98..9f668f4 100644
--- a/WebKit/gtk/webkit/webkitwebview.cpp
+++ b/WebKit/gtk/webkit/webkitwebview.cpp
@@ -2392,7 +2392,7 @@ static void webkit_web_view_update_settings(WebKitWebView* webView)
enableScripts, enablePlugins, enableDeveloperExtras, resizableTextAreas,
enablePrivateBrowsing, enableCaretBrowsing, enableHTML5Database, enableHTML5LocalStorage,
enableXSSAuditor, javascriptCanOpenWindows, enableOfflineWebAppCache,
- enableUniversalAccessFromFileURI;
+ enableUniversalAccessFromFileURI, enableDOMPaste;
WebKitEditingBehavior editingBehavior;
@@ -2421,6 +2421,7 @@ static void webkit_web_view_update_settings(WebKitWebView* webView)
"enable-offline-web-application-cache", &enableOfflineWebAppCache,
"editing-behavior", &editingBehavior,
"enable-universal-access-from-file-uris", &enableUniversalAccessFromFileURI,
+ "enable-dom-paste", &enableDOMPaste,
NULL);
settings->setDefaultTextEncodingName(defaultEncoding);
@@ -2447,6 +2448,7 @@ static void webkit_web_view_update_settings(WebKitWebView* webView)
settings->setOfflineWebApplicationCacheEnabled(enableOfflineWebAppCache);
settings->setEditingBehavior(core(editingBehavior));
settings->setAllowUniversalAccessFromFileURLs(enableUniversalAccessFromFileURI);
+ settings->setDOMPasteAllowed(enableDOMPaste);
g_free(defaultEncoding);
g_free(cursiveFontFamily);
@@ -2533,6 +2535,8 @@ static void webkit_web_view_settings_notify(WebKitWebSettings* webSettings, GPar
settings->setEditingBehavior(core(static_cast<WebKitEditingBehavior>(g_value_get_enum(&value))));
else if (name == g_intern_string("enable-universal-access-from-file-uris"))
settings->setAllowUniversalAccessFromFileURLs(g_value_get_boolean(&value));
+ else if (name == g_intern_string("enable-dom-paste"))
+ settings->setDOMPasteAllowed(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);
@@ -3152,8 +3156,7 @@ 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);
+ core(webView)->mainFrame()->script()->executeScript(String::fromUTF8(script), true);
}
/**
@@ -3894,8 +3897,12 @@ WebKitWebResource* webkit_web_view_get_resource(WebKitWebView* webView, char* id
gboolean resourceFound = g_hash_table_lookup_extended(priv->subResources, identifier, NULL, &webResource);
- // The only resource we do not store in this hash table is the main!
- g_return_val_if_fail(resourceFound || g_str_equal(identifier, priv->mainResourceIdentifier), NULL);
+ // The only resource we do not store in this hash table is the
+ // main! If we did not find a request, it probably means the load
+ // has been interrupted while while a resource was still being
+ // loaded.
+ if (!resourceFound && !g_str_equal(identifier, priv->mainResourceIdentifier))
+ return NULL;
if (!webResource)
return webkit_web_view_get_main_resource(webView);