Currently, there are 55 [1] icons in the codebase that do not specify their default size (i.e. they do not have a CANVAS_DIMENSIONS line in their corresponding VectorIconRep). This is fine and allowed for the first (i.e. the largest) icon in an .icon file, but if these icons are created without a dip size specified, they will default to a size of 48dip.
These 55 icons should be audited to ensure they never hit this case, then future occurrences should be prevented by adding the following DCHECK to the CreateVectorIcon() function with no dip size in its signature:
DCHECK_EQ(icon.reps[icon.reps_size - 1].path[0].command, CANVAS_DIMENSIONS);
[1] The following 55 icons don't have a CANVAS_DIMENSIONS line as of r552929:
kIcMicBlackIcon
kIcGoogleColorIcon
kIcSearchEngineNotGoogleIcon
kLockScreenArrowIcon
kLockScreenDropdownIcon
kSystemPowerButtonMenuSignOutIcon
kSystemPowerButtonMenuPowerOffIcon
kBluetoothConnectedIcon
kVideocamIcon
kBusinessIcon
kMidiIcon
kCheckCircleIcon
kUsbIcon
kMicIcon
kProtocolHandlerIcon
kWarningIcon
kNotificationsIcon
kLocationOnIcon
kLockIcon
kOpenInNewIcon
kCastForEducationIcon
kLaptopIcon
kCodeIcon
kCrashedTabIcon
kMyLocationIcon
kWebIcon
kSupervisorAccountIcon
kImageIcon
kTabletIcon
kPaintbrushIcon
kAccountBoxIcon
kProfileSwitcherOutlineIcon
kCookieIcon
kSettingsIcon
kFileDownloadIcon
kSyncProblemIcon
kGlobeIcon
kAccountChildIcon
kTabIcon
kMixedContentIcon
kZoomPlusIcon
kExtensionCrashedIcon
kPhotoCameraIcon
kIncognitoIcon
kSadTabIcon
kExtensionIcon
kZoomMinusIcon
kCreditCard20Icon
kSmartphoneIcon
kAppsIcon
kMyLocationIcon
kDaydreamControllerAppButtonIcon
kDaydreamControllerHomeButtonIcon
kSadTabIcon
Comment 1 by bugdroid1@chromium.org
, Apr 30 2018