WebKit-https.git
6 years ago[GTK] Fix concatenations of string literals that are not C++11-compliant
zandobersek@gmail.com [Tue, 21 May 2013 06:16:36 +0000 (06:16 +0000)]
[GTK] Fix concatenations of string literals that are not C++11-compliant
https://bugs.webkit.org/show_bug.cgi?id=116449

Reviewed by Martin Robinson.

Fix the problematic concatenations of string literals so they are compilable under the C++11 standard. This
is simply a matter of separating the string and the string literal that are being concatenated with a space.

Source/WebCore:

* platform/graphics/gtk/FullscreenVideoControllerGtk.cpp:
* platform/gtk/FileSystemGtk.cpp:
(WebCore::sharedResourcesPath):

Source/WebKit2:

* UIProcess/API/gtk/tests/TestPrinting.cpp:
(testPrintOperationPrint):
* UIProcess/API/gtk/tests/WebExtensionTest.cpp:
(methodCallCallback):

Tools:

* ImageDiff/gtk/ImageDiff.cpp:
(printImage):

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

6 years ago[GTK] Pass GTEST_HAS_RTTI=0 cppflag to TestWebKitAPI programs at compilation-time
zandobersek@gmail.com [Tue, 21 May 2013 06:13:01 +0000 (06:13 +0000)]
[GTK] Pass GTEST_HAS_RTTI=0 cppflag to TestWebKitAPI programs at compilation-time
https://bugs.webkit.org/show_bug.cgi?id=116450

Reviewed by Martin Robinson.

The -fno-rtti flag is used when compiling C++ source code throughout the project. The TestWebKitAPI
programs fail to compile because of this when using the C++11 standard as the GTest headers assume by
default that the RTTI support is available. This can be turned off by passing GTEST_HAS_RTTI=0 to the
TestWebKitAPI programs when compiling them.

* TestWebKitAPI/GNUmakefile.am:

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

6 years agoUse '__typeof__' keyword to avoid problems when compiling in C++11 standard compliance
zandobersek@gmail.com [Tue, 21 May 2013 06:11:34 +0000 (06:11 +0000)]
Use '__typeof__' keyword to avoid problems when compiling in C++11 standard compliance
https://bugs.webkit.org/show_bug.cgi?id=116447

Reviewed by Darin Adler.

The 'typeof' keyword is a GNU C extension which becomes unavailable when compiling in ANSI or specific standard mode
(such as -std=c++11). The '__typeof__' keyword should be used instead as it's available in all modes both under GCC and Clang.

* wtf/FastMalloc.cpp:
(WTF): Replace the 'typeof' keyword with '__typeof__'.

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

6 years ago[GTK] Support application/x-mimearchive mimetype for MHTML archives instead of messag...
zandobersek@gmail.com [Tue, 21 May 2013 06:08:18 +0000 (06:08 +0000)]
[GTK] Support application/x-mimearchive mimetype for MHTML archives instead of message/rfc822
https://bugs.webkit.org/show_bug.cgi?id=116442

Reviewed by Martin Robinson.

* loader/archive/ArchiveFactory.cpp:
(WebCore::archiveMIMETypes): Like EFL and Qt, register the application/x-mimearchive mime type as a MHTML archive type
and stop propagating the message/rfc822 mime type as such. This also removes a couple of PLATFORM ifdefs.

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

6 years agoMinor String fixes in CSS
benjamin@webkit.org [Tue, 21 May 2013 05:57:50 +0000 (05:57 +0000)]
Minor String fixes in CSS
https://bugs.webkit.org/show_bug.cgi?id=116291

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

Some trival changes to make up for a bad day :)

* css/CSSImageSetValue.cpp:
(WebCore::CSSImageSetValue::customCssText):
* css/CSSImageValue.cpp:
(WebCore::CSSImageValue::customCssText):
* css/CSSImportRule.cpp:
(WebCore::CSSImportRule::cssText):
* css/CSSInheritedValue.cpp:
(WebCore::CSSInheritedValue::customCssText):
* css/CSSInitialValue.cpp:
(WebCore::CSSInitialValue::customCssText):
* css/CSSPrimitiveValue.cpp:
(WebCore::CSSPrimitiveValue::customCssText):
* css/CSSPropertySourceData.cpp:
(WebCore::CSSPropertySourceData::toString):
* css/CSSSelector.cpp:
(WebCore::CSSSelector::selectorText):
* css/CSSStyleRule.cpp:
(WebCore::CSSStyleRule::generateSelectorText):
* css/CSSStyleSheet.h:
(WebCore::CSSStyleSheet::type):
* css/CSSTimingFunctionValue.cpp:
(WebCore::CSSLinearTimingFunctionValue::customCssText):
(WebCore::CSSCubicBezierTimingFunctionValue::customCssText):
* css/CSSValueList.cpp:
(WebCore::CSSValueList::customCssText):
(WebCore::CSSValueList::customSerializeResolvingVariables):
* css/MediaQueryExp.cpp:
(WebCore::MediaQueryExp::serialize):
* css/WebKitCSSFilterValue.cpp:
(WebCore::WebKitCSSFilterValue::customCssText):
* css/WebKitCSSKeyframesRule.cpp:
(WebCore::StyleRuleKeyframes::findKeyframeIndex):
(WebCore::WebKitCSSKeyframesRule::cssText):
* css/WebKitCSSMatFunctionValue.cpp:
(WebCore::WebKitCSSMatFunctionValue::customCssText):
* css/WebKitCSSMixFunctionValue.cpp:
(WebCore::WebKitCSSMixFunctionValue::customCssText):

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

6 years agoRemove DriverProxy._running_drivers from webkitpy.layout_tests.port
rniwa@webkit.org [Tue, 21 May 2013 05:50:15 +0000 (05:50 +0000)]
Remove DriverProxy._running_drivers from webkitpy.layout_tests.port
https://bugs.webkit.org/show_bug.cgi?id=116492

Reviewed by Dirk Pranke.

Merge https://chromium.googlesource.com/chromium/blink/+/1af2f0be5a1746784ff114952f29f7b8fa9895f3.

The DriverProxy class had the concept of keeping a pool of started DRTs around (indexed by command line)
so that we didn't necessarily need to restart DRT when the command line for a test changed (e.g., when
starting to run tests in a virtual suite). However, the pool was per-worker (so not shared across the machine)
and we didn't cap the number of processes started, so we would end up with a whole bunch of DRTs (3x-4x
the number of workers started). If anything, this seemed to make the tests slightly slower and probably added
to memory pressure on the machine.

This change removes the pool code; now we'll simply restart DRT when the command line changes. With this change,
we can actually fold the restarting code into Driver itself (and get rid of DriverProxy), but I'll leave that
for a subsequent patch just to make things easier to follow.

* Scripts/webkitpy/port/driver.py:
(DriverProxy.__init__):
(DriverProxy.run_test):
(DriverProxy.has_crashed):
(DriverProxy.stop):

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

6 years agoChange EFL Linux 64-bit Release with EFL Linux 64-bit Release WK1
gyuyoung.kim@samsung.com [Tue, 21 May 2013 05:33:34 +0000 (05:33 +0000)]
Change EFL Linux 64-bit Release with EFL Linux 64-bit Release WK1
https://bugs.webkit.org/show_bug.cgi?id=116423

Reviewed by Ryosuke Niwa.

EFL Linux 64-bit Release starts to support WK1's build and layout test from now on.

* BuildSlaveSupport/build.webkit.org-config/config.json:

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

6 years agoRemove remaining link-prerender code
commit-queue@webkit.org [Tue, 21 May 2013 04:52:42 +0000 (04:52 +0000)]
Remove remaining link-prerender code
https://bugs.webkit.org/show_bug.cgi?id=116429

Patch by Seokju Kwon <seokju.kwon@gmail.com> on 2013-05-20
Reviewed by Darin Adler.

Tools:

Link prerendering code was removed in r150356.

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

LayoutTests:

Remove test cases related to link-prerender.

* fast/dom/HTMLLinkElement/prerender-insert-after-stop-expected.txt: Removed.
* fast/dom/HTMLLinkElement/prerender-insert-after-stop.html: Removed.
* fast/dom/HTMLLinkElement/prerender-remove-after-stop-expected.txt: Removed.
* fast/dom/HTMLLinkElement/prerender-remove-after-stop.html: Removed.
* fast/dom/HTMLLinkElement/resources/empty.html: Removed.
* fast/dom/HTMLLinkElement/resources/empty2.html: Removed.
* fast/dom/HTMLLinkElement/resources/simple-prerender.html: Removed.
* platform/mac/TestExpectations:
* platform/qt/TestExpectations:
* platform/win/TestExpectations:
* platform/wincairo/TestExpectations:
* platform/wk2/TestExpectations:

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

6 years agoUnreviewed, rolling out r150384.
akling@apple.com [Tue, 21 May 2013 04:42:29 +0000 (04:42 +0000)]
Unreviewed, rolling out r150384.
http://trac.webkit.org/changeset/150384
https://bugs.webkit.org/show_bug.cgi?id=116513

Not ready for primetime. (Requested by kling on #webkit).

Patch by Commit Queue <commit-queue@webkit.org> on 2013-05-20

* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::WebProcessProxy):
(WebKit::WebProcessProxy::removeWebPage):
* UIProcess/WebProcessProxy.h:
(WebProcessProxy):

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

6 years agoVersioning.
lforschler@apple.com [Tue, 21 May 2013 04:35:21 +0000 (04:35 +0000)]
Versioning.

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

6 years agoUnreviewed EFL gardening. Below tests don't come to crash anymore after r150368.
gyuyoung.kim@samsung.com [Tue, 21 May 2013 04:34:43 +0000 (04:34 +0000)]
Unreviewed EFL gardening. Below tests don't come to crash anymore after r150368.
But, pending-activity.html still comes to crash on wk2.

storage/indexeddb/pending-activity.html
storage/indexeddb/transaction-coordination-across-databases.html

* platform/efl-wk2/TestExpectations:
* platform/efl/TestExpectations:

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

6 years agocommit-queue should check for oops in changelog entries
rniwa@webkit.org [Tue, 21 May 2013 03:58:00 +0000 (03:58 +0000)]
commit-queue should check for oops in changelog entries
https://bugs.webkit.org/show_bug.cgi?id=116395

Reviewed by Martin Robinson.

Make changelog validation fail when it contains oops!.

* Scripts/webkitpy/tool/bot/commitqueuetask.py:
(CommitQueueTask._validate_changelog):
* Scripts/webkitpy/tool/bot/commitqueuetask_unittest.py:
(CommitQueueTaskTest._run_through_task):
* Scripts/webkitpy/tool/commands/queues_unittest.py:
* Scripts/webkitpy/tool/steps/validatechangelogs.py:
(ValidateChangeLogs.options):
(ValidateChangeLogs._check_changelog_diff):
(ValidateChangeLogs._changelog_contains_oops):
(ValidateChangeLogs.run):
* Scripts/webkitpy/tool/steps/validatechangelogs_unittest.py:
(ValidateChangeLogsTest._assert_start_line_produces_output):
(ValidateChangeLogsTest.test_check_changelog_diff):
(ValidateChangeLogsTest):
(ValidateChangeLogsTest.test_changelog_contains_oops):

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

6 years agoAdd tests for named access checks on DOMWindow
rniwa@webkit.org [Tue, 21 May 2013 03:43:40 +0000 (03:43 +0000)]
Add tests for named access checks on DOMWindow
https://bugs.webkit.org/show_bug.cgi?id=116512

Reviewed by Geoffrey Garen.

Merge https://chromium.googlesource.com/chromium/blink/+/9207625a100abe9b72333ac5dba02b38ca5f4466

* http/tests/security/xss-DENIED-window-name-alert-expected.txt: Added.
* http/tests/security/xss-DENIED-window-name-alert.html: Added.
* http/tests/security/xss-DENIED-window-name-navigator-expected.txt: Added.
* http/tests/security/xss-DENIED-window-name-navigator.html: Added.

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

6 years agoNull pointer deference in WebCore::AppendNodeCommand::create
rniwa@webkit.org [Tue, 21 May 2013 03:18:22 +0000 (03:18 +0000)]
Null pointer deference in WebCore::AppendNodeCommand::create
https://bugs.webkit.org/show_bug.cgi?id=116479

Source/WebCore:

Reviewed by Andreas Kling.

Merge https://chromium.googlesource.com/chromium/blink/+/5cb43002a44f67a60ecf5a7ed76de2d0bcf89eb2

DeleteSelection::makeStylingElementsDirectChildrenOfEditableRootToPreventStyleLoss() make style and link elements
to be the direct children of the editable root. However, these style and link elements are not necessary editable
and WebKit crashes when they are not.

Test: editing/deleting/delete-uneditable-style.html

* editing/DeleteSelectionCommand.cpp:
(WebCore::DeleteSelectionCommand::makeStylingElementsDirectChildrenOfEditableRootToPreventStyleLoss):

LayoutTests:

Reviewed by Andreas Kling.

Add a regression test.

* editing/deleting/delete-uneditable-style-expected.txt: Added.
* editing/deleting/delete-uneditable-style.html: Added.

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

6 years agoDisable SuperRegion
mhahnenberg@apple.com [Tue, 21 May 2013 03:13:12 +0000 (03:13 +0000)]
Disable SuperRegion
https://bugs.webkit.org/show_bug.cgi?id=116362

Rubber stamped by Geoff Garen.

* heap/Region.h:

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

6 years agoRemove SharedMemoryGtk.cpp
mrobinson@webkit.org [Tue, 21 May 2013 02:39:34 +0000 (02:39 +0000)]
Remove SharedMemoryGtk.cpp
https://bugs.webkit.org/show_bug.cgi?id=116457

Reviewed by Andreas Kling.

* Platform/gtk/SharedMemoryGtk.cpp: Removed.

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

6 years agoScrollbars still show sometimes even when WKPageSetSuppressScrollbarAnimations()
bdakin@apple.com [Tue, 21 May 2013 02:29:22 +0000 (02:29 +0000)]
Scrollbars still show sometimes even when WKPageSetSuppressScrollbarAnimations()
is set
https://bugs.webkit.org/show_bug.cgi?id=116493
-and corresponding-
<rdar://problem/13912871>

Reviewed by Dean Jackson.

We need to be more aggressive with our approach since AppKit may still ask the
scrollbars to paint here.

scrollbarAnimationsAreSuppressed() will allow us to find out if the setting has
been set.
* page/FrameView.cpp:
(WebCore::FrameView::scrollbarAnimationsAreSuppressed):
* page/FrameView.h:
* platform/ScrollableArea.h:
(WebCore::ScrollableArea::scrollbarAnimationsAreSuppressed):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::scrollbarAnimationsAreSuppressed):
* rendering/RenderLayer.h:
(RenderLayer):
* rendering/RenderListBox.cpp:
(WebCore::RenderListBox::scrollbarAnimationsAreSuppressed):
* rendering/RenderListBox.h:

Don’t allow animations if scrollbars are suppressed.
* platform/mac/ScrollAnimatorMac.mm:
(-[WebScrollbarPainterDelegate scrollerImp:animateKnobAlphaTo:duration:]):

Call cancelAnimations() to prevent a just-started animation from continuing.
(WebCore::ScrollAnimatorMac::finishCurrentScrollAnimations):

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

6 years agoExpose a way to know when forms are added to a page or when form controls are added...
jberlin@webkit.org [Tue, 21 May 2013 02:07:48 +0000 (02:07 +0000)]
Expose a way to know when forms are added to a page or when form controls are added to a form
in the injected bundle
https://bugs.webkit.org/show_bug.cgi?id=116334

Reviewed by Alexey Proskuryakov.

Source/WebKit2:

Add shouldNotifyOnFormChanges and didAssociateFormControls to the WKBundlePageFormClient.

* WebProcess/InjectedBundle/API/c/WKBundlePage.h:
Add the new callbacks as part of version 2 of the WKBundlePageFormClient.

* WebProcess/InjectedBundle/InjectedBundlePageFormClient.cpp:
(WebKit::InjectedBundlePageFormClient::didAssociateFormControls):
Pass the message along to the client if the client has a handler.
(WebKit::InjectedBundlePageFormClient::shouldNotifyOnFormChanges):
Ditto.
* WebProcess/InjectedBundle/InjectedBundlePageFormClient.h:

* WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::didAssociateFormControls):
Tell the injected bundle form client for the page.
(WebKit::WebChromeClient::shouldNotifyOnFormChanges):
Ditto.
* WebProcess/WebCoreSupport/WebChromeClient.h:

Tools:

Add tests for the new callbacks.

* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
Add DidAssociateFormControls/_Bundle.cpp and associate-form-controls.html

* TestWebKitAPI/Tests/WebKit2/DidAssociateFormControls.cpp: Added.
(TestWebKitAPI::nullJavaScriptCallback):
A "null" callback to handle the fact that WKPageRunJavaScriptInMainFrame cannot handle null
being passed in for the callback.
(TestWebKitAPI::didReceiveMessageFromInjectedBundle):
After receiving the message that didAssociateFormControls callback was invoked from adding
the form in the onload handler, tell the page to add a password field to the form, which
should also invoke didAssociateFormControls callback.
(TestWebKitAPI::setInjectedBundleClient):
Register to receive messages.
(TestWebKitAPI::TEST):
Load associate-form-controls.html and wait until the didAssociateFormControls callback has
been invoked for both adding the form and for adding a password field to the form.

* TestWebKitAPI/Tests/WebKit2/DidAssociateFormControls_Bundle.cpp: Added.
(TestWebKitAPI::shouldNotifyOnFormChanges):
Return true so the didAssociateFormControls callback is invoked.
(TestWebKitAPI::didAssociateFormControls):
Tell the UI process.
(TestWebKitAPI::DidAssociateFormControlsTest::DidAssociateFormControlsTest):
(TestWebKitAPI::DidAssociateFormControlsTest::didCreatePage):
Register for the shouldNotifyOnFormChanges and didAssociateFormControls callbacks.

* TestWebKitAPI/Tests/WebKit2/associate-form-controls.html: Added.
Add a form in response to the onload event. Add a button that will add the password field
for manual testing.

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

6 years agoREGRESSION(r150386): [WK2] loader/go-back-cached-main-resource.html fails
rniwa@webkit.org [Tue, 21 May 2013 02:04:12 +0000 (02:04 +0000)]
REGRESSION(r150386): [WK2] loader/go-back-cached-main-resource.html fails
https://bugs.webkit.org/show_bug.cgi?id=116491

Add a test expectation.

* platform/wk2/TestExpectations:

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

6 years agoAvoid caret repaints if we're not showing carets anyway.
akling@apple.com [Tue, 21 May 2013 01:53:10 +0000 (01:53 +0000)]
Avoid caret repaints if we're not showing carets anyway.
<http://webkit.org/b/116489>

Reviewed by Simon Fraser.

When moving the selection, check if we're inside a contenteditable element (or in caret browsing mode)
before repainting the caret's previous location.

* editing/FrameSelection.cpp:
(WebCore::FrameSelection::recomputeCaretRect):

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

6 years agoposition:sticky should stick for the enclosing overflow ancestor
simon.fraser@apple.com [Tue, 21 May 2013 01:43:13 +0000 (01:43 +0000)]
position:sticky should stick for the enclosing overflow ancestor
https://bugs.webkit.org/show_bug.cgi?id=100054

Source/WebCore:

Reviewed by Beth Dakin.

Make position: -webkit-sticky be constrained by an enclosing ancestor
with non-visible overflow if there is one, rather than being constained
always by the viewport.

Test: fast/css/sticky/sticky-top-overflow.html

* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::computeStickyPositionConstraints): Rename
viewportRect to constrainingRect, since it isn't just about the viewport any more.
Fix an issue where just adding stickyLocation to absContainerFrame.location() was
incorrect when the container is scrolled; we also have to take the scroll offset
into account, and that offset is stored in the layer tree.
(WebCore::RenderBoxModelObject::stickyPositionOffset):
Look for an enclosing layer with overflow clipping, and, if found, use it to
compute the sticky constraint rect.
* rendering/RenderLayer.h: Add a helpful IncludeSelfOrNot, and fix several member functions
to use it place of hard-to-read boolean arguments.
Add enclosingOverflowClipLayer(IncludeSelfOrNot).
(WebCore::RenderLayer::ancestorCompositingLayer):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::enclosingOverflowClipLayer): New function, finds the enclosing
layer with overflow clip.
(WebCore::RenderLayer::enclosingCompositingLayer): Use IncludeSelfOrNot.
(WebCore::RenderLayer::enclosingCompositingLayerForRepaint): Ditto.
(WebCore::RenderLayer::enclosingFilterLayer): Ditto.
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::repaintInCompositedAncestor): Use IncludeSelfOrNot.
(WebCore::isViewportConstrainedFixedOrStickyLayer): Renamed from isRootmostFixedOrStickyLayer
and moved up so we can use it in requiresCompositingForPosition().
(WebCore::RenderLayerCompositor::requiresCompositingForPosition): Only make sticky composited if
it's viewport-constrained.
(WebCore::RenderLayerCompositor::updateViewportConstraintStatus):
(WebCore::RenderLayerCompositor::computeStickyViewportConstraints): Declare StickyPositionViewportConstraints
one line down to just before it gets used.

LayoutTests:

Reviewed by Beth Dakin.

Reference test for sticky behavior inside overflow:.

* fast/css/sticky/sticky-top-overflow-expected.html: Added.
* fast/css/sticky/sticky-top-overflow.html: Added.

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

6 years agoRemove DISABLE_ROUNDED_CORNER_CLIPPING
commit-queue@webkit.org [Tue, 21 May 2013 01:25:04 +0000 (01:25 +0000)]
Remove DISABLE_ROUNDED_CORNER_CLIPPING
https://bugs.webkit.org/show_bug.cgi?id=115531

Patch by Jeff Rogers <jrogers@blackberry.com> on 2013-05-20
Reviewed by Andreas Kling.

BlackBerry port is no longer using this.

* rendering/RenderLayer.cpp:
(WebCore::inContainingBlockChain):
(WebCore::RenderLayer::clipToRect):

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

6 years agoAdd a test that inserting a character inside a URL doesn't move caret per auto correction
rniwa@webkit.org [Tue, 21 May 2013 00:57:03 +0000 (00:57 +0000)]
Add a test that inserting a character inside a URL doesn't move caret per auto correction
https://bugs.webkit.org/show_bug.cgi?id=116458

Reviewed by Darin Adler.

Add a test. This is broken on Safari 6 but fixed on ToT.

* editing/inserting/inserting-slash-inside-url-with-smart-link-expected.txt: Added.
* editing/inserting/inserting-slash-inside-url-with-smart-link.html: Added.
* platform/mac-wk2/TestExpectations:

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

6 years ago[GTK][WK2] Unflag tests related to layoutTestController.setSmartInsertDeleteEnabled
commit-queue@webkit.org [Tue, 21 May 2013 00:49:32 +0000 (00:49 +0000)]
[GTK][WK2] Unflag tests related to layoutTestController.setSmartInsertDeleteEnabled
https://bugs.webkit.org/show_bug.cgi?id=116433

Unreviewed gardening.

Patch by Manuel Rego Casasnovas <rego@igalia.com> on 2013-05-20

* platform/gtk-wk2/TestExpectations: Unflag tests as they are passing
since r150289.

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

6 years ago[EFL][JHBUILD] Make sure eet is built before evas
ch.dumez@sisa.samsung.com [Tue, 21 May 2013 00:24:45 +0000 (00:24 +0000)]
[EFL][JHBUILD] Make sure eet is built before evas
https://bugs.webkit.org/show_bug.cgi?id=116440

Reviewed by Gyuyoung Kim.

Mark eet as a dependency of evas since evas requires eet to enable some of its
functionality.

* efl/jhbuild.modules:

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

6 years ago[Mac] [WK2] storage/websql/open-database-creation-callback-isolated-world.html, state...
rniwa@webkit.org [Tue, 21 May 2013 00:10:33 +0000 (00:10 +0000)]
[Mac] [WK2] storage/websql/open-database-creation-callback-isolated-world.html, statement-error-callback-isolated-world.html,
and transaction-success-callback-isolated-world.html are flaky
https://bugs.webkit.org/show_bug.cgi?id=116478

Add flaky test expectations.

* platform/mac-wk2/TestExpectations:

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

6 years agosvg/batik/text/textEffect.svg is flaky on Mountain Lion builders
rniwa@webkit.org [Tue, 21 May 2013 00:07:11 +0000 (00:07 +0000)]
svg/batik/text/textEffect.svg is flaky on Mountain Lion builders
https://bugs.webkit.org/show_bug.cgi?id=116477

Add a failing test expectation.

* platform/mac/TestExpectations:

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

6 years agoClients should have a way to extend rendering suppression
timothy_horton@apple.com [Mon, 20 May 2013 23:43:33 +0000 (23:43 +0000)]
Clients should have a way to extend rendering suppression
https://bugs.webkit.org/show_bug.cgi?id=116463
<rdar://problem/13738496>

Reviewed by Andy Estes.

* WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
(WKBundlePageExtendIncrementalRenderingSuppression): Added.
(WKBundlePageStopExtendingIncrementalRenderingSuppression): Added.
* WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
These only have any effect if SuppressesIncrementalRendering is also enabled.

* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
Inform the FrameView if there are any outstanding rendering suppression tokens.

* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::WebPage):
(WebKit::WebPage::extendIncrementalRenderingSuppression):
Return the next available rendering suppression token.
Add it to the list of active tokens.
Inform the FrameView that we want to suppress rendering.

(WebKit::WebPage::stopExtendingIncrementalRenderingSuppression):
Remove the given token from the list of active tokens.
Un-suppress rendering if appropriate.

* WebProcess/WebPage/WebPage.h:
(WebKit::WebPage::shouldExtendIncrementalRenderingSuppression):
Return if there are any active rendering suppression tokens.

* WebCore.exp.in:
Export FrameView::setVisualUpdatesAllowedByClient.

* dom/Document.cpp:
(WebCore::Document::setVisualUpdatesAllowed):
Move rendering-suppression watchdog into setVisualUpdatesAllowed(bool).
setVisualUpdatesAllowed(ReadyState) should not re-enable visual updates
if the client is itself disabling visual updates.

(WebCore::Document::visualUpdatesSuppressionTimerFired):
If the watchdog fires and the client is still disabling visual
updates, we should not re-enable visual updates, but instead
wait for the client.

(WebCore::Document::setVisualUpdatesAllowedByClient):
Actually re-enable visual updates if we deferred the re-enabling above
(when the page finishes loading, but the client had them disabled).

* dom/Document.h:
(Document): Add setVisualUpdatesAllowedByClient.
* page/FrameView.cpp:
(WebCore::FrameView::FrameView): Visual updates are allowed by default.
(WebCore::FrameView::setVisualUpdatesAllowedByClient):
Forward through to the document, but we also need to persist the state
here in FrameView so that it survives through navigation.

* page/FrameView.h:
(WebCore::FrameView::setVisualUpdatesAllowedByClient): Added.
(WebCore::FrameView::visualUpdatesAllowedByClient): Added.
Added storage for m_visualUpdatesAllowedByClient.

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

6 years ago[CSS Exclusions] Add CSS parsing support for image URI shape-inside and shape-outside...
hmuller@adobe.com [Mon, 20 May 2013 23:30:09 +0000 (23:30 +0000)]
[CSS Exclusions] Add CSS parsing support for image URI shape-inside and shape-outside values
https://bugs.webkit.org/show_bug.cgi?id=116349

Reviewed by Alexandru Chiculita.

Source/WebCore:

Add support for parsing image URI values for the shape-inside and shape-outside CSS properties.
Extended the ExclusionShapeValue class to support tracking the property's StyleImage value.

The ExclusionShapeValue::type enums were changed from all upper case to "Intercase" by order
of the style bot.

The existing CSS parsing tests were extended to check URI values.

* css/CSSComputedStyleDeclaration.cpp:
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
* css/CSSParser.cpp:
(WebCore::CSSParser::parseValue):
* css/DeprecatedStyleBuilder.cpp:
(WebCore::ApplyPropertyExclusionShape::applyValue):
* css/StyleResolver.cpp:
(WebCore::StyleResolver::loadPendingImages):
* rendering/style/ExclusionShapeValue.h:
(WebCore::ExclusionShapeValue::createImageValue):
(ExclusionShapeValue):
(WebCore::ExclusionShapeValue::image):
(WebCore::ExclusionShapeValue::setImage):
(WebCore::ExclusionShapeValue::ExclusionShapeValue):

LayoutTests:

Check that shape values specified with a URI are parsed correctly.

* fast/exclusions/parsing-wrap-shape-inside-expected.txt:
* fast/exclusions/parsing-wrap-shape-outside-expected.txt:
* fast/exclusions/script-tests/parsing-wrap-shape-inside.js:
* fast/exclusions/script-tests/parsing-wrap-shape-outside.js:

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

6 years agoWTR::pathSuitableForTestResult should behave the same as _drt_descriptionSuitableForT...
commit-queue@webkit.org [Mon, 20 May 2013 23:28:07 +0000 (23:28 +0000)]
WTR::pathSuitableForTestResult should behave the same as _drt_descriptionSuitableForTestResult so we can unskip tests.
https://bugs.webkit.org/show_bug.cgi?id=116125

Patch by Alex Christensen <achristensen@apple.com> on 2013-05-20
Reviewed by Tim Horton.

Tools:

* WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
(WTR::pathSuitableForTestResult):
Changed string operations to match _drt_descriptionSuitableForTestResult.
(WTR::dumpRequestDescriptionSuitableForTestResult):
(WTR::dumpResponseDescriptionSuitableForTestResult):
(WTR::InjectedBundlePage::willPerformClientRedirectForFrame):
(WTR::InjectedBundlePage::didInitiateLoadForResource):
(WTR::InjectedBundlePage::willSendRequestForFrame):
(WTR::InjectedBundlePage::didReceiveResponseForResource):
Pass the main frame's URL to pathSuitableForTestResult.
* WebKitTestRunner/InjectedBundle/InjectedBundlePage.h:
Added WKBundlePageRef to willPerformClientRedirectForFrame.

LayoutTests:

* platform/wk2/TestExpectations:
Unskipped working tests.

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

6 years agoAdd a failing test expectation to editing/selection/user-drag-element-and-user-select...
rniwa@webkit.org [Mon, 20 May 2013 23:05:33 +0000 (23:05 +0000)]
Add a failing test expectation to editing/selection/user-drag-element-and-user-select-none.html
after r150354. The failure is tracked by the bug 116473.

* TestExpectations:

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

6 years agoPPT: Closing tab that is hung or chewing 100% CPU leaves abandoned WebProcess.
akling@apple.com [Mon, 20 May 2013 22:55:49 +0000 (22:55 +0000)]
PPT: Closing tab that is hung or chewing 100% CPU leaves abandoned WebProcess.
<http://webkit.org/b/116464>
<rdar://problem/10103795>

Reviewed by Anders Carlsson.

Give the web process a 10 second chance to exit nicely after closing the last tab belonging to it.
This code only runs if there was something on the page (e.g an unload/beforeunload event handler)
preventing the UI process from killing it right away.

* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::WebProcessProxy):
(WebKit::WebProcessProxy::removeWebPage):
(WebKit::WebProcessProxy::forcefulTerminationTimerFired):
* UIProcess/WebProcessProxy.h:
(WebProcessProxy):

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

6 years ago[CSSRegions] Fix offsetLeft / offsetTop for elements inside named flow
commit-queue@webkit.org [Mon, 20 May 2013 21:38:37 +0000 (21:38 +0000)]
[CSSRegions] Fix offsetLeft / offsetTop for elements inside named flow
https://bugs.webkit.org/show_bug.cgi?id=115899

Patch by Radu Stavila <stavila@adobe.com> on 2013-05-20
Reviewed by David Hyatt.

Source/WebCore:

Elements in named flows that have the body as their offsetParent, need to compute their
offsetLeft and offsetTop values relative to the body.

Tests: fast/regions/offsetLeft-offsetTop-in-multiple-regions.html
       fast/regions/offsetLeft-offsetTop-in-region-absolute-sticky-fixed.html
       fast/regions/offsetLeft-offsetTop-in-region-float-vert-rl.html
       fast/regions/offsetLeft-offsetTop-in-region-float.html
       fast/regions/offsetLeft-offsetTop-inlines-region-in-element.html

* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::adjustedPositionRelativeToOffsetParent):
* rendering/RenderFlowThread.cpp:
(WebCore):
(WebCore::RenderFlowThread::adjustedPositionRelativeToOffsetParent):
* rendering/RenderFlowThread.h:

LayoutTests:

Added tests for the implementation of offsetLeft and offsetTop for objects inside named flows
for which the offsetParent is the body.

* fast/regions/offsetLeft-offsetTop-in-multiple-regions-expected.txt: Added.
* fast/regions/offsetLeft-offsetTop-in-multiple-regions.html: Added.
* fast/regions/offsetLeft-offsetTop-in-region-absolute-sticky-fixed-expected.txt: Added.
* fast/regions/offsetLeft-offsetTop-in-region-absolute-sticky-fixed.html: Added.
* fast/regions/offsetLeft-offsetTop-in-region-float-expected.txt: Added.
* fast/regions/offsetLeft-offsetTop-in-region-float-vert-rl-expected.txt: Added.
* fast/regions/offsetLeft-offsetTop-in-region-float-vert-rl.html: Added.
* fast/regions/offsetLeft-offsetTop-in-region-float.html: Added.
* fast/regions/offsetLeft-offsetTop-inlines-region-in-element-expected.txt: Added.
* fast/regions/offsetLeft-offsetTop-inlines-region-in-element.html: Added.

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

6 years ago[Windows] Unreviewed TestExpectation cleanup. Reordered lines
bfulgham@apple.com [Mon, 20 May 2013 21:17:59 +0000 (21:17 +0000)]
[Windows] Unreviewed TestExpectation cleanup. Reordered lines
to match Mac version to make it easier to understand what features
are uniquely missing in Windows port.

* platform/win/TestExpectations: Reordering of lines, adds some
bug ID's to existing skipped tests.

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

6 years agoMake C API more robust against null contexts
oliver@apple.com [Mon, 20 May 2013 21:10:19 +0000 (21:10 +0000)]
Make C API more robust against null contexts
https://bugs.webkit.org/show_bug.cgi?id=116462

Reviewed by Anders Carlsson.

Handle null contexts in a non-crashy way.  It's a bug to ever call the
API with a null context, and the absence of a context means we can't
produce a meaningful result, so we still assert in debug builds.

Now where possible we detect and early return, returning null for any
pointer type, NaN for doubles, and false for any boolean result.

* API/JSBase.cpp:
(JSEvaluateScript):
(JSCheckScriptSyntax):
(JSReportExtraMemoryCost):
* API/JSContextRef.cpp:
(JSContextGetGlobalObject):
(JSContextGetGroup):
(JSContextGetGlobalContext):
(JSContextCreateBacktrace):
* API/JSObjectRef.cpp:
(JSObjectMake):
(JSObjectMakeFunctionWithCallback):
(JSObjectMakeConstructor):
(JSObjectMakeFunction):
(JSObjectMakeArray):
(JSObjectMakeDate):
(JSObjectMakeError):
(JSObjectMakeRegExp):
(JSObjectGetPrototype):
(JSObjectSetPrototype):
(JSObjectHasProperty):
(JSObjectGetProperty):
(JSObjectSetProperty):
(JSObjectGetPropertyAtIndex):
(JSObjectSetPropertyAtIndex):
(JSObjectDeleteProperty):
(JSObjectCopyPropertyNames):
* API/JSValueRef.cpp:
(JSValueGetType):
(JSValueIsUndefined):
(JSValueIsNull):
(JSValueIsBoolean):
(JSValueIsNumber):
(JSValueIsString):
(JSValueIsObject):
(JSValueIsObjectOfClass):
(JSValueIsEqual):
(JSValueIsStrictEqual):
(JSValueIsInstanceOfConstructor):
(JSValueMakeUndefined):
(JSValueMakeNull):
(JSValueMakeBoolean):
(JSValueMakeNumber):
(JSValueMakeString):
(JSValueMakeFromJSONString):
(JSValueCreateJSONString):
(JSValueToBoolean):
(JSValueToNumber):
(JSValueToStringCopy):
(JSValueToObject):
(JSValueProtect):
* API/JSWeakObjectMapRefPrivate.cpp:

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

6 years agofix w3c test importer unit tests after r150324
dpranke@chromium.org [Mon, 20 May 2013 20:42:39 +0000 (20:42 +0000)]
fix w3c test importer unit tests after r150324
https://bugs.webkit.org/show_bug.cgi?id=116459

Reviewed by Ryosuke Niwa.

This patch fixes the unit tests to not actually call out to
'hg' (by using a mock executive) and also changes the real
directory we crawl from Source/WebCore/css to
Tools/Scripts/webkitpy/w3c to run much more quickly. We should
still change this to a mock filesystem, but that's a separate change.

* Scripts/webkitpy/w3c/test_importer.py:
(main):
(TestImporter.__init__):
(TestImporter.load_changeset):
* Scripts/webkitpy/w3c/test_importer_unittest.py:
(TestImporterTest.test_import_dir_with_no_tests_and_no_hg):
(TestImporterTest.test_import_dir_with_no_tests):

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

6 years agoAdd helper function for converting a KeyedCodingValue to a CFTypeRef
andersca@apple.com [Mon, 20 May 2013 20:34:19 +0000 (20:34 +0000)]
Add helper function for converting a KeyedCodingValue to a CFTypeRef
https://bugs.webkit.org/show_bug.cgi?id=116461

Reviewed by Tim Horton.

* Shared/cf/KeyedCodingValueCF.cpp: Added.
* Shared/cf/KeyedCodingValueCF.h: Added.

* WebKit2.xcodeproj/project.pbxproj:

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

6 years ago[Qt] REGRESSION(r149457): some fast/exclusions tests are failing
hmuller@adobe.com [Mon, 20 May 2013 20:00:53 +0000 (20:00 +0000)]
[Qt] REGRESSION(r149457): some fast/exclusions tests are failing
https://bugs.webkit.org/show_bug.cgi?id=115511

Reviewed by Andreas Kling.

Unskipping the exclusions tests on Qt. They were fixed by https://bugs.webkit.org/show_bug.cgi?id=116115.

* platform/qt/TestExpectations:

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

6 years agoBegin stubbing out a new KeyedEncoder class
andersca@apple.com [Mon, 20 May 2013 19:55:49 +0000 (19:55 +0000)]
Begin stubbing out a new KeyedEncoder class
https://bugs.webkit.org/show_bug.cgi?id=116456

Reviewed by Sam Weinig.

This class (and it's coming counterpart, KeyedDecoder) will be used for serializing
object graphs to a tree-like structure of dictionaries. It is up to individual ports to
serialize them further (for example, on Mac they could be serialized to CFPropertyList objects).

This will be used for serializing session storage state but I hope that it can be used for serializing
back forward state in the future as our current implementation of back forward state serialization
is fragile and depends on our IPC layer's binary encoding(!).

* Shared/KeyedCodingValue.h: Added.
* Shared/KeyedEncoder.cpp: Added.
* Shared/KeyedEncoder.h: Added.

* WebKit2.xcodeproj/project.pbxproj:

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

6 years agoUnreviewed EFL build fix.
ch.dumez@sisa.samsung.com [Mon, 20 May 2013 19:13:44 +0000 (19:13 +0000)]
Unreviewed EFL build fix.

Fix linking errors due to undefined symbols on Ubuntu 13.04.

* DumpRenderTree/efl/CMakeLists.txt:
* EWebLauncher/CMakeLists.txt:
* MiniBrowser/efl/CMakeLists.txt:

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

6 years ago[CSS Regions][CSS Exclusions] shape-inside on regions should respect positioned shape...
zoltan@webkit.org [Mon, 20 May 2013 19:00:22 +0000 (19:00 +0000)]
[CSS Regions][CSS Exclusions] shape-inside on regions should respect positioned shapes and overflow
https://bugs.webkit.org/show_bug.cgi?id=116252

Reviewed by David Hyatt.

Regions should respect shape-inside properties which have specified top offset. Since the content which overflows from the
shape should be pushed after the content box (for details check out r148975), I implemented  overflowthe behavior for simple
cases when you have only one region. I'm going to implement it for additional regions in a follow up patch.

Tests: fast/regions/shape-inside/shape-inside-on-regions-block-content-basic-overflow-shape-top-offset.html
       fast/regions/shape-inside/shape-inside-on-regions-inline-content-basic-overflow-shape-top-offset.html

Source/WebCore:

* rendering/RenderBlockLineLayout.cpp:
(WebCore::RenderBlock::updateLineBoundariesForExclusions): Handle the flow thread case, push the overflowing content after the
content box. Respect existing shape-inside on region tests.
(WebCore::RenderBlock::layoutRunsAndFloatsInRange): Set the correct logical top position for the shape-inside in
the case of regions. Respect the region's margins and paddings.

LayoutTests:

* fast/regions/shape-inside/shape-inside-on-regions-block-content-basic-overflow-shape-top-offset-expected.html: Added.
* fast/regions/shape-inside/shape-inside-on-regions-block-content-basic-overflow-shape-top-offset.html: Added.
* fast/regions/shape-inside/shape-inside-on-regions-inline-content-basic-overflow-shape-top-offset-expected.html: Added.
* fast/regions/shape-inside/shape-inside-on-regions-inline-content-basic-overflow-shape-top-offset.html: Added.

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

6 years ago[GTK] Cleanup TestExpectations to pass --lint-test-files
commit-queue@webkit.org [Mon, 20 May 2013 18:45:39 +0000 (18:45 +0000)]
[GTK] Cleanup TestExpectations to pass --lint-test-files
https://bugs.webkit.org/show_bug.cgi?id=116419

Unreviewed GTK gardening.

Remove one of two http/tests/cache/willsendrequest-returns-null-for-memory-cache-load.html

Patch by Seokju Kwon <seokju.kwon@gmail.com> on 2013-05-20

* platform/gtk/TestExpectations:

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

6 years agoRemove custom binding for the Clipboard clearData function
darin@apple.com [Mon, 20 May 2013 18:10:15 +0000 (18:10 +0000)]
Remove custom binding for the Clipboard clearData function
https://bugs.webkit.org/show_bug.cgi?id=116421

Reviewed by Andreas Kling.

* bindings/js/JSClipboardCustom.cpp: Removed the clearData binding.

* dom/Clipboard.idl: Removed [Custom].

* dom/Clipboard.cpp:
(WebCore::Clipboard::clearData): Renamed from clearAllData.
* dom/Clipboard.h: Rename clearAllData to clearData so we just use
overloading for the one with and without a MIME type.
* platform/ios/ClipboardIOS.h: Rename clearAllData to clearData.
* platform/ios/ClipboardIOS.mm:
(WebCore::ClipboardIOS::clearData): Ditto.
* platform/qt/ClipboardQt.cpp:
(WebCore::ClipboardQt::clearData). Ditto.
* platform/qt/ClipboardQt.h: Ditto.
* platform/win/ClipboardWin.cpp:
(WebCore::ClipboardWin::clearData): Ditto.
* platform/win/ClipboardWin.h: Ditto.

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

6 years ago[iOS] media/event-queue-crash.html ASSERTs in notifyChildInserted
eric.carlson@apple.com [Mon, 20 May 2013 17:21:02 +0000 (17:21 +0000)]
[iOS] media/event-queue-crash.html ASSERTs in notifyChildInserted
https://bugs.webkit.org/show_bug.cgi?id=116444

Reviewed by Jer Noble.

No new tests, covered by existing tests.

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::configureMediaControls): Only create media controls when the
    element is in a Document.

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

6 years ago[Mac] captions menu should behave more like a menu
graouts@apple.com [Mon, 20 May 2013 16:47:07 +0000 (16:47 +0000)]
[Mac] captions menu should behave more like a menu
https://bugs.webkit.org/show_bug.cgi?id=116436

Reviewed by Eric Carlson.

Let the captions menu behave more like a native Mac menu by hiding it when
clicking anywhere on the page and preventing the page from scrolling when
attempting to scroll the captions menu when it cannot scroll in the requested
direction.

Test: media/video-controls-captions-trackmenu-hide-on-click-outside.html

* dom/EventListener.h:
Add the new MediaControlsAppleEventListenerType.

* html/shadow/MediaControlsApple.cpp:
(WebCore::MediaControlsApple::defaultEventHandler):
(WebCore::MediaControlsApple::hide):
(WebCore::MediaControlsApple::makeTransparent):
(WebCore::MediaControlsApple::changedClosedCaptionsVisibility):
(WebCore::MediaControlsApple::reportedError):
(WebCore::MediaControlsApple::toggleClosedCaptionTrackList):
Use the hideClosedCaptionTrackList() and showClosedCaptionTrackList()
methods to hide and show the captions menu instead of calling hide()
and show() directly on m_closedCaptionsContainer.

(WebCore::MediaControlsApple::showClosedCaptionTrackList):
Show the m_closedCaptionsContainer and register a "mousewheel" event
listener on it as well as a "click" event listener on the entire document.

(WebCore::MediaControlsApple::hideClosedCaptionTrackList):
Hide the m_closedCaptionsContainer and remove the "mousewheel" event
listener on it as well as the "click" event listener on the entire document.

(WebCore::MediaControlsApple::shouldClosedCaptionsContainerPreventPageScrolling):
New private utility to determine whether the m_closedCaptionsContainer can scroll
in the provided scroll direction.

(WebCore::MediaControlsApple::eventListener):
Obtain the event listener used for "mousewheel" and "click" event handlers.

(WebCore::MediaControlsAppleEventListener::handleEvent):
Event handler for the "mousewheel" and "click" events. If we get a "click" event, we
toggle the captions menu visibility and if we get a "mousewheel" event, we call into
shouldClosedCaptionsContainerPreventPageScrolling() to see if we can scroll in the
current scroll direction, and if not prevent the event from resulting in a scroll by
calling preventDefault().

(WebCore::MediaControlsAppleEventListener::operator==):
Required for the successful subclassing of EventListener.

* html/shadow/MediaControlsApple.h:
(MediaControlsAppleEventListener):
(WebCore::MediaControlsAppleEventListener::create):
(WebCore::MediaControlsAppleEventListener::cast):
(WebCore::MediaControlsAppleEventListener::MediaControlsAppleEventListener):
New subclass of EventListener required to provide a custom event listener for the
"mousewheel" and "click" events registered in showClosedCaptionTrackList() and
hideClosedCaptionTrackList().

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

6 years ago[Cairo] Canvas-shadow behavior is not being as expected
mrobinson@webkit.org [Mon, 20 May 2013 16:39:30 +0000 (16:39 +0000)]
[Cairo] Canvas-shadow behavior is not being as expected
https://bugs.webkit.org/show_bug.cgi?id=108897

Patch by Rashmi Shyamasundar <rashmi.s2@samsung.com> on 2013-05-18
Reviewed by Martin Robinson.

Source/WebCore:

ShadowBlur::endShadowLayer copies the image from shadowContext to cairoContext.
CairoContext-path should be empty for doing this copy. Otherwise, the
original-image area will also get filled with the shadow.

Test: fast/canvas/canvas-image-shadow.html

* platform/graphics/cairo/GraphicsContextCairo.cpp:
(WebCore::drawPathShadow):

LayoutTests:

Test to verify the shadow of an image drawn on canvas.
This test uses an image whose size is smaller than,
the size of the rectangle which should be filled with the image.

* fast/canvas/canvas-image-shadow-expected.txt: Added.
* fast/canvas/canvas-image-shadow.html: Added.
* fast/canvas/script-tests/canvas-image-shadow.js: Added.
(draw):

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

6 years agoBump WKBundlePageLoaderClient version number so as not to break some clients
weinig@apple.com [Mon, 20 May 2013 16:21:47 +0000 (16:21 +0000)]
Bump WKBundlePageLoaderClient version number so as not to break some clients
https://bugs.webkit.org/show_bug.cgi?id=116426

Reviewed by Anders Carlsson.

* Shared/APIClientTraits.cpp:
(WebKit):
* Shared/APIClientTraits.h:
* WebProcess/InjectedBundle/API/c/WKBundlePage.h:

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

6 years ago[EFL] Reenabled INDEXED_DATABASE after r150344
ch.dumez@sisa.samsung.com [Mon, 20 May 2013 16:00:52 +0000 (16:00 +0000)]
[EFL] Reenabled INDEXED_DATABASE after r150344
https://bugs.webkit.org/show_bug.cgi?id=116430

Reviewed by Gyuyoung Kim.

.:

Reenable INDEXED_DATABASE flag for EFL port now that WebKit2
build was fixed in r150344.

* Source/cmake/OptionsEfl.cmake:

Tools:

Reenable INDEXED_DATABASE flag for EFL port now that WebKit2
build was fixed in r150344.

* Scripts/webkitperl/FeatureList.pm:

LayoutTests:

Unskip indexeddb layout tests for EFL port now that the functionality
is reenabled at compile time.

* platform/efl/TestExpectations:

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

6 years agoSynchronize FeatureDefines.xcconfig
ddkilzer@apple.com [Mon, 20 May 2013 14:44:54 +0000 (14:44 +0000)]
Synchronize FeatureDefines.xcconfig

Source/JavaScriptCore:

* Configurations/FeatureDefines.xcconfig: Remove
ENABLE_LINK_PRERENDER.  This was missed in r150356.

Source/WebKit/mac:

* Configurations/FeatureDefines.xcconfig: Add a newline to the
end of the file.

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

6 years ago-webkit-text-underline-position should not be inherited
commit-queue@webkit.org [Mon, 20 May 2013 13:44:15 +0000 (13:44 +0000)]
-webkit-text-underline-position should not be inherited
https://bugs.webkit.org/show_bug.cgi?id=116363

Patch by Lamarque V. Souza <Lamarque.Souza@basyskom.com> on 2013-05-20
Reviewed by Dean Jackson.

Source/WebCore:

Specification says text-underline-position should not be inherited.

No new tests, this updates existing tests.

* css/CSSProperty.cpp:
(WebCore::CSSProperty::isInheritedProperty): Make
CSSPropertyWebkitTextUnderlinePosition return false.
* rendering/style/RenderStyle.h: Treat TextUnderlinePosition as
non-inherited.
* rendering/style/StyleRareInheritedData.cpp:
(WebCore::StyleRareInheritedData::StyleRareInheritedData):
(WebCore::StyleRareInheritedData::operator==): Remove m_textUnderlinePosition.
* rendering/style/StyleRareInheritedData.h:
(StyleRareInheritedData):
* rendering/style/StyleRareNonInheritedData.cpp:
(WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
(WebCore::StyleRareNonInheritedData::operator==): Add m_textUnderlinePosition.
* rendering/style/StyleRareNonInheritedData.h:
(StyleRareNonInheritedData):

LayoutTests:

Update expected results.

* fast/css3-text/css3-text-decoration/getComputedStyle/getComputedStyle-text-underline-position-expected.txt:
* fast/css3-text/css3-text-decoration/getComputedStyle/script-tests/getComputedStyle-text-underline-position.js:

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

6 years agoAdd compile asserts for the size of RootInlineBox and InlineTextbox
commit-queue@webkit.org [Mon, 20 May 2013 13:36:38 +0000 (13:36 +0000)]
Add compile asserts for the size of RootInlineBox and InlineTextbox
https://bugs.webkit.org/show_bug.cgi?id=116337

Patch by Lamarque V. Souza <Lamarque.Souza@basyskom.com> on 2013-05-20
Reviewed by Darin Adler.

Add compile asserts to ensure RootInlineBox and InlineTextbox stay small.

* rendering/InlineTextBox.cpp:
(SameSizeAsInlineTextBox):
(WebCore):
* rendering/RootInlineBox.cpp:
(SameSizeAsRootInlineBox):
(WebCore):

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

6 years agoUnreviewed EFL gardening.
g.czajkowski@samsung.com [Mon, 20 May 2013 12:03:27 +0000 (12:03 +0000)]
Unreviewed EFL gardening.

Adding failure expectations for spelling tests.

* platform/efl-wk2/TestExpectations:

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

6 years agoUnreviewed EFL gardening.
g.czajkowski@samsung.com [Mon, 20 May 2013 10:11:27 +0000 (10:11 +0000)]
Unreviewed EFL gardening.

spelling-double-clicked-word.html passes after r150289.

* platform/efl-wk2/TestExpectations:

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

6 years ago[BlackBerry] LocalizedStringsBlackBerry: add dummy text track strings
commit-queue@webkit.org [Mon, 20 May 2013 09:37:05 +0000 (09:37 +0000)]
[BlackBerry] LocalizedStringsBlackBerry: add dummy text track strings
https://bugs.webkit.org/show_bug.cgi?id=116300

Patch by Xan Lopez <xlopez@igalia.com> on 2013-05-20
Reviewed by Rob Buis.

These are dummy implementations necessary to make WebKit link.

* platform/blackberry/LocalizedStringsBlackBerry.cpp:
(WebCore::weekFormatInLDML):
(WebCore):
(WebCore::textTrackClosedCaptionsText):
(WebCore::textTrackSubtitlesText):
(WebCore::textTrackOffText):
(WebCore::textTrackNoLabelText):

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

6 years ago[BlackBerry] Do not use skia in FrameLoaderClientBlackBerry::dispatchDidReceiveIcon()
commit-queue@webkit.org [Mon, 20 May 2013 08:30:42 +0000 (08:30 +0000)]
[BlackBerry] Do not use skia in FrameLoaderClientBlackBerry::dispatchDidReceiveIcon()
https://bugs.webkit.org/show_bug.cgi?id=116302

Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2013-05-20
Reviewed by Rob Buis.

TiledImage is now the NativeImage of the BlackBerry port.

* WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
(WebCore::FrameLoaderClientBlackBerry::dispatchDidReceiveIcon):

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

6 years ago[EFL] init/shutdown should be paired in EWebLauncher
ryuan.choi@samsung.com [Mon, 20 May 2013 06:48:57 +0000 (06:48 +0000)]
[EFL] init/shutdown should be paired in EWebLauncher
https://bugs.webkit.org/show_bug.cgi?id=116427

Reviewed by Christophe Dumez.

Added ecore_file_shutdown() for cleanup of ecore_file.
Removed edje_init and ecore_evas_init because it was in ewk_init().

* EWebLauncher/main.c:
(main):

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

6 years ago[Mac] Improve string use in PasteboardMac
darin@apple.com [Mon, 20 May 2013 00:04:57 +0000 (00:04 +0000)]
[Mac] Improve string use in PasteboardMac
https://bugs.webkit.org/show_bug.cgi?id=116418

Reviewed by Sam Weinig.

Did a Ben Poulain all over this file.

* platform/mac/PasteboardMac.mm:
(WebCore::Pasteboard::plainText): Add the newline separately to the string builder.
Prepending it to the string first just does more allocations for no good reason.
(WebCore::Pasteboard::documentFragment): Use emptyString() instead of "" and use
ASCIILiteral where appropriate.
(WebCore::cocoaTypeFromHTMLClipboardType): More ASCIILiteral.
(WebCore::Pasteboard::clear): Use early return instead of a nested if here.
Use emptyString() instead of "".
(WebCore::addHTMLClipboardTypesForCocoaType): More ASCIILiteral.

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

6 years ago[EFL] Add command line option to MiniBrowser to set user agent
commit-queue@webkit.org [Sun, 19 May 2013 23:56:04 +0000 (23:56 +0000)]
[EFL] Add command line option to MiniBrowser to set user agent
https://bugs.webkit.org/show_bug.cgi?id=116387

Patch by Jinwoo Song <jinwoo7.song@samsung.com> on 2013-05-19
Reviewed by Christophe Dumez.

We need this option to compare the rendering differences according to different user agents.

* MiniBrowser/efl/main.c:
(window_create):
(elm_main):

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

6 years agoRemove link prerendering code
andersca@apple.com [Sun, 19 May 2013 22:57:32 +0000 (22:57 +0000)]
Remove link prerendering code
https://bugs.webkit.org/show_bug.cgi?id=116415

Reviewed by Darin Adler.

.:

This code was only used by Chromium and is dead now.

* Source/autotools/SetupWebKitFeatures.m4:
* Source/cmake/WebKitFeatures.cmake:
* Source/cmakeconfig.h.cmake:

Source/JavaScriptCore:

This code was only used by Chromium and is dead now.

* Configurations/FeatureDefines.xcconfig:

Source/WebCore:

* Configurations/FeatureDefines.xcconfig:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:
* dom/Document.cpp:
(WebCore::Document::Document):
* dom/Document.h:
(WebCore):
(Document):
* dom/EventNames.h:
(WebCore):
* html/HTMLLinkElement.cpp:
* html/HTMLLinkElement.h:
* html/LinkRelAttribute.cpp:
(WebCore::LinkRelAttribute::LinkRelAttribute):
* html/LinkRelAttribute.h:
(LinkRelAttribute):
* loader/LinkLoader.cpp:
(WebCore::LinkLoader::~LinkLoader):
(WebCore::LinkLoader::loadLink):
(WebCore::LinkLoader::released):
* loader/LinkLoader.h:
(WebCore):
(LinkLoader):
* loader/LinkLoaderClient.h:
(LinkLoaderClient):
* loader/Prerenderer.cpp: Removed.
* loader/Prerenderer.h: Removed.
* loader/PrerendererClient.cpp: Removed.
* loader/PrerendererClient.h: Removed.
* platform/PrerenderClient.h: Removed.
* platform/PrerenderHandle.h: Removed.

Source/WebKit/blackberry:

This code was only used by Chromium and is dead now.

* WebCoreSupport/AboutDataEnableFeatures.in:

Source/WebKit/mac:

This code was only used by Chromium and is dead now.

* Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

This code was only used by Chromium and is dead now.

* Configurations/FeatureDefines.xcconfig:

Source/WTF:

This code was only used by Chromium and is dead now.

* wtf/FeatureDefines.h:

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

6 years agoChange the terminology used by rendering code when painting a given node and its...
simon.fraser@apple.com [Sun, 19 May 2013 22:52:34 +0000 (22:52 +0000)]
Change the terminology used by rendering code when painting a given node and its children from "paintingRoot" to "subtreePaintRoot"
https://bugs.webkit.org/show_bug.cgi?id=116417

Reviewed by Sam Weinig.

PaintInfo and RenderLayer code referred to a "paintingRoot". This is only set when
FrameView::setNodeToDraw() has been called and is used to restrict painting to
some part of the subtree, but it could easily be misinterpreted, and confused with
the "rootLayer" used by RenderLayer (which is usually not the layer associated with
the paintingRoot).

Change the terminology from "paintingRoot" to "subtreePaintRoot" root to make the
purpose of this variable more obvious.

No behavior change.

* page/FrameView.cpp: Add a comment for setNodeToDraw(); in future this should
be called setSubtreePaintRoot() or something. Not done in this patch to avoid
risk; this function is exported from WebCore.
* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::paint):
* rendering/PaintInfo.h:
(WebCore::PaintInfo::PaintInfo):
(WebCore::PaintInfo::updateSubtreePaintRootForChildren):
(WebCore::PaintInfo::shouldPaintWithinRoot):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::paintContents):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::paint):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::paint):
(WebCore::RenderLayer::paintOverlayScrollbars):
(WebCore::RenderLayer::paintLayerContents):
(WebCore::RenderLayer::paintLayerByApplyingTransform):
(WebCore::RenderLayer::paintBackgroundForFragments):
(WebCore::RenderLayer::paintForegroundForFragments):
(WebCore::RenderLayer::paintForegroundForFragmentsWithPhase):
(WebCore::RenderLayer::paintOutlineForFragments):
(WebCore::RenderLayer::paintMaskForFragments):
* rendering/RenderLayer.h:
(WebCore::RenderLayer::LayerPaintingInfo::LayerPaintingInfo):
* rendering/RenderObject.cpp: Add a comment to recommend changing the name of
paintingRootRect() to refer to a subtree paint. Not done in this patch to avoid
risk; this function is exported from WebCore.
* rendering/RenderSnapshottedPlugIn.cpp:
(WebCore::RenderSnapshottedPlugIn::paint):
* rendering/RenderTable.cpp:
(WebCore::RenderTable::paintObject):
* rendering/svg/RenderSVGContainer.cpp:
(WebCore::RenderSVGContainer::paint):

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

6 years agoUse Element instead of Node in DragState, also redo DragState struct
darin@apple.com [Sun, 19 May 2013 21:51:21 +0000 (21:51 +0000)]
Use Element instead of Node in DragState, also redo DragState struct
https://bugs.webkit.org/show_bug.cgi?id=116411

Reviewed by Sam Weinig.

The drag source is an element, so use RefPtr<Element> instead of RefPtr<Node>.

Also, the entire drag state is about dragging, so no need for the word "drag" in the
name of its members. Also, it's a struct, so the members don't need m_ prefixes.

* page/DragController.cpp: Removed unneeded include of Node.h since it's included by
Element.h, which is also included.
(WebCore::DragController::draggableElement): Renamed from Node to Element and changed
the types and names of arguments accordingly. Also made this function handle a
startElement of 0 so callers don't need to. Also updated for changes to DragState members.
(WebCore::DragController::startDrag): Updated for changes to DragState members.
Since dragSource can only be an element, was able to get rid of isElementNode checks.

* page/DragController.h: Fixed style of forward declarations of structs. Updated for
change of draggableNode to draggableElement. Also removed declarations of nonexistent
selectionDraggingRect and doDrag functions.

* page/DragState.h: Rewrote practically this whole header. Added an include of Element
instead of Node since that's what we use now. Removed includes that are redundant.
There's no problem copying a DragState, so removed WTF_MAKE_NONCOPYABLE. There's no need
to allocate a DragState on the heap, so removed WTF_MAKE_FAST_ALLOCATED. The event dispatch
boolean is never set to a constant, so there's no need for a policy enum; it can just be
a boolean. Removed the "m_" prefixes from the struct members, since this is a struct with
public members and we don't use the prefix in those cases. Removed the word "drag" from the
struct member names since this entire struct is about dragging and has drag in its name.
Left the comments mostly intact, even though I'm not certain of their value.

* page/EventHandler.cpp:
(WebCore::EventHandler::handleMousePressEvent): Updated for changes to DragState.
(WebCore::EventHandler::eventMayStartDrag):
Use innerElement instead of innerNode to call draggableElement instead of draggableNode.
(WebCore::EventHandler::updateDragAndDrop): Updated for changes to DragState.
(WebCore::EventHandler::cancelDragAndDrop): Ditto.
(WebCore::EventHandler::handleWheelEvent): Added FIXME.
(WebCore::EventHandler::dragHysteresisExceeded): Updated for changes to DragState.
(WebCore::EventHandler::freeClipboard): Updated for changes to DragState. Also re-added
code to release the clipboard object, which is needed here to avoid keeping it around in
memory until the next drag.
(WebCore::EventHandler::dragSourceEndedAt): Updated for changes to DragState.
(WebCore::EventHandler::updateDragStateAfterEditDragIfNeeded): Ditto.
(WebCore::EventHandler::dispatchDragSrcEvent): Ditto.
(WebCore::EventHandler::handleDrag): Updated for changes to DragState. Use innerElement
instead of innerNode to call draggableElement instead of draggableNode. No longer need to
null check innerElement because draggableElement does that. Removed unneeded else that was
setting m_dragSrc to zero since it's guaranteed to already be zero.

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

6 years agoRemove ChromeClient::webView()
andersca@apple.com [Sun, 19 May 2013 20:38:28 +0000 (20:38 +0000)]
Remove ChromeClient::webView()
https://bugs.webkit.org/show_bug.cgi?id=116054

Source/WebCore:

Reviewed by Darin Adler.

This blatantly horrible layer violation was only used to know if a ChromeClient is an empty
client or not. We already have a (slightly less horrible) way to do that.

* loader/EmptyClients.h:
* page/ChromeClient.h:
(ChromeClient):

Source/WebKit/blackberry:

Reviewed by Andreas Kling.

This blatantly horrible layer violation was only used by the Chromium port; get rid of it.

* WebCoreSupport/ChromeClientBlackBerry.h:
(ChromeClientBlackBerry):

Source/WebKit/efl:

Reviewed by Darin Adler.

This blatantly horrible layer violation was only used to know if a ChromeClient is an empty
client or not. We already have a (slightly less horrible) way to do that.

* WebCoreSupport/ChromeClientEfl.h:
(ChromeClientEfl):

Source/WebKit/gtk:

Reviewed by Darin Adler.

This blatantly horrible layer violation was only used to know if a ChromeClient is an empty
client or not. We already have a (slightly less horrible) way to do that.

* WebCoreSupport/ChromeClientGtk.h:
(ChromeClient):

Source/WebKit/mac:

Reviewed by Darin Adler.

This blatantly horrible layer violation was only used to know if a ChromeClient is an empty
client or not. We already have a (slightly less horrible) way to do that.

* WebCoreSupport/WebChromeClient.h:
(WebChromeClient):

Source/WebKit/qt:

Reviewed by Darin Adler.

This blatantly horrible layer violation was only used to know if a ChromeClient is an empty
client or not. We already have a (slightly less horrible) way to do that.

* WebCoreSupport/ChromeClientQt.h:
(ChromeClientQt):

Source/WebKit/win:

Reviewed by Darin Adler.

This blatantly horrible layer violation was only used to know if a ChromeClient is an empty
client or not. We already have a (slightly less horrible) way to do that.

* WebCoreSupport/WebChromeClient.h:
(WebChromeClient):

Source/WebKit/wince:

Reviewed by Darin Adler.

This blatantly horrible layer violation was only used to know if a ChromeClient is an empty
client or not. We already have a (slightly less horrible) way to do that.

* WebCoreSupport/ChromeClientWinCE.h:
(ChromeClientWinCE):

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

6 years agoUnreviewed, addressing test-webkitpy failures after r150317.
zandobersek@gmail.com [Sun, 19 May 2013 18:40:28 +0000 (18:40 +0000)]
Unreviewed, addressing test-webkitpy failures after r150317.

* Scripts/webkitpy/w3c/test_converter.py:
(W3CTestConverter.read_webkit_prefixed_css_property_list): CssPropertyNames.in doesn't exist, but CSSPropertyNames.in does.

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

6 years agoEliminate the Editor::newGeneralClipboard function
darin@apple.com [Sun, 19 May 2013 15:40:16 +0000 (15:40 +0000)]
Eliminate the Editor::newGeneralClipboard function
https://bugs.webkit.org/show_bug.cgi?id=116410

Reviewed by Andreas Kling.

This is one of the clean-ups made possible by the changes to the DOM clipboard class.
I had been waiting until all the platforms were moved over to it, but it turns out to be
easy to do this now, just with #ifdefs.

* PlatformBlackBerry.cmake: Deleted EditorBlackBerry.cpp.

* editing/Editor.cpp:
(WebCore::Editor::dispatchCPPEvent): Call Clipboard::createForCopyAndPaste directly when
using the new version of the Clipboard class. Also some small style cleanup nearby.

* editing/blackberry/EditorBlackBerry.cpp: Removed. The only function in this file was
newGeneralClipboard.

* editing/mac/EditorMac.mm: Deleted newGeneralClipboard.
* platform/efl/ClipboardEfl.cpp: Ditto.
* platform/gtk/ClipboardGtk.cpp: Ditto.

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

6 years agoGtkSelectionData length is off by one
mrobinson@webkit.org [Sun, 19 May 2013 14:56:07 +0000 (14:56 +0000)]
GtkSelectionData length is off by one
https://bugs.webkit.org/show_bug.cgi?id=113962

Reviewed by Anders Carlsson.

No new tests. Since drag data is interpreted as a null-terminated string
this is difficult to test with a C program and we have no infrastructure
built for using GIR tests.

* platform/gtk/PasteboardHelper.cpp:
(WebCore::PasteboardHelper::fillSelectionData): Instead of including the null
character in the paste data length, just include the string. This matches the behavior
of Firefox.

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

6 years agoHoist several chunks of code at the top of RenderLayer::paintLayerContents() onto...
simon.fraser@apple.com [Sun, 19 May 2013 03:01:05 +0000 (03:01 +0000)]
Hoist several chunks of code at the top of RenderLayer::paintLayerContents() onto new functions
https://bugs.webkit.org/show_bug.cgi?id=116406

Reviewed by Andreas Kling.

RenderLayer::paintLayerContents() was getting polluted with code related to filters,
clipping and font subpixel quantization, and hard to follow.

Move three hunks of code into new functions:
setupFontSubpixelQuantization() now contains the code related to whether we disable
font subpixel quantization on the context.
setupClipPath() now contains code related to clipping to shapes and references.
setupFilters() and applyFilters() contain code related to CSS filters.

As part of this, the interaction with FilterEffectRendererHelper was simplified.
It was convenient for setupFilters() to return a FilterEffectRendererHelper object
if successful, so we use an OwnPtr<FilterEffectRendererHelper> now. In addition,
the GraphicsContext swapping was moved from FilterEffectRendererHelper code into RenderLayer
to make it easier to follow. FilterEffectRendererHelper no longer holds on to
the old GraphicsContext.

No behavior change.

* rendering/FilterEffectRenderer.cpp:
(WebCore::FilterEffectRendererHelper::filterContext):
(WebCore::FilterEffectRendererHelper::beginFilterEffect):
(WebCore::FilterEffectRendererHelper::applyFilterEffect):
* rendering/FilterEffectRenderer.h:
(WebCore::FilterEffectRendererHelper::FilterEffectRendererHelper):
(WebCore::FilterEffectRendererHelper::hasStartedFilterEffect):
(FilterEffectRendererHelper):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::setupFontSubpixelQuantization):
(WebCore::RenderLayer::setupClipPath):
(WebCore::RenderLayer::setupFilters):
(WebCore::RenderLayer::applyFilters):
(WebCore::RenderLayer::paintLayerContents):
* rendering/RenderLayer.h:

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

6 years agoRefactor RenderStyle::diff()
simon.fraser@apple.com [Sun, 19 May 2013 03:00:31 +0000 (03:00 +0000)]
Refactor RenderStyle::diff()
https://bugs.webkit.org/show_bug.cgi?id=116397

Reviewed by Andreas Kling.

RenderStyle::diff() was prone to being changed incorrectly, since there was
a poorly documented ordering requirement: style changes that cause layout
have to be detected before those that cause only repainting.

In addition, the existing code made it impossible to separately ask whether
a given style change requires a repaint, if we've already detected that it
requires a positioned-movement-only layout.

Fix by factoring the code into member functions that check for each type
of style change.

No behavior change.

* rendering/style/RenderStyle.cpp:
(WebCore::positionChangeIsMovementOnly):
(WebCore::RenderStyle::changeRequiresLayout):
(WebCore::RenderStyle::changeRequiresPositionedLayoutOnly):
(WebCore::RenderStyle::changeRequiresLayerRepaint):
(WebCore::RenderStyle::changeRequiresRepaint):
(WebCore::RenderStyle::changeRequiresRepaintIfText):
(WebCore::RenderStyle::changeRequiresRecompositeLayer):
(WebCore::RenderStyle::diff):
* rendering/style/RenderStyle.h:

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

6 years agosvg/batik tests are flakey.
simon.fraser@apple.com [Sun, 19 May 2013 02:40:58 +0000 (02:40 +0000)]
svg/batik tests are flakey.
webkit.org/b/116398

* platform/mac/TestExpectations:

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

6 years agoSimplify the StorageArea setter functions
andersca@apple.com [Sun, 19 May 2013 00:06:45 +0000 (00:06 +0000)]
Simplify the StorageArea setter functions
https://bugs.webkit.org/show_bug.cgi?id=116402

Reviewed by Sam Weinig.

Source/WebCore:

Move more security checking code to Storage so more code can be shared between WebKit1 and WebKit2.

* inspector/InspectorDOMStorageAgent.cpp:
(WebCore::InspectorDOMStorageAgent::setDOMStorageItem):
(WebCore::InspectorDOMStorageAgent::removeDOMStorageItem):
* storage/Storage.cpp:
(WebCore::Storage::setItem):
(WebCore::Storage::removeItem):
(WebCore::Storage::clear):
* storage/StorageArea.h:
(StorageArea):
* storage/StorageAreaImpl.cpp:
(WebCore::StorageAreaImpl::setItem):
(WebCore::StorageAreaImpl::removeItem):
(WebCore::StorageAreaImpl::clear):
* storage/StorageAreaImpl.h:
(StorageAreaImpl):

Source/WebKit2:

Remove security checking code that lives in Storage now.

* WebProcess/Storage/StorageAreaImpl.cpp:
(WebKit::StorageAreaImpl::setItem):
(WebKit::StorageAreaImpl::removeItem):
(WebKit::StorageAreaImpl::clear):
* WebProcess/Storage/StorageAreaImpl.h:

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

6 years agoFix some builds.
weinig@apple.com [Sat, 18 May 2013 23:40:12 +0000 (23:40 +0000)]
Fix some builds.

* UIProcess/API/mac/WKTypeRefWrapper.mm:

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

6 years agoREGRESSION(r150305): WebKit2 build broken with INDEXED_DATABASE enabled
mrobinson@webkit.org [Sat, 18 May 2013 23:15:12 +0000 (23:15 +0000)]
REGRESSION(r150305): WebKit2 build broken with INDEXED_DATABASE enabled
https://bugs.webkit.org/show_bug.cgi?id=116389

Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2013-05-18
Reviewed by Martin Robinson.

There's no longer WebKeyValueStorageManager in the web process
after r150305.

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

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

6 years agoAdd a way to pass WebKit2 WKTypeRefs in Objective-C style user data messages
weinig@apple.com [Sat, 18 May 2013 22:41:42 +0000 (22:41 +0000)]
Add a way to pass WebKit2 WKTypeRefs in Objective-C style user data messages
https://bugs.webkit.org/show_bug.cgi?id=116345

Reviewed by Anders Carlsson.

In order to efficiently send a WKImageRef to another process when using the
Objective-C WKConnection (or other user data messages), we need a way to encode
WKTypeRefs in the objective-c object graph. Thus was born WKTypeRefWrapper.

* Shared/mac/ObjCObjectGraphCoders.mm:
(WebKit::typeFromObject):
(WebKit::WebContextObjCObjectGraphEncoderImpl::encode):
(WebKit::WebContextObjCObjectGraphDecoderImpl::decode):
(WebKit::InjectedBundleObjCObjectGraphEncoderImpl::encode):
(WebKit::InjectedBundleObjCObjectGraphDecoderImpl::decode):
* UIProcess/API/mac/WKTypeRefWrapper.h: Added.
* UIProcess/API/mac/WKTypeRefWrapper.mm: Added.
(-[WKTypeRefWrapper initWithObject:]):
(-[WKTypeRefWrapper object]):
* WebKit2.xcodeproj/project.pbxproj:

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

6 years agoSimplify StorageArea getter functions
andersca@apple.com [Sat, 18 May 2013 22:11:11 +0000 (22:11 +0000)]
Simplify StorageArea getter functions
https://bugs.webkit.org/show_bug.cgi?id=116399

Reviewed by Sam Weinig.

Source/WebCore:

Move the security and private browsing checks from StorageArea to Storage so we can share
more code between WebKit1 and WebKit2.

* inspector/InspectorDOMStorageAgent.cpp:
(WebCore::InspectorDOMStorageAgent::getDOMStorageItems):
Update to new StorageArea interface. The security checks are unnecessary here anyway because
InspectorDOMStorageAgent::findStorageArea will only return a StorageArea that can be accessed
by the frame's security origin.

* storage/Storage.cpp:
(WebCore::Storage::key):
(WebCore::Storage::getItem):
(WebCore::Storage::contains):
* storage/StorageArea.h:
(StorageArea):
* storage/StorageAreaImpl.cpp:
(WebCore::StorageAreaImpl::key):
(WebCore::StorageAreaImpl::item):
(WebCore::StorageAreaImpl::contains):
* storage/StorageAreaImpl.h:
(StorageAreaImpl):

Source/WebKit2:

Remove security and private browsing checks.

* WebProcess/Storage/StorageAreaImpl.cpp:
(WebKit::StorageAreaImpl::key):
(WebKit::StorageAreaImpl::item):
(WebKit::StorageAreaImpl::contains):
* WebProcess/Storage/StorageAreaImpl.h:

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

6 years agoAdd a performance test for copying
rniwa@webkit.org [Sat, 18 May 2013 19:27:29 +0000 (19:27 +0000)]
Add a performance test for copying
https://bugs.webkit.org/show_bug.cgi?id=116394

Reviewed by Andreas Kling.

Added. We're going to skip this test by default since it's such a microbenchmark, and also because
it currently takes 30 minutes to run. As insane as it sounds, each copy takes rouhgly 57 seconds.

Running Interactive/CopyAll.html (1 of 1)
RESULT Interactive: CopyAll: Time= 57618.05 ms
median= 57135.0 ms, stdev= 1542.07271571 ms, min= 55095.0 ms, max= 60913.0 ms
RESULT Interactive: CopyAll: JSHeap= 102811.2 bytes
median= 103272.0 bytes, stdev= 1115.28148913 bytes, min= 100648.0 bytes, max= 103504.0 bytes
RESULT Interactive: CopyAll: Malloc= 446408712.0 bytes
median= 459156772.0 bytes, stdev= 20007346.3266 bytes, min= 415564040.0 bytes, max= 462011928.0 bytes
Finished: 1766.883236 s

* Interactive/CopyAll.html: Added.
* Skipped:

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

6 years agoGarbage on page background while http://canberraballoons.com.au is loading
simon.fraser@apple.com [Sat, 18 May 2013 19:09:07 +0000 (19:09 +0000)]
Garbage on page background while canberraballoons.com.au is loading
https://bugs.webkit.org/show_bug.cgi?id=116384
<rdar://problem/13930328>

Reviewed by Dan Bernstein.

This page loads a large JPEG image as the body background.
ImageSource::frameHasAlphaAtIndex() always claims that JPEG images
are opaque, but this isn't true if the frame is only partially loaded.
However, this would cause FillLayer::hasOpaqueImage() to report that the
background image is opaque, so we'd skip painting the background color.
Unpainted content in an opaque layer results in garbage.

Fix by having ImageSource::frameHasAlphaAtIndex() always return true
for frames that are not complete. When the image load completes, we
recompute metadata and correctly determine that the frame is opaque.

* platform/graphics/cg/ImageSourceCG.cpp:
(WebCore::ImageSource::frameHasAlphaAtIndex):

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

6 years agoSimplify EventLoop::cycle() on Mac.
timothy@apple.com [Sat, 18 May 2013 16:06:53 +0000 (16:06 +0000)]
Simplify EventLoop::cycle() on Mac.

https://webkit.org/b/116392

Reviewed by Anders Carlsson.

* platform/mac/EventLoopMac.mm:
(WebCore::EventLoop::cycle): Use CFRunLoopRunInMode instead.

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

6 years agoUse CSSParserSelector::appendTagHistory() from CSS grammar.
akling@apple.com [Sat, 18 May 2013 15:02:57 +0000 (15:02 +0000)]
Use CSSParserSelector::appendTagHistory() from CSS grammar.
<http://webkit.org/b/116382>

Reviewed by Antti Koivisto.

CSSParserSelector already knows how to append another component to itself,
no need to duplicate that logic in the grammar.

* css/CSSGrammar.y.in:

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

6 years ago[CMake] Replace *_LIBRARY_NAME with *_OUTPUT_NAME
paroga@webkit.org [Sat, 18 May 2013 11:36:50 +0000 (11:36 +0000)]
[CMake] Replace *_LIBRARY_NAME with *_OUTPUT_NAME
https://bugs.webkit.org/show_bug.cgi?id=114554

Reviewed by Gyuyoung Kim.

Using variables as target names is very uncommon in CMake.
The usual way to specify the name of the resulting binary
is to set the OUTPUT_NAME target property.

.:

* CMakeLists.txt:
* Source/CMakeLists.txt:
* Source/PlatformEfl.cmake:
* Source/PlatformGTK.cmake:
* Source/cmake/OptionsBlackBerry.cmake:
* Source/cmake/OptionsEfl.cmake:
* Source/cmake/OptionsGTK.cmake:
* Source/cmake/WebKitHelpers.cmake:
* Source/cmake/gtest/CMakeLists.txt:

Source/JavaScriptCore:

* CMakeLists.txt:
* shell/CMakeLists.txt:

Source/WebCore:

* CMakeLists.txt:

Source/WebKit:

* CMakeLists.txt:
* PlatformBlackBerry.cmake:
* PlatformEfl.cmake:

Source/WebKit/efl:

* ewebkit.pc.in:

Source/WebKit2:

* CMakeLists.txt:
* PlatformEfl.cmake:
* efl/ewebkit2.pc.in:

Source/WTF:

* wtf/CMakeLists.txt:

Tools:

* DumpRenderTree/efl/CMakeLists.txt:
* EWebLauncher/CMakeLists.txt:
* ImageDiff/CMakeLists.txt:
* MiniBrowser/efl/CMakeLists.txt:
* TestWebKitAPI/CMakeLists.txt:
* WebKitTestRunner/CMakeLists.txt:
* WebKitTestRunner/PlatformEfl.cmake:
* WinCELauncher/CMakeLists.txt:

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

6 years agoUnreviewed EFL build fix.
ch.dumez@sisa.samsung.com [Sat, 18 May 2013 09:14:01 +0000 (09:14 +0000)]
Unreviewed EFL build fix.

.:

Temporarily disabled INDEXED_DATABASE at compile-time as it breaks
WK2 build after r150305.

* Source/cmake/OptionsEfl.cmake:

Tools:

Temporarily disabled INDEXED_DATABASE at compile-time as it breaks
WK2 build after r150305.

* Scripts/webkitperl/FeatureList.pm:

LayoutTests:

Skip indexeddb test cases as the feature is temporarily disabled due to
r150305.

* platform/efl/TestExpectations:

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

6 years ago[GTK] Move GTK port off legacy clipboard
carlosgc@webkit.org [Sat, 18 May 2013 09:12:44 +0000 (09:12 +0000)]
[GTK] Move GTK port off legacy clipboard
https://bugs.webkit.org/show_bug.cgi?id=116221

Reviewed by Martin Robinson.

Source/WebCore:

Merge clipboard methods into PasteboardGtk that now wraps a
DataObjectGtk.

* GNUmakefile.list.am: Remove ClipboardGtk.h.
* dom/Clipboard.h: Remove GTK from the list of ports using legacy
clipboard.
* page/gtk/EventHandlerGtk.cpp:
(WebCore::EventHandler::createDraggingClipboard): Use
Clipboard::createForDragAndDrop().
* platform/Pasteboard.h:
(Pasteboard):
* platform/gtk/ClipboardGtk.cpp:
(WebCore::Editor::newGeneralClipboard): Use
Clipboard::createForCopyAndPaste().
(WebCore::Clipboard::createDragImage):
(WebCore::Clipboard::declareAndWriteDragImage):
* platform/gtk/ClipboardGtk.h: Removed.
* platform/gtk/DragDataGtk.cpp:
* platform/gtk/PasteboardGtk.cpp:
(WebCore::Pasteboard::create): Create a new Pasteboard for a given
GtkClipboard or DataObjectGtk.
(WebCore::Pasteboard::createForCopyAndPaste): Create a Pasteboard
for the GDK_SELECTION_CLIPBOARD clipboard.
(WebCore::Pasteboard::createPrivate): Create a Pasteboard without
a GtkClipboard associated.
(WebCore::Pasteboard::createForDragAndDrop): Create a Pasteboard
for drag and drop operations.
(WebCore::selectionClipboard): Return a static Pasteboard for the
GDK_SELECTION_CLIPBOARD clipboard.
(WebCore::primaryClipboard): Return a static Pasteboard for the
GDK_SELECTION_PRIMARY clipboard.
(WebCore::Pasteboard::generalPasteboard): Return
selectionClipboard() or primaryClipboard() depending on whether
primary selection clipboard is the active one or not.
(WebCore::Pasteboard::Pasteboard):
(WebCore::Pasteboard::~Pasteboard):
(WebCore::Pasteboard::dataObject): Return the wrapped DataObjectGtk.
(WebCore::dataObjectTypeFromHTMLClipboardType): Copied from
ClipboardGtk.cpp.
(WebCore::Pasteboard::writeString): Adapted to upate the wrapped
DataObjectGtk and the GtkClipboard if needed.
(WebCore::Pasteboard::writeSelection): Ditto.
(WebCore::Pasteboard::writePlainText): Ditto.
(WebCore::Pasteboard::writeURL): Ditto.
(WebCore::Pasteboard::writeImage): Ditto.
(WebCore::Pasteboard::writePasteboard): Copy the wrapped
DataObjectGtk from the DataObjectGtk of the given Pasteboard and
upsate the GtkClipboard if needed.
(WebCore::Pasteboard::clear): Copied from ClipboardGtk.cpp.
(WebCore::Pasteboard::canSmartReplace): Check if current
GtkClipboard supports smart replace.
(WebCore::Pasteboard::setDragImage):
(WebCore::Pasteboard::documentFragment): Adapted to use the
wrapped DataObjectGtk reading from the current GtkClipboard if
present.
(WebCore::Pasteboard::plainText): Ditto.
(WebCore::Pasteboard::hasData): Copied from ClipboardGtk.cpp.
(WebCore::Pasteboard::types): Ditto.
(WebCore::Pasteboard::readString): Ditto.
(WebCore::Pasteboard::readFilenames): Ditto.

Source/WebKit/gtk:

* WebCoreSupport/DragClientGtk.cpp:
(WebKit::DragClient::startDrag): Get the DataObjectGtk from the
Pasteboard associated to the given Clipboard.

Source/WebKit2:

* UIProcess/API/gtk/WebKitWebViewBase.cpp: Remove ClipboardGtk.h
include.
* WebProcess/WebCoreSupport/gtk/WebDragClientGtk.cpp:
(WebKit::WebDragClient::startDrag): Get the DataObjectGtk from the
Pasteboard associated to the given Clipboard.

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

6 years agoMac rebaseline after r148944.
rniwa@webkit.org [Sat, 18 May 2013 08:51:37 +0000 (08:51 +0000)]
Mac rebaseline after r148944.

* platform/mac/TestExpectations:
* platform/mac/fast/table/giantRowspan-expected.txt:
* platform/mac/fast/table/giantRowspan2-expected.png:
* platform/mac/fast/table/giantRowspan2-expected.txt:
* platform/mac/tables/mozilla/bugs/bug133756-1-expected.txt:
* platform/mac/tables/mozilla/bugs/bug133756-2-expected.png:
* platform/mac/tables/mozilla/bugs/bug133756-2-expected.txt:
* platform/mac/tables/mozilla/bugs/bug220536-expected.png:
* platform/mac/tables/mozilla/bugs/bug220536-expected.txt:
* platform/mac/tables/mozilla/bugs/bug8858-expected.txt:
* platform/mac/tables/mozilla/core/bloomberg-expected.png:
* platform/mac/tables/mozilla/core/bloomberg-expected.txt:
* platform/mac/tables/mozilla/core/row_span-expected.png:
* platform/mac/tables/mozilla/core/row_span-expected.txt:
* platform/mac/tables/mozilla_expected_failures/bugs/bug131020-3-expected.txt:
* platform/mac/tables/mozilla_expected_failures/bugs/bug23847-expected.png:
* platform/mac/tables/mozilla_expected_failures/bugs/bug23847-expected.txt:
* platform/mac/tables/mozilla_expected_failures/bugs/bug65372-expected.png:
* platform/mac/tables/mozilla_expected_failures/bugs/bug65372-expected.txt:

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

6 years ago[EFL][WK2] Refactor ewk_view_custom_encoding_set/get API
commit-queue@webkit.org [Sat, 18 May 2013 08:48:44 +0000 (08:48 +0000)]
[EFL][WK2] Refactor ewk_view_custom_encoding_set/get API
https://bugs.webkit.org/show_bug.cgi?id=116386

Patch by Jinwoo Song <jinwoo7.song@samsung.com> on 2013-05-18
Reviewed by Christophe Dumez.

Refactor the API to handle 'const char*' parameter in right way and
enable the unit test which was disabled in r136230 as there is no assertion now.

* UIProcess/API/efl/EwkView.cpp:
(EwkView::setCustomTextEncodingName):
* UIProcess/API/efl/EwkView.h:
(EwkView::customTextEncodingName):
(EwkView):
* UIProcess/API/efl/ewk_view.cpp:
(ewk_view_custom_encoding_set):
* UIProcess/API/efl/tests/test_ewk2_view.cpp:
(TEST_F):

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

6 years agoREGRESSION: [Mac] fast/js/post-message-numeric-property.html is flaky
rniwa@webkit.org [Sat, 18 May 2013 08:39:57 +0000 (08:39 +0000)]
REGRESSION: [Mac] fast/js/post-message-numeric-property.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=116388

Add a flaky test expectation.

* platform/mac/TestExpectations:

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

6 years agoMac Lion rebaselines after r149999 and r150260.
rniwa@webkit.org [Sat, 18 May 2013 08:34:28 +0000 (08:34 +0000)]
Mac Lion rebaselines after r149999 and r150260.

* platform/mac-lion/fast/js/global-constructors-attributes-expected.txt:
* platform/mac-lion/media/track: Added.
* platform/mac-lion/media/track/track-cue-rendering-vertical-expected.txt: Added.

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

6 years ago[CMake] Unreviewed speculative build fix after r150305 and r150306.
ossy@webkit.org [Sat, 18 May 2013 08:17:33 +0000 (08:17 +0000)]
[CMake] Unreviewed speculative build fix after r150305 and r150306.

* CMakeLists.txt:

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

6 years ago[Qt] REGRESSION(r150227): It made zillion tests crash under PlatformStrategiesQt...
ossy@webkit.org [Sat, 18 May 2013 08:11:48 +0000 (08:11 +0000)]
[Qt] REGRESSION(r150227): It made zillion tests crash under PlatformStrategiesQt::getPluginInfo
https://bugs.webkit.org/show_bug.cgi?id=116289

Patch by Tim Horton <timothy_horton@apple.com> on 2013-05-18
Reviewed by Csaba Osztrogonác.

Don't try to static cast something that isn't a ChromeClientQt to ChromeClientQt.
It's actually SVGImage's EmptyChromeClient-derived client (or other such things).

* WebCoreSupport/PlatformStrategiesQt.cpp:
(PlatformStrategiesQt::getPluginInfo):

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

6 years ago[Qt][WK2] Unreviewed build fix after r150305 and r150306.
ossy@webkit.org [Sat, 18 May 2013 07:33:44 +0000 (07:33 +0000)]
[Qt][WK2] Unreviewed build fix after r150305 and r150306.

* DerivedSources.pri:
* Target.pri:

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

6 years ago[GTK] Parallel build fails if gtk-doc is enabled
commit-queue@webkit.org [Sat, 18 May 2013 07:19:37 +0000 (07:19 +0000)]
[GTK] Parallel build fails if gtk-doc is enabled
https://bugs.webkit.org/show_bug.cgi?id=116227

Patch by Alberto Garcia <agarcia@igalia.com> on 2013-05-18
Reviewed by Martin Robinson.

.:

* GNUmakefile.am:
Define an empty noinst_DATA variable where other automake files
can add additional objects to be built.

Source/WebCore:

* GNUmakefile.am:
Don't overwrite noinst_DATA, modify its existing value instead.

Tools:

* GNUmakefile.am:
Don't use the 'all' target to generate the documentation.
The prerequisites of this target must be files that need to be
built _before_ the actual compilation of WebKit starts. Since the
documentation depends on WebKit being built first, this means in
practice that the code will be built in parallel with the
generation of its dependencies, potentially making the build fail.

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

6 years agoUnreviewed build fix for the GTK port after r150305 and r150306.
zandobersek@gmail.com [Sat, 18 May 2013 07:12:01 +0000 (07:12 +0000)]
Unreviewed build fix for the GTK port after r150305 and r150306.

* GNUmakefile.list.am:

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

6 years agoDon't run hg.
rniwa@webkit.org [Sat, 18 May 2013 04:50:06 +0000 (04:50 +0000)]
Don't run hg.

* Scripts/webkitpy/w3c/test_importer_unittest.py:
(TestImporterTest):

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

6 years ago <rdar://problem/13819878> Disable SharedWorker when in multiple web process...
ap@apple.com [Sat, 18 May 2013 04:23:45 +0000 (04:23 +0000)]
    <rdar://problem/13819878> Disable SharedWorker when in multiple web process model
        https://bugs.webkit.org/show_bug.cgi?id=116359

        The condition was accidentally negated, fixing.

        * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
        (WebKit::WebPlatformStrategies::isAvailable):

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

6 years agoCSSParser parsing of CSSPropertyFontStretch falls into CSSPropertyGeometry
michelangelo@webkit.org [Sat, 18 May 2013 04:11:30 +0000 (04:11 +0000)]
CSSParser parsing of CSSPropertyFontStretch falls into CSSPropertyGeometry
https://bugs.webkit.org/show_bug.cgi?id=116370

CSSPropertyFontStretch mistakenly fell through the shader parsing logic.

Reviewed by Alexandru Chiculita.

No new test possible, the feature is not implemented nor exposed.

* css/CSSParser.cpp:
(WebCore::CSSParser::parseValue):

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

6 years agoForce the script debug server to continue when disabling the debugger.
timothy@apple.com [Sat, 18 May 2013 03:12:01 +0000 (03:12 +0000)]
Force the script debug server to continue when disabling the debugger.

There might be some cases where the debugger will stay in the nested run loop
which cause weird issues.

Speculative fix for: https://webkit.org/b/111438

Reviewed by Joseph Pecoraro.

* inspector/InspectorDebuggerAgent.cpp:
(WebCore::InspectorDebuggerAgent::disable):

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

6 years ago[BlackBerry] Get BlackBerry port off legacy clipboard
darin@apple.com [Sat, 18 May 2013 02:58:53 +0000 (02:58 +0000)]
[BlackBerry] Get BlackBerry port off legacy clipboard
https://bugs.webkit.org/show_bug.cgi?id=116287

Reviewed by Rob Buis.

* PlatformBlackBerry.cmake: Removed ClipboardBlackBerry.cpp.

* dom/Clipboard.h: Removed BLACKBERRY from the list of platforms that
use the legacy clipboard.

* editing/blackberry/EditorBlackBerry.cpp:
(WebCore::Editor::newGeneralClipboard): Changed to just create a copy
and paste clipboard.

* page/blackberry/EventHandlerBlackBerry.cpp: Removed a drag-related
function that wasn't doing any good.

* platform/blackberry/ClipboardBlackBerry.cpp: Removed.
* platform/blackberry/ClipboardBlackBerry.h: Removed.

* platform/blackberry/PasteboardBlackBerry.cpp:
(WebCore::Pasteboard::createForCopyAndPaste): Added.
(WebCore::Pasteboard::createPrivate): Added.
(WebCore::Pasteboard::hasData): Added. Moved code here from ClipboardBlackBerry.cpp.
(WebCore::Pasteboard::clear): Ditto.
(WebCore::Pasteboard::readString): Ditto.
(WebCore::Pasteboard::writeString): Ditto.
(WebCore::Pasteboard::types): Ditto.
(WebCore::Pasteboard::readFilenames): Ditto.

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

6 years agoAds on theverge.com cause repaints when hovered, even though content doesn't visibly...
akling@apple.com [Sat, 18 May 2013 02:56:20 +0000 (02:56 +0000)]
Ads on theverge.com cause repaints when hovered, even though content doesn't visibly change.
<http://webkit.org/b/116344>

Reviewed by Darin Adler.

Teach RenderStyle::diff() to ignore differences in the outline value if both styles have non-visible outlines.

* rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::diff):
* rendering/style/StyleBackgroundData.cpp:
(WebCore::StyleBackgroundData::isEquivalentForPainting):
* rendering/style/StyleBackgroundData.h:
(StyleBackgroundData):

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

6 years agoCreate a script to import W3C tests
dpranke@chromium.org [Sat, 18 May 2013 02:40:37 +0000 (02:40 +0000)]
Create a script to import W3C tests
https://bugs.webkit.org/show_bug.cgi?id=111513

Reviewed by Ryosuke Niwa.

This patch attempts to re-land the 'import-w3c-tests'
script and accompanying modules.  The tests and code have
been cleaned up so that we do not log anything to stdout/stderr
while running the tests (thanks to outputcapture) and do not
write into the source tree while running the tests, and much
but not all of the code has been converted over to using the webkitpy

* Scripts/import-w3c-tests: Added.
* Scripts/webkitpy/w3c/__init__.py: Added.
* Scripts/webkitpy/w3c/test_converter.py: Added.
(W3CTestConverter):
(W3CTestConverter.__init__):
(W3CTestConverter.path_from_webkit_root):
(W3CTestConverter.read_webkit_prefixed_css_property_list):
(W3CTestConverter.convert_for_webkit):
(W3CTestConverter.convert_css):
(W3CTestConverter.convert_html):
(W3CTestConverter.convert_testharness_paths):
(W3CTestConverter.convert_prefixed_properties):
(W3CTestConverter.add_webkit_prefix_to_unprefixed_properties):
(W3CTestConverter.replace_tag):
* Scripts/webkitpy/w3c/test_converter_unittest.py: Added.
(W3CTestConverterTest):
(W3CTestConverterTest.fake_dir_path):
(W3CTestConverterTest.test_read_prefixed_property_list):
(W3CTestConverterTest.test_convert_for_webkit_nothing_to_convert):
(test_convert_for_webkit_harness_only):
(test_convert_for_webkit_properties_only):
(test_convert_for_webkit_harness_and_properties):
(test_convert_test_harness_paths):
(test_convert_prefixed_properties):
(verify_conversion_happened):
(verify_no_conversion_happened):
(verify_test_harness_paths):
(verify_prefixed_properties):
(generate_test_content):
* Scripts/webkitpy/w3c/test_importer.py: Added.
(main):
(parse_args):
(validate_import_directory):
(TestImporter):
(TestImporter.__init__):
(TestImporter.path_from_webkit_root):
(TestImporter.do_import):
(TestImporter.load_changeset):
(TestImporter.find_importable_tests):
(TestImporter.import_tests):
(TestImporter.setup_destination_directory):
(TestImporter.update_test_status):
(TestImporter.remove_deleted_files):
(TestImporter.write_import_log):
* Scripts/webkitpy/w3c/test_importer_unittest.py: Added.
(TestImporterTest):
(TestImporterTest.test_import_dir_with_no_tests):
* Scripts/webkitpy/w3c/test_parser.py: Added.
(TestParser):
(TestParser.__init__):
(TestParser.load_file):
(TestParser.analyze_test):
(TestParser.reference_links_of_type):
(TestParser.is_jstest):
(TestParser.support_files):
* Scripts/webkitpy/w3c/test_parser_unittest.py: Added.
(TestParserTest):
(TestParserTest.test_analyze_test_reftest_one_match):
(test_analyze_test_reftest_multiple_matches):
(test_analyze_test_reftest_match_and_mismatch):
(test_analyze_test_reftest_with_ref_support_Files):
(test_analyze_jstest):
(test_analyze_pixel_test_all_true):
(test_analyze_pixel_test_all_false):
(test_analyze_non_html_file):

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

6 years agoPlug leak in CSSSelectorList::deleteSelectors().
akling@apple.com [Sat, 18 May 2013 02:28:25 +0000 (02:28 +0000)]
Plug leak in CSSSelectorList::deleteSelectors().
<http://webkit.org/b/116371>
<rdar://problem/13930698>

Reviewed by Ryosuke Niwa.

Don't forget to destroy the very last selector in the list.

* css/CSSSelectorList.cpp:
(WebCore::CSSSelectorList::deleteSelectors):

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

6 years agoOne more Mac rebaseline.
rniwa@webkit.org [Sat, 18 May 2013 02:21:18 +0000 (02:21 +0000)]
One more Mac rebaseline.

* platform/mac/fast/dom/HTMLInputElement/input-image-alt-text-expected.png:
* platform/mac/fast/dom/HTMLInputElement/input-image-alt-text-expected.txt:

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

6 years agoOnly allow 1 WebProcess to hold a PageCache
barraclough@apple.com [Sat, 18 May 2013 01:13:44 +0000 (01:13 +0000)]
Only allow 1 WebProcess to hold a PageCache
https://bugs.webkit.org/show_bug.cgi?id=116368
<rdar://problem/13392600>

Reviewed by Geoff Garen & Anders Carlson.

* UIProcess/WebContext.cpp:
(WebKit::WebContext::WebContext):
(WebKit::WebContext::processDidSaveToPageCache):
(WebKit):
(WebKit::WebContext::disconnectProcess):
* UIProcess/WebContext.h:
    - Added m_processWithPageCache, only allow one process to keep a PageCache.
(WebContext):
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::didSaveToPageCache):
(WebKit):
* UIProcess/WebPageProxy.h:
(WebPageProxy):
* UIProcess/WebPageProxy.messages.in:
    - Forward didSaveToPageCache to the WebProcessProxy.
* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::addBackForwardItem):
(WebKit::WebProcessProxy::didSaveToPageCache):
(WebKit):
(WebKit::WebProcessProxy::releasePageCache):
    - Forward releasePageCache to the WebProcess.
    - Forward didSaveToPageCache to the WebContext.
* UIProcess/WebProcessProxy.h:
(WebProcessProxy):
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::didSaveToPageCache):
    - Forward didSaveToPageCache to the WebPageProxy.
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::releasePageCache):
(WebKit):
* WebProcess/WebProcess.h:
(WebProcess):
* WebProcess/WebProcess.messages.in:
    - Added 'ReleasePageCache' to instruct a web process to drop any cached pages.

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

6 years agoShare code between WebKit1 and WebKit2 StorageArea subclasses
andersca@apple.com [Sat, 18 May 2013 01:04:53 +0000 (01:04 +0000)]
Share code between WebKit1 and WebKit2 StorageArea subclasses
https://bugs.webkit.org/show_bug.cgi?id=116367

Reviewed by Andreas Kling.

Source/WebCore:

* inspector/InspectorDOMStorageAgent.cpp:
(WebCore::InspectorDOMStorageAgent::getDOMStorageItems):
Remove ec parameter.

* inspector/InspectorDOMStorageAgent.h:
Add forward declaration.

* page/DOMWindow.cpp:
(WebCore::DOMWindow::sessionStorage):
(WebCore::DOMWindow::localStorage):
Storage::StorageArea returns a reference now.

* storage/Storage.cpp:
(WebCore::Storage::length):
Check that the storage area can be accessed by the frame, and that it's not disabled by private browsing.
Then call down to the (now simplified) StorageArea::length().

(WebCore::Storage::isDisabledByPrivateBrowsing):
New helper function that's based on StorageAreaImpl::disabledByPrivateBrowsingInFrame, but reordered
to make it easier to follow.

* storage/Storage.h:
(WebCore::Storage::area):
Return a reference.

* storage/StorageAreaImpl.cpp:
(WebCore::StorageAreaImpl::storageType):
Add this new virtual member funciton that's needed by Storage::isDisabledByPrivateBrowsing.

(WebCore::StorageAreaImpl::length):
Remove unneeded code.

Source/WebKit2:

* WebProcess/Storage/StorageAreaImpl.cpp:
(WebKit::StorageAreaImpl::length):
Remove code that's now in Storage::length.

(WebKit::StorageAreaImpl::storageType):
Make this a virtual member function.

* WebProcess/Storage/StorageAreaImpl.h:

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