Timeline
Mar 3, 2015:
- 11:55 PM Changeset in webkit [180996] by
-
- 14 edits10 adds in trunk
Add a microtask abstraction
https://bugs.webkit.org/show_bug.cgi?id=137496
Reviewed by Sam Weinig.
Source/WebCore:
This patch adds a microtask abstraction: https://html.spec.whatwg.org/multipage/webappapis.html#microtask
That abstraction is required in order to enable async loading of images,
which is in turn required to enable support for the picture element, as well as
to make sure that the order of properties set on HTMLImageElement has no implications.
A similar patch was rolled back in r180914. This patch is an improved version.
- WebCore.vcxproj/WebCore.vcxproj: Add MicroTask.{h,cpp} to the project.
- WebCore.vcxproj/WebCoreTestSupport.vcxproj: Add MicroTaskTest.{h,cpp} to the project.
- WebCore.vcxproj/WebCore.vcxproj.filters: Add MicroTask.{h,cpp} to the project.
- WebCore.vcxproj/WebCoreTestSupport.vcxproj.filters: Add MicroTaskTest.{h,cpp} to the project.
- WebCore.xcodeproj/project.pbxproj: Add MicroTask{,Test}.{h,cpp} to the project.
- dom/Document.h: Add WEBCORE_EXPORT to addConsoleMessage, so it can be used in MicroTaskTest that's in WebCoreTestSupport..
- dom/MicroTask.h: Add a MicroTask interface class. Add a MicroTaskQueue singleton.
(WebCore::MicroTask::~MicroTask):
(WebCore::MicroTask::run): Run the microtask.
- dom/MicroTask.cpp: Implement the MicroTaskQueue singleton.
(WebCore::MicroTaskQueue::singleton): Get a singleton instance of MicroTaskQueue.
(WebCore::MicroTaskQueue::queueMicroTask): Add a microtask to the queue.
(WebCore::MicroTaskQueue::runMicroTasks): Run all the microtasks in the queue and clear it.
- dom/ScriptRunner.cpp: Trigger running of all microtasks in queue.
(WebCore::ScriptRunner::timerFired):
- html/parser/HTMLScriptRunner.cpp: Trigger running of all microtasks in queue.
(WebCore::HTMLScriptRunner::executePendingScriptAndDispatchEvent):
(WebCore::HTMLScriptRunner::executeScriptsWaitingForParsing):
(WebCore::HTMLScriptRunner::runScript):
- testing/Internals.cpp: Add a method to queue a test microtask.
(WebCore::Internals::queueMicroTask):
- testing/Internals.h: Add a method to queue a test microtask.
(WebCore::Internals::queueMicroTask):
- testing/Internals.idl: Expose test microtask queueing to test JS.
- testing/MicroTaskTest.cpp: Add a test class that implements a microtask and prints to the console when it runs.
(WebCore::MicroTaskTest::run): Run the microtask
(WebCore::MicroTaskTest::create): Create a test microtask.
- testing/MicroTaskTest.h: Add a test class that implements a microtask.
(WebCore::MicroTaskTest::run):
(WebCore::MicroTaskTest::create):
LayoutTests:
Adding a test for microtask abstraction.
A similar patch was rolled back in r180914.
- fast/dom/microtask-detach.html: Added.
- fast/dom/microtask-detach-expected.txt: Added.
- fast/dom/microtask-inorder.html: Added.
- fast/dom/microtask-inorder-expected.txt: Added.
- fast/dom/microtask-reverse.html: Added.
- fast/dom/microtask-reverse-expected.txt: Added.
- 11:52 PM Changeset in webkit [180995] by
-
- 5 edits in trunk/Source
Versioning.
- 11:51 PM Changeset in webkit [180994] by
-
- 1 copy in tags/Safari-601.1.21
New tag.
- 10:55 PM Changeset in webkit [180993] by
-
- 13 edits in trunk/Source/JavaScriptCore
DFG IR should refer to FunctionExecutables directly and not via the CodeBlock
https://bugs.webkit.org/show_bug.cgi?id=142229
Reviewed by Mark Lam and Benjamin Poulain.
Anytime a DFG IR node refers to something in CodeBlock, it has three effects:
- Cumbersome API for accessing the thing that the node refers to.
- Not obvious how to create a new such node after bytecode parsing, especially if the thing it refers to isn't already in the CodeBlock. We have done this in the past, but it usually involves subtle changes to CodeBlock.
- Not obvious how to inline code that ends up using such nodes. Again, when we have done this, it involved subtle changes to CodeBlock.
Prior to this change, the NewFunction* node types used an index into tables in CodeBlock.
For this reason, those operations were not inlineable. But the functin tables in CodeBlock
just point to FunctionExecutables, which are cells; this means that we can just abstract
these operands in DFG IR as cellOperands. cellOperands use DFG::FrozenValue, which means
that GC registration happens automagically. Even better, our dumping for cellOperand
already did FunctionExecutable dumping - so that functionality gets to be deduplicated.
Because this change increases the number of users of cellOperand, it also adds some
convenience methods for using it. For example, whereas before you'd say things like:
jsCast<Foo*>(node->cellOperand()->value())
you can now just say:
node->castOperand<Foo*>()
This change also changes existing cellOperand users to use the new conveniance API when
applicable.
- bytecode/CodeBlock.cpp:
(JSC::CodeBlock::jettisonFunctionDeclsAndExprs):
- bytecode/CodeBlock.h:
- dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::parseBlock):
- dfg/DFGCapabilities.cpp:
(JSC::DFG::capabilityLevel):
- dfg/DFGFrozenValue.h:
(JSC::DFG::FrozenValue::cell):
(JSC::DFG::FrozenValue::dynamicCast):
(JSC::DFG::FrozenValue::cast):
- dfg/DFGGraph.cpp:
(JSC::DFG::Graph::dump):
(JSC::DFG::Graph::registerFrozenValues):
- dfg/DFGNode.h:
(JSC::DFG::Node::hasCellOperand):
(JSC::DFG::Node::castOperand):
(JSC::DFG::Node::hasFunctionDeclIndex): Deleted.
(JSC::DFG::Node::functionDeclIndex): Deleted.
(JSC::DFG::Node::hasFunctionExprIndex): Deleted.
(JSC::DFG::Node::functionExprIndex): Deleted.
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileNewFunctionNoCheck):
(JSC::DFG::SpeculativeJIT::compileNewFunctionExpression):
- dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGWatchpointCollectionPhase.cpp:
(JSC::DFG::WatchpointCollectionPhase::handle):
- ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::compileCheckCell):
(JSC::FTL::LowerDFGToLLVM::compileNativeCallOrConstruct):
- 9:33 PM Changeset in webkit [180992] by
-
- 5 edits2 adds in trunk/Source/JavaScriptCore
DelayedReleaseScope drops locks during GC which can cause a thread switch and code reentry
https://bugs.webkit.org/show_bug.cgi?id=141275
Reviewed by Geoffrey Garen.
The original issue is that the CodeCache uses an unsafe method to add new UnlinkedCodeBlocks.
It basically adds a null UnlinkedCodeBlock if there isn't a cached entry and then later
updates the null entry to the result of the compilation. If during that compilation and
related processing we need to garbage collect, the DelayedReleaseScope would drop locks
possibly allowing another thread to try to get the same source out of the CodeCache.
This second thread would find the null entry and crash. The fix is to move the processing of
DelayedReleaseScope to when we drop locks and not drop locks during GC. That was done in
the original patch with the new function releaseDelayedReleasedObjects().
Updated releaseDelayedReleasedObjects() so that objects are released with all locks
dropped. Now its processing follows these steps
Increment recursion counter and do recursion check and exit if recursing
While there are objects to release
ASSERT that lock is held by current thread
Take all items from delayed release Vector and put into temporary Vector
Release API lock
Release and clear items from temporary vector
Reaquire API lock
This meets the requirement that we release while the API lock is released and it is
safer processing of the delayed release Vector.
Added new regression test to testapi.
Also added comment describing how recursion into releaseDelayedReleasedObjects() is
prevented.
- API/tests/Regress141275.h: Added.
- API/tests/Regress141275.mm: Added.
(+[JSTEvaluatorTask evaluatorTaskWithEvaluateBlock:completionHandler:]):
(-[JSTEvaluator init]):
(-[JSTEvaluator initWithScript:]):
(-[JSTEvaluator _accessPendingTasksWithBlock:]):
(-[JSTEvaluator insertSignPostWithCompletion:]):
(-[JSTEvaluator evaluateScript:completion:]):
(-[JSTEvaluator evaluateBlock:completion:]):
(-[JSTEvaluator waitForTasksDoneAndReportResults]):
(JSTRunLoopSourceScheduleCallBack):
(JSTRunLoopSourcePerformCallBack):
(JSTRunLoopSourceCancelCallBack):
(-[JSTEvaluator _jsThreadMain]):
(-[JSTEvaluator _sourceScheduledOnRunLoop:]):
(-[JSTEvaluator _setupEvaluatorThreadContextIfNeeded]):
(-[JSTEvaluator _callCompletionHandler:ifNeededWithError:]):
(-[JSTEvaluator _sourcePerform]):
(-[JSTEvaluator _sourceCanceledOnRunLoop:]):
(runRegress141275):
- API/tests/testapi.mm:
(testObjectiveCAPI):
- JavaScriptCore.xcodeproj/project.pbxproj:
- heap/Heap.cpp:
(JSC::Heap::releaseDelayedReleasedObjects):
- runtime/JSLock.cpp:
(JSC::JSLock::unlock):
- 9:31 PM Changeset in webkit [180991] by
-
- 2 edits in trunk/LayoutTests
Mark fast/css/object-fit/object-fit-canvas.html as a flakey
image failure, since it keeps breaking EWS.
- platform/mac/TestExpectations:
- 9:29 PM Changeset in webkit [180990] by
-
- 6 edits in trunk
[Win] [Attachment] New Tests fail on Windows
https://bugs.webkit.org/show_bug.cgi?id=142017
WebKitLibraries:
Unreviewed test fix. Just activate the feature.
- win/tools/vsprops/FeatureDefines.props:
- win/tools/vsprops/FeatureDefinesCairo.props:
LayoutTests:
Unreviewed. Rebaseline tests for Windows display metrics.
- platform/win/fast/attachment/attachment-disabled-rendering-expected.txt:
- platform/win/fast/attachment/attachment-rendering-expected.txt:
- 9:26 PM Changeset in webkit [180989] by
-
- 19 edits3 adds in trunk/Source/JavaScriptCore
DFG should constant fold GetScope, and accesses to the scope register in the ByteCodeParser should not pretend that it's a constant as that breaks OSR exit liveness tracking
https://bugs.webkit.org/show_bug.cgi?id=106202
Rubber stamped by Benjamin Poulain.
This fixes a bug discovered by working on https://bugs.webkit.org/show_bug.cgi?id=142229,
which was in turn discovered by working on https://bugs.webkit.org/show_bug.cgi?id=141174.
Our way of dealing with scopes known to be constant is very sketchy, and only really works
when a function is inlined. When it is, we pretend that every load of the scopeRegister sees
a constant. But this breaks the DFG's tracking of the liveness of the scopeRegister. The way
this worked made us miss oppportunities for optimizing based on a constant scope, and it also
meant that in some cases - particularly like when we inline code that uses NewFuction and
friends, as I do in bug 142229 - it makes OSR exit think that the scope is dead even though
it's most definitely alive and it's a constant.
The problem here is that we were doing too many optimizations in the ByteCodeParser, and not
later. Later optimization phases know how to preserve OSR exit liveness. They're actually
really good at it. Also, later phases know how to infer that any variable is a constant no
matter how that constant arose - rather than the inlining-specific thing in ByteCodeParser.
This changes the ByteCodeParser to largely avoid doing constant folding on the scope, except
making the GetScope operation itself a constant. This is a compilation-time hack for small
functions, and it doesn't break the loads of local variables - so OSR exit liveness still
sees that the scopeRegister is in use. This then adds a vastly more powerful GetScope and
GetClosureVar constant folder in the AbstractInterpreter. This handles most general cases
including those that arise in complex control flow. This will catch cases where the scope
is constant for any number of reasons. Basically anytime that the callee is inferred constant
this will give us a constant scope. Also, we still have the parse-time constant folding of
ResolveScope based on the reentry watchpoint, which luckily did the right thing with respect
to OSR exit liveness (it splats a Phantom on its inputs, and it produces a constant result
which is then set() normally).
This appears to be a broad speed-up, albeit a small one. But mainly it unblocks bug 142229,
which then should unblock bug 141174.
- dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
- dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::get):
(JSC::DFG::ByteCodeParser::getLocal):
(JSC::DFG::ByteCodeParser::parseBlock):
(JSC::DFG::ByteCodeParser::parse):
- dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
- dfg/DFGDoesGC.cpp:
(JSC::DFG::doesGC):
- dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
- dfg/DFGGraph.cpp:
(JSC::DFG::Graph::tryGetConstantClosureVar):
(JSC::DFG::Graph::tryGetRegisters):
(JSC::DFG::Graph::tryGetActivation): Deleted.
- dfg/DFGGraph.h:
- dfg/DFGNode.h:
(JSC::DFG::Node::hasVariableWatchpointSet):
(JSC::DFG::Node::hasSymbolTable): Deleted.
(JSC::DFG::Node::symbolTable): Deleted.
- dfg/DFGNodeType.h:
- dfg/DFGPredictionPropagationPhase.cpp:
(JSC::DFG::PredictionPropagationPhase::propagate):
- dfg/DFGSafeToExecute.h:
(JSC::DFG::safeToExecute):
- dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGWatchpointCollectionPhase.cpp:
(JSC::DFG::WatchpointCollectionPhase::handle):
- ftl/FTLCapabilities.cpp:
(JSC::FTL::canCompile):
- ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::compileNode):
(JSC::FTL::LowerDFGToLLVM::compileGetClosureVar):
- runtime/SymbolTable.cpp:
(JSC::SymbolTable::visitChildren):
(JSC::SymbolTable::localToEntry):
(JSC::SymbolTable::entryFor):
- runtime/SymbolTable.h:
(JSC::SymbolTable::add):
(JSC::SymbolTable::set):
- tests/stress/function-expression-exit.js: Added.
- tests/stress/function-reentry-infer-on-self.js: Added.
(thingy):
- tests/stress/goofy-function-reentry-incorrect-inference.js: Added.
- 9:25 PM Changeset in webkit [180988] by
-
- 2 edits in trunk/Source/WebKit2
Fix build warning in WebKit2/Shared module.
https://bugs.webkit.org/show_bug.cgi?id=142213
Reviewed by Simon Fraser.
Fix build warning by removing argument name from function.
- Shared/WebCoreArgumentCoders.cpp:
(IPC::pathPointCountApplierFunction):
- 8:56 PM Changeset in webkit [180987] by
-
- 6 edits in trunk/Source/WebCore
Scroll snap points are not supported on the main frame
https://bugs.webkit.org/show_bug.cgi?id=141973
<rdar://problem/19938393>
Reviewed by Simon Fraser.
No new tests. Tests will be added when the animation behavior is finalized. Manual tests are attached to the bug.
Update the ScrollingTreeFrameScrollingNodeMac class to implement the delegate interface needed by the
ScrollController. This involves the following:
- Implement scrollOffsetOnAxis: Used by the AxisScrollAnimator to determine the current position of the ScrollableArea.
- Implement immediateScrollOnAxis: Used by the AxisScrollAnimator to scroll the ScrollableArea
We also need to hold a copy of the snap points vector to send to the scrolling thread.
- page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.mm:
(WebCore::convertToLayoutUnits): Added helper function to match Scroll Snap Points API.
(WebCore::ScrollingTreeFrameScrollingNodeMac::updateBeforeChildren): Recognize and react to changes to
Scroll Snap Points on top-level frames.
(WebCore::ScrollingTreeFrameScrollingNodeMac::scrollOffsetOnAxis): Implement delegate method needed by the ScrollController.
(WebCore::ScrollingTreeFrameScrollingNodeMac::immediateScrollOnAxis): Ditto.
- platform/cocoa/ScrollController.h:
- platform/cocoa/ScrollController.mm:
(WebCore::ScrollController::updateScrollAnimatorsAndTimers): Pass snap offsets to AxisScrollSnapAnimator constructor as references.
(WebCore::ScrollController::updateScrollSnapPoints): Added. Used by ScrollingTreeFrameScrollingNodeMac to update scroll snap point
settings in the scrolling thread.
- platform/mac/AxisScrollSnapAnimator.h:
- platform/mac/AxisScrollSnapAnimator.mm:
(WebCore::toWheelEventStatus): Don't ignore the "MayBegin" or "Cancelled" event phases.
(WebCore::AxisScrollSnapAnimator::AxisScrollSnapAnimator): Revise signature to take a reference to the layout units.
(WebCore::AxisScrollSnapAnimator::scrollSnapAnimationUpdate): Handle the case where this method gets called from a thread
when the scrollable area has already reached its final destination.
(WebCore::AxisScrollSnapAnimator::beginScrollSnapAnimation): Handle the possibility that the snap offset point vector might be
empty. Update method to account for m_snapOffsets being a value, instead of a pointer.
- 8:47 PM Changeset in webkit [180986] by
-
- 2 edits in trunk/LayoutTests
Update TestExpectations after http://trac.webkit.org/changeset/180965 to skip new test on Mavericks.
Unreviewed.
- platform/mac/TestExpectations:
- 7:36 PM Changeset in webkit [180985] by
-
- 21 edits1 copy1 move in trunk/Source
[Content Filtering] Separate unblock handling into its own class
https://bugs.webkit.org/show_bug.cgi?id=142251
Reviewed by Andreas Kling.
Source/WebCore:
Unblock handling is currently supported only for one type of content filter (WebFilterEvaluator) on one
platform (iOS). Having its implementation in ContentFilter is making it difficult to support other filters and
platforms, so let's separate unblock handling into its own class called ContentFilterUnblockHandler.
- WebCore.xcodeproj/project.pbxproj:
- loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::finishedLoading): Passed a ContentFilterUnblockHandler to FrameLoaderClient::contentFilterDidBlockLoad.
(WebCore::DocumentLoader::dataReceived): Ditto.
- loader/FrameLoaderClient.h:
- platform/ContentFilter.h:
- platform/ContentFilterUnblockHandler.h: Copied from Source/WebCore/platform/ios/ContentFilterIOS.mm.
(WebCore::ContentFilterUnblockHandler::clear):
- platform/cocoa/ContentFilterUnblockHandlerCocoa.mm: Renamed from Source/WebCore/platform/ios/ContentFilterIOS.mm.
(WebCore::ContentFilterUnblockHandler::ContentFilterUnblockHandler):
(WebCore::ContentFilterUnblockHandler::encode):
(WebCore::ContentFilterUnblockHandler::decode):
(WebCore::scheme):
(WebCore::ContentFilterUnblockHandler::handleUnblockRequestAndDispatchIfSuccessful):
- platform/mac/ContentFilterMac.mm:
(WebCore::ContentFilter::unblockHandler):
(WebCore::ContentFilter::ContentFilter): Deleted.
(WebCore::ContentFilter::encode): Deleted.
(WebCore::ContentFilter::decode): Deleted.
Source/WebKit/mac:
Adopted ContentFilterUnblockHandler.
- WebCoreSupport/WebFrameLoaderClient.h:
- WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::dispatchDidStartProvisionalLoad):
- WebView/WebFrame.mm:
(-[WebFrame _contentFilterDidHandleNavigationAction:]):
- WebView/WebFrameInternal.h:
Source/WebKit2:
Adopted ContentFilterUnblockHandler.
- Shared/WebCoreArgumentCoders.h:
- Shared/mac/WebCoreArgumentCodersMac.mm:
(IPC::ArgumentCoder<ContentFilterUnblockHandler>::encode):
(IPC::ArgumentCoder<ContentFilterUnblockHandler>::decode):
(IPC::ArgumentCoder<ContentFilter>::encode): Deleted.
(IPC::ArgumentCoder<ContentFilter>::decode): Deleted.
- UIProcess/Cocoa/WebPageProxyCocoa.mm:
(WebKit::WebPageProxy::contentFilterDidBlockLoadForFrame):
- UIProcess/WebFrameProxy.cpp:
(WebKit::WebFrameProxy::didStartProvisionalLoad):
(WebKit::WebFrameProxy::contentFilterDidHandleNavigationAction):
- UIProcess/WebFrameProxy.h:
(WebKit::WebFrameProxy::setContentFilterUnblockHandler):
(WebKit::WebFrameProxy::setContentFilterForBlockedLoad): Deleted.
- UIProcess/WebPageProxy.h:
- UIProcess/WebPageProxy.messages.in:
- WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::contentFilterDidBlockLoad):
- WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
- 7:33 PM Changeset in webkit [180984] by
-
- 4 edits in trunk
[Mac] Track localized name follows locale instead of primary language
https://bugs.webkit.org/show_bug.cgi?id=142242
rdar://problem/20000365
Reviewed by Eric Carlson.
Source/WebCore:
- page/CaptionUserPreferencesMediaAF.cpp: (WebCore::trackDisplayName): Use the
language for localization, as CFBundle does.
LayoutTests:
- platform/mac/media/video-controls-captions-trackmenu-sorted-expected.txt: This
test now successfully switches to Japanese, as originally intended.
- 6:51 PM Changeset in webkit [180983] by
-
- 2 edits in trunk/Tools
[iOS] Crash logs can't be found on ios-simulator because WebKitTestRunner returns the wrong process name
<http://webkit.org/b/142243>
Reviewed by Alexey Proskuryakov.
- WebKitTestRunner/TestController.cpp:
(WTR::TestController::webProcessName):
(WTR::TestController::networkProcessName):
- Return the same process name on iOS and Mac because they both use the same process name for local engineering builds.
- 6:51 PM Changeset in webkit [180982] by
-
- 2 edits in trunk/Source/WebKit2
[WK2] Fix memory leak in _getCookieHeadersForTask
https://bugs.webkit.org/show_bug.cgi?id=142245
Reviewed by Alexey Proskuryakov.
Fix memory leak in _getCookieHeadersForTask. We are leaking the CFDictionary
returned by webKitCookieStorageCopyRequestHeaderFieldsForURL().
This patch addresses the issue by storing the return CFDictionary in a
RetainPtr<CFDictionaryRef>.
- Shared/mac/CookieStorageShim.mm:
(-[WKNSURLSessionLocal _getCookieHeadersForTask:completionHandler:]):
- 6:47 PM Changeset in webkit [180981] by
-
- 3 edits in trunk/Tools
check-webkit-style: Add exception for FrameworkSoftLink.h header order
<http://webkit.org/b/141872>
Reviewed by Alex Christensen.
- Scripts/webkitpy/style/checkers/cpp.py: Remove unneeded
semi-colons in various places and fix whitespace.
(_IncludeState): Add _SOFT_LINK_HEADER and _SOFT_LINK_SECTION
constants.
(_IncludeState.init): Add self._visited_soft_link_section
boolean state variable.
(_IncludeState.visited_soft_link_section): Getter for
self._visited_soft_link_section.
(_IncludeState.check_next_include_order): Update state machine
for soft-link headers. Add check that soft-link headers always
appear last.
(_classify_include): Add check for soft-link header type.
(check_include_line): Return early if there is a soft-link
header error.
- Scripts/webkitpy/style/checkers/cpp_unittest.py:
(OrderOfIncludesTest.test_public_primary_header): Add tests for
including soft-link headers.
(OrderOfIncludesTest.test_classify_include): Add test for
_SOFT_LINK_HEADER type.
- 6:37 PM Changeset in webkit [180980] by
-
- 5 edits in branches/safari-600.1.4.15-branch/Source
Versioning.
- 6:09 PM Changeset in webkit [180979] by
-
- 2 edits in trunk/Source/WebCore
[Win] Unreviewed build fix.
- WebCore.vcxproj/WebCoreIncludeCommon.props:
Include contentextensions subdirectory.
- 5:57 PM Changeset in webkit [180978] by
-
- 12 edits4 adds in trunk
Prepare to use CSS selectors in content extensions.
https://bugs.webkit.org/show_bug.cgi?id=142227
Reviewed by Benjamin Poulain.
Source/WebCore:
Test: http/tests/usercontentfilter/css-display-none.html
- CMakeLists.txt:
- WebCore.xcodeproj/project.pbxproj:
- contentextensions/ContentExtensionActions.h: Added.
- contentextensions/ContentExtensionRule.cpp:
(WebCore::ContentExtensions::Action::deserialize):
- contentextensions/ContentExtensionRule.h:
(WebCore::ContentExtensions::Action::Action):
(WebCore::ContentExtensions::Action::type):
(WebCore::ContentExtensions::Action::cssSelector):
- contentextensions/ContentExtensionsBackend.cpp:
(WebCore::ContentExtensions::ContentExtensionsBackend::serializeActions):
Put action descriptions into a compact format in a Vector
to be able to be put into one block of shared read-only memory.
(WebCore::ContentExtensions::ContentExtensionsBackend::setRuleList):
Put an index of the beginning of the description into the NFA instead of the index of the rule
because we will be sharing the descriptions of the actions and not the rules.
(WebCore::ContentExtensions::ContentExtensionsBackend::actionsForURL):
(WebCore::ContentExtensions::ContentExtensionsBackend::actionForURL): Deleted.
Return a vector of actions to be able to do multiple actions for one URL.
- contentextensions/ContentExtensionsBackend.h:
- contentextensions/ContentExtensionsManager.cpp:
(WebCore::ContentExtensions::ExtensionsManager::loadTrigger):
(WebCore::ContentExtensions::ExtensionsManager::loadAction):
Added the css-display-none action type, which requires a selector.
(WebCore::ContentExtensions::ExtensionsManager::loadRule):
- loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::requestResource):
- page/UserContentController.cpp:
(WebCore::UserContentController::actionsForURL):
(WebCore::UserContentController::actionForURL): Deleted.
- page/UserContentController.h:
LayoutTests:
- http/tests/usercontentfilter/css-display-none-expected.txt: Added.
- http/tests/usercontentfilter/css-display-none.html: Added.
- http/tests/usercontentfilter/css-display-none.html.json: Added.
- 5:55 PM Changeset in webkit [180977] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: selecting overview timeline tree elements without source locations doesn't update selection components
https://bugs.webkit.org/show_bug.cgi?id=142248
Reviewed by Timothy Hatcher.
Add a missing event dispatch to trigger recalculation of path components when showing the overview timeline view.
- UserInterface/Views/OverviewTimelineView.js:
(WebInspector.OverviewTimelineView.prototype._treeElementSelected):
- 5:51 PM Changeset in webkit [180976] by
-
- 1 edit1 add in trunk/LayoutTests
[Win] Add baseline for new legacy-event-handler test.
- platform/win/fast/dom/legacy-event-handler-attributes-expected.txt: Added.
- 5:46 PM Changeset in webkit [180975] by
-
- 1 edit2 adds in trunk/LayoutTests
<attachment> label can get very wide, doesn't wrap/truncate
https://bugs.webkit.org/show_bug.cgi?id=142214
<rdar://problem/19982499>
- fast/attachment/attachment-label-highlight-expected.png: Added.
- fast/attachment/attachment-label-highlight-expected.txt: Added.
Add (empty) platform independent baselines.
- 5:36 PM Changeset in webkit [180974] by
-
- 12 edits2 moves2 adds in trunk
Move scroll animating functions from ScrollAnimator to ScrollController
https://bugs.webkit.org/show_bug.cgi?id=142102
<rdar://problem/20007161>
Reviewed by Simon Fraser.
Source/WebCore:
Tested by platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-mainframe-zoom.html.
Do some refactoring of the various scrolling classes:
- Consolidate animation times to RunLoop::Timer instead of a combination of WebCore::Timer and CFRunLoopTimers. Do this for Scroll Snap Point and Rubberband animations.
- Move ScrollController from platform/mac to platform/cocoa to enable sharing with iOS.
- Move code from ScrollAnimator{Mac} -> ScrollController.
- Rename scrollOffsetInAxis -> scrollOffsetOnAxis
- Rename immediateScrollInAxis -> immediateScrollOnAxis
- WebCore.xcodeproj/project.pbxproj: Move ScrollController to 'platform/cocoa'
- page/mac/EventHandlerMac.mm: Make sure the scroll controller is notified of end-of-scroll
events, just as is done for the "event not handled" case in EventHandler.cpp.
(WebCore::EventHandler::platformCompleteWheelEvent):
- page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.h: Remove timer and some delegate
methods, now that ScrollController is controlling this state.
- page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.mm:
(WebCore::ScrollingTreeFrameScrollingNodeMac::~ScrollingTreeFrameScrollingNodeMac): We no longer
need to clean up the CFRunLoopTimer.
(WebCore::ScrollingTreeFrameScrollingNodeMac::stopSnapRubberbandTimer): Make sure scroll
state is updated after rubber band snap.
(WebCore::ScrollingTreeFrameScrollingNodeMac::scrollOffsetOnAxis): Add temporary stub needed
until Bug1973 is completed.).
(WebCore::ScrollingTreeFrameScrollingNodeMac::immediateScrollOnAxis): Ditto.
(WebCore::ScrollingTreeFrameScrollingNodeMac::startSnapRubberbandTimer): Deleted.
- platform/ScrollAnimator.cpp:
(WebCore::ScrollAnimator::ScrollAnimator):
(WebCore::ScrollAnimator::processWheelEventForScrollSnap): Just call the ScrollController method.
(WebCore::ScrollAnimator::handleWheelEvent): Ditto.
(WebCore::ScrollAnimator::updateScrollAnimatorsAndTimers): Ditto.
(WebCore::ScrollAnimator::scrollOffsetOnAxis): Renamed from scrollOffsetInAxis.
(WebCore::ScrollAnimator::immediateScrollOnAxis): Renamed from immediateScrollInAxis.
(WebCore::ScrollAnimator::scrollOffsetInAxis): Deleted.
(WebCore::ScrollAnimator::immediateScrollInAxis): Deleted.
(WebCore::ScrollAnimator::startScrollSnapTimer): Deleted.
(WebCore::ScrollAnimator::stopScrollSnapTimer): Deleted.
(WebCore::ScrollAnimator::horizontalScrollSnapTimerFired): Deleted.
(WebCore::ScrollAnimator::verticalScrollSnapTimerFired): Deleted.
- platform/ScrollAnimator.h:
- platform/cocoa/ScrollController.h: Copied from platform/mac/ScrollController.h.
(WebCore::ScrollControllerClient::startSnapRubberbandTimer):
(WebCore::ScrollControllerClient::stopSnapRubberbandTimer):
(WebCore::ScrollControllerClient::startScrollSnapTimer):
(WebCore::ScrollControllerClient::stopScrollSnapTimer):
- platform/cocoa/ScrollController.mm: Copied from platform/mac/ScrollController.mm.
(WebCore::ScrollController::ScrollController): Update to initialize new timers.
(WebCore::ScrollController::handleWheelEvent): Update to handle Scroll Snap Point events.
(WebCore::ScrollController::startSnapRubberbandTimer): Added.
(WebCore::ScrollController::stopSnapRubberbandTimer): Manage animation timers locally, do not
require client to maintain timers.
(WebCore::ScrollController::snapRubberBand): Ditto.
(WebCore::ScrollController::processWheelEventForScrollSnap): Added. (Moved from ScrollAnimatorMac)
(WebCore::ScrollController::updateScrollAnimatorsAndTimers): Ditto. Also updated to use RunLoop::Timer.
(WebCore::ScrollController::startScrollSnapTimer): Ditto. Also updated to use RunLoop::Timer.
(WebCore::ScrollController::stopScrollSnapTimer): Ditto. Also updated to use RunLoop::Timer.
(WebCore::ScrollController::horizontalScrollSnapTimerFired): Ditto.
(WebCore::ScrollController::verticalScrollSnapTimerFired): Ditto.
(WebCore::ScrollController::scrollOffsetOnAxis): Moved from ScrollAnimatorMac.
(WebCore::ScrollController::immediateScrollOnAxis): Ditto.
- platform/mac/AxisScrollSnapAnimator.h: Rename methods from 'InAxis' to 'OnAxis'
- platform/mac/AxisScrollSnapAnimator.mm:
(WebCore::AxisScrollSnapAnimator::handleWheelEvent): Update for 'InAxis' to 'OnAxis' renaming.
(WebCore::AxisScrollSnapAnimator::scrollSnapAnimationUpdate): Ditto.
(WebCore::AxisScrollSnapAnimator::beginScrollSnapAnimation): Ditto.
(WebCore::AxisScrollSnapAnimator::computeSnapDelta): Ditto.
(WebCore::AxisScrollSnapAnimator::computeGlideDelta): Ditto.
- platform/mac/ScrollAnimatorMac.h:
- platform/mac/ScrollAnimatorMac.mm:
(WebCore::ScrollAnimatorMac::ScrollAnimatorMac): Remove unused Rubberband timers (now that this is
controlled in the ScrollController)
(WebCore::ScrollAnimatorMac::startSnapRubberbandTimer): Deleted.
(WebCore::ScrollAnimatorMac::stopSnapRubberbandTimer): Deleted.
(WebCore::ScrollAnimatorMac::snapRubberBandTimerFired): Deleted.
- platform/mac/ScrollController.h: Removed.
- platform/mac/ScrollController.mm: Removed.
LayoutTests:
Add a new test that confirms that rubberband snap animations work properly when combined
with text zooming.
- platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-mainframe-zoom-expected.txt: Added.
- platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-mainframe-zoom.html: Added.
- 5:32 PM Changeset in webkit [180973] by
-
- 1 copy in tags/Safari-600.1.4.15.10
New tag.
- 5:31 PM Changeset in webkit [180972] by
-
- 2 edits in tags/Safari-601.1.20.1/Source/WebKit2
Merged r180967. rdar://problem/19933387
- 5:25 PM Changeset in webkit [180971] by
-
- 2 edits in branches/safari-600.1.4.15-branch/Source/WebKit2
Merged r180967. rdar://problem/19953432
- 5:19 PM Changeset in webkit [180970] by
-
- 5 edits in tags/Safari-601.1.20.1/Source
Versioning.
- 5:17 PM Changeset in webkit [180969] by
-
- 1 copy in tags/Safari-601.1.20.1
New tag.
- 5:15 PM Changeset in webkit [180968] by
-
- 7 edits2 deletes in trunk/Source
Remove unused compression code
https://bugs.webkit.org/show_bug.cgi?id=142237
Reviewed by Geoffrey Garen.
Source/JavaScriptCore:
- bytecode/UnlinkedCodeBlock.h:
Source/WTF:
- WTF.vcxproj/WTF.vcxproj:
- WTF.vcxproj/WTF.vcxproj.filters:
- WTF.xcodeproj/project.pbxproj:
- wtf/CMakeLists.txt:
- wtf/Compression.cpp: Removed.
- wtf/Compression.h: Removed.
- 5:14 PM Changeset in webkit [180967] by
-
- 2 edits in trunk/Source/WebKit2
Incomplete dictation results in text fields in a web page.
https://bugs.webkit.org/show_bug.cgi?id=142240
rdar://problem/19953432
Reviewed by Tim Horton.
The empty stub for insertDictationResult:withCorrectionIdentifier
must be removed. This way UIKit will call insertText and do the right thing.
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView insertDictationResult:withCorrectionIdentifier:]): Deleted.
- 5:03 PM Changeset in webkit [180966] by
-
- 6 edits6 deletes in trunk
Unreviewed, rolling out r180683.
https://bugs.webkit.org/show_bug.cgi?id=142249
Broke fast/css/acid2-pixel.html (Requested by ap on #webkit).
Reverted changeset:
"Setting any of the <object> element plugin controlling
attributes does not have any affect."
https://bugs.webkit.org/show_bug.cgi?id=141936
http://trac.webkit.org/changeset/180683
- 4:39 PM Changeset in webkit [180965] by
-
- 19 edits2 adds in trunk
Controls panel should have system blurry background
https://bugs.webkit.org/show_bug.cgi?id=142154
<rdar://problem/20000964>
Reviewed by Simon Fraser.
Source/WebCore:
In order to replicate the system style of media controls
on OS X and iOS, we need to expose a special -webkit-appearance.
This patch adds the new property value, and implements
the iOS part of the appearance, which is a blurry shaded
background.
Test: compositing/media-controls-bar-appearance.html
- css/CSSPrimitiveValueMappings.h:
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Map the new
keywords from ControlParts.
- css/CSSValueKeywords.in: Add media-controls-light-bar-background
and media-controls-dark-bar-background. Darin suggested they
be sorted, so I did this at the same time.
- platform/ThemeTypes.h: New ControlParts for the values, and
sort the values since they need to be in sync with
CSSValueKeywords.in.
- platform/graphics/GraphicsLayer.h: Expose two new custom appearance
values.
- platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::GraphicsLayerCA):
(WebCore::layerTypeForCustomBackdropAppearance): Helper function.
(WebCore::isCustomBackdropLayerType): Ditto.
(WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers): Merge setting
a system backdrop layer in with the code that swaps to/from tiled layers.
(WebCore::GraphicsLayerCA::changeLayerTypeTo): New method that does what
swapFromOrToTiledLayer implemented, but also allows us to change to a
system backdrop layer.
(WebCore::GraphicsLayerCA::swapFromOrToTiledLayer): Deleted.
- platform/graphics/ca/GraphicsLayerCA.h:
- platform/graphics/ca/PlatformCALayer.h: New layer types.
- platform/graphics/ca/mac/PlatformCALayerMac.mm: For now expose these
as regular backdrop layers.
(PlatformCALayerMac::PlatformCALayerMac):
(PlatformCALayerMac::updateCustomAppearance):
- rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::createPrimaryGraphicsLayer): Make sure to update
custom appearance,
(WebCore::RenderLayerBacking::updateCustomAppearance): New method.
- rendering/RenderLayerBacking.h:
Source/WebKit2:
In order to replicate the system style of media controls
on OS X and iOS, we need to expose a special -webkit-appearance.
This patch adds the new property value, and implements
the iOS part of the appearance, which is a blurry shaded
background.
- Shared/mac/RemoteLayerBackingStore.mm:
(WebKit::RemoteLayerBackingStore::drawInContext): Add entries for
the new layer types, even though they are not correct yet.
- Shared/mac/RemoteLayerTreePropertyApplier.mm:
(WebKit::updateCustomAppearance):
(WebKit::RemoteLayerTreePropertyApplier::applyProperties): UIBackdropViews
have a defined hierarchy that we don't create. We need to make sure we add our
children to the right subview.
- Shared/mac/RemoteLayerTreeTransaction.mm:
(WebKit::RemoteLayerTreeTransaction::description): Logging.
- UIProcess/ios/RemoteLayerTreeHostIOS.mm: Rename existing WKBackdropView
to WKSimpleBackdropView, and add a new WKBackdropView that inherits
from UIBackdropView.
(-[WKBackdropView hitTest:withEvent:]):
(-[WKBackdropView description]):
(WebKit::RemoteLayerTreeHost::createLayer): Handle the new LayerTypes.
- UIProcess/mac/RemoteLayerTreeHost.mm:
(WebKit::RemoteLayerTreeHost::createLayer):
LayoutTests:
Make sure content with a -webkit-appearance of
media-controls-light-bar-background or
media-controls-dark-bar-background doesn't get composited
unless explicitly requested. This avoids a
performance hit for a rarely used feature.
- compositing/media-controls-bar-appearance-expected.txt: Added.
- compositing/media-controls-bar-appearance.html: Added.
- 4:30 PM Changeset in webkit [180964] by
-
- 2 edits in trunk/Source/bmalloc
bmalloc: Don't branch when setting the owner of a large object
https://bugs.webkit.org/show_bug.cgi?id=142241
Reviewed by Andreas Kling.
- bmalloc/BoundaryTag.h:
(bmalloc::BoundaryTag::owner):
(bmalloc::BoundaryTag::setOwner):
- 4:10 PM Changeset in webkit [180963] by
-
- 21 edits in trunk/Source
Access ApplicationCacheStorage global instance via singleton() static member function
https://bugs.webkit.org/show_bug.cgi?id=142239
Reviewed by Anders Carlsson.
Access ApplicationCacheStorage global instance via singleton() static
member function as per WebKit coding style.
- 4:08 PM Changeset in webkit [180962] by
-
- 2 edits in trunk/Source/WebKit2
Build Fix: Add fall back handling in postprocess script for missing/unknown platform name.
Rubber-stamped by David Kilzer.
- mac/postprocess-framework-headers.sh:
- 3:36 PM Changeset in webkit [180961] by
-
- 2 edits in trunk/Source/WebKit2
Build fix for iOS.
Unreviewed.
- UIProcess/ios/WKContentViewInteraction.mm: Adding forward declaration.
- 3:27 PM Changeset in webkit [180960] by
-
- 3 edits in trunk/Source/bmalloc
bmalloc should implement malloc introspection (to stop false-positive leaks when MallocStackLogging is off)
https://bugs.webkit.org/show_bug.cgi?id=141802
Reviewed by Andreas Kling.
Re-enabled this feature on iOS, now that the iOS crash should be fixed.
- bmalloc/VMHeap.cpp:
(bmalloc::VMHeap::grow):
- bmalloc/VMHeap.h:
- 3:22 PM Changeset in webkit [180959] by
-
- 6 edits in trunk/Tools
build.webkit.org/dashboard: Don't repeatedly handle each test type
https://bugs.webkit.org/show_bug.cgi?id=142211
Reviewed by Tim Horton and Matt Hanson.
- BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Buildbot.js:
(Buildbot.prototype.javascriptTestResultsURLForIteration): Deleted.
(Buildbot.prototype.apiTestResultsURLForIteration): Deleted.
(Buildbot.prototype.platformAPITestResultsURLForIteration): Deleted.
(Buildbot.prototype.webkitpyTestResultsURLForIteration): Deleted.
(Buildbot.prototype.webkitperlTestResultsURLForIteration): Deleted.
(Buildbot.prototype.bindingsTestResultsURLForIteration): Deleted.
Removed functions that build a link to test step results. The buildbot provides
these links in JSON.
- BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotIteration.js:
(BuildbotIteration): Put failing tests into an array, instead of named variables.
(BuildbotIteration.ProductiveSteps): Removed step names that are not used on build.webkit.org.
We can easily add them to the map as needed.
(BuildbotIteration.TestSteps): Added a list of test steps to be displayed by test queues.
(BuildbotIteration.prototype._parseData): Moved code for parsing step results away
to BuildbotTestResults class. We used to parse here, build an intermediate data structure,
and then build a BuildbotTestResults object, which was strange.
(BuildbotIteration.prototype.loadLayoutTestResults): Ditto.
- BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotQueueView.js:
Corrected an unrelated assertion that was buggy, and kept firing.
- BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotTestResults.js:
(BuildbotTestResults):
(BuildbotTestResults.prototype._parseResults.resultSummarizer):
(BuildbotTestResults.prototype._parseResults):
(BuildbotTestResults.prototype.addFullLayoutTestResults):
Moved the code for parsing JSON results for a single step here.
- BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotTesterQueueView.js:
(BuildbotTesterQueueView.prototype._testStepFailureDescription):
(BuildbotTesterQueueView.prototype._testStepFailureDescriptionWithCount):
(BuildbotTesterQueueView.prototype._presentPopoverForGenericTestFailures):
(BuildbotTesterQueueView.prototype.update.appendBuilderQueueStatus): Deleted.
(BuildbotTesterQueueView.prototype.update): Deleted.
(BuildbotTesterQueueView.prototype._presentPopoverForMultipleFailureKinds): Deleted.
Updated for the new data structures. One behavior change is that we now display individual
counts when multiple test kinds fail, e.g. "1Â javascript test failure, 83+Â layout
test failures, 3Â platform api test failures".
- 2:45 PM Changeset in webkit [180958] by
-
- 3 edits in trunk/Source/bmalloc
bmalloc: Added missing features to the malloc zone introspection API
https://bugs.webkit.org/show_bug.cgi?id=142235
Reviewed by Andreas Kling.
This should fix the crash we saw on the iOS PLT bot
(c.f. http://trac.webkit.org/changeset/180604).
- bmalloc/Zone.cpp:
(bmalloc::good_size):
(bmalloc::check):
(bmalloc::print):
(bmalloc::log):
(bmalloc::force_lock):
(bmalloc::force_unlock):
(bmalloc::statistics):
(bmalloc::size):
(bmalloc::enumerator): Provide all of these functions since they are called
indiscriminately on all zones.
(bmalloc::Zone::Zone):
(bmalloc::Zone::size): Deleted.
(bmalloc::Zone::enumerator): Deleted. Moved these functions out of the
Zone class since they can stand alone.
- bmalloc/Zone.h:
- 2:43 PM Changeset in webkit [180957] by
-
- 2 edits2 adds1 delete in trunk
Convert ManualTests/svg-tooltip.svg to a DRT test
https://bugs.webkit.org/show_bug.cgi?id=140480
Patch by Daniel Bates <dabates@apple.com> on 2015-03-03
Reviewed by Alex Christensen.
.:
- ManualTests/svg-tooltip.svg: Removed.
LayoutTests:
- svg/hittest/svg-tooltip-expected.txt: Added.
- svg/hittest/svg-tooltip.svg: Added.
- 2:35 PM Changeset in webkit [180956] by
-
- 4 edits in trunk/Source/JavaScriptCore
JIT debugging features that selectively disable the JITs for code blocks need to stay out of the way of the critical path of JIT management
https://bugs.webkit.org/show_bug.cgi?id=142234
Reviewed by Mark Lam and Benjamin Poulain.
Long ago, we used to selectively disable compilation of CodeBlocks for debugging purposes by
adding hacks to DFGDriver.cpp. This was all well and good. It used the existing
CompilationFailed mode of the DFG driver to signal failure of CodeBlocks that we didn't want
to compile. That's great because CompilationFailed is a well-supported return value on the
critical path, usually used for when we run out of JIT memory.
Later, this was moved into DFGCapabilities. This was basically incorrect. It introduced a bug
where disabling compiling of a CodeBlock meant that we stopped inlining it as well. So if
you had a compiler bug that arose if foo was inlined into bar, and you bisected down to bar,
then foo would no longer get inlined and you wouldn't see the bug. That's busted.
So then we changed the code in DFGCapabilities to mark bar as CanCompile and foo as
CanInline. Now, foo wouldn't get compiled alone but it would get inlined.
But then we removed CanCompile because that capability mode only existed for the purpose of
our old varargs hacks. After that removal, "CanInline" became CannotCompile. This means
that if you bisect down on bar in the "foo inlined into bar" case, you'll crash in the DFG
because the baseline JIT wouldn't have known to insert profiling on foo.
We could fix this by bringing back CanInline.
But this is all a pile of nonsense. The debug support to selectively disable compilation of
some CodeBlocks shouldn't cross-cut our entire engine and should most certainly never involve
adding new capability modes. This support is a hack at best and is for use by JSC hackers
only. It should be as unintrusive as possible.
So, as in the ancient times, the only proper place to put this hack is in DFGDriver.cpp, and
return CompilationFailed. This is correct not just because it takes capability modes out of
the picture (and obviates the need to introduce new ones), but also because it means that
disabling compilation doesn't change the profiling mode of other CodeBlocks in the Baseline
JIT. Capability mode influences profiling mode which in turn influences code generation in
the Baseline JIT, sometimes in very significant ways - like, we sometimes do additional
double-to-int conversions in Baseline if we know that we might tier-up into the DFG, since
this buys us more precise profiling.
This change reduces the intrusiveness of debugging hacks by making them use the very simple
CompilationFailed mechanism rather than trying to influence capability modes. Capability
modes have very subtle effects on the whole engine, while CompilationFailed just makes the
engine pretend like the DFG compilation will happen at timelike infinity. That makes these
hacks much more likely to continue working as we make other changes to the system.
This brings back the ability to bisect down onto a function bar when bar inlines foo. Prior
to this change, we would crash in that case.
- dfg/DFGCapabilities.cpp:
(JSC::DFG::isSupported):
(JSC::DFG::mightCompileEval):
(JSC::DFG::mightCompileProgram):
(JSC::DFG::mightCompileFunctionForCall):
(JSC::DFG::mightCompileFunctionForConstruct):
- dfg/DFGCapabilities.h:
- dfg/DFGDriver.cpp:
(JSC::DFG::compileImpl):
- 2:12 PM Changeset in webkit [180955] by
-
- 1 edit2 adds in trunk/LayoutTests
<attachment> label can get very wide, doesn't wrap/truncate
https://bugs.webkit.org/show_bug.cgi?id=142214
<rdar://problem/19982499>
- platform/mac-mavericks/fast/attachment: Added.
- platform/mac-mavericks/fast/attachment/attachment-label-highlight-expected.txt: Added.
Add a Mavericks result because text metrics differ.
- 1:58 PM Changeset in webkit [180954] by
-
- 5 edits in trunk/Source/bmalloc
bmalloc should implement malloc introspection (to stop false-positive leaks when MallocStackLogging is off)
https://bugs.webkit.org/show_bug.cgi?id=141802
Reviewed by Andreas Kling.
Rolling back in but disabled on iOS until I can debug why the iOS PLT crashes.
- bmalloc/VMHeap.cpp:
(bmalloc::VMHeap::grow):
- bmalloc/VMHeap.h:
- bmalloc/Zone.cpp:
(bmalloc::Zone::size):
(bmalloc::Zone::Zone):
- bmalloc/Zone.h:
- 1:47 PM Changeset in webkit [180953] by
-
- 6 edits in trunk/Source/bmalloc
bmalloc: Miscellaneous cleanup
https://bugs.webkit.org/show_bug.cgi?id=142231
Reviewed by Andreas Kling.
No performance change -- maybe a tiny reduction in memory use.
- bmalloc/Heap.cpp: Moved the sleep function into StaticMutex, since
it's a helper for working with mutexes.
(bmalloc::Heap::scavenge): Make sure to wait before we start any
scavenging, since individual scavenging functions now always scavenge
at least one page before waiting themselves.
(bmalloc::Heap::scavengeSmallPages):
(bmalloc::Heap::scavengeMediumPages):
(bmalloc::Heap::scavengeLargeObjects): Use the new wait helper to
simplify this code. Also, we now require our caller to wait until at
least one deallocation is desirable. This simplifies our loop.
(bmalloc::Heap::allocateSmallPage):
(bmalloc::Heap::allocateMediumPage):
(bmalloc::Heap::allocateXLarge):
(bmalloc::Heap::allocateLarge): Don't freak out any time the heap does
an allocation. Only consider the heap to be growing if it actually needs
to allocate new VM. This allows us to shrink the heap back down from a
high water mark more reliably even if heap activity continues.
(bmalloc::sleep): Deleted.
(bmalloc::Heap::scavengeLargeRanges): Renamed to match our use of
"LargeObject".
- bmalloc/Heap.h:
- bmalloc/LargeObject.h:
(bmalloc::LargeObject::operator bool): Added to simplify a while loop.
- bmalloc/StaticMutex.h:
(bmalloc::sleep):
(bmalloc::waitUntilFalse): New helper for waiting until a condition
becomes reliably false.
- bmalloc/Vector.h:
(bmalloc::Vector<T>::~Vector): Oops! Don't deallocate the null pointer.
We don't actually run any Vector destructors, but an iteration of this
patch did, and then crashed. So, let's fix that.
- 1:20 PM Changeset in webkit [180952] by
-
- 1 edit2 adds in trunk/LayoutTests
Test legacy event handler attributes (ones with names like "onclick")
https://bugs.webkit.org/show_bug.cgi?id=142221
Reviewed by Anders Carlsson.
- fast/dom/legacy-event-handler-attributes-expected.txt: Added.
- fast/dom/legacy-event-handler-attributes.html: Added.
- 1:13 PM Changeset in webkit [180951] by
-
- 2 edits in trunk/Source/WebCore
Try to fix the build.
- platform/spi/cf/CFNetworkSPI.h:
- 12:29 PM March 2015 Meeting edited by
- (diff)
- 12:16 PM Changeset in webkit [180950] by
-
- 5 edits3 adds in trunk
<attachment> label can get very wide, doesn't wrap/truncate
https://bugs.webkit.org/show_bug.cgi?id=142214
<rdar://problem/19982499>
Reviewed by Simon Fraser.
Test: fast/attachment/attachment-label-highlight.html
- rendering/RenderThemeMac.h:
- rendering/RenderThemeMac.mm:
(WebCore::labelTextColorForAttachment):
(WebCore::AttachmentLayout::addLine):
(WebCore::AttachmentLayout::layOutText):
(WebCore::AttachmentLayout::AttachmentLayout):
Make it possible to lay out multiple lines of label text.
We lay out the whole string normally, but then only draw N (where N=1 for now,
but is adjustable) of the lines. The remainder of the string is then
merged into a single line, which is middle-truncated with an ellipsis
and drawn in place of the N+1 line.
(WebCore::addAttachmentLabelBackgroundRightCorner):
(WebCore::addAttachmentLabelBackgroundLeftCorner):
(WebCore::paintAttachmentLabelBackground):
Wrap the label background around the multiple lines of text with curved edges.
We run first down the right side of the label, determining whether to use
concave or convex arcs based on the relative widths of adjacent lines.
Then, we run back up the left side of the label doing the same thing.
If the background rects of two lines are very similar (within the rounded rect radius),
they will be expanded to the larger of the two, because otherwise the arcs
look quite wrong.
(WebCore::paintAttachmentLabel):
Draw the label with CoreText directly instead of bothering with WebCore
text layout primitives. There's no need, and it makes wrapping much more complicated.
(WebCore::RenderThemeMac::paintAttachment):
(WebCore::RenderThemeMac::paintAttachmentLabelBackground): Deleted.
(WebCore::RenderThemeMac::paintAttachmentLabel): Deleted.
- fast/attachment/attachment-label-highlight.html: Added.
- platform/mac/fast/attachment/attachment-label-highlight-expected.png: Added.
- platform/mac/fast/attachment/attachment-label-highlight-expected.txt: Added.
Add a test for various <attachment> highlight cases.
- platform/mac/fast/attachment/attachment-rendering-expected.txt:
Update expected result for attachment-rendering, which changed size
because we now bail from text layout if we don't have any text.
- 12:13 PM Changeset in webkit [180949] by
-
- 6 edits in trunk/Source/WebKit2
Include key to NetworkCacheStorage::Entry
https://bugs.webkit.org/show_bug.cgi?id=142215
Reviewed by Chris Dumez.
This simplified code. The key is saved as part of the entry so it makes logical sense too.
- NetworkProcess/cache/NetworkCache.cpp:
(WebKit::makeCacheKey):
(WebKit::encodeStorageEntry):
(WebKit::NetworkCache::retrieve):
(WebKit::NetworkCache::store):
(WebKit::NetworkCache::update):
(WebKit::NetworkCache::traverse):
(WebKit::entryAsJSON):
(WebKit::NetworkCache::dumpContentsToFile):
- NetworkProcess/cache/NetworkCacheKey.cpp:
(WebKit::NetworkCacheKey::operator=):
- NetworkProcess/cache/NetworkCacheKey.h:
(WebKit::NetworkCacheKey::isNull):
- NetworkProcess/cache/NetworkCacheStorage.h:
- NetworkProcess/cache/NetworkCacheStorageCocoa.mm:
(WebKit::decodeEntry):
(WebKit::encodeEntryHeader):
(WebKit::retrieveFromMemory):
(WebKit::NetworkCacheStorage::retrieve):
(WebKit::NetworkCacheStorage::store):
(WebKit::NetworkCacheStorage::update):
(WebKit::NetworkCacheStorage::traverse):
(WebKit::NetworkCacheStorage::dispatchPendingWriteOperations):
(WebKit::NetworkCacheStorage::dispatchFullWriteOperation):
(WebKit::NetworkCacheStorage::dispatchHeaderWriteOperation):
- 12:12 PM Changeset in webkit [180948] by
-
- 4 edits in trunk/Source/WebCore
Avoid applying the clip-path when painting, if a layer also has a shape layer mask
https://bugs.webkit.org/show_bug.cgi?id=142212
Reviewed by Zalan Bujtas.
After r180882 we translate clip-path into a composited shape mask when the layer
is composited. However, we were also still applying the clip-path when painting
the layer contents.
Now, we set the GraphicsLayer bits GraphicsLayerPaintClipPath and GraphicsLayerPaintMask
only for the m_maskLayer's painting. This translate into setting PaintLayerPaintingCompositingMaskPhase
and PaintLayerPaintingCompositingClipPathPhase only when painting that same mask layer,
rather than always. To ensure that masks and clip-path get applied for software paints,
add shouldPaintMask() and shouldApplyClipPath() that return true for non-composited layers,
and when doing a flattening paint.
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::paintLayerContents): Use shouldApplyClipPath().
Pull three chunks of code under a single "if (shouldPaintContent && !selectionOnly)" condition.
The condition for paintChildClippingMaskForFragments() is changed slightly; we need to call this
only when painting the clip-path/mask layer contents, but also only when there is no mask to fill
the clipped area for us.
(WebCore::RenderLayer::calculateClipRects):
(WebCore::RenderLayer::paintsWithClipPath): Deleted.
- rendering/RenderLayer.h:
- rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateMaskingLayer): Be sure to set the GraphicsLayerPaintClipPath bit
when having a mask forces us onto the painting path.
- 12:10 PM Changeset in webkit [180947] by
-
- 3 edits in trunk/Source/WebKit2
Cache shrink leaves behind empty partition directories
https://bugs.webkit.org/show_bug.cgi?id=142217
Reviewed by Andreas Kling.
- NetworkProcess/cache/NetworkCacheFileSystemPosix.h:
(WebKit::traverseCacheFiles):
No need for std::function.
- NetworkProcess/cache/NetworkCacheStorageCocoa.mm:
(WebKit::NetworkCacheStorage::shrinkIfNeeded):
After shrink traverse through the partition directories and try to delete them.
System knows if they are actually empty.
- 11:56 AM Changeset in webkit [180946] by
-
- 5 edits in trunk/Source
Use the correct display name for website data for local files
https://bugs.webkit.org/show_bug.cgi?id=142228
Reviewed by Dan Bernstein.
Source/WebCore:
- English.lproj/Localizable.strings:
Add local file display name.
- platform/spi/cf/CFNetworkSPI.h:
Add kCFHTTPCookieLocalFileDomain declaration.
Source/WebKit2:
- UIProcess/WebsiteData/WebsiteDataRecord.cpp:
(displayNameForLocalFiles):
Add new helper function.
(WebKit::WebsiteDataRecord::displayNameForCookieHostName):
Check if the hostname is kCFHTTPCookieLocalFileDomain.
(WebKit::WebsiteDataRecord::displayNameForOrigin):
Handle file URLs as well.
- 11:31 AM March 2015 Meeting edited by
- (diff)
- 11:29 AM March 2015 Meeting edited by
- (diff)
- 11:14 AM Changeset in webkit [180945] by
-
- 3 edits in trunk/Tools
JSC tests should not be repeated twice for each branch builder, and should if possible have their own queue.
https://bugs.webkit.org/show_bug.cgi?id=142094
Reviewed by Csaba Osztrogonác.
- BuildSlaveSupport/build.webkit.org-config/config.json: Added bots 155 and 157
- BuildSlaveSupport/build.webkit.org-config/master.cfg:
(TestFactory):
(TestFactory.init): Made running of JSC tests conditional.
(TestAllButJSCFactory):
(TestJSCFactory): Added.
(TestJSCFactory.init):
(TestWebKit2AndJSCFactory): Added factory to not run JSC tests on WebKit2.
- 11:13 AM Changeset in webkit [180944] by
-
- 5 edits in trunk/Source/WebCore
BreakingContext cleanup
https://bugs.webkit.org/show_bug.cgi?id=142146
Reviewed by Dean Jackson.
- Use commitLineBreakAtCurrentWidth() instead of directly
updating m_width and m_lineBreak, because the name makes the
intent clearer.
- Remove duplicate function LineBreaker::nextSegmentBreak().
- lineStyle() takes care of inspecting RenderText's parent's
style.
- Add FIXME to BreakingContext::initializeForCurrentObject()
because it seems like we are ignoring first-line style for
some properties.
No new tests because there is no behavior change.
- rendering/line/BreakingContextInlineHeaders.h:
(WebCore::BreakingContext::BreakingContext):
(WebCore::BreakingContext::initializeForCurrentObject):
(WebCore::BreakingContext::handleReplaced):
(WebCore::BreakingContext::handleText):
(WebCore::BreakingContext::commitAndUpdateLineBreakIfNeeded):
(WebCore::BreakingContext::handleEndOfLine):
- rendering/line/LineBreaker.cpp:
(WebCore::LineBreaker::nextLineBreak): Deleted.
(WebCore::LineBreaker::nextSegmentBreak): Deleted.
- rendering/line/LineBreaker.h:
- rendering/line/LineInlineHeaders.h:
(WebCore::lineStyle):
- 10:52 AM Changeset in webkit [180943] by
-
- 2 edits in trunk/Source/WebKit2
Fixed typo in platform guard in http://trac.webkit.org/changeset/180939.
Unreviewed.
- UIProcess/ios/WKContentViewInteraction.mm:
- 10:50 AM Changeset in webkit [180942] by
-
- 2 edits in trunk/Tools
build-webkit --helpis wrong about how to build for the iOS simulator
<http://webkit.org/b/142223>
Reviewed by Csaba Osztrogonác.
- Scripts/build-webkit: Fix help.
- 10:10 AM Changeset in webkit [180941] by
-
- 5 edits1 add in trunk/Source/WebInspectorUI
Web Inspector: Refactoring: separate ConsoleSession from ConsoleGroup
https://bugs.webkit.org/show_bug.cgi?id=142141
ConsoleSession doesn't have a title and it's not collapsible either.
Simplify ConsoleSession by removing excessive markup.
Reviewed by Timothy Hatcher.
- UserInterface/Controllers/JavaScriptLogViewController.js:
(WebInspector.JavaScriptLogViewController):
(WebInspector.JavaScriptLogViewController.prototype.startNewSession):
(WebInspector.JavaScriptLogViewController.prototype._appendConsoleMessage):
(WebInspector.JavaScriptLogViewController.prototype.get topConsoleGroup): Deleted.
- UserInterface/Main.html:
- UserInterface/Views/ConsoleGroup.js:
(WebInspector.ConsoleGroup):
(WebInspector.ConsoleGroup.prototype.render):
(WebInspector.ConsoleGroup.prototype.addMessage):
(WebInspector.ConsoleGroup.prototype.append):
(WebInspector.ConsoleGroup.prototype.hasMessages): Deleted.
- UserInterface/Views/ConsoleSession.js: Added.
(WebInspector.ConsoleSession):
(WebInspector.ConsoleSession.prototype.addMessage):
(WebInspector.ConsoleSession.prototype.append):
(WebInspector.ConsoleSession.prototype.hasMessages):
- UserInterface/Views/LogContentView.css:
(.console-session + .console-session):
(.console-group.new-session .console-group-messages .console-item:first-child): Deleted.
(.console-group.new-session): Deleted.
- 10:05 AM Changeset in webkit [180940] by
-
- 2 edits in trunk/Tools
Unreviewed. Bump libsoup version to 2.49.91.1 to fix 32 bit build.
- gtk/jhbuild.modules:
- 9:46 AM Changeset in webkit [180939] by
-
- 2 edits in trunk/Source/WebKit2
Adopt new API for keyboard interaction.
https://bugs.webkit.org/show_bug.cgi?id=142201
rdar://problem/19924949
Reviewed by Joseph Pecoraro.
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView inputAssistantItem]):
(-[WKContentView _inputAssistantItem]):
- 9:32 AM Changeset in webkit [180938] by
-
- 2 edits in trunk/Source/JavaScriptCore
[Win64] JSC compile error.
https://bugs.webkit.org/show_bug.cgi?id=142216
Patch by peavo@outlook.com <peavo@outlook.com> on 2015-03-03
Reviewed by Mark Lam.
There is missing a version of setupArgumentsWithExecState when NUMBER_OF_ARGUMENT_REGISTERS == 4.
- jit/CCallHelpers.h:
(JSC::CCallHelpers::setupArgumentsWithExecState):
- 9:13 AM Changeset in webkit [180937] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: popover should use requestAnimationFrame to drive move/resize animations
https://bugs.webkit.org/show_bug.cgi?id=142218
Reviewed by Timothy Hatcher.
Remove setTimeout workaround now that Inspector runs in its own process.
- UserInterface/Views/Popover.js:
(WebInspector.Popover.prototype.drawBackground):
(WebInspector.Popover.prototype._animateFrame):
- 9:08 AM Changeset in webkit [180936] by
-
- 2 edits in trunk/LayoutTests
[Win] Document more debug assertions.
- platform/win/TestExpectations:
- 8:52 AM Changeset in webkit [180935] by
-
- 3 edits in trunk/Source/WebInspectorUI
Web Inspector: Console log level selector loses selection on reload
https://bugs.webkit.org/show_bug.cgi?id=142199
Reviewed by Timothy Hatcher.
The selected items in the console scope bar were being saved as settings,
but the "All" scope is forcibly selected on reload due to a logic bug.
- UserInterface/Base/Main.js:
(WebInspector.showFullHeightConsole):
The scope bar may already have selected items restored from WebInspector.Settings.
Don't select a scope unless explicitly requested (i.e., clicking on dashboard buttons)
or if no scopes are selected at all. (In the latter case, "All" is the default scope.)
- UserInterface/Views/LogContentView.js:
(WebInspector.LogContentView): Don't specify a default value here to avoid trampling
settings. The "All" scope is selected by default in showFullHeightConsole if
nothing else is selected.
- 7:58 AM Changeset in webkit [180934] by
-
- 6 edits6 adds in trunk
Make AudioContext suspendable when it is not rendering
https://bugs.webkit.org/show_bug.cgi?id=142210
<rdar://problem/19923085>
Reviewed by Eric Carlson.
Source/WebCore:
Make AudioContext suspendable when it is not rendering to increase the
likelihood of entering the PageCache for pages using WebAudio.
This patch adds a state member to AudioContext with 3 possible states:
Suspended / Running / Closed, as defined in the specification:
http://webaudio.github.io/web-audio-api/#widl-AudioContext-state
This state is used to decide if we can suspend the page or not. We
can safely suspend if the AudioContext's state is suspended (did not
start rendering) or closed (Stopped rendering).
Note that this patch does not expose the AudioContext's state to the
Web yet, even though it is exposed in the latest specification.
Tests: fast/history/page-cache-closed-audiocontext.html
fast/history/page-cache-running-audiocontext.html
fast/history/page-cache-suspended-audiocontext.html
- Modules/webaudio/AudioContext.cpp:
(WebCore::AudioContext::AudioContext):
(WebCore::AudioContext::uninitialize):
(WebCore::AudioContext::canSuspend):
(WebCore::AudioContext::startRendering):
(WebCore::AudioContext::fireCompletionEvent):
- Modules/webaudio/AudioContext.h:
LayoutTests:
Add layout tests to check cases where an AudioContext should or should
not prevent pages from entering the page cache.
- fast/history/page-cache-closed-audiocontext-expected.txt: Added.
- fast/history/page-cache-closed-audiocontext.html: Added.
- fast/history/page-cache-running-audiocontext-expected.txt: Added.
- fast/history/page-cache-running-audiocontext.html: Added.
- fast/history/page-cache-suspended-audiocontext-expected.txt: Added.
- fast/history/page-cache-suspended-audiocontext.html: Added.
- 7:10 AM Changeset in webkit [180933] by
-
- 1 copy in releases/WebKitGTK/webkit-2.7.91
WebKitGTK+ 2.7.91
- 7:09 AM Changeset in webkit [180932] by
-
- 4 edits in releases/WebKitGTK/webkit-2.8
Unreviewed. Update OptionsGTK.cmake and NEWS for 2.7.91 release.
.:
- Source/cmake/OptionsGTK.cmake: Bump version numbers.
Source/WebKit2:
- gtk/NEWS: Add release notes for 2.7.91.
- 2:53 AM Changeset in webkit [180931] by
-
- 3 edits in releases/WebKitGTK/webkit-2.8/Source/WebCore
Merge r180928 - [SOUP] Use SoupMessage::starting instead of SoupSession::request-started
https://bugs.webkit.org/show_bug.cgi?id=142164
Reviewed by Sergio Villar Senin.
SoupSession::request-started is deprecated in libsoup 2.50. Both
signals are equivalent, but SoupMessage::starting is also emitted
for resources loaded from the disk cache. This fixes web timing
calculations for cached resources, since we were not initializing
m_requestStart.
- platform/network/soup/ResourceHandleSoup.cpp:
(WebCore::startingCallback):
(WebCore::createSoupMessageForHandleAndRequest):
- platform/network/soup/SoupNetworkSession.cpp:
(WebCore::SoupNetworkSession::SoupNetworkSession):
- 2:52 AM Changeset in webkit [180930] by
-
- 5 edits in releases/WebKitGTK/webkit-2.8
Merge r180927 - [SOUP] Synchronous XMLHttpRequests can time out when we reach the max connections limit
https://bugs.webkit.org/show_bug.cgi?id=141508
Reviewed by Sergio Villar Senin.
Source/WebCore:
Use SOUP_MESSAGE_IGNORE_CONNECTION_LIMITS flag when loading a
synchronous message instead of increasing the maximum number of
connections allowed if the soup version is recent enough.
The current solution of increasing/decreasing the limits doesn't
always work, because connections are not marked as IDLE in libsoup
until the message is unqueued, but we don't wait for the message
to be unqueued to finish our loads in WebKit, we finish them as
soon as we have finished reading the stream. This causes that
synchronous loads keep blocked in the nested main loop until the
timeout of 10 seconds is fired and the load fails.
Also marked WebCoreSynchronousLoader class as final, the virtual
methods as override and removed the unsused method isSynchronousClient.
- platform/network/soup/ResourceHandleSoup.cpp:
(WebCore::createSoupMessageForHandleAndRequest):
(WebCore::WebCoreSynchronousLoader::WebCoreSynchronousLoader):
(WebCore::WebCoreSynchronousLoader::isSynchronousClient): Deleted.
(WebCore::WebCoreSynchronousLoader::didReceiveResponse):
(WebCore::WebCoreSynchronousLoader::didReceiveData):
(WebCore::WebCoreSynchronousLoader::didReceiveBuffer):
(WebCore::WebCoreSynchronousLoader::didFinishLoading):
(WebCore::WebCoreSynchronousLoader::didFail):
(WebCore::WebCoreSynchronousLoader::didReceiveAuthenticationChallenge):
(WebCore::WebCoreSynchronousLoader::shouldUseCredentialStorage):
Tools:
Add a unit test to check that synchronous XHRs load even if the
maximum connection limits are reached.
- TestWebKitAPI/Tests/WebKit2Gtk/TestResources.cpp:
(testWebViewSyncRequestOnMaxConns):
(serverCallback):
(beforeAll):
- gtk/jhbuild.modules: Bump libsoup version to 2.49.91.
- 2:51 AM Changeset in webkit [180929] by
-
- 6 edits in releases/WebKitGTK/webkit-2.8/Source/WebKit2
Merge r180924 - REGRESSION(r177075): WebProcess crashes when entering accelerating compositing mode before the WebView is realized
https://bugs.webkit.org/show_bug.cgi?id=142079
Reviewed by Žan Doberšek.
The problem is that the texture mapper and native window handler
are initialized when the LayerTreeHost is initialized, assuming
the UI process has already sent the native window handler to the
web process, but that doesn't always happen since we moved the
redirected window creation to realize in r177075.
- WebProcess/WebPage/DrawingArea.h:
(WebKit::DrawingArea::nativeSurfaceHandleForCompositing): Deleted.
- WebProcess/WebPage/DrawingAreaImpl.cpp:
(WebKit::DrawingAreaImpl::enterAcceleratedCompositingMode): Call
LayerTreeHost::setNativeSurfaceHandleForCompositing if we
already have a native window handle at this point.
(WebKit::DrawingAreaImpl::setNativeSurfaceHandleForCompositing):
Call LayerTreeHost::setNativeSurfaceHandleForCompositing also when
not using threaded compositing.
- WebProcess/WebPage/LayerTreeHost.h:
- WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
(WebKit::LayerTreeHostGtk::makeContextCurrent): Helper function to
ensure a context and making it current.
(WebKit::LayerTreeHostGtk::ensureTextureMapper): Ensure a texture
is created for the current context.
(WebKit::LayerTreeHostGtk::initialize): Use makeContextCurrent()
and ensureTextureMapper(), and remove the LayerTreeContext
initialization since that's is now always initialized in
setNativeSurfaceHandleForCompositing().
(WebKit::LayerTreeHostGtk::compositeLayersToContext): Use
makeContextCurrent() helper function and also call
ensureTextureMapper() just in case the texture could not be
created during initialization because the native window handle was
not yet available.
(WebKit::LayerTreeHostGtk::flushAndRenderLayers): Use makeContextCurrent().
(WebKit::LayerTreeHostGtk::setNativeSurfaceHandleForCompositing):
Initialize the LayerTreeContext.
(WebKit::LayerTreeHostGtk::glContext): Deleted.
- WebProcess/WebPage/gtk/LayerTreeHostGtk.h:
- 2:24 AM Changeset in webkit [180928] by
-
- 3 edits in trunk/Source/WebCore
[SOUP] Use SoupMessage::starting instead of SoupSession::request-started
https://bugs.webkit.org/show_bug.cgi?id=142164
Reviewed by Sergio Villar Senin.
SoupSession::request-started is deprecated in libsoup 2.50. Both
signals are equivalent, but SoupMessage::starting is also emitted
for resources loaded from the disk cache. This fixes web timing
calculations for cached resources, since we were not initializing
m_requestStart.
- platform/network/soup/ResourceHandleSoup.cpp:
(WebCore::startingCallback):
(WebCore::createSoupMessageForHandleAndRequest):
- platform/network/soup/SoupNetworkSession.cpp:
(WebCore::SoupNetworkSession::SoupNetworkSession):
- 1:17 AM Changeset in webkit [180927] by
-
- 5 edits in trunk
[SOUP] Synchronous XMLHttpRequests can time out when we reach the max connections limit
https://bugs.webkit.org/show_bug.cgi?id=141508
Reviewed by Sergio Villar Senin.
Source/WebCore:
Use SOUP_MESSAGE_IGNORE_CONNECTION_LIMITS flag when loading a
synchronous message instead of increasing the maximum number of
connections allowed if the soup version is recent enough.
The current solution of increasing/decreasing the limits doesn't
always work, because connections are not marked as IDLE in libsoup
until the message is unqueued, but we don't wait for the message
to be unqueued to finish our loads in WebKit, we finish them as
soon as we have finished reading the stream. This causes that
synchronous loads keep blocked in the nested main loop until the
timeout of 10 seconds is fired and the load fails.
Also marked WebCoreSynchronousLoader class as final, the virtual
methods as override and removed the unsused method isSynchronousClient.
- platform/network/soup/ResourceHandleSoup.cpp:
(WebCore::createSoupMessageForHandleAndRequest):
(WebCore::WebCoreSynchronousLoader::WebCoreSynchronousLoader):
(WebCore::WebCoreSynchronousLoader::isSynchronousClient): Deleted.
(WebCore::WebCoreSynchronousLoader::didReceiveResponse):
(WebCore::WebCoreSynchronousLoader::didReceiveData):
(WebCore::WebCoreSynchronousLoader::didReceiveBuffer):
(WebCore::WebCoreSynchronousLoader::didFinishLoading):
(WebCore::WebCoreSynchronousLoader::didFail):
(WebCore::WebCoreSynchronousLoader::didReceiveAuthenticationChallenge):
(WebCore::WebCoreSynchronousLoader::shouldUseCredentialStorage):
Tools:
Add a unit test to check that synchronous XHRs load even if the
maximum connection limits are reached.
- TestWebKitAPI/Tests/WebKit2Gtk/TestResources.cpp:
(testWebViewSyncRequestOnMaxConns):
(serverCallback):
(beforeAll):
- gtk/jhbuild.modules: Bump libsoup version to 2.49.91.
- 12:55 AM Changeset in webkit [180926] by
-
- 2 edits in releases/WebKitGTK/webkit-2.8/Source/bmalloc
Merge r180908 - bmalloc: Eagerly remove allocated objects from the free list
https://bugs.webkit.org/show_bug.cgi?id=142194
Reviewed by Andreas Kling.
This reduces the pressure to garbage collect the free list.
Might be a 1% speedup on MallocBench.
- bmalloc/FreeList.cpp: Put this comment at the top of the file instead
of repeating it inside of each function. Tried to clarify the details.
(bmalloc::FreeList::takeGreedy): Matched the other iteration code in this
file for consistency -- even though either direction works fine in this
function.
(bmalloc::FreeList::take): Change to iterate from low to high so that we
can maintain an index into the vector that is not disturbed even if we
pop from the middle (which invalidates the last index in the vector).
Decrement i when popping from the middle to make sure that we don't
skip the next item after popping.
(bmalloc::FreeList::removeInvalidAndDuplicateEntries): Ditto.
- 12:47 AM Changeset in webkit [180925] by
-
- 2 edits in releases/WebKitGTK/webkit-2.8
Merge r180884 - REGRESSION(r179409): [GTK] Undefined symbol prevents web extensions from being loaded
https://bugs.webkit.org/show_bug.cgi?id=142165
Patch by Debarshi Ray <debarshir@gnome.org> on 2015-03-02
Reviewed by Carlos Garcia Campos.
- Source/cmake/gtksymbols.filter:
- 12:10 AM Changeset in webkit [180924] by
-
- 6 edits in trunk/Source/WebKit2
REGRESSION(r177075): WebProcess crashes when entering accelerating compositing mode before the WebView is realized
https://bugs.webkit.org/show_bug.cgi?id=142079
Reviewed by Žan Doberšek.
The problem is that the texture mapper and native window handler
are initialized when the LayerTreeHost is initialized, assuming
the UI process has already sent the native window handler to the
web process, but that doesn't always happen since we moved the
redirected window creation to realize in r177075.
- WebProcess/WebPage/DrawingArea.h:
(WebKit::DrawingArea::nativeSurfaceHandleForCompositing): Deleted.
- WebProcess/WebPage/DrawingAreaImpl.cpp:
(WebKit::DrawingAreaImpl::enterAcceleratedCompositingMode): Call
LayerTreeHost::setNativeSurfaceHandleForCompositing if we
already have a native window handle at this point.
(WebKit::DrawingAreaImpl::setNativeSurfaceHandleForCompositing):
Call LayerTreeHost::setNativeSurfaceHandleForCompositing also when
not using threaded compositing.
- WebProcess/WebPage/LayerTreeHost.h:
- WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
(WebKit::LayerTreeHostGtk::makeContextCurrent): Helper function to
ensure a context and making it current.
(WebKit::LayerTreeHostGtk::ensureTextureMapper): Ensure a texture
is created for the current context.
(WebKit::LayerTreeHostGtk::initialize): Use makeContextCurrent()
and ensureTextureMapper(), and remove the LayerTreeContext
initialization since that's is now always initialized in
setNativeSurfaceHandleForCompositing().
(WebKit::LayerTreeHostGtk::compositeLayersToContext): Use
makeContextCurrent() helper function and also call
ensureTextureMapper() just in case the texture could not be
created during initialization because the native window handle was
not yet available.
(WebKit::LayerTreeHostGtk::flushAndRenderLayers): Use makeContextCurrent().
(WebKit::LayerTreeHostGtk::setNativeSurfaceHandleForCompositing):
Initialize the LayerTreeContext.
(WebKit::LayerTreeHostGtk::glContext): Deleted.
- WebProcess/WebPage/gtk/LayerTreeHostGtk.h:
Mar 2, 2015:
- 11:20 PM Changeset in webkit [180923] by
-
- 2 edits in trunk/Source/WebCore
[iOS] Disable -Wdeprecated-declaration warnings in WebVideoFullscreenInterfaceAVKit.mm
Fixing the deprecations is tracked by: <rdar://problem/20018692>
- platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
(WebVideoFullscreenInterfaceAVKit::enterFullscreenOptimized):
Ignore -Wdeprecated-declaration warnings via clang pragmas.
- 10:57 PM Changeset in webkit [180922] by
-
- 3 edits in trunk/LayoutTests
Gardening: skipping inspector/timeline tests since they are still flaky.
<https://webkit.org/b/142208>
Not reviewed.
- TestExpectations:
- Restore skipping of inspector/timeline tests.
- platform/win/TestExpectations:
- Removing the skipping here since the general TestExpectations has it covered.
- 10:55 PM Changeset in webkit [180921] by
-
- 10 edits in trunk/Source
[WK2] Remove unnecessary create() factory functions.
https://bugs.webkit.org/show_bug.cgi?id=142161
Reviewed by Chris Dumez.
We can replace some create() factory functions with std::make_unique(). Because
it just returns new instance. Even some of those functions have used std::unique_ptr<>
instead of std::make_unique<>. Fixed all.
Source/WebKit2:
- DatabaseProcess/IndexedDB/sqlite/SQLiteIDBTransaction.h:
(WebKit::SQLiteIDBTransaction::create): Deleted.
- DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::establishTransaction):
- Platform/efl/DispatchQueueWorkItemEfl.h:
(WorkItem::dispatch):
(WorkItem::create): Deleted.
- UIProcess/API/gtk/PageClientImpl.h:
(WebKit::PageClientImpl::create): Deleted.
- UIProcess/API/gtk/WebKitTextChecker.h:
(WebKitTextChecker::create): Deleted.
- UIProcess/API/gtk/WebKitWebContext.cpp:
(webkitWebContextConstructed):
- UIProcess/API/gtk/WebKitWebViewBase.cpp:
(webkitWebViewBaseConstructed):
Source/WTF:
- wtf/efl/WorkQueueEfl.cpp:
(WorkQueue::dispatch):
- 8:38 PM Changeset in webkit [180920] by
-
- 2 edits in trunk/Tools
Update the name of ASan build step.
- BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotIteration.js:
- 8:33 PM Changeset in webkit [180919] by
-
- 4 edits in trunk/Source
DFG compile time measurements should really report milliseconds
https://bugs.webkit.org/show_bug.cgi?id=142209
Reviewed by Benjamin Poulain.
Source/JavaScriptCore:
Fix this to record milliseconds instead of seconds.
- dfg/DFGPlan.cpp:
(JSC::DFG::Plan::compileInThread):
(JSC::DFG::Plan::compileInThreadImpl):
Source/WTF:
This bug was introduced because currentTimeMS() calls were converted to
monotonicallyIncreasingTime() calls. Perhaps this bug would be less likely if there was a
monotonicallyIncreasingTimeMS() function available, so this patch adds it.
- wtf/CurrentTime.h:
(WTF::monotonicallyIncreasingTimeMS):
- 8:12 PM Changeset in webkit [180918] by
-
- 2 edits in trunk/LayoutTests
[Win] inspector/timeline always times out.
https://bugs.webkit.org/show_bug.cgi?id=142208
- platform/win/TestExpectations: Skipping.)
- 8:05 PM Changeset in webkit [180917] by
-
- 13 edits in trunk/Source/JavaScriptCore
Remove op_get_callee, it's unused
https://bugs.webkit.org/show_bug.cgi?id=142206
Reviewed by Andreas Kling.
It's a bit of a shame that we stopped using this opcode since it gives us same-callee
profiling. But, if we were to add this functionality back in, we would almost certainly do
it by adding a JSFunction allocation watchpoint on FunctionExecutable.
- bytecode/BytecodeList.json:
- bytecode/BytecodeUseDef.h:
(JSC::computeUsesForBytecodeOffset):
(JSC::computeDefsForBytecodeOffset):
- bytecode/CodeBlock.cpp:
(JSC::CodeBlock::dumpBytecode):
(JSC::CodeBlock::finalizeUnconditionally):
- dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::parseBlock):
- dfg/DFGCapabilities.cpp:
(JSC::DFG::capabilityLevel):
- jit/JIT.cpp:
(JSC::JIT::privateCompileMainPass):
(JSC::JIT::privateCompileSlowCases):
- jit/JIT.h:
- jit/JITOpcodes.cpp:
(JSC::JIT::emit_op_get_callee): Deleted.
(JSC::JIT::emitSlow_op_get_callee): Deleted.
- jit/JITOpcodes32_64.cpp:
(JSC::JIT::emit_op_get_callee): Deleted.
(JSC::JIT::emitSlow_op_get_callee): Deleted.
- llint/LowLevelInterpreter32_64.asm:
- llint/LowLevelInterpreter64.asm:
- runtime/CommonSlowPaths.cpp:
(JSC::SLOW_PATH_DECL): Deleted.
- 7:58 PM Changeset in webkit [180916] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Remove native extensions now built-in
https://bugs.webkit.org/show_bug.cgi?id=142203
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-03-02
Reviewed by Timothy Hatcher.
- UserInterface/Base/Utilities.js:
- 7:29 PM Changeset in webkit [180915] by
-
- 11 edits2 moves in trunk/Source/WebCore
Unreviewed, rolling out r180902.
https://bugs.webkit.org/show_bug.cgi?id=142205
It broke scrolling in some cases. See bug 142202 for details.
(Requested by bdash on #webkit).
Reverted changeset:
"Move scroll animating functions from ScrollAnimator to
ScrollController"
https://bugs.webkit.org/show_bug.cgi?id=142102
http://trac.webkit.org/changeset/180902
- 7:25 PM Changeset in webkit [180914] by
-
- 14 edits10 deletes in trunk
Unreviewed, rolling out r180911.
https://bugs.webkit.org/show_bug.cgi?id=142204
The tests it added are crashing (Requested by bdash on
#webkit).
Reverted changeset:
"Add a microtask abstraction"
https://bugs.webkit.org/show_bug.cgi?id=137496
http://trac.webkit.org/changeset/180911
- 6:24 PM Changeset in webkit [180913] by
-
- 17 edits in trunk/Source
Web Inspector: Context Menu to Log a Particular Object
https://bugs.webkit.org/show_bug.cgi?id=142198
Reviewed by Timothy Hatcher.
Source/JavaScriptCore:
Add a protocol method to assign a $n index to a value. For an object
use the injected script context for that object. For a value, use
the execution context to know where to save the value.
- inspector/InjectedScript.cpp:
(Inspector::InjectedScript::saveResult):
- inspector/InjectedScript.h:
- inspector/InjectedScriptSource.js:
- inspector/agents/InspectorRuntimeAgent.cpp:
(Inspector::InspectorRuntimeAgent::saveResult):
- inspector/agents/InspectorRuntimeAgent.h:
- inspector/protocol/Debugger.json:
- inspector/protocol/Runtime.json:
Source/WebInspectorUI:
- UserInterface/Controllers/JavaScriptLogViewController.js:
(WebInspector.JavaScriptLogViewController.prototype.saveResultCallback):
(WebInspector.JavaScriptLogViewController.prototype.appendImmediateExecutionWithResult):
Add a way to show an execution and result immediately in the Log View.
- UserInterface/Views/ConsolePrompt.js:
(WebInspector.ConsolePrompt.prototype.pushHistoryItem):
(WebInspector.ConsolePrompt.prototype.commitTextOrInsertNewLine):
(WebInspector.ConsolePrompt.prototype._handleEnterKey):
(WebInspector.ConsolePrompt.prototype._commitHistoryEntry):
Add a way to append a history item to the console prompt history.
- UserInterface/Views/ObjectTreePropertyTreeElement.js:
(WebInspector.ObjectTreePropertyTreeElement.prototype):
Add a context menu item to object tree properties to log the value.
- UserInterface/Protocol/RemoteObject.js:
(WebInspector.RemoteObject.createCallArgument):
(WebInspector.RemoteObject.prototype.callFunction):
(WebInspector.RemoteObject.prototype.asCallArgument):
Simplify CallArgument creation.
- UserInterface/Controllers/RuntimeManager.js:
(WebInspector.RuntimeManager.prototype.mycallback):
(WebInspector.RuntimeManager.prototype.saveResult):
Wrap RuntimeAgent.saveResult. If supported, run the backend command
and fetch a saved result index from the backend for the given value.
- Localizations/en.lproj/localizedStrings.js:
- UserInterface/Base/Main.js:
(WebInspector.contentLoaded):
- UserInterface/Views/LogContentView.js:
(WebInspector.LogContentView.prototype.get logViewController):
Misc.
- 5:37 PM Changeset in webkit [180912] by
-
- 2 edits in trunk/Source/WebKit2
Lots of: ERROR: Unhandled web process message WebPageGroupProxy:RemoveAllUserContentFilters
https://bugs.webkit.org/show_bug.cgi?id=142155
Reviewed by Simon Fraser.
- WebProcess/WebProcess.cpp:
(WebKit::WebProcess::didReceiveMessage): Return after handling WebPageGroupProxy messages
instead of logging an error.
- 5:04 PM Changeset in webkit [180911] by
-
- 14 edits10 adds in trunk
Add a microtask abstraction
https://bugs.webkit.org/show_bug.cgi?id=137496
Reviewed by Sam Weinig.
Source/WebCore:
This patch adds a microtask abstraction: https://html.spec.whatwg.org/multipage/webappapis.html#microtask
That abstraction is required in order to enable async loading of images,
which is in turn required to enable support for the picture element, as well as
to make sure that the order of properties set on HTMLImageElement has no implications.
- WebCore.vcxproj/WebCore.vcxproj: Add MicroTask.{h,cpp} to the project.
- WebCore.vcxproj/WebCoreTestSupport.vcxproj: Add MicroTaskTest.{h,cpp} to the project.
- WebCore.vcxproj/WebCore.vcxproj.filters: Add MicroTask.{h,cpp} to the project.
- WebCore.vcxproj/WebCoreTestSupport.vcxproj.filters: Add MicroTaskTest.{h,cpp} to the project.
- WebCore.xcodeproj/project.pbxproj: Add MicroTask{,Test}.{h,cpp} to the project.
- dom/Document.h: Add WEBCORE_EXPORT to addConsoleMessage, so it can be used in MicroTaskTest that's in WebCoreTestSupport..
- dom/MicroTask.h: Add a MicroTask interface class. Add a MicroTaskQueue singleton.
(WebCore::MicroTask::~MicroTask):
(WebCore::MicroTask::run): Run the microtask.
- dom/MicroTask.cpp: Implement the MicroTaskQueue singleton.
(WebCore::MicroTaskQueue::singleton): Get a singleton instance of MicroTaskQueue.
(WebCore::MicroTaskQueue::queueMicroTask): Add a microtask to the queue.
(WebCore::MicroTaskQueue::runMicroTasks): Run all the microtasks in the queue and clear it.
- dom/ScriptRunner.cpp: Trigger running of all microtasks in queue.
(WebCore::ScriptRunner::timerFired):
- html/parser/HTMLScriptRunner.cpp: Trigger running of all microtasks in queue.
(WebCore::HTMLScriptRunner::executePendingScriptAndDispatchEvent):
(WebCore::HTMLScriptRunner::executeScriptsWaitingForParsing):
(WebCore::HTMLScriptRunner::runScript):
- testing/Internals.cpp: Add a method to queue a test microtask.
(WebCore::Internals::queueMicroTask):
- testing/Internals.h: Add a method to queue a test microtask.
(WebCore::Internals::queueMicroTask):
- testing/Internals.idl: Expose test microtask queueing to test JS.
- testing/MicroTaskTest.cpp: Add a test class that implements a microtask and prints to the console when it runs.
(WebCore::MicroTaskTest::run): Run the microtask
(WebCore::MicroTaskTest::create): Create a test microtask.
- testing/MicroTaskTest.h: Add a test class that implements a microtask.
(WebCore::MicroTaskTest::run):
(WebCore::MicroTaskTest::create):
LayoutTests:
Adding a test for microtask abstraction.
- fast/dom/microtask-detach.html: Added.
- fast/dom/microtask-detach-expected.txt: Added.
- fast/dom/microtask-inorder.html: Added.
- fast/dom/microtask-inorder-expected.txt: Added.
- fast/dom/microtask-reverse.html: Added.
- fast/dom/microtask-reverse-expected.txt: Added.
- 4:58 PM Changeset in webkit [180910] by
-
- 2 edits in trunk/Source/WebCore
RenderVideo should not paint the video frame when video is fullscreen.
https://bugs.webkit.org/show_bug.cgi?id=142097
Patch by Jeremy Jones <jeremyj@apple.com> on 2015-03-02
Reviewed by Eric Carlson.
For performance and correctness, RenderVideo should not paint the current video frame
inline when video is fullscreen. This happens when snapshots are taken and can have a
negative performance impact.
- rendering/RenderVideo.cpp:
(WebCore::RenderVideo::paintReplaced):
- 4:45 PM Changeset in webkit [180909] by
-
- 3 edits in trunk/Source/JavaScriptCore
SpeculativeJIT::emitAllocateArguments() should be a bit faster, and shouldn't do destructor initialization
https://bugs.webkit.org/show_bug.cgi?id=142197
Reviewed by Geoffrey Garen.
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::emitAllocateArguments): Use shift instead of mul, since mul doesn't automatically strength-reduce to shift. Also pass the structure as a TrustedImmPtr.
- dfg/DFGSpeculativeJIT.h:
(JSC::DFG::SpeculativeJIT::emitAllocateVariableSizedJSObject): Rationalize this a bit. The other emitAllocate... methods take a templated structure so that it can be either a TrustedImmPtr or a register. Also don't do destructor initialization, since its one client doesn't need it, and it's actually probably wrong.
- 4:38 PM Changeset in webkit [180908] by
-
- 2 edits in trunk/Source/bmalloc
bmalloc: Eagerly remove allocated objects from the free list
https://bugs.webkit.org/show_bug.cgi?id=142194
Reviewed by Andreas Kling.
This reduces the pressure to garbage collect the free list.
Might be a 1% speedup on MallocBench.
- bmalloc/FreeList.cpp: Put this comment at the top of the file instead
of repeating it inside of each function. Tried to clarify the details.
(bmalloc::FreeList::takeGreedy): Matched the other iteration code in this
file for consistency -- even though either direction works fine in this
function.
(bmalloc::FreeList::take): Change to iterate from low to high so that we
can maintain an index into the vector that is not disturbed even if we
pop from the middle (which invalidates the last index in the vector).
Decrement i when popping from the middle to make sure that we don't
skip the next item after popping.
(bmalloc::FreeList::removeInvalidAndDuplicateEntries): Ditto.
- 4:24 PM Changeset in webkit [180907] by
-
- 3 edits2 adds in trunk
Source/JavaScriptCore:
Exception stack unwinding in JSC hangs while the Timeline Profiler is enabled.
<https://webkit.org/b/142191>
Reviewed by Geoffrey Garen.
Imagine a scenario where the Inspector is paused / suspended at a breakpoint or
while the user is stepping through JS code. The user then tries to evaluate an
expression in the console, and that evaluation results in an exception being
thrown. Currently, if the Timeline Profiler is enabled while this exception is
being thrown, the WebProcess will hang while trying to handle that exception.
The issue is that the Timeline Profiler's ProfileGenerator::didExecute() will
return early and decline to process ProfileNodes if the Inspector is paused.
This is proper because it does not want to count work done for injected scripts
(e.g. from the console) towards the timeline profile of the webpage being run.
However, this is in conflict with ProfileGenerator::exceptionUnwind()'s
expectation that didExecute() will process ProfileNodes in order to do the stack
unwinding for the exception handling. As a result,
ProfileGenerator::exceptionUnwind() hangs.
ProfileGenerator::exceptionUnwind() is in error. While the Inspector is paused,
there will not be any ProfileNodes that it needs to "unwind". Hence, the fix is
simply to return early also in ProfileGenerator::exceptionUnwind() if the
Inspector is paused.
- profiler/ProfileGenerator.cpp:
(JSC::ProfileGenerator::exceptionUnwind):
LayoutTests:
Last gardening after r177774
Unreviewed.
Patch by Myles C. Maxfield <mmaxfield@apple.com> on 2015-03-02
- fast/text/font-kerning-expected.html:
- fast/text/font-variant-ligatures-expected.html:
- fast/text/whitespace/inline-whitespace-wrapping-7-expected.html:
- fast/text/whitespace/inline-whitespace-wrapping-7.html:
- mathml/presentation/scripts-subsup-expected.html:
- mathml/presentation/scripts-subsup.html:
- platform/mac/TestExpectations:
- platform/mac/fast/text/multiple-codeunit-vertical-upright-expected.html:
- platform/mac/fast/text/multiple-codeunit-vertical-upright.html:
- platform/mac/fast/text/resources/multiple-codeunit-vertical-upright.otf: Removed.
- svg/text/svg-font-word-rounding-hacks-spaces-expected.html:
- svg/text/svg-font-word-rounding-hacks-spaces.html:
- svg/text/tspan-outline-expected.svg:
- svg/text/tspan-outline.html:
- 3:57 PM Changeset in webkit [180906] by
-
- 3 edits in trunk/Source/WebCore
[iOS Media] Airplay button should be blue when active
https://bugs.webkit.org/show_bug.cgi?id=142193
Reviewed by Brent Fulgham.
Add a blue form of the Airplay button that is used
when we are actively displaying on another screen.
- Modules/mediacontrols/mediaControlsiOS.css:
(video::-webkit-media-controls-wireless-playback-picker-button):
(video::-webkit-media-controls-wireless-playback-picker-button:active):
(video::-webkit-media-controls-wireless-playback-picker-button.playing):
- Modules/mediacontrols/mediaControlsiOS.js:
(ControllerIOS.prototype.updateWirelessPlaybackStatus):
- 3:52 PM Changeset in webkit [180905] by
-
- 2 edits in trunk/Source/WebKit2
Add way to dump cache meta data to file
https://bugs.webkit.org/show_bug.cgi?id=142183
Add a missing return so we don't try to decode a null entry.
- NetworkProcess/cache/NetworkCache.cpp:
(WebKit::NetworkCache::dumpContentsToFile):
- 3:51 PM Changeset in webkit [180904] by
-
- 15 edits1 delete in trunk/LayoutTests
Last gardening after r177774
Unreviewed.
- fast/text/font-kerning-expected.html:
- fast/text/font-variant-ligatures-expected.html:
- fast/text/whitespace/inline-whitespace-wrapping-7-expected.html:
- fast/text/whitespace/inline-whitespace-wrapping-7.html:
- mathml/presentation/scripts-subsup-expected.html:
- mathml/presentation/scripts-subsup.html:
- platform/mac/TestExpectations:
- platform/mac/fast/text/multiple-codeunit-vertical-upright-expected.html:
- platform/mac/fast/text/multiple-codeunit-vertical-upright.html:
- platform/mac/fast/text/resources/multiple-codeunit-vertical-upright.otf: Removed.
- svg/text/svg-font-word-rounding-hacks-spaces-expected.html:
- svg/text/svg-font-word-rounding-hacks-spaces.html:
- svg/text/tspan-outline-expected.svg:
- svg/text/tspan-outline.html:
- 3:49 PM Changeset in webkit [180903] by
-
- 2 edits1 add in trunk/Source/JavaScriptCore
FTL should correctly document where it puts the argument count for inlined varargs frames
https://bugs.webkit.org/show_bug.cgi?id=142187
Reviewed by Geoffrey Garn.
After LLVM tells us where the captured variables alloca landed in the frame, we need to
tell all of our meta-data about it. We were forgetting to do so for the argument count
register, which is used by inlined varargs calls.
- ftl/FTLCompile.cpp:
(JSC::FTL::mmAllocateDataSection):
- tests/stress/inline-varargs-get-arguments.js: Added.
(foo):
(bar):
(baz):
- 3:49 PM Changeset in webkit [180902] by
-
- 11 edits2 moves in trunk/Source/WebCore
Move scroll animating functions from ScrollAnimator to ScrollController
https://bugs.webkit.org/show_bug.cgi?id=142102
<rdar://problem/20007161>
Reviewed by Simon Fraser.
No change in functionality.
Do some refactoring of the various scrolling classes:
- Consolidate animation times to RunLoop::Timer instead of a combination of WebCore::Timer and CFRunLoopTimers. Do this for Scroll Snap Point and Rubberband animations.
- Move ScrollController from platform/mac to platform/cocoa to enable sharing with iOS.
- Move code from ScrollAnimator{Mac} -> ScrollController.
- Rename scrollOffsetInAxis -> scrollOffsetOnAxis
- Rename immediateScrollInAxis -> immediateScrollOnAxis
- WebCore.xcodeproj/project.pbxproj: Move ScrollController to 'platform/cocoa'
- page/mac/EventHandlerMac.mm: Make sure the scroll controller is notified of end-of-scroll
events, just as is done for the "event not handled" case in EventHandler.cpp.
(WebCore::EventHandler::platformCompleteWheelEvent):
- page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.h: Remove timer and some delegate
methods, now that ScrollController is controlling this state.
- page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.mm:
(WebCore::ScrollingTreeFrameScrollingNodeMac::~ScrollingTreeFrameScrollingNodeMac): We no longer
need to clean up the CFRunLoopTimer.
(WebCore::ScrollingTreeFrameScrollingNodeMac::scrollOffsetOnAxis): Add temporary stub needed
until Bug 141973 is completed.).
(WebCore::ScrollingTreeFrameScrollingNodeMac::immediateScrollOnAxis): Ditto.
(WebCore::ScrollingTreeFrameScrollingNodeMac::startSnapRubberbandTimer): Deleted.
(WebCore::ScrollingTreeFrameScrollingNodeMac::stopSnapRubberbandTimer): Deleted.
- platform/ScrollAnimator.cpp:
(WebCore::ScrollAnimator::ScrollAnimator):
(WebCore::ScrollAnimator::processWheelEventForScrollSnap): Just call the ScrollController method.
(WebCore::ScrollAnimator::handleWheelEvent): Ditto.
(WebCore::ScrollAnimator::updateScrollAnimatorsAndTimers): Ditto.
(WebCore::ScrollAnimator::scrollOffsetOnAxis): Renamed from scrollOffsetInAxis.
(WebCore::ScrollAnimator::scrollOffsetInAxis): Deleted.
(WebCore::ScrollAnimator::immediateScrollOnAxis): Renamed from immediateScrollInAxis.
(WebCore::ScrollAnimator::immediateScrollInAxis): Deleted.
(WebCore::ScrollAnimator::startScrollSnapTimer): Deleted.
(WebCore::ScrollAnimator::stopScrollSnapTimer): Deleted.
(WebCore::ScrollAnimator::horizontalScrollSnapTimerFired): Deleted.
(WebCore::ScrollAnimator::verticalScrollSnapTimerFired): Deleted.
- platform/ScrollAnimator.h:
- platform/cocoa/ScrollController.h: Copied from platform/mac/ScrollController.h.
- platform/cocoa/ScrollController.mm: Copied from platform/mac/ScrollController.mm.
(WebCore::ScrollController::ScrollController): Update to initialize new timers.
(WebCore::ScrollController::handleWheelEvent): Update to handle Scroll Snap Point events.
(WebCore::ScrollController::startSnapRubberbandTimer): Added.
(WebCore::ScrollController::stopSnapRubberbandTimer): Manage animation timers locally, do not
require client to maintain timers.
(WebCore::ScrollController::snapRubberBand): Ditto.
(WebCore::ScrollController::processWheelEventForScrollSnap): Added. (Moved from ScrollAnimatorMac)
(WebCore::ScrollController::updateScrollAnimatorsAndTimers): Ditto. Also updated to use RunLoop::Timer.
(WebCore::ScrollController::startScrollSnapTimer): Ditto. Also updated to use RunLoop::Timer.
(WebCore::ScrollController::stopScrollSnapTimer): Ditto. Also updated to use RunLoop::Timer.
(WebCore::ScrollController::horizontalScrollSnapTimerFired): Ditto.
(WebCore::ScrollController::verticalScrollSnapTimerFired): Ditto.
(WebCore::ScrollController::scrollOffsetOnAxis): Moved from ScrollAnimatorMac.
(WebCore::ScrollController::immediateScrollOnAxis): Ditto.
- platform/mac/AxisScrollSnapAnimator.h: Rename methods from 'InAxis' to 'OnAxis'
- platform/mac/AxisScrollSnapAnimator.mm: Ditto.
- platform/mac/ScrollAnimatorMac.h:
- platform/mac/ScrollAnimatorMac.mm:
(WebCore::ScrollAnimatorMac::ScrollAnimatorMac): Remove unused Rubberband timers (now that this is
controlled in the ScrollController)
(WebCore::ScrollAnimatorMac::startSnapRubberbandTimer): Deleted.
(WebCore::ScrollAnimatorMac::stopSnapRubberbandTimer): Deleted.
(WebCore::ScrollAnimatorMac::snapRubberBandTimerFired): Deleted.
- platform/mac/ScrollController.h: Removed.
- platform/mac/ScrollController.mm: Removed.
- 3:39 PM Changeset in webkit [180901] by
-
- 4 edits in trunk
The InspectorTimelineAgent should gracefully handle attempts to start more than once.
<https://webkit.org/b/142189>
Reviewed by Joseph Pecoraro.
Source/WebCore:
No new tests. Unskipped an existing test that already asserts this.
InspectorTimelineAgent::internalStop() already checks for redundant calls to it in
case the InspectorTimelineAgent is already disabled. Similarly,
InspectorTimelineAgent::internalStart() should check if the InspectorTimelineAgent
is already enabled before proceeding to do work to enable it. Though wasteful,
it is legal for clients of the InspectorTimelineAgent to invoke start on it more
than once. Hence, this check is needed.
This check fixes the debug assertion failure when running the
inspector/timeline/debugger-paused-while-recording.html test. The test can now
be unskipped.
- inspector/InspectorTimelineAgent.cpp:
(WebCore::InspectorTimelineAgent::internalStart):
LayoutTests:
- TestExpectations:
- Unskipped inspector/timeline tests.
- 3:35 PM Changeset in webkit [180900] by
-
- 2 edits in trunk/LayoutTests
[Win] Skip media control test after r180893.
- platform/win/TestExpectations:
- 3:25 PM Changeset in webkit [180899] by
-
- 4 edits in trunk/Source/WebKit2
Return disk cache entries from the new disk cache
https://bugs.webkit.org/show_bug.cgi?id=142190
Reviewed by Antti Koivisto.
- NetworkProcess/NetworkProcess.cpp:
(WebKit::fetchDiskCacheEntries):
Call NetworkCache::traverse() to get all the cache entries, unique their origins and pass them back with the completion handler.
- NetworkProcess/cache/NetworkCache.cpp:
(WebKit::NetworkCache::traverse):
New helper function that traverses network cache entries.
- NetworkProcess/cache/NetworkCache.h:
- 2:54 PM Changeset in webkit [180898] by
-
- 4 edits in trunk/Source/WebCore
Update backgrounds of sliders for inline media controls on OS X.
https://bugs.webkit.org/show_bug.cgi?id=142188.
<rdar://problem/20012413>
Reviewed by Dean Jackson.
Don’t use CSS to draw volume and timeline slider backgrounds.
- Modules/mediacontrols/mediaControlsApple.css:
(video::-webkit-media-controls-volume-slider):
(audio::-webkit-media-controls-volume-slider::-webkit-slider-thumb):
(audio::-webkit-media-controls-timeline):
(audio::-webkit-media-controls-timeline::-webkit-slider-thumb):
(audio::-webkit-media-controls-panel .thumbnail-track):
(audio::-webkit-media-controls-volume-slider::-webkit-slider-thumb:active::-webkit-slider-thumb): Deleted.
(audio::-webkit-media-controls-timeline:active::-webkit-slider-thumb,): Deleted.
Draw volume and timeline slider backgrounds using 2d canvases.
- Modules/mediacontrols/mediaControlsApple.js:
(Controller.prototype.createControls):
(Controller.prototype.handleVolumeSliderInput):
(Controller.prototype.addRoundedRect):
(Controller.prototype.drawTimelineBackground):
(Controller.prototype.drawVolumeBackground):
(Controller.prototype.showControls):
- Modules/mediacontrols/mediaControlsiOS.js:
- 2:52 PM Changeset in webkit [180897] by
-
- 3 edits in trunk/Source/JavaScriptCore
Deduplicate slow path calling code in JITOpcodes.cpp/JITOpcodes32_64.cpp
https://bugs.webkit.org/show_bug.cgi?id=142184
Reviewed by Michael Saboff.
- jit/JITOpcodes.cpp:
(JSC::JIT::emit_op_get_enumerable_length):
(JSC::JIT::emitSlow_op_has_structure_property):
(JSC::JIT::emit_op_has_generic_property):
(JSC::JIT::emit_op_get_structure_property_enumerator):
(JSC::JIT::emit_op_get_generic_property_enumerator):
(JSC::JIT::emit_op_to_index_string):
- jit/JITOpcodes32_64.cpp:
(JSC::JIT::emit_op_get_enumerable_length): Deleted.
(JSC::JIT::emitSlow_op_has_structure_property): Deleted.
(JSC::JIT::emit_op_has_generic_property): Deleted.
(JSC::JIT::emit_op_get_structure_property_enumerator): Deleted.
(JSC::JIT::emit_op_get_generic_property_enumerator): Deleted.
(JSC::JIT::emit_op_to_index_string): Deleted.
(JSC::JIT::emit_op_profile_control_flow): Deleted.
- 2:28 PM Changeset in webkit [180896] by
-
- 2 edits in trunk/LayoutTests
[Win] Document more debug assertions.
- platform/win/TestExpectations:
- 2:10 PM Changeset in webkit [180895] by
-
- 2 edits1 add in trunk/LayoutTests
Skip media control tests for now while new look is being finalized.
https://bugs.webkit.org/show_bug.cgi?id=142138.
Patch by Roger Fong <roger_fong@apple.com> on 2015-02-28
Reviewed by Dean Jackson.
- platform/mac/TestExpectations:
- 1:51 PM Changeset in webkit [180894] by
-
- 9 edits in trunk/Source
Add way to dump cache meta data to file
https://bugs.webkit.org/show_bug.cgi?id=142183
Reviewed by Andreas Kling.
Source/JavaScriptCore:
Export appendQuotedJSONStringToBuilder.
- bytecompiler/NodesCodegen.cpp:
(JSC::ObjectPatternNode::toString):
- runtime/JSONObject.cpp:
(JSC::appendQuotedJSONStringToBuilder):
(JSC::Stringifier::appendQuotedString):
(JSC::escapeStringToBuilder): Deleted.
- runtime/JSONObject.h:
Source/WebKit2:
Dump goes to WebKitCache/dump.json. On OSX it can be triggered with
notifyutil -p com.apple.WebKit.Cache.dump
- NetworkProcess/cache/NetworkCache.cpp:
(WebKit::NetworkCache::initialize):
(WebKit::NetworkCache::dumpFilePath):
(WebKit::entryAsJSON):
(WebKit::NetworkCache::dumpContentsToFile):
(WebKit::NetworkCache::clear):
Also clear any dumps.
- NetworkProcess/cache/NetworkCache.h:
- NetworkProcess/cache/NetworkCacheStorage.h:
(WebKit::NetworkCacheStorage::baseDirectoryPath):
- NetworkProcess/cache/NetworkCacheStorageCocoa.mm:
(WebKit::fileNameForKey):
(WebKit::filePathForKey):
(WebKit::openFile):
(WebKit::openFileForKey):
(WebKit::decodeEntryHeader):
Separate header decoding.
(WebKit::decodeEntry):
(WebKit::NetworkCacheStorage::traverse):
Add asynchronous cache traversal inteface.
- 1:07 PM Changeset in webkit [180893] by
-
- 4 edits in trunk
Update inline media element controls appearance Part 1.
https://bugs.webkit.org/show_bug.cgi?id=142138.
<rdar://problem/19997384>
Reviewed by Dean Jackson.
Update positioning, sizes, and background colors media control elements.
Volume and timeline sliders will be drawn in a separate patch via 2d canvases.
- Modules/mediacontrols/mediaControlsApple.css:
(audio::-webkit-media-controls-panel):
(video::-webkit-media-controls-panel):
(audio::-webkit-media-controls-rewind-button):
(audio::-webkit-media-controls-play-button):
(audio::-webkit-media-controls-panel .mute-box):
(video::-webkit-media-controls-volume-max-button):
(audio::-webkit-media-controls-panel .volume-box):
(audio::-webkit-media-controls-panel .volume-box:active):
(video::-webkit-media-controls-volume-slider):
(audio::-webkit-media-controls-toggle-closed-captions-button):
(audio::-webkit-media-controls-fullscreen-button):
(audio::-webkit-media-controls-current-time-display):
(audio::-webkit-media-controls-time-remaining-display):
(audio::-webkit-media-controls-timeline-container .hour-long-time): Deleted.
Skip media control tests for now while new look is being finalized.
- platform/mac/TestExpectations:
- 12:45 PM Changeset in webkit [180892] by
-
- 7 edits in trunk/Source/WebKit2
WebsiteDataStore should handle deleting cookies
https://bugs.webkit.org/show_bug.cgi?id=142185
Reviewed by Beth Dakin.
- NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::deleteWebsiteDataForOrigins):
When asked to delete cookies, do so.
- NetworkProcess/NetworkProcess.h:
Update the deleteWebsiteDataForOrigins signature.
- NetworkProcess/NetworkProcess.messages.in:
Add cookieHostNames to DeleteWebsiteDataForOrigins.
- UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::deleteWebsiteDataForOrigins):
- UIProcess/Network/NetworkProcessProxy.h:
Update to take a vector of cookie host names.
- UIProcess/WebsiteData/WebsiteDataStore.cpp:
(WebKit::WebsiteDataStore::removeData):
Figure out if we need to ask the network process to delete data.
- 11:32 AM Changeset in webkit [180891] by
-
- 7 edits in trunk/Source
Web Inspector: Add Context Menus to Object Tree properties
https://bugs.webkit.org/show_bug.cgi?id=142125
Reviewed by Timothy Hatcher.
Source/JavaScriptCore:
- inspector/JSInjectedScriptHost.cpp:
(Inspector::JSInjectedScriptHost::functionDetails):
Update to include columnNumber.
Source/WebInspectorUI:
- Localizations/en.lproj/localizedStrings.js:
- UserInterface/Views/ObjectPropertiesSection.js:
(WebInspector.ObjectPropertyTreeElement.prototype._functionContextMenuEventFired):
(WebInspector.ObjectPropertyTreeElement.prototype._functionContextMenuEventFired.revealFunction):
Fix legacy implementation.
- UserInterface/Views/ObjectTreeArrayIndexTreeElement.js:
- UserInterface/Views/ObjectTreePropertyTreeElement.js:
(WebInspector.ObjectTreePropertyTreeElement.prototype._createTitlePrototype):
Give prototype buttons a tooltip.
(WebInspector.ObjectTreePropertyTreeElement.prototype.oncontextmenu):
(WebInspector.ObjectTreePropertyTreeElement.prototype._contextMenuHandler):
(WebInspector.ObjectTreePropertyTreeElement.prototype._appendMenusItemsForObject):
Context Menus based on the selected object.
- 11:08 AM Changeset in webkit [180890] by
-
- 2 edits in trunk/LayoutTests
[Win] Document more debug assertions.
- platform/win/TestExpectations:
- 10:42 AM Changeset in webkit [180889] by
-
- 7 edits in trunk/Source/WebKit2
WebsiteDataStore should support getting cookie host names
https://bugs.webkit.org/show_bug.cgi?id=142178
Reviewed by Dan Bernstein.
- NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::fetchWebsiteData):
Assert that we're destroyed from the main thread since we end up copying the website data struct.
- Shared/WebsiteData/WebsiteData.cpp:
(WebKit::WebsiteData::encode):
(WebKit::WebsiteData::decode):
- Shared/WebsiteData/WebsiteData.h:
Add a hostnamesWithCookies member.
- UIProcess/WebsiteData/WebsiteDataRecord.cpp:
(WebKit::WebsiteDataRecord::displayNameForCookieHostName):
Add a new function that will return the display name for a cookie host name.
(WebKit::WebsiteDataRecord::addCookieHostName):
- UIProcess/WebsiteData/WebsiteDataRecord.h:
Add a hash set of cookie host names.
- UIProcess/WebsiteData/WebsiteDataStore.cpp:
(WebKit::WebsiteDataStore::fetchData):
Create data records for each host name with cookies.
- 10:18 AM Changeset in webkit [180888] by
-
- 2 edits in trunk/LayoutTests
Fix a typo in TestExpectations.
- platform/mac/TestExpectations: Faiure - > Failure.
- 9:52 AM Changeset in webkit [180887] by
-
- 2 edits in trunk/LayoutTests
js/promises-tests/promises-tests-2-1-2.html sometimes times out
https://bugs.webkit.org/show_bug.cgi?id=142175
- TestExpectations: Marking as flaky.
- 9:39 AM Changeset in webkit [180886] by
-
- 3 edits in trunk/Source/WebKit2
[WK2][Mac] WebPageProxy::supressVisibilityUpdates() should suppress visibility updates.
https://bugs.webkit.org/show_bug.cgi?id=141907
Reviewed by Tim Horton.
At some point, the window/view/page visibility update code was refactored such that setting
WebPageProxy::setSuppressVisibilityUpdate() no longer suppressed visibility updates. This causes
full screen animations to become "flashy" when moving the WebView between the regular and full
screen window, as a HTMLMediaElement in the full screen animation will receive a "!visible"
notification and disconnect its rendering pipeline.
In WebPageProxy::viewStateDidChange(), respect m_suppressVisibilityUpdates and bail out early
if set. In WebPageProxy::setSuppressVisibilityUpdates(), trigger an explicit update after
clearing m_suppressVisibilityUpdates.
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::setSuppressVisibilityUpdates):
(WebKit::WebPageProxy::viewStateDidChange):
- UIProcess/WebPageProxy.h:
(WebKit::WebPageProxy::setSuppressVisibilityUpdates): Deleted.
- 9:37 AM Changeset in webkit [180885] by
-
- 9 edits2 adds in trunk
[WK1][WK2][Mac] Fullscreen animation is incorrect when page is scaled.
https://bugs.webkit.org/show_bug.cgi?id=142121
Reviewed by Simon Fraser.
Source/WebKit/mac:
Fullscreening a page with a non-1 scale would result in that scale being applied to the
fullscreen content, breaking fullscreen mode. Set the page scale to 1 when entering
fullscreen and reset it to the original value when exiting fullscreen.
- WebView/WebFullScreenController.h:
- WebView/WebFullScreenController.mm:
(-[WebFullScreenController enterFullScreen:]): Set the page scale to 1.
(-[WebFullScreenController finishedExitFullScreenAnimation:]): Reset the page
scale to the original value.
- WebView/WebView.mm:
(-[WebView _supportsFullScreenForElement:withKeyboard:]): Drive-by fix. Check the
WebView's own preferences to see if fullscreen mode is enabled, rather than
the global object's.
Source/WebKit2:
Change the order of operations when entering or exiting fullscreen. Change the page scale to
1 before entering, so the final screen rect takes that scale into account, and vice-versa on
exiting.
- UIProcess/mac/WKFullScreenWindowController.mm:
(-[WKFullScreenWindowController enterFullScreen:]):
(-[WKFullScreenWindowController exitFullScreen]):
Tools:
Add a test which changes the WebView's page scale, then enters fullscreen mode, and verifies
that the initial and final screen rects for the web content are as expected.
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/mac/FullscreenZoomInitialFrame.html: Added.
- TestWebKitAPI/Tests/mac/FullscreenZoomInitialFrame.mm: Added.
(-[FullscreenStateDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:]):
(runJavaScriptAlert):
(TestWebKitAPI::FullscreenZoomInitialFrame::initializeView):
(TestWebKitAPI::FullscreenZoomInitialFrame::teardownView):
(TestWebKitAPI::FullscreenZoomInitialFrame::setPageScale):
(TestWebKitAPI::FullscreenZoomInitialFrame::sendMouseDownEvent):
(TestWebKitAPI::FullscreenZoomInitialFrame::runTest):
(TestWebKitAPI::TEST_F):
- 7:34 AM Changeset in webkit [180884] by
-
- 2 edits in trunk
REGRESSION(r179409): [GTK] Undefined symbol prevents web extensions from being loaded
https://bugs.webkit.org/show_bug.cgi?id=142165
Patch by Debarshi Ray <debarshir@gnome.org> on 2015-03-02
Reviewed by Carlos Garcia Campos.
- Source/cmake/gtksymbols.filter:
- 7:30 AM Changeset in webkit [180883] by
-
- 2 edits in trunk/Source/WebCore
REGRESSION (r180882): Build failure: Methods not marked override in GraphicsLayerCA.h
<http://webkit.org/b/138684>
Fixes the following build failures:
In file included from WebKit2/WebProcess/WebPage/DrawingArea.cpp:39:
In file included from WebKit2/WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:30:
In file included from WebKit2/WebProcess/WebPage/mac/GraphicsLayerCARemote.h:29:
WebCore.framework/PrivateHeaders/GraphicsLayerCA.h:123:33: error: 'setShapeLayerPath' overrides a member function but is not marked 'override' [-Werror,-Winconsistent-missing-override]
WEBCORE_EXPORT virtual void setShapeLayerPath(const Path&);
In file included from WebKit2/WebProcess/WebPage/DrawingArea.cpp:30:
In file included from WebKit2/WebProcess/WebPage/WebPage.h:46:
In file included from WebKit2/WebProcess/Plugins/Plugin.h:31:
WebCore.framework/PrivateHeaders/GraphicsLayer.h:390:18: note: overridden virtual function is here
virtual void setShapeLayerPath(const Path&);
In file included from WebKit2/WebProcess/WebPage/DrawingArea.cpp:39:
In file included from WebKit2/WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:30:
In file included from WebKit2/WebProcess/WebPage/mac/GraphicsLayerCARemote.h:29:
WebCore.framework/PrivateHeaders/GraphicsLayerCA.h:124:33: error: 'setShapeLayerWindRule' overrides a member function but is not marked 'override' [-Werror,-Winconsistent-missing-override]
WEBCORE_EXPORT virtual void setShapeLayerWindRule(WindRule);
In file included from WebKit2/WebProcess/WebPage/DrawingArea.cpp:30:
In file included from WebKit2/WebProcess/WebPage/WebPage.h:46:
In file included from WebKit2/WebProcess/Plugins/Plugin.h:31:
WebCore.framework/PrivateHeaders/GraphicsLayer.h:393:18: note: overridden virtual function is here
virtual void setShapeLayerWindRule(WindRule);
2 errors generated.
- platform/graphics/ca/GraphicsLayerCA.h:
(WebCore::GraphicsLayer::setShapeLayerPath): Mark as override.
(WebCore::GraphicsLayer::setShapeLayerWindRule): Ditto.