summaryrefslogtreecommitdiffstats
path: root/chrome/app
diff options
context:
space:
mode:
authormark@chromium.org <mark@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-08-18 16:40:33 +0000
committermark@chromium.org <mark@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-08-18 16:40:33 +0000
commit1b5ffa6a5a0e5c33a8e4b97d2bef5d00c8759956 (patch)
tree07ee73bf2c38e8ced20d2079b108016dab28cb3a /chrome/app
parent800e98b5023419e30b768d22137e172280ff455f (diff)
downloadchromium_src-1b5ffa6a5a0e5c33a8e4b97d2bef5d00c8759956.zip
chromium_src-1b5ffa6a5a0e5c33a8e4b97d2bef5d00c8759956.tar.gz
chromium_src-1b5ffa6a5a0e5c33a8e4b97d2bef5d00c8759956.tar.bz2
Work around a ridiculous bug in ATS, a deprecated system framework.
ATS likes to write to memory it doesn't own on Mac OS X 10.7 ("Lion"). This happens in SendDeactivateFontsInContainerMessage, called by ATSFontDeactivate, used by Chrome. SendDeactivateFontsInContainerMessage has some really sloppy memory handling that can be avoided by making sure that a certain symbol, __CTFontManagerUnregisterFontForData, is available. Note that the system's CoreText framework has a _CTFontManagerUnregisterFontForData symbol, which is probably what ATS should be looking for, but that's actually an entirely different ridiculous bug in ATS. ATS seems to have this bug on 10.6 ("Snow Leopard") too, but we haven't noticed the corruption there. Maybe we're just lucky. BUG=93191, 90884 TEST=1. Visit http://www.justgiving.nl/ 2. Click the British flag in the top-right 3. Click the blue JustGiving logo in the top-left. 4. Wait for the page to finish loading, then repeat step 3. Expect: to be able to continue performing step 4 repeatedly. No sad tabs. No renderer crashes. No messages logged to the console about memory (malloc) errors Review URL: http://codereview.chromium.org/7655040 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@97320 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/app')
-rw-r--r--chrome/app/framework.order1
1 files changed, 1 insertions, 0 deletions
diff --git a/chrome/app/framework.order b/chrome/app/framework.order
index 33929a8..afd89f0 100644
--- a/chrome/app/framework.order
+++ b/chrome/app/framework.order
@@ -22,6 +22,7 @@ _NP_GetMIMEDescription
_NP_GetValue
_NP_Initialize
_NP_Shutdown
+__CTFontManagerUnregisterFontForData
__ZN22mac_plugin_interposing21SwitchToPluginProcessEv
__ZN22mac_plugin_interposing17GetActiveDelegateEv
__ZN22mac_plugin_interposing33NotifyBrowserOfPluginSelectWindowEj6CGRectb