FILE: C:\Windows\SystemApps\Microsoft.Windows.CloudExperienceHost_cw5n1h2txyewy\js\default.js

--
// // Copyright (C) Microsoft. All rights reserved. // /// JS2055.DoNotReferenceBannedTerms (function () { "use strict"; var app = WinJS.Application; var activation = Windows.ApplicationModel.Activation; var appManager = null; let canShowUI = false; let isFirstActivation = true; navigator.gamepadInputEmulation = "keyboard"; // The gamepad input should produce XYFocus style keyboard events. app.onactivated = function (args) { CloudExperienceHost.Telemetry.AppTelemetry.getInstance().logEvent("AppActivated", JSON.stringify({ 'Kind': args.detail.kind, 'PreviousExecutionState': args.detail.previousExecutionState })); let thisPlatform = CloudExperienceHost.Environment.getPlatform(); function completeOnActivated(args) { // In order to guard against dependencies taken on non-release MUA Test version of CXH, fast-fail // unless on certain nonshippping(yet) Windows Core products which need internal selfhosting consistency for rsmaster/L3s // or the dev-unlock Velocity feature is being used. let familyName = Windows.ApplicationModel.Package.current.id.familyName; if (familyName.indexOf('MultiUser') != -1) { let allowedByPlatform = ((thisPlatform === CloudExperienceHost.TargetPlatform.WINDOWS8828080) || (thisPlatform === CloudExperienceHost.TargetPlatform.WINDOWSCORE) || (thisPlatform === CloudExperienceHost.TargetPlatform.SURFACEHUB)); let allowedByVelocityOverride = CloudExperienceHostAPI.FeatureStaging.isOobeFeatureEnabled("TestMultiUserCxhFastFailExempt"); if (!(allowedByPlatform || allowedByVelocityOverride)) { throw new Error(CloudExperienceHost.ErrorNames.ActivationNotSupported); } } if (args.detail.kind === activation.ActivationKind.webAccountProvider || args.detail.kind === activation.ActivationKind.componentUI) { appManager = new CloudExperienceHost.MSATokenProviderManager(); } else { appManager = new CloudExperienceHost.AppManager(); let argsWithUser = args.detail; if (argsWithUser) { CloudExperienceHost.IUserManager.getInstance().setIUser(argsWithUser.user); } } require.config(new RequirePathConfig('/core')); // Please note that the optional sample file included in the requireAsync below is for F5 purpose only and hence included in the jsproj and not the other manifests. // In production cxh the 'optional' plugin will handle the failure to load the module and AppObjectFactory will route the api calls to the actual default winrt apis. // In F5 environment AppObjectFactory replaces the default implementations with custom modules defined in the Samples. args.setPromise(requireAsync(['lib/knockout', 'knockouthelpers', 'default-vm', 'legacy/appViewManager', 'legacy/navigationManager', 'lib/knockout-winjs', 'optional!sample/SampleImplementationCollection']).then((result) => { let ko = result.lib_knockout; let KnockoutHelpers = result.knockouthelpers; let DefaultViewModel = result.default_vm; let appViewManager = result.legacy_appViewManager; let navManager = result.legacy_navigationManager; return appManager.initialize(args).then(function () { appViewManager.loadCss(); let knockoutHelpers = new KnockoutHelpers(); if (isFirstActivation) { knockoutHelpers.registerFrameComponents(); } let rootElement = document.getElementById("_defaultRoot"); let isBound = ko.dataFor(rootElement); if (isBound) { ko.cleanNode(rootElement); } let navMesh = appManager.getDiscoveryNavMesh(); let frameName = "default-frame"; if (navMesh) { let meshFrameName = appManager.getDiscoveryNavMesh().getFrameName(); // "default-frame", "oobe-frame" or "sspr-frame" if (meshFrameName) { frameName = meshFrameName; } } appManager.setAppViewManager(appViewManager); appManager.setNavManager(navManager); ko.applyBindings(new DefaultViewModel(frameName), rootElement); return KnockoutHelpers.waitForInitialComponentLoadAsync(); }).then(() => { return WinJS.UI.processAll(); }).then(function () { canShowUI = true; let previousExecutionState = args.detail.previousExecutionState; switch (args.detail.previousExecutionState) { case activation.ApplicationExecutionState.notRunning: /* The app is not running */ case activation.ApplicationExecutionState.closedByUser: /* The app was closed by the user */ appManager.start(args); break; case activation.ApplicationExecutionState.suspended: /* The app is suspended */ break; case activation.ApplicationExecutionState.terminated: /* The app was terminated after being suspended */ appManager.resume(args); break; case activation.ApplicationExecutionState.running: /* The app is running */ // The previous running enviroment get lost and switch to new one. appManager.start(args); break; default: throw new Error(CloudExperienceHost.ErrorNames.ActivationNotSupported); break; } isFirstActivation = false; }); })); } if (thisPlatform === CloudExperienceHost.TargetPlatform.HOLOGRAPHIC) { let op = MSApp.clearTemporaryWebDataAsync(); op.oncomplete = function () { completeOnActivated(args); }; op.start(); } else { completeOnActivated(args); } }; app.oncheckpoint = function (args) { // AppTelemetry events are sampled under the MEASURE policy yet, we require this code path to be always detected. // Thus the creation of AppCheckpoint event, sampled under CRITICAL. // We still fire the AppTelemetry event to ensure system event logs are produced. CloudExperienceHost.Telemetry.AppTelemetry.getInstance().logEvent("AppCheckpoint"); CloudExperienceHost.Telemetry.AppTelemetry.getInstance().appCheckpoint(); if (appManager) { appManager.checkpoint(args); } else { CloudExperienceHost.Telemetry.AppTelemetry.getInstance().logEvent("AppCheckpoint but appManager is not ready", uri); } }; app.onloaded = function () { // Process all resources WinJS.Resources.processAll(); } app.onerror = function (e) { if (canShowUI == false) { var data = e.detail; var logData = new Object; logData["errorCode"] = data && (data.number || (data.exception && (data.exception.number || data.exception.code)) || (data.error && data.error.number) || data.errorCode || 0); logData["message"] = data && (data.message || data.errorMessage || (data.error && data.error.message) || (data.exception && data.exception.message) || null); logData["stack"] = data && (data.stack || (data.exception && (data.exception.stack || data.exception.message)) || (data.error && data.error.stack) || null); CloudExperienceHost.Telemetry.AppTelemetry.getInstance().logEvent("UnhandledException", JSON.stringify(logData)); return null; } return appManager ? appManager.onUnhandledException(e) : null; } app.restart = function (uri) { CloudExperienceHost.Telemetry.AppTelemetry.getInstance().logEvent("AppRestart", uri); if (appManager) { appManager.restart(uri); } else { CloudExperienceHost.Telemetry.AppTelemetry.getInstance().logEvent("AppRestart but appManager is not ready", uri); } }; app.start(); })();
--