WebKit-https.git
7 years agoUse testRunner instead of layoutTestController in networkinformation, perf, plugins...
rniwa@webkit.org [Fri, 15 Jun 2012 07:38:37 +0000 (07:38 +0000)]
Use testRunner instead of layoutTestController in networkinformation, perf, plugins, pointer-lock, printing, scrollbars, and security tests
https://bugs.webkit.org/show_bug.cgi?id=89181

Reviewed by Kent Tamura.

* perf/clone-with-focus.html:
* perf/nested-combined-selectors.html:
* perf/table-rows-length-caching.html:
* platform/chromium/plugins/call-as-function.html:
* platform/chromium/plugins/get-url-with-blank-target2.html:
* platform/chromium/plugins/get-url-with-iframe-target-no-crash.html:
* platform/chromium/printing/custom-page-size-style-expected.txt:
* platform/chromium/printing/custom-page-size-style.html:
* platform/gtk/plugins/invalidate-rect-with-null-npp-argument.html:
* platform/gtk/scrollbars/overflow-scrollbar-horizontal-wheel-scroll.html:
* platform/mac-wk2/plugins/contents-scale-factor.html:
* platform/mac-wk2/plugins/mouse-events-scaled.html:
* platform/mac/plugins/bindings-array-apply-crash.html:
* platform/mac/plugins/bindings-objc-long-method-name.html:
* platform/mac/plugins/bindings-objc-method-name-conversion.html:
* platform/mac/plugins/bindings-test-objc.html:
* platform/mac/plugins/call-as-function-test.html:
* platform/mac/plugins/convert-point.html:
* platform/mac/plugins/disable-plugins.html:
* platform/mac/plugins/jsobjc-dom-wrappers.html:
* platform/mac/plugins/jsobjc-simple.html:
* platform/mac/plugins/pluginDocumentView-deallocated-dataSource.html-disabled:
* platform/mac/plugins/root-object-premature-delete-crash.html:
* platform/mac/plugins/supports-carbon-event-model.html:
* platform/mac/plugins/testplugin-onnew-onpaint.html:
* platform/mac/plugins/throw-on-dealloc.html:
* platform/mac/plugins/undefined-property-crash.html:
* platform/mac/plugins/update-widget-from-style-recalc.html:
* platform/mac/plugins/webScriptObject-exception-deadlock.html:
* platform/mac/scrollbars/key-window-not-first-responder.html:
* platform/qt/plugins/application-plugin-plugins-disabled.html:
* platform/win/plugins/call-javascript-that-destroys-plugin.html:
* platform/win/plugins/get-value-netscape-window.html:
* platform/win/plugins/iframe-inside-overflow.html:
* platform/win/plugins/npn-invalidate-rect-invalidates-window.html:
* platform/win/plugins/visibility-hidden.html:
* platform/win/plugins/window-geometry-initialized-before-set-window.html:
* platform/win/plugins/window-region-is-set-to-clip-rect.html:
* platform/win/plugins/windowless-paint-rect-coordinates.html:
* plugins/:
* pointer-lock/lock-fail-responses-expected.txt:
* pointer-lock/lock-fail-responses.html:
* pointer-lock/pointer-lock-api.html:
* pointer-lock/pointerlockchange-pointerlockerror-events-expected.txt:
* pointer-lock/pointerlockchange-pointerlockerror-events.html:
* pointer-lock/pointerlocklost-event-expected.txt:
* pointer-lock/pointerlocklost-event.html:
* printing/compositing-layer-printing.html:
* printing/css2.1/README.txt:
* printing/css2.1/page-break-after-000.html:
* printing/css2.1/page-break-after-001.html:
* printing/css2.1/page-break-after-002.html:
* printing/css2.1/page-break-after-003.html:
* printing/css2.1/page-break-after-004.html:
* printing/css2.1/page-break-before-000.html:
* printing/css2.1/page-break-before-001.html:
* printing/css2.1/page-break-before-002.html:
* printing/css2.1/page-break-inside-000.html:
* printing/iframe-print.html:
* printing/media-queries-print.html:
* printing/numberOfPages-expected.txt:
* printing/page-count-layout-overflow.html:
* printing/page-count-relayout-shrink.html:
* printing/page-count-with-one-word.html:
* printing/page-format-data-display-none.html:
* printing/page-format-data-expected.txt:
* printing/page-format-data.html:
* printing/page-rule-css-text.html:
* printing/page-rule-in-media-query.html:
* printing/page-rule-selection-expected.txt:
* printing/page-rule-selection.html:
* printing/pageNumerForElementById-expected.txt:
* printing/print-close-crash.html:
* printing/pseudo-class-outside-page.html:
* printing/resources/paged-media-test-utils.js:
(pageNumberForElementShouldBe):
(numberOfPagesShouldBe):
(runPrintingTest):
* printing/return-from-printing-mode.html:
* printing/script-tests/numberOfPages.js:
* printing/script-tests/pageNumerForElementById.js:
* printing/setPrinting.html:
* printing/simultaneous-position-float-change.html:
* printing/single-line-must-not-be-split-into-two-pages.html:
* printing/width-overflow.html:
* printing/zoomed-document.html:
* scrollbars/hidden-iframe-scrollbar-crash.html:
* scrollbars/hidden-iframe-scrollbar-crash2.html:
* scrollbars/hidden-scrollbar-prevents-layout.html:
* scrollbars/overflow-custom-scrollbar-crash.html:
* scrollbars/resources/hidden-iframe-scrollbar-crash2.html:
* scrollbars/scroll-rtl-or-bt-layer.html:
* scrollbars/scrollable-iframe-remove-crash.html:
* scrollbars/scrollbar-click-does-not-blur-content.html:
* scrollbars/scrollbar-crash-on-refresh.html:
* scrollbars/scrollbar-drag-thumb-with-large-content.html:
* scrollbars/scrollbar-gradient-crash.html:
* scrollbars/scrollbar-iframe-click-does-not-blur-content.html:
* scrollbars/scrollbar-initial-position.html:
* scrollbars/scrollbar-middleclick-nopaste.html:
* scrollbars/scrollbar-miss-mousemove-disabled.html:
* scrollbars/scrollbar-miss-mousemove.html:
* scrollbars/scrollbar-owning-renderer-crash.html:
* scrollbars/scrollbar-part-created-with-no-parent-crash.html:
* scrollbars/scrollbar-percent-padding-crash.html:
* scrollbars/scrollbar-scrollbarparts-repaint-crash.html:
* scrollbars/scrollevent-iframe-no-scrolling-wheel.html:
* scrollbars/scrollevent-iframe-no-scrolling.html:
* security/autocomplete-cleared-on-back.html:
* security/block-test-no-port.html:
* security/block-test.html:
* security/set-form-autocomplete-attribute.html:

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

7 years agoUse testRunner instead of layoutTestController in ietestcenter, inspector, java,...
rniwa@webkit.org [Fri, 15 Jun 2012 07:33:22 +0000 (07:33 +0000)]
Use testRunner instead of layoutTestController in ietestcenter, inspector, java, jquery, loader, mathml, media, and mhtml tests
https://bugs.webkit.org/show_bug.cgi?id=89176

Reviewed by Kent Tamura.

* ietestcenter/css3/bordersbackgrounds/background-attachment-local-scrolling.htm:
* inspector/audits/resources/audits-style1.css:
* inspector/console/console-long-eval-crash.html:
* inspector/extensions/extensions-audits-content-script.html:
* inspector/extensions/extensions-eval-content-script.html:
* inspector/profiler/cpu-profiler-profiling-without-inspector.html:
* inspector/timeline/timeline-animation-frame.html:
* inspector/timeline/timeline-paint.html:
* inspector/timeline/timeline-receive-response-event.html:
* inspector/timeline/timeline-timer.html:
* java/argument-to-object-type.html:
* java/array-return.html:
* java/array-sort.html:
* java/embedding-java-with-object.html:
* java/inaccessible-class.html:
* java/inline-applet-crash.html:
* java/java-and-plugins.html:
* java/lc3/:
* jquery/resources/helper.js:
* loader/go-back-to-different-window-size.html:
* loader/load-defer-resume-crash.html:
* loader/navigation-while-deferring-loads.html:
* loader/reload-subresource-when-type-changes.html:
* mathml/EmptyMFracCrash.xhtml:
* mathml/EmptyMunderOverCrash.xhtml:
* mathml/empty-mroot-crash.xhtml:
* mathml/empty-msubsup-crash.html:
* mathml/fenced-whitespace-separators-crash.html:
* mathml/msub-anonymous-child-render-crash.html:
* mathml/msubsup-no-grandchild.xhtml:
* mathml/msubsup-remove-children.xhtml:
* mathml/munderover-remove-children.html:
* mathml/operator-hijacks-fenced-node.xhtml:
* mathml/wbr-in-mroot-crash.html:
* media/W3C/w3cwrapper.js:
(test):
(async_test.t.done):
(async_test):
* media/adopt-node-crash.html:
* media/audio-controls-do-not-fade-out.html:
* media/audio-controls-rendering.html:
* media/audio-delete-while-slider-thumb-clicked.html:
* media/audio-delete-while-step-button-clicked.html:
* media/audio-garbage-collect.html:
* media/audio-no-installed-engines.html:
* media/audio-only-video-intrinsic-size.html:
* media/audio-repaint.html:
* media/context-menu-actions.html:
* media/controls-after-reload.html:
* media/controls-drag-timebar.html:
* media/controls-layout-direction.html:
* media/controls-right-click-on-timebar.html:
* media/controls-without-preload.html:
* media/crash-closing-page-with-media-as-plugin-fallback.html:
* media/fallback.html:
* media/media-blocked-by-beforeload.html:
* media/media-blocked-by-willsendrequest.html:
* media/media-controls-clone-crash.html:
* media/media-controls-invalid-url.html:
* media/media-document-audio-repaint.html:
* media/media-document-audio-size.html:
* media/media-fullscreen.js:
(canplaythrough):
* media/media-volume-slider-rendered-normal.html:
* media/no-auto-play-in-sandbox.html:
* media/remove-from-document-before-load.html:
* media/resources/foreignobject-media.svg:
* media/restore-from-page-cache.html:
* media/svg-as-image-with-media-blocked.html:
* media/video-beforeload-remove-source.html:
* media/video-canvas-alpha.html:
* media/video-canvas.html-disabled:
* media/video-click-dblckick-standalone.html:
* media/video-controls-in-media-document.html:
* media/video-controls-no-scripting.html:
* media/video-controls-toggling.html:
* media/video-controls-visible-audio-only.html:
* media/video-controls-with-mutation-event-handler.html:
* media/video-delay-load-event.html:
* media/video-display-toggle.html:
* media/video-document-types.html:
* media/video-element-other-namespace-crash.html:
* media/video-empty-source.html:
* media/video-no-audio.html:
* media/video-paint-test.js:
(init.waitForMultipleEvents):
(initAndPause.waitForMultipleEvents):
(initAndPause):
* media/video-plays-past-end-of-test.html:
* media/video-poster-blocked-by-willsendrequest.html:
* media/video-replaces-poster.html:
* media/video-source-inserted.html:
* media/video-test.js:
(endTest):
* media/video-volume-slider.html:
* media/video-zoom.html:
* mhtml/check_domain.mht:
* mhtml/multi_frames.html_original:
* mhtml/multi_frames_binary.mht:
* mhtml/multi_frames_ie.mht:
* mhtml/multi_frames_unmht.mht:
* mhtml/page_with_css_and_js_ie.mht:
* mhtml/page_with_css_and_js_unmht.mht:
* mhtml/page_with_image.html_original:
* mhtml/page_with_image_ie.mht:
* mhtml/page_with_image_unmht.mht:
* mhtml/simple_page.html_original:
* mhtml/simple_page_ie.mht:
* mhtml/simple_page_unmht.mht:
* networkinformation/resources/event-after-navigation-new.html:
* networkinformation/script-tests/event-after-navigation.js:
* platform/chromium/media/video-frame-size-change.html:

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

7 years agoUnreviewed chromium win and mac rebaseline for r120403.
eae@chromium.org [Fri, 15 Jun 2012 07:22:34 +0000 (07:22 +0000)]
Unreviewed chromium win and mac rebaseline for r120403.

* platform/chromium-mac-leopard/svg/zoom/page/zoom-svg-through-object-with-absolute-size-2-expected.png:
* platform/chromium-mac-leopard/svg/zoom/page/zoom-svg-through-object-with-absolute-size-expected.png:
* platform/chromium-mac-leopard/svg/zoom/page/zoom-svg-through-object-with-percentage-size-expected.png:
* platform/chromium-mac-snowleopard/svg/zoom/page/zoom-svg-through-object-with-absolute-size-2-expected.png:
* platform/chromium-mac-snowleopard/svg/zoom/page/zoom-svg-through-object-with-absolute-size-expected.png:
* platform/chromium-mac-snowleopard/svg/zoom/page/zoom-svg-through-object-with-percentage-size-expected.png:
* platform/chromium-mac/svg/zoom/page/zoom-svg-through-object-with-absolute-size-2-expected.png:
* platform/chromium-mac/svg/zoom/page/zoom-svg-through-object-with-absolute-size-2-expected.txt:
* platform/chromium-mac/svg/zoom/page/zoom-svg-through-object-with-absolute-size-expected.png:
* platform/chromium-mac/svg/zoom/page/zoom-svg-through-object-with-absolute-size-expected.txt:
* platform/chromium-mac/svg/zoom/page/zoom-svg-through-object-with-percentage-size-expected.png:
* platform/chromium-mac/svg/zoom/page/zoom-svg-through-object-with-percentage-size-expected.txt:
* platform/chromium-win/svg/zoom/page/zoom-svg-through-object-with-absolute-size-2-expected.png:
* platform/chromium-win/svg/zoom/page/zoom-svg-through-object-with-absolute-size-2-expected.txt:
* platform/chromium-win/svg/zoom/page/zoom-svg-through-object-with-absolute-size-expected.png:
* platform/chromium-win/svg/zoom/page/zoom-svg-through-object-with-absolute-size-expected.txt:
* platform/chromium-win/svg/zoom/page/zoom-svg-through-object-with-percentage-size-expected.png:
* platform/chromium-win/svg/zoom/page/zoom-svg-through-object-with-percentage-size-expected.txt:
* platform/chromium/TestExpectations:

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

7 years agoAdd fullscreen button to Chrome video controls for video.
commit-queue@webkit.org [Fri, 15 Jun 2012 07:19:53 +0000 (07:19 +0000)]
Add fullscreen button to Chrome video controls for video.
https://bugs.webkit.org/show_bug.cgi?id=88818

Patch by Silvia Pfeiffer <silviapf@chromium.org> on 2012-06-15
Reviewed by Eric Carlson.

No new tests, final patch will contain the rebaselined tests.

The Chrome video controls are receiving a visual update.
This patch includes a fullscreen button for video elements and the rendering of the controls
in fullscreen including hiding them after 2 seconds when the mouse is out of the controls
and not moved.

* css/fullscreen.css:
(video:-webkit-full-screen, audio:-webkit-full-screen):
Add audio to the default fullscreen styling rules.
* css/mediaControlsChromium.css:
(video:-webkit-full-page-media::-webkit-media-controls-panel):
Align controls to the bottom of the fullscreen page.
(audio::-webkit-media-controls-fullscreen-button, video::-webkit-media-controls-fullscreen-button):
Include styling for the fullscreen button.
* html/shadow/MediaControlRootElementChromium.cpp:
(WebCore):
Add a constant for when to hide the controls in fullscreen.
(WebCore::MediaControlRootElementChromium::MediaControlRootElementChromium):
Add member fields for fullscreen button, hiding timer and tracking of whether we are in fullscreen.
(WebCore::MediaControlRootElementChromium::create):
Add fullscreen button element to the visual layout.
(WebCore::MediaControlRootElementChromium::setMediaController):
Add fullscreen button element to the media controller.
(WebCore::MediaControlRootElementChromium::reset):
Show the fullscreen button if the controller supports fullscreen.
(WebCore::MediaControlRootElementChromium::playbackStarted):
Start the timer to hide the controls in fullscreen.
(WebCore::MediaControlRootElementChromium::playbackStopped):
Don't hide the controls when the video is paused in fullscreen.
(WebCore::MediaControlRootElementChromium::reportedError):
Hide the fullscreen button when we hit an error.
(WebCore::MediaControlRootElementChromium::defaultEventHandler):
Add logic for mouse events in fullscreen to start/stop the hiding timer.
(WebCore::MediaControlRootElementChromium::startHideFullscreenControlsTimer):
Start the fullscreen hiding timer.
(WebCore::MediaControlRootElementChromium::hideFullscreenControlsTimerFired):
Timer fired: hide the video controls in fullscreen.
(WebCore::MediaControlRootElementChromium::stopHideFullscreenControlsTimer):
Reset the fullscreen hiding timer.
(WebCore::MediaControlRootElementChromium::enteredFullscreen):
Add logic to enter fullscreen.
(WebCore::MediaControlRootElementChromium::exitedFullscreen):
Add logic to exit fullscreen.
* html/shadow/MediaControlRootElementChromium.h:
(MediaControlRootElementChromium):
Add declaration of member functions and fields for fullscreen.
* rendering/RenderMediaControlsChromium.cpp:
(WebCore::paintMediaFullscreenButton):
Use the new image for the fullscreen button.
* rendering/RenderThemeChromiumMac.h:
(RenderThemeChromiumMac):
Declare the fullscreen painting function for Chrome Mac.
* rendering/RenderThemeChromiumMac.mm:
(WebCore::RenderThemeChromiumMac::paintMediaFullscreenButton):
Hook up the fullscreen paining function for Chrome Mac.
* rendering/RenderThemeChromiumSkia.cpp:
(WebCore::RenderThemeChromiumSkia::paintMediaFullscreenButton):
Hook up the fullscreen paining function for Chrome Skia.
* rendering/RenderThemeChromiumSkia.h:
(RenderThemeChromiumSkia):
Declare the fullscreen painting function for Chrome Skia.

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

7 years agoUnreviewed, rolling out r110340.
tkent@chromium.org [Fri, 15 Jun 2012 07:13:35 +0000 (07:13 +0000)]
Unreviewed, rolling out r110340.
http://trac.webkit.org/changeset/110340
https://bugs.webkit.org/show_bug.cgi?id=88749

Source/WebCore:

r110340 added a broken implementation of
HTMLSelectElement::selectedOptions. This roll out removes
HTMLSelectElement::selectedOptions.

* html/CollectionType.h:
* html/HTMLCollection.cpp:
(WebCore::HTMLCollection::shouldIncludeChildren):
(WebCore::HTMLCollection::isAcceptableElement):
* html/HTMLSelectElement.cpp:
* html/HTMLSelectElement.h:
(HTMLSelectElement):
* html/HTMLSelectElement.idl:

LayoutTests:

* fast/dom/HTMLSelectElement/select-selectedOptions-expected.txt: Removed.
* fast/dom/HTMLSelectElement/select-selectedOptions.html: Removed.

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

7 years agoUnreviewed typo fix for r120405.
morrita@google.com [Fri, 15 Jun 2012 07:11:00 +0000 (07:11 +0000)]
Unreviewed typo fix for r120405.

* platform/chromium/TestExpectations:

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

7 years agoAdd color property to input type=range
keishi@webkit.org [Fri, 15 Jun 2012 06:52:53 +0000 (06:52 +0000)]
Add color property to input type=range
https://bugs.webkit.org/show_bug.cgi?id=89067

Reviewed by Kent Tamura.

Source/WebCore:

Adding color property to input type=range in preparation for
supporting tick marks for datalist for input type=range.

* css/html.css:
(input[type="range"]): Setting color property for input type=range.
This will set the color of tick mark when we implement <datalist>.
* css/themeChromiumLinux.css:
(input[type=range]):
* css/themeWin.css:
(input[type="range"]):

LayoutTests:

* fast/dom/HTMLInputElement/input-slider-update-styled-expected.txt:
* fast/repaint/slider-thumb-float-expected.txt:
* platform/chromium-linux/fast/dom/HTMLInputElement/input-slider-update-expected.txt: Copied from LayoutTests/platform/chromium-win/fast/dom/HTMLInputElement/input-slider-update-expected.txt.
* platform/chromium-linux/fast/dom/HTMLInputElement/input-slider-update-styled-expected.txt: Copied from LayoutTests/fast/dom/HTMLInputElement/input-slider-update-styled-expected.txt.
* platform/chromium-linux/fast/forms/box-shadow-override-expected.txt:
* platform/chromium-linux/fast/forms/input-appearance-height-expected.txt:
* platform/chromium-linux/fast/forms/range/slider-thumb-stylability-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/range/slider-thumb-stylability-expected.txt.
* platform/chromium-linux/fast/repaint/slider-thumb-drag-release-expected.txt: Copied from LayoutTests/platform/chromium-win/fast/repaint/slider-thumb-drag-release-expected.txt.
* platform/chromium-linux/fast/repaint/slider-thumb-float-expected.txt: Copied from LayoutTests/fast/repaint/slider-thumb-float-expected.txt.
* platform/chromium-mac/fast/forms/box-shadow-override-expected.txt:
* platform/chromium-mac/fast/forms/input-appearance-height-expected.txt:
* platform/chromium-mac/fast/forms/range/input-appearance-range-expected.txt:
* platform/chromium-win/fast/dom/HTMLInputElement/input-slider-update-expected.txt:
* platform/chromium-win/fast/forms/box-shadow-override-expected.txt:
* platform/chromium-win/fast/forms/input-appearance-height-expected.txt:
* platform/chromium-win/fast/forms/range/input-appearance-range-expected.txt:
* platform/chromium-win/fast/forms/range/range-thumb-height-percentage-expected.txt:
* platform/chromium-win/fast/forms/range/slider-padding-expected.txt:
* platform/chromium-win/fast/forms/range/slider-thumb-shared-style-expected.txt:
* platform/chromium-win/fast/forms/range/slider-thumb-stylability-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/range/slider-thumb-stylability-expected.txt.
* platform/chromium-win/fast/repaint/slider-thumb-drag-release-expected.txt:
* platform/mac/fast/dom/HTMLInputElement/input-slider-update-expected.txt:
* platform/mac/fast/forms/range/range-thumb-height-percentage-expected.txt:
* platform/mac/fast/forms/range/slider-padding-expected.txt:
* platform/mac/fast/forms/range/slider-thumb-shared-style-expected.txt:
* platform/mac/fast/forms/range/slider-thumb-stylability-expected.txt:
* platform/mac/fast/repaint/slider-thumb-drag-release-expected.txt:

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

7 years agoSupport file extensions in HTMLInputElement::accept
tkent@chromium.org [Fri, 15 Jun 2012 06:38:25 +0000 (06:38 +0000)]
Support file extensions in HTMLInputElement::accept
https://bugs.webkit.org/show_bug.cgi?id=88298

Reviewed by Hajime Morita.

Source/WebCore:

The WHATWG specification added file extensions supoprt for
HTMLInputElement::accept recently.

In the WebCore FileChooser interface, we rejected invalid MIME type
strings in HTMLInputElement::acceptMIMETypes(), and platform file
choosers don't expect that it containts file extensions. So, this patch
introduces additional member "acceptFileExtensions" to
FileChooserSettings, and it contains only file extensions specified by
an accept attribute.

* html/FileInputType.cpp:
Sets HTMLInputElement::acceptFileExtensions() to
FileChooserSettings::acceptFileExtensions.
(WebCore::FileInputType::handleDOMActivateEvent):
(WebCore::FileInputType::receiveDropForDirectoryUpload):
* html/HTMLInputElement.cpp:
(WebCore::isValidFileExtension): Added.
(WebCore::parseAcceptAttribute):
Common part for acceptMIMETyps() and acceptFileExtensions().
(WebCore::HTMLInputElement::acceptMIMETypes):
Uses parseAcceptAttribute() with isValidMIMEType().
(WebCore::HTMLInputElement::acceptFileExtensions):
Added. Uses parseAcceptAttribute() with isValidFileExtension().
* html/HTMLInputElement.h:
(HTMLInputElement): Add acceptFileExtensions().
* platform/FileChooser.h:
(FileChooserSettings): Add acceptFileExtensions and acceptTypes().
* platform/FileChooser.cpp:
(WebCore::FileChooserSettings::acceptTypes): Added.

Source/WebKit/chromium:

* src/ChromeClientImpl.cpp:
(WebKit::ChromeClientImpl::runOpenPanel):
Use FileChooserSettings::acceptTypes() to get both of MIME types and file extensions.

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

7 years agoUnreviewed rebaseline for mac chromium following r120403.
eae@chromium.org [Fri, 15 Jun 2012 06:35:42 +0000 (06:35 +0000)]
Unreviewed rebaseline for mac chromium following r120403.

* platform/chromium-mac/tables/mozilla/bugs/bug55527-expected.txt: Removed.

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

7 years agoRemove support for counterValueForElementById from chromium port
kaustubh@motorola.com [Fri, 15 Jun 2012 06:33:25 +0000 (06:33 +0000)]
Remove support for counterValueForElementById from chromium port
https://bugs.webkit.org/show_bug.cgi?id=88851

Reviewed by Adam Barth.

Moved the counterValueForElementById from LayoutTestCotroller to Internals so
remove the old platform specific implementations as it exclusively tests WebCore functionality.

* public/WebFrame.h:
(WebFrame):
* src/WebFrameImpl.cpp:
(WebKit):
* src/WebFrameImpl.h:
(WebFrameImpl):

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

7 years agoUse testRunner instead of layoutTestController in battery status and canvas tests
rniwa@webkit.org [Fri, 15 Jun 2012 06:23:21 +0000 (06:23 +0000)]
Use testRunner instead of layoutTestController in battery status and canvas tests
https://bugs.webkit.org/show_bug.cgi?id=88761

Reviewed by Tony Chang.

* batterystatus/resources/event-after-navigation-new.html:
* batterystatus/script-tests/event-after-navigation.js:
* canvas/philip/tests.js:
(_addTest.endTest):
(_addTest.window.onload):
(_addTest):
* canvas/philip/tests/2d.text-custom-font-load-crash.html:

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

7 years ago[chromium] Remove unused CanvasLayerChromium.h/cpp from the tree
commit-queue@webkit.org [Fri, 15 Jun 2012 06:18:18 +0000 (06:18 +0000)]
[chromium] Remove unused CanvasLayerChromium.h/cpp from the tree
https://bugs.webkit.org/show_bug.cgi?id=89152

Patch by James Robinson <jamesr@chromium.org> on 2012-06-14
Reviewed by Adrienne Walker.

These files have been unused and not in the build system since r119769

* platform/graphics/chromium/CanvasLayerChromium.cpp: Removed.
* platform/graphics/chromium/CanvasLayerChromium.h: Removed.

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

7 years agoCast paddings to int in RenderTableCell
morrita@google.com [Fri, 15 Jun 2012 06:17:57 +0000 (06:17 +0000)]
Cast paddings to int in RenderTableCell
https://bugs.webkit.org/show_bug.cgi?id=88918

Patch by Emil A Eklund <eae@chromium.org> on 2012-06-14
Reviewed by Levi Weintraub.

Add test ensuring that table cells does not wrap when using fractional
paddings.

* fast/sub-pixel/table-cells-with-padding-do-not-wrap-expected.txt: Added.
* fast/sub-pixel/table-cells-with-padding-do-not-wrap.html: Added.
* platform/chromium-linux/svg/zoom/page/zoom-svg-through-object-with-absolute-size-2-expected.png:
* platform/chromium-linux/svg/zoom/page/zoom-svg-through-object-with-absolute-size-2-expected.txt:
* platform/chromium-linux/svg/zoom/page/zoom-svg-through-object-with-absolute-size-expected.png:
* platform/chromium-linux/svg/zoom/page/zoom-svg-through-object-with-absolute-size-expected.txt:
* platform/chromium-linux/svg/zoom/page/zoom-svg-through-object-with-percentage-size-expected.png:
* platform/chromium-linux/svg/zoom/page/zoom-svg-through-object-with-percentage-size-expected.txt:
* platform/chromium-linux/tables/mozilla_expected_failures/bugs/bug89315-expected.png:
* platform/chromium-win/tables/mozilla_expected_failures/bugs/bug89315-expected.txt:
* platform/chromium/TestExpectations:

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

7 years ago[BlackBerry] Selection - Crash when manipulating selection by dragging handle
commit-queue@webkit.org [Fri, 15 Jun 2012 06:16:14 +0000 (06:16 +0000)]
[BlackBerry] Selection - Crash when manipulating selection by dragging handle
https://bugs.webkit.org/show_bug.cgi?id=89160

RIMBUG:164970
Avoid to set position in shadow tree to the new selection's base. It
crashes when setting a shadow position to a selection' base.

Patch by Sean Wang <Xuewen.Wang@torchmobile.com.cn> on 2012-06-14
Reviewed by Antonio Gomes.

* WebKitSupport/SelectionHandler.cpp:
(BlackBerry::WebKit::visiblePositionForPointIgnoringClipping):

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

7 years agoCast paddings to int in RenderTableCell
eae@chromium.org [Fri, 15 Jun 2012 06:07:24 +0000 (06:07 +0000)]
Cast paddings to int in RenderTableCell
https://bugs.webkit.org/show_bug.cgi?id=88918

Reviewed by Levi Weintraub.

Source/WebCore:

Table layout uses integers throughout yet the TableCell paddingLeft/
Right/Top/Bottom methods returns LayoutUnits. This causes inconsistent
rounding as some call sites cast the numbers to ints before doing
computation and others do computation before casting.

By changing the methods to always cast the padding values to int we
ensure consistent padding calculations.

Ideally we'd change the type of the return value for the methods but as
they are overriden that would likely cause more confusion.

Test: fast/sub-pixel/table-cells-with-padding-do-not-wrap.html

* rendering/RenderTableCell.cpp:
(WebCore::RenderTableCell::paddingTop):
(WebCore::RenderTableCell::paddingBottom):
(WebCore::RenderTableCell::paddingLeft):
(WebCore::RenderTableCell::paddingRight):
(WebCore::RenderTableCell::paddingBefore):
(WebCore::RenderTableCell::paddingAfter):

LayoutTests:

Add test ensuring that table cells does not wrap when using fractional
paddings.

* fast/sub-pixel/table-cells-with-padding-do-not-wrap-expected.txt: Added.
* fast/sub-pixel/table-cells-with-padding-do-not-wrap.html: Added.
* platform/chromium-linux/svg/zoom/page/zoom-svg-through-object-with-absolute-size-2-expected.png:
* platform/chromium-linux/svg/zoom/page/zoom-svg-through-object-with-absolute-size-2-expected.txt:
* platform/chromium-linux/svg/zoom/page/zoom-svg-through-object-with-absolute-size-expected.png:
* platform/chromium-linux/svg/zoom/page/zoom-svg-through-object-with-absolute-size-expected.txt:
* platform/chromium-linux/svg/zoom/page/zoom-svg-through-object-with-percentage-size-expected.png:
* platform/chromium-linux/svg/zoom/page/zoom-svg-through-object-with-percentage-size-expected.txt:
* platform/chromium-linux/tables/mozilla_expected_failures/bugs/bug89315-expected.png:
* platform/chromium-win/tables/mozilla_expected_failures/bugs/bug89315-expected.txt:
* platform/chromium/TestExpectations:

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

7 years ago[Chromium] Check the result of FontCache::getCachedFontPlatformData()
bashi@chromium.org [Fri, 15 Jun 2012 05:55:42 +0000 (05:55 +0000)]
[Chromium] Check the result of FontCache::getCachedFontPlatformData()
https://bugs.webkit.org/show_bug.cgi?id=89141

Reviewed by Kent Tamura.

The value of FontCache::getCachedFontPlatformData() could be invalid,
so we should check the value before use it.

No new tests. No new functionality.

* platform/graphics/skia/FontCacheSkia.cpp:
(WebCore::FontCache::getFontDataForCharacters):

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

7 years agoFix framebuffer completeness test
commit-queue@webkit.org [Fri, 15 Jun 2012 05:53:52 +0000 (05:53 +0000)]
Fix framebuffer completeness test
https://bugs.webkit.org/show_bug.cgi?id=89127

Patch by Gregg Tavares <gman@google.com> on 2012-06-14
Reviewed by Kenneth Russell.

No new tests just fixing failing tests.

* html/canvas/WebGLFramebuffer.cpp:
(WebCore::WebGLFramebuffer::initializeAttachments):
* html/canvas/WebGLRenderingContext.cpp:
(WebCore):
(WebCore::WebGLRenderingContext::isTexInternalFormatColorBufferCombinationValid):
* platform/graphics/GraphicsContext3D.cpp:
(WebCore::GraphicsContext3D::getClearBitsByAttachmentType):
(WebCore):
(WebCore::GraphicsContext3D::getClearBitsByFormat):
(WebCore::GraphicsContext3D::getChannelBitsByFormat):
* platform/graphics/GraphicsContext3D.h:

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

7 years agoUnreviewed expectation update.
morrita@google.com [Fri, 15 Jun 2012 05:29:54 +0000 (05:29 +0000)]
Unreviewed expectation update.
- Marked cross-domain-message-event-dispatch.html and track-cue-rendering-snap-to-lines-not-set.html

* platform/chromium/TestExpectations:

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

7 years ago[BlackBerry] empty plugin cause browser hang
mary.wu@torchmobile.com.cn [Fri, 15 Jun 2012 05:24:21 +0000 (05:24 +0000)]
[BlackBerry] empty plugin cause browser hang
https://bugs.webkit.org/show_bug.cgi?id=89091

Reviewed by Rob Buis.

Add check before clean pluginView in FrameLoaderBlackBerry in case
it didn't have any content.
RIM PR# 165336
Reviewed internally by George Staikos

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

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

7 years ago[chromium] Make TiledLayerChromium robust to unexpected null tiles
enne@google.com [Fri, 15 Jun 2012 04:59:37 +0000 (04:59 +0000)]
[chromium] Make TiledLayerChromium robust to unexpected null tiles
https://bugs.webkit.org/show_bug.cgi?id=89143

Reviewed by James Robinson.

Although there shouldn't ever be null tiles in the map, it appears to
be occurring frequently enough to show up in crash reports. In the
short term, be robust to this so the tiler doesn't crash. This should
eventually be reverted.

* platform/graphics/chromium/TiledLayerChromium.cpp:
(WebCore::TiledLayerChromium::pushPropertiesTo):
(WebCore::TiledLayerChromium::setLayerTreeHost):
(WebCore::TiledLayerChromium::invalidateRect):
(WebCore::TiledLayerChromium::updateTiles):
(WebCore::TiledLayerChromium::resetUpdateState):

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

7 years agoValidate form state strings in FormController::setStateForNewFormElements()
tkent@chromium.org [Fri, 15 Jun 2012 04:34:25 +0000 (04:34 +0000)]
Validate form state strings in FormController::setStateForNewFormElements()
https://bugs.webkit.org/show_bug.cgi?id=88768

Reviewed by Hajime Morita.

.:

* Source/autotools/symbols.filter: Expose some symbols used by Internals.cpp.

Source/WebCore:

Reject invalid form state vectors. This state vectors are generated by
WebKit itself. However it can be invalid because
- Serialized state vectors can be corrupted
- A future version of WebKit might change the format

So we had better reject unexpected state vectors as possible.

Test: fast/forms/state-restore-broken-state.html

* WebCore.exp.in: Expose some symbols used by Internals.cpp.
* html/FormController.cpp:
(WebCore::isNotFormControlTypeCharacter): A helper for state validation.
(WebCore::FormController::setStateForNewFormElements):
Reject state vectors of which size is not a multiple of 3, or a type name is invalid.
* testing/Internals.cpp:
(WebCore::Internals::formControlStateOfPreviousHistoryItem):
Returns a form state vector of the previous document.
(WebCore::Internals::setFormControlStateOfPreviousHistoryItem):
Sets a form state vector for the previous document.
* testing/Internals.h: Declare new functions.
* testing/Internals.idl: ditto.

Source/WebKit2:

* win/WebKit2.def: Expose some symbols used by Internals.cpp.
* win/WebKit2CFLite.def: ditto.

LayoutTests:

* fast/forms/resources/state-restore-broken-state-1.html: Added.
* fast/forms/resources/state-restore-broken-state-2.html: Added.
* fast/forms/state-restore-broken-state-expected.txt: Added.
* fast/forms/state-restore-broken-state.html: Added.

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

7 years agoUnreviewed, rolling out r120393.
commit-queue@webkit.org [Fri, 15 Jun 2012 04:21:38 +0000 (04:21 +0000)]
Unreviewed, rolling out r120393.
http://trac.webkit.org/changeset/120393
https://bugs.webkit.org/show_bug.cgi?id=89163

breaks cr-mac build (Requested by morrita on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-06-14

Source/WebCore:

* WebCore.gyp/WebCore.gyp:
* platform/image-decoders/ImageDecoder.h:
(ImageFrame):
(ImageDecoder):
* platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
(turboSwizzled):
(WebCore::JPEGImageReader::JPEGImageReader):
(WebCore::JPEGImageReader::close):
(WebCore::JPEGImageReader::decode):
(JPEGImageReader):
(WebCore::JPEGImageDecoder::outputScanlines):
* platform/image-decoders/png/PNGImageDecoder.cpp:
(WebCore::PNGImageReader::PNGImageReader):
(WebCore::PNGImageReader::close):
(WebCore::PNGImageReader::currentBufferSize):
(PNGImageReader):
(WebCore::PNGImageReader::decodingSizeOnly):
(WebCore::PNGImageReader::interlaceBuffer):
(WebCore::PNGImageReader::hasAlpha):
(WebCore::PNGImageReader::setHasAlpha):
(WebCore::PNGImageDecoder::headerAvailable):
(WebCore::PNGImageDecoder::rowAvailable):
* platform/image-decoders/skia/ImageDecoderSkia.cpp:
(WebCore):
(WebCore::resolveColorSpace):
(WebCore::createColorSpace):
(WebCore::ImageFrame::setColorProfile):
(WebCore::ImageFrame::setStatus):

Source/WTF:

* wtf/Platform.h:

LayoutTests:

* platform/chromium/TestExpectations:

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

7 years agoRenderLayer subtrees without any self-painting layer shouldn't be walked during painting
jchaffraix@webkit.org [Fri, 15 Jun 2012 04:17:39 +0000 (04:17 +0000)]
RenderLayer subtrees without any self-painting layer shouldn't be walked during painting
https://bugs.webkit.org/show_bug.cgi?id=88888

Reviewed by Simon Fraser.

Performance optimization, covered by existing tests.

The gist of this change is to add a has-self-painting-layer-descendant flag (including an
invalidation logic) that is used to avoid walking subtrees without any self-painting layer.

On http://dglazkov.github.com/performance-tests/biggrid.html with a 100,000 rows
by 100 columns table, it brings the paint time during scrolling from ~45ms to ~6ms
on my machine. The test case is a pathologic example here but the optimization should
apply in other cases.

The new update logic piggy-backs on top of the existing updateVisibilityStatus() one that
got repurposed and renamed as part of this change.

* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::RenderLayer):
(WebCore::RenderLayer::addChild):
(WebCore::RenderLayer::removeChild):
(WebCore::RenderLayer::styleChanged):
These functions were updated to dirty / set the new flag.

(WebCore::RenderLayer::dirtyAncestorChainHasSelfPaintingLayerDescendantStatus):
(WebCore::RenderLayer::setAncestorChainHasSelfPaintingLayerDescendant):
Added those functions to handle setting / invalidating the new flag.

(WebCore::RenderLayer::updateSelfPaintingLayerAfterStyleChange):
Added this function to handle style update.

(WebCore::RenderLayer::paintLayer):
(WebCore::RenderLayer::paintLayerContentsAndReflection):
(WebCore::RenderLayer::paintLayerContents):
(WebCore::RenderLayer::paintList):
Changed this logic to bail out if we have no self-painting descendants. This is what
is giving the performance improvement. Also added some performance ASSERTs to ensure
the methods are not called when they shouldn't.

(WebCore::RenderLayer::updateDescendantDependentFlags):
Renamed from updateVisibilityStatus to account for the new usage.

(WebCore::RenderLayer::updateLayerPositions):
(WebCore::RenderLayer::updateLayerPositionsAfterScroll):
(WebCore::RenderLayer::collectLayers):
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
Updated after updateVisibilityStatus rename.

* rendering/RenderLayer.h:
(WebCore::RenderLayer::hasSelfPaintingLayerDescendant):
Added the declaration of the new functions as well as the new flag and dirty bit.

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

7 years ago[Chromium-Android] Initialize font rendering in DumpRenderTree
wangxianzhu@chromium.org [Fri, 15 Jun 2012 03:06:53 +0000 (03:06 +0000)]
[Chromium-Android] Initialize font rendering in DumpRenderTree
https://bugs.webkit.org/show_bug.cgi?id=89133

Reviewed by Adam Barth.

Source/WebKit/chromium:

* src/linuxish/WebFontRendering.cpp:
(WebKit::WebFontRendering::setSubpixelPositioning): Now calls WebFontInfo::setSubpixelPositioning to avoid API users from calling both and simplify platform differences at call sites.

Tools:

* DumpRenderTree/chromium/LayoutTestController.cpp:
(LayoutTestController::reset):
(LayoutTestController::setTextSubpixelPositioning):
* DumpRenderTree/chromium/TestShellAndroid.cpp:
(platformInit):

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

7 years agoSource/WebCore: [chromium] Add iccjpeg and qcms to chromium port
commit-queue@webkit.org [Fri, 15 Jun 2012 02:53:17 +0000 (02:53 +0000)]
Source/WebCore:        [chromium] Add iccjpeg and qcms to chromium port
       https://bugs.webkit.org/show_bug.cgi?id=81974

       Reviewed by Adam Barth.

       Covered by existing layout tests which will be rebaselined.

       * WebCore.gyp/WebCore.gyp: Add qcms to the build.
       * platform/image-decoders/ImageDecoder.h:
       (WebCore::ImageDecoder::qcmsOutputDeviceProfile): Return an sRGB profile.
       On OSX, return the default RGB profile. Add FIXME to use the user's
       monitor profile and verify that profile for other platforms.

       * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
       (turboSwizzled): For libjpeg-turbo, JCS_EXT_BGRA and JCS_EXT_RGBA are the
       two known output color spaces for which the decoder uses a data swizzle.
       (colorSpaceHasAlpha): JPEG's have no alpha in the output color space. For
       libjpeg-turbo, alpha may be present in the swizzled output color space.

       (WebCore::JPEGImageReader::JPEGImageReader):
       (WebCore::JPEGImageReader::close):
       (WebCore::JPEGImageReader::decode): For QCMSLIB, create the color transform
       to use during decoding, and ensure we switch to inputing RGBA data to qcms
       even if the desired output data is BGRA: outputScanlines() sends BGRA data
       to the frame buffer following color correction if needed.
       (JPEGImageReader):
       (WebCore::JPEGImageReader::colorTransform): qcms color transform getter.
       (WebCore::JPEGImageReader::createColorTransform): Create color transform.
       Release the existing transform (if any) and assign to the color transform
       created from the color profile data.
       (WebCore::JPEGImageDecoder::outputScanlines): Minor style fix. Apply color
       transform to each decoded image row.

       * platform/image-decoders/png/PNGImageDecoder.cpp:
       (WebCore::PNGImageReader::PNGImageReader):
       (WebCore::PNGImageReader::close):
       (WebCore::PNGImageReader::currentBufferSize): Move this adjacent to other
       setters and getters.
       (WebCore::PNGImageReader::decodingSizeOnly): Ditto.
       (WebCore::PNGImageReader::setHasAlpha): Ditto.
       (WebCore::PNGImageReader::hasAlpha): Ditto.
       (WebCore::PNGImageReader::interlaceBuffer): Ditto.
       (WebCore::PNGImageReader::createRowBuffer): Creates a temporary row buffer,
       used when a color transform is applied to the decoded image pixels.
       (WebCore::PNGImageReader::rowBuffer): Return the temporary row buffer.
       (WebCore::PNGImageReader::colorTransform): qcms color transform getter.
       (WebCore::PNGImageReader::createColorTransform): Create color transform.
       Release the existing transform (if any) and assign to the color transform
       created from the color profile data.
       (WebCore::PNGImageDecoder::headerAvailable): For QCMSLIB, create the color
       transform to use for decoding. Clear m_colorProfile (not used anymore).
       (WebCore::PNGImageDecoder::rowAvailable): Create temporary row buffer if
       a color transform is needed for decoding. Apply color transform to each
       decoded image row.

       * platform/image-decoders/skia/ImageDecoderSkia.cpp:
       (WebCore::ImageFrame::setColorProfile): Old method of colorProfiles is no
       longer used. Add a FIXME to remove the old implementation.
       (WebCore::ImageFrame::setStatus): Remove old color correction code.

