WebKit-https.git
6 years agoMove some RenderObject member functions to RenderElement.
akling@apple.com [Sun, 26 Oct 2014 22:25:00 +0000 (22:25 +0000)]
Move some RenderObject member functions to RenderElement.
<https://webkit.org/b/138085>

Reviewed by Chris Dumez.

Move these two functions to RenderElement:

    - handleDynamicFloatPositionChange()
    - removeAnonymousWrappersForInlinesIfNecessary()

Also make childBecameNonInline() take a RenderElement& since
that's all we ever pass to it.

* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::childBecameNonInline):
* rendering/RenderBlock.h:
* rendering/RenderBoxModelObject.h:
(WebCore::RenderBoxModelObject::childBecameNonInline):
* rendering/RenderElement.cpp:
(WebCore::RenderElement::handleDynamicFloatPositionChange):
(WebCore::RenderElement::removeAnonymousWrappersForInlinesIfNecessary):
* rendering/RenderElement.h:
* rendering/RenderInline.cpp:
(WebCore::RenderInline::childBecameNonInline):
* rendering/RenderInline.h:
* rendering/RenderObject.cpp:
(WebCore::RenderObject::handleDynamicFloatPositionChange): Deleted.
(WebCore::RenderObject::removeAnonymousWrappersForInlinesIfNecessary): Deleted.
* rendering/RenderObject.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@175211 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoMove continuation teardown from subclasses to RenderBoxModelObject.
akling@apple.com [Sun, 26 Oct 2014 20:20:31 +0000 (20:20 +0000)]
Move continuation teardown from subclasses to RenderBoxModelObject.
<https://webkit.org/b/138081>

Reviewed by Antti Koivisto.

Let RenderBoxModelObject::willBeDestroyed() tear down any continuation
instead of having every subclass do this themselves.

Also added a RenderElement bit tracking whether the renderer has a
continuation. This avoids a hash lookup every time we destroy a
RenderBoxModelObject that didn't have a continuation.

* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::willBeDestroyed):
* rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::willBeDestroyed):
* rendering/RenderBoxModelObject.cpp:
(WebCore::continuationMap):
(WebCore::RenderBoxModelObject::willBeDestroyed):
(WebCore::RenderBoxModelObject::continuation):
(WebCore::RenderBoxModelObject::setContinuation):
* rendering/RenderElement.cpp:
(WebCore::RenderElement::RenderElement):
* rendering/RenderElement.h:
(WebCore::RenderElement::setHasContinuation):
(WebCore::RenderElement::hasContinuation):
* rendering/RenderInline.cpp:
(WebCore::RenderInline::willBeDestroyed):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@175210 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoRemove a useless variable from SelectorCodeGenerator::generateElementMatchesSelectorL...
benjamin@webkit.org [Sun, 26 Oct 2014 05:47:13 +0000 (05:47 +0000)]
Remove a useless variable from SelectorCodeGenerator::generateElementMatchesSelectorList()
https://bugs.webkit.org/show_bug.cgi?id=138076

Reviewed by Alexey Proskuryakov.

* cssjit/SelectorCompiler.cpp:
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementMatchesSelectorList):
The variable elementAddressRegisterIndex was just needed for debugging, it is useless now.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@175209 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[GTK] Unreviewed GTK gardening after r174685.
yoon@igalia.com [Sun, 26 Oct 2014 04:44:01 +0000 (04:44 +0000)]
[GTK] Unreviewed GTK gardening after r174685.

* platform/gtk/TestExpectations: Report new failures and update expectations.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@175208 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoFix link to Arch Linux Wiki
commit-queue@webkit.org [Sun, 26 Oct 2014 04:12:04 +0000 (04:12 +0000)]
Fix link to Arch Linux Wiki
https://bugs.webkit.org/show_bug.cgi?id=138010

Patch by Raniere Silva <raniere@ime.unicamp.br> on 2014-10-25
Reviewed by Benjamin Poulain.

* gtk/install-dependencies:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@175207 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoWeb Inspector: timelines should not count time elapsed while paused in the debugger
burg@cs.washington.edu [Sun, 26 Oct 2014 03:52:17 +0000 (03:52 +0000)]
Web Inspector: timelines should not count time elapsed while paused in the debugger
https://bugs.webkit.org/show_bug.cgi?id=136351

Unreviewed, follow-up fix after r175203. The debugger agent should not assume
that the inspector environment's stopwatch has already been started.

Source/JavaScriptCore:

* inspector/agents/InspectorDebuggerAgent.cpp:
(Inspector::InspectorDebuggerAgent::didPause): Check if the stopwatch isActive() before stopping.

Source/WTF:

* wtf/Stopwatch.h:
(WTF::Stopwatch::isActive): Added. Allow peeking at the stopwatch state.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@175206 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoLand Yosemite results for six editing/selection/vertical* tests.
ap@apple.com [Sun, 26 Oct 2014 03:25:55 +0000 (03:25 +0000)]
Land Yosemite results for six editing/selection/vertical* tests.

These failures used to be mostly hidden because of bug 138070, now they are visible.
The change is due to different fonts.

* platform/mac-mavericks/editing/selection/vertical-lr-ltr-extend-line-backward-br-expected.txt: Copied from LayoutTests/platform/mac/editing/selection/vertical-lr-ltr-extend-line-backward-br-expected.txt.
* platform/mac-mavericks/editing/selection/vertical-lr-ltr-extend-line-forward-br-expected.txt: Copied from LayoutTests/platform/mac/editing/selection/vertical-lr-ltr-extend-line-forward-br-expected.txt.
* platform/mac-mavericks/editing/selection/vertical-rl-ltr-extend-line-backward-br-expected.txt: Copied from LayoutTests/platform/mac/editing/selection/vertical-rl-ltr-extend-line-backward-br-expected.txt.
* platform/mac-mavericks/editing/selection/vertical-rl-ltr-extend-line-backward-p-expected.txt: Copied from LayoutTests/platform/mac/editing/selection/vertical-rl-ltr-extend-line-backward-p-expected.txt.
* platform/mac-mavericks/editing/selection/vertical-rl-ltr-extend-line-forward-br-expected.txt: Copied from LayoutTests/platform/mac/editing/selection/vertical-rl-ltr-extend-line-forward-br-expected.txt.
* platform/mac-mavericks/editing/selection/vertical-rl-ltr-extend-line-forward-p-expected.txt: Copied from LayoutTests/platform/mac/editing/selection/vertical-rl-ltr-extend-line-forward-p-expected.txt.
* platform/mac/editing/selection/vertical-lr-ltr-extend-line-backward-br-expected.png: Added.
* platform/mac/editing/selection/vertical-lr-ltr-extend-line-backward-br-expected.txt:
* platform/mac/editing/selection/vertical-lr-ltr-extend-line-forward-br-expected.png: Added.
* platform/mac/editing/selection/vertical-lr-ltr-extend-line-forward-br-expected.txt:
* platform/mac/editing/selection/vertical-rl-ltr-extend-line-backward-br-expected.png: Added.
* platform/mac/editing/selection/vertical-rl-ltr-extend-line-backward-br-expected.txt:
* platform/mac/editing/selection/vertical-rl-ltr-extend-line-backward-p-expected.png: Added.
* platform/mac/editing/selection/vertical-rl-ltr-extend-line-backward-p-expected.txt:
* platform/mac/editing/selection/vertical-rl-ltr-extend-line-forward-br-expected.png: Added.
* platform/mac/editing/selection/vertical-rl-ltr-extend-line-forward-br-expected.txt:
* platform/mac/editing/selection/vertical-rl-ltr-extend-line-forward-p-expected.png: Added.
* platform/mac/editing/selection/vertical-rl-ltr-extend-line-forward-p-expected.txt:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@175205 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoTest regressions are not detected when image result is missing
ap@apple.com [Sat, 25 Oct 2014 23:29:51 +0000 (23:29 +0000)]
Test regressions are not detected when image result is missing
https://bugs.webkit.org/show_bug.cgi?id=138070

Reviewed by Simon Fraser.

* Scripts/webkitpy/layout_tests/models/test_run_results.py:
* Scripts/webkitpy/layout_tests/views/buildbot_results.py:
Count these as regressions, not as flaky tests.

* Scripts/webkitpy/port/test.py:
* Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py:
Test it.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@175204 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoWeb Inspector: timelines should not count time elapsed while paused in the debugger
burg@cs.washington.edu [Sat, 25 Oct 2014 22:05:57 +0000 (22:05 +0000)]
Web Inspector: timelines should not count time elapsed while paused in the debugger
https://bugs.webkit.org/show_bug.cgi?id=136351

Reviewed by Timothy Hatcher.

Source/JavaScriptCore:

Now that we have a stopwatch to provide pause-aware timing data, we can remove the
profiler's handling of debugger pause/continue callbacks. The debugger agent accounts
for suspended execution by pausing and resuming the stopwatch.

* API/JSProfilerPrivate.cpp:
(JSStartProfiling): Use a fresh stopwatch when profiling from the JSC API.
* inspector/InspectorEnvironment.h:
* inspector/JSGlobalObjectInspectorController.cpp:
(Inspector::JSGlobalObjectInspectorController::JSGlobalObjectInspectorController):
(Inspector::JSGlobalObjectInspectorController::executionStopwatch):
* inspector/JSGlobalObjectInspectorController.h:
* inspector/ScriptDebugServer.cpp:
(Inspector::ScriptDebugServer::handlePause):
* inspector/agents/InspectorDebuggerAgent.cpp:
(Inspector::InspectorDebuggerAgent::didPause):
(Inspector::InspectorDebuggerAgent::breakpointActionProbe):
(Inspector::InspectorDebuggerAgent::didContinue):
* inspector/agents/InspectorDebuggerAgent.h:
* profiler/LegacyProfiler.cpp:
(JSC::LegacyProfiler::profiler): Use nullptr.
(JSC::LegacyProfiler::startProfiling): Hand off a stopwatch to the profile generator.
(JSC::LegacyProfiler::stopProfiling): Use nullptr.
(JSC::LegacyProfiler::didPause): Deleted.
(JSC::LegacyProfiler::didContinue): Deleted.
* profiler/LegacyProfiler.h:
* profiler/Profile.cpp: The root node should always have a start time of 0.0.
(JSC::Profile::Profile):
* profiler/ProfileGenerator.cpp: Remove debugger pause/continue callbacks and the
timestamp member that was used to track time elapsed by the debugger. Just use the
stopwatch's elapsed times to generate start/elapsed times for function calls.

(JSC::ProfileGenerator::create):
(JSC::ProfileGenerator::ProfileGenerator):
(JSC::AddParentForConsoleStartFunctor::operator()): The parent node of |console.profile|
should have a start time of 0.0, since it represents the starting node of profiling.

(JSC::ProfileGenerator::beginCallEntry):
(JSC::ProfileGenerator::endCallEntry):
(JSC::ProfileGenerator::didPause): Deleted.
(JSC::ProfileGenerator::didContinue): Deleted.
* profiler/ProfileGenerator.h:

Source/WebCore:

To avoid counting time elapsed while the debugger is paused, timeline records should
keep track of time elapsed since the start of timeline capturing, rather than wall clock
timestamps. We can easily compute elapsed time by sharing a Stopwatch instance through the
inspector environment. The stopwatch runs with timelines and is paused with the debugger,
so subsequent time measurements will not include time elapsed while the debugger is paused.

This refactoring is safe because start and end times are only used to graph records; the
timestamp's actual value is irrelevant and is not displayed in the user interface. Date
timestamps are still included with network-related records as part of their header data.

No new tests, because we cannot reliably test timing changes induced by debugger pauses.
It is possible for records to accrue time before the debugger pauses or after it resumes.

* inspector/InspectorCSSAgent.cpp: Remove unnecessary include.
* inspector/InspectorController.cpp:
(WebCore::InspectorController::InspectorController):
(WebCore::InspectorController::executionStopwatch): Add a shared stopwatch.
* inspector/InspectorController.h:
* inspector/InspectorPageAgent.cpp:
(WebCore::InspectorPageAgent::timestamp): Redirect to the shared stopwatch.
(WebCore::InspectorPageAgent::domContentEventFired):
(WebCore::InspectorPageAgent::loadEventFired):
* inspector/InspectorPageAgent.h:
* inspector/InspectorResourceAgent.cpp:
(WebCore::InspectorResourceAgent::timestamp): Redirect to the shared stopwatch.
(WebCore::InspectorResourceAgent::willSendRequest):
(WebCore::InspectorResourceAgent::didReceiveResponse):
(WebCore::InspectorResourceAgent::didReceiveData):
(WebCore::InspectorResourceAgent::didFinishLoading):
(WebCore::InspectorResourceAgent::didFailLoading):
(WebCore::InspectorResourceAgent::didLoadResourceFromMemoryCache):
(WebCore::InspectorResourceAgent::willSendWebSocketHandshakeRequest):
(WebCore::InspectorResourceAgent::didReceiveWebSocketHandshakeResponse):
(WebCore::InspectorResourceAgent::didCloseWebSocket):
(WebCore::InspectorResourceAgent::didReceiveWebSocketFrame):
(WebCore::InspectorResourceAgent::didSendWebSocketFrame):
(WebCore::InspectorResourceAgent::didReceiveWebSocketFrameError):
* inspector/InspectorResourceAgent.h:
* inspector/InspectorTimelineAgent.cpp:
(WebCore::InspectorTimelineAgent::internalStart): Start and stop the stopwatch with timelines.
(WebCore::InspectorTimelineAgent::internalStop):
(WebCore::InspectorTimelineAgent::timestamp): Redirect to the shared stopwatch.
(WebCore::startProfiling):
(WebCore::InspectorTimelineAgent::startFromConsole):
(WebCore::InspectorTimelineAgent::willCallFunction):
(WebCore::InspectorTimelineAgent::willEvaluateScript):
(WebCore::TimelineTimeConverter::reset): Deleted.
* inspector/InspectorTimelineAgent.h:
(WebCore::TimelineTimeConverter::TimelineTimeConverter): Deleted.
(WebCore::TimelineTimeConverter::fromMonotonicallyIncreasingTime): Deleted.
(WebCore::InspectorTimelineAgent::timeConverter): Deleted.
* inspector/TimelineRecordFactory.cpp:
* inspector/WorkerInspectorController.cpp:
(WebCore::WorkerInspectorController::WorkerInspectorController):
(WebCore::WorkerInspectorController::executionStopwatch): Add a shared stopwatch.
* inspector/WorkerInspectorController.h:

Source/WebInspectorUI:

Don't update the timeline's current time when the debugger is paused.

Start and end times for timeline records are now in seconds elapsed since timeline
recording started, rather than milliseconds since the epoch. Also convert code that
tracks page/resource load timings to use elapsed times rather than timestamps.

Add a workaround to preserve compatibility with old backends. Convert legacy timestamps
in multiple agents to elapsed times.

* UserInterface/Controllers/FrameResourceManager.js:
(WebInspector.FrameResourceManager.prototype.resourceRequestWillBeSent):
(WebInspector.FrameResourceManager.prototype.resourceRequestWasServedFromMemoryCache):
(WebInspector.FrameResourceManager.prototype.resourceRequestDidReceiveResponse):
(WebInspector.FrameResourceManager.prototype.resourceRequestDidReceiveData):
(WebInspector.FrameResourceManager.prototype.resourceRequestDidFinishLoading):
(WebInspector.FrameResourceManager.prototype.resourceRequestDidFailLoading):
(WebInspector.FrameResourceManager.prototype._addNewResourceToFrame):
* UserInterface/Controllers/ProbeManager.js:
* UserInterface/Controllers/TimelineManager.js:
(WebInspector.TimelineManager.prototype.computeElapsedTime): Forward to the active TimelineRecording.
(WebInspector.TimelineManager.prototype.eventRecorded.processRecord):
(WebInspector.TimelineManager.prototype.eventRecorded):
(WebInspector.TimelineManager.prototype.pageDidLoad):
(WebInspector.TimelineManager.prototype._loadNewRecording):
* UserInterface/Models/Probe.js:
(WebInspector.ProbeSample):
* UserInterface/Models/Resource.js:
(WebInspector.Resource.prototype.updateForRedirectResponse):
(WebInspector.Resource.prototype.updateForResponse):
(WebInspector.Resource.prototype.increaseSize):
(WebInspector.Resource.prototype.markAsFinished):
(WebInspector.Resource.prototype.markAsFailed):
(WebInspector.Resource.prototype.revertMarkAsFinished):
* UserInterface/Models/TimelineRecording.js:
(WebInspector.TimelineRecording.prototype.computeElapsedTime):
* UserInterface/Views/TimelineContentView.js:
(WebInspector.TimelineContentView.prototype._debuggerPaused):
(WebInspector.TimelineContentView.prototype._debuggerResumed):

Source/WTF:

* WTF.vcxproj/WTF.vcxproj:
* WTF.vcxproj/WTF.vcxproj.filters:
* WTF.xcodeproj/project.pbxproj:
* wtf/CMakeLists.txt:
* wtf/Stopwatch.h: Added. This implements a refcounted monotonic stopwatch.
(WTF::Stopwatch::create):
(WTF::Stopwatch::Stopwatch):
(WTF::Stopwatch::reset):
(WTF::Stopwatch::start):
(WTF::Stopwatch::stop):
(WTF::Stopwatch::elapsedTime):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@175203 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoAdd Mavericks results for platform/mac/editing/spelling/delete-autocorrected-word...
ap@apple.com [Sat, 25 Oct 2014 19:58:14 +0000 (19:58 +0000)]
Add Mavericks results for platform/mac/editing/spelling/delete-autocorrected-word-2.html, too.

Yosemite, Mavericks and Mountain Lion all have different results.

* platform/mac-mavericks/platform/mac/editing/spelling/delete-autocorrected-word-2-expected.txt: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@175202 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoUpdate Yosemite results for platform/mac/editing/spelling/delete-autocorrected-word...
ap@apple.com [Sat, 25 Oct 2014 19:25:23 +0000 (19:25 +0000)]
Update Yosemite results for platform/mac/editing/spelling/delete-autocorrected-word-2.html.

Looks like this got confused during Yosemite tests landing.

This test is currently marked as failing on WK2, but it passed for me, so maybe we
can mark it as passing there too. Tracked as bug 105616.

* platform/mac/editing/spelling/delete-autocorrected-word-2-expected.png:
* platform/mac/editing/spelling/delete-autocorrected-word-2-expected.txt:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@175201 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoFix builds using the public SDK.
mitz@apple.com [Sat, 25 Oct 2014 19:21:12 +0000 (19:21 +0000)]
Fix builds using the public SDK.

* platform/spi/cocoa/NSExtensionSPI.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@175200 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoUpdate results for compositing/rtl/rtl-fixed-overflow-scrolled.html.
ap@apple.com [Sat, 25 Oct 2014 19:10:28 +0000 (19:10 +0000)]
Update results for compositing/rtl/rtl-fixed-overflow-scrolled.html.

Prior to Yosemite results landing, this test was marked as failing on WK2, and its
results matched WK1. It got changed several times during the merge, so it ended
up being marked as failing on WK1, but with WK1 results landed.

Let's land WK2 results and keep testing on WK2. Also, Mavericks results were no different
from Yosemite.

* platform/mac-mavericks/compositing/rtl/rtl-fixed-overflow-scrolled-expected.png: Removed.
* platform/mac-mavericks/compositing/rtl/rtl-fixed-overflow-scrolled-expected.txt: Removed.
* platform/mac/compositing/rtl/rtl-fixed-overflow-scrolled-expected.png: Copied from LayoutTests/compositing/rtl/rtl-fixed-overflow-scrolled-expected.png.
* platform/mac/compositing/rtl/rtl-fixed-overflow-scrolled-expected.txt:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@175199 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoClamp wordSpacing percentage value.
zalan@apple.com [Sat, 25 Oct 2014 02:37:41 +0000 (02:37 +0000)]
Clamp wordSpacing percentage value.
https://bugs.webkit.org/show_bug.cgi?id=129350.

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2014-10-24
Reviewed by Zalan Bujtas.

Source/WebCore:

When the CSS wordSpacing property is percentage, its value has to be within the
pre-defined min/max values for the CSS length type. This is done the same way
the wordSpacing of type <length> is handled.

Tests: css3/infinite-word-spacing.html.

Move the definitions of minValueForCssLength and maxValueForCssLength from the
.cpp file to the .h file.
* css/CSSPrimitiveValue.cpp:
* css/CSSPrimitiveValue.h:

Clamp the wordSpacing value to minValueForCssLength and maxValueForCssLength when
its type is percentage.
* css/DeprecatedStyleBuilder.cpp:
(WebCore::ApplyPropertyWordSpacing::applyValue):

LayoutTests:

Make sure that setting the CSS style wordSpacing property to very huge percentage
value and blending this value with other values for animating key frames does
not assert or crash. The expectation is to have this huge value to be clamped to
the pre-defined min/max values for the CSS length type. So when blending the clamped
value with other wordSpacing values, the result can't be NaN. This should be very
similar to the case when it is set to a huge <length> value.

* css3/infinite-word-spacing-expected.txt: Added.
* css3/infinite-word-spacing.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@175197 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoFix the iOS build
benjamin@webkit.org [Sat, 25 Oct 2014 02:15:31 +0000 (02:15 +0000)]
Fix the iOS build

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-10-24

Source/WebKit/mac:

* Configurations/WebKitLegacy.xcconfig:
* WebView/WebView.mm:

Source/WebKit2:

* Configurations/WebKit.xcconfig:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@175196 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoUpdate Yosemite results for fast/block/float/overhanging-tall-block.html for
ap@apple.com [Sat, 25 Oct 2014 00:12:22 +0000 (00:12 +0000)]
Update Yosemite results for fast/block/float/overhanging-tall-block.html for
font size differences.

The test fails pixel results, filed bug 138065 to track that.

* platform/mac-mavericks/fast/block/float: Added.
* platform/mac-mavericks/fast/block/float/overhanging-tall-block-expected.png: Copied from LayoutTests/platform/mac/fast/block/float/overhanging-tall-block-expected.png.
* platform/mac-mavericks/fast/block/float/overhanging-tall-block-expected.txt: Copied from LayoutTests/platform/mac/fast/block/float/overhanging-tall-block-expected.txt.
* platform/mac/fast/block/float/overhanging-tall-block-expected.txt:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@175194 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago_actionMenuItemsForHitTestResult should also take a type indicating what the menu
bdakin@apple.com [Fri, 24 Oct 2014 23:51:47 +0000 (23:51 +0000)]
_actionMenuItemsForHitTestResult should also take a type indicating what the menu
was built for
https://bugs.webkit.org/show_bug.cgi?id=138063

Reviewed by Dan Bernstein.

New type enum that can be used by clients.
* Shared/API/c/WKActionMenuTypes.h: Added.

Remove the old SPI and add the new.
* UIProcess/API/Cocoa/WKViewPrivate.h:
* UIProcess/API/mac/WKView.mm:
(-[WKView _actionMenuItemsForHitTestResult:withType:defaultActionMenuItems:]):
(-[WKView _actionMenuItemsForHitTestResult:defaultActionMenuItems:]): Deleted.

Now keep an ivar for the type.
* UIProcess/mac/WKActionMenuController.h:

Create a category for the old SPI so that we can still call it if clients have
implemented it.
* UIProcess/mac/WKActionMenuController.mm:
(-[WKActionMenuController initWithPage:view:]):
(-[WKActionMenuController didCloseMenu:withEvent:]):
(imageForResource:name::if):
(-[WKActionMenuController _updateActionMenuItems]):
* WebKit2.xcodeproj/project.pbxproj:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@175193 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoUpdate media test results for Yosemite.
ap@apple.com [Fri, 24 Oct 2014 23:51:17 +0000 (23:51 +0000)]
Update media test results for Yosemite.

media/controls-styling.html appears to actually fail, filed bug 138064 about that.
media/video-zoom-controls.html results are not great; Dean reportedly has a fix for that.

* platform/mac-mavericks/media/controls-styling-expected.png: Copied from LayoutTests/platform/mac/media/controls-styling-expected.png.
* platform/mac-mavericks/media/controls-styling-expected.txt: Copied from LayoutTests/platform/mac/media/controls-styling-expected.txt.
* platform/mac-mavericks/media/video-zoom-controls-expected.png: Copied from LayoutTests/platform/mac/media/video-zoom-controls-expected.png.
* platform/mac-mavericks/media/video-zoom-controls-expected.txt: Copied from LayoutTests/platform/mac/media/video-zoom-controls-expected.txt.
* platform/mac/media/controls-styling-expected.png:
* platform/mac/media/controls-styling-expected.txt:
* platform/mac/media/video-zoom-controls-expected.png:
* platform/mac/media/video-zoom-controls-expected.txt:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@175192 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoRemove MountainLion results that I incorrectly copied. These are the same as Mavericks.
ap@apple.com [Fri, 24 Oct 2014 23:13:57 +0000 (23:13 +0000)]
Remove MountainLion results that I incorrectly copied. These are the same as Mavericks.

* platform/mac-mountainlion/fast/writing-mode: Removed.
* platform/mac-mountainlion/fast/writing-mode/Kusa-Makura-background-canvas-expected.png: Removed.
* platform/mac-mountainlion/fast/writing-mode/Kusa-Makura-background-canvas-expected.txt: Removed.
* platform/mac-mountainlion/mathml: Removed.
* platform/mac-mountainlion/mathml/opentype: Removed.
* platform/mac-mountainlion/mathml/opentype/opentype-stretchy-horizontal-expected.txt: Removed.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@175191 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoShare sheet doesn't attach to the window
timothy_horton@apple.com [Fri, 24 Oct 2014 23:10:30 +0000 (23:10 +0000)]
Share sheet doesn't attach to the window
https://bugs.webkit.org/show_bug.cgi?id=138062
<rdar://problem/18767397>

Reviewed by Beth Dakin.

* UIProcess/mac/WKActionMenuController.h:
WKActionMenuController is now a NSSharingService{Picker}Delegate.

* UIProcess/mac/WKActionMenuController.mm:
(-[WKActionMenuController _defaultMenuItemsForImage]):
Set us up as the NSSharingServicePicker delegate.

(-[WKActionMenuController sharingServicePicker:delegateForSharingService:]):
Set us up as the NSSharingService delegate.

(-[WKActionMenuController sharingService:sourceWindowForShareItems:sharingContentScope:]):
Return the appropriate window to attach to.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@175190 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoAdd Conrad Shultz to the contributors list.
timothy_horton@apple.com [Fri, 24 Oct 2014 23:03:34 +0000 (23:03 +0000)]
Add Conrad Shultz to the contributors list.

* Scripts/webkitpy/common/config/contributors.json:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@175189 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoAbstractify WebOriginDataManager to support arbitrary ChildProcess supplements.
jer.noble@apple.com [Fri, 24 Oct 2014 23:01:54 +0000 (23:01 +0000)]
Abstractify WebOriginDataManager to support arbitrary ChildProcess supplements.
https://bugs.webkit.org/show_bug.cgi?id=137993

Reviewed by Brady Eidson.

To allow different ChildProcess subclasses to handle listing and deletion of origin
data, make WebOriginDataManager more generic by having a supplement implement the
details, leaving WebOriginDataManager to deal with cross-process messaging.

De-virtualize AsyncTask, allowing a task to be created by passing in a
function<void()>, rather than an object, method, and arguments.

* Shared/AsyncTask.h:
(WebKit::AsyncTask::AsyncTask):
(WebKit::AsyncTask::performTask):
(WebKit::AsyncTask::~AsyncTask): Deleted.

Add a new virtual base class, to be implemented by various ChildProcesses, which
WebOriginDataManager will use to implement listing and deletion requests.

* WebProcess/OriginData/WebOriginDataManager.h:
* WebProcess/OriginData/WebOriginDataManagerSupplement.h: Added.
(WebKit::WebOriginDataManagerSupplement::WebOriginDataManagerSupplement):
(WebKit::WebOriginDataManagerSupplement::~WebOriginDataManagerSupplement):
(WebKit::WebOriginDataManagerSupplement::getOrigins):
(WebKit::WebOriginDataManagerSupplement::deleteEntriesForOrigin):
(WebKit::WebOriginDataManagerSupplement::deleteEntriesModifiedBetweenDates):
(WebKit::WebOriginDataManagerSupplement::deleteAllEntries):
* WebKit2.xcodeproj/project.pbxproj:

WebOriginDataManager doesn't need to be a ChildSupplement. Remove the DatabaseProcess-
specific implementations for its message handlers and replace with clean, generic calls
to its supplement. Because these supplements may want to respond to the request
asynchronously, pass a completion function in to be called by the supplement once its
work is complete.

* WebProcess/OriginData/WebOriginDataManager.cpp:
(WebKit::WebOriginDataManager::WebOriginDataManager):
(WebKit::WebOriginDataManager::getOrigins):
(WebKit::WebOriginDataManager::deleteEntriesForOrigin):
(WebKit::WebOriginDataManager::deleteEntriesModifiedBetweenDates):
(WebKit::WebOriginDataManager::deleteAllEntries):
(WebKit::WebOriginDataManager::supplementName): Deleted.

DatabaseProcess already uses WebOriginDataManager, so it will be the first process
to fall under the heel of the new regime. DatabaseProcess will subclass
WebOriginDataManagerSupplement, and pass itself in twice to the WebOriginDataManager
constructor. Create a lambda-based AsyncTask for each request, and call the completion
function when each request is complete.

* DatabaseProcess/DatabaseProcess.cpp:
(WebKit::DatabaseProcess::DatabaseProcess):
(WebKit::DatabaseProcess::getIndexedDatabaseOrigins):
(WebKit::DatabaseProcess::deleteIndexedDatabaseEntriesForOrigin):
(WebKit::DatabaseProcess::deleteIndexedDatabaseEntriesModifiedBetweenDates):
(WebKit::DatabaseProcess::deleteAllIndexedDatabaseEntries):
(WebKit::DatabaseProcess::getOrigins):
(WebKit::DatabaseProcess::deleteEntriesForOrigin):
(WebKit::DatabaseProcess::deleteEntriesModifiedBetweenDates):
(WebKit::DatabaseProcess::deleteAllEntries):
(WebKit::DatabaseProcess::doGetIndexedDatabaseOrigins): Deleted.
(WebKit::DatabaseProcess::doDeleteIndexedDatabaseEntriesForOrigin): Deleted.
(WebKit::DatabaseProcess::doDeleteIndexedDatabaseEntriesModifiedBetweenDates): Deleted.
(WebKit::DatabaseProcess::doDeleteAllIndexedDatabaseEntries): Deleted.
* DatabaseProcess/DatabaseProcess.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@175188 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoVery large images crash in action menu code
bdakin@apple.com [Fri, 24 Oct 2014 22:27:27 +0000 (22:27 +0000)]
Very large images crash in action menu code
https://bugs.webkit.org/show_bug.cgi?id=138059
-and corresponding-
rdar://problem/18767859

Reviewed by Tim Horton.

If the HitTestResult failed to create and image, then don’t go for the image
action menu.
* UIProcess/mac/WKActionMenuController.mm:
(-[WKActionMenuController _defaultMenuItems]):

ShareableBitmap::createShareable() can fail. The result needs to be null-checked.
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::performActionMenuHitTestAtLocation):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@175187 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[Mac] Use modern loops in ResourceRequestCocoa.mm
cdumez@apple.com [Fri, 24 Oct 2014 22:24:30 +0000 (22:24 +0000)]
[Mac] Use modern loops in ResourceRequestCocoa.mm
https://bugs.webkit.org/show_bug.cgi?id=138052

Reviewed by Darin Adler.

Use modern loops in ResourceRequestCocoa.mm and leverage Objective-C's
fast enumeration.

No new tests, no behavior change.

* platform/network/cocoa/ResourceRequestCocoa.mm:
(WebCore::ResourceRequest::doUpdateResourceRequest):
- Use NSDictionary's block-based enumeration as we enumerate both keys
  and values and this is faster than using fast enumeration of the keys
  then calling [NSDictionary objectForKey:]
- Use Objective C's fast enumeration for
  contentDispositionEncodingFallbackArray as this is faster and shorter
  than index based access. Also use reserveCapacity() /
  uncheckedAppend() for m_responseContentDispositionEncodingFallbackArray
  as we know how many elements were are going to append in the common
  case.

(WebCore::ResourceRequest::doUpdatePlatformRequest):
- Use fast enumeration for [nsRequest allHTTPHeaderFields] dictionary
  keys instead of calling [NSDictionary allKeys] and then doing
  index-based iteration, to avoid copying the keys to a new array.
  Also do a forward enumeration instead of a reverse one. I don't see
  why a backward enumeration would be necessary here. We are not
  modifying the NSDictionary we are iterating over as
  [nsRequest allHTTPHeaderFields] makes a copy.
- Use a modern C++ loop for
  m_responseContentDispositionEncodingFallbackArray.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@175186 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoBuild fix.
bdakin@apple.com [Fri, 24 Oct 2014 22:01:00 +0000 (22:01 +0000)]
Build fix.

* UIProcess/mac/WKActionMenuController.h:
* UIProcess/mac/WKActionMenuController.mm:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@175185 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoBlindly try to fix all the builds.
timothy_horton@apple.com [Fri, 24 Oct 2014 21:51:10 +0000 (21:51 +0000)]
Blindly try to fix all the builds.

* UIProcess/mac/WKActionMenuController.h:
* UIProcess/mac/WKActionMenuController.mm:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@175184 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoBuild fix.
bdakin@apple.com [Fri, 24 Oct 2014 21:49:31 +0000 (21:49 +0000)]
Build fix.

* WebView/WebActionMenuController.mm:
(-[WebActionMenuController _openURLFromActionMenu:]):
(-[WebActionMenuController _addToReadingListFromActionMenu:]):
(-[WebActionMenuController _quickLookURLFromActionMenu:]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@175183 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoWebKit1 should support action menus
bdakin@apple.com [Fri, 24 Oct 2014 21:45:54 +0000 (21:45 +0000)]
WebKit1 should support action menus
https://bugs.webkit.org/show_bug.cgi?id=138032

Reviewed by Tim Horton.

This patch adds basic support for action menus and adds actions for links.

Helper class takes care of all of the action menu work. WebView will forward the
prepareForMenu: message, and then the helper class takes it from there.
* WebView/WebActionMenuController.h: Added.
* WebView/WebActionMenuController.mm: Added.
(-[WebActionMenuController webViewClosed]):
(-[WebActionMenuController prepareForMenu:withEvent:]):

Selectors for link actions.
(-[WebActionMenuController _openURLFromActionMenu:]):
(-[WebActionMenuController _addToReadingListFromActionMenu:]):
(-[WebActionMenuController _elementBoundingBoxFromDOMElement:]):
(-[WebActionMenuController _quickLookURLFromActionMenu:]):
(-[WebActionMenuController _createActionMenuItemForTag:withHitTestResult:]):
(webKitBundleImageNamed):
(-[WebActionMenuController _defaultMenuItemsForLink:]):
(-[WebActionMenuController _defaultMenuItemsForHitTestResult:]):

Tags for the action menu items.
* WebView/WebUIDelegatePrivate.h:
* WebView/WebView.mm:

Set the action menu if possible and create the controller.
(-[WebView _initWithFrame:frameName:groupName:]):
(-[WebView _close]):
(-[WebView prepareForMenu:withEvent:]):

WebViewData stores the WebActionMenuHelper
* WebView/WebViewData.h:
* WebView/WebViewData.mm:
(-[WebViewPrivate dealloc]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@175182 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoBlindly try to fix all the builds.
timothy_horton@apple.com [Fri, 24 Oct 2014 21:45:01 +0000 (21:45 +0000)]
Blindly try to fix all the builds.

* UIProcess/mac/WKActionMenuController.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@175181 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoBlindly try to fix the 32-bit build.
timothy_horton@apple.com [Fri, 24 Oct 2014 21:39:20 +0000 (21:39 +0000)]
Blindly try to fix the 32-bit build.

* UIProcess/mac/WKActionMenuController.h:
* UIProcess/mac/WKActionMenuController.mm:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@175180 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[Mac][WebKit2] Move action menu code into its own file
timothy_horton@apple.com [Fri, 24 Oct 2014 21:13:14 +0000 (21:13 +0000)]
[Mac][WebKit2] Move action menu code into its own file
https://bugs.webkit.org/show_bug.cgi?id=138034
<rdar://problem/18758758>

* UIProcess/mac/WKActionMenuController.mm:
(-[WKActionMenuController prepareForMenu:withEvent:]):
(-[WKActionMenuController _addImageToPhotos:]):
Review comments that were not previously addressed.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@175179 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[Mac][WebKit2] Move action menu code into its own file
timothy_horton@apple.com [Fri, 24 Oct 2014 21:08:20 +0000 (21:08 +0000)]
[Mac][WebKit2] Move action menu code into its own file
https://bugs.webkit.org/show_bug.cgi?id=138034
<rdar://problem/18758758>

Reviewed by Dan Bernstein.

* UIProcess/API/mac/WKView.mm:
(-[WKView initWithFrame:context:configuration:webView:]):
Make a WKActionMenuController if needed.

(-[WKView prepareForMenu:withEvent:]):
(-[WKView willOpenMenu:withEvent:]):
(-[WKView didCloseMenu:withEvent:]):
(-[WKView _didPerformActionMenuHitTest:]):
Forward these to WKActionMenuController.

(-[WKView _openURLFromActionMenu:]): Deleted.
(-[WKView _addToReadingListFromActionMenu:]): Deleted.
(-[WKView _quickLookURLFromActionMenu:]): Deleted.
(-[WKView _createActionMenuItemForTag:]): Deleted.
(webKitBundleImageNamed): Deleted.
(-[WKView _copyImage:]): Deleted.
(-[WKView _saveImageToDownloads:]): Deleted.
(temporaryPhotosDirectoryPath): Deleted.
(pathToPhotoOnDisk): Deleted.
(-[WKView _addImageToPhotos:]): Deleted.
(-[WKView _defaultMenuItemsForImage]): Deleted.
(-[WKView _defaultMenuItems]): Deleted.
(-[WKView _updateActionMenu]): Deleted.
Moved to WKActionMenuController.

* UIProcess/mac/WKActionMenuController.h: Added.
* UIProcess/mac/WKActionMenuController.mm: Added.
(-[WKActionMenuController initWithPage:view:]):
(-[WKActionMenuController prepareForMenu:withEvent:]):
(-[WKActionMenuController willOpenMenu:withEvent:]):
(-[WKActionMenuController didCloseMenu:withEvent:]):
(-[WKActionMenuController didPerformActionMenuHitTest:]):
(-[WKActionMenuController _defaultMenuItemsForLink]):
(-[WKActionMenuController _openURLFromActionMenu:]):
(-[WKActionMenuController _addToReadingListFromActionMenu:]):
(-[WKActionMenuController _quickLookURLFromActionMenu:]):
(-[WKActionMenuController _defaultMenuItemsForImage]):
(-[WKActionMenuController _copyImage:]):
(-[WKActionMenuController _saveImageToDownloads:]):
(temporaryPhotosDirectoryPath):
(pathToPhotoOnDisk):
(-[WKActionMenuController _addImageToPhotos:]):
(-[WKActionMenuController _createActionMenuItemForTag:]):
(webKitBundleImageNamed):
(imageForResource:name::if):
(-[WKActionMenuController _updateActionMenuItems]):
Moved from WKView.

* WebKit2.xcodeproj/project.pbxproj:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@175178 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoReplace INT_MIN/MAX / kFixedPointDenominator with intMin/MaxForLayoutUnit.
zalan@apple.com [Fri, 24 Oct 2014 20:59:58 +0000 (20:59 +0000)]
Replace INT_MIN/MAX / kFixedPointDenominator with intMin/MaxForLayoutUnit.
https://bugs.webkit.org/show_bug.cgi?id=138047

Reviewed by Andreas Kling.

No change in functionality.

* css/CSSPrimitiveValue.cpp:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@175177 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[Win] More unreviewed gardening/rebaselining of Windows tests.
roger_fong@apple.com [Fri, 24 Oct 2014 20:26:44 +0000 (20:26 +0000)]
[Win] More unreviewed gardening/rebaselining of Windows tests.
* platform/win/TestExpectations:
* platform/win/fast/repaint/select-option-background-color-expected.txt:
* platform/win/fast/repaint/slider-thumb-drag-release-expected.txt: Added.
* platform/win/fast/repaint/slider-thumb-float-expected.txt: Added.
* platform/win/fast/replaced/table-percent-height-expected.txt: Added.
* platform/win/fast/replaced/three-selects-break-expected.txt: Added.
* platform/win/fast/table/remove-td-display-none-expected.txt:
* platform/win/fast/transforms: Added.
* platform/win/fast/transforms/transformed-focused-text-input-expected.txt: Added.
* platform/win/platform/win/accessibility: Added.
* platform/win/platform/win/accessibility/option-element-position-and-size-expected.txt: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@175176 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoREGRESSION(r174877): WebProcess sends an empty Cookies HTTP header
ap@apple.com [Fri, 24 Oct 2014 20:23:31 +0000 (20:23 +0000)]
REGRESSION(r174877): WebProcess sends an empty Cookies HTTP header
https://bugs.webkit.org/show_bug.cgi?id=138053

Reviewed by Chris Dumez.

Fixes existing tests.

* platform/network/mac/CookieJarMac.mm: (WebCore::cookiesForSession): Restore the
behavior of returning a null string when there are no cookies.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@175175 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[Mac] Use NSString API in QuickLookMac::computeNeedsQuickLookResourceCachingQuirks()
cdumez@apple.com [Fri, 24 Oct 2014 20:12:44 +0000 (20:12 +0000)]
[Mac] Use NSString API in QuickLookMac::computeNeedsQuickLookResourceCachingQuirks()
https://bugs.webkit.org/show_bug.cgi?id=138039

Reviewed by Darin Adler.

Use NSString API in QuickLookMac::computeNeedsQuickLookResourceCachingQuirks()
for case-insensitive string comparison instead of converting to UTF-8 and then
using strcasecmp().

No new tests, no behavior change.

* platform/mac/QuickLookMac.mm:
(WebCore::QuickLookMac::computeNeedsQuickLookResourceCachingQuirks):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@175174 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoUpdate some results that were incorrect for Yosemite.
ap@apple.com [Fri, 24 Oct 2014 19:28:59 +0000 (19:28 +0000)]
Update some results that were incorrect for Yosemite.

* platform/mac-mavericks/fast/text/international/hindi-spacing-expected.png: Copied from LayoutTests/platform/mac/fast/text/international/hindi-spacing-expected.png.
* platform/mac-mavericks/fast/text/international/hindi-spacing-expected.txt: Copied from LayoutTests/platform/mac/fast/text/international/hindi-spacing-expected.txt.
* platform/mac-mavericks/fast/writing-mode: Added.
* platform/mac-mavericks/fast/writing-mode/Kusa-Makura-background-canvas-expected.png: Copied from LayoutTests/platform/mac/fast/writing-mode/Kusa-Makura-background-canvas-expected.png.
* platform/mac-mavericks/fast/writing-mode/Kusa-Makura-background-canvas-expected.txt: Copied from LayoutTests/platform/mac/fast/writing-mode/Kusa-Makura-background-canvas-expected.txt.
* platform/mac-mountainlion/fast/writing-mode: Added.
* platform/mac-mountainlion/fast/writing-mode/Kusa-Makura-background-canvas-expected.png: Copied from LayoutTests/platform/mac/fast/writing-mode/Kusa-Makura-background-canvas-expected.png.
* platform/mac-mountainlion/fast/writing-mode/Kusa-Makura-background-canvas-expected.txt: Copied from LayoutTests/platform/mac/fast/writing-mode/Kusa-Makura-background-canvas-expected.txt.
* platform/mac-mountainlion/mathml: Added.
* platform/mac-mountainlion/mathml/opentype: Added.
* platform/mac-mountainlion/mathml/opentype/opentype-stretchy-horizontal-expected.txt: Copied from LayoutTests/platform/mac/mathml/opentype/opentype-stretchy-horizontal-expected.txt.
* platform/mac-wk2/fast/writing-mode/Kusa-Makura-background-canvas-expected.png: Removed.
* platform/mac/fast/text/international/hindi-spacing-expected.png:
* platform/mac/fast/text/international/hindi-spacing-expected.txt:
* platform/mac/fast/writing-mode/Kusa-Makura-background-canvas-expected.png:
* platform/mac/fast/writing-mode/Kusa-Makura-background-canvas-expected.txt:
* platform/mac/mathml/opentype/opentype-stretchy-horizontal-expected.txt:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@175173 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoSimplified IndexingType's hasAnyArrayStorage().
mark.lam@apple.com [Fri, 24 Oct 2014 19:16:29 +0000 (19:16 +0000)]
Simplified IndexingType's hasAnyArrayStorage().
<https://webkit.org/b/138051>

Reviewed by Michael Saboff.

IndexingType's hasAnyArrayStorage() currently does subtraction of ArrayStorageShape
with the purpose of making non-ArrayStorage types underflow (with that subtraction)
and have a result that exceeds SlowPutArrayStorageShape.  What it is doing is
basically checking for a shape value that is greater equal to ArrayStorageShape.
We can just simplify the code as such.

Also added a comment to describe the structure of the bits in IndexingType.

* runtime/IndexingType.h:
(JSC::hasAnyArrayStorage):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@175172 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoAvoid unnecessary NSURLRequest copies in ResourceRequest::doUpdatePlatformRequest...
cdumez@apple.com [Fri, 24 Oct 2014 19:13:15 +0000 (19:13 +0000)]
Avoid unnecessary NSURLRequest copies in ResourceRequest::doUpdatePlatformRequest() / doUpdatePlatformHTTPBody()
https://bugs.webkit.org/show_bug.cgi?id=138049

Reviewed by Alexey Proskuryakov.

Avoid unnecessary NSURLRequest copies in ResourceRequest::doUpdatePlatformRequest()
/ doUpdatePlatformHTTPBody(). It turns out that about half the time, the
m_nsRequest member is already mutable so it is unnecessary to call
[NSURLRequest mutableCopy], we can just cast it to an NSMutableURLRequest* and
avoid copying.

This patch also moves the code to a new ensureMutableNSURLRequest() method to
avoid duplicating the logic.

I see that we spend ~21% less time in these 2 functions when loading
http://flickr.com/explore/ (39.6ms -> 31.2ms).

No new tests, no behavior change.

* platform/network/cf/ResourceRequest.h:
* platform/network/cocoa/ResourceRequestCocoa.mm:
(WebCore::ResourceRequest::ensureMutableNSURLRequest):
(WebCore::ResourceRequest::doUpdatePlatformRequest):
(WebCore::ResourceRequest::doUpdatePlatformHTTPBody):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@175171 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agofast/multicol/fixed-stack.html failing since introduction.
ap@apple.com [Fri, 24 Oct 2014 19:11:17 +0000 (19:11 +0000)]
fast/multicol/fixed-stack.html failing since introduction.
https://bugs.webkit.org/show_bug.cgi?id=132421

* platform/mac-wk1/TestExpectations: As of Yosemite, it's failing on mac-wk1 too.

* platform/gtk/TestExpectations: [ Pass ] is no longer needed, because we don't have
an entry in global TestExpectations now.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@175170 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoMove ComputeLength CSS properties to the new StyleBuilder
cdumez@apple.com [Fri, 24 Oct 2014 18:32:34 +0000 (18:32 +0000)]
Move ComputeLength CSS properties to the new StyleBuilder
https://bugs.webkit.org/show_bug.cgi?id=138036

Reviewed by Andreas Kling.

Move ComputeLength CSS properties from DeprecatedStyleBuilder to the
new StyleBuilder so that they are now generated. 3 Converters are
provided for these properties: ComputedLength / LineWidth / Spacing.

This is inspired by the following Blink revision by
<timloh@chromium.org>:
https://src.chromium.org/viewvc/blink?view=rev&revision=154012

No new tests, no behavior change.

* css/CSSPropertyNames.in:
* css/DeprecatedStyleBuilder.cpp:
(WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
(WebCore::ApplyPropertyComputeLength::setValue): Deleted.
(WebCore::ApplyPropertyComputeLength::applyValue): Deleted.
(WebCore::ApplyPropertyComputeLength::createHandler): Deleted.
* css/StyleBuilderConverter.h:
(WebCore::StyleBuilderConverter::convertComputedLength):
(WebCore::StyleBuilderConverter::convertLineWidth):
(WebCore::StyleBuilderConverter::convertSpacing):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@175169 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoMake ScriptWrappable's destructor protected instead of public
cdumez@apple.com [Fri, 24 Oct 2014 18:13:30 +0000 (18:13 +0000)]
Make ScriptWrappable's destructor protected instead of public
https://bugs.webkit.org/show_bug.cgi?id=138037

Reviewed by Andreas Kling.

Make ScriptWrappable's destructor protected instead of public as it is
not virtual and this class is subclassed a lot.

No new tests, no behavior change.

* bindings/js/ScriptWrappable.h:
(WebCore::ScriptWrappable::~ScriptWrappable):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@175168 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoAll plug-in tests fail on Yosemite WK1
ap@apple.com [Fri, 24 Oct 2014 17:25:24 +0000 (17:25 +0000)]
All plug-in tests fail on Yosemite WK1
https://bugs.webkit.org/show_bug.cgi?id=138040

Reviewed by Dan Bernstein.

Fix a symlink for WebKitPluginHost.app. There is also a broken symlink for WebKitPluginAgent,
which I don't know what to do about, but that seems harmless.

* WebKit.xcodeproj/project.pbxproj:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@175167 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agobuild.webkit.org/dashboard immediately retries a request to buildbot when the respons...
mitz@apple.com [Fri, 24 Oct 2014 17:03:53 +0000 (17:03 +0000)]
build.webkit.org/dashboard immediately retries a request to buildbot when the response is 404
https://bugs.webkit.org/show_bug.cgi?id=138046

Reviewed by Alexey Proskuryakov.

* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotQueue.js:
(BuildbotQueue.prototype._load): Only consider retrying immediately if the error code was
401. Otherwise, we’ll retry normally in 45 seconds.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@175166 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[Windows] Skip tests after removing SafariTheme that fail because background renders...
roger_fong@apple.com [Fri, 24 Oct 2014 09:12:41 +0000 (09:12 +0000)]
[Windows] Skip tests after removing SafariTheme that fail because background renders too dark.
https://bugs.webkit.org/show_bug.cgi?id=138042.
* platform/win/TestExpectations:
24  Roger Fong  <roger_fong@apple.com>

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@175165 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[Windows] Skip tests after removing SafariTheme that fail because borders now render...
roger_fong@apple.com [Fri, 24 Oct 2014 09:04:43 +0000 (09:04 +0000)]
[Windows] Skip tests after removing SafariTheme that fail because borders now render too dark.
https://bugs.webkit.org/show_bug.cgi?id=138041.
* platform/win/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@175164 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[Windows] More unreviewed gardening after getting rid of SafariTheme.
roger_fong@apple.com [Fri, 24 Oct 2014 08:59:30 +0000 (08:59 +0000)]
[Windows] More unreviewed gardening after getting rid of SafariTheme.
* platform/win/TestExpectations: Skip a handful of tests that were failing
on the Windows bots after removing SafariTheme for miscellaneous reasons.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@175163 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[Windows] More unreviewed gardening after getting rid of SafariTheme.
roger_fong@apple.com [Fri, 24 Oct 2014 08:51:07 +0000 (08:51 +0000)]
[Windows] More unreviewed gardening after getting rid of SafariTheme.
https://bugs.webkit.org/show_bug.cgi?id=138025
* platform/win/TestExpectations: These tests fail seemingly due to text size difference,
which consequently cause the text containers to be too larger as well.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@175162 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[Windows] More rebaselining of Windows tests after removing SafariTheme.
roger_fong@apple.com [Fri, 24 Oct 2014 08:43:12 +0000 (08:43 +0000)]
[Windows] More rebaselining of Windows tests after removing SafariTheme.
* platform/win/editing/selection/select-across-readonly-input-1-expected.txt:
* platform/win/editing/selection/select-across-readonly-input-2-expected.txt:
* platform/win/editing/selection/select-across-readonly-input-3-expected.txt:
* platform/win/fast/block/positioning/inline-block-relposition-expected.txt:
* platform/win/fast/canvas/fallback-content-expected.txt: Added.
* platform/win/fast/css/button-height-expected.txt:
* platform/win/fast/dom/HTMLInputElement: Added.
* platform/win/fast/dom/HTMLInputElement/input-slider-update-expected.txt: Added.
* platform/win/fast/dom/HTMLInputElement/input-slider-update-styled-expected.txt: Added.
* platform/win/fast/dom/tabindex-clamp-expected.txt: Added.
* platform/win/fast/dynamic/positioned-movement-with-positioned-children-expected.txt:
* platform/win/fast/html/details-no-summary4-expected.txt: Added.
* platform/win/fast/html/details-open-javascript-expected.txt: Added.
* platform/win/fast/html/details-open2-expected.txt: Added.
* platform/win/fast/html/details-open4-expected.txt: Added.
* platform/win/fast/html/details-replace-summary-child-expected.txt:
* platform/win/fast/html/details-replace-text-expected.txt:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@175161 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[GTK] Implement is_selected method on WebKitHitTestResult
commit-queue@webkit.org [Fri, 24 Oct 2014 07:09:57 +0000 (07:09 +0000)]
[GTK] Implement is_selected method on WebKitHitTestResult
https://bugs.webkit.org/show_bug.cgi?id=137110

Patch by Marcos Chavarría Teijeiro <chavarria1991@gmail.com> on 2014-10-24
Reviewed by Tim Horton.

Source/WebKit2:

Expose CONTEXT_SELECTION for WebKitHitTestResult.

* Shared/WebHitTestResult.cpp: Add is_selected field and getter for this field.
(WebKit::WebHitTestResult::Data::Data):
(WebKit::WebHitTestResult::Data::encode):
(WebKit::WebHitTestResult::Data::decode):
* Shared/WebHitTestResult.h:
(WebKit::WebHitTestResult::isSelected):
* UIProcess/API/gtk/WebKitHitTestResult.cpp: Add WEBKIT_HIT_TEST_RESULT_CONTEXT_SELECTION context and method to check it.
(webkitHitTestResultCreate):
(webkitHitTestResultCompare):
(webkit_hit_test_result_context_is_selection):
* UIProcess/API/gtk/WebKitHitTestResult.h:
* UIProcess/API/gtk/WebKitWebView.cpp: Modify context-menu callback to set the new context option.
(webkitWebViewPopulateContextMenu):
* UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add documentation about new function.

Tools:

Add tests for new context SELECTION on WebKitHitTestResult.

* TestWebKitAPI/Tests/WebKit2Gtk/TestContextMenu.cpp:
(testContextMenuDefaultMenu):
* TestWebKitAPI/Tests/WebKit2Gtk/TestUIClient.cpp:
(testWebViewMouseTarget):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@175160 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[GTK][Cairo] Remove GTK dependency of WidgetBackingStoreGtkX11
carlosgc@webkit.org [Fri, 24 Oct 2014 06:58:13 +0000 (06:58 +0000)]
[GTK][Cairo] Remove GTK dependency of WidgetBackingStoreGtkX11
https://bugs.webkit.org/show_bug.cgi?id=138004

Reviewed by Gustavo Noronha Silva.

Source/WebCore:

Rename all WidgetBackingStore* classes as
BackingStoreBackendCairo* since all of them are actually
BackingStore backends based on cairo, and move them from
platform/cairo and platform/gtk to platform/graphics/cairo.
BackingStoreBackendCairo is the base class that contains common
members like the surface and size. BackingStoreBackendCairoImpl is
the implementation using only cairo, and BackingStoreBackendCairoX11
using xlib. BackingStoreBackendCairoX11 receives all the X11
information it needs as constructor parameters, instead of using a
GtkWidget and GTK+ X11 API. BackingStoreBackendCairoImpl receives
the surface already created as constructor parameter, so that it
doesn't have any platform specific code now.

* PlatformEfl.cmake: Update compilation files.
* PlatformGTK.cmake: Ditto.
* platform/cairo/WidgetBackingStoreCairo.cpp: Removed.
* platform/graphics/cairo/BackingStoreBackendCairo.h: Renamed from Source/WebCore/platform/cairo/WidgetBackingStore.h.
(WebCore::BackingStoreBackendCairo::~BackingStoreBackendCairo):
(WebCore::BackingStoreBackendCairo::surface):
(WebCore::BackingStoreBackendCairo::size):
(WebCore::BackingStoreBackendCairo::BackingStoreBackendCairo):
* platform/graphics/cairo/BackingStoreBackendCairoImpl.cpp: Added.
(WebCore::BackingStoreBackendCairoImpl::BackingStoreBackendCairoImpl):
(WebCore::BackingStoreBackendCairoImpl::~BackingStoreBackendCairoImpl):
(WebCore::BackingStoreBackendCairoImpl::scroll):
* platform/graphics/cairo/BackingStoreBackendCairoImpl.h: Renamed from Source/WebCore/platform/cairo/WidgetBackingStoreCairo.h.
* platform/graphics/cairo/BackingStoreBackendCairoX11.cpp: Renamed from Source/WebCore/platform/gtk/WidgetBackingStoreGtkX11.cpp.
(WebCore::BackingStoreBackendCairoX11::BackingStoreBackendCairoX11):
(WebCore::BackingStoreBackendCairoX11::~BackingStoreBackendCairoX11):
(WebCore::BackingStoreBackendCairoX11::scroll):
* platform/graphics/cairo/BackingStoreBackendCairoX11.h: Renamed from Source/WebCore/platform/gtk/WidgetBackingStoreGtkX11.h.
* platform/graphics/cairo/CairoUtilities.cpp:
(WebCore::cairoSurfaceGetDeviceScale):
* platform/graphics/cairo/CairoUtilities.h:

Source/WebKit2:

* UIProcess/BackingStore.h: Rename m_backingStore as m_backend,
since it's a bit confusing that a BackingStore class has a
m_backingStore member and WidgetBackingStore has been renamed as
BackingStoreBackendCairo.
* UIProcess/cairo/BackingStoreCairo.cpp:
(WebKit::BackingStore::createBackend): Helper function to create
the BackingStore backend depending on the platform.
(WebKit::BackingStore::paint): Use m_backend instead of m_backingStore.
(WebKit::BackingStore::incorporateUpdate): Ditto.
(WebKit::BackingStore::scroll): Ditto.
(WebKit::createBackingStoreForGTK): Deleted.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@175159 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoWebContent crash at WebCore::RenderTextControl::textFormControlElement const.
zalan@apple.com [Fri, 24 Oct 2014 03:35:27 +0000 (03:35 +0000)]
WebContent crash at WebCore::RenderTextControl::textFormControlElement const.
https://bugs.webkit.org/show_bug.cgi?id=138035

Reviewed by Antti Koivisto.

NULL-check element().renderer() before using it.

* html/SearchInputType.cpp:
(WebCore::SearchInputType::didSetValueByUserEdit):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@175158 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoFix a bad find-and-replace in r175153
benjamin@webkit.org [Fri, 24 Oct 2014 03:00:35 +0000 (03:00 +0000)]
Fix a bad find-and-replace in r175153

Looks like I messed up the commit on landing.

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-10-23

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::didCommitLoadForFrame):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@175157 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoRemove HarfBuzzRun::create() factory function
gyuyoung.kim@samsung.com [Fri, 24 Oct 2014 02:12:23 +0000 (02:12 +0000)]
Remove HarfBuzzRun::create() factory function
https://bugs.webkit.org/show_bug.cgi?id=137945

Reviewed by Ryosuke Niwa.

As a step to use std::unique_ptr<>, this patch applies std::unique_ptr<> and std::make_unique<>.
Thus HarfBuzzRun::create() is needed no longer.

No new tests, no behavior changes.

* platform/graphics/harfbuzz/HarfBuzzShaper.cpp:
(WebCore::HarfBuzzShaper::collectHarfBuzzRuns):
* platform/graphics/harfbuzz/HarfBuzzShaper.h:
(WebCore::HarfBuzzShaper::HarfBuzzRun::create): Deleted.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@175156 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoUnreviewed iOS build fix
mmaxfield@apple.com [Fri, 24 Oct 2014 01:32:48 +0000 (01:32 +0000)]
Unreviewed iOS build fix

Patch by Myles C. Maxfield <mmaxfield@apple.com> on 2014-10-23

* editing/FrameSelection.cpp:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@175155 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[Mac] Optimize URL::createCFURL() for the common case
cdumez@apple.com [Fri, 24 Oct 2014 01:29:46 +0000 (01:29 +0000)]
[Mac] Optimize URL::createCFURL() for the common case
https://bugs.webkit.org/show_bug.cgi?id=138030

Reviewed by Alexey Proskuryakov.

Optimize URL::createCFURL() for the common case by adding a fast path
for when the URL String is already 8-bit (common case).
When the string is 8-bit, we don't need to copy the bytes into a
temporary buffer and we can construct the CFURLRef directly from it.

This makes URL::createCFURL() ~34% faster on my machine.

No new tests, no behavior change.

* platform/mac/URLMac.mm:
(WebCore::URL::createCFURL):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@175154 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[iOS WK2] If a page has the exact same VisibleContentRect as the page before, its...
benjamin@webkit.org [Fri, 24 Oct 2014 00:44:09 +0000 (00:44 +0000)]
[iOS WK2] If a page has the exact same VisibleContentRect as the page before, its VisibleContentRectUpdate can be ignored
https://bugs.webkit.org/show_bug.cgi?id=138031
rdar://problem/18739335

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-10-23
Reviewed by Simon Fraser.

Since any VisibleContentRectUpdate is costly for the WebProcess, we avoid sending updates
if none of the important parameters have changed (scale and geometry).

One unintended side effect is that the update of a page can be blocked if the parameters
of the previous page were identical.

What happen is this:
1) Page [A] sends its content rect update as needed. WebPageProxy saves the last update
   in m_lastVisibleContentRectUpdate and use that value to avoid useless updates.
2) Page [B] load after page [A] and have the exact VisibleContentRect. When receiving the first
   layer tree commit after didCommitLoadForFrame, WKWebView sends its VisibleContentRect
   to WebPageProxy to synchronize the state of the WebProcess with what is on screen.
3) Since the two VisibleContentRect update has the same value as the ones of page [A], WebPageProxy
   discards the update. The WebProcess has its initialization viewport and is not udpated until
   a major parameter changes (scale or position).

In rdar://problem/18739335, the problem is the similar but with a different failure point:
1) Everything above happened already.
2) The layer tree transaction has a scrolling request. This is processed by WKWebView.
3) Since the scrolling position is invalid, the request is ignored and we send the last
   VisibleContentRect to the WebProcess with WebPageProxy::resendLastVisibleContentRects().
4) Since the VisibleContentRect was never updated after didCommitLoadForFrame, the one we send
   is for the previous page, which the web process correctly ignores.

This patch solves the problem by nuking the cached m_lastVisibleContentRectUpdate before
any valid VisibleContentRectUpdate for a new page.

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::didCommitLoadForFrame):
* UIProcess/WebPageProxy.h:
* UIProcess/ios/WebPageProxyIOS.mm:
(WebKit::WebPageProxy::didCommitLayerTree):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@175153 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoCarets in GMail and iCloud compositions are the foreground text color
mmaxfield@apple.com [Thu, 23 Oct 2014 23:49:05 +0000 (23:49 +0000)]
Carets in GMail and iCloud compositions are the foreground text color
https://bugs.webkit.org/show_bug.cgi?id=138029

Reviewed by Simon Fraser.

Source/WebCore:

Previously, we were only checking whether the background colors of the foreground and background
elements were the same, rather than taking validity and opacity into consideration.

Test: editing/caret/color-span-inside-editable-background.html

* editing/FrameSelection.cpp:
(WebCore::disappearsIntoBackground):
(WebCore::CaretBase::paintCaret):

LayoutTests:

Test the case where the content editable root has a background color specified.

* editing/caret/color-span-inside-editable-background-expected.html: Added.
* editing/caret/color-span-inside-editable-background.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@175152 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoWeb Inspector: Provide a way to have alternate inspector agents
joepeck@webkit.org [Thu, 23 Oct 2014 23:43:14 +0000 (23:43 +0000)]
Web Inspector: Provide a way to have alternate inspector agents
https://bugs.webkit.org/show_bug.cgi?id=137901

Reviewed by Brian Burg.

Source/JavaScriptCore:

Provide a way to use alternate inspector agents debugging a JSContext.
Expose a very slim private API that a client could use to know when
an inspector has connected/disconnected, and a way to register its
augmentative agents.

* Configurations/FeatureDefines.xcconfig:
* JavaScriptCore.xcodeproj/project.pbxproj:
New feature guard. New files.

* API/JSContextRef.cpp:
(JSGlobalContextGetAugmentableInspectorController):
* API/JSContextRefInspectorSupport.h: Added.
Access to the private interface from a JSContext.

* inspector/JSGlobalObjectInspectorController.cpp:
(Inspector::JSGlobalObjectInspectorController::JSGlobalObjectInspectorController):
(Inspector::JSGlobalObjectInspectorController::connectFrontend):
(Inspector::JSGlobalObjectInspectorController::disconnectFrontend):
* inspector/JSGlobalObjectInspectorController.h:
* inspector/augmentable/AugmentableInspectorController.h: Added.
(Inspector::AugmentableInspectorController::~AugmentableInspectorController):
(Inspector::AugmentableInspectorController::connected):
* inspector/augmentable/AugmentableInspectorControllerClient.h: Added.
(Inspector::AugmentableInspectorControllerClient::~AugmentableInspectorControllerClient):
* inspector/augmentable/AlternateDispatchableAgent.h: Added.
(Inspector::AlternateDispatchableAgent::AlternateDispatchableAgent):
Provide the private APIs a client could use to add alternate agents using alternate backend dispatchers.

* inspector/scripts/codegen/__init__.py:
* inspector/scripts/generate-inspector-protocol-bindings.py:
(generate_from_specification):
New includes, and use the new generator.

* inspector/scripts/codegen/generate_alternate_backend_dispatcher_header.py: Added.
(AlternateBackendDispatcherHeaderGenerator):
(AlternateBackendDispatcherHeaderGenerator.__init__):
(AlternateBackendDispatcherHeaderGenerator.output_filename):
(AlternateBackendDispatcherHeaderGenerator.generate_output):
(AlternateBackendDispatcherHeaderGenerator._generate_handler_declarations_for_domain):
(AlternateBackendDispatcherHeaderGenerator._generate_handler_declaration_for_command):
Generate the abstract AlternateInspectorBackendDispatcher interfaces.

* inspector/scripts/codegen/generate_backend_dispatcher_header.py:
(BackendDispatcherHeaderGenerator.generate_output):
(BackendDispatcherHeaderGenerator._generate_alternate_handler_forward_declarations_for_domains):
(BackendDispatcherHeaderGenerator._generate_alternate_handler_forward_declarations_for_domains.AlternateInspector):
Forward declare alternate dispatchers, and allow setting an alternate dispatcher on a domain dispatcher.

* inspector/scripts/codegen/generate_backend_dispatcher_implementation.py:
(BackendDispatcherImplementationGenerator.generate_output):
(BackendDispatcherImplementationGenerator._generate_dispatcher_implementation_for_command):
Check for and dispatch on an AlternateInspectorBackendDispatcher if there is one for this domain.

* inspector/scripts/codegen/generator_templates.py:
(AlternateInspectorBackendDispatcher):
(AlternateInspector):
Template boilerplate for prelude and postlude.

* inspector/scripts/tests/expected/commands-with-async-attribute.json-result:
* inspector/scripts/tests/expected/commands-with-optional-call-return-parameters.json-result:
* inspector/scripts/tests/expected/domains-with-varying-command-sizes.json-result:
* inspector/scripts/tests/expected/events-with-optional-parameters.json-result:
* inspector/scripts/tests/expected/generate-domains-with-feature-guards.json-result:
* inspector/scripts/tests/expected/same-type-id-different-domain.json-result:
* inspector/scripts/tests/expected/shadowed-optional-type-setters.json-result:
* inspector/scripts/tests/expected/type-declaration-aliased-primitive-type.json-result:
* inspector/scripts/tests/expected/type-declaration-array-type.json-result:
* inspector/scripts/tests/expected/type-declaration-enum-type.json-result:
* inspector/scripts/tests/expected/type-declaration-object-type.json-result:
* inspector/scripts/tests/expected/type-requiring-runtime-casts.json-result:
Rebaseline tests.

Source/WebCore:

* Configurations/FeatureDefines.xcconfig:

Source/WebKit/mac:

* Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

* Configurations/FeatureDefines.xcconfig:

Source/WTF:

* wtf/FeatureDefines.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@175151 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoDon't assume that style.overflowX() == style.overflowY()
simon.fraser@apple.com [Thu, 23 Oct 2014 23:36:19 +0000 (23:36 +0000)]
Don't assume that style.overflowX() == style.overflowY()
https://bugs.webkit.org/show_bug.cgi?id=138028

Reviewed by Zalan Bujtas.

WebKit doesn't support independent overflow scroll/hidden on different axes,
but the RenderStyle does report the correct values. So check both overflowX()
and overflowY() in a couple of places where we need to.

* rendering/RenderLayerCompositor.cpp:
(WebCore::styleHasTouchScrolling):
(WebCore::styleChangeRequiresLayerRebuild):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@175150 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoGet rid of unnecessary vtables in WebKit
cdumez@apple.com [Thu, 23 Oct 2014 23:30:34 +0000 (23:30 +0000)]
Get rid of unnecessary vtables in WebKit
https://bugs.webkit.org/show_bug.cgi?id=138024

Reviewed by Benjamin Poulain.

Get rid of unnecessary vtables in WebKit by de-virtualizing destructors
when possible and marking the class as final to make sure people don't
subclass it.

No new tests, no behavior change.

* WebCore.exp.in:
* css/WebKitCSSMatrix.h:
* css/WebKitCSSMatrix.idl:
* html/canvas/WebGLContextGroup.h:
* html/canvas/WebGLGetInfo.h:
* html/canvas/WebGLUniformLocation.h:
(WebCore::WebGLUniformLocation::~WebGLUniformLocation): Deleted.
* html/canvas/WebGLUniformLocation.idl:
* inspector/DOMPatchSupport.h:
* inspector/InspectorHistory.h:
* inspector/InspectorStyleSheet.h:
* page/WheelEventDeltaTracker.h:
* page/scrolling/ScrollLatchingState.h:
* platform/audio/Biquad.h:
* platform/graphics/Pattern.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@175149 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoClean up virtual functions in dom/
cdumez@apple.com [Thu, 23 Oct 2014 23:26:01 +0000 (23:26 +0000)]
Clean up virtual functions in dom/
https://bugs.webkit.org/show_bug.cgi?id=138019

Reviewed by Benjamin Poulain.

Clean up virtual functions in dom/ by:
- Making virtual functions final when possible
- Making classes final when possible
- Using 'override' when appropriate
- Explicitly marking functions / destructors as virtual when they are
  inherently virtual
- Making isXXX() virtual functions private on XXX classes to avoid
  unnecessary type checks
- Dropping final for virtual functions in classes already marked as
  final

No new tests, no behavior change.

* WebCore.exp.in:
* dom/AutocompleteErrorEvent.h:
* dom/BeforeLoadEvent.h:
(WebCore::BeforeLoadEventInit::BeforeLoadEventInit):
* dom/BeforeTextInsertedEvent.h:
* dom/ClipboardEvent.h:
* dom/CompositionEvent.h:
* dom/CustomEvent.h:
* dom/DeviceMotionController.h:
(WebCore::DeviceMotionController::~DeviceMotionController): Deleted.
* dom/DeviceMotionEvent.h:
* dom/DeviceOrientationController.h:
(WebCore::DeviceOrientationController::~DeviceOrientationController): Deleted.
* dom/DeviceOrientationEvent.h:
* dom/Document.h:
* dom/DocumentFragment.h:
* dom/ErrorEvent.h:
* dom/FocusEvent.h:
* dom/HashChangeEvent.h:
* dom/KeyboardEvent.h:
* dom/LiveNodeList.h:
* dom/MessageEvent.h:
* dom/MessagePort.h:
* dom/MouseEvent.h:
* dom/MouseRelatedEvent.h:
* dom/MutationEvent.h:
* dom/NamedFlowCollection.h:
* dom/OverflowEvent.h:
* dom/PageTransitionEvent.h:
* dom/PendingScript.h:
* dom/PopStateEvent.h:
* dom/RawDataDocumentParser.h:
(WebCore::RawDataDocumentParser::finish): Deleted.
(WebCore::RawDataDocumentParser::flush): Deleted.
(WebCore::RawDataDocumentParser::insert): Deleted.
(WebCore::RawDataDocumentParser::append): Deleted.
* dom/ScriptableDocumentParser.h:
* dom/SecurityPolicyViolationEvent.h:
* dom/TextEvent.h:
* dom/TouchEvent.h:
* dom/TransitionEvent.h:
* dom/UIEvent.h:
* dom/WebKitAnimationEvent.h:
* dom/WebKitTransitionEvent.h:
* dom/WheelEvent.h:
* page/DeviceController.h:
(WebCore::DeviceController::~DeviceController):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@175148 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoAdd some SPI headers for NSExtension and NSSharingService{Picker}
timothy_horton@apple.com [Thu, 23 Oct 2014 23:00:31 +0000 (23:00 +0000)]
Add some SPI headers for NSExtension and NSSharingService{Picker}
https://bugs.webkit.org/show_bug.cgi?id=138027

Reviewed by Anders Carlsson.

* WebCore.xcodeproj/project.pbxproj:
* platform/spi/cocoa/NSExtensionSPI.h: Added.
* platform/spi/mac/NSSharingServicePickerSPI.h: Added.
* platform/spi/mac/NSSharingServiceSPI.h: Added.
Add modern SPI headers for NSExtension, and NSSharingService{Picker}.

