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

8234471: Canvas in webview displayed with wrong scale on Windows #62

wants to merge 3 commits into from


Copy link

arun-Joseph commented Dec 9, 2019

This bug can be reproduced when the screen resolution is at 125%, 150% and 175% for Windows, which correpsonds to pixelScale values of 1.25, 1.5 and 1.75, respectively.

Issue: The rectangle inside canvas is rendered on pixelScale while the borders are rendered on Math.ceil(pixelScale)

Fix: Use Math.ceil(pixelScale) for calculating pixelScaleTransform


  • Change must not contain extraneous whitespace
  • Commit message must refer to an issue
  • Change must be properly reviewed


  • JDK-8234471: Canvas in webview displayed with wrong scale on Windows


  • Kevin Rushforth (kcr - Reviewer)
  • Guru Hb (ghb - Reviewer)


$ git fetch pull/62/head:pull/62
$ git checkout pull/62

Copy link

bridgekeeper bot commented Dec 9, 2019

👋 Welcome back ajoseph! A progress list of the required criteria for merging this PR into master will be added to the body of your pull request (refresh this page to view it).

@openjdk openjdk bot added the rfr label Dec 9, 2019
Copy link

mlbridge bot commented Dec 9, 2019


Copy link

guruhb commented Jan 6, 2020

have you tested this on Linux and Mac by changing JVM option

Copy link

kevinrushforth commented Jan 24, 2020

/reviewers 2

Copy link

openjdk bot commented Jan 24, 2020

The number of required reviews for this PR is now set to 2 (with at least 1 of role reviewers).

@arun-Joseph arun-Joseph requested a review from kevinrushforth Feb 25, 2020
Copy link

kevinrushforth commented Mar 24, 2020

This looks like the correct fix, and I can confirm that it does fix the problem. I'll run a set of regression tests on Windows 10 with 125% scaling (which is my normal environment) and then finish my review.

Copy link

kevinrushforth left a comment

The fix looks good to me. I left one comment on the test.

guruhb approved these changes Mar 26, 2020
Copy link

openjdk bot commented Mar 26, 2020

@arun-Joseph This change now passes all automated pre-integration checks. When the change also fulfills all project specific requirements, type /integrate in a new comment to proceed. After integration, the commit message will be:

8234471: Canvas in webview displayed with wrong scale on Windows

Reviewed-by: kcr, ghb
  • If you would like to add a summary, use the /summary command.
  • To credit additional contributors, use the /contributor command.
  • To add additional solved issues, use the /solves command.

Since the source branch of this PR was last updated there have been 98 commits pushed to the master branch. Since there are no conflicts, your changes will automatically be rebased on top of these commits when integrating. If you prefer to avoid automatic rebasing, please merge master into your branch, and then specify the current head hash when integrating, like this: /integrate d12e71c1d75312eddc7cf21b40d5068904f0ae8a.

As you do not have Committer status in this project, an existing Committer must agree to sponsor your change. Possible candidates are the reviewers of this PR (@kevinrushforth, @guruhb) but any other Committer may sponsor as well.

➡️ To flag this PR as ready for integration with the above commit message, type /integrate in a new comment. (Afterwards, your sponsor types /sponsor in a new comment to perform the integration).

@openjdk openjdk bot added the ready label Mar 26, 2020
Copy link
Collaborator Author

arun-Joseph commented Mar 26, 2020


Copy link

openjdk bot commented Mar 26, 2020

Your change (at version eadff86) is now ready to be sponsored by a Committer.

@openjdk openjdk bot added the sponsor label Mar 26, 2020
Copy link

kevinrushforth commented Mar 26, 2020


@openjdk openjdk bot closed this Mar 26, 2020
@openjdk openjdk bot added integrated and removed sponsor ready labels Mar 26, 2020
Copy link

openjdk bot commented Mar 26, 2020

