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

Side by Side Diff: chrome/browser/prerender/prerender_manager.h

Issue 2309443002: NoState Prefetch: Refactor prerender_browsertests.cc (Closed)
Patch Set: Remove unnecessary diff Created 4 years, 3 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 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef CHROME_BROWSER_PRERENDER_PRERENDER_MANAGER_H_ 5 #ifndef CHROME_BROWSER_PRERENDER_PRERENDER_MANAGER_H_
6 #define CHROME_BROWSER_PRERENDER_PRERENDER_MANAGER_H_ 6 #define CHROME_BROWSER_PRERENDER_PRERENDER_MANAGER_H_
7 7
8 #include <stdint.h> 8 #include <stdint.h>
9 9
10 #include <memory> 10 #include <memory>
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
53 class Rect; 53 class Rect;
54 class Size; 54 class Size;
55 } 55 }
56 56
57 namespace offline_pages { 57 namespace offline_pages {
58 class PrerenderAdapterTest; 58 class PrerenderAdapterTest;
59 } 59 }
60 60
61 namespace prerender { 61 namespace prerender {
62 62
63 namespace test_utils {
64 class PrerenderInProcessBrowserTest;
65 }
66
63 class PrerenderHandle; 67 class PrerenderHandle;
64 class PrerenderHistory; 68 class PrerenderHistory;
65 class PrerenderLocalPredictor; 69 class PrerenderLocalPredictor;
66 70
67 // PrerenderManager is responsible for initiating and keeping prerendered 71 // PrerenderManager is responsible for initiating and keeping prerendered
68 // views of web pages. All methods must be called on the UI thread unless 72 // views of web pages. All methods must be called on the UI thread unless
69 // indicated otherwise. 73 // indicated otherwise.
70 class PrerenderManager : public base::SupportsWeakPtr<PrerenderManager>, 74 class PrerenderManager : public base::SupportsWeakPtr<PrerenderManager>,
71 public content::NotificationObserver, 75 public content::NotificationObserver,
72 public content::RenderProcessHostObserver, 76 public content::RenderProcessHostObserver,
(...skipping 314 matching lines...) Expand 10 before | Expand all | Expand 10 after
387 // from the context that launched the prerender. A user may have clicked 391 // from the context that launched the prerender. A user may have clicked
388 // a link in a page containing a <link rel=prerender> element, or the user 392 // a link in a page containing a <link rel=prerender> element, or the user
389 // might have committed an omnibox navigation. This is used to possibly 393 // might have committed an omnibox navigation. This is used to possibly
390 // shorten the TTL of the prerendered page. 394 // shorten the TTL of the prerendered page.
391 void SourceNavigatedAway(PrerenderData* prerender_data); 395 void SourceNavigatedAway(PrerenderData* prerender_data);
392 396
393 // Same as base::SysInfo::IsLowEndDevice(), overridden in tests. 397 // Same as base::SysInfo::IsLowEndDevice(), overridden in tests.
394 virtual bool IsLowEndDevice() const; 398 virtual bool IsLowEndDevice() const;
395 399
396 private: 400 private:
397 friend class PrerenderBrowserTest; 401 friend class test_utils::PrerenderInProcessBrowserTest;
398 friend class PrerenderContents; 402 friend class PrerenderContents;
399 friend class PrerenderHandle; 403 friend class PrerenderHandle;
400 friend class UnitTestPrerenderManager; 404 friend class UnitTestPrerenderManager;
401 405
402 class OnCloseWebContentsDeleter; 406 class OnCloseWebContentsDeleter;
403 struct NavigationRecord; 407 struct NavigationRecord;
404 using PrerenderDataVector = std::vector<std::unique_ptr<PrerenderData>>; 408 using PrerenderDataVector = std::vector<std::unique_ptr<PrerenderData>>;
405 409
406 // Time interval before a new prerender is allowed. 410 // Time interval before a new prerender is allowed.
407 static const int kMinTimeBetweenPrerendersMs = 500; 411 static const int kMinTimeBetweenPrerendersMs = 500;
(...skipping 162 matching lines...) Expand 10 before | Expand all | Expand 10 after
570 // Set of process hosts being prerendered. 574 // Set of process hosts being prerendered.
571 using PrerenderProcessSet = std::set<content::RenderProcessHost*>; 575 using PrerenderProcessSet = std::set<content::RenderProcessHost*>;
572 PrerenderProcessSet prerender_process_hosts_; 576 PrerenderProcessSet prerender_process_hosts_;
573 577
574 DISALLOW_COPY_AND_ASSIGN(PrerenderManager); 578 DISALLOW_COPY_AND_ASSIGN(PrerenderManager);
575 }; 579 };
576 580
577 } // namespace prerender 581 } // namespace prerender
578 582
579 #endif // CHROME_BROWSER_PRERENDER_PRERENDER_MANAGER_H_ 583 #endif // CHROME_BROWSER_PRERENDER_PRERENDER_MANAGER_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698