[webkit-reviews] review denied: [Bug 68074] [GTK][WEBKIT2] Add support for title property in WebKitWebView : [Attachment 109283] Title property added to WebKitWebView.
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Sat Oct 1 11:30:32 PDT 2011
Martin Robinson <mrobinson at webkit.org> has denied Nayan Kumar K
<nayankk at motorola.com>'s request for review:
Bug 68074: [GTK][WEBKIT2] Add support for title property in WebKitWebView
https://bugs.webkit.org/show_bug.cgi?id=68074
Attachment 109283: Title property added to WebKitWebView.
https://bugs.webkit.org/attachment.cgi?id=109283&action=review
------- Additional Comments from Martin Robinson <mrobinson at webkit.org>
View in context: https://bugs.webkit.org/attachment.cgi?id=109283&action=review
> Source/WebKit2/ChangeLog:8
> + Support for 'title' property is added in WebKitWebView.
> + Functions to get the value of this property is provided.
> +
Typically the description goes under the review line.
> Source/WebKit2/UIProcess/API/gtk/WebKitWebLoaderClient.cpp:131
> + webkitWebViewNotifyTitleReceived(webView, title);
This can just be
webkitWebViewNotifyTitleReceived(WEBKIT_WEB_LOADER_CLIENT(clientInfo)->priv->vi
ew.get(), title);
> Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp:50
> WebKitWebContext* context;
>
> GRefPtr<WebKitWebLoaderClient> loaderClient;
> + CString title;
Let's keep all the properties and loader clients in separate groups. The order
isn't important beyond organization.
> Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp:134
> + * Returns: the @web_view's document title.
I think you should be more explicit here. This is the title of the main frame.
also why are you using @web_view there's no parameter. I recommend using
#WebKitWebView explicitly instead:
Returns: the main frame title of this #WebKitWebView. If the title has not been
received yet it will be an empty string.
> Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp:145
> +void webkitWebViewNotifyTitleReceived(WebKitWebView *webView, WKStringRef
titleRef)
I'd prefer this to be called webkitWebViewSetTitle and to take a const char*.
>> Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp:295
>> + * Returns the @web_view's document title.
>> + *
>> + * Returns: the title of @web_view.
>> + */
>> +const gchar* webkit_web_view_get_title(WebKitWebView* webView)
>
> webkit_web_view_get_title is incorrectly named. Don't use underscores in your
identifier names. [readability/naming] [4]
Here you have the same problem but it's worse even becaues the name of the
paramter is @webView. We really need a build step which verifies the sanity of
the documentation. I'd like to have zero warnings when generating it.
> Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp:301
> +
> + WebKitWebViewPrivate* priv = webView->priv;
> +
> + return priv->title.data();
This can all be one line. Ensure that an empty CString does not return null.
>>> Source/WebKit2/UIProcess/API/gtk/WebKitWebView.h:99
>>> +webkit_web_view_get_title (WebKitWebView *webView);
>>
>> The parameter name "webView" adds no information, so it should be removed.
[readability/parameter_name] [5]
>
> Extra space before ( in function call [whitespace/parens] [4]
Shoudl be *web_view.
> Source/WebKit2/UIProcess/API/gtk/WebKitWebViewPrivate.h:36
> +G_BEGIN_DECLS
> +
> +void webkitWebViewNotifyTitleReceived(WebKitWebView *, WKStringRef);
> +
> +G_END_DECLS
There's no need to specify that these are unmangled. In fact, it's probably
better that private API stays mangled.
> Source/WebKit2/UIProcess/API/gtk/tests/testwebview.c:38
> +#define HTML_TITLE "WelCome to WebKit-GTK+"
> +/* This string has to be rather big because of the cancelled test - it
> + * looks like soup refuses to send or receive a too small chunk */
> +#define HTML_STRING
"<html><head><title>"HTML_TITLE"</title></head><body>Testing!Testing!Testing!Te
sting!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!T
esting!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!
Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing
!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testin
g!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testi
ng!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Test
ing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Tes
ting!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Te
sting!Testing!Testing!Testing!</body></html>"
> +
> +/* For real request testing */
> +static void serverCallback(SoupServer* server, SoupMessage* msg, const char*
path, GHashTable* query, SoupClientContext* context, gpointer data)
> +{
> + if (msg->method != SOUP_METHOD_GET) {
> + soup_message_set_status(msg, SOUP_STATUS_NOT_IMPLEMENTED);
Please don't just copy and paste the entire loading test. The test could be
quite simple you could do a notify on the title property of WebView, load a
simple string and then assert that that the title is what you think it is.
Don't forget to assert the proper title before loading anything too.
> Source/WebKit2/UIProcess/API/gtk/tests/testwebview.c:195
> + server = soup_server_new(SOUP_SERVER_PORT, 0, NULL);
> + soup_server_run_async(server);
> +
> + soup_server_add_handler(server, NULL, serverCallback, NULL, NULL);
> +
> + baseURI = soup_uri_new("http://127.0.0.1/");
> + soup_uri_set_port(baseURI, soup_server_get_port(server));
I'm almost certain you don't need to make a SoupServer here.
More information about the webkit-reviews
mailing list