Commit ce520eb0 authored by andersca's avatar andersca

WebCore:

        Reviewed by Brady.

        Move some history related functions off the bridge and into FrameLoader directly.

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::canGoBackOrForward):
        (WebCore::FrameLoader::getHistoryLength):
        (WebCore::FrameLoader::historyURL):
        * loader/mac/FrameLoaderMac.mm:
        * page/mac/WebCoreFrameBridge.h:

WebKit:

        Reviewed by Brady.

        Remove bridge functions that are implemented directly in FrameLoader now.
        
        * WebCoreSupport/WebFrameBridge.mm:



git-svn-id: svn://svn.chromium.org/blink/trunk@18694 bbb929c8-8fbe-4397-9dbb-9b2b20218538
parent 8eef2e2d
2007-01-08 Anders Carlsson <acarlsson@apple.com>
Reviewed by Brady.
Move some history related functions off the bridge and into FrameLoader directly.
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::canGoBackOrForward):
(WebCore::FrameLoader::getHistoryLength):
(WebCore::FrameLoader::historyURL):
* loader/mac/FrameLoaderMac.mm:
* page/mac/WebCoreFrameBridge.h:
2007-01-08 Sam Weinig <sam@webkit.org>
Reviewed by Mark.
......
......@@ -3386,6 +3386,43 @@ void FrameLoader::applyUserAgent(ResourceRequest& request)
request.setHTTPUserAgent(userAgent);
}
bool FrameLoader::canGoBackOrForward(int distance) const
{
if (distance == 0)
return true;
if (distance > 0 && distance <= m_frame->page()->backForwardList()->forwardListCount())
return true;
if (distance < 0 && -distance <= m_frame->page()->backForwardList()->backListCount())
return true;
return false;
}
int FrameLoader::getHistoryLength()
{
return m_frame->page()->backForwardList()->backListCount() + 1;
}
KURL FrameLoader::historyURL(int distance)
{
BackForwardList *list = m_frame->page()->backForwardList();
HistoryItem* item = list->itemAtIndex(distance);
if (!item) {
if (distance > 0) {
int forwardListCount = list->forwardListCount();
if (forwardListCount > 0)
item = list->itemAtIndex(forwardListCount);
} else {
int backListCount = list->backListCount();
if (backListCount > 0)
item = list->itemAtIndex(-backListCount);
}
}
if (item)
return item->url();
return KURL();
}
void FrameLoader::addHistoryItemForFragmentScroll()
{
addBackForwardItemClippedAtTarget(false);
......
......@@ -311,29 +311,11 @@ String FrameLoader::overrideMediaType() const
return String();
}
bool FrameLoader::canGoBackOrForward(int distance) const
{
return [Mac(m_frame)->bridge() canGoBackOrForward:distance];
}
KURL FrameLoader::originalRequestURL() const
{
return activeDocumentLoader()->initialRequest().url();
}
int FrameLoader::getHistoryLength()
{
return [Mac(m_frame)->bridge() historyLength];
}
KURL FrameLoader::historyURL(int distance)
{
BEGIN_BLOCK_OBJC_EXCEPTIONS;
return [Mac(m_frame)->bridge() historyURL:distance];
END_BLOCK_OBJC_EXCEPTIONS;
return KURL();
}
void FrameLoader::didFinishLoad(ResourceLoader* loader)
{
m_client->completeProgress(loader->identifier());
......
......@@ -313,10 +313,6 @@ typedef enum ObjectElementType {
- (BOOL)startDraggingImage:(NSImage *)dragImage at:(NSPoint)dragLoc operation:(NSDragOperation)op event:(NSEvent *)event sourceIsDHTML:(BOOL)flag DHTMLWroteData:(BOOL)dhtmlWroteData;
- (BOOL)mayStartDragAtEventLocation:(NSPoint)location;
- (int)historyLength;
- (BOOL)canGoBackOrForward:(int)distance;
- (NSURL *)historyURL:(int)distance;
- (void)textFieldDidBeginEditing:(DOMHTMLInputElement *)element;
- (void)textFieldDidEndEditing:(DOMHTMLInputElement *)element;
- (void)textDidChangeInTextField:(DOMHTMLInputElement *)element;
......
2007-01-08 Anders Carlsson <acarlsson@apple.com>
Reviewed by Brady.
Remove bridge functions that are implemented directly in FrameLoader now.
* WebCoreSupport/WebFrameBridge.mm:
2007-01-08 Sam Weinig <sam@webkit.org>
Reviewed by Mark.
......
......@@ -793,44 +793,6 @@ static BOOL loggedObjectCacheSize = NO;
return [docView _mayStartDragAtEventLocation:location];
}
- (int)historyLength
{
return [[[self webView] backForwardList] backListCount] + 1;
}
- (BOOL)canGoBackOrForward:(int)distance
{
if (distance == 0)
return YES;
if (distance > 0 && distance <= [[[self webView] backForwardList] forwardListCount])
return YES;
if (distance < 0 && -distance <= [[[self webView] backForwardList] backListCount])
return YES;
return NO;
}
- (NSURL*)historyURL:(int)distance
{
WebView *webView = [self webView];
WebBackForwardList *list = [webView backForwardList];
WebHistoryItem *item = [list itemAtIndex:distance];
if (!item) {
if (distance > 0) {
int forwardListCount = [list forwardListCount];
if (forwardListCount > 0)
item = [list itemAtIndex:forwardListCount];
} else {
int backListCount = [list forwardListCount];
if (backListCount > 0)
item = [list itemAtIndex:-backListCount];
}
}
if (item)
return [item URL];
return nil;
}
static id <WebFormDelegate> formDelegate(WebFrameBridge *self)
{
ASSERT(self->_frame != nil);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment