REGRESSION(137127): Causes assertion failures on the debug bots
https://bugs.webkit.org/show_bug.cgi?id=104549

Patch by Martin Robinson <mrobinson@igalia.com> on 2012-12-10
Reviewed by Alejandro G. Castro.

After handling the new TextOutput message we should return the method
handling messages received.

* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveMessageFromInjectedBundle): Fix a missing early return.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@137151 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Visual order of empty value placeholder in INPUT_MULTIPLE_FIELDS_UI is wrong in RTL
https://bugs.webkit.org/show_bug.cgi?id=104438

Reviewed by Hajime Morita.

Source/WebCore:

No new tests. This updates datetimelocal-appearance-l10n.html for he-il
and ar-eg locales.

* html/shadow/DateTimeNumericFieldElement.cpp:
(WebCore::DateTimeNumericFieldElement::DateTimeNumericFieldElement):
We should not append Right-to-left-mark to each of placeholder
strings. It makes numeric field separators such as ':' and '/' RTL, and
makes a wrong visual order. We use unicode-bidi:bidi-override and
direction:ltr instead. It means we force LTR only to this element
* html/shadow/DateTimeNumericFieldElement.h:
Makes m_placeholder const again.
* html/shadow/DateTimeEditElement.cpp:
(WebCore::DateTimeEditBuilder::visitLiteral):
Explicitly set right-to-left-mark before S, WS, ON types according to
Unicod Bidirectional Algorithm Table 4 [1]. This is needed because we
don't have context like "This literal follows European/Arabic numbers"
in a case of showing placeholders.
[1] http://www.unicode.org/reports/tr9/#Bidirectional_Character_Types

LayoutTests:

* platform/chromium-mac/fast/forms/datetimelocal/datetimelocal-appearance-l10n-expected.png:
* platform/chromium/TestExpectations:
Update bug numbers and add time-multiple-fields-localization.html.
* fast/forms/date-multiple-fields/date-multiple-fields-keyboard-events.html:
Adjust test scenario for the new behavior.
* fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-keyboard-events.html:
* fast/forms/month-multiple-fields/month-multiple-fields-keyboard-events.html:
* fast/forms/time-multiple-fields/time-multiple-fields-keyboard-events.html:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@137152 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed GTK gardening.

Unskipping 8 failing accessibility tests, adding expected failures for them.

* platform/gtk/TestExpectations:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@137153 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Web Inspector: remove the Overrides / Settings context menu from gear icon
https://bugs.webkit.org/show_bug.cgi?id=104546

Reviewed by Alexander Pavlov.

It sounds like too many people don't like the way it works. Bringing things back: overrides will be a tab in settings for now.
Moving present behavior to under experiment.

* inspector/front-end/OverridesView.js:
(WebInspector.OverridesView):
* inspector/front-end/Settings.js:
(WebInspector.ExperimentsSettings):
* inspector/front-end/SettingsScreen.js:
(WebInspector.OverridesSettingsTab):
(WebInspector.SettingsController):
(WebInspector.SettingsController.prototype.get statusBarItem):
(WebInspector.SettingsController.prototype._mouseDown.showSettings):
(WebInspector.SettingsController.prototype._mouseDown):
(WebInspector.SettingsController.prototype._mouseUp):
* inspector/front-end/helpScreen.css:
(#settings-screen .tabbed-pane-header):
(#settings-screen .tabbed-pane-header-tabs):
(#settings-screen .tabbed-pane-header-tab):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@137154 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Build fix.

Add a patchfile missing from my previous commit.

* gtk/patches/harfbuzz-icu-detection-fix.patch: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@137155 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed: Web Inspector: update test expectation for inspector/styles/styles-computed-trace.html.
it is slow in debug version. ~20 sec on linux.

* platform/chromium/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@137156 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[chromium] Add 'WebKit/chromium/win8' to .gitignore
https://bugs.webkit.org/show_bug.cgi?id=104534

Reviewed by Jochen Eisinger.

I've now added it via 'git add' once, and via 'git commit -a' twice.
Let's make that more difficult, shall we?

* .gitignore:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@137157 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[WinCairo] Link fix in InspectorController.cpp
https://bugs.webkit.org/show_bug.cgi?id=104556

Patch by peavo@outlook.com <peavo@outlook.com> on 2012-12-10
Reviewed by Pavel Feldman.

* inspector/InspectorController.cpp:
(WebCore::InspectorController::InspectorController): Added missing #if check.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@137158 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Qt] MediaPlayerQTKit broken after switching QPainter to raster engine.
https://bugs.webkit.org/show_bug.cgi?id=104550

With Qt5 QPainter changed to using the raster engine.
Therefore we no longer have an NSGraphicsContext that we can
use for drawing video frames.
With this patch we are rendering the video frame into an image buffer
and then paint it manually using QPainter.

Reviewed by Simon Hausmann.

* platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
(WebCore):
(WebCore::swapBgrToRgb):
    Swap the color format from BGR to RGB,
    since BGR is not supported by QImage.
(WebCore::MediaPlayerPrivateQTKit::paint):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@137159 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Web Inspector: fix front-end compilation warnings
https://bugs.webkit.org/show_bug.cgi?id=104557

Reviewed by Alexander Pavlov.

Corresponding annotations added.

* inspector/Inspector.json:
* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::highlightNode):
* inspector/InspectorDOMAgent.h:
(InspectorDOMAgent):
* inspector/front-end/CSSStyleModel.js:
(WebInspector.CSSStyleDeclaration.prototype.):
(WebInspector.CSSStyleDeclaration.prototype.insertPropertyAt):
* inspector/front-end/ConsoleMessage.js:
(WebInspector.ConsoleMessageImpl.prototype._appendPropertyPreview):
* inspector/front-end/DOMAgent.js:
(WebInspector.DOMAgent.prototype.highlightDOMNode):
* inspector/front-end/DOMPresentationUtils.js:
(WebInspector.DOMPresentationUtils.linkifyNodeReference):
* inspector/front-end/ObjectPropertiesSection.js:
(WebInspector.ObjectPropertyTreeElement.prototype.update):
* inspector/front-end/Toolbar.js:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@137160 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Add support for in-band text tracks to Mac port
https://bugs.webkit.org/show_bug.cgi?id=103663

Reviewed by Sam Weinig.

Source/WebCore: 

Test: media/track/track-in-band.html

* GNUmakefile.list.am: Move InbandTextTrackPrivate.h to platform/graphics. Add InbandTextTrackPrivateClient.h.
* Target.pri: Ditto.
* WebCore.gypi: Ditto.

* WebCore.xcodeproj/project.pbxproj: Add new files.

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::setReadyState): No need to call processInbandTextTracks, in-band tracks
    are now registered by the media engine as they are discovered.
(WebCore::HTMLMediaElement::mediaPlayerDidAddTrack): New, called by the media player when a new
    in-band track is found.
(WebCore::HTMLMediaElement::mediaPlayerDidRemoveTrack): New, called by the media player when an
    in-band track goes away.
* html/HTMLMediaElement.h:

* html/track/InbandTextTrack.cpp:
(WebCore::InbandTextTrack::InbandTextTrack): Use m_private instead of tracksPrivate because
    it is zeroed during assignment.

* platform/graphics/MediaPlayer.cpp:
(WebCore::MediaPlayer::addTextTrack): New MediaPlayerClient method to allow MediaPlayerPrivate subclasses
    to add a new in-band track.
(WebCore::MediaPlayer::removeTextTrack): New MediaPlayerClient method to allow MediaPlayerPrivate subclasses
    to remove a new in-band track.
* platform/graphics/MediaPlayer.h:
* platform/graphics/MediaPlayerPrivate.h:

* platform/graphics/avfoundation/InbandTextTrackPrivateAVF.cpp: Added.
(WebCore::InbandTextTrackPrivateAVF::InbandTextTrackPrivateAVF):
(WebCore::InbandTextTrackPrivateAVF::~InbandTextTrackPrivateAVF):
(WebCore::InbandTextTrackPrivateAVF::processCueAttributes): Convert an attribute string into WebVTT 
    cue setting and content strings.
(WebCore::InbandTextTrackPrivateAVF::processCue): Process a new cue.
(WebCore::InbandTextTrackPrivateAVF::disconnect): Clear member variables.
(WebCore::InbandTextTrackPrivateAVF::resetCueValues): Reset cue values to defaults.
(WebCore::InbandTextTrackPrivateAVF::setMode): Set track mode and call player's trackModeChanged.
* platform/graphics/avfoundation/InbandTextTrackPrivateAVF.h: Added.

* platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp: Initialize 
    m_inbandTrackConfigurationPending.
(WebCore::MediaPlayerPrivateAVFoundation::MediaPlayerPrivateAVFoundation):
(WebCore::MediaPlayerPrivateAVFoundation::seekCompleted): Flush the currently accumulating
    cue so it doesn't get the wrong duration.
(WebCore::MediaPlayerPrivateAVFoundation::dispatchNotification): Handle InbandTracksNeedConfiguration.
(WebCore::MediaPlayerPrivateAVFoundation::flushCurrentCue): New, pass the current cue up to the client.
(WebCore::MediaPlayerPrivateAVFoundation::configureInbandTracks): Configure in-band tracks.
(WebCore::MediaPlayerPrivateAVFoundation::trackModeChanged): Schedule a call to configureInbandTracks.
* platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:

* platform/graphics/avfoundation/objc/InbandTextTrackPrivateAVFObjC.h: Added.
* platform/graphics/avfoundation/objc/InbandTextTrackPrivateAVFObjC.mm: Added.
(WebCore::InbandTextTrackPrivateAVFObjC::InbandTextTrackPrivateAVFObjC):
(WebCore::InbandTextTrackPrivateAVFObjC::disconnect):
(WebCore::InbandTextTrackPrivateAVFObjC::kind): Return track kind.
(WebCore::InbandTextTrackPrivateAVFObjC::label): Return track label.
(WebCore::InbandTextTrackPrivateAVFObjC::language): Return track language.
(WebCore::InbandTextTrackPrivateAVFObjC::isDefault): 
* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
(MediaPlayerPrivateAVFoundationObjC):
(WebCore::MediaPlayerPrivateAVFoundationObjC::playerItem):
* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::MediaPlayerPrivateAVFoundationObjC): Initialize m_currentTrack.
(WebCore::MediaPlayerPrivateAVFoundationObjC::cancelLoad): Clear m_legibleOutput.
(WebCore::MediaPlayerPrivateAVFoundationObjC::tracksChanged): Create and initialize m_legibleOutput.
(WebCore::MediaPlayerPrivateAVFoundationObjC::processTextTracks): Called when the player item's
    "tracks" changes, add and remove in-band text tracks as necessary.
