- (void)stopLoadingSubframes
{
for (WebCoreFrameBridge *child = [frameBridge firstChild]; child; child = [child nextSibling])
- [[(WebFrameBridge *)child frameLoader] stopLoading];
+ [[child frameLoader] stopLoading];
}
- (void)stopLoading
return [[self activeDocumentLoader] originalRequestCopy];
}
-- (WebFrame *)webFrame
-{
- return client;
-}
-
- (void)_receivedMainResourceError:(NSError *)error complete:(BOOL)isComplete
{
WebDocumentLoader *loader = [self activeDocumentLoader];
// Retain the bridge because the stop may release the last reference to it.
[bridge retain];
- WebFrame *cli = [client retain];
+ NSObject<WebFrameLoaderClient> *cli = [client retain];
if (isComplete) {
// FIXME: Don't want to do this if an entirely new load is going, so should check
formState = [[WebFormState alloc] initWithForm:form values:values sourceFrame:frameBridge];
if (target != nil) {
- WebFrame *targetFrame = [client findFrameNamed:target];
+ WebCoreFrameBridge *targetFrame = [frameBridge findFrameNamed:target];
if (targetFrame != nil) {
- [[targetFrame _frameLoader] loadURL:URL referrer:referrer loadType:_loadType target:nil triggeringEvent:event form:form formValues:values];
+ [[targetFrame frameLoader] loadURL:URL referrer:referrer loadType:_loadType target:nil triggeringEvent:event form:form formValues:values];
} else {
[self checkNewWindowPolicyForRequest:request
action:action
// FIXME: is it important for this traversal to be postorder instead of preorder?
// FIXME: add helpers for postorder traversal?
for (WebCoreFrameBridge *child = [frameBridge firstChild]; child; child = [child nextSibling])
- [[(WebFrameBridge *)child frameLoader] closeOldDataSources];
+ [[child frameLoader] closeOldDataSources];
if (documentLoader)
[client _dispatchWillCloseFrame];
- (BOOL)isHostedByObjectElement
{
// Handle <object> fallback for error cases.
- DOMHTMLElement *hostElement = [client frameElement];
+ DOMHTMLElement *hostElement = [frameBridge frameElement];
return hostElement && [hostElement isKindOfClass:[DOMHTMLObjectElement class]];
}
- (BOOL)isLoadingMainFrame
{
- return [client _isMainFrame];
+ return [frameBridge isMainFrame];
}
- (BOOL)_canShowMIMEType:(NSString *)MIMEType
// Unfortunately the view must be non-nil, this is ultimately due
// to parser requiring a FrameView. We should fix this dependency.
- ASSERT([client frameView] != nil);
+ ASSERT([client _hasFrameView]);
policyLoadType = type;
WebCoreFrameBridge *parentFrame = [[self bridge] parent];
if (parentFrame)
- [loader setOverrideEncoding:[[[(WebFrameBridge *)parentFrame frameLoader] documentLoader] overrideEncoding]];
+ [loader setOverrideEncoding:[[[parentFrame frameLoader] documentLoader] overrideEncoding]];
[loader setFrameLoader:self];
NSString *ptitle = [dl title];
switch (loadType) {
- case WebFrameLoadTypeForward:
- case WebFrameLoadTypeBack:
- case WebFrameLoadTypeIndexedBackForward:
+ case FrameLoadTypeForward:
+ case FrameLoadTypeBack:
+ case FrameLoadTypeIndexedBackForward:
if ([client _hasBackForwardList]) {
[client _updateHistoryForBackForwardNavigation];
}
break;
- case WebFrameLoadTypeReload:
- case WebFrameLoadTypeSame:
- case WebFrameLoadTypeReplace:
+ case FrameLoadTypeReload:
+ case FrameLoadTypeSame:
+ case FrameLoadTypeReplace:
[client _updateHistoryForReload];
[client _makeDocumentView];
break;
- // FIXME - just get rid of this case, and merge WebFrameLoadTypeReloadAllowingStaleData with the above case
- case WebFrameLoadTypeReloadAllowingStaleData:
+ // FIXME - just get rid of this case, and merge FrameLoadTypeReloadAllowingStaleData with the above case
+ case FrameLoadTypeReloadAllowingStaleData:
[client _makeDocumentView];
break;
- case WebFrameLoadTypeStandard:
+ case FrameLoadTypeStandard:
[client _updateHistoryForStandardLoad];
[client _makeDocumentView];
break;
- case WebFrameLoadTypeInternal:
+ case FrameLoadTypeInternal:
[client _updateHistoryForInternalLoad];
[client _makeDocumentView];
break;
// FIXME Remove this check when dummy ds is removed (whatever "dummy ds" is).
- // An exception should be thrown if we're in the WebFrameLoadTypeUninitialized state.
+ // An exception should be thrown if we're in the FrameLoadTypeUninitialized state.
default:
ASSERT_NOT_REACHED();
}
[client _forceLayoutForNonHTML];
// If the user had a scroll point, scroll to it, overriding the anchor point if any.
- if ((isBackForwardLoadType([self loadType]) || [self loadType] == WebFrameLoadTypeReload)
+ if ((isBackForwardLoadType([self loadType]) || [self loadType] == FrameLoadTypeReload)
&& [client _hasBackForwardList])
[client _restoreScrollPositionAndViewState];
WebCoreFrameBridge <WebCoreFrameBridge> *bridge = frameBridge;
[bridge retain];
- WebFrame *mainFrame = [client _dispatchCreateWebViewWithRequest:nil];
- if (!mainFrame)
+ WebCoreFrameBridge *mainBridge = [client _dispatchCreateWebViewWithRequest:nil];
+ if (!mainBridge)
goto exit;
- WebCoreFrameBridge *mainBridge = [mainFrame _frameLoader]->frameBridge;
- [mainBridge retain];
-
[mainBridge setName:frameName];
- [mainFrame _dispatchShow];
+ [[[mainBridge frameLoader] client] _dispatchShow];
[mainBridge setOpener:bridge];
- [[mainFrame _frameLoader] _loadRequest:request triggeringAction:nil loadType:WebFrameLoadTypeStandard formState:formState];
+ [[mainBridge frameLoader] _loadRequest:request triggeringAction:nil loadType:FrameLoadTypeStandard formState:formState];
[mainBridge release];
return;
}
- WebFrame *frame = [client findFrameNamed:frameName];
+ WebCoreFrameBridge *frame = [frameBridge findFrameNamed:frameName];
if (frame != nil) {
- [[frame _frameLoader] loadRequest:request];
+ [[frame frameLoader] loadRequest:request];
return;
}
formState = [[WebFormState alloc] initWithForm:form values:values sourceFrame:frameBridge];
if (target != nil) {
- WebFrame *targetFrame = [client findFrameNamed:target];
+ WebCoreFrameBridge *targetFrame = [frameBridge findFrameNamed:target];
if (targetFrame != nil)
- [[targetFrame _frameLoader] _loadRequest:request triggeringAction:action loadType:FrameLoadTypeStandard formState:formState];
+ [[targetFrame frameLoader] _loadRequest:request triggeringAction:action loadType:FrameLoadTypeStandard formState:formState];
else
[self checkNewWindowPolicyForRequest:request action:action frameName:target formState:formState
andCall:self withSelector:@selector(continueLoadRequestAfterNewWindowPolicy:frameName:formState:)];
}
return [self actionInformationForNavigationType:navType event:event originalURL:URL];
}
+
+NSString *ActionNavigationTypeKey = @"WebActionNavigationTypeKey";
+NSString *ActionElementKey = @"WebActionElementKey";
+NSString *ActionButtonKey = @"WebActionButtonKey";
+NSString *ActionModifierFlagsKey = @"WebActionModifierFlagsKey";
+NSString *ActionOriginalURLKey = @"WebActionOriginalURLKey";
- (NSDictionary *)actionInformationForNavigationType:(NavigationType)navigationType event:(NSEvent *)event originalURL:(NSURL *)URL
{
NSDictionary *elementInfo = [client _elementForEvent:event];
if (elementInfo)
return [NSDictionary dictionaryWithObjectsAndKeys:
- [NSNumber numberWithInt:navigationType], WebActionNavigationTypeKey,
- elementInfo, WebActionElementKey,
- [NSNumber numberWithInt:[event buttonNumber]], WebActionButtonKey,
- [NSNumber numberWithInt:[event modifierFlags]], WebActionModifierFlagsKey,
- URL, WebActionOriginalURLKey,
+ [NSNumber numberWithInt:navigationType], ActionNavigationTypeKey,
+ elementInfo, ActionElementKey,
+ [NSNumber numberWithInt:[event buttonNumber]], ActionButtonKey,
+ [NSNumber numberWithInt:[event modifierFlags]], ActionModifierFlagsKey,
+ URL, ActionOriginalURLKey,
nil];
return [NSDictionary dictionaryWithObjectsAndKeys:
- [NSNumber numberWithInt:navigationType], WebActionNavigationTypeKey,
- [NSNumber numberWithInt:[event modifierFlags]], WebActionModifierFlagsKey,
- URL, WebActionOriginalURLKey,
+ [NSNumber numberWithInt:navigationType], ActionNavigationTypeKey,
+ [NSNumber numberWithInt:[event modifierFlags]], ActionModifierFlagsKey,
+ URL, ActionOriginalURLKey,
nil];
}
}
}
+- (NSObject<WebFrameLoaderClient> *)client
+{
+ return client;
+}
+
@end