diff --git a/support/hololens/ServoApp/App.cpp b/support/hololens/ServoApp/App.cpp index 22b6f4586f4..721324ae120 100644 --- a/support/hololens/ServoApp/App.cpp +++ b/support/hololens/ServoApp/App.cpp @@ -95,10 +95,7 @@ void App::OnActivated(IActivatedEventArgs const &args) { rootFrame = content.try_as(); } auto page = rootFrame.Content().try_as(); - page->LoadServoURI(protocolActivatedEventArgs.Uri()); - // If Servo was opened as a result of clicking on a fxr:// URL, - // we activate transient mode. - page->SetTransientMode(!isRunning); + page->LoadFXRURI(protocolActivatedEventArgs.Uri()); } } diff --git a/support/hololens/ServoApp/BrowserPage.cpp b/support/hololens/ServoApp/BrowserPage.cpp index 6f6bb5a98b5..04b0b3ae85c 100644 --- a/support/hololens/ServoApp/BrowserPage.cpp +++ b/support/hololens/ServoApp/BrowserPage.cpp @@ -99,16 +99,20 @@ void BrowserPage::OnURLKeyboardAccelerator( urlTextbox().Focus(FocusState::Programmatic); } -void BrowserPage::LoadServoURI(Uri uri) { +void BrowserPage::LoadFXRURI(Uri uri) { auto scheme = uri.SchemeName(); - - if (scheme != SERVO_SCHEME) { - log(L"Unexpected URL: ", uri.RawUri().c_str()); - return; - } std::wstring raw{uri.RawUri()}; - auto raw2 = raw.substr(SERVO_SCHEME_SLASH_SLASH.size()); - servoControl().LoadURIOrSearch(raw2); + if (scheme == FXR_SCHEME) { + auto raw2 = raw.substr(FXR_SCHEME_SLASH_SLASH.size()); + servoControl().LoadURIOrSearch(raw2); + SetTransientMode(false); + } else if (scheme == FXRMIN_SCHEME) { + auto raw2 = raw.substr(FXRMIN_SCHEME_SLASH_SLASH.size()); + servoControl().LoadURIOrSearch(raw2); + SetTransientMode(true); + } else { + log(L"Unexpected URL: ", uri.RawUri().c_str()); + } } void BrowserPage::SetTransientMode(bool transient) { diff --git a/support/hololens/ServoApp/BrowserPage.h b/support/hololens/ServoApp/BrowserPage.h index bd575e55739..2f800a516ac 100644 --- a/support/hololens/ServoApp/BrowserPage.h +++ b/support/hololens/ServoApp/BrowserPage.h @@ -17,8 +17,10 @@ using namespace winrt::Windows::Foundation; using namespace winrt::Windows::UI::Xaml; using namespace winrt::Windows::UI::Xaml::Media; -static const hstring SERVO_SCHEME = L"fxr"; -static const hstring SERVO_SCHEME_SLASH_SLASH = L"fxr://"; +static const hstring FXR_SCHEME = L"fxr"; +static const hstring FXR_SCHEME_SLASH_SLASH = L"fxr://"; +static const hstring FXRMIN_SCHEME = L"fxrmin"; +static const hstring FXRMIN_SCHEME_SLASH_SLASH = L"fxrmin://"; struct BrowserPage : BrowserPageT, public servo::DevtoolsDelegate { public: @@ -37,8 +39,7 @@ public: OnURLKeyboardAccelerator(IInspectable const &, Input::KeyboardAcceleratorInvokedEventArgs const &); void Shutdown(); - void LoadServoURI(Uri uri); - void SetTransientMode(bool); + void LoadFXRURI(Uri uri); void SetArgs(hstring); void OnMediaControlsPlayClicked(IInspectable const &, RoutedEventArgs const &); @@ -52,6 +53,7 @@ public: Collections::IObservableVector ConsoleLogs() { return mLogs; }; private: + void SetTransientMode(bool); void UpdatePref(ServoApp::Pref, Controls::Control); void BindServoEvents(); void BuildPrefList(); diff --git a/support/hololens/ServoApp/Package.appxmanifest b/support/hololens/ServoApp/Package.appxmanifest index cea93282edf..c934a92c447 100644 --- a/support/hololens/ServoApp/Package.appxmanifest +++ b/support/hololens/ServoApp/Package.appxmanifest @@ -38,6 +38,12 @@ Firefox Reality URL + + + Assets\StoreLogo.png + Firefox Reality URL (Kiosk mode) + +