webengine/osswebengine/WebCore/loader/FrameLoader.cpp
changeset 65 5bfc169077b2
parent 38 6297cdf66332
child 68 92a765b5b3e7
equal deleted inserted replaced
42:d39add9822e2 65:5bfc169077b2
   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,