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

Reply via email to