Timeline
Aug 14, 2016:
- 5:48 PM Changeset in webkit [204459] by
-
- 13 edits1 delete in trunk/Source/WebCore
Align the event listener firing code with the latest DOM Specification and simplify it
https://bugs.webkit.org/show_bug.cgi?id=160828
Reviewed by Darin Adler.
Align the event listener firing code with the latest DOM specification:
- https://dom.spec.whatwg.org/#concept-event-listener-invoke
- https://dom.spec.whatwg.org/#concept-event-listener-inner-invoke
- https://dom.spec.whatwg.org/#concept-event-listener
The following changes were made:
- RegisteredEventListener (equivalent to "event listener" in the spec) is now RefCounted
- RegisteredEventListener now has a wasRemoved flag as in specification.
- fireEventListeners() is now iterating over a copy of the event listeners, as in the specification. We rely on the wasRemoved removed flag to avoid executing event listeners that were removed while we iterate.
Previously, the code was modifying the event listeners vector we were
iterating on. Doing so safely lead to complicated and error prone code.
The new code is much simpler and easier to reason about.
This change seems to be perf-neutral on Speedometer.
No new tests, no web-exposed behavior change.
- CMakeLists.txt:
- WebCore.xcodeproj/project.pbxproj:
- bindings/js/JSCommandLineAPIHostCustom.cpp:
(WebCore::getJSListenerFunctions):
- dom/DOMAllInOne.cpp:
- dom/EventListenerMap.cpp:
(WebCore::EventListenerMap::assertNoActiveIterators):
(WebCore::EventListenerMap::containsCapturing):
(WebCore::EventListenerMap::containsActive):
(WebCore::findListener):
(WebCore::EventListenerMap::add):
(WebCore::removeListenerFromVector):
(WebCore::EventListenerMap::remove):
(WebCore::EventListenerMap::find):
(WebCore::removeFirstListenerCreatedFromMarkup):
(WebCore::copyListenersNotCreatedFromMarkupToTarget):
(WebCore::EventListenerMap::copyEventListenersNotCreatedFromMarkupToTarget):
(WebCore::EventListenerIterator::nextListener):
(WebCore::EventListenerMap::clear): Deleted.
- dom/EventListenerMap.h:
(WebCore::EventListenerMap::contains):
(WebCore::EventListenerMap::assertNoActiveIterators):
- dom/EventTarget.cpp:
(WebCore::EventTarget::removeEventListener):
(WebCore::EventTarget::getAttributeEventListener):
(WebCore::FiringEventListenersScope::FiringEventListenersScope):
(WebCore::FiringEventListenersScope::~FiringEventListenersScope):
(WebCore::EventTarget::fireEventListeners):
(WebCore::EventTarget::setAttributeEventListener): Deleted.
(WebCore::EventTarget::hasActiveEventListeners): Deleted.
(WebCore::EventTarget::dispatchEventForBindings): Deleted.
(WebCore::EventTarget::getEventListeners): Deleted.
- dom/EventTarget.h:
(WebCore::EventTarget::isFiringEventListeners):
- dom/RegisteredEventListener.cpp: Removed.
- dom/RegisteredEventListener.h:
(WebCore::RegisteredEventListener::Options::Options):
(WebCore::RegisteredEventListener::create):
(WebCore::RegisteredEventListener::listener):
(WebCore::RegisteredEventListener::useCapture):
(WebCore::RegisteredEventListener::isPassive):
(WebCore::RegisteredEventListener::isOnce):
(WebCore::RegisteredEventListener::wasRemoved):
(WebCore::RegisteredEventListener::markAsRemoved):
(WebCore::RegisteredEventListener::RegisteredEventListener):
- inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::getEventListenersForNode):
(WebCore::InspectorDOMAgent::getEventListeners):
(WebCore::InspectorDOMAgent::buildObjectForEventListener):
- inspector/InspectorDOMAgent.h:
(WebCore::EventListenerInfo::EventListenerInfo):
- svg/SVGElement.cpp:
(WebCore::hasLoadListener):
- 5:02 PM Changeset in webkit [204458] by
-
- 6 edits1 delete in trunk/Source/WebKit2
[Cocoa] Remove deprecated _WKFormDelegate
https://bugs.webkit.org/show_bug.cgi?id=160848
Reviewed by Anders Carlsson.
- Shared/API/Cocoa/WebKitPrivate.h: Removed #import.
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _formDelegate]): Moved into WKBinaryCompatibilityIOS10 cateogry implementation,
chaged type to id <_WKInputDelegate>.
(-[WKWebView _setFormDelegate:]): Ditto.
- UIProcess/API/Cocoa/WKWebViewPrivate.h: Removed property declaration.
- UIProcess/API/Cocoa/_WKFormDelegate.h: Removed.
- WebKit2.xcodeproj/project.pbxproj: Removed reference to header.
- WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFormDelegatePrivate.h: Fixed comment.
- 4:04 PM Changeset in webkit [204457] by
-
- 4 edits in trunk/JSTests
[2016] Set correct status for test262 after implementation of Object.values&Object.entries
https://bugs.webkit.org/show_bug.cgi?id=160844
Reviewed by Saam Barati.
Patch contains fix statuses of specs in the test262 test collection after implementation of
Object.values and Object.entries functions. Also patch contains small fixes in tests of the
tests for Object.values/entries functions.
- stress/object-entries.js:
(Object.getOwnPropertyDescriptor):
- stress/object-values.js:
(Object.getOwnPropertyDescriptor):
- test262.yaml:
- 3:42 PM Changeset in webkit [204456] by
-
- 12 edits in trunk/Source
Fix compiler errors when building iOS WebKit using the iOS 10 beta SDK
https://bugs.webkit.org/show_bug.cgi?id=160725
Reviewed by Sam Weinig.
Source/WebCore:
- platform/cocoa/ThemeCocoa.mm: Unconditionally include header dlfcn.h as it
exists in both the public iOS 9.3 SDK and iOS 10 beta SDK.
- platform/spi/cocoa/CoreTextSPI.h: Add SPI declarations for constants that were
used in r204107.
- platform/spi/cocoa/PassKitSPI.h: Remove unnecessary #import statements when
building with the Apple Internal SDK. Include header PassKit/PassKit.h when
building for iOS.
- platform/spi/cocoa/QuartzCoreSPI.h: No need to define CLayer.contentsFormat
when building with the iOS 10 beta SDK as it is now part of the public API.
Source/WebKit/mac:
OSAtomicCompareAndSwap32() has been deprecated as of the iOS 10 beta SDK. For now,
silence the complier warning.
- WebView/WebView.mm:
(-[WebView _dispatchTileDidDraw:]):
Source/WebKit2:
- Platform/spi/ios/UIKitSPI.h: Add SPI for UITextInputSuggestionDelegate.
- UIProcess/ApplePay/ios/WebPaymentCoordinatorProxyIOS.mm: Remove unnecessary include of PKPaymentMerchantSession.h.
Source/WTF:
For now, disable OS_LOG when building with the iOS 10 beta SDK until
we have the fix for <rdar://problem/27758343>.
- wtf/Platform.h:
- 3:38 PM Changeset in webkit [204455] by
-
- 3 edits in trunk/Source/WebCore
Dereferenced NULL pointer in StyleResolver
https://bugs.webkit.org/show_bug.cgi?id=160823
Patch by Jonathan Bedard <Jonathan Bedard> on 2016-08-14
Reviewed by Darin Adler.
No behavior changed, new tests unneeded.
This change was initiated by a NULL pointer dereference to provide this unused argument.
- css/StyleResolver.cpp:
(WebCore::StyleResolver::CascadedProperties::addStyleProperties): Removed unused function argument.
(WebCore::StyleResolver::CascadedProperties::addMatch): Ditto.
- css/StyleResolver.h: Ditto.
- 2:45 PM Changeset in webkit [204454] by
-
- 5 edits1 delete in trunk/Source/WebKit2
[Cocoa] Remove deprecated _WKVisitedLinkProvider declarations that aren’t needed
https://bugs.webkit.org/show_bug.cgi?id=160846
Reviewed by Darin Adler.
- UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
(-[WKWebViewConfiguration _visitedLinkProvider]): Moved into WKBinaryCompatibilityIOS10
cateogry implementation, changed type to _WKVisitedLinkStore.
(-[WKWebViewConfiguration _setVisitedLinkProvider:]): Ditto.
- UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h: Removed property declaration.
- UIProcess/API/Cocoa/_WKVisitedLinkProvider.h: Removed.
- UIProcess/API/Cocoa/_WKVisitedLinkProvider.mm: Moved declaration in here.
- WebKit2.xcodeproj/project.pbxproj: Updated for header removal.
- 11:29 AM Changeset in webkit [204453] by
-
- 2 edits in trunk/Source/WebCore
Fix GTK Debug bots after r204400
https://bugs.webkit.org/show_bug.cgi?id=160818
Reviewed by Carlos Garcia Campos.
Because the GTK EWS bot doesn't run tests, I missed this.
No new tests because there is no behavior change.
- platform/graphics/harfbuzz/HarfBuzzShaper.cpp:
(WebCore::HarfBuzzShaper::selectionRect):
Aug 13, 2016:
- 6:29 PM Changeset in webkit [204452] by
-
- 2 edits in trunk/Source/WTF
Build fix follow-up to r204433.
- wtf/StdLibExtras.h:
(WTF::makeVisitor): Don’t use an auto return type.
- 5:10 PM Changeset in webkit [204451] by
-
- 3 edits2 adds in trunk
'compatMode' property should be on Document, not HTMLDocument
https://bugs.webkit.org/show_bug.cgi?id=160819
Reviewed by Sam Weinig.
Source/WebCore:
'compatMode' property should be on Document, not HTMLDocument:
WebKit had it on both. Firefox and Chrome have it on Document only.
Test: fast/dom/Document/compatMode-location.html
- html/HTMLDocument.idl:
LayoutTests:
Add layout test coverage.
- fast/dom/Document/compatMode-location-expected.txt: Added.
- fast/dom/Document/compatMode-location.html: Added.
- 3:37 PM Changeset in webkit [204450] by
-
- 5 edits in trunk
Move 'embeds' / 'plugins'/ 'scripts' attributes from HTMLDocument to Document
https://bugs.webkit.org/show_bug.cgi?id=160829
Reviewed by Sam Weinig.
LayoutTests/imported/w3c:
Rebaseline W3C test now that more checks are passing.
- web-platform-tests/html/dom/interfaces-expected.txt:
Source/WebCore:
Move 'embeds' / 'plugins'/ 'scripts' attributes from HTMLDocument to Document
to match the latest specification:
This also matches Chrome.
No new tests, rebaselined existing test.
- dom/Document.idl:
- html/HTMLDocument.idl:
- 3:36 PM Changeset in webkit [204449] by
-
- 9 edits in trunk
Move designMode attribute from HTMLDocument to Document
https://bugs.webkit.org/show_bug.cgi?id=160838
Reviewed by Sam Weinig.
LayoutTests/imported/w3c:
Rebaseline W3C test now that more checks are passing.
- web-platform-tests/html/dom/interfaces-expected.txt:
Source/WebCore:
Move designMode attribute from HTMLDocument to Document to match the
latest HTML specification:
This also matches Chrome.
No new tests, rebaselined existing test.
- dom/Document.cpp:
(WebCore::Document::designMode):
(WebCore::Document::setDesignMode):
- dom/Document.h:
- dom/Document.idl:
- html/HTMLDocument.cpp:
(WebCore::HTMLDocument::bgColor): Deleted.
(WebCore::HTMLDocument::setBgColor): Deleted.
(WebCore::HTMLDocument::fgColor): Deleted.
- html/HTMLDocument.h:
- html/HTMLDocument.idl:
- 1:30 PM Changeset in webkit [204448] by
-
- 2 edits in trunk/Tools
[GTK] Install script lacks gstreamer related dependencies
https://bugs.webkit.org/show_bug.cgi?id=160814
Reviewed by Carlos Garcia Campos.
- gtk/install-dependencies: Fedora case had already listed this dependencies,
but both Arch and Debian/Ubuntu were missing them.
- 11:59 AM Changeset in webkit [204447] by
-
- 2 edits in trunk/Tools
make-dist.py should not allow unknown rules in manifest
https://bugs.webkit.org/show_bug.cgi?id=160841
Reviewed by Carlos Garcia Campos.
- gtk/make-dist.py:
(Manifest.process_line):
- 10:17 AM Changeset in webkit [204446] by
-
- 3 edits in trunk/Source/JavaScriptCore
[Win] Warning fixes.
https://bugs.webkit.org/show_bug.cgi?id=160803
Reviewed by Brent Fulgham.
Initialize local variables.
- jit/JIT.cpp:
(JSC::JIT::compileWithoutLinking):
- runtime/Error.cpp:
(JSC::addErrorInfoAndGetBytecodeOffset):
- 8:32 AM Changeset in webkit [204445] by
-
- 3 edits in trunk/Tools
[EFL][GTK] Install script not working on Debian 9 (testing) and Ubuntu 16.10
https://bugs.webkit.org/show_bug.cgi?id=160809
Reviewed by Carlos Garcia Campos.
- efl/install-dependencies: Factorize the previous logic for handling the php5/7
case, and use it also for the new package names of libpng and libgeoclue.
- gtk/install-dependencies: Ditto.