[CSS Regions] Move overset compute code from flow thread to named flow thread
https://bugs.webkit.org/show_bug.cgi?id=117835

Patch by Radu Stavila <stavila@adobe.com> on 2013-06-21
Reviewed by Andreas Kling.

Moved computeOversetStateForRegions() and overset() methods from RenderFlowThread to RenderNamedFlowThread.
Added ASSERTS in RenderRegion::regionOversetState and RenderRegion::setRegionOversetState to ensure
the region was created from an element.

* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::computeOverflow):
* rendering/RenderFlowThread.cpp:
(WebCore::RenderFlowThread::RenderFlowThread):
* rendering/RenderFlowThread.h:
* rendering/RenderNamedFlowThread.cpp:
(WebCore::RenderNamedFlowThread::RenderNamedFlowThread):
(WebCore::RenderNamedFlowThread::computeOversetStateForRegions):
* rendering/RenderNamedFlowThread.h:
(WebCore::RenderNamedFlowThread::overset):
* rendering/RenderRegion.cpp:
(WebCore::RenderRegion::regionOversetState):
(WebCore::RenderRegion::setRegionOversetState):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@151843 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[iOS] Hang drawing captions after pressing the home button while playing a video
https://bugs.webkit.org/show_bug.cgi?id=117882

Reviewed by Eric Carlson.

Instead of rendering in a callback on the main thread, pre-render the captions and pass to the main
thread as a CGImage. As such, rename paintTextTrackRepresentation() to createTextTrackRepresentationImage().

* html/shadow/MediaControlElements.cpp:
(WebCore::MediaControlTextTrackContainerElement::createTextTrackRepresentationImage): Renamed from
    paintTextTrackRepresentation. Now returns an Image object.
* html/shadow/MediaControlElements.h:
* platform/graphics/MediaPlayer.h:
* platform/graphics/TextTrackRepresentation.h:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@151844 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Fix TextTrackCue::cueIndex() to handle the null case of TextTrack::cues(() properly
https://bugs.webkit.org/show_bug.cgi?id=117815
<rdar://problem/14211041>

Patch by Ruth Fong <ruth_fong@apple.com> on 2013-06-21
Reviewed by Ryosuke Niwa.

This patch adds assert statements to try to catch when
track()->cues() returns a null pointer.

* html/track/TextTrackCue.cpp:
(WebCore::TextTrackCue::cueIndex):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@151845 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Stop removing and re-adding breakpoints from the backend on reload.

On reload the sourceCode for breakpoints are nulled out, which fires DisplayLocationDidChange.
Then the sourceCode is reassociated, firing DisplayLocationDidChange again. In these cases we
don't need to update the backend, since nothing really changed.

https://bugs.webkit.org/show_bug.cgi?id=117877

Reviewed by Joseph Pecoraro.

* UserInterface/DebuggerManager.js:
(WebInspector.DebuggerManager.prototype._breakpointDisplayLocationDidChange): Return early when
_ignoreBreakpointDisplayLocationDidChangeEvent is true.
(WebInspector.DebuggerManager.prototype.reset): Set _ignoreBreakpointDisplayLocationDidChangeEvent.
(WebInspector.DebuggerManager.prototype._associateBreakpointsWithSourceCode): Ditto.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@151846 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed. Fix a missing parenthesis in include directory path.

* WebKit.vcxproj/WebKitExportGenerator/WebKitExportGeneratorCommon.props:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@151847 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Added glext.h from http://www.opengl.org/registry/oldspecs/glext.h for Windows
This file does not meet WebKit style guidelines.
Part of https://bugs.webkit.org/show_bug.cgi?id=117853
        
Reviewed by Brent Fulgham.

* platform/graphics/win/GL: Added.
* platform/graphics/win/GL/glext.h: Added.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@151851 268f45cc-cd09-0410-ab3c-d52691b4dbfc
AX: audio/video playback control timers (elapsed and remaining) should be exposed as ApplicationTimerRole
https://bugs.webkit.org/show_bug.cgi?id=117883

Patch by James Craig <james@cookiecrook.com> on 2013-06-21
Reviewed by Chris Fleizach.

Some of the media controls were returning the wrong role. Updated existing test coverage.

Source/WebCore:

* accessibility/AccessibilityMediaControls.h:
(WebCore::AccessibilityMediaTimeDisplay::roleValue):

LayoutTests:

* accessibility/media-element.html:
* platform/mac/accessibility/media-element-expected.txt:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@151852 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Update platform text track menu
https://bugs.webkit.org/show_bug.cgi?id=117884

Reviewed by Jer Noble.

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::setSelectedTextTrack):
* html/track/TextTrack.cpp:
(WebCore::TextTrack::platformTextTrack):
* platform/graphics/PlatformTextTrack.h:
(WebCore::PlatformTextTrack::create): 
(WebCore::PlatformTextTrack::uniqueId):
(WebCore::PlatformTextTrack::captionMenuOffItem):
(WebCore::PlatformTextTrack::captionMenuAutomaticItem):
(WebCore::PlatformTextTrack::PlatformTextTrack):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@151853 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Added WebGL source files to Windows build and made Windows build successfully with them.
https://bugs.webkit.org/show_bug.cgi?id=117853

