commit | a92355ff9f219ec9e772c01ba5c82ba57f6bce1e | [log] [tgz] |
---|---|---|
author | Nikita Nemkin <nikita@nemkin.ru> | Sat Feb 19 21:08:10 2022 +0500 |
committer | Alexander Kurtakov <akurtako@redhat.com> | Thu Mar 17 10:18:41 2022 -0400 |
tree | 812d54eb2ae5c231097e8633c3d9cbfbe04f1153 | |
parent | a56c5b55c9ec05607ae31a2f3865406d2288980f [diff] |
Bug 573616 - [GTK] BrowserFunction only work in first browser instance (Part 2) Implement BrowserFunction calls with synchronous XMLHttpRequests to a custom protocol handler. SWT registers a custom protocol handler (swt://) and BrowserFunction calls from JavaScript to Java are performed by issuing HTTP requests using this protocol. The function to call and its arguments are JSON encoded in the request URI. Function return value is JSON encoded in the response body. JSON codec created for the Edge integration on Windows is reused. For early and reliable JavaScript injection after page navigation and reload, BrowserFunction scripts are registered with the user content manager API. This prevents race conditions compared to using execute() from the LocationListener.changing or ProgressListener.completed. An automated test (test_BrowserFunction_multiprocess) is included to verify correct BrowserFunction operation across multiple Browser instances and page reloads. Change-Id: I33f97ee5710b561b4c3a71e1567ae21814ac43ee Reviewed-on: https://git.eclipse.org/r/c/platform/eclipse.platform.swt/+/191032 Tested-by: Alexander Kurtakov <akurtako@redhat.com> Reviewed-by: Alexander Kurtakov <akurtako@redhat.com>
Thanks for your interest in this project.
See the following description for how to contribute a feature or a bug fix to SWT.
Information regarding source code management, builds, coding standards, and more and be found under the following link.
Before your contribution can be accepted by the project, you need to create and electronically sign the Eclipse Foundation Contributor License Agreement (CLA).
Contact the project developers via the project's “dev” list.
This project uses Bugzilla to track ongoing development and issues.
Be sure to search for existing bugs before you create another one. Remember that contributions are always welcome!