Put a better version of the assertion back, and add one when we ensureBackingStore.

Reviewed by Tim Horton.

* WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
(WebKit::PlatformCALayerRemote::recursiveBuildTransaction):
(WebKit::PlatformCALayerRemote::ensureBackingStore):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@168456 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Using a fill pattern much larger than actual canvas reliably segfaults browser
https://bugs.webkit.org/show_bug.cgi?id=132635

Reviewed by Simon Fraser.

Source/WebCore:
Make sure that createPattern checks that the canvas it is about to use
as a source is valid.

Test: fast/canvas/pattern-too-large-to-create.html

* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::createPattern): Check that the source canvas has
an ok ImageBuffer.

LayoutTests:
Test case that makes a huge canvas and tries to create a pattern out of it.

* fast/canvas/pattern-too-large-to-create-expected.html: Added.
* fast/canvas/pattern-too-large-to-create.html: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@168457 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[CoordinatedGraphics][WK2] Scale factor and scroll position is not being restored properly in a back/forward load
https://bugs.webkit.org/show_bug.cgi?id=126022

Reviewed by Benjamin Poulain.

Original author : Thiago de Barros Lacerda, and finished by Gyuyoung Kim.

Source/WebCore:
When user is navigating back/forward to a page that has been scrolled and/or scaled, that page must be shown
with its last scroll position and scale factor. However, when fixed layout was enabled with CoordinatedGraphics
and TILED_BACKING_STORE, Page::setPageScaleFactor() doesn't send previous scroll position since r165652 and r165913.

This patch allows the Page::setPageScaleFactor() send stored position to WK2 implementation by calling delegatedScrollRequested()
directly when delegatesScrolling() is on.

* page/Page.cpp:
(WebCore::Page::setPageScaleFactor): TILED_BACKING_STORE and delegateScrolling are enabled, we pass new scroll position to WK2 though
delegateScrolling is disabled.
* platform/ScrollView.cpp: delegatedScrollRequested() call is moved from ScrollView::setScrollPosition() to Page::setPageScaleFactor().
(WebCore::ScrollView::setScrollPosition):

Source/WebKit2:
When user is navigating back/forward to a page that has been scrolled and/or scaled, that page must be shown
with its last scroll position and scale factor. However, when fixed layout was enabled with CoordinatedGraphics
and TILED_BACKING_STORE, Page::setPageScaleFactor() doesn't send previous scroll position since r165652 and r165913.

This patch allows the Page::setPageScaleFactor() send stored position to WK2 implementation.

* UIProcess/CoordinatedGraphics/WebView.cpp:
(WebKit::WebView::didCommitLoadForMainFrame):

Tools:
Added an unit test case to check if scroll position and scale are restored properly.

* TestWebKitAPI/PlatformEfl.cmake:
* TestWebKitAPI/Tests/WebKit2/CoordinatedGraphics/WKViewRestoreZoomAndScrollBackForward.cpp: Added.
(TestWebKitAPI::didFinishLoadForFrame):
(TestWebKitAPI::didChangeContentsPosition):
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKit2/CoordinatedGraphics/backforward1.html: Added.
* TestWebKitAPI/Tests/WebKit2/CoordinatedGraphics/backforward2.html: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@168458 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Source/JavaScriptCore: Make Executable::clearCode() actually clear all of the entrypoints, and
clean up some other FTL-related calling convention stuff.
<rdar://problem/16720172>

Rubber stamped by Mark Hahnenberg.

* dfg/DFGOperations.cpp:
* dfg/DFGOperations.h:
* dfg/DFGWorklist.cpp:
(JSC::DFG::Worklist::Worklist):
(JSC::DFG::Worklist::finishCreation):
(JSC::DFG::Worklist::create):
(JSC::DFG::ensureGlobalDFGWorklist):
(JSC::DFG::ensureGlobalFTLWorklist):
* dfg/DFGWorklist.h:
* heap/CodeBlockSet.cpp:
(JSC::CodeBlockSet::dump):
* heap/CodeBlockSet.h:
* runtime/Executable.cpp:
(JSC::ExecutableBase::clearCode):

Source/WTF: UNREACHABLE_FOR_PLATFORM() is meant to be a release crash.

Rubber stamped by Mark Hahnenberg..

* wtf/Assertions.h:
(UNREACHABLE_FOR_PLATFORM):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@168459 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Dragging text from one paragraph to another does not render as expected
https://bugs.webkit.org/show_bug.cgi?id=132633

Reviewed by Darin Adler and Ryosuke Niwa.

Source/WebCore:
When we are dragging and dropping into a content editable field, we detect
if we are trying to put a <p> into an existing <p>, and if so, split the
outer <p> and insert the new <p> as its sibling. However, the outer <p>
might not be editable, so we don't want to do any splitting and inserting
at that location.

Test: editing/pasteboard/drag-drop-paragraph-crasher.html

* editing/ReplaceSelectionCommand.cpp:
(WebCore::ReplaceSelectionCommand::makeInsertedContentRoundTrippableWithHTMLTreeBuilder):

LayoutTests:
The problem occurs when dragging text that includes a <p> into an editable
area that has a <p> as a parent.

* editing/pasteboard/drag-drop-paragraph-crasher-expected.txt: Added.
* editing/pasteboard/drag-drop-paragraph-crasher.html: Added.

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