Timeline
Jul 30, 2015:
- 11:02 PM Changeset in webkit [187639] by
-
- 33 edits2 adds in branches/jsc-tailcall/Source/JavaScriptCore
jsc-tailcall: LLint, Baseline and DFG JIT should save & restore platform's callee-save registers
https://bugs.webkit.org/show_bug.cgi?id=146946
Reviewed by Basile Clement.
We save platform callee save registers right below the call frame header, in the location(s)
starting with VirtualRegister 0. Allocated local space in the bytecode compiler.
This space is the maximum space needed for the callee registers that the LLInt or baseline JIT
will used, rounded up to number of VirtualRegisters. The LLInt explicitly saves and restores
the registers in the functions preserveCalleeSavesUsedByLLInt and restoreCalleeSavesUsedByLLInt.
The baseline and DFG JITs saves and restores callee saves registers by what registers are included
in m_calleeSaveRegisters in the code block.
Added code to transition callee saves from one VM's format to the another as part of OSR entry and
OSR exit. Added a helper class RegisterSaveMap that has the cannonical locations for a set of
saved registers. This is used not only to save and restore registers on function entry and exit,
but also to handle OSR entry and exit cases.
- CMakeLists.txt:
- JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
- JavaScriptCore.xcodeproj/project.pbxproj:
Added RegisterSaveMap to build configurations.
- bytecode/CodeBlock.cpp:
(JSC::CodeBlock::setCalleeSaveRegisters):
(JSC::roundCalleeSaveSpaceAsVirtualRegisters):
(JSC::CodeBlock::llintBaselineCalleeSaveSpaceAsVirtualRegisters):
(JSC::CodeBlock::calleeSaveSpaceAsVirtualRegisters):
(JSC::CodeBlock::countReoptimization):
- bytecode/CodeBlock.h:
(JSC::CodeBlock::numberOfLLIntBaselineCalleeSaveRegisters):
(JSC::CodeBlock::calleeSaveRegisters):
(JSC::CodeBlock::llintBaselineCalleeSaveSpaceAsVirtualRegisters):
(JSC::CodeBlock::optimizeAfterWarmUp):
(JSC::CodeBlock::numberOfDFGCompiles):
Methods to manage a set of callee save registers. Also to allocate the appropriate
number of VritualRegisters for callee saves.
- bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::allocateCalleeSaveSpace):
- bytecompiler/BytecodeGenerator.h:
Allocate the appropriate number of VritualRegisters for callee saves needed by LLInt or baseline JIT.
- dfg/DFGJITCompiler.cpp:
(JSC::DFG::JITCompiler::compileEntry):
(JSC::DFG::JITCompiler::compileSetupRegistersForEntry):
(JSC::DFG::JITCompiler::compileBody):
(JSC::DFG::JITCompiler::compile):
(JSC::DFG::JITCompiler::compileFunction):
- dfg/DFGJITCompiler.h:
- dfg/DFGOSREntry.cpp:
(JSC::DFG::prepareOSREntry):
- dfg/DFGOSRExitCompiler64.cpp:
(JSC::DFG::OSRExitCompiler::compileExit):
- dfg/DFGOSRExitCompilerCommon.cpp:
(JSC::DFG::reifyInlinedCallFrames):
(JSC::DFG::adjustAndJumpToTarget):
- dfg/DFGPlan.cpp:
(JSC::DFG::Plan::compileInThreadImpl):
- dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGStackLayoutPhase.cpp:
(JSC::DFG::StackLayoutPhase::run):
Properly handle VirtualRegisters set aside for LLInt or baseline JIT callee saves.
- jit/AssemblyHelpers.h:
(JSC::AssemblyHelpers::storeTrustedValue):
(JSC::AssemblyHelpers::emitSaveCalleeSavesFor):
(JSC::AssemblyHelpers::emitRestoreCalleeSavesFor):
(JSC::AssemblyHelpers::emitSaveCalleeSaves):
(JSC::AssemblyHelpers::emitRestoreCalleeSaves):
(JSC::AssemblyHelpers::copyCalleeSavesFromFrameOrRegisterToVMCalleeSavesBuffer):
(JSC::AssemblyHelpers::emitMaterializeTagCheckRegisters):
(JSC::AssemblyHelpers::prologueStackPointerDelta):
Functions to save and restore callee save registers in a stack frame or other buffer.
(JSC::AssemblyHelpers::emitMaterializeTagCheckRegisters):
Helper to populate tagTypeNumberRegister and tagMaskRegister with the appropriate
constants.
- jit/GPRInfo.h:
(JSC::GPRInfo::numberOfLLIntBaselineCalleeSaveRegisters):
Added this constant to hold the maximum number of callee save registers that we use in
the LLInt or baseline JIT.
- jit/JIT.cpp:
(JSC::JIT::privateCompile):
- jit/JITCall.cpp:
(JSC::JIT::compileOpCall):
(JSC::JIT::compileOpCallSlowCase):
- jit/JITCall32_64.cpp:
(JSC::JIT::emit_op_ret):
(JSC::JIT::compileOpCall):
(JSC::JIT::compileOpCallSlowCase):
- jit/JITOpcodes.cpp:
(JSC::JIT::emit_op_end):
(JSC::JIT::emit_op_ret):
(JSC::JIT::emit_op_enter):
(JSC::JIT::emitSlow_op_loop_hint):
- jit/JITOpcodes32_64.cpp:
(JSC::JIT::emit_op_end):
- jit/JITOperations.cpp:
- jit/Repatch.cpp:
(JSC::linkPolymorphicCall):
Emit code to save and restore callee save registers and materialize tagTypeNumberRegister
and tagMaskRegister. Also handle callee saves when tiering up to the DFG.
- jit/RegisterSaveMap.cpp: Added.
(JSC::RegisterSaveMap::RegisterSaveMap):
(JSC::RegisterSaveMap::getIndexFor):
- jit/RegisterSaveMap.h: Added.
(JSC::RegisterSaveMap::size):
(JSC::RegisterSaveMap::has):
(JSC::RegisterSaveMap::maxOffset):
(JSC::RegisterSaveMap::getOffsetFor):
New class to track register offsets in the stack or other memory.
- jit/RegisterSet.cpp:
(JSC::RegisterSet::allVMCalleeSaveRegisters):
(JSC::RegisterSet::baselineCalleeSaveRegisters):
(JSC::RegisterSet::dfgCalleeSaveRegisters):
- jit/RegisterSet.h:
Fixed set of callee save registers for callee save regsiters in any VM, for the baseline JIT and for the
DFG.
- llint/LLIntData.cpp:
(JSC::LLInt::Data::performAssertions):
- llint/LowLevelInterpreter.asm:
- llint/LowLevelInterpreter64.asm:
Save and restor callee saves used by the LLInt. Added code to handle OSR entry.
Changed the LLInt arity fixup to always use the LLInt supplied loop as the LLInt needs to include
callee saves as they need to be saved before calling the slow path that does arity checking since the
PC register is derived from the value in a callee save register. Therefore that callee save needs to
be used before arity fixup, meaning that we need to save the prior contents.
- runtime/VM.cpp:
(JSC::VM::VM):
- runtime/VM.h:
(JSC::VM::calleeSaveRegistersBufferOffset):
(JSC::VM::getAllCalleeSaveRegistersMap):
Provide a RegisterSaveMap that has all registers that might be saved. Added a callee save buffer to be
used for OSR exit and for exception processing in a future patch.
- 8:48 PM Changeset in webkit [187638] by
-
- 3 edits in trunk/Source/WebCore
RenderTheme::paintBorderOnly and paintDecorations should take RenderBox instead of RenderObject.
https://bugs.webkit.org/show_bug.cgi?id=147470
Reviewed by Simon Fraser.
Tighten the code so that RenderTheme paint functions take RenderBox instead of RenderObject.
No change in functionality.
- rendering/RenderTheme.cpp:
(WebCore::RenderTheme::paintBorderOnly):
(WebCore::RenderTheme::paintDecorations):
- rendering/RenderTheme.h:
- 8:40 PM Changeset in webkit [187637] by
-
- 6 edits in branches/jsc-tailcall/Source/JavaScriptCore
jsc-tailcall: Eliminate rdi from temp register list for X86-64 Windows
https://bugs.webkit.org/show_bug.cgi?id=147461
Reviewed by Basile Clement.
Eliminated rdi from the list of temporary registers for X86-64 Windows as it
is a callee saves register. This reduced the number of temporary registers
for X86-64 Windows. Since the LLInt needs 6 available registers in a couple
of places, added a register alias called extraTempReg which is t0 on X86-64
Windows and t5 on all other platforms.
As a result of this change, I changed the "PC" register in the LLInt from t5
to t4.
- jit/GPRInfo.h:
(JSC::GPRInfo::toRegister):
(JSC::GPRInfo::toIndex):
- llint/LowLevelInterpreter.asm:
- llint/LowLevelInterpreter32_64.asm:
- llint/LowLevelInterpreter64.asm:
- offlineasm/x86.rb:
- 7:07 PM Changeset in webkit [187636] by
-
- 1 copy in tags/Safari-600.8.9
New tag.
- 7:06 PM Changeset in webkit [187635] by
-
- 1 copy in tags/Safari-600.1.4.17.8
New tag.
- 6:55 PM Changeset in webkit [187634] by
-
- 7 edits in trunk/Source/WebInspectorUI
Web Inspector: Better share objects generated from timeline events (Records)
https://bugs.webkit.org/show_bug.cgi?id=147029
Reviewed by Brian Burg.
This patch changes the way TimelineManager processes events, preserving the event hierarchy after
converting payloads to TimelineRecord objects by retaining parent-child relationships between records.
This eliminates the need for RenderingFrameTimelineRecord objects to create a separate copy of their child
records, and provides richer data for the Timelines UI.
- UserInterface/Controllers/TimelineManager.js:
(WebInspector.TimelineManager.prototype.eventRecorded):
Track the parent TimelineRecord as child record payloads are unpacked, and create
a hierarchy of TimelineRecords that mirrors the original event payload hierarchy.
(WebInspector.TimelineManager.prototype._processRecord):
RenderingFrameTimelineRecord is now processed like any other event.
(WebInspector.TimelineManager.prototype._processNestedRecords): Deleted.
Reverted back to a single pass over the incoming timeline event payload.
- UserInterface/Models/LayoutTimelineRecord.js:
(WebInspector.LayoutTimelineRecord):
(WebInspector.LayoutTimelineRecord.prototype.get duringComposite): Deleted.
Removed duringComposite property and constructor parameter. No longer needed.
- UserInterface/Models/RenderingFrameTimelineRecord.js:
(WebInspector.RenderingFrameTimelineRecord.prototype.get children): Deleted.
Removed children property. It now exists on the base class TimelineRecord.
Also removed code that was needed to prevent paint time from being added twice.
- UserInterface/Models/ScriptTimelineRecord.js:
(WebInspector.ScriptTimelineRecord.prototype._initializeProfileFromPayload):
(WebInspector.ScriptTimelineRecord):
Removed workaround added in:
<https://webkit.org/b/147025> Web Inspector: REGRESSION (r186218) ScriptTimelineRecord attempts to access null property
- UserInterface/Models/TimelineRecord.js:
(WebInspector.TimelineRecord):
(WebInspector.TimelineRecord.prototype.get children):
Added children property.
- UserInterface/Views/RenderingFrameTimelineView.js:
(WebInspector.RenderingFrameTimelineView.prototype._processPendingRecords):
Now that we preserve the frame's child record hierarchy, we process the entire tree,
yielding richer data grid output:
Frame X
Styles Recalculated
Layout Invalidated
Composite
Paint
Paint
Compared to the previous output:
Frame X
Styles Recalculated
Layout Invalidated
Composite
Paint
Paint
- 6:49 PM Changeset in webkit [187633] by
-
- 2 edits in branches/safari-600.1.4.17-branch/Source/WebCore
Roll out r186895. rdar://problem/21714851
- 6:43 PM Changeset in webkit [187632] by
-
- 2 edits in branches/safari-600.1.4.17-branch/Source/WebCore
Roll out r187048. rdar://problem/21714851
- 6:40 PM Changeset in webkit [187631] by
-
- 2 edits in branches/safari-600.1.4.17-branch/Source/WebCore
Roll out r187490. rdar://problem/22035036
- 5:52 PM Changeset in webkit [187630] by
-
- 2 edits in trunk/Source/WebCore
[CF] Web process continually eating memory on simple, shared Google Docs spreadsheet.
<https://webkit.org/b/147403>
<rdar://problem/18835799>
Reviewed by Geoffrey Garen.
Make sure we service the CFRunLoop on worker threads, since ports using CoreFoundation
will be scheduling garbage collections and heap sweeps using CFRunLoop timers.
This fix is a stopgap. Long term we need a better design for integrating GC tasks with
with the web worker run loop.
- workers/WorkerRunLoop.cpp:
(WebCore::WorkerRunLoop::runInMode): Instead of sleeping forever, calculate a better
wakeup deadline by asking the CFRunLoop when its next timer will fire. Then, when a
timeout occurs, call CFRunLoopRunInMode (with seconds=0) to service pending timers.
- 5:43 PM Changeset in webkit [187629] by
-
- 12 edits2 adds in branches/jsc-tailcall/Source/JavaScriptCore
jsc-tailcall: Add enums for type-safety
https://bugs.webkit.org/show_bug.cgi?id=147475
Reviewed by Michael Saboff.
This adds:
- A CallMode enum to distinguish tail calls from regular calls from construct
- A FrameAction enum to indicate whether to keep or reuse the call frame. It also changes JITOperations.h to correctly use this to tell slowPathFor to *not* trash the frame on a regular call (before r187505, this was statically known in slowPathFor).
- CMakeLists.txt:
- JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
- JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
- JavaScriptCore.xcodeproj/project.pbxproj:
- assembler/AbstractMacroAssembler.h:
(JSC::AbstractMacroAssembler::repatchNearCall):
- assembler/CodeLocation.h:
(JSC::CodeLocationNearCall::CodeLocationNearCall):
(JSC::CodeLocationNearCall::callMode):
(JSC::CodeLocationCommon::nearCallAtOffset):
- assembler/LinkBuffer.h:
(JSC::LinkBuffer::locationOfNearCall):
- bytecode/CallLinkInfo.h:
(JSC::CallLinkInfo::callModeFor):
(JSC::CallLinkInfo::callMode):
(JSC::CallLinkInfo::isTailCall):
(JSC::CallLinkInfo::isVarargs):
- bytecode/CallMode.cpp: Added.
(WTF::printInternal):
- bytecode/CallMode.h: Added.
- jit/JITOperations.cpp:
- jit/Repatch.cpp:
(JSC::linkPolymorphicCall):
- jit/ThunkGenerators.cpp:
(JSC::slowPathFor):
(JSC::virtualThunkFor):
- 5:37 PM Changeset in webkit [187628] by
-
- 2 edits in branches/safari-600.8-branch/Source/WebCore
Roll out r186863. rdar://problem/21714843
- 5:17 PM Changeset in webkit [187627] by
-
- 6 edits in trunk/Source/WebKit2
LayoutTests/inspector frequently run slow and timeout when run in WebKit2 but not WebKit1
https://bugs.webkit.org/show_bug.cgi?id=147456
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-07-30
Reviewed by Timothy Hatcher.
By default, WebKit2 WebPage's on PLATFORM(COCOA) enabling DOM Timer
throttling. Under testing, this ends up impacting Web Inspector
tests that create their own WKWebView which never gets displayed
and so gets throttled. Disable throttling on the Inspector's view
during testing.
- UIProcess/API/Cocoa/WKPreferencesPrivate.h:
- UIProcess/API/Cocoa/WKPreferences.mm:
(-[WKPreferences _hiddenPageDOMTimerThrottlingEnabled]):
(-[WKPreferences _setHiddenPageDOMTimerThrottlingEnabled:]):
SPI to toggle DOM timer throttling.
- UIProcess/WebInspectorProxy.cpp:
(WebKit::WebInspectorProxy::createInspectorPage):
- UIProcess/WebInspectorProxy.h:
(WebKit::WebInspectorProxy::isUnderTest):
Provide a way to get if we are under test, and set it before
calling into the platform method.
- UIProcess/mac/WebInspectorProxyMac.mm:
(WebKit::WebInspectorProxy::platformCreateInspectorPage):
When testing, disable timer throttling.
- 5:12 PM Changeset in webkit [187626] by
-
- 13 edits in trunk/Source/WebCore
Move locale information into FontDescription
https://bugs.webkit.org/show_bug.cgi?id=147457
Reviewed by Andreas Kling.
Currently, the "lang" attribute on a node sets locale information in RenderStyle.
Font selection is sensitive to this locale information, and occurs deep within
platform/ code, far away from RenderStyle. Because every RenderStyle owns a
FontDescription, and font selection can consult with FontDescriptions, it makes
sense to move the variable from RenderStyle to FontDescription, and provide
convenience methods on RenderStyle which inspect its FontDescription for locale
information.
This patch is in preparation for correctly obeying locale information when
performing font fallback.
No new tests because there is no behavior change.
- css/CSSPropertyNames.in:
- css/StyleBuilderCustom.h:
(WebCore::StyleBuilderCustom::applyValueWebkitLocale):
- platform/graphics/FontCache.h:
(WebCore::FontDescriptionKey::FontDescriptionKey):
(WebCore::FontDescriptionKey::operator==):
- platform/graphics/FontCascade.cpp:
- platform/graphics/FontDescription.cpp:
(WebCore::FontDescription::FontDescription):
(WebCore::FontDescription::setLocale):
- platform/graphics/FontDescription.h:
(WebCore::FontDescription::locale):
(WebCore::FontDescription::initialLocale):
(WebCore::FontDescription::operator==):
(WebCore::FontDescription::FontDescription): Deleted.
(WebCore::FontDescription::setScript): Deleted.
- platform/text/LocaleToScriptMappingDefault.cpp:
(WebCore::localeToScriptCodeForFontSelection):
- rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::changeRequiresLayout): Deleted.
- rendering/style/RenderStyle.h:
- rendering/style/StyleRareInheritedData.cpp:
(WebCore::StyleRareInheritedData::StyleRareInheritedData): Deleted.
(WebCore::StyleRareInheritedData::operator==): Deleted.
- rendering/style/StyleRareInheritedData.h:
- style/StyleResolveForDocument.cpp:
(WebCore::Style::resolveForDocument):
- 4:56 PM Changeset in webkit [187625] by
-
- 3 edits in trunk/Source/WebInspectorUI
Web Inspector: Support smart-pasting in the Rules sidebar panel
https://bugs.webkit.org/show_bug.cgi?id=147362
Reviewed by Timothy Hatcher.
When pasting over the selector, if the pasted text matches CSS rule
formatting, replace the selected rule with the selector and text in
the pasted data.
- UserInterface/Models/DOMNodeStyles.js:
(WebInspector.DOMNodeStyles.prototype.changeRule.changeCompleted):
(WebInspector.DOMNodeStyles.prototype.changeRule.styleChanged):
(WebInspector.DOMNodeStyles.prototype.changeRule.changeText):
(WebInspector.DOMNodeStyles.prototype.changeRule.ruleSelectorChanged):
(WebInspector.DOMNodeStyles.prototype.changeRule):
- UserInterface/Views/CSSStyleDeclarationSection.js:
(WebInspector.CSSStyleDeclarationSection.prototype._handleSelectorPaste.parseTextForRule):
(WebInspector.CSSStyleDeclarationSection.prototype._handleSelectorPaste):
(WebInspector.CSSStyleDeclarationSection):
- 4:51 PM Changeset in webkit [187624] by
-
- 2 edits in trunk/Tools
Add support for window.open to WK1BrowserWindowController
https://bugs.webkit.org/show_bug.cgi?id=147474
Reviewed by Dan Bernstein.
- MiniBrowser/mac/WK1BrowserWindowController.m:
(-[WK1BrowserWindowController awakeFromNib]):
Set javaScriptCanOpenWindowsAutomatically to YES.
If this becomes a nuisance, we can always add a menu item to toggle this.
(-[WK1BrowserWindowController webView:createWebViewWithRequest:]):
Implement this UI delegate method.
- 4:47 PM Changeset in webkit [187623] by
-
- 2 edits in trunk/Tools
Undo stray commit.
- MiniBrowser/mac/WK1BrowserWindowController.m:
(-[WK1BrowserWindowController awakeFromNib]):
(-[WK1BrowserWindowController webView:createWebViewWithRequest:]):
- 4:46 PM Changeset in webkit [187622] by
-
- 3 edits in trunk
Remove stray printf.
- loader/SubframeLoader.cpp:
(WebCore::SubframeLoader::requestObject):
- 4:41 PM Changeset in webkit [187621] by
-
- 4 edits in trunk/Source/WebCore
Make Path::apply() take a function reference
https://bugs.webkit.org/show_bug.cgi?id=147472
Reviewed by Anders Carlsson.
Path::apply() should take a const reference to a std::function.
- platform/graphics/Path.h:
- platform/graphics/cairo/PathCairo.cpp:
- platform/graphics/cg/PathCG.cpp:
(WebCore::CGPathApplierToPathApplier):
(WebCore::Path::apply):
- 4:38 PM Changeset in webkit [187620] by
-
- 9 edits3 adds in trunk
Assertion failure when a plug-in loads a resource that redirects somewhere
https://bugs.webkit.org/show_bug.cgi?id=147469
Reviewed by Alexey Proskuryakov.
Source/WebCore:
Test: http/tests/plugins/get-url-redirect.html
r186597 moved the call to addPlugInStreamLoader to willSendRequest. This is wrong since
willSendRequest can be invoked more than once.
Fix this by making the initialization phase of NetscapePlugInStreamLoader be more like
SubresourceLoader where we only call addPlugInStreamLoader once we've successfully initialized
the loader, and only call removePlugInStreamLoader if we've called addPlugInStreamLoader.
Also change addPlugInStreamLoader and removePlugInStreamLoader to take references.
- loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::addPlugInStreamLoader):
(WebCore::DocumentLoader::removePlugInStreamLoader):
- loader/DocumentLoader.h:
- loader/NetscapePlugInStreamLoader.cpp:
(WebCore::NetscapePlugInStreamLoader::create):
(WebCore::NetscapePlugInStreamLoader::init):
(WebCore::NetscapePlugInStreamLoader::didFinishLoading):
(WebCore::NetscapePlugInStreamLoader::didFail):
(WebCore::NetscapePlugInStreamLoader::didCancel):
(WebCore::NetscapePlugInStreamLoader::notifyDone):
- loader/NetscapePlugInStreamLoader.h:
- loader/ResourceLoader.cpp:
(WebCore::ResourceLoader::willSendRequest): Deleted.
- loader/ResourceLoader.h:
(WebCore::ResourceLoader::isPlugInStreamLoader): Deleted.
- loader/SubframeLoader.cpp:
(WebCore::SubframeLoader::requestObject):
LayoutTests:
Add a test.
- http/tests/plugins/get-url-redirect-expected.txt: Added.
- http/tests/plugins/get-url-redirect.html: Added.
- http/tests/plugins/resources/redirection-response.php: Added.
- 4:25 PM Changeset in webkit [187619] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Fix typo in frame duration filtering console.assert message
https://bugs.webkit.org/show_bug.cgi?id=147458
Rubber-stamped by Joseph Pecoraro.
- UserInterface/Views/RenderingFrameTimelineView.js:
(WebInspector.RenderingFrameTimelineView.displayNameForDurationFilter):
- 4:19 PM Changeset in webkit [187618] by
-
- 8 edits in branches/jsc-tailcall/Source/JavaScriptCore
jsc-tailcall: Don't waste stack space when arity fixup was performed
https://bugs.webkit.org/show_bug.cgi?id=147447
Reviewed by Michael Saboff.
When doing a tail call, we overwrite an amount of stack space based on
the number of arguments in the call frame. If we entered the tail
caller by performing an arity fixup, this is incorrect and leads to
wasted stack space - we must use the CodeBlock's number of parameters
instead in that case.
This patch is also moving the prepareForTailCall() function from
jit/ThunkGenerators.h to the place where it should have always been,
namely jit/CCallHelpers.h
- jit/CCallHelpers.h:
(JSC::CCallHelpers::prepareForTailCallSlow):
- jit/JITCall.cpp:
(JSC::JIT::compileOpCall):
- jit/Repatch.cpp:
(JSC::linkPolymorphicCall):
- jit/ThunkGenerators.cpp:
(JSC::slowPathFor):
(JSC::virtualThunkFor):
- jit/ThunkGenerators.h:
- tests/stress/tail-call-no-stack-overflow.js:
(strictLoopArityFixup):
- 4:17 PM Changeset in webkit [187617] by
-
- 3 edits in trunk/Source/WebCore
[iOS] Pressing 'done' in fullscreen video sometimes does nothing; stuck in fullscreen
https://bugs.webkit.org/show_bug.cgi?id=147367
Reviewed by Eric Carlson.
During the request to exit fullscreen, the video element's m_videoFullscreenMode variable
is set, but no exitFullscreen() request is sent up to the UIProcess. Previous threading
issues have been discovered and fixed, but may have been re-introduced (or never fully
fixed in the first place). To solve the bad behavior this threading issue creates, add
a watchdog timer, similar to the one used in the desktop fullscreen controller, to ensure
that if an exit fullscreen request is not acted upon, the UIProcess forcibly exits fullscreen
anyway.
- platform/ios/WebVideoFullscreenInterfaceAVKit.h:
- platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
(WebVideoFullscreenInterfaceAVKit::WebVideoFullscreenInterfaceAVKit): Initialize the timer.
(WebVideoFullscreenInterfaceAVKit::exitFullscreen): Cancel the timer.
(WebVideoFullscreenInterfaceAVKit::shouldExitFullscreenWithReason): Set the timer.
(WebVideoFullscreenInterfaceAVKit::watchdogTimerFired): Forcibly exit fullscreen mode.
- 4:08 PM Changeset in webkit [187616] by
-
- 2 edits in branches/jsc-tailcall/Source/JavaScriptCore
jsc-tailcall: We should consider a tail call as an exit in the LLInt for the purpose of switching to the JIT
https://bugs.webkit.org/show_bug.cgi?id=147449
Reviewed by Michael Saboff.
- llint/LowLevelInterpreter.asm:
- 4:07 PM Changeset in webkit [187615] by
-
- 3 edits in trunk/Source/WebCore
Clean up makeFontCascadeCacheKey()
https://bugs.webkit.org/show_bug.cgi?id=147430
Reviewed by Benjamin Poulain.
FontDescriptionKey is designed to encapsulate all the cacheable properties of a FontDescription.
However, a higher-level cache, FontCascadeCacheKey, was taking some values from FontDescriptions.
The fact that there wasn't a bug before is just a happy coincidence. This patch moves those bits
from the higher-level cache and puts them into FontDescriptionKey where they belong.
No new tests because there is no behavior change.
- platform/graphics/FontCache.h:
(WebCore::FontDescriptionKey::makeFlagKey):
- platform/graphics/FontCascade.cpp:
(WebCore::operator==):
(WebCore::makeFontSelectorFlags): Deleted.
(WebCore::makeFontCascadeCacheKey): Deleted.
(WebCore::computeFontCascadeCacheHash): Deleted.
- 3:56 PM Changeset in webkit [187614] by
-
- 2 edits in trunk/Source/WebKit2
[iOS] Set AirPlay discovery mode to disabled when page is hidden
https://bugs.webkit.org/show_bug.cgi?id=147455
Reviewed by Enrica Casucci.
- UIProcess/ios/forms/WKAirPlayRoutePicker.mm:
(-[WKAirPlayRoutePicker _dismissAirPlayRoutePickerIPad]): Set discovery mode to disabled after
the picker has been closed.
(-[WKAirPlayRoutePicker showAirPlayPickerIPhone:]): Ditto.
- 3:26 PM Changeset in webkit [187613] by
-
- 2 edits in trunk/Source/WebCore
[Mac] Media Session: add support for more telephony interruptions
https://bugs.webkit.org/show_bug.cgi?id=147079
Reviewed by Eric Carlson.
- platform/mediasession/mac/MediaSessionInterruptionProviderMac.mm:
(WebCore::callDidEndRinging): End 'Transient' interruptions.
(WebCore::callDidConnect): Forward this event to media sessions as a 'Content' interruption.
(WebCore::MediaSessionInterruptionProviderMac::beginListeningForInterruptions): Register observers for new
notification types.
(WebCore::MediaSessionInterruptionProviderMac::stopListeningForInterruptions): Unregister all observers.
- 3:13 PM Changeset in webkit [187612] by
-
- 2 edits2 adds in trunk/LayoutTests
Media Session: test Play/Pause media control events delivered to non-Content media sessions https://bugs.webkit.org/show_bug.cgi?id=147414
Reviewed by Eric Carlson.
- media/session/play-pause-media-events-in-non-content-sessions-expected.txt: Added.
- media/session/play-pause-media-events-in-non-content-sessions.html: Added.
- platform/mac/TestExpectations: Media Session support is disabled by default.
- 2:58 PM Changeset in webkit [187611] by
-
- 2 edits2 adds in trunk/LayoutTests
Media Session: test Play/Pause media control events delivered to Content media sessions
https://bugs.webkit.org/show_bug.cgi?id=147413
Reviewed by Eric Carlson.
- media/session/play-pause-media-events-in-content-sessions-expected.txt: Added.
- media/session/play-pause-media-events-in-content-sessions.html: Added.
- platform/mac/TestExpectations: Media Session support is disabled by default.
- 2:50 PM Changeset in webkit [187610] by
-
- 2 edits in branches/safari-601.1-branch/Source/WebCore
Merge r187490. rdar://problem/21995928
- 2:22 PM Changeset in webkit [187609] by
-
- 45 edits3 copies in trunk
Don't use (Details) when exposing SPI
https://bugs.webkit.org/show_bug.cgi?id=147426
<rdar://problem/22062407>
Reviewed by Dan Bernstein.
If we are declaring the interface without any implementation,
we should use class extensions.
Source/WebCore:
Added three new SPI.h files for NSButtonCell, NSURLConnection and
NSURLRequest.
- WebCore.xcodeproj/project.pbxproj:
- platform/mac/ScrollViewMac.mm:
- platform/mac/ThemeMac.mm:
- platform/network/mac/ResourceHandleMac.mm:
- platform/network/mac/WebCoreResourceHandleAsDelegate.mm:
- platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.mm:
- platform/spi/cf/CFNetworkSPI.h:
- platform/spi/cocoa/AVKitSPI.h:
- platform/spi/cocoa/CFNSURLConnectionSPI.h:
- platform/spi/cocoa/NSButtonCellSPI.h: Copied from Source/WebCore/platform/spi/cocoa/NSColorSPI.h.
- platform/spi/cocoa/NSCalendarDateSPI.h:
- platform/spi/cocoa/NSColorSPI.h:
- platform/spi/cocoa/NSFileManagerSPI.h:
- platform/spi/cocoa/NSStringSPI.h:
- platform/spi/cocoa/NSURLConnectionSPI.h: Copied from Source/WebCore/platform/spi/cocoa/NSStringSPI.h.
- platform/spi/cocoa/NSURLDownloadSPI.h:
- platform/spi/cocoa/NSURLRequestSPI.h: Copied from Source/WebCore/platform/spi/cocoa/NSStringSPI.h.
- platform/spi/cocoa/QuartzCoreSPI.h:
- platform/spi/cocoa/WebFilterEvaluatorSPI.h:
- platform/spi/ios/CoreUISPI.h:
- platform/spi/ios/LaunchServicesSPI.h:
- platform/spi/ios/MediaPlayerSPI.h:
- platform/spi/ios/QuickLookSPI.h:
- platform/spi/ios/UIColorSPI.h:
- platform/spi/mac/QuickLookMacSPI.h:
- rendering/RenderThemeMac.mm:
Source/WebKit/mac:
- WebView/WebFrameView.mm:
- WebView/WebPDFView.mm:
Source/WebKit2:
- Platform/spi/ios/AssertionServicesSPI.h:
- Platform/spi/ios/CorePDFSPI.h:
- Platform/spi/ios/DataDetectorsUISPI.h:
- Platform/spi/ios/ManagedConfigurationSPI.h:
- Platform/spi/ios/UIKitSPI.h:
- Shared/API/Cocoa/WKRemoteObjectCoder.mm:
- Shared/Network/CustomProtocols/Cocoa/CustomProtocolManagerCocoa.mm:
- UIProcess/_WKWebViewPrintFormatter.mm:
- UIProcess/mac/WebPageProxyMac.mm:
Tools:
- DumpRenderTree/mac/DumpRenderTree.mm:
- DumpRenderTree/mac/EventSendingController.mm:
- DumpRenderTree/mac/PixelDumpSupportMac.mm:
- WebKitTestRunner/InjectedBundle/mac/InjectedBundleMac.mm:
- WebKitTestRunner/ios/PlatformWebViewIOS.mm:
- WebKitTestRunner/mac/PlatformWebViewMac.mm:
- WebKitTestRunner/mac/TestControllerMac.mm:
- 2:20 PM Changeset in webkit [187608] by
-
- 2 edits in branches/safari-601.1-branch/Source/WebKit2
Merge r187565. rdar://problem/22061043
- 2:20 PM Changeset in webkit [187607] by
-
- 2 edits in branches/safari-601.1-branch/Source/WebKit2
Merge r187517. rdar://problem/21645007
- 2:20 PM Changeset in webkit [187606] by
-
- 9 edits2 adds in branches/safari-601.1-branch
Merge r187278. rdar://problem/19908029
- 1:57 PM Changeset in webkit [187605] by
-
- 23 edits in trunk
Replace Google App Engine with AppScale
https://bugs.webkit.org/show_bug.cgi?id=147178
Patch by Aakash Jain <aakash_jain@apple.com> on 2015-07-30
Reviewed by Daniel Bates.
Tools:
- BuildSlaveSupport/build.webkit.org-config/master.cfg:
(RunWebKitTests):
- BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/garden-o-matic.html:
- BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/builders_unittests.js:
- BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui.js:
- BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/notifications_unittests.js:
- BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/results.js:
(.):
- BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BubbleQueueServer.js:
(BubbleQueueServer):
- BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitTestHistory.js:
(TestHistory):
- BuildSlaveSupport/build.webkit.org-config/templates/root.html:
- QueueStatusServer/app.yaml: We must explicitly define threadsafe property when using the Python 2.7 runtime. We set threadsafe to be false because the status server code was written to be run in AppEngine's CGI environment and AppEngine's CGI programming model handles requests serially per section "Concurrent Requests and WSGI" of <https://cloud.google.com/appengine/docs/python/python25/migrate27>.
- TestResultServer/app.yaml: Ditto
- Scripts/webkitpy/common/config/urls.py:
- TestResultServer/main.py:
- TestResultServer/static-dashboards/dashboard_base.js:
- TestResultServer/static-dashboards/loader.js:
Websites/bugs.webkit.org:
- code-review.js:
- template/en/default/attachment/edit.html.tmpl:
- template/en/default/attachment/list.html.tmpl:
- template/en/default/attachment/reviewform.html.tmpl:
LayoutTests:
- fast/harness/results.html:
- 1:23 PM Changeset in webkit [187604] by
-
- 4 edits2 adds in branches/safari-601.1-branch
Merge r187504. rdar://problem/21915355
- 1:23 PM Changeset in webkit [187603] by
-
- 2 edits in branches/safari-601.1-branch/Source/WebKit2
Merge r187478. rdar://problem/21838764
- 1:20 PM Changeset in webkit [187602] by
-
- 4 edits2 deletes in trunk/Source/WebCore
Remove LegacyCACFLayerTreeHost
https://bugs.webkit.org/show_bug.cgi?id=147388
Reviewed by Geoffrey Garen.
- WebCore.vcxproj/WebCore.vcxproj:
- WebCore.vcxproj/WebCore.vcxproj.filters:
- platform/graphics/ca/win/CACFLayerTreeHost.cpp:
(WebCore::CACFLayerTreeHost::create):
- platform/graphics/ca/win/LegacyCACFLayerTreeHost.cpp: Removed.
- platform/graphics/ca/win/LegacyCACFLayerTreeHost.h: Removed.
- 1:15 PM Changeset in webkit [187601] by
-
- 5 edits in trunk/Source/WebCore
Fix Windows build after r187587.
- loader/SubresourceLoader.h:
- loader/cache/CachedResource.h:
- platform/graphics/Font.h:
(WebCore::Font::DerivedFontData::DerivedFontData):
- rendering/RenderLayerFilterInfo.h:
Visual Studio doesn't like making std::unique_ptrs of private nested classes.
It tries to make a std::default_delete with the private class as a template parameter.
- 12:40 PM Changeset in webkit [187600] by
-
- 2 edits in trunk/Source/WebKit2
[WK2][NetworkCache] Stop closing files on the main thread
https://bugs.webkit.org/show_bug.cgi?id=147410
Reviewed by Andreas Kling.
After r186510, we no longer open cache files on the main thread.
However, we still close them on the main thread. This patch makes
sure we close the files on another thread instead.
- NetworkProcess/cache/NetworkCacheIOChannelCocoa.mm:
(WebKit::NetworkCache::IOChannel::IOChannel):
- 12:26 PM Changeset in webkit [187599] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Regression: %c is broken for console.group
https://bugs.webkit.org/show_bug.cgi?id=147436
Reviewed by Timothy Hatcher.
- UserInterface/Views/ConsoleMessageView.js:
(WebInspector.ConsoleMessageView.prototype._appendMessageTextAndArguments):
- 12:24 PM Changeset in webkit [187598] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Add special case for deleting the next character when editing rules in the CSS Sidebar
https://bugs.webkit.org/show_bug.cgi?id=147442
Reviewed by Timothy Hatcher.
If the cursor is on the first position of the first line in a CSS Rule and that line
has no content, delete the line instead of doing nothing.
- UserInterface/Views/CSSStyleDeclarationTextEditor.js:
(WebInspector.CSSStyleDeclarationTextEditor.prototype._handleBeforeChange):
- 12:13 PM Changeset in webkit [187597] by
-
- 15 edits in trunk/Source
Convert Path applier to use std::function
https://bugs.webkit.org/show_bug.cgi?id=147368
Reviewed by Sam Weinig.
Use std::function for Path::apply().
Source/WebCore:
- accessibility/mac/WebAccessibilityObjectWrapperBase.mm:
(convertPathToScreenSpaceFunction):
(-[WebAccessibilityObjectWrapperBase convertPathToScreenSpace:]):
(ConvertPathToScreenSpaceFunction): Deleted.
- inspector/InspectorOverlay.cpp:
(WebCore::appendPathSegment):
(WebCore::buildObjectForShapeOutside):
- platform/graphics/Path.cpp:
(WebCore::Path::length):
(WebCore::Path::traversalStateAtLength):
(WebCore::pathLengthApplierFunction): Deleted.
- platform/graphics/Path.h:
- platform/graphics/cairo/FontCairo.cpp:
(WebCore::findPathIntersections):
(WebCore::FontCascade::dashesForIntersectionsWithRect):
- platform/graphics/cairo/PathCairo.cpp:
(WebCore::Path::apply):
- platform/graphics/cg/PathCG.cpp:
(WebCore::CGPathApplierToPathApplier):
(WebCore::Path::apply):
- rendering/svg/RenderSVGPath.cpp:
(WebCore::RenderSVGPath::updateZeroLengthSubpaths):
- rendering/svg/RenderSVGShape.cpp:
(WebCore::RenderSVGShape::processMarkerPositions):
- rendering/svg/SVGMarkerData.h:
(WebCore::SVGMarkerData::updateFromPathElement):
- rendering/svg/SVGSubpathData.h:
(WebCore::SVGSubpathData::updateFromPathElement):
(WebCore::SVGSubpathData::SVGSubpathData): Deleted.
- svg/SVGPathUtilities.cpp:
(WebCore::pathIteratorForBuildingString):
(WebCore::buildStringFromPath):
Source/WebKit2:
- Shared/WebCoreArgumentCoders.cpp:
(IPC::pathEncodeApplierFunction):
(IPC::ArgumentCoder<Path>::encode):
(IPC::pathPointCountApplierFunction): Deleted.
- 11:47 AM Changeset in webkit [187596] by
-
- 12 edits in trunk
[EFL] Enable IndexedDB based on DatabaseProcess
https://bugs.webkit.org/show_bug.cgi?id=147221
Patch by Joonghun Park <jh718.park@samsung.com> on 2015-07-30
Reviewed by Csaba Osztrogonác.
.:
- Source/cmake/OptionsEfl.cmake:
Source/WebKit2:
- DatabaseProcess/efl/DatabaseProcessMainEfl.cpp: Add ecore_init().
Without this call, it leads to crash when launching DatabaseProcess.
- PlatformEfl.cmake: Add missing include_directory.
- Shared/efl/ProcessExecutablePathEfl.cpp:
(WebKit::executablePathOfDatabaseProcess):
- UIProcess/Launcher/efl/ProcessLauncherEfl.cpp:
(WebKit::ProcessLauncher::launchProcess):
- UIProcess/efl/WebProcessPoolEfl.cpp:
(WebKit::WebProcessPool::legacyPlatformDefaultIndexedDBDatabaseDirectory):
Add default path for indexedDB sqlite3 db file.
Tools:
- Scripts/webkitperl/FeatureList.pm:
LayoutTests:
- platform/efl/TestExpectations: Update IndexedDB test expectations.
- 11:39 AM Changeset in webkit [187595] by
-
- 6 edits in trunk/LayoutTests
aria-liveregions-notifications tests are very flaky
https://bugs.webkit.org/show_bug.cgi?id=147299
<rdar://problem/21998675>
Patch by Nan Wang <n_wang@apple.com> on 2015-07-30
Reviewed by Chris Fleizach.
These tests were flaky because they relied on timer notification callbacks.
Fixed these tests by using different objects to capture the notifications instead.
- platform/mac/TestExpectations:
- platform/mac/accessibility/aria-liveregions-notifications-always-sent-expected.txt:
- platform/mac/accessibility/aria-liveregions-notifications-always-sent.html:
- platform/mac/accessibility/aria-liveregions-notifications-expected.txt:
- platform/mac/accessibility/aria-liveregions-notifications.html:
- 11:36 AM Changeset in webkit [187594] by
-
- 2 edits in trunk/Source/WebKit2
Minimize children vector capacity changes in PlatformCALayerRemote::recursiveBuildTransaction()
https://bugs.webkit.org/show_bug.cgi?id=147446
Reviewed by Simon Fraser.
Minimize children vector capacity changes in PlatformCALayerRemote::recursiveBuildTransaction()
by leveraging the fact that we know in advance how many layer IDs are going to be added. We
now set the Vector size from the start, instead of clearing it and then growing the vector
capacity when appending the layer IDs one by one.
- WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
(WebKit::PlatformCALayerRemote::recursiveBuildTransaction):
- 11:32 AM Changeset in webkit [187593] by
-
- 4 edits2 adds in trunk
Selecting in an iframe can cause main page scrolling
https://bugs.webkit.org/show_bug.cgi?id=147431
rdar://problem/19244589
Reviewed by Zalan Bujtas.
Source/WebCore:
The RenderLayer auatoscroll code walks up the RenderLayer hierarchy, crossing
frame boundaries. However, as it crosses into an ancestor frame it failed to
map the target rect into the coordinate space of the new frame, which caused
us to scroll to an incorrect location in that parent frame.
Test: fast/events/autoscroll-in-iframe.html
- rendering/RenderLayer.cpp:
(WebCore::parentLayerCrossFrame): Make the layer a reference, and pass in
an optional rect. When crossing frame boundaries, map the rect from the
contents of the child frame to the contents of the parent frame.
(WebCore::RenderLayer::enclosingScrollableLayer): Pass optional rect.
(WebCore::RenderLayer::scrollRectToVisible):
(WebCore::RenderLayer::hasScrollableOrRubberbandableAncestor):
- rendering/RenderLayer.h:
LayoutTests:
Test that uses eventSender to select in an iframe after scrolling the
main page.
- fast/events/autoscroll-in-iframe-expected.txt: Added.
- fast/events/autoscroll-in-iframe.html: Added.
- 11:31 AM Changeset in webkit [187592] by
-
- 3 edits in trunk/Source/WebCore
Improve the history logging output
https://bugs.webkit.org/show_bug.cgi?id=147429
Reviewed by Alexey Proskuryakov.
Improve the History log channel output to show which frame is navigating,
print the addresses of the HistoryController and Frame, and print URLs
for everything.
Remove the BackForward log channel which had just one calling location,
and log for pushState/replaceState.
- loader/HistoryController.cpp:
(WebCore::HistoryController::updateForBackForwardNavigation):
(WebCore::HistoryController::updateForReload):
(WebCore::HistoryController::updateForStandardLoad):
(WebCore::HistoryController::updateForRedirectWithLockedBackForwardList):
(WebCore::HistoryController::updateForClientRedirect):
(WebCore::HistoryController::updateForCommit):
(WebCore::HistoryController::updateBackForwardListClippedAtTarget):
(WebCore::HistoryController::pushState):
(WebCore::HistoryController::replaceState):
- platform/Logging.h:
- 11:29 AM Changeset in webkit [187591] by
-
- 2 edits in trunk/Source/JavaScriptCore
Add the "wasm" directory to the Additional Include Directories for jsc.exe
https://bugs.webkit.org/show_bug.cgi?id=147443
Patch by Sukolsak Sakshuwong <Sukolsak Sakshuwong> on 2015-07-30
Reviewed by Mark Lam.
This patch should fix the "..\..\jsc.cpp(46): fatal error C1083:
Cannot open include file: 'JSWASMModule.h'" error in the Windows build.
- JavaScriptCore.vcxproj/jsc/jscCommon.props:
- 11:21 AM Changeset in webkit [187590] by
-
- 14 edits in branches/jsc-tailcall/Source/JavaScriptCore
Merged r187505 from trunk.
Simplify call linking
https://bugs.webkit.org/show_bug.cgi?id=147363
Reviewed by Filip Pizlo.
Previously, we were passing both the CallLinkInfo and a
(CodeSpecializationKind, RegisterPreservationMode) pair to the
different call linking slow paths. However, the CallLinkInfo already
has all of that information, and we don't gain anything by having them
in additional static parameters - except possibly a very small
performance gain in presence of inlining. However since those are
already slow paths, this performance loss (if it exists) will not be
visible in practice.
This patch removes the various specialized thunks and JIT operations
for regular and polymorphic call linking with a single thunk and
operation for each case. Moreover, it removes the four specialized
virtual call thunks and operations with one virtual call thunk for each
call link info, allowing for better branch prediction by the CPU and
fixing a pre-existing FIXME.
- bytecode/CallLinkInfo.cpp: (JSC::CallLinkInfo::unlink): (JSC::CallLinkInfo::dummy): Deleted.
- bytecode/CallLinkInfo.h: (JSC::CallLinkInfo::CallLinkInfo): (JSC::CallLinkInfo::registerPreservationMode): (JSC::CallLinkInfo::setUpCallFromFTL): (JSC::CallLinkInfo::setSlowStub): (JSC::CallLinkInfo::clearSlowStub): (JSC::CallLinkInfo::slowStub):
- dfg/DFGDriver.cpp: (JSC::DFG::compileImpl):
- dfg/DFGJITCompiler.cpp: (JSC::DFG::JITCompiler::link):
- ftl/FTLJSCallBase.cpp: (JSC::FTL::JSCallBase::link):
- jit/JITCall.cpp: (JSC::JIT::compileCallEvalSlowCase): (JSC::JIT::compileOpCall): (JSC::JIT::compileOpCallSlowCase):
- jit/JITCall32_64.cpp: (JSC::JIT::compileCallEvalSlowCase): (JSC::JIT::compileOpCall): (JSC::JIT::compileOpCallSlowCase):
- jit/JITOperations.cpp:
- jit/JITOperations.h: (JSC::operationLinkFor): Deleted. (JSC::operationVirtualFor): Deleted. (JSC::operationLinkPolymorphicCallFor): Deleted.
- jit/Repatch.cpp: (JSC::generateByIdStub): (JSC::linkSlowFor): (JSC::linkFor): (JSC::revertCall): (JSC::unlinkFor): (JSC::linkVirtualFor): (JSC::linkPolymorphicCall):
- jit/Repatch.h:
- jit/ThunkGenerators.cpp: (JSC::linkCallThunkGenerator): (JSC::linkPolymorphicCallThunkGenerator): (JSC::virtualThunkFor): (JSC::linkForThunkGenerator): Deleted. (JSC::linkConstructThunkGenerator): Deleted. (JSC::linkCallThatPreservesRegsThunkGenerator): Deleted. (JSC::linkConstructThatPreservesRegsThunkGenerator): Deleted. (JSC::linkPolymorphicCallForThunkGenerator): Deleted. (JSC::linkPolymorphicCallThatPreservesRegsThunkGenerator): Deleted. (JSC::virtualForThunkGenerator): Deleted. (JSC::virtualCallThunkGenerator): Deleted. (JSC::virtualConstructThunkGenerator): Deleted. (JSC::virtualCallThatPreservesRegsThunkGenerator): Deleted. (JSC::virtualConstructThatPreservesRegsThunkGenerator): Deleted.
- jit/ThunkGenerators.h: (JSC::linkThunkGeneratorFor): Deleted. (JSC::linkPolymorphicCallThunkGeneratorFor): Deleted. (JSC::virtualThunkGeneratorFor): Deleted.
- 10:19 AM Changeset in webkit [187589] by
-
- 2 edits2 adds in trunk/LayoutTests
Media Session: test Next/Previous Track media control events delivered to Content media sessions https://bugs.webkit.org/show_bug.cgi?id=147416
Reviewed by Eric Carlson.
- media/session/track-media-events-in-content-sessions-expected.txt: Added.
- media/session/track-media-events-in-content-sessions.html: Added.
- platform/mac/TestExpectations: Media Session support is disabled by default.
- 10:02 AM Changeset in webkit [187588] by
-
- 5 edits in trunk/Source/WebCore
Media Session: add infrastructure for testing media control events
https://bugs.webkit.org/show_bug.cgi?id=147412
Reviewed by Eric Carlson.
- Modules/mediasession/MediaSessionManager.h:
- testing/Internals.cpp:
(WebCore::Internals::sendMediaControlEvent): Let tests simulate media control events.
- testing/Internals.h:
- testing/Internals.idl:
- 9:25 AM Changeset in webkit [187587] by
-
- 48 edits in trunk/Source
Mark more classes as fast allocated
https://bugs.webkit.org/show_bug.cgi?id=147440
Reviewed by Sam Weinig.
Mark more classes as fast allocated for performance. We heap-allocate
objects of those types throughout the code base.
Source/JavaScriptCore:
- API/JSCallbackObject.h:
- API/ObjCCallbackFunction.mm:
- bytecode/BytecodeKills.h:
- bytecode/BytecodeLivenessAnalysis.h:
- bytecode/CallLinkStatus.h:
- bytecode/FullBytecodeLiveness.h:
- bytecode/SamplingTool.h:
- bytecompiler/BytecodeGenerator.h:
- dfg/DFGBasicBlock.h:
- dfg/DFGBlockMap.h:
- dfg/DFGInPlaceAbstractState.h:
- dfg/DFGThreadData.h:
- heap/HeapVerifier.h:
- heap/SlotVisitor.h:
- parser/Lexer.h:
- runtime/ControlFlowProfiler.h:
- runtime/TypeProfiler.h:
- runtime/TypeProfilerLog.h:
- runtime/Watchdog.h:
Source/WebCore:
- editing/Editor.h:
- history/CachedFrame.h:
- history/CachedPage.h:
- html/parser/HTMLResourcePreloader.h:
- loader/PolicyChecker.h:
- loader/SubresourceLoader.h:
- loader/cache/CachedResource.h:
- page/animation/AnimationController.h:
- page/scrolling/ScrollingConstraints.h:
- page/scrolling/ScrollingStateTree.h:
- platform/graphics/Font.h:
- platform/graphics/GraphicsLayerUpdater.h:
- rendering/FilterEffectRenderer.h:
- rendering/ImageQualityController.h:
- rendering/RenderLayerFilterInfo.h:
- rendering/SimpleLineLayoutResolver.h:
- rendering/shapes/RasterShape.h:
- rendering/shapes/Shape.h:
Source/WebKit2:
- NetworkProcess/cache/NetworkCacheStorage.cpp:
- NetworkProcess/cache/NetworkCacheStorage.h:
- Platform/IPC/MessageRecorder.h:
- Platform/mac/LayerHostingContext.h:
Source/WTF:
- wtf/Bag.h:
- wtf/SegmentedVector.h:
- wtf/SentinelLinkedList.h:
- 9:21 AM Changeset in webkit [187586] by
-
- 3 edits in trunk/Source/WebCore
[GTK] Crashes when SoupSession is destroyed in exit handler
https://bugs.webkit.org/show_bug.cgi?id=145347
Reviewed by Carlos Garcia Campos.
Leak the default SoupSession with NeverDestroyed to avoid races at program exit.
- platform/network/soup/SoupNetworkSession.cpp:
(WebCore::SoupNetworkSession::defaultSession):
- platform/network/soup/SoupNetworkSession.h:
- 9:16 AM Changeset in webkit [187585] by
-
- 11 edits in trunk
Build AppleWin port with CMake
https://bugs.webkit.org/show_bug.cgi?id=147385
Reviewed by Martin Robinson.
.:
- Source/cmake/OptionsWindows.cmake:
Use the static multithreaded runtime. Based on
http://www.cmake.org/Wiki/CMake_FAQ#How_can_I_build_my_MSVC_application_with_a_static_runtime.3F
Source/WebCore:
- CMakeLists.txt:
Add makesafeseh.asm to 32-bit build. It needs to be after the ADD_PRECOMPILED_HEADER macro
because CMake can only set COMPILE_FLAGS once with set_source_files_properties, and we want
to use that to add /safeseh instead of a precompiled header (which wouldn't be used anyway in assembly).
- PlatformAppleWin.cmake:
- PlatformWin.cmake:
- PlatformWinCairo.cmake:
Added missing source files and libraries.
Source/WebKit:
- PlatformWin.cmake:
Added missing source files and libraries.
Tools:
- WinLauncher/CMakeLists.txt:
Link to CoreFoundation.lib and added /NODEFAULTLIB:LIBCMT to get it to link successfully.
- 8:56 AM Changeset in webkit [187584] by
-
- 2 edits in trunk/Source/WebCore
[Win] Unreviewed build fix after r187582.
- accessibility/AccessibilityAllInOne.cpp:
Include new files.
- 7:51 AM Changeset in webkit [187583] by
-
- 6 edits2 adds in trunk
Web Inspector: [Freetype] Allow inspector to retrieve a list of system fonts
https://bugs.webkit.org/show_bug.cgi?id=147018
Reviewed by Carlos Garcia Campos.
Source/WebCore:
No new tests; unskipped inspector/css/get-system-fonts.html
- platform/graphics/freetype/FontCacheFreeType.cpp:
(WebCore::patternToFamilies): Added.
(WebCore::FontCache::systemFontFamilies): Implemented.
(WebCore::strongAliasesForFamily): Split some code off to patternToFamilies.
LayoutTests:
- inspector/css/get-system-fonts-expected.txt: Expect some free fonts to be missing....
- inspector/css/get-system-fonts.html: Check for some free fonts.
- platform/gtk/TestExpectations: Unskip the test.
- platform/gtk/inspector/css/get-system-fonts-expected.txt: Added.
- 4:10 AM Changeset in webkit [187582] by
-
- 12 edits6 adds in trunk
AX: VoiceOver unable to access content in malformed trees
https://bugs.webkit.org/show_bug.cgi?id=147295
<rdar://problem/14862892>
Patch by Nan Wang <n_wang@apple.com> on 2015-07-30
Reviewed by Chris Fleizach.
Source/WebCore:
VoiceOver is skipping the content of malformed trees. This fixes the problem
by having the tree check if it has valid children (treeitems) and makes treeitems
check if they are inside trees.
Test: platform/mac/accessibility/malformed-tree.html
- CMakeLists.txt:
- WebCore.vcxproj/WebCore.vcxproj:
- WebCore.vcxproj/WebCore.vcxproj.filters:
- WebCore.xcodeproj/project.pbxproj:
- accessibility/AXObjectCache.cpp:
(WebCore::createFromRenderer):
- accessibility/AccessibilityObject.h:
(WebCore::AccessibilityObject::addChildren):
(WebCore::AccessibilityObject::addChild):
(WebCore::AccessibilityObject::insertChild):
(WebCore::AccessibilityObject::shouldIgnoreAttributeRole):
(WebCore::AccessibilityObject::canHaveChildren):
(WebCore::AccessibilityObject::hasChildren):
- accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::determineAccessibilityRole):
- accessibility/AccessibilityTree.cpp: Added.
(WebCore::AccessibilityTree::AccessibilityTree):
(WebCore::AccessibilityTree::~AccessibilityTree):
(WebCore::AccessibilityTree::create):
(WebCore::AccessibilityTree::computeAccessibilityIsIgnored):
(WebCore::AccessibilityTree::determineAccessibilityRole):
(WebCore::AccessibilityTree::isTreeValid):
- accessibility/AccessibilityTree.h: Added.
- accessibility/AccessibilityTreeItem.cpp: Added.
(WebCore::AccessibilityTreeItem::AccessibilityTreeItem):
(WebCore::AccessibilityTreeItem::~AccessibilityTreeItem):
(WebCore::AccessibilityTreeItem::create):
(WebCore::AccessibilityTreeItem::determineAccessibilityRole):
- accessibility/AccessibilityTreeItem.h: Added.
LayoutTests:
- accessibility/aria-mappings.html:
- accessibility/treeitem-child-exposed-expected.txt:
- accessibility/treeitem-child-exposed.html:
- platform/mac/accessibility/malformed-tree-expected.txt: Added.
- platform/mac/accessibility/malformed-tree.html: Added.
- 2:52 AM Changeset in webkit [187581] by
-
- 2 edits in trunk/LayoutTests
Update JSC's standalone-pre.js for r187575
https://bugs.webkit.org/show_bug.cgi?id=147444
Unreviewed.
- resources/standalone-pre.js:
(shouldBeType):
Copy shouldBeType() from the non-standalone version.
Jul 29, 2015:
- 11:39 PM Changeset in webkit [187580] by
-
- 4 edits in trunk/Source/WebCore
[GTK] Paste data is removed from clipboard when closing browser tab
https://bugs.webkit.org/show_bug.cgi?id=144549
Reviewed by Martin Robinson.
GTK+ stores all clipboards in gtk_main or gtk_application_shutdown
when the main loop finishes. We don't use gtk_main() in the web
process, so we need to do the same and store all clipboards on
process shutdown.
- platform/gtk/PasteboardGtk.cpp:
(WebCore::Pasteboard::Pasteboard): Register the GtkClipboard.
- platform/gtk/PasteboardHelper.cpp:
(WebCore::PasteboardHelper::singleton): Make it destructible.
(WebCore::PasteboardHelper::~PasteboardHelper): Call
gtk_clipboard_store for every registered GtkClipboard.
(WebCore::PasteboardHelper::registerClipboard): Save the given
GtkClipboard.
- platform/gtk/PasteboardHelper.h:
- 11:26 PM Changeset in webkit [187579] by
-
- 2 edits1 add in trunk/Source/JavaScriptCore
DFG::ArgumentsEliminationPhase should emit a PutStack for all of the GetStacks that the ByteCodeParser emitted
https://bugs.webkit.org/show_bug.cgi?id=147433
rdar://problem/21668986
Reviewed by Mark Lam.
Ideally, the ByteCodeParser would only emit SetArgument nodes for named arguments. But
currently that's not what it does - it emits a SetArgument for every argument that a varargs
call may pass. Each SetArgument gets turned into a GetStack. This means that if
ArgumentsEliminationPhase optimizes away PutStacks for those varargs arguments that didn't
get passed or used, we get degenerate IR where we have a GetStack of something that didn't
have a PutStack.
This fixes the bug by removing the code to optimize away PutStacks in
ArgumentsEliminationPhase.
- dfg/DFGArgumentsEliminationPhase.cpp:
- tests/stress/varargs-inlining-underflow.js: Added.
(baz):
(bar):
(foo):
- 10:47 PM Changeset in webkit [187578] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Improve styles of debugger popovers
https://bugs.webkit.org/show_bug.cgi?id=147437
Reviewed by Timothy Hatcher.
Use non-monospace font and improve spacing.
- UserInterface/Views/SourceCodeTextEditor.css:
(.popover .debugger-popover-content > .title):
(.popover .debugger-popover-content > .body):
- 9:59 PM Changeset in webkit [187577] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Border line in the debug popover should be semi-transparent black, not dark yellow
https://bugs.webkit.org/show_bug.cgi?id=147435
Reviewed by Timothy Hatcher.
- UserInterface/Views/SourceCodeTextEditor.css:
(.popover .debugger-popover-content > .body):
(@media (-webkit-min-device-pixel-ratio: 2)): Use hairline borders on retina.
- 9:40 PM Changeset in webkit [187576] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: " = $0" text in the Elements panel should anti-aliased
https://bugs.webkit.org/show_bug.cgi?id=147432
Reviewed by Timothy Hatcher.
- UserInterface/Views/DOMTreeOutline.css:
(.dom-tree-outline li.selected > span::after):
(.dom-tree-outline:focus li.selected > span::after):
Decrease the opacity just slightly to make " = $0" more distinct from DOM nodes.
- 8:33 PM Changeset in webkit [187575] by
-
- 27 edits9 copies18 adds in trunk
Implement basic types for ECMAScript Internationalization API
https://bugs.webkit.org/show_bug.cgi?id=146926
Patch by Andy VanWagoner <thetalecrafter@gmail.com> on 2015-07-29
Reviewed by Benjamin Poulain.
.:
Enable flag now that the basic objects are in place.
- Source/cmake/WebKitFeatures.cmake: enable INTL
Source/JavaScriptCore:
Adds basic types for ECMA-402 2nd edition, but does not implement the full locale-aware features yet.
http://www.ecma-international.org/ecma-402/2.0/ECMA-402.pdf
- CMakeLists.txt: Added new Intl files.
- Configurations/FeatureDefines.xcconfig: Enable INTL.
- DerivedSources.make: Added Intl files.
- JavaScriptCore.xcodeproj/project.pbxproj: Added Intl files.
- JavaScriptCore.vcxproj/JavaScriptCore.vcxproj: Added Intl files.
- JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters: Added Intl files.
- runtime/CommonIdentifiers.h: Added Collator, NumberFormat, and DateTimeFormat.
- runtime/DateConstructor.cpp: Made Date.now public.
- runtime/DateConstructor.h: Made Date.now public.
- runtime/IntlCollator.cpp: Added.
(JSC::IntlCollator::create):
(JSC::IntlCollator::createStructure):
(JSC::IntlCollator::IntlCollator):
(JSC::IntlCollator::finishCreation):
(JSC::IntlCollator::destroy):
(JSC::IntlCollator::visitChildren):
(JSC::IntlCollator::setBoundCompare):
(JSC::IntlCollatorFuncCompare): Added placeholder implementation using codePointCompare.
- runtime/IntlCollator.h: Added.
(JSC::IntlCollator::constructor):
(JSC::IntlCollator::boundCompare):
- runtime/IntlCollatorConstructor.cpp: Added.
(JSC::IntlCollatorConstructor::create):
(JSC::IntlCollatorConstructor::createStructure):
(JSC::IntlCollatorConstructor::IntlCollatorConstructor):
(JSC::IntlCollatorConstructor::finishCreation):
(JSC::constructIntlCollator): Added Collator constructor (10.1.2).
(JSC::callIntlCollator): Added Collator constructor (10.1.2).
(JSC::IntlCollatorConstructor::getConstructData):
(JSC::IntlCollatorConstructor::getCallData):
(JSC::IntlCollatorConstructor::getOwnPropertySlot):
(JSC::IntlCollatorConstructorFuncSupportedLocalesOf): Added placeholder implementation returning [].
(JSC::IntlCollatorConstructor::visitChildren):
- runtime/IntlCollatorConstructor.h: Added.
(JSC::IntlCollatorConstructor::collatorStructure):
- runtime/IntlCollatorPrototype.cpp: Added.
(JSC::IntlCollatorPrototype::create):
(JSC::IntlCollatorPrototype::createStructure):
(JSC::IntlCollatorPrototype::IntlCollatorPrototype):
(JSC::IntlCollatorPrototype::finishCreation):
(JSC::IntlCollatorPrototype::getOwnPropertySlot):
(JSC::IntlCollatorPrototypeGetterCompare): Added compare getter (10.3.3)
(JSC::IntlCollatorPrototypeFuncResolvedOptions): Added placeholder implementation returning {}.
- runtime/IntlCollatorPrototype.h: Added.
- runtime/IntlDateTimeFormat.cpp: Added.
(JSC::IntlDateTimeFormat::create):
(JSC::IntlDateTimeFormat::createStructure):
(JSC::IntlDateTimeFormat::IntlDateTimeFormat):
(JSC::IntlDateTimeFormat::finishCreation):
(JSC::IntlDateTimeFormat::destroy):
(JSC::IntlDateTimeFormat::visitChildren):
(JSC::IntlDateTimeFormat::setBoundFormat):
(JSC::IntlDateTimeFormatFuncFormatDateTime): Added placeholder implementation returning new Date(value).toString().
- runtime/IntlDateTimeFormat.h: Added.
(JSC::IntlDateTimeFormat::constructor):
(JSC::IntlDateTimeFormat::boundFormat):
- runtime/IntlDateTimeFormatConstructor.cpp: Added.
(JSC::IntlDateTimeFormatConstructor::create):
(JSC::IntlDateTimeFormatConstructor::createStructure):
(JSC::IntlDateTimeFormatConstructor::IntlDateTimeFormatConstructor):
(JSC::IntlDateTimeFormatConstructor::finishCreation):
(JSC::constructIntlDateTimeFormat): Added DateTimeFormat constructor (12.1.2).
(JSC::callIntlDateTimeFormat): Added DateTimeFormat constructor (12.1.2).
(JSC::IntlDateTimeFormatConstructor::getConstructData):
(JSC::IntlDateTimeFormatConstructor::getCallData):
(JSC::IntlDateTimeFormatConstructor::getOwnPropertySlot):
(JSC::IntlDateTimeFormatConstructorFuncSupportedLocalesOf): Added placeholder implementation returning [].
(JSC::IntlDateTimeFormatConstructor::visitChildren):
- runtime/IntlDateTimeFormatConstructor.h: Added.
(JSC::IntlDateTimeFormatConstructor::dateTimeFormatStructure):
- runtime/IntlDateTimeFormatPrototype.cpp: Added.
(JSC::IntlDateTimeFormatPrototype::create):
(JSC::IntlDateTimeFormatPrototype::createStructure):
(JSC::IntlDateTimeFormatPrototype::IntlDateTimeFormatPrototype):
(JSC::IntlDateTimeFormatPrototype::finishCreation):
(JSC::IntlDateTimeFormatPrototype::getOwnPropertySlot):
(JSC::IntlDateTimeFormatPrototypeGetterFormat): Added format getter (12.3.3).
(JSC::IntlDateTimeFormatPrototypeFuncResolvedOptions): Added placeholder implementation returning {}.
- runtime/IntlDateTimeFormatPrototype.h: Added.
- runtime/IntlNumberFormat.cpp: Added.
(JSC::IntlNumberFormat::create):
(JSC::IntlNumberFormat::createStructure):
(JSC::IntlNumberFormat::IntlNumberFormat):
(JSC::IntlNumberFormat::finishCreation):
(JSC::IntlNumberFormat::destroy):
(JSC::IntlNumberFormat::visitChildren):
(JSC::IntlNumberFormat::setBoundFormat):
(JSC::IntlNumberFormatFuncFormatNumber): Added placeholder implementation returning Number(value).toString().
- runtime/IntlNumberFormat.h: Added.
(JSC::IntlNumberFormat::constructor):
(JSC::IntlNumberFormat::boundFormat):
- runtime/IntlNumberFormatConstructor.cpp: Added.
(JSC::IntlNumberFormatConstructor::create):
(JSC::IntlNumberFormatConstructor::createStructure):
(JSC::IntlNumberFormatConstructor::IntlNumberFormatConstructor):
(JSC::IntlNumberFormatConstructor::finishCreation):
(JSC::constructIntlNumberFormat): Added NumberFormat constructor (11.1.2).
(JSC::callIntlNumberFormat): Added NumberFormat constructor (11.1.2).
(JSC::IntlNumberFormatConstructor::getConstructData):
(JSC::IntlNumberFormatConstructor::getCallData):
(JSC::IntlNumberFormatConstructor::getOwnPropertySlot):
(JSC::IntlNumberFormatConstructorFuncSupportedLocalesOf): Added placeholder implementation returning [].
(JSC::IntlNumberFormatConstructor::visitChildren):
- runtime/IntlNumberFormatConstructor.h: Added.
(JSC::IntlNumberFormatConstructor::numberFormatStructure):
- runtime/IntlNumberFormatPrototype.cpp: Added.
(JSC::IntlNumberFormatPrototype::create):
(JSC::IntlNumberFormatPrototype::createStructure):
(JSC::IntlNumberFormatPrototype::IntlNumberFormatPrototype):
(JSC::IntlNumberFormatPrototype::finishCreation):
(JSC::IntlNumberFormatPrototype::getOwnPropertySlot):
(JSC::IntlNumberFormatPrototypeGetterFormat): Added format getter (11.3.3).
(JSC::IntlNumberFormatPrototypeFuncResolvedOptions): Added placeholder implementation returning {}.
- runtime/IntlNumberFormatPrototype.h: Added.
- runtime/IntlObject.cpp:
(JSC::IntlObject::create):
(JSC::IntlObject::finishCreation): Added Collator, NumberFormat, and DateTimeFormat properties (8.1).
(JSC::IntlObject::visitChildren):
- runtime/IntlObject.h:
(JSC::IntlObject::collatorConstructor):
(JSC::IntlObject::collatorPrototype):
(JSC::IntlObject::collatorStructure):
(JSC::IntlObject::numberFormatConstructor):
(JSC::IntlObject::numberFormatPrototype):
(JSC::IntlObject::numberFormatStructure):
(JSC::IntlObject::dateTimeFormatConstructor):
(JSC::IntlObject::dateTimeFormatPrototype):
(JSC::IntlObject::dateTimeFormatStructure):
- runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::init):
Source/WebCore:
- Configurations/FeatureDefines.xcconfig: Enabled INTL.
Source/WebKit/mac:
- Configurations/FeatureDefines.xcconfig: Enabled INTL.
Source/WebKit2:
- Configurations/FeatureDefines.xcconfig: Enabled INTL.
Tools:
Enable flag now that the basic objects are in place.
- Scripts/webkitperl/FeatureList.pm: Enabled INTL
LayoutTests:
Add tests for Intl.Collator, Intl.NumberFormat, and Intl.DateTimeFormat
- TestExpectations: Enabled intl tests.
- js/intl-collator-expected.txt: Added.
- js/intl-collator.html: Added.
- js/intl-datetimeformat-expected.txt: Added.
- js/intl-datetimeformat.html: Added.
- js/intl-expected.txt: Updated.
- js/intl-numberformat-expected.txt: Added.
- js/intl-numberformat.html: Added.
- js/script-tests/intl-collator.js: Added.
- js/script-tests/intl-datetimeformat.js: Added.
- js/script-tests/intl-numberformat.js: Added.
- js/script-tests/intl.js: Added tests for Collator, NumberFormat, and DateTimeFormat.
- 8:04 PM Changeset in webkit [187574] by
-
- 2 edits in trunk/Source/WebCore
Make TextLayout fast allocated
https://bugs.webkit.org/show_bug.cgi?id=147428
Reviewed by Simon Fraser.
Make TextLayout fast allocated as it is allocated frequently and on the
heap.
- platform/graphics/mac/ComplexTextController.cpp:
- 7:54 PM Changeset in webkit [187573] by
-
- 3 edits in trunk/Source/WebCore
Fix iOS build
Unreviewed.
- platform/graphics/FontCascade.cpp:
(WebCore::FontCascade::FontCascade): Deleted.
- platform/graphics/FontCascade.h:
- 7:34 PM Changeset in webkit [187572] by
-
- 2 edits in trunk/Source/WebKit2
[WK2] Use FastMalloc in IPC::MessageDecoder
https://bugs.webkit.org/show_bug.cgi?id=147425
Reviewed by Sam Weinig.
Use FastMalloc in IPC::MessageDecoder instead of system malloc, for
performance reasons and consistency.
- Platform/IPC/ArgumentDecoder.cpp:
(IPC::ArgumentDecoder::~ArgumentDecoder):
(IPC::ArgumentDecoder::initialize):
- 7:00 PM Changeset in webkit [187571] by
-
- 2 edits in trunk/Source/WebCore
[EFL][CoordinatedGraphics] fixed position banner is moved when enabling delegateScrolling
https://bugs.webkit.org/show_bug.cgi?id=146959
Reviewed by Simon Fraser.
Don't update fixed visible content area in ScrollingCoordinatorCoordinatedGraphics::requestScrollPositionUpdate
because PageViewportController and WebView on CoordinatedGraphics also update the visible content area according
to the scrolling. So this problem has been caused by duplicated fixed visible rect update.
EFL WTR doesn't work with fixed layout and delegatesScrolling yet. So no test for this issue.
- page/scrolling/coordinatedgraphics/ScrollingCoordinatorCoordinatedGraphics.cpp:
(WebCore::ScrollingCoordinatorCoordinatedGraphics::requestScrollPositionUpdate): Deleted.
- 6:18 PM Changeset in webkit [187570] by
-
- 3 edits in trunk/Source/WebInspectorUI
Web Inspector: Allow record filtering by frame duration in Rendering Frames timeline
https://bugs.webkit.org/show_bug.cgi?id=147419
Reviewed by Timothy Hatcher.
- Localizations/en.lproj/localizedStrings.js:
New scope bar item labels.
- UserInterface/Views/RenderingFrameTimelineView.js:
(WebInspector.RenderingFrameTimelineView):
New scope bar for frame duration filtering.
(WebInspector.RenderingFrameTimelineView.displayNameForDurationFilter):
(WebInspector.RenderingFrameTimelineView.prototype.matchTreeElementAgainstCustomFilters):
Overridden for view specific filtering. Filtering applies to RenderingFrameTimelineRecords only.
(WebInspector.RenderingFrameTimelineView.prototype._scopeBarSelectionDidChange):
Force sidebar filtering when duration filter changes.
- 5:47 PM Changeset in webkit [187569] by
-
- 6 edits in trunk/Source/WebCore
Use rvalue references in FontCascade
https://bugs.webkit.org/show_bug.cgi?id=147427
Reviewed by Simon Fraser.
No new tests because there is no behavior change.
- css/CSSFontSelector.cpp:
(WebCore::CSSFontSelector::resolvesFamilyFor):
- platform/graphics/FontCascade.cpp:
(WebCore::FontCascade::FontCascade):
(WebCore::retrieveOrAddCachedFonts):
(WebCore::FontCascade::update):
- platform/graphics/FontCascade.h:
- platform/graphics/FontCascadeFonts.cpp:
(WebCore::FontCascadeFonts::FontCascadeFonts):
- platform/graphics/FontCascadeFonts.h:
(WebCore::FontCascadeFonts::create):
- 4:38 PM Changeset in webkit [187568] by
-
- 5 edits in trunk/Source/WebCore
Rename FontDescriptionFontDataCacheKey to FontDescriptionKey
https://bugs.webkit.org/show_bug.cgi?id=147424
Reviewed by Simon Fraser.
This struct holds information about a FontDescription.
No new tests because there is no behavior change.
- css/CSSSegmentedFontFace.cpp:
(WebCore::CSSSegmentedFontFace::fontRanges):
- platform/graphics/FontCache.cpp:
(WebCore::FontPlatformDataCacheKeyHash::hash):
(WebCore::computeHash): Deleted.
- platform/graphics/FontCache.h:
(WebCore::FontDescriptionKey::FontDescriptionKey):
(WebCore::FontDescriptionKey::operator==):
(WebCore::FontDescriptionKey::operator!=):
(WebCore::FontDescriptionKey::computeHash):
(WebCore::FontDescriptionFontDataCacheKey::FontDescriptionFontDataCacheKey): Deleted.
(WebCore::FontDescriptionFontDataCacheKey::operator==): Deleted.
(WebCore::FontDescriptionFontDataCacheKey::operator!=): Deleted.
(WebCore::FontDescriptionFontDataCacheKey::computeHash): Deleted.
- platform/graphics/FontCascade.cpp:
(WebCore::operator==):
(WebCore::makeFontCascadeCacheKey):
(WebCore::computeFontCascadeCacheHash):
- 4:29 PM Changeset in webkit [187567] by
-
- 5 edits in branches/safari-600.8-branch/Source
Versioning.
- 4:28 PM Changeset in webkit [187566] by
-
- 5 edits in branches/safari-600.1.4.17-branch/Source
Versioning.
- 4:03 PM Changeset in webkit [187565] by
-
- 2 edits in trunk/Source/WebKit2
Preview should not start if touch handler prevents default.
https://bugs.webkit.org/show_bug.cgi?id=147423
rdar://problem/22061043
Reviewed by Tim Horton.
We need to check if _highlightLongPressCanClick has not been reset before
we allow the preview. It can be reset by a touch handler preventing default.
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _interactionShouldBeginFromPreviewItemController:forPosition:]):
- 3:17 PM Changeset in webkit [187564] by
-
- 3 edits2 adds in trunk
Remove the spanner placeholder from m_spannerMap when the placeholder object
gets transferred to a descendant flow.
https://bugs.webkit.org/show_bug.cgi?id=147380
rdar://problem/21981078
Reviewed by David Hyatt.
Before r180328, the spanner placeholder was removed from m_spannerMap through
RenderMultiColumnFlowThread::removeFlowChildInfo() by calling flowThreadRelativeWillBeRemoved()
when the placeholder renderer got transferred to the descendant flow.
Now we just remove it from the map when the renderer is being detached.
Source/WebCore:
Test: fast/multicol/newmulticol/spanner-crash-with-embedded-columns.html
- rendering/RenderMultiColumnFlowThread.cpp:
(WebCore::RenderMultiColumnFlowThread::flowThreadDescendantInserted):
LayoutTests:
- fast/multicol/newmulticol/spanner-crash-with-embedded-columns-expected.txt: Added.
- fast/multicol/newmulticol/spanner-crash-with-embedded-columns.html: Added.
- 3:00 PM Changeset in webkit [187563] by
-
- 2 edits in trunk/Source/WebKit2
AX: iOS: VoiceOver hangs indefinitely when an JS alert appears
https://bugs.webkit.org/show_bug.cgi?id=147386
Reviewed by Dan Bernstein.
Make sure this also builds on iOS8.
- Platform/IPC/mac/ConnectionMac.mm:
- 2:52 PM Changeset in webkit [187562] by
-
- 1 copy in tags/Safari-600.8.8
New tag.
- 2:52 PM Changeset in webkit [187561] by
-
- 1 copy in tags/Safari-600.1.4.17.7
New tag.
- 2:34 PM Changeset in webkit [187560] by
-
- 9 edits5 deletes in trunk/Source/JavaScriptCore
Unreviewed, rolling out r187550.
https://bugs.webkit.org/show_bug.cgi?id=147420
Broke Windows build (again) (Requested by smfr on #webkit).
Reverted changeset:
"Implement WebAssembly module parser"
https://bugs.webkit.org/show_bug.cgi?id=147293
http://trac.webkit.org/changeset/187550
- 2:34 PM Changeset in webkit [187559] by
-
- 2 edits in trunk/Source/WebCore
Review feedback followup to: Crash in WebCore::DocumentLoader::stopLoadingForPolicyChange.
https://bugs.webkit.org/show_bug.cgi?id=147418
- loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::cancelPolicyCheckIfNeeded):
- 2:32 PM Changeset in webkit [187558] by
-
- 2 edits in trunk/Source/WebCore
RELEASE_ASSERT followup to: Crash in WebCore::DocumentLoader::stopLoadingForPolicyChange.
https://bugs.webkit.org/show_bug.cgi?id=147418
Reviewed by Chris Dumez.
- loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::cancelPolicyCheckIfNeeded): RELEASE_ASSERT we have a FrameLoader here.
We want to know if we ever get here without one.
- 2:26 PM Changeset in webkit [187557] by
-
- 3 edits in trunk/Source/WebCore
Crash in WebCore::DocumentLoader::stopLoadingForPolicyChange.
<rdar://problem/21412186> and https://bugs.webkit.org/show_bug.cgi?id=147418
Reviewed by Chris Dumez.
No new tests (No known reproducibility)
- loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::responseReceived): When setting to m_waitingForContentPolicy true, make sure we have a FrameLoader.
(WebCore::DocumentLoader::detachFromFrame): Always explicitly call cancelPolicyCheckIfNeeded().
(WebCore::DocumentLoader::cancelPolicyCheckIfNeeded): Cancel the policy check if there is one.
(WebCore::DocumentLoader::cancelMainResourceLoad): Use cancelPolicyCheckIfNeeded().
- loader/DocumentLoader.h:
- 2:08 PM Changeset in webkit [187556] by
-
- 8 edits in trunk
Crash calling webSocket.close() from onError handler for blocked web socket.
<rdar://problem/21771620> and https://bugs.webkit.org/show_bug.cgi?id=147411
Reviewed by Tim Horton.
Source/WebCore:
Tests: http/tests/security/mixedContent/websocket/insecure-websocket-in-iframe.html
http/tests/security/mixedContent/websocket/insecure-websocket-in-main-frame.html
This was introduced with http://trac.webkit.org/changeset/185848
- Modules/websockets/WebSocket.cpp:
(WebCore::WebSocket::connect): When blocked because of mixedContent, call dispatchOrQueueErrorEvent().
(WebCore::WebSocket::didReceiveMessageError): Use dispatchOrQueueErrorEvent() instead.
(WebCore::WebSocket::dispatchOrQueueErrorEvent): Dispatch the error event, but don't dispatch one twice!
- Modules/websockets/WebSocket.h:
- Modules/websockets/WebSocketChannel.cpp:
(WebCore::WebSocketChannel::fail): Null-check m_handshake before creating a console message from it.
LayoutTests:
- http/tests/security/mixedContent/resources/frame-with-insecure-websocket.html: Add a call to webSocket.close() inside the onError handler.
- http/tests/security/mixedContent/websocket/insecure-websocket-in-iframe-expected.txt:
- http/tests/security/mixedContent/websocket/insecure-websocket-in-main-frame-expected.txt:
- 1:30 PM Changeset in webkit [187555] by
-
- 24 edits1 delete in trunk
Remove native call inlining
https://bugs.webkit.org/show_bug.cgi?id=147417
.:
Rubber-stamped by Filip Pizlo.
- Source/cmake/OptionsEfl.cmake:
- Source/cmake/WebKitFeatures.cmake:
Source/JavaScriptCore:
Rubber Stamped by Filip Pizlo.
- CMakeLists.txt:
- dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): Deleted.
- dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::handleCall): Deleted.
- dfg/DFGClobberize.h:
(JSC::DFG::clobberize): Deleted.
- dfg/DFGDoesGC.cpp:
(JSC::DFG::doesGC): Deleted.
- dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode): Deleted.
- dfg/DFGNode.h:
(JSC::DFG::Node::hasHeapPrediction): Deleted.
(JSC::DFG::Node::hasCellOperand): Deleted.
- dfg/DFGNodeType.h:
- dfg/DFGPredictionPropagationPhase.cpp:
(JSC::DFG::PredictionPropagationPhase::propagate): Deleted.
- dfg/DFGSafeToExecute.h:
(JSC::DFG::safeToExecute): Deleted.
- dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile): Deleted.
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile): Deleted.
- ftl/FTLCapabilities.cpp:
(JSC::FTL::canCompile): Deleted.
- ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::DFG::LowerDFGToLLVM::lower): Deleted.
(JSC::FTL::DFG::LowerDFGToLLVM::compileNode): Deleted.
(JSC::FTL::DFG::LowerDFGToLLVM::compileNativeCallOrConstruct): Deleted.
(JSC::FTL::DFG::LowerDFGToLLVM::getFunctionBySymbol): Deleted.
(JSC::FTL::DFG::LowerDFGToLLVM::getModuleByPathForSymbol): Deleted.
(JSC::FTL::DFG::LowerDFGToLLVM::didOverflowStack): Deleted.
- ftl/FTLState.cpp:
(JSC::FTL::State::State): Deleted.
- ftl/FTLState.h:
- runtime/BundlePath.cpp: Removed.
(JSC::bundlePath): Deleted.
- runtime/JSDataViewPrototype.cpp:
(JSC::getData):
(JSC::setData):
- runtime/Options.h:
Source/WTF:
Rubber-stamped by Filip Pizlo.
- wtf/Platform.h:
- 1:10 PM Changeset in webkit [187554] by
-
- 4 edits2 deletes in branches/safari-600.1.4.17-branch
Roll out r185848. rdar://problem/21708274
- 1:10 PM Changeset in webkit [187553] by
-
- 4 edits2 deletes in branches/safari-600.8-branch
Roll out r185848. rdar://problem/21707923
- 12:54 PM Changeset in webkit [187552] by
-
- 2 edits2 adds in trunk/LayoutTests
Media Session: test 'Transient Solo' interruptions https://bugs.webkit.org/show_bug.cgi?id=147091
Reviewed by Eric Carlson.
- media/session/transient-solo-interruptions-expected.txt: Added.
- media/session/transient-solo-interruptions.html: Added.
- platform/mac/TestExpectations: Media Session support is disabled by default.
- 12:20 PM Changeset in webkit [187551] by
-
- 2 edits in trunk/Source/JavaScriptCore
Unreviewed, skipping a test that is too complex for its own good
https://bugs.webkit.org/show_bug.cgi?id=147167
- tests/stress/math-pow-coherency.js:
- 12:03 PM Changeset in webkit [187550] by
-
- 9 edits5 adds in trunk/Source/JavaScriptCore
Implement WebAssembly module parser
https://bugs.webkit.org/show_bug.cgi?id=147293
Patch by Sukolsak Sakshuwong <Sukolsak Sakshuwong> on 2015-07-29
Reviewed by Mark Lam.
Reupload the patch, since r187539 should fix the "Cannot open include file:
'JSWASMModule.h'" issue in the Windows build.
- CMakeLists.txt:
- JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
- JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
- JavaScriptCore.xcodeproj/project.pbxproj:
- jsc.cpp:
(GlobalObject::finishCreation):
(functionLoadWebAssembly):
- parser/SourceProvider.h:
(JSC::WebAssemblySourceProvider::create):
(JSC::WebAssemblySourceProvider::data):
(JSC::WebAssemblySourceProvider::WebAssemblySourceProvider):
- runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::init):
(JSC::JSGlobalObject::visitChildren):
- runtime/JSGlobalObject.h:
(JSC::JSGlobalObject::wasmModuleStructure):
- wasm/WASMMagicNumber.h: Added.
- wasm/WASMModuleParser.cpp: Added.
(JSC::WASMModuleParser::WASMModuleParser):
(JSC::WASMModuleParser::parse):
(JSC::WASMModuleParser::parseModule):
(JSC::parseWebAssembly):
- wasm/WASMModuleParser.h: Added.
- wasm/WASMReader.cpp: Added.
(JSC::WASMReader::readUnsignedInt32):
(JSC::WASMReader::readFloat):
(JSC::WASMReader::readDouble):
- wasm/WASMReader.h: Added.
(JSC::WASMReader::WASMReader):
- 10:52 AM Changeset in webkit [187549] by
-
- 1 edit1 delete in trunk/LayoutTests
Unreviewed, remove a .orig file.
https://bugs.webkit.org/show_bug.cgi?id=113610
- fast/css-intrinsic-dimensions/height-property-value.html.orig: Removed.
- 10:44 AM Changeset in webkit [187548] by
-
- 2 edits in trunk/Source/JavaScriptCore
Unreviewed, lower the number of test iterations to prevent timing out on Debug builds
https://bugs.webkit.org/show_bug.cgi?id=147167
- tests/stress/math-pow-coherency.js:
- 8:52 AM Changeset in webkit [187547] by
-
- 2 edits in trunk/Source/WebKit2
[Seccomp] Further improvements to default web process policy
https://bugs.webkit.org/show_bug.cgi?id=142987
Provide various helper functions to allow more flexible construction of
filesystem access policies.
Reviewed by Žan Doberšek.
Improve the policy. Also, remove ifdefs to reduce potential for breakage in non-default
configurations.
- Shared/linux/SeccompFilters/SyscallPolicy.cpp:
(WebKit::SyscallPolicy::addDefaultWebProcessPolicy):
- 7:30 AM Changeset in webkit [187546] by
-
- 2 edits in trunk/Source/WebCore
Clean up RefPtrCairo.cpp
https://bugs.webkit.org/show_bug.cgi?id=147384
Reviewed by Martin Robinson.
Tests for null/non-null should all be done without equality comparisons.
- platform/graphics/cairo/RefPtrCairo.cpp:
(WTF::refIfNotNull):
(WTF::derefIfNotNull):
- 5:35 AM Changeset in webkit [187545] by
-
- 2 edits in trunk/Source/WebCore
Remove dispatch_apply_f and instead use vImage more directly
https://bugs.webkit.org/show_bug.cgi?id=147391
<rdar://problem/21893047>
Fix the iOS builds.
- platform/graphics/cg/ImageBufferDataCG.cpp:
(WebCore::unpremultiplyBufferData):
(WebCore::premultiplyBufferData):
- 12:16 AM Changeset in webkit [187544] by
-
- 7 edits in trunk/Source
Avoid unnecessarily constructing PlatformMediaSessionManager on Document destruction
https://bugs.webkit.org/show_bug.cgi?id=147398
Reviewed by Jer Noble.
Only call PlatformMediaSessionManager::stopAllMediaPlaybackForProcess() in
Source/WebCore:
destructors if an PlatformMediaSessionManager instance already exists, to
avoid constructing one unecessarily at that point.
- dom/Document.cpp:
(WebCore::Document::~Document):
- platform/audio/PlatformMediaSessionManager.cpp:
(WebCore::PlatformMediaSessionManager::sharedManager):
(WebCore::PlatformMediaSessionManager::sharedManagerIfExists):
- platform/audio/PlatformMediaSessionManager.h:
- platform/audio/ios/MediaSessionManagerIOS.mm:
(WebCore::PlatformMediaSessionManager::sharedManager):
(WebCore::PlatformMediaSessionManager::sharedManagerIfExists):
Source/WebKit2:
destructors if an PlatformMediaSessionManager instance already exists, to
avoid constructing one unecessarily at that point.
- WebProcess/WebProcess.cpp:
(WebKit::WebProcess::didClose):