224 , m_isRunningScript(false) |
224 , m_isRunningScript(false) |
225 , m_didCallImplicitClose(false) |
225 , m_didCallImplicitClose(false) |
226 , m_wasUnloadEventEmitted(false) |
226 , m_wasUnloadEventEmitted(false) |
227 , m_isComplete(false) |
227 , m_isComplete(false) |
228 , m_isLoadingMainResource(false) |
228 , m_isLoadingMainResource(false) |
229 , m_mayLoadIconLater(false) |
|
230 , m_cancellingWithLoadInProgress(false) |
229 , m_cancellingWithLoadInProgress(false) |
231 , m_needsClear(false) |
230 , m_needsClear(false) |
232 , m_receivedData(false) |
231 , m_receivedData(false) |
233 , m_encodingWasChosenByUser(false) |
232 , m_encodingWasChosenByUser(false) |
234 , m_containsPlugIns(false) |
233 , m_containsPlugIns(false) |
1042 startIconLoader(); |
1041 startIconLoader(); |
1043 } |
1042 } |
1044 |
1043 |
1045 void FrameLoader::iconLoadDecisionAvailable() |
1044 void FrameLoader::iconLoadDecisionAvailable() |
1046 { |
1045 { |
|
1046 if (!m_mayLoadIconLater) |
|
1047 return; |
1047 LOG(IconDatabase, "FrameLoader %p was told a load decision is available for its icon", this); |
1048 LOG(IconDatabase, "FrameLoader %p was told a load decision is available for its icon", this); |
1048 if (m_mayLoadIconLater) { |
1049 startIconLoader(); |
1049 // Notfification came from iconDataBase to load the icon |
1050 m_mayLoadIconLater = false; |
1050 startIconLoader(); |
|
1051 m_mayLoadIconLater = false; |
|
1052 } else { |
|
1053 // Icon was specified in <link> tag with rel="icon" or rel="shortcut icon" property |
|
1054 if(m_iconLoader) |
|
1055 m_iconLoader->stopLoading(); // cancel previous loading state |
|
1056 startIconLoader(); |
|
1057 } |
|
1058 } |
1051 } |
1059 |
1052 |
1060 void FrameLoader::startIconLoader() |
1053 void FrameLoader::startIconLoader() |
1061 { |
1054 { |
1062 // FIXME: We kick off the icon loader when the frame is done receiving its main resource. |
1055 // FIXME: We kick off the icon loader when the frame is done receiving its main resource. |
1522 else { |
1515 else { |
1523 renderer = anchorNode->renderer(); |
1516 renderer = anchorNode->renderer(); |
1524 rect = anchorNode->getRect(); |
1517 rect = anchorNode->getRect(); |
1525 } |
1518 } |
1526 if (renderer) |
1519 if (renderer) |
1527 { |
1520 renderer->enclosingLayer()->scrollRectToVisible(rect, RenderLayer::gAlignToEdgeIfNeeded, RenderLayer::gAlignTopAlways); |
1528 if(!anchorNode) |
|
1529 { |
|
1530 renderer->enclosingLayer()->scrollRectToVisible(rect, RenderLayer::gAlignToEdgeIfNeeded, RenderLayer::gAlignToEdgeIfNeeded); |
|
1531 } |
|
1532 else |
|
1533 { |
|
1534 renderer->enclosingLayer()->scrollRectToVisible(rect, RenderLayer::gAlignToEdgeIfNeeded, RenderLayer::gAlignTopAlways); |
|
1535 } |
|
1536 |
|
1537 } |
|
1538 |
1521 |
1539 return true; |
1522 return true; |
1540 } |
1523 } |
1541 |
1524 |
1542 bool FrameLoader::requestObject(RenderPart* renderer, const String& url, const AtomicString& frameName, |
1525 bool FrameLoader::requestObject(RenderPart* renderer, const String& url, const AtomicString& frameName, |