| 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 21 matching lines...) Expand all Loading... |
| 32 #include "core/frame/FrameConsole.h" | 32 #include "core/frame/FrameConsole.h" |
| 33 #include "core/frame/FrameHost.h" | 33 #include "core/frame/FrameHost.h" |
| 34 #include "core/frame/FrameView.h" | 34 #include "core/frame/FrameView.h" |
| 35 #include "core/frame/RemoteFrame.h" | 35 #include "core/frame/RemoteFrame.h" |
| 36 #include "core/frame/RemoteFrameView.h" | 36 #include "core/frame/RemoteFrameView.h" |
| 37 #include "core/frame/Settings.h" | 37 #include "core/frame/Settings.h" |
| 38 #include "core/html/HTMLMediaElement.h" | 38 #include "core/html/HTMLMediaElement.h" |
| 39 #include "core/inspector/InspectorInstrumentation.h" | 39 #include "core/inspector/InspectorInstrumentation.h" |
| 40 #include "core/layout/LayoutView.h" | 40 #include "core/layout/LayoutView.h" |
| 41 #include "core/layout/TextAutosizer.h" | 41 #include "core/layout/TextAutosizer.h" |
| 42 #include "core/layout/svg/SVGResourcesCache.h" |
| 42 #include "core/page/AutoscrollController.h" | 43 #include "core/page/AutoscrollController.h" |
| 43 #include "core/page/ChromeClient.h" | 44 #include "core/page/ChromeClient.h" |
| 44 #include "core/page/ContextMenuController.h" | 45 #include "core/page/ContextMenuController.h" |
| 45 #include "core/page/DragController.h" | 46 #include "core/page/DragController.h" |
| 46 #include "core/page/FocusController.h" | 47 #include "core/page/FocusController.h" |
| 47 #include "core/page/PointerLockController.h" | 48 #include "core/page/PointerLockController.h" |
| 48 #include "core/page/ValidationMessageClient.h" | 49 #include "core/page/ValidationMessageClient.h" |
| 49 #include "core/page/scrolling/ScrollingCoordinator.h" | 50 #include "core/page/scrolling/ScrollingCoordinator.h" |
| 50 #include "core/paint/PaintLayer.h" | 51 #include "core/paint/PaintLayer.h" |
| 52 #include "platform/graphics/ColorSpaceProfile.h" |
| 51 #include "platform/graphics/GraphicsLayer.h" | 53 #include "platform/graphics/GraphicsLayer.h" |
| 54 #include "platform/graphics/GraphicsScreen.h" |
| 52 #include "platform/plugins/PluginData.h" | 55 #include "platform/plugins/PluginData.h" |
| 53 #include "public/platform/Platform.h" | 56 #include "public/platform/Platform.h" |
| 54 | 57 |
| 55 namespace blink { | 58 namespace blink { |
| 56 | 59 |
| 57 // static | 60 // static |
| 58 WillBePersistentHeapHashSet<RawPtrWillBeWeakMember<Page>>& Page::allPages() | 61 WillBePersistentHeapHashSet<RawPtrWillBeWeakMember<Page>>& Page::allPages() |
| 59 { | 62 { |
| 60 DEFINE_STATIC_LOCAL(WillBePersistentHeapHashSet<RawPtrWillBeWeakMember<Page>
>, allPages, ()); | 63 DEFINE_STATIC_LOCAL(WillBePersistentHeapHashSet<RawPtrWillBeWeakMember<Page>
>, allPages, ()); |
| 61 return allPages; | 64 return allPages; |
| (...skipping 263 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 325 | 328 |
| 326 m_deviceScaleFactor = scaleFactor; | 329 m_deviceScaleFactor = scaleFactor; |
| 327 setNeedsRecalcStyleInAllFrames(); | 330 setNeedsRecalcStyleInAllFrames(); |
| 328 | 331 |
| 329 if (mainFrame() && mainFrame()->isLocalFrame()) | 332 if (mainFrame() && mainFrame()->isLocalFrame()) |
| 330 deprecatedLocalMainFrame()->deviceScaleFactorChanged(); | 333 deprecatedLocalMainFrame()->deviceScaleFactorChanged(); |
| 331 } | 334 } |
| 332 | 335 |
| 333 void Page::setDeviceColorProfile(const Vector<char>& profile) | 336 void Page::setDeviceColorProfile(const Vector<char>& profile) |
| 334 { | 337 { |
| 335 // FIXME: implement. | 338 if (!RuntimeEnabledFeatures::imageColorProfilesEnabled()) |
| 339 return; |
| 340 |
| 341 fprintf(stderr, "\nWebCore::Page %ld setDeviceColorProfile begins\n", (long
int)this); |
| 342 fflush(stderr); |
| 343 |
| 344 RefPtr<ColorSpaceProfile> screen = screenColorProfile(Page::screenId(this)); |
| 345 |
| 346 setScreenColorProfile(Page::screenId(this), profile.data(), profile.size()); |
| 347 setCurrentScreenId(Page::screenId(this)); |
| 348 |
| 349 for (Frame* frame = mainFrame(); frame; frame = frame->tree().traverseNext()
) { |
| 350 if (!frame->isLocalFrame()) |
| 351 continue; |
| 352 |
| 353 if (LayoutView* layoutView = toLocalFrame(frame)->document()->layoutView
()) |
| 354 layoutView->invalidatePaintForViewAndCompositedLayers(true); |
| 355 |
| 356 // Clear the SVG image pattern cache: see crbug.com/531258 |
| 357 SVGResourcesCache::invalidateAllResources(*toLocalFrame(frame)->document
()); |
| 358 |
| 359 RELEASE_ASSERT(currentScreenId() == Page::screenId(this)); |
| 360 } |
| 361 |
| 362 if (mainFrame() && mainFrame()->isLocalFrame()) |
| 363 animator().scheduleVisualUpdate(toLocalFrame(mainFrame())); |
| 364 |
| 365 fprintf(stderr, "WebCore::Page %ld setDeviceColorProfile ends\n\n", (long in
t)this); |
| 366 fflush(stderr); |
| 367 |
| 368 setCurrentScreenId(0); |
| 369 |
| 370 if (screen) |
| 371 pruneColorTransform(screen.get()); |
| 336 } | 372 } |
| 337 | 373 |
| 338 void Page::resetDeviceColorProfileForTesting() | 374 void Page::resetDeviceColorProfileForTesting() |
| 339 { | 375 { |
| 376 if (RuntimeEnabledFeatures::imageColorProfilesEnabled()) { |
| 377 fprintf(stderr, "\nWebCore::Page %ld resetDeviceColorProfileForTesting\n
", (long int)this); |
| 378 fflush(stderr); |
| 379 } |
| 380 |
| 381 removeScreenColorProfile(Page::screenId(this)); |
| 382 |
| 340 RuntimeEnabledFeatures::setImageColorProfilesEnabled(false); | 383 RuntimeEnabledFeatures::setImageColorProfilesEnabled(false); |
| 341 } | 384 } |
| 342 | 385 |
| 343 void Page::allVisitedStateChanged(bool invalidateVisitedLinkHashes) | 386 void Page::allVisitedStateChanged(bool invalidateVisitedLinkHashes) |
| 344 { | 387 { |
| 345 for (const Page* page : ordinaryPages()) { | 388 for (const Page* page : ordinaryPages()) { |
| 346 for (Frame* frame = page->m_mainFrame; frame; frame = frame->tree().trav
erseNext()) { | 389 for (Frame* frame = page->m_mainFrame; frame; frame = frame->tree().trav
erseNext()) { |
| 347 if (frame->isLocalFrame()) | 390 if (frame->isLocalFrame()) |
| 348 toLocalFrame(frame)->document()->visitedLinkState().invalidateSt
yleForAllLinks(invalidateVisitedLinkHashes); | 391 toLocalFrame(frame)->document()->visitedLinkState().invalidateSt
yleForAllLinks(invalidateVisitedLinkHashes); |
| 349 } | 392 } |
| (...skipping 216 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 566 if (m_memoryPurgeController) | 609 if (m_memoryPurgeController) |
| 567 m_memoryPurgeController->unregisterClient(this); | 610 m_memoryPurgeController->unregisterClient(this); |
| 568 #endif | 611 #endif |
| 569 | 612 |
| 570 if (m_scrollingCoordinator) | 613 if (m_scrollingCoordinator) |
| 571 m_scrollingCoordinator->willBeDestroyed(); | 614 m_scrollingCoordinator->willBeDestroyed(); |
| 572 | 615 |
| 573 chromeClient().chromeDestroyed(); | 616 chromeClient().chromeDestroyed(); |
| 574 if (m_validationMessageClient) | 617 if (m_validationMessageClient) |
| 575 m_validationMessageClient->willBeDestroyed(); | 618 m_validationMessageClient->willBeDestroyed(); |
| 619 |
| 620 removeScreenColorProfile(Page::screenId(this)); |
| 576 m_mainFrame = nullptr; | 621 m_mainFrame = nullptr; |
| 577 | 622 |
| 578 Page::notifyContextDestroyed(); | 623 Page::notifyContextDestroyed(); |
| 579 } | 624 } |
| 580 | 625 |
| 581 Page::PageClients::PageClients() | 626 Page::PageClients::PageClients() |
| 582 : chromeClient(nullptr) | 627 : chromeClient(nullptr) |
| 583 , contextMenuClient(nullptr) | 628 , contextMenuClient(nullptr) |
| 584 , editorClient(nullptr) | 629 , editorClient(nullptr) |
| 585 , dragClient(nullptr) | 630 , dragClient(nullptr) |
| 586 , spellCheckerClient(nullptr) | 631 , spellCheckerClient(nullptr) |
| 587 { | 632 { |
| 588 } | 633 } |
| 589 | 634 |
| 590 Page::PageClients::~PageClients() | 635 Page::PageClients::~PageClients() |
| 591 { | 636 { |
| 592 } | 637 } |
| 593 | 638 |
| 594 template class CORE_TEMPLATE_EXPORT WillBeHeapSupplement<Page>; | 639 template class CORE_TEMPLATE_EXPORT WillBeHeapSupplement<Page>; |
| 595 | 640 |
| 596 } // namespace blink | 641 } // namespace blink |
| OLD | NEW |