172a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen// Copyright (c) 2011 The Chromium Authors. All rights reserved. 2c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch// Use of this source code is governed by a BSD-style license that can be 3c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch// found in the LICENSE file. 4c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 572a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen#include "chrome/browser/ui/views/location_bar/click_handler.h" 6c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 721d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen#include "chrome/browser/ui/tab_contents/tab_contents_wrapper.h" 821d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen#include "chrome/browser/ui/views/location_bar/location_bar_view.h" 9dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen#include "content/browser/tab_contents/navigation_controller.h" 10dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen#include "content/browser/tab_contents/tab_contents.h" 11c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#include "views/view.h" 12c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 13c407dc5cd9bdc5668497f21b26b09d988ab439deBen MurdochClickHandler::ClickHandler(const views::View* owner, 14dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen LocationBarView* location_bar) 15c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch : owner_(owner), 16c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch location_bar_(location_bar) { 17c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch} 18c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 19ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsenvoid ClickHandler::OnMouseReleased(const views::MouseEvent& event) { 20ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen if (!owner_->HitTest(event.location())) 21c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch return; 22c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 23c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch // Do not show page info if the user has been editing the location 24c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch // bar, or the location bar is at the NTP. 25c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch if (location_bar_->location_entry()->IsEditingOrEmpty()) 26c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch return; 27c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 28201ade2fbba22bfb27ae029f4d23fca6ded109a0Ben Murdoch TabContents* tab = location_bar_->GetTabContentsWrapper()->tab_contents(); 29c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch NavigationEntry* nav_entry = tab->controller().GetActiveEntry(); 30c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch if (!nav_entry) { 31c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch NOTREACHED(); 32c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch return; 33c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch } 34c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch tab->ShowPageInfo(nav_entry->url(), nav_entry->ssl(), true); 35c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch} 36