comparison win/edge.cpp @ 2065:2dacac5e4023

Win: Updated Edge (Chromium) support for WebView2 SDK 0.9.488.
author bsmith@81767d24-ef19-dc11-ae90-00e081727c95
date Mon, 27 Apr 2020 08:55:40 +0000
parents 21bc72ff40cb
children 43453c9a404c
comparison
equal deleted inserted replaced
2064:19fb7f72051b 2065:2dacac5e4023
44 VOID Action(int action); 44 VOID Action(int action);
45 int Raw(const char* string); 45 int Raw(const char* string);
46 int URL(const char* url); 46 int URL(const char* url);
47 int JavascriptRun(const char* script, void* scriptdata); 47 int JavascriptRun(const char* script, void* scriptdata);
48 VOID DoSize(VOID); 48 VOID DoSize(VOID);
49 VOID Setup(HWND hwnd, ICoreWebView2Host* webview); 49 VOID Setup(HWND hwnd, ICoreWebView2Controller* webview);
50 VOID Close(VOID); 50 VOID Close(VOID);
51 protected: 51 protected:
52 HWND hWnd = nullptr; 52 HWND hWnd = nullptr;
53 Microsoft::WRL::ComPtr<ICoreWebView2> WebView; 53 Microsoft::WRL::ComPtr<ICoreWebView2> WebView;
54 Microsoft::WRL::ComPtr<ICoreWebView2Host> WebHost; 54 Microsoft::WRL::ComPtr<ICoreWebView2Controller> WebHost;
55 }; 55 };
56 56
57 LRESULT CALLBACK EdgeBrowser::WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam) 57 LRESULT CALLBACK EdgeBrowser::WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
58 { 58 {
59 switch (uMsg) 59 switch (uMsg)
82 82
83 case WM_CREATE: 83 case WM_CREATE:
84 { 84 {
85 // Step 3 - Create a single WebView within the parent window 85 // Step 3 - Create a single WebView within the parent window
86 // Create a WebView, whose parent is the main window hWnd 86 // Create a WebView, whose parent is the main window hWnd
87 Env->CreateCoreWebView2Host(hWnd, Callback<ICoreWebView2CreateCoreWebView2HostCompletedHandler>( 87 Env->CreateCoreWebView2Controller(hWnd, Callback<ICoreWebView2CreateCoreWebView2ControllerCompletedHandler>(
88 [hWnd](HRESULT result, ICoreWebView2Host* webhost) -> HRESULT { 88 [hWnd](HRESULT result, ICoreWebView2Controller* webhost) -> HRESULT {
89 EdgeWebView* WebView = new EdgeWebView; 89 EdgeWebView* WebView = new EdgeWebView;
90 ICoreWebView2* webview; 90 ICoreWebView2* webview;
91 91
92 WebView->Setup(hWnd, webhost); 92 WebView->Setup(hWnd, webhost);
93 dw_window_set_data(hWnd, _DW_HTML_DATA_NAME, DW_POINTER(WebView)); 93 dw_window_set_data(hWnd, _DW_HTML_DATA_NAME, DW_POINTER(WebView));
333 return S_OK; 333 return S_OK;
334 }).Get()); 334 }).Get());
335 return DW_ERROR_NONE; 335 return DW_ERROR_NONE;
336 } 336 }
337 337
338 VOID EdgeWebView::Setup(HWND hwnd, ICoreWebView2Host* host) 338 VOID EdgeWebView::Setup(HWND hwnd, ICoreWebView2Controller* host)
339 { 339 {
340 hWnd = hwnd; 340 hWnd = hwnd;
341 WebHost = host; 341 WebHost = host;
342 host->get_CoreWebView2(&WebView); 342 host->get_CoreWebView2(&WebView);
343 } 343 }