[webkit-reviews] review denied: [Bug 100557] Implement HTMLFormElement#requestAutocomplete and associated events : [Attachment 171356] Patch

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Wed Oct 31 06:10:48 PDT 2012


Kent Tamura <tkent at chromium.org> has denied Dan Beam <dbeam at chromium.org>'s
request for review:
Bug 100557: Implement HTMLFormElement#requestAutocomplete and associated events
https://bugs.webkit.org/show_bug.cgi?id=100557

Attachment 171356: Patch
https://bugs.webkit.org/attachment.cgi?id=171356&action=review

------- Additional Comments from Kent Tamura <tkent at chromium.org>
View in context: https://bugs.webkit.org/attachment.cgi?id=171356&action=review


> Source/WebCore/ChangeLog:41
> +	   * dom/EventNames.h:
> +	   (WebCore):
> +	   * html/HTMLAttributeNames.in:
> +	   * html/HTMLFormElement.cpp:
> +	   (WebCore::HTMLFormElement::HTMLFormElement):
> +	   (WebCore::HTMLFormElement::handleLocalEvents):
> +	   (WebCore):
> +	   (WebCore::HTMLFormElement::requestAutocomplete):
> +	   (WebCore::HTMLFormElement::finishRequestAutocomplete):
> +	   (WebCore::HTMLFormElement::requestAutocompleteTimerFired):
> +	   (WebCore::HTMLFormElement::parseAttribute):
> +	   * html/HTMLFormElement.h:
> +	   (HTMLFormElement):
> +	   * html/HTMLFormElement.idl:
> +	   * loader/EmptyClients.cpp:
> +	   (WebCore):
> +	   (WebCore::EmptyFrameLoaderClient::didRequestAutocomplete):
> +	   * loader/EmptyClients.h:
> +	   (EmptyFrameLoaderClient):
> +	   * loader/FrameLoaderClient.h:
> +	   (FrameLoaderClient):

Please add per-file / per-functions comments about what you changed and/or why
you changed. Especially for existing functions.

> Source/WebCore/html/HTMLFormElement.cpp:167
> +#if ENABLE(REQUEST_AUTOCOMPLETE)
> +	   || event->type() == eventNames().autocompleteEvent || event->type()
== eventNames().autocompleteerrorEvent
> +#endif

nit: Adding #if inside an expression looks ugly.
I recommend
#if ENABLE(REQUES_AUOCOMPLETE)
  bool isAutocompleteEvent = event->type() == eventNames().autocompleteEvent ||
event->type() == eventNames().autocompleteerrorEvent;
#else
  bool isAutocompleteEvent = false;
#endif
  if (... || isAutocompleteEvent)) {

Also, you had better explain why we need this change in ChangeLog.

> Source/WebCore/html/HTMLFormElement.cpp:430
> +    for (size_t index = 0; index < count; ++index)
> +	   dispatchEvent(Event::create(pendingResults[index] ==
AutocompleteSuccess ? eventNames().autocompleteEvent :
eventNames().autocompleteerrorEvent, true, false));

Because an event is dispatched and any JavaScript code can run, |this| might be
deleted after every dispatchEvent call.
The code should be:

RefPtr<HTMLFormElement> protector(this);
for (size_t index = 0; ...

> Source/WebKit/chromium/features.gypi:101
> +	 # FIXME: re-enable after https://codereview.chromium.org/11270018.
> +	 # 'ENABLE_REQUEST_AUTOCOMPLETE=1',

nit: This change isn't helpful.  Let's remove it.

> Source/WebKit/chromium/public/WebFormElement.h:72
> +	   enum AutocompleteResult { AutocompleteSuccess, AutocompleteError };

Enum members should be AutocompleteResultSuccess and AutocompleteResultError.
http://trac.webkit.org/wiki/ChromiumWebKitAPI#Enums


More information about the webkit-reviews mailing list