WebKit-https.git
8 years agoWeb Inspector: Do not dispatch mousemove when emulating touch event and no touch...
apavlov@chromium.org [Mon, 21 Jan 2013 12:06:57 +0000 (12:06 +0000)]
Web Inspector: Do not dispatch mousemove when emulating touch event and no touch is active
https://bugs.webkit.org/show_bug.cgi?id=107419

Reviewed by Pavel Feldman.

Source/WebCore:

mousemove event should not be dispatched when emulating touch events and mouse button is not pressed

* page/EventHandler.cpp:
(WebCore::EventHandler::dispatchSyntheticTouchEventIfEnabled):

LayoutTests:

* fast/events/touch/emulate-touch-events.html: Test that mousemove is dispatched not more than once
  and reset the touch event emulation flag in window.internals.settings upon test completion.
* fast/events/touch/emulated-touch-iframe.html:
  Reset the touch event emulation flag in window.internals.settings upon test completion.

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

8 years agoWeb Inspector: fix highlight bug in DTE.
commit-queue@webkit.org [Mon, 21 Jan 2013 11:54:00 +0000 (11:54 +0000)]
Web Inspector: fix highlight bug in DTE.
https://bugs.webkit.org/show_bug.cgi?id=107433

Patch by Andrey Lushnikov <lushnikov@chromium.org> on 2013-01-21
Reviewed by Pavel Feldman.

Source/WebCore:

Do not re-create |state.ranges| array when it already contains highlight.

Test: inpector/editor/highlighter-chunk-limit.txt

* inspector/front-end/TextEditorHighlighter.js:
(WebInspector.TextEditorHighlighter.prototype._highlightLines):

LayoutTests:

Add a layout test to cover highlight bug specific situation.

* inspector/editor/highlighter-chunk-limit-expected.txt: Added.
* inspector/editor/highlighter-chunk-limit.html: Added.

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

8 years ago[Qt] Unreviewed gardening. Skip some failing.
kadam@inf.u-szeged.hu [Mon, 21 Jan 2013 11:33:54 +0000 (11:33 +0000)]
[Qt] Unreviewed gardening. Skip some failing.

* platform/qt/TestExpectations:
* platform/qt/editing/input/caret-at-the-edge-of-contenteditable-expected.png: Update after r140202.
* platform/qt/editing/input/caret-at-the-edge-of-contenteditable-expected.txt: Update after r140202.
* platform/qt/editing/input/reveal-caret-of-multiline-contenteditable-expected.png: Update after r140202.
* platform/qt/editing/input/reveal-caret-of-multiline-contenteditable-expected.txt: Update after r140202.

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

8 years ago[chromium] move methods interacting with willSendRequest to TestRunner
jochen@chromium.org [Mon, 21 Jan 2013 11:16:22 +0000 (11:16 +0000)]
[chromium] move methods interacting with willSendRequest to TestRunner
https://bugs.webkit.org/show_bug.cgi?id=107270

Reviewed by Kent Tamura.

* DumpRenderTree/chromium/DRTTestRunner.cpp:
(DRTTestRunner::DRTTestRunner):
(DRTTestRunner::waitForPolicyDelegate):
* DumpRenderTree/chromium/DRTTestRunner.h:
(DRTTestRunner):
* DumpRenderTree/chromium/TestRunner/public/WebTestRunner.h:
(WebTestRunner::WebTestRunner::shouldStayOnPageAfterHandlingBeforeUnload):
(WebTestRunner::WebTestRunner::httpHeadersToClear):
(WebTestRunner::WebTestRunner::shouldBlockRedirects):
(WebTestRunner::WebTestRunner::willSendRequestShouldReturnNull):
* DumpRenderTree/chromium/TestRunner/src/TestRunner.cpp:
(WebTestRunner::TestRunner::TestRunner):
(WebTestRunner::TestRunner::reset):
(WebTestRunner::TestRunner::httpHeadersToClear):
(WebTestRunner):
(WebTestRunner::TestRunner::shouldBlockRedirects):
(WebTestRunner::TestRunner::willSendRequestShouldReturnNull):
(WebTestRunner::TestRunner::setWillSendRequestClearHeader):
(WebTestRunner::TestRunner::setWillSendRequestReturnsNullOnRedirect):
(WebTestRunner::TestRunner::setWillSendRequestReturnsNull):
* DumpRenderTree/chromium/TestRunner/src/TestRunner.h:
(TestRunner):
* DumpRenderTree/chromium/TestRunner/src/WebTestProxy.cpp:
(WebTestRunner::WebTestProxyBase::willSendRequest):
* DumpRenderTree/chromium/WebViewHost.cpp:
(WebViewHost::willSendRequest):
(WebViewHost::reset):
* DumpRenderTree/chromium/WebViewHost.h:
(WebViewHost):

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

8 years ago[GTK] Stop building WebKit2 on GTK EWSs
zandobersek@gmail.com [Mon, 21 Jan 2013 11:10:27 +0000 (11:10 +0000)]
[GTK] Stop building WebKit2 on GTK EWSs
https://bugs.webkit.org/show_bug.cgi?id=107435

Reviewed by Philippe Normand.

The WebKit2 build of the GTK is at the moment not efficiently maintainable,
so stop building it on GTK EWSs.

* Scripts/webkitpy/common/config/ports.py:
(GtkPort.build_webkit_command):
* Scripts/webkitpy/common/config/ports_unittest.py:
(DeprecatedPortTest.test_gtk_port):

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

8 years ago[Refactoring] rename StyleRuleBlock -> StyleRuleGroup
tasak@google.com [Mon, 21 Jan 2013 10:33:19 +0000 (10:33 +0000)]
[Refactoring] rename StyleRuleBlock -> StyleRuleGroup
https://bugs.webkit.org/show_bug.cgi?id=107415

Reviewed by Antti Koivisto.

StyleRuleBlock should be renamed StyleRuleGroup, because
CSSGroupingRule (not CSSBlockRule) is an interface for an at-rule that
contains other rules nested inside itself:
http://www.w3.org/TR/2012/WD-css3-conditional-20121213/#the-cssgroupingrule-interface
To match the name: CSSGroupingRule, StyleRuleGroup looks better.

No new tests, because just refactoring.

* css/CSSGroupingRule.cpp:
(WebCore::CSSGroupingRule::CSSGroupingRule):
(WebCore::CSSGroupingRule::reattach):
* css/CSSGroupingRule.h:
(CSSGroupingRule):
* css/StyleRule.cpp:
(WebCore::StyleRuleGroup::StyleRuleGroup):
(WebCore::StyleRuleGroup::wrapperInsertRule):
(WebCore::StyleRuleGroup::wrapperRemoveRule):
(WebCore::StyleRuleGroup::reportDescendantMemoryUsage):
(WebCore::StyleRuleMedia::StyleRuleMedia):
(WebCore::StyleRuleSupports::StyleRuleSupports):
(WebCore::StyleRuleRegion::StyleRuleRegion):
* css/StyleRule.h:
(StyleRuleGroup):
(WebCore::StyleRuleHost::StyleRuleHost):
(WebCore::toStyleRuleMedia):
(WebCore::toStyleRuleSupports):
(WebCore::toStyleRuleRegion):
Just replaced StyleRuleBlock with StyleRuleGroup.

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

8 years agoImplement MediaStreamEvent constructor
haraken@chromium.org [Mon, 21 Jan 2013 10:12:03 +0000 (10:12 +0000)]
Implement MediaStreamEvent constructor
https://bugs.webkit.org/show_bug.cgi?id=107411

Reviewed by Hajime Morita.

Fixed wrong test cases.

* fast/events/constructors/media-stream-event-constructor-expected.txt:
* fast/events/constructors/media-stream-event-constructor.html:

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

8 years agoWeb Inspector: refactoring to use string as argument for highlightRegex API
commit-queue@webkit.org [Mon, 21 Jan 2013 09:53:19 +0000 (09:53 +0000)]
Web Inspector: refactoring to use string as argument for highlightRegex API
https://bugs.webkit.org/show_bug.cgi?id=107243

Patch by Andrey Lushnikov <lushnikov@chromium.org> on 2013-01-21
Reviewed by Pavel Feldman.

Source/WebCore:

Use string as argument for highlightRegex API instead of using regex object.

No new tests: no change in behaviour.

* inspector/front-end/DefaultTextEditor.js:
(WebInspector.TextEditorMainPanel.prototype.highlightRegex):
* inspector/front-end/TextEditor.js:

LayoutTests:

Correct test to correspond to refactoring changes.

* inspector/editor/text-editor-highlight-regexp.html:

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

8 years agoUnreviewed, rolling out r140311.
commit-queue@webkit.org [Mon, 21 Jan 2013 09:33:05 +0000 (09:33 +0000)]
Unreviewed, rolling out r140311.
http://trac.webkit.org/changeset/140311
https://bugs.webkit.org/show_bug.cgi?id=107431

Broke selection-related tests (Requested by apavlov on
#webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2013-01-21

Source/WebCore:

* page/EventHandler.cpp:
(WebCore::EventHandler::dispatchSyntheticTouchEventIfEnabled):

LayoutTests:

* fast/events/touch/emulate-touch-events.html:

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

8 years agoUnreviewed. Build fix.
haraken@chromium.org [Mon, 21 Jan 2013 09:11:58 +0000 (09:11 +0000)]
Unreviewed. Build fix.

* bindings/v8/V8NPObject.cpp:
(WebCore::createV8ObjectForNPObject):

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

8 years agoWeb Inspector: Do not dispatch mousemove when emulating touch event and no touch...
apavlov@chromium.org [Mon, 21 Jan 2013 08:49:54 +0000 (08:49 +0000)]
Web Inspector: Do not dispatch mousemove when emulating touch event and no touch is active
https://bugs.webkit.org/show_bug.cgi?id=107419

Reviewed by Pavel Feldman.

Source/WebCore:

mousemove event should not be dispatched when emulating touch events and mouse button is not pressed

* page/EventHandler.cpp:
(WebCore::EventHandler::dispatchSyntheticTouchEventIfEnabled):

LayoutTests:

* fast/events/touch/emulate-touch-events.html: Test that mousemove is dispatched not more than once.

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

8 years agoMediaStream API: Update the RTCPeerConnection states to match the latest specification
tommyw@google.com [Mon, 21 Jan 2013 08:32:32 +0000 (08:32 +0000)]
MediaStream API: Update the RTCPeerConnection states to match the latest specification
https://bugs.webkit.org/show_bug.cgi?id=107120

Reviewed by Adam Barth.

Source/Platform:

Updating the chromium WebKit API for the new states.

* chromium/public/WebRTCPeerConnectionHandlerClient.h:
(WebKit::WebRTCPeerConnectionHandlerClient::~WebRTCPeerConnectionHandlerClient):
(WebRTCPeerConnectionHandlerClient):
(WebKit::WebRTCPeerConnectionHandlerClient::didChangeSignalingState):
(WebKit::WebRTCPeerConnectionHandlerClient::didChangeICEGatheringState):
(WebKit::WebRTCPeerConnectionHandlerClient::didChangeICEConnectionState):
(WebKit::WebRTCPeerConnectionHandlerClient::didAddRemoteDataChannel):
(WebKit::WebRTCPeerConnectionHandlerClient::didChangeReadyState):
(WebKit::WebRTCPeerConnectionHandlerClient::didChangeICEState):

Source/WebCore:

http://dev.w3.org/2011/webrtc/editor/webrtc.html#interface-definition

RTCPeerConnection::readyState and iceState are history and instead signalingState,
iceConnectionState and iceGatheringState have been introduced.

Existing tests updated to cover this patch.

* Modules/mediastream/RTCPeerConnection.cpp:
(WebCore::RTCPeerConnection::RTCPeerConnection):
(WebCore::RTCPeerConnection::createOffer):
(WebCore::RTCPeerConnection::createAnswer):
(WebCore::RTCPeerConnection::setLocalDescription):
(WebCore::RTCPeerConnection::localDescription):
(WebCore::RTCPeerConnection::setRemoteDescription):
(WebCore::RTCPeerConnection::remoteDescription):
(WebCore::RTCPeerConnection::updateIce):
(WebCore::RTCPeerConnection::addIceCandidate):
(WebCore::RTCPeerConnection::readyState):
(WebCore):
(WebCore::RTCPeerConnection::signalingState):
(WebCore::RTCPeerConnection::iceConnectionState):
(WebCore::RTCPeerConnection::addStream):
(WebCore::RTCPeerConnection::removeStream):
(WebCore::RTCPeerConnection::createDataChannel):
(WebCore::RTCPeerConnection::close):
(WebCore::RTCPeerConnection::didChangeSignalingState):
(WebCore::RTCPeerConnection::didChangeIceGatheringState):
(WebCore::RTCPeerConnection::didChangeIceConnectionState):
(WebCore::RTCPeerConnection::didAddRemoteStream):
(WebCore::RTCPeerConnection::didRemoveRemoteStream):
(WebCore::RTCPeerConnection::didAddRemoteDataChannel):
(WebCore::RTCPeerConnection::stop):
(WebCore::RTCPeerConnection::changeSignalingState):
(WebCore::RTCPeerConnection::changeIceGatheringState):
(WebCore::RTCPeerConnection::changeIceConnectionState):
* Modules/mediastream/RTCPeerConnection.h:
(RTCPeerConnection):
* Modules/mediastream/RTCPeerConnection.idl:
* platform/mediastream/RTCPeerConnectionHandlerClient.h:
(RTCPeerConnectionHandlerClient):
* platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.cpp:
(WebCore::RTCPeerConnectionHandlerChromium::didChangeSignalingState):
(WebCore::RTCPeerConnectionHandlerChromium::didChangeICEConnectionState):
* platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.h:
(RTCPeerConnectionHandlerChromium):

Source/WebKit/chromium:

* src/AssertMatchingEnums.cpp:

Tools:

Updating mock to use the new states.

* DumpRenderTree/chromium/MockWebRTCPeerConnectionHandler.cpp:
(RTCPeerConnectionStateTask::RTCPeerConnectionStateTask):
(MockWebRTCPeerConnectionHandler::initialize):
(MockWebRTCPeerConnectionHandler::updateICE):

LayoutTests:

* fast/mediastream/RTCPeerConnection-datachannel-expected.txt:
* fast/mediastream/RTCPeerConnection-datachannel.html:
* fast/mediastream/RTCPeerConnection-ice-expected.txt:
* fast/mediastream/RTCPeerConnection-ice.html:
* fast/mediastream/RTCPeerConnection-state-expected.txt:
* fast/mediastream/RTCPeerConnection-state.html:

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

8 years agoREGRESSION (r140285): EFL uses WKPageResourceLoadClient which was removed
thiago.santos@intel.com [Mon, 21 Jan 2013 08:18:18 +0000 (08:18 +0000)]
REGRESSION (r140285): EFL uses WKPageResourceLoadClient which was removed
https://bugs.webkit.org/show_bug.cgi?id=107417

Reviewed by Gyuyoung Kim.

We had no choice but remove the ResourceLoadClientEfl after r140285
and thus our public API signals depending on it. The test_ewk2_auth_request
unit test was skipped because it depends these signals and will be fixed in a
different patch.

* PlatformEfl.cmake:
* UIProcess/API/efl/EWebKit2.h:
* UIProcess/API/efl/EwkViewCallbacks.h:
* UIProcess/API/efl/EwkViewImpl.cpp:
(EwkViewImpl::EwkViewImpl):
* UIProcess/API/efl/EwkViewImpl.h:
(WebKit):
(EwkViewImpl):
* UIProcess/API/efl/ewk_resource.cpp: Removed.
* UIProcess/API/efl/ewk_resource.h: Removed.
* UIProcess/API/efl/ewk_resource_private.h: Removed.
* UIProcess/API/efl/ewk_view.cpp:
* UIProcess/API/efl/ewk_view.h:
* UIProcess/efl/ResourceLoadClientEfl.cpp: Removed.
* UIProcess/efl/ResourceLoadClientEfl.h: Removed.

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

8 years agoUse ISO8601 date/time formats as fallbacks for date/time input types
tkent@chromium.org [Mon, 21 Jan 2013 08:09:21 +0000 (08:09 +0000)]
Use ISO8601 date/time formats as fallbacks for date/time input types
https://bugs.webkit.org/show_bug.cgi?id=107418

Reviewed by Kentaro Hara.

We obtain date/time formats from OSes to build date/time input type
UIs. If something wrong happens in the code, fallback formats are
used. Such fallback formats should not be English formats in order that
we can find defects easily.

No new tests. These formats should not be used unless the current code
has defects.

* html/DateTimeInputType.cpp:
(WebCore::DateTimeInputType::setupLayoutParameters):
Use an ISO8601 format which is same as a format used in HTML5.
* html/DateTimeLocalInputType.cpp:
(WebCore::DateTimeLocalInputType::setupLayoutParameters): Ditto.
* html/MonthInputType.cpp:
(WebCore::MonthInputType::setupLayoutParameters): Ditto.
* html/WeekInputType.cpp:
(WebCore::WeekInputType::setupLayoutParameters): Ditto.
* platform/text/LocaleICU.cpp:
(WebCore::LocaleICU::dateFormat): Ditto.
* platform/text/LocaleNone.cpp:
(WebCore::LocaleNone::dateFormat): Ditto.
(WebCore::LocaleNone::dateTimeFormatWithSeconds): Ditto.
(WebCore::LocaleNone::dateTimeFormatWithoutSeconds): Ditto.

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

8 years agoElements must be reattached when inserted/removed from top layer
falken@chromium.org [Mon, 21 Jan 2013 07:59:39 +0000 (07:59 +0000)]
Elements must be reattached when inserted/removed from top layer
https://bugs.webkit.org/show_bug.cgi?id=105489

Relanding r139402 as rollout due to suspected perf regression did not help (bug 106726).

Reviewed by Julien Chaffraix.

Source/WebCore:

Ensure a reattach occurs when an element is inserted/removed from top layer, so its renderer can be inserted correctly:
as a child of RenderView in top layer sibling order if it's in the top layer, and in the usual place otherwise.

We previously relied on style recalc to catch when an element is inserted/removed from the top layer, because it
only happens on dialog.show/close which toggle display: none. But that is incorrect because, for example, close()
followed immediately by show() results in no style change.

Tests: fast/dom/HTMLDialogElement/removed-element-is-removed-from-top-layer.html
       fast/dom/HTMLDialogElement/top-layer-stacking-correct-order-remove-readd.html

* dom/Element.cpp:
(WebCore::Element::removedFrom): Call Document::removeFromTopLayer to let the element be removed from the top layer vector.
removeFromTopLayer calls Element::setIsInTopLayer(false) itself if needed.
(WebCore::Element::setIsInTopLayer): Ensure a reattach occurs if the element is already attached.

LayoutTests:

* fast/dom/HTMLDialogElement/removed-element-is-removed-from-top-layer-expected.html: Added.
* fast/dom/HTMLDialogElement/removed-element-is-removed-from-top-layer.html: Added.
This tests that a top layer element removed from the document does not reappear in the top layer if readded.
This test actually would pass before this patch, but just by good fortune (see bug).
* fast/dom/HTMLDialogElement/top-layer-stacking-correct-order-remove-readd-expected.html: Added.
* fast/dom/HTMLDialogElement/top-layer-stacking-correct-order-remove-readd.html: Added.
This tests that top layer ordering is correct after removing and readding an element to the top layer.

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

8 years agoWeb Inspector: change HeapSnapshotLoader to allow loading native heap snapshots
yurys@chromium.org [Mon, 21 Jan 2013 07:50:51 +0000 (07:50 +0000)]
Web Inspector: change HeapSnapshotLoader to allow loading native heap snapshots
https://bugs.webkit.org/show_bug.cgi?id=107282

Reviewed by Pavel Feldman.

Conctete heap snapshot constructor name is passed as a parameter to HeapSnapshotLoaderProxy and
propagated to HeapSnapshotLoader.buildSnapshot to support different types of heap snapshots.

Source/WebCore:

* inspector/front-end/HeapSnapshotLoader.js:
(WebInspector.HeapSnapshotLoader.prototype.buildSnapshot):
* inspector/front-end/HeapSnapshotProxy.js:
(WebInspector.HeapSnapshotWorker.prototype.createLoader):
(WebInspector.HeapSnapshotLoaderProxy):
(WebInspector.HeapSnapshotLoaderProxy.prototype.close):
* inspector/front-end/HeapSnapshotView.js:
(WebInspector.HeapProfileHeader.prototype._setupWorker):

LayoutTests:

* inspector/profiler/heap-snapshot-loader.html:

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

8 years agoImplement MediaStreamEvent constructor
haraken@chromium.org [Mon, 21 Jan 2013 07:45:23 +0000 (07:45 +0000)]
Implement MediaStreamEvent constructor
https://bugs.webkit.org/show_bug.cgi?id=107411

Reviewed by Adam Barth.

Spec: http://www.w3.org/TR/webrtc/#mediastreamevent

Test: fast/events/constructors/media-stream-event-constructor.html

Source/WebCore:

* Modules/mediastream/MediaStreamEvent.cpp:
(WebCore::MediaStreamEventInit::MediaStreamEventInit):
(WebCore):
(WebCore::MediaStreamEvent::create):
(WebCore::MediaStreamEvent::MediaStreamEvent):
* Modules/mediastream/MediaStreamEvent.h:
(MediaStreamEventInit):
(WebCore):
(MediaStreamEvent):
* Modules/mediastream/MediaStreamEvent.idl:
* bindings/js/JSDictionary.cpp:
(WebCore):
(WebCore::JSDictionary::convertValue):
* bindings/js/JSDictionary.h:
(WebCore):
* bindings/v8/Dictionary.cpp:
(WebCore):
(WebCore::Dictionary::get):
* bindings/v8/Dictionary.h:
(Dictionary):

LayoutTests:

* fast/events/constructors/media-stream-event-constructor-expected.txt: Added.
* fast/events/constructors/media-stream-event-constructor.html: Added.
* platform/chromium-android/TestExpectations:
* platform/efl/TestExpectations:
* platform/gtk/TestExpectations:
* platform/mac/TestExpectations:
* platform/qt/TestExpectations:
* platform/win/TestExpectations:
* platform/wincairo/TestExpectations:

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

8 years agoWeb Inspector: Allow SplitView to change orientation after the construction.
commit-queue@webkit.org [Mon, 21 Jan 2013 07:38:14 +0000 (07:38 +0000)]
Web Inspector: Allow SplitView to change orientation after the construction.
https://bugs.webkit.org/show_bug.cgi?id=107263

Added SplitView.prototype.setIsVertical to change the orientation on the fly.
Instead of passing default sidebar size to the constructor the client
may now pass separate defaults for the sidebar width and height. Passing
just one default works as before.

Patch by Vladislav Kaznacheev <kaznacheev@chromium.org> on 2013-01-20
Reviewed by Pavel Feldman.

No new tests.

* inspector/front-end/SplitView.js:
(WebInspector.SplitView):
(WebInspector.SplitView.prototype.isVertical):
(WebInspector.SplitView.prototype.setIsVertical):
(WebInspector.SplitView.prototype._innerSetIsVertical):
(WebInspector.SplitView.prototype._updateLayout):
(WebInspector.SplitView.prototype.isSidebarSecond):
(WebInspector.SplitView.prototype.showBoth):
(WebInspector.SplitView.prototype._updateTotalSize):
(WebInspector.SplitView.prototype._innerSetSidebarSize):
(WebInspector.SplitView.prototype.wasShown):
(WebInspector.SplitView.prototype.onResize):
(WebInspector.SplitView.prototype.installResizer):
(WebInspector.SplitView.prototype._onDragStart):
(WebInspector.SplitView.prototype._sizeSetting):
(WebInspector.SplitView.prototype._lastSidebarSize):
(WebInspector.SplitView.prototype.get _saveSidebarSize):

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

8 years agoAdd a [ConstructorConditional] IDL attribute
haraken@chromium.org [Mon, 21 Jan 2013 07:27:56 +0000 (07:27 +0000)]
Add a [ConstructorConditional] IDL attribute
https://bugs.webkit.org/show_bug.cgi?id=107407

Reviewed by Adam Barth.

Per discussion in webkit-dev, we need to implement DOM4 event constructors
under a enable flag. For that purpose, we implement a [ConstructorConditional]
IDL attribute.

Test: bindings/scripts/test/TestInterface.idl

* bindings/scripts/CodeGenerator.pm:
(GenerateConstructorConditionalString):
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateConstructorDeclaration):
(GenerateConstructorHelperMethods):
* bindings/scripts/CodeGeneratorV8.pm:
(GenerateHeader):
(GenerateImplementation):
* bindings/scripts/IDLAttributes.txt:
* bindings/scripts/test/JS/JSTestInterface.cpp:
(WebCore):
* bindings/scripts/test/JS/JSTestInterface.h:
(JSTestInterfaceConstructor):
* bindings/scripts/test/TestInterface.idl:
* bindings/scripts/test/V8/V8TestInterface.cpp:
(WebCore::ConfigureV8TestInterfaceTemplate):
* bindings/scripts/test/V8/V8TestInterface.h:
(V8TestInterface):

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

8 years ago[V8] We should set a class id for a NPObject wrapper
haraken@chromium.org [Mon, 21 Jan 2013 07:18:48 +0000 (07:18 +0000)]
[V8] We should set a class id for a NPObject wrapper
https://bugs.webkit.org/show_bug.cgi?id=107249

Reviewed by Adam Barth.

This is one of steps to avoid hitting an ASSERT()
that will be added in https://bugs.webkit.org/show_bug.cgi?id=107137 .

No tests. No change in behavior.

* bindings/v8/V8DOMWrapper.h:
(V8DOMWrapper):
(WebCore::V8DOMWrapper::setWrapperClass):
(WebCore):
* bindings/v8/V8NPObject.cpp:
(WebCore::createV8ObjectForNPObject):

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

8 years agoExtend diff_parser to support the --full-index output.
commit-queue@webkit.org [Mon, 21 Jan 2013 07:10:43 +0000 (07:10 +0000)]
Extend diff_parser to support the --full-index output.
https://bugs.webkit.org/show_bug.cgi?id=107408

Patch by Tim 'mithro' Ansell <mithro@mithis.com> on 2013-01-20
Reviewed by Maciej Stachowiak.

* Scripts/webkitpy/common/checkout/diff_parser.py:
(git_diff_to_svn_diff):
* Scripts/webkitpy/common/checkout/diff_parser_unittest.py:
(DiffParserTest):
(DiffParserTest.test_git_diff_to_svn_diff):
(git_diff_to_svn_diff):

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

8 years agoCSS3 calc: unprefix implementation
mikelawther@chromium.org [Mon, 21 Jan 2013 07:05:16 +0000 (07:05 +0000)]
CSS3 calc: unprefix implementation
https://bugs.webkit.org/show_bug.cgi?id=91951

Reviewed by Ojan Vafai.

Source/WebCore:

Add support for the unprefixed 'calc()' function, while retaining support for the prefixed version.

Test: css3/calc/simple-calcs-prefixed.html

* css/CSSCalculationValue.cpp:
(WebCore::buildCssText):
(WebCore::CSSCalcValue::create):
* css/CSSParser.cpp:
(WebCore::CSSParser::isCalculation):
(WebCore::CSSParser::detectFunctionTypeToken):

LayoutTests:

Changed all -webkit-calc() occurrences to calc().
Made a copy of the simplest test file so very basic tests for the prefixed version
are retained.

* css3/calc/background-position-parsing.html:
* css3/calc/block-mask-overlay-image-outset.html:
* css3/calc/border-radius.html:
* css3/calc/border.html:
* css3/calc/box-reflect.html:
* css3/calc/calc-errors.html:
* css3/calc/color-hsl.html:
* css3/calc/color-rgb.html:
* css3/calc/css3-radial-gradients.html:
* css3/calc/cssom-expected.txt:
* css3/calc/cssom.html:
* css3/calc/font-monospace.html:
* css3/calc/font-size-fractional.html:
* css3/calc/font-size.html:
* css3/calc/font.html:
* css3/calc/getComputedStyle-margin-percentage.html:
* css3/calc/gradient-color-stops.html:
* css3/calc/img-size.html:
* css3/calc/line-height.html:
* css3/calc/margin.html:
* css3/calc/negative-padding.html:
* css3/calc/padding.html:
* css3/calc/reflection-computed-style-expected.txt:
* css3/calc/reflection-computed-style.html:
* css3/calc/regression-62276.html:
* css3/calc/simple-calcs-prefixed-expected.txt: Added.
* css3/calc/simple-calcs-prefixed.html: Copied from LayoutTests/css3/calc/simple-calcs.html.
* css3/calc/simple-calcs.html:
* css3/calc/simple-composited-mask.html:
* css3/calc/table-border-spacing.html:
* css3/calc/table-calcs.html:
* css3/calc/table-empty-cells.html:
* css3/calc/transforms-scale.html:
* css3/calc/transforms-translate.html:
* css3/calc/transition-crash.html:
* css3/calc/transition-crash2.html:
* css3/calc/transition-crash3.html:
* css3/calc/transition-crash4.html:
* css3/calc/transitions-dependent.html:
* css3/calc/transitions.html:
* css3/calc/vertical-align-expected.html:
* css3/calc/vertical-align.html:
* css3/calc/zoom-with-em.html:

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

8 years agoDistribution state becomes inconsistent with content/shadow reprojection
shinyak@chromium.org [Mon, 21 Jan 2013 06:59:35 +0000 (06:59 +0000)]
Distribution state becomes inconsistent with content/shadow reprojection
https://bugs.webkit.org/show_bug.cgi?id=106634

Reviewed by Hajime Morita.

Source/WebCore:

Distribution should be resolved from shallower ShadowDOM to deeper Shadow DOM. However, in the current implementation,
there is a case that distribution for deeper ShadowDOM happens to be resolved before distribution
for shallower ShadowDOM is resolved.

Here, we have 2 problems about distribution.
1) Invalidation state is not propagated to nested (= deeper) ShadowDOM.
    - This causes deeper ShadowDOM looks having a valid distribution though it should be invalid.
2) We are not resolving shallower ShadowDOM when deeper ShadowDOM's distribution is needed.
    - Because of (1), we have to check all the ancestor ShadowDOM.

For (1), we change invalidate() to invalidate nested ShadowDOM's distribution as well.
For (2), when resolving distribution, we will check the ancestor ShadowDOM's distribution state. If the ancestor's
distribution is not valid, we resolve it first.

For optimization of (1), actually we can skip invalidating distribution of some ShadowDOMs.
If ShadowRoot of deeper ShadowDOM does not have an InsertionPoint as children, we can skip invalidating
its distribution, because only children can be distributed to InsertionPoint.

Tests: fast/dom/shadow/distribution-crash.html
       fast/dom/shadow/nested-reprojection-inconsistent.html

* dom/ElementShadow.cpp:
(WebCore::ElementShadow::attach): Should resolve distribution from ancestor.
* dom/ElementShadow.h:
* html/shadow/ContentDistributor.cpp:
(WebCore::ContentDistributor::distribute): Added ASSERT that the parent ShadowRoot's distribution is resolved.
(WebCore::ContentDistributor::invalidate): For each InsertionPoint, we have to invalidate
its parent element's distribution (if it has ElementShadow).
(WebCore::ContentDistributor::ensureDistribution):
* html/shadow/ContentDistributor.h:
(WebCore::ContentDistributor::isValid):
* html/shadow/HTMLShadowElement.cpp:
(WebCore::HTMLShadowElement::olderShadowRoot): Should resolve distribution from ancestor.
* html/shadow/InsertionPoint.cpp:
(WebCore::InsertionPoint::attach): ditto.
(WebCore::InsertionPoint::detach): ditto.
(WebCore::InsertionPoint::getDistributedNodes): ditto.
(WebCore::resolveReprojection): ditto.

LayoutTests:

* fast/dom/shadow/distribution-crash-expected.txt: Added.
* fast/dom/shadow/distribution-crash.html: Added.
* fast/dom/shadow/nested-reprojection-inconsistent-expected.txt: Added.
* fast/dom/shadow/nested-reprojection-inconsistent.html: Added.

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

8 years agoMake SpeechSynthesis compile in the Chromium port
dmazzoni@google.com [Mon, 21 Jan 2013 06:13:34 +0000 (06:13 +0000)]
Make SpeechSynthesis compile in the Chromium port
https://bugs.webkit.org/show_bug.cgi?id=107382

Reviewed by Adam Barth.

Source/WebCore:

Add stubs for the Chromium implementation of speech synthesis,
and add all source and header files to WebCore.gypi. Everything
is behind the ENABLE_SPEECH_SYNTHESIS flag.

* Modules/speech/chromium/SpeechSynthesisChromium.cpp: Added.
(WebCore):
(WebCore::SpeechSynthesis::initializeVoiceList):
(WebCore::SpeechSynthesis::pending):
(WebCore::SpeechSynthesis::speaking):
(WebCore::SpeechSynthesis::paused):
(WebCore::SpeechSynthesis::speak):
(WebCore::SpeechSynthesis::cancel):
(WebCore::SpeechSynthesis::pause):
(WebCore::SpeechSynthesis::resume):
* WebCore.gypi:

Source/WebKit/chromium:

Add ENABLE_SPEECH_SYNTHESIS to features.gypi, off by default.

* features.gypi:

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

8 years agoRe-layout child blocks when border/padding of the box-sizing:border-box parent is...
tkent@chromium.org [Mon, 21 Jan 2013 06:10:23 +0000 (06:10 +0000)]
Re-layout child blocks when border/padding of the box-sizing:border-box parent is updated
https://bugs.webkit.org/show_bug.cgi?id=104997

Reviewed by Tony Chang.

Source/WebCore:

When padding or border is updated for a parent block with
box-sizing:border-box and width, the width of its child block was not
updated.

Tests: fast/css/box-sizing-border-box-dynamic-padding-border-update.html
       fast/forms/text/text-padding-dynamic-change.html

* rendering/RenderBox.cpp:
(WebCore::RenderBox::styleDidChange):
If box-sizing of the old style and/or the new style is border-box and
padding or border is changed, apply setChildNeedsLayout(true) for child
boxes.

LayoutTests:

* fast/css/box-sizing-border-box-dynamic-padding-border-update-expected.txt: Added.
* fast/css/box-sizing-border-box-dynamic-padding-border-update.html: Added.
* fast/forms/text/text-padding-dynamic-change-expected.html: Added.
* fast/forms/text/text-padding-dynamic-change.html: Added.

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

8 years ago[V8] Remove custom V8ScriptProfileCustom::toV8()
haraken@chromium.org [Mon, 21 Jan 2013 06:08:05 +0000 (06:08 +0000)]
[V8] Remove custom V8ScriptProfileCustom::toV8()
https://bugs.webkit.org/show_bug.cgi?id=107246

Reviewed by Adam Barth.

V8ScriptProfileCustom::toV8() needs not to be custom.
Furthermore, the current custom toV8() is wrong in that
it doesn't use a creationContext and it doesn't set a
wrapper class id. This is one of steps to avoiding
ASSERT()s that will be added in
https://bugs.webkit.org/show_bug.cgi?id=107137 .

No tests. No change in behavior.

* UseV8.cmake:
* WebCore.gypi:
* bindings/v8/custom/V8ScriptProfileCustom.cpp: Removed.
* inspector/ScriptProfile.idl:

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

8 years agoRemove support getting per-resource callbacks in the UIProcess
commit-queue@webkit.org [Mon, 21 Jan 2013 05:42:11 +0000 (05:42 +0000)]
Remove support getting per-resource callbacks in the UIProcess
https://bugs.webkit.org/show_bug.cgi?id=107405

Patch by Viatcheslav Ostapenko <sl.ostapenko@samsung.com> on 2013-01-20
Reviewed by Sam Weinig.

EFL, GTK and Qt WebKit2 build fixes after r140285.
Remove from build WebResourceLoadClient.{cpp,h} deleted by r140285.

* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:

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

8 years agoUnreviewed, rolling out r140290.
tkent@chromium.org [Mon, 21 Jan 2013 05:23:41 +0000 (05:23 +0000)]
Unreviewed, rolling out r140290.
http://trac.webkit.org/changeset/140290
https://bugs.webkit.org/show_bug.cgi?id=107412

Broke tests of inspector and calendar picker in debug build
(Requested by tkent on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2013-01-20

Source/WebCore:

* rendering/RenderBox.cpp:
(WebCore::RenderBox::styleDidChange):

LayoutTests:

* fast/css/box-sizing-border-box-dynamic-padding-border-update-expected.txt: Removed.
* fast/css/box-sizing-border-box-dynamic-padding-border-update.html: Removed.
* fast/forms/text/text-padding-dynamic-change-expected.html: Removed.
* fast/forms/text/text-padding-dynamic-change.html: Removed.

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

8 years agoDispatch LongPress to inner frames
commit-queue@webkit.org [Mon, 21 Jan 2013 05:12:37 +0000 (05:12 +0000)]
Dispatch LongPress to inner frames
https://bugs.webkit.org/show_bug.cgi?id=106874

Patch by Yongsheng Zhu <yongsheng.zhu@intel.com> on 2013-01-20
Reviewed by Antonio Gomes.

Source/WebCore:

Do check whether a LongPress gesture event should be passed
to inner frames. If needed, dispatch it.

Tests: fast/events/touch/gesture/long-press-on-draggable-element-in-iframe-triggers-drag.html
       fast/events/touch/gesture/long-press-on-draggable-element-in-nested-iframes-triggers-drag.html

* page/EventHandler.cpp:
(WebCore::EventHandler::handleGestureLongPress):

LayoutTests:

* fast/events/touch/gesture/long-press-on-draggable-element-in-iframe-triggers-drag.html: Added.
* fast/events/touch/gesture/long-press-on-draggable-element-in-nested-iframes-triggers-drag.html: Added.
* fast/events/touch/gesture/resources/drag-inside-iframe2.html: Added.
* fast/events/touch/gesture/resources/drag-inside-nested-iframes2.html: Added.
* fast/events/touch/gesture/resources/drag-inside-nested-iframes3.html: Added.
* platform/chromium/fast/events/touch/gesture/long-press-on-draggable-element-in-iframe-triggers-drag-expected.txt: Added.
* platform/chromium/fast/events/touch/gesture/long-press-on-draggable-element-in-nested-iframes-triggers-drag-expected.txt: Added.

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

8 years agoClean up missing *explicit* keyword in ctors of WebCore/rendering.
gyuyoung.kim@samsung.com [Mon, 21 Jan 2013 03:52:02 +0000 (03:52 +0000)]
Clean up missing *explicit* keyword in ctors of WebCore/rendering.
https://bugs.webkit.org/show_bug.cgi?id=107373

Reviewed by Darin Adler.

Need to add *explicit* keyword to avoid implicit type conversion.

* rendering/RenderApplet.h:
(RenderApplet):
* rendering/RenderArena.h:
(RenderArena):
* rendering/RenderBR.h:
(RenderBR):
* rendering/RenderBlock.h:
(RenderBlock):
* rendering/RenderBox.h:
(RenderBox):
* rendering/RenderDetailsMarker.h:
(RenderDetailsMarker):
* rendering/RenderFlexibleBox.h:
(RenderFlexibleBox):
* rendering/RenderFlowThread.h:
* rendering/RenderFullScreen.h:
(RenderFullScreen):
* rendering/RenderGeometryMap.h:
(WebCore::RenderGeometryMapStep::RenderGeometryMapStep):
* rendering/RenderGrid.h:
(RenderGrid):
* rendering/RenderImage.h:
(RenderImage):
* rendering/RenderLayerBacking.h:
(RenderLayerBacking):
* rendering/RenderLayerCompositor.h:
(RenderLayerCompositor):
* rendering/RenderLayerModelObject.h:
(RenderLayerModelObject):
* rendering/RenderListBox.h:
(RenderListBox):
* rendering/RenderListMarker.h:
(RenderListMarker):
* rendering/RenderMedia.h:
(RenderMedia):
* rendering/RenderMeter.h:
(RenderMeter):
* rendering/RenderMultiColumnBlock.h:
(RenderMultiColumnBlock):
* rendering/RenderMultiColumnFlowThread.h:
(RenderMultiColumnFlowThread):
* rendering/RenderObject.h:
(RenderObject):
* rendering/RenderPart.h:
(RenderPart):
* rendering/RenderProgress.h:
(RenderProgress):
* rendering/RenderReplaced.h:
(RenderReplaced):
* rendering/RenderReplica.h:
(RenderReplica):
* rendering/RenderRuby.h:
(RenderRubyAsInline):
* rendering/RenderRubyBase.h:
(RenderRubyBase):
* rendering/RenderRubyRun.h:
(RenderRubyRun):
* rendering/RenderRubyText.h:
(RenderRubyText):
* rendering/RenderSearchField.h:
(RenderSearchField):
* rendering/RenderSlider.h:
(RenderSlider):
* rendering/RenderSnapshottedPlugIn.h:
(RenderSnapshottedPlugIn):
* rendering/RenderTextControlMultiLine.h:
(RenderTextControlMultiLine):
* rendering/RenderTextControlSingleLine.h:
(RenderTextControlSingleLine):
* rendering/RenderView.h:
(RenderView):
* rendering/RenderWidgetProtector.h:
(WebCore::RenderWidgetProtector::RenderWidgetProtector):
* rendering/RootInlineBox.h:
(RootInlineBox): Remove meaningless parameter name.
* rendering/TableLayout.h:
(WebCore::TableLayout::TableLayout):

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

8 years agoRe-layout child blocks when border/padding of the box-sizing:border-box parent is...
tkent@chromium.org [Mon, 21 Jan 2013 02:40:03 +0000 (02:40 +0000)]
Re-layout child blocks when border/padding of the box-sizing:border-box parent is updated
https://bugs.webkit.org/show_bug.cgi?id=104997

Reviewed by Tony Chang.

Source/WebCore:

When padding or border is updated for a parent block with
box-sizing:border-box and width, the width of its child block was not
updated.

Tests: fast/css/box-sizing-border-box-dynamic-padding-border-update.html
       fast/forms/text/text-padding-dynamic-change.html

* rendering/RenderBox.cpp:
(WebCore::RenderBox::styleDidChange):
If box-sizing of the old style and/or the new style is border-box and
padding or border is changed, apply setChildNeedsLayout(true) for child
boxes.

LayoutTests:

* fast/css/box-sizing-border-box-dynamic-padding-border-update-expected.txt: Added.
* fast/css/box-sizing-border-box-dynamic-padding-border-update.html: Added.
* fast/forms/text/text-padding-dynamic-change-expected.html: Added.
* fast/forms/text/text-padding-dynamic-change.html: Added.

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

8 years ago[BlackBerry] some websites only takes half of the screen after rotating from landscap...
charles.wei@torchmobile.com.cn [Mon, 21 Jan 2013 02:31:15 +0000 (02:31 +0000)]
[BlackBerry] some websites only takes half of the screen after rotating from landscape to portrait mode.
https://bugs.webkit.org/show_bug.cgi?id=107103

Reviewed by George Staikos.
Internally reviewed by Jacky Jiang.

When the document size changes (by some javascript) which makes it too small to fit the viewport, we should
automatically zoom it to fit the viewport.

* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPagePrivate::layoutFinished):

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

8 years agoUnreviewed, rolling out r140270.
haraken@chromium.org [Mon, 21 Jan 2013 02:29:56 +0000 (02:29 +0000)]
Unreviewed, rolling out r140270.
http://trac.webkit.org/changeset/140270
https://bugs.webkit.org/show_bug.cgi?id=107253

Hit asserts in a debug build

* bindings/v8/V8DOMWindowShell.cpp:
(WebCore::V8DOMWindowShell::installDOMWindow):

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

8 years ago[Shadow DOM] Specifying scrollbar style of an element having RenderLayer in ShadowDOM...
shinyak@chromium.org [Mon, 21 Jan 2013 02:24:47 +0000 (02:24 +0000)]
[Shadow DOM] Specifying scrollbar style of an element having RenderLayer in ShadowDOM does not work.
https://bugs.webkit.org/show_bug.cgi?id=107222

Reviewed by Simon Fraser.

Source/WebCore:

When specifying scrollbar style in ShadowDOM, it's not used. If the host element of ShadowDOM has scrollbar style,
it's used instead.

The root cause of this bug is that RenderLayer always see shadowAncestorNode's style. Some elements having
UserAgent ShadowDOM (e.g. <textarea>) should see host's style, but most of elements should see its style.

Test: fast/dom/shadow/scrollbar.html

* rendering/RenderLayer.cpp:
(WebCore::rendererForScrollbar):
(WebCore):
(WebCore::RenderLayer::createScrollbar):
(WebCore::RenderLayer::updateScrollCornerStyle):
(WebCore::RenderLayer::updateResizerStyle):

LayoutTests:

* fast/dom/shadow/scrollbar-expected.html: Added.
* fast/dom/shadow/scrollbar.html: Added.

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

8 years agoDragging over an element with scrollbars should scroll the element when dragging...
yosin@chromium.org [Mon, 21 Jan 2013 01:29:07 +0000 (01:29 +0000)]
Dragging over an element with scrollbars should scroll the element when dragging near edges
https://bugs.webkit.org/show_bug.cgi?id=39725

Reviewed by Hajime Morita.

Source/WebCore:

This patch introduces auto scrolling functionality during drag-and-drop
when drop source is near edge of scrollable element.

When drop source is inside 20px of scrollable element more than 200ms,
scrollable element is automatically scrolled every 50ms toward drop
source position, e.g. vertically scroll up when drop source is in top
edge.

Test: fast/events/drag-and-drop-autoscroll.html

* page/AutoscrollController.cpp:
(WebCore::AutoscrollController::AutoscrollController): Changed to initialize m_dragAndDropAutoscrollStartTime.
(WebCore::AutoscrollController::updateDragAndDrop): Added for start/stop autoscroll during drag-and-drop.
(WebCore::AutoscrollController::autoscrollTimerFired): Changed to add autoscroll for drag-and-drop, and to pass last know position to RenderBox::autoscroll().
* page/AutoscrollController.h:
(AutoscrollController): Changed to add updateDragAndDrop() and m_dragAndDropAutoscrollReferencePosition and m_dragAndDropAutoscrollStartTime.
* page/ChromeClient.h:
(WebCore::ChromeClient): Changed to add new function shouldAutoscrollForDragAndDrop().
* page/EventHandler.cpp:
(WebCore::EventHandler::updateDragAndDrop): Changed to call AutoscrollController::updateDragAndDrop().
(WebCore::EventHandler::clearDragState): Changed to call stopAutoscrollTimer().
* rendering/RenderBox.cpp:
(WebCore::RenderBox::autoscroll): Changed for new parameter position.
(WebCore::RenderBox::calculateAutoscrollDirection): Added for autoscroll.
* rendering/RenderBox.h:
(RenderBox):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::autoscroll):  Changed for new parameter position and move updateSelectionForMouseDrag() to AutoscrollController.
* rendering/RenderLayer.h:
(RenderLayer):
* rendering/RenderListBox.cpp:
(WebCore::RenderListBox::autoscroll):  Changed for new parameter position.
* rendering/RenderListBox.h:
(RenderListBox):
* rendering/RenderTextControlSingleLine.cpp:
(WebCore::RenderTextControlSingleLine::autoscroll):  Changed for new parameter position.
* rendering/RenderTextControlSingleLine.h:
(RenderTextControlSingleLine):

Source/WebKit/chromium:

This patch removes DragScrollTimer used for automatic scrolling of main
frame drag-and-drop which is now implemented in EventHandler.

Another patch will remove DragScrollTimer.{cpp,h} and update GYP files to
make patch size small.

No tests. Existing test covers this change.

* src/ChromeClientImpl.cpp:
(WebKit::ChromeClientImpl::shouldAutoscrollForDragAndDrop): Added.
* src/ChromeClientImpl.h:
(ChromeClientImpl): Changed to add shouldAutoscrollForDragAndDrop().
* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::WebViewImpl): Changed to remove m_dragScrollTimer.
(WebKit::WebViewImpl::dragSourceEndedAt): ditto
(WebKit::WebViewImpl::dragSourceMovedTo): ditto
(WebKit::WebViewImpl::dragTargetDrop): ditto
(WebKit::WebViewImpl::dragTargetDragEnterOrOver): ditto
* src/WebViewImpl.h:
(WebKit): Chagned to remove DragScrollTimer.

Tools:

This patch introduces canceling drag-and-drop by escape key for testing
behavior after cancellation drag-and-drop.

* DumpRenderTree/chromium/TestRunner/src/EventSender.cpp:
(WebTestRunner):
(WebTestRunner::EventSender::doMouseUp):
(WebTestRunner::EventSender::finishDragAndDrop):
(WebTestRunner::EventSender::keyDown):
* DumpRenderTree/chromium/TestRunner/src/EventSender.h:
(EventSender):
* DumpRenderTree/chromium/TestRunner/src/KeyCodeMapping.h: Added VKEY_ESCAPE.

LayoutTests:

This patch adds new test for autoscroll during drag-and-drop.
This test is skipped other than Chromium ports.

* fast/events/drag-and-drop-autoscroll-expected.txt: Added.
* fast/events/drag-and-drop-autoscroll.html: Added.
* platform/efl/TestExpectations: Changed to skip fast/events/drag-and-drop-autoscroll.html
* platform/wincairo/TestExpectations: ditto.
* platform/mac/TestExpectations: ditto.
* platform/mac/TestExpectations: ditto.
* platform/qt/TestExpectations: ditto.
* platform/gtk/TestExpectations: ditto.
* platform/win/TestExpectations: ditto.
* platform/wk2/TestExpectations: ditto.

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

8 years agoRemove support getting per-resource callbacks in the UIProcess
weinig@apple.com [Mon, 21 Jan 2013 01:01:40 +0000 (01:01 +0000)]
Remove support getting per-resource callbacks in the UIProcess
https://bugs.webkit.org/show_bug.cgi?id=107405

Reviewed by Anders Carlsson.

Removes support for the WKPageResourceLoadClient. Access to per-resource
callbacks are still available in the bundle, and via the WebInspector.

* UIProcess/API/C/WKPage.cpp:
* UIProcess/API/C/WKPage.h:
* UIProcess/WebPageProxy.cpp:
* UIProcess/WebPageProxy.h:
* UIProcess/WebPageProxy.messages.in:
Stop handling per-resource messages and forwarding them to the API.

* UIProcess/WebResourceLoadClient.cpp: Removed.
* UIProcess/WebResourceLoadClient.h: Removed.
* WebKit2.xcodeproj/project.pbxproj:
Remove the files.

* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::assignIdentifierToInitialRequest):
(WebKit::WebFrameLoaderClient::dispatchWillSendRequest):
(WebKit::WebFrameLoaderClient::dispatchDidReceiveResponse):
(WebKit::WebFrameLoaderClient::dispatchDidReceiveContentLength):
(WebKit::WebFrameLoaderClient::dispatchDidFinishLoading):
(WebKit::WebFrameLoaderClient::dispatchDidFailLoading):
Stop sending per-resource messages to the UIProcess.

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

8 years agoWeak GC maps should be easier to use
ggaren@apple.com [Mon, 21 Jan 2013 00:59:45 +0000 (00:59 +0000)]
Weak GC maps should be easier to use
https://bugs.webkit.org/show_bug.cgi?id=107312

Reviewed by Sam Weinig.

Follow-up fix.

* runtime/PrototypeMap.cpp:
(JSC::PrototypeMap::emptyObjectStructureForPrototype): Restored this
ASSERT, which was disabled because of a bug in WeakGCMap.

* runtime/WeakGCMap.h:
(JSC::WeakGCMap::add): We can't pass our passed-in value to add() because
a PassWeak() clears itself when passed to another function. So, we pass
nullptr instead, and fix things up afterwards.

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

8 years agoSimplify a list of negative PLATFORM() tests
commit-queue@webkit.org [Mon, 21 Jan 2013 00:11:43 +0000 (00:11 +0000)]
Simplify a list of negative PLATFORM() tests
https://bugs.webkit.org/show_bug.cgi?id=107365

Patch by Laszlo Gombos <l.gombos@samsung.com> on 2013-01-20
Reviewed by Eric Seidel.

Simplify a list of negative PLATFORM() tests into a simpler list
of positive tests for better readability and maintenance.

No new tests as there is no new functionality.

* config.h:

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

8 years ago[BlackBerry] Improve Fatfinger phase.
commit-queue@webkit.org [Sun, 20 Jan 2013 22:55:50 +0000 (22:55 +0000)]
[BlackBerry] Improve Fatfinger phase.
https://bugs.webkit.org/show_bug.cgi?id=107403

Patch by Tiancheng Jiang <tijiang@rim.com> on 2013-01-20
Reviewed by Rob Buis.

RIM PR 219489
Internally reviewd by Mike Fenton & Gen Mak.

Treat ClickableByDefault and MadeClickableByTheWebpage elements as
same category. Avoid unnecessary nodes check step.

* WebKitSupport/FatFingers.cpp:
(BlackBerry::WebKit::FatFingers::isElementClickable):
(BlackBerry::WebKit::FatFingers::FatFingers):
(BlackBerry::WebKit::FatFingers::findBestPoint):
(BlackBerry::WebKit::FatFingers::getNodesFromRect):
* WebKitSupport/FatFingers.h:

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

8 years ago[chromium] move frame generation related methods to TestRunner
jochen@chromium.org [Sun, 20 Jan 2013 21:30:37 +0000 (21:30 +0000)]
[chromium] move frame generation related methods to TestRunner
https://bugs.webkit.org/show_bug.cgi?id=107268

Reviewed by Adam Barth.

* DumpRenderTree/chromium/DRTTestRunner.cpp:
(DRTTestRunner::DRTTestRunner):
(DRTTestRunner::setWillSendRequestReturnsNull):
* DumpRenderTree/chromium/DRTTestRunner.h:
(DRTTestRunner):
* DumpRenderTree/chromium/TestRunner/public/WebTestDelegate.h:
(WebTestRunner::WebTestDelegate::display):
(WebTestRunner::WebTestDelegate::displayInvalidatedRegion):
* DumpRenderTree/chromium/TestRunner/src/TestRunner.cpp:
(WebTestRunner::TestRunner::TestRunner):
(WebTestRunner::TestRunner::display):
(WebTestRunner):
(WebTestRunner::TestRunner::displayInvalidatedRegion):
* DumpRenderTree/chromium/TestRunner/src/TestRunner.h:
(TestRunner):
* DumpRenderTree/chromium/WebViewHost.cpp:
(WebViewHost::display):
(WebViewHost::displayInvalidatedRegion):
* DumpRenderTree/chromium/WebViewHost.h:

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

8 years agoUnreviewed. Simple indentation fix.
kov@webkit.org [Sun, 20 Jan 2013 20:45:16 +0000 (20:45 +0000)]
Unreviewed. Simple indentation fix.

* GNUmakefile.am:

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

8 years agoAvoid filling a rounded rect when radii are zero
simon.fraser@apple.com [Sun, 20 Jan 2013 20:36:54 +0000 (20:36 +0000)]
Avoid filling a rounded rect when radii are zero
https://bugs.webkit.org/show_bug.cgi?id=107402
<rdar://problem/12793315>

Reviewed by Sam Weinig.

It's more efficient to clip and fill rects than rounded rects,
so optimize for the case where rounded rect radii are zero.

* platform/graphics/GraphicsContext.cpp:
(WebCore::GraphicsContext::clipRoundedRect):
(WebCore::GraphicsContext::clipOutRoundedRect):
(WebCore::GraphicsContext::fillRoundedRect):

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

8 years ago2013-01-20 Geoffrey Garen <ggaren@apple.com>
ggaren@apple.com [Sun, 20 Jan 2013 20:33:18 +0000 (20:33 +0000)]
2013-01-20  Geoffrey Garen  <ggaren@apple.com>

        Unreviewed.

        Temporarily disabling this ASSERT to get the bots green
        while I investigate a fix.

        * runtime/PrototypeMap.cpp:
        (JSC::PrototypeMap::emptyObjectStructureForPrototype):

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

8 years ago[chromium] move speech related methods to TestRunner library
jochen@chromium.org [Sun, 20 Jan 2013 20:16:24 +0000 (20:16 +0000)]
[chromium] move speech related methods to TestRunner library
https://bugs.webkit.org/show_bug.cgi?id=107266

Reviewed by Adam Barth.

* DumpRenderTree/chromium/DRTTestRunner.cpp:
(DRTTestRunner::DRTTestRunner):
(DRTTestRunner::displayInvalidatedRegion):
* DumpRenderTree/chromium/DRTTestRunner.h:
(DRTTestRunner):
* DumpRenderTree/chromium/TestRunner/public/WebTestDelegate.h:
(WebTestDelegate):
(WebTestRunner::WebTestDelegate::addMockSpeechInputResult):
(WebTestRunner::WebTestDelegate::setMockSpeechInputDumpRect):
(WebTestRunner::WebTestDelegate::addMockSpeechRecognitionResult):
(WebTestRunner::WebTestDelegate::setMockSpeechRecognitionError):
(WebTestRunner::WebTestDelegate::wasMockSpeechRecognitionAborted):
* DumpRenderTree/chromium/TestRunner/src/TestRunner.cpp:
(WebTestRunner::TestRunner::TestRunner):
(WebTestRunner):
(WebTestRunner::TestRunner::addMockSpeechInputResult):
(WebTestRunner::TestRunner::setMockSpeechInputDumpRect):
(WebTestRunner::TestRunner::addMockSpeechRecognitionResult):
(WebTestRunner::TestRunner::setMockSpeechRecognitionError):
(WebTestRunner::TestRunner::wasMockSpeechRecognitionAborted):
* DumpRenderTree/chromium/TestRunner/src/TestRunner.h:
(TestRunner):
* DumpRenderTree/chromium/WebViewHost.cpp:
(WebViewHost::addMockSpeechInputResult):
(WebViewHost::setMockSpeechInputDumpRect):
(WebViewHost::addMockSpeechRecognitionResult):
(WebViewHost::setMockSpeechRecognitionError):
(WebViewHost::wasMockSpeechRecognitionAborted):
* DumpRenderTree/chromium/WebViewHost.h:

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

8 years agoAdd more JavaScript tests.
fpizlo@apple.com [Sun, 20 Jan 2013 20:06:05 +0000 (20:06 +0000)]
Add more JavaScript tests.

Rubber stampted by Geoffrey Garen.

This adds my JSRegress suite to LayoutTests. This includes silly microbenchmarks that I've
used to test JSC's performance on various interesting cases. But it's also good at catching
bugs, so we might as well be running it as part of regression testing. All of these tests
are short-running, so it shouldn't get in the way of anyone.

* fast/js/regress: Added.
* fast/js/regress/Float32Array-matrix-mult-expected.txt: Added.
* fast/js/regress/Float32Array-matrix-mult.html: Added.
* fast/js/regress/Int16Array-bubble-sort-expected.txt: Added.
* fast/js/regress/Int16Array-bubble-sort.html: Added.
* fast/js/regress/Int16Array-load-int-mul-expected.txt: Added.
* fast/js/regress/Int16Array-load-int-mul.html: Added.
* fast/js/regress/Int8Array-load-expected.txt: Added.
* fast/js/regress/Int8Array-load.html: Added.
* fast/js/regress/adapt-to-double-divide-expected.txt: Added.
* fast/js/regress/adapt-to-double-divide.html: Added.
* fast/js/regress/aliased-arguments-getbyval-expected.txt: Added.
* fast/js/regress/aliased-arguments-getbyval.html: Added.
* fast/js/regress/allocate-big-object-expected.txt: Added.
* fast/js/regress/allocate-big-object.html: Added.
* fast/js/regress/arity-mismatch-inlining-expected.txt: Added.
* fast/js/regress/arity-mismatch-inlining.html: Added.
* fast/js/regress/array-access-polymorphic-structure-expected.txt: Added.
* fast/js/regress/array-access-polymorphic-structure.html: Added.
* fast/js/regress/array-with-double-add-expected.txt: Added.
* fast/js/regress/array-with-double-add.html: Added.
* fast/js/regress/array-with-double-increment-expected.txt: Added.
* fast/js/regress/array-with-double-increment.html: Added.
* fast/js/regress/array-with-double-mul-add-expected.txt: Added.
* fast/js/regress/array-with-double-mul-add.html: Added.
* fast/js/regress/array-with-double-sum-expected.txt: Added.
* fast/js/regress/array-with-double-sum.html: Added.
* fast/js/regress/array-with-int32-add-sub-expected.txt: Added.
* fast/js/regress/array-with-int32-add-sub.html: Added.
* fast/js/regress/array-with-int32-or-double-sum-expected.txt: Added.
* fast/js/regress/array-with-int32-or-double-sum.html: Added.
* fast/js/regress/big-int-mul-expected.txt: Added.
* fast/js/regress/big-int-mul.html: Added.
* fast/js/regress/boolean-test-expected.txt: Added.
* fast/js/regress/boolean-test.html: Added.
* fast/js/regress/cast-int-to-double-expected.txt: Added.
* fast/js/regress/cast-int-to-double.html: Added.
* fast/js/regress/cell-argument-expected.txt: Added.
* fast/js/regress/cell-argument.html: Added.
* fast/js/regress/cfg-simplify-expected.txt: Added.
* fast/js/regress/cfg-simplify.html: Added.
* fast/js/regress/cmpeq-obj-to-obj-other-expected.txt: Added.
* fast/js/regress/cmpeq-obj-to-obj-other.html: Added.
* fast/js/regress/constant-test-expected.txt: Added.
* fast/js/regress/constant-test.html: Added.
* fast/js/regress/direct-arguments-getbyval-expected.txt: Added.
* fast/js/regress/direct-arguments-getbyval.html: Added.
* fast/js/regress/double-pollution-getbyval-expected.txt: Added.
* fast/js/regress/double-pollution-getbyval.html: Added.
* fast/js/regress/double-pollution-putbyoffset-expected.txt: Added.
* fast/js/regress/double-pollution-putbyoffset.html: Added.
* fast/js/regress/external-arguments-getbyval-expected.txt: Added.
* fast/js/regress/external-arguments-getbyval.html: Added.
* fast/js/regress/external-arguments-putbyval-expected.txt: Added.
* fast/js/regress/external-arguments-putbyval.html: Added.
* fast/js/regress/fold-double-to-int-expected.txt: Added.
* fast/js/regress/fold-double-to-int.html: Added.
* fast/js/regress/function-dot-apply-expected.txt: Added.
* fast/js/regress/function-dot-apply.html: Added.
* fast/js/regress/function-test-expected.txt: Added.
* fast/js/regress/function-test.html: Added.
* fast/js/regress/get-by-id-chain-from-try-block-expected.txt: Added.
* fast/js/regress/get-by-id-chain-from-try-block.html: Added.
* fast/js/regress/indexed-properties-in-objects-expected.txt: Added.
* fast/js/regress/indexed-properties-in-objects.html: Added.
* fast/js/regress/inline-arguments-access-expected.txt: Added.
* fast/js/regress/inline-arguments-access.html: Added.
* fast/js/regress/inline-arguments-local-escape-expected.txt: Added.
* fast/js/regress/inline-arguments-local-escape.html: Added.
* fast/js/regress/inline-get-scoped-var-expected.txt: Added.
* fast/js/regress/inline-get-scoped-var.html: Added.
* fast/js/regress/inlined-put-by-id-transition-expected.txt: Added.
* fast/js/regress/inlined-put-by-id-transition.html: Added.
* fast/js/regress/int-or-other-abs-then-get-by-val-expected.txt: Added.
* fast/js/regress/int-or-other-abs-then-get-by-val.html: Added.
* fast/js/regress/int-or-other-abs-zero-then-get-by-val-expected.txt: Added.
* fast/js/regress/int-or-other-abs-zero-then-get-by-val.html: Added.
* fast/js/regress/int-or-other-add-expected.txt: Added.
* fast/js/regress/int-or-other-add-then-get-by-val-expected.txt: Added.
* fast/js/regress/int-or-other-add-then-get-by-val.html: Added.
* fast/js/regress/int-or-other-add.html: Added.
* fast/js/regress/int-or-other-div-then-get-by-val-expected.txt: Added.
* fast/js/regress/int-or-other-div-then-get-by-val.html: Added.
* fast/js/regress/int-or-other-max-then-get-by-val-expected.txt: Added.
* fast/js/regress/int-or-other-max-then-get-by-val.html: Added.
* fast/js/regress/int-or-other-min-then-get-by-val-expected.txt: Added.
* fast/js/regress/int-or-other-min-then-get-by-val.html: Added.
* fast/js/regress/int-or-other-mod-then-get-by-val-expected.txt: Added.
* fast/js/regress/int-or-other-mod-then-get-by-val.html: Added.
* fast/js/regress/int-or-other-mul-then-get-by-val-expected.txt: Added.
* fast/js/regress/int-or-other-mul-then-get-by-val.html: Added.
* fast/js/regress/int-or-other-neg-then-get-by-val-expected.txt: Added.
* fast/js/regress/int-or-other-neg-then-get-by-val.html: Added.
* fast/js/regress/int-or-other-neg-zero-then-get-by-val-expected.txt: Added.
* fast/js/regress/int-or-other-neg-zero-then-get-by-val.html: Added.
* fast/js/regress/int-or-other-sub-expected.txt: Added.
* fast/js/regress/int-or-other-sub-then-get-by-val-expected.txt: Added.
* fast/js/regress/int-or-other-sub-then-get-by-val.html: Added.
* fast/js/regress/int-or-other-sub.html: Added.
* fast/js/regress/int-overflow-local-expected.txt: Added.
* fast/js/regress/int-overflow-local.html: Added.
* fast/js/regress/integer-divide-expected.txt: Added.
* fast/js/regress/integer-divide.html: Added.
* fast/js/regress/make-indexed-storage-expected.txt: Added.
* fast/js/regress/make-indexed-storage.html: Added.
* fast/js/regress/method-on-number-expected.txt: Added.
* fast/js/regress/method-on-number.html: Added.
* fast/js/regress/new-array-buffer-dead-expected.txt: Added.
* fast/js/regress/new-array-buffer-dead.html: Added.
* fast/js/regress/new-array-buffer-push-expected.txt: Added.
* fast/js/regress/new-array-buffer-push.html: Added.
* fast/js/regress/new-array-dead-expected.txt: Added.
* fast/js/regress/new-array-dead.html: Added.
* fast/js/regress/new-array-push-expected.txt: Added.
* fast/js/regress/new-array-push.html: Added.
* fast/js/regress/number-test-expected.txt: Added.
* fast/js/regress/number-test.html: Added.
* fast/js/regress/object-closure-call-expected.txt: Added.
* fast/js/regress/object-closure-call.html: Added.
* fast/js/regress/object-test-expected.txt: Added.
* fast/js/regress/object-test.html: Added.
* fast/js/regress/poly-stricteq-expected.txt: Added.
* fast/js/regress/poly-stricteq.html: Added.
* fast/js/regress/polymorphic-structure-expected.txt: Added.
* fast/js/regress/polymorphic-structure.html: Added.
* fast/js/regress/polyvariant-monomorphic-get-by-id-expected.txt: Added.
* fast/js/regress/polyvariant-monomorphic-get-by-id.html: Added.
* fast/js/regress/rare-osr-exit-on-local-expected.txt: Added.
* fast/js/regress/rare-osr-exit-on-local.html: Added.
* fast/js/regress/register-pressure-from-osr-expected.txt: Added.
* fast/js/regress/register-pressure-from-osr.html: Added.
* fast/js/regress/resources: Added.
* fast/js/regress/resources/regress-post.js: Added.
* fast/js/regress/resources/regress-pre.js: Added.
(window.onerror):
* fast/js/regress/script-tests: Added.
* fast/js/regress/script-tests/Float32Array-matrix-mult.js: Added.
(makeEmptyMatrix):
(multiplyMatrices):
(checkMatricesEqual):
(parseMatrix.string.split.forEach):
(parseMatrix):
(printMatrix.pad):
(printMatrix):
* fast/js/regress/script-tests/Int16Array-bubble-sort.js: Added.
(bubbleSort):
(myRandom):
(validateSort):
* fast/js/regress/script-tests/Int16Array-load-int-mul.js: Added.
(stringHash):
* fast/js/regress/script-tests/Int8Array-load.js: Added.
(adler32):
* fast/js/regress/script-tests/adapt-to-double-divide.js: Added.
(foo):
* fast/js/regress/script-tests/aliased-arguments-getbyval.js: Added.
(bar):
* fast/js/regress/script-tests/allocate-big-object.js: Added.
(foo):
* fast/js/regress/script-tests/arity-mismatch-inlining.js: Added.
(foo):
* fast/js/regress/script-tests/array-access-polymorphic-structure.js: Added.
(foo):
* fast/js/regress/script-tests/array-with-double-add.js: Added.
(foo):
* fast/js/regress/script-tests/array-with-double-increment.js: Added.
(foo):
* fast/js/regress/script-tests/array-with-double-mul-add.js: Added.
(foo):
* fast/js/regress/script-tests/array-with-double-sum.js: Added.
(foo):
* fast/js/regress/script-tests/array-with-int32-add-sub.js: Added.
(foo):
* fast/js/regress/script-tests/array-with-int32-or-double-sum.js: Added.
(foo):
* fast/js/regress/script-tests/big-int-mul.js: Added.
(stringHash):
* fast/js/regress/script-tests/boolean-test.js: Added.
(foo):
* fast/js/regress/script-tests/cast-int-to-double.js: Added.
(foo):
* fast/js/regress/script-tests/cell-argument.js: Added.
(foo):
* fast/js/regress/script-tests/cfg-simplify.js: Added.
(foo):
* fast/js/regress/script-tests/cmpeq-obj-to-obj-other.js: Added.
(foo):
(bar):
(baz):
(dostuff):
* fast/js/regress/script-tests/constant-test.js: Added.
(foo):
* fast/js/regress/script-tests/direct-arguments-getbyval.js: Added.
(bar):
* fast/js/regress/script-tests/double-pollution-getbyval.js: Added.
(foo):
* fast/js/regress/script-tests/double-pollution-putbyoffset.js: Added.
(foo):
* fast/js/regress/script-tests/external-arguments-getbyval.js: Added.
(foo):
(bar):
* fast/js/regress/script-tests/external-arguments-putbyval.js: Added.
(foo):
(bar):
* fast/js/regress/script-tests/fold-double-to-int.js: Added.
(Math.random):
* fast/js/regress/script-tests/function-dot-apply.js: Added.
(thingy):
(doCall):
(foo):
* fast/js/regress/script-tests/function-test.js: Added.
(foo):
* fast/js/regress/script-tests/get-by-id-chain-from-try-block.js: Added.
(A):
(B):
(C):
(D):
(E):
(F):
(G):
(foo):
* fast/js/regress/script-tests/indexed-properties-in-objects.js: Added.
* fast/js/regress/script-tests/inline-arguments-access.js: Added.
(foo):
(bar):
* fast/js/regress/script-tests/inline-arguments-local-escape.js: Added.
(foo):
(bar):
* fast/js/regress/script-tests/inline-get-scoped-var.js: Added.
(foo.bar):
(foo):
* fast/js/regress/script-tests/inlined-put-by-id-transition.js: Added.
(foo):
(Foo):
* fast/js/regress/script-tests/int-or-other-abs-then-get-by-val.js: Added.
(foo):
* fast/js/regress/script-tests/int-or-other-abs-zero-then-get-by-val.js: Added.
(foo):
* fast/js/regress/script-tests/int-or-other-add-then-get-by-val.js: Added.
(foo):
* fast/js/regress/script-tests/int-or-other-add.js: Added.
(foo):
* fast/js/regress/script-tests/int-or-other-div-then-get-by-val.js: Added.
(foo):
* fast/js/regress/script-tests/int-or-other-max-then-get-by-val.js: Added.
(foo):
* fast/js/regress/script-tests/int-or-other-min-then-get-by-val.js: Added.
(foo):
* fast/js/regress/script-tests/int-or-other-mod-then-get-by-val.js: Added.
(foo):
* fast/js/regress/script-tests/int-or-other-mul-then-get-by-val.js: Added.
(foo):
* fast/js/regress/script-tests/int-or-other-neg-then-get-by-val.js: Added.
(foo):
* fast/js/regress/script-tests/int-or-other-neg-zero-then-get-by-val.js: Added.
(foo):
* fast/js/regress/script-tests/int-or-other-sub-then-get-by-val.js: Added.
(foo):
* fast/js/regress/script-tests/int-or-other-sub.js: Added.
(foo):
* fast/js/regress/script-tests/int-overflow-local.js: Added.
(foo):
* fast/js/regress/script-tests/integer-divide.js: Added.
(foo):
(bar):
* fast/js/regress/script-tests/make-indexed-storage.js: Added.
(foo):
(sum):
* fast/js/regress/script-tests/method-on-number.js: Added.
(foo):
* fast/js/regress/script-tests/new-array-buffer-dead.js: Added.
(foo):
(bar):
(baz):
(thingy):
* fast/js/regress/script-tests/new-array-buffer-push.js: Added.
(foo):
(bar):
(baz):
(thingy):
* fast/js/regress/script-tests/new-array-dead.js: Added.
(foo):
(bar):
* fast/js/regress/script-tests/new-array-push.js: Added.
(foo):
* fast/js/regress/script-tests/number-test.js: Added.
(foo):
* fast/js/regress/script-tests/object-closure-call.js: Added.
(makeObjectClosure.foo):
(makeObjectClosure):
* fast/js/regress/script-tests/object-test.js: Added.
(foo):
* fast/js/regress/script-tests/poly-stricteq.js: Added.
* fast/js/regress/script-tests/polymorphic-structure.js: Added.
(foo):
* fast/js/regress/script-tests/polyvariant-monomorphic-get-by-id.js: Added.
(foo):
(Foo):
(Bar):
(bar):
* fast/js/regress/script-tests/rare-osr-exit-on-local.js: Added.
(foo):
* fast/js/regress/script-tests/register-pressure-from-osr.js: Added.
(foo):
* fast/js/regress/script-tests/simple-activation-demo.js: Added.
(foo):
* fast/js/regress/script-tests/slow-array-profile-convergence.js: Added.
(foo):
(sum):
* fast/js/regress/script-tests/slow-convergence.js: Added.
(foo):
* fast/js/regress/script-tests/sparse-conditional.js: Added.
(foo):
* fast/js/regress/script-tests/splice-to-remove.js: Added.
* fast/js/regress/script-tests/string-hash.js: Added.
(stringHash):
* fast/js/regress/script-tests/string-repeat-arith.js: Added.
(foo):
* fast/js/regress/script-tests/string-sub.js: Added.
(foo):
* fast/js/regress/script-tests/string-test.js: Added.
(foo):
* fast/js/regress/script-tests/structure-hoist-over-transitions.js: Added.
(foo):
* fast/js/regress/script-tests/tear-off-arguments-simple.js: Added.
(bar):
* fast/js/regress/script-tests/tear-off-arguments.js: Added.
(bar):
* fast/js/regress/script-tests/temporal-structure.js: Added.
(foo):
* fast/js/regress/script-tests/to-int32-boolean.js: Added.
(foo):
* fast/js/regress/script-tests/undefined-test.js: Added.
(foo):
* fast/js/regress/simple-activation-demo-expected.txt: Added.
* fast/js/regress/simple-activation-demo.html: Added.
* fast/js/regress/slow-array-profile-convergence-expected.txt: Added.
* fast/js/regress/slow-array-profile-convergence.html: Added.
* fast/js/regress/slow-convergence-expected.txt: Added.
* fast/js/regress/slow-convergence.html: Added.
* fast/js/regress/sparse-conditional-expected.txt: Added.
* fast/js/regress/sparse-conditional.html: Added.
* fast/js/regress/splice-to-remove-expected.txt: Added.
* fast/js/regress/splice-to-remove.html: Added.
* fast/js/regress/string-hash-expected.txt: Added.
* fast/js/regress/string-hash.html: Added.
* fast/js/regress/string-repeat-arith-expected.txt: Added.
* fast/js/regress/string-repeat-arith.html: Added.
* fast/js/regress/string-sub-expected.txt: Added.
* fast/js/regress/string-sub.html: Added.
* fast/js/regress/string-test-expected.txt: Added.
* fast/js/regress/string-test.html: Added.
* fast/js/regress/structure-hoist-over-transitions-expected.txt: Added.
* fast/js/regress/structure-hoist-over-transitions.html: Added.
* fast/js/regress/tear-off-arguments-expected.txt: Added.
* fast/js/regress/tear-off-arguments-simple-expected.txt: Added.
* fast/js/regress/tear-off-arguments-simple.html: Added.
* fast/js/regress/tear-off-arguments.html: Added.
* fast/js/regress/temporal-structure-expected.txt: Added.
* fast/js/regress/temporal-structure.html: Added.
* fast/js/regress/to-int32-boolean-expected.txt: Added.
* fast/js/regress/to-int32-boolean.html: Added.
* fast/js/regress/undefined-test-expected.txt: Added.
* fast/js/regress/undefined-test.html: Added.

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

8 years agoInserting a node into the DFG graph should not require five lines of code
fpizlo@apple.com [Sun, 20 Jan 2013 19:29:50 +0000 (19:29 +0000)]
Inserting a node into the DFG graph should not require five lines of code
https://bugs.webkit.org/show_bug.cgi?id=107381

Reviewed by Sam Weinig.

This adds fairly comprehensive support for inserting a node into a DFG graph in one
method call. A common example of this is:

m_insertionSet.insertNode(indexInBlock, DontRefChildren, DontRefNode, SpecNone, ForceOSRExit, codeOrigin);

The arguments to insert() specify what reference counting you need to have happen
(RefChildren => recursively refs all children, RefNode => non-recursively refs the node
that was created), the prediction to set (SpecNone is a common default), followed by
the arguments to the Node() constructor. InsertionSet::insertNode() and similar methods
(Graph::addNode() and BasicBlock::appendNode()) all use a common variadic template
function macro from DFGVariadicFunction.h. Also, all of these methods will automatically
non-recursively ref() the node being created if the flags say NodeMustGenerate.

In all, this new mechanism retains the flexibility of the old approach (you get to
manage ref counts yourself, albeit in less code) while ensuring that most code that adds
nodes to the graph now needs less code to do it.

In the future, we should revisit the reference counting methodology in the DFG: we could
do like most compilers and get rid of it entirely, or we could make it automatic. This
patch doesn't attempt to make any such major changes, and only seeks to simplify the
technique we were already using (manual ref counting).

* GNUmakefile.list.am:
* JavaScriptCore.xcodeproj/project.pbxproj:
* bytecode/Operands.h:
(JSC::dumpOperands):
* dfg/DFGAdjacencyList.h:
(AdjacencyList):
(JSC::DFG::AdjacencyList::kind):
* dfg/DFGArgumentsSimplificationPhase.cpp:
(JSC::DFG::ArgumentsSimplificationPhase::run):
* dfg/DFGBasicBlock.h:
(DFG):
(BasicBlock):
* dfg/DFGBasicBlockInlines.h: Added.
(DFG):
* dfg/DFGCFGSimplificationPhase.cpp:
(JSC::DFG::CFGSimplificationPhase::run):
(JSC::DFG::CFGSimplificationPhase::keepOperandAlive):
* dfg/DFGCommon.h:
* dfg/DFGConstantFoldingPhase.cpp:
(JSC::DFG::ConstantFoldingPhase::ConstantFoldingPhase):
(JSC::DFG::ConstantFoldingPhase::foldConstants):
(JSC::DFG::ConstantFoldingPhase::addStructureTransitionCheck):
(JSC::DFG::ConstantFoldingPhase::paintUnreachableCode):
(ConstantFoldingPhase):
* dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::FixupPhase):
(JSC::DFG::FixupPhase::fixupBlock):
(JSC::DFG::FixupPhase::fixupNode):
(FixupPhase):
(JSC::DFG::FixupPhase::checkArray):
(JSC::DFG::FixupPhase::blessArrayOperation):
(JSC::DFG::FixupPhase::injectInt32ToDoubleNode):
* dfg/DFGGraph.h:
(JSC::DFG::Graph::ref):
(Graph):
* dfg/DFGInsertionSet.h:
(DFG):
(JSC::DFG::Insertion::Insertion):
(JSC::DFG::Insertion::element):
(Insertion):
(JSC::DFG::InsertionSet::InsertionSet):
(JSC::DFG::InsertionSet::insert):
(InsertionSet):
(JSC::DFG::InsertionSet::execute):
* dfg/DFGNode.h:
(JSC::DFG::Node::Node):
(Node):
* dfg/DFGStructureCheckHoistingPhase.cpp:
(JSC::DFG::StructureCheckHoistingPhase::run):
* dfg/DFGVariadicFunction.h: Added.

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

8 years agoRemove obsolete plug-in sandboxing code.
ap@apple.com [Sun, 20 Jan 2013 18:57:29 +0000 (18:57 +0000)]
Remove obsolete plug-in sandboxing code.
https://bugs.webkit.org/show_bug.cgi?id=107362

Reviewed by Darin Adler.

Source/WebCore:

* WebCore.xcodeproj/project.pbxproj:
* plugins/npapi-sandbox.h: Removed.

Source/WebKit2:

* WebKit2.xcodeproj/project.pbxproj:
* DerivedSources.make:
* PluginProcess/mac/com.apple.WebKit.PluginProcess.sb.in: Removed.

* PluginProcess/mac/PluginProcessMac.mm:
(WebKit::initializeSandbox): Fixed a memory leak in code that stays.

* WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
(WebKit::NPN_GetValue):

* WebProcess/Plugins/Netscape/mac/NetscapeSandboxFunctions.h:
* WebProcess/Plugins/Netscape/mac/NetscapeSandboxFunctions.mm:
Removed API related parts. Remaining code will move to a better place in a follow-up
patch, just keeping it here for easier reviewing.
(enterSandbox): Removed no longer used arguments.

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

8 years agoWeb Inspector: Make V8 LiveEdit API disabled by default
commit-queue@webkit.org [Sun, 20 Jan 2013 18:18:14 +0000 (18:18 +0000)]
Web Inspector: Make V8 LiveEdit API disabled by default
https://bugs.webkit.org/show_bug.cgi?id=106668

Patch by Peter Rybin <peter.rybin@gmail.com> on 2013-01-20
Reviewed by Yury Semikhatsky.

Initialize method is patched accordingly.

* bindings/v8/JavaScriptCallFrame.cpp:
(WebCore::JavaScriptCallFrame::restart): missing enable/disable calls added for restart
* bindings/v8/V8Initializer.cpp:
(WebCore::initializeV8Common): initializer method patched

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

8 years ago[gstreamer] assertion in g_object_unref from _WebKitWebAudioSourcePrivate destructor
christophe.dumez@intel.com [Sun, 20 Jan 2013 11:36:20 +0000 (11:36 +0000)]
[gstreamer]  assertion in g_object_unref from _WebKitWebAudioSourcePrivate destructor
https://bugs.webkit.org/show_bug.cgi?id=107374

Reviewed by Philippe Normand.

WebKitWebAudioSrc object gets unrefed one time too many in
_WebKitWebAudioSourcePrivate destructor, causing an assertion
in g_object_unref. This patch passes NULL instead of
g_object_unref to gst_task_new() so that the WebKitWebAudioSrc
object does not get unrefed when the GstTask is destroyed.

No new tests, already covered by webaudio tests.

* platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:
(webkit_web_audio_src_init):

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

8 years ago[chromium] move notification related methods to TestRunner
jochen@chromium.org [Sun, 20 Jan 2013 10:50:07 +0000 (10:50 +0000)]
[chromium] move notification related methods to TestRunner
https://bugs.webkit.org/show_bug.cgi?id=107269

Reviewed by Adam Barth.

* DumpRenderTree/chromium/DRTTestRunner.cpp:
(DRTTestRunner::DRTTestRunner):
* DumpRenderTree/chromium/DRTTestRunner.h:
(DRTTestRunner):
* DumpRenderTree/chromium/TestRunner/public/WebTestDelegate.h:
(WebTestDelegate):
(WebTestRunner::WebTestDelegate::grantWebNotificationPermission):
(WebTestRunner::WebTestDelegate::simulateLegacyWebNotificationClick):
* DumpRenderTree/chromium/TestRunner/src/TestRunner.cpp:
(WebTestRunner::TestRunner::TestRunner):
(WebTestRunner):
(WebTestRunner::TestRunner::grantWebNotificationPermission):
(WebTestRunner::TestRunner::simulateLegacyWebNotificationClick):
* DumpRenderTree/chromium/TestRunner/src/TestRunner.h:
(TestRunner):
* DumpRenderTree/chromium/WebViewHost.cpp:
(WebViewHost::grantWebNotificationPermission):
(WebViewHost::simulateLegacyWebNotificationClick):
* DumpRenderTree/chromium/WebViewHost.h:

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

8 years ago[V8] Create a persistent wrapper for Window.prototype and innerGlobalObject
haraken@chromium.org [Sun, 20 Jan 2013 10:35:00 +0000 (10:35 +0000)]
[V8] Create a persistent wrapper for Window.prototype and innerGlobalObject
https://bugs.webkit.org/show_bug.cgi?id=107253

Reviewed by Adam Barth.

This is one of steps to avoid hitting an ASSERT()
that will be added in https://bugs.webkit.org/show_bug.cgi?id=107137 .
We should have a persistent wrapper for all DOM objects
and set a class id on the wrapper.

No tests. No change in behavior.

* bindings/v8/V8DOMWindowShell.cpp:
(WebCore::V8DOMWindowShell::installDOMWindow):

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

8 years ago[chromium] move geolocation related methods to TestRunner
jochen@chromium.org [Sun, 20 Jan 2013 09:40:09 +0000 (09:40 +0000)]
[chromium] move geolocation related methods to TestRunner
https://bugs.webkit.org/show_bug.cgi?id=107267

Reviewed by Adam Barth.

* DumpRenderTree/chromium/DRTTestRunner.cpp:
(DRTTestRunner::DRTTestRunner):
* DumpRenderTree/chromium/DRTTestRunner.h:
(DRTTestRunner):
* DumpRenderTree/chromium/TestRunner/public/WebTestDelegate.h:
(WebTestRunner::WebTestDelegate::numberOfPendingGeolocationPermissionRequests):
(WebTestRunner::WebTestDelegate::setGeolocationPermission):
(WebTestRunner::WebTestDelegate::setMockGeolocationPosition):
(WebTestRunner::WebTestDelegate::setMockGeolocationPositionUnavailableError):
* DumpRenderTree/chromium/TestRunner/src/TestRunner.cpp:
(WebTestRunner::TestRunner::TestRunner):
(WebTestRunner::TestRunner::numberOfPendingGeolocationPermissionRequests):
(WebTestRunner):
(WebTestRunner::TestRunner::setGeolocationPermission):
(WebTestRunner::TestRunner::setMockGeolocationPosition):
(WebTestRunner::TestRunner::setMockGeolocationPositionUnavailableError):
* DumpRenderTree/chromium/TestRunner/src/TestRunner.h:
(TestRunner):
* DumpRenderTree/chromium/WebViewHost.cpp:
(WebViewHost::numberOfPendingGeolocationPermissionRequests):
(WebViewHost::setGeolocationPermission):
(WebViewHost::setMockGeolocationPosition):
(WebViewHost::setMockGeolocationPositionUnavailableError):
* DumpRenderTree/chromium/WebViewHost.h:

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

8 years agoUnreviewed build fix for Qt WK2 after r140258.
zandobersek@gmail.com [Sun, 20 Jan 2013 07:14:27 +0000 (07:14 +0000)]
Unreviewed build fix for Qt WK2 after r140258.
Use the size_t type instead of unsigned for the variable
which holds the position of the first null character in the
console message.

* WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
(WTR::InjectedBundlePage::willAddMessageToConsole):

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

8 years agoRefactor SVGSVGElement to inherit from SVGStyledTransformableElement
pdr@google.com [Sun, 20 Jan 2013 06:32:29 +0000 (06:32 +0000)]
Refactor SVGSVGElement to inherit from SVGStyledTransformableElement
https://bugs.webkit.org/show_bug.cgi?id=107393

Reviewed by Dirk Schulze.

Source/WebCore:

This patch refactors SVGSVGElement to inherit from SVGStyledTransformableElement instead
of SVGStyledLocatableElement. In a followup patch, SVGStyledTransformableElement will
be refactored into SVGGraphicsElement which will match the spec:
https://svgwg.org/svg2-draft/single-page.html#struct-InterfaceSVGSVGElement

Tests: svg/transforms/svgsvgelement-transform-expected.svg
       svg/transforms/svgsvgelement-transform.svg

* svg/SVGSVGElement.cpp:
(WebCore):
(WebCore::SVGSVGElement::SVGSVGElement):
(WebCore::SVGSVGElement::didMoveToNewDocument):
(WebCore::SVGSVGElement::parseAttribute):
(WebCore::SVGSVGElement::insertedInto):
(WebCore::SVGSVGElement::removedFrom):
* svg/SVGSVGElement.h:
(SVGSVGElement):
* svg/SVGSVGElement.idl:

LayoutTests:

* svg/transforms/svgsvgelement-transform-expected.svg: Added.
* svg/transforms/svgsvgelement-transform.svg: Added.

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

8 years agoDelete webkit-perf.appspot.com code from WebKit repository
rniwa@webkit.org [Sun, 20 Jan 2013 05:04:30 +0000 (05:04 +0000)]
Delete webkit-perf.appspot.com code from WebKit repository
https://bugs.webkit.org/show_bug.cgi?id=107390

Reviewed by Adam Barth.

Delete webkit-perf.appspot.com code from WebKit repository since I maintain
and push the code via https://github.com/rniwa/webkit-perf now.

* Websites/webkit-perf.appspot.com: Removed.

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

8 years agoMerge SVGStylable into SVGStyledElement
pdr@google.com [Sun, 20 Jan 2013 03:12:17 +0000 (03:12 +0000)]
Merge SVGStylable into SVGStyledElement
https://bugs.webkit.org/show_bug.cgi?id=106877

.:

Reviewed by Dirk Schulze.

SVG2 changes element inheritance so all SVGElements are stylable. As a first-step towards a
cleaner class hierarchy, this patch moves SVGStylable into SVGStyledElement.

* wscript:

Source/WebCore:

Reviewed by Dirk Schulze.

SVG2 changes element inheritance so all SVGElements are stylable. As a first-step towards a
cleaner class hierarchy, this patch moves SVGStylable into SVGStyledElement.

No new tests as this is just a refactoring.

* CMakeLists.txt:
* DerivedSources.make:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.exp.in:
* WebCore.gyp/WebCore.gyp:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* bindings/objc/DOMSVG.h:
* bindings/scripts/CodeGeneratorObjC.pm:
* page/DOMWindow.idl:
* svg/SVGAElement.idl:
* svg/SVGAllInOne.cpp:
* svg/SVGCircleElement.idl:
* svg/SVGClipPathElement.idl:
* svg/SVGDefsElement.idl:
* svg/SVGDescElement.idl:
* svg/SVGEllipseElement.idl:
* svg/SVGFEBlendElement.idl:
* svg/SVGFEColorMatrixElement.idl:
* svg/SVGFEComponentTransferElement.idl:
* svg/SVGFECompositeElement.idl:
* svg/SVGFEConvolveMatrixElement.idl:
* svg/SVGFEDiffuseLightingElement.idl:
* svg/SVGFEDisplacementMapElement.idl:
* svg/SVGFEDropShadowElement.idl:
* svg/SVGFEFloodElement.idl:
* svg/SVGFEGaussianBlurElement.idl:
* svg/SVGFEImageElement.idl:
* svg/SVGFEMergeElement.idl:
* svg/SVGFEMorphologyElement.idl:
* svg/SVGFEOffsetElement.idl:
* svg/SVGFESpecularLightingElement.idl:
* svg/SVGFETileElement.idl:
* svg/SVGFETurbulenceElement.idl:
* svg/SVGFilterElement.idl:
* svg/SVGFilterPrimitiveStandardAttributes.idl:
* svg/SVGForeignObjectElement.idl:
* svg/SVGGElement.idl:
* svg/SVGGlyphRefElement.idl:
* svg/SVGGradientElement.idl:
* svg/SVGImageElement.idl:
* svg/SVGLineElement.idl:
* svg/SVGMarkerElement.idl:
* svg/SVGMaskElement.idl:
* svg/SVGMissingGlyphElement.idl:
* svg/SVGPathElement.idl:
* svg/SVGPatternElement.idl:
* svg/SVGPolygonElement.idl:
* svg/SVGPolylineElement.idl:
* svg/SVGRectElement.idl:
* svg/SVGSVGElement.idl:
* svg/SVGStopElement.idl:
* svg/SVGStylable.cpp: Removed.
* svg/SVGStylable.h: Removed.
* svg/SVGStylable.idl: Removed.
* svg/SVGStyledElement.h:
(WebCore):
* svg/SVGStyledElement.idl: Added.
* svg/SVGSwitchElement.idl:
* svg/SVGSymbolElement.idl:
* svg/SVGTextContentElement.idl:
* svg/SVGTitleElement.idl:
* svg/SVGUseElement.idl:

Source/WebKit/mac:

SVG2 changes element inheritance so all SVGElements are stylable. As a first-step towards a
cleaner class hierarchy, this patch moves SVGStylable into SVGStyledElement.

Reviewed by Dirk Schulze.

* MigrateHeaders.make:

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

8 years agoUnreviewed, rolling out r140260.
commit-queue@webkit.org [Sun, 20 Jan 2013 01:30:27 +0000 (01:30 +0000)]
Unreviewed, rolling out r140260.
http://trac.webkit.org/changeset/140260
https://bugs.webkit.org/show_bug.cgi?id=107387

breaks fast/text/hyphens.html, fast/text/hyphenate-* (but
nothing else) (Requested by thakis__ on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2013-01-19

* Scripts/update-webkit-chromium:

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

8 years agoCanvasRenderingContext2D::drawTextInternal should create a mask buffer compatible...
timothy_horton@apple.com [Sun, 20 Jan 2013 01:00:31 +0000 (01:00 +0000)]
CanvasRenderingContext2D::drawTextInternal should create a mask buffer compatible with that of the canvas
https://bugs.webkit.org/show_bug.cgi?id=107372

Reviewed by Simon Fraser.

No new tests, just matching acceleration modes.

* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::drawTextInternal): Create a buffer with the same acceleration mode as the canvas
instead of forcing the use of an accelerated buffer if we support acceleration; the canvas could be unaccelerated
even if USE(IOSURFACE_CANVAS_BACKING_STORE) is on.

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

8 years agoDelegated scrolling: Assertion on attempt to show a CSS sticky element
mikhail.pozdnyakov@intel.com [Sun, 20 Jan 2013 00:10:35 +0000 (00:10 +0000)]
Delegated scrolling: Assertion on attempt to show a CSS sticky element
https://bugs.webkit.org/show_bug.cgi?id=106890

Reviewed by Kenneth Rohde Christiansen.

Source/WebCore:

The problem was that frame view (when delegated scrolling enabled) calculated the positions of sticky elements for
a scroll event before sending scroll request. In case of multiple scroll events that caused assertion as the response
for previous scroll request was received after the expected sticky elements positions had been already updated for the following
scroll request.

No new tests. Covered by existing 'fast/css/sticky' tests.

* page/FrameView.cpp:
(WebCore::FrameView::setFixedVisibleContentRect):
* platform/ScrollView.cpp:
(WebCore::ScrollView::scrollTo):

Tools:

Enabled fixed layout mode in WTR for 'fast/css/sticky' tests.

* WebKitTestRunner/TestInvocation.cpp:
(WTR::shouldUseFixedLayout):
(WTR):
(WTR::updateLayoutType):

LayoutTests:

Skipped failing css/sticky tests on WK2 EFL.

* platform/efl-wk2/TestExpectations:

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

8 years agoRemove the `svn:executable' property from some EFL files.
rakuco@webkit.org [Sun, 20 Jan 2013 00:05:39 +0000 (00:05 +0000)]
Remove the `svn:executable' property from some EFL files.

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

8 years agoMake ninja the default build system for build-webkit --chromium on mac
thakis@chromium.org [Sat, 19 Jan 2013 22:44:23 +0000 (22:44 +0000)]
Make ninja the default build system for build-webkit --chromium on mac
https://bugs.webkit.org/show_bug.cgi?id=106737

Reviewed by Eric Seidel.

* Scripts/update-webkit-chromium:

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

8 years agoTrack inheritance structures in a side table, instead of using a private
ggaren@apple.com [Sat, 19 Jan 2013 21:47:45 +0000 (21:47 +0000)]
Track inheritance structures in a side table, instead of using a private
name in each prototype
https://bugs.webkit.org/show_bug.cgi?id=107378

Reviewed by Sam Weinig and Phil Pizlo.

This is a step toward object size inference.

Using a side table frees us to use a more complex key (a pair of
prototype and expected inline capacity).

It also avoids ruining inline caches for prototypes. (Adding a new private
name for a new inline capacity would change the prototype's structure,
possibly firing watchpoints, making inline caches go polymorphic, and
generally causing us to have a bad time.)

* CMakeLists.txt:
* GNUmakefile.list.am:
* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
* JavaScriptCore.xcodeproj/project.pbxproj:
* Target.pri: Buildage.

* runtime/ArrayPrototype.cpp:
(JSC::ArrayPrototype::finishCreation): Updated to use new side table API.

* runtime/JSFunction.cpp:
(JSC::JSFunction::cacheInheritorID): Updated to use new side table API.

(JSC::JSFunction::visitChildren): Fixed a long-standing bug where JSFunction
forgot to visit one of its data members (m_cachedInheritorID). This
wasn't a user-visible problem before because JSFunction would always
visit its .prototype property, which visited its m_cachedInheritorID.
But now, function.prototype only weakly owns function.m_cachedInheritorID.

* runtime/JSGlobalData.h:
(JSGlobalData): Added the map, taking care to make sure that its
destructor would run after the heap destructor.

* runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::reset): Updated to use new side table API.

* runtime/JSObject.cpp:
(JSC::JSObject::notifyPresenceOfIndexedAccessors):
(JSC::JSObject::setPrototype):
* runtime/JSObject.h:
(JSObject): Updated to use new side table API, and removed lots of code
that used to manage the per-object private name.

* runtime/JSProxy.cpp:
(JSC::JSProxy::setTarget):
* runtime/ObjectConstructor.cpp:
(JSC::objectConstructorCreate):
* runtime/ObjectPrototype.cpp:
(JSC::ObjectPrototype::finishCreation): Updated to use new side table API.

* runtime/PrototypeMap.cpp: Added.
(JSC):
(JSC::PrototypeMap::addPrototype):
(JSC::PrototypeMap::emptyObjectStructureForPrototype):
* runtime/PrototypeMap.h: Added.
(PrototypeMap):
(JSC::PrototypeMap::isPrototype):
(JSC::PrototypeMap::clearEmptyObjectStructureForPrototype): New side table.
This is a simple weak map, mapping an object to the structure you should
use when inheriting from that object. (In future, inline capacity will
be a part of the mapping.)

I used two maps to preserve existing behavior that allowed us to speculate
about an object becoming a prototype, even if it wasn't one at the moment.
However, I suspect that behavior can be removed without harm.

* runtime/WeakGCMap.h:
(JSC::WeakGCMap::contains):
(WeakGCMap): I would rate myself a 6 / 10 in C++.

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

8 years ago[WK2] svg/dom/fuzz-path-parser.html is failing
commit-queue@webkit.org [Sat, 19 Jan 2013 21:11:31 +0000 (21:11 +0000)]
[WK2] svg/dom/fuzz-path-parser.html is failing
https://bugs.webkit.org/show_bug.cgi?id=107133

Patch by Zan Dobersek <zdobersek@igalia.com> on 2013-01-19
Reviewed by Alexey Proskuryakov.

Tools:

Console messages can contain null characters before the end of string.
Appending such message to the StringBuilder as a WTFString appends the
complete string, including the null character. This later cuts off everything
after the null character when the string is being printed out to the test
output.

To avoid this, truncate the string up to the first null character. This
preserves the newline character appended immediately after this and
stops giving incorrect output.

* WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
(WTR::InjectedBundlePage::willAddMessageToConsole):

LayoutTests:

Unskip the now-passing test.

* platform/gtk-wk2/TestExpectations:
* platform/wk2/TestExpectations:

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

8 years ago[EFL] Unreviewed gardening.
dominik.rottsches@intel.com [Sat, 19 Jan 2013 21:02:17 +0000 (21:02 +0000)]
[EFL] Unreviewed gardening.

* platform/efl/TestExpectations: sticky-top-zoomed.html marked as ImageOnlyFailure.

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

8 years ago[EFL] Unreviewed gardening.
dominik.rottsches@intel.com [Sat, 19 Jan 2013 20:39:06 +0000 (20:39 +0000)]
[EFL] Unreviewed gardening.

* platform/efl/TestExpectations: Accessibility test now marked as failing.
* platform/efl/inspector/editor/text-editor-highlight-regexp-expected.txt: New baseline without warnings.

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

8 years agoUnreviewed GTK gardening.
zandobersek@gmail.com [Sat, 19 Jan 2013 20:28:16 +0000 (20:28 +0000)]
Unreviewed GTK gardening.

Managing IndexedDB failures still lingering around after the IDB support was enabled.

* platform/gtk/TestExpectations:

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

8 years ago[EFL] Unreviewed gardening.
dominik.rottsches@intel.com [Sat, 19 Jan 2013 19:43:37 +0000 (19:43 +0000)]
[EFL] Unreviewed gardening.

Revert accidental global expectation override.

Patch by Dominik Röttsches  <Dominik Röttsches <dominik.rottsches@intel.com>> on 2013-01-19

* fast/css/css2-system-fonts-expected.txt: Reverted.
* platform/efl/fast/css/css2-system-fonts-expected.txt: Copied from LayoutTests/fast/css/css2-system-fonts-expected.txt.

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

8 years ago[EFL] Unreviewed gardening.
dominik.rottsches@intel.com [Sat, 19 Jan 2013 19:22:24 +0000 (19:22 +0000)]
[EFL] Unreviewed gardening.

A couple of missing rebaselines after enabling subpixel layout and updating freetype.

Patch by Dominik Röttsches  <Dominik Röttsches <dominik.rottsches@intel.com>> on 2013-01-19

* fast/css/css2-system-fonts-expected.txt:
* platform/efl-wk2/editing/selection/move-by-character-6-expected.png:
* platform/efl-wk2/editing/selection/move-by-character-6-expected.txt:
* platform/efl/css2.1/t100801-c544-valgn-03-d-agi-expected.png:
* platform/efl/css2.1/t100801-c544-valgn-03-d-agi-expected.txt:
* platform/efl/editing/input/caret-at-the-edge-of-contenteditable-expected.png:
* platform/efl/editing/input/caret-at-the-edge-of-contenteditable-expected.txt:
* platform/efl/editing/input/reveal-caret-of-multiline-contenteditable-expected.png:
* platform/efl/editing/input/reveal-caret-of-multiline-contenteditable-expected.txt:
* platform/efl/editing/input/reveal-caret-of-multiline-input-expected.png:
* platform/efl/editing/input/reveal-caret-of-multiline-input-expected.txt:
* platform/efl/fast/encoding/utf-16-big-endian-expected.txt:
* platform/efl/fast/encoding/utf-16-little-endian-expected.txt:
* platform/efl/fast/js/global-constructors-expected.txt:
* platform/efl/fast/profiler/apply-expected.txt:
* platform/efl/fast/regions/overflow-moving-below-floats-in-variable-width-regions-expected.png:
* platform/efl/fast/regions/overflow-moving-below-floats-in-variable-width-regions-expected.txt:
* platform/efl/fast/regions/overflow-size-change-in-variable-width-regions-expected.png:
* platform/efl/fast/regions/overflow-size-change-in-variable-width-regions-expected.txt:
* platform/efl/fast/regions/overflow-size-change-with-stacking-context-expected.png:
* platform/efl/fast/regions/overflow-size-change-with-stacking-context-expected.txt:
* platform/efl/fast/repaint/moving-shadow-on-path-expected.txt:
* platform/efl/inspector/editor/text-editor-highlight-regexp-expected.txt:

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

8 years ago[EFL][WebGL] Regression: WebGL Content is not drawn after resizing the canvas.
commit-queue@webkit.org [Sat, 19 Jan 2013 17:15:41 +0000 (17:15 +0000)]
[EFL][WebGL] Regression: WebGL Content is not drawn after resizing the canvas.
https://bugs.webkit.org/show_bug.cgi?id=107366

Patch by Kondapally Kalyan <kalyan.kondapally@intel.com> on 2013-01-19
Reviewed by Kenneth Rohde Christiansen.

Window is shared between GraphicsSurface and its client.
Client doesn't own the Window. This patch ensures that client
doesn't delete the shared Window handle.

Covered by existing WebGL tests.

* platform/graphics/surfaces/glx/GraphicsSurfaceGLX.cpp:
(WebCore::GraphicsSurfacePrivate::clear):

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

8 years ago[EFL] Unreviewed gardening.
dominik.rottsches@intel.com [Sat, 19 Jan 2013 16:23:59 +0000 (16:23 +0000)]
[EFL] Unreviewed gardening.

Rebaseline after enabling subpixel layout and updating freetype (26/26).

Patch by Dominik Röttsches <dominik.rottsches@intel.com> on 2013-01-19

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

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

8 years ago[EFL] Unreviewed gardening.
dominik.rottsches@intel.com [Sat, 19 Jan 2013 16:17:58 +0000 (16:17 +0000)]
[EFL] Unreviewed gardening.

Rebaseline after enabling subpixel layout and updating freetype (25/26).

* platform/efl/fast/css/
* platform/efl/fast/css3-text/
* platform/efl/fast/dom/
* platform/efl/fast/encoding/
* platform/efl/fast/events/
* platform/efl/fast/flexbox/
* platform/efl/fast/forms/
* platform/efl/fast/frames/
* platform/efl/fast/gradients/
* platform/efl/fast/history/
* platform/efl/fast/html/
* platform/efl/fast/images/
* platform/efl/fast/
* platform/efl/fast/inline/
* platform/efl/fast/layers/
* platform/efl/fast/line-grid/
* platform/efl/fast/lists/
* platform/efl/fast/multicol/
* platform/efl/fast/overflow/
* platform/efl/fast/parser/
* platform/efl/fast/profiler/
* platform/efl/fast/reflections/
* platform/efl/fast/regions/
* platform/efl/fast/repaint/
* platform/efl/fast/replaced/
* platform/efl/fast/ruby/
* platform/efl/fast/selectors/
* platform/efl/fast/table/
* platform/efl/fast/text/
* platform/efl/fast/transforms/
* platform/efl/fast/writing-mode/
* platform/efl/http/
* platform/efl/ietestcenter/
* platform/efl/inspector/
* platform/efl/svg/
* platform/efl/tables/

Patch by Dominik Röttsches <dominik.rottsches@intel.com> on 2013-01-19

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

8 years ago[EFL] Unreviewed gardening.
dominik.rottsches@intel.com [Sat, 19 Jan 2013 15:55:09 +0000 (15:55 +0000)]
[EFL] Unreviewed gardening.

Rebaseline after enabling subpixel layout and updating freetype (24/26).

* platform/efl/accessibility/
* platform/efl/animations/
* platform/efl/compositing/
* platform/efl/css1/
* platform/efl/css2.1/
* platform/efl/css3/
* platform/efl/editing/
* platform/efl/fast/
* platform/efl/fast/backgrounds/
* platform/efl/fast/block/
* platform/efl/fast/borders/
* platform/efl/fast/box-shadow/
* platform/efl/fast/box-sizing/
* platform/efl/fast/canvas/
* platform/efl/fast/clip/
* platform/efl/fast/compact/
* platform/efl/fast/css-generated-content/
* platform/efl/fast/css/
* platform/efl/tables/
* platform/efl/transforms/
* platform/efl/transitions/

Patch by Dominik Röttsches <dominik.rottsches@intel.com> on 2013-01-19

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

8 years ago[EFL] Unreviewed gardening.
dominik.rottsches@intel.com [Sat, 19 Jan 2013 15:35:10 +0000 (15:35 +0000)]
[EFL] Unreviewed gardening.

Rebaseline after enabling subpixel layout and updating freetype (23/26).

* platform/efl/tables/

Patch by Dominik Röttsches <dominik.rottsches@intel.com> on 2013-01-19

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

8 years ago[EFL] Unreviewed gardening.
dominik.rottsches@intel.com [Sat, 19 Jan 2013 15:17:48 +0000 (15:17 +0000)]
[EFL] Unreviewed gardening.

Rebaseline after enabling subpixel layout and updating freetype (22/26).

* platform/efl/tables/

Patch by Dominik Röttsches <dominik.rottsches@intel.com> on 2013-01-19

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

8 years ago[EFL] Unreviewed gardening.
dominik.rottsches@intel.com [Sat, 19 Jan 2013 15:05:55 +0000 (15:05 +0000)]
[EFL] Unreviewed gardening.

Rebaseline after enabling subpixel layout and updating freetype (21/26).

* platform/efl/tables/

Patch by Dominik Röttsches <dominik.rottsches@intel.com> on 2013-01-19

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

8 years ago[EFL] Unreviewed gardening.
dominik.rottsches@intel.com [Sat, 19 Jan 2013 14:54:17 +0000 (14:54 +0000)]
[EFL] Unreviewed gardening.

Rebaseline after enabling subpixel layout and updating freetype (20/26).

* platform/efl/svg/dynamic-updates/
* platform/efl/svg/filters/
* platform/efl/svg/foreignObject/
* platform/efl/svg/hixie/
* platform/efl/svg/in-html/
* platform/efl/svg/overflow/
* platform/efl/svg/repaint/
* platform/efl/svg/stroke/
* platform/efl/svg/text/
* platform/efl/svg/transforms/
* platform/efl/svg/wicd/
* platform/efl/svg/zoom/
* platform/efl/tables/

Patch by Dominik Röttsches <dominik.rottsches@intel.com> on 2013-01-19

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

8 years agoMake renderer constructors take Element where possible
antti@apple.com [Sat, 19 Jan 2013 14:34:36 +0000 (14:34 +0000)]
Make renderer constructors take Element where possible
https://bugs.webkit.org/show_bug.cgi?id=107138

Reviewed by David Hyatt.

Tighter typing prevents bugs and enables optimizations.

The patch changes how anonymous rendererer are constructed. Previously Document* as the node parameter
indicated that the renderer was anonymous. This forced the code to operate on ContainerNodes (Document
is not an Element). Now anonymous renderers are constructed by passing null and the document is set by
separate setDocumentForAnonymous() call. The patch uses RenderFoo::createAnonymous() pattern consistently.

Most constructors are switched to take Element. RenderBlock still takes ContainerNode due to a few subclasses
(RenderView and RenderFlowThread) that pass in a Document.

* page/FrameView.cpp:
(WebCore::FrameView::updateScrollCorner):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::createAnonymous):
(WebCore::RenderBlock::createReplacementRunIn):
(WebCore::RenderBlock::updateFirstLetterStyle):
(WebCore::RenderBlock::createFirstLetterRenderer):
(WebCore::RenderBlock::createAnonymousWithParentRendererAndDisplay):
(WebCore::RenderBlock::createAnonymousColumnsWithParentRenderer):
(WebCore::RenderBlock::createAnonymousColumnSpanWithParentRenderer):
* rendering/RenderBlock.h:
* rendering/RenderDeprecatedFlexibleBox.cpp:
(WebCore::RenderDeprecatedFlexibleBox::RenderDeprecatedFlexibleBox):
(WebCore::RenderDeprecatedFlexibleBox::createAnonymous):
* rendering/RenderDeprecatedFlexibleBox.h:
(RenderDeprecatedFlexibleBox):
* rendering/RenderDetailsMarker.cpp:
(WebCore::RenderDetailsMarker::RenderDetailsMarker):
* rendering/RenderDetailsMarker.h:
(RenderDetailsMarker):
* rendering/RenderDialog.h:
(WebCore::RenderDialog::RenderDialog):
* rendering/RenderFieldset.cpp:
(WebCore::RenderFieldset::RenderFieldset):
* rendering/RenderFieldset.h:
* rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::RenderFlexibleBox):
* rendering/RenderFlexibleBox.h:
(RenderFlexibleBox):
* rendering/RenderFlowThread.cpp:
(WebCore::RenderFlowThread::RenderFlowThread):
* rendering/RenderFlowThread.h:
* rendering/RenderFullScreen.cpp:
(RenderFullScreenPlaceholder::RenderFullScreenPlaceholder):
(RenderFullScreen::RenderFullScreen):
(RenderFullScreen::createAnonymous):
(RenderFullScreen::wrapRenderer):
* rendering/RenderFullScreen.h:
(RenderFullScreen):
* rendering/RenderGrid.cpp:
(WebCore::RenderGrid::RenderGrid):
* rendering/RenderGrid.h:
* rendering/RenderImage.cpp:
(WebCore::RenderImage::RenderImage):
(WebCore::RenderImage::createAnonymous):
* rendering/RenderImage.h:
* rendering/RenderInline.cpp:
(WebCore::RenderInline::RenderInline):
(WebCore::RenderInline::createAnonymous):
(WebCore::RenderInline::addChildIgnoringContinuation):
* rendering/RenderInline.h:
(RenderInline):
(WebCore::RenderInline::node):

    Add version with covariant Element return type.

* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::updateScrollCornerStyle):
(WebCore::RenderLayer::updateResizerStyle):
(WebCore::RenderLayer::createReflection):
(WebCore::RenderListItem::RenderListItem):
(WebCore::RenderListItem::styleDidChange):
* rendering/RenderListItem.h:
* rendering/RenderListMarker.cpp:
(WebCore::RenderListMarker::RenderListMarker):
(WebCore::RenderListMarker::createAnonymous):
* rendering/RenderListMarker.h:
* rendering/RenderMediaControlElements.cpp:
(WebCore::RenderMediaVolumeSliderContainer::RenderMediaVolumeSliderContainer):
(WebCore::RenderMediaControlTimeDisplay::RenderMediaControlTimeDisplay):
(WebCore::RenderTextTrackContainerElement::RenderTextTrackContainerElement):
* rendering/RenderMediaControlElements.h:
(RenderMediaVolumeSliderContainer):
(RenderMediaControlTimeDisplay):
(RenderTextTrackContainerElement):
* rendering/RenderMultiColumnBlock.cpp:
(WebCore::RenderMultiColumnBlock::RenderMultiColumnBlock):
(WebCore::RenderMultiColumnBlock::ensureColumnSets):
* rendering/RenderMultiColumnBlock.h:
* rendering/RenderMultiColumnFlowThread.cpp:
(WebCore::RenderMultiColumnFlowThread::RenderMultiColumnFlowThread):
* rendering/RenderMultiColumnFlowThread.h:
(RenderMultiColumnFlowThread):
* rendering/RenderMultiColumnSet.cpp:
(WebCore::RenderMultiColumnSet::RenderMultiColumnSet):
(WebCore::RenderMultiColumnSet::createAnonymous):
* rendering/RenderMultiColumnSet.h:
(RenderMultiColumnSet):
* rendering/RenderNamedFlowThread.cpp:
(WebCore::RenderNamedFlowThread::RenderNamedFlowThread):
* rendering/RenderNamedFlowThread.h:
(RenderNamedFlowThread):
* rendering/RenderObject.cpp:
(WebCore::RenderObject::RenderObject):
* rendering/RenderObject.h:

     Passed in null node indicates that the renderer is anonymous. Remove now unnecessary setIsAnonymous() function.

(WebCore::RenderObject::isAnonymous):
(WebCore::RenderObject::setDocumentForAnonymous):
(WebCore::RenderObject::RenderObjectBitfields::RenderObjectBitfields):
* rendering/RenderRegion.cpp:
(WebCore::RenderRegion::RenderRegion):
* rendering/RenderRegion.h:
* rendering/RenderRegionSet.cpp:
(WebCore::RenderRegionSet::RenderRegionSet):
* rendering/RenderRegionSet.h:
* rendering/RenderReplaced.cpp:
(WebCore::RenderReplaced::RenderReplaced):
* rendering/RenderReplaced.h:
* rendering/RenderReplica.cpp:
(WebCore::RenderReplica::RenderReplica):
(WebCore::RenderReplica::createAnonymous):
* rendering/RenderReplica.h:
(RenderReplica):
* rendering/RenderRuby.cpp:
(WebCore::createAnonymousRubyInlineBlock):
(WebCore::RenderRubyAsInline::RenderRubyAsInline):
(WebCore::RenderRubyAsBlock::RenderRubyAsBlock):
* rendering/RenderRuby.h:
(RenderRubyAsInline):
(RenderRubyAsBlock):
* rendering/RenderRubyBase.cpp:
(WebCore::RenderRubyBase::RenderRubyBase):
(WebCore::RenderRubyBase::createAnonymous):
* rendering/RenderRubyBase.h:
(RenderRubyBase):
* rendering/RenderRubyRun.cpp:
(WebCore::RenderRubyRun::RenderRubyRun):
(WebCore::RenderRubyRun::createRubyBase):
(WebCore::RenderRubyRun::staticCreateRubyRun):
* rendering/RenderRubyRun.h:
* rendering/RenderRubyText.cpp:
(WebCore::RenderRubyText::RenderRubyText):
* rendering/RenderRubyText.h:
* rendering/RenderScrollbar.cpp:
(WebCore::RenderScrollbar::updateScrollbarPart):
* rendering/RenderScrollbarPart.cpp:
(WebCore::RenderScrollbarPart::RenderScrollbarPart):
(WebCore::RenderScrollbarPart::createAnonymous):
* rendering/RenderScrollbarPart.h:
(RenderScrollbarPart):
* rendering/RenderSearchField.cpp:
(WebCore::RenderSearchField::RenderSearchField):
* rendering/RenderSearchField.h:
(RenderSearchField):
* rendering/RenderTable.cpp:
(WebCore::RenderTable::RenderTable):
(WebCore::RenderTable::createAnonymousWithParentRenderer):
* rendering/RenderTable.h:
* rendering/RenderTableCaption.cpp:
(WebCore::RenderTableCaption::RenderTableCaption):
* rendering/RenderTableCaption.h:
* rendering/RenderTableCell.cpp:
(WebCore::RenderTableCell::RenderTableCell):
(WebCore::RenderTableCell::createAnonymousWithParentRenderer):
* rendering/RenderTableCell.h:
* rendering/RenderTableCol.cpp:
(WebCore::RenderTableCol::RenderTableCol):
* rendering/RenderTableCol.h:
* rendering/RenderTableRow.cpp:
(WebCore::RenderTableRow::RenderTableRow):
(WebCore::RenderTableRow::createAnonymousWithParentRenderer):
* rendering/RenderTableRow.h:
* rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::RenderTableSection):
(WebCore::RenderTableSection::createAnonymousWithParentRenderer):
* rendering/RenderTableSection.h:
* rendering/RenderText.cpp:
(WebCore::RenderText::RenderText):

    Pass null and use setDocumentForAnonymous() if a RenderText is created with the Document as renderer
    to keep them working. Text renderers should be factored similarly to the rest.

* rendering/RenderTextControl.cpp:
(WebCore::RenderTextControl::RenderTextControl):
* rendering/RenderTextControl.h:
* rendering/RenderTextControlMultiLine.cpp:
(WebCore::RenderTextControlMultiLine::RenderTextControlMultiLine):
* rendering/RenderTextControlMultiLine.h:
(RenderTextControlMultiLine):
* rendering/RenderTextControlSingleLine.cpp:
(WebCore::RenderTextControlSingleLine::RenderTextControlSingleLine):
* rendering/RenderTextControlSingleLine.h:
(RenderTextControlSingleLine):
(WebCore::RenderTextControlInnerBlock::RenderTextControlInnerBlock):
* rendering/RenderTextTrackCue.cpp:
(WebCore::RenderTextTrackCue::RenderTextTrackCue):
* rendering/RenderView.cpp:
(WebCore::RenderView::RenderView):
* rendering/RenderWidget.cpp:
(WebCore::RenderWidget::RenderWidget):
* rendering/RenderWidget.h:
* rendering/mathml/RenderMathMLBlock.cpp:
(WebCore::RenderMathMLBlock::RenderMathMLBlock):
(WebCore::RenderMathMLBlock::createAnonymousMathMLBlock):
* rendering/mathml/RenderMathMLBlock.h:
* rendering/mathml/RenderMathMLFenced.cpp:
(WebCore::RenderMathMLFenced::createMathMLOperator):
* rendering/mathml/RenderMathMLOperator.cpp:
(WebCore::RenderMathMLOperator::RenderMathMLOperator):
(WebCore::RenderMathMLOperator::updateFromElement):
(WebCore::RenderMathMLOperator::createGlyph):
* rendering/mathml/RenderMathMLOperator.h:
* rendering/mathml/RenderMathMLRow.cpp:
(WebCore::RenderMathMLRow::RenderMathMLRow):
(WebCore::RenderMathMLRow::createAnonymousWithParentRenderer):
* rendering/mathml/RenderMathMLRow.h:
* rendering/style/ContentData.cpp:
(WebCore::ImageContentData::createRenderer):
* rendering/svg/RenderSVGBlock.cpp:
(WebCore::RenderSVGBlock::RenderSVGBlock):
* rendering/svg/RenderSVGInline.cpp:
(WebCore::RenderSVGInline::RenderSVGInline):
* rendering/svg/RenderSVGInline.h:
* rendering/svg/RenderSVGTSpan.cpp:
(WebCore::RenderSVGTSpan::RenderSVGTSpan):
* rendering/svg/RenderSVGTSpan.h:
* rendering/svg/RenderSVGTextPath.cpp:
(WebCore::RenderSVGTextPath::RenderSVGTextPath):
* rendering/svg/RenderSVGTextPath.h:

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

8 years ago[EFL] Unreviewed gardening.
dominik.rottsches@intel.com [Sat, 19 Jan 2013 14:03:36 +0000 (14:03 +0000)]
[EFL] Unreviewed gardening.

Rebaseline after enabling subpixel layout and updating freetype (19/26).

* platform/efl/svg/W3C-SVG-1.1/
* platform/efl/svg/W3C-SVG-1.2-Tiny/
* platform/efl/svg/as-background-image/
* platform/efl/svg/as-border-image/
* platform/efl/svg/as-image/
* platform/efl/svg/as-object/
* platform/efl/svg/batik/
* platform/efl/svg/carto.net/
* platform/efl/svg/clip-path/
* platform/efl/svg/css/
* platform/efl/svg/dom/
* platform/efl/svg/dynamic-updates/

Patch by Dominik Röttsches <dominik.rottsches@intel.com> on 2013-01-19

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

8 years ago[EFL] Unreviewed gardening.
dominik.rottsches@intel.com [Sat, 19 Jan 2013 13:44:41 +0000 (13:44 +0000)]
[EFL] Unreviewed gardening.

Rebaseline after enabling subpixel layout and updating freetype (18/26).

* platform/efl/svg/W3C-I18N/
* platform/efl/svg/W3C-SVG-1.1-SE/
* platform/efl/svg/W3C-SVG-1.1/

Patch by Dominik Röttsches <dominik.rottsches@intel.com> on 2013-01-19

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

8 years agoUpdate error regexps so that Parser/html-parser-srcdoc.html can "pass"
eric@webkit.org [Sat, 19 Jan 2013 10:59:45 +0000 (10:59 +0000)]
Update error regexps so that Parser/html-parser-srcdoc.html can "pass"
https://bugs.webkit.org/show_bug.cgi?id=107367

Reviewed by Ryosuke Niwa.

Using srcdoc instead of document.write changes the error output
ever so slightly.  Clearly we were already trying to ignore these
messages, just not succeeding.  This change makes this new test "pass" correctly.

* Scripts/webkitpy/performance_tests/perftest.py:
(PerfTest):

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

8 years agoUnreviewed GTK gardening.
zandobersek@gmail.com [Sat, 19 Jan 2013 10:10:20 +0000 (10:10 +0000)]
Unreviewed GTK gardening.

* platform/gtk/TestExpectations: Adding failure expectations for tests that regressed after r140202.
* platform/gtk/fast/js/global-constructors-expected.txt: Rebaselining after IDB support was enabled.
* platform/gtk/http/tests/cache: Added.
* platform/gtk/http/tests/cache/cancel-multiple-post-xhrs-expected.txt: Added. Required after r140174,
only due to difference in the form of the errors being logged.

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

8 years agoUnreviewed GTK build fix.
zandobersek@gmail.com [Sat, 19 Jan 2013 09:11:02 +0000 (09:11 +0000)]
Unreviewed GTK build fix.

Add the build targets introduced in r140231 to the list.

* GNUmakefile.list.am:

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

8 years agoRemove unnecessary PLATFORM() tests
commit-queue@webkit.org [Sat, 19 Jan 2013 07:48:44 +0000 (07:48 +0000)]
Remove unnecessary PLATFORM() tests
https://bugs.webkit.org/show_bug.cgi?id=107360

Patch by Laszlo Gombos <l.gombos@samsung.com> on 2013-01-18
Reviewed by Eric Seidel.

PLATFORM(WIN), PLATFORM(CHROMIUM) and PLATFORM(QT) are mutually
exclusive. Remove redundant PLATFORM() tests based on this
invariant.

* wtf/Platform.h:

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

8 years ago[Mac] Remove unused pageScaleFactor and positionRelativeToBase arguments in GraphicsL...
commit-queue@webkit.org [Sat, 19 Jan 2013 07:15:42 +0000 (07:15 +0000)]
[Mac] Remove unused pageScaleFactor and positionRelativeToBase arguments in GraphicsLayerCA.
https://bugs.webkit.org/show_bug.cgi?id=107357

Patch by Huang Dongsung <luxtella@company100.net> on 2013-01-18
Reviewed by Ryosuke Niwa.

Several methods in GraphicsLayerCA receive a pageScaleFactor or a
positionRelativeToBase argument but don't use the arguments, so this patch
removes them.

No new tests. This is just a refactoring of the existing code.

* platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers):
(WebCore::GraphicsLayerCA::updateGeometry):
(WebCore::GraphicsLayerCA::updateStructuralLayer):
(WebCore::GraphicsLayerCA::ensureStructuralLayer):
(WebCore::GraphicsLayerCA::updateLayerDrawsContent):
(WebCore::GraphicsLayerCA::updateContentsScale):
(WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):
* platform/graphics/ca/GraphicsLayerCA.h:
(GraphicsLayerCA):

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

8 years agoRemove PLATFORM(TORCHMOBILE) from Assertions.h
commit-queue@webkit.org [Sat, 19 Jan 2013 06:20:09 +0000 (06:20 +0000)]
Remove PLATFORM(TORCHMOBILE) from Assertions.h
https://bugs.webkit.org/show_bug.cgi?id=107355

Patch by Laszlo Gombos <l.gombos@samsung.com> on 2013-01-18
Reviewed by Eric Seidel.

This appears to be the only place where PLATFORM(TORCHMOBILE) is
used. I don't believe this ifdef is needed anymore.

* wtf/Assertions.h:

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

8 years agoMove attributeNameMatches from SelectorChecker to its proper place on Attribute.
dglazkov@chromium.org [Sat, 19 Jan 2013 06:15:39 +0000 (06:15 +0000)]
Move attributeNameMatches from SelectorChecker to its proper place on Attribute.
https://bugs.webkit.org/show_bug.cgi?id=107358

Reviewed by Andreas Kling.

Refactoring, covered by existing tests.

