WebKit-https.git
6 years agoTransformState::move should not round offset to int
eae@chromium.org [Tue, 12 Feb 2013 17:40:28 +0000 (17:40 +0000)]
TransformState::move should not round offset to int
https://bugs.webkit.org/show_bug.cgi?id=108266

Source/WebCore:

Reviewed by Simon Fraser.

Currently TransformState::move rounds the offset to the nearest
integer values, this results in operations using TransformState
to compute a position to misreport the location, specifically
Element:getBoundingClientRect and repaint rects. Sizes are
handled correctly and do not have the same problem.

Tests: fast/sub-pixel/boundingclientrect-subpixel-margin.html
       fast/sub-pixel/clip-rect-box-consistent-rounding.html

* page/FrameView.cpp:
(WebCore::FrameView::convertFromRenderer):
Change to use pixel snapping instead of enclosing box. All other
code paths use pixelSnappedIntRect to align the rects to device
pixels however this used enclosingIntRect (indirectly through
the FloatQuad::enclosingBoundingBox call).
Without the rounding in TransformState this causes repaint rects
for elements on subpixel bounds to be too large by up to one
pixel on each axis. For normal repaints this isn't really a
problem but in scrollContentsSlowPath it can result in moving
too large a rect.

* platform/graphics/transforms/TransformState.cpp:
(WebCore::TransformState::translateTransform):
(WebCore::TransformState::translateMappedCoordinates):
Change to take a LayoutSize instead of an IntSize.

(WebCore::TransformState::move):
(WebCore::TransformState::applyAccumulatedOffset):
* platform/graphics/transforms/TransformState.h:
Remove rounding logic and use original, more precise, value.

* rendering/RenderGeometryMap.cpp:
(WebCore::RenderGeometryMap::mapToContainer):
Remove rounding logic and use original, more precise, value.

LayoutTests:

Reviewed by Simon Fraser.

Add new tests for Element::boundingClientRect and clip rects for
elements on subpixel boundaries.

* fast/dom/Window/webkitConvertPoint.html:
* platform/chromium-linux/fast/dom/Window/webkitConvertPoint-expected.txt:
Update test and expectations to take new rounding into account.

* fast/sub-pixel/boundingclientrect-subpixel-margin-expected.txt: Added.
* fast/sub-pixel/boundingclientrect-subpixel-margin.html: Added.
Add test ensuring that boundingClientRect returns accurate and
precise (as opposed to rounded) metrics.

* fast/sub-pixel/clip-rect-box-consistent-rounding-expected.html: Added.
* fast/sub-pixel/clip-rect-box-consistent-rounding.html: Added.
Add test ensuring that clip rects and elements use consistent rounding.

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

6 years agoRollout r142618, it broke all the Mac builds.
jberlin@webkit.org [Tue, 12 Feb 2013 17:37:39 +0000 (17:37 +0000)]
Rollout r142618, it broke all the Mac builds.

Source/WebCore:

* inspector/HeapGraphSerializer.cpp:
(WebCore::HeapGraphSerializer::HeapGraphSerializer):
(WebCore::HeapGraphSerializer::pushUpdate):
(WebCore::HeapGraphSerializer::reportNode):
(WebCore::HeapGraphSerializer::toNodeId):
(WebCore::HeapGraphSerializer::addRootNode):
* inspector/HeapGraphSerializer.h:
(WebCore):
(HeapGraphSerializer):
* inspector/InspectorMemoryAgent.cpp:
(WebCore::InspectorMemoryAgent::getProcessMemoryDistributionImpl):

Tools:

* TestWebKitAPI/TestWebKitAPI.gypi:
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebCore/HeapGraphSerializerTest.cpp: Removed.
* TestWebKitAPI/win/TestWebKitAPI.vcproj:

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

6 years agoDFG CompareEq optimization should be retuned
fpizlo@apple.com [Tue, 12 Feb 2013 17:34:00 +0000 (17:34 +0000)]
DFG CompareEq optimization should be retuned
https://bugs.webkit.org/show_bug.cgi?id=109545

Reviewed by Mark Hahnenberg.

- Made the object-to-object equality case work again by hoisting the if statement
  for it. Previously, object-to-object equality would be compiled as
  object-to-object-or-other.

- Added AbstractState guards for most of the type checks that the object equality
  code uses.

Looks like a hint of a speed-up on all of the things.

* dfg/DFGAbstractState.cpp:
(JSC::DFG::AbstractState::execute):
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compilePeepHoleObjectEquality):
(JSC::DFG::SpeculativeJIT::compilePeepHoleBranch):
(JSC::DFG::SpeculativeJIT::compare):
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compileObjectEquality):
(JSC::DFG::SpeculativeJIT::compileObjectToObjectOrOtherEquality):
(JSC::DFG::SpeculativeJIT::compilePeepHoleObjectToObjectOrOtherEquality):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compileObjectEquality):
(JSC::DFG::SpeculativeJIT::compileObjectToObjectOrOtherEquality):
(JSC::DFG::SpeculativeJIT::compilePeepHoleObjectToObjectOrOtherEquality):

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

6 years ago[HTMLTemplateElement] <template> inside of <head> may not create <body> if EOF is hit
rafaelw@chromium.org [Tue, 12 Feb 2013 17:05:48 +0000 (17:05 +0000)]
[HTMLTemplateElement] <template> inside of <head> may not create <body> if EOF is hit
https://bugs.webkit.org/show_bug.cgi?id=109338

Reviewed by Adam Barth.

Source/WebCore:

This patch adds the logic to clear the stack of open elements back to the first <template> when EOF
is hit. This allows a <body> to be generated if the initial <template> was opened inside of <head>.

Tests added to html5lib.

* html/parser/HTMLTreeBuilder.cpp:
(WebCore):
(WebCore::HTMLTreeBuilder::popAllTemplates):
(WebCore::HTMLTreeBuilder::processEndTag):
(WebCore::HTMLTreeBuilder::processEndOfFile):
* html/parser/HTMLTreeBuilder.h:
(HTMLTreeBuilder):

LayoutTests:

* html5lib/resources/template.dat:

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

6 years ago[GTK] Remove the enable-debug-feature configuration option
mrobinson@webkit.org [Tue, 12 Feb 2013 17:04:08 +0000 (17:04 +0000)]
[GTK] Remove the enable-debug-feature configuration option
https://bugs.webkit.org/show_bug.cgi?id=109539

Reviewed by Philippe Normand.

Remove the --enable-debug-feature option from configuration. It doesn't
do anything that --enable-debug doesn't.

* Source/autotools/PrintBuildConfiguration.m4: Remove references to --enable-debug-features.
* Source/autotools/ReadCommandLineArguments.m4: Ditto.
* Source/autotools/SetupAutoconfHeader.m4: Ditto.
* Source/autotools/SetupAutomake.m4: Ditto.

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

6 years agoBuild fix after r142540 and r142518
jberlin@webkit.org [Tue, 12 Feb 2013 16:59:11 +0000 (16:59 +0000)]
Build fix after r142540 and r142518

* WebProcess/Plugins/PluginProcessConnectionManager.cpp:
(WebKit::PluginProcessConnectionManager::didReceivePluginProcessConnectionManagerMessageOnConnectionWorkQueue):
This function was added to the header in r142518 but not implemented in that revision.
It wasn't a problem until r142540 started using it.
Add a stub implementation for it.

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

6 years agoASSERTION FAILED: i < size(), UNKNOWN in WebCore::AccessibilityMenuListPopup::didUpda...
dmazzoni@google.com [Tue, 12 Feb 2013 16:58:39 +0000 (16:58 +0000)]
ASSERTION FAILED: i < size(), UNKNOWN in WebCore::AccessibilityMenuListPopup::didUpdateActiveOption
https://bugs.webkit.org/show_bug.cgi?id=109452

Reviewed by Chris Fleizach.

Source/WebCore:

Send the accessibility childrenChanged notification in
HTMLSelectElement::setRecalcListItems instead of in childrenChanged
so that all possible codepaths are caught.

Test: accessibility/insert-selected-option-into-select-causes-crash.html

* html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::childrenChanged):
(WebCore::HTMLSelectElement::setRecalcListItems):

LayoutTests:

Add test to ensure a crash doesn't happen if a selected option
is added to a select element, which was triggering a code path where
the DOM has added a new child of the select but the accessibility
object never got updated.

* accessibility/insert-selected-option-into-select-causes-crash-expected.txt: Added.
* accessibility/insert-selected-option-into-select-causes-crash.html: Added.

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

6 years agoMake PluginProcessProxy a ChildProcessProxy.
beidson@apple.com [Tue, 12 Feb 2013 16:55:47 +0000 (16:55 +0000)]
Make PluginProcessProxy a ChildProcessProxy.
https://bugs.webkit.org/show_bug.cgi?id=109513

Reviewed by Anders Carlsson.

* Shared/ChildProcessProxy.h: Inherit from ThreadSafeRefCounted.
* UIProcess/Network/NetworkProcessProxy.h: Don't inherit from RefCounted.
* UIProcess/WebProcessProxy.h: Don't inherit from ThreadSafeRefCounted
* UIProcess/Plugins/PluginProcessProxy.h: Don't inherit from RefCounted, do inherit from ChildProcessProxy

Rely on ChildProcessProxy for process launcher management and launch options:
* UIProcess/Plugins/PluginProcessProxy.cpp:
(WebKit::PluginProcessProxy::PluginProcessProxy):
(WebKit::PluginProcessProxy::getLaunchOptions):
(WebKit::PluginProcessProxy::getPluginProcessConnection):
(WebKit::PluginProcessProxy::getSitesWithData):
(WebKit::PluginProcessProxy::clearSiteData):
* UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
(WebKit::PluginProcessProxy::platformGetLaunchOptions):
(WebKit::PluginProcessProxy::getPluginProcessSerialNumber):

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

6 years agoBUILD FIX (r142576): WK1 build fails when ENABLE(DELETION_UI) is off
ddkilzer@apple.com [Tue, 12 Feb 2013 16:45:26 +0000 (16:45 +0000)]
BUILD FIX (r142576): WK1 build fails when ENABLE(DELETION_UI) is off
<https://bugs.webkit.org/show_bug.cgi?id=109534>

Fixes the following build failure:

    WebEditorClient.mm:243:23: error: out-of-line definition of 'shouldShowDeleteInterface' does not match any declaration in 'WebEditorClient'
    bool WebEditorClient::shouldShowDeleteInterface(HTMLElement* element)
                          ^~~~~~~~~~~~~~~~~~~~~~~~~

* WebCoreSupport/WebEditorClient.mm:
(WebEditorClient::shouldShowDeleteInterface): Protect with
ENABLE(DELETION_UI) macro.

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

6 years ago <rdar://problem/13196331> NetworkProcess deny mach-lookup com.apple.PowerMana...
ap@apple.com [Tue, 12 Feb 2013 16:18:22 +0000 (16:18 +0000)]
    <rdar://problem/13196331> NetworkProcess deny mach-lookup com.apple.PowerManagement.control

        Reviewed by Sam Weinig.

        * NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in:

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

6 years agoWeb Inspector: for event listener provide handler function value in protocol and...
commit-queue@webkit.org [Tue, 12 Feb 2013 16:01:27 +0000 (16:01 +0000)]
Web Inspector: for event listener provide handler function value in protocol and in UI
https://bugs.webkit.org/show_bug.cgi?id=109284

Patch by Peter Rybin <prybin@chromium.org> on 2013-02-12
Reviewed by Yury Semikhatsky.

Source/WebCore:

The feature implies that we include a real handler function value into event listener description.
Protocol description, inspector DOM agent (with V8 and JSC backends) and front-end is patched accordingly.

* bindings/js/ScriptEventListener.cpp:
(WebCore::eventListenerHandler):
(WebCore):
(WebCore::eventListenerHandlerScriptState):
* bindings/js/ScriptEventListener.h:
(WebCore):
* bindings/v8/ScriptEventListener.cpp:
(WebCore::eventListenerHandler):
(WebCore):
(WebCore::eventListenerHandlerScriptState):
* bindings/v8/ScriptEventListener.h:
(WebCore):
* inspector/Inspector.json:
* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::getEventListenersForNode):
(WebCore::InspectorDOMAgent::buildObjectForEventListener):
* inspector/InspectorDOMAgent.h:
(InspectorDOMAgent):
* inspector/front-end/DOMAgent.js:
(WebInspector.DOMNode.prototype.eventListeners):
* inspector/front-end/EventListenersSidebarPane.js:
(WebInspector.EventListenersSidebarPane.prototype.update):
(.):

LayoutTests:

Test is rebased.

* inspector/elements/event-listener-sidebar-expected.txt:
* inspector/elements/event-listeners-about-blank-expected.txt:

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

6 years agoWeb Inspector: add initial implementation of native memory graph to Timeline
yurys@chromium.org [Tue, 12 Feb 2013 15:56:28 +0000 (15:56 +0000)]
Web Inspector: add initial implementation of native memory graph to Timeline
https://bugs.webkit.org/show_bug.cgi?id=109578

Reviewed by Alexander Pavlov.

This change adds inital implementation of native memory graph UI. The graph
will be shown in the same place as DOM counters graph on the Timeline panel.

Added NativeMemoryGraph.js that reuses parts of DOM counters graph
implementation. MemoryStatistics.js was refactor to allow sharing
more code between DOM counters and native memory graph.

* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* inspector/compile-front-end.py:
* inspector/front-end/MemoryStatistics.js:
(WebInspector.MemoryStatistics):
(WebInspector.MemoryStatistics.prototype._createCurrentValuesBar):
(WebInspector.MemoryStatistics.prototype._createCounterUIList):
(WebInspector.MemoryStatistics.prototype._createCounterUIList.getNodeCount):
(WebInspector.MemoryStatistics.prototype._createCounterUIList.getListenerCount):
(WebInspector.MemoryStatistics.prototype._canvasHeight):
(WebInspector.MemoryStatistics.prototype._updateSize):
(WebInspector.MemoryStatistics.prototype._highlightCurrentPositionOnGraphs):
(WebInspector.MemoryStatistics.prototype._drawMarker):
* inspector/front-end/NativeMemoryGraph.js: Added.
(WebInspector.NativeMemoryGraph):
(WebInspector.NativeMemoryCounterUI):
(WebInspector.NativeMemoryCounterUI.prototype._hslToString):
(WebInspector.NativeMemoryCounterUI.prototype.updateCurrentValue):
(WebInspector.NativeMemoryCounterUI.prototype.clearCurrentValueAndMarker):
(WebInspector.NativeMemoryGraph.prototype._createCurrentValuesBar):
(WebInspector.NativeMemoryGraph.prototype._createCounterUIList.getCounterValue):
(WebInspector.NativeMemoryGraph.prototype._createCounterUIList):
(WebInspector.NativeMemoryGraph.prototype._canvasHeight):
(WebInspector.NativeMemoryGraph.prototype._onRecordAdded.addStatistics):
(WebInspector.NativeMemoryGraph.prototype._onRecordAdded):
(WebInspector.NativeMemoryGraph.prototype._draw):
(WebInspector.NativeMemoryGraph.prototype._clearCurrentValueAndMarker):
(WebInspector.NativeMemoryGraph.prototype._updateCurrentValue):
(WebInspector.NativeMemoryGraph.prototype._restoreImageUnderMarker):
(WebInspector.NativeMemoryGraph.prototype._saveImageUnderMarker):
(WebInspector.NativeMemoryGraph.prototype._drawMarker):
(WebInspector.NativeMemoryGraph.prototype._maxCounterValue):
(WebInspector.NativeMemoryGraph.prototype._resetTotalValues):
(WebInspector.NativeMemoryGraph.prototype.valueGetter):
(WebInspector.NativeMemoryGraph.prototype._drawGraph):
(WebInspector.NativeMemoryGraph.prototype._discardImageUnderMarker):
* inspector/front-end/TimelinePanel.js:
* inspector/front-end/WebKit.qrc:
* inspector/front-end/timelinePanel.css:
(#memory-graphs-canvas-container.dom-counters .resources-dividers):
(.memory-category-value):

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

6 years agoUnreviewed. Fix Chromium compilation after r142618.
yurys@chromium.org [Tue, 12 Feb 2013 15:53:48 +0000 (15:53 +0000)]
Unreviewed. Fix Chromium compilation after r142618.

* TestWebKitAPI/Tests/WebCore/HeapGraphSerializerTest.cpp:
(TestWebKitAPI::HeapGraphReceiver::printNode):

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

6 years agoWeb Inspector: refactor some reusable functionality from BraceHighlighter
commit-queue@webkit.org [Tue, 12 Feb 2013 15:18:20 +0000 (15:18 +0000)]
Web Inspector: refactor some reusable functionality from BraceHighlighter
https://bugs.webkit.org/show_bug.cgi?id=109574

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

Source/WebCore:

New test: inspector/editor/text-editor-brace-highlighter.html

Extract functionality which, for given line and cursor position, will
return position for a brace that should be highlighted. Add a layout
test to verify brace highlighter funcionality.

* inspector/front-end/DefaultTextEditor.js:
(WebInspector.TextEditorMainPanel.BraceHighlightController.prototype.activeBraceColumnForCursorPosition):
(WebInspector.TextEditorMainPanel.BraceHighlightController.prototype.handleSelectionChange):
* inspector/front-end/TextUtils.js:
(WebInspector.TextUtils.isOpeningBraceChar):
(WebInspector.TextUtils.isClosingBraceChar):
(WebInspector.TextUtils.isBraceChar):

LayoutTests:

Add layout test to verify brace highlighter functionality.

* inspector/editor/text-editor-brace-highlighter-expected.txt: Added.
* inspector/editor/text-editor-brace-highlighter.html: Added.

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

6 years ago[GTK] Add an optional moduleset with hard to get packages (including libsecret)
commit-queue@webkit.org [Tue, 12 Feb 2013 15:06:59 +0000 (15:06 +0000)]
[GTK] Add an optional moduleset with hard to get packages (including libsecret)
https://bugs.webkit.org/show_bug.cgi?id=109195

Patch by Martin Robinson <mrobinson@igalia.com> on 2013-02-12
Reviewed by Philippe Normand.

Add an optional moduleset that includes libsecret. This moduleset will
be used to install some annoyingly hard to obtain dependencies on older
distributions.

* gtk/jhbuild-optional.modules: Added.
* gtk/jhbuild.modules: Add a reference to the new moduleset file.

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

6 years agoUnreviewed chromium expectation update.
atwilson@chromium.org [Tue, 12 Feb 2013 14:58:16 +0000 (14:58 +0000)]
Unreviewed chromium expectation update.
https://bugs.webkit.org/show_bug.cgi?id=109581

* platform/chromium/TestExpectations: mark debugger-script-preprocessor.html as crashy.

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

6 years agoWeb Inspector: Native Memory Instrumentation: reportLeaf method doesn't report the...
loislo@chromium.org [Tue, 12 Feb 2013 14:53:34 +0000 (14:53 +0000)]
Web Inspector: Native Memory Instrumentation: reportLeaf method doesn't report the leaf node properly.
https://bugs.webkit.org/show_bug.cgi?id=109554

Source/WebCore:

In some cases leaves have no pointer so with the old schema we can't generate nodeId for them because we
can't insert 0 into hashmap. It happens when we call addPrivateBuffer method.

Drive by fix: I introduced a client interface for the HeapGraphSerializer.
It helps me to do the tests for the serializer.

Reviewed by Yury Semikhatsky.

It is covered by newly added tests in TestWebKitAPI.

* inspector/HeapGraphSerializer.cpp:
(WebCore::HeapGraphSerializer::HeapGraphSerializer):
(WebCore::HeapGraphSerializer::pushUpdate):
(WebCore::HeapGraphSerializer::reportNode):
(WebCore::HeapGraphSerializer::toNodeId):
(WebCore::HeapGraphSerializer::addRootNode):
* inspector/HeapGraphSerializer.h:
(HeapGraphSerializerClient):
(WebCore::HeapGraphSerializerClient::~HeapGraphSerializerClient):
(HeapGraphSerializer):
* inspector/InspectorMemoryAgent.cpp:
(WebCore::InspectorMemoryAgent::getProcessMemoryDistributionImpl):

Tools:

In some cases leaves have no pointer. As example when we report a leaf via addPrivateBuffer.
This patch has new set of tests for HeapGraphSerializer.

Reviewed by Yury Semikhatsky.

* TestWebKitAPI/TestWebKitAPI.gypi:
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebCore/HeapGraphSerializerTest.cpp: Added.
* TestWebKitAPI/win/TestWebKitAPI.vcproj:

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

6 years agoUnreviewed followup to r142606, the EFL port also enables the CSS image-set
zandobersek@gmail.com [Tue, 12 Feb 2013 14:51:07 +0000 (14:51 +0000)]
Unreviewed followup to r142606, the EFL port also enables the CSS image-set
feature so the new configuration option's default value should reflect that.

* Scripts/webkitperl/FeatureList.pm:

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

6 years agoJSC asserting with long parameter list functions in debug mode on ARM traditional
rgabor@webkit.org [Tue, 12 Feb 2013 14:40:40 +0000 (14:40 +0000)]
JSC asserting with long parameter list functions in debug mode on ARM traditional
https://bugs.webkit.org/show_bug.cgi?id=109565

Reviewed by Zoltan Herczeg.

Increase the value of sequenceGetByIdSlowCaseInstructionSpace to 80.

* jit/JIT.h:

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

6 years agoUnreviewed chromium rebaselines after r142586.
atwilson@chromium.org [Tue, 12 Feb 2013 14:33:18 +0000 (14:33 +0000)]
Unreviewed chromium rebaselines after r142586.

* platform/chromium-mac/fast/canvas/webgl/webgl-layer-update-expected.png: Added.

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

6 years agoWeb Inspector: Introduce version controller to migrate settings versions.
vsevik@chromium.org [Tue, 12 Feb 2013 14:29:10 +0000 (14:29 +0000)]
Web Inspector: Introduce version controller to migrate settings versions.
https://bugs.webkit.org/show_bug.cgi?id=109553

Reviewed by Yury Semikhatsky.

Source/WebCore:

This patch introduces version controller that could be used to migrate inspector settings.

Test: inspector/version-controller.html

* inspector/front-end/Settings.js:
(WebInspector.Settings):
(WebInspector.VersionController):
(WebInspector.VersionController.prototype.set _methodsToRunToUpdateVersion):
(WebInspector.VersionController.prototype._updateVersionFrom0To1):
* inspector/front-end/inspector.js:

LayoutTests:

* inspector/version-controller-expected.txt: Added.
* inspector/version-controller.html: Added.

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

6 years agoWeb Inspector: File system should produce more verbose error messages and recover...
vsevik@chromium.org [Tue, 12 Feb 2013 14:19:28 +0000 (14:19 +0000)]
Web Inspector: File system should produce more verbose error messages and recover from errors
https://bugs.webkit.org/show_bug.cgi?id=109571

Reviewed by Alexander Pavlov.

Error handler prints original file system call params now.
Added callbacks to error handler to recover from errors.

* inspector/front-end/FileSystemProjectDelegate.js:
(WebInspector.FileSystemProjectDelegate.prototype.contentCallback):
(WebInspector.FileSystemProjectDelegate.prototype.searchInFileContent):
(WebInspector.FileSystemUtils.errorMessage):
(.fileSystemLoaded):
(.fileEntryLoaded):
(.errorHandler):
(WebInspector.FileSystemUtils.requestFileContent):
(WebInspector.FileSystemUtils.setFileContent):
(WebInspector.FileSystemUtils._readDirectory):
(.innerCallback):
(WebInspector.FileSystemUtils._requestEntries):

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

6 years agoWeb Inspector: Get rid of unnecessary complexity in FileSystemUtil: remove _getDirect...
vsevik@chromium.org [Tue, 12 Feb 2013 14:17:04 +0000 (14:17 +0000)]
Web Inspector: Get rid of unnecessary complexity in FileSystemUtil: remove _getDirectory() method.
https://bugs.webkit.org/show_bug.cgi?id=109567

Reviewed by Alexander Pavlov.

The code in this method was redundant as the same result could be achieved by using File System API directly.

* inspector/front-end/FileSystemProjectDelegate.js:

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

6 years agoWeb Inspector: [SuggestBox] SuggestBox not hidden when prefix is empty and there...
apavlov@chromium.org [Tue, 12 Feb 2013 14:15:45 +0000 (14:15 +0000)]
Web Inspector: [SuggestBox] SuggestBox not hidden when prefix is empty and there is preceding input
https://bugs.webkit.org/show_bug.cgi?id=109568

Reviewed by Vsevolod Vlasov.

The suggestbox would get hidden in the case of empty input, yet it should get hidden
in the case of empty user-entered prefix (which is a wider notion.)

* inspector/front-end/TextPrompt.js:
(WebInspector.TextPrompt.prototype.complete):

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

6 years agoWeb Inspector: separate SuggestBox from TextPrompt
commit-queue@webkit.org [Tue, 12 Feb 2013 14:04:08 +0000 (14:04 +0000)]
Web Inspector: separate SuggestBox from TextPrompt
https://bugs.webkit.org/show_bug.cgi?id=109430

Patch by Andrey Lushnikov <lushnikov@chromium.org> on 2013-02-12
Reviewed by Alexander Pavlov.

Create WebInspector.SuggestBoxDelegate interface and
refactor TextPrompt to use this interface. Separate SuggestBox into
WebInspector.SuggestBox namespace and put it into its own file.

No new tests: no change in behaviour.

* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* inspector/compile-front-end.py:
* inspector/front-end/SuggestBox.js: Added.
(WebInspector.SuggestBoxDelegate):
(WebInspector.SuggestBoxDelegate.prototype.applySuggestion):
(WebInspector.SuggestBoxDelegate.prototype.acceptSuggestion):
(WebInspector.SuggestBoxDelegate.prototype.userEnteredText):
(WebInspector.SuggestBox):
(WebInspector.SuggestBox.prototype.get visible):
(WebInspector.SuggestBox.prototype.get hasSelection):
(WebInspector.SuggestBox.prototype._onscrollresize):
(WebInspector.SuggestBox.prototype._updateBoxPositionWithExistingAnchor):
(WebInspector.SuggestBox.prototype._updateBoxPosition):
(WebInspector.SuggestBox.prototype._onboxmousedown):
(WebInspector.SuggestBox.prototype.hide):
(WebInspector.SuggestBox.prototype.removeFromElement):
(WebInspector.SuggestBox.prototype._applySuggestion):
(WebInspector.SuggestBox.prototype.acceptSuggestion):
(WebInspector.SuggestBox.prototype._selectClosest):
(WebInspector.SuggestBox.prototype.updateSuggestions):
(WebInspector.SuggestBox.prototype._onItemMouseDown):
(WebInspector.SuggestBox.prototype._createItemElement):
(WebInspector.SuggestBox.prototype._updateItems):
(WebInspector.SuggestBox.prototype._selectItem):
(WebInspector.SuggestBox.prototype._canShowBox):
(WebInspector.SuggestBox.prototype._rememberRowCountPerViewport):
(WebInspector.SuggestBox.prototype._completionsReady):
(WebInspector.SuggestBox.prototype.upKeyPressed):
(WebInspector.SuggestBox.prototype.downKeyPressed):
(WebInspector.SuggestBox.prototype.pageUpKeyPressed):
(WebInspector.SuggestBox.prototype.pageDownKeyPressed):
(WebInspector.SuggestBox.prototype.enterKeyPressed):
(WebInspector.SuggestBox.prototype.tabKeyPressed):
* inspector/front-end/TextPrompt.js:
(WebInspector.TextPrompt.prototype.userEnteredText):
(WebInspector.TextPrompt.prototype._attachInternal):
(WebInspector.TextPrompt.prototype._completionsReady):
(WebInspector.TextPrompt.prototype.applySuggestion):
(WebInspector.TextPrompt.prototype._applySuggestion):
(WebInspector.TextPrompt.prototype.enterKeyPressed):
(WebInspector.TextPrompt.prototype.upKeyPressed):
(WebInspector.TextPrompt.prototype.downKeyPressed):
(WebInspector.TextPrompt.prototype.pageUpKeyPressed):
(WebInspector.TextPrompt.prototype.pageDownKeyPressed):
* inspector/front-end/WebKit.qrc:
* inspector/front-end/inspector.html:

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

6 years ago[GTK] Enable CSS Variables feature in development builds
zandobersek@gmail.com [Tue, 12 Feb 2013 13:56:33 +0000 (13:56 +0000)]
[GTK] Enable CSS Variables feature in development builds
https://bugs.webkit.org/show_bug.cgi?id=109474

Reviewed by Martin Robinson.

Tools:

* Scripts/webkitperl/FeatureList.pm: Enable the feature on development
builds of the GTK port.

LayoutTests:

* platform/gtk/TestExpectations: Remove the expectations for tests that now pass.

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

6 years ago[TexMap] Apply frames-per-second debug counter to WK1.
bruno.abinader@basyskom.com [Tue, 12 Feb 2013 13:49:21 +0000 (13:49 +0000)]
[TexMap] Apply frames-per-second debug counter to WK1.
https://bugs.webkit.org/show_bug.cgi?id=109540

Reviewed by Noam Rosenthal.

Adds basysKom copyright info to TextureMapperFPSCounter header.

* platform/graphics/texmap/TextureMapperFPSCounter.cpp:
* platform/graphics/texmap/TextureMapperFPSCounter.h:

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

6 years agoUnreviewed, rolling out r142531.
commit-queue@webkit.org [Tue, 12 Feb 2013 13:27:45 +0000 (13:27 +0000)]
Unreviewed, rolling out r142531.
http://trac.webkit.org/changeset/142531
https://bugs.webkit.org/show_bug.cgi?id=109569

Causes html5lib/run-template layout test to crash. (Requested
by atwilson_ on #webkit).

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

Source/WebCore:

* html/parser/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processTemplateEndTag):
(WebCore::HTMLTreeBuilder::processColgroupEndTagForInColumnGroup):
(WebCore::HTMLTreeBuilder::processEndOfFile):
* html/parser/HTMLTreeBuilder.h:
(HTMLTreeBuilder):

LayoutTests:

* html5lib/resources/template.dat:

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

6 years ago[GTK] Enable CSS image-set support in development builds
zandobersek@gmail.com [Tue, 12 Feb 2013 13:25:55 +0000 (13:25 +0000)]
[GTK] Enable CSS image-set support in development builds
https://bugs.webkit.org/show_bug.cgi?id=109475

Reviewed by Martin Robinson.

Source/WebCore:

No new tests - majority of the related tests now passes.

* GNUmakefile.features.am.in: Add the feature define for the CSS image-set feature
with the define value defaulting to 0. The value gets overridden with 1 in development
builds, meaning the feature is enabled under that configuration.

Tools:

* Scripts/webkitperl/FeatureList.pm: Add the configuration option for the feature.
Note that the Mac port also enables the feature but does so in Platform.h as the feature
is also enabled for the iOS port which can't at the moment be detected via webkitperl.

LayoutTests:

* platform/gtk/TestExpectations: Reclassify two failures that now fail due to
cursor images not loading while the other expectations are removed as the tests
now pass.
* platform/gtk/fast/css/image-set-value-not-removed-crash-expected.txt: Removed. The generic
expectation now matches the test output.

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

6 years ago[GTK] Enable DOM4 events constructors in development builds
zandobersek@gmail.com [Tue, 12 Feb 2013 13:23:44 +0000 (13:23 +0000)]
[GTK] Enable DOM4 events constructors in development builds
https://bugs.webkit.org/show_bug.cgi?id=109471

Reviewed by Martin Robinson.

Source/WebCore:

No new tests - the related tests now pass.

* GNUmakefile.features.am.in: Add the feature define for the DOM4 events
constructors feature, its value defaulting to 0. This value is overridden
with 1 in development builds, effectively enabling the feature.

Tools:

* Scripts/webkitperl/FeatureList.pm: Enable the feature for the GTK port as well.

LayoutTests:

* platform/gtk/TestExpectations: Remove the failure expectations, the related
tests now pass.

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

6 years agoUnreviewed build fix for the GTK port after r142595.
zandobersek@gmail.com [Tue, 12 Feb 2013 13:06:38 +0000 (13:06 +0000)]
Unreviewed build fix for the GTK port after r142595.
Adding the TextureMapperFPSCounter files to the list of build targets
in case of using the OpenGL texture mapper.

* GNUmakefile.list.am:

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

6 years agoWeb Inspector: fix closure compiler warnings in extension server and API
caseq@chromium.org [Tue, 12 Feb 2013 12:04:02 +0000 (12:04 +0000)]
Web Inspector: fix closure compiler warnings in extension server and API
https://bugs.webkit.org/show_bug.cgi?id=109563

Reviewed by Vsevolod Vlasov.

* inspector/front-end/ExtensionAPI.js: drive-by: make sure we fail if extensionServer is not defined in outer scope.
* inspector/front-end/ExtensionServer.js:
(WebInspector.ExtensionServer.prototype.):
(WebInspector.ExtensionServer.prototype._onEvaluateOnInspectedPage):
* inspector/front-end/externs.js: add extensionServer

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

6 years agoUnreviewed -- suppress stray console message that emerged after r142486.
caseq@chromium.org [Tue, 12 Feb 2013 11:13:25 +0000 (11:13 +0000)]
Unreviewed -- suppress stray console message that emerged after r142486.

* inspector/extensions/extensions-events.html:

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

6 years agoRemove unnecessary variables from FeatureList.pm
zandobersek@gmail.com [Tue, 12 Feb 2013 11:08:16 +0000 (11:08 +0000)]
Remove unnecessary variables from FeatureList.pm
https://bugs.webkit.org/show_bug.cgi?id=109558

Reviewed by Daniel Bates.

A small cleanup, removing unused variables for which the related configuration
options were already removed.

* Scripts/webkitperl/FeatureList.pm:

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

6 years agoRemove ENABLE_XHR_RESPONSE_BLOB handling from various build systems
zandobersek@gmail.com [Tue, 12 Feb 2013 11:06:17 +0000 (11:06 +0000)]
Remove ENABLE_XHR_RESPONSE_BLOB handling from various build systems
https://bugs.webkit.org/show_bug.cgi?id=109481

Reviewed by Daniel Bates.

The ENABLE_XHR_RESPONSE_BLOB feature define was removed from the code
back in r120574. There are still occurrences of it in various build systems
which should all be removed as they are useless.

.:

* Source/cmake/OptionsBlackBerry.cmake:
* Source/cmakeconfig.h.cmake:

Source/WebKit/blackberry:

* WebCoreSupport/AboutDataEnableFeatures.in:

Source/WebKit/chromium:

* features.gypi:

Tools:

* Scripts/webkitperl/FeatureList.pm:

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

6 years agoREGRESSION(r142576): It made fast/dom/Element/id-in-deletebutton.html fail on Qt.
rniwa@webkit.org [Tue, 12 Feb 2013 10:58:31 +0000 (10:58 +0000)]
REGRESSION(r142576): It made fast/dom/Element/id-in-deletebutton.html fail on Qt.
https://bugs.webkit.org/show_bug.cgi?id=109557

Build fix. Also move this test into platform/mac as done in r142559.

* fast/dom/Element/id-in-deletebutton-expected.txt: Removed.
* fast/dom/Element/id-in-deletebutton.html: Removed.
* platform/chromium-win/fast/dom/Element/id-in-deletebutton-expected.txt: Removed.
* platform/chromium/TestExpectations:
* platform/efl/TestExpectations:
* platform/gtk/TestExpectations:
* platform/mac/editing/deleting/id-in-deletebutton-expected.txt: Copied from LayoutTests/fast/dom/Element/id-in-deletebutton-expected.txt.
* platform/mac/editing/deleting/id-in-deletebutton.html: Copied from LayoutTests/fast/dom/Element/id-in-deletebutton.html.
* platform/win/fast/dom/Element/id-in-deletebutton-expected.txt: Removed.
* platform/wincairo/TestExpectations:
* platform/wk2/TestExpectations:

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

6 years agoUnreviewed. Fix !ENABLE(INSPECTOR) builds after r142575
kadam@inf.u-szeged.hu [Tue, 12 Feb 2013 10:06:48 +0000 (10:06 +0000)]
Unreviewed. Fix !ENABLE(INSPECTOR) builds after r142575

Patch by Zoltan Arvai <zarvai@inf.u-szeged.hu> on 2013-02-12

* inspector/InspectorInstrumentation.h:
(WebCore::InspectorInstrumentation::willDispatchEvent):

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

6 years agoWeb Inspector: move showWhitespace option into experiments
commit-queue@webkit.org [Tue, 12 Feb 2013 10:04:18 +0000 (10:04 +0000)]
Web Inspector: move showWhitespace option into experiments
https://bugs.webkit.org/show_bug.cgi?id=109552

Patch by Andrey Lushnikov <lushnikov@chromium.org> on 2013-02-12
Reviewed by Vsevolod Vlasov.

Source/WebCore:

Remove "show whitespace" setting and add it to experiments.

No new tests: fixed an existing test to verify changes.

* English.lproj/localizedStrings.js:
* inspector/front-end/DefaultTextEditor.js:
(WebInspector.TextEditorMainPanel):
(WebInspector.TextEditorMainPanel.prototype.wasShown):
(WebInspector.TextEditorMainPanel.prototype.willHide):
* inspector/front-end/Settings.js:
(WebInspector.ExperimentsSettings):
* inspector/front-end/SettingsScreen.js:
(WebInspector.GenericSettingsTab):

LayoutTests:

Fix layout test to switch on experiment instead of toggling one of the
options.

* inspector/editor/text-editor-show-whitespace-expected.txt:
* inspector/editor/text-editor-show-whitespace.html:

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

6 years agoAdd error checking into OpenCL version of SVG filters.
commit-queue@webkit.org [Tue, 12 Feb 2013 09:40:39 +0000 (09:40 +0000)]
Add error checking into OpenCL version of SVG filters.
https://bugs.webkit.org/show_bug.cgi?id=107444

Patch by Tamas Czene <tczene@inf.u-szeged.hu> on 2013-02-12
Reviewed by Zoltan Herczeg.

In case of an error the program runs through all the remaining filters by doing nothing.
After that deletes the results of every filter and starts software rendering.

* platform/graphics/filters/FilterEffect.cpp:
(WebCore):
(WebCore::FilterEffect::applyAll): At software rendering this is a simple inline methode, but at OpenCL rendering it releases OpenCL things. If we have an error remove filter's results and start software rendering.
(WebCore::FilterEffect::clearResultsRecursive):
(WebCore::FilterEffect::openCLImageToImageBuffer):
(WebCore::FilterEffect::createOpenCLImageResult):
(WebCore::FilterEffect::transformResultColorSpace):
* platform/graphics/filters/FilterEffect.h:
(FilterEffect):
(WebCore::FilterEffect::applyAll):
* platform/graphics/gpu/opencl/FilterContextOpenCL.cpp:
(WebCore::FilterContextOpenCL::isFailed):
(WebCore):
(WebCore::FilterContextOpenCL::freeResources):
(WebCore::FilterContextOpenCL::destroyContext):
(WebCore::FilterContextOpenCL::compileTransformColorSpaceProgram):
(WebCore::FilterContextOpenCL::openCLTransformColorSpace):
(WebCore::FilterContextOpenCL::compileProgram):
(WebCore::FilterContextOpenCL::freeResource):
* platform/graphics/gpu/opencl/FilterContextOpenCL.h:
(WebCore::FilterContextOpenCL::FilterContextOpenCL):
(WebCore::FilterContextOpenCL::setInError):
(WebCore::FilterContextOpenCL::inError):
(FilterContextOpenCL):
(WebCore::FilterContextOpenCL::RunKernel::RunKernel):
(WebCore::FilterContextOpenCL::RunKernel::addArgument):
(WebCore::FilterContextOpenCL::RunKernel::run):
(RunKernel):
* platform/graphics/gpu/opencl/OpenCLFEColorMatrix.cpp:
(WebCore::FilterContextOpenCL::compileFEColorMatrix):
(WebCore::FEColorMatrix::platformApplyOpenCL):
* platform/graphics/gpu/opencl/OpenCLFETurbulence.cpp:
(WebCore::FilterContextOpenCL::compileFETurbulence):
(WebCore::FETurbulence::platformApplyOpenCL):
* rendering/svg/RenderSVGResourceFilter.cpp:
(WebCore::RenderSVGResourceFilter::postApplyResource):

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

6 years ago[TexMap] Apply frames-per-second debug counter to WK1.
commit-queue@webkit.org [Tue, 12 Feb 2013 09:34:40 +0000 (09:34 +0000)]
[TexMap] Apply frames-per-second debug counter to WK1.
https://bugs.webkit.org/show_bug.cgi?id=109540

Patch by Huang Dongsung <luxtella@company100.net> on 2013-02-12
Reviewed by Noam Rosenthal.

Source/WebCore:

r142524 implemented frames-per-second debug counter on WK2. This patch
applies frames-per-second debug counter to WK1 also.

Visual debugging feature, no need for new tests.

* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* platform/graphics/texmap/TextureMapper.h:
* platform/graphics/texmap/TextureMapperFPSCounter.cpp: Added.
(WebCore):
(WebCore::TextureMapperFPSCounter::TextureMapperFPSCounter):
(WebCore::TextureMapperFPSCounter::updateFPSAndDisplay):
* platform/graphics/texmap/TextureMapperFPSCounter.h: Added.
(WebCore):
(TextureMapperFPSCounter):
* platform/graphics/texmap/TextureMapperGL.cpp:
(WebCore):
(WebCore::TextureMapperGL::drawNumber):
  Rename from drawRepaintCounter to drawNumber.
* platform/graphics/texmap/TextureMapperGL.h:
* platform/graphics/texmap/TextureMapperImageBuffer.cpp:
(WebCore::TextureMapperImageBuffer::drawNumber):
* platform/graphics/texmap/TextureMapperImageBuffer.h:
(TextureMapperImageBuffer):
* platform/graphics/texmap/TextureMapperTiledBackingStore.cpp:
(WebCore::TextureMapperTiledBackingStore::drawRepaintCounter):
* platform/graphics/texmap/coordinated/CoordinatedBackingStore.cpp:
(WebCore::CoordinatedBackingStore::drawRepaintCounter):
* platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp:
  Move frames-per-second debug counter code to TextureMapperFPSCounter.
(WebCore::CoordinatedGraphicsScene::CoordinatedGraphicsScene):
(WebCore::CoordinatedGraphicsScene::paintToCurrentGLContext):
(WebCore::CoordinatedGraphicsScene::paintToGraphicsContext):
* platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.h:

Source/WebKit/efl:

Make AcceleratedCompositingContextEfl use TextureMapperFPSCounter.

* WebCoreSupport/AcceleratedCompositingContextEfl.cpp:
(WebCore::AcceleratedCompositingContext::renderLayers):
* WebCoreSupport/AcceleratedCompositingContextEfl.h:
(AcceleratedCompositingContext):

Source/WebKit/gtk:

Make AcceleratedCompositingContext use TextureMapperFPSCounter.

* WebCoreSupport/AcceleratedCompositingContext.h:
* WebCoreSupport/AcceleratedCompositingContextGL.cpp:
(WebKit::AcceleratedCompositingContext::compositeLayersToContext):

Source/WebKit/qt:

Make TextureMapperLayerClientQt use TextureMapperFPSCounter.

* WebCoreSupport/TextureMapperLayerClientQt.cpp:
(TextureMapperLayerClientQt::renderCompositedLayers):
* WebCoreSupport/TextureMapperLayerClientQt.h:
(TextureMapperLayerClientQt):

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

6 years agoWeb Inspector: stack trace is cut at native bind if inspector is closed
yurys@chromium.org [Tue, 12 Feb 2013 09:20:48 +0000 (09:20 +0000)]
Web Inspector: stack trace is cut at native bind if inspector is closed
https://bugs.webkit.org/show_bug.cgi?id=109427

Reviewed by Pavel Feldman.

Source/WebCore:

Only top frame is collected instead of full stack trace when inspector
front-end is closed to avoid expensive operations when exceptions are
thrown.

Test: http/tests/inspector-enabled/console-exception-while-no-inspector.html

* inspector/InspectorConsoleAgent.cpp:
(WebCore::InspectorConsoleAgent::addMessageToConsole):

LayoutTests:

Test that stack trace for uncaught exceptions is collected when inspector
front-end is closed.

* http/tests/inspector-enabled/console-exception-while-no-inspector-expected.txt: Added.
* http/tests/inspector-enabled/console-exception-while-no-inspector.html: Added.
* platform/chromium/http/tests/inspector-enabled/console-exception-while-no-inspector-expected.txt: Added.

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

6 years ago[chromium] move webrtc mocks to testrunner library
jochen@chromium.org [Tue, 12 Feb 2013 08:47:41 +0000 (08:47 +0000)]
[chromium] move webrtc mocks to testrunner library
https://bugs.webkit.org/show_bug.cgi?id=109041

Reviewed by Adam Barth.

Tools:

* DumpRenderTree/DumpRenderTree.gypi:
* DumpRenderTree/chromium/DumpRenderTree.cpp:
(WebKitSupportTestEnvironment):
(WebKitSupportTestEnvironment::mockPlatform):
(main):
* DumpRenderTree/chromium/MockWebKitPlatformSupport.cpp:
(MockWebKitPlatformSupport::setInterfaces):
(MockWebKitPlatformSupport::createMediaStreamCenter):
(MockWebKitPlatformSupport::createRTCPeerConnectionHandler):
* DumpRenderTree/chromium/MockWebKitPlatformSupport.h:
(WebTestRunner):
(MockWebKitPlatformSupport):
* DumpRenderTree/chromium/TestRunner/public/WebTestInterfaces.h:
(WebKit):
* DumpRenderTree/chromium/TestRunner/public/WebTestProxy.h:
(WebKit):
(WebTestRunner):
(WebTestRunner::WebTestProxy::showContextMenu):
(WebTestRunner::WebTestProxy::userMediaClient):
* DumpRenderTree/chromium/TestRunner/src/MockConstraints.cpp: Renamed from Tools/DumpRenderTree/chromium/MockConstraints.cpp.
(WebTestRunner::MockConstraints::verifyConstraints):
(WebTestRunner):
* DumpRenderTree/chromium/TestRunner/src/MockConstraints.h: Renamed from Tools/DumpRenderTree/chromium/MockConstraints.h.
(WebKit):
(WebTestRunner):
(MockConstraints):
* DumpRenderTree/chromium/TestRunner/src/MockWebMediaStreamCenter.cpp: Renamed from Tools/DumpRenderTree/chromium/MockWebMediaStreamCenter.cpp.
(WebTestRunner):
(WebTestRunner::MockWebMediaStreamCenter::MockWebMediaStreamCenter):
(WebTestRunner::MockWebMediaStreamCenter::queryMediaStreamSources):
(WebTestRunner::MockWebMediaStreamCenter::didEnableMediaStreamTrack):
(WebTestRunner::MockWebMediaStreamCenter::didDisableMediaStreamTrack):
(WebTestRunner::MockWebMediaStreamCenter::didAddMediaStreamTrack):
(WebTestRunner::MockWebMediaStreamCenter::didRemoveMediaStreamTrack):
(WebTestRunner::MockWebMediaStreamCenter::didStopLocalMediaStream):
(MockWebAudioDestinationConsumer):
(WebTestRunner::MockWebAudioDestinationConsumer::~MockWebAudioDestinationConsumer):
(WebTestRunner::MockWebMediaStreamCenter::didCreateMediaStream):
* DumpRenderTree/chromium/TestRunner/src/MockWebMediaStreamCenter.h: Renamed from Tools/DumpRenderTree/chromium/MockWebMediaStreamCenter.h.
(WebKit):
(WebTestRunner):
(MockWebMediaStreamCenter):
(WebTestRunner::MockWebMediaStreamCenter::MockWebMediaStreamCenter):
* DumpRenderTree/chromium/TestRunner/src/MockWebRTCDTMFSenderHandler.cpp: Renamed from Tools/DumpRenderTree/chromium/MockWebRTCDTMFSenderHandler.cpp.
(WebTestRunner):
(DTMFSenderToneTask):
(WebTestRunner::DTMFSenderToneTask::DTMFSenderToneTask):
(WebTestRunner::MockWebRTCDTMFSenderHandler::MockWebRTCDTMFSenderHandler):
(WebTestRunner::MockWebRTCDTMFSenderHandler::setClient):
(WebTestRunner::MockWebRTCDTMFSenderHandler::currentToneBuffer):
(WebTestRunner::MockWebRTCDTMFSenderHandler::canInsertDTMF):
(WebTestRunner::MockWebRTCDTMFSenderHandler::insertDTMF):
* DumpRenderTree/chromium/TestRunner/src/MockWebRTCDTMFSenderHandler.h: Renamed from Tools/DumpRenderTree/chromium/MockWebRTCDTMFSenderHandler.h.
(WebTestRunner):
(MockWebRTCDTMFSenderHandler):
(WebTestRunner::MockWebRTCDTMFSenderHandler::taskList):
(WebTestRunner::MockWebRTCDTMFSenderHandler::clearToneBuffer):
* DumpRenderTree/chromium/TestRunner/src/MockWebRTCDataChannelHandler.cpp: Renamed from Tools/DumpRenderTree/chromium/MockWebRTCDataChannelHandler.cpp.
(WebTestRunner):
(DataChannelReadyStateTask):
(WebTestRunner::DataChannelReadyStateTask::DataChannelReadyStateTask):
(WebTestRunner::MockWebRTCDataChannelHandler::MockWebRTCDataChannelHandler):
(WebTestRunner::MockWebRTCDataChannelHandler::setClient):
(WebTestRunner::MockWebRTCDataChannelHandler::bufferedAmount):
(WebTestRunner::MockWebRTCDataChannelHandler::sendStringData):
(WebTestRunner::MockWebRTCDataChannelHandler::sendRawData):
(WebTestRunner::MockWebRTCDataChannelHandler::close):
* DumpRenderTree/chromium/TestRunner/src/MockWebRTCDataChannelHandler.h: Renamed from Tools/DumpRenderTree/chromium/MockWebRTCDataChannelHandler.h.
(WebTestRunner):
(MockWebRTCDataChannelHandler):
(WebTestRunner::MockWebRTCDataChannelHandler::taskList):
* DumpRenderTree/chromium/TestRunner/src/MockWebRTCPeerConnectionHandler.cpp: Renamed from Tools/DumpRenderTree/chromium/MockWebRTCPeerConnectionHandler.cpp.
(WebTestRunner):
(RTCSessionDescriptionRequestSuccededTask):
(WebTestRunner::RTCSessionDescriptionRequestSuccededTask::RTCSessionDescriptionRequestSuccededTask):
(RTCSessionDescriptionRequestFailedTask):
(WebTestRunner::RTCSessionDescriptionRequestFailedTask::RTCSessionDescriptionRequestFailedTask):
(RTCStatsRequestSucceededTask):
(WebTestRunner::RTCStatsRequestSucceededTask::RTCStatsRequestSucceededTask):
(RTCVoidRequestTask):
(WebTestRunner::RTCVoidRequestTask::RTCVoidRequestTask):
(RTCPeerConnectionStateTask):
(WebTestRunner::RTCPeerConnectionStateTask::RTCPeerConnectionStateTask):
(RemoteDataChannelTask):
(WebTestRunner::RemoteDataChannelTask::RemoteDataChannelTask):
(WebTestRunner::MockWebRTCPeerConnectionHandler::MockWebRTCPeerConnectionHandler):
(WebTestRunner::MockWebRTCPeerConnectionHandler::initialize):
(WebTestRunner::MockWebRTCPeerConnectionHandler::createOffer):
(WebTestRunner::MockWebRTCPeerConnectionHandler::createAnswer):
(WebTestRunner::MockWebRTCPeerConnectionHandler::setLocalDescription):
(WebTestRunner::MockWebRTCPeerConnectionHandler::setRemoteDescription):
(WebTestRunner::MockWebRTCPeerConnectionHandler::localDescription):
(WebTestRunner::MockWebRTCPeerConnectionHandler::remoteDescription):
(WebTestRunner::MockWebRTCPeerConnectionHandler::updateICE):
(WebTestRunner::MockWebRTCPeerConnectionHandler::addICECandidate):
(WebTestRunner::MockWebRTCPeerConnectionHandler::addStream):
(WebTestRunner::MockWebRTCPeerConnectionHandler::removeStream):
(WebTestRunner::MockWebRTCPeerConnectionHandler::getStats):
(WebTestRunner::MockWebRTCPeerConnectionHandler::createDataChannel):
(WebTestRunner::MockWebRTCPeerConnectionHandler::createDTMFSender):
(WebTestRunner::MockWebRTCPeerConnectionHandler::stop):
* DumpRenderTree/chromium/TestRunner/src/MockWebRTCPeerConnectionHandler.h: Renamed from Tools/DumpRenderTree/chromium/MockWebRTCPeerConnectionHandler.h.
(WebKit):
(WebTestRunner):
(MockWebRTCPeerConnectionHandler):
(WebTestRunner::MockWebRTCPeerConnectionHandler::taskList):
(WebTestRunner::MockWebRTCPeerConnectionHandler::MockWebRTCPeerConnectionHandler):
* DumpRenderTree/chromium/TestRunner/src/TestInterfaces.cpp:
(WebTestRunner::TestInterfaces::TestInterfaces):
(WebTestRunner::TestInterfaces::setDelegate):
(WebTestRunner::TestInterfaces::delegate):
(WebTestRunner):
* DumpRenderTree/chromium/TestRunner/src/TestInterfaces.h:
(TestInterfaces):
* DumpRenderTree/chromium/TestRunner/src/WebTestInterfaces.cpp:
(WebTestRunner::WebTestInterfaces::createMediaStreamCenter):
(WebTestRunner):
(WebTestRunner::WebTestInterfaces::createWebRTCPeerConnectionHandler):
* DumpRenderTree/chromium/TestRunner/src/WebTestProxy.cpp:
(WebTestRunner::WebTestProxyBase::userMediaClient):
(WebTestRunner):
* DumpRenderTree/chromium/TestRunner/src/WebUserMediaClientMock.cpp: Renamed from Tools/DumpRenderTree/chromium/WebUserMediaClientMock.cpp.
(WebTestRunner):
(UserMediaRequestTask):
(WebTestRunner::UserMediaRequestTask::UserMediaRequestTask):
(MockExtraData):
(WebTestRunner::WebUserMediaClientMock::WebUserMediaClientMock):
(WebTestRunner::WebUserMediaClientMock::requestUserMedia):
(WebTestRunner::WebUserMediaClientMock::cancelUserMediaRequest):
* DumpRenderTree/chromium/TestRunner/src/WebUserMediaClientMock.h: Renamed from Tools/DumpRenderTree/chromium/WebUserMediaClientMock.h.
(WebTestRunner):
(WebUserMediaClientMock):
(WebTestRunner::WebUserMediaClientMock::~WebUserMediaClientMock):
(WebTestRunner::WebUserMediaClientMock::taskList):
* DumpRenderTree/chromium/TestShell.cpp:
(TestShell::initialize):
* DumpRenderTree/chromium/TestShell.h:
(TestShell):
* DumpRenderTree/chromium/WebViewHost.cpp:
* DumpRenderTree/chromium/WebViewHost.h:
(WebViewHost):

LayoutTests:

Temporarily disable two WebRTC tests that fail due to a bug in
webkit_support's getCurrentTimeMillsecond.

* platform/chromium/TestExpectations:

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

6 years agoINPUT_MULTIPLE_FIELDS_UI: Mouse click not on sub-fields in multiple fields input...
tkent@chromium.org [Tue, 12 Feb 2013 08:34:57 +0000 (08:34 +0000)]
INPUT_MULTIPLE_FIELDS_UI: Mouse click not on sub-fields in multiple fields input  should not move focus
https://bugs.webkit.org/show_bug.cgi?id=109544

Reviewed by Kentaro Hara.

Source/WebCore:

This is similar to Bug 108914, "Should not move focus if the element
already has focus." We fixed a focus() case in Bug 108914. However we
still have the problem in a case of focusing by mouse click.

The fix for Bug 108914 intercepted focus() function to change the
behavior. However focus-by-click doesn't call focus(), but calls
FocusController::setFocusedNode. To fix this problem, we introduce
oldFocusedNode argument to handleFocusEvent, and
BaseMultipleFieldsDateAndTimeInputType::handleFocusEvent restores the
focus to oldFocusedNode if oldFocusedNode is one of sub-fields.
handleFocusEvent is called whenever the focused node is changed.

We don't need InputType::willCancelFocus any more because the new code
in handleFocusEvent covers it.

Tests: Update fast/forms/time-multiple-fields/time-multiple-fields-focus.html.

* html/HTMLTextFormControlElement.h:
(WebCore::HTMLTextFormControlElement::handleFocusEvent):
Add oldFocusedNode argument.
* html/HTMLTextFormControlElement.cpp:
(WebCore::HTMLTextFormControlElement::dispatchFocusEvent):
Pass oldFocusedNode to handleFocusEvent.

* html/HTMLInputElement.h:
(HTMLInputElement):
 - Add oldFocusedNode argument to handleFocusEvent.
 - Remove focus() override.
* html/HTMLInputElement.cpp: Remove focus() override.
(WebCore::HTMLInputElement::handleFocusEvent):
Pass oldFocusedNode to InputType::handleFocusEvent.
* html/InputType.cpp: Remove willCancelFocus.
(WebCore::InputType::handleFocusEvent):
Add oldFocusedNode argument.
* html/InputType.h:
(InputType): Ditto.
* html/PasswordInputType.cpp:
(WebCore::PasswordInputType::handleFocusEvent): Ditto.
* html/PasswordInputType.h:
(PasswordInputType): Ditto.

* html/BaseMultipleFieldsDateAndTimeInputType.h:
(BaseMultipleFieldsDateAndTimeInputType):
Remove willCancelFocus, and add oldFocusedNode argument to handleFocusEvent.
* html/BaseMultipleFieldsDateAndTimeInputType.cpp:
(WebCore::BaseMultipleFieldsDateAndTimeInputType::handleFocusEvent):
Pass oldFocusedNode to DateTimeEditElement::focusByOwner if the
direction is FocusDirectionNone.

* html/shadow/DateTimeEditElement.h:
(DateTimeEditElement): Add oldFocusedNode argument to focusByOwner.
* html/shadow/DateTimeEditElement.cpp:
(WebCore::DateTimeEditElement::focusByOwner):
If oldFocusedNode is one of sub-fields, focus on it again.

LayoutTests:

* fast/forms/time-multiple-fields/time-multiple-fields-focus-expected.txt:
* fast/forms/time-multiple-fields/time-multiple-fields-focus.html:
Add test to click a delimiter.

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

6 years ago[Refactoring] Make m_selectorChecker in StyleResolver an on-stack object.
tasak@google.com [Tue, 12 Feb 2013 08:07:54 +0000 (08:07 +0000)]
[Refactoring] Make m_selectorChecker in StyleResolver an on-stack object.
https://bugs.webkit.org/show_bug.cgi?id=108595

Reviewed by Eric Seidel.

StyleResolver uses SelectorChecker's mode to change its resolving mode.
However it is a state of StyleResolver. StyleResolver should have the
mode and make SelectorChecker instance on a stack while required.

No new tests, just refactoring.

* css/SelectorChecker.cpp:
(WebCore::SelectorChecker::fastCheckRightmostSelector):
(WebCore::SelectorChecker::fastCheck):
(WebCore::SelectorChecker::commonPseudoClassSelectorMatches):
(WebCore::SelectorChecker::matchesFocusPseudoClass):
Changed to static class function, because these methods never use
"this".
(WebCore):
* css/SelectorChecker.h:
(SelectorChecker):
* css/StyleResolver.cpp:
(WebCore::StyleResolver::StyleResolver):
(WebCore::StyleResolver::collectMatchingRules):
Now, matchesFocusPseudoClass is not a static method of
SelectorChecker, so replaced "m_selectorChecker." with
"SelectorChecker::".
(WebCore::StyleResolver::sortAndTransferMatchedRules):
(WebCore::StyleResolver::collectMatchingRulesForList):
(WebCore::StyleResolver::styleSharingCandidateMatchesRuleSet):
(WebCore::StyleResolver::matchUARules):
(WebCore::StyleResolver::adjustRenderStyle):
(WebCore::StyleResolver::pseudoStyleRulesForElement):
Use m_mode instead of m_selectorChecker.mode().
Also use document()->inQuirksMode() instead of
m_selectoChecker.strictParsing().
(WebCore::StyleResolver::ruleMatches):
(WebCore::StyleResolver::checkRegionSelector):
Created an on-stack SelectorChecker object and used it to check
selectors.
* css/StyleResolver.h:
(WebCore::StyleResolver::State::State):
Added m_mode, this keeps m_selectorChecker's mode.
(State):
(StyleResolver):
Removed m_selectorChecker.

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

6 years agoDisabling WebFrameTest.ReplaceMisspelledRange on Android because it crashes
jochen@chromium.org [Tue, 12 Feb 2013 08:03:18 +0000 (08:03 +0000)]
Disabling WebFrameTest.ReplaceMisspelledRange on Android because it crashes
https://bugs.webkit.org/show_bug.cgi?id=109548

Unreviewed gardening.

* tests/WebFrameTest.cpp:

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

6 years agowebkit-patch upload regenerates the WebCore ChangeLog every time it's called
commit-queue@webkit.org [Tue, 12 Feb 2013 07:58:03 +0000 (07:58 +0000)]
webkit-patch upload regenerates the WebCore ChangeLog every time it's called
https://bugs.webkit.org/show_bug.cgi?id=108983

Patch by Timothy Loh <timloh@chromium.com> on 2013-02-11
Reviewed by Ryosuke Niwa.

This patch puts the behaviour from Bug 74358 behind the flag (default=OFF)
`--update-changelogs', and removes the flag `--no-prepare-changelogs'.
The flag name change from prepare to update is since we still want to
prepare changelogs in the default case when none currently exist.

* Scripts/webkitpy/tool/commands/commandtest.py:
(CommandsTest.assert_execute_outputs):
* Scripts/webkitpy/tool/steps/options.py:
(Options):
* Scripts/webkitpy/tool/steps/preparechangelog.py:
(PrepareChangeLog.options):
(PrepareChangeLog.run):

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

6 years ago[EFL] Remove webintents from TestExpectations
commit-queue@webkit.org [Tue, 12 Feb 2013 07:31:59 +0000 (07:31 +0000)]
[EFL] Remove webintents from TestExpectations
https://bugs.webkit.org/show_bug.cgi?id=109537

Unreviewed. webintents tests no longer exist.

Patch by KwangYong Choi <ky0.choi@samsung.com> on 2013-02-11

* platform/efl/TestExpectations:

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

6 years ago[Qt][EFL][WebGL] Minor refactoring of GraphicsSurface/GraphicsSurfaceGLX
commit-queue@webkit.org [Tue, 12 Feb 2013 07:26:45 +0000 (07:26 +0000)]
[Qt][EFL][WebGL] Minor refactoring of GraphicsSurface/GraphicsSurfaceGLX
https://bugs.webkit.org/show_bug.cgi?id=108686

Patch by Viatcheslav Ostapenko <sl.ostapenko@samsung.com> on 2013-02-11
Reviewed by Noam Rosenthal.

Remove unused platformSurface()/m_platformSurface from GraphicsSurface.
Move m_texture from GraphicsSurface to GLX GraphicsSurfacePrivate to match
Win and Mac implementations.

No new tests, refactoring only.

* platform/graphics/surfaces/GraphicsSurface.cpp:
(WebCore::GraphicsSurface::GraphicsSurface):
* platform/graphics/surfaces/GraphicsSurface.h:
(GraphicsSurface):
* platform/graphics/surfaces/glx/GraphicsSurfaceGLX.cpp:
(WebCore::GraphicsSurfacePrivate::GraphicsSurfacePrivate):
(WebCore::GraphicsSurfacePrivate::swapBuffers):
(WebCore::GraphicsSurfacePrivate::surface):
(GraphicsSurfacePrivate):
(WebCore::GraphicsSurfacePrivate::textureID):
(WebCore::GraphicsSurfacePrivate::clear):
(WebCore::GraphicsSurface::platformExport):
(WebCore::GraphicsSurface::platformGetTextureID):
(WebCore::GraphicsSurface::platformSwapBuffers):
(WebCore::GraphicsSurface::platformCreate):
(WebCore::GraphicsSurface::platformImport):
(WebCore::GraphicsSurface::platformDestroy):

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

6 years ago[EFL][WebGL] WebGL content is not painted after resizing the viewport.
commit-queue@webkit.org [Tue, 12 Feb 2013 07:24:46 +0000 (07:24 +0000)]
[EFL][WebGL] WebGL content is not painted after resizing the viewport.
https://bugs.webkit.org/show_bug.cgi?id=106358

Patch by Viatcheslav Ostapenko <sl.ostapenko@samsung.com> on 2013-02-11
Reviewed by Noam Rosenthal.

Source/WebCore:

When page size changes and layer parameters get updated LayerTreeRenderer::setLayerState
clears the layer backing store and detaches the canvas surface from the layer. If the layer
size is not changed then the canvas is not recreated. This leaves the canvas detached from
the layer, but still referenced from m_surfaceBackingStores.
Don't assign layer backing store to layer in assignImageBackingToLayer if there is a canvas
surface already attached to the layer.

Test: fast/canvas/webgl/webgl-layer-update.html

* platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp:
(WebCore::CoordinatedGraphicsScene::setLayerState):
(WebCore::CoordinatedGraphicsScene::assignImageBackingToLayer):
* platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.h:

LayoutTests:

Add test checking that canvas painting is correct if layer parameters were changed,
but webgl canvas didn't change.

* fast/canvas/webgl/webgl-layer-update-expected.png: Added.
* fast/canvas/webgl/webgl-layer-update-expected.txt: Added.
* fast/canvas/webgl/webgl-layer-update.html: Added.

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

6 years ago[chromium] move printPage() implementation to testRunner library
jochen@chromium.org [Tue, 12 Feb 2013 07:19:05 +0000 (07:19 +0000)]
[chromium] move printPage() implementation to testRunner library
https://bugs.webkit.org/show_bug.cgi?id=109436

Reviewed by Adam Barth.

* DumpRenderTree/chromium/TestRunner/public/WebTestProxy.h:
(WebTestRunner::WebTestProxy::showContextMenu):
(WebTestRunner::WebTestProxy::printPage):
* DumpRenderTree/chromium/TestRunner/src/WebTestProxy.cpp:
(WebTestRunner):
(WebTestRunner::WebTestProxyBase::printPage):
* DumpRenderTree/chromium/WebViewHost.cpp:
* DumpRenderTree/chromium/WebViewHost.h:

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

6 years ago[EFL] Some placeholder paint order tests are passing now
commit-queue@webkit.org [Tue, 12 Feb 2013 06:50:48 +0000 (06:50 +0000)]
[EFL] Some placeholder paint order tests are passing now
https://bugs.webkit.org/show_bug.cgi?id=109164

Unreviewed efl gardening.

fast/forms/input-placeholder-paint-order.html and
fast/forms/textarea/textarea-placeholder-paint-order.html are passing now.

RenderTheme::shouldShowPlaceholderWhenFocused() returns true by r127723
and the expectations are added by r140149.

Patch by KwangYong Choi <ky0.choi@samsung.com> on 2013-02-11

* platform/efl/TestExpectations:

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

6 years ago[EFL] Remove editing/deleting/deletionUI-single-instance.html from TestExpectations
commit-queue@webkit.org [Tue, 12 Feb 2013 06:49:54 +0000 (06:49 +0000)]
[EFL] Remove editing/deleting/deletionUI-single-instance.html from TestExpectations
https://bugs.webkit.org/show_bug.cgi?id=109538

Unreviewed. This test is removed by r142559.

Patch by KwangYong Choi <ky0.choi@samsung.com> on 2013-02-11

* platform/efl/TestExpectations:

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

6 years ago[Chromium] Get rid of WebAnimationController
commit-queue@webkit.org [Tue, 12 Feb 2013 06:46:41 +0000 (06:46 +0000)]
[Chromium] Get rid of WebAnimationController
https://bugs.webkit.org/show_bug.cgi?id=109235

Patch by James Robinson <jamesr@chromium.org> on 2013-02-11
Reviewed by Benjamin Poulain.

Source/WebKit/chromium:

* public/WebAnimationController.h: Removed.
* public/WebFrame.h:
(WebFrame):
* src/WebAnimationControllerImpl.cpp: Removed.
* src/WebAnimationControllerImpl.h: Removed.
* src/WebFrameImpl.cpp:
* src/WebFrameImpl.h:
(WebFrameImpl):

Tools:

* DumpRenderTree/chromium/TestRunner/src/TestRunner.cpp:
(WebTestRunner::TestRunner::TestRunner):
* DumpRenderTree/chromium/TestRunner/src/TestRunner.h:
(TestRunner):

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

6 years ago[chromium] Add WebUnitTestSupport::createLayerTreeViewForTesting for webkit_unit_tests
jamesr@google.com [Tue, 12 Feb 2013 06:42:53 +0000 (06:42 +0000)]
[chromium] Add WebUnitTestSupport::createLayerTreeViewForTesting for webkit_unit_tests
https://bugs.webkit.org/show_bug.cgi?id=109403

Reviewed by Adam Barth.

Source/Platform:

webkit_unit_tests that need compositing support need only a simple WebLayerTreeView implementation, not the full
thing.

* chromium/public/WebCompositorSupport.h:
(WebCompositorSupport):
(WebKit::WebCompositorSupport::createLayerTreeView):
* chromium/public/WebUnitTestSupport.h:
(WebKit):
(WebUnitTestSupport):
(WebKit::WebUnitTestSupport::createLayerTreeViewForTesting):

Source/WebKit/chromium:

* tests/GraphicsLayerChromiumTest.cpp:
(WebKit::GraphicsLayerChromiumTest::GraphicsLayerChromiumTest):
* tests/ScrollingCoordinatorChromiumTest.cpp:
(WebKit::FakeWebViewClient::initializeLayerTreeView):

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

6 years ago[Mac] Track language selection should be sticky
eric.carlson@apple.com [Tue, 12 Feb 2013 06:30:19 +0000 (06:30 +0000)]
[Mac] Track language selection should be sticky
https://bugs.webkit.org/show_bug.cgi?id=109466

Reviewed by Dean Jackson.

.:

* Source/autotools/symbols.filter: Export PageGroup::captionPreferences and Page::initGroup.

Source/WebCore:

Choosing a text track from the caption menu should make that track's language the
preferred caption language. Turning captions off from the menu should disable captions
in videos loaded subsequently.

OS X has system support for these settings, so changes made by DRT should not change the
settings on the user's system. Add support for all other ports in DRT only.

Test: media/track/track-user-preferences.html

* WebCore.exp.in: Export PageGroup::captionPreferences().

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::HTMLMediaElement): Use page()->group().captionPreferences().
(WebCore::HTMLMediaElement::attach): Ditto.
(WebCore::HTMLMediaElement::detach): Ditto.
(WebCore::HTMLMediaElement::userPrefersCaptions): Ditto.
(WebCore::HTMLMediaElement::configureTextTrackGroup): Ditto. Update for
    preferredLanguageFromList change.
