[webkit-changes] cvs commit: WebKit/WebView.subproj WebFrame.m
WebFramePrivate.h WebHTMLView.m WebHTMLViewInternal.h
Tim
tomernic at opensource.apple.com
Thu Nov 10 17:15:40 PST 2005
tomernic 05/11/10 17:15:40
Modified: . ChangeLog
WebKit.xcodeproj project.pbxproj
WebView.subproj WebFrame.m WebFramePrivate.h WebHTMLView.m
WebHTMLViewInternal.h
Log:
Reviewed by Geoff.
<rdar://problem/4237941> Dashboard needs a way to stop Netscape plug-ins from getting null events
* Plugins.subproj/WebBaseNetscapePluginViewInternal.h: Added.
Added WebInternal category, with -stopNullEvents and -restartNullEvents. These methods already exist on WebBaseNetscapePluginView.
I am just exposing them to callers elsewhere within WebKit.
* WebKit.xcodeproj/project.pbxproj:
Added WebBaseNetscapePluginViewInternal.h.
* WebView.subproj/WebFrame.m:
(-[WebFrame _recursive_pauseNullEventsForAllNetscapePlugins]):
Walks down the web frame hierarchy and calls -_pauseNullEventsForAllNetscapePlugins on each WebHTMLView.
(-[WebFrame _recursive_resumeNullEventsForAllNetscapePlugins]):
Same as above, but calls -_resumeNullEventsForAllNetscapePlugins.
* WebView.subproj/WebFramePrivate.h:
Declared -_recursive_pauseNullEventsForAllNetscapePlugins and -_recursive_pauseNullEventsForAllNetscapePlugins.
* WebView.subproj/WebHTMLView.m:
(-[WebHTMLView _pauseNullEventsForAllNetscapePlugins]):
Checks subviews for WebBaseNetscapePluginViews, and calls -stopNullEvents on them.
(-[WebHTMLView _resumeNullEventsForAllNetscapePlugins]):
Same as above, but calls -restartNullEvents.
* WebView.subproj/WebHTMLViewInternal.h:
Declared -_pauseNullEventsForAllNetscapePlugins and -_resumeNullEventsForAllNetscapePlugins.
Revision Changes Path
1.3369 +31 -0 WebKit/ChangeLog
Index: ChangeLog
===================================================================
RCS file: /cvs/root/WebKit/ChangeLog,v
retrieving revision 1.3368
retrieving revision 1.3369
diff -u -r1.3368 -r1.3369
--- ChangeLog 7 Nov 2005 21:17:54 -0000 1.3368
+++ ChangeLog 11 Nov 2005 01:15:23 -0000 1.3369
@@ -1,3 +1,34 @@
+2005-11-10 Tim Omernick <timo at apple.com>
+
+ Reviewed by Geoff.
+
+ <rdar://problem/4237941> Dashboard needs a way to stop Netscape plug-ins from getting null events
+
+ * Plugins.subproj/WebBaseNetscapePluginViewInternal.h: Added.
+ Added WebInternal category, with -stopNullEvents and -restartNullEvents. These methods already exist on WebBaseNetscapePluginView.
+ I am just exposing them to callers elsewhere within WebKit.
+
+ * WebKit.xcodeproj/project.pbxproj:
+ Added WebBaseNetscapePluginViewInternal.h.
+
+ * WebView.subproj/WebFrame.m:
+ (-[WebFrame _recursive_pauseNullEventsForAllNetscapePlugins]):
+ Walks down the web frame hierarchy and calls -_pauseNullEventsForAllNetscapePlugins on each WebHTMLView.
+ (-[WebFrame _recursive_resumeNullEventsForAllNetscapePlugins]):
+ Same as above, but calls -_resumeNullEventsForAllNetscapePlugins.
+
+ * WebView.subproj/WebFramePrivate.h:
+ Declared -_recursive_pauseNullEventsForAllNetscapePlugins and -_recursive_pauseNullEventsForAllNetscapePlugins.
+
+ * WebView.subproj/WebHTMLView.m:
+ (-[WebHTMLView _pauseNullEventsForAllNetscapePlugins]):
+ Checks subviews for WebBaseNetscapePluginViews, and calls -stopNullEvents on them.
+ (-[WebHTMLView _resumeNullEventsForAllNetscapePlugins]):
+ Same as above, but calls -restartNullEvents.
+
+ * WebView.subproj/WebHTMLViewInternal.h:
+ Declared -_pauseNullEventsForAllNetscapePlugins and -_resumeNullEventsForAllNetscapePlugins.
+
2005-11-07 Geoffrey Garen <ggaren at apple.com>
Darin reviewed this a while back.
1.15 +4 -0 WebKit/WebKit.xcodeproj/project.pbxproj
Index: project.pbxproj
===================================================================
RCS file: /cvs/root/WebKit/WebKit.xcodeproj/project.pbxproj,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -r1.14 -r1.15
--- project.pbxproj 4 Nov 2005 01:38:25 -0000 1.14
+++ project.pbxproj 11 Nov 2005 01:15:35 -0000 1.15
@@ -7,6 +7,7 @@
objects = {
/* Begin PBXBuildFile section */
+ 220398770922D816009C3FFC /* WebBaseNetscapePluginViewInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 2203984A0922D765009C3FFC /* WebBaseNetscapePluginViewInternal.h */; settings = {ATTRIBUTES = (); }; };
224100F3091818D900D2D266 /* WebPluginsPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = 224100F2091818D900D2D266 /* WebPluginsPrivate.h */; settings = {ATTRIBUTES = (Private, ); }; };
224100F90918190100D2D266 /* WebPluginsPrivate.m in Sources */ = {isa = PBXBuildFile; fileRef = 224100F80918190100D2D266 /* WebPluginsPrivate.m */; };
22F219CC08D236730030E078 /* WebBackForwardListPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = 22F219CB08D236730030E078 /* WebBackForwardListPrivate.h */; settings = {ATTRIBUTES = (Private, ); }; };
@@ -330,6 +331,7 @@
/* End PBXBuildStyle section */
/* Begin PBXFileReference section */
+ 2203984A0922D765009C3FFC /* WebBaseNetscapePluginViewInternal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebBaseNetscapePluginViewInternal.h; sourceTree = "<group>"; };
224100F2091818D900D2D266 /* WebPluginsPrivate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebPluginsPrivate.h; sourceTree = "<group>"; };
224100F80918190100D2D266 /* WebPluginsPrivate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WebPluginsPrivate.m; sourceTree = "<group>"; };
22F219CB08D236730030E078 /* WebBackForwardListPrivate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebBackForwardListPrivate.h; sourceTree = "<group>"; };
@@ -800,6 +802,7 @@
F5A672B90263866E01000102 /* WebBaseNetscapePluginStream.h */,
F5A672BA0263866E01000102 /* WebBaseNetscapePluginStream.m */,
F5EBC45502134BC301CA1520 /* WebBaseNetscapePluginView.h */,
+ 2203984A0922D765009C3FFC /* WebBaseNetscapePluginViewInternal.h */,
931A72D203265920008635CE /* WebBaseNetscapePluginViewPrivate.h */,
F5EBC45602134BC301CA1520 /* WebBaseNetscapePluginView.m */,
84D4BFFB0348EF9D00CA2ACA /* WebNetscapePluginDocumentView.h */,
@@ -1113,6 +1116,7 @@
9398100E0824BF01008DF038 /* WebDOMDocument.h in Headers */,
9398100F0824BF01008DF038 /* WebDOMElement.h in Headers */,
939810100824BF01008DF038 /* WebDOMNode.h in Headers */,
+ 220398770922D816009C3FFC /* WebBaseNetscapePluginViewInternal.h in Headers */,
939810110824BF01008DF038 /* WebBackForwardList.h in Headers */,
939810120824BF01008DF038 /* WebHistory.h in Headers */,
939810130824BF01008DF038 /* WebHistoryItem.h in Headers */,
1.255 +19 -0 WebKit/WebView.subproj/WebFrame.m
Index: WebFrame.m
===================================================================
RCS file: /cvs/root/WebKit/WebView.subproj/WebFrame.m,v
retrieving revision 1.254
retrieving revision 1.255
diff -u -r1.254 -r1.255
--- WebFrame.m 1 Nov 2005 19:24:50 -0000 1.254
+++ WebFrame.m 11 Nov 2005 01:15:36 -0000 1.255
@@ -43,6 +43,7 @@
#import <WebKit/WebHistoryPrivate.h>
#import <WebKit/WebHistoryItemPrivate.h>
#import <WebKit/WebHTMLRepresentationPrivate.h>
+#import <WebKit/WebHTMLViewInternal.h>
#import <WebKit/WebHTMLViewPrivate.h>
#import <WebKit/WebKitErrorsPrivate.h>
#import <WebKit/WebKitLogging.h>
@@ -2594,6 +2595,24 @@
}
}
+- (void)_recursive_pauseNullEventsForAllNetscapePlugins
+{
+ NSView <WebDocumentView> *documentView = [[self frameView] documentView];
+ if ([documentView isKindOfClass:[WebHTMLView class]])
+ [(WebHTMLView *)documentView _pauseNullEventsForAllNetscapePlugins];
+
+ [[self childFrames] makeObjectsPerformSelector:@selector(_recursive_pauseNullEventsForAllNetscapePlugins)];
+}
+
+- (void)_recursive_resumeNullEventsForAllNetscapePlugins
+{
+ NSView <WebDocumentView> *documentView = [[self frameView] documentView];
+ if ([documentView isKindOfClass:[WebHTMLView class]])
+ [(WebHTMLView *)documentView _resumeNullEventsForAllNetscapePlugins];
+
+ [[self childFrames] makeObjectsPerformSelector:@selector(_recursive_resumeNullEventsForAllNetscapePlugins)];
+}
+
@end
@implementation WebFrame (WebInternal)
1.162 +3 -0 WebKit/WebView.subproj/WebFramePrivate.h
Index: WebFramePrivate.h
===================================================================
RCS file: /cvs/root/WebKit/WebView.subproj/WebFramePrivate.h,v
retrieving revision 1.161
retrieving revision 1.162
diff -u -r1.161 -r1.162
--- WebFramePrivate.h 8 Sep 2005 21:35:07 -0000 1.161
+++ WebFramePrivate.h 11 Nov 2005 01:15:36 -0000 1.162
@@ -238,4 +238,7 @@
- (void)_attachScriptDebugger;
+- (void)_recursive_pauseNullEventsForAllNetscapePlugins;
+- (void)_recursive_resumeNullEventsForAllNetscapePlugins;
+
@end
1.478 +27 -0 WebKit/WebView.subproj/WebHTMLView.m
Index: WebHTMLView.m
===================================================================
RCS file: /cvs/root/WebKit/WebView.subproj/WebHTMLView.m,v
retrieving revision 1.477
retrieving revision 1.478
diff -u -r1.477 -r1.478
--- WebHTMLView.m 24 Oct 2005 02:13:18 -0000 1.477
+++ WebHTMLView.m 11 Nov 2005 01:15:37 -0000 1.478
@@ -32,6 +32,7 @@
#import <WebKit/DOMExtensions.h>
#import <WebKit/DOMPrivate.h>
#import <WebKit/WebArchive.h>
+#import <WebKit/WebBaseNetscapePluginViewInternal.h>
#import <WebKit/WebBridge.h>
#import <WebKit/WebClipView.h>
#import <WebKit/WebDataProtocol.h>
@@ -4854,6 +4855,32 @@
return responder == _private->firstResponderAtMouseDownTime;
}
+- (void)_pauseNullEventsForAllNetscapePlugins
+{
+ NSArray *subviews = [self subviews];
+ unsigned int subviewCount = [subviews count];
+ unsigned int subviewIndex;
+
+ for (subviewIndex = 0; subviewIndex < subviewCount; subviewIndex++) {
+ NSView *subview = [subviews objectAtIndex:subviewIndex];
+ if ([subview isKindOfClass:[WebBaseNetscapePluginView class]])
+ [(WebBaseNetscapePluginView *)subview stopNullEvents];
+ }
+}
+
+- (void)_resumeNullEventsForAllNetscapePlugins
+{
+ NSArray *subviews = [self subviews];
+ unsigned int subviewCount = [subviews count];
+ unsigned int subviewIndex;
+
+ for (subviewIndex = 0; subviewIndex < subviewCount; subviewIndex++) {
+ NSView *subview = [subviews objectAtIndex:subviewIndex];
+ if ([subview isKindOfClass:[WebBaseNetscapePluginView class]])
+ [(WebBaseNetscapePluginView *)subview restartNullEvents];
+ }
+}
+
@end
@implementation WebHTMLView (WebNSTextInputSupport)
1.22 +2 -0 WebKit/WebView.subproj/WebHTMLViewInternal.h
Index: WebHTMLViewInternal.h
===================================================================
RCS file: /cvs/root/WebKit/WebView.subproj/WebHTMLViewInternal.h,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -r1.21 -r1.22
--- WebHTMLViewInternal.h 14 Jul 2005 23:52:55 -0000 1.21
+++ WebHTMLViewInternal.h 11 Nov 2005 01:15:37 -0000 1.22
@@ -95,4 +95,6 @@
- (unsigned int)_delegateDragSourceActionMask;
- (BOOL)_canSmartCopyOrDelete;
- (BOOL)_wasFirstResponderAtMouseDownTime:(NSResponder *)responder;
+- (void)_pauseNullEventsForAllNetscapePlugins;
+- (void)_resumeNullEventsForAllNetscapePlugins;
@end
More information about the webkit-changes
mailing list