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.
<rdar://problem/20438171>
Created attachment 257754 [details] Patch
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?
Holding off on this until we understand why latter elements of the same size paint to existing IOSurfaces and make us render things incorrectly.
(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".
This will be unblocked when http://trac.webkit.org/changeset/181301 is rolled out.
Created attachment 257964 [details] Patch
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.
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.
(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.
Committed r187961: <http://trac.webkit.org/changeset/187961>
Build fix in r187963