Skip to content

Commit 606ff0b

Browse files
filesでのOriginチェックを除外。デバイス確認画面のOriginをAndroid側と合わせた。
1 parent 2c7671e commit 606ff0b

9 files changed

Lines changed: 69 additions & 15 deletions

File tree

dConnectSDK/dConnectBrowserForIOS9/dConnectBrowserForIOS9/classes/GHDeviceUtil.m

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ - (void)discoverDevices:(DiscoverDeviceCompletion)completion
9595
[request setApi: DConnectMessageDefaultAPI];
9696
[request setProfile: DConnectServiceDiscoveryProfileName];
9797
[request setAccessToken:accessToken];
98-
[request setString:@"file://" forKey:DConnectMessageOrigin];
98+
[request setString:@"http://localhost" forKey:DConnectMessageOrigin];
9999
[manager sendRequest: request callback:^(DConnectResponseMessage *response) {
100100
if (response != nil) {
101101
if ([response result] == DConnectMessageResultTypeOk) {
@@ -129,7 +129,7 @@ - (void)callRequestAccessTokenAPI:(DiscoverDeviceCompletion)completion {
129129

130130

131131

132-
[DConnectUtil asyncAuthorizeWithOrigin: @"file://"
132+
[DConnectUtil asyncAuthorizeWithOrigin: @"http://localhost"
133133
appName: @"Browser"
134134
scopes: scopes
135135
success: ^(NSString *clientId, NSString *accessToken) {

dConnectSDK/dConnectBrowserForIOS9/dConnectBrowserForIOS9/demo/js/resource.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ var main = (function(parent, global) {
2020
}
2121
} else if (mimeType.indexOf('image') != -1 && uri.indexOf('mp4') != -1) {
2222
var mediaId = uri.replace("http://localhost:4035/gotapi/files?uri=", "");
23-
util.doMediaPlayerMediaPut(util.getServiceId(), util.getAccessTokenQuery(), mediaId,null);
23+
util.doMediaPlayerMediaPut(util.getServiceId(), util.getAccessTokenQuery(), decodeURIComponent(mediaId),null);
2424
} else {
2525
sendRequest('GET', uri, null, function(status, responseText) {
2626
var elem = document.getElementById('text');
@@ -60,7 +60,7 @@ var main = (function(parent, global) {
6060
switch (xhr.readyState) {
6161
case 1:
6262
try {
63-
xhr.setRequestHeader("X-GotAPI-Origin".toLowerCase(), "http://ios_assets");
63+
xhr.setRequestHeader("X-GotAPI-Origin".toLowerCase(), "file://");
6464
} catch (e) {
6565
return;
6666
}

dConnectSDK/dConnectBrowserForIOS9/dConnectBrowserForIOS9/demo/js/util.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -418,6 +418,7 @@ var util = (function(parent, global) {
418418
builder.setAccessToken(accessToken);
419419
builder.addParameter('mediaId', id);
420420
var uri = builder.build();
421+
dConnect.setExtendedOrigin("file://");
421422
dConnect.put(uri, null, null, function(json) {
422423
var builder = new dConnect.URIBuilder();
423424
builder.setProfile('mediaplayer');
@@ -430,10 +431,10 @@ var util = (function(parent, global) {
430431
callback();
431432
}
432433
}, function(errorCode, errorMessage) {
433-
console.log("error:" + errorMessage);
434+
console.log("Play error:" + errorMessage);
434435
});
435436
}, function(errorCode, errorMessage) {
436-
console.log("error:" + errorMessage);
437+
console.log("Set Media error:" + errorMessage);
437438
});
438439
}
439440
parent.doMediaPlayerMediaPut = doMediaPlayerMediaPut;

dConnectSDK/dConnectBrowserForIOS9/dConnectBrowserForIOS9/help/tutorial/demo/demo_take_photo.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
<select name="previewSize" onchange="demoTakePhoto.onChangeOption()"></select>
2222
</form>
2323
<div style="margin:12px;">
24-
<img id="preview" crossOrigin="Anonymous">
24+
<img id="preview" crossOrigin="anonymous">
2525
</div>
2626
<button onclick="demoTakePhoto.onTakePhoto()">撮影</button>
2727
</div>

dConnectSDK/dConnectSDKForIOS/DConnectSDK/Classes/DConnectManager.m

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -514,8 +514,7 @@ - (void) didReceiveRequest:(DConnectRequestMessage *) request
514514
dispatch_async(_requestQueue, ^{
515515
// 指定されたプロファイルを取得する
516516
NSString *profileName = [request profile];
517-
518-
if (![_self allowsOriginOfRequest:request]) {
517+
if (![_self allowsOriginOfRequest:request] && ![@"files" isEqualToString:profileName]) {
519518
[response setErrorToInvalidOrigin];
520519
DConnectProfile *profile = [_self profileWithName:profileName];
521520
if (profile && [profile isKindOfClass:[DConnectManagerAuthorizationProfile class]]) {

dConnectSDK/dConnectSDKForIOS/DConnectSDK/Classes/policy/DConnectOriginDao.h

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,9 @@
1717
+ (void) createWithDatabase:(DConnectSQLiteDatabase *)database;
1818

1919
+ (NSArray *) originsWithDatabase:(DConnectSQLiteDatabase *)database;
20-
20+
+ (NSArray *) queryWithOrigin:(id<DConnectOrigin>)origin
21+
title:(NSString *)title
22+
toDatabase:(DConnectSQLiteDatabase *)database;
2123
+ (DConnectOriginInfo *) insertWithOrigin:(id<DConnectOrigin>)origin
2224
title:(NSString *)title
2325
toDatabase:(DConnectSQLiteDatabase *)database;
@@ -28,4 +30,4 @@
2830
+ (void) deleteWithOriginInfo:(DConnectOriginInfo *)info
2931
onDatabase:(DConnectSQLiteDatabase *)database;
3032

31-
@end
33+
@end

dConnectSDK/dConnectSDKForIOS/DConnectSDK/Classes/policy/DConnectOriginDao.m

Lines changed: 32 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,37 @@ + (NSArray *) originsWithDatabase:(DConnectSQLiteDatabase *)database
6262
return result;
6363
}
6464

65+
+ (NSArray *) queryWithOrigin:(id<DConnectOrigin>)origin
66+
title:(NSString *)title
67+
toDatabase:(DConnectSQLiteDatabase *)database
68+
{
69+
NSString *sql = DCEForm(@"SELECT %@, %@, %@, %@ FROM %@ WHERE %@='%@' AND %@='%@'",
70+
DConnectOriginDaoClmId,
71+
DConnectOriginDaoClmOrigin,
72+
DConnectOriginDaoClmTitle,
73+
DConnectOriginDaoClmDate,
74+
DConnectOriginDaoTableName,
75+
DConnectOriginDaoClmOrigin,
76+
origin.stringify,
77+
DConnectOriginDaoClmTitle,
78+
title);
79+
DConnectSQLiteCursor *cursor = [database queryWithSQL:sql];
80+
NSMutableArray *result = [NSMutableArray array];
81+
if ([cursor moveToFirst]) {
82+
do {
83+
DConnectOriginInfo *info = [DConnectOriginInfo new];
84+
info.rowId = [cursor longLongValueAtIndex:0];
85+
info.origin = [DConnectOriginParser parse:[cursor stringValueAtIndex:1]];
86+
info.title = [cursor stringValueAtIndex:2];
87+
info.date = [cursor longLongValueAtIndex:3];
88+
[result addObject:info];
89+
} while ([cursor moveToNext]);
90+
}
91+
[cursor close];
92+
return result;
93+
}
94+
95+
6596
+ (DConnectOriginInfo *) insertWithOrigin:(id<DConnectOrigin>)origin
6697
title:(NSString *)title
6798
toDatabase:(DConnectSQLiteDatabase *)database
@@ -126,4 +157,4 @@ + (void) deleteWithOriginInfo:(DConnectOriginInfo *)info
126157
}
127158
}
128159

129-
@end
160+
@end

dConnectSDK/dConnectSDKForIOS/DConnectSDK/Classes/policy/DConnectWhitelist.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,8 @@
1717
- (NSArray *) origins;
1818

1919
- (BOOL) allows:(id<DConnectOrigin>) origin;
20-
20+
- (BOOL) existOrigin:(id<DConnectOrigin>) origin
21+
title:(NSString *)title;
2122
- (DConnectOriginInfo *) addOrigin:(id<DConnectOrigin>) origin title:(NSString *)title;
2223

2324
- (void) updateOrigin:(DConnectOriginInfo *) info;

dConnectSDK/dConnectSDKForIOS/DConnectSDK/Classes/policy/DConnectWhitelist.m

Lines changed: 22 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,11 @@
1010
#import "DConnectWhitelist.h"
1111
#import "DConnectSQLiteOpenHelper.h"
1212
#import "DConnectOriginDao.h"
13+
#import "DConnectOriginParser.h"
1314

1415
NSString *const DConnectWhitelistDBName = @"__dconnect_whitelist.db";
16+
static NSString *const DConnectWhitelistDefaultURL = @"http://localhost:80";
17+
static NSString *const DConnectWhitelistDefaultTitle = @"Manager(HTTP)";
1518
const int DCONNECT_WHITELIST_DB_VERSION = 1;
1619

1720
@interface DConnectWhitelist () <DConnectSQLiteOpenHelperDelegate>
@@ -42,6 +45,10 @@ + (DConnectWhitelist *) sharedWhitelist
4245
dispatch_once(&onceToken, ^{
4346
sharedWhitelist = [[DConnectWhitelist alloc] init];
4447
});
48+
id<DConnectOrigin> origin = [DConnectOriginParser parse:DConnectWhitelistDefaultURL];
49+
if (![sharedWhitelist existOrigin:origin title:DConnectWhitelistDefaultTitle]) {
50+
[sharedWhitelist addOrigin:origin title:DConnectWhitelistDefaultTitle];
51+
}
4552
return sharedWhitelist;
4653
}
4754

@@ -93,7 +100,20 @@ - (void) updateOrigin:(DConnectOriginInfo *) info
93100
onDatabase:database];
94101
}];
95102
}
96-
103+
- (BOOL) existOrigin:(id<DConnectOrigin>) origin
104+
title:(NSString *)title
105+
{
106+
NSMutableArray *result = [NSMutableArray array];
107+
[_helper execQueryInQueue:^(DConnectSQLiteDatabase *database) {
108+
if (!database) {
109+
return;
110+
}
111+
[result addObjectsFromArray:[DConnectOriginDao queryWithOrigin:origin
112+
title:title
113+
toDatabase:database]];
114+
}];
115+
return [result count] > 0;
116+
}
97117
- (void) removeOrigin:(DConnectOriginInfo *) info
98118
{
99119
[_helper execQueryInQueue:^(DConnectSQLiteDatabase *database) {
@@ -136,4 +156,4 @@ - (void) openHelper:(DConnectSQLiteOpenHelper *)helper didUpgradeDatabase:(DConn
136156

137157
}
138158

139-
@end
159+
@end

0 commit comments

Comments
 (0)