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

Side by Side Diff: chrome/browser/sync/glue/synced_tab_delegate.cc

Issue 1310373009: [Sync] Remove static methods on SyncedWindowDelegate. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix Android build. Created 5 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 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 #include "chrome/browser/sync/glue/synced_tab_delegate.h" 5 #include "chrome/browser/sync/glue/synced_tab_delegate.h"
6 6
7 #include "chrome/browser/sync/glue/synced_window_delegate.h" 7 #include "base/logging.h"
8 #include "chrome/browser/ui/sync/tab_contents_synced_tab_delegate.h" 8 #include "chrome/browser/ui/sync/tab_contents_synced_tab_delegate.h"
9 #include "chrome/common/url_constants.h" 9 #include "chrome/common/url_constants.h"
10 #include "content/public/browser/navigation_entry.h" 10 #include "content/public/browser/navigation_entry.h"
11 #include "url/gurl.h" 11 #include "url/gurl.h"
12 12
13 using browser_sync::SyncedTabDelegate; 13 using browser_sync::SyncedTabDelegate;
14 14
15 namespace browser_sync { 15 namespace browser_sync {
16 16
17 SyncedTabDelegate::SyncedTabDelegate() {}
18 SyncedTabDelegate::~SyncedTabDelegate() {}
19
17 content::NavigationEntry* SyncedTabDelegate::GetCurrentEntryMaybePending() 20 content::NavigationEntry* SyncedTabDelegate::GetCurrentEntryMaybePending()
18 const { 21 const {
19 return GetEntryAtIndexMaybePending(GetCurrentEntryIndex()); 22 return GetEntryAtIndexMaybePending(GetCurrentEntryIndex());
20 } 23 }
21 24
22 content::NavigationEntry* SyncedTabDelegate::GetEntryAtIndexMaybePending( 25 content::NavigationEntry* SyncedTabDelegate::GetEntryAtIndexMaybePending(
23 int i) const { 26 int i) const {
24 return (GetPendingEntryIndex() == i) ? GetPendingEntry() : GetEntryAtIndex(i); 27 return (GetPendingEntryIndex() == i) ? GetPendingEntry() : GetEntryAtIndex(i);
25 } 28 }
26 29
27 bool SyncedTabDelegate::ShouldSync() const { 30 bool SyncedTabDelegate::ShouldSync() const {
28 if (GetSyncedWindowDelegate() == NULL) 31 if (GetSyncedWindowDelegate() == nullptr)
29 return false; 32 return false;
30 33
31 // Is there a valid NavigationEntry? 34 // Is there a valid NavigationEntry?
32 if (ProfileIsSupervised() && GetBlockedNavigations()->size() > 0) 35 if (ProfileIsSupervised() && GetBlockedNavigations()->size() > 0)
33 return true; 36 return true;
34 37
35 int entry_count = GetEntryCount(); 38 int entry_count = GetEntryCount();
36 if (entry_count == 0) 39 if (entry_count == 0)
37 return false; // This deliberately ignores a new pending entry. 40 return false; // This deliberately ignores a new pending entry.
38 41
(...skipping 12 matching lines...) Expand all
51 found_valid_url = true; 54 found_valid_url = true;
52 } else if (virtual_url == GURL(chrome::kChromeUIHistoryURL)) { 55 } else if (virtual_url == GURL(chrome::kChromeUIHistoryURL)) {
53 // The history page is treated specially as we want it to trigger syncable 56 // The history page is treated specially as we want it to trigger syncable
54 // events for UI purposes. 57 // events for UI purposes.
55 found_valid_url = true; 58 found_valid_url = true;
56 } 59 }
57 } 60 }
58 return found_valid_url; 61 return found_valid_url;
59 } 62 }
60 63
64 void SyncedTabDelegate::SetSyncedWindowGetter(
65 scoped_ptr<SyncedWindowDelegatesGetter> getter) {
66 synced_window_getter_.reset(getter.release());
67 }
68
61 const SyncedWindowDelegate* SyncedTabDelegate::GetSyncedWindowDelegate() const { 69 const SyncedWindowDelegate* SyncedTabDelegate::GetSyncedWindowDelegate() const {
62 return SyncedWindowDelegate::FindById(GetWindowId()); 70 if (!synced_window_getter_) {
71 NOTREACHED();
Nicolas Zea 2015/09/02 21:19:43 Generally you shouldn't NOTREACH for a case that y
maxbogue 2015/09/02 23:05:40 Ah, ok. It is invalid, so I've removed the return.
72 return nullptr;
73 }
74 return synced_window_getter_->FindById(GetWindowId());
63 } 75 }
64 76
65 } // namespace browser_sync 77 } // namespace browser_sync
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698