* rendering/RenderThemeMac.mm:
Replace redefinitions with an SPI header #import.

* UIProcess/API/mac/WKView.mm:
* UIProcess/mac/ServicesController.mm:
* UIProcess/mac/WebContextMenuProxyMac.mm:
Replace redefinitions with SPI header #imports.

* Misc/WebSharingServicePickerController.h:
* Misc/WebSharingServicePickerController.mm:
* WebCoreSupport/WebSelectionServiceController.mm:
* WebCoreSupport/WebContextMenuClient.mm:
Fix a sorting issue.
Replace redefinitions with SPI header #imports.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@175147 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[Windows] Unreviewed gardening after removing SafariTheme.
roger_fong@apple.com [Thu, 23 Oct 2014 22:58:29 +0000 (22:58 +0000)]
[Windows] Unreviewed gardening after removing SafariTheme.
https://bugs.webkit.org/show_bug.cgi?id=138025.
* platform/win/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@175146 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[iOS WK2] Make sure any dynamic viewport update schedules a layer tree commit
benjamin@webkit.org [Thu, 23 Oct 2014 22:22:51 +0000 (22:22 +0000)]
[iOS WK2] Make sure any dynamic viewport update schedules a layer tree commit
https://bugs.webkit.org/show_bug.cgi?id=138021

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-10-23
Reviewed by Simon Fraser.

* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::dynamicViewportSizeUpdate):
Sometimes, the clients can do a dynamic viewport update but only change the minimum
layout size (see rdar://problem/18755250).

When that happens, it is possible to do the full state update without ever scheduling
a layer tree commit. For example, if the new minimum layout height is only a few pixels
smaller than the old value and the layout of the page is equal or larger than the old value,
the layout is done without any side effect to the content (assuming a viewport configuration
based on width).

The contract with the client is that the next layer tree commit after a dynamic viewport update
carries all the valid parameters for the new viewport size. Since the new layout never scheduled
a layer tree commit, the UIProcess is just waiting for one, discarding all input.

This patch solves the issue by explicitely scheduling a layer flush after updating all the layout
and view parameters to their final values. In most cases, this makes no difference since a layer
tree commit was already scheduled. In the rare cases where nothing was scheduled, scheduling
the layer tree commit ensure we unlock the UIProcess.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@175145 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[Win] Rebaseline a bunch of forms tests that no longer match after removing SafariTheme.
roger_fong@apple.com [Thu, 23 Oct 2014 22:01:57 +0000 (22:01 +0000)]
[Win] Rebaseline a bunch of forms tests that no longer match after removing SafariTheme.
https://bugs.webkit.org/show_bug.cgi?id=138022.
* platform/win/fast/forms/HTMLOptionElement_label06-expected.txt: Added.
* platform/win/fast/forms/basic-inputs-expected.txt:
* platform/win/fast/forms/basic-textareas-expected.txt: Added.
* platform/win/fast/forms/basic-textareas-quirks-expected.txt: Added.
* platform/win/fast/forms/blankbuttons-expected.txt:
* platform/win/fast/forms/button-generated-content-expected.txt:
* platform/win/fast/forms/button-inner-block-reuse-expected.txt: Added.
* platform/win/fast/forms/control-clip-expected.txt: Added.
* platform/win/fast/forms/fieldset-align-expected.txt: Added.
* platform/win/fast/forms/fieldset-legend-padding-unclipped-fieldset-border-expected.txt: Added.
* platform/win/fast/forms/fieldset-with-float-expected.txt: Added.
* platform/win/fast/forms/float-before-fieldset-expected.txt: Added.
* platform/win/fast/forms/focus-selection-textarea-expected.txt: Added.
* platform/win/fast/forms/indeterminate-expected.txt: Added.
* platform/win/fast/forms/input-appearance-readonly-expected.txt: Added.
* platform/win/fast/forms/input-appearance-visibility-expected.txt: Added.
* platform/win/fast/forms/input-first-letter-expected.txt: Added.
* platform/win/fast/forms/input-readonly-dimmed-expected.txt: Added.
* platform/win/fast/forms/input-spaces-expected.txt: Added.
* platform/win/fast/forms/input-text-click-outside-expected.txt: Added.
* platform/win/fast/forms/input-type-text-min-width-expected.txt: Added.
* platform/win/fast/forms/input-width-expected.txt: Added.
* platform/win/fast/forms/listbox-onchange-expected.txt: Added.
* platform/win/fast/forms/menulist-clip-expected.txt:
* platform/win/fast/forms/menulist-option-wrap-expected.txt: Added.
* platform/win/fast/forms/menulist-separator-painting-expected.txt: Added.
* platform/win/fast/forms/menulist-width-change-expected.txt:
* platform/win/fast/forms/negativeLineHeight-expected.txt: Added.
* platform/win/fast/forms/onselect-textarea-expected.txt: Added.
* platform/win/fast/forms/option-script-expected.txt:
* platform/win/fast/forms/option-text-clip-expected.txt:
* platform/win/fast/forms/placeholder-pseudo-style-expected.txt: Added.
* platform/win/fast/forms/range/input-appearance-range-expected.txt: Added.
* platform/win/fast/forms/range/range-thumb-height-percentage-expected.txt: Added.
* platform/win/fast/forms/range/slider-padding-expected.txt: Added.
* platform/win/fast/forms/range/slider-thumb-shared-style-expected.txt: Added.
* platform/win/fast/forms/range/slider-thumb-stylability-expected.txt: Added.
* platform/win/fast/forms/range/thumbslider-no-parent-slider-expected.txt: Added.
* platform/win/fast/forms/search-cancel-button-style-sharing-expected.txt: Added.
* platform/win/fast/forms/search-display-none-cancel-button-expected.txt: Added.
* platform/win/fast/forms/search-rtl-expected.txt: Added.
* platform/win/fast/forms/search-styled-expected.txt:
* platform/win/fast/forms/search-vertical-alignment-expected.txt: Added.
* platform/win/fast/forms/select-background-none-expected.txt: Added.
* platform/win/fast/forms/select-empty-option-height-expected.txt: Added.
* platform/win/fast/forms/select-size-expected.txt: Added.
* platform/win/fast/forms/select-style-expected.txt: Added.
* platform/win/fast/forms/select-visual-hebrew-expected.txt: Added.
* platform/win/fast/forms/select-writing-direction-natural-expected.txt:
* platform/win/fast/forms/selectlist-minsize-expected.txt: Added.
* platform/win/fast/forms/stuff-on-my-optgroup-expected.txt: Added.
* platform/win/fast/forms/textAreaLineHeight-expected.txt: Added.
* platform/win/fast/forms/textarea-align-expected.txt: Added.
* platform/win/fast/forms/textarea-metrics-expected.txt: Added.
* platform/win/fast/forms/textarea-placeholder-pseudo-style-expected.txt: Added.
* platform/win/fast/forms/textarea-placeholder-visibility-1-expected.txt:
* platform/win/fast/forms/textarea-placeholder-visibility-2-expected.txt:
* platform/win/fast/forms/textarea-scroll-height-expected.txt: Added.
* platform/win/fast/forms/textarea-scrollbar-expected.txt:
* platform/win/fast/forms/textarea-scrolled-type-expected.txt: Added.
* platform/win/fast/forms/textarea-setinnerhtml-expected.txt: Added.
* platform/win/fast/forms/textarea-width-expected.txt:
* platform/win/fast/forms/textfield-overflow-by-value-update-expected.txt: Added.
* platform/win/fast/forms/textfield-overflow-expected.txt: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@175144 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoWebContent crash in WebKit::WebPage::expandedRangeFromHandle
rniwa@webkit.org [Thu, 23 Oct 2014 21:51:08 +0000 (21:51 +0000)]
WebContent crash in WebKit::WebPage::expandedRangeFromHandle
https://bugs.webkit.org/show_bug.cgi?id=138023

Reviewed by Enrica Casucci.

The crashes are caused by rangeForBlockAtPoint returning a null Range.
Exit early or continue if a range is null in various places.

* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::expandedRangeFromHandle): Continue looking for another point if the range returned by
rangeForBlockAtPoint is null.
(WebKit::WebPage::contractedRangeFromHandle): Ditto.
(WebKit::WebPage::computeExpandAndShrinkThresholdsForHandle): Removed the FIXME now that Enrica has
verified that this early exit added in r173788 is correct.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@175143 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[Win] Skip failing JSC tests following r175078
roger_fong@apple.com [Thu, 23 Oct 2014 21:04:15 +0000 (21:04 +0000)]
[Win] Skip failing JSC tests following r175078
https://bugs.webkit.org/show_bug.cgi?id=130967.
* Scripts/run-javascriptcore-tests:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@175142 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agooffsets.rb:183:in `buildOffsetsMap': unhandled exception - is offlineasm dependency...
msaboff@apple.com [Thu, 23 Oct 2014 20:54:22 +0000 (20:54 +0000)]
offsets.rb:183:in `buildOffsetsMap': unhandled exception - is offlineasm dependency tracking broken? (132668)
https://bugs.webkit.org/show_bug.cgi?id=138017

Reviewed by Mark Lam.

Removed from the nput file $(SRCROOT)/llint/LowLevelAssembler.asm and output file
$(BUILT_PRODUCTS_DIR)/LLIntOffsets/LLIntDesiredOffsets.h from the Generate Derived Sources
build phase in the LLInt Offset target.  There is no need for Xcode to do any dependency
checking with these files as the ruby script offlineasm/generate_offset_extractor.rb will
do that for us.

* JavaScriptCore.xcodeproj/project.pbxproj:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@175141 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[Mac] don't update caption user style sheet during parsing
eric.carlson@apple.com [Thu, 23 Oct 2014 20:27:27 +0000 (20:27 +0000)]
[Mac] don't update caption user style sheet during parsing
https://bugs.webkit.org/show_bug.cgi?id=137983
rdar://problem/18735366

Reviewed by Jer Noble.

No new tests, existing tests cover the changes.

* page/CaptionUserPreferencesMediaAF.cpp:
(WebCore::CaptionUserPreferencesMediaAF::CaptionUserPreferencesMediaAF): Initialize m_updateStyleSheetTimer.
(WebCore::CaptionUserPreferencesMediaAF::updateTimerFired): Call updateCaptionStyleSheetOveride.
(WebCore::CaptionUserPreferencesMediaAF::setInterestedInCaptionPreferenceChanges): Prime a timer to update
    the captions style sheet after a slight delay.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@175139 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoWeb Inspector: Double border appearing in node sidebar in expanded items in OS X...
jonowells@apple.com [Thu, 23 Oct 2014 19:56:22 +0000 (19:56 +0000)]
Web Inspector: Double border appearing in node sidebar in expanded items in OS X Mavericks.
https://bugs.webkit.org/show_bug.cgi?id=138011

Reviewed by Timothy Hatcher.

Selector added for OS X Mavericks and earlier versions using .mac-platform.legacy.

* UserInterface/Views/DetailsSection.css:
(body.mac-platform.legacy .details-section .details-section:first-child):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@175138 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoMove remaining Length-type properties to the new StyleBuilder
cdumez@apple.com [Thu, 23 Oct 2014 19:51:09 +0000 (19:51 +0000)]
Move remaining Length-type properties to the new StyleBuilder
https://bugs.webkit.org/show_bug.cgi?id=138012

Reviewed by Antti Koivisto.

Move remaining Length-type properties from DeprecatedStyleBuilder to
the new StyleBuilder so that they are now generated from
CSSPropertyNames.in as well. The patch introduces a couple of type
converters for those: "LengthSizing / LengthMaxSizing".

No new tests, no behavior change.

* css/CSSPropertyNames.in:
* css/DeprecatedStyleBuilder.cpp:
(WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
* css/StyleBuilderConverter.h:
(WebCore::StyleBuilderConverter::convertLengthSizing):
(WebCore::StyleBuilderConverter::convertLengthMaxSizing):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@175137 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoTeach Bugzilla how to set permissions for *.js files correctly
ddkilzer@apple.com [Thu, 23 Oct 2014 19:42:03 +0000 (19:42 +0000)]
Teach Bugzilla how to set permissions for *.js files correctly

* Bugzilla/Install/Filesystem.pm:
(Bugzilla::Install::Filesystem::FILESYSTEM): Set permissions for
*.js files correctly when checksetup.pl is run.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@175136 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[iOS] iPhone unselecting items in <select multiple> shows incorrect values selected
commit-queue@webkit.org [Thu, 23 Oct 2014 19:38:26 +0000 (19:38 +0000)]
[iOS] iPhone unselecting items in <select multiple> shows incorrect values selected
https://bugs.webkit.org/show_bug.cgi?id=137989

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2014-10-23
Reviewed by Alexey Proskuryakov.

* UIProcess/ios/forms/WKFormSelectPicker.mm:
(-[WKMultipleSelectPicker pickerView:row:column:checked:]):
The second argument is "allowsMultipleSelection" and should only be set
when we are making a selection in a <select multiple>.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@175135 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoCrashes under WebSelectionServiceController::hasRelevantSelectionServices
timothy_horton@apple.com [Thu, 23 Oct 2014 19:03:38 +0000 (19:03 +0000)]
Crashes under WebSelectionServiceController::hasRelevantSelectionServices
https://bugs.webkit.org/show_bug.cgi?id=138013

Reviewed by Dan Bernstein.

* WebCoreSupport/WebSelectionServiceController.mm:
(WebSelectionServiceController::hasRelevantSelectionServices):
Don't adopt this autoreleased object.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@175132 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[Mac] Safari cannot play 'audio/amr' content.
jer.noble@apple.com [Thu, 23 Oct 2014 18:28:56 +0000 (18:28 +0000)]
[Mac] Safari cannot play 'audio/amr' content.
https://bugs.webkit.org/show_bug.cgi?id=137894

Reviewed by Eric Carlson.

Source/WebCore:

Test: media/media-can-play-case-insensitive.html

Sites are returning 'video/amr' for AMR audio content, but the IANA spec says 'audio/AMR', which is also what
AVFoundation claims to support.  However, MIME types are supposed to be case-insensitive. When creating our
mime type cache, case-fold to lower all MIME types given to us by our media frameworks.

* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::mimeTypeCache):
* platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
(WebCore::addFileTypesToCache):

LayoutTests:

* media/media-can-play-case-insensitive-expected.txt: Added.
* media/media-can-play-case-insensitive.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@175131 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoAssertion failures in ImageKit soft linking
timothy_horton@apple.com [Thu, 23 Oct 2014 17:46:40 +0000 (17:46 +0000)]
Assertion failures in ImageKit soft linking
https://bugs.webkit.org/show_bug.cgi?id=138009

Reviewed by Anders Carlsson.

* UIProcess/API/mac/WKView.mm:
Soft-link ImageKit correctly.
ImageKit is inside the Quartz umbrella framework.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@175127 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[iOS] Fix the build after <http://trac.webkit.org/changeset/175079>
dbates@webkit.org [Thu, 23 Oct 2014 16:34:27 +0000 (16:34 +0000)]
[iOS] Fix the build after <trac.webkit.org/changeset/175079>
(https://bugs.webkit.org/show_bug.cgi?id=137995)

Rubber-stamped by Anders Carlsson.

Remove PageClientImpl::didPerformActionMenuHitTest() for iOS.

* UIProcess/ios/PageClientImplIOS.h:
* UIProcess/ios/PageClientImplIOS.mm:
(WebKit::PageClientImpl::didPerformActionMenuHitTest): Deleted.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@175125 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoMove Length-type CSS properties from DeprecatedStyleBuilder to the new Style Builder
cdumez@apple.com [Thu, 23 Oct 2014 16:14:25 +0000 (16:14 +0000)]
Move Length-type CSS properties from DeprecatedStyleBuilder to the new Style Builder
https://bugs.webkit.org/show_bug.cgi?id=138000

Reviewed by Andreas Kling.

Move most Length-type CSS properties from DeprecatedStyleBuilder to the
new Style Builder so that they are now generated. This patch adds
support for a "Converter" option in CSSPropertyNames.in that can be
used to specify a type converter function in
css/StyleBuilderConverter.h. This patch adds support for Length and
LengthOrAuto converters so that most Length-type properties can now be
generated.

Another converter (likely called "LengthSizing") will be needed to
generate the remaining Length-type properties. This will be taken care
of in a follow-up patch.

This patch is inspired by the following Blink revision by
<timloh@chromium.org>:
https://src.chromium.org/viewvc/blink?view=rev&revision=150500

No new tests, no behavior change.

* WebCore.xcodeproj/project.pbxproj:
* css/CSSPropertyNames.in:
* css/DeprecatedStyleBuilder.cpp:
(WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
* css/SVGCSSPropertyNames.in:
* css/StyleBuilder.h:
* css/StyleBuilderConverter.h: Added.
(WebCore::StyleBuilderConverter::convertLength):
(WebCore::StyleBuilderConverter::convertLengthOrAuto):
* css/StyleResolver.cpp:
(WebCore::StyleResolver::applyProperty):
* css/makeprop.pl:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@175123 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoChange CallFrame::lexicalGlobalObject() to use Callee instead of JSScope
msaboff@apple.com [Thu, 23 Oct 2014 13:15:58 +0000 (13:15 +0000)]
Change CallFrame::lexicalGlobalObject() to use Callee instead of JSScope
https://bugs.webkit.org/show_bug.cgi?id=136901

Reviewed by Mark Lam.

Implement ExecState::lexicalGlobalObject() using Callee.

* runtime/JSScope.h:
(JSC::ExecState::lexicalGlobalObject):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@175118 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoConst-ify static s_resourceType members in RenderSVGResource* classes
zandobersek@gmail.com [Thu, 23 Oct 2014 12:20:44 +0000 (12:20 +0000)]
Const-ify static s_resourceType members in RenderSVGResource* classes
https://bugs.webkit.org/show_bug.cgi?id=137911

Reviewed by Andreas Kling.

Make s_resourceType static members in RenderSVGResource* classes const.
Also update the resourceType() methods, where necessary, so that they
return the s_resourceType constant.

* rendering/svg/RenderSVGResourceClipper.cpp:
* rendering/svg/RenderSVGResourceClipper.h:
* rendering/svg/RenderSVGResourceFilter.cpp:
* rendering/svg/RenderSVGResourceFilter.h:
* rendering/svg/RenderSVGResourceLinearGradient.cpp:
* rendering/svg/RenderSVGResourceLinearGradient.h:
* rendering/svg/RenderSVGResourceMarker.cpp:
* rendering/svg/RenderSVGResourceMarker.h:
* rendering/svg/RenderSVGResourceMasker.cpp:
* rendering/svg/RenderSVGResourceMasker.h:
* rendering/svg/RenderSVGResourcePattern.cpp:
* rendering/svg/RenderSVGResourcePattern.h:
* rendering/svg/RenderSVGResourceRadialGradient.cpp:
* rendering/svg/RenderSVGResourceRadialGradient.h:
* rendering/svg/RenderSVGResourceSolidColor.cpp:
* rendering/svg/RenderSVGResourceSolidColor.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@175117 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[TexMap] Clean up virtual method declarations in GraphicsLayerTextureMapper
zandobersek@gmail.com [Thu, 23 Oct 2014 11:17:38 +0000 (11:17 +0000)]
[TexMap] Clean up virtual method declarations in GraphicsLayerTextureMapper
https://bugs.webkit.org/show_bug.cgi?id=137957

Reviewed by Martin Robinson.

Added override notation to the GraphicsLayerTextureMapper methods that are
overriding the base methods from the GraphicsLayer class and don't have it yet.
Also reordered these methods to follow the order of declaration in the
GraphicsLayer class.

Removed ::setName() and ::willBeDestroyed() methods since they just called
the base class' methods.

Also removed the ::solidColor() and ::changeMask() methods. The first one was
only called in one place which can reference the m_solidColor member directly,
and the second one wasn't used at all.

* platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
(WebCore::GraphicsLayerTextureMapper::commitLayerChanges):
(WebCore::GraphicsLayerTextureMapper::setName): Deleted.
(WebCore::GraphicsLayerTextureMapper::willBeDestroyed): Deleted.
* platform/graphics/texmap/GraphicsLayerTextureMapper.h:
(WebCore::GraphicsLayerTextureMapper::solidColor): Deleted.
(WebCore::GraphicsLayerTextureMapper::usesContentsLayer): Deleted.
(WebCore::GraphicsLayerTextureMapper::platformLayer): Deleted.
(WebCore::GraphicsLayerTextureMapper::changeMask): Deleted.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@175116 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[GTK] Fix build on Hurd
berto@igalia.com [Thu, 23 Oct 2014 09:55:03 +0000 (09:55 +0000)]
[GTK] Fix build on Hurd
https://bugs.webkit.org/show_bug.cgi?id=138003

Reviewed by Carlos Garcia Campos.

* wtf/InlineASM.h:
* wtf/Platform.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@175115 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[EFL] Fix build problem after r175098
k.czech@samsung.com [Thu, 23 Oct 2014 09:35:46 +0000 (09:35 +0000)]
[EFL] Fix build problem after r175098
https://bugs.webkit.org/show_bug.cgi?id=138002

Reviewed by Gyuyoung Kim.

Add ECORE_X dependency to avoid linking problems while building unit tests.

* PlatformEfl.cmake:

Change-Id: I9228d141456c3b34b61424aa4715cef85534104f

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@175114 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoAX: Do the early return when role is different than UnknownRole
k.czech@samsung.com [Thu, 23 Oct 2014 09:02:00 +0000 (09:02 +0000)]
AX: Do the early return when role is different than UnknownRole
https://bugs.webkit.org/show_bug.cgi?id=137880

Reviewed by Chris Fleizach.

We do not need to call ariaRoleAttribute() to check whether m_ariaRole is different than UnknownRole.
Just check m_ariaRole instead.

No new tests, no behavior change, just some cleanup

* accessibility/AccessibilityNodeObject.cpp:
(WebCore::AccessibilityNodeObject::determineAccessibilityRole):
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::determineAccessibilityRole):
* accessibility/AccessibilityTableRow.cpp:
(WebCore::AccessibilityTableRow::determineAccessibilityRole):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@175100 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[EFL] Set proper default value for WebPageAccessibilityObject
k.czech@samsung.com [Thu, 23 Oct 2014 08:21:40 +0000 (08:21 +0000)]
[EFL] Set proper default value for WebPageAccessibilityObject
https://bugs.webkit.org/show_bug.cgi?id=137951

Reviewed by Csaba Osztrogonác.

Initial value for WebPageAccessibilityObject should be nullptr.

* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::WebPage):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@175099 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[EFL] Introduce EFL Accessibility in WebKit
k.czech@samsung.com [Thu, 23 Oct 2014 08:02:35 +0000 (08:02 +0000)]
[EFL] Introduce EFL Accessibility in WebKit
https://bugs.webkit.org/show_bug.cgi?id=137819

Reviewed by Gyuyoung Kim.

EFL Accessibility provides an API that is used to notify clients that certain
Accessibility events occur. Utilizing it makes WebKit-EFL coherent with EFL native
accessibility approach.

* PlatformEfl.cmake:
* UIProcess/API/efl/EwkView.cpp:
(EwkView::EwkView):
* UIProcess/API/efl/EwkView.h:
(EwkView::webAccessibility):
* UIProcess/API/efl/WebAccessibility.cpp: Added.
(WebKit::WebAccessibility::WebAccessibility):
(WebKit::WebAccessibility::~WebAccessibility):
(WebKit::WebAccessibility::eventHandler):
(WebKit::WebAccessibility::executeGestureAction):
(WebKit::WebAccessibility::activate):
(WebKit::WebAccessibility::read):
(WebKit::WebAccessibility::readNext):
(WebKit::WebAccessibility::readPrev):
(WebKit::WebAccessibility::up):
(WebKit::WebAccessibility::down):
(WebKit::WebAccessibility::scroll):
(WebKit::WebAccessibility::mouse):
(WebKit::WebAccessibility::enable):
(WebKit::WebAccessibility::disable):
* UIProcess/API/efl/WebAccessibility.h: Added.
(WebKit::WebAccessibility::activateAction):
(WebKit::WebAccessibility::nextAction):
(WebKit::WebAccessibility::prevAction):
(WebKit::WebAccessibility::readAction):
* UIProcess/API/efl/ewk_view.cpp:
(ewk_view_accessibility_action_activate_get):
(ewk_view_accessibility_action_next_get):
(ewk_view_accessibility_action_prev_get):
(ewk_view_accessibility_action_read_by_point_get):
* UIProcess/API/efl/ewk_view.h:
* UIProcess/API/efl/tests/test_ewk2_accessibility.cpp: Added.
(EWK2Accessibility::xwindow):
(TEST_F):
* UIProcess/WebPageProxy.h:
* UIProcess/efl/WebPageProxyEfl.cpp:
(WebKit::WebPageProxy::accessibilityObjectReadByPoint):
(WebKit::WebPageProxy::accessibilityObjectReadPrevious):
(WebKit::WebPageProxy::accessibilityObjectReadNext):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@175098 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoCSS JIT: Implement :matches
utatane.tea@gmail.com [Thu, 23 Oct 2014 07:27:38 +0000 (07:27 +0000)]
CSS JIT: Implement :matches
https://bugs.webkit.org/show_bug.cgi?id=137947

Reviewed by Benjamin Poulain.

Source/WebCore:

Initial patch for supporting :matches in CSS JIT.
In this patch, we implement :matches
by leveraging the generalized nested backtracking implementation.

Tests: fast/selectors/matches-backtracking.html
       fast/selectors/matches-complex.html

* cssjit/SelectorCompiler.cpp:
(WebCore::SelectorCompiler::addPseudoClassType):
(WebCore::SelectorCompiler::hasAnyCombinators):
(WebCore::SelectorCompiler::computeBacktrackingMemoryRequirements):
(WebCore::SelectorCompiler::computeBacktrackingInformation):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementMatching):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementMatchesMatchesPseudoClass):

LayoutTests:

* fast/selectors/matches-backtracking-expected.txt: Added.
* fast/selectors/matches-backtracking.html: Added.
* fast/selectors/matches-complex-expected.txt: Added.
* fast/selectors/matches-complex.html: Added.
    - nested :matches
    - multiple :matches
    - :matches with CannotMatchAnything
    - :matches with :not
    - :matches(with a lot of selectors)
    are tested.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@175097 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoRenderThemeGtk::mediaControlsScript() is not defined when VIDEO is disabled.
commit-queue@webkit.org [Thu, 23 Oct 2014 07:17:50 +0000 (07:17 +0000)]
RenderThemeGtk::mediaControlsScript() is not defined when VIDEO is disabled.
<https://webkit.org/b/137970>.

Patch by Milan Crha <mcrha@redhat.com> on 2014-10-23
Reviewed by Carlos Garcia Campos.

* rendering/RenderThemeGtk.cpp:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@175095 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoPrefix isnan() with std::.
commit-queue@webkit.org [Thu, 23 Oct 2014 06:54:06 +0000 (06:54 +0000)]
Prefix isnan() with std::.
<https://webkit.org/b/137966>.

Patch by Milan Crha <mcrha@redhat.com> on 2014-10-22
Reviewed by Carlos Garcia Campos.

* profiler/ProfileNode.h:
(JSC::ProfileNode::Call::setStartTime):
(JSC::ProfileNode::Call::setElapsedTime):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@175089 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoDo not include GraphicsContext3D.h when 3D_GRAPHICS is not used.
commit-queue@webkit.org [Thu, 23 Oct 2014 06:45:49 +0000 (06:45 +0000)]
Do not include GraphicsContext3D.h when 3D_GRAPHICS is not used.
<https://webkit.org/b/137969>.

Patch by Milan Crha <mcrha@redhat.com> on 2014-10-22
Reviewed by Carlos Garcia Campos.

* platform/graphics/cairo/GraphicsContext3DCairo.cpp:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@175088 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoDo not build WidgetBackingStoreGtkX11 when not used.
commit-queue@webkit.org [Thu, 23 Oct 2014 06:41:51 +0000 (06:41 +0000)]
Do not build WidgetBackingStoreGtkX11 when not used.
<https://webkit.org/b/137972>.

Patch by Milan Crha <mcrha@redhat.com> on 2014-10-22
Reviewed by Carlos Garcia Campos.

* platform/gtk/WidgetBackingStoreGtkX11.cpp:
* platform/gtk/WidgetBackingStoreGtkX11.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@175087 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[iOS] Toggling overflow:scroll to hidden on element with -webkit-overflow-scrolling...
simon.fraser@apple.com [Thu, 23 Oct 2014 06:15:44 +0000 (06:15 +0000)]
[iOS] Toggling overflow:scroll to hidden on element with -webkit-overflow-scrolling:touch can cause children to disappear
https://bugs.webkit.org/show_bug.cgi?id=137999
rdar://problem/18425550

Reviewed by Zalan Bujtas.

Source/WebCore:

When toggling overflow from scroll to hidden on an element with -webkit-overflow-scrolling:touch,
we'd fail to do a compositing layer rebuild, which caused various issues like unparented
descendants, and misplaced and unrepainted content.

This happened because we'd get to RenderLayerBacking::updateConfiguration() via styleChanged
with the view needing layout, so never hit the updateScrollingLayers() code, and the subsequent
updateCompositingLayers() would be a no-op.

Fix by explicitly triggering a layer rebuild when style changes such that the touch-scrollability
of an element changes, as we do for changes in clip.

Test: compositing/scrolling/touch-scroll-to-clip.html

* rendering/RenderLayerCompositor.cpp:
(WebCore::isScrollableOverflow):
(WebCore::styleHasTouchScrolling):
(WebCore::styleChangeRequiresLayerRebuild):

LayoutTests:

Test that toggles overflow on a touch scrolling div, and dumps layers.

* compositing/scrolling/touch-scroll-to-clip-expected.txt: Added.
* compositing/scrolling/touch-scroll-to-clip.html: Added.
* platform/ios-simulator/compositing/scrolling/touch-scroll-to-clip-expected.txt: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@175085 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoClean up virtual functions in rendering/
cdumez@apple.com [Thu, 23 Oct 2014 04:32:27 +0000 (04:32 +0000)]
Clean up virtual functions in rendering/
https://bugs.webkit.org/show_bug.cgi?id=137984

Reviewed by Darin Adler.

Clean up virtual functions in rendering/ by:
- Making virtual functions final when possible
- Making classes final when possible
- Using 'override' when appropriate
- Explicitly marking functions / destructors as virtual when they are
  inherently virtual
- Dropping virtual destructors when the class does not have subclasses
  and mark the class as final, to get rid of unnecessary vtables
- Making isXXX() virtual functions private on XXX classes to avoid
  unnecessary type checks
- De-virtualizing some functions that do not need to be virtual
- Dropping final for virtual functions in classes already marked as
  final

No new tests, no behavior change.

* html/shadow/SliderThumbElement.cpp:
* rendering/AutoTableLayout.h:
* rendering/ClipPathOperation.h:
(WebCore::ClipPathOperation::type):
(WebCore::ClipPathOperation::isSameType):
* rendering/EllipsisBox.h:
* rendering/FixedTableLayout.h:
* rendering/InlineElementBox.h:
* rendering/RenderBlockFlow.h:
* rendering/RenderCombineText.h:
* rendering/RenderCounter.h:
* rendering/RenderDeprecatedFlexibleBox.h:
* rendering/RenderFlexibleBox.h:
* rendering/RenderFullScreen.h:
* rendering/RenderGrid.h:
* rendering/RenderLayer.h:
* rendering/RenderLayerBacking.h:
* rendering/RenderLayerCompositor.h:
* rendering/RenderLayerFilterInfo.h:
* rendering/RenderLineBreak.h:
* rendering/RenderMarquee.h:
* rendering/RenderMediaControlElements.h:
* rendering/RenderMultiColumnFlowThread.h:
* rendering/RenderMultiColumnSet.h:
* rendering/RenderMultiColumnSpannerPlaceholder.h:
* rendering/RenderNamedFlowFragment.h:
* rendering/RenderNamedFlowThread.h:
* rendering/RenderQuote.h:
* rendering/RenderRegion.h:
(WebCore::RenderRegion::renderName): Deleted.
* rendering/RenderReplica.h:
* rendering/RenderRubyBase.h:
* rendering/RenderRubyRun.h:
* rendering/RenderScrollbar.h:
* rendering/RenderScrollbarPart.h:
* rendering/RenderScrollbarTheme.h:
(WebCore::RenderScrollbarTheme::~RenderScrollbarTheme): Deleted.
(WebCore::RenderScrollbarTheme::scrollbarThickness): Deleted.
(WebCore::RenderScrollbarTheme::buttonsPlacement): Deleted.
(WebCore::RenderScrollbarTheme::supportsControlTints): Deleted.
(WebCore::RenderScrollbarTheme::shouldCenterOnThumb): Deleted.
(WebCore::RenderScrollbarTheme::initialAutoscrollTimerDelay): Deleted.
(WebCore::RenderScrollbarTheme::autoscrollTimerDelay): Deleted.
(WebCore::RenderScrollbarTheme::registerScrollbar): Deleted.
(WebCore::RenderScrollbarTheme::unregisterScrollbar): Deleted.
* rendering/RenderSnapshottedPlugIn.h:
* rendering/RenderTextControlMultiLine.h:
* rendering/RenderTextFragment.h:
* rendering/RenderThemeGtk.h:
* rendering/RenderThemeIOS.h:
* rendering/RenderThemeWin.h:
* rendering/RenderVideo.h:
* rendering/TextAutosizer.h:
* rendering/TrailingFloatsRootInlineBox.h:
* rendering/mathml/RenderMathMLBlock.h:
* rendering/mathml/RenderMathMLMenclose.h:
* rendering/mathml/RenderMathMLOperator.h:
* rendering/mathml/RenderMathMLRadicalOperator.h:
* rendering/mathml/RenderMathMLRoot.h:
* rendering/mathml/RenderMathMLRow.h:
* rendering/mathml/RenderMathMLScripts.h:
* rendering/mathml/RenderMathMLToken.h:
* rendering/mathml/RenderMathMLUnderOver.h:
* rendering/shapes/BoxShape.h:
* rendering/shapes/PolygonShape.h:
* rendering/shapes/RasterShape.h:
* rendering/shapes/RectangleShape.h:
* rendering/style/BasicShapes.h:
* rendering/style/StylePendingImage.h:
(WebCore::StylePendingImage::computeIntrinsicDimensions): Deleted.
* rendering/svg/RenderSVGBlock.h:
* rendering/svg/RenderSVGContainer.h:
* rendering/svg/RenderSVGEllipse.h:
* rendering/svg/RenderSVGForeignObject.h:
* rendering/svg/RenderSVGImage.h:
* rendering/svg/RenderSVGPath.h:
* rendering/svg/RenderSVGRect.h:
* rendering/svg/RenderSVGResourceClipper.h:
* rendering/svg/RenderSVGResourceFilter.h:
* rendering/svg/RenderSVGResourceFilterPrimitive.h:
* rendering/svg/RenderSVGResourceLinearGradient.h:
* rendering/svg/RenderSVGResourceMarker.h:
* rendering/svg/RenderSVGResourceMasker.h:
* rendering/svg/RenderSVGResourcePattern.h:
* rendering/svg/RenderSVGResourceRadialGradient.h:
* rendering/svg/RenderSVGRoot.h:
* rendering/svg/RenderSVGTSpan.h:
* rendering/svg/RenderSVGText.h:
* rendering/svg/RenderSVGTransformableContainer.h:
* rendering/svg/RenderSVGViewportContainer.h:
* rendering/svg/SVGInlineTextBox.h:
* rendering/svg/SVGRootInlineBox.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@175084 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoREGRESSION(r175000): Crash in SourceBufferPrivateAVFObjC::destroyParser()
jer.noble@apple.com [Thu, 23 Oct 2014 03:49:41 +0000 (03:49 +0000)]
REGRESSION(r175000): Crash in SourceBufferPrivateAVFObjC::destroyParser()
https://bugs.webkit.org/show_bug.cgi?id=137990

Reviewed by Alexey Proskuryakov.

NULL-check m_mediaSource before using.

* platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
(WebCore::SourceBufferPrivateAVFObjC::destroyParser):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@175083 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agocommitqueuetask_unittest.py should be made more concise.
commit-queue@webkit.org [Thu, 23 Oct 2014 02:54:24 +0000 (02:54 +0000)]
commitqueuetask_unittest.py should be made more concise.
https://bugs.webkit.org/show_bug.cgi?id=137985

Patch by Jake Nielsen <jacob_nielsen@apple.com> on 2014-10-22
Reviewed by Alexey Proskuryakov.

* Scripts/webkitpy/tool/bot/commitqueuetask_unittest.py:
Refactors tests to use MockSimpleTestPlanCommitQueue where possible.
(MockCommitQueue.__init__):
(MockCommitQueue.report_flaky_tests):
(MockCommitQueue):
(MockCommitQueue.get_reported_flaky_tests):
(MockSimpleTestPlanCommitQueue.__init__):
(MockSimpleTestPlanCommitQueue.run_command):
(MockSimpleTestPlanCommitQueue.did_run_clean_tests):
(CommitQueueTaskTest._run_and_expect_patch_analysis_result):
(test_land_failure):
(test_failed_archive):
(test_double_flaky_test_failure):
(test_test_failure):
(test_red_test_failure):
(test_very_red_tree_retry):
(test_red_tree_patch_rejection):
(test_one_flaky_test):
(test_tree_more_red_than_patch):
(MockCommitQueue.test_results): Deleted.
(test_simple_flaky_test_failure): Deleted.
(_expect_validate): Deleted.
(_expect_validate.MockDelegate): Deleted.
(_expect_validate.MockDelegate.refetch_patch): Deleted.
(_expect_validate.MockDelegate.expected_failures): Deleted.
(_mock_patch): Deleted.
(test_validate): Deleted.
* Scripts/webkitpy/tool/bot/patchanalysistask.py:
Fixes a bug that slipped through the cracks prior to this change.
(PatchAnalysisTask._test_patch):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@175082 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[iOS WK2] Protect WKWebView dynamic viewport change against empty sizes
benjamin@webkit.org [Thu, 23 Oct 2014 02:40:07 +0000 (02:40 +0000)]
[iOS WK2] Protect WKWebView dynamic viewport change against empty sizes
https://bugs.webkit.org/show_bug.cgi?id=137988
rdar://problem/17785162

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-10-22
Reviewed by Simon Fraser.

* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _beginAnimatedResizeWithUpdates:]):
The algorithm behind dynamic size update finds the best content area to put in the viewport
after a viewport change. If an initial size or a target size is empty, it is impossible to
compute a reasonable area to keep in the view. We end up handling NaN scales
and/or sizes and CoreAnimation raises an exception when applying that value.

This patch add early exits when that occurs and fallback to the common code.

On Input, things are easy. If any of the initial values is empty, we just execute the updateBlock
without attempting any of the dynamic behaviors.

For the target values, things are trickier. We do not know what the values are going to be before we execute
the block. But once we executed the block, we have already skipped all the setters that call the web process.

To handle that, every value is set manually on WebPageProxy. This is a bit unfortunate because the setters
get yet another entry point.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@175081 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoRefactoring to simplify some code in DatePrototype.cpp.
mark.lam@apple.com [Thu, 23 Oct 2014 02:39:14 +0000 (02:39 +0000)]
Refactoring to simplify some code in DatePrototype.cpp.
<https://webkit.org/b/137997>

Reviewed by Filip Pizlo.

A bunch of functions in DatePrototype.cpp have the pattern of loading a
constant into a local variable only to pass it to a callee function
immediately after.  There is no other use for that variable.  This adds
additional verbosity with no added benefit.

This patch refactors those functions to just pass the constant arg directly.

* runtime/DatePrototype.cpp:
(JSC::dateProtoFuncSetMilliSeconds):
(JSC::dateProtoFuncSetUTCMilliseconds):
(JSC::dateProtoFuncSetSeconds):
(JSC::dateProtoFuncSetUTCSeconds):
(JSC::dateProtoFuncSetMinutes):
(JSC::dateProtoFuncSetUTCMinutes):
(JSC::dateProtoFuncSetHours):
(JSC::dateProtoFuncSetUTCHours):
(JSC::dateProtoFuncSetDate):
(JSC::dateProtoFuncSetUTCDate):
(JSC::dateProtoFuncSetMonth):
(JSC::dateProtoFuncSetUTCMonth):
(JSC::dateProtoFuncSetFullYear):
(JSC::dateProtoFuncSetUTCFullYear):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@175080 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoEFL and GTK ports have broken since r175075
gyuyoung.kim@samsung.com [Thu, 23 Oct 2014 01:37:08 +0000 (01:37 +0000)]
EFL and GTK ports have broken since r175075
https://bugs.webkit.org/show_bug.cgi?id=137995

Unreviewed, EFL and GTK ports build fix.

Need to use PLATFORM(MAC) guard for ActionMenuHitTest functions.

* UIProcess/PageClient.h:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::removeNavigationGestureSnapshot):
* UIProcess/WebPageProxy.h:
* UIProcess/WebPageProxy.messages.in:
* WebProcess/WebPage/WebPage.cpp:
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/WebPage.messages.in:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@175079 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoString(new Date(Mar 30 2014 01:00:00)) is wrong in CET
commit-queue@webkit.org [Thu, 23 Oct 2014 01:15:08 +0000 (01:15 +0000)]
String(new Date(Mar 30 2014 01:00:00)) is wrong in CET
https://bugs.webkit.org/show_bug.cgi?id=130967

Patch by Byungseon Shin <sun.shin@lge.com> on 2014-10-22
Reviewed by Mark Lam.

Source/JavaScriptCore:

By definition of calculateLocalTimeOffset, input time should be UTC time.
But there are many cases when input time is based on local time.
So, it gives erroneous results while calculating offset of DST boundary time.
By adding a argument to distinguish UTC and local time, we can get the correct offset.

* JavaScriptCore.order:
* runtime/DateConstructor.cpp:
(JSC::constructDate):
(JSC::callDate):
(JSC::dateUTC):
* runtime/DateInstance.cpp:
(JSC::DateInstance::calculateGregorianDateTime):
(JSC::DateInstance::calculateGregorianDateTimeUTC):
* runtime/DatePrototype.cpp:
(JSC::setNewValueFromTimeArgs):
(JSC::setNewValueFromDateArgs):
(JSC::dateProtoFuncSetMilliSeconds):
(JSC::dateProtoFuncSetUTCMilliseconds):
(JSC::dateProtoFuncSetSeconds):
(JSC::dateProtoFuncSetUTCSeconds):
(JSC::dateProtoFuncSetMinutes):
(JSC::dateProtoFuncSetUTCMinutes):
(JSC::dateProtoFuncSetHours):
(JSC::dateProtoFuncSetUTCHours):
(JSC::dateProtoFuncSetDate):
(JSC::dateProtoFuncSetUTCDate):
(JSC::dateProtoFuncSetMonth):
(JSC::dateProtoFuncSetUTCMonth):
(JSC::dateProtoFuncSetFullYear):
(JSC::dateProtoFuncSetUTCFullYear):
(JSC::dateProtoFuncSetYear):
* runtime/JSDateMath.cpp:
(JSC::localTimeOffset):
(JSC::gregorianDateTimeToMS):
(JSC::msToGregorianDateTime):
(JSC::parseDateFromNullTerminatedCharacters):
* runtime/JSDateMath.h:
* runtime/VM.h:
(JSC::LocalTimeOffsetCache::LocalTimeOffsetCache):
(JSC::LocalTimeOffsetCache::reset):
Passing TimeType argument to distingush UTC time and local time.

Source/WTF:

By definition of calculateLocalTimeOffset, input time should be UTC time.
But there are many cases when input time is based on local time.
So, it gives erroneous results while calculating offset of DST boundary time.
By adding a argument to distinguish UTC and local time, we can get the correct offset.

* wtf/DateMath.cpp:
(WTF::calculateLocalTimeOffset):
(WTF::parseDateFromNullTerminatedCharacters):
Compensate time offset depends on UTC time or local time.
* wtf/DateMath.h:
Add argument to differenciate UTC or local time.

LayoutTests:

Set latest DST timezone boundary values on
<http://www.timeanddate.com/time/zone/usa/los-angeles>

* js/dom/script-tests/date-DST-time-cusps.js:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@175078 268f45cc-cd09-0410-ab3c-d52691b4dbfc