Chromium Code Reviews| Index: Source/core/css/MediaValues.cpp |
| diff --git a/Source/core/css/MediaValues.cpp b/Source/core/css/MediaValues.cpp |
| index 57b7d9997a55edf6fe6e28573e867e3eafbcbfc6..f2572c755627dbbc8b6b7aec427f4abb3c9bdef1 100644 |
| --- a/Source/core/css/MediaValues.cpp |
| +++ b/Source/core/css/MediaValues.cpp |
| @@ -30,18 +30,27 @@ PassRefPtr<MediaValues> MediaValues::createDynamicIfFrameExists(LocalFrame* fram |
| return MediaValuesCached::create(); |
| } |
| +static float getEffectiveZoom(LocalFrame* frame) |
| +{ |
| + ASSERT(frame->document()); |
| + RenderStyle* style = (RenderStyle*)(frame->document()->renderView()); |
|
eseidel
2014/04/25 23:53:24
Huh!? That's not a style.
|
| + if (!style) |
| + return 1.0; |
| + return style->effectiveZoom(); |
| +} |
| + |
| int MediaValues::calculateViewportWidth(LocalFrame* frame) const |
| { |
| - ASSERT(frame && frame->view() && frame->document()); |
| + ASSERT(frame && frame->view()); |
| int viewportWidth = frame->view()->layoutSize(IncludeScrollbars).width(); |
| - return adjustForAbsoluteZoom(viewportWidth, frame->document()->renderView()); |
| + return adjustForAbsoluteZoom(viewportWidth, getEffectiveZoom(frame)); |
| } |
| int MediaValues::calculateViewportHeight(LocalFrame* frame) const |
| { |
| - ASSERT(frame && frame->view() && frame->document()); |
| + ASSERT(frame && frame->view()); |
| int viewportHeight = frame->view()->layoutSize(IncludeScrollbars).height(); |
| - return adjustForAbsoluteZoom(viewportHeight, frame->document()->renderView()); |
| + return adjustForAbsoluteZoom(viewportHeight, getEffectiveZoom(frame)); |
| } |
| int MediaValues::calculateDeviceWidth(LocalFrame* frame) const |