WebKit-https.git
7 years agoREGRESSION(r169092 and r169102): Skip failing JSC tests on ARM64 properly
commit-queue@webkit.org [Wed, 21 May 2014 14:56:52 +0000 (14:56 +0000)]
REGRESSION(r169092 and r169102): Skip failing JSC tests on ARM64 properly
https://bugs.webkit.org/show_bug.cgi?id=133149

Patch by Eva Balazsfalvi <evab.u-szeged@partner.samsung.com> on 2014-05-21
Reviewed by Csaba Osztrogonác.

PerformanceTests/SunSpider:
* profiler-test.yaml:

Source/JavaScriptCore:
* tests/mozilla/mozilla-tests.yaml:

LayoutTests:
* js/script-tests/function-apply-many-args.js:

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

7 years agoUnreviewed EFL gardening
m.pakula@samsung.com [Wed, 21 May 2014 14:43:44 +0000 (14:43 +0000)]
Unreviewed EFL gardening

Rebaseline test expectations after r169048.

* platform/efl/css1/box_properties/float_on_text_elements-expected.txt:
* platform/efl/css1/text_properties/text_indent-expected.txt:
* platform/efl/css2.1/t0905-c414-flt-wrap-00-e-expected.txt:
* platform/efl/css2.1/t0905-c5525-fltwidth-00-c-g-expected.txt:
* platform/efl/css2.1/t100801-c544-valgn-00-a-ag-expected.txt:
* platform/efl/css2.1/t100801-c544-valgn-02-d-agi-expected.txt:
* platform/efl/css2.1/t100801-c544-valgn-03-d-agi-expected.txt:
* platform/efl/css2.1/t100801-c544-valgn-04-d-agi-expected.txt:
* platform/efl/css2.1/t1601-c547-indent-00-b-a-expected.txt:
* platform/efl/fast/block/float/026-expected.txt:
* platform/efl/fast/block/float/028-expected.txt:
* platform/efl/fast/css/empty-pseudo-class-expected.txt:
* platform/efl/fast/css/first-child-pseudo-class-expected.txt:
* platform/efl/fast/css/first-of-type-pseudo-class-expected.txt:
* platform/efl/fast/css/last-child-pseudo-class-expected.txt:
* platform/efl/fast/css/last-of-type-pseudo-class-expected.txt:
* platform/efl/fast/css/only-child-pseudo-class-expected.txt:
* platform/efl/fast/css/only-of-type-pseudo-class-expected.txt:
* platform/efl/fast/line-grid/line-align-left-edges-expected.txt:
* platform/efl/fast/multicol/column-count-with-rules-expected.txt:
* platform/efl/fast/multicol/float-multicol-expected.txt:
* platform/efl/fast/multicol/layers-in-multicol-expected.txt:
* platform/efl/fast/multicol/vertical-lr/float-multicol-expected.txt:
* platform/efl/fast/multicol/vertical-rl/float-multicol-expected.txt:
* platform/efl/fast/repaint/line-flow-with-floats-1-expected.txt:
* platform/efl/fast/repaint/line-flow-with-floats-10-expected.txt:
* platform/efl/fast/repaint/line-flow-with-floats-2-expected.txt:
* platform/efl/fast/repaint/line-flow-with-floats-3-expected.txt:
* platform/efl/fast/repaint/line-flow-with-floats-4-expected.txt:
* platform/efl/fast/repaint/line-flow-with-floats-5-expected.txt:
* platform/efl/fast/repaint/line-flow-with-floats-6-expected.txt:
* platform/efl/fast/repaint/line-flow-with-floats-7-expected.txt:
* platform/efl/fast/repaint/line-flow-with-floats-8-expected.txt:
* platform/efl/fast/repaint/line-flow-with-floats-9-expected.txt:
* platform/efl/fast/text/whitespace/024-expected.txt:

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

7 years ago[CMake] Support building with Debug Fission
gns@gnome.org [Wed, 21 May 2014 13:08:35 +0000 (13:08 +0000)]
[CMake] Support building with Debug Fission
https://bugs.webkit.org/show_bug.cgi?id=131177

Reviewed by Philippe Normand.

* Source/cmake/OptionsCommon.cmake: add a DEBUG_FISSION option to enable usage
of http://gcc.gnu.org/wiki/DebugFission.

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

7 years agoREGRESSION(r169092): It broke run-jsc-stress tests on non Mac platforms
ossy@webkit.org [Wed, 21 May 2014 12:01:42 +0000 (12:01 +0000)]
REGRESSION(r169092): It broke run-jsc-stress tests on non Mac platforms
https://bugs.webkit.org/show_bug.cgi?id=133145

Patch by Eva Balazsfalvi <evab.u-szeged@partner.samsung.com> on 2014-05-21
Reviewed by Csaba Osztrogonác.

* Scripts/run-jsc-stress-tests:

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

7 years agoUnreviewed EFL gardening.
jinwoo7.song@samsung.com [Wed, 21 May 2014 11:55:30 +0000 (11:55 +0000)]
Unreviewed EFL gardening.

* platform/efl/fast/css/absolute-child-with-percent-height-inside-relative-parent-expected.txt: Added.
Rebaseline after r169048.

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

7 years ago[GTK] Unreviewed GTK gardening
berto@igalia.com [Wed, 21 May 2014 09:28:54 +0000 (09:28 +0000)]
[GTK] Unreviewed GTK gardening

Patch by Lorenzo Tilve <ltilve@igalia.com> on 2014-05-21

* platform/gtk/TestExpectations: Report and mark new tests failing.
* platform/gtk/fast/css/absolute-child-with-percent-height-inside-relative-parent-expected.txt: Added.
Rebaseline after r169048.

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

7 years ago[EFL] Ensure EGLOffScreenContext::initialize calls platformMakeCurrent on the surface
simon.pena@samsung.com [Wed, 21 May 2014 09:11:14 +0000 (09:11 +0000)]
[EFL] Ensure EGLOffScreenContext::initialize calls platformMakeCurrent on the surface
https://bugs.webkit.org/show_bug.cgi?id=124832

Reviewed by Antonio Gomes.

The original code was only calling platformMakeCurrent when the
GL_EXT_robustness extension is supported: the alternate code path
would only create a context, but it wouldn't make that context
current. This patch ensures platformMakeCurrent is also called for
the alternate code path, and, if it fails to make the context
current, will destroy the context. Effectively, this makes both
code paths behave in the same way.

* platform/graphics/surfaces/egl/EGLContext.cpp:
(WebCore::EGLOffScreenContext::initialize):

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

7 years ago[WebKit2] Cleanup the build from unused variable in WebProcess module
commit-queue@webkit.org [Wed, 21 May 2014 08:12:50 +0000 (08:12 +0000)]
[WebKit2] Cleanup the build from unused variable in WebProcess module
https://bugs.webkit.org/show_bug.cgi?id=133062

Patch by Shivakumar JM <shiva.jm@samsung.com> on 2014-05-21
Reviewed by Csaba Osztrogonác.

Fix unused parameter by using UNUSED_PARAM macro

* WebProcess/UserContent/WebUserContentController.cpp:
(WebKit::WebUserContentController::addUserScriptMessageHandlers):
(WebKit::WebUserContentController::removeUserScriptMessageHandler):

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

7 years agoRolled out <http://trac.webkit.org/changeset/166184>
ggaren@apple.com [Wed, 21 May 2014 06:55:02 +0000 (06:55 +0000)]
Rolled out <trac.webkit.org/changeset/166184>
https://bugs.webkit.org/show_bug.cgi?id=133144

Reviewed by Gavin Barraclough.

It caused a performance regression.

../JavaScriptCore:
* heap/BlockAllocator.cpp:
(JSC::BlockAllocator::blockFreeingThreadStartFunc):

../WTF:
* wtf/FastMalloc.cpp:
(WTF::TCMalloc_PageHeap::runScavengerThread):
* wtf/Threading.h:
* wtf/ThreadingPthreads.cpp:
(WTF::createThreadInternal):
(WTF::setCurrentThreadQOSUtility): Deleted.
* wtf/ThreadingWin.cpp:
(WTF::setCurrentThreadQOSUtility): Deleted.

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

7 years agoVersioning.
lforschler@apple.com [Wed, 21 May 2014 06:01:19 +0000 (06:01 +0000)]
Versioning.

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

7 years ago[Mac] DataCues do not work properly when rewinding video
bfulgham@apple.com [Wed, 21 May 2014 04:08:33 +0000 (04:08 +0000)]
[Mac] DataCues do not work properly when rewinding video
https://bugs.webkit.org/show_bug.cgi?id=133138
<rdar://problem/16979086>

Reviewed by Eric Carlson.

Make the TrackPrivateBase responsible for knowing if a type of track needs a non-zero
startTimeVariance value.

Also, correct a bug in the equality test for DataCue objects.

* html/track/DataCue.cpp:
(WebCore::DataCue::isEqual): Handle the JSValue data types consistently, so that we don't attempt
to compare a JSNull against a default JSValue object.
* html/track/InbandTextTrack.cpp:
(WebCore::InbandTextTrack::startTimeVariance): Added.
* html/track/InbandTextTrack.h:
* html/track/TextTrack.cpp:
(WebCore::TextTrack::hasCue): Use new startTimeVariance method location.
* html/track/TextTrack.h:
(WebCore::TextTrack::startTimeVariance): Added.
* html/track/TextTrackCue.cpp:
(WebCore::TextTrackCue::hasEquivalentStartTime): Use new startTimeVariance location.
* html/track/TextTrackCue.h:
(WebCore::TextTrackCue::startTimeVariance): Deleted.
* html/track/TextTrackCueGeneric.h:
* platform/graphics/TrackPrivateBase.h:
(WebCore::TrackPrivateBase::startTimeVariance): Added.
* platform/graphics/avfoundation/InbandTextTrackPrivateAVF.h:

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

7 years agoDFG prediction propagation should agree with fixup phase over the return type of...
fpizlo@apple.com [Wed, 21 May 2014 03:49:16 +0000 (03:49 +0000)]
DFG prediction propagation should agree with fixup phase over the return type of GetByVal
https://bugs.webkit.org/show_bug.cgi?id=133134

Reviewed by Mark Hahnenberg.

Make prediction propagator use ArrayMode refinement to decide the return type.

Also introduce a heap prediction intrinsic that allows us to test weird corner cases
like this. The only way we'll see a mismatch like this in the real world is probably
through a gnarly race condition.

* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::handleIntrinsic):
* dfg/DFGNode.h:
(JSC::DFG::Node::setHeapPrediction):
* dfg/DFGPredictionPropagationPhase.cpp:
(JSC::DFG::PredictionPropagationPhase::propagate):
* jsc.cpp:
(GlobalObject::finishCreation):
(functionFalse1):
(functionFalse2):
(functionUndefined1):
(functionUndefined2):
(functionFalse): Deleted.
(functionOtherFalse): Deleted.
(functionUndefined): Deleted.
* runtime/Intrinsic.h:
* tests/stress/get-by-val-double-predicted-int.js: Added.
(foo):

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

7 years agoREGRESSION (WK2): Tapping on the input field in duckduckgo.com shows the keyboard...
enrica@apple.com [Wed, 21 May 2014 00:13:30 +0000 (00:13 +0000)]
REGRESSION (WK2): Tapping on the input field in duckduckgo.com shows the keyboard but not the caret.
https://bugs.webkit.org/show_bug.cgi?id=133140
<rdar://problem/16980898>

Reviewed by Benjamin Poulain.

When a page focuses a field on load, we receive the call to startAssistingNode
but we don't create a text interaction assistant if the focus is not originated
by a user action. Upon receiving the selection change notification we don't
call the text interaction assistant, since we don't have one, but we do call
the web selection assistant. We don't have any valid rects for web selection
and we clear the selection on the page, causing the caret not to appear and
the typing to have no effect.

* UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _updateChangedSelection]):

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

7 years agoWatchdog timer should be lazily allocated
mhahnenberg@apple.com [Tue, 20 May 2014 22:55:49 +0000 (22:55 +0000)]
Watchdog timer should be lazily allocated
https://bugs.webkit.org/show_bug.cgi?id=133135

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:
We incur a noticeable amount of overhead on some benchmarks due to checking if the Watchdog ever fired.
There is no reason to do this checking if we never activated the Watchdog, which can only be done through
JSContextGroupSetExecutionTimeLimit or JSContextGroupClearExecutionTimeLimit.

By allocating the Watchdog lazily on the VM we can avoid all of the associated overhead when we don't use
these two API functions (which is true of most clients).

* API/JSContextRef.cpp:
(JSContextGroupSetExecutionTimeLimit):
(JSContextGroupClearExecutionTimeLimit):
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::parseBlock):
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* interpreter/Interpreter.cpp:
(JSC::Interpreter::execute):
(JSC::Interpreter::executeCall):
(JSC::Interpreter::executeConstruct):
* jit/JITOpcodes.cpp:
(JSC::JIT::emit_op_loop_hint):
(JSC::JIT::emitSlow_op_loop_hint):
* jit/JITOperations.cpp:
* llint/LLIntSlowPaths.cpp:
(JSC::LLInt::LLINT_SLOW_PATH_DECL):
* runtime/VM.h:
* runtime/Watchdog.cpp:
(JSC::Watchdog::Scope::Scope): Deleted.
(JSC::Watchdog::Scope::~Scope): Deleted.
* runtime/Watchdog.h:
(JSC::Watchdog::Scope::Scope):
(JSC::Watchdog::Scope::~Scope):

Source/WebCore:
No new tests.

We incur a noticeable amount of overhead on some benchmarks due to checking if the Watchdog ever fired.
There is no reason to do this checking if we never activated the Watchdog, which can only be done through
JSContextGroupSetExecutionTimeLimit or JSContextGroupClearExecutionTimeLimit.

By allocating the Watchdog lazily on the VM we can avoid all of the associated overhead when we don't use
these two API functions (which is true of most clients).

* bindings/js/JSEventListener.cpp:
(WebCore::JSEventListener::handleEvent):
* bindings/js/WorkerScriptController.cpp:
(WebCore::WorkerScriptController::evaluate):
(WebCore::WorkerScriptController::scheduleExecutionTermination):
(WebCore::WorkerScriptController::isExecutionTerminating):

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

7 years ago[Mac] Allow popup menus to override default appearance
dino@apple.com [Tue, 20 May 2014 21:03:54 +0000 (21:03 +0000)]
[Mac] Allow popup menus to override default appearance
https://bugs.webkit.org/show_bug.cgi?id=133129

Reviewed by Tim Horton.

Source/WebCore:
WebKitSystemInterface's WKPopupMenu has a flag to hide
the arrows at the end of a popup-menu (e.g. <select>).
Expose that via adding a hasDefaultAppearance flag to
PopupMenuStyle, which then passes it on to WKSI.

* platform/PopupMenuStyle.h:
(WebCore::PopupMenuStyle::PopupMenuStyle): New flag in constructor.
(WebCore::PopupMenuStyle::hasDefaultAppearance): New flag.
* platform/mac/WebCoreSystemInterface.h: wkPopupMenu signature has changed to accept
the new flag.
* platform/mac/WebCoreSystemInterface.mm: Ditto.
* rendering/RenderMenuList.cpp:
(RenderMenuList::itemStyle): Pass in true as default appearance when creating
the PopupMenuStyle. We don't need it.
(RenderMenuList::menuStyle): In this case we pass in the negated value of
style().hasAppearance(), which indicates if we are overriding the built-in drawing.
* rendering/RenderSearchField.cpp:
(WebCore::RenderSearchField::menuStyle): Use true as the default value.

Source/WebKit/mac:
Replace the call to wkPopupMenuWithSize with wkPopupMenu, now
with extra parameters to indicate the control size and whether
or not to draw the arrows at the end.

* WebCoreSupport/PopupMenuMac.mm:
(PopupMenuMac::show):

Source/WebKit2:
Add an extra "hideArrows" flag to PlatformPopupMenuData
and replace the call to WKPopupMenuWithSize with WKPopupMenu.

* Shared/PlatformPopupMenuData.cpp: Encode and decode the new data value.
(WebKit::PlatformPopupMenuData::encode):
(WebKit::PlatformPopupMenuData::decode):
* Shared/PlatformPopupMenuData.h: Add hideArrows boolean.
* UIProcess/mac/WebPopupMenuProxyMac.mm:
(WebKit::WebPopupMenuProxyMac::showPopupMenu):
* WebProcess/WebCoreSupport/mac/WebPopupMenuMac.mm:
(WebKit::WebPopupMenu::setUpPlatformData): The hideArrows flag is
true if we don't have the default appearance.

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

7 years ago[Mac] Allow popup menus to override default appearance
dino@apple.com [Tue, 20 May 2014 20:59:58 +0000 (20:59 +0000)]
[Mac] Allow popup menus to override default appearance
https://bugs.webkit.org/show_bug.cgi?id=133129