Patch by Tony Payne <tpayne@chromium.org> on 2012-06-14

Source/WTF: [chromium] Add iccjpeg and qcms to chromium port.
https://bugs.webkit.org/show_bug.cgi?id=81974

Patch by Tony Payne <tpayne@chromium.org> on 2012-06-14

* wtf/Platform.h: Add Chromium USE defines for ICCJPEG and QCMSLIB
to each Chromium platform, excluding Android.

Reviewed by Adam Barth.

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

7 years agoUnreviewed, rolling out r120384.
commit-queue@webkit.org [Fri, 15 Jun 2012 02:50:55 +0000 (02:50 +0000)]
Unreviewed, rolling out r120384.
http://trac.webkit.org/changeset/120384
https://bugs.webkit.org/show_bug.cgi?id=89157

breaks create-blob-url-from-data-url.html (Requested by
morrita on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-06-14

Source/WebCore:

* fileapi/Blob.cpp:
(WebCore::Blob::Blob):
* fileapi/BlobURL.cpp:
(WebCore::BlobURL::createBlobURL):
* fileapi/BlobURL.h:
(BlobURL):
* fileapi/FileReaderLoader.cpp:
(WebCore::FileReaderLoader::start):
* fileapi/ThreadableBlobRegistry.cpp:
(WebCore):
(WebCore::ThreadableBlobRegistry::registerBlobURL):
(WebCore::ThreadableBlobRegistry::unregisterBlobURL):
* fileapi/ThreadableBlobRegistry.h:
(WebCore):
(ThreadableBlobRegistry):
* html/DOMURL.cpp:
(WebCore::DOMURL::createObjectURL):
* page/SecurityOrigin.cpp:
(WebCore::SecurityOrigin::create):

LayoutTests:

* fast/files/file-reader-file-url-expected.txt: Removed.
* fast/files/file-reader-file-url.html: Removed.
* fast/files/resources/file-reader-file-url-iframe.html: Removed.

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

7 years ago[chromium] Port IFrameRedirectTest.Test from test_shell_tests to webkit_unit_tests
tony@chromium.org [Fri, 15 Jun 2012 02:46:41 +0000 (02:46 +0000)]
[chromium] Port IFrameRedirectTest.Test from test_shell_tests to webkit_unit_tests
https://bugs.webkit.org/show_bug.cgi?id=89132

Reviewed by Adam Barth.

This test is currently in src/webkit/glue/iframe_redirect_unittest.cc
and uses test_shell's layoutTestController. Moving this will make
it easier to get rid of layoutTestController in test_shell.

* tests/WebFrameTest.cpp:
(WebKit::TEST_F):
(WebKit):
* tests/data/iframe_redirect.html: Added.

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

7 years ago[Forms] Copy RenderTextControlSingleLine.{cpp,h} to RenderSearchFiled.{cpp,h}
yosin@chromium.org [Fri, 15 Jun 2012 02:25:15 +0000 (02:25 +0000)]
[Forms] Copy RenderTextControlSingleLine.{cpp,h} to RenderSearchFiled.{cpp,h}
https://bugs.webkit.org/show_bug.cgi?id=89155

Reviewed by Kent Tamura.

This patch copies RenderTextControlSingleLine.cpp and .h into RenderSearchField.cpp
and .h with just "cp" code. New files aren't compiled until bug 88980.

No new tests. This patch doesn't change behavior.

* rendering/RenderSearchField.cpp: Added.
(WebCore::RenderTextControlInnerBlock::positionForPoint):
(WebCore::RenderTextControlSingleLine::RenderTextControlSingleLine):
(WebCore::RenderTextControlSingleLine::~RenderTextControlSingleLine):
(WebCore::RenderTextControlSingleLine::containerElement):
(WebCore::RenderTextControlSingleLine::innerBlockElement):
(WebCore::RenderTextControlSingleLine::innerSpinButtonElement):
(WebCore::RenderTextControlSingleLine::resultsButtonElement):
(WebCore::RenderTextControlSingleLine::cancelButtonElement):
(WebCore::RenderTextControlSingleLine::textBaseStyle):
(WebCore::RenderTextControlSingleLine::addSearchResult):
(WebCore::RenderTextControlSingleLine::showPopup):
(WebCore::RenderTextControlSingleLine::hidePopup):
(WebCore::RenderTextControlSingleLine::paint):
(WebCore::RenderTextControlSingleLine::layout):
(WebCore::RenderTextControlSingleLine::nodeAtPoint):
(WebCore::RenderTextControlSingleLine::styleDidChange):
(WebCore::RenderTextControlSingleLine::capsLockStateMayHaveChanged):
(WebCore::RenderTextControlSingleLine::hasControlClip):
(WebCore::RenderTextControlSingleLine::controlClipRect):
(WebCore::RenderTextControlSingleLine::getAvgCharWidth):
(WebCore::RenderTextControlSingleLine::preferredContentWidth):
(WebCore::RenderTextControlSingleLine::computeControlHeight):
(WebCore::RenderTextControlSingleLine::updateFromElement):
(WebCore::RenderTextControlSingleLine::createInnerTextStyle):
(WebCore::RenderTextControlSingleLine::createInnerBlockStyle):
(WebCore::RenderTextControlSingleLine::updateCancelButtonVisibility):
(WebCore::RenderTextControlSingleLine::visibilityForCancelButton):
(WebCore::RenderTextControlSingleLine::textShouldBeTruncated):
(WebCore::RenderTextControlSingleLine::autosaveName):
(WebCore::RenderTextControlSingleLine::valueChanged):
(WebCore::RenderTextControlSingleLine::itemText):
(WebCore::RenderTextControlSingleLine::itemLabel):
(WebCore::RenderTextControlSingleLine::itemIcon):
(WebCore::RenderTextControlSingleLine::itemIsEnabled):
(WebCore::RenderTextControlSingleLine::itemStyle):
(WebCore::RenderTextControlSingleLine::menuStyle):
(WebCore::RenderTextControlSingleLine::clientInsetLeft):
(WebCore::RenderTextControlSingleLine::clientInsetRight):
(WebCore::RenderTextControlSingleLine::clientPaddingLeft):
(WebCore::RenderTextControlSingleLine::clientPaddingRight):
(WebCore::RenderTextControlSingleLine::listSize):
(WebCore::RenderTextControlSingleLine::selectedIndex):
(WebCore::RenderTextControlSingleLine::popupDidHide):
(WebCore::RenderTextControlSingleLine::itemIsSeparator):
(WebCore::RenderTextControlSingleLine::itemIsLabel):
(WebCore::RenderTextControlSingleLine::itemIsSelected):
(WebCore::RenderTextControlSingleLine::setTextFromItem):
(WebCore::RenderTextControlSingleLine::fontSelector):
(WebCore::RenderTextControlSingleLine::hostWindow):
(WebCore::RenderTextControlSingleLine::autoscroll):
(WebCore::RenderTextControlSingleLine::scrollWidth):
(WebCore::RenderTextControlSingleLine::scrollHeight):
(WebCore::RenderTextControlSingleLine::scrollLeft):
(WebCore::RenderTextControlSingleLine::scrollTop):
(WebCore::RenderTextControlSingleLine::setScrollLeft):
(WebCore::RenderTextControlSingleLine::setScrollTop):
(WebCore::RenderTextControlSingleLine::scroll):
(WebCore::RenderTextControlSingleLine::logicalScroll):
(WebCore::RenderTextControlSingleLine::createScrollbar):
(WebCore::RenderTextControlSingleLine::inputElement):
* rendering/RenderSearchField.h: Added.
(RenderTextControlSingleLine):
(WebCore::RenderTextControlSingleLine::popupIsVisible):
(WebCore::RenderTextControlSingleLine::isTextField):
(WebCore::toRenderTextControlSingleLine):
(RenderTextControlInnerBlock):
(WebCore::RenderTextControlInnerBlock::RenderTextControlInnerBlock):
(WebCore::RenderTextControlInnerBlock::hasLineIfEmpty):

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

7 years ago[JSC/V8] "DOMString[]" for function return values should not be null
tkent@chromium.org [Fri, 15 Jun 2012 02:11:28 +0000 (02:11 +0000)]
[JSC/V8] "DOMString[]" for function return values should not be null
https://bugs.webkit.org/show_bug.cgi?id=89151

Reviewed by Kentaro Hara.

jsArray and v8Array are used for "DOMString[]", not "DOMString[]?". So
we should not return JavaScript null object.

No new tests. We have no plan to use this code in production code for
now. It will be used for window.internals functions.

* bindings/js/JSDOMBinding.cpp:
(WebCore::jsArray): For null input, returns an empty array, not null.
* bindings/v8/V8Binding.cpp:
(WebCore::v8Array): Implement DOMStringList -> JavaScript array conversion.
Like jsArray(), we don't return null object.
* bindings/v8/V8Binding.h:
(WebCore): Declare v8Array().

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

7 years agoDisable click/dbl-click on MediaDocument for Chromium. Fix layout test for all platforms.
commit-queue@webkit.org [Fri, 15 Jun 2012 02:04:43 +0000 (02:04 +0000)]
Disable click/dbl-click on MediaDocument for Chromium. Fix layout test for all platforms.
https://bugs.webkit.org/show_bug.cgi?id=89129

Source/WebCore:

As titled, click-to-pause and double-click-to-play behavior are unwanted on Chromium.  A
long standing issue (~3 years) has been to disable this feature.

Patch by Dale Curtis <dalecurtis@chromium.org> on 2012-06-14
Reviewed by Eric Carlson.

Uses existing click/double-click test.

* html/MediaDocument.cpp:
(WebCore::MediaDocument::defaultEventHandler):

LayoutTests:

Fixes layout test to actually test what it says it tests.  Previously it was
testing the opposite behavior and passing because MediaDocument auto-plays.

Additionally failing one half of the test would still allow you to pass the
other half.  Both issues have been fixed.

Updates the test expectations for Chromium to reflect a failure.

Patch by Dale Curtis <dalecurtis@chromium.org> on 2012-06-14
Reviewed by Eric Carlson.

* media/video-click-dblckick-standalone-expected.txt:
* media/video-click-dblckick-standalone.html:
* platform/chromium/media/video-click-dblckick-standalone-expected.txt: Copied from LayoutTests/media/video-click-dblckick-standalone-expected.txt.

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

7 years agoUnreviewed. Skip the failed test due to r120384 for future investigation.
jianli@chromium.org [Fri, 15 Jun 2012 01:45:44 +0000 (01:45 +0000)]
Unreviewed. Skip the failed test due to r120384 for future investigation.

* platform/chromium/TestExpectations:
* platform/efl/Skipped:
* platform/gtk/TestExpectations:
* platform/mac/Skipped:
* platform/qt/Skipped:

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

7 years ago[EFL] [DRT] Reset the WebAudio setting on DumpRenderTree
commit-queue@webkit.org [Fri, 15 Jun 2012 01:32:35 +0000 (01:32 +0000)]
[EFL] [DRT] Reset the WebAudio setting on DumpRenderTree
https://bugs.webkit.org/show_bug.cgi?id=88622

Patch by Dongwoo Im <dw.im@samsung.com> on 2012-06-14
Reviewed by Philippe Normand.

* DumpRenderTree/efl/DumpRenderTreeChrome.cpp: Reset the setting of the Web Audio feature as default.
(DumpRenderTreeChrome::resetDefaultsToConsistentValues):

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

7 years ago[Chromium-Android] Should retry a few times when failed to start DumpRenderTree
wangxianzhu@chromium.org [Fri, 15 Jun 2012 01:26:01 +0000 (01:26 +0000)]
[Chromium-Android] Should retry a few times when failed to start DumpRenderTree
https://bugs.webkit.org/show_bug.cgi?id=89124

Reviewed by Dirk Pranke.

* Scripts/webkitpy/layout_tests/port/chromium_android.py:
(ChromiumAndroidDriver._start):
(ChromiumAndroidDriver):
(ChromiumAndroidDriver._start_once):

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

7 years agoFileReader is dysfunctional in documents with "null" origin string
jianli@chromium.org [Fri, 15 Jun 2012 00:57:27 +0000 (00:57 +0000)]
FileReader is dysfunctional in documents with "null" origin string
https://bugs.webkit.org/show_bug.cgi?id=78648

Reviewed by Adam Barth.

Source/WebCore:

The fix is to keep in-memory map from blob URL to SecurityOrigin for the
unique origin case.

Test: fast/files/file-reader-file-url.html

* fileapi/Blob.cpp:
(WebCore::Blob::Blob):
* fileapi/BlobURL.cpp:
(WebCore::BlobURL::getOrigin): Return the origin string embeded in the blob URL.
(WebCore):
(WebCore::BlobURL::createBlobURL): Remove the check for null origin string since it is handled now.
* fileapi/BlobURL.h:
(BlobURL):
* fileapi/FileReaderLoader.cpp:
(WebCore::FileReaderLoader::start):
* fileapi/ThreadableBlobRegistry.cpp:
(WebCore):
(WebCore::originMap): Thread-specific in-memory map from the blob URL to the origin.
(WebCore::ThreadableBlobRegistry::registerBlobURL): Add the map from the blob URL to the origin.
(WebCore::ThreadableBlobRegistry::unregisterBlobURL): Remove the map for the unregistered blob URL.
(WebCore::ThreadableBlobRegistry::cachedOrigin): Retrieve the origin associated with the blob URL.
* fileapi/ThreadableBlobRegistry.h:
(WebCore):
(ThreadableBlobRegistry):
* html/DOMURL.cpp:
(WebCore::DOMURL::createObjectURL):
* page/SecurityOrigin.cpp:
(WebCore::cachedOrigin): Return the cached origin for the blob URL if it exists.
(WebCore):
(WebCore::SecurityOrigin::create): Call cachedOrigin to get the cached origin first.

LayoutTests:

* fast/files/file-reader-file-url-expected.txt: Added.
* fast/files/file-reader-file-url.html: Added.
* fast/files/resources/file-reader-file-url-iframe.html: Added.

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

7 years agoAdd test cases for header/footer elements' AXRoleDescription
commit-queue@webkit.org [Fri, 15 Jun 2012 00:56:38 +0000 (00:56 +0000)]
Add test cases for header/footer elements' AXRoleDescription
https://bugs.webkit.org/show_bug.cgi?id=88911

Header and footer elements change their accessibility roles depending
on the elements which contain them. Specifically, they are described
as "banner" or "footer" in the general case, and fall back to
generic "group" role descriptions when contained in either article or
section elements. This patch simply tests that existing behavior on
Mac.

Patch by Mike West <mkwst@chromium.org> on 2012-06-14
Reviewed by Chris Fleizach.

* platform/mac/accessibility/footer-expected.txt: Added.
* platform/mac/accessibility/footer.html: Added.
* platform/mac/accessibility/header-expected.txt: Added.
* platform/mac/accessibility/header.html: Added.

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

7 years ago[CMAKE] Move JSDeprecatedPeerConnectionCustom.cpp from CMakeLists.txt to UseJSC.cmake
commit-queue@webkit.org [Fri, 15 Jun 2012 00:51:07 +0000 (00:51 +0000)]
[CMAKE] Move JSDeprecatedPeerConnectionCustom.cpp from CMakeLists.txt to UseJSC.cmake
https://bugs.webkit.org/show_bug.cgi?id=89015

Patch by Sudarsana Nagineni <sudarsana.nagineni@linux.intel.com> on 2012-06-14
Reviewed by Antonio Gomes.

Include JSDeprecatedPeerConnectionCustom.cpp in UseJSC.cmake
instead of CMakeLists.txt.

No change in functionality so no new tests.

* CMakeLists.txt:
* UseJSC.cmake:

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

7 years ago[Chromium] Sub-pixel text rendering is incorrectly used for WebView with transparent...
commit-queue@webkit.org [Fri, 15 Jun 2012 00:43:09 +0000 (00:43 +0000)]
[Chromium] Sub-pixel text rendering is incorrectly used for WebView with transparent background.
https://bugs.webkit.org/show_bug.cgi?id=89033

Patch by David Reveman <reveman@chromium.org> on 2012-06-14
Reviewed by James Robinson.

Add canvas background argument to PageWidgetDelegate::paint and call
PlatformCanvasSkia::setDrawingToImageBuffer to ensure that sub-pixel
rendering is only used when WebView has opaque background.

* src/PageWidgetDelegate.cpp:
(WebKit::PageWidgetDelegate::paint):
* src/PageWidgetDelegate.h:
* src/WebPagePopupImpl.cpp:
(WebKit::WebPagePopupImpl::paint):
* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::paint):

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

7 years ago[chromium] CCLayerTreeHostCommonTest.verifyHitTestingForSingleLayer failing in debug
shawnsingh@chromium.org [Fri, 15 Jun 2012 00:35:53 +0000 (00:35 +0000)]
[chromium] CCLayerTreeHostCommonTest.verifyHitTestingForSingleLayer failing in debug
https://bugs.webkit.org/show_bug.cgi?id=89065

Reviewed by James Robinson.

A debug assertion was being triggered in the hit-testing unit
tests because I accidentally forgot to set the
DebugScopedSetImplThread for the tests.

This patch also re-enables the disabled broken test.

* tests/CCLayerTreeHostCommonTest.cpp:

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

7 years ago[Chromium] Add setAutoHint() and setUseBitmaps() in WebFontRendering
wangxianzhu@chromium.org [Fri, 15 Jun 2012 00:12:40 +0000 (00:12 +0000)]
[Chromium] Add setAutoHint() and setUseBitmaps() in WebFontRendering
https://bugs.webkit.org/show_bug.cgi?id=89014

Reviewed by James Robinson.

Source/WebCore:

No new tests because of no change of functionality.

* platform/graphics/harfbuzz/FontPlatformDataHarfBuzz.cpp:
(WebCore):
(WebCore::FontPlatformData::setAutoHint):
(WebCore::FontPlatformData::setUseBitmaps):
(WebCore::FontPlatformData::setAntiAlias):
(WebCore::FontPlatformData::setupPaint):
* platform/graphics/harfbuzz/FontPlatformDataHarfBuzz.h:
(FontPlatformData):

Source/WebKit/chromium:

* public/linuxish/WebFontRendering.h:
(WebFontRendering):
* src/linuxish/WebFontRendering.cpp:
(WebKit):
(WebKit::WebFontRendering::setAutoHint):
(WebKit::WebFontRendering::setUseBitmaps):
(WebKit::WebFontRendering::setAntiAlias):

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

7 years agoDrawingArea: Painting is being resumed while the view is not visible
timothy_horton@apple.com [Fri, 15 Jun 2012 00:03:44 +0000 (00:03 +0000)]
DrawingArea: Painting is being resumed while the view is not visible
https://bugs.webkit.org/show_bug.cgi?id=88940
<rdar://problem/11652545>

Reviewed by Dean Jackson.

Using requestAnimationFrame and the fullscreen API on a DrawingArea-backed window would cause
rAF to permanently suspend animations after entering full-screen mode, because of the following:

0. JavaScript causes fullscreen transition to start.
1. Painting (and rAF) are suspended.
2. The page changes size.
    a. DrawingAreaProxyImpl::sizeDidChange() calls DrawingAreaImpl::updateBackingStoreState, which calls DrawingAreaImpl::resumePainting.
    b. DrawingAreaImpl::resumePainting resumes painting, but does *not* resume rAF, because windowIsVisible is (legitimately) false.
3. The view becomes visible, windowIsVisible is updated to true.
4. visibilityDidChange() calls resumePainting again, but this time it early exits because painting is not suspended.

Notice that because of the early exit in 4, rAF is never resumed.

To solve this and prevent any further bugs caused by these unnecessary calls to resume/suspendPainting,
temporarily stop sending SuspendPainting/ResumePainting messages from DrawingAreaProxyImpl::visibilityDidChange
during the window animations that occur while entering and exiting full-screen.

* UIProcess/API/mac/WKViewInternal.h:
* UIProcess/API/mac/WKView.mm:
(-[WKView setAutomaticallySuspendAndResumePainting:]):
(-[WKView automaticallySuspendAndResumePainting]):
* UIProcess/DrawingAreaProxyImpl.cpp:
(WebKit::DrawingAreaProxyImpl::visibilityDidChange):
* UIProcess/WebPageProxy.h:
(WebKit::WebPageProxy::setShouldSuspendAndResumePainting):
(WebKit::WebPageProxy::shouldSuspendAndResumePainting):
* UIProcess/mac/WKFullScreenWindowController.mm:
(-[WKFullScreenWindowController enterFullScreen:]):
(-[WKFullScreenWindowController _startEnterFullScreenAnimationWithDuration:]):

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

7 years agoFix Chromium test expectation after r120371.
rniwa@webkit.org [Thu, 14 Jun 2012 23:59:44 +0000 (23:59 +0000)]
Fix Chromium test expectation after r120371.

* platform/chromium/TestExpectations:

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

7 years agoUpdate webpagereplay to 1.1.2
tonyg@chromium.org [Thu, 14 Jun 2012 23:54:03 +0000 (23:54 +0000)]
Update webpagereplay to 1.1.2
https://bugs.webkit.org/show_bug.cgi?id=89118

This includes the following patch which avoids pkg_resources import errors:
http://code.google.com/p/web-page-replay/source/detail?r=476

Reviewed by Dirk Pranke.

* Scripts/webkitpy/thirdparty/__init__.py:
(AutoinstallImportHook._install_webpagereplay):

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

7 years agoAlways convert touch events to mouse events if the
commit-queue@webkit.org [Thu, 14 Jun 2012 23:53:33 +0000 (23:53 +0000)]
Always convert touch events to mouse events if the
meta-tag TouchEventMode::PureWithMouseConversion is set.
Minor style fix.
https://bugs.webkit.org/show_bug.cgi?id=89115

Patch by Genevieve Mak <gmak@rim.com> on 2012-06-14
Reviewed by Antonio Gomes.

Reviewed Internally by Antonio Gomes.

* WebKitSupport/TouchEventHandler.cpp:
(BlackBerry::WebKit::TouchEventHandler::touchEventCancel):
(BlackBerry::WebKit::TouchEventHandler::handleTouchPoint):

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

