OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 "apps/shell_window.h" | 5 #include "apps/shell_window.h" |
6 | 6 |
7 #include "apps/native_app_window.h" | 7 #include "apps/native_app_window.h" |
8 #include "apps/shell_window_geometry_cache.h" | 8 #include "apps/shell_window_geometry_cache.h" |
9 #include "apps/shell_window_registry.h" | 9 #include "apps/shell_window_registry.h" |
10 #include "base/strings/string_util.h" | 10 #include "base/strings/string_util.h" |
(...skipping 165 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
176 Maximize(); | 176 Maximize(); |
177 else if (new_params.state == ui::SHOW_STATE_MINIMIZED) | 177 else if (new_params.state == ui::SHOW_STATE_MINIMIZED) |
178 Minimize(); | 178 Minimize(); |
179 | 179 |
180 OnNativeWindowChanged(); | 180 OnNativeWindowChanged(); |
181 | 181 |
182 // When the render view host is changed, the native window needs to know | 182 // When the render view host is changed, the native window needs to know |
183 // about it in case it has any setup to do to make the renderer appear | 183 // about it in case it has any setup to do to make the renderer appear |
184 // properly. In particular, on Windows, the view's clickthrough region needs | 184 // properly. In particular, on Windows, the view's clickthrough region needs |
185 // to be set. | 185 // to be set. |
186 registrar_.Add(this, content::NOTIFICATION_RENDER_VIEW_HOST_CHANGED, | 186 registrar_.Add(this, content::NOTIFICATION_WEB_CONTENTS_SWAPPED, |
187 content::Source<content::NavigationController>( | 187 content::Source<content::WebContents>(web_contents)); |
188 &web_contents->GetController())); | |
189 registrar_.Add(this, chrome::NOTIFICATION_EXTENSION_UNLOADED, | 188 registrar_.Add(this, chrome::NOTIFICATION_EXTENSION_UNLOADED, |
190 content::Source<Profile>(profile_)); | 189 content::Source<Profile>(profile_)); |
191 // Close when the browser process is exiting. | 190 // Close when the browser process is exiting. |
192 registrar_.Add(this, chrome::NOTIFICATION_APP_TERMINATING, | 191 registrar_.Add(this, chrome::NOTIFICATION_APP_TERMINATING, |
193 content::NotificationService::AllSources()); | 192 content::NotificationService::AllSources()); |
194 | 193 |
195 shell_window_contents_->LoadContents(params.creator_process_id); | 194 shell_window_contents_->LoadContents(params.creator_process_id); |
196 | 195 |
197 // Prevent the browser process from shutting down while this window is open. | 196 // Prevent the browser process from shutting down while this window is open. |
198 chrome::StartKeepAlive(); | 197 chrome::StartKeepAlive(); |
(...skipping 328 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
527 | 526 |
528 bool ShellWindow::IsFullscreenForTabOrPending( | 527 bool ShellWindow::IsFullscreenForTabOrPending( |
529 const content::WebContents* source) const { | 528 const content::WebContents* source) const { |
530 return fullscreen_for_tab_; | 529 return fullscreen_for_tab_; |
531 } | 530 } |
532 | 531 |
533 void ShellWindow::Observe(int type, | 532 void ShellWindow::Observe(int type, |
534 const content::NotificationSource& source, | 533 const content::NotificationSource& source, |
535 const content::NotificationDetails& details) { | 534 const content::NotificationDetails& details) { |
536 switch (type) { | 535 switch (type) { |
537 case content::NOTIFICATION_RENDER_VIEW_HOST_CHANGED: { | 536 case content::NOTIFICATION_WEB_CONTENTS_SWAPPED: { |
538 // TODO(jianli): once http://crbug.com/123007 is fixed, we'll no longer | 537 // TODO(jianli): once http://crbug.com/123007 is fixed, we'll no longer |
539 // need to make the native window (ShellWindowViews specially) update | 538 // need to make the native window (ShellWindowViews specially) update |
540 // the clickthrough region for the new RVH. | 539 // the clickthrough region for the new RVH. |
541 native_app_window_->RenderViewHostChanged(); | 540 native_app_window_->RenderViewHostChanged(); |
542 break; | 541 break; |
543 } | 542 } |
544 case chrome::NOTIFICATION_EXTENSION_UNLOADED: { | 543 case chrome::NOTIFICATION_EXTENSION_UNLOADED: { |
545 const extensions::Extension* unloaded_extension = | 544 const extensions::Extension* unloaded_extension = |
546 content::Details<extensions::UnloadedExtensionInfo>( | 545 content::Details<extensions::UnloadedExtensionInfo>( |
547 details)->extension; | 546 details)->extension; |
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
645 region.bounds.x(), | 644 region.bounds.x(), |
646 region.bounds.y(), | 645 region.bounds.y(), |
647 region.bounds.right(), | 646 region.bounds.right(), |
648 region.bounds.bottom(), | 647 region.bounds.bottom(), |
649 region.draggable ? SkRegion::kUnion_Op : SkRegion::kDifference_Op); | 648 region.draggable ? SkRegion::kUnion_Op : SkRegion::kDifference_Op); |
650 } | 649 } |
651 return sk_region; | 650 return sk_region; |
652 } | 651 } |
653 | 652 |
654 } // namespace apps | 653 } // namespace apps |
OLD | NEW |