Changeset 51629 in webkit


Ignore:
Timestamp:
Dec 3, 2009 4:18:23 AM (14 years ago)
Author:
benm@google.com
Message:

[Android] The FrameLoaderClient is unaware of BackForwardList changes.
https://bugs.webkit.org/show_bug.cgi?id=31914

Reviewed by Brady Eidson.

WebCore:

This change adds three new methods on the FrameLoaderClient interface to receive notifications when the BackForwardList changes.

No new tests required. Functionality on all platforms upstream remains the same. Android is the first platform to make use of these callbacks.

  • history/BackForwardList.cpp:

(WebCore::BackForwardList::addItem): Execute the callback.
(WebCore::BackForwardList::goBack): ditto.
(WebCore::BackForwardList::goForward): ditto.
(WebCore::BackForwardList::goToItem): ditto.
(WebCore::BackForwardList::setCapacity): dito.

  • loader/EmptyClients.h:

(WebCore::EmptyFrameLoaderClient::dispatchDidAddBackForwardItem): Add an empty implementation for the callback that does nothing.
(WebCore::EmptyFrameLoaderClient::dispatchDidRemoveBackForwardItem): ditto.
(WebCore::EmptyFrameLoaderClient::dispatchDidChangeBackForwardIndex): ditto.

  • loader/FrameLoaderClient.h:

WebKit/chromium:

  • src/FrameLoaderClientImpl.cpp:

(WebKit::FrameLoaderClientImpl::dispatchDidAddBackForwardItem): Add an empty implementation. Method added to FrameLoaderClient by Android (see bug).
(WebKit::FrameLoaderClientImpl::dispatchDidRemoveBackForwardItem): ditto.
(WebKit::FrameLoaderClientImpl::dispatchDidChangeBackForwardIndex): dito.

  • src/FrameLoaderClientImpl.h:

WebKit/gtk:

  • WebCoreSupport/FrameLoaderClientGtk.cpp:

(WebKit::FrameLoaderClient::dispatchDidAddBackForwardItem): Add an empty implementation. Method added to FrameLoaderClient by Android (see bug).
(WebKit::FrameLoaderClient::dispatchDidRemoveBackForwardItem): ditto.
(WebKit::FrameLoaderClient::dispatchDidChangeBackForwardIndex): ditto.

  • WebCoreSupport/FrameLoaderClientGtk.h:

WebKit/haiku:

  • WebCoreSupport/FrameLoaderClientHaiku.cpp:

(WebCore::FrameLoaderClientHaiku::dispatchDidAddBackForwardItem): Add an empty implementation. Method added to FrameLoaderClient by Android (see bug).
(WebCore::FrameLoaderClientHaiku::dispatchDidRemoveBackForwardItem): ditto.
(WebCore::FrameLoaderClientHaiku::dispatchDidChangeBackForwardIndex): ditto.

  • WebCoreSupport/FrameLoaderClientHaiku.h:

WebKit/mac:

  • WebCoreSupport/WebFrameLoaderClient.h:
  • WebCoreSupport/WebFrameLoaderClient.mm:

(WebFrameLoaderClient::dispatchDidAddBackForwardItem): Add an empty implementation. Method added to FrameLoaderClient by Android (see bug).
(WebFrameLoaderClient::dispatchDidRemoveBackForwardItem): ditto.
(WebFrameLoaderClient::dispatchDidChangeBackForwardIndex): ditto.

WebKit/qt:

  • WebCoreSupport/FrameLoaderClientQt.cpp:

(WebCore::FrameLoaderClientQt::dispatchDidAddBackForwardItem): Add an empty implementation. Method added to FrameLoaderClient by Android (see bug).
(WebCore::FrameLoaderClientQt::dispatchDidRemoveBackForwardItem): ditto.
(WebCore::FrameLoaderClientQt::dispatchDidChangeBackForwardIndex): ditto.

  • WebCoreSupport/FrameLoaderClientQt.h:

WebKit/win:

  • WebCoreSupport/WebFrameLoaderClient.cpp:

(WebFrameLoaderClient::dispatchDidAddBackForwardItem): Add an empty implementation. Method added to FrameLoaderClient by Android (see bug).
(WebFrameLoaderClient::dispatchDidRemoveBackForwardItem): ditto.
(WebFrameLoaderClient::dispatchDidChangeBackForwardIndex): ditto.

  • WebCoreSupport/WebFrameLoaderClient.h:

WebKit/wx:

  • WebKitSupport/FrameLoaderClientWx.cpp:

(WebCore::FrameLoaderClientWx::dispatchDidAddBackForwardItem): Add an empty implementation. Method added to FrameLoaderClient by Android (see bug).
(WebCore::FrameLoaderClientWx::dispatchDidRemoveBackForwardItem): ditto.
(WebCore::FrameLoaderClientWx::dispatchDidChangeBackForwardIndex): ditto.

  • WebKitSupport/FrameLoaderClientWx.h:
Location:
trunk
Files:
25 edited

Legend:

Unmodified
Added
Removed
  • trunk/WebCore/ChangeLog

    r51628 r51629  
     12009-12-03  Ben Murdoch  <benm@google.com>
     2
     3        Reviewed by Brady Eidson.
     4
     5        [Android] The FrameLoaderClient is unaware of BackForwardList changes.
     6        https://bugs.webkit.org/show_bug.cgi?id=31914
     7
     8        This change adds three new methods on the FrameLoaderClient interface to receive notifications when the BackForwardList changes.
     9
     10        No new tests required. Functionality on all platforms upstream remains the same. Android is the first platform to make use of these callbacks.
     11
     12        * history/BackForwardList.cpp:
     13        (WebCore::BackForwardList::addItem): Execute the callback.
     14        (WebCore::BackForwardList::goBack): ditto.
     15        (WebCore::BackForwardList::goForward): ditto.
     16        (WebCore::BackForwardList::goToItem): ditto.
     17        (WebCore::BackForwardList::setCapacity): dito.
     18        * loader/EmptyClients.h:
     19        (WebCore::EmptyFrameLoaderClient::dispatchDidAddBackForwardItem): Add an empty implementation for the callback that does nothing.
     20        (WebCore::EmptyFrameLoaderClient::dispatchDidRemoveBackForwardItem): ditto.
     21        (WebCore::EmptyFrameLoaderClient::dispatchDidChangeBackForwardIndex): ditto.
     22        * loader/FrameLoaderClient.h:
     23
    1242009-12-03  Ben Murdoch  <benm@google.com>
    225
  • trunk/WebCore/history/BackForwardList.cpp

    r46539 r51629  
    2828#include "BackForwardList.h"
    2929
     30#include "Frame.h"
     31#include "FrameLoader.h"
     32#include "FrameLoaderClient.h"
    3033#include "HistoryItem.h"
    3134#include "Logging.h"
     35#include "Page.h"
    3236#include "PageCache.h"
    3337
     
    7882        pageCache()->remove(item.get());
    7983        m_current--;
     84        m_page->mainFrame()->loader()->client()->dispatchDidRemoveBackForwardItem(item.get());
    8085    }
    8186   
     
    8388    m_entryHash.add(m_entries.last());
    8489    m_current++;
     90    m_page->mainFrame()->loader()->client()->dispatchDidAddBackForwardItem(currentItem());
    8591}
    8692
     
    8894{
    8995    ASSERT(m_current > 0);
    90     if (m_current > 0)
     96    if (m_current > 0) {
    9197        m_current--;
     98        m_page->mainFrame()->loader()->client()->dispatchDidChangeBackForwardIndex();
     99    }
    92100}
    93101
     
    95103{
    96104    ASSERT(m_current < m_entries.size() - 1);
    97     if (m_current < m_entries.size() - 1)
     105    if (m_current < m_entries.size() - 1) {
    98106        m_current++;
     107        m_page->mainFrame()->loader()->client()->dispatchDidChangeBackForwardIndex();
     108    }
    99109}
    100110
     
    108118        if (m_entries[index] == item)
    109119            break;
    110     if (index < m_entries.size())
     120    if (index < m_entries.size()) {
    111121        m_current = index;
     122        m_page->mainFrame()->loader()->client()->dispatchDidChangeBackForwardIndex();
     123    }
    112124}
    113125
     
    175187    if (!size)
    176188        m_current = NoCurrentItemIndex;
    177     else if (m_current > m_entries.size() - 1)
     189    else if (m_current > m_entries.size() - 1) {
    178190        m_current = m_entries.size() - 1;
    179        
     191        m_page->mainFrame()->loader()->client()->dispatchDidChangeBackForwardIndex();
     192    }
    180193    m_capacity = size;
    181194}
  • trunk/WebCore/loader/EmptyClients.h

    r50973 r51629  
    282282    virtual void updateGlobalHistoryRedirectLinks() { }
    283283    virtual bool shouldGoToHistoryItem(HistoryItem*) const { return false; }
     284    virtual void dispatchDidAddBackForwardItem(HistoryItem*) const { }
     285    virtual void dispatchDidRemoveBackForwardItem(HistoryItem*) const { };
     286    virtual void dispatchDidChangeBackForwardIndex() const { }
    284287    virtual void saveViewStateToItem(HistoryItem*) { }
    285288    virtual bool canCachePage() const { return false; }
  • trunk/WebCore/loader/FrameLoaderClient.h

    r50993 r51629  
    167167
    168168        virtual bool shouldGoToHistoryItem(HistoryItem*) const = 0;
     169        virtual void dispatchDidAddBackForwardItem(HistoryItem*) const = 0;
     170        virtual void dispatchDidRemoveBackForwardItem(HistoryItem*) const = 0;
     171        virtual void dispatchDidChangeBackForwardIndex() const = 0;
    169172
    170173        // This frame has displayed inactive content (such as an image) from an
  • trunk/WebKit/chromium/ChangeLog

    r51623 r51629  
     12009-12-03  Ben Murdoch  <benm@google.com>
     2
     3        Reviewed by Brady Eidson.
     4
     5        [Android] The FrameLoaderClient is unaware of BackForwardList changes.
     6        https://bugs.webkit.org/show_bug.cgi?id=31914
     7
     8        * src/FrameLoaderClientImpl.cpp:
     9        (WebKit::FrameLoaderClientImpl::dispatchDidAddBackForwardItem): Add an empty implementation. Method added to FrameLoaderClient by Android (see bug).
     10        (WebKit::FrameLoaderClientImpl::dispatchDidRemoveBackForwardItem): ditto.
     11        (WebKit::FrameLoaderClientImpl::dispatchDidChangeBackForwardIndex): dito.
     12        * src/FrameLoaderClientImpl.h:
     13
    1142009-12-02  Yusuke Sato  <yusukes@chromium.org>
    215
  • trunk/WebKit/chromium/src/FrameLoaderClientImpl.cpp

    r51548 r51629  
    10571057}
    10581058
     1059void FrameLoaderClientImpl::dispatchDidAddBackForwardItem(HistoryItem*) const
     1060{
     1061}
     1062
     1063void FrameLoaderClientImpl::dispatchDidRemoveBackForwardItem(HistoryItem*) const
     1064{
     1065}
     1066
     1067void FrameLoaderClientImpl::dispatchDidChangeBackForwardIndex() const
     1068{
     1069}
     1070
    10591071void FrameLoaderClientImpl::didDisplayInsecureContent()
    10601072{
  • trunk/WebKit/chromium/src/FrameLoaderClientImpl.h

    r50993 r51629  
    132132    virtual void updateGlobalHistoryRedirectLinks();
    133133    virtual bool shouldGoToHistoryItem(WebCore::HistoryItem*) const;
     134    virtual void dispatchDidAddBackForwardItem(WebCore::HistoryItem*) const;
     135    virtual void dispatchDidRemoveBackForwardItem(WebCore::HistoryItem*) const;
     136    virtual void dispatchDidChangeBackForwardIndex() const;
    134137    virtual void didDisplayInsecureContent();
    135138    virtual void didRunInsecureContent(WebCore::SecurityOrigin*);
  • trunk/WebKit/gtk/ChangeLog

    r51567 r51629  
     12009-12-03  Ben Murdoch  <benm@google.com>
     2
     3        Reviewed by Brady Eidson.
     4
     5        [Android] The FrameLoaderClient is unaware of BackForwardList changes.
     6        https://bugs.webkit.org/show_bug.cgi?id=31914
     7
     8        * WebCoreSupport/FrameLoaderClientGtk.cpp:
     9        (WebKit::FrameLoaderClient::dispatchDidAddBackForwardItem): Add an empty implementation. Method added to FrameLoaderClient by Android (see bug).
     10        (WebKit::FrameLoaderClient::dispatchDidRemoveBackForwardItem): ditto.
     11        (WebKit::FrameLoaderClient::dispatchDidChangeBackForwardIndex): ditto.
     12        * WebCoreSupport/FrameLoaderClientGtk.h:
     13
    1142009-12-01  Nikolas Zimmermann  <nzimmermann@rim.com>
    215
  • trunk/WebKit/gtk/WebCoreSupport/FrameLoaderClientGtk.cpp

    r51104 r51629  
    585585}
    586586
     587void FrameLoaderClient::dispatchDidAddBackForwardItem(HistoryItem*) const
     588{
     589}
     590
     591void FrameLoaderClient::dispatchDidRemoveBackForwardItem(HistoryItem*) const
     592{
     593}
     594
     595void FrameLoaderClient::dispatchDidChangeBackForwardIndex() const
     596{
     597}
     598
    587599void FrameLoaderClient::didDisplayInsecureContent()
    588600{
  • trunk/WebKit/gtk/WebCoreSupport/FrameLoaderClientGtk.h

    r50973 r51629  
    136136        virtual void updateGlobalHistoryRedirectLinks();
    137137        virtual bool shouldGoToHistoryItem(WebCore::HistoryItem*) const;
     138        virtual void dispatchDidAddBackForwardItem(WebCore::HistoryItem*) const;
     139        virtual void dispatchDidRemoveBackForwardItem(WebCore::HistoryItem*) const;
     140        virtual void dispatchDidChangeBackForwardIndex() const;
    138141
    139142        virtual void didDisplayInsecureContent();
  • trunk/WebKit/haiku/ChangeLog

    r50973 r51629  
     12009-12-03  Ben Murdoch  <benm@google.com>
     2
     3        Reviewed by Brady Eidson.
     4
     5        [Android] The FrameLoaderClient is unaware of BackForwardList changes.
     6        https://bugs.webkit.org/show_bug.cgi?id=31914
     7
     8        * WebCoreSupport/FrameLoaderClientHaiku.cpp:
     9        (WebCore::FrameLoaderClientHaiku::dispatchDidAddBackForwardItem): Add an empty implementation. Method added to FrameLoaderClient by Android (see bug).
     10        (WebCore::FrameLoaderClientHaiku::dispatchDidRemoveBackForwardItem): ditto.
     11        (WebCore::FrameLoaderClientHaiku::dispatchDidChangeBackForwardIndex): ditto.
     12        * WebCoreSupport/FrameLoaderClientHaiku.h:
     13
    1142009-11-13  Adam Roben  <aroben@apple.com>
    215
  • trunk/WebKit/haiku/WebCoreSupport/FrameLoaderClientHaiku.cpp

    r50973 r51629  
    463463}
    464464
     465void FrameLoaderClientHaiku::dispatchDidAddBackForwardItem(WebCore::HistoryItem*) const
     466{
     467}
     468
     469void FrameLoaderClientHaiku::dispatchDidRemoveBackForwardItem(WebCore::HistoryItem*) const
     470{
     471}
     472
     473void FrameLoaderClientHaiku::dispatchDidChangeBackForwardIndex() const
     474{
     475}
     476
    465477void FrameLoaderClientHaiku::saveScrollPositionAndViewStateToItem(WebCore::HistoryItem*)
    466478{
  • trunk/WebKit/haiku/WebCoreSupport/FrameLoaderClientHaiku.h

    r50973 r51629  
    151151        virtual void updateGlobalHistoryRedirectLinks();
    152152        virtual bool shouldGoToHistoryItem(HistoryItem*) const;
     153        virtual void dispatchDidAddBackForwardItem(HistoryItem*) const;
     154        virtual void dispatchDidRemoveBackForwardItem(HistoryItem*) const;
     155        virtual void dispatchDidChangeBackForwardIndex() const;
    153156        virtual void saveScrollPositionAndViewStateToItem(HistoryItem*);
    154157        virtual bool canCachePage() const;
  • trunk/WebKit/mac/ChangeLog

    r51620 r51629  
     12009-12-03  Ben Murdoch  <benm@google.com>
     2
     3        Reviewed by Brady Eidson.
     4
     5        [Android] The FrameLoaderClient is unaware of BackForwardList changes.
     6        https://bugs.webkit.org/show_bug.cgi?id=31914
     7
     8        * WebCoreSupport/WebFrameLoaderClient.h:
     9        * WebCoreSupport/WebFrameLoaderClient.mm:
     10        (WebFrameLoaderClient::dispatchDidAddBackForwardItem): Add an empty implementation. Method added to FrameLoaderClient by Android (see bug).
     11        (WebFrameLoaderClient::dispatchDidRemoveBackForwardItem): ditto.
     12        (WebFrameLoaderClient::dispatchDidChangeBackForwardIndex): ditto.
     13
    1142009-12-02  Dan Bernstein  <mitz@apple.com>
    215
  • trunk/WebKit/mac/WebCoreSupport/WebFrameLoaderClient.h

    r50973 r51629  
    144144
    145145    virtual bool shouldGoToHistoryItem(WebCore::HistoryItem*) const;
     146    virtual void dispatchDidAddBackForwardItem(WebCore::HistoryItem*) const;
     147    virtual void dispatchDidRemoveBackForwardItem(WebCore::HistoryItem*) const;
     148    virtual void dispatchDidChangeBackForwardIndex() const;
    146149
    147150    virtual void didDisplayInsecureContent();
  • trunk/WebKit/mac/WebCoreSupport/WebFrameLoaderClient.mm

    r51617 r51629  
    878878}
    879879
     880void WebFrameLoaderClient::dispatchDidAddBackForwardItem(HistoryItem*) const
     881{
     882}
     883
     884void WebFrameLoaderClient::dispatchDidRemoveBackForwardItem(HistoryItem*) const
     885{
     886}
     887
     888void WebFrameLoaderClient::dispatchDidChangeBackForwardIndex() const
     889{
     890}
     891
    880892void WebFrameLoaderClient::didDisplayInsecureContent()
    881893{
  • trunk/WebKit/qt/ChangeLog

    r51568 r51629  
     12009-12-03  Ben Murdoch  <benm@google.com>
     2
     3        Reviewed by Brady Eidson.
     4
     5        [Android] The FrameLoaderClient is unaware of BackForwardList changes.
     6        https://bugs.webkit.org/show_bug.cgi?id=31914
     7
     8        * WebCoreSupport/FrameLoaderClientQt.cpp:
     9        (WebCore::FrameLoaderClientQt::dispatchDidAddBackForwardItem): Add an empty implementation. Method added to FrameLoaderClient by Android (see bug).
     10        (WebCore::FrameLoaderClientQt::dispatchDidRemoveBackForwardItem): ditto.
     11        (WebCore::FrameLoaderClientQt::dispatchDidChangeBackForwardIndex): ditto.
     12        * WebCoreSupport/FrameLoaderClientQt.h:
     13
    1142009-12-01  Nikolas Zimmermann  <nzimmermann@rim.com>
    215
  • trunk/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp

    r51409 r51629  
    641641{
    642642    return true;
     643}
     644
     645void FrameLoaderClientQt::dispatchDidAddBackForwardItem(WebCore::HistoryItem*) const
     646{
     647}
     648
     649void FrameLoaderClientQt::dispatchDidRemoveBackForwardItem(WebCore::HistoryItem*) const
     650{
     651}
     652
     653void FrameLoaderClientQt::dispatchDidChangeBackForwardIndex() const
     654{
    643655}
    644656
  • trunk/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.h

    r50973 r51629  
    149149        virtual void updateGlobalHistoryRedirectLinks();
    150150        virtual bool shouldGoToHistoryItem(HistoryItem*) const;
    151 
     151        virtual void dispatchDidAddBackForwardItem(HistoryItem*) const;
     152        virtual void dispatchDidRemoveBackForwardItem(HistoryItem*) const;
     153        virtual void dispatchDidChangeBackForwardIndex() const;
    152154        virtual void didDisplayInsecureContent();
    153155        virtual void didRunInsecureContent(SecurityOrigin*);
  • trunk/WebKit/win/ChangeLog

    r51607 r51629  
     12009-12-03  Ben Murdoch  <benm@google.com>
     2
     3        Reviewed by Brady Eidson.
     4
     5        [Android] The FrameLoaderClient is unaware of BackForwardList changes.
     6        https://bugs.webkit.org/show_bug.cgi?id=31914
     7
     8        * WebCoreSupport/WebFrameLoaderClient.cpp:
     9        (WebFrameLoaderClient::dispatchDidAddBackForwardItem): Add an empty implementation. Method added to FrameLoaderClient by Android (see bug).
     10        (WebFrameLoaderClient::dispatchDidRemoveBackForwardItem): ditto.
     11        (WebFrameLoaderClient::dispatchDidChangeBackForwardIndex): ditto.
     12        * WebCoreSupport/WebFrameLoaderClient.h:
     13
    1142009-12-02  Timothy Hatcher  <timothy@apple.com>
    215
  • trunk/WebKit/win/WebCoreSupport/WebFrameLoaderClient.cpp

    r51510 r51629  
    565565}
    566566
     567void WebFrameLoaderClient::dispatchDidAddBackForwardItem(HistoryItem*) const
     568{
     569}
     570
     571void WebFrameLoaderClient::dispatchDidRemoveBackForwardItem(HistoryItem*) const
     572{
     573}
     574
     575void WebFrameLoaderClient::dispatchDidChangeBackForwardIndex() const
     576{
     577}
     578
    567579void WebFrameLoaderClient::didDisplayInsecureContent()
    568580{
  • trunk/WebKit/win/WebCoreSupport/WebFrameLoaderClient.h

    r49320 r51629  
    9292    virtual void updateGlobalHistoryRedirectLinks();
    9393    virtual bool shouldGoToHistoryItem(WebCore::HistoryItem*) const;
     94    virtual void dispatchDidAddBackForwardItem(WebCore::HistoryItem*) const;
     95    virtual void dispatchDidRemoveBackForwardItem(WebCore::HistoryItem*) const;
     96    virtual void dispatchDidChangeBackForwardIndex() const;
    9497
    9598    virtual void didDisplayInsecureContent();
  • trunk/WebKit/wx/ChangeLog

    r51336 r51629  
     12009-12-03  Ben Murdoch  <benm@google.com>
     2
     3        Reviewed by Brady Eidson.
     4
     5        [Android] The FrameLoaderClient is unaware of BackForwardList changes.
     6        https://bugs.webkit.org/show_bug.cgi?id=31914
     7
     8        * WebKitSupport/FrameLoaderClientWx.cpp:
     9        (WebCore::FrameLoaderClientWx::dispatchDidAddBackForwardItem): Add an empty implementation. Method added to FrameLoaderClient by Android (see bug).
     10        (WebCore::FrameLoaderClientWx::dispatchDidRemoveBackForwardItem): ditto.
     11        (WebCore::FrameLoaderClientWx::dispatchDidChangeBackForwardIndex): ditto.
     12        * WebKitSupport/FrameLoaderClientWx.h:
     13
    1142009-11-23  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
    215
  • trunk/WebKit/wx/WebKitSupport/FrameLoaderClientWx.cpp

    r51143 r51629  
    548548}
    549549
     550void FrameLoaderClientWx::dispatchDidAddBackForwardItem(WebCore::HistoryItem*) const
     551{
     552}
     553
     554void FrameLoaderClientWx::dispatchDidRemoveBackForwardItem(WebCore::HistoryItem*) const
     555{
     556}
     557
     558void FrameLoaderClientWx::dispatchDidChangeBackForwardIndex() const
     559{
     560}
     561
    550562void FrameLoaderClientWx::didDisplayInsecureContent()
    551563{
  • trunk/WebKit/wx/WebKitSupport/FrameLoaderClientWx.h

    r51143 r51629  
    150150        virtual void updateGlobalHistoryRedirectLinks();
    151151        virtual bool shouldGoToHistoryItem(HistoryItem*) const;
     152        virtual void dispatchDidAddBackForwardItem(HistoryItem*) const;
     153        virtual void dispatchDidRemoveBackForwardItem(HistoryItem*) const;
     154        virtual void dispatchDidChangeBackForwardIndex() const;
    152155        virtual void saveScrollPositionAndViewStateToItem(HistoryItem*);
    153156        virtual bool canCachePage() const;
Note: See TracChangeset for help on using the changeset viewer.