Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1920)

Issue 297573003: Make delegated software renderer work on Mac (Closed)

Created:
6 years, 7 months ago by ccameron
Modified:
6 years, 7 months ago
CC:
chromium-reviews, yusukes+watch_chromium.org, yukishiino+watch_chromium.org, jam, penghuang+watch_chromium.org, sievers+watch_chromium.org, jbauman+watch_chromium.org, nona+watch_chromium.org, darin-cc_chromium.org, kalyank, piman+watch_chromium.org, cc-bugs_chromium.org, James Su, danakj+watch_chromium.org, miu+watch_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Visibility:
Public.

Description

Make delegated software renderer work on Mac Add a device scale factor parameter to SoftwareOutputDevice::Resize and plumb that parameter through to the contentsScale property of the CALayer that is used to draw the software frame. Change the way that RWHVMac draws software frames (both delegated and non-delegated) so that the CALayer for the software frame has setContents called on it with a CGImageRef of the software frame, instead of drawing the CGImageRef to the inside the CALayer's displayInContext function. This is the way that things should have been done to begin with (it involves a lot less copying and a lot more idle time in the browser main thread), but wasn't compatible with the (now-defunct) legacy software path. Change the software rendering path to set the contentsScale of the software CALayer at the time that the software frame is received, when the contents are updated, instead of in RWHVMac::LayoutLayers. BUG=314190 Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=271839

Patch Set 1 #

Patch Set 2 : Cleanup #

Patch Set 3 : Fix windows build #

Total comments: 8

Patch Set 4 : Incorporate review feedback #

Patch Set 5 : Rebas #

Unified diffs Side-by-side diffs Delta from patch set Stats (+264 lines, -100 lines) Patch
M cc/output/output_surface.cc View 1 chunk +1 line, -1 line 0 comments Download
M cc/output/software_output_device.h View 1 2 3 2 chunks +3 lines, -2 lines 0 comments Download
M cc/output/software_output_device.cc View 1 2 3 2 chunks +12 lines, -7 lines 0 comments Download
M cc/test/pixel_test_software_output_device.h View 1 chunk +1 line, -1 line 0 comments Download
M cc/test/pixel_test_software_output_device.cc View 1 chunk +6 lines, -4 lines 0 comments Download
M content/browser/android/in_process/synchronous_compositor_output_surface.cc View 1 chunk +2 lines, -1 line 0 comments Download
M content/browser/compositor/gpu_process_transport_factory.cc View 2 chunks +5 lines, -0 lines 0 comments Download
A content/browser/compositor/software_output_device_mac.h View 1 2 3 1 chunk +35 lines, -0 lines 0 comments Download
A content/browser/compositor/software_output_device_mac.mm View 1 chunk +43 lines, -0 lines 0 comments Download
M content/browser/compositor/software_output_device_ozone.h View 1 chunk +2 lines, -1 line 0 comments Download
M content/browser/compositor/software_output_device_ozone.cc View 1 2 3 1 chunk +8 lines, -5 lines 0 comments Download
M content/browser/compositor/software_output_device_ozone_unittest.cc View 4 chunks +4 lines, -4 lines 0 comments Download
M content/browser/compositor/software_output_device_win.h View 1 2 3 2 chunks +4 lines, -1 line 0 comments Download
M content/browser/compositor/software_output_device_win.cc View 1 2 3 2 chunks +10 lines, -6 lines 0 comments Download
M content/browser/compositor/software_output_device_x11.h View 1 2 3 1 chunk +2 lines, -0 lines 0 comments Download
M content/browser/compositor/software_output_device_x11.cc View 1 2 3 3 chunks +5 lines, -5 lines 0 comments Download
M content/browser/renderer_host/render_widget_host_view_mac.h View 1 2 3 2 chunks +12 lines, -7 lines 0 comments Download
M content/browser/renderer_host/render_widget_host_view_mac.mm View 1 2 3 4 13 chunks +90 lines, -42 lines 0 comments Download
M content/content_browser.gypi View 1 2 3 4 1 chunk +2 lines, -0 lines 0 comments Download
M content/renderer/gpu/compositor_software_output_device.h View 1 chunk +1 line, -1 line 0 comments Download
M content/renderer/gpu/compositor_software_output_device.cc View 1 2 3 7 chunks +16 lines, -12 lines 0 comments Download

Messages

Total messages: 10 (0 generated)
ccameron
ptal https://codereview.chromium.org/297573003/diff/40001/cc/output/software_output_device.h File cc/output/software_output_device.h (right): https://codereview.chromium.org/297573003/diff/40001/cc/output/software_output_device.h#newcode78 cc/output/software_output_device.h:78: gfx::Size viewport_size_; I was considering renaming all instances ...
6 years, 7 months ago (2014-05-20 06:34:27 UTC) #1
piman
https://codereview.chromium.org/297573003/diff/40001/cc/output/software_output_device.h File cc/output/software_output_device.h (right): https://codereview.chromium.org/297573003/diff/40001/cc/output/software_output_device.h#newcode78 cc/output/software_output_device.h:78: gfx::Size viewport_size_; On 2014/05/20 06:34:27, ccameron1 wrote: > I ...
6 years, 7 months ago (2014-05-20 07:04:17 UTC) #2
ccameron
Thanks! ptal https://codereview.chromium.org/297573003/diff/40001/cc/output/software_output_device.h File cc/output/software_output_device.h (right): https://codereview.chromium.org/297573003/diff/40001/cc/output/software_output_device.h#newcode78 cc/output/software_output_device.h:78: gfx::Size viewport_size_; On 2014/05/20 07:04:17, piman wrote: ...
6 years, 7 months ago (2014-05-20 19:15:50 UTC) #3
piman
lgtm https://codereview.chromium.org/297573003/diff/40001/content/browser/compositor/software_output_device_mac.h File content/browser/compositor/software_output_device_mac.h (right): https://codereview.chromium.org/297573003/diff/40001/content/browser/compositor/software_output_device_mac.h#newcode28 content/browser/compositor/software_output_device_mac.h:28: ui::Compositor* compositor_; On 2014/05/20 19:15:50, ccameron1 wrote: > ...
6 years, 7 months ago (2014-05-20 21:00:30 UTC) #4
ccameron
Thanks!
6 years, 7 months ago (2014-05-20 21:02:31 UTC) #5
ccameron
The CQ bit was checked by ccameron@chromium.org
6 years, 7 months ago (2014-05-20 21:02:36 UTC) #6
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/ccameron@chromium.org/297573003/80001
6 years, 7 months ago (2014-05-20 21:05:23 UTC) #7
Ken Russell (switch to Gerrit)
Nice work. LGTM FWIW.
6 years, 7 months ago (2014-05-20 21:32:36 UTC) #8
commit-bot: I haz the power
FYI, CQ is re-trying this CL (attempt #1). Please consider checking whether the failures are ...
6 years, 7 months ago (2014-05-20 22:07:34 UTC) #9
commit-bot: I haz the power
6 years, 7 months ago (2014-05-21 03:21:08 UTC) #10
Message was sent while issue was closed.
Change committed as 271839

Powered by Google App Engine
This is Rietveld 408576698