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

Side by Side Diff: chrome/browser/tab_contents/tab_contents_view_mac.mm

Issue 8520036: Revert 110262 - Have ExtensionHost use TabContents instead of RenderViewHost. Try #2. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 9 years, 1 month 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 | Annotate | Revision Log
Property Changes:
Added: svn:mergeinfo
OLDNEW
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 #import <Carbon/Carbon.h> 5 #import <Carbon/Carbon.h>
6 6
7 #include "chrome/browser/tab_contents/tab_contents_view_mac.h" 7 #include "chrome/browser/tab_contents/tab_contents_view_mac.h"
8 8
9 #include <string> 9 #include <string>
10 10
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
49 - (void)registerDragTypes; 49 - (void)registerDragTypes;
50 - (void)setCurrentDragOperation:(NSDragOperation)operation; 50 - (void)setCurrentDragOperation:(NSDragOperation)operation;
51 - (void)startDragWithDropData:(const WebDropData&)dropData 51 - (void)startDragWithDropData:(const WebDropData&)dropData
52 dragOperationMask:(NSDragOperation)operationMask 52 dragOperationMask:(NSDragOperation)operationMask
53 image:(NSImage*)image 53 image:(NSImage*)image
54 offset:(NSPoint)offset; 54 offset:(NSPoint)offset;
55 - (void)cancelDeferredClose; 55 - (void)cancelDeferredClose;
56 - (void)clearTabContentsView; 56 - (void)clearTabContentsView;
57 - (void)closeTabAfterEvent; 57 - (void)closeTabAfterEvent;
58 - (void)viewDidBecomeFirstResponder:(NSNotification*)notification; 58 - (void)viewDidBecomeFirstResponder:(NSNotification*)notification;
59 // Notify the RenderWidgetHost that the frame was updated so it can resize
60 // its contents.
61 - (void)renderWidgetHostWasResized;
62 @end 59 @end
63 60
64 namespace tab_contents_view_mac { 61 namespace tab_contents_view_mac {
65 TabContentsView* CreateTabContentsView(TabContents* tab_contents) { 62 TabContentsView* CreateTabContentsView(TabContents* tab_contents) {
66 return new TabContentsViewMac(tab_contents); 63 return new TabContentsViewMac(tab_contents);
67 } 64 }
68 } 65 }
69 66
70 TabContentsViewMac::TabContentsViewMac(TabContents* tab_contents) 67 TabContentsViewMac::TabContentsViewMac(TabContents* tab_contents)
71 : tab_contents_(tab_contents), 68 : tab_contents_(tab_contents),
72 preferred_width_(0), 69 preferred_width_(0),
73 overlaid_view_(nil) { 70 overlaid_view_(nil) {
74 } 71 }
75 72
76 TabContentsViewMac::~TabContentsViewMac() { 73 TabContentsViewMac::~TabContentsViewMac() {
77 // This handles the case where a renderer close call was deferred 74 // This handles the case where a renderer close call was deferred
78 // while the user was operating a UI control which resulted in a 75 // while the user was operating a UI control which resulted in a
79 // close. In that case, the Cocoa view outlives the 76 // close. In that case, the Cocoa view outlives the
80 // TabContentsViewMac instance due to Cocoa retain count. 77 // TabContentsViewMac instance due to Cocoa retain count.
81 [cocoa_view_ cancelDeferredClose]; 78 [cocoa_view_ cancelDeferredClose];
82 [cocoa_view_ clearTabContentsView]; 79 [cocoa_view_ clearTabContentsView];
83 } 80 }
84 81
85 void TabContentsViewMac::CreateView(const gfx::Size& initial_size) { 82 void TabContentsViewMac::CreateView(const gfx::Size& initial_size) {
86 TabContentsViewCocoa* view = 83 TabContentsViewCocoa* view =
87 [[TabContentsViewCocoa alloc] initWithTabContentsViewMac:this]; 84 [[TabContentsViewCocoa alloc] initWithTabContentsViewMac:this];
85 [view setAutoresizingMask:(NSViewWidthSizable | NSViewHeightSizable)];
88 cocoa_view_.reset(view); 86 cocoa_view_.reset(view);
89 } 87 }
90 88
91 RenderWidgetHostView* TabContentsViewMac::CreateViewForWidget( 89 RenderWidgetHostView* TabContentsViewMac::CreateViewForWidget(
92 RenderWidgetHost* render_widget_host) { 90 RenderWidgetHost* render_widget_host) {
93 if (render_widget_host->view()) { 91 if (render_widget_host->view()) {
94 // During testing, the view will already be set up in most cases to the 92 // During testing, the view will already be set up in most cases to the
95 // test view, so we don't want to clobber it with a real one. To verify that 93 // test view, so we don't want to clobber it with a real one. To verify that
96 // this actually is happening (and somebody isn't accidentally creating the 94 // this actually is happening (and somebody isn't accidentally creating the
97 // view twice), we check for the RVH Factory, which will be set when we're 95 // view twice), we check for the RVH Factory, which will be set when we're
(...skipping 405 matching lines...) Expand 10 before | Expand all | Expand 10 after
503 initWithContents:[self tabContents] 501 initWithContents:[self tabContents]
504 view:self 502 view:self
505 dropData:&dropData 503 dropData:&dropData
506 image:image 504 image:image
507 offset:offset 505 offset:offset
508 pasteboard:[NSPasteboard pasteboardWithName:NSDragPboard] 506 pasteboard:[NSPasteboard pasteboardWithName:NSDragPboard]
509 dragOperationMask:operationMask]); 507 dragOperationMask:operationMask]);
510 [dragSource_ startDrag]; 508 [dragSource_ startDrag];
511 } 509 }
512 510
513 - (void)setFrameWithDeferredUpdate:(NSRect)frameRect {
514 [super setFrame:frameRect];
515 [self performSelector:@selector(renderWidgetHostWasResized)
516 withObject:nil
517 afterDelay:0];
518 }
519
520 - (void)renderWidgetHostWasResized {
521 TabContents* tabContents = [self tabContents];
522 if (tabContents->render_view_host())
523 tabContents->render_view_host()->WasResized();
524 }
525
526 // NSDraggingSource methods 511 // NSDraggingSource methods
527 512
528 // Returns what kind of drag operations are available. This is a required 513 // Returns what kind of drag operations are available. This is a required
529 // method for NSDraggingSource. 514 // method for NSDraggingSource.
530 - (NSDragOperation)draggingSourceOperationMaskForLocal:(BOOL)isLocal { 515 - (NSDragOperation)draggingSourceOperationMaskForLocal:(BOOL)isLocal {
531 if (dragSource_.get()) 516 if (dragSource_.get())
532 return [dragSource_ draggingSourceOperationMaskForLocal:isLocal]; 517 return [dragSource_ draggingSourceOperationMaskForLocal:isLocal];
533 // No web drag source - this is the case for dragging a file from the 518 // No web drag source - this is the case for dragging a file from the
534 // downloads manager. Default to copy operation. Note: It is desirable to 519 // downloads manager. Default to copy operation. Note: It is desirable to
535 // allow the user to either move or copy, but this requires additional 520 // allow the user to either move or copy, but this requires additional
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after
606 [[[notification userInfo] objectForKey:kSelectionDirection] 591 [[[notification userInfo] objectForKey:kSelectionDirection]
607 unsignedIntegerValue]; 592 unsignedIntegerValue];
608 if (direction == NSDirectSelection) 593 if (direction == NSDirectSelection)
609 return; 594 return;
610 595
611 [self tabContents]-> 596 [self tabContents]->
612 FocusThroughTabTraversal(direction == NSSelectingPrevious); 597 FocusThroughTabTraversal(direction == NSSelectingPrevious);
613 } 598 }
614 599
615 @end 600 @end
OLDNEW
« no previous file with comments | « chrome/browser/tab_contents/tab_contents_view_mac.h ('k') | chrome/browser/task_manager/task_manager.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698