rhodes 6.2.0 → 7.1.17

Sign up to get free protection for your applications and to get access to all the features.
Files changed (553) hide show
  1. checksums.yaml +4 -4
  2. data/Rakefile +14 -10
  3. data/appveyor.yml +1 -1
  4. data/extensions/emdk3-manager/ext/platform/android/Rakefile +2 -0
  5. data/extensions/rhoconnect-push/ext/rhoconnect-push/platform/android/Rakefile +18 -1
  6. data/extensions/rhoelementsext/ext/rhoelementsext/platform/android/Rakefile +19 -1
  7. data/lib/commonAPI/RubyServer/ext.yml +21 -0
  8. data/lib/commonAPI/RubyServer/ext/RubyServer.xml +101 -0
  9. data/lib/commonAPI/RubyServer/ext/build +19 -0
  10. data/lib/commonAPI/RubyServer/ext/build.bat +29 -0
  11. data/lib/commonAPI/RubyServer/ext/platform/android/Rakefile +161 -0
  12. data/lib/commonAPI/RubyServer/ext/platform/android/ext_java.files +9 -0
  13. data/lib/commonAPI/RubyServer/ext/platform/android/ext_native.files +7 -0
  14. data/lib/commonAPI/RubyServer/ext/platform/iphone/Rakefile +73 -0
  15. data/lib/commonAPI/RubyServer/ext/platform/iphone/RubyServer.xcodeproj/project.pbxproj +322 -0
  16. data/lib/commonAPI/RubyServer/ext/platform/iphone/RubyServer_Prefix.pch +7 -0
  17. data/lib/commonAPI/RubyServer/ext/shared/RubyServerImpl.cpp +242 -0
  18. data/lib/commonAPI/barcode/ext/platform/android/src/com/rho/barcode/BarcodeFactory.java +23 -3
  19. data/lib/commonAPI/barcode/ext/platform/android/src/com/rho/barcode/BarcodeRhoExtension.java +68 -8
  20. data/lib/commonAPI/barcode/ext/platform/iphone/Barcode.xcodeproj/project.pbxproj +24 -52
  21. data/lib/commonAPI/barcode/ext/platform/iphone/Classes/BarcodeViewController.h +38 -10
  22. data/lib/commonAPI/barcode/ext/platform/iphone/Classes/BarcodeViewController.m +300 -22
  23. data/lib/commonAPI/barcode/ext/platform/iphone/Classes/BarcodeViewFactory.mm +6 -0
  24. data/lib/commonAPI/barcode/ext/platform/iphone/Classes/barcode.m +6 -2
  25. data/lib/commonAPI/barcode/ext/platform/iphone/impl/Barcode.m +7 -3
  26. data/lib/commonAPI/barcode/ext/platform/iphone/impl/BarcodeFactory.m +13 -0
  27. data/lib/commonAPI/barcode/ext/platform/iphone/impl/BarcodeSingleton.m +25 -3
  28. data/lib/commonAPI/bluetooth/ext/platform/android/Rakefile +29 -10
  29. data/lib/commonAPI/clipboard/ext/platform/android/Rakefile +29 -10
  30. data/lib/commonAPI/coreapi/ext/Notification.xml +47 -0
  31. data/lib/commonAPI/coreapi/ext/platform/android/ApplicationManifestAdds.erb +1 -0
  32. data/lib/commonAPI/coreapi/ext/platform/android/Rakefile +19 -0
  33. data/lib/commonAPI/coreapi/ext/platform/android/ext_java.files +2 -0
  34. data/lib/commonAPI/coreapi/ext/platform/android/src/com/rho/notification/AlarmReceiver.java +27 -0
  35. data/lib/commonAPI/coreapi/ext/platform/android/src/com/rho/notification/Notification.java +28 -10
  36. data/lib/commonAPI/coreapi/ext/platform/android/src/com/rho/notification/NotificationFactory.java +14 -1
  37. data/lib/commonAPI/coreapi/ext/platform/android/src/com/rho/notification/NotificationScheduler.java +260 -0
  38. data/lib/commonAPI/coreapi/ext/platform/android/src/com/rho/notification/NotificationSingleton.java +23 -1
  39. data/lib/commonAPI/coreapi/ext/platform/iphone/Coreapi.xcodeproj/project.pbxproj +21 -19
  40. data/lib/commonAPI/coreapi/ext/platform/iphone/impl/NotificationSingleton.h +1 -0
  41. data/lib/commonAPI/coreapi/ext/platform/iphone/impl/NotificationSingleton.m +234 -1
  42. data/lib/commonAPI/coreapi/ext/platform/qt/coreapi.pro +2 -0
  43. data/lib/commonAPI/coreapi/ext/platform/qt/src/CNotificationImpl.cpp +7 -0
  44. data/lib/commonAPI/coreapi/ext/shared/ApplicationImpl.cpp +5 -0
  45. data/lib/commonAPI/coreapi/public/api/rhoapi.js +18 -8
  46. data/lib/commonAPI/devicesecurity/ext/platform/android/Rakefile +19 -0
  47. data/lib/commonAPI/devicesecurity/ext/platform/iphone/DeviceSecurity.xcodeproj/project.pbxproj +16 -0
  48. data/lib/commonAPI/hardwarekeys/ext/keycapture.xml +11 -9
  49. data/lib/commonAPI/hardwarekeys/ext/platform/iphone/impl/KeyCaptureSingleton.h +5 -3
  50. data/lib/commonAPI/hardwarekeys/ext/platform/iphone/impl/KeyCaptureSingleton.m +80 -67
  51. data/lib/commonAPI/mediacapture/ext/platform/android/src/com/rho/camera/CameraEclair.java +25 -14
  52. data/lib/commonAPI/mediacapture/ext/platform/android/src/com/rho/camera/CameraGingerbread.java +55 -25
  53. data/lib/commonAPI/mediacapture/ext/platform/android/src/com/rho/camera/CameraObject.java +34 -9
  54. data/lib/commonAPI/mediacapture/ext/platform/android/src/com/rho/camera/ICameraObject.java +1 -0
  55. data/lib/commonAPI/printing_zebra/ext/platform/android/Rakefile +18 -0
  56. data/lib/commonAPI/sensor/ext/platform/android/src/com/rho/sensor/Sensor.java +4 -4
  57. data/lib/extensions/decrypt/ext/platform/android/Rakefile +19 -1
  58. data/lib/extensions/decryptstub/ext/platform/android/Rakefile +19 -0
  59. data/lib/extensions/decryptstub/ext/platform/iphone/Decryptstub.xcodeproj/project.pbxproj +4 -2
  60. data/lib/extensions/digest-md5/ext/android/Rakefile +18 -0
  61. data/lib/extensions/digest-sha1/ext/android/Rakefile +18 -0
  62. data/lib/extensions/digest-sha2/ext/android/Rakefile +18 -0
  63. data/lib/extensions/esri/ext/esri/platform/iphone/Classes/MapViewControllerESRI.h +19 -19
  64. data/lib/extensions/fcm-push/ext/android/Rakefile +18 -0
  65. data/lib/extensions/fcm-push/ext/android/src/com/rhomobile/rhodes/fcm/FCMIntentService.java +38 -16
  66. data/lib/extensions/gcm-push/ext/android/Rakefile +19 -0
  67. data/lib/extensions/keyboard/ext.yml +15 -0
  68. data/lib/extensions/keyboard/ext/Keyboard.xml +28 -0
  69. data/lib/extensions/keyboard/ext/build +19 -0
  70. data/lib/extensions/keyboard/ext/build.bat +29 -0
  71. data/lib/extensions/keyboard/ext/platform/android/Rakefile +141 -0
  72. data/lib/extensions/keyboard/ext/platform/android/ext_java.files +9 -0
  73. data/lib/extensions/keyboard/ext/platform/android/ext_native.files +7 -0
  74. data/lib/extensions/keyboard/ext/platform/android/jni/Keyboard_impl.cpp +61 -0
  75. data/lib/extensions/keyboard/ext/platform/android/src/com/rho/keyboard/Keyboard.java +32 -0
  76. data/lib/extensions/keyboard/ext/platform/android/src/com/rho/keyboard/KeyboardFactory.java +18 -0
  77. data/lib/extensions/keyboard/ext/platform/android/src/com/rho/keyboard/KeyboardSingleton.java +29 -0
  78. data/lib/extensions/keyboard/ext/platform/iphone/Keyboard.xcodeproj/project.pbxproj +368 -0
  79. data/lib/extensions/keyboard/ext/platform/iphone/Keyboard_Prefix.pch +7 -0
  80. data/lib/extensions/keyboard/ext/platform/iphone/Rakefile +73 -0
  81. data/lib/extensions/keyboard/ext/platform/iphone/impl/Keyboard.h +14 -0
  82. data/lib/extensions/keyboard/ext/platform/iphone/impl/Keyboard.m +24 -0
  83. data/lib/extensions/keyboard/ext/platform/iphone/impl/KeyboardFactorySingleton.m +16 -0
  84. data/lib/extensions/keyboard/ext/platform/iphone/impl/KeyboardSetup.m +9 -0
  85. data/lib/extensions/keyboard/ext/platform/iphone/impl/KeyboardSingleton.h +17 -0
  86. data/lib/extensions/keyboard/ext/platform/iphone/impl/KeyboardSingleton.m +23 -0
  87. data/lib/extensions/keyboard/ext/platform/iphone/impl/readme.txt +7 -0
  88. data/lib/extensions/keyboard/ext/platform/qt/Keyboard.pro +68 -0
  89. data/lib/extensions/keyboard/ext/platform/qt/Makefile +473 -0
  90. data/lib/extensions/keyboard/ext/platform/qt/Makefile.Release +408 -0
  91. data/lib/extensions/keyboard/ext/platform/qt/Rakefile +39 -0
  92. data/lib/extensions/keyboard/ext/platform/qt/src/Keyboard_impl.cpp +99 -0
  93. data/lib/extensions/keyboard/ext/platform/uwp/Keyboard.props +18 -0
  94. data/lib/extensions/keyboard/ext/platform/uwp/Keyboard.vcxproj +197 -0
  95. data/lib/extensions/keyboard/ext/platform/uwp/Keyboard.vcxproj.filters +50 -0
  96. data/lib/extensions/keyboard/ext/platform/uwp/KeyboardImpl.csproj +119 -0
  97. data/lib/extensions/keyboard/ext/platform/uwp/KeyboardImpl.props +8 -0
  98. data/lib/extensions/keyboard/ext/platform/uwp/KeyboardImpl.targets +7 -0
  99. data/lib/extensions/keyboard/ext/platform/uwp/KeyboardLib.props +18 -0
  100. data/lib/extensions/keyboard/ext/platform/uwp/KeyboardLib.vcxproj +197 -0
  101. data/lib/extensions/keyboard/ext/platform/uwp/KeyboardLib.vcxproj.filters +58 -0
  102. data/lib/extensions/keyboard/ext/platform/uwp/src/Keyboard_impl.cpp +76 -0
  103. data/lib/extensions/keyboard/ext/platform/uwp/src/Keyboard_impl.cs +69 -0
  104. data/lib/extensions/keyboard/ext/platform/uwp/src/Properties/AssemblyInfo.cs +37 -0
  105. data/lib/extensions/keyboard/ext/platform/wm/Keyboard.sln +52 -0
  106. data/lib/extensions/keyboard/ext/platform/wm/Keyboard.vcproj +714 -0
  107. data/lib/extensions/keyboard/ext/platform/wm/Keyboard.vsprops +15 -0
  108. data/lib/extensions/keyboard/ext/platform/wm/src/Keyboard_impl.cpp +77 -0
  109. data/lib/extensions/openssl.so.src/ext/android/Rakefile +18 -0
  110. data/lib/extensions/openssl.so/ext/android/aarch64/libopenssl.so.a +0 -0
  111. data/lib/extensions/openssl.so/ext/iphone/OpenSSl.SDK/howtobuild.txt +2 -0
  112. data/lib/extensions/openssl.so/ext/iphone/OpenSSl.SDK/libcrypto.a +0 -0
  113. data/lib/extensions/openssl.so/ext/iphone/OpenSSl.SDK/libssl.a +0 -0
  114. data/lib/extensions/openssl.so/ext/iphone/Release-iphoneos/libopenssl.so.a +0 -0
  115. data/lib/extensions/openssl.so/ext/iphone/Release-iphonesimulator/libopenssl.so.a +0 -0
  116. data/lib/extensions/openssl/ext/android/Rakefile +18 -0
  117. data/lib/extensions/zlib/ext/zlib.c +5 -1
  118. data/lib/framework/autocomplete/Rhodes.rb +1 -1
  119. data/lib/framework/rhodes.rb +1 -1
  120. data/lib/framework/set.rb +799 -0
  121. data/lib/framework/version.rb +1 -1
  122. data/lib/rhodes.rb +1 -1
  123. data/platform/android/Rhodes/AndroidManifest.xml.erb +11 -2
  124. data/platform/android/Rhodes/jni/include/rhodes.h +6 -0
  125. data/platform/android/Rhodes/jni/include/rhodes/RhoClassFactory.h +3 -0
  126. data/platform/android/Rhodes/jni/include/rhodes/SecurityTokenGenerator.h +30 -0
  127. data/platform/android/Rhodes/jni/include/rhodes/details/rhojava.inc +1 -0
  128. data/platform/android/Rhodes/jni/src/JNIRhoRubyCppWrapper.cpp +408 -0
  129. data/platform/android/Rhodes/jni/src/RhoClassFactory.cpp +7 -0
  130. data/platform/android/Rhodes/jni/src/SecurityTokenGenerator.cpp +60 -0
  131. data/platform/android/Rhodes/jni/src/fileapi.cpp +318 -12
  132. data/platform/android/Rhodes/jni/src/mapview.cpp +4 -0
  133. data/platform/android/Rhodes/res/drawable/ic_notification.png +0 -0
  134. data/platform/android/Rhodes/res/xml/network_security_config.xml +7 -0
  135. data/platform/android/Rhodes/src/com/rhomobile/rhodes/BaseActivity.java +9 -0
  136. data/platform/android/Rhodes/src/com/rhomobile/rhodes/LocalFileProvider.java +1 -1
  137. data/platform/android/Rhodes/src/com/rhomobile/rhodes/RhoMain.java +8 -0
  138. data/platform/android/Rhodes/src/com/rhomobile/rhodes/RhoRubyArrayObjects.java +33 -0
  139. data/platform/android/Rhodes/src/com/rhomobile/rhodes/RhoRubyClassObject.java +20 -0
  140. data/platform/android/Rhodes/src/com/rhomobile/rhodes/RhoRubyObject.java +115 -0
  141. data/platform/android/Rhodes/src/com/rhomobile/rhodes/RhoRubySingleton.java +52 -0
  142. data/platform/android/Rhodes/src/com/rhomobile/rhodes/RhoRubyTypes.java +15 -0
  143. data/platform/android/Rhodes/src/com/rhomobile/rhodes/RhodesService.java +25 -13
  144. data/platform/android/Rhodes/src/com/rhomobile/rhodes/SecurityTokenGenerator.java +57 -0
  145. data/platform/android/Rhodes/src/com/rhomobile/rhodes/extmanager/RhoExtManagerImpl.java +1 -1
  146. data/platform/android/Rhodes/src/com/rhomobile/rhodes/mainview/SimpleMainView.java +9 -2
  147. data/platform/android/Rhodes/src/com/rhomobile/rhodes/osfunctionality/AndroidFunctionality.java +3 -0
  148. data/platform/android/Rhodes/src/com/rhomobile/rhodes/osfunctionality/AndroidFunctionality01.java +7 -0
  149. data/platform/android/Rhodes/src/com/rhomobile/rhodes/osfunctionality/AndroidFunctionality11.java +13 -1
  150. data/platform/android/Rhodes/src/com/rhomobile/rhodes/osfunctionality/AndroidFunctionality26.java +105 -0
  151. data/platform/android/Rhodes/src/com/rhomobile/rhodes/osfunctionality/AndroidFunctionalityManager.java +4 -1
  152. data/platform/android/Rhodes/src/com/rhomobile/rhodes/socket/SSLImpl.java +24 -4
  153. data/platform/android/Rhodes/src/com/rhomobile/rhodes/webview/GoogleWebView.java +20 -1
  154. data/platform/android/Rhodes/src/com/rhomobile/rhodes/webview/RhoWebViewClient.java +10 -0
  155. data/platform/android/build/Rakefile +30 -1
  156. data/platform/android/build/RhodesSRC_build.files +8 -0
  157. data/platform/android/build/android.rake +326 -22
  158. data/platform/android/build/android_tools.rb +36 -3
  159. data/platform/android/build/androidcommon.rb +97 -44
  160. data/platform/android/build/librhocommon_build.files +11 -0
  161. data/platform/android/build/librhodes_build.files +2 -0
  162. data/platform/android/build/manifest_generator.rb +9 -2
  163. data/platform/android/build/maven_deps_extractor.rb +96 -15
  164. data/platform/android/build/ndkwrapper.rb +111 -16
  165. data/platform/android/build/pom.erb +2 -2
  166. data/platform/iphone/Classes/AppManager/AppManager.m +31 -1
  167. data/platform/iphone/Classes/MapView/GoogleGeocoder.h +3 -3
  168. data/platform/iphone/Classes/RhoMainViewStubImpl.h +38 -0
  169. data/platform/iphone/Classes/RhoMainViewStubImpl.m +88 -0
  170. data/platform/iphone/Classes/RhoUIWebView.h +5 -0
  171. data/platform/iphone/Classes/RhoUIWebView.m +14 -6
  172. data/platform/iphone/Classes/{RhoWKWebView.m → RhoWKWebView.mm} +98 -18
  173. data/platform/iphone/Classes/RhoWebView.h +1 -1
  174. data/platform/iphone/Classes/RhoWebViewFabrique.m +24 -12
  175. data/platform/iphone/Classes/Rhodes.h +7 -2
  176. data/platform/iphone/Classes/Rhodes.m +46 -8
  177. data/platform/iphone/Classes/SimpleMainView.m +22 -13
  178. data/platform/iphone/Classes/URLProtocol/CRhoURLProtocol.h +32 -3
  179. data/platform/iphone/Classes/URLProtocol/CRhoURLProtocol.m +93 -61
  180. data/platform/iphone/Classes/URLProtocol/CRhoWKURLProtocol.h +22 -0
  181. data/platform/iphone/Classes/URLProtocol/CRhoWKURLProtocol.m +246 -0
  182. data/platform/iphone/Classes/WebView.m +14 -2
  183. data/platform/iphone/Entitlements.plist +1 -1
  184. data/platform/iphone/Framework/RhoApplication/RhoApplication.xcodeproj/project.pbxproj +399 -0
  185. data/platform/iphone/Framework/Rhodes/Rhodes.xcodeproj/project.pbxproj +1208 -0
  186. data/platform/iphone/Framework/Rhodes/Rhodes/Info.plist +24 -0
  187. data/platform/iphone/Framework/Rhodes/Rhodes/Rhodes.h +21 -0
  188. data/platform/iphone/Framework/Rhodes/Rhodes/StubCode.m +15 -0
  189. data/platform/iphone/Info.plist +1 -3
  190. data/platform/iphone/RhoAppBaseLib/RhoAppBaseLib.xcodeproj/project.pbxproj +511 -4
  191. data/platform/iphone/RhoLib/RhoLib.xcodeproj/project.pbxproj +467 -1
  192. data/platform/iphone/Rhodes.xcodeproj/project.pbxproj +51 -274
  193. data/platform/iphone/RhodesBaseDelegate.h +1 -1
  194. data/platform/iphone/curl/curl.xcodeproj/project.pbxproj +85 -3
  195. data/platform/iphone/rbuild/ApplicationPlist.erb +1 -1
  196. data/platform/iphone/rbuild/iphone.rake +497 -25
  197. data/platform/iphone/rbuild/iphonecommon.rb +15 -6
  198. data/platform/iphone/rhodes_stub.cpp +15 -0
  199. data/platform/iphone/rhodeslib/api/RhodesLib.h +28 -0
  200. data/platform/iphone/rhodeslib/impl/RhodesLib.m +52 -0
  201. data/platform/iphone/rhodesruby/api/IRefCountedObject.h +20 -0
  202. data/platform/iphone/rhodesruby/api/IRhoRuby.h +72 -0
  203. data/platform/iphone/rhodesruby/api/IRhoRubyArray.h +12 -0
  204. data/platform/iphone/rhodesruby/api/IRhoRubyBoolean.h +11 -0
  205. data/platform/iphone/rhodesruby/api/IRhoRubyFloat.h +10 -0
  206. data/platform/iphone/rhodesruby/api/IRhoRubyHash.h +15 -0
  207. data/platform/iphone/rhodesruby/api/IRhoRubyInteger.h +10 -0
  208. data/platform/iphone/rhodesruby/api/IRhoRubyMutableArray.h +9 -0
  209. data/platform/iphone/rhodesruby/api/IRhoRubyMutableBoolean.h +10 -0
  210. data/platform/iphone/rhodesruby/api/IRhoRubyMutableFloat.h +10 -0
  211. data/platform/iphone/rhodesruby/api/IRhoRubyMutableHash.h +10 -0
  212. data/platform/iphone/rhodesruby/api/IRhoRubyMutableInteger.h +10 -0
  213. data/platform/iphone/rhodesruby/api/IRhoRubyMutableString.h +10 -0
  214. data/platform/iphone/rhodesruby/api/IRhoRubyNativeCallback.h +9 -0
  215. data/platform/iphone/rhodesruby/api/IRhoRubyNil.h +10 -0
  216. data/platform/iphone/rhodesruby/api/IRhoRubyObject.h +37 -0
  217. data/platform/iphone/rhodesruby/api/IRhoRubyRunnable.h +8 -0
  218. data/platform/iphone/rhodesruby/api/IRhoRubyString.h +10 -0
  219. data/platform/iphone/rhodesruby/api/RhoRuby.h +26 -0
  220. data/platform/iphone/rhodesruby/api/RhoRubySingletone.h +14 -0
  221. data/platform/iphone/rhodesruby/impl/RhoRubyFabrique.h +10 -0
  222. data/platform/iphone/rhodesruby/impl/RhoRubyImpl.h +56 -0
  223. data/platform/iphone/rhodesruby/impl/RhoRubyImpl.mm +432 -0
  224. data/platform/iphone/rhodesruby/impl/RhoRubyMutableArrayImpl.h +24 -0
  225. data/platform/iphone/rhodesruby/impl/RhoRubyMutableArrayImpl.mm +43 -0
  226. data/platform/iphone/rhodesruby/impl/RhoRubyMutableBooleanImpl.h +23 -0
  227. data/platform/iphone/rhodesruby/impl/RhoRubyMutableBooleanImpl.mm +38 -0
  228. data/platform/iphone/rhodesruby/impl/RhoRubyMutableFloatImpl.h +23 -0
  229. data/platform/iphone/rhodesruby/impl/RhoRubyMutableFloatImpl.mm +35 -0
  230. data/platform/iphone/rhodesruby/impl/RhoRubyMutableHashImpl.h +24 -0
  231. data/platform/iphone/rhodesruby/impl/RhoRubyMutableHashImpl.mm +48 -0
  232. data/platform/iphone/rhodesruby/impl/RhoRubyMutableIntegerImpl.h +23 -0
  233. data/platform/iphone/rhodesruby/impl/RhoRubyMutableIntegerImpl.mm +35 -0
  234. data/platform/iphone/rhodesruby/impl/RhoRubyMutableStringImpl.h +23 -0
  235. data/platform/iphone/rhodesruby/impl/RhoRubyMutableStringImpl.mm +35 -0
  236. data/platform/iphone/rhodesruby/impl/RhoRubyNilImpl.h +22 -0
  237. data/platform/iphone/rhodesruby/impl/RhoRubyNilImpl.mm +11 -0
  238. data/platform/iphone/rhodesruby/impl/RhoRubyObjectImpl.h +31 -0
  239. data/platform/iphone/rhodesruby/impl/RhoRubyObjectImpl.mm +49 -0
  240. data/platform/iphone/rhodesruby/impl/RhoRubySingletone.m +19 -0
  241. data/platform/iphone/rhodesruby/impl/RubyServerResponceImpl.h +21 -0
  242. data/platform/iphone/rhodesruby/impl/RubyServerResponceImpl.mm +32 -0
  243. data/platform/iphone/rhoextlib/rhoextlib.xcodeproj/project.pbxproj +79 -0
  244. data/platform/iphone/rhorubylib/rhorubylib.xcodeproj/project.pbxproj +91 -0
  245. data/platform/iphone/rhosynclib/rhosynclib.xcodeproj/project.pbxproj +85 -0
  246. data/platform/osx/bin/RhoSimulator/RhoSimulator.app.zip +0 -0
  247. data/platform/shared/common/IRhoClassFactory.h +2 -0
  248. data/platform/shared/common/ISecurityTokenGenerator.h +16 -0
  249. data/platform/shared/common/RhoFile.cpp +11 -0
  250. data/platform/shared/common/RhoMath.h +14 -0
  251. data/platform/shared/common/RhoMutexLock.h +13 -0
  252. data/platform/shared/common/RhoSystem.h +1 -1
  253. data/platform/shared/common/RhoThread.cpp +25 -0
  254. data/platform/shared/common/RhodesApp.cpp +52 -6
  255. data/platform/shared/common/RhodesApp.h +25 -1
  256. data/platform/shared/common/RhodesAppBase.cpp +4 -2
  257. data/platform/shared/common/RhodesAppBase.h +5 -0
  258. data/platform/shared/common/iphone/RhoClassfactory.h +6 -0
  259. data/platform/shared/common/iphone/RhoCryptImpl.mm +21 -2
  260. data/platform/shared/common/map/BaseMapEngine.cpp +2 -2
  261. data/platform/shared/common/map/GeocodingMapEngine.cpp +1 -1
  262. data/platform/shared/common/map/GoogleMapEngine.cpp +1 -1
  263. data/platform/shared/common/map/OSMMapEngine.cpp +1 -1
  264. data/platform/shared/curl/lib/curl_config.h +28 -0
  265. data/platform/shared/db/DBAdapter.cpp +18 -10
  266. data/platform/shared/json.new/JSONIterator.cpp +2 -2
  267. data/platform/shared/net/HttpServer.cpp +32 -0
  268. data/platform/shared/net/HttpServer.h +15 -0
  269. data/platform/shared/net/INetRequest.cpp +54 -0
  270. data/platform/shared/qt/RhoRubylib.pro +10 -0
  271. data/platform/shared/qt/rhodes/impl/AlertImpl.cpp +13 -0
  272. data/platform/shared/qt/rhodes/impl/CameraImpl.cpp +6 -0
  273. data/platform/shared/qt/rhodes/impl/DateTimePickerImpl.cpp +4 -0
  274. data/platform/shared/qt/rhodes/impl/MainWindowImpl.cpp +36 -7
  275. data/platform/shared/qt/rhodes/impl/MainWindowImpl.h +12 -1
  276. data/platform/shared/qt/rhodes/impl/NativeTabbarImpl.cpp +21 -2
  277. data/platform/shared/qt/rhodes/impl/NativeTabbarImpl.h +1 -0
  278. data/platform/shared/qt/rhodes/impl/NativeToolbarImpl.cpp +10 -0
  279. data/platform/shared/qt/rhodes/impl/QtSystemImpl.cpp +55 -3
  280. data/platform/shared/qt/rhodes/impl/RhoClassFactoryImpl.h +11 -0
  281. data/platform/shared/qt/rhodes/impl/RhoThreadImpl.cpp +71 -7
  282. data/platform/shared/qt/rhodes/impl/RhoThreadImpl.h +79 -2
  283. data/platform/shared/qt/rhodes/impl/RhodesImpl.cpp +16 -6
  284. data/platform/shared/qt/rhodes/impl/SecurityTokenGeneratorImpl.cpp +37 -0
  285. data/platform/shared/qt/rhodes/impl/SecurityTokenGeneratorImpl.h +25 -0
  286. data/platform/shared/qt/rhodes/impl/SignatureImpl.cpp +2 -0
  287. data/platform/shared/qt/rhodes/impl/WebViewImpl.cpp +27 -0
  288. data/platform/shared/qt/rhodes/impl/notificationsound.cpp +16 -2
  289. data/platform/shared/qt/rhodes/impl/notificationsound.h +11 -1
  290. data/platform/shared/qt/rhodes/newVersion/QtMainWindow.cpp +25 -16
  291. data/platform/shared/qt/rhodes/newVersion/QtMainWindow.h +3 -0
  292. data/platform/shared/qt/rhodes/newVersion/WebUrlRequestInterceptor.cpp +17 -0
  293. data/platform/shared/qt/rhodes/rhodes.pro +68 -14
  294. data/platform/shared/qt/rhodes/rhorubyVersion/rhodeslib.cpp +148 -0
  295. data/platform/shared/qt/rhodes/rhorubyVersion/rhodeslib.h +12 -0
  296. data/platform/shared/qt/rholib/rholib.pro +33 -5
  297. data/platform/shared/qt/rhoruby_win32_build.bat +19 -0
  298. data/platform/shared/qt/rhoruby_win32_build_debug.bat +19 -0
  299. data/platform/shared/qt/rhosimulator_win32_build_debug.bat +19 -0
  300. data/platform/shared/qt/rubylib/rubylib.pro +1 -0
  301. data/platform/shared/qt/sqlite3/sqlite3.pro +1 -0
  302. data/platform/shared/qt/syncengine/syncengine.pro +1 -0
  303. data/platform/shared/rhoruby/api/IArray.h +20 -0
  304. data/platform/shared/rhoruby/api/IBoolean.h +17 -0
  305. data/platform/shared/rhoruby/api/IFloat.h +17 -0
  306. data/platform/shared/rhoruby/api/IHash.h +23 -0
  307. data/platform/shared/rhoruby/api/IInteger.h +18 -0
  308. data/platform/shared/rhoruby/api/IMutableArray.h +18 -0
  309. data/platform/shared/rhoruby/api/IMutableBoolean.h +18 -0
  310. data/platform/shared/rhoruby/api/IMutableFloat.h +17 -0
  311. data/platform/shared/rhoruby/api/IMutableHash.h +18 -0
  312. data/platform/shared/rhoruby/api/IMutableInteger.h +17 -0
  313. data/platform/shared/rhoruby/api/IMutableString.h +17 -0
  314. data/platform/shared/rhoruby/api/INil.h +16 -0
  315. data/platform/shared/rhoruby/api/IObject.h +46 -0
  316. data/platform/shared/rhoruby/api/IRefCountedObject.h +20 -0
  317. data/platform/shared/rhoruby/api/IRhoRuby.h +78 -0
  318. data/platform/shared/rhoruby/api/IRunnable.h +17 -0
  319. data/platform/shared/rhoruby/api/IString.h +17 -0
  320. data/platform/shared/rhoruby/api/RhoRuby.h +29 -0
  321. data/platform/shared/rhoruby/api/RhoRubySingletone.h +19 -0
  322. data/platform/shared/rhoruby/api/SmartPointer.h +27 -0
  323. data/platform/shared/rhoruby/impl/MutableArrayImpl.cpp +54 -0
  324. data/platform/shared/rhoruby/impl/MutableArrayImpl.h +48 -0
  325. data/platform/shared/rhoruby/impl/MutableBooleanImpl.cpp +44 -0
  326. data/platform/shared/rhoruby/impl/MutableBooleanImpl.h +44 -0
  327. data/platform/shared/rhoruby/impl/MutableFloatImpl.cpp +41 -0
  328. data/platform/shared/rhoruby/impl/MutableFloatImpl.h +44 -0
  329. data/platform/shared/rhoruby/impl/MutableHashImpl.cpp +64 -0
  330. data/platform/shared/rhoruby/impl/MutableHashImpl.h +49 -0
  331. data/platform/shared/rhoruby/impl/MutableIntegerImpl.cpp +41 -0
  332. data/platform/shared/rhoruby/impl/MutableIntegerImpl.h +44 -0
  333. data/platform/shared/rhoruby/impl/MutableStringImpl.cpp +52 -0
  334. data/platform/shared/rhoruby/impl/MutableStringImpl.h +44 -0
  335. data/platform/shared/rhoruby/impl/NilImpl.cpp +23 -0
  336. data/platform/shared/rhoruby/impl/NilImpl.h +32 -0
  337. data/platform/shared/rhoruby/impl/ObjectImpl.cpp +77 -0
  338. data/platform/shared/rhoruby/impl/ObjectImpl.h +53 -0
  339. data/platform/shared/rhoruby/impl/RefCountedObjectImpl.cpp +28 -0
  340. data/platform/shared/rhoruby/impl/RefCountedObjectImpl.h +33 -0
  341. data/platform/shared/rhoruby/impl/RhoRubyImpl.cpp +799 -0
  342. data/platform/shared/rhoruby/impl/RhoRubyImpl.h +81 -0
  343. data/platform/shared/rhoruby/impl/RhoRubySingletone.cpp +20 -0
  344. data/platform/shared/rhoruby/impl/RubyServerResponceImpl.cpp +32 -0
  345. data/platform/shared/rhoruby/impl/RubyServerResponceImpl.h +21 -0
  346. data/platform/shared/ruby/android/ruby/config.h +55 -3
  347. data/platform/shared/ruby/error.c +1 -1
  348. data/platform/shared/ruby/ext/rho/rhoruby.c +60 -7
  349. data/platform/shared/ruby/ext/rho/rhoruby.h +3 -0
  350. data/platform/shared/rubyext/NativeToolbarExt.h +1 -0
  351. data/platform/uwp/rhodes/rhodes_TemporaryKey.pfx +0 -0
  352. data/platform/uwp/rhoruntime/common/RhoClassFactory.h +6 -0
  353. data/platform/win32/RhoSimulator/Qt5Core.dll +0 -0
  354. data/platform/win32/RhoSimulator/Qt5Gui.dll +0 -0
  355. data/platform/win32/RhoSimulator/Qt5Multimedia.dll +0 -0
  356. data/platform/win32/RhoSimulator/Qt5Network.dll +0 -0
  357. data/platform/win32/RhoSimulator/Qt5Positioning.dll +0 -0
  358. data/platform/win32/RhoSimulator/Qt5PrintSupport.dll +0 -0
  359. data/platform/win32/RhoSimulator/Qt5Qml.dll +0 -0
  360. data/platform/win32/RhoSimulator/Qt5Quick.dll +0 -0
  361. data/platform/win32/RhoSimulator/Qt5QuickWidgets.dll +0 -0
  362. data/platform/win32/RhoSimulator/Qt5SerialPort.dll +0 -0
  363. data/platform/win32/RhoSimulator/Qt5Svg.dll +0 -0
  364. data/platform/win32/RhoSimulator/Qt5WebChannel.dll +0 -0
  365. data/platform/win32/RhoSimulator/Qt5WebEngine.dll +0 -0
  366. data/platform/win32/RhoSimulator/Qt5WebEngineCore.dll +0 -0
  367. data/platform/win32/RhoSimulator/Qt5WebEngineWidgets.dll +0 -0
  368. data/platform/win32/RhoSimulator/Qt5Widgets.dll +0 -0
  369. data/platform/win32/RhoSimulator/QtWebEngineProcess.exe +0 -0
  370. data/platform/win32/RhoSimulator/RhoSimulator.exe +0 -0
  371. data/platform/win32/RhoSimulator/audio/qtaudio_wasapi.dll +0 -0
  372. data/platform/win32/RhoSimulator/audio/qtaudio_windows.dll +0 -0
  373. data/platform/win32/RhoSimulator/bearer/qgenericbearer.dll +0 -0
  374. data/platform/win32/RhoSimulator/iconengines/qsvgicon.dll +0 -0
  375. data/platform/win32/RhoSimulator/imageformats/qgif.dll +0 -0
  376. data/platform/win32/RhoSimulator/imageformats/qicns.dll +0 -0
  377. data/platform/win32/RhoSimulator/imageformats/qico.dll +0 -0
  378. data/platform/win32/RhoSimulator/imageformats/qjpeg.dll +0 -0
  379. data/platform/win32/RhoSimulator/imageformats/qsvg.dll +0 -0
  380. data/platform/win32/RhoSimulator/imageformats/qtga.dll +0 -0
  381. data/platform/win32/RhoSimulator/imageformats/qtiff.dll +0 -0
  382. data/platform/win32/RhoSimulator/imageformats/qwbmp.dll +0 -0
  383. data/platform/win32/RhoSimulator/imageformats/qwebp.dll +0 -0
  384. data/platform/win32/RhoSimulator/libEGL.dll +0 -0
  385. data/platform/win32/RhoSimulator/libGLESV2.dll +0 -0
  386. data/platform/win32/RhoSimulator/mediaservice/dsengine.dll +0 -0
  387. data/platform/win32/RhoSimulator/mediaservice/qtmedia_audioengine.dll +0 -0
  388. data/platform/win32/RhoSimulator/mediaservice/wmfengine.dll +0 -0
  389. data/platform/win32/RhoSimulator/platforms/qwindows.dll +0 -0
  390. data/platform/win32/RhoSimulator/playlistformats/qtmultimedia_m3u.dll +0 -0
  391. data/platform/win32/RhoSimulator/position/qtposition_geoclue.dll +0 -0
  392. data/platform/win32/RhoSimulator/position/qtposition_positionpoll.dll +0 -0
  393. data/platform/win32/RhoSimulator/position/qtposition_serialnmea.dll +0 -0
  394. data/platform/win32/RhoSimulator/position/qtposition_winrt.dll +0 -0
  395. data/platform/win32/RhoSimulator/printsupport/windowsprintersupport.dll +0 -0
  396. data/platform/wm/build/wm.rake +110 -5
  397. data/platform/wm/rhodes/rho/common/ExtManager.cpp +30 -0
  398. data/platform/wm/rhodes/rho/common/RhoClassFactory.h +6 -0
  399. data/platform/wm/rhodes/rho/rubyext/SystemImpl.cpp +3 -0
  400. data/platform/wm/rubylib/rubylib.vcxproj +6 -0
  401. data/platform/wp8/rhoruntime/common/RhoClassFactory.h +6 -0
  402. data/rakefile.rb +14 -10
  403. data/res/build-tools/iphonesim/build/Release/iphonesim_8 +23 -15
  404. data/res/build-tools/maven/LICENSE +18 -89
  405. data/res/build-tools/maven/NOTICE +1 -1
  406. data/res/build-tools/maven/README.txt +12 -12
  407. data/res/build-tools/maven/bin/m2.conf +2 -2
  408. data/res/build-tools/maven/bin/mvn +122 -125
  409. data/res/build-tools/maven/bin/mvn.cmd +205 -0
  410. data/res/build-tools/maven/bin/mvnDebug +10 -176
  411. data/res/build-tools/maven/bin/mvnDebug.cmd +33 -0
  412. data/res/build-tools/maven/bin/mvnyjp +9 -181
  413. data/res/build-tools/maven/boot/plexus-classworlds-2.6.0.jar +0 -0
  414. data/res/build-tools/maven/conf/logging/simplelogger.properties +8 -1
  415. data/res/build-tools/maven/conf/settings.xml +1 -1
  416. data/res/build-tools/maven/conf/toolchains.xml +103 -0
  417. data/res/build-tools/maven/lib/animal-sniffer-annotations-1.14.jar +0 -0
  418. data/res/build-tools/maven/lib/animal-sniffer-annotations.license +14 -0
  419. data/res/build-tools/maven/lib/checker-compat-qual-2.0.0.jar +0 -0
  420. data/res/build-tools/maven/lib/checker-compat-qual.license +14 -0
  421. data/res/build-tools/maven/lib/commons-cli-1.4.jar +0 -0
  422. data/res/build-tools/maven/lib/commons-io-2.5.jar +0 -0
  423. data/res/build-tools/maven/lib/commons-lang3-3.8.1.jar +0 -0
  424. data/res/build-tools/maven/lib/error_prone_annotations-2.1.3.jar +0 -0
  425. data/res/build-tools/maven/lib/guava-25.1-android.jar +0 -0
  426. data/res/build-tools/maven/lib/guice-4.2.1-no_aop.jar +0 -0
  427. data/res/build-tools/maven/lib/j2objc-annotations-1.1.jar +0 -0
  428. data/res/build-tools/maven/lib/jansi-1.17.1.jar +0 -0
  429. data/res/build-tools/maven/lib/jansi-native/README.txt +7 -0
  430. data/res/build-tools/maven/lib/jansi-native/freebsd32/libjansi.so +0 -0
  431. data/res/build-tools/maven/lib/jansi-native/freebsd64/libjansi.so +0 -0
  432. data/res/build-tools/maven/lib/jansi-native/linux32/libjansi.so +0 -0
  433. data/res/build-tools/maven/lib/jansi-native/linux64/libjansi.so +0 -0
  434. data/res/build-tools/maven/lib/jansi-native/osx/libjansi.jnilib +0 -0
  435. data/res/build-tools/maven/lib/jansi-native/windows32/jansi.dll +0 -0
  436. data/res/build-tools/maven/lib/jansi-native/windows64/jansi.dll +0 -0
  437. data/res/build-tools/maven/lib/jcl-over-slf4j-1.7.25.jar +0 -0
  438. data/res/build-tools/maven/lib/jcl-over-slf4j.license +14 -0
  439. data/res/build-tools/maven/lib/jsr250-api.license +383 -405
  440. data/res/build-tools/maven/lib/jsr305-3.0.2.jar +0 -0
  441. data/res/build-tools/maven/lib/maven-artifact-3.6.1.jar +0 -0
  442. data/res/build-tools/maven/lib/maven-builder-support-3.6.1.jar +0 -0
  443. data/res/build-tools/maven/lib/maven-compat-3.6.1.jar +0 -0
  444. data/res/build-tools/maven/lib/maven-core-3.6.1.jar +0 -0
  445. data/res/build-tools/maven/lib/maven-embedder-3.6.1.jar +0 -0
  446. data/res/build-tools/maven/lib/maven-model-3.6.1.jar +0 -0
  447. data/res/build-tools/maven/lib/maven-model-builder-3.6.1.jar +0 -0
  448. data/res/build-tools/maven/lib/maven-plugin-api-3.6.1.jar +0 -0
  449. data/res/build-tools/maven/lib/maven-repository-metadata-3.6.1.jar +0 -0
  450. data/res/build-tools/maven/lib/maven-resolver-api-1.3.3.jar +0 -0
  451. data/res/build-tools/maven/lib/maven-resolver-connector-basic-1.3.3.jar +0 -0
  452. data/res/build-tools/maven/lib/maven-resolver-impl-1.3.3.jar +0 -0
  453. data/res/build-tools/maven/lib/maven-resolver-provider-3.6.1.jar +0 -0
  454. data/res/build-tools/maven/lib/maven-resolver-spi-1.3.3.jar +0 -0
  455. data/res/build-tools/maven/lib/maven-resolver-transport-wagon-1.3.3.jar +0 -0
  456. data/res/build-tools/maven/lib/maven-resolver-util-1.3.3.jar +0 -0
  457. data/res/build-tools/maven/lib/maven-settings-3.6.1.jar +0 -0
  458. data/res/build-tools/maven/lib/maven-settings-builder-3.6.1.jar +0 -0
  459. data/res/build-tools/maven/lib/maven-shared-utils-3.2.1.jar +0 -0
  460. data/res/build-tools/maven/lib/maven-slf4j-provider-3.6.1.jar +0 -0
  461. data/res/build-tools/maven/lib/org.eclipse.sisu.inject-0.3.3.jar +0 -0
  462. data/res/build-tools/maven/lib/org.eclipse.sisu.inject.license +210 -261
  463. data/res/build-tools/maven/lib/org.eclipse.sisu.plexus-0.3.3.jar +0 -0
  464. data/res/build-tools/maven/lib/org.eclipse.sisu.plexus.license +210 -261
  465. data/res/build-tools/maven/lib/plexus-component-annotations-1.7.1.jar +0 -0
  466. data/res/build-tools/maven/lib/plexus-interpolation-1.25.jar +0 -0
  467. data/res/build-tools/maven/lib/plexus-sec-dispatcher-1.4.jar +0 -0
  468. data/res/build-tools/maven/lib/plexus-utils-3.2.0.jar +0 -0
  469. data/res/build-tools/maven/lib/slf4j-api-1.7.25.jar +0 -0
  470. data/res/build-tools/maven/lib/slf4j-api.license +10 -186
  471. data/res/build-tools/maven/lib/wagon-file-3.3.2.jar +0 -0
  472. data/res/build-tools/maven/lib/wagon-http-3.3.2-shaded.jar +0 -0
  473. data/res/build-tools/maven/lib/wagon-provider-api-3.3.2.jar +0 -0
  474. data/res/generators/rhogen.rb +150 -0
  475. data/res/generators/templates/application/AndroidManifest.erb +13 -4
  476. data/res/generators/templates/application/build.yml +9 -0
  477. data/res/generators/templates/application/nodejs_build.yml +1 -1
  478. data/res/generators/templates/application/resources/android/res/xml/network_security_config.xml +7 -0
  479. data/res/generators/templates/application/rhoconfig.txt +13 -6
  480. data/res/generators/templates/application/rhoconfig_rubynode.txt +139 -0
  481. data/res/generators/templates/application/rubynodejs_build.yml +95 -0
  482. data/res/generators/templates/extension/extensions/montana/ext/platform/android/Rakefile +19 -0
  483. data/res/generators/templates/iphone_project/root/Entitlements.plist +1 -1
  484. data/res/generators/templates/iphone_project/root/Info.plist +1 -3
  485. data/res/generators/templates/iphone_project/root/rhorunner_development.entitlements +1 -1
  486. data/res/generators/templates/iphone_project/root/rhorunner_production.entitlements +1 -1
  487. data/rhodes.gemspec +2 -2
  488. data/version +1 -1
  489. metadata +244 -71
  490. data/res/build-tools/maven/bin/mvn.bat +0 -197
  491. data/res/build-tools/maven/bin/mvnDebug.bat +0 -200
  492. data/res/build-tools/maven/boot/plexus-classworlds-2.5.2.jar +0 -0
  493. data/res/build-tools/maven/lib/aether-api-1.0.0.v20140518.jar +0 -0
  494. data/res/build-tools/maven/lib/aether-api.license +0 -261
  495. data/res/build-tools/maven/lib/aether-connector-basic-1.0.0.v20140518.jar +0 -0
  496. data/res/build-tools/maven/lib/aether-connector-basic.license +0 -261
  497. data/res/build-tools/maven/lib/aether-impl-1.0.0.v20140518.jar +0 -0
  498. data/res/build-tools/maven/lib/aether-impl.license +0 -261
  499. data/res/build-tools/maven/lib/aether-spi-1.0.0.v20140518.jar +0 -0
  500. data/res/build-tools/maven/lib/aether-spi.license +0 -261
  501. data/res/build-tools/maven/lib/aether-transport-wagon-1.0.0.v20140518.jar +0 -0
  502. data/res/build-tools/maven/lib/aether-transport-wagon.license +0 -261
  503. data/res/build-tools/maven/lib/aether-util-1.0.0.v20140518.jar +0 -0
  504. data/res/build-tools/maven/lib/aether-util.license +0 -261
  505. data/res/build-tools/maven/lib/cdi-api.license +0 -445
  506. data/res/build-tools/maven/lib/commons-cli-1.2.jar +0 -0
  507. data/res/build-tools/maven/lib/commons-io-2.2.jar +0 -0
  508. data/res/build-tools/maven/lib/commons-lang-2.6.jar +0 -0
  509. data/res/build-tools/maven/lib/guava-18.0.jar +0 -0
  510. data/res/build-tools/maven/lib/jsoup-1.7.2.jar +0 -0
  511. data/res/build-tools/maven/lib/jsoup.license +0 -66
  512. data/res/build-tools/maven/lib/maven-aether-provider-3.2.5.jar +0 -0
  513. data/res/build-tools/maven/lib/maven-aether-provider.license +0 -202
  514. data/res/build-tools/maven/lib/maven-artifact-3.2.5.jar +0 -0
  515. data/res/build-tools/maven/lib/maven-artifact.license +0 -202
  516. data/res/build-tools/maven/lib/maven-compat-3.2.5.jar +0 -0
  517. data/res/build-tools/maven/lib/maven-compat.license +0 -202
  518. data/res/build-tools/maven/lib/maven-core-3.2.5.jar +0 -0
  519. data/res/build-tools/maven/lib/maven-core.license +0 -202
  520. data/res/build-tools/maven/lib/maven-embedder-3.2.5.jar +0 -0
  521. data/res/build-tools/maven/lib/maven-embedder.license +0 -202
  522. data/res/build-tools/maven/lib/maven-model-3.2.5.jar +0 -0
  523. data/res/build-tools/maven/lib/maven-model-builder-3.2.5.jar +0 -0
  524. data/res/build-tools/maven/lib/maven-model-builder.license +0 -202
  525. data/res/build-tools/maven/lib/maven-model.license +0 -202
  526. data/res/build-tools/maven/lib/maven-plugin-api-3.2.5.jar +0 -0
  527. data/res/build-tools/maven/lib/maven-plugin-api.license +0 -202
  528. data/res/build-tools/maven/lib/maven-repository-metadata-3.2.5.jar +0 -0
  529. data/res/build-tools/maven/lib/maven-repository-metadata.license +0 -202
  530. data/res/build-tools/maven/lib/maven-settings-3.2.5.jar +0 -0
  531. data/res/build-tools/maven/lib/maven-settings-builder-3.2.5.jar +0 -0
  532. data/res/build-tools/maven/lib/maven-settings-builder.license +0 -202
  533. data/res/build-tools/maven/lib/maven-settings.license +0 -202
  534. data/res/build-tools/maven/lib/org.eclipse.sisu.inject-0.3.0.M1.jar +0 -0
  535. data/res/build-tools/maven/lib/org.eclipse.sisu.plexus-0.3.0.M1.jar +0 -0
  536. data/res/build-tools/maven/lib/plexus-cipher.license +0 -445
  537. data/res/build-tools/maven/lib/plexus-component-annotations-1.5.5.jar +0 -0
  538. data/res/build-tools/maven/lib/plexus-interpolation-1.21.jar +0 -0
  539. data/res/build-tools/maven/lib/plexus-sec-dispatcher-1.3.jar +0 -0
  540. data/res/build-tools/maven/lib/plexus-sec-dispatcher.license +0 -445
  541. data/res/build-tools/maven/lib/plexus-utils-3.0.20.jar +0 -0
  542. data/res/build-tools/maven/lib/sisu-guice-3.2.3-no_aop.jar +0 -0
  543. data/res/build-tools/maven/lib/slf4j-api-1.7.5.jar +0 -0
  544. data/res/build-tools/maven/lib/slf4j-simple-1.7.5.jar +0 -0
  545. data/res/build-tools/maven/lib/slf4j-simple.license +0 -190
  546. data/res/build-tools/maven/lib/wagon-file-2.8.jar +0 -0
  547. data/res/build-tools/maven/lib/wagon-file.license +0 -202
  548. data/res/build-tools/maven/lib/wagon-http-2.8-shaded.jar +0 -0
  549. data/res/build-tools/maven/lib/wagon-http-shared-2.8.jar +0 -0
  550. data/res/build-tools/maven/lib/wagon-http-shared.license +0 -202
  551. data/res/build-tools/maven/lib/wagon-http.license +0 -202
  552. data/res/build-tools/maven/lib/wagon-provider-api-2.8.jar +0 -0
  553. data/res/build-tools/maven/lib/wagon-provider-api.license +0 -202