Reviewed by Brent Fulgham.

* WebCore.vcxproj/WebCore.vcxproj: Added WebGL source files.
* WebCore.vcxproj/WebCore.vcxproj.filters: Added platform\graphics\opengl and platform\graphics\gpu filters.
* WebCore.vcxproj/WebCorePreBuild.cmd: Copy ANGLE headers and glext.h before building WebCore (which now uses them).
* platform/graphics/ANGLEWebKitBridge.h: Look in newly copied directory for ShaderLang.h.
* platform/graphics/OpenGLShims.h: Include GL/glext.h.
* platform/graphics/gpu/LoopBlinnShader.cpp:
(WebCore::LoopBlinnShader::use): Fixed parameter ordering in call to uniformMatrix4fv.
* platform/graphics/opengl/GLPlatformSurface.cpp:
(WebCore::GLPlatformSurface::createOffScreenSurface): Added notImplemented for non-EGL builds for now.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@151854 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Ignoring padding-right of inline elements in containers with undefined width
https://bugs.webkit.org/show_bug.cgi?id=76451

Reviewed by David Hyatt.

Source/WebCore:

Collapsed trailing space on a normal wrap line should not cause a line-break
if it is the difference between fitting on the line and breaking. Likewise, on a line that
has a mix of auto-wrap and no-wrap inlines we don't want a trailing space at the end of a no-wrap inline
to be the difference between that no-wrap inline fitting or breaking the line. This latter
scenario is covered already by inline-whitespace-wrapping-8.html.

Test: fast/text/whitespace/inline-whitespace-wrapping-9.html

* rendering/RenderBlockLineLayout.cpp:
(WebCore::LineWidth::fitsOnLine):
(WebCore::LineWidth::fitsOnLineIncludingExtraWidth):
(WebCore::LineWidth::fitsOnLineExcludingTrailingWhitespace):
(WebCore::LineWidth::currentWidth):
(WebCore::LineWidth::fitsOnLineExcludingTrailingCollapsedWhitespace):
(WebCore::RenderBlock::LineBreaker::nextSegmentBreak):

LayoutTests:

* fast/text/whitespace/inline-whitespace-wrapping-9-expected.html: Added.
* fast/text/whitespace/inline-whitespace-wrapping-9.html: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@151855 268f45cc-cd09-0410-ab3c-d52691b4dbfc
GraphicsContext3DNEON.h cannot be found on Windows and does not need to be found.
https://bugs.webkit.org/show_bug.cgi?id=117894

Reviewed by Brent Fulgham.

* platform/graphics/GraphicsContext3D.cpp:
Added #if HAVE(ARM_NEON_INTRINSICS) around #include "GraphicsContext3DNEON.h"


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@151858 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Web Inspector: Uncaught exception when pretty printing WebInspector.Script
https://bugs.webkit.org/show_bug.cgi?id=117893

This was an issue with an earlier refactoring. The sourceCode is a Script,
so replace the non-existent local variable "script" with "this._sourceCode".

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2013-06-21
Reviewed by Timothy Hatcher.

* UserInterface/SourceCodeTextEditor.js:
(WebInspector.SourceCodeTextEditor.prototype.textEditorUpdatedFormatting):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@151861 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[MediaStream]: Remove ``>= 0'' assertion from a size_t variable
https://bugs.webkit.org/show_bug.cgi?id=117890

Patch by Sergio Correia <sergio.correia@openbossa.org> on 2013-06-21
Reviewed by Adam Barth.

This patch fixes a strict build by removing the ``>= 0'' assertion from
a size_t (unsigned type) variable in RTCStatsResponse.cpp.

No new tests; build fix.

* Modules/mediastream/RTCStatsResponse.cpp:
(WebCore::RTCStatsResponse::addStatistic): Remove ``>=0''assertion,
since the variable is unsigned and is always >= 0.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@151863 268f45cc-cd09-0410-ab3c-d52691b4dbfc
AX: Title for ListItemRole should consist of concatenated child text elements.
https://bugs.webkit.org/show_bug.cgi?id=117892

Reviewed by Chris Fleizach.

Source/WebCore: 

accessibility/listitem-title.html

* accessibility/AccessibilityNodeObject.cpp:
(WebCore::AccessibilityNodeObject::visibleText): Add ListItemRole to set of
elements that concatenate their children for display purposes.
(WebCore::AccessibilityNodeObject::title): Ditto.

LayoutTests: 

* accessibility/listitem-title.html: Added.
* platform/mac/accessibility/listitem-title-expected.txt: Added.
* platform/win/accessibility/listitem-title-expected.txt: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@151868 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Source/JavaScriptCore: Introducing the VMStackBounds class.
https://bugs.webkit.org/show_bug.cgi?id=117862.

Reviewed by Geoffrey Garen.

- Removed Interpreter::StackPolicy.
- The new VMStackBounds will take over choosing the appropriate stack
  size requirements, and invoking the underlying WTF::StackBounds to
  to the real bounds check.
- VMStackBounds will now be used universally throughout JSC instead of
  WTF::StackBounds.

* JavaScriptCore.xcodeproj/project.pbxproj:
* bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::BytecodeGenerator):
* bytecompiler/BytecodeGenerator.h:
* interpreter/Interpreter.cpp:
(JSC::Interpreter::execute):
(JSC::Interpreter::executeCall):
(JSC::Interpreter::executeConstruct):
(JSC::Interpreter::prepareForRepeatCall):
* interpreter/Interpreter.h:
(JSC::Interpreter::isInErrorHandlingMode):
* parser/Parser.cpp:
(JSC::::Parser):
* parser/Parser.h:
* runtime/StringRecursionChecker.h:
(JSC::StringRecursionChecker::performCheck):
* runtime/VMStackBounds.h: Added.
(JSC::VMStackBounds::VMStackBounds):
(JSC::VMStackBounds::isSafeToRecurse):
(JSC::VMStackBounds::requiredCapacity):

LayoutTests: Reverting failure expectation for fast/xmlhttprequest/xmlhttprequest-recursive-sync-event.html.
https://bugs.webkit.org/show_bug.cgi?id=117862.

Reviewed by Geoffrey Garen.

* platform/mac/TestExpectations:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@151869 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Windows] Unreviewed gardening.

* platform/win/accessibility/aria-menubar-menuitems-expected.txt: Added.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@151870 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Windows] Unreviewed crash protection for DRT

* DumpRenderTree/win/AccessibilityUIElementWin.cpp: Check for null elements in routines
to avoid crashing during test runs.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@151872 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Occasional crash swiping between pages
https://bugs.webkit.org/show_bug.cgi?id=117902

Reviewed by Beth Dakin.

m_scrollingStateTree->rootStateNode() can be null when quickly swiping between pages,
so check this in ScrollingCoordinatorMac::commitTreeState().

* page/scrolling/mac/ScrollingCoordinatorMac.mm:
(WebCore::ScrollingCoordinatorMac::commitTreeState):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@151873 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Crashes due to NULL dereference beneath WebCore::StyleResolver::loadPendingSVGDocuments and related functions
https://bugs.webkit.org/show_bug.cgi?id=117903

Reviewed by Darin Adler.

* css/StyleResolver.cpp:
(WebCore::StyleResolver::loadPendingSVGDocuments): Add a NULL check for
RenderStyle here...
(WebCore::StyleResolver::loadPendingResources): ...and here.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@151875 268f45cc-cd09-0410-ab3c-d52691b4dbfc
screen.availWidth always returns width of primary display
https://bugs.webkit.org/show_bug.cgi?id=117863

Source/WebCore:

Reviewed by Geoffrey Garen.

In WebKit2, Widgets have no platformWidget, so trying to get to the
NSScreen via the platform widget's window never succeeded, and we always
fell back on getting info for the main display.

However, we were already pushing the WKView's displayID down to the
WebProcess for the requestAnimationFrame infrastructure, so use that.

Add a virtual function on Widget windowDisplayID(), that is overridden
in FrameView to return the PlatformDisplayID which Page has.

Fix PlatformScreenMac to fall back to Widget::windowDisplayID() when it fails
to get an NSWindow from the Widget.

Add a utility category on NSScreen to get an NSScreen's displayID, and to
find an NSScreen given a displayID.

* WebCore.exp.in:
* WebCore.xcodeproj/project.pbxproj:
* page/FrameView.cpp:
(WebCore::FrameView::windowDisplayID):
* page/FrameView.h:
* platform/Widget.cpp:
(WebCore::Widget::windowDisplayID):
* platform/Widget.h:
* platform/mac/PlatformScreenMac.h: Added.
* platform/mac/PlatformScreenMac.mm:
(+[NSScreen screenForDislayID:]):
(-[NSScreen displayID]):
(WebCore::screenRect):
(WebCore::screenAvailableRect):
* platform/mac/WidgetMac.mm:
(WebCore::Widget::windowDisplayID):

Source/WebKit2:

Reviewed by Geoffrey Garen.

In WebKit2, Widgets have no platformWidget, so trying to get to the
NSScreen via the platform widget's window never succeeded, and we always
fell back on getting info for the main display.

However, we were already pushing the WKView's displayID down to the
WebProcess for the requestAnimationFrame infrastructure, so use that.

The WebProcess would not receive a displayID for a WKView until the window
was activated; fix by calling -doWindowDidChangeScreen when the view
moves to a window, rather than doing it from -_windowDidBecomeKey:.

* UIProcess/API/mac/WKView.mm:
(-[WKView viewDidMoveToWindow]):
(-[WKView _windowDidBecomeKey:]):

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