Reviewed by Tim Horton.

Add a new parameter to WKPopupMenu.

* WebKitSystemInterface.h:
* libWebKitSystemInterfaceMavericks.a:
* libWebKitSystemInterfaceMountainLion.a:

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

7 years ago[Mac] AVAssets are never destroyed; lack of an autorelease pool when calling callOnMa...
jer.noble@apple.com [Tue, 20 May 2014 20:57:17 +0000 (20:57 +0000)]
[Mac] AVAssets are never destroyed; lack of an autorelease pool when calling callOnMainThread.
https://bugs.webkit.org/show_bug.cgi?id=133130

Reviewed by Geoff Garen.

Wrap the function to be called in an autorelease pool, so that autoreleased objects are cleaned
up immediately after the end of the function.

* wtf/mac/MainThreadMac.mm:
(WTF::timerFired):

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

7 years ago[Mac] do not deactivate an audio session that has running I/O
eric.carlson@apple.com [Tue, 20 May 2014 20:52:17 +0000 (20:52 +0000)]
[Mac] do not deactivate an audio session that has running I/O
https://bugs.webkit.org/show_bug.cgi?id=133127

Reviewed by Jer Noble.

Source/WebCore:
* page/Settings.h:
(WebCore::Settings::setShouldManageAudioSessionCategory): Renamed from setShouldManageAudioSession.
(WebCore::Settings::shouldManageAudioSessionCategory): Renamed from shouldManageAudioSession.
(WebCore::Settings::setShouldManageAudioSession): Deleted.
(WebCore::Settings::shouldManageAudioSession): Deleted.

* platform/audio/mac/MediaSessionManagerMac.cpp:
(MediaSessionManager::updateSessionState): Don't deactivate the session if there are any
    Video or Audio sessions.

* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::assetStatus): Drive-by change to log errors
    returned by -statusOfValueForKey:error: in debug builds.

Source/WebKit/mac:
* WebView/WebView.mm:
(-[WebView _commonInitializationWithFrameName:groupName:]): Settings::setShouldManageAudioSession
    renamed to setShouldManageAudioSessionCategory, deal with it.

Source/WebKit2:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::WebPage): Settings::setShouldManageAudioSession renamed to
    setShouldManageAudioSessionCategory, deal with it.

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

7 years agoREGRESSION: All non-mainframe scrollbars don't paint after r169065
bdakin@apple.com [Tue, 20 May 2014 20:36:27 +0000 (20:36 +0000)]
REGRESSION: All non-mainframe scrollbars don't paint after r169065
https://bugs.webkit.org/show_bug.cgi?id=133132
-and corresponding-
<rdar://problem/16968850>

Reviewed by Geoff Garen.

We should not universally return true here. This feature will only work for
scrollbars with layers.
* platform/ScrollableArea.h:
* platform/Scrollbar.cpp:
(WebCore::Scrollbar::supportsUpdateOnSecondaryThread):

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

7 years agoElement within flattened frame may update its scroll state during the layout phase...
dbates@webkit.org [Tue, 20 May 2014 20:34:35 +0000 (20:34 +0000)]
Element within flattened frame may update its scroll state during the layout phase of the wrong RenderView
https://bugs.webkit.org/show_bug.cgi?id=133013
<rdar://problem/16760154>

Reviewed by David Hyatt.

Source/WebCore:
Fixes an issue where the scroll state of an element may be updated during the layout of the wrong
RenderView. In particular, the scroll state of an element inside a CSS flex box in a flattened
frame f is updated during the layout of the RenderView associated with the parent frame of f instead
of during the layout of the RenderView associated with f.

The layout machinery assumes that the scroll state of each scrollable element is updated before the
completion of layout for its associated RenderView. Currently we have logic to defer updating the scroll
state of a scrollable element until completion of recursive layout. For a page with a flattened frame, we
defer such updates until completion of layout for all RenderViews along the ancestor frame hierarchy of
each flattened frame regardless of the RenderView associated with the element that originated the
deferred scroll state request. Instead, only the RenderView associated with the element that deferred its
scroll state update should dispatch the scroll state update.

Tests: fast/frames/flattening/scrollable-flexbox-inside-iframe-with-zero-height-and-needs-full-repaint-crash.html
       fast/frames/flattening/scrollable-flexbox-inside-iframe-with-zero-height-assertion-failure.html

* rendering/RenderBlock.cpp: Removed WTF::-prefix in typedef definition for ContinuationOutlineTableMap.
(WebCore::UpdateScrollInfoAfterLayoutTransaction::UpdateScrollInfoAfterLayoutTransaction): Added; a struct
that represents a RenderView v, nested transaction count, and a list of RenderBlocks in v that will need
to have their scroll state updated.
(WebCore::updateScrollInfoAfterLayoutTransactionStack): Added; returns the global stack of transactions.
(WebCore::RenderBlock::willBeDestroyed): Call removeFromUpdateScrollInfoAfterLayoutTransaction(), which
was formerly named as removeFromDelayedUpdateScrollInfoSet.
(WebCore::currentUpdateScrollInfoAfterLayoutTransaction): Added; returns the top-most transaction in the
global stack.
(WebCore::RenderBlock::beginUpdateScrollInfoAfterLayoutTransaction): Modified as appropriate to make use
of the global stack of transactions; formerly named startDelayUpdateScrollInfo.
(WebCore::RenderBlock::endAndCommitUpdateScrollInfoAfterLayoutTransaction): Modified as appropriate to
make use of the global stack of transactions; formerly named finishDelayUpdateScrollInfo.
(WebCore::RenderBlock::removeFromUpdateScrollInfoAfterLayoutTransaction): Modified as appropriate to make
use of the global stack of transactions; formerly named removeFromDelayedUpdateScrollInfoSet.
(WebCore::RenderBlock::updateScrollInfoAfterLayout): Modified as appropriate to make use of the global
stack of transactions.
(WebCore::RenderBlock::layout): Ditto.
(WebCore::RenderBlock::startDelayUpdateScrollInfo): Deleted.
(WebCore::RenderBlock::finishDelayUpdateScrollInfo): Deleted.
(WebCore::RenderBlock::removeFromDelayedUpdateScrollInfoSet): Deleted.
* rendering/RenderBlock.h:
* rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::willBeDestroyed): Call removeFromUpdateScrollInfoAfterLayoutTransaction(), which
was formerly named removeFromDelayedUpdateScrollInfoSet.
* rendering/RenderDeprecatedFlexibleBox.cpp:
(WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox): Call {begin, end}UpdateScrollInfoAfterLayoutTransaction(),
which was formerly named {start, end}DelayUpdateScrollInfo.
(WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox): Ditto.
* rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::layoutBlock): Ditto.

LayoutTests:
Added tests to ensure that that we update the scroll state of an element during the layout phase of its
associated RenderView.

* fast/frames/flattening/scrollable-flexbox-inside-iframe-with-zero-height-and-needs-full-repaint-crash-expected.txt: Added.
* fast/frames/flattening/scrollable-flexbox-inside-iframe-with-zero-height-and-needs-full-repaint-crash.html: Added.
* fast/frames/flattening/scrollable-flexbox-inside-iframe-with-zero-height-assertion-failure-expected.txt: Added.
* fast/frames/flattening/scrollable-flexbox-inside-iframe-with-zero-height-assertion-failure.html: Added.

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

7 years agoREGRESSION (r169065): Mountain Lion run-api-tests failures: ASSERTION FAILED:
bdakin@apple.com [Tue, 20 May 2014 19:31:01 +0000 (19:31 +0000)]
REGRESSION (r169065): Mountain Lion run-api-tests failures: ASSERTION FAILED:
Uncaught exception - -[NSRegularLegacyScrollerImp setPresentationValue:]:
unrecognized selector sent to instance 0x7ff51aa38000
https://bugs.webkit.org/show_bug.cgi?id=133121

Reviewed by Tim Horton.

* platform/mac/ScrollbarThemeMac.mm:
(WebCore::ScrollbarThemeMac::setPaintCharacteristicsForScrollbar):

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

7 years agoREGRESSION (r169063) Fixed and sticky nodes misplaced on scrolling sometimes
simon.fraser@apple.com [Tue, 20 May 2014 19:13:14 +0000 (19:13 +0000)]
REGRESSION (r169063) Fixed and sticky nodes misplaced on scrolling sometimes
https://bugs.webkit.org/show_bug.cgi?id=133106
<rdar://problem/16967648>

Reviewed by Sam Weinig.

Fix regression from r169063. That commit removed scrolledContentsLayers from
frame scrolling nodes, but they do actually use them.

So put them back; not in the base class, because they have a somewhat different
meaning for overflow scrolling and frame scrolling.

Source/WebCore:
* WebCore.exp.in:
* page/scrolling/AsyncScrollingCoordinator.cpp:
(WebCore::AsyncScrollingCoordinator::frameViewRootLayerDidChange):
(WebCore::AsyncScrollingCoordinator::updateFrameScrollingNode):
* page/scrolling/AsyncScrollingCoordinator.h:
* page/scrolling/ScrollingCoordinator.h:
(WebCore::ScrollingCoordinator::updateFrameScrollingNode):
* page/scrolling/ScrollingStateFrameScrollingNode.cpp:
(WebCore::ScrollingStateFrameScrollingNode::ScrollingStateFrameScrollingNode):
(WebCore::ScrollingStateFrameScrollingNode::setScrolledContentsLayer):
* page/scrolling/ScrollingStateFrameScrollingNode.h:
* page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.mm:
(WebCore::ScrollingTreeFrameScrollingNodeMac::updateBeforeChildren):
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::updateScrollCoordinatedLayer):

Source/WebKit2:
* Shared/Scrolling/RemoteScrollingCoordinatorTransaction.cpp:
(ArgumentCoder<ScrollingStateFrameScrollingNode>::encode):
(ArgumentCoder<ScrollingStateFrameScrollingNode>::decode):
(WebKit::RemoteScrollingTreeTextStream::dump):
* UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.cpp:
(WebKit::RemoteScrollingCoordinatorProxy::connectStateNodeLayers):

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

7 years ago[Mac] WebProcess doesn't follow localization of UI process when run as a service
ap@apple.com [Tue, 20 May 2014 18:44:52 +0000 (18:44 +0000)]
[Mac] WebProcess doesn't follow localization of UI process when run as a service
https://bugs.webkit.org/show_bug.cgi?id=133126
<rdar://problem/13396515>
<rdar://problem/16561084>

Reviewed by Sam Weinig and Tim Horton.

Source/WebKit2:
* Shared/EntryPointUtilities/mac/XPCService/XPCServiceMain.Development.mm:
(WebKit::handleXPCBootstrap):
(main):
* Shared/EntryPointUtilities/mac/XPCService/XPCServiceMain.mm:
(WebKit::handleXPCBootstrap):
(main):
Set localization very early in process lifetime (in development builds, that's
even before WebKit framework is loaded).

* UIProcess/Launcher/mac/ProcessLauncherMac.mm: (WebKit::connectToService):
Pass UI process localization to the service, computing it in the same way we do
for child processes.

Tools:
* WebKitTestRunner/InjectedBundle/mac/InjectedBundleMac.mm:
(WTR::InjectedBundle::platformInitialize): It was too late to override language
here, and it's not necessary any more. Keeping the code for older OS versions in
case it did have effect in some code paths.

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

7 years agoJSArray::shiftCountWith* could be more efficient
mhahnenberg@apple.com [Tue, 20 May 2014 18:07:48 +0000 (18:07 +0000)]
JSArray::shiftCountWith* could be more efficient
https://bugs.webkit.org/show_bug.cgi?id=133011

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:
Our current implementations of shiftCountWithAnyIndexingType and shiftCountWithArrayStorage
are scared of the presence of any holes in the array. We can mitigate this somewhat by enabling
them to correctly handle holes, thus avoiding the slowest of slow paths in most cases.

* runtime/ArrayStorage.h:
(JSC::ArrayStorage::indexingHeader):
(JSC::ArrayStorage::length):
(JSC::ArrayStorage::hasHoles):
* runtime/IndexingHeader.h:
(JSC::IndexingHeader::publicLength):
(JSC::IndexingHeader::from):
* runtime/JSArray.cpp:
(JSC::JSArray::shiftCountWithArrayStorage):
(JSC::JSArray::shiftCountWithAnyIndexingType):
(JSC::JSArray::unshiftCountWithArrayStorage):
* runtime/JSArray.h:
(JSC::JSArray::shiftCountForShift):
(JSC::JSArray::shiftCountForSplice):
(JSC::JSArray::shiftCount):
* runtime/Structure.cpp:
(JSC::Structure::holesRequireSpecialBehavior):
* runtime/Structure.h:

LayoutTests:
Added a performance regression test which tests the contiguous shift case. We're ~85% faster
on this microbenchmark with this patch.

Also added a bunch of tests for each permutation of contiguous/array storage with no holes, holes,
and holes that require special behavior (e.g. indexed properties in the prototype chain).

* js/array-storage-splice-holes-expected.txt: Added.
* js/array-storage-splice-holes-require-special-behavior-expected.txt: Added.
* js/array-storage-splice-holes-require-special-behavior.html: Added.
* js/array-storage-splice-holes.html: Added.
* js/array-storage-splice-no-holes-expected.txt: Added.
* js/array-storage-splice-no-holes.html: Added.
* js/contiguous-splice-holes-expected.txt: Added.
* js/contiguous-splice-holes-require-special-behavior-expected.txt: Added.
* js/contiguous-splice-holes-require-special-behavior.html: Added.
* js/contiguous-splice-holes.html: Added.
* js/contiguous-splice-no-holes-expected.txt: Added.
* js/contiguous-splice-no-holes.html: Added.
* js/regress/array-splice-contiguous-expected.txt: Added.
* js/regress/array-splice-contiguous.html: Added.
* js/regress/script-tests/array-splice-contiguous.js: Added.
(foo):
* js/script-tests/array-storage-splice-holes-require-special-behavior.js: Added.
* js/script-tests/array-storage-splice-holes.js: Added.
* js/script-tests/array-storage-splice-no-holes.js: Added.
* js/script-tests/contiguous-splice-holes-require-special-behavior.js: Added.
* js/script-tests/contiguous-splice-holes.js: Added.
* js/script-tests/contiguous-splice-no-holes.js: Added.

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

7 years agoREGRESSION: [CSS Regions] Content flowed directly into the flow thread that ends...
stavila@adobe.com [Tue, 20 May 2014 17:38:04 +0000 (17:38 +0000)]
REGRESSION: [CSS Regions] Content flowed directly into the flow thread that ends up in the second region is not properly repainted
https://bugs.webkit.org/show_bug.cgi?id=133111

Reviewed by David Hyatt.

Source/WebCore:
When computing the repaint rect of an element flowed into a flow thread, if the element is flowed directly into
the flow thread (meaning its containing block is the flow thread itself), the region's position within the flow
must no longer be taken into consideration, because its already included in the element's |topLeft|.

Test: fast/regions/hover-element-flowed-second-region.html

* rendering/RenderBox.cpp:
(WebCore::RenderBox::computeRectForRepaint):

LayoutTests:
Added test for the correct repaint of an element flowed directly into the second region of a flow thread.

* fast/regions/hover-element-flowed-second-region-expected.html: Added.
* fast/regions/hover-element-flowed-second-region.html: Added.

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

7 years agoFix web timing assertion failure.
commit-queue@webkit.org [Tue, 20 May 2014 17:29:35 +0000 (17:29 +0000)]
Fix web timing assertion failure.
https://bugs.webkit.org/show_bug.cgi?id=133094
<rdar://problem/16966032>

Patch by Alex Christensen <achristensen@webkit.org> on 2014-05-20
Reviewed by Alexey Proskuryakov.

* platform/network/mac/ResourceHandleMac.mm:
(WebCore::ResourceHandle::getConnectionTimingData):
Set requestStart and responseStart to 0 instead of -1 to match the
ResourceLoadTiming constructor and prevent the assertion failure in
PerformanceTiming::responseStart.

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

7 years agoOnly set title on SVG documents
commit-queue@webkit.org [Tue, 20 May 2014 17:13:35 +0000 (17:13 +0000)]
Only set title on SVG documents
https://bugs.webkit.org/show_bug.cgi?id=133068

Patch by Prashant Hiremath <hiremathprashants@gmail.com> on 2014-05-20
Reviewed by Dirk Schulze.

Source/WebCore:
Test: svg/custom/html_document_set_title.html

* svg/SVGTitleElement.cpp:
(WebCore::SVGTitleElement::insertedInto):
(WebCore::SVGTitleElement::removedFrom):
(WebCore::SVGTitleElement::childrenChanged):

LayoutTests:
* svg/custom/html_document_set_title-expected.txt: Added.
* svg/custom/html_document_set_title.html: Added.

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

7 years agoREGRESSION(r169105): fast/regions/cssom/region-range-for-box-crash.html is more crash...
ap@apple.com [Tue, 20 May 2014 17:08:59 +0000 (17:08 +0000)]
REGRESSION(r169105): fast/regions/cssom/region-range-for-box-crash.html is more crashy than before
https://bugs.webkit.org/show_bug.cgi?id=133124

* TestExpectations: Skip it.

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

7 years agoSkip http/tests/inspector/replay/document-last-modified-fallback-value.html since...
andersca@apple.com [Tue, 20 May 2014 17:06:29 +0000 (17:06 +0000)]
Skip http/tests/inspector/replay/document-last-modified-fallback-value.html since it asserts.

* TestExpectations:

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

7 years ago[Curl] Invalid content in cache file, causes broken rendering.
commit-queue@webkit.org [Tue, 20 May 2014 17:01:47 +0000 (17:01 +0000)]
[Curl] Invalid content in cache file, causes broken rendering.
https://bugs.webkit.org/show_bug.cgi?id=133069

Patch by peavo@outlook.com <peavo@outlook.com> on 2014-05-20
Reviewed by Brent Fulgham.

When data for a url is received as multiple parts, the cache file for the url is truncated when opened for writing,
and will only contain the last part of data received.
This is fixed by only opening the file once, and close it after all data has been received.

* platform/network/curl/CurlCacheEntry.cpp:
(WebCore::CurlCacheEntry::CurlCacheEntry): Initialize cache file handle member.
(WebCore::CurlCacheEntry::~CurlCacheEntry): Close cache file.
(WebCore::CurlCacheEntry::saveCachedData): Only open cache file once to avoid truncating.
(WebCore::CurlCacheEntry::didFail): Close cache file.
(WebCore::CurlCacheEntry::didFinishLoading): Ditto.
(WebCore::CurlCacheEntry::openContentFile): Added method to open cache file.
(WebCore::CurlCacheEntry::closeContentFile): Added method to close cache file.
* platform/network/curl/CurlCacheEntry.h: Added file handle member, and methods to open and close cache file.

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

7 years agoFix a header comment
andersca@apple.com [Tue, 20 May 2014 16:59:53 +0000 (16:59 +0000)]
Fix a header comment
https://bugs.webkit.org/show_bug.cgi?id=133123
<rdar://problem/16973783>

Reviewed by Geoffrey Garen.

* UIProcess/API/Cocoa/WKUserContentController.h:

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

7 years agoMove WebKitTestRunner to std::unique_ptr
dfarler@apple.com [Tue, 20 May 2014 16:23:16 +0000 (16:23 +0000)]
Move WebKitTestRunner to std::unique_ptr
https://bugs.webkit.org/show_bug.cgi?id=133081

Reviewed by Daniel Bates.

* WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::didCreatePage):
* WebKitTestRunner/InjectedBundle/InjectedBundle.h:
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::initialize):
(WTR::TestController::createWebViewWithOptions):
(WTR::TestController::resetStateToConsistentValues):
(WTR::TestController::runTest):
* WebKitTestRunner/TestController.h:
* WebKitTestRunner/TestInvocation.cpp:
* WebKitTestRunner/TestInvocation.h:
* WebKitTestRunner/WorkQueueManager.cpp:
(WTR::WorkQueueManager::processWorkQueue):
(WTR::WorkQueueManager::enqueue):
* WebKitTestRunner/WorkQueueManager.h:

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

7 years ago[GTK] WebKitWebPage::send-request always pass a valid pointer for redirected response
carlosgc@webkit.org [Tue, 20 May 2014 15:20:52 +0000 (15:20 +0000)]
[GTK] WebKitWebPage::send-request always pass a valid pointer for redirected response
https://bugs.webkit.org/show_bug.cgi?id=133119

Reviewed by Sergio Villar Senin.

Source/WebKit2:
The problem is that we were checking whether the passed in
WKURLResponseRef is NULL or not, but it's always a valid object
that can contain a NULL WebCore::ResourceResponse.

* WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp:
(willSendRequestForFrame): Pass NULL as redirect-response
parameter of WebKitWebPage::send-request signal when the
WebCore::ResourceResponse of the passed in WKURLResponseRef is NULL.

Tools:
Check that redirect response parameter of
WebKitWebPage::send-request signal is NULL when not redirecting
and a valid WebKitURIResponse object when redirecting.

* TestWebKitAPI/Tests/WebKit2Gtk/TestResources.cpp:
(testWebResourceSendRequest):
(serverCallback):
* TestWebKitAPI/Tests/WebKit2Gtk/WebExtensionTest.cpp:
(sendRequestCallback):

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

7 years agoMake fast/dom/remove-element-with-{id|name}-that-was-inserted-on-DOMNodeRemoved.html...
ddkilzer@apple.com [Tue, 20 May 2014 14:47:02 +0000 (14:47 +0000)]
Make fast/dom/remove-element-with-{id|name}-that-was-inserted-on-DOMNodeRemoved.html reliable
<http://webkit.org/b/133088>

Reviewed by Alexey Proskuryakov.

* fast/dom/remove-element-with-id-that-was-inserted-on-DOMNodeRemoved.html:
* fast/dom/remove-element-with-name-that-was-inserted-on-DOMNodeRemoved.html:
- Use waitUntilDone()/notifyDone() to make the tests reliable
  since they use setTimeout().

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

7 years ago[CSS Regions] Block incorrectly sized when containing an unsplittable box
stavila@adobe.com [Tue, 20 May 2014 14:34:56 +0000 (14:34 +0000)]
[CSS Regions] Block incorrectly sized when containing an unsplittable box
https://bugs.webkit.org/show_bug.cgi?id=132601

Reviewed by Antti Koivisto.

Source/WebCore:
When laying out elements in a region, when an inline element is encountered
the size of its parent must not be increased beyond the bottom of the current region,
unless if its the last region. This will ensure that the next sibling of the
inline element is correctly laid out at the top of the next region, instead
of leaving an empty space equal to the height of the overflow, as it did until now.

Tests: fast/regions/inline-block-inside-anonymous-overflow.html
       fast/regions/inline-block-overflow.html

* rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::adjustLinePositionForPagination):
(WebCore::RenderBlockFlow::hasNextPage):
* rendering/RenderBlockFlow.h:
* rendering/RenderBlockLineLayout.cpp:
(WebCore::RenderBlockFlow::layoutRunsAndFloatsInRange):
(WebCore::RenderBlockFlow::linkToEndLineIfNeeded):
(WebCore::RenderBlockFlow::determineStartPosition):
(WebCore::RenderBlockFlow::checkPaginationAndFloatsAtEndLine):

LayoutTests:
Added tests for the layout of elements following inline-block elements
that overflow their region, with and without anonymous blocks.

* fast/regions/inline-block-inside-anonymous-overflow-expected.html: Added.
* fast/regions/inline-block-inside-anonymous-overflow.html: Added.
* fast/regions/inline-block-overflow-expected.html: Added.
* fast/regions/inline-block-overflow.html: Added.

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

7 years agoDouble-tap zoom does not take obscuring insets into account
antti@apple.com [Tue, 20 May 2014 13:56:27 +0000 (13:56 +0000)]
Double-tap zoom does not take obscuring insets into account
https://bugs.webkit.org/show_bug.cgi?id=133116
<rdar://problem/16765604>

Reviewed by Anders Carlsson.

* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _zoomToRect:WebCore::atScale:origin:WebCore::]):

    Compute the zoom target taking insets into account.

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

7 years ago[GTK] Rename translation domain as WebKit2GTK-3.0
carlosgc@webkit.org [Tue, 20 May 2014 13:15:50 +0000 (13:15 +0000)]
[GTK] Rename translation domain as WebKit2GTK-3.0
https://bugs.webkit.org/show_bug.cgi?id=132953

Reviewed by Gustavo Noronha Silva.

.:
* Source/cmake/OptionsGTK.cmake:

Source/WebCore/platform/gtk/po:
* CMakeLists.txt:

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

7 years ago[CSS Regions] Add polygon tests for shapes on regions and shapes on the content flow
zoltan@webkit.org [Tue, 20 May 2014 12:34:01 +0000 (12:34 +0000)]
[CSS Regions] Add polygon tests for shapes on regions and shapes on the content flow
https://bugs.webkit.org/show_bug.cgi?id=133107

Reviewed by Mihnea Ovidenie.

* fast/regions/shape-outside-floats/regions-shape-outside-region-polygon-floats-expected.html: Added.
* fast/regions/shape-outside-floats/regions-shape-outside-region-polygon-floats.html: Added.

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

7 years agoREGRESSION(CMAKE): [GTK] Several WebKit2GTK+ unit tests are no longer built
carlosgc@webkit.org [Tue, 20 May 2014 12:17:56 +0000 (12:17 +0000)]
REGRESSION(CMAKE): [GTK] Several WebKit2GTK+ unit tests are no longer built
https://bugs.webkit.org/show_bug.cgi?id=133117

Reviewed by Philippe Normand.

Bring back missing tests to the build.

* TestWebKitAPI/Tests/WebKit2Gtk/CMakeLists.txt:

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

7 years ago[CSS Regions] Crash while painting block selection gaps in regions
mihnea@adobe.com [Tue, 20 May 2014 10:57:58 +0000 (10:57 +0000)]
[CSS Regions] Crash while painting block selection gaps in regions
https://bugs.webkit.org/show_bug.cgi?id=132720

Reviewed by David Hyatt.

Source/WebCore:
The fix for WebKit bug https://bugs.webkit.org/show_bug.cgi?id=131511
allowed selection highlight to match the DOM selection when the start
and end point of the selection were in different flow threads. In order
to enable that, the selection was performed separately on view and
render flow threads, considered selection subtrees.

However, the start and end points for each selection subtree were computed
by means of Range class but it is not always possible to construct a valid
Range from two pairs of RenderObjects and offsets.

This patch keeps the substrees approach but instead of storing the endpoints
for each subtree in a Range and continuously extending the Range, it stores them
using the already available SelectionSubtreeRoot class. After the end points are
computed for each subtree and before processing the subtree selection, the end points
are adjusted in a similar fashion as the one used in FrameSelection::updateAppearance(),
to make sure we are passing the same expected information to the method implementing
the visible selection processing.

Test: fast/regions/selection-gaps-paint-crash.html

* rendering/RenderView.cpp:
(WebCore::RenderView::splitSelectionBetweenSubtrees):
* rendering/SelectionSubtreeRoot.cpp:
(WebCore::SelectionSubtreeRoot::adjustForVisibleSelection):
* rendering/SelectionSubtreeRoot.h:
(WebCore::SelectionSubtreeRoot::selectionClear):

LayoutTests:
* TestExpectations: Unskip a test that was crashing
* fast/regions/selection-gaps-paint-crash-expected.txt: Added.
* fast/regions/selection-gaps-paint-crash.html: Added.

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

7 years ago[GTK] Unreviewed GTK gardening
commit-queue@webkit.org [Tue, 20 May 2014 09:52:02 +0000 (09:52 +0000)]
[GTK] Unreviewed GTK gardening

Rebaseline affected tests by changes on integral snapping of inlines
introduced at r169048.

Patch by Lorenzo Tilve <ltilve@igalia.com> on 2014-05-20

* platform/gtk/css1/box_properties/float_on_text_elements-expected.txt:
* platform/gtk/css1/text_properties/text_indent-expected.txt:
* platform/gtk/css2.1/t0905-c414-flt-wrap-00-e-expected.txt:
* platform/gtk/css2.1/t0905-c5525-fltwidth-00-c-g-expected.txt:
* platform/gtk/css2.1/t100801-c544-valgn-00-a-ag-expected.txt:
* platform/gtk/css2.1/t100801-c544-valgn-02-d-agi-expected.txt:
* platform/gtk/css2.1/t100801-c544-valgn-03-d-agi-expected.txt:
* platform/gtk/css2.1/t100801-c544-valgn-04-d-agi-expected.txt:
* platform/gtk/css2.1/t1601-c547-indent-00-b-a-expected.txt:
* platform/gtk/fast/block/float/026-expected.txt:
* platform/gtk/fast/block/float/028-expected.txt:
* platform/gtk/fast/css/empty-pseudo-class-expected.txt:
* platform/gtk/fast/css/first-child-pseudo-class-expected.txt:
* platform/gtk/fast/css/first-of-type-pseudo-class-expected.txt:
* platform/gtk/fast/css/last-child-pseudo-class-expected.txt:
* platform/gtk/fast/css/last-of-type-pseudo-class-expected.txt:
* platform/gtk/fast/css/only-child-pseudo-class-expected.txt:
* platform/gtk/fast/css/only-of-type-pseudo-class-expected.txt:
* platform/gtk/fast/dom/navigator-detached-no-crash-expected.txt:
* platform/gtk/fast/line-grid/line-align-left-edges-expected.txt:
* platform/gtk/fast/multicol/column-count-with-rules-expected.txt:
* platform/gtk/fast/multicol/float-multicol-expected.txt:
* platform/gtk/fast/multicol/layers-in-multicol-expected.txt:
* platform/gtk/fast/multicol/vertical-lr/float-multicol-expected.txt:
* platform/gtk/fast/multicol/vertical-rl/float-multicol-expected.txt:
* platform/gtk/fast/regions/multiple-directionality-changes-in-variable-width-regions-expected.txt:
* platform/gtk/fast/regions/repaint/line-flow-with-floats-in-regions-expected.txt:
* platform/gtk/fast/repaint/line-flow-with-floats-1-expected.txt:
* platform/gtk/fast/repaint/line-flow-with-floats-10-expected.txt:
* platform/gtk/fast/repaint/line-flow-with-floats-2-expected.txt:
* platform/gtk/fast/repaint/line-flow-with-floats-3-expected.txt:
* platform/gtk/fast/repaint/line-flow-with-floats-4-expected.txt:
* platform/gtk/fast/repaint/line-flow-with-floats-5-expected.txt:
* platform/gtk/fast/repaint/line-flow-with-floats-6-expected.txt:
* platform/gtk/fast/repaint/line-flow-with-floats-7-expected.txt:
* platform/gtk/fast/repaint/line-flow-with-floats-8-expected.txt:
* platform/gtk/fast/repaint/line-flow-with-floats-9-expected.txt:
* platform/gtk/fast/text/whitespace/024-expected.txt:
* platform/gtk/svg/wicd/rightsizing-grid-expected.txt:
* platform/gtk/svg/zoom/page/zoom-replaced-intrinsic-ratio-001-expected.txt:

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

7 years agoTest gardening: skip some failing tests on not-X86.
fpizlo@apple.com [Tue, 20 May 2014 04:40:13 +0000 (04:40 +0000)]
Test gardening: skip some failing tests on not-X86.

Source/JavaScriptCore:
* tests/mozilla/mozilla-tests.yaml:

LayoutTests:
* js/script-tests/function-apply-many-args.js:

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

7 years agoScrolling pages with large TiledBacking content layers creates way too many tiles
simon.fraser@apple.com [Tue, 20 May 2014 02:31:19 +0000 (02:31 +0000)]
Scrolling pages with large TiledBacking content layers creates way too many tiles
https://bugs.webkit.org/show_bug.cgi?id=133101

Reviewed by Tim Horton.

Fix the GraphicsLayerCA::adjustTiledLayerVisibleRect() logic to avoid making giant rects if the old
and new visible rects don't overlap.

* platform/graphics/TiledBacking.h:
* platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::adjustTiledLayerVisibleRect):
* platform/graphics/ca/mac/TileController.h:

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

7 years agoCorrectly maintain the "isInWindow" state for all TiledBackings
simon.fraser@apple.com [Tue, 20 May 2014 02:31:17 +0000 (02:31 +0000)]
Correctly maintain the "isInWindow" state for all TiledBackings
https://bugs.webkit.org/show_bug.cgi?id=133095

Reviewed by Tim Horton.

We never updated the "isInWindow" state for TiledBacking that wasn't the RenderView's
backing. Fix it by having RenderLayerCompositor::setIsInWindow() recurse through all
layers (if necessary), updating their state. Also set the state on newly created
TiledBackings.

* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::layerTiledBackingUsageChanged):
(WebCore::RenderLayerCompositor::setIsInWindowForLayerIncludingDescendants):
(WebCore::RenderLayerCompositor::setIsInWindow):
(WebCore::RenderLayerCompositor::pageTiledBacking): Deleted.
* rendering/RenderLayerCompositor.h:

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

7 years agoWebKit2/iOS: parented view should be considered hidden if app is backgrounded
barraclough@apple.com [Tue, 20 May 2014 02:22:35 +0000 (02:22 +0000)]
WebKit2/iOS: parented view should be considered hidden if app is backgrounded
https://bugs.webkit.org/show_bug.cgi?id=133099
radar://16942183

Reviewed by Simon Fraser.

