Changeset 108459 in webkit


Ignore:
Timestamp:
Feb 22, 2012 12:55:46 AM (12 years ago)
Author:
Carlos Garcia Campos
Message:

Unreviewed, rolling out r107351.
http://trac.webkit.org/changeset/107351
https://bugs.webkit.org/show_bug.cgi?id=53600

Several issues introduced in WebKitGTK+ API

Source/WebKit/gtk:

  • WebCoreSupport/ChromeClientGtk.cpp:

(WebKit::ChromeClient::ChromeClient):
(WebKit::ChromeClient::chromeDestroyed):
(WebKit::ChromeClient::canRunModal):
(WebKit::ChromeClient::runModal):

  • WebCoreSupport/ChromeClientGtk.h:

(ChromeClient):

  • webkit/webkitwebview.cpp:

(webkit_web_view_class_init):

Tools:

  • DumpRenderTree/gtk/DumpRenderTree.cpp:

(createWebView):

  • GtkLauncher/main.c:

(createWebViewCb):
(createBrowser):
(createWindow):
(main):

LayoutTests:

  • platform/gtk/Skipped:
Location:
trunk
Files:
9 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r108455 r108459  
     12012-02-22  Carlos Garcia Campos  <cgarcia@igalia.com>
     2
     3        Unreviewed, rolling out r107351.
     4        http://trac.webkit.org/changeset/107351
     5        https://bugs.webkit.org/show_bug.cgi?id=53600
     6
     7        Several issues introduced in WebKitGTK+ API
     8
     9        * platform/gtk/Skipped:
     10
    1112012-02-22  Philippe Normand  <pnormand@igalia.com>
    212
  • trunk/LayoutTests/platform/gtk/Skipped

    r108455 r108459  
    941941canvas/philip/tests/2d.pattern.paint.repeaty.outside.html
    942942
    943 # This modal dialog test still fails because the blur event is not dispatched on the opener
    944 # window when running the modal dialog.
     943# Tests that user modal dialogs fail in the DRT for some reason.
     944# https://bugs.webkit.org/show_bug.cgi?id=53600
     945fast/animation/request-animation-frame-during-modal.html
    945946fast/events/show-modal-dialog-onblur-onfocus.html
     947fast/events/scroll-event-during-modal-dialog.html
     948fast/harness/show-modal-dialog.html
     949inspector/console/console-long-eval-crash.html
     950sputnik/Conformance/10_Execution_Contexts/10.2_Entering_An_Execution_Context/10.2.2_Eval_Code/S10.2.2_A1.2_T10.html
     951sputnik/Conformance/10_Execution_Contexts/10.2_Entering_An_Execution_Context/10.2.2_Eval_Code/S10.2.2_A1.1_T11.html
     952sputnik/Conformance/10_Execution_Contexts/10.2_Entering_An_Execution_Context/10.2.2_Eval_Code/S10.2.2_A1.1_T2.html
     953sputnik/Conformance/10_Execution_Contexts/10.2_Entering_An_Execution_Context/10.2.2_Eval_Code/S10.2.2_A1.2_T2.html
     954sputnik/Conformance/10_Execution_Contexts/10.2_Entering_An_Execution_Context/10.2.2_Eval_Code/S10.2.2_A1.1_T4.html
     955sputnik/Conformance/10_Execution_Contexts/10.2_Entering_An_Execution_Context/10.2.2_Eval_Code/S10.2.2_A1.2_T4.html
     956sputnik/Conformance/10_Execution_Contexts/10.2_Entering_An_Execution_Context/10.2.2_Eval_Code/S10.2.2_A1.1_T6.html
     957sputnik/Conformance/10_Execution_Contexts/10.2_Entering_An_Execution_Context/10.2.2_Eval_Code/S10.2.2_A1.2_T6.html
     958sputnik/Conformance/10_Execution_Contexts/10.2_Entering_An_Execution_Context/10.2.2_Eval_Code/S10.2.2_A1.1_T8.html
     959sputnik/Conformance/10_Execution_Contexts/10.2_Entering_An_Execution_Context/10.2.2_Eval_Code/S10.2.2_A1.2_T8.html
     960sputnik/Conformance/10_Execution_Contexts/10.2_Entering_An_Execution_Context/10.2.2_Eval_Code/S10.2.2_A1.1_T10.html
     961sputnik/Conformance/10_Execution_Contexts/10.2_Entering_An_Execution_Context/10.2.2_Eval_Code/S10.2.2_A1.2_T11.html
     962sputnik/Conformance/10_Execution_Contexts/10.2_Entering_An_Execution_Context/10.2.2_Eval_Code/S10.2.2_A1.1_T1.html
     963sputnik/Conformance/10_Execution_Contexts/10.2_Entering_An_Execution_Context/10.2.2_Eval_Code/S10.2.2_A1.2_T1.html
     964sputnik/Conformance/10_Execution_Contexts/10.2_Entering_An_Execution_Context/10.2.2_Eval_Code/S10.2.2_A1.1_T3.html
     965sputnik/Conformance/10_Execution_Contexts/10.2_Entering_An_Execution_Context/10.2.2_Eval_Code/S10.2.2_A1.2_T3.html
     966sputnik/Conformance/10_Execution_Contexts/10.2_Entering_An_Execution_Context/10.2.2_Eval_Code/S10.2.2_A1.1_T5.html
     967sputnik/Conformance/10_Execution_Contexts/10.2_Entering_An_Execution_Context/10.2.2_Eval_Code/S10.2.2_A1.2_T5.html
     968sputnik/Conformance/10_Execution_Contexts/10.2_Entering_An_Execution_Context/10.2.2_Eval_Code/S10.2.2_A1.1_T7.html
     969sputnik/Conformance/10_Execution_Contexts/10.2_Entering_An_Execution_Context/10.2.2_Eval_Code/S10.2.2_A1.2_T7.html
     970sputnik/Conformance/10_Execution_Contexts/10.2_Entering_An_Execution_Context/10.2.2_Eval_Code/S10.2.2_A1.1_T9.html
     971sputnik/Conformance/10_Execution_Contexts/10.2_Entering_An_Execution_Context/10.2.2_Eval_Code/S10.2.2_A1.2_T9.html
    946972
    947973# pastes a space instead of a tab
  • trunk/Source/WebKit/gtk/ChangeLog

    r108334 r108459  
     12012-02-22  Carlos Garcia Campos  <cgarcia@igalia.com>
     2
     3        Unreviewed, rolling out r107351.
     4        http://trac.webkit.org/changeset/107351
     5        https://bugs.webkit.org/show_bug.cgi?id=53600
     6
     7        Several issues introduced in WebKitGTK+ API
     8
     9        * WebCoreSupport/ChromeClientGtk.cpp:
     10        (WebKit::ChromeClient::ChromeClient):
     11        (WebKit::ChromeClient::chromeDestroyed):
     12        (WebKit::ChromeClient::canRunModal):
     13        (WebKit::ChromeClient::runModal):
     14        * WebCoreSupport/ChromeClientGtk.h:
     15        (ChromeClient):
     16        * webkit/webkitwebview.cpp:
     17        (webkit_web_view_class_init):
     18
    1192012-02-21  Philippe Normand  <pnormand@igalia.com>
    220
  • trunk/Source/WebKit/gtk/WebCoreSupport/ChromeClientGtk.cpp

    r107566 r108459  
    8080    , m_adjustmentWatcher(webView)
    8181    , m_closeSoonTimer(0)
    82     , m_modalLoop(0)
    8382    , m_displayTimer(this, &ChromeClient::paint)
    8483    , m_lastDisplayTime(0)
     
    9594    if (m_repaintSoonSourceId)
    9695        g_source_remove(m_repaintSoonSourceId);
    97 
    98     if (m_modalLoop)
    99         g_main_loop_quit(m_modalLoop);
    10096
    10197    delete this;
     
    185181bool ChromeClient::canRunModal()
    186182{
    187     return true;
     183    notImplemented();
     184    return false;
    188185}
    189186
    190187void ChromeClient::runModal()
    191188{
    192     gboolean isHandled = false;
    193     g_signal_emit_by_name(m_webView, "run-modal-dialog", &isHandled);
    194     if (!isHandled)
    195         return;
    196 
    197     GMainContext* threadDefaultContext = g_main_context_ref_thread_default();
    198     g_main_context_acquire(threadDefaultContext);
    199 
    200     m_modalLoop = g_main_loop_new(threadDefaultContext, FALSE);
    201     g_main_loop_run(m_modalLoop);
    202     g_main_loop_unref(m_modalLoop);
    203     m_modalLoop = 0;
    204 
    205     g_main_context_release(threadDefaultContext);
    206     g_main_context_unref(threadDefaultContext);
     189    notImplemented();
    207190}
    208191
  • trunk/Source/WebKit/gtk/WebCoreSupport/ChromeClientGtk.h

    r107832 r108459  
    178178        KURL m_hoveredLinkURL;
    179179        unsigned int m_closeSoonTimer;
    180         GMainLoop* m_modalLoop;
    181180
    182181        Timer <ChromeClient> m_displayTimer;
  • trunk/Source/WebKit/gtk/webkit/webkitwebview.cpp

    r108151 r108459  
    213213    RESOURCE_CONTENT_LENGTH_RECEIVED,
    214214    RESOURCE_LOAD_FAILED,
    215     RUN_MODAL_DIALOG,
    216215
    217216    LAST_SIGNAL
     
    27432742            WEBKIT_TYPE_WEB_RESOURCE,
    27442743            G_TYPE_POINTER);
    2745 
    2746     /*
    2747      * WebKitWebView::run-modal-dialog
    2748      * @webView: the object which received the signal
    2749      *
    2750      * Invoked when the @webView should be run in the modal mode. This can be
    2751      * avoided if FALSE is returned in the signal handler. Otherwise, the
    2752      * @webView (or its toplevel window) should be made transient for its parent,
    2753      * set as a modal window, and TRUE should be returned in the signal handler.
    2754      * After that, a loop will be created and run until the @webView is closed
    2755      * (i.e. its chrome is destroyed).
    2756      *
    2757      * Since: 1.7.6
    2758      */
    2759     webkit_web_view_signals[RESOURCE_LOAD_FAILED] = g_signal_new("run-modal-dialog",
    2760             G_TYPE_FROM_CLASS(webViewClass),
    2761             G_SIGNAL_RUN_LAST,
    2762             0,
    2763             g_signal_accumulator_true_handled, NULL,
    2764             webkit_marshal_BOOLEAN__VOID,
    2765             G_TYPE_BOOLEAN, 0);
    27662744
    27672745    /*
  • trunk/Tools/ChangeLog

    r108444 r108459  
     12012-02-22  Carlos Garcia Campos  <cgarcia@igalia.com>
     2
     3        Unreviewed, rolling out r107351.
     4        http://trac.webkit.org/changeset/107351
     5        https://bugs.webkit.org/show_bug.cgi?id=53600
     6
     7        Several issues introduced in WebKitGTK+ API
     8
     9        * DumpRenderTree/gtk/DumpRenderTree.cpp:
     10        (createWebView):
     11        * GtkLauncher/main.c:
     12        (createWebViewCb):
     13        (createBrowser):
     14        (createWindow):
     15        (main):
     16
    1172012-02-21  Filip Pizlo  <fpizlo@apple.com>
    218
  • trunk/Tools/DumpRenderTree/gtk/DumpRenderTree.cpp

    r107351 r108459  
    958958}
    959959
    960 static gboolean webViewRunModalDialog(WebKitWebView* view)
    961 {
    962     GtkWindow* viewTopLevel = GTK_WINDOW(gtk_widget_get_toplevel(GTK_WIDGET(view)));
    963     gtk_window_set_transient_for(GTK_WINDOW(viewTopLevel), GTK_WINDOW(window));
    964     gtk_window_set_modal(GTK_WINDOW(viewTopLevel), TRUE);
    965 
    966     return TRUE;
    967 }
    968 
    969960static void databaseQuotaExceeded(WebKitWebView* view, WebKitWebFrame* frame, WebKitWebDatabase *database)
    970961{
     
    12921283                     "signal::create-web-view", webViewCreate, 0,
    12931284                     "signal::close-web-view", webViewClose, 0,
    1294                      "signal::run-modal-dialog", webViewRunModalDialog, 0,
    12951285                     "signal::database-quota-exceeded", databaseQuotaExceeded, 0,
    12961286                     "signal::document-load-finished", webViewDocumentLoadFinished, 0,
  • trunk/Tools/GtkLauncher/main.c

    r107351 r108459  
    3434static gint windowCount = 0;
    3535
    36 static GtkWidget* createWindow(WebKitWebView** outWebView, GtkWidget* openerWindow);
     36static GtkWidget* createWindow(WebKitWebView** outWebView);
    3737
    3838static void activateUriEntryCb(GtkWidget* entry, gpointer data)
     
    106106{
    107107    WebKitWebView *newWebView;
    108     createWindow(&newWebView, window);
     108    createWindow(&newWebView);
    109109    webkit_web_view_set_settings(newWebView, webkit_web_view_get_settings(webView));
    110110    return newWebView;
     
    124124}
    125125
    126 static gboolean runModalDialogCb(WebKitWebView* webView, GtkWidget* openerWindow)
    127 {
    128     if (!openerWindow)
    129         return FALSE;
    130 
    131     GtkWidget *window = gtk_widget_get_toplevel(GTK_WIDGET(webView));
    132     gtk_window_set_transient_for(GTK_WINDOW(window), GTK_WINDOW(openerWindow));
    133     gtk_window_set_modal(GTK_WINDOW(window), TRUE);
    134     return TRUE;
    135 }
    136 
    137 static GtkWidget* createBrowser(GtkWidget* window, GtkWidget* uriEntry, GtkWidget* statusbar, WebKitWebView* webView, GtkWidget* openerWindow)
     126static GtkWidget* createBrowser(GtkWidget* window, GtkWidget* uriEntry, GtkWidget* statusbar, WebKitWebView* webView)
    138127{
    139128    GtkWidget *scrolledWindow = gtk_scrolled_window_new(NULL, NULL);
     
    149138    g_signal_connect(webView, "web-view-ready", G_CALLBACK(webViewReadyCb), window);
    150139    g_signal_connect(webView, "close-web-view", G_CALLBACK(closeWebViewCb), window);
    151     g_signal_connect(webView, "run-modal-dialog", G_CALLBACK(runModalDialogCb), openerWindow);
    152140
    153141    return scrolledWindow;
     
    203191}
    204192
    205 static GtkWidget* createWindow(WebKitWebView** outWebView, GtkWidget* openerWindow)
     193static GtkWidget* createWindow(WebKitWebView** outWebView)
    206194{
    207195    WebKitWebView *webView;
     
    227215    statusbar = createStatusbar(webView);
    228216    gtk_box_pack_start(GTK_BOX(vbox), createToolbar(uriEntry, webView), FALSE, FALSE, 0);
    229     gtk_box_pack_start(GTK_BOX(vbox), createBrowser(window, uriEntry, statusbar, webView, openerWindow), TRUE, TRUE, 0);
     217    gtk_box_pack_start(GTK_BOX(vbox), createBrowser(window, uriEntry, statusbar, webView), TRUE, TRUE, 0);
    230218    gtk_box_pack_start(GTK_BOX(vbox), statusbar, FALSE, FALSE, 0);
    231219
     
    430418
    431419    WebKitWebView *webView;
    432     GtkWidget *main_window = createWindow(&webView, 0);
     420    GtkWidget *main_window = createWindow(&webView);
    433421
    434422    if (webkitSettings) {
Note: See TracChangeset for help on using the changeset viewer.