-
Notifications
You must be signed in to change notification settings - Fork 1.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
XamlIslands readiness: code audit #3567
Comments
@licanhua You did a scrub over the code for this some time ago. Did the above linked list match what you were looking for? |
@htpiv Feel free to add issues you find here as you see them. |
@asklar You've been finding these sorts of issues from a place of what's blocking. Do you think there's another way to do a deep audit? Is this issue providing value? |
@chrisglein I think this is still useful. Once I get everything working in the context of playground-win32 and playground, this provides a second layer or "things to go look at" so I'd vote or keeping it open for now. |
In order to make RN4W work correctly when used in a XamlIsland context we need to avoid using certain XAML APIs.
This issue is tracking doing a code audit for all "non-xaml-Islands-friendly" APIs. We'll need to use "xaml-islands-friendly" equivalents to meet the requirement. I expect we'll find some code that needs to be converted. We can track those with follow-up bugs.
The doc that has the list of APIs is here:
https://microsoft.sharepoint.com/:w:/r/teams/specstore/_layouts/15/Doc.aspx?sourcedoc=%7B45E349E7-0241-4B31-B535-BABCC40575AD%7D&file=%5B17468132%5D%20Xaml%20Islands%20ContentRoot%20API%20Spec.docx&wdLOR=c2A16AF8C-CD56-4096-A2DF-4109E715BD47&action=default&mobileredirect=true
Note carefully that this doc doesn't cover APIs that require package identity, which won't work in a win32 context. There isn't a definitive doc on which APIs do require package identity, but we have this:
MikeHillberg says: Here’s some data from Tanaka (Jimha), manually collected (there’s no tooling for this), circa I think 19h1 or Vb (so it’s a longer list for earlier versions). My take overall: not as bad as I expected.
Windows.ApplicationModel.Background.PushNotificationTrigger
Windows.ApplicationModel.Background.StorageLibraryChangeTrackerTrigger
Windows.ApplicationModel.Background.ToastNotificationActionTrigger
Windows.ApplicationModel.Background.ToastNotificationHistoryChangedTrigger
Windows.ApplicationModel.Background.UserNotificationChangedTrigger
Windows.ApplicationModel.ExtendedExecution.ExtendedExecutionSession
Windows.ApplicationModel.ExtendedExecution.Foreground.ExtendedExecutionForegroundSession
Windows.ApplicationModel.FullTrustProcessLauncher
Windows.ApplicationModel.Payments.PaymentAddress
Windows.ApplicationModel.Payments.PaymentCanMakePaymentResult
Windows.ApplicationModel.Payments.PaymentCurrencyAmount
Windows.ApplicationModel.Payments.PaymentDetails
Windows.ApplicationModel.Payments.PaymentDetailsModifier
Windows.ApplicationModel.Payments.PaymentItem
Windows.ApplicationModel.Payments.PaymentMerchantInfo
Windows.ApplicationModel.Payments.PaymentMethodData
Windows.ApplicationModel.Payments.PaymentOptions
Windows.ApplicationModel.Payments.PaymentRequest
Windows.ApplicationModel.Payments.PaymentRequestChangedResult
Windows.ApplicationModel.Payments.PaymentShippingOption
Windows.ApplicationModel.Payments.PaymentToken
Windows.ApplicationModel.Resources.Core.ResourceContext
Windows.ApplicationModel.Resources.ResourceLoader
Windows.ApplicationModel.Store.CurrentApp
Windows.ApplicationModel.Store.CurrentAppSimulator
Windows.ApplicationModel.Store.LicenseManagement.LicenseManager
Windows.ApplicationModel.Store.Preview.InstallControl.AppInstallManager
Windows.ApplicationModel.Store.Preview.InstallControl.AppInstallOptions
Windows.ApplicationModel.Store.Preview.InstallControl.AppUpdateOptions
Windows.ApplicationModel.Store.Preview.StoreConfiguration
Windows.ApplicationModel.Store.Preview.StorePreview
Windows.ApplicationModel.Store.Preview.WebAuthenticationCoreManagerHelper
Windows.ApplicationModel.Store.ProductPurchaseDisplayProperties
Windows.ApplicationModel.VoiceCommands.VoiceCommandContentTile
Windows.ApplicationModel.VoiceCommands.VoiceCommandDefinitionManager
Windows.ApplicationModel.VoiceCommands.VoiceCommandUserMessage
Windows.Devices.SmartCards.SmartCardAppletIdGroup
Windows.Devices.SmartCards.SmartCardAutomaticResponseApdu
Windows.Devices.SmartCards.SmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult
Windows.Devices.SmartCards.SmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult
Windows.Devices.SmartCards.SmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult
Windows.Devices.SmartCards.SmartCardCryptogramMaterialCharacteristics
Windows.Devices.SmartCards.SmartCardCryptogramMaterialPackageCharacteristics
Windows.Devices.SmartCards.SmartCardCryptogramPlacementStep
Windows.Devices.SmartCards.SmartCardCryptogramStorageKeyCharacteristics
Windows.Globalization.ApplicationLanguages
Windows.Media.Capture.CameraCaptureUI
Windows.Media.ContentRestrictions.RatedContentDescription
Windows.Media.ContentRestrictions.RatedContentRestrictions
Windows.Media.Protection.PlayReady.PlayReadyContentHeader
Windows.Media.Protection.PlayReady.PlayReadyContentResolver
Windows.Media.Protection.PlayReady.PlayReadyDomainIterable
Windows.Media.Protection.PlayReady.PlayReadyDomainJoinServiceRequest
Windows.Media.Protection.PlayReady.PlayReadyDomainLeaveServiceRequest
Windows.Media.Protection.PlayReady.PlayReadyIndividualizationServiceRequest
Windows.Media.Protection.PlayReady.PlayReadyITADataGenerator
Windows.Media.Protection.PlayReady.PlayReadyLicenseAcquisitionServiceRequest
Windows.Media.Protection.PlayReady.PlayReadyLicenseIterable
Windows.Media.Protection.PlayReady.PlayReadyLicenseManagement
Windows.Media.Protection.PlayReady.PlayReadyLicenseSession
Windows.Media.Protection.PlayReady.PlayReadyMeteringReportServiceRequest
Windows.Media.Protection.PlayReady.PlayReadyRevocationServiceRequest
Windows.Media.Protection.PlayReady.PlayReadySecureStopIterable
Windows.Media.Protection.PlayReady.PlayReadySecureStopServiceRequest
Windows.Media.Protection.PlayReady.PlayReadyStatics
Windows.Networking.Proximity.PeerFinder
Windows.Networking.PushNotifications.PushNotificationChannelManager
Windows.Security.Authentication.Web.WebAuthenticationBroker
Windows.Storage.AccessCache.StorageApplicationPermissions
Windows.Storage.CachedFileManager
Windows.Storage.DownloadsFolder
Windows.Storage.FileIO
Windows.Storage.PathIO
Windows.Storage.Pickers.FileOpenPicker
Windows.Storage.Pickers.FileSavePicker
Windows.Storage.Pickers.FolderPicker
Windows.Storage.Provider.CachedFileUpdater
Windows.Storage.Search.IndexableContent
Windows.Storage.Search.QueryOptions
Windows.Storage.Streams.InMemoryRandomAccessStream
Windows.Storage.Streams.RandomAccessStream
Windows.System.MemoryManager
Windows.System.Profile.SystemIdentification
Windows.System.UserProfile.AdvertisingManager
Windows.UI.Notifications.AdaptiveNotificationText
Windows.UI.Notifications.BadgeNotification
Windows.UI.Notifications.BadgeUpdateManager
Windows.UI.Notifications.KnownAdaptiveNotificationHints
Windows.UI.Notifications.KnownAdaptiveNotificationTextStyles
Windows.UI.Notifications.KnownNotificationBindings
Windows.UI.Notifications.Notification
Windows.UI.Notifications.NotificationData
Windows.UI.Notifications.ScheduledTileNotification
Windows.UI.Notifications.ScheduledToastNotification
Windows.UI.Notifications.TileFlyoutNotification
Windows.UI.Notifications.TileFlyoutUpdateManager
Windows.UI.Notifications.TileNotification
Windows.UI.Notifications.TileUpdateManager
Windows.UI.StartScreen.SecondaryTile
The text was updated successfully, but these errors were encountered: