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

Timeline



Aug 12, 2018:

11:47 PM Changeset in webkit [234792] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebDriver

WebDriver: do not handle prompts that appear while running scripts
https://bugs.webkit.org/show_bug.cgi?id=188468

Reviewed by Žan Doberšek.

This changed in the spec, we should just finish the script without handling the alert at all.
https://github.com/w3c/webdriver/commit/afb578090bc95718debeab6a6821da8d12b952c8

"If at any point during the algorithm a user prompt appears, abort all subsequent substeps of this algorithm,
and return success with data null."
https://w3c.github.io/webdriver/#dfn-execute-a-function-body

  • Session.cpp:

(WebDriver::Session::executeScript):

11:33 PM Changeset in webkit [234791] by sihui_liu@apple.com
  • 8 edits in trunk/Source/WebCore

CrashTracer: com.apple.WebKit.Storage at WebCore::IDBServer::UniqueIDBDatabase::connectionClosedFromClient(WebCore::IDBServer::UniqueIDBDatabaseConnection&)
https://bugs.webkit.org/show_bug.cgi?id=188474

Reviewed by Chris Dumez.

UniqueIDBDatabaseConnection is refcounted by UniqueIDBDatabaseTransaction and it refcounts
UniqueIDBDatabaseTransaction. This cycle could make UniqueIDBDatabaseConnection outlives
UniqueIDBDatabase, so its reference to UniqueIDBDatabase may be stale. Calling a function
on a stale object is probably the reason of recent various storage process crashes in
indexedDB.

This patch makes m_database a WeakPtr and adds assertions that could help us debug the
crashes.

  • Modules/indexeddb/server/IDBServer.cpp:

(WebCore::IDBServer::IDBServer::closeAndDeleteDatabasesModifiedSince):
(WebCore::IDBServer::IDBServer::closeAndDeleteDatabasesForOrigins):

  • Modules/indexeddb/server/UniqueIDBDatabase.cpp:

(WebCore::IDBServer::UniqueIDBDatabase::commitTransaction):
(WebCore::IDBServer::UniqueIDBDatabase::abortTransaction):

  • Modules/indexeddb/server/UniqueIDBDatabase.h:
  • Modules/indexeddb/server/UniqueIDBDatabaseConnection.cpp:

(WebCore::IDBServer::UniqueIDBDatabaseConnection::UniqueIDBDatabaseConnection):
(WebCore::IDBServer::UniqueIDBDatabaseConnection::~UniqueIDBDatabaseConnection):
(WebCore::IDBServer::UniqueIDBDatabaseConnection::abortTransactionWithoutCallback):
(WebCore::IDBServer::UniqueIDBDatabaseConnection::connectionClosedFromClient):
(WebCore::IDBServer::UniqueIDBDatabaseConnection::confirmDidCloseFromServer):
(WebCore::IDBServer::UniqueIDBDatabaseConnection::didFireVersionChangeEvent):
(WebCore::IDBServer::UniqueIDBDatabaseConnection::didFinishHandlingVersionChange):
(WebCore::IDBServer::UniqueIDBDatabaseConnection::createVersionChangeTransaction):
(WebCore::IDBServer::UniqueIDBDatabaseConnection::establishTransaction):
(WebCore::IDBServer::UniqueIDBDatabaseConnection::didAbortTransaction):

  • Modules/indexeddb/server/UniqueIDBDatabaseConnection.h:

(WebCore::IDBServer::UniqueIDBDatabaseConnection::database):

  • Modules/indexeddb/server/UniqueIDBDatabaseTransaction.cpp:

(WebCore::IDBServer::UniqueIDBDatabaseTransaction::UniqueIDBDatabaseTransaction):
(WebCore::IDBServer::UniqueIDBDatabaseTransaction::~UniqueIDBDatabaseTransaction):
(WebCore::IDBServer::UniqueIDBDatabaseTransaction::abort):
(WebCore::IDBServer::UniqueIDBDatabaseTransaction::commit):
(WebCore::IDBServer::UniqueIDBDatabaseTransaction::createObjectStore):
(WebCore::IDBServer::UniqueIDBDatabaseTransaction::deleteObjectStore):
(WebCore::IDBServer::UniqueIDBDatabaseTransaction::renameObjectStore):
(WebCore::IDBServer::UniqueIDBDatabaseTransaction::clearObjectStore):
(WebCore::IDBServer::UniqueIDBDatabaseTransaction::createIndex):
(WebCore::IDBServer::UniqueIDBDatabaseTransaction::deleteIndex):
(WebCore::IDBServer::UniqueIDBDatabaseTransaction::renameIndex):
(WebCore::IDBServer::UniqueIDBDatabaseTransaction::putOrAdd):
(WebCore::IDBServer::UniqueIDBDatabaseTransaction::getRecord):
(WebCore::IDBServer::UniqueIDBDatabaseTransaction::getAllRecords):
(WebCore::IDBServer::UniqueIDBDatabaseTransaction::getCount):
(WebCore::IDBServer::UniqueIDBDatabaseTransaction::deleteRecord):
(WebCore::IDBServer::UniqueIDBDatabaseTransaction::openCursor):
(WebCore::IDBServer::UniqueIDBDatabaseTransaction::iterateCursor):
(WebCore::IDBServer::UniqueIDBDatabaseTransaction::objectStoreIdentifiers):

  • Modules/indexeddb/shared/IDBResultData.cpp:

(WebCore::IDBResultData::openDatabaseSuccess):
(WebCore::IDBResultData::openDatabaseUpgradeNeeded):

7:48 PM Changeset in webkit [234790] by Michael Catanzaro
  • 6 edits in trunk

Unreviewed GTK test gardening

WebDriverTests:

LayoutTests:

  • platform/gtk/TestExpectations:
  • platform/gtk/fast/forms/color/input-appearance-color-expected.png:
  • platform/gtk/fast/forms/color/input-appearance-color-expected.txt:
5:02 PM Changeset in webkit [234789] by yusukesuzuki@slowstart.org
  • 11 edits
    1 copy in trunk

Break reference cycle in ErrorEvent by using JSValueInWrappedObject
https://bugs.webkit.org/show_bug.cgi?id=188491

Reviewed by Darin Adler.

Source/WebCore:

ErrorEvent should not use Strong<Unkonwn> to hold error JSValue. This patch integrates
JSValueInWrappedObject into ErrorEvent.

  • Modules/webvr/VRDisplayEvent.h:

Fix unified build errors due to added JSErrorEventCustom.cpp. It changes the files grouped in unified build.

  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/JSErrorEventCustom.cpp: Copied from Source/WebCore/Modules/webvr/VRDisplayEvent.h.

(WebCore::JSErrorEvent::visitAdditionalChildren):
Add custom mark function for JSValueInWrappedObject.

  • bindings/js/JSEventListener.h:
  • bindings/js/WindowProxy.cpp:

Fix unified build errors due to added JSErrorEventCustom.cpp. It changes the files grouped in unified build.

  • dom/ErrorEvent.cpp:

(WebCore::ErrorEvent::ErrorEvent):
(WebCore::ErrorEvent::error):
(WebCore::ErrorEvent::trySerializeError):
Align the implementation to PushStateEvent::trySerializeState.

  • dom/ErrorEvent.h:
  • dom/ErrorEvent.idl:

LayoutTests:

  • fast/dom/reference-cycle-leaks-expected.txt:
1:19 PM Changeset in webkit [234788] by Aditya Keerthi
  • 28 edits in trunk

[macOS] Color wells should appear pressed when presenting a color picker
https://bugs.webkit.org/show_bug.cgi?id=188477

Reviewed by Tim Horton.

Source/WebCore:

Currently, when clicking on a color well, the color well loses its pressed
appearance once the mouse is lifted. Because of this behavior, the color well
does not appear to be active when the color picker is displayed.

Added the color-well -webkit-appearance value to control the drawing of the color
well separate from other buttons. Also added a new ControlState, named
PresentingState. A control can be in this state whenever it is presenting some
attached view. In the case of the color well this is the color picker. The
Information as to whether a form control is in the presenting state comes from
isPresentingAttachedView() in HTMLInputElement.

  • css/CSSPrimitiveValueMappings.h:

(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):

  • css/CSSProperties.json:
  • css/CSSValueKeywords.in:
  • css/html.css:

(input[type="color"]::-webkit-color-swatch):

  • html/ColorInputType.cpp:

(WebCore::ColorInputType::isPresentingAttachedView const):
(WebCore::ColorInputType::elementDidBlur):
(WebCore::ColorInputType::didEndChooser):

  • html/ColorInputType.h:
  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::isPresentingAttachedView const):

  • html/HTMLInputElement.h:
  • html/InputType.cpp:

(WebCore::InputType::isPresentingAttachedView const):

  • html/InputType.h:
  • platform/ControlStates.h:
  • platform/ThemeTypes.h:
  • platform/mac/ThemeMac.mm:

(WebCore::updateStates):
(WebCore::setUpButtonCell):
(WebCore::paintColorWell):
(WebCore::ThemeMac::minimumControlSize const):
(WebCore::ThemeMac::controlBorder const):
(WebCore::ThemeMac::paint):

  • rendering/RenderTheme.cpp:

(WebCore::RenderTheme::adjustStyle):
(WebCore::RenderTheme::paint):
(WebCore::RenderTheme::paintBorderOnly):
(WebCore::RenderTheme::paintDecorations):
(WebCore::RenderTheme::isControlStyled const):
(WebCore::RenderTheme::extractControlStatesForRenderer const):
(WebCore::RenderTheme::isPresenting const):

  • rendering/RenderTheme.h:
  • rendering/RenderThemeMac.mm:

(WebCore::RenderThemeMac::adjustRepaintRect):

Source/WebInspectorUI:

Add keyword completion for 'color-well'.

  • UserInterface/External/CodeMirror/css.js:
  • UserInterface/Models/CSSKeywordCompletions.js:

Source/WebKit:

In order for the color well to accurately reflect the state of the picker, it is
necessary to ensure that the picker is destroyed at the appropriate time.

Added windowWillClose and didClosePopover delegate methods to destroy the picker
it has been closed. Also added a call to WebColorPicker::endPicker in
WebColorPickerMac's implementation of endPicker to ensure that the object is
destroyed. Removed redundant calls to endPicker in the WebPageProxy.

The hitTest method was overridden in WKPopoverColorWell to ensure that AppKit's
view does not block our drawn color well from receiving click events.

  • UIProcess/WebColorPicker.cpp:

(WebKit::WebColorPicker::endPicker):

  • UIProcess/WebColorPicker.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::endColorPicker):
(WebKit::WebPageProxy::didEndColorPicker):
(WebKit::WebPageProxy::resetState):
(WebKit::WebPageProxy::closeOverlayedViews):

  • UIProcess/mac/WebColorPickerMac.mm:

(WebKit::WebColorPickerMac::~WebColorPickerMac):
(WebKit::WebColorPickerMac::endPicker):
(-[WKPopoverColorWell popoverDidClose:]):
(-[WKPopoverColorWell hitTest:]):
(-[WKColorPopoverMac setAndShowPicker:withColor:suggestions:]):
(-[WKColorPopoverMac invalidate]):
(-[WKColorPopoverMac windowWillClose:]):
(-[WKColorPopoverMac didClosePopover]):

LayoutTests:

Rebaseline tests to match new color-well appearance.

  • platform/mac/fast/forms/color/input-appearance-color-expected.png:
  • platform/mac/fast/forms/color/input-appearance-color-expected.txt:
9:36 AM Changeset in webkit [234787] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

Disable JIT on IA-32 without SSE2
https://bugs.webkit.org/show_bug.cgi?id=188476

Patch by Karo Gyoker <karogyoker2+webkit@gmail.com> on 2018-08-12
Reviewed by Michael Catanzaro.

Including missing header (MacroAssembler.h) in case of other
operating systems than Windows too.

  • runtime/Options.cpp:
8:46 AM Changeset in webkit [234786] by Alan Bujtas
  • 5 edits
    2 adds in trunk

[LFC] Float prev/next sibling should prevent top/bottom margin collapsing with parent.
https://bugs.webkit.org/show_bug.cgi?id=188487

Reviewed by Antti Koivisto.

Source/WebCore:

Test: fast/block/block-only/floating-and-next-previous-inflow-with-margin.html

  • layout/blockformatting/BlockMarginCollapse.cpp:

(WebCore::Layout::isMarginTopCollapsedWithParent):
(WebCore::Layout::BlockFormattingContext::MarginCollapse::isMarginBottomCollapsedWithParent):

Tools:

  • LayoutReloaded/misc/LFC-passing-tests.txt:

LayoutTests:

  • fast/block/block-only/floating-and-next-previous-inflow-with-margin-expected.txt: Added.
  • fast/block/block-only/floating-and-next-previous-inflow-with-margin.html: Added.

Aug 11, 2018:

9:13 PM Changeset in webkit [234785] by aakash_jain@apple.com
  • 3 edits in trunk/Tools

[ews-build] Separate queues for Builders and Testers - iOS
https://bugs.webkit.org/show_bug.cgi?id=188396

Reviewed by Lucas Forschler.

  • BuildSlaveSupport/ews-build/config.json: Splitted iOS queues into builders and testers.

Also added ews121 and ews122 to match with current EWS configuration.

  • BuildSlaveSupport/ews-build/factories.py:

(TestsFactory): Base classes for various Test factories.
(TestsFactory.getProduct): Download and extract the archive.

2:04 PM Changeset in webkit [234784] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

Disable JIT on IA-32 without SSE2
https://bugs.webkit.org/show_bug.cgi?id=188476

Patch by Karo Gyoker <karogyoker2+webkit@gmail.com> on 2018-08-11
Reviewed by Yusuke Suzuki.

On IA-32 CPUs without SSE2 most of the webpages cannot load
if the JIT is turned on.

  • runtime/Options.cpp:

(JSC::recomputeDependentOptions):

7:04 AM Changeset in webkit [234783] by Michael Catanzaro
  • 2 edits in trunk/Source/WebCore/platform/gtk/po

[l10n] [pt_BR] Updated Brazilian Portuguese translation
https://bugs.webkit.org/show_bug.cgi?id=188482

Patch by Rafael Fontenelle <rafaelff@gnome.org> on 2018-08-11
Rubber-stamped by Michael Catanzaro.

  • pt_BR.po:
Note: See TracTimeline for information about the timeline view.