* css/SelectorChecker.cpp:
(WebCore::anyAttributeMatches): Changed to use the new name.
* css/SelectorChecker.h:
(SelectorChecker): Moved attributeNameMatches out of here.
(WebCore::SelectorChecker::checkExactAttribute): Changed to use the new name.
* dom/Attribute.h:
(WebCore::Attribute::matches): Moved attributeNameMatches to here.

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

8 years agoREGRESSION (r140229): fast/css/sticky/sticky-top-zoomed.html failing on Apple Mountai...
jer.noble@apple.com [Sat, 19 Jan 2013 05:48:00 +0000 (05:48 +0000)]
REGRESSION (r140229): fast/css/sticky/sticky-top-zoomed.html failing on Apple MountainLion Debug WK2 (Tests)
https://bugs.webkit.org/show_bug.cgi?id=107356

Unreviewed; add failing test to TestExpectations.

* platform/mac-wk2/TestExpectations:

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

8 years agoFix bug that caused pages with fixed backgrounds to not be fast scrollable
simon.fraser@apple.com [Sat, 19 Jan 2013 04:43:34 +0000 (04:43 +0000)]
Fix bug that caused pages with fixed backgrounds to not be fast scrollable
https://bugs.webkit.org/show_bug.cgi?id=107354

Reviewed by Sam Weinig.

Source/WebCore:

Correct the change to RenderObject::styleWillChange() made in r140223. This
condition is checking that we're painting the root background, so it checks if
the renderer is the root, or if it's the body, and the document element's renderer
has no background (which means that the body's background propagates to the root).

* rendering/RenderObject.cpp:
(WebCore::RenderObject::styleWillChange):

LayoutTests:

* platform/mac/tiled-drawing/fixed-background/fixed-body-background-body-layer-expected.txt:
* platform/mac/tiled-drawing/fixed-background/fixed-body-background-expected.txt:
* platform/mac/tiled-drawing/fixed-background/fixed-body-background-opacity-html-expected.txt:
* platform/mac/tiled-drawing/fixed-background/fixed-body-background-positioned-expected.txt:
* platform/mac/tiled-drawing/fixed-background/fixed-body-background-transformed-html-expected.txt:
* platform/mac/tiled-drawing/fixed-background/fixed-body-background-zoomed-expected.txt:
* platform/mac/tiled-drawing/fixed-background/fixed-non-propagated-body-background-expected.txt:

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

8 years agoRemoved duplicate references to two headers in the project files.
mitz@apple.com [Sat, 19 Jan 2013 04:37:54 +0000 (04:37 +0000)]
Removed duplicate references to two headers in the project files.

Rubber-stamped by Mark Rowe.

* JavaScriptCore.xcodeproj/project.pbxproj:

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

8 years agoRemove a TextTrack.h include from the Element.h and move WebVTT related stuff outside...
commit-queue@webkit.org [Sat, 19 Jan 2013 03:59:49 +0000 (03:59 +0000)]
Remove a TextTrack.h include from the Element.h and move WebVTT related stuff outside the Element
https://bugs.webkit.org/show_bug.cgi?id=107080

Patch by Dima Gorbik <dgorbik@apple.com> on 2013-01-18
Reviewed by Sam Weinig.

WebVTT objects are now subclasses of the Element. This allows us to remove major WebVTT chunks of code from
Element.h and NodeRareData. WebVTTElement is deriving from HTMLElement and not Element to prevent possible
problems that could happen because we reuse qTags that are being used in HTML like <b>, <i> and <u>.

No new tests. This is just a refactoring of the existing code.

* CMakeLists.txt:
* WebCore.gypi:
* WebCore.xcodeproj/project.pbxproj:
* css/SelectorChecker.cpp:
(WebCore::SelectorChecker::checkOne):
* css/StyleResolver.cpp:
(WebCore::StyleResolver::collectMatchingRules):
(WebCore::StyleResolver::canShareStyleWithElement):
* dom/Element.cpp:
* dom/Element.h:
* dom/ElementRareData.h:
(WebCore::ElementRareData::ElementRareData):
* dom/Node.h:
(WebCore::Node::isWebVTTElement):
* html/track/TextTrack.h:
* html/track/TextTrackCue.cpp:
(WebCore::TextTrackCue::copyWebVTTNodeToDOMTree):
(WebCore::TextTrackCue::markFutureAndPastNodes):
* html/track/WebVTTElement.cpp: Added.
(WebCore::WebVTTElement::create):
(WebCore::WebVTTElement::cloneElementWithoutAttributesAndChildren):
* html/track/WebVTTElement.h: Added.
(WebCore::WebVTTElement::setWebVTTNodeType):
(WebCore::WebVTTElement::webVTTNodeType):
(WebCore::WebVTTElement::WebVTTElement):
(WebCore::toWebVTTElement):
* html/track/WebVTTParser.cpp:
(WebCore::WebVTTParser::constructTreeFromToken):

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

8 years agoDon't initialize AppKit for processes that don't use it
weinig@apple.com [Sat, 19 Jan 2013 02:54:08 +0000 (02:54 +0000)]
Don't initialize AppKit for processes that don't use it
https://bugs.webkit.org/show_bug.cgi?id=107216

Reviewed by Alexey Proskuryakov.

* PluginProcess/mac/PluginProcessMainMac.mm:
(WebKit::PluginProcessMainDelegate::doPreInitializationWork):
* WebProcess/mac/WebProcessMainMac.mm:
(WebKit::WebProcessMainDelegate::doPreInitializationWork):
Move AppKit initialization to the two places it is used, the WebProcessMain and the PluginProcessMain.

* Shared/ChildProcess.cpp:
(WebKit::ChildProcess::initialize):
Remove redundant call to InitializeWebKit2().

* Shared/mac/ChildProcessMain.h:
(WebKit::ChildProcessMain):
Remove initialization of AppKit now that the delegate does it if necessary,
and move InitializeWebKit2() to after delegate.doPreInitializationWork(), so
the delegate has a chance to set things up it, in this case, calling
RunLoop::setUseApplicationRunLoopOnMainRunLoop if needed.

* PluginProcess/mac/PluginProcessMac.mm:
(WebKit::PluginProcess::platformInitializePluginProcess):
* WebProcess/mac/WebProcessMac.mm:
(WebKit::WebProcess::platformInitializeProcess):
Remove now redundant call to RunLoop::setUseApplicationRunLoopOnMainRunLoop().

* WebProcess/mac/WebProcessServiceEntryPoints.mm:
(WebKit::WebProcessServiceEventHandler):
(webProcessServiceMain):
(initializeWebProcessForWebProcessServiceForWebKitDevelopment):
Call WebCore::RunLoop::setUseApplicationRunLoopOnMainRunLoop() and make call to InitializeWebKit2()
more consistent.

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

8 years agohttps://bugs.webkit.org/show_bug.cgi?id=106946
bdakin@apple.com [Sat, 19 Jan 2013 02:22:41 +0000 (02:22 +0000)]
https://bugs.webkit.org/show_bug.cgi?id=106946
Sticky-position elements can jump around/hide on rubber-banding

Reviewed by Simon Fraser.

Source/WebCore:

This patch adds a new function called viewportConstrainedVisibleContentRect()
since there are a number of places where we need a visibleContectRect() that does
not allow scroll offsets that indicate the rubber-banding that is happening. And
this patch fixes the bug for sticky by calling this function in two new places.

* page/FrameView.cpp:
(WebCore::FrameView::viewportConstrainedVisibleContentRect):
(WebCore):
* page/FrameView.h:
(FrameView):
* page/scrolling/ScrollingCoordinator.cpp:
(WebCore::ScrollingCoordinator::updateMainFrameScrollPosition):
* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::stickyPositionOffset):
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::computeFixedViewportConstraints):
(WebCore::RenderLayerCompositor::computeStickyViewportConstraints):

LayoutTests:

* platform/mac/tiled-drawing/sticky/negative-scroll-offset-expected.txt: Added.
* platform/mac/tiled-drawing/sticky/negative-scroll-offset.html: Added.

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

8 years ago[wk2] Intrinsic content size should report a flexible width if the content is not...
timothy_horton@apple.com [Sat, 19 Jan 2013 02:10:41 +0000 (02:10 +0000)]
[wk2] Intrinsic content size should report a flexible width if the content is not wider than the minimum layout width
https://bugs.webkit.org/show_bug.cgi?id=107334
<rdar://problem/12960009>

Reviewed by Anders Carlsson.

* UIProcess/API/mac/WKView.mm:
(-[WKView _setIntrinsicContentSize:]): If the content is laid-out at or below the minimum layout width, it's flexible; otherwise, we need to inform autolayout that we require more space via our intrinsic content size.
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage): Allow auto-sizing to expand its width beyond the minimum if needed.
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::setMinimumLayoutWidth): Allow auto-sizing to expand its width beyond the minimum if needed.

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

8 years agoUnreviewed build fix for building JSC with DFG_ENABLE_DEBUG_PROPAGATION_VERBOSE enabl...
msaboff@apple.com [Sat, 19 Jan 2013 01:53:36 +0000 (01:53 +0000)]
Unreviewed build fix for building JSC with DFG_ENABLE_DEBUG_PROPAGATION_VERBOSE enabled in DFGCommon.h.
Fixes the case where the argument node in fixupNode is freed due to the Vector storage being reallocated.

* dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):

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

8 years agoUnreviewed build fix for release builds when DFG_ENABLE_DEBUG_PROPAGATION_VERBOSE...
msaboff@apple.com [Sat, 19 Jan 2013 01:47:47 +0000 (01:47 +0000)]
Unreviewed build fix for release builds when DFG_ENABLE_DEBUG_PROPAGATION_VERBOSE is set to 1 in DFGCommon.h.

* dfg/DFGCFAPhase.cpp: Added #include "Operations.h"

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

8 years agoUnreviewed, rolling out r140206.
commit-queue@webkit.org [Sat, 19 Jan 2013 01:42:16 +0000 (01:42 +0000)]
Unreviewed, rolling out r140206.
http://trac.webkit.org/changeset/140206
https://bugs.webkit.org/show_bug.cgi?id=107346

Caused crash on wordpress.com (Requested by smfr on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2013-01-18

Source/WebCore:

* rendering/RenderBox.cpp:
(WebCore::RenderBox::removeFloatingOrPositionedChildFromBlockLists):

LayoutTests:

* fast/block/float/overhanging-float-not-removed-crash-expected.txt: Removed.
* fast/block/float/overhanging-float-not-removed-crash.html: Removed.

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

8 years agoREGRESSION (r139071): run-webkit-httpd complains at launch
danw@gnome.org [Sat, 19 Jan 2013 01:37:17 +0000 (01:37 +0000)]
REGRESSION (r139071): run-webkit-httpd complains at launch
https://bugs.webkit.org/show_bug.cgi?id=107310

Reviewed by Alexey Proskuryakov.

* Scripts/webkitperl/httpd.pm:
(getApacheVersion): use preferred perl syntax

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

8 years agoAllow fixed background layers to be moved by the ScrollingCoordinator
simon.fraser@apple.com [Sat, 19 Jan 2013 01:20:32 +0000 (01:20 +0000)]
Allow fixed background layers to be moved by the ScrollingCoordinator
https://bugs.webkit.org/show_bug.cgi?id=107213

Source/WebCore:

Reviewed by Tim Horton.

Start using the RenderView's RenderLayerBacking's background layer for
fixed root backgrounds (those which have background images all of which have
background-attachment: fixed).

The background-layer is contained in the RenderLayer's RenderLayerBacking's
containment view, so it gets page scale applied to it, but scrolling happens
above this layer, so the background has to be counter-scrolled. We plumb
this layer through to the ScrollingCoordinator so that this counter-scrolling
can be done on the scrolling thread.

Test: platform/mac/tiled-drawing/fixed-background/fixed-body-background-positioned.html

* WebCore.xcodeproj/project.pbxproj: Add ScrollingStateScrollingNodeMac.mm
* page/scrolling/ScrollingCoordinator.cpp:
(WebCore::ScrollingCoordinator::counterScrollingLayerForFrameView): New function to get
the counter-scrolling layer.
(WebCore::ScrollingCoordinator::updateMainFrameScrollPosition): Sync or set the position of the
counter-scrolling layer just like we do for the main scrolling layer.
* page/scrolling/ScrollingCoordinator.h:
(WebCore::ScrollingCoordinator::updateScrollingNode):
* page/scrolling/ScrollingStateNode.cpp:
(WebCore::ScrollingStateNode::ScrollingStateNode): setScrollLayer() renamed to setScrollPlatformLayer(),
and added a FIXME comment because this code is confusing and possibly wrong.
* page/scrolling/ScrollingStateNode.h: Renamed setScrollLayer() to setScrollPlatformLayer().
* page/scrolling/ScrollingStateScrollingNode.cpp:
(WebCore::ScrollingStateScrollingNode::ScrollingStateScrollingNode):
* page/scrolling/ScrollingStateScrollingNode.h:
(ScrollingStateScrollingNode): Track the counter-scrolling layer.
(WebCore::ScrollingStateScrollingNode::counterScrollingLayer):
(WebCore::ScrollingStateScrollingNode::counterScrollingLayerDidChange):
(WebCore::ScrollingStateScrollingNode::setCounterScrollingLayerDidChange):
* page/scrolling/mac/ScrollingCoordinatorMac.h:
(ScrollingCoordinatorMac): Add updateScrollingNode() which is less expensive than frameViewRootLayerDidChange()
* page/scrolling/mac/ScrollingCoordinatorMac.mm:
(WebCore::ScrollingCoordinatorMac::frameViewRootLayerDidChange): Fetch the counter-scrolling layer if we have one.
(WebCore::ScrollingCoordinatorMac::setCounterScrollingLayerForNode):
(WebCore::ScrollingCoordinatorMac::updateScrollingNode):
* page/scrolling/mac/ScrollingStateNodeMac.mm:
(WebCore::ScrollingStateNode::setScrollPlatformLayer):
* page/scrolling/mac/ScrollingStateScrollingNodeMac.mm: New file for implementation of setCounterScrollingLayer().
(WebCore::ScrollingStateScrollingNode::counterScrollingPlatformLayer):
(WebCore::ScrollingStateScrollingNode::setCounterScrollingLayer):
* page/scrolling/mac/ScrollingTreeScrollingNodeMac.h:
(ScrollingTreeScrollingNodeMac):
* page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
(WebCore::ScrollingTreeScrollingNodeMac::update):
(WebCore::ScrollingTreeScrollingNodeMac::setScrollLayerPosition):
* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::fixedBackgroundPaintsInLocalCoordinates):
(WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry): If we're painting into the fixed root layer,
we want to always paint with the top,left at 0,0.
* rendering/RenderBoxModelObject.h:
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): In the fixed root background case,
we can make the background layer viewport-sized, and we have to set its counter-scrolled position.
(WebCore::RenderLayerBacking::updateBackgroundLayer): If the background layer was created or destroyed,
we have to tell the ScrollingCoordinator.
(WebCore::RenderLayerBacking::didCommitChangesForLayer): Send the GraphicsLayer down.
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::didFlushChangesForLayer): If the background layer changed (e.g. it became
tiled) we need to tell the ScrollingCoordinator.
(WebCore::RenderLayerCompositor::rebuildCompositingLayerTree): We failed to update the borders on new
layers sometimes; this fixes that.
(WebCore::RenderLayerCompositor::frameViewDidScroll): In the non-threaded scrolling case, if we have
a fixed background layer, we need to update its position.
(WebCore::RenderLayerCompositor::fixedRootBackgroundLayerChanged): Feed the newly created/destroyed layer
down to the ScrollingCoordinator.
(WebCore::RenderLayerCompositor::supportsFixedRootBackgroundCompositing):
(WebCore::RenderLayerCompositor::needsFixedRootBackgroundLayer):
* rendering/RenderLayerCompositor.h:
* rendering/RenderObject.cpp:
(WebCore::rendererHasBackground):
(WebCore::RenderObject::styleWillChange): If the compositor supports fixed root backgrounds, we no longer
treat these as slow repaint objects.
* rendering/RenderView.cpp:
(WebCore::RenderView::rootBackgroundIsEntirelyFixed): Helper function called by RLC.
* rendering/RenderView.h:

LayoutTests:

Reviewed by Tim Horton.

One new test and new layer trees for tests affected by fixed background changes.

* platform/mac/tiled-drawing/fixed-background/fixed-body-background-body-layer-expected.txt:
* platform/mac/tiled-drawing/fixed-background/fixed-body-background-expected.txt:
* platform/mac/tiled-drawing/fixed-background/fixed-body-background-opacity-html-expected.txt:
* platform/mac/tiled-drawing/fixed-background/fixed-body-background-positioned-expected.png: Added.
* platform/mac/tiled-drawing/fixed-background/fixed-body-background-positioned-expected.txt: Copied from LayoutTests/platform/mac/tiled-drawing/fixed-background/fixed-html-background-expected.txt.
* platform/mac/tiled-drawing/fixed-background/fixed-body-background-positioned.html: Added.
* platform/mac/tiled-drawing/fixed-background/fixed-body-background-transformed-html-expected.txt:
* platform/mac/tiled-drawing/fixed-background/fixed-body-background-zoomed-expected.png:
* platform/mac/tiled-drawing/fixed-background/fixed-body-background-zoomed-expected.txt:
* platform/mac/tiled-drawing/fixed-background/fixed-html-background-expected.txt:
* platform/mac/tiled-drawing/fixed-background/fixed-non-propagated-body-background-expected.txt:

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

8 years ago[chromium] Update test expectations
hclam@chromium.org [Sat, 19 Jan 2013 01:03:27 +0000 (01:03 +0000)]
[chromium] Update test expectations
https://bugs.webkit.org/show_bug.cgi?id=107341

Unreviewed. Mark this test as failing on Chromium debug:
inspector/profiler/memory-instrumentation-cached-images.html

* platform/chromium/TestExpectations:

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

8 years agoChange set r140201 broke editing/selection/move-by-word-visually-multi-line.html
msaboff@apple.com [Sat, 19 Jan 2013 00:56:26 +0000 (00:56 +0000)]
Change set r140201 broke editing/selection/move-by-word-visually-multi-line.html
https://bugs.webkit.org/show_bug.cgi?id=107340

Reviewed by Filip Pizlo.

Due to the change landed in r140201, more nodes might end up
generating Int32ToDouble nodes.  Therefore, changed the JSVALUE64
constant path of compileInt32ToDouble() to use the more
restrictive isInt32Constant() check on the input.  This check was
the same as the existing ASSERT() so the ASSERT was eliminated.

* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileInt32ToDouble):

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