OLD | NEW |
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 #import "chrome/browser/ui/cocoa/dev_tools_controller.h" | 5 #import "chrome/browser/ui/cocoa/dev_tools_controller.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 #include <cmath> | 8 #include <cmath> |
9 | 9 |
10 #include <Cocoa/Cocoa.h> | 10 #include <Cocoa/Cocoa.h> |
(...skipping 25 matching lines...) Expand all Loading... |
36 - (BOOL)hasDevToolsView; | 36 - (BOOL)hasDevToolsView; |
37 | 37 |
38 @end | 38 @end |
39 | 39 |
40 | 40 |
41 @implementation DevToolsContainerView | 41 @implementation DevToolsContainerView |
42 | 42 |
43 - (void)setDevToolsView:(NSView*)devToolsView | 43 - (void)setDevToolsView:(NSView*)devToolsView |
44 withStrategy:(const DevToolsContentsResizingStrategy&)strategy { | 44 withStrategy:(const DevToolsContentsResizingStrategy&)strategy { |
45 strategy_.CopyFrom(strategy); | 45 strategy_.CopyFrom(strategy); |
46 | 46 if (devToolsView == devToolsView_) { |
47 if (devToolsView == devToolsView_) | 47 if (contentsView_) |
| 48 [contentsView_ setHidden:strategy.hide_inspected_contents()]; |
48 return; | 49 return; |
| 50 } |
49 | 51 |
50 if (devToolsView_) { | 52 if (devToolsView_) { |
51 DCHECK_EQ(2u, [[self subviews] count]); | 53 DCHECK_EQ(2u, [[self subviews] count]); |
52 [devToolsView_ removeFromSuperview]; | 54 [devToolsView_ removeFromSuperview]; |
| 55 [contentsView_ setHidden:NO]; |
53 contentsView_ = nil; | 56 contentsView_ = nil; |
54 devToolsView_ = nil; | 57 devToolsView_ = nil; |
55 } | 58 } |
56 | 59 |
57 if (devToolsView) { | 60 if (devToolsView) { |
58 NSArray* subviews = [self subviews]; | 61 NSArray* subviews = [self subviews]; |
59 DCHECK_EQ(1u, [subviews count]); | 62 DCHECK_EQ(1u, [subviews count]); |
60 contentsView_ = [subviews objectAtIndex:0]; | 63 contentsView_ = [subviews objectAtIndex:0]; |
61 devToolsView_ = devToolsView; | 64 devToolsView_ = devToolsView; |
62 // Place DevTools under contents. | 65 // Place DevTools under contents. |
63 [self addSubview:devToolsView positioned:NSWindowBelow relativeTo:nil]; | 66 [self addSubview:devToolsView positioned:NSWindowBelow relativeTo:nil]; |
| 67 |
| 68 [contentsView_ setHidden:strategy.hide_inspected_contents()]; |
64 } | 69 } |
65 } | 70 } |
66 | 71 |
67 - (void)resizeSubviewsWithOldSize:(NSSize)oldBoundsSize { | 72 - (void)resizeSubviewsWithOldSize:(NSSize)oldBoundsSize { |
68 [self adjustSubviews]; | 73 [self adjustSubviews]; |
69 } | 74 } |
70 | 75 |
71 - (BOOL)hasDevToolsView { | 76 - (BOOL)hasDevToolsView { |
72 return devToolsView_ != nil; | 77 return devToolsView_ != nil; |
73 } | 78 } |
74 | 79 |
75 - (void)adjustSubviews { | 80 - (void)adjustSubviews { |
76 if (![[self subviews] count]) | 81 if (![[self subviews] count]) |
77 return; | 82 return; |
78 | 83 |
79 if (!devToolsView_) { | 84 if (!devToolsView_) { |
80 DCHECK_EQ(1u, [[self subviews] count]); | 85 DCHECK_EQ(1u, [[self subviews] count]); |
81 NSView* contents = [[self subviews] objectAtIndex:0]; | 86 NSView* contents = [[self subviews] objectAtIndex:0]; |
82 [contents setFrame:[self bounds]]; | 87 [contents setFrame:[self bounds]]; |
83 return; | 88 return; |
84 } | 89 } |
85 | 90 |
86 DCHECK_EQ(2u, [[self subviews] count]); | 91 DCHECK_EQ(2u, [[self subviews] count]); |
87 | 92 |
88 gfx::Rect new_devtools_bounds; | 93 gfx::Rect new_devtools_bounds; |
89 gfx::Rect new_contents_bounds; | 94 gfx::Rect new_contents_bounds; |
90 ApplyDevToolsContentsResizingStrategy( | 95 ApplyDevToolsContentsResizingStrategy( |
91 strategy_, gfx::Size(NSSizeToCGSize([self bounds].size)), | 96 strategy_, gfx::Size(NSSizeToCGSize([self bounds].size)), |
92 [self flipNSRectToRect:[devToolsView_ bounds]], | |
93 [self flipNSRectToRect:[contentsView_ bounds]], | |
94 &new_devtools_bounds, &new_contents_bounds); | 97 &new_devtools_bounds, &new_contents_bounds); |
95 [devToolsView_ setFrame:[self flipRectToNSRect:new_devtools_bounds]]; | 98 [devToolsView_ setFrame:[self flipRectToNSRect:new_devtools_bounds]]; |
96 [contentsView_ setFrame:[self flipRectToNSRect:new_contents_bounds]]; | 99 [contentsView_ setFrame:[self flipRectToNSRect:new_contents_bounds]]; |
97 } | 100 } |
98 | 101 |
99 @end | 102 @end |
100 | 103 |
101 | 104 |
102 @implementation DevToolsController | 105 @implementation DevToolsController |
103 | 106 |
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
146 contents->SetAllowOtherViews(true); | 149 contents->SetAllowOtherViews(true); |
147 } else { | 150 } else { |
148 contents->SetAllowOtherViews(false); | 151 contents->SetAllowOtherViews(false); |
149 } | 152 } |
150 | 153 |
151 [devToolsContainerView_ setDevToolsView:devToolsView withStrategy:strategy]; | 154 [devToolsContainerView_ setDevToolsView:devToolsView withStrategy:strategy]; |
152 [devToolsContainerView_ adjustSubviews]; | 155 [devToolsContainerView_ adjustSubviews]; |
153 } | 156 } |
154 | 157 |
155 @end | 158 @end |
OLD | NEW |