* UIProcess/ios/PageClientImplIOS.mm:
(WebKit::PageClientImpl::isViewWindowActive):
    - implemented in terms of isViewVisible.
    - FIXME: https://bugs.webkit.org/show_bug.cgi?id=133098
(WebKit::PageClientImpl::isViewFocused):
    - implemented in terms of isViewWindowActive.
    - FIXME: https://bugs.webkit.org/show_bug.cgi?id=133098
(WebKit::PageClientImpl::isViewVisible):
    - take UIApplication applicationState into account in determining visibility.
(WebKit::PageClientImpl::isViewVisibleOrOccluded):
    - implemented in terms of isViewVisible.
(WebKit::PageClientImpl::isVisuallyIdle):
    - implemented in terms of isViewVisible.
* UIProcess/ios/WKContentView.mm:
(-[WKContentView initWithFrame:context:WebKit::configuration:WebKit::webView:]):
    - register for UIApplicationDidEnterBackgroundNotification.
(-[WKContentView _applicationDidEnterBackground:]):
(-[WKContentView _applicationWillEnterForeground:]):
    - when the application state changes all flags except IsInWindow may be affected.

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

7 years agooperationOptimize() should defer the GC for a while.
mark.lam@apple.com [Tue, 20 May 2014 02:03:47 +0000 (02:03 +0000)]
operationOptimize() should defer the GC for a while.
<https://webkit.org/b/133103>

Reviewed by Filip Pizlo.

Currently, operationOptimize() only defers the GC until its end.  As a result,
a GC may be triggered just before we return from operationOptimize(), and it may
jettison the optimize codeBlock that we're planning to OSR enter into when we
return from this function.  This is because the OSR entry on-ramp code hasn't
been executed yet, and hence, there is not yet a reference to this new codeBlock
from the stack, and there won't be until we've had a chance to return out of
operationOptimize() to run the OSR entry on-ramp code.

This issue is now fixed by using DeferGCForAWhile instead of DeferGC.  This
ensures that the GC will be deferred until after the OSR entry on-ramp can be
executed.

* jit/JITOperations.cpp:

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

7 years agoAX: VoiceOver sees the WebArea out of order when topContentInset is used
cfleizach@apple.com [Tue, 20 May 2014 01:56:41 +0000 (01:56 +0000)]
AX: VoiceOver sees the WebArea out of order when topContentInset is used
https://bugs.webkit.org/show_bug.cgi?id=133091

Unreviewed.
Make the layout test more resilient to platform differences in frame positions.

* platform/mac-wk2/accessibility/content-inset-scrollview-frame-expected.txt:
* platform/mac-wk2/accessibility/content-inset-scrollview-frame.html:

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

7 years agoTake care of some ARM64 test failures
fpizlo@apple.com [Tue, 20 May 2014 01:53:56 +0000 (01:53 +0000)]
Take care of some ARM64 test failures
https://bugs.webkit.org/show_bug.cgi?id=133090

Reviewed by Geoffrey Garen.

PerformanceTests/SunSpider:

* profiler-test.yaml: Skip these on not-x86.

Source/JavaScriptCore:

Constant blinding on ARM64 cannot use the scratch register.

* assembler/MacroAssembler.h:
(JSC::MacroAssembler::convertInt32ToDouble):
(JSC::MacroAssembler::branchPtr):
(JSC::MacroAssembler::storePtr):
(JSC::MacroAssembler::store64):
* assembler/MacroAssemblerARM64.h:
(JSC::MacroAssemblerARM64::scratchRegisterForBlinding):

Tools:

* Scripts/run-jsc-stress-tests: Make it easier to conditionally skip things.

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

7 years agoWK2 iOS: Pressing the form navigation button causes the keyboard to be dismissed.
enrica@apple.com [Tue, 20 May 2014 01:09:37 +0000 (01:09 +0000)]
WK2 iOS: Pressing the form navigation button causes the keyboard to be dismissed.
https://bugs.webkit.org/show_bug.cgi?id=133100
<rdar://problem/16808673>

Reviewed by Benjamin Poulain.

The call to focusNextAssistedNode is the result of a user action, since
it is called when the user pressed the form navigation buttons.
Therefore we must set m_userIsInteracting to true before changing the focus
to make sure the focus change is honored.

* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::focusNextAssistedNode):

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

7 years ago[iOS] Use status display for live streams
dino@apple.com [Tue, 20 May 2014 00:55:42 +0000 (00:55 +0000)]
[iOS] Use status display for live streams
https://bugs.webkit.org/show_bug.cgi?id=133097

Reviewed by Sam Weinig.

Follow-on from https://bugs.webkit.org/show_bug.cgi?id=131390
Allow the iOS controls to use the status display field.

* Modules/mediacontrols/mediaControlsiOS.js:
(ControllerIOS.prototype.configureInlineControls): Live streams should
not have a timeline or rewind button.

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

7 years agoText decorations do not contribute to visual overflow
mmaxfield@apple.com [Tue, 20 May 2014 00:45:52 +0000 (00:45 +0000)]
Text decorations do not contribute to visual overflow
https://bugs.webkit.org/show_bug.cgi?id=132773

Patch by Myles C. Maxfield <litherum@gmail.com> on 2014-05-19
Reviewed by Antti Koivisto.

Source/WebCore:
This patch creates a function, visualOverflowForDecorations, which computes
how much visual overflow to add around a text box due to text decorations. Most of the time,
text decorations are fully contained within the text box, so the result is usually 0.

This function exists within style/InlineTextBoxStyle.cpp, which is an added file. This is
so that it can be called from setLogicalWidthForTextRun() inside RenderBlockLineLayout.cpp
and from RenderStyle::changeAffectsVisualOverflow(). The former case passes in the full
InlineTextBox and the latter case just passes in a RenderStyle (because the InlineTextBox
is unavailable.)

This patch also modifies RenderTableSection::spannedColumns() to fix an off-by-one error
that was causing table borders to not be drawn when they existed right on the edge of
a repaint rect.

Tests: fast/css3-text/css3-text-decoration/repaint/underline-outside-of-layout-rect.html
Tests: fast/repaint/border-collapse-table-off-by-one-expected.html

* WebCore.vcxproj/WebCore.vcxproj: Adding reference to new InlineTextBoxStyle.cpp file
* WebCore.vcxproj/WebCore.vcxproj.filters: Adding reference to new InlineTextBoxStyle files
* WebCore.xcodeproj/project.pbxproj: Adding reference to new InlineTextBoxStyle files
* rendering/InlineTextBox.cpp:
(WebCore::computeUnderlineOffset): Moved to InlineTextBox.cpp
(WebCore::getWavyStrokeParameters): Moved to InlineTextBox.cpp
(WebCore::InlineTextBox::paintDecoration): Update to use newly refactored functions
* rendering/RenderBlockLineLayout.cpp:
(WebCore::setLogicalWidthForTextRun): Call visualOverflowForDecorations()
* rendering/RenderTableSection.cpp:
* rendering/RenderTableSelection.cpp: Fix off-by-one error when the boundary of a repaint
rect lies exactly on top of a table column position
* rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::changeAffectsVisualOverflow): Inspects shadows and text decorations
(WebCore::RenderStyle::changeRequiresLayout): Calls changeAffectsVisualOverflow()
(WebCore::RenderStyle::changeRequiresRepaintIfTextOrBorderOrOutline): Moved code from here
to changeAffectsVisualOverflow().
* rendering/style/RenderStyle.h: Function signature
* style/InlineTextBoxStyle.cpp: Added.
(WebCore::computeUnderlineOffset): Moved from InlineTextBox.cpp
(WebCore::getWavyStrokeParameters): Moved from InlineTextBox.cpp
(WebCore::extendIntToFloat): Convenience function for dealing with the fact that
underline bounding boxes use floats and GlyphOverflow uses ints
(WebCore::visualOverflowForDecorations): Given
vertical overflow bounds, possibly extend those to include location of
decorations.
* style/InlineTextBoxStyle.h: Added. Function signatures.
(WebCore::textDecorationStrokeThickness): Refactored from InlineTextBox.cpp
(WebCore::wavyOffsetFromDecoration): Refactored from InlineTextBox.cpp
* platform/graphics/Font.h:
(WebCore::GlyphOverflow::isEmpty): Convenience function
(WebCore::GlyphOverflow::extendTo): Convenience function

LayoutTests:
This first test makes sure that repaint rects are extended to include text decorations that may
lie outside of the text layout rects. It compares text with an underline to text that has
had underline applied to it in a timer.

The second test triggers an off-by-one error in collapsed table borders where a border was not
being drawn if it lay right on top of a repaint rect.

* fast/css3-text/css3-text-decoration/repaint/resources/Litherum.svg: Added. This font has a
descent of 0 (so it will not intersect underlines).
* fast/css3-text/css3-text-decoration/repaint/underline-outside-of-layout-rect-expected.html: Added.
Apply the underline without any timeout.
* fast/css3-text/css3-text-decoration/repaint/underline-outside-of-layout-rect.html: Added.
Apply the underline with a timeout.
* fast/css3-text/css3-text-decoration/repaint/underline-outside-of-layout-rect-removed-expected.html: Added.
Draw text without decorations.
* fast/css3-text/css3-text-decoration/repaint/underline-outside-of-layout-rect-removed.html: Added.
Draw text with decorations which contribute to overflow, then remove those decorations on a timer.
* fast/css3-text/css3-text-decoration/repaint/underline-outside-of-layout-rect-altered-expected.html: Added.
Draw text as if the final state of the decorations had always existed.
* fast/css3-text/css3-text-decoration/repaint/underline-outside-of-layout-rect-altered.html: Added.
Make sure that modifying decorations that contribute to overflow redraw properly.
* fast/repaint/border-collapse-table-off-by-one-expected.html: Added.
* fast/repaint/border-collapse-table-off-by-one.html: Added. Trigger the off-by-one error in
RenderTableSection.cpp

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

7 years ago[iOS] REGRESSION (r168910): webkitdirs.pm: Be more forgiving when parsing --sdk,...
ddkilzer@apple.com [Tue, 20 May 2014 00:43:59 +0000 (00:43 +0000)]
[iOS] REGRESSION (r168910): webkitdirs.pm: Be more forgiving when parsing --sdk, --device and --sim
<http://webkit.org/b/133089>

Reviewed by Darin Adler.

* Scripts/webkitdirs.pm:
(determineXcodeSDK): If both '--sdk SDKROOT' and '--sim' are
specified on the command line, we would remove the '--sdk'
arguments, but leave '--sim', potentially passing it along to
xcodebuild causing a build failure.  This happens when
'old-run-webkit-tests --release --sim' invokes
build-dumprendertree when DumpRenderTree hasn't been built yet.

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

7 years agoTelephoneNumberOverlayController should use a modern loop for text quad bounding
bdakin@apple.com [Tue, 20 May 2014 00:24:55 +0000 (00:24 +0000)]
TelephoneNumberOverlayController should use a modern loop for text quad bounding
boxes
https://bugs.webkit.org/show_bug.cgi?id=133096

Reviewed by Anders Carlsson.

* WebProcess/WebPage/mac/TelephoneNumberOverlayControllerMac.mm:
(WebKit::textQuadsToBoundingRectForRange):

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

7 years agoPlatformCALayerRemoteCustom properties aren't initialized to match the PlatformLayer
commit-queue@webkit.org [Tue, 20 May 2014 00:18:38 +0000 (00:18 +0000)]
PlatformCALayerRemoteCustom properties aren't initialized to match the PlatformLayer
https://bugs.webkit.org/show_bug.cgi?id=133025

Patch by Jeremy Jones <jeremyj@apple.com> on 2014-05-19
Reviewed by Simon Fraser.

* WebProcess/WebPage/mac/PlatformCALayerRemoteCustom.mm:
(WebKit::PlatformCALayerRemoteCustom::PlatformCALayerRemoteCustom):
Initialize PlatformCALayerRemote properties from the PlatformLayer.

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

7 years agoUnreviewed build fix after r169082
achristensen@apple.com [Tue, 20 May 2014 00:01:12 +0000 (00:01 +0000)]
Unreviewed build fix after r169082

* platform/network/ResourceHandle.h:
Added NSDictionary declaration.

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

7 years agoREGRESSION: Standalone images need to take topContentInset into account
bdakin@apple.com [Mon, 19 May 2014 23:56:55 +0000 (23:56 +0000)]
REGRESSION: Standalone images need to take topContentInset into account
https://bugs.webkit.org/show_bug.cgi?id=133092
-and corresponding-
<rdar://problem/16945791>

Reviewed by Darin Adler.

The FrameView’s size is accurate in terms of the NSWindow size, but that is not
really what the ImageDocument code is looking for here. The ImageDocument wants to
know the size of the unobscured viewport area. We should use visibleSize() for
that.
* html/ImageDocument.cpp:
(WebCore::ImageDocument::scale):
(WebCore::ImageDocument::imageFitsInWindow):
(WebCore::ImageDocument::imageClicked):

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

7 years agoCollect web timing data on iOS.
achristensen@apple.com [Mon, 19 May 2014 23:45:54 +0000 (23:45 +0000)]
Collect web timing data on iOS.
https://bugs.webkit.org/show_bug.cgi?id=133075

Reviewed by Sam Weinig.

* platform/network/ResourceHandle.h:
Added setCollectsTimingData wrapper and getConnectionTimingData declarations.
getConnectionTimingData with a dictionary parameter is a private helper function.
* platform/network/cf/ResourceHandleCFNet.cpp:
(WebCore::ResourceHandle::start):
Call setCollectsTimingData wrapper when creating a connection to ensure that timing data is collected.
* platform/network/cf/ResourceHandleCFURLConnectionDelegate.cpp:
(WebCore::ResourceHandleCFURLConnectionDelegate::didReceiveResponseCallback):
* platform/network/cf/ResourceHandleCFURLConnectionDelegate.h:
* platform/network/cf/ResourceHandleCFURLConnectionDelegateWithOperationQueue.cpp:
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didReceiveResponse):
* platform/network/cf/ResourceHandleCFURLConnectionDelegateWithOperationQueue.h:
* platform/network/cf/SynchronousResourceHandleCFURLConnectionDelegate.cpp:
(WebCore::SynchronousResourceHandleCFURLConnectionDelegate::didReceiveResponse):
* platform/network/cf/SynchronousResourceHandleCFURLConnectionDelegate.h:
Pass the CFURLConnectionRef to didReceiveResponse to get timing data from.
* platform/network/mac/ResourceHandleMac.mm:
(WebCore::ResourceHandle::getConnectionTimingData):
Moved from getTimingData to compile regardless of using CFNetwork and added wrapper with CFDictionaryRef.
(WebCore::ResourceHandle::setCollectsTimingData):
Added wrapper to call objc function from c++.
(WebCore::ResourceHandle::getTimingData):
Renamed to getConnectionTimingData.
* platform/network/mac/WebCoreResourceHandleAsDelegate.mm:
(-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]):
* platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.mm:
(-[WebCoreResourceHandleAsOperationQueueDelegate connection:didReceiveResponse:]):
Updated function name from getTimingData to getConnectionTimingData.

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

7 years agoAX: VoiceOver sees the WebArea out of order when topContentInset is used
cfleizach@apple.com [Mon, 19 May 2014 23:37:56 +0000 (23:37 +0000)]
AX: VoiceOver sees the WebArea out of order when topContentInset is used
https://bugs.webkit.org/show_bug.cgi?id=133091

Reviewed by Simon Fraser.

Source/WebCore:
Modify the scroll view's frame so that it recognizes the content inset.
This is needed so that when VoiceOver sorts elements to create an ordering,
the web area is not ordered at the top of the screen.

Test: platform/mac-wk2/accessibility/content-inset-scrollview-frame.html

* accessibility/AccessibilityScrollView.cpp:
(WebCore::AccessibilityScrollView::elementRect):

LayoutTests:
* platform/mac-wk2/accessibility/content-inset-scrollview-frame-expected.txt: Added.
* platform/mac-wk2/accessibility/content-inset-scrollview-frame.html: Added.

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

7 years agoDashboard: OpenSource revision key changed from WebKitOpenSource to WebKit
dfarler@apple.com [Mon, 19 May 2014 23:08:58 +0000 (23:08 +0000)]
Dashboard: OpenSource revision key changed from WebKitOpenSource to WebKit
https://bugs.webkit.org/show_bug.cgi?id=133086

Reviewed by Daniel Bates.

* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotIteration.js:

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

7 years agoUse different AppKit API for image control menus.
beidson@apple.com [Mon, 19 May 2014 22:41:18 +0000 (22:41 +0000)]
Use different AppKit API for image control menus.
<rdar://problem/16807828> and https://bugs.webkit.org/show_bug.cgi?id=133087

Reviewed by Tim Horton.

For image control menus, use popUpMenuPositioningItem: instead of popUpContextMenu:

* WebCoreSupport/WebContextMenuClient.h:
* WebCoreSupport/WebContextMenuClient.mm:
(WebContextMenuClient::contextMenuForEvent):
(WebContextMenuClient::showContextMenu):

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

7 years agoREGRESSION (r169042): Fix run-api-tests on Mountain Lion
ddkilzer@apple.com [Mon, 19 May 2014 22:39:27 +0000 (22:39 +0000)]
REGRESSION (r169042): Fix run-api-tests on Mountain Lion
<http://webkit.org/b/132954>

* Scripts/webkitdirs.pm:
(sharedCommandLineOptionsUsage): Remove the prototype for the
subroutine.  Older perls don't like the "+@" syntax.

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

7 years ago[iOS][WK2] When a page relayout on dynamic resize, keep the same relative width in...
benjamin@webkit.org [Mon, 19 May 2014 21:42:38 +0000 (21:42 +0000)]
[iOS][WK2] When a page relayout on dynamic resize, keep the same relative width in view
https://bugs.webkit.org/show_bug.cgi?id=133026
<rdar://problem/16833971>

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

When a page does not relayout, we keep the same width in view.
When a page relayout, we should keep the same relative width in view.

* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::isResponsiveDesignWithContentLargerThanLayout):
(WebKit::WebPage::dynamicViewportSizeUpdate):

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

7 years agoWeb Inspector: Inspect Element sometimes does not select the right DOM Node
commit-queue@webkit.org [Mon, 19 May 2014 21:19:49 +0000 (21:19 +0000)]
Web Inspector: Inspect Element sometimes does not select the right DOM Node
https://bugs.webkit.org/show_bug.cgi?id=127938

Patch by Jono Wells <jonowells@apple.com> on 2014-05-19
Reviewed by Joseph Pecoraro.

Inspecting an element when the inspector is in a closed state was selecting the node but then
overriding the selection when DOMTreeContentView#_restoreSelectedNodeAfterUpdate was called.
Now when an element is inspected a flag prevents the restore from taking place.

* UserInterface/Controllers/DOMTreeManager.js:
(WebInspector.DOMTreeManager):
(WebInspector.DOMTreeManager.prototype.inspectElement):
(WebInspector.DOMTreeManager.prototype.inspectNodeObject):
Add WebInspector.DOMTreeManager#_restoreSelectedNodeIsAllowed.

(WebInspector.DOMTreeManager.prototype.get restoreSelectedNodeIsAllowed):
Added.

* UserInterface/Views/FrameDOMTreeContentView.js:
(WebInspector.FrameDOMTreeContentView.prototype._rootDOMNodeAvailable):
Add check for WebInspector.domTreeManager.restoreSelectedNodeIsAllowed.

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

7 years ago[WK2] Add some missing state reset on crash
benjamin@webkit.org [Mon, 19 May 2014 21:17:06 +0000 (21:17 +0000)]
[WK2] Add some missing state reset on crash
https://bugs.webkit.org/show_bug.cgi?id=133036

Reviewed by Sam Weinig.

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::resetState):
The missing reset for m_isTrackingTouchEvents would cause the WebPageProxy to send
touch events when it shouldn't. That would only be for an active touch sequence.

The missing reset m_lastVisibleContentRectUpdate would prevent pushing the new UI state
to the new page on reload, that is very bad.

Also moved m_videoFullscreenManager to be in the same order as initialization, and invalidate
the callbacks for dictation.

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

7 years agoScrollbars display incorrectly after switching between fast and slow scrolling
bdakin@apple.com [Mon, 19 May 2014 21:09:01 +0000 (21:09 +0000)]
Scrollbars display incorrectly after switching between fast and slow scrolling
mode, affects Find and real sites
https://bugs.webkit.org/show_bug.cgi?id=133077
-and corresponding-
<rdar://problem/16888608>

Reviewed by Tim Horton.

We should always return true here when updating on the secondary thread is
supported. It does not need to be gated on whether we are actively taking
advantage of that support at this moment.
* platform/Scrollbar.cpp:
(WebCore::Scrollbar::supportsUpdateOnSecondaryThread):

Always update the presentationValue whenever we update the doubleValue just to
keep them in sync.
* platform/mac/ScrollbarThemeMac.mm:
(WebCore::ScrollbarThemeMac::setPaintCharacteristicsForScrollbar):

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

7 years ago[iOS][WK2] Move scale noise filtering to the WebProcess
benjamin@webkit.org [Mon, 19 May 2014 21:02:24 +0000 (21:02 +0000)]
[iOS][WK2] Move scale noise filtering to the WebProcess
https://bugs.webkit.org/show_bug.cgi?id=133021

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-05-19
Reviewed by Darin Adler.

Filtering in the UIProcess was stupid. It forces to handle a third kind of scale just for updates.

The WebProcess already adjusts the input scale based on the viewport. Changing the input scale at that level
is already supported. It is a better place to have the filtering.

* UIProcess/ios/WKContentView.mm:
(-[WKContentView didUpdateVisibleRect:unobscuredRect:unobscuredRectInScrollViewCoordinates:scale:minimumScale:inStableState:isChangingObscuredInsetsInteractively:]):
* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::updateVisibleContentRects):

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

7 years agoSplit scrolling tree ScrollingNodes into FrameScrollingNodes and OverflowScrollingNodes
simon.fraser@apple.com [Mon, 19 May 2014 20:23:10 +0000 (20:23 +0000)]
Split scrolling tree ScrollingNodes into FrameScrollingNodes and OverflowScrollingNodes
https://bugs.webkit.org/show_bug.cgi?id=133022

Reviewed by Sam Weinig.

Source/WebCore:

In both the scrolling state tree and the scrolling tree, split the "scrolling nodes"
into FrameScrolling and OverflowScrolling nodes.

Move what was the "viewportSize" property onto the base class for the scrolling
nodes, calling it "scrollableAreaSize".

Make minimum/maximumScrollPosition() virtual so we can share more code (and there
is more code sharing to be done in future).

* Configurations/WebCore.xcconfig: Remove ScrollingStateScrollingNodeMac.mm and ScrollingTreeScrollingNodeMac.mm
from the list, using #ifdefs in the file instead.
* WebCore.exp.in: Lots of exports.
* WebCore.xcodeproj/project.pbxproj: New files.
* page/scrolling/AsyncScrollingCoordinator.cpp:
(WebCore::AsyncScrollingCoordinator::frameViewLayoutUpdated):
(WebCore::AsyncScrollingCoordinator::frameViewRootLayerDidChange):
(WebCore::AsyncScrollingCoordinator::updateFrameScrollingNode):
(WebCore::AsyncScrollingCoordinator::updateOverflowScrollingNode):
(WebCore::AsyncScrollingCoordinator::recomputeWheelEventHandlerCountForFrameView):
(WebCore::AsyncScrollingCoordinator::updateScrollingNode): Deleted.
(WebCore::AsyncScrollingCoordinator::setScrollbarPaintersFromScrollbarsForNode): Deleted.
This tiny function didn't need to exist.
* page/scrolling/AsyncScrollingCoordinator.h:
* page/scrolling/ScrollingCoordinator.h:
(WebCore::ScrollingCoordinator::updateFrameScrollingNode):
(WebCore::ScrollingCoordinator::updateOverflowScrollingNode):
(WebCore::ScrollingCoordinator::updateScrollingNode): Deleted.
* page/scrolling/ScrollingStateFrameScrollingNode.cpp: Copied from Source/WebCore/page/scrolling/ScrollingStateScrollingNode.cpp.
(WebCore::ScrollingStateFrameScrollingNode::create):
(WebCore::ScrollingStateFrameScrollingNode::ScrollingStateFrameScrollingNode):
(WebCore::ScrollingStateFrameScrollingNode::~ScrollingStateFrameScrollingNode):
(WebCore::ScrollingStateFrameScrollingNode::clone):
(WebCore::ScrollingStateFrameScrollingNode::setFrameScaleFactor):
(WebCore::ScrollingStateFrameScrollingNode::setNonFastScrollableRegion):
(WebCore::ScrollingStateFrameScrollingNode::setWheelEventHandlerCount):
(WebCore::ScrollingStateFrameScrollingNode::setSynchronousScrollingReasons):
(WebCore::ScrollingStateFrameScrollingNode::setScrollBehaviorForFixedElements):
(WebCore::ScrollingStateFrameScrollingNode::setHeaderHeight):
(WebCore::ScrollingStateFrameScrollingNode::setFooterHeight):
(WebCore::ScrollingStateFrameScrollingNode::setTopContentInset):
(WebCore::ScrollingStateFrameScrollingNode::setCounterScrollingLayer):
(WebCore::ScrollingStateFrameScrollingNode::setInsetClipLayer):
(WebCore::ScrollingStateFrameScrollingNode::setContentShadowLayer):
(WebCore::ScrollingStateFrameScrollingNode::setHeaderLayer):
(WebCore::ScrollingStateFrameScrollingNode::setFooterLayer):
(WebCore::ScrollingStateFrameScrollingNode::setScrollbarPaintersFromScrollbars):
(WebCore::ScrollingStateFrameScrollingNode::dumpProperties):
* page/scrolling/ScrollingStateFrameScrollingNode.h: Copied from Source/WebCore/page/scrolling/ScrollingStateScrollingNode.h.
* page/scrolling/ScrollingStateNode.h:
(WebCore::LayerRepresentation::layerID):
(WebCore::ScrollingStateNode::isFrameScrollingNode):
(WebCore::ScrollingStateNode::isOverflowScrollingNode):
* page/scrolling/ScrollingStateOverflowScrollingNode.cpp: Added.
(WebCore::ScrollingStateOverflowScrollingNode::create):
(WebCore::ScrollingStateOverflowScrollingNode::ScrollingStateOverflowScrollingNode):
(WebCore::ScrollingStateOverflowScrollingNode::~ScrollingStateOverflowScrollingNode):
(WebCore::ScrollingStateOverflowScrollingNode::clone):
(WebCore::ScrollingStateOverflowScrollingNode::setScrolledContentsLayer):
(WebCore::ScrollingStateOverflowScrollingNode::dumpProperties):
* page/scrolling/ScrollingStateOverflowScrollingNode.h: Copied from Source/WebCore/page/scrolling/mac/ScrollingStateScrollingNodeMac.mm.
(WebCore::ScrollingStateOverflowScrollingNode::scrolledContentsLayer):
* page/scrolling/ScrollingStateScrollingNode.cpp:
(WebCore::ScrollingStateScrollingNode::ScrollingStateScrollingNode):
(WebCore::ScrollingStateScrollingNode::setScrollableAreaSize):
(WebCore::ScrollingStateScrollingNode::setTotalContentsSize):
(WebCore::ScrollingStateScrollingNode::dumpProperties):
(WebCore::ScrollingStateScrollingNode::create): Deleted.
(WebCore::ScrollingStateScrollingNode::clone): Deleted.
(WebCore::ScrollingStateScrollingNode::setViewportSize): Deleted.
(WebCore::ScrollingStateScrollingNode::setFrameScaleFactor): Deleted.
(WebCore::ScrollingStateScrollingNode::setNonFastScrollableRegion): Deleted.
(WebCore::ScrollingStateScrollingNode::setWheelEventHandlerCount): Deleted.
(WebCore::ScrollingStateScrollingNode::setSynchronousScrollingReasons): Deleted.
(WebCore::ScrollingStateScrollingNode::setScrollBehaviorForFixedElements): Deleted.
(WebCore::ScrollingStateScrollingNode::setHeaderHeight): Deleted.
(WebCore::ScrollingStateScrollingNode::setFooterHeight): Deleted.
(WebCore::ScrollingStateScrollingNode::setTopContentInset): Deleted.
(WebCore::ScrollingStateScrollingNode::setScrolledContentsLayer): Deleted.
(WebCore::ScrollingStateScrollingNode::setCounterScrollingLayer): Deleted.
(WebCore::ScrollingStateScrollingNode::setInsetClipLayer): Deleted.
(WebCore::ScrollingStateScrollingNode::setContentShadowLayer): Deleted.
(WebCore::ScrollingStateScrollingNode::setHeaderLayer): Deleted.
(WebCore::ScrollingStateScrollingNode::setFooterLayer): Deleted.
(WebCore::ScrollingStateScrollingNode::setScrollbarPaintersFromScrollbars): Deleted.
* page/scrolling/ScrollingStateScrollingNode.h:
(WebCore::ScrollingStateScrollingNode::scrollableAreaSize):
(WebCore::ScrollingStateScrollingNode::totalContentsSize):
* page/scrolling/ScrollingStateTree.cpp:
(WebCore::ScrollingStateTree::attachNode):
(WebCore::ScrollingStateTree::commit):
* page/scrolling/ScrollingStateTree.h:
(WebCore::ScrollingStateTree::rootStateNode):
(WebCore::ScrollingStateTree::setRootStateNode):
* page/scrolling/ScrollingTree.cpp:
(WebCore::ScrollingTree::commitNewTreeState):
* page/scrolling/ScrollingTreeFrameScrollingNode.cpp: Added.
(WebCore::ScrollingTreeFrameScrollingNode::ScrollingTreeFrameScrollingNode):
(WebCore::ScrollingTreeFrameScrollingNode::~ScrollingTreeFrameScrollingNode):
(WebCore::ScrollingTreeFrameScrollingNode::updateBeforeChildren):
* page/scrolling/ScrollingTreeFrameScrollingNode.h: Copied from Source/WebCore/page/scrolling/ScrollingTreeScrollingNode.h.
(WebCore::ScrollingTreeFrameScrollingNode::updateLayersAfterDelegatedScroll):
(WebCore::ScrollingTreeFrameScrollingNode::synchronousScrollingReasons):
(WebCore::ScrollingTreeFrameScrollingNode::shouldUpdateScrollLayerPositionSynchronously):
(WebCore::ScrollingTreeFrameScrollingNode::frameScaleFactor):
(WebCore::ScrollingTreeFrameScrollingNode::headerHeight):
(WebCore::ScrollingTreeFrameScrollingNode::footerHeight):
(WebCore::ScrollingTreeFrameScrollingNode::topContentInset):
(WebCore::ScrollingTreeFrameScrollingNode::scrollBehaviorForFixedElements):
* page/scrolling/ScrollingTreeNode.h:
(WebCore::ScrollingTreeNode::isFrameScrollingNode):
(WebCore::ScrollingTreeNode::isOverflowScrollingNode):
* page/scrolling/ScrollingTreeOverflowScrollingNode.cpp: Copied from Source/WebKit2/UIProcess/Scrolling/ios/ScrollingTreeOverflowScrollingNodeIOS.h.
(WebCore::ScrollingTreeOverflowScrollingNode::ScrollingTreeOverflowScrollingNode):
(WebCore::ScrollingTreeOverflowScrollingNode::~ScrollingTreeOverflowScrollingNode):
* page/scrolling/ScrollingTreeOverflowScrollingNode.h: Copied from Source/WebKit2/UIProcess/Scrolling/ios/ScrollingTreeOverflowScrollingNodeIOS.h.
* page/scrolling/ScrollingTreeScrollingNode.cpp:
(WebCore::ScrollingTreeScrollingNode::ScrollingTreeScrollingNode):
(WebCore::ScrollingTreeScrollingNode::updateBeforeChildren):
(WebCore::ScrollingTreeScrollingNode::updateAfterChildren):
(WebCore::ScrollingTreeScrollingNode::setScrollPosition):
(WebCore::ScrollingTreeScrollingNode::setScrollPositionWithoutContentEdgeConstraints):
(WebCore::ScrollingTreeScrollingNode::minimumScrollPosition):
(WebCore::ScrollingTreeScrollingNode::maximumScrollPosition):
* page/scrolling/ScrollingTreeScrollingNode.h:
(WebCore::ScrollingTreeScrollingNode::scrollableAreaSize):
(WebCore::ScrollingTreeScrollingNode::totalContentsSize):
(WebCore::ScrollingTreeScrollingNode::totalContentsSizeForRubberBand):
(WebCore::ScrollingTreeScrollingNode::setTotalContentsSizeForRubberBand):
(WebCore::ScrollingTreeScrollingNode::synchronousScrollingReasons): Deleted.
(WebCore::ScrollingTreeScrollingNode::shouldUpdateScrollLayerPositionSynchronously): Deleted.
(WebCore::ScrollingTreeScrollingNode::viewportSize): Deleted.
(WebCore::ScrollingTreeScrollingNode::frameScaleFactor): Deleted.
(WebCore::ScrollingTreeScrollingNode::headerHeight): Deleted.
(WebCore::ScrollingTreeScrollingNode::footerHeight): Deleted.
(WebCore::ScrollingTreeScrollingNode::scrollBehaviorForFixedElements): Deleted.
(WebCore::ScrollingTreeScrollingNode::topContentInset): Deleted.
* page/scrolling/ios/ScrollingCoordinatorIOS.mm:
(WebCore::ScrollingCoordinatorIOS::createScrollingTreeNode):
* page/scrolling/ios/ScrollingTreeFrameScrollingNodeIOS.h: Renamed from Source/WebCore/page/scrolling/ios/ScrollingTreeScrollingNodeIOS.h.
(WebCore::ScrollingTreeFrameScrollingNodeIOS::scrollLayer):
* page/scrolling/ios/ScrollingTreeFrameScrollingNodeIOS.mm: Renamed from Source/WebCore/page/scrolling/ios/ScrollingTreeScrollingNodeIOS.mm.
(WebCore::ScrollingTreeFrameScrollingNodeIOS::create):
(WebCore::ScrollingTreeFrameScrollingNodeIOS::ScrollingTreeFrameScrollingNodeIOS):
(WebCore::ScrollingTreeFrameScrollingNodeIOS::~ScrollingTreeFrameScrollingNodeIOS):
(WebCore::ScrollingTreeFrameScrollingNodeIOS::updateBeforeChildren):
(WebCore::ScrollingTreeFrameScrollingNodeIOS::updateAfterChildren):
(WebCore::ScrollingTreeFrameScrollingNodeIOS::scrollPosition):
(WebCore::ScrollingTreeFrameScrollingNodeIOS::setScrollPosition):
(WebCore::ScrollingTreeFrameScrollingNodeIOS::setScrollPositionWithoutContentEdgeConstraints):
(WebCore::ScrollingTreeFrameScrollingNodeIOS::setScrollLayerPosition):
(WebCore::ScrollingTreeFrameScrollingNodeIOS::updateLayersAfterViewportChange):
(WebCore::ScrollingTreeFrameScrollingNodeIOS::updateLayersAfterDelegatedScroll):
(WebCore::ScrollingTreeFrameScrollingNodeIOS::updateChildNodesAfterScroll):
(WebCore::ScrollingTreeFrameScrollingNodeIOS::minimumScrollPosition):
(WebCore::ScrollingTreeFrameScrollingNodeIOS::maximumScrollPosition):
(WebCore::ScrollingTreeFrameScrollingNodeIOS::scrollBy):
(WebCore::ScrollingTreeFrameScrollingNodeIOS::scrollByWithoutContentEdgeConstraints):
* page/scrolling/mac/ScrollingCoordinatorMac.mm:
(WebCore::ScrollingCoordinatorMac::createScrollingTreeNode):
* page/scrolling/mac/ScrollingStateFrameScrollingNodeMac.mm: Renamed from Source/WebCore/page/scrolling/mac/ScrollingStateScrollingNodeMac.mm.
(WebCore::ScrollingStateFrameScrollingNode::setScrollbarPaintersFromScrollbars):
* page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.h: Renamed from Source/WebCore/page/scrolling/mac/ScrollingTreeScrollingNodeMac.h.
* page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.mm: Renamed from Source/WebCore/page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm.
(WebCore::ScrollingTreeFrameScrollingNodeMac::create):
(WebCore::ScrollingTreeFrameScrollingNodeMac::ScrollingTreeFrameScrollingNodeMac):
(WebCore::ScrollingTreeFrameScrollingNodeMac::~ScrollingTreeFrameScrollingNodeMac):
(WebCore::ScrollingTreeFrameScrollingNodeMac::updateBeforeChildren):
(WebCore::ScrollingTreeFrameScrollingNodeMac::updateAfterChildren):
(WebCore::ScrollingTreeFrameScrollingNodeMac::handleWheelEvent):
(WebCore::ScrollingTreeFrameScrollingNodeMac::allowsHorizontalStretching):
(WebCore::ScrollingTreeFrameScrollingNodeMac::allowsVerticalStretching):
(WebCore::ScrollingTreeFrameScrollingNodeMac::stretchAmount):
(WebCore::ScrollingTreeFrameScrollingNodeMac::pinnedInDirection):
(WebCore::ScrollingTreeFrameScrollingNodeMac::canScrollHorizontally):
(WebCore::ScrollingTreeFrameScrollingNodeMac::canScrollVertically):
(WebCore::ScrollingTreeFrameScrollingNodeMac::shouldRubberBandInDirection):
(WebCore::ScrollingTreeFrameScrollingNodeMac::absoluteScrollPosition):
(WebCore::ScrollingTreeFrameScrollingNodeMac::immediateScrollBy):
(WebCore::ScrollingTreeFrameScrollingNodeMac::immediateScrollByWithoutContentEdgeConstraints):
(WebCore::ScrollingTreeFrameScrollingNodeMac::startSnapRubberbandTimer):
(WebCore::ScrollingTreeFrameScrollingNodeMac::stopSnapRubberbandTimer):
(WebCore::ScrollingTreeFrameScrollingNodeMac::adjustScrollPositionToBoundsIfNecessary):
(WebCore::ScrollingTreeFrameScrollingNodeMac::scrollPosition):
(WebCore::ScrollingTreeFrameScrollingNodeMac::setScrollPosition):
(WebCore::ScrollingTreeFrameScrollingNodeMac::setScrollPositionWithoutContentEdgeConstraints):
(WebCore::ScrollingTreeFrameScrollingNodeMac::setScrollLayerPosition):
(WebCore::ScrollingTreeFrameScrollingNodeMac::updateLayersAfterViewportChange):
(WebCore::ScrollingTreeFrameScrollingNodeMac::minimumScrollPosition):
(WebCore::ScrollingTreeFrameScrollingNodeMac::maximumScrollPosition):
(WebCore::ScrollingTreeFrameScrollingNodeMac::scrollBy):
(WebCore::ScrollingTreeFrameScrollingNodeMac::scrollByWithoutContentEdgeConstraints):
(WebCore::ScrollingTreeFrameScrollingNodeMac::updateMainFramePinState):
(WebCore::ScrollingTreeFrameScrollingNodeMac::logExposedUnfilledArea):
(WebCore::logThreadedScrollingMode):
(WebCore::logWheelEventHandlerCountChanged):
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::updateScrollCoordinatedLayer):

Source/WebKit2:

In both the scrolling state tree and the scrolling tree, split the "scrolling nodes"
into FrameScrolling and OverflowScrolling nodes.

Move what was the "viewportSize" property onto the base class for the scrolling
nodes, calling it "scrollableAreaSize".

Make minimum/maximumScrollPosition() virtual so we can share more code (and there
is more code sharing to be done in future).

* Shared/Scrolling/RemoteScrollingCoordinatorTransaction.cpp:
(ArgumentCoder<ScrollingStateScrollingNode>::encode):
(ArgumentCoder<ScrollingStateFrameScrollingNode>::encode):
(ArgumentCoder<ScrollingStateOverflowScrollingNode>::encode):
(ArgumentCoder<ScrollingStateScrollingNode>::decode):
(ArgumentCoder<ScrollingStateFrameScrollingNode>::decode):
(ArgumentCoder<ScrollingStateOverflowScrollingNode>::decode):
(WebKit::encodeNodeAndDescendants):
(WebKit::RemoteScrollingCoordinatorTransaction::decode):
(WebKit::RemoteScrollingTreeTextStream::dump):
* UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.cpp:
(WebKit::RemoteScrollingCoordinatorProxy::connectStateNodeLayers):
* UIProcess/Scrolling/RemoteScrollingTree.cpp:
(WebKit::RemoteScrollingTree::createNode):
* UIProcess/Scrolling/ios/ScrollingTreeOverflowScrollingNodeIOS.h:
(WebKit::ScrollingTreeOverflowScrollingNodeIOS::scrollLayer):
(WebKit::ScrollingTreeOverflowScrollingNodeIOS::updateLayersAfterViewportChange):
* UIProcess/Scrolling/ios/ScrollingTreeOverflowScrollingNodeIOS.mm:
(WebKit::ScrollingTreeOverflowScrollingNodeIOS::ScrollingTreeOverflowScrollingNodeIOS):
(WebKit::ScrollingTreeOverflowScrollingNodeIOS::updateBeforeChildren):
(WebKit::ScrollingTreeOverflowScrollingNodeIOS::updateAfterChildren):
(WebKit::ScrollingTreeOverflowScrollingNodeIOS::setScrollLayerPosition):
(WebKit::ScrollingTreeOverflowScrollingNodeIOS::updateChildNodesAfterScroll):
* UIProcess/ios/RemoteScrollingCoordinatorProxyIOS.mm:
(WebKit::RemoteScrollingCoordinatorProxy::connectStateNodeLayers):

LayoutTests:

Updated for new node name. No geometry changes.

* platform/mac-wk2/tiled-drawing/clamp-out-of-bounds-scrolls-expected.txt:
* platform/mac-wk2/tiled-drawing/fixed/absolute-inside-fixed-expected.txt:
* platform/mac-wk2/tiled-drawing/fixed/absolute-inside-out-of-view-fixed-expected.txt:
* platform/mac-wk2/tiled-drawing/fixed/fixed-in-overflow-expected.txt:
* platform/mac-wk2/tiled-drawing/fixed/fixed-position-out-of-view-expected.txt:
* platform/mac-wk2/tiled-drawing/fixed/fixed-position-out-of-view-negative-zindex-expected.txt:
* platform/mac-wk2/tiled-drawing/fixed/four-bars-expected.txt:
* platform/mac-wk2/tiled-drawing/fixed/four-bars-with-header-and-footer-expected.txt:
* platform/mac-wk2/tiled-drawing/fixed/negative-scroll-offset-expected.txt:
* platform/mac-wk2/tiled-drawing/fixed/negative-scroll-offset-in-view-expected.txt:
* platform/mac-wk2/tiled-drawing/fixed/nested-fixed-expected.txt:
* platform/mac-wk2/tiled-drawing/fixed/percentage-inside-fixed-expected.txt:
* platform/mac-wk2/tiled-drawing/scrolling-tree-after-scroll-expected.txt:
* platform/mac-wk2/tiled-drawing/scrolling-tree-slow-scrolling-expected.txt:
* platform/mac-wk2/tiled-drawing/sticky/negative-scroll-offset-expected.txt:
* platform/mac-wk2/tiled-drawing/sticky/sticky-horizontal-expected.txt:

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

7 years agoFix Element.offset* and .client* rounding mismatches after r168868.
zalan@apple.com [Mon, 19 May 2014 19:10:46 +0000 (19:10 +0000)]
Fix Element.offset* and .client* rounding mismatches after r168868.
https://bugs.webkit.org/show_bug.cgi?id=133076

Unreviewed gardening.

* platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-div-with-handler.html:
* platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-div.html:
* platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-mainframe-with-handler.html:
* platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-mainframe.html:
* platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-mainframe-with-handler.html:
* platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-mainframe.html:
* platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-select-with-handler.html:
* platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-select.html:

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

7 years agoImages missing sometimes with composited clipping layers
simon.fraser@apple.com [Mon, 19 May 2014 18:33:26 +0000 (18:33 +0000)]
Images missing sometimes with composited clipping layers
https://bugs.webkit.org/show_bug.cgi?id=133065
<rdar://problem/15224559>

Reviewed by Beth Dakin.

Source/WebCore:

When support for solid colors on layers was added, a layer was considered a candidate
for the solid color optimization without regard to whether it had descendent layers
with "paintsIntoCompositedAncestor" requirements.

Fix hasVisibleNonCompositingDescendantLayers(), renaming it to isPaintDestinationForDescendentLayers()
and having it take into account whether descendent layers need to paint into an
ancestor.

Also, this test has to happen after those descendent layers have had their
compositing state updated, so move the isSimpleContainerCompositingLayer() to
a new updateAfterDescendents() function which is called from the various
places we do compositing-udpate-tree-walks.

Test: compositing/backing/solid-color-with-paints-into-ancestor.html

* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateGeometry):
(WebCore::RenderLayerBacking::updateAfterDescendents):
(WebCore::RenderLayerBacking::paintsChildren):
(WebCore::compositedWithOwnBackingStore):
(WebCore::descendentLayerPaintsIntoAncestor):
(WebCore::RenderLayerBacking::isPaintDestinationForDescendentLayers):
(WebCore::hasVisibleNonCompositingDescendant): Deleted.
(WebCore::RenderLayerBacking::hasVisibleNonCompositingDescendantLayers): Deleted.
* rendering/RenderLayerBacking.h:
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
(WebCore::RenderLayerCompositor::updateLayerTreeGeometry):
(WebCore::RenderLayerCompositor::updateCompositingDescendantGeometry):

LayoutTests:

* compositing/backing/solid-color-with-paints-into-ancestor-expected.html: Added.
* compositing/backing/solid-color-with-paints-into-ancestor.html: Added.

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

7 years ago[Mac] Fix a typo in plug-in sandbox
ap@apple.com [Mon, 19 May 2014 18:14:09 +0000 (18:14 +0000)]
[Mac] Fix a typo in plug-in sandbox
https://bugs.webkit.org/show_bug.cgi?id=133074

Reviewed by Anders Carlsson.

* Resources/PlugInSandboxProfiles/com.apple.WebKit.plugin-common.sb:

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

7 years ago[WebKit2] Wake up threads blocked in waitForAndDispatchImmediately() if we lose our...
aestes@apple.com [Mon, 19 May 2014 18:00:10 +0000 (18:00 +0000)]
[WebKit2] Wake up threads blocked in waitForAndDispatchImmediately() if we lose our connection
https://bugs.webkit.org/show_bug.cgi?id=133010

Reviewed by Geoffrey Garen.

If a thread is blocked on m_waitForMessageCondition and we lose our connection, treat that like we do a timeout.

* Platform/IPC/Connection.cpp:
(IPC::Connection::Connection):
(IPC::Connection::waitForMessage):
(IPC::Connection::connectionDidClose):
* Platform/IPC/Connection.h:

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

7 years agoScript include paths for js-test-pre.js and js-test-post.js were incorrect.
commit-queue@webkit.org [Mon, 19 May 2014 17:50:49 +0000 (17:50 +0000)]
Script include paths for js-test-pre.js and js-test-post.js were incorrect.
https://bugs.webkit.org/show_bug.cgi?id=133072

Patch by Jono Wells <jonowells@apple.com> on 2014-05-19
Reviewed by Andy Estes.

* http/tests/navigation/forward-to-fragment-fires-onload.html: Fixed script includes.

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

7 years agoSet WebKitSuppressesIncrementalRenderingKey to NO by default on both Mac and iOS
aestes@apple.com [Mon, 19 May 2014 17:45:57 +0000 (17:45 +0000)]
Set WebKitSuppressesIncrementalRenderingKey to NO by default on both Mac and iOS
https://bugs.webkit.org/show_bug.cgi?id=133073

Reviewed by Simon Fraser.

* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):

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

7 years agoREGRESSION (r133351, sub-pixel layout): Right-to-left block with text-overflow: ellip...
zalan@apple.com [Mon, 19 May 2014 17:37:22 +0000 (17:37 +0000)]
REGRESSION (r133351, sub-pixel layout): Right-to-left block with text-overflow: ellipsis truncates prematurely (breaks facebook.com Hebrew UI)
https://bugs.webkit.org/show_bug.cgi?id=112227

Reviewed by Maciej Stachowiak.

This patch removes unnecessary integral snapping of inlines at layout time.

Source/WebCore:
The general rule of thumb of using round/floor/ceil at layout time is to not use them.

When some computed values (x, y, width, height) get snapped during layout, while others don't,
intersecting/measuring mismatches could occur and they could end up producing visual artifacts such as truncations.
This patch also enables iframe content to be positioned on odd device pixel positions on retina displays.

Tests: fast/frames/hidpi-position-iframe-on-device-pixel.html
       fast/inline/hidpi-rtl-text-does-not-fit-line-and-gets-cut-off.html

* rendering/RenderBlock.h:
(WebCore::RenderBlock::logicalLeftOffsetForLine):
(WebCore::RenderBlock::pixelSnappedLogicalLeftOffsetForLine): Deleted.
(WebCore::RenderBlock::pixelSnappedLogicalRightOffsetForLine): Deleted.
* rendering/RenderBlockLineLayout.cpp:
(WebCore::updateLogicalInlinePositions):
(WebCore::RenderBlockFlow::deleteEllipsisLineBoxes):
(WebCore::RenderBlockFlow::checkLinesForTextOverflow):

LayoutTests:
1px off differences and rounding expected results to match new behavior. -rebaselining.

