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

Side by Side Diff: Source/core/page/FrameView.cpp

Issue 19555002: Translate viewport related meta tags into @viewport descriptors as suggested by the CSS Device Adap… (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Land patch upload resulted in python error Created 7 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 /* 1 /*
2 * Copyright (C) 1998, 1999 Torben Weis <weis@kde.org> 2 * Copyright (C) 1998, 1999 Torben Weis <weis@kde.org>
3 * 1999 Lars Knoll <knoll@kde.org> 3 * 1999 Lars Knoll <knoll@kde.org>
4 * 1999 Antti Koivisto <koivisto@kde.org> 4 * 1999 Antti Koivisto <koivisto@kde.org>
5 * 2000 Dirk Mueller <mueller@kde.org> 5 * 2000 Dirk Mueller <mueller@kde.org>
6 * Copyright (C) 2004, 2005, 2006, 2007, 2008 Apple Inc. All rights reserved. 6 * Copyright (C) 2004, 2005, 2006, 2007, 2008 Apple Inc. All rights reserved.
7 * (C) 2006 Graham Dennis (graham.dennis@gmail.com) 7 * (C) 2006 Graham Dennis (graham.dennis@gmail.com)
8 * (C) 2006 Alexey Proskuryakov (ap@nypop.com) 8 * (C) 2006 Alexey Proskuryakov (ap@nypop.com)
9 * Copyright (C) 2009 Google Inc. All rights reserved. 9 * Copyright (C) 2009 Google Inc. All rights reserved.
10 * 10 *
(...skipping 15 matching lines...) Expand all
26 26
27 #include "config.h" 27 #include "config.h"
28 #include "core/page/FrameView.h" 28 #include "core/page/FrameView.h"
29 29
30 #include "HTMLNames.h" 30 #include "HTMLNames.h"
31 #include "RuntimeEnabledFeatures.h" 31 #include "RuntimeEnabledFeatures.h"
32 #include "core/accessibility/AXObjectCache.h" 32 #include "core/accessibility/AXObjectCache.h"
33 #include "core/animation/DocumentTimeline.h" 33 #include "core/animation/DocumentTimeline.h"
34 #include "core/css/FontLoader.h" 34 #include "core/css/FontLoader.h"
35 #include "core/css/resolver/StyleResolver.h" 35 #include "core/css/resolver/StyleResolver.h"
36 #include "core/css/resolver/ViewportStyleResolver.h"
36 #include "core/dom/DocumentMarkerController.h" 37 #include "core/dom/DocumentMarkerController.h"
37 #include "core/dom/OverflowEvent.h" 38 #include "core/dom/OverflowEvent.h"
38 #include "core/editing/FrameSelection.h" 39 #include "core/editing/FrameSelection.h"
39 #include "core/html/HTMLFrameElement.h" 40 #include "core/html/HTMLFrameElement.h"
40 #include "core/html/HTMLHtmlElement.h" 41 #include "core/html/HTMLHtmlElement.h"
41 #include "core/html/HTMLPlugInImageElement.h" 42 #include "core/html/HTMLPlugInImageElement.h"
42 #include "core/inspector/InspectorInstrumentation.h" 43 #include "core/inspector/InspectorInstrumentation.h"
43 #include "core/loader/FrameLoader.h" 44 #include "core/loader/FrameLoader.h"
44 #include "core/loader/FrameLoaderClient.h" 45 #include "core/loader/FrameLoaderClient.h"
45 #include "core/loader/TextResourceDecoder.h" 46 #include "core/loader/TextResourceDecoder.h"
(...skipping 2153 matching lines...) Expand 10 before | Expand all | Expand 10 after
2199 2200
2200 m_frame->selection()->setCaretRectNeedsUpdate(); 2201 m_frame->selection()->setCaretRectNeedsUpdate();
2201 m_frame->selection()->updateAppearance(); 2202 m_frame->selection()->updateAppearance();
2202 2203
2203 LayoutMilestones milestonesOfInterest = 0; 2204 LayoutMilestones milestonesOfInterest = 0;
2204 LayoutMilestones milestonesAchieved = 0; 2205 LayoutMilestones milestonesAchieved = 0;
2205 Page* page = m_frame->page(); 2206 Page* page = m_frame->page();
2206 if (page) 2207 if (page)
2207 milestonesOfInterest = page->layoutMilestones(); 2208 milestonesOfInterest = page->layoutMilestones();
2208 2209
2210 bool viewportDidChange = false;
2211
2209 if (m_nestedLayoutCount <= 1) { 2212 if (m_nestedLayoutCount <= 1) {
2210 if (m_firstLayoutCallbackPending) { 2213 if (m_firstLayoutCallbackPending) {
2211 m_firstLayoutCallbackPending = false; 2214 m_firstLayoutCallbackPending = false;
2215 viewportDidChange = true;
2212 m_frame->loader()->didFirstLayout(); 2216 m_frame->loader()->didFirstLayout();
2213 if (milestonesOfInterest & DidFirstLayout) 2217 if (milestonesOfInterest & DidFirstLayout)
2214 milestonesAchieved |= DidFirstLayout; 2218 milestonesAchieved |= DidFirstLayout;
2215 if (page) { 2219 if (page) {
2216 if (page->mainFrame() == m_frame) 2220 if (page->mainFrame() == m_frame)
2217 page->startCountingRelevantRepaintedObjects(); 2221 page->startCountingRelevantRepaintedObjects();
2218 } 2222 }
2219 } 2223 }
2220 2224
2221 // Ensure that we always send this eventually. 2225 // Ensure that we always send this eventually.
(...skipping 22 matching lines...) Expand all
2244 2248
2245 if (page) { 2249 if (page) {
2246 if (ScrollingCoordinator* scrollingCoordinator = page->scrollingCoordina tor()) 2250 if (ScrollingCoordinator* scrollingCoordinator = page->scrollingCoordina tor())
2247 scrollingCoordinator->frameViewLayoutUpdated(this); 2251 scrollingCoordinator->frameViewLayoutUpdated(this);
2248 } 2252 }
2249 2253
2250 scrollToAnchor(); 2254 scrollToAnchor();
2251 2255
2252 m_actionScheduler->resume(); 2256 m_actionScheduler->resume();
2253 2257
2254 // Viewport-dependent media queries may cause us to need completely differen t style information. 2258 IntSize currentSize = layoutSize(IncludeScrollbars);
2255 if (m_frame->document()->styleResolver()->affectedByViewportChange()) { 2259 float currentZoomFactor = renderView->style()->zoom();
2260
2261 bool didResize = currentSize != m_lastViewportSize || currentZoomFactor != m _lastZoomFactor;
2262 viewportDidChange |= didResize;
2263
2264 m_lastViewportSize = currentSize;
2265 m_lastZoomFactor = currentZoomFactor;
2266
2267 // Viewport-dependent media queries and @viewport rue may cause us to need c ompletely
2268 // different style information.
2269 if (viewportDidChange && m_frame->document()->styleResolver()->affectedByVie wportChange()) {
2270 m_frame->document()->styleResolver()->viewportStyleResolver()->resolve() ;
2256 m_frame->document()->styleResolverChanged(DeferRecalcStyle); 2271 m_frame->document()->styleResolverChanged(DeferRecalcStyle);
2257 InspectorInstrumentation::mediaQueryResultChanged(m_frame->document()); 2272 InspectorInstrumentation::mediaQueryResultChanged(m_frame->document());
2258 } 2273 }
2259 2274
2260 // Refetch render view since it can be destroyed by updateWidget() call abov e. 2275 // Refetch render view since it can be destroyed by updateWidget() call abov e.
2261 renderView = this->renderView(); 2276 renderView = this->renderView();
2262 if (renderView && !renderView->printing()) { 2277 if (renderView && !renderView->printing() && !m_firstLayout && didResize) {
2263 IntSize currentSize = layoutSize(IncludeScrollbars); 2278 m_frame->eventHandler()->sendResizeEvent();
2264 float currentZoomFactor = renderView->style()->zoom(); 2279 if (page && page->mainFrame() == m_frame)
2265 bool resized = !m_firstLayout && (currentSize != m_lastViewportSize || c urrentZoomFactor != m_lastZoomFactor); 2280 InspectorInstrumentation::didResizeMainFrame(page);
2266 m_lastViewportSize = currentSize;
2267 m_lastZoomFactor = currentZoomFactor;
2268 if (resized) {
2269 m_frame->eventHandler()->sendResizeEvent();
2270 if (page && page->mainFrame() == m_frame)
2271 InspectorInstrumentation::didResizeMainFrame(page);
2272 }
2273 } 2281 }
2274 } 2282 }
2275 2283
2276 void FrameView::postLayoutTimerFired(Timer<FrameView>*) 2284 void FrameView::postLayoutTimerFired(Timer<FrameView>*)
2277 { 2285 {
2278 performPostLayoutTasks(); 2286 performPostLayoutTasks();
2279 } 2287 }
2280 2288
2281 void FrameView::autoSizeIfEnabled() 2289 void FrameView::autoSizeIfEnabled()
2282 { 2290 {
(...skipping 1090 matching lines...) Expand 10 before | Expand all | Expand 10 after
3373 } 3381 }
3374 3382
3375 AXObjectCache* FrameView::axObjectCache() const 3383 AXObjectCache* FrameView::axObjectCache() const
3376 { 3384 {
3377 if (frame() && frame()->document()) 3385 if (frame() && frame()->document())
3378 return frame()->document()->existingAXObjectCache(); 3386 return frame()->document()->existingAXObjectCache();
3379 return 0; 3387 return 0;
3380 } 3388 }
3381 3389
3382 } // namespace WebCore 3390 } // namespace WebCore
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698