Chris Brody created CB-13802: -------------------------------- Summary: Avoid unnecessary ApplicationView access on Windows 8.1 Key: CB-13802 URL: https://issues.apache.org/jira/browse/CB-13802 Project: Apache Cordova Issue Type: Bug Components: cordova-windows Reporter: Chris Brody Assignee: Jesse MacFadyen
>From changes in CB-12238, CB-12784, and CB-13641 I noticed a few spots where >{{Windows.UI.ViewManagement.ApplicationView.getForCurrentView()}} is called >for no good reason on Windows 8.1, along with a couple "else crash on 8.1" >comments nearby. The following changes (NOT TESTED) would resolve this issue: {code:sh} diff --git a/cordova-js-src/splashscreen.js b/cordova-js-src/splashscreen.js index 97fd86c..77bca75 100644 --- a/cordova-js-src/splashscreen.js +++ b/cordova-js-src/splashscreen.js @@ -198,7 +198,7 @@ function enableUserInteraction() { // Enter fullscreen mode function enterFullScreen() { - if (Windows.UI.ViewManagement.ApplicationViewBoundsMode) { // else crash on 8.1 + if (isWin10UWP && Windows.UI.ViewManagement.ApplicationViewBoundsMode) { var view = Windows.UI.ViewManagement.ApplicationView.getForCurrentView(); view.setDesiredBoundsMode(Windows.UI.ViewManagement.ApplicationViewBoundsMode.useCoreWindow); view.suppressSystemOverlays = true; @@ -207,7 +207,7 @@ function enterFullScreen() { // Exit fullscreen mode function exitFullScreen() { - if (Windows.UI.ViewManagement.ApplicationViewBoundsMode) { // else crash on 8.1 + if (isWin10UWP && Windows.UI.ViewManagement.ApplicationViewBoundsMode) { var view = Windows.UI.ViewManagement.ApplicationView.getForCurrentView(); view.setDesiredBoundsMode(Windows.UI.ViewManagement.ApplicationViewBoundsMode.useVisible); view.suppressSystemOverlays = false; @@ -216,8 +216,10 @@ function exitFullScreen() { // Make title bg color match splashscreen bg color function colorizeTitleBar() { - var appView = Windows.UI.ViewManagement.ApplicationView.getForCurrentView(); if (isWin10UWP && !isBgColorTransparent) { + var appView = + Windows.UI.ViewManagement.ApplicationView.getForCurrentView(); + titleInitialBgColor = appView.titleBar.backgroundColor; appView.titleBar.backgroundColor = titleBgColor; @@ -227,8 +229,10 @@ function colorizeTitleBar() { // Revert title bg color function revertTitleBarColor() { - var appView = Windows.UI.ViewManagement.ApplicationView.getForCurrentView(); if (isWin10UWP && !isBgColorTransparent) { + var appView = + Windows.UI.ViewManagement.ApplicationView.getForCurrentView(); + appView.titleBar.backgroundColor = titleInitialBgColor; appView.titleBar.buttonBackgroundColor = titleInitialBgColor; } {code} Unfortunately I do not know how to test splashscreen changes myself, guidance would be appreciated. -- This message was sent by Atlassian JIRA (v7.6.3#76005) --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscr...@cordova.apache.org For additional commands, e-mail: issues-h...@cordova.apache.org