bdakin@apple.com [Thu, 2 Feb 2012 20:02:23 +0000 (20:02 +0000)]
https://bugs.webkit.org/show_bug.cgi?id=77664
Add API tests for didNewFirstVisuallyNonEmptyLayout
Reviewed by Darin Adler.
Two new tests.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit2/NewFirstVisuallyNonEmptyLayout.cpp: Added.
(TestWebKitAPI):
(TestWebKitAPI::didNewFirstVisuallyNonEmptyLayout):
(TestWebKitAPI::setPageLoaderClient):
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKit2/NewFirstVisuallyNonEmptyLayoutFails.cpp: Added.
(TestWebKitAPI):
(TestWebKitAPI::didForceRepaint):
(TestWebKitAPI::didFinishLoadForFrame):
(TestWebKitAPI::didNewFirstVisuallyNonEmptyLayout):
(TestWebKitAPI::setPageLoaderClient):
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKit2/NewFirstVisuallyNonEmptyLayoutFails_Bundle.cpp: Added.
(TestWebKitAPI):
(NewFirstVisuallyNonEmptyLayoutFailsTest):
(TestWebKitAPI::NewFirstVisuallyNonEmptyLayoutFailsTest::NewFirstVisuallyNonEmptyLayoutFailsTest):
(TestWebKitAPI::NewFirstVisuallyNonEmptyLayoutFailsTest::didCreatePage):
* TestWebKitAPI/Tests/WebKit2/NewFirstVisuallyNonEmptyLayout_Bundle.cpp: Added.
(TestWebKitAPI):
(NewFirstVisuallyNonEmptyLayoutTest):
(TestWebKitAPI::NewFirstVisuallyNonEmptyLayoutTest::NewFirstVisuallyNonEmptyLayoutTest):
(TestWebKitAPI::NewFirstVisuallyNonEmptyLayoutTest::didCreatePage):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106577
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rniwa@webkit.org [Thu, 2 Feb 2012 19:49:31 +0000 (19:49 +0000)]
Chromium rebaseline after r106543.
* platform/chromium/fast/events/remove-target-with-shadow-in-drag-expected.txt: Added.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106576
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
haraken@chromium.org [Thu, 2 Feb 2012 19:24:23 +0000 (19:24 +0000)]
Rename [ConvertUndefinedOrNullToNullString] to
[TreatNullAs=EmptyString, TreatUndefinedAs=EmptyString]
https://bugs.webkit.org/show_bug.cgi?id=77611
Reviewed by Adam Barth.
This patch renames [ConvertUndefinedOrNullToNullString] to
[TreatNullAs=EmptyString, TreatUndefinedAs=EmptyString], according to the spec
(http://dev.w3.org/2006/webapi/WebIDL/#TreatNullAs,
http://dev.w3.org/2006/webapi/WebIDL/#TreatUndefinedAs).
No tests. No changes in behavior.
* bindings/scripts/CodeGeneratorJS.pm:
(JSValueToNative):
* bindings/scripts/CodeGeneratorV8.pm:
(GetNativeTypeFromSignature):
* dom/DOMImplementation.idl:
* dom/Document.idl:
* fileapi/Blob.idl:
* fileapi/DirectoryEntry.idl:
* fileapi/DirectoryEntrySync.idl:
* fileapi/Entry.idl:
* fileapi/EntrySync.idl:
* fileapi/WebKitBlobBuilder.idl:
* html/HTMLButtonElement.idl:
* html/HTMLCanvasElement.idl:
* html/HTMLFieldSetElement.idl:
* html/HTMLInputElement.idl:
* html/HTMLKeygenElement.idl:
* html/HTMLObjectElement.idl:
* html/HTMLOutputElement.idl:
* html/HTMLSelectElement.idl:
* html/HTMLTextAreaElement.idl:
* page/Console.idl:
* page/DOMWindow.idl:
* bindings/scripts/test/TestObj.idl: No changes in run-bindings-tests results.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106575
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 2 Feb 2012 19:12:48 +0000 (19:12 +0000)]
Fix type punning warning in HashTable.h debug builds
https://bugs.webkit.org/show_bug.cgi?id=77422
Patch by Andy Wingo <wingo@igalia.com> on 2012-02-02
Reviewed by Gavin Barraclough.
* wtf/HashTable.h (WTF::HashTable::checkKey): Fix type punning
warning appearing in debug builds with gcc-4.6.2 on GNU/Linux.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106574
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 2 Feb 2012 19:06:16 +0000 (19:06 +0000)]
Unreviewed. Rolled DEPS.
Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-02-02
* DEPS:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106573
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Thu, 2 Feb 2012 19:03:29 +0000 (19:03 +0000)]
NPAPI will not send mouse up events when mouse is outside plugin area
https://bugs.webkit.org/show_bug.cgi?id=77657
<rdar://problem/
10160674>
Reviewed by Andreas Kling.
Source/WebCore:
Export EventHandler::setCapturingMouseEventsNode.
* WebCore.exp.in:
Source/WebKit2:
Use EventHandler::setCapturingMouseEventsNode to ensure we get all the mouse events when the mouse is down.
* WebProcess/Plugins/PluginView.cpp:
(WebKit::PluginView::handleEvent):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106572
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ossy@webkit.org [Thu, 2 Feb 2012 18:59:09 +0000 (18:59 +0000)]
[Qt][WK2] Unreviewed gardening.
https://bugs.webkit.org/show_bug.cgi?id=67485
* platform/qt-wk2/Skipped:
- fast/dom/Window/window-properties.html: unskip, it needed only update
- fast/text/complex-preferred-logical-widths.html: unskip, it passes now
- http/tests/loading/empty-urls.html: unskip, it doesn't exist now
- http/tests/loading/progress-finished-callback.html: move to the correct place
* platform/qt-wk2/fast/dom/Window/window-properties-expected.txt: Updated.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106571
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ossy@webkit.org [Thu, 2 Feb 2012 18:37:36 +0000 (18:37 +0000)]
[Qt] Unreviewed gardening.
* platform/qt/Skipped: Unskip a now passing test.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106570
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ossy@webkit.org [Thu, 2 Feb 2012 18:08:55 +0000 (18:08 +0000)]
Paint the Qt Mac bot green.
* platform/qt-mac/Skipped:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106569
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
antti@apple.com [Thu, 2 Feb 2012 18:08:08 +0000 (18:08 +0000)]
Move remaining implementation from CSSStyleDeclaration to subclasses
https://bugs.webkit.org/show_bug.cgi?id=77621
Reviewed by Andreas Kling.
This leaves CSSStyleDeclaration a near-pure CSSOM interface.
* bindings/js/JSCSSStyleDeclarationCustom.cpp:
(WebCore::isCSSPropertyName):
(WebCore::JSCSSStyleDeclaration::putDelegate):
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::CSSComputedStyleDeclaration::parentRule):
(WebCore):
* css/CSSComputedStyleDeclaration.h:
(CSSComputedStyleDeclaration):
* css/CSSMutableStyleDeclaration.cpp:
(WebCore::CSSMutableStyleDeclaration::CSSMutableStyleDeclaration):
(WebCore::CSSMutableStyleDeclaration::contextStyleSheet):
(WebCore):
(WebCore::CSSMutableStyleDeclaration::parentRule):
* css/CSSMutableStyleDeclaration.h:
(WebCore::CSSMutableStyleDeclaration::isInlineStyleDeclaration):
(WebCore::CSSMutableStyleDeclaration::parentRuleInternal):
(WebCore::CSSMutableStyleDeclaration::clearParentRule):
(CSSMutableStyleDeclaration):
(WebCore::CSSMutableStyleDeclaration::parentElement):
(WebCore::CSSMutableStyleDeclaration::clearParentElement):
(WebCore::CSSMutableStyleDeclaration::parentStyleSheet):
* css/CSSParser.cpp:
(WebCore::parseColorValue):
(WebCore::parseSimpleLengthValue):
(WebCore::CSSParser::parseValue):
(WebCore::CSSParser::parseDeclaration):
* css/CSSStyleDeclaration.cpp:
(WebCore):
* css/CSSStyleDeclaration.h:
(CSSStyleDeclaration):
(WebCore::CSSStyleDeclaration::parentStyleSheet):
(WebCore::CSSStyleDeclaration::CSSStyleDeclaration):
* css/CSSStyleRule.cpp:
(WebCore::CSSStyleRule::setSelectorText):
Eliminate unnecessary call to CSSMutableStyleDeclaration::parentStyleSheet()
* css/CSSStyleRule.h:
(WebCore::CSSStyleRule::setDeclaration):
* css/CSSStyleSelector.cpp:
(WebCore::isInsideRegionRule):
(WebCore::CSSStyleSelector::applyDeclaration):
* css/WebKitCSSKeyframeRule.cpp:
(WebCore::WebKitCSSKeyframeRule::setDeclaration):
* page/PageSerializer.cpp:
(WebCore::PageSerializer::serializeFrame):
(WebCore::PageSerializer::serializeCSSStyleSheet):
(WebCore::PageSerializer::retrieveResourcesForCSSRule):
(WebCore::PageSerializer::retrieveResourcesForCSSDeclaration):
* page/PageSerializer.h:
Eliminate unnecessary call to CSSMutableStyleDeclaration::parentStyleSheet()
(WebCore):
(PageSerializer):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106568
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ossy@webkit.org [Thu, 2 Feb 2012 18:03:20 +0000 (18:03 +0000)]
[Qt] One more unreviewed gardening after r106487
https://bugs.webkit.org/show_bug.cgi?id=77628
* platform/qt-5.0/Skipped:
* platform/qt-wk2/Skipped:
* platform/qt/Skipped: Skip new crashing tests after r106554.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106567
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cmarrin@apple.com [Thu, 2 Feb 2012 17:58:45 +0000 (17:58 +0000)]
Turn on CSS Filters on Windows
https://bugs.webkit.org/show_bug.cgi?id=76667
Source/WebCore:
Turning on CSS_FILTERS flag for Windows and fixed a couple of resultant build errors
Reviewed by Adele Peterson.
* WebCore.vcproj/copyForwardingHeaders.cmd:
* platform/graphics/ca/win/PlatformCALayerWin.cpp:
(PlatformCALayer::setFilters):
(PlatformCALayer::filtersCanBeComposited):
WebKitLibraries:
Turned on CSS_FILTERS for Windows
Reviewed by Adele Peterson.
* win/tools/vsprops/FeatureDefines.vsprops:
LayoutTests:
Skipped filter test files not supported on Windows
Reviewed by Adele Peterson.
* platform/win/Skipped:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106566
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Thu, 2 Feb 2012 17:44:16 +0000 (17:44 +0000)]
Move ScrollingThread to its own file
https://bugs.webkit.org/show_bug.cgi?id=77652
Reviewed by Sam Weinig.
This just shuffles some classes around and makes ScrollingCoordinator call into ScrollingThread.
Hopefully we'll be able to make ScrollingThread use the new WebCore::RunLoop class eventually.
* WebCore.xcodeproj/project.pbxproj:
* page/scrolling/ScrollingCoordinator.cpp:
(WebCore::ScrollingCoordinator::handleWheelEvent):
* page/scrolling/ScrollingCoordinator.h:
(ScrollingCoordinator):
* page/scrolling/ScrollingThread.cpp: Added.
(WebCore):
(WebCore::ScrollingThread::ScrollingThread):
(WebCore::ScrollingThread::isCurrentThread):
(WebCore::ScrollingThread::dispatch):
(WebCore::ScrollingThread::shared):
(WebCore::ScrollingThread::createThreadIfNeeded):
(WebCore::ScrollingThread::threadCallback):
(WebCore::ScrollingThread::threadBody):
(WebCore::ScrollingThread::dispatchFunctionsFromScrollingThread):
* page/scrolling/ScrollingThread.h: Added.
(WebCore):
(ScrollingThread):
* page/scrolling/mac/ScrollingCoordinatorMac.mm:
(WebCore::ScrollingCoordinator::scrollByOnScrollingThread):
(WebCore::ScrollingCoordinator::updateMainFrameScrollLayerPositionOnScrollingThread):
* page/scrolling/mac/ScrollingThreadMac.mm: Added.
(WebCore):
(WebCore::ScrollingThread::initializeRunLoop):
(WebCore::ScrollingThread::wakeUpRunLoop):
(WebCore::ScrollingThread::threadRunLoopSourceCallback):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106565
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
tonyg@chromium.org [Thu, 2 Feb 2012 17:39:43 +0000 (17:39 +0000)]
Unreviewed chromium baselines for new tests in r106551.
* platform/chromium-mac-leopard/svg/custom/glyph-selection-arabic-forms-expected.png: Added.
* platform/chromium-mac-leopard/svg/custom/glyph-selection-arabic-forms-expected.txt: Added.
* platform/chromium-mac-leopard/svg/custom/glyph-selection-bidi-mirror-expected.png: Added.
* platform/chromium-mac-leopard/svg/custom/glyph-selection-non-bmp-expected.png: Added.
* platform/chromium-mac-snowleopard/svg/custom/glyph-selection-arabic-forms-expected.png: Added.
* platform/chromium-mac-snowleopard/svg/custom/glyph-selection-arabic-forms-expected.txt: Added.
* platform/chromium-mac-snowleopard/svg/custom/glyph-selection-bidi-mirror-expected.png: Added.
* platform/chromium-mac-snowleopard/svg/custom/glyph-selection-bidi-mirror-expected.txt: Added.
* platform/chromium-mac-snowleopard/svg/custom/glyph-selection-non-bmp-expected.png: Added.
* platform/chromium-mac-snowleopard/svg/custom/glyph-selection-non-bmp-expected.txt: Added.
* platform/chromium-win/svg/custom/glyph-selection-arabic-forms-expected.png: Added.
* platform/chromium-win/svg/custom/glyph-selection-bidi-mirror-expected.png: Added.
* platform/chromium-win/svg/custom/glyph-selection-non-bmp-expected.png: Added.
* platform/chromium-win/svg/custom/glyph-selection-non-bmp-expected.txt: Added.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106564
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 2 Feb 2012 17:20:15 +0000 (17:20 +0000)]
Unreviewed, rolling out r106551.
http://trac.webkit.org/changeset/106551
https://bugs.webkit.org/show_bug.cgi?id=77648
Breaking mac and gtk tests due to font differences. (Requested
by _pdr_ on #webkit).
Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-02-02
Source/WebCore:
* platform/graphics/SVGGlyph.cpp:
(WebCore::charactersWithArabicForm):
* svg/SVGFontData.cpp:
(WebCore::SVGFontData::applySVGGlyphSelection):
* svg/SVGFontData.h:
(SVGFontData):
LayoutTests:
* svg/custom/glyph-selection-arabic-forms-expected.png: Removed.
* svg/custom/glyph-selection-arabic-forms-expected.txt: Removed.
* svg/custom/glyph-selection-arabic-forms.svg: Removed.
* svg/custom/glyph-selection-bidi-mirror-expected.png: Removed.
* svg/custom/glyph-selection-bidi-mirror-expected.txt: Removed.
* svg/custom/glyph-selection-bidi-mirror.svg: Removed.
* svg/custom/glyph-selection-non-bmp-expected.png: Removed.
* svg/custom/glyph-selection-non-bmp-expected.txt: Removed.
* svg/custom/glyph-selection-non-bmp.svg: Removed.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106563
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kubo@profusion.mobi [Thu, 2 Feb 2012 17:15:01 +0000 (17:15 +0000)]
[EFL] Remove check for ENABLE_GTK_PLUGINS_SUPPORT
https://bugs.webkit.org/show_bug.cgi?id=77647
Reviewed by Martin Robinson.
There is no clear reason why this check was in place (it came with the
upstreaming of the port), but ENABLE_GTK_PLUGINS_SUPPORT is not set
anywhere, and the build system does not even check for the presence of
GTK+ when building.
* ewk/ewk_main.cpp:
(_ewk_init_body):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106562
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
msaboff@apple.com [Thu, 2 Feb 2012 16:59:17 +0000 (16:59 +0000)]
Add myself as a reviewer.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106561
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
apavlov@chromium.org [Thu, 2 Feb 2012 16:40:15 +0000 (16:40 +0000)]
Web Inspector: [REGRESSION] Slow continuous DOM traversal with Up/Down keys
https://bugs.webkit.org/show_bug.cgi?id=77643
Reviewed by Pavel Feldman.
Source/WebCore:
Test: inspector/styles/updates-during-dom-traversal.html
* inspector/front-end/StylesSidebarPane.js:
(WebInspector.StylesSidebarPane.prototype._executeRebuildUpdate):
LayoutTests:
* inspector/styles/updates-during-dom-traversal-expected.txt: Added.
* inspector/styles/updates-during-dom-traversal.html: Added.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106560
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 2 Feb 2012 16:28:14 +0000 (16:28 +0000)]
[GTK] WebKitWebView won't work in a GtkOffscreenWindow
https://bugs.webkit.org/show_bug.cgi?id=76911
Patch by Claudio Saavedra <csaavedra@igalia.com> and Martin Robinson <mrobinson@igalia.com> on 2012-02-02
Reviewed by Philippe Normand.
Source/WebCore:
* platform/gtk/GtkUtilities.cpp:
(WebCore::widgetIsOnscreenToplevelWindow): Added this helper.
* platform/gtk/GtkUtilities.h:
(WebCore): Added helper declaration.
Source/WebKit/gtk:
* WebCoreSupport/ChromeClientGtk.cpp:
(WebKit::ChromeClient::windowRect): Use the new widgetIsOnscreenToplevelWindow helper.
(WebKit::ChromeClient::setWindowRect): Ditto.
(WebKit::ChromeClient::unfocus): Ditto.
(WebKit::ChromeClient::runOpenPanel): Ditto.
* tests/testwebview.c: Added a test to ensure that loading a page in an offscreen window does not crash.
* webkit/webkitglobals.cpp:
(currentToplevelCallback):
* webkit/webkitwebframe.cpp:
(webkit_web_frame_print_full):
(webkit_web_frame_print):
* webkit/webkitwebview.cpp:
(webkit_web_view_focus_in_event):
(webkit_web_view_script_dialog):
Source/WebKit2:
* UIProcess/API/gtk/WebKitUIClient.cpp:
(getWindowFrame): Use the new helper.
* UIProcess/API/gtk/WebKitWebView.cpp:
(webkitWebViewCreateJavaScriptDialog): Ditto
* UIProcess/API/gtk/WebKitWebViewBase.cpp:
(webkitWebViewBaseRealize): Ditto.
(webkitWebViewBaseSizeAllocate): Ditto.
(webkitWebViewBaseFocusInEvent): Ditto.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106559
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
tonyg@chromium.org [Thu, 2 Feb 2012 15:53:23 +0000 (15:53 +0000)]
fast/speech/bubble-position.html fails on mac
https://bugs.webkit.org/show_bug.cgi?id=77641
Unreviewed expectations update.
* platform/chromium/test_expectations.txt: Test introduced by 106438, never passed on mac.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106558
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ossy@webkit.org [Thu, 2 Feb 2012 15:48:54 +0000 (15:48 +0000)]
[Qt][Mac] Unreviewed gardening, skip new failing tests to paint the bot green.
* platform/qt-mac/Skipped:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106557
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
tonyg@chromium.org [Thu, 2 Feb 2012 15:27:19 +0000 (15:27 +0000)]
Unreviewed rebaseline of imperceptible shadow change.
* platform/chromium-mac-snowleopard/fast/box-shadow/box-shadow-clipped-slices-expected.png:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106556
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ossy@webkit.org [Thu, 2 Feb 2012 15:13:02 +0000 (15:13 +0000)]
[Qt] Unreviewed gardening after r106551.
* platform/qt/Skipped: Skip new tests because of missing testfonts.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106555
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 2 Feb 2012 15:09:48 +0000 (15:09 +0000)]
Source/WebCore: Update active and hover state on touch release.
https://bugs.webkit.org/show_bug.cgi?id=77620
Patch by Allan Sandfeld Jensen <allan.jensen@nokia.com> on 2012-02-02
Reviewed by Kenneth Rohde Christiansen.
* rendering/HitTestRequest.h:
(WebCore::HitTestRequest::move):
(WebCore::HitTestRequest::release):
(WebCore::HitTestRequest::touchEvent):
(WebCore::HitTestRequest::mouseEvent):
(WebCore::HitTestRequest::touchMove):
(WebCore::HitTestRequest::touchRelease):
Rename the enum values in HitTestRequest to be mouse/touch
agnostic, and add value for recognizing touch events.
* rendering/RenderFrameSet.cpp:
(WebCore::RenderFrameSet::nodeAtPoint): Update for HitTestRequest rename.
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::hitTest): ditto
(WebCore::RenderLayer::updateHoverActiveState): Reset hoverstate on touch release.
* page/EventHandler.cpp:
(WebCore::EventHandler::updateSelectionForMouseDrag): Update for HitTestRequest rename.
(WebCore::EventHandler::handleMouseMoveEvent): ditto
(WebCore::EventHandler::handleMouseReleaseEvent): ditto
(WebCore::EventHandler::hoverTimerFired): ditto
(WebCore::EventHandler::dragSourceEndedAt): ditto
(WebCore::EventHandler::handleTouchEvent): Hittest touch release to reset
active and hover states and add touch enum to all touch hittests.
Source/WebKit/chromium: Update enum name for HitTestRequest::RequestType
https://bugs.webkit.org/show_bug.cgi?id=77620
Patch by Allan Sandfeld Jensen <allan.jensen@nokia.com> on 2012-02-02
Reviewed by Kenneth Rohde Christiansen.
* src/WebFrameImpl.cpp:
(WebKit::WebFrameImpl::visiblePositionForWindowPoint):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106554
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ossy@webkit.org [Thu, 2 Feb 2012 14:47:21 +0000 (14:47 +0000)]
[Qt] Unreviewed gardening after r106487
https://bugs.webkit.org/show_bug.cgi?id=77628
Patch by János Badics <dicska@gmail.com> on 2012-02-02
* platform/qt-wk2/Skipped: Skip the test made fast/events/resize-subframe.html timeout.
* platform/qt/fast/events/remove-target-with-shadow-in-drag-expected.txt: Added.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106553
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
pfeldman@chromium.org [Thu, 2 Feb 2012 14:28:39 +0000 (14:28 +0000)]
Web Inspector: enable editing of selected rows on single click in elements panel.
https://bugs.webkit.org/show_bug.cgi?id=77627
Reviewed by Vsevolod Vlasov.
* inspector/front-end/ElementsTreeOutline.js:
(WebInspector.ElementsTreeElement.prototype.onattach):
(WebInspector.ElementsTreeElement.prototype.onselect):
(WebInspector.ElementsTreeElement.prototype._mouseDown):
* inspector/front-end/treeoutline.js:
(TreeElement.prototype.selectOnMouseDown):
(TreeElement.prototype.select):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106552
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 2 Feb 2012 14:27:10 +0000 (14:27 +0000)]
Fix mirroring with SVG fonts
https://bugs.webkit.org/show_bug.cgi?id=77067
Patch by Philip Rogers <pdr@google.com> on 2012-02-02
Reviewed by Nikolas Zimmermann.
Source/WebCore:
SVG fonts were incorrectly handling mirrored characters in bidi text.
In this change I added the function createStringWithMirroredCharacters
which handles mirroring the characters when selecting glyphs for SVG
fonts. I also made a small cosmetic change in the function
charactersWithArabicForm, changing the bool parameter "mirror" to "rtl"
which better reflects what it actually does.
Several new tests were added to test mirroring with SVG fonts in the
presence of Arabic forms and non-BMP characters.
Tests: svg/custom/glyph-selection-arabic-forms.svg
svg/custom/glyph-selection-bidi-mirror.svg
svg/custom/glyph-selection-non-bmp.svg
* platform/graphics/SVGGlyph.cpp:
(WebCore::charactersWithArabicForm):
* svg/SVGFontData.cpp:
(WebCore::SVGFontData::applySVGGlyphSelection):
(WebCore::SVGFontData::createStringWithMirroredCharacters):
* svg/SVGFontData.h:
(SVGFontData):
LayoutTests:
SVG fonts were incorrectly handling mirrored characters in bidi text.
In this change I added the function createStringWithMirroredCharacters
which handles mirroring the characters when selecting glyphs for SVG
fonts. I also made a small cosmetic change in the function
charactersWithArabicForm, changing the bool parameter "mirror" to "rtl"
which better reflects what it actually does.
Several new tests were added to test mirroring with SVG fonts in the
presence of Arabic forms and non-BMP characters.
* svg/custom/glyph-selection-arabic-forms-expected.txt: Added.
* svg/custom/glyph-selection-arabic-forms.svg: Added.
* svg/custom/glyph-selection-bidi-mirror-expected.txt: Added.
* svg/custom/glyph-selection-bidi-mirror.svg: Added.
* svg/custom/glyph-selection-non-bmp-expected.txt: Added.
* svg/custom/glyph-selection-non-bmp.svg: Added.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106551
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
pfeldman@chromium.org [Thu, 2 Feb 2012 14:25:15 +0000 (14:25 +0000)]
Web Inspector: add experiment for single click styles editing.
https://bugs.webkit.org/show_bug.cgi?id=77624
Reviewed by Vsevolod Vlasov.
* inspector/front-end/Settings.js:
(WebInspector.ExperimentsSettings):
* inspector/front-end/StylesSidebarPane.js:
(WebInspector.StylePropertiesSection):
(WebInspector.StylePropertyTreeElement.prototype.onattach):
(WebInspector.StylePropertyTreeElement.prototype._mouseDown):
(WebInspector.StylePropertyTreeElement.prototype._resetMouseDownElement):
(WebInspector.StylePropertyTreeElement.prototype):
(WebInspector.StylePropertyTreeElement.prototype.selectElement.context):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106550
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kkristof@inf.u-szeged.hu [Thu, 2 Feb 2012 14:13:36 +0000 (14:13 +0000)]
Add myself as a commiter
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106549
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
philn@webkit.org [Thu, 2 Feb 2012 13:58:20 +0000 (13:58 +0000)]
Unreviewed, marking a new test as flaky on GTK.
* platform/gtk/test_expectations.txt:
fast/forms/radio/radio-group.html fails on and off.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106548
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kenneth@webkit.org [Thu, 2 Feb 2012 13:53:57 +0000 (13:53 +0000)]
Make the tap highlighting work for all test cases
https://bugs.webkit.org/show_bug.cgi?id=77626
Reviewed by Simon Hausmann.
Clean up of the current code to make it more generic. Now uses
addFocusRingRects for finding the areas to highlight.
Tested by current manual tests.
* page/GestureTapHighlighter.cpp:
(WebCore::GestureTapHighlighter::pathForNodeHighlight):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106547
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
philn@webkit.org [Thu, 2 Feb 2012 13:42:07 +0000 (13:42 +0000)]
Unreviewed, GTK rebaseline and skipping 3 new test failures.
* platform/gtk/Skipped:
* platform/gtk/fast/events/remove-target-with-shadow-in-drag-expected.txt: Added.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106546
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mario@webkit.org [Thu, 2 Feb 2012 13:18:09 +0000 (13:18 +0000)]
[Gtk] atk_text_get_text_at_offset() sometimes fails to provide the correct line
https://bugs.webkit.org/show_bug.cgi?id=72382
Reviewed by Martin Robinson.
Source/WebCore:
Do not add unnecesary blanks at the end of a line of text.
* accessibility/gtk/WebKitAccessibleInterfaceText.cpp:
(textForRenderer): Do not just append a '\n' at the end of a line
if the linebreak for that line was already considered.
Source/WebKit/gtk:
New unit test to ensure the right line is retrieved for the first
position of each line in a multiline preformatted portion of text.
* tests/testatk.c:
(testWebkitAtkGetTextAtOffsetWithPreformattedText): New unit test.
(main): Add the new unit test.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106545
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 2 Feb 2012 10:25:25 +0000 (10:25 +0000)]
Regions should ignore the saved currentRenderFlowThread during repainting
because if there are imbricated flow threads, it might end using the wrong one.
[CSSRegions] Assert failure in RenderView::computeRectForRepaint
https://bugs.webkit.org/show_bug.cgi?id=77430
Patch by Raul Hudea <rhudea@adobe.com> on 2012-02-02
Reviewed by David Hyatt.
Source/WebCore:
Test: fast/regions/imbricated-flow-threads-crash.html
* rendering/RenderFlowThread.cpp:
(CurrentRenderFlowThreadDisabler):
(WebCore::CurrentRenderFlowThreadDisabler::CurrentRenderFlowThreadDisabler):
(WebCore::CurrentRenderFlowThreadDisabler::~CurrentRenderFlowThreadDisabler):
(WebCore):
(WebCore::RenderFlowThread::repaintRectangleInRegions):
LayoutTests:
* fast/regions/imbricated-flow-threads-crash-expected.txt: Added.
* fast/regions/imbricated-flow-threads-crash.html: Added.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106544
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rniwa@webkit.org [Thu, 2 Feb 2012 10:24:29 +0000 (10:24 +0000)]
[PerformanceTests] tests have dependencies
https://bugs.webkit.org/show_bug.cgi?id=77506
Reviewed by Hajime Morita.
PerformanceTests:
* resources/init.html: Added.
Tools:
Load an initialization page before each test after starting a DRT so that
warming up DRT won't affect the performance test results.
* Scripts/webkitpy/performance_tests/perftestsrunner.py:
(PerfTestsRunner):
(PerfTestsRunner.__init__):
(PerfTestsRunner._run_tests_set):
(PerfTestsRunner._run_single_test):
* Scripts/webkitpy/performance_tests/perftestsrunner_unittest.py:
(MainTest.TestDriver.run_test):
(test_initial_page_loaded):
(test_initial_page_loaded.run_test):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106543
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kinuko@chromium.org [Thu, 2 Feb 2012 09:31:21 +0000 (09:31 +0000)]
Cleanup: Move chrome-specific filesystem type handling code (for FileSystem API) under chromium directory (re-landing r105395)
https://bugs.webkit.org/show_bug.cgi?id=76551
Source/WebCore:
Reviewed by David Levin.
Moved the implementation of crackFileSystemURL() and toURL() from
WebCore/fileapi/DOMFileSystemBase into WebCore/platform/AsyncFileSystem
so that each platform can extend/implement their behavior if necessary.
No new tests as it has no functional changes.
* fileapi/DOMFileSystemBase.cpp: Moved crackFileSystemURL() to AsyncFileSystem.
* fileapi/DOMFileSystemBase.h:
(DOMFileSystemBase):
* fileapi/EntryBase.cpp: Moved toURL() to AsyncFileSystem.
(WebCore::EntryBase::toURL):
* page/DOMWindow.cpp: Made corresponding callsite changes.
(WebCore::DOMWindow::webkitRequestFileSystem):
(WebCore::DOMWindow::webkitResolveLocalFileSystemURL):
* page/DOMWindow.h:
* platform/AsyncFileSystem.cpp:
(WebCore::AsyncFileSystem::isValidType): Added.
* platform/AsyncFileSystem.h:
(AsyncFileSystem):
* workers/WorkerContext.cpp: Made corresponding callsite changes.
(WebCore::WorkerContext::webkitRequestFileSystem):
(WebCore::WorkerContext::webkitRequestFileSystemSync):
(WebCore::WorkerContext::webkitResolveLocalFileSystemURL):
(WebCore::WorkerContext::webkitResolveLocalFileSystemSyncURL):
* workers/WorkerContext.h:
Source/WebKit/chromium:
* src/AssertMatchingEnums.cpp: Removed the matching assertion for AsyncFileSystem::External (as now we directly use WebFileSystem::TypeExternal).
* src/AsyncFileSystemChromium.cpp:
(WebCore::AsyncFileSystem::crackFileSystemURL): Added.
(WebCore::AsyncFileSystem::isValidType): Added.
(WebCore::AsyncFileSystemChromium::toURL): Added.
* src/AsyncFileSystemChromium.h:
(AsyncFileSystemChromium):
* src/WorkerAsyncFileSystemChromium.cpp: Made this subclass of AsyncFileSystemChromium (rather than that of AsyncFileSystem)
(WebCore::WorkerAsyncFileSystemChromium::WorkerAsyncFileSystemChromium):
* src/WorkerAsyncFileSystemChromium.h:
(WorkerAsyncFileSystemChromium):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106542
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
yurys@chromium.org [Thu, 2 Feb 2012 09:12:47 +0000 (09:12 +0000)]
Web Inspector: pause on uncaugh exceptions state is not properly restored
https://bugs.webkit.org/show_bug.cgi?id=77558
'Pause on exceptions' state is now stored in InspectorState object so that it is
properly restored on inspected process change.
Reviewed by Vsevolod Vlasov.
* inspector/InspectorDebuggerAgent.cpp:
(DebuggerAgentState):
(WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
(WebCore::InspectorDebuggerAgent::disable):
(WebCore::InspectorDebuggerAgent::restore):
(WebCore::InspectorDebuggerAgent::setPauseOnExceptions):
(WebCore):
(WebCore::InspectorDebuggerAgent::setPauseOnExceptionsImpl):
* inspector/InspectorDebuggerAgent.h:
(InspectorDebuggerAgent):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106541
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rniwa@webkit.org [Thu, 2 Feb 2012 08:27:21 +0000 (08:27 +0000)]
Re-land r106442 per Adam's suggestion. We'll do both restarting DRT and loading a fake test first.
* Scripts/webkitpy/performance_tests/perftestsrunner.py:
(PerfTestsRunner._run_tests_set):
(PerfTestsRunner._run_single_test):
* Scripts/webkitpy/performance_tests/perftestsrunner_unittest.py:
(create_runner):
(test_run_passing_test):
(test_run_silent_test):
(test_run_failed_test):
(test_run_tonguey_test):
(test_run_timeout_test):
(test_run_crash_test):
(test_run_test_set_kills_drt_per_run):
(test_run_test_set_kills_drt_per_run.TestDriverWithStopCount):
(test_run_test_set_kills_drt_per_run.TestDriverWithStopCount.__init__):
(test_run_test_set_kills_drt_per_run.TestDriverWithStopCount.stop):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106540
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
haraken@chromium.org [Thu, 2 Feb 2012 08:23:59 +0000 (08:23 +0000)]
The third argument of addEventListener/removeEventListener of PeerConnection should be optional
https://bugs.webkit.org/show_bug.cgi?id=77606
Reviewed by Adam Barth.
Source/WebCore:
This patch corrects a typo in PeerConnection.idl, i.e. [optional] => [Optional].
Test: fast/mediastream/peerconnection-eventlistener-optional-argument.html
* mediastream/PeerConnection.idl:
LayoutTests:
The added test confirms if the third argument of addEventListener() and
removeEventListener() is optional.
* fast/mediastream/peerconnection-eventlistener-optional-argument-expected.txt: Added.
* fast/mediastream/peerconnection-eventlistener-optional-argument.html: Added.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106539
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 2 Feb 2012 08:09:07 +0000 (08:09 +0000)]
hidden attribute on <input type=file /> suppresses the file selection dialog
https://bugs.webkit.org/show_bug.cgi?id=58208
Patch by Rakesh KN <rakesh.kn@motorola.com> on 2012-02-02
Reviewed by Ryosuke Niwa.
.:
* ManualTests/input-file-hidden-open-dialog-on-click.html: Added.
Adding manual test as the file dialog opens only in User gesture.
Source/WebCore:
We want to allow opening file dialog on hidden element when click() is called
on the element. The behaviour is similar to Firefox and IE.
Added manual test as the file dialog opens only on user gesture.
* html/FileInputType.cpp:
(WebCore::FileInputType::handleDOMActivateEvent):
Removed renderer check as input can be hidden.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106538
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
philn@webkit.org [Thu, 2 Feb 2012 08:04:02 +0000 (08:04 +0000)]
[GStreamer] FFTFrame implementation
https://bugs.webkit.org/show_bug.cgi?id=73545
Reviewed by Chris Rogers.
.:
* configure.ac: Enable the WebAudio option again and remove
libfftw checks.
Source/WebCore:
FFTFrame implementation based on GStreamer's FFT processing
library.
No new tests, existing WebAudio tests cover this.
* GNUmakefile.am:
* GNUmakefile.list.am:
* platform/audio/FFTFrame.h:
* platform/audio/FFTFrameStub.cpp:
* platform/audio/gstreamer/FFTFrameGStreamer.cpp: Added.
(WebCore::FFTFrame::FFTFrame):
(WebCore::FFTFrame::initialize):
(WebCore::FFTFrame::cleanup):
(WebCore::FFTFrame::~FFTFrame):
(WebCore::FFTFrame::multiply):
(WebCore::FFTFrame::doFFT):
(WebCore::FFTFrame::doInverseFFT):
(WebCore::FFTFrame::realData):
(WebCore::FFTFrame::imagData):
Source/WebKit/gtk:
* GNUmakefile.am: Remove libfftw compilation flags.
Source/WebKit2:
* GNUmakefile.am: Remove libfftw compilation flags.
LayoutTests:
* webaudio/resources/convolution-testing.js:
(checkTail1): Adapt convolution threshold for GStreamerFFTFrame
implementation, as advised by Chris Rogers.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106537
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
haraken@chromium.org [Thu, 2 Feb 2012 08:00:20 +0000 (08:00 +0000)]
Rename [CheckFrameSecurity] and [SVGCheckSecurity] to [CheckAccessToNode]
https://bugs.webkit.org/show_bug.cgi?id=77601
Reviewed by Adam Barth.
[CheckFrameSecurity] and [SVGCheckSecurity] have the same meaning; i.e. generate code
to check allowAccessToNode() for a given attribute or method. This patch renames them
to [CheckAccessToNode].
No tests. No changes in behavior.
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateImplementation):
* bindings/scripts/CodeGeneratorV8.pm:
(GenerateNormalAttrGetter):
(GenerateFunctionCallback):
* html/HTMLEmbedElement.idl:
* html/HTMLFrameElement.idl:
* html/HTMLIFrameElement.idl:
* html/HTMLObjectElement.idl:
* bindings/scripts/test/TestObj.idl:
* bindings/scripts/test/V8/V8TestObj.cpp: Updated the test results.
(WebCore):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106536
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
haraken@chromium.org [Thu, 2 Feb 2012 07:48:28 +0000 (07:48 +0000)]
Rename [V8DisallowShadowing] to [V8Unforgeable]
https://bugs.webkit.org/show_bug.cgi?id=77599
Reviewed by Adam Barth.
This patch renames [V8DisallowShadowing] to [V8Unforgeable], following the Web IDL
spec (http://dev.w3.org/2006/webapi/WebIDL/#Unforgeable).
No tests. No change in behavior.
* bindings/scripts/CodeGeneratorV8.pm:
(GenerateNormalAttrGetter):
(GenerateSingleBatchedAttribute):
(GenerateImplementation):
* page/DOMWindow.idl:
* page/Location.idl:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106535
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
haraken@chromium.org [Thu, 2 Feb 2012 07:07:50 +0000 (07:07 +0000)]
Rename [ConvertNullToNullString] to [TreatNullAs=EmptyString]
https://bugs.webkit.org/show_bug.cgi?id=77602
Reviewed by Adam Barth.
This patch renames [ConvertNullToNullString] to [TreatNullAs=EmptyString],
according to the spec (http://dev.w3.org/2006/webapi/WebIDL/#TreatNullAs).
No tests. No changes in behavior.
* bindings/scripts/CodeGeneratorJS.pm:
(JSValueToNative):
* bindings/scripts/CodeGeneratorV8.pm:
(GetNativeTypeFromSignature):
* css/CSSCharsetRule.idl:
* css/CSSPageRule.idl:
* css/CSSRule.idl:
* css/CSSStyleDeclaration.idl:
* css/CSSStyleRule.idl:
* css/CSSValue.idl:
* css/MediaList.idl:
* css/WebKitCSSKeyframesRule.idl:
* dom/Attr.idl:
* dom/CharacterData.idl:
* dom/DOMImplementation.idl:
* dom/Document.idl:
* dom/Element.idl:
* dom/NamedNodeMap.idl:
* dom/Node.idl:
* dom/ProcessingInstruction.idl:
* dom/ShadowRoot.idl:
* html/HTMLAnchorElement.idl:
* html/HTMLButtonElement.idl:
* html/HTMLDocument.idl:
* html/HTMLElement.idl:
* html/HTMLFormElement.idl:
* html/HTMLFrameElement.idl:
* html/HTMLInputElement.idl:
* html/HTMLMediaElement.idl:
* html/HTMLOutputElement.idl:
* html/HTMLScriptElement.idl:
* html/HTMLSelectElement.idl:
* html/HTMLTextAreaElement.idl:
* html/HTMLTitleElement.idl:
* html/canvas/CanvasRenderingContext2D.idl:
* page/DOMWindow.idl:
* storage/StorageEvent.idl:
* svg/SVGAngle.idl:
* svg/SVGElement.idl:
* svg/SVGLength.idl:
* svg/SVGScriptElement.idl:
* bindings/scripts/test/TestObj.idl: No change in the run-bindings-tests results.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106534
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 2 Feb 2012 06:31:35 +0000 (06:31 +0000)]
Webkit generate-coverage-data script needs update to use new test script
https://bugs.webkit.org/show_bug.cgi?id=77597
Patch by Jacob Goldstein <jacobg@adobe.com> on 2012-02-01
Reviewed by Dirk Schulze.
* Scripts/generate-coverage-data:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106533
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
haraken@chromium.org [Thu, 2 Feb 2012 06:24:28 +0000 (06:24 +0000)]
Remove [GenerateConstructor] from IDL files
https://bugs.webkit.org/show_bug.cgi?id=77598
Reviewed by Adam Barth.
[GenerateConstructor] is used in some IDL files but it is not implemented
in code generators. I could not find any history about [GenerateConstructor]
in code generators. This patch removes them from IDL files.
Maybe we want to replace [GenerateConstructor] with [Constructor] eventually,
but currently no tests are written for their constructors (e.g. "new DOMTokenList()").
So simply removing them would make sense.
No new tests. No change in behavior.
* dom/DOMStringList.idl:
* html/DOMSettableTokenList.idl:
* html/DOMTokenList.idl:
* svg/SVGFEConvolveMatrixElement.idl:
* webaudio/AudioPannerNode.idl:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106532
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eric.carlson@apple.com [Thu, 2 Feb 2012 05:10:31 +0000 (05:10 +0000)]
Consider user's preferred language when choosing text tracks
https://bugs.webkit.org/show_bug.cgi?id=74121
Reviewed by Alexey Proskuryakov.
Source/WebCore:
Tests: media/track/track-language-preference.html
media/track/track-prefer-captions.html
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::loadTimerFired): configureTextTracks -> configureNewTextTracks.
(WebCore::HTMLMediaElement::textTracksAreReady): Add more comments.
(WebCore::HTMLMediaElement::textTrackModeChanged): Ditto.
(WebCore::HTMLMediaElement::showingTrackWithSameKind): Minor restructuring.
(WebCore::HTMLMediaElement::userIsInterestedInThisTrackKind): Renamed from userIsInterestedInThisTrack,
don't consider user's language preference.
(WebCore::HTMLMediaElement::configureTextTrackGroup): New, configure all tracks in a group,
considering user's kind and language preferences.
(WebCore::HTMLMediaElement::configureNewTextTracks): New, configure all newly added tracks.
* html/HTMLMediaElement.h:
(WebCore::HTMLMediaElement::TrackGroup::TrackGroup):
(TrackGroup):
* platform/Language.cpp:
(WebCore::canonicalLanguageIdentifier): New, create a canonicalized version of a language string.
(WebCore::bestMatchingLanguage): New, return the language from the list that best matches the
specified language.
(WebCore::preferredLanguageFromList): New, return the language in the specified list that best
matches the user's language preference.
* platform/Language.h:
* testing/Internals.cpp:
(WebCore::Internals::setShouldDisplayTrackType): New, allow DRT to set the track type preference.
(WebCore::Internals::shouldDisplayTrackType): New, allow DRT to read the track type preference.
* testing/Internals.h:
* testing/Internals.idl:
LayoutTests:
* media/track/track-language-preference-expected.txt: Added.
* media/track/track-language-preference.html: Added.
* media/track/track-prefer-captions-expected.txt: Added.
* media/track/track-prefer-captions.html: Added.
* platform/mac/Skipped:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106531
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hayato@chromium.org [Thu, 2 Feb 2012 04:21:29 +0000 (04:21 +0000)]
Change class hierarycy so that ShadowRoot can inherit DocumentFragment.
https://bugs.webkit.org/show_bug.cgi?id=76693
Reviewed by Darin Adler.
Make ShadowRoot inherit DocumentFragment so that it matches the class hierarchy of IDL in the spec.
TreeScope becomes a separated class, which is now inherited by Document and ShadowRoot using multiple-inheritance.
This patch is pre-requirement for coming IDL change.
No tests. No change in behavior.
* dom/Document.cpp:
(WebCore::Document::Document):
(WebCore::Document::~Document):
(WebCore::Document::buildAccessKeyMap):
(WebCore::Document::childrenChanged):
(WebCore::Document::attach):
(WebCore::Document::detach):
* dom/Document.h:
(Document):
* dom/DocumentFragment.cpp:
(WebCore::DocumentFragment::DocumentFragment):
* dom/DocumentFragment.h:
(DocumentFragment):
* dom/DocumentOrderedMap.cpp:
(WebCore::DocumentOrderedMap::get):
* dom/ShadowRoot.cpp:
(WebCore::ShadowRoot::ShadowRoot):
(WebCore::ShadowRoot::~ShadowRoot):
(WebCore::ShadowRoot::attach):
* dom/ShadowRoot.h:
* dom/TreeScope.cpp:
(WebCore::TreeScope::TreeScope):
(WebCore::TreeScope::~TreeScope):
(WebCore::TreeScope::setParentTreeScope):
(WebCore::TreeScope::getImageMap):
(WebCore::TreeScope::findAnchor):
* dom/TreeScope.h:
(WebCore):
(WebCore::TreeScope::rootNode):
(TreeScope):
* dom/TreeScopeAdopter.cpp:
(WebCore::TreeScopeAdopter::moveTreeToNewScope):
* page/DragController.cpp:
(WebCore::asFileInput):
* page/FocusController.cpp:
(WebCore::ownerOfTreeScope):
(WebCore::FocusController::nextFocusableNode):
(WebCore::FocusController::previousFocusableNode):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106530
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
benjamin@webkit.org [Thu, 2 Feb 2012 04:11:09 +0000 (04:11 +0000)]
WorkerScriptController::evaluate() should not return anything
https://bugs.webkit.org/show_bug.cgi?id=77587
Patch by Benjamin Poulain <bpoulain@apple.com> on 2012-02-01
Reviewed by Adam Barth.
Remove the return value from WorkerScriptController as it is
(and should be) unused.
* bindings/js/WorkerScriptController.cpp:
(WebCore::WorkerScriptController::evaluate):
* bindings/js/WorkerScriptController.h:
(WorkerScriptController):
* bindings/v8/WorkerScriptController.cpp:
(WebCore::WorkerScriptController::evaluate):
* bindings/v8/WorkerScriptController.h:
(WorkerScriptController):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106529
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
haraken@chromium.org [Thu, 2 Feb 2012 03:25:01 +0000 (03:25 +0000)]
Remove [DelegatingPrototypeGetOwnPropertySlot], [HasCustomIndexGetter],
[HasIndexSetter], [JSConstructorTemplate] and [NonEmpty] from code generators
https://bugs.webkit.org/show_bug.cgi?id=77585
Reviewed by Adam Barth.
This patch removes [DelegatingPrototypeGetOwnPropertySlot], [HasCustomIndexGetter],
[HasIndexSetter], [JSConstructorTemplate] and [NonEmpty] from code generators,
since they are not used by no IDL files.
No tests. No change in behavior.
* bindings/scripts/CodeGenerator.pm:
(GetterExpression):
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateGetOwnPropertySlotBody):
(GenerateGetOwnPropertyDescriptorBody):
(GenerateHeader):
(GenerateImplementation):
(IsConstructable):
(IsConstructorTemplate):
* bindings/scripts/test/TestObj.idl:
* bindings/scripts/test/CPP/WebDOMTestObj.cpp: Updated the run-bindings-tests results.
* bindings/scripts/test/CPP/WebDOMTestObj.h: Ditto.
* bindings/scripts/test/GObject/WebKitDOMTestObj.cpp: Ditto.
(webkit_dom_test_obj_set_property):
(webkit_dom_test_obj_get_property):
(webkit_dom_test_obj_class_init):
* bindings/scripts/test/GObject/WebKitDOMTestObj.h: Ditto.
* bindings/scripts/test/JS/JSTestObj.cpp: Ditto.
(WebCore):
* bindings/scripts/test/JS/JSTestObj.h: Ditto.
(WebCore):
* bindings/scripts/test/ObjC/DOMTestObj.h: Ditto.
* bindings/scripts/test/ObjC/DOMTestObj.mm: Ditto.
* bindings/scripts/test/V8/V8TestObj.cpp: Ditto.
(WebCore):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106528
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 2 Feb 2012 03:22:22 +0000 (03:22 +0000)]
Select attribute of HTMLContentElement should be able be changed dynamically.
https://bugs.webkit.org/show_bug.cgi?id=76261
Patch by Shinya Kawanaka <shinyak@google.com> on 2012-02-01
Reviewed by Hajime Morita.
Source/WebCore:
When select attribute is changed, the flag to recalc style is set.
Test: fast/dom/shadow/content-element-select-dynamic.html
* html/shadow/HTMLContentElement.cpp:
(WebCore::HTMLContentElement::parseMappedAttribute):
Sets recalc style when select is changed.
* html/shadow/HTMLContentElement.h:
(HTMLContentElement):
LayoutTests:
Test cases for changing select attribute dynamically.
* fast/dom/shadow/content-element-select-dynamic-expected.txt: Added.
* fast/dom/shadow/content-element-select-dynamic.html: Added.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106527
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
haraken@chromium.org [Thu, 2 Feb 2012 02:47:53 +0000 (02:47 +0000)]
Remove [ImplementationUUID] and [InterfaceUUID] from html/canvas/*.idl
https://bugs.webkit.org/show_bug.cgi?id=77589
Reviewed by Adam Barth.
[ImplementationUUID] and [InterfaceUUID] are used in html/canvas/*.idl,
but they are not implemented in code generators and thus have no meaning.
This patch removes them.
No tests. No change in behavior.
* html/canvas/CanvasGradient.idl:
* html/canvas/CanvasPattern.idl: The file is now empty though.
* html/canvas/CanvasRenderingContext.idl:
* html/canvas/CanvasRenderingContext2D.idl:
* html/canvas/WebGLRenderingContext.idl:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106526
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 2 Feb 2012 02:46:10 +0000 (02:46 +0000)]
Unreviewed, rolling out r106408.
http://trac.webkit.org/changeset/106408
https://bugs.webkit.org/show_bug.cgi?id=77592
crashes in chromium mac release tests (Requested by japhet on
#webkit).
Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-02-01
* platform/graphics/Region.cpp:
* platform/graphics/Region.h:
(Region):
(Shape):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106525
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
noam.rosenthal@nokia.com [Thu, 2 Feb 2012 02:42:14 +0000 (02:42 +0000)]
[Texmap] Use glScissors for clipping in TextureMapperGL when possible
https://bugs.webkit.org/show_bug.cgi?id=77575
Reviewed by Martin Robinson.
Source/WebCore:
Maintain a clipping stack, that helps us use stencils in conjunction with scissors.
We apply scissors when the clip region is rectalinear, and stencil when it's not.
No behavior changes so no new tests.
* platform/graphics/opengl/TextureMapperGL.cpp:
(SharedGLData):
(WebCore::TextureMapperGLData::SharedGLData::SharedGLData):
(WebCore::TextureMapperGL::drawTexture):
(WebCore::TextureMapperGL::bindSurface):
(WebCore):
(WebCore::scissorClip):
(WebCore::TextureMapperGL::beginScissorClip):
(WebCore::TextureMapperGL::endScissorClip):
(WebCore::TextureMapperGL::beginClip):
(WebCore::TextureMapperGL::endClip):
* platform/graphics/opengl/TextureMapperGL.h:
(TextureMapperGL):
Source/WebKit2:
Instead of applying the scissor clip in QQuickWebPage, we trickle it down to
TextureMapperGL, and apply it there as part of beginClip(). All direct GL operations are
now cleaned out of QQuickWebPage.
* UIProcess/API/qt/qquickwebpage.cpp:
(QQuickWebPagePrivate::paintToCurrentGLContext):
* UIProcess/DrawingAreaProxy.h:
(WebKit::DrawingAreaProxy::paintToCurrentGLContext):
* UIProcess/DrawingAreaProxyImpl.cpp:
(WebKit::DrawingAreaProxyImpl::paintToCurrentGLContext):
* UIProcess/DrawingAreaProxyImpl.h:
(DrawingAreaProxyImpl):
* UIProcess/LayerTreeHostProxy.h:
(LayerTreeHostProxy):
* UIProcess/qt/LayerTreeHostProxyQt.cpp:
(WebKit::LayerTreeHostProxy::paintToCurrentGLContext):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106524
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Thu, 2 Feb 2012 02:34:13 +0000 (02:34 +0000)]
Move the scrolling coordinator to page/scrolling
https://bugs.webkit.org/show_bug.cgi?id=77590
Reviewed by Dan Bernstein.
Put scrolling related files in page/scrolling to avoid cluttering the page directory.
* WebCore.xcodeproj/project.pbxproj:
* page/scrolling/ScrollingCoordinator.cpp: Renamed from Source/WebCore/page/ScrollingCoordinator.cpp.
* page/scrolling/ScrollingCoordinator.h: Renamed from Source/WebCore/page/ScrollingCoordinator.h.
* page/scrolling/mac/ScrollingCoordinatorMac.mm: Renamed from Source/WebCore/page/mac/ScrollingCoordinatorMac.mm.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106523
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
haraken@chromium.org [Thu, 2 Feb 2012 02:27:18 +0000 (02:27 +0000)]
Remove [ObjCPrefix], [V8ConstructorTemplate], [allowAccessToNode],
[v8implname] and [v8referenceattr] from code generators
https://bugs.webkit.org/show_bug.cgi?id=77588
Reviewed by Adam Barth.
This patch removes [ObjCPrefix], [V8ConstructorTemplate], [allowAccessToNode],
[v8implname] and [v8referenceattr] from code generators, since they are not used
by any IDL files.
No tests. No changes in behavior.
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateImplementation):
* bindings/scripts/CodeGeneratorObjC.pm:
(GenerateHeader):
(GenerateImplementation):
* bindings/scripts/CodeGeneratorV8.pm:
(IsConstructable):
(IsConstructorTemplate):
(GenerateNormalAttrGetter):
(GenerateFunctionCallString):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106522
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
msaboff@apple.com [Thu, 2 Feb 2012 02:19:01 +0000 (02:19 +0000)]
Yarr crash with regexp replace
https://bugs.webkit.org/show_bug.cgi?id=67454
Reviewed by Gavin Barraclough.
Source/JavaScriptCore:
Properly handle the case of a back reference to an unmatched
subpattern by always matching without consuming any characters.
* yarr/YarrInterpreter.cpp:
(JSC::Yarr::Interpreter::matchBackReference):
(JSC::Yarr::Interpreter::backtrackBackReference):
LayoutTests:
New tests to check for proper handling of back references to
unmatched subpatterns.
* fast/js/regexp-backreferences-expected.txt:
* fast/js/script-tests/regexp-backreferences.js:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106521
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
abarth@webkit.org [Thu, 2 Feb 2012 02:11:52 +0000 (02:11 +0000)]
Update the tests to show that the mac-ews processes patches from
non-committers.
* Scripts/webkitpy/tool/commands/earlywarningsystem_unittest.py:
(EarlyWarningSytemTest.test_committer_only_ewses):
(EarlyWarningSytemTest.test_builder_ewses):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106520
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
abarth@webkit.org [Thu, 2 Feb 2012 01:56:58 +0000 (01:56 +0000)]
Mac-ews logs are huge
https://bugs.webkit.org/show_bug.cgi?id=77045
Reviewed by Eric Seidel.
In order to get the cr-linux-ews bot to run tests on EC2, we created
the chromium-xvfb port, which contained a number of tweaks to the
Chromium port's behavior. This patch refactors those tweaks so they
can be shared with the mac-ews, mostly by moving them into the
non-interactive mode of RunTests.
* Scripts/webkitpy/common/config/ports.py:
(WebKitPort):
(WebKitPort.layout_tests_results_path):
(ChromiumPort.run_javascriptcore_tests_command):
(ChromiumXVFBPort):
(ChromiumXVFBPort.run_webkit_tests_command):
* Scripts/webkitpy/common/config/ports_mock.py:
(MockPort):
(MockPort.layout_tests_results_path):
* Scripts/webkitpy/common/config/ports_unittest.py:
(WebKitPortTest.test_chromium_xvfb_port):
* Scripts/webkitpy/tool/bot/layouttestresultsreader_unittest.py:
(LayoutTestResultsReaderTest.test_missing_layout_test_results):
* Scripts/webkitpy/tool/commands/queues_unittest.py:
(CommitQueueTest.test_commit_queue):
(test_rollout):
(test_manual_reject_during_processing):
* Scripts/webkitpy/tool/steps/runtests.py:
(RunTests.run):
* Scripts/webkitpy/tool/steps/runtests_unittest.py:
(RunTestsTest.test_no_unit_tests):
* Scripts/webkitpy/tool/steps/steps_unittest.py:
(StepsTest.test_runtests_args):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106518
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rniwa@webkit.org [Thu, 2 Feb 2012 01:40:47 +0000 (01:40 +0000)]
Roll out r106442. It made some tests more stable but others less stable.
* Scripts/webkitpy/performance_tests/perftestsrunner.py:
(PerfTestsRunner._run_tests_set):
(PerfTestsRunner._run_single_test):
* Scripts/webkitpy/performance_tests/perftestsrunner_unittest.py:
(create_runner):
(test_run_passing_test):
(test_run_silent_test):
(test_run_failed_test):
(test_run_tonguey_test):
(test_run_timeout_test):
(test_run_crash_test):
(test_run_test_set):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106517
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 2 Feb 2012 01:39:55 +0000 (01:39 +0000)]
Support targetOrigin = "/" in postMessage for sending messages to same origin as source document.
https://bugs.webkit.org/show_bug.cgi?id=77580
Patch by Pablo Flouret <pablof@motorola.com> on 2012-02-01
Reviewed by Adam Barth.
Source/WebCore:
No new tests. Modified http/tests/security/postMessage/target-origin.html
to test this case as well.
* page/DOMWindow.cpp:
(WebCore::DOMWindow::postMessage):
LayoutTests:
* http/tests/security/postMessage/target-origin-expected.txt:
* http/tests/security/postMessage/target-origin.html:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106516
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
caio.oliveira@openbossa.org [Thu, 2 Feb 2012 00:20:36 +0000 (00:20 +0000)]
Avoid creating NamedNodeMap unnecessarily
https://bugs.webkit.org/show_bug.cgi?id=77574
Reviewed by Ryosuke Niwa.
Source/WebCore:
The method Element::attributes() was being used for multiple things in our
codebase: (1) as the getter for NamedNodeMap exposed to DOM, (2) as a way to other WebCore
code get the "attribute storage" (currently inside NamedNodeMap), and (3) as a way to
get the attribute storage creating one if necessary.
This commit separate the jobs in different functions:
1) attributes() keeps being the DOM getter, and loses its boolean parameter.
2) updatedAttributes() updates the invalid attributes and returns the attribute
storage. If we don't have one, return 0.
3) ensureUpdatedAttributes() updates the invalid attributes and forces the
creation of attribute storage to return.
There is also another way to get to the attribute storage currently, via
attributeMap(), which doesn't update the attributes for possible changes in Style
or SVG attributes.
Note that the new functions are not available in Node class, so C++ code manipulating
attributes should cast to Element.
This separation also made easier to spot and fix some places where we do not
need to create the attribute storage if it doesn't exist.
No new tests, this commit shouldn't change the behavior of existing code.
* css/SelectorChecker.cpp:
(WebCore::SelectorChecker::checkOneSelector):
* dom/DatasetDOMStringMap.cpp:
(WebCore::DatasetDOMStringMap::getNames):
(WebCore::DatasetDOMStringMap::item):
(WebCore::DatasetDOMStringMap::contains):
* dom/Document.cpp:
(WebCore::Document::importNode):
* dom/Element.cpp:
(WebCore::Element::setAttribute):
(WebCore::Element::hasAttributes):
(WebCore::Element::setAttributeNode):
(WebCore::Element::setAttributeNodeNS):
(WebCore::Element::removeAttributeNode):
(WebCore::Element::getAttributeNode):
(WebCore::Element::getAttributeNodeNS):
(WebCore::Element::hasAttribute):
(WebCore::Element::hasAttributeNS):
(WebCore::Element::normalizeAttributes):
* dom/Element.h:
(Element):
(WebCore::Element::attributes):
(WebCore::Element::ensureAttributeData):
(WebCore::Element::ensureUpdatedAttributes):
(WebCore::Element::updatedAttributes):
(WebCore::Element::setAttributesFromElement):
(WebCore::Element::ensureAttributeMap): Made const to be reused by ensureUpdatedAttributes().
(WebCore::Element::updateInvalidAttributes):
(WebCore):
* dom/NamedNodeMap.cpp:
(WebCore::NamedNodeMap::mapsEquivalent): Having no attributes is equivalent to
not having an attribute storage because the attribute storage is lazily created.
* dom/Node.cpp:
(WebCore::Node::isEqualNode): Do not force the creation of attribute storage to
compare two nodes.
(WebCore::Node::isDefaultNamespace): Use updatedAttributes(). Since we iterate
using length, it's OK if the attribute storage is empty.
(WebCore::Node::lookupNamespaceURI): Ditto.
(WebCore::Node::lookupNamespacePrefix): Ditto.
(WebCore::Node::compareDocumentPosition): Ditto.
* editing/ApplyStyleCommand.cpp:
(WebCore::hasNoAttributeOrOnlyStyleAttribute):
(WebCore::isEmptyFontTag):
* editing/CompositeEditCommand.cpp:
(WebCore::CompositeEditCommand::isRemovableBlock): Use isElementNode() explicitly
to identify non-Element nodes, then use hasAttributes() if is Element.
* editing/InsertParagraphSeparatorCommand.cpp:
(WebCore::highestVisuallyEquivalentDivBelowRoot):
* editing/MarkupAccumulator.cpp:
(WebCore::MarkupAccumulator::appendElement): Do not create the attribute storage
unnecessarily.
* editing/htmlediting.cpp:
(WebCore::areIdenticalElements): Do not create the attribute storage
unnecessarily. Use mapsEquivalent() for comparing the attributes.
* editing/markup.cpp:
(WebCore::completeURLs): Do not create the attribute storage unnecessarily.
(WebCore::StyledMarkupAccumulator::appendElement): Ditto.
(WebCore::isPlainTextMarkup): hasAttributes() will avoid creating the attribute
storage unnecessarily.
* html/HTMLEmbedElement.cpp:
(WebCore::HTMLEmbedElement::parametersForPlugin):
* html/HTMLObjectElement.cpp:
(WebCore::HTMLObjectElement::parametersForPlugin):
* html/HTMLParamElement.cpp:
(WebCore::HTMLParamElement::isURLAttribute): Do not create the attribute storage
unnecessarily.
* html/parser/HTMLConstructionSite.cpp:
(WebCore::HTMLConstructionSite::mergeAttributesFromTokenIntoElement): Use
ensureUpdatedAttributes() since we will add new attributes.
(WebCore):
* inspector/InspectorCSSAgent.cpp:
(WebCore::InspectorCSSAgent::buildArrayForAttributeStyles):
* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::setAttributesAsText):
(WebCore::InspectorDOMAgent::performSearch):
(WebCore::InspectorDOMAgent::buildArrayForElementAttributes):
* page/PageSerializer.cpp:
(WebCore::isCharsetSpecifyingNode): Do not assume attributeMap will exist.
* svg/properties/SVGAnimatedPropertySynchronizer.h: Use ensureUpdatedAttributes()
since we will add new attributes.
* xml/XPathFunctions.cpp:
(WebCore::XPath::FunLang::evaluate): Do not create the attribute storage
unnecessarily.
* xml/XPathNodeSet.cpp:
(WebCore::XPath::NodeSet::traversalSort):
* xml/XPathStep.cpp:
(WebCore::XPath::Step::nodesInAxis): Use isElementNode() instead of comparing
nodeType() manually. Do not create the attribute storage unnecessarily.
* xml/parser/XMLDocumentParserLibxml2.cpp:
(WebCore::XMLDocumentParser::XMLDocumentParser): Do not create the attribute
storage unnecessarily.
* xml/parser/XMLDocumentParserQt.cpp:
(WebCore::XMLDocumentParser::XMLDocumentParser): Ditto.
* xml/parser/XMLTreeBuilder.cpp:
(WebCore::XMLTreeBuilder::XMLTreeBuilder): Ditto.
Source/WebKit/chromium:
* src/WebPageSerializerImpl.cpp:
(WebKit::WebPageSerializerImpl::openTagToString): use updatedAttributes().
Source/WebKit/qt:
* Api/qwebelement.cpp:
(QWebElement::attributeNames): use updateAttributes().
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106515
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
abarth@webkit.org [Thu, 2 Feb 2012 00:14:55 +0000 (00:14 +0000)]
contentDispositionType misparses the Content-Disposition header in some obscure corner cases
https://bugs.webkit.org/show_bug.cgi?id=77577
Reviewed by Eric Seidel.
The contentDispositionType extracts the disposition-type from the
Content-Disposition header. According to RFC 6266 (and previous RFCs),
the disposition-type must be an RFC 2616 token. Rather than enforce
this general rule, we had special-cased some examples (including
name=foo and filename=bar). This patch generalizes our check to
properly validate that the disposition-type is an RFC 2616 token.
In conjunction with some other work in the Chromium network stack, this
causes Chromium to pass the following tests:
http://greenbytes.de/tech/tc2231/#inlonlyquoted
http://greenbytes.de/tech/tc2231/#attonlyquoted
Without this patch, these test cases neither trigger a navigation nor a
download in Chromium. This patch does not appear to cause any visible
change in Safari. (Safari passes these tests both before and after
this patch.)
* platform/network/HTTPParsers.cpp:
(WebCore::isRFC2616Token):
(WebCore::contentDispositionType):
- This patch also adds a comment to
filenameFromHTTPContentDisposition, which explains some of the
was this function incorrectly implements the requirements in
RFC 6266. Resolving these issues is a subject for a future
patch.
* platform/network/HTTPParsers.h:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106514
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Thu, 2 Feb 2012 00:09:27 +0000 (00:09 +0000)]
Another attempt to fix the Windows build.
* FullscreenVideoController.cpp:
(FullscreenVideoController::LayerClient::platformCALayerDidCreateTiles):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106513
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
barraclough@apple.com [Thu, 2 Feb 2012 00:08:00 +0000 (00:08 +0000)]
calling function on catch block scope containing an eval result in wrong this value being passed
https://bugs.webkit.org/show_bug.cgi?id=77581
Reviewed by Oliver Hunt.
javascript:function F(){ return 'F' in this; }; try { throw F; } catch (e) { eval(""); alert(e()); }
Source/JavaScriptCore:
* bytecompiler/NodesCodegen.cpp:
(JSC::TryNode::emitBytecode):
* interpreter/Interpreter.cpp:
(JSC::Interpreter::execute):
* parser/ASTBuilder.h:
(JSC::ASTBuilder::createTryStatement):
* parser/NodeConstructors.h:
(JSC::TryNode::TryNode):
* parser/Nodes.h:
(TryNode):
* parser/Parser.cpp:
(JSC::::parseTryStatement):
* parser/SyntaxChecker.h:
(JSC::SyntaxChecker::createTryStatement):
* runtime/JSObject.h:
(JSObject):
(JSC::JSObject::isStaticScopeObject):
(JSC):
LayoutTests:
* fast/js/eval-var-decl-expected.txt:
* fast/js/script-tests/eval-var-decl.js:
(checkThis):
(testEvalInCatch):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106512
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz@apple.com [Thu, 2 Feb 2012 00:01:45 +0000 (00:01 +0000)]
Source/WebCore: WebCore part of <rdar://problem/
10442663> Paginated display does not respect page-break-{before,after}
https://bugs.webkit.org/show_bug.cgi?id=77505
Reviewed by Darin Adler.
* page/Page.h:
(WebCore::Page::Pagination::Pagination): Added initializer for the behavesLikeColumns member
variable.
(WebCore::Page::Pagination::operator==): Added comparison of behavesLikeColumns values.
(Pagination): Added behavesLikeColumns member variable. When set to false (the default),
paginated display respects the page-break-{before,after} properties rather than the
column-break-{before,after} ones.
* rendering/ColumnInfo.h:
(WebCore::ColumnInfo::ColumnInfo): Added initializer for the m_paginationUnit member.
(WebCore::ColumnInfo::paginationUnit): Added this getter.
(WebCore::ColumnInfo::setPaginationUnit): Added this setter.
(ColumnInfo): Added m_paginationUnit member. It defaults to Column.
* rendering/LayoutState.h:
(WebCore::LayoutState::isPaginatingColumns): Changed to check the pagination unit.
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::layoutBlock): Added code to set the pagination unit in the ColumnInfo.
(WebCore::RenderBlock::paginationUnit): Added. The base class implementation returns Column.
* rendering/RenderBlock.h:
* rendering/RenderView.cpp:
(WebCore::RenderView::paginationUnit): Added this override that returns Page, unless
this is the RenderView for the main frame and pagination is set to behave like columns.
* rendering/RenderView.h:
Source/WebKit/mac: WebKit/mac part of <rdar://problem/
10442663> Paginated display does not respect page-break-{before,after}
https://bugs.webkit.org/show_bug.cgi?id=77505
Reviewed by Darin Adler.
* WebView/WebView.mm:
(-[WebView _setPaginationBehavesLikeColumns:]): Added this setter.
(-[WebView _paginationBehavesLikeColumns]): Added this getter.
* WebView/WebViewPrivate.h:
Source/WebKit2: WebKit2 part of <rdar://problem/
10442663> Paginated display does not respect page-break-{before,after}
https://bugs.webkit.org/show_bug.cgi?id=77505
Reviewed by Darin Adler.
* Shared/WebPageCreationParameters.cpp:
(WebKit::WebPageCreationParameters::encode): Encode paginationBehavesLikeColumns.
(WebKit::WebPageCreationParameters::decode): Decode paginationBehavesLikeColumns.
* Shared/WebPageCreationParameters.h:
(WebPageCreationParameters): Added paginationBehavesLikeColumns boolean.
* UIProcess/API/C/WKPage.cpp:
(WKPageSetPaginationBehavesLikeColumns): Added this setter.
(WKPageGetPaginationBehavesLikeColumns): Added this getter.
* UIProcess/API/C/WKPagePrivate.h:
* UIProcess/API/mac/WKBrowsingContextController.mm:
(-[WKBrowsingContextController setPaginationBehavesLikeColumns:]): Added this Objective-C
wrapper around WKPageSetPaginationBehavesLikeColumns.
(-[WKBrowsingContextController paginationBehavesLikeColumns]): Added this Objective-C wrapper
around WKPageGetPaginationBehavesLikeColumns.
* UIProcess/API/mac/WKBrowsingContextControllerPrivate.h:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::WebPageProxy): Added call to setPaginationBehavesLikeColumns() with
the value from the creation parameters.
(WebKit::WebPageProxy::setPaginationBehavesLikeColumns): Added this setter.
(WebKit::WebPageProxy::creationParameters): Populate paginationBehavesLikeColumns.
* UIProcess/WebPageProxy.h:
(WebKit::WebPageProxy::paginationBehavesLikeColumns): Added this getter.
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::setPaginationBehavesLikeColumns): Added this setter.
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/WebPage.messages.in: Added SetPaginationBehavesLikeColumns message.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106511
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Wed, 1 Feb 2012 23:59:59 +0000 (23:59 +0000)]
Backgrounds in HTML inside foreignObject don't draw
https://bugs.webkit.org/show_bug.cgi?id=23111
Patch by Florin Malita <fmalita@google.com> on 2012-02-01
Reviewed by Eric Seidel.
Source/WebCore:
Test: svg/foreignObject/body-background.svg
* rendering/RenderBox.cpp:
(WebCore::RenderBox::paintBackground):
Tweak the <body> background inhibiting logic to allow drawing when the element is embedded in FOs.
LayoutTests:
* svg/foreignObject/body-background-expected.png: Added.
* svg/foreignObject/body-background-expected.txt: Added.
* svg/foreignObject/body-background.svg: Added.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106510
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
lforschler@apple.com [Wed, 1 Feb 2012 23:58:13 +0000 (23:58 +0000)]
Enable EWS for non-contributers.
https://bugs.webkit.org/show_bug.cgi?id=77576
Reviewed by Adam Barth.
* Scripts/webkitpy/tool/commands/earlywarningsystem.py:
(MacEWS):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106509
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Wed, 1 Feb 2012 23:54:54 +0000 (23:54 +0000)]
REGRESSION (r104727): Strange graphics corruption opening a new tab in Safari
https://bugs.webkit.org/show_bug.cgi?id=77578
<rdar://problem/
10767174>
Reviewed by Dan Bernstein.
Resizing a window will always invalidate the window backing store, so make sure to set
_data->_windowHasValidBackingStore to NO whenever that happens.
* UIProcess/API/mac/WKView.mm:
(-[WKView addWindowObserversForWindow:]):
Use separate methods for the NSWindowDidMoveNotification and NSWindowDidResizeNotification notifications.
(-[WKView _windowDidMove:]):
Call -[WKView _updateWindowAndViewFrames].
(-[WKView _windowDidResize:]):
Call -[WKView _updateWindowAndViewFrames] and mark the window backing store as invalid.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106508
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Wed, 1 Feb 2012 23:32:37 +0000 (23:32 +0000)]
Make one able to set the local storage (tracker) database dir's path
https://bugs.webkit.org/show_bug.cgi?id=77006
Patch by Gustavo Lima Chaves <glima@profusion.mobi> on 2012-02-01
Reviewed by Darin Adler.
There are no behavior changes with the diff, so no need for new tests.
* storage/StorageTracker.cpp:
(WebCore::StorageTracker::setDatabaseDirectoryPath):
(WebCore):
(WebCore::StorageTracker::databaseDirectoryPath):
* storage/StorageTracker.h:
(StorageTracker):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106506
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Wed, 1 Feb 2012 23:29:22 +0000 (23:29 +0000)]
Fix Window build.
* platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
(WebCore::LayerClient::platformCALayerDidCreateTiles):
* platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
(WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayerClient::platformCALayerDidCreateTiles):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106505
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
oliver@apple.com [Wed, 1 Feb 2012 23:23:30 +0000 (23:23 +0000)]
Add support for inferred function names
https://bugs.webkit.org/show_bug.cgi?id=77579
Reviewed by Gavin Barraclough.
Source/JavaScriptCore:
Add new "inferred" names to function expressions, getters, and setters.
This property is not exposed to JS, so is only visible in the debugger
and profiler.
* JavaScriptCore.exp:
* bytecompiler/BytecodeGenerator.h:
(JSC::BytecodeGenerator::makeFunction):
* debugger/DebuggerCallFrame.cpp:
(JSC::DebuggerCallFrame::calculatedFunctionName):
* parser/ASTBuilder.h:
(JSC::ASTBuilder::createAssignResolve):
(JSC::ASTBuilder::createGetterOrSetterProperty):
(JSC::ASTBuilder::createProperty):
(JSC::ASTBuilder::makeAssignNode):
* parser/Nodes.h:
(JSC::FunctionBodyNode::setInferredName):
(JSC::FunctionBodyNode::inferredName):
(FunctionBodyNode):
* profiler/Profiler.cpp:
(JSC):
(JSC::Profiler::createCallIdentifier):
(JSC::createCallIdentifierFromFunctionImp):
* runtime/Executable.cpp:
(JSC::FunctionExecutable::FunctionExecutable):
(JSC::FunctionExecutable::fromGlobalCode):
* runtime/Executable.h:
(JSC::FunctionExecutable::create):
(JSC::FunctionExecutable::inferredName):
(FunctionExecutable):
* runtime/JSFunction.cpp:
(JSC::JSFunction::calculatedDisplayName):
(JSC):
(JSC::getCalculatedDisplayName):
* runtime/JSFunction.h:
(JSC):
LayoutTests:
Update test case results.
* fast/profiler/anonymous-event-handler-expected.txt:
* fast/profiler/anonymous-function-called-from-different-contexts-expected.txt:
* fast/profiler/anonymous-function-calls-built-in-functions-expected.txt:
* fast/profiler/anonymous-function-calls-eval-expected.txt:
* fast/profiler/built-in-function-calls-anonymous-expected.txt:
* fast/profiler/inline-event-handler-expected.txt:
* fast/profiler/many-calls-in-the-same-scope-expected.txt:
* fast/profiler/multiple-and-different-scoped-anonymous-function-calls-expected.txt:
* fast/profiler/multiple-and-different-scoped-function-calls-expected.txt:
* fast/profiler/multiple-anonymous-functions-called-from-the-same-function-expected.txt:
* fast/profiler/nested-anonymous-functon-expected.txt:
* fast/profiler/start-and-stop-profiler-multiple-times-expected.txt:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106504
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Wed, 1 Feb 2012 23:11:01 +0000 (23:11 +0000)]
GetMIMEDescription should return const char *
https://bugs.webkit.org/show_bug.cgi?id=77297
Patch by John Yani <vanuan@gmail.com> on 2012-02-01
Reviewed by Alexey Proskuryakov.
No new tests. No change in behaviour.
* plugins/blackberry/PluginPackageBlackBerry.cpp:
(WebCore::PluginPackage::fetchInfo):
* plugins/efl/PluginPackageEfl.cpp:
(WebCore):
(WebCore::PluginPackage::fetchInfo):
* plugins/npapi.h:
* plugins/npfunctions.h:
* plugins/qt/PluginPackageQt.cpp:
(WebCore::PluginPackage::fetchInfo):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106503
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
fpizlo@apple.com [Wed, 1 Feb 2012 23:08:54 +0000 (23:08 +0000)]
DFG should fold double-to-int conversions
https://bugs.webkit.org/show_bug.cgi?id=77532
Reviewed by Oliver Hunt.
Performance neutral on major benchmarks. But it makes calling V8's
Math.random() 4x faster.
* bytecode/CodeBlock.cpp:
(JSC):
(JSC::CodeBlock::addOrFindConstant):
* bytecode/CodeBlock.h:
(JSC::CodeBlock::addConstant):
(CodeBlock):
* dfg/DFGAbstractState.cpp:
(JSC::DFG::AbstractState::execute):
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::toInt32):
(ByteCodeParser):
(JSC::DFG::ByteCodeParser::getJSConstantForValue):
(JSC::DFG::ByteCodeParser::isInt32Constant):
* dfg/DFGGraph.h:
(JSC::DFG::Graph::addShouldSpeculateInteger):
(Graph):
(JSC::DFG::Graph::addImmediateShouldSpeculateInteger):
* dfg/DFGPropagator.cpp:
(JSC::DFG::Propagator::propagateNodePredictions):
(JSC::DFG::Propagator::doRoundOfDoubleVoting):
(JSC::DFG::Propagator::fixupNode):
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileAdd):
(DFG):
(JSC::DFG::SpeculativeJIT::compileArithSub):
* dfg/DFGSpeculativeJIT.h:
(JSC::DFG::SpeculativeJIT::valueOfNumberConstantAsInt32):
(SpeculativeJIT):
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* runtime/JSValueInlineMethods.h:
(JSC::JSValue::asDouble):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106502
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
timothy@apple.com [Wed, 1 Feb 2012 23:08:13 +0000 (23:08 +0000)]
Consolidate duplicate "willHide" functions in DetailedHeapshotView.js to fix
a syntax error in JSC and make the Inspector open again in Release builds.
https://webkit.org/b/77424
Reviewed by Brian Weinstein.
* inspector/front-end/DetailedHeapshotView.js:
(WebInspector.DetailedHeapshotView.prototype.willHide): Consolidated.
(WebInspector.DetailedHeapshotView.prototype.willHide): Removed.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106501
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Wed, 1 Feb 2012 23:05:31 +0000 (23:05 +0000)]
[Chromium] Enable deferred canvas rendering in the skia port
https://bugs.webkit.org/show_bug.cgi?id=76732
Patch by Justin Novosad <junov@chromium.org> on 2012-02-01
Reviewed by Stephen White.
Source/WebCore:
No new tests: covered by existing canvas layout tests
Adding a new setting to enable deferred 2d canvas rendering.
Added support for deferred 2d canvas rendering in ImageBufferSkia
and Canvas2DLayerChromium, mostly plumbing. Deffered rendering
implementation is provided by skia (class SkDeferredCanvas).
* html/HTMLCanvasElement.cpp:
(WebCore::HTMLCanvasElement::shouldDefer):
(WebCore):
(WebCore::HTMLCanvasElement::createImageBuffer):
* html/HTMLCanvasElement.h:
(HTMLCanvasElement):
* page/Settings.cpp:
(WebCore::Settings::Settings):
(WebCore::Settings::setAccelerated2dCanvasEnabled):
(WebCore):
(WebCore::Settings::setDeferred2dCanvasEnabled):
* page/Settings.h:
(Settings):
(WebCore::Settings::deferred2dCanvasEnabled):
* platform/graphics/ImageBuffer.h:
(WebCore::ImageBuffer::create):
(ImageBuffer):
* platform/graphics/cairo/ImageBufferCairo.cpp:
(WebCore::ImageBuffer::ImageBuffer):
* platform/graphics/cg/ImageBufferCG.cpp:
(WebCore::ImageBuffer::ImageBuffer):
* platform/graphics/chromium/Canvas2DLayerChromium.cpp:
(WebCore::Canvas2DLayerChromium::Canvas2DLayerChromium):
(WebCore):
(WebCore::Canvas2DLayerChromium::setCanvas):
(WebCore::Canvas2DLayerChromium::paintContentsIfDirty):
* platform/graphics/chromium/Canvas2DLayerChromium.h:
(Canvas2DLayerChromium):
* platform/graphics/qt/ImageBufferQt.cpp:
(WebCore::ImageBuffer::ImageBuffer):
* platform/graphics/skia/ImageBufferSkia.cpp:
(AcceleratedDeviceContext):
(WebCore::AcceleratedDeviceContext::AcceleratedDeviceContext):
(WebCore::AcceleratedDeviceContext::prepareForDraw):
(WebCore::AcceleratedDeviceContext::flush):
(WebCore):
(WebCore::createAcceleratedCanvas):
(WebCore::ImageBuffer::ImageBuffer):
* platform/graphics/wince/ImageBufferWinCE.cpp:
(WebCore::ImageBuffer::ImageBuffer):
* platform/graphics/wx/ImageBufferWx.cpp:
(WebCore::ImageBuffer::ImageBuffer):
Source/WebKit/chromium:
Adding a new setting for enabling deferred 2d canvas rendering
* public/WebSettings.h:
* src/WebSettingsImpl.cpp:
(WebKit::WebSettingsImpl::setDeferred2dCanvasEnabled):
(WebKit):
* src/WebSettingsImpl.h:
(WebSettingsImpl):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106500
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
fpizlo@apple.com [Wed, 1 Feb 2012 22:27:32 +0000 (22:27 +0000)]
DFG graph dump for GetScopedVar should show the correct prediction
https://bugs.webkit.org/show_bug.cgi?id=77530
Reviewed by Geoff Garen.
GetScopedVar has a heap prediction, not a variable prediction. But it does
have a variable. Hence we need to check for heap predictions before checking
for variable predictions.
* dfg/DFGGraph.cpp:
(JSC::DFG::Graph::dump):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106497
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mhahnenberg@apple.com [Wed, 1 Feb 2012 22:15:45 +0000 (22:15 +0000)]
Replace JSArray destructor with finalizer
https://bugs.webkit.org/show_bug.cgi?id=77488
Reviewed by Geoffrey Garen.
Source/JavaScriptCore:
* JavaScriptCore.exp:
* runtime/JSArray.cpp:
(JSC::JSArray::finalize): Added finalizer.
(JSC::JSArray::allocateSparseMap): Factored out code for allocating new sparse maps.
(JSC):
(JSC::JSArray::deallocateSparseMap): Factored out code for deallocating sparse maps.
(JSC::JSArray::enterDictionaryMode): Renamed enterSparseMode to enterDictionaryMode
because the old name was confusing because we could have a sparse array that never
called enterSparseMode.
(JSC::JSArray::defineOwnNumericProperty):
(JSC::JSArray::setLengthWritable):
(JSC::JSArray::putByIndexBeyondVectorLength):
(JSC::JSArray::setLength):
(JSC::JSArray::pop):
(JSC::JSArray::sort):
(JSC::JSArray::compactForSorting):
* runtime/JSArray.h:
(JSArray):
LayoutTests:
* fast/js/script-tests/sparse-array.js: Added code to test oscillation between
sparse and dense arrays.
* fast/js/sparse-array-expected.txt:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106496
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rniwa@webkit.org [Wed, 1 Feb 2012 22:05:01 +0000 (22:05 +0000)]
Gcc build fix after r106482.
* platform/graphics/ca/GraphicsLayerCA.h:
(GraphicsLayerCA):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106494
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Wed, 1 Feb 2012 22:02:47 +0000 (22:02 +0000)]
rebaseline box-shadow-clipped-slices
https://bugs.webkit.org/show_bug.cgi?id=77565
Patch by Elliot Poger <epoger@google.com> on 2012-02-01
Reviewed by Stephen White.
* platform/chromium-linux/fast/box-shadow/box-shadow-clipped-slices-expected.png:
* platform/chromium-win/fast/box-shadow/box-shadow-clipped-slices-expected.png:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106493
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bdakin@apple.com [Wed, 1 Feb 2012 21:52:41 +0000 (21:52 +0000)]
https://bugs.webkit.org/show_bug.cgi?id=77383
Add a different didFirstVisuallNonEmptyLayout heuristic to experiment with
-and corresponding-
<rdar://problem/
10709560>
Reviewed by Sam Weinig.
Source/WebCore:
The goal is to re-vamp didFirstVisuallyNonEmptyLayout to be more accurate.
This patch adds a new heuristic called didNewFirstVisuallNonEmptyLayout and
leaves the old one for the time being. That is temporary.
The heuristic for didNewFirstVisuallNonEmptyLayout is to count relevant
painted RenderObjects on Page.
* page/Page.cpp:
(WebCore::Page::Page):
(WebCore::Page::setPaintedObjectsCounterThreshold):
(WebCore::Page::addRelevantRepaintedObject):
* page/Page.h:
(WebCore):
(Page):
(WebCore::Page::startCountingRepaintedObjects):
* WebCore.exp.in:
Start counting relevant painted RenderObjects on the page once the first
layout is complete.
* page/FrameView.cpp:
(WebCore::FrameView::performPostLayoutTasks):
Machinery for firing didNewFirstVisuallNonEmptyLayout.
* loader/EmptyClients.h:
(WebCore::EmptyFrameLoaderClient::dispatchDidNewFirstVisuallyNonEmptyLayout):
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::didNewFirstVisuallyNonEmptyLayout):
(WebCore):
* loader/FrameLoader.h:
(FrameLoader):
* loader/FrameLoaderClient.h:
(WebCore::FrameLoaderClient::dispatchDidNewFirstVisuallyNonEmptyLayout):
These RenderObjects are the ones that this api currently consider to be
relevant. If their repaint rects intersect with the viewRect, then they are
added to the relevant objects set on the Page.
* rendering/InlineBox.cpp:
(WebCore::InlineBox::paint):
* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::paint):
* rendering/RenderEmbeddedObject.cpp:
(WebCore::RenderEmbeddedObject::paintReplaced):
* rendering/RenderHTMLCanvas.cpp:
(WebCore::RenderHTMLCanvas::paintReplaced):
* rendering/RenderImage.cpp:
(WebCore::RenderImage::paintReplaced):
* rendering/RenderRegion.cpp:
(WebCore::RenderRegion::paintReplaced):
* rendering/RenderReplaced.cpp:
(WebCore::RenderReplaced::paint):
* rendering/RenderVideo.cpp:
(WebCore::RenderVideo::paintReplaced):
* rendering/svg/RenderSVGRoot.cpp:
(WebCore::RenderSVGRoot::paintReplaced):
Source/WebKit2:
Machinery for didNewFirstVisuallNonEmptyLayout.
* UIProcess/API/C/WKPage.h:
* UIProcess/WebLoaderClient.cpp:
(WebKit::WebLoaderClient::didNewFirstVisuallyNonEmptyLayout):
(WebKit):
* UIProcess/WebLoaderClient.h:
(WebLoaderClient):
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::didNewFirstVisuallyNonEmptyLayout):
(WebKit):
* UIProcess/WebPageProxy.h:
(WebPageProxy):
* UIProcess/WebPageProxy.messages.in:
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::dispatchDidNewFirstVisuallyNonEmptyLayout):
(WebKit):
* WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
(WebFrameLoaderClient):
This temporary API allows the client to specify the threshold for the painted
objects counter on Page. This is temporary.
* WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
(WKBundlePageSetPaintedObjectsCounterThreshold):
* WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::setPaintedObjectsCounterThreshold):
(WebKit):
* WebProcess/WebPage/WebPage.h:
(WebPage):
Tools:
WebKit2's WebLoaderClient has a temporary new function that must be accounted
for.
* MiniBrowser/mac/BrowserWindowController.m:
(-[BrowserWindowController awakeFromNib]):
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::initialize):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106492
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
alexis.menard@openbossa.org [Wed, 1 Feb 2012 21:48:23 +0000 (21:48 +0000)]
CSSStyleDeclaration.getPropertyPriority() fails for CSS shorthand properties with 'important' priority
https://bugs.webkit.org/show_bug.cgi?id=49058
Reviewed by Andreas Kling.
Source/WebCore:
CSSMutableStyleDeclaration::getPropertyPriority was not handling shorthands properly. Shorthands are
not part of the property list of the style so we need to query the longhands which are the one added
in the list. Only if the longhands have equal priority the shorthand priority is known. I also renamed
getPropertyPriority (not the CSSOM exposed method) to something more consistent with WebKit naming guidelines.
Test: fast/css/shorthand-priority.html
* css/CSSMutableStyleDeclaration.cpp:
(WebCore::CSSMutableStyleDeclaration::propertyIsImportant):
(WebCore::CSSMutableStyleDeclaration::addParsedProperty):
(WebCore::CSSMutableStyleDeclaration::getPropertyPriority):
* css/CSSMutableStyleDeclaration.h:
(CSSMutableStyleDeclaration):
* editing/EditingStyle.cpp:
(WebCore::EditingStyle::extractAndRemoveTextDirection):
(WebCore::EditingStyle::collapseTextDecorationProperties):
(WebCore::EditingStyle::conflictsWithInlineStyleOfElement):
(WebCore::setTextDecorationProperty):
* editing/RemoveCSSPropertyCommand.cpp:
(WebCore::RemoveCSSPropertyCommand::doApply):
Source/WebKit/qt:
Update the code as getPropertyPriority has been renamed to propertyIsImportant.
* Api/qwebelement.cpp:
(QWebElement::styleProperty):
LayoutTests:
* fast/css/shorthand-priority-expected.txt: Added.
* fast/css/shorthand-priority.html: Added.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106490
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rniwa@webkit.org [Wed, 1 Feb 2012 21:34:08 +0000 (21:34 +0000)]
Crash in EventHandler::updateDragAndDrop
https://bugs.webkit.org/show_bug.cgi?id=77569
Reviewed by Alexey Proskuryakov.
Source/WebCore:
Test: fast/events/remove-target-with-shadow-in-drag.html
* page/EventHandler.cpp:
(WebCore::EventHandler::updateDragAndDrop):
LayoutTests:
* fast/events/remove-target-with-shadow-in-drag-expected.txt: Added.
* fast/events/remove-target-with-shadow-in-drag.html: Added.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106488
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Wed, 1 Feb 2012 21:18:23 +0000 (21:18 +0000)]
Unreviewed, rolling out r106382.
http://trac.webkit.org/changeset/106382
https://bugs.webkit.org/show_bug.cgi?id=77571
Causing chromium crashes in PNGImageDecoder (Requested by
japhet on #webkit).
Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-02-01
Source/WebCore:
* bindings/v8/V8Proxy.cpp:
(WebCore::V8Proxy::evaluate):
* page/Console.cpp:
(WebCore::Console::time):
(WebCore::Console::timeEnd):
* platform/chromium/PlatformSupport.h:
* platform/chromium/TraceEvent.h:
(internal):
(ScopeTracer):
(WebCore::internal::ScopeTracer::ScopeTracer):
(WebCore::internal::ScopeTracer::~ScopeTracer):
Source/WebKit/chromium:
* public/platform/WebKitPlatformSupport.h:
(WebKitPlatformSupport):
(WebKit::WebKitPlatformSupport::isTraceEventEnabled):
(WebKit::WebKitPlatformSupport::traceEventBegin):
(WebKit::WebKitPlatformSupport::traceEventEnd):
* src/PlatformSupport.cpp:
(WebCore::PlatformSupport::isTraceEventEnabled):
(WebCore):
(WebCore::PlatformSupport::traceEventBegin):
(WebCore::PlatformSupport::traceEventEnd):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106487
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Wed, 1 Feb 2012 20:02:34 +0000 (20:02 +0000)]
Reviewed by Darin Adler.
Simplify the code that creates a new tile layer by getting a reference to the RetainPtr<WebTileLayer>&
slot in the hash map and assign directly into it.
* platform/graphics/ca/mac/TileCache.mm:
(WebCore::TileCache::revalidateTiles):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106483
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Wed, 1 Feb 2012 19:59:47 +0000 (19:59 +0000)]
Tile cache doesn't have an upper limit
https://bugs.webkit.org/show_bug.cgi?id=77564
<rdar://problem/
10710744>
Reviewed by Darin Adler.
Cache enough tiles to cover 3x the visible height and 2x the visible width of the page,
and drop tiles that are outside that area.
* platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::platformCALayerDidCreateTiles):
Call GraphicsLayerClient::notifySyncRequired here, which will schedule a layer flush and ensure that
the page layout is up to date before the new tiles are painted.
* platform/graphics/ca/PlatformCALayerClient.h:
Add platformCALayerDidCreateTiles member function.
* platform/graphics/ca/mac/TileCache.h:
Update for new/removed member functions and member variables.
* platform/graphics/ca/mac/TileCache.mm:
(WebCore::TileCache::TileCache):
Initialize the tile revalidation timer.
(WebCore::TileCache::tileCacheLayerBoundsChanged):
If we don't have any tiles at all right now, revalidate the tiles immediately. Otherwise,
schedule the revalidation timer.
(WebCore::TileCache::setNeedsDisplayInRect):
Return early if we have no tiles.
(WebCore::TileCache::visibleRectChanged):
Schedule tile revalidation.
(WebCore::TileCache::rectForTileIndex):
New helper function that returns the bounds rect of a tile given its tile index.
(WebCore::TileCache::getTileIndexRangeForRect):
Clamp the rect to the bounds of the tile cache layer.
(WebCore::TileCache::scheduleTileRevalidation):
Schedule the revalidation timer if it hasn't already been scheduled.
(WebCore::TileCache::tileRevalidationTimerFired):
Call revalidateTiles.
(WebCore::TileCache::revalidateTiles):
Compute the tile coverage rect and remove all tiles that are outside. Create new tiles for any
parts of the tile coverage rect that don't have tiles already.
(WebCore::TileCache::tileLayerAtIndex):
Remove invalid assertions.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106482
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
dpranke@chromium.org [Wed, 1 Feb 2012 19:52:06 +0000 (19:52 +0000)]
TestWebKitAPI isn't being built on chromium bots any more
https://bugs.webkit.org/show_bug.cgi?id=77563
Reviewed by Dimitri Glazkov.
I accidentally dropped it in the refactoring in r105449.
Source/WebKit/chromium:
* All.gyp:
Tools:
* TestWebKitAPI/TestWebKitAPI.gyp/TestWebKitAPI.gyp: Added.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106481
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Wed, 1 Feb 2012 19:41:01 +0000 (19:41 +0000)]
Fixed some lines in the date-constructor.js test.
https://bugs.webkit.org/show_bug.cgi?id=75892
Patch by Szilard Ledan <Ledan-Muntean.Szilard@stud.u-szeged.hu> on 2012-02-01
Reviewed by Gavin Barraclough.
* fast/js/date-constructor-expected.txt:
* fast/js/script-tests/date-constructor.js:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106480
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Wed, 1 Feb 2012 19:38:23 +0000 (19:38 +0000)]
Source/WebCore: Add support for fixed and percent min-width on the table element for table-layout: auto to
match Firefox and Opera's behavior.
In FixedTableLayout.cpp, the computePreferredLogicalWidths method looks like it has
issues based on the comment: "FIXME: This entire calculation is incorrect for both
minwidth and maxwidth." (minwidth and maxwidth refer to the preferred widths, not the
min-width and max-width styles). I have not implemented min-width for FixedTableLayout
in this patch since it requires some more research around that comment.
min-width and max-width on the table element was discussed on the www-style list:
http://lists.w3.org/Archives/Public/www-style/2012Jan/0684.html
min-width is not implemented on <table> for table-layout: auto
https://bugs.webkit.org/show_bug.cgi?id=76553
Patch by Max Vujovic <mvujovic@adobe.com> on 2012-02-01
Reviewed by Julien Chaffraix.
Test: fast/table/min-width.html
* rendering/AutoTableLayout.cpp:
(WebCore::AutoTableLayout::computePreferredLogicalWidths):
If the min or max preferred logical width is less than a fixed min width style, it is
set to the fixed min width style. Like a percent width style, a percent min-width style
does not affect the min or max preferred logical widths computed by the table layout
algorithm. RenderTable's computeLogicalWidth method handles percent min-width styles.
min-width for the table-layout: fixed case has been split out into this bug:
https://bugs.webkit.org/show_bug.cgi?id=76948
* rendering/RenderTable.cpp:
(WebCore::RenderTable::computeLogicalWidth):
If the RenderStyle's logical min width is defined and greater than the logical width
calculation, this method sets the logical width to the logical min width.
(WebCore::RenderTable::convertStyleWidthToComputedWidth):
This new method generalizes and factors out logic from RenderTable::computeLogicalWidth
that converted the width style to a computed value in the fixed and percent case.
RenderTable::computeLogicalWidth now calls this method to determine the computed values
for both the width style and the min-width style. In the future, it can also be used for
the max-width style.
Note that this method handles the special CSS table case, which requires borders and
paddings to be included in the computed width calculation. This applies to all width
styles, including width, min-width, and max-width. Before, this special case was handled
in RenderTable::computeLogicalWidth.
* rendering/RenderTable.h:
LayoutTests: Add support for min-width on the table element.
min-width is not implemented on <table> for table-layout: auto
https://bugs.webkit.org/show_bug.cgi?id=76553
Patch by Max Vujovic <mvujovic@adobe.com> on 2012-02-01
Reviewed by Julien Chaffraix.
* fast/table/min-width-css-block-table.html: Added.
* fast/table/min-width-css-block-table-expected.txt: Added.
* fast/table/min-width-css-inline-table.html: Added.
* fast/table/min-width-css-inline-table-expected.txt: Added.
* fast/table/min-width-html-block-table.html: Added.
* fast/table/min-width-html-block-table-expected.txt: Added.
* fast/table/min-width-html-inline-table.html: Added.
* fast/table/min-width-html-inline-table-expected.txt: Added.
* fast/table/script-tests/min-width-css-block-table.js: Added.
(computeLogicalWidth):
* fast/table/script-tests/min-width-css-inline-table.js: Added.
(computeLogicalWidth):
* fast/table/script-tests/min-width-helpers.js: Added.
(runTests):
(createTableStyle):
(computeLogicalWidthHelper):
(createSpan):
* fast/table/script-tests/min-width-html-block-table.js: Added.
(computeLogicalWidth):
* fast/table/script-tests/min-width-html-inline-table.js: Added.
(computeLogicalWidth):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106479
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Wed, 1 Feb 2012 19:37:00 +0000 (19:37 +0000)]
Refactor identifier resolution in BytecodeGenerator
https://bugs.webkit.org/show_bug.cgi?id=76285
Patch by Andy Wingo <wingo@igalia.com> on 2012-02-01
Reviewed by Geoffrey Garen.
* bytecompiler/BytecodeGenerator.h:
(JSC::ResolveResult): New class, to describe the storage
location corresponding to an identifier in a program.
* bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::resolve): New function, replacing
findScopedProperty.
(JSC::BytecodeGenerator::resolveConstDecl): New function,
encapsulating what ConstDeclNode::emitBytecode used to do.
(JSC::BytecodeGenerator::emitGetStaticVar):
(JSC::BytecodeGenerator::emitPutStaticVar): New functions,
corresponding to the old emitGetScopedVar and emitPutScopedVar.
(JSC::BytecodeGenerator::registerFor): Remove version that took an
Identifier&; replaced by ResolveResult::local().
(JSC::BytecodeGenerator::emitResolve):
(JSC::BytecodeGenerator::emitResolveBase):
(JSC::BytecodeGenerator::emitResolveBaseForPut):
(JSC::BytecodeGenerator::emitResolveWithBase):
(JSC::BytecodeGenerator::emitResolveWithThis): Change to accept a
"resolveResult" argument. This is more clear, and reduces the
amount of double analysis happening at compile-time.
* bytecompiler/NodesCodegen.cpp:
(JSC::ResolveNode::emitBytecode):
(JSC::EvalFunctionCallNode::emitBytecode):
(JSC::FunctionCallResolveNode::emitBytecode):
(JSC::PostfixResolveNode::emitBytecode):
(JSC::DeleteResolveNode::emitBytecode):
(JSC::TypeOfResolveNode::emitBytecode):
(JSC::PrefixResolveNode::emitBytecode):
(JSC::ReadModifyResolveNode::emitBytecode):
(JSC::AssignResolveNode::emitBytecode):
(JSC::ConstDeclNode::emitCodeSingle):
(JSC::ForInNode::emitBytecode): Refactor to use the new
ResolveResult structure.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106478
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Wed, 1 Feb 2012 19:21:32 +0000 (19:21 +0000)]
[SKIA/CHROMIUM] Perform getImageData format conversions using Skia
https://bugs.webkit.org/show_bug.cgi?id=77553
Patch by Brian Salomon <bsalomon@google.com> on 2012-02-01
Reviewed by Stephen White.
Source/WebCore:
Many existing canvas tests exercise this functionality.
* platform/graphics/skia/ImageBufferSkia.cpp:
(WebCore::getImageData):
LayoutTests:
* platform/chromium/test_expectations.txt:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106477
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
japhet@chromium.org [Wed, 1 Feb 2012 18:45:17 +0000 (18:45 +0000)]
Source/WebCore: preventDefault() in a mousedown in a subframe should not
prevent the scrollbar from handling mouse movements if the
cursor leaves the subframe.
https://bugs.webkit.org/show_bug.cgi?id=73097
Reviewed by Darin Adler.
Test: fast/events/scroll-div-with-prevent-default-in-subframe.html
* page/EventHandler.cpp:
(WebCore::EventHandler::handleMousePressEvent):
LayoutTests: Test for https://bugs.webkit.org/show_bug.cgi?id=73097.
Test adapted from repro case provided by zacklloyd@google.com.
Reviewed by Darin Adler.
* fast/events/resources/subframe-with-scrollable-div.html: Added.
* fast/events/scroll-div-with-prevent-default-in-subframe-expected.txt: Added.
* fast/events/scroll-div-with-prevent-default-in-subframe.html: Added.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106476
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hans@chromium.org [Wed, 1 Feb 2012 18:29:20 +0000 (18:29 +0000)]
Rename WebSpeechInputResult::set() to assign()
https://bugs.webkit.org/show_bug.cgi?id=77540
Reviewed by Darin Fisher.
Source/WebKit/chromium:
It was suggested in a previous code review
(https://bugs.webkit.org/show_bug.cgi?id=77083#c5)
that this function should be called assign().
* public/WebSpeechInputResult.h:
(WebSpeechInputResult):
(WebKit::WebSpeechInputResult::set):
* src/WebSpeechInputResult.cpp:
(WebKit::WebSpeechInputResult::assign):
Tools:
* DumpRenderTree/chromium/MockWebSpeechInputController.cpp:
(MockWebSpeechInputController::addMockRecognitionResult):
(MockWebSpeechInputController::speechTaskFired):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106475
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
carlosgc@webkit.org [Wed, 1 Feb 2012 18:04:57 +0000 (18:04 +0000)]
[GTK] WebKit1 API documentation is not generated when building with gtk-2.0
https://bugs.webkit.org/show_bug.cgi?id=77542
Reviewed by Martin Robinson.
* gtk/generate-gtkdoc: Check first whether there's
webkitgtk-3.0.pc and if it doesn't exist use webkitgtk-1.0.pc
instead.
(get_webkit2_options): Return just the options since the
pkg_config_path doesn't depend on options
(get_webkit1_options): Ditto.
(generate_doc): Helper function to create a generator and generate
documentation for the given pkg-config file with the given options.
* gtk/gtkdoc.py:
(GTKDoc.__init__): Don't use ** for args parameter, since it's
used as a dict and never expanded.
(PkgConfigGTKDoc.__init__): Ditto.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106474
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
carlosgc@webkit.org [Wed, 1 Feb 2012 18:01:35 +0000 (18:01 +0000)]
[GTK] API documentation is not installed even when building with --enable-gtk-doc
https://bugs.webkit.org/show_bug.cgi?id=77094
Reviewed by Martin Robinson.
* GNUmakefile.am: Add install-data-local and uninstall-local rules
to install/uninstall WebKit1 and WebKit2 API documentation.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106473
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mario@webkit.org [Wed, 1 Feb 2012 17:58:57 +0000 (17:58 +0000)]
[GTK] editing/inserting/4960120-2.html flaky crash
https://bugs.webkit.org/show_bug.cgi?id=76815
Reviewed by Martin Robinson.
Source/WebCore:
Check if the node for the first parent object not ignoring
accessibility is null before using it. This might happen with
certain kind of accessibility objects, such as the root one (the
scroller containing the webArea object as its only child).
* accessibility/gtk/WebKitAccessibleWrapperAtk.cpp:
(objectFocusedAndCaretOffsetUnignored): Add missing null check.
LayoutTests:
* platform/gtk/test_expectations.txt: Unskipping tests that
shouldn't be crashing from now on.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106472
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
antti@apple.com [Wed, 1 Feb 2012 17:41:27 +0000 (17:41 +0000)]
Make CSSMappedAttributeDeclaration have CSSMutableStyleDeclaration instead of being one
https://bugs.webkit.org/show_bug.cgi?id=77545
Reviewed by Andreas Kling.
This is the easiest path for eliminating the last remaining subclass of CSSMutableStyleDeclaration.
On negative side this increases memory use of CSSMappedAttributeDeclaration by one ptr and refcount
(it loses the vptr) in total.
This is not meant to be the end state, just an intermediate refactoring step. CSSMappedAttributeDeclaration
should clearly be renamed too but this patch doesn't do that. It might not exist in its current form
much longer.
* css/CSSMutableStyleDeclaration.cpp:
(WebCore::CSSMutableStyleDeclaration::setProperty):
(WebCore::CSSMutableStyleDeclaration::merge):
* css/CSSMutableStyleDeclaration.h:
Remove protected section. No subclasses remain.
Rename setPropertyInternal() to setProperty(). All public methods here are internal.
(CSSMutableStyleDeclaration):
* css/CSSParser.cpp:
(WebCore::CSSParser::parseMappedAttributeValue):
* dom/Attribute.cpp:
(WebCore::Attribute::clone):
* dom/Attribute.h:
(Attribute):
(WebCore::Attribute::decl):
(WebCore::Attribute::mappedAttributeDeclaration):
(WebCore::Attribute::setMappedAttributeDeclaration):
(WebCore::Attribute::Attribute):
* dom/CSSMappedAttributeDeclaration.cpp:
(WebCore::CSSMappedAttributeDeclaration::setMappedImageProperty):
(WebCore::CSSMappedAttributeDeclaration::setMappedProperty):
(WebCore::CSSMappedAttributeDeclaration::removeMappedProperty):
* dom/CSSMappedAttributeDeclaration.h:
(CSSMappedAttributeDeclaration):
(WebCore::CSSMappedAttributeDeclaration::declaration):
(WebCore::CSSMappedAttributeDeclaration::CSSMappedAttributeDeclaration):
Make CSSMutableStyleDeclaration a member instead of the base class.
* dom/StyledElement.cpp:
(WebCore::StyledElement::attributeChanged):
(WebCore::StyledElement::removeCSSProperty):
(WebCore::StyledElement::addCSSProperty):
(WebCore::StyledElement::addCSSImageProperty):
(WebCore::StyledElement::addCSSLength):
(WebCore::StyledElement::addCSSColor):
(WebCore::StyledElement::createMappedDecl):
* svg/SVGStyledElement.cpp:
(WebCore::SVGStyledElement::getPresentationAttribute):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106471
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Wed, 1 Feb 2012 17:38:58 +0000 (17:38 +0000)]
[Qt] Set all PlatformTouchPoint values possible from a QTouch event.
https://bugs.webkit.org/show_bug.cgi?id=77442
Patch by Allan Sandfeld Jensen <allan.jensen@nokia.com> on 2012-02-01
Reviewed by Kenneth Rohde Christiansen.
* platform/qt/PlatformTouchPointQt.cpp:
(WebCore::PlatformTouchPoint::PlatformTouchPoint):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106470
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Wed, 1 Feb 2012 17:22:02 +0000 (17:22 +0000)]
Web Inspector: CodeGeneratorInspector.py: move type builder code to dedicated InspectorTypeBuilder .h/.cpp
https://bugs.webkit.org/show_bug.cgi?id=77471
Patch by Peter Rybin <peter.rybin@gmail.com> on 2012-02-01
Reviewed by Yury Semikhatsky.
Code is moved physically to other file -- generator is changed accrodingly.
* inspector/CodeGeneratorInspector.py:
(String):
(provides):
(typename):
(Array):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106469
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
yurys@chromium.org [Wed, 1 Feb 2012 17:03:16 +0000 (17:03 +0000)]
Web Inspector: debugger reports wrong sources when paused in inline script on page reload
https://bugs.webkit.org/show_bug.cgi?id=77548
Source/WebCore:
V8 returns treats each script source as ending with \n, now we take
this into account when reporting script line count to the inspector
front-end.
Reviewed by Vsevolod Vlasov.
Test: inspector/debugger/pause-in-inline-script.html
* bindings/js/ScriptDebugServer.cpp:
(WebCore::ScriptDebugServer::dispatchDidParseSource):
* bindings/v8/DebuggerScript.js:
LayoutTests:
Reviewed by Vsevolod Vlasov.
* inspector/debugger/debugger-scripts-expected.txt:
* inspector/debugger/pause-in-inline-script-expected.txt: Added.
* inspector/debugger/pause-in-inline-script.html: Added.
* platform/chromium/inspector/debugger/debugger-scripts-expected.txt:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106468
268f45cc-cd09-0410-ab3c-
d52691b4dbfc