Changeset 49385 in webkit
- Timestamp:
- Oct 9, 2009 2:36:40 AM (15 years ago)
- Location:
- trunk
- Files:
-
- 25 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/WebCore/ChangeLog
r49372 r49385 1 2009-10-08 Jon Honeycutt <jhoneycutt@apple.com> 2 3 Remove the WebKitPluginHalterEnabledPreferenceKey in favor of checking 4 for the existence of a PluginHalterDelegate. 5 6 This fixes a leak of WebPluginHalterClients: 7 https://bugs.webkit.org/show_bug.cgi?id=30119. 8 9 Reviewed by Dan Bernstein. 10 11 * WebCore.base.exp: 12 Removed the export of WebCore::Settings::setPluginHalterEnabled(). 13 14 * loader/EmptyClients.h: 15 (WebCore::EmptyPluginHalterClient::enabled): 16 17 * page/Page.cpp: 18 (WebCore::Page::Page): 19 Remove initialization of m_pluginHalterClient, which was removed. If a 20 non-null PluginHalterClient was passed, create the PluginHalter, and 21 set its allowed run time. 22 23 * page/Page.h: 24 Removed pluginHalterEnabledStateChanged() and m_pluginHalterClient. 25 26 * page/PluginHalter.cpp: 27 (WebCore::PluginHalter::didStartPlugin): 28 Check whether the PluginHalterClient is enabled. 29 (WebCore::PluginHalter::didStopPlugin): 30 Ditto. 31 32 * page/PluginHalter.h: 33 Made m_client an OwnPtr. 34 35 * page/PluginHalterClient.h: 36 Added a function to return the enabled state. 37 38 * page/Settings.cpp: 39 (WebCore::Settings::Settings): 40 Remove initialization of removed member. 41 42 * page/Settings.h: 43 Removed settings for the enabled state of the PluginHalter; we now use 44 the existence of a WebPluginHalterDelegate to determine whether the 45 PluginHalter is enabled. 46 1 47 2009-10-08 Adam Barth <abarth@webkit.org> 2 48 -
trunk/WebCore/WebCore.base.exp
r49372 r49385 974 974 __ZN7WebCore4Page14didStartPluginEPNS_14HaltablePluginE 975 975 __ZN7WebCore8Settings23setPluginAllowedRunTimeEj 976 __ZN7WebCore8Settings22setPluginHalterEnabledEb977 976 _filenameByFixingIllegalCharacters 978 977 _hasCaseInsensitiveSubstring -
trunk/WebCore/loader/EmptyClients.h
r48748 r49385 489 489 public: 490 490 virtual bool shouldHaltPlugin(Node*) const { return false; } 491 virtual bool enabled() const { return false; } 491 492 }; 492 493 -
trunk/WebCore/page/Page.cpp
r49196 r49385 138 138 , m_customHTMLTokenizerChunkSize(-1) 139 139 , m_canStartPlugins(true) 140 , m_pluginHalterClient(pluginHalterClient)141 140 { 142 141 #if !ENABLE(CONTEXT_MENUS) … … 158 157 allPages->add(this); 159 158 160 pluginHalterEnabledStateChanged(); 159 if (pluginHalterClient) { 160 m_pluginHalter.set(new PluginHalter(pluginHalterClient)); 161 m_pluginHalter->setPluginAllowedRunTime(m_settings->pluginAllowedRunTime()); 162 } 161 163 162 164 #if ENABLE(JAVASCRIPT_DEBUGGER) … … 734 736 #endif 735 737 736 void Page::pluginHalterEnabledStateChanged()737 {738 if (m_settings->pluginHalterEnabled()) {739 ASSERT(!m_pluginHalter);740 m_pluginHalter.set(new PluginHalter(m_pluginHalterClient));741 m_pluginHalter->setPluginAllowedRunTime(m_settings->pluginAllowedRunTime());742 } else743 m_pluginHalter = 0;744 }745 746 738 void Page::pluginAllowedRunTimeChanged() 747 739 { -
trunk/WebCore/page/Page.h
r49196 r49385 194 194 void didStopPlugin(HaltablePlugin*); 195 195 void pluginAllowedRunTimeChanged(); 196 void pluginHalterEnabledStateChanged();197 196 198 197 static void setDebuggerForAllPages(JSC::Debugger*); … … 301 300 302 301 OwnPtr<PluginHalter> m_pluginHalter; 303 PluginHalterClient* m_pluginHalterClient;304 302 305 303 #if ENABLE(DOM_STORAGE) -
trunk/WebCore/page/PluginHalter.cpp
r48748 r49385 29 29 30 30 #include "HaltablePlugin.h" 31 #include "PluginHalterClient.h"32 31 #include <wtf/CurrentTime.h> 33 32 #include <wtf/Vector.h> … … 50 49 ASSERT_ARG(obj, !m_plugins.contains(obj)); 51 50 51 if (!m_client->enabled()) 52 return; 53 52 54 double currentTime = WTF::currentTime(); 53 55 … … 62 64 void PluginHalter::didStopPlugin(HaltablePlugin* obj) 63 65 { 66 if (!m_client->enabled()) 67 return; 68 64 69 m_plugins.remove(obj); 65 70 } -
trunk/WebCore/page/PluginHalter.h
r48748 r49385 27 27 #define PluginHalter_h 28 28 29 #include "PluginHalterClient.h" 29 30 #include "Timer.h" 30 31 #include <wtf/HashMap.h> 32 #include <wtf/OwnPtr.h> 31 33 32 34 namespace WebCore { 33 35 34 36 class HaltablePlugin; 35 class PluginHalterClient;36 37 37 38 class PluginHalter { … … 48 49 void startTimerIfNecessary(); 49 50 50 PluginHalterClient*m_client;51 OwnPtr<PluginHalterClient> m_client; 51 52 Timer<PluginHalter> m_timer; 52 53 unsigned m_pluginAllowedRunTime; -
trunk/WebCore/page/PluginHalterClient.h
r48748 r49385 36 36 37 37 virtual bool shouldHaltPlugin(Node*) const = 0; 38 virtual bool enabled() const = 0; 38 39 }; 39 40 -
trunk/WebCore/page/Settings.cpp
r49040 r49385 118 118 , m_acceleratedCompositingEnabled(true) 119 119 , m_experimentalNotificationsEnabled(false) 120 , m_pluginHalterEnabled(false)121 120 , m_webGLEnabled(false) 122 121 #if ENABLE(WEB_SOCKETS) … … 516 515 } 517 516 518 void Settings::setPluginHalterEnabled(bool enabled)519 {520 if (m_pluginHalterEnabled == enabled)521 return;522 523 m_pluginHalterEnabled = enabled;524 525 m_page->pluginHalterEnabledStateChanged();526 }527 528 517 void Settings::setPluginAllowedRunTime(unsigned runTime) 529 518 { -
trunk/WebCore/page/Settings.h
r49040 r49385 264 264 static bool shouldUseHighResolutionTimers() { return gShouldUseHighResolutionTimers; } 265 265 #endif 266 267 void setPluginHalterEnabled(bool);268 bool pluginHalterEnabled() const { return m_pluginHalterEnabled; }269 266 270 267 void setPluginAllowedRunTime(unsigned); … … 346 343 bool m_acceleratedCompositingEnabled : 1; 347 344 bool m_experimentalNotificationsEnabled : 1; 348 bool m_pluginHalterEnabled : 1;349 345 bool m_webGLEnabled : 1; 350 346 -
trunk/WebKit/mac/ChangeLog
r49372 r49385 1 2009-10-08 Jon Honeycutt <jhoneycutt@apple.com> 2 3 Remove the WebKitPluginHalterEnabledPreferenceKey in favor of checking 4 for the existence of a PluginHalterDelegate. 5 6 Reviewed by Dan Bernstein. 7 8 * WebCoreSupport/WebPluginHalterClient.h: 9 Add declaration for new function. 10 11 * WebCoreSupport/WebPluginHalterClient.mm: 12 (WebPluginHalterClient::enabled): 13 Check whether the UIDelegate responds to shouldHaltPlugin. 14 15 * WebView/WebPreferenceKeysPrivate.h: 16 Remove the "enabled" preference key. 17 18 * WebView/WebPreferences.mm: 19 (+[WebPreferences initialize]): 20 Remove the initialization of the pref. 21 22 * WebView/WebPreferencesPrivate.h: 23 Remove the getter/setter for this pref. 24 25 * WebView/WebView.mm: 26 (-[WebView _preferencesChangedNotification:]): 27 Remove propagation of the pref. 28 1 29 2009-10-08 Adam Barth <abarth@webkit.org> 2 30 -
trunk/WebKit/mac/WebCoreSupport/WebPluginHalterClient.h
r49152 r49385 37 37 38 38 virtual bool shouldHaltPlugin(WebCore::Node*) const; 39 virtual bool enabled() const; 39 40 40 41 private: -
trunk/WebKit/mac/WebCoreSupport/WebPluginHalterClient.mm
r49149 r49385 43 43 return CallUIDelegateReturningBoolean(NO, m_webView, @selector(webView:shouldHaltPlugin:), kit(pluginNode)); 44 44 } 45 46 bool WebPluginHalterClient::enabled() const 47 { 48 return [[m_webView UIDelegate] respondsToSelector:@selector(webView:shouldHaltPlugin:)]; 49 } -
trunk/WebKit/mac/WebView/WebPreferenceKeysPrivate.h
r49149 r49385 88 88 #define WebKitAcceleratedCompositingEnabledPreferenceKey @"WebKitAcceleratedCompositingEnabled" 89 89 #define WebKitWebGLEnabledPreferenceKey @"WebKitWebGLEnabled" 90 #define WebKitPluginHalterEnabledPreferenceKey @"WebKitPluginHalterEnabled"91 90 #define WebKitPluginAllowedRunTimePreferenceKey @"WebKitPluginAllowedRunTime" 92 91 -
trunk/WebKit/mac/WebView/WebPreferences.mm
r49149 r49385 354 354 [NSNumber numberWithBool:YES], WebKitAcceleratedCompositingEnabledPreferenceKey, 355 355 [NSNumber numberWithBool:NO], WebKitWebGLEnabledPreferenceKey, 356 [NSNumber numberWithBool:NO], WebKitPluginHalterEnabledPreferenceKey,357 356 [NSNumber numberWithUnsignedInt:4], WebKitPluginAllowedRunTimePreferenceKey, 358 357 nil]; … … 1174 1173 } 1175 1174 1176 - (BOOL)pluginHalterEnabled1177 {1178 return [self _boolValueForKey:WebKitPluginHalterEnabledPreferenceKey];1179 }1180 1181 - (void)setPluginHalterEnabled:(BOOL)enabled1182 {1183 [self _setBoolValue:enabled forKey:WebKitPluginHalterEnabledPreferenceKey];1184 }1185 1186 1175 - (unsigned)pluginAllowedRunTime 1187 1176 { -
trunk/WebKit/mac/WebView/WebPreferencesPrivate.h
r49149 r49385 114 114 - (void)setExperimentalWebSocketsEnabled:(BOOL)websocketsEnabled; 115 115 116 - (BOOL)pluginHalterEnabled;117 - (void)setPluginHalterEnabled:(BOOL)enabled;118 119 116 - (unsigned)pluginAllowedRunTime; 120 117 - (void)setPluginAllowedRunTime:(unsigned)allowedRunTime; -
trunk/WebKit/mac/WebView/WebView.mm
r49372 r49385 1318 1318 settings->setEnforceCSSMIMETypeInStrictMode(!WKAppVersionCheckLessThan(@"com.apple.iWeb", -1, 2.1)); 1319 1319 settings->setAcceleratedCompositingEnabled([preferences acceleratedCompositingEnabled]); 1320 settings->setPluginHalterEnabled([preferences pluginHalterEnabled]);1321 1320 settings->setPluginAllowedRunTime([preferences pluginAllowedRunTime]); 1322 1321 settings->setWebGLEnabled([preferences webGLEnabled]); -
trunk/WebKit/win/ChangeLog
r49372 r49385 1 2009-10-08 Jon Honeycutt <jhoneycutt@apple.com> 2 3 Remove the WebKitPluginHalterEnabledPreferenceKey in favor of checking 4 for the existence of a PluginHalterDelegate. 5 6 Reviewed by Dan Bernstein. 7 8 * Interfaces/IWebPreferencesPrivate.idl: 9 Remove the getter and setter. 10 11 * WebCoreSupport/WebPluginHalterClient.cpp: 12 (WebPluginHalterClient::enabled): 13 Return true if the delegate exists. 14 15 * WebCoreSupport/WebPluginHalterClient.h: 16 Declare implementation of enabled(). 17 18 * WebPreferenceKeysPrivate.h: 19 Removed the pref key. 20 21 * WebPreferences.cpp: 22 (WebPreferences::initializeDefaultSettings): 23 Removed initialization of the pref. 24 25 * WebPreferences.h: 26 Removed declaration of the getter/setter. 27 28 * WebView.cpp: 29 (WebView::notifyPreferencesChanged): 30 Don't propagate the pref. 31 1 32 2009-10-08 Adam Barth <abarth@webkit.org> 2 33 -
trunk/WebKit/win/Interfaces/IWebPreferencesPrivate.idl
r48861 r49385 93 93 HRESULT setPreferenceForTest([in] BSTR key, [in] BSTR value); 94 94 95 HRESULT setPluginHalterEnabled([in] BOOL enabled);96 HRESULT pluginHalterEnabled([out, retval] BOOL* enabled);97 98 95 HRESULT setPluginAllowedRunTime([in] UINT allowedRunTime); 99 96 HRESULT pluginAllowedRunTime([out, retval] UINT* allowedRunTime); -
trunk/WebKit/win/WebCoreSupport/WebPluginHalterClient.cpp
r48748 r49385 57 57 return shouldHalt; 58 58 } 59 60 bool WebPluginHalterClient::enabled() const 61 { 62 IWebPluginHalterDelegate* d; 63 if (FAILED(m_webView->pluginHalterDelegate(&d)) || !d) 64 return false; 65 66 return true; 67 } -
trunk/WebKit/win/WebCoreSupport/WebPluginHalterClient.h
r48748 r49385 40 40 41 41 virtual bool shouldHaltPlugin(WebCore::Node* n) const; 42 virtual bool enabled() const; 42 43 43 44 private: -
trunk/WebKit/win/WebPreferenceKeysPrivate.h
r48861 r49385 130 130 #define WebKitUseHighResolutionTimersPreferenceKey "WebKitUseHighResolutionTimers" 131 131 132 #define WebKitPluginHalterEnabledPreferenceKey "WebKitPluginHalterEnabled"133 134 132 #define WebKitPluginAllowedRunTimePreferenceKey "WebKitPluginAllowedRunTime" -
trunk/WebKit/win/WebPreferences.cpp
r48862 r49385 254 254 CFDictionaryAddValue(defaults, CFSTR(WebKitUseHighResolutionTimersPreferenceKey), kCFBooleanTrue); 255 255 256 CFDictionaryAddValue(defaults, CFSTR(WebKitPluginHalterEnabledPreferenceKey), kCFBooleanFalse);257 258 256 RetainPtr<CFStringRef> pluginAllowedRunTime(AdoptCF, CFStringCreateWithFormat(0, 0, CFSTR("%u"), numeric_limits<unsigned>::max())); 259 257 CFDictionaryAddValue(defaults, CFSTR(WebKitPluginAllowedRunTimePreferenceKey), pluginAllowedRunTime.get()); … … 1349 1347 } 1350 1348 1351 1352 HRESULT STDMETHODCALLTYPE WebPreferences::setPluginHalterEnabled(BOOL enabled)1353 {1354 setBoolValue(CFSTR(WebKitPluginHalterEnabledPreferenceKey), enabled);1355 return S_OK;1356 }1357 1358 HRESULT STDMETHODCALLTYPE WebPreferences::pluginHalterEnabled(BOOL* enabled)1359 {1360 *enabled = boolValueForKey(CFSTR(WebKitPluginHalterEnabledPreferenceKey));1361 return S_OK;1362 }1363 1364 1349 HRESULT WebPreferences::setPluginAllowedRunTime(UINT allowedRunTime) 1365 1350 { -
trunk/WebKit/win/WebPreferences.h
r48861 r49385 381 381 /* [retval][out] */ BOOL* useHighResolutionTimers); 382 382 383 virtual HRESULT STDMETHODCALLTYPE setPluginHalterEnabled(384 /* [in] */ BOOL enabled);385 386 virtual HRESULT STDMETHODCALLTYPE pluginHalterEnabled(387 /* [retval][out] */ BOOL* enabled);388 389 383 virtual HRESULT STDMETHODCALLTYPE setPluginAllowedRunTime( 390 384 /* [in] */ UINT allowedRunTime); -
trunk/WebKit/win/WebView.cpp
r49372 r49385 4442 4442 settings->setShouldUseHighResolutionTimers(enabled); 4443 4443 4444 hr = prefsPrivate->pluginHalterEnabled(&enabled);4445 if (FAILED(hr))4446 return hr;4447 settings->setPluginHalterEnabled(enabled);4448 4449 4444 UINT runTime; 4450 4445 hr = prefsPrivate->pluginAllowedRunTime(&runTime);
Note: See TracChangeset
for help on using the changeset viewer.