| Index: ui/wm/core/shadow.cc | 
| diff --git a/ui/wm/core/shadow.cc b/ui/wm/core/shadow.cc | 
| index 83190954208d81601426d32d89684697b7b71fb6..5bdd69460a370259955cdf5280fdc0d5389b8a82 100644 | 
| --- a/ui/wm/core/shadow.cc | 
| +++ b/ui/wm/core/shadow.cc | 
| @@ -153,15 +153,6 @@ void Shadow::OnImplicitAnimationsCompleted() { | 
| void Shadow::UpdateImagesForStyle() { | 
| const ShadowDetails& details = GetDetailsForElevation(ElevationForStyle()); | 
| shadow_layer_->UpdateNinePatchLayerImage(details.ninebox_image); | 
| -  // The ninebox grid is defined in terms of the image size. The shadow blurs in | 
| -  // both inward and outward directions from the edge of the contents, so the | 
| -  // aperture goes further inside the image than the shadow margins (which | 
| -  // represent exterior blur). | 
| -  gfx::Rect aperture(details.ninebox_image.size()); | 
| -  gfx::Insets blur_region = gfx::ShadowValue::GetBlurRegion(details.values) + | 
| -                            gfx::Insets(kRoundedCornerRadius); | 
| -  aperture.Inset(blur_region); | 
| -  shadow_layer_->UpdateNinePatchLayerAperture(aperture); | 
| UpdateLayerBounds(); | 
| } | 
|  | 
| @@ -193,6 +184,21 @@ void Shadow::UpdateLayerBounds() { | 
| int border_y = border_h * blur_region.top() / blur_region.height(); | 
| shadow_layer_->UpdateNinePatchLayerBorder( | 
| gfx::Rect(border_x, border_y, border_w, border_h)); | 
| + | 
| +  // The ninebox grid is defined in terms of the image size. The shadow blurs in | 
| +  // both inward and outward directions from the edge of the contents, so the | 
| +  // aperture goes further inside the image than the shadow margins (which | 
| +  // represent exterior blur). | 
| +  gfx::Rect aperture(details.ninebox_image.size()); | 
| +  // The insets for the aperture are nominally |blur_region| but we need to | 
| +  // resize them if the contents are too small. | 
| +  // TODO(estade): by cutting out parts of ninebox, we lose the smooth | 
| +  // horizontal or vertical transition. This isn't very noticeable, but we may | 
| +  // need to address it by using a separate shadow layer for each ShadowValue, | 
| +  // by adjusting the shadow for very small windows, or other means. | 
| +  aperture.Inset(gfx::Insets(border_y, border_x, border_h - border_y, | 
| +                             border_w - border_x)); | 
| +  shadow_layer_->UpdateNinePatchLayerAperture(aperture); | 
| } | 
|  | 
| int Shadow::ElevationForStyle() { | 
|  |