(WebCore::HTMLMediaElement::toggleTrackAtIndex): Set user prefs for captions visible and
    caption language as appropriate.

* html/shadow/MediaControlElements.cpp:
(WebCore::MediaControlClosedCaptionsTrackListElement::defaultEventHandler): Remove unneeded comment.
(WebCore::MediaControlTextTrackContainerElement::updateSizes):  Use page()->group().captionPreferences().

* html/shadow/MediaControlsApple.cpp:
(WebCore::MediaControlsApple::closedCaptionTracksChanged): Update caption menu button visibility.

* page/CaptionUserPreferences.h:
(WebCore::CaptionUserPreferences::userPrefersCaptions): Support "testing" mode.
(WebCore::CaptionUserPreferences::setUserPrefersCaptions): Ditto.
(WebCore::CaptionUserPreferences::registerForPreferencesChangedCallbacks): Ditto.
(WebCore::CaptionUserPreferences::unregisterForPreferencesChangedCallbacks): Ditto.
(WebCore::CaptionUserPreferences::setPreferredLanguage): Ditto.
(WebCore::CaptionUserPreferences::preferredLanguages): Ditto.
(WebCore::CaptionUserPreferences::testingMode): Ditto.
(WebCore::CaptionUserPreferences::setTestingMode): Ditto.
(WebCore::CaptionUserPreferences::CaptionUserPreferences): Ditto.

* page/CaptionUserPreferencesMac.h:
* page/CaptionUserPreferencesMac.mm:
(WebCore::CaptionUserPreferencesMac::userPrefersCaptions): Support "testing" mode.
(WebCore::CaptionUserPreferencesMac::setUserPrefersCaptions): Ditto.
(WebCore::CaptionUserPreferencesMac::userHasCaptionPreferences): Ditto.
(WebCore::CaptionUserPreferencesMac::registerForPreferencesChangedCallbacks): Change name from
    registerForCaptionPreferencesChangedCallbacks. Support "testing" mode.
(WebCore::CaptionUserPreferencesMac::unregisterForPreferencesChangedCallbacks):  Change name from
    unregisterForCaptionPreferencesChangedCallbacks. Support "testing" mode.
(WebCore::CaptionUserPreferencesMac::captionsStyleSheetOverride): Support "testing" mode.
(WebCore::CaptionUserPreferencesMac::captionFontSizeScale): Ditto.
(WebCore::CaptionUserPreferencesMac::setPreferredLanguage): Ditto.
(WebCore::CaptionUserPreferencesMac::preferredLanguages): Ditto. Return the platform override when set.

* page/PageGroup.cpp:
(WebCore::PageGroup::registerForCaptionPreferencesChangedCallbacks): Remove because it is already
    available from the caption preference object.
(WebCore::PageGroup::unregisterForCaptionPreferencesChangedCallbacks): Ditto.
(WebCore::PageGroup::userPrefersCaptions): Ditto.
(WebCore::PageGroup::userHasCaptionPreferences): Ditto.
(WebCore::PageGroup::captionFontSizeScale): Ditto.
* page/PageGroup.h:

* platform/Language.cpp:
(WebCore::preferredLanguageFromList): Take the list of preferred languages instead of assuming
    the system list.
* platform/Language.h:

* testing/Internals.cpp:
(WebCore::Internals::resetToConsistentState): Disable caption testing mode.
(WebCore::Internals::Internals): Enable caption testing mode so the user's system
    preferences are not modified.

LayoutTests:

* media/track/track-user-preferences-expected.txt: Added.
* media/track/track-user-preferences.html: Added.

* platform/chromium/TestExpectations: Skip new test, it depends on the track menu.
* platform/efl/TestExpectations: Ditto.
* platform/gtk/TestExpectations: Ditto.
* platform/qt/TestExpectations: Ditto.
* platform/win/TestExpectations: Ditto.

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

6 years agoCoordinated Graphics: Make CoordinatedGraphicsScene not know contents size.
commit-queue@webkit.org [Tue, 12 Feb 2013 06:26:51 +0000 (06:26 +0000)]
Coordinated Graphics: Make CoordinatedGraphicsScene not know contents size.
https://bugs.webkit.org/show_bug.cgi?id=108922

Source/WebCore:

Patch by Huang Dongsung <luxtella@company100.net> on 2013-02-11
Reviewed by Noam Rosenthal.

Currently, CoordinatedGraphicsScene has two methods to know contents
size: setContentsSize() and setVisibleContentsRect(). Contents size is
used when adjusting a scroll position, but adjustment is not needed
because EFL and Qt platform code (currently PageViewportController)
already adjusts a scroll position, and it is natural for each platform
to be in charge of adjusting. So this patch makes CoordinatedGraphicsScene
not know contents size.

In addition, now DrawingAreaProxy::coordinatedLayerTreeHostProxy() is only used
to get CoordinatedGraphicsScene.

This patch can only be tested manually since there is no automated
testing facilities for in-motion touch.
Test: ManualTests/fixed-position.html
      ManualTests/nested-fixed-position.html

* platform/graphics/texmap/TextureMapperLayer.cpp:
(WebCore::TextureMapperLayer::setScrollPositionDeltaIfNeeded):
* platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp:
(WebCore::CoordinatedGraphicsScene::setScrollPosition):
(WebCore::CoordinatedGraphicsScene::adjustPositionForFixedLayers):
* platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.h:
(CoordinatedGraphicsScene):

Source/WebKit2:

Patch by Huang Dongsung <luxtella@company100.net> on 2013-02-11
Reviewed by Noam Rosenthal.
Signed off for WebKit2 by Benjamin Poulain.

Currently, CoordinatedGraphicsScene has two methods to know contents
size: setContentsSize() and setVisibleContentsRect(). Contents size is
used when adjusting a scroll position, but adjustment is not needed
because EFL and Qt platform code (currently PageViewportController)
already adjusts a scroll position, and it is natural for each platform
to be in charge of adjusting. So this patch makes CoordinatedGraphicsScene
not know contents size.

In addition, now DrawingAreaProxy::coordinatedLayerTreeHostProxy() is only used
to get CoordinatedGraphicsScene.

* UIProcess/API/qt/qquickwebpage.cpp:
(QQuickWebPagePrivate::updateSize):
* UIProcess/API/qt/raw/qrawwebview.cpp:
(QRawWebView::setSize):
* UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.cpp:
(WebKit::CoordinatedLayerTreeHostProxy::setVisibleContentsRect):
* UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h:
(CoordinatedLayerTreeHostProxy):
* UIProcess/efl/PageClientLegacyImpl.cpp:
(WebKit::PageClientLegacyImpl::didChangeContentsSize):
* UIProcess/efl/PageViewportControllerClientEfl.cpp:
(WebKit::PageViewportControllerClientEfl::didChangeContentsSize):

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

6 years agoCoordinated Graphics: remove the DidChangeScrollPosition message.
commit-queue@webkit.org [Tue, 12 Feb 2013 05:29:40 +0000 (05:29 +0000)]
Coordinated Graphics: remove the DidChangeScrollPosition message.
https://bugs.webkit.org/show_bug.cgi?id=108051

Patch by Huang Dongsung <luxtella@company100.net> on 2013-02-11
Reviewed by Noam Rosenthal.
Signed off for WebKit2 by Benjamin Poulain.

Currently, we use the DidChangeScrollPosition message to send the scroll
position that WebCore used in this frame to UI Process. We had to have
some member variables for the DidChangeScrollPosition message.
However, we can send a scroll position via the DidRenderFrame message,
because CoordinatedGraphicsScene::m_renderedContentsScrollPosition is
updated at the moment of flushing. So we can remove the
DidChangeScrollPosition message and some redundant member variables.

Source/WebCore:

No tests. No change in behavior.

* platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp:
(WebCore::CoordinatedGraphicsScene::flushLayerChanges):
* platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.h:
(CoordinatedGraphicsScene):

Source/WebKit2:

* UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.cpp:
(WebKit::CoordinatedLayerTreeHostProxy::didRenderFrame):
(WebKit):
* UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h:
(CoordinatedLayerTreeHostProxy):
* UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.messages.in:
  Remove the DidChangeScrollPosition message.
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
(WebKit::CoordinatedLayerTreeHost::CoordinatedLayerTreeHost):
(WebKit::CoordinatedLayerTreeHost::flushPendingLayerChanges):
  Send a scroll position via the DidChangeScrollPosition message.
(WebKit::CoordinatedLayerTreeHost::syncLayerState):
  Don't send a scroll position because flushPendingLayerChanges() does
  that. In addition, it is weird to check if we must send a scroll
  position at the moment of sending the SyncLayerState message of every
  layers.
(WebKit::CoordinatedLayerTreeHost::setVisibleContentsRect):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:

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

6 years agoBuild fix.
oliver@apple.com [Tue, 12 Feb 2013 05:11:27 +0000 (05:11 +0000)]
Build fix.

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

6 years agoDisable delete button controller on non-Mac ports and delete EditorClient::shouldShow...
rniwa@webkit.org [Tue, 12 Feb 2013 04:55:35 +0000 (04:55 +0000)]
Disable delete button controller on non-Mac ports and delete EditorClient::shouldShowDeleteInterface
https://bugs.webkit.org/show_bug.cgi?id=109534

Reviewed by Anders Carlsson.

Source/WebCore:

* editing/DeleteButtonController.cpp:
(WebCore::DeleteButtonController::show):
* editing/Editor.cpp:
(WebCore):
* editing/Editor.h:
(Editor):
* loader/EmptyClients.h:
(WebCore::EmptyEditorClient::shouldDeleteRange):
(EmptyEditorClient):
(WebCore::EmptyEditorClient::shouldShowDeleteInterface):
* page/EditorClient.h:
(EditorClient):

Source/WebKit/blackberry:

* WebCoreSupport/EditorClientBlackBerry.cpp:
(WebCore):
* WebCoreSupport/EditorClientBlackBerry.h:
(EditorClientBlackBerry):

Source/WebKit/chromium:

* src/EditorClientImpl.cpp:
(WebKit):
* src/EditorClientImpl.h:
(EditorClientImpl):

Source/WebKit/efl:

* WebCoreSupport/EditorClientEfl.cpp:
(WebCore):
* WebCoreSupport/EditorClientEfl.h:
(EditorClientEfl):

Source/WebKit/gtk:

* WebCoreSupport/EditorClientGtk.cpp:
(WebKit):
* WebCoreSupport/EditorClientGtk.h:
(EditorClient):
* webkit/webkitwebview.cpp:
(webkit_web_view_class_init):

Source/WebKit/mac:

* WebCoreSupport/WebEditorClient.h:

Source/WebKit/qt:

* WebCoreSupport/EditorClientQt.cpp:
(WebCore):
* WebCoreSupport/EditorClientQt.h:
(EditorClientQt):

Source/WebKit/win:

* WebCoreSupport/WebEditorClient.cpp:
* WebCoreSupport/WebEditorClient.h:
(WebEditorClient):

Source/WebKit/wince:

* WebCoreSupport/EditorClientWinCE.cpp:
(WebKit):
* WebCoreSupport/EditorClientWinCE.h:
(EditorClientWinCE):

Source/WebKit/wx:

* WebKitSupport/EditorClientWx.cpp:
(WebCore):
* WebKitSupport/EditorClientWx.h:
(EditorClientWx):

Source/WebKit2:

* WebProcess/WebCoreSupport/WebEditorClient.cpp:
(WebKit):
* WebProcess/WebCoreSupport/WebEditorClient.h:

Source/WTF:

* wtf/Platform.h:

Tools:

* DumpRenderTree/gtk/EditingCallbacks.cpp:
(shouldShowDeleteInterfaceForElement):

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

6 years agoFactor EventContext and introduces MouseOrFocusEventContext.
hayato@chromium.org [Tue, 12 Feb 2013 04:43:56 +0000 (04:43 +0000)]
Factor EventContext and introduces MouseOrFocusEventContext.
https://bugs.webkit.org/show_bug.cgi?id=109278

Reviewed by Dimitri Glazkov.

To supoort Touch event retargeting (bug 107800), we have to factor
event retargeting code so that it can support not only MouseEvent or FocusEvent,
but also other events.

This is the first attempt to refactor event retargeting code, a
separated patch from bug 109156.  EventContext is now factored and
MouseOrFocusEventContext was introduced to support MouseEvent or
FocusEvent separately.

In following patches, I'll introduce TouchEventContext and
TouchEventDispatchMediator to support Touch event retargeting.

No new tests. No change in functionality.

* dom/EventContext.cpp:
(WebCore::EventContext::EventContext): Factor relatedTarget out from EventContext into MouseOrFocusEventContext.
(WebCore::EventContext::~EventContext):
(WebCore):
(WebCore::EventContext::handleLocalEvents):
(WebCore::EventContext::isMouseOrFocusEventContext):
(WebCore::MouseOrFocusEventContext::MouseOrFocusEventContext):  New. Handles MouseEvent's (or FocusEvent's) relatedTarget retargeting.
(WebCore::MouseOrFocusEventContext::~MouseOrFocusEventContext):
(WebCore::MouseOrFocusEventContext::handleLocalEvents):
(WebCore::MouseOrFocusEventContext::isMouseOrFocusEventContext):
* dom/EventContext.h:
(EventContext):
(WebCore::EventContext::node):
(WebCore::EventContext::target):
(WebCore::EventContext::currentTargetSameAsTarget):
(WebCore):
(MouseOrFocusEventContext):
(WebCore::MouseOrFocusEventContext::relatedTarget):
(WebCore::MouseOrFocusEventContext::setRelatedTarget):
* dom/EventDispatcher.cpp:
(WebCore::EventRelatedTargetAdjuster::adjust):
(WebCore::EventDispatcher::adjustRelatedTarget):
(WebCore::EventDispatcher::ensureEventPath):  Renamad from ensureEventAncestors. Use the DOM Core terminology.
(WebCore::EventDispatcher::dispatchEvent):
(WebCore::EventDispatcher::dispatchEventAtCapturing):
(WebCore::EventDispatcher::dispatchEventAtTarget):
(WebCore::EventDispatcher::dispatchEventAtBubbling):
(WebCore::EventDispatcher::dispatchEventPostProcess):
(WebCore::EventDispatcher::topEventContext):
* dom/EventDispatcher.h:
(EventRelatedTargetAdjuster):
(EventDispatcher):
* inspector/InspectorInstrumentation.cpp:
(WebCore):
(WebCore::eventHasListeners):
(WebCore::InspectorInstrumentation::willDispatchEventImpl):
* inspector/InspectorInstrumentation.h:
(InspectorInstrumentation):
(WebCore::InspectorInstrumentation::willDispatchEvent):

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

6 years ago[Curl] setCookiesFromDOM function does not save cookies to disk.
commit-queue@webkit.org [Tue, 12 Feb 2013 04:34:21 +0000 (04:34 +0000)]
[Curl] setCookiesFromDOM function does not save cookies to disk.
https://bugs.webkit.org/show_bug.cgi?id=109285

Patch by peavo@outlook.com <peavo@outlook.com> on 2013-02-11
Reviewed by Brent Fulgham.

Write cookies to disk by using the Curl easy api.

* platform/network/curl/CookieJarCurl.cpp:
(WebCore::setCookiesFromDOM):Write cookie to disk.
* platform/network/curl/ResourceHandleManager.cpp:
(WebCore::ResourceHandleManager::getCurlShareHandle): Added method to get Curl share handle.
(WebCore::ResourceHandleManager::getCookieJarFileName): Added method to get cookie file name.
* platform/network/curl/ResourceHandleManager.h: Added methods to get cookie file name, and Curl share handle.

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

6 years agoSplit each RuleSet and feature out from StyleResolver into its own class.
hayato@chromium.org [Tue, 12 Feb 2013 04:32:05 +0000 (04:32 +0000)]
Split each RuleSet and feature out from StyleResolver into its own class.
https://bugs.webkit.org/show_bug.cgi?id=107777

Reviewed by Dimitri Glazkov.

Re-landing r141964, which was reverted in r141973, since r141964 seem to be innocent.

No tests. No change in behavior.

* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.gypi:
* WebCore.xcodeproj/project.pbxproj:
* css/CSSAllInOne.cpp:
* css/DocumentRuleSets.cpp: Added.
(WebCore):
(WebCore::DocumentRuleSets::DocumentRuleSets):
(WebCore::DocumentRuleSets::~DocumentRuleSets):
(WebCore::DocumentRuleSets::initUserStyle): New helper to initialize each RuleSets.
(WebCore::DocumentRuleSets::collectRulesFromUserStyleSheets): Factored out from StyleResolver.
(WebCore::makeRuleSet): Ditto.
(WebCore::DocumentRuleSets::resetAuthorStyle): Ditto.
(WebCore::DocumentRuleSets::appendAuthorStyleSheets): Ditto.
(WebCore::DocumentRuleSets::collectFeatures): Ditto.
(WebCore::DocumentRuleSets::reportMemoryUsage): New methods to report memory usage. Factored out from StyleResolver.
* css/DocumentRuleSets.h: Added.
(WebCore):
(DocumentRuleSets):
(WebCore::DocumentRuleSets::authorStyle): Moved from StyleResolver.
(WebCore::DocumentRuleSets::userStyle): Ditto.
(WebCore::DocumentRuleSets::features): Ditto.
(WebCore::DocumentRuleSets::sibling): Ditto.
(WebCore::DocumentRuleSets::uncommonAttribute): Ditto.
* css/StyleResolver.cpp:
(WebCore::StyleResolver::StyleResolver):
(WebCore::StyleResolver::appendAuthorStyleSheets): Now calls DocumentRuleSets::appendAuthorStyleSheets.
(WebCore::StyleResolver::matchAuthorRules): Use m_ruleSets.
(WebCore::StyleResolver::matchUserRules): Ditto.
(WebCore::StyleResolver::classNamesAffectedByRules): Ditto.
(WebCore::StyleResolver::locateCousinList): Ditto.
(WebCore::StyleResolver::canShareStyleWithElement): Ditto.
(WebCore::StyleResolver::locateSharedStyle): Ditto.
(WebCore::StyleResolver::styleForPage): Ditto.
(WebCore::StyleResolver::checkRegionStyle): Ditto.
(WebCore::StyleResolver::applyProperty): Ditto.
(WebCore::StyleResolver::reportMemoryUsage): Now calls DocumentRuleSets::reportMemoryUsage.
* css/StyleResolver.h:
(WebCore::StyleResolver::scopeResolver):
(StyleResolver):
(WebCore::StyleResolver::ruleSets): accessor r to DocumentRuleSets.
(WebCore::StyleResolver::usesSiblingRules): Use m_ruleSets.
(WebCore::StyleResolver::usesFirstLineRules): Ditto.
(WebCore::StyleResolver::usesBeforeAfterRules): Ditto.
(WebCore::StyleResolver::hasSelectorForAttribute): Ditto.
(WebCore::StyleResolver::hasSelectorForClass): Ditto.
(WebCore::StyleResolver::hasSelectorForId): Ditto.
* dom/DocumentStyleSheetCollection.cpp:
(WebCore::DocumentStyleSheetCollection::updateActiveStyleSheets):

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

6 years agoREGRESSION (r140778):Calendar Picker buttons are wrong when rtl
keishi@webkit.org [Tue, 12 Feb 2013 04:24:54 +0000 (04:24 +0000)]
REGRESSION (r140778):Calendar Picker buttons are wrong when rtl
https://bugs.webkit.org/show_bug.cgi?id=109158

Reviewed by Kent Tamura.

Source/WebCore:

The calendar picker button's icon and position where wrong when rtl.

Test: platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-ar.html

* Resources/pagepopups/calendarPicker.css:
(.year-month-button-left .year-month-button): Use -webkit-margin-end so the margin is applide to the right side.
(.year-month-button-right .year-month-button): Use -webkit-margin-start so the margin is applide to the right side.
(.today-clear-area .today-button): Use -webkit-margin-end so the margin is applide to the right side.
* Resources/pagepopups/calendarPicker.js:
(YearMonthController.prototype._attachLeftButtonsTo): Flip icon image when rtl.
(YearMonthController.prototype._attachRightButtonsTo): Ditto.

LayoutTests:

* platform/chromium-mac/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-ar-expected.png: Added.
* platform/chromium-mac/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-required-ar-expected.png:
* platform/chromium/TestExpectations:
* platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-ar-expected.txt: Added.
* platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-ar.html: Added.

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

6 years ago[chromium] Apply page scale to all WebInputEvent types
aelias@chromium.org [Tue, 12 Feb 2013 04:23:05 +0000 (04:23 +0000)]
[chromium] Apply page scale to all WebInputEvent types
https://bugs.webkit.org/show_bug.cgi?id=109370

Reviewed by James Robinson.

Previously we only adjusted a few common input event types by page
scale, but in fact almost every position and size in WebInputEvents
requires it.

I also took the opportunity to change some WebGestureEvent members to
floats (which I checked causes no warnings in Chromium-side code with
GCC or Clang).

New WebInputEventConversionTest: InputEventsScaling

* public/WebInputEvent.h:
(WebKit::WebGestureEvent::WebGestureEvent):
* src/WebInputEventConversion.cpp:
(WebKit::widgetScaleFactor):
(WebKit):
(WebKit::PlatformMouseEventBuilder::PlatformMouseEventBuilder):
(WebKit::PlatformWheelEventBuilder::PlatformWheelEventBuilder):
(WebKit::PlatformGestureEventBuilder::PlatformGestureEventBuilder):
(WebKit::PlatformTouchPointBuilder::PlatformTouchPointBuilder):
(WebKit::updateWebMouseEventFromWebCoreMouseEvent):
(WebKit::WebMouseEventBuilder::WebMouseEventBuilder):
(WebKit::addTouchPoints):
(WebKit::WebTouchEventBuilder::WebTouchEventBuilder):
(WebKit::WebGestureEventBuilder::WebGestureEventBuilder):
* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::handleGestureEvent):
(WebKit::WebViewImpl::hasTouchEventHandlersAt):
(WebKit::WebViewImpl::handleInputEvent):
* tests/WebInputEventConversionTest.cpp:
(WebCore::TEST):
(WebCore):

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

6 years agoREGRESSION (r142549): Remove web intents code
commit-queue@webkit.org [Tue, 12 Feb 2013 04:22:34 +0000 (04:22 +0000)]
REGRESSION (r142549): Remove web intents code
https://bugs.webkit.org/show_bug.cgi?id=109532

Patch by KwangYong Choi <ky0.choi@samsung.com> on 2013-02-11
Reviewed by Nico Weber.

Remove remaning code related to web intents.

No new tests, no change on behavior.

* UseJSC.cmake:
* bindings/js/JSIntentConstructor.cpp: Removed.

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

6 years agoUnreviewed, rolling out r142568.
commit-queue@webkit.org [Tue, 12 Feb 2013 04:17:40 +0000 (04:17 +0000)]
Unreviewed, rolling out r142568.
http://trac.webkit.org/changeset/142568
https://bugs.webkit.org/show_bug.cgi?id=109541

Broke the build, won't compile. (Requested by alancutter on
#webkit).

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

Source/Platform:

* chromium/public/WebCompositorSupport.h:
(WebCompositorSupport):
(WebKit::WebCompositorSupport::createLayerTreeView):
* chromium/public/WebUnitTestSupport.h:

Source/WebKit/chromium:

* tests/GraphicsLayerChromiumTest.cpp:
(WebKit::GraphicsLayerChromiumTest::GraphicsLayerChromiumTest):
* tests/ScrollingCoordinatorChromiumTest.cpp:
(WebKit::FakeWebViewClient::initializeLayerTreeView):

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

6 years ago[chromium] Add WebUnitTestSupport::createLayerTreeViewForTesting for webkit_unit_tests
jamesr@google.com [Tue, 12 Feb 2013 02:50:58 +0000 (02:50 +0000)]
[chromium] Add WebUnitTestSupport::createLayerTreeViewForTesting for webkit_unit_tests
https://bugs.webkit.org/show_bug.cgi?id=109403

Reviewed by Adam Barth.

Source/Platform:

webkit_unit_tests that need compositing support need only a simple WebLayerTreeView implementation, not the full
thing.

* chromium/public/WebCompositorSupport.h:
(WebCompositorSupport):
(WebKit::WebCompositorSupport::createLayerTreeView):
* chromium/public/WebUnitTestSupport.h:
(WebKit):
(WebUnitTestSupport):
(WebKit::WebUnitTestSupport::createLayerTreeViewForTesting):

Source/WebKit/chromium:

* tests/GraphicsLayerChromiumTest.cpp:
(WebKit::GraphicsLayerChromiumTest::GraphicsLayerChromiumTest):
* tests/ScrollingCoordinatorChromiumTest.cpp:
(WebKit::FakeWebViewClient::initializeLayerTreeView):

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

6 years agoAdd temporary typedef to ANGLEWebKitBridge to support incompatible API upgrade
kbr@google.com [Tue, 12 Feb 2013 02:38:54 +0000 (02:38 +0000)]
Add temporary typedef to ANGLEWebKitBridge to support incompatible API upgrade
https://bugs.webkit.org/show_bug.cgi?id=109127

Reviewed by Dean Jackson.

No new tests. Built and tested WebKit and Chromium with this change.

* platform/graphics/ANGLEWebKitBridge.cpp:
(WebCore):
    Define temporary typedef spanning int -> size_t change.
(WebCore::getValidationResultValue):
(WebCore::getSymbolInfo):
    Use temporary typedef.

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

6 years agoUnreviewed. Rolled Chromium DEPS to r181817. Requested by
commit-queue@webkit.org [Tue, 12 Feb 2013 02:38:35 +0000 (02:38 +0000)]
Unreviewed.  Rolled Chromium DEPS to r181817.  Requested by
"James Robinson" <jamesr@chromium.org> via sheriffbot.

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

* DEPS:

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

6 years ago[V8] ScheduledAction::m_context can be empty, so we shouldn't
haraken@chromium.org [Tue, 12 Feb 2013 02:06:13 +0000 (02:06 +0000)]
[V8] ScheduledAction::m_context can be empty, so we shouldn't
retrieve an Isolate by using m_context->GetIsolate()
https://bugs.webkit.org/show_bug.cgi?id=109523

Reviewed by Adam Barth.

Chromium bug: https://code.google.com/p/chromium/issues/detail?id=175307#makechanges

Currently ScheduledAction is retrieving an Isolate by using m_context->GetIsolate().
This can crash because ScheduledAction::m_context can be empty. Specifically,
ScheduledAction::m_context is set to ScriptController::currentWorldContext(),
which can return an empty handle when a frame does not exist. In addition,
'if(context.IsEmpty())' in ScheduledAction.cpp implies that it can be empty.

Alternately, we should pass an Isolate explicitly when a ScheduledAction is instantiated.

No tests. The Chromium crash report doesn't provide enough information
to reproduce the bug.

* bindings/v8/ScheduledAction.cpp:
(WebCore::ScheduledAction::ScheduledAction):
(WebCore):
(WebCore::ScheduledAction::~ScheduledAction):
* bindings/v8/ScheduledAction.h:
(ScheduledAction):
* bindings/v8/custom/V8DOMWindowCustom.cpp:
(WebCore::WindowSetTimeoutImpl):
* bindings/v8/custom/V8WorkerContextCustom.cpp:
(WebCore::SetTimeoutOrInterval):

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

6 years agoIndexedDB: Add UnknownError to WebIDBDatabaseException
dgrogan@chromium.org [Tue, 12 Feb 2013 01:58:38 +0000 (01:58 +0000)]
IndexedDB: Add UnknownError to WebIDBDatabaseException
https://bugs.webkit.org/show_bug.cgi?id=109519

Reviewed by Adam Barth.

* public/WebIDBDatabaseException.h:
* src/AssertMatchingEnums.cpp:

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

6 years agoBuild fix: r142549 broke EFL build
commit-queue@webkit.org [Tue, 12 Feb 2013 01:52:19 +0000 (01:52 +0000)]
Build fix: r142549 broke EFL build
https://bugs.webkit.org/show_bug.cgi?id=109527

Patch by Adenilson Cavalcanti <cavalcantii@gmail.com> on 2013-02-11
Reviewed by Kentaro Hara.

Source/WebCore:

No new tests, no change on behavior.

* CMakeLists.txt:

Source/WebKit:

Build fix.

* CMakeLists.txt:

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

6 years ago[EFL] Build fix
commit-queue@webkit.org [Tue, 12 Feb 2013 01:42:24 +0000 (01:42 +0000)]
[EFL] Build fix
https://bugs.webkit.org/show_bug.cgi?id=109518

Patch by Jae Hyun Park <jae.park@company100.net> on 2013-02-11
Reviewed by Laszlo Gombos.

Fix EFL build by including PluginProcessConnectionManager.messages.in in
CMakeLists.txt

* CMakeLists.txt:

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

6 years agoREGRESSION (r142520?): Space no longer scrolls the page
simon.fraser@apple.com [Tue, 12 Feb 2013 01:35:34 +0000 (01:35 +0000)]
REGRESSION (r142520?): Space no longer scrolls the page
https://bugs.webkit.org/show_bug.cgi?id=109526

Reviewed by Tim Horton.

ScrollingTree::updateTreeFromStateNode() used to bail early when it had
no children (no fixed or sticky elements), but that left updateAfterChildren()
uncalled. Fix by always calling updateAfterChildren(), which updates the scroll
position.

* page/scrolling/ScrollingTree.cpp:
(WebCore::ScrollingTree::updateTreeFromStateNode):

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

6 years agoRemove extra early-return in FrameView::setScrollPosition
timothy_horton@apple.com [Tue, 12 Feb 2013 01:31:46 +0000 (01:31 +0000)]
Remove extra early-return in FrameView::setScrollPosition

Rubber-stamped by Simon Fraser.

* page/FrameView.cpp:
(WebCore::FrameView::setScrollPosition):

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

6 years agoMove deletionUI tests into platform/mac
rniwa@webkit.org [Tue, 12 Feb 2013 01:31:36 +0000 (01:31 +0000)]
Move deletionUI tests into platform/mac
https://bugs.webkit.org/show_bug.cgi?id=109517

Reviewed by Benjamin Poulain.

Moved deletionUI tests into platform/mac since Mac is the only port that ships this feature.

* editing/deleting/5408255-expected.txt: Removed.
* editing/deleting/5408255.html: Removed.
* editing/deleting/deletionUI-single-instance.html: Removed.
* platform/chromium/editing/deleting/deletionUI-single-instance-expected.png: Removed.
* platform/chromium/editing/deleting/deletionUI-single-instance-expected.txt: Removed.
* platform/efl/TestExpectations:
* platform/mac/editing/deleting/deletionUI-click-on-delete-button-expected.txt: Copied from LayoutTests/editing/deleting/5408255-expected.txt.
* platform/mac/editing/deleting/deletionUI-click-on-delete-button.html: Copied from LayoutTests/editing/deleting/5408255.html.
* platform/mac/editing/deleting/deletionUI-single-instance.html: Copied from LayoutTests/editing/deleting/deletionUI-single-instance.html.
* platform/qt-mac/TestExpectations:
* platform/qt/editing/deleting/deletionUI-single-instance-expected.png: Removed.
* platform/qt/editing/deleting/deletionUI-single-instance-expected.txt: Removed.
* platform/win/TestExpectations:
* platform/wincairo/TestExpectations:
* platform/wk2/TestExpectations:

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

6 years ago[Microdata] Fix crash after r141034 in chromuim port
arko@motorola.com [Tue, 12 Feb 2013 01:29:07 +0000 (01:29 +0000)]
[Microdata] Fix crash after r141034 in chromuim port
https://bugs.webkit.org/show_bug.cgi?id=109514

Reviewed by Ryosuke Niwa.

Added V8SkipVTableValidation extended attribute to skip
VTable validation check for DOMSettableTokenList interface.

This patch fixes below test failures:
Tests: fast/dom/MicroData/domsettabletokenlist-attributes-add-token.html
       fast/dom/MicroData/domsettabletokenlist-attributes-out-of-range-index.html
       fast/dom/MicroData/element-with-empty-itemprop.html
       fast/dom/MicroData/itemprop-add-remove-tokens.html
       fast/dom/MicroData/itemprop-for-an-element-must-be-correct.html
       fast/dom/MicroData/itemprop-must-be-read-only.html
       fast/dom/MicroData/itemprop-reflected-by-itemProp-property.html
       fast/dom/MicroData/itemref-add-remove-tokens.html
       fast/dom/MicroData/itemref-attribute-reflected-by-itemRef-property.html
       fast/dom/MicroData/itemref-for-an-element-must-be-correct.html
       fast/dom/MicroData/itemref-must-be-read-only.html
       fast/dom/MicroData/itemtype-add-remove-tokens.html
       fast/dom/MicroData/itemtype-attribute-test.html
       fast/dom/MicroData/microdata-domtokenlist-attribute-add-remove-tokens.html
       fast/dom/MicroData/properties-collection-namedgetter-with-invalid-name.html
       fast/dom/MicroData/propertynodelist-add-remove-itemprop-tokens.html
       fast/dom/MicroData/propertynodelist-add-remove-itemref-tokens.html

* html/DOMSettableTokenList.idl:

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

6 years agoMake JSC API more NULL tolerant
oliver@apple.com [Tue, 12 Feb 2013 01:20:57 +0000 (01:20 +0000)]
Make JSC API more NULL tolerant
https://bugs.webkit.org/show_bug.cgi?id=109515

Reviewed by Mark Hahnenberg.

We do so much marshalling for the C API these days anyway that a single null
check isn't a performance issue.  Yet the existing "null is unsafe" behaviour
leads to crashes in embedding applications whenever there's an untested code
path, so it seems having defined behaviour is superior.

* API/APICast.h:
(toJS):
(toJSForGC):
* API/JSObjectRef.cpp:
(JSObjectIsFunction):
(JSObjectCallAsFunction):
(JSObjectIsConstructor):
(JSObjectCallAsConstructor):
* API/tests/testapi.c:
(main):

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

6 years agoFix build.
andersca@apple.com [Tue, 12 Feb 2013 01:09:46 +0000 (01:09 +0000)]
Fix build.

* WebProcess/Plugins/PluginProcessConnectionManager.cpp:
(WebKit::PluginProcessConnectionManager::didReceiveMessageOnConnectionWorkQueue):
* WebProcess/WebProcess.cpp:

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

6 years agoLoad event fires too early with threaded HTML parser (take 2)
abarth@webkit.org [Tue, 12 Feb 2013 01:07:33 +0000 (01:07 +0000)]
Load event fires too early with threaded HTML parser (take 2)
https://bugs.webkit.org/show_bug.cgi?id=109485

Reviewed by Eric Seidel.

Source/WebCore:

This patch restores the code that was removed in
http://trac.webkit.org/changeset/142492 and adds code to
DocumentLoader.cpp to avoid the regression.

* dom/Document.cpp:
(WebCore::Document::hasActiveParser):
(WebCore::Document::decrementActiveParserCount):
* loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::isLoadingInAPISense):

LayoutTests:

This patch also fixes a bug whereby removing an iframe during the load
event would trigger DumpRenderTree to dump the test in the middle of
the load event. We now wait until the load event is over.

* compositing/iframes/remove-iframe-crash-expected.txt:
* fast/frames/iframe-access-screen-of-deleted-expected.txt:
* fast/frames/remove-frame-during-load-event-expected.txt: Added.
* fast/frames/remove-frame-during-load-event.html: Added.
* http/tests/misc/xslt-bad-import-expected.txt:

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

6 years agoUnreviewed, adding a FIXME to remind ourselves of a bug.
fpizlo@apple.com [Tue, 12 Feb 2013 01:05:39 +0000 (01:05 +0000)]
Unreviewed, adding a FIXME to remind ourselves of a bug.
https://bugs.webkit.org/show_bug.cgi?id=109487

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

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

6 years ago[GTK] Build fix.
ossy@webkit.org [Tue, 12 Feb 2013 00:55:07 +0000 (00:55 +0000)]
[GTK] Build fix.
https://bugs.webkit.org/show_bug.cgi?id=109516

Patch by Seulgi Kim <seulgikim@company100.net> on 2013-02-11
Reviewed by Csaba Osztrogon√°c.

PluginProcessConnectionManagerMessages are omitted from messages list.

* GNUmakefile.list.am:

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

6 years agoFold HTMLTokenizerState back into HTMLTokenizer now that MarkupTokenizerBase is RFG
eric@webkit.org [Tue, 12 Feb 2013 00:53:45 +0000 (00:53 +0000)]
Fold HTMLTokenizerState back into HTMLTokenizer now that MarkupTokenizerBase is RFG
https://bugs.webkit.org/show_bug.cgi?id=109502

Reviewed by Tony Gentilcore.

Just a search replace of HTMLTokenizerState with HTMLTokenizer and moving the enum.
This restores us to the peacefull world pre-NEW_XML.

* html/parser/BackgroundHTMLParser.cpp:
(WebCore::BackgroundHTMLParser::forcePlaintextForTextDocument):
(WebCore::BackgroundHTMLParser::simulateTreeBuilder):
* html/parser/HTMLDocumentParser.cpp:
(WebCore::tokenizerStateForContextElement):
(WebCore::HTMLDocumentParser::forcePlaintextForTextDocument):
(WebCore::HTMLDocumentParser::pumpTokenizer):
* html/parser/HTMLTokenizer.cpp:
(WebCore::isEndTagBufferingState):
(WebCore):
(WebCore::HTMLTokenizer::reset):
(WebCore::HTMLTokenizer::flushEmitAndResumeIn):
(WebCore::HTMLTokenizer::nextToken):
(WebCore::HTMLTokenizer::updateStateFor):
* html/parser/HTMLTokenizer.h:
(HTMLTokenizer):
(WebCore::HTMLTokenizer::create):
(WebCore::HTMLTokenizer::shouldSkipNullCharacters):
(WebCore::HTMLTokenizer::emitEndOfFile):
* html/parser/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processStartTagForInBody):
(WebCore::HTMLTreeBuilder::processEndTag):
(WebCore::HTMLTreeBuilder::processGenericRCDATAStartTag):
(WebCore::HTMLTreeBuilder::processGenericRawTextStartTag):
(WebCore::HTMLTreeBuilder::processScriptStartTag):
* html/parser/TextViewSourceParser.cpp:
(WebCore::TextViewSourceParser::TextViewSourceParser):

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

6 years agoUnreviewed. Rolled Chromium DEPS to r181787. Requested by
commit-queue@webkit.org [Tue, 12 Feb 2013 00:49:08 +0000 (00:49 +0000)]
Unreviewed.  Rolled Chromium DEPS to r181787.  Requested by
thakis_ via sheriffbot.

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

* DEPS:

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

6 years agoBuild fix after r142528
haraken@chromium.org [Tue, 12 Feb 2013 00:46:58 +0000 (00:46 +0000)]
Build fix after r142528
https://bugs.webkit.org/show_bug.cgi?id=109520

Reviewed by Eric Seidel.

r142528 changed GIFImageReader from a struct to a class.
We also need to fix a forward declaration.

No tests.

* platform/image-decoders/gif/GIFImageDecoder.h:

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

6 years agoRemove web intents code
thakis@chromium.org [Tue, 12 Feb 2013 00:39:54 +0000 (00:39 +0000)]
Remove web intents code
https://bugs.webkit.org/show_bug.cgi?id=109501

Reviewed by Eric Seidel.

See thread "Removing ENABLE(WEB_INTENTS) code" on webkit-dev.

Source/WebCore:

* DerivedSources.make:
* Modules/intents/DOMWindowIntents.cpp: Removed.
* Modules/intents/DOMWindowIntents.h: Removed.
* Modules/intents/DOMWindowIntents.idl: Removed.
* Modules/intents/DeliveredIntent.cpp: Removed.
* Modules/intents/DeliveredIntent.h: Removed.
* Modules/intents/DeliveredIntent.idl: Removed.
* Modules/intents/Intent.cpp: Removed.
* Modules/intents/Intent.h: Removed.
* Modules/intents/Intent.idl: Removed.
* Modules/intents/IntentRequest.cpp: Removed.
* Modules/intents/IntentRequest.h: Removed.
* Modules/intents/IntentResultCallback.h: Removed.
* Modules/intents/IntentResultCallback.idl: Removed.
* Modules/intents/NavigatorIntents.cpp: Removed.
* Modules/intents/NavigatorIntents.h: Removed.
* Modules/intents/NavigatorIntents.idl: Removed.
* WebCore.gyp/WebCore.gyp:
* WebCore.gypi:
* bindings/generic/RuntimeEnabledFeatures.cpp:
(WebCore):
* bindings/generic/RuntimeEnabledFeatures.h:
(RuntimeEnabledFeatures):
* bindings/v8/custom/V8IntentCustom.cpp: Removed.
* html/HTMLElementsAllInOne.cpp:
* html/HTMLIntentElement.cpp: Removed.
* html/HTMLIntentElement.h: Removed.
* html/HTMLIntentElement.idl: Removed.
* loader/EmptyClients.cpp:
* loader/EmptyClients.h:
(EmptyFrameLoaderClient):
* loader/FrameLoaderClient.h:
(WebCore):
* page/DOMWindow.idl:

Source/WebKit/chromium:

* WebKit.gyp:
* features.gypi:
* public/WebDeliveredIntentClient.h: Removed.
* public/WebFrame.h:
(WebKit):
(WebFrame):
* public/WebFrameClient.h:
(WebKit):
* public/WebIntent.h: Removed.
* public/WebIntentRequest.h: Removed.
* public/WebIntentServiceInfo.h: Removed.
* public/WebRuntimeFeatures.h:
(WebRuntimeFeatures):
* src/DeliveredIntentClientImpl.cpp: Removed.
* src/DeliveredIntentClientImpl.h: Removed.
* src/FrameLoaderClientImpl.cpp:
* src/FrameLoaderClientImpl.h:
(FrameLoaderClientImpl):
* src/WebFrameImpl.cpp:
* src/WebFrameImpl.h:
(WebKit):
(WebFrameImpl):
* src/WebIntent.cpp: Removed.
* src/WebIntentRequest.cpp: Removed.
* src/WebIntentServiceInfo.cpp: Removed.
* src/WebRuntimeFeatures.cpp:

Tools:

* DumpRenderTree/TestRunner.cpp:
(TestRunner::staticFunctions):
* DumpRenderTree/TestRunner.h:
(TestRunner):
* DumpRenderTree/blackberry/TestRunnerBlackBerry.cpp:
* DumpRenderTree/chromium/TestRunner/public/WebTestDelegate.h:
(WebKit):
* DumpRenderTree/chromium/TestRunner/public/WebTestProxy.h:
(WebKit):
(WebTestRunner::WebTestProxy::didEndEditing):
* DumpRenderTree/chromium/TestRunner/src/TestRunner.cpp:
(WebTestRunner::TestRunner::TestRunner):
* DumpRenderTree/chromium/TestRunner/src/TestRunner.h:
(TestRunner):
* DumpRenderTree/chromium/TestRunner/src/WebTestProxy.cpp:
* DumpRenderTree/chromium/WebViewHost.cpp:
* DumpRenderTree/chromium/WebViewHost.h:
(WebViewHost):
* DumpRenderTree/efl/TestRunnerEfl.cpp:
* DumpRenderTree/gtk/TestRunnerGtk.cpp:
* DumpRenderTree/mac/TestRunnerMac.mm:
* DumpRenderTree/win/TestRunnerWin.cpp:
* DumpRenderTree/wx/TestRunnerWx.cpp:
* Scripts/webkitperl/FeatureList.pm:

LayoutTests:

* webintents/intent-tag-expected.txt: Removed.
* webintents/intent-tag.html: Removed.
* webintents/resources/pass.html: Removed.
* webintents/resources/web-intents-reload-orig.html: Removed.
* webintents/resources/web-intents-testing.js: Removed.
* webintents/web-intents-api-expected.txt: Removed.
* webintents/web-intents-api.html: Removed.
* webintents/web-intents-delivery-expected.txt: Removed.
* webintents/web-intents-delivery-reuse-expected.txt: Removed.
* webintents/web-intents-delivery-reuse.html: Removed.
* webintents/web-intents-delivery.html: Removed.
* webintents/web-intents-failure-expected.txt: Removed.
* webintents/web-intents-failure.html: Removed.
* webintents/web-intents-invoke-expected.txt: Removed.
* webintents/web-intents-invoke-port-expected.txt: Removed.
* webintents/web-intents-invoke-port.html: Removed.
* webintents/web-intents-invoke.html: Removed.
* webintents/web-intents-obj-constructor-expected.txt: Removed.
* webintents/web-intents-obj-constructor.html: Removed.
* webintents/web-intents-reload-expected.txt: Removed.
* webintents/web-intents-reload.html: Removed.
* webintents/web-intents-reply-expected.txt: Removed.
* webintents/web-intents-reply.html: Removed.

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

6 years agoSVG DOM manipulation crash
schenney@chromium.org [Tue, 12 Feb 2013 00:36:45 +0000 (00:36 +0000)]
SVG DOM manipulation crash
https://bugs.webkit.org/show_bug.cgi?id=108709

Reviewed by Eric Seidel.

Adding a test for the case where an SVG <use> tree is rebuild due to
one event listener and a subsequent listener tries to access it. This
does not crash in WebKit but has caused problems in browser code where
the listener tries to access and use toNode on the target of the
event. The test prevents regressions and gives automated security
tests something to work on.

* svg/custom/use-listener-append-crash-expected.txt: Added.
* svg/custom/use-listener-append-crash.html: Added.

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

6 years agoFix Mac build after http://trac.webkit.org/changeset/142535.
eric@webkit.org [Tue, 12 Feb 2013 00:33:32 +0000 (00:33 +0000)]
Fix Mac build after trac.webkit.org/changeset/142535.

Unreviewed build fix.

* html/parser/HTMLTokenizer.h:
(WebCore::HTMLTokenizer::emitAndReconsumeIn):

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

6 years agoMake WebCore Derived Sources work with SDK identifiers too
commit-queue@webkit.org [Tue, 12 Feb 2013 00:32:23 +0000 (00:32 +0000)]
Make WebCore Derived Sources work with SDK identifiers too
https://bugs.webkit.org/show_bug.cgi?id=109324

