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

Timeline



Dec 19, 2016:

9:23 PM WebKitGTK/2.14.x edited by Michael Catanzaro
(diff)
9:02 PM WebKitGTK/2.14.x edited by Michael Catanzaro
Reorder chronologically (diff)
9:01 PM WebKitGTK/2.14.x edited by Michael Catanzaro
(diff)
8:53 PM WebKitGTK/2.14.x edited by Michael Catanzaro
(diff)
8:52 PM WebKitGTK/2.14.x edited by Michael Catanzaro
(diff)
8:49 PM WebKitGTK/2.14.x edited by Michael Catanzaro
(diff)
8:32 PM WebKitGTK/2.14.x edited by Michael Catanzaro
(diff)
8:19 PM WebKitGTK/2.14.x edited by Michael Catanzaro
(diff)
7:14 PM Changeset in webkit [210015] by bshafiei@apple.com
  • 5 edits in branches/safari-603-branch/Source

Versioning.

7:09 PM Changeset in webkit [210014] by bshafiei@apple.com
  • 5 edits in trunk/Source

Versioning.

6:54 PM Changeset in webkit [210013] by bshafiei@apple.com
  • 1 copy in tags/Safari-603.1.17

New tag.

6:31 PM Changeset in webkit [210012] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Marking http/tests/fetch/fetching-same-resource-with-diffferent-options.html as flaky on macOS.
https://bugs.webkit.org/show_bug.cgi?id=166025

Unreviewed test gardening.

  • platform/mac/TestExpectations:
6:05 PM Changeset in webkit [210011] by bshafiei@apple.com
  • 8 edits
    2 deletes in branches/safari-603-branch

Merged r210010. rdar://problem/29745006

6:03 PM Changeset in webkit [210010] by mark.lam@apple.com
  • 8 edits
    2 deletes in trunk

Rolling out r209974 and r209952. They break some websites in mysterious ways. Step 2: Rollout r209952.
https://bugs.webkit.org/show_bug.cgi?id=166049

Not reviewed.

JSTests:

  • stress/deeply-nested-finallys.js: Removed.
  • stress/test-finally.js: Removed.

Source/JavaScriptCore:

  • bytecode/HandlerInfo.h:

(JSC::HandlerInfoBase::typeName):

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::generate):
(JSC::BytecodeGenerator::BytecodeGenerator):
(JSC::BytecodeGenerator::emitReturn):
(JSC::BytecodeGenerator::pushFinallyControlFlowScope):
(JSC::BytecodeGenerator::pushIteratorCloseControlFlowScope):
(JSC::BytecodeGenerator::popFinallyControlFlowScope):
(JSC::BytecodeGenerator::popIteratorCloseControlFlowScope):
(JSC::BytecodeGenerator::emitComplexPopScopes):
(JSC::BytecodeGenerator::emitPopScopes):
(JSC::BytecodeGenerator::pushTry):
(JSC::BytecodeGenerator::popTryAndEmitCatch):
(JSC::BytecodeGenerator::labelScopeDepth):
(JSC::BytecodeGenerator::pushLocalControlFlowScope):
(JSC::BytecodeGenerator::popLocalControlFlowScope):
(JSC::BytecodeGenerator::emitEnumeration):
(JSC::BytecodeGenerator::emitYield):
(JSC::BytecodeGenerator::emitDelegateYield):
(JSC::BytecodeGenerator::popTry): Deleted.
(JSC::BytecodeGenerator::emitCatch): Deleted.
(JSC::BytecodeGenerator::restoreScopeRegister): Deleted.
(JSC::BytecodeGenerator::labelScopeDepthToLexicalScopeIndex): Deleted.
(JSC::BytecodeGenerator::emitIsNumber): Deleted.
(JSC::BytecodeGenerator::emitJumpViaFinallyIfNeeded): Deleted.
(JSC::BytecodeGenerator::emitReturnViaFinallyIfNeeded): Deleted.
(JSC::BytecodeGenerator::emitFinallyCompletion): Deleted.
(JSC::BytecodeGenerator::allocateFinallyRegisters): Deleted.
(JSC::BytecodeGenerator::releaseFinallyRegisters): Deleted.
(JSC::BytecodeGenerator::emitCompareFinallyActionAndJumpIf): Deleted.

  • bytecompiler/BytecodeGenerator.h:

(JSC::BytecodeGenerator::isInFinallyBlock):
(JSC::FinallyJump::FinallyJump): Deleted.
(JSC::FinallyContext::FinallyContext): Deleted.
(JSC::FinallyContext::outerContext): Deleted.
(JSC::FinallyContext::finallyLabel): Deleted.
(JSC::FinallyContext::depth): Deleted.
(JSC::FinallyContext::numberOfBreaksOrContinues): Deleted.
(JSC::FinallyContext::incNumberOfBreaksOrContinues): Deleted.
(JSC::FinallyContext::handlesReturns): Deleted.
(JSC::FinallyContext::setHandlesReturns): Deleted.
(JSC::FinallyContext::registerJump): Deleted.
(JSC::FinallyContext::numberOfJumps): Deleted.
(JSC::FinallyContext::jumps): Deleted.
(JSC::ControlFlowScope::ControlFlowScope): Deleted.
(JSC::ControlFlowScope::isLabelScope): Deleted.
(JSC::ControlFlowScope::isFinallyScope): Deleted.
(JSC::BytecodeGenerator::currentLexicalScopeIndex): Deleted.
(JSC::BytecodeGenerator::FinallyRegistersScope::FinallyRegistersScope): Deleted.
(JSC::BytecodeGenerator::FinallyRegistersScope::~FinallyRegistersScope): Deleted.
(JSC::BytecodeGenerator::finallyActionRegister): Deleted.
(JSC::BytecodeGenerator::finallyReturnValueRegister): Deleted.
(JSC::BytecodeGenerator::emitSetFinallyActionToNormalCompletion): Deleted.
(JSC::BytecodeGenerator::emitSetFinallyActionToReturnCompletion): Deleted.
(JSC::BytecodeGenerator::emitSetFinallyActionToJumpID): Deleted.
(JSC::BytecodeGenerator::emitSetFinallyReturnValueRegister): Deleted.
(JSC::BytecodeGenerator::emitJumpIfFinallyActionIsNormalCompletion): Deleted.
(JSC::BytecodeGenerator::emitJumpIfFinallyActionIsNotJump): Deleted.
(JSC::BytecodeGenerator::emitJumpIfFinallyActionIsReturnCompletion): Deleted.
(JSC::BytecodeGenerator::emitJumpIfFinallyActionIsNotReturnCompletion): Deleted.
(JSC::BytecodeGenerator::emitJumpIfFinallyActionIsNotThrowCompletion): Deleted.
(JSC::BytecodeGenerator::emitJumpIfCompletionTypeIsThrow): Deleted.
(JSC::BytecodeGenerator::bytecodeOffsetToJumpID): Deleted.

  • bytecompiler/NodesCodegen.cpp:

(JSC::ContinueNode::emitBytecode):
(JSC::BreakNode::emitBytecode):
(JSC::ReturnNode::emitBytecode):
(JSC::TryNode::emitBytecode):

Source/WTF:

  • wtf/SegmentedVector.h:

(WTF::SegmentedVector::last):
(WTF::SegmentedVector::first): Deleted.
(WTF::SegmentedVector::takeLast): Deleted.

6:01 PM Changeset in webkit [210009] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebInspectorUI

Web Inspector: Address some assertions and uncaught exceptions seen using Inspector
https://bugs.webkit.org/show_bug.cgi?id=166048

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-12-19
Reviewed by Matt Baker.

  • UserInterface/Controllers/CodeMirrorEditingController.js:

(WebInspector.CodeMirrorEditingController.prototype.presentHoverMenu):
(WebInspector.CodeMirrorEditingController.prototype.dismissHoverMenu):
classList throws an exception when given an empty string. Avoid those cases.

  • UserInterface/Controllers/CodeMirrorTokenTrackingController.js:

(WebInspector.CodeMirrorTokenTrackingController.prototype._startTracking):
(WebInspector.CodeMirrorTokenTrackingController.prototype._stopTracking):
Seen this assert frequently for a while, existing code handles it gracefully.

  • UserInterface/Workers/Formatter/EsprimaFormatter.js:

(EsprimaFormatter.prototype._handleTokenAtNode):
We correctly handle these tokens but they were not in the list of expected tokens.

5:55 PM Changeset in webkit [210008] by bshafiei@apple.com
  • 4 edits in branches/safari-603-branch/Source/JavaScriptCore

Merged r210007. rdar://problem/29745006

5:48 PM Changeset in webkit [210007] by mark.lam@apple.com
  • 4 edits in trunk/Source/JavaScriptCore

Rolling out r209974 and r209952. They break some websites in mysterious ways. Step 1: Rollout r209974.
https://bugs.webkit.org/show_bug.cgi?id=166049

Not reviewed.

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::emitEnumeration):
(JSC::BytecodeGenerator::emitJumpViaFinallyIfNeeded):
(JSC::BytecodeGenerator::emitReturnViaFinallyIfNeeded):
(JSC::BytecodeGenerator::emitFinallyCompletion):
(JSC::BytecodeGenerator::allocateFinallyRegisters):
(JSC::BytecodeGenerator::releaseFinallyRegisters):
(JSC::BytecodeGenerator::emitCompareFinallyActionAndJumpIf):
(JSC::BytecodeGenerator::allocateCompletionRecordRegisters): Deleted.
(JSC::BytecodeGenerator::releaseCompletionRecordRegisters): Deleted.
(JSC::BytecodeGenerator::emitJumpIfCompletionType): Deleted.

  • bytecompiler/BytecodeGenerator.h:

(JSC::FinallyJump::FinallyJump):
(JSC::FinallyContext::registerJump):
(JSC::BytecodeGenerator::FinallyRegistersScope::FinallyRegistersScope):
(JSC::BytecodeGenerator::FinallyRegistersScope::~FinallyRegistersScope):
(JSC::BytecodeGenerator::finallyActionRegister):
(JSC::BytecodeGenerator::finallyReturnValueRegister):
(JSC::BytecodeGenerator::emitSetFinallyActionToNormalCompletion):
(JSC::BytecodeGenerator::emitSetFinallyActionToReturnCompletion):
(JSC::BytecodeGenerator::emitSetFinallyActionToJumpID):
(JSC::BytecodeGenerator::emitSetFinallyReturnValueRegister):
(JSC::BytecodeGenerator::emitJumpIfFinallyActionIsNormalCompletion):
(JSC::BytecodeGenerator::emitJumpIfFinallyActionIsNotJump):
(JSC::BytecodeGenerator::emitJumpIfFinallyActionIsReturnCompletion):
(JSC::BytecodeGenerator::emitJumpIfFinallyActionIsNotReturnCompletion):
(JSC::BytecodeGenerator::emitJumpIfFinallyActionIsNotThrowCompletion):
(JSC::BytecodeGenerator::emitJumpIfCompletionTypeIsThrow):
(JSC::BytecodeGenerator::bytecodeOffsetToJumpID):
(JSC::bytecodeOffsetToJumpID): Deleted.
(JSC::BytecodeGenerator::CompletionRecordScope::CompletionRecordScope): Deleted.
(JSC::BytecodeGenerator::CompletionRecordScope::~CompletionRecordScope): Deleted.
(JSC::BytecodeGenerator::completionTypeRegister): Deleted.
(JSC::BytecodeGenerator::completionValueRegister): Deleted.
(JSC::BytecodeGenerator::emitSetCompletionType): Deleted.
(JSC::BytecodeGenerator::emitSetCompletionValue): Deleted.

  • bytecompiler/NodesCodegen.cpp:

(JSC::TryNode::emitBytecode):

5:18 PM Changeset in webkit [210006] by weinig@apple.com
  • 9 edits
    2 deletes in trunk/Source/WebCore

Remove a few trivial custom bindings
https://bugs.webkit.org/show_bug.cgi?id=165999

Reviewed by Simon Fraser.

  • CMakeLists.txt:
  • bindings/js/JSBindingsAllInOne.cpp:

Remove files.

  • WebCore.xcodeproj/project.pbxproj:

Move custom bindings that only exist for GC or wrapping reasons
to their own group, so we can focus on the ones with custom functions.

  • bindings/js/JSDataTransferCustom.cpp: Removed.
  • bindings/js/JSTrackEventCustom.cpp: Removed.
  • dom/DataTransfer.cpp:

(WebCore::DataTransfer::types):
Remove incorrect comment and use a more concise empty initialization syntax.

  • dom/DataTransfer.idl:

Update IDL to remove [Custom] annotation and match spec better.

  • html/track/TrackEvent.cpp:

(WebCore::convertToTrackEventTrack):
(WebCore::TrackEvent::TrackEvent):

  • html/track/TrackEvent.h:

Switch to store the Track in a Variant to make the binding easier.

  • html/track/TrackEvent.idl:

Remove [CustomGetter] annotation.

4:37 PM Changeset in webkit [210005] by Keith Rollin
  • 2 edits in trunk/Source/WebKit2

Fix unwanted deletion of record/replay files
https://bugs.webkit.org/show_bug.cgi?id=166040

Reviewed by Alex Christensen.

As part of some refactoring, the objects that create the meta files
that are part of the record/replay cache would get deleted. They were
always getting opened in "write" mode", which would truncate the
files. Fix this so that the files are opened in the right modes for
record, replay, and neither.

  • NetworkProcess/capture/NetworkCaptureManager.cpp:

(WebKit::NetworkCapture::Manager::initialize):

4:34 PM Changeset in webkit [210004] by bshafiei@apple.com
  • 2 edits in branches/safari-602-branch/Source/WebCore

Build fix for rdar://problem/29737358.

4:23 PM Changeset in webkit [210003] by Ryan Haddad
  • 7 edits in trunk/Tools

Repurpose bots and clean up dashboard.
https://bugs.webkit.org/show_bug.cgi?id=166045

Reviewed by Lucas Forschler.

  • BuildSlaveSupport/build.webkit.org-config/config.json:
  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BubbleQueueServer.js:

(BubbleQueueServer):

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Dashboard.js:
  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js:

(WebKitBuildbot):

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/Main.css:

(table.queue-grid tr.platform.mac-os-x-yosemite img.logo): Deleted.

4:01 PM Changeset in webkit [210002] by bshafiei@apple.com
  • 4 edits
    2 copies in branches/safari-602-branch

Merged r209990. rdar://problem/29737358

3:41 PM Changeset in webkit [210001] by Alan Bujtas
  • 7 edits in trunk/Source/WebCore

Do not position detached list item marker.
https://bugs.webkit.org/show_bug.cgi?id=166035
<rdar://problem/29175235>

Reviewed by Simon Fraser.

In certain (non-reproducible) cases, the list item marker can get detached from the tree
during layout and when in RenderListItem::positionListMarker() we dereference the marker's parent, we crash.
In addition to the null check, this patch adds an ASSERTION to catch such cases early on.

Unable to reproduce.

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::moveChildTo):

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::removeChildInternal):

  • rendering/RenderElement.h:
  • rendering/RenderListItem.cpp:

(WebCore::RenderListItem::layout):
(WebCore::RenderListItem::positionListMarker):

  • rendering/RenderListItem.h:
  • rendering/RenderListMarker.h:
3:39 PM Changeset in webkit [210000] by dino@apple.com
  • 2 edits in branches/safari-603-branch/Source/WebKit2

Another feature toggle for rdar://problem/29466493.

2016-12-19 Dean Jackson <dino@apple.com>

Enable Gamepad by default.

  • Shared/WebPreferencesDefinitions.h:
3:36 PM Changeset in webkit [209999] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Marking http/tests/inspector/network/fetch-network-data.html as flaky on macOS.
https://bugs.webkit.org/show_bug.cgi?id=166038

Unreviewed test gardening.

  • platform/mac/TestExpectations:
2:45 PM Changeset in webkit [209998] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

Web Inspector: Assertion seen in InspectorDebuggerAgent::refAsyncCallData with Inspector open
https://bugs.webkit.org/show_bug.cgi?id=166034
<rdar://problem/29554366>

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-12-19
Reviewed by Brian Burg.

  • inspector/agents/InspectorDebuggerAgent.cpp:

(Inspector::InspectorDebuggerAgent::refAsyncCallData):
Remove assertion. This assert can happen if the currently executing callback
was just explicitly cancelled by script. Existing code already handles if
no async data was found for the given identifier.

2:06 PM Changeset in webkit [209997] by barraclough@apple.com
  • 5 edits in trunk/Source

