summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorrsesek@chromium.org <rsesek@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-06-27 23:44:21 +0000
committerrsesek@chromium.org <rsesek@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-06-27 23:44:21 +0000
commit179569053b7ab77615d243edaace3fb74a613e0c (patch)
tree413100344f07c7b997d11e8b6790207907995106
parentc4683017bfdb6b4fbbd14c095b12cc2d23b19b6f (diff)
downloadchromium_src-179569053b7ab77615d243edaace3fb74a613e0c.zip
chromium_src-179569053b7ab77615d243edaace3fb74a613e0c.tar.gz
chromium_src-179569053b7ab77615d243edaace3fb74a613e0c.tar.bz2
[Mac] Add a "close" command to the Tab AppleScript dictionary.
BUG=87550 TEST=See example script in the bug. Run it and it works. Review URL: http://codereview.chromium.org/7273010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@90676 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--chrome/browser/ui/cocoa/applescript/scripting.sdef3
-rw-r--r--chrome/browser/ui/cocoa/applescript/tab_applescript.h3
-rw-r--r--chrome/browser/ui/cocoa/applescript/tab_applescript.mm5
3 files changed, 11 insertions, 0 deletions
diff --git a/chrome/browser/ui/cocoa/applescript/scripting.sdef b/chrome/browser/ui/cocoa/applescript/scripting.sdef
index b67b2b7..661890f 100644
--- a/chrome/browser/ui/cocoa/applescript/scripting.sdef
+++ b/chrome/browser/ui/cocoa/applescript/scripting.sdef
@@ -233,6 +233,9 @@
<responds-to command="save">
<cocoa method="handlesSaveScriptCommand:"/>
</responds-to>
+ <responds-to command="close">
+ <cocoa method="handlesCloseScriptCommand:"/>
+ </responds-to>
<responds-to command="execute">
<cocoa method="handlesExecuteJavascriptScriptCommand:"/>
</responds-to>
diff --git a/chrome/browser/ui/cocoa/applescript/tab_applescript.h b/chrome/browser/ui/cocoa/applescript/tab_applescript.h
index 424d5cf..b21d8fa 100644
--- a/chrome/browser/ui/cocoa/applescript/tab_applescript.h
+++ b/chrome/browser/ui/cocoa/applescript/tab_applescript.h
@@ -68,6 +68,9 @@ class TabContentsWrapper;
// Used to save a tab, if no file is specified, prompts the user to enter it.
- (void)handlesSaveScriptCommand:(NSScriptCommand*)command;
+// Used to close a tab.
+- (void)handlesCloseScriptCommand:(NSScriptCommand*)command;
+
// Displays the HTML of the tab in a new tab.
- (void)handlesViewSourceScriptCommand:(NSScriptCommand*)command;
diff --git a/chrome/browser/ui/cocoa/applescript/tab_applescript.mm b/chrome/browser/ui/cocoa/applescript/tab_applescript.mm
index 1e212c9b1..f233d5a 100644
--- a/chrome/browser/ui/cocoa/applescript/tab_applescript.mm
+++ b/chrome/browser/ui/cocoa/applescript/tab_applescript.mm
@@ -19,6 +19,7 @@
#include "content/browser/renderer_host/render_view_host.h"
#include "content/browser/tab_contents/navigation_controller.h"
#include "content/browser/tab_contents/navigation_entry.h"
+#include "content/browser/tab_contents/tab_contents_delegate.h"
#include "content/common/view_messages.h"
#include "googleurl/src/gurl.h"
@@ -274,6 +275,10 @@
savePackageType);
}
+- (void)handlesCloseScriptCommand:(NSScriptCommand*)command {
+ TabContents* contents = tabContents_->tab_contents();
+ contents->delegate()->CloseContents(contents);
+}
- (void)handlesViewSourceScriptCommand:(NSScriptCommand*)command {
NavigationEntry* entry = tabContents_->controller().GetLastCommittedEntry();