-
Notifications
You must be signed in to change notification settings - Fork 505
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
8275138: WebView: UserAgent string is empty for first request #643
Conversation
/reviewers 2 |
👋 Welcome back kcr! A progress list of the required criteria for merging this PR into |
@kevinrushforth |
The fix looks fine. I built and tested on mac. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
looks good to me too.
@kevinrushforth This change now passes all automated pre-integration checks. ℹ️ This project also has non-automated pre-integration requirements. Please see the file CONTRIBUTING.md for details. After integration, the commit message for the final commit will be:
You can use pull request commands such as /summary, /contributor and /issue to adjust it as needed. At the time when this comment was updated there had been no new commits pushed to the ➡️ To integrate this PR with the above commit message to the |
/integrate |
Going to push as commit d6f78e2. |
@kevinrushforth Pushed as commit d6f78e2. 💡 You may see a message that your pull request was closed with unmerged commits. This can be safely ignored. |
The failure was caused by a change that was done in connection with the WebKit 610.2 update, JDK-8259635. The
FrameLoaderClient::userAgent
function was changed in WebKit itself to be a const method in WebKit 610.2. We override that method inFrameLoaderClientJava
to return the user agent string, which is done by reading the user agent from an instance of thePage
class.FrameLoaderClientJava
has am_page
field that is lazily initialized whenever it is needed. This lazy initialization can no longer be done from theuserAgent
method, since it isconst
, as can be seen from this change that was done as part of WebKit 610.2:Formerly, if the
m_page
field was uninitialized, FrameLoaderClient::userAgent would have initialized it by the call to thepage()
function, but since it is nowconst
we can't do that. This means that the user agent string will be empty until some other method is called that initializes them_page
field.The fix is to initialize that field when the
WebPage
is created. We can't do it in the constructor, since the needed reference to thePage
class isn't yet available, so I added aninit
method that is called fromWebPage::twkInit
.I added a new unit test that fails without the fix and passes with the fix.
Progress
Issue
Reviewers
Reviewing
Using
git
Checkout this PR locally:
$ git fetch https://git.openjdk.java.net/jfx pull/643/head:pull/643
$ git checkout pull/643
Update a local copy of the PR:
$ git checkout pull/643
$ git pull https://git.openjdk.java.net/jfx pull/643/head
Using Skara CLI tools
Checkout this PR locally:
$ git pr checkout 643
View PR using the GUI difftool:
$ git pr show -t 643
Using diff file
Download this PR as a diff file:
https://git.openjdk.java.net/jfx/pull/643.diff