Changeset 50507 in webkit
- Timestamp:
- Nov 4, 2009 2:19:39 AM (14 years ago)
- Location:
- trunk
- Files:
-
- 9 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/WebCore/ChangeLog
r50506 r50507 1 2009-11-04 Martin Robinson <martin.james.robinson@gmail.com> 2 3 Reviewed by Jan Alonzo. 4 5 [GTK] Enable DOM clipboard and drag-and-drop access 6 https://bugs.webkit.org/show_bug.cgi?id=30623 7 8 Unify redudant methods which will always return the same value. 9 10 * platform/gtk/PasteboardGtk.cpp: 11 (WebCore::Pasteboard::writeSelection): 12 * platform/gtk/PasteboardHelper.h: 13 1 14 2009-11-04 Joanmarie Diggs <joanmarie.diggs@gmail.com> 2 15 -
trunk/WebCore/platform/gtk/PasteboardGtk.cpp
r48755 r50507 103 103 104 104 gint n_targets; 105 GtkTargetEntry* targets = gtk_target_table_new_from_list(m_helper-> getCopyTargetList(frame), &n_targets);105 GtkTargetEntry* targets = gtk_target_table_new_from_list(m_helper->targetList(), &n_targets); 106 106 gtk_clipboard_set_with_data(clipboard, targets, n_targets, 107 107 clipboard_get_contents_cb, clipboard_clear_contents_cb, data); -
trunk/WebCore/platform/gtk/PasteboardHelper.h
r47310 r50507 42 42 virtual GtkClipboard* getClipboard(Frame*) const = 0; 43 43 virtual GtkClipboard* getPrimary(Frame*) const = 0; 44 virtual GtkTargetList* getCopyTargetList(Frame*) const = 0; 45 virtual GtkTargetList* getPasteTargetList(Frame*) const = 0; 44 virtual GtkTargetList* targetList() const = 0; 46 45 virtual gint getWebViewTargetInfoHtml() const = 0; 47 46 }; -
trunk/WebKit/gtk/ChangeLog
r50351 r50507 1 2009-11-04 Martin Robinson <martin.james.robinson@gmail.com> 2 3 Reviewed by Jan Alonzo. 4 5 [GTK] Enable DOM clipboard and drag-and-drop access 6 https://bugs.webkit.org/show_bug.cgi?id=30623 7 8 Move handling of target list to PasteboardHelperGtk. 9 10 * WebCoreSupport/PasteboardHelperGtk.cpp: 11 (WebKit::PasteboardHelperGtk::PasteboardHelperGtk): 12 (WebKit::PasteboardHelperGtk::~PasteboardHelperGtk): 13 (WebKit::PasteboardHelperGtk::fullTargetList): 14 * WebCoreSupport/PasteboardHelperGtk.h: 15 * webkit/webkitprivate.cpp: 16 (WebKit::pasteboardHelperInstance): 17 (webkit_init): 18 * webkit/webkitprivate.h: 19 * webkit/webkitwebview.cpp: 20 (webkit_web_view_dispose): 21 (webkit_web_view_init): 22 (webkit_web_view_get_copy_target_list): 23 (webkit_web_view_get_paste_target_list): 24 1 25 2009-10-30 Evan Stade <estade@chromium.org> 2 26 -
trunk/WebKit/gtk/WebCoreSupport/PasteboardHelperGtk.cpp
r47310 r50507 32 32 namespace WebKit { 33 33 34 static GdkAtom gdkMarkupAtom = gdk_atom_intern("text/html", FALSE); 35 36 PasteboardHelperGtk::PasteboardHelperGtk() 37 : m_targetList(gtk_target_list_new(0, 0)) 38 { 39 gtk_target_list_add_text_targets(m_targetList, WEBKIT_WEB_VIEW_TARGET_INFO_TEXT); 40 gtk_target_list_add(m_targetList, gdkMarkupAtom, 0, WEBKIT_WEB_VIEW_TARGET_INFO_HTML); 41 } 42 43 PasteboardHelperGtk::~PasteboardHelperGtk() 44 { 45 gtk_target_list_unref(m_targetList); 46 } 47 34 48 GtkClipboard* PasteboardHelperGtk::getCurrentTarget(Frame* frame) const 35 49 { … … 56 70 } 57 71 58 GtkTargetList* PasteboardHelperGtk:: getCopyTargetList(Frame* frame) const72 GtkTargetList* PasteboardHelperGtk::targetList() const 59 73 { 60 WebKitWebView* webView = webkit_web_frame_get_web_view(kit(frame)); 61 return webkit_web_view_get_copy_target_list(webView); 62 } 63 64 GtkTargetList* PasteboardHelperGtk::getPasteTargetList(Frame* frame) const 65 { 66 WebKitWebView* webView = webkit_web_frame_get_web_view(kit(frame)); 67 return webkit_web_view_get_paste_target_list(webView); 74 return m_targetList; 68 75 } 69 76 -
trunk/WebKit/gtk/WebCoreSupport/PasteboardHelperGtk.h
r47310 r50507 40 40 class PasteboardHelperGtk : public PasteboardHelper { 41 41 public: 42 PasteboardHelperGtk() { } 42 PasteboardHelperGtk(); 43 ~PasteboardHelperGtk(); 43 44 virtual GtkClipboard* getCurrentTarget(Frame*) const; 44 45 virtual GtkClipboard* getClipboard(Frame*) const; 45 46 virtual GtkClipboard* getPrimary(Frame*) const; 46 virtual GtkTargetList* getCopyTargetList(Frame*) const; 47 virtual GtkTargetList* getPasteTargetList(Frame*) const; 47 virtual GtkTargetList* targetList() const; 48 48 virtual gint getWebViewTargetInfoHtml() const; 49 50 private: 51 GtkTargetList* m_targetList; 49 52 }; 50 53 -
trunk/WebKit/gtk/webkit/webkitprivate.cpp
r48511 r50507 154 154 } 155 155 156 PasteboardHelperGtk* pasteboardHelperInstance() 157 { 158 static PasteboardHelperGtk* helper = new PasteboardHelperGtk(); 159 return helper; 160 } 161 156 162 } /** end namespace WebKit */ 157 163 … … 238 244 PageGroup::setShouldTrackVisitedLinks(true); 239 245 240 Pasteboard::generalPasteboard()->setHelper( new WebKit::PasteboardHelperGtk());246 Pasteboard::generalPasteboard()->setHelper(WebKit::pasteboardHelperInstance()); 241 247 242 248 SoupSession* session = webkit_get_default_session(); -
trunk/WebKit/gtk/webkit/webkitprivate.h
r50245 r50507 71 71 72 72 class DocumentLoader; 73 class PasteboardHelperGtk; 73 74 74 75 WebKitWebView* getViewFromFrame(WebKitWebFrame*); … … 98 99 99 100 WebKitHitTestResult* kit(const WebCore::HitTestResult&); 101 102 WebKit::PasteboardHelperGtk* pasteboardHelperInstance(); 100 103 } 101 104 … … 130 133 GtkIMContext* imContext; 131 134 132 GtkTargetList* copy_target_list;133 GtkTargetList* paste_target_list;134 135 135 gboolean transparent; 136 136 -
trunk/WebKit/gtk/webkit/webkitwebview.cpp
r49843 r50507 64 64 #include "FrameView.h" 65 65 #include "MouseEventWithHitTestResults.h" 66 #include "Pasteboard.h" 66 67 #include "PasteboardHelper.h" 68 #include "PasteboardHelperGtk.h" 67 69 #include "PlatformKeyboardEvent.h" 68 70 #include "PlatformWheelEvent.h" … … 1002 1004 g_object_unref(priv->imContext); 1003 1005 priv->imContext = NULL; 1004 1005 gtk_target_list_unref(priv->copy_target_list);1006 priv->copy_target_list = NULL;1007 1008 gtk_target_list_unref(priv->paste_target_list);1009 priv->paste_target_list = NULL;1010 1006 } 1011 1007 … … 2573 2569 priv->zoomFullContent = FALSE; 2574 2570 2575 GdkAtom textHtml = gdk_atom_intern_static_string("text/html");2576 /* Targets for copy */2577 priv->copy_target_list = gtk_target_list_new(NULL, 0);2578 gtk_target_list_add(priv->copy_target_list, textHtml, 0, WEBKIT_WEB_VIEW_TARGET_INFO_HTML);2579 gtk_target_list_add_text_targets(priv->copy_target_list, WEBKIT_WEB_VIEW_TARGET_INFO_TEXT);2580 2581 /* Targets for pasting */2582 priv->paste_target_list = gtk_target_list_new(NULL, 0);2583 gtk_target_list_add(priv->paste_target_list, textHtml, 0, WEBKIT_WEB_VIEW_TARGET_INFO_HTML);2584 gtk_target_list_add_text_targets(priv->paste_target_list, WEBKIT_WEB_VIEW_TARGET_INFO_TEXT);2585 2586 2571 priv->webSettings = webkit_web_settings_new(); 2587 2572 webkit_web_view_update_settings(webView); … … 3387 3372 GtkTargetList* webkit_web_view_get_copy_target_list(WebKitWebView* webView) 3388 3373 { 3389 g_return_val_if_fail(WEBKIT_IS_WEB_VIEW(webView), NULL); 3390 3391 WebKitWebViewPrivate* priv = webView->priv; 3392 return priv->copy_target_list; 3374 return pasteboardHelperInstance()->targetList(); 3393 3375 } 3394 3376 … … 3407 3389 GtkTargetList* webkit_web_view_get_paste_target_list(WebKitWebView* webView) 3408 3390 { 3409 g_return_val_if_fail(WEBKIT_IS_WEB_VIEW(webView), NULL); 3410 3411 WebKitWebViewPrivate* priv = webView->priv; 3412 return priv->paste_target_list; 3391 return pasteboardHelperInstance()->targetList(); 3413 3392 } 3414 3393
Note: See TracChangeset
for help on using the changeset viewer.