[SCM] WebKit Debian packaging branch, webkit-1.1, updated. upstream/1.1.19-706-ge5415e9

ap at apple.com ap at apple.com
Thu Feb 4 21:32:47 UTC 2010


The following commit has been merged in the webkit-1.1 branch:
commit d43d3d49f93c76412de762938ef56890d179d6cf
Author: ap at apple.com <ap at apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Fri Jan 29 22:26:59 2010 +0000

            Reviewed by Dan Bernstein.
    
            <rdar://problem/7441982> REGRESSION (TOT): Adobe CS4: Installer alerts are displayed as
            blank windows
    
            We probably shouldn't be deferring loads below modal dialogs and alerts, because that's not
            what being modal means. But making such a change for general Web content would require fixes
            in other parts of code, which I'm not ready to implement right now, so making it application
            specific.
    
    WebCore:
            * page/Page.cpp: (WebCore::Page::setDefersLoading): Do nothing if load deferring is not
            enabled in page settings.
    
            * WebCore.base.exp:
            * page/Settings.cpp:
            (WebCore::Settings::Settings):
            (WebCore::Settings::setLoadDeferringEnabled):
            * page/Settings.h: (WebCore::Settings::loadDeferringEnabled):
            Add the ability for client to disable page deferring (still enabled by default).
    
            * platform/mac/RuntimeApplicationChecks.h:
            * platform/mac/RuntimeApplicationChecks.mm: (WebCore::applicationIsAdobeInstaller):
            Added a bundle ID test for Adobe installer.
    
    WebKit/mac:
            * WebView/WebView.mm:
            (shouldEnableLoadDeferring): Load deferring is enabled unless the application is Adobe
            Installer.
            (-[WebView _preferencesChangedNotification:]): Call setLoadDeferringEnabled().
    
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@54081 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index ae9fd9f..9529bc7 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,29 @@
+2010-01-29  Alexey Proskuryakov  <ap at apple.com>
+
+        Reviewed by Dan Bernstein.
+
+        <rdar://problem/7441982> REGRESSION (TOT): Adobe CS4: Installer alerts are displayed as
+        blank windows
+
+        We probably shouldn't be deferring loads below modal dialogs and alerts, because that's not
+        what being modal means. But making such a change for general Web content would require fixes
+        in other parts of code, which I'm not ready to implement right now, so making it application
+        specific.
+
+        * page/Page.cpp: (WebCore::Page::setDefersLoading): Do nothing if load deferring is not
+        enabled in page settings.
+
+        * WebCore.base.exp:
+        * page/Settings.cpp:
+        (WebCore::Settings::Settings):
+        (WebCore::Settings::setLoadDeferringEnabled):
+        * page/Settings.h: (WebCore::Settings::loadDeferringEnabled):
+        Add the ability for client to disable page deferring (still enabled by default).
+
+        * platform/mac/RuntimeApplicationChecks.h:
+        * platform/mac/RuntimeApplicationChecks.mm: (WebCore::applicationIsAdobeInstaller):
+        Added a bundle ID test for Adobe installer.
+
 2010-01-29  Steve Falkenburg  <sfalken at apple.com>
 
         Build fix.
diff --git a/WebCore/WebCore.base.exp b/WebCore/WebCore.base.exp
index 8eabfae..5b013e7 100644
--- a/WebCore/WebCore.base.exp
+++ b/WebCore/WebCore.base.exp
@@ -461,6 +461,7 @@ __ZN7WebCore25PluginMainThreadScheduler9schedulerEv
 __ZN7WebCore26CSSMutableStyleDeclarationC1Ev
 __ZN7WebCore26NetscapePlugInStreamLoader6createEPNS_5FrameEPNS_32NetscapePlugInStreamLoaderClientE
 __ZN7WebCore26usesTestModeFocusRingColorEv
+__ZN7WebCore27applicationIsAdobeInstallerEv
 __ZN7WebCore29isCharacterSmartReplaceExemptEib
 __ZN7WebCore29setUsesTestModeFocusRingColorEb
 __ZN7WebCore31CrossOriginPreflightResultCache5emptyEv
@@ -646,6 +647,7 @@ __ZN7WebCore8Settings22setSansSerifFontFamilyERKNS_12AtomicStringE
 __ZN7WebCore8Settings22setShowsURLsInToolTipsEb
 __ZN7WebCore8Settings23setDefaultFixedFontSizeEi
 __ZN7WebCore8Settings23setEditableLinkBehaviorENS_20EditableLinkBehaviorE
+__ZN7WebCore8Settings23setLoadDeferringEnabledEb
 __ZN7WebCore8Settings23setNeedsTigerMailQuirksEb
 __ZN7WebCore8Settings23setPluginAllowedRunTimeEj
 __ZN7WebCore8Settings23setUsesEncodingDetectorEb
diff --git a/WebCore/page/Page.cpp b/WebCore/page/Page.cpp
index 643da9d..1704bfb 100644
--- a/WebCore/page/Page.cpp
+++ b/WebCore/page/Page.cpp
@@ -478,6 +478,9 @@ const VisibleSelection& Page::selection() const
 
 void Page::setDefersLoading(bool defers)
 {
+    if (!m_settings->loadDeferringEnabled())
+        return;
+
     if (defers == m_defersLoading)
         return;
 
diff --git a/WebCore/page/Settings.cpp b/WebCore/page/Settings.cpp
index b5d5e04..87737ee 100644
--- a/WebCore/page/Settings.cpp
+++ b/WebCore/page/Settings.cpp
@@ -122,6 +122,7 @@ Settings::Settings(Page* page)
     , m_experimentalNotificationsEnabled(false)
     , m_webGLEnabled(false)
     , m_geolocationEnabled(true)
+    , m_loadDeferringEnabled(true)
 {
     // A Frame may not have been created yet, so we initialize the AtomicString 
     // hash before trying to use it.
@@ -556,4 +557,9 @@ void Settings::setGeolocationEnabled(bool enabled)
     m_geolocationEnabled = enabled;
 }
 
+void Settings::setLoadDeferringEnabled(bool enabled)
+{
+    m_loadDeferringEnabled = enabled;
+}
+
 } // namespace WebCore
diff --git a/WebCore/page/Settings.h b/WebCore/page/Settings.h
index 181eb50..73c547e 100644
--- a/WebCore/page/Settings.h
+++ b/WebCore/page/Settings.h
@@ -281,6 +281,9 @@ namespace WebCore {
         void setGeolocationEnabled(bool);
         bool geolocationEnabled() const { return m_geolocationEnabled; }
 
+        void setLoadDeferringEnabled(bool);
+        bool loadDeferringEnabled() const { return m_loadDeferringEnabled; }
+
     private:
         Page* m_page;
         
@@ -352,6 +355,7 @@ namespace WebCore {
         bool m_experimentalNotificationsEnabled : 1;
         bool m_webGLEnabled : 1;
         bool m_geolocationEnabled : 1;
+        bool m_loadDeferringEnabled : 1;
 
 #if USE(SAFARI_THEME)
         static bool gShouldPaintNativeControls;
diff --git a/WebCore/platform/mac/RuntimeApplicationChecks.h b/WebCore/platform/mac/RuntimeApplicationChecks.h
index f9c7079..24b8ae1 100644
--- a/WebCore/platform/mac/RuntimeApplicationChecks.h
+++ b/WebCore/platform/mac/RuntimeApplicationChecks.h
@@ -31,6 +31,7 @@ namespace WebCore {
 bool applicationIsAppleMail();
 bool applicationIsSafari();
 bool applicationIsMicrosoftMessenger();
+bool applicationIsAdobeInstaller();
 
 } // namespace WebCore
 
diff --git a/WebCore/platform/mac/RuntimeApplicationChecks.mm b/WebCore/platform/mac/RuntimeApplicationChecks.mm
index a3c4aa5..bcc1dc9 100644
--- a/WebCore/platform/mac/RuntimeApplicationChecks.mm
+++ b/WebCore/platform/mac/RuntimeApplicationChecks.mm
@@ -47,4 +47,10 @@ bool applicationIsMicrosoftMessenger()
     return isMicrosoftMessenger;
 }
 
+bool applicationIsAdobeInstaller()
+{
+    static bool isAdobeInstaller = [[[NSBundle mainBundle] bundleIdentifier] isEqualToString:@"com.adobe.Installers.Setup"];
+    return isAdobeInstaller;
+}
+
 } // namespace WebCore
diff --git a/WebKit/mac/ChangeLog b/WebKit/mac/ChangeLog
index 8b638a0..b62f3ca 100644
--- a/WebKit/mac/ChangeLog
+++ b/WebKit/mac/ChangeLog
@@ -1,3 +1,15 @@
+2010-01-29  Alexey Proskuryakov  <ap at apple.com>
+
+        Reviewed by Dan Bernstein.
+
+        <rdar://problem/7441982> REGRESSION (TOT): Adobe CS4: Installer alerts are displayed as
+        blank windows
+
+        * WebView/WebView.mm:
+        (shouldEnableLoadDeferring): Load deferring is enabled unless the application is Adobe
+        Installer.
+        (-[WebView _preferencesChangedNotification:]): Call setLoadDeferringEnabled().
+
 2010-01-28  Enrica Casucci  <enrica at apple.com>
 
         Reviewed by Maciej Stachowiak.
diff --git a/WebKit/mac/WebView/WebView.mm b/WebKit/mac/WebView/WebView.mm
index a16e032..e583bb5 100644
--- a/WebKit/mac/WebView/WebView.mm
+++ b/WebKit/mac/WebView/WebView.mm
@@ -558,6 +558,11 @@ static bool runningTigerMail()
     return NO;    
 }
 
+static bool shouldEnableLoadDeferring()
+{
+    return !applicationIsAdobeInstaller();
+}
+
 - (void)_dispatchPendingLoadRequests
 {
     cache()->loader()->servePendingRequests();
@@ -1328,6 +1333,7 @@ static bool fastDocumentTeardownEnabled()
     settings->setShowRepaintCounter([preferences showRepaintCounter]);
     settings->setPluginAllowedRunTime([preferences pluginAllowedRunTime]);
     settings->setWebGLEnabled([preferences webGLEnabled]);
+    settings->setLoadDeferringEnabled(shouldEnableLoadDeferring());
 }
 
 static inline IMP getMethod(id o, SEL s)

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list