Changeset 28013 in webkit
- Timestamp:
- Nov 25, 2007 12:48:48 AM (16 years ago)
- Location:
- trunk/WebKit/gtk
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/WebKit/gtk/Api/webkitgtkframe.cpp
r27991 r28013 33 33 #include "webkitgtkprivate.h" 34 34 35 #include "CString.h" 35 36 #include "FrameLoader.h" 36 37 #include "FrameLoaderClientGtk.h" … … 74 75 WebKitFramePrivate* privateData = WEBKIT_FRAME_GET_PRIVATE(WEBKIT_FRAME(object)); 75 76 privateData->frame->loader()->cancelAndClear(); 77 g_free(privateData->name); 76 78 g_free(privateData->title); 77 79 g_free(privateData->location); … … 146 148 static void webkit_frame_init(WebKitFrame* frame) 147 149 { 148 } 149 150 GObject* webkit_frame_new(WebKitPage* page) 151 { 150 // TODO: Move constructor code here. 151 } 152 153 /** 154 * webkit_frame_new: 155 * @page: the controlling #WebKitPage 156 * 157 * Creates a new #WebKitFrame initialized with a controlling #WebKitPage. 158 * 159 * Returns: a new #WebKitFrame 160 **/ 161 WebKitFrame* webkit_frame_new(WebKitPage* page) 162 { 163 g_return_val_if_fail(WEBKIT_IS_PAGE(page), NULL); 164 152 165 WebKitFrame* frame = WEBKIT_FRAME(g_object_new(WEBKIT_TYPE_FRAME, NULL)); 153 166 WebKitFramePrivate* frameData = WEBKIT_FRAME_GET_PRIVATE(frame); … … 164 177 frameData->frame->init(); 165 178 frameData->page = page; 179 frameData->name = 0; 166 180 frameData->title = 0; 167 181 frameData->location = 0; 168 182 169 return G_OBJECT(frame);170 } 171 172 GObject* webkit_frame_init_with_page(WebKitPage* page, HTMLFrameOwnerElement* element)183 return frame; 184 } 185 186 WebKitFrame* webkit_frame_init_with_page(WebKitPage* page, HTMLFrameOwnerElement* element) 173 187 { 174 188 WebKitFrame* frame = WEBKIT_FRAME(g_object_new(WEBKIT_TYPE_FRAME, NULL)); … … 186 200 frameData->page = page; 187 201 188 return G_OBJECT(frame); 189 } 190 191 WebKitPage* 192 webkit_frame_get_page(WebKitFrame* frame) 193 { 202 return frame; 203 } 204 205 const gchar* webkit_frame_get_title(WebKitFrame* frame) 206 { 207 g_return_val_if_fail(WEBKIT_IS_FRAME(frame), NULL); 208 209 WebKitFramePrivate* frameData = WEBKIT_FRAME_GET_PRIVATE(frame); 210 return frameData->title; 211 } 212 213 const gchar* webkit_frame_get_location(WebKitFrame* frame) 214 { 215 g_return_val_if_fail(WEBKIT_IS_FRAME(frame), NULL); 216 217 WebKitFramePrivate* frameData = WEBKIT_FRAME_GET_PRIVATE(frame); 218 return frameData->location; 219 } 220 221 /** 222 * webkit_frame_get_page: 223 * @frame: a #WebKitFrame 224 * 225 * Returns the #WebKitPage that manages this #WebKitFrame. 226 * 227 * The #WebKitPage returned manages the entire hierarchy of #WebKitFrame 228 * objects that contains @frame. 229 * 230 * Return value: the #WebKitPage that manages @frame 231 */ 232 WebKitPage* webkit_frame_get_page(WebKitFrame* frame) 233 { 234 g_return_val_if_fail(WEBKIT_IS_FRAME(frame), NULL); 235 194 236 WebKitFramePrivate* frameData = WEBKIT_FRAME_GET_PRIVATE(frame); 195 237 return frameData->page; 196 238 } 197 239 198 gchar* webkit_frame_get_title(WebKitFrame* frame) 199 { 200 WebKitFramePrivate* frameData = WEBKIT_FRAME_GET_PRIVATE(frame); 201 return frameData->title; 202 } 203 204 gchar* webkit_frame_get_location(WebKitFrame* frame) 205 { 206 WebKitFramePrivate* frameData = WEBKIT_FRAME_GET_PRIVATE(frame); 207 return frameData->location; 240 /** 241 * webkit_frame_get_name: 242 * @frame: a #WebKitFrame 243 * 244 * Returns the @frame's name 245 * 246 * Return value: the name of @frame 247 */ 248 const gchar* webkit_frame_get_name(WebKitFrame* frame) 249 { 250 g_return_val_if_fail(WEBKIT_IS_FRAME(frame), NULL); 251 252 WebKitFramePrivate* frameData = WEBKIT_FRAME_GET_PRIVATE(frame); 253 254 if (frameData->name) 255 return frameData->name; 256 257 Frame* coreFrame = core(frame); 258 g_return_val_if_fail(coreFrame, NULL); 259 260 String string = coreFrame->tree()->name(); 261 frameData->name = g_strdup(string.utf8().data()); 262 263 return frameData->name; 208 264 } 209 265 -
trunk/WebKit/gtk/Api/webkitgtkframe.h
r27991 r28013 72 72 webkit_frame_get_type (void); 73 73 74 WEBKIT_API GObject*75 webkit_frame_new (WebKitPage *page);74 WEBKIT_API WebKitFrame* 75 webkit_frame_new (WebKitPage* page); 76 76 77 77 WEBKIT_API WebKitPage* 78 78 webkit_frame_get_page (WebKitFrame* frame); 79 79 80 WEBKIT_API gchar*81 webkit_frame_get_ markup(WebKitFrame* frame);80 WEBKIT_API const gchar* 81 webkit_frame_get_name (WebKitFrame* frame); 82 82 83 WEBKIT_API gchar* 84 webkit_frame_get_inner_text (WebKitFrame* frame); 85 86 WEBKIT_API gchar* 87 webkit_frame_get_selected_text (WebKitFrame* frame); 88 89 WEBKIT_API gchar* 83 WEBKIT_API const gchar* 90 84 webkit_frame_get_title (WebKitFrame* frame); 91 85 92 WEBKIT_API gchar*86 WEBKIT_API const gchar* 93 87 webkit_frame_get_location (WebKitFrame* frame); 94 95 WEBKIT_API GSList*96 webkit_frame_get_child_frames (WebKitFrame* frame);97 98 WEBKIT_API GdkPoint*99 webkit_frame_get_position (WebKitFrame* frame);100 101 WEBKIT_API GdkRectangle*102 webkit_frame_get_rectangle (WebKitFrame* frame);103 104 WEBKIT_API WebKitPage*105 webkit_frame_get_page (WebKitFrame* frame);106 88 107 89 WEBKIT_API WebKitFrame* -
trunk/WebKit/gtk/Api/webkitgtkpage.cpp
r28009 r28013 3 3 * Copyright (C) 2007 Christian Dywan <christian@twotoasts.de> 4 4 * Copyright (C) 2007 Xan Lopez <xan@gnome.org> 5 * Copyright (C) 2007 Alp Toker <alp@atoker.com> 5 6 * 6 7 * Redistribution and use in source and binary forms, with or without … … 388 389 */ 389 390 /** 390 * WebKitPage::load-started 391 * WebKitPage::load-started: 392 * 391 393 * @page: the object on which the signal is emitted 392 394 * @frame: the frame going to do the load 393 395 * 394 * When a WebKitFrame begins to load this signal is emitted.396 * When a #WebKitFrame begins to load this signal is emitted. 395 397 */ 396 398 webkit_page_signals[LOAD_STARTED] = g_signal_new("load_started", … … 405 407 406 408 /** 407 * WebKitPage::load-progress-changed 408 * @page: The WebKitPage 409 * @progress: Global progress 409 * WebKitPage::load-progress-changed: 410 * 411 * @page: the #WebKitPage 412 * @progress: the global progress 410 413 */ 411 414 webkit_page_signals[LOAD_PROGRESS_CHANGED] = g_signal_new("load_progress_changed", … … 479 482 480 483 /** 481 * WebKitPage::console-message 484 * WebKitPage::console-message: 485 * 482 486 * @page: the object on which the signal is emitted 483 487 * @message: the message text … … 499 503 500 504 /** 501 * WebKitPage::script-alert 505 * WebKitPage::script-alert: 506 * 502 507 * @page: the object on which the signal is emitted 503 508 * @frame: the relevant frame … … 518 523 519 524 /** 520 * WebKitPage::script-confirm 525 * WebKitPage::script-confirm: 526 * 521 527 * @page: the object on which the signal is emitted 522 528 * @frame: the relevant frame 523 529 * @message: the message text 524 * @confirmed: Has the dialog been confirmed?530 * @confirmed: whether the dialog has been confirmed 525 531 * @return: TRUE to stop other handlers from being invoked for the event. FALSE to propagate the event further. 526 532 * … … 538 544 539 545 /** 540 * WebKitPage::script-prompt 546 * WebKitPage::script-prompt: 547 * 541 548 * @page: the object on which the signal is emitted 542 549 * @frame: the relevant frame … … 617 624 settings->setSerifFontFamily("Times New Roman"); 618 625 settings->setSansSerifFontFamily("Arial"); 619 settings->setFixedFontFamily("Courier ");626 settings->setFixedFontFamily("Courier New"); 620 627 settings->setStandardFontFamily("Arial"); 621 628 622 629 GTK_WIDGET_SET_FLAGS(page, GTK_CAN_FOCUS); 623 630 pageData->mainFrame = WEBKIT_FRAME(webkit_frame_new(page)); 631 pageData->editable = false; 624 632 } 625 633 … … 633 641 void webkit_page_set_settings(WebKitPage* page, WebKitSettings* settings) 634 642 { 643 g_return_if_fail(WEBKIT_IS_PAGE(page)); 644 g_return_if_fail(settings); 645 635 646 notImplemented(); 636 647 } … … 638 649 WebKitSettings* webkit_page_get_settings(WebKitPage* page) 639 650 { 651 g_return_val_if_fail(WEBKIT_IS_PAGE(page), NULL); 652 640 653 notImplemented(); 641 return 0;654 return NULL; 642 655 } 643 656 644 657 void webkit_page_go_backward(WebKitPage* page) 645 658 { 659 g_return_if_fail(WEBKIT_IS_PAGE(page)); 660 646 661 WebKitPagePrivate* pageData = WEBKIT_PAGE_GET_PRIVATE(page); 647 662 WebKitFramePrivate* frameData = WEBKIT_FRAME_GET_PRIVATE(pageData->mainFrame); … … 651 666 void webkit_page_go_forward(WebKitPage* page) 652 667 { 668 g_return_if_fail(WEBKIT_IS_PAGE(page)); 669 653 670 WebKitPagePrivate* pageData = WEBKIT_PAGE_GET_PRIVATE(page); 654 671 WebKitFramePrivate* frameData = WEBKIT_FRAME_GET_PRIVATE(pageData->mainFrame); … … 658 675 gboolean webkit_page_can_go_backward(WebKitPage* page) 659 676 { 677 g_return_val_if_fail(WEBKIT_IS_PAGE(page), FALSE); 678 660 679 WebKitPagePrivate* pageData = WEBKIT_PAGE_GET_PRIVATE(page); 661 680 WebKitFramePrivate* frameData = WEBKIT_FRAME_GET_PRIVATE(pageData->mainFrame); … … 665 684 gboolean webkit_page_can_go_forward(WebKitPage* page) 666 685 { 686 g_return_val_if_fail(WEBKIT_IS_PAGE(page), FALSE); 687 667 688 WebKitPagePrivate* pageData = WEBKIT_PAGE_GET_PRIVATE(page); 668 689 WebKitFramePrivate* frameData = WEBKIT_FRAME_GET_PRIVATE(pageData->mainFrame); … … 672 693 void webkit_page_open(WebKitPage* page, const gchar* url) 673 694 { 695 g_return_if_fail(WEBKIT_IS_PAGE(page)); 696 674 697 WebKitPagePrivate* pageData = WEBKIT_PAGE_GET_PRIVATE(page); 675 698 WebKitFramePrivate* frameData = WEBKIT_FRAME_GET_PRIVATE(pageData->mainFrame); … … 681 704 void webkit_page_reload(WebKitPage* page) 682 705 { 706 g_return_if_fail(WEBKIT_IS_PAGE(page)); 707 683 708 WebKitPagePrivate* pageData = WEBKIT_PAGE_GET_PRIVATE(page); 684 709 WebKitFramePrivate* frameData = WEBKIT_FRAME_GET_PRIVATE(pageData->mainFrame); … … 688 713 void webkit_page_load_string(WebKitPage* page, const gchar* content, const gchar* contentMimeType, const gchar* contentEncoding, const gchar* baseUrl) 689 714 { 715 g_return_if_fail(WEBKIT_IS_PAGE(page)); 716 690 717 WebKitPagePrivate* pageData = WEBKIT_PAGE_GET_PRIVATE(page); 691 718 WebKitFramePrivate* frameData = WEBKIT_FRAME_GET_PRIVATE(pageData->mainFrame); … … 700 727 void webkit_page_load_html_string(WebKitPage* page, const gchar* content, const gchar* baseUrl) 701 728 { 729 g_return_if_fail(WEBKIT_IS_PAGE(page)); 730 702 731 webkit_page_load_string(page, content, "text/html", "UTF-8", baseUrl); 703 732 } … … 705 734 void webkit_page_stop_loading(WebKitPage* page) 706 735 { 736 g_return_if_fail(WEBKIT_IS_PAGE(page)); 737 707 738 WebKitPagePrivate* pageData = WEBKIT_PAGE_GET_PRIVATE(page); 708 739 WebKitFramePrivate* frameData = WEBKIT_FRAME_GET_PRIVATE(pageData->mainFrame); … … 714 745 WebKitFrame* webkit_page_get_main_frame(WebKitPage* page) 715 746 { 747 g_return_val_if_fail(WEBKIT_IS_PAGE(page), NULL); 748 716 749 WebKitPagePrivate* pageData = WEBKIT_PAGE_GET_PRIVATE(page); 717 750 return pageData->mainFrame; … … 720 753 void webkit_page_execute_script(WebKitPage* page, const gchar* script) 721 754 { 755 g_return_if_fail(WEBKIT_IS_PAGE(page)); 756 g_return_if_fail(script); 757 722 758 WebKitPagePrivate* pageData = WEBKIT_PAGE_GET_PRIVATE(page); 723 759 WebKitFramePrivate* frameData = WEBKIT_FRAME_GET_PRIVATE(pageData->mainFrame); … … 726 762 loader->executeScript(String::fromUTF8(script), true); 727 763 } 728 } 764 765 /** 766 * webkit_page_get_editable: 767 * @page: a #WebKitPage 768 * 769 * Returns whether the user is allowed to edit the document. 770 * 771 * Returns %TRUE if @page allows the user to edit the HTML document, %FALSE if 772 * it doesn't. You can change @page's document programmatically regardless of 773 * this setting. 774 * 775 * Return value: a #gboolean indicating the editable state 776 */ 777 gboolean webkit_page_get_editable(WebKitPage* page) 778 { 779 g_return_val_if_fail(WEBKIT_IS_PAGE(page), FALSE); 780 781 WebKitPagePrivate* pageData = WEBKIT_PAGE_GET_PRIVATE(page); 782 ASSERT(pageData); 783 784 return pageData->editable; 785 } 786 787 /** 788 * webkit_page_set_editable: 789 * @page: a #WebKitPage 790 * @flag: a #gboolean indicating the editable state 791 * 792 * Sets whether @page allows the user to edit its HTML document. 793 * 794 * If @flag is %TRUE, @page allows the user to edit the document. If @flag is 795 * %FALSE, an element in @page's document can only be edited if the 796 * CONTENTEDITABLE attribute has been set on the element or one of its parent 797 * elements. You can change @page's document programmatically regardless of 798 * this setting. By default a #WebKitPage is not editable. 799 800 * Normally, an HTML document is not editable unless the elements within the 801 * document are editable. This function provides a low-level way to make the 802 * contents of a #WebKitPage editable without altering the document or DOM 803 * structure. 804 */ 805 void webkit_page_set_editable(WebKitPage* page, gboolean flag) 806 { 807 g_return_if_fail(WEBKIT_IS_PAGE(page)); 808 flag = flag != FALSE; 809 810 WebKitPagePrivate* pageData = WEBKIT_PAGE_GET_PRIVATE(page); 811 ASSERT(pageData); 812 813 Frame* mainFrame = core(pageData->mainFrame); 814 g_return_if_fail(mainFrame); 815 816 // TODO: What happens when the frame is replaced? 817 if (flag == pageData->editable) 818 return; 819 820 pageData->editable = flag; 821 822 if (flag) { 823 mainFrame->applyEditingStyleToBodyElement(); 824 // TODO: If the WebKitPage is made editable and the selection is empty, set it to something. 825 //if (!webkit_page_get_selected_dom_range(page)) 826 // mainFrame->setSelectionFromNone(); 827 } else 828 mainFrame->removeEditingStyleFromBodyElement(); 829 } 830 831 } -
trunk/WebKit/gtk/Api/webkitgtkpage.h
r27977 r28013 91 91 webkit_page_new (void); 92 92 93 WEBKIT_API void94 webkit_page_set_settings (WebKitPage* page, WebKitSettings* settings);95 96 WEBKIT_API WebKitSettings*97 webkit_page_get_settings (WebKitPage* page);98 99 WEBKIT_API gboolean100 webkit_page_can_cut (WebKitPage* page);101 102 WEBKIT_API gboolean103 webkit_page_can_copy (WebKitPage* page);104 105 WEBKIT_API gboolean106 webkit_page_can_paste (WebKitPage* page);107 108 WEBKIT_API void109 webkit_page_cut (WebKitPage* page);110 111 WEBKIT_API void112 webkit_page_copy (WebKitPage* page);113 114 WEBKIT_API void115 webkit_page_paste (WebKitPage* page);116 117 93 WEBKIT_API gboolean 118 94 webkit_page_can_go_backward (WebKitPage* page); … … 147 123 WEBKIT_API void 148 124 webkit_page_execute_script (WebKitPage* page, const gchar* script); 125 126 WEBKIT_API gboolean 127 webkit_page_get_editable (WebKitPage* page); 128 129 WEBKIT_API void 130 webkit_page_set_editable (WebKitPage* page, gboolean flag); 131 149 132 G_END_DECLS 150 133 -
trunk/WebKit/gtk/Api/webkitgtkprivate.h
r27977 r28013 70 70 71 71 HashSet<GtkWidget*> children; 72 bool editable; 72 73 }; 73 74 … … 79 80 WebKitPage* page; 80 81 82 gchar* name; 81 83 gchar* title; 82 84 gchar* location; … … 89 91 }; 90 92 91 GObject* webkit_frame_init_with_page(WebKitPage*, WebCore::HTMLFrameOwnerElement*);93 WebKitFrame* webkit_frame_init_with_page(WebKitPage*, WebCore::HTMLFrameOwnerElement*); 92 94 } 93 95 -
trunk/WebKit/gtk/ChangeLog
r28011 r28013 1 2007-11-24 Alp Toker <alp@atoker.com> 2 3 Reviewed by Mark Rowe. 4 5 http://bugs.webkit.org/show_bug.cgi?id=15691 6 [GTK] Public API does not follow GTK+ conventions 7 8 Public API enhancements: 9 10 Implement webkit_page_get_editable() and webkit_page_set_editable(). 11 12 Implement webkit_frame_get_name(). 13 14 Remove definitions for functions that are unusable or not implemented. 15 This has caused much confusion for application developers. 16 17 Improve documentation. 18 19 Correct/constify some return types. 20 21 Add parameter checks. 22 23 Make the default fixed font "Courier New" to match the other Web 24 font names. 25 26 * Api/webkitgtkframe.cpp: 27 * Api/webkitgtkframe.h: 28 * Api/webkitgtkpage.cpp: 29 * Api/webkitgtkpage.h: 30 * Api/webkitgtkprivate.h: 31 * WebCoreSupport/EditorClientGtk.cpp: 32 (WebKit::EditorClient::isEditable): 33 1 34 2007-11-24 Alp Toker <alp@atoker.com> 2 35 -
trunk/WebKit/gtk/WebCoreSupport/EditorClientGtk.cpp
r28011 r28013 147 147 bool EditorClient::isEditable() 148 148 { 149 notImplemented(); 150 return false; 149 return webkit_page_get_editable(m_page); 151 150 } 152 151
Note: See TracChangeset
for help on using the changeset viewer.