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

Closed
wants to merge 3 commits into from

Conversation

arun-joseph
Copy link
Member

@arun-joseph 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


Progress

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

Issue

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

Reviewers

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

Download

$ git fetch https://git.openjdk.java.net/jfx pull/62/head:pull/62
$ git checkout pull/62

@bridgekeeper
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 Ready for review label Dec 9, 2019
@mlbridge
Copy link

mlbridge bot commented Dec 9, 2019

Webrevs

@guruhb
Copy link
Contributor

guruhb commented Jan 6, 2020

have you tested this on Linux and Mac by changing JVM option -Dglass.win.uiScale=.

@kevinrushforth
Copy link
Member

/reviewers 2

@openjdk
Copy link

openjdk bot commented Jan 24, 2020

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

@kevinrushforth
Copy link
Member

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
Member

@kevinrushforth kevinrushforth left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

@openjdk
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 Ready to be integrated label Mar 26, 2020
@arun-joseph
Copy link
Member Author

/integrate

@openjdk
Copy link

openjdk bot commented Mar 26, 2020

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

@openjdk openjdk bot added the sponsor Ready to sponsor label Mar 26, 2020
@kevinrushforth
Copy link
Member

/sponsor

@openjdk openjdk bot closed this Mar 26, 2020
@openjdk openjdk bot added integrated Pull request has been integrated and removed sponsor Ready to sponsor ready Ready to be integrated labels Mar 26, 2020
@openjdk
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 applecoreaudio.md 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 javafx.media 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 gstreamer.md
  • 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 GlassScene.java 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 Ready for review label Mar 26, 2020
@arun-joseph arun-joseph deleted the 8234471 branch March 26, 2020 11:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
integrated Pull request has been integrated
Development

Successfully merging this pull request may close these issues.

3 participants