File tree Expand file tree Collapse file tree 3 files changed +20
-2
lines changed Expand file tree Collapse file tree 3 files changed +20
-2
lines changed Original file line number Diff line number Diff line change @@ -33,6 +33,7 @@ pub trait BrowserEngine {
33
33
fn get_cursor ( & self ) -> Interaction ;
34
34
// fn get_icon(&self) -> Image<Handle>;
35
35
fn goto_url ( & self , url : & Url ) ;
36
+ fn goto_html ( & self , html : String ) ;
36
37
fn has_loaded ( & self ) -> bool ;
37
38
fn new_tab ( & mut self , url : Url , size : Size < u32 > ) -> Tab < Self :: Info > ;
38
39
fn get_tabs ( & self ) -> & Tabs < Self :: Info > ;
Original file line number Diff line number Diff line change @@ -144,6 +144,10 @@ impl BrowserEngine for Ultralight {
144
144
* self . tabs . get_current ( ) . info . cursor . read ( ) . unwrap ( )
145
145
}
146
146
147
+ fn goto_html ( & self , html : String ) {
148
+ self . tabs . get_current ( ) . info . view . load_html ( & html) . unwrap ( ) ;
149
+ }
150
+
147
151
fn goto_url ( & self , url : & Url ) {
148
152
self . tabs
149
153
. get_current ( )
Original file line number Diff line number Diff line change @@ -110,6 +110,13 @@ impl Default for TabSelectionType {
110
110
}
111
111
}
112
112
113
+ /// Allows the user to write a custom homepage
114
+ pub enum HomepageType {
115
+ Url ( String ) ,
116
+ /// This is rendered with html
117
+ Custom ( String ) ,
118
+ }
119
+
113
120
pub struct IcyBrowser < Engine : BrowserEngine > {
114
121
engine : Engine ,
115
122
home : Url ,
@@ -150,8 +157,14 @@ impl<Engine: BrowserEngine> IcyBrowser<Engine> {
150
157
Self :: default ( )
151
158
}
152
159
153
- pub fn with_homepage ( mut self , homepage : & str ) -> Self {
154
- self . home = Url :: parse ( homepage) . expect ( "Failed to parse homepage as a url!" ) ;
160
+ pub fn with_homepage ( mut self , homepage : HomepageType ) -> Self {
161
+ match homepage {
162
+ HomepageType :: Url ( url) => {
163
+ self . home = Url :: parse ( & url) . expect ( "Failed to parse homepage as a url!" ) ;
164
+ }
165
+ HomepageType :: Custom ( _) => todo ! ( ) ,
166
+ }
167
+
155
168
self
156
169
}
157
170
You can’t perform that action at this time.
0 commit comments