Description: Adjust Crosswalk Embedding API for following requirement:
1. Customer requirement 2. Moving current hidden API in internal classes with empty implementation (which will be meaningless if not exposed) out to embedding API. 3. Deprecate enum type in current Embedding API and use const int instead. 4. For those pairs of hidden API and Embedding API which are functionally duplicated, remove one of the pair. 5. Remove dependency of internal classes of embedders. (Core shell/cordova container/etc.) Affected Component XWalk core library XWalk embedding API Related feature https://crosswalk-project.org/jira/browse/XWALK-1040 Target release Crosswalk8 Implementation details For Classes exposed in Embedding API: XWalkUIClient // Following two are moved from internal class XWalkWebChromeClient with empty implementation, thus getVideoLoadingProgressView is used by cordova public Bitmap getDefaultVideoPoster() public View getVideoLoadingProgressView() // This is required by customer (XWALK-1705<https://crosswalk-project.org/jira/browse/XWALK-1705>), also moved from XWalkWebChromeClient with empty implementation. public boolean onCreateWindow(XWalkView view, boolean isDialog, boolean isUserGesture, Message resultMsg) // Also moved from internal class XWalkWebChromeClient with empty implementation, thus onReceivedTitle is used in core shell public void onReceivedTitle(XWalkView view, String title) public void onReceivedIcon(XWalkView view, Bitmap icon) public void onReceivedTouchIconUrl(XWalkView view, String url, boolean precomposed) // Moved from internal class XWalkClient with empty implementation public boolean shouldOverrideKeyEvent(XWalkView view, KeyEvent event) public void onUnhandledKeyEvent(XWalkView view, KeyEvent event) // @deprecated, use const int instead of enum type public enum JavascriptMessageType public boolean onJavascriptModalDialog(XWalkView view, JavascriptMessageType type, String url, String message, String defaultValue, XWalkJavascriptResult result) public final static int JAVASCRIPT_MESSAGE_ALERT = 1; public final static int JAVASCRIPT_MESSAGE_CONFIRM = 2; public final static int JAVASCRIPT_MESSAGE_PROMPT = 3; public final static int JAVASCRIPT_MESSAGE_BEFOREUNLOAD = 4; public boolean onJavascriptModalDialog(XWalkView view, int type, String url, String message, String defaultValue, XWalkJavascriptResult result) XWalkNavigationHistory // @deprecated, use const int instead of enum type public enum Direction public void navigate(Direction direction, int steps) public final static int NAVIGATION_BACKWARD = 1; public final static int NAVIGATION_FORWARD = 2; public void navigate(int direction, int steps) For Internal Classes: APIs moved to Embedding API will be removed in internal classes. Besides, XWalkClient // Duplicate with shouldInterceptLoadRequest in XWalkResourceClient, remove this. public boolean shouldOverrideUrlLoading(XWalkView view, String url) // Duplicate with onLoadStarted/Finished in XWalkResourceClient, to intercept load of each resource, should use above API. onLoadStarted/Finished should be equal to pageStarted/Finished. // Remove these two. public void onPageStarted(XWalkView view, String url) public void onPageFinished(XWalkView view, String url) // Marked legacy in current code, remove it. public void onLoadResource(XWalkView view, String url) Thanks, Shiliu
_______________________________________________ Crosswalk-dev mailing list [email protected] https://lists.crosswalk-project.org/mailman/listinfo/crosswalk-dev
