Find
C
ase-sensitive
R
egexp search
Path
Showing
7b1a35d6
:
Bug
2019610
- Add a test for overflow: auto on inner vs. outer SVG. r=firefox-svg-reviewers,dholbert
firefox-main
/
browser
/
components
/
shell
/
rust
/
shell_windows
/
src
Navigation
Enable keyboard shortcuts
Name
Description
Size
Coverage
lib.rs
# Windows Shell This crate provides implementations of features necessary for interacting with the Windows shell.
414
-
limited_access_features.rs
# Limited Access Feature Service Limited Access Features are an interface used by Windows to gate access to APIs. This module implements utilities to unlock features as well as exposes this functionality through XPCOM. --- This module implements the same method used by Microsoft to generate the Limited Access Feature token. The following is provided for additional context. ## Microsoft Token Generation To unlock features, we need: - a feature identifier - a token - an attestation string The token can be generated by Microsoft and must match the Publisher ID Microsoft thinks we have, for a particular feature. To get a token, find the right Microsoft email address documented on MSDN for the feature you want unlocked to contact. The token is generated from Microsoft. The jumbled code in the attestation string is a Publisher ID and must match the code in the resources / .rc file for the identity, looking like this for non-MSIX builds: Identity LimitedAccessFeature {{ L"MozillaFirefox_pcsmm0jrprpb2" }} Broken down: Identity LimitedAccessFeature {{ L"PRODUCTNAME_PUBLISHERID" }} That is injected into our build in create_rc.py and is necessary to unlock Windows features such as the taskbar pinning APIs from an unpackaged build. In the above, the token is generated from the Publisher ID (pcsmm0jrprpb2) and the Product Name (MozillaFirefox) ## Microsoft Provided Tokens All tokens listed here were provided to us by Microsoft. Per Microsoft, these tokens are not considered secret, thus have been included in source. Below and in create_rc.py, we used this set: > Product Name: "MozillaFirefox" > Publisher ID: "pcsmm0jrprpb2" > Token: "kRFiWpEK5uS6PMJZKmR7MQ==" Microsoft also provided these other tokens, which will work if accompanied by the matching changes to create_rc.py: > Product Name: "FirefoxBeta" > Publisher ID: "pcsmm0jrprpb2" > Token: "RGEhsYgKhmPLKyzkEHnMhQ==" > Product Name: "FirefoxNightly" > Publisher ID: "pcsmm0jrprpb2" > Token: "qbVzns/9kT+t15YbIwT4Jw==" To use those instead, you have to ensure that the LimitedAccessFeature generated in create_rc.py has the Product Name and Publisher ID matching the token used in this file. For non-packaged (non-MSIX) builds, any of the above sets will work. Just make sure the right (ProductName_PublisherID) value is in the generated resource data for the executable, and use the matching Token and Attestation strings. To get MSIX/packaged builds to work, the Product Name and Publisher in the [final manifest](searchfox.org/mozilla-central/search?q=APPX_PUBLISHER) should match the token in this file. For that case, the identity value in the resources does not matter. See [Microsoft examples](https://github.com/microsoft/Windows-classic-samples/tree/main/Samples/TaskbarManager/CppUnpackagedDesktopTaskbarPin)
11401
73 %
LimitedAccessFeatureService.h
561
-