rhodes 6.2.0 → 7.1.17
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Rakefile +14 -10
- data/appveyor.yml +1 -1
- data/extensions/emdk3-manager/ext/platform/android/Rakefile +2 -0
- data/extensions/rhoconnect-push/ext/rhoconnect-push/platform/android/Rakefile +18 -1
- data/extensions/rhoelementsext/ext/rhoelementsext/platform/android/Rakefile +19 -1
- data/lib/commonAPI/RubyServer/ext.yml +21 -0
- data/lib/commonAPI/RubyServer/ext/RubyServer.xml +101 -0
- data/lib/commonAPI/RubyServer/ext/build +19 -0
- data/lib/commonAPI/RubyServer/ext/build.bat +29 -0
- data/lib/commonAPI/RubyServer/ext/platform/android/Rakefile +161 -0
- data/lib/commonAPI/RubyServer/ext/platform/android/ext_java.files +9 -0
- data/lib/commonAPI/RubyServer/ext/platform/android/ext_native.files +7 -0
- data/lib/commonAPI/RubyServer/ext/platform/iphone/Rakefile +73 -0
- data/lib/commonAPI/RubyServer/ext/platform/iphone/RubyServer.xcodeproj/project.pbxproj +322 -0
- data/lib/commonAPI/RubyServer/ext/platform/iphone/RubyServer_Prefix.pch +7 -0
- data/lib/commonAPI/RubyServer/ext/shared/RubyServerImpl.cpp +242 -0
- data/lib/commonAPI/barcode/ext/platform/android/src/com/rho/barcode/BarcodeFactory.java +23 -3
- data/lib/commonAPI/barcode/ext/platform/android/src/com/rho/barcode/BarcodeRhoExtension.java +68 -8
- data/lib/commonAPI/barcode/ext/platform/iphone/Barcode.xcodeproj/project.pbxproj +24 -52
- data/lib/commonAPI/barcode/ext/platform/iphone/Classes/BarcodeViewController.h +38 -10
- data/lib/commonAPI/barcode/ext/platform/iphone/Classes/BarcodeViewController.m +300 -22
- data/lib/commonAPI/barcode/ext/platform/iphone/Classes/BarcodeViewFactory.mm +6 -0
- data/lib/commonAPI/barcode/ext/platform/iphone/Classes/barcode.m +6 -2
- data/lib/commonAPI/barcode/ext/platform/iphone/impl/Barcode.m +7 -3
- data/lib/commonAPI/barcode/ext/platform/iphone/impl/BarcodeFactory.m +13 -0
- data/lib/commonAPI/barcode/ext/platform/iphone/impl/BarcodeSingleton.m +25 -3
- data/lib/commonAPI/bluetooth/ext/platform/android/Rakefile +29 -10
- data/lib/commonAPI/clipboard/ext/platform/android/Rakefile +29 -10
- data/lib/commonAPI/coreapi/ext/Notification.xml +47 -0
- data/lib/commonAPI/coreapi/ext/platform/android/ApplicationManifestAdds.erb +1 -0
- data/lib/commonAPI/coreapi/ext/platform/android/Rakefile +19 -0
- data/lib/commonAPI/coreapi/ext/platform/android/ext_java.files +2 -0
- data/lib/commonAPI/coreapi/ext/platform/android/src/com/rho/notification/AlarmReceiver.java +27 -0
- data/lib/commonAPI/coreapi/ext/platform/android/src/com/rho/notification/Notification.java +28 -10
- data/lib/commonAPI/coreapi/ext/platform/android/src/com/rho/notification/NotificationFactory.java +14 -1
- data/lib/commonAPI/coreapi/ext/platform/android/src/com/rho/notification/NotificationScheduler.java +260 -0
- data/lib/commonAPI/coreapi/ext/platform/android/src/com/rho/notification/NotificationSingleton.java +23 -1
- data/lib/commonAPI/coreapi/ext/platform/iphone/Coreapi.xcodeproj/project.pbxproj +21 -19
- data/lib/commonAPI/coreapi/ext/platform/iphone/impl/NotificationSingleton.h +1 -0
- data/lib/commonAPI/coreapi/ext/platform/iphone/impl/NotificationSingleton.m +234 -1
- data/lib/commonAPI/coreapi/ext/platform/qt/coreapi.pro +2 -0
- data/lib/commonAPI/coreapi/ext/platform/qt/src/CNotificationImpl.cpp +7 -0
- data/lib/commonAPI/coreapi/ext/shared/ApplicationImpl.cpp +5 -0
- data/lib/commonAPI/coreapi/public/api/rhoapi.js +18 -8
- data/lib/commonAPI/devicesecurity/ext/platform/android/Rakefile +19 -0
- data/lib/commonAPI/devicesecurity/ext/platform/iphone/DeviceSecurity.xcodeproj/project.pbxproj +16 -0
- data/lib/commonAPI/hardwarekeys/ext/keycapture.xml +11 -9
- data/lib/commonAPI/hardwarekeys/ext/platform/iphone/impl/KeyCaptureSingleton.h +5 -3
- data/lib/commonAPI/hardwarekeys/ext/platform/iphone/impl/KeyCaptureSingleton.m +80 -67
- data/lib/commonAPI/mediacapture/ext/platform/android/src/com/rho/camera/CameraEclair.java +25 -14
- data/lib/commonAPI/mediacapture/ext/platform/android/src/com/rho/camera/CameraGingerbread.java +55 -25
- data/lib/commonAPI/mediacapture/ext/platform/android/src/com/rho/camera/CameraObject.java +34 -9
- data/lib/commonAPI/mediacapture/ext/platform/android/src/com/rho/camera/ICameraObject.java +1 -0
- data/lib/commonAPI/printing_zebra/ext/platform/android/Rakefile +18 -0
- data/lib/commonAPI/sensor/ext/platform/android/src/com/rho/sensor/Sensor.java +4 -4
- data/lib/extensions/decrypt/ext/platform/android/Rakefile +19 -1
- data/lib/extensions/decryptstub/ext/platform/android/Rakefile +19 -0
- data/lib/extensions/decryptstub/ext/platform/iphone/Decryptstub.xcodeproj/project.pbxproj +4 -2
- data/lib/extensions/digest-md5/ext/android/Rakefile +18 -0
- data/lib/extensions/digest-sha1/ext/android/Rakefile +18 -0
- data/lib/extensions/digest-sha2/ext/android/Rakefile +18 -0
- data/lib/extensions/esri/ext/esri/platform/iphone/Classes/MapViewControllerESRI.h +19 -19
- data/lib/extensions/fcm-push/ext/android/Rakefile +18 -0
- data/lib/extensions/fcm-push/ext/android/src/com/rhomobile/rhodes/fcm/FCMIntentService.java +38 -16
- data/lib/extensions/gcm-push/ext/android/Rakefile +19 -0
- data/lib/extensions/keyboard/ext.yml +15 -0
- data/lib/extensions/keyboard/ext/Keyboard.xml +28 -0
- data/lib/extensions/keyboard/ext/build +19 -0
- data/lib/extensions/keyboard/ext/build.bat +29 -0
- data/lib/extensions/keyboard/ext/platform/android/Rakefile +141 -0
- data/lib/extensions/keyboard/ext/platform/android/ext_java.files +9 -0
- data/lib/extensions/keyboard/ext/platform/android/ext_native.files +7 -0
- data/lib/extensions/keyboard/ext/platform/android/jni/Keyboard_impl.cpp +61 -0
- data/lib/extensions/keyboard/ext/platform/android/src/com/rho/keyboard/Keyboard.java +32 -0
- data/lib/extensions/keyboard/ext/platform/android/src/com/rho/keyboard/KeyboardFactory.java +18 -0
- data/lib/extensions/keyboard/ext/platform/android/src/com/rho/keyboard/KeyboardSingleton.java +29 -0
- data/lib/extensions/keyboard/ext/platform/iphone/Keyboard.xcodeproj/project.pbxproj +368 -0
- data/lib/extensions/keyboard/ext/platform/iphone/Keyboard_Prefix.pch +7 -0
- data/lib/extensions/keyboard/ext/platform/iphone/Rakefile +73 -0
- data/lib/extensions/keyboard/ext/platform/iphone/impl/Keyboard.h +14 -0
- data/lib/extensions/keyboard/ext/platform/iphone/impl/Keyboard.m +24 -0
- data/lib/extensions/keyboard/ext/platform/iphone/impl/KeyboardFactorySingleton.m +16 -0
- data/lib/extensions/keyboard/ext/platform/iphone/impl/KeyboardSetup.m +9 -0
- data/lib/extensions/keyboard/ext/platform/iphone/impl/KeyboardSingleton.h +17 -0
- data/lib/extensions/keyboard/ext/platform/iphone/impl/KeyboardSingleton.m +23 -0
- data/lib/extensions/keyboard/ext/platform/iphone/impl/readme.txt +7 -0
- data/lib/extensions/keyboard/ext/platform/qt/Keyboard.pro +68 -0
- data/lib/extensions/keyboard/ext/platform/qt/Makefile +473 -0
- data/lib/extensions/keyboard/ext/platform/qt/Makefile.Release +408 -0
- data/lib/extensions/keyboard/ext/platform/qt/Rakefile +39 -0
- data/lib/extensions/keyboard/ext/platform/qt/src/Keyboard_impl.cpp +99 -0
- data/lib/extensions/keyboard/ext/platform/uwp/Keyboard.props +18 -0
- data/lib/extensions/keyboard/ext/platform/uwp/Keyboard.vcxproj +197 -0
- data/lib/extensions/keyboard/ext/platform/uwp/Keyboard.vcxproj.filters +50 -0
- data/lib/extensions/keyboard/ext/platform/uwp/KeyboardImpl.csproj +119 -0
- data/lib/extensions/keyboard/ext/platform/uwp/KeyboardImpl.props +8 -0
- data/lib/extensions/keyboard/ext/platform/uwp/KeyboardImpl.targets +7 -0
- data/lib/extensions/keyboard/ext/platform/uwp/KeyboardLib.props +18 -0
- data/lib/extensions/keyboard/ext/platform/uwp/KeyboardLib.vcxproj +197 -0
- data/lib/extensions/keyboard/ext/platform/uwp/KeyboardLib.vcxproj.filters +58 -0
- data/lib/extensions/keyboard/ext/platform/uwp/src/Keyboard_impl.cpp +76 -0
- data/lib/extensions/keyboard/ext/platform/uwp/src/Keyboard_impl.cs +69 -0
- data/lib/extensions/keyboard/ext/platform/uwp/src/Properties/AssemblyInfo.cs +37 -0
- data/lib/extensions/keyboard/ext/platform/wm/Keyboard.sln +52 -0
- data/lib/extensions/keyboard/ext/platform/wm/Keyboard.vcproj +714 -0
- data/lib/extensions/keyboard/ext/platform/wm/Keyboard.vsprops +15 -0
- data/lib/extensions/keyboard/ext/platform/wm/src/Keyboard_impl.cpp +77 -0
- data/lib/extensions/openssl.so.src/ext/android/Rakefile +18 -0
- data/lib/extensions/openssl.so/ext/android/aarch64/libopenssl.so.a +0 -0
- data/lib/extensions/openssl.so/ext/iphone/OpenSSl.SDK/howtobuild.txt +2 -0
- data/lib/extensions/openssl.so/ext/iphone/OpenSSl.SDK/libcrypto.a +0 -0
- data/lib/extensions/openssl.so/ext/iphone/OpenSSl.SDK/libssl.a +0 -0
- data/lib/extensions/openssl.so/ext/iphone/Release-iphoneos/libopenssl.so.a +0 -0
- data/lib/extensions/openssl.so/ext/iphone/Release-iphonesimulator/libopenssl.so.a +0 -0
- data/lib/extensions/openssl/ext/android/Rakefile +18 -0
- data/lib/extensions/zlib/ext/zlib.c +5 -1
- data/lib/framework/autocomplete/Rhodes.rb +1 -1
- data/lib/framework/rhodes.rb +1 -1
- data/lib/framework/set.rb +799 -0
- data/lib/framework/version.rb +1 -1
- data/lib/rhodes.rb +1 -1
- data/platform/android/Rhodes/AndroidManifest.xml.erb +11 -2
- data/platform/android/Rhodes/jni/include/rhodes.h +6 -0
- data/platform/android/Rhodes/jni/include/rhodes/RhoClassFactory.h +3 -0
- data/platform/android/Rhodes/jni/include/rhodes/SecurityTokenGenerator.h +30 -0
- data/platform/android/Rhodes/jni/include/rhodes/details/rhojava.inc +1 -0
- data/platform/android/Rhodes/jni/src/JNIRhoRubyCppWrapper.cpp +408 -0
- data/platform/android/Rhodes/jni/src/RhoClassFactory.cpp +7 -0
- data/platform/android/Rhodes/jni/src/SecurityTokenGenerator.cpp +60 -0
- data/platform/android/Rhodes/jni/src/fileapi.cpp +318 -12
- data/platform/android/Rhodes/jni/src/mapview.cpp +4 -0
- data/platform/android/Rhodes/res/drawable/ic_notification.png +0 -0
- data/platform/android/Rhodes/res/xml/network_security_config.xml +7 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/BaseActivity.java +9 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/LocalFileProvider.java +1 -1
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/RhoMain.java +8 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/RhoRubyArrayObjects.java +33 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/RhoRubyClassObject.java +20 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/RhoRubyObject.java +115 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/RhoRubySingleton.java +52 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/RhoRubyTypes.java +15 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/RhodesService.java +25 -13
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/SecurityTokenGenerator.java +57 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/extmanager/RhoExtManagerImpl.java +1 -1
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/mainview/SimpleMainView.java +9 -2
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/osfunctionality/AndroidFunctionality.java +3 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/osfunctionality/AndroidFunctionality01.java +7 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/osfunctionality/AndroidFunctionality11.java +13 -1
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/osfunctionality/AndroidFunctionality26.java +105 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/osfunctionality/AndroidFunctionalityManager.java +4 -1
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/socket/SSLImpl.java +24 -4
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/webview/GoogleWebView.java +20 -1
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/webview/RhoWebViewClient.java +10 -0
- data/platform/android/build/Rakefile +30 -1
- data/platform/android/build/RhodesSRC_build.files +8 -0
- data/platform/android/build/android.rake +326 -22
- data/platform/android/build/android_tools.rb +36 -3
- data/platform/android/build/androidcommon.rb +97 -44
- data/platform/android/build/librhocommon_build.files +11 -0
- data/platform/android/build/librhodes_build.files +2 -0
- data/platform/android/build/manifest_generator.rb +9 -2
- data/platform/android/build/maven_deps_extractor.rb +96 -15
- data/platform/android/build/ndkwrapper.rb +111 -16
- data/platform/android/build/pom.erb +2 -2
- data/platform/iphone/Classes/AppManager/AppManager.m +31 -1
- data/platform/iphone/Classes/MapView/GoogleGeocoder.h +3 -3
- data/platform/iphone/Classes/RhoMainViewStubImpl.h +38 -0
- data/platform/iphone/Classes/RhoMainViewStubImpl.m +88 -0
- data/platform/iphone/Classes/RhoUIWebView.h +5 -0
- data/platform/iphone/Classes/RhoUIWebView.m +14 -6
- data/platform/iphone/Classes/{RhoWKWebView.m → RhoWKWebView.mm} +98 -18
- data/platform/iphone/Classes/RhoWebView.h +1 -1
- data/platform/iphone/Classes/RhoWebViewFabrique.m +24 -12
- data/platform/iphone/Classes/Rhodes.h +7 -2
- data/platform/iphone/Classes/Rhodes.m +46 -8
- data/platform/iphone/Classes/SimpleMainView.m +22 -13
- data/platform/iphone/Classes/URLProtocol/CRhoURLProtocol.h +32 -3
- data/platform/iphone/Classes/URLProtocol/CRhoURLProtocol.m +93 -61
- data/platform/iphone/Classes/URLProtocol/CRhoWKURLProtocol.h +22 -0
- data/platform/iphone/Classes/URLProtocol/CRhoWKURLProtocol.m +246 -0
- data/platform/iphone/Classes/WebView.m +14 -2
- data/platform/iphone/Entitlements.plist +1 -1
- data/platform/iphone/Framework/RhoApplication/RhoApplication.xcodeproj/project.pbxproj +399 -0
- data/platform/iphone/Framework/Rhodes/Rhodes.xcodeproj/project.pbxproj +1208 -0
- data/platform/iphone/Framework/Rhodes/Rhodes/Info.plist +24 -0
- data/platform/iphone/Framework/Rhodes/Rhodes/Rhodes.h +21 -0
- data/platform/iphone/Framework/Rhodes/Rhodes/StubCode.m +15 -0
- data/platform/iphone/Info.plist +1 -3
- data/platform/iphone/RhoAppBaseLib/RhoAppBaseLib.xcodeproj/project.pbxproj +511 -4
- data/platform/iphone/RhoLib/RhoLib.xcodeproj/project.pbxproj +467 -1
- data/platform/iphone/Rhodes.xcodeproj/project.pbxproj +51 -274
- data/platform/iphone/RhodesBaseDelegate.h +1 -1
- data/platform/iphone/curl/curl.xcodeproj/project.pbxproj +85 -3
- data/platform/iphone/rbuild/ApplicationPlist.erb +1 -1
- data/platform/iphone/rbuild/iphone.rake +497 -25
- data/platform/iphone/rbuild/iphonecommon.rb +15 -6
- data/platform/iphone/rhodes_stub.cpp +15 -0
- data/platform/iphone/rhodeslib/api/RhodesLib.h +28 -0
- data/platform/iphone/rhodeslib/impl/RhodesLib.m +52 -0
- data/platform/iphone/rhodesruby/api/IRefCountedObject.h +20 -0
- data/platform/iphone/rhodesruby/api/IRhoRuby.h +72 -0
- data/platform/iphone/rhodesruby/api/IRhoRubyArray.h +12 -0
- data/platform/iphone/rhodesruby/api/IRhoRubyBoolean.h +11 -0
- data/platform/iphone/rhodesruby/api/IRhoRubyFloat.h +10 -0
- data/platform/iphone/rhodesruby/api/IRhoRubyHash.h +15 -0
- data/platform/iphone/rhodesruby/api/IRhoRubyInteger.h +10 -0
- data/platform/iphone/rhodesruby/api/IRhoRubyMutableArray.h +9 -0
- data/platform/iphone/rhodesruby/api/IRhoRubyMutableBoolean.h +10 -0
- data/platform/iphone/rhodesruby/api/IRhoRubyMutableFloat.h +10 -0
- data/platform/iphone/rhodesruby/api/IRhoRubyMutableHash.h +10 -0
- data/platform/iphone/rhodesruby/api/IRhoRubyMutableInteger.h +10 -0
- data/platform/iphone/rhodesruby/api/IRhoRubyMutableString.h +10 -0
- data/platform/iphone/rhodesruby/api/IRhoRubyNativeCallback.h +9 -0
- data/platform/iphone/rhodesruby/api/IRhoRubyNil.h +10 -0
- data/platform/iphone/rhodesruby/api/IRhoRubyObject.h +37 -0
- data/platform/iphone/rhodesruby/api/IRhoRubyRunnable.h +8 -0
- data/platform/iphone/rhodesruby/api/IRhoRubyString.h +10 -0
- data/platform/iphone/rhodesruby/api/RhoRuby.h +26 -0
- data/platform/iphone/rhodesruby/api/RhoRubySingletone.h +14 -0
- data/platform/iphone/rhodesruby/impl/RhoRubyFabrique.h +10 -0
- data/platform/iphone/rhodesruby/impl/RhoRubyImpl.h +56 -0
- data/platform/iphone/rhodesruby/impl/RhoRubyImpl.mm +432 -0
- data/platform/iphone/rhodesruby/impl/RhoRubyMutableArrayImpl.h +24 -0
- data/platform/iphone/rhodesruby/impl/RhoRubyMutableArrayImpl.mm +43 -0
- data/platform/iphone/rhodesruby/impl/RhoRubyMutableBooleanImpl.h +23 -0
- data/platform/iphone/rhodesruby/impl/RhoRubyMutableBooleanImpl.mm +38 -0
- data/platform/iphone/rhodesruby/impl/RhoRubyMutableFloatImpl.h +23 -0
- data/platform/iphone/rhodesruby/impl/RhoRubyMutableFloatImpl.mm +35 -0
- data/platform/iphone/rhodesruby/impl/RhoRubyMutableHashImpl.h +24 -0
- data/platform/iphone/rhodesruby/impl/RhoRubyMutableHashImpl.mm +48 -0
- data/platform/iphone/rhodesruby/impl/RhoRubyMutableIntegerImpl.h +23 -0
- data/platform/iphone/rhodesruby/impl/RhoRubyMutableIntegerImpl.mm +35 -0
- data/platform/iphone/rhodesruby/impl/RhoRubyMutableStringImpl.h +23 -0
- data/platform/iphone/rhodesruby/impl/RhoRubyMutableStringImpl.mm +35 -0
- data/platform/iphone/rhodesruby/impl/RhoRubyNilImpl.h +22 -0
- data/platform/iphone/rhodesruby/impl/RhoRubyNilImpl.mm +11 -0
- data/platform/iphone/rhodesruby/impl/RhoRubyObjectImpl.h +31 -0
- data/platform/iphone/rhodesruby/impl/RhoRubyObjectImpl.mm +49 -0
- data/platform/iphone/rhodesruby/impl/RhoRubySingletone.m +19 -0
- data/platform/iphone/rhodesruby/impl/RubyServerResponceImpl.h +21 -0
- data/platform/iphone/rhodesruby/impl/RubyServerResponceImpl.mm +32 -0
- data/platform/iphone/rhoextlib/rhoextlib.xcodeproj/project.pbxproj +79 -0
- data/platform/iphone/rhorubylib/rhorubylib.xcodeproj/project.pbxproj +91 -0
- data/platform/iphone/rhosynclib/rhosynclib.xcodeproj/project.pbxproj +85 -0
- data/platform/osx/bin/RhoSimulator/RhoSimulator.app.zip +0 -0
- data/platform/shared/common/IRhoClassFactory.h +2 -0
- data/platform/shared/common/ISecurityTokenGenerator.h +16 -0
- data/platform/shared/common/RhoFile.cpp +11 -0
- data/platform/shared/common/RhoMath.h +14 -0
- data/platform/shared/common/RhoMutexLock.h +13 -0
- data/platform/shared/common/RhoSystem.h +1 -1
- data/platform/shared/common/RhoThread.cpp +25 -0
- data/platform/shared/common/RhodesApp.cpp +52 -6
- data/platform/shared/common/RhodesApp.h +25 -1
- data/platform/shared/common/RhodesAppBase.cpp +4 -2
- data/platform/shared/common/RhodesAppBase.h +5 -0
- data/platform/shared/common/iphone/RhoClassfactory.h +6 -0
- data/platform/shared/common/iphone/RhoCryptImpl.mm +21 -2
- data/platform/shared/common/map/BaseMapEngine.cpp +2 -2
- data/platform/shared/common/map/GeocodingMapEngine.cpp +1 -1
- data/platform/shared/common/map/GoogleMapEngine.cpp +1 -1
- data/platform/shared/common/map/OSMMapEngine.cpp +1 -1
- data/platform/shared/curl/lib/curl_config.h +28 -0
- data/platform/shared/db/DBAdapter.cpp +18 -10
- data/platform/shared/json.new/JSONIterator.cpp +2 -2
- data/platform/shared/net/HttpServer.cpp +32 -0
- data/platform/shared/net/HttpServer.h +15 -0
- data/platform/shared/net/INetRequest.cpp +54 -0
- data/platform/shared/qt/RhoRubylib.pro +10 -0
- data/platform/shared/qt/rhodes/impl/AlertImpl.cpp +13 -0
- data/platform/shared/qt/rhodes/impl/CameraImpl.cpp +6 -0
- data/platform/shared/qt/rhodes/impl/DateTimePickerImpl.cpp +4 -0
- data/platform/shared/qt/rhodes/impl/MainWindowImpl.cpp +36 -7
- data/platform/shared/qt/rhodes/impl/MainWindowImpl.h +12 -1
- data/platform/shared/qt/rhodes/impl/NativeTabbarImpl.cpp +21 -2
- data/platform/shared/qt/rhodes/impl/NativeTabbarImpl.h +1 -0
- data/platform/shared/qt/rhodes/impl/NativeToolbarImpl.cpp +10 -0
- data/platform/shared/qt/rhodes/impl/QtSystemImpl.cpp +55 -3
- data/platform/shared/qt/rhodes/impl/RhoClassFactoryImpl.h +11 -0
- data/platform/shared/qt/rhodes/impl/RhoThreadImpl.cpp +71 -7
- data/platform/shared/qt/rhodes/impl/RhoThreadImpl.h +79 -2
- data/platform/shared/qt/rhodes/impl/RhodesImpl.cpp +16 -6
- data/platform/shared/qt/rhodes/impl/SecurityTokenGeneratorImpl.cpp +37 -0
- data/platform/shared/qt/rhodes/impl/SecurityTokenGeneratorImpl.h +25 -0
- data/platform/shared/qt/rhodes/impl/SignatureImpl.cpp +2 -0
- data/platform/shared/qt/rhodes/impl/WebViewImpl.cpp +27 -0
- data/platform/shared/qt/rhodes/impl/notificationsound.cpp +16 -2
- data/platform/shared/qt/rhodes/impl/notificationsound.h +11 -1
- data/platform/shared/qt/rhodes/newVersion/QtMainWindow.cpp +25 -16
- data/platform/shared/qt/rhodes/newVersion/QtMainWindow.h +3 -0
- data/platform/shared/qt/rhodes/newVersion/WebUrlRequestInterceptor.cpp +17 -0
- data/platform/shared/qt/rhodes/rhodes.pro +68 -14
- data/platform/shared/qt/rhodes/rhorubyVersion/rhodeslib.cpp +148 -0
- data/platform/shared/qt/rhodes/rhorubyVersion/rhodeslib.h +12 -0
- data/platform/shared/qt/rholib/rholib.pro +33 -5
- data/platform/shared/qt/rhoruby_win32_build.bat +19 -0
- data/platform/shared/qt/rhoruby_win32_build_debug.bat +19 -0
- data/platform/shared/qt/rhosimulator_win32_build_debug.bat +19 -0
- data/platform/shared/qt/rubylib/rubylib.pro +1 -0
- data/platform/shared/qt/sqlite3/sqlite3.pro +1 -0
- data/platform/shared/qt/syncengine/syncengine.pro +1 -0
- data/platform/shared/rhoruby/api/IArray.h +20 -0
- data/platform/shared/rhoruby/api/IBoolean.h +17 -0
- data/platform/shared/rhoruby/api/IFloat.h +17 -0
- data/platform/shared/rhoruby/api/IHash.h +23 -0
- data/platform/shared/rhoruby/api/IInteger.h +18 -0
- data/platform/shared/rhoruby/api/IMutableArray.h +18 -0
- data/platform/shared/rhoruby/api/IMutableBoolean.h +18 -0
- data/platform/shared/rhoruby/api/IMutableFloat.h +17 -0
- data/platform/shared/rhoruby/api/IMutableHash.h +18 -0
- data/platform/shared/rhoruby/api/IMutableInteger.h +17 -0
- data/platform/shared/rhoruby/api/IMutableString.h +17 -0
- data/platform/shared/rhoruby/api/INil.h +16 -0
- data/platform/shared/rhoruby/api/IObject.h +46 -0
- data/platform/shared/rhoruby/api/IRefCountedObject.h +20 -0
- data/platform/shared/rhoruby/api/IRhoRuby.h +78 -0
- data/platform/shared/rhoruby/api/IRunnable.h +17 -0
- data/platform/shared/rhoruby/api/IString.h +17 -0
- data/platform/shared/rhoruby/api/RhoRuby.h +29 -0
- data/platform/shared/rhoruby/api/RhoRubySingletone.h +19 -0
- data/platform/shared/rhoruby/api/SmartPointer.h +27 -0
- data/platform/shared/rhoruby/impl/MutableArrayImpl.cpp +54 -0
- data/platform/shared/rhoruby/impl/MutableArrayImpl.h +48 -0
- data/platform/shared/rhoruby/impl/MutableBooleanImpl.cpp +44 -0
- data/platform/shared/rhoruby/impl/MutableBooleanImpl.h +44 -0
- data/platform/shared/rhoruby/impl/MutableFloatImpl.cpp +41 -0
- data/platform/shared/rhoruby/impl/MutableFloatImpl.h +44 -0
- data/platform/shared/rhoruby/impl/MutableHashImpl.cpp +64 -0
- data/platform/shared/rhoruby/impl/MutableHashImpl.h +49 -0
- data/platform/shared/rhoruby/impl/MutableIntegerImpl.cpp +41 -0
- data/platform/shared/rhoruby/impl/MutableIntegerImpl.h +44 -0
- data/platform/shared/rhoruby/impl/MutableStringImpl.cpp +52 -0
- data/platform/shared/rhoruby/impl/MutableStringImpl.h +44 -0
- data/platform/shared/rhoruby/impl/NilImpl.cpp +23 -0
- data/platform/shared/rhoruby/impl/NilImpl.h +32 -0
- data/platform/shared/rhoruby/impl/ObjectImpl.cpp +77 -0
- data/platform/shared/rhoruby/impl/ObjectImpl.h +53 -0
- data/platform/shared/rhoruby/impl/RefCountedObjectImpl.cpp +28 -0
- data/platform/shared/rhoruby/impl/RefCountedObjectImpl.h +33 -0
- data/platform/shared/rhoruby/impl/RhoRubyImpl.cpp +799 -0
- data/platform/shared/rhoruby/impl/RhoRubyImpl.h +81 -0
- data/platform/shared/rhoruby/impl/RhoRubySingletone.cpp +20 -0
- data/platform/shared/rhoruby/impl/RubyServerResponceImpl.cpp +32 -0
- data/platform/shared/rhoruby/impl/RubyServerResponceImpl.h +21 -0
- data/platform/shared/ruby/android/ruby/config.h +55 -3
- data/platform/shared/ruby/error.c +1 -1
- data/platform/shared/ruby/ext/rho/rhoruby.c +60 -7
- data/platform/shared/ruby/ext/rho/rhoruby.h +3 -0
- data/platform/shared/rubyext/NativeToolbarExt.h +1 -0
- data/platform/uwp/rhodes/rhodes_TemporaryKey.pfx +0 -0
- data/platform/uwp/rhoruntime/common/RhoClassFactory.h +6 -0
- data/platform/win32/RhoSimulator/Qt5Core.dll +0 -0
- data/platform/win32/RhoSimulator/Qt5Gui.dll +0 -0
- data/platform/win32/RhoSimulator/Qt5Multimedia.dll +0 -0
- data/platform/win32/RhoSimulator/Qt5Network.dll +0 -0
- data/platform/win32/RhoSimulator/Qt5Positioning.dll +0 -0
- data/platform/win32/RhoSimulator/Qt5PrintSupport.dll +0 -0
- data/platform/win32/RhoSimulator/Qt5Qml.dll +0 -0
- data/platform/win32/RhoSimulator/Qt5Quick.dll +0 -0
- data/platform/win32/RhoSimulator/Qt5QuickWidgets.dll +0 -0
- data/platform/win32/RhoSimulator/Qt5SerialPort.dll +0 -0
- data/platform/win32/RhoSimulator/Qt5Svg.dll +0 -0
- data/platform/win32/RhoSimulator/Qt5WebChannel.dll +0 -0
- data/platform/win32/RhoSimulator/Qt5WebEngine.dll +0 -0
- data/platform/win32/RhoSimulator/Qt5WebEngineCore.dll +0 -0
- data/platform/win32/RhoSimulator/Qt5WebEngineWidgets.dll +0 -0
- data/platform/win32/RhoSimulator/Qt5Widgets.dll +0 -0
- data/platform/win32/RhoSimulator/QtWebEngineProcess.exe +0 -0
- data/platform/win32/RhoSimulator/RhoSimulator.exe +0 -0
- data/platform/win32/RhoSimulator/audio/qtaudio_wasapi.dll +0 -0
- data/platform/win32/RhoSimulator/audio/qtaudio_windows.dll +0 -0
- data/platform/win32/RhoSimulator/bearer/qgenericbearer.dll +0 -0
- data/platform/win32/RhoSimulator/iconengines/qsvgicon.dll +0 -0
- data/platform/win32/RhoSimulator/imageformats/qgif.dll +0 -0
- data/platform/win32/RhoSimulator/imageformats/qicns.dll +0 -0
- data/platform/win32/RhoSimulator/imageformats/qico.dll +0 -0
- data/platform/win32/RhoSimulator/imageformats/qjpeg.dll +0 -0
- data/platform/win32/RhoSimulator/imageformats/qsvg.dll +0 -0
- data/platform/win32/RhoSimulator/imageformats/qtga.dll +0 -0
- data/platform/win32/RhoSimulator/imageformats/qtiff.dll +0 -0
- data/platform/win32/RhoSimulator/imageformats/qwbmp.dll +0 -0
- data/platform/win32/RhoSimulator/imageformats/qwebp.dll +0 -0
- data/platform/win32/RhoSimulator/libEGL.dll +0 -0
- data/platform/win32/RhoSimulator/libGLESV2.dll +0 -0
- data/platform/win32/RhoSimulator/mediaservice/dsengine.dll +0 -0
- data/platform/win32/RhoSimulator/mediaservice/qtmedia_audioengine.dll +0 -0
- data/platform/win32/RhoSimulator/mediaservice/wmfengine.dll +0 -0
- data/platform/win32/RhoSimulator/platforms/qwindows.dll +0 -0
- data/platform/win32/RhoSimulator/playlistformats/qtmultimedia_m3u.dll +0 -0
- data/platform/win32/RhoSimulator/position/qtposition_geoclue.dll +0 -0
- data/platform/win32/RhoSimulator/position/qtposition_positionpoll.dll +0 -0
- data/platform/win32/RhoSimulator/position/qtposition_serialnmea.dll +0 -0
- data/platform/win32/RhoSimulator/position/qtposition_winrt.dll +0 -0
- data/platform/win32/RhoSimulator/printsupport/windowsprintersupport.dll +0 -0
- data/platform/wm/build/wm.rake +110 -5
- data/platform/wm/rhodes/rho/common/ExtManager.cpp +30 -0
- data/platform/wm/rhodes/rho/common/RhoClassFactory.h +6 -0
- data/platform/wm/rhodes/rho/rubyext/SystemImpl.cpp +3 -0
- data/platform/wm/rubylib/rubylib.vcxproj +6 -0
- data/platform/wp8/rhoruntime/common/RhoClassFactory.h +6 -0
- data/rakefile.rb +14 -10
- data/res/build-tools/iphonesim/build/Release/iphonesim_8 +23 -15
- data/res/build-tools/maven/LICENSE +18 -89
- data/res/build-tools/maven/NOTICE +1 -1
- data/res/build-tools/maven/README.txt +12 -12
- data/res/build-tools/maven/bin/m2.conf +2 -2
- data/res/build-tools/maven/bin/mvn +122 -125
- data/res/build-tools/maven/bin/mvn.cmd +205 -0
- data/res/build-tools/maven/bin/mvnDebug +10 -176
- data/res/build-tools/maven/bin/mvnDebug.cmd +33 -0
- data/res/build-tools/maven/bin/mvnyjp +9 -181
- data/res/build-tools/maven/boot/plexus-classworlds-2.6.0.jar +0 -0
- data/res/build-tools/maven/conf/logging/simplelogger.properties +8 -1
- data/res/build-tools/maven/conf/settings.xml +1 -1
- data/res/build-tools/maven/conf/toolchains.xml +103 -0
- data/res/build-tools/maven/lib/animal-sniffer-annotations-1.14.jar +0 -0
- data/res/build-tools/maven/lib/animal-sniffer-annotations.license +14 -0
- data/res/build-tools/maven/lib/checker-compat-qual-2.0.0.jar +0 -0
- data/res/build-tools/maven/lib/checker-compat-qual.license +14 -0
- data/res/build-tools/maven/lib/commons-cli-1.4.jar +0 -0
- data/res/build-tools/maven/lib/commons-io-2.5.jar +0 -0
- data/res/build-tools/maven/lib/commons-lang3-3.8.1.jar +0 -0
- data/res/build-tools/maven/lib/error_prone_annotations-2.1.3.jar +0 -0
- data/res/build-tools/maven/lib/guava-25.1-android.jar +0 -0
- data/res/build-tools/maven/lib/guice-4.2.1-no_aop.jar +0 -0
- data/res/build-tools/maven/lib/j2objc-annotations-1.1.jar +0 -0
- data/res/build-tools/maven/lib/jansi-1.17.1.jar +0 -0
- data/res/build-tools/maven/lib/jansi-native/README.txt +7 -0
- data/res/build-tools/maven/lib/jansi-native/freebsd32/libjansi.so +0 -0
- data/res/build-tools/maven/lib/jansi-native/freebsd64/libjansi.so +0 -0
- data/res/build-tools/maven/lib/jansi-native/linux32/libjansi.so +0 -0
- data/res/build-tools/maven/lib/jansi-native/linux64/libjansi.so +0 -0
- data/res/build-tools/maven/lib/jansi-native/osx/libjansi.jnilib +0 -0
- data/res/build-tools/maven/lib/jansi-native/windows32/jansi.dll +0 -0
- data/res/build-tools/maven/lib/jansi-native/windows64/jansi.dll +0 -0
- data/res/build-tools/maven/lib/jcl-over-slf4j-1.7.25.jar +0 -0
- data/res/build-tools/maven/lib/jcl-over-slf4j.license +14 -0
- data/res/build-tools/maven/lib/jsr250-api.license +383 -405
- data/res/build-tools/maven/lib/jsr305-3.0.2.jar +0 -0
- data/res/build-tools/maven/lib/maven-artifact-3.6.1.jar +0 -0
- data/res/build-tools/maven/lib/maven-builder-support-3.6.1.jar +0 -0
- data/res/build-tools/maven/lib/maven-compat-3.6.1.jar +0 -0
- data/res/build-tools/maven/lib/maven-core-3.6.1.jar +0 -0
- data/res/build-tools/maven/lib/maven-embedder-3.6.1.jar +0 -0
- data/res/build-tools/maven/lib/maven-model-3.6.1.jar +0 -0
- data/res/build-tools/maven/lib/maven-model-builder-3.6.1.jar +0 -0
- data/res/build-tools/maven/lib/maven-plugin-api-3.6.1.jar +0 -0
- data/res/build-tools/maven/lib/maven-repository-metadata-3.6.1.jar +0 -0
- data/res/build-tools/maven/lib/maven-resolver-api-1.3.3.jar +0 -0
- data/res/build-tools/maven/lib/maven-resolver-connector-basic-1.3.3.jar +0 -0
- data/res/build-tools/maven/lib/maven-resolver-impl-1.3.3.jar +0 -0
- data/res/build-tools/maven/lib/maven-resolver-provider-3.6.1.jar +0 -0
- data/res/build-tools/maven/lib/maven-resolver-spi-1.3.3.jar +0 -0
- data/res/build-tools/maven/lib/maven-resolver-transport-wagon-1.3.3.jar +0 -0
- data/res/build-tools/maven/lib/maven-resolver-util-1.3.3.jar +0 -0
- data/res/build-tools/maven/lib/maven-settings-3.6.1.jar +0 -0
- data/res/build-tools/maven/lib/maven-settings-builder-3.6.1.jar +0 -0
- data/res/build-tools/maven/lib/maven-shared-utils-3.2.1.jar +0 -0
- data/res/build-tools/maven/lib/maven-slf4j-provider-3.6.1.jar +0 -0
- data/res/build-tools/maven/lib/org.eclipse.sisu.inject-0.3.3.jar +0 -0
- data/res/build-tools/maven/lib/org.eclipse.sisu.inject.license +210 -261
- data/res/build-tools/maven/lib/org.eclipse.sisu.plexus-0.3.3.jar +0 -0
- data/res/build-tools/maven/lib/org.eclipse.sisu.plexus.license +210 -261
- data/res/build-tools/maven/lib/plexus-component-annotations-1.7.1.jar +0 -0
- data/res/build-tools/maven/lib/plexus-interpolation-1.25.jar +0 -0
- data/res/build-tools/maven/lib/plexus-sec-dispatcher-1.4.jar +0 -0
- data/res/build-tools/maven/lib/plexus-utils-3.2.0.jar +0 -0
- data/res/build-tools/maven/lib/slf4j-api-1.7.25.jar +0 -0
- data/res/build-tools/maven/lib/slf4j-api.license +10 -186
- data/res/build-tools/maven/lib/wagon-file-3.3.2.jar +0 -0
- data/res/build-tools/maven/lib/wagon-http-3.3.2-shaded.jar +0 -0
- data/res/build-tools/maven/lib/wagon-provider-api-3.3.2.jar +0 -0
- data/res/generators/rhogen.rb +150 -0
- data/res/generators/templates/application/AndroidManifest.erb +13 -4
- data/res/generators/templates/application/build.yml +9 -0
- data/res/generators/templates/application/nodejs_build.yml +1 -1
- data/res/generators/templates/application/resources/android/res/xml/network_security_config.xml +7 -0
- data/res/generators/templates/application/rhoconfig.txt +13 -6
- data/res/generators/templates/application/rhoconfig_rubynode.txt +139 -0
- data/res/generators/templates/application/rubynodejs_build.yml +95 -0
- data/res/generators/templates/extension/extensions/montana/ext/platform/android/Rakefile +19 -0
- data/res/generators/templates/iphone_project/root/Entitlements.plist +1 -1
- data/res/generators/templates/iphone_project/root/Info.plist +1 -3
- data/res/generators/templates/iphone_project/root/rhorunner_development.entitlements +1 -1
- data/res/generators/templates/iphone_project/root/rhorunner_production.entitlements +1 -1
- data/rhodes.gemspec +2 -2
- data/version +1 -1
- metadata +244 -71
- data/res/build-tools/maven/bin/mvn.bat +0 -197
- data/res/build-tools/maven/bin/mvnDebug.bat +0 -200
- data/res/build-tools/maven/boot/plexus-classworlds-2.5.2.jar +0 -0
- data/res/build-tools/maven/lib/aether-api-1.0.0.v20140518.jar +0 -0
- data/res/build-tools/maven/lib/aether-api.license +0 -261
- data/res/build-tools/maven/lib/aether-connector-basic-1.0.0.v20140518.jar +0 -0
- data/res/build-tools/maven/lib/aether-connector-basic.license +0 -261
- data/res/build-tools/maven/lib/aether-impl-1.0.0.v20140518.jar +0 -0
- data/res/build-tools/maven/lib/aether-impl.license +0 -261
- data/res/build-tools/maven/lib/aether-spi-1.0.0.v20140518.jar +0 -0
- data/res/build-tools/maven/lib/aether-spi.license +0 -261
- data/res/build-tools/maven/lib/aether-transport-wagon-1.0.0.v20140518.jar +0 -0
- data/res/build-tools/maven/lib/aether-transport-wagon.license +0 -261
- data/res/build-tools/maven/lib/aether-util-1.0.0.v20140518.jar +0 -0
- data/res/build-tools/maven/lib/aether-util.license +0 -261
- data/res/build-tools/maven/lib/cdi-api.license +0 -445
- data/res/build-tools/maven/lib/commons-cli-1.2.jar +0 -0
- data/res/build-tools/maven/lib/commons-io-2.2.jar +0 -0
- data/res/build-tools/maven/lib/commons-lang-2.6.jar +0 -0
- data/res/build-tools/maven/lib/guava-18.0.jar +0 -0
- data/res/build-tools/maven/lib/jsoup-1.7.2.jar +0 -0
- data/res/build-tools/maven/lib/jsoup.license +0 -66
- data/res/build-tools/maven/lib/maven-aether-provider-3.2.5.jar +0 -0
- data/res/build-tools/maven/lib/maven-aether-provider.license +0 -202
- data/res/build-tools/maven/lib/maven-artifact-3.2.5.jar +0 -0
- data/res/build-tools/maven/lib/maven-artifact.license +0 -202
- data/res/build-tools/maven/lib/maven-compat-3.2.5.jar +0 -0
- data/res/build-tools/maven/lib/maven-compat.license +0 -202
- data/res/build-tools/maven/lib/maven-core-3.2.5.jar +0 -0
- data/res/build-tools/maven/lib/maven-core.license +0 -202
- data/res/build-tools/maven/lib/maven-embedder-3.2.5.jar +0 -0
- data/res/build-tools/maven/lib/maven-embedder.license +0 -202
- data/res/build-tools/maven/lib/maven-model-3.2.5.jar +0 -0
- data/res/build-tools/maven/lib/maven-model-builder-3.2.5.jar +0 -0
- data/res/build-tools/maven/lib/maven-model-builder.license +0 -202
- data/res/build-tools/maven/lib/maven-model.license +0 -202
- data/res/build-tools/maven/lib/maven-plugin-api-3.2.5.jar +0 -0
- data/res/build-tools/maven/lib/maven-plugin-api.license +0 -202
- data/res/build-tools/maven/lib/maven-repository-metadata-3.2.5.jar +0 -0
- data/res/build-tools/maven/lib/maven-repository-metadata.license +0 -202
- data/res/build-tools/maven/lib/maven-settings-3.2.5.jar +0 -0
- data/res/build-tools/maven/lib/maven-settings-builder-3.2.5.jar +0 -0
- data/res/build-tools/maven/lib/maven-settings-builder.license +0 -202
- data/res/build-tools/maven/lib/maven-settings.license +0 -202
- data/res/build-tools/maven/lib/org.eclipse.sisu.inject-0.3.0.M1.jar +0 -0
- data/res/build-tools/maven/lib/org.eclipse.sisu.plexus-0.3.0.M1.jar +0 -0
- data/res/build-tools/maven/lib/plexus-cipher.license +0 -445
- data/res/build-tools/maven/lib/plexus-component-annotations-1.5.5.jar +0 -0
- data/res/build-tools/maven/lib/plexus-interpolation-1.21.jar +0 -0
- data/res/build-tools/maven/lib/plexus-sec-dispatcher-1.3.jar +0 -0
- data/res/build-tools/maven/lib/plexus-sec-dispatcher.license +0 -445
- data/res/build-tools/maven/lib/plexus-utils-3.0.20.jar +0 -0
- data/res/build-tools/maven/lib/sisu-guice-3.2.3-no_aop.jar +0 -0
- data/res/build-tools/maven/lib/slf4j-api-1.7.5.jar +0 -0
- data/res/build-tools/maven/lib/slf4j-simple-1.7.5.jar +0 -0
- data/res/build-tools/maven/lib/slf4j-simple.license +0 -190
- data/res/build-tools/maven/lib/wagon-file-2.8.jar +0 -0
- data/res/build-tools/maven/lib/wagon-file.license +0 -202
- data/res/build-tools/maven/lib/wagon-http-2.8-shaded.jar +0 -0
- data/res/build-tools/maven/lib/wagon-http-shared-2.8.jar +0 -0
- data/res/build-tools/maven/lib/wagon-http-shared.license +0 -202
- data/res/build-tools/maven/lib/wagon-http.license +0 -202
- data/res/build-tools/maven/lib/wagon-provider-api-2.8.jar +0 -0
- 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
|
-
|
152
|
-
|
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
|
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
|
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 =
|
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")
|
54
|
-
|
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
|
-
|
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
|
-
|
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:[@"
|
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
|
-
|
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
|
-
|
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
|
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
|
|