WebKit-https.git
8 years agoUnreviewed, another attempt to build fix for r101751:
morrita@google.com [Fri, 2 Dec 2011 11:14:40 +0000 (11:14 +0000)]
Unreviewed, another attempt to build fix for r101751:
Adding an include path to make PlatformExportMacros.h visibile from QTMovieWin.

Patch by MORITA Hajime <morrita@google.com> on 2011-12-02

* WebCore.vcproj/QTMovieWinCommon.vsprops:

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

8 years agoUnreviewed test expectations.
vsevik@chromium.org [Fri, 2 Dec 2011 11:09:34 +0000 (11:09 +0000)]
Unreviewed test expectations.

* platform/chromium-mac/fast/events/offsetX-offsetY-expected.txt: Renamed from LayoutTests/platform/gtk/fast/events/offsetX-offsetY-expected.txt.

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

8 years agoUnreviewed, rolling out r101772.
morrita@google.com [Fri, 2 Dec 2011 11:08:03 +0000 (11:08 +0000)]
Unreviewed, rolling out r101772.
http://trac.webkit.org/changeset/101772

It didn't fix the build failure

* WebCore.vcproj/QTMovieWinCommon.vsprops:

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

8 years ago2011-12-02 MORITA Hajime <morrita@google.com>
morrita@google.com [Fri, 2 Dec 2011 10:55:23 +0000 (10:55 +0000)]
2011-12-02  MORITA Hajime  <morrita@google.com>

        Unreviewed attempt to build fix for r101751:
        Adding an include path to make PlatformExportMacros.h visibile from QTMovieWin.

        * WebCore.vcproj/QTMovieWinCommon.vsprops:

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

8 years agoUnreviewed, GTK rebaseline after r101723 and skipping another set
philn@webkit.org [Fri, 2 Dec 2011 10:52:15 +0000 (10:52 +0000)]
Unreviewed, GTK rebaseline after r101723 and skipping another set
of svg tests show 1px differences.

* platform/gtk/Skipped:
* platform/gtk/fast/dom/Window/window-properties-expected.txt:

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

8 years agoUnreviewed. Fix GTK+ build after r101750.
carlosgc@webkit.org [Fri, 2 Dec 2011 10:20:58 +0000 (10:20 +0000)]
Unreviewed. Fix GTK+ build after r101750.

* GNUmakefile.am: Add missing files.

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

8 years agoWeb Inspector: [Extensions API] pass preferred resource line number to extension...
caseq@chromium.org [Fri, 2 Dec 2011 10:17:25 +0000 (10:17 +0000)]
Web Inspector: [Extensions API] pass preferred resource line number to extension's open resource handler
https://bugs.webkit.org/show_bug.cgi?id=73084

Reviewed by Pavel Feldman.

Source/WebCore:

* inspector/front-end/ExtensionAPI.js:
(injectedExtensionAPI.Panels.prototype.setOpenResourceHandler.else.callbackWrapper):
(injectedExtensionAPI.Panels.prototype.setOpenResourceHandler):
* inspector/front-end/ExtensionServer.js:
(WebInspector.ExtensionServer.prototype._handleOpenURL):
* inspector/front-end/HandlerRegistry.js:
(get WebInspector.HandlerRegistry.prototype.set dispatch):
* inspector/front-end/JavaScriptSourceFrame.js:
(WebInspector.JavaScriptSourceFrame.prototype.populateTextAreaContextMenu):
* inspector/front-end/ResourcesPanel.js:
(WebInspector.FrameResourceTreeElement.prototype._handleContextMenuEvent):
* inspector/front-end/SourceFrame.js:
(WebInspector.SourceFrame.prototype.populateLineGutterContextMenu):
(WebInspector.SourceFrame.prototype.populateTextAreaContextMenu):
(WebInspector.TextViewerDelegateForSourceFrame.prototype.populateLineGutterContextMenu):
(WebInspector.TextViewerDelegateForSourceFrame.prototype.populateTextAreaContextMenu):
* inspector/front-end/TextViewer.js:
(WebInspector.TextViewer.prototype._contextMenu):
(WebInspector.TextViewerDelegate.prototype.populateLineGutterContextMenu):
(WebInspector.TextViewerDelegate.prototype.populateTextAreaContextMenu):
* inspector/front-end/externs.js:
(WebInspector.populateResourceContextMenu):
* inspector/front-end/inspector.js:
(WebInspector.populateResourceContextMenu):
(WebInspector._showAnchorLocation):

LayoutTests:

* inspector/extensions/extensions-resources-expected.txt:
* inspector/extensions/extensions-resources.html:

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

8 years agoUnreviewed. GTK+ build fix.
kov@webkit.org [Fri, 2 Dec 2011 10:14:46 +0000 (10:14 +0000)]
Unreviewed. GTK+ build fix.

* GNUmakefile.am:

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

8 years agoMove run-bindings-tests implementation to webkitpy/bindings/main.py
haraken@chromium.org [Fri, 2 Dec 2011 09:31:03 +0000 (09:31 +0000)]
Move run-bindings-tests implementation to webkitpy/bindings/main.py
https://bugs.webkit.org/show_bug.cgi?id=73619

Reviewed by Adam Barth.

As run-bindings-tests has been growing, this patch just moves its implementation
to webkitpy/bindings/main.py to integrate with the rest of webkitpy.

No change in behavior.

* Scripts/run-bindings-tests:
(main):
* Scripts/webkitpy/bindings/__init__.py: Added.
* Scripts/webkitpy/bindings/main.py: Added.
(BindingsTests.__init__):
(BindingsTests.generate_from_idl):
(BindingsTests.generate_supplemental_dependency):
(BindingsTests.detect_changes):
(BindingsTests.run_tests):

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

8 years agoUnreviewed, added custom chromium test expectations.
vsevik@chromium.org [Fri, 2 Dec 2011 09:24:17 +0000 (09:24 +0000)]
Unreviewed, added custom chromium test expectations.

* platform/chromium/fast/images/image-css3-content-data-expected.png: Added.

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

8 years ago[GTK] scrollbars interfering with fullscreen (in-window) video rendering
philn@webkit.org [Fri, 2 Dec 2011 09:18:35 +0000 (09:18 +0000)]
[GTK] scrollbars interfering with fullscreen (in-window) video rendering
https://bugs.webkit.org/show_bug.cgi?id=73577

Reviewed by Martin Robinson.

Disable scrollbars when switching to fullscreen.

* WebCoreSupport/ChromeClientGtk.cpp:
(WebKit::ChromeClient::contentsSizeChanged): Ignore size changes
when an element is being displayed fullscreen.
(WebKit::ChromeClient::enterFullScreenForElement): Disable
scrollbars when entering fullscreen.
* WebCoreSupport/GtkAdjustmentWatcher.cpp: Added 2 methods to
enable/disable scrollbars and one method to know whether they are
enabled or not.
(WebKit::GtkAdjustmentWatcher::GtkAdjustmentWatcher):
(WebKit::updateAdjustmentFromScrollbar):
(WebKit::GtkAdjustmentWatcher::updateAdjustmentsFromScrollbars):
(WebKit::GtkAdjustmentWatcher::updateAdjustmentsFromScrollbarsLater):
(WebKit::GtkAdjustmentWatcher::disableAllScrollbars):
(WebKit::GtkAdjustmentWatcher::enableAllScrollbars):
* WebCoreSupport/GtkAdjustmentWatcher.h:
(WebKit::GtkAdjustmentWatcher::scrollbarsDisabled):

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

8 years ago[GTK] Add compilation options to enable/disable Accelerated Compositing and to choose...
mrobinson@webkit.org [Fri, 2 Dec 2011 09:16:58 +0000 (09:16 +0000)]
[GTK] Add compilation options to enable/disable Accelerated Compositing and to choose texture mapper implementation.
https://bugs.webkit.org/show_bug.cgi?id=73458

Patch by Nayan Kumar K <nayankk@motorola.com> on 2011-12-01
Reviewed by Martin Robinson.

.:

* GNUmakefile.am: Export new compilation macros.
* configure.ac: Provide option to choose accelerated compositing and texture mapper variations.

Source/WebCore:

No new tests added as this patch doesn't affect any functionality.

* GNUmakefile.am: Guard the include files.
* GNUmakefile.list.am: Guard the compilation of few files.
* platform/graphics/GraphicsLayer.h: Guard the typedef of GraphicsLayer.

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

8 years ago[Qt][WK2] ASSERT at QQuickWebViewPrivate::computeViewportConstraints() when API test...
commit-queue@webkit.org [Fri, 2 Dec 2011 09:15:18 +0000 (09:15 +0000)]
[Qt][WK2] ASSERT at QQuickWebViewPrivate::computeViewportConstraints() when API test is exercising zero sized views.
https://bugs.webkit.org/show_bug.cgi?id=73441

Do not assert on empty available size, but return default constrain values instead.

Patch by Zalan Bujtas <zbujtas@gmail.com> on 2011-12-02
Reviewed by Kenneth Rohde Christiansen.

* UIProcess/API/qt/qquickwebview.cpp:
(QQuickWebViewPrivate::computeViewportConstraints):
* WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::dispatchViewportPropertiesDidChange):

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

8 years agoNow that r101733 fixed fast/block/child-not-removed-from-parent-lineboxes-crash.html,
rniwa@webkit.org [Fri, 2 Dec 2011 09:12:58 +0000 (09:12 +0000)]
Now that r101733 fixed fast/block/child-not-removed-from-parent-lineboxes-crash.html,
remove the failing expectation on Chromium and re-enable it on Qt.

* platform/chromium/test_expectations.txt:
* platform/qt/Skipped:

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

8 years agoWeb Inspector [chromium]: provisional fix for interactive ui tests
pfeldman@chromium.org [Fri, 2 Dec 2011 09:09:45 +0000 (09:09 +0000)]
Web Inspector [chromium]: provisional fix for interactive ui tests
https://bugs.webkit.org/show_bug.cgi?id=73633

Reviewed by Yury Semikhatsky.

* src/js/Tests.js:
(.):
(.TestSuite.prototype._executeCodeWhenScriptsAreParsed):

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

8 years agoWeb Inspector: use object properties, not element attributes to pass preferred panel...
caseq@chromium.org [Fri, 2 Dec 2011 09:06:09 +0000 (09:06 +0000)]
Web Inspector: use object properties, not element attributes to pass preferred panel/line/request id in linkified anchors
https://bugs.webkit.org/show_bug.cgi?id=73556

Reviewed by Pavel Feldman.

Source/WebCore:

* inspector/front-end/AuditFormatters.js:
(WebInspector.AuditFormatters.resourceLink):
* inspector/front-end/ConsoleMessage.js:
(WebInspector.ConsoleMessageImpl.prototype._formatMessage.else.else.linkifier):
(WebInspector.ConsoleMessageImpl.prototype._formatMessage):
* inspector/front-end/DebuggerPresentationModel.js:
(WebInspector.DebuggerPresentationModel.Linkifier.prototype.linkifyLocation):
(WebInspector.DebuggerPresentationModel.Linkifier.prototype._updateAnchor):
* inspector/front-end/NetworkPanel.js:
(WebInspector.NetworkPanel.prototype._resourceByAnchor):
(WebInspector.NetworkDataGridNode.prototype._refreshInitiatorCell):
* inspector/front-end/ResourceUtils.js:
(WebInspector.linkifyStringAsFragment):
(WebInspector.linkifyResourceAsNode):
(WebInspector.linkifyRequestAsNode):
* inspector/front-end/ResourcesPanel.js:
(WebInspector.ResourcesPanel.prototype.showAnchorLocation):
* inspector/front-end/inspector.js:
(WebInspector._showAnchorLocation):

LayoutTests:

* inspector/extensions/extensions-audits-expected.txt:
* inspector/extensions/extensions-audits.html:

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

8 years ago[chromium] Add WebKit API's to support the autosize algorithm in renderer process.
levin@chromium.org [Fri, 2 Dec 2011 08:58:21 +0000 (08:58 +0000)]
[chromium] Add WebKit API's to support the autosize algorithm in renderer process.
https://bugs.webkit.org/show_bug.cgi?id=73058

Reviewed by Darin Fisher.

* public/WebView.h: Expose the auto-resize method.
* public/WebWidgetClient.h:
(WebKit::WebWidgetClient::didAutoResize):
* src/WebFrameImpl.cpp:
(WebKit::WebFrameImpl::createFrameView): Set the auto-resize
state on the new view.
* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::WebViewImpl):
(WebKit::WebViewImpl::resize): Extracted sendResizeEventAndRepaint, so
that it can be used by layoutUpdated.
(WebKit::WebViewImpl::queueBothResizeEventAndPaint): Ditto.
(WebKit::WebViewImpl::hasHorizontalScrollbar): Added for testing purposes.
(WebKit::WebViewImpl::hasVerticalScrollbar): Ditto.
(WebKit::WebViewImpl::enableAutoResizeMode): Set-up auto-resize.
(WebKit::WebViewImpl::layoutUpdated): Handle the auto-resize case by
sending events and invalidation.
* src/WebViewImpl.h: Expose the aut-reosize information.
(WebKit::WebViewImpl::shouldAutoResize):
(WebKit::WebViewImpl::minAutoSize):
(WebKit::WebViewImpl::maxAutoSize):
* tests/FrameTestHelpers.cpp:
(WebKit::FrameTestHelpers::createWebViewAndLoad): Added the ability to
specify the WebViewClient.
* tests/FrameTestHelpers.h: Ditto.
* tests/WebViewTest.cpp: Added a simple test for auto-resize.
(WebKit::TestData::setWebView):
(WebKit::TestData::setSize): Capture the new size.
(WebKit::TestData::hasHorizontalScrollbar):
(WebKit::TestData::hasVerticalScrollbar):
(WebKit::TestData::width):
(WebKit::TestData::height):
(WebKit::AutoResizeWebViewClient::didAutoResize): Handle the resize event.
(WebKit::AutoResizeWebViewClient::testData):
(WebKit::TEST_F): The actual test.
* tests/data/specify_size.html: Added.

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

8 years ago[Chromium] Support adding/removing page overlay to WebView
commit-queue@webkit.org [Fri, 2 Dec 2011 08:55:48 +0000 (08:55 +0000)]
[Chromium] Support adding/removing page overlay to WebView
https://bugs.webkit.org/show_bug.cgi?id=73235

Patch by Xiyuan Xia <xiyuan@chromium.org> on 2011-12-02
Reviewed by James Robinson.

