Changeset 87444 in webkit
- Timestamp:
- May 26, 2011 3:49:48 PM (13 years ago)
- Location:
- trunk/Source
- Files:
-
- 10 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r87443 r87444 1 2011-05-26 David Levin <levin@chromium.org> 2 3 Reviewed by Darin Fisher. 4 5 Need a callback for when the preferred rendered size changed. 6 https://bugs.webkit.org/show_bug.cgi?id=61309 7 8 No new tests needed since no new functionality is exposed. 9 10 * page/Chrome.cpp: 11 (WebCore::Chrome::contentsPreferredSizeChanged): Plumbed through the call. 12 * page/Chrome.h: Added the new method. 13 * page/ChromeClient.h: Ditto. 14 * page/FrameView.cpp: 15 (WebCore::FrameView::setContentsSize): Added calculations for the preferred size 16 and the call to contentsPreferredSizeChanged. 17 1 18 2011-05-25 Levi Weintraub <leviw@chromium.org> 2 19 -
trunk/Source/WebCore/page/Chrome.cpp
r86325 r87444 115 115 } 116 116 117 void Chrome::contentsPreferredSizeChanged(Frame* frame, const IntSize& size) const 118 { 119 m_client->contentsPreferredSizeChanged(frame, size); 120 } 121 117 122 void Chrome::scrollRectIntoView(const IntRect& rect) const 118 123 { -
trunk/Source/WebCore/page/Chrome.h
r86325 r87444 85 85 86 86 void contentsSizeChanged(Frame*, const IntSize&) const; 87 void contentsPreferredSizeChanged(Frame*, const IntSize&) const; 87 88 88 89 void setWindowRect(const FloatRect&) const; -
trunk/Source/WebCore/page/ChromeClient.h
r86988 r87444 162 162 163 163 virtual void contentsSizeChanged(Frame*, const IntSize&) const = 0; 164 virtual void contentsPreferredSizeChanged(Frame*, const IntSize&) const { } 164 165 virtual void scrollRectIntoView(const IntRect&, const ScrollView*) const = 0; // Currently only Mac has a non empty implementation. 165 166 -
trunk/Source/WebCore/page/FrameView.cpp
r87303 r87444 476 476 void FrameView::setContentsSize(const IntSize& size) 477 477 { 478 if (size == contentsSize()) 479 return; 480 481 m_deferSetNeedsLayouts++; 482 483 ScrollView::setContentsSize(size); 484 scrollAnimator()->contentsResized(); 485 478 bool contentsSizeChanged = size != contentsSize(); 486 479 Page* page = frame() ? frame()->page() : 0; 487 if (!page) 488 return; 489 490 page->chrome()->contentsSizeChanged(frame(), size); //notify only 491 492 m_deferSetNeedsLayouts--; 493 494 if (!m_deferSetNeedsLayouts) 495 m_setNeedsLayoutWasDeferred = false; // FIXME: Find a way to make the deferred layout actually happen. 480 if (contentsSizeChanged) { 481 m_deferSetNeedsLayouts++; 482 483 ScrollView::setContentsSize(size); 484 scrollAnimator()->contentsResized(); 485 if (page) 486 page->chrome()->contentsSizeChanged(frame(), size); // notify only 487 } 488 489 if (page) { 490 Document* document = frame()->document(); 491 if (document && document->renderView() && document->documentElement()) { 492 IntSize preferedSize(document->renderView()->minPreferredLogicalWidth(), 493 document->documentElement()->scrollHeight()); 494 if (preferedSize != m_lastPreferedSize) { 495 m_lastPreferedSize = preferedSize; 496 page->chrome()->contentsPreferredSizeChanged(frame(), preferedSize); 497 } 498 } 499 } 500 501 if (contentsSizeChanged) { 502 m_deferSetNeedsLayouts--; 503 504 if (!m_deferSetNeedsLayouts) 505 m_setNeedsLayoutWasDeferred = false; // FIXME: Find a way to make the deferred layout actually happen. 506 } 496 507 } 497 508 -
trunk/Source/WebCore/page/FrameView.h
r86584 r87444 393 393 Color m_baseBackgroundColor; 394 394 IntSize m_lastLayoutSize; 395 IntSize m_lastPreferedSize; 395 396 float m_lastZoomFactor; 396 397 -
trunk/Source/WebKit/chromium/ChangeLog
r87423 r87444 1 2011-05-26 David Levin <levin@chromium.org> 2 3 Reviewed by Darin Fisher. 4 5 Need a callback for when the preferred rendered size changed. 6 https://bugs.webkit.org/show_bug.cgi?id=61309 7 8 * public/WebFrameClient.h 9 (WebKit::WebFrameClient::didChangeContentsPreferredSize): Added stub. 10 * src/ChromeClientImpl.h: 11 (WebKit::ChromeClientImpl::contentsPreferredSizeChanged): Added declaration. 12 * src/ChromeClientImpl.cpp: 13 (WebKit::ChromeClientImpl::contentsPreferredSizeChanged): Added call to WebFrameClient::didChangeContentsPreferredSize. 14 1 15 2011-05-26 Mihai Parparita <mihaip@chromium.org> 2 16 -
trunk/Source/WebKit/chromium/public/WebFrameClient.h
r86721 r87444 308 308 virtual void didChangeContentsSize(WebFrame*, const WebSize&) { } 309 309 310 // The preferred dimensions for the rendered HTML contents changed. 311 virtual void didChangeContentsPreferredSize(WebFrame*, const WebSize&) const { } 312 310 313 // The main frame scrolled. 311 314 virtual void didChangeScrollOffset(WebFrame*) { } -
trunk/Source/WebKit/chromium/src/ChromeClientImpl.cpp
r85823 r87444 589 589 } 590 590 591 void ChromeClientImpl::contentsPreferredSizeChanged(Frame* frame, const IntSize& size) const 592 { 593 WebFrameImpl* webframe = WebFrameImpl::fromFrame(frame); 594 if (webframe->client()) 595 webframe->client()->didChangeContentsPreferredSize(webframe, size); 596 } 597 591 598 void ChromeClientImpl::scrollbarsModeDidChange() const 592 599 { -
trunk/Source/WebKit/chromium/src/ChromeClientImpl.h
r86584 r87444 120 120 virtual PlatformPageClient platformPageClient() const { return 0; } 121 121 virtual void contentsSizeChanged(WebCore::Frame*, const WebCore::IntSize&) const; 122 virtual void contentsPreferredSizeChanged(WebCore::Frame*, const WebCore::IntSize&) const; 122 123 virtual void scrollRectIntoView( 123 124 const WebCore::IntRect&, const WebCore::ScrollView*) const { }
Note: See TracChangeset
for help on using the changeset viewer.