aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIlya Sukhar2010-10-20 23:42:44 -0700
committerIlya Sukhar2010-10-20 23:42:44 -0700
commitf7a534efe5d4c77c462955674dd4678bc10f2012 (patch)
treeb7dbd24e23221a7e5856d860581099d6bac424c9
parentac4858bfe66563d5295d87c89322e5f138f1d191 (diff)
downloadvimium-f7a534efe5d4c77c462955674dd4678bc10f2012.tar.bz2
Implemented a workaround for the Chrome bug that broke the 'yy' command. Closes 206. Relevant chrome bug: http://code.google.com/p/chromium/issues/detail?id=55188
-rw-r--r--background_page.html11
-rw-r--r--vimiumFrontend.js6
2 files changed, 15 insertions, 2 deletions
diff --git a/background_page.html b/background_page.html
index 48084f77..4d03c99b 100644
--- a/background_page.html
+++ b/background_page.html
@@ -1,6 +1,7 @@
<html>
<head>
<script type="text/javascript" src="commands.js"></script>
+<script type="text/javascript" src="lib/clipboard.js"></script>
<script type="text/javascript" charset="utf-8">
// Chromium #15242 will make this XHR request to access the manifest unnecessary.
var manifestRequest = new XMLHttpRequest();
@@ -73,7 +74,8 @@
registerFrame: registerFrame,
frameFocused: handleFrameFocused,
upgradeNotificationClosed: upgradeNotificationClosed,
- updateScrollPosition: handleUpdateScrollPosition
+ updateScrollPosition: handleUpdateScrollPosition,
+ copyToClipboard: copyToClipboard
};
// Event handlers
@@ -251,6 +253,13 @@
}
/*
+ * Copies some data (request.data) to the clipboard.
+ */
+ function copyToClipboard(request) {
+ Clipboard.copy(request.data);
+ }
+
+ /*
* Used by the content scripts to get settings from the local storage.
*/
function getSetting(args, port) {
diff --git a/vimiumFrontend.js b/vimiumFrontend.js
index 19e2e0a2..8e5b8246 100644
--- a/vimiumFrontend.js
+++ b/vimiumFrontend.js
@@ -286,7 +286,11 @@ function toggleViewSource() {
}
function copyCurrentUrl() {
- getCurrentUrlHandlers.push(function (url) { Clipboard.copy(url); });
+ // TODO(ilya): When the following bug is fixed, revisit this approach of sending back to the background page
+ // to copy.
+ // http://code.google.com/p/chromium/issues/detail?id=55188
+ //getCurrentUrlHandlers.push(function (url) { Clipboard.copy(url); });
+ getCurrentUrlHandlers.push(function (url) { chrome.extension.sendRequest({ handler: "copyToClipboard", data: url }); });
// TODO(ilya): Convert to sendRequest.
var getCurrentUrlPort = chrome.extension.connect({ name: "getCurrentTabUrl" });