[webkit-changes] cvs commit: WebKit/WebView.subproj WebFrame.m
WebFrameInternal.h WebPDFView.m WebTextView.m
Kevin
kdecker at opensource.apple.com
Thu Jul 14 17:36:24 PDT 2005
kdecker 05/07/14 17:36:23
Modified: . Tag: Safari-2-0-branch ChangeLog
WebView.subproj Tag: Safari-2-0-branch WebFrame.m
WebFrameInternal.h WebPDFView.m WebTextView.m
Log:
Merged fix for <rdar://problem/4122282> clicking a link in an PDF file opens the link with NSWorkspace without the usual security checks or WebView delegate control
Revision Changes Path
No revision
No revision
1.3118.4.20 +4 -0 WebKit/ChangeLog
Index: ChangeLog
===================================================================
RCS file: /cvs/root/WebKit/ChangeLog,v
retrieving revision 1.3118.4.19
retrieving revision 1.3118.4.20
diff -u -r1.3118.4.19 -r1.3118.4.20
--- ChangeLog 14 Jul 2005 21:48:39 -0000 1.3118.4.19
+++ ChangeLog 15 Jul 2005 00:36:18 -0000 1.3118.4.20
@@ -1,3 +1,7 @@
+2005-07-14 Kevin Decker <kdecker at apple.com>
+
+ Merged fix for <rdar://problem/4122282> clicking a link in an PDF file opens the link with NSWorkspace without the usual security checks or WebView delegate control
+
2005-07-14 Adele Peterson <adele at apple.com>
Merged fix from TOT to Safari-2-0-branch
No revision
No revision
1.223.8.4 +13 -0 WebKit/WebView.subproj/WebFrame.m
Index: WebFrame.m
===================================================================
RCS file: /cvs/root/WebKit/WebView.subproj/WebFrame.m,v
retrieving revision 1.223.8.3
retrieving revision 1.223.8.4
diff -u -r1.223.8.3 -r1.223.8.4
--- WebFrame.m 14 Jul 2005 21:48:42 -0000 1.223.8.3
+++ WebFrame.m 15 Jul 2005 00:36:22 -0000 1.223.8.4
@@ -2554,6 +2554,19 @@
return _private->internalLoadDelegate;
}
+- (void)_safeLoadURL:(NSURL *)URL
+{
+ // Call the bridge because this is where our security checks are made.
+ [[self _bridge] loadURL:URL
+ referrer:[[[[self dataSource] request] URL] _web_originalDataAsString]
+ reload:NO
+ userGesture:YES
+ target:nil
+ triggeringEvent:[NSApp currentEvent]
+ form:nil
+ formValues:nil];
+}
+
- (void)_sendResourceLoadDelegateMessagesForURL:(NSURL *)URL response:(NSURLResponse *)response length:(unsigned)length
{
ASSERT(response != nil);
1.7.8.1 +1 -0 WebKit/WebView.subproj/WebFrameInternal.h
Index: WebFrameInternal.h
===================================================================
RCS file: /cvs/root/WebKit/WebView.subproj/WebFrameInternal.h,v
retrieving revision 1.7
retrieving revision 1.7.8.1
diff -u -r1.7 -r1.7.8.1
--- WebFrameInternal.h 15 Mar 2005 01:45:23 -0000 1.7
+++ WebFrameInternal.h 15 Jul 2005 00:36:22 -0000 1.7.8.1
@@ -7,6 +7,7 @@
- (void)_updateDrawsBackground;
- (void)_setInternalLoadDelegate:(id)internalLoadDelegate;
- (id)_internalLoadDelegate;
+- (void)_safeLoadURL:(NSURL *)URL;
- (void)_sendResourceLoadDelegateMessagesForURL:(NSURL *)URL response:(NSURLResponse *)response length:(unsigned)length;
- (void)_unmarkAllMisspellings;
1.10.8.1 +13 -0 WebKit/WebView.subproj/WebPDFView.m
Index: WebPDFView.m
===================================================================
RCS file: /cvs/root/WebKit/WebView.subproj/WebPDFView.m,v
retrieving revision 1.10
retrieving revision 1.10.8.1
diff -u -r1.10 -r1.10.8.1
--- WebPDFView.m 7 Feb 2005 06:13:54 -0000 1.10
+++ WebPDFView.m 15 Jul 2005 00:36:22 -0000 1.10.8.1
@@ -7,10 +7,12 @@
#import <Foundation/NSString_NSURLExtras.h>
+#import <WebKit/WebFrameInternal.h>
#import <WebKit/WebAssertions.h>
#import <WebKit/WebDataSource.h>
#import <WebKit/WebLocalizableStrings.h>
#import <WebKit/WebNSPasteboardExtras.h>
+#import <WebKit/WebNSViewExtras.h>
#import <WebKit/WebPDFView.h>
#import <Quartz/Quartz.h>
@@ -63,6 +65,7 @@
PDFSubview = [[[[self class] PDFViewClass] alloc] initWithFrame:frame];
[PDFSubview setAutoresizingMask:NSViewWidthSizable|NSViewHeightSizable];
[self addSubview:PDFSubview];
+ [PDFSubview setDelegate:self];
written = NO;
}
return self;
@@ -261,6 +264,16 @@
return [[PDFSubview document] getPrintOperationForPrintInfo:printInfo autoRotate:YES];
}
+// Delegates implementing the following method will be called to handle clicks on URL
+// links within the PDFView.
+- (void)PDFViewWillClickOnLink:(PDFView *)sender withURL:(NSURL *)URL
+{
+ if (URL != nil) {
+ WebFrame *frame = [[self _web_parentWebFrameView] webFrame];
+ [frame _safeLoadURL:URL];
+ }
+}
+
@end
#endif // OMIT_TIGER_FEATURES
1.53.8.2 +4 -11 WebKit/WebView.subproj/WebTextView.m
Index: WebTextView.m
===================================================================
RCS file: /cvs/root/WebKit/WebView.subproj/WebTextView.m,v
retrieving revision 1.53.8.1
retrieving revision 1.53.8.2
diff -u -r1.53.8.1 -r1.53.8.2
--- WebTextView.m 27 Jun 2005 23:54:13 -0000 1.53.8.1
+++ WebTextView.m 15 Jul 2005 00:36:22 -0000 1.53.8.2
@@ -16,6 +16,8 @@
#import <WebKit/WebNSViewExtras.h>
#import <WebKit/WebPreferences.h>
#import <WebKit/WebTextRendererFactory.h>
+#import <WebKit/WebFrameInternal.h>
+
#import <WebKit/WebViewPrivate.h>
#import <Foundation/NSURLResponse.h>
@@ -342,17 +344,8 @@
} else if ([link isKindOfClass:[NSString class]]) {
URL = [[self class] _URLForString:(NSString *)link];
}
- if (URL != nil) {
- // Call the bridge because this is where our security checks are made.
- WebFrame *frame = [[self _web_parentWebFrameView] webFrame];
- [[frame _bridge] loadURL:URL
- referrer:[[[[frame dataSource] request] URL] _web_originalDataAsString]
- reload:NO
- userGesture:YES
- target:nil
- triggeringEvent:[[self window] currentEvent]
- form:nil
- formValues:nil];
+ if (URL != nil) {
+ [frame _safeLoadURL:URL];
}
}
More information about the webkit-changes
mailing list