Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 /* | 1 /* |
| 2 * Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 Apple Inc. All R ights Reserved. | 2 * Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 Apple Inc. All R ights Reserved. |
| 3 * Copyright (C) 2008 Torch Mobile Inc. All rights reserved. (http://www.torchmo bile.com/) | 3 * Copyright (C) 2008 Torch Mobile Inc. All rights reserved. (http://www.torchmo bile.com/) |
| 4 * | 4 * |
| 5 * This library is free software; you can redistribute it and/or | 5 * This library is free software; you can redistribute it and/or |
| 6 * modify it under the terms of the GNU Library General Public | 6 * modify it under the terms of the GNU Library General Public |
| 7 * License as published by the Free Software Foundation; either | 7 * License as published by the Free Software Foundation; either |
| 8 * version 2 of the License, or (at your option) any later version. | 8 * version 2 of the License, or (at your option) any later version. |
| 9 * This library is distributed in the hope that it will be useful, | 9 * This library is distributed in the hope that it will be useful, |
| 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of | 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
| (...skipping 244 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 255 for (Frame* frame = (*it)->mainFrame(); frame; frame = frame->tree().tra verseNext()) | 255 for (Frame* frame = (*it)->mainFrame(); frame; frame = frame->tree().tra verseNext()) |
| 256 frame->document()->setNeedsStyleRecalc(SubtreeStyleChange); | 256 frame->document()->setNeedsStyleRecalc(SubtreeStyleChange); |
| 257 } | 257 } |
| 258 | 258 |
| 259 void Page::setNeedsRecalcStyleInAllFrames() | 259 void Page::setNeedsRecalcStyleInAllFrames() |
| 260 { | 260 { |
| 261 for (Frame* frame = mainFrame(); frame; frame = frame->tree().traverseNext() ) | 261 for (Frame* frame = mainFrame(); frame; frame = frame->tree().traverseNext() ) |
| 262 frame->document()->styleResolverChanged(RecalcStyleDeferred); | 262 frame->document()->styleResolverChanged(RecalcStyleDeferred); |
| 263 } | 263 } |
| 264 | 264 |
| 265 void Page::setNeedsLayoutInAllFrames() | |
| 266 { | |
| 267 for (Frame* frame = mainFrame(); frame; frame = frame->tree().traverseNext() ) { | |
| 268 if (FrameView* view = frame->view()) { | |
| 269 view->setNeedsLayout(); | |
| 270 view->scheduleRelayout(); | |
| 271 } | |
| 272 } | |
| 273 } | |
| 274 | |
| 265 void Page::refreshPlugins(bool reload) | 275 void Page::refreshPlugins(bool reload) |
| 266 { | 276 { |
| 267 if (allPages().isEmpty()) | 277 if (allPages().isEmpty()) |
| 268 return; | 278 return; |
| 269 | 279 |
| 270 PluginData::refresh(); | 280 PluginData::refresh(); |
| 271 | 281 |
| 272 Vector<RefPtr<Frame> > framesNeedingReload; | 282 Vector<RefPtr<Frame> > framesNeedingReload; |
| 273 | 283 |
| 274 HashSet<Page*>::iterator end = allPages().end(); | 284 HashSet<Page*>::iterator end = allPages().end(); |
| (...skipping 209 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 484 (*it)->multisamplingChanged(m_settings->openGLMultisamplingEnabled() ); | 494 (*it)->multisamplingChanged(m_settings->openGLMultisamplingEnabled() ); |
| 485 break; | 495 break; |
| 486 } | 496 } |
| 487 case SettingsDelegate::ImageLoadingChange: | 497 case SettingsDelegate::ImageLoadingChange: |
| 488 for (Frame* frame = mainFrame(); frame; frame = frame->tree().traverseNe xt()) { | 498 for (Frame* frame = mainFrame(); frame; frame = frame->tree().traverseNe xt()) { |
| 489 frame->document()->fetcher()->setImagesEnabled(settings().imagesEnab led()); | 499 frame->document()->fetcher()->setImagesEnabled(settings().imagesEnab led()); |
| 490 frame->document()->fetcher()->setAutoLoadImages(settings().loadsImag esAutomatically()); | 500 frame->document()->fetcher()->setAutoLoadImages(settings().loadsImag esAutomatically()); |
| 491 } | 501 } |
| 492 break; | 502 break; |
| 493 case SettingsDelegate::TextAutosizingChange: | 503 case SettingsDelegate::TextAutosizingChange: |
| 504 // FastTextAutosizer works with RenderBlock::styleWillChange. | |
|
skobes
2014/02/14 18:11:04
This comment is misleading. FTA gathers some info
tasak
2014/02/17 02:39:25
I modified to use setNeedsRecalc and setNeedsLayou
| |
| 505 // TextAutosizer depends on FrameView::layout. | |
| 506 // If fastTextAutosizing is enabled, we should use setNeedsRecalcStyleIn AllFrames. | |
| 507 if (RuntimeEnabledFeatures::fastTextAutosizingEnabled()) { | |
| 508 setNeedsRecalcStyleInAllFrames(); | |
| 509 break; | |
| 510 } | |
| 511 | |
| 494 // FIXME: I wonder if this needs to traverse frames like in WebViewImpl: :resize, or whether there is only one document per Settings instance? | 512 // FIXME: I wonder if this needs to traverse frames like in WebViewImpl: :resize, or whether there is only one document per Settings instance? |
| 495 for (Frame* frame = mainFrame(); frame; frame = frame->tree().traverseNe xt()) { | 513 for (Frame* frame = mainFrame(); frame; frame = frame->tree().traverseNe xt()) { |
| 496 TextAutosizer* textAutosizer = frame->document()->textAutosizer(); | 514 TextAutosizer* textAutosizer = frame->document()->textAutosizer(); |
| 497 if (textAutosizer) | 515 if (textAutosizer) |
| 498 textAutosizer->recalculateMultipliers(); | 516 textAutosizer->recalculateMultipliers(); |
| 499 } | 517 } |
| 500 setNeedsRecalcStyleInAllFrames(); | 518 // TextAutosizing updates RenderStyle during layout phase (via TextAutos izer::processSubtree). |
| 519 // We should invoke setNeedsLayout here. | |
| 520 setNeedsLayoutInAllFrames(); | |
| 501 break; | 521 break; |
| 502 case SettingsDelegate::ScriptEnableChange: | 522 case SettingsDelegate::ScriptEnableChange: |
| 503 m_inspectorController->scriptsEnabled(settings().scriptEnabled()); | 523 m_inspectorController->scriptsEnabled(settings().scriptEnabled()); |
| 504 break; | 524 break; |
| 525 case SettingsDelegate::FontFamilyChange: | |
| 526 for (Frame* frame = mainFrame(); frame; frame = frame->tree().traverseNe xt()) | |
| 527 frame->document()->styleEngine()->updateGenericFontFamilySettings(); | |
| 528 setNeedsRecalcStyleInAllFrames(); | |
| 529 break; | |
| 505 } | 530 } |
| 506 } | 531 } |
| 507 | 532 |
| 508 void Page::didCommitLoad(Frame* frame) | 533 void Page::didCommitLoad(Frame* frame) |
| 509 { | 534 { |
| 510 lifecycleNotifier().notifyDidCommitLoad(frame); | 535 lifecycleNotifier().notifyDidCommitLoad(frame); |
| 511 if (m_mainFrame == frame) { | 536 if (m_mainFrame == frame) { |
| 512 useCounter().didCommitLoad(); | 537 useCounter().didCommitLoad(); |
| 513 m_inspectorController->didCommitLoadForMainFrame(); | 538 m_inspectorController->didCommitLoadForMainFrame(); |
| 514 } | 539 } |
| (...skipping 19 matching lines...) Expand all Loading... | |
| 534 , spellCheckerClient(0) | 559 , spellCheckerClient(0) |
| 535 , storageClient(0) | 560 , storageClient(0) |
| 536 { | 561 { |
| 537 } | 562 } |
| 538 | 563 |
| 539 Page::PageClients::~PageClients() | 564 Page::PageClients::~PageClients() |
| 540 { | 565 { |
| 541 } | 566 } |
| 542 | 567 |
| 543 } // namespace WebCore | 568 } // namespace WebCore |
| OLD | NEW |