Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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/website_settings/permission_bubble_manager.h" | 5 #include "chrome/browser/ui/website_settings/permission_bubble_manager.h" |
| 6 | 6 |
| 7 #include "base/command_line.h" | 7 #include "base/command_line.h" |
| 8 #include "base/metrics/user_metrics_action.h" | 8 #include "base/metrics/user_metrics_action.h" |
| 9 #include "chrome/browser/ui/website_settings/permission_bubble_request.h" | 9 #include "chrome/browser/ui/website_settings/permission_bubble_request.h" |
| 10 #include "chrome/common/chrome_switches.h" | 10 #include "chrome/common/chrome_switches.h" |
| (...skipping 255 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 266 const content::LoadCommittedDetails& details) { | 266 const content::LoadCommittedDetails& details) { |
| 267 // No permissions requests pending. | 267 // No permissions requests pending. |
| 268 if (request_url_.is_empty()) | 268 if (request_url_.is_empty()) |
| 269 return; | 269 return; |
| 270 | 270 |
| 271 // If we have navigated to a new url or reloaded the page... | 271 // If we have navigated to a new url or reloaded the page... |
| 272 // GetAsReferrer strips fragment and username/password, meaning | 272 // GetAsReferrer strips fragment and username/password, meaning |
| 273 // the navigation is really to the same page. | 273 // the navigation is really to the same page. |
| 274 if ((request_url_.GetAsReferrer() != | 274 if ((request_url_.GetAsReferrer() != |
| 275 web_contents()->GetLastCommittedURL().GetAsReferrer()) || | 275 web_contents()->GetLastCommittedURL().GetAsReferrer()) || |
| 276 details.type == content::NAVIGATION_TYPE_EXISTING_PAGE) { | 276 (details.type == content::NAVIGATION_TYPE_EXISTING_PAGE && |
| 277 !details.is_in_page)) { | |
|
mlamouri (slow - plz ping)
2015/08/04 11:56:38
Why not use ::DidNavigateAnyFrame() to merge this
Avi (use Gerrit)
2015/08/04 14:28:16
Because I don't know this code well, and I was try
hcarmona
2015/08/04 23:10:44
It looks like using GetAsReferrer to compare the r
Avi (use Gerrit)
2015/08/05 15:11:48
But that's different behavior. The bug calls out g
hcarmona
2015/08/05 18:51:04
Interesting. I didn't know there were cases where
| |
| 277 // Kill off existing bubble and cancel any pending requests. | 278 // Kill off existing bubble and cancel any pending requests. |
| 278 CancelPendingQueues(); | 279 CancelPendingQueues(); |
| 279 FinalizeBubble(); | 280 FinalizeBubble(); |
| 280 } | 281 } |
| 281 } | 282 } |
| 282 | 283 |
| 283 void PermissionBubbleManager::WebContentsDestroyed() { | 284 void PermissionBubbleManager::WebContentsDestroyed() { |
| 284 // If the web contents has been destroyed, treat the bubble as cancelled. | 285 // If the web contents has been destroyed, treat the bubble as cancelled. |
| 285 CancelPendingQueues(); | 286 CancelPendingQueues(); |
| 286 FinalizeBubble(); | 287 FinalizeBubble(); |
| (...skipping 181 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 468 case DENY_ALL: | 469 case DENY_ALL: |
| 469 Deny(); | 470 Deny(); |
| 470 break; | 471 break; |
| 471 case DISMISS: | 472 case DISMISS: |
| 472 Closing(); | 473 Closing(); |
| 473 break; | 474 break; |
| 474 case NONE: | 475 case NONE: |
| 475 NOTREACHED(); | 476 NOTREACHED(); |
| 476 } | 477 } |
| 477 } | 478 } |
| OLD | NEW |