Project: chromium Issues People Development process History Sign in
New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.
Issue 305112 Support GlobalEventHandlers and WindowEventHandlers
Starred by 3 users Reported by phil...@opera.com, Oct 8 2013 Back to list
Status: Fixed
Owner:
Email to this user bounced
Closed: Oct 2013
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: All
Pri: 2
Type: Bug

Blocking:
issue 302279



Sign in to add a comment
Spec:
http://www.whatwg.org/specs/web-apps/current-work/multipage/webappapis.html#globaleventhandlers
http://www.whatwg.org/specs/web-apps/current-work/multipage/webappapis.html#windoweventhandlers

Discussion:
https://groups.google.com/a/chromium.org/d/msg/blink-dev/2YvknnftYXc/jHuDT6IxxU8J

I will start by adding a layout test matching the spec, with many expected failed subtests. Since getting the implementation in sync might require several semi-risky changes, I intend to proceed in smaller commits until the tests are all passing and if we reach that point switch the underlying implementation to share as much of the code as possible.
 
Comment 1 by phil...@opera.com, Oct 8 2013
Added LayoutTest in https://codereview.chromium.org/26467002/
Project Member Comment 2 by bugdroid1@chromium.org, Oct 8 2013
The following revision refers to this bug:
    http://src.chromium.org/viewvc/blink?view=rev&rev=159116

------------------------------------------------------------------------
r159116 | philipj@opera.com | 2013-10-08T13:56:17.723752Z

Changed paths:
   A http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/dom/global-event-handlers-expected.txt?r1=159116&r2=159115&pathrev=159116
   A http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/dom/global-event-handlers.html?r1=159116&r2=159115&pathrev=159116

Add LayoutTest for GlobalEventHandlers

BUG= 305112 

Review URL: https://codereview.chromium.org/26467002
------------------------------------------------------------------------
Comment 3 by phil...@opera.com, Oct 10 2013
Blocking: chromium:302279
Project Member Comment 4 by bugdroid1@chromium.org, Oct 11 2013
The following revision refers to this bug:
    http://src.chromium.org/viewvc/blink?view=rev&rev=159478

------------------------------------------------------------------------
r159478 | chrome-bot@google.com | 2013-10-11T22:15:06.863708Z

Changed paths:
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/dom/global-event-handlers-expected.txt?r1=159478&r2=159477&pathrev=159478
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/dom/global-event-handlers.html?r1=159478&r2=159477&pathrev=159478

Refine the GlobalEventHandlers test

http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2013-October/thread.html#40980

The conclusion of the WHATWG "Should onfoo event handler properties be
on Element or HTMLElement?" thread was that not letting Element have
these properties is more sane, because reflecting the corresponding
content attributes for Element would be odd.

Update the test to assert that Element does not have the properties,
but that HTMLElement and SVGElement do.

Also split the enumerate tests so that individual results can be seen.

BUG= 305112 

Review URL: https://codereview.chromium.org/26478004
------------------------------------------------------------------------
Project Member Comment 5 by bugdroid1@chromium.org, Oct 12 2013
The following revision refers to this bug:
    http://src.chromium.org/viewvc/blink?view=rev&rev=159511

------------------------------------------------------------------------
r159511 | philipj@opera.com | 2013-10-12T13:21:51.962398Z

Changed paths:
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/dom/Element.idl?r1=159511&r2=159510&pathrev=159511
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/dom/Document.idl?r1=159511&r2=159510&pathrev=159511
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/frame/Window.idl?r1=159511&r2=159510&pathrev=159511

Drop PerWorldBindings for the on* event handler IDL attributes

PerWorldBindings is applied inconsistently for these attributes,
so simply drop it to reduce the differences in preparation for
GlobalEventHandlers.

BUG= 305112 

Review URL: https://codereview.chromium.org/26535005
------------------------------------------------------------------------
Project Member Comment 6 by bugdroid1@chromium.org, Oct 15 2013
The following revision refers to this bug:
    http://src.chromium.org/viewvc/blink?view=rev&rev=159689

------------------------------------------------------------------------
r159689 | philipj@opera.com | 2013-10-15T20:24:57.052450Z

Changed paths:
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/dom/global-event-handlers-expected.txt?r1=159689&r2=159688&pathrev=159689
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/dom/global-event-handlers.html?r1=159689&r2=159688&pathrev=159689

Enable the SVG GlobalEventHandlers test

I forgot this in a previous commit. It turns out that SVGSVGElement
forwards some of these properties to window, which broke the tests,
so use a SVGRectElement for testing instead.

BUG= 305112 

Review URL: https://codereview.chromium.org/26599003
------------------------------------------------------------------------
Project Member Comment 7 by bugdroid1@chromium.org, Oct 16 2013
The following revision refers to this bug:
    http://src.chromium.org/viewvc/blink?view=rev&rev=159721

------------------------------------------------------------------------
r159721 | philipj@opera.com | 2013-10-16T07:56:14.253351Z

Changed paths:
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/dom/global-event-handlers-expected.txt?r1=159721&r2=159720&pathrev=159721
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/dom/Element.idl?r1=159721&r2=159720&pathrev=159721
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/dom/Document.idl?r1=159721&r2=159720&pathrev=159721

Drop NotEnumerable for the on* event handler IDL attributes

BUG= 305112 

Review URL: https://codereview.chromium.org/26117003
------------------------------------------------------------------------
Project Member Comment 8 by bugdroid1@chromium.org, Oct 16 2013
The following revision refers to this bug:
    http://src.chromium.org/viewvc/blink?view=rev&rev=159781

------------------------------------------------------------------------
r159781 | philipj@opera.com | 2013-10-16T16:11:35.531159Z

Changed paths:
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/dom/Document.idl?r1=159781&r2=159780&pathrev=159781
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/html/HTMLAttributeNames.in?r1=159781&r2=159780&pathrev=159781
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/frame/DOMWindow.h?r1=159781&r2=159780&pathrev=159781
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/frame/Window.idl?r1=159781&r2=159780&pathrev=159781
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/dom/global-event-handlers-expected.txt?r1=159781&r2=159780&pathrev=159781
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/dom/Element.h?r1=159781&r2=159780&pathrev=159781
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/dom/Element.idl?r1=159781&r2=159780&pathrev=159781
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/dom/Document.h?r1=159781&r2=159780&pathrev=159781
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/html/HTMLElement.cpp?r1=159781&r2=159780&pathrev=159781

Add missing event handler attributes

Document, Element and Window now have almost all the on* attributes
from GlobalEventHandlers and are in sync with each other, except:

 * The dragexit event is part of the drag-and-drop processing model,
   but is never fired in Blink.
 * The sort event is part of the table sorting algorithm, which has
   not been implemented yet.

Also alphabetize the lists in Document.h and Element.h.

BUG= 305112 

Review URL: https://codereview.chromium.org/27132002
------------------------------------------------------------------------
Project Member Comment 9 by bugdroid1@chromium.org, Oct 17 2013
The following revision refers to this bug:
    http://src.chromium.org/viewvc/blink?view=rev&rev=159844

------------------------------------------------------------------------
r159844 | philipj@opera.com | 2013-10-17T08:57:05.146066Z

Changed paths:
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/dom/Window/HTMLBodyElement-window-eventListener-attributes-expected.txt?r1=159844&r2=159843&pathrev=159844
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/dom/Window/script-tests/HTMLBodyElement-window-eventListener-attributes.js?r1=159844&r2=159843&pathrev=159844
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/html/HTMLBodyElement.h?r1=159844&r2=159843&pathrev=159844
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/dom/Element.cpp?r1=159844&r2=159843&pathrev=159844
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/dom/Window/HTMLFrameSetElement-window-eventListener-attributes-expected.txt?r1=159844&r2=159843&pathrev=159844
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/dom/Window/script-tests/HTMLFrameSetElement-window-eventListener-attributes.js?r1=159844&r2=159843&pathrev=159844
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/dom/Element.h?r1=159844&r2=159843&pathrev=159844
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/html/HTMLFrameSetElement.h?r1=159844&r2=159843&pathrev=159844

Forward onscroll on body and frameset to window

The spec lists 5 such attributes, this is the missing one.
Ad-hoc testing shows that Firefox already supports this.

BUG= 305112 

Review URL: https://codereview.chromium.org/27511002
------------------------------------------------------------------------
Project Member Comment 10 by bugdroid1@chromium.org, Oct 17 2013
The following revision refers to this bug:
    http://src.chromium.org/viewvc/blink?view=rev&rev=159859

