Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(73)

Side by Side Diff: chrome/browser/cocoa/applescript/bookmark_item_applescript.mm

Issue 3046042: Added AppleScript support (Closed) Base URL: http://src.chromium.org/svn/trunk/src/
Patch Set: '' Created 10 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
Property Changes:
Added: svn:eol-style
+ LF
OLDNEW
(Empty)
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #import "chrome/browser/cocoa/applescript/bookmark_item_applescript.h"
6
7 #include "base/sys_string_conversions.h"
8 #include "chrome/browser/bookmarks/bookmark_model.h"
9 #import "chrome/browser/cocoa/applescript/error_applescript.h"
10 #include "chrome/browser/profile_manager.h"
11
12 @interface BookmarkItemAppleScript()
13 @property (nonatomic, copy) NSString* tempURL;
14 @end
15
16 @implementation BookmarkItemAppleScript
17
18 @synthesize tempURL = tempURL_;
19
20 - (id)init {
21 if ((self = [super init])) {
22 [self setTempURL:@""];
23 }
24 return self;
25 }
26
27 - (void)dealloc {
28 [tempURL_ release];
29 [super dealloc];
30 }
31
32 - (void)setBookmarkNode:(const BookmarkNode*)aBookmarkNode {
33 [super setBookmarkNode:aBookmarkNode];
34 [self setURL:[self tempURL]];
35 }
36
37 - (NSString*)URL {
38 if (!bookmarkNode_)
39 return tempURL_;
40
41 const GURL& url = bookmarkNode_->GetURL();
42 return base::SysUTF8ToNSString(url.spec());
43 }
44
45 - (void)setURL:(NSString*)aURL {
46 // If a scripter sets a URL before the node is added, URL is saved at a
47 // temporary location.
48 if (!bookmarkNode_) {
49 [self setTempURL:aURL];
50 return;
51 }
52
53 BookmarkModel* model = [self bookmarkModel];
54 if (!model)
55 return;
56
57 GURL url(base::SysNSStringToUTF8(aURL));
58 if (!url.is_valid()) {
59 AppleScript::SetError(AppleScript::errInvalidURL);
60 return;
61 }
62
63 model->SetURL(bookmarkNode_, url);
64 }
65
66 @end
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698