[CSS Parser] Enable CSS Deferred Parsing
https://bugs.webkit.org/show_bug.cgi?id=165869

Unreviewed rollout – looks like this regressed performance.

Source/WebCore:

  • css/parser/CSSParserMode.h:
  • page/Settings.in:

Source/WebKit2:

  • Shared/WebPreferencesDefinitions.h:
1:59 PM Changeset in webkit [209996] by Ryan Haddad
  • 2 edits
    1 copy in trunk/LayoutTests

Rebaseline fast/text/emoji.html for macOS.

Unreviewed test gardening.

  • platform/mac-elcapitan/fast/text/emoji-expected.txt: Copied from LayoutTests/platform/mac/fast/text/emoji-expected.txt.
  • platform/mac/fast/text/emoji-expected.txt:
1:27 PM Changeset in webkit [209995] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

REGRESSION: Crash in com.apple.WebKit:IPC::Connection::platformCanSendOutgoingMessages() const + 0
https://bugs.webkit.org/show_bug.cgi?id=165817
rdar://problem/29626731

Reviewed by Dan Bernstein.

If the receive right is invalidated before we send the message, the kernel won't be able to create a send right,
and we'll crash due to mach_msg returning MACH_SEND_INVALID_RIGHT.

Fix this by immediately creating a send right, and passing MACH_MSG_TYPE_MOVE_SEND to the attachment constructor.

  • WebProcess/WebPage/WebInspector.cpp:

(WebKit::WebInspector::openFrontendConnection):

12:46 PM WebKitGTK/2.14.x edited by Michael Catanzaro
(diff)
12:45 PM WebKitGTK/2.14.x edited by Michael Catanzaro
Remove bug #164052, nothing ready there yet (diff)
12:35 PM WebKitGTK/2.14.x edited by Michael Catanzaro
Remove "MemoryPressureHandler shouldn't know how to release WebCore … (diff)
12:33 PM Changeset in webkit [209994] by Wenson Hsieh
  • 2 edits in trunk/LayoutTests

Unreviewed, mark fixed-element-on-bottom-with-keyboard.html as skip for OpenSource iOS WK2
https://bugs.webkit.org/show_bug.cgi?id=166027

This test should have been disabled on OpenSource bots due to the lack of touch handling.

  • platform/ios-simulator-wk2/TestExpectations:
12:28 PM Changeset in webkit [209993] by commit-queue@webkit.org
  • 1 edit
    7 adds in trunk/LayoutTests

Add a few Worker loading tests that don't seem to be explicitly handled
https://bugs.webkit.org/show_bug.cgi?id=165870

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-12-19
Reviewed by Daniel Bates.

The tests already pass as expected, but adding specific tests
for specific expected behavior with Worker script loads.

  • http/tests/security/contentSecurityPolicy/worker-redirect-allowed-expected.txt: Added.
  • http/tests/security/contentSecurityPolicy/worker-redirect-allowed.html: Added.
  • http/tests/security/resources/worker-message-pass.js: Added.
  • http/tests/security/worker-cross-origin-expected.txt: Added.
  • http/tests/security/worker-cross-origin.html: Added.
  • http/tests/security/worker-same-origin-expected.txt: Added.
  • http/tests/security/worker-same-origin.html: Added.
12:18 PM WebKitGTK/2.14.x edited by Michael Catanzaro
(diff)
11:34 AM Changeset in webkit [209992] by dino@apple.com
  • 14 edits in branches/safari-603-branch

Merge another patch for rdar://problem/29466493.

2016-12-19 Dean Jackson <dino@apple.com>

Disable some features on the safari-603-branch.
<rdar://problem/29466493>

Source/JavaScriptCore:

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore:

  • Configurations/FeatureDefines.xcconfig:
  • css/SelectorChecker.cpp: (WebCore::SelectorChecker::matchRecursively):
  • css/SelectorFilter.cpp: (WebCore::SelectorFilter::collectIdentifierHashes):
  • css/parser/CSSSelectorParser.cpp: (WebCore::isOnlyPseudoClassFunction): (WebCore::CSSSelectorParser::consumePseudo): (WebCore::CSSSelectorParser::consumeCombinator):
  • cssjit/SelectorCompiler.cpp: (WebCore::SelectorCompiler::fragmentRelationForSelectorRelation):

Source/WebKit/mac:

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

  • Configurations/FeatureDefines.xcconfig:

Tools:

  • TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
11:30 AM EnvironmentVariables edited by clopez@igalia.com
(diff)
11:12 AM Changeset in webkit [209991] by Michael Catanzaro
  • 2 edits in trunk/Tools

[CMake] TestWebKitAPIBase links to itself
https://bugs.webkit.org/show_bug.cgi?id=165985

Reviewed by Alex Christensen.

Fix CMake warning about a target linking to itself, which makes no sense.

  • TestWebKitAPI/CMakeLists.txt:
11:05 AM Changeset in webkit [209990] by Brent Fulgham
  • 4 edits
    2 adds in trunk

Side effects while restting form elements
https://bugs.webkit.org/show_bug.cgi?id=165959
<rdar://problem/29705967>

Reviewed by Anders Carlsson.

Source/WebCore:

JavaScript logic can run while resetting FormElement objects. This can
lead to unintended side-effets and other unwanted behavior. We should
protect these elements during the reset.

Test: fast/html/form-mutate.html

  • html/HTMLFormElement.cpp:

(WebCore::HTMLFormElement::HTMLFormElement): Switch to C++11 initialization.
(WebCore::HTMLFormElement::reset): Protect elements until the reset
operation is finished.
(WebCore::HTMLFormElement::resetAssociatedFormControlElements): Added to share
code with 'resumeFromDocument'.
(WebCore::HTMLFormElement::resumeFromDocument): Protect elements until the
reset operation is finished.

LayoutTests:

  • fast/html/form-mutate-expected.txt: Added.
  • fast/html/form-mutate.html: Added.
10:18 AM Changeset in webkit [209989] by zandobersek@gmail.com
  • 4 edits in trunk/Source/WebCore

Unreviewed, rolling out r209983.
https://bugs.webkit.org/show_bug.cgi?id=166024

There's intent to support persistent-usage-record (Requested
by zdobersek on #webkit).

Reverted changeset:

"[EME] Remove MediaKeySessionType::persistent-usage-record"
https://bugs.webkit.org/show_bug.cgi?id=166012
http://trac.webkit.org/changeset/209983

Patch by Commit Queue <commit-queue@webkit.org> on 2016-12-19

10:01 AM Changeset in webkit [209988] by weinig@apple.com
  • 2 edits in trunk/Source/WebCore

Move custom files / callback objects into their respective groups.

Rubber-stamped by Simon Fraser.

  • WebCore.xcodeproj/project.pbxproj:
9:53 AM Changeset in webkit [209987] by weinig@apple.com
  • 7 edits
    2 deletes in trunk/Source/WebCore

[WebIDL] Remove custom binding for the named Image constructor
https://bugs.webkit.org/show_bug.cgi?id=166023

Reviewed by Alex Christensen.

  • bindings/js/JSBindingsAllInOne.cpp:
  • CMakeLists.txt:
  • WebCore.xcodeproj/project.pbxproj:

Remove JSImageConstructor.

  • bindings/js/JSImageConstructor.cpp: Removed.
  • bindings/js/JSImageConstructor.h: Removed.


  • bindings/js/JSDOMWindowCustom.cpp:

(WebCore::JSDOMWindow::image): Deleted.

  • page/DOMWindow.idl:

Remove custom getter for the constructor.

  • html/HTMLImageElement.idl:

Add NamedConstructor annotation.

9:37 AM Changeset in webkit [209986] by Antti Koivisto
  • 14 edits in trunk/Source/WebCore

Remove RenderObject::requiresForcedStyleRecalcPropagation
https://bugs.webkit.org/show_bug.cgi?id=166021

Reviewed by Andreas Kling.

It is not called. It also makes no sense architecturally.

  • html/shadow/mac/ImageControlsButtonElementMac.cpp:
  • html/shadow/mac/ImageControlsRootElementMac.cpp:
  • rendering/RenderButton.h:
  • rendering/RenderFileUploadControl.h:
  • rendering/RenderListItem.h:
  • rendering/RenderMedia.h:
  • rendering/RenderMenuList.h:
  • rendering/RenderMeter.h:
  • rendering/RenderObject.h:

(WebCore::RenderObject::requiresForcedStyleRecalcPropagation): Deleted.

  • rendering/RenderProgress.h:
  • rendering/RenderSlider.h:
  • rendering/RenderTextControl.h:
  • style/RenderTreeUpdater.cpp:

(WebCore::RenderTreeUpdater::updateElementRenderer):

This is the only call site. Combination

update.change == Style::NoChange && parent().styleChange == Style::Force

is impossible ('Force' inherits) so requiresForcedStyleRecalcPropagation doesn't ever even get called.

9:31 AM Changeset in webkit [209985] by bshafiei@apple.com
  • 13 edits in branches/safari-603-branch

Merge patch for rdar://problem/29466493.

9:11 AM Changeset in webkit [209984] by bshafiei@apple.com
  • 1 copy in branches/safari-603-branch

New Branch.

8:14 AM Changeset in webkit [209983] by zandobersek@gmail.com
  • 4 edits in trunk/Source/WebCore

[EME] Remove MediaKeySessionType::persistent-usage-record
https://bugs.webkit.org/show_bug.cgi?id=166012

Reviewed by Xabier Rodriguez-Calvar.

Remove the "persistent-usage-record" value from the MediaKeySessionType.
This was removed from the spec as an at-risk feature.
https://github.com/w3c/encrypted-media/issues/353

No non-imported tests need to be updated. This is still present in the
tests imported from the W3C's web-platform-tests repository, but the
tests haven't yet been updated upstream.

  • Modules/encryptedmedia/CDM.cpp:

(WebCore::CDM::isPersistentType):

  • Modules/encryptedmedia/MediaKeySessionType.h:
  • Modules/encryptedmedia/MediaKeySessionType.idl:
7:41 AM Changeset in webkit [209982] by magomez@igalia.com
  • 2 edits in trunk/Source/WebCore

[GTK] GLXBadFBConfig error when creating an OpenGL context
https://bugs.webkit.org/show_bug.cgi?id=165200

Reviewed by Carlos Garcia Campos.

glXCreateContextAttribsARB causes a GLXBadFBConfig X error when it's not able to provide the
OpenGL version >= 3.2 we are requesting. Due to this, the app crashes instead of falling back to
the legacy path.
The patch modifies GLX context creation using a XErrorTrapper, so the first time a context is created
we don't crash if OpenGL >= 3.2 is not available.
If the gotten context is not valid, we fall back to whatever version glXCreateContextAttribsARB is
able to provide.
The legacy glXCreateContext is only used if the GLX_ARB_create_context extension is not available.

Covered by existent tests.

  • platform/graphics/glx/GLContextGLX.cpp:

(WebCore::tryCreateGLXARBContext):
(WebCore::GLContextGLX::createWindowContext):
(WebCore::GLContextGLX::createPbufferContext):

5:02 AM Changeset in webkit [209981] by Michael Catanzaro
  • 3 edits in trunk/Tools

[GTK] GtkDoc build should be quieter
https://bugs.webkit.org/show_bug.cgi?id=165994

Reviewed by Carlos Garcia Campos.

Make it not print by default.

  • gtk/generate-gtkdoc:

(get_generator_for_config):
(generate_doc):

  • gtk/gtkdoc.py:

(GTKDoc._run_command):
(GTKDoc._copy_doc_files_to_output_dir):

12:19 AM Changeset in webkit [209980] by sbarati@apple.com
  • 4 edits
    2 copies in trunk/JSTests

WebAssembly: Make running Wasm tests take less time by reducing some tests' iteration count and by splitting some tests into different files
https://bugs.webkit.org/show_bug.cgi?id=166017

Reviewed by Yusuke Suzuki.

  • wasm/function-tests/trap-load-2.js: Added.

(assert):
(wasmFrameCountFromError):
(continuation):
(i.catch):

  • wasm/function-tests/trap-load.js:

(assert.continuation): Deleted.

  • wasm/function-tests/trap-store-2.js: Added.

(import.Builder.from.string_appeared_here.assert):
(continuation):
(i.catch):

  • wasm/function-tests/trap-store.js:

(assert.continuation): Deleted.
(assert): Deleted.

  • wasm/js-api/test_memory.js:

(test):

Dec 18, 2016:

11:22 PM Changeset in webkit [209979] by sbarati@apple.com
  • 9 edits
    2 adds in trunk

WebAssembly: Implement the WebAssembly.compile and WebAssembly.validate
https://bugs.webkit.org/show_bug.cgi?id=165936

Reviewed by Mark Lam.

JSTests:

  • wasm/js-api/Module-compile.js: Added.

(async.testPromiseAPI):

  • wasm/js-api/test_basic_api.js:

(const.c.in.constructorProperties.switch):

  • wasm/js-api/validate.js: Added.

(assert.truthy.WebAssembly.validate.builder.WebAssembly):

Source/JavaScriptCore:

The APIs are documented here:

  • wasm/JSWebAssembly.cpp:

(JSC::webAssemblyCompileFunc):
(JSC::webAssemblyValidateFunc):
(JSC::JSWebAssembly::finishCreation):

  • wasm/WasmPlan.cpp:

(JSC::Wasm::Plan::parseAndValidateModule):
(JSC::Wasm::Plan::run):

  • wasm/WasmPlan.h:
  • wasm/js/JSWebAssemblyHelpers.h:

(JSC::getWasmBufferFromValue):

  • wasm/js/WebAssemblyModuleConstructor.cpp:

(JSC::constructJSWebAssemblyModule):
(JSC::callJSWebAssemblyModule):
(JSC::WebAssemblyModuleConstructor::createModule):

  • wasm/js/WebAssemblyModuleConstructor.h:
10:29 PM Changeset in webkit [209978] by bshafiei@apple.com
  • 5 edits in branches/safari-602-branch/Source

Versioning.

5:40 PM Changeset in webkit [209977] by beidson@apple.com
  • 10 edits in trunk/Source/WebCore

IndexedDB 2.0: Prefetch cursor records in the server.
https://bugs.webkit.org/show_bug.cgi?id=166014

Reviewed by Andy Estes.

No new tests (Covered by existing LayoutTests and PerformanceTests).

This patch implements the followng:
1 - After a backing store cursor completes a fetch in the server, it will schedule the next fetch

even before the client requests one. It will do this up to a limited number of prefetches.

2 - Once a client request to advance the cursor comes in, we'll work our way through prefetched

records instead of reading anything from disk, which might then cause us to continue prefetch.

3 - If any changes to the object store occur, it will throw away all previously fetched records