@@ -31,10 +31,75 @@
31
31
  #include "logging/RhoLog.h"
32
32
  #include "common/RhoConf.h"
33
33
 
34
+ #import "URLProtocol/CRhoWKURLProtocol.h"
35
+
34
36
 
35
37
  #undef DEFAULT_LOGCATEGORY
36
38
  #define DEFAULT_LOGCATEGORY "RhoWKWebView"
37
39
 
40
+ #import "common/app_build_capabilities.h"
41
+
42
+ #ifdef APP_BUILD_CAPABILITY_IOS_WKWEBVIEW_HTTP_DIRECT_PROCESSING
43
+
44
+ #import <objc/runtime.h>
45
+
46
+
47
+
48
+ @interface WKWebView (RhoAltMethod)
49
+ + (BOOL)bogushandlesURLScheme:(NSString *)urlScheme;
50
+ @end
51
+
52
+ @implementation WKWebView (RhoAltMethod)
53
+
54
+ + (BOOL)bogushandlesURLScheme:(NSString *)urlScheme {
55
+ return false;
56
+ }
57
+
58
+ @end
59
+
60
+
61
+ static void dumpClassInfo(Class c, int inheritanceDepth)
62
+ {
63
+ Class superClass = class_getSuperclass(c);
64
+ if (superClass != Nil)
65
+ {
66
+ dumpClassInfo(superClass, (inheritanceDepth + 1));
67
+ }
68
+
69
+ int i = 0;
70
+ unsigned int mc = 0;
71
+
72
+ const char* className = class_getName(c);
73
+
74
+ Method* mlist = class_copyMethodList(c, &mc);
75
+ for (i = 0; i < mc; i++)
76
+ {
77
+ Method method = mlist[i];
78
+ SEL methodSelector = method_getName(method);
79
+ const char* methodName = sel_getName(methodSelector);
80
+
81
+ const char *typeEncodings = method_getTypeEncoding(method);
82
+
83
+ char returnType[80];
84
+ method_getReturnType(method, returnType, 80);
85
+
86
+ NSLog(@"%2.2d %s ==> %s (%s)", inheritanceDepth, className, methodName, (typeEncodings == Nil) ? "" : typeEncodings);
87
+
88
+ int ac = method_getNumberOfArguments(method);
89
+ int a = 0;
90
+ for (a = 0; a < ac; a++) {
91
+ char argumentType[80];
92
+ method_getArgumentType(method, a, argumentType, 80);
93
+ NSLog(@" Argument no #%d: %s", a, argumentType);
94
+ }
95
+ }
96
+ }
97
+
98
+ #endif //APP_BUILD_CAPABILITY_IOS_WKWEBVIEW_HTTP_DIRECT_PROCESSING
99
+
100
+
101
+
102
+
38
103
 
39
104
  @implementation RhoWKWebView
40
105
 
@@ -44,10 +109,38 @@
44
109
  [self init];
45
110
 
46
111
  WKWebViewConfiguration *configuration = [[WKWebViewConfiguration alloc] init];
47
- if ( rho_conf_getBool("enable_media_playback_without_gesture") == 1 )
112
+ if ( rho_conf_getBool("enable_media_playback_without_gesture") == 1 ) {
48
113
  configuration.mediaPlaybackRequiresUserAction = NO;
114
+ }
115
+
116
+ BOOL isDirectRequestActivated = NO;
117
+ if (rho_conf_is_property_exists("ios_direct_local_requests")!=0) {
118
+ if (rho_conf_getBool("ios_direct_local_requests")!=0 ) {
119
+ isDirectRequestActivated = YES;
120
+ }
121
+ }
122
+ if (isDirectRequestActivated) {
123
+ #ifdef APP_BUILD_CAPABILITY_IOS_WKWEBVIEW_HTTP_DIRECT_PROCESSING
124
+
125
+ CRhoWKURLProtocol *schemeHandler = [[CRhoWKURLProtocol alloc] init];
126
+
127
+ // replace original static method to our bogus method
128
+ Method bogusHandle = class_getClassMethod([WKWebView class], @selector(bogushandlesURLScheme:));
129
+ Method handleOriginal = class_getClassMethod([WKWebView class], @selector(handlesURLScheme:));
130
+ method_exchangeImplementations(bogusHandle, handleOriginal);
131
+
49
132
 
133
+ [configuration setURLSchemeHandler:schemeHandler forURLScheme:@"http"];
134
+ [configuration setURLSchemeHandler:schemeHandler forURLScheme:@"https"];
135
+
136
+ // return original static method
137
+ method_exchangeImplementations(bogusHandle, handleOriginal);
138
+ #else
139
+ RAWLOG_ERROR("You can not enable ios_direct_local_requests if you not added IOS_WKWEBVIEW_HTTP_DIRECT_PROCESSING capability to build.yml !!!");
140
+ #endif
141
+ }
50
142
  WKWebView* w = [[WKWebView alloc] initWithFrame:frame configuration:configuration];
