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 726 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
737 { | 737 { |
738 for (Frame* ancestor = m_frame; ancestor; ancestor = ancestor->tree()->paren
t()) { | 738 for (Frame* ancestor = m_frame; ancestor; ancestor = ancestor->tree()->paren
t()) { |
739 if (!ancestor->loader()->m_isComplete) | 739 if (!ancestor->loader()->m_isComplete) |
740 return false; | 740 return false; |
741 } | 741 } |
742 return true; | 742 return true; |
743 } | 743 } |
744 | 744 |
745 void FrameLoader::checkCompleted() | 745 void FrameLoader::checkCompleted() |
746 { | 746 { |
| 747 RefPtr<Frame> protect(m_frame); |
747 m_shouldCallCheckCompleted = false; | 748 m_shouldCallCheckCompleted = false; |
748 | 749 |
749 if (m_frame->view()) | 750 if (m_frame->view()) |
750 m_frame->view()->handleLoadCompleted(); | 751 m_frame->view()->handleLoadCompleted(); |
751 | 752 |
752 // Have we completed before? | 753 // Have we completed before? |
753 if (m_isComplete) | 754 if (m_isComplete) |
754 return; | 755 return; |
755 | 756 |
756 // Are we still parsing? | 757 // Are we still parsing? |
(...skipping 10 matching lines...) Expand all Loading... |
767 | 768 |
768 // Any frame that hasn't completed yet? | 769 // Any frame that hasn't completed yet? |
769 if (!allChildrenAreComplete()) | 770 if (!allChildrenAreComplete()) |
770 return; | 771 return; |
771 | 772 |
772 // OK, completed. | 773 // OK, completed. |
773 m_isComplete = true; | 774 m_isComplete = true; |
774 m_requestedHistoryItem = 0; | 775 m_requestedHistoryItem = 0; |
775 m_frame->document()->setReadyState(Document::Complete); | 776 m_frame->document()->setReadyState(Document::Complete); |
776 | 777 |
777 RefPtr<Frame> protect(m_frame); | |
778 checkCallImplicitClose(); // if we didn't do it before | 778 checkCallImplicitClose(); // if we didn't do it before |
779 | 779 |
780 m_frame->navigationScheduler()->startTimer(); | 780 m_frame->navigationScheduler()->startTimer(); |
781 | 781 |
782 completed(); | 782 completed(); |
783 if (m_frame->page()) | 783 if (m_frame->page()) |
784 checkLoadComplete(); | 784 checkLoadComplete(); |
785 | 785 |
786 if (m_frame->view()) | 786 if (m_frame->view()) |
787 m_frame->view()->handleLoadCompleted(); | 787 m_frame->view()->handleLoadCompleted(); |
(...skipping 2610 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3398 FloatRect newWindowRect = DOMWindow::adjustWindowRect(page, windowRect); | 3398 FloatRect newWindowRect = DOMWindow::adjustWindowRect(page, windowRect); |
3399 | 3399 |
3400 page->chrome()->setWindowRect(newWindowRect); | 3400 page->chrome()->setWindowRect(newWindowRect); |
3401 page->chrome()->show(); | 3401 page->chrome()->show(); |
3402 | 3402 |
3403 created = true; | 3403 created = true; |
3404 return frame; | 3404 return frame; |
3405 } | 3405 } |
3406 | 3406 |
3407 } // namespace WebCore | 3407 } // namespace WebCore |
OLD | NEW |