(There's room for future improvement here)

  • Modules/indexeddb/server/IDBBackingStore.h:
  • Modules/indexeddb/server/IDBServer.cpp:

(WebCore::IDBServer::IDBServer::postDatabaseTask):

  • Modules/indexeddb/server/MemoryIDBBackingStore.h:
  • Modules/indexeddb/server/SQLiteIDBBackingStore.cpp:

(WebCore::IDBServer::SQLiteIDBBackingStore::deleteRange):
(WebCore::IDBServer::SQLiteIDBBackingStore::prefetchCursor):

  • Modules/indexeddb/server/SQLiteIDBBackingStore.h:
  • Modules/indexeddb/server/SQLiteIDBCursor.cpp:

(WebCore::IDBServer::SQLiteIDBCursor::objectStoreRecordsChanged):
(WebCore::IDBServer::SQLiteIDBCursor::prefetch):
(WebCore::IDBServer::SQLiteIDBCursor::advance):

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

(WebCore::IDBServer::UniqueIDBDatabase::performIterateCursor):
(WebCore::IDBServer::UniqueIDBDatabase::performPrefetchCursor):
(WebCore::IDBServer::UniqueIDBDatabase::postDatabaseTask):

  • Modules/indexeddb/server/UniqueIDBDatabase.h:
5:14 PM Changeset in webkit [209976] by Wenson Hsieh
  • 7 edits
    2 adds in trunk

Changing text direction fires input events with null inputTypes and no data
https://bugs.webkit.org/show_bug.cgi?id=166007
<rdar://problem/29557205>

Reviewed by Sam Weinig.

Source/WebCore:

Adds support for the "formatSetInlineTextDirection" input type, triggered when using the context menu on Mac in
an editable area (for both plain and rich text cases) to change paragraph direction. To do this, we add cases
for EditActionSetWritingDirection in inputTypeNameForEditingAction and inputEventDataForEditingStyleAndAction.

When changing text direction for a plaintext editable element, we have logic in Editor::setBaseWritingDirection
that sets the focused element's dir attribute to the requested value (ltr or rtl). We add similar hooks here to
dispatch input events and handle preventing default.

Test: fast/events/before-input-events-prevent-text-direction.html

  • editing/EditCommand.cpp:

(WebCore::inputTypeNameForEditingAction):

Handle the EditActionSetWritingDirection case.

  • editing/Editor.cpp:

(WebCore::inputEventDataForEditingStyleAndAction):
(WebCore::Editor::applyParagraphStyle):

Include input event data when dispatching an input event here.

(WebCore::Editor::setBaseWritingDirection):

  • testing/Internals.cpp:

(WebCore::Internals::setBaseWritingDirection):

  • testing/Internals.h:
  • testing/Internals.idl:

Introduce an internal testing support hook for setting base writing direction (the same codepath taken when
using the context menu to change paragraph direction). Currently, using testRunner.execCommand creates and
applies style with an additional unicode-bidi attribute, and appears to also be intentionally disabled for
plaintext editable elements.

LayoutTests:

Verifies that changing text direction causes beforeinput and input events with appropriate inputType and data to
be dispatched, and that preventing this beforeinput event causes no change in text direction.

  • fast/events/before-input-events-prevent-text-direction-expected.txt: Added.
  • fast/events/before-input-events-prevent-text-direction.html: Added.
1:09 PM Changeset in webkit [209975] by Simon Fraser
  • 12 edits in trunk

Expose a way for MiniBrowser to simulate header and footer banners
https://bugs.webkit.org/show_bug.cgi?id=166005

Reviewed by Wenson Hsieh.

Source/WebKit2:

Expose testing SPI that allows a client to simulate the presence of header
and footer banners. These are simply plumbed through to set FrameView's
m_headerHeight and m_footerHeight.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _setHeaderBannerHeightForTesting:]):
(-[WKWebView _setFooterBannerHeightForTesting:]):

  • UIProcess/API/Cocoa/WKWebViewPrivate.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::setHeaderBannerHeightForTesting):
(WebKit::WebPageProxy::setFooterBannerHeightForTesting):

  • UIProcess/WebPageProxy.h:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::setHeaderBannerHeightForTesting):
(WebKit::WebPage::setFooterBannerHeightForTesting):

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in:

Tools:

Add a MiniBrowser menu item and setting to toggle adding space for header and footer
banners. This only works in WebKit2.

We need to reset these on each navigation, since newly created FrameViews
don't re-fetch the header and footer height stored on Page.

Also fix the signature of webView:didFinishNavigation: to follow API changes,
as well as fixing webViewWebContentProcessDidTerminate:

  • MiniBrowser/mac/SettingsController.h:
  • MiniBrowser/mac/SettingsController.m:

(-[SettingsController _populateMenu]):
(-[SettingsController validateMenuItem:]):
(-[SettingsController toggleReserveSpaceForBanners:]):
(-[SettingsController isSpaceReservedForBanners]):

  • MiniBrowser/mac/WK2BrowserWindowController.m:

(-[WK2BrowserWindowController didChangeSettings]):
(-[WK2BrowserWindowController webView:didFinishNavigation:]):
(-[WK2BrowserWindowController webViewWebContentProcessDidTerminate:]):
(-[WK2BrowserWindowController webView:didFinishLoadingNavigation:]): Deleted.
(-[WK2BrowserWindowController _webViewWebProcessDidCrash:]): Deleted.

11:04 AM Changeset in webkit [209974] by mark.lam@apple.com
  • 4 edits in trunk/Source/JavaScriptCore

Rename finallyActionRegister to completionTypeRegister and only store int JSValues in it.
https://bugs.webkit.org/show_bug.cgi?id=165979

Reviewed by Saam Barati.

This patch makes it so that we only store int JSValues in the finallyActionRegister
thereby making type prediction on this register more successful for JITs. In so
doing, we are able to get some additional benefits:

  1. Renamed the following: FinallyRegistersScope => CompletionRecordScope finallyActionRegister => completionTypeRegister finallyReturnValueRegister => completionValueRegister

These new names are more in line with the ES spec, which describes these
values as the completion record and its type and value properties.
https://tc39.github.io/ecma262/#sec-completion-record-specification-type

  1. We now think of the Break and Continue jumpIDs as encodings of CompletionType (in our implementation of completion type). As a result, we only need one of each of the emitter methods for getting, setting, and compare-and-jump on the completion type. The code using these methods also reads much clearer now.
  1. Finally blocks' op_catch should now always pop the caught Exception object into the completionValueRegister instead of the completionTypeRegister (formerly finallyActionRegister).

Also removed the restoreScopeRegister() call in the IteratorClose catch block
because that is an implementation specific synthesized catch block, and we
can guarantee that it never needs to resolve any symbols from the scope. Hence,
there is no need to restore the scope register.

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::emitEnumeration):
(JSC::BytecodeGenerator::emitJumpViaFinallyIfNeeded):
(JSC::BytecodeGenerator::emitReturnViaFinallyIfNeeded):
(JSC::BytecodeGenerator::emitFinallyCompletion):
(JSC::BytecodeGenerator::allocateCompletionRecordRegisters):
(JSC::BytecodeGenerator::releaseCompletionRecordRegisters):
(JSC::BytecodeGenerator::emitJumpIfCompletionType):
(JSC::BytecodeGenerator::allocateFinallyRegisters): Deleted.
(JSC::BytecodeGenerator::releaseFinallyRegisters): Deleted.
(JSC::BytecodeGenerator::emitCompareFinallyActionAndJumpIf): Deleted.

  • bytecompiler/BytecodeGenerator.h:

(JSC::bytecodeOffsetToJumpID):
(JSC::FinallyJump::FinallyJump):
(JSC::FinallyContext::registerJump):
(JSC::BytecodeGenerator::CompletionRecordScope::CompletionRecordScope):
(JSC::BytecodeGenerator::CompletionRecordScope::~CompletionRecordScope):
(JSC::BytecodeGenerator::completionTypeRegister):
(JSC::BytecodeGenerator::completionValueRegister):
(JSC::BytecodeGenerator::emitSetCompletionType):
(JSC::BytecodeGenerator::emitSetCompletionValue):
(JSC::BytecodeGenerator::FinallyRegistersScope::FinallyRegistersScope): Deleted.
(JSC::BytecodeGenerator::FinallyRegistersScope::~FinallyRegistersScope): Deleted.
(JSC::BytecodeGenerator::finallyActionRegister): Deleted.
(JSC::BytecodeGenerator::finallyReturnValueRegister): Deleted.
(JSC::BytecodeGenerator::emitSetFinallyActionToNormalCompletion): Deleted.
(JSC::BytecodeGenerator::emitSetFinallyActionToReturnCompletion): Deleted.
(JSC::BytecodeGenerator::emitSetFinallyActionToJumpID): Deleted.
(JSC::BytecodeGenerator::emitSetFinallyReturnValueRegister): Deleted.
(JSC::BytecodeGenerator::emitJumpIfFinallyActionIsNormalCompletion): Deleted.
(JSC::BytecodeGenerator::emitJumpIfFinallyActionIsNotJump): Deleted.
(JSC::BytecodeGenerator::emitJumpIfFinallyActionIsReturnCompletion): Deleted.
(JSC::BytecodeGenerator::emitJumpIfFinallyActionIsNotReturnCompletion): Deleted.
(JSC::BytecodeGenerator::emitJumpIfFinallyActionIsNotThrowCompletion): Deleted.
(JSC::BytecodeGenerator::emitJumpIfCompletionTypeIsThrow): Deleted.
(JSC::BytecodeGenerator::bytecodeOffsetToJumpID): Deleted.

  • bytecompiler/NodesCodegen.cpp:

(JSC::TryNode::emitBytecode):

9:26 AM Changeset in webkit [209973] by Simon Fraser
  • 6 edits in trunk/LayoutTests

Rebaseline these tests after r209967, since they are now affected by status bar height.

  • fast/viewport/ios/ipad/width-is-device-width-expected.txt:
  • fast/viewport/ios/width-is-device-width-overflowing-body-overflow-hidden-expected.txt:
  • fast/viewport/ios/width-is-device-width-overflowing-body-overflow-hidden-tall-expected.txt:
  • fast/viewport/ios/width-is-device-width-overflowing-expected.txt:
  • fast/viewport/ios/width-is-device-width-overflowing-no-shrink-to-fit-expected.txt:
12:11 AM Changeset in webkit [209972] by Simon Fraser
  • 8 edits in trunk/Tools

Fix iOS test results after r209967.

Subtracting out the status bar height was erroneously happening for all tests,
not just for flexible viewport tests.

Fix by plumbing WebViewSizingMode through resizeTo() and setWindowFrame().

  • WebKitTestRunner/PlatformWebView.h:
  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::resetStateToConsistentValues):

  • WebKitTestRunner/efl/PlatformWebViewEfl.cpp:

(WTR::PlatformWebView::resizeTo):
(WTR::PlatformWebView::setWindowFrame):

  • WebKitTestRunner/gtk/PlatformWebViewGtk.cpp:

(WTR::PlatformWebView::resizeTo):
(WTR::PlatformWebView::setWindowFrame):

  • WebKitTestRunner/ios/PlatformWebViewIOS.mm:

(WTR::PlatformWebView::resizeTo):
(WTR::PlatformWebView::setWindowFrame):

  • WebKitTestRunner/ios/TestControllerIOS.mm:

(WTR::TestController::platformConfigureViewForTest):

  • WebKitTestRunner/mac/PlatformWebViewMac.mm:

(WTR::PlatformWebView::resizeTo):
(WTR::PlatformWebView::setWindowFrame):

12:11 AM Changeset in webkit [209971] by Simon Fraser
  • 3 edits in trunk/Source/WebCore

Build fix: linking WebCore was failing: you can't export inline functions.

  • css/DeprecatedCSSOMPrimitiveValue.cpp:

(WebCore::DeprecatedCSSOMPrimitiveValue::primitiveType):
(WebCore::DeprecatedCSSOMPrimitiveValue::setFloatValue):
(WebCore::DeprecatedCSSOMPrimitiveValue::getFloatValue):
(WebCore::DeprecatedCSSOMPrimitiveValue::setStringValue):
(WebCore::DeprecatedCSSOMPrimitiveValue::getStringValue):

  • css/DeprecatedCSSOMPrimitiveValue.h:

(WebCore::DeprecatedCSSOMPrimitiveValue::primitiveType): Deleted.
(WebCore::DeprecatedCSSOMPrimitiveValue::setFloatValue): Deleted.
(WebCore::DeprecatedCSSOMPrimitiveValue::getFloatValue): Deleted.
(WebCore::DeprecatedCSSOMPrimitiveValue::setStringValue): Deleted.
(WebCore::DeprecatedCSSOMPrimitiveValue::getStringValue): Deleted.

Note: See TracTimeline for information about the timeline view.