Changeset 175494 in webkit
- Timestamp:
- Nov 3, 2014, 4:12:48 PM (10 years ago)
- Location:
- trunk
- Files:
-
- 2 added
- 21 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/CMakeLists.txt
r175491 r175494 1889 1889 page/DOMWindowExtension.cpp 1890 1890 page/DOMWindowProperty.cpp 1891 page/DebugPageOverlays.cpp 1891 1892 page/DefaultVisitedLinkStore.cpp 1892 1893 page/DeviceController.cpp -
trunk/Source/WebCore/ChangeLog
r175492 r175494 1 2014-11-03 Simon Fraser <simon.fraser@apple.com> 2 3 Add page overlays that show regions with mouseWheel event handlers, and the non-fast-scrollable region, and code to toggle them in MiniBrowser WK2 4 https://bugs.webkit.org/show_bug.cgi?id=138257 5 6 Reviewed by Tim Horton. 7 8 Add code for debugging page overlays that show the non-fast scrollable region, 9 and the region with wheel event handlers. The list of region types is intended 10 to be easily extensible. 11 12 A singleton DebugPageOverlays maintains a map of Frame -> vector of overlays. 13 A purely inline code path is provided so that DebugPageOverlays::didLayout() is 14 fast. 15 16 For each region type, a PageOverlay::Client subclass knows how to generate 17 the region, which is painted into a document-level page overlay. 18 19 Add a set of bitflags to Settings to control region visibility. 20 21 * WebCore.exp.in: 22 * WebCore.xcodeproj/project.pbxproj: 23 * page/DebugPageOverlays.cpp: Added. 24 (WebCore::RegionOverlay::overlay): 25 (WebCore::MouseWheelRegionOverlay::updateRegion): 26 (WebCore::NonFastScrollableRegionOverlay::updateRegion): 27 (WebCore::RegionOverlay::create): 28 (WebCore::RegionOverlay::RegionOverlay): 29 (WebCore::RegionOverlay::~RegionOverlay): 30 (WebCore::RegionOverlay::pageOverlayDestroyed): 31 (WebCore::RegionOverlay::willMoveToPage): 32 (WebCore::RegionOverlay::didMoveToPage): 33 (WebCore::RegionOverlay::drawRect): 34 (WebCore::RegionOverlay::mouseEvent): 35 (WebCore::RegionOverlay::didScrollFrame): 36 (WebCore::RegionOverlay::recomputeRegion): 37 (WebCore::DebugPageOverlays::shared): 38 (WebCore::indexOf): 39 (WebCore::DebugPageOverlays::ensureRegionOverlayForFrame): 40 (WebCore::DebugPageOverlays::showRegionOverlay): 41 (WebCore::DebugPageOverlays::hideRegionOverlay): 42 (WebCore::DebugPageOverlays::regionChanged): 43 (WebCore::DebugPageOverlays::regionOverlayForFrame): 44 (WebCore::DebugPageOverlays::updateOverlayRegionVisibility): 45 (WebCore::DebugPageOverlays::settingsChanged): 46 * page/DebugPageOverlays.h: Added. 47 (WebCore::DebugPageOverlays::hasOverlaysForFrame): 48 (WebCore::DebugPageOverlays::hasOverlays): 49 (WebCore::DebugPageOverlays::didLayout): 50 * page/FrameView.cpp: 51 (WebCore::FrameView::layout): 52 * page/Settings.h: 53 * page/Settings.in: 54 1 55 2014-11-03 Simon Fraser <simon.fraser@apple.com> 2 56 -
trunk/Source/WebCore/WebCore.exp.in
r175491 r175494 761 761 __ZN7WebCore17DOMImplementation13isXMLMIMETypeERKN3WTF6StringE 762 762 __ZN7WebCore17DOMImplementation14isTextMIMETypeERKN3WTF6StringE 763 __ZN7WebCore17DebugPageOverlays15settingsChangedERNS_9MainFrameE 763 764 __ZN7WebCore17GlyphPageTreeNode18treeGlyphPageCountEv 764 765 __ZN7WebCore17HTMLOptionElement8selectedEv -
trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj
r175491 r175494 7141 7141 <ClCompile Include="..\page\DOMWindowProperty.cpp" /> 7142 7142 <ClCompile Include="..\page\DefaultVisitedLinkStore.cpp" /> 7143 <ClCompile Include="..\page\DebugPageOverlays.cpp" /> 7143 7144 <ClCompile Include="..\page\DragController.cpp" /> 7144 7145 <ClCompile Include="..\page\scrolling\coordinatedgraphics\ScrollingCoordinatorCoordinatedGraphics.cpp" /> … … 19150 19151 <ClInclude Include="..\page\DOMWindowExtension.h" /> 19151 19152 <ClInclude Include="..\page\DOMWindowProperty.h" /> 19153 <ClInclude Include="..\page\DebugPageOverlays.h" /> 19152 19154 <ClInclude Include="..\page\DefaultVisitedLinkStore.h" /> 19153 19155 <ClInclude Include="..\page\DragActions.h" /> -
trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj.filters
r175491 r175494 730 730 <Filter>page</Filter> 731 731 </ClCompile> 732 <ClCompile Include="..\page\DebugPageOverlays.cpp"> 733 <Filter>page</Filter> 734 </ClCompile> 732 735 <ClCompile Include="..\page\DefaultVisitedLinkStore.cpp"> 733 736 <Filter>page</Filter> … … 15122 15125 <ClInclude Include="..\html\URLUtils.h"> 15123 15126 <Filter>html</Filter> 15127 </ClInclude> 15128 <ClInclude Include="..\page\DebugPageOverlays.h"> 15129 <Filter>page</Filter> 15124 15130 </ClInclude> 15125 15131 <ClInclude Include="..\page\DefaultVisitedLinkStore.h"> -
trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj
r175491 r175494 534 534 0F6383DD18615B29003E5DB5 /* ThreadedScrollingTree.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0F6383DB18615B29003E5DB5 /* ThreadedScrollingTree.cpp */; }; 535 535 0F6383DE18615B29003E5DB5 /* ThreadedScrollingTree.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F6383DC18615B29003E5DB5 /* ThreadedScrollingTree.h */; settings = {ATTRIBUTES = (Private, ); }; }; 536 0F6A12BD1A00923700C6DE72 /* DebugPageOverlays.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0F6A12BB1A00923700C6DE72 /* DebugPageOverlays.cpp */; }; 537 0F6A12BE1A00923700C6DE72 /* DebugPageOverlays.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F6A12BC1A00923700C6DE72 /* DebugPageOverlays.h */; settings = {ATTRIBUTES = (Private, ); }; }; 536 538 0F7D07321884C45C00B4AF86 /* PlatformTextTrackMenu.h in Headers */ = {isa = PBXBuildFile; fileRef = 072847E316EBC5B00043CFA4 /* PlatformTextTrackMenu.h */; settings = {ATTRIBUTES = (Private, ); }; }; 537 539 0F7D07331884C56C00B4AF86 /* PlatformTextTrack.h in Headers */ = {isa = PBXBuildFile; fileRef = 072847E216EBC5B00043CFA4 /* PlatformTextTrack.h */; settings = {ATTRIBUTES = (Private, ); }; }; … … 7499 7501 0F6383DB18615B29003E5DB5 /* ThreadedScrollingTree.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ThreadedScrollingTree.cpp; sourceTree = "<group>"; }; 7500 7502 0F6383DC18615B29003E5DB5 /* ThreadedScrollingTree.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ThreadedScrollingTree.h; sourceTree = "<group>"; }; 7503 0F6A12BB1A00923700C6DE72 /* DebugPageOverlays.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DebugPageOverlays.cpp; sourceTree = "<group>"; }; 7504 0F6A12BC1A00923700C6DE72 /* DebugPageOverlays.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DebugPageOverlays.h; sourceTree = "<group>"; }; 7501 7505 0F97A657155DA81E00FADD4C /* DisplayRefreshMonitorIOS.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = DisplayRefreshMonitorIOS.mm; sourceTree = "<group>"; }; 7502 7506 0FA24D77162DF91900A3F4C0 /* GraphicsLayerUpdater.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = GraphicsLayerUpdater.cpp; sourceTree = "<group>"; }; … … 16610 16614 975CA288130365F800E99AD9 /* Crypto.h */, 16611 16615 975CA289130365F800E99AD9 /* Crypto.idl */, 16616 0F6A12BB1A00923700C6DE72 /* DebugPageOverlays.cpp */, 16617 0F6A12BC1A00923700C6DE72 /* DebugPageOverlays.h */, 16612 16618 1AF4CEE718BC350100BC2D34 /* DefaultVisitedLinkStore.cpp */, 16613 16619 1AF4CEE818BC350100BC2D34 /* DefaultVisitedLinkStore.h */, … … 26126 26132 B23540F30D00782E002382FA /* StringTruncator.h in Headers */, 26127 26133 9B6C41531344949000085B62 /* StringWithDirection.h in Headers */, 26134 0F6A12BE1A00923700C6DE72 /* DebugPageOverlays.h in Headers */, 26128 26135 849F77760EFEC6200090849D /* StrokeStyleApplier.h in Headers */, 26129 26136 BC5EB6A30E81DC4F00B25965 /* StyleBackgroundData.h in Headers */, … … 27491 27498 97BC6A271505F081001B74AC /* DatabaseContext.cpp in Sources */, 27492 27499 FE456F181677D74E005EDDF9 /* DatabaseManager.cpp in Sources */, 27500 0F6A12BD1A00923700C6DE72 /* DebugPageOverlays.cpp in Sources */, 27493 27501 FEB26D28167A8F2A00FDD26B /* DatabaseServer.cpp in Sources */, 27494 27502 FEDEF84116797108000E444A /* DatabaseStrategy.cpp in Sources */, -
trunk/Source/WebCore/page/FrameView.cpp
r174875 r175494 36 36 #include "ChromeClient.h" 37 37 #include "DOMWindow.h" 38 #include "DebugPageOverlays.h" 38 39 #include "DocumentMarkerController.h" 39 40 #include "EventHandler.h" … … 1394 1395 1395 1396 InspectorInstrumentation::didLayout(cookie, root); 1397 if (frame().isMainFrame()) 1398 DebugPageOverlays::didLayout(frame().mainFrame()); 1396 1399 1397 1400 --m_nestedLayoutCount; -
trunk/Source/WebCore/page/Settings.h
r175400 r175494 61 61 }; 62 62 63 enum DebugOverlayRegionFlags { 64 NonFastScrollableRegion = 1 << 0, 65 WheelEventHandlerRegion = 1 << 1, 66 }; 67 68 typedef unsigned DebugOverlayRegions; 69 63 70 class Settings : public RefCounted<Settings> { 64 71 WTF_MAKE_NONCOPYABLE(Settings); WTF_MAKE_FAST_ALLOCATED; -
trunk/Source/WebCore/page/Settings.in
r174524 r175494 60 60 showDebugBorders initial=false, setNeedsStyleRecalcInAllFrames=1 61 61 showRepaintCounter initial=false, setNeedsStyleRecalcInAllFrames=1 62 visibleDebugOverlayRegions type=DebugOverlayRegions, initial=0 62 63 63 64 # This is a quirk we are pro-actively applying to old applications. It changes keyboard event dispatching, -
trunk/Source/WebKit2/ChangeLog
r175491 r175494 1 2014-11-03 Simon Fraser <simon.fraser@apple.com> 2 3 Add page overlays that show regions with mouseWheel event handlers, and the non-fast-scrollable region, and code to toggle them in MiniBrowser WK2 4 https://bugs.webkit.org/show_bug.cgi?id=138257 5 6 Reviewed by Tim Horton. 7 8 Add private prefs to control visibility of debug-related page region overlays. 9 10 * Shared/WebPreferencesDefinitions.h: 11 * UIProcess/API/Cocoa/WKPreferences.mm: 12 (-[WKPreferences _visibleDebugOverlayRegions]): 13 (-[WKPreferences _setVisibleDebugOverlayRegions:]): 14 * UIProcess/API/Cocoa/WKPreferencesPrivate.h: 15 * UIProcess/mac/WebPreferencesMac.mm: 16 (WebKit::setDebugUInt32ValueIfInUserDefaults): 17 * WebProcess/WebPage/WebPage.cpp: 18 (WebKit::WebPage::updatePreferences): 19 * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm: 20 (WebKit::RemoteLayerTreeDrawingArea::updatePreferences): Update the overlays. 21 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm: 22 (WebKit::TiledCoreAnimationDrawingArea::updatePreferences): Update the overlays. 23 1 24 2014-11-03 Commit Queue <commit-queue@webkit.org> 2 25 -
trunk/Source/WebKit2/Shared/WebPreferencesDefinitions.h
r175061 r175494 237 237 \ 238 238 239 #define FOR_EACH_WEBKIT_DEBUG_UINT32_PREFERENCE(macro) \ 240 macro(VisibleDebugOverlayRegions, visibleDebugOverlayRegions, UInt32, uint32_t, 0) 241 239 242 #if PLATFORM(COCOA) 240 243 … … 284 287 #define FOR_EACH_WEBKIT_DEBUG_PREFERENCE(macro) \ 285 288 FOR_EACH_WEBKIT_DEBUG_BOOL_PREFERENCE(macro) \ 289 FOR_EACH_WEBKIT_DEBUG_UINT32_PREFERENCE(macro) \ 286 290 \ 287 291 -
trunk/Source/WebKit2/UIProcess/API/Cocoa/WKPreferences.mm
r172994 r175494 204 204 } 205 205 206 - (_WKDebugOverlayRegions)_visibleDebugOverlayRegions 207 { 208 return _preferences->visibleDebugOverlayRegions(); 209 } 210 211 - (void)_setVisibleDebugOverlayRegions:(_WKDebugOverlayRegions)regionFlags 212 { 213 _preferences->setVisibleDebugOverlayRegions(regionFlags); 214 } 215 206 216 - (BOOL)_developerExtrasEnabled 207 217 { -
trunk/Source/WebKit2/UIProcess/API/Cocoa/WKPreferencesPrivate.h
r172994 r175494 38 38 } WK_ENUM_AVAILABLE(10_10, 8_0); 39 39 40 typedef NS_OPTIONS(NSUInteger, _WKDebugOverlayRegions) { 41 _WKNonFastScrollableRegion = 1 << 0, 42 _WKWheelEventHandlerRegion = 1 << 1 43 } WK_ENUM_AVAILABLE(10_11, 9_0); 44 40 45 @interface WKPreferences (WKPrivate) 41 46 … … 47 52 @property (nonatomic, setter=_setCompositingRepaintCountersVisible:) BOOL _compositingRepaintCountersVisible; 48 53 @property (nonatomic, setter=_setTiledScrollingIndicatorVisible:) BOOL _tiledScrollingIndicatorVisible; 54 @property (nonatomic, setter=_setVisibleDebugOverlayRegions:) _WKDebugOverlayRegions _visibleDebugOverlayRegions; 49 55 50 56 @property (nonatomic, setter=_setDeveloperExtrasEnabled:) BOOL _developerExtrasEnabled; -
trunk/Source/WebKit2/UIProcess/mac/WebPreferencesMac.mm
r171928 r175494 132 132 } 133 133 134 static void setDebugUInt32ValueIfInUserDefaults(const String& identifier, const String& keyPrefix, const String& globalDebugKeyPrefix, const String& key, WebPreferencesStore& store) 135 { 136 id object = debugUserDefaultsValue(identifier, keyPrefix, globalDebugKeyPrefix, key); 137 if (!object) 138 return; 139 if (![object respondsToSelector:@selector(unsignedIntegerValue)]) 140 return; 141 142 store.setUInt32ValueForKey(key, [object unsignedIntegerValue]); 143 } 144 134 145 void WebPreferences::platformInitializeStore() 135 146 { -
trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp
r175491 r175494 2701 2701 settings.setShowRepaintCounter(store.getBoolValueForKey(WebPreferencesKey::compositingRepaintCountersVisibleKey())); 2702 2702 settings.setShowTiledScrollingIndicator(store.getBoolValueForKey(WebPreferencesKey::tiledScrollingIndicatorVisibleKey())); 2703 settings.setVisibleDebugOverlayRegions(store.getUInt32ValueForKey(WebPreferencesKey::visibleDebugOverlayRegionsKey())); 2704 2703 2705 settings.setAggressiveTileRetentionEnabled(store.getBoolValueForKey(WebPreferencesKey::aggressiveTileRetentionEnabledKey())); 2704 2706 settings.setTemporaryTileCohortRetentionEnabled(store.getBoolValueForKey(WebPreferencesKey::temporaryTileCohortRetentionEnabledKey())); -
trunk/Source/WebKit2/WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm
r174602 r175494 38 38 #import "WebPage.h" 39 39 #import "WebProcess.h" 40 #import <WebCore/DebugPageOverlays.h> 40 41 #import <WebCore/Frame.h> 41 42 #import <WebCore/FrameView.h> … … 170 171 171 172 m_rootLayer->setShowDebugBorder(settings.showDebugBorders()); 173 174 if (MainFrame* mainFrame = m_webPage.mainFrame()) 175 DebugPageOverlays::settingsChanged(*mainFrame); 172 176 } 173 177 -
trunk/Source/WebKit2/WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm
r174715 r175494 40 40 #import "WebProcess.h" 41 41 #import <QuartzCore/QuartzCore.h> 42 #import <WebCore/DebugPageOverlays.h> 42 43 #import <WebCore/FrameView.h> 43 44 #import <WebCore/GraphicsContext.h> … … 201 202 settings.setFixedPositionCreatesStackingContext(true); 202 203 204 if (MainFrame* mainFrame = m_webPage.mainFrame()) 205 DebugPageOverlays::settingsChanged(*mainFrame); 206 203 207 bool showTiledScrollingIndicator = settings.showTiledScrollingIndicator(); 204 208 if (showTiledScrollingIndicator == !!m_debugInfoLayer) -
trunk/Tools/ChangeLog
r175488 r175494 1 2014-11-03 Simon Fraser <simon.fraser@apple.com> 2 3 Add page overlays that show regions with mouseWheel event handlers, and the non-fast-scrollable region, and code to toggle them in MiniBrowser WK2 4 https://bugs.webkit.org/show_bug.cgi?id=138257 5 6 Reviewed by Tim Horton. 7 8 Add a "Debug Overlays" submenu item under "WebKit2-only Settings" which allows 9 the user to toggle region page overlays on and off. Two overlays are available, 10 for the non-fast scrollable region, and the region of element with wheel 11 event handlers. 12 13 * MiniBrowser/mac/SettingsController.h: 14 * MiniBrowser/mac/SettingsController.m: 15 (-[SettingsController _populateMenu]): 16 (-[SettingsController validateMenuItem:]): 17 (-[SettingsController nonFastScrollableRegionOverlayVisible]): 18 (-[SettingsController wheelEventHandlerRegionOverlayVisible]): 19 (-[SettingsController preferenceKeyForRegionOverlayTag:]): 20 (-[SettingsController toggleDebugOverlay:]): 21 (-[SettingsController debugOverlayVisible:]): 22 * MiniBrowser/mac/WK2BrowserWindowController.m: 23 (-[WK2BrowserWindowController didChangeSettings]): 24 1 25 2014-11-03 Alexey Proskuryakov <ap@apple.com> 2 26 -
trunk/Tools/MiniBrowser/mac/SettingsController.h
r171945 r175494 39 39 @property (nonatomic, readonly) BOOL layerBordersVisible; 40 40 @property (nonatomic, readonly) BOOL tiledScrollingIndicatorVisible; 41 @property (nonatomic, readonly) BOOL nonFastScrollableRegionOverlayVisible; 42 @property (nonatomic, readonly) BOOL wheelEventHandlerRegionOverlayVisible; 41 43 @property (nonatomic, readonly) BOOL useUISideCompositing; 42 44 @property (nonatomic, readonly) BOOL subPixelCSSOMMetricsEnabled; -
trunk/Tools/MiniBrowser/mac/SettingsController.m
r171945 r175494 36 36 static NSString * const TiledScrollingIndicatorVisiblePreferenceKey = @"TiledScrollingIndicatorVisible"; 37 37 38 static NSString * const NonFastScrollableRegionOverlayVisiblePreferenceKey = @"NonFastScrollableRegionOverlayVisible"; 39 static NSString * const WheelEventHandlerRegionOverlayVisiblePreferenceKey = @"WheelEventHandlerRegionOverlayVisible"; 40 38 41 static NSString * const UseTransparentWindowsPreferenceKey = @"UseTransparentWindows"; 39 42 static NSString * const UsePaginatedModePreferenceKey = @"UsePaginatedMode"; … … 42 45 // This default name intentionally overlaps with the key that WebKit2 checks when creating a view. 43 46 static NSString * const UseRemoteLayerTreeDrawingAreaPreferenceKey = @"WebKit2UseRemoteLayerTreeDrawingArea"; 47 48 typedef NS_ENUM(NSInteger, DebugOverylayMenuItemTag) { 49 NonFastScrollableRegionOverlayTag = 100, 50 WheelEventHandlerRegionOverlayTag 51 }; 44 52 45 53 @implementation SettingsController … … 95 103 96 104 [self _addHeaderWithTitle:@"WebKit2-only Settings"]; 105 97 106 [self _addItemWithTitle:@"Show Tiled Scrolling Indicator" action:@selector(toggleShowTiledScrollingIndicator:) indented:YES]; 98 107 [self _addItemWithTitle:@"Use UI-Side Compositing" action:@selector(toggleUseUISideCompositing:) indented:YES]; 108 109 NSMenuItem *debugOverlaysSubmenuItem = [[NSMenuItem alloc] initWithTitle:@"Debug Overlays" action:nil keyEquivalent:@""]; 110 NSMenu *debugOverlaysMenu = [[NSMenu alloc] initWithTitle:@"Debug Overlays"]; 111 [debugOverlaysSubmenuItem setSubmenu:debugOverlaysMenu]; 112 113 NSMenuItem *nonFastScrollableRegionItem = [[NSMenuItem alloc] initWithTitle:@"Non-fast Scrollable Region" action:@selector(toggleDebugOverlay:) keyEquivalent:@""]; 114 [nonFastScrollableRegionItem setTag:NonFastScrollableRegionOverlayTag]; 115 [nonFastScrollableRegionItem setTarget:self]; 116 [debugOverlaysMenu addItem:[nonFastScrollableRegionItem autorelease]]; 117 118 NSMenuItem *wheelEventHandlerRegionItem = [[NSMenuItem alloc] initWithTitle:@"Wheel Event Handler Region" action:@selector(toggleDebugOverlay:) keyEquivalent:@""]; 119 [wheelEventHandlerRegionItem setTag:WheelEventHandlerRegionOverlayTag]; 120 [wheelEventHandlerRegionItem setTarget:self]; 121 [debugOverlaysMenu addItem:[wheelEventHandlerRegionItem autorelease]]; 122 [debugOverlaysMenu release]; 123 124 [_menu addItem:debugOverlaysSubmenuItem]; 125 [debugOverlaysSubmenuItem release]; 99 126 100 127 [self _addHeaderWithTitle:@"WebKit1-only Settings"]; … … 120 147 else if (action == @selector(toggleEnableSubPixelCSSOMMetrics:)) 121 148 [menuItem setState:[self subPixelCSSOMMetricsEnabled] ? NSOnState : NSOffState]; 149 else if (action == @selector(toggleDebugOverlay:)) 150 [menuItem setState:[self debugOverlayVisible:menuItem] ? NSOnState : NSOffState]; 122 151 123 152 return YES; … … 200 229 { 201 230 return [[NSUserDefaults standardUserDefaults] boolForKey:EnableSubPixelCSSOMMetricsPreferenceKey]; 231 } 232 233 - (BOOL)nonFastScrollableRegionOverlayVisible 234 { 235 return [[NSUserDefaults standardUserDefaults] boolForKey:NonFastScrollableRegionOverlayVisiblePreferenceKey]; 236 } 237 238 - (BOOL)wheelEventHandlerRegionOverlayVisible 239 { 240 return [[NSUserDefaults standardUserDefaults] boolForKey:WheelEventHandlerRegionOverlayVisiblePreferenceKey]; 241 } 242 243 - (NSString *)preferenceKeyForRegionOverlayTag:(NSUInteger)tag 244 { 245 switch (tag) { 246 case NonFastScrollableRegionOverlayTag: 247 return NonFastScrollableRegionOverlayVisiblePreferenceKey; 248 249 case WheelEventHandlerRegionOverlayTag: 250 return WheelEventHandlerRegionOverlayVisiblePreferenceKey; 251 } 252 return nil; 253 } 254 255 - (void)toggleDebugOverlay:(id)sender 256 { 257 NSString *preferenceKey = [self preferenceKeyForRegionOverlayTag:[sender tag]]; 258 if (preferenceKey) 259 [self _toggleBooleanDefault:preferenceKey]; 260 } 261 262 - (BOOL)debugOverlayVisible:(NSMenuItem *)menuItem 263 { 264 NSString *preferenceKey = [self preferenceKeyForRegionOverlayTag:[menuItem tag]]; 265 if (preferenceKey) 266 return [[NSUserDefaults standardUserDefaults] boolForKey:preferenceKey]; 267 268 return NO; 202 269 } 203 270 -
trunk/Tools/MiniBrowser/mac/WK2BrowserWindowController.m
r172715 r175494 299 299 _webView._paginationMode = _WKPaginationModeUnpaginated; 300 300 } 301 302 NSUInteger visibleOverlayRegions = 0; 303 if (settings.nonFastScrollableRegionOverlayVisible) 304 visibleOverlayRegions |= _WKNonFastScrollableRegion; 305 if (settings.wheelEventHandlerRegionOverlayVisible) 306 visibleOverlayRegions |= _WKWheelEventHandlerRegion; 307 308 preferences._visibleDebugOverlayRegions = visibleOverlayRegions; 301 309 } 302 310
Note:
See TracChangeset
for help on using the changeset viewer.