* WebKit.gyp:
* public/WebPageOverlay.h: Added.
(WebKit::WebPageOverlay::~WebPageOverlay):
* public/WebView.h:
* src/PageOverlay.cpp:
(WebKit::PageOverlay::create):
(WebKit::PageOverlay::PageOverlay):
(WebKit::OverlayGraphicsLayerClientImpl::create):
(WebKit::OverlayGraphicsLayerClientImpl::paintContents):
(WebKit::OverlayGraphicsLayerClientImpl::OverlayGraphicsLayerClientImpl):
(WebKit::PageOverlay::update):
(WebKit::PageOverlay::paintWebFrame):
(WebKit::PageOverlay::invalidateWebFrame):
* src/PageOverlay.h:
(WebKit::PageOverlay::overlay):
(WebKit::PageOverlay::setOverlay):
(WebKit::PageOverlay::zOrder):
(WebKit::PageOverlay::setZOrder):
* src/PageOverlayList.cpp: Added.
(WebKit::PageOverlayList::create):
(WebKit::PageOverlayList::PageOverlayList):
(WebKit::PageOverlayList::~PageOverlayList):
(WebKit::PageOverlayList::add):
(WebKit::PageOverlayList::remove):
(WebKit::PageOverlayList::update):
(WebKit::PageOverlayList::paintWebFrame):
(WebKit::PageOverlayList::find):
* src/PageOverlayList.h: Added.
(WebKit::PageOverlayList::empty):
* src/WebDevToolsAgentImpl.cpp:
(WebKit::WebDevToolsAgentImpl::paintPageOverlay):
(WebKit::WebDevToolsAgentImpl::highlight):
(WebKit::WebDevToolsAgentImpl::hideHighlight):
* src/WebDevToolsAgentImpl.h:
* src/WebFrameImpl.cpp:
(WebKit::WebFrameImpl::paintWithContext):
* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::composite):
(WebKit::WebViewImpl::addPageOverlay):
(WebKit::WebViewImpl::removePageOverlay):
(WebKit::WebViewImpl::setIsAcceleratedCompositingActive):
(WebKit::WebViewImpl::didRecreateGraphicsContext):
* src/WebViewImpl.h:
(WebKit::WebViewImpl::pageOverlays):

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

8 years agoTools/Scripts: eliminate find_test_files from Port class.
loislo@chromium.org [Fri, 2 Dec 2011 08:44:20 +0000 (08:44 +0000)]
Tools/Scripts: eliminate find_test_files from Port class.
https://bugs.webkit.org/show_bug.cgi?id=73553

rebaseline.py and chromium_gpu.py use Port.find_test_files() the same way as it is used in Port.tests()
I'd like to replace all calls to find_test_files with tests and eliminate find_tests_files.
Also I'll move _is_test_file() and related functions close to Port.tests().

Reviewed by Dirk Pranke.

* Scripts/webkitpy/layout_tests/port/base.py:
(Port.tests):
(Port.is_reference_html_file):
(Port._has_supported_extension):
(Port._is_test_file):
* Scripts/webkitpy/layout_tests/port/base_unittest.py:
(PortTest.test_find_no_paths_specified):
(PortTest.test_find_one_test):
(PortTest.test_find_glob):
(PortTest.test_find_with_skipped_directories):
(PortTest.test_find_with_skipped_directories_2):
(PortTest.test_is_test_file):
* Scripts/webkitpy/layout_tests/port/chromium_gpu.py:
(_default_tests_paths):
(ChromiumGpuLinuxPort.tests):
(ChromiumGpuCgMacPort.tests):
(ChromiumGpuMacPort.tests):
* Scripts/webkitpy/layout_tests/port/chromium_gpu_unittest.py:
(ChromiumGpuTest.test_default_tests_paths.test_paths):
(ChromiumGpuTest.test_default_tests_paths):
(ChromiumGpuTest.test_test_files.test_paths):
(ChromiumGpuTest):
(ChromiumGpuTest.test_test_files):
* Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py:
(get_tests_run.RecordingTestDriver.run_test):
* Scripts/webkitpy/tool/commands/rebaseline.py:
(OptimizeBaselines._optimize_baseline):
(OptimizeBaselines.execute):
(AnalyzeBaselines._analyze_baseline):
(AnalyzeBaselines.execute):

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

8 years agoWeb Inspector: refactor InspectorBackendDispatcher so that it does not use JSON-seria...
pfeldman@chromium.org [Fri, 2 Dec 2011 08:30:16 +0000 (08:30 +0000)]
Web Inspector: refactor InspectorBackendDispatcher so that it does not use JSON-serialized command templates.
https://bugs.webkit.org/show_bug.cgi?id=73569

Reviewed by Yury Semikhatsky.

Source/WebCore:

* inspector/CodeGeneratorInspector.py:
(Generator.process_command):
* inspector/Inspector.json:
* inspector/front-end/InspectorBackend.js:
(InspectorBackendClass.prototype._wrap.callback):
(InspectorBackendClass.prototype._wrap):
(InspectorBackendClass.prototype.registerCommand):
(InspectorBackendClass.prototype._invoke):
(InspectorBackendClass.prototype._sendMessageToBackend):
(InspectorBackendClass.prototype._wrapCallbackAndSendMessageObject):

LayoutTests:

* inspector/report-API-errors-expected.txt:

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

8 years agoRange sliders and spin buttons don't work with multi-columns.
commit-queue@webkit.org [Fri, 2 Dec 2011 08:26:05 +0000 (08:26 +0000)]
Range sliders and spin buttons don't work with multi-columns.
https://bugs.webkit.org/show_bug.cgi?id=70898

Patch by Yosifumi Inoue <yosin@chromium.org> on 2011-12-02
Reviewed by Dan Bernstein.

Source/WebCore:

This patch makes RenderBlock::hitTestColumns and
RenderBoxModelObject::mapAbsoluteToLocal to handle point
in multi-column same logic.

In multi-column, coordinate of box model rendering object is different
from absolute coordinate.. Columns in box model rendering object spans
vertically rather than horizontally.

When absolute point is represented in (column[i]+dx, column[0]+dy),
it is (column[0]+dx, column[0] + columnHeight + dy) in box model
rendering object coordinate.

Tests: fast/events/document-elementFromPoint.html
       fast/events/offsetX-offsetY.html
       fast/forms/number/spin-in-multi-column.html
       fast/forms/range/slider-in-multi-column.html
       fast/forms/select/listbox-in-multi-column.html

* rendering/RenderBlock.cpp:
(WebCore::ColumnRectIterator::ColumnRectIterator): Added
(WebCore::ColumnRectIterator::advance): Added
(WebCore::ColumnRectIterator::columnRect): Added
(WebCore::ColumnRectIterator::hasMore): Added
(WebCore::ColumnRectIterator::adjust): Added
(WebCore::ColumnRectIterator::update): Added
(WebCore::RenderBlock::hitTestColumns): Use ColumnRectIterator.
(WebCore::RenderBlock::adjustForColumnRect): Added
* rendering/RenderBlock.h: Add adjustForColumnRect.
* rendering/RenderBox.cpp:
(WebCore::RenderBox::mapAbsoluteToLocalPoint): Call RenderBoxModelObject::mapAbsoluteToLocalPoint.
* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::mapAbsoluteToLocalPoint): Move from RenderInline::mapAbsoluteToLocalPoint and call RenderBlock::adjustForColumnRect.
* rendering/RenderBoxModelObject.h: add mapAbsoluteToLocalPoint.
* rendering/RenderInline.cpp: Move mapAbsoluteToLocalPoint to RenderBoxModelObject.
* rendering/RenderInline.h: remove mapAbsoluteToLocalPoint.

LayoutTests:

* fast/events/offsetX-offsetY-expected.txt: Change offset for "in-columns" test.
* fast/events/offsetX-offsetY.html: Change offset for "in-columns" test.
* fast/forms/listbox/listbox-in-multi-column-expected.txt: Added.
* fast/forms/listbox/listbox-in-multi-column.html: Added.
* fast/forms/number/spin-in-multi-column-expected.txt: Added.
* fast/forms/number/spin-in-multi-column.html: Added.
* fast/forms/range/slider-in-multi-column-expected.txt: Added.
* fast/forms/range/slider-in-multi-column.html: Added.
* platform/chromium-win/fast/events/offsetX-offsetY-expected.txt: Change offset for "in-columns" test.
* platform/efl/fast/events/offsetX-offsetY-expected.txt: Change offset for "in-columns" test.
* platform/gtk/fast/events/offsetX-offsetY-expected.txt: Change offset for "in-columns" test.

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

8 years agoInspectorController destruction order leads to use-after-free
pfeldman@chromium.org [Fri, 2 Dec 2011 08:21:57 +0000 (08:21 +0000)]
InspectorController destruction order leads to use-after-free
https://bugs.webkit.org/show_bug.cgi?id=73582

Reviewed by Yury Semikhatsky.

Source/WebCore:

* inspector/InspectorBaseAgent.h:
(WebCore::InspectorBaseAgentInterface::discardAgent):
* inspector/InspectorCSSAgent.cpp:
(WebCore::InspectorCSSAgent::~InspectorCSSAgent):
(WebCore::InspectorCSSAgent::discardAgent):
* inspector/InspectorCSSAgent.h:
* inspector/InspectorController.cpp:
(WebCore::InspectorController::~InspectorController):
* inspector/InspectorDOMDebuggerAgent.cpp:
(WebCore::InspectorDOMDebuggerAgent::~InspectorDOMDebuggerAgent):
(WebCore::InspectorDOMDebuggerAgent::discardAgent):
* inspector/InspectorDOMDebuggerAgent.h:

LayoutTests:

* platform/chromium/test_expectations.txt:

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

8 years agoimage element with src attribute can't be replaced by content: url() style
leo.yang@torchmobile.com.cn [Fri, 2 Dec 2011 08:05:08 +0000 (08:05 +0000)]
image element with src attribute can't be replaced by content: url() style
https://bugs.webkit.org/show_bug.cgi?id=42840

Source/WebCore:

ImageLoader were updating renderer even if the renderer's image is
style generated content. This was wrong because if an image element
with src attribute and style="content: url(...)" attribute the
src image might override content image. The correct behavior should
be showing content image.

This patch is differentiating style generated RenderImage from the
normal RenderImage and keeps the RenderImageSource untouched if the
renderer is generated content.

Reviewed by Darin Adler.

Test: fast/images/image-css3-content-data.html

* loader/ImageLoader.cpp:
(WebCore::ImageLoader::renderImageResource):
* rendering/RenderImage.cpp:
(WebCore::RenderImage::RenderImage):
* rendering/RenderImage.h:
(WebCore::RenderImage::setIsGeneratedContent):
(WebCore::RenderImage::isGeneratedContent):
* rendering/RenderObject.cpp:
(WebCore::RenderObject::createObject):

LayoutTests:

Test case contains image element with src attribute and "content: url(...)"
style attribute.

Reviewed by Darin Adler.

* fast/images/image-css3-content-data-expected.txt: Added.
* fast/images/image-css3-content-data.html: Added.
* fast/images/resources/green-24x24.jpg: Added.

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

8 years agoAdd a way to automatically size a single frame to fit its content.
levin@chromium.org [Fri, 2 Dec 2011 07:47:14 +0000 (07:47 +0000)]
Add a way to automatically size a single frame to fit its content.
https://bugs.webkit.org/show_bug.cgi?id=73420

Reviewed by Dmitry Titov.

No new functionality exposed so no new tests. (There is a Chromium
specific test in https://bugs.webkit.org/show_bug.cgi?id=73058.)

* page/FrameView.cpp:
(WebCore::FrameView::FrameView): Initialized the new variables.
(WebCore::FrameView::layout):
(WebCore::FrameView::autoSizeIfEnabled):
(WebCore::FrameView::enableAutoSizeMode):
* page/FrameView.h:

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

8 years agoJS_INLINE and WTF_INLINE should be visible from WebCore
commit-queue@webkit.org [Fri, 2 Dec 2011 07:33:40 +0000 (07:33 +0000)]
JS_INLINE and WTF_INLINE should be visible from WebCore
https://bugs.webkit.org/show_bug.cgi?id=73191

Source/JavaScriptCore:

- Moved Export related macro definitions from config.h to ExportMacros.h and JSExportMacros.h.
- Moved WTF_USE_JSC and WTF_USE_V8 from various config.h family to Platform.h.
- Replaced JS_EXPORTDATA in wtf moudule with newly introduced WTF_EXPORTDATA.

Patch by Hajime Morrita <morrita@chromium.org> on 2011-12-01
Reviewed by Kevin Ollivier.

* JavaScriptCore.xcodeproj/project.pbxproj:
* config.h:
* runtime/JSExportMacros.h: Added.
* wtf/ExportMacros.h:
* wtf/Platform.h:
* wtf/WTFThreadData.h:
* wtf/text/AtomicString.h:
* wtf/text/StringStatics.cpp:

Source/JavaScriptGlue:

- Extracted export related macro definitions to ExportMacros.h and JSExportMacros.h
- Added forwarding headers which used in config.h

Patch by Hajime Morrita <morrita@chromium.org> on 2011-12-01
Reviewed by Kevin Ollivier.

* ForwardingHeaders/runtime/JSExportMacros.h: Added.
* ForwardingHeaders/wtf/ExportMacros.h: Added.
* config.h:

Source/WebCore:

Patch by Hajime Morrita <morrita@chromium.org> on 2011-12-01
Reviewed by Kevin Ollivier.

- Moved export related definitions from config.h
  to ExportMacros.h, JSExportMacros.h and PlatformExportMacros.h
- Added forwarding headers which are referred from config.h

No new tests. Only build related changes.

* ForwardingHeaders/runtime/JSExportMacros.h: Added.
* ForwardingHeaders/wtf/ExportMacros.h: Added.
* WebCore.xcodeproj/project.pbxproj:
* config.h:
* platform/PlatformExportMacros.h: Copied from Source/JavaScriptCore/wtf/ExportMacros.h.

Source/WebKit/cf:

Patch by Hajime Morrita <morrita@chromium.org> on 2011-12-01
Reviewed by Kevin Ollivier.

Removed macro definitions which is now provided by Platform.h

* WebCoreSupport/WebInspectorClientCF.cpp:

Source/WebKit/mac:

Patch by Hajime Morrita <morrita@chromium.org> on 2011-12-01
Reviewed by Kevin Ollivier.

Removed macro definitions which is now provided by Platform.h

* WebKitPrefix.h:

Source/WebKit/qt:

Patch by Hajime Morrita <morrita@chromium.org> on 2011-12-01
Reviewed by Kevin Ollivier.

Added a INCLUDEPATH to make JSExportMacros.h visible.

* tests/MIMESniffing/MIMESniffing.pro

Source/WebKit2:

Patch by Hajime Morrita <morrita@chromium.org> on 2011-12-01
Reviewed by Kevin Ollivier.

Removed macro definitions which is now provided by Platform.h

* config.h:

Tools:

Patch by Hajime Morrita <morrita@chromium.org> on 2011-12-01
Reviewed by Kevin Ollivier.

Removed macro definitions which is now provided by Platform.h

* DumpRenderTree/chromium/config.h:
* DumpRenderTree/config.h:
* TestWebKitAPI/config.h:
* WebKitTestRunner/config.h:

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

8 years ago[WK2] Add further support for notifications
jonlee@apple.com [Fri, 2 Dec 2011 07:13:36 +0000 (07:13 +0000)]
[WK2] Add further support for notifications
https://bugs.webkit.org/show_bug.cgi?id=73572
<rdar://problem/10472195>

Reviewed by Darin Adler.

Source/WebCore:

* WebCore.exp.in: Export constructor and dispatch functions
* dom/EventNames.h: Add show event.
* notifications/Notification.cpp:
(WebCore::Notification::show): For the Mac platform, we just forward the show() call to the
notification client and update the state, because we cannot get synchronous acknowledgment that the
notification got delivered.
(WebCore::Notification::dispatchShowEvent): Create simple events and dispatch to the notification.
(WebCore::Notification::dispatchClickEvent): Ditto.
(WebCore::Notification::dispatchCloseEvent): Ditto.
(WebCore::Notification::dispatchErrorEvent): Ditto.
* notifications/Notification.h: Add dispatch functions.
* notifications/Notification.idl: Add onshow event listener. The ondisplay event listener should be
removed when implementations change the event listener to onshow.

Source/WebKit2:

* WebProcess/Notifications/WebNotificationManager.messages.in: Added. Contains messages for callbacks
from the notification platform.

* DerivedSources.make: Add WebNotificationManager.
* DerivedSources.pri: Ditto.
* Platform/CoreIPC/MessageID.h: Add message class.
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::didReceiveMessage): Forward calls to WebNotificationManager when needed.
* WebKit2.xcodeproj/project.pbxproj: Add new message files.
* win/WebKit2.vcproj: Adding new files to project.
* win/WebKit2Common.vsprops: Add Notifications to include paths

* UIProcess/WebNotification.h: Add and expose internal ID of each notification sent to the platform.
(WebKit::WebNotification::create):
(WebKit::WebNotification::notificationID):
(WebKit::isNotificationIDValid): Checks that the ID is not a value that might trip up the HashMaps used
for mapping IDs to notifications.
* UIProcess/WebNotification.cpp:
(WebKit::WebNotification::WebNotification):
(WebKit::WebNotification::encode):
(WebKit::WebNotification::decode):
* UIProcess/API/C/WKNotification.h: Expose notification ID to WKAPI.
* UIProcess/API/C/WKNotification.cpp:
(WKNotificationGetNotificationID):

* UIProcess/WebNotificationManagerProxy.h: Add callbacks for dispatching events back to the notification.
* UIProcess/WebNotificationManagerProxy.cpp:
(WebKit::WebNotificationManagerProxy::invalidate): Remove manager.
(WebKit::WebNotificationManagerProxy::show): Add manager prior to showing.
(WebKit::WebNotificationManagerProxy::cancel): Add manager prior to canceling.
(WebKit::WebNotificationManagerProxy::didDestroyNotification):
(WebKit::WebNotificationManagerProxy::providerDidShowNotification):
(WebKit::WebNotificationManagerProxy::providerDidClickNotification):
(WebKit::WebNotificationManagerProxy::providerDidCloseNotifications):
* UIProcess/API/C/WKNotificationManager.h:
* UIProcess/API/C/WKNotificationManager.cpp:
(WKNotificationManagerProviderDidShowNotification):
(WKNotificationManagerProviderDidClickNotification):
(WKNotificationManagerProviderDidCloseNotifications):

* UIProcess/WebNotificationProvider.h:
* UIProcess/WebNotificationProvider.cpp:
(WebKit::WebNotificationProvider::show):
(WebKit::WebNotificationProvider::cancel):
(WebKit::WebNotificationProvider::didDestroyNotification):
(WebKit::WebNotificationProvider::addNotificationManager):
(WebKit::WebNotificationProvider::removeNotificationManager):
* UIProcess/API/C/WKNotificationProvider.h: Expose add/removeNotificationManager calls

* WebProcess/Notifications/WebNotificationManager.h: Add bookkeeping to keep track of notification IDs with
Notification instances.
* WebProcess/Notifications/WebNotificationManager.cpp:
(WebKit::generateNotificationID):
(WebKit::WebNotificationManager::didReceiveMessage):
(WebKit::WebNotificationManager::show):
(WebKit::WebNotificationManager::cancel):
(WebKit::WebNotificationManager::didDestroyNotification):
(WebKit::WebNotificationManager::didShowNotification):
(WebKit::WebNotificationManager::didClickNotification):
(WebKit::WebNotificationManager::didCloseNotifications):

* UIProcess/WebNotificationManagerProxy.messages.in: Add DidDestroyNotification message.
* WebProcess/WebCoreSupport/WebNotificationClient.cpp:
(WebKit::WebNotificationClient::notificationObjectDestroyed): Implemented.

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

8 years ago[Qt] Unreviewed gardening after r101742, update Qt specific expected files.
ossy@webkit.org [Fri, 2 Dec 2011 07:12:19 +0000 (07:12 +0000)]
[Qt] Unreviewed gardening after r101742, update Qt specific expected files.

* platform/qt/fast/forms/search-styled-expected.png:
* platform/qt/fast/forms/search-styled-expected.txt:
* platform/qt/fast/forms/textarea-placeholder-pseudo-style-expected.png:
* platform/qt/fast/forms/textarea-placeholder-pseudo-style-expected.txt:
* platform/qt/fast/forms/textarea-placeholder-visibility-1-expected.png:
* platform/qt/fast/forms/textarea-placeholder-visibility-1-expected.txt:
* platform/qt/fast/forms/textarea-placeholder-visibility-2-expected.png:
* platform/qt/fast/forms/textarea-placeholder-visibility-2-expected.txt:
* platform/qt/test_expectations.txt:

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

8 years ago[Qt] Unreviewed morning gardening after r101723.
ossy@webkit.org [Fri, 2 Dec 2011 07:06:28 +0000 (07:06 +0000)]
[Qt] Unreviewed morning gardening after r101723.

* platform/qt/fast/dom/Window/window-properties-expected.txt: Updated.

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

8 years agoChanges proposed for 73457 slow down Kraken json-parse-financial
msaboff@apple.com [Fri, 2 Dec 2011 07:04:29 +0000 (07:04 +0000)]
Changes proposed for 73457 slow down Kraken json-parse-financial
https://bugs.webkit.org/show_bug.cgi?id=73584

Restructured StringImpl::equal to take advantage of 8 or 4 bytes
at a time when possible.

This is worth ~3% on Kraken json-parse-financial. It provides
~2% on SunSpider string-unpack-code.

Reviewed by Sam Weinig.

* wtf/text/StringImpl.cpp:
(WTF::equal):

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

8 years ago[WEBKIT2] Fix for compilation warnings in WebContext.cpp
commit-queue@webkit.org [Fri, 2 Dec 2011 07:01:52 +0000 (07:01 +0000)]
[WEBKIT2] Fix for compilation warnings in WebContext.cpp
https://bugs.webkit.org/show_bug.cgi?id=69080

Fix compilation warning in WebKit2 builds.

Patch by Goutham J <gouthamj@motorola.com> on 2011-12-01
Reviewed by Hajime Morita.

* UIProcess/WebContext.cpp:
(WebKit::WebContext::processDidFinishLaunching):
(WebKit::WebContext::startMemorySampler):

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

8 years ago[Qt] Unreviewed morning gardening after r101742.
ossy@webkit.org [Fri, 2 Dec 2011 06:55:37 +0000 (06:55 +0000)]
[Qt] Unreviewed morning gardening after r101742.

Remove tests from test_expectation.txt , because they are
in Skipped list too and NRWT can't handle this situation.
(See https://bugs.webkit.org/show_bug.cgi?id=69750 for details.)

* platform/qt/test_expectations.txt:

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

8 years ago[EFL] Cleanup includes to reduce code complexity.
ryuan.choi@samsung.com [Fri, 2 Dec 2011 06:39:31 +0000 (06:39 +0000)]
[EFL] Cleanup includes to reduce code complexity.
https://bugs.webkit.org/show_bug.cgi?id=73540

Reviewed by Gustavo Noronha Silva.

Source/WebKit:

* CMakeLists.txt: Add loader/appcache to WebKit_INCLUDE_DIRECTORIES.

Source/WebKit/efl:

EWebKit.h is a list of public header files for application to use WebKit/Efl.
This patch removes EWebKit.h in internal files to reduce unnecessary includes.
In addition, reorders optional includes to fix style.

* WebCoreSupport/ChromeClientEfl.cpp:
* WebCoreSupport/DumpRenderTreeSupportEfl.cpp:
* WebCoreSupport/EditorClientEfl.cpp:
* WebCoreSupport/FrameLoaderClientEfl.cpp:
* ewk/ewk_auth_soup.cpp:
* ewk/ewk_contextmenu.cpp:
* ewk/ewk_cookies.cpp:
* ewk/ewk_frame.cpp:
* ewk/ewk_history.cpp:
* ewk/ewk_main.cpp:
* ewk/ewk_private.h:
* ewk/ewk_settings.cpp:
* ewk/ewk_util.cpp:
* ewk/ewk_view.cpp:
* ewk/ewk_view_single.cpp:
* ewk/ewk_view_tiled.cpp:
* ewk/ewk_window_features.cpp:

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

8 years agoFocus ring of imagemap's area element does not scale when CSS zoom style is applied
commit-queue@webkit.org [Fri, 2 Dec 2011 06:32:55 +0000 (06:32 +0000)]
Focus ring of imagemap's area element does not scale when CSS zoom style is applied
https://bugs.webkit.org/show_bug.cgi?id=73595

Patch by Max Vujovic <mvujovic@adobe.com> on 2011-12-01
Reviewed by Darin Adler.

Source/WebCore:

Tests: fast/images/imagemap-focus-ring-zoom-style-expected.html
       fast/images/imagemap-focus-ring-zoom-style.html

* html/HTMLAreaElement.cpp:
(WebCore::HTMLAreaElement::computePath):
The computePath method now uses the RenderObject's effectiveZoom
instead of the Frame's page zoom to compute the path for the area
element's focus ring.

LayoutTests:

* fast/images/imagemap-focus-ring-zoom-style-expected.html: Added.
* fast/images/imagemap-focus-ring-zoom-style.html: Added.

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

8 years agoREGRESSION(r90971): Placeholder text of input control is rendered
tkent@chromium.org [Fri, 2 Dec 2011 06:23:05 +0000 (06:23 +0000)]
REGRESSION(r90971): Placeholder text of input control is rendered
over positioned elements with z-index:0.
https://bugs.webkit.org/show_bug.cgi?id=67408

Reviewed by Darin Adler.

Source/WebCore:

The bug was caused by "position:relative" in the default style of
-webkit-input-placeholder. If there were other positioned elements
with z-index:0, a placeholder might be rendered over them.

"position:relative" is not needed because RenderTextControlSingleLine
and RenderTextControlMultipleLine lay out the placeholder renderer by
custom layout code.

Tests: fast/forms/placeholder-with-positioned-element.html

* css/html.css:
(::-webkit-input-placeholder): Remove position:relative.

LayoutTests:

Need to update some placeholder-related tests because we don't use position:relative.

* fast/forms/placeholder-with-positioned-element-expected.html: Added.
* fast/forms/placeholder-with-positioned-element.html: Added.
* platform/chromium/test_expectations.txt:
* platform/gtk/test_expectations.txt:
* platform/mac-snowleopard/fast/forms/input-placeholder-visibility-1-expected.txt:
* platform/mac-snowleopard/fast/forms/input-placeholder-visibility-3-expected.txt:
* platform/mac-snowleopard/fast/forms/textarea-placeholder-visibility-1-expected.txt:
* platform/mac-snowleopard/fast/forms/textarea-placeholder-visibility-2-expected.txt:
* platform/mac/Skipped:
* platform/mac/fast/forms/placeholder-position-expected.txt:
* platform/mac/fast/forms/placeholder-pseudo-style-expected.txt:
* platform/mac/fast/forms/search-styled-expected.txt:
* platform/mac/fast/forms/textarea-placeholder-pseudo-style-expected.txt:
* platform/qt/test_expectations.txt:

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

8 years agoCSSMutableStyleDeclaration: Removed unused multiLength argument in setLengthProperty().
kling@webkit.org [Fri, 2 Dec 2011 05:39:09 +0000 (05:39 +0000)]
CSSMutableStyleDeclaration: Removed unused multiLength argument in setLengthProperty().
<http://webkit.org/b/73602>

Reviewed by Darin Adler.

* css/CSSMutableStyleDeclaration.cpp:
(WebCore::CSSMutableStyleDeclaration::setLengthProperty):
* css/CSSMutableStyleDeclaration.h:

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

8 years agoUnreviewed, rolling out r101737.
haraken@chromium.org [Fri, 2 Dec 2011 04:51:03 +0000 (04:51 +0000)]
Unreviewed, rolling out r101737.
http://trac.webkit.org/changeset/101737
https://bugs.webkit.org/show_bug.cgi?id=73394

Chromium/Mac and Chromium/Win build are broken

* WebCore.gyp/WebCore.gyp:
* WebCore.gyp/scripts/action_derivedsourcesallinone.py:
(main):
* WebCore.gypi:
* bindings/scripts/generate-bindings.pl:
* page/DOMWindow.idl:
* webaudio/DOMWindowWebAudio.idl: Removed.

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

8 years agoExplicitly pass tolerance=0 to port.diff_image in case of RefTestMismatch failure.
hayato@chromium.org [Fri, 2 Dec 2011 04:32:26 +0000 (04:32 +0000)]
Explicitly pass tolerance=0 to port.diff_image in case of RefTestMismatch failure.
https://bugs.webkit.org/show_bug.cgi?id=73406

Reviewed by Ryosuke Niwa.

WebKitPort's image_diff uses tolerance='0.1' in default.
When reftests fail, we should use tolerace=0 when diff-ing images.

Since ImageDiff on chromium port doesn't use tolerance value as of now,
this change doesn't affect chromium port's behavior.

* Scripts/webkitpy/layout_tests/controllers/test_result_writer.py:
(write_test_result):
* Scripts/webkitpy/layout_tests/port/base.py:
(Port.diff_image):
* Scripts/webkitpy/layout_tests/port/chromium.py:
(ChromiumPort.diff_image):
* Scripts/webkitpy/layout_tests/port/test.py:
(TestPort.diff_image):
* Scripts/webkitpy/layout_tests/port/webkit.py:
(WebKitPort.diff_image):
(WebKitPort._start_image_diff_process):
* Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py:
(MainTest.test_tolerance.ImageDiffTestPort.diff_image):

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

8 years agoConvert some fast/regions pixel tests to reftests
commit-queue@webkit.org [Fri, 2 Dec 2011 04:12:05 +0000 (04:12 +0000)]
Convert some fast/regions pixel tests to reftests
https://bugs.webkit.org/show_bug.cgi?id=73581

Patch by Jacob Goldstein <jacobg@adobe.com> on 2011-12-01
Reviewed by David Hyatt.

* fast/regions/content-flowed-into-regions-dynamically-added-expected.html: Added.
* fast/regions/content-flowed-into-regions-dynamically-added-expected.txt: Removed.
* fast/regions/content-flowed-into-regions-dynamically-added.html:
* fast/regions/content-flowed-into-regions-dynamically-inserted-expected.html: Added.
* fast/regions/content-flowed-into-regions-dynamically-removed-expected.html: Added.
* fast/regions/content-flowed-into-regions-dynamically-removed-expected.txt: Removed.
* fast/regions/content-flowed-into-regions-dynamically-removed.html:
* fast/regions/content-flowed-into-regions-expected.html: Added.
* fast/regions/content-flowed-into-regions-expected.txt: Removed.
* fast/regions/content-flowed-into-regions.html:
* platform/efl/fast/regions/content-flowed-into-regions-dynamically-added-expected.png: Removed.
* platform/efl/fast/regions/content-flowed-into-regions-dynamically-inserted-expected.png: Removed.
* platform/efl/fast/regions/content-flowed-into-regions-dynamically-inserted-expected.txt: Removed.
* platform/efl/fast/regions/content-flowed-into-regions-dynamically-removed-expected.png: Removed.
* platform/efl/fast/regions/content-flowed-into-regions-expected.png: Removed.
* platform/mac/fast/regions/content-flowed-into-regions-dynamically-added-expected.png: Removed.
* platform/mac/fast/regions/content-flowed-into-regions-dynamically-inserted-expected.png: Removed.
* platform/mac/fast/regions/content-flowed-into-regions-dynamically-inserted-expected.txt: Removed.
* platform/mac/fast/regions/content-flowed-into-regions-dynamically-removed-expected.png: Removed.
* platform/mac/fast/regions/content-flowed-into-regions-expected.png: Removed.

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

8 years agoUse the [Supplemental] IDL for webaudio attributes in Chromium
haraken@chromium.org [Fri, 2 Dec 2011 04:11:46 +0000 (04:11 +0000)]
Use the [Supplemental] IDL for webaudio attributes in Chromium
https://bugs.webkit.org/show_bug.cgi?id=73394

Reviewed by Adam Barth.

- Overview: Using the [Supplemental] IDL, this patch moves the attribute
declarations of webaudio from DOMWindow.idl into a new IDL file
webaudio/DOMWindowWebAudio.idl, which helps make webaudio a self-contained
feature (aka a module).

- This patch changes the build flow of WebCore.gyp as follows:

    Previous build flow:
        foreach $idl (all IDL files) {
            generate-bindings.pl depends on $idl;
            generate-bindings.pl reads $idl;
            generate-bindings.pl generates .h and .cpp files for $idl;
        }

    New build flow (See the discussions in bug 72138 for more details):
        resolve-supplemental.pl depends on all IDL files;
        resolve-supplemental.pl reads all IDL files;
        resolve-supplemental.pl resolves the dependency of [Supplemental=XXXX];
        resolve-supplemental.pl outputs supplemental_dependency.tmp;
        foreach $idl (all IDL files) {
            generate-bindings.pl depends on $idl and supplemental_dependency.tmp;
            generate-bindings.pl reads $idl;
            generate-bindings.pl reads supplemental_dependency.tmp;
            generate-bindings.pl generates .h and .cpp files for $idl, including all attributes in IDL files whilementing $idl;
        }

- This patch introduces a temporary IDL, [Supplemented]. The [Supplemented] IDL
will be removed after build scripts for all platforms support the [Supplemental] IDL.
The motivation for the [Supplemented] IDL is as follows:

In order to support the [Supplemental] IDL, we need to
(1) run resolve-supplemental.pl and generate supplemental_dependency.tmp
(2) and run generate-bindings.pl with the supplemental_dependency.tmp.

This build flow requires a change on the following build scripts,
but changing all the build scripts all at once without any regression is too difficult:

    - DerivedSources.make
    - DerivedSources.pri
    - GNUmakefile.am
    - PlatformBlackBerry.cmake
    - UseJSC.cmake
    - UseV8.cmake
    - WebCore.vcproj/MigrateScripts
    - WebCore.vcproj/WebCore.vcproj
    - bindings/gobject/GNUmakefile.am
    - WebCore.gyp/WebCore.gyp

Thus, we are planning to change the build scripts one by one, which implies that
we need to allow the temporary state in which some build scripts support [Supplemental] IDL
but others do not. To accomplish this, we introduce a temporary IDL, [Supplemented].
The [Supplemented] IDL on an attribute means that the attribute is marked with [Supplemental]
in another IDL file somewhere, like this:

    DOMWindowWebAudio.idl:
        interface [
            Supplemental=DOMWindow
        ] DOMWindowWebAudio {
            attribute attr1;
            attribute attr2;
        };

    DOMWindow.idl:
        interface [
        ] DOMWindow {
            attribute [Supplemented] attr1; // This line will be removed after all build scripts support the [Su IDL
            attribute [Supplemented] attr2; // This line will be removed after all build scripts support the [Su IDL.
            attribute attr3;
            attribute attr4;
        };

Assuming these IDL files, this patch implements the following logic in generate-bindings.pl:

    - If a given build script supports the [Supplemental] IDL,
    generate-bindings.pl ignores all attributes with the [Supplemented] IDL.
    - Otherwise, generate-bindings.pl treats all attributes with the [Supplemented] IDL
    as normal attributes and instead ignores all attributes with the [Supplemental] IDL
    (i.e. generate-bindings.pl generates nothing from the IDL file with the [Supplemental] IDL).

Tests: webaudio/*

* WebCore.gyp/WebCore.gyp: Describes the build flow that I described above.
* WebCore.gyp/scripts/action_derivedsourcesallinone.py:
(main): Reads the IDL file names from the input file (i.e. supplemental_dependency.tmp), which are described at the first column of each line in the input file.
* WebCore.gypi: Added DOMWindowWebAudio.idl.
* bindings/scripts/generate-bindings.pl: As a temporary solution, if the platform does not support the [Supplemental] IDL, the perl script ignores the [Supplemental] IDL and instead uses the [Supplemented] IDL. Otherwise, the perl script ignores the [Supplemented] IDL and instead uses the [Supplemental] IDL.
* page/DOMWindow.idl: Added the [Supplemented] IDL to webaudio-related attributes. As I described above, the [Supplemented] IDL will be removed after all platforms support the [Supplemental] IDL.
* webaudio/DOMWindowWebAudio.idl: Added. Describes the [Supplemental=DOMWindow] IDL. The attributes in this IDL file should be treated as if they are written in DOMWindow.idl.

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

8 years ago[MutationObservers] StyleAttributeMutationScope shouldn't be implemented with static...
commit-queue@webkit.org [Fri, 2 Dec 2011 03:39:11 +0000 (03:39 +0000)]
[MutationObservers] StyleAttributeMutationScope shouldn't be implemented with static classes
https://bugs.webkit.org/show_bug.cgi?id=73596

Patch by Rafael Weinstein <rafaelw@chromium.org> on 2011-12-01
Reviewed by Ojan Vafai.

No tests needed. This patch is a minor refactor.

* css/CSSMutableStyleDeclaration.cpp:

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

8 years agoAdd Chromium ToT GTest build bots (and group selection support) to flakiness dashboard
adamk@chromium.org [Fri, 2 Dec 2011 03:31:20 +0000 (03:31 +0000)]
Add Chromium ToT GTest build bots (and group selection support) to flakiness dashboard
https://bugs.webkit.org/show_bug.cgi?id=73599

Reviewed by Ojan Vafai.

* TestResultServer/static-dashboards/builders.js:
* TestResultServer/static-dashboards/dashboard_base.js:
():
(htmlForTestTypeSwitcher):
* TestResultServer/static-dashboards/flakiness_dashboard_tests.js:
(testHtmlForTestTypeSwitcherGroup):

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

8 years agoCSSMutableStyleDeclaration: Remove unused function setStringProperty().
kling@webkit.org [Fri, 2 Dec 2011 02:59:24 +0000 (02:59 +0000)]
CSSMutableStyleDeclaration: Remove unused function setStringProperty().
<http://webkit.org/b/73597>

Reviewed by Darin Adler.

* css/CSSMutableStyleDeclaration.cpp:
* css/CSSMutableStyleDeclaration.h:

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

8 years agoREGRESSION(r101268): Intermittent assertion failure in fast/block/child-not-removed...
rniwa@webkit.org [Fri, 2 Dec 2011 02:39:14 +0000 (02:39 +0000)]
REGRESSION(r101268): Intermittent assertion failure in fast/block/child-not-removed-from-parent-lineboxes-crash.html
https://bugs.webkit.org/show_bug.cgi?id=73250

Reviewed by Darin Adler.

Reset the position when exiting early in layoutRunsAndFloatsInRange.

No new tests because we don't have a reliable reproduction for this failure.
However, the failure is caught by the existing fast/block/child-not-removed-from-parent-lineboxes-crash.html
intermittently with about 30% probability.

* rendering/RenderBlockLineLayout.cpp:
(WebCore::RenderBlock::layoutRunsAndFloatsInRange):

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

8 years ago[Chromium] Marking increased flakiness in test_expectations
scheib@chromium.org [Fri, 2 Dec 2011 02:38:06 +0000 (02:38 +0000)]
[Chromium] Marking increased flakiness in test_expectations
inspector/debugger/script-formatter-breakpoints.html

* platform/chromium/test_expectations.txt:

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

8 years agoAsynchronous SpellChecker should consider multiple requests.
commit-queue@webkit.org [Fri, 2 Dec 2011 02:15:48 +0000 (02:15 +0000)]
Asynchronous SpellChecker should consider multiple requests.
https://bugs.webkit.org/show_bug.cgi?id=72939

Patch by Shinya Kawanaka <shinyak@google.com> on 2011-12-01
Reviewed by Hajime Morita.

Source/WebCore:

Now SpellChecker saves a request when it is processing the previous spellcheck request.
If there is a request having the same root editable element, the older request is replaced by newer request.

Test: editing/spelling/spellcheck-queue.html

* editing/SpellChecker.cpp:
(WebCore::SpellChecker::SpellCheckRequest::SpellCheckRequest):
  A structure to have spell check request.
(WebCore::SpellChecker::SpellCheckRequest::sequence):
(WebCore::SpellChecker::SpellCheckRequest::range):
(WebCore::SpellChecker::SpellCheckRequest::text):
(WebCore::SpellChecker::SpellCheckRequest::mask):
(WebCore::SpellChecker::SpellCheckRequest::rootEditableElement):
(WebCore::SpellChecker::SpellChecker):
(WebCore::SpellChecker::createRequest):
(WebCore::SpellChecker::timerFiredToProcessQueuedRequest):
  When timer is fired, queued request is processed if any.
(WebCore::SpellChecker::canCheckAsynchronously):
(WebCore::SpellChecker::requestCheckingFor):
  When the spellchecker is processing another request, the latest request is queued.
(WebCore::SpellChecker::invokeRequest):
(WebCore::SpellChecker::enqueueRequest):
  Enqueues a request. If there is an older request whose root editable element is the same as the request,
  it will be replaced.
(WebCore::SpellChecker::didCheck):
* editing/SpellChecker.h:

LayoutTests:

Tests for multiple spellcheck requests.

* editing/spelling/spellcheck-queue-expected.txt: Added.
* editing/spelling/spellcheck-queue.html: Added.
* platform/gtk/Skipped:
* platform/qt/Skipped:

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

8 years agobufferedAmount calculation is wrong in CLOSING and CLOSED state.
commit-queue@webkit.org [Fri, 2 Dec 2011 01:58:49 +0000 (01:58 +0000)]
bufferedAmount calculation is wrong in CLOSING and CLOSED state.
https://bugs.webkit.org/show_bug.cgi?id=73404

Patch by Takashi Toyoshima <toyoshim@chromium.org> on 2011-12-01
Reviewed by Kent Tamura.

Source/WebCore:

WebSocket::bufferedAmount() must return buffered frame size including
disposed frames which are passed via send() calls after close().

Old implementation had a problem at CLOSING state. Buffered frame size
was added to m_bufferedAmountAfterClose at close(). But the function
returns the sum of m_bufferedAmountAfterClose and internally buffered
frame size, or m_channel->bufferedAmount(). So, buffered frames was
double counted.

In new implementation, m_bufferedAmount always represents buffered
frame size and m_bufferedAmountAfterClose does disposed frame size.
As a result, bufferedAmount() implementation become just to return the
sum of m_bufferedAmount and m_bufferedAmountAfterClose.

Test: http/tests/websocket/tests/hybi/bufferedAmount-after-close-in-busy.html

* websockets/WebSocket.cpp: Implement new bufferedAmount handling.
(WebCore::saturateAdd):
(WebCore::WebSocket::WebSocket):
(WebCore::WebSocket::send):
(WebCore::WebSocket::close):
(WebCore::WebSocket::bufferedAmount):
(WebCore::WebSocket::didUpdateBufferedAmount):
(WebCore::WebSocket::didClose):
* websockets/WebSocket.h:

LayoutTests:

Add a layout test to check the WebSocket bufferedAmount property.
This test close the socket channel when it is busy and buffer some
message frames, then check the property's value in CLOSING and CLOSED
state.

* http/tests/websocket/tests/hybi/bufferedAmount-after-close-in-busy-expected.txt: Added.
* http/tests/websocket/tests/hybi/bufferedAmount-after-close-in-busy.html: Added.

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

8 years agoSupport integer typed arrays in the DFG JIT
oliver@apple.com [Fri, 2 Dec 2011 01:56:53 +0000 (01:56 +0000)]
Support integer typed arrays in the DFG JIT
https://bugs.webkit.org/show_bug.cgi?id=73608

Reviewed by Filip Pizlo.

Add support for all the integral typed arrays in the DFG JIT.
Currently this loads the contents of Uint32 arrays as doubles,
which is clearly not as efficient as it could be, but this is
still in the order of 10-20x faster than the existing behaviour.

This needed us to add support for writing 16bit values to the
macroassembler, and also to support double<->unsigned conversion.

* assembler/ARMv7Assembler.h:
(JSC::ARMv7Assembler::strh):
(JSC::ARMv7Assembler::vcvt_floatingPointToUnsigned):
* assembler/MacroAssemblerARMv7.h:
(JSC::MacroAssemblerARMv7::store16):
(JSC::MacroAssemblerARMv7::truncateDoubleToUint32):
* assembler/MacroAssemblerX86Common.h:
(JSC::MacroAssemblerX86Common::store16):
(JSC::MacroAssemblerX86Common::truncateDoubleToUint32):
* assembler/X86Assembler.h:
(JSC::X86Assembler::movw_rm):
(JSC::X86Assembler::cvttsd2siq_rr):
* bytecode/PredictedType.cpp:
(JSC::predictionToString):
(JSC::predictionFromClassInfo):
* bytecode/PredictedType.h:
(JSC::isInt8ArrayPrediction):
(JSC::isInt16ArrayPrediction):
(JSC::isInt32ArrayPrediction):
(JSC::isUint8ArrayPrediction):
(JSC::isUint16ArrayPrediction):
(JSC::isUint32ArrayPrediction):
(JSC::isFloat32ArrayPrediction):
(JSC::isFloat64ArrayPrediction):
* dfg/DFGAbstractState.cpp:
(JSC::DFG::AbstractState::initialize):
(JSC::DFG::AbstractState::execute):
* dfg/DFGNode.h:
(JSC::DFG::Node::shouldSpeculateInt8Array):
(JSC::DFG::Node::shouldSpeculateInt16Array):
(JSC::DFG::Node::shouldSpeculateInt32Array):
(JSC::DFG::Node::shouldSpeculateUint8Array):
(JSC::DFG::Node::shouldSpeculateUint16Array):
(JSC::DFG::Node::shouldSpeculateUint32Array):
(JSC::DFG::Node::shouldSpeculateFloat32Array):
(JSC::DFG::Node::shouldSpeculateFloat64Array):
* dfg/DFGPropagator.cpp:
(JSC::DFG::Propagator::propagateNodePredictions):
(JSC::DFG::Propagator::fixupNode):
(JSC::DFG::Propagator::performNodeCSE):
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::checkArgumentTypes):
(JSC::DFG::SpeculativeJIT::compileGetTypedArrayLength):
(JSC::DFG::SpeculativeJIT::compileGetByValOnIntTypedArray):
(JSC::DFG::SpeculativeJIT::compilePutByValForIntTypedArray):
* dfg/DFGSpeculativeJIT.h:
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* runtime/JSGlobalData.h:

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

8 years ago[Chromium] Marking Flakey tests in test_expectations:
scheib@chromium.org [Fri, 2 Dec 2011 01:47:13 +0000 (01:47 +0000)]
[Chromium] Marking Flakey tests in test_expectations:

* platform/chromium/test_expectations.txt:
inspector/styles/styles-computed-trace.html
fast/canvas/canvas-overloads-strokeText.html

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

8 years agoParse reftest.list and extract types of ref tests
rniwa@webkit.org [Fri, 2 Dec 2011 01:46:21 +0000 (01:46 +0000)]
Parse reftest.list and extract types of ref tests
https://bugs.webkit.org/show_bug.cgi?id=66837

Reviewed by Dirk Pranke.

Add support for reftest.list to base port.

* Scripts/webkitpy/common/find_files.py:
(find):
* Scripts/webkitpy/layout_tests/controllers/single_test_runner.py:
(SingleTestRunner.__init__):
* Scripts/webkitpy/layout_tests/port/base.py:
(Port.__init__): Initialize self._reftest_list. It's a dictionary mapping from a test directory
to a dictionary of {test path: ("==" or "!=", reference file path)}
(Port._get_reftest_list): Added; calls test_file.parse_reftest_list to fill self._reftest_list.
(Port._reference_file_for): Added; obtains the reference file name given a test name.
(Port.is_reftest): Added; Calls _reference_file_for.
(Port.reftest_expected_filename): Calls _reference_file_for.
(Port.reftest_expected_mismatch_filename): Ditto.
(Port.find_test_files):
(is_reference_html_file): Treat any file that starts with ref- or notref- or ends with
-expected, -expected-mismach, -ref, or -notref as a reference file.
(_is_test_file):
(_parse_reftest_list): Added.
* Scripts/webkitpy/layout_tests/port/base_unittest.py:
(PortTest.test_is_test_file):
(PortTest.test_parse_reftest_list):
* Scripts/webkitpy/layout_tests/port/dryrun.py:
(DryrunDriver.run_test):
* Scripts/webkitpy/layout_tests/port/test.py:
(unit_test_filesystem.add_test_file):
(unit_test_filesystem.add_file):
(unit_test_filesystem):
* Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py:
(get_tests_run.RecordingTestDriver.run_test):
(MainTest.test_unexpected_failures):
(MainTest.test_missing_and_unexpected_results):
(EndToEndTest.test_end_to_end):
* Scripts/webkitpy/to_be_moved/rebaseline_chromium_webkit_tests.py:
(Rebaseliner._compile_rebaselining_tests):

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

8 years ago[EFL] Remove the ewk_protocol_handler-related code
commit-queue@webkit.org [Fri, 2 Dec 2011 01:32:32 +0000 (01:32 +0000)]
[EFL] Remove the ewk_protocol_handler-related code
https://bugs.webkit.org/show_bug.cgi?id=73018

Patch by Raphael Kubo da Costa <kubo@profusion.mobi> on 2011-12-01
Reviewed by Martin Robinson.

This functionality has been broken since r99364, which stopped setting
the "webkit-resource" property needed by
ewk_protocol_handler_soup.cpp.

After giving it some thought, it looks clear that this code should not
be in ewk at all: it is very backend-specific (even in the function
signatures it expects), and it only allows callers to register schemes
once and provide a single handler to all of them, which does not make
much sense.

Client code using WebKit-EFL with the soup backend should be
responsible for creating their own request handlers (ie. subclass
SoupRequest) instead.

For that to be possible, a function which returns the default
SoupSession used by WebKit has been added.

* CMakeListsEfl.txt:
* ewk/ewk_network.cpp:
(ewk_network_default_soup_session_get):
* ewk/ewk_network.h:
* ewk/ewk_private.h:
* ewk/ewk_protocol_handler.cpp: Removed.
* ewk/ewk_protocol_handler.h: Removed.
* ewk/ewk_protocol_handler_soup.cpp: Removed.
* ewk/ewk_protocol_handler_soup.h: Removed.
* ewk/ewk_view.cpp:
* ewk/ewk_view.h:

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

8 years agoUnreviewed, rolling out r101711.
commit-queue@webkit.org [Fri, 2 Dec 2011 01:14:12 +0000 (01:14 +0000)]
Unreviewed, rolling out r101711.
http://trac.webkit.org/changeset/101711
https://bugs.webkit.org/show_bug.cgi?id=73605

Broke 3 webkitpy tests (Requested by rniwa on #webkit).

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

* Scripts/webkitpy/style/checker.py:
(_all_categories):
(FileType):
(CheckerDispatcher._file_type):
(CheckerDispatcher._create_checker):
* Scripts/webkitpy/style/checker_unittest.py:
(CheckerDispatcherDispatchTest.assert_checker_cpp):
(CheckerDispatcherDispatchTest.test_cpp_paths):
* Scripts/webkitpy/style/checkers/jsonchecker.py: Removed.
* Scripts/webkitpy/style/checkers/jsonchecker_unittest.py: Removed.

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

8 years agoReplace a custom constructor of window.Option with the [NamedConstructor] IDL
haraken@chromium.org [Fri, 2 Dec 2011 01:03:37 +0000 (01:03 +0000)]
Replace a custom constructor of window.Option with the [NamedConstructor] IDL
https://bugs.webkit.org/show_bug.cgi?id=73498

Reviewed by Adam Barth.

Removes JSOptionConstructor.{h,cpp} and generates the constructor of window.Option
by the [NamedConstructor] IDL.

Source/WebCore:

Tests: fast/js/custom-constructors.html
       fast/forms/option-index.html
       fast/forms/add-and-remove-option.html
       fast/dom/dom-add-optionelement.html

* GNUmakefile.list.am: Removed JSOptionConstructor.{h,cpp}.
* Target.pri: Ditto.
* UseJSC.cmake: Ditto.
* WebCore.gypi: Ditto.
* WebCore.order: Ditto.
* WebCore.vcproj/WebCore.vcproj: Ditto.
* WebCore.xcodeproj/project.pbxproj: Ditto.
* bindings/js/JSBindingsAllInOne.cpp: Ditto.

* bindings/js/JSDOMWindowCustom.cpp:
(WebCore::JSDOMWindow::option): Specifies the NamedConstructor.
* bindings/js/JSOptionConstructor.cpp: Removed.
* bindings/js/JSOptionConstructor.h: Removed.
* page/DOMWindow.idl: Removed the [JSCustomConstructor] IDL.

LayoutTests:

* platform/mac/fast/dom/Window/window-properties-expected.txt: Updated the test result.

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

8 years agoReplace a custom constructor of window.Audio with the [NamedConstructor] IDL
haraken@chromium.org [Fri, 2 Dec 2011 00:59:17 +0000 (00:59 +0000)]
Replace a custom constructor of window.Audio with the [NamedConstructor] IDL
https://bugs.webkit.org/show_bug.cgi?id=73496

Reviewed by Adam Barth.

Removes JSAudioConstructor.{h,cpp} and generates the constructor of window.Audio
by the [NamedConstructor] IDL.

Source/WebCore:

Tests: fast/js/custom-constructors.html
       media/audio-constructor.html
       media/audio-constructor-src.html
       media/audio-constructor-preload.html
       media/audio-controls-do-not-fade-out.html
       media/audio-controls-rendering.html

* GNUmakefile.list.am: Removed JSAudioConstructor.{h,cpp}.
* Target.pri: Ditto.
* UseJSC.cmake: Ditto.
* WebCore.gypi: Ditto.
* WebCore.order: Ditto.
* WebCore.vcproj/WebCore.vcproj: Ditto.
* WebCore.xcodeproj/project.pbxproj: Ditto.
* bindings/js/JSBindingsAllInOne.cpp: Ditto.

* bindings/js/JSAudioConstructor.cpp: Removed.
* bindings/js/JSAudioConstructor.h: Removed.
* bindings/js/JSDOMWindowCustom.cpp:
(WebCore::JSDOMWindow::audio): Specifies the NamedConstructor.
* page/DOMWindow.idl: Removed the [JSCustomConstructor] IDL.

LayoutTests:

* platform/mac/fast/dom/Window/window-properties-expected.txt: Updated the test result.

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

8 years ago[Chromium] Marking animations/play-state.html even flakier in test_expectations
scheib@chromium.org [Fri, 2 Dec 2011 00:52:28 +0000 (00:52 +0000)]
[Chromium] Marking animations/play-state.html even flakier in test_expectations

* platform/chromium/test_expectations.txt:

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

8 years ago[FileSystem API] resolveLocalFileSystemURL required arguments
commit-queue@webkit.org [Fri, 2 Dec 2011 00:49:57 +0000 (00:49 +0000)]
[FileSystem API] resolveLocalFileSystemURL required arguments
https://bugs.webkit.org/show_bug.cgi?id=69649

Patch by Mark Pilgrim <pilgrim@chromium.org> on 2011-12-01
Reviewed by Darin Adler.

* fast/filesystem/not-enough-arguments-expected.txt:
* fast/filesystem/not-enough-arguments.html:

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

8 years ago[Chromium] Fixing test_expectations error
scheib@chromium.org [Fri, 2 Dec 2011 00:35:58 +0000 (00:35 +0000)]
[Chromium] Fixing test_expectations error

* platform/chromium/test_expectations.txt:

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

8 years agohttps://bugs.webkit.org/show_bug.cgi?id=73592
bdakin@apple.com [Thu, 1 Dec 2011 23:32:44 +0000 (23:32 +0000)]
https://bugs.webkit.org/show_bug.cgi?id=73592
REGRESSION (r100483): Can't drag out of background window
-and corresponding-
<rdar://problem/10508870>

Reviewed by Darin Adler.

If the mouse is pressed we need to do a full, normal hit test even if the window
is not active.
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::mouseEvent):
(WebKit::WebPage::mouseEventSyncForTesting):

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

8 years ago[FileSystem API] DirectoryEntry.removeRecursively successCallback is required
commit-queue@webkit.org [Thu, 1 Dec 2011 23:17:49 +0000 (23:17 +0000)]
[FileSystem API] DirectoryEntry.removeRecursively successCallback is required
https://bugs.webkit.org/show_bug.cgi?id=69644

Patch by Mark Pilgrim <pilgrim@chromium.org> on 2011-12-01
Reviewed by Adam Barth.

Source/WebCore:

* fileapi/DirectoryEntry.idl: remove [Optional] flag from successCallback

LayoutTests:

* fast/filesystem/not-enough-arguments-expected.txt: add removeRecursively test result
* fast/filesystem/not-enough-arguments.html: add removeRecursively test

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

8 years ago[FileSystem API] DirectoryEntry.getDirectory path argument is required
commit-queue@webkit.org [Thu, 1 Dec 2011 23:14:42 +0000 (23:14 +0000)]
[FileSystem API] DirectoryEntry.getDirectory path argument is required
https://bugs.webkit.org/show_bug.cgi?id=69643

Patch by Mark Pilgrim <pilgrim@chromium.org> on 2011-12-01
Reviewed by Adam Barth.

Source/WebCore:

Test: fast/filesystem/simple-required-arguments-getdirectory.html

* bindings/js/JSDirectoryEntryCustom.cpp:
(WebCore::JSDirectoryEntry::getDirectory): throw TypeError if not enough arguments
* bindings/v8/custom/V8DirectoryEntryCustom.cpp:
(WebCore::V8DirectoryEntry::getDirectoryCallback): throw TypeError if not enough arguments

LayoutTests:

* fast/filesystem/resources/simple-required-arguments-getdirectory.js: Added.
(errorCallback):
(successCallback):
* fast/filesystem/simple-required-arguments-getdirectory-expected.txt: Added.
* fast/filesystem/simple-required-arguments-getdirectory.html: Added.

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

8 years agoV8 bindings cleanup: V8WindowErrorHandler shouldn't be directly invoking script
commit-queue@webkit.org [Thu, 1 Dec 2011 23:06:57 +0000 (23:06 +0000)]
V8 bindings cleanup: V8WindowErrorHandler shouldn't be directly invoking script
https://bugs.webkit.org/show_bug.cgi?id=73576

Patch by Rafael Weinstein <rafaelw@chromium.org> on 2011-12-01
Reviewed by Adam Barth.

No tests needed. This patch is just bindings hygiene.

* bindings/v8/V8WindowErrorHandler.cpp:
(WebCore::V8WindowErrorHandler::callListenerFunction):

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

8 years agoUnreviewed. Add myself to GStreamer and WebKit2GTK+ watchlists.
kov@webkit.org [Thu, 1 Dec 2011 23:00:22 +0000 (23:00 +0000)]
Unreviewed. Add myself to GStreamer and WebKit2GTK+ watchlists.

* Scripts/webkitpy/common/config/watchlist:

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

8 years agoUnreviewed. Fix bad file =(.
kov@webkit.org [Thu, 1 Dec 2011 22:56:36 +0000 (22:56 +0000)]
Unreviewed. Fix bad file =(.

* gtk/jhbuild.modules:
* Scripts/webkitdirs.pm:
(runAutogenForAutotoolsProject):

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

8 years agoURLs are encoded in UTF-8, then decoded as if they are Latin1
benjamin@webkit.org [Thu, 1 Dec 2011 22:51:13 +0000 (22:51 +0000)]
URLs are encoded in UTF-8, then decoded as if they are Latin1
https://bugs.webkit.org/show_bug.cgi?id=71758

Reviewed by Darin Adler.

Source/JavaScriptCore:

Add the operator == between a String and a Vector of char. The implementation
is the same as the comparison of String and char* but adds the length as a
parameter for comparing the strings.

* JavaScriptCore.exp:
* wtf/text/StringImpl.h:
(WTF::equal):
* wtf/text/WTFString.h:
(WTF::operator==):
(WTF::operator!=):

Source/WebCore:

Previously, invalid URLs could have a string emanating from a
partial parsing of the input. The creation of the string was done
through the Latin1 codec regardless of the encoding of the char* url.

This caused two types of issues, URLs were evaluated as half-parsed,
and the coding and decoding of the string was not consistent.

This patch changes KURL::parse() to fallback on the original string
whenever the parsing of the URL fails.

Test: fast/url/invalid-urls-utf8.html

* platform/KURL.cpp:
(WebCore::KURL::KURL):
(WebCore::KURL::init):
(WebCore::KURL::parse):
Previously, originalString was only used as an optimization to avoid
the allocation of a string. Since this optimization depends on the
comparison of the incoming string and the encoded buffer.
This patches generalizes originalString to always be the original string
being parsed by KURL. The optimization is kept by comparing that string
and the final parsed result.
* platform/KURL.h:
(WebCore::KURL::parse):
* platform/cf/KURLCFNet.cpp:
(WebCore::KURL::KURL):
* platform/mac/KURLMac.mm:
(WebCore::KURL::KURL):

LayoutTests:

* fast/url/invalid-urls-utf8-expected.txt: Added.
* fast/url/invalid-urls-utf8.html: Added.
New test for invalid URL where the Unicode characters were mangled
by the parsing.

* fast/url/file-expected.txt:
* fast/url/file-http-base-expected.txt:
Two urls where expended by their base URL before found invalid. The partial
parsed result was saved as the new URL.

* fast/url/host-expected.txt:
The host of two urls were invalid, and partially modified by the parsing.

* fast/url/idna2003-expected.txt:
The first 'http://www.lookout.netâ©´80/' encoded for parsing is http://www.lookout.net::=80/
and fails as invalid. The new result does not modify the original string.

The whitespace in 'http://www .lookout.net/' causes the parsing to fail when parsing
the username because a space is not a UserInfoChar.

* fast/url/port-expected.txt:
The unicode characters used as the port number were transformed due to
the encoding UTF-8 -> Unicode through the Latin1 codec.

* platform/chromium/test_expectations.txt: Skip the test on Chromium for now since Google URL
does not implement the extended version of parse().

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

8 years ago[GTK] Read fonts from the jhbuild root
mrobinson@webkit.org [Thu, 1 Dec 2011 22:45:18 +0000 (22:45 +0000)]
[GTK] Read fonts from the jhbuild root
https://bugs.webkit.org/show_bug.cgi?id=73487

Reviewed by Gustavo Noronha Silva.

Read fonts from the jhbuild root instead of from the system. This will ensure
that all testers use the same fonts instead of leaving this up to luck.

Source/JavaScriptCore:

* wtf/gobject/GlibUtilities.h: Add Assertions.h which was required for the WebKit2TestRunner.

Tools:

* DumpRenderTree/gtk/DumpRenderTree.cpp:
(initializeFonts): Load fonts from jhbuild root.
* Scripts/webkitpy/layout_tests/port/gtk.py:
(GtkPort.setup_environ_for_server): Pass an environment variable containing
the path to the jhbuild root.
* WebKitTestRunner/InjectedBundle/gtk/ActivateFontsGtk.cpp:
(WTR::inititializeFontConfigSetting): Load fonts from the jhbuild root.

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

8 years agoTeach check-webkit-style how to check the syntax of JSON files
aroben@apple.com [Thu, 1 Dec 2011 22:37:51 +0000 (22:37 +0000)]
Teach check-webkit-style how to check the syntax of JSON files

Fixes <http://webkit.org/b/73590> check-webkit-style doesn't flag JSON syntax errors

Reviewed by Darin Adler.

* Scripts/webkitpy/style/checker.py:
(_all_categories): Added JSONChecker's categories to the set of all categories.
(FileType): Added a JSON type. Incremented other types.
(CheckerDispatcher._file_type): Use the JSON file type for .json files.
(CheckerDispatcher._create_checker): Use a JSONChecker for JSON files.

* Scripts/webkitpy/style/checker_unittest.py:
(CheckerDispatcherDispatchTest.assert_checker_json): Added this helper method.
(CheckerDispatcherDispatchTest.test_json_paths): Added. Based on test_python_paths.

* Scripts/webkitpy/style/checkers/jsonchecker.py: Added. (I didn't name this just "json",
which would have matched our other checkers, because I couldn't figure out how to call
"json.loads" without hitting namespace conflicts.)
(JSONChecker.__init__): Turn of line filtering so that we always check the whole file, not
just the modified lines from a patch.
(JSONChecker.check): Try to parse the lines as JSON. Mark an error if there was an
exception.
(JSONChecker.line_number_from_json_exception): Parse the json modules exception message to
try to extract a line number.

* Scripts/webkitpy/style/checkers/jsonchecker_unittest.py: Added.
(MockErrorHandler.__init__):
(MockErrorHandler.turn_off_line_filtering):
(MockErrorHandler.__call__):
Helper class. Copied from xml_unittest.py.

(JSONCheckerTest.test_line_number_from_json_exception): Test the
line_number_from_json_exception helper method.

(JSONCheckerTest.assert_no_error):
(JSONCheckerTest.assert_error):
Helper methods to assert that we did or didn't get an error.

(JSONCheckerTest.mock_handle_style_error): Helper method.

(JSONCheckerTest.test_conflict_marker):
(JSONCheckerTest.test_single_quote):
(JSONCheckerTest.test_init):
(JSONCheckerTest.test_missing_closing_brace):
(JSONCheckerTest.test_no_error):
Test various cases.

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

8 years ago[GTK] Add a helper function to find the current executable's path
mrobinson@webkit.org [Thu, 1 Dec 2011 22:31:26 +0000 (22:31 +0000)]
[GTK] Add a helper function to find the current executable's path
https://bugs.webkit.org/show_bug.cgi?id=73473

Reviewed by Gustavo Noronha Silva.

Source/JavaScriptCore:

Add a WTF helper which gets the binary path. This is currently only used
in WebKit2.

* GNUmakefile.list.am: Add the new file to the source list.
* wtf/gobject/GlibUtilities.cpp: Added.
(getCurrentExecutablePath):
* wtf/gobject/GlibUtilities.h: Added.

Source/WebCore:

No new tests. This should not change behavior.

* platform/gtk/FileSystemGtk.cpp:
(WebCore::applicationDirectoryPath): Now use the new WTF function to get the
current executable's path.

Source/WebKit2:

Do a series of tests when looking for processes. First search the directory
specified by the environment variable, then the directory of the binary and
then the LIBEXECDIR.

* UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
(WebKit::findWebKitProcess): Added.
(WebKit::ProcessLauncher::launchProcess): Call the new helper to get the
binary location.

Tools:

Update MiniBrowser to not pass the binary directory as an environment variable.
This means that you can move the binaries around without it breaking.

* MiniBrowser/gtk/main.c:
(main): No longer set the environment variable.
* WebKitTestRunner/GNUmakefile.am: No longer add the directory path define.
* WebKitTestRunner/gtk/main.cpp:  Ditto.

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

8 years ago[chromium] add referrer policy to WebContextMenuData
jochen@chromium.org [Thu, 1 Dec 2011 22:25:47 +0000 (22:25 +0000)]
[chromium] add referrer policy to WebContextMenuData
https://bugs.webkit.org/show_bug.cgi?id=73567

Reviewed by Darin Fisher.

* public/WebContextMenuData.h:
* src/ContextMenuClientImpl.cpp:
(WebKit::ContextMenuClientImpl::getCustomMenuFromDefaultItems):

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

8 years ago[GTK] Add freetype to our jhbuild setup
kov@webkit.org [Thu, 1 Dec 2011 22:25:00 +0000 (22:25 +0000)]
[GTK] Add freetype to our jhbuild setup
https://bugs.webkit.org/show_bug.cgi?id=73488

Reviewed by Martin Robinson.

This adds the first library to our jhbuild setup, and makes sure
build-webkit calls autogen.sh and make with jhbuild, so that the
environment is properly set.

* Scripts/webkitdirs.pm:
(saveSum):
(hashFile):
(runAutogenForAutotoolsProject): save md5sum of jhbuild-related files, and
call autogen under jhbuild run;
(mustRunAutogen): generalized the arguments change checking to also force
running autogen when jhbuild files change;
(buildAutotoolsProject): run make under jhbuild;
* gtk/jhbuild.modules: add freetype.

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

8 years agoStyledElement: Clean up inline style accessors.
kling@webkit.org [Thu, 1 Dec 2011 22:22:41 +0000 (22:22 +0000)]
StyledElement: Clean up inline style accessors.
<http://webkit.org/b/73568>

Reviewed by Antti Koivisto.

Renamed StyledElement's getInlineStyleDecl() to ensureInlineStyleDecl() to
make it clear that it will always return non-null as opposed to inlineStyleDecl().

Also updated call sites to store the return value in a CSSInlineStyleDeclaration*
rather than a CSSMutableStyleDeclaration*, and reduced scoping of temporaries
in some cases.

* dom/StyledElement.cpp:
(WebCore::StyledElement::createInlineStyleDecl):
(WebCore::StyledElement::destroyInlineStyleDecl):
(WebCore::StyledElement::parseMappedAttribute):
(WebCore::StyledElement::ensureInlineStyleDecl):
(WebCore::StyledElement::style):
(WebCore::StyledElement::copyNonAttributeProperties):
(WebCore::StyledElement::addSubresourceAttributeURLs):
* dom/StyledElement.h:
(WebCore::StyledElement::inlineStyleDecl):
* editing/ApplyStyleCommand.cpp:
(WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
(WebCore::ApplyStyleCommand::removeEmbeddingUpToEnclosingBlock):
(WebCore::ApplyStyleCommand::applyInlineStyleToNodeRange):
(WebCore::ApplyStyleCommand::addBlockStyle):
(WebCore::ApplyStyleCommand::addInlineStyleIfNeeded):
* editing/DeleteButtonController.cpp:
(WebCore::DeleteButtonController::createDeletionUI):
(WebCore::DeleteButtonController::show):
(WebCore::DeleteButtonController::hide):
* editing/ReplaceSelectionCommand.cpp:
(WebCore::ReplaceSelectionCommand::removeRedundantStylesAndKeepStyleSpanInline):
(WebCore::ReplaceSelectionCommand::handleStyleSpans):
* html/HTMLTextFormControlElement.cpp:
(WebCore::HTMLTextFormControlElement::updatePlaceholderVisibility):
* html/ValidationMessage.cpp:
(WebCore::adjustBubblePosition):
* html/shadow/MediaControlElements.cpp:
(WebCore::MediaControlElement::show):
(WebCore::MediaControlElement::hide):
(WebCore::MediaControlPanelElement::setPosition):
(WebCore::MediaControlPanelElement::resetPosition):
(WebCore::MediaControlPanelElement::makeOpaque):
(WebCore::MediaControlPanelElement::makeTransparent):
(WebCore::MediaControlInputElement::show):
(WebCore::MediaControlInputElement::hide):
* html/shadow/MeterShadowElement.cpp:
(WebCore::MeterValueElement::setWidthPercentage):
* html/shadow/ProgressShadowElement.cpp:
(WebCore::ProgressValueElement::setWidthPercentage):
* html/shadow/SliderThumbElement.cpp:
(WebCore::TrackLimiterElement::create):

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

8 years agoMore void functions eager to return values in RenderObject & WebFrameImpl
knorton@google.com [Thu, 1 Dec 2011 22:16:10 +0000 (22:16 +0000)]
More void functions eager to return values in RenderObject & WebFrameImpl
https://bugs.webkit.org/show_bug.cgi?id=73571

Reviewed by Adam Barth.

Source/WebCore:

* rendering/RenderObject.h:
(WebCore::RenderObject::computeAbsoluteRepaintRect):

Source/WebKit/chromium:

* src/WebFrameImpl.cpp:
(WebKit::ChromePrintContext::computePageRects):

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

8 years agoUnreviewed, rolling out r101691.
scheib@chromium.org [Thu, 1 Dec 2011 22:12:16 +0000 (22:12 +0000)]
Unreviewed, rolling out r101691.
http://trac.webkit.org/changeset/101691
https://bugs.webkit.org/show_bug.cgi?id=73588

Tests fail on Chromium bots, early warning system warned
committer, please adjust test_expectations in patch (Requested
by scheib on #webkit).

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

Source/JavaScriptCore:

* JavaScriptCore.exp:
* wtf/text/StringImpl.h:
* wtf/text/WTFString.h:

Source/WebCore:

* platform/KURL.cpp:
(WebCore::KURL::KURL):
(WebCore::KURL::init):
(WebCore::KURL::parse):
* platform/KURL.h:
* platform/cf/KURLCFNet.cpp:
(WebCore::KURL::KURL):
* platform/mac/KURLMac.mm:
(WebCore::KURL::KURL):

LayoutTests:

* fast/url/file-expected.txt:
* fast/url/file-http-base-expected.txt:
* fast/url/host-expected.txt:
* fast/url/idna2003-expected.txt:
* fast/url/invalid-urls-utf8-expected.txt: Removed.
* fast/url/invalid-urls-utf8.html: Removed.
* fast/url/port-expected.txt:

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

8 years ago[Chromium] Add the FontCache implementation for Android
commit-queue@webkit.org [Thu, 1 Dec 2011 22:08:14 +0000 (22:08 +0000)]
[Chromium] Add the FontCache implementation for Android
https://bugs.webkit.org/show_bug.cgi?id=73452

Add the FontCache implementation specific for the Chromium WebKit
port on Android, and include various font-related files intended for
Linux which can be re-used.

Patch by Peter Beverloo <peter@chromium.org> on 2011-12-01
Reviewed by Adam Barth.

* WebCore.gyp/WebCore.gyp:
* WebCore.gypi:
* platform/graphics/chromium/FontCacheAndroid.cpp: Added.
(WebCore::getFallbackFontName):
(WebCore::isFallbackFamily):
(WebCore::FontCache::platformInit):
(WebCore::FontCache::getFontDataForCharacters):
(WebCore::FontCache::getSimilarFontPlatformData):
(WebCore::FontCache::getLastResortFallbackFont):
(WebCore::FontCache::getTraitsInFamily):
(WebCore::FontCache::createFontPlatformData):

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

8 years agoNeed to implement flex-flow: row-reverse
tony@chromium.org [Thu, 1 Dec 2011 21:51:16 +0000 (21:51 +0000)]
Need to implement flex-flow: row-reverse
https://bugs.webkit.org/show_bug.cgi?id=70778

Reviewed by Ojan Vafai.

Source/WebCore:

We can't just change the direction of the FlexOrderIterator because we want the overflow to be
on the left side.  Instead, we apply similar logic as when we're laying out RTL content. Putting
the check in isLeftToRightFlow() lets us flip the flexbox's border and padding and the flexitems'
margins.  We then layout from right to left in layoutAndPlaceChildren.

Also remove 2 uncalled functions.

* rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::isReverseFlow):
(WebCore::RenderFlexibleBox::isLeftToRightFlow):
* rendering/RenderFlexibleBox.h:

LayoutTests:

* css3/flexbox/flex-flow-expected.txt:
* css3/flexbox/flex-flow.html: Added test cases to make sure start and end still apply to the text flow direction.
* css3/flexbox/flex-flow-border-expected.txt:
* css3/flexbox/flex-flow-border.html: Single flexitem, so reverse does nothing
* css3/flexbox/flex-flow-margins-auto-size-expected.txt:
* css3/flexbox/flex-flow-margins-auto-size.html: Ditto.  The orthogonal tests fail, but they've always failed.
* css3/flexbox/flex-flow-margins-expected.txt:
* css3/flexbox/flex-flow-margins.html: Ditto.
* css3/flexbox/flex-flow-orientations-expected.txt:
* css3/flexbox/flex-flow-orientations.html: This test has 2 flexitems, the positions of which are now flipped.
* css3/flexbox/flex-flow-overflow-expected.txt:
* css3/flexbox/flex-flow-overflow.html: The overflow should go in the opposite direction. That is, the overflow
of rtl should be the same as row-reverse.
* css3/flexbox/flex-flow-padding-expected.txt:
* css3/flexbox/flex-flow-padding.html: Single flexitem, no change.

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

8 years ago[Chromium] Early returns in calculateDrawTransformsAndVisibilityInternal() are not...
commit-queue@webkit.org [Thu, 1 Dec 2011 21:44:54 +0000 (21:44 +0000)]
[Chromium] Early returns in calculateDrawTransformsAndVisibilityInternal() are not respected by parent.
https://bugs.webkit.org/show_bug.cgi?id=73270

Non-drawing child trees should not be added to the parent render surface's layer list
and should neither extend the parent layer's drawable content rect.

This also fixes assertions from the content texture residency logic, which doesn't like it
if we try to use a render surface through a parent, while that surface itself was never 'used'
in the same frame.

Patch by Daniel Sievers <sievers@chromium.org> on 2011-12-01
Reviewed by James Robinson.

Source/WebCore:

Added unit test.

* platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
(WebCore::calculateDrawTransformsAndVisibilityInternal):

Source/WebKit/chromium:

* tests/CCLayerTreeHostCommonTest.cpp:
(WebCore::TEST):

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

8 years ago[Chromium] Use contentBounds instead of bounds for invalidation.
commit-queue@webkit.org [Thu, 1 Dec 2011 21:32:11 +0000 (21:32 +0000)]
[Chromium] Use contentBounds instead of bounds for invalidation.
https://bugs.webkit.org/show_bug.cgi?id=73525

Patch by David Reveman <reveman@chromium.org> on 2011-12-01
Reviewed by James Robinson.

Use setNeedsDisplay() instead of setNeedsDisplayRect() when possible.

Source/WebCore:

No new tests.

* platform/graphics/chromium/LayerChromium.cpp:
(WebCore::LayerChromium::setBounds):

Source/WebKit/chromium:

* src/WebMediaPlayerClientImpl.cpp:
(WebKit::WebMediaPlayerClientImpl::repaint):

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

8 years agoFix WebKitTestRunner compile warnings with XCode 3.2
dmazzoni@google.com [Thu, 1 Dec 2011 21:13:06 +0000 (21:13 +0000)]
Fix WebKitTestRunner compile warnings with XCode 3.2
https://bugs.webkit.org/show_bug.cgi?id=73378

Reviewed by Chris Fleizach.

* WebKitTestRunner/InjectedBundle/AccessibilityTextMarker.cpp:
(WTR::AccessibilityTextMarker::AccessibilityTextMarker):
* WebKitTestRunner/InjectedBundle/AccessibilityTextMarkerRange.cpp:
(WTR::AccessibilityTextMarkerRange::AccessibilityTextMarkerRange):
* WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
(WTR::AccessibilityUIElement::AccessibilityUIElement):
(WTR::AccessibilityUIElement::verticalScrollbar):

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

8 years agoCSSStyleSelector: Add missing fields to constructor initializer list.
kling@webkit.org [Thu, 1 Dec 2011 20:36:44 +0000 (20:36 +0000)]
CSSStyleSelector: Add missing fields to constructor initializer list.
<http://webkit.org/b/73565>

Reviewed by Antti Koivisto.

* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::CSSStyleSelector):

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

8 years agoGet rid of the unused function nameForCursorType()
benjamin@webkit.org [Thu, 1 Dec 2011 20:19:21 +0000 (20:19 +0000)]
Get rid of the unused function nameForCursorType()
https://bugs.webkit.org/show_bug.cgi?id=73529

Patch by Benjamin Poulain <bpoulain@apple.com> on 2011-12-01
Reviewed by Joseph Pecoraro.

The function nameForCursorType was introduced in r63339 and has not been used anywhere
since that commit.

* WebCore.exp.in:
* platform/Cursor.cpp:
* platform/Cursor.h:

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

8 years agoCSSMutableStyleDeclaration: Unnecessary double hash lookup in construction.
kling@webkit.org [Thu, 1 Dec 2011 20:04:25 +0000 (20:04 +0000)]
CSSMutableStyleDeclaration: Unnecessary double hash lookup in construction.
<http://webkit.org/b/73564>

Reviewed by Antti Koivisto.

Use HashMap::find() instead of contains() followed by get() on
successful lookup.

* css/CSSMutableStyleDeclaration.cpp:
(WebCore::CSSMutableStyleDeclaration::CSSMutableStyleDeclaration):

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

8 years agoCleaning up comments and unused portions of a webgl test, as per review comments.
commit-queue@webkit.org [Thu, 1 Dec 2011 20:02:31 +0000 (20:02 +0000)]
Cleaning up comments and unused portions of a webgl test, as per review comments.
https://bugs.webkit.org/show_bug.cgi?id=73033

Patch by Jeff Timanus <twiz@chromium.org> on 2011-12-01
Reviewed by Stephen White.

* fast/canvas/webgl/webgl-texture-binding-preserved.html:

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

8 years agoAllow committers to use their Trac credentials to force builds on the buildbots
aroben@apple.com [Thu, 1 Dec 2011 19:58:49 +0000 (19:58 +0000)]
Allow committers to use their Trac credentials to force builds on the buildbots

Fixes <http://webkit.org/b/73353>

A new class, CommitterAuth, handles authentication of WebKit committers. CommitterAuth uses
three files to do its job: a config file that contains a list of WebKit committer usernames,
an htdigest file that contains Trac credentials, and JSON file that gives the paths for
those two files.

Reviewed by Darin Adler.

* BuildSlaveSupport/build.webkit.org-config/committer_auth.py: Added.
(Error): Basic wrapper around Exception that we use for cases where we couldn't even check
whether credentials were valid or not.
(CommitterAuth.__init__): Just store the path to auth.json.
(CommitterAuth.auth_json): Load, parse, and return auth.json.
(CommitterAuth.auth_json_filename): Return the path to auth.json.
(CommitterAuth.authenticate): Return true if the user is a WebKit committer and their
credentials are valid Trac credentials. Return false otherwise or if an error occurred while
checking those conditions.
(CommitterAuth.is_webkit_committer): Return true if the user is a WebKit committer. Return
false otherwise or if an exception was thrown.
(CommitterAuth.is_webkit_trac_user): Return true if the username/password are present in the
Trac credentials htdigest file. Return false otherwise or if an exception was thrown.

(CommitterAuth.open_auth_json_file):
(CommitterAuth.open_trac_credentials_file):
(CommitterAuth.open_webkit_committers_file):
Open the specified file. These are mostly useful for testing purposes.

(CommitterAuth.trac_credentials_filename):
(CommitterAuth.webkit_committers_filename):
Return the path to the specified file by retrieving it from auth.json.

(CommitterAuth.webkit_committers): Load and parse the committers file and extract the list
of WebKit committers from it.

* BuildSlaveSupport/build.webkit.org-config/committer_auth_unittest.py: Added.
(CMStringIO.__enter__):
(CMStringIO.__exit__):
Helper class that makes it possible to use StringIO with the "with" statement.

(open_override): Helper context manager for overriding the global "open" function
temporarily.

(CommitterAuthTest.setUp): Set up a somewhat-mocked CommitterAuth that is used by most
tests.
(CommitterAuthTest.fake_open_function): Returns a function that can be used in place of
"open" to test that the expected path was opened.
(CommitterAuthTest.test_authentication_success): Test that committers can authenticate
successfully.
(CommitterAuthTest.test_committer_without_trac_credentials_fails): Test that committers who
somehow have no Trac account can't authenticate.

(CommitterAuthTest.test_fail_to_open_auth_json_file):
(CommitterAuthTest.test_fail_to_open_trac_credentials_file):
(CommitterAuthTest.test_fail_to_open_webkit_committers_file):
Test what happens when we can't open the three files we depend upon.

(CommitterAuthTest.test_implements_IAuth): Test that we fulfill buildbot's expectations for
an authentication class.

(CommitterAuthTest.test_invalid_auth_json_file):
(CommitterAuthTest.test_invalid_committers_file):
(CommitterAuthTest.test_invalid_trac_credentials_file):
(CommitterAuthTest.test_missing_auth_json_keys):
Test what happens when the three files we depend upon are invalid in some way.

(CommitterAuthTest.test_open_auth_json_file):
(CommitterAuthTest.test_open_trac_credentials_file):
(CommitterAuthTest.test_open_webkit_committers_file):
Test that we open the expected paths.

(CommitterAuthTest.test_trac_credentials_filename):
(CommitterAuthTest.test_webkit_committers_filename):
Test that we extract filenames out of auth.json correctly.

(CommitterAuthTest.test_non_committer_fails):
(CommitterAuthTest.test_unknown_user_fails):
(CommitterAuthTest.test_username_is_prefix_of_valid_user):
(CommitterAuthTest.test_wrong_password_fails):
Test various failed authentication attempts.

(CommitterAuthTest.test_webkit_committers): Test that we can parse the list of WebKit
committers out of the committers file correctly.

(CommitterAuthTest.fake_auth_json_file):
(CommitterAuthTest.invalid_auth_json_file):
(CommitterAuthTest.fake_committers_file):
(CommitterAuthTest.invalid_committers_file):
(CommitterAuthTest.fake_htdigest_file):
(CommitterAuthTest.invalid_htdigest_file):
Return various fake files for testing.

* BuildSlaveSupport/build.webkit.org-config/master.cfg: Specify an instance of CommitterAuth
to be used for authentication in the web interface, and specify that only authenticated
users may force builds.

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

8 years agoAdd an HTDigestParser class to webkitpy
aroben@apple.com [Thu, 1 Dec 2011 19:58:38 +0000 (19:58 +0000)]
Add an HTDigestParser class to webkitpy

Fixes <http://webkit.org/b/73575> webkitpy doesn't provide a way to parse htdigest files

This class can be used to parse Apache's htdigest files and check whether a given
username/realm/password tuple is present in the file. Eventually this will be used for
authenticating users on build.webkit.org (<http://webkit.org/b/73353>).

Reviewed by Eric Seidel.

* Scripts/webkitpy/common/net/htdigestparser.py: Added.
(HTDigestParser.__init__): Stores the parsed representation of the file.
(HTDigestParser.authenticate): Hashes the username/realm/password tuple to generate a hashed
password and returns whether the resulting tuple is present in the file.
(HTDigestParser.entries): Just returns the parsed representation of the file.
(HTDigestParser.parse_file): Splits each line on colons and checks that each line has the
expected syntax ('username:realm:hashed_password'). If any line is invalid, we treat the
whole file as invalid and all authentication attempts will fail.

* Scripts/webkitpy/common/net/htdigestparser_unittest.py: Added.
(HTDigestParserTest.assertEntriesEqual): Helper method to assert that fake_htdigest_file,
optionally appended with some extra data, generates the expected entries.
(HTDigestParserTest.test_authenticate): Tests that tuples present in the file can
authenticate, and tuples not present cannot.
(HTDigestParserTest.test_entries): Tests that we get the expected entries from
fake_htdigest_file.

(HTDigestParserTest.test_empty_file):
(HTDigestParserTest.test_too_few_colons):
(HTDigestParserTest.test_too_many_colons):
(HTDigestParserTest.test_invalid_hash):
Test various forms of invalid files.

(HTDigestParserTest.fake_htdigest_file): Returns a fake valid htdigest file for testing.

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

8 years agoARMv7 only allows for one-shot patching of compact offsets, while the
fpizlo@apple.com [Thu, 1 Dec 2011 19:45:29 +0000 (19:45 +0000)]
ARMv7 only allows for one-shot patching of compact offsets, while the
JIT expects to be able to repatch
https://bugs.webkit.org/show_bug.cgi?id=73548

Reviewed by Oliver Hunt.

* assembler/ARMv7Assembler.h:
(JSC::ARMv7Assembler::setUInt7ForLoad):

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

8 years agoWeb Inspector: chromium: move and adapt Inspector's performance tests for running...
loislo@chromium.org [Thu, 1 Dec 2011 19:31:51 +0000 (19:31 +0000)]
Web Inspector: chromium: move and adapt Inspector's performance tests for running with run-inspector-perf-tests.py.
https://bugs.webkit.org/show_bug.cgi?id=72260

Reviewed by Pavel Feldman.

PerformanceTests:

* inspector/first-open-elements.html: Renamed from LayoutTests/inspector/performance/resources/first-open-elements.html.
* inspector/first-open-scripts.html: Renamed from LayoutTests/inspector/performance/resources/first-open-scripts.html.
* inspector/inspector-startup-time.html: Renamed from LayoutTests/inspector/performance/resources/inspector-startup-time.html.
* inspector/network-append-30-requests.html: Renamed from LayoutTests/inspector/performance/resources/network-append-30-requests.html.
* inspector/performance-test.js: Renamed from LayoutTests/inspector/performance/resources/performance-test.js.
(initialize_TimeTracker.InspectorTest.runPerformanceTest.Timer):
(initialize_TimeTracker.InspectorTest.runPerformanceTest.Timer.prototype.start):
(initialize_TimeTracker.InspectorTest.runPerformanceTest.Timer.prototype.finish):
(initialize_TimeTracker.InspectorTest.runPerformanceTest.Timer.prototype._getJSHeapSize):
(initialize_TimeTracker.InspectorTest.runPerformanceTest.Timer.prototype.done):
(initialize_TimeTracker.InspectorTest.runPerformanceTest.Timer.prototype._runTest):
(initialize_TimeTracker.InspectorTest.runPerformanceTest.Timer.prototype._dump):
(initialize_TimeTracker.InspectorTest.runPerformanceTest):
(initialize_TimeTracker.InspectorTest.mark):
* inspector/show-panel.html: Renamed from LayoutTests/inspector/performance/resources/show-panel.html.

LayoutTests:

* inspector/performance/resources/console-append-100-lines.html: Removed.
* inspector/performance/resources/first-open-resources.html: Removed.

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

8 years agoURLs are encoded in UTF-8, then decoded as if they are Latin1
benjamin@webkit.org [Thu, 1 Dec 2011 19:11:21 +0000 (19:11 +0000)]
URLs are encoded in UTF-8, then decoded as if they are Latin1
https://bugs.webkit.org/show_bug.cgi?id=71758

Reviewed by Darin Adler.

Source/JavaScriptCore:

Add the operator == between a String and a Vector of char. The implementation
is the same as the comparison of String and char* but adds the length as a
parameter for comparing the strings.

* JavaScriptCore.exp:
* wtf/text/StringImpl.h:
(WTF::equal):
* wtf/text/WTFString.h:
(WTF::operator==):
(WTF::operator!=):

Source/WebCore:

Previously, invalid URLs could have a string emanating from a
partial parsing of the input. The creation of the string was done
through the Latin1 codec regardless of the encoding of the char* url.

This caused two types of issues, URLs were evaluated as half-parsed,
and the coding and decoding of the string was not consistent.

This patch changes KURL::parse() to fallback on the original string
whenever the parsing of the URL fails.

Test: fast/url/invalid-urls-utf8.html

* platform/KURL.cpp:
(WebCore::KURL::KURL):
(WebCore::KURL::init):
(WebCore::KURL::parse):
Previously, originalString was only used as an optimization to avoid
the allocation of a string. Since this optimization depends on the
comparison of the incoming string and the encoded buffer.
This patches generalizes originalString to always be the original string
being parsed by KURL. The optimization is kept by comparing that string
and the final parsed result.
* platform/KURL.h:
(WebCore::KURL::parse):
* platform/cf/KURLCFNet.cpp:
(WebCore::KURL::KURL):
* platform/mac/KURLMac.mm:
(WebCore::KURL::KURL):

LayoutTests:

* fast/url/invalid-urls-utf8-expected.txt: Added.
* fast/url/invalid-urls-utf8.html: Added.
New test for invalid URL where the Unicode characters were mangled
by the parsing.

* fast/url/file-expected.txt:
* fast/url/file-http-base-expected.txt:
Two urls where expended by their base URL before found invalid. The partial
parsed result was saved as the new URL.

* fast/url/host-expected.txt:
The host of two urls were invalid, and partially modified by the parsing.

* fast/url/idna2003-expected.txt:
The first 'http://www.lookout.netâ©´80/' encoded for parsing is http://www.lookout.net::=80/
and fails as invalid. The new result does not modify the original string.

The whitespace in 'http://www .lookout.net/' causes the parsing to fail when parsing
the username because a space is not a UserInfoChar.

* fast/url/port-expected.txt:
The unicode characters used as the port number were transformed due to
the encoding UTF-8 -> Unicode through the Latin1 codec.

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

8 years agowebkit->chromium DEPS roll 111575->112463
commit-queue@webkit.org [Thu, 1 Dec 2011 19:02:07 +0000 (19:02 +0000)]
webkit->chromium DEPS roll 111575->112463
https://bugs.webkit.org/show_bug.cgi?id=73231

Patch by Elliot Poger <epoger@google.com> on 2011-12-01
Reviewed by Yury Semikhatsky.

* DEPS:

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

8 years ago[Blackberry] Upstream BlackBerry porting of plugin framework -- part 2
commit-queue@webkit.org [Thu, 1 Dec 2011 19:00:42 +0000 (19:00 +0000)]
[Blackberry] Upstream BlackBerry porting of plugin framework -- part 2
https://bugs.webkit.org/show_bug.cgi?id=73513

Patch by Wei Charles <charles.wei@torchmobile.com.cn> on 2011-12-01
Reviewed by Antonio Gomes.

No new tests for now.

* plugins/blackberry/NPCallbacksBlackBerry.cpp: Added.
* plugins/blackberry/NPCallbacksBlackBerry.h: Added.
* plugins/blackberry/PluginViewPrivateBlackBerry.cpp: Added.
* plugins/blackberry/PluginViewPrivateBlackBerry.h: Added.

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

8 years agoVersioning.
lforschler@apple.com [Thu, 1 Dec 2011 18:54:45 +0000 (18:54 +0000)]
Versioning.

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

8 years agoJSC/CSSOM: root(CSSElementStyleDeclaration) should never need to follow the element.
kling@webkit.org [Thu, 1 Dec 2011 18:49:21 +0000 (18:49 +0000)]
JSC/CSSOM: root(CSSElementStyleDeclaration) should never need to follow the element.
<http://webkit.org/b/73561>

Reviewed by Antti Koivisto.

A CSSElementStyleDeclaration should always either have a null element pointer,
or return a valid parentStyleSheet(), since having an element pointer implies
having an associated element sheet.

In light of this, replace the opaque-root-from-element path for style declarations
by an assertion.

* bindings/js/JSDOMBinding.h:
(WebCore::root):

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

8 years ago[CMake] Make the feature defines for DOM names explicit
paroga@webkit.org [Thu, 1 Dec 2011 18:30:43 +0000 (18:30 +0000)]
[CMake] Make the feature defines for DOM names explicit
https://bugs.webkit.org/show_bug.cgi?id=72812

Reviewed by Daniel Bates.

.:

Preprocessor defines used in WebCore/dom/make_names.pl are set via WEBKIT_FEATURE
for every port in the correspondig platform file. Pass an explicit list of defines
to the CMake macro, so we need to maintain the list only once.

* Source/cmake/OptionsBlackBerry.cmake:
* Source/cmake/OptionsEfl.cmake:
* Source/cmake/OptionsWinCE.cmake:
* Source/cmake/WebKitFeatures.cmake:

Source/WebCore:

* CMakeLists.txt:

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

8 years ago[GTK] Make the new 64-bit Release bot part of the core set
philn@webkit.org [Thu, 1 Dec 2011 18:24:53 +0000 (18:24 +0000)]
[GTK] Make the new 64-bit Release bot part of the core set
https://bugs.webkit.org/show_bug.cgi?id=73570

Reviewed by Adam Roben.

The 64-bit Release bot re-introduced in r101676 replaces the 64-bit
Debug bot which was already part of the core set. The GTK
gardeners are willing to actively maintain it.

* Scripts/webkitpy/common/net/buildbot/buildbot.py:
(BuildBot.__init__):
* Scripts/webkitpy/common/net/buildbot/buildbot_unittest.py:
(test_builder_name_regexps):

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

8 years ago[Qt] [WK2] QQuickWebView covers QML elements that should be rendered on top.
commit-queue@webkit.org [Thu, 1 Dec 2011 18:02:20 +0000 (18:02 +0000)]
[Qt] [WK2] QQuickWebView covers QML elements that should be rendered on top.
https://bugs.webkit.org/show_bug.cgi?id=73338

Patch by Viatcheslav Ostapenko <ostapenko.viatcheslav@nokia.com> on 2011-12-01
Reviewed by Noam Rosenthal.

Move painting of QQuickWebPage content from canvas afterrendering() to
QSGGeometryNode/QSGMaterial based paint node. Implementation uses QSGMaterialShader
updateState() method to draw TextureMapper graphics layers.
This is considered to be temporary until QSGNode::UserNodeType will be available.

* UIProcess/API/qt/qquickwebpage.cpp:
(QQuickWebPage::QQuickWebPage):
(QQuickWebPagePrivate::QQuickWebPagePrivate):
(PageProxyMaterialShader::attributeNames):
(PageProxyMaterialShader::vertexShader):
(PageProxyMaterialShader::fragmentShader):
(PageProxyMaterial::PageProxyMaterial):
(PageProxyMaterial::type):
(PageProxyMaterial::createShader):
(PageProxyNode::PageProxyNode):
(PageProxyNode::~PageProxyNode):
(PageProxyMaterialShader::updateState):
(QQuickWebPage::updatePaintNode):
(QQuickWebPagePrivate::resetPaintNode):
(QQuickWebPagePrivate::~QQuickWebPagePrivate):
* UIProcess/API/qt/qquickwebpage_p.h:
* UIProcess/API/qt/qquickwebpage_p_p.h:
* UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
(tst_QQuickWebView::showWebView):
* UIProcess/qt/LayerTreeHostProxyQt.cpp:
(WebKit::LayerTreeHostProxy::didRenderFrame):

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

8 years agohttps://bugs.webkit.org/show_bug.cgi?id=73503
dslomov@google.com [Thu, 1 Dec 2011 17:57:32 +0000 (17:57 +0000)]
https://bugs.webkit.org/show_bug.cgi?id=73503
[Chromium][V8] Implement ArrayBuffer transfer in chromium.
Portions of this patch come from Luke Zarko.

Source/JavaScriptCore:

Reviewed by David Levin.

* wtf/ArrayBuffer.cpp:
(WTF::ArrayBuffer::transfer): Changed prototype from pointers to RefPtr.
* wtf/ArrayBuffer.h:
(WTF::ArrayBufferContents::transfer): Changed prototype from pointers to RefPtr.
(WTF::ArrayBuffer::isNeutered):
* wtf/TypedArrayBase.h:
(WTF::TypedArrayBase::neuter):

Source/WebCore:

Reviewed by David Levin.

Test: fast/canvas/webgl/arraybuffer-transfer-of-control.html

* bindings/v8/SerializedScriptValue.cpp:
(WebCore::V8ObjectMap::Writer::writeTransferredArrayBuffer):
(WebCore::V8ObjectMap::Serializer::Serializer):
(WebCore::V8ObjectMap::Serializer::writeAndGreyArrayBufferView):
(WebCore::V8ObjectMap::Serializer::writeArrayBuffer):
(WebCore::V8ObjectMap::Serializer::writeTransferredArrayBuffer):
(WebCore::V8ObjectMap::Serializer::doSerialize):
(WebCore::V8ObjectMap::Reader::read):
(WebCore::V8ObjectMap::Reader::readArrayBufferView):
(WebCore::V8ObjectMap::Deserializer::Deserializer):
(WebCore::V8ObjectMap::Deserializer::tryGetTransferredArrayBuffer):
(WebCore::SerializedScriptValue::create):
(WebCore::neuterBinding):
(WebCore::SerializedScriptValue::transferArrayBuffers):
(WebCore::SerializedScriptValue::SerializedScriptValue):
(WebCore::SerializedScriptValue::deserialize):
* bindings/v8/SerializedScriptValue.h:

LayoutTests:

Reviewed by David Levin.

* fast/canvas/webgl/arraybuffer-transfer-of-control-expected.txt: Added.
* fast/canvas/webgl/arraybuffer-transfer-of-control.html: Added.
* fast/canvas/webgl/script-tests/arraybuffer-transfer-of-control.js: Added.
(isTypedArray):
(isDataView):
(isArrayBuffer):
(assertBufferClosed):
(createBuffer):
(checkBuffer):
(createView):
(createEveryView):
(checkView):
(checkEmptyArray):
(wrapSend):
(wrapFailSend):
(testList.name.send):
(testList.test):
(.name.send):
(.test):
(testList.testList.concat.):
(viewAndBuffer.return.name.bufferType.0.send):
(viewAndBuffer.return.test):
():
(squashUnrelatedViews.return.name.bufferType.0.send):
(squashUnrelatedViews.return.test):
(squashUnrelatedViews):
(testList):
(doneTest):
(windowHandleMessage):
* fast/dom/Window/window-postmessage-args.html:
* platform/chromium/fast/dom/Window/window-postmessage-args-expected.txt:
* platform/gtk/Skipped: Skipped arraybuffer-transfer-of-control.js on JSC platfroms.
* platform/mac/Skipped: Skipped arraybuffer-transfer-of-control.js on JSC platfroms.
* platform/qt/Skipped: Skipped arraybuffer-transfer-of-control.js on JSC platfroms.
* platform/win/Skipped: Skipped arraybuffer-transfer-of-control.js on JSC platfroms.

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

8 years ago[Chromium] Test expectations:
scheib@chromium.org [Thu, 1 Dec 2011 17:55:40 +0000 (17:55 +0000)]
[Chromium] Test expectations:
http/tests/appcache/fail-on-update-2.html timing out on all platforms
detailed-heapshots-dominators-expansion-preserved-when-sorting.html timing out

* platform/chromium/test_expectations.txt:

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

8 years ago[WK2][GTK] Change default-font-size and default-monospace-font-size
commit-queue@webkit.org [Thu, 1 Dec 2011 17:49:27 +0000 (17:49 +0000)]
[WK2][GTK] Change default-font-size and default-monospace-font-size
https://bugs.webkit.org/show_bug.cgi?id=73468

Patch by Nayan Kumar K <nayankk@motorola.com> on 2011-12-01
Reviewed by Martin Robinson.

Set 'default-font-size' property value to 16px and 'default-monospace-font-size'
value to 13px.

* UIProcess/API/gtk/WebKitSettings.cpp:
(webkit_settings_class_init): Change the default font size settings.
* UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
(testWebKitSettings): Correct the test.

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

8 years agoShadow ID pseudo-element selectors serialize incorrectly
rolandsteiner@chromium.org [Thu, 1 Dec 2011 17:47:24 +0000 (17:47 +0000)]
Shadow ID pseudo-element selectors serialize incorrectly
https://bugs.webkit.org/show_bug.cgi?id=73542

Source/WebCore:

Avoid space for ShadowDescendant combinator.

Reviewed by Dimitri Glazkov.

* css/CSSSelector.cpp:
(WebCore::CSSSelector::selectorText):

LayoutTests:

Add test cases for complex selectors with shadow ID pseudo-elements.

Reviewed by Dimitri Glazkov.

* fast/css/css-selector-text-expected.txt:
* fast/css/css-selector-text.html:
* fast/css/css-set-selector-text-expected.txt:
* fast/css/css-set-selector-text.html:

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

8 years agoPopup menu can get stuck in closed state when GtkMenu can't grab mouse.
commit-queue@webkit.org [Thu, 1 Dec 2011 17:39:30 +0000 (17:39 +0000)]
Popup menu can get stuck in closed state when GtkMenu can't grab mouse.
https://bugs.webkit.org/show_bug.cgi?id=56466

Add a check if popup menu is not visible due to no mouse grab,
Ensure WebCore is in sync with proper state.

Patch by Wajahat Siddiqui <mdwajahatali.siddiqui@motorola.com> on 2011-12-01
Reviewed by Martin Robinson.

Source/WebCore:

* platform/gtk/PopupMenuGtk.cpp:
(WebCore::PopupMenuGtk::show):

Source/WebKit2:

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::failedToShowPopupMenu): Added Method to send message
to WebProcess.
* UIProcess/WebPageProxy.h:
* UIProcess/WebPopupMenuProxy.h:
* UIProcess/gtk/WebPopupMenuProxyGtk.cpp:
(WebKit::WebPopupMenuProxyGtk::showPopupMenu):
* WebProcess/WebCoreSupport/WebPopupMenu.h:
(WebKit::WebPopupMenu::client): Added Method to get WebCore::PopupMenuClient.
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::failedToShowPopupMenu):
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/WebPage.messages.in: Added Message to inform WebProcess ShowPopupMenu failed.

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

8 years ago[GTK] Buildslave switch from 32-bit Debug to 64-bit Release
philn@webkit.org [Thu, 1 Dec 2011 17:36:31 +0000 (17:36 +0000)]
[GTK] Buildslave switch from 32-bit Debug to 64-bit Release
https://bugs.webkit.org/show_bug.cgi?id=73547

Reviewed by Adam Roben.

* BuildSlaveSupport/build.webkit.org-config/config.json: Rename
the 32-bit Debug configuration to 64-bit Release. The new slave is
a 64-bit machine already. The 32-bit slave will be shut down.
bui# Source/WebCore/GNUmakefile.am.orig

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

8 years ago[GTK] build-jsc should not trigger gtkdoc generation
commit-queue@webkit.org [Thu, 1 Dec 2011 17:23:19 +0000 (17:23 +0000)]
[GTK] build-jsc should not trigger gtkdoc generation
https://bugs.webkit.org/show_bug.cgi?id=73552

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

Do not generate gtkdoc when building projects other than WebKit. In particular, this ensures
that build-jsc does not try to generate gtkdoc.

* Scripts/webkitdirs.pm:
(buildAutotoolsProject): Only generate gtkdoc if the project is "WebKit".

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

8 years agoWhen playing audio in <video>, the poster is hidden on play
eric.carlson@apple.com [Thu, 1 Dec 2011 16:59:32 +0000 (16:59 +0000)]
When playing audio in <video>, the poster is hidden on play
https://bugs.webkit.org/show_bug.cgi?id=73405

Reviewed by Darin Adler.

* html/HTMLVideoElement.cpp:
(WebCore::HTMLVideoElement::hasAvailableVideoFrame): Don't return true if the file
    doesn't have video.

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