(WebCore::MediaPlayerPrivateAVFoundationObjC::processCue): Pass an attributed string to the current 
    track to be processed.
(WebCore::MediaPlayerPrivateAVFoundationObjC::setCurrentTrack): Tell AVFoundation to select an in-band track.
(WebCore::MediaPlayerPrivateAVFoundationObjC::currentTrack): Return the current track.
(-[WebCoreAVFMovieObserver legibleOutput:didOutputAttributedStrings:nativeSampleBuffers:forItemTime:]): Legible
    output delegate.

Source/WTF: 

* wtf/Platform.h: Define HAVE_AVFOUNDATION_TEXT_TRACK_SUPPORT.

LayoutTests: 

Test for initial support for in-band text tracks. New test skipped on all ports that don't 
have support in the media engine.

* media/content/counting-subtitled.m4v: Added.
* media/track/track-in-band-expected.txt: Added.
* media/track/track-in-band.html: Added.
* platform/chromium/TestExpectations:
* platform/efl/TestExpectations:
* platform/gtk/TestExpectations:
* platform/mac/TestExpectations:
* platform/qt/TestExpectations:
* platform/win/TestExpectations:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@137161 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Qt] Remove the support for building a debug WebKit with a release Qt
https://bugs.webkit.org/show_bug.cgi?id=104560

