aboutsummaryrefslogtreecommitdiffstats
path: root/support/hololens/ServoApp/BrowserPage.cpp
diff options
context:
space:
mode:
authorPaul Rouget <me@paulrouget.com>2019-08-20 07:28:00 +0200
committerPaul Rouget <me@paulrouget.com>2019-08-21 11:03:19 +0200
commit5c1d130217db8ece7313d69a7e76130085d67e94 (patch)
tree292ed26562dca3f9198abdd78df4082dedf5fc33 /support/hololens/ServoApp/BrowserPage.cpp
parent5f89dc87bd26ddb62931251edf7c76c782b96a94 (diff)
downloadservo-5c1d130217db8ece7313d69a7e76130085d67e94.tar.gz
servo-5c1d130217db8ece7313d69a7e76130085d67e94.zip
Handle servo:// url
Diffstat (limited to 'support/hololens/ServoApp/BrowserPage.cpp')
-rw-r--r--support/hololens/ServoApp/BrowserPage.cpp17
1 files changed, 14 insertions, 3 deletions
diff --git a/support/hololens/ServoApp/BrowserPage.cpp b/support/hololens/ServoApp/BrowserPage.cpp
index 6507306178d..0db7a055cec 100644
--- a/support/hololens/ServoApp/BrowserPage.cpp
+++ b/support/hololens/ServoApp/BrowserPage.cpp
@@ -7,6 +7,7 @@
#include "BrowserPage.h"
#include "BrowserPage.g.cpp"
+using namespace winrt::Windows::Foundation;
using namespace winrt::Windows::UI::Xaml;
using namespace winrt::Windows::UI::Core;
using namespace winrt::Windows::UI::ViewManagement;
@@ -36,10 +37,20 @@ void BrowserPage::BindServoEvents() {
});
}
-void BrowserPage::Shutdown() {
- servoControl().Shutdown();
+void BrowserPage::LoadServoURI(Uri uri) {
+ auto scheme = uri.SchemeName();
+
+ if (scheme != SERVO_SCHEME) {
+ log("Unexpected URL: ", uri.RawUri().c_str());
+ return;
+ }
+ std::wstring raw{uri.RawUri()};
+ auto raw2 = raw.substr(SERVO_SCHEME_SLASH_SLASH.size());
+ servoControl().LoadURIOrSearch(raw2);
}
+void BrowserPage::Shutdown() { servoControl().Shutdown(); }
+
/**** USER INTERACTIONS WITH UI ****/
void BrowserPage::OnBackButtonClicked(IInspectable const &,
@@ -62,7 +73,7 @@ void BrowserPage::OnStopButtonClicked(IInspectable const &,
servoControl().Stop();
}
-void BrowserPage::OnURLEdited(IInspectable const &sender,
+void BrowserPage::OnURLEdited(IInspectable const &,
Input::KeyRoutedEventArgs const &e) {
if (e.Key() == Windows::System::VirtualKey::Enter) {
servoControl().Focus(FocusState::Programmatic);