| OLD | NEW | 
|    1 // Copyright 2015 The Chromium Authors. All rights reserved. |    1 // Copyright 2015 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/ui/extensions/hosted_app_browser_controller.h" |    5 #include "chrome/browser/ui/extensions/hosted_app_browser_controller.h" | 
|    6  |    6  | 
|    7 #include "base/command_line.h" |    7 #include "base/command_line.h" | 
|    8 #include "chrome/browser/profiles/profile.h" |    8 #include "chrome/browser/profiles/profile.h" | 
 |    9 #include "chrome/browser/ssl/chrome_security_state_model_client.h" | 
|    9 #include "chrome/browser/ssl/security_state_model.h" |   10 #include "chrome/browser/ssl/security_state_model.h" | 
|   10 #include "chrome/browser/ui/browser.h" |   11 #include "chrome/browser/ui/browser.h" | 
|   11 #include "chrome/browser/ui/browser_window.h" |   12 #include "chrome/browser/ui/browser_window.h" | 
|   12 #include "chrome/browser/ui/host_desktop.h" |   13 #include "chrome/browser/ui/host_desktop.h" | 
|   13 #include "chrome/browser/ui/location_bar/location_bar.h" |   14 #include "chrome/browser/ui/location_bar/location_bar.h" | 
|   14 #include "chrome/browser/ui/tabs/tab_strip_model.h" |   15 #include "chrome/browser/ui/tabs/tab_strip_model.h" | 
|   15 #include "chrome/browser/web_applications/web_app.h" |   16 #include "chrome/browser/web_applications/web_app.h" | 
|   16 #include "chrome/common/chrome_switches.h" |   17 #include "chrome/common/chrome_switches.h" | 
|   17 #include "chrome/common/extensions/manifest_handlers/app_launch_info.h" |   18 #include "chrome/common/extensions/manifest_handlers/app_launch_info.h" | 
|   18 #include "content/public/browser/web_contents.h" |   19 #include "content/public/browser/web_contents.h" | 
| (...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|   85   if (!extension || !web_contents) |   86   if (!extension || !web_contents) | 
|   86     return false; |   87     return false; | 
|   87  |   88  | 
|   88   if (!extension->is_hosted_app()) |   89   if (!extension->is_hosted_app()) | 
|   89     return false; |   90     return false; | 
|   90  |   91  | 
|   91   // Don't show a location bar until a navigation has occurred. |   92   // Don't show a location bar until a navigation has occurred. | 
|   92   if (web_contents->GetLastCommittedURL().is_empty()) |   93   if (web_contents->GetLastCommittedURL().is_empty()) | 
|   93     return false; |   94     return false; | 
|   94  |   95  | 
|   95   const SecurityStateModel* model = |   96   const ChromeSecurityStateModelClient* model_client = | 
|   96       SecurityStateModel::FromWebContents(web_contents); |   97       ChromeSecurityStateModelClient::FromWebContents(web_contents); | 
|   97   if (model && |   98   if (model_client && | 
|   98       model->GetSecurityInfo().security_level == |   99       model_client->GetSecurityInfo().security_level == | 
|   99           SecurityStateModel::SECURITY_ERROR) |  100           SecurityStateModel::SECURITY_ERROR) | 
|  100     return true; |  101     return true; | 
|  101  |  102  | 
|  102   GURL launch_url = AppLaunchInfo::GetLaunchWebURL(extension); |  103   GURL launch_url = AppLaunchInfo::GetLaunchWebURL(extension); | 
|  103   return !(IsSameOriginOrMoreSecure(launch_url, |  104   return !(IsSameOriginOrMoreSecure(launch_url, | 
|  104                                     web_contents->GetVisibleURL()) && |  105                                     web_contents->GetVisibleURL()) && | 
|  105            IsSameOriginOrMoreSecure(launch_url, |  106            IsSameOriginOrMoreSecure(launch_url, | 
|  106                                     web_contents->GetLastCommittedURL())); |  107                                     web_contents->GetLastCommittedURL())); | 
|  107 } |  108 } | 
|  108  |  109  | 
|  109 void HostedAppBrowserController::UpdateLocationBarVisibility( |  110 void HostedAppBrowserController::UpdateLocationBarVisibility( | 
|  110     bool animate) const { |  111     bool animate) const { | 
|  111   if (!SupportsLocationBar()) |  112   if (!SupportsLocationBar()) | 
|  112     return; |  113     return; | 
|  113  |  114  | 
|  114   browser_->window()->GetLocationBar()->UpdateLocationBarVisibility( |  115   browser_->window()->GetLocationBar()->UpdateLocationBarVisibility( | 
|  115       ShouldShowLocationBar(), animate); |  116       ShouldShowLocationBar(), animate); | 
|  116 } |  117 } | 
|  117  |  118  | 
|  118 }  // namespace extensions |  119 }  // namespace extensions | 
| OLD | NEW |