Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(379)

Side by Side Diff: third_party/WebKit/Source/core/page/Page.cpp

Issue 2227933002: Revert CompressibleString (and its UMA) (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Address on Ilya's review Created 4 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
45 #include "core/page/ContextMenuController.h" 45 #include "core/page/ContextMenuController.h"
46 #include "core/page/DragController.h" 46 #include "core/page/DragController.h"
47 #include "core/page/FocusController.h" 47 #include "core/page/FocusController.h"
48 #include "core/page/PointerLockController.h" 48 #include "core/page/PointerLockController.h"
49 #include "core/page/ScopedPageLoadDeferrer.h" 49 #include "core/page/ScopedPageLoadDeferrer.h"
50 #include "core/page/ValidationMessageClient.h" 50 #include "core/page/ValidationMessageClient.h"
51 #include "core/page/scrolling/ScrollingCoordinator.h" 51 #include "core/page/scrolling/ScrollingCoordinator.h"
52 #include "core/paint/PaintLayer.h" 52 #include "core/paint/PaintLayer.h"
53 #include "platform/graphics/GraphicsLayer.h" 53 #include "platform/graphics/GraphicsLayer.h"
54 #include "platform/plugins/PluginData.h" 54 #include "platform/plugins/PluginData.h"
55 #include "platform/text/CompressibleString.h"
56 #include "public/platform/Platform.h" 55 #include "public/platform/Platform.h"
57 56
58 namespace blink { 57 namespace blink {
59 58
60 // Set of all live pages; includes internal Page objects that are 59 // Set of all live pages; includes internal Page objects that are
61 // not observable from scripts. 60 // not observable from scripts.
62 static Page::PageSet& allPages() 61 static Page::PageSet& allPages()
63 { 62 {
64 DEFINE_STATIC_LOCAL(Page::PageSet, allPages, ()); 63 DEFINE_STATIC_LOCAL(Page::PageSet, allPages, ());
65 return allPages; 64 return allPages;
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
126 , m_openedByDOM(false) 125 , m_openedByDOM(false)
127 , m_tabKeyCyclesThroughElements(true) 126 , m_tabKeyCyclesThroughElements(true)
128 , m_defersLoading(false) 127 , m_defersLoading(false)
129 , m_deviceScaleFactor(1) 128 , m_deviceScaleFactor(1)
130 , m_visibilityState(PageVisibilityStateVisible) 129 , m_visibilityState(PageVisibilityStateVisible)
131 , m_isCursorVisible(true) 130 , m_isCursorVisible(true)
132 #if ENABLE(ASSERT) 131 #if ENABLE(ASSERT)
133 , m_isPainting(false) 132 , m_isPainting(false)
134 #endif 133 #endif
135 , m_frameHost(FrameHost::create(*this)) 134 , m_frameHost(FrameHost::create(*this))
136 , m_timerForCompressStrings(this, &Page::compressStrings)
137 { 135 {
138 ASSERT(m_editorClient); 136 ASSERT(m_editorClient);
139 137
140 ASSERT(!allPages().contains(this)); 138 ASSERT(!allPages().contains(this));
141 allPages().add(this); 139 allPages().add(this);
142 } 140 }
143 141
144 Page::~Page() 142 Page::~Page()
145 { 143 {
146 // willBeDestroyed() must be called before Page destruction. 144 // willBeDestroyed() must be called before Page destruction.
(...skipping 166 matching lines...) Expand 10 before | Expand all | Expand 10 after
313 for (const Page* page : ordinaryPages()) { 311 for (const Page* page : ordinaryPages()) {
314 for (Frame* frame = page->m_mainFrame; frame; frame = frame->tree().trav erseNext()) { 312 for (Frame* frame = page->m_mainFrame; frame; frame = frame->tree().trav erseNext()) {
315 if (frame->isLocalFrame()) 313 if (frame->isLocalFrame())
316 toLocalFrame(frame)->document()->visitedLinkState().invalidateSt yleForLink(linkHash); 314 toLocalFrame(frame)->document()->visitedLinkState().invalidateSt yleForLink(linkHash);
317 } 315 }
318 } 316 }
319 } 317 }
320 318
321 void Page::setVisibilityState(PageVisibilityState visibilityState, bool isInitia lState) 319 void Page::setVisibilityState(PageVisibilityState visibilityState, bool isInitia lState)
322 { 320 {
323 static const double waitingTimeBeforeCompressingString = 10;
324
325 if (m_visibilityState == visibilityState) 321 if (m_visibilityState == visibilityState)
326 return; 322 return;
327 m_visibilityState = visibilityState; 323 m_visibilityState = visibilityState;
328 324
329 if (!isInitialState) 325 if (!isInitialState)
330 notifyPageVisibilityChanged(); 326 notifyPageVisibilityChanged();
331 327
332 if (!isInitialState && m_mainFrame) 328 if (!isInitialState && m_mainFrame)
333 m_mainFrame->didChangeVisibilityState(); 329 m_mainFrame->didChangeVisibilityState();
334
335 // Compress CompressibleStrings when 10 seconds have passed since the page
336 // went to background.
337 if (m_visibilityState == PageVisibilityStateHidden) {
338 if (!m_timerForCompressStrings.isActive())
339 m_timerForCompressStrings.startOneShot(waitingTimeBeforeCompressingS tring, BLINK_FROM_HERE);
340 } else if (m_timerForCompressStrings.isActive()) {
341 m_timerForCompressStrings.stop();
342 }
343 } 330 }
344 331
345 PageVisibilityState Page::visibilityState() const 332 PageVisibilityState Page::visibilityState() const
346 { 333 {
347 return m_visibilityState; 334 return m_visibilityState;
348 } 335 }
349 336
350 bool Page::isPageVisible() const 337 bool Page::isPageVisible() const
351 { 338 {
352 return visibilityState() == PageVisibilityStateVisible; 339 return visibilityState() == PageVisibilityStateVisible;
(...skipping 176 matching lines...) Expand 10 before | Expand all | Expand 10 after
529 m_scrollingCoordinator->willBeDestroyed(); 516 m_scrollingCoordinator->willBeDestroyed();
530 517
531 chromeClient().chromeDestroyed(); 518 chromeClient().chromeDestroyed();
532 if (m_validationMessageClient) 519 if (m_validationMessageClient)
533 m_validationMessageClient->willBeDestroyed(); 520 m_validationMessageClient->willBeDestroyed();
534 m_mainFrame = nullptr; 521 m_mainFrame = nullptr;
535 522
536 PageVisibilityNotifier::notifyContextDestroyed(); 523 PageVisibilityNotifier::notifyContextDestroyed();
537 } 524 }
538 525
539 void Page::compressStrings(TimerBase* timer)
540 {
541 ASSERT_UNUSED(timer, timer == &m_timerForCompressStrings);
542 if (m_visibilityState == PageVisibilityStateHidden)
543 CompressibleStringImpl::compressAll();
544 }
545
546 Page::PageClients::PageClients() 526 Page::PageClients::PageClients()
547 : chromeClient(nullptr) 527 : chromeClient(nullptr)
548 , contextMenuClient(nullptr) 528 , contextMenuClient(nullptr)
549 , editorClient(nullptr) 529 , editorClient(nullptr)
550 , spellCheckerClient(nullptr) 530 , spellCheckerClient(nullptr)
551 { 531 {
552 } 532 }
553 533
554 Page::PageClients::~PageClients() 534 Page::PageClients::~PageClients()
555 { 535 {
556 } 536 }
557 537
558 template class CORE_TEMPLATE_EXPORT Supplement<Page>; 538 template class CORE_TEMPLATE_EXPORT Supplement<Page>;
559 539
560 } // namespace blink 540 } // namespace blink
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/core/page/Page.h ('k') | third_party/WebKit/Source/platform/blink_platform.gypi » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698