Changeset 106899 in webkit
- Timestamp:
- Feb 6, 2012 8:16:50 PM (12 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r106895 r106899 1 2012-02-06 Xianzhu Wang <wangxianzhu@chromium.org> 2 3 Avoid Page::updateViewportArguments() if the causing frame is not the main frame 4 https://bugs.webkit.org/show_bug.cgi?id=77387 5 6 Reviewed by Kenneth Rohde Christiansen. 7 8 * dom/Document.cpp: 9 (WebCore::Document::processViewport): 10 (WebCore::Document::updateViewportArguments): 11 (WebCore::Document::setInPageCache): 12 * dom/Document.h: 13 (Document): 14 * html/HTMLBodyElement.cpp: 15 (WebCore::HTMLBodyElement::insertedIntoDocument): 16 * page/Frame.cpp: 17 (WebCore::Frame::setDocument): 18 * page/Page.cpp: 19 (WebCore::Page::viewportArguments): 20 (WebCore): 21 * page/Page.h: 22 (Page): 23 1 24 2012-02-06 Martin Robinson <mrobinson@igalia.com> 2 25 -
trunk/Source/WebCore/dom/Document.cpp
r106833 r106899 2795 2795 processArguments(features, (void*)&m_viewportArguments, &setViewportFeature); 2796 2796 2797 Frame* frame = this->frame(); 2798 if (!frame || !frame->page()) 2799 return; 2800 2801 frame->page()->updateViewportArguments(); 2797 updateViewportArguments(); 2798 } 2799 2800 void Document::updateViewportArguments() 2801 { 2802 if (page() && page()->mainFrame() == frame()) 2803 page()->chrome()->dispatchViewportPropertiesDidChange(m_viewportArguments); 2802 2804 } 2803 2805 … … 4077 4079 m_savedRenderer = 0; 4078 4080 4079 if (frame() && frame()->page()) 4080 frame()->page()->updateViewportArguments(); 4081 updateViewportArguments(); 4081 4082 4082 4083 if (childNeedsStyleRecalc()) -
trunk/Source/WebCore/dom/Document.h
r106632 r106899 804 804 void processHttpEquiv(const String& equiv, const String& content); 805 805 void processViewport(const String& features); 806 void updateViewportArguments(); 806 807 void processReferrerPolicy(const String& policy); 807 808 -
trunk/Source/WebCore/html/HTMLBodyElement.cpp
r106769 r106899 164 164 HTMLElement::insertedIntoDocument(); 165 165 166 ASSERT(document()); 167 166 168 // FIXME: Perhaps this code should be in attach() instead of here. 167 169 Element* ownerElement = document()->ownerElement(); … … 181 183 view->scheduleRelayout(); 182 184 183 if (document() && document()->page()) 184 document()->page()->updateViewportArguments(); 185 document()->updateViewportArguments(); 185 186 } 186 187 -
trunk/Source/WebCore/page/Frame.cpp
r106884 r106899 291 291 m_script.updateDocument(); 292 292 293 if (m_ page) {294 m_ page->updateViewportArguments();295 if (m_page->mainFrame() == this) 296 notifyChromeClientWheelEventHandlerCountChanged();297 }293 if (m_doc) 294 m_doc->updateViewportArguments(); 295 296 if (m_page && m_page->mainFrame() == this) 297 notifyChromeClientWheelEventHandlerCountChanged(); 298 298 } 299 299 -
trunk/Source/WebCore/page/Page.cpp
r106492 r106899 241 241 } 242 242 243 ViewportArguments Page::viewportArguments() const 244 { 245 return mainFrame() && mainFrame()->document() ? mainFrame()->document()->viewportArguments() : ViewportArguments(); 246 } 247 243 248 #if ENABLE(THREADED_SCROLLING) 244 249 ScrollingCoordinator* Page::scrollingCoordinator() … … 431 436 } 432 437 433 void Page::updateViewportArguments()434 {435 if (!mainFrame() || !mainFrame()->document())436 return;437 438 m_viewportArguments = mainFrame()->document()->viewportArguments();439 chrome()->dispatchViewportPropertiesDidChange(m_viewportArguments);440 }441 442 438 void Page::refreshPlugins(bool reload) 443 439 { -
trunk/Source/WebCore/page/Page.h
r106511 r106899 134 134 RenderTheme* theme() const { return m_theme.get(); }; 135 135 136 ViewportArguments viewportArguments() const { return m_viewportArguments; } 137 void updateViewportArguments(); 136 ViewportArguments viewportArguments() const; 138 137 139 138 static void refreshPlugins(bool reload); … … 465 464 ViewMode m_viewMode; 466 465 467 ViewportArguments m_viewportArguments;468 469 466 double m_minimumTimerInterval; 470 467
Note: See TracChangeset
for help on using the changeset viewer.