@@ -1126,6 +1126,75 @@ - (void) _removeTrackingAreaForCTF
1126
1126
}
1127
1127
1128
1128
1129
+ #pragma mark -
1130
+ #pragma mark WebScripting Protocol
1131
+
1132
+ - (id )objectForWebScript {
1133
+ // NSLog(@"objectForWebScript => %@", self);
1134
+ return self;
1135
+ }
1136
+
1137
+ + (NSString *)webScriptNameForSelector: (SEL )aSelector {
1138
+ // javascript may call GetVariable("$version") on us
1139
+
1140
+ NSString *result = nil ;
1141
+
1142
+ if (aSelector == @selector (flashGetVariable: ))
1143
+ result = @" GetVariable" ;
1144
+
1145
+ // NSLog(@"webScriptNameForSelector:%@ => %@", NSStringFromSelector(aSelector), result);
1146
+ return result;
1147
+ }
1148
+
1149
+ + (BOOL )isSelectorExcludedFromWebScript: (SEL )aSelector {
1150
+ BOOL result = YES ;
1151
+
1152
+ if (aSelector == @selector (flashGetVariable: ))
1153
+ result = NO ;
1154
+
1155
+ // NSLog(@"isSelectorExcludedFromWebScript:%@ => %d", NSStringFromSelector(aSelector), result);
1156
+ return result;
1157
+ }
1158
+
1159
+ - (id )flashGetVariable: (id )flashVar {
1160
+ static NSString *sFlashVersion = nil ;
1161
+ static NSString *sClickToFlashVersion = nil ;
1162
+
1163
+ // NSLog(@"flashVar: %p %@", flashVar, flashVar);
1164
+
1165
+ if (flashVar && [flashVar isKindOfClass: [NSString class ]]) {
1166
+ if ([flashVar isEqualToString: @" $version" ]) {
1167
+ if (sFlashVersion == nil ) {
1168
+ NSBundle *bundle = [NSBundle bundleForClass: [self class ]];
1169
+ if (bundle) {
1170
+ id version = [bundle objectForInfoDictionaryKey: @" CTFFlashVariableVersion" ];
1171
+ if (version && [version isKindOfClass: [NSString class ]]) {
1172
+ sFlashVersion = [(NSString *)version copy ];
1173
+ }
1174
+ }
1175
+ }
1176
+
1177
+ return sFlashVersion ;
1178
+ } else if ([flashVar isEqualToString: @" $ClickToFlashVersion" ]) {
1179
+ if (sClickToFlashVersion == nil ) {
1180
+ NSBundle *bundle = [NSBundle bundleForClass: [self class ]];
1181
+ if (bundle) {
1182
+ id version = [bundle objectForInfoDictionaryKey: @" CFBundleShortVersionString" ];
1183
+ if (version && [version isKindOfClass: [NSString class ]]) {
1184
+ sClickToFlashVersion = [(NSString *)version copy ];
1185
+ }
1186
+ }
1187
+ }
1188
+
1189
+ return sClickToFlashVersion ;
1190
+ } else {
1191
+ return [self flashvarWithName: flashVar];
1192
+ }
1193
+ }
1194
+
1195
+ return nil ;
1196
+ }
1197
+
1129
1198
#pragma mark -
1130
1199
#pragma mark YouTube H.264 support
1131
1200
0 commit comments