[SCM] WebKit Debian packaging branch, debian/unstable, updated. debian/1.1.15-1-40151-g37bb677

hyatt hyatt at 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Sat Sep 26 06:49:28 UTC 2009


The following commit has been merged in the debian/unstable branch:
commit 1f9f4febabe3c3f3cd69684df59dacc4910175e1
Author: hyatt <hyatt at 268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Mon Oct 14 23:23:18 2002 +0000

    	Really fixing zeldman.com this time.  This disabling stuff
    	is complicated! :)
    
            * khtml/html/html_headimpl.cpp:
            (HTMLLinkElementImpl::parseAttribute):
            (HTMLLinkElementImpl::setStyleSheet):
            (HTMLLinkElementImpl::sheetLoaded):
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2318 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebCore/ChangeLog-2002-12-03 b/WebCore/ChangeLog-2002-12-03
index 088346c..f4bee39 100644
--- a/WebCore/ChangeLog-2002-12-03
+++ b/WebCore/ChangeLog-2002-12-03
@@ -1,5 +1,15 @@
 2002-10-14  David Hyatt  <hyatt at apple.com>
 
+	Really fixing zeldman.com this time.  This disabling stuff
+	is complicated! :)
+	
+        * khtml/html/html_headimpl.cpp:
+        (HTMLLinkElementImpl::parseAttribute):
+        (HTMLLinkElementImpl::setStyleSheet):
+        (HTMLLinkElementImpl::sheetLoaded):
+
+2002-10-14  David Hyatt  <hyatt at apple.com>
+
 	Stop the insanity.  Make sure that a sheet that is disabled
 	while it is still loading is removed from the doc's list
 	of pending sheets (for FOUC checks).
diff --git a/WebCore/ChangeLog-2003-10-25 b/WebCore/ChangeLog-2003-10-25
index 088346c..f4bee39 100644
--- a/WebCore/ChangeLog-2003-10-25
+++ b/WebCore/ChangeLog-2003-10-25
@@ -1,5 +1,15 @@
 2002-10-14  David Hyatt  <hyatt at apple.com>
 
+	Really fixing zeldman.com this time.  This disabling stuff
+	is complicated! :)
+	
+        * khtml/html/html_headimpl.cpp:
+        (HTMLLinkElementImpl::parseAttribute):
+        (HTMLLinkElementImpl::setStyleSheet):
+        (HTMLLinkElementImpl::sheetLoaded):
+
+2002-10-14  David Hyatt  <hyatt at apple.com>
+
 	Stop the insanity.  Make sure that a sheet that is disabled
 	while it is still loading is removed from the doc's list
 	of pending sheets (for FOUC checks).
diff --git a/WebCore/ChangeLog-2005-08-23 b/WebCore/ChangeLog-2005-08-23
index 088346c..f4bee39 100644
--- a/WebCore/ChangeLog-2005-08-23
+++ b/WebCore/ChangeLog-2005-08-23
@@ -1,5 +1,15 @@
 2002-10-14  David Hyatt  <hyatt at apple.com>
 
+	Really fixing zeldman.com this time.  This disabling stuff
+	is complicated! :)
+	
+        * khtml/html/html_headimpl.cpp:
+        (HTMLLinkElementImpl::parseAttribute):
+        (HTMLLinkElementImpl::setStyleSheet):
+        (HTMLLinkElementImpl::sheetLoaded):
+
+2002-10-14  David Hyatt  <hyatt at apple.com>
+
 	Stop the insanity.  Make sure that a sheet that is disabled
 	while it is still loading is removed from the doc's list
 	of pending sheets (for FOUC checks).
diff --git a/WebCore/khtml/html/html_headimpl.cpp b/WebCore/khtml/html/html_headimpl.cpp
index 823df04..67ebc38 100644
--- a/WebCore/khtml/html/html_headimpl.cpp
+++ b/WebCore/khtml/html/html_headimpl.cpp
@@ -150,9 +150,27 @@ void HTMLLinkElementImpl::parseAttribute(AttributeImpl *attr)
         int oldDisabledState = m_disabledState;
         m_disabledState = (attr->val() != 0) ? 2 : 1;
         if (oldDisabledState != m_disabledState) {
-            if (isLoading() && m_disabledState == 2 && (oldDisabledState == 1 || !isAlternate()))
+            // If we change the disabled state while the sheet is still loading, then we have to
+            // perform two checks:
+            // Check #1: If the sheet becomes disabled while it was loading, and if it was either
+            // a main sheet or a sheet that was previously enabled via script, then we need
+            // to remove it from the list of pending sheets.
+            if (isLoading() && m_disabledState == 2 && (!m_alternate || oldDisabledState == 1))
                 getDocument()->stylesheetLoaded();
-            process();
+                
+            // Check #2: An alternate sheet becomes enabled while it is still loading.
+            if (isLoading() && m_alternate && m_disabledState == 1)
+                getDocument()->addPendingSheet();
+                
+            // If the sheet is already loading just bail.
+            if (isLoading())
+                break;
+            
+            // Load the sheet, since it's never been loaded before.
+            if (!m_sheet && m_disabledState == 1)
+                process();
+            else
+                getDocument()->updateStyleSelector(); // Update the style selector.
         }
         break;
     }
@@ -246,7 +264,7 @@ void HTMLLinkElementImpl::setStyleSheet(const DOM::DOMString &url, const DOM::DO
     m_loading = false;
 
     // Tell the doc about the sheet.
-    if (!isLoading() && m_sheet && !isAlternate())
+    if (!isLoading() && m_sheet && !isDisabled() && !isAlternate())
         getDocument()->stylesheetLoaded();
 }
 
@@ -261,7 +279,7 @@ bool HTMLLinkElementImpl::isLoading() const
 
 void HTMLLinkElementImpl::sheetLoaded()
 {
-    if (!isLoading() && !isAlternate())
+    if (!isLoading() && !isDisabled() && !isAlternate())
         getDocument()->stylesheetLoaded();
 }
 

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list