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 "content/browser/renderer_host/render_widget_host_view_mac.h" | 5 #include "content/browser/renderer_host/render_widget_host_view_mac.h" |
6 | 6 |
7 #include <QuartzCore/QuartzCore.h> | 7 #include <QuartzCore/QuartzCore.h> |
8 | 8 |
9 #include "base/debug/trace_event.h" | 9 #include "base/debug/trace_event.h" |
10 #include "base/logging.h" | 10 #include "base/logging.h" |
(...skipping 561 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
572 // If |about_to_validate_and_paint_| is set, then -drawRect: is on the stack | 572 // If |about_to_validate_and_paint_| is set, then -drawRect: is on the stack |
573 // and it's not allowed to call -setHidden on the accelerated view. In that | 573 // and it's not allowed to call -setHidden on the accelerated view. In that |
574 // case, -callSetNeedsDisplayInRect: will hide it later. | 574 // case, -callSetNeedsDisplayInRect: will hide it later. |
575 // If |about_to_validate_and_paint_| is not set, do it now. | 575 // If |about_to_validate_and_paint_| is not set, do it now. |
576 if (!about_to_validate_and_paint_) | 576 if (!about_to_validate_and_paint_) |
577 HandleDelayedGpuViewHiding(); | 577 HandleDelayedGpuViewHiding(); |
578 } | 578 } |
579 | 579 |
580 void RenderWidgetHostViewMac::RenderViewGone(base::TerminationStatus status, | 580 void RenderWidgetHostViewMac::RenderViewGone(base::TerminationStatus status, |
581 int error_code) { | 581 int error_code) { |
582 // TODO(darin): keep this around, and draw sad-tab into it. | |
583 Destroy(); | 582 Destroy(); |
584 } | 583 } |
585 | 584 |
586 void RenderWidgetHostViewMac::Destroy() { | 585 void RenderWidgetHostViewMac::Destroy() { |
587 // On Windows, popups are implemented with a popup window style, so that when | 586 // On Windows, popups are implemented with a popup window style, so that when |
588 // an event comes in that would "cancel" it, it receives the OnCancelMode | 587 // an event comes in that would "cancel" it, it receives the OnCancelMode |
589 // message and can kill itself. Alas, on the Mac, views cannot capture events | 588 // message and can kill itself. Alas, on the Mac, views cannot capture events |
590 // outside of themselves. On Windows, if Destroy is being called on a view, | 589 // outside of themselves. On Windows, if Destroy is being called on a view, |
591 // then the event causing the destroy had also cancelled any popups by the | 590 // then the event causing the destroy had also cancelled any popups by the |
592 // time Destroy() was called. On the Mac we have to destroy all the popups | 591 // time Destroy() was called. On the Mac we have to destroy all the popups |
(...skipping 2156 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2749 if (!string) return NO; | 2748 if (!string) return NO; |
2750 | 2749 |
2751 // If the user is currently using an IME, confirm the IME input, | 2750 // If the user is currently using an IME, confirm the IME input, |
2752 // and then insert the text from the service, the same as TextEdit and Safari. | 2751 // and then insert the text from the service, the same as TextEdit and Safari. |
2753 [self confirmComposition]; | 2752 [self confirmComposition]; |
2754 [self insertText:string]; | 2753 [self insertText:string]; |
2755 return YES; | 2754 return YES; |
2756 } | 2755 } |
2757 | 2756 |
2758 @end | 2757 @end |
OLD | NEW |