Chromium Code Reviews| 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 "content/renderer/render_frame_impl.h" | 5 #include "content/renderer/render_frame_impl.h" |
| 6 | 6 |
| 7 #include <map> | 7 #include <map> |
| 8 #include <string> | 8 #include <string> |
| 9 #include <utility> | 9 #include <utility> |
| 10 #include <vector> | 10 #include <vector> |
| (...skipping 5512 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 5523 history_load_type = request_params.is_same_document_history_load | 5523 history_load_type = request_params.is_same_document_history_load |
| 5524 ? blink::WebHistorySameDocumentLoad | 5524 ? blink::WebHistorySameDocumentLoad |
| 5525 : blink::WebHistoryDifferentDocumentLoad; | 5525 : blink::WebHistoryDifferentDocumentLoad; |
| 5526 load_type = request_params.is_history_navigation_in_new_child | 5526 load_type = request_params.is_history_navigation_in_new_child |
| 5527 ? blink::WebFrameLoadType::InitialHistoryLoad | 5527 ? blink::WebFrameLoadType::InitialHistoryLoad |
| 5528 : blink::WebFrameLoadType::BackForward; | 5528 : blink::WebFrameLoadType::BackForward; |
| 5529 should_load_request = true; | 5529 should_load_request = true; |
| 5530 | 5530 |
| 5531 // If this is marked as a same document load but we haven't committed | 5531 // If this is marked as a same document load but we haven't committed |
| 5532 // anything, treat it as a new load. The browser shouldn't let this | 5532 // anything, treat it as a new load. The browser shouldn't let this |
| 5533 // happen. | 5533 // happen. Also treat it as a new load, if the DSN in |
| 5534 // TODO(creis): Add a similar check if the DSN doesn't match, and add a | 5534 // |current_history_item_| and the item navigated to mismatch. |
| 5535 // NOTREACHED when we're confident this won't happen. | 5535 if (history_load_type == blink::WebHistorySameDocumentLoad) { |
| 5536 if (history_load_type == blink::WebHistorySameDocumentLoad && | 5536 if (current_history_item_.isNull()) { |
| 5537 current_history_item_.isNull()) { | 5537 history_load_type = blink::WebHistoryDifferentDocumentLoad; |
| 5538 history_load_type = blink::WebHistoryDifferentDocumentLoad; | 5538 } else if (current_history_item_.documentSequenceNumber() != |
| 5539 item_for_history_navigation.documentSequenceNumber()) { | |
| 5540 history_load_type = blink::WebHistoryDifferentDocumentLoad; | |
| 5541 NOTREACHED(); | |
|
Charlie Reis
2016/08/22 12:20:21
I don't think we can have a NOTREACHED in this cas
| |
| 5542 } | |
| 5539 } | 5543 } |
| 5540 | 5544 |
| 5541 // If this navigation is to a history item for a new child frame, we may | 5545 // If this navigation is to a history item for a new child frame, we may |
| 5542 // want to ignore it in some cases. If a Javascript navigation (i.e., | 5546 // want to ignore it in some cases. If a Javascript navigation (i.e., |
| 5543 // client redirect) interrupted it and has either been scheduled, | 5547 // client redirect) interrupted it and has either been scheduled, |
| 5544 // started loading, or has committed, we should ignore the history item. | 5548 // started loading, or has committed, we should ignore the history item. |
| 5545 // Similarly, if the history item just says to stay on about:blank, | 5549 // Similarly, if the history item just says to stay on about:blank, |
| 5546 // don't load it again, which might clobber injected content. | 5550 // don't load it again, which might clobber injected content. |
| 5547 bool interrupted_by_client_redirect = | 5551 bool interrupted_by_client_redirect = |
| 5548 frame_->isNavigationScheduledWithin(0) || | 5552 frame_->isNavigationScheduledWithin(0) || |
| (...skipping 794 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 6343 // event target. Potentially a Pepper plugin will receive the event. | 6347 // event target. Potentially a Pepper plugin will receive the event. |
| 6344 // In order to tell whether a plugin gets the last mouse event and which it | 6348 // In order to tell whether a plugin gets the last mouse event and which it |
| 6345 // is, we set |pepper_last_mouse_event_target_| to null here. If a plugin gets | 6349 // is, we set |pepper_last_mouse_event_target_| to null here. If a plugin gets |
| 6346 // the event, it will notify us via DidReceiveMouseEvent() and set itself as | 6350 // the event, it will notify us via DidReceiveMouseEvent() and set itself as |
| 6347 // |pepper_last_mouse_event_target_|. | 6351 // |pepper_last_mouse_event_target_|. |
| 6348 pepper_last_mouse_event_target_ = nullptr; | 6352 pepper_last_mouse_event_target_ = nullptr; |
| 6349 #endif | 6353 #endif |
| 6350 } | 6354 } |
| 6351 | 6355 |
| 6352 } // namespace content | 6356 } // namespace content |
| OLD | NEW |