| 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 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 80 } | 80 } |
| 81 | 81 |
| 82 | 82 |
| 83 void Page::networkStateChanged(bool online) | 83 void Page::networkStateChanged(bool online) |
| 84 { | 84 { |
| 85 Vector<RefPtr<LocalFrame> > frames; | 85 Vector<RefPtr<LocalFrame> > frames; |
| 86 | 86 |
| 87 // Get all the frames of all the pages in all the page groups | 87 // Get all the frames of all the pages in all the page groups |
| 88 HashSet<Page*>::iterator end = allPages().end(); | 88 HashSet<Page*>::iterator end = allPages().end(); |
| 89 for (HashSet<Page*>::iterator it = allPages().begin(); it != end; ++it) { | 89 for (HashSet<Page*>::iterator it = allPages().begin(); it != end; ++it) { |
| 90 for (LocalFrame* frame = (*it)->mainFrame(); frame; frame = frame->tree(
).traverseNext()) | 90 for (Frame* frame = (*it)->mainFrame(); frame; frame = frame->tree().tra
verseNext()) { |
| 91 frames.append(frame); | 91 // FIXME: There is currently no way to dispatch events to out-of-pro
cess frames. |
| 92 if (frame->isLocalFrame()) |
| 93 frames.append(toLocalFrame(frame)); |
| 94 } |
| 92 InspectorInstrumentation::networkStateChanged(*it, online); | 95 InspectorInstrumentation::networkStateChanged(*it, online); |
| 93 } | 96 } |
| 94 | 97 |
| 95 AtomicString eventName = online ? EventTypeNames::online : EventTypeNames::o
ffline; | 98 AtomicString eventName = online ? EventTypeNames::online : EventTypeNames::o
ffline; |
| 96 for (unsigned i = 0; i < frames.size(); i++) | 99 for (unsigned i = 0; i < frames.size(); i++) |
| 97 frames[i]->domWindow()->dispatchEvent(Event::create(eventName)); | 100 frames[i]->domWindow()->dispatchEvent(Event::create(eventName)); |
| 98 } | 101 } |
| 99 | 102 |
| 100 float deviceScaleFactor(LocalFrame* frame) | 103 float deviceScaleFactor(LocalFrame* frame) |
| 101 { | 104 { |
| (...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 215 | 218 |
| 216 void Page::setOpenedByDOM() | 219 void Page::setOpenedByDOM() |
| 217 { | 220 { |
| 218 m_openedByDOM = true; | 221 m_openedByDOM = true; |
| 219 } | 222 } |
| 220 | 223 |
| 221 void Page::scheduleForcedStyleRecalcForAllPages() | 224 void Page::scheduleForcedStyleRecalcForAllPages() |
| 222 { | 225 { |
| 223 HashSet<Page*>::iterator end = allPages().end(); | 226 HashSet<Page*>::iterator end = allPages().end(); |
| 224 for (HashSet<Page*>::iterator it = allPages().begin(); it != end; ++it) | 227 for (HashSet<Page*>::iterator it = allPages().begin(); it != end; ++it) |
| 225 for (LocalFrame* frame = (*it)->mainFrame(); frame; frame = frame->tree(
).traverseNext()) | 228 for (Frame* frame = (*it)->mainFrame(); frame; frame = frame->tree().tra
verseNext()) { |
| 226 frame->document()->setNeedsStyleRecalc(SubtreeStyleChange); | 229 if (frame->isLocalFrame()) |
| 230 toLocalFrame(frame)->document()->setNeedsStyleRecalc(SubtreeStyl
eChange); |
| 231 } |
| 227 } | 232 } |
| 228 | 233 |
| 229 void Page::setNeedsRecalcStyleInAllFrames() | 234 void Page::setNeedsRecalcStyleInAllFrames() |
| 230 { | 235 { |
| 231 for (LocalFrame* frame = mainFrame(); frame; frame = frame->tree().traverseN
ext()) | 236 for (Frame* frame = mainFrame(); frame; frame = frame->tree().traverseNext()
) { |
| 232 frame->document()->styleResolverChanged(); | 237 if (frame->isLocalFrame()) |
| 238 toLocalFrame(frame)->document()->styleResolverChanged(); |
| 239 } |
| 233 } | 240 } |
| 234 | 241 |
| 235 void Page::setNeedsLayoutInAllFrames() | 242 void Page::setNeedsLayoutInAllFrames() |
| 236 { | 243 { |
| 237 for (LocalFrame* frame = mainFrame(); frame; frame = frame->tree().traverseN
ext()) { | 244 for (Frame* frame = mainFrame(); frame; frame = frame->tree().traverseNext()
) { |
| 238 if (FrameView* view = frame->view()) { | 245 if (!frame->isLocalFrame()) |
| 246 continue; |
| 247 if (FrameView* view = toLocalFrame(frame)->view()) { |
| 239 view->setNeedsLayout(); | 248 view->setNeedsLayout(); |
| 240 view->scheduleRelayout(); | 249 view->scheduleRelayout(); |
| 241 } | 250 } |
| 242 } | 251 } |
| 243 } | 252 } |
| 244 | 253 |
| 245 void Page::refreshPlugins(bool reload) | 254 void Page::refreshPlugins(bool reload) |
| 246 { | 255 { |
| 247 if (allPages().isEmpty()) | 256 if (allPages().isEmpty()) |
| 248 return; | 257 return; |
| 249 | 258 |
| 250 PluginData::refresh(); | 259 PluginData::refresh(); |
| 251 | 260 |
| 252 Vector<RefPtr<LocalFrame> > framesNeedingReload; | 261 Vector<RefPtr<LocalFrame> > framesNeedingReload; |
| 253 | 262 |
| 254 HashSet<Page*>::iterator end = allPages().end(); | 263 HashSet<Page*>::iterator end = allPages().end(); |
| 255 for (HashSet<Page*>::iterator it = allPages().begin(); it != end; ++it) { | 264 for (HashSet<Page*>::iterator it = allPages().begin(); it != end; ++it) { |
| 256 Page* page = *it; | 265 Page* page = *it; |
| 257 | 266 |
| 258 // Clear out the page's plug-in data. | 267 // Clear out the page's plug-in data. |
| 259 if (page->m_pluginData) | 268 if (page->m_pluginData) |
| 260 page->m_pluginData = nullptr; | 269 page->m_pluginData = nullptr; |
| 261 | 270 |
| 262 if (!reload) | 271 if (!reload) |
| 263 continue; | 272 continue; |
| 264 | 273 |
| 265 for (LocalFrame* frame = (*it)->mainFrame(); frame; frame = frame->tree(
).traverseNext()) { | 274 for (Frame* frame = (*it)->mainFrame(); frame; frame = frame->tree().tra
verseNext()) { |
| 266 if (frame->document()->containsPlugins()) | 275 if (frame->isLocalFrame() && toLocalFrame(frame)->document()->contai
nsPlugins()) |
| 267 framesNeedingReload.append(frame); | 276 framesNeedingReload.append(toLocalFrame(frame)); |
| 268 } | 277 } |
| 269 } | 278 } |
| 270 | 279 |
| 271 for (size_t i = 0; i < framesNeedingReload.size(); ++i) | 280 for (size_t i = 0; i < framesNeedingReload.size(); ++i) |
| 272 framesNeedingReload[i]->loader().reload(); | 281 framesNeedingReload[i]->loader().reload(); |
| 273 } | 282 } |
| 274 | 283 |
| 275 PluginData* Page::pluginData() const | 284 PluginData* Page::pluginData() const |
| 276 { | 285 { |
| 277 if (!mainFrame()->loader().allowPlugins(NotAboutToInstantiatePlugin)) | 286 if (!mainFrame()->loader().allowPlugins(NotAboutToInstantiatePlugin)) |
| 278 return 0; | 287 return 0; |
| 279 if (!m_pluginData) | 288 if (!m_pluginData) |
| 280 m_pluginData = PluginData::create(this); | 289 m_pluginData = PluginData::create(this); |
| 281 return m_pluginData.get(); | 290 return m_pluginData.get(); |
| 282 } | 291 } |
| 283 | 292 |
| 284 static LocalFrame* incrementFrame(LocalFrame* curr, bool forward, bool wrapFlag) | 293 static Frame* incrementFrame(Frame* curr, bool forward, bool wrapFlag) |
| 285 { | 294 { |
| 286 return forward | 295 return forward |
| 287 ? curr->tree().traverseNextWithWrap(wrapFlag) | 296 ? curr->tree().traverseNextWithWrap(wrapFlag) |
| 288 : curr->tree().traversePreviousWithWrap(wrapFlag); | 297 : curr->tree().traversePreviousWithWrap(wrapFlag); |
| 289 } | 298 } |
| 290 | 299 |
| 291 void Page::unmarkAllTextMatches() | 300 void Page::unmarkAllTextMatches() |
| 292 { | 301 { |
| 293 if (!mainFrame()) | 302 if (!mainFrame()) |
| 294 return; | 303 return; |
| 295 | 304 |
| 296 LocalFrame* frame = mainFrame(); | 305 Frame* frame = mainFrame(); |
| 297 do { | 306 do { |
| 298 frame->document()->markers().removeMarkers(DocumentMarker::TextMatch); | 307 if (frame->isLocalFrame()) |
| 308 toLocalFrame(frame)->document()->markers().removeMarkers(DocumentMar
ker::TextMatch); |
| 299 frame = incrementFrame(frame, true, false); | 309 frame = incrementFrame(frame, true, false); |
| 300 } while (frame); | 310 } while (frame); |
| 301 } | 311 } |
| 302 | 312 |
| 303 void Page::setValidationMessageClient(PassOwnPtr<ValidationMessageClient> client
) | 313 void Page::setValidationMessageClient(PassOwnPtr<ValidationMessageClient> client
) |
| 304 { | 314 { |
| 305 m_validationMessageClient = client; | 315 m_validationMessageClient = client; |
| 306 } | 316 } |
| 307 | 317 |
| 308 void Page::setDefersLoading(bool defers) | 318 void Page::setDefersLoading(bool defers) |
| 309 { | 319 { |
| 310 if (defers == m_defersLoading) | 320 if (defers == m_defersLoading) |
| 311 return; | 321 return; |
| 312 | 322 |
| 313 m_defersLoading = defers; | 323 m_defersLoading = defers; |
| 314 for (LocalFrame* frame = mainFrame(); frame; frame = frame->tree().traverseN
ext()) | 324 for (Frame* frame = mainFrame(); frame; frame = frame->tree().traverseNext()
) { |
| 315 frame->loader().setDefersLoading(defers); | 325 if (frame->isLocalFrame()) |
| 326 toLocalFrame(frame)->loader().setDefersLoading(defers); |
| 327 } |
| 316 } | 328 } |
| 317 | 329 |
| 318 void Page::setPageScaleFactor(float scale, const IntPoint& origin) | 330 void Page::setPageScaleFactor(float scale, const IntPoint& origin) |
| 319 { | 331 { |
| 320 FrameView* view = mainFrame()->view(); | 332 FrameView* view = mainFrame()->view(); |
| 321 PinchViewport& viewport = frameHost().pinchViewport(); | 333 PinchViewport& viewport = frameHost().pinchViewport(); |
| 322 | 334 |
| 323 if (scale != viewport.scale()) { | 335 if (scale != viewport.scale()) { |
| 324 viewport.setScale(scale); | 336 viewport.setScale(scale); |
| 325 | 337 |
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 358 mainFrame()->deviceOrPageScaleFactorChanged(); | 370 mainFrame()->deviceOrPageScaleFactorChanged(); |
| 359 m_chrome->client().deviceOrPageScaleFactorChanged(); | 371 m_chrome->client().deviceOrPageScaleFactorChanged(); |
| 360 } | 372 } |
| 361 } | 373 } |
| 362 | 374 |
| 363 void Page::allVisitedStateChanged() | 375 void Page::allVisitedStateChanged() |
| 364 { | 376 { |
| 365 HashSet<Page*>::iterator pagesEnd = ordinaryPages().end(); | 377 HashSet<Page*>::iterator pagesEnd = ordinaryPages().end(); |
| 366 for (HashSet<Page*>::iterator it = ordinaryPages().begin(); it != pagesEnd;
++it) { | 378 for (HashSet<Page*>::iterator it = ordinaryPages().begin(); it != pagesEnd;
++it) { |
| 367 Page* page = *it; | 379 Page* page = *it; |
| 368 for (LocalFrame* frame = page->m_mainFrame.get(); frame; frame = frame->
tree().traverseNext()) | 380 for (Frame* frame = page->m_mainFrame.get(); frame; frame = frame->tree(
).traverseNext()) { |
| 369 frame->document()->visitedLinkState().invalidateStyleForAllLinks(); | 381 if (frame->isLocalFrame()) |
| 382 toLocalFrame(frame)->document()->visitedLinkState().invalidateSt
yleForAllLinks(); |
| 383 } |
| 370 } | 384 } |
| 371 } | 385 } |
| 372 | 386 |
| 373 void Page::visitedStateChanged(LinkHash linkHash) | 387 void Page::visitedStateChanged(LinkHash linkHash) |
| 374 { | 388 { |
| 375 HashSet<Page*>::iterator pagesEnd = ordinaryPages().end(); | 389 HashSet<Page*>::iterator pagesEnd = ordinaryPages().end(); |
| 376 for (HashSet<Page*>::iterator it = ordinaryPages().begin(); it != pagesEnd;
++it) { | 390 for (HashSet<Page*>::iterator it = ordinaryPages().begin(); it != pagesEnd;
++it) { |
| 377 Page* page = *it; | 391 Page* page = *it; |
| 378 for (LocalFrame* frame = page->m_mainFrame.get(); frame; frame = frame->
tree().traverseNext()) | 392 for (Frame* frame = page->m_mainFrame.get(); frame; frame = frame->tree(
).traverseNext()) { |
| 379 frame->document()->visitedLinkState().invalidateStyleForLink(linkHas
h); | 393 if (frame->isLocalFrame()) |
| 394 toLocalFrame(frame)->document()->visitedLinkState().invalidateSt
yleForLink(linkHash); |
| 395 } |
| 380 } | 396 } |
| 381 } | 397 } |
| 382 | 398 |
| 383 StorageNamespace* Page::sessionStorage(bool optionalCreate) | 399 StorageNamespace* Page::sessionStorage(bool optionalCreate) |
| 384 { | 400 { |
| 385 if (!m_sessionStorage && optionalCreate) | 401 if (!m_sessionStorage && optionalCreate) |
| 386 m_sessionStorage = m_storageClient->createSessionStorageNamespace(); | 402 m_sessionStorage = m_storageClient->createSessionStorageNamespace(); |
| 387 return m_sessionStorage.get(); | 403 return m_sessionStorage.get(); |
| 388 } | 404 } |
| 389 | 405 |
| 390 void Page::setTimerAlignmentInterval(double interval) | 406 void Page::setTimerAlignmentInterval(double interval) |
| 391 { | 407 { |
| 392 if (interval == m_timerAlignmentInterval) | 408 if (interval == m_timerAlignmentInterval) |
| 393 return; | 409 return; |
| 394 | 410 |
| 395 m_timerAlignmentInterval = interval; | 411 m_timerAlignmentInterval = interval; |
| 396 for (LocalFrame* frame = mainFrame(); frame; frame = frame->tree().traverseN
extWithWrap(false)) { | 412 for (Frame* frame = mainFrame(); frame; frame = frame->tree().traverseNextWi
thWrap(false)) { |
| 397 if (frame->document()) | 413 if (frame->isLocalFrame() && toLocalFrame(frame)->document()) |
| 398 frame->document()->didChangeTimerAlignmentInterval(); | 414 toLocalFrame(frame)->document()->didChangeTimerAlignmentInterval(); |
| 399 } | 415 } |
| 400 } | 416 } |
| 401 | 417 |
| 402 double Page::timerAlignmentInterval() const | 418 double Page::timerAlignmentInterval() const |
| 403 { | 419 { |
| 404 return m_timerAlignmentInterval; | 420 return m_timerAlignmentInterval; |
| 405 } | 421 } |
| 406 | 422 |
| 407 #if !ASSERT_DISABLED | 423 #if !ASSERT_DISABLED |
| 408 void Page::checkSubframeCountConsistency() const | 424 void Page::checkSubframeCountConsistency() const |
| 409 { | 425 { |
| 410 ASSERT(m_subframeCount >= 0); | 426 ASSERT(m_subframeCount >= 0); |
| 411 | 427 |
| 412 int subframeCount = 0; | 428 int subframeCount = 0; |
| 413 for (LocalFrame* frame = mainFrame(); frame; frame = frame->tree().traverseN
ext()) | 429 for (Frame* frame = mainFrame(); frame; frame = frame->tree().traverseNext()
) |
| 414 ++subframeCount; | 430 ++subframeCount; |
| 415 | 431 |
| 416 ASSERT(m_subframeCount + 1 == subframeCount); | 432 ASSERT(m_subframeCount + 1 == subframeCount); |
| 417 } | 433 } |
| 418 #endif | 434 #endif |
| 419 | 435 |
| 420 void Page::setVisibilityState(PageVisibilityState visibilityState, bool isInitia
lState) | 436 void Page::setVisibilityState(PageVisibilityState visibilityState, bool isInitia
lState) |
| 421 { | 437 { |
| 422 if (m_visibilityState == visibilityState) | 438 if (m_visibilityState == visibilityState) |
| 423 return; | 439 return; |
| (...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 463 break; | 479 break; |
| 464 case SettingsDelegate::ViewportDescriptionChange: | 480 case SettingsDelegate::ViewportDescriptionChange: |
| 465 if (mainFrame()) | 481 if (mainFrame()) |
| 466 mainFrame()->document()->updateViewportDescription(); | 482 mainFrame()->document()->updateViewportDescription(); |
| 467 break; | 483 break; |
| 468 case SettingsDelegate::MediaTypeChange: | 484 case SettingsDelegate::MediaTypeChange: |
| 469 m_mainFrame->view()->setMediaType(AtomicString(settings().mediaTypeOverr
ide())); | 485 m_mainFrame->view()->setMediaType(AtomicString(settings().mediaTypeOverr
ide())); |
| 470 setNeedsRecalcStyleInAllFrames(); | 486 setNeedsRecalcStyleInAllFrames(); |
| 471 break; | 487 break; |
| 472 case SettingsDelegate::DNSPrefetchingChange: | 488 case SettingsDelegate::DNSPrefetchingChange: |
| 473 for (LocalFrame* frame = mainFrame(); frame; frame = frame->tree().trave
rseNext()) | 489 for (Frame* frame = mainFrame(); frame; frame = frame->tree().traverseNe
xt()) { |
| 474 frame->document()->initDNSPrefetch(); | 490 if (frame->isLocalFrame()) |
| 491 toLocalFrame(frame)->document()->initDNSPrefetch(); |
| 492 } |
| 475 break; | 493 break; |
| 476 case SettingsDelegate::MultisamplingChange: { | 494 case SettingsDelegate::MultisamplingChange: { |
| 477 WillBeHeapHashSet<RawPtrWillBeWeakMember<MultisamplingChangedObserver> >
::iterator stop = m_multisamplingChangedObservers.end(); | 495 WillBeHeapHashSet<RawPtrWillBeWeakMember<MultisamplingChangedObserver> >
::iterator stop = m_multisamplingChangedObservers.end(); |
| 478 for (WillBeHeapHashSet<RawPtrWillBeWeakMember<MultisamplingChangedObserv
er> >::iterator it = m_multisamplingChangedObservers.begin(); it != stop; ++it) | 496 for (WillBeHeapHashSet<RawPtrWillBeWeakMember<MultisamplingChangedObserv
er> >::iterator it = m_multisamplingChangedObservers.begin(); it != stop; ++it) |
| 479 (*it)->multisamplingChanged(m_settings->openGLMultisamplingEnabled()
); | 497 (*it)->multisamplingChanged(m_settings->openGLMultisamplingEnabled()
); |
| 480 break; | 498 break; |
| 481 } | 499 } |
| 482 case SettingsDelegate::ImageLoadingChange: | 500 case SettingsDelegate::ImageLoadingChange: |
| 483 for (LocalFrame* frame = mainFrame(); frame; frame = frame->tree().trave
rseNext()) { | 501 for (Frame* frame = mainFrame(); frame; frame = frame->tree().traverseNe
xt()) { |
| 484 frame->document()->fetcher()->setImagesEnabled(settings().imagesEnab
led()); | 502 if (frame->isLocalFrame()) { |
| 485 frame->document()->fetcher()->setAutoLoadImages(settings().loadsImag
esAutomatically()); | 503 toLocalFrame(frame)->document()->fetcher()->setImagesEnabled(set
tings().imagesEnabled()); |
| 504 toLocalFrame(frame)->document()->fetcher()->setAutoLoadImages(se
ttings().loadsImagesAutomatically()); |
| 505 } |
| 486 } | 506 } |
| 487 break; | 507 break; |
| 488 case SettingsDelegate::TextAutosizingChange: | 508 case SettingsDelegate::TextAutosizingChange: |
| 489 if (!mainFrame()) | 509 if (!mainFrame()) |
| 490 break; | 510 break; |
| 491 if (FastTextAutosizer* textAutosizer = mainFrame()->document()->fastText
Autosizer()) { | 511 if (FastTextAutosizer* textAutosizer = mainFrame()->document()->fastText
Autosizer()) { |
| 492 textAutosizer->updatePageInfoInAllFrames(); | 512 textAutosizer->updatePageInfoInAllFrames(); |
| 493 } else { | 513 } else { |
| 494 for (LocalFrame* frame = mainFrame(); frame; frame = frame->tree().t
raverseNext()) { | 514 for (Frame* frame = mainFrame(); frame; frame = frame->tree().traver
seNext()) { |
| 495 if (TextAutosizer* textAutosizer = frame->document()->textAutosi
zer()) | 515 if (!frame->isLocalFrame()) |
| 516 continue; |
| 517 if (TextAutosizer* textAutosizer = toLocalFrame(frame)->document
()->textAutosizer()) |
| 496 textAutosizer->recalculateMultipliers(); | 518 textAutosizer->recalculateMultipliers(); |
| 497 } | 519 } |
| 498 // TextAutosizing updates RenderStyle during layout phase (via TextA
utosizer::processSubtree). | 520 // TextAutosizing updates RenderStyle during layout phase (via TextA
utosizer::processSubtree). |
| 499 // We should invoke setNeedsLayout here. | 521 // We should invoke setNeedsLayout here. |
| 500 setNeedsLayoutInAllFrames(); | 522 setNeedsLayoutInAllFrames(); |
| 501 } | 523 } |
| 502 break; | 524 break; |
| 503 case SettingsDelegate::ScriptEnableChange: | 525 case SettingsDelegate::ScriptEnableChange: |
| 504 m_inspectorController->scriptsEnabled(settings().scriptEnabled()); | 526 m_inspectorController->scriptsEnabled(settings().scriptEnabled()); |
| 505 break; | 527 break; |
| 506 case SettingsDelegate::FontFamilyChange: | 528 case SettingsDelegate::FontFamilyChange: |
| 507 for (LocalFrame* frame = mainFrame(); frame; frame = frame->tree().trave
rseNext()) | 529 for (Frame* frame = mainFrame(); frame; frame = frame->tree().traverseNe
xt()) { |
| 508 frame->document()->styleEngine()->updateGenericFontFamilySettings(); | 530 if (frame->isLocalFrame()) |
| 531 toLocalFrame(frame)->document()->styleEngine()->updateGenericFon
tFamilySettings(); |
| 532 } |
| 509 setNeedsRecalcStyleInAllFrames(); | 533 setNeedsRecalcStyleInAllFrames(); |
| 510 break; | 534 break; |
| 511 case SettingsDelegate::AcceleratedCompositingChange: | 535 case SettingsDelegate::AcceleratedCompositingChange: |
| 512 updateAcceleratedCompositingSettings(); | 536 updateAcceleratedCompositingSettings(); |
| 513 break; | 537 break; |
| 514 } | 538 } |
| 515 } | 539 } |
| 516 | 540 |
| 517 void Page::updateAcceleratedCompositingSettings() | 541 void Page::updateAcceleratedCompositingSettings() |
| 518 { | 542 { |
| 519 for (LocalFrame* frame = mainFrame(); frame; frame = frame->tree().traverseN
ext()) { | 543 for (Frame* frame = mainFrame(); frame; frame = frame->tree().traverseNext()
) { |
| 520 if (FrameView* view = frame->view()) | 544 if (!frame->isLocalFrame()) |
| 545 continue; |
| 546 if (FrameView* view = toLocalFrame(frame)->view()) |
| 521 view->updateAcceleratedCompositingSettings(); | 547 view->updateAcceleratedCompositingSettings(); |
| 522 } | 548 } |
| 523 } | 549 } |
| 524 | 550 |
| 525 void Page::didCommitLoad(LocalFrame* frame) | 551 void Page::didCommitLoad(LocalFrame* frame) |
| 526 { | 552 { |
| 527 lifecycleNotifier().notifyDidCommitLoad(frame); | 553 lifecycleNotifier().notifyDidCommitLoad(frame); |
| 528 if (m_mainFrame == frame) { | 554 if (m_mainFrame == frame) { |
| 529 useCounter().didCommitLoad(); | 555 useCounter().didCommitLoad(); |
| 530 m_inspectorController->didCommitLoadForMainFrame(); | 556 m_inspectorController->didCommitLoadForMainFrame(); |
| (...skipping 22 matching lines...) Expand all Loading... |
| 553 { | 579 { |
| 554 // Disable all agents prior to resetting the frame view. | 580 // Disable all agents prior to resetting the frame view. |
| 555 m_inspectorController->willBeDestroyed(); | 581 m_inspectorController->willBeDestroyed(); |
| 556 | 582 |
| 557 m_mainFrame->setView(nullptr); | 583 m_mainFrame->setView(nullptr); |
| 558 | 584 |
| 559 allPages().remove(this); | 585 allPages().remove(this); |
| 560 if (ordinaryPages().contains(this)) | 586 if (ordinaryPages().contains(this)) |
| 561 ordinaryPages().remove(this); | 587 ordinaryPages().remove(this); |
| 562 | 588 |
| 563 for (LocalFrame* frame = mainFrame(); frame; frame = frame->tree().traverseN
ext()) | 589 for (Frame* frame = mainFrame(); frame; frame = frame->tree().traverseNext()
) { |
| 564 frame->loader().frameDetached(); | 590 if (frame->isLocalFrame()) |
| 591 toLocalFrame(frame)->loader().frameDetached(); |
| 592 } |
| 565 | 593 |
| 566 if (m_scrollingCoordinator) | 594 if (m_scrollingCoordinator) |
| 567 m_scrollingCoordinator->willBeDestroyed(); | 595 m_scrollingCoordinator->willBeDestroyed(); |
| 568 | 596 |
| 569 #ifndef NDEBUG | 597 #ifndef NDEBUG |
| 570 pageCounter.decrement(); | 598 pageCounter.decrement(); |
| 571 #endif | 599 #endif |
| 572 | 600 |
| 573 m_chrome->willBeDestroyed(); | 601 m_chrome->willBeDestroyed(); |
| 574 m_mainFrame.clear(); | 602 m_mainFrame.clear(); |
| (...skipping 12 matching lines...) Expand all Loading... |
| 587 , spellCheckerClient(0) | 615 , spellCheckerClient(0) |
| 588 , storageClient(0) | 616 , storageClient(0) |
| 589 { | 617 { |
| 590 } | 618 } |
| 591 | 619 |
| 592 Page::PageClients::~PageClients() | 620 Page::PageClients::~PageClients() |
| 593 { | 621 { |
| 594 } | 622 } |
| 595 | 623 |
| 596 } // namespace WebCore | 624 } // namespace WebCore |
| OLD | NEW |