New issue
Advanced search Search tips

Issue 785099 link

Starred by 1 user

Issue metadata

Status: Started
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Task



Sign in to add a comment

Eliminate object-copying in Media Router struct traits

Project Member Reported by taku...@chromium.org, Nov 15 2017

Issue description

Per the Mojo style guide [1], struct traits getters should return const refs instead of copies of objects. The remaining copies that we have are due to needing to create optional objects from non-optional ones.

[1] https://chromium.googlesource.com/chromium/src/+/master/docs/security/mojo.md#StructTraits-getters-should-be-simple
 
Project Member

Comment 1 by bugdroid1@chromium.org, Nov 21 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/38c9257b930f883c3ab936b1274590c94cc08012

commit 38c9257b930f883c3ab936b1274590c94cc08012
Author: Takumi Fujimoto <takumif@chromium.org>
Date: Tue Nov 21 02:12:55 2017

[Media Router] Use const refs in struct traits

This CL reduces the use of optional in the attributes of Issue and MediaRoute Mojo structs so the struct traits can return const refs to their C++ counterparts.
We check for null attributes in media_router_bindings.js.

Bug: 785099
Change-Id: Idb47e048f6e99aad164cb403e0b25e045801f48b
Reviewed-on: https://chromium-review.googlesource.com/770635
Commit-Queue: Takumi Fujimoto <takumif@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Derek Cheng <imcheng@chromium.org>
Cr-Commit-Position: refs/heads/master@{#518061}
[modify] https://crrev.com/38c9257b930f883c3ab936b1274590c94cc08012/chrome/browser/media/router/issue_manager_unittest.cc
[modify] https://crrev.com/38c9257b930f883c3ab936b1274590c94cc08012/chrome/common/media_router/mojo/media_router.mojom
[modify] https://crrev.com/38c9257b930f883c3ab936b1274590c94cc08012/chrome/common/media_router/mojo/media_router_struct_traits.cc
[modify] https://crrev.com/38c9257b930f883c3ab936b1274590c94cc08012/chrome/common/media_router/mojo/media_router_struct_traits.h
[modify] https://crrev.com/38c9257b930f883c3ab936b1274590c94cc08012/chrome/renderer/resources/extensions/media_router_bindings.js

Cc: powerb@chromium.org

Sign in to add a comment