private void LoadHistoryHelper(object comIStream, bool firstLoadFromHistory) { if (this._appProxyInternal == null) { return; } this._appProxyInternal.LoadHistoryStream(DocObjHost.ExtractComStream(comIStream), firstLoadFromHistory); }
internal XappLauncherApp(Uri deploymentManifest, string applicationId, IBrowserCallbackServices browser, DocObjHost.ApplicationRunnerCallback applicationRunner, INativeProgressPage nativeProgressPage, string progressPageAssembly, string progressPageClass, string errorPageAssembly, string errorPageClass) { _deploymentManifest = deploymentManifest; _applicationId = applicationId; _browser = browser; _applicationRunnerCallback = applicationRunner; _fwlinkUri = null; this.Startup += new StartupEventHandler(XappLauncherApp_Startup); this.Exit += new ExitEventHandler(XappLauncherApp_Exit); this.Navigated += new NavigatedEventHandler(XappLauncherApp_Navigated); _nativeProgressPage = nativeProgressPage; _progressPageAssembly = progressPageAssembly; _progressPageClass = progressPageClass; _errorPageAssembly = errorPageAssembly; _errorPageClass = errorPageClass; }
// Called by the laucher in preparation for launching an XBAP and shutting down. // We used to just call Shutdown on XAppLauncher and launch the XBAP in a Shutdown handler // However sometimes the initial launch of a cached XBAP fails // so we refresh the cache by downloading the XBAP and retrying the launch. // This retry cannot succeed while shutdown is in progress so we now // Launch the XBAP in a dispatcher callback // If the XBAP launch does not immediately fail we shutdown XappLauncher private void RunApplicationAsync(DocObjHost.ApplicationRunner applicationRunner) { Invariant.Assert(applicationRunner != null); _applicationRunner = applicationRunner; _runApplication = true; Dispatcher.BeginInvoke(DispatcherPriority.Normal, new DispatcherOperationCallback(RunApplicationAsyncCallback), null); }