Patch by David Farler <dfarler@apple.com> on 2013-02-11
Reviewed by Sam Weinig.

* WebCore.xcodeproj/project.pbxproj: Pass SDKROOT to make for DerivedSources.make

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

6 years agoWEBGL_compressed_texture_s3tc extension can be enabled even when not supported
zmo@google.com [Tue, 12 Feb 2013 00:31:15 +0000 (00:31 +0000)]
WEBGL_compressed_texture_s3tc extension can be enabled even when not supported
https://bugs.webkit.org/show_bug.cgi?id=109508

Reviewed by Kenneth Russell.

* html/canvas/WebGLRenderingContext.cpp:
(WebCore):
(WebCore::WebGLRenderingContext::getExtension): Check whether the extension support is there before returning the extension pointer.

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

6 years agoStrange bug in DFG OSR in JSC
fpizlo@apple.com [Tue, 12 Feb 2013 00:29:20 +0000 (00:29 +0000)]
Strange bug in DFG OSR in JSC
https://bugs.webkit.org/show_bug.cgi?id=109491

Source/JavaScriptCore:

Reviewed by Mark Hahnenberg.

Int32ToDouble was being injected after a side-effecting operation and before a SetLocal. Anytime we
inject something just before a SetLocal we should be aware that the previous operation may have been
a side-effect associated with the current code origin. Hence, we should use a forward exit.
Int32ToDouble does not do forward exits by default.

This patch adds a forward-exiting form of Int32ToDouble, for use in SetLocal Int32ToDouble injections.
Changed the CSE and other things to treat these nodes identically, but for the exit strategy to be
distinct (Int32ToDouble -> backward, ForwardInt32ToDouble -> forward). The use of the NodeType for
signaling exit direction is not "great" but it's what we use in other places already (like
ForwardCheckStructure).

* dfg/DFGAbstractState.cpp:
(JSC::DFG::AbstractState::execute):
* dfg/DFGCSEPhase.cpp:
(JSC::DFG::CSEPhase::int32ToDoubleCSE):
(CSEPhase):
(JSC::DFG::CSEPhase::performNodeCSE):
* dfg/DFGCommon.h:
* dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
(JSC::DFG::FixupPhase::fixDoubleEdge):
(JSC::DFG::FixupPhase::injectInt32ToDoubleNode):
* dfg/DFGNode.h:
(JSC::DFG::Node::willHaveCodeGenOrOSR):
* dfg/DFGNodeType.h:
(DFG):
* dfg/DFGPredictionPropagationPhase.cpp:
(JSC::DFG::PredictionPropagationPhase::propagate):
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::convertLastOSRExitToForward):
(JSC::DFG::SpeculativeJIT::compileInt32ToDouble):
* dfg/DFGSpeculativeJIT.h:
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGVariableEventStream.cpp:
(JSC::DFG::VariableEventStream::reconstruct):

LayoutTests:

Reviewed by Mark Hahnenberg.

Added one version of the test (dfg-int32-to-double-on-set-local-and-exit) that is based
exactly on Gabor's original test, and another that ought to fail even if I fix other bugs
in the future (see https://bugs.webkit.org/show_bug.cgi?id=109511).

* fast/js/dfg-int32-to-double-on-set-local-and-exit-expected.txt: Added.
* fast/js/dfg-int32-to-double-on-set-local-and-exit.html: Added.
* fast/js/dfg-int32-to-double-on-set-local-and-sometimes-exit-expected.txt: Added.
* fast/js/dfg-int32-to-double-on-set-local-and-sometimes-exit.html: Added.
* fast/js/script-tests/dfg-int32-to-double-on-set-local-and-exit.js: Added.
(checkpoint):
(func1):
(func2):
(func3):
(test):
* fast/js/script-tests/dfg-int32-to-double-on-set-local-and-sometimes-exit.js: Added.
(checkpoint):
(func1):
(func2):
(func3):
(test):

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

6 years ago[WK2] setMinimumLayoutWidth should bail if there's no WebProcess
timothy_horton@apple.com [Tue, 12 Feb 2013 00:21:17 +0000 (00:21 +0000)]
[WK2] setMinimumLayoutWidth should bail if there's no WebProcess
https://bugs.webkit.org/show_bug.cgi?id=109512
<rdar://problem/13093627>

Reviewed by Anders Carlsson.

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::setMinimumLayoutWidth):

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

6 years agoPluginProcessConnectionManager should be a QueueClient
andersca@apple.com [Tue, 12 Feb 2013 00:08:15 +0000 (00:08 +0000)]
PluginProcessConnectionManager should be a QueueClient
https://bugs.webkit.org/show_bug.cgi?id=109496

Reviewed by Andreas Kling.

* WebProcess/Plugins/PluginProcessConnectionManager.cpp:
(WebKit::PluginProcessConnectionManager::didReceiveMessageOnConnectionWorkQueue):
(WebKit):
(WebKit::PluginProcessConnectionManager::didCloseOnConnectionWorkQueue):
* WebProcess/Plugins/PluginProcessConnectionManager.h:
(PluginProcessConnectionManager):
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::initializeConnection):
* WebProcess/WebProcess.h:
(WebProcess):

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

6 years agoChange RenderFrameSet::paint to use m-rows/m_cols directly.
eae@chromium.org [Tue, 12 Feb 2013 00:07:35 +0000 (00:07 +0000)]
Change RenderFrameSet::paint to use m-rows/m_cols directly.
https://bugs.webkit.org/show_bug.cgi?id=108503

Source/WebCore:

Reviewed by Eric Seidel.

Test: fast/frames/invalid-frameset.html

* rendering/RenderFrameSet.cpp:
(WebCore::RenderFrameSet::paint):

LayoutTests:

Reviewed by Eric Seidel.

Add test for how we render an invalid frameset.

* fast/frames/invalid-frameset-expected.html: Added.
* fast/frames/invalid-frameset.html: Added.

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

6 years agoXMLHttpRequestProgressEventThrottle::resume() always schedules timer even when unnece...
yoli@rim.com [Tue, 12 Feb 2013 00:01:36 +0000 (00:01 +0000)]
XMLHttpRequestProgressEventThrottle::resume() always schedules timer even when unnecessary
https://bugs.webkit.org/show_bug.cgi?id=105348

Reviewed by Alexey Proskuryakov.

Let resume() clear the defer flag and return if there is deferred events to dispatch.

No new tests as this should not affect existing cross-platform behavior. It should be
OK as long as it doesn't break anything.

* xml/XMLHttpRequestProgressEventThrottle.cpp:
(WebCore::XMLHttpRequestProgressEventThrottle::resume):

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

6 years ago[iOS] Upstream changes to Platform.h
ddkilzer@apple.com [Mon, 11 Feb 2013 23:54:55 +0000 (23:54 +0000)]
[iOS] Upstream changes to Platform.h
<http://webkit.org/b/109459>

Reviewed by Benjamin Poulain.

* wtf/Platform.h:
- Changes for armv7s.
- Add ENABLE() definitions for DASHBOARD_SUPPORT and WEBGL.
- Re-sort USE() macros.
- Remove ENABLE() macros for JIT, LLINT and YARR_JIT to enable
  on iOS Simulator.  They are already defined below.
- Turn off HAVE(HOSTED_CORE_ANIMATION) for iOS.
- Turn on USE(COREMEDIA) for iOS 6.0 and later.

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

6 years agoHarden FastMalloc (again)
oliver@apple.com [Mon, 11 Feb 2013 23:53:22 +0000 (23:53 +0000)]
Harden FastMalloc (again)
https://bugs.webkit.org/show_bug.cgi?id=109334

Reviewed by Mark Hahnenberg.

Re-implement hardening of linked lists in TCMalloc.

In order to keep heap introspection working, we need to thread the
heap entropy manually as the introspection process can't use the
address of a global in determining the mask.  Given we now have to
thread a value through anyway, I've stopped relying on ASLR for entropy
and am simply using arc4random() on darwin, and time + ASLR everywhere
else.

I've also made an explicit struct type for the FastMalloc singly linked
lists, as it seemed like the only way to reliably distinguish between
void*'s that were lists vs. void* that were not.  This also made it
somewhat easier to reason about things across processes.

Verified that all the introspection tools work as expected.

* wtf/FastMalloc.cpp:
(WTF::internalEntropyValue):
(WTF):
(HardenedSLL):
(WTF::HardenedSLL::create):
(WTF::HardenedSLL::null):
(WTF::HardenedSLL::setValue):
(WTF::HardenedSLL::value):
(WTF::HardenedSLL::operator!):
(WTF::HardenedSLL::operator UnspecifiedBoolType):
(TCEntry):
(WTF::SLL_Next):
(WTF::SLL_SetNext):
(WTF::SLL_Push):
(WTF::SLL_Pop):
(WTF::SLL_PopRange):
(WTF::SLL_PushRange):
(WTF::SLL_Size):
(PageHeapAllocator):
(WTF::PageHeapAllocator::Init):
(WTF::PageHeapAllocator::New):
(WTF::PageHeapAllocator::Delete):
(WTF::PageHeapAllocator::recordAdministrativeRegions):
(WTF::Span::next):
(WTF::Span::remoteNext):
(WTF::Span::prev):
(WTF::Span::setNext):
(WTF::Span::setPrev):
(Span):
(WTF::DLL_Init):
(WTF::DLL_Remove):
(WTF::DLL_IsEmpty):
(WTF::DLL_Length):
(WTF::DLL_Prepend):
(TCMalloc_Central_FreeList):
(WTF::TCMalloc_Central_FreeList::enumerateFreeObjects):
(WTF::TCMalloc_Central_FreeList::entropy):
(TCMalloc_PageHeap):
(WTF::TCMalloc_PageHeap::init):
(WTF::TCMalloc_PageHeap::scavenge):
(WTF::TCMalloc_PageHeap::New):
(WTF::TCMalloc_PageHeap::AllocLarge):
(WTF::TCMalloc_PageHeap::Carve):
(WTF::TCMalloc_PageHeap::Delete):
(WTF::TCMalloc_PageHeap::ReturnedBytes):
(WTF::TCMalloc_PageHeap::Check):
(WTF::TCMalloc_PageHeap::CheckList):
(WTF::TCMalloc_PageHeap::ReleaseFreeList):
(TCMalloc_ThreadCache_FreeList):
(WTF::TCMalloc_ThreadCache_FreeList::Init):
(WTF::TCMalloc_ThreadCache_FreeList::empty):
(WTF::TCMalloc_ThreadCache_FreeList::Push):
(WTF::TCMalloc_ThreadCache_FreeList::PushRange):
(WTF::TCMalloc_ThreadCache_FreeList::PopRange):
(WTF::TCMalloc_ThreadCache_FreeList::Pop):
(WTF::TCMalloc_ThreadCache_FreeList::enumerateFreeObjects):
(TCMalloc_ThreadCache):
(WTF::TCMalloc_Central_FreeList::Init):
(WTF::TCMalloc_Central_FreeList::ReleaseListToSpans):
(WTF::TCMalloc_Central_FreeList::ReleaseToSpans):
(WTF::TCMalloc_Central_FreeList::InsertRange):
(WTF::TCMalloc_Central_FreeList::RemoveRange):
(WTF::TCMalloc_Central_FreeList::FetchFromSpansSafe):
(WTF::TCMalloc_Central_FreeList::FetchFromSpans):
(WTF::TCMalloc_Central_FreeList::Populate):
(WTF::TCMalloc_ThreadCache::Init):
(WTF::TCMalloc_ThreadCache::Deallocate):
(WTF::TCMalloc_ThreadCache::FetchFromCentralCache):
(WTF::TCMalloc_ThreadCache::ReleaseToCentralCache):
(WTF::TCMalloc_ThreadCache::InitModule):
(WTF::TCMalloc_ThreadCache::NewHeap):
(WTF::TCMalloc_ThreadCache::CreateCacheIfNecessary):
* wtf/MallocZoneSupport.h:
(RemoteMemoryReader):

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

6 years agoFold MarkupTokenizerBase into HTMLTokenizer now that it is the only subclass
eric@webkit.org [Mon, 11 Feb 2013 23:52:39 +0000 (23:52 +0000)]
Fold MarkupTokenizerBase into HTMLTokenizer now that it is the only subclass
https://bugs.webkit.org/show_bug.cgi?id=109499

Reviewed by Adam Barth.

For great justice.  And sanity.
Epic amount of template code deleted.

* GNUmakefile.list.am:
* Target.pri:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:
* html/parser/HTMLTokenizer.cpp:
(WebCore::HTMLTokenizer::HTMLTokenizer):
* html/parser/HTMLTokenizer.h:
(HTMLTokenizer):
(Checkpoint):
(WebCore::HTMLTokenizer::state):
(WebCore::HTMLTokenizer::setState):
(WebCore::HTMLTokenizer::shouldSkipNullCharacters):
(WebCore::HTMLTokenizer::bufferCharacter):
(WebCore::HTMLTokenizer::emitAndResumeIn):
(WebCore::HTMLTokenizer::emitAndReconsumeIn):
(WebCore::HTMLTokenizer::emitEndOfFile):
(WebCore::HTMLTokenizer::haveBufferedCharacterToken):
* xml/parser/MarkupTokenizerBase.h: Removed.

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

6 years ago[Text Autosizing] Collect narrow descendants and process them separately. Refactoring for
commit-queue@webkit.org [Mon, 11 Feb 2013 23:48:51 +0000 (23:48 +0000)]
[Text Autosizing] Collect narrow descendants and process them separately. Refactoring for
a change to follow.
https://bugs.webkit.org/show_bug.cgi?id=109054

Preparational change to combine narrow descendants of the same autosizing cluster into
groups by the width difference between the descendant and the block containing all text of
the parent autosizing cluster. The groups will be autosized with the same multiplier.

For example, on sites with a sidebar, sometimes the paragraphs next to the sidebar will have
a large margin individually applied (via a CSS selector), causing them all to individually
appear narrower than their enclosing blockContainingAllText. Rather than making each of
these paragraphs into a separate cluster, we eventually want to be able to merge them back
together into one (or a few) descendant clusters.

Patch by Anton Vayvod <avayvod@chromium.org> on 2013-02-11
Reviewed by Julien Chaffraix.

No behavioral changes thus no new tests or test changes.

* rendering/TextAutosizer.cpp:
(TextAutosizingClusterInfo): Vector of narrow descendants.
(WebCore::TextAutosizer::processCluster): Process narrow descendants separately.
(WebCore::TextAutosizer::processContainer):

    Remember narrow descendants of the parent cluster for later processing.

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

6 years agoSource/WebCore: Add ENABLE_DELETION_UI to control the use of the deletion UI.
enrica@apple.com [Mon, 11 Feb 2013 23:47:41 +0000 (23:47 +0000)]
Source/WebCore: Add ENABLE_DELETION_UI to control the use of the deletion UI.
https://bugs.webkit.org/show_bug.cgi?id=109463.

Reviewed by Ryosuke Niwa.

This patch adds #if ENABLE(DELETION_UI) in every spot where
DeleteButtonController is used. This class is now only instantiated
if the feature is enabled. I've also done some cleanup in the
DeleteButtonController class, removing unused methods and making
private some methods only used internally to the class.
Both DeleteButtonController and DeleteButton classes are now excluded
from the compilation if the feature is not enabled.

No new tests, no change of functionality.

* dom/ContainerNode.cpp:
(WebCore::ContainerNode::cloneChildNodes):
* editing/CompositeEditCommand.cpp:
(WebCore::EditCommandComposition::unapply):
(WebCore::EditCommandComposition::reapply):
(WebCore::CompositeEditCommand::apply):
* editing/DeleteButton.cpp:
* editing/DeleteButtonController.cpp:
* editing/DeleteButtonController.h: Some cleanup.
(WebCore::DeleteButtonController::enabled): Made private.
* editing/EditCommand.cpp:
(WebCore::EditCommand::EditCommand):
* editing/Editor.cpp:
(WebCore::Editor::notifyComponentsOnChangedSelection):
(WebCore::Editor::Editor):
(WebCore::Editor::rangeForPoint):
(WebCore::Editor::deviceScaleFactorChanged):
* editing/Editor.h:
* editing/htmlediting.cpp: avoidIntersectionWithNode is
used only if the feature is enabled.
* editing/htmlediting.h:
* editing/markup.cpp:
(WebCore::createMarkup):
(WebCore::createFragmentFromNodes):
* rendering/RenderTable.cpp: Removed unnecessary include
fo DeleteButtonController.h

Source/WTF: Add ENABLE_DELETION_UI to control the use of the deletion UI.
https://bugs.webkit.org/show_bug.cgi?id=109463.

ENABLE_DELETION_UI is set to 1 by default for
all ports. It is explicitly enabled for MAC and disabled for iOS.

Reviewed by Ryosuke Niwa.

* wtf/Platform.h:

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