mmaxfield@apple.com [Wed, 18 Feb 2015 19:39:17 +0000 (19:39 +0000)]
Justified ruby can cause lines to grow beyond their container
https://bugs.webkit.org/show_bug.cgi?id=141732
Reviewed by David Hyatt.
Source/WebCore:
After we re-layout RenderRubyRuns, this can change the environment upon which
ruby's overhang calculation is sensitive to. Before this patch, we would recalculate
the overhang after the RenderRubyRun gets relaid out. However, doing such causes the
effective width of the RenderRubyRun to change, which causes out subsequent
justification calculations to be off.
Therefore, we have a cycle; the amount of ruby overhang can change the justification
in a line, and the layout of the line affects the ruby overhang calculation. Instead
of performing a layout in a loop until it converges, this patch simply observes that
having a flush right edge is more valuable than having a perfectly correct overhang.
It therefore simply removes the secondary overhang calculation.
Test: fast/text/ruby-justification-flush.html
* rendering/RenderBlockFlow.h:
* rendering/RenderBlockLineLayout.cpp:
(WebCore::RenderBlockFlow::updateRubyForJustifiedText):
(WebCore::RenderBlockFlow::computeExpansionForJustifiedText):
(WebCore::RenderBlockFlow::computeInlineDirectionPositionsForSegment):
LayoutTests:
Make sure that the right edge of a justified ruby line matches up with
the same line without ruby.
* fast/text/ruby-justification-flush-expected.html: Added.
* fast/text/ruby-justification-flush.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180278
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
timothy_horton@apple.com [Wed, 18 Feb 2015 19:34:21 +0000 (19:34 +0000)]
Add WKContext SPI to clear all visited links
https://bugs.webkit.org/show_bug.cgi?id=141752
<rdar://problem/
9997966>
Reviewed by Dan Bernstein.
* UIProcess/API/C/WKContext.cpp:
(WKContextClearVisitedLinks):
* UIProcess/API/C/WKContext.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180277
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cdumez@apple.com [Wed, 18 Feb 2015 19:32:00 +0000 (19:32 +0000)]
Evict dead resources in MemoryCache in MemoryPressureHandler::releaseNoncriticalMemory()
https://bugs.webkit.org/show_bug.cgi?id=141723
Reviewed by Andreas Kling.
Evict dead resources from the MemoryCache on non-critical memory
pressure. On critical memory pressure, we already evict ALL resources
from the MemoryCache. It is a good idea to start by evicting resources
we care less about on non-critical warning to decrease the chances of
getting a critical warning and thus having to clear the whole
MemoryCache.
* loader/cache/MemoryCache.h:
* platform/MemoryPressureHandler.cpp:
(WebCore::MemoryPressureHandler::releaseNoncriticalMemory):
(WebCore::MemoryPressureHandler::releaseCriticalMemory):
(WebCore::MemoryPressureHandler::releaseMemory):
Call releaseCriticalMemory() before releaseNoncriticalMemory()
as releaseCriticalMemory() is more aggressive. Doing it the
other way around would mean that on critical warning, we would
first evict dead resources, then evict all resources. It is
more efficient to evict all resources first, as it makes the
non-critical operation (evict dead resources) a no-op.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180276
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eric.carlson@apple.com [Wed, 18 Feb 2015 19:19:44 +0000 (19:19 +0000)]
[iOS] pause video when a tab moves to the background on some devices
https://bugs.webkit.org/show_bug.cgi?id=141753
<rdar://problem/
19814562>
Reviewed by Jer Noble.
Source/WebCore:
Test: media/video-background-tab-playback.html
* platform/audio/MediaSession.cpp:
(WebCore::MediaSession::clientDataBufferingTimerFired): Pause video when the element becomes
hidden if the BackgroundTabPlaybackRestricted is set.
* platform/audio/MediaSessionManager.cpp:
(WebCore::MediaSessionManager::applicationWillEnterBackground): Rename BackgroundPlaybackNotPermitted
to BackgroundProcessPlaybackRestricted.
(WebCore::MediaSessionManager::applicationWillEnterForeground): Ditto.
* platform/audio/MediaSessionManager.h:
* platform/audio/ios/MediaSessionManagerIOS.mm:
(WebCore::MediaSessionManageriOS::resetRestrictions): Set BackgroundTabPlaybackRestricted on
devices with restricted memory. BackgroundPlaybackNotPermitted -> BackgroundProcessPlaybackRestricted.
* testing/Internals.cpp:
(WebCore::Internals::setMediaSessionRestrictions): Add support for BackgroundTabPlaybackRestricted.
BackgroundPlaybackNotPermitted -> BackgroundProcessPlaybackRestricted.
LayoutTests:
* media/video-background-playback-expected.txt: BackgroundPlaybackNotPermitted -> BackgroundProcessPlaybackRestricted.
* media/video-background-playback.html: Ditto.
* media/video-background-tab-playback-expected.txt: Added.
* media/video-background-tab-playback.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180274
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt@apple.com [Wed, 18 Feb 2015 19:00:49 +0000 (19:00 +0000)]
Wrong text-decoration-style used for underlines.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180273
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ggaren@apple.com [Wed, 18 Feb 2015 19:00:16 +0000 (19:00 +0000)]
bmalloc: VMHeap should keep a record of all of its VM ranges (for malloc introspection)
https://bugs.webkit.org/show_bug.cgi?id=141759
Reviewed by Andreas Kling.
* bmalloc.xcodeproj/project.pbxproj:
* bmalloc/SuperChunk.h: Added.
(bmalloc::SuperChunk::create):
(bmalloc::SuperChunk::SuperChunk):
(bmalloc::SuperChunk::smallChunk):
(bmalloc::SuperChunk::mediumChunk):
(bmalloc::SuperChunk::largeChunk): Factored out super chunk creation
into a separate class, for clarity and type safety.
* bmalloc/VMHeap.cpp:
(bmalloc::VMHeap::grow):
(bmalloc::VMHeap::allocateSuperChunk): Renamed "allocateSuperChunk" to
"grow" because Andreas found "allocateSuperChunk" to be unclear.
* bmalloc/VMHeap.h: Track all our VM ranges. We will use this information
for malloc introspection.
(bmalloc::VMHeap::allocateSmallPage):
(bmalloc::VMHeap::allocateMediumPage):
(bmalloc::VMHeap::allocateLargeRange): Updated for renames.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180272
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mmaxfield@apple.com [Wed, 18 Feb 2015 18:29:00 +0000 (18:29 +0000)]
Update more test expected results after r177774
https://bugs.webkit.org/show_bug.cgi?id=141743
Reviewed by Brent Fulgham.
* platform/mac/TestExpectations:
* platform/mac/fast/dom/character-index-for-point-expected.txt:
* platform/mac/fast/forms/select-initial-position-expected.txt:
* platform/mac/fast/replaced/width100percent-textarea-expected.txt:
* platform/mac/fast/text/atsui-rtl-override-selection-expected.txt:
* platform/mac/fast/text/international/text-combine-image-test-expected.txt:
* platform/mac-mavericks/fast/forms/select-initial-position-expected.txt:
* platform/mac-mavericks/fast/replaced/width100percent-textarea-expected.txt:
* platform/mac-mavericks/fast/text/international/text-combine-image-test-expected.txt:
* svg/text/lengthAdjust-text-metrics-expected.txt:
* svg/text/script-tests/lengthAdjust-text-metrics.js:
* svg/text/text-rect-precision.html:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180271
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
msaboff@apple.com [Wed, 18 Feb 2015 18:23:14 +0000 (18:23 +0000)]
Unreviewed, Restoring the C LOOP insta-crash fix in r180184.
Fixed a typo that only affected the C Loop in the prologue() macro in LowLevelInterpreter.asm.
After the stackHeightOKGetCodeBlock label, codeBlockSetter(t1) should be codeBlockGetter(t1).
* llint/LowLevelInterpreter.asm: Fixed a typo.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180270
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ddkilzer@apple.com [Wed, 18 Feb 2015 18:22:26 +0000 (18:22 +0000)]
REGRESSION (r180260): Try to fix incremental builds by changing UserContentController.cpp
Attempt to fix this linker error by making a non-coding change:
Undefined symbols for architecture i386:
"__ZN7WebCore17ContentExtensions24ContentExtensionsBackendC1Ev", referenced from:
__ZN7WebCore21UserContentController20addUserContentFilterERKN3WTF6StringES4_ in UserContentController.o
ld: symbol(s) not found for architecture i386
This should have been fixed by r180266, but perhaps Xcode didn't
recognize that it needed to rebuild this source file.
* page/UserContentController.cpp: Update copyright.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180269
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
akling@apple.com [Wed, 18 Feb 2015 17:52:17 +0000 (17:52 +0000)]
Purge PassRefPtr from CanvasRenderingContext2D.
<https://webkit.org/b/141749>
Reviewed by Gyuyoung Kim.
Switch from using PassRefPtr to RefPtr/Ref in CanvasRenderingContext2D.
* html/TextMetrics.h:
(WebCore::TextMetrics::create): Changed create() helper to return Ref.
* html/canvas/CanvasRenderingContext2D.h:
* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::prepareGradientForDashboard): Changed to take a reference.
(WebCore::CanvasRenderingContext2D::createLinearGradient):
(WebCore::CanvasRenderingContext2D::createRadialGradient):
(WebCore::CanvasRenderingContext2D::createPattern):
(WebCore::createEmptyImageData):
(WebCore::CanvasRenderingContext2D::createImageData):
(WebCore::CanvasRenderingContext2D::getImageData):
(WebCore::CanvasRenderingContext2D::webkitGetImageDataHD): Made these return RefPtr. Also did
a bunch of 0 -> nullptr conversion, removed a bunch of unnecessary RefPtr::release() calls,
and changed a PassRefPtr argument to RefPtr&&.
(WebCore::CanvasRenderingContext2D::measureText): Made this return Ref.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180268
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bfulgham@apple.com [Wed, 18 Feb 2015 17:34:50 +0000 (17:34 +0000)]
[Win] Gardening: Update baselines on Windows bots after removing mac-mountainlion
* platform/win/TestExpectations:
* platform/win/editing/selection/
5057506-2-expected.png: Added.
* platform/win/editing/selection/
5057506-2-expected.txt: Added.
* platform/win/fast/attachment: Added.
* platform/win/fast/attachment/attachment-disabled-rendering-expected.txt: Added.
* platform/win/fast/attachment/attachment-rendering-expected.txt: Added.
* platform/win/fast/frames/frame-scrolling-attribute-exepected.txt: Added.
* platform/win/fast/repaint/selection-ruby-rl-expected.txt: Added.
* platform/win/http/tests/security/XFrameOptions: Added.
* platform/win/http/tests/security/XFrameOptions/x-frame-options-deny-multiple-clients-expected.txt: Added.
* platform/win/http/tests/security/cross-frame-access-callback-explicit-domain-ALLOW-expected.txt: Added.
* platform/win/svg/batik/text/textEffect2-expected.txt: Added.
* platform/win/svg/batik/text/textEffect3-expected.txt: Added.
* platform/win/svg/batik/text/textProperties-expected.txt: Added.
* platform/win/svg/custom/text-filter-expected.txt: Added.
* platform/win/svg/filters/feColorMatrix-values-expected.png:
* platform/win/svg/filters/feColorMatrix-values-expected.txt: Added.
* platform/win/svg/filters/filter-on-filter-for-text-expected.txt: Added.
* platform/win/svg/filters/filter-on-tspan-expected.txt: Added.
* platform/win/svg/filters/sourceAlpha-expected.txt: Added.
* platform/win/svg/repaint/text-mask-update-expected.txt: Added.
* platform/win/tables/mozilla/bugs/bug131020-expected.png: Added.
* platform/win/tables/mozilla/bugs/bug131020-expected.txt: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180267
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Wed, 18 Feb 2015 17:08:46 +0000 (17:08 +0000)]
Unreviewed, rolling out r180260.
https://bugs.webkit.org/show_bug.cgi?id=141757
Broke the 32-bit builders (Requested by jessieberlin on
#webkit).
Reverted changeset:
"Add a trivial code generator for the DFA"
https://bugs.webkit.org/show_bug.cgi?id=141017
http://trac.webkit.org/changeset/180260
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180266
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Wed, 18 Feb 2015 16:31:15 +0000 (16:31 +0000)]
Add API for clearing in-memory caches to WKWebsiteDataStore
https://bugs.webkit.org/show_bug.cgi?id=141724
Reviewed by Tim Horton.
Source/WebCore:
Add a version of evictResources that takes a session id.
* loader/cache/MemoryCache.cpp:
(WebCore::MemoryCache::evictResources):
Source/WebKit2:
* Shared/WebsiteData/WebsiteDataTypes.h:
Add WebsiteDataTypeMemoryCache.
* UIProcess/API/Cocoa/_WKWebsiteDataStore.h:
Add WKWebsiteDataTypeMemoryCache.
* UIProcess/API/Cocoa/_WKWebsiteDataStore.mm:
(toWebsiteDataTypes):
Handle WKWebsiteDataTypeMemoryCache and convert it to WebsiteDataTypeMemoryCache.
* UIProcess/WebProcessProxy.cpp:
(WebKit::generateCallbackID):
Generate a new callback.
(WebKit::WebProcessProxy::~WebProcessProxy):
Assert that we don't have any pending callbacks.
(WebKit::WebProcessProxy::connectionDidClose):
Invoke pending callbacks.
(WebKit::WebProcessProxy::canTerminateChildProcess):
Don't try to terminate if we have pending callbacks.
(WebKit::WebProcessProxy::didDeleteWebsiteData):
Take the callback and invoke it.
(WebKit::WebProcessProxy::deleteWebsiteData):
Send a delete message.
* UIProcess/WebProcessProxy.h:
Add new members.
* UIProcess/WebProcessProxy.messages.in:
Add DidDeleteWebsiteData message.
* UIProcess/WebsiteData/WebsiteDataStore.cpp:
(WebKit::computeNetworkProcessAccessType):
Spell persistent correctly.
(WebKit::computeWebProcessAccessType):
Return a web process access type given the a data type mask.
(WebKit::WebsiteDataStore::removeData):
Ask any associated web processes to remove website data.
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::deleteWebsiteData):
Delete the memory cache if requested.
* WebProcess/WebProcess.h:
Add new member.
* WebProcess/WebProcess.messages.in:
Add DeleteWebsiteData message.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180265
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zandobersek@gmail.com [Wed, 18 Feb 2015 13:31:15 +0000 (13:31 +0000)]
Build bmalloc through CMake as a static library. It's then linked either
into the WTF library (if built as a shared library) or into the JSC and
WebKit2 libraries. There's no need to build it as a standalone shared library.
Rubber-stamped by Carlos Garcia Campos.
* CMakeLists.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180264
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rego@igalia.com [Wed, 18 Feb 2015 10:28:47 +0000 (10:28 +0000)]
[CSS Grid Layout] Remove some leftovers related to "stack" removal
https://bugs.webkit.org/show_bug.cgi?id=141722
Reviewed by Sergio Villar Senin.
In r177858 "stack" packing mode was removed from grid-auto-flow syntax.
This patch removes some missing cases, where "stack" was still used in
the layout tests.
* fast/css-grid-layout/grid-auto-flow-resolution.html: Remove
gridAutoFlowStack usage.
* fast/css-grid-layout/resources/grid.css:
(.gridAutoFlowStack): Deleted.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180263
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ossy@webkit.org [Wed, 18 Feb 2015 09:35:14 +0000 (09:35 +0000)]
URTBF after r180258 to fix Windows build.
* runtime/MathCommon.cpp:
(JSC::mathPowInternal):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180262
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
timothy_horton@apple.com [Wed, 18 Feb 2015 09:00:12 +0000 (09:00 +0000)]
Remove more references to WebCore.exp.in
https://bugs.webkit.org/show_bug.cgi?id=141747
Reviewed by Alexey Proskuryakov.
Source/WebCore:
* WebCore.xcodeproj/project.pbxproj:
Tools:
* BuildSlaveSupport/build.webkit.org-config/wkbuild_unittest.py:
(ShouldBuildTest):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180261
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
benjamin@webkit.org [Wed, 18 Feb 2015 08:57:43 +0000 (08:57 +0000)]
Add a trivial code generator for the DFA
https://bugs.webkit.org/show_bug.cgi?id=141017
Reviewed by Andreas Kling.
Nothing fancy yet, this is just doing a literal translation from the DFA
to machine code. It is extremely inefficient at the moment.
* WebCore.xcodeproj/project.pbxproj:
* contentextensions/ContentExtensionsBackend.cpp:
(WebCore::ContentExtensions::ContentExtensionsBackend::ContentExtensionsBackend):
(WebCore::ContentExtensions::ContentExtensionsBackend::setRuleList):
(WebCore::ContentExtensions::addActionToHashSet):
(WebCore::ContentExtensions::ContentExtensionsBackend::shouldBlockURL):
* contentextensions/ContentExtensionsBackend.h:
* contentextensions/DFA.cpp:
(WebCore::ContentExtensions::DFA::nextState): Deleted.
(WebCore::ContentExtensions::DFA::actions): Deleted.
* contentextensions/DFA.h:
(WebCore::ContentExtensions::DFA::size):
(WebCore::ContentExtensions::DFA::nodeAt):
* contentextensions/DFACompiler.cpp: Added.
(WebCore::ContentExtensions::compileDFA):
(WebCore::ContentExtensions::DFACodeGenerator::DFACodeGenerator):
(WebCore::ContentExtensions::DFACodeGenerator::compile):
(WebCore::ContentExtensions::DFACodeGenerator::lowerStateMachine):
(WebCore::ContentExtensions::DFACodeGenerator::lowerNode):
(WebCore::ContentExtensions::DFACodeGenerator::getNextCharacter):
(WebCore::ContentExtensions::DFACodeGenerator::callAddActionFunction):
* contentextensions/DFACompiler.h: Copied from Source/WebCore/contentextensions/DFA.h.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180260
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
joepeck@webkit.org [Wed, 18 Feb 2015 08:57:36 +0000 (08:57 +0000)]
REGRESSION(r180235): It broke the !ENABLE(PROMISES) build
https://bugs.webkit.org/show_bug.cgi?id=141746
Unreviewed build fix.
* inspector/JSInjectedScriptHost.cpp:
(Inspector::JSInjectedScriptHost::getInternalProperties):
Wrap JSPromise related code in ENABLE(PROMISES) guard.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180259
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
benjamin@webkit.org [Wed, 18 Feb 2015 08:01:01 +0000 (08:01 +0000)]
Fix the C-Loop LLInt build
https://bugs.webkit.org/show_bug.cgi?id=141618
Reviewed by Filip Pizlo.
I broke C-Loop when moving the common code of pow()
to JITOperations because that file is #ifdefed out
when the JITs are disabled.
It would be weird to move it back to MathObject since
the function needs to know about the calling conventions.
To avoid making a mess, I just gave the function its own file
that is used by both the runtime and the JIT.
* CMakeLists.txt:
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
* JavaScriptCore.xcodeproj/project.pbxproj:
* dfg/DFGAbstractInterpreterInlines.h:
* jit/JITOperations.cpp:
* jit/JITOperations.h:
* runtime/MathCommon.cpp: Added.
(JSC::fdlibmScalbn):
(JSC::fdlibmPow):
(JSC::isDenormal):
(JSC::isEdgeCase):
(JSC::mathPowInternal):
(JSC::operationMathPow):
* runtime/MathCommon.h: Added.
* runtime/MathObject.cpp:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180258
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
benjamin@webkit.org [Wed, 18 Feb 2015 07:04:10 +0000 (07:04 +0000)]
Clean up OSRExit's considerAddingAsFrequentExitSite()
https://bugs.webkit.org/show_bug.cgi?id=141690
Patch by Benjamin Poulain <bpoulain@apple.com> on 2015-02-17
Reviewed by Anders Carlsson.
Looks like some code was removed from CodeBlock::tallyFrequentExitSites()
and the OSRExit were left untouched.
This patch cleans up the two loops and remove the boolean return
on considerAddingAsFrequentExitSite().
* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::tallyFrequentExitSites):
* dfg/DFGOSRExit.h:
(JSC::DFG::OSRExit::considerAddingAsFrequentExitSite):
* dfg/DFGOSRExitBase.cpp:
(JSC::DFG::OSRExitBase::considerAddingAsFrequentExitSiteSlow):
* dfg/DFGOSRExitBase.h:
(JSC::DFG::OSRExitBase::considerAddingAsFrequentExitSite):
* ftl/FTLOSRExit.h:
(JSC::FTL::OSRExit::considerAddingAsFrequentExitSite):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180257
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cdumez@apple.com [Wed, 18 Feb 2015 05:38:43 +0000 (05:38 +0000)]
Rename ScopedEventQueue::instance() to singleton()
https://bugs.webkit.org/show_bug.cgi?id=141738
Reviewed by Daniel Bates.
Rename ScopedEventQueue::instance() to singleton(), as per coding
style. Also modernize the code a little bit.
* dom/EventDispatcher.cpp:
(WebCore::EventDispatcher::dispatchScopedEvent):
* dom/ScopedEventQueue.cpp:
(WebCore::ScopedEventQueue::singleton):
(WebCore::ScopedEventQueue::dispatchAllEvents):
(WebCore::ScopedEventQueue::incrementScopingLevel):
(WebCore::ScopedEventQueue::decrementScopingLevel):
(WebCore::ScopedEventQueue::ScopedEventQueue): Deleted.
(WebCore::ScopedEventQueue::~ScopedEventQueue): Deleted.
(WebCore::ScopedEventQueue::instance): Deleted.
* dom/ScopedEventQueue.h:
(WebCore::EventQueueScope::EventQueueScope):
(WebCore::EventQueueScope::~EventQueueScope):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180256
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cdumez@apple.com [Wed, 18 Feb 2015 05:31:21 +0000 (05:31 +0000)]
Remove dead code from FontCache
https://bugs.webkit.org/show_bug.cgi?id=141741
Reviewed by Daniel Bates.
Remove dead code from FontCache:
- getFontFamilyForCharacters() has no implementation.
- SimpleFontFamily is unused.
* platform/graphics/FontCache.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180255
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cdumez@apple.com [Wed, 18 Feb 2015 04:23:11 +0000 (04:23 +0000)]
Rename CSSPropertyAnimationWrapperMap::instance() to singleton()
https://bugs.webkit.org/show_bug.cgi?id=141739
Reviewed by Simon Fraser.
Rename CSSPropertyAnimationWrapperMap::instance() to singleton(), as
per coding style.
* page/animation/CSSPropertyAnimation.cpp:
(WebCore::CSSPropertyAnimationWrapperMap::singleton):
(WebCore::CSSPropertyAnimation::blendProperties):
(WebCore::CSSPropertyAnimation::animationOfPropertyIsAccelerated):
(WebCore::CSSPropertyAnimation::animatableShorthandsAffectingProperty):
(WebCore::CSSPropertyAnimation::propertiesEqual):
(WebCore::CSSPropertyAnimation::getPropertyAtIndex):
(WebCore::CSSPropertyAnimation::getNumProperties):
(WebCore::CSSPropertyAnimationWrapperMap::instance): Deleted.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180254
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mmaxfield@apple.com [Wed, 18 Feb 2015 04:17:45 +0000 (04:17 +0000)]
Update editing/selection/fake-drag.html after r177774
https://bugs.webkit.org/show_bug.cgi?id=141605
Reviewed by Alexey Proskuryakov.
Text metrics changed, so the locations where the "user" interacts with the page should
change accordingly.
* editing/selection/fake-drag.html:
* platform/mac/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180253
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap@apple.com [Wed, 18 Feb 2015 03:12:08 +0000 (03:12 +0000)]
inspector/css/stylesheet-with-mutations.html is a flaky timeout/crash
https://bugs.webkit.org/show_bug.cgi?id=141601
Skipping the test; it's flaky in such a way that I'm concerned about it breaking
subsequent tests.
* platform/mac-wk2/TestExpectations:
* platform/mac/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180252
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ddkilzer@apple.com [Wed, 18 Feb 2015 02:59:04 +0000 (02:59 +0000)]
REGRESSION (r180224): Remove unused generate-export-file script
<http://webkit.org/b/141491>
* generate-export-file: Removed. This was the script used to
create WebCore.exp files for iOS since we couldn't compile a
host-side tool to run like we did on Mac OS X. Dont't tell
anyone, but this was an epic hack I created while merging open
source changes to the internal iOS WebKit repository around the
time that the WebCore.exp.in file was created. End of an era.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180251
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ddkilzer@apple.com [Wed, 18 Feb 2015 02:58:59 +0000 (02:58 +0000)]
SoftLinking.h: Update copyright and license; clean up whitespace
* platform/win/SoftLinking.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180250
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap@apple.com [Wed, 18 Feb 2015 02:52:06 +0000 (02:52 +0000)]
Debug build fix after r180247.
* ftl/FTLLowerDFGToLLVM.cpp: (JSC::FTL::LowerDFGToLLVM::loweringFailed):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180249
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Wed, 18 Feb 2015 02:45:33 +0000 (02:45 +0000)]
Unreviewed, rolling out r180184.
https://bugs.webkit.org/show_bug.cgi?id=141733
Caused infinite recursion on js/function-apply-aliased.html
(Requested by ap_ on #webkit).
Reverted changeset:
"REGRESSION(r180060): C Loop crashes"
https://bugs.webkit.org/show_bug.cgi?id=141671
http://trac.webkit.org/changeset/180184
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180248
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
msaboff@apple.com [Wed, 18 Feb 2015 02:38:16 +0000 (02:38 +0000)]
CrashTracer: DFG_CRASH beneath JSC::FTL::LowerDFGToLLVM::compileNode
https://bugs.webkit.org/show_bug.cgi?id=141730
Reviewed by Geoffrey Garen.
Added a new failure handler, loweringFailed(), to LowerDFGToLLVM that reports failures
while processing DFG lowering. For debug builds, the failures are logged identical
to the way the DFG_CRASH() reports them. For release builds, the failures are reported
and that FTL compilation is terminated, but the process is allowed to continue.
Wrapped calls to loweringFailed() in a macro LOWERING_FAILED so the function and
line number are reported at the point of the inconsistancy.
Converted instances of DFG_CRASH to LOWERING_FAILED.
* dfg/DFGPlan.cpp:
(JSC::DFG::Plan::compileInThreadImpl): Added lowerDFGToLLVM() failure check that
will fail the FTL compile.
* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::LowerDFGToLLVM):
Added new member variable, m_loweringSucceeded, to stop compilation on the first
reported failure.
* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::lower):
* ftl/FTLLowerDFGToLLVM.h:
Added check for compilation failures and now report those failures via a boolean
return value.
* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::createPhiVariables):
(JSC::FTL::LowerDFGToLLVM::compileNode):
(JSC::FTL::LowerDFGToLLVM::compileUpsilon):
(JSC::FTL::LowerDFGToLLVM::compilePhi):
(JSC::FTL::LowerDFGToLLVM::compileDoubleRep):
(JSC::FTL::LowerDFGToLLVM::compileValueRep):
(JSC::FTL::LowerDFGToLLVM::compileValueToInt32):
(JSC::FTL::LowerDFGToLLVM::compilePutLocal):
(JSC::FTL::LowerDFGToLLVM::compileArithAddOrSub):
(JSC::FTL::LowerDFGToLLVM::compileArithMul):
(JSC::FTL::LowerDFGToLLVM::compileArithDiv):
(JSC::FTL::LowerDFGToLLVM::compileArithMod):
(JSC::FTL::LowerDFGToLLVM::compileArithMinOrMax):
(JSC::FTL::LowerDFGToLLVM::compileArithAbs):
(JSC::FTL::LowerDFGToLLVM::compileArithNegate):
(JSC::FTL::LowerDFGToLLVM::compileArrayifyToStructure):
(JSC::FTL::LowerDFGToLLVM::compileGetById):
(JSC::FTL::LowerDFGToLLVM::compileGetMyArgumentByVal):
(JSC::FTL::LowerDFGToLLVM::compileGetArrayLength):
(JSC::FTL::LowerDFGToLLVM::compileGetByVal):
(JSC::FTL::LowerDFGToLLVM::compilePutByVal):
(JSC::FTL::LowerDFGToLLVM::compileArrayPush):
(JSC::FTL::LowerDFGToLLVM::compileArrayPop):
(JSC::FTL::LowerDFGToLLVM::compileNewArray):
(JSC::FTL::LowerDFGToLLVM::compileToString):
(JSC::FTL::LowerDFGToLLVM::compileMakeRope):
(JSC::FTL::LowerDFGToLLVM::compileCompareEq):
(JSC::FTL::LowerDFGToLLVM::compileCompareStrictEq):
(JSC::FTL::LowerDFGToLLVM::compileSwitch):
(JSC::FTL::LowerDFGToLLVM::compare):
(JSC::FTL::LowerDFGToLLVM::boolify):
(JSC::FTL::LowerDFGToLLVM::opposite):
(JSC::FTL::LowerDFGToLLVM::lowJSValue):
(JSC::FTL::LowerDFGToLLVM::speculate):
(JSC::FTL::LowerDFGToLLVM::isArrayType):
(JSC::FTL::LowerDFGToLLVM::exitValueForAvailability):
(JSC::FTL::LowerDFGToLLVM::exitValueForNode):
(JSC::FTL::LowerDFGToLLVM::setInt52):
Changed DFG_CRASH() to LOWERING_FAILED(). Updated related control flow as appropriate.
(JSC::FTL::LowerDFGToLLVM::loweringFailed): New error reporting member function.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180247
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cdumez@apple.com [Tue, 17 Feb 2015 23:06:22 +0000 (23:06 +0000)]
Slight CachedPage class clean up
https://bugs.webkit.org/show_bug.cgi?id=141693
Reviewed by Andreas Kling.
Slight CachedPage class clean up:
- Drop unnecessary m_timeStamp data member
- Protect m_needsCaptionPreferencesChanged data member with
#if ENABLE(VIDEO_TRACK)
- Merge destroy() method into the destructor as this is the
only caller
- Update clear() to reset 2 data members that were missing
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180244
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Tue, 17 Feb 2015 23:02:56 +0000 (23:02 +0000)]
Silence two -Wcast-qual warnings.
rdar://problem/
19758266
* platform/ios/wak/WKUtilities.c:
(WKRetain):
(WKRelease):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180243
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
timothy_horton@apple.com [Tue, 17 Feb 2015 22:54:21 +0000 (22:54 +0000)]
REGRESSION (r178595): Clicking on DD highlights sometimes do not work
https://bugs.webkit.org/show_bug.cgi?id=141728
<rdar://problem/
19825372>
Reviewed by Beth Dakin.
* UIProcess/mac/WKImmediateActionController.mm:
(-[WKImmediateActionController _cancelImmediateActionIfNeeded]):
(-[WKImmediateActionController immediateActionRecognizerWillBeginAnimation:]):
The change that r178595 intended to make was purely that things that we
have no immediate actions for should cancel the immediate action gesture recognizer.
Moving the DataDetectors activation code as well breaks strict ordering
of immediate action callbacks vs. shouldUseActionsWithContext: that they depend on.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180242
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zalan@apple.com [Tue, 17 Feb 2015 22:41:25 +0000 (22:41 +0000)]
Minor RenderTable* class cleanups.
https://bugs.webkit.org/show_bug.cgi?id=141707
Reviewed by Andreas Kling.
Use in-class initializer where possible.
Remove redundant code.
Move multiline implementations out of class declaration.
No change in functionality.
* rendering/RenderTableCaption.cpp:
(WebCore::RenderTableCaption::insertedIntoTree):
(WebCore::RenderTableCaption::willBeRemovedFromTree):
(WebCore::RenderTableCaption::containingBlockLogicalWidthForContent): Deleted.
* rendering/RenderTableCaption.h:
* rendering/RenderTableCell.cpp:
(WebCore::RenderTableCell::RenderTableCell):
* rendering/RenderTableCell.h:
(WebCore::RenderTableCell::colSpan):
(WebCore::RenderTableCell::rowSpan):
(WebCore::RenderTableCell::setCol):
(WebCore::RenderTableCell::col):
(WebCore::RenderTableCell::section):
(WebCore::RenderTableCell::table):
(WebCore::RenderTableCell::rowIndex):
(WebCore::RenderTableCell::styleOrColLogicalWidth):
(WebCore::RenderTableCell::logicalHeightForRowSizing):
(WebCore::RenderTableCell::isBaselineAligned):
(WebCore::RenderTableCell::borderAdjoiningTableStart):
(WebCore::RenderTableCell::borderAdjoiningTableEnd):
(WebCore::RenderTableCell::borderAdjoiningCellBefore):
(WebCore::RenderTableCell::borderAdjoiningCellAfter):
* rendering/RenderTableCol.cpp:
(WebCore::RenderTableCol::RenderTableCol):
* rendering/RenderTableCol.h:
(WebCore::RenderTableCol::enclosingColumnGroupIfAdjacentBefore):
(WebCore::RenderTableCol::enclosingColumnGroupIfAdjacentAfter):
* rendering/RenderTableRow.h:
(WebCore::RenderTableRow::setRowIndex):
(WebCore::RenderTableRow::rowIndex):
(WebCore::RenderTableRow::borderAdjoiningTableStart):
(WebCore::RenderTableRow::borderAdjoiningTableEnd):
(WebCore::RenderTableRow::table):
(WebCore::RenderTableSection::firstRow):
(WebCore::RenderTableSection::lastRow):
* rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::RenderTableSection):
(WebCore::RenderTableSection::dirtiedRows):
(WebCore::RenderTableSection::dirtiedColumns):
(WebCore::RenderTableSection::paintObject):
(WebCore::RenderTableSection::nodeAtPoint):
* rendering/RenderTableSection.h:
(WebCore::CellSpan::CellSpan):
(WebCore::RenderTableSection::borderAdjoiningTableStart):
(WebCore::RenderTableSection::borderAdjoiningTableEnd):
(WebCore::RenderTableSection::cellAt):
(WebCore::RenderTableSection::primaryCellAt):
(WebCore::RenderTableSection::rowRendererAt):
(WebCore::RenderTableSection::outerBorderLeft):
(WebCore::RenderTableSection::outerBorderRight):
(WebCore::RenderTableSection::outerBorderTop):
(WebCore::RenderTableSection::outerBorderBottom):
(WebCore::RenderTableSection::numRows):
(WebCore::RenderTableSection::recalcCellsIfNeeded):
(WebCore::RenderTableSection::rowBaseline):
(WebCore::RenderTableSection::fullTableRowSpan):
(WebCore::CellSpan::start): Deleted.
(WebCore::CellSpan::end): Deleted.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180241
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mmaxfield@apple.com [Tue, 17 Feb 2015 22:31:28 +0000 (22:31 +0000)]
Windows test results should not fall back to mac-mountainlion after r180176
https://bugs.webkit.org/show_bug.cgi?id=141719
Reviewed by Brent Fulgham.
* BuildSlaveSupport/build.webkit.org-config/wkbuild.py:
(_should_file_trigger_build):
* Scripts/webkitpy/port/win.py:
(WinPort.default_baseline_search_path):
* Scripts/webkitpy/port/win_unittest.py:
(WinPortTest.test_baseline_search_path):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180240
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
dbates@webkit.org [Tue, 17 Feb 2015 22:30:07 +0000 (22:30 +0000)]
[iOS] run-webkit-tests should check that simctl can boot and shutdown simulator device before running tests
https://bugs.webkit.org/show_bug.cgi?id=141718
Reviewed by Alex Christensen.
We should only run layout tests if simctl can successfully boot and shutdown the testing device.
* Scripts/webkitpy/port/ios.py:
(IOSSimulatorPort.check_sys_deps): Modified to call Simulator.check_simulator_device_and_erase_if_needed().
Log a error and return False if we are unable to boot the simulator device so that the caller can take
appropriate action, say exit(3) before running any layout tests.
* Scripts/webkitpy/xcode/simulator.py:
(Simulator._boot_and_shutdown_simulator_device): Added. Boot and then shut down the simulator device
with the specified UDID.
(Simulator.check_simulator_device_and_erase_if_needed): Added. Checks that simulator device
with the specified UDID can successfully boot and shut down. We make at most two attempts to
boot and shut down the device, erasing the device between tries so as to restore the device
to a known good state.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180239
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
dbates@webkit.org [Tue, 17 Feb 2015 22:13:11 +0000 (22:13 +0000)]
run_webkit_tests.py should not know about iOS Simulator details
https://bugs.webkit.org/show_bug.cgi?id=141711
Reviewed by Alex Christensen.
Run_webkit_tests.py should only parse the iOS-specific command
line options --runtime and --device-type. Let the port-specific
logic in ios.py validate the parsed options and instantiate
internal data structures.
Currently run_webkit_tests.py parses the iOS-specific command
line options --runtime and --device-type, validates them, and
instantiates internal data structures from the parsed strings.
Instead the validation logic and instantiation of internal
data structures should be handled by the iOS port object.
* Scripts/webkitpy/layout_tests/run_webkit_tests.py:
(_set_up_derived_options): Remove logic to validate --runtime and --device-type
and instantiate internal data structures for them.
* Scripts/webkitpy/port/driver.py:
(IOSSimulatorDriver.cmd_line): Modified to reference IOSSimulatorPort.simulator_runtime
and IOSSimulatorPort.simulator_device_type for the iOS Simulator runtime and device type,
respectively.
* Scripts/webkitpy/port/ios.py: Sort the list of imports.
(IOSSimulatorPort.simulator_runtime): Added. Instantiates a Runtime
object from --runtime, if specified. Otherwise, instantiates a Runtime
object for the latest installed iphonesimulator SDK version.
(IOSSimulatorPort.simulator_device_type): Added. Instantiates a DeviceType
object from --device-type, if specified. Otherwise, instantiates
a DeviceType object for a iPhone 5 or iPhone 5s when on a 32-bit and 64-bit
machine, respectively.
(IOSSimulatorPort.check_sys_deps): Added. Validate if the chosen iOS simulator
runtime is available to use.
(IOSSimulatorPort.testing_device): Modified to make use of properties simulator_device_type
and simulator_runtime for the iOS Simulator device type and runtime, respectively.
* Scripts/webkitpy/xcode/simulator.py:
(Runtime.from_version_string): Added. Turns around and calls Runtime.from_identifier()
with a runtime identifier for the specified iOS version.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180238
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
fpizlo@apple.com [Tue, 17 Feb 2015 21:41:25 +0000 (21:41 +0000)]
StackLayoutPhase should use CodeBlock::usesArguments rather than FunctionExecutable::usesArguments
https://bugs.webkit.org/show_bug.cgi?id=141721
rdar://problem/
17198633
Reviewed by Michael Saboff.
I've seen cases where the two are out of sync. We know we can trust the CodeBlock::usesArguments because
we use it everywhere else.
No test because I could never reproduce the crash.
* dfg/DFGGraph.h:
(JSC::DFG::Graph::usesArguments):
* dfg/DFGStackLayoutPhase.cpp:
(JSC::DFG::StackLayoutPhase::run):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180237
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
joepeck@webkit.org [Tue, 17 Feb 2015 20:17:28 +0000 (20:17 +0000)]
Web Inspector: Improved Console Support for Bound Functions
https://bugs.webkit.org/show_bug.cgi?id=141635
Reviewed by Timothy Hatcher.
Source/JavaScriptCore:
* inspector/JSInjectedScriptHost.cpp:
(Inspector::JSInjectedScriptHost::getInternalProperties):
Expose internal properties of a JSBoundFunction.
LayoutTests:
* inspector/model/remote-object-get-properties-expected.txt:
* inspector/model/remote-object-get-properties.html:
Show that boundFunction has extra properties (targetFunction, boundThis, boundArgs).
* inspector/model/remote-object-expected.txt:
* inspector/model/remote-object.html:
Include a bound function. Much different from a function now though.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180236
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
joepeck@webkit.org [Tue, 17 Feb 2015 20:17:16 +0000 (20:17 +0000)]
Web Inspector: ES6: Improved Console Support for Promise Objects
https://bugs.webkit.org/show_bug.cgi?id=141634
Reviewed by Timothy Hatcher.
Source/JavaScriptCore:
* inspector/InjectedScript.cpp:
(Inspector::InjectedScript::getInternalProperties):
* inspector/InjectedScriptSource.js:
Include internal properties in previews. Share code
with normal internal property handling.
* inspector/JSInjectedScriptHost.cpp:
(Inspector::constructInternalProperty):
(Inspector::JSInjectedScriptHost::getInternalProperties):
Provide internal state of Promises.
* inspector/protocol/Runtime.json:
Provide an optional field to distinguish if a PropertyPreview
is for an Internal property or not.
Source/WebInspectorUI:
* UserInterface/Protocol/RemoteObject.js:
For now just add Internal Properties and regular properties.
We will address the UI later.
LayoutTests:
* inspector/model/remote-object-expected.txt:
* inspector/model/remote-object.html:
Include more tests for Promises.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180235
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
fpizlo@apple.com [Tue, 17 Feb 2015 20:10:00 +0000 (20:10 +0000)]
Throwing from an FTL call IC slow path may result in tag registers being clobbered on 64-bit CPUs
https://bugs.webkit.org/show_bug.cgi?id=141717
rdar://problem/
19863382
Reviewed by Geoffrey Garen.
The best solution is to ensure that the engine catching an exception restores tag registers.
Each of these new test cases reliably crashed prior to this patch and they don't crash at all now.
* jit/JITOpcodes.cpp:
(JSC::JIT::emit_op_catch):
* llint/LowLevelInterpreter.asm:
* llint/LowLevelInterpreter64.asm:
* tests/stress/throw-from-ftl-call-ic-slow-path-cells.js: Added.
* tests/stress/throw-from-ftl-call-ic-slow-path-undefined.js: Added.
* tests/stress/throw-from-ftl-call-ic-slow-path.js: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180234
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Tue, 17 Feb 2015 19:47:11 +0000 (19:47 +0000)]
Unreviewed GTK Gardening 17th February.
https://bugs.webkit.org/show_bug.cgi?id=141712
Patch by Marcos ChavarrÃa Teijeiro <chavarria1991@gmail.com> on 2015-02-17
* platform/gtk/TestExpectations:
* platform/gtk/accessibility/press-targets-center-point-expected.txt: Added. Rebaselined after r180107.
* platform/gtk/svg/custom/glyph-selection-non-bmp-expected.txt: Added. Rebaselined after r177774.
* platform/gtk/svg/text/textPathBoundsBug-expected.txt: Added. Rebaselined after r177774.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180233
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ossy@webkit.org [Tue, 17 Feb 2015 19:09:53 +0000 (19:09 +0000)]
[ARM] Add the necessary setupArgumentsWithExecState after bug141332
https://bugs.webkit.org/show_bug.cgi?id=141714
Reviewed by Michael Saboff.
* jit/CCallHelpers.h:
(JSC::CCallHelpers::setupArgumentsWithExecState):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180232
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
dino@apple.com [Tue, 17 Feb 2015 19:07:03 +0000 (19:07 +0000)]
REGRESSION: Video control fails to hide after playback begins in reflowable EPUB files
https://bugs.webkit.org/show_bug.cgi?id=141689
<rdar://problem/
19689286>
Reviewed by Eric Carlson.
The iBooks app turns off the requirement for a user gesture
before triggering playback. When we moved to script-based
media controls there were a few regressions in this setup.
This makes them behave a lot more like iOS 7.
* Modules/mediacontrols/mediaControlsApple.js:
(Controller.prototype.setPlaying): We don't want to hide the controls
yet, just start a hiding timer.
* Modules/mediacontrols/mediaControlsiOS.js:
(ControllerIOS.prototype.shouldHaveStartPlaybackButton): If we've ever
played before, we don't want to show the big start button. If we
are in the middle of construction, we do want to show it. We no
longer care about the case where you're not in setup and have
the relaxed restrictions (we still want to show the start button
in that case).
(ControllerIOS.prototype.showControls): When we show the controls,
make sure our timeline is up to date. This is necessary for the
cases where we automatically show the controls, such as when we hit
the end of a video.
(ControllerIOS.prototype.updateTime): Make sure to pass the forceUpdate
parameter on to the super-method.
(ControllerIOS.prototype.setPlaying):
(ControllerIOS.prototype.progressFillStyle): Deleted.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180231
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bfulgham@apple.com [Tue, 17 Feb 2015 18:47:55 +0000 (18:47 +0000)]
[Win] Document some accessibility and animation debug assertions (Unreviewed)
* platform/win/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180229
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Tue, 17 Feb 2015 18:42:55 +0000 (18:42 +0000)]
Only create the WebKit.framework symlink in PrivateFrameworks when the platform is iphoneos
https://bugs.webkit.org/show_bug.cgi?id=141710
<rdar://problem/
19719748>
Reviewed by Andreas Kling.
Don't create the symlink when building for the simulator.
* WebKit2.xcodeproj/project.pbxproj:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180228
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
dburkart@apple.com [Tue, 17 Feb 2015 18:06:25 +0000 (18:06 +0000)]
ASan does not like JSC::MachineThreads::tryCopyOtherThreadStack
https://bugs.webkit.org/show_bug.cgi?id=141672
Reviewed by David Kilzer.
* asan/webkit-asan-ignore.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180227
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cdumez@apple.com [Tue, 17 Feb 2015 17:30:34 +0000 (17:30 +0000)]
Access MemoryPressureHandler global instance via a singleton() static member function
https://bugs.webkit.org/show_bug.cgi?id=141691
Reviewed by Andreas Kling.
Access MemoryPressureHandler global instance via a singleton() static
Source/WebCore:
member function as per coding style. Also make all other member
functions non-static as callers can just use singleton() to get the
instance and access methods. This avoid having to call
MemoryPressureHandler::singleton() from member functions.
* bindings/js/ScriptController.cpp:
(WebCore::collectGarbageAfterWindowShellDestruction):
* history/PageCache.cpp:
(WebCore::PageCache::canCache):
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::commitProvisionalLoad):
* page/FrameView.cpp:
(WebCore::FrameView::willPaintContents):
(WebCore::FrameView::didPaintContents):
(WebCore::FrameView::computeCoverageRect):
* platform/MemoryPressureHandler.cpp:
(WebCore::MemoryPressureHandler::singleton):
(WebCore::MemoryPressureHandler::MemoryPressureHandler):
(WebCore::MemoryPressureHandler::releaseCriticalMemory):
(WebCore::memoryPressureHandler): Deleted.
* platform/MemoryPressureHandler.h:
(WebCore::MemoryPressureHandler::setLowMemoryHandler):
* platform/cocoa/MemoryPressureHandlerCocoa.mm:
(WebCore::MemoryPressureHandler::platformReleaseMemory):
(WebCore::MemoryPressureHandler::install):
(WebCore::MemoryPressureHandler::holdOff):
(WebCore::respondToMemoryPressureCallback):
* platform/graphics/FontCache.cpp:
(WebCore::FontCache::purgeInactiveFontDataIfNeeded):
* platform/ios/LegacyTileCache.mm:
(WebCore::LegacyTileCache::createTilesInActiveGrid):
* platform/ios/LegacyTileGrid.mm:
(WebCore::LegacyTileGrid::shouldUseMinimalTileCoverage):
* platform/ios/LegacyTileLayerPool.mm:
(WebCore::LegacyTileLayerPool::addLayer):
* platform/ios/TileControllerMemoryHandlerIOS.cpp:
(WebCore::TileControllerMemoryHandler::tileControllerGainedUnparentedTiles):
* platform/linux/MemoryPressureHandlerLinux.cpp:
(WebCore::MemoryPressureHandler::waitForMemoryPressureEvent):
Source/WebKit/mac:
member function.
* WebView/WebView.mm:
(-[WebView _commonInitializationWithFrameName:groupName:]):
(+[WebView registerForMemoryNotifications]):
(+[WebView _isUnderMemoryPressure]):
(+[WebView _clearMemoryPressure]):
(+[WebView _shouldWaitForMemoryClearMessage]):
(WebInstallMemoryPressureHandler):
Source/WebKit2:
member function.
* NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::initializeNetworkProcess):
(WebKit::NetworkProcess::lowMemoryHandler): Deleted.
* NetworkProcess/NetworkProcess.h:
* PluginProcess/PluginProcess.cpp:
(WebKit::PluginProcess::initializeProcess):
(WebKit::PluginProcess::lowMemoryHandler): Deleted.
* PluginProcess/PluginProcess.h:
* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::updateVisibleContentRects):
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::initializeWebProcess):
(WebKit::WebProcess::processWillSuspend):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180225
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
achristensen@apple.com [Tue, 17 Feb 2015 17:23:54 +0000 (17:23 +0000)]
Remove WebCore.exp.in and clean up.
https://bugs.webkit.org/show_bug.cgi?id=141491
Reviewed by Andreas Kling.
Source/WebCore:
* Configurations/WebCore.xcconfig:
Don't use exported symbols files.
* DerivedSources.make:
Don't generate export files.
* WebCore.exp.in: Removed.
* WebCore.xcodeproj/project.pbxproj:
Removed WebCoreExportFileGenerator targets.
* make-export-file-generator: Removed.
Tools:
* Scripts/sort-export-file: Removed.
* Scripts/webkitpy/style/checker.py:
(_all_categories):
(FileType):
(CheckerDispatcher._file_type):
(CheckerDispatcher._create_checker):
Don't check if the export files are sorted.
* Scripts/webkitpy/style/checkers/exportfile.py: Removed.
* Scripts/webkitpy/style/checkers/exportfile_unittest.py: Removed.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180224
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bfulgham@apple.com [Tue, 17 Feb 2015 17:09:45 +0000 (17:09 +0000)]
Document some debug assertions in Accessibility tests (Unreviewed)
* platform/win/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180223
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
carlosgc@webkit.org [Tue, 17 Feb 2015 16:38:38 +0000 (16:38 +0000)]
Unreviewed. Fix GTK+ make distcheck.
Do not exclude bmalloc directory from the tarball.
* gtk/manifest.txt.in:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180221
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
gyuyoung.kim@samsung.com [Tue, 17 Feb 2015 16:31:00 +0000 (16:31 +0000)]
[CMAKE] Remove CMakeLists.txt in WK1 port
https://bugs.webkit.org/show_bug.cgi?id=141617
Reviewed by Anders Carlsson.
.:
Nobody uses CMake in WK1 port. Remove it.
* CMakeLists.txt:
Source/WebKit:
* CMakeLists.txt: Removed.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180220
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mmaxfield@apple.com [Tue, 17 Feb 2015 16:03:06 +0000 (16:03 +0000)]
Update svg/animations/animate-text-nested-transforms.html after r177774
https://bugs.webkit.org/show_bug.cgi?id=141686
Reviewed by Andreas Kling.
Text metrics are expected to change.
* platform/mac/TestExpectations:
* svg/animations/animate-text-nested-transforms-expected.txt:
* svg/animations/script-tests/animate-text-nested-transforms.js:
(text.appendChild.rootSVGElement.appendChild.startSample):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180219
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mmaxfield@apple.com [Tue, 17 Feb 2015 16:01:00 +0000 (16:01 +0000)]
Update expected result of fast/forms/cursor-at-editable-content-boundary.html after r177774
https://bugs.webkit.org/show_bug.cgi?id=141684
Reviewed by Andreas Kling.
One check no longer fails, and another fails in the same way it did before (but with 1-different
measurement values)
* platform/mac/TestExpectations:
* platform/mac/fast/forms/cursor-at-editable-content-boundary-expected.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180218
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
carlosgc@webkit.org [Tue, 17 Feb 2015 11:57:43 +0000 (11:57 +0000)]
Use HashMap::add instead of get/contains + set in DOMObjectCache
https://bugs.webkit.org/show_bug.cgi?id=141558
Rubber-stamped by Žan Doberšek.
* bindings/gobject/DOMObjectCache.cpp:
(WebKit::getOrCreateDOMObjectCacheFrameObserver):
(WebKit::DOMObjectCache::put):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180216
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
carlosgc@webkit.org [Tue, 17 Feb 2015 10:33:57 +0000 (10:33 +0000)]
Unreviewed. Fix /webkit2/WebKitDOMNode/dom-cache after r180214.
I forgot to add the return of a bool function.
* TestWebKitAPI/Tests/WebKit2Gtk/DOMNodeTest.cpp:
(WebKitDOMNodeTest::testDOMCache):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180215
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
carlosgc@webkit.org [Tue, 17 Feb 2015 09:57:42 +0000 (09:57 +0000)]
[GTK] GObject DOM bindings object are cached forever
https://bugs.webkit.org/show_bug.cgi?id=141558
Reviewed by Sergio Villar Senin.
Source/WebCore:
Rework the DOMObjectCache to avoid having to manually clear the
objects when the frame is destroyed, using a FrameDestructionObserver
instead. When a new object associated to a Frame is added to the
cache, a FrameDestructionObserver is created for the frame if
needed, and the DOM object is tracked by the observer too. When
the frame is detached from the page all its objects are cleared,
and if the aren't additional references, the object is finalized
and removed from the cache normally.
This patch also simplifies and modernizes the code to make it
easier to read an maintain.
* bindings/gobject/DOMObjectCache.cpp:
(WebKit::DOMObjectCacheData::DOMObjectCacheData): Add constructor
to initialize its members and simplify the callers.
(WebKit::DOMObjectCacheData::clearObject): Remove the references
added by the cache, ensuring the GObject is not finalized until
the method returns.
(WebKit::DOMObjectCacheData::refObject): Adds a reference owned by
the cache.
(WebKit::domObjectCacheFrameObservers): Map a frame to a FrameDestructionObserver.
(WebKit::getOrCreateDOMObjectCacheFrameObserver): Create a new
FrameDestructionObserver for the given Frame or return the
existing one.
(WebKit::domObjects): Map wrapped object to wrapper object.
(WebKit::DOMObjectCache::forget): Remove the wrapped object from
the cache.
(WebKit::DOMObjectCache::get): Return the wrapped object if it is
in the cache, increasing the cache references.
(WebKit::DOMObjectCache::put): Add the wrapper object to the cache
for the given wrapped object. If it's a Node and has a frame add
the node to the FrameDestructionObserver corresponding to the frame.
(WebKit::getFrameFromHandle): Deleted.
(WebKit::weakRefNotify): Deleted.
(WebKit::DOMObjectCache::clearByFrame): Deleted.
(WebKit::DOMObjectCache::~DOMObjectCache): Deleted.
* bindings/gobject/DOMObjectCache.h:
Tools:
Add checks for all DOM objects to ensure they are not leaked. Also
add a dedicated test for the DOM Object Cache.
* TestWebKitAPI/Tests/WebKit2Gtk/DOMNodeFilterTest.cpp:
(WebKitDOMNodeFilterTest::testTreeWalker):
(WebKitDOMNodeFilterTest::testNodeIterator):
* TestWebKitAPI/Tests/WebKit2Gtk/DOMNodeTest.cpp:
(WebKitDOMNodeTest::testHierarchyNavigation):
(WebKitDOMNodeTest::testInsertion):
(WebKitDOMNodeTest::testTagNames):
(WebKitDOMNodeTest::testDOMCache):
(registerTests):
* TestWebKitAPI/Tests/WebKit2Gtk/DOMXPathNSResolverTest.cpp:
(WebKitDOMXPathNSResolverTest::evaluateFooChildTextAndCheckResult):
(WebKitDOMXPathNSResolverTest::testXPathNSResolverNative):
(WebKitDOMXPathNSResolverTest::testXPathNSResolverCustom):
* TestWebKitAPI/Tests/WebKit2Gtk/TestDOMNode.cpp:
(testWebKitDOMObjectCache):
(beforeAll):
* TestWebKitAPI/Tests/WebKit2Gtk/WebExtensionTest.cpp:
(documentLoadedCallback):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180214
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
changseok.oh@collabora.com [Tue, 17 Feb 2015 09:42:13 +0000 (09:42 +0000)]
REGRESSION(r180050): It broke the !ENABLE(CSS_GRID_LAYOUT) build
https://bugs.webkit.org/show_bug.cgi?id=141647
Reviewed by Csaba Osztrogonác.
No new tests since this just fixes a build break.
* dom/Position.cpp: Add a build guard ENABLE(CSS_GRID_LAYOUT) for RenderGrid.
(WebCore::Position::isCandidate):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180213
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap@apple.com [Tue, 17 Feb 2015 08:58:41 +0000 (08:58 +0000)]
fast/selectors/nth-last-child-of-register-requirement.html is extremely slow in debug builds
https://bugs.webkit.org/show_bug.cgi?id=141695
* TestExpectations: Fixed a copy/paste mistake.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180212
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
carlosgc@webkit.org [Tue, 17 Feb 2015 07:34:29 +0000 (07:34 +0000)]
[GTK] WebKitFrame objects are never released
https://bugs.webkit.org/show_bug.cgi?id=141641
Reviewed by Martin Robinson.
Source/WebKit2:
Use a FrameDestructionObserver derived class to wrap our
WebKitFrame objects and delete them when the frame is destroyed,
instead of using willDestroyFrame callback of WKBundlePageLoaderClient
that has never worked.
* WebProcess/InjectedBundle/API/gtk/WebKitFrame.cpp:
(webkitFrameGetWebFrame):
* WebProcess/InjectedBundle/API/gtk/WebKitFramePrivate.h:
* WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp:
(webkitFrameGetOrCreate):
(webkitFrameDestroy):
(webkitWebPageCreate):
(willDestroyFrame): Deleted.
Tools:
Add a way to check GObjects leaks for WebProcess tests and check
WebKitFrame objects are not leaked.
* TestWebKitAPI/Tests/WebKit2Gtk/FrameTest.cpp:
(WebKitFrameTest::testMainFrame):
(WebKitFrameTest::testURI):
(WebKitFrameTest::testJavaScriptContext):
* TestWebKitAPI/Tests/WebKit2Gtk/WebProcessTest.cpp:
(WebProcessTest::assertObjectIsDeletedWhenTestFinishes):
(runTest):
* TestWebKitAPI/Tests/WebKit2Gtk/WebProcessTest.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180211
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
timothy_horton@apple.com [Tue, 17 Feb 2015 07:25:13 +0000 (07:25 +0000)]
Fix the !USE(IOSURFACE) build
* Shared/mac/RemoteLayerBackingStore.mm:
SOFT_LINK_MAY_FAIL makes a function that will be unused if !USE(IOSURFACE).
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180210
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap@apple.com [Tue, 17 Feb 2015 07:17:19 +0000 (07:17 +0000)]
REGRESSION(?): inspector/css/selector-dynamic-specificity.html sometimes crashes
https://bugs.webkit.org/show_bug.cgi?id=141118
This happens on WK1 too.
* platform/mac-wk2/TestExpectations:
* platform/mac/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180209
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap@apple.com [Tue, 17 Feb 2015 06:42:39 +0000 (06:42 +0000)]
fast/selectors/nth-last-child-of-register-requirement.html is extremely slow in debug builds
https://bugs.webkit.org/show_bug.cgi?id=141695
* TestExpectations: Marked as slow.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180208
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cdumez@apple.com [Tue, 17 Feb 2015 04:54:56 +0000 (04:54 +0000)]
Keep all memory cache resources in ListHashSets
https://bugs.webkit.org/show_bug.cgi?id=141667
Reviewed by Andreas Kling.
Keep all memory cache resources in ListHashSets instead of manual linked
lists. This simplifies the code a lot and is also more efficient for
retrieving / removing particular CachedResources.
* loader/cache/CachedResource.cpp:
(WebCore::CachedResource::CachedResource):
* loader/cache/CachedResource.h:
* loader/cache/MemoryCache.cpp:
(WebCore::MemoryCache::pruneDeadResourcesToSize):
(WebCore::MemoryCache::removeFromLRUList):
(WebCore::MemoryCache::insertInLRUList):
(WebCore::MemoryCache::dumpLRULists):
(WebCore::MemoryCache::lruListFor): Deleted.
* loader/cache/MemoryCache.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180207
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
benjamin@webkit.org [Tue, 17 Feb 2015 04:26:58 +0000 (04:26 +0000)]
CSS JIT: finish :nth-last-child()
https://bugs.webkit.org/show_bug.cgi?id=141629
Reviewed by Andreas Kling.
Source/WebCore:
This patch adds the matcher for :nth-child(An+B of selector list) and
fix a small bug I discovered while working on it.
The matcher is straightforward: count the next siblings matching the selector,
nothing fancy.
While working on it I noticed I forgot the test for IsParsingChildrenFinished
on the simple version of :nth-last-child(). I add it in both matcher, write
a couple of tests, the first part of the tests now succeed, but the second part
fails...
What happened is:
1) We interupt the parsing to execute the JavaScript.
From there, we force the style resolution to get the computed style.
2) When resolving the style, the early check for isFinishedParsingChildren()
quits the function early. This is done *before* we marked the parent
for :nth-last-child() style resolution.
3) After the script, parsing resume and the following elements are added.
4) When resolving the style, only the new elements are marked dirty,
the elements pending their :nth-last-child() style never get udpated.
To fix the problem, I moved the test for FinishedParsingChildren after
the parent marking.
Honestly, those early return for FinishedParsingChildren need to be refined
and they should be tested properly. We should not do this kind of things
for Query for example.
Tests: fast/selectors/nth-last-child-cannot-match-during-parsing-1.html
fast/selectors/nth-last-child-cannot-match-during-parsing-2.html
fast/selectors/nth-last-child-of-cannot-match-during-parsing-1.html
fast/selectors/nth-last-child-of-cannot-match-during-parsing-2.html
fast/selectors/nth-last-child-of-register-requirement.html
* css/SelectorChecker.cpp:
(WebCore::SelectorChecker::checkOne):
Fix the tree marking.
* cssjit/SelectorCompiler.cpp:
(WebCore::SelectorCompiler::addPseudoClassType):
The fragment creation was already done, all I had to do was
accept the compile.
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementMatching):
:nth-child() and :nth-last-child() with a selector list are heavier than :not()
and :matches(), move them accordingly.
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsNthLastChild):
More the early return after the tree marking.
(WebCore::SelectorCompiler::setParentAffectedByLastChildOf):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsNthLastChildOf):
New matcher, nothing optimized yet.
LayoutTests:
* fast/selectors/nth-last-child-cannot-match-during-parsing-1-expected.txt: Added.
* fast/selectors/nth-last-child-cannot-match-during-parsing-1.html: Added.
* fast/selectors/nth-last-child-cannot-match-during-parsing-2-expected.txt: Added.
* fast/selectors/nth-last-child-cannot-match-during-parsing-2.html: Added.
* fast/selectors/nth-last-child-of-cannot-match-during-parsing-1-expected.txt: Added.
* fast/selectors/nth-last-child-of-cannot-match-during-parsing-1.html: Added.
* fast/selectors/nth-last-child-of-cannot-match-during-parsing-2-expected.txt: Added.
* fast/selectors/nth-last-child-of-cannot-match-during-parsing-2.html: Added.
Those test cover the bugs related to IsParsingChildrenFinished and style update.
I had to duplicate the tests to have a simple selector because :nth-last-child(n)
and :nth-last-child(2n) are optimized differently.
* fast/selectors/nth-last-child-of-register-requirement-expected.txt: Added.
* fast/selectors/nth-last-child-of-register-requirement.html: Added.
The ususal register pressure tests. This one is taken directly from
the :nth-child() tests, I just changed the expected values.
* fast/selectors/several-nth-last-child.html:
Due to the changes with IsParsingChildrenFinished, this test can no longer
use body:nth-last-child() during parsing. I changed it to an async test.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180206
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Tue, 17 Feb 2015 04:20:21 +0000 (04:20 +0000)]
Web Inspector: Tweak the styles on the Console
https://bugs.webkit.org/show_bug.cgi?id=140580
- Use non-monospace (default sans-serif) font for console messages, but keep using monospace font
for objects, functions, and anything else that presumably code.
- Display all expandable objects on a separate row.
Patch by Nikita Vasilyev <nvasilyev@apple.com> on 2015-02-16
Reviewed by Timothy Hatcher.
* UserInterface/Views/ConsoleCommand.js:
(WebInspector.ConsoleCommand.prototype.decorateMessageElement):
(WebInspector.ConsoleCommand.prototype.toMessageElement):
* UserInterface/Views/ConsoleGroup.js:
(WebInspector.ConsoleGroup.prototype.addMessage):
* UserInterface/Views/ConsoleMessageImpl.js:
(WebInspector.ConsoleMessageImpl.prototype._format):
(WebInspector.ConsoleMessageImpl.prototype._isExpandable):
(WebInspector.ConsoleMessageImpl.prototype._formatParameter):
(WebInspector.ConsoleMessageImpl.prototype.append):
(WebInspector.ConsoleMessageImpl.prototype._formatWithSubstitutionString):
(WebInspector.ConsoleMessageImpl.prototype.decorateMessageElement):
(WebInspector.ConsoleMessageImpl.prototype.toMessageElement):
(WebInspector.ConsoleMessageImpl.prototype._formatParameterAsString): Deleted.
* UserInterface/Views/LogContentView.css:
(.console-messages):
(.console-formatted-object):
(.expandable.source-code):
(.console-message):
(.console-item.selected::after):
(.console-messages:focus .console-item.selected::after):
(.console-user-command-result.console-log-level::before):
(.console-item::before):
(.console-message .bubble):
(.console-error-level):
(.console-error-level .section .header .title):
(.console-error-level::before):
(.console-warning-level):
(.console-warning-level .console-message-text):
(.console-warning-level::before):
(.console-user-command::before):
(.console-group-messages .section):
(.console-group-messages .section .header::before):
(.console-group-messages .section .header .title):
(.console-formatted-object, .console-formatted-node, .console-formatted-error, .console-formatted-map, .console-formatted-set, .console-formatted-weakmap):
(.outline-disclosure li):
(.outline-disclosure li.parent::before):
(.console-item): Deleted.
(.console-item.selected): Deleted.
(.console-messages:focus .console-item.selected): Deleted.
(.console-item.selected .console-message::after): Deleted.
(.console-messages:focus .console-item.selected .data-grid tr.selected): Deleted.
(.console-messages:focus .console-item.selected .console-message::after): Deleted.
(.console-message, .console-user-command): Deleted.
(.console-message::before, .console-user-command::before, .javascript-prompt::before, .console-group-title::before): Deleted.
(.console-group): Deleted.
(.console-debug-level .console-message-text): Deleted.
(.console-debug-level::before): Deleted.
(.console-group-messages .section .header): Deleted.
(.console-group-messages .outline-disclosure): Deleted.
(.console-group-messages .outline-disclosure > ol): Deleted.
(.outline-disclosure li.elements-drag-over .selection): Deleted.
(.outline-disclosure ol:focus li.selected .selection): Deleted.
(.outline-disclosure > ol): Deleted.
* UserInterface/Views/LogContentView.js:
(WebInspector.LogContentView.prototype._mousemove):
(WebInspector.LogContentView.prototype._updateMessagesSelection):
(WebInspector.LogContentView.prototype._isMessageVisible):
(WebInspector.LogContentView.prototype._isMessageSelected):
(WebInspector.LogContentView.prototype._selectAllMessages):
(WebInspector.LogContentView.prototype._unfilteredMessages):
(WebInspector.LogContentView.prototype._visibleMessages):
(WebInspector.LogContentView.prototype._filterMessages):
(WebInspector.LogContentView.prototype._leftArrowWasPressed):
(WebInspector.LogContentView.prototype._propertiesSectionDidUpdateContent):
(WebInspector.LogContentView.prototype._performSearch):
* UserInterface/Views/Section.css:
(.section .header .title::before):
(.section.expanded .header .title::before):
(.section .header .title, .event-bar .header .title):
(.properties-tree li.parent::before):
(.section .header::before): Deleted.
(.section.expanded .header::before): Deleted.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180205
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
timothy_horton@apple.com [Tue, 17 Feb 2015 02:30:11 +0000 (02:30 +0000)]
Sometimes RemoteLayerBackingStore ends up non-volatile while the process is suspended
<rdar://problem/
19842957>
https://bugs.webkit.org/show_bug.cgi?id=141675
Reviewed by Simon Fraser.
Previously, it was possible to get a layer tree flush in between the
process suspension cleanup code making surfaces volatile and the process
actually being suspended (it was racy because the suspension requires
a few IPC round trips). Depending on how far through the flush we got,
we could sometimes end up either making new non-volatile backing store,
or switching some recently-made-volatile backing store back to non-volatile.
We don't want to have any non-volatile backing store while suspended.
* UIProcess/ProcessThrottler.cpp:
(WebKit::ProcessThrottler::updateAssertion):
Inform the WebProcess when it's going from suspended to runnable state.
* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::sendProcessDidResume):
* UIProcess/WebProcessProxy.h:
Forward the message along.
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::processWillSuspend):
(WebKit::WebProcess::cancelProcessWillSuspend):
(WebKit::WebProcess::setAllLayerTreeStatesFrozen):
(WebKit::WebProcess::processDidResume):
Freeze all of this process' pages' layer trees when we start trying to suspend,
and un-freeze them when either suspension is cancelled or we resume.
* WebProcess/WebProcess.h:
* WebProcess/WebProcess.messages.in:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180204
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
timothy_horton@apple.com [Tue, 17 Feb 2015 02:28:52 +0000 (02:28 +0000)]
Adopt CAMachPort-as-layer-contents
https://bugs.webkit.org/show_bug.cgi?id=141687
<rdar://problem/
19393233>
Reviewed by Simon Fraser.
No new tests, just a performance bump.
* platform/cocoa/MachSendRight.h:
(WebCore::MachSendRight::operator bool):
Add an operator bool() that checks if the underlying port is nonnull.
* platform/spi/cocoa/QuartzCoreSPI.h:
Add some SPI.
* Shared/mac/RemoteLayerBackingStore.h:
* Shared/mac/RemoteLayerBackingStore.mm:
(WebKit::RemoteLayerBackingStore::decode):
If we have CAMachPort, just keep the MachSendRight around.
(WebKit::RemoteLayerBackingStore::applyBackingStoreToLayer):
If we have CAMachPort, make one and leak our send right into it. CAMachPort
will adopt the port and destroy it when needed.
(WebKit::RemoteLayerBackingStore::setBufferVolatility):
Tiny style fix.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180203
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mmaxfield@apple.com [Tue, 17 Feb 2015 02:21:09 +0000 (02:21 +0000)]
Update cross-frame http tests after r177774
https://bugs.webkit.org/show_bug.cgi?id=141679
Reviewed by Alexey Proskuryakov.
Simply a spacing change
* http/tests/security/XFrameOptions/x-frame-options-deny-multiple-clients-expected.txt:
* http/tests/security/cross-frame-access-callback-explicit-domain-ALLOW-expected.txt:
* platform/mac/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180202
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mmaxfield@apple.com [Tue, 17 Feb 2015 02:17:37 +0000 (02:17 +0000)]
Update accessibility/table-cells.html after r177774
https://bugs.webkit.org/show_bug.cgi?id=141680
Reviewed by Chris Fleizach.
Simply needs a rebaseline.
* platform/mac/TestExpectations:
* platform/mac/accessibility/table-cells-expected.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180201
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mmaxfield@apple.com [Tue, 17 Feb 2015 02:10:52 +0000 (02:10 +0000)]
[OS X] Reordering TestExpectations
Unreviewed.
* platform/mac/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180200
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mmaxfield@apple.com [Tue, 17 Feb 2015 01:33:59 +0000 (01:33 +0000)]
fast/text/glyph-reordering.html no longer fails
https://bugs.webkit.org/show_bug.cgi?id=141678
Reviewed by Sam Weinig.
* platform/mac/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180197
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mmaxfield@apple.com [Tue, 17 Feb 2015 01:28:42 +0000 (01:28 +0000)]
Update fast/text/decomposed-after-stacked-diacritics.html after r177774
https://bugs.webkit.org/show_bug.cgi?id=141677
Reviewed by Dan Bernstein.
Apply kerning to both spans in the same way.
* fast/text/decomposed-after-stacked-diacritics-expected.txt:
* fast/text/decomposed-after-stacked-diacritics.html:
* platform/mac/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180195
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mmaxfield@apple.com [Tue, 17 Feb 2015 01:16:21 +0000 (01:16 +0000)]
Update fast/regions/cssom/get-regions-by-content-horiz-*.html after r177774
https://bugs.webkit.org/show_bug.cgi?id=141674
Reviewed by Zalan Bujtas.
Text metrics changed, so the text ended up no longer spanning a region boundary.
* fast/regions/cssom/get-regions-by-content-horiz-bt.html:
* fast/regions/cssom/get-regions-by-content-horiz-tb.html:
* platform/mac/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180194
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
weinig@apple.com [Tue, 17 Feb 2015 01:09:52 +0000 (01:09 +0000)]
Add experimental <attachment> element support
https://bugs.webkit.org/show_bug.cgi?id=141626
Reviewed by Tim Horton.
Source/JavaScriptCore:
* Configurations/FeatureDefines.xcconfig:
Source/WebCore:
Adds scaffolding for an experimental implementation of an <attachment> element
which can represent a file attachment (e.g. NSTextAttachment in NSAttributedString
parlance).
The implementation is guarded by both an #ifdef (ENABLE(ATTACHMENT_ELEMENT)) and
a setting (Settings::attachmentElementEnabled()).
Tests: fast/attachment/attachment-disabled-dom.html
fast/attachment/attachment-disabled-rendering.html
fast/attachment/attachment-dom.html
fast/attachment/attachment-rendering.html
* Configurations/FeatureDefines.xcconfig:
Add new ENABLE_ATTACHMENT_ELEMENT macro.
* CMakeLists.txt:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.xcodeproj/project.pbxproj:
Add new files.
* dom/make_names.pl:
Add support for checking a setting to determine if a particular tag should be exposed.
* html/HTMLAttachmentElement.cpp: Added.
* html/HTMLAttachmentElement.h: Added.
Stub out the basics of the new element.
* html/HTMLElementsAllInOne.cpp:
Add HTMLAttachmentElement.cpp.
* html/HTMLTagNames.in:
Add 'attachment'.
* page/Settings.in:
Add attachmentElementEnabled setting.
* rendering/RenderAttachment.cpp: Added.
* rendering/RenderAttachment.h: Added.
Stub out the basics of the new render. We will probably want to replace this with
a non-replaced render, but this will do as a placeholder for now.
* rendering/RenderObject.h:
(WebCore::RenderObject::isAttachment):
Add predicate for type casting.
* rendering/RenderingAllInOne.cpp:
Add RenderAttachment.cpp.
Source/WebKit/mac:
* Configurations/FeatureDefines.xcconfig:
Source/WebKit2:
* Configurations/FeatureDefines.xcconfig:
LayoutTests:
* fast/attachment: Added.
* fast/attachment/attachment-disabled-dom-expected.txt: Added.
* fast/attachment/attachment-disabled-dom.html: Added.
* fast/attachment/attachment-disabled-rendering-expected.txt: Added.
* fast/attachment/attachment-disabled-rendering.html: Added.
* fast/attachment/attachment-dom-expected.txt: Added.
* fast/attachment/attachment-dom.html: Added.
* fast/attachment/attachment-rendering-expected.txt: Added.
* fast/attachment/attachment-rendering.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180193
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
akling@apple.com [Tue, 17 Feb 2015 01:06:45 +0000 (01:06 +0000)]
GC (almost) immediately when navigating under memory pressure.
<https://webkit.org/b/141663>
Reviewed by Geoffrey Garen.
Since the PageCache is already disabled in memory pressure situations,
we know that detaching the old window shell on navigation is basically
guaranteed to generate a bunch of garbage, we can soften the memory
peak a bit by doing a GC right away instead of scheduling one for soon(tm).
* bindings/js/GCController.cpp:
(WebCore::GCController::GCController):
(WebCore::GCController::garbageCollectSoon):
(WebCore::GCController::garbageCollectOnNextRunLoop):
(WebCore::GCController::gcTimerFired):
* bindings/js/GCController.h:
Add a GCController::garbageCollectOnNextRunLoop() complement to the
"soon" and "now" options. There was already a zero timer in here for
non-CF builds, so I just used that same timer to implement this
and have the non-CF code path call garbageCollectOnNextRunLoop().
* bindings/js/ScriptController.cpp:
(WebCore::collectGarbageAfterWindowShellDestruction):
(WebCore::ScriptController::~ScriptController):
(WebCore::ScriptController::clearWindowShell):
Under system memory pressure conditions, schedule a full GC on next
runloop iteration instead of just asking for it to happen soon.
We do it on next runloop to ensure that there's no pointer to the
window object on the stack.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180192
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
enrica@apple.com [Tue, 17 Feb 2015 01:05:28 +0000 (01:05 +0000)]
Emoji sequences do not render properly.
https://bugs.webkit.org/show_bug.cgi?id=141661
rdar://problem/
19820463
Reviewed by Sam Weinig.
Source/WebCore:
Emoji sequences and emoji with variations should be rendered
using the Complex code path and should be treated as graphemes.
This change modifies advanceByCombiningCharacterSequence to add
this logic.
Test: fast/text/emoji.html
* WebCore.xcodeproj/project.pbxproj:
* platform/graphics/FontCascade.cpp:
(WebCore::FontCascade::characterRangeCodePath):
* platform/graphics/mac/ComplexTextController.cpp:
(WebCore::advanceByCombiningCharacterSequence): Implements a simple
logic to treat emoji sequences and emoji with variations as graphemes.
* platform/text/CharacterProperties.h: Added.
(WebCore::isEmojiGroupCandidate):
(WebCore::isEmojiModifier):
(WebCore::isVariationSelector):
* rendering/RenderText.cpp:
(WebCore::isEmojiGroupCandidate): Deleted.
(WebCore::isEmojiModifier): Deleted.
LayoutTests:
* TestExpectations:
* fast/text/emoji-expected.txt: Added.
* fast/text/emoji.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180191
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zalan@apple.com [Tue, 17 Feb 2015 01:02:17 +0000 (01:02 +0000)]
RenderTableRow should check if it has access to its ancestor chain.
https://bugs.webkit.org/show_bug.cgi?id=141668
Reviewed by Andreas Kling.
Preventive fix.
* rendering/RenderTableRow.cpp:
(WebCore::RenderTableRow::styleDidChange):
(WebCore::RenderTableRow::addChild):
* rendering/RenderTableRow.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180190
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jer.noble@apple.com [Tue, 17 Feb 2015 00:26:27 +0000 (00:26 +0000)]
[iOS] Build fix: declare undeclared identifier 'credential'.
* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::WebCoreNSURLAuthenticationChallengeClient::receivedCredential):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180187
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
msaboff@apple.com [Tue, 17 Feb 2015 00:08:17 +0000 (00:08 +0000)]
REGRESSION(r180060): C Loop crashes
https://bugs.webkit.org/show_bug.cgi?id=141671
Reviewed by Geoffrey Garen.
Fixed a typo that only affected the C Loop in the prologue() macro in LowLevelInterpreter.asm.
After the stackHeightOKGetCodeBlock label, codeBlockSetter(t1) should be codeBlockGetter(t1).
Fixed the processing of an out of stack exception in llint_stack_check to not get the caller's
frame. This isn't needed, since this helper is only called to check the stack on entry. Any
exception will be handled by a call ancestor.
* llint/LLIntSlowPaths.cpp:
(JSC::LLInt::llint_stack_check): Changed to use the current frame for processing an exception.
* llint/LowLevelInterpreter.asm: Fixed a typo.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180184
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jer.noble@apple.com [Tue, 17 Feb 2015 00:02:44 +0000 (00:02 +0000)]
[iOS] Unable to play .mp4 file over http with basic http authentication
https://bugs.webkit.org/show_bug.cgi?id=141503
rdar://problem/
15799844
Reviewed by Alexey Proskuryakov.
On iOS, CFNetwork is used for authentication, so the NSURLAuthenticationChallenge
provided by AVAssetResourceLoader needs to be shoehorned into a AuthenticationChallenge
object by way of CFURLAuthChallengeRef.
Create a new class, WebCoreNSURLAuthenticationChallengeClient, whose sole purpose
is to take AuthenticationChallengeClient callbacks and pass them along to a
NSURLAuthenticationChallenge sender.
Create a NSURLAuthenticationChallenge out of the CF version through an SPI, and add
that SPI to a new header. Drive-by fix: take two of our existing SPI calls and move
them into that same header.
* WebCore.xcodeproj/project.pbxproj: Add CFNSURLConnectionSPI.h to project.
* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::WebCoreNSURLAuthenticationChallengeClient::create): Factory.
(WebCore::WebCoreNSURLAuthenticationChallengeClient::WebCoreNSURLAuthenticationChallengeClient): Simple constructor.
(WebCore::WebCoreNSURLAuthenticationChallengeClient::receivedCredential): Pass to m_challenge.
(WebCore::WebCoreNSURLAuthenticationChallengeClient::receivedRequestToContinueWithoutCredential): Ditto.
(WebCore::WebCoreNSURLAuthenticationChallengeClient::receivedCancellation): Ditto.
(WebCore::WebCoreNSURLAuthenticationChallengeClient::receivedRequestToPerformDefaultHandling): Ditto.
(WebCore::WebCoreNSURLAuthenticationChallengeClient::receivedChallengeRejection): Ditto.
(WebCore::MediaPlayerPrivateAVFoundationObjC::shouldWaitForResponseToAuthenticationChallenge):
Create an AuthenticationChallenge out of the nsChallenge and client and pass it up
to the HTMLMediaElement.
* platform/network/mac/AuthenticationMac.mm:
* platform/spi/cocoa/CFNSURLConnectionSPI.h: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180183
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
timothy_horton@apple.com [Mon, 16 Feb 2015 23:24:09 +0000 (23:24 +0000)]
REGRESSION (r176459): Process suspension cleanup timer sometimes never stops
https://bugs.webkit.org/show_bug.cgi?id=141669
Reviewed by Simon Fraser.
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::markAllLayersVolatileIfPossible):
r176459 accidentally removed the code to stop the cleanup timer
in the case where we successfully finish marking layers volatile,
causing the timer to continue running once the process comes back
from a suspended state.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180180
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Mon, 16 Feb 2015 23:19:23 +0000 (23:19 +0000)]
Revert a change in SVGRenderSupport::mapLocalToContainer committed for fixing <https://bugs.webkit.org/show_bug.cgi?id=119626>.
https://bugs.webkit.org/show_bug.cgi?id=138439
Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2015-02-16
Reviewed by Darin Adler.
The change http://trac.webkit.org/changeset/164861 was ported from Blink
but it was was revert later because it broke Chrome SVG rendering. It also
broke the WebKit SVG text search highlighting.
Tests: svg/transforms/svg-geometry-crash.html: This test was added by the
blamed change. A new but correct solution is required to fix the assertion.
* rendering/svg/SVGRenderSupport.h:
* rendering/svg/SVGRenderSupport.cpp:
Notice that TransformState.applyTransform() does matrix-left-multiplication,
i.e. state = transform * state. But operator*() of AffineTransform and
MatrixTransform does right multiply, i.e. this = this * transform.
(WebCore::SVGRenderSupport::localToParentTransform): Have the calculation
of the SVG localToParentTransform in one shared function.
(WebCore::SVGRenderSupport::mapLocalToContainer): Revert the Blink change.
If the parent is the SVG root, the transform state should be equal to
transform = svg_to_css_mapping * local_to_parent_mapping * transform.
(WebCore::SVGRenderSupport::pushMappingToContainer): Get the localToParent
transform to be pushed in the geometryMap. If the parent is the SVG root,
localToParent = svg_to_css_mapping * local_to_parent_mapping. The original
code was doing the opposite and this is the cause of the assertion which
was fixed wrongly by reversing the correct multiplication order in
SVGRenderSupport::mapLocalToContainer().
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180179
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mmaxfield@apple.com [Mon, 16 Feb 2015 23:11:23 +0000 (23:11 +0000)]
Update fast/dom/{Element,Range}/getClientRects.html after r177774
https://bugs.webkit.org/show_bug.cgi?id=141665
Reviewed by Alexey Proskuryakov.
Line breaking is different due to different text metrics.
* fast/dom/Element/getClientRects-expected.txt:
* fast/dom/Element/getClientRects.html:
* fast/dom/Range/getClientRects-expected.txt:
* fast/dom/Range/getClientRects.html:
* platform/mac/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180178
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mmaxfield@apple.com [Mon, 16 Feb 2015 23:01:54 +0000 (23:01 +0000)]
Delete LayoutTests/platform/mac-mountainlion directory
Rubber-stamped by Brent Fulgham.
The Win port falls back to mac-mountainlion, so this patch moves all files in
platform/mac-mountainlion that aren't already in platform/win into platform/win. It then deletes
the remaining files in platform/mac-mountainlion.
* platform/mac-mountainlion: Deleted.
* platform/win/{many files}: Moved from platform/mac-mountainlion
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180176
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Mon, 16 Feb 2015 22:40:51 +0000 (22:40 +0000)]
Check for the assume_nonnull feature instead of noescape
https://bugs.webkit.org/show_bug.cgi?id=141666
Reviewed by Dan Bernstein.
* Shared/API/Cocoa/WKFoundation.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180175
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zalan@apple.com [Mon, 16 Feb 2015 22:38:29 +0000 (22:38 +0000)]
RenderTableCell can't access its parent while in detached state.
https://bugs.webkit.org/show_bug.cgi?id=141639
rdar://problem/
19850760
Reviewed by Simon Fraser.
Null check against ancestor chain so that certain methods in RenderTableCell can
be called even if the renderer is not yet attached.
Source/WebCore:
Test: fast/table/table-cell-crash-when-detached-state.html
* rendering/RenderTableCell.cpp:
(WebCore::RenderTableCell::borderLeft):
(WebCore::RenderTableCell::borderRight):
(WebCore::RenderTableCell::borderTop):
(WebCore::RenderTableCell::borderBottom):
(WebCore::RenderTableCell::borderStart):
(WebCore::RenderTableCell::borderEnd):
(WebCore::RenderTableCell::borderBefore):
(WebCore::RenderTableCell::borderAfter):
* rendering/RenderTableCell.h:
LayoutTests:
* fast/table/table-cell-crash-when-detached-state-expected.txt: Added.
* fast/table/table-cell-crash-when-detached-state.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180174
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Mon, 16 Feb 2015 22:10:12 +0000 (22:10 +0000)]
Web Inspector: Scope details sidebar should label objects with constructor names
https://bugs.webkit.org/show_bug.cgi?id=139449
Patch by Joseph Pecoraro <pecoraro@apple.com> on 2015-02-16
Reviewed by Timothy Hatcher.
Source/JavaScriptCore:
* inspector/JSInjectedScriptHost.cpp:
(Inspector::JSInjectedScriptHost::internalConstructorName):
* runtime/Structure.cpp:
(JSC::Structure::toStructureShape):
Share calculatedClassName.
* runtime/JSObject.h:
* runtime/JSObject.cpp:
(JSC::JSObject::calculatedClassName):
Elaborate on a way to get an Object's class name.
LayoutTests:
* inspector/model/remote-object-expected.txt:
* inspector/model/remote-object.html:
Improve the test to include Objects where previously
we would have had poorer class name descriptions.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180173
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mmaxfield@apple.com [Mon, 16 Feb 2015 21:58:33 +0000 (21:58 +0000)]
Update expected result for editing/pasteboard/
5761530-1.html after r177774
https://bugs.webkit.org/show_bug.cgi?id=141603
Reviewed by Alexey Proskuryakov.
The test used to have incorrect expected output, but the new results are correct.
* LayoutTests/editing/pasteboard/
5761530-1-expected.txt:
* platform/mac/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180172
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mmaxfield@apple.com [Mon, 16 Feb 2015 21:51:45 +0000 (21:51 +0000)]
Update fast/css/css3-ch-unit.html after r177774
https://bugs.webkit.org/show_bug.cgi?id=141657
Reviewed by Zalan Bujtas.
The alphabet is not expected to have the same width as 26 times the average character width.
* fast/css/css3-ch-unit-expected.txt:
* fast/css/css3-ch-unit.html:
* platform/mac/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180171
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap@apple.com [Mon, 16 Feb 2015 21:44:10 +0000 (21:44 +0000)]
fullscreen/full-screen-plugin.html is very flaky on Yosemite WK2
https://bugs.webkit.org/show_bug.cgi?id=141364
* platform/mac-wk2/TestExpectations: Marking as such.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180170
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap@apple.com [Mon, 16 Feb 2015 21:26:24 +0000 (21:26 +0000)]
inspector/css/stylesheet-with-mutations.html is a flaky timeout
https://bugs.webkit.org/show_bug.cgi?id=141601
* platform/mac-wk2/TestExpectations: Marking as such.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180168
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mmaxfield@apple.com [Mon, 16 Feb 2015 20:41:23 +0000 (20:41 +0000)]
Update fast/css/content/content-quotes-*.html after r177774
https://bugs.webkit.org/show_bug.cgi?id=141654
Reviewed by Zalan Bujtas.
Because of printer fonts and LayoutUnits, putting text inside an anonymous renderer
has different metrics than the raw text itself.
* fast/css/content/content-quotes-01.html:
* fast/css/content/content-quotes-02.html:
* fast/css/content/content-quotes-03.html:
* fast/css/content/content-quotes-04.html:
* fast/css/content/content-quotes-05.html:
* fast/css/content/content-quotes-06.html:
* fast/css/content/content-quotes-07.html:
* platform/mac/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180166
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap@apple.com [Mon, 16 Feb 2015 20:13:54 +0000 (20:13 +0000)]
Update expectations for css2.1/t1202-counter-04-b.html and css2.1/t1202-counters-04-b.html
rdar://problem/
19848737
* platform/mac/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180165
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
timothy_horton@apple.com [Mon, 16 Feb 2015 19:56:02 +0000 (19:56 +0000)]
Fix the MiniBrowser build with newer clang
* MiniBrowser/mac/SettingsController.m:
(-[SettingsController _toggleBooleanDefault:]):
* MiniBrowser/mac/WK1BrowserWindowController.m:
(-[WK1BrowserWindowController windowWillClose:]):
* MiniBrowser/mac/WK2BrowserWindowController.m:
(-[WK2BrowserWindowController windowWillClose:]):
NSApp is id and clang gets confused about which -delegate we're talking about.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180164
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mmaxfield@apple.com [Mon, 16 Feb 2015 19:43:21 +0000 (19:43 +0000)]
Update expected result for compositing/fixed-positioned-pseudo-content-no-compositing.html after r177774
https://bugs.webkit.org/show_bug.cgi?id=141602
Reviewed by Simon Fraser.
Not sure if the change to contentsOpaque is right, so CC'ing smfr to see what he thinks.
* compositing/fixed-positioned-pseudo-content-no-compositing-expected.txt:
* platform/mac/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180163
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Mon, 16 Feb 2015 19:38:08 +0000 (19:38 +0000)]
Add nullability qualifiers to all API headers
https://bugs.webkit.org/show_bug.cgi?id=141652
rdar://problem/
19793630
Reviewed by Dan Bernstein.
* Shared/API/Cocoa/WKFoundation.h:
Add a WK_NULLABLE_SPECIFIER macro.
* UIProcess/API/Cocoa/WKBackForwardListItem.h:
* UIProcess/API/Cocoa/WKFrameInfo.h:
* UIProcess/API/Cocoa/WKNavigationAction.h:
* UIProcess/API/Cocoa/WKNavigationDelegate.h:
* UIProcess/API/Cocoa/WKNavigationResponse.h:
* UIProcess/API/Cocoa/WKScriptMessage.h:
* UIProcess/API/Cocoa/WKScriptMessageHandler.h:
* UIProcess/API/Cocoa/WKUIDelegate.h:
* UIProcess/API/Cocoa/WKUserContentController.h:
* UIProcess/API/Cocoa/WKUserScript.h:
* UIProcess/API/Cocoa/WKWebView.h:
* UIProcess/API/Cocoa/WKWebViewConfiguration.h:
* UIProcess/API/Cocoa/WKWindowFeatures.h:
* mac/postprocess-framework-headers.sh:
Handle the WK_NULLABLE_SPECIFIER macro. Change the WK_NULLABLE sed command to replace
all occurrences of WK_NULLABLE instead of just the first one.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180162
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
dbates@webkit.org [Mon, 16 Feb 2015 19:32:30 +0000 (19:32 +0000)]
[iOS] Gardening; update test expectations
* platform/ios-simulator-wk1/TestExpectations:
* platform/ios-simulator-wk2/TestExpectations:
* platform/ios-simulator/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180161
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
fpizlo@apple.com [Mon, 16 Feb 2015 19:27:37 +0000 (19:27 +0000)]
DFG SSA should use GetLocal for arguments, and the GetArgument node type should be removed
https://bugs.webkit.org/show_bug.cgi?id=141623
Reviewed by Oliver Hunt.
During development of https://bugs.webkit.org/show_bug.cgi?id=141332, I realized that I
needed to use GetArgument for loading something that has magically already appeared on the
stack, so currently trunk sort of allows this. But then I realized three things:
- A GetArgument with a non-JSValue flush format means speculating that the value on the
stack obeys that format, rather than just assuming that that it already has that format.
In bug 141332, I want it to assume rather than speculate. That also happens to be more
intuitive; I don't think I was wrong to expect that.
- The node I really want is GetLocal. I'm just getting the value of the local and I don't
want to do anything else.
- Maybe it would be easier if we just used GetLocal for all of the cases where we currently
use GetArgument.
This changes the FTL to do argument speculations in the prologue just like the DFG does.
This brings some consistency to our system, and allows us to get rid of the GetArgument
node. The speculations that the FTL must do are now made explicit in the m_argumentFormats
vector in DFG::Graph. This has natural DCE behavior: even if all uses of the argument are
dead we will still speculate. We already have safeguards to ensure we only speculate if
there are uses that benefit from speculation (which is a much more conservative criterion
than DCE).
* dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
* dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
* dfg/DFGDCEPhase.cpp:
(JSC::DFG::DCEPhase::run):
* dfg/DFGDoesGC.cpp:
(JSC::DFG::doesGC):
* dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
* dfg/DFGFlushFormat.h:
(JSC::DFG::typeFilterFor):
* dfg/DFGGraph.cpp:
(JSC::DFG::Graph::dump):
* dfg/DFGGraph.h:
(JSC::DFG::Graph::valueProfileFor):
(JSC::DFG::Graph::methodOfGettingAValueProfileFor):
* dfg/DFGInPlaceAbstractState.cpp:
(JSC::DFG::InPlaceAbstractState::initialize):
* dfg/DFGNode.cpp:
(JSC::DFG::Node::hasVariableAccessData):
* dfg/DFGNodeType.h:
* dfg/DFGOSRAvailabilityAnalysisPhase.cpp:
(JSC::DFG::OSRAvailabilityAnalysisPhase::run):
(JSC::DFG::LocalOSRAvailabilityCalculator::executeNode):
* dfg/DFGPredictionPropagationPhase.cpp:
(JSC::DFG::PredictionPropagationPhase::propagate):
* dfg/DFGPutLocalSinkingPhase.cpp:
* dfg/DFGSSAConversionPhase.cpp:
(JSC::DFG::SSAConversionPhase::run):
* dfg/DFGSafeToExecute.h:
(JSC::DFG::safeToExecute):
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* ftl/FTLCapabilities.cpp:
(JSC::FTL::canCompile):
* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::lower):
(JSC::FTL::LowerDFGToLLVM::compileNode):
(JSC::FTL::LowerDFGToLLVM::compileGetLocal):
(JSC::FTL::LowerDFGToLLVM::compileGetArgument): Deleted.
* tests/stress/dead-speculating-argument-use.js: Added.
(foo):
(o.valueOf):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180160
268f45cc-cd09-0410-ab3c-
d52691b4dbfc