Timeline
Dec 13, 2015:
- 11:24 PM Changeset in webkit [194029] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Make TimelineOverview's graph container a subview
https://bugs.webkit.org/show_bug.cgi?id=152235
Reviewed by Brian Burg.
- UserInterface/Views/TimelineOverview.js:
(WebInspector.TimelineOverview):
Create graph container subview.
(WebInspector.TimelineOverview.prototype._instrumentAdded):
Add overview to the graph container view.
(WebInspector.TimelineOverview.prototype._instrumentRemoved):
Remove overview from the graph container view.
(WebInspector.TimelineOverview.prototype.layout):
No longer necessary to manually lay out overview graphs.
(WebInspector.TimelineOverview.prototype._needsLayout): Deleted.
Removed dead code.
- 10:37 PM Changeset in webkit [194028] by
-
- 3 edits in tags/Safari-602.1.13.3/Source/WebKit2
Merged r194023. rdar://problem/23863828
- 10:37 PM Changeset in webkit [194027] by
-
- 2 edits in tags/Safari-602.1.13.3/Source/WebKit2
Merged r194019. rdar://problem/23863828
- 10:36 PM Changeset in webkit [194026] by
-
- 8 edits in tags/Safari-602.1.13.3/Source/WebKit2
Merged r194018. rdar://problem/23863828
- 9:27 PM Changeset in webkit [194025] by
-
- 22 edits in trunk/Source
Adopt CGIOSurfaceContextCreateImageReference to avoid unnecessary readback
https://bugs.webkit.org/show_bug.cgi?id=150988
<rdar://problem/18993594>
Reviewed by Darin Adler.
- platform/graphics/GraphicsContext.cpp:
(WebCore::GraphicsContext::drawConsumingImageBuffer):
- platform/graphics/GraphicsContext.h:
- platform/graphics/ImageBuffer.h:
- platform/graphics/cg/ImageBufferCG.cpp:
(WebCore::createBitmapImageAfterScalingIfNeeded):
(WebCore::ImageBuffer::copyImage):
(WebCore::ImageBuffer::sinkIntoImage):
(WebCore::ImageBuffer::sinkIntoNativeImage):
(WebCore::ImageBuffer::drawConsuming):
- platform/graphics/cocoa/IOSurface.h:
- platform/graphics/cocoa/IOSurface.mm:
(IOSurface::createFromImageBuffer):
(IOSurface::sinkIntoImage):
Add sinkIntoImage, sinkIntoNativeImage, and drawConsuming to ImageBuffer,
which all consume the ImageBuffer and allow us to tell the system to
make a CGImage that references the IOSurface, which is in many cases
more efficient than making an image with a "copy" of the IOSurface.
(The copy is done lazily, but we often hit a corner case that causes
it to happen unnecessarily.)
- html/shadow/MediaControlElements.cpp:
(WebCore::MediaControlTextTrackContainerElement::createTextTrackRepresentationImage):
- page/TextIndicator.cpp:
(WebCore::takeSnapshot):
- platform/DragImage.cpp:
(WebCore::createDragImageFromSnapshot):
- platform/graphics/filters/FETile.cpp:
(WebCore::FETile::platformApplySoftware):
- platform/mac/ThemeMac.mm:
(WebCore::ThemeMac::drawCellOrFocusRingWithViewIntoContext):
- platform/mediastream/mac/AVVideoCaptureSource.mm:
(WebCore::AVVideoCaptureSource::currentFrameImage):
- rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::paintFillLayerExtended):
- rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::paintProgressBar):
- rendering/svg/RenderSVGResourcePattern.cpp:
(WebCore::RenderSVGResourcePattern::buildPattern):
- svg/graphics/SVGImage.cpp:
(WebCore::SVGImage::drawPatternForContainer):
Adopt sinkIntoImage and drawConsumingImageBuffer in a few places.
- WebCoreSupport/WebContextMenuClient.mm:
(WebContextMenuClient::imageForCurrentSharingServicePickerItem):
Adopt sinkIntoImage and drawConsumingImageBuffer in a few places.
- WebProcess/WebPage/WebFrame.cpp:
(WebKit::WebFrame::createSelectionSnapshot):
Adopt sinkIntoImage and drawConsumingImageBuffer in a few places.
- 8:30 PM Changeset in webkit [194024] by
-
- 3 edits in trunk/Source/JavaScriptCore
[JSC] Remove FTL::Output's doubleEqualOrUnordered()
https://bugs.webkit.org/show_bug.cgi?id=152234
Patch by Benjamin Poulain <bpoulain@apple.com> on 2015-12-13
Reviewed by Sam Weinig.
It is unused, one less thing to worry about.
- ftl/FTLB3Output.h:
(JSC::FTL::Output::doubleEqualOrUnordered): Deleted.
- ftl/FTLOutput.h:
(JSC::FTL::Output::doubleEqualOrUnordered): Deleted.
- 7:31 PM Changeset in webkit [194023] by
-
- 3 edits in trunk/Source/WebKit2
Another fix after r194018.
- Configurations/BaseTarget.xcconfig:
- Configurations/BaseXPCService.xcconfig:
- 7:19 PM Changeset in webkit [194022] by
-
- 15 edits in trunk/Source/WebKit2
[Mac] Shims used by XPC services are installed inside legacy process bundles
https://bugs.webkit.org/show_bug.cgi?id=152233
Reviewed by Sam Weinig.
Have the shim dylibs installed in the framework’s Frameworks directory instead.
- Configurations/BaseLegacyProcess.xcconfig: Simplified now that EXCLUDED_SHIM_FILE_NAME is no longer defined, because shims aren’t copied into legacy processes.
- Configurations/NetworkProcess.xcconfig: Removed definition of EXCLUDED_SHIM_FILE_NAME.
- Configurations/PluginProcess.xcconfig: Ditto.
- Configurations/WebContentProcess.xcconfig: Ditto.
- Configurations/Shim.xcconfig: Install the shims when building for OS X. Added definitions of INSTALL_PATH and DYLIB_INSTALL_NAME_BASE which are now common to all shims.
- Configurations/PluginProcessShim.xcconfig: Removed definitions of INSTALL_PATH and DYLIB_INSTALL_NAME_BASE from here, now that they are defined for all shims in Shim.xcconfig.
- Configurations/SecItemShim.xcconfig: Ditto.
- Configurations/WebProcessShim.xcconfig:
- Configurations/WebKit.xcconfig: Added the shims to EXCLUDED_SOURCE_FILE_NAMES for iOS.
- NetworkProcess/EntryPoint/mac/XPCService/NetworkService/Info-OSX-10.9-10.10.plist: Changed the value of DYLD_INSERT_LIBRARIES to point to the shim’s new location.
- PluginProcess/EntryPoint/mac/XPCService/PluginService.32-64-10.9-10.10.Info.plist: Ditto.
- WebProcess/EntryPoint/mac/XPCService/WebContentService/Info-OSX-10.9-10.10.plist: Ditto.
- UIProcess/Launcher/mac/ProcessLauncherMac.mm:
(WebKit::computeProcessShimPath): Changed to return the new paths, which are all inside the
framework’s Frameworks directory.
- WebKit2.xcodeproj/project.pbxproj:
- Removed references to WRAPPER_NAME from the “Copy XPC services for engineering builds” build phase in the All target, becase WRAPPER_NAME is empty in an aggregate target.
- Removed the PlugInProcess target’s dependency on the PluginProcessShim target and its Copy Plug-in Process Shim build phase.
- Removed the NetworkProcess target’s dependency on the SecItemShim target and its Copy Sec Item Shim build phase.
- Removed the WebProcess target’s dependency on the WebProcessShim target and its Copy WebProcessShim build phase.
- Made the WebKit target depend on the shim targets, and added to it a Copy Shims build phase that copies the shims into the framework’s Frameworks directory.
- 6:52 PM Changeset in webkit [194021] by
-
- 3 edits1 add in trunk/Source/JavaScriptCore
[JSC] Should not emit get_by_id for indexed property access
https://bugs.webkit.org/show_bug.cgi?id=151354
Reviewed by Darin Adler.
Before this patch,
a["1"]is converted toa.1get_by_id operation in the bytecode compiler.
get_by_id emits IC. IC rely on the fact that Structure transition occur when adding / removing object's properties.
However, it's not true for indexed element properties. They are stored in the element storage and Structure transition does not occur.
For example, in the following case,
function getOne(a) { return a1; }
for (var i = 0; i < 36; ++i)
getOne({2: true});
if (!getOne({1: true}))
throw new Error("OUT");
In this case,
a['1']creates get_by_id.getOne({2: true})calls makes getOne's get_by_id to create IC says that,
"when comming this structure chain, there is no property in "1", so we should returnundefined".
After that, we call
getOne({1: true}). But in this case,{2: true}and{1: true}have the same structure chain,
because indexed property addition does not occur structure transition.
So previous IC fast path is used and returnundefined. But the correct answer is returningtrue.
This patch fixes the above issue. When there is string bracket access, we only emits get_by_id if the given string is not an index.
There are bugs in get_by_id, put_by_id, put_by_id (direct). But only get_by_id poses user observable issue.
Because in the put_by_id case, the generic path just says "this put is uncacheable".
- bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::emitGetById):
(JSC::BytecodeGenerator::emitPutById):
(JSC::BytecodeGenerator::emitDirectPutById):
- bytecompiler/NodesCodegen.cpp:
(JSC::isNonIndexStringElement):
(JSC::BracketAccessorNode::emitBytecode):
(JSC::FunctionCallBracketNode::emitBytecode):
(JSC::AssignBracketNode::emitBytecode):
(JSC::ObjectPatternNode::bindValue):
- tests/stress/element-property-get-should-not-handled-with-get-by-id.js: Added.
(getOne):
- 5:30 PM Changeset in webkit [194020] by
-
- 1 copy in tags/Safari-601.5.6
New tag.
- 4:05 PM Changeset in webkit [194019] by
-
- 2 edits in trunk/Source/WebKit2
Build fix.
- Configurations/PluginProcess.xcconfig:
- 3:21 PM Changeset in webkit [194018] by
-
- 8 edits in trunk/Source/WebKit2
[Mac] Shims aren’t inserted properly on Yosemite when building with the El Capitan SDK
https://bugs.webkit.org/show_bug.cgi?id=152229
Reviewed by Darin Adler.
- Configurations/BaseTarget.xcconfig: Defined WK_LINK_SHIM on OS X to YES or NO based on the target version.
- Configurations/BaseXPCService.xcconfig: Define WK_XPC_SERVICE_INFOPLIST_SUFFIX to "-10.9-10.10" when targeting those OS X versions.
- Configurations/NetworkService.xcconfig: Use WK_XPC_SERVICE_INFOPLIST_SUFFIX in the definition of INFOPLIST_FILE. Use WK_LINK_SHIM in the definition of OTHER_LDFLAGS.
- Configurations/PluginProcess.xcconfig: Use WK_LINK_SHIM in the definition of LDFLAGS_SHIM_Production for OS X.
- Configurations/PluginService.32.xcconfig: Use WK_XPC_SERVICE_INFOPLIST_SUFFIX in the definition of INFOPLIST_FILE. Use WK_LINK_SHIM in the definition of OTHER_LDFLAGS.
- Configurations/PluginService.64.xcconfig: Ditto.
- Configurations/WebContentService.xcconfig: Ditto.
- 12:03 PM Changeset in webkit [194017] by
-
- 31 edits in trunk/Source
CachedScript could have a copy-free path for all-ASCII scripts.
<https://webkit.org/b/152203>
Source/JavaScriptCore:
Reviewed by Antti Koivisto.
Make SourceProvider vend a StringView instead of a String.
This relaxes the promises that providers have to make about string lifetimes.
This means that on the WebCore side, CachedScript is free to cache a String
internally, while only ever exposing it as a temporary StringView.
A few extra copies (CPU, not memory) are introduced, none of them on hot paths.
- API/JSScriptRef.cpp:
- bytecode/CodeBlock.cpp:
(JSC::CodeBlock::sourceCodeForTools):
(JSC::CodeBlock::dumpSource):
- inspector/ScriptDebugServer.cpp:
(Inspector::ScriptDebugServer::dispatchDidParseSource):
(Inspector::ScriptDebugServer::dispatchFailedToParseSource):
- interpreter/Interpreter.cpp:
(JSC::Interpreter::execute):
- jsc.cpp:
(functionFindTypeForExpression):
(functionHasBasicBlockExecuted):
(functionBasicBlockExecutionCount):
- parser/Lexer.cpp:
(JSC::Lexer<T>::setCode):
- parser/Lexer.h:
(JSC::Lexer<LChar>::setCodeStart):
(JSC::Lexer<UChar>::setCodeStart):
- parser/Parser.h:
(JSC::Parser::getToken):
- parser/SourceCode.cpp:
(JSC::SourceCode::toUTF8):
- parser/SourceCode.h:
(JSC::SourceCode::hash):
(JSC::SourceCode::view):
(JSC::SourceCode::toString): Deleted.
- parser/SourceCodeKey.h:
(JSC::SourceCodeKey::SourceCodeKey):
(JSC::SourceCodeKey::string):
- parser/SourceProvider.h:
(JSC::SourceProvider::getRange):
- runtime/Completion.cpp:
(JSC::loadAndEvaluateModule):
(JSC::loadModule):
- runtime/ErrorInstance.cpp:
(JSC::appendSourceToError):
- runtime/FunctionPrototype.cpp:
(JSC::functionProtoFuncToString):
- tools/FunctionOverrides.cpp:
(JSC::initializeOverrideInfo):
(JSC::FunctionOverrides::initializeOverrideFor):
Source/WebCore:
Reviewed by ANtti Koivisto.
Many (if not most) of script resources on the web contain nothing but ASCII characters.
Such resources, when streamed through a text decoder, will yield the exact same byte
sequence, except in anonymous heap memory instead of delicious file-backed pages.
Care is taken to ensure that the wrapper StringImpl is updated to target newly cached
resource data if an asynchronous caching notification comes in.
- loader/cache/CachedResource.cpp:
(WebCore::CachedResource::tryReplaceEncodedData):
- loader/cache/CachedResource.h:
(WebCore::CachedResource::didReplaceSharedBufferContents):
- loader/cache/CachedScript.cpp:
(WebCore::encodingMayBeAllASCII):
(WebCore::CachedScript::script):
(WebCore::CachedScript::didReplaceSharedBufferContents):
- loader/cache/CachedScript.h:
- platform/SharedBuffer.h:
- platform/cf/SharedBufferCF.cpp:
(WebCore::SharedBuffer::tryReplaceContentsWithPlatformBuffer):
- 8:18 AM Changeset in webkit [194016] by
-
- 4 edits2 adds in trunk
Clean up absolute positioned map properly.
https://bugs.webkit.org/show_bug.cgi?id=152219
rdar://problem/23861165
Reviewed by Simon Fraser.
We insert positioned renderers into a static map (RenderBlock::gPositionedDescendantsMap) to keep track of them.
Since this static map is at block level, (positioned)inline renderers use their containing block to store
their positioned descendants.
This patch ensures that when an inline element can no longer hold positioned children, we remove them from
the inline's containing block's map. -unless the container itself can hold positioned renderers(see RenderElement::canContainAbsolutelyPositionedObjects).
Source/WebCore:
Test: fast/block/positioning/crash-when-positioned-inline-has-positioned-child.html
- rendering/RenderInline.cpp:
(WebCore::RenderInline::styleWillChange):
- rendering/RenderInline.h:
LayoutTests:
- fast/block/positioning/crash-when-positioned-inline-has-positioned-child-expected.txt: Added.
- fast/block/positioning/crash-when-positioned-inline-has-positioned-child.html: Added.
- 6:07 AM Changeset in webkit [194015] by
-
- 7 edits1 add in trunk
AX: [EFL] Anonymous render block flow elements should be exposed as ATK_ROLE_SECTION; not ATK_ROLE_PANEL
https://bugs.webkit.org/show_bug.cgi?id=152079
Reviewed by Chris Fleizach.
Source/WebCore:
Map the element to WebCore AccessibilityRole DivRole for EFL. As with GTK, this
is being done in the shared layer rather than in the platform layer because we
want all subsequent logic to treat anonymous render block flow elements as divs.
No new tests. We already have sufficient test coverage. The expectations
been updated accordingly.
- accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::determineAccessibilityRole):
LayoutTests:
- platform/efl/accessibility/deleting-iframe-destroys-axcache-expected.txt: Added.
- platform/efl/accessibility/image-link-expected.txt: Updated.
- platform/efl/accessibility/image-with-alt-and-map-expected.txt: Updated.
- platform/efl/accessibility/lists-expected.txt: Updated.
- platform/efl/accessibility/media-element-expected.txt: Updated
- 12:25 AM Changeset in webkit [194014] by
-
- 2 edits in trunk/LayoutTests
Modern IDB: TextExpectations gardening to run more tests.
https://bugs.webkit.org/show_bug.cgi?id=152217
Reviewed by Alex Christensen.
- platform/mac-wk1/TestExpectations: 5 crash/timeout tests now either pass or merely have text failures.
Dec 12, 2015:
- 9:09 PM Changeset in webkit [194013] by
-
- 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
- Add CSS z-index (diff)
- 3:49 PM Changeset in webkit [194012] by
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 3 edits2 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
-
- 21 edits2 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
-
- 3 edits2 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
-
- 3 edits4 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
-
- 22 edits2 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
-
- 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
-
- 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
-
- 3 edits2 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
-
- 1 copy in tags/Safari-601.1.46.86
Submission Notes.
- 4:45 PM Changeset in webkit [193995] by
-
- 3 edits4 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
-
- 7 edits in trunk
tmp for 152194
- 4:17 PM Changeset in webkit [193993] by
-
- 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
-
- 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
-
- 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
-
- 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
-
- 8 edits2 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
-
- 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
-
- 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
-
- 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
-
- 10 edits1 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.
- JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
- JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
- JavaScriptCore.xcodeproj/project.pbxproj:
- 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
-
- 3 edits4 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 2 edits in branches/safari-601-branch/Source/WebCore
Merge r190911. rdar://problem/23732405
- 1:56 PM Changeset in webkit [193978] by
-
- 4 edits6 adds in branches/safari-601-branch
Merge r191590. rdar://problem/23732405
- 1:55 PM Changeset in webkit [193977] by
-
- 3 edits in branches/safari-601-branch/Source/WebCore
Merge r190914. rdar://problem/23732405
- 1:55 PM Changeset in webkit [193976] by
-
- 22 edits in branches/safari-601-branch/Source/WebCore
Merge r190910. rdar://problem/23732405
- 1:47 PM Changeset in webkit [193975] by
-
- 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
-
- 64 edits5 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
-
- 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
-
- 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
-
- 2 edits in branches/safari-601-branch/Source/WebCore
Speculative build fix.
- 11:56 AM Changeset in webkit [193970] by
-
- 10 edits1 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
-
- 1 edit2 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
-
- 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
-
- 5 edits in branches/safari-601-branch
Merge r193922. rdar://problem/23727472
- 10:26 AM Changeset in webkit [193966] by
-
- 12 edits3 adds in branches/safari-601-branch
Merge r193859. rdar://problem/23814477
- 10:26 AM Changeset in webkit [193965] by
-
- 1 edit1 add in branches/safari-601-branch/Source/JavaScriptCore
Merge r193480. rdar://problem/23849785
- 10:26 AM Changeset in webkit [193964] by
-
- 6 edits in branches/safari-601-branch/Source/JavaScriptCore
Merge r193470. rdar://problem/23849785
- 10:26 AM Changeset in webkit [193963] by
-
- 5 edits3 adds in branches/safari-601-branch
Merge r192772. rdar://problem/23797220
- 10:26 AM Changeset in webkit [193962] by
-
- 2 edits in branches/safari-601-branch/Source/WebCore
Merge r192066. rdar://problem/23715623
- 10:26 AM Changeset in webkit [193961] by
-
- 13 edits in branches/safari-601-branch/Source
Merge r191628. rdar://problem/23715623
- 10:26 AM Changeset in webkit [193960] by
-
- 25 edits2 adds in branches/safari-601-branch/Source
Merge r191084. rdar://problem/23715623
- 9:45 AM Changeset in webkit [193959] by
-
- 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
-
- 1 edit1 move12 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
-
- 19 edits4 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:
- TestExpectations: Added expected failures for the two tests that depend
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
-
- 5 edits2 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
-
- 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
- (diff)
- 7:03 AM Changeset in webkit [193954] by
-
- 3 edits in branches/safari-601.1.46-branch/Source/WebCore
Merge r193876. rdar://problem/23305376
- 4:34 AM Changeset in webkit [193953] by
-
- 16 edits in branches/safari-601.1.46-branch/Source
Merge r192712. rdar://problem/23814340
- 2:01 AM Changeset in webkit [193952] by
-
- 12 edits3 adds in branches/safari-601.1.46-branch
Merge r193859. rdar://problem/23814345
- 2:01 AM Changeset in webkit [193951] by
-
- 5 edits in branches/safari-601.1.46-branch
Merge r193922. rdar://problem/23716993
- 1:34 AM Changeset in webkit [193950] by
-
- 2 edits in branches/safari-601.1.46-branch/Source/WebCore
Merge r193760. rdar://problem/23727535
Dec 10, 2015:
- 11:59 PM Changeset in webkit [193949] by
-
- 6 edits in trunk
Modern IDB: storage/indexeddb/objectstore-count.html fails.
https://bugs.webkit.org/show_bug.cgi?id=152167
Reviewed by Alex Christensen.
Source/WebCore:
No new tests (At least one failing test now passes).
- Modules/indexeddb/IDBKeyRangeData.h:
(WebCore::IDBKeyRangeData::allKeys):
- Modules/indexeddb/client/IDBObjectStoreImpl.cpp:
(WebCore::IDBClient::IDBObjectStore::count): If the passed in IDBKeyRange* is nullptr, use IDBKeyRangeData::allKeys.
(WebCore::IDBClient::IDBObjectStore::doCount): Change an isNull check to a more correct !isValid() check.
LayoutTests:
- platform/mac-wk1/TestExpectations:
- storage/indexeddb/objectstore-count-expected.txt:
- 11:45 PM Changeset in webkit [193948] by
-
- 7 edits in trunk/Source
Binding and builtin generators should lowercase RTCXX as rtcXX and not rTCXX
https://bugs.webkit.org/show_bug.cgi?id=152121
Reviewed by Darin Adler.
Source/JavaScriptCore:
- Scripts/builtins/builtins_generator.py:
(WK_lcfirst): Added RTC special rule.
Source/WebCore:
No change in behavior.
- bindings/js/JSDOMWindowBase.cpp:
(WebCore::JSDOMWindowBase::finishCreation): Using rtcXX in lieu of rTCXX.
- bindings/js/WebCoreJSBuiltinInternals.h:
(WebCore::JSBuiltinInternalFunctions::JSBuiltinInternalFunctions): Ditto.
(WebCore::JSBuiltinInternalFunctions::rtcPeerConnectionInternals): Added.
(WebCore::JSBuiltinInternalFunctions::visit): Ditto.
(WebCore::JSBuiltinInternalFunctions::init): Ditto.
(WebCore::JSBuiltinInternalFunctions::rTCPeerConnectionInternals): Deleted.
- bindings/js/WebCoreJSBuiltins.h:
(WebCore::JSBuiltinFunctions::JSBuiltinFunctions): Using rtcXX in lieu of rTCXX.
(WebCore::JSBuiltinFunctions::rtcPeerConnectionBuiltins): Added.
(WebCore::JSBuiltinFunctions::rtcPeerConnectionInternalsBuiltins): Added.
(WebCore::JSBuiltinFunctions::rTCPeerConnectionBuiltins): Deleted.
(WebCore::JSBuiltinFunctions::rTCPeerConnectionInternalsBuiltins): Deleted.
- bindings/scripts/CodeGenerator.pm:
(WK_lcfirst): Added RTC special rule.
- 11:31 PM Changeset in webkit [193947] by
-
- 3 edits2 adds in trunk
ASSERTION FAILED: !simpleLineLayout() in WebCore::RenderText::collectSelectionRectsForLineBoxes
https://bugs.webkit.org/show_bug.cgi?id=152115
Reviewed by Simon Fraser.
document.execCommand("indent") generates a blockquote wrapper and moves the indented content inside.
If the indented content is already inside a selection, we need to make sure that newly created flow uses
normal line layout.
This patch fixes the generic case as re-parenting an already selected renderer is not specific to document.execCommand("indent").
Source/WebCore:
Test: fast/block/selection-inside-simple-line-layout.html
- rendering/SimpleLineLayout.cpp:
(WebCore::SimpleLineLayout::canUseForWithReason):
(WebCore::SimpleLineLayout::printReason):
LayoutTests:
- fast/block/selection-inside-simple-line-layout-expected.txt: Added.
- fast/block/selection-inside-simple-line-layout.html: Added.
- 9:26 PM Changeset in webkit [193946] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: debugger dashboard's switching arrows are positioned too close to the dashboard border
https://bugs.webkit.org/show_bug.cgi?id=151867
Reviewed by Timothy Hatcher.
- UserInterface/Views/DashboardContainerView.css:
(.dashboard-container .advance-arrow):
- 8:26 PM Changeset in webkit [193945] by
-
- 2 edits in trunk/LayoutTests
Unreviewed TestExpectations gardening.
- platform/mac-wk1/TestExpectations: Move 3 failing IDB tests to the "Skipped because of Workers" section.
- 8:06 PM Changeset in webkit [193944] by
-
- 40 edits6 adds3 deletes in trunk
[MediaStream] Expose media capture devices persistent permissions to WebCore
https://bugs.webkit.org/show_bug.cgi?id=152087
Source/WebCore:
Reviewed by Chris Dumez.
No new tests, an existing test was updated to test the change.
- CMakeLists.txt: Add UserMediaPermissionCheck.cpp.
- Modules/mediastream/MediaDevicesRequest.cpp:
(WebCore::MediaDevicesRequest::~MediaDevicesRequest): Clear the permission checker client.
(WebCore::MediaDevicesRequest::contextDestroyed): Ditto.
(WebCore::MediaDevicesRequest::start): Create a permission checker and start it running.
(WebCore::MediaDevicesRequest::didCompleteCheck): Start the media source checker.
(WebCore::MediaDevicesRequest::didCompleteRequest): Only include a track's label if the
page has permission to use a capture device.
- Modules/mediastream/MediaDevicesRequest.h:
- Modules/mediastream/UserMediaClient.h: Include prototypes for permission checker.
(WebCore::UserMediaClient::~UserMediaClient):
- Modules/mediastream/MediaStreamTrackSourcesRequest.cpp: Removed, not longer used.
- Modules/mediastream/MediaStreamTrackSourcesRequest.h:
- Modules/mediastream/UserMediaController.h:
(WebCore::UserMediaController::checkUserMediaPermission): New.
(WebCore::UserMediaController::cancelUserMediaPermissionCheck): Ditto.
- Modules/mediastream/UserMediaPermissionCheck.cpp: Added.
(WebCore::UserMediaPermissionCheck::create):
(WebCore::UserMediaPermissionCheck::UserMediaPermissionCheck):
(WebCore::UserMediaPermissionCheck::~UserMediaPermissionCheck):
(WebCore::UserMediaPermissionCheck::securityOrigin):
(WebCore::UserMediaPermissionCheck::contextDestroyed):
(WebCore::UserMediaPermissionCheck::start):
(WebCore::UserMediaPermissionCheck::setDeviceAccessMode):
- Modules/mediastream/UserMediaPermissionCheck.h: Added.
(WebCore::UserMediaPermissionCheckClient::~UserMediaPermissionCheckClient):
(WebCore::UserMediaPermissionCheck::setClient):
- WebCore.xcodeproj/project.pbxproj: Add UserMediaPermissionCheck.cpp|.h
- platform/mock/UserMediaClientMock.h: Removed, it is no longer used.
- testing/Internals.cpp: Remove UserMediaClientMock.h include, it is gone.
Source/WebKit/mac:
Reviewed by Chris Dumez.
Add methods and helpers for WK1 permission checker interface.
- WebCoreSupport/WebUserMediaClient.h:
- WebCoreSupport/WebUserMediaClient.mm:
(userMediaRequestsMap):
(AddRequestToRequestMap):
(RemoveRequestFromRequestMap):
(userMediaCheckMap):
(AddPermissionCheckToMap):
(RemovePermissionCheckFromMap):
(WebUserMediaClient::WebUserMediaClient):
(WebUserMediaClient::requestUserMediaAccess):
(WebUserMediaClient::cancelUserMediaAccessRequest):
(WebUserMediaClient::checkUserMediaPermission):
(WebUserMediaClient::cancelUserMediaPermissionCheck):
(-[WebUserMediaPolicyListener allow]):
(-[WebUserMediaPolicyListener deny]):
(-[WebUserMediaPolicyCheckerListener initWithUserMediaPermissionCheck:]):
(-[WebUserMediaPolicyCheckerListener cancelUserMediaPermissionCheck]):
(-[WebUserMediaPolicyCheckerListener allow]):
(-[WebUserMediaPolicyCheckerListener deny]):
(-[WebUserMediaPolicyCheckerListener denyOnlyThisRequest]):
(-[WebUserMediaPolicyCheckerListener shouldClearCache]):
(AddRequestToMap): Deleted.
(RemoveRequestFromMap): Deleted.
- WebView/WebUIDelegatePrivate.h:
Source/WebKit2:
Reviewed by Chris Dumez.
- CMakeLists.txt: Add UserMediaPermissionCheckProxy.cpp and WKUserMediaPermissionCheck.cpp.
- Shared/API/APIObject.h: Define UserMediaPermissionCheck.
- Shared/API/c/WKBase.h: Add WKUserMediaPermissionCheckRef typedef.
- UIProcess/API/APIUIClient.h:
(API::UIClient::checkUserMediaPermissionForOrigin): New.
- UIProcess/API/C/WKAPICast.h: Add WKUserMediaPermissionCheckRef/UserMediaPermissionCheckProxy mapping.
- UIProcess/API/C/WKPage.cpp:
(WKPageSetPageUIClient): Implement checkUserMediaPermissionForOrigin.
- UIProcess/API/C/WKPageUIClient.h: Add WKCheckUserMediaPermissionCallback typedef and add checkUserMediaPermissionForOrigin to WKPageUIClientV6.
- UIProcess/API/C/WKUserMediaPermissionCheck.cpp: Added.
(WKUserMediaPermissionCheckGetTypeID):
(WKUserMediaPermissionCheckSetHasPermission):
- UIProcess/API/C/WKUserMediaPermissionCheck.h: Added.
- UIProcess/UserMediaPermissionCheckProxy.cpp: Added.
(WebKit::UserMediaPermissionCheckProxy::UserMediaPermissionCheckProxy):
(WebKit::UserMediaPermissionCheckProxy::setHasPermission):
(WebKit::UserMediaPermissionCheckProxy::invalidate):
- UIProcess/UserMediaPermissionCheckProxy.h: Added.
(WebKit::UserMediaPermissionCheckProxy::create):
- UIProcess/UserMediaPermissionRequestManagerProxy.cpp:
(WebKit::UserMediaPermissionRequestManagerProxy::invalidateRequests):
(WebKit::UserMediaPermissionRequestManagerProxy::createRequest):
(WebKit::UserMediaPermissionRequestManagerProxy::didReceiveUserMediaPermissionDecision):
(WebKit::UserMediaPermissionRequestManagerProxy::createUserMediaPermissionCheck):
(WebKit::UserMediaPermissionRequestManagerProxy::didCompleteUserMediaPermissionCheck):
- UIProcess/UserMediaPermissionRequestManagerProxy.h:
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::requestUserMediaPermissionForFrame):
(WebKit::WebPageProxy::checkUserMediaPermissionForFrame):
(WebKit::WebPageProxy::requestNotificationPermission):
- UIProcess/WebPageProxy.h:
- UIProcess/WebPageProxy.messages.in:
- WebKit2.xcodeproj/project.pbxproj: Add UserMediaPermissionCheckProxy.*, and WKUserMediaPermissionCheck.*.
- WebProcess/MediaStream/UserMediaPermissionRequestManager.cpp:
(WebKit::UserMediaPermissionRequestManager::startUserMediaRequest): Renamed from startRequest.
(WebKit::UserMediaPermissionRequestManager::cancelUserMediaRequest): Renamed from cancelRequest.
(WebKit::UserMediaPermissionRequestManager::didReceiveUserMediaPermissionDecision): m_requestToIDMap ->
m_userMediaRequestToIDMap.remove.
(WebKit::UserMediaPermissionRequestManager::startUserMediaPermissionCheck): New, start the request.
(WebKit::UserMediaPermissionRequestManager::cancelUserMediaPermissionCheck): New, cancel
the request.
(WebKit::UserMediaPermissionRequestManager::didCompleteUserMediaPermissionCheck): New,
all the request completion method.
(WebKit::UserMediaPermissionRequestManager::startRequest): Deleted.
(WebKit::UserMediaPermissionRequestManager::cancelRequest): Deleted.
- WebProcess/MediaStream/UserMediaPermissionRequestManager.h:
- WebProcess/WebCoreSupport/WebUserMediaClient.cpp:
(WebKit::WebUserMediaClient::requestUserMediaAccess): startRequest -> startUserMediaRequest.
(WebKit::WebUserMediaClient::cancelUserMediaAccessRequest): cancelRequest -> cancelUserMediaRequest.
(WebKit::WebUserMediaClient::checkUserMediaPermission): New.
(WebKit::WebUserMediaClient::cancelUserMediaPermissionCheck): New.
- WebProcess/WebCoreSupport/WebUserMediaClient.h:
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::didCompleteUserMediaPermissionCheck): New.
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in: Add DidCompleteUserMediaPermissionCheck.
Tools:
Add support for the new user media permission checker page UI client method.
Reviewed by Chris Dumez.
- WebKitTestRunner/TestController.cpp:
(WTR::decidePolicyForUserMediaPermissionRequest):
(WTR::checkUserMediaPermissionForOrigin):
(WTR::TestController::createOtherPage): Add checkUserMediaPermissionForOrigin.
(WTR::TestController::createWebViewWithOptions): Ditto.
(WTR::TestController::resetStateToConsistentValues): Clear m_userMediaOriginPermissions.
(WTR::originUserVisibleName): New, create a string for the origin.
(WTR::TestController::handleCheckOfUserMediaPermissionForOrigin): Set the WKUserMediaPermissionCheckRef
according to the state of the origin permission map.
(WTR::TestController::handleUserMediaPermissionRequest): Remember both the origin and the
request so we can update the origin permission map in decidePolicyForUserMediaPermissionRequestIfPossible.
(WTR::TestController::decidePolicyForUserMediaPermissionRequestIfPossible): Update the
origin permission map.
- WebKitTestRunner/TestController.h:
LayoutTests:
Reviewed by Chris Dumez.
- fast/mediastream/MediaDevices-enumerateDevices-expected.txt:
- fast/mediastream/MediaDevices-enumerateDevices.html:
- 8:03 PM Changeset in webkit [193943] by
-
- 11 edits in trunk/Source/JavaScriptCore
FTL B3 should be able to run quicksort asm.js test
https://bugs.webkit.org/show_bug.cgi?id=152105
Reviewed by Geoffrey Garen.
This covers making all of the changes needed to run quicksort.js from AsmBench.
- Reintroduced float types to FTLLower since we now have B3::Float.
- Gave FTL::Output the ability to speak of load types and store types separately from LValue types. This dodges the problem that B3 doesn't have types for Int8 and Int16 but supports loads and stores of that type.
- Implemented Mod in B3 and wrote tests.
I also fixed a pre-existing bug in a test that appeared to only manifest in release builds.
Currently, B3's performance on asm.js tests is not good. It should be easy to fix:
- B3 should strength-reduce the shifting madness that happens in asm.js memory accesses https://bugs.webkit.org/show_bug.cgi?id=152106
- B3 constant hoisting should have a story for the asm.js heap constant https://bugs.webkit.org/show_bug.cgi?id=152107
- b3/B3CCallValue.h:
- b3/B3Const32Value.cpp:
(JSC::B3::Const32Value::divConstant):
(JSC::B3::Const32Value::modConstant):
(JSC::B3::Const32Value::bitAndConstant):
- b3/B3Const32Value.h:
- b3/B3Const64Value.cpp:
(JSC::B3::Const64Value::divConstant):
(JSC::B3::Const64Value::modConstant):
(JSC::B3::Const64Value::bitAndConstant):
- b3/B3Const64Value.h:
- b3/B3ReduceStrength.cpp:
- b3/B3Validate.cpp:
- b3/B3Value.cpp:
(JSC::B3::Value::divConstant):
(JSC::B3::Value::modConstant):
(JSC::B3::Value::bitAndConstant):
- b3/B3Value.h:
- b3/testb3.cpp:
(JSC::B3::testChillDiv64):
(JSC::B3::testMod):
(JSC::B3::testSwitch):
(JSC::B3::run):
- ftl/FTLB3Output.cpp:
(JSC::FTL::Output::load16ZeroExt32):
(JSC::FTL::Output::store):
(JSC::FTL::Output::store32As8):
(JSC::FTL::Output::store32As16):
(JSC::FTL::Output::loadFloatToDouble): Deleted.
- ftl/FTLB3Output.h:
(JSC::FTL::Output::mul):
(JSC::FTL::Output::div):
(JSC::FTL::Output::chillDiv):
(JSC::FTL::Output::rem):
(JSC::FTL::Output::neg):
(JSC::FTL::Output::load32):
(JSC::FTL::Output::load64):
(JSC::FTL::Output::loadPtr):
(JSC::FTL::Output::loadFloat):
(JSC::FTL::Output::loadDouble):
(JSC::FTL::Output::store32):
(JSC::FTL::Output::store64):
(JSC::FTL::Output::storePtr):
(JSC::FTL::Output::storeFloat):
(JSC::FTL::Output::storeDouble):
(JSC::FTL::Output::addPtr):
(JSC::FTL::Output::extractValue):
(JSC::FTL::Output::call):
(JSC::FTL::Output::operation):
- ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::DFG::LowerDFGToLLVM::compileGetByVal):
(JSC::FTL::DFG::LowerDFGToLLVM::compilePutByVal):
(JSC::FTL::DFG::LowerDFGToLLVM::compileArrayPush):
(JSC::FTL::DFG::LowerDFGToLLVM::compileArrayPop):
- ftl/FTLOutput.cpp:
(JSC::FTL::Output::Output):
(JSC::FTL::Output::store):
(JSC::FTL::Output::check):
(JSC::FTL::Output::load):
- ftl/FTLOutput.h:
(JSC::FTL::Output::load32):
(JSC::FTL::Output::load64):
(JSC::FTL::Output::loadPtr):
(JSC::FTL::Output::loadFloat):
(JSC::FTL::Output::loadDouble):
(JSC::FTL::Output::store32As8):
(JSC::FTL::Output::store32As16):
(JSC::FTL::Output::store32):
(JSC::FTL::Output::store64):
(JSC::FTL::Output::storePtr):
(JSC::FTL::Output::storeFloat):
(JSC::FTL::Output::storeDouble):
(JSC::FTL::Output::addPtr):
(JSC::FTL::Output::loadFloatToDouble): Deleted.
(JSC::FTL::Output::store16): Deleted.
- 7:51 PM Changeset in webkit [193942] by
-
- 2 edits in trunk/Source/WebCore
Build fix
Unreviewed.
- platform/graphics/cocoa/FontCocoa.mm:
(WebCore::smallCapsTrueTypeDictionary):
- 7:41 PM Changeset in webkit [193941] by
-
- 2 edits in trunk/Source/JavaScriptCore
Consider still matching an address expression even if B3 has already assigned a Tmp to it
https://bugs.webkit.org/show_bug.cgi?id=150777
Reviewed by Geoffrey Garen.
We need some heuristic for when an address should be computed as a separate instruction. It's
usually profitable to sink the address into the memory access. The previous heuristic meant that
the address would get separate instructions if it was in a separate block from the memory access.
This was messing up codegen of things like PutByVal out-of-bounds, where the address is computed
in one block and then used in another. I don't think that which block owns the address
computation should factor into any heuristic here, since it's so fragile: the compiler may lower
something by splitting blocks and we don't want this to ruin performance.
So, this replaces that heuristic with a more sensible one: the address computation gets its own
instruction if it has a lot of uses. In practice this means that we always sink the address
computation into the memory access.
- b3/B3LowerToAir.cpp:
(JSC::B3::Air::LowerToAir::effectiveAddr):
- 6:24 PM Changeset in webkit [193940] by
-
- 2 edits in trunk/Source/WebCore
Mordernize viewport dumping
https://bugs.webkit.org/show_bug.cgi?id=152159
Reviewed by Zalan Bujtas.
Use groupings to simplify the viewport configuration dumping code.
- page/ViewportConfiguration.cpp:
(WebCore::operator<<):
(WebCore::ViewportConfiguration::description):
- 6:08 PM Changeset in webkit [193939] by
-
- 6 edits1 copy4 adds in trunk
[CSP] eval() is not blocked for stringified literals
https://bugs.webkit.org/show_bug.cgi?id=152158
<rdar://problem/15775625>
Reviewed by Saam Barati.
Source/JavaScriptCore:
Fixes an issue where stringified literals can be eval()ed despite being disallowed by
Content Security Policy of the page.
- interpreter/Interpreter.cpp:
(JSC::eval): Throw a JavaScript EvalError exception if eval() is disallowed for the page
and return undefined.
- runtime/JSGlobalObjectFunctions.cpp:
(JSC::globalFuncEval): Ditto.
LayoutTests:
Update test LayoutTests/http/tests/security/contentSecurityPolicy/eval-blocked.html to be
more comprehensive.
Add tests to ensure that we block eval() from within an external JavaScript script when the
policy of the page disallows eval() and that we block eval() inside a subframe that disallows
eval() when the page in the main frame allows eval().
- http/tests/security/contentSecurityPolicy/eval-blocked-expected.txt:
- http/tests/security/contentSecurityPolicy/eval-blocked-in-external-script-expected.txt: Added.
- http/tests/security/contentSecurityPolicy/eval-blocked-in-external-script.html: Added.
- http/tests/security/contentSecurityPolicy/eval-blocked-in-subframe-expected.txt: Copied from LayoutTests/http/tests/security/contentSecurityPolicy/eval-blocked-expected.txt.
- http/tests/security/contentSecurityPolicy/eval-blocked-in-subframe.html: Added.
- http/tests/security/contentSecurityPolicy/eval-blocked.html:
- http/tests/security/contentSecurityPolicy/resources/eval-blocked-in-external-script.js: Added.
- 6:06 PM Changeset in webkit [193938] by
-
- 2 edits in trunk/Source/JavaScriptCore
Fix jsc symlink creation on iOS
https://bugs.webkit.org/show_bug.cgi?id=152155
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-12-10
Reviewed by Dan Bernstein.
- JavaScriptCore.xcodeproj/project.pbxproj:
Switch from INSTALL_PATH_ACTUAL to just INSTALL_PATH.
Remove now unnecessary INSTALL_PATH_PREFIX use as well.
- 5:37 PM Changeset in webkit [193937] by
-
- 12 edits1 move in trunk/Source
Remote Inspector: Verify the identity of the other side of XPC connections
https://bugs.webkit.org/show_bug.cgi?id=152153
Reviewed by Brian Burg.
Source/JavaScriptCore:
- JavaScriptCore.xcodeproj/project.pbxproj:
Link with the Security framework.
- inspector/remote/RemoteInspectorXPCConnection.h:
- inspector/remote/RemoteInspectorXPCConnection.mm:
(auditTokenHasEntitlement):
(Inspector::RemoteInspectorXPCConnection::handleEvent):
(Inspector::RemoteInspectorXPCConnection::RemoteInspectorXPCConnection): Deleted.
When receiving the first message, verify the XPC connection
is connected to who we thought we were connected to and
Bail if it isn't.
Source/WebCore:
- WebCore.xcodeproj/project.pbxproj:
- platform/network/mac/CertificateInfoMac.mm:
Use the new header.
Source/WebKit2:
- Shared/mac/SandboxUtilities.mm:
- UIProcess/ApplicationStateTracker.mm:
Use new header.
Source/WTF:
- WTF.xcodeproj/project.pbxproj:
- wtf/spi/cocoa/SecuritySPI.h: Renamed from Source/WebCore/platform/spi/cocoa/SecuritySPI.h.
Push this down into WTF from WebCore and add a new method.
- 5:35 PM Changeset in webkit [193936] by
-
- 19 edits in trunk
Modern IDB: storage/indexeddb/delete-in-upgradeneeded-close-in-versionchange.html fails
https://bugs.webkit.org/show_bug.cgi?id=152144
Reviewed by Alex Christensen.
Source/WebCore:
No new tests (At least two failing tests now pass, and other incorrect tests updated to be more correct).
- An IDBOpenDBRequest resulting in a versionchange transaction should not have the onsuccess event fire if the database connection was closed during the versionchange transaction. onerror should fire instead.
- When firing an event at an IDBRequest, it should not have the transaction as an additional target if the transaction has finished.
- When firing an event at an IDBRequest, it should not have the database as an additional target if the database is closed or is closing.
- Modules/indexeddb/client/IDBDatabaseImpl.h:
(WebCore::IDBClient::IDBDatabase::isClosingOrClosed):
- Modules/indexeddb/client/IDBOpenDBRequestImpl.cpp:
(WebCore::IDBClient::IDBOpenDBRequest::fireErrorAfterVersionChangeCompletion):
(WebCore::IDBClient::IDBOpenDBRequest::fireErrorAfterVersionChangeAbort): Deleted.
- Modules/indexeddb/client/IDBOpenDBRequestImpl.h:
- Modules/indexeddb/client/IDBRequestImpl.cpp:
(WebCore::IDBClient::IDBRequest::dispatchEvent): Don't add finished transactions or closed databases as event targets.
- Modules/indexeddb/client/IDBTransactionImpl.cpp:
(WebCore::IDBClient::IDBTransaction::notifyDidAbort):
(WebCore::IDBClient::IDBTransaction::dispatchEvent): If this was a versionchange transaction completing, possibly fire
the error event on the OpenDBRequest instead of the success event.
- Modules/indexeddb/client/IDBTransactionImpl.h:
(WebCore::IDBClient::IDBTransaction::isFinished):
LayoutTests:
- platform/mac-wk1/TestExpectations:
- storage/indexeddb/modern/abort-requests-cancelled-expected.txt:
- storage/indexeddb/modern/aborted-put-expected.txt:
- storage/indexeddb/modern/createobjectstore-basic-expected.txt:
- storage/indexeddb/modern/deletedatabase-2-expected.txt:
- storage/indexeddb/modern/deletedatabase-2.html:
- storage/indexeddb/modern/deleteindex-2-expected.txt:
- storage/indexeddb/modern/deleteobjectstore-1-expected.txt:
- storage/indexeddb/modern/opendatabase-versions-expected.txt:
- storage/indexeddb/modern/opendatabase-versions.html:
- storage/indexeddb/modern/versionchange-abort-then-reopen-expected.txt:
- 5:21 PM Changeset in webkit [193935] by
-
- 2 edits in trunk
[Win] Support building under Cygwin or native Perl
https://bugs.webkit.org/show_bug.cgi?id=152145
<rdar://problem/23839868>
Reviewed by David Kilzer.
- Source/cmake/tools/scripts/auto-version.pl: Correct handling of mixed DOS filenames when used in a
Cygwin context.
- 5:19 PM Changeset in webkit [193934] by
-
- 3 edits in trunk/Source/WebCore
Simple line layout: Use TextPainter to draw simple line text.
https://bugs.webkit.org/show_bug.cgi?id=152150
Reviewed by Simon Fraser.
No change in functionality.
- rendering/SimpleLineLayoutFunctions.cpp:
(WebCore::SimpleLineLayout::paintFlow):
- rendering/TextPainter.h:
- 4:31 PM Changeset in webkit [193933] by
-
- 21 edits in trunk/Source/JavaScriptCore
[JSC] Add a Modulo operator to B3, and a chill variant
https://bugs.webkit.org/show_bug.cgi?id=152110
Patch by Benjamin Poulain <bpoulain@apple.com> on 2015-12-10
Reviewed by Geoffrey Garen.
It is basically refactoring the Div and ChillDiv
code to be used by both opcodes.
- b3/B3Common.h:
(JSC::B3::chillDiv):
(JSC::B3::chillMod):
- b3/B3Const32Value.cpp:
(JSC::B3::Const32Value::modConstant):
- b3/B3Const32Value.h:
- b3/B3Const64Value.cpp:
(JSC::B3::Const64Value::modConstant):
- b3/B3Const64Value.h:
- b3/B3ConstDoubleValue.cpp:
(JSC::B3::ConstDoubleValue::modConstant):
- b3/B3ConstDoubleValue.h:
- b3/B3LowerMacros.cpp:
- b3/B3LowerToAir.cpp:
(JSC::B3::Air::LowerToAir::lower):
(JSC::B3::Air::LowerToAir::lowerX86Div):
- b3/B3Opcode.cpp:
(WTF::printInternal):
- b3/B3Opcode.h:
- b3/B3ReduceStrength.cpp:
- b3/B3Validate.cpp:
- b3/B3Value.cpp:
(JSC::B3::Value::modConstant):
(JSC::B3::Value::effects):
(JSC::B3::Value::key):
(JSC::B3::Value::typeFor):
- b3/B3Value.h:
- b3/testb3.cpp:
(JSC::B3::testModArgDouble):
(JSC::B3::testModArgsDouble):
(JSC::B3::testModArgImmDouble):
(JSC::B3::testModImmArgDouble):
(JSC::B3::testModImmsDouble):
(JSC::B3::testModArgFloat):
(JSC::B3::testModArgsFloat):
(JSC::B3::testModArgImmFloat):
(JSC::B3::testModImmArgFloat):
(JSC::B3::testModImmsFloat):
(JSC::B3::testModArg):
(JSC::B3::testModArgs):
(JSC::B3::testModImms):
(JSC::B3::testModArg32):
(JSC::B3::testModArgs32):
(JSC::B3::testModImms32):
(JSC::B3::testChillModArg):
(JSC::B3::testChillModArgs):
(JSC::B3::testChillModImms):
(JSC::B3::testChillModArg32):
(JSC::B3::testChillModArgs32):
(JSC::B3::testChillModImms32):
(JSC::B3::run):
- ftl/FTLB3Output.h:
(JSC::FTL::Output::mod):
(JSC::FTL::Output::chillMod):
(JSC::FTL::Output::doubleMod):
(JSC::FTL::Output::rem): Deleted.
(JSC::FTL::Output::doubleRem): Deleted.
- ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::DFG::LowerDFGToLLVM::compileArithMod):
- ftl/FTLOutput.cpp:
(JSC::FTL::Output::chillMod):
- ftl/FTLOutput.h:
(JSC::FTL::Output::mod):
(JSC::FTL::Output::doubleMod):
(JSC::FTL::Output::rem): Deleted.
(JSC::FTL::Output::doubleRem): Deleted.
- 4:05 PM Changeset in webkit [193932] by
-
- 2 edits in trunk/Source/WebCore
[Font Features] r193894 introduces leaks
https://bugs.webkit.org/show_bug.cgi?id=152154
Reviewed by Joe Pecoraro.
- platform/graphics/cocoa/FontCocoa.mm:
(WebCore::smallCapsTrueTypeDictionary):
(WebCore::createCTFontWithoutSynthesizableFeatures):
- 4:00 PM Changeset in webkit [193931] by
-
- 1 edit1 add in trunk/LayoutTests
Rebaselining fast/text/emoji.html for Yosemite.
https://bugs.webkit.org/show_bug.cgi?id=152147
Unreviewed test gardening.
- platform/mac-yosemite/fast/text/emoji-expected.txt: Added.
- 3:39 PM Changeset in webkit [193930] by
-
- 4 edits in trunk
Build fix
Unreviewed.
Source/WebCore:
- platform/graphics/cocoa/FontCocoa.mm:
(WebCore::Font::variantCapsSupportsCharacterForSynthesis):
LayoutTests:
- platform/mac/TestExpectations:
- 3:30 PM Changeset in webkit [193929] by
-
- 5 edits in trunk/Source/WebCore
TextPainter: Add support for painting multiple text runs.
https://bugs.webkit.org/show_bug.cgi?id=152148
Reviewed by Simon Fraser.
This is in preparation for adding simple line layout as a client.
No change in functionality.
- rendering/InlineTextBox.cpp:
(WebCore::drawSkipInkUnderline): Decouple underline skipping intersection calculation and text painter.
(WebCore::InlineTextBox::paint):
(WebCore::InlineTextBox::paintDecoration):
- rendering/InlineTextBox.h:
- rendering/TextPainter.cpp:
(WebCore::TextPainter::TextPainter):
(WebCore::TextPainter::paintTextWithShadows):
(WebCore::TextPainter::paintTextAndEmphasisMarksIfNeeded):
(WebCore::TextPainter::paintText):
(WebCore::TextPainter::dashesForIntersectionsWithRect): Deleted.
- rendering/TextPainter.h:
(WebCore::TextPainter::setTextPaintStyle):
(WebCore::TextPainter::setSelectionPaintStyle):
(WebCore::TextPainter::setIsHorizontal):
(WebCore::TextPainter::setFont):
(WebCore::TextPainter::addEmphasis):
(WebCore::TextPainter::addTextShadow):
- 3:02 PM Changeset in webkit [193928] by
-
- 5 edits in tags/Safari-602.1.13.3/Source
Versioning.
- 2:59 PM Changeset in webkit [193927] by
-
- 1 copy in tags/Safari-602.1.13.3
New tag.
- 2:38 PM Changeset in webkit [193926] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: debugger popover should have source location link when showing function source
https://bugs.webkit.org/show_bug.cgi?id=151866
Reviewed by Brian Burg.
Added source code location link to function popover header.
- UserInterface/Views/SourceCodeTextEditor.js:
(WebInspector.SourceCodeTextEditor.prototype._showPopoverForFunction.didGetDetails):
Create source code location link from response payload.
(WebInspector.SourceCodeTextEditor.prototype._showPopoverForFunction):
- 1:42 PM Changeset in webkit [193925] by
-
- 1 edit1 add in trunk/LayoutTests
Adding iOS-simulator expectations for compositing/layers-inside-overflow-scroll.html
https://bugs.webkit.org/show_bug.cgi?id=152132
Unreviewed test gardening.
- platform/ios-simulator/compositing/layers-inside-overflow-scroll-expected.txt: Added.
- 1:26 PM Changeset in webkit [193924] by
-
- 12 edits1 copy2 adds in trunk
REGRESSION (r192796) WKBundlePageResourceLoadClient should be able to setHTTPBody in willSendRequestForFrame
https://bugs.webkit.org/show_bug.cgi?id=152022
rdar://problem/23763584
Reviewed by Darin Adler.
Source/WebKit2:
- Shared/API/c/WKURLRequest.cpp:
(WKURLRequestCopyHTTPMethod):
(WKURLRequestCopyWithHTTPBody):
(WKURLRequestSetDefaultTimeoutInterval):
- Shared/API/c/WKURLRequest.h:
Make WKURLRequestCopyWithHTTPBody SPI for testing.
- Shared/API/c/mac/WKURLRequestNS.mm:
(WKURLRequestCreateWithNSURLRequest):
Crash if someone tries to use an NSURLRequest with HTTPBodyStream, which will not work with the network process.
- WebProcess/InjectedBundle/InjectedBundlePageResourceLoadClient.cpp:
(WebKit::InjectedBundlePageResourceLoadClient::willSendRequestForFrame):
Use an HTTP body if the client's willSendRequestForFrame returned one.
This is the functional change of this patch.
Tools:
- WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
- WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
(WTR::InjectedBundlePage::willSendRequestForFrame):
- WebKitTestRunner/InjectedBundle/TestRunner.h:
(WTR::TestRunner::setWillSendRequestReturnsNull):
(WTR::TestRunner::willSendRequestReturnsNullOnRedirect):
(WTR::TestRunner::setWillSendRequestReturnsNullOnRedirect):
(WTR::TestRunner::setWillSendRequestAddsHTTPBody):
(WTR::TestRunner::willSendRequestHTTPBody):
Added setWillSendRequestAddsHTTPBody that uses new SPI for testing.
LayoutTests:
- TestExpectations:
- http/tests/misc/resources/post-echo.cgi: Copied from LayoutTests/http/tests/xmlhttprequest/resources/post-echo.cgi.
- http/tests/misc/will-send-request-with-client-provided-http-body-expected.txt: Added.
- http/tests/misc/will-send-request-with-client-provided-http-body.html: Added.
- platform/wk2/TestExpectations:
New test for WK2 only.
- 12:44 PM Changeset in webkit [193923] by
-
- 3 edits in trunk/Tools
Remove additional simulator checks before running layout-tests
https://bugs.webkit.org/show_bug.cgi?id=152146
Patch by Aakash Jain <aakash_jain@apple.com> on 2015-12-10
Reviewed by Darin Adler.
- Scripts/webkitpy/port/ios.py:
(IOSSimulatorPort.check_sys_deps): Removed additional simulators verifications.
- Scripts/webkitpy/xcode/simulator.py:
(Simulator._boot_and_shutdown_simulator_device): Deleted.
(Simulator.check_simulator_device_and_erase_if_needed): Deleted.
- 12:22 PM Changeset in webkit [193922] by
-
- 5 edits in trunk
Change skin tone support for two emoji.
https://bugs.webkit.org/show_bug.cgi?id=152147
rdar://problem/23716993
rdar://problem/23716344
Reviewed by Darin Adler.
Source/WebCore:
Horse race emoji (1F3C7) should no longer have skin tone variation.
Sleuth/Spy emoji (!F575) should instead have skin tone variation.
- platform/text/TextBreakIterator.cpp:
(WebCore::cursorMovementIterator):
LayoutTests:
- fast/text/emoji.html:
- platform/mac/fast/text/emoji-expected.txt:
- 11:19 AM Changeset in webkit [193921] by
-
- 2 edits in branches/safari-601.1.46-branch/Source/WebCore
Merge r190911. rdar://problem/23432368
- 11:19 AM Changeset in webkit [193920] by
-
- 3 edits in branches/safari-601.1.46-branch/LayoutTests
Merge r193641. rdar://problem/23814343
- 11:18 AM Changeset in webkit [193919] by
-
- 8 edits in branches/safari-601.1.46-branch/Source/WebKit2
Merge r193481. rdar://problem/23110745
- 11:18 AM Changeset in webkit [193918] by
-
- 8 edits in branches/safari-601.1.46-branch/Source
Merge r193382. rdar://problem/23814344
- 11:18 AM Changeset in webkit [193917] by
-
- 13 edits6 adds4 deletes in branches/safari-601.1.46-branch
Merge r193286. rdar://problem/23814343
- 11:18 AM Changeset in webkit [193916] by
-
- 5 edits3 adds in branches/safari-601.1.46-branch
Merge r192772. rdar://problem/23797213
- 11:18 AM Changeset in webkit [193915] by
-
- 4 edits in branches/safari-601.1.46-branch/Source/WebCore
Merge r192758. rdar://problem/23814314
- 10:54 AM Changeset in webkit [193914] by
-
- 2 edits in trunk/LayoutTests
Skip unsupported css3/font-variant-* tests on Win
https://bugs.webkit.org/show_bug.cgi?id=149774
Unreviewed test gardening.
- platform/win/TestExpectations:
- 10:14 AM Changeset in webkit [193913] by
-
- 14 edits in trunk/Source/WebInspectorUI
Web Inspector: [Meta] Unify z-index values in Inspector's CSS
https://bugs.webkit.org/show_bug.cgi?id=151978
Introduce CSS variables for z-index due to recurring issues with incorrectly overlapping elements.
From now on, all z-index values >= 64 must be defined as variables.
Values below 64 must not.
Reviewed by Timothy Hatcher.
- UserInterface/Views/Variables.css:
(:root):
Introduce z-index variables.
- UserInterface/Debug/UncaughtExceptionReporter.css:
(.sheet-container):
- UserInterface/Views/BoxModelDetailsSectionRow.css:
(.details-section .row.box-model .editing):
- UserInterface/Views/CompletionSuggestionsView.css:
(.completion-suggestions):
- UserInterface/Views/DashboardContainerView.css:
(.dashboard-container .advance-arrow):
- UserInterface/Views/DataGrid.css:
(.data-grid .resizer):
- UserInterface/Views/DetailsSection.css:
(.details-section > .header):
(.details-section .details-section > .header):
- UserInterface/Views/FindBanner.css:
(.find-banner):
(.find-banner > button.segmented:active):
- UserInterface/Views/Main.css:
(#docked-resizer):
(.message-text-view):
(.bouncy-highlight):
- UserInterface/Views/Popover.css:
(.popover):
- UserInterface/Views/Resizer.css:
(.resizer):
(.glass-pane-for-drag):
- UserInterface/Views/TimelineOverview.css:
(.timeline-overview > .scroll-container):
- UserInterface/Views/VisualStyleSelectorSection.css:
(.details-section.visual-style-selector-section > .content > .selectors > .selector-list > .section-divider):
- 10:03 AM Changeset in webkit [193912] by
-
- 3 edits in trunk/Source/WebCore
Unreviewed, rolling out r193500.
https://bugs.webkit.org/show_bug.cgi?id=152143
do not want to have to disable canvas-to-large-to-draw test
(Requested by bfulgham on #webkit).
Reverted changeset:
"Place an upper bound on canvas pixel count"
https://bugs.webkit.org/show_bug.cgi?id=151825
http://trac.webkit.org/changeset/193500
- 9:41 AM Changeset in webkit [193911] by
-
- 88 edits in trunk/LayoutTests
[iOS][WK2] Update expected results for editing tests
- platform/ios-simulator-wk2/editing/deleting/delete-3608462-fix-expected.txt:
- platform/ios-simulator-wk2/editing/inserting/4278698-expected.txt:
- platform/ios-simulator-wk2/editing/inserting/before-after-input-element-expected.txt:
- platform/ios-simulator-wk2/editing/inserting/editable-html-element-expected.txt:
- platform/ios-simulator-wk2/editing/inserting/editing-empty-divs-expected.txt:
- platform/ios-simulator-wk2/editing/inserting/insert-3778059-fix-expected.txt:
- platform/ios-simulator-wk2/editing/inserting/insert-3851164-fix-expected.txt:
- platform/ios-simulator-wk2/editing/inserting/insert-at-end-01-expected.txt:
- platform/ios-simulator-wk2/editing/inserting/insert-br-009-expected.txt:
- platform/ios-simulator-wk2/editing/inserting/insert-br-at-tabspan-001-expected.txt:
- platform/ios-simulator-wk2/editing/inserting/insert-br-at-tabspan-002-expected.txt:
- platform/ios-simulator-wk2/editing/inserting/insert-br-at-tabspan-003-expected.txt:
- platform/ios-simulator-wk2/editing/inserting/insert-br-quoted-001-expected.txt:
- platform/ios-simulator-wk2/editing/inserting/insert-br-quoted-002-expected.txt:
- platform/ios-simulator-wk2/editing/inserting/insert-br-quoted-003-expected.txt:
- platform/ios-simulator-wk2/editing/inserting/insert-br-quoted-004-expected.txt:
- platform/ios-simulator-wk2/editing/inserting/insert-br-quoted-005-expected.txt:
- platform/ios-simulator-wk2/editing/inserting/insert-br-quoted-006-expected.txt:
- platform/ios-simulator-wk2/editing/inserting/insert-div-009-expected.txt:
- platform/ios-simulator-wk2/editing/inserting/insert-div-010-expected.txt:
- platform/ios-simulator-wk2/editing/inserting/insert-div-011-expected.txt:
- platform/ios-simulator-wk2/editing/inserting/insert-div-012-expected.txt:
- platform/ios-simulator-wk2/editing/inserting/insert-div-013-expected.txt:
- platform/ios-simulator-wk2/editing/inserting/insert-div-014-expected.txt:
- platform/ios-simulator-wk2/editing/inserting/insert-div-015-expected.txt:
- platform/ios-simulator-wk2/editing/inserting/insert-div-016-expected.txt:
- platform/ios-simulator-wk2/editing/inserting/insert-div-017-expected.txt:
- platform/ios-simulator-wk2/editing/inserting/insert-div-018-expected.txt:
- platform/ios-simulator-wk2/editing/inserting/insert-div-019-expected.txt:
- platform/ios-simulator-wk2/editing/inserting/insert-div-020-expected.txt:
- platform/ios-simulator-wk2/editing/inserting/insert-div-022-expected.txt:
- platform/ios-simulator-wk2/editing/inserting/insert-div-023-expected.txt:
- platform/ios-simulator-wk2/editing/inserting/insert-div-024-expected.txt:
- platform/ios-simulator-wk2/editing/inserting/insert-div-025-expected.txt:
- platform/ios-simulator-wk2/editing/inserting/insert-div-026-expected.txt:
- platform/ios-simulator-wk2/editing/inserting/insert-div-027-expected.txt:
- platform/ios-simulator-wk2/editing/inserting/insert-paragraph-01-expected.txt:
- platform/ios-simulator-wk2/editing/inserting/insert-paragraph-02-expected.txt:
- platform/ios-simulator-wk2/editing/inserting/insert-paragraph-03-expected.txt:
- platform/ios-simulator-wk2/editing/inserting/insert-paragraph-04-expected.txt:
- platform/ios-simulator-wk2/editing/inserting/insert-paragraph-05-expected.txt:
- platform/ios-simulator-wk2/editing/inserting/insert-tab-003-expected.txt:
- platform/ios-simulator-wk2/editing/inserting/insert-text-at-tabspan-001-expected.txt:
- platform/ios-simulator-wk2/editing/inserting/insert-text-at-tabspan-002-expected.txt:
- platform/ios-simulator-wk2/editing/inserting/insert-text-at-tabspan-003-expected.txt:
- platform/ios-simulator-wk2/editing/inserting/insert-text-with-newlines-expected.txt:
- platform/ios-simulator-wk2/editing/inserting/line-break-expected.txt:
- platform/ios-simulator-wk2/editing/inserting/multiple-lines-selected-expected.txt:
- platform/ios-simulator-wk2/editing/inserting/paragraph-separator-01-expected.txt:
- platform/ios-simulator-wk2/editing/inserting/paragraph-separator-02-expected.txt:
- platform/ios-simulator-wk2/editing/inserting/paragraph-separator-03-expected.txt:
- platform/ios-simulator-wk2/editing/inserting/paragraph-separator-in-table-1-expected.txt:
- platform/ios-simulator-wk2/editing/inserting/paragraph-separator-in-table-2-expected.txt:
- platform/ios-simulator-wk2/editing/inserting/redo-expected.txt:
- platform/ios-simulator-wk2/editing/inserting/return-key-with-selection-001-expected.txt:
- platform/ios-simulator-wk2/editing/inserting/return-key-with-selection-002-expected.txt:
- platform/ios-simulator-wk2/editing/inserting/return-key-with-selection-003-expected.txt:
- platform/ios-simulator-wk2/editing/inserting/typing-002-expected.txt:
- platform/ios-simulator-wk2/editing/style/apple-style-editable-mix-expected.txt:
- platform/ios-simulator-wk2/editing/style/block-style-001-expected.txt:
- platform/ios-simulator-wk2/editing/style/block-style-002-expected.txt:
- platform/ios-simulator-wk2/editing/style/block-style-003-expected.txt:
- platform/ios-simulator-wk2/editing/style/block-styles-007-expected.txt:
- platform/ios-simulator-wk2/editing/style/create-block-for-style-001-expected.txt:
- platform/ios-simulator-wk2/editing/style/create-block-for-style-002-expected.txt:
- platform/ios-simulator-wk2/editing/style/create-block-for-style-003-expected.txt:
- platform/ios-simulator-wk2/editing/style/create-block-for-style-004-expected.txt:
- platform/ios-simulator-wk2/editing/style/create-block-for-style-005-expected.txt:
- platform/ios-simulator-wk2/editing/style/create-block-for-style-006-expected.txt:
- platform/ios-simulator-wk2/editing/style/create-block-for-style-007-expected.txt:
- platform/ios-simulator-wk2/editing/style/create-block-for-style-008-expected.txt:
- platform/ios-simulator-wk2/editing/style/create-block-for-style-009-expected.txt:
- platform/ios-simulator-wk2/editing/style/create-block-for-style-010-expected.txt:
- platform/ios-simulator-wk2/editing/style/create-block-for-style-011-expected.txt:
- platform/ios-simulator-wk2/editing/style/create-block-for-style-012-expected.txt:
- platform/ios-simulator-wk2/editing/style/create-block-for-style-013-expected.txt:
- platform/ios-simulator-wk2/editing/style/designmode-expected.txt:
- platform/ios-simulator-wk2/editing/style/relative-font-size-change-001-expected.txt:
- platform/ios-simulator-wk2/editing/style/relative-font-size-change-002-expected.txt:
- platform/ios-simulator-wk2/editing/style/relative-font-size-change-003-expected.txt:
- platform/ios-simulator-wk2/editing/style/relative-font-size-change-004-expected.txt:
- platform/ios-simulator-wk2/editing/style/style-3681552-fix-002-expected.txt:
- platform/ios-simulator-wk2/editing/style/style-3998892-fix-expected.txt:
- platform/ios-simulator-wk2/editing/style/style-boundary-001-expected.txt:
- platform/ios-simulator-wk2/editing/style/style-boundary-004-expected.txt:
- platform/ios-simulator-wk2/editing/style/table-selection-expected.txt:
- platform/ios-simulator-wk2/editing/style/unbold-in-bold-expected.txt:
- 9:33 AM Changeset in webkit [193910] by
-
- 2 edits in trunk/Source/JavaScriptCore
[B3] Add new files to the cmake build system
https://bugs.webkit.org/show_bug.cgi?id=152120
Reviewed by Filip Pizlo.
- CMakeLists.txt:
- 9:03 AM Changeset in webkit [193909] by
-
- 2 edits in trunk/Source/WebCore
Followup for:
Modern IDB: storage/indexeddb/intversion-close-between-events.html fails.
https://bugs.webkit.org/show_bug.cgi?id=152096
Implementing Darin Adler's review feedback that came after the patch landed.
- bindings/js/JSIDBDatabaseCustom.cpp:
(WebCore::JSIDBDatabase::transaction): No need to explicitly cast to Vector<String>.
- 8:50 AM Changeset in webkit [193908] by
-
- 2 edits in trunk/Source/JavaScriptCore
[B3] Use mark pragmas only if it is supported
https://bugs.webkit.org/show_bug.cgi?id=152123
Reviewed by Mark Lam.
- ftl/FTLB3Output.h:
- 8:38 AM Changeset in webkit [193907] by
-
- 1 edit15 adds in trunk/LayoutTests
[ES6] Add several generator related JSRegress tests to measure performance change after optimization
https://bugs.webkit.org/show_bug.cgi?id=151785
Reviewed by Saam Barati.
Before starting optimization for ES6 Generators, add several JSRegress tests to measure that.
- js/regress/generator-create-expected.txt: Added.
- js/regress/generator-create.html: Added.
- js/regress/generator-fib-expected.txt: Added.
- js/regress/generator-fib.html: Added.
- js/regress/generator-function-create-expected.txt: Added.
- js/regress/generator-function-create.html: Added.
- js/regress/generator-sunspider-access-nsieve-expected.txt: Added.
- js/regress/generator-sunspider-access-nsieve.html: Added.
- js/regress/generator-with-several-types-expected.txt: Added.
- js/regress/generator-with-several-types.html: Added.
- js/regress/script-tests/generator-create.js: Added.
(gen):
- js/regress/script-tests/generator-fib.js: Added.
(result):
- js/regress/script-tests/generator-function-create.js: Added.
(createGeneratorFunction.gen):
(createGeneratorFunction):
- js/regress/script-tests/generator-sunspider-access-nsieve.js: Added.
(prime):
(sieve):
- js/regress/script-tests/generator-with-several-types.js: Added.
(g1):
(g2):
(g3):
- 8:11 AM Changeset in webkit [193906] by
-
- 2 edits in trunk/Source/JavaScriptCore
[B3] Typo fix in testb3.cpp
https://bugs.webkit.org/show_bug.cgi?id=152126
Reviewed by Mark Lam.
- b3/testb3.cpp:
(JSC::B3::populateWithInterestingValues):
- 8:07 AM Changeset in webkit [193905] by
-
- 2 edits in trunk/Source/JavaScriptCore
[B3] Fix unused-but-set-variable warning
https://bugs.webkit.org/show_bug.cgi?id=152122
Reviewed by Mark Lam.
- ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::DFG::LowerDFGToLLVM::lower):
- 8:04 AM Changeset in webkit [193904] by
-
- 2 edits in trunk/Source/JavaScriptCore
[B3] Make GCC ignore warnings in FTLB3Output.h
https://bugs.webkit.org/show_bug.cgi?id=152124
Reviewed by Mark Lam.
- ftl/FTLB3Output.h:
- 8:03 AM Changeset in webkit [193903] by
-
- 2 edits in trunk/LayoutTests
Unreviewed. Fix ambiguous expectations added in r193895.
- platform/gtk/TestExpectations:
- 8:02 AM Changeset in webkit [193902] by
-
- 2 edits in trunk/Source/JavaScriptCore
[EFL] Remove the unused IncrementalSweeper::m_isTimerFrozen member after r193749
https://bugs.webkit.org/show_bug.cgi?id=152127
Reviewed by Mark Lam.
- heap/IncrementalSweeper.h:
- 4:12 AM Changeset in webkit [193901] by
-
- 2 edits in trunk/Source/WebKit2
[CoordinatedGraphics] Reserve capacity for the children vector in CoordinatedGraphicsScene::setLayerChildrenIfNeeded()
https://bugs.webkit.org/show_bug.cgi?id=152117
Reviewed by Martin Robinson.
- Shared/CoordinatedGraphics/CoordinatedGraphicsScene.cpp:
(WebKit::CoordinatedGraphicsScene::setLayerChildrenIfNeeded): Reserve the capacity
for the new Vector that will contain the same number of items as the Vector
on the CoordinatedGraphicsLayerState object.
- 4:01 AM Changeset in webkit [193900] by
-
- 2 edits in trunk/Source/JavaScriptCore
Source/JavaScriptCore/create_hash_table shouldn't be too verbose
https://bugs.webkit.org/show_bug.cgi?id=151861
Reviewed by Darin Adler.
- create_hash_table:
- 2:50 AM Changeset in webkit [193899] by
-
- 11 edits5 adds in trunk
JSC Builtins should use safe array methods
https://bugs.webkit.org/show_bug.cgi?id=151501
Reviewed by Darin Adler.
Source/JavaScriptCore:
Adding @push and @shift to Array prototype.
Using @push in TypedArray built-in.
Covered by added test in LayoutTests/js/builtins
- builtins/TypedArray.prototype.js:
(filter):
- runtime/ArrayPrototype.cpp:
(JSC::ArrayPrototype::finishCreation):
- runtime/CommonIdentifiers.h:
Source/WebCore:
Using @push and @shift in internal arrays in lieu of push and shift.
This cannot be disrupted by user scripts except if arrays are also made accessible to user scripts.
Covered by added tests for ReadableStream constructs.
- Modules/mediastream/RTCPeerConnectionInternals.js:
(runNext):
(enqueueOperation):
- Modules/streams/ReadableStreamInternals.js:
(enqueueInReadableStream):
(readFromReadableStreamReader):
- Modules/streams/StreamInternals.js:
(dequeueValue):
(enqueueValueWithSize):
LayoutTests:
Adding shielding test for TypedArray.prototype.filter and stream enqueuing of values and read promises.
- js/builtins/resources/shielding-typedarray.js: Added.
(Array.prototype.push):
(try.array.Int8Array.from.string_appeared_here.filter):
- js/builtins/shielding-typedarray-expected.txt: Added.
- js/builtins/shielding-typedarray.html: Added.
- streams/streams-promises-expected.txt:
- streams/streams-promises.html:
- 2:24 AM Changeset in webkit [193898] by
-
- 2 edits in trunk/Source/WebCore
[TexMap] pixel coverage multiplication in TiledBackingStore can overflow
https://bugs.webkit.org/show_bug.cgi?id=152055
Reviewed by Carlos Garcia Campos.
The computation of the pixel coverage in TiledBackingStore can easily overflow
when the candidate size is relatively large (for instance when the backed
layer is transformed in a way that increases its perceived size). This can result
in missing tiles for this specific backing store, at least until the layer in
question is transformed again into a shape that produces a smaller candidate size.
To avoid the integer overflow, the multiplication is done in a safe manner,
defaulting to the max positive value an integer can hold in case the overflow
is detected.
- platform/graphics/texmap/coordinated/TiledBackingStore.cpp:
(WebCore::TiledBackingStore::adjustForContentsRect):
- 2:23 AM Changeset in webkit [193897] by
-
- 4 edits in trunk/Source/WebCore
[TexMap] Clean up BitmapTexturePool
https://bugs.webkit.org/show_bug.cgi?id=152073
Reviewed by Daniel Bates.
Move BitmapTexturePoolEntry class under the BitmapTexturePool class, renaming
it to simply Entry and keeping it private. Have the constructor take in an
rvalue reference to the RefPtr<BitmapTexture> object. Remove the static
compareTimeLastUsed() function and use a lambda directly in its place.
Remove the default BitmapTexturePool constructor, which isn't used anywhere.
Have the constructor and some methods accept or return RefPtr objects, possibly
via rvalue references. Clean up the header file by removing a few unnecessary
header includes and using forward declarations where possible.
In the BitmapTexturePool implementation file, mark the two const variables as
static. The ::acquireTexture() method now uses the std::find_if() algorithm
to find a fitting Entry object in the Vector. The same method is also moved
upwards so we follow the order of declaration in the header. ::createTexture()
inlines the return of the new expression into the adoptRef() call in the return
statement.
TextureMapperGL constructor is updated to pass a copied RefPtr object into the
BitmapTexturePool constructor.
- platform/graphics/texmap/BitmapTexturePool.cpp:
(WebCore::BitmapTexturePool::BitmapTexturePool):
(WebCore::BitmapTexturePool::acquireTexture):
(WebCore::BitmapTexturePool::releaseUnusedTexturesTimerFired):
(WebCore::BitmapTexturePool::createTexture):
- platform/graphics/texmap/BitmapTexturePool.h:
(WebCore::BitmapTexturePool::Entry::Entry):
(WebCore::BitmapTexturePool::Entry::markUsed):
(WebCore::BitmapTexturePoolEntry::BitmapTexturePoolEntry): Deleted.
(WebCore::BitmapTexturePoolEntry::markUsed): Deleted.
(WebCore::BitmapTexturePoolEntry::compareTimeLastUsed): Deleted.
- platform/graphics/texmap/TextureMapperGL.cpp:
(WebCore::TextureMapperGL::TextureMapperGL):
- 2:15 AM Changeset in webkit [193896] by
-
- 2 edits in trunk/Source/WebCore
[GTK] RenderThemeGtk::platformActiveSelectionBackgroundColor, et. al. should not clobber state of cached GtkStyleContexts
https://bugs.webkit.org/show_bug.cgi?id=151533
Reviewed by Carlos Garcia Campos.
Remove the style context cache to simplify the code, drastically reduce the number of
expensive save/restore operations performed on style contexts, and avoid unwanted
side-effects in RenderThemeGtk::styleColor. This is also a speculative fix for improper
button rendering with certain custom themes, and a simplification that will make it easier
to fix bug #150550.
This change does have performance implications, which I intend to check on the perf bot
after landing to ensure that removing the cache does not have a significant negative impact
on performance; I have no clue whether this will be a net performance win or loss. However,
this is a bit tricky, because the bot is running GTK+ 3.16, whereas I expect save/restore
might be much more expensive in GTK+ 3.20, and I do not want to make performance decisions
except based on the latest GTK+ due to large changes in the implementation of
GtkStyleContext.
- rendering/RenderThemeGtk.cpp:
(WebCore::createStyleContext):
(WebCore::getStockIconForWidgetType):
(WebCore::getStockSymbolicIconForWidgetType):
(WebCore::RenderThemeGtk::initMediaColors):
(WebCore::RenderThemeGtk::adjustRepaintRect):
(WebCore::setToggleSize):
(WebCore::paintToggle):
(WebCore::RenderThemeGtk::setCheckboxSize):
(WebCore::RenderThemeGtk::setRadioSize):
(WebCore::RenderThemeGtk::paintButton):
(WebCore::getComboBoxMetrics):
(WebCore::RenderThemeGtk::paintMenuList):
(WebCore::RenderThemeGtk::paintTextField):
(WebCore::RenderThemeGtk::paintSliderTrack):
(WebCore::RenderThemeGtk::paintSliderThumb):
(WebCore::RenderThemeGtk::adjustSliderThumbSize):
(WebCore::RenderThemeGtk::paintProgressBar):
(WebCore::RenderThemeGtk::adjustInnerSpinButtonStyle):
(WebCore::RenderThemeGtk::paintInnerSpinButton):
(WebCore::styleColor):
(WebCore::gtkStyleChangedCallback): Deleted.
(WebCore::styleContextMap): Deleted.
(WebCore::getStyleContext): Deleted.
- 1:20 AM Changeset in webkit [193895] by
-
- 2 edits in trunk/LayoutTests
Unreviewed. GTK+ gardening: skip HLS tests crashing in debug after r192102.
- platform/gtk/TestExpectations:
- 12:37 AM Changeset in webkit [193894] by
-
- 14 edits10 adds in trunk
font-variant-caps does not work if the font does not support font features
https://bugs.webkit.org/show_bug.cgi?id=149774
Reviewed by Antti Koivisto.
Source/WebCore:
This test implements synthesis for small-caps and all-small-caps. It does so by
moving font variant selection into a higher level (ComplexTextController).
In general, the approach is to use the pure font feature until we encounter
a character which needs to be uppercased, and which the font feature does not
support uppercasing. In this situation, we try again with synthesis. In this
case, synthesis means artificially uppercasing letters and rendering them with
a smaller font.
We require system support to know which glyphs a particular font feature supports.
Therefore, on operating systems which do not include this support, we will simply
say that the font feature does not support any glyphs.
Test: css3/font-variant-small-caps-synthesis.html
css3/font-variant-petite-caps-synthesis.html
- platform/graphics/Font.cpp:
(WebCore::Font::noSmallCapsFont): Return the same font, but without smcp or c2sc.
This function utilizes a cache.
- platform/graphics/Font.h:
(WebCore::Font::variantFont): Small caps should never go through this function
anymore.
- platform/graphics/FontCascade.h: Because we're moving variant selection into
a higher level, we remove the FontVariant argument from the lower-level call.
- platform/graphics/FontCascadeFonts.cpp:
(WebCore::FontCascadeFonts::glyphDataForVariant): Use early-return style.
(WebCore::FontCascadeFonts::glyphDataForNormalVariant): Ditto.
- platform/graphics/cocoa/FontCascadeCocoa.mm:
(WebCore::FontCascade::fontForCombiningCharacterSequence): Because we're moving
variant selection into a higher level, we remove the FontVariant argument from
the lower-level call.
- platform/graphics/cocoa/FontCocoa.mm:
(WebCore::Font::smallCapsSupportsCharacter):
(WebCore::Font::allSmallCapsSupportsCharacter):
(WebCore::smallCapsOpenTypeDictionary): Helper function for
smallCapsSupportsCharacter().
(WebCore::smallCapsTrueTypeDictionary): Ditto.
(WebCore::unionBitVectors):
(WebCore::Font::glyphsSupportedBySmallCaps): Compute a bit vector of supported
glyphs.
(WebCore::Font::glyphsSupportedByAllSmallCaps): Ditto.
(WebCore::createDerivativeFont): Moving common code into its own helper function.
(WebCore::Font::createFontWithoutSmallCaps):
(WebCore::Font::platformCreateScaledFont): Use the common code.
- platform/graphics/mac/ComplexTextController.cpp:
(WebCore::capitalized): What is the capitalized form of a character?
(WebCore::ComplexTextController::collectComplexTextRuns): Implement the core
logic of this patch. This includes the retry when we encounter a character which
is not supported by the font feature.
- platform/spi/cocoa/CoreTextSPI.h:
LayoutTests:
Adding two new font which include lowercase characters which respond to 'smcp' and 'c2sc'.
The character mappings are:
OpenType:
'smcp': f
'c2sc': g
TrueType:
kLowerCaseType / kLowerCaseSmallCapsSelector: r
kUpperCaseType / kUpperCaseSmallCapsSelector: u
- css3/font-variant-all-expected.html:
- css3/font-variant-all.html:
- css3/font-variant-small-caps-synthesis-expected.html: Added.
- css3/font-variant-small-caps-synthesis.html: Added.
- css3/font-variant-petite-caps-synthesis-expected.html: Added.
- css3/font-variant-petite-caps-synthesis.html: Added.
- css3/resources/FontWithFeaturesLowercaseSmallCaps.otf: Added.
- css3/resources/FontWithFeaturesLowercaseSmallCaps.ttf: Added.
- platform/mac/TestExpectations:
- platform/mac/fast/writing-mode/broken-ideograph-small-caps-expected.txt:
- 12:32 AM WebKitGTK/Gardening/Calendar edited by
- (diff)
- 12:28 AM Changeset in webkit [193893] by
-
- 6 edits in trunk/Source/WebCore
[TexMap] Remove the TEXMAP_OPENGL_ES_2 define
https://bugs.webkit.org/show_bug.cgi?id=152069
Reviewed by Alex Christensen.
Remove the TEXMAP_OPENGL_ES_2 macro define and clean up the code
that it was (not) guarding.
- platform/graphics/texmap/BitmapTexture.h:
- platform/graphics/texmap/BitmapTextureGL.cpp: Remove the TEXMAP_OPENGL_ES_2
guard. Keep the GL_UNSIGNED_INT_8_8_8_8_REV define for OS(DARWIN), but use
the GraphicsContext3D constants for other values.
(WebCore::BitmapTextureGL::updateContentsNoSwizzle):
(WebCore::BitmapTextureGL::initializeStencil): Remove the TEXMAP_OPENGL_ES_2
guard and default to calling the renderbufferStorage() function with the
GraphicsContext3D::STENCIL_INDEX8 argument.
- platform/graphics/texmap/BitmapTexturePool.h:
- platform/graphics/texmap/TextureMapper.h:
- platform/graphics/texmap/TextureMapperGL.cpp: Remove both the TEXMAP_OPENGL_ES_2
guard and the code it guarded. Because we were defining TEXMAP_OPENGL_ES_2 and not
USE_TEXMAP_OPENGL_ES_2, the guarded defines were always enforced, but they're never
actually used in this file anyway.