summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--chrome/browser/extensions/extension_host.cc4
-rw-r--r--chrome/test/data/extensions/api_test/clipboard/test.js4
2 files changed, 8 insertions, 0 deletions
diff --git a/chrome/browser/extensions/extension_host.cc b/chrome/browser/extensions/extension_host.cc
index 2470969..350c370 100644
--- a/chrome/browser/extensions/extension_host.cc
+++ b/chrome/browser/extensions/extension_host.cc
@@ -505,6 +505,10 @@ WebPreferences ExtensionHost::GetWebkitPrefs() {
if (extension_host_type_ == ViewType::EXTENSION_POPUP ||
extension_host_type_ == ViewType::EXTENSION_INFOBAR)
webkit_prefs.allow_scripts_to_close_windows = true;
+
+ // TODO(dcheng): check kClipboardPermission instead once it's implemented.
+ if (extension_->HasApiPermission(Extension::kExperimentalPermission))
+ webkit_prefs.dom_paste_enabled = true;
return webkit_prefs;
}
diff --git a/chrome/test/data/extensions/api_test/clipboard/test.js b/chrome/test/data/extensions/api_test/clipboard/test.js
index 52f013d..8a50a6f 100644
--- a/chrome/test/data/extensions/api_test/clipboard/test.js
+++ b/chrome/test/data/extensions/api_test/clipboard/test.js
@@ -60,5 +60,9 @@ chrome.test.runTests([
}
);
setupWindow();
+ },
+ function domPaste() {
+ document.body.addEventListener('paste', chrome.test.callbackPass());
+ document.execCommand('paste');
}
]);