source: webkit/trunk/JavaScriptCore/wtf/GOwnPtr.cpp@ 45011

Last change on this file since 45011 was 44183, checked in by [email protected], 16 years ago

JavaScripCore:
2009-05-26 Holger Hans Peter Freyther <[email protected]>

Reviewed by Xan Lopez.

https://bugs.webkit.org/show_bug.cgi?id=25613

Be able to use GOwnPtr for GHashTable as well. The assumption
is that the hash table has been created with g_hash_table_new_full
and has proper destruction functions.

  • wtf/GOwnPtr.cpp: (WTF::GHashTable):
  • wtf/GOwnPtr.h:

WebCore:
2009-05-26 Holger Hans Peter Freyther <[email protected]>

Reviewed by Xan Lopez.

https://bugs.webkit.org/show_bug.cgi?id=25613

Add a WebCore::Widget that can embed GtkWidget with and
without a GdkWindow. This can be used to embed any GtkWidget.

Some bits are directly copied from the Scrollbar implementation
but can not be easily shared here.

  • GNUmakefile.am:
  • platform/gtk/GtkPluginWidget.cpp: Added. (WebCore::GtkPluginWidget::GtkPluginWidget): (WebCore::GtkPluginWidget::invalidateRect): (WebCore::GtkPluginWidget::frameRectsChanged): (WebCore::GtkPluginWidget::paint):
  • platform/gtk/GtkPluginWidget.h: Added.

WebKit:
2009-05-26 Holger Hans Peter Freyther <[email protected]>

Reviewed by Xan Lopez.

https://bugs.webkit.org/show_bug.cgi?id=25613

Add a new signal called "create-plugin-widget" and emit it from
within the FrameLoaderClientGtk::createPlugin method. If a
GtkWidget gets returned it will be embedded as a WebCore::Widget
using the new GtkPluginWidget.

  • WebCoreSupport/FrameLoaderClientGtk.cpp: (WebKit::FrameLoaderClient::createPlugin):
  • webkit/webkitwebview.cpp: (webkit_signal_accumulator_object_handled): (webkit_web_view_class_init):
  • webkitmarshal.list:
File size: 1.5 KB
Line 
1/*
2 * Copyright (C) 2008 Collabora Ltd.
3 *
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2 of the License, or (at your option) any later version.
8 *
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
13 *
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
17 */
18
19#include "config.h"
20#include "GOwnPtr.h"
21
22namespace WTF {
23
24template <> void freeOwnedGPtr<GError>(GError* ptr)
25{
26 if (ptr)
27 g_error_free(ptr);
28}
29
30template <> void freeOwnedGPtr<GList>(GList* ptr)
31{
32 g_list_free(ptr);
33}
34
35template <> void freeOwnedGPtr<GCond>(GCond* ptr)
36{
37 if (ptr)
38 g_cond_free(ptr);
39}
40
41template <> void freeOwnedGPtr<GMutex>(GMutex* ptr)
42{
43 if (ptr)
44 g_mutex_free(ptr);
45}
46
47template <> void freeOwnedGPtr<GPatternSpec>(GPatternSpec* ptr)
48{
49 if (ptr)
50 g_pattern_spec_free(ptr);
51}
52
53template <> void freeOwnedGPtr<GDir>(GDir* ptr)
54{
55 if (ptr)
56 g_dir_close(ptr);
57}
58
59template <> void freeOwnedGPtr<GHashTable>(GHashTable* ptr)
60{
61 if (ptr)
62 g_hash_table_unref(ptr);
63}
64
65} // namespace WTF
Note: See TracBrowser for help on using the repository browser.