* fast/frames/hidpi-position-iframe-on-device-pixel-expected.html: Added.
* fast/frames/hidpi-position-iframe-on-device-pixel.html: Added.
* fast/inline/hidpi-rtl-text-does-not-fit-line-and-gets-cut-off-expected.html: Added.
* fast/inline/hidpi-rtl-text-does-not-fit-line-and-gets-cut-off.html: Added.
* fast/shapes/shape-outside-floats/shape-outside-floats-ellipse-margin-left.html:
* fast/shapes/shape-outside-floats/shape-outside-floats-ellipse-margin-right.html:
* fast/shapes/shape-outside-floats/shape-outside-floats-inset-rounded-different-writing-modes-left.html:
* fast/shapes/shape-outside-floats/shape-outside-floats-inset-rounded-different-writing-modes-right.html:
* fast/shapes/shape-outside-floats/shape-outside-rounded-boxes-001.html:
* fast/shapes/shape-outside-floats/shape-outside-rounded-boxes-002.html:
* fast/shapes/shape-outside-floats/shape-outside-rounded-inset-expected.html:
* platform/mac/TestExpectations:
* platform/mac/css1/box_properties/float_on_text_elements-expected.txt:
* platform/mac/css1/text_properties/text_indent-expected.txt:
* platform/mac/css2.1/t0905-c414-flt-wrap-00-e-expected.txt:
* platform/mac/css2.1/t0905-c5525-fltwidth-00-c-g-expected.txt:
* platform/mac/css2.1/t100801-c544-valgn-00-a-ag-expected.txt:
* platform/mac/css2.1/t100801-c544-valgn-02-d-agi-expected.txt:
* platform/mac/css2.1/t100801-c544-valgn-03-d-agi-expected.txt:
* platform/mac/css2.1/t100801-c544-valgn-04-d-agi-expected.txt:
* platform/mac/css3/unicode-bidi-isolate-basic-expected.txt:
* platform/mac/editing/selection/caret-ltr-2-expected.txt:
* platform/mac/editing/selection/caret-ltr-2-left-expected.txt:
* platform/mac/editing/selection/caret-rtl-expected.txt:
* platform/mac/editing/selection/caret-rtl-right-expected.txt:
* platform/mac/editing/selection/vertical-rl-rtl-extend-line-backward-br-expected.txt:
* platform/mac/editing/selection/vertical-rl-rtl-extend-line-backward-p-expected.txt:
* platform/mac/editing/selection/vertical-rl-rtl-extend-line-forward-br-expected.txt:
* platform/mac/editing/selection/vertical-rl-rtl-extend-line-forward-p-expected.txt:
* platform/mac/fast/block/float/026-expected.txt:
* platform/mac/fast/block/float/028-expected.txt:
* platform/mac/fast/css/absolute-child-with-percent-height-inside-relative-parent-expected.txt: Added.
* platform/mac/fast/css/empty-pseudo-class-expected.txt:
* platform/mac/fast/css/first-child-pseudo-class-expected.txt:
* platform/mac/fast/css/first-of-type-pseudo-class-expected.txt:
* platform/mac/fast/css/last-child-pseudo-class-expected.txt:
* platform/mac/fast/css/last-of-type-pseudo-class-expected.txt:
* platform/mac/fast/css/only-child-pseudo-class-expected.txt:
* platform/mac/fast/css/only-of-type-pseudo-class-expected.txt:
* platform/mac/fast/css/text-overflow-input-expected.txt:
* platform/mac/fast/forms/file/file-input-direction-expected.txt:
* platform/mac/fast/forms/input-text-scroll-left-on-blur-expected.txt:
* platform/mac/fast/forms/number/number-appearance-rtl-expected.txt:
* platform/mac/fast/forms/placeholder-position-expected.txt:
* platform/mac/fast/forms/search-rtl-expected.txt:
* platform/mac/fast/line-grid/line-align-left-edges-expected.txt:
* platform/mac/fast/lists/008-expected.txt:
* platform/mac/fast/lists/008-vertical-expected.txt:
* platform/mac/fast/multicol/column-count-with-rules-expected.txt:
* platform/mac/fast/multicol/float-multicol-expected.txt:
* platform/mac/fast/multicol/layers-in-multicol-expected.txt:
* platform/mac/fast/multicol/vertical-lr/float-multicol-expected.txt:
* platform/mac/fast/multicol/vertical-rl/float-multicol-expected.txt:
* platform/mac/fast/regions/multiple-directionality-changes-in-variable-width-regions-expected.txt:
* platform/mac/fast/regions/repaint/line-flow-with-floats-in-regions-expected.txt:
* platform/mac/fast/repaint/line-flow-with-floats-1-expected.txt:
* platform/mac/fast/repaint/line-flow-with-floats-10-expected.txt:
* platform/mac/fast/repaint/line-flow-with-floats-2-expected.txt:
* platform/mac/fast/repaint/line-flow-with-floats-3-expected.txt:
* platform/mac/fast/repaint/line-flow-with-floats-4-expected.txt:
* platform/mac/fast/repaint/line-flow-with-floats-5-expected.txt:
* platform/mac/fast/repaint/line-flow-with-floats-6-expected.txt:
* platform/mac/fast/repaint/line-flow-with-floats-7-expected.txt:
* platform/mac/fast/repaint/line-flow-with-floats-8-expected.txt:
* platform/mac/fast/repaint/line-flow-with-floats-9-expected.txt:
* platform/mac/fast/text/script-tests/ligature-subdivision.js:
* platform/mac/fast/text/vertical-rl-rtl-linebreak-expected.txt:
* platform/mac/fast/text/whitespace/024-expected.txt:
* platform/mac/fast/text/whitespace/pre-wrap-spaces-after-newline-expected.txt:
* platform/mac/fast/text/word-break-run-rounding-expected.txt:
* platform/mac/svg/wicd/rightsizing-grid-expected.txt:

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

7 years agoAX: iOS: using AXAttributeCacheEnabler is too slow for every accessibilityElementAtIndex:
cfleizach@apple.com [Mon, 19 May 2014 16:10:54 +0000 (16:10 +0000)]
AX: iOS: using AXAttributeCacheEnabler is too slow for every accessibilityElementAtIndex:
https://bugs.webkit.org/show_bug.cgi?id=133043

Reviewed by Mario Sanchez Prada.

iOS Accessibility code tries to improve performance by caching attributes when accessing
elements through the platform API. However, those API calls can be used very frequently when
iterating elements. Creating the AXAttributeCacheEnabler object and tearing it down is proving
to be the hottest code path in samples for accessibility access.

We need to move the logic for enabling/disabling the attribute cache to a level that can make
a more informed decision about when to enable/disable.

* accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
(-[WebAccessibilityObjectWrapper enableAttributeCaching]):
(-[WebAccessibilityObjectWrapper disableAttributeCaching]):
(-[WebAccessibilityObjectWrapper accessibilityElementCount]):
(-[WebAccessibilityObjectWrapper accessibilityElementAtIndex:]):
(-[WebAccessibilityObjectWrapper indexOfAccessibilityElement:]):

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

7 years agoUse RenderStyle& in more places in RenderLayerBacking
simon.fraser@apple.com [Mon, 19 May 2014 15:53:37 +0000 (15:53 +0000)]
Use RenderStyle& in more places in RenderLayerBacking
https://bugs.webkit.org/show_bug.cgi?id=133061

Reviewed by Andreas Kling.

Convert several member functions to use references to RenderStyle rather
than pointers. Move canCreateTiledImage() higher in the file (no code
changes). Other minor cleanup.

* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::createPrimaryGraphicsLayer):
(WebCore::RenderLayerBacking::updateOpacity):
(WebCore::RenderLayerBacking::updateTransform):
(WebCore::RenderLayerBacking::updateFilters):
(WebCore::RenderLayerBacking::updateBlendMode):
(WebCore::RenderLayerBacking::updateGeometry):
(WebCore::hasBoxDecorations):
(WebCore::canCreateTiledImage):
(WebCore::hasBoxDecorationsOrBackgroundImage):
(WebCore::hasPerspectiveOrPreserves3D):
(WebCore::supportsDirectBoxDecorationsComposition):
(WebCore::RenderLayerBacking::isSimpleContainerCompositingLayer):
(WebCore::RenderLayerBacking::contentChanged):
(WebCore::RenderLayerBacking::startTransition):
* rendering/RenderLayerBacking.h:

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

7 years agoRename some RenderLayerBacking member functions
simon.fraser@apple.com [Mon, 19 May 2014 15:53:32 +0000 (15:53 +0000)]
Rename some RenderLayerBacking member functions
https://bugs.webkit.org/show_bug.cgi?id=133030

Reviewed by Sam Weinig.

Remove "GraphicsLayer" from some member function names on RenderLayerBacking.

No behavior change.

* platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
(WebCore::AVFWrapper::createAVCFVideoLayer):
* platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
(WebCore::MediaPlayerPrivateQTKit::createQTMovieLayer):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::calculateClipRects):
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateAfterLayout):
(WebCore::RenderLayerBacking::updateConfiguration):
(WebCore::RenderLayerBacking::updateGeometry):
(WebCore::RenderLayerBacking::contentChanged):
(WebCore::RenderLayerBacking::setContentsNeedDisplayInRect):
(WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration): Deleted.
(WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): Deleted.
* rendering/RenderLayerBacking.h:
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::updateLayerCompositingState):
(WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
(WebCore::RenderLayerCompositor::updateLayerTreeGeometry):
(WebCore::RenderLayerCompositor::updateCompositingDescendantGeometry):
(WebCore::RenderLayerCompositor::attachRootLayer):

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

7 years agoUnreviewed gardening, try to unbreak Mac buildbots and EWS bots after r169023.
ossy@webkit.org [Mon, 19 May 2014 15:18:38 +0000 (15:18 +0000)]
Unreviewed gardening, try to unbreak Mac buildbots and EWS bots after r169023.

* platform/mac-mountainlion/js/dom/global-constructors-attributes-expected.txt:
* platform/mac/js/dom/global-constructors-attributes-expected.txt:

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

7 years agorun-javascriptcore-tests should sort the list of failing stress tests
commit-queue@webkit.org [Mon, 19 May 2014 11:09:16 +0000 (11:09 +0000)]
run-javascriptcore-tests should sort the list of failing stress tests
https://bugs.webkit.org/show_bug.cgi?id=132989

Patch by Eva Balazsfalvi <evab.u-szeged@partner.samsung.com> on 2014-05-19
Reviewed by Csaba Osztrogonác.

* Scripts/run-javascriptcore-tests:

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

7 years agowebkitdirs.pm: Add setupMacWebKitEnvironment() to set __XPC_DYLD_FRAMEWORK_PATH consi...
ddkilzer@apple.com [Mon, 19 May 2014 09:17:53 +0000 (09:17 +0000)]
webkitdirs.pm: Add setupMacWebKitEnvironment() to set __XPC_DYLD_FRAMEWORK_PATH consistently
<http://webkit.org/b/132954>

Reviewed by Darin Adler.

Extract code into setupMacWebKitEnvironment() for setting up
common environment variables so it may be shared.  Sets
__XPC_DYLD_FRAMEWORK_PATH consistently and adds support for
using guardmalloc to some scripts.

Also adds support for parsing shared (common) command-line
switches, initially just -g|--guard-malloc.

* Scripts/bisect-builds: Add -g|--guard-malloc support by using
sharedCommandLineOptions() and sharedCommandLineOptionsUsage().
(mountAndRunNightly): Call setupMacWebKitEnvironment().  Use a
local copy of %ENV when launching Safari so we don't have to
restore variables.

* Scripts/run-api-tests: Add -g|--guard-malloc support by using
sharedCommandLineOptions() and sharedCommandLineOptionsUsage().
Check result of GetOptions() to catch invalid command-line
switches.
(runTest): Use a local copy of %ENV when running tests so we
don't have to restore variables.
(prepareEnvironmentForRunningTestTool): Call
setupMacWebKitEnvironment().

* Scripts/run-pageloadtest: Add -g|--guard-malloc support by
using sharedCommandLineOptions() and
sharedCommandLineOptionsUsage().  Call
setupMacWebKitEnvironment().

* Scripts/webkitdirs.pm:
(sharedCommandLineOptions): Return array of common switches to
pass to Getopt::Long::GetOptions().
(sharedCommandLineOptionsUsage): Return formatted string of
common switches for printing usage help text.
(setUpGuardMallocIfNeeded): Support using '-g' for enabling
guardmalloc.
(printHelpAndExitForRunAndDebugWebKitAppIfNeeded): Ditto.
(setupMacWebKitEnvironment): Extracted from runMacWebKitApp()
and changed not to clobber DYLD_FRAMEWORK_PATH if already set.
(runMacWebKitApp): Call setupMacWebKitEnvironment().  Use a
local copy of %ENV when launching Safari so we don't have to
restore variables.
(execMacWebKitAppForDebugging): Call
setupMacWebKitEnvironment().

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

7 years agoFix assertion failure with simple line layout debug borders enabled.
antti@apple.com [Mon, 19 May 2014 09:02:04 +0000 (09:02 +0000)]
Fix assertion failure with simple line layout debug borders enabled.

Rubber-stamped by Andreas Kling.

* rendering/SimpleLineLayoutFunctions.cpp:
(WebCore::SimpleLineLayout::paintDebugBorders): We shoudn't try to paint empty rects.

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

7 years agoRemoving some check-webkit-style warnings from ./dfg
commit-queue@webkit.org [Mon, 19 May 2014 09:00:56 +0000 (09:00 +0000)]
Removing some check-webkit-style warnings from ./dfg
https://bugs.webkit.org/show_bug.cgi?id=132854

Patch by Tanay C <tanay.c@samsung.com> on 2014-05-19
Reviewed by Darin Adler.

* dfg/DFGAbstractInterpreter.h:
* dfg/DFGAbstractValue.h:
* dfg/DFGBlockInsertionSet.h:
* dfg/DFGCommonData.h:
* dfg/DFGDominators.h:
* dfg/DFGGraph.h:
* dfg/DFGInPlaceAbstractState.h:
* dfg/DFGPredictionPropagationPhase.h:

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

7 years agoBuild fix after r169023.
mrowe@apple.com [Mon, 19 May 2014 08:44:52 +0000 (08:44 +0000)]
Build fix after r169023.

* Shared/API/Cocoa/WebKitPrivate.h: Stop including headers that no longer exist.
I hope for weinig's sake that no-one was relying on them.

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

7 years agoReduce constructor copypasta in RenderText and RenderElement.
akling@apple.com [Mon, 19 May 2014 06:44:35 +0000 (06:44 +0000)]
Reduce constructor copypasta in RenderText and RenderElement.
<https://webkit.org/b/133056>

Use delegating constructors to remove duplicated initializer lists
from the constructors of RenderText and RenderElement.

Reviewed by Anders Carlsson.

* rendering/RenderElement.cpp:
(WebCore::RenderElement::RenderElement):
* rendering/RenderElement.h:
* rendering/RenderText.cpp:
(WebCore::RenderText::RenderText):
* rendering/RenderText.h:

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

7 years agoCrash during scroll when latched
bfulgham@apple.com [Mon, 19 May 2014 05:50:30 +0000 (05:50 +0000)]
Crash during scroll when latched
https://bugs.webkit.org/show_bug.cgi?id=133064

Reviewed by Simon Fraser.

* page/mac/EventHandlerMac.mm:
(WebCore::EventHandler::platformPrepareForWheelEvents): Prevent dereference of NULL
wheelEventTarget argument.

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

7 years agoUnreviewed, remove bogus comment. We already made the FTL use our calling convention.
fpizlo@apple.com [Mon, 19 May 2014 02:37:54 +0000 (02:37 +0000)]
Unreviewed, remove bogus comment. We already made the FTL use our calling convention.
That was a long time ago.

* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::compileReturn):

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

7 years agoRelax an assertion when creating document loaders
andersca@apple.com [Mon, 19 May 2014 00:12:32 +0000 (00:12 +0000)]
Relax an assertion when creating document loaders
https://bugs.webkit.org/show_bug.cgi?id=133058

Reviewed by Sam Weinig.

When navigating back/forward items recursively, createDocumentLoader will be called
for subframes before main frames so only associate the navigation with main frames.

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

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

7 years agoCMake Buildfix after r169023.
ossy@webkit.org [Sun, 18 May 2014 23:30:47 +0000 (23:30 +0000)]
CMake Buildfix after r169023.

Patch by Zsolt Borbely <zsborbely.u-szeged@partner.samsung.com> on 2014-05-18
Reviewed by Csaba Osztrogonác.

* CMakeLists.txt: Add new files after r168994.

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

7 years agoInput ::selection pseudo class does not work leading to hidden selection
commit-queue@webkit.org [Sun, 18 May 2014 23:25:17 +0000 (23:25 +0000)]
Input ::selection pseudo class does not work leading to hidden selection
https://bugs.webkit.org/show_bug.cgi?id=38943

Source/WebCore:

Patch by Svetlana Redchenko <redchenko@yandex-team.ru> on 2014-05-18
Reviewed by Darin Adler.

Test: fast/selectors/input-with-selection-pseudo-element.html

When text is selected inside input element, it should change the
color and background color according to the ::selection pseudo element.

* rendering/RenderObject.cpp:
(WebCore::RenderObject::selectionBackgroundColor):
(WebCore::RenderObject::selectionColor):
(WebCore::RenderObject::selectionPseudoStyle):
* rendering/RenderObject.h:

LayoutTests:

Patch by Svetlana Redchenko <redchenko@yandex-team.ru> on 2014-05-18
Reviewed by Darin Adler.

* fast/selectors/input-with-selection-pseudo-element-expected.html: Added.
* fast/selectors/input-with-selection-pseudo-element.html: Added.

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

7 years ago[WebKit2] Implement ScriptMessageHandlers
weinig@apple.com [Sun, 18 May 2014 23:12:37 +0000 (23:12 +0000)]
[WebKit2] Implement ScriptMessageHandlers
https://bugs.webkit.org/show_bug.cgi?id=133053

Reviewed by Anders Carlsson.

* DerivedSources.make:

../WebCore:
* WebCore.exp.in:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSDOMWindowBase.cpp:
(WebCore::JSDOMWindowBase::finishCreation):
* bindings/js/JSUserMessageHandlersNamespaceCustom.cpp: Added.
(WebCore::JSUserMessageHandlersNamespace::getOwnPropertySlotDelegate):
* page/DOMWindow.cpp:
(WebCore::DOMWindow::shouldHaveWebKitNamespaceForWorld):
(WebCore::DOMWindow::webkitNamespace):
* page/DOMWindow.h:
* page/UserContentController.cpp:
(WebCore::UserContentController::addUserMessageHandlerDescriptor):
(WebCore::UserContentController::removeUserMessageHandlerDescriptor):
* page/UserContentController.h:
(WebCore::UserContentController::userMessageHandlerDescriptors):
* page/UserMessageHandler.cpp: Added.
(WebCore::UserMessageHandler::UserMessageHandler):
(WebCore::UserMessageHandler::~UserMessageHandler):
(WebCore::UserMessageHandler::postMessage):
(WebCore::UserMessageHandler::name):
(WebCore::UserMessageHandler::world):
* page/UserMessageHandler.h: Added.
(WebCore::UserMessageHandler::create):
* page/UserMessageHandler.idl: Added.
* page/UserMessageHandlerDescriptor.cpp: Added.
(WebCore::UserMessageHandlerDescriptor::UserMessageHandlerDescriptor):
(WebCore::UserMessageHandlerDescriptor::~UserMessageHandlerDescriptor):
(WebCore::UserMessageHandlerDescriptor::name):
(WebCore::UserMessageHandlerDescriptor::world):
* page/UserMessageHandlerDescriptor.h: Added.
(WebCore::UserMessageHandlerDescriptor::Client::~Client):
(WebCore::UserMessageHandlerDescriptor::create):
(WebCore::UserMessageHandlerDescriptor::client):
* page/UserMessageHandlerDescriptorTypes.h: Added.
* page/UserMessageHandlersNamespace.cpp: Added.
(WebCore::UserMessageHandlersNamespace::UserMessageHandlersNamespace):
(WebCore::UserMessageHandlersNamespace::~UserMessageHandlersNamespace):
(WebCore::UserMessageHandlersNamespace::handler):
* page/UserMessageHandlersNamespace.h: Added.
(WebCore::UserMessageHandlersNamespace::create):
* page/UserMessageHandlersNamespace.idl: Added.
* page/WebKitNamespace.cpp: Added.
(WebCore::WebKitNamespace::WebKitNamespace):
(WebCore::WebKitNamespace::~WebKitNamespace):
(WebCore::WebKitNamespace::messageHandlers):
* page/WebKitNamespace.h: Added.
(WebCore::WebKitNamespace::create):
* page/WebKitNamespace.idl: Added.

../WebKit2:
* Scripts/webkit2/messages.py:
(struct_or_class):
(argument_coder_headers_for_type):
(headers_for_type):
* UIProcess/API/Cocoa/WKScriptMessage.mm:
(-[WKScriptMessage _initWithBody:webView:name:]):
(-[WKScriptMessage body]):
(-[WKScriptMessage webView]):
(-[WKScriptMessage name]):
(-[WKScriptMessage _scriptWorld]): Deleted.
* UIProcess/API/Cocoa/WKScriptMessageInternal.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKScriptMessagePrivate.h.
* UIProcess/API/Cocoa/WKScriptMessagePrivate.h: Removed.
* UIProcess/API/Cocoa/WKUserContentController.mm:
(-[WKUserContentController addScriptMessageHandler:name:]):
(-[WKUserContentController removeScriptMessageHandlerForName:]):
(-[WKUserContentController _addScriptMessageHandler:name:world:]): Deleted.
(-[WKUserContentController _removeScriptMessageHandlerForName:world:]): Deleted.
* UIProcess/API/Cocoa/WKUserContentControllerInternal.h:
* UIProcess/API/Cocoa/WKUserContentControllerPrivate.h: Removed.
* UIProcess/API/Cocoa/WKWebView.mm:
(pageToViewMap):
(fromWebPageProxy):
(-[WKWebView initWithFrame:configuration:]):
(-[WKWebView dealloc]):
* UIProcess/API/Cocoa/WKWebViewInternal.h:
* UIProcess/UserContent/WebScriptMessageHandler.cpp: Added.
(WebKit::WebScriptMessageHandlerHandle::encode):
(WebKit::WebScriptMessageHandlerHandle::decode):
(WebKit::generateIdentifier):
(WebKit::WebScriptMessageHandler::create):
(WebKit::WebScriptMessageHandler::WebScriptMessageHandler):
(WebKit::WebScriptMessageHandler::~WebScriptMessageHandler):
* UIProcess/UserContent/WebScriptMessageHandler.h: Added.
(WebKit::WebScriptMessageHandler::Client::~Client):
(WebKit::WebScriptMessageHandler::handle):
(WebKit::WebScriptMessageHandler::identifier):
(WebKit::WebScriptMessageHandler::name):
(WebKit::WebScriptMessageHandler::client):
* UIProcess/UserContent/WebUserContentControllerProxy.cpp:
(WebKit::WebUserContentControllerProxy::addProcess):
(WebKit::WebUserContentControllerProxy::removeProcess):
(WebKit::WebUserContentControllerProxy::addUserScriptMessageHandler):
(WebKit::WebUserContentControllerProxy::removeUserMessageHandlerForName):
(WebKit::WebUserContentControllerProxy::didPostMessage):
* UIProcess/UserContent/WebUserContentControllerProxy.h:
* UIProcess/UserContent/WebUserContentControllerProxy.messages.in: Added.
* WebKit2.xcodeproj/project.pbxproj:
* WebProcess/UserContent/WebUserContentController.cpp:
(WebKit::WebUserMessageHandlerDescriptorProxy::create):
(WebKit::WebUserMessageHandlerDescriptorProxy::~WebUserMessageHandlerDescriptorProxy):
(WebKit::WebUserMessageHandlerDescriptorProxy::didPostMessage):
(WebKit::WebUserMessageHandlerDescriptorProxy::descriptor):
(WebKit::WebUserMessageHandlerDescriptorProxy::identifier):
(WebKit::WebUserMessageHandlerDescriptorProxy::WebUserMessageHandlerDescriptorProxy):
(WebKit::WebUserContentController::addUserScriptMessageHandlers):
(WebKit::WebUserContentController::removeUserScriptMessageHandler):
* WebProcess/UserContent/WebUserContentController.h:
* WebProcess/UserContent/WebUserContentController.messages.in:

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

7 years agoREGRESSION (r156546): Default media controls are laid out incorrectly when media...
mjs@apple.com [Sun, 18 May 2014 22:03:07 +0000 (22:03 +0000)]
REGRESSION (r156546): Default media controls are laid out incorrectly when media element is styled with direction:rtl
https://bugs.webkit.org/show_bug.cgi?id=132531
<rdar://problem/16806267>

Source/WebCore:

Reviewed by Mark Rowe.

This was already tested by the media/video-rtl.htm reftest, now unskipped.

* Modules/mediacontrols/mediaControlsApple.css:
(audio::-webkit-media-controls-panel): Add missing direction: ltr

LayoutTests:

Reviewed by Mark Rowe.

* platform/mac/TestExpectations: Unskip media/video-rtl.html

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

7 years agoBring back two NSString category methods on iOS
andersca@apple.com [Sun, 18 May 2014 21:36:49 +0000 (21:36 +0000)]
Bring back two NSString category methods on iOS
https://bugs.webkit.org/show_bug.cgi?id=133055
<rdar://problem/16951983>

Reviewed by Adele Peterson.

* Misc/WebNSURLExtras.h:
* Misc/WebNSURLExtras.mm:
(-[NSString _webkit_unescapedQueryValue]):
(-[NSString _webkit_queryKeysAndValues]):

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

7 years agosupport for navigator.hardwareConcurrency
cabanier@adobe.com [Sun, 18 May 2014 20:36:43 +0000 (20:36 +0000)]
support for navigator.hardwareConcurrency
https://bugs.webkit.org/show_bug.cgi?id=132588

Reviewed by Filip Pizlo.

.:
* Source/cmake/OptionsEfl.cmake:
* Source/cmake/OptionsGTK.cmake:
* Source/cmake/WebKitFeatures.cmake:
* Source/cmakeconfig.h.cmake:

Source/JavaScriptCore:
* Configurations/FeatureDefines.xcconfig:

Source/WebCore:
Added a new API that returns the number of CPU cores up to 8.

Test: fast/dom/navigator-hardwareConcurrency.html

* Configurations/FeatureDefines.xcconfig:
* page/Navigator.cpp:
(WebCore::Navigator::hardwareConcurrency):
* page/Navigator.h:
* page/Navigator.idl:

Source/WebKit/mac:
* Configurations/FeatureDefines.xcconfig:

Source/WebKit2:
* Configurations/FeatureDefines.xcconfig:

Source/WTF:
* wtf/FeatureDefines.h:

Tools:
* Scripts/webkitperl/FeatureList.pm:

LayoutTests:
* fast/dom/navigator-detached-no-crash-expected.txt:
* fast/dom/navigator-hardwareConcurrency-expected.txt: Added.
* fast/dom/navigator-hardwareConcurrency.html: Added.

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

7 years agoImplement Navigations for all methods declared returning one
andersca@apple.com [Sun, 18 May 2014 19:33:58 +0000 (19:33 +0000)]
Implement Navigations for all methods declared returning one
https://bugs.webkit.org/show_bug.cgi?id=133048
<rdar://problem/16830064>

Reviewed by Sam Weinig.

Source/WebKit2:
* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView goToBackForwardListItem:]):
(-[WKWebView goBack]):
(-[WKWebView goForward]):
(-[WKWebView reload]):
(-[WKWebView reloadFromOrigin]):
Create and return navigations.

(-[WKWebView _reload]):
Call -[WKWebView reload].

* UIProcess/Cocoa/NavigationState.h:
* UIProcess/Cocoa/NavigationState.mm:
(WebKit::NavigationState::createBackForwardNavigation):
Create a back/forward navigation.

(WebKit::NavigationState::createReloadNavigation):
Create a reload navigation.

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::reattachToWebProcessWithItem):
Generate a navigation ID and send it with the GoToBackForwardItem message.

(WebKit::WebPageProxy::reload):
Return a navigation ID.

(WebKit::WebPageProxy::goForward):
Generate a navigation ID and send it with the GoForward message.

(WebKit::WebPageProxy::goBack):
Generate a navigation ID and send it with the GoBack message.

(WebKit::WebPageProxy::goToBackForwardItem):
Generate a navigation ID and send it with the GoToBackForwardItem message.

* UIProcess/WebPageProxy.h:
Return navigation IDs where appropriate.

* UIProcess/cf/WebPageProxyCF.cpp:
(WebKit::WebPageProxy::restoreFromSessionStateData):
Generate a navigation ID and send it with the RestoreSessionAndNavigateToCurrentItem message.

* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::goForward):
(WebKit::WebPage::goBack):
(WebKit::WebPage::goToBackForwardItem):
Set up the pending navigation ID.

(WebKit::WebPage::restoreSessionAndNavigateToCurrentItem):
Call goToBackForwardItem with a navigation ID.

* WebProcess/WebPage/WebPage.h:
Add navigation IDs.

* WebProcess/WebPage/WebPage.messages.in:
Add navigation IDs.

Tools:
* MiniBrowser/mac/MiniBrowser_Prefix.pch:
Import WebKit.h.

* MiniBrowser/mac/WK2BrowserWindowController.m:
(-[WK2BrowserWindowController webView:didStartProvisionalNavigation:]):
(-[WK2BrowserWindowController webView:didReceiveServerRedirectForProvisionalNavigation:]):
(-[WK2BrowserWindowController webView:didFailProvisionalNavigation:withError:]):
(-[WK2BrowserWindowController webView:didCommitNavigation:]):
(-[WK2BrowserWindowController webView:didFinishLoadingNavigation:]):
(-[WK2BrowserWindowController webView:didFailNavigation:withError:]):
Print out the navigations.

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

7 years agoFix iOS build.
andersca@apple.com [Sun, 18 May 2014 17:47:11 +0000 (17:47 +0000)]
Fix iOS build.

* WebCore.exp.in:
Move UserContentController symbols to the right place.

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

7 years agoBuild fix for r169006.
jonlee@apple.com [Sun, 18 May 2014 16:53:03 +0000 (16:53 +0000)]
Build fix for r169006.

Unreviewed.

* loader/ResourceLoader.h: Return didCreateQuickLookHandle() to public.

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

7 years agoUnreviewed, rolling out r169001.
commit-queue@webkit.org [Sun, 18 May 2014 16:29:07 +0000 (16:29 +0000)]
Unreviewed, rolling out r169001.
https://bugs.webkit.org/show_bug.cgi?id=133050

We can't expose the C SPI from WKWebView (Requested by
andersca on #webkit).

Reverted changeset:

"Need a way to get a WKPageRef from a WKWebView"
https://bugs.webkit.org/show_bug.cgi?id=133015
http://trac.webkit.org/changeset/169001

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

7 years agoREGRESSION (r160259): text-combine glyphs are not rendered
antti@apple.com [Sun, 18 May 2014 10:51:53 +0000 (10:51 +0000)]
REGRESSION (r160259): text-combine glyphs are not rendered
https://bugs.webkit.org/show_bug.cgi?id=127324

Reviewed by Andreas Kling.

Source/WebCore:

The original text gets overwritten by a change that is supposed to affect rendered text only.
Fixed by giving the text update functions well-defined purposes.

Test: fast/text/text-combine-rendering.html

* rendering/RenderCombineText.cpp:
(WebCore::RenderCombineText::styleDidChange):
(WebCore::RenderCombineText::setRenderedText):
(WebCore::RenderCombineText::combineText):
(WebCore::RenderCombineText::setTextInternal): Deleted.
* rendering/RenderCombineText.h:
* rendering/RenderCounter.cpp:
(WebCore::RenderCounter::computePreferredLogicalWidths):
* rendering/RenderText.cpp:
(WebCore::RenderText::setRenderedText):

    This function now updates the rendered text but does not change the original.
    Get the original text by calling originalText().

(WebCore::RenderText::setText):

    This the only place original text now changes.

(WebCore::RenderText::setTextInternal): Deleted.

    Renamed to setRenderedText.

* rendering/RenderText.h:
* rendering/svg/RenderSVGInlineText.cpp:
(WebCore::RenderSVGInlineText::setRenderedText):
(WebCore::RenderSVGInlineText::setTextInternal): Deleted.
* rendering/svg/RenderSVGInlineText.h:

LayoutTests:

* fast/text/text-combine-rendering-expected.html: Added.
* fast/text/text-combine-rendering.html: Added.

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

7 years ago[WK2][GTK] Buildfix after r168999.
ossy@webkit.org [Sun, 18 May 2014 07:57:27 +0000 (07:57 +0000)]
[WK2][GTK] Buildfix after r168999.

Patch by Martin Hodovan <mhodovan.u-szeged@partner.samsung.com> on 2014-05-18
Reviewed by Csaba Osztrogonác.

* UIProcess/gtk/WebContextGtk.cpp:
(WebKit::WebContext::platformDefaultWebSQLDatabaseDirectory): Renamed from WebKit::WebContext::platformDefaultDatabaseDirectory().
(WebKit::WebContext::platformDefaultIndexedDBDatabaseDirectory): Added.

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

7 years ago[WK2][EFL] Buildfix after r168999.
ossy@webkit.org [Sun, 18 May 2014 07:52:55 +0000 (07:52 +0000)]
[WK2][EFL] Buildfix after r168999.

Patch by Martin Hodovan <mhodovan.u-szeged@partner.samsung.com> on 2014-05-18
Reviewed by Csaba Osztrogonác.

* UIProcess/efl/WebContextEfl.cpp:
(WebKit::WebContext::platformDefaultWebSQLDatabaseDirectory): Renamed from WebKit::WebContext::platformDefaultDatabaseDirectory().
(WebKit::WebContext::platformDefaultIndexedDBDatabaseDirectory): Added.

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