7 years agoUnreviewed update of chromium TestExpectations to mark hybi/workers/close.html as...
atwilson@chromium.org [Thu, 14 Jun 2012 23:39:12 +0000 (23:39 +0000)]
Unreviewed update of chromium TestExpectations to mark hybi/workers/close.html as failing.

* platform/chromium/TestExpectations:

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

7 years agoGet rid of FAIL test expectation
rniwa@webkit.org [Thu, 14 Jun 2012 23:28:33 +0000 (23:28 +0000)]
Get rid of FAIL test expectation
https://bugs.webkit.org/show_bug.cgi?id=89137

Reviewed by Dirk Pranke.

Tools:

* Scripts/webkitpy/layout_tests/controllers/manager_unittest.py:
(ResultSummaryTest.test_summarized_results_wontfix):
* Scripts/webkitpy/layout_tests/controllers/test_expectations_editor_unittest.py:
* Scripts/webkitpy/layout_tests/layout_package/json_layout_results_generator.py:
(JSONLayoutResultsGenerator):
* Scripts/webkitpy/layout_tests/models/test_expectations.py:
(result_was_expected):
(suffixes_for_expectations):
(TestExpectationsModel._add_test):
(TestExpectations):
(TestExpectations.get_rebaselining_failures):
(TestExpectations.remove_configuration_from_test):
* Scripts/webkitpy/layout_tests/models/test_expectations_unittest.py:
(FunctionsTest.test_result_was_expected):
(FunctionsTest.test_suffixes_for_expectations):
(TestExpectationSerializerTests.test_parsed_expectations_string):
* Scripts/webkitpy/layout_tests/port/webkit_unittest.py:
(test_test_expectations):
* Scripts/webkitpy/style/checkers/test_expectations_unittest.py:
(TestExpectationsTestCase.test_valid_expectations):

LayoutTests:

* platform/chromium/TestExpectations:
* platform/efl/TestExpectations:
* platform/mac/TestExpectations:
* platform/qt/TestExpectations:

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

7 years agowebkitpy: remove DummyOptions and clean up the code in Port.get_option() and Port...
dpranke@chromium.org [Thu, 14 Jun 2012 23:18:09 +0000 (23:18 +0000)]
webkitpy: remove DummyOptions and clean up the code in Port.get_option() and Port.set_option_default()
https://bugs.webkit.org/show_bug.cgi?id=89135

Reviewed by Ryosuke Niwa.

This patch is just some minor cleanup and simplification. There
should be no functional changes here.

* Scripts/webkitpy/layout_tests/port/base.py:
(Port.__init__):
(Port.get_option):
(Port.set_option_default):
* Scripts/webkitpy/layout_tests/port/chromium_win_unittest.py:
(ChromiumWinTest.test_setup_environ_for_server_register_cygwin):
* Scripts/webkitpy/style/checkers/test_expectations.py:
(TestExpectationsChecker._determine_port_from_expectations_path):
* Scripts/webkitpy/tool/mocktool.py:
(MockOptions.ensure_value):

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

7 years ago[EFL] Move cursor related code from WidgetEfl to ewk_view and EflScreenUtilities.
ryuan.choi@samsung.com [Thu, 14 Jun 2012 23:09:44 +0000 (23:09 +0000)]
[EFL] Move cursor related code from WidgetEfl to ewk_view and EflScreenUtilities.
https://bugs.webkit.org/show_bug.cgi?id=88803

Reviewed by Chang Shu.

Because WebProcess can not control cursor,
setCursor should be passed to ChromeClient like other ports.

Source/WebCore:

* platform/Widget.h:
(Widget):
* platform/efl/EflScreenUtilities.cpp:
(WebCore::applyFallbackCursor): Moved from WidgetEfl.cpp.
(WebCore):
(WebCore::isUsingEcoreX): Moved from WidgetEfl.cpp.
* platform/efl/EflScreenUtilities.h:
(WebCore):
* platform/efl/WidgetEfl.cpp: Removes cursor related codes.
(WebCore::WidgetPrivate::WidgetPrivate):
(WebCore::Widget::~Widget):
(WebCore::Widget::setCursor): Redirect to HostWindow.
(WebCore::Widget::setEvasObject):

Source/WebKit/efl:

* WebCoreSupport/ChromeClientEfl.cpp:
(WebCore::ChromeClientEfl::setCursor):
* ewk/ewk_view.cpp:
(_Ewk_View_Private_Data):
(_ewk_view_priv_new): Check whether ecore_x can be used.
(_ewk_view_priv_del):
(_ewk_view_smart_add):
Change order of initialization to use base structure in _ewk_view_priv_new.
(ewk_view_cursor_set): Moved from Widget::applyCursor.
* ewk/ewk_view_private.h:
(WebCore):

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

7 years ago[BlackBerry] Implement computeRAMSize for QNX
commit-queue@webkit.org [Thu, 14 Jun 2012 23:00:02 +0000 (23:00 +0000)]
[BlackBerry] Implement computeRAMSize for QNX
https://bugs.webkit.org/show_bug.cgi?id=89110

Patch by Yong Li <yoli@rim.com> on 2012-06-14
Reviewed by Rob Buis.

* wtf/RAMSize.cpp:
(WTF::computeRAMSize):

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

7 years agoRadio node lists do not get updated when inserted back into a document
rniwa@webkit.org [Thu, 14 Jun 2012 22:38:41 +0000 (22:38 +0000)]
Radio node lists do not get updated when inserted back into a document
https://bugs.webkit.org/show_bug.cgi?id=88825

Reviewed by Darin Adler.

Source/WebCore:

The bug was caused by RadioNodeList's m_node not being adjusted back to a document after
it was removed from the document and inserted back. While we could be doing this adjustment again
when the HTMLFormElement is inserted back into the document, this whole approach is fragile
because adds a maintenance burden on root elements of RadioNodeList.

Change the approach to the problem instead and detect when m_node is detached from the document.
Now RadioNodeList and LabelsNodeList will always use its root element as m_node and
DynamicSubtreeNodeList's node() will then determine whether it should use its document or not based
on the flag (rootedAtDocument) passed by the constructor of the node list and m_node->inDocument().

Also invalidate node lists rooted at the document level regardless where the DOM mutation took place.

* dom/ClassNodeList.cpp:
(WebCore::ClassNodeList::~ClassNodeList):
* dom/Document.cpp:
(WebCore::Document::registerDynamicSubtreeNodeList): Moved from Node.
(WebCore::Document::unregisterDynamicSubtreeNodeList): Ditto.
* dom/Document.h:
(Document):
* dom/DynamicNodeList.cpp:
(WebCore::DynamicSubtreeNodeList::DynamicSubtreeNodeList): Takes DynamicNodeListRootType which tell us
whether node() should return m_node's document by default or not.
(WebCore::DynamicSubtreeNodeList::length): Refactor code to avoid node() multiple times.
(WebCore::DynamicSubtreeNodeList::itemForwardsFromCurrent): Ditto.
(WebCore::DynamicSubtreeNodeList::itemBackwardsFromCurrent): Ditto.
(WebCore::DynamicNodeList::itemWithName): Ditto.
* dom/DynamicNodeList.h:
(WebCore::DynamicNodeList::DynamicNodeList):
(WebCore::DynamicNodeList::node): Returns m_node->document() if m_node is still in the document and
the node list was rooted at document.
(WebCore::DynamicNodeList::Caches::Caches):
(Caches):
(DynamicNodeList):
(DynamicSubtreeNodeList):
* dom/NameNodeList.cpp:
(WebCore::NameNodeList::~NameNodeList):
* dom/Node.cpp:
(WebCore):
(WebCore::Node::invalidateNodeListsCacheAfterAttributeChanged): Invalidate m_listsInvalidatedAtDocument
at document instead of trying to invalidate it on every ancestor we traverse.
(WebCore::Node::invalidateNodeListsCacheAfterChildrenChanged): Ditto.
(WebCore::NodeListsNodeData::invalidateCachesForDocument): Extracted from
invalidateCachesThatDependOnAttributes.
(WebCore::NodeListsNodeData::invalidateCachesThatDependOnAttributes):
(WebCore::Node::radioNodeList):
* dom/Node.h:
(Node):
* dom/NodeRareData.h:
(NodeListsNodeData):
* dom/TagNodeList.cpp:
(WebCore::TagNodeList::~TagNodeList):
* html/HTMLFormElement.cpp:
(WebCore::HTMLFormElement::removedFrom):
* html/LabelsNodeList.cpp:
(WebCore::LabelsNodeList::LabelsNodeList):
* html/RadioNodeList.cpp:
(WebCore::RadioNodeList::RadioNodeList): Takes Element* first since that's the order we use elsewhere.
* html/RadioNodeList.h:
(WebCore::RadioNodeList::create):
(RadioNodeList):

LayoutTests:

Add a test case to an existing test.

* fast/forms/radionodelist-whose-form-element-detached-from-domtree-expected.txt:
* fast/forms/radionodelist-whose-form-element-detached-from-domtree.html:

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

7 years agoFix bit packing of StyleRareInheritedData on Windows
tony@chromium.org [Thu, 14 Jun 2012 22:33:20 +0000 (22:33 +0000)]
Fix bit packing of StyleRareInheritedData on Windows
https://bugs.webkit.org/show_bug.cgi?id=89112

Reviewed by Ryosuke Niwa.

On my machine (64 bit Chromium Linux), StyleRareInheritedData is 168 bytes.

No new tests, added a compile assert to ensure correctness going forward.

* rendering/style/StyleRareInheritedData.cpp:
(SameSizeAsStyleRareInheritedData):
(WebCore):
* rendering/style/StyleRareInheritedData.h:
(StyleRareInheritedData):

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

7 years agoCrashes below IconDatabase::performPendingRetainAndReleaseOperations().
kling@webkit.org [Thu, 14 Jun 2012 22:21:45 +0000 (22:21 +0000)]
Crashes below IconDatabase::performPendingRetainAndReleaseOperations().
<http://webkit.org/b/88846>
<rdar://problem/11629106>

Reviewed by Brady Eidson.

Put isolatedCopy() strings in the retain/release operation queues to make sure it's safe
for secondary threads to ref/deref them in performPendingRetainAndReleaseOperations().
Also added assertions as appropriate.

* loader/icon/IconDatabase.cpp:
(WebCore::IconDatabase::retainIconForPageURL):
(WebCore::IconDatabase::releaseIconForPageURL):
(WebCore::IconDatabase::performPendingRetainAndReleaseOperations):

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

7 years ago[chromium/linux] Drop deprecated WebFontRenderStyle::useSubpixel
commit-queue@webkit.org [Thu, 14 Jun 2012 22:00:58 +0000 (22:00 +0000)]
[chromium/linux] Drop deprecated WebFontRenderStyle::useSubpixel
https://bugs.webkit.org/show_bug.cgi?id=88263

Patch by Daniel Erat <derat@chromium.org> on 2012-06-14
Reviewed by Adam Barth.

This removes the useSubpixel member, which was replaced by
useSubpixelRendering.  Chrome has been updated to set only the
useSubpixelRendering field.

No test updates since the existing behavior shouldn't change.

* public/linux/WebFontInfo.h:
(WebFontInfo):
* public/linux/WebFontRenderStyle.h:
* src/linux/WebFontInfo.cpp:
(WebKit::WebFontInfo::renderStyleForStrike):
* src/linux/WebFontRenderStyle.cpp:
(WebKit::WebFontRenderStyle::toFontRenderStyle):
(WebKit::WebFontRenderStyle::setDefaults):

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

7 years ago[chromium] For hit testing in CCLayerTreeHostCommon, need to check that the transform...
shawnsingh@chromium.org [Thu, 14 Jun 2012 21:45:21 +0000 (21:45 +0000)]
[chromium] For hit testing in CCLayerTreeHostCommon, need to check that the transform is invertible before inverting it.
https://bugs.webkit.org/show_bug.cgi?id=89049

Reviewed by Adrienne Walker.

Source/WebCore:

Unit test added to CCLayerTreeHostCommonTest.cpp:
  CCLayerTreeHostCommonTest.verifyHitTestingForUninvertibleTransform

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

Source/WebKit/chromium:

* tests/CCLayerTreeHostCommonTest.cpp:

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

7 years agoThe whole world rebuilds when you touch any IDL file
mjs@apple.com [Thu, 14 Jun 2012 21:15:52 +0000 (21:15 +0000)]
The whole world rebuilds when you touch any IDL file
https://bugs.webkit.org/show_bug.cgi?id=89125

Reviewed by Sam Weinig.

No new tests; this only changes the build system and its dependencies.

* bindings/scripts/preprocess-idls.pl: Optionally generate the
dependencies for supplemental IDLs in Makefile format.
* DerivedSources.make: Use the new feature of preprocess-idls.pl to generate
the correct IDL dependencies created by Supplemental, then include it. This way,
we avoid the situation where every bindings file implicitly depends on every single
IDL file in the project.

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

7 years ago[chromium] Certain settings in CCSettings could be global
commit-queue@webkit.org [Thu, 14 Jun 2012 20:41:02 +0000 (20:41 +0000)]
[chromium] Certain settings in CCSettings could be global
https://bugs.webkit.org/show_bug.cgi?id=88384

Patch by Ian Vollick <vollick@chromium.org> on 2012-06-14
Reviewed by James Robinson.

Source/Platform:

* chromium/public/WebLayerTreeView.h:
(WebCore):
(WebKit::WebLayerTreeView::Settings::Settings):
(Settings):

Source/WebCore:

No new tests. No new functionality.

* WebCore.gypi:
* page/Settings.cpp:
(WebCore::Settings::Settings):
* page/Settings.h:
(Settings):
* platform/graphics/chromium/ContentLayerChromium.cpp:
(WebCore::ContentLayerChromium::createTextureUpdaterIfNeeded):
* platform/graphics/chromium/LayerChromium.cpp:
(WebCore::LayerChromium::addAnimation):
* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::initialize):
* platform/graphics/chromium/TiledLayerChromium.cpp:
(WebCore::TiledLayerChromium::updateTileSizeAndTilingOption):
* platform/graphics/chromium/cc/CCDebugRectHistory.cpp:
(WebCore::CCDebugRectHistory::enabled):
(WebCore::CCDebugRectHistory::saveDebugRectsForCurrentFrame):
* platform/graphics/chromium/cc/CCDebugRectHistory.h:
(WebCore):
(CCDebugRectHistory):
* platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
(WebCore::CCHeadsUpDisplay::enabled):
(WebCore::CCHeadsUpDisplay::showPlatformLayerTree):
(WebCore::CCHeadsUpDisplay::showDebugRects):
(WebCore::CCHeadsUpDisplay::draw):
(WebCore::CCHeadsUpDisplay::drawHudContents):
(WebCore::CCHeadsUpDisplay::drawDebugRects):
* platform/graphics/chromium/cc/CCHeadsUpDisplay.h:
(WebCore):
(CCHeadsUpDisplay):
* platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
(WebCore::CCLayerTreeHost::create):
(WebCore::CCLayerTreeHost::CCLayerTreeHost):
(WebCore::CCLayerTreeHost::animateLayers):
* platform/graphics/chromium/cc/CCLayerTreeHost.h:
(WebCore::CCLayerTreeSettings::CCLayerTreeSettings):
(CCLayerTreeSettings):
(CCLayerTreeHost):
(WebCore::CCLayerTreeHost::settings):
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
(WebCore::CCLayerTreeHostImpl::create):
(WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
(WebCore::CCLayerTreeHostImpl::calculateRenderSurfaceLayerList):
(WebCore::CCLayerTreeHostImpl::animateLayers):
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
(CCLayerTreeHostImpl):
* platform/graphics/chromium/cc/CCRenderer.h:
(CCRendererClient):
(WebCore::CCRenderer::settings):
* platform/graphics/chromium/cc/CCSettings.cpp: Added.
(WebCore):
(WebCore::CCSettings::perTilePaintingEnabled):
(WebCore::CCSettings::setPerTilePaintingEnabled):
(WebCore::CCSettings::partialSwapEnabled):
(WebCore::CCSettings::setPartialSwapEnabled):
(WebCore::CCSettings::acceleratedAnimationEnabled):
(WebCore::CCSettings::setAcceleratedAnimationEnabled):
(WebCore::CCSettings::reset):
* platform/graphics/chromium/cc/CCSettings.h: Added.
(WebCore):
(CCSettings):
* testing/InternalSettings.cpp:
* testing/InternalSettings.h:
(InternalSettings):

Source/WebKit/chromium:

* WebKit.gypi:
* public/WebCompositor.h:
(WebCompositor):
* public/WebSettings.h:
* src/WebCompositorImpl.cpp:
(WebKit::WebCompositor::shutdown):
(WebKit):
(WebKit::WebCompositor::setPerTilePaintingEnabled):
(WebKit::WebCompositor::setPartialSwapEnabled):
(WebKit::WebCompositor::setAcceleratedAnimationEnabled):
* src/WebLayerTreeView.cpp:
(WebKit):
(WebKit::WebLayerTreeView::Settings::operator CCLayerTreeSettings):
* src/WebSettingsImpl.cpp:
* src/WebSettingsImpl.h:
(WebSettingsImpl):
* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::WebViewImpl):
(WebKit::WebViewImpl::setIsAcceleratedCompositingActive):
* tests/CCLayerTreeHostImplTest.cpp:
* tests/CCLayerTreeHostTest.cpp:
(WTF):
(CCLayerTreeHostTestShortlived1):
(WTF::CCLayerTreeHostTestShortlived1::CCLayerTreeHostTestShortlived1):
(WTF::CCLayerTreeHostTestShortlived1::beginTest):
(WTF::CCLayerTreeHostTestShortlived1::afterTest):
* tests/CCTestCommon.h: Added.
(WebKitTests):
(CCScopedSettings):
(WebKitTests::CCScopedSettings::CCScopedSettings):
(WebKitTests::CCScopedSettings::~CCScopedSettings):
* tests/CCThreadedTest.cpp:
(WebKitTests::MockLayerTreeHostImpl::create):
(WebKitTests::MockLayerTreeHostImpl::MockLayerTreeHostImpl):
(WebKitTests::MockLayerTreeHost::create):
(WebKitTests::MockLayerTreeHost::createLayerTreeHostImpl):
(WebKitTests::MockLayerTreeHost::MockLayerTreeHost):
(WebKitTests::CCThreadedTest::runTest):
* tests/CCThreadedTest.h:
(CCThreadedTest):
(MockLayerTreeHostImpl):
* tests/GraphicsLayerChromiumTest.cpp:
(WebKitTests::MockLayerTreeHost::create):
(WebKitTests::MockLayerTreeHost::createLayerTreeHostImpl):
(WebKitTests::MockLayerTreeHost::MockLayerTreeHost):
(WebKitTests::GraphicsLayerChromiumTest::GraphicsLayerChromiumTest):
* tests/LayerChromiumTest.cpp:
* tests/LayerRendererChromiumTest.cpp:
(LayerRendererChromiumTest):
(TEST_F):
(TEST):
* tests/TextureLayerChromiumTest.cpp:
* tests/TiledLayerChromiumTest.cpp:
* tests/TreeSynchronizerTest.cpp:
(WebKitTests::TEST):

Tools:

* DumpRenderTree/chromium/TestShell.cpp:
(TestShell::TestShell):
(TestShell::resetWebSettings):
(TestShell::setPerTilePaintingEnabled):
* DumpRenderTree/chromium/TestShell.h:
(TestShell):
* DumpRenderTree/chromium/WebPreferences.cpp:
(WebPreferences::reset):
(WebPreferences::applyTo):
* DumpRenderTree/chromium/WebPreferences.h:
(WebPreferences):

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

7 years ago2012-06-14 Alejandro G. Castro <alex@igalia.com>
alex@webkit.org [Thu, 14 Jun 2012 20:36:15 +0000 (20:36 +0000)]
2012-06-14  Alejandro G. Castro  <alex@igalia.com>

        [GTK] Add TextureMapper ImageBuffer support as a fallback from the hardware accelerated path
        https://bugs.webkit.org/show_bug.cgi?id=73634

        Add the new graphics layer client that uses cairo to render the
        composition. The cairo transformations do not support perspective
        so in perspective cases we have just a representation not the real
        perspective transformation.

        This patch adds a new implementation of already tested cases.

        Reviewed by Martin Robinson.

        * GNUmakefile.am:
        * WebCoreSupport/AcceleratedCompositingContext.h:
        (AcceleratedCompositingContext):
        * WebCoreSupport/AcceleratedCompositingContextCairo.cpp: Added.
        * WebCoreSupport/ChromeClientGtk.cpp:
        (WebKit::ChromeClient::invalidateWidgetRect): We need to
        invalidate the widget in this case because we do not directly
        render to a texture but to the widget surface.
        (WebKit::ChromeClient::paint): We can not render here, we have to
        invalidate and wait for the widget rendering.
        * webkit/webkitwebview.cpp:
        (webkit_web_view_draw): In this case the renderLayersToWindow
        requires the graphics context used to render in the window.
        (webkit_web_view_realize): Small cleanup of the priv variable
        definition.

2012-06-14  Alejandro G. Castro  <alex@igalia.com>

        [GTK] Add TextureMapper ImageBuffer support as a fallback from the hardware accelerated path
        https://bugs.webkit.org/show_bug.cgi?id=73634

        Remove the TextureMapperCairo classes, now we use
        TextureMapperImageBuffer to implement the software fallback. Add
        implementation for the 3D transformations in the 2D cairo graphics
        context.

        Reviewed by Martin Robinson.

        This patch adds a new implementation of already tested cases.

        * GNUmakefile.list.am:
        * platform/graphics/cairo/GraphicsContext3DPrivate.cpp:
        (WebCore):
        (WebCore::GraphicsContext3DPrivate::paintToTextureMapper):
        Required for compilation when WebGL is enabled.
        * platform/graphics/cairo/GraphicsContextCairo.cpp:
        (WebCore::GraphicsContext::get3DTransform):
        (WebCore::GraphicsContext::concat3DTransform):
        (WebCore::GraphicsContext::set3DTransform):
        * platform/graphics/cairo/TextureMapperCairo.cpp: Removed.
        * platform/graphics/cairo/TextureMapperCairo.h: Removed.
        * platform/graphics/texmap/TextureMapperImageBuffer.cpp:
        (WebCore::BitmapTextureImageBuffer::updateContents):

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

