- Implement custom protocol on Android.
- Implement
WebView::eval
on Android. - On iOS, add webview as subview instead of replacing original view.
- Move WebView logic from tao to wry.
- Add android support
- Enable private picture-in-picture on macos.
- On macOS, fix devtool warning
- 2eba8c9 fix: devtool warning by adding parent view
- Add
WebViewBuilder::with_clipboard
. - Fix typos in several files.
- Set webview2 language to match the OS language. This makes i18n functions like
new Date().toLocaleStrin()
behave correctly. - Update tao to 0.13.0.
-
- Automatically resize the webview on Windows to align with other platforms.
- Breaking change: Removed
WebView::resize
- d7c9097 feat: auto resize webview on Windows (#628) on 2022-06-27
- Implement new window requested handler
- Re-export
url::Url
. - Update tao to 0.12
- Remove unused tray from doc features.
- Add option to enable/disable zoom shortcuts for WebView2, disabled by default.
- Prevent memory leak on macOS.
- Update the
windows
crate to the latest 0.37.0 release andwebview2-com
to 0.16.0 to match.
The #[implement]
macro in windows-implement
and the implement
feature in windows
depend on some const
generic features which stabilized in rustc
1.61. The MSRV on Windows targets is effectively 1.61, but other targets do not require these features.
The webview2-com
crate specifies rust-version = "1.61"
, so wry
will inherit that MSRV and developers on Windows should get a clear error message telling them to update their toolchain when building wry
or anything that depends on wry
. Developers targeting other platforms should be able to continue using whatever toolchain they were using before.
- Fixes a crash on macOS below Big Sur due to
titlebarSeparatorStyle
(11+ API) usage.- eb2dddb fix(macos): only use APIs when supported on 2022-05-08
- Only run
WebView::print
on macOS on v11+. This prevents a crash on older versions.- eb2dddb fix(macos): only use APIs when supported on 2022-05-08
- Fixes a typo in the
WebviewExtMacOS
conditional compilation. - Fixes a crash when the custom protocol response is empty on macOS.
- Add
WebView::zoom
method. - Set the titlebar separator style in macOS to
none
. - Disable webview2 mini menu
- Update how android handles url
- Add devtools support on Android/iOS.
- Fix to reset process on MacOS when webview is closed, closes #536.
- On Windows and Linux, disable resizing maximized borderless windows.
- Fixes a memory leak on the custom protocol response body on macOS.
- Update tao to v0.8.0.
- The
tray
andayatana-tray
Cargo features are not enabled by default. - Breaking change: Renamed the
ayatana
Cargo feature toayatana-tray
and added thegtk-tray
feature. The default tray on Linux is nowlibayatana-appindicator
.
- Added
close_devtools
function toWebview
. - Hide the devtool functions behind the
any(debug_assertions, feature = "devtools")
flag. - Breaking change: Renamed the
devtool
function toopen_devtools
. - Enable tab navigation on macOS.
- Added
is_devtools_open
function toWebview
. -
- Expose methods to access the underlying native handles of the webview.
- Breaking change:
WebviewExtWindows::controller
now returns the controller directly and not wrapped in anOption
- e54afec feat: expose webview native handles, closes #495 (#513) on 2022-03-03
- Add navigation handler to decide if an url is allowed to navigate.
- Breaking change: Renamed the
devtool
feature todevtools
. - Breaking change: Renamed the
with_dev_tool
function towith_devtools
.
- Fix rustdoc generation of Windows and Mac on docs.rs.
- Fix cross compilation from
macOS
. - Update
webview2-com
to 0.13.0, which bumps the WebView2 SDK to 1.0.1108.44 and improves cross-compilation support.
Targeting *-pc-windows-gnu works now, but it has some limitations.
- 24a443c Add /.changes/webview2-com-0.13.0.md on 2022-02-14
-
Add
devtool
feature flag and configuration option. -
Update the
webview2-com
crate 0.11.0: -
Fix silent build script errors related to unconfigured nuget in wravery/webview2-rs#4
-
Update the WebView2 SDK (not the runtime, just the API bindings) to the latest 1.0.1072.54 version
- Update gtk to 0.15
- Add clipboard field in WebViewAttributes.
- Ignore transparency on Windows 7 to prevent application crash.
- Remove clipboard property for consistency across platforms.
- Enable cookie persistence on Linux if the
data_directory
is provided. - Enable objc's exception features so they can be treated as panic message.
- Add inner size method for webview. This can reflect correct size of webview on macOS.
- Add "transparent" and "fullscreen" feature flags on macOS to toggle private API.
- Implement WebContextImpl on mac to extend several callback lifetimes.
- The only thing that private mod shared does is re-export http mod to public, we can just pub mod http.
-
- Fix hovering over an edge of undecorated window on Linux won't change cursor.
- Undecorated window can be resized using touch on Linux.
- 219d20c Merge next back to dev branch (#477) on 2022-02-05
- Update webkit2gtk to 0.15
- Add
with_user_agent(&str)
toWebViewBuilder
. - Replace all of the
winapi
crate references with thewindows
crate, and replacewebview2
andwebview2-sys
withwebview2-com
andwebview2-com-sys
built with thewindows
crate. The replacement bindings are in thewebview2-com-sys
crate, withpub use
in thewebview2-com
crate. They can be shared with TAO. - Fix null pointer crash on
get_content
of web resource request. This is a temporary fix. We will switch it back once upstream is updated. - Update the
windows
crate to 0.25.0, which comes with pre-built libraries. WRY and Tao can both reference the same types directly from thewindows
crate instead of sharing bindings inwebview2-com-sys
. - Update the
windows
crate to 0.29.0 andwebview2-com
to 0.9.0. - Update the
windows
crate to 0.30.0 andwebview2-com
to 0.10.0.
-
Fixed a Linux multi-window issue where the internal url loader didn't unlock when flushed while empty
-
The custom protocol now returns a
Request
and expects aResponse
. -
This allows us to get the complete request from the Webview. (Method, GET, POST, PUT etc..) Read the complete header.
-
And allow us to be more flexible in the future without bringing breaking changes.
-
d202573 refactor: Custom protocol request/response (#387) on 2021-08-22
-
On Linux, automation callbacks now use the first created webview as the return value
- Add html attributes as another method to load the page. This can provide some other origin header and make CORS request possible.
- Shorter protocol name on Windows. This can make origin be shorter too.
- Custom Protocol handlers no longer take a
&Window
parameter. - Update gtk to version 0.14. This also remove requirement of
clang
. - Update tao to v0.5. Please see release notes on tao for more information.
- Add flags to support all other possible unix systems.
- Support having multiple webkit2gtk
WebView
s on a singleWebContext
. - On Windows, Fix cursor flickering when Tao window is without decorations
- Remove winrt support since it's outdated for a long time. We will reimplement it again once
windws-rs
is stable!
- Allow resizing of borderless window on Windows
- Mark enums as
#[non_exhaustive]
to prevent breaking changes on enum update. - Bump tao to
0.4
. Please refer totao
changelog for more details. -
- Add
focus
method toWebview
- Add
- Add
WebviewExtWindows
trait withcontroller
method - 621ed1f feat: add
.focus()
toWebview
(#325) on 2021-07-05 - 96b7b94 Add controller method instead (#326) on 2021-07-07
- macOS: Remove handler in the webview as it should be handled with the menu.
- Fixes multiple custom protocols registration on Windows.
- #315 fixed Webview2 runtime performance issues.
- Fix file explorer getting blocked by automation.
WebContext::set_allows_automation
is now available to specify if the context should allow automation (e.g. WebDriver). It is only enforced on Linux, but may expand platforms in the future.
- Add WebViewAttributes
- Add
with_web_context
method that can work well with builder pattern. - Change the custom protocol handler on macOS so it returns a response on error and a status code on success.
- Update signature of custom protocol closure. It should return a mime type string now.
- Fix webview creation when using new_any_thread of event loop.
- Remove
Dispatcher
,dispatch_script
anddispatcher
in thewebview
module and add ajs
parameter toevaluate_script
. - Removes the
image
dependency. - Bump tao to
0.3
and add more examples.
For more details, please refer to tao
changelog.
- cd4697e bump
tao
to 0.3 with examples (#294) on 2021-06-21 - Add
wry::webview::WebContext
. It's now a required argument onWebViewBuilder::build
.
- Update tao to v0.2.6
- Expose
webview_version
function in thewebview
module. - Add print method on Linux and Windows.
- Disable smooth scrolling on Linux to match behaviour on browsers.
- Correctly set visibility when building
Window
on gtk-backend - Fix
macOS
cursors and other minors UI glitch. - Expose
print()
function to the webview. Work only on macOS for now. - Fix macOS windows order for tray (statusbar) applications.
- Add
request_redraw
method ofWindow
on Linux - Add tao as window dependency.
- Close the window when the instance is dropped on Linux and Windows.
- Remove winit dependency on Linux
- Refactor signatures of most closure types
- Drop handler closures properly on macOS.
- Fix
history.pushState
in webview2. - The
data_directory
field now affects the IndexedDB and LocalStorage directories on Linux. - Fix runtime panic on macOS, when no file handler are defined.
- Add position field on WindowAttribute
- Fix panic on multiple custom protocols registration.
- Fix SVG render with the custom protocol.
- Initial custom WindowExtWindows trait.
- Fix transparency on Windows
- Add platform module and WindowExtUnix trait on Linux
- Make sure custom protocol on Windows is over HTTPS.
- Initial winit interface for gtk backend
- Wry now accepts multiple custom protocol registrations.
- Apply license header for SPDX compliance.
- Remove bindings crate and use windows-webview2 as dependency instead.
- Add old win32 implementation on windows as default feature flag.
- Adds a
WindowProxy
to the file drop handler closure -WindowFileDropHandler
.
- Add pipe back to version check for covector config. This prevents the CI failure on publish if it exists already. The issue was patched in covector (and tests in place so it doesn't break in the future).
- Fix messages to the webview from the backend being delayed on Linux/GTK when the user is not actively engaged with the UI.
- Add draggable regions, just add
drag-region
class to the html element. - Add event listener in application proxy
- Better result error handling
- Fix visibility on webview2 when window was invisible previously and then shown.
- Add attribute option to allow WebView on Windows use user_data folder
- Initialize covector!
- Support Windows 7, 8, and 10
- Dev tools are enabled on debug build
- Add skip task bar option
- Add custom protocol option
- Add transparent option to mac and linux
- Error type has Send/Sync traits
- 3536b83 Add .changes file in prepare of v0.6 on 2021-02-24
- Replace Callback with RPC handler
- Add File drop handlers