Skip to content
This repository has been archived by the owner on Aug 31, 2021. It is now read-only.

[[ libbrowser ]] Update iOS browser implementation to use WKWebView #7222

Merged

Conversation

livecodeian
Copy link
Contributor

This patch adds a new browser implementation for iOS based on the WKWebView class.

This patch adds a browser implementation for iOS based on the WKWebView class in
the WebKit framework.
…get docs

This patch updates the documentation for the property 'userAgent' to show that it
is now supported on iOS.
This patch adds a release note for the addition of the WkWebView implementation to
the browser widget.
This patch removes the old UIWebView based iOS browser control
implementation so it is no longer compiled into the ios standalone
engine. This will stop iOS app store submissions from receiving warnings
about the use of the deprecated UIWebView class.
 This patch adds a callback mechanism for intercepting navigation requests and
allowing the client to respond, either cancelling or continuing the load of the
requested URL.
@livecodeian livecodeian added this to the 9.6.0-dp-1 milestone Nov 14, 2019
@runrevmark
Copy link
Contributor

@livecode-vulcan review ok c41cfd9

@livecode-vulcan
Copy link
Contributor

💙 review by @runrevmark ok c41cfd9

livecode-vulcan added a commit that referenced this pull request Nov 14, 2019
…ebview

[[ libbrowser ]] Update iOS browser implementation to use WKWebView

This patch adds a new browser implementation for iOS based on the WKWebView class.
@livecode-vulcan
Copy link
Contributor

😞 test failure c41cfd9

  • try-community-armv6-android-sdk26_ndk16r15: success
  • try-community-armv7-android-ndk16r15: failure
  • try-community-arm64-android-ndk16r15: failure
  • try-community-x86-android-ndk16r15: failure
  • try-community-x86_64-android-ndk16r15: failure
  • try-community-js-emscripten-sdk1.35: success
  • try-community-universal-ios-iphoneos13.1: success
  • try-community-universal-ios-iphonesimulator13.1: pending
  • try-community-universal-mac-macosx10.9: success
  • try-community-x86-linux-debian8: pending
  • try-community-x86_64-linux-debian8: pending
  • try-community-x86-win32: pending
  • try-community-x86_64-win32: pending

@runrevmark
Copy link
Contributor

@livecode-vulcan review ok 86db34a

@livecode-vulcan
Copy link
Contributor

💙 review by @runrevmark ok 86db34a

livecode-vulcan added a commit that referenced this pull request Nov 15, 2019
…ebview

[[ libbrowser ]] Update iOS browser implementation to use WKWebView

This patch adds a new browser implementation for iOS based on the WKWebView class.
@livecode-vulcan
Copy link
Contributor

😞 test failure 86db34a

  • try-community-armv6-android-sdk26_ndk16r15: success
  • try-community-armv7-android-ndk16r15: success
  • try-community-arm64-android-ndk16r15: success
  • try-community-x86-android-ndk16r15: success
  • try-community-x86_64-android-ndk16r15: success
  • try-community-js-emscripten-sdk1.35: success
  • try-community-universal-ios-iphoneos13.1: success
  • try-community-universal-ios-iphonesimulator13.1: pending
  • try-community-universal-mac-macosx10.9: success
  • try-community-x86-linux-debian8: success
  • try-community-x86_64-linux-debian8: success
  • try-community-x86-win32: failure
  • try-community-x86_64-win32: failure

This patch adds extra properties to libbrowser that allow controlling aspects of
the webview that are available on iOS.

New properties:
* scrollEnabled - the browser contents can be scrolled
* scrollCanBounce - the contents can be scrolled beyond the edge of the view, bouncing back once released
* canGoBack - the browser can navigate to the previous site in its history
* canGoForward - the browser can navigate to the next site in its history
* autoFit - browser contents are scaled to fit the width of the view
* dataDetectorTypes - types of content that are detected within the browser
* allowsInlineMediaPlayback - video plays within browser view or plays fullscreen
* mediaPlaybackRequiresUserAction - media doesn't play unless triggered by the user

These have been added to the iOS browser implementation. *Note*: modifying the
'dataDetectorTypes', 'allowsInlineMediaPlayback', 'mediaPlaybackRequiresUserAction'
will reset the browser - these should ideally be set once when initialising the
browser.
…reload

This patch extends the libbrowser API by adding the 'loadHTMLText', 'stop', and
'reload' actions.
This patch adds new properties and foreign handlers to the engine browser LCB
module, bringing it up to date with changes to the libbrowser C API
… API

This patch edits handlers, variables, and foreign handler calls within the
browser widget code after renaming of `MCBrowserRequestCallback` to
`MCBrowserNavigationCallback` and associated handlers & types
This patch moves the engine runloop setup code from the browser LCB module to a
C++ function within the engine browser module. This will allow the same code to
be used by the browser widget and by the libbrowser-based mobile browser control
This patch updates various dictionary entries to remove references to UIWebView
which is no longer used by the iOS mobile browser control.
…date

This patch adds a release note for the update of the iOS mobile browser control
to the WebKit framework and WkWebView object.
@livecodeian
Copy link
Contributor Author

@runrevmark The Windows build issues have been fixed now

@runrevmark
Copy link
Contributor

@livecode-vulcan review ok 114f494

@livecode-vulcan
Copy link
Contributor

💙 review by @runrevmark ok 114f494

livecode-vulcan added a commit that referenced this pull request Nov 18, 2019
…ebview

[[ libbrowser ]] Update iOS browser implementation to use WKWebView

This patch adds a new browser implementation for iOS based on the WKWebView class.
@livecode-vulcan
Copy link
Contributor

😎 test success 114f494

  • try-community-armv6-android-sdk26_ndk16r15: success
  • try-community-armv7-android-ndk16r15: success
  • try-community-arm64-android-ndk16r15: success
  • try-community-x86-android-ndk16r15: success
  • try-community-x86_64-android-ndk16r15: success
  • try-community-js-emscripten-sdk1.35: success
  • try-community-universal-ios-iphoneos13.1: success
  • try-community-universal-ios-iphonesimulator13.1: success
  • try-community-universal-mac-macosx10.9: success
  • try-community-x86-linux-debian8: success
  • try-community-x86_64-linux-debian8: success
  • try-community-x86-win32: success
  • try-community-x86_64-win32: success

@livecodepanos livecodepanos merged commit 0485c50 into livecode:develop Nov 18, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants