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

Side by Side Diff: chrome/browser/views/pinned_contents_info_bubble.cc

Issue 2060004: Removing the app launcher button on ChromeOS (Closed) Base URL: git://codf21.jail/chromium.git
Patch Set: One more clean up Created 10 years, 7 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) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 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/views/pinned_contents_info_bubble.h" 5 #include "chrome/browser/views/pinned_contents_info_bubble.h"
6 6
7 #include "chrome/browser/views/bubble_border.h" 7 #include "chrome/browser/views/bubble_border.h"
8 8
9 #if defined(OS_WIN)
10 // BorderWidget ---------------------------------------------------------------
11
12 void PinnedContentsBorderContents::SizeAndGetBounds( 9 void PinnedContentsBorderContents::SizeAndGetBounds(
13 const gfx::Rect& position_relative_to, 10 const gfx::Rect& position_relative_to,
14 BubbleBorder::ArrowLocation arrow_location, 11 BubbleBorder::ArrowLocation arrow_location,
15 bool allow_bubble_offscreen, 12 bool allow_bubble_offscreen,
16 const gfx::Size& contents_size, 13 const gfx::Size& contents_size,
17 gfx::Rect* contents_bounds, 14 gfx::Rect* contents_bounds,
18 gfx::Rect* window_bounds) { 15 gfx::Rect* window_bounds) {
19 // Arrow offset is calculated from the middle of the |position_relative_to|. 16 // Arrow offset is calculated from the middle of the |position_relative_to|.
20 int offset = position_relative_to.x() + (position_relative_to.width() / 2); 17 int offset = position_relative_to.x() + (position_relative_to.width() / 2);
21 offset -= bubble_anchor_.x(); 18 offset -= bubble_anchor_.x();
22 19
23 gfx::Insets insets; 20 gfx::Insets insets;
24 bubble_border_->GetInsets(&insets); 21 bubble_border_->GetInsets(&insets);
25 offset += kLeftMargin + insets.left() + 1; 22 offset += kLeftMargin + insets.left() + 1;
26 bubble_border_->SetArrowOffset(offset, contents_size); 23 bubble_border_->SetArrowOffset(offset, contents_size);
27 24
28 BorderContents::SizeAndGetBounds( 25 BorderContents::SizeAndGetBounds(
29 position_relative_to, arrow_location, 26 position_relative_to, arrow_location,
30 true, // Don't move the bubble around if it does not fit on the screen. 27 true, // Don't move the bubble around if it does not fit on the screen.
31 contents_size, contents_bounds, window_bounds); 28 contents_size, contents_bounds, window_bounds);
32 29
33 // Now move the y position to make sure the bubble contents overlap the view. 30 // Now move the y position to make sure the bubble contents overlap the view.
34 window_bounds->Offset(0, -(kTopMargin + 1)); 31 window_bounds->Offset(0, -(kTopMargin + 1));
35 } 32 }
36 33
37 BorderContents* PinnedContentsBorderWidget::CreateBorderContents() {
38 return new PinnedContentsBorderContents(bubble_anchor_);
39 }
40 #endif
41
42 // InfoBubble ----------------------------------------------------------------- 34 // InfoBubble -----------------------------------------------------------------
43 35
44 // static 36 // static
45 PinnedContentsInfoBubble* PinnedContentsInfoBubble::Show( 37 PinnedContentsInfoBubble* PinnedContentsInfoBubble::Show(
46 views::Widget* parent, 38 views::Widget* parent,
47 const gfx::Rect& position_relative_to, 39 const gfx::Rect& position_relative_to,
48 BubbleBorder::ArrowLocation arrow_location, 40 BubbleBorder::ArrowLocation arrow_location,
49 const gfx::Point& bubble_anchor, 41 const gfx::Point& bubble_anchor,
50 views::View* contents, 42 views::View* contents,
51 InfoBubbleDelegate* delegate) { 43 InfoBubbleDelegate* delegate) {
52 PinnedContentsInfoBubble* window = 44 PinnedContentsInfoBubble* window =
53 new PinnedContentsInfoBubble(bubble_anchor); 45 new PinnedContentsInfoBubble(bubble_anchor);
54 window->Init(parent, position_relative_to, arrow_location, 46 window->Init(parent, position_relative_to, arrow_location,
55 contents, delegate); 47 contents, delegate);
56 return window; 48 return window;
57 } 49 }
58 50
59 // TODO(finnur): This needs to be implemented for other platforms once we decide 51 BorderContents* PinnedContentsInfoBubble::CreateBorderContents() {
60 // this is the way to go. 52 return new PinnedContentsBorderContents(bubble_anchor_);
61 #if defined(OS_WIN)
62 BorderWidget* PinnedContentsInfoBubble::CreateBorderWidget() {
63 return new PinnedContentsBorderWidget(bubble_anchor_);
64 } 53 }
65 #endif
OLDNEW
« no previous file with comments | « chrome/browser/views/pinned_contents_info_bubble.h ('k') | chrome/browser/views/tabs/browser_tab_strip_controller.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698