@kevinrushforth @arun-Joseph The following commits have been pushed to master since your change was applied:

  • d12e71c: 8241474: Build failing on Ubuntu 20.04
  • 2a7ab36: 8089134: [2D traversal, RTL] TraversalEngine only handles left/right key traversal correctly in RTL for top-level engine in ToolBar
  • 2aa8218: 8235480: Regression: [RTL] Arrow keys navigation doesn't respect TableView orientation
  • e9c6119: 8240692: Cleanup of the javafx property objects
  • 90289a2: 8239107: Update libjpeg to version 9d
  • b81cf32: 8236259: MemoryLeak in ProgressIndicator
  • 9ea7f96: 8240832: Remove unused third-party legal file
  • 0fc1420: Merge
  • f8c235b: 8240631: Create release notes for JavaFX 14
  • 50e15fc: 8240466: AppJSCallback* apps launched by ModuleLauncherTest intermittently hang
  • e3026b9: 8240688: Remove the JavaBeanXxxPropertyBuilders constructors
  • cfa1193: 8236685: [macOs] Remove obsolete file dialog subclasses
  • f25e8cf: 8212034: Potential memory leaks in jpegLoader.c in error case
  • b2ac76a: 8240451: JavaFX javadoc build fails with JDK 14
  • cf0bba6: 8240211: Stack overflow on Windows 32-bit can lead to crash
  • 337ed72: 8237926: Potential memory leak of model data in javafx.scene.control.ListView
  • 960f039: 8208761: Update constant collections to use the new immutable collections
  • 10c9528: 8240265: iOS: Unnecessary logging on pinch gestures
  • 4c132cd: 8237889: Update libxml2 to version 2.9.10
  • 20328b3: 8240218: IOS Webkit implementation broken
  • 4c82af8: 8236832: [macos 10.15] JavaFX Application hangs on video play on Cata…
  • 9cd6f79: 8196586: Remove use of deprecated finalize methods from javafx property objects
  • ef2f9ce: 8238755: allow to create static lib for on linux
  • c3ee1a3: 8239822: Intermittent unit test failures in RegionCSSTest
  • 3150562: 8235772: Remove use of deprecated finalize method from PiscesRenderer and AbstractSurface
  • 4eaff0d: 8239109: Update SQLite to version 3.31.1
  • d8e7f85: 8239454: LLIntData : invalid opcode returned for 16 and 32 bit wide instructions
  • 48ddd80: Merge
  • 35a01ca: 8228867: Fix mistakes in FX API docs
  • b5e65ec: 8238434: Ensemble: Update version of Lucene to 7.7.2
  • e986459: 8227619: Potential memory leak in javafx.scene.control.ListView
  • a74137a: 8236839: System menubar removed when other menubars are created or modified
  • 21d3b7e: 8237453: [TabPane] Incorrect arrow key traversal through tabs after reordering
  • e224e54: 8238526: Cherry pick GTK WebKit 2.26.3 changes
  • 6968e38: 8237469: Inherited styles don't update when node is moved
  • 3c55a7e: Merge
  • a4b9f24: 8237503: Update copyright header for files modified in 2020
  • 1749e85: 8237975: Non-embedded Animations do not play backwards after being paused
  • 2ab40c1: 8231513: JavaFX cause Keystroke Receiving prompt on MacOS 10.15 (Catalina)
  • aa91ebb: 8237944: webview native cl "-m32" unknown option for windows 32-bit build
  • 56267e1: 8237770: Error creating fragment phong shader on iOS
  • 95bf2c0: 8237782: Only read advances up to the minimum of the numHorMetrics or the available font data.
  • d05e8fc: 8237833: Check glyph size before adding to glyph texture cache
  • 1213ea7: Merge
  • 1823f6e: 8088198: Exception thrown from snapshot if dimensions are larger than max texture size
  • ca37c1f: 8238249: GetPrimitiveArrayCritical passed with hardcoded FALSE value
  • b96bc52: 8237003: Remove hardcoded WebAnimationsCSSIntegrationEnabled flag in DumpRenderTree
  • d303a21: Merge
  • 5a0e71b: 8237372: NullPointerException in TabPaneSkin.stopDrag
  • 79fc0d0: 8232824: Removing TabPane with strong referenced content causes memory leak from weak one
  • aa6f3a4: 8236912: NullPointerException when clicking in WebView with Button 4 or Button 5
  • 921389f: Merge
  • da99e24: 8237823: Mark TextTest.testTabSize as unstable
  • 66ac99f: Merge
  • 9ae37f1: 8236753: Animations do not play backwards after being stopped
  • b2d8564: 8233942: Update to 609.1 version of WebKit
  • f5ee963: 8157224: isNPOTSupported check is too strict
  • be22e85: 8237078: [macOS] Media build broken on XCode 11
  • 20325e1: Merge
  • 16cea41: Merge
  • 63520a0: Merge
  • 8a5344c: Merge
  • 2e0d01c: Merge
  • a96704e: Merge
  • 71fa9af: Merge
  • a3711e2: Merge
  • 2d5d7e0: Merge
  • 962bdd1: 8232214: Improved internal validations
  • 2d2b824: 8232128: Better formatting for numbers
  • 81f7738: 8232121: Better numbering system
  • 8e55294: Merge
  • 1325f11: Merge
  • f759dd9: Merge
  • fed185a: Merge
  • 592d745: Merge
  • a0b4b14: 8227473: Improve gstreamer media support
  • a557dd9: 8236733: Change JavaFX release version to 15
  • f907026: 8236808: javafx_iio can not be used in static environment
  • e6587ff: 8236448: Remove unused and repair broken Android/Dalvik code
  • c9519b6: 8232589: Remove CoreAudio Utility Classes
  • df8b3c5: 8233798: Ctrl-L character mistakenly removed from
  • e0b45f8: 8236648: javadoc warning on Text::tabSizeProperty method
  • 587f195: 8234474: [macos 10.15] Crash in file dialog in sandbox mode
  • f1108b0: 8233747: JVM crash in com.sun.webkit.dom.DocumentImpl.createAttribute
  • 3c4d68d: 8236626: Update copyright header for files modified in 2019
  • 580a2a9: 8087980: Add property to disable Monocle cursor
  • 3bbcbfb: 8225571: Port DND source to use GTK instead of GDK
  • 1952606: 8232811: Dialog's preferred size no longer accommodates multi-line strings
  • 4c6ebfb: 8236484: Compile error in monocle dispman
  • 8367e1a: 8130738: Add tabSize property to Text and TextFlow
  • 69e4ef3: 8235627: Blank stages when running JavaFX app in a macOS virtual machine
  • 5e0fb91: 8235364: Update copyright header for files modified in 2019
  • 935e99d: 8207957: TableSkinUtils should not contain actual code implementation
  • 4e005e4: 8227808: Make GTK3 libraries mandatory for building on Linux
  • 1140d34: 8196587: Remove use of deprecated finalize method from JPEGImageLoader
  • d2d44b4: 8207759: VK_ENTER not consumed by TextField when default Button exists
  • fc539b5: 8223296: NullPointerException in at line 325
  • 71ca899: 8220722: ProgressBarSkin: adds strong listener to control's width property

Your commit was automatically rebased without conflicts.

Pushed as commit f3a3ea0.

@openjdk openjdk bot removed the rfr label Mar 26, 2020
@arun-Joseph arun-Joseph deleted the arun-Joseph:8234471 branch Mar 26, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
None yet
Linked issues

Successfully merging this pull request may close these issues.

None yet

3 participants
You can’t perform that action at this time.