rhodes 5.5.0.3 → 5.5.0.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (131) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +10 -0
  3. data/lib/commonAPI/coreapi/ext/platform/android/src/com/rho/notification/NotificationSingleton.java +20 -8
  4. data/lib/commonAPI/coreapi/ext/platform/iphone/cpp_based_impl/SystemImpl.mm +1 -2
  5. data/lib/commonAPI/coreapi/ext/system.xml +1 -1
  6. data/platform/android/build/android.rake +1 -0
  7. data/platform/iphone/Classes/AppManager/AppManager.m +44 -3
  8. data/platform/iphone/Classes/NativeView/RhoNativeViewManager.mm +4 -3
  9. data/platform/iphone/Classes/NativeView/RhoNativeViewManagerOC.h +1 -1
  10. data/platform/iphone/Classes/RhoMainView.h +8 -2
  11. data/platform/iphone/Classes/RhoUIWebView.h +75 -0
  12. data/platform/iphone/Classes/RhoUIWebView.m +142 -0
  13. data/platform/iphone/Classes/RhoWKWebView.h +87 -0
  14. data/platform/iphone/Classes/RhoWKWebView.m +187 -0
  15. data/platform/iphone/Classes/RhoWebView.h +72 -0
  16. data/platform/iphone/Classes/RhoWebViewFabrique.h +35 -0
  17. data/platform/iphone/Classes/RhoWebViewFabrique.m +87 -0
  18. data/platform/iphone/Classes/Rhodes.m +17 -6
  19. data/platform/iphone/Classes/Signature.old/SignatureDelegate.m +11 -4
  20. data/platform/iphone/Classes/Signature/SignatureDelegate.m +3 -4
  21. data/platform/iphone/Classes/SimpleMainView.h +7 -5
  22. data/platform/iphone/Classes/SimpleMainView.m +174 -179
  23. data/platform/iphone/Classes/SplitView/RightViewController.h +2 -2
  24. data/platform/iphone/Classes/SplitView/RightViewController.m +9 -10
  25. data/platform/iphone/Classes/SplitView/SplittedMainView.h +2 -3
  26. data/platform/iphone/Classes/SplitView/SplittedMainView.m +10 -7
  27. data/platform/iphone/Classes/TabbedMainView.h +2 -1
  28. data/platform/iphone/Classes/TabbedMainView.m +13 -10
  29. data/platform/iphone/Classes/URLProtocol/CRhoURLProtocol.m +21 -5
  30. data/platform/iphone/Classes/WebView.m +1 -1
  31. data/platform/iphone/RhoAppBaseLib/RhoAppBaseLib.xcodeproj/project.pbxproj +40 -3
  32. data/platform/iphone/RhoLib/RhoLib.xcodeproj/project.pbxproj +4 -0
  33. data/platform/iphone/rbuild/iphone.rake +51 -0
  34. data/platform/shared/common/RhoNativeViewManager.h +9 -9
  35. data/platform/shared/common/RhodesApp.cpp +13 -1
  36. data/platform/shared/net/HttpServer.cpp +12 -2
  37. data/platform/shared/qt/rhodes/ExternalWebView.ui +11 -2
  38. data/platform/shared/qt/rhodes/QtMainWindow.cpp +9 -7
  39. data/platform/shared/qt/rhodes/QtMainWindow.ui +13 -4
  40. data/platform/shared/qt/rhodes/qkineticscroller.cpp +1245 -0
  41. data/platform/shared/qt/rhodes/qkineticscroller.h +165 -0
  42. data/platform/shared/qt/rhodes/qkineticscroller_p.h +168 -0
  43. data/platform/shared/qt/rhodes/qtflickgesture.cpp +696 -0
  44. data/platform/shared/qt/rhodes/qtflickgesture_p.h +107 -0
  45. data/platform/shared/qt/rhodes/qtscroller.cpp +2080 -0
  46. data/platform/shared/qt/rhodes/qtscroller.h +138 -0
  47. data/platform/shared/qt/rhodes/qtscroller_p.h +205 -0
  48. data/platform/shared/qt/rhodes/qtscrollerfilter.cpp +350 -0
  49. data/platform/shared/qt/rhodes/qtscrollerfilter_p.h +110 -0
  50. data/platform/shared/qt/rhodes/qtscrollerproperties.cpp +412 -0
  51. data/platform/shared/qt/rhodes/qtscrollerproperties.h +135 -0
  52. data/platform/shared/qt/rhodes/qtscrollerproperties_p.h +90 -0
  53. data/platform/shared/qt/rhodes/qtscrollevent.cpp +190 -0
  54. data/platform/shared/qt/rhodes/qtscrollevent.h +100 -0
  55. data/platform/shared/qt/rhodes/qtscrollevent_p.h +33 -0
  56. data/platform/shared/qt/rhodes/qwebviewkineticscroller.cpp +347 -0
  57. data/platform/shared/qt/rhodes/qwebviewkineticscroller.h +90 -0
  58. data/platform/shared/qt/rhodes/qwebviewselectionsuppressor.h +113 -0
  59. data/platform/shared/qt/rhodes/rhodes.pro +19 -0
  60. data/res/generators/rhogen.rb +307 -15
  61. data/res/generators/templates/application/app/Settings/err_sync.erb +12 -6
  62. data/res/generators/templates/application/app/Settings/home.erb +32 -17
  63. data/res/generators/templates/application/app/Settings/index.erb +55 -26
  64. data/res/generators/templates/application/app/Settings/javascript_index.html +111 -0
  65. data/res/generators/templates/application/app/Settings/javascript_login.html +65 -0
  66. data/res/generators/templates/application/app/Settings/login.erb +25 -19
  67. data/res/generators/templates/application/app/Settings/reset.erb +18 -9
  68. data/res/generators/templates/application/app/Settings/wait.erb +10 -7
  69. data/res/generators/templates/application/app/index.erb +32 -20
  70. data/res/generators/templates/application/app/javascript_index.html +66 -0
  71. data/res/generators/templates/application/app/javascript_index.js +250 -0
  72. data/res/generators/templates/application/app/layout.erb +12 -67
  73. data/res/generators/templates/application/javascript_build.yml +41 -0
  74. data/res/generators/templates/application/javascript_rhoconfig.txt +123 -0
  75. data/res/generators/templates/application/public/bootstrap-3.3.7/css/bootstrap-theme.css +587 -0
  76. data/res/generators/templates/application/public/bootstrap-3.3.7/css/bootstrap-theme.css.map +1 -0
  77. data/res/generators/templates/application/public/bootstrap-3.3.7/css/bootstrap-theme.min.css +6 -0
  78. data/res/generators/templates/application/public/bootstrap-3.3.7/css/bootstrap-theme.min.css.map +1 -0
  79. data/res/generators/templates/application/public/bootstrap-3.3.7/css/bootstrap.css +6757 -0
  80. data/res/generators/templates/application/public/bootstrap-3.3.7/css/bootstrap.css.map +1 -0
  81. data/res/generators/templates/application/public/bootstrap-3.3.7/css/bootstrap.min.css +6 -0
  82. data/res/generators/templates/application/public/bootstrap-3.3.7/css/bootstrap.min.css.map +1 -0
  83. data/res/generators/templates/application/public/bootstrap-3.3.7/fonts/glyphicons-halflings-regular.eot +0 -0
  84. data/res/generators/templates/application/public/bootstrap-3.3.7/fonts/glyphicons-halflings-regular.svg +288 -0
  85. data/res/generators/templates/application/public/bootstrap-3.3.7/fonts/glyphicons-halflings-regular.ttf +0 -0
  86. data/res/generators/templates/application/public/bootstrap-3.3.7/fonts/glyphicons-halflings-regular.woff +0 -0
  87. data/res/generators/templates/application/public/bootstrap-3.3.7/fonts/glyphicons-halflings-regular.woff2 +0 -0
  88. data/res/generators/templates/application/public/bootstrap-3.3.7/js/bootstrap.js +2377 -0
  89. data/res/generators/templates/application/public/bootstrap-3.3.7/js/bootstrap.min.js +7 -0
  90. data/res/generators/templates/application/public/bootstrap-3.3.7/js/npm.js +13 -0
  91. data/res/generators/templates/application/public/css/style.css +3 -0
  92. data/res/generators/templates/application/public/jquery/jquery-3.1.1.min.js +4 -0
  93. data/res/generators/templates/application/public/jquery/jquery-3.1.1.min.map +1 -0
  94. data/res/generators/templates/application/rhoconfig.txt +16 -0
  95. data/res/generators/templates/iphone_project/Bremen7.xcodeproj/project.pbxproj +4 -0
  96. data/res/generators/templates/model/edit.erb +22 -21
  97. data/res/generators/templates/model/index.erb +24 -22
  98. data/res/generators/templates/model/javascript_edit.html +65 -0
  99. data/res/generators/templates/model/javascript_index.html +56 -0
  100. data/res/generators/templates/model/javascript_index.js +83 -0
  101. data/res/generators/templates/model/javascript_model.js +16 -0
  102. data/res/generators/templates/model/javascript_new.html +64 -0
  103. data/res/generators/templates/model/javascript_show.html +66 -0
  104. data/res/generators/templates/model/new.erb +22 -19
  105. data/res/generators/templates/model/show.erb +22 -14
  106. data/res/prebuild_base_app/app/index.erb +31 -18
  107. data/res/prebuild_base_app/app/layout.erb +11 -56
  108. data/version +1 -1
  109. metadata +59 -24
  110. data/res/generators/templates/application/public/css/android.css +0 -418
  111. data/res/generators/templates/application/public/css/iphone.css +0 -378
  112. data/res/generators/templates/application/public/css/jqmobile-patch.css +0 -62
  113. data/res/generators/templates/application/public/css/re_webkit.css +0 -736
  114. data/res/generators/templates/application/public/css/re_webkit_flat.css +0 -753
  115. data/res/generators/templates/application/public/css/windows_mobile.css +0 -327
  116. data/res/generators/templates/application/public/jqmobile/images/ajax-loader.gif +0 -0
  117. data/res/generators/templates/application/public/jqmobile/images/icon-search-black.png +0 -0
  118. data/res/generators/templates/application/public/jqmobile/images/icons-18-black.png +0 -0
  119. data/res/generators/templates/application/public/jqmobile/images/icons-18-white.png +0 -0
  120. data/res/generators/templates/application/public/jqmobile/images/icons-36-black.png +0 -0
  121. data/res/generators/templates/application/public/jqmobile/images/icons-36-white.png +0 -0
  122. data/res/generators/templates/application/public/jqmobile/jquery.mobile-1.4.5.min.css +0 -3
  123. data/res/generators/templates/application/public/jqmobile/jquery.mobile-1.4.5.min.js +0 -10
  124. data/res/generators/templates/application/public/jqmobile/jquery.mobile-1.4.5.min.map +0 -1
  125. data/res/generators/templates/application/public/jqmobile/jquery.mobile.structure-1.4.5.min.css +0 -3
  126. data/res/generators/templates/application/public/jqmobile/jquery.mobile.theme-1.4.5.min.css +0 -3
  127. data/res/generators/templates/application/public/jquery/jquery-1.9.1.min.js +0 -5
  128. data/res/generators/templates/application/public/jquery/jquery-1.9.1.min.map +0 -1
  129. data/res/generators/templates/application/public/js/application.js +0 -1
  130. data/res/generators/templates/application/public/js/jqmobile-patch.js +0 -466
  131. data/res/generators/templates/application/public/js/syncengine.js +0 -504
@@ -48,7 +48,6 @@
48
48
 
49
49
  //- (UIView*)view;
50
50
 
51
- - (UIWebView*)detachWebView;
52
51
 
53
52
  - (void)loadHTMLString:(NSString*)data;
54
53
 
@@ -68,7 +67,8 @@
68
67
  - (void)addNavBar:(NSString*)title left:(NSArray*)left right:(NSArray*)right;
69
68
  - (void)removeNavBar;
70
69
 
71
- - (UIWebView*)getWebView:(int)tab_index;
70
+ - (id<RhoWebView,NSObject>)getRhoWebView:(int)tab_index;
71
+ - (id<RhoWebView,NSObject>)detachRhoWebView;
72
72
 
73
73
  -(void)callCallback:(int)new_index;
74
74
 
@@ -142,7 +142,7 @@ void rho_webview_refresh(int index);
142
142
  SimpleMainView *subController = nil;
143
143
  //SimpleMainView *subController = [[SimpleMainView alloc] initWithParentView:parent.view frame:rect];
144
144
  if (is_use_current_view_for_tab) {
145
- subController = [[SimpleMainView alloc] initWithParentView:parent.view frame:rect webview:[[parent getCreationTimeMainView] detachWebView]];
145
+ subController = [[SimpleMainView alloc] initWithParentView:parent.view frame:rect rhowebview:[[parent getCreationTimeMainView] detachRhoWebView]];
146
146
  }
