summaryrefslogtreecommitdiffstats
path: root/chrome/browser/ui/cocoa/applescript/element_applescript.mm
blob: ad506059d9ed2d39cac501b5733d4bd40f2c64d3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
// Copyright (c) 2010 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#import "chrome/browser/ui/cocoa/applescript/element_applescript.h"

@implementation ElementAppleScript

@synthesize uniqueID = uniqueID_;
@synthesize container = container_;
@synthesize containerProperty = containerProperty_;

// calling objectSpecifier asks an object to return an object specifier
// record referring to itself.  You must call setContainer:property: before
// you can call this method.
- (NSScriptObjectSpecifier*)objectSpecifier {
  return [[[NSUniqueIDSpecifier allocWithZone:[self zone]]
      initWithContainerClassDescription:
          (NSScriptClassDescription*)[[self container] classDescription]
                     containerSpecifier:[[self container] objectSpecifier]
                                    key:[self containerProperty]
                               uniqueID:[self uniqueID]] autorelease];
}

- (void)setContainer:(id)value property:(NSString*)property {
  [self setContainer:value];
  [self setContainerProperty:property];
}

- (void)dealloc {
  [uniqueID_ release];
  [container_ release];
  [containerProperty_ release];
  [super dealloc];
}

@end