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

Timeline



Dec 12, 2015:

9:09 PM Changeset in webkit [194013] by Matt Baker
  • 3 edits in trunk/Source/WebInspectorUI

Web Inspector: CodeMirrorTokenTrackingController handles symbols in class definitions incorrectly
https://bugs.webkit.org/show_bug.cgi?id=152218

Reviewed by Timothy Hatcher.

  • UserInterface/Controllers/CodeMirrorTokenTrackingController.js:

(WebInspector.CodeMirrorTokenTrackingController.prototype._processJavaScriptExpression):
Stop checking for object literal shorthand property if an open parenthesis is found.
This check became necessary with the introduction of ES6 class syntax.

  • UserInterface/Views/CodeMirrorAdditions.js:

Use localState when available, to prevent passing a state that doesn't define a tokenize property.

8:43 PM WebInspectorCodingStyleGuide edited by Nikita Vasilyev
Add CSS z-index (diff)
3:49 PM Changeset in webkit [194012] by beidson@apple.com
  • 4 edits in trunk/LayoutTests

Modern IDB: Update a couple of tests that fail only because of error message differences.
https://bugs.webkit.org/show_bug.cgi?id=152205

Reviewed by Alex Christensen.

  • platform/mac-wk1/TestExpectations:
  • storage/indexeddb/objectstore-autoincrement-expected.txt:
  • storage/indexeddb/open-cursor-expected.txt:
3:04 PM Changeset in webkit [194011] by benjamin@webkit.org
  • 4 edits in trunk/Source/JavaScriptCore

[JSC] Add lowering for B3's Store8 opcode
https://bugs.webkit.org/show_bug.cgi?id=152208

Reviewed by Geoffrey Garen.

B3 has an opcode to store 8bit values but it had
no lowering.

  • b3/B3LowerToAir.cpp:

(JSC::B3::Air::LowerToAir::createStore):
(JSC::B3::Air::LowerToAir::lower):

  • b3/air/AirOpcode.opcodes:
  • b3/testb3.cpp:

(JSC::B3::testStore8Arg):
(JSC::B3::testStore8Imm):
(JSC::B3::testStorePartial8BitRegisterOnX86):
(JSC::B3::run):

2:03 PM Changeset in webkit [194010] by beidson@apple.com
  • 9 edits in trunk

Modern IDB: storage/indexeddb/index-duplicate-keypaths.html fails.
https://bugs.webkit.org/show_bug.cgi?id=152201

Reviewed by Alex Christensen.

Source/WebCore:

No new tests (At least one failing test now passes).

The spec states that if an object store uses a key generator, and then a record is stored whose
key was an explicitly set number, then the key generator value should be bumped to the next
integer higher than the explicit number.

We didn't do that.

Now we do.

  • Modules/indexeddb/IndexedDB.h: Add an "OverwriteForCursor" option for overwrite mode.
  • Modules/indexeddb/client/IDBObjectStoreImpl.cpp:

(WebCore::IDBClient::IDBObjectStore::putForCursorUpdate): Use the "OverwriteForCursor" mode.

  • Modules/indexeddb/server/IDBBackingStore.h: Add maybeUpdateKeyGeneratorNumber
  • Modules/indexeddb/server/MemoryIDBBackingStore.cpp:

(WebCore::IDBServer::MemoryIDBBackingStore::maybeUpdateKeyGeneratorNumber): If the number value

from the provided key should bump the key generator value, do so now.

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

(WebCore::IDBServer::UniqueIDBDatabase::performPutOrAdd): After successfully adding the new record,

possibly bump the key generator value.

LayoutTests:

  • platform/mac-wk1/TestExpectations:
9:37 AM Changeset in webkit [194009] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

REGRESSION (r191613): Web Inspector: Can't type spaces when editing DOM nodes
https://bugs.webkit.org/show_bug.cgi?id=152173

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-12-12
Reviewed by Timothy Hatcher.

  • UserInterface/Views/TimelineSidebarPanel.js:

(WebInspector.TimelineSidebarPanel):
Disable the keyboard shortcuts when they are created. They will be
enabled when the panel is shown / hidden. It doesn't really make sense
that these are on the sidebar panel instead of the tab, but things
will be changing in Timelines soon anyways so just fix this now.

9:32 AM Changeset in webkit [194008] by Nikita Vasilyev
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: "Selected Element" should use sans-serif font, not monospace
https://bugs.webkit.org/show_bug.cgi?id=152212

Reviewed by Timothy Hatcher.

  • UserInterface/Views/ConsoleMessageView.css:

(.console-user-command.special-user-log > .console-message-text):

3:21 AM Changeset in webkit [194007] by Csaba Osztrogonác
  • 2 edits in trunk/Source/JavaScriptCore

[ARM] Add the missing setupArgumentsWithExecState functions after r193974
https://bugs.webkit.org/show_bug.cgi?id=152214

Reviewed by Mark Lam.

  • jit/CCallHelpers.h:

(JSC::CCallHelpers::setupArgumentsWithExecState):

1:26 AM Changeset in webkit [194006] by commit-queue@webkit.org
  • 13 edits in trunk/Source

Safari background tabs should be fully suspended where possible.
https://bugs.webkit.org/show_bug.cgi?id=150515

Patch by Katlyn Graff <kgraff@apple.com> on 2015-12-12
Reviewed by Ryosuke Niwa.

Source/WebCore:

Support for tab suspension for Mac, enabled by defaults writing to WebKitTabSuspension.
Page-down suspension consolidated with PageCache suspension code in Document::
suspend and Document::resume. Pages canTabSuspend if cacheable, nonvisible, nonprerender,
and nonactive.

  • dom/Document.cpp: moved scrollbar handling from setInPageCache to suspend/resume

(WebCore::Document::suspend): moved scrollbar, dom, animation, timer, and visual update suspending into here
(WebCore::Document::resume): moved scrollbar, dom, animation, timer, and visual update resuming into here

  • dom/Document.h: added m_isSuspended to prevent repeat calls from PageCache/Tab Suspension contention
  • history/CachedFrame.cpp: moved dom, animation, and timer suspension into Document::suspend

(WebCore::CachedFrame::CachedFrame):

  • history/PageCache.cpp: Added a few nullchecks to prevent crashes if canCacheFrame is called but document is null

(WebCore::PageCache::canCacheFrame):

  • page/Page.cpp:

(WebCore::Page::Page): Added timer to fire delayed suspension
(WebCore::Page::setPageActivityState): Added a call to schedule tab suspension
(WebCore::Page::setIsVisibleInternal): Added a call to schedule tab suspension
(WebCore::Page::canTabSuspend): Added support for suspending if cacheable, nonvisible, nonprerender, and nonactive
(WebCore::Page::setIsTabSuspended): Added a function to suspend or resume tabs
(WebCore::Page::setTabSuspensionEnabled): Added support for a defaults write enable
(WebCore::Page::scheduleTabSuspension): Added ability to schedule the suspension timer to fire or resume
(WebCore::Page::timerFired): Added a suspension timer

  • page/Page.h:
  • page/PageThrottler.h:

(WebCore::PageThrottler::activityState): Added access to m_activityState for canTabSuspend

Source/WebKit2:

Added a runtime flag enabling tab suspension, default off.

  • Shared/WebProcessCreationParameters.cpp:

(WebKit::WebProcessCreationParameters::WebProcessCreationParameters):
(WebKit::WebProcessCreationParameters::encode):
(WebKit::WebProcessCreationParameters::decode):

  • Shared/WebProcessCreationParameters.h:
  • UIProcess/Cocoa/WebProcessPoolCocoa.mm:

(WebKit::registerUserDefaultsIfNeeded):
(WebKit::WebProcessPool::platformInitializeWebProcess):

  • WebProcess/cocoa/WebProcessCocoa.mm:

(WebKit::WebProcess::platformInitializeWebProcess):

Dec 11, 2015:

11:44 PM Changeset in webkit [194005] by Joseph Pecoraro
  • 2 edits in trunk/Source/JavaScriptCore

Web Inspector: Too many derefs when RemoteInspectorXPCConnection fails to validate connection
https://bugs.webkit.org/show_bug.cgi?id=152213

Rubber-stamped by Ryosuke Niwa.

  • inspector/remote/RemoteInspectorXPCConnection.mm:

(Inspector::RemoteInspectorXPCConnection::handleEvent):
We should just close the XPC connection triggering XPC_ERROR_CONNECTION_INVALID
which will then graceful teardown the connection as expected.

10:58 PM Changeset in webkit [194004] by Simon Fraser
  • 3 edits
    2 adds in trunk

Mousewheel events don't work in iframes in RTL documents
https://bugs.webkit.org/show_bug.cgi?id=152200

Reviewed by Beth Dakin.

Source/WebCore:

When dispatching wheel events, the testing of the event point against the
non-fast scrollable region was broken in an RTL document. Fix by taking
the scrollOrigin into account in ScrollingTreeFrameScrollingNode::viewToContentsOffset().

Test: fast/scrolling/rtl-point-in-iframe.html

  • page/scrolling/ScrollingTreeFrameScrollingNode.cpp:

(WebCore::ScrollingTreeFrameScrollingNode::viewToContentsOffset):

LayoutTests:

Try dispatching wheel events to an iframe in an RTL document.

  • fast/scrolling/rtl-point-in-iframe-expected.txt: Added.
  • fast/scrolling/rtl-point-in-iframe.html: Added.
10:10 PM Changeset in webkit [194003] by commit-queue@webkit.org
  • 21 edits
    2 adds in trunk/Source/JavaScriptCore

[JSC] Add Floating Point Abs() to B3
https://bugs.webkit.org/show_bug.cgi?id=152176

Patch by Benjamin Poulain <bpoulain@apple.com> on 2015-12-11
Reviewed by Geoffrey Garen.

This patch adds an Abs() operation for floating point.

On x86, Abs() is implemented by masking the top bit
of the floating point value. On ARM64, there is a builtin
abs opcode.

To account for those differences, B3 use "Abs" as
the cannonical operation. When we are about to lower
to Air, Abs is extended on x86 to get a clean handling
of the mask constants.

This patch has one cool thing related to FTL.
If you do:

@1 = unboxDouble(@0)
@2 = abs(@1)
@3 = boxDouble(@2)

B3ReduceStrength completely eliminate the Double-Integer
conversion.

The strength reduction of Abs is aware that it can do a bit
mask over the bitcast used by unboxing.
If even works if you use floats by forcing fround: reduceDoubleToFloat()
elminiates the useless conversions, followed by ReduceStrength
that removes the switch from GP to FP.

  • CMakeLists.txt:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • assembler/MacroAssemblerX86Common.h:

(JSC::MacroAssemblerX86Common::andDouble):
(JSC::MacroAssemblerX86Common::andFloat):

  • assembler/X86Assembler.h:

(JSC::X86Assembler::andps_rr):

  • b3/B3ConstDoubleValue.cpp:

(JSC::B3::ConstDoubleValue::bitAndConstant):
(JSC::B3::ConstDoubleValue::absConstant):

  • b3/B3ConstDoubleValue.h:
  • b3/B3ConstFloatValue.cpp:

(JSC::B3::ConstFloatValue::bitAndConstant):
(JSC::B3::ConstFloatValue::absConstant):

  • b3/B3ConstFloatValue.h:
  • b3/B3Generate.cpp:

(JSC::B3::generateToAir):

  • b3/B3LowerMacrosAfterOptimizations.cpp: Added.

(JSC::B3::lowerMacrosAfterOptimizations):

  • b3/B3LowerMacrosAfterOptimizations.h: Added.
  • b3/B3LowerToAir.cpp:

(JSC::B3::Air::LowerToAir::lower):

  • b3/B3Opcode.cpp:

(WTF::printInternal):

  • b3/B3Opcode.h:
  • b3/B3ReduceDoubleToFloat.cpp:
  • b3/B3ReduceStrength.cpp:
  • b3/B3Validate.cpp:
  • b3/B3Value.cpp:

(JSC::B3::Value::absConstant):
(JSC::B3::Value::effects):
(JSC::B3::Value::key):
(JSC::B3::Value::typeFor):

  • b3/B3Value.h:
  • b3/air/AirOpcode.opcodes:
  • b3/testb3.cpp:

(JSC::B3::bitAndDouble):
(JSC::B3::testBitAndArgDouble):
(JSC::B3::testBitAndArgsDouble):
(JSC::B3::testBitAndArgImmDouble):
(JSC::B3::testBitAndImmsDouble):
(JSC::B3::bitAndFloat):
(JSC::B3::testBitAndArgFloat):
(JSC::B3::testBitAndArgsFloat):
(JSC::B3::testBitAndArgImmFloat):
(JSC::B3::testBitAndImmsFloat):
(JSC::B3::testBitAndArgsFloatWithUselessDoubleConversion):
(JSC::B3::testAbsArg):
(JSC::B3::testAbsImm):
(JSC::B3::testAbsMem):
(JSC::B3::testAbsAbsArg):
(JSC::B3::testAbsBitwiseCastArg):
(JSC::B3::testBitwiseCastAbsBitwiseCastArg):
(JSC::B3::testAbsArgWithUselessDoubleConversion):
(JSC::B3::testAbsArgWithEffectfulDoubleConversion):
(JSC::B3::run):

  • ftl/FTLB3Output.h:

(JSC::FTL::Output::doubleAbs):

7:26 PM Changeset in webkit [194002] by Alan Bujtas
  • 3 edits
    2 adds in trunk

ASSERTION FAILED: !rect.isEmpty() in WebCore::GraphicsContext::drawRect
https://bugs.webkit.org/show_bug.cgi?id=151201

Reviewed by Simon Fraser.

Drawing empty rect is a waste.

Source/WebCore:

Test: fast/borders/empty-drawrect-assert-after-pixelsnap.html

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::drawLineForBoxSide):

LayoutTests:

  • fast/borders/empty-drawrect-assert-after-pixelsnap-expected.txt: Added.
  • fast/borders/empty-drawrect-assert-after-pixelsnap.html: Added.
6:26 PM Changeset in webkit [194001] by jiewen_tan@apple.com
  • 3 edits
    4 adds in trunk

Strip out Referer header when requesting subresources or following links for documents with "Content-Disposition: attachment"
https://bugs.webkit.org/show_bug.cgi?id=152102
<rdar://problem/22124230>

Reviewed by Andy Estes.

Source/WebCore:

Keep the ReferrerPolicy for a document as ReferrerPolicyNever if the document is loaded with
"Content-Disposition: attachment".

Test: http/tests/contentdispositionattachmentsandbox/subresource-request-not-include-referer-header.html

  • dom/Document.cpp:

(WebCore::Document::processReferrerPolicy):
(WebCore::Document::applyContentDispositionAttachmentSandbox):

LayoutTests:

  • http/tests/contentdispositionattachmentsandbox/resources/echo-http-referer.php: Added.
  • http/tests/contentdispositionattachmentsandbox/resources/subresource-request-not-include-referer-header-frame.php: Added.
  • http/tests/contentdispositionattachmentsandbox/subresource-request-not-include-referer-header-expected.txt: Added.
  • http/tests/contentdispositionattachmentsandbox/subresource-request-not-include-referer-header.html: Added.
5:52 PM Changeset in webkit [194000] by eric.carlson@apple.com
  • 22 edits
    2 adds in trunk

[MediaStream] Add a setting to allow the mock media capture devices to be enabled and disabled
https://bugs.webkit.org/show_bug.cgi?id=152197

Reviewed by Dean Jackson.

Source/WebCore:

Test: fast/mediastream/mock-media-source.html

  • page/Settings.cpp:

(WebCore::Settings::mockCaptureDevicesEnabled):
(WebCore::Settings::setMockCaptureDevicesEnabled):

  • page/Settings.h:
  • platform/mediastream/RealtimeMediaSourceCenter.cpp:

(WebCore::RealtimeMediaSourceCenter::setSharedStreamCenterOverride): Renamed.
(WebCore::RealtimeMediaSourceCenter::setSharedStreamCenter): Deleted.

  • platform/mediastream/RealtimeMediaSourceCenter.h:
  • platform/mock/MockRealtimeMediaSourceCenter.cpp:

(WebCore::MockRealtimeMediaSourceCenter::setMockRealtimeMediaSourceCenterEnabled): Renamed. Allow

it to be enabled and disabled.

(WebCore::MockRealtimeMediaSourceCenter::registerMockRealtimeMediaSourceCenter): Deleted.

  • platform/mock/MockRealtimeMediaSourceCenter.h:
  • testing/Internals.cpp:

(WebCore::Internals::Internals):
(WebCore::Internals::setMockMediaCaptureDevicesEnabled):

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

Source/WebKit/mac:

  • WebView/WebPreferenceKeysPrivate.h:
  • WebView/WebPreferences.mm:

(+[WebPreferences initialize]):
(-[WebPreferences mockCaptureDevicesEnabled]):
(-[WebPreferences setMockCaptureDevicesEnabled:]):

  • WebView/WebPreferencesPrivate.h:
  • WebView/WebView.mm:

(-[WebView _preferencesChanged:]):

Source/WebKit2:

  • Shared/WebPreferencesDefinitions.h:
  • UIProcess/API/C/WKPreferences.cpp:

(WKPreferencesSetMockCaptureDevicesEnabled):
(WKPreferencesGetMockCaptureDevicesEnabled):

  • UIProcess/API/C/WKPreferencesRefPrivate.h:
  • UIProcess/API/Cocoa/WKPreferences.mm:

(-[WKPreferences _mockCaptureDevicesEnabled]):
(-[WKPreferences _setMockCaptureDevicesEnabled:]):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::updatePreferences):

LayoutTests:

  • fast/mediastream/mock-media-source-expected.txt: Added.
  • fast/mediastream/mock-media-source.html: Added.
5:46 PM Changeset in webkit [193999] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebCore

[EME] Do not pass in the initialization data to AVContentKeyRequest as the contentIdentifier.
https://bugs.webkit.org/show_bug.cgi?id=152204
rdar://problem/23867877

Reviewed by Eric Carlson.

The AVContentKeyRequest API has been updated to no longer require a contentId parameter if the
ID can be derived from the initialization data.

  • platform/graphics/avfoundation/objc/CDMSessionAVContentKeySession.mm:

(WebCore::CDMSessionAVContentKeySession::update):

5:32 PM Changeset in webkit [193998] by mark.lam@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Removed some dead code, and simplified some code in the baseline JIT.
https://bugs.webkit.org/show_bug.cgi?id=152199

Reviewed by Benjamin Poulain.

  • jit/JIT.h:
  • jit/JITArithmetic.cpp:

(JSC::JIT::emitBitBinaryOpFastPath):
(JSC::JIT::emit_op_bitand):
(JSC::JIT::emitSlow_op_lshift):
(JSC::JIT::emitRightShiftFastPath):
(JSC::JIT::emit_op_rshift):
(JSC::JIT::emitSlow_op_rshift):
(JSC::JIT::emit_op_urshift):
(JSC::JIT::emitSlow_op_urshift):

5:21 PM Changeset in webkit [193997] by Beth Dakin
  • 3 edits
    2 adds in trunk

_touchEventRegions should return regions in the view's coordinates
https://bugs.webkit.org/show_bug.cgi?id=152189
-and corresponding-
rdar://problem/23188605

Reviewed by Dan Bernstein.

Source/WebKit/mac:

The comment here was actually out of date. It claimed that touch rectangles
are in the coordinate system of the document, but we had actually changed
them to be in the view’s coordinate system in order to fix issues with
handling touch events in UIWebView. But now we are going back to having the
touch rectangles be in the document’s coordinate system, so we should fix the
rtl bugs here by converting to view coordinates before handing the rects off
to iOS WK1 clients.

  • WebView/WebView.mm:

(-[WebView _touchEventRegions]):

LayoutTests:

  • fast/events/touch/ios/touch-event-rtl-expected.txt: Added.
  • fast/events/touch/ios/touch-event-rtl.html: Added.
4:46 PM Changeset in webkit [193996] by matthew_hanson@apple.com
  • 1 copy in tags/Safari-601.1.46.86

Submission Notes.

4:45 PM Changeset in webkit [193995] by ap@apple.com
  • 3 edits
    4 deletes in trunk

Roll out http://trac.webkit.org/r193984, because the new test is timing out.

Was: Strip out Referer header when requesting subresources or following links for documents with "Content-Disposition: attachment"
https://bugs.webkit.org/show_bug.cgi?id=152102
<rdar://problem/22124230>

Source/WebCore:

  • dom/Document.cpp:

(WebCore::Document::processReferrerPolicy):
(WebCore::Document::applyContentDispositionAttachmentSandbox):

LayoutTests:

  • http/tests/contentdispositionattachmentsandbox/resources/echo-http-referer.php: Removed.
  • http/tests/contentdispositionattachmentsandbox/resources/subresource-request-not-include-referer-header-frame.php: Removed.
  • http/tests/contentdispositionattachmentsandbox/subresource-request-not-include-referer-header-expected.txt: Removed.
  • http/tests/contentdispositionattachmentsandbox/subresource-request-not-include-referer-header.html: Removed.
4:18 PM Changeset in webkit [193994] by beidson@apple.com
  • 7 edits in trunk

tmp for 152194

4:17 PM Changeset in webkit [193993] by fpizlo@apple.com
  • 4 edits in trunk/Source/JavaScriptCore

B3::reduceStrength should remove redundant Phi's
https://bugs.webkit.org/show_bug.cgi?id=152184

Reviewed by Benjamin Poulain.

This adds redundant Phi removal using Aycock and Horspools SSA simplification algorithm. This
is needed because even in simple asm.js code, we see a lot of CFG simplification that leaves
behind totally useless Phi's.

  • b3/B3PhiChildren.cpp:

(JSC::B3::PhiChildren::PhiChildren):

  • b3/B3PhiChildren.h:

(JSC::B3::PhiChildren::at):
(JSC::B3::PhiChildren::operator[]):
(JSC::B3::PhiChildren::phis):

  • b3/B3ReduceStrength.cpp:
4:11 PM Changeset in webkit [193992] by rniwa@webkit.org
  • 2 edits in trunk/Websites/perf.webkit.org

Perf dashboard's buildbot sync config JSON duplicates too much information
https://bugs.webkit.org/show_bug.cgi?id=152196

Reviewed by Stephanie Lewis.

Added shared, per-builder, and per-test (called type) configurations.

  • tools/sync-with-buildbot.py:

(load_config):
(load_config.merge):

3:54 PM Changeset in webkit [193991] by beidson@apple.com
  • 2 edits in trunk/Source/WebCore

Followup to:
Modern IDB: storage/indexeddb/index-count.html fails.
https://bugs.webkit.org/show_bug.cgi?id=152175

Noticed by Darin Adler.

  • Modules/indexeddb/client/IDBIndexImpl.cpp:

(WebCore::IDBClient::IDBIndex::count): Replace a curly brace to its proper place.

3:52 PM Changeset in webkit [193990] by beidson@apple.com
  • 6 edits in trunk

Modern IDB: storage/indexeddb/cursor-continue.html fails.
https://bugs.webkit.org/show_bug.cgi?id=152192

Reviewed by Alex Christensen.

Source/WebCore:

No new tests (At least one failing test now passes).

  • Modules/indexeddb/client/IDBCursorImpl.cpp:

(WebCore::IDBClient::IDBCursor::continueFunction): Check against the current key, not the current primary key.
(WebCore::IDBClient::IDBCursor::setGetResult): Also save off the current IDBKeyData.

  • Modules/indexeddb/client/IDBCursorImpl.h:

LayoutTests:

  • platform/mac-wk1/TestExpectations:
  • storage/indexeddb/cursor-continue-expected.txt:
3:45 PM Changeset in webkit [193989] by benjamin@webkit.org
  • 8 edits
    2 adds in trunk/Source/JavaScriptCore

[JSC] Add an implementation of pow() taking an integer exponent to B3
https://bugs.webkit.org/show_bug.cgi?id=152165

Reviewed by Mark Lam.

LLVM has this really neat optimized opcode for
raising the power of something by an integer exponent.

There is no such native instruction so we need to extend
the existing FTLOutput API to something efficient.

DFG has a pretty competitive implementation. In this patch,
I added a version of it to B3.
I created powDoubleInt32() instead of putting the code directly
in FTL for easier testing and optimization.

  • CMakeLists.txt:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • b3/B3MathExtras.cpp: Added.

(JSC::B3::powDoubleInt32):

  • b3/B3MathExtras.h: Added.
  • b3/B3MemoryValue.h:
  • b3/testb3.cpp:

(JSC::B3::testPowDoubleByIntegerLoop):
(JSC::B3::run):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::compileArithPowIntegerFastPath):

  • ftl/FTLB3Output.cpp:

(JSC::FTL::Output::doublePowi):

  • ftl/FTLB3Output.h:

(JSC::FTL::Output::doublePowi): Deleted.

3:30 PM Changeset in webkit [193988] by beidson@apple.com
  • 4 edits in trunk

Modern IDB: storage/indexeddb/index-basics.html fails.
https://bugs.webkit.org/show_bug.cgi?id=152190

Reviewed by Alex Christensen.

Source/WebCore:

No new tests (At least one failing test now passes).

  • bindings/js/JSIDBObjectStoreCustom.cpp:

(WebCore::JSIDBObjectStore::createIndex): Custom error message for the TypeError

LayoutTests:

  • platform/mac-wk1/TestExpectations:
3:20 PM Changeset in webkit [193987] by fpizlo@apple.com
  • 4 edits in trunk/Source/JavaScriptCore

B3 should have CSE
https://bugs.webkit.org/show_bug.cgi?id=150961

Reviewed by Benjamin Poulain.

This implements a very simple CSE for pure values. I need this as a prerequisite for other
optimizations that I'm implementing. For now, this is neutral on imaging-gaussian-blur but a
slow-down on asm.js code. I suspect that the asm.js slow-down is because of other things that are
still going wrong, and anyway, I need CSE to be able to do even the most basic asm.js strength
reductions.

  • b3/B3ReduceStrength.cpp:
  • b3/B3ReduceStrength.h:
  • b3/B3Value.cpp:

(JSC::B3::Value::replaceWithIdentity):
(JSC::B3::Value::key):

3:09 PM Changeset in webkit [193986] by keith_miller@apple.com
  • 2 edits in trunk/LayoutTests

Rebaseline a failing inspector test for a new property on Function.prototype.

  • inspector/model/remote-object-get-properties-expected.txt:
3:01 PM Changeset in webkit [193985] by mark.lam@apple.com
  • 10 edits
    1 delete in trunk/Source/JavaScriptCore

Refactoring to reduce potential cut-paste errors with the FTL ICs.
https://bugs.webkit.org/show_bug.cgi?id=152185

Reviewed by Saam Barati.

  • ftl/FTLCompile.cpp:
  • ICs now have their own names. GetById and PutByID fast path ICs no longer just say "inline cache fast path".
  • ftl/FTLCompileBinaryOp.cpp:

(JSC::FTL::generateBinaryArithOpFastPath):

  • Fixed an indentation.
  • ftl/FTLInlineCacheDescriptor.h:

(JSC::FTL::InlineCacheDescriptor::InlineCacheDescriptor):
(JSC::FTL::InlineCacheDescriptor::name):
(JSC::FTL::GetByIdDescriptor::GetByIdDescriptor):
(JSC::FTL::PutByIdDescriptor::PutByIdDescriptor):
(JSC::FTL::CheckInDescriptor::CheckInDescriptor):
(JSC::FTL::BinaryOpDescriptor::nodeType):
(JSC::FTL::BinaryOpDescriptor::size):
(JSC::FTL::BinaryOpDescriptor::slowPathFunction):
(JSC::FTL::BinaryOpDescriptor::leftOperand):
(JSC::FTL::BinaryOpDescriptor::BinaryOpDescriptor):
(JSC::FTL::ArithDivDescriptor::ArithDivDescriptor):
(JSC::FTL::ArithDivDescriptor::icSize):
(JSC::FTL::ArithDivDescriptor::nodeType):
(JSC::FTL::ArithDivDescriptor::opName):
(JSC::FTL::ArithDivDescriptor::slowPathFunction):
(JSC::FTL::ArithDivDescriptor::nonNumberSlowPathFunction):
(JSC::FTL::ArithMulDescriptor::ArithMulDescriptor):
(JSC::FTL::ArithMulDescriptor::icSize):
(JSC::FTL::ArithMulDescriptor::nodeType):
(JSC::FTL::ArithMulDescriptor::opName):
(JSC::FTL::ArithMulDescriptor::slowPathFunction):
(JSC::FTL::ArithMulDescriptor::nonNumberSlowPathFunction):
(JSC::FTL::ArithSubDescriptor::ArithSubDescriptor):
(JSC::FTL::ArithSubDescriptor::icSize):
(JSC::FTL::ArithSubDescriptor::nodeType):
(JSC::FTL::ArithSubDescriptor::opName):
(JSC::FTL::ArithSubDescriptor::slowPathFunction):
(JSC::FTL::ArithSubDescriptor::nonNumberSlowPathFunction):
(JSC::FTL::ValueAddDescriptor::ValueAddDescriptor):
(JSC::FTL::ValueAddDescriptor::icSize):
(JSC::FTL::ValueAddDescriptor::nodeType):
(JSC::FTL::ValueAddDescriptor::opName):
(JSC::FTL::ValueAddDescriptor::slowPathFunction):
(JSC::FTL::ValueAddDescriptor::nonNumberSlowPathFunction):
(JSC::FTL::LazySlowPathDescriptor::LazySlowPathDescriptor):
(JSC::FTL::ProbeDescriptor::ProbeDescriptor):
(JSC::FTL::BinaryOpDescriptor::name): Deleted.
(JSC::FTL::BinaryOpDescriptor::fastPathICName): Deleted.

  • ftl/FTLInlineCacheDescriptorInlines.h: Removed.
  • Consolidate the number of places where we have to fill in a data about new snippet ICs. It is all done in FTLInlineCacheDescriptor.h now.
  • ftl/FTLJITFinalizer.cpp:

(JSC::FTL::JITFinalizer::finalizeFunction):

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::DFG::LowerDFGToLLVM::compileUntypedBinaryOp):
(JSC::FTL::DFG::LowerDFGToLLVM::compileValueAdd):
(JSC::FTL::DFG::LowerDFGToLLVM::compileArithAddOrSub):
(JSC::FTL::DFG::LowerDFGToLLVM::compileArithMul):
(JSC::FTL::DFG::LowerDFGToLLVM::compileArithDiv):

  • Introduced a compileUntypedBinaryOp() template and use that at all the FTL places that need to use a snippet. This reduces the amount of cut and paste code.
  • ftl/FTLState.h:
  • Removed a bad #include.
2:43 PM Changeset in webkit [193984] by jiewen_tan@apple.com
  • 3 edits
    4 adds in trunk

Strip out Referer header when requesting subresources or following links for documents with "Content-Disposition: attachment"
https://bugs.webkit.org/show_bug.cgi?id=152102
<rdar://problem/22124230>

Reviewed by Andy Estes.

Source/WebCore:

Keep the ReferrerPolicy for a document as ReferrerPolicyNever if the document is loaded with
"Content-Disposition: attachment".

Test: http/tests/contentdispositionattachmentsandbox/subresource-request-not-include-referer-header.html

  • dom/Document.cpp:

(WebCore::Document::processReferrerPolicy):
(WebCore::Document::applyContentDispositionAttachmentSandbox):

LayoutTests:

  • http/tests/contentdispositionattachmentsandbox/resources/echo-http-referer.php: Added.
  • http/tests/contentdispositionattachmentsandbox/resources/subresource-request-not-include-referer-header-frame.php: Added.
  • http/tests/contentdispositionattachmentsandbox/subresource-request-not-include-referer-header-expected.txt: Added.
  • http/tests/contentdispositionattachmentsandbox/subresource-request-not-include-referer-header.html: Added.
2:39 PM Changeset in webkit [193983] by keith_miller@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Overrides has instance should not move ValueFalse to a register then immediately to the stack in the LLInt.
https://bugs.webkit.org/show_bug.cgi?id=152188

Reviewed by Mark Lam.

This fixes a minor issue with the code for the overrides_has_instance in the LLInt. Old code had an extra move,
which is both slow and breaks the build on cloop.

  • llint/LowLevelInterpreter64.asm:
2:33 PM Changeset in webkit [193982] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Marking fast/events/ios tests as flaky on ios-simulator due to timeouts
https://bugs.webkit.org/show_bug.cgi?id=152134

Unreviewed test gardening.

  • platform/ios-simulator/TestExpectations:
2:14 PM Changeset in webkit [193981] by beidson@apple.com
  • 5 edits in trunk

Modern IDB: storage/indexeddb/key-type-array.html fails.
https://bugs.webkit.org/show_bug.cgi?id=152187

Reviewed by Alex Christensen.

Source/WebCore:

No new tests (At least one failing test now passes).

  • Modules/indexeddb/client/IDBObjectStoreImpl.cpp:

(WebCore::IDBClient::IDBObjectStore::putOrAdd): Perform the correct validity check on array keys.

LayoutTests:

  • platform/mac-wk1/TestExpectations:
  • storage/indexeddb/key-type-array-expected.txt:
2:12 PM Changeset in webkit [193980] by beidson@apple.com
  • 7 edits in trunk/LayoutTests

Modern IDB: Updates to 3 intversion tests, and/or their results.
https://bugs.webkit.org/show_bug.cgi?id=152179

Reviewed by Alex Christensen.

  • platform/mac-wk1/TestExpectations:
  • platform/wk2/storage/indexeddb/intversion-close-in-oncomplete-expected.txt:
  • storage/indexeddb/intversion-close-in-oncomplete-expected.txt:
  • storage/indexeddb/intversion-close-in-upgradeneeded-expected.txt:
  • storage/indexeddb/intversion-upgrades-expected.txt:
  • storage/indexeddb/resources/intversion-close-in-oncomplete.js:
1:56 PM Changeset in webkit [193979] by matthew_hanson@apple.com
  • 2 edits in branches/safari-601-branch/Source/WebCore

Merge r190911. rdar://problem/23732405

1:56 PM Changeset in webkit [193978] by matthew_hanson@apple.com
  • 4 edits
    6 adds in branches/safari-601-branch

Merge r191590. rdar://problem/23732405

1:55 PM Changeset in webkit [193977] by matthew_hanson@apple.com
  • 3 edits in branches/safari-601-branch/Source/WebCore

Merge r190914. rdar://problem/23732405

1:55 PM Changeset in webkit [193976] by matthew_hanson@apple.com
  • 22 edits in branches/safari-601-branch/Source/WebCore

Merge r190910. rdar://problem/23732405

1:47 PM Changeset in webkit [193975] by jonlee@apple.com
  • 3 edits in trunk/PerformanceTests

Improve Animometer on iOS
https://bugs.webkit.org/show_bug.cgi?id=152180

Reviewed by Simon Fraser.

Improve experience on phones. Make the canvas take
up the whole screen.

  • Animometer/runner/animometer.html: Add meta viewport.

Remove the container div.

  • Animometer/runner/resources/animometer.css: Have buttons lay

out vertically. Update detail arrow glyph. Make the suites and
options section lay out vertically. Remove the top spacers since
we want the canvas to take over the whole screen. Minimal display
is recommended for use.

1:43 PM Changeset in webkit [193974] by keith_miller@apple.com
  • 64 edits
    5 adds in trunk

[ES6] Add support for Symbol.hasInstance
https://bugs.webkit.org/show_bug.cgi?id=151839

Reviewed by Saam Barati.

Source/JavaScriptCore:

This patch adds support for Symbol.hasInstance, unfortunately in order to prevent
regressions several new bytecodes and DFG IR nodes were necessary. Before, Symbol.hasInstance
when executing an instanceof expression we would emit three bytecodes: overrides_has_instance, get_by_id,
then instanceof. As the spec has changed, we emit a more complicated set of bytecodes in addition to some
new ones. First the role of overrides_has_instance and its corresponding DFG node have changed. Now it returns
a js-boolean indicating whether the RHS of the instanceof expression (from here on called the constructor for simplicity)
needs non-default behavior for resolving the expression. i.e. The constructor has a Symbol.hasInstance that differs from the one on
Function.prototype[Symbol.hasInstance] or is a bound/C-API function. Once we get to the DFG this node is generally eliminated as
we can prove the value of Symbol.hasInstance is a constant. The second new bytecode is instanceof_custom. insntanceof_custom, just
emits a call to slow path code that computes the result.

In the DFG, there is also a new node, CheckTypeInfoFlags, which checks the type info flags are consistent with the ones provided and
OSR exits if the flags are not. Additionally, we attempt to prove that the result of CheckHasValue will be a constant and transform
it into a CheckTypeInfoFlags followed by a JSConstant.

  • API/JSCallbackObject.h:
  • builtins/FunctionPrototype.js:

(symbolHasInstance):

  • bytecode/BytecodeBasicBlock.cpp:

(JSC::isBranch): Deleted.

  • bytecode/BytecodeList.json:
  • bytecode/BytecodeUseDef.h:

(JSC::computeUsesForBytecodeOffset):
(JSC::computeDefsForBytecodeOffset):

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::dumpBytecode):

  • bytecode/ExitKind.cpp:

(JSC::exitKindToString):

  • bytecode/ExitKind.h:
  • bytecode/PreciseJumpTargets.cpp:

(JSC::getJumpTargetsForBytecodeOffset): Deleted.

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::emitOverridesHasInstance):
(JSC::BytecodeGenerator::emitInstanceOfCustom):
(JSC::BytecodeGenerator::emitCheckHasInstance): Deleted.

  • bytecompiler/BytecodeGenerator.h:
  • bytecompiler/NodesCodegen.cpp:

(JSC::InstanceOfNode::emitBytecode):

  • dfg/DFGAbstractInterpreterInlines.h:

(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::parseBlock):

  • dfg/DFGCapabilities.cpp:

(JSC::DFG::capabilityLevel):

  • dfg/DFGClobberize.h:

(JSC::DFG::clobberize):

  • dfg/DFGDoesGC.cpp:

(JSC::DFG::doesGC):

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::fixupNode):

  • dfg/DFGHeapLocation.cpp:

(WTF::printInternal):

  • dfg/DFGHeapLocation.h:
  • dfg/DFGNode.h:

(JSC::DFG::Node::hasCellOperand):
(JSC::DFG::Node::hasTypeInfoOperand):
(JSC::DFG::Node::typeInfoOperand):

  • dfg/DFGNodeType.h:
  • dfg/DFGPredictionPropagationPhase.cpp:

(JSC::DFG::PredictionPropagationPhase::propagate):

  • dfg/DFGSafeToExecute.h:

(JSC::DFG::safeToExecute):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileCheckTypeInfoFlags):
(JSC::DFG::SpeculativeJIT::compileInstanceOfCustom):

  • dfg/DFGSpeculativeJIT.h:

(JSC::DFG::SpeculativeJIT::callOperation):

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):

  • ftl/FTLIntrinsicRepository.h:
  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::DFG::LowerDFGToLLVM::compileNode):
(JSC::FTL::DFG::LowerDFGToLLVM::compileOverridesHasInstance):
(JSC::FTL::DFG::LowerDFGToLLVM::compileCheckTypeInfoFlags):
(JSC::FTL::DFG::LowerDFGToLLVM::compileInstanceOfCustom):
(JSC::FTL::DFG::LowerDFGToLLVM::compileCheckHasInstance): Deleted.

  • jit/JIT.cpp:

(JSC::JIT::privateCompileMainPass):
(JSC::JIT::privateCompileSlowCases):

  • jit/JIT.h:
  • jit/JITInlines.h:

(JSC::JIT::callOperation):

  • jit/JITOpcodes.cpp:

(JSC::JIT::emit_op_overrides_has_instance):
(JSC::JIT::emit_op_instanceof):
(JSC::JIT::emit_op_instanceof_custom):
(JSC::JIT::emitSlow_op_instanceof):
(JSC::JIT::emitSlow_op_instanceof_custom):
(JSC::JIT::emit_op_check_has_instance): Deleted.
(JSC::JIT::emitSlow_op_check_has_instance): Deleted.

  • jit/JITOpcodes32_64.cpp:

(JSC::JIT::emit_op_overrides_has_instance):
(JSC::JIT::emit_op_instanceof):
(JSC::JIT::emit_op_instanceof_custom):
(JSC::JIT::emitSlow_op_instanceof_custom):
(JSC::JIT::emit_op_check_has_instance): Deleted.
(JSC::JIT::emitSlow_op_check_has_instance): Deleted.

  • jit/JITOperations.cpp:
  • jit/JITOperations.h:
  • llint/LLIntData.cpp:

(JSC::LLInt::Data::performAssertions):

  • llint/LLIntSlowPaths.cpp:

(JSC::LLInt::LLINT_SLOW_PATH_DECL):

  • llint/LLIntSlowPaths.h:
  • llint/LowLevelInterpreter32_64.asm:
  • llint/LowLevelInterpreter64.asm:
  • runtime/CommonIdentifiers.h:
  • runtime/ExceptionHelpers.cpp:

(JSC::invalidParameterInstanceofSourceAppender):
(JSC::invalidParameterInstanceofNotFunctionSourceAppender):
(JSC::invalidParameterInstanceofhasInstanceValueNotFunctionSourceAppender):
(JSC::createInvalidInstanceofParameterErrorNotFunction):
(JSC::createInvalidInstanceofParameterErrorhasInstanceValueNotFunction):
(JSC::createInvalidInstanceofParameterError): Deleted.

  • runtime/ExceptionHelpers.h:
  • runtime/FunctionPrototype.cpp:

(JSC::FunctionPrototype::addFunctionProperties):

  • runtime/FunctionPrototype.h:
  • runtime/JSBoundFunction.cpp:

(JSC::isBoundFunction):
(JSC::hasInstanceBoundFunction):

  • runtime/JSBoundFunction.h:
  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::init):
(JSC::JSGlobalObject::visitChildren):

  • runtime/JSGlobalObject.h:

(JSC::JSGlobalObject::functionProtoHasInstanceSymbolFunction):

  • runtime/JSObject.cpp:

(JSC::JSObject::hasInstance):
(JSC::objectPrivateFuncInstanceOf):

  • runtime/JSObject.h:
  • runtime/JSTypeInfo.h:

(JSC::TypeInfo::TypeInfo):
(JSC::TypeInfo::overridesHasInstance):

  • runtime/WriteBarrier.h:

(JSC::WriteBarrierBase<Unknown>::slot):

  • tests/es6.yaml:
  • tests/stress/instanceof-custom-hasinstancesymbol.js: Added.

(Constructor):
(value):
(instanceOf):
(body):

  • tests/stress/symbol-hasInstance.js: Added.

(Constructor):
(value):
(ObjectClass.Symbol.hasInstance):
(NumberClass.Symbol.hasInstance):

LayoutTests:

Fix tests to reflect the changes to instanceof in ES6.

Added a new regression test for bound functions in instanceof
as the perfomance on bound functions should, to some degree,
reflect the performance on C-API users.

  • js/Object-getOwnPropertyNames-expected.txt:
  • js/exception-for-nonobject-expected.txt:
  • js/exception-instanceof-expected.txt:
  • js/instance-of-immediates-expected.txt:
  • js/regress/instanceof-bound-expected.txt: Added.
  • js/regress/instanceof-bound.html: Added.
  • js/regress/script-tests/instanceof-bound.js: Added.

(Constructor):
(test):

  • js/script-tests/Object-getOwnPropertyNames.js:
1:01 PM Changeset in webkit [193973] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Updating mac-wk1 TestExpectations for fast/replaced/replaced-breaking.html to Yosemite+ to fix EWS bot results.
https://bugs.webkit.org/show_bug.cgi?id=152178

Unreviewed test gardening.

  • platform/mac-wk1/TestExpectations:
12:56 PM Changeset in webkit [193972] by commit-queue@webkit.org
  • 13 edits in trunk

check-for-inappropriate-objc-class-names should check all class names, not just externally visible ones
https://bugs.webkit.org/show_bug.cgi?id=152156

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-12-11
Reviewed by Dan Bernstein.

Source/JavaScriptCore:

  • llvm/InitializeLLVMMac.cpp:

Remove stale comment. The ObjC class this comment referenced
has already been removed.

Source/WebCore:

  • platform/graphics/avfoundation/objc/CDMSessionAVContentKeySession.h:
  • platform/graphics/avfoundation/objc/CDMSessionAVContentKeySession.mm:

(WebCore::CDMSessionAVContentKeySession::CDMSessionAVContentKeySession):

  • platform/graphics/avfoundation/objc/CDMSessionAVStreamSession.h:
  • platform/graphics/avfoundation/objc/CDMSessionAVStreamSession.mm:

(WebCore::CDMSessionAVStreamSession::CDMSessionAVStreamSession):
Rename classes with a "Web" prefix.

Source/WebKit2:

  • UIProcess/ios/WebVideoFullscreenManagerProxy.mm:

(WebKit::WebVideoFullscreenManagerProxy::setupFullscreenWithID):

  • UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.h:
  • UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm:

(WebKit::RemoteLayerTreeDrawingAreaProxy::RemoteLayerTreeDrawingAreaProxy):
Rename internal classes with "_WK" prefix.

Tools:

Our frameworks should appropriately prefix all ObjC classes,
not just external symbols.

  • Scripts/check-for-inappropriate-objc-class-names:

Remove the -g switch to check all ObjC class names.

12:52 PM Changeset in webkit [193971] by matthew_hanson@apple.com
  • 2 edits in branches/safari-601-branch/Source/WebCore

Speculative build fix.

11:56 AM Changeset in webkit [193970] by beidson@apple.com
  • 10 edits
    1 copy in trunk

Modern IDB: storage/indexeddb/intversion-abort-in-initial-upgradeneeded.html fails.
https://bugs.webkit.org/show_bug.cgi?id=152177

Reviewed by Alex Christensen.

Source/WebCore:

No new tests (At least one failing test now passes).

  • Modules/indexeddb/client/IDBOpenDBRequestImpl.cpp:

(WebCore::IDBClient::IDBOpenDBRequest::versionChangeTransactionDidFinish): Renamed from below.
(WebCore::IDBClient::IDBOpenDBRequest::versionChangeTransactionWillFinish): Deleted.

  • Modules/indexeddb/client/IDBOpenDBRequestImpl.h:
  • Modules/indexeddb/client/IDBRequestImpl.cpp:

(WebCore::IDBClient::IDBRequest::setVersionChangeTransaction): OpenDBRequests usually don't have transactions,

unless they end up being upgrade requests.

  • Modules/indexeddb/client/IDBRequestImpl.h:
  • Modules/indexeddb/client/IDBTransactionImpl.cpp:

(WebCore::IDBClient::IDBTransaction::IDBTransaction): Call setVersionChangeTransaction on the request if appropriate.
(WebCore::IDBClient::IDBTransaction::dispatchEvent): Call versionChangeTransactionDidFinish after the

abort/complete events fire.

(WebCore::IDBClient::IDBTransaction::abort): Deleted.
(WebCore::IDBClient::IDBTransaction::commit): Deleted.

LayoutTests:

  • platform/mac-wk1/TestExpectations:
  • platform/wk2/storage/indexeddb/intversion-abort-in-initial-upgradeneeded-expected.txt: Copied from LayoutTests/storage/indexeddb/intversion-abort-in-initial-upgradeneeded-expected.txt.
  • storage/indexeddb/intversion-abort-in-initial-upgradeneeded-expected.txt:
  • storage/indexeddb/resources/intversion-abort-in-initial-upgradeneeded.js:
11:49 AM Changeset in webkit [193969] by jiewen_tan@apple.com
  • 1 edit
    2 adds in trunk/LayoutTests

Do not fire load events from frames with scripting disabled
https://bugs.webkit.org/show_bug.cgi?id=118042
<rdar://problem/14272857>

Reviewed by Brent Fulgham.

Since the crash is not reproducible, only test case from Blink r153029 is merged:
https://codereview.chromium.org/17682003

  • fast/images/image-load-event-crash-expected.txt: Added.
  • fast/images/image-load-event-crash.html: Added.
11:13 AM Changeset in webkit [193968] by beidson@apple.com
  • 6 edits in trunk

Modern IDB: storage/indexeddb/index-count.html fails.
https://bugs.webkit.org/show_bug.cgi?id=152175

Reviewed by Alex Christensen.

Source/WebCore:

No new tests (At least one failing test now passes).

  • Modules/indexeddb/client/IDBIndexImpl.cpp:

(WebCore::IDBClient::IDBIndex::count): If the passed in IDBKeyRange* is nullptr, use IDBKeyRangeData::allKeys.
(WebCore::IDBClient::IDBIndex::doCount): Change an isNull check to a more correct !isValid() check.

LayoutTests:

  • platform/mac-wk1/TestExpectations:
  • storage/indexeddb/index-count-expected.txt:
  • storage/indexeddb/modern/index-get-count-failures-expected.txt:
10:26 AM Changeset in webkit [193967] by matthew_hanson@apple.com
  • 5 edits in branches/safari-601-branch

Merge r193922. rdar://problem/23727472

10:26 AM Changeset in webkit [193966] by matthew_hanson@apple.com
  • 12 edits
    3 adds in branches/safari-601-branch

Merge r193859. rdar://problem/23814477

10:26 AM Changeset in webkit [193965] by matthew_hanson@apple.com
  • 1 edit
    1 add in branches/safari-601-branch/Source/JavaScriptCore

Merge r193480. rdar://problem/23849785

10:26 AM Changeset in webkit [193964] by matthew_hanson@apple.com
  • 6 edits in branches/safari-601-branch/Source/JavaScriptCore

Merge r193470. rdar://problem/23849785

10:26 AM Changeset in webkit [193963] by matthew_hanson@apple.com
  • 5 edits
    3 adds in branches/safari-601-branch

Merge r192772. rdar://problem/23797220

10:26 AM Changeset in webkit [193962] by matthew_hanson@apple.com
  • 2 edits in branches/safari-601-branch/Source/WebCore

Merge r192066. rdar://problem/23715623

10:26 AM Changeset in webkit [193961] by matthew_hanson@apple.com
  • 13 edits in branches/safari-601-branch/Source

Merge r191628. rdar://problem/23715623

10:26 AM Changeset in webkit [193960] by matthew_hanson@apple.com
  • 25 edits
    2 adds in branches/safari-601-branch/Source

Merge r191084. rdar://problem/23715623

9:45 AM Changeset in webkit [193959] by peavo@outlook.com
  • 3 edits in trunk/Source/WebCore

[WinCairo][MediaFoundation] Setting playback rate does not work.
https://bugs.webkit.org/show_bug.cgi?id=152172

Reviewed by Brent Fulgham.

Implement method to set playback rate.

  • platform/graphics/win/MediaPlayerPrivateMediaFoundation.cpp:

(WebCore::MediaPlayerPrivateMediaFoundation::seekDouble):
(WebCore::MediaPlayerPrivateMediaFoundation::setRateDouble):
(WebCore::MediaPlayerPrivateMediaFoundation::durationDouble):

  • platform/graphics/win/MediaPlayerPrivateMediaFoundation.h:
9:44 AM Changeset in webkit [193958] by dbates@webkit.org
  • 1 edit
    1 move
    12 adds in trunk/LayoutTests

[iOS][WK2] Update expected results for tests imported/w3c/web-platform-tests

  • platform/ios-simulator-wk2/imported/w3c/web-platform-tests/html/dom/interfaces-expected.txt: Added.
  • platform/ios-simulator-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valueMissing-expected.txt: Added.
  • platform/ios-simulator-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-willValidate-expected.txt: Renamed from LayoutTests/platform/ios-simulator/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-willValidate-expected.txt.
  • platform/ios-simulator-wk2/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/type-change-state-expected.txt: Added.
  • platform/ios-simulator-wk2/imported/w3c/web-platform-tests/html/semantics/interfaces-expected.txt: Added.
9:35 AM Changeset in webkit [193957] by Darin Adler
  • 19 edits
    4 deletes in trunk

Reduce the number of events that can be created by Document.createEvent
https://bugs.webkit.org/show_bug.cgi?id=151931

Reviewed by Alex Christensen.

LayoutTests/imported/w3c:

  • web-platform-tests/dom/events/ProgressEvent-expected.txt: Updated for progression.
  • web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/TrackEvent/createEvent-expected.txt:

Ditto.

Source/WebCore:

Document.createEvent is intended for use only with a certain set of legacy events.
Ideally it should only be the ones mentioned in the DOM specification.

For now, at least remove all the events that can't usefully be created and initialized
this way. Later, we should cut it down even smaller. And stop automatically generating
this, which was causing everyone who made an event IDL file to get supported here!

The modern alternative is to use event class constructors instead.

  • CMakeLists.txt: Don't compile EventFactory.cpp. For now, we still generate

EventFactory.cpp but we do not use it.

  • DerivedSources.make: Ditto.
  • WebCore.vcxproj/WebCore.vcxproj: Ditto.
  • WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
  • WebCore.xcodeproj/project.pbxproj: Ditto. Also don't include EventFactory.h in the

project file.

  • dom/DOMImplementation.cpp:

(WebCore::DOMImplementation::hasFeature): Added a comment about the SVGZoomEvents feature.

  • dom/Document.cpp: Re-sorted includes and added the new ones needed for createEvent.

(WebCore::Document::createEvent): Moved all the logic here from EventFactory, and
took a crack at comments that explain what this should and should not be used for.

  • dom/EventFactory.h: Removed.

LayoutTests:

on createEvent("IDBVersionChangeEvent").

  • animations/animation-events-create.html: Updated to use

"new WebKitAnimationEvent" instead of document.createEvent.

  • fast/events/event-creation-expected.txt: Removed expected results for

various events that can no longer be created with createEvent.

  • fast/events/event-creation.html: Removed tests for various events

that can no longer be created with createEvent.

  • imported/blink/plugins/plugin-synthetic-event-crash.html: Updated to use

"new PopStateEvent" instead of document.createEvent.

  • indieui/create-uirequestevent-expected.txt: Removed.
  • indieui/create-uirequestevent.html: Removed.
  • platform/mac-wk2/TestExpecations: Removed expectations for some deleted tests.
  • platform/wk2/storage/indexeddb/removed-expected.txt: Removed, since this is

no different from the platform-independent expected result.

  • transitions/transition-end-event-create.html: Updated to use

"new WebKitTransitionEvent" instead of document.createEvent.

9:34 AM Changeset in webkit [193956] by Nikita Vasilyev
  • 5 edits
    2 adds in trunk

Web Inspector: When logging strings, detect stack traces and show them as StackTraceView
https://bugs.webkit.org/show_bug.cgi?id=149790

Reviewed by Timothy Hatcher.

Source/WebInspectorUI:

  • UserInterface/Models/StackTrace.js:

(WebInspector.StackTrace.isLikelyStackTrace): Added.

  • UserInterface/Views/ConsoleMessageView.css:

(.console-message-extra-parameter .stack-trace):
Display stack trace view on the same line as a list bullet point from
console message extra parameter.

  • UserInterface/Views/ConsoleMessageView.js:

(WebInspector.ConsoleMessageView.prototype._appendFormattedArguments):
Don't format with string substitutions for stack traces. E.g. there is
no need to replace %s with the next argument.

(WebInspector.ConsoleMessageView.prototype._isStackTrace): Added.
(WebInspector.ConsoleMessageView.prototype._formatParameterAsString):
Detect stack traces and format them appropriately.

LayoutTests:

  • inspector/console/js-isLikelyStackTrace.html: Added.
9:15 AM Changeset in webkit [193955] by benjamin@webkit.org
  • 4 edits in trunk/Source/JavaScriptCore

[JSC] Little cleanup of FTLOutput type casts and conversions
https://bugs.webkit.org/show_bug.cgi?id=152166

Reviewed by Geoffrey Garen.

Clean up:
-Change fpCast() to explicit conversion doubleToFloat() and floatToDouble()

to match B3's opcodes.

-Remove unused conversion functions.
-Use the most specific cast function when possible.
-Functions that are only used inside FTLOutput are made private.

In FTLB3Output, those functions were removed.

  • ftl/FTLB3Output.h:

(JSC::FTL::Output::doubleToFloat):
(JSC::FTL::Output::floatToDouble):
(JSC::FTL::Output::fround):
(JSC::FTL::Output::fpToInt): Deleted.
(JSC::FTL::Output::fpToUInt): Deleted.
(JSC::FTL::Output::intToFP): Deleted.
(JSC::FTL::Output::unsignedToFP): Deleted.
(JSC::FTL::Output::intCast): Deleted.
(JSC::FTL::Output::fpCast): Deleted.
(JSC::FTL::Output::intToPtr): Deleted.
(JSC::FTL::Output::ptrToInt): Deleted.

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::DFG::LowerDFGToLLVM::compileGetByVal):
(JSC::FTL::DFG::LowerDFGToLLVM::compilePutByVal):

  • ftl/FTLOutput.h:

(JSC::FTL::Output::doubleToFloat):
(JSC::FTL::Output::floatToDouble):
(JSC::FTL::Output::intCast):
(JSC::FTL::Output::fpToInt):
(JSC::FTL::Output::fpToUInt):
(JSC::FTL::Output::fpCast):
(JSC::FTL::Output::intToFP):
(JSC::FTL::Output::unsignedToFP):

8:23 AM EnvironmentVariables edited by clopez@igalia.com
(diff)
7:03 AM Changeset in webkit [193954] by matthew_hanson@apple.com
  • 3 edits in branches/safari-601.1.46-branch/Source/WebCore

Merge r193876. rdar://problem/23305376

4:34 AM Changeset in webkit [193953] by matthew_hanson@apple.com
  • 16 edits in branches/safari-601.1.46-branch/Source

Merge r192712. rdar://problem/23814340

2:01 AM Changeset in webkit [193952] by matthew_hanson@apple.com
  • 12 edits
    3 adds in branches/safari-601.1.46-branch

Merge r193859. rdar://problem/23814345

2:01 AM Changeset in webkit [193951] by matthew_hanson@apple.com
  • 5 edits in branches/safari-601.1.46-branch

Merge r193922. rdar://problem/23716993

1:34 AM Changeset in webkit [193950] by matthew_hanson@apple.com
  • 2 edits in branches/safari-601.1.46-branch/Source/WebCore

Merge r193760. rdar://problem/23727535

Note: See TracTimeline for information about the timeline view.