Title: [89469] trunk/Source/WebKit/mac
- Revision
- 89469
- Author
- [email protected]
- Date
- 2011-06-22 13:13:53 -0700 (Wed, 22 Jun 2011)
Log Message
2011-06-22 Sam Weinig <[email protected]>
Reviewed by Adam Barth.
Add preference for setting the html parser depth limit
https://bugs.webkit.org/show_bug.cgi?id=63163
* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
(-[WebPreferences setMaximumHTMLParserDOMTreeDepth:]):
(-[WebPreferences maximumHTMLParserDOMTreeDepth]):
* WebView/WebPreferencesPrivate.h:
* WebView/WebView.mm:
(-[WebView _preferencesChanged:]):
Add private preference for setting the parser depth limit.
Modified Paths
Diff
Modified: trunk/Source/WebKit/mac/ChangeLog (89468 => 89469)
--- trunk/Source/WebKit/mac/ChangeLog 2011-06-22 20:12:01 UTC (rev 89468)
+++ trunk/Source/WebKit/mac/ChangeLog 2011-06-22 20:13:53 UTC (rev 89469)
@@ -1,3 +1,20 @@
+2011-06-22 Sam Weinig <[email protected]>
+
+ Reviewed by Adam Barth.
+
+ Add preference for setting the html parser depth limit
+ https://bugs.webkit.org/show_bug.cgi?id=63163
+
+ * WebView/WebPreferenceKeysPrivate.h:
+ * WebView/WebPreferences.mm:
+ (+[WebPreferences initialize]):
+ (-[WebPreferences setMaximumHTMLParserDOMTreeDepth:]):
+ (-[WebPreferences maximumHTMLParserDOMTreeDepth]):
+ * WebView/WebPreferencesPrivate.h:
+ * WebView/WebView.mm:
+ (-[WebView _preferencesChanged:]):
+ Add private preference for setting the parser depth limit.
+
2011-06-22 Ryosuke Niwa <[email protected]>
Reviewed by Darin Adler.
Modified: trunk/Source/WebKit/mac/WebView/WebPreferenceKeysPrivate.h (89468 => 89469)
--- trunk/Source/WebKit/mac/WebView/WebPreferenceKeysPrivate.h 2011-06-22 20:12:01 UTC (rev 89468)
+++ trunk/Source/WebKit/mac/WebView/WebPreferenceKeysPrivate.h 2011-06-22 20:13:53 UTC (rev 89469)
@@ -120,6 +120,7 @@
#define WebKitTextDirectionSubmenuInclusionBehaviorPreferenceKey @"WebKitTextDirectionSubmenuInclusionBehaviorPreferenceKey"
#define WebKitEditingBehaviorPreferenceKey @"WebKitEditingBehavior"
#define WebKitUsePreHTML5ParserQuirksKey @"WebKitUsePreHTML5ParserQuirks"
+#define WebKitMaximumHTMLParserDOMTreeDepthKey @"WebKitMaximumHTMLParserDOMTreeDepth"
// CoreGraphics deferred updates are disabled if WebKitEnableCoalescedUpdatesPreferenceKey is set
// to NO, or has no value. For compatibility with Mac OS X 10.4.6, deferred updates are OFF by
Modified: trunk/Source/WebKit/mac/WebView/WebPreferences.mm (89468 => 89469)
--- trunk/Source/WebKit/mac/WebView/WebPreferences.mm 2011-06-22 20:12:01 UTC (rev 89468)
+++ trunk/Source/WebKit/mac/WebView/WebPreferences.mm 2011-06-22 20:13:53 UTC (rev 89469)
@@ -39,6 +39,7 @@
#import "WebNSDictionaryExtras.h"
#import "WebNSURLExtras.h"
#import <WebCore/ApplicationCacheStorage.h>
+#import <WebCore/Settings.h>
NSString *WebPreferencesChangedNotification = @"WebPreferencesChangedNotification";
NSString *WebPreferencesRemovedNotification = @"WebPreferencesRemovedNotification";
@@ -375,6 +376,7 @@
[NSNumber numberWithBool:NO], WebKitMemoryInfoEnabledPreferenceKey,
[NSNumber numberWithBool:YES], WebKitHyperlinkAuditingEnabledPreferenceKey,
[NSNumber numberWithBool:NO], WebKitUsePreHTML5ParserQuirksKey,
+ [NSNumber numberWithUnsignedInt:WebCore::Settings::defaultMaximumHTMLParserDOMTreeDepth], WebKitMaximumHTMLParserDOMTreeDepthKey,
[NSNumber numberWithBool:YES], WebKitAVFoundationEnabledKey,
[NSNumber numberWithLongLong:WebCore::ApplicationCacheStorage::noQuota()], WebKitApplicationCacheTotalQuota,
[NSNumber numberWithLongLong:WebCore::ApplicationCacheStorage::noQuota()], WebKitApplicationCacheDefaultOriginQuota,
@@ -1408,6 +1410,16 @@
[self _setBoolValue:flag forKey:WebKitUsePreHTML5ParserQuirksKey];
}
+- (void)setMaximumHTMLParserDOMTreeDepth:(unsigned)depth
+{
+ [self _setIntegerValue:depth forKey:WebKitMaximumHTMLParserDOMTreeDepthKey];
+}
+
+- (unsigned)maximumHTMLParserDOMTreeDepth
+{
+ return [self _integerValueForKey:WebKitMaximumHTMLParserDOMTreeDepthKey];
+}
+
- (void)didRemoveFromWebView
{
ASSERT(_private->numWebViews);
Modified: trunk/Source/WebKit/mac/WebView/WebPreferencesPrivate.h (89468 => 89469)
--- trunk/Source/WebKit/mac/WebView/WebPreferencesPrivate.h 2011-06-22 20:12:01 UTC (rev 89468)
+++ trunk/Source/WebKit/mac/WebView/WebPreferencesPrivate.h 2011-06-22 20:13:53 UTC (rev 89469)
@@ -238,6 +238,9 @@
- (void)setUsePreHTML5ParserQuirks:(BOOL)flag;
- (BOOL)usePreHTML5ParserQuirks;
+- (void)setMaximumHTMLParserDOMTreeDepth:(unsigned)depth;
+- (unsigned)maximumHTMLParserDOMTreeDepth;
+
- (void)setLoadsSiteIconsIgnoringImageLoadingPreference: (BOOL)flag;
- (BOOL)loadsSiteIconsIgnoringImageLoadingPreference;
Modified: trunk/Source/WebKit/mac/WebView/WebView.mm (89468 => 89469)
--- trunk/Source/WebKit/mac/WebView/WebView.mm 2011-06-22 20:12:01 UTC (rev 89468)
+++ trunk/Source/WebKit/mac/WebView/WebView.mm 2011-06-22 20:13:53 UTC (rev 89469)
@@ -1570,6 +1570,7 @@
settings->setMemoryInfoEnabled([preferences memoryInfoEnabled]);
settings->setHyperlinkAuditingEnabled([preferences hyperlinkAuditingEnabled]);
settings->setUsePreHTML5ParserQuirks([self _needsPreHTML5ParserQuirks]);
+ settings->setMaximumHTMLParserDOMTreeDepth([preferences maximumHTMLParserDOMTreeDepth]);
settings->setCrossOriginCheckInGetMatchedCSSRulesDisabled([self _needsUnrestrictedGetMatchedCSSRules]);
settings->setInteractiveFormValidationEnabled([self interactiveFormValidationEnabled]);
settings->setValidationMessageTimerMagnification([self validationMessageTimerMagnification]);
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes