[Windows] Unreviewed build correction for 'DebugSuffix' target.

* JavaScriptCore.vcxproj/LLInt/LLIntAssembly/LLIntAssembly.vcxproj: Must pass the
DEBUGSUFFIX definition to the nmake instance to be available during script processing.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@152300 268f45cc-cd09-0410-ab3c-d52691b4dbfc
constrainScrollPositionForOverhang needs to handle scrollOrigin correctly
https://bugs.webkit.org/show_bug.cgi?id=118176
<rdar://problem/14301271>

Reviewed by Anders Carlsson.

Test: compositing/geometry/fixed-position-flipped-writing-mode.html

WebCore makes use of constrainScrollPositionForOverhang not only for
constraining fixed- and sticky-positioned elements to the viewport, but
also for clamping the tile cache's visible rect.

Therefore, constrainScrollPositionForOverhang needs to correctly take
the scrollOrigin into account. The easiest way I saw to do this was to
reimplement the function in terms of a pair of rect intersections
between a virtual scrollable "viewport" and the document (with a bit
of complication from headers and footers).

The first intersection is performed, then if the viewport doesn't fit,
it is pushed down and to the right, from the origin. Next, we intersect
again, this time pushing the rect up by the amount it overflowed the document
rect from the bottom right. This performs effectively the same constraint
as previously, but handles the scrollOrigin correctly and is also somewhat
easier to read and understand (with pictures).

* page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
(WebCore::ScrollingTreeScrollingNodeMac::setScrollLayerPosition):
Subtract the scrollOrigin out of the offset passed to scrollOffsetForFixedPosition,
it's expecting an offset without the origin included.

* platform/ScrollableArea.cpp:
(WebCore::ScrollableArea::constrainScrollPositionForOverhang):
Reimplement the function as described above.

Add a test that ensures that fixed position works with a scrollable document
and direction: rtl, which is one case where scrollOrigin is set.

Disable the test on Mac WebKit1 because of https://bugs.webkit.org/show_bug.cgi?id=118269.

* compositing/geometry/fixed-position-flipped-writing-mode-expected.txt: Added.
* compositing/geometry/fixed-position-flipped-writing-mode.html: Added.
* platform/mac/compositing/geometry/fixed-position-flipped-writing-mode-expected.png: Added.
* platform/mac/TestExpectations:
* platform/mac-wk2/TestExpectations:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@152303 268f45cc-cd09-0410-ab3c-d52691b4dbfc
plainText() is O(N^2)
https://bugs.webkit.org/show_bug.cgi?id=118282
<rdar://problem/14284360>

Reviewed by Alexey Proskuryakov.

Source/WebCore: 

* editing/TextIterator.cpp:
(WebCore::plainText): Linear growth for a vector data type is O(N^2).
Don't do that. Luckily, StringBuilder does the right thing automatically,
so we can just delete code.

Source/WTF: 

* wtf/text/StringBuilder.cpp:
(WTF::expandCapacity): Factored out this helper function to simplify
some code that was duplicated in four places.

(WTF::StringBuilder::appendUninitializedSlow):
(WTF::StringBuilder::append): Use expandCapacity(). One of the cases
was not doing anything special, and so was O(N^2).

Also, always call expandCapacity() it in a standard way, calling
capacity() first, so it's easy to tell at a glance that you got it right.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@152306 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Implement CoordinatedSurface for Threaded Coordinated Graphics
https://bugs.webkit.org/show_bug.cgi?id=109661

Patch by Jae Hyun Park <jae.park@company100.net> on 2013-07-02
Reviewed by Noam Rosenthal.

This is a preparation patch for Threaded Coordianted Graphics.

This patch implements ThreadSafeCoordinatedSurface using ImageBuffer as a
backend. Also, this patch moves common implementation to CoordinatedSurface to
prevent duplication of code.

Source/WebCore:

* platform/graphics/texmap/coordinated/CoordinatedSurface.cpp:
(WebCore::CoordinatedSurface::CoordinatedSurface):
* platform/graphics/texmap/coordinated/CoordinatedSurface.h:
(WebCore::CoordinatedSurface::size):
(WebCore::CoordinatedSurface::flags):
* platform/graphics/texmap/coordinated/ThreadSafeCoordinatedSurface.cpp: Added.
(WebCore::ThreadSafeCoordinatedSurface::create):
(WebCore::ThreadSafeCoordinatedSurface::ThreadSafeCoordinatedSurface):
(WebCore::ThreadSafeCoordinatedSurface::~ThreadSafeCoordinatedSurface):
(WebCore::ThreadSafeCoordinatedSurface::paintToSurface):
(WebCore::ThreadSafeCoordinatedSurface::copyToTexture):
* platform/graphics/texmap/coordinated/ThreadSafeCoordinatedSurface.h: Added.

Source/WebKit2:

* Shared/CoordinatedGraphics/WebCoordinatedSurface.cpp:
(WebKit::WebCoordinatedSurface::WebCoordinatedSurface):
* Shared/CoordinatedGraphics/WebCoordinatedSurface.h:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@152307 268f45cc-cd09-0410-ab3c-d52691b4dbfc
empty inlines should not affect line-wrapping
https://bugs.webkit.org/show_bug.cgi?id=25638

Reviewed by David Hyatt.

Source/WebCore:

Don't break on empty inlines if we're in the middle of a word. I took this opportunity to
refactor the series of checks we perform to establish if we can break at the current position.

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

* rendering/RenderBlockLineLayout.cpp:
(WebCore::textBeginsWithBreakablePosition):
(WebCore::canBreakAtThisPosition):
(WebCore::RenderBlock::LineBreaker::nextSegmentBreak):

LayoutTests:

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

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@152313 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Replace RELEASE_ASSERT with ASSERT in CodeBlock:: bytecodeOffsetForCallAtIndex
https://bugs.webkit.org/show_bug.cgi?id=118316

Reviewed by Geoffrey Garen.

This is causing some crashiness in release builds. We should replace it with an ASSERT 
until we track down all the places that need fixing in bug 118315.

* bytecode/CodeBlock.h:
(JSC::CodeBlock::bytecodeOffsetForCallAtIndex):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@152314 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Always flip the coordinate system before drawing NSViews from Widget::paint
https://bugs.webkit.org/show_bug.cgi?id=118318
<rdar://problem/13895483>

Reviewed by Beth Dakin.

Undo the change that would not flip on 10.9; turns out the bug was in AppKit. Also remove the
_hasCanDrawSubviewsIntoLayerOrAncestor workaround since drawing works correctly now.

Also, pass flipped:NO when creating the NSGraphicsContext to indicate that the graphics context
is unflipped as far as AppKit knows (since we flipped it earlier).

* platform/mac/WidgetMac.mm:
(WebCore::Widget::paint):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@152315 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Fix crash when PageBanner::detachFromPage() is called from WebPage::~WebPage().
https://bugs.webkit.org/show_bug.cgi?id=118268

Reviewed by Beth Dakin.

* WebProcess/WebPage/mac/PageBannerMac.mm:
(WebKit::PageBanner::detachFromPage): Add some null checks. m_webPage->corePage()
can be null if this method is called after the web page is closed.

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