[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