------------------------------------------------------------------------
r159859 | philipj@opera.com | 2013-10-17T10:48:28.551933Z

Changed paths:
   A http://src.chromium.org/viewvc/blink/trunk/Source/core/dom/GlobalEventHandlers.h?r1=159859&r2=159858&pathrev=159859
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/frame/Window.idl?r1=159859&r2=159858&pathrev=159859
   A http://src.chromium.org/viewvc/blink/trunk/Source/core/dom/GlobalEventHandlers.idl?r1=159859&r2=159858&pathrev=159859
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/html/HTMLElement.idl?r1=159859&r2=159858&pathrev=159859
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/dom/global-event-handlers-expected.txt?r1=159859&r2=159858&pathrev=159859
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/core.gypi?r1=159859&r2=159858&pathrev=159859
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/dom/Element.idl?r1=159859&r2=159858&pathrev=159859
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/svg/SVGElement.idl?r1=159859&r2=159858&pathrev=159859
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/dom/Document.idl?r1=159859&r2=159858&pathrev=159859

Add shared GlobalEventHandlers IDL

The GlobalEventHandlers.h is empty because the code generator
includes it, but empty until the C++ bits are also shared.

BUG= 305112 

Review URL: https://codereview.chromium.org/27133002
------------------------------------------------------------------------
Comment 11 by phil...@opera.com, Oct 21 2013
Status: Started
Comment 12 by phil...@opera.com, Oct 22 2013
Cc: nbarth@chromium.org
Adam, Nils,

I've been putting off the final step of this -- moving the C++ bits for all three interfaces that now implement GlobalEventHandlers at the IDL level -- after I realized I might have to fiddle with the IDL compiler, so I'd like to bounce some ideas off you before I go ahead.

code_generator_v8.pm will generate code like this for EventHandler attributes:

static void onblurAttributeGetter(v8::Local<v8::String> name, const v8::PropertyCallbackInfo<v8::Value>& info)
{
    v8::Handle<v8::Object> holder = info.Holder();
    DOMWindow* imp = V8Window::toNative(holder);
    if (!imp->document())
        return;
    EventListener* jsValue = imp->onblur(isolatedWorldForIsolate(info.GetIsolate()));
    v8SetReturnValue(info, jsValue ? v8::Handle<v8::Value>(V8AbstractEventListener::cast(jsValue)->getListenerObject(imp->executionContext())) : v8::Handle<v8::Value>(v8::Null(info.GetIsolate())));
}

static void onblurAttributeSetter(v8::Local<v8::String> name, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& info)
{
    DOMWindow* imp = V8Window::toNative(info.Holder());
    if (!imp->document())
        return;
    if (!jsValue->IsNull() && !jsValue->IsFunction())
        jsValue = v8::Null(info.GetIsolate());
    transferHiddenDependency(info.Holder(), imp->onblur(isolatedWorldForIsolate(info.GetIsolate())), jsValue, V8Window::eventListenerCacheIndex, info.GetIsolate());
    imp->setOnblur(V8EventListenerList::getEventListener(jsValue, true, ListenerFindOrCreate), isolatedWorldForIsolate(info.GetIsolate()));
}

Notice the imp->onblur(...), which is not the GlobalEventHandlers::onblur(imp, ...) or similar which could have made this really easy.

Here are the ideas that I've had:

1. Just move all the DEFINE_ATTRIBUTE_EVENT_LISTENER to the closest common base class: EventTarget. I think this is ugly, but I've confirmed that it would work.

2. Let the GlobalEventHandlers C++ class have all the getters, by way of a custom DEFINE_ATTRIBUTE_EVENT_LISTENER and a virtual getEventTarget(). Document, DOMWindow, HTMLElement and SVGElement would all inherit from it and implement getEventTarget just by static_casting this to EventTarget*...

3. Recognize that DEFINE_ATTRIBUTE_EVENT_LISTENER and friends are generating blocks of code anyway, so just teach the IDL compiler how to generate this code itself, remove the macros and end up with just a single place listing all of the on* event attributes: the IDL file itself.

Thoughts or preferences?
The way I would approach this is to change the code generator to generate GlobalEventHandlers::onblur(imp, ...) and then to introduce variants of DEFINE_ATTRIBUTE_EVENT_LISTENER that expect the receiver to be supplied in the first argument instead of as |this|.

The DEFINE_ATTRIBUTE_EVENT_LISTENER-variant could probably just take EventTarget* as the first parameter if we don't need a more specific type.  If we need a more specific type, we can do something fancier.
Cc: haraken@chromium.org
(+haraken for CG expertise)

What Adam said (sounds reasonable):
You said generating GlobalEventHandlers::onblur(imp, ...) makes it much easier,
and that should be straightforward to do:
in the CG, just override how GlobalEventHandlers get their value,
and then you're off to the races.

(Please feel free to get review from me on CG changes when you post them.)
Project Member Comment 15 by bugdroid1@chromium.org, Oct 25 2013
The following revision refers to this bug:
    http://src.chromium.org/viewvc/blink?view=rev&rev=160536

------------------------------------------------------------------------
r160536 | philipj@opera.com | 2013-10-25T04:27:00.813324Z

Changed paths:
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/forms/form-request-autocomplete.html?r1=160536&r2=160535&pathrev=160536
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/html/HTMLBodyElement.idl?r1=160536&r2=160535&pathrev=160536
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/html/HTMLInputElement.idl?r1=160536&r2=160535&pathrev=160536
   A http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/dom/window-event-handlers.html?r1=160536&r2=160535&pathrev=160536
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/html/HTMLFormElement.idl?r1=160536&r2=160535&pathrev=160536
   A http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/dom/body-frameset-event-handlers-expected.txt?r1=160536&r2=160535&pathrev=160536
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/forms/form-request-autocomplete-expected.txt?r1=160536&r2=160535&pathrev=160536
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/html/HTMLFrameSetElement.idl?r1=160536&r2=160535&pathrev=160536
   A http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/dom/script-tests/event-handlers.js?r1=160536&r2=160535&pathrev=160536
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/dom/global-event-handlers.html?r1=160536&r2=160535&pathrev=160536
   A http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/dom/body-frameset-event-handlers.html?r1=160536&r2=160535&pathrev=160536
   A http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/dom/window-event-handlers-expected.txt?r1=160536&r2=160535&pathrev=160536

Drop NotEnumerable for the on* event handler IDL attributes (again)

The previous commit (r159721) intended to remove all of the
NotEnumerable attributes, but missed these.

BUG= 305112 

Review URL: https://codereview.chromium.org/37283002
------------------------------------------------------------------------
Project Member Comment 16 by bugdroid1@chromium.org, Oct 27 2013
The following revision refers to this bug:
    http://src.chromium.org/viewvc/blink?view=rev&rev=160676

------------------------------------------------------------------------
r160676 | philipj@opera.com | 2013-10-27T14:54:28.922355Z

Changed paths:
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/html/HTMLFrameSetElement.idl?r1=160676&r2=160675&pathrev=160676
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/events/EventTarget.h?r1=160676&r2=160675&pathrev=160676
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/dom/Document.h?r1=160676&r2=160675&pathrev=160676
   M http://src.chromium.org/viewvc/blink/trunk/Source/bindings/scripts/code_generator_v8.pm?r1=160676&r2=160675&pathrev=160676
   M http://src.chromium.org/viewvc/blink/trunk/Source/bindings/tests/idls/TestImplements.idl?r1=160676&r2=160675&pathrev=160676
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/html/HTMLBodyElement.h?r1=160676&r2=160675&pathrev=160676
   M http://src.chromium.org/viewvc/blink/trunk/Source/bindings/tests/results/V8TestInterface.cpp?r1=160676&r2=160675&pathrev=160676
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/frame/DOMWindow.h?r1=160676&r2=160675&pathrev=160676
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/html/HTMLBodyElement.idl?r1=160676&r2=160675&pathrev=160676
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/dom/GlobalEventHandlers.h?r1=160676&r2=160675&pathrev=160676
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/dom/Element.cpp?r1=160676&r2=160675&pathrev=160676
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/dom/Element.h?r1=160676&r2=160675&pathrev=160676
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/html/HTMLFrameSetElement.h?r1=160676&r2=160675&pathrev=160676

Unify the GlobalEventHandlers list on the C++ side

Several changes need to be made in sync to achieve this.

Teach the IDL compiler to generate static calls for EventTarget,
allowing GlobalEventHandlers.h to be the single list of the event
attributes on the C++ side.

The handling of the 5 special event handler attributes on body and
frameset was very strange, with both virtual getters/setters in C++
and overrides at the IDL level. Remove the former mechanism, and fix
up the later to fill the job it was clearly added to do.

Also fix some style issues in EventTarget.h to please presubmit.tributes on the C++ side.

BUG= 305112 

Review URL: https://codereview.chromium.org/37263002
------------------------------------------------------------------------
Project Member Comment 17 by bugdroid1@chromium.org, Oct 29 2013
The following revision refers to this bug:
    http://src.chromium.org/viewvc/blink?view=rev&rev=160816

------------------------------------------------------------------------
r160816 | philipj@opera.com | 2013-10-29T09:21:06.072328Z

Changed paths:
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/html/HTMLBodyElement.h?r1=160816&r2=160815&pathrev=160816
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/frame/DOMWindow.h?r1=160816&r2=160815&pathrev=160816
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/html/HTMLBodyElement.idl?r1=160816&r2=160815&pathrev=160816
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/frame/Window.idl?r1=160816&r2=160815&pathrev=160816
   A http://src.chromium.org/viewvc/blink/trunk/Source/core/frame/DOMWindowEventHandlers.h?r1=160816&r2=160815&pathrev=160816
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/html/HTMLFrameSetElement.cpp?r1=160816&r2=160815&pathrev=160816
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/dom/window-event-handlers.html?r1=160816&r2=160815&pathrev=160816
   A http://src.chromium.org/viewvc/blink/trunk/Source/core/frame/WindowEventHandlers.idl?r1=160816&r2=160815&pathrev=160816
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/core.gypi?r1=160816&r2=160815&pathrev=160816
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/html/HTMLFrameSetElement.h?r1=160816&r2=160815&pathrev=160816
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/html/HTMLFrameSetElement.idl?r1=160816&r2=160815&pathrev=160816
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/html/HTMLBodyElement.cpp?r1=160816&r2=160815&pathrev=160816
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/events/EventTarget.h?r1=160816&r2=160815&pathrev=160816
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/dom/window-event-handlers-expected.txt?r1=160816&r2=160815&pathrev=160816
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/html/HTMLAttributeNames.in?r1=160816&r2=160815&pathrev=160816

Implement WindowEventHandlers

Spec: http://whatwg.org/html#windoweventhandlers

This is mostly refactoring, but there are Web-facing changes for
onmessage, onpageshow and onpagehide, which were not correctly handled.

Drop the "Not implemented yet" blocks. onafterprint and onbeforeprint
are listed in WindowEventHandlers.idl, while onredo and onundo are
not in the spec.

BUG= 305112 

Review URL: https://codereview.chromium.org/48603002
------------------------------------------------------------------------
Comment 18 by phil...@opera.com, Oct 29 2013
Status: Fixed
All done!

An additional thing that would be nice to clean up is the mappings from attribute names to event names, which are a bit of a mess, see the WindowEventHandlers commit.
Project Member Comment 19 by bugdroid1@chromium.org, Nov 5 2013
The following revision refers to this bug:
    http://src.chromium.org/viewvc/blink?view=rev&rev=161265

------------------------------------------------------------------------
r161265 | philipj@opera.com | 2013-11-04T18:38:31.126708Z

Changed paths:
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/dom/Document.idl?r1=161265&r2=161264&pathrev=161265
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/frame/Window.idl?r1=161265&r2=161264&pathrev=161265
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/dom/GlobalEventHandlers.idl?r1=161265&r2=161264&pathrev=161265
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/dom/Element.idl?r1=161265&r2=161264&pathrev=161265

Restore ActivityLogging=SetterForIsolatedWorlds for mouse and keyboard events

This was first added in r154552.

In r159511 [PerWorldBindings, ActivityLogging=SetterForIsolatedWorlds]
was replaced with [ActivityLogging=Setter] on the assumption that
PerWorldBindings wasn't there for any particular reason and that
SetterForIsolatedWorlds wouldn't make sense without it.

This was wrong, because activity logging now happens for all worlds,
where it previously only happened for isolated worlds.

Make it so again.

BUG= 305112 

Review URL: https://codereview.chromium.org/57443002
------------------------------------------------------------------------
Sign in to add a comment