⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Timeline



Aug 14, 2016:

5:48 PM Changeset in webkit [204459] by Chris Dumez
  • 13 edits
    1 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:

The following changes were made:

  1. RegisteredEventListener (equivalent to "event listener" in the spec) is now RefCounted
  2. RegisteredEventListener now has a wasRemoved flag as in specification.
  3. 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 mitz@apple.com
  • 6 edits
    1 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 gskachkov@gmail.com
  • 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 dbates@webkit.org
  • 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 commit-queue@webkit.org
  • 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 mitz@apple.com
  • 5 edits
    1 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 mmaxfield@apple.com
  • 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 mitz@apple.com
  • 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 Chris Dumez
  • 3 edits
    2 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 Chris Dumez
  • 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 Chris Dumez
  • 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 clopez@igalia.com
  • 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 Konstantin Tokarev
  • 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 pvollan@apple.com
  • 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 clopez@igalia.com
  • 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.
Note: See TracTimeline for information about the timeline view.