Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

VBrowserDetails.isEdge() doesn't work for all cases anymore #12321

Open
roastedcpu opened this issue Jun 9, 2021 · 1 comment
Open

VBrowserDetails.isEdge() doesn't work for all cases anymore #12321

roastedcpu opened this issue Jun 9, 2021 · 1 comment

Comments

@roastedcpu
Copy link

roastedcpu commented Jun 9, 2021

According to https://blogs.windows.com/msedgedev/2019/04/08/microsoft-edge-preview-channel-details/ , chapter "User Agent String", Chromium Edge's user agent is now Edg/ instead of the Legacy Edge's edge/.

Given that there are several differences between these two, and also that Legacy Edge is not supported from V15+ on, a isLegacyEdge() method could be created so that isEdge() would be deprecated and simply call isLegacyEdge and a new isChromiumEdge() could be created, this last one searching for the new user agent feature Edg/

@TatuLund
Copy link
Contributor

TatuLund commented Jun 9, 2021

My understanding is that intent of Microsoft with the new user agent has been, that new Edge is supposed to be treaded as Chrome, as it based on same engine.

The current isEdge method VBrowserDetails.isEdge() (and consequently its server side sibling) is meaning that the Browser is the EdgeHtml legacy browser. Vaadin component internal implementations use this to do things differently as EdgeHtml does not support some things Chrome does.

Thus what is needed is to clarify this in the documentation. This is the first step.

Another matter is the possible API additions to further clarify the case

  • As proposed method isLegacyEdge() as alias to isEdge() is more intuitive.

  • isChrome() should be still true for both Chrome and Chromium based Edge.

  • isChromiumEdge() would then be a new method returning true if Browser is Edge variant of Chrome (as it is stated by user agent)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants