From 5ac454e6f5972426e2b20b230f9139399dcc065e Mon Sep 17 00:00:00 2001 From: John Foerch Date: Mon, 13 Feb 2012 12:02:38 -0500 Subject: [PATCH] page-modes with default browser objects, remove on disable --- modules/page-modes/google-images.js | 9 ++++++++- modules/page-modes/google-search-results.js | 16 ++++++++-------- modules/page-modes/reddit.js | 21 ++++++++++++--------- 3 files changed, 28 insertions(+), 18 deletions(-) diff --git a/modules/page-modes/google-images.js b/modules/page-modes/google-images.js index 2ba49e7..98e1e25 100644 --- a/modules/page-modes/google-images.js +++ b/modules/page-modes/google-images.js @@ -72,7 +72,14 @@ define_page_mode("google-images-mode", browser_object_google_images_imgurl; } }, - function disable (buffer) {}, + function disable (buffer) { + for each (var c in google_images_imgrefurl_commands) { + delete buffer.default_browser_object_classes[c]; + } + for each (var c in google_images_imgurl_commands) { + delete buffer.default_browser_object_classes[c]; + } + }, $display_name = "Google Images"); page_mode_activate(google_images_mode); diff --git a/modules/page-modes/google-search-results.js b/modules/page-modes/google-search-results.js index d81b967..34fec78 100644 --- a/modules/page-modes/google-search-results.js +++ b/modules/page-modes/google-search-results.js @@ -52,6 +52,10 @@ function google_search_bind_number_shortcuts () { } +var google_search_results_link_commands = + ["follow", "follow-new-buffer", "follow-new-buffer-background", + "follow-new-window", "save", "copy", "shell-command-on-file"]; + var google_search_results_modality = { normal: google_search_results_keymap }; @@ -64,19 +68,15 @@ define_page_mode("google-search-results-mode", $tlds = ["com", "com.au", "co.uk", "de", "dk", "es", "fr", "it", "no", "se", "uk"]), function enable (buffer) { - var link_using_commands = ["follow", - "follow-new-buffer", - "follow-new-buffer-background", - "follow-new-window", - "save", - "copy", - "shell-command-on-file"]; - for each (var c in link_using_commands) + for each (var c in google_search_results_link_commands) buffer.default_browser_object_classes[c] = browser_object_google_search_results_links; buffer.content_modalities.push(google_search_results_modality); }, function disable (buffer) { + for each (var c in google_search_results_link_commands) { + delete buffer.default_browser_object_classes[c]; + } var i = buffer.content_modalities.indexOf(google_search_results_modality); if (i > -1) buffer.content_modalities.splice(i, 1); diff --git a/modules/page-modes/reddit.js b/modules/page-modes/reddit.js index d0dd994..f4e84ed 100644 --- a/modules/page-modes/reddit.js +++ b/modules/page-modes/reddit.js @@ -254,6 +254,12 @@ define_key(reddit_keymap, ".", "reddit-vote-down"); define_key(reddit_keymap, "h", "reddit-open-comments"); +var reddit_link_commands = + ["follow-current", "follow-current-new-buffer", + "follow-current-new-buffer-background", + "follow-current-new-window", "copy"]; + + var reddit_modality = { normal: reddit_keymap }; @@ -262,19 +268,16 @@ var reddit_modality = { define_page_mode("reddit-mode", build_url_regexp($domain = /([a-zA-Z0-9\-]*\.)*reddit/), function enable (buffer) { - let (cmds = ["follow-current", - "follow-current-new-buffer", - "follow-current-new-buffer-background", - "follow-current-new-window", - "copy"]) { - for each (var c in cmds) { - buffer.default_browser_object_classes[c] = - browser_object_reddit_current; - } + for each (var c in reddit_link_commands) { + buffer.default_browser_object_classes[c] = + browser_object_reddit_current; } buffer.content_modalities.push(reddit_modality); }, function disable (buffer) { + for each (var c in reddit_link_commands) { + delete buffer.default_browser_object_classes[c]; + } var i = buffer.content_modalities.indexOf(reddit_modality); if (i > -1) buffer.content_modalities.splice(i, 1); -- 2.11.4.GIT