147
147
  else {
148
148
  subController = [[SimpleMainView alloc] initWithParentView:parent.view frame:rect];
@@ -262,11 +262,6 @@ void rho_webview_refresh(int index);
262
262
  }
263
263
 
264
264
 
265
- - (UIWebView*)detachWebView {
266
- SimpleMainView* v = [self getSimpleView:-1];
267
- return [v detachWebView];
268
- }
269
-
270
265
  - (void)loadHTMLString:(NSString*)data {
271
266
  SimpleMainView* v = [self getSimpleView:-1];
272
267
  [v loadHTMLString:data];
@@ -376,12 +371,16 @@ void rho_webview_refresh(int index);
376
371
  [v removeNavBar];
377
372
  }
378
373
 
379
- - (UIWebView*)getWebView:(int)tab_index {
380
- SimpleMainView* v = [self getSimpleView:index];
381
- return [v getWebView:tab_index];
382
- }
383
374
 
375
+ - (id<RhoWebView,NSObject>)getRhoWebView:(int)tab_index {
376
+ SimpleMainView* v = [self getSimpleView:index];
377
+ return [v getRhoWebView:tab_index];
378
+ }
384
379
 
380
+ - (id<RhoWebView,NSObject>)detachRhoWebView {
381
+ SimpleMainView* v = [self getSimpleView:-1];
382
+ return [v detachRhoWebView];
383
+ }
385
384
 
386
385
  - (void)dealloc {
387
386
  [itemsData release];
@@ -50,8 +50,6 @@
50
50
 
51
51
  //- (UIView*)view;
52
52
 
53
- - (UIWebView*)detachWebView;
54
-
55
53
  - (void)loadHTMLString:(NSString*)data;
56
54
 
57
55
  - (void)back:(int)index;
@@ -70,7 +68,8 @@
70
68
  - (void)addNavBar:(NSString*)title left:(NSArray*)left right:(NSArray*)right;
71
69
  - (void)removeNavBar;
72
70
 
73
- - (UIWebView*)getWebView:(int)tab_index;
71
+ - (id<RhoWebView,NSObject>)getRhoWebView:(int)tab_index;
72
+ - (id<RhoWebView,NSObject>)detachRhoWebView;
74
73
 
75
74
  - (id<RhoMainView>)getCreationTimeMainView;
76
75
 
@@ -238,11 +238,18 @@ static void updateViewRect(CGRect* pRect)
238
238
  }
239
239
 
240
240
 
241
- - (UIWebView*)detachWebView {
242
- RightViewController* rvc = [self getRightViewController];
243
- return [rvc detachWebView];
241
+ - (id<RhoWebView,NSObject>)getRhoWebView:(int)tab_index {
242
+ RightViewController* rvc = [self getRightViewController];
243
+ return [rvc getRhoWebView:tab_index];
244
+ }
245
+
246
+ - (id<RhoWebView,NSObject>)detachRhoWebView {
247
+ RightViewController* rvc = [self getRightViewController];
248
+ return [rvc detachRhoWebView];
244
249
  }
245
250
 
251
+
252
+
246
253
  - (void)loadHTMLString:(NSString*)data {
247
254
  RightViewController* rvc = [self getRightViewController];
248
255
  [rvc loadHTMLString:data];
@@ -329,10 +336,6 @@ static void updateViewRect(CGRect* pRect)
329
336
  [rvc removeNavBar];
330
337
  }
331
338
 
332
- - (UIWebView*)getWebView:(int)tab_index {
333
- RightViewController* rvc = [self getRightViewController];
334
- return [rvc getWebView:tab_index];
335
- }
336
339
 
337
340
  -(void)setTabBarBadge:(NSString*)badge_text tab_index:(int)tab_index {
338
341
  // nothing
@@ -64,7 +64,8 @@
64
64
 
65
65
  - (id)initWithMainView:(id<RhoMainView>)v parent:(UIWindow*)p bar_info:(NSDictionary*)bar_info;
66
66
 
67
- - (UIWebView*)getWebView:(int)tab_index;
67
+ - (id<RhoWebView,NSObject>)getRhoWebView:(int)tab_index;
68
+ - (id<RhoWebView,NSObject>)detachRhoWebView;
68
69
 
69
70
  - (void)onViewWillActivate:(RhoViewController*)view;
70
71
 
@@ -493,7 +493,7 @@
493
493
  }
494
494
  else {
495
495
  if (is_use_current_view_for_tab) {
496
- subController = [[SimpleMainView alloc] initWithParentView:tabbar.view frame:childFrame webview:[v detachWebView]];
496
+ subController = [[SimpleMainView alloc] initWithParentView:tabbar.view frame:childFrame rhowebview:[v detachRhoWebView]];
497
497
  }
498
498
  else {
499
499
  subController = [[SimpleMainView alloc] initWithParentView:tabbar.view frame:childFrame];
@@ -631,11 +631,21 @@
631
631
  }
632
632
 
633
633
  // RhoMainView implementation
634
- - (UIWebView*)detachWebView {
634
+
635
+
636
+ - (id<RhoWebView,NSObject>)getRhoWebView:(int)tab_index {
637
+ if (tab_index == -1) {
638
+ tab_index = [self activeTab];
639
+ }
640
+ return [[self subView:tab_index] getRhoWebView:-1];
641
+ }
642
+
643
+ - (id<RhoWebView,NSObject>)detachRhoWebView {
635
644
  int n = [self activeTab];
636
- return [[self subView:n] detachWebView];
645
+ return [[self subView:n] detachRhoWebView];
637
646
  }
638
647
 
648
+
639
649
  - (void)loadHTMLString:(NSString *)data {
640
650
  [[self subView:[self activeTab]] loadHTMLString:data];
641
651
  }
@@ -755,13 +765,6 @@
755
765
  return tabindex;
756
766
  }
757
767
 
758
- - (UIWebView*)getWebView:(int)tab_index {
759
- if (tab_index == -1) {
760
- tab_index = [self activeTab];
761
- }
762
- return [[self subView:tab_index] getWebView:-1];
763
- }
764
-
765
768
 
766
769
  - (void)addNavBar:(NSString*)title left:(NSArray*)left right:(NSArray*)right {
767
770
  [[self subView:[self activeTab]] addNavBar:title left:left right:right];
@@ -166,8 +166,20 @@ int on_http_cb(http_parser* parser) { return 0; }
166
166
  //our URL;
167
167
  if ( ([url host] == nil) && ([url port] == nil ) && ( [url scheme]==nil) && ( [url path] != nil ) )
168
168
  {
169
- NSMutableString* s = [NSMutableString stringWithFormat:@"http://127.0.0.1:%d%@",rho_http_get_port(),[url path]];
169
+ NSMutableString* s = nil;//[NSMutableString stringWithFormat:@"https://127.0.0.1:%d%@",rho_http_get_port(),[url path]];
170
170
 
171
+ bool force_https = false;
172
+ if (rho_conf_is_property_exists("ios_https_local_server")!=0) {
173
+ force_https = rho_conf_getBool("ios_https_local_server")!=0;
174
+ }
175
+ if (force_https) {
176
+ s = [NSMutableString stringWithFormat:@"https://127.0.0.1:%d%@",rho_http_get_port(),[url path]];
177
+ }
178
+ else {
179
+ s = [NSMutableString stringWithFormat:@"http://127.0.0.1:%d%@",rho_http_get_port(),[url path]];
180
+ }
181
+
182
+
171
183
  if ( [url query] != nil )
172
184
  {
173
185
  // decode query back to original state
@@ -317,6 +329,13 @@ int on_http_cb(http_parser* parser) { return 0; }
317
329
  return NO;
318
330
  }
319
331
 
332
+ const char* scheme = [[url scheme] UTF8String];
333
+ if (scheme != 0) {
334
+ if ((strcmp(scheme, "http") !=0 ) && (strcmp(scheme, "https") !=0 )) {
335
+ return NO;
336
+ }
337
+ }
338
+
320
339
  const char* host = [[url host] UTF8String];
321
340
 
322
341
  if ( 0 == host )
@@ -324,16 +343,13 @@ int on_http_cb(http_parser* parser) { return 0; }
324
343
  return YES;
325
344
  }
326
345
 
327
- const char* scheme = [[url scheme] UTF8String];
328
-
329
346
  NSNumber* p = [url port];
330
347
  int port = (nil==p)?80:[[url port] intValue];
331
348
 
332
349
  int rhoPort = rho_http_get_port();
333
350
 
334
351
  return (
335
- ( (0==scheme) || (strcmp(scheme, "http") ==0 ))
336
- && ((port == rhoPort))
352
+ ((port == rhoPort))
337
353
  && ( (strcmp(host,"127.0.0.1")==0) || (strcmp(host,"localhost")==0) )
338
354
  );
339
355
  }
@@ -224,7 +224,7 @@ void rho_webview_set_cookie(const char *u, const char *c)
224
224
 
225
225
  void rho_webview_save(const char* format, const char* path, int tab_index)
226
226
  {
227
- UIView *webvw = [[[Rhodes sharedInstance] mainView] getWebView:tab_index];
227
+ UIView *webvw = [[[[Rhodes sharedInstance] mainView] getRhoWebView:tab_index] view];
228
228
 
229
229
  webvw.frame=CGRectMake(webvw.frame.origin.x, webvw.frame.origin.y, webvw.frame.size.width, webvw.frame.size.height);
230
230
  UIGraphicsBeginImageContextWithOptions(webvw.frame.size, NO, 0.0f);
@@ -9,7 +9,6 @@
9
9
  /* Begin PBXBuildFile section */
10
10
  C04F28E019CAF3CA003E34BD /* RunnableWrapper.h in Headers */ = {isa = PBXBuildFile; fileRef = C04F28DE19CAF3CA003E34BD /* RunnableWrapper.h */; };
11
11
  C04F28E119CAF3CA003E34BD /* RunnableWrapper.mm in Sources */ = {isa = PBXBuildFile; fileRef = C04F28DF19CAF3CA003E34BD /* RunnableWrapper.mm */; };
12
- C5BA525F1A93ADF90095DE4A /* NetRequestImpl.mm in Sources */ = {isa = PBXBuildFile; fileRef = C5BA525E1A93ADF90095DE4A /* NetRequestImpl.mm */; };
13
12
  C5BA525F1A93ADF90095DE4A /* IPhoneNetRequest.mm in Sources */ = {isa = PBXBuildFile; fileRef = C5BA525E1A93ADF90095DE4A /* IPhoneNetRequest.mm */; };
14
13
  C5DFBB31185B6FB400DB6BDB /* IAppMessageReceiver.h in Headers */ = {isa = PBXBuildFile; fileRef = C5DFBB30185B6FB400DB6BDB /* IAppMessageReceiver.h */; };
15
14
  FA11F249192121BF00FB1301 /* IRhoExtension.h in Headers */ = {isa = PBXBuildFile; fileRef = FA11F248192121BF00FB1301 /* IRhoExtension.h */; };
@@ -120,11 +119,18 @@
120
119
  FA89817D18917EB700AF5E39 /* SignatureViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = FA20C286182B04140036D304 /* SignatureViewController.m */; };
121
120
  FA89817E18917EBA00AF5E39 /* SignatureParam.h in Headers */ = {isa = PBXBuildFile; fileRef = FA20C287182B04140036D304 /* SignatureParam.h */; };
122
121
  FAA5A5AE182B0E9B00590B1F /* rhorunner_Prefix.pch in Headers */ = {isa = PBXBuildFile; fileRef = FAA5A5AD182B0E9B00590B1F /* rhorunner_Prefix.pch */; };
122
+ FAA714911DDCA89E00E5E7AD /* RhoWebView.h in Headers */ = {isa = PBXBuildFile; fileRef = FAA714901DDCA89E00E5E7AD /* RhoWebView.h */; };
123
+ FAA714961DDCAB6D00E5E7AD /* RhoUIWebView.h in Headers */ = {isa = PBXBuildFile; fileRef = FAA714921DDCAB6D00E5E7AD /* RhoUIWebView.h */; };
124
+ FAA714971DDCAB6D00E5E7AD /* RhoUIWebView.m in Sources */ = {isa = PBXBuildFile; fileRef = FAA714931DDCAB6D00E5E7AD /* RhoUIWebView.m */; };
125
+ FAA714981DDCAB6D00E5E7AD /* RhoWKWebView.h in Headers */ = {isa = PBXBuildFile; fileRef = FAA714941DDCAB6D00E5E7AD /* RhoWKWebView.h */; };
126
+ FAA714991DDCAB6D00E5E7AD /* RhoWKWebView.m in Sources */ = {isa = PBXBuildFile; fileRef = FAA714951DDCAB6D00E5E7AD /* RhoWKWebView.m */; };
127
+ FAA7149F1DDCAE2B00E5E7AD /* RhoWebViewFabrique.h in Headers */ = {isa = PBXBuildFile; fileRef = FAA7149D1DDCAE2B00E5E7AD /* RhoWebViewFabrique.h */; };
128
+ FAA714A01DDCAE2B00E5E7AD /* RhoWebViewFabrique.m in Sources */ = {isa = PBXBuildFile; fileRef = FAA7149E1DDCAE2B00E5E7AD /* RhoWebViewFabrique.m */; };
123
129
  /* End PBXBuildFile section */
124
130
 
125
131
  /* Begin PBXFileReference section */
126
132
  C04F28DE19CAF3CA003E34BD /* RunnableWrapper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RunnableWrapper.h; sourceTree = "<group>"; };
127
- C04F28DF19CAF3CA003E34BD /* RunnableWrapper.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = RunnableWrapper.mm; sourceTree = "<group>"; };
133
+ C04F28DF19CAF3CA003E34BD /* RunnableWrapper.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = RunnableWrapper.mm; sourceTree = "<group>"; };
128
134
  C5BA525D1A93AD6D0095DE4A /* IPhoneNetRequest.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = IPhoneNetRequest.h; path = rho/net/IPhoneNetRequest.h; sourceTree = "<group>"; };
129
135
  C5BA525E1A93ADF90095DE4A /* IPhoneNetRequest.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = IPhoneNetRequest.mm; path = rho/net/IPhoneNetRequest.mm; sourceTree = "<group>"; };
130
136
  C5DFBB30185B6FB400DB6BDB /* IAppMessageReceiver.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IAppMessageReceiver.h; sourceTree = "<group>"; };
@@ -245,6 +251,14 @@
245
251
  FA20C299182B04140036D304 /* SplashViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SplashViewController.m; sourceTree = "<group>"; };
246
252
  FA20C29A182B04140036D304 /* IPushNotificationsReceiver.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = IPushNotificationsReceiver.h; sourceTree = "<group>"; };
247
253
  FAA5A5AD182B0E9B00590B1F /* rhorunner_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = rhorunner_Prefix.pch; path = ../rhorunner_Prefix.pch; sourceTree = "<group>"; };
254
+ FAA714901DDCA89E00E5E7AD /* RhoWebView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RhoWebView.h; sourceTree = "<group>"; };
255
+ FAA714921DDCAB6D00E5E7AD /* RhoUIWebView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RhoUIWebView.h; sourceTree = "<group>"; };
256
+ FAA714931DDCAB6D00E5E7AD /* RhoUIWebView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RhoUIWebView.m; sourceTree = "<group>"; };
257
+ FAA714941DDCAB6D00E5E7AD /* RhoWKWebView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RhoWKWebView.h; sourceTree = "<group>"; };
258
+ FAA714951DDCAB6D00E5E7AD /* RhoWKWebView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RhoWKWebView.m; sourceTree = "<group>"; };
259
+ FAA7149B1DDCADC100E5E7AD /* WebKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WebKit.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.1.sdk/System/Library/Frameworks/WebKit.framework; sourceTree = DEVELOPER_DIR; };
260
+ FAA7149D1DDCAE2B00E5E7AD /* RhoWebViewFabrique.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RhoWebViewFabrique.h; sourceTree = "<group>"; };
261
+ FAA7149E1DDCAE2B00E5E7AD /* RhoWebViewFabrique.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RhoWebViewFabrique.m; sourceTree = "<group>"; };
248
262
  /* End PBXFileReference section */
249
263
 
250
264
  /* Begin PBXFrameworksBuildPhase section */
@@ -265,6 +279,7 @@
265
279
  08FB7795FE84155DC02AAC07 /* Source */,
266
280
  C6A0FF2B0290797F04C91782 /* Documentation */,
267
281
  1AB674ADFE9D54B511CA2CBB /* Products */,
282
+ FAA7149A1DDCADC100E5E7AD /* Frameworks */,
268
283
  );
269
284
  name = RhoAppBaseLib;
270
285
  sourceTree = "<group>";
@@ -438,6 +453,13 @@
438
453
  FA20C254182B04140036D304 /* MainView */ = {
439
454
  isa = PBXGroup;
440
455
  children = (
456
+ FAA7149D1DDCAE2B00E5E7AD /* RhoWebViewFabrique.h */,
457
+ FAA7149E1DDCAE2B00E5E7AD /* RhoWebViewFabrique.m */,
458
+ FAA714921DDCAB6D00E5E7AD /* RhoUIWebView.h */,
459
+ FAA714931DDCAB6D00E5E7AD /* RhoUIWebView.m */,
460
+ FAA714941DDCAB6D00E5E7AD /* RhoWKWebView.h */,
461
+ FAA714951DDCAB6D00E5E7AD /* RhoWKWebView.m */,
462
+ FAA714901DDCA89E00E5E7AD /* RhoWebView.h */,
441
463
  FA20C24E182B04140036D304 /* SplitView */,
442
464
  FA20C24F182B04140036D304 /* RhoMainView.h */,
443
465
  FA20C250182B04140036D304 /* SimpleMainView.h */,
@@ -628,6 +650,14 @@
628
650
  path = ../Classes;
629
651
  sourceTree = "<group>";
630
652
  };
653
+ FAA7149A1DDCADC100E5E7AD /* Frameworks */ = {
654
+ isa = PBXGroup;
655
+ children = (
656
+ FAA7149B1DDCADC100E5E7AD /* WebKit.framework */,
657
+ );
658
+ name = Frameworks;
659
+ sourceTree = "<group>";
660
+ };
631
661
  /* End PBXGroup section */
632
662
 
633
663
  /* Begin PBXHeadersBuildPhase section */
@@ -647,9 +677,11 @@
647
677
  FA20C2E1182B07D10036D304 /* RhoMapViewController.h in Headers */,
648
678
  FA20C2BA182B07A50036D304 /* RhoAlert.h in Headers */,
649
679
  FA20C300182B07EE0036D304 /* sslimpl.h in Headers */,
680
+ FAA714911DDCA89E00E5E7AD /* RhoWebView.h in Headers */,
650
681
  FA20C2CA182B07BA0036D304 /* Event.h in Headers */,
651
682
  FA11F2521921224400FB1301 /* RhoExtManagerSingletone.h in Headers */,
652
683
  FA20C307182B08080036D304 /* NetworkStatusMonitor.h in Headers */,
684
+ FAA714981DDCAB6D00E5E7AD /* RhoWKWebView.h in Headers */,
653
685
  FA20C2ED182B07DA0036D304 /* NVViewController.h in Headers */,
654
686
  FA20C2EF182B07DA0036D304 /* NVDelegate.h in Headers */,
655
687
  FA20C2F7182B07EB0036D304 /* RhoCryptImpl.h in Headers */,
@@ -658,6 +690,7 @@
658
690
  FA20C30B182B08080036D304 /* RhoDelegate.h in Headers */,
659
691
  FA20C2C0182B07AA0036D304 /* AppManagerI.h in Headers */,
660
692
  FA20C2DF182B07CB0036D304 /* TabbedMainView.h in Headers */,
693
+ FAA7149F1DDCAE2B00E5E7AD /* RhoWebViewFabrique.h in Headers */,
661
694
  FA20C2FD182B07EB0036D304 /* SplashScreenImpl.h in Headers */,
662
695
  FA20C311182B08080036D304 /* SplashViewController.h in Headers */,
663
696
  FA20C30F182B08080036D304 /* RhoViewController.h in Headers */,
@@ -688,6 +721,7 @@
688
721
  FA20C2EB182B07D50036D304 /* NativeBar.h in Headers */,
689
722
  FA20C313182B08080036D304 /* IPushNotificationsReceiver.h in Headers */,
690
723
  FA20C2BE182B07AA0036D304 /* AppManager.h in Headers */,
724
+ FAA714961DDCAB6D00E5E7AD /* RhoUIWebView.h in Headers */,
691
725
  FA20C2B8182B07A10036D304 /* CRhoURLProtocol.h in Headers */,
692
726
  FA20C2D2182B07C50036D304 /* LogOptionsController.h in Headers */,
693
727
  FA20C2CF182B07C50036D304 /* InitMemoryInfoCollector.h in Headers */,
@@ -749,8 +783,9 @@
749
783
  files = (
750
784
  FA20C2C9182B07B60036D304 /* DateTimePickerViewController.m in Sources */,
751
785
  FA11F2531921224400FB1301 /* RhoExtManagerSingletone.m in Sources */,
786
+ FAA714991DDCAB6D00E5E7AD /* RhoWKWebView.m in Sources */,
752
787
  FA11F24F1921221E00FB1301 /* RhoExtManagerImpl.m in Sources */,
753
- FA87B5DD1A82A1B00073EE44 /* PickImageDelegate.m in Sources */,
788
+ FA87B5DD1A82A1B00073EE44 /* PickImageDelegate.m in Sources */,
754
789
  FA20C303182B07F20036D304 /* RingtoneManager.m in Sources */,
755
790
  FA20C2EC182B07D50036D304 /* NativeBar.m in Sources */,
756
791
  FA20C2CE182B07C40036D304 /* InitMemoryInfoCollector.mm in Sources */,
@@ -764,6 +799,7 @@
764
799
  FA20C30C182B08080036D304 /* RhoDelegate.m in Sources */,
765
800
  FA20C2F8182B07EB0036D304 /* RhoCryptImpl.mm in Sources */,
766
801
  FA20C2C7182B07B60036D304 /* DateTimePicker.m in Sources */,
802
+ FAA714A01DDCAE2B00E5E7AD /* RhoWebViewFabrique.m in Sources */,
767
803
  FA20C2FE182B07EB0036D304 /* SplashScreenImpl.cpp in Sources */,
768
804
  FA89817918917EAD00AF5E39 /* SignatureView.m in Sources */,
769
805
  FA20C2D7182B07CB0036D304 /* RightViewController.m in Sources */,
@@ -772,6 +808,7 @@
772
808
  FA20C2F6182B07E20036D304 /* phonebook.m in Sources */,
773
809
  FA20C2D0182B07C50036D304 /* LogViewController.m in Sources */,
774
810
  FA20C2C6182B07B60036D304 /* DateTime.m in Sources */,
811
+ FAA714971DDCAB6D00E5E7AD /* RhoUIWebView.m in Sources */,
775
812
  FA20C2CD182B07BE0036D304 /* LocationController.m in Sources */,
776
813
  FA20C2EA182B07D10036D304 /* MapAnnotation.m in Sources */,
777
814
  FA20C2E4182B07D10036D304 /* MapViewManager.m in Sources */,
@@ -104,6 +104,7 @@
104
104
  FA1D452618D9E2BC0010CCF9 /* app_build_capabilities.h in Headers */ = {isa = PBXBuildFile; fileRef = FA1D452518D9E2BC0010CCF9 /* app_build_capabilities.h */; };
105
105
  FA5F58E012ADDA6D00C7613A /* app_build_configs.h in Headers */ = {isa = PBXBuildFile; fileRef = FA5F58DE12ADDA6D00C7613A /* app_build_configs.h */; };
106
106
  FA6B222617026477009D1398 /* MethodResultConvertor.h in Headers */ = {isa = PBXBuildFile; fileRef = FA6B222517026477009D1398 /* MethodResultConvertor.h */; };
107
+ FAA714A91DDE5B6F00E5E7AD /* RhoNativeViewManager.h in Headers */ = {isa = PBXBuildFile; fileRef = FAA714A81DDE5B6F00E5E7AD /* RhoNativeViewManager.h */; };
107
108
  FAC6EE5B143B1FC800B8E352 /* BaseMapEngine.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FAC6EE4F143B1FC800B8E352 /* BaseMapEngine.cpp */; };
108
109
  FAC6EE5C143B1FC800B8E352 /* BaseMapEngine.h in Headers */ = {isa = PBXBuildFile; fileRef = FAC6EE50143B1FC800B8E352 /* BaseMapEngine.h */; };
109
110
  FAC6EE5D143B1FC800B8E352 /* ESRIMapEngine.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FAC6EE51143B1FC800B8E352 /* ESRIMapEngine.cpp */; };
@@ -239,6 +240,7 @@
239
240
  FA5F58DD12ADDA6D00C7613A /* app_build_configs.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = app_build_configs.c; path = ../../shared/common/app_build_configs.c; sourceTree = SOURCE_ROOT; };
240
241
  FA5F58DE12ADDA6D00C7613A /* app_build_configs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = app_build_configs.h; path = ../../shared/common/app_build_configs.h; sourceTree = SOURCE_ROOT; };
241
242
  FA6B222517026477009D1398 /* MethodResultConvertor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = MethodResultConvertor.h; path = ../../shared/api_generator/MethodResultConvertor.h; sourceTree = "<group>"; };
243
+ FAA714A81DDE5B6F00E5E7AD /* RhoNativeViewManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RhoNativeViewManager.h; path = ../../shared/common/RhoNativeViewManager.h; sourceTree = "<group>"; };
242
244
  FAC6EE4F143B1FC800B8E352 /* BaseMapEngine.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = BaseMapEngine.cpp; path = ../../shared/common/map/BaseMapEngine.cpp; sourceTree = "<group>"; };
243
245
  FAC6EE50143B1FC800B8E352 /* BaseMapEngine.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = BaseMapEngine.h; path = ../../shared/common/map/BaseMapEngine.h; sourceTree = "<group>"; };
244
246
  FAC6EE51143B1FC800B8E352 /* ESRIMapEngine.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ESRIMapEngine.cpp; path = ../../shared/common/map/ESRIMapEngine.cpp; sourceTree = "<group>"; };
@@ -354,6 +356,7 @@
354
356
  5C7162600F8B7DEE0096B6AA /* common */ = {
355
357
  isa = PBXGroup;
356
358
  children = (
359
+ FAA714A81DDE5B6F00E5E7AD /* RhoNativeViewManager.h */,
357
360
  FA1D452518D9E2BC0010CCF9 /* app_build_capabilities.h */,
358
361
  FAC6EE4C143B1F1E00B8E352 /* map */,
359
362
  A22F9EFD14605D12006D8F1A /* phonebook */,
@@ -585,6 +588,7 @@
585
588
  BDD11ECE113664E700349BE3 /* rhoparams.h in Headers */,
586
589
  5C798935113BD148005F8736 /* GeoLocation.h in Headers */,
587
590
  BD8DF8891147C8090041A968 /* SplashScreen.h in Headers */,
591
+ FAA714A91DDE5B6F00E5E7AD /* RhoNativeViewManager.h in Headers */,
588
592
  5C59BF4E115B4BC300E96ADE /* unzip.h in Headers */,
589
593
  5CCD7EBD116CE2D5005E6CA3 /* AppMenu.h in Headers */,
590
594
  5CA2DE9111B01EF000B868D5 /* ThreadQueue.h in Headers */,
@@ -1921,6 +1921,32 @@ namespace "build" do
1921
1921
  end
1922
1922
  end
1923
1923
 
1924
+ #http_connection_domains
1925
+ if !hash.has_key?("NSAppTransportSecurity")
1926
+ hash['NSAppTransportSecurity'] = {}
1927
+ end
1928
+ if !hash['NSAppTransportSecurity'].has_key?("NSAllowsArbitraryLoads")
1929
+ hash['NSAppTransportSecurity']['NSAllowsArbitraryLoads'] = true
1930
+ end
1931
+ if !hash['NSAppTransportSecurity'].has_key?("NSAllowsArbitraryLoadsInWebContent")
1932
+ hash['NSAppTransportSecurity']['NSAllowsArbitraryLoadsInWebContent'] = true
1933
+ end
1934
+ if $app_config["iphone"].has_key?("http_connection_domains")
1935
+ http_connection_domains = $app_config["iphone"]["http_connection_domains"]
1936
+ if http_connection_domains.kind_of?(Array)
1937
+ hash['NSAppTransportSecurity']['NSExceptionDomains'] = {}
1938
+ http_connection_domains.each do |domain|
1939
+ domain_hash = {}
1940
+ domain_hash['NSIncludesSubdomains'] = true
1941
+ domain_hash['NSTemporaryExceptionAllowsInsecureHTTPLoads'] = true
1942
+ domain_hash['NSTemporaryExceptionMinimumTLSVersion'] = 'TLSv1.0'
1943
+
1944
+ hash['NSAppTransportSecurity']['NSExceptionDomains'][domain.to_s] = domain_hash
1945
+ end
1946
+ end
1947
+ end
1948
+
1949
+
1924
1950
  set_app_icon(false)
1925
1951
  set_default_images(false, hash)
1926
1952
  end
@@ -2033,6 +2059,31 @@ namespace "build" do
2033
2059
  end
2034
2060
  end
2035
2061
 
2062
+ #http_connection_domains
2063
+ if !hash.has_key?("NSAppTransportSecurity")
2064
+ hash['NSAppTransportSecurity'] = {}
2065
+ end
2066
+ if !hash['NSAppTransportSecurity'].has_key?("NSAllowsArbitraryLoads")
2067
+ hash['NSAppTransportSecurity']['NSAllowsArbitraryLoads'] = true
2068
+ end
2069
+ if !hash['NSAppTransportSecurity'].has_key?("NSAllowsArbitraryLoadsInWebContent")
2070
+ hash['NSAppTransportSecurity']['NSAllowsArbitraryLoadsInWebContent'] = true
2071
+ end
2072
+ if $app_config["iphone"].has_key?("http_connection_domains")
2073
+ http_connection_domains = $app_config["iphone"]["http_connection_domains"]
2074
+ if http_connection_domains.kind_of?(Array)
2075
+ hash['NSAppTransportSecurity']['NSExceptionDomains'] = {}
2076
+ http_connection_domains.each do |domain|
2077
+ domain_hash = {}
2078
+ domain_hash['NSIncludesSubdomains'] = true
2079
+ domain_hash['NSTemporaryExceptionAllowsInsecureHTTPLoads'] = true
2080
+ domain_hash['NSTemporaryExceptionMinimumTLSVersion'] = 'TLSv1.0'
2081
+
2082
+ hash['NSAppTransportSecurity']['NSExceptionDomains'][domain.to_s] = domain_hash
2083
+ end
2084
+ end
2085
+ end
2086
+
2036
2087
  set_app_icon(false)
2037
2088
  set_default_images(false, hash)
2038
2089
  end