OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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/ui/views/bookmarks/bookmark_bar_view.h" | 5 #include "chrome/browser/ui/views/bookmarks/bookmark_bar_view.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 #include <limits> | 8 #include <limits> |
9 #include <set> | 9 #include <set> |
10 #include <vector> | 10 #include <vector> |
11 | 11 |
| 12 #include "base/bind.h" |
12 #include "base/i18n/rtl.h" | 13 #include "base/i18n/rtl.h" |
13 #include "base/metrics/histogram.h" | 14 #include "base/metrics/histogram.h" |
14 #include "base/string_util.h" | 15 #include "base/string_util.h" |
15 #include "base/utf_string_conversions.h" | 16 #include "base/utf_string_conversions.h" |
16 #include "chrome/browser/bookmarks/bookmark_model.h" | 17 #include "chrome/browser/bookmarks/bookmark_model.h" |
17 #include "chrome/browser/bookmarks/bookmark_utils.h" | 18 #include "chrome/browser/bookmarks/bookmark_utils.h" |
18 #include "chrome/browser/browser_shutdown.h" | 19 #include "chrome/browser/browser_shutdown.h" |
19 #include "chrome/browser/defaults.h" | 20 #include "chrome/browser/defaults.h" |
20 #include "chrome/browser/extensions/extension_service.h" | 21 #include "chrome/browser/extensions/extension_service.h" |
21 #include "chrome/browser/prefs/pref_service.h" | 22 #include "chrome/browser/prefs/pref_service.h" |
(...skipping 1352 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1374 start_index = GetFirstHiddenNodeIndex(); | 1375 start_index = GetFirstHiddenNodeIndex(); |
1375 | 1376 |
1376 drop_info_->is_menu_showing = true; | 1377 drop_info_->is_menu_showing = true; |
1377 bookmark_drop_menu_ = new BookmarkMenuController(browser_->profile(), | 1378 bookmark_drop_menu_ = new BookmarkMenuController(browser_->profile(), |
1378 page_navigator_, GetWidget(), node, start_index); | 1379 page_navigator_, GetWidget(), node, start_index); |
1379 bookmark_drop_menu_->set_observer(this); | 1380 bookmark_drop_menu_->set_observer(this); |
1380 bookmark_drop_menu_->RunMenuAt(this, true); | 1381 bookmark_drop_menu_->RunMenuAt(this, true); |
1381 } | 1382 } |
1382 | 1383 |
1383 void BookmarkBarView::StopShowFolderDropMenuTimer() { | 1384 void BookmarkBarView::StopShowFolderDropMenuTimer() { |
1384 show_folder_method_factory_.RevokeAll(); | 1385 show_folder_method_factory_.InvalidateWeakPtrs(); |
1385 } | 1386 } |
1386 | 1387 |
1387 void BookmarkBarView::StartShowFolderDropMenuTimer(const BookmarkNode* node) { | 1388 void BookmarkBarView::StartShowFolderDropMenuTimer(const BookmarkNode* node) { |
1388 if (testing_) { | 1389 if (testing_) { |
1389 // So that tests can run as fast as possible disable the delay during | 1390 // So that tests can run as fast as possible disable the delay during |
1390 // testing. | 1391 // testing. |
1391 ShowDropFolderForNode(node); | 1392 ShowDropFolderForNode(node); |
1392 return; | 1393 return; |
1393 } | 1394 } |
1394 show_folder_method_factory_.RevokeAll(); | 1395 show_folder_method_factory_.InvalidateWeakPtrs(); |
1395 MessageLoop::current()->PostDelayedTask( | 1396 MessageLoop::current()->PostDelayedTask( |
1396 FROM_HERE, | 1397 FROM_HERE, |
1397 show_folder_method_factory_.NewRunnableMethod( | 1398 base::Bind(&BookmarkBarView::ShowDropFolderForNode, |
1398 &BookmarkBarView::ShowDropFolderForNode, node), | 1399 show_folder_method_factory_.GetWeakPtr(), |
| 1400 node), |
1399 views::GetMenuShowDelay()); | 1401 views::GetMenuShowDelay()); |
1400 } | 1402 } |
1401 | 1403 |
1402 void BookmarkBarView::CalculateDropLocation(const DropTargetEvent& event, | 1404 void BookmarkBarView::CalculateDropLocation(const DropTargetEvent& event, |
1403 const BookmarkNodeData& data, | 1405 const BookmarkNodeData& data, |
1404 DropLocation* location) { | 1406 DropLocation* location) { |
1405 DCHECK(model_); | 1407 DCHECK(model_); |
1406 DCHECK(model_->IsLoaded()); | 1408 DCHECK(model_->IsLoaded()); |
1407 DCHECK(data.is_valid()); | 1409 DCHECK(data.is_valid()); |
1408 | 1410 |
(...skipping 323 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1732 (1 - size_animation_->GetCurrentValue()))); | 1734 (1 - size_animation_->GetCurrentValue()))); |
1733 } else { | 1735 } else { |
1734 prefsize.set_height( | 1736 prefsize.set_height( |
1735 static_cast<int>( | 1737 static_cast<int>( |
1736 browser_defaults::kBookmarkBarHeight * | 1738 browser_defaults::kBookmarkBarHeight * |
1737 size_animation_->GetCurrentValue())); | 1739 size_animation_->GetCurrentValue())); |
1738 } | 1740 } |
1739 } | 1741 } |
1740 return prefsize; | 1742 return prefsize; |
1741 } | 1743 } |
OLD | NEW |