10bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch/*
20bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch *  Copyright (C) 2007-2009 Torch Mobile Inc.
30bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch *
40bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch *  This library is free software; you can redistribute it and/or
50bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch *  modify it under the terms of the GNU Library General Public
60bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch *  License as published by the Free Software Foundation; either
70bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch *  version 2 of the License, or (at your option) any later version.
80bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch *
90bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch *  This library is distributed in the hope that it will be useful,
100bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch *  but WITHOUT ANY WARRANTY; without even the implied warranty of
110bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
120bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch *  Library General Public License for more details.
130bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch *
140bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch *  You should have received a copy of the GNU Library General Public License
150bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch *  along with this library; see the file COPYING.LIB.  If not, write to
160bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch *  the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
170bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch *  Boston, MA 02110-1301, USA.
180bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch *
190bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch */
200bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch
210bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch#include "config.h"
220bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch#include "IconDatabase.h"
230bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch
240bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch#include "AutodrainedPool.h"
250bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch#include "DocumentLoader.h"
260bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch#include "FileSystem.h"
270bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch#include "IconDatabaseClient.h"
280bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch#include "IconRecord.h"
290bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch#include "Image.h"
30dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block#include <wtf/text/CString.h>
310bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch
320bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdochnamespace WebCore {
330bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch
3481bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdochstatic IconDatabase* sharedIconDatabase = 0;
3581bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch
360bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch// Function to obtain the global icon database.
3781bc750723a18f21cd17d1b173cd2a4dda9cea6eBen MurdochIconDatabase& iconDatabase()
3881bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch{
3981bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch    if (!sharedIconDatabase)
4081bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch        sharedIconDatabase = new IconDatabase;
4181bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch    return *sharedIconDatabase;
4281bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch}
430bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch
440bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben MurdochIconDatabase::IconDatabase() {}
450bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben MurdochIconDatabase::~IconDatabase() {}
460bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch
470bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdochvoid IconDatabase::setClient(IconDatabaseClient*) {}
480bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch
490bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdochbool IconDatabase::open(const String& path) { return false; }
500bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdochvoid IconDatabase::close() {}
510bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch
520bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdochvoid IconDatabase::removeAllIcons() {}
530bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch
540bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben MurdochImage* IconDatabase::iconForPageURL(const String&, const IntSize&) { return 0; }
550bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdochvoid IconDatabase::readIconForPageURLFromDisk(const String&) {}
560bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben MurdochString IconDatabase::iconURLForPageURL(const String&) { return String(); }
570bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben MurdochImage* IconDatabase::defaultIcon(const IntSize&) { return 0;}
580bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch
590bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdochvoid IconDatabase::retainIconForPageURL(const String&) {}
600bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdochvoid IconDatabase::releaseIconForPageURL(const String&) {}
610bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch
620bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdochvoid IconDatabase::setIconDataForIconURL(PassRefPtr<SharedBuffer> data, const String&) {}
630bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdochvoid IconDatabase::setIconURLForPageURL(const String& iconURL, const String& pageURL) {}
640bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch
650bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben MurdochIconLoadDecision IconDatabase::loadDecisionForIconURL(const String&, DocumentLoader*) { return IconLoadNo; }
660bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdochbool IconDatabase::iconDataKnownForIconURL(const String&) { return false; }
670bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch
680bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdochvoid IconDatabase::setEnabled(bool enabled) {}
690bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdochbool IconDatabase::isEnabled() const { return false; }
700bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch
710bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdochvoid IconDatabase::setPrivateBrowsingEnabled(bool flag) {}
720bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdochbool IconDatabase::isPrivateBrowsingEnabled() const { return false; }
730bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch
740bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdochvoid IconDatabase::delayDatabaseCleanup() {}
750bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdochvoid IconDatabase::allowDatabaseCleanup() {}
760bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdochvoid IconDatabase::checkIntegrityBeforeOpening() {}
770bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch
780bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch// Support for WebCoreStatistics in WebKit
790bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdochsize_t IconDatabase::pageURLMappingCount() { return 0; }
800bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdochsize_t IconDatabase::retainedPageURLCount() {return 0; }
810bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdochsize_t IconDatabase::iconRecordCount() { return 0; }
820bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdochsize_t IconDatabase::iconRecordCountWithData() { return 0; }
830bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch
840bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdochbool IconDatabase::isOpen() const { return false; }
850bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben MurdochString IconDatabase::databasePath() const { return String(); }
860bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben MurdochString IconDatabase::defaultDatabaseFilename() { return String(); }
870bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch
880bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch} // namespace WebCore
89