7 years agoUnreviewed, rolling out r120352.
ossy@webkit.org [Thu, 14 Jun 2012 20:23:41 +0000 (20:23 +0000)]
Unreviewed, rolling out r120352.
http://trac.webkit.org/changeset/120352
https://bugs.webkit.org/show_bug.cgi?id=89120

It seems something is still wrong with it :/ (Requested by
Ossy on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-06-14

* BuildSlaveSupport/build.webkit.org-config/master.cfg:
(Factory.__init__):
(BuildFactory.__init__):
(TestFactory.__init__):
(BuildAndTestFactory.__init__):
(BuildAndPerfTestFactory.__init__):
(BuildAndPerfTestWebKit2Factory.__init__):
(DownloadAndPerfTestFactory.__init__):
(DownloadAndPerfTestWebKit2Factory.__init__):

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

7 years agoMark text with text alternative with blue underline.
jpu@apple.com [Thu, 14 Jun 2012 20:22:56 +0000 (20:22 +0000)]
Mark text with text alternative with blue underline.
https://bugs.webkit.org/show_bug.cgi?id=83047

Reviewed by Enrica Casucci.

Tests: platform/mac/editing/input/edit-dictated-text-with-alternative.html
       platform/mac/editing/input/insert-dictated-text.html

This patch implements visual indication on dictated text with alternatives, and provides UI
to show alternative text on OS X. Majority of the changes is for generalizing existing AlternativeTextController
class to handle dictation alternatives. The two new classes, AlternativeTextUIController and
TextAlternativeWithRange, are used by both WebKit and WK2. So WebCore seems to be the natural place
for them.

* WebCore.exp.in:
* WebCore.xcodeproj/project.pbxproj:
* editing/AlternativeTextController.cpp: Expanded exising class interface to support dictation alternatives.
(DictationAlternativeDetails): Marker detail class for dictation alternative mark.
(WebCore::DictationAlternativeDetails::create):
(WebCore::DictationAlternativeDetails::dictationContext):
(WebCore::DictationAlternativeDetails::DictationAlternativeDetails):
(WebCore::markerTypesForAppliedDictationAlternative):
(WebCore::AlternativeTextController::applyAlternativeTextToRange): Generalized existing applyAlternativeTextToRange() to handle dictation alternatives.
(WebCore::AlternativeTextController::timerFired): Expanded existing code to handle dictation alternatives.
(WebCore::AlternativeTextController::handleAlternativeTextUIResult): Expanded existing code to handle dictation alternatives.
(WebCore::AlternativeTextController::respondToChangedSelection): Moved part of the function into respondToMarkerAtEndOfWord() to improve readability.
(WebCore::AlternativeTextController::shouldStartTimerFor):
(WebCore::AlternativeTextController::respondToMarkerAtEndOfWord):
(WebCore::AlternativeTextController::markerDescriptionForAppliedAlternativeText):
(WebCore::AlternativeTextController::removeDictationAlternativesForMarker):
(WebCore::AlternativeTextController::dictationAlternativesForMarker):
(WebCore::AlternativeTextController::applyDictationAlternative):
* editing/AlternativeTextController.h:
* editing/Editor.cpp:
(WebCore::Editor::notifyComponentsOnChangedSelection): Renamed existing respondToChangedSelection() function to avoid naming collision.
(WebCore::Editor::appliedEditing):
(WebCore::Editor::unappliedEditing):
(WebCore::Editor::reappliedEditing):
(WebCore::Editor::updateMarkersForWordsAffectedByEditing):
(WebCore::Editor::changeSelectionAfterCommand):
(WebCore::Editor::respondToChangedSelection):
(WebCore::Editor::dictationAlternativesForMarker):
(WebCore::Editor::applyDictationAlternativelternative):
* editing/Editor.h:
* editing/FrameSelection.h:
* editing/mac/AlternativeTextUIController.h: Added. WK1 and WK2 use this class to keep track of text alternatives objects.
(AlternativeTextUIController):
(WebCore::AlternativeTextUIController::AlternativeTextUIController):
(AlernativeTextContextController):
(WebCore::AlternativeTextUIController::AlernativeTextContextController::AlernativeTextContextController):
* editing/mac/AlternativeTextUIController.mm: Added.
(WebCore::AlternativeTextUIController::AlernativeTextContextController::addAlternatives):
(WebCore::AlternativeTextUIController::AlernativeTextContextController::alternativesForContext):
(WebCore::AlternativeTextUIController::AlernativeTextContextController::removeAlternativesForContext):
(WebCore::AlternativeTextUIController::AlernativeTextContextController::clear):
(WebCore::AlternativeTextUIController::addAlternatives):
(WebCore::AlternativeTextUIController::alternativesForContext):
(WebCore::AlternativeTextUIController::clear):
(WebCore::AlternativeTextUIController::showAlternatives):
(WebCore::AlternativeTextUIController::handleAcceptedAlternative):
(WebCore::AlternativeTextUIController::dismissAlternatives):
(WebCore::AlternativeTextUIController::removeAlternatives):
* editing/mac/TextAlternativeWithRange.h: Added.  A simple struct to make it easier to pass around a pair of text alternatives object and range.
* editing/mac/TextAlternativeWithRange.mm: Added.
(WebCore::TextAlternativeWithRange::TextAlternativeWithRange):
(WebCore::collectDictationTextAlternatives):
* page/AlternativeTextClient.h:
* page/ContextMenuController.cpp: Added code to show alternative dictated text in context menu.
(WebCore::ContextMenuController::contextMenuItemSelected):
(WebCore::ContextMenuController::populate):
(WebCore::ContextMenuController::checkOrEnableIfNeeded):
* platform/ContextMenuItem.h:
* rendering/HitTestResult.cpp:
(WebCore::HitTestResult::dictationAlternatives):
* rendering/HitTestResult.h:
* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::paintDocumentMarker):

Changes in WebKit include implementation of new functions declared in AlternativeTextClient,
and logic for calling Editor::insertDictatedText() instead of Editor::insertText() when there's
alternatives attached to the input string.

* WebCoreSupport/CorrectionPanel.mm:
(correctionIndicatorType):
(CorrectionPanel::handleAcceptedReplacement):
* WebCoreSupport/WebAlternativeTextClient.h:
(WebAlternativeTextClient):
* WebCoreSupport/WebAlternativeTextClient.mm:
(WebAlternativeTextClient::showCorrectionAlternative):
(WebAlternativeTextClient::dismissAlternative):
(WebAlternativeTextClient::dismissAlternativeSoon):
(WebAlternativeTextClient::recordAutocorrectionResponse):
(WebAlternativeTextClient::removeDictationAlternatives):
(WebAlternativeTextClient::showDictationAlternativeUI):
(WebAlternativeTextClient::dismissDictationAlternativeUI):
(WebAlternativeTextClient::dictationAlternatives):
* WebView/WebHTMLView.mm:
(-[WebHTMLView validAttributesForMarkedText]):
(-[WebHTMLView insertText:]):
* WebView/WebView.mm:
(-[WebView handleAcceptedAlternativeText:]):
(-[WebView _getWebCoreDictationAlternatives:fromTextAlternatives:]):
(-[WebView _showDictationAlternativeUI:WebCore::forDictationContext:]):
(-[WebView _dismissDictationAlternativeUI]):
(-[WebView _removeDictationAlternatives:]):
(-[WebView _dictationAlternatives:]):
* WebView/WebViewData.h:
* WebView/WebViewData.mm:
(-[WebViewPrivate init]):
* WebView/WebViewInternal.h:
* WebView/WebViewPrivate.h:

Changes in WebKit2 include implementation of new functions declared in AlternativeTextClient,
and logic for calling Editor::insertDictatedText() instead of Editor::insertText() when there's
alternatives attached to the input string.

* Shared/API/c/WKContextMenuItemTypes.h:
* Shared/API/c/WKSharedAPICast.h:
* Shared/WebCoreArgumentCoders.cpp:
* Shared/WebCoreArgumentCoders.h:
* UIProcess/API/mac/PageClientImpl.h:
* UIProcess/API/mac/PageClientImpl.mm:
(WebKit::PageClientImpl::PageClientImpl):
(WebKit::PageClientImpl::pageClosed):
(WebKit::PageClientImpl::addDictationAlternatives):
(WebKit::PageClientImpl::removeDictationAlternatives):
(WebKit::PageClientImpl::showDictationAlternativeUI):
(WebKit::PageClientImpl::dictationAlternatives):
(WebKit::PageClientImpl::dismissDictationAlternativeUI):
* UIProcess/API/mac/WKView.mm:
(-[WKView insertText:replacementRange:]):
(-[WKView validAttributesForMarkedText]):
(-[WKView handleAcceptedAlternativeText:]):
* UIProcess/API/mac/WKViewInternal.h:
* UIProcess/PageClient.h:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::showDictationAlternativeUI):
(WebKit::WebPageProxy::dismissDictationAlternativeUI):
(WebKit::WebPageProxy::removeDictationAlternatives):
(WebKit::WebPageProxy::dictationAlternatives):
* UIProcess/WebPageProxy.h:
* UIProcess/WebPageProxy.messages.in:
* UIProcess/mac/CorrectionPanel.mm:
(correctionIndicatorType):
(WebKit::CorrectionPanel::handleAcceptedReplacement):
* UIProcess/mac/WebPageProxyMac.mm:
(WebKit::WebPageProxy::insertDictatedText):
* WebProcess/WebCoreSupport/WebAlternativeTextClient.h:
(WebAlternativeTextClient):
* WebProcess/WebCoreSupport/mac/WebAlternativeTextClient.cpp:
(WebKit::WebAlternativeTextClient::showCorrectionAlternative):
(WebKit::WebAlternativeTextClient::dismissAlternative):
(WebKit::WebAlternativeTextClient::dismissAlternativeSoon):
(WebKit::WebAlternativeTextClient::recordAutocorrectionResponse):
(WebKit::WebAlternativeTextClient::removeDictationAlternatives):
(WebKit::WebAlternativeTextClient::showDictationAlternativeUI):
(WebKit::WebAlternativeTextClient::dismissDictationAlternativeUI):
(WebKit::WebAlternativeTextClient::dictationAlternatives):
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/WebPage.messages.in:
* WebProcess/WebPage/mac/WebPageMac.mm:
(WebKit::WebPage::insertDictatedText):

* platform/mac-lion/Skipped:
* platform/mac-snowleopard/Skipped:
* platform/mac/editing/input/edit-dictated-text-with-alternative-expected.txt: Added.
* platform/mac/editing/input/edit-dictated-text-with-alternative.html: Added.
* platform/mac/editing/input/insert-dictated-text-expected.txt: Added.
* platform/mac/editing/input/insert-dictated-text.html: Added.

* DumpRenderTree/mac/TextInputController.m:
(+[TextInputController isSelectorExcludedFromWebScript:]):
(+[TextInputController webScriptNameForSelector:]):
(-[TextInputController dictatedStringWithPrimaryString:alternative:alternativeOffset:alternativeLength:]):

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

7 years agoARMv7 should support spinlocks
ggaren@apple.com [Thu, 14 Jun 2012 20:18:23 +0000 (20:18 +0000)]
ARMv7 should support spinlocks
https://bugs.webkit.org/show_bug.cgi?id=88957

Reviewed by Darin Adler.

More info @ http://infocenter.arm.com/help/topic/
com.arm.doc.genc007826/Barrier_Litmus_Tests_and_Cookbook_A08.pdf

* wtf/Atomics.h:
(WTF::memoryBarrierAfterLock):
(WTF::memoryBarrierBeforeUnlock): Added memory barrier primitives since
ARMv7 has a weakly ordered memory model.

* wtf/Platform.h: Enabled compare-and-swap on Windows so our spinlock
implementation would continue working on Windows.

* wtf/TCSpinLock.h:
(TCMalloc_SpinLock::Lock):
(TCMalloc_SpinLock::Unlock):
(TCMalloc_SpinLock): Use our compare-and-swap helper function to avoid
rewriting it in assembly here.

Added memory barriers since ARMv7 needs them.

Removed PPC support because our helper function doesn't support PPC.

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

7 years agoUnreviewed, rolling out r120353.
ossy@webkit.org [Thu, 14 Jun 2012 20:15:46 +0000 (20:15 +0000)]
Unreviewed, rolling out r120353.
http://trac.webkit.org/changeset/120353
https://bugs.webkit.org/show_bug.cgi?id=89119

It seems we still need this workaround (Requested by Ossy on
#webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-06-14

* BuildSlaveSupport/build.webkit.org-config/master.cfg:
(loadBuilderConfig):

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

7 years agoChange RenderTableSection::calcRowLogicalHeight to round rather than floor height
eae@chromium.org [Thu, 14 Jun 2012 20:08:26 +0000 (20:08 +0000)]
Change RenderTableSection::calcRowLogicalHeight to round rather than floor height
https://bugs.webkit.org/show_bug.cgi?id=88813

Reviewed by Julien Chaffraix.

Source/WebCore:

Change RenderTableSection::calcRowLogicalHeight to round the
logicalHeight instead of flooring it. This matches our rounding logic
elsewhere and results in table rows better matching the expected height.

Test: fast/sub-pixel/table-rows-have-stable-height.html

* rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::calcRowLogicalHeight):

LayoutTests:

Add new test ensuring that rows are laid out the desired height when
given a height that maps to a device pixel value.

* fast/sub-pixel/table-rows-have-stable-height-expected.txt: Added.
* fast/sub-pixel/table-rows-have-stable-height.html: Added.

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

7 years agomaster.cfg cleanup, remove unnecessary workaround
ossy@webkit.org [Thu, 14 Jun 2012 20:02:31 +0000 (20:02 +0000)]
master.cfg cleanup, remove unnecessary workaround
https://bugs.webkit.org/show_bug.cgi?id=88994

Reviewed by Lucas Forschler.

* BuildSlaveSupport/build.webkit.org-config/master.cfg:
(loadBuilderConfig):

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

7 years agomaster.cfg cleanup, pass BuildStep instances instead of BuildStep subclasses
ossy@webkit.org [Thu, 14 Jun 2012 20:02:16 +0000 (20:02 +0000)]
cfg cleanup, pass BuildStep instances instead of BuildStep subclasses
https://bugs.webkit.org/show_bug.cgi?id=89001

Reviewed by Lucas Forschler.

* BuildSlaveSupport/build.webkit.org-config/master.cfg:
(Factory.__init__):
(BuildFactory.__init__):
(TestFactory.__init__):
(BuildAndTestFactory.__init__):
(BuildAndPerfTestFactory.__init__):
(BuildAndPerfTestWebKit2Factory.__init__):
(DownloadAndPerfTestFactory.__init__):
(DownloadAndPerfTestWebKit2Factory.__init__):

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

7 years agoUnhide login form on the build.webkit.org
ossy@webkit.org [Thu, 14 Jun 2012 20:02:01 +0000 (20:02 +0000)]
Unhide login form on the build.webkit.org
https://bugs.webkit.org/show_bug.cgi?id=88981

Reviewed by Lucas Forschler.

* BuildSlaveSupport/build.webkit.org-config/public_html/default.css:

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

7 years ago[Gtk] Add support in DumpRenderTree for tracking repaints
zandobersek@gmail.com [Thu, 14 Jun 2012 19:52:56 +0000 (19:52 +0000)]
[Gtk] Add support in DumpRenderTree for tracking repaints
https://bugs.webkit.org/show_bug.cgi?id=87658

Reviewed by Martin Robinson.

Source/WebKit/gtk:

Add methods to the DumpRenderTreeSupport class for controlling the
status of repaint tracking along with retreiving and resetting the
tracked repaints.

* WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
(DumpRenderTreeSupportGtk::setTracksRepaints):
(DumpRenderTreeSupportGtk::isTrackingRepaints):
(DumpRenderTreeSupportGtk::trackedRepaintRects):
(DumpRenderTreeSupportGtk::resetTrackedRepaints):
* WebCoreSupport/DumpRenderTreeSupportGtk.h:
(DumpRenderTreeSupportGtk):

Tools:

Reimplement the displayWebView method in DumpRenderTree - force a
repaint before starting tracking repaints and resetting them.

When gathering pixel output from a web view, if tracking repaints,
paint an overlay over the output with the overlay being clear in the
areas where the repaints occurred.

* DumpRenderTree/gtk/DumpRenderTree.cpp:
(displayWebView):
(resetDefaultsToConsistentValues):
* DumpRenderTree/gtk/PixelDumpSupportGtk.cpp:
(paintOverlay):
(fillRepaintOverlayIntoContext):
(createBitmapContextFromWebView):

LayoutTests:

Update pixel baselines for all the tests in fast/repaint now that the
Gtk's DumpRenderTree properly tracks the repaint rects and displays
an appropriate overlay in the pixel results for such tests.

* platform/gtk/fast/repaint/4774354-expected.png:
* platform/gtk/fast/repaint/4776765-expected.png:
* platform/gtk/fast/repaint/absolute-position-change-containing-block-expected.png: Copied from LayoutTests/platform/gtk/fast/repaint/float-new-in-block-expected.png.
* platform/gtk/fast/repaint/absolute-position-changed-expected.png: Copied from LayoutTests/platform/gtk/fast/repaint/layer-visibility-expected.png.
* platform/gtk/fast/repaint/absolute-position-moved-expected.png: Copied from LayoutTests/platform/gtk/fast/repaint/table-outer-border-expected.png.
* platform/gtk/fast/repaint/background-clip-text-expected.png: Copied from LayoutTests/platform/gtk/fast/repaint/selection-clear-expected.png.
* platform/gtk/fast/repaint/background-generated-expected.png:
* platform/gtk/fast/repaint/background-misaligned-expected.png:
* platform/gtk/fast/repaint/background-scaling-expected.png: Copied from LayoutTests/platform/gtk/fast/repaint/clip-with-layout-delta-expected.png.
* platform/gtk/fast/repaint/backgroundSizeRepaint-expected.png:
* platform/gtk/fast/repaint/block-layout-inline-children-float-positioned-expected.png: Added.
* platform/gtk/fast/repaint/block-layout-inline-children-replaced-expected.png: Added.
* platform/gtk/fast/repaint/block-no-inflow-children-expected.png: Copied from LayoutTests/platform/gtk/fast/repaint/slider-thumb-drag-release-expected.png.
* platform/gtk/fast/repaint/block-selection-gap-in-composited-layer-expected.png:
* platform/gtk/fast/repaint/block-selection-gap-in-table-cell-expected.png:
* platform/gtk/fast/repaint/block-selection-gap-stale-cache-2-expected.png:
* platform/gtk/fast/repaint/block-selection-gap-stale-cache-expected.png:
* platform/gtk/fast/repaint/body-background-image-expected.png:
* platform/gtk/fast/repaint/border-fit-lines-expected.png:
* platform/gtk/fast/repaint/border-radius-repaint-expected.png:
* platform/gtk/fast/repaint/border-repaint-glitch-expected.png:
* platform/gtk/fast/repaint/box-shadow-dynamic-expected.png:
* platform/gtk/fast/repaint/box-shadow-h-expected.png:
* platform/gtk/fast/repaint/box-shadow-v-expected.png:
* platform/gtk/fast/repaint/bugzilla-3509-expected.png:
* platform/gtk/fast/repaint/bugzilla-5699-expected.png:
* platform/gtk/fast/repaint/bugzilla-6278-expected.png:
* platform/gtk/fast/repaint/bugzilla-6388-expected.png:
* platform/gtk/fast/repaint/bugzilla-6473-expected.png:
* platform/gtk/fast/repaint/bugzilla-7235-expected.png:
* platform/gtk/fast/repaint/button-spurious-layout-hint-expected.png:
* platform/gtk/fast/repaint/canvas-putImageData-expected.png: Copied from LayoutTests/platform/gtk/fast/repaint/selection-clear-expected.png.
* platform/gtk/fast/repaint/caret-outside-block-expected.png:
* platform/gtk/fast/repaint/change-transform-expected.png:
* platform/gtk/fast/repaint/clip-with-layout-delta-expected.png:
* platform/gtk/fast/repaint/clipped-relative-expected.png:
* platform/gtk/fast/repaint/containing-block-position-change-expected.png:
* platform/gtk/fast/repaint/content-into-overflow-expected.png:
* platform/gtk/fast/repaint/continuation-after-outline-expected.png:
* platform/gtk/fast/repaint/control-clip-expected.png:
* platform/gtk/fast/repaint/create-layer-repaint-expected.png:
* platform/gtk/fast/repaint/delete-into-nested-block-expected.png:
* platform/gtk/fast/repaint/dynamic-table-vertical-alignment-change-expected.png:
* platform/gtk/fast/repaint/erase-overflow-expected.png:
* platform/gtk/fast/repaint/fixed-after-scroll-expected.png: Copied from LayoutTests/platform/gtk/fast/repaint/float-in-new-block-with-layout-delta-expected.png.
* platform/gtk/fast/repaint/fixed-and-absolute-position-scrolled-expected.png: Copied from LayoutTests/platform/gtk/fast/repaint/table-outer-border-expected.png.
* platform/gtk/fast/repaint/fixed-child-move-after-scroll-expected.png: Added.
* platform/gtk/fast/repaint/fixed-child-of-fixed-move-after-scroll-expected.png: Added.
* platform/gtk/fast/repaint/fixed-child-of-transformed-move-after-scroll-expected.png: Added.
* platform/gtk/fast/repaint/fixed-expected.png:
* platform/gtk/fast/repaint/fixed-in-page-scale-expected.png: Added.
* platform/gtk/fast/repaint/fixed-move-after-keyboard-scroll-expected.png: Added.
* platform/gtk/fast/repaint/fixed-move-after-scroll-expected.png: Added.
* platform/gtk/fast/repaint/fixed-position-transparency-with-overflow-expected.png: Copied from LayoutTests/platform/gtk/fast/repaint/button-spurious-layout-hint-expected.png.
* platform/gtk/fast/repaint/fixed-right-bottom-in-page-scale-expected.png: Copied from LayoutTests/platform/gtk/fast/repaint/slider-thumb-drag-release-expected.png.
* platform/gtk/fast/repaint/fixed-right-in-page-scale-expected.png: Copied from LayoutTests/platform/gtk/fast/repaint/float-in-new-block-with-layout-delta-expected.png.
* platform/gtk/fast/repaint/fixed-scale-expected.png: Copied from LayoutTests/platform/gtk/fast/repaint/table-outer-border-expected.png.
* platform/gtk/fast/repaint/fixed-scroll-simple-expected.png: Copied from LayoutTests/platform/gtk/fast/repaint/table-section-overflow-expected.png.
* platform/gtk/fast/repaint/fixed-table-cell-expected.png: Copied from LayoutTests/platform/gtk/fast/repaint/table-outer-border-expected.png.
* platform/gtk/fast/repaint/fixed-table-overflow-expected.png: Copied from LayoutTests/platform/gtk/fast/repaint/table-outer-border-expected.png.
* platform/gtk/fast/repaint/fixed-table-overflow-zindex-expected.png: Copied from LayoutTests/platform/gtk/fast/repaint/table-outer-border-expected.png.
* platform/gtk/fast/repaint/fixed-to-relative-position-with-absolute-child-expected.png: Copied from LayoutTests/platform/gtk/fast/repaint/float-in-new-block-with-layout-delta-expected.png.
* platform/gtk/fast/repaint/fixed-tranformed-expected.png: Added.
* platform/gtk/fast/repaint/flexible-box-overflow-expected.png:
* platform/gtk/fast/repaint/flexible-box-overflow-horizontal-expected.png:
* platform/gtk/fast/repaint/float-in-new-block-with-layout-delta-expected.png:
* platform/gtk/fast/repaint/float-move-during-layout-expected.png:
* platform/gtk/fast/repaint/float-new-in-block-expected.png:
* platform/gtk/fast/repaint/float-overflow-expected.png: Added.
* platform/gtk/fast/repaint/float-overflow-right-expected.png: Added.
* platform/gtk/fast/repaint/focus-layers-expected.png:
* platform/gtk/fast/repaint/gradients-em-stops-repaint-expected.png: Copied from LayoutTests/platform/gtk/fast/repaint/table-outer-border-expected.png.
* platform/gtk/fast/repaint/iframe-scroll-repaint-expected.png: Copied from LayoutTests/platform/gtk/fast/repaint/intermediate-layout-position-clip-expected.png.
* platform/gtk/fast/repaint/inline-block-overflow-expected.png:
* platform/gtk/fast/repaint/inline-block-resize-expected.png: Copied from LayoutTests/platform/gtk/fast/repaint/table-outer-border-expected.png.
* platform/gtk/fast/repaint/inline-color-change-expected.png:
* platform/gtk/fast/repaint/inline-horizontal-bt-overflow-expected.png: Copied from LayoutTests/platform/gtk/fast/repaint/layer-hide-when-needs-layout-expected.png.
* platform/gtk/fast/repaint/inline-outline-repaint-expected.png:
* platform/gtk/fast/repaint/inline-overflow-expected.png: Copied from LayoutTests/platform/gtk/fast/repaint/layer-hide-when-needs-layout-expected.png.
* platform/gtk/fast/repaint/inline-relative-positioned-expected.png: Copied from LayoutTests/platform/gtk/fast/repaint/selection-clear-expected.png.
* platform/gtk/fast/repaint/inline-vertical-lr-overflow-expected.png: Copied from LayoutTests/platform/gtk/fast/repaint/block-selection-gap-in-composited-layer-expected.png.
* platform/gtk/fast/repaint/inline-vertical-rl-overflow-expected.png: Copied from LayoutTests/platform/gtk/fast/repaint/button-spurious-layout-hint-expected.png.
* platform/gtk/fast/repaint/intermediate-layout-position-clip-expected.png:
* platform/gtk/fast/repaint/intermediate-layout-position-expected.png:
* platform/gtk/fast/repaint/invisible-objects-expected.png:
* platform/gtk/fast/repaint/japanese-rl-selection-clear-expected.png: Added.
* platform/gtk/fast/repaint/japanese-rl-selection-repaint-expected.png: Added.
* platform/gtk/fast/repaint/japanese-rl-selection-repaint-in-regions-expected.png: Added.
* platform/gtk/fast/repaint/layer-child-outline-expected.png:
* platform/gtk/fast/repaint/layer-full-repaint-expected.png:
* platform/gtk/fast/repaint/layer-hide-when-needs-layout-expected.png:
* platform/gtk/fast/repaint/layer-outline-expected.png:
* platform/gtk/fast/repaint/layer-outline-horizontal-expected.png:
* platform/gtk/fast/repaint/layer-visibility-expected.png:
* platform/gtk/fast/repaint/layout-state-only-positioned-expected.png:
* platform/gtk/fast/repaint/layout-state-relative-expected.png:
* platform/gtk/fast/repaint/layout-state-scrolloffset-expected.png: Added.
* platform/gtk/fast/repaint/layout-state-scrolloffset2-expected.png: Added.
* platform/gtk/fast/repaint/layout-state-scrolloffset3-expected.png: Added.
* platform/gtk/fast/repaint/line-flow-with-floats-1-expected.png:
* platform/gtk/fast/repaint/line-flow-with-floats-10-expected.png:
* platform/gtk/fast/repaint/line-flow-with-floats-2-expected.png:
* platform/gtk/fast/repaint/line-flow-with-floats-3-expected.png:
* platform/gtk/fast/repaint/line-flow-with-floats-4-expected.png:
* platform/gtk/fast/repaint/line-flow-with-floats-5-expected.png:
* platform/gtk/fast/repaint/line-flow-with-floats-6-expected.png:
* platform/gtk/fast/repaint/line-flow-with-floats-7-expected.png:
* platform/gtk/fast/repaint/line-flow-with-floats-8-expected.png:
* platform/gtk/fast/repaint/line-flow-with-floats-9-expected.png:
* platform/gtk/fast/repaint/line-flow-with-floats-in-regions-expected.png: Added.
* platform/gtk/fast/repaint/line-in-scrolled-clipped-block-expected.png:
* platform/gtk/fast/repaint/line-overflow-expected.png:
* platform/gtk/fast/repaint/lines-with-layout-delta-expected.png:
* platform/gtk/fast/repaint/list-marker-2-expected.png:
* platform/gtk/fast/repaint/list-marker-expected.png:
* platform/gtk/fast/repaint/make-children-non-inline-expected.png:
* platform/gtk/fast/repaint/moving-shadow-on-container-expected.png: Copied from LayoutTests/platform/gtk/fast/repaint/block-selection-gap-in-composited-layer-expected.png.
* platform/gtk/fast/repaint/moving-shadow-on-path-expected.png: Added.
* platform/gtk/fast/repaint/multicol-repaint-expected.png: Copied from LayoutTests/platform/gtk/fast/repaint/slider-thumb-drag-release-expected.png.
* platform/gtk/fast/repaint/nested-iframe-scroll-inner-expected.png: Copied from LayoutTests/platform/gtk/fast/repaint/intermediate-layout-position-expected.png.
* platform/gtk/fast/repaint/nested-iframe-scroll-outer-expected.png: Copied from LayoutTests/platform/gtk/fast/repaint/block-selection-gap-in-table-cell-expected.png.
* platform/gtk/fast/repaint/no-caret-repaint-in-non-content-editable-element-expected.png:
* platform/gtk/fast/repaint/opacity-change-on-overflow-float-expected.png:
* platform/gtk/fast/repaint/outline-child-repaint-expected.png:
* platform/gtk/fast/repaint/outline-inset-expected.png:
* platform/gtk/fast/repaint/outline-repaint-glitch-expected.png:
* platform/gtk/fast/repaint/outline-shrinking-expected.png:
* platform/gtk/fast/repaint/overflow-auto-in-overflow-auto-scrolled-expected.png: Copied from LayoutTests/platform/gtk/fast/repaint/table-outer-border-expected.png.
* platform/gtk/fast/repaint/overflow-clip-subtree-layout-expected.png: Copied from LayoutTests/platform/gtk/fast/repaint/block-selection-gap-in-composited-layer-expected.png.
* platform/gtk/fast/repaint/overflow-delete-line-expected.png:
* platform/gtk/fast/repaint/overflow-flipped-writing-mode-block-expected.png: Copied from LayoutTests/platform/gtk/fast/repaint/float-in-new-block-with-layout-delta-expected.png.
* platform/gtk/fast/repaint/overflow-flipped-writing-mode-block-in-regions-expected.png: Copied from LayoutTests/platform/gtk/fast/repaint/layer-full-repaint-expected.png.
* platform/gtk/fast/repaint/overflow-flipped-writing-mode-table-expected.png: Copied from LayoutTests/platform/gtk/fast/repaint/float-in-new-block-with-layout-delta-expected.png.
* platform/gtk/fast/repaint/overflow-hidden-in-overflow-hidden-scrolled-expected.png: Copied from LayoutTests/platform/gtk/fast/repaint/float-in-new-block-with-layout-delta-expected.png.
* platform/gtk/fast/repaint/overflow-hide-expected.png: Copied from LayoutTests/platform/gtk/fast/repaint/layer-hide-when-needs-layout-expected.png.
* platform/gtk/fast/repaint/overflow-into-content-expected.png:
* platform/gtk/fast/repaint/overflow-outline-repaint-expected.png:
* platform/gtk/fast/repaint/overflow-scroll-body-appear-expected.png:
* platform/gtk/fast/repaint/overflow-scroll-delete-expected.png:
* platform/gtk/fast/repaint/overflow-scroll-in-overflow-scroll-scrolled-expected.png: Copied from LayoutTests/platform/gtk/fast/repaint/table-outer-border-expected.png.
* platform/gtk/fast/repaint/overflow-show-expected.png: Copied from LayoutTests/platform/gtk/fast/repaint/table-row-expected.png.
* platform/gtk/fast/repaint/reflection-redraw-expected.png:
* platform/gtk/fast/repaint/reflection-repaint-test-expected.png:
* platform/gtk/fast/repaint/region-painting-invalidation-expected.png: Copied from LayoutTests/platform/gtk/fast/repaint/float-new-in-block-expected.png.
* platform/gtk/fast/repaint/region-painting-via-layout-expected.png: Copied from LayoutTests/platform/gtk/fast/repaint/selection-clear-expected.png.
* platform/gtk/fast/repaint/rel-positioned-inline-with-overflow-expected.png:
* platform/gtk/fast/repaint/renderer-destruction-by-invalidateSelection-crash-expected.png:
* platform/gtk/fast/repaint/repaint-across-writing-mode-boundary-expected.png: Added.
* platform/gtk/fast/repaint/repaint-during-scroll-expected.png: Copied from LayoutTests/platform/gtk/fast/repaint/float-new-in-block-expected.png.
* platform/gtk/fast/repaint/repaint-resized-overflow-expected.png:
* platform/gtk/fast/repaint/repaint-svg-after-style-change-expected.png: Copied from LayoutTests/platform/gtk/fast/repaint/table-col-background-expected.png.
* platform/gtk/fast/repaint/scale-page-shrink-expected.png:
* platform/gtk/fast/repaint/scroll-absolute-layer-with-reflection-expected.png: Copied from LayoutTests/platform/gtk/fast/repaint/float-new-in-block-expected.png.
* platform/gtk/fast/repaint/scroll-fixed-layer-with-no-visible-content-expected.png: Copied from LayoutTests/platform/gtk/fast/repaint/table-outer-border-expected.png.
* platform/gtk/fast/repaint/scroll-fixed-layer-with-reflection-expected.png: Copied from LayoutTests/platform/gtk/fast/repaint/erase-overflow-expected.png.
* platform/gtk/fast/repaint/scroll-fixed-layer-with-transformed-parent-layer-expected.png: Copied from LayoutTests/platform/gtk/fast/repaint/layer-visibility-expected.png.
* platform/gtk/fast/repaint/scroll-fixed-reflected-layer-expected.png: Copied from LayoutTests/platform/gtk/fast/repaint/erase-overflow-expected.png.
* platform/gtk/fast/repaint/scroll-in-clipped-layer-expected.png: Copied from LayoutTests/platform/gtk/fast/repaint/table-outer-border-expected.png.
* platform/gtk/fast/repaint/scroll-in-fixed-layer-expected.png: Copied from LayoutTests/platform/gtk/fast/repaint/table-outer-border-expected.png.
* platform/gtk/fast/repaint/scroll-in-transformed-layer-expected.png: Added.
* platform/gtk/fast/repaint/scroll-inside-table-cell-expected.png: Copied from LayoutTests/platform/gtk/fast/repaint/continuation-after-outline-expected.png.
* platform/gtk/fast/repaint/scroll-relative-table-inside-table-cell-expected.png: Copied from LayoutTests/platform/gtk/fast/repaint/block-selection-gap-in-composited-layer-expected.png.
* platform/gtk/fast/repaint/scroll-with-transformed-parent-layer-expected.png: Added.
* platform/gtk/fast/repaint/search-field-cancel-expected.png:
* platform/gtk/fast/repaint/select-option-background-color-expected.png: Added.
* platform/gtk/fast/repaint/selected-replaced-expected.png:
* platform/gtk/fast/repaint/selection-after-delete-expected.png:
* platform/gtk/fast/repaint/selection-after-remove-expected.png:
* platform/gtk/fast/repaint/selection-clear-expected.png:
* platform/gtk/fast/repaint/selection-gap-overflow-scroll-2-expected.png: Added.
* platform/gtk/fast/repaint/selection-gap-overflow-scroll-expected.png:
* platform/gtk/fast/repaint/selection-rl-expected.png: Added.
* platform/gtk/fast/repaint/shadow-multiple-horizontal-expected.png:
* platform/gtk/fast/repaint/shadow-multiple-strict-horizontal-expected.png:
* platform/gtk/fast/repaint/shadow-multiple-strict-vertical-expected.png:
* platform/gtk/fast/repaint/shadow-multiple-vertical-expected.png:
* platform/gtk/fast/repaint/slider-thumb-drag-release-expected.png:
* platform/gtk/fast/repaint/slider-thumb-float-expected.png: Copied from LayoutTests/platform/gtk/fast/repaint/clip-with-layout-delta-expected.png.
* platform/gtk/fast/repaint/stacked-diacritics-expected.png: Added.
* platform/gtk/fast/repaint/static-to-positioned-expected.png:
* platform/gtk/fast/repaint/subtree-layoutstate-transform-expected.png:
* platform/gtk/fast/repaint/subtree-root-clip-2-expected.png: Copied from LayoutTests/platform/gtk/fast/repaint/table-col-background-expected.png.
* platform/gtk/fast/repaint/subtree-root-clip-3-expected.png: Copied from LayoutTests/platform/gtk/fast/repaint/float-in-new-block-with-layout-delta-expected.png.
* platform/gtk/fast/repaint/subtree-root-clip-expected.png: Copied from LayoutTests/platform/gtk/fast/repaint/table-col-background-expected.png.
* platform/gtk/fast/repaint/subtree-root-skipped-expected.png:
* platform/gtk/fast/repaint/svg-layout-root-style-attr-update-expected.png: Copied from LayoutTests/platform/gtk/fast/repaint/button-spurious-layout-hint-expected.png.
* platform/gtk/fast/repaint/table-cell-collapsed-border-expected.png:
* platform/gtk/fast/repaint/table-cell-move-expected.png:
* platform/gtk/fast/repaint/table-cell-overflow-expected.png: Copied from LayoutTests/platform/gtk/fast/repaint/clip-with-layout-delta-expected.png.
* platform/gtk/fast/repaint/table-col-background-expected.png:
* platform/gtk/fast/repaint/table-collapsed-border-expected.png:
* platform/gtk/fast/repaint/table-extra-bottom-grow-expected.png:
* platform/gtk/fast/repaint/table-hover-on-link-expected.png: Copied from LayoutTests/platform/gtk/fast/repaint/intermediate-layout-position-clip-expected.png.
* platform/gtk/fast/repaint/table-outer-border-expected.png:
* platform/gtk/fast/repaint/table-overflow-auto-in-overflow-auto-scrolled-expected.png: Copied from LayoutTests/platform/gtk/fast/repaint/selection-clear-expected.png.
* platform/gtk/fast/repaint/table-overflow-hidden-in-overflow-hidden-scrolled-expected.png: Copied from LayoutTests/platform/gtk/fast/repaint/float-in-new-block-with-layout-delta-expected.png.
* platform/gtk/fast/repaint/table-overflow-scroll-in-overflow-scroll-scrolled-expected.png: Copied from LayoutTests/platform/gtk/fast/repaint/selection-clear-expected.png.
* platform/gtk/fast/repaint/table-row-expected.png:
* platform/gtk/fast/repaint/table-section-overflow-expected.png:
* platform/gtk/fast/repaint/table-section-repaint-expected.png:
* platform/gtk/fast/repaint/table-two-pass-layout-overpaint-expected.png:
* platform/gtk/fast/repaint/table-writing-modes-h-expected.png: Added.
* platform/gtk/fast/repaint/table-writing-modes-v-expected.png: Added.
* platform/gtk/fast/repaint/text-append-dirty-lines-expected.png:
* platform/gtk/fast/repaint/text-emphasis-h-expected.png: Copied from LayoutTests/platform/gtk/fast/repaint/continuation-after-outline-expected.png.
* platform/gtk/fast/repaint/text-emphasis-v-expected.png: Copied from LayoutTests/platform/gtk/fast/repaint/float-in-new-block-with-layout-delta-expected.png.
* platform/gtk/fast/repaint/text-in-relative-positioned-inline-expected.png: Copied from LayoutTests/platform/gtk/fast/repaint/button-spurious-layout-hint-expected.png.
* platform/gtk/fast/repaint/text-selection-rect-in-overflow-2-expected.png:
* platform/gtk/fast/repaint/text-selection-rect-in-overflow-expected.png:
* platform/gtk/fast/repaint/text-shadow-expected.png:
* platform/gtk/fast/repaint/text-shadow-horizontal-expected.png:
* platform/gtk/fast/repaint/textarea-set-disabled-expected.png: Copied from LayoutTests/platform/gtk/fast/repaint/float-in-new-block-with-layout-delta-expected.png.
* platform/gtk/fast/repaint/trailing-floats-root-line-box-overflow-expected.png: Copied from LayoutTests/platform/gtk/fast/repaint/table-row-expected.png.
* platform/gtk/fast/repaint/transform-absolute-child-expected.png:
* platform/gtk/fast/repaint/transform-absolute-in-positioned-container-expected.png:
* platform/gtk/fast/repaint/transform-disable-layoutstate-expected.png:
* platform/gtk/fast/repaint/transform-layout-repaint-expected.png:
* platform/gtk/fast/repaint/transform-relative-position-expected.png:
* platform/gtk/fast/repaint/transform-repaint-descendants-expected.png:
* platform/gtk/fast/repaint/transform-replaced-shadows-expected.png:
* platform/gtk/fast/repaint/transform-rotate-and-remove-expected.png: Copied from LayoutTests/platform/gtk/fast/repaint/table-col-background-expected.png.
* platform/gtk/fast/repaint/transform-translate-expected.png:
* platform/gtk/fast/repaint/view-background-from-body-1-expected.png: Copied from LayoutTests/platform/gtk/fast/repaint/block-selection-gap-stale-cache-expected.png.
* platform/gtk/fast/repaint/view-background-from-body-2-expected.png: Copied from LayoutTests/platform/gtk/fast/repaint/invisible-objects-expected.png.

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

7 years agonew-run-webkit-tests doesn't find similar platform tests for a keyword
dpranke@chromium.org [Thu, 14 Jun 2012 19:43:05 +0000 (19:43 +0000)]
new-run-webkit-tests doesn't find similar platform tests for a keyword
https://bugs.webkit.org/show_bug.cgi?id=37956

Reviewed by Ryosuke Niwa.

This patches adds support for NRWT so that if you type
"new-run-webkit-tests foo" it will run all the tests in foo as
well as platform/foo for all of the platforms that are normally
searched (this only applies to directories, not to individual tests).

* Scripts/webkitpy/layout_tests/controllers/manager.py:
(Manager.collect_tests):
* Scripts/webkitpy/layout_tests/port/base.py:
(Port.tests):
(Port):
(Port._expanded_paths):
* Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py:
(MainTest.test_no_http_tests):
(MainTest):
(MainTest.test_platform_tests_are_found):

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

7 years agoNRWT should honor --skipped=[default|ignore|only], like ORWT does
dpranke@chromium.org [Thu, 14 Jun 2012 19:40:06 +0000 (19:40 +0000)]
NRWT should honor --skipped=[default|ignore|only], like ORWT does
https://bugs.webkit.org/show_bug.cgi?id=66308

Reviewed by Ryosuke Niwa.

This patch adds support for ORWT's --skipped=(default|ignore|only)
flag and cleans up the interaction between that and --ignore.

Individual tests (but not directories) explicitly listed on the
command line will always be run regardless of what is passed
for --skipped and --ignore.

This patch also changes the "found" and "running" log messages
since it wasn't clear how the skipped tests were included in those numbers.

* Scripts/webkitpy/layout_tests/controllers/manager.py:
(Manager.__init__):
(Manager.collect_tests):
(Manager.prepare_lists_and_print_output):
* Scripts/webkitpy/layout_tests/port/test.py:
* Scripts/webkitpy/layout_tests/run_webkit_tests.py:
(_set_up_derived_options):
(parse_args):
* Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py:
(MainTest.test_ignore_flag):
(MainTest):
(MainTest.test_skipped_flag):

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

7 years agoWeb Inspector: Remove devtoolsInjectedScript hidden property
commit-queue@webkit.org [Thu, 14 Jun 2012 19:24:35 +0000 (19:24 +0000)]
Web Inspector: Remove devtoolsInjectedScript hidden property
https://bugs.webkit.org/show_bug.cgi?id=89087

We use the devtoolsInjectedScript hidden property to reference a InjectedScript object
for a given ScriptState, but we also have the same reference in the InjectedScriptManager's
hash maps. Just use the hash maps and remove the hidden property from the global object.

Patch by Andrey Adaikin <aandrey@chromium.org> on 2012-06-14
Reviewed by Pavel Feldman.

* bindings/js/JSDOMGlobalObject.cpp:
(WebCore::JSDOMGlobalObject::visitChildren):
* bindings/js/JSDOMGlobalObject.h:
(JSDOMGlobalObject):
* bindings/js/JSInjectedScriptManager.cpp:
(WebCore::InjectedScriptManager::createInjectedScript):
* bindings/v8/V8HiddenPropertyName.h:
(WebCore):
* bindings/v8/custom/V8InjectedScriptManager.cpp:
* inspector/InjectedScriptManager.cpp:
(WebCore::InjectedScriptManager::discardInjectedScripts):
(WebCore::InjectedScriptManager::discardInjectedScriptsFor):
(WebCore::InjectedScriptManager::injectedScriptFor):
(WebCore):
(WebCore::InjectedScriptManager::wrapWebGLRenderingContextForInstrumentation):
* inspector/InjectedScriptManager.h:
(InjectedScriptManager):

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

7 years ago[chromium] Move opaque rectangle tracking logic out of compositor core
commit-queue@webkit.org [Thu, 14 Jun 2012 18:54:13 +0000 (18:54 +0000)]
[chromium] Move opaque rectangle tracking logic out of compositor core
https://bugs.webkit.org/show_bug.cgi?id=89031

Patch by James Robinson <jamesr@chromium.org> on 2012-06-14
Reviewed by Adrienne Walker.

Source/WebCore:

This moves the opaque paint tracking logic from the compositor (specifically CanvasLayerTextureUpdater) out to a
dedicated class used by GraphicsLayerChromium for GraphicsContext-painted content. This changes the interface
exposed by the compositor to pass a SkCanvas and let the user fill in an opaque rect if needed. Callers that are
using GraphicsContext to paint can instantiate a PlatformContextSkia / GraphicsContext around this SkCanvas if
they choose to, or use some other strategy, or not fill it in at all. This avoids creating extra wrapper classes
if the eventual caller is going to use the underlying SkCanvas anyway (such as WebContentLayer) and breaks the
dependency from the compositor code on GraphicsContext / PlatformContextSkia.

OpaqueRectTrackingContentLayerDelegate is a helper class that wraps a ContentLayerDelegate implementation with
PlatformContextSkia's opaque region tracking logic.

* WebCore.gypi:
* platform/graphics/chromium/BitmapCanvasLayerTextureUpdater.cpp:
(WebCore::BitmapCanvasLayerTextureUpdater::BitmapCanvasLayerTextureUpdater):
(WebCore::BitmapCanvasLayerTextureUpdater::prepareToUpdate):
(WebCore::BitmapCanvasLayerTextureUpdater::updateTextureRect):
(WebCore::BitmapCanvasLayerTextureUpdater::setOpaque):
* platform/graphics/chromium/BitmapCanvasLayerTextureUpdater.h:
(WebCore):
(BitmapCanvasLayerTextureUpdater):
* platform/graphics/chromium/CanvasLayerTextureUpdater.cpp:
(WebCore::CanvasLayerTextureUpdater::paintContents):
* platform/graphics/chromium/CanvasLayerTextureUpdater.h:
(WebCore):
(CanvasLayerTextureUpdater):
* platform/graphics/chromium/ContentLayerChromium.cpp:
(WebCore::ContentLayerPainter::paint):
* platform/graphics/chromium/ContentLayerChromium.h:
(ContentLayerDelegate):
(WebCore):
* platform/graphics/chromium/GraphicsLayerChromium.cpp:
(WebCore::GraphicsLayerChromium::GraphicsLayerChromium):
(WebCore::GraphicsLayerChromium::paint):
* platform/graphics/chromium/GraphicsLayerChromium.h:
(GraphicsLayerChromium):
* platform/graphics/chromium/LayerPainterChromium.h:
(LayerPainterChromium):
* platform/graphics/chromium/LinkHighlight.cpp:
(WebCore::LinkHighlight::paintContents):
* platform/graphics/chromium/LinkHighlight.h:
(LinkHighlight):
* platform/graphics/chromium/OpaqueRectTrackingContentLayerDelegate.cpp: Added.
(WebCore):
(WebCore::OpaqueRectTrackingContentLayerDelegate::OpaqueRectTrackingContentLayerDelegate):
(WebCore::OpaqueRectTrackingContentLayerDelegate::~OpaqueRectTrackingContentLayerDelegate):
(WebCore::OpaqueRectTrackingContentLayerDelegate::paintContents):
* platform/graphics/chromium/OpaqueRectTrackingContentLayerDelegate.h: Added.
(WebCore):
(GraphicsContextPainter):
(WebCore::GraphicsContextPainter::~GraphicsContextPainter):
(OpaqueRectTrackingContentLayerDelegate):
(WebCore::OpaqueRectTrackingContentLayerDelegate::setOpaque):
* platform/graphics/chromium/PlatformCanvas.cpp:
(WebCore::PlatformCanvas::Painter::Painter):
* platform/graphics/chromium/SkPictureCanvasLayerTextureUpdater.cpp:
(WebCore::SkPictureCanvasLayerTextureUpdater::prepareToUpdate):
* platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
* platform/graphics/chromium/cc/CCLayerTreeHost.h:
(WebCore):

Source/WebKit/chromium:

Moves the grayscale/subpixel AA text decision into NonCompositedContentHost and removes one layer of indirection
betwen NCCH and WVI that existed only for historical reasons.

Ports the opaque rect tracking tests that were in LayerTextureUpdaterTest to
OpaquerectTrackingContentLayerDelegateTest to reflect the move in responsibilities.

* WebKit.gypi:
* src/NonCompositedContentHost.cpp:
(WebKit::NonCompositedContentHost::NonCompositedContentHost):
(WebKit::NonCompositedContentHost::setOpaque):
(WebKit::NonCompositedContentHost::paintContents):
* src/NonCompositedContentHost.h:
(WebCore):
(WebKit):
(WebKit::NonCompositedContentHost::create):
(NonCompositedContentHost):
* src/WebContentLayerImpl.cpp:
(WebKit::WebContentLayerImpl::paintContents):
* src/WebContentLayerImpl.h:
(WebContentLayerImpl):
* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::paintRootLayer):
(WebKit::WebViewImpl::setIsAcceleratedCompositingActive):
* src/WebViewImpl.h:
(WebViewImpl):
* tests/CCLayerTreeHostTest.cpp:
(WTF::TestOpacityChangeLayerDelegate::paintContents):
(WTF::MockContentLayerDelegate::paintContents):
* tests/LayerChromiumTest.cpp:
* tests/LayerTextureUpdaterTest.cpp: Removed.
* tests/OpaqueRectTrackingContentLayerDelegateTest.cpp: Added.
(WebCore):
(PaintCallback):
(TestLayerPainterChromium):
(WebCore::TestLayerPainterChromium::TestLayerPainterChromium):
(WebCore::PaintFillAlpha::operator()):
(WebCore::PaintFillPartialOpaque::PaintFillPartialOpaque):
(PaintFillPartialOpaque):
(WebCore::PaintFillPartialOpaque::operator()):
(OpaqueRectTrackingContentLayerDelegateTest):
(WebCore::OpaqueRectTrackingContentLayerDelegateTest::OpaqueRectTrackingContentLayerDelegateTest):
(WebCore::OpaqueRectTrackingContentLayerDelegateTest::skCanvas):
(WebCore::OpaqueRectTrackingContentLayerDelegateTest::canvasRect):
(WebCore::TEST_F):

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

7 years agoRebaseline some Mac results after r120246.
simon.fraser@apple.com [Thu, 14 Jun 2012 18:37:41 +0000 (18:37 +0000)]
Rebaseline some Mac results after r120246.

* platform/mac/media/audio-controls-rendering-expected.txt:
* platform/mac/media/controls-after-reload-expected.txt:
* platform/mac/media/controls-strict-expected.txt:
* platform/mac/media/video-colorspace-yuv420-expected.txt:
* platform/mac/media/video-colorspace-yuv422-expected.txt:
* platform/mac/media/video-controls-rendering-expected.txt:
* platform/mac/media/video-display-toggle-expected.txt:
* platform/mac/media/video-no-audio-expected.txt:
* platform/mac/media/video-playing-and-pause-expected.txt:

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

7 years ago[Chromium] webkitImageSmoothingEnabled canvas property does not work on redraw
commit-queue@webkit.org [Thu, 14 Jun 2012 18:33:03 +0000 (18:33 +0000)]
[Chromium] webkitImageSmoothingEnabled canvas property does not work on redraw
https://bugs.webkit.org/show_bug.cgi?id=89018

Patch by Justin Novosad <junov@chromium.org> on 2012-06-14
Reviewed by Stephen White.

Source/WebCore:

Test: fast/canvas/canvas-imageSmoothingEnabled-repaint.html

When an accelerated canvas layer prepares its texture for the
compositor, it must send a notification to skia to invalidate texture
proprties that are cached by skia, since the compositor may modify them.
The use case this fixes is when a canvas to canvas copy is performed
with webkitImageSmoothingEnabled=false on the destination canvas.
The backing texture of the source canvas will be set to "nearest"
filtering by skia in order to perform the copy.  Then, the compositor
sets filtering back to "linear" when the source canvas is drawn.
Skia is designed to only update GL attributes when required, so errors
occur when the skia-side GL state cache is out of sync.

* platform/graphics/chromium/Canvas2DLayerBridge.cpp:
(WebCore::Canvas2DLayerBridge::prepareTexture):

Source/WebKit/chromium:

Rolling chromium DEPS to 141884

* DEPS:

LayoutTests:

New layout test that verifies that disabling image smoothing on a 2d
canvas continues to work after multiple paint cycles.

* fast/canvas/canvas-imageSmoothingEnabled-repaint-expected.txt: Added.
* fast/canvas/canvas-imageSmoothingEnabled-repaint.html: Added.
* fast/canvas/script-tests/canvas-imageSmoothingEnabled-repaint.js: Added.
(draw):
(testResult):
(TestControllerPaint):
(BrowserPaint):
(onLoadHandler):

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

7 years ago[svg] SVGResources applied to Text with Incorrect Transformations in non-CG Implement...
schenney@chromium.org [Thu, 14 Jun 2012 18:23:09 +0000 (18:23 +0000)]
[svg] SVGResources applied to Text with Incorrect Transformations in non-CG Implementations
https://bugs.webkit.org/show_bug.cgi?id=64966

Unreviewed suppression of crashing tests:
svg/batik/text/textDecoration.svg
svg/batik/text/textEffect3.svg

* platform/chromium/TestExpectations:

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

7 years agonew-run-webkit-websocketserver must handle TLS related arguments
toyoshim@chromium.org [Thu, 14 Jun 2012 18:06:39 +0000 (18:06 +0000)]
new-run-webkit-websocketserver must handle TLS related arguments
https://bugs.webkit.org/show_bug.cgi?id=89079

Reviewed by Dirk Pranke.

PyWebSocket class must accept private_key, certificate, and
ca_certificate arguments and pass them to launching pywebsocket.
Also add ca_certificate handling to new-run-webkit-websocketserver.

* Scripts/new-run-webkit-websocketserver:
(main):
* Scripts/webkitpy/layout_tests/servers/websocket_server.py:
(PyWebSocket.__init__):
(PyWebSocket._prepare_config):

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

7 years ago2012-06-14 Jon Honeycutt <jhoneycutt@apple.com>
jhoneycutt@apple.com [Thu, 14 Jun 2012 18:02:05 +0000 (18:02 +0000)]
2012-06-14  Jon Honeycutt  <jhoneycutt@apple.com>

        Fix some failing tests on Windows by resetting the page scale factor
        between tests.
        https://bugs.webkit.org/show_bug.cgi?id=89078

        Reviewed by Dirk Pranke.

        WebCore:
        * testing/Internals.cpp:
        (WebCore::Internals::reset):
        Set the scale factor to 1.0.

        LayoutTests:
        Unskip some now-passing tests.
        https://bugs.webkit.org/show_bug.cgi?id=89078

        * platform/win/Skipped:

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

7 years agoRegister fixed position layers with ScrollingCoordinator
commit-queue@webkit.org [Thu, 14 Jun 2012 17:45:05 +0000 (17:45 +0000)]
Register fixed position layers with ScrollingCoordinator
https://bugs.webkit.org/show_bug.cgi?id=78864

Patch by Sami Kyostila <skyostil@chromium.org> on 2012-06-14
Reviewed by James Robinson.

This patch makes ScrollingCoordinator aware of page elements that are
either fixed positioned directly or through their ancestors and that
also have their own composited backing layers. This allows the
ScrollingCoordinator implementation to potentially enable fast
scrolling even if there are fixed elements on the page, because the
compositor can automatically reposition the fixed element layers after
scrolling.

Since fixed position layers need to be explicitly supported by the
ScrollingCoordinator implementation, we add a new
supportsFixedPositionLayers() query for checking this.

* page/FrameView.cpp:
(WebCore::FrameView::FrameView):
(WebCore::FrameView::useSlowRepaints):
(WebCore::FrameView::addFixedObject):
(WebCore::FrameView::removeFixedObject):
* page/FrameView.h:
(FrameView):
(WebCore::FrameView::fixedObjects):
(WebCore::FrameView::hasFixedObjects):
* page/scrolling/ScrollingCoordinator.cpp:
(WebCore::ScrollingCoordinator::frameViewFixedObjectsDidChange):
(WebCore::ScrollingCoordinator::hasNonLayerFixedObjects):
(WebCore):
(WebCore::ScrollingCoordinator::updateShouldUpdateScrollLayerPositionOnMainThread):
(WebCore::ScrollingCoordinator::setLayerIsContainerForFixedPosition):
(WebCore::ScrollingCoordinator::setLayerIsFixedToContainerLayer):
* page/scrolling/ScrollingCoordinator.h:
(ScrollingCoordinator):
* page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:
(WebCore::ScrollingCoordinator::setLayerIsContainerForFixedPosition):
(WebCore):
(WebCore::ScrollingCoordinator::setLayerIsFixedToContainerLayer):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::willBeDestroyed):
(WebCore::RenderBox::styleWillChange):
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::updateBacking):
(WebCore):
(WebCore::RenderLayerCompositor::fixedPositionedByAncestor):
(WebCore::RenderLayerCompositor::ensureRootLayer):
* rendering/RenderLayerCompositor.h:

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

7 years ago [CFNetwork] XMLHttpRequest incorrectly returns cached responses even when...
ap@apple.com [Thu, 14 Jun 2012 17:42:18 +0000 (17:42 +0000)]
    [CFNetwork] XMLHttpRequest incorrectly returns cached responses even when there is a Vary header field
        https://bugs.webkit.org/show_bug.cgi?id=88925

        Reviewed by David Kilzer.

        Test: http/tests/cache/xhr-vary-header.html

        * platform/network/cf/ResourceHandleCFNet.cpp: (WebCore::willCacheResponse): Don't
        cache the response at all if there is a Vary header field. CFNetwork won't look at
        it if we allowed the response cached.

        * platform/network/mac/ResourceHandleMac.mm:
        (WebCore::ResourceHandle::createNSURLConnection): [NSURLResponse copy] is mutable
        in practice, but we should be nice, and use -mutableCopy.
        (-[WebCoreResourceHandleAsDelegate connection:willCacheResponse:]): Same fix as in
        CFNet code.

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

7 years agoWeb Inspector: use CSS gradients instead of images for timeline bars, checkboxes...
caseq@chromium.org [Thu, 14 Jun 2012 17:06:45 +0000 (17:06 +0000)]
Web Inspector: use CSS gradients instead of images for timeline bars, checkboxes & bullets
https://bugs.webkit.org/show_bug.cgi?id=89024

Reviewed by Pavel Feldman.

This brings a bunch of UI changes to the way Timeline bars and related controls are rendered:

- introduce new color palette for categories;
- replace images used to render timeline bars, list bullets and categories checkboxes with CSS gradients;
- "flatten" timeline bars
- make square list bullets, sharpen corners for lower pane bars;
- make links on the list sidebar grey
- add more space between categories checkboxes, make labels lighter.

* WebCore.gypi: Remove old images, add tickMark.png.
* inspector/front-end/Images/timelineBarBlue.png: Removed.
* inspector/front-end/Images/timelineBarDarkGreen.png: Removed.
* inspector/front-end/Images/timelineBarGray.png: Removed.
* inspector/front-end/Images/timelineBarGreen.png: Removed.
* inspector/front-end/Images/timelineBarLightPurple.png: Removed.
* inspector/front-end/Images/timelineBarOrange.png: Removed.
* inspector/front-end/Images/timelineBarPurple.png: Removed.
* inspector/front-end/Images/timelineBarRed.png: Removed.
* inspector/front-end/Images/timelineBarYellow.png: Removed.
* inspector/front-end/Images/timelineCheckmarks.png: Removed.
* inspector/front-end/Images/timelineDots.png: Removed.
* inspector/front-end/TimelinePanel.js:
(WebInspector.TimelinePanel.prototype.wasShown):
(WebInspector.TimelinePanel.prototype._closeRecordDetails): Fixed trailing spaces;
(WebInspector.TimelinePanel.prototype._injectCategoryStyles): Inject generated styles for categories, if necessary.
* inspector/front-end/TimelinePresentationModel.js:
(WebInspector.TimelinePresentationModel.categories):
(WebInspector.TimelinePresentationModel.createFillStyle):
(WebInspector.TimelinePresentationModel.createStyleRuleForCategory):
* inspector/front-end/WebKit.qrc: Remove old images, add tickMark.png
* inspector/front-end/inspector.css:
(.sidebar-tree-section):
* inspector/front-end/timelinePanel.css:
(#timeline-container .webkit-html-resource-link):
(.timeline-category-statusbar-item):
(.timeline-category-statusbar-item .timeline-category-checkbox):
(.timeline-category-statusbar-item .timeline-category-checkbox:checked::before):
(.timeline-tree-item):
(.timeline-tree-item .timeline-tree-icon):
(.timeline-graph-bar):
(.timeline-graph-bar.with-children):
(.timeline-graph-bar.cpu):
(.timeline-aggregated-category):
* inspector/front-end/utilities.js:
(Object.values): Return an array of object field's values.

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

7 years agoChange mute button and volume slider behaviour for new Chromium video controls.
commit-queue@webkit.org [Thu, 14 Jun 2012 17:00:38 +0000 (17:00 +0000)]
Change mute button and volume slider behaviour for new Chromium video controls.
https://bugs.webkit.org/show_bug.cgi?id=88743

Patch by Silvia Pfeiffer <silviapf@chromium.org> on 2012-06-14
Reviewed by Eric Carlson.

No new tests, final patch will contain the rebaselined tests.

The Chrome video controls are receiving a visual update. This patch makes the mute button and
the volume slider interact with each other. When the user mutes the video through clicking the
mute button, the volume slider animates to 0% volume. Upon unmute, the previous volume level
is restored. Further, when the user drags the volume slider thumb or clicks on the slider and
the video is muted, the video unmutes and sets the volume to the user's chosen level.

* html/shadow/MediaControlElements.cpp:
(WebCore::MediaControlVolumeSliderElement::MediaControlVolumeSliderElement):
Add a member field to the volume slider to allow user interaction to unmute the video.
(WebCore::MediaControlVolumeSliderElement::defaultEventHandler):
Add the logic to unmute the video if the m_clearMutedOnUserInteraction member field is true.
(WebCore::MediaControlVolumeSliderElement::setClearMutedOnUserInteraction):
Add a member function to change the value of the m_clearMutedOnUserInteraction member field.
* html/shadow/MediaControlElements.h:
(MediaControlVolumeSliderElement):
Add the setClearMutedOnUserInteraction member function and the m_clearMutedOnUserInteraction member field.
* html/shadow/MediaControlRootElementChromium.cpp:
(WebCore::MediaControlRootElementChromium::create):
Activate unmute on user interaction on the Chromium video volume slider.
(WebCore::MediaControlRootElementChromium::changedMute):
Add logic to set volume slider to 0 when muted and reset to volume when unmuted.
* rendering/RenderMediaControlsChromium.cpp:
(WebCore::paintMediaVolumeSlider):
Add logic to paint the volume slider active area as 0 when muted.

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

7 years agoWeb Inspector: Breakpoints should not be set when UISourceCode content is diverged...
vsevik@chromium.org [Thu, 14 Jun 2012 16:58:05 +0000 (16:58 +0000)]
Web Inspector: Breakpoints should not be set when UISourceCode content is diverged from VM version of the script.
https://bugs.webkit.org/show_bug.cgi?id=89109

Reviewed by Pavel Feldman.

* inspector/front-end/BreakpointManager.js:
(WebInspector.BreakpointManager.Breakpoint.prototype._updateBreakpoint):
* inspector/front-end/JavaScriptSource.js:
(WebInspector.JavaScriptSource.prototype.isDivergedFromVM):
(WebInspector.JavaScriptSource.prototype.workingCopyCommitted):

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

7 years agoWeb Inspector: DebuggerModel should support setting breakpoints without script by...
vsevik@chromium.org [Thu, 14 Jun 2012 16:57:15 +0000 (16:57 +0000)]
Web Inspector: DebuggerModel should support setting breakpoints without script by sourceURL only.
https://bugs.webkit.org/show_bug.cgi?id=88988

Reviewed by Pavel Feldman.

This change allows setting all saved breakpoints in debugger model by url before the site
with corresponding scripts was loaded (allows breaking in onload handler on first load).
This change also simplifies implementation of snippets debugging.

* inspector/front-end/BreakpointManager.js:
* inspector/front-end/DebuggerModel.js:
(WebInspector.DebuggerModel.prototype.setBreakpointByScriptLocation):

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

7 years ago[GTK] Update TestExpectations with tests crashing in 64bits Debug build
philn@webkit.org [Thu, 14 Jun 2012 16:53:38 +0000 (16:53 +0000)]
[GTK] Update TestExpectations with tests crashing in 64bits Debug build
https://bugs.webkit.org/show_bug.cgi?id=89105

Unreviewed gardening.

Mark svg/batik/text/textDecoration.svg and
svg/batik/text/textEffect3.svg as crashing in DEBUG.

Patch by Simon Pena <spena@igalia.com> on 2012-06-14

* platform/gtk/TestExpectations:

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

7 years ago[GTK] Update TestExpectations with non-passing tests
philn@webkit.org [Thu, 14 Jun 2012 16:53:04 +0000 (16:53 +0000)]
[GTK] Update TestExpectations with non-passing tests
https://bugs.webkit.org/show_bug.cgi?id=89100

Unreviewed gardening.

Mark plugins/plugin-initiate-popup-window.html as flaky and
svg/transforms/transformed-text-fill-pattern.html as failing.

Patch by Simon Pena <spena@igalia.com> on 2012-06-14

* platform/gtk/TestExpectations:

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

7 years agoUnreviewed. Update my email.
qi.2.zhang@nokia.com [Thu, 14 Jun 2012 16:49:39 +0000 (16:49 +0000)]
Unreviewed. Update my email.

* Scripts/webkitpy/common/config/committers.py:

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

7 years agoWeb Inspector: refactor settings screen to move user agent and experiments out of...
pfeldman@chromium.org [Thu, 14 Jun 2012 16:49:10 +0000 (16:49 +0000)]
Web Inspector: refactor settings screen to move user agent and experiments out of general tab.
https://bugs.webkit.org/show_bug.cgi?id=89101

Reviewed by Vsevolod Vlasov.

See image attached to the bug.

* English.lproj/localizedStrings.js:
* inspector/front-end/SettingsScreen.js:
(WebInspector.SettingsScreen.prototype.selectTab):
(WebInspector.SettingsScreen.prototype._tabSelected):
(WebInspector.SettingsScreen.prototype.set wasShown):
(WebInspector.SettingsScreen.prototype.willHide):
(WebInspector.SettingsTab):
(WebInspector.SettingsTab.prototype._appendSection):
(WebInspector.SettingsTab.prototype._createCustomSetting):
(WebInspector.GenericSettingsTab):
(WebInspector.GenericSettingsTab.prototype._showPaintRectsChanged):
(WebInspector.GenericSettingsTab.prototype.get _updateScriptDisabledCheckbox):
(WebInspector.GenericSettingsTab.prototype._javaScriptDisabledChanged):
(WebInspector.UserAgentSettingsTab):
(WebInspector.UserAgentSettingsTab.prototype._createUserAgentSelectRowElement.get const):
(WebInspector.UserAgentSettingsTab.prototype._createUserAgentSelectRowElement.textDoubleClicked):
(WebInspector.UserAgentSettingsTab.prototype._createUserAgentSelectRowElement.textChanged):
(WebInspector.UserAgentSettingsTab.prototype._createUserAgentSelectRowElement.set checkboxClicked):
(WebInspector.UserAgentSettingsTab.prototype._createDeviceMetricsElement):
(WebInspector.ExperimentsSettingsTab):
(WebInspector.ExperimentsSettingsTab.prototype._createExperimentsWarningSubsection):
(WebInspector.ExperimentsSettingsTab.prototype._createExperimentCheckbox.listener):
(WebInspector.ExperimentsSettingsTab.prototype._createExperimentCheckbox):
* inspector/front-end/ShortcutsScreen.js:
* inspector/front-end/TabbedPane.js:
(WebInspector.TabbedPane.prototype.get headerContentsElement):
* inspector/front-end/helpScreen.css:
(.settings-tab.help-container):
(.settings-tab .help-block):
(.help-content fieldset):
(#settings-screen .tabbed-pane-header-tabs):
(#settings-screen .tabbed-pane-header-tab):

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

7 years ago[Qt] New css3/flexbox/flexitem.html fails
tony@chromium.org [Thu, 14 Jun 2012 16:44:25 +0000 (16:44 +0000)]
[Qt] New css3/flexbox/flexitem.html fails
https://bugs.webkit.org/show_bug.cgi?id=88963

Reviewed by Hajime Morita.

* css3/flexbox/flexitem.html: The height of the alt text was taller
than the height of the missing image placeholder graphic on Qt. To
get the same results, force the font size to something small.
The test still fails on Qt so leaving it in the Skipped file for now.

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

7 years agoChinese IM receives incorrect/duplicated key events in text fields in webpages in...
kling@webkit.org [Thu, 14 Jun 2012 15:52:28 +0000 (15:52 +0000)]
Chinese IM receives incorrect/duplicated key events in text fields in webpages in Safari.
<http://webkit.org/b/89048>
<rdar://problem/11449702>

Reviewed by Darin Adler.

Send the DidReceiveEvent message with the DispatchMessageEvenWhenWaitingForSyncReply flag
for keyboard events. This ensures that it always arrives before the corresponding synchronous
InterpretQueuedKeyEvent message.

The problem was that we relied on DidReceiveEvent / InterpretQueuedKeyEvent always arriving in
the same order they were sent. This was not always true, since DidReceiveEvent (async) would
get deferred during an unrelated waitForSyncReply() whereas InterpretQueuedKeyEvent (sync)
gets dispatched right away.

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

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

7 years agoWorker tear-down can re-enter JSC during GC finalization pt. 2
mhahnenberg@apple.com [Thu, 14 Jun 2012 15:39:34 +0000 (15:39 +0000)]
Worker tear-down can re-enter JSC during GC finalization pt. 2
https://bugs.webkit.org/show_bug.cgi?id=88601

Reviewed by David Levin.

No new tests. Current regression tests are sufficient.

* workers/WorkerMessagingProxy.cpp:
(WebCore::WorkerMessagingProxy::WorkerMessagingProxy):
(WebCore::WorkerMessagingProxy::workerObjectDestroyed): We clear the m_workerObject here because
we don't want anybody else trying to send messages to the Worker now that it has been destroyed.
We also queue the asynchronous task for the various other cleanup that still needs to be done.
This allows us to avoid the problem of re-entrant JS code execution during GC.
(WebCore):
(WebCore::WorkerMessagingProxy::workerObjectDestroyedInternal): Here we set m_mayBeDestroyed to true.
This is the point after which deleting the WorkerMessagingProxy in workerContextDestroyedInternal()
is okay. It could happen during this function call if the worker thread has been shutdown already, or
it could be called later after we shut down the worker thread.
(WebCore::WorkerMessagingProxy::workerContextDestroyedInternal): We check m_mayBeDestroyed here
instead of checking m_workerObject. This change effectively orthogonalizes the roles that m_workerObject
was filling. Since we were eagerly clearing m_workerObject, but we wanted to asynchronously call
workerObjectDestroyed(), we needed to make sure we didn't accidentally try to delete the WorkerMessagingProxy
twice (once from destroying the Worker and once from destroying the WorkerContext). This boolean field
should fix that issue--we set it lazily like we wanted to do without being in danger of causing use-after-free
issues with m_workerObject.
* workers/WorkerMessagingProxy.h: Added the new field and function.
(WorkerMessagingProxy):

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

7 years agoWeb Inspector: Selector list start position is not extracted for style rules inside...
apavlov@chromium.org [Thu, 14 Jun 2012 15:34:05 +0000 (15:34 +0000)]
Web Inspector: Selector list start position is not extracted for style rules inside @media rules
https://bugs.webkit.org/show_bug.cgi?id=89094

Reviewed by Pavel Feldman.

Source/WebCore:

Selector list start is now marked inside the "ruleset" rule rather than separately, before its invocation(s).

* css/CSSGrammar.y:

LayoutTests:

* inspector/audits/audits-panel-functional.html:

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

7 years ago[chromium] Fix race condition where animations start, finish and are deleted on the...
commit-queue@webkit.org [Thu, 14 Jun 2012 14:57:10 +0000 (14:57 +0000)]
[chromium] Fix race condition where animations start, finish and are deleted on the composite thread, all before the start even arrives on the main thread.
https://bugs.webkit.org/show_bug.cgi?id=88439

Patch by Eric Penner <epenner@google.com> on 2012-06-14
Reviewed by James Robinson.

Scheduling behavior covered by existing tests.

* platform/graphics/chromium/cc/CCActiveAnimation.cpp:
(WebCore::CCActiveAnimation::isFinishedAt):
* platform/graphics/chromium/cc/CCActiveAnimation.h:
(WebCore::CCActiveAnimation::isFinished):
* platform/graphics/chromium/cc/CCLayerAnimationController.cpp:
(WebCore::CCLayerAnimationController::suspendAnimations):
(WebCore::CCLayerAnimationController::pushAnimationUpdatesTo):
(WebCore::CCLayerAnimationController::animate):
(WebCore::CCLayerAnimationController::hasActiveAnimation):
(WebCore):
(WebCore::CCLayerAnimationController::markAnimationsForDeletion):
(WebCore::CCLayerAnimationController::purgeAnimationsMarkedForDeletion):
* platform/graphics/chromium/cc/CCLayerAnimationController.h:
(CCLayerAnimationController):

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

7 years agoWeb Inspector: ConsoleView.evaluateUsingTextPrompt should evaluate without command...
vsevik@chromium.org [Thu, 14 Jun 2012 14:44:37 +0000 (14:44 +0000)]
Web Inspector: ConsoleView.evaluateUsingTextPrompt should evaluate without command line API.
https://bugs.webkit.org/show_bug.cgi?id=89096

Reviewed by Pavel Feldman.

* inspector/front-end/ConsoleView.js:

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

7 years ago[Chromium] Unreviewed, build fix for Mac 10.5
apavlov@chromium.org [Thu, 14 Jun 2012 14:35:12 +0000 (14:35 +0000)]
[Chromium] Unreviewed, build fix for Mac 10.5

* src/WebDevToolsAgentImpl.cpp:
(WebKit::DeviceMetricsSupport::autoZoomPageToFitWidth):

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

7 years ago[EFL] Tests rebaselining after r120167, r120246
commit-queue@webkit.org [Thu, 14 Jun 2012 14:15:12 +0000 (14:15 +0000)]
[EFL] Tests rebaselining after r120167, r120246
https://bugs.webkit.org/show_bug.cgi?id=89069

Unreviewed EFL gardening after r120246 and r120167, updating baselines.

Patch by Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> on 2012-06-14

* platform/efl/fast/layers/video-layer-expected.txt:
* platform/efl/http/tests/misc/location-replace-crossdomain-expected.txt:
* platform/efl/media/audio-controls-rendering-expected.txt:
* platform/efl/media/audio-repaint-expected.txt:
* platform/efl/media/controls-after-reload-expected.txt:
* platform/efl/media/controls-strict-expected.txt:
* platform/efl/media/controls-styling-expected.txt:
* platform/efl/media/controls-without-preload-expected.txt:
* platform/efl/media/media-controls-clone-expected.txt:
* platform/efl/media/media-document-audio-repaint-expected.txt:
* platform/efl/media/video-controls-rendering-expected.txt:
* platform/efl/media/video-display-toggle-expected.txt:
* platform/efl/media/video-empty-source-expected.txt:
* platform/efl/media/video-zoom-controls-expected.txt:

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

7 years agoUpdate the time display of the new Chromium media controls.
commit-queue@webkit.org [Thu, 14 Jun 2012 14:01:36 +0000 (14:01 +0000)]
Update the time display of the new Chromium media controls.
https://bugs.webkit.org/show_bug.cgi?id=88724

Patch by Silvia Pfeiffer <silviapf@chromium.org> on 2012-06-14
Reviewed by Eric Carlson.

No new tests, final patch will contain the rebaselined tests.

The Chrome video controls are receiving a visual update. This patch changes
the format of the time digits that are displayed. They are different for media
files of different duration. For non-autoplaying videos, the duration is shown
before playback is started.

* css/mediaControlsChromium.css:
(audio::-webkit-media-controls-time-remaining-display, video::-webkit-media-controls-time-remaining-display):
Format the new duration display the same as the current time display.
* html/shadow/MediaControlRootElementChromium.cpp:
(WebCore::MediaControlRootElementChromium::MediaControlRootElementChromium):
Add a member field for the duration display.
(WebCore::MediaControlRootElementChromium::create):
Add an element for the duration display and initially hide the current time display.
(WebCore::MediaControlRootElementChromium::setMediaController):
Add the duration display to the controller.
(WebCore::MediaControlRootElementChromium::reset):
Add reset functionality for the duration display.
(WebCore::MediaControlRootElementChromium::playbackStarted):
Show the current time display and hide the duration display upon playback start.
(WebCore::MediaControlRootElementChromium::updateTimeDisplay):
Show the current time display and hide the duration display when current time is non-zero.
* html/shadow/MediaControlRootElementChromium.h:
(WebCore):
Add the MediaControlTimeRemainingDisplayElement which provides use with the duration display.
(MediaControlRootElementChromium):
Add a duration member field, reusing the existing MediaControlTimeRemainingDisplayElement.
* rendering/RenderMediaControlsChromium.cpp:
(WebCore::formatChromiumMediaControlsTime):
Formats a given time under the condition of a given duration.
(WebCore::RenderMediaControlsChromium::formatMediaControlsTime):
When formatting a single time, assume it to also provide the duration conditions.
(WebCore::RenderMediaControlsChromium::formatMediaControlsCurrentTime):
Format the current time given the duration.
(WebCore::RenderMediaControlsChromium::formatMediaControlsRemainingTime):
Format the remaining time from the current time given the duration.
* rendering/RenderMediaControlsChromium.h:
(RenderMediaControlsChromium):
Declare the time formatting member functions.
* rendering/RenderThemeChromiumMac.h:
(RenderThemeChromiumMac):
Declare the time formatting member functions for Chromium on the Mac.
* rendering/RenderThemeChromiumMac.mm:
(WebCore::RenderThemeChromiumMac::formatMediaControlsTime):
(WebCore::RenderThemeChromiumMac::formatMediaControlsCurrentTime):
(WebCore::RenderThemeChromiumMac::formatMediaControlsRemainingTime):
Call the time formatting member functions of RenderMediaControlsChromium on the Mac.
* rendering/RenderThemeChromiumSkia.cpp:
(WebCore::formatMediaControlsTime):
(WebCore::formatMediaControlsCurrentTime):
(WebCore::formatMediaControlsRemainingTime):
Call the time formatting member functions of RenderMediaControlsChromium on Skia.
* rendering/RenderThemeChromiumSkia.h:
(RenderThemeChromiumSkia):
Declare the time formatting member functions for Chromium Skia.

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

7 years agoUnreviewed, test rebaseline after r120317.
apavlov@chromium.org [Thu, 14 Jun 2012 13:58:01 +0000 (13:58 +0000)]
Unreviewed, test rebaseline after r120317.

* inspector/styles/override-screen-size-expected.txt:

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

7 years ago[GTK] Mark fast/forms/text-input-event.html as flaky in TestExpectations
commit-queue@webkit.org [Thu, 14 Jun 2012 13:54:45 +0000 (13:54 +0000)]
[GTK] Mark fast/forms/text-input-event.html as flaky in TestExpectations
https://bugs.webkit.org/show_bug.cgi?id=89085

Unreviewed gardening. Mark test as flaky.

Patch by Simon Pena <spena@igalia.com> on 2012-06-14

* platform/gtk/TestExpectations:

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

7 years ago[svg] SVGResources applied to Text with Incorrect Transformations in non-CG Implement...
schenney@chromium.org [Thu, 14 Jun 2012 13:52:30 +0000 (13:52 +0000)]
[svg] SVGResources applied to Text with Incorrect Transformations in non-CG Implementations
https://bugs.webkit.org/show_bug.cgi?id=64966

Unreviewed Chromium test expectations update.

Bug fixed by Dominik Röttsches.

* platform/chromium-linux/svg/W3C-SVG-1.1/pservers-grad-08-b-expected.png:
* platform/chromium-linux/svg/custom/js-late-gradient-and-object-creation-expected.png:
* platform/chromium-linux/svg/custom/js-late-gradient-creation-expected.png:
* platform/chromium-linux/svg/custom/js-late-pattern-creation-expected.png:
* platform/chromium-linux/svg/custom/text-rotated-gradient-expected.png:
* platform/chromium-mac-leopard/svg/custom/js-late-gradient-and-object-creation-expected.png:
* platform/chromium-mac-leopard/svg/custom/js-late-gradient-creation-expected.png:
* platform/chromium-mac-snowleopard/svg/custom/js-late-gradient-creation-expected.png: Removed.
* platform/chromium-mac/svg/W3C-SVG-1.1/pservers-grad-08-b-expected.png:
* platform/chromium-mac/svg/custom/js-late-gradient-and-object-creation-expected.png:
* platform/chromium-mac/svg/custom/js-late-gradient-creation-expected.png:
* platform/chromium-mac/svg/custom/js-late-pattern-creation-expected.png:
* platform/chromium-mac/svg/custom/text-rotated-gradient-expected.png:
* platform/chromium-win-vista/svg/custom/js-late-gradient-and-object-creation-expected.png:
* platform/chromium-win/svg/W3C-SVG-1.1/pservers-grad-08-b-expected.png:
* platform/chromium-win/svg/custom/js-late-gradient-and-object-creation-expected.png:
* platform/chromium-win/svg/custom/js-late-gradient-creation-expected.png:
* platform/chromium-win/svg/custom/js-late-pattern-creation-expected.png:
* platform/chromium-win/svg/custom/text-rotated-gradient-expected.png:
* platform/chromium/TestExpectations:

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

7 years agoWeb Inspector: Refactor message loop instrumentation.
commit-queue@webkit.org [Thu, 14 Jun 2012 13:26:51 +0000 (13:26 +0000)]
Web Inspector: Refactor message loop instrumentation.
https://bugs.webkit.org/show_bug.cgi?id=88978

Patch by Eugene Klyuchnikov <eustas.bug@gmail.com> on 2012-06-14
Reviewed by Pavel Feldman.

1) Remove "messageLoop" term
2) Reuse WebThread::TaskObserver interface
3) Move implementation (from embedder) to platform code.

Source/Platform:

* chromium/public/WebThread.h:
(TaskObserver): add "willProcessTask" method.

Source/WebCore:

* inspector/InspectorClient.h:
(WebCore::InspectorClient::startMainThreadMonitoring): Renamed method.
(WebCore::InspectorClient::stopMainThreadMonitoring): Ditto.
* inspector/InspectorTimelineAgent.cpp:
(WebCore::InspectorTimelineAgent::start):
(WebCore::InspectorTimelineAgent::stop):

Source/WebKit/chromium:

* public/WebDevToolsAgent.h:
(WebDevToolsAgent):
* public/WebDevToolsAgentClient.h:
(WebDevToolsAgentClient):
(WebKit::WebDevToolsAgentClient::startMainThreadMonitoring): Renamed medthod.
(WebKit::WebDevToolsAgentClient::stopMainThreadMonitoring): Ditto.
* src/InspectorClientImpl.cpp:
(WebKit::InspectorClientImpl::startMainThreadMonitoring): Ditto.
(WebKit::InspectorClientImpl::stopMainThreadMonitoring): Ditto.
* src/InspectorClientImpl.h:
(InspectorClientImpl):
* src/WebDevToolsAgentImpl.cpp:
(WebKit::WebDevToolsAgentImpl::startMainThreadMonitoring): Use platform threading.
(WebKit::WebDevToolsAgentImpl::stopMainThreadMonitoring): Ditto.
(WebKit::WebDevToolsAgentImpl::willProcessTask): Renamed medthod.
(WebKit::WebDevToolsAgentImpl::didProcessTask): Ditto.
* src/WebDevToolsAgentImpl.h:
(WebDevToolsAgentImpl):
* src/WebKit.cpp:

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

7 years agoWeb Inspector: [Device Metrics] "Fit window" results in duplicate rescaling in WebDev...
apavlov@chromium.org [Thu, 14 Jun 2012 13:05:00 +0000 (13:05 +0000)]
Web Inspector: [Device Metrics] "Fit window" results in duplicate rescaling in WebDevToolsAgentImpl::autoZoomPageToFitWidth()
https://bugs.webkit.org/show_bug.cgi?id=89092

Reviewed by Pavel Feldman.

Source/WebKit/chromium:

Do not apply the sizeRatio after it has been applied in scaledEmulatedFrameSize().

* src/WebDevToolsAgentImpl.cpp:
(WebKit::DeviceMetricsSupport::autoZoomPageToFitWidth):
(WebKit::DeviceMetricsSupport::ensureOriginalZoomFactor):

LayoutTests:

* platform/chromium/inspector/styles/device-metrics-fit-window-expected.txt:
* platform/chromium/inspector/styles/device-metrics-fit-window.html:

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

7 years ago[Qt] Unreviewed gardening after r120314.
kkristof@inf.u-szeged.hu [Thu, 14 Jun 2012 12:51:27 +0000 (12:51 +0000)]
[Qt] Unreviewed gardening after r120314.

* platform/qt/Skipped: skip svg/transforms/transformed-text-fill-gradient.html

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

7 years agoUpdate pywebsocket to 0.7.6 from 0.7.4
toyoshim@chromium.org [Thu, 14 Jun 2012 12:40:32 +0000 (12:40 +0000)]
Update pywebsocket to 0.7.6 from 0.7.4
https://bugs.webkit.org/show_bug.cgi?id=88975

Reviewed by Kent Tamura.

This new version of pywebsocket introduce following features.
 - Allow handlers to send a close frame with empty body in response of
     a client initiated closing handshake
 - Implement perframe compression extension
 - Support client certificate authentication

* Scripts/webkitpy/thirdparty/mod_pywebsocket/COPYING:
* Scripts/webkitpy/thirdparty/mod_pywebsocket/_stream_hybi.py:
(_create_control_frame):
(Stream._receive_frame):
(Stream.send_message):
(Stream.receive_message):
(Stream._send_closing_handshake):
(Stream.close_connection):
* Scripts/webkitpy/thirdparty/mod_pywebsocket/common.py:
(ExtensionParsingException):
(ExtensionParsingException.__init__):
(_parse_extension_param):
(_parse_extension):
(parse_extensions):
(format_extension):
(format_extensions):
* Scripts/webkitpy/thirdparty/mod_pywebsocket/extensions.py:
(_parse_compression_method):
(_create_accepted_method_desc):
(PerFrameCompressionExtensionProcessor):
(PerFrameCompressionExtensionProcessor.__init__):
(PerFrameCompressionExtensionProcessor._lookup_compression_processor):
(PerFrameCompressionExtensionProcessor._get_compression_processor_response):
(PerFrameCompressionExtensionProcessor.get_extension_response):
(PerFrameCompressionExtensionProcessor.setup_stream_options):
(PerFrameCompressionExtensionProcessor.get_compression_processor):
* Scripts/webkitpy/thirdparty/mod_pywebsocket/handshake/_base.py:
(parse_token_list):
* Scripts/webkitpy/thirdparty/mod_pywebsocket/handshake/hybi.py:
(Handshaker._parse_extensions):
(Handshaker._send_handshake):
* Scripts/webkitpy/thirdparty/mod_pywebsocket/standalone.py:
(WebSocketServer._create_sockets):
(_get_logger_from_class):
(_configure_logging):
(_build_option_parser):
(_main.if):
* Scripts/webkitpy/thirdparty/mod_pywebsocket/util.py:
(RepeatedXorMasker.mask):

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