| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All rights reserv
ed. | 2 * Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All rights reserv
ed. |
| 3 * Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies) | 3 * Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies) |
| 4 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. (http://www.t
orchmobile.com/) | 4 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. (http://www.t
orchmobile.com/) |
| 5 * Copyright (C) 2008 Alp Toker <alp@atoker.com> | 5 * Copyright (C) 2008 Alp Toker <alp@atoker.com> |
| 6 * Copyright (C) Research In Motion Limited 2009. All rights reserved. | 6 * Copyright (C) Research In Motion Limited 2009. All rights reserved. |
| 7 * Copyright (C) 2011 Kris Jordan <krisjordan@gmail.com> | 7 * Copyright (C) 2011 Kris Jordan <krisjordan@gmail.com> |
| 8 * Copyright (C) 2011 Google Inc. All rights reserved. | 8 * Copyright (C) 2011 Google Inc. All rights reserved. |
| 9 * | 9 * |
| 10 * Redistribution and use in source and binary forms, with or without | 10 * Redistribution and use in source and binary forms, with or without |
| (...skipping 453 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 464 } | 464 } |
| 465 | 465 |
| 466 if (m_provisionalItem && isBackForwardLoadType(m_loadType)) | 466 if (m_provisionalItem && isBackForwardLoadType(m_loadType)) |
| 467 m_frame->document()->setStateForNewFormElements(m_provisionalItem->docum
entState()); | 467 m_frame->document()->setStateForNewFormElements(m_provisionalItem->docum
entState()); |
| 468 | 468 |
| 469 client()->didCreateNewDocument(); | 469 client()->didCreateNewDocument(); |
| 470 } | 470 } |
| 471 | 471 |
| 472 void FrameLoader::finishedParsing() | 472 void FrameLoader::finishedParsing() |
| 473 { | 473 { |
| 474 if (m_stateMachine.creatingInitialEmptyDocument()) | 474 if (m_stateMachine.creatingInitialEmptyDocument() || !m_documentLoader) |
| 475 return; | 475 return; |
| 476 | 476 |
| 477 // This can be called from the LocalFrame's destructor, in which case we sho
uldn't protect ourselves | 477 RefPtrWillBeRawPtr<LocalFrame> protect(m_frame); |
| 478 // because doing so will cause us to re-enter the destructor when protector
goes out of scope. | |
| 479 // Null-checking the FrameView indicates whether or not we're in the destruc
tor. | |
| 480 RefPtrWillBeRawPtr<LocalFrame> protect(m_frame->view() ? m_frame.get() : nul
lptr); | |
| 481 | |
| 482 m_progressTracker->finishedParsing(); | 478 m_progressTracker->finishedParsing(); |
| 483 | 479 client()->dispatchDidFinishDocumentLoad(m_documentLoader->isCommittedButEmpt
y()); |
| 484 if (client()) | |
| 485 client()->dispatchDidFinishDocumentLoad(m_documentLoader->isCommittedBut
Empty()); | |
| 486 | |
| 487 checkCompleted(); | 480 checkCompleted(); |
| 488 | 481 |
| 489 if (!m_frame->view()) | 482 if (!m_documentLoader) |
| 490 return; // We are being destroyed by something checkCompleted called. | 483 return; // We are being destroyed by something checkCompleted called. |
| 491 | 484 |
| 492 // Check if the scrollbars are really needed for the content. | 485 // Check if the scrollbars are really needed for the content. |
| 493 // If not, remove them, relayout, and repaint. | 486 // If not, remove them, relayout, and repaint. |
| 494 m_frame->view()->restoreScrollbar(); | 487 m_frame->view()->restoreScrollbar(); |
| 495 processFragment(m_frame->document()->url(), NavigationToDifferentDocument); | 488 processFragment(m_frame->document()->url(), NavigationToDifferentDocument); |
| 496 } | 489 } |
| 497 | 490 |
| 498 static bool allDescendantsAreComplete(Frame* frame) | 491 static bool allDescendantsAreComplete(Frame* frame) |
| 499 { | 492 { |
| (...skipping 1014 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1514 // FIXME: We need a way to propagate insecure requests policy flags to | 1507 // FIXME: We need a way to propagate insecure requests policy flags to |
| 1515 // out-of-process frames. For now, we'll always use default behavior. | 1508 // out-of-process frames. For now, we'll always use default behavior. |
| 1516 if (!parentFrame->isLocalFrame()) | 1509 if (!parentFrame->isLocalFrame()) |
| 1517 return nullptr; | 1510 return nullptr; |
| 1518 | 1511 |
| 1519 ASSERT(toLocalFrame(parentFrame)->document()); | 1512 ASSERT(toLocalFrame(parentFrame)->document()); |
| 1520 return toLocalFrame(parentFrame)->document()->insecureNavigationsToUpgrade()
; | 1513 return toLocalFrame(parentFrame)->document()->insecureNavigationsToUpgrade()
; |
| 1521 } | 1514 } |
| 1522 | 1515 |
| 1523 } // namespace blink | 1516 } // namespace blink |
| OLD | NEW |