18
18
19
19
~Internal () { [webView_ release ]; }
20
20
21
- void load_url (const std::string &url) {
21
+ auto load_url (const std::string &url) -> void {
22
22
NSString *urlString = [NSString stringWithUTF8String: url.c_str ()];
23
23
NSURL *nsUrl = [NSURL URLWithString: urlString];
24
24
if (nsUrl) {
@@ -29,6 +29,18 @@ void load_url(const std::string &url) {
29
29
}
30
30
}
31
31
32
+ auto load_html (const std::string &html_path) -> void {
33
+ NSBundle *bundle = [NSBundle mainBundle ];
34
+ NSString *html_filename = [NSString stringWithUTF8String: html_path.c_str ()];
35
+ NSString *html_filename_without_extension =
36
+ [html_filename stringByDeletingPathExtension ];
37
+ NSURL *html_url = [bundle URLForResource: html_filename_without_extension
38
+ withExtension: @" html" ];
39
+
40
+ [this->get_webview () loadFileURL: html_url
41
+ allowingReadAccessToURL: [html_url URLByDeletingLastPathComponent ]];
42
+ }
43
+
32
44
auto get_webview () -> WKWebView * { return webView_; }
33
45
34
46
private:
@@ -58,17 +70,6 @@ void load_url(const std::string &url) {
58
70
}
59
71
60
72
auto WebView::load_html (const std::string &html_path) -> void {
61
- NSString *html_filename = [NSString stringWithUTF8String: html_path.c_str ()];
62
- NSString *html_filename_without_extension =
63
- html_filename.stringByDeletingPathExtension ;
64
- NSBundle *bundle = [NSBundle mainBundle ];
65
- NSString *path = [bundle pathForResource: html_filename_without_extension
66
- ofType: @" html" ];
67
- NSString *html = [NSString stringWithContentsOfFile: path
68
- encoding: NSUTF8StringEncoding
69
- error: nil ];
70
-
71
- WKWebView *webview = internal_->get_webview ();
72
- [webview loadHTMLString: html baseURL: [bundle resourceURL ]];
73
+ internal_->load_html (html_path);
73
74
}
74
75
} // namespace sourcemeta::native
0 commit comments