| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2006, 2007, 2008, 2009 Apple Inc. All rights reserved. | 2 * Copyright (C) 2006, 2007, 2008, 2009 Apple Inc. All rights reserved. |
| 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 * | 5 * |
| 6 * Redistribution and use in source and binary forms, with or without | 6 * Redistribution and use in source and binary forms, with or without |
| 7 * modification, are permitted provided that the following conditions | 7 * modification, are permitted provided that the following conditions |
| 8 * are met: | 8 * are met: |
| 9 * | 9 * |
| 10 * 1. Redistributions of source code must retain the above copyright | 10 * 1. Redistributions of source code must retain the above copyright |
| (...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 100 ASSERT(m_currentItem); | 100 ASSERT(m_currentItem); |
| 101 | 101 |
| 102 // FIXME: As the ASSERT attests, it seems we should always have a currentIte
m here. | 102 // FIXME: As the ASSERT attests, it seems we should always have a currentIte
m here. |
| 103 // One counterexample is <rdar://problem/4917290> | 103 // One counterexample is <rdar://problem/4917290> |
| 104 // For now, to cover this issue in release builds, there is no technical har
m to returning | 104 // For now, to cover this issue in release builds, there is no technical har
m to returning |
| 105 // early and from a user standpoint - as in the above radar - the previous p
age load failed | 105 // early and from a user standpoint - as in the above radar - the previous p
age load failed |
| 106 // so there *is* no scroll or view state to restore! | 106 // so there *is* no scroll or view state to restore! |
| 107 if (!m_currentItem) | 107 if (!m_currentItem) |
| 108 return; | 108 return; |
| 109 | 109 |
| 110 // FIXME: There is some scrolling related work that needs to happen whenever
a page goes into the | |
| 111 // page cache and similar work that needs to occur when it comes out. This i
s where we do the work | |
| 112 // that needs to happen when we exit, and the work that needs to happen when
we enter is in | |
| 113 // Document::setIsInPageCache(bool). It would be nice if there was more symm
etry in these spots. | |
| 114 // https://bugs.webkit.org/show_bug.cgi?id=98698 | |
| 115 if (FrameView* view = m_frame->view()) { | 110 if (FrameView* view = m_frame->view()) { |
| 116 Page* page = m_frame->page(); | 111 Page* page = m_frame->page(); |
| 117 if (page && page->mainFrame() == m_frame) { | 112 if (page && page->mainFrame() == m_frame) { |
| 118 if (ScrollingCoordinator* scrollingCoordinator = page->scrollingCoor
dinator()) | 113 if (ScrollingCoordinator* scrollingCoordinator = page->scrollingCoor
dinator()) |
| 119 scrollingCoordinator->frameViewRootLayerDidChange(view); | 114 scrollingCoordinator->frameViewRootLayerDidChange(view); |
| 120 } | 115 } |
| 121 | 116 |
| 122 if (!view->wasScrolledByUser()) { | 117 if (!view->wasScrolledByUser()) { |
| 123 if (page && page->mainFrame() == m_frame && m_currentItem->pageScale
Factor()) | 118 if (page && page->mainFrame() == m_frame && m_currentItem->pageScale
Factor()) |
| 124 page->setPageScaleFactor(m_currentItem->pageScaleFactor(), m_cur
rentItem->scrollPoint()); | 119 page->setPageScaleFactor(m_currentItem->pageScaleFactor(), m_cur
rentItem->scrollPoint()); |
| (...skipping 657 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 782 m_currentItem->setURLString(urlString); | 777 m_currentItem->setURLString(urlString); |
| 783 m_currentItem->setTitle(title); | 778 m_currentItem->setTitle(title); |
| 784 m_currentItem->setStateObject(stateObject); | 779 m_currentItem->setStateObject(stateObject); |
| 785 m_currentItem->setFormData(0); | 780 m_currentItem->setFormData(0); |
| 786 m_currentItem->setFormContentType(String()); | 781 m_currentItem->setFormContentType(String()); |
| 787 | 782 |
| 788 ASSERT(m_frame->page()); | 783 ASSERT(m_frame->page()); |
| 789 } | 784 } |
| 790 | 785 |
| 791 } // namespace WebCore | 786 } // namespace WebCore |
| OLD | NEW |