143
+
51
144
  //w.scalesPageToFit = YES;
52
145
  if ( !rho_conf_getBool("WebView.enableBounce") )
53
146
  [[w scrollView] setBounces:NO];
@@ -60,6 +153,7 @@
60
153
  //w.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleTopMargin | UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth;
61
154
  w.autoresizingMask = UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth;
62
155
  w.tag = RHO_TAG_WEBVIEW;
156
+
63
157
  //assert([w retainCount] == 1);
64
158
  self.webview = w;
65
159
 
@@ -148,25 +242,11 @@
148
242
 
149
243
  - (void)webView:(WKWebView *)webView decidePolicyForNavigationAction:(WKNavigationAction *)navigationAction decisionHandler:(void (^)(WKNavigationActionPolicy))decisionHandler {
150
244
 
151
- UIWebViewNavigationType navType = UIWebViewNavigationTypeOther;
152
- if (navigationAction.navigationType == WKNavigationTypeLinkActivated) {
153
- navType = UIWebViewNavigationTypeLinkClicked;
154
- }
155
- if (navigationAction.navigationType == WKNavigationTypeFormSubmitted) {
156
- navType = UIWebViewNavigationTypeFormSubmitted;
157
- }
158
- if (navigationAction.navigationType == WKNavigationTypeBackForward) {
159
- navType = UIWebViewNavigationTypeBackForward;
160
- }
161
- if (navigationAction.navigationType == WKNavigationTypeReload) {
162
- navType = UIWebViewNavigationTypeReload;
163
- }
164
- if (navigationAction.navigationType == WKNavigationTypeFormResubmitted) {
165
- navType = UIWebViewNavigationTypeFormResubmitted;
166
- }
245
+ //NSLog(@"$$$$$ NavigationAction with URL = %@", [[navigationAction request] URL]);
246
+
167
247
  BOOL result = YES;
168
248
  if (delegate != nil) {
169
- result = [delegate shouldStartLoadWithRequest:self request:navigationAction.request navigationType:navType];
249
+ result = [delegate shouldStartLoadWithRequest:self request:navigationAction.request];
170
250
  }
171
251
  if (result) {
172
252
  decisionHandler(WKNavigationActionPolicyAllow);
@@ -32,7 +32,7 @@
32
32
  @protocol RhoWebViewDelegate <NSObject>
33
33
 
34
34
  @optional
35
- - (BOOL)shouldStartLoadWithRequest:(id<RhoWebView,NSObject>)webView request:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType;
35
+ - (BOOL)shouldStartLoadWithRequest:(id<RhoWebView,NSObject>)webView request:(NSURLRequest *)request;
36
36
  - (void)webViewDidStartLoad:(id<RhoWebView,NSObject>)webView;
37
37
  - (void)webViewDidFinishLoad:(id<RhoWebView,NSObject>)webView;
38
38
  - (void)didFailLoadWithError:(id<RhoWebView,NSObject>)webView error:(NSError *)error;
@@ -27,12 +27,18 @@
27
27
  #import "RhoWebViewFabrique.h"
28
28
  #import <WebKit/WebKit.h>
29
29
 
30
+ #import "common/app_build_capabilities.h"
31
+
32
+ #ifdef APP_BUILD_CAPABILITY_IOS_UIWEBVIEW
30
33
  #import "RhoUIWebView.h"
34
+ #endif
35
+
31
36
  #import "RhoWKWebView.h"
32
37
 
33
38
  #import "common/RhoConf.h"
34
39
  #include "logging/RhoLog.h"
35
40
 
41
+
36
42
  #undef DEFAULT_LOGCATEGORY
37
43
  #define DEFAULT_LOGCATEGORY "RhoWebViewFabrique"
38
44
 
@@ -41,7 +47,7 @@
41
47
 
42
48
  + (id<RhoWebView,NSObject>)createRhoWebViewWithFrame:(CGRect)frame {
43
49
 
44
- BOOL shouldMakeWkWebView = NO;
50
+ BOOL shouldMakeWkWebView = YES;
45
51
  BOOL isDirectRequestActivated = NO;
46
52
  BOOL isWKWebViewCLassExist = NO;
47
53
  if (rho_conf_is_property_exists("ios_direct_local_requests")!=0) {
@@ -50,8 +56,12 @@
50
56
  }
51
57
  }
52
58
  if (rho_conf_is_property_exists("ios_use_WKWebView")!=0) {
53
- if (rho_conf_getBool("ios_use_WKWebView")!=0 ) {
54
- shouldMakeWkWebView = YES;
59
+ if (rho_conf_getBool("ios_use_WKWebView")==0 ) {
60
+ #ifdef APP_BUILD_CAPABILITY_IOS_UIWEBVIEW
61
+ shouldMakeWkWebView = NO;
62
+ #else
63
+ RAWLOG_ERROR("You can not use UIWebView without capability IOS_UIWEBVIEW in build.yml !!!");
64
+ #endif
55
65
  }
56
66
  }
57
67
  if (NSClassFromString(@"WKWebView")) {
@@ -63,24 +73,26 @@
63
73
  if (shouldMakeWkWebView) {
64
74
  RAWLOG_INFO("Try to create WKWebView ...");
65
75
  if (isDirectRequestActivated) {
66
- RAWLOG_ERROR("can not make WKWebView because ios_direct_local_requests is ACTIVATED !!!");
76
+ #ifdef APP_BUILD_CAPABILITY_IOS_WKWEBVIEW_HTTP_DIRECT_PROCESSING
77
+ #else
78
+ RAWLOG_ERROR("You can not enable ios_direct_local_requests if you not added IOS_WKWEBVIEW_HTTP_DIRECT_PROCESSING capability to build.yml !!!");
79
+ #endif
80
+ }
81
+ if (isWKWebViewCLassExist) {
82
+ webView = [[RhoWKWebView alloc] initWithFrame:frame];
83
+ RAWLOG_INFO("WKWebView was created OK !");
67
84
  }
68
85
  else {
69
- if (isWKWebViewCLassExist) {
70
- webView = [[RhoWKWebView alloc] initWithFrame:frame];
71
- RAWLOG_INFO("WKWebView was created OK !");
72
- }
73
- else {
74
- RAWLOG_ERROR("can not make WKWebView because iOS version < 8.0 - can not find WKWebView class !!!");
75
- }
86
+ RAWLOG_ERROR("can not make WKWebView - can not find WKWebView class !!!");
76
87
  }
77
88
  }
89
+ #ifdef APP_BUILD_CAPABILITY_IOS_UIWEBVIEW
78
90
  if (webView == nil) {
79
91
  RAWLOG_INFO("Try to create UIWebView ...");
80
92
  webView = [[RhoUIWebView alloc] initWithFrame:frame];
81
93
  RAWLOG_INFO("UIWebView was created OK !");
82
94
  }
83
-
95
+ #endif
84
96
  return webView;
85
97
  }
86
98
 
@@ -56,7 +56,8 @@
56
56
  #define NSFoundationVersionNumber_iOS_9_x_Max 1299
57
57
  #endif
58
58
 
59
- NSString *const kGCMMessageIDKey = @"gcm.message_id";
59
+ //NSString *const kGCMMessageIDKey = @"gcm.message_id";
60
+ //#define kGCMMessageIDKey @"gcm.message_id"
60
61
 
61
62
  @interface Rhodes : NSObject <UIApplicationDelegate,
62
63
  UITabBarControllerDelegate, AVAudioPlayerDelegate, UIAlertViewDelegate, UNUserNotificationCenterDelegate>
@@ -106,6 +107,8 @@ NSString *const kGCMMessageIDKey = @"gcm.message_id";
106
107
 
107
108
  + (Rhodes*)sharedInstance;
108
109
 
110
+ +(void) makeSharedInstance;
111
+
109
112
  + (UIApplication*)application;
110
113
 
111
114
  + (CGRect)applicationFrame;
@@ -126,6 +129,8 @@ NSString *const kGCMMessageIDKey = @"gcm.message_id";
126
129
 
127
130
  +(void)restart_app;
128
131
 
132
+ - (BOOL)didFinishLaunchingWithOptionsInternal:(NSDictionary *)launchOptions application:(UIApplication *)application;
133
+
129
134
  - (UIWindow*)rootWindow;
130
135
 
131
136
  - (void)playStart:(NSString*)fileName mediaType:(NSString*)type;
@@ -162,4 +167,4 @@ NSString *const kGCMMessageIDKey = @"gcm.message_id";
162
167
 
163
168
  - (void)registerForRemoteNotification;
164
169
 
165
- @end
170
+ @end
@@ -45,10 +45,18 @@
45
45
  #import "CRhoURLProtocol.h"
46
46
  #import "RhoExtManager/RhoExtManagerSingletone.h"
47
47
 
48
+
49
+ #ifdef RHO_STANDALONE_LIB
50
+ #import "RhoMainViewStubImpl.h"
51
+ #endif
52
+
53
+
48
54
  int rho_rhodesapp_check_mode();
49
55
  void rho_splash_screen_start();
50
56
 
51
57
 
58
+ //NSString* kGCMMessageIDKey = @"gcm.message_id";
59
+
52
60
  /*
53
61
  use this non-public code for see level of memory warning
54
62
 
@@ -142,6 +150,11 @@ static Rhodes *instance = NULL;
142
150
  return instance;
143
151
  }
144
152
 
153
+ +(void) makeSharedInstance {
154
+ instance = [[Rhodes alloc] init];
155
+ }
156
+
157
+
145
158
  + (UIApplication*)application {
146
159
  return [Rhodes sharedInstance]->application;
147
160
  }
@@ -278,7 +291,7 @@ static Rhodes *instance = NULL;
278
291
 
279
292
  - (void)openMapLocation:(NSString*)query {
280
293
  [self hideSplash];
281
- NSURL* url = [NSURL URLWithString:[@"http://maps.google.com/?" stringByAppendingString:query]];
294
+ NSURL* url = [NSURL URLWithString:[@"https://maps.google.com/?" stringByAppendingString:query]];
282
295
  [[UIApplication sharedApplication] openURL:url];
283
296
  }
284
297
 
@@ -820,9 +833,10 @@ static void displayStatusChanged(CFNotificationCenterRef center, void *observer,
820
833
 
821
834
  [[NSHTTPCookieStorage sharedHTTPCookieStorage] setCookieAcceptPolicy:NSHTTPCookieAcceptPolicyAlways];
822
835
 
836
+ #ifndef RHO_STANDALONE_LIB
837
+
823
838
  [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleDefault animated:NO];
824
839
 
825
-
826
840
  const char* fs = get_app_build_config_item("iphone_full_screen");
827
841
  if (fs == NULL) {
828
842
  fs = "0";
@@ -856,7 +870,13 @@ static void displayStatusChanged(CFNotificationCenterRef center, void *observer,
856
870
  }
857
871
 
858
872
  [window makeKeyAndVisible];
859
-
873
+ #else
874
+
875
+ // standalone lib mode - no own UI
876
+ mainView = nil;
877
+ mainView = [[RhoMainViewStubImpl alloc] init];
878
+
879
+ #endif
860
880
 
861
881
  CGRect rrr = [application statusBarFrame];
862
882
 
@@ -1126,7 +1146,8 @@ static void displayStatusChanged(CFNotificationCenterRef center, void *observer,
1126
1146
 
1127
1147
 
1128
1148
  #ifdef __IPHONE_3_0
1129
- - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
1149
+
1150
+ - (BOOL)didFinishLaunchingWithOptionsInternal:(NSDictionary *)launchOptions application:(UIApplication *)application {
1130
1151
 
1131
1152
  self.mBlockExit = NO;
1132
1153
 
@@ -1246,6 +1267,11 @@ static void displayStatusChanged(CFNotificationCenterRef center, void *observer,
1246
1267
  return NO;
1247
1268
  }
1248
1269
 
1270
+ - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
1271
+ return [self didFinishLaunchingWithOptionsInternal:launchOptions application:application];
1272
+ }
1273
+
1274
+
1249
1275
  #ifdef APP_BUILD_CAPABILITY_PUSH
1250
1276
  #if 0
1251
1277
  #if defined(__IPHONE_10_0) && __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_10_0
@@ -1270,9 +1296,9 @@ didReceiveNotificationResponse:(UNNotificationResponse *)response
1270
1296
  withCompletionHandler:(void(^)())completionHandler {
1271
1297
  #endif
1272
1298
  NSDictionary *userInfo = response.notification.request.content.userInfo;
1273
- if (userInfo[kGCMMessageIDKey]) {
1274
- NSLog(@"Message ID: %@", userInfo[kGCMMessageIDKey]);
1275
- }
1299
+ //if (userInfo[kGCMMessageIDKey]) {
1300
+ // NSLog(@"Message ID: %@", userInfo[kGCMMessageIDKey]);
1301
+ //}
1276
1302
 
1277
1303
  // Print full message.
1278
1304
  NSLog(@"%@", userInfo);
@@ -1410,13 +1436,15 @@ withCompletionHandler:(void(^)())completionHandler {
1410
1436
  #ifdef __IPHONE_4_0
1411
1437
  - (void)applicationDidEnterBackground:(UIApplication *)app {
1412
1438
 
1439
+
1440
+ #ifndef RHO_STANDALONE_LIB
1413
1441
  if ([SplashViewController isReplaceContentWhenSnapshot]) {
1414
1442
  if (splashViewControllerSnapShot == nil) {
1415
1443
  splashViewControllerSnapShot = [[SplashViewController alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
1416
1444
  }
1417
1445
  [self.window.rootViewController presentViewController:[splashViewControllerSnapShot retain] animated:NO completion:NULL];
1418
1446
  }
1419
-
1447
+ #endif
1420
1448
 
1421
1449
  RAWLOG_INFO("Application go to background");
1422
1450
  rho_rhodesapp_callUiDestroyedCallback();
@@ -1463,9 +1491,11 @@ withCompletionHandler:(void(^)())completionHandler {
1463
1491
  }
1464
1492
 
1465
1493
  - (void)applicationWillEnterForeground:(UIApplication *)application {
1494
+ #ifndef RHO_STANDALONE_LIB
1466
1495
  if ([SplashViewController isReplaceContentWhenSnapshot]) {
1467
1496
  [self.window.rootViewController dismissViewControllerAnimated:NO completion:NO];
1468
1497
  }
1498
+ #endif
1469
1499
  [self registerForNotifications];
1470
1500
  }
1471
1501
  #endif
@@ -1588,3 +1618,11 @@ BOOL rho_main_is_rotation_locked() {
1588
1618
  void rho_main_set_rotation_locked(BOOL locked) {
1589
1619
  [[Rhodes sharedInstance] setRotationLocked:locked];
1590
1620
  }
1621
+
1622
+
1623
+
1624
+ //void rhomobile_lib_start_app() {
1625
+ // [Rhodes makeSharedInstance];
1626
+ // [[Rhodes sharedInstance] didFinishLaunchingWithOptionsInternal:[NSMutableDictionary dictionaryWithCapacity:5] application:[UIApplication sharedApplication]];
1627
+
1628
+ //}
@@ -329,7 +329,7 @@ static BOOL makeHiddenUntilLoadContent = YES;
329
329
  tb.autoresizesSubviews = YES;
330
330
  tb.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleTopMargin | UIViewAutoresizingFlexibleWidth;
331
331
 
332
- assert([tb retainCount] == 1);
332
+ //assert([tb retainCount] == 1);
333
333
  return tb;
334
334
  }
335
335
 
@@ -348,7 +348,7 @@ static BOOL makeHiddenUntilLoadContent = YES;
348
348
 
349
349
  - (void)addToolbar:(NSDictionary*)bar_info {
350
350
  [self removeToolbar];
351
- assert(!toolbar);
351
+ //assert(!toolbar);
352
352
 
353
353
  if (!bar_info)
354
354
  return;
@@ -637,11 +637,11 @@ static BOOL makeHiddenUntilLoadContent = YES;
637
637
 
638
638
  - (void)viewDidLoad {
639
639
  UIView *root = self.view;
640
-
640
+
641
641
  root.userInteractionEnabled = YES;
642
642
  root.autoresizingMask = UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth;
643
643
  root.autoresizesSubviews = YES;
644
-
644
+
645
645
  if (nativeView) {
646
646
  [root addSubview:[nativeView getView]];
647
647
  }
@@ -649,22 +649,22 @@ static BOOL makeHiddenUntilLoadContent = YES;
649
649
  [root addSubview:[rhoWebView view]];
650
650
  [rhoWebView setupDelegate:self];
651
651
  }
652
- assert(!nativeView || [nativeView retainCount] == 2);
652
+ //assert(!nativeView || [nativeView retainCount] == 2);
653
653
  //assert(!webView || [webView retainCount] == 2);
654
654
  if (toolbar)
655
655
  [root addSubview:toolbar];
656
- assert(!toolbar || [toolbar retainCount] == 2);
656
+ //assert(!toolbar || [toolbar retainCount] == 2);
657
657
  if (navbar)
658
658
  [root addSubview:navbar];
659
- assert(!navbar || [navbar retainCount] == 2);
659
+ //assert(!navbar || [navbar retainCount] == 2);
660
660
  }
661
661
 
662
662
  - (void)viewDidUnload {
663
663
  [super viewDidUnload];
664
664
  //assert(!nativeView || [nativeView retainCount] == 1);
665
665
  //assert(!webView || [webView retainCount] == 1);
666
- assert(!toolbar || [toolbar retainCount] == 1);
667
- assert(!navbar || [navbar retainCount] == 1);
666
+ //assert(!toolbar || [toolbar retainCount] == 1);
667
+ //assert(!navbar || [navbar retainCount] == 1);
668
668
  }
669
669
 
670
670
  - (void)dealloc {
@@ -946,7 +946,7 @@ static BOOL makeHiddenUntilLoadContent = YES;
946
946
  //else {
947
947
 
948
948
  NSString *redirect = nil;
949
- if ([cleared_url hasPrefix:@"file:"] || rho_rhodesapp_is_nodejs_app()) {
949
+ if ([cleared_url hasPrefix:@"file:"] || rho_rhodesapp_is_nodejs_app() || rho_rhodesapp_is_rubynodejs_app()) {
950
950
  redirect = cleared_url;
951
951
  }
952
952
  else {
@@ -1023,7 +1023,7 @@ static BOOL makeHiddenUntilLoadContent = YES;
1023
1023
  [self removeNavBar];
1024
1024
 
1025
1025
  navbar = navb;
1026
- assert([navbar retainCount] == 1);
1026
+ //assert([navbar retainCount] == 1);
1027
1027
  RAWLOG_INFO1("navbar retain count: %d", (int)[navbar retainCount]);
1028
1028
  navbar.autoresizingMask = UIViewAutoresizingFlexibleWidth;
1029
1029
  navbar.autoresizesSubviews = YES;
@@ -1050,7 +1050,7 @@ static BOOL makeHiddenUntilLoadContent = YES;
1050
1050
  wFrame.size.height -= nFrame.size.height;
1051
1051
 
1052
1052
  [root addSubview:navbar];
1053
- assert([navbar retainCount] > 1);
1053
+ //assert([navbar retainCount] > 1);
1054
1054
 
1055
1055
  [self setContentRect:wFrame];
1056
1056
  }
@@ -1109,7 +1109,7 @@ static BOOL makeHiddenUntilLoadContent = YES;
1109
1109
 
1110
1110
 
1111
1111
 
1112
- - (BOOL)shouldStartLoadWithRequest:(id<RhoWebView,NSObject>)webView request:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType {
1112
+ - (BOOL)shouldStartLoadWithRequest:(id<RhoWebView,NSObject>)webView request:(NSURLRequest *)request {
1113
1113
 
1114
1114
  NSURL *url = [request URL];
1115
1115
  if (!url)
@@ -1220,9 +1220,18 @@ static BOOL makeHiddenUntilLoadContent = YES;
1220
1220
  self.url_after_set_background = nil;
1221
1221
 
1222
1222
 
1223
+ if (rho_rhodesapp_is_rubynodejs_app()) {
1224
+ const char* ruby_url_c = rho_rhodesapp_rubyhomeurl();
1225
+ NSString* ruby_url = [NSString stringWithUTF8String:ruby_url_c];
1226
+ NSString* jscode = [NSString stringWithFormat:@"window['__rho_apiAjaxURL']='%@/system/js_api_entrypoint'", ruby_url];
1227
+ [self executeJs:jscode tab:self.thisTabIndex];
1228
+ }
1229
+
1230
+
1223
1231
  NSString* jscode = [NSString stringWithFormat:@"window['__rhoJsVmID']='%@'", [NSNumber numberWithInt:self.thisTabIndex]];
1224
1232
  //[self executeJs:@"alert('hello')" tab:self.thisTabIndex];
1225
1233
  [self executeJs:jscode tab:self.thisTabIndex];
1234
+
1226
1235
  //[self executeJs:@"alert(window['__rhoJsVmID'])" tab:self.thisTabIndex];
1227
1236
 
1228
1237