Bug 147405

Summary: Checkboxes and radio buttons should scale when zooming or pinching to zoom
Product: WebKit Reporter: Wenson Hsieh <wenson_hsieh>
Component: WebCore Misc.Assignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Normal CC: dino, simon.fraser, thorton, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: 528+ (Nightly build)   
Hardware: Mac   
OS: Unspecified   
See Also: https://bugs.webkit.org/show_bug.cgi?id=249878
Attachments:
Description Flags
Patch
none
Patch dino: review+

Wenson Hsieh
Reported 2015-07-29 08:20:04 PDT
When zooming (cmd +/-) or pinching to zoom with the trackpad, checkboxes and radio buttons should scale up in size instead of remaining at a fixed size.
Attachments
Patch (9.42 KB, patch)
2015-07-29 10:13 PDT, Wenson Hsieh
no flags
Patch (10.57 KB, patch)
2015-07-31 15:01 PDT, Wenson Hsieh
dino: review+
Wenson Hsieh
Comment 1 2015-07-29 08:20:51 PDT
Wenson Hsieh
Comment 2 2015-07-29 10:13:02 PDT
Wenson Hsieh
Comment 3 2015-07-29 12:16:36 PDT
Comment on attachment 257754 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=257754&action=review > Source/WebCore/platform/mac/ThemeMac.mm:412 > + imageBuffer.release(); This shouldn't be necessary. What is going on here?
Wenson Hsieh
Comment 4 2015-07-29 13:46:13 PDT
Holding off on this until we understand why latter elements of the same size paint to existing IOSurfaces and make us render things incorrectly.
Tim Horton
Comment 5 2015-07-29 13:54:44 PDT
(In reply to comment #3) > Comment on attachment 257754 [details] > Patch > > View in context: > https://bugs.webkit.org/attachment.cgi?id=257754&action=review > > > Source/WebCore/platform/mac/ThemeMac.mm:412 > > + imageBuffer.release(); > > This shouldn't be necessary. What is going on here? "Shouldn't be necessary" -> "is a leak".
Wenson Hsieh
Comment 6 2015-07-31 13:26:59 PDT
This will be unblocked when http://trac.webkit.org/changeset/181301 is rolled out.
Wenson Hsieh
Comment 7 2015-07-31 15:01:11 PDT
Dean Jackson
Comment 8 2015-08-04 13:36:08 PDT
Comment on attachment 257964 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=257964&action=review > Source/WebCore/ChangeLog:15 > + (WebCore::paintToggleButton): Refactored to use drawCellOrFocusRingWithViewOntoContext. > + (WebCore::paintButton): Refactored to use drawCellOrFocusRingWithViewOntoContext. Onto -> Into or With? > Source/WebCore/platform/mac/ThemeMac.mm:681 > + std::unique_ptr<ImageBuffer> imageBuffer = ImageBuffer::createCompatibleBuffer(inflatedRect.size() + 2 * FloatSize(buttonFocusRectOutlineWidth, buttonFocusRectOutlineWidth), deviceScaleFactor, ColorSpaceDeviceRGB, context, false); > + { > + LocalCurrentGraphicsContext localContext(imageBuffer->context()); > + if (drawButtonCell) > + [cell drawWithFrame:imageBufferDrawRect inView:view]; > + > + if (drawFocusRing) > + needsRepaint = drawCellFocusRing(cell.get(), imageBufferDrawRect, view); > + } > + context->drawImageBuffer(imageBuffer.get(), ColorSpaceDeviceRGB, inflatedRect.location() - FloatSize(buttonFocusRectOutlineWidth, buttonFocusRectOutlineWidth)); We should ask Tim here, but I wonder if we want ColorSpaceSRGB.
Wenson Hsieh
Comment 9 2015-08-04 14:02:49 PDT
Comment on attachment 257964 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=257964&action=review >> Source/WebCore/platform/mac/ThemeMac.mm:681 >> + context->drawImageBuffer(imageBuffer.get(), ColorSpaceDeviceRGB, inflatedRect.location() - FloatSize(buttonFocusRectOutlineWidth, buttonFocusRectOutlineWidth)); > > We should ask Tim here, but I wonder if we want ColorSpaceSRGB. Couldn't get to Tim, but I asked Simon and he recommended ColorSpaceSRGB over device.
Tim Horton
Comment 10 2015-08-04 14:10:08 PDT
(In reply to comment #9) > Comment on attachment 257964 [details] > Patch > > View in context: > https://bugs.webkit.org/attachment.cgi?id=257964&action=review > > >> Source/WebCore/platform/mac/ThemeMac.mm:681 > >> + context->drawImageBuffer(imageBuffer.get(), ColorSpaceDeviceRGB, inflatedRect.location() - FloatSize(buttonFocusRectOutlineWidth, buttonFocusRectOutlineWidth)); > > > > We should ask Tim here, but I wonder if we want ColorSpaceSRGB. > > Couldn't get to Tim, but I asked Simon and he recommended ColorSpaceSRGB > over device. It is somewhat surprising to start using ColorSpaceSRGB before we switch it everywhere, but it doesn't matter either way.
Wenson Hsieh
Comment 11 2015-08-05 09:03:25 PDT
Wenson Hsieh
Comment 12 2015-08-05 09:19:39 PDT
Build fix in r187963
Note You need to log in before you can comment on or make changes to this bug.