rhodes 5.5.0.3 → 5.5.0.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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