| 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 |