Reviewed by Tor Arne Vestbø.

This creates issues with non-framework builds of Qt (necessary for debug-only
builds) since a Qt5 prefix is now added to the base target name.

* Source/api.pri:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@137162 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[BlackBerry] Fix warning for comparison between signed and unsigned
https://bugs.webkit.org/show_bug.cgi?id=104563

Reviewed by Rob Buis.

* WebKitSupport/InputHandler.cpp:
(BlackBerry::WebKit::InputHandler::isCaretAtEndOfText):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@137163 268f45cc-cd09-0410-ab3c-d52691b4dbfc
WebKitWebViewBase produces a warning if compiled with gcc
https://bugs.webkit.org/show_bug.cgi?id=104561

Patch by Alberto Garcia <agarcia@igalia.com> on 2012-12-10
Reviewed by Carlos Garcia Campos.

* UIProcess/API/gtk/WebKitWebViewBase.h:
since this file can be included from C code, use void to
explicitly specify that webkit_web_view_base_get_type() doesn't
have parameters. Otherwise we get "warning: function declaration
isn't a prototype" with -Wstrict-prototypes.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@137164 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Remove expectation of previously failing test.
It passes after r137152.

Unreviewed gardening.

* platform/chromium-win-xp/fast/forms/time-multiple-fields/time-multiple-fields-keyboard-events-expected.txt: Removed.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@137165 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[CSS3 Backgrounds and Borders] Remove CSS3_BACKGROUND feature flag.
https://bugs.webkit.org/show_bug.cgi?id=104539

Reviewed by Antonio Gomes.

.:

As discussed on webkit-dev it is not needed to keep this feature flag
as support for <position> type is a small feature that is already
implemented by three other UAs. It was useful while landing this
feature as partial bits were landed one after one.

* Source/cmake/OptionsEfl.cmake:
* Source/cmake/WebKitFeatures.cmake:
* Source/cmakeconfig.h.cmake:
* configure.ac:

Source/JavaScriptCore:

As discussed on webkit-dev it is not needed to keep this feature flag
as support for <position> type is a small feature that is already
implemented by three other UAs. It was useful while landing this
feature as partial bits were landed one after one.

* Configurations/FeatureDefines.xcconfig:

Source/WebCore:

As discussed on webkit-dev it is not needed to keep this feature flag
as support for <position> type is a small feature that is already
implemented by three other UAs. It was useful while landing this
feature as partial bits were landed one after one.

No new tests : the feature is covered by various tests and it is already enabled in many ports.

* Configurations/FeatureDefines.xcconfig:
* GNUmakefile.am:
* GNUmakefile.features.am:
* css/CSSParser.cpp:
(WebCore::CSSParser::parseFillPosition):
(WebCore::CSSParser::parseFillProperty):
* css/CSSParser.h:
* css/CSSToStyleMap.cpp:
(WebCore::CSSToStyleMap::mapFillXPosition):
(WebCore::CSSToStyleMap::mapFillYPosition):
* rendering/style/FillLayer.cpp:
(SameSizeAsFillLayer):
(WebCore::FillLayer::FillLayer):
(WebCore::FillLayer::operator=):
(WebCore::FillLayer::operator==):
(WebCore::FillLayer::fillUnsetProperties):
* rendering/style/FillLayer.h:
(WebCore::FillLayer::backgroundXOrigin):
(WebCore::FillLayer::backgroundYOrigin):
(WebCore::FillLayer::isBackgroundOriginSet):
(WebCore::FillLayer::clearXPosition):
(WebCore::FillLayer::clearYPosition):
(FillLayer):

Source/WebKit/chromium:

As discussed on webkit-dev it is not needed to keep this feature flag
as support for <position> type is a small feature that is already
implemented by three other UAs. It was useful while landing this
feature as partial bits were landed one after one.

* features.gypi:

Source/WebKit/mac:

As discussed on webkit-dev it is not needed to keep this feature flag
as support for <position> type is a small feature that is already
implemented by three other UAs. It was useful while landing this
feature as partial bits were landed one after one.

* Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

As discussed on webkit-dev it is not needed to keep this feature flag
as support for <position> type is a small feature that is already
implemented by three other UAs. It was useful while landing this
feature as partial bits were landed one after one.

* Configurations/FeatureDefines.xcconfig:

Tools:

As discussed on webkit-dev it is not needed to keep this feature flag
as support for <position> type is a small feature that is already
implemented by three other UAs. It was useful while landing this
feature as partial bits were landed one after one.

* Scripts/webkitperl/FeatureList.pm:
* qmake/mkspecs/features/features.pri:

WebKitLibraries:

As discussed on webkit-dev it is not needed to keep this feature flag
as support for <position> type is a small feature that is already
implemented by three other UAs. It was useful while landing this
feature as partial bits were landed one after one.

* win/tools/vsprops/FeatureDefines.vsprops:
* win/tools/vsprops/FeatureDefinesCairo.vsprops:

LayoutTests:

Unskip the related CSS3 <position> type tests for background-position
as now the feature is enabled by default.

* platform/win/TestExpectations:
* platform/wincairo/TestExpectations:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@137166 268f45cc-cd09-0410-ab3c-d52691b4dbfc
cr-win build fix after r137161.

Unreviewed.

* platform/graphics/MediaPlayer.h: Replace forward-decl of
InbandTextTrackPrivate with #include as the definition is required.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@137167 268f45cc-cd09-0410-ab3c-d52691b4dbfc
AX: wrong Enabled states on a ListBox
https://bugs.webkit.org/show_bug.cgi?id=104483

Patch by Alejandro Piñeiro <apinheiro@igalia.com> on 2012-12-10
Reviewed by Chris Fleizach.

Source/WebCore:

Test: accessibility/listbox-enabled-states.html

* accessibility/AccessibilityListBoxOption.cpp:
(WebCore::AccessibilityListBoxOption::isEnabled): taking into
account the DISABLED attribute and the aria-disabled attribute to
decide if the item is enabled or not.

LayoutTests:

* accessibility/listbox-enabled-states-expected.txt: Added.
* accessibility/listbox-enabled-states.html: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@137168 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Web Inspector: Native Memory Instrumentation: instrument RenderBox descendants.
https://bugs.webkit.org/show_bug.cgi?id=104026

Reviewed by Eric Seidel.

Plain vanilla instrumentation for RenderBox descendants.

* rendering/RenderFrameSet.cpp:
(WebCore::RenderFrameSet::reportMemoryUsage):
(WebCore):
(WebCore::RenderFrameSet::GridAxis::reportMemoryUsage):
* rendering/RenderFrameSet.h:
(RenderFrameSet):
(GridAxis):
* rendering/RenderListMarker.cpp:
(WebCore::RenderListMarker::reportMemoryUsage):
(WebCore):
* rendering/RenderListMarker.h:
(RenderListMarker):
* rendering/RenderReplaced.cpp:
(WebCore::RenderReplaced::reportMemoryUsage):
(WebCore):
* rendering/RenderReplaced.h:
(RenderReplaced):
* rendering/RenderTableCol.cpp:
(WebCore::RenderTableCol::reportMemoryUsage):
(WebCore):
* rendering/RenderTableCol.h:
(RenderTableCol):
* rendering/RenderTableRow.cpp:
(WebCore::RenderTableRow::reportMemoryUsage):
(WebCore):
* rendering/RenderTableRow.h:
(RenderTableRow):
* rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::reportMemoryUsage):
(WebCore):
(WebCore::RenderTableSection::RowStruct::reportMemoryUsage):
(WebCore::RenderTableSection::CellStruct::reportMemoryUsage):
* rendering/RenderTableSection.h:
(CellStruct):
(RowStruct):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@137169 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Chromium test expectations update after r137152.
Unreviewed gardening.

* platform/chromium/TestExpectations:

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