14576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang/*
24576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang *  Copyright (C) 2010 Igalia S.L.
34576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang *
44576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang *  This library is free software; you can redistribute it and/or
54576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang *  modify it under the terms of the GNU Lesser General Public
64576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang *  License as published by the Free Software Foundation; either
74576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang *  version 2 of the License, or (at your option) any later version.
84576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang *
94576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang *  This library is distributed in the hope that it will be useful,
104576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang *  but WITHOUT ANY WARRANTY; without even the implied warranty of
114576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
124576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang *  Lesser General Public License for more details.
134576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang *
144576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang *  You should have received a copy of the GNU Lesser General Public
154576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang *  License along with this library; if not, write to the Free Software
164576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang *  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
174576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang */
184576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang
194576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang#ifndef DOMObjectCache_h
204576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang#define DOMObjectCache_h
214576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang
224576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wangnamespace WebCore {
234576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wangclass Node;
244576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wangclass Frame;
254576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang};
264576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang
274576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wangnamespace WebKit {
284576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wangclass DOMObjectCache {
294576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wangpublic:
304576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang    static void* get(void* objectHandle);
314576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang    static void* put(void* objectHandle, void* wrapper);
324576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang    static void* put(WebCore::Node* objectHandle, void* wrapper);
334576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang    static void clearByFrame(WebCore::Frame* frame = 0);
344576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang    static void forget(void* objectHandle);
354576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang    ~DOMObjectCache();
364576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang};
374576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang} // namespace WebKit
384576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang
394576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang#endif
40