Timeline



Jan 22, 2010:

11:11 PM Changeset in webkit [53764] by eric@webkit.org
  • 16 edits
    4 copies
    1 add in trunk

2010-01-22 Alex Milowski <alex@milowski.com>

Reviewed by David Hyatt.

Updated tests due to stylesheet changes.

  • platform/mac/mathml/presentation/sub-expected.checksum:
  • platform/mac/mathml/presentation/sub-expected.png:
  • platform/mac/mathml/presentation/sub-expected.txt:
  • platform/mac/mathml/presentation/sup-expected.checksum:
  • platform/mac/mathml/presentation/sup-expected.png:
  • platform/mac/mathml/presentation/sup-expected.txt:
  • platform/mac/mathml/presentation/tables-expected.checksum:
  • platform/mac/mathml/presentation/tables-expected.png:
  • platform/mac/mathml/presentation/tables-expected.txt:

2010-01-22 Alex Milowski <alex@milowski.com>

Reviewed by David Hyatt.

Added support for RenderMathMLBlock base object and isRenderMathMLBlock()
method on RenderObject.

Added support for text elements and updated tag and attribute names

Also, updated the stylesheet added files to the project

  • DerivedSources.make:
  • WebCore.xcodeproj/project.pbxproj:
  • css/mathml.css:
  • mathml/MathMLInlineContainerElement.cpp: (WebCore::MathMLInlineContainerElement::createRenderer):
  • mathml/MathMLTextElement.cpp: Added. (WebCore::MathMLTextElement::MathMLTextElement): (WebCore::MathMLTextElement::create): (WebCore::MathMLTextElement::createRenderer):
  • mathml/MathMLTextElement.h: Added.
  • mathml/RenderMathMLBlock.cpp: Added. (WebCore::RenderMathMLBlock::RenderMathMLBlock): (WebCore::RenderMathMLBlock::styleDidChange): (WebCore::RenderMathMLBlock::isChildAllowed): (WebCore::RenderMathMLBlock::makeBlockStyle): (WebCore::RenderMathMLBlock::nonOperatorHeight): (WebCore::RenderMathMLBlock::stretchToHeight):
  • mathml/RenderMathMLBlock.h: Added. (WebCore::RenderMathMLBlock::isRenderMathMLBlock): (WebCore::RenderMathMLBlock::isRenderMathMLOperator): (WebCore::RenderMathMLBlock::isRenderMathMLRow): (WebCore::RenderMathMLBlock::isRenderMathMLMath): (WebCore::RenderMathMLBlock::hasBase): (WebCore::toRenderMathMLBlock):
  • mathml/mathattrs.in: Added.
  • rendering/RenderObject.h: (WebCore::RenderObject::isRenderMathMLBlock):
10:51 PM Changeset in webkit [53763] by eric@webkit.org
  • 3 edits in trunk/WebKitTools

2010-01-22 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>

Reviewed by Simon Hausmann.

Make run-webkit-tests work under Cygwin for the Qt port

setPathForRunningWebKitApp() is implemented for the Qt port
by using qmake to query for the location of the Qt libraries.

This requires the original environment (%ENV) to be untouched,
so launchWithCurrentEnv() was refactored to launchWithEnv(),
and the code in openDumpTool() to not use %ENV but a %CLEAN_ENV
instead. This has the added benefit of getting rid of the temp
variables used for storing the current env.

openDumpTool() is also refactored a bit into platform-spesific,
port-spesific, and generic environment variables.

Checks for undef was added a few places to fix Perl concat
warnings when run-webkit-tests is aborted.

https://bugs.webkit.org/show_bug.cgi?id=33895

  • Scripts/run-webkit-tests:
  • Scripts/webkitdirs.pm:
10:35 PM Changeset in webkit [53762] by eric@webkit.org
  • 6 edits in trunk/LayoutTests

2010-01-22 Garret Kelly <gdk@chromium.org>

Reviewed by David Levin.

Fixing svg/custom/stroke-width-click.svg to not cause the double-click
handler to fire on certain platforms (chromium, for one). Chromium,
Leopard, and GTK all agree on the calculated extents of the shape, so I'm
disabling this test on mac-tiger and re-enabling it on mac-leopard and
updating the expected file to reflect the current state of the test.
https://bugs.webkit.org/show_bug.cgi?id=33865

  • platform/mac-leopard/Skipped:
  • platform/mac-tiger/Skipped:
  • svg/custom/stroke-width-click-expected.txt:
  • svg/custom/stroke-width-click.svg:
10:19 PM Changeset in webkit [53761] by eric@webkit.org
  • 11 edits
    4 adds in trunk

2010-01-22 James Robinson <jamesr@chromium.org>

Reviewed by Alexey Proskuryakov.

Adds tests for the 'selected' attribute of <option>s
https://bugs.webkit.org/show_bug.cgi?id=32641

HTMLOptionElement_selected2 checks that the selected attribute is up to date immediately after the <select>
parsed. HTMLOptionElement_selected3 does the same, but checks immediately prior to the </select>.

Also changes the expectation for add-remove-option-modification-event to reflect that we now pass.

  • fast/forms/HTMLOptionElement_selected-expected.txt:
  • fast/forms/HTMLOptionElement_selected.html:
  • fast/forms/HTMLOptionElement_selected2-expected.txt: Added.
  • fast/forms/HTMLOptionElement_selected2.html: Added.
  • fast/forms/HTMLOptionElement_selected3-expected.txt: Added.
  • fast/forms/HTMLOptionElement_selected3.html: Added.
  • fast/forms/add-remove-option-modification-event-expected.txt:

2010-01-22 James Robinson <jamesr@chromium.org>

Reviewed by Alexey Proskuryakov.

Ensures that the 'selected' attribute of an <option> is correct
https://bugs.webkit.org/show_bug.cgi?id=32641

Adds a check in OptionElement::selected() that checks if list items need to be recalculated and does so if needed,
so the attribute is up to date more often. Also gets rid of most of the recalcStyle() side effects.

Our behavior now matches Firefox 3.5 and IE8 after the </select> is parsed.

Tests: fast/forms/HTMLOptionElement_selected2.html

fast/forms/HTMLOptionElement_selected3.html

  • dom/SelectElement.cpp: (WebCore::SelectElement::setOptionsChangedOnRenderer): (WebCore::SelectElement::setRecalcListItems): (WebCore::SelectElement::recalcListItems): (WebCore::SelectElement::restoreFormControlState): (WebCore::SelectElement::reset): (WebCore::SelectElement::typeAheadFind):
  • dom/SelectElement.h:
  • html/HTMLOptionElement.cpp: (WebCore::HTMLOptionElement::selected): (WebCore::HTMLOptionElement::insertedIntoTree):
  • html/HTMLSelectElement.cpp: (WebCore::HTMLSelectElement::recalcStyle): (WebCore::HTMLSelectElement::recalcListItemsIfNeeded):
  • html/HTMLSelectElement.h:
  • wml/WMLSelectElement.cpp: (WebCore::WMLSelectElement::recalcStyle):
9:43 PM Changeset in webkit [53760] by eric@webkit.org
  • 2 edits in trunk/WebCore

2010-01-22 Chris Rogers <crogers@google.com>

Reviewed by Eric Seidel.

Need to handle WebGLUnsignedByteArray as method argument for V8 binding
https://bugs.webkit.org/show_bug.cgi?id=33929

V8 code generator does not have associated tests

  • bindings/scripts/CodeGeneratorV8.pm:
9:27 PM Changeset in webkit [53759] by eric@webkit.org
  • 7 edits in trunk

2010-01-22 Elliot Glaysher <erg@chromium.org>

Reviewed by David Levin.

Chromium: theme selection colors to match gtk theme
Add functions to RenderThemeChromiumLinux to change the selection color
according to the current GTK+ theme.

Since the change is to the Chromium WebKit API layer, testing is done
in Chromium's test shell (see Chromium side of this patch:
http://codereview.chromium.org/554004)

https://bugs.webkit.org/show_bug.cgi?id=33921

  • rendering/RenderThemeChromiumLinux.cpp: (WebCore::RenderThemeChromiumLinux::platformActiveSelectionBackgroundColor): (WebCore::RenderThemeChromiumLinux::platformInactiveSelectionBackgroundColor): (WebCore::RenderThemeChromiumLinux::platformActiveSelectionForegroundColor): (WebCore::RenderThemeChromiumLinux::platformInactiveSelectionForegroundColor): (WebCore::RenderThemeChromiumLinux::setSelectionColors):
  • rendering/RenderThemeChromiumLinux.h: Adds static members.

2010-01-22 Elliot Glaysher <erg@chromium.org>

Reviewed by David Levin.

Chromium: theme selection colors to match gtk theme
Add functions to RenderThemeChromiumLinux to change the selection color
according to the current GTK+ theme.

Since the change is to the Chromium WebKit API layer, testing is done
in Chromium's test shell (see Chromium side of this patch:
http://codereview.chromium.org/554004)

https://bugs.webkit.org/show_bug.cgi?id=33921

  • public/WebView.h: Adds interface to change the selection colors
  • src/WebViewImpl.cpp: (WebKit::WebViewImpl::setSelectionColors): Implements new interface.
  • src/WebViewImpl.h:
9:11 PM Changeset in webkit [53758] by eric@webkit.org
  • 3 edits
    2 adds in trunk

2010-01-22 Steve VanDeBogart <vandebo@chromium.org>

Reviewed by David Levin.

A new test to check that middle clicking on the primary scroll bars
does not trigger a paste event.
https://bugs.webkit.org/show_bug.cgi?id=33062

  • scrollbars/scrollbar-middleclick-nopaste-expected.txt: Added.
  • scrollbars/scrollbar-middleclick-nopaste.html: Added.

2010-01-22 Steve VanDeBogart <vandebo@chromium.org>

Reviewed by David Levin.

Middle clicking the main scroll bars should not trigger a paste event
in Linux chromium.
https://bugs.webkit.org/show_bug.cgi?id=33062

  • src/WebViewImpl.cpp: (WebKit::WebViewImpl::mouseUp):
9:09 PM UsingGitWithWebKit edited by Chris Jerdonek
Added note about "commit-log-editor" and dcommit. (diff)
8:59 PM UsingGitWithWebKit edited by Chris Jerdonek
Added note about squashing commits, if necessary, before dcommit. (diff)
8:42 PM Changeset in webkit [53757] by kevino@webkit.org
  • 17 edits in trunk

Reviewed by Kevin Ollivier.

[wx] Remove the Bakefile build system, which is no longer being used.

https://bugs.webkit.org/show_bug.cgi?id=34022

8:33 PM Changeset in webkit [53756] by kevino@webkit.org
  • 2 edits in trunk/WebKit/wx

Build fix after r53718.

8:18 PM Changeset in webkit [53755] by kov@webkit.org
  • 2 edits in trunk/LayoutTests

Update platform-specific test results following r53722

8:06 PM Changeset in webkit [53754] by kov@webkit.org
  • 3 edits
    2 adds in trunk

LayoutTests

2010-01-22 Gustavo Noronha Silva <Gustavo Noronha Silva>

Reviewed by Simon Fraser.

Checking in platform-specific results for test that is failing
because of an additional single pixel in size - the test passes,
when testing manually.

  • platform/gtk/svg/custom/text-zoom-expected.txt: Added.

WebKitTools

2010-01-22 Gustavo Noronha Silva <Gustavo Noronha Silva>

Reviewed by Simon Fraser.

Reset zoom level to 1.0 when resetting view state. This is causing
many tests to fail after svg/custom/text-zoom.xhtml changes the
zoom level.

  • DumpRenderTree/gtk/DumpRenderTree.cpp: (resetDefaultsToConsistentValues):
8:00 PM Changeset in webkit [53753] by sfalken@apple.com
  • 3 edits in trunk/LayoutTests

Roll out r53752 to fix bots.

7:46 PM Changeset in webkit [53752] by sfalken@apple.com
  • 3 edits in trunk/LayoutTests

Rubber-stamped by Cameron Zwarich.

Re-enable Geolocation tests on Mac.

  • platform/mac/Skipped:
  • platform/win/Skipped:
7:06 PM Changeset in webkit [53751] by sfalken@apple.com
  • 1 edit in trunk/WebCore/platform/GeolocationService.cpp

Mac build fix.

6:53 PM Changeset in webkit [53750] by sfalken@apple.com
  • 1 edit in trunk/WebCore/platform/mac/GeolocationServiceMac.mm

Build fix. Don't include CoreLocation-based Geolocation if CLIENT_BASED_GEOLOCATION is set.

6:34 PM Changeset in webkit [53749] by sfalken@apple.com
  • 1 edit in trunk/WebCore/WebCore.base.exp

Build fix. Touch exp file to force it to rebuild via DerivedSources.make.

6:18 PM WikiStart edited by Chris Jerdonek
Alphabetized Documentation pages to find them more easily (diff)
6:16 PM Changeset in webkit [53748] by pkasting@chromium.org
  • 1 edit
    1 delete in trunk/WebCore

Remove unnecessary copy of zlib.
https://bugs.webkit.org/show_bug.cgi?id=34028

Reviewed by Darin Adler.

  • platform/image-decoders/zlib: Removed.
  • platform/image-decoders/zlib/adler32.c: Removed.
  • platform/image-decoders/zlib/compress.c: Removed.
  • platform/image-decoders/zlib/crc32.c: Removed.
  • platform/image-decoders/zlib/crc32.h: Removed.
  • platform/image-decoders/zlib/deflate.c: Removed.
  • platform/image-decoders/zlib/deflate.h: Removed.
  • platform/image-decoders/zlib/gzio.c: Removed.
  • platform/image-decoders/zlib/infback.c: Removed.
  • platform/image-decoders/zlib/inffast.c: Removed.
  • platform/image-decoders/zlib/inffast.h: Removed.
  • platform/image-decoders/zlib/inffixed.h: Removed.
  • platform/image-decoders/zlib/inflate.c: Removed.
  • platform/image-decoders/zlib/inflate.h: Removed.
  • platform/image-decoders/zlib/inftrees.c: Removed.
  • platform/image-decoders/zlib/inftrees.h: Removed.
  • platform/image-decoders/zlib/mozzconf.h: Removed.
  • platform/image-decoders/zlib/trees.c: Removed.
  • platform/image-decoders/zlib/trees.h: Removed.
  • platform/image-decoders/zlib/uncompr.c: Removed.
  • platform/image-decoders/zlib/zconf.h: Removed.
  • platform/image-decoders/zlib/zlib.h: Removed.
  • platform/image-decoders/zlib/zutil.c: Removed.
  • platform/image-decoders/zlib/zutil.h: Removed.
6:07 PM Changeset in webkit [53747] by ajwong@chromium.org
  • 4 edits in trunk/WebKit/chromium

Not reviewed. backout.

Backout r53705. Causes ui_tests to timeout, and browser_tests to fail with
TestConnectToBadPort and WindowOpenInvalidExtension.

5:58 PM Changeset in webkit [53746] by sfalken@apple.com
  • 12 edits in trunk

https://bugs.webkit.org/show_bug.cgi?id=34025
Enable client-based Geolocation abstraction for Mac, Windows AppleWebKit targets.

Reviewed by Darin Adler.

JavaScriptCore:

  • Configurations/FeatureDefines.xcconfig:

WebCore:

  • Configurations/FeatureDefines.xcconfig:
  • DerivedSources.make:

WebKit/mac:

  • Configurations/FeatureDefines.xcconfig:

WebKitLibraries:

  • win/tools/vsprops/FeatureDefines.vsprops:
  • win/tools/vsprops/FeatureDefinesCairo.vsprops:

WebKitTools:

  • Scripts/build-webkit:
5:52 PM Changeset in webkit [53745] by Simon Fraser
  • 1 edit in trunk/LayoutTests/ChangeLog

2010-01-22 Simon Fraser <Simon Fraser>

No review.

Commit missing test result.

  • fast/dom/Window/webkitConvertPointUpdateLayout-expected.txt: Added.
5:51 PM Changeset in webkit [53744] by dimich@chromium.org
  • 1 edit
    1 add in trunk/LayoutTests

Fix tests, unreviewed. Adding expectations file missing from r53739

  • fast/dom/Window/webkitConvertPointUpdateLayout-expected.txt: Added.
5:33 PM Changeset in webkit [53743] by sfalken@apple.com
  • 2 edits in trunk/LayoutTests

Build fix. Add missing comma.

  • fast/dom/Window/window-properties.html:
5:17 PM Changeset in webkit [53742] by Simon Fraser
  • 3 edits
    4 adds in trunk

2010-01-22 Simon Fraser <Simon Fraser>

Reviewed by Dan Bernstein.

REGRESSION (r53110): Find My iPhone message dialog is offset from original position once it gets focus
https://bugs.webkit.org/show_bug.cgi?id=33821

Fix an issue with the geometry of fixed position, composited layers inside other
composited layers. If we called convertToLayerCoords() on a fixed layer with an ancestor
layer which is not the root, then we assumed that the fixed layer had a positioning root.
However, this is not always the case, since the fixed layer may have a compositing ancestor
which is not a fixed container.

Test: compositing/geometry/fixed-in-composited.html

  • rendering/RenderLayer.cpp: (WebCore::isFixedPositionedContainer): Utility function to test whether a layer acts as a fixed position container.

(WebCore::RenderLayer::convertToLayerCoords): When called on a fixed position layer
for an ancestor layer that is not the root, compute the correct offsets by looking for
the fixed position container, and computing offsets relative to that. If the ancestorLayer
is the fixed position container, fall through to the existing code that is shared
with absolutely positioned layers.

5:14 PM Changeset in webkit [53741] by sfalken@apple.com
  • 3 edits in trunk/LayoutTests

Skip fast/dom/Window/window-properties-geolocation.html
until https://bugs.webkit.org/show_bug.cgi?id=34025 is landed.

  • platform/mac/Skipped:
  • platform/win/Skipped:
5:07 PM Changeset in webkit [53740] by sfalken@apple.com
  • 7 edits
    1 copy
    1 add
    1 delete in trunk/LayoutTests

https://bugs.webkit.org/show_bug.cgi?id=34024
Layout tests don't easily allow Geolocation to be on in only a subset of platforms

Reviewed by Darin Adler.

  • fast/dom/Window/window-properties-geolocation-expected.txt: Added.
  • fast/dom/Window/window-properties-geolocation.html: Copied from fast/dom/Window/window-properties.html.

Moved Geolocation property testing here.

  • fast/dom/Window/window-properties.html: Exclude Geolocation from testing. Moved to window-properties-geolocation.html.
  • fast/dom/navigator-detached-no-crash.html: Exclude Geolocation from output.
  • fast/dom/script-tests/prototype-inheritance-2.js: Exclude Geolocation.
  • platform/gtk/fast/dom/Window/window-properties-expected.txt: Removed Geolocation properties from expected results.
  • platform/gtk/fast/dom/navigator-detached-no-crash-expected.txt: Removed. Gtk results now match baseline.
  • platform/gtk/fast/dom/prototype-inheritance-2-expected.txt: Removed Geolocation properties from expected results.
  • platform/qt/Skipped: Skip Geolocation tests. Not yet available in Qt.
4:46 PM Changeset in webkit [53739] by Simon Fraser
  • 3 edits
    1 add in trunk

2010-01-22 Simon Fraser <Simon Fraser>

Reviewed by Dan Bernstein.

webkitConvertPointFromNodeToPage doesn't take into account most recent transform style
https://bugs.webkit.org/show_bug.cgi?id=34023

Be sure to call updateLayoutIgnorePendingStylesheets() before doing point mapping,
to apply any style changes since the last layout.

Test: fast/dom/Window/webkitConvertPointUpdateLayout.html

  • page/DOMWindow.cpp: (WebCore::DOMWindow::webkitConvertPointFromNodeToPage): Call updateLayoutIgnorePendingStylesheets(). (WebCore::DOMWindow::webkitConvertPointFromPageToNode): Ditto.
4:46 PM Changeset in webkit [53738] by dimich@chromium.org
  • 2 edits in trunk/LayoutTests

Not reviewed, fixes one issue with window-property-descriptors test.

  • fast/dom/Window/script-tests/window-property-descriptors.js: Don't dump the property that only appears in debug build, it will fail tests in debug.
4:43 PM Changeset in webkit [53737] by mjs@apple.com
  • 4 edits in trunk/WebCore

2010-01-22 Maciej Stachowiak <mjs@apple.com>

Reviewed by Adam Roben.

Use stale cache data when going back and forward but not using WebCore’s page cache
https://bugs.webkit.org/show_bug.cgi?id=33993
<rdar://problem/7383392>

No tests since this is a performance change.

  • loader/CachePolicy.h: (WebCore::): Add CachePolicyAllowStale.
  • loader/DocLoader.cpp: (WebCore::DocLoader::checkForReload): Never reload in the case of CachePolicyAllowStale.
  • loader/FrameLoader.cpp: (WebCore::FrameLoader::subresourceCachePolicy): Return CachePolicyAllowStale if the main resource is being loaded to allow stale data. (WebCore::FrameLoader::addExtraFieldsToRequest): Use ReturnCacheDataElseLoad on back/forward loads - needed when going back of forward to a page with frames.
4:31 PM Changeset in webkit [53736] by knorton@google.com
  • 2 edits in trunk/WebCore

2010-01-22 Kelly Norton <knorton@google.com>

Reviewed by Pavel Feldman.

Web Inspector: JavaScript Error in DOMAgent.js:375 (_attributesUpdated)
https://bugs.webkit.org/show_bug.cgi?id=33915

Errors were caused by the fact that Element::attributes calls Element::setAttribute to
synchronized the styleAttr. The fix is to simply check the synchronizing style attribute
flag.

  • dom/Element.cpp: (WebCore::Element::setAttribute): Checked for case where styleAttr is being synchronized.
4:27 PM Changeset in webkit [53735] by abarth@webkit.org
  • 2 edits in trunk/WebKitTools

2010-01-22 Adam Barth <abarth@webkit.org>

Unreviewed. Arg. Someone renamed limit to output_limit on me.

  • Scripts/webkitpy/commands/queues.py:
4:21 PM Changeset in webkit [53734] by abarth@webkit.org
  • 3 edits in trunk/WebKitTools

2010-01-22 Adam Barth <abarth@webkit.org>

Rubber stamped by Eric Seidel.

Make init.py and buildbot.py pass pep8 style checker.

  • Scripts/webkitpy/init.py:
  • Scripts/webkitpy/buildbot.py:
4:12 PM Changeset in webkit [53733] by abarth@webkit.org
  • 2 edits in trunk/WebKitTools

2010-01-21 Joe Mason <jmason@rim.com>

Reviewed by Adam Barth.

webkit-patch should retry on invalid password
https://bugs.webkit.org/show_bug.cgi?id=33955

Ask for bugs.webkit.org authentication in a loop.

  • Scripts/webkitpy/bugzilla.py:
4:10 PM Changeset in webkit [53732] by jianli@chromium.org
  • 5 edits in trunk/LayoutTests

No review. Updated Qt layout tests due to r53722.

  • platform/qt/fast/dom/Window/window-properties-expected.txt:
  • platform/qt/fast/dom/Window/window-property-descriptors-expected.txt:
  • platform/qt/fast/dom/prototype-inheritance-expected.txt:
  • platform/qt/fast/js/global-constructors-expected.txt:
4:06 PM Changeset in webkit [53731] by abarth@webkit.org
  • 2 edits in trunk/WebKitTools

2010-01-22 Adam Barth <abarth@webkit.org>

Unreviewed. Don't call seek on a NoneType.

  • Scripts/webkitpy/statusserver.py:
3:58 PM Changeset in webkit [53730] by abarth@webkit.org
  • 2 edits in trunk/WebKitTools

2010-01-22 Petri Latvala <petri.latvala@nomovok.com>

Reviewed by David Levin.

check-webkit-style breaks on files with unknown types
https://bugs.webkit.org/show_bug.cgi?id=34001

For files with type FileType.NONE, dispatch_processor returns None.

  • Scripts/webkitpy/style/checker.py: Don't call process_file with a processor of value None.
3:58 PM Changeset in webkit [53729] by abarth@webkit.org
  • 3 edits in trunk/WebKitTools

2010-01-22 Adam Barth <abarth@webkit.org>

Reviewed by Eric Seidel.

Make bugzilla.py and webkitport.py conform to pep8
https://bugs.webkit.org/show_bug.cgi?id=34015

This patch makes webkitport.py and bugzilla.py mostly conform to PEP8
style as enforced by pep8.py. I wasn't able to get rid of all the
errors because I'm not sure how to wrap some lines properly. Also,
there are a few deprication errors that I couldn't resolve easily.
However, this is a massive improvement in compliance.

  • Scripts/webkitpy/bugzilla.py:
  • Scripts/webkitpy/webkitport.py:
3:57 PM Changeset in webkit [53728] by abarth@webkit.org
  • 3 edits in trunk/WebKitTools

2010-01-22 Adam Barth <abarth@webkit.org>

Reviewed by Darin Adler.

Limit length of EWS results to 5MB
https://bugs.webkit.org/show_bug.cgi?id=34016

Hopefully this will fix the bug where the results link doesn't appear.
Our current theory is that the results blob is too big and the server
is rejecting the request with a 500 error. That causes us to re-try
the post, but when we re-try the StringIO buffer has its seek pointer
at the end.

  • Scripts/webkitpy/commands/queues.py:
  • Scripts/webkitpy/statusserver.py:
3:54 PM Changeset in webkit [53727] by jianli@chromium.org
  • 2 edits in trunk/LayoutTests

No review. Build fix.
Updated the newly added test to count the change from r53722.

  • fast/dom/Window/window-property-descriptors-expected.txt:
3:50 PM Changeset in webkit [53726] by Csaba Osztrogonác
  • 1 edit
    2 adds in trunk/LayoutTests

[Qt] Platform dependent expected files added for tests introduced in r53656,
because these tests pass. Compared to png files.

Reviewed by Nikolas Zimmermann.

  • platform/qt/svg/custom/relative-sized-shadow-tree-content-with-symbol-expected.txt: Added.
  • platform/qt/svg/custom/relative-sized-use-on-symbol-expected.txt: Added.
3:49 PM Changeset in webkit [53725] by eric.carlson@apple.com
  • 2 edits in trunk/WebCore

2010-01-22 Eric Carlson <eric.carlson@apple.com>

Reviewed by Simon Fraser.

Update r53711 for GraphicsLayer method rename.

  • platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp: (WebCore::MediaPlayerPrivate::createLayerForMovie): Rename from change setContentsToVideo.
3:41 PM Changeset in webkit [53724] by pkasting@chromium.org
  • 2 edits in trunk/LayoutTests

Not reviewed, test fix.

Update a layout test for change in page scroll size.
https://bugs.webkit.org/show_bug.cgi?id=32595

  • fast/events/scrollbar-double-click-expected.txt:
3:36 PM Changeset in webkit [53723] by Nikolas Zimmermann
  • 5 edits in trunk/LayoutTests

2010-01-22 Nikolas Zimmermann <nzimmermann@rim.com>

Not reviewed. Fix comment in the a SVG <use> testcase, it should say "green rectangles" instead of "blue rectangles", as noticed by Csaba Osztrogonac.

  • platform/mac/svg/custom/relative-sized-shadow-tree-content-with-symbol-expected.checksum:
  • platform/mac/svg/custom/relative-sized-shadow-tree-content-with-symbol-expected.png:
  • platform/mac/svg/custom/relative-sized-shadow-tree-content-with-symbol-expected.txt:
  • svg/custom/relative-sized-shadow-tree-content-with-symbol.xhtml:
3:03 PM Changeset in webkit [53722] by jianli@chromium.org
  • 7 edits in trunk

WebCore: Add BlobConstructor to DOMWindow.
https://bugs.webkit.org/show_bug.cgi?id=33982

Reviewed by Darin Adler.

  • page/DOMWindow.idl:

LayoutTests: Updated the affected tests due to adding BlobConstructor to DOMWindow.
https://bugs.webkit.org/show_bug.cgi?id=33982

Reviewed by Darin Adler.

  • fast/dom/Window/window-properties-expected.txt:
  • fast/dom/prototype-inheritance-2-expected.txt:
  • fast/dom/prototype-inheritance-expected.txt:
  • fast/js/global-constructors-expected.txt:
3:03 PM Changeset in webkit [53721] by beidson@apple.com
  • 2 edits in trunk/WebKit/mac

[WebFrame loadRequest:] does not null check the WebCore::Frame
<rdar://problem/7416286> and https://bugs.webkit.org/show_bug.cgi?id=34021

Reviewed by Adele Peterson.

  • WebView/WebFrame.mm:

(-[WebFrame loadRequest:]): Null check the WebCore::Frame as it can disappear

out of underneath a WebFrame.

2:59 PM Changeset in webkit [53720] by jianli@chromium.org
  • 3 edits in trunk/LayoutTests

Add test for new attributes introduced in File and Blob interfaces.
https://bugs.webkit.org/show_bug.cgi?id=33980

Reviewed by Darin Adler.

  • editing/pasteboard/file-input-files-access-expected.txt:
  • editing/pasteboard/script-tests/file-input-files-access.js:
2:18 PM Changeset in webkit [53719] by bweinstein@apple.com
  • 2 edits
    1 add in trunk/WebCore

Rubber-stamped by Adam Roben.

Commit files that were supposed to be part of r53696, but weren't
landed.

  • English.lproj/localizedStrings.js:
  • manual-tests/debugger-caught-uncaught-exceptions.html: Added.
2:17 PM Changeset in webkit [53718] by pkasting@chromium.org
  • 8 edits in trunk

When scrolling by page, hold back 1/8th of the visible size instead of
40 px.
https://bugs.webkit.org/show_bug.cgi?id=32595

Reviewed by David Hyatt.

WebCore:

  • editing/EditorCommand.cpp:

(WebCore::verticalScrollDistance):

  • platform/ScrollView.cpp:

(WebCore::ScrollView::updateScrollbars):
(WebCore::ScrollView::wheelEvent):

  • platform/Scrollbar.h:
  • platform/wx/ScrollViewWx.cpp:

(WebCore::ScrollView::ScrollViewPrivate::OnScrollWinEvents):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::updateScrollInfoAfterLayout):

WebKit/mac:

  • WebView/WebFrameView.mm:

(-[WebFrameView _verticalPageScrollDistance]):
(-[WebFrameView initWithFrame:]):
(-[WebFrameView _horizontalPageScrollDistance]):

2:13 PM Changeset in webkit [53717] by dimich@chromium.org
  • 2 edits in trunk/JavaScriptCore

Not reviewed, attempted Snow Leopard build fix.

  • wtf/ThreadingPthreads.cpp: Add a forward declaration of a function which is not 'static'.
2:05 PM Changeset in webkit [53716] by pkasting@chromium.org
  • 18 edits in trunk

Not reviewed, backout.

Back out r52673, which caused several regressions.
https://bugs.webkit.org/show_bug.cgi?id=32533

WebCore:

  • platform/PopupMenuClient.h:
  • platform/chromium/PopupMenuChromium.cpp:

(WebCore::PopupContainer::hidePopup):
(WebCore::PopupListBox::handleKeyEvent):
(WebCore::PopupListBox::abandon):
(WebCore::PopupListBox::acceptIndex):
(WebCore::PopupListBox::selectIndex):
(WebCore::PopupListBox::clearSelection):
(WebCore::PopupListBox::hidePopup):

  • platform/gtk/PopupMenuGtk.cpp:

(WebCore::PopupMenu::menuUnmapped):

  • platform/mac/PopupMenuMac.mm:

(WebCore::PopupMenu::show):

  • platform/qt/QtAbstractWebPopup.cpp:

(WebCore::QtAbstractWebPopup::popupDidHide):

  • platform/qt/QtAbstractWebPopup.h:
  • platform/win/PopupMenuWin.cpp:

(WebCore::PopupMenu::hide):

  • platform/wx/PopupMenuWx.cpp:

(WebCore::PopupMenu::OnMenuItemSelected):

  • rendering/RenderMenuList.cpp:

(WebCore::RenderMenuList::popupDidHide):

  • rendering/RenderMenuList.h:
  • rendering/RenderTextControlSingleLine.cpp:

(WebCore::RenderTextControlSingleLine::popupDidHide):

  • rendering/RenderTextControlSingleLine.h:

WebKit/chromium:

  • src/AutocompletePopupMenuClient.cpp:

(WebKit::AutocompletePopupMenuClient::initialize):
(WebKit::AutocompletePopupMenuClient::popupDidHide):
(WebKit::AutocompletePopupMenuClient::setTextFromItem):

  • src/AutocompletePopupMenuClient.h:

WebKit/qt:

  • WebCoreSupport/QtFallbackWebPopup.cpp:

(WebCore::QtFallbackWebPopupCombo::hidePopup):

2:04 PM Changeset in webkit [53715] by Chris Jerdonek
  • 4 edits
    1 add in trunk/WebKitTools

33791: Proposed patch 1 (amended with preferred license)

2:00 PM Changeset in webkit [53714] by dimich@chromium.org
  • 16 edits
    2 adds in trunk

Fix the leak of ThreadIdentifiers in threadMap across threads.
https://bugs.webkit.org/show_bug.cgi?id=32689

Reviewed by Maciej Stachowiak.

JavaScriptCore:

Test is added to DumpRenderTree.mm.

  • Android.mk: Added file ThreadIdentifierDataPthreads.(h|cpp) to build.
  • Android.v8.wtf.mk: Ditto.
  • GNUmakefile.am: Ditto.
  • JavaScriptCore.gyp/JavaScriptCore.gyp: Ditto.
  • JavaScriptCore.gypi: Ditto.
  • JavaScriptCore.xcodeproj/project.pbxproj: Ditto.
  • wtf/ThreadIdentifierDataPthreads.cpp: Added. Contains custom implementation of thread-specific data that uses custom destructor.

(WTF::ThreadIdentifierData::~ThreadIdentifierData): Removes the ThreadIdentifier from the threadMap.
(WTF::ThreadIdentifierData::identifier):
(WTF::ThreadIdentifierData::initialize):
(WTF::ThreadIdentifierData::destruct): Custom thread-specific destructor. Resets the value for the key again to cause second invoke.
(WTF::ThreadIdentifierData::initializeKeyOnceHelper):
(WTF::ThreadIdentifierData::initializeKeyOnce): Need to use pthread_once since initialization may come on any thread(s).

  • wtf/ThreadIdentifierDataPthreads.h: Added.

(WTF::ThreadIdentifierData::ThreadIdentifierData):

  • wtf/Threading.cpp:

(WTF::threadEntryPoint): Move initializeCurrentThreadInternal to after the lock to make

sure it is invoked when ThreadIdentifier is already established.

  • wtf/Threading.h: Rename setThreadNameInternal -> initializeCurrentThreadInternal since it does more then only set the name now.
  • wtf/ThreadingNone.cpp:

(WTF::initializeCurrentThreadInternal): Ditto.

  • wtf/ThreadingWin.cpp:

(WTF::initializeCurrentThreadInternal): Ditto.
(WTF::initializeThreading): Ditto.

  • wtf/gtk/ThreadingGtk.cpp:

(WTF::initializeCurrentThreadInternal): Ditto.

  • wtf/qt/ThreadingQt.cpp:

(WTF::initializeCurrentThreadInternal): Ditto.

  • wtf/ThreadingPthreads.cpp:

(WTF::establishIdentifierForPthreadHandle):
(WTF::clearPthreadHandleForIdentifier): Make it not 'static' so the ~ThreadIdentifierData() in another file can call it.
(WTF::initializeCurrentThreadInternal): Set the thread-specific data. The ThreadIdentifier is already established by creating thread.
(WTF::waitForThreadCompletion): Remove call to clearPthreadHandleForIdentifier(threadID) since it is now done in ~ThreadIdentifierData().
(WTF::detachThread): Ditto.
(WTF::currentThread): Use the thread-specific data to get the ThreadIdentifier. It's many times faster then Mutex-protected iteration through the map.

Also, set the thread-specific data if called first time on the thread.

WebKitTools:

Add a new test to verify the ThreadIdentifiers are not reused across threads.
The test runs in the beginning of DumpRenderTree and spawns 2 non-WTF treads sequentially,
waiting for the previous thread to terminate before starting the next.
The treads use WTF::currentThread() in their thread function. Without a fix, this
causes both threads to have the same ThreadIdentifier which triggers ASSERT in thread function.
It also starts another thread using WTF. Without the fix, this finds pthread handle from previous
threads in the WTF threadMap and asserts in WTF::establishIdentifierForPthreadHandle().
The test practically does not affect the DRT run time because the threads end immediately.

  • DumpRenderTree/mac/DumpRenderTree.mm:

(runThread): Test thread function.
(testThreadIdentifierMap):
(dumpRenderTree):

1:52 PM Changeset in webkit [53713] by mitz@apple.com
  • 6 edits in trunk/WebCore

Rubber-stamped by Darin Adler.

Revert r53693 because it broke scrolling of pages with fixed elements on
Mac OS X.

  • page/FrameView.cpp:
  • page/FrameView.h:
  • platform/ScrollView.cpp:

(WebCore::ScrollView::scrollContents):

  • platform/ScrollView.h:
  • rendering/RenderObject.cpp:

(WebCore::RenderObject::styleWillChange):
(WebCore::RenderObject::destroy):

12:59 PM Changeset in webkit [53712] by ap@apple.com
  • 9 edits
    3 adds in trunk

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=34008
Assertion failure in KURL::setProtocol when running DOM Fuzzer

Test: fast/dom/Window/invalid-protocol.html

  • bindings/js/JSLocationCustom.cpp: (WebCore::JSLocation::setProtocol): Raise an exception if KURL::setProtocol fails.
  • html/HTMLAnchorElement.cpp: (WebCore::HTMLAnchorElement::setProtocol): Move argument tweaking logic into KURL. This way, the ':' trick applies to both JSLocation and HTMLAnchorElement, matching IE (but not Firefox). IE behavior is more permissive, and even more logical in my opinion.
  • loader/FrameLoader.cpp: (WebCore::FrameLoader::iconURL): Assert that setting protocol succeeded.
  • platform/KURL.cpp: (WebCore::KURL::setProtocol): Remove everything past ':', if present. Return false if the protocol to set is not valid. (WebCore::isValidProtocol): Made this work correctly for empty strings.
  • platform/KURL.h: isValidProtocol() is now static in KURL.cpp, it's only used in setProtocol().
  • platform/KURLGoogle.cpp: (WebCore::KURL::setProtocol): Always return true. This should hopefully prevent Chromium build breakage, alhough tests will likely fail. (WebCore::isValidProtocol): Removed, as this isn't used at the moment.
  • websockets/WebSocketHandshake.cpp: (WebCore::WebSocketHandshake::httpURLForAuthenticationAndCookies): Assert that setting protocol succeeded.
12:40 PM Changeset in webkit [53711] by eric.carlson@apple.com
  • 5 edits in trunk/WebCore

2010-01-22 Eric Carlson <eric.carlson@apple.com>

Reviewed by Adam Roben.

<rdar://problem/7373568>
https://bugs.webkit.org/show_bug.cgi?id=34007
Implement hardware acceleration of video compositing on Windows

Internally we still have QuickTime render to a bitmap, but frames are then composited
with the page using an accelerated renderer.

  • platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp: (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): Initialize m_newFrameAvailable. (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate): Call tearDownVideoRendering. (WebCore::MediaPlayerPrivate::cancelLoad): Call tearDownVideoRendering. (WebCore::MediaPlayerPrivate::updateStates): Call setUpVideoRendering once the movie

is ready to draw.

(WebCore::MediaPlayerPrivate::isReadyForRendering): New, utility function returns true

only when movie is ready to render.

(WebCore::MediaPlayerPrivate::setSize): Remember the size as we need it when rendering

in accelerated mode.

(WebCore::MediaPlayerPrivate::setVisible): Call setUpVideoRendering when made visible.
(WebCore::MediaPlayerPrivate::paint): Do nothing when rendering to a layer. Move frame

rate drawing code to paintCompleted.

(WebCore::MediaPlayerPrivate::paintCompleted): New, clear m_newFrameAvailable and, when

built with DRAW_FRAME_RATE, draw framerate.

(WebCore::MediaPlayerPrivate::movieNewImageAvailable): Set m_newFrameAvailable, trigger

repaint differently when drawing to a layer.

(WebCore::MediaPlayerPrivate::currentRenderingMode): New, return the current rendering mode.
(WebCore::MediaPlayerPrivate::preferredRenderingMode): New, return preferred rendering mode

(render to a layer whenever possible).

(WebCore::MediaPlayerPrivate::setUpVideoRendering): New, tear down current rendering mode

and set up new mode when necessary.

(WebCore::MediaPlayerPrivate::tearDownVideoRendering): New, noop unless rendering to a layer.
(WebCore::MediaPlayerPrivate::hasSetUpVideoRendering): New.
(WebCore::MediaPlayerPrivate::paintContents): New, callback from compositing layer when it

is time to draw the current frame.

(WebCore::MediaPlayerPrivate::createLayerForMovie): New, allocate a layer for the movie.
(WebCore::MediaPlayerPrivate::destroyLayerForMovie): New, delete movie layer.
(WebCore::MediaPlayerPrivate::supportsAcceleratedRendering): New, return true unless the

movie is not ready to render.

(WebCore::MediaPlayerPrivate::acceleratedRenderingStateChanged): New, deal with change in

accelerated rendering state.

(WebCore::MediaPlayerPrivate::notifySyncRequired): New, callback from compositing layer

when it wants to schedule a redraw.

  • platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h: (WebCore::MediaPlayerPrivate::notifyAnimationStarted): (WebCore::MediaPlayerPrivate::showDebugBorders): (WebCore::MediaPlayerPrivate::showRepaintCounter):
  • platform/graphics/win/QTMovieWin.cpp: (QTMovieWin::getCurrentFrameInfo):

New, return information about the offscreen render buffer.

(QTMovieWin::initializeQuickTime):

  • platform/graphics/win/QTMovieWin.h:
12:33 PM Changeset in webkit [53710] by jorlow@chromium.org
  • 12 edits in trunk

2010-01-21 Jeremy Orlow <jorlow@chromium.org>

Reviewed by Darin Fisher.

The Chromium WebKit API needs to expose storage event related data
https://bugs.webkit.org/show_bug.cgi?id=33985

setItem and removeItem on WebStorageArea need to expose what the previous
value was for the key being modified. Clear needs to return whether it
actually cleared anything.

  • public/WebStorageArea.h: (WebKit::WebStorageArea::setItem): (WebKit::WebStorageArea::removeItem): (WebKit::WebStorageArea::clear):
  • src/StorageAreaProxy.cpp: (WebCore::StorageAreaProxy::StorageAreaProxy): (WebCore::StorageAreaProxy::setItem): (WebCore::StorageAreaProxy::removeItem): (WebCore::StorageAreaProxy::clear): (WebCore::StorageAreaProxy::storageEvent):
  • src/StorageAreaProxy.h:
  • src/StorageNamespaceProxy.cpp: (WebCore::StorageNamespace::localStorageNamespace): (WebCore::StorageNamespace::sessionStorageNamespace): (WebCore::StorageNamespaceProxy::StorageNamespaceProxy): (WebCore::StorageNamespaceProxy::copy): (WebCore::StorageNamespaceProxy::storageArea):
  • src/StorageNamespaceProxy.h:
  • src/WebStorageAreaImpl.cpp: (WebKit::WebStorageAreaImpl::setItem): (WebKit::WebStorageAreaImpl::removeItem): (WebKit::WebStorageAreaImpl::clear):
  • src/WebStorageAreaImpl.h:

2010-01-21 Jeremy Orlow <jorlow@chromium.org>

Reviewed by Darin Fisher.

The Chromium WebKit API needs to expose storage event related data
https://bugs.webkit.org/show_bug.cgi?id=33985

This change is not visible to layoutTests/web pages.

  • storage/StorageArea.h:
  • storage/StorageAreaImpl.cpp: (WebCore::StorageAreaImpl::setItem): return the old value (WebCore::StorageAreaImpl::removeItem): return the old value (WebCore::StorageAreaImpl::clear): return whether there was anything to clear
  • storage/StorageAreaImpl.h:
12:06 PM Changeset in webkit [53709] by adele@apple.com
  • 3 edits
    2 adds in trunk

An element that doesn't validate and an invalid element shouldn't share style
https://bugs.webkit.org/show_bug.cgi?id=34010

Reviewed by Dan Bernstein.

Test: fast/css/pseudo-invalid-novalidate-001.html

  • css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::canShareStyleWithElement): Separate the check for willValidate from the check for isValidFormControlElement.
  • html/HTMLFormControlElement.h: The validity method doesn't need to be virtual.
11:49 AM Changeset in webkit [53708] by sfalken@apple.com
  • 2 edits in trunk/WebCore

Crash in fast/dom/Window/window-properties if Geolocation enabled
https://bugs.webkit.org/show_bug.cgi?id=34013

Reviewed by Dan Bernstein.

Add null check to fix Geolocation crash in fast/dom/Window/window-properties.

  • page/Geolocation.cpp:

(WebCore::createGeoposition):

11:13 AM Changeset in webkit [53707] by enrica@apple.com
  • 3 edits in trunk/LayoutTests

Fix for the failing test on qt buildbot.
This tests had been added as part of the patch for https://bugs.webkit.org/show_bug.cgi?id=33970

Reviewed by Adele Peterson.

  • editing/pasteboard/paste-noscript-svg-expected.txt:
  • editing/resources/svgcontent.xhtml:
11:09 AM Changeset in webkit [53706] by eric@webkit.org
  • 2 edits
    5 adds in trunk

2010-01-22 Kent Hansen <kent.hansen@nokia.com>

Reviewed by Darin Adler.

Object.getOwnPropertyDescriptor(window) returns descriptors for properties in the prototype chain
https://bugs.webkit.org/show_bug.cgi?id=33948

Even though prototype properties are proxied by JSDOMWindow::getOwnPropertySlot(),
that proxying should not be performed by JSDOMWindow::getOwnPropertyDescriptor().

This makes getOwnPropertyDescriptor() consistent with getOwnPropertyNames().

Test: fast/dom/Window/window-property-descriptors.html

  • bindings/js/JSDOMWindowCustom.cpp: (WebCore::JSDOMWindow::getOwnPropertyDescriptor):
10:44 AM Changeset in webkit [53705] by darin@chromium.org
  • 4 edits in trunk/WebKit/chromium

2010-01-21 Darin Fisher <darin@chromium.org>

Reviewed by David Levin.

[Chromium] spurious WebViewClient::didStopLoading if changing
location.hash while a subframe is still loading

https://bugs.webkit.org/show_bug.cgi?id=33884

This is a refinement of http://trac.webkit.org/changeset/51548

  • src/FrameLoaderClientImpl.cpp: (WebKit::FrameLoaderClientImpl::dispatchDidChangeLocationWithinPage): (WebKit::FrameLoaderClientImpl::postProgressStartedNotification): (WebKit::FrameLoaderClientImpl::postProgressFinishedNotification):
  • src/WebViewImpl.cpp: (WebKit::WebViewImpl::WebViewImpl): (WebKit::WebViewImpl::didStartLoading): (WebKit::WebViewImpl::didStopLoading):
  • src/WebViewImpl.h:
10:31 AM Changeset in webkit [53704] by Adam Roben
  • 1 edit
    1 add in trunk/LayoutTests

Check in expected failure results for text-zoom.xhtml on Windows

Fixing this test is covered by <http://webkit.org/b/34006>.

Rubber-stamped by Dan Bernstein.

  • platform/win/svg/custom/text-zoom-expected.txt: Added.
9:01 AM Changeset in webkit [53703] by Girish Ramakrishnan
  • 6 edits in trunk

[Qt] Save the QWebPageClient instead of the ownerWidget in QtAbstractWebPopup

Reviewed by Simon Hausmann.

The QWebPageClient is required for the QtFallbackWebPopup. QtFallbackWebPopup will
need it to create a QGraphicsProxyWidget (in a future commit) for the
QGraphicsWebView's web popup.

8:11 AM Changeset in webkit [53702] by Csaba Osztrogonác
  • 2 edits in trunk/LayoutTests

[Qt] http/tests/misc/slow-loading-mask.html timed out.
https://bugs.webkit.org/show_bug.cgi?id=34004

  • platform/qt/Skipped: http/tests/misc/slow-loading-mask.html skipped.
6:28 AM Changeset in webkit [53701] by hamaji@chromium.org
  • 1 edit
    10 moves
    3 adds
    24 deletes in trunk/LayoutTests

2010-01-22 Shinichiro Hamaji <hamaji@chromium.org>

Reviewed by Darin Adler.

incorrect results for css2.1 layout tests that use setTimeout in body onload event
https://bugs.webkit.org/show_bug.cgi?id=17557

  • css2.1/README.txt: Added.
  • css2.1/t1204-increment-00-c-o.html-disabled: Renamed from LayoutTests/css2.1/t1204-increment-00-c-o.html.
  • css2.1/t1204-increment-01-c-o.html-disabled: Renamed from LayoutTests/css2.1/t1204-increment-01-c-o.html.
  • css2.1/t1204-increment-02-c-o.html-disabled: Renamed from LayoutTests/css2.1/t1204-increment-02-c-o.html.
  • css2.1/t1204-reset-00-c-o.html-disabled: Renamed from LayoutTests/css2.1/t1204-reset-00-c-o.html.
  • css2.1/t1204-reset-01-c-o.html-disabled: Renamed from LayoutTests/css2.1/t1204-reset-01-c-o.html.
  • css2.1/t1204-reset-02-c-o.html-disabled: Renamed from LayoutTests/css2.1/t1204-reset-02-c-o.html.
  • fast/css/counters/counter-increment-000-expected.txt: Renamed from LayoutTests/fast/css/counters/t1204-increment-00-c-o-expected.txt.
  • fast/css/counters/counter-increment-000.html: Renamed from LayoutTests/fast/css/counters/t1204-increment-00-c-o.html.
  • fast/css/counters/counter-increment-001-expected.txt: Renamed from LayoutTests/fast/css/counters/t1204-increment-01-c-o-expected.txt.
  • fast/css/counters/counter-increment-001.html: Renamed from LayoutTests/fast/css/counters/t1204-increment-01-c-o.html.
  • fast/css/counters/counter-reset-001-expected.txt: Added.
  • fast/css/counters/counter-reset-001.html: Added.
  • platform/mac/css2.1/t1204-increment-00-c-o-expected.checksum: Removed.
  • platform/mac/css2.1/t1204-increment-00-c-o-expected.png: Removed.
  • platform/mac/css2.1/t1204-increment-00-c-o-expected.txt: Removed.
  • platform/mac/css2.1/t1204-increment-01-c-o-expected.checksum: Removed.
  • platform/mac/css2.1/t1204-increment-01-c-o-expected.png: Removed.
  • platform/mac/css2.1/t1204-increment-01-c-o-expected.txt: Removed.
  • platform/mac/css2.1/t1204-increment-02-c-o-expected.checksum: Removed.
  • platform/mac/css2.1/t1204-increment-02-c-o-expected.png: Removed.
  • platform/mac/css2.1/t1204-increment-02-c-o-expected.txt: Removed.
  • platform/mac/css2.1/t1204-reset-00-c-o-expected.checksum: Removed.
  • platform/mac/css2.1/t1204-reset-00-c-o-expected.png: Removed.
  • platform/mac/css2.1/t1204-reset-00-c-o-expected.txt: Removed.
  • platform/mac/css2.1/t1204-reset-01-c-o-expected.checksum: Removed.
  • platform/mac/css2.1/t1204-reset-01-c-o-expected.png: Removed.
  • platform/mac/css2.1/t1204-reset-01-c-o-expected.txt: Removed.
  • platform/mac/css2.1/t1204-reset-02-c-o-expected.checksum: Removed.
  • platform/mac/css2.1/t1204-reset-02-c-o-expected.png: Removed.
  • platform/mac/css2.1/t1204-reset-02-c-o-expected.txt: Removed.
  • platform/qt/css2.1/t1204-increment-00-c-o-expected.txt: Removed.
  • platform/qt/css2.1/t1204-increment-01-c-o-expected.txt: Removed.
  • platform/qt/css2.1/t1204-increment-02-c-o-expected.txt: Removed.
  • platform/qt/css2.1/t1204-reset-00-c-o-expected.txt: Removed.
  • platform/qt/css2.1/t1204-reset-01-c-o-expected.txt: Removed.
  • platform/qt/css2.1/t1204-reset-02-c-o-expected.txt: Removed.
6:13 AM Changeset in webkit [53700] by hamaji@chromium.org
  • 2 edits in trunk/BugsSite

2010-01-22 Janusz Lewandowski <lew21@xtreeme.org>

Reviewed by Maciej Stachowiak.

run-webkit-tests fails on Ruby 1.9
https://bugs.webkit.org/show_bug.cgi?id=33554
inject does not work with strings any more, so BugsSite/PrettyPatch/PrettyPatch.rb prints lots of errors.

  • PrettyPatch/PrettyPatch.rb:
5:42 AM Changeset in webkit [53699] by Simon Hausmann
  • 2 edits in trunk/WebCore

Unreviewed Qt "build" fix.

  • WebCore.pro: Fix warning about missing header file that isn't present anymore.
5:34 AM Changeset in webkit [53698] by Girish Ramakrishnan
  • 2 edits in trunk/WebKit/qt

QState::polished() was renamed to QState::propertiesAssigned() when
Qt 4.6.0 was released.

Reviewed by Kenneth Rohde Christiansen.

4:56 AM Changeset in webkit [53697] by Csaba Osztrogonác
  • 2 edits in trunk/LayoutTests

[Qt] Skip test introduced in r53684 because of missing eventSender.textZoomIn()

  • platform/qt/Skipped: svg/custom/text-zoom.xhtml skipped.
4:52 AM Changeset in webkit [53696] by yurys@chromium.org
  • 10 edits in trunk/WebCore

2010-01-22 Brian Weinstein <bweinstein@apple.com>

Reviewed by Timothy Hatcher.

Web Inspector: Caught exceptions still pause the debugger.
<https://bugs.webkit.org/show_bug.cgi?id=28622>.

Turn the pauseOnExceptions variable from a bool to an int, because we now have
3 states, in an enum: DontPauseOnExceptions, PauseOnAllExceptions, and
PauseOnUncaughtExceptions. The status button for pausing on exceptions is now
a tri-state button, which cycles from Don't pause (no background) to Pause on All
(blue background) to Pause on Uncaught (purple background).

Also added the ability for a status button to have more than 2 states, and added
style rules for a CSS three state button.

Added a manual test, manual-tests/debugger-caught-uncaught-exceptions.html, that
generates caught and uncaught exceptions.

  • English.lproj/localizedStrings.js: Added updated Action / Click to Action text.
  • inspector/InspectorBackend.cpp: (WebCore::InspectorBackend::pauseOnExceptions): Changed from a bool to an int. (WebCore::InspectorBackend::setPauseOnExceptions): Ditto.
  • inspector/InspectorBackend.h: Ditto.
  • inspector/InspectorBackend.idl: Ditto.
  • inspector/JavaScriptDebugServer.cpp: (WebCore::JavaScriptDebugServer::JavaScriptDebugServer): Changed from bool to PauseOnExceptionsState. (WebCore::JavaScriptDebugServer::setPauseOnExceptions): Ditto. (WebCore::JavaScriptDebugServer::exception): Updated logic to see if we are breaking

on uncaught exceptions, and check if we have a handler.

  • inspector/JavaScriptDebugServer.h: (WebCore::JavaScriptDebugServer::): Changed from bool to PauseOnExceptionsState. (WebCore::JavaScriptDebugServer::pauseOnExceptions): Ditto.
  • inspector/front-end/InspectorBackendStub.js: (.WebInspector.InspectorBackendStub.prototype.pauseOnExceptionsState): Changed from returning false to returning 0 (stub function).
  • inspector/front-end/ScriptsPanel.js: (WebInspector.ScriptsPanel): (WebInspector.ScriptsPanel.prototype._updatePauseOnExceptionsButton): Updated to new text/new cycling of variables. (WebInspector.ScriptsPanel.prototype._togglePauseOnExceptions): Updated to new text/new cycling of variables.
  • inspector/front-end/StatusBarButton.js: (WebInspector.StatusBarButton): Added the option for a different number of states. (WebInspector.StatusBarButton.prototype.set toggled): Added rules to toggle on/off with multiple states.
  • inspector/front-end/inspector.css: Added rules for toggled-1 and toggled-2.
  • manual-tests/debugger-caught-uncaught-exceptions.html: Added.
4:30 AM Changeset in webkit [53695] by eric@webkit.org
  • 4 edits
    2 adds in trunk/WebCore

2010-01-22 Ben Murdoch <benm@google.com>

Reviewed by Eric Seidel.

[Android] Android platform specific PlatformTouchEvent and PlatformTouchPoint implementations are not upstream.
https://bugs.webkit.org/show_bug.cgi?id=33719

Add the Android specific files and update the Android makefile.

No new tests as this is all Android-specific code.

  • Android.mk: Add Touch event related files to the makefile.
  • platform/PlatformTouchEvent.h: Add Android constructor.
  • platform/PlatformTouchPoint.h: Ditto.
  • platform/android/PlatformTouchEventAndroid.cpp: Added. (WebCore::PlatformTouchEvent::PlatformTouchEvent): Android implementation.
  • platform/android/PlatformTouchPointAndroid.cpp: Added. (WebCore::PlatformTouchPoint::PlatformTouchPoint): Android implementation.
4:23 AM QtWebKitBackportingFixes edited by Girish Ramakrishnan
(diff)
4:04 AM Changeset in webkit [53694] by Csaba Osztrogonác
  • 2 edits in trunk/LayoutTests

Unreviewed trivial fix.

[Qt] css1_forward_compatible_parsing.html moved from css2.1 to fast/css by r53664.

  • platform/qt/Skipped: path fixed.
4:01 AM Changeset in webkit [53693] by eric@webkit.org
  • 6 edits in trunk/WebCore

2010-01-22 Benjamin Poulain <benjamin.poulain@nokia.com>

Reviewed by Kenneth Rohde Christiansen.

Do not render the full frame when there is some elements with fixed positioning
https://bugs.webkit.org/show_bug.cgi?id=33150

The RenderObjects with fixed position register to the view
to be taken into account while scrolling.
The scrolling code update specifically those elements after blitting the pixels.

  • page/FrameView.cpp: (WebCore::FrameView::registerFixedPositionedObject): (WebCore::FrameView::unregisterFixedPositionedObject): (WebCore::FrameView::scrollContentsFastPath):
  • page/FrameView.h:
  • platform/ScrollView.cpp: (WebCore::ScrollView::scrollContents): (WebCore::ScrollView::scrollContentsFastPath):
  • platform/ScrollView.h:
  • rendering/RenderObject.cpp: (WebCore::RenderObject::styleWillChange): (WebCore::RenderObject::destroy):
3:57 AM Changeset in webkit [53692] by ukai@chromium.org
  • 1 edit
    2 copies
    1 move
    6 adds
    2 deletes in trunk/LayoutTests

2010-01-22 Fumitoshi Ukai <ukai@chromium.org>

Reviewed by Maciej Stachowiak.

Split websocket/tests/bad-sub-protocol.html
https://bugs.webkit.org/show_bug.cgi?id=33646

  • websocket/tests/bad-sub-protocol-control-chars-expected.txt: Added.
  • websocket/tests/bad-sub-protocol-control-chars.html: Added.
  • websocket/tests/bad-sub-protocol-empty-expected.txt: Added.
  • websocket/tests/bad-sub-protocol-empty.html: Added.
  • websocket/tests/bad-sub-protocol-expected.txt: Removed.
  • websocket/tests/bad-sub-protocol-non-ascii-expected.txt: Added.
  • websocket/tests/bad-sub-protocol-non-ascii.html: Added.
  • websocket/tests/bad-sub-protocol.html: Removed.
  • websocket/tests/script-tests/bad-sub-protocol-control-chars.js: Added.
  • websocket/tests/script-tests/bad-sub-protocol-empty.js: Added.
  • websocket/tests/script-tests/bad-sub-protocol-non-ascii.js: Added.
  • websocket/tests/script-tests/bad-sub-protocol.js: Removed.
2:48 AM Changeset in webkit [53691] by eric@webkit.org
  • 4 edits
    2 adds
    3 deletes in trunk

2010-01-22 Kent Tamura <tkent@chromium.org>

Reviewed by Maciej Stachowiak.

Improve portability of listbox-deselect-scroll.html
https://bugs.webkit.org/show_bug.cgi?id=33989

  • Convert the test to dumpAsTest
  • Use eventSender.mouseDown(0, addSelectionKey?)
  • Avoid hard-coded line-heights.
  • fast/forms/listbox-deselect-scroll-expected.txt: Added.
  • fast/forms/listbox-deselect-scroll.html:
  • fast/forms/script-tests/listbox-deselect-scroll.js: Added.
  • platform/mac/fast/forms/listbox-deselect-scroll-expected.checksum: Removed.
  • platform/mac/fast/forms/listbox-deselect-scroll-expected.png: Removed.
  • platform/mac/fast/forms/listbox-deselect-scroll-expected.txt: Removed.

2010-01-22 Kent Tamura <tkent@chromium.org>

Reviewed by Maciej Stachowiak.

Fix a bug that mouseDown:withModifiers: is never called.
https://bugs.webkit.org/show_bug.cgi?id=33989

  • DumpRenderTree/mac/EventSendingController.mm: (+[EventSendingController isSelectorExcludedFromWebScript:]): (+[EventSendingController webScriptNameForSelector:]):
2:26 AM Changeset in webkit [53690] by eric@webkit.org
  • 6 edits
    2 adds in trunk/WebCore

2010-01-22 Anton Muhin <antonm@chromium.org>

Reviewed by Eric Seidel.

Adding ScriptWrappable into WebCore.
This allows to associate custom information when Node
gets wrapped into JavaScript wrapper.

[v8, dom] Add a pointer field to C++ Node class
https://bugs.webkit.org/show_bug.cgi?id=32430

  • WebCore.gypi:
  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/ScriptWrappable.h: Added. (WebCore::ScriptWrappable::ScriptWrappable):
  • bindings/v8/ScriptWrappable.h: Added. (WebCore::ScriptWrappable::ScriptWrappable): (WebCore::ScriptWrappable::wrapper): (WebCore::ScriptWrappable::setWrapper): (WebCore::ScriptWrappable::clearWrapper):
  • dom/Node.h:
1:42 AM Changeset in webkit [53689] by yurys@chromium.org
  • 2 edits in trunk/WebCore

emikhatsky <yurys@chromium.org>

Reviewed by Pavel Feldman.

Add stub implementation of dispatchOnInjectedScript method so that
Chromium source can compile against it and the main fix for the bug
28622 can be landed without breaking Chromium build.

https://bugs.webkit.org/show_bug.cgi?id=28622

  • inspector/InspectorBackend.h: (WebCore::InspectorBackend::dispatchOnInjectedScript):
1:19 AM Changeset in webkit [53688] by eric@webkit.org
  • 2 edits in trunk/WebCore

2010-01-22 Kwang Yul Seo <skyul@company100.net>

Reviewed by Dmitry Titov.

ENABLE(DATABASE) guard is missing in ScriptExecutionContext::~ScriptExecutionContext
https://bugs.webkit.org/show_bug.cgi?id=33990

Add missing ENABLE(DATABASE) guard.

  • dom/ScriptExecutionContext.cpp: (WebCore::ScriptExecutionContext::~ScriptExecutionContext):
1:17 AM Changeset in webkit [53687] by kenneth@webkit.org
  • 3 edits
    2 adds in trunk/WebKitTools

[Qt] Separate out the WebPage class into it's own
cpp/header files. Also, removed the assumption that
the view is a QWebView, in preparation of a merger
of the two Qt WebKit launchers.

Rubberstamped by Antti Koivisto.

  • QtLauncher/QtLauncher.pro:
  • QtLauncher/main.cpp:

(WebView::mousePressEvent):

  • QtLauncher/webpage.cpp: Added.

(WebPage::supportsExtension):
(WebPage::extension):
(WebPage::acceptNavigationRequest):
(WebPage::openUrlInDefaultBrowser):

  • QtLauncher/webpage.h: Added.

(WebPage::WebPage):

12:42 AM Changeset in webkit [53686] by xan@webkit.org
  • 2 edits in trunk/WebCore

2010-01-22 Xan Lopez <xlopez@igalia.com>

Reviewed by Gustavo Noronha.

[GTK] GObject DOM bindings
https://bugs.webkit.org/show_bug.cgi?id=33590

  • bindings/scripts/generate-bindings.pl:
12:42 AM Changeset in webkit [53685] by xan@webkit.org
  • 2 edits in trunk/WebCore

2010-01-22 Xan Lopez <xlopez@igalia.com>

Reviewed by Gustavo Noronha.

[GTK] GObject DOM bindings
https://bugs.webkit.org/show_bug.cgi?id=33590

Rename FEATURE_DEFINES_JAVASCRIPT to FEATURE_DEFINES and remove
the hardcoded LANGUAGE_JAVASCRIPT=1, in preparation for its use by
the GObject DOM bindings.

  • GNUmakefile.am:
12:20 AM Changeset in webkit [53684] by mitz@apple.com
  • 4 edits
    4 adds in trunk

<rdar://problem/7568696> Zoom applied to embedded SVG incorrectly
https://bugs.webkit.org/show_bug.cgi?id=33988

Reviewed by Darin Adler.

WebCore:

Test: svg/custom/text-zoom.xhtml

  • svg/SVGSVGElement.cpp:

(WebCore::SVGSVGElement::SVGSVGElement): Initialize m_scale.
(WebCore::SVGSVGElement::currentScale): If this is the document element,
return the frame’s zoom factor. Otherwise, return m_scale.
(WebCore::SVGSVGElement::setCurrentScale): If this is the document element,
set the frame’s zoom factor. Otherwise, set m_scale and mark for layout.

  • svg/SVGSVGElement.h: Added m_scale member.

LayoutTests:

  • svg/custom/text-zoom-expected.checksum: Added.
  • svg/custom/text-zoom-expected.png: Added.
  • svg/custom/text-zoom-expected.txt: Added.
  • svg/custom/text-zoom.xhtml: Added.

Jan 21, 2010:

11:48 PM Changeset in webkit [53683] by abarth@webkit.org
  • 2 edits in trunk/WebKit/chromium

2010-01-21 Adam Barth <abarth@webkit.org>

Unreviewed. Added a blank line requested by the great an powerful
fishd.

  • public/WebFrameClient.h:
11:36 PM Changeset in webkit [53682] by eric@webkit.org
  • 2 edits in trunk/JavaScriptCore

2010-01-21 Kwang Yul Seo <skyul@company100.net>

Reviewed by Alexey Proskuryakov.

Add ThreadSpecific for ENABLE(SINGLE_THREADED)
https://bugs.webkit.org/show_bug.cgi?id=33878

Implement ThreadSpecific with a simple getter/setter
when ENABLE(SINGLE_THREADED) is true.

Due to the change in https://bugs.webkit.org/show_bug.cgi?id=33236,
an implementation of ThreadSpecific must be available to build WebKit.
This causes a build failure for platforms without a proper
ThreadSpecific implementation.

  • wtf/ThreadSpecific.h: (WTF::::ThreadSpecific): (WTF::::~ThreadSpecific): (WTF::::get): (WTF::::set): (WTF::::destroy):
11:11 PM Changeset in webkit [53681] by eric@webkit.org
  • 7 edits in trunk

2010-01-21 Adam Barth <abarth@webkit.org>

Reviewed by Eric Seidel.

[chromium] Add allowPlugins callback to allow per-site enabling of plugins
https://bugs.webkit.org/show_bug.cgi?id=33974

Add a callback into the FrameLoaderClient to let the embedder enable or
disable plugins on a per-site basis.

  • loader/FrameLoader.cpp: (WebCore::FrameLoader::requestObject):
  • loader/FrameLoaderClient.h: (WebCore::FrameLoaderClient::allowPlugins):

2010-01-21 Adam Barth <abarth@webkit.org>

Reviewed by Eric Seidel.

[chromium] Add allowPlugins callback to allow per-site enabling of plugins
https://bugs.webkit.org/show_bug.cgi?id=33974

Forward the new allowPlugins callback to WebKitClient so that it can
make the policy decision.

  • public/WebFrameClient.h: (WebKit::WebFrameClient::allowPlugins):
  • src/FrameLoaderClientImpl.cpp: (WebKit::FrameLoaderClientImpl::allowJavaScript): (WebKit::FrameLoaderClientImpl::allowPlugins):
  • src/FrameLoaderClientImpl.h:
10:58 PM CommitterTips edited by Chris Jerdonek
Fixed manual numbering from previous change. (diff)
10:53 PM CommitterTips edited by Chris Jerdonek
Corrected information about username/password prompting. (diff)
10:53 PM Changeset in webkit [53680] by eric@webkit.org
  • 3 edits
    2 adds in trunk

2010-01-21 Tony Chang <tony@chromium.org>

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=25501
Remove empty font tags when applying a style to a content editable
region.

  • editing/execCommand/change-font.html: Added.
  • editing/execCommand/change-font-expected.txt: Added.

2010-01-21 Tony Chang <tony@chromium.org>

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=25501
Remove empty font tags when applying a style to a content editable
region.

Test: editing/execCommand/change-font.html

  • editing/ApplyStyleCommand.cpp: (WebCore::isEmptyFontTag):
10:37 PM Changeset in webkit [53679] by Chris Jerdonek
  • 2 edits
    3 adds in trunk/WebKitSite

Added screenshots and clearer instructions on how to submit
a patch for review.

Reviewed by David Levin.

https://bugs.webkit.org/show_bug.cgi?id=32542

Also added that a bug report should be selected or created
prior to submitting a patch.

  • coding/contributing.html:
  • coding/images: Added.
  • coding/images/contribute_add_attachment.png: Added.
  • coding/images/contribute_mark_review.png: Added.
10:21 PM Changeset in webkit [53678] by eric@webkit.org
  • 2 edits in trunk/WebKit/chromium

2010-01-21 James Robinson <jamesr@chromium.org>

Reviewed by Darin Fisher.

Bumps the refcount when WebNode::toElement/toConstElement are called.
https://bugs.webkit.org/show_bug.cgi?id=33977

Ensures that when a wrapper around a WebNode is create via the
toElement() or toConstElement() calls that the refcount on the WebNode
is increased, by forcing a call to WebNode::assign(). This is needed
so that the following code:
{

WebNode n = someNode();
WebElement e = n.toElement<WebElement>();

}
does not decrease the overall refcount on the Node that someNode()
returns.

This caused crashes in the 'Save page as..' feature.

  • public/WebNode.h: (WebKit::WebNode::toElement): (WebKit::WebNode::toConstElement):
10:05 PM Changeset in webkit [53677] by eric@webkit.org
  • 3 edits in trunk/JavaScriptCore

2010-01-21 Kwang Yul Seo <skyul@company100.net>

Reviewed by Maciej Stachowiak.

Add fastStrDup to FastMalloc
https://bugs.webkit.org/show_bug.cgi?id=33937

The new string returned by fastStrDup is obtained with fastMalloc,
and can be freed with fastFree. This makes the memory management
more consistent because we don't need to keep strdup allocated pointers
and free them with free(). Instead we can use fastFree everywhere.

  • wtf/FastMalloc.cpp: (WTF::fastStrDup):
  • wtf/FastMalloc.h:
10:01 PM Changeset in webkit [53676] by ukai@chromium.org
  • 1 edit
    3 copies
    1 delete in trunk/LayoutTests

2010-01-21 Fumitoshi Ukai <ukai@chromium.org>

Reviewed by Shinichiro Hamaji.

Move fast/websockets into websocket/tests
https://bugs.webkit.org/show_bug.cgi?id=32258

  • fast/websockets: Removed.
  • websocket/tests/script-tests/websocket-event-target.js: Copied from LayoutTests/fast/websockets/script-tests/websocket-event-target.js.
  • websocket/tests/websocket-event-target-expected.txt: Copied from LayoutTests/fast/websockets/websocket-event-target-expected.txt.
  • websocket/tests/websocket-event-target.html: Copied from LayoutTests/fast/websockets/websocket-event-target.html.
9:39 PM Changeset in webkit [53675] by eric@webkit.org
  • 8 edits in trunk/WebKitTools

2010-01-21 Chris Jerdonek <Chris Jerdonek>

Reviewed by Shinichiro Hamaji.

Refactored to move file name and file-reading related code
from cpp_style.py and text_style.py to checker.py.

https://bugs.webkit.org/show_bug.cgi?id=33775

  • Scripts/check-webkit-style:
    • Updates caused by changes to checker.py.
  • Scripts/webkitpy/style/checker.py:
    • Added SKIPPED_FILES_WITH_WARNING list.
    • Added SKIPPED_FILES_WITHOUT_WARNING list.
    • Added FileType class.
    • Added ProcessorDispatcher class.
    • In StyleChecker class:
      • Renamed process_patch() to check_patch().
      • Renamed process_file() to check_file().
      • Added _process_file().
      • Related refactoring.
      • Addressed check_patch() FIXME to share code with process_file().
  • Scripts/webkitpy/style/checker_unittest.py:
    • Added ProcessorDispatcherSkipTest class.
    • Added ProcessorDispatcherDispatchTest class.
    • Added StyleCheckerCheckFileTest class.
  • Scripts/webkitpy/style/cpp_style.py:
    • Renamed process_file_data() to _process_lines.
    • Removed process_file() (moved logic to checker.py).
    • Removed can_handle() (moved logic to checker.py).
    • Added CppProcessor class.
    • Removed is_exempt() (moved logic to checker.py).
    • Added process_file_data() back as a wrapper function.
  • Scripts/webkitpy/style/cpp_style_unittest.py:
    • Removed test_can_handle().
    • Removed test_is_exempt().
    • Added CppProcessorTest class.
  • Scripts/webkitpy/style/text_style.py:
    • Added TextProcessor class.
    • Removed process_file().
    • Removed can_handle().
  • Scripts/webkitpy/style/text_style_unittest.py:
    • Removed test_can_handle().
    • Added TextProcessorTest class.
9:27 PM WikiStart edited by Chris Jerdonek
Retitled committer tips section to make it easier to see (diff)
9:23 PM Changeset in webkit [53674] by eric@webkit.org
  • 2 edits in trunk/WebCore

2010-01-21 Joe Mason <jmason@rim.com>

Reviewed by Darin Adler.

Promote pow argument to double to resolve ambiguous overload (compile fix for RVCT 4.0)
https://bugs.webkit.org/show_bug.cgi?id=33952

  • platform/graphics/filters/FEComponentTransfer.cpp: (WebCore::gamma):
9:11 PM CommitterTips edited by Chris Jerdonek
Added first draft of "Walking you through your first commit" (diff)
9:06 PM Changeset in webkit [53673] by eric@webkit.org
  • 3 edits in trunk/WebCore

2010-01-21 Andrei Popescu <andreip@google.com>

Reviewed by David Levin.

[Android] bindings/v8/ScriptController.cpp needs to include
PlatformBridge.h instead of ChromiumBridge.h so that it can
be used on both Chromium and Android.
https://bugs.webkit.org/show_bug.cgi?id=33673

Add "static NPObject* pluginScriptableObject(Widget*);" method
to PlatformBridge.h
Include PlatformBridge.h from ScriptController.cpp.

No new tests, just platform code.

  • bindings/v8/ScriptController.cpp: (WebCore::ScriptController::createScriptInstanceForWidget):
  • platform/android/PlatformBridge.h:
8:22 PM Changeset in webkit [53672] by beidson@apple.com
  • 10 edits in trunk

history.back() for same-document history traversals isn't synchronous as the specification states.
<rdar://problem/7535011> and https://bugs.webkit.org/show_bug.cgi?id=33538

Reviewed by Maciej Stachowiak.

JavaScriptCore:

  • wtf/Platform.h: Add a "HISTORY_ALWAYS_ASYNC" enable and turn it on for Chromium.

WebCore:

In resolving https://bugs.webkit.org/show_bug.cgi?id=25570, all history.back()/forward()/go() navigations
were made asynchronous. That doesn't agree with the HTML5 spec and might have been overreaching for fixing
that particular bug. In working with the new history state APIs I noticed some things that should've been
possible were not possible because of this change.

The change in loading behavior is well covered via modifications to previous tests.

  • loader/RedirectScheduler.cpp:

(WebCore::RedirectScheduler::scheduleHistoryNavigation): Determine beforehand if the traversal is

a same-document navigation. If it is, perform the load directly instead of scheduling it.

LayoutTests:

The change in loading behavior is well covered via modifications to these previous tests:

  • fast/loader/stateobjects/document-destroyed-navigate-back-with-fragment-scroll.html:
  • fast/loader/stateobjects/pushstate-with-fragment-urls-and-hashchange-expected.txt:
  • fast/loader/stateobjects/pushstate-with-fragment-urls-and-hashchange.html:
  • fast/loader/stateobjects/state-api-on-detached-frame-crash-expected.txt:
  • fast/loader/stateobjects/state-api-on-detached-frame-crash.html:
8:21 PM Changeset in webkit [53671] by eric@webkit.org
  • 6 edits
    1 add in trunk/WebKit/chromium

2010-01-21 Michael Nordman <Michael Nordman>

Reviewed by Darin Fisher.

Adds WebKit::WebDataSource::applicationCacheHost() to the API.
https://bugs.webkit.org/show_bug.cgi?id=33880

  • WebKit.gyp:
  • public/WebDataSource.h:
  • src/ApplicationCacheHost.cpp:
  • src/ApplicationCacheHostInternal.h: Copied from WebKit/chromium/src/ApplicationCacheHost.cpp. (WebCore::ApplicationCacheHostInternal::notifyEventListener): (WebCore::ApplicationCacheHostInternal::toWebApplicationCacheHost):
  • src/WebDataSourceImpl.cpp: (WebKit::WebDataSourceImpl::applicationCacheHost):
  • src/WebDataSourceImpl.h:
8:04 PM Changeset in webkit [53670] by eric@webkit.org
  • 2 edits in trunk/WebCore

2010-01-21 Jakub Wieczorek <faw217@gmail.com>

Reviewed by Tor Arne Vestbø.

[Qt] Don't allow Phonon's invisible video widget to keep the app running.
https://bugs.webkit.org/show_bug.cgi?id=33842

The change made in r38223 should not be limited to Qt < 4.5 only.

  • platform/graphics/qt/MediaPlayerPrivatePhonon.cpp: (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
7:29 PM Changeset in webkit [53669] by tkent@chromium.org
  • 7 edits in trunk

2010-01-21 Kent Tamura <tkent@chromium.org>

Reviewed by Darin Adler.

HTMLInputElement::valueAsDate setter support for type=datetime.
https://bugs.webkit.org/show_bug.cgi?id=33939

Add setter tests to input-valueasdate-datetime.js, and update the
expectation.

Note: the expectation file contains some FAIL lines. They are
intentional because they test a unimplemented feature.

  • fast/forms/input-valueasdate-datetime-expected.txt:
  • fast/forms/script-tests/input-valueasdate-datetime.js:

2010-01-21 Kent Tamura <tkent@chromium.org>

Reviewed by Darin Adler.

HTMLInputElement::valueAsDate setter support for type=datetime.
https://bugs.webkit.org/show_bug.cgi?id=33939

Introduce ISODateTime::setMillisecondsSinceEpochForDateTime() and add
DateTime type support to ISODateTime::toString().

  • html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::setValueAsDate):
  • html/ISODateTime.cpp: (WebCore::ISODateTime::setMillisecondsSinceEpochForDate): Set Invalid to m_type. (WebCore::ISODateTime::setMillisecondsSinceEpochForDateTime): (WebCore::ISODateTime::setMillisecondsSinceEpochForMonth): Set Invalid to m_type. (WebCore::ISODateTime::setMillisecondsSinceMidnight): Set Invalid to m_type. (WebCore::ISODateTime::toString): Support DateTime type. This always produces UTC representation.
  • html/ISODateTime.h:
7:25 PM Changeset in webkit [53668] by ggaren@apple.com
  • 2 edits in trunk/WebCore

2010-01-21 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.

Fixed <rdar://problem/7562574> ASSERT in WebCore::removeWrapper() at the
end of run-webkit-tests


This was an ASSERT-only bug, introduced by isolated worlds, which
created the novelty of a wrapper that might outlive its wrapper cache.


When a wrapper outlived its wrapper cache, both the wrapper's destructor
and the wrapper cache's destructor would claim to have uncached the wrapper,
causing an ASSERT to fire.


The solution is to distinguish between operations that logically add and
remove cache entries, and operations that delete whole caches. We track
when a cache entry is logically added, and when it's logically removed,
independent of whether the actual cache still exists.

  • bindings/js/JSDOMBinding.cpp: (WebCore::willCacheWrapper): (WebCore::didUncacheWrapper): New names for these functions to help explain what they track.

(WebCore::DOMWrapperWorld::~DOMWrapperWorld): Don't claim to uncache
all the wrappers in the world; we're deleting the cache, not managing its
entries.

(WebCore::cacheDOMObjectWrapper):
(WebCore::forgetDOMObject):
(WebCore::forgetDOMNode):
(WebCore::cacheDOMNodeWrapper):
(WebCore::forgetAllDOMNodesForDocument):
(WebCore::forgetWorldOfDOMNodesForDocument):
(WebCore::takeWrappers):
(WebCore::updateDOMNodeDocument): Updated for renames.

6:48 PM QtWebKitGraphics edited by noam.rosenthal@nokia.com
(diff)
6:35 PM Changeset in webkit [53667] by Chris Jerdonek
  • 3 edits
    2 adds in trunk/WebKitTools

Create a unit-tested subroutine to parse patch files created
by svn-create-patch.

Reviewed by David Kilzer.

https://bugs.webkit.org/show_bug.cgi?id=33475

  • Scripts/VCSUtils.pm:
    • Added parseDiff().
    • Added parsePatch().
  • Scripts/webkitperl/VCSUtils_unittest/parseDiff.pl: Added.
    • Added unit tests for parseDiff().
  • Scripts/webkitperl/VCSUtils_unittest/parseDiffHeader.pl:
    • Total number of tests now computed dynamically.
  • Scripts/webkitperl/VCSUtils_unittest/parsePatch.pl: Added.
    • Added unit tests for parsePatch().
6:23 PM Changeset in webkit [53666] by Nikolas Zimmermann
  • 17 edits
    1 add
    1 delete in trunk/WebCore

2010-01-21 Nikolas Zimmermann <nzimmermann@rim.com>

Reviewed by Sam Weinig.

SVG JS bindings "context" pointer needs to move onto binding impls
https://bugs.webkit.org/show_bug.cgi?id=27243

Rewrite SVG DOM JSC bindings to use a global DOMObject <-> SVGElement context map, similar to V8's approach.
This allows us to remove DOMObjectWithSVGContext and make all SVG JS objects use DOMObjectWithGlobalPointer.
We're fitting again in JS_CELL_SIZE, and there's no need to special case SVG anymore.

Not adding a new test, as we have yet to identify how to test that we're passing around correct global objects.
For now this is just a code cleanup which lets me continue making progress in that area of the code.

  • GNUmakefile.am: Add new DOMObjectWithSVGContext.h to build.
  • WebCore.gypi: Ditto.
  • WebCore.vcproj/WebCore.vcproj: Ditto.
  • WebCore.xcodeproj/project.pbxproj: Ditto.
  • bindings/js/DOMObjectWithSVGContext.h: Removed.
  • bindings/js/JSDOMBinding.cpp: (WebCore::setDOMException): Add comment, that passing 0 context is intentional.
  • bindings/js/JSDOMBinding.h: (WebCore::createDOMObjectWrapper): Add to JSSVGContextCache, when creating wrappers. (WebCore::getDOMObjectWrapper): Add assertion guarding the JSSVGContextCache is in-sync with the passed context.
  • bindings/js/JSSVGContextCache.h: Added. Maps DOMObjects to SVGElements - just like V8 approachs to this problem. (WebCore::JSSVGContextCache::wrapperMap): (WebCore::JSSVGContextCache::addWrapper): (WebCore::JSSVGContextCache::forgetWrapper): (WebCore::JSSVGContextCache::propagateSVGDOMChange): (WebCore::JSSVGContextCache::svgContextForDOMObject):
  • bindings/js/JSSVGLengthCustom.cpp: Retrieve context from cache, instead of taking it from the JS* class. (WebCore::JSSVGLength::value): (WebCore::JSSVGLength::convertToSpecifiedUnits):
  • bindings/js/JSSVGMatrixCustom.cpp Ditto.: (WebCore::JSSVGMatrix::multiply): (WebCore::JSSVGMatrix::inverse): (WebCore::JSSVGMatrix::rotateFromVector):
  • bindings/js/JSSVGPODListCustom.h: Ditto. (WebCore::JSSVGPODListCustom::finishGetter): (WebCore::JSSVGPODListCustom::finishSetter): (WebCore::JSSVGPODListCustom::finishSetterReadOnlyResult): (WebCore::JSSVGPODListCustom::clear): (WebCore::JSSVGPODListCustom::initialize):
  • bindings/js/JSSVGPODTypeWrapper.h: Ditto. (WebCore::JSSVGDynamicPODTypeWrapper::commitChange): (WebCore::JSSVGStaticPODTypeWrapper::commitChange): (WebCore::JSSVGStaticPODTypeWrapperWithPODTypeParent::commitChange): (WebCore::JSSVGStaticPODTypeWrapperWithParent::commitChange): (WebCore::JSSVGPODTypeWrapperCreatorForList::create): (WebCore::JSSVGPODTypeWrapperCreatorForList::commitChange):
  • bindings/js/JSSVGPathSegCustom.cpp: Ditto. (WebCore::toJS):
  • bindings/js/JSSVGPathSegListCustom.cpp: Ditto. (WebCore::JSSVGPathSegList::clear): (WebCore::JSSVGPathSegList::initialize): (WebCore::JSSVGPathSegList::getItem): (WebCore::JSSVGPathSegList::insertItemBefore): (WebCore::JSSVGPathSegList::replaceItem): (WebCore::JSSVGPathSegList::removeItem): (WebCore::JSSVGPathSegList::appendItem):
  • bindings/scripts/CodeGeneratorJS.pm:
  • svg/SVGAngle.h: Remove unneeded associatedAttributeName() method.
  • svg/SVGPreserveAspectRatio.h: Ditto.
  • svg/SVGTransform.h: Ditto.
6:07 PM Changeset in webkit [53665] by kevino@webkit.org
  • 4 edits in trunk

wx build fixes, add a missing header and add a new dir to the build system.

5:40 PM Changeset in webkit [53664] by hamaji@chromium.org
  • 1 edit
    12 moves in trunk/LayoutTests

2010-01-21 Shinichiro Hamaji <hamaji@chromium.org>

Reviewed by Darin Adler.

3 tests for CSS are misplaced
https://bugs.webkit.org/show_bug.cgi?id=33942

  • css2.1/atrule_longest_match-expected.txt: Removed.
  • css2.1/atrule_longest_match.html: Removed.
  • css2.1/bogus-color-span.html: Removed.
  • css2.1/css1_forward_compatible_parsing.html: Removed.
  • fast/css/atrule_longest_match-expected.txt: Copied from LayoutTests/css2.1/atrule_longest_match-expected.txt.
  • fast/css/atrule_longest_match.html: Copied from LayoutTests/css2.1/atrule_longest_match.html.
  • fast/css/bogus-color-span.html: Copied from LayoutTests/css2.1/bogus-color-span.html.
  • fast/css/css1_forward_compatible_parsing.html: Copied from LayoutTests/css2.1/css1_forward_compatible_parsing.html.
  • platform/mac/css2.1/bogus-color-span-expected.checksum: Removed.
  • platform/mac/css2.1/bogus-color-span-expected.png: Removed.
  • platform/mac/css2.1/bogus-color-span-expected.txt: Removed.
  • platform/mac/css2.1/css1_forward_compatible_parsing-expected.checksum: Removed.
  • platform/mac/css2.1/css1_forward_compatible_parsing-expected.png: Removed.
  • platform/mac/css2.1/css1_forward_compatible_parsing-expected.txt: Removed.
  • platform/mac/fast/css/bogus-color-span-expected.checksum: Copied from LayoutTests/platform/mac/css2.1/bogus-color-span-expected.checksum.
  • platform/mac/fast/css/bogus-color-span-expected.png: Copied from LayoutTests/platform/mac/css2.1/bogus-color-span-expected.png.
  • platform/mac/fast/css/bogus-color-span-expected.txt: Copied from LayoutTests/platform/mac/css2.1/bogus-color-span-expected.txt.
  • platform/mac/fast/css/css1_forward_compatible_parsing-expected.checksum: Copied from LayoutTests/platform/mac/css2.1/css1_forward_compatible_parsing-expected.checksum.
  • platform/mac/fast/css/css1_forward_compatible_parsing-expected.png: Copied from LayoutTests/platform/mac/css2.1/css1_forward_compatible_parsing-expected.png.
  • platform/mac/fast/css/css1_forward_compatible_parsing-expected.txt: Copied from LayoutTests/platform/mac/css2.1/css1_forward_compatible_parsing-expected.txt.
  • platform/qt/css2.1/bogus-color-span-expected.txt: Removed.
  • platform/qt/css2.1/css1_forward_compatible_parsing-expected.txt: Removed.
  • platform/qt/fast/css/bogus-color-span-expected.txt: Copied from LayoutTests/platform/qt/css2.1/bogus-color-span-expected.txt.
  • platform/qt/fast/css/css1_forward_compatible_parsing-expected.txt: Copied from LayoutTests/platform/qt/css2.1/css1_forward_compatible_parsing-expected.txt.
5:28 PM Changeset in webkit [53663] by Simon Fraser
  • 5 edits
    6 adds in trunk

2010-01-21 Simon Fraser <Simon Fraser>

Reviewed by Dan Bernstein.

-webkit-mask-box-image draws a box while loading
https://bugs.webkit.org/show_bug.cgi?id=33979
<rdar://problem/7378662>

Don't render masked elements until the mask images are fully loaded.

Test: http/tests/misc/slow-loading-mask.html

  • rendering/RenderBox.cpp: (WebCore::RenderBox::paintMaskImages): Check that all mask images (both the single mask-box-image, and the possibly multiple mask-image) are fully loaded before allowing the masked content to render. If they are not fully loaded, use a fully transparent transparency layer.
  • rendering/style/FillLayer.h:
  • rendering/style/FillLayer.cpp: (WebCore::FillLayer::imagesAreLoaded): New utility function that returns true if the image in every FillLayer is loaded.
5:20 PM Changeset in webkit [53662] by Beth Dakin
  • 2 edits in trunk/LayoutTests

Rubber-stamped by Eric Seidel.

Skipping this until issues mentioned in https://bugs.webkit.org/show_bug.cgi?id=33923 are resolved.

  • platform/mac/Skipped:
5:07 PM Changeset in webkit [53661] by abarth@webkit.org
  • 5 edits
    1 copy in trunk/WebKitTools

2010-01-21 Adam Barth <abarth@webkit.org>

Reviewed by Eric Seidel.

Make the EWS transactional
https://bugs.webkit.org/show_bug.cgi?id=33978

Now if the EWS gets interrupted in the middle of processing a patch,
the bots will re-process the patch.

  • Scripts/test-webkitpy:
  • Scripts/webkitpy/commands/queues.py:
  • Scripts/webkitpy/commands/queues_unittest.py:
  • Scripts/webkitpy/patchcollection.py:
  • Scripts/webkitpy/patchcollection_unittest.py: Added.
4:48 PM Changeset in webkit [53660] by Darin Adler
  • 2 edits in trunk/WebCore

REGRESSION (r52795): New message created in response to mailto: URL has random character in message body
rdar://problem/7565902

Reviewed by Mark Rowe.

This regression affects the Mac OS X Mail application.
I was not able to find a simple way to create a regression test.

  • platform/cf/SharedBufferCF.cpp:

(WebCore::SharedBuffer::SharedBuffer): Initialize m_size to 0 as in the other constructors.

4:40 PM Changeset in webkit [53659] by enrica@apple.com
  • 6 edits
    5 adds in trunk

Script tags are copied and pasted, making cross-domain attacks possible.
https://bugs.webkit.org/show_bug.cgi?id=33970

Reviewed by Darin Adler.

WebCore:

Tests: editing/pasteboard/paste-noscript-svg.html

editing/pasteboard/paste-visible-script.html

We remove the content and the attributes of every script tag before
pasting into the destination.

  • dom/Element.cpp:

(WebCore::Element::setAttributeMap): Now we are removing xlink:href
if it contains javascript protocol.

  • html/HTMLParser.cpp:

(WebCore::HTMLParser::parseToken): We strip all the script tag attributes
we are parsing to create a fragment to paste.

  • html/HTMLTokenizer.cpp:

(WebCore::HTMLTokenizer::HTMLTokenizer):
(WebCore::HTMLTokenizer::scriptHandler): Removes the script text after it was parsed.

  • html/HTMLTokenizer.h:

LayoutTests:

  • editing/pasteboard/paste-noscript-svg-expected.txt: Added.
  • editing/pasteboard/paste-noscript-svg.html: Added.
  • editing/pasteboard/paste-visible-script-expected.txt: Added.
  • editing/pasteboard/paste-visible-script.html: Added.
  • editing/resources/svgcontent.xhtml: Added.
4:34 PM Changeset in webkit [53658] by abarth@webkit.org
  • 2 edits in trunk/WebKitTools

2010-01-21 Adam Barth <abarth@webkit.org>

Unreviewed. Add missing "ago" for style in the status bubble.

  • QueueStatusServer/templates/statusbubble.html:
4:06 PM Changeset in webkit [53657] by ggaren@apple.com
  • 4 edits in trunk/JavaScriptCore

2010-01-21 Geoffrey Garen <ggaren@apple.com>

Reviewed by Oliver Hunt.

Always create a prototype for automatically managed classes.


This fixes some errors where prototype chains were not correctly hooked
up, and also ensures that API classes work correctly with features like
instanceof.

  • API/JSClassRef.cpp: (OpaqueJSClass::create): Cleaned up some of this code. Also changed it to always create a prototype class.
  • API/tests/testapi.c: (Derived2_class): (main): Fixed a null value crash in the exception checking code.
  • API/tests/testapi.js: Added some tests for the case where a prototype chain would not be hooked up correctly.
3:22 PM Changeset in webkit [53656] by Nikolas Zimmermann
  • 9 edits
    8 adds in trunk

2010-01-21 Nikolas Zimmermann <nzimmermann@rim.com>

Reviewed by Dirk Schulze.

<use> with % lengths does not update on window resize
https://bugs.webkit.org/show_bug.cgi?id=14639

appendChild broken for symbol-use
https://bugs.webkit.org/show_bug.cgi?id=24802

Test: svg/custom/relative-sized-shadow-tree-content-with-symbol.xhtml

svg/custom/svg/custom/relative-sized-use-on-symbol.xhtml

Fix reaction on window size changes for relative sized elements within <symbol> elements.
Don't evaluate SVGUseElement width/height attributes in order to propagate them to the shadow tree,
instead just propagate the attribute values itself so "100%" remains "100%" instead of being evaluated
to an absolute pixel value in the parent <svg> user-space.

Needs another fix in SVGStyledElement::childrenChanged(), which is a regression from my last <use>
patch, that hasn't been detected, as the use-dynamic-append.svg testcase was broken.

The combination of all the last <use> patches finally fixes the peepo.co.uk website, which was broken by several bugs for years.

  • svg/SVGStyledElement.cpp: (WebCore::SVGStyledElement::childrenChanged): Need to mark shadow trees needing recalcs, even when parsing.
  • svg/SVGUseElement.cpp: (WebCore::SVGUseElement::svgAttributeChanged): Don't reclone for width/height attribute changes, just propagate them down the render tree (WebCore::updateContainerSize): Added helper function, updating the width/height attributes in the shadow tree. (WebCore::SVGUseElement::updateContainerSizes): (WebCore::SVGUseElement::buildShadowAndInstanceTree): Update container width/height after shadow tree creation, instead of doing it inbetween. (WebCore::SVGUseElement::buildShadowTree): Don't alter width/height attributes here anymore. (WebCore::SVGUseElement::expandUseElementsInShadowTree): Ditto. (WebCore::SVGUseElement::expandSymbolElementsInShadowTree): Ditto.
  • svg/SVGUseElement.h:
3:19 PM Changeset in webkit [53655] by ap@apple.com
  • 2 edits in trunk/WebCore

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=33972
Assertion failure in FrameLoader::checkLoadComplete()

I couldn't make a test for this, after trying rather hard. I'm not too worried, because such
a test has to depend on details of current implementation so intimately that it would become
ineffective very quickly anyway.

  • loader/FrameLoader.cpp: (WebCore::FrameLoader::stopAllLoaders): Stop the check timer, we don't need it after aborting load.
3:06 PM Changeset in webkit [53654] by bweinstein@apple.com
  • 2 edits
    3 adds in trunk/LayoutTests

Rubber-stamped by Adam Roben.

Added platform specific (incorrect) results for plugins/mouse-events* for Windows,
and removed mouse-events from the Windows Skipped list. The landing of correct results
for these tests is being tracked by <http://webkit.org/b/33973>.

  • platform/win/Skipped: Removed plugins/mouse-events from the Skipped List.
  • platform/win/plugins: Added.
  • platform/win/plugins/mouse-events-expected.txt: Added.
  • platform/win/plugins/mouse-events-fixedpos-expected.txt: Added.
3:04 PM Changeset in webkit [53653] by Simon Fraser
  • 2 edits in trunk/LayoutTests

2010-01-21 Simon Fraser <Simon Fraser>

No review

Skip plugins/mouse-events-fixedpos.html on gtk, since it requires a special test plugin.

  • platform/gtk/Skipped:
2:53 PM Changeset in webkit [53652] by Csaba Osztrogonác
  • 2 edits in trunk/WebCore

Buildfix for r53646.

Reviewed by Dave Hyatt.

  • bindings/js/SerializedScriptValue.cpp: path of JSLock.h fixed.
2:40 PM QtWebKitGraphics created by noam.rosenthal@nokia.com
2:31 PM Changeset in webkit [53651] by Csaba Osztrogonác
  • 2 edits in trunk/WebCore

Unreviewed buildfix after r53644.

  • platform/Scrollbar.cpp:

(WebCore::Scrollbar::scroll): missing HAVE(ACCESSIBILITY) guard added.

2:24 PM Changeset in webkit [53650] by darin@chromium.org
  • 2 edits in trunk/WebCore

2010-01-21 Darin Fisher <darin@chromium.org>

Reviewed by David Levin.

Unnecessary call to HistoryItem::targetItem in HistoryController::pushState
https://bugs.webkit.org/show_bug.cgi?id=33969

  • loader/HistoryController.cpp: (WebCore::HistoryController::pushState): Remove unnecessary code.
2:17 PM Changeset in webkit [53649] by dimich@chromium.org
  • 2 edits in trunk/WebCore

Not reviewed, Chromium build fix. Add AccessibilityScrollbar.h and .cpp to WebCore.gypi

  • WebCore.gypi:
2:10 PM Changeset in webkit [53648] by ajwong@chromium.org
  • 2 edits in trunk/WebCore

[chromium] Unreviewed build fix.

Fix possible use of initialized variable warning in release mode.

  • bindings/v8/SerializedScriptValue.cpp:

(WebCore::ZigZag::Deserializer::doDeserialize):

2:02 PM Changeset in webkit [53647] by Csaba Osztrogonác
  • 2 edits in trunk/WebCore

[Qt] Unreviewed buildfix after r53644.

  • WebCore.pro: accessibility/AccessibilityScrollbar.cpp and accessibility/AccessibilityScrollbar.h added.
1:57 PM Changeset in webkit [53646] by hyatt@apple.com
  • 2 edits in trunk/WebCore

Make sure to do a JSLock before deserialization of script values, since they can heap allocate.

Reviewed by Oliver Hunt.

  • bindings/js/SerializedScriptValue.cpp:

(WebCore::SerializedScriptValueData::deserialize):

1:54 PM Changeset in webkit [53645] by bweinstein@apple.com
  • 1 edit in trunk/WebCore/accessibility/AccessibilityAllInOne.cpp

Build fix, add new file to AccessibilityAllInOne

1:31 PM Changeset in webkit [53644] by Beth Dakin
  • 9 edits
    4 adds in trunk

WebCore: Fix for https://bugs.webkit.org/show_bug.cgi?id=33923 REGRESSION
(Safari 4): AXValueChanged no longer sent for text area scrollbars
-and corresponding-
<rdar://problem/6942686>

Reviewed by Oliver Hunt.

New class AccessibilityScrollbar inherits directly from
AccessibilityObject.

  • accessibility/AccessibilityScrollbar.cpp: Added.

(WebCore::AccessibilityScrollbar::AccessibilityScrollbar):
(WebCore::AccessibilityScrollbar::create):
(WebCore::AccessibilityScrollbar::valueForRange):

  • accessibility/AccessibilityScrollbar.h: Added.

(WebCore::AccessibilityScrollbar::setScrollbar):
(WebCore::AccessibilityScrollbar::roleValue):
(WebCore::AccessibilityScrollbar::accessibilityIsIgnored):
(WebCore::AccessibilityScrollbar::size):
(WebCore::AccessibilityScrollbar::elementRect):
(WebCore::AccessibilityScrollbar::parentObject):

AXObjectCache::getOrCreate() now has a case for ScrollBarRole,
which will create a new AccessibilityScrollbar. I also added a new
version of postNotification() that does not require a renderer. The
old postNotification() calls the new one.

  • accessibility/AXObjectCache.cpp:

(WebCore::AXObjectCache::getOrCreate):
(WebCore::AXObjectCache::postNotification):

  • accessibility/AXObjectCache.h:

When AX is enabled, getOrCreate an AccessibilityScrollbar and send
a notification.

  • platform/Scrollbar.cpp:

(WebCore::Scrollbar::scroll):

Fix project files.

  • GNUmakefile.am:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • WebCoreSources.bkl:

LayoutTests: Test for https://bugs.webkit.org/show_bug.cgi?id=33923 REGRESSION
(Safari 4): AXValueChanged no longer sent for text area scrollbars
-and corresponding-
<rdar://problem/6942686>

Reviewed by Oliver Hunt.

  • platform/mac/accessibility/change-notification-on-scroll-expected.txt: Added.
  • platform/mac/accessibility/change-notification-on-scroll.html: Added.
1:08 PM Changeset in webkit [53643] by Simon Fraser
  • 2 edits in trunk/LayoutTests

2010-01-21 Simon Fraser <Simon Fraser>

No review

Skip plugins/mouse-events-fixedpos.html on Qt, since it requires a special test plugin.

  • platform/qt/Skipped:
1:04 PM Changeset in webkit [53642] by oliver@apple.com
  • 2 edits in trunk/JavaScriptCore

Force JSC to create a prototype chain for API classes with a
parent class but no static functions.

Reviewed by Geoff Garen.

1:02 PM Changeset in webkit [53641] by dimich@chromium.org
  • 5 edits in trunk

Add changes missing from r53595, without which Chromium has no database.

Patch by Eric Uhrhane <ericu@chromium.org> on 2010-01-21
Reviewed by Dmitry Titov.

https://bugs.webkit.org/show_bug.cgi?id=33966

No new tests - fixes database layout tests in Chromium.

WebCore:

  • bindings/v8/RuntimeEnabledFeatures.cpp:
  • bindings/v8/RuntimeEnabledFeatures.h:

WebKit/chromium:

  • src/WebRuntimeFeatures.cpp:

(WebKit::WebRuntimeFeatures::enableDatabase):
(WebKit::WebRuntimeFeatures::isDatabaseEnabled):

1:01 PM Changeset in webkit [53640] by eric@webkit.org
  • 3 edits
    2 adds in trunk

2010-01-21 Kenneth Russell <kbr@google.com>

Reviewed by Oliver Hunt.

[Chromium] Implement texSubImage2D taking WebGLArray
https://bugs.webkit.org/show_bug.cgi?id=33932

  • fast/canvas/webgl/tex-sub-image-2d-expected.txt: Added.
  • fast/canvas/webgl/tex-sub-image-2d.html: Added.

2010-01-21 Kenneth Russell <kbr@google.com>

Reviewed by Oliver Hunt.

[Chromium] Implement texSubImage2D taking WebGLArray
https://bugs.webkit.org/show_bug.cgi?id=33932

  • src/GraphicsContext3D.cpp: (WebCore::GraphicsContext3D::texSubImage2D):
12:56 PM Changeset in webkit [53639] by jpetsovits@rim.com
  • 7 edits in trunk/WebCore

2010-01-21 Jakob Petsovits <jpetsovits@rim.com>

Reviewed by Adam Treat.

Don't call vgGetError()/eglGetError() repeatedly
https://bugs.webkit.org/show_bug.cgi?id=33959

For vgGetError(), I missed the part of the spec where
it says that calling that function clears the error
and subsequent calls will return VG_NO_ERROR again.

For eglGetError(), the specification doesn't mention
that kind of behavior, and interpretations seem to
differ between EGL implementations (even within
Khronos: the OpenVG reference implementation doesn't
reset the error code - and even mentions the difference
to vgGetError() in a comment - whereas the online
OpenGL ES API document explicitly specifies clearing
the error code).

It thus makes sense not to call either of the two
error functions more than once for checking a single
EGL/OpenVG call. This patch adapts assertions to
accommodate for this behavior, and also needs to
change surface creation methods as they previously
relied on multiple calls of eglGetError().

  • platform/graphics/openvg/EGLDisplayOpenVG.cpp: (WebCore::EGLDisplayOpenVG::sharedPlatformSurface): (WebCore::EGLDisplayOpenVG::createPbufferSurface):
  • platform/graphics/openvg/EGLDisplayOpenVG.h:
  • platform/graphics/openvg/EGLUtils.h:
  • platform/graphics/openvg/SurfaceOpenVG.cpp: (WebCore::SurfaceOpenVG::SurfaceOpenVG):
  • platform/graphics/openvg/SurfaceOpenVG.h:
  • platform/graphics/openvg/VGUtils.h:
12:46 PM Changeset in webkit [53638] by eric@webkit.org
  • 4 edits in trunk/JavaScriptCore

2010-01-21 Kent Hansen <kent.hansen@nokia.com>

Reviewed by Geoffrey Garen.

Object.getOwnPropertyDescriptor always returns undefined for JS API objects
https://bugs.webkit.org/show_bug.cgi?id=33946

Ideally the getOwnPropertyDescriptor() reimplementation should return an
access descriptor that wraps the property getter and setter callbacks, but
that approach is much more involved than returning a value descriptor.
Keep it simple for now.

  • API/JSCallbackObject.h:
  • API/JSCallbackObjectFunctions.h: (JSC::::getOwnPropertyDescriptor):
  • API/tests/testapi.js:
12:19 PM Changeset in webkit [53637] by Simon Fraser
  • 7 edits
    2 adds in trunk

2010-01-20 Simon Fraser <Simon Fraser>

Reviewed by Dave Hyatt.

Hit testing on composited plugins is broken
https://bugs.webkit.org/show_bug.cgi?id=33927
<rdar://problem/7559069>

RenderWidget::paint()'s strategy of moving widgets at paint time, using tx and ty, was flawed
because tx,ty are not always root-relative, especially when painting into compositing layers.
This would move widgets to the wrong location, which caused hit testing issues.

Widgets are usually positioned by layout. The one time this was not true was scrolling fixed-position
elements, so we now reposition widgets after scrolling too.

There was a related problem, which was that widgets expect the graphics context to be set up for
root-relative painting. To fix this, adjust the CTM and the paintRect when the widget's frameRect
is in a different coordinate system to the painting offset.

Test: plugins/mouse-events-fixedpos.html

  • page/FrameView.cpp: (WebCore::FrameView::scrollPositionChanged): Update widget positions, to handle widgets in fixed position elements, but only if we're not already inside of layout.
  • platform/graphics/GraphicsContext.h: (WebCore::GraphicsContext::translate): Add a translate() convenience method that takes a FloatSize.
  • platform/graphics/IntSize.h: (WebCore::IntSize::isZero): Add a convenience method for testing for a zero size.
  • platform/mac/WidgetMac.mm: (WebCore::Widget::paint): Adjust a comment.
  • rendering/RenderWidget.cpp: (WebCore::RenderWidget::paint): Detect when the widget's frame is in a different coordinate system to painting, and adjust the CTM and paintRect in that case.
11:54 AM Changeset in webkit [53636] by eric@webkit.org
  • 3 edits in trunk/WebKitTools

2010-01-21 Adam Barth <abarth@webkit.org>

Reviewed by David Levin.

[style-queue] should not complain about identifier names with underscores under WebKit/gtk/webkit/
https://bugs.webkit.org/show_bug.cgi?id=33356

White list unix_hacker_style names in WebKit/gtk/webkit because these
are used in the GTK+ API.

  • Scripts/webkitpy/style/cpp_style.py:
  • Scripts/webkitpy/style/cpp_style_unittest.py:
11:38 AM Changeset in webkit [53635] by eric@webkit.org
  • 7 edits in trunk

2010-01-21 Diego Gonzalez <diego.gonzalez@openbossa.org>

Reviewed by Kenneth Rohde Christiansen.

[Qt] add setDomainRelaxationForbiddenForURLScheme in Qt DRT
https://bugs.webkit.org/show_bug.cgi?id=33945

  • platform/qt/Skipped:

2010-01-21 Diego Gonzalez <diego.gonzalez@openbossa.org>

Reviewed by Kenneth Rohde Christiansen.

[Qt] add setDomainRelaxationForbiddenForURLScheme in Qt DRT
https://bugs.webkit.org/show_bug.cgi?id=33945

  • Api/qwebsecurityorigin.cpp: (qt_drt_setDomainRelaxationForbiddenForURLScheme):

2010-01-21 Diego Gonzalez <diego.gonzalez@openbossa.org>

Reviewed by Kenneth Rohde Christiansen.

[Qt] add setDomainRelaxationForbiddenForURLScheme in Qt DRT
https://bugs.webkit.org/show_bug.cgi?id=33945

  • DumpRenderTree/qt/LayoutTestControllerQt.cpp: (LayoutTestController::setDomainRelaxationForbiddenForURLScheme):
  • DumpRenderTree/qt/LayoutTestControllerQt.h:
11:36 AM Changeset in webkit [53634] by steveblock@google.com
  • 4 edits in trunk/WebCore

[Android] bindings/v8/NPV8Object.cpp does not compile on Android
https://bugs.webkit.org/show_bug.cgi?id=33608

Patch by Andrei Popescu <andreip@google.com> on 2010-01-21
Reviewed by David Levin.

Use the standard WebKit header in bridge/npruntime.h.
Include PlatformBridge.h instead of ChroimiumBridge.h.
Add popupsAllowed() method to PlatformBridge.h on Android.
Add ARRAYSIZE_UNSAFE to PlatformBridge.h on Android.

No new tests, fixing the build.

  • bindings/v8/NPV8Object.cpp:

(_NPN_Evaluate):

  • bindings/v8/NPV8Object.h:
  • platform/android/PlatformBridge.h:
11:01 AM Changeset in webkit [53633] by eric@webkit.org
  • 1 edit
    1 add in trunk/WebCore

2010-01-21 Andrei Popescu <andreip@google.com>

Reviewed by David Levin.

Add PlatformBridge.h header and a typedef to give ChromiumBridge a new name: PlatformBridge.
https://bugs.webkit.org/show_bug.cgi?id=33917

No new tests needed, this is just to allow other methods to call ChromiumBridge
using the new 'PlatformBridge' name.

  • platform/chromium/PlatformBridge.h: Added.
10:39 AM Changeset in webkit [53632] by Csaba Osztrogonác
  • 2 edits in trunk/WebCore

[Qt] Unreviewed buildfix after r53625.

Cleanup MediaPlayer and MediaPlayerPrivateInterface to remove dead methods
https://bugs.webkit.org/show_bug.cgi?id=30106

  • platform/qt/RenderThemeQt.cpp:

(WebCore::RenderThemeQt::paintMediaSliderTrack):

10:36 AM WebKit Team edited by ariya@webkit.org
I am no longer with Qt (diff)
10:24 AM Changeset in webkit [53631] by Philippe Normand
  • 3 edits in trunk/LayoutTests

2010-01-21 Philippe Normand <pnormand@igalia.com>

Rubber-stamped by Eric Carlson.

Start the test when the video element loads, which is less prone
to occasional cases where document.load is fired after video.load.

  • media/video-source-error-no-candidate.html:
  • media/video-source-error-no-candidate-expected.txt:
10:07 AM Changeset in webkit [53630] by steveblock@google.com
  • 3 edits in trunk/WebCore

[Android] bindings/v8/V8DOMWrapper.h[cpp] are missing guards for XPATH and XSLT features
https://bugs.webkit.org/show_bug.cgi?id=33944

Patch by Andrei Popescu <andreip@google.com> on 2010-01-21
Reviewed by David Levin.

Inside V8DOMWrapper.h[cpp], the code for XPATH and XSLT features is not guarded
by the appropriate #if ENABLE(feature) macros. Add the missing guards.
V8DOMWrapper.cpp includes ChromiumBridge.h for no reason. Remove the include.

No new tests needed, functionality not changed.

  • bindings/v8/V8DOMWrapper.cpp:

(WebCore::V8DOMWrapper::getTemplate):

  • bindings/v8/V8DOMWrapper.h:
9:46 AM Changeset in webkit [53629] by eric.carlson@apple.com
  • 4 edits
    2 adds in trunk

2010-01-21 Eric Carlson <eric.carlson@apple.com>

Reviewed by Darin Adler.

Intermittent crash when media element is adopted by another document
https://bugs.webkit.org/show_bug.cgi?id=33919
rdar://problem/7557527


Test: media/adopt-node-crash.html

  • html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::willMoveToNewOwnerDocument): Unregister for document callbacks. (WebCore::HTMLMediaElement::didMoveToNewOwnerDocument): Register for document callbacks.
  • html/HTMLMediaElement.h:

2010-01-21 Eric Carlson <eric.carlson@apple.com>

Reviewed by Darin Adler.

Intermittent crash when media element is adopted by another document
https://bugs.webkit.org/show_bug.cgi?id=33919
rdar://problem/7557527

This test does not always crash the un-patched version of WebKit because
the crash is so timing-dependant.

  • media/adopt-node-crash-expected.txt: Added.
  • media/adopt-node-crash.html: Added.
9:21 AM Changeset in webkit [53628] by Adam Roben
  • 2 edits in trunk/WebCore

More Windows build fixing

  • WebCore.vcproj/WebCore.vcproj: Copy bridge/jsc in the post-build

event of all configurations, not just Debug.

8:05 AM Changeset in webkit [53627] by Simon Hausmann
  • 2 edits in trunk/WebCore

[Qt] Fix incorrect dependency to QtXmlPatterns in generated include/QtWebKit/QtWebKit header

Patch by Thiago Macieira <thiago.macieira@nokia.com> on 2010-01-21
Reviewed by Simon Hausmann.

The generated file includes QtXmlPatterns/QtXmlPatterns, which is neither used/required by
the public QtWebKit API nor will it be available if Qt is configured with -no-xmlpatterns.

  • WebCore.pro: Trick syncqt to believe that xmlpatterns is not a dependency, so that it's not

included in the generated file. It'll still be used and linked to with this trick.

7:42 AM Changeset in webkit [53626] by steveblock@google.com
  • 2 edits in trunk/WebCore

Unreviewed build fix.

Copy BridgeJSC.h to generated headers on Windows

No new tests, build fix only.

  • WebCore.vcproj/WebCore.vcproj:
7:01 AM Changeset in webkit [53625] by eric.carlson@apple.com
  • 13 edits in trunk/WebCore

2010-01-21 Eric Carlson <eric.carlson@apple.com>

Reviewed by Darin Adler.

Cleanup MediaPlayer and MediaPlayerPrivateInterface to remove dead methods
https://bugs.webkit.org/show_bug.cgi?id=30106

No new tests, only dead code was removed.

  • platform/graphics/MediaPlayer.cpp:
  • platform/graphics/MediaPlayer.h:
  • platform/graphics/MediaPlayerPrivate.h:
  • platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
  • platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
  • platform/graphics/mac/MediaPlayerPrivateQTKit.h:
  • platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
  • platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
  • platform/graphics/qt/MediaPlayerPrivatePhonon.h:
  • platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp: (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): (WebCore::MediaPlayerPrivate::currentTime): (WebCore::MediaPlayerPrivate::doSeek):
  • platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
  • platform/graphics/wince/MediaPlayerPrivateWince.h:
6:54 AM Changeset in webkit [53624] by Simon Hausmann
  • 1 edit in trunk/WebCore/WebCore.pro

Oops, refix previous submit (patch conflict not resolved correctly)

6:52 AM Changeset in webkit [53623] by Simon Hausmann
  • 2 edits in trunk/WebCore

[Qt] Simplify the qmake code for freezing QtWebKit on Symbian.

Patch by Iain Campbell <iain.campbell@accenture.com> on 2010-01-21
Reviewed by Simon Hausmann.

  • WebCore.pro:
5:49 AM QtWebKitBackportingFixes edited by Simon Hausmann
(diff)
5:42 AM QtWebKitBackportingFixes edited by Simon Hausmann
(diff)
5:08 AM Changeset in webkit [53622] by steveblock@google.com
  • 2 edits in trunk/WebCore

Unreviewed speculative build fix for Windows.

Adds missing include path for JSCBridge.h on Windows, added in http://trac.webkit.org/changeset/53620

No new tests, build fix only.

  • WebCore.vcproj/WebCoreCommon.vsprops:
4:30 AM Changeset in webkit [53621] by steveblock@google.com
  • 5 edits in trunk/WebCore

Unreviewed build fix.

Adds missing include path for JSCBridge.h, added in http://trac.webkit.org/changeset/53620

No new tests, build fix only.

  • GNUmakefile.am:
  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
3:52 AM Changeset in webkit [53620] by steveblock@google.com
  • 7 edits
    1 copy
    1 move
    1 add in trunk/WebCore

Move bridge interfaces Field, Class, Instance and Array from Bridge to BridgeJSC
https://bugs.webkit.org/show_bug.cgi?id=33589

Reviewed by David Levin.

These interfaces use JSC-specific types, so are moved out of Bridge.h to allow the file to
be used with both JSC and V8.

No new tests, refactoring only.

  • Android.jscbindings.mk: Modified. Removed Bridge.cpp and added BridgeJSC.cpp
  • GNUmakefile.am: Modified. Removed Bridge.cpp and added BridgeJSC.[cpp|h]
  • WebCore.pro: Modified. Removed Bridge.cpp and added BridgeJSC.[cpp|h]
  • WebCore.xcodeproj/project.pbxproj: Modified. Removed Bridge.cpp and added BridgeJSC.[cpp|h]
  • WebCoreSources.bkl: Modified. Removed Bridge.cpp and added BridgeJSC.cpp
  • bridge/Bridge.cpp: Removed.
  • bridge/Bridge.h: Modfied. Moved Field, Class, Instance and Array interfaces to BridgeJSC.h
  • bridge/jsc: Added.
  • bridge/jsc/BridgeJSC.cpp: Copied from WebCore/bridge/Bridge.cpp.
  • bridge/jsc/BridgeJSC.h: Copied from WebCore/bridge/Bridge.h.
2:25 AM Changeset in webkit [53619] by steveblock@google.com
  • 3 edits in trunk/WebCore

Fixes style in WebCore/bridge/jni/JNIBridge
https://bugs.webkit.org/show_bug.cgi?id=33914

Reviewed by David Levin.

No new tests, style fixes only.

  • bridge/jni/JNIBridge.cpp:
  • bridge/jni/JNIBridge.h:
1:49 AM Changeset in webkit [53618] by Simon Hausmann
  • 15 edits
    2 adds in trunk

[Qt] Implement GraphicsLayer for accelerated layer compositing
https://bugs.webkit.org/show_bug.cgi?id=33514

Patch by No'am Rosenthal <noam.rosenthal@nokia.com> on 2010-01-21
Reviewed by Antti Koivisto.

.:

  • WebKit.pri: Addded compile flags to enable accelerated compositing

on versions higher than 4.5

WebCore:

No new tests: tests in LayoutTests/compositing are now relevant for
QtWebkit!

  • WebCore.pro: added accelerated-compositing related files
  • platform/graphics/GraphicsLayer.h: define Qt-specific implementation of GraphicsLayer
  • platform/graphics/qt/GraphicsLayerQt.cpp: Added.

(WebCore::GraphicsLayerQtImpl::): Implementation of GraphicsLayer with
a QGraphicsItem
(WebCore::GraphicsLayerQtImpl::ContentData::ContentData): save
pixmap/color info for directly composited content
(WebCore::GraphicsLayerQtImpl::State::State): save info for syncing
(WebCore::GraphicsLayerQtImpl::GraphicsLayerQtImpl): ctor
(WebCore::GraphicsLayerQtImpl::~GraphicsLayerQtImpl): dtor
(WebCore::GraphicsLayerQtImpl::setBaseTransform): set Qt
transformation in the way WebCore wants it
(WebCore::GraphicsLayerQtImpl::opaqueArea): calculate opaque area
based on info we have
(WebCore::GraphicsLayerQtImpl::boundingRect): reimp QGraphicsItem
(WebCore::GraphicsLayerQtImpl::paint): reimp QGraphicsItem
(WebCore::GraphicsLayerQtImpl::drawContents): draw HTML/Pixmap/Color
(WebCore::GraphicsLayerQtImpl::notifyChange): let WebCore know
something has changed
(WebCore::GraphicsLayerQtImpl::flushChanges): Make the changes appear
on screen by setting them to QGraphicsItems
(WebCore::GraphicsLayerQtImpl::notifyAnimationStarted): let WebCore
know the QAnimation started
(WebCore::GraphicsLayerQt::GraphicsLayerQt): ctor
(WebCore::GraphicsLayerQt::~GraphicsLayerQt): dtor
(WebCore::GraphicsLayer::create): hook for WebCore to know we're
implementing compositing
(WebCore::GraphicsLayer::compositingCoordinatesOrientation): hook for
WebCore to know we use a top-down system
(WebCore::GraphicsLayerQt::setNeedsDisplay): update the display
(WebCore::GraphicsLayerQt::setNeedsDisplayInRect): udpate part of the
display
(WebCore::GraphicsLayerQt::setName): reimp
(WebCore::GraphicsLayerQt::setParent): reimp
(WebCore::GraphicsLayerQt::setChildren): reimp
(WebCore::GraphicsLayerQt::addChild): reimp
(WebCore::GraphicsLayerQt::addChildAtIndex): reimp
(WebCore::GraphicsLayerQt::addChildAbove): reimp
(WebCore::GraphicsLayerQt::addChildBelow): reimp
(WebCore::GraphicsLayerQt::replaceChild): reimp
(WebCore::GraphicsLayerQt::removeFromParent): reimp
(WebCore::GraphicsLayerQt::setMaskLayer): reimp
(WebCore::GraphicsLayerQt::setPosition): reimp
(WebCore::GraphicsLayerQt::setAnchorPoint): reimp
(WebCore::GraphicsLayerQt::setSize): reimp
(WebCore::GraphicsLayerQt::setTransform): reimp
(WebCore::GraphicsLayerQt::setChildrenTransform): reimp
(WebCore::GraphicsLayerQt::setPreserves3D): reimp
(WebCore::GraphicsLayerQt::setMasksToBounds): reimp
(WebCore::GraphicsLayerQt::setDrawsContent): reimp
(WebCore::GraphicsLayerQt::setBackgroundColor): reimp
(WebCore::GraphicsLayerQt::clearBackgroundColor): reimp
(WebCore::GraphicsLayerQt::setContentsOpaque): reimp
(WebCore::GraphicsLayerQt::setBackfaceVisibility): reimp
(WebCore::GraphicsLayerQt::setOpacity): reimp
(WebCore::GraphicsLayerQt::setContentsRect): reimp
(WebCore::GraphicsLayerQt::setContentsToImage): reimp
(WebCore::GraphicsLayerQt::setContentsBackgroundColor): reimp
(WebCore::GraphicsLayerQt::setGeometryOrientation): reimp
(WebCore::GraphicsLayerQt::setContentsOrientation): reimp
(WebCore::GraphicsLayerQt::distributeOpacity): reimp
(WebCore::GraphicsLayerQt::accumulatedOpacity): reimp
(WebCore::GraphicsLayerQt::syncCompositingState): reimp
(WebCore::GraphicsLayerQt::nativeLayer): reimp (QGraphicsItem*)
(WebCore::GraphicsLayerQt::platformLayer): reimp (QGraphicsItem*)
(WebCore::solveEpsilon): copy from AnimationBase.cpp
(WebCore::solveCubicBezierFunction): copy from AniamtionBase.cpp
(WebCore::applyTimingFunction): use WebCore's timing and not Qt's
(WebCore::webkitAnimationToQtAnimationValue): safely figure out
animation values
(WebCore::AnimationQtBase::AnimationQtBase): base class for Qt-based
Webcore-initiated animations
(WebCore::AnimationQtBase::updateState): notify when an animation
starts
(WebCore::AnimationQtBase::duration): reimp QAbstractAnimation
(WebCore::AnimationQt:::AnimationQtBase):
(WebCore::AnimationQt::updateCurrentTime): realize keyframes from
progress
(WebCore::TransformAnimationQt::TransformAnimationQt): ctor
(WebCore::TransformAnimationQt::~TransformAnimationQt): dtor
(WebCore::TransformAnimationQt::applyFrame): set the actual QTransform
based on WebCore TransformOperations
(WebCore::TransformAnimationQt::updateState): change cache mode
(WebCore::OpacityAnimationQt::OpacityAnimationQt):
(WebCore::OpacityAnimationQt::applyFrame): change item's opacity
(WebCore::OpacityAnimationQt::updateState):
(WebCore::GraphicsLayerQt::addAnimation): convert WebCore Animation to
Qt Animation
(WebCore::GraphicsLayerQt::removeAnimationsForProperty):
(WebCore::GraphicsLayerQt::removeAnimationsForKeyframes):
(WebCore::GraphicsLayerQt::pauseAnimation):
(WebCore::GraphicsLayerQt::suspendAnimations):
(WebCore::GraphicsLayerQt::resumeAnimations):

  • platform/graphics/qt/GraphicsLayerQt.h: Added.
  • platform/qt/QWebPageClient.h: virtual functions for QGraphicsWebView

compositing
(QWebPageClient::setRootGraphicsLayer): let QGraphicsWebView know that
compositing has started/ended
(QWebPageClient::markForSync): let QGraphicsWebView know the
compositing layers need to sync, either soon or with the next update

WebKit/qt:

Here we have the QGraphicsWebView support for accelerated compositing

  • Api/qgraphicswebview.cpp:

(QGraphicsWebViewOverlay::q): access to container object
(QGraphicsWebViewOverlay::boundingRect): overlay has same rect as the
webview
(QGraphicsWebViewOverlay::paint): paint everything but the contents
(QGraphicsWebViewPrivate::QGraphicsWebViewPrivate): some vars needed
for accelerated compositing
(QGraphicsWebViewPrivate::):
(QGraphicsWebViewPrivate::~QGraphicsWebViewPrivate):
(QGraphicsWebViewPrivate::setRootGraphicsLayer): make sure we have a
scrollbar overlay, and that the new graphics layer is parented by the
web-view
(QGraphicsWebViewPrivate::markForSync): flush changes at earliest
convenience or during the next draw

(QGraphicsWebViewPrivate::updateCompositingScrollPosition): sync the
position of the compositing layer with the scroll position
(QGraphicsWebViewPrivate::syncLayers): flush changes now
(QGraphicsWebViewPrivate::scroll): make sure we also move the
compositing layer
(QGraphicsWebViewPrivate::update): also update the overlay if needed
(QGraphicsWebView::QGraphicsWebView): initialize overlay with 0
(QGraphicsWebView::paint): paint only contents if we have an overlay,
sync the compositing layers now if needed
(QGraphicsWebView::setPage): also clean up the compositing
(QGraphicsWebView::updateGeometry): also update overlay geo
(QGraphicsWebView::setGeometry): also update overlay geo

  • Api/qgraphicswebview.h: reimp compositing stuff from QWebPageClient
  • Api/qwebsettings.cpp: init new settings flag for compositing as

false
(QWebSettingsPrivate::apply): apply new settings flag for compositing
(QWebSettings::QWebSettings):

  • Api/qwebsettings.h: new settings flag for compositing
  • Api/qwebview.cpp:

(QWebView::setPage): qwebview doesn't support compositing: always false

  • QGVLauncher/main.cpp:

(WebView::WebView): some more cmdline arguments + compositing
(MainWindow::init): some more cmdline arguments
(main): ditto

  • WebCoreSupport/ChromeClientQt.cpp:

(WebCore::ChromeClientQt::attachRootGraphicsLayer): reimp for
accel-compositing
(WebCore::ChromeClientQt::setNeedsOneShotDrawingSynchronization):
reimp for accel compositing
(WebCore::ChromeClientQt::scheduleCompositingLayerSync): reimp for
accel compositing

  • WebCoreSupport/ChromeClientQt.h: reimps for accel compositing
1:43 AM Changeset in webkit [53617] by Philippe Normand
  • 3 edits in trunk/WebCore

2010-01-13 Philippe Normand <pnormand@igalia.com>

Reviewed by Oliver Hunt.

[GTK] handle media redirections
https://bugs.webkit.org/show_bug.cgi?id=33539

Media redirections support.

  • platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: (WebCore::mediaPlayerPrivateMessageCallback): (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate): (WebCore::MediaPlayerPrivate::mediaLocationChanged): (WebCore::MediaPlayerPrivate::loadNextLocation):
  • platform/graphics/gtk/MediaPlayerPrivateGStreamer.h: (WebCore::MediaPlayerPrivate::pipelineReset):
1:27 AM Changeset in webkit [53616] by Simon Hausmann
  • 6 edits in trunk

No review, rolling out 53615 as it causes two
crashes on the bot.

WebKitTools:

  • DumpRenderTree/qt/DumpRenderTreeQt.cpp:

(WebCore::DumpRenderTree::DumpRenderTree):
(WebCore::DumpRenderTree::createWindow):

  • DumpRenderTree/qt/DumpRenderTreeQt.h:
  • DumpRenderTree/qt/LayoutTestControllerQt.cpp:

(LayoutTestController::maybeDump):

LayoutTests:

  • platform/qt/Skipped:
1:12 AM Changeset in webkit [53615] by eric@webkit.org
  • 6 edits in trunk

2010-01-21 Robert Hogan <robert@roberthogan.net>

Reviewed by Simon Hausmann.

Qt DRT: respect window.close() and window.closed()

Qt DRT needs to maintain a correct count of open windows
for windowCount(). It also needs to delete windows that
have been closed by window.close().

This fixes the following tests:

plugins/destroy-during-npp-new.html
fast/dom/Document/early-document-access.html
fast/dom/Window/window-early-properties.html
fast/events/open-window-from-another-frame.html
fast/events/popup-blocking-click-in-iframe.html

https://bugs.webkit.org/show_bug.cgi?id=32953

  • platform/qt/Skipped:

2010-01-21 Robert Hogan <robert@roberthogan.net>

Reviewed by Simon Hausmann.

Qt DRT: respect window.close() and window.closed()

Qt DRT needs to maintain a correct count of open windows
for windowCount(). It also needs to delete windows that
have been closed by window.close().

This fixes the following tests:

plugins/destroy-during-npp-new.html
fast/dom/Document/early-document-access.html
fast/dom/Window/window-early-properties.html
fast/events/open-window-from-another-frame.html
fast/events/popup-blocking-click-in-iframe.html

https://bugs.webkit.org/show_bug.cgi?id=32953

  • DumpRenderTree/qt/DumpRenderTreeQt.cpp: (WebCore::DumpRenderTree::DumpRenderTree): (WebCore::DumpRenderTree::createWindow): (WebCore::DumpRenderTree::windowCloseRequested):
  • DumpRenderTree/qt/DumpRenderTreeQt.h:
  • DumpRenderTree/qt/LayoutTestControllerQt.cpp: (LayoutTestController::maybeDump):
1:02 AM Changeset in webkit [53614] by Simon Hausmann
  • 2 edits in trunk/WebKit/qt

[Qt] Improve the autotests of QtWebkit
https://bugs.webkit.org/show_bug.cgi?id=32216

Patch by Benjamin Poulain <benjamin.poulain@nokia.com> on 2010-01-21
Reviewed by Simon Hausmann.

Remove qWait() of the test when possible.

  • tests/qwebpage/tst_qwebpage.cpp:

(tst_QWebPage::loadFinished):
(tst_QWebPage::database):
(tst_QWebPage::testEnablePersistentStorage):
(tst_QWebPage::errorPageExtension):
(tst_QWebPage::screenshot):

12:42 AM Changeset in webkit [53613] by Simon Hausmann
  • 3 edits in trunk/WebKit/qt

Prospective build fix for the Qt build.

Fix compilation against Qt without WebKit support by not including QtWebKit/QWebView
but widget.h instead and instantiating QWebView through a typedef, to ensure we're using
our locally built WebKit.

  • tests/hybridPixmap/widget.h:
  • tests/hybridPixmap/widget.ui:
12:37 AM Changeset in webkit [53612] by Philippe Normand
  • 4 edits in trunk/LayoutTests

2010-01-20 Philippe Normand <pnormand@igalia.com>

Reviewed by Eric Carlson.

[Gtk] media/video-currentTime-set.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=33897

Refactored the test to use the "seeked" event.

  • media/video-currentTime-set-expected.txt:
  • media/video-currentTime-set.html:
  • platform/gtk/Skipped:
12:25 AM Changeset in webkit [53611] by Simon Hausmann
  • 5 edits
    10 adds in trunk

WebCore: [Qt] Adding QPixmap/QImage support for the Qt hybrid layer

Allows accesing QPixmap and QImage based arguments from Qt signals,
slots and properties
This is done by an intermediate object that can be turned into
web-based objects by calling either toHTMLImageElement() or
toDataURL()

https://bugs.webkit.org/show_bug.cgi?id=32461

Patch by No'am Rosenthal <noam.rosenthal@nokia.com> on 2010-01-21
Reviewed by Simon Hausmann.

Tests are in WebKit/qt/tests/hybridPixmap

  • WebCore.pro:
  • bridge/qt/qt_pixmapruntime.cpp: Added.

(JSC::Bindings::QtPixmapWidthField::name): "width"
(JSC::Bindings::QtPixmapWidthField::valueFromInstance): width of
pixmap
(JSC::Bindings::QtPixmapWidthField::setValueToInstance): nothing
(JSC::Bindings::QtPixmapHeightField::name): "height"
(JSC::Bindings::QtPixmapHeightField::valueFromInstance): height of
pixmap
(JSC::Bindings::QtPixmapHeightField::setValueToInstance): nothing
(JSC::Bindings::QtPixmapRuntimeMethod::numParameters): 0
(JSC::Bindings::QtPixmapCreateElementMethod::name): toHTMLImageElement
(JSC::Bindings::QtPixmapCreateElementMethod::invoke): creates an HTML
element from the QPixmap
(JSC::Bindings::QtPixmapToDataUrlMethod::name): "toDataURL"
(JSC::Bindings::QtPixmapToDataUrlMethod::invoke): encodes the image to
a base64 data url
(JSC::Bindings::QtPixmapToStringMethod::name): "toString"
(JSC::Bindings::QtPixmapToStringMethod::invoke): [Qt Native Pixmap
w,h]

(JSC::Bindings::QtPixmapRuntimeObjectImp::createStructure):
runtime-object broilerplate
(JSC::Bindings::QtPixmapRuntimeObjectImp::classInfo): ditto
(JSC::Bindings::QtPixmapRuntimeObjectImp::QtPixmapRuntimeObjectImp):
ditto
(JSC::Bindings::): ditto
(JSC::Bindings::QtPixmapClass::QtPixmapClass): class for the
intermediate pixmap-holder
(JSC::Bindings::QtPixmapInstance::getClass): ditto
(JSC::Bindings::QtPixmapInstance::invokeMethod): ditto
(JSC::Bindings::QtPixmapClass::methodsNamed): toHTMLImageElement,
toDataURL
(JSC::Bindings::QtPixmapClass::fieldNamed): width, height
(JSC::Bindings::QtPixmapInstance::getPropertyNames):

toHTMLImageElement, toDataURL, width, height

(JSC::Bindings::QtPixmapInstance::defaultValue): nothing
(JSC::Bindings::QtPixmapInstance::valueOf): toString
(JSC::Bindings::data): holds a QVariant of type QImage/QPixmap
(JSC::Bindings::QtPixmapInstance::width): width of the image/pixmap
(JSC::Bindings::QtPixmapInstance::height): height of the image/pixmap
(JSC::Bindings::QtPixmapInstance::toPixmap): converts to a QPixmap
(JSC::Bindings::QtPixmapInstance::toImage): converts to a QImage
(JSC::Bindings::QtPixmapInstance::variantFromObject): makes sure this
is the right type of object, and creates a QVariant
(JSC::Bindings::QtPixmapInstance::createRuntimeObject): creates a new
intermediate pixmap holder from a QVariant
(JSC::Bindings::QtPixmapInstance::canHandle): returns true if a
QPixmap/QImage is required

  • bridge/qt/qt_pixmapruntime.h: Added.
  • bridge/qt/qt_runtime.cpp: hooks for the bridge

(JSC::Bindings::convertValueToQVariant): handle QPixmap/QImage if the
object is the intermediate pixmap holder or an HTMLImageElement
(JSC::Bindings::convertQVariantToValue): creates the intermediate
object from a QVariant of type QImage/QPixmap

WebKit/qt: [Qt] Adding QPixmap/QImage support for the Qt hybrid layer
https://bugs.webkit.org/show_bug.cgi?id=32461

Patch by No'am Rosenthal <noam.rosenthal@nokia.com> on 2010-01-21
Reviewed by Simon Hausmann.

  • tests/hybridPixmap: Added.
  • tests/hybridPixmap/hybridPixmap.pro: Added.
  • tests/hybridPixmap/resources.qrc: Added.
  • tests/hybridPixmap/test.html: Added.
  • tests/hybridPixmap/tst_hybridPixmap.cpp: Added.

(tst_hybridPixmap::tst_hybridPixmap): tests most of the use cases for
hybrid pixmap/image manipulation
(tst_hybridPixmap::init): QTestLib initialization
(tst_hybridPixmap::cleanup): QTestLib cleanup
(tst_hybridPixmap::hybridPixmap): run the html file

  • tests/hybridPixmap/widget.cpp: Added.

(Widget::Widget):
(Widget::refreshJS):
(Widget::start):
(Widget::completeTest):
(Widget::setPixmap):
(Widget::pixmap):
(Widget::setImage):
(Widget::image):
(Widget::~Widget):
(Widget::changeEvent):
(Widget::compare):
(Widget::imageSlot):
(Widget::pixmapSlot):
(Widget::randomSlot):

  • tests/hybridPixmap/widget.h: Added.
  • tests/hybridPixmap/widget.ui: Added.
  • tests/tests.pro:
12:10 AM Changeset in webkit [53610] by eric@webkit.org
  • 9 edits in trunk

2010-01-21 Luiz Agostini <luiz.agostini@openbossa.org>

Reviewed by Kenneth Rohde Christiansen.

[Qt] Custom select popups.
https://bugs.webkit.org/show_bug.cgi?id=33418

Optimization of the WebCore support to combobox popup delegate.

  • platform/qt/PopupMenuQt.cpp: (WebCore::PopupMenu::show):
  • platform/qt/QtAbstractWebPopup.cpp: (WebCore::QtAbstractWebPopup::QtAbstractWebPopup): (WebCore::QtAbstractWebPopup::itemType):
  • platform/qt/QtAbstractWebPopup.h: (WebCore::QtAbstractWebPopup::): (WebCore::QtAbstractWebPopup::itemText): (WebCore::QtAbstractWebPopup::itemToolTip): (WebCore::QtAbstractWebPopup::itemIsEnabled): (WebCore::QtAbstractWebPopup::itemCount): (WebCore::QtAbstractWebPopup::view): (WebCore::QtAbstractWebPopup::geometry): (WebCore::QtAbstractWebPopup::currentIndex): (WebCore::QtAbstractWebPopup::font):

2010-01-21 Luiz Agostini <luiz.agostini@openbossa.org>

Reviewed by Kenneth Rohde Christiansen.

[Qt] Custom select popups.
https://bugs.webkit.org/show_bug.cgi?id=33418

Adjusting QtFallbackWebPopupCombo to the changes in WebCore layer.

  • WebCoreSupport/ChromeClientQt.cpp: (WebCore::ChromeClientQt::createSelectPopup):
  • WebCoreSupport/ChromeClientQt.h:
  • WebCoreSupport/QtFallbackWebPopup.cpp: (WebCore::QtFallbackWebPopupCombo::QtFallbackWebPopupCombo): (WebCore::QtFallbackWebPopupCombo::showPopup): (WebCore::QtFallbackWebPopupCombo::hidePopup): (WebCore::QtFallbackWebPopup::QtFallbackWebPopup): (WebCore::QtFallbackWebPopup::~QtFallbackWebPopup): (WebCore::QtFallbackWebPopup::show): (WebCore::QtFallbackWebPopup::hide): (WebCore::QtFallbackWebPopup::populate):
  • WebCoreSupport/QtFallbackWebPopup.h:

Jan 20, 2010:

11:50 PM Changeset in webkit [53609] by eric@webkit.org
  • 6 edits in trunk/WebKitTools

2010-01-20 Eric Seidel <eric@webkit.org>

No review, rolling out r53593.
http://trac.webkit.org/changeset/53593
https://bugs.webkit.org/show_bug.cgi?id=33496

Re-rollout this patch, the commit-queue should not have landed
it again, but it did due to land-diff and rollout both not
clearing flags.

  • Scripts/webkitpy/commands/early_warning_system.py:
  • Scripts/webkitpy/commands/queues.py:
  • Scripts/webkitpy/queueengine.py:
  • Scripts/webkitpy/scm.py:
  • Scripts/webkitpy/scm_unittest.py:
11:35 PM Changeset in webkit [53608] by tkent@chromium.org
  • 6 edits in trunk/LayoutTests

2010-01-21 Kent Tamura <tkent@chromium.org>

Unreviewed. Fix incorrect close tags.

  • fast/html/script-tests/article-element.js:
  • fast/html/script-tests/aside-element.js:
  • fast/html/script-tests/footer-element.js:
  • fast/html/script-tests/header-element.js:
  • fast/html/script-tests/section-element.js:
11:22 PM Changeset in webkit [53607] by abarth@webkit.org
  • 25 edits in trunk

2010-01-20 Adam Barth <abarth@webkit.org>

Reviewed by Darin Adler.

Stylesheet href property shows redirected URL unlike other browsers
https://bugs.webkit.org/show_bug.cgi?id=33683

Test whether the href property of style sheets contains the original or
final URL of the redirect chain that lead to the style sheet.

I couldn't figure out how to test the XSLStyleSheet parts of this
change. There didn't seem to be DOM bindings for the href property
here. If I missed it, please let me know.

  • http/tests/security/stylesheet-href-redirect-expected.txt: Added.
  • http/tests/security/stylesheet-href-redirect.html: Added.

2010-01-20 Adam Barth <abarth@webkit.org>

Reviewed by Darin Adler.

Stylesheet href property shows redirected URL unlike other browsers
https://bugs.webkit.org/show_bug.cgi?id=33683

Teach StyleSheet the difference between original and final URLs in
redirect chains. Unfortunately, StyleSheet needs to know both of these
URLs. The original URL is needed for the href property and the final
URL is needed as the baseURL.

This change required touching a lot of lines of code because we need to
plumb this information to the StyleSheet object. I audited all
existing clients of href() and setHref() to see whether they wanted the
original or final URLs. I then updated the clients (except the JS
bindings themselves) to use the correct accessor.

Test: http/tests/security/stylesheet-href-redirect.html

  • css/CSSImportRule.cpp: (WebCore::CSSImportRule::setCSSStyleSheet): (WebCore::CSSImportRule::insertedIntoParent):
  • css/CSSImportRule.h:
  • css/CSSStyleSheet.cpp: (WebCore::CSSStyleSheet::CSSStyleSheet):
  • css/CSSStyleSheet.h: (WebCore::CSSStyleSheet::create): (WebCore::CSSStyleSheet::createInline): Added a new constructor to deal with "inline" style sheets that don't have a distinct original and final URL.
  • css/StyleBase.cpp: (WebCore::StyleBase::baseURL): This code wants to use the final URL, not the original URL. Updated it to grab the baseURL directly.
  • css/StyleSheet.cpp: (WebCore::StyleSheet::StyleSheet):
  • css/StyleSheet.h: (WebCore::StyleSheet::href): (WebCore::StyleSheet::setBaseURL): This function really just updates the base URL of the style sheet, so I made it more explicit. (WebCore::StyleSheet::putativeBaseURL): We need an accessor for the base URL, but baseURL is already taken.
  • dom/Document.cpp: (WebCore::Document::updateBaseURL): (WebCore::Document::pageUserSheet): (WebCore::Document::pageGroupUserSheets): (WebCore::Document::elementSheet): (WebCore::Document::mappedElementSheet):
  • dom/ProcessingInstruction.cpp: (WebCore::ProcessingInstruction::checkStyleSheet): (WebCore::ProcessingInstruction::setCSSStyleSheet): (WebCore::ProcessingInstruction::setXSLStyleSheet):
  • dom/ProcessingInstruction.h:
  • dom/StyleElement.cpp: (WebCore::StyleElement::createSheet):
  • html/HTMLLinkElement.cpp: (WebCore::HTMLLinkElement::setCSSStyleSheet):
  • html/HTMLLinkElement.h:
  • loader/CachedCSSStyleSheet.cpp: (WebCore::CachedCSSStyleSheet::didAddClient): (WebCore::CachedCSSStyleSheet::checkNotify): This code now passes both the original and final URL into setCSSStyleSheet so that the style sheet can have both.
  • loader/CachedResourceClient.h: (WebCore::CachedResourceClient::setCSSStyleSheet): (WebCore::CachedResourceClient::setXSLStyleSheet):
  • loader/CachedXSLStyleSheet.cpp: (WebCore::CachedXSLStyleSheet::didAddClient): (WebCore::CachedXSLStyleSheet::checkNotify): I don't have any direct evidence that we need to change the XSLStyleSheet behavior, which is why I wasn't able to add a test for the behavior. However, the objects are parallel enough that it seemed like the right thing to do.
  • xml/XSLImportRule.cpp: (WebCore::XSLImportRule::setXSLStyleSheet): (WebCore::XSLImportRule::loadSheet):
  • xml/XSLImportRule.h:
  • xml/XSLStyleSheet.h: (WebCore::XSLStyleSheet::create): (WebCore::XSLStyleSheet::createEmbedded):
  • xml/XSLStyleSheetLibxslt.cpp: (WebCore::XSLStyleSheet::XSLStyleSheet): (WebCore::XSLStyleSheet::parseString): (WebCore::XSLStyleSheet::loadChildSheets):
  • xml/XSLStyleSheetQt.cpp: (WebCore::XSLStyleSheet::XSLStyleSheet):
  • xml/XSLTProcessorLibxslt.cpp: (WebCore::xsltStylesheetPointer):
  • xml/XSLTProcessorQt.cpp: (WebCore::XSLTProcessor::transformToString):
11:20 PM Changeset in webkit [53606] by tkent@chromium.org
  • 3 edits in trunk/LayoutTests

2010-01-21 Kent Tamura <tkent@chromium.org>

Unreviewed. Fix a FAIL test by a wrong input.

  • fast/forms/input-valueasdate-date-expected.txt:
  • fast/forms/script-tests/input-valueasdate-date.js:
11:06 PM Changeset in webkit [53605] by rolandsteiner@chromium.org
  • 65 edits in trunk/LayoutTests

Bug 31865 - Re-do ruby layout tests to use only Latin characters
(https://bugs.webkit.org/show_bug.cgi?id=31865, first patch)

Reviewed by Eric Seidel.

Re-did pixel layout tests for ruby since non-Latin scripts apparently
cause issues on other platforms.

  • fast/ruby/ruby-empty-rt.html:
  • fast/ruby/ruby-length.html:
  • fast/ruby/ruby-run-break.html:
  • fast/ruby/ruby-runs-spans.html:
  • fast/ruby/ruby-runs.html:
  • fast/ruby/ruby-simple-rp.html:
  • fast/ruby/ruby-simple.html:
  • fast/ruby/ruby-trailing.html:
  • fast/ruby/rubyDOM-insert-rt.html:
  • fast/ruby/rubyDOM-insert-text1.html:
  • fast/ruby/rubyDOM-insert-text2.html:
  • fast/ruby/rubyDOM-insert-text3.html:
  • fast/ruby/rubyDOM-remove-rt1.html:
  • fast/ruby/rubyDOM-remove-rt2.html:
  • fast/ruby/rubyDOM-remove-text1.html:
  • fast/ruby/rubyDOM-remove-text2.html:
  • platform/mac/fast/ruby/ruby-empty-rt-expected.checksum:
  • platform/mac/fast/ruby/ruby-empty-rt-expected.png:
  • platform/mac/fast/ruby/ruby-empty-rt-expected.txt:
  • platform/mac/fast/ruby/ruby-length-expected.checksum:
  • platform/mac/fast/ruby/ruby-length-expected.png:
  • platform/mac/fast/ruby/ruby-length-expected.txt:
  • platform/mac/fast/ruby/ruby-run-break-expected.checksum:
  • platform/mac/fast/ruby/ruby-run-break-expected.png:
  • platform/mac/fast/ruby/ruby-run-break-expected.txt:
  • platform/mac/fast/ruby/ruby-runs-expected.checksum:
  • platform/mac/fast/ruby/ruby-runs-expected.png:
  • platform/mac/fast/ruby/ruby-runs-expected.txt:
  • platform/mac/fast/ruby/ruby-runs-spans-expected.checksum:
  • platform/mac/fast/ruby/ruby-runs-spans-expected.png:
  • platform/mac/fast/ruby/ruby-runs-spans-expected.txt:
  • platform/mac/fast/ruby/ruby-simple-expected.checksum:
  • platform/mac/fast/ruby/ruby-simple-expected.png:
  • platform/mac/fast/ruby/ruby-simple-expected.txt:
  • platform/mac/fast/ruby/ruby-simple-rp-expected.checksum:
  • platform/mac/fast/ruby/ruby-simple-rp-expected.png:
  • platform/mac/fast/ruby/ruby-simple-rp-expected.txt:
  • platform/mac/fast/ruby/ruby-trailing-expected.checksum:
  • platform/mac/fast/ruby/ruby-trailing-expected.png:
  • platform/mac/fast/ruby/ruby-trailing-expected.txt:
  • platform/mac/fast/ruby/rubyDOM-insert-rt-expected.checksum:
  • platform/mac/fast/ruby/rubyDOM-insert-rt-expected.png:
  • platform/mac/fast/ruby/rubyDOM-insert-rt-expected.txt:
  • platform/mac/fast/ruby/rubyDOM-insert-text1-expected.checksum:
  • platform/mac/fast/ruby/rubyDOM-insert-text1-expected.png:
  • platform/mac/fast/ruby/rubyDOM-insert-text1-expected.txt:
  • platform/mac/fast/ruby/rubyDOM-insert-text2-expected.checksum:
  • platform/mac/fast/ruby/rubyDOM-insert-text2-expected.png:
  • platform/mac/fast/ruby/rubyDOM-insert-text2-expected.txt:
  • platform/mac/fast/ruby/rubyDOM-insert-text3-expected.checksum:
  • platform/mac/fast/ruby/rubyDOM-insert-text3-expected.png:
  • platform/mac/fast/ruby/rubyDOM-insert-text3-expected.txt:
  • platform/mac/fast/ruby/rubyDOM-remove-rt1-expected.checksum:
  • platform/mac/fast/ruby/rubyDOM-remove-rt1-expected.png:
  • platform/mac/fast/ruby/rubyDOM-remove-rt1-expected.txt:
  • platform/mac/fast/ruby/rubyDOM-remove-rt2-expected.checksum:
  • platform/mac/fast/ruby/rubyDOM-remove-rt2-expected.png:
  • platform/mac/fast/ruby/rubyDOM-remove-rt2-expected.txt:
  • platform/mac/fast/ruby/rubyDOM-remove-text1-expected.checksum:
  • platform/mac/fast/ruby/rubyDOM-remove-text1-expected.png:
  • platform/mac/fast/ruby/rubyDOM-remove-text1-expected.txt:
  • platform/mac/fast/ruby/rubyDOM-remove-text2-expected.checksum:
  • platform/mac/fast/ruby/rubyDOM-remove-text2-expected.png:
  • platform/mac/fast/ruby/rubyDOM-remove-text2-expected.txt:
9:58 PM Changeset in webkit [53604] by eric@webkit.org
  • 2 edits in trunk/WebCore

2010-01-20 Kwang Yul Seo <skyul@company100.net>

Reviewed by Alexey Proskuryakov.

Use xmlStrdup instead of strdup for consistency in Libxml2.
https://bugs.webkit.org/show_bug.cgi?id=33935

Remove the direct use of strdup.

  • dom/XMLTokenizerLibxml2.cpp: (WebCore::PendingCallbacks::appendErrorCallback): (WebCore::PendingCallbacks::): (WebCore::XMLTokenizer::error):
9:36 PM Changeset in webkit [53603] by oliver@apple.com
  • 3 edits in trunk/WebCore

2010-01-20 Oliver Hunt <oliver@apple.com>

Reviewed by Dan Bernstein.

Insufficient repaint issues with html embedded in foreignObject
https://bugs.webkit.org/show_bug.cgi?id=16318

Final part of fix -- now we render the selection rect of list
markers in a transformed context.

  • rendering/RenderListMarker.cpp: (WebCore::RenderListMarker::localSelectionRect): (WebCore::RenderListMarker::paint):
  • rendering/RenderListMarker.h:
9:26 PM Changeset in webkit [53602] by eric@webkit.org
  • 2 edits in trunk/LayoutTests

2010-01-20 Eric Seidel <eric@webkit.org>

Reviewed by David Levin.

http/tests/xmlhttprequest/cross-origin-cookie-storage.html failed on Snow Leopard Intel Release Bot
https://bugs.webkit.org/show_bug.cgi?id=33742

  • platform/mac-snowleopard/Skipped: Skip this for now to keep the bots green.
9:05 PM Changeset in webkit [53601] by dbates@webkit.org
  • 3 edits
    2 deletes in trunk

2010-01-20 Daniel Bates <dbates@webkit.org>

No review, rolling out 53591.
http://trac.webkit.org/changeset/53591
https://bugs.webkit.org/show_bug.cgi?id=29564

Rolling out the change committed in change set 53591
<http://trac.webkit.org/changeset/53591> because it caused
a regression of test /fast/replaced/table-percent-height.html
on the Qt bot.

  • platform/qt/RenderThemeQt.cpp: (WebCore::RenderThemeQt::adjustButtonStyle):

2010-01-20 Daniel Bates <dbates@webkit.org>

No review, rolling out 53591.
http://trac.webkit.org/changeset/53591
https://bugs.webkit.org/show_bug.cgi?id=29564

Rolling out the change committed in change set 53591
<http://trac.webkit.org/changeset/53591> because it caused
a regression of test /fast/replaced/table-percent-height.html
on the Qt bot.

  • fast/css/button-height-expected.txt: Removed.
  • fast/css/button-height.html: Removed.
8:54 PM Changeset in webkit [53600] by eric@webkit.org
  • 2 edits in trunk/WebCore

2010-01-20 Stephen White <senorblanco@chromium.org>

Reviewed by David Levin.

Disable the "seatbelt" coordinate validation functions in the
Skia graphics layer. We believe all the underlying bugs have
been fixed, but just in case we're being overly optimistic, this
leaves in the code for an easy revert.

https://bugs.webkit.org/show_bug.cgi?id=33908
Exercised by many layout tests.

  • platform/graphics/skia/GraphicsContextSkia.cpp:
8:46 PM Changeset in webkit [53599] by dbates@webkit.org
  • 2 edits in trunk/LayoutTests

2010-01-20 Daniel Bates <dbates@webkit.org>

No review, rolling out 53594.
http://trac.webkit.org/changeset/53594
https://bugs.webkit.org/show_bug.cgi?id=33936

Note, there still is an issue on GTK related to the rendering of
button heights. But we are rolling out this change since
we're going to rollout the change committed in change set 53591
<http://trac.webkit.org/changeset/53591> because r53591 caused a
regression.

  • platform/gtk/Skipped:
8:39 PM Changeset in webkit [53598] by eric@webkit.org
  • 7 edits in trunk

2010-01-20 Kent Tamura <tkent@chromium.org>

Reviewed by Darin Adler.

HTMLInputElement::valueAsDate setter support for type=date.
https://bugs.webkit.org/show_bug.cgi?id=33911

Add setter tests to input-valueasdate-date.js, and update the
expectation.

  • fast/forms/input-valueasdate-date-expected.txt:
  • fast/forms/script-tests/input-valueasdate-date.js:

2010-01-20 Kent Tamura <tkent@chromium.org>

Reviewed by Darin Adler.

HTMLInputElement::valueAsDate setter support for type=date.
https://bugs.webkit.org/show_bug.cgi?id=33911

Introduce ISODateTime::setMillisecondsSinceEpochForDate() and add Date
type support to ISODateTime::toString().

  • html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::setValueAsDate):
  • html/ISODateTime.cpp: (WebCore::ISODateTime::setMillisecondsSinceEpochForDate): (WebCore::ISODateTime::toString):
  • html/ISODateTime.h:
8:23 PM Changeset in webkit [53597] by eric@webkit.org
  • 3 edits
    4 adds in trunk

2010-01-20 Ben Murdoch <benm@google.com>

Reviewed by Simon Hausmann.

Touch Events are not sent to iframes
https://bugs.webkit.org/show_bug.cgi?id=33894

Testcase to verify that touch events are sent to iframes when the main frame document does not have any touch event listeners installed.

  • fast/events/touch/resources: Added.
  • fast/events/touch/resources/touch-inside-iframe2.html: Added.
  • fast/events/touch/touch-inside-iframe-expected.txt: Added.
  • fast/events/touch/touch-inside-iframe.html: Added.

2010-01-20 Ben Murdoch <benm@google.com>

Reviewed by Simon Hausmann.

Touch Events are not sent to iframes
https://bugs.webkit.org/show_bug.cgi?id=33894

Fix the touch event handler so it does not bail out early if the main frame document does not have any touch listeners registered, as there may be embedded iframes that have registered for touch events.

Test: fast/events/touch/touch-inside-iframe.html

  • page/EventHandler.cpp: (WebCore::EventHandler::handleTouchEvent): Instead of looking at the document of the main frame to see if touch event listeners are registered, look at the document of the target element to account for iframes.
8:07 PM Changeset in webkit [53596] by eric@webkit.org
  • 3 edits
    2 adds in trunk

2010-01-20 Michael Nordman <Michael Nordman>

Reviewed by Alexey Proskuryakov.

Remove an assertion that is not valid in some detached iframes cases.
https://bugs.webkit.org/show_bug.cgi?id=33827

  • http/tests/appcache/detached-iframe-expected.txt: Added.
  • http/tests/appcache/detached-iframe.html: Added.

2010-01-20 Michael Nordman <Michael Nordman>

Reviewed by Alexey Proskuryakov.

Remove an assertion that is not valid in some detached iframes cases.
https://bugs.webkit.org/show_bug.cgi?id=33827

Test: http/tests/appcache/detached-iframe.html

  • loader/appcache/DOMApplicationCache.cpp: (WebCore::DOMApplicationCache::DOMApplicationCache):
7:49 PM Changeset in webkit [53595] by eric@webkit.org
  • 22 edits in trunk/WebCore

2010-01-20 Eric Uhrhane <ericu@chromium.org>

Reviewed by Dmitry Titov.

Refactoring and plumbing to get the HTML5 SQL Database API accessible to
web workers. No new functionality is exposed yet; this just gets the
infrastructure in place. It touches a lot of files in small ways; here
are the main changes:

1) Database members and methods move from Document up to
ScriptExecutionContext. Each of Document and WorkerContext must
implement a few virtual methods where the Database code requires
differentiation.
2) Worker thread shutdown got changed a bunch to handle Database cleanup
and thread synchronization issues. Database cleanup tasks need to post
some cleanup tasks to the JavaScript thread. However, since database
cleanup may happen due to the destruction of the WorkerThread, I added a
handshake [involving WorkerThreadShutdownStartTask,
WorkerThreadShutdownFinishTask, and a DatabaseTaskSynchronizer] between
the Database thread and WorkerThread that cleans up all the Database
stuff before the WorkerThread's runLoop can exit.
3) The runtime enabler for the Database moved to a static variable
accessible through Database::isAvailable, following the model used by
WebSocket.
4) Worker threads don't run their JavaScript on the Main thread, so
Database code that differentiated between the Main thread and the
Database thread now need to deal with a third possibility.
5) Most of the other changes have to do with having a
ScriptExecutionContext pointer instead of a Document pointer when
dealing with a Database. In many cases it's just a string replacement,
but in some it required the creation of a new virtual function [e.g.
databaseExceededQuota, isDatabaseReadOnly]

https://bugs.webkit.org/show_bug.cgi?id=22725

No new tests; in a future patch I'll add JSC and V8 bindings and new
layout tests to exercise them.

  • bindings/v8/custom/V8DOMWindowCustom.cpp: (WebCore::V8DOMWindow::OpenDatabaseEnabled):
  • dom/Document.cpp: (WebCore::Document::Document): (WebCore::Document::~Document): (WebCore::Document::isDatabaseReadOnly): (WebCore::Document::databaseExceededQuota): (WebCore::Document::isContextThread):
  • dom/Document.h:
  • dom/ScriptExecutionContext.cpp: (WebCore::ScriptExecutionContext::ScriptExecutionContext): (WebCore::ScriptExecutionContext::~ScriptExecutionContext): (WebCore::ScriptExecutionContext::databaseThread): (WebCore::ScriptExecutionContext::addOpenDatabase): (WebCore::ScriptExecutionContext::removeOpenDatabase): (WebCore::ScriptExecutionContext::stopDatabases):
  • dom/ScriptExecutionContext.h: (WebCore::ScriptExecutionContext::setHasOpenDatabases): (WebCore::ScriptExecutionContext::hasOpenDatabases): (WebCore::ScriptExecutionContext::Task::isCleanupTask):
  • loader/FrameLoader.cpp: (WebCore::FrameLoader::stopLoading):
  • storage/Database.cpp: (WebCore::Database::setIsAvailable): (WebCore::Database::isAvailable): (WebCore::Database::openDatabase): (WebCore::Database::Database): (WebCore::DerefContextTask::create): (WebCore::DerefContextTask::performTask): (WebCore::DerefContextTask::isCleanupTask): (WebCore::Database::~Database): (WebCore::Database::openAndVerifyVersion): (WebCore::Database::markAsDeletedAndClose): (WebCore::ContextRemoveOpenDatabaseTask::create): (WebCore::ContextRemoveOpenDatabaseTask::performTask): (WebCore::ContextRemoveOpenDatabaseTask::isCleanupTask): (WebCore::ContextRemoveOpenDatabaseTask::ContextRemoveOpenDatabaseTask): (WebCore::Database::close): (WebCore::Database::performOpenAndVerify): (WebCore::Database::scheduleTransaction): (WebCore::Database::scheduleTransactionStep): (WebCore::DeliverPendingCallbackTask::create): (WebCore::DeliverPendingCallbackTask::performTask): (WebCore::DeliverPendingCallbackTask::DeliverPendingCallbackTask): (WebCore::Database::scheduleTransactionCallback): (WebCore::Database::transactionClient): (WebCore::Database::transactionCoordinator): (WebCore::Database::tableNames): (WebCore::Database::securityOrigin):
  • storage/Database.h: (WebCore::Database::scriptExecutionContext):
  • storage/DatabaseTask.h:
  • storage/DatabaseThread.cpp: (WebCore::DatabaseThread::DatabaseThread): (WebCore::DatabaseThread::~DatabaseThread): (WebCore::DatabaseThread::requestTermination): (WebCore::DatabaseThread::databaseThread): (WebCore::DatabaseThread::unscheduleDatabaseTasks):
  • storage/DatabaseThread.h:
  • storage/DatabaseTracker.cpp: (WebCore::DatabaseTracker::canEstablishDatabase): (WebCore::DatabaseTracker::getMaxSizeForDatabase):
  • storage/DatabaseTracker.h:
  • storage/SQLTransaction.cpp: (WebCore::SQLTransaction::executeSQL):
  • storage/SQLTransactionClient.cpp: (WebCore::SQLTransactionClient::didCommitTransaction): (WebCore::SQLTransactionClient::didExecuteStatement): (WebCore::SQLTransactionClient::didExceedQuota):
  • storage/chromium/DatabaseTrackerChromium.cpp: (WebCore::DatabaseTracker::canEstablishDatabase): (WebCore::DatabaseTracker::addOpenDatabase): (WebCore::TrackerRemoveOpenDatabaseTask::create): (WebCore::TrackerRemoveOpenDatabaseTask::performTask): (WebCore::TrackerRemoveOpenDatabaseTask::TrackerRemoveOpenDatabaseTask): (WebCore::DatabaseTracker::removeOpenDatabase): (WebCore::DatabaseTracker::getMaxSizeForDatabase):
  • storage/chromium/SQLTransactionClientChromium.cpp: (WebCore::NotifyDatabaseChangedTask::create): (WebCore::NotifyDatabaseChangedTask::performTask): (WebCore::NotifyDatabaseChangedTask::NotifyDatabaseChangedTask): (WebCore::SQLTransactionClient::didCommitTransaction): (WebCore::SQLTransactionClient::didExecuteStatement): (WebCore::SQLTransactionClient::didExceedQuota):
  • workers/WorkerContext.cpp: (WebCore::WorkerContext::openDatabase): (WebCore::WorkerContext::isContextThread):
  • workers/WorkerContext.h: (WebCore::WorkerContext::clearScript): (WebCore::WorkerContext::thread): (WebCore::WorkerContext::isDatabaseReadOnly): (WebCore::WorkerContext::databaseExceededQuota):
  • workers/WorkerRunLoop.cpp: (WebCore::WorkerRunLoop::runInMode): (WebCore::WorkerRunLoop::Task::performTask):
  • workers/WorkerThread.cpp: (WebCore::WorkerThread::workerThread): (WebCore::WorkerThreadShutdownFinishTask::create): (WebCore::WorkerThreadShutdownFinishTask::performTask): (WebCore::WorkerThreadShutdownFinishTask::isCleanupTask): (WebCore::WorkerThreadShutdownStartTask::create): (WebCore::WorkerThreadShutdownStartTask::performTask): (WebCore::WorkerThreadShutdownStartTask::isCleanupTask): (WebCore::WorkerThread::stop):
7:23 PM Changeset in webkit [53594] by dbates@webkit.org
  • 2 edits in trunk/LayoutTests

2010-01-20 Daniel Bates <dbates@webkit.org>

Unreviewed. Add failing test fast/css/button-height.html
to GTK Skipped file as we need to look into this.
See bug #33936 for more details.

  • platform/gtk/Skipped:
7:09 PM Changeset in webkit [53593] by eric@webkit.org
  • 6 edits in trunk/WebKitTools

2010-01-20 Eric Seidel <eric@webkit.org>

Reviewed by Adam Barth.

webkit-commit-queue status page is confusing
https://bugs.webkit.org/show_bug.cgi?id=33496

This should improve the status page by removing more Fail messages.
To do this, I re-factored the CommitQueue and the AbstractReviewQueues
to behave more like one another. This meant moving where the failure reporting was done.
Previously the AbstractReviewQueue always used the parent process to report the error,
while CommitQueue used the subprocess when possible, and the parent only reported errors
that we didn't know how to handle (bugs in the commit-queue itself).
Now the AbstractReviewQueue follow's the commit-queue's model. This got rid of a try-block
in both implementations and required teaching handle_script_error in each to post Fail messages
to the status server instead of calling exit(1).

This will also make the style-queue share more bug posting logic with other queues:
https://bugs.webkit.org/show_bug.cgi?id=33871

  • Scripts/webkitpy/commands/early_warning_system.py:
    • Don't exit(1) as that will cause the calling queue to also report Fail to the status server. Implementors of handle_script_error are expected to update the status server if needed, but only exit if the error could not be handled. So we instead pass patch_has_failed_this_queue=True to _update_status_for_script_error in the case that this was a real failure. _update_status_for_script_error knows how to post the Fail message to the status server.
    • Teach _update_status_for_script_error how to post Fail messages to the status server.
  • Scripts/webkitpy/commands/queues.py:
    • Remove the try block from process_work_item since the caller already has one.
    • Only CC watchers on failure to cut down on commit-queue generated mail.
    • handle_unexpected_error needs to mark _did_fail now that the try block is gone from process_work_item.
    • Abstract _format_script_error_output_for_bug to share code between all queues.
    • The new _format_script_error_output_for_bug allows the style-queue to share the posting limit with other queues, as well as support linking to the full output.
    • Rename _can_build_and_test to _current_checkout_builds_and_passes_tests to better explain what revision it's testing.
    • Move logging out of _can_build_and_test and make the logs explain what revision we're testing.
    • handle_script_error now posts Fail instead of the try block in process_work_item handling it.
  • Scripts/webkitpy/queueengine.py:
    • QueueEngine is no longer used just by the commit-queue, update the logging to say "processing" instead of landing.
  • Scripts/webkitpy/scm.py:
    • Add new checkout_revision function.
  • Scripts/webkitpy/scm_unittest.py:
    • Test our new checkout_revision function.
6:41 PM Changeset in webkit [53592] by ukai@chromium.org
  • 12 edits
    4 adds in trunk

2010-01-20 Fumitoshi Ukai <ukai@chromium.org>

Reviewed by Alexey Proskuryakov.

WebSocket: Request-URI should not be empty when no tralling slash in host
https://bugs.webkit.org/show_bug.cgi?id=33689

  • websocket/tests/handler_map.txt: Added. use websocket/tests/echo-location_wsh.py to handle request for ws://127.0.0.1:8880
  • websocket/tests/script-tests/url-no-trailing-slash.js: Added.
  • websocket/tests/url-no-trailing-slash-expected.txt: Added.
  • websocket/tests/url-no-trailing-slash.html: Added.

2010-01-20 Fumitoshi Ukai <ukai@chromium.org>

Reviewed by Alexey Proskuryakov.

WebSocket: Request-URI should not be empty when no tralling slash in host
https://bugs.webkit.org/show_bug.cgi?id=33689

Test: websocket/tests/url-no-trailing-slash.html

  • websockets/WebSocketHandshake.cpp: (WebCore::resourceName):

2010-01-20 Fumitoshi Ukai <ukai@chromium.org>

Reviewed by Alexey Proskuryakov.

WebSocket: Missing Request-URI, when no tralling slash in host
https://bugs.webkit.org/show_bug.cgi?id=33689

Update pywebsocket to 0.4.7.1, which supports alias for resource
name, so that we could test for ws://127.0.0.1:8880

  • Scripts/run-webkit-tests:
  • Scripts/run-webkit-websocketserver:
  • pywebsocket/mod_pywebsocket/dispatch.py:
  • pywebsocket/mod_pywebsocket/handshake.py:
  • pywebsocket/mod_pywebsocket/standalone.py:
  • pywebsocket/setup.py:
  • pywebsocket/test/test_dispatch.py:
  • pywebsocket/test/test_handshake.py:
6:31 PM Changeset in webkit [53591] by dbates@webkit.org
  • 3 edits
    2 adds in trunk

2010-01-20 Daniel Bates <dbates@webkit.org>

Reviewed by Tor Arne Vestbø.

https://bugs.webkit.org/show_bug.cgi?id=29564

[Qt] Fixes an issue where the height of <button>- and
<input type="button">- elements are fixed to the height of the
button label font plus padding. That is, the CSS height property
is being ignored.

Instead, we should honor the user-specified height, if appropriate
for the platform and context. Notice, the Mac ports do not honor the
height for <input type="button"> elements unless a border and/or
background is also specified.

Test: fast/css/button-height.html

  • platform/qt/RenderThemeQt.cpp: (WebCore::RenderThemeQt::RenderThemeQt): (WebCore::RenderThemeQt::adjustButtonStyle):

2010-01-20 Daniel Bates <dbates@webkit.org>

Reviewed by Tor Arne Vestbø.

https://bugs.webkit.org/show_bug.cgi?id=29564


Tests that the user-specified height for <button>- and <input type="button">-
elements are honored, if appropriate for the platform and context.

  • fast/css/button-height-expected.txt: Added.
  • fast/css/button-height.html: Added.
6:23 PM Changeset in webkit [53590] by beidson@apple.com
  • 3 edits
    2 adds in trunk

WebCore: Assertion failure calling history.pushState within popstate event handler.
https://bugs.webkit.org/show_bug.cgi?id=33830

Reviewed by Sam Weinig.

Test: fast/loader/stateobjects/pushstate-within-popstate-handler-assert.html

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::navigateWithinDocument): Remove the ASSERT and invalid part of the comment.

LayoutTests: Crash in Page::backForwardList when using History object from a detached window
<rdar://problem/7556252> and https://bugs.webkit.org/show_bug.cgi?id=33828

Reviewed by Sam Weinig.

  • fast/loader/stateobjects/state-api-on-detached-frame-crash-expected.txt: Added.
  • fast/loader/stateobjects/state-api-on-detached-frame-crash.html: Added.
6:10 PM Changeset in webkit [53589] by Nikolas Zimmermann
  • 2 edits
    1 add in trunk/WebCore

2010-01-20 Nikolas Zimmermann <nzimmermann@rim.com>

Reviewed by Oliver Hunt.

Crash on dispatching SVG mouse events
https://bugs.webkit.org/show_bug.cgi?id=33841

Return early SVGUseElement::instanceForShadowTreeElement if m_targetElementInstance is zero.
This only happens if the SVGUseElement has just been removed from the document and EventHandler
tries to dispatch a mouseout event to the corresponding SVGElementInstance. This is not testable
using DRT unfortunately, so we have to add another manual testcase for that.

Tests: manual-tests/use-crash-on-mouse-hover.svg

  • manual-tests/svg-crash-hovering-use.svg: Added.
  • svg/SVGUseElement.cpp: (WebCore::SVGUseElement::instanceForShadowTreeElement): Add ASSERT(!inDocument()) when returning 0 here if m_targetElementInstance is 0.
6:08 PM Changeset in webkit [53588] by eric@webkit.org
  • 4 edits in trunk/WebCore

2010-01-20 Ilya Tikhonovsky <loislo@chromium.org>

Reviewed by Pavel Feldman.

Timeline reset button doesn't clean timeline if the panel is scrolled down.
The overview pane also stay dirty after reset.
https://bugs.webkit.org/show_bug.cgi?id=33829

  • inspector/front-end/TimelineGrid.js: (WebInspector.TimelineGrid.prototype.updateDividers):
  • inspector/front-end/TimelineOverviewPane.js: (WebInspector.TimelineOverviewPane.prototype.reset):
  • inspector/front-end/TimelinePanel.js: (WebInspector.TimelinePanel.prototype.reset): (WebInspector.TimelinePanel.prototype._refreshRecords):
5:46 PM Changeset in webkit [53587] by ap@apple.com
  • 3 edits
    2 adds in trunk

Reviewed by Sam Weinig.

https://bugs.webkit.org/show_bug.cgi?id=33930
Crash in JSDOMWindowBase::crossDomainAccessErrorMessage when accessing a detached sandboxed frame

Test: http/tests/security/detached-sandboxed-frame-access.html

  • bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBase::crossDomainAccessErrorMessage): Changed the way we discover the url to match what the actual check does. Both old and new code correctly fetch the URL of the current window displayed in frame, but going via DOMWindowShell avoids crashing on null DOMWindow::m_frame pointer.
5:35 PM Changeset in webkit [53586] by eric@webkit.org
  • 16 edits
    1 add in trunk

2010-01-20 Vitaly Repeshko <vitalyr@chromium.org>

Reviewed by Pavel Feldman.

[V8] Support SerializedScriptValue.
https://bugs.webkit.org/show_bug.cgi?id=32920
http://crbug.com/30620

Initial implementation of SerializedScriptValue which is used to
to create a serialized representation of JavaScript objects. This
representation is needed for structured clones and worker messages.

  • WebCore.gypi: Added SerializedScriptValue.cpp.
  • bindings/scripts/CodeGeneratorV8.pm: Removed conversion to string before using SerializedScriptValue.
  • bindings/v8/SerializedScriptValue.cpp: Added. (WebCore::): (WebCore::ZigZag::encode): (WebCore::ZigZag::decode): (WebCore::Writer::Writer): (WebCore::Writer::writeUndefined): (WebCore::Writer::writeNull): (WebCore::Writer::writeTrue): (WebCore::Writer::writeFalse): (WebCore::Writer::writeString): (WebCore::Writer::writeInt32): (WebCore::Writer::writeNumber): (WebCore::Writer::endComposite): (WebCore::Writer::data): (WebCore::Writer::doWriteUint32): (WebCore::Writer::append): (WebCore::Writer::ensureSpace): (WebCore::Writer::fillHole): (WebCore::Writer::charAt): (WebCore::Serializer::Serializer): (WebCore::Serializer::serialize): (WebCore::Serializer::StateBase::~StateBase): (WebCore::Serializer::StateBase::nextState): (WebCore::Serializer::StateBase::setNextState): (WebCore::Serializer::StateBase::composite): (WebCore::Serializer::StateBase::StateBase): (WebCore::Serializer::State::composite): (WebCore::Serializer::State::tag): (WebCore::Serializer::State::State): (WebCore::Serializer::StackCleaner::StackCleaner): (WebCore::Serializer::StackCleaner::~StackCleaner): (WebCore::Serializer::ArrayState::ArrayState): (WebCore::Serializer::ArrayState::done): (WebCore::Serializer::ArrayState::advance): (WebCore::Serializer::ObjectState::ObjectState): (WebCore::Serializer::ObjectState::done): (WebCore::Serializer::ObjectState::advance): (WebCore::Serializer::ObjectState::nextProperty): (WebCore::Serializer::doSerialize): (WebCore::Serializer::push): (WebCore::Serializer::top): (WebCore::Serializer::pop): (WebCore::Serializer::checkComposite): (WebCore::Reader::Reader): (WebCore::Reader::isEof): (WebCore::Reader::read): (WebCore::Reader::readTag): (WebCore::Reader::readString): (WebCore::Reader::readInt32): (WebCore::Reader::readNumber): (WebCore::Reader::doReadUint32): (WebCore::Deserializer::Deserializer): (WebCore::Deserializer::deserialize): (WebCore::Deserializer::doDeserialize): (WebCore::Deserializer::push): (WebCore::Deserializer::pop): (WebCore::Deserializer::stackDepth): (WebCore::Deserializer::element): (WebCore::SerializedScriptValue::SerializedScriptValue): (WebCore::SerializedScriptValue::deserialize):
  • bindings/v8/SerializedScriptValue.h: (WebCore::SerializedScriptValue::create): (WebCore::SerializedScriptValue::createFromWire): (WebCore::SerializedScriptValue::release): (WebCore::SerializedScriptValue::toWireString):

Updated uses of SerializedScriptValue:

  • bindings/v8/custom/V8DOMWindowCustom.cpp: (WebCore::V8DOMWindow::postMessageCallback):
  • bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp: (WebCore::V8DedicatedWorkerContext::postMessageCallback):
  • bindings/v8/custom/V8HistoryCustom.cpp: (WebCore::V8History::pushStateCallback): (WebCore::V8History::replaceStateCallback):
  • bindings/v8/custom/V8MessageEventCustom.cpp: (WebCore::V8MessageEvent::initMessageEventCallback):
  • bindings/v8/custom/V8MessagePortCustom.cpp: (WebCore::V8MessagePort::postMessageCallback):
  • bindings/v8/custom/V8WorkerCustom.cpp: (WebCore::V8Worker::postMessageCallback):

2010-01-20 Vitaly Repeshko <vitalyr@chromium.org>

Reviewed by Pavel Feldman.

[V8] Support SerializedScriptValue.
https://bugs.webkit.org/show_bug.cgi?id=32920
http://crbug.com/30620

Updated uses of SerializedScriptValue:

  • src/PlatformMessagePortChannel.cpp: (WebCore::PlatformMessagePortChannel::postMessageToRemote): (WebCore::PlatformMessagePortChannel::tryGetMessageFromRemote):
  • src/WebWorkerBase.cpp: (WebKit::WebWorkerBase::postMessageToWorkerObject):
  • src/WebWorkerClientImpl.cpp: (WebKit::WebWorkerClientImpl::postMessageToWorkerContext): (WebKit::WebWorkerClientImpl::postMessageToWorkerObjectTask):
  • src/WebWorkerImpl.cpp: (WebKit::WebWorkerImpl::postMessageToWorkerContextTask):
5:13 PM Changeset in webkit [53585] by Nikolas Zimmermann
  • 2 edits in trunk/LayoutTests

2010-01-20 Nikolas Zimmermann <nzimmermann@rim.com>

Not reviewed. Re-skip svg/custom/use-instanceRoot-event-bubbling.xhtml on Gtk bot, still fails. Though the other platforms are fixed.
Reopened bug 33835.

  • platform/gtk/Skipped:
5:11 PM Changeset in webkit [53584] by mrowe@apple.com
  • 2 edits in trunk/JavaScriptCore

Build fix.

  • wtf/FastMalloc.cpp:

(WTF::TCMalloc_PageHeap::initializeScavenger): Remove unnecessary function call.

5:05 PM Changeset in webkit [53583] by sfalken@apple.com
  • 2 edits in trunk/WebKit/win

Add missing implementation for WebGeolocationPosition::initWithTimestamp.

Reviewed by Sam Weinig.

  • WebGeolocationPosition.cpp:

(WebGeolocationPosition::initWithTimestamp): Implemented.

5:04 PM Changeset in webkit [53582] by sfalken@apple.com
  • 2 edits in trunk/WebCore

Fix crash in geolocation when observers change during iteration.

Reviewed by Sam Weinig.

  • page/GeolocationController.cpp:

(WebCore::GeolocationController::positionChanged): Copy observers to vector while iterating.
(WebCore::GeolocationController::errorOccurred): Copy observers to vector while iterating.

5:03 PM Changeset in webkit [53581] by jhoneycutt@apple.com
  • 2 edits in trunk/WebCore

<rdar://problem/7086565> Crash in WebCore::PlugInView::dispatchNPEvent

Reviewed by Sam Weinig.

  • plugins/PluginView.cpp:

(WebCore::PluginView::handleEvent):
Ref the PluginView to protect it from deletion while calling into the
plug-in.

5:01 PM Changeset in webkit [53580] by mrowe@apple.com
  • 2 edits in trunk/JavaScriptCore

Use the inline i386 assembly for x86_64 as well rather than falling back to using pthread mutexes.

Reviewed by Oliver Hunt.

  • wtf/TCSpinLock.h:

(TCMalloc_SpinLock::Lock):
(TCMalloc_SpinLock::Unlock):
(TCMalloc_SlowLock):

5:01 PM Changeset in webkit [53579] by mrowe@apple.com
  • 3 edits in trunk/JavaScriptCore

<rdar://problem/7215063> Use GCD instead of an extra thread for FastMalloc scavenging on platforms where it is supported

Reviewed by Oliver Hunt.

Abstract the background scavenging slightly so that an alternate implementation that uses GCD can be used on platforms
where it is supported.

  • wtf/FastMalloc.cpp:

(WTF::TCMalloc_PageHeap::init):
(WTF::TCMalloc_PageHeap::initializeScavenger):
(WTF::TCMalloc_PageHeap::signalScavenger):
(WTF::TCMalloc_PageHeap::shouldContinueScavenging):
(WTF::TCMalloc_PageHeap::Delete):
(WTF::TCMalloc_PageHeap::periodicScavenge):

  • wtf/Platform.h:
4:40 PM Changeset in webkit [53578] by eric@webkit.org
  • 2 edits in trunk/LayoutTests

2010-01-20 Eric Seidel <eric@webkit.org>

Reviewed by Maciej Stachowiak.

REGRESSION(r53514?): fast/canvas/webgl/texImage2DImageDataTest.html fails on Leopard Release Bot
https://bugs.webkit.org/show_bug.cgi?id=33893

  • platform/mac-leopard/Skipped: Skip the test for now.
4:31 PM Changeset in webkit [53577] by oliver@apple.com
  • 4 edits in trunk/WebCore

2010-01-19 Oliver Hunt <oliver@apple.com>

Reviewed by Dan Bernstein.

Insufficient repaint issues with html embedded in foreignObject
https://bugs.webkit.org/show_bug.cgi?id=16318

Partial fix for selection repaint in foreignObject, basically we
just need to make sure foreignObject correctly applies the svg
transform to the selection rect.

  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::paintSelection):
  • rendering/RenderForeignObject.cpp: (WebCore::RenderForeignObject::mapLocalToContainer):
  • rendering/RenderForeignObject.h:
4:21 PM Changeset in webkit [53576] by Nikolas Zimmermann
  • 5 edits
    18 adds in trunk/LayoutTests

2010-01-20 Nikolas Zimmermann <nzimmermann@rim.com>

Rubber-stamped by Eric Seidel.

Add Leopard specific pixel test results where needed, most just show marginal 1px diffs, or even invisible changes,
only the filter test changed, but it visually looks the same - must be a Cg difference to the Snow Leopard baseline.
Now the pixel tests pass again with --tolerance 0 on my Leopard machine.

  • platform/mac-leopard/svg/W3C-SVG-1.1/pservers-grad-17-b-expected.checksum:
  • platform/mac-leopard/svg/W3C-SVG-1.1/pservers-grad-17-b-expected.png:
  • platform/mac-leopard/svg/css/circle-in-mask-with-shadow-expected.checksum: Added.
  • platform/mac-leopard/svg/css/circle-in-mask-with-shadow-expected.png: Added.
  • platform/mac-leopard/svg/css/composite-shadow-example-expected.checksum:
  • platform/mac-leopard/svg/css/composite-shadow-example-expected.png:
  • platform/mac-leopard/svg/css/composite-shadow-with-opacity-expected.checksum: Added.
  • platform/mac-leopard/svg/css/composite-shadow-with-opacity-expected.png: Added.
  • platform/mac-leopard/svg/css/css-box-min-width-expected.checksum: Added.
  • platform/mac-leopard/svg/css/css-box-min-width-expected.png: Added.
  • platform/mac-leopard/svg/css/mask-with-shadow-expected.checksum: Added.
  • platform/mac-leopard/svg/css/mask-with-shadow-expected.png: Added.
  • platform/mac-leopard/svg/custom/container-opacity-clip-viewBox-expected.checksum: Added.
  • platform/mac-leopard/svg/custom/container-opacity-clip-viewBox-expected.png: Added.
  • platform/mac-leopard/svg/custom/js-update-bounce-expected.checksum: Added.
  • platform/mac-leopard/svg/custom/js-update-bounce-expected.png: Added.
  • platform/mac-leopard/svg/custom/svg-fonts-in-html-expected.checksum: Added.
  • platform/mac-leopard/svg/custom/svg-fonts-in-html-expected.png: Added.
  • platform/mac-leopard/svg/filters: Added.
  • platform/mac-leopard/svg/filters/shadow-on-rect-with-filter-expected.checksum: Added.
  • platform/mac-leopard/svg/filters/shadow-on-rect-with-filter-expected.png: Added.
4:15 PM Changeset in webkit [53575] by barraclough@apple.com
  • 5 edits in trunk/WebCore

<rdar://problem/7557695> REGRESSION(r53445-r53449): Many new memory leaks (33867)

Reviewed by NOBODY.

Revert r53447, since this caused leaks.

  • WebCore.base.exp:
  • platform/text/StringImpl.cpp:

(WebCore::StringImpl::operator new):
(WebCore::StringImpl::operator delete):
(WebCore::StringImpl::StringImpl):
(WebCore::StringImpl::~StringImpl):
(WebCore::StringImpl::create):
(WebCore::StringImpl::createWithTerminatingNullCharacter):
(WebCore::StringImpl::crossThreadString):
(WebCore::StringImpl::sharedBuffer):

  • platform/text/StringImpl.h:

(WebCore::StringImpl::hasTerminatingNullCharacter):
(WebCore::StringImpl::inTable):
(WebCore::StringImpl::setInTable):
(WebCore::StringImpl::):

  • storage/OriginUsageRecord.cpp:

(WebCore::OriginUsageRecord::addDatabase):
(WebCore::OriginUsageRecord::markDatabase):

3:53 PM Changeset in webkit [53574] by jianli@chromium.org
  • 32 edits
    3 adds in trunk

Implement File and Blob interfaces as defined in File API spec.
https://bugs.webkit.org/show_bug.cgi?id=32912

Reviewed by Dmitry Titov.

WebCore:

  • Android.derived.jscbindings.mk:
  • Android.derived.v8bindings.mk:
  • Android.mk:
  • DerivedSources.cpp:
  • DerivedSources.make:
  • GNUmakefile.am:
  • WebCore.gypi:
  • WebCore.pri:
  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • WebCoreSources.bkl:
  • bindings/js/JSXMLHttpRequestCustom.cpp:

(WebCore::JSXMLHttpRequest::send):

  • bindings/objc/DOMHTML.h:
  • bindings/objc/PublicDOMInterfaces.h:
  • bindings/scripts/CodeGeneratorJS.pm:
  • bindings/scripts/CodeGeneratorObjC.pm:
  • bindings/scripts/CodeGeneratorV8.pm:
  • bindings/v8/DOMObjectsInclude.h:
  • bindings/v8/DerivedSourcesAllInOne.cpp:
  • bindings/v8/V8Binding.h:

(WebCore::toInt64):

  • bindings/v8/V8Index.cpp:
  • bindings/v8/V8Index.h:
  • bindings/v8/custom/V8XMLHttpRequestCustom.cpp:

(WebCore::V8XMLHttpRequest::sendCallback):

  • html/File.cpp:

(WebCore::File::File):

  • html/File.h:

(WebCore::File::create):
(WebCore::File::name):
(WebCore::File::fileName):
(WebCore::File::fileSize):

  • html/File.idl:
  • xml/XMLHttpRequest.cpp:

(WebCore::XMLHttpRequest::send):

  • xml/XMLHttpRequest.h:

WebKit/mac:

  • MigrateHeaders.make:
3:49 PM Changeset in webkit [53573] by Chris Fleizach
  • 4 edits
    2 adds in trunk

WAI-ARIA popup buttons spoken as simply 'button'
https://bugs.webkit.org/show_bug.cgi?id=33922

Reviewed by Beth Dakin.

WebCore:

Test: platform/mac/accessibility/aria-popup.html

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::actionElement):
(WebCore::AccessibilityRenderObject::determineAriaRoleAttribute):

  • html/HTMLAttributeNames.in:

LayoutTests:

  • platform/mac/accessibility/aria-popup-expected.txt: Added.
  • platform/mac/accessibility/aria-popup.html: Added.
3:30 PM Changeset in webkit [53572] by ggaren@apple.com
  • 2 edits in trunk/JavaScriptCore

<rdar://problem/7562708> REGRESSION(53460): Heap::destroy may not run
all destructors

Reviewed by Oliver Hunt.

  • runtime/Collector.cpp:

(JSC::Heap::freeBlocks): Instead of fully marking protected objects,
just set their mark bits. This prevents protected objects from keeping
unprotected objects alive. Destructor order is not guaranteed, so it's
OK to destroy objects pointed to by protected objects before destroying
protected objects.

3:19 PM Changeset in webkit [53571] by Csaba Osztrogonác
  • 1 edit
    3 adds in trunk/LayoutTests

[Qt] Platform dependent expected files added for tests introduced in r53476,
because these tests pass. Compared to png files.

Reviewed by Nikolas Zimmermann.

  • platform/qt/fast/fast-mobile-scrolling/fixed-position-element-expected.txt: Added.
  • platform/qt/fast/fast-mobile-scrolling/no-fixed-position-elements-expected.txt: Added.
3:01 PM Changeset in webkit [53570] by eric@webkit.org
  • 6 edits in trunk/WebKitTools

2010-01-20 Eric Seidel <eric@webkit.org>

No review, rolling out r53537.
http://trac.webkit.org/changeset/53537
https://bugs.webkit.org/show_bug.cgi?id=33496

Added a failure condition to the commit-queue and looks to
have broken the EWS bots

  • Scripts/webkitpy/commands/early_warning_system.py:
  • Scripts/webkitpy/commands/queues.py:
  • Scripts/webkitpy/queueengine.py:
  • Scripts/webkitpy/scm.py:
  • Scripts/webkitpy/scm_unittest.py:
2:43 PM Changeset in webkit [53569] by Csaba Osztrogonác
  • 1 edit
    2 adds in trunk/LayoutTests

[Qt] Platform dependent expected files added for tests introduced in r53446,
because these tests pass. Compared to png files.

Reviewed by Nikolas Zimmermann.

  • platform/qt/svg/custom/relative-sized-deep-shadow-tree-content-expected.txt: Added.
  • platform/qt/svg/custom/relative-sized-shadow-tree-content-expected.txt: Added.
2:42 PM Changeset in webkit [53568] by levin@chromium.org
  • 10 edits in trunk

CrossThreadCopier needs to support ThreadSafeShared better.
https://bugs.webkit.org/show_bug.cgi?id=33698

Reviewed by Oliver Hunt.

JavaScriptCore:

  • wtf/TypeTraits.cpp: Added tests for the new type traits.
  • wtf/TypeTraits.h:

(WTF::IsSubclass): Determines if a class is a derived from another class.
(WTF::IsSubclassOfTemplate): Determines if a class is a derived from a
template class (with one parameter that is unknown).
(WTF::RemoveTemplate): Reveals the type for a template parameter.

WebCore:

Now the copier is able to handle types that derive from ThreadSafeShared.

No change functionality so no new tests.

  • loader/WorkerThreadableLoader.cpp:

(WebCore::WorkerThreadableLoader::MainThreadBridge::cancel): Remove unnecessary cast.
(WebCore::WorkerThreadableLoader::MainThreadBridge::clearClientWrapper): Ditto.

  • loader/WorkerThreadableLoader.h:

Change to use the derived class instead of the ThreadSafeShared version.

  • platform/CrossThreadCopier.cpp:

Add the new template parameter throughout the classes and adjust the class that
handles ThreadSafeShared to allow for derived types.

  • platform/CrossThreadCopier.h:

Add another template parameter to be able to detect classes that derive
from ThreadSafeShared.

  • websockets/WorkerThreadableWebSocketChannel.cpp:

Removed unnecessary casts and changed a type to use the derived class instead of
the ThreadSafeShared version.
(WebCore::WorkerThreadableWebSocketChannel::Peer::Peer):
(WebCore::workerContextDidSend):
(WebCore::workerContextDidGetBufferedAmount):
(WebCore::workerContextDidConnect):
(WebCore::workerContextDidReceiveMessage):
(WebCore::workerContextDidClose):
(WebCore::WorkerThreadableWebSocketChannel::Bridge::setWebSocketChannel):
(WebCore::WorkerThreadableWebSocketChannel::Bridge::mainThreadCreateWebSocketChannel):
(WebCore::WorkerThreadableWebSocketChannel::Bridge::send):
(WebCore::WorkerThreadableWebSocketChannel::Bridge::bufferedAmount):
(WebCore::WorkerThreadableWebSocketChannel::Bridge::clearClientWrapper):
(WebCore::WorkerThreadableWebSocketChannel::Bridge::setMethodNotCompleted):
(WebCore::WorkerThreadableWebSocketChannel::Bridge::waitForMethodCompletion):

  • websockets/WorkerThreadableWebSocketChannel.h:

(WebCore::WorkerThreadableWebSocketChannel::Peer::create): Changed a type to use the
derived class instead of the ThreadSafeShared version.

2:31 PM Changeset in webkit [53567] by jhoneycutt@apple.com
  • 11 edits
    2 adds in trunk

MSAA: accSelect() is not implemented

https://bugs.webkit.org/show_bug.cgi?id=33918
<rdar://problem/7436861>

Reviewed by Darin Adler.

WebCore:

Test: platform/win/accessibility/selection-and-focus.html

  • accessibility/AccessibilityMenuListOption.cpp:

(WebCore::AccessibilityMenuListOption::setSelected):
Return early if the object is not selectable.

WebKit/win:

  • AccessibleBase.cpp:

(AccessibleBase::accSelect):
If there is an invalid combination of state flags, return early. If the
caller passed the "take focus" flag, focus the object. If the "take
selection" flag was passed, check whether the parent object is an
AccessibilityListBox; if so, call the object's setSelectedChildren()
function. If the parent is an AccessibilityMenuListPopup, call the
child object's setSelected() function. Otherwise, if the parent is some
other, unsupported object, return early.
If the selection flags include "add", "remove", or "extend" selection,
and the parent object is not multi-selectable, return early. Otherwise,
set or unset the child's selected flag based on the passed flag.

WebKitTools:

  • DumpRenderTree/AccessibilityUIElement.cpp:

(takeFocusCallback):
Call the object's takeFocus() function.
(takeSelectionCallback):
Call its takeSelection() function.
(addSelectionCallback):
Call its addSelection() function.
(removeSelectionCallback):
Call its removeSelection() function.
(AccessibilityUIElement::getJSClass):
Add new functions to the JS class definition.

  • DumpRenderTree/AccessibilityUIElement.h:

Declare new functions.

  • DumpRenderTree/gtk/AccessibilityUIElementGtk.cpp:

(AccessibilityUIElement::takeFocus):
Stubbed.
(AccessibilityUIElement::takeSelection):
Stubbed.
(AccessibilityUIElement::addSelection):
Stubbed.
(AccessibilityUIElement::removeSelection):
Stubbed.

  • DumpRenderTree/mac/AccessibilityUIElementMac.mm:

(AccessibilityUIElement::takeFocus):
Stubbed.
(AccessibilityUIElement::takeSelection):
Stubbed.
(AccessibilityUIElement::addSelection):
Stubbed.
(AccessibilityUIElement::removeSelection):
Stubbed.

  • DumpRenderTree/win/AccessibilityUIElementWin.cpp:

(AccessibilityUIElement::takeFocus):
Call the object's accSelect() function, passing the appropriate flag.
(AccessibilityUIElement::takeSelection):
Ditto.
(AccessibilityUIElement::addSelection):
Ditto.
(AccessibilityUIElement::removeSelection):
Ditto.

LayoutTests:

  • platform/win/accessibility/selection-and-focus-expected.txt: Added.
  • platform/win/accessibility/selection-and-focus.html: Added.
2:23 PM Changeset in webkit [53566] by Nikolas Zimmermann
  • 2 edits in trunk/WebCore

2010-01-20 Nikolas Zimmermann <nzimmermann@rim.com>

Not reviewed. Fix chromium build, introduced a copy&paste error.

  • bindings/v8/ScriptEventListener.cpp: (WebCore::createAttributeEventListener):
2:21 PM Changeset in webkit [53565] by mitz@apple.com
  • 2 edits in trunk/WebCore

<rdar://problem/6579204> Exception thrown when opening a <select> pop-up that
uses a web font
https://bugs.webkit.org/show_bug.cgi?id=23911

Reviewed by Darin Adler.

  • platform/mac/PopupMenuMac.mm:

(WebCore::PopupMenu::populate): Use the (bold) system font if an NSFont cannot
be obtained.

2:01 PM Changeset in webkit [53564] by Nikolas Zimmermann
  • 14 edits
    2 adds in trunk

2010-01-19 Nikolas Zimmermann <nzimmermann@rim.com>

Reviewed by Alexey Proskuryakov.

svg/custom/use-instanceRoot-event-bubbling.xhtml is flakey
https://bugs.webkit.org/show_bug.cgi?id=33835

mouseEvent fires mutiple times in svg/custom/use-instanceRoot-as-event-target.xhtml
https://bugs.webkit.org/show_bug.cgi?id=32519

Test: svg/custom/use-instanceRoot-event-listener-liveness.xhtml

Stabilize <use> scripting support - use tests are reliable now (tested using --repeach-each 50 --random -p)

Do not reclone trees anymore because of event listener changes, instead keep correspondingElement & shadowTreeElement
synchronized for each SVGElementInstance - any mutations on any event listeners are live, and take immediate effect,
w/o having to rely on a reclone - this was the root of several race conditions making the <use> tests flakey.

Fix SVGUseElement::instanceRoot() to force shadow tree creation, even if it was not attached so far - we can't wait
for finishedParsing() to be called which would recalculate the document style and attach the shadow tree as result.
This is now matching Operas behaviour.

Optimize createAttributeEventListener() to not create event listeners if the supplied Attribute isNull() - otherwhise
DOM calls like removeAttribute("onclick") cause a temporary JSEventListener to be created, added to the event listener
cache and removed afterwards.

  • bindings/js/ScriptEventListener.cpp: (WebCore::createAttributeEventListener): Return early if the supplied attribute is null as discussed with Geoffrey.
  • bindings/v8/ScriptEventListener.cpp: (WebCore::createAttributeEventListener): Ditto.
  • dom/Node.cpp: Synchronize event listeners with all element instances, instead of marking the use elements to reclone. (WebCore::instancesForSVGElement): (WebCore::tryAddEventListener): (WebCore::Node::addEventListener): When adding a listener, get a list of element instances and add it their as well. (WebCore::tryRemoveEventListener): (WebCore::Node::removeEventListener): Ditto for removals, but with special logic for listeners created from markup (see comments)
  • svg/SVGElementInstance.cpp: Cleaned up, removing unncessary checks of correspondingElement() - there is an ASSERT in the ctor. (WebCore::SVGElementInstance::invalidateAllInstancesOfElement): (WebCore::SVGElementInstance::scriptExecutionContext): (WebCore::SVGElementInstance::addEventListener): (WebCore::SVGElementInstance::removeEventListener): (WebCore::SVGElementInstance::removeAllEventListeners): (WebCore::SVGElementInstance::eventTargetData): (WebCore::SVGElementInstance::ensureEventTargetData):
  • svg/SVGUseElement.cpp: Call document()->updateLayoutIgnorePendingStylesheets() to force shadow tree creation, just like CSSStyleDecl works. (WebCore::SVGUseElement::instanceRoot):
1:56 PM Changeset in webkit [53563] by dimich@chromium.org
  • 3 edits in trunk/WebCore

Move local utility class DocumentWeakReference entirely from Document.h into Document.cpp
since it is only used there. It is a followup for http://trac.webkit.org/changeset/53345.

Reviewed by Darin Adler.

No new tests since no change in functionality.

  • dom/Document.cpp: Move definitions of the methods into declaration of the class, remove 'inline'.
  • dom/Document.h: Replace DocumentWeakReference declaration with a forward declaration.
1:50 PM Changeset in webkit [53562] by oliver@apple.com
  • 4 edits in trunk/WebCore

2010-01-20 Oliver Hunt <oliver@apple.com>

No review, rolling out r53561.
http://trac.webkit.org/changeset/53561
https://bugs.webkit.org/show_bug.cgi?id=16318

broke selection repaint for transformed text in html

  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::paintSelection):
  • rendering/RenderForeignObject.cpp:
  • rendering/RenderForeignObject.h:
1:37 PM Changeset in webkit [53561] by oliver@apple.com
  • 4 edits in trunk/WebCore

2010-01-19 Oliver Hunt <oliver@apple.com>

Reviewed by Beth Dakin.

Insufficient repaint issues with html embedded in foreignObject
https://bugs.webkit.org/show_bug.cgi?id=16318

Partial fix for selection repaint in foreignObject, basically we
just need to make sure foreignObject correctly applies the svg
transform to the selection rect.

  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::paintSelection):
  • rendering/RenderForeignObject.cpp: (WebCore::RenderForeignObject::mapLocalToContainer):
  • rendering/RenderForeignObject.h:
12:21 PM Changeset in webkit [53560] by kevino@webkit.org
  • 2 edits in trunk/WebCore

Build fix for !ENABLE(SVG).

12:05 PM Changeset in webkit [53559] by Csaba Osztrogonác
  • 4 edits
    1 add in trunk/WebKitTools

Extract Apache handling to httpd.pm module and use the provided functionality
in scripts where Apache is needed.
The module httpd.pm stores the PID of Apache in a variable and cleans up
the PID directory after Apache properly shut down. Catching INT and TERM
signals allows the scripts to close Apache and clean up its PID directory
even if the testing was interrupted.

Patch by Andras Becsi <abecsi@inf.u-szeged.hu> on 2010-01-20
Reviewed by Alexey Proskuryakov.

https://bugs.webkit.org/show_bug.cgi?id=33153

  • Scripts/webkitperl/httpd.pm: Added.
  • Scripts/run-iexploder-tests:
  • Scripts/run-webkit-httpd:
  • Scripts/run-webkit-tests:
11:26 AM Changeset in webkit [53558] by levin@chromium.org
  • 43 edits
    2 deletes in trunk

Revert r53552 which caused lots of layout test failures.

11:13 AM Changeset in webkit [53557] by steveblock@google.com
  • 9 edits
    2 moves in trunk/WebCore

Renames jni_runtime.[cpp|h] to JNIBridge.[cpp|h]
https://bugs.webkit.org/show_bug.cgi?id=33899

Reviewed by David Levin.

No new tests, refactoring only.

  • Android.jscbindings.mk: Modified. Removes jni_runtime.cpp and adds JNIBridge.cpp
  • GNUmakefile.am: Modified. Removes jni_runtime.h and adds JNIBridge.h
  • WebCore.xcodeproj/project.pbxproj: Modified. Removes jni_runtime.[cpp|h] and adds JNIBridge.[cpp|h]
  • bridge/jni/JNIBridge.cpp: Copied from WebCore/bridge/jni/jni_runtime.cpp.
  • bridge/jni/JNIBridge.h: Copied from WebCore/bridge/jni/jni_runtime.h.
  • bridge/jni/jni_jsobject.mm: Modified. Updated to include JNIBridge.h
  • bridge/jni/jni_runtime.cpp: Removed.
  • bridge/jni/jni_runtime.h: Removed.
  • bridge/jni/jsc/JNIUtilityPrivate.cpp: Modified. Updated to include JNIBridge.h
  • bridge/jni/jsc/JavaClassJSC.cpp: Modified. Removed superfluous include
  • bridge/jni/jsc/JavaClassJSC.h: Modified. Updated to include JNIBridge.h
  • bridge/jni/jsc/JavaInstanceJSC.cpp: Modified. Updated to include JNIBridge.h
11:09 AM Changeset in webkit [53556] by timothy@apple.com
  • 2 edits in trunk/WebKit/mac

Fix erroneous page scrolls when trying to select text or use form elements
with the Web Inspector docked.

http://webkit.org/b/24403
rdar://problem/6753925

Reviewed by John Sullivan and Darin Adler.

  • WebCoreSupport/WebChromeClient.mm:

(WebChromeClient::scrollRectIntoView): The scrollRect.move() call was
incorrectly converting the rect under the assumption that the frame view
is the same size as the WebView. Using convertRect:fromView: instead
is enough to fix the bug, but that code isn't needed since WebCore
already takes care of scrolling the main frame's document view, so it
was redundant to do it here too.

11:00 AM Changeset in webkit [53555] by ap@apple.com
  • 6 edits
    2 adds in trunk

Reviewed by Simon Fraser.

https://bugs.webkit.org/show_bug.cgi?id=33913
Crash under Media::matchMedium in detached frame

Also took the opportunity to fix JS bindings for the Media object.

Test: fast/media/lifetime.html

  • css/Media.h: (WebCore::Media::create): Take and store a Frame pointer, like other similar objects do. (WebCore::Media::disconnectFrame): Zero out the frame pointer (this is called from DOMWindow::clear()).
  • css/Media.cpp: (WebCore::Media::Media): Updated to storing Frame pointer. (WebCore::Media::type): Ditto. (WebCore::Media::matchMedium): Removed null check for document element - every document has one. Also, every Frame has a document, so we only need to check for m_frame being zero.
  • bindings/js/JSDOMWindowCustom.cpp: (WebCore::JSDOMWindow::markChildren):
  • page/DOMWindow.cpp: (WebCore::DOMWindow::clear): (WebCore::DOMWindow::media):
  • page/DOMWindow.h: (WebCore::DOMWindow::optionalMedia): Make sure there's only one Media object per window, and keep its wrapper alive.
9:51 AM Changeset in webkit [53554] by sfalken@apple.com
  • 22 edits
    3 adds in trunk

JavaScriptCore: Feature defines are difficult to maintain on Windows builds
https://bugs.webkit.org/show_bug.cgi?id=33883

Reviewed by Darin Adler and Adam Roben.

FeatureDefines.vsprops are now maintained in a way similar to
Configurations/FeatureDefines.xcconfig, with the added advantage
of having a single FeatureDefines file across all projects.

  • Configurations/FeatureDefines.xcconfig: Add comments about keeping feature definitions in sync.
  • JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj: Add FeatureDefines.vsprops inherited property sheet.
  • JavaScriptCore.vcproj/WTF/WTF.vcproj: Add FeatureDefines.vsprops inherited property sheet.

WebCore: Feature defines are difficult to maintain on Windows builds
https://bugs.webkit.org/show_bug.cgi?id=33883

Reviewed by Darin Adler and Adam Roben.

FeatureDefines.vsprops are now maintained in a way similar to
Configurations/FeatureDefines.xcconfig, with the added advantage
of having a single FeatureDefines file across all projects.

  • Configurations/FeatureDefines.xcconfig: Add comments about keeping feature definitions in sync.
  • WebCore.vcproj/MigrateIDLAndScripts: Remove reference to file that no longer exists.
  • WebCore.vcproj/QTMovieWin.vcproj: Add FeatureDefines.vsprops inherited property sheet.
  • WebCore.vcproj/WebCore.vcproj: Add FeatureDefines.vsprops inherited property sheet.
  • WebCore.vcproj/WebCoreCommon.vsprops: Remove ENABLE_ preprocessor definitions.
  • WebCore.vcproj/WebCoreGenerated.vcproj: Added Cairo configuration for selecting proper features.
  • WebCore.vcproj/WebCoreMediaQT.vsprops: Remove ENABLE_VIDEO. This is picked up from FeatureDefines.vsprops.
  • WebCore.vcproj/build-generated-files.sh: Pick up features from FeatureDefines.vsprops or FeatureDefinesCairo.vsprops.

WebKit/mac: Feature defines are difficult to maintain on Windows builds
https://bugs.webkit.org/show_bug.cgi?id=33883

Reviewed by Darin Adler and Adam Roben.

  • Configurations/FeatureDefines.xcconfig: Add comments about keeping feature definitions in sync.

WebKit/win: Feature defines are difficult to maintain on Windows builds
https://bugs.webkit.org/show_bug.cgi?id=33883

Reviewed by Darin Adler and Adam Roben.

FeatureDefines.vsprops are now maintained in a way similar to
Configurations/FeatureDefines.xcconfig, with the added advantage
of having a single FeatureDefines file across all projects.

  • WebKit.vcproj/Interfaces.vcproj: Add FeatureDefines.vsprops inherited property sheet.
  • WebKit.vcproj/WebKit.sln: Set up Cairo configuration for WebCoreGenerated.
  • WebKit.vcproj/WebKit.vcproj: Remove ENABLE_ preprocessor definitions.

Add FeatureDefines.vsprops inherited property sheet.

  • WebKit.vcproj/WebKitGUID.vcproj: Add FeatureDefines.vsprops inherited property sheet.

WebKitLibraries: Feature defines are difficult to maintain on Windows builds
https://bugs.webkit.org/show_bug.cgi?id=33883

Reviewed by Darin Adler and Adam Roben.

FeatureDefines.vsprops are now maintained in a way similar to
Configurations/FeatureDefines.xcconfig, with the added advantage
of having a single FeatureDefines file across all projects.

Keep this list of features (not enabled/disabled state) in sync with
FeatureDefines.xcconfig files in JavaScriptCore, WebCore, and WebKit.

Add new features to both PreprocessorDefinitions and UserMacro sections.
Set any ENABLE_FEATURE_NAME macro to an empty string to disable that feature.

  • win/tools/scripts/feature-defines.sh: Added.
  • win/tools/vsprops/FeatureDefines.vsprops: Added.
  • win/tools/vsprops/FeatureDefinesCairo.vsprops: Added.
  • win/tools/vsprops/WinCairo.vsprops: Removed ENABLE_FILTERS. Now set in FeatureDefinesCairo.vsprops.
9:45 AM Changeset in webkit [53553] by mitz@apple.com
  • 5 edits in trunk/WebKit/mac

<rdar://problem/7489504> Clicking on an overflow scrollbar when the window doesn't have
focus only focuses the window; it should start scrolling too
https://bugs.webkit.org/show_bug.cgi?id=33906

Reviewed by Simon Fraser.

  • Misc/WebElementDictionary.mm:

(+[WebElementDictionary initializeLookupTable]): Initialize WebElementIsInScrollBarKey.
(-[WebElementDictionary _isInScrollBar]): Added. Returns whether the HitTestResult contains
a scroll bar.

  • WebView/WebHTMLView.mm:

(-[WebHTMLView _isScrollBarEvent:]): Added. Returns whether the event point is in a scroll
bar in this view.
(-[WebHTMLView acceptsFirstMouse:]): Accept scroll bar events.

  • WebView/WebView.mm: Define WebElementIsInScrollBarKey.
  • WebView/WebViewPrivate.h: Declare WebElementIsInScrollBarKey.
9:44 AM Changeset in webkit [53552] by yurys@chromium.org
  • 43 edits
    2 adds in trunk

2010-01-20 Yury Semikhatsky <yurys@chromium.org>

Reviewed by Pavel Feldman.

Inject inspector script directly into the inspected context. All the
communication between the script and the frontend is serialized into
JSON strings. It allows to get rid of object quarantines in Web Inspector.

https://bugs.webkit.org/show_bug.cgi?id=32554

Test: inspector/console-log-before-inspector-open.html

  • bindings/js/JSInjectedScriptHostCustom.cpp: (WebCore::JSInjectedScriptHost::databaseForId): (WebCore::JSInjectedScriptHost::currentCallFrame): (WebCore::JSInjectedScriptHost::nodeForId): (WebCore::JSInjectedScriptHost::pushNodePathToFrontend): (WebCore::JSInjectedScriptHost::selectDatabase): (WebCore::JSInjectedScriptHost::selectDOMStorage):
  • bindings/js/ScriptCallStack.h: (WebCore::ScriptCallStack::state):
  • bindings/js/ScriptController.cpp: (WebCore::ScriptController::mainWorldScriptState):
  • bindings/js/ScriptController.h:
  • bindings/js/ScriptObject.h: (WebCore::ScriptObject::scriptState):
  • bindings/js/ScriptValue.cpp:
  • bindings/js/ScriptValue.h:
  • bindings/v8/ScriptObject.h: (WebCore::ScriptObject::scriptState):
  • bindings/v8/ScriptValue.h:
  • bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
  • inspector/ConsoleMessage.cpp: (WebCore::ConsoleMessage::ConsoleMessage): (WebCore::ConsoleMessage::addToConsole): (WebCore::ConsoleMessage::isEqual):
  • inspector/ConsoleMessage.h:
  • inspector/InjectedScriptHost.cpp: (WebCore::InjectedScriptHost::releaseWrapperObjectGroup):
  • inspector/InjectedScriptHost.h:
  • inspector/InjectedScriptHost.idl:
  • inspector/InspectorBackend.cpp: (WebCore::InspectorBackend::setInjectedScriptSource): (WebCore::InspectorBackend::dispatchOnInjectedScript): (WebCore::InspectorBackend::releaseWrapperObjectGroup):
  • inspector/InspectorBackend.h:
  • inspector/InspectorBackend.idl:
  • inspector/InspectorController.cpp: (WebCore::InspectorController::InspectorController): (WebCore::InspectorController::clearConsoleMessages): (WebCore::InspectorController::inspectedWindowScriptObjectCleared): (WebCore::InspectorController::windowScriptObjectAvailable): (WebCore::InspectorController::scriptObjectReady): (WebCore::InspectorController::setFrontendProxyObject): (WebCore::InspectorController::close): (WebCore::InspectorController::resetScriptObjects): (WebCore::InspectorController::didPause): (WebCore::InspectorController::injectedScriptForNodeId):
  • inspector/InspectorController.h:
  • inspector/InspectorFrontend.cpp: (WebCore::InspectorFrontend::addConsoleMessage): (WebCore::InspectorFrontend::pausedScript):
  • inspector/InspectorFrontend.h:
  • inspector/front-end/AuditsPanel.js: (WebInspector.AuditsPanel.prototype._reloadResources):
  • inspector/front-end/ConsoleView.js: (WebInspector.ConsoleView.prototype.requestClearMessages): (WebInspector.ConsoleView.prototype.doEvalInWindow):
  • inspector/front-end/DOMAgent.js: (WebInspector.DOMNode): (WebInspector.CSSStyleDeclaration): (WebInspector.CSSStyleDeclaration.parseRule):
  • inspector/front-end/Database.js: (WebInspector.Database.prototype.executeSql):
  • inspector/front-end/ElementsPanel.js: (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged.InjectedScriptAccess.get addInspectedNode): (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged): (WebInspector.ElementsPanel.prototype.setDocument): (WebInspector.ElementsPanel.prototype.searchCanceled): (WebInspector.ElementsPanel.prototype.performSearch):
  • inspector/front-end/ElementsTreeOutline.js: (WebInspector.ElementsTreeElement.prototype.createTooltipForImageNode):
  • inspector/front-end/EventListenersSidebarPane.js: ():
  • inspector/front-end/InjectedScript.js: (injectedScriptConstructor): (injectedScriptConstructor.):
  • inspector/front-end/InjectedScriptAccess.js: (InjectedScriptAccess): (InjectedScriptAccess.getDefault): (get InjectedScriptAccess): (InjectedScriptAccess._installHandler.InjectedScriptAccess.prototype.methodName): (InjectedScriptAccess._installHandler):
  • inspector/front-end/MetricsSidebarPane.js: (WebInspector.MetricsSidebarPane): (WebInspector.MetricsSidebarPane.prototype.update.inlineStyleCallback):
  • inspector/front-end/ObjectPropertiesSection.js:
  • inspector/front-end/ObjectProxy.js: (WebInspector.ObjectProxy):
  • inspector/front-end/PropertiesSidebarPane.js: (WebInspector.PropertiesSidebarPane.prototype.update.callback):
  • inspector/front-end/ResourcesPanel.js: (WebInspector.ResourceSidebarTreeElement.prototype.ondblclick):
  • inspector/front-end/ScriptsPanel.js:
  • inspector/front-end/StylesSidebarPane.js: (WebInspector.StylePropertyTreeElement.prototype):
  • inspector/front-end/WatchExpressionsSidebarPane.js: (WebInspector.WatchExpressionsSection.prototype.update):
  • inspector/front-end/inspector.js: (WebInspector.loaded): (WebInspector.pausedScript): (WebInspector.addConsoleMessage): (WebInspector.log.logMessage): (WebInspector.log):

2010-01-20 Yury Semikhatsky <yurys@chromium.org>

Reviewed by Pavel Feldman.

Inject inspector script directly into the inspected context. All the
communication between the script and the frontend is serialized into
JSON strings. It allows to get rid of object quarantines in Web Inspector.

Test that web inspector doesn't crash when opening if there are messages in
the console. Refactor test case due to InjectedScriptAccess changes.

https://bugs.webkit.org/show_bug.cgi?id=32554

  • inspector/console-log-before-inspector-open-expected.txt: Added.
  • inspector/console-log-before-inspector-open.html: Added.
  • inspector/styles-iframe.html:
9:38 AM Changeset in webkit [53551] by tkent@chromium.org
  • 7 edits in trunk

2010-01-20 Kent Tamura <tkent@chromium.org>

Reviewed by Darin Adler.

HTMLInputElement::valueAsDate setter support for type=time.
https://bugs.webkit.org/show_bug.cgi?id=33825

Add setter tests to input-valueasdate-time.js, and update the
expectation.

Note: the expectation file contains some FAIL lines. They are
intentional because they test a unimplemented feature.

  • fast/forms/input-valueasdate-time-expected.txt:
  • fast/forms/script-tests/input-valueasdate-time.js:

2010-01-20 Kent Tamura <tkent@chromium.org>

Reviewed by Darin Adler.

HTMLInputElement::valueAsDate setter support for type=time.
https://bugs.webkit.org/show_bug.cgi?id=33825

Introduce ISODateTime::setMillisecondsSinceMidnight() and add a
SecondFormat parameter to ISODateTime::toString(). The main code
logic for type=time is implemented in
setMillisecondsSinceMidnightInternal() and toStringForTime()
because the logic is going to be used for other types.

  • html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::setValueAsDate):
  • html/ISODateTime.cpp: (WebCore::positiveFmod): (WebCore::ISODateTime::setMillisecondsSinceMidnightInternal): (WebCore::ISODateTime::setMillisecondsSinceMidnight): (WebCore::ISODateTime::toStringForTime): (WebCore::ISODateTime::toString):
  • html/ISODateTime.h: (WebCore::ISODateTime::):
9:22 AM Changeset in webkit [53550] by Philippe Normand
  • 3 edits in trunk/LayoutTests

2010-01-20 Philippe Normand <pnormand@igalia.com>

Reviewed by Darin Adler.

[Gtk] media/video-play-pause-exception.html is flacky
https://bugs.webkit.org/show_bug.cgi?id=33900

Refactored the test to use the pause event instead of a timer.

  • media/video-play-pause-exception.html:
  • platform/gtk/Skipped:
7:59 AM Changeset in webkit [53549] by Csaba Osztrogonác
  • 4 edits in trunk

[Qt] Unreviewed buildfix for r53547.

JavaScriptCore:

  • DerivedSources.pro:

WebCore:

  • WebCore.pri:
7:48 AM Changeset in webkit [53548] by benm@google.com
  • 17 edits
    3 adds in trunk

The touchcancel event is not supported.
https://bugs.webkit.org/show_bug.cgi?id=33598

Reviewed by Simon Hausmann.

WebCore:

This change adds support for the touchcancel event in WebCore and adds a test.

Test: fast/events/touch/send-oncancel-event.html

  • bindings/js/ScriptController.cpp:

(WebCore::ScriptController::processingUserGestureEvent): Considers touchcancel with the other touch events when working out if the event is a user gesture.

  • dom/Document.cpp:

(WebCore::Document::addListenerTypeIfNeeded): Adds a check to consider ontouchcancel a touch event listener.

  • dom/Document.h: Add the touchcancel attribute event listener.
  • dom/Document.idl: ditto.
  • dom/Element.h: ditto.
  • dom/Element.idl: ditto.
  • dom/EventNames.h: Adds touchcancel as an event name.
  • html/HTMLAttributeNames.in:Adds touchcancel as an HTML attribute name.
  • html/HTMLElement.cpp:

(WebCore::HTMLElement::parseMappedAttribute): Parses the ontouchcancel attribute.

  • page/DOMWindow.h: Adds the touchcancel attribute event listener.
  • page/DOMWindow.idl: ditto.
  • page/EventHandler.cpp:

(WebCore::EventHandler::handleTouchEvent): Add code to detect and dispatch touchcancel events.

  • platform/PlatformTouchEvent.h:

(WebCore::): Add TouchCancel as a touch event type.

  • platform/PlatformTouchPoint.h:

(WebCore::PlatformTouchPoint::): Add TouchCanceled as a touch point state.

LayoutTests:

Test for the oncancel event.

  • fast/events/script-tests/send-oncancel-event.js: Added.

(touchcancelHandler):

  • fast/events/touch/send-oncancel-event-expected.txt: Added.
  • fast/events/touch/send-oncancel-event.html: Added.
  • platform/qt/Skipped: Add send-oncancel-event to the Qt Skipped list as there is not support for that type of event on Qt yet.
6:27 AM Changeset in webkit [53547] by vestbo@webkit.org
  • 5 edits in trunk

[Qt] Make extraCompilers for generated sources depend on their scripts

Reviewed by Simon Hausmann.

JavaScriptCore:

  • DerivedSources.pro:

WebCore:

  • DerivedSources.pro:
  • WebCore.pri:
6:15 AM Changeset in webkit [53546] by eric@webkit.org
  • 2 edits in trunk/WebCore

2010-01-20 Kent Tamura <tkent@chromium.org>

Reviewed by Adam Barth.

[Chromium][V8] Fix null pointer dereference in V8Proxy::retrieve().
https://bugs.webkit.org/show_bug.cgi?id=33886

This is equivalent to r53433, and fix a crash by
LayoutTests/http/tests/appcache/destroyed-iframe.html.

  • bindings/v8/V8Proxy.cpp: (WebCore::V8Proxy::retrieve): Check if context is null.
5:58 AM Changeset in webkit [53545] by eric@webkit.org
  • 12 edits in trunk/WebCore

2010-01-20 Alexander Pavlov <apavlov@chromium.org>

Reviewed by Timothy Hatcher.

Optimize resize event handling for hidden views
https://bugs.webkit.org/show_bug.cgi?id=33803

  • inspector/front-end/AbstractTimelinePanel.js: (WebInspector.AbstractTimelinePanel.prototype.resize): (WebInspector.AbstractTimelinePanel.prototype.updateMainViewWidth):
  • inspector/front-end/AuditsPanel.js:
  • inspector/front-end/Panel.js: (WebInspector.Panel.prototype.updateSidebarWidth): (WebInspector.Panel.prototype.resize):
  • inspector/front-end/PanelEnablerView.js: (WebInspector.PanelEnablerView): (WebInspector.PanelEnablerView.prototype.show): (WebInspector.PanelEnablerView.prototype.resize):
  • inspector/front-end/ProfilesPanel.js: (WebInspector.ProfilesPanel.prototype.show): (WebInspector.ProfilesPanel.prototype.addProfileHeader): (WebInspector.ProfilesPanel.prototype.showProfile): (WebInspector.ProfilesPanel.prototype.showView): (WebInspector.ProfilesPanel.prototype.closeVisibleView): (WebInspector.ProfilesPanel.prototype._updateInterface): (WebInspector.ProfilesPanel.prototype.updateMainViewWidth):
  • inspector/front-end/ResourcesPanel.js: (WebInspector.ResourcesPanel.prototype.show): (WebInspector.ResourcesPanel.prototype.get visibleView): (WebInspector.ResourcesPanel.prototype.updateMainViewWidth):
  • inspector/front-end/Settings.js:
  • inspector/front-end/StoragePanel.js: (WebInspector.StoragePanel.prototype.updateMainViewWidth):
  • inspector/front-end/WelcomeView.js: (WebInspector.WelcomeView): (WebInspector.WelcomeView.prototype.show): (WebInspector.WelcomeView.prototype.resize):
  • inspector/front-end/inspector.css:
  • inspector/front-end/inspector.js: (WebInspector.windowResize):
4:56 AM Changeset in webkit [53544] by vestbo@webkit.org
  • 4 edits in trunk/BugsSite

Adjust height of status-bubbles to prevent them being cut.

Reviewed by Adam Barth.

BugSite:

  • template/en/custom/attachment/edit.html.tmpl:
  • template/en/custom/attachment/list.html.tmpl:
  • template/en/custom/attachment/reviewform.html.tmpl:
4:33 AM Changeset in webkit [53543] by vestbo@webkit.org
  • 7 edits in trunk

[Qt] Make DumpRenderTree build on Windows

Reviewed by Simon Hausmann.

  • WebKit.pro:

WebKitTools:

  • DumpRenderTree/qt/DumpRenderTree.pro:
  • DumpRenderTree/qt/DumpRenderTreeQt.cpp:
  • DumpRenderTree/qt/DumpRenderTreeQt.h:
  • DumpRenderTree/qt/main.cpp:
4:12 AM QtWebKitBackportingFixes edited by Girish Ramakrishnan
(diff)
3:57 AM Changeset in webkit [53542] by steveblock@google.com
  • 2 edits in trunk/WebKitTools

Fix commit bot to land patches in order of the bug last modification date.
https://bugs.webkit.org/show_bug.cgi?id=33395

Reviewed by Eric Seidel.

  • Scripts/webkitpy/bugzilla.py: Modified. Added 'order=Last+Changed' to bugzilla commit queue URL.
3:37 AM Changeset in webkit [53541] by steveblock@google.com
  • 8 edits in trunk/WebCore

Fixes style in WebCore/bridge/Bridge
https://bugs.webkit.org/show_bug.cgi?id=33839

Reviewed by David Levin.

No new tests, style fixes only.

  • bridge/Bridge.cpp: Modified.
  • bridge/Bridge.h: Modified.
  • bridge/c/c_instance.cpp: Modified.

(JSC::Bindings::CInstance::invokeMethod): Modified. Use renamed m_rootObject member
(JSC::Bindings::CInstance::invokeDefaultMethod): Modified. Use renamed m_rootObject member
(JSC::Bindings::CInstance::invokeConstruct): Modified. Use renamed m_rootObject member

  • bridge/jni/jni_runtime.cpp: Modified.

(JavaArray::JavaArray): Modified. Use renamed m_rootObject member
(JavaArray::rootObject): Modified. Use renamed m_rootObject member

  • bridge/objc/objc_instance.mm: Modified.

(ObjcInstance::invokeMethod): Modified. Use renamed m_rootObject member
(ObjcInstance::invokeDefaultMethod): Modified. Use renamed m_rootObject member
(ObjcInstance::getValueOfUndefinedField): Modified. Use renamed m_rootObject member

  • bridge/objc/objc_runtime.mm: Modified.

(JSC::Bindings::ObjcArray::valueAt): Modified. Use renamed m_rootObject member

  • bridge/qt/qt_runtime.cpp: Modified.

(JSC::Bindings::::rootObject): Modified. Use renamed m_rootObject member

3:37 AM Changeset in webkit [53540] by Csaba Osztrogonác
  • 2 edits in trunk/LayoutTests

[Qt] fast/frames/set-unloaded-frame-location.html timed out on Qt Linux Release Build Bot
https://bugs.webkit.org/show_bug.cgi?id=33303

It caused by the previously test, so skipped it until fix.

  • platform/qt/Skipped: fast/frames/sandboxed-iframe-navigation-windowopen.html skipped.
3:28 AM Changeset in webkit [53539] by abarth@webkit.org
  • 3 edits in trunk/WebKitTools

2010-01-20 Adam Barth <abarth@webkit.org>

Reviewed by Eric Seidel.

Teach check-webkit-style about WebKit/gtk/tests
https://bugs.webkit.org/show_bug.cgi?id=33892

Removes false positives found in
https://bugs.webkit.org/show_bug.cgi?id=30883

  • Scripts/webkitpy/style/cpp_style.py:
  • Scripts/webkitpy/style/cpp_style_unittest.py:
3:26 AM Changeset in webkit [53538] by abarth@webkit.org
  • 3 edits in trunk/WebKitTools

2010-01-20 Adam Barth <abarth@webkit.org>

Reviewed by Eric Seidel.

Teach check-webkit-style about QGVLauncher
https://bugs.webkit.org/show_bug.cgi?id=33890

Remove false positives found in
https://bugs.webkit.org/show_bug.cgi?id=33708

  • Scripts/webkitpy/style/cpp_style.py:
  • Scripts/webkitpy/style/cpp_style_unittest.py:
3:20 AM Changeset in webkit [53537] by eric@webkit.org
  • 6 edits in trunk/WebKitTools

2010-01-20 Eric Seidel <eric@webkit.org>

Reviewed by Adam Barth.

webkit-commit-queue status page is confusing
https://bugs.webkit.org/show_bug.cgi?id=33496

This should improve the status page by removing more Fail messages.
To do this, I re-factored the CommitQueue and the AbstractReviewQueues
to behave more like one another. This meant moving where the failure reporting was done.
Previously the AbstractReviewQueue always used the parent process to report the error,
while CommitQueue used the subprocess when possible, and the parent only reported errors
that we didn't know how to handle (bugs in the commit-queue itself).
Now the AbstractReviewQueue follow's the commit-queue's model. This got rid of a try-block
in both implementations and required teaching handle_script_error in each to post Fail messages
to the status server instead of calling exit(1).

This will also make the style-queue share more bug posting logic with other queues:
https://bugs.webkit.org/show_bug.cgi?id=33871

  • Scripts/webkitpy/commands/early_warning_system.py:
    • Don't exit(1) as that will cause the calling queue to also report Fail to the status server. Implementors of handle_script_error are expected to update the status server if needed, but only exit if the error could not be handled. So we instead pass patch_has_failed_this_queue=True to _update_status_for_script_error in the case that this was a real failure. _update_status_for_script_error knows how to post the Fail message to the status server.
    • Teach _update_status_for_script_error how to post Fail messages to the status server.
  • Scripts/webkitpy/commands/queues.py:
    • Remove the try block from process_work_item since the caller already has one.
    • Only CC watchers on failure to cut down on commit-queue generated mail.
    • handle_unexpected_error needs to mark _did_fail now that the try block is gone from process_work_item.
    • Abstract _format_script_error_output_for_bug to share code between all queues.
    • The new _format_script_error_output_for_bug allows the style-queue to share the posting limit with other queues, as well as support linking to the full output.
    • Rename _can_build_and_test to _current_checkout_builds_and_passes_tests to better explain what revision it's testing.
    • Move logging out of _can_build_and_test and make the logs explain what revision we're testing.
    • handle_script_error now posts Fail instead of the try block in process_work_item handling it.
  • Scripts/webkitpy/queueengine.py:
    • QueueEngine is no longer used just by the commit-queue, update the logging to say "processing" instead of landing.
  • Scripts/webkitpy/scm.py:
    • Add new checkout_revision function.
  • Scripts/webkitpy/scm_unittest.py:
    • Test our new checkout_revision function.
2:23 AM Changeset in webkit [53536] by eric@webkit.org
  • 2 edits in trunk/WebCore

2010-01-20 Daniel Bates <dbates@webkit.org>

Reviewed by Eric Seidel.

https://bugs.webkit.org/show_bug.cgi?id=33885

Fixes style errors exposed by the style bot in the patch
for bug #33770. Moreover, fixes all style errors reported
by check-webkit-style.

No functionality was changed. So, no new tests.

  • bindings/js/JSWebGLRenderingContextCustom.cpp: (WebCore::dataFunctionf): (WebCore::dataFunctioni): (WebCore::dataFunctionMatrix):
2:15 AM Changeset in webkit [53535] by Simon Hausmann
  • 2 edits in trunk

[Qt] Fix the recursive generated_files target to work with qmake -r -o

Patch by Jocelyn Turcotte <jocelyn.turcotte@nokia.com> on 2010-01-20
Reviewed by Simon Hausmann.

  • DerivedSources.pro:
2:08 AM BuildingQtOnLinux edited by vestbo@webkit.org
(diff)
2:06 AM Changeset in webkit [53534] by eric@webkit.org
  • 3 edits in trunk/WebKitTools

2010-01-20 Adam Barth <abarth@webkit.org>

Reviewed by Darin Adler.

Exempt JavaScriptCore/qt/api from style checks
https://bugs.webkit.org/show_bug.cgi?id=33879

Apparently there is a JavaScriptCore API for Qt as well as a WebKit
API.

  • Scripts/webkitpy/style/cpp_style.py:
  • Scripts/webkitpy/style/cpp_style_unittest.py:
1:58 AM Changeset in webkit [53533] by steveblock@google.com
  • 3 edits in trunk/WebCore

Fixes style in WebCore/bridge/JNIUtility
https://bugs.webkit.org/show_bug.cgi?id=33870

Reviewed by David Levin.

No new tests, style fixes only.

  • bridge/jni/JNIUtility.cpp:
  • bridge/jni/JNIUtility.h:
1:57 AM Changeset in webkit [53532] by Simon Hausmann
  • 2 edits in trunk

[Qt] Make it possible (on *nix at least) to recursively call "make generated_files"

Reviewed by Tor Arne Vestbø.

  • DerivedSources.pro:
1:29 AM Changeset in webkit [53531] by rolandsteiner@chromium.org
  • 2 edits in trunk/LayoutTests

Bug 28420 - Re-enable fast/ruby layout tests after the issue with mixedContent was fixed.
(https://bugs.webkit.org/show_bug.cgi?id=28420, patch 5a)

Reviewed by Darin Adler.

cf. https://bugs.webkit.org/show_bug.cgi?id=31200

  • platform/mac/Skipped:
1:27 AM QtWebKitPackaging edited by Simon Hausmann
(diff)
1:06 AM QtWebKitBackportingFixes edited by Simon Hausmann
(diff)
12:54 AM Changeset in webkit [53530] by Simon Hausmann
  • 2 edits in trunk/WebCore

On Linux link QtWebKit with -no-undefined to catch build breakages due to missing
files in the .pro file, resulting in unresolved symbols.

Reviewed by Tor Arne Vestbø.

  • WebCore.pro:
12:54 AM Changeset in webkit [53529] by Simon Hausmann
  • 2 edits in trunk/WebCore

[Qt] Make it possible to link with -no-undefined.

Reviewed by Tor Arne Vestbø.

  • WebCore.pro: Add missing explicit dependency to libXrender due to the

use of XRenderFindVisualFormat in the X11 plugin code.

12:43 AM Changeset in webkit [53528] by Simon Hausmann
  • 2 edits in trunk/WebCore

Add missing files to the build.

Reviewed by Tor Arne Vestbø.

  • WebCore.pro:
12:26 AM Changeset in webkit [53527] by hamaji@chromium.org
  • 5 edits
    1 delete in trunk

2010-01-20 Shinichiro Hamaji <hamaji@chromium.org>

Reviewed by Darin Fisher.

[Chromium] computePageRectsForFrame seems to be unnecessary
https://bugs.webkit.org/show_bug.cgi?id=33881

  • WebCore.gypi: Removed FrameChromium.h
  • page/chromium/FrameChromium.cpp: Removed computePageRectsForFrame.
  • page/chromium/FrameChromium.h: Removed.

2010-01-20 Shinichiro Hamaji <hamaji@chromium.org>

Reviewed by Darin Fisher.

[Chromium] computePageRectsForFrame seems to be unnecessary
https://bugs.webkit.org/show_bug.cgi?id=33881

  • src/WebFrameImpl.cpp: Stop including FrameChromium.h
12:22 AM QtWebKitPackaging created by Simon Hausmann
12:20 AM Changeset in webkit [53526] by vestbo@webkit.org
  • 4 edits in trunk/WebKitTools

[Qt] Don't use QSocketNotifier in the DRT for reading stdin

Reviewed by Simon Hausmann.

QSocketNotifier is not available on Windows. Instead we read
stdin synchronously after each test using signals and slots.

  • DumpRenderTree/qt/DumpRenderTreeQt.cpp:
  • DumpRenderTree/qt/DumpRenderTreeQt.h:
  • DumpRenderTree/qt/main.cpp:

Jan 19, 2010:

11:46 PM Changeset in webkit [53525] by rolandsteiner@chromium.org
  • 7 edits
    28 adds
    2 deletes in trunk

Bug 33266 - WebCore::InlineFlowBox::determineSpacingForFlowBoxes ReadAV@NULL (43c64e8abbda6766e5f5edbd254c2d57)
(https://bugs.webkit.org/show_bug.cgi?id=33266)

Reviewed by Dan Bernstein.

WebCore:

Ruby did not handle malformed cases correctly when the ruby base was in
block flow. Changed the code to handle all possible cases.
Also, added some simplification methods to RenderBlock.

Tests: fast/ruby/ruby-illegal-1.html

fast/ruby/ruby-illegal-2.html
fast/ruby/ruby-illegal-3.html
fast/ruby/ruby-illegal-4.html
fast/ruby/ruby-illegal-5.html
fast/ruby/ruby-illegal-6.html
fast/ruby/ruby-illegal-7.html
fast/ruby/ruby-illegal-combined.html
fast/ruby/rubyDOM-insert-rt-block-1.html
fast/ruby/rubyDOM-insert-rt-block-2.html
fast/ruby/rubyDOM-insert-rt-block-3.html
fast/ruby/rubyDOM-remove-rt-block-1.html
fast/ruby/rubyDOM-remove-rt-block-2.html
fast/ruby/rubyDOM-remove-rt-block-3.html

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::moveAllChildrenTo): useful for anonymous block manipulation
(WebCore::RenderBlock::removeChild): making use of moveAllChildrenTo

  • rendering/RenderBlock.h:
  • rendering/RenderRubyBase.cpp:

(WebCore::RenderRubyBase::hasOnlyWrappedInlineChildren):
(WebCore::RenderRubyBase::moveChildren):
(WebCore::RenderRubyBase::moveInlineChildren):
(WebCore::RenderRubyBase::moveBlockChildren):
(WebCore::RenderRubyBase::mergeBlockChildren):

  • rendering/RenderRubyBase.h:
  • rendering/RenderRubyRun.cpp:

(WebCore::RenderRubyRun::addChild):
(WebCore::RenderRubyRun::removeChild):

LayoutTests:

Layout tests for ruby with malformed HTML.
Split up in individual tests, as well ass added a single combined test
(whose resulting render tree is probably completely different from what
you'd expect), since that combined test showed additional issues not
covered by the individual tests.

  • fast/ruby/ruby-illegal-1-expected.txt: Added.
  • fast/ruby/ruby-illegal-1.html: Added.
  • fast/ruby/ruby-illegal-2-expected.txt: Added.
  • fast/ruby/ruby-illegal-2.html: Added.
  • fast/ruby/ruby-illegal-3-expected.txt: Added.
  • fast/ruby/ruby-illegal-3.html: Added.
  • fast/ruby/ruby-illegal-4-expected.txt: Added.
  • fast/ruby/ruby-illegal-4.html: Added.
  • fast/ruby/ruby-illegal-5-expected.txt: Added.
  • fast/ruby/ruby-illegal-5.html: Added.
  • fast/ruby/ruby-illegal-6-expected.txt: Added.
  • fast/ruby/ruby-illegal-6.html: Added.
  • fast/ruby/ruby-illegal-7-expected.txt: Added.
  • fast/ruby/ruby-illegal-7.html: Added.
  • fast/ruby/ruby-illegal-combined-expected.txt: Added.
  • fast/ruby/ruby-illegal-combined.html: Added.
  • fast/ruby/ruby-illegal-expected.txt: Removed.
  • fast/ruby/ruby-illegal.html: Removed.
  • fast/ruby/rubyDOM-insert-rt-block-1-expected.txt: Added.
  • fast/ruby/rubyDOM-insert-rt-block-1.html: Added.
  • fast/ruby/rubyDOM-insert-rt-block-2-expected.txt: Added.
  • fast/ruby/rubyDOM-insert-rt-block-2.html: Added.
  • fast/ruby/rubyDOM-insert-rt-block-3-expected.txt: Added.
  • fast/ruby/rubyDOM-insert-rt-block-3.html: Added.
  • fast/ruby/rubyDOM-remove-rt-block-1-expected.txt: Added.
  • fast/ruby/rubyDOM-remove-rt-block-1.html: Added.
  • fast/ruby/rubyDOM-remove-rt-block-2-expected.txt: Added.
  • fast/ruby/rubyDOM-remove-rt-block-2.html: Added.
  • fast/ruby/rubyDOM-remove-rt-block-3-expected.txt: Added.
  • fast/ruby/rubyDOM-remove-rt-block-3.html: Added.
9:57 PM Changeset in webkit [53524] by mitz@apple.com
  • 2 edits in trunk/WebCore

Build fix after r53514

  • WebCore.base.exp: Removed threadGlobalData(), which was inlined in r53514.
9:45 PM Changeset in webkit [53523] by Simon Fraser
  • 2 edits in trunk/WebCore

2010-01-19 Simon Fraser <Simon Fraser>

Reviewed by Dan Bernstein.

Avoid calling NSEqualRects() on the garbage rect obtained
by calling -frame on a null view.

  • platform/mac/WidgetMac.mm: (WebCore::Widget::setFrameRect):
9:34 PM Changeset in webkit [53522] by mitz@apple.com
  • 5 edits in trunk/WebKit

WebKit: Redo DumpRenderTree build fix without making WebTypesInternal.h a private header

  • WebKit.xcodeproj/project.pbxproj:

WebKit/mac: Redo Tiger build fix without making WebTypesInternal.h a private header

  • WebView/WebHTMLRepresentation.h: Define and use WebNSUInteger.
  • WebView/WebHTMLRepresentation.mm: Import WebTypesInternal.h.
9:18 PM Changeset in webkit [53521] by Simon Fraser
  • 2 edits in trunk/WebKit

2010-01-19 Simon Fraser <Simon Fraser>

Build fix, no review.

Fix build of DumpRenderTree by making the header WebTypesInternal.h Private
in WebKit.

  • WebKit.xcodeproj/project.pbxproj:
9:08 PM Changeset in webkit [53520] by mitz@apple.com
  • 5 edits in trunk/WebKit/mac

<rdar://problem/7068584> Crash at NetscapePluginHostProxy::processRequests

Patch by Anders Carlsson <andersca@apple.com> on 2009-12-18
Reviewed by Dan Bernstein.

  • Plugins/Hosted/NetscapePluginInstanceProxy.h:

(WebKit::NetscapePluginInstanceProxy::waitForReply): Wrapped with calls
to willCallPluginFunction/didCallPluginFunction. This prevents the plug-in
from being stopped while waiting for reply.

  • Plugins/Hosted/NetscapePluginInstanceProxy.mm:

(WebKit::NetscapePluginInstanceProxy::createBindingsInstance): Protect the
instance proxy in case the plug-in host crashes while waiting for reply.

  • Plugins/Hosted/ProxyInstance.h:

(WebKit::ProxyInstance::waitForReply): Added. Calls through to
NetscapePluginInstanceProxy::waitForReply(), but returns a null reply if the
proxy gets invalidated while waiting for the reply.

  • Plugins/Hosted/ProxyInstance.mm:

(WebKit::ProxyInstance::invoke): Use ProxyInstance::waitForReply().
(WebKit::ProxyInstance::supportsInvokeDefaultMethod): Ditto.
(WebKit::ProxyInstance::supportsConstruct): Ditto.
(WebKit::ProxyInstance::getPropertyNames): Ditto.
(WebKit::ProxyInstance::methodsNamed): Ditto.
(WebKit::ProxyInstance::fieldNamed): Ditto.
(WebKit::ProxyInstance::fieldValue): Ditto.
(WebKit::ProxyInstance::setFieldValue): Ditto.

8:09 PM Changeset in webkit [53519] by sullivan@apple.com
  • 2 edits in trunk/WebKit/mac

Tiger build fix.

  • WebView/WebHTMLRepresentation.h:

Added #import for WebTypesInternal.h so NSUInteger will be defined on Tiger.

7:43 PM Changeset in webkit [53518] by abarth@webkit.org
  • 2 edits in trunk/WebKitTools

2010-01-19 Adam Barth <abarth@webkit.org>

Rubber stamped by Eric Seidel.

Move chromium-ews back to building release only to make the EWS faster.

  • Scripts/webkitpy/commands/early_warning_system.py:
7:24 PM Changeset in webkit [53517] by mjs@apple.com
  • 2 edits in trunk/WebCore

Unreviewed build fix.

Remove currentWorld from the exports file again, since it is now inline.

  • WebCore.base.exp:
7:05 PM Changeset in webkit [53516] by bweinstein@apple.com
  • 9 edits in trunk

JavaScriptCore: When JavaScriptCore calls Debugger::Exception, have it pass a
hasHandler variable that represents if exception is being handled
in the same function (not in a parent on the call stack).

Reviewed by Tim Hatcher.

This just adds a new parameter, no behavior is changed.

  • debugger/Debugger.h:
  • interpreter/Interpreter.cpp:

(JSC::Interpreter::throwException):

WebCore: Part of <http://webkit.org/b/28622>.
Caught exceptions still pause the debugger.

Reviewed by Tim Hatcher.

Update JavaScriptDebugServer::exception to take a hasHandler parameter,
so later we can differentiate between a caught and an uncaught exception.

This just adds a new parameter, no behavior is changed.

No change in functionality, so no tests.

  • inspector/JavaScriptDebugServer.cpp:

(WebCore::JavaScriptDebugServer::exception):

  • inspector/JavaScriptDebugServer.h:

WebKit/mac: Part of <http://webkit.org/b/28622>.
Caught exceptions still pause the debugger.

Reviewed by Tim Hatcher.

Update WebScriptDebugger::exception to have the hasHandler parameter.

This just adds a new parameter, no behavior is changed.

  • WebView/WebScriptDebugger.h:
  • WebView/WebScriptDebugger.mm:

(WebScriptDebugger::exception):

6:30 PM Writing Layout Tests for DumpRenderTree edited by tkent@chromium.org
Add description of parameters of eventSender.mouseDown(), and add … (diff)
6:27 PM Changeset in webkit [53515] by jhoneycutt@apple.com
  • 3 edits in trunk/WebKit/chromium

Chromium build fix.

  • public/WebAccessibilityRole.h:

(WebKit::):
Correct enum names.

  • src/LocalizedStrings.cpp:

(WebCore::AXMenuListPopupActionVerb):
Stubbed.
(WebCore::AXMenuListActionVerb):
Stubbed.

6:25 PM Changeset in webkit [53514] by mjs@apple.com
  • 23 edits in trunk

2010-01-18 Maciej Stachowiak <mjs@apple.com>

Reviewed by Adam Barth.

Inline functions that are hot in DOM manipulation
https://bugs.webkit.org/show_bug.cgi?id=33820


(3% speedup on Dromaeo DOM Core tests)

  • runtime/WeakGCMap.h: (JSC::::get): inline

2010-01-18 Maciej Stachowiak <mjs@apple.com>

Reviewed by Adam Barth.

Inline functions that are hot in DOM manipulation
https://bugs.webkit.org/show_bug.cgi?id=33820

(3% speedup on Dromaeo DOM Core tests)

  • bindings/js/JSDOMBinding.h: (WebCore::currentWorld): Inlined. (WebCore::jsString): Inlined String& overload and split off slow case.
  • bindings/js/JSDOMBinding.cpp: (WebCore::jsStringSlowCase): Slow case for the above.
  • dom/Document.h: (WebCore::Document::isHTMLDocument): Use a bit and an inline method instead of a virtual method, since this is so hot and size of Document is not a prime concern. (WebCore::Document::create): Adapt for above. (WebCore::Document::createXHTML): ditto
  • dom/Document.cpp: (WebCore::Document::Document): ditto
  • html/HTMLDocument.cpp: (WebCore::HTMLDocument::HTMLDocument): ditto
  • html/HTMLDocument.h: ditto
  • loader/PlaceholderDocument.h: (WebCore::PlaceholderDocument::PlaceholderDocument): ditto
  • svg/SVGDocument.cpp: (WebCore::SVGDocument::SVGDocument): ditto
  • dom/Element.h: (WebCore::Element::attributes): Inlined. (WebCore::Element::updateId): Inlined.
  • dom/Element.cpp: (Remove inlined methods.)
  • dom/NamedAttrMap.h: (WebCore::NamedNodeMap::getAttributeItem): Inlined and split off slow case.
  • dom/NamedAttrMap.cpp: (WebCore::NamedNodeMap::getAttributeItemSlowCase): Slow case for the above.
  • inspector/InspectorController.cpp:
  • inspector/InspectorController.h: (WebCore::InspectorController::didInsertDOMNode): Inlined so the fast case early exit doesn't incur a function call. (WebCore::InspectorController::didRemoveDOMNode): ditto (WebCore::InspectorController::didModifyDOMAttr): ditto
  • platform/ThreadGlobalData.h: (WebCore::threadGlobalData): Inlined.
  • platform/ThreadGlobalData.cpp: (Removed inline methods).
  • platform/Timer.h: (WebCore::TimerBase::isActive): Inlined.
  • platform/Timer.cpp: (Removed inline methods).
  • WebCore.xcodeproj/project.pbxproj: Install new heares.
  • WebCore.base.exp: Add appropriate exports.
6:03 PM Changeset in webkit [53513] by jhoneycutt@apple.com
  • 5 edits in trunk

Chromium build fix.

WebCore:

  • accessibility/chromium/AccessibilityObjectChromium.cpp:

(WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
Call correct function.

WebKit/chromium:

  • public/WebAccessibilityRole.h:

(WebKit::):

  • src/AssertMatchingEnums.cpp:
5:43 PM Changeset in webkit [53512] by jhoneycutt@apple.com
  • 37 edits
    2 copies
    6 adds in trunk

MSAA: The child <option> elements of a non-multiple <select> are not
exposed

https://bugs.webkit.org/show_bug.cgi?id=33773
<rdar://problem/7550556>

WebCore:

Reviewed by Alice Liu.

This exposes the child <option> elements in a format similar to
Firefox's: the <select> element has one child, a hidden list object,
and this list has as its children the <option> elements.

  • GNUmakefile.am:
  • WebCore.gypi:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:

Add new files to project.

  • accessibility/AXObjectCache.cpp:

(WebCore::AXObjectCache::getOrCreate):
If the element is a RenderMenuList, create an AccessibilityMenuList.
(WebCore::AXObjectCache::getOrCreate):
Add new types to create by role value.

  • accessibility/AccessibilityMenuList.cpp: Added.

(WebCore::AccessibilityMenuList::AccessibilityMenuList):
Call the base class constructor. Assert that the RenderObject passed
is a RenderMenuList.
(WebCore::AccessibilityMenuList::press):
Show or hide the popup menu.
(WebCore::AccessibilityMenuList::addChildren):
Create an AccessibilityMenuListPopup. If the platform ignores its
accessibility, remove it from the object cache and return early.
Otherwise, set its parent object to this object, add it to our list of
children, and tell it to add its children.
(WebCore::AccessibilityMenuList::childrenChanged):
Tell our child hidden list that its children changed.
(WebCore::AccessibilityMenuList::isCollapsed):
Return whether the popup menu is visible.

  • accessibility/AccessibilityMenuList.h: Added.

(WebCore::AccessibilityMenuList::create):
Adopt and return a new RenderMenuList.
(WebCore::AccessibilityMenuList::isMenuList):
(WebCore::AccessibilityMenuList::roleValue):
(WebCore::AccessibilityMenuList::accessibilityIsIgnored):
(WebCore::AccessibilityMenuList::canSetFocusAttribute):

  • accessibility/AccessibilityMenuListOption.cpp: Added.

(WebCore::AccessibilityMenuListOption::AccessibilityMenuListOption):
Initialize the pointer to our parent popup menu.
(WebCore::AccessibilityMenuListOption::setElement):
Assert that the element is an <option> element.
(WebCore::AccessibilityMenuListOption::actionElement):
Return our element.
(WebCore::AccessibilityMenuListOption::parentObject):
Return our parent popup menu.
(WebCore::AccessibilityMenuListOption::isEnabled):
Return true if the element itself is enabled.
(WebCore::AccessibilityMenuListOption::isVisible):
Return true if the popup is visible, or return true if the popup is
collapsed but the element is selected.
(WebCore::AccessibilityMenuListOption::isOffScreen):
Return true if the object is invisible.
(WebCore::AccessibilityMenuListOption::isSelected):
(WebCore::AccessibilityMenuListOption::setSelected):
(WebCore::AccessibilityMenuListOption::nameForMSAA):
Return the <option> element's text.
(WebCore::AccessibilityMenuListOption::canSetSelectedAttribute):
Return true if enabled.
(WebCore::AccessibilityMenuListOption::elementRect):
Return the AccessibilityMenuList's rect.

  • accessibility/AccessibilityMenuListOption.h: Added.

(WebCore::AccessibilityMenuListOption::create):
Adopt and return a new AccessibilityMenuListOption.
(WebCore::AccessibilityMenuListOption::setParent):
(WebCore::AccessibilityMenuListOption::isMenuListOption):
(WebCore::AccessibilityMenuListOption::roleValue):
(WebCore::AccessibilityMenuListOption::canHaveChildren):
(WebCore::AccessibilityMenuListOption::size):

  • accessibility/AccessibilityMenuListPopup.cpp: Added.

(WebCore::AccessibilityMenuListPopup::AccessibilityMenuListPopup):
Initialize the pointer to our parent list.
(WebCore::AccessibilityMenuListPopup::isVisible):
Return false; we're never considered visible.
(WebCore::AccessibilityMenuListPopup::isOffScreen):
Return true if the popup is collapsed.
(WebCore::AccessibilityMenuListPopup::parentObject):
Return our parent AccessibilityMenuList.
(WebCore::AccessibilityMenuListPopup::isEnabled):
Return true if our parent is enabled.
(WebCore::AccessibilityMenuListPopup::menuListOptionAccessibilityObject):
If the element is an <option> element, create a list item for it, and
set the object's element to this element.
(WebCore::AccessibilityMenuListPopup::press):
Call our parent's press() function to show or hide the popup menu.
(WebCore::AccessibilityMenuListPopup::addChildren):
Walk the select element's children, and create list items for them. Add
them to our list of children.
(WebCore::AccessibilityMenuListPopup::childrenChanged):
If any of our children have been detached from the document, remove
them from the AXObjectCache and from our child list.
(WebCore::AccessibilityMenuListPopup::setMenuList):

  • accessibility/AccessibilityMenuListPopup.h: Added.

(WebCore::AccessibilityMenuListPopup::create):
Adopt and return an AccessibilityMenuListPopup.
(WebCore::AccessibilityMenuListPopup::isMenuListPopup):
(WebCore::AccessibilityMenuListPopup::elementRect):
(WebCore::AccessibilityMenuListPopup::size):
(WebCore::AccessibilityMenuListPopup::roleValue):

  • accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::actionVerb):
Add the menuListAction and menuListPopupAction verbs.

  • accessibility/AccessibilityObject.h:

(WebCore::):
Add new roles.
(WebCore::AccessibilityObject::isMenuList):
Stubbed.
(WebCore::AccessibilityObject::isMenuListHiddenList):
Stubbed.
(WebCore::AccessibilityObject::isMenuListOption):
Stubbed.
(WebCore::AccessibilityObject::isVisible):
Stubbed.

  • accessibility/chromium/AccessibilityObjectChromium.cpp:

(WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
Ignore the new object type.

  • accessibility/gtk/AccessibilityObjectAtk.cpp:

(WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
Ditto.

  • accessibility/mac/AccessibilityObjectMac.mm:

(WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
Ditto.

  • accessibility/qt/AccessibilityObjectQt.cpp:

(WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
Ditto.

  • accessibility/win/AccessibilityObjectWin.cpp:

(WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
Allow the new object types.

  • accessibility/wx/AccessibilityObjectWx.cpp:

(WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
Ignore the new object type.

  • accessibility/win/AccessibilityObjectWin.cpp:

(WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
If the object is an AccessibilityMenuListHiddenList or
AccessibilityMenuListOption, include it.

  • html/HTMLOptionElement.cpp:

(WebCore::HTMLOptionElement::disabled):
Call ownElementDisabled().

  • html/HTMLOptionElement.h:

(WebCore::HTMLOptionElement::ownElementDisabled):
Return the base class implementation of disabled, which returns
whether this <option> itself is disabled.

  • platform/LocalizedStrings.h:

Declare new localized string functions.

  • platform/gtk/LocalizedStringsGtk.cpp:

(WebCore::AXMenuListPopupActionVerb):
Stubbed.
(WebCore::AXMenuListActionVerb):
Stubbed.

  • platform/haiku/LocalizedStringsHaiku.cpp:

(WebCore::AXMenuListPopupActionVerb):
Stubbed.
(WebCore::AXMenuListActionVerb):
Stubbed.

  • platform/mac/LocalizedStringsMac.mm:

(WebCore::AXMenuListPopupActionVerb):
Call the view factory's method.
(WebCore::AXMenuListActionVerb):
Ditto.

  • platform/qt/Localizations.cpp:

(WebCore::AXMenuListPopupActionVerb):
Stubbed.
(WebCore::AXMenuListActionVerb):
Stubbed.

  • platform/wx/LocalizedStringsWx.cpp:

(WebCore::AXMenuListPopupActionVerb):
Stubbed.
(WebCore::AXMenuListActionVerb):
Stubbed.

WebKit:

Reviewed by Alice Liu.

  • English.lproj/Localizable.strings:

Add new localized strings.

WebKit/mac:

  • WebCoreSupport/WebViewFactory.mm:

(-[WebViewFactory AXMenuListPopupActionVerb]):
Stubbed.
(-[WebViewFactory AXMenuListActionVerb]):
Stubbed.

WebKit/win:

Reviewed by Alice Liu.

  • AccessibleBase.cpp:

(AccessibleBase::get_accState):
If the object is invisible, set the invisible state flag. If the object
is collapsed, set the collapsed state. If the object is a combo box,
set the has popup flag, and if it's not collapsed, set the expanded
flag.
(MSAARole):
Add new WebCore to MSAA role mappings.

  • WebCoreLocalizedStrings.cpp:

(WebCore::AXMenuListActionVerb):
Return the action verb that Firefox uses for <select> elements with
popups.
(WebCore::AXMenuListPopupActionVerb):
Return the verb that Firefox uses for a popup list.

WebKitTools:

Reviewed by Alice Liu.

  • DumpRenderTree/AccessibilityUIElement.cpp:

(getIsVisibleCallback):
Call the object's isVisible() function.
(getIsOffScreenCallback):
Ditto, for isOffScreen().
(getIsCollapsedCallback):
Ditto, for isCollapsed().
(getHasPopupCallback):
Ditto, for hasPopup().
(AccessibilityUIElement::getJSClass):
Add isVisible and isOffScreen attributes.

  • DumpRenderTree/AccessibilityUIElement.h:

Declare new functions.

  • DumpRenderTree/gtk/AccessibilityUIElementGtk.cpp:

(AccessibilityUIElement::isVisible):
Stubbed.
(AccessibilityUIElement::isOffScreen):
Stubbed.
(AccessibilityUIElement::isCollapsed):
Stubbed.
(AccessibilityUIElement::hasPopup):
Stubbed.

  • DumpRenderTree/mac/AccessibilityUIElementMac.mm:

(AccessibilityUIElement::isVisible):
Stubbed.
(AccessibilityUIElement::isOffScreen):
Stubbed.
(AccessibilityUIElement::isCollapsed):
Stubbed.
(AccessibilityUIElement::hasPopup):
Stubbed.

  • DumpRenderTree/win/AccessibilityUIElementWin.cpp:

(AccessibilityUIElement::showMenu):
Call the object's accDoDefaultAction() to show its popup menu.
(AccessibilityUIElement::isEnabled):
Check that the object does not have the "unavailable" state.
(AccessibilityUIElement::isVisible):
Check that the object does not have the "invisible" state.
(AccessibilityUIElement::isOffScreen):
Check whether the object has the "offscreen" state.
(AccessibilityUIElement::isCollapsed):
Check whether the object has the "collapsed" state.
(AccessibilityUIElement::hasPopup):
Check whether the object has the "has popup" state.

LayoutTests:

Reviewed by Alice Liu.

  • platform/win/accessibility/single-select-children-expected.txt: Added.
  • platform/win/accessibility/single-select-children.html: Added.
5:16 PM Changeset in webkit [53511] by kov@webkit.org
  • 1 copy in releases/WebKitGTK/webkit-1.1.19

Tagging 1.1.19.

5:10 PM Changeset in webkit [53510] by Simon Fraser
  • 8 edits
    4 adds in trunk

2010-01-19 Simon Fraser <Simon Fraser>

Reviewed by Dan Bernstein.

Support reflections on WebGL
https://bugs.webkit.org/show_bug.cgi?id=33754

Support reflections of WebGL content, by ensuring that when the Canvas3DLayer containing the
WebGL content gets displayed, we correctly copy its content to the clone layers.

Test: compositing/webgl/webgl-reflection.html

  • platform/graphics/GraphicsLayer.h: (WebCore::GraphicsLayer::didDisplay): Give the didDisplay() client method a parameter which is the layer that displayed.
  • platform/graphics/mac/Canvas3DLayer.mm: (-[Canvas3DLayer display]): Override -[CALayer display], and call the client didDisplay().
  • platform/graphics/mac/GraphicsLayerCA.h: didDisplay() takes a PlatformLayer parameter.
  • platform/graphics/mac/GraphicsLayerCA.mm: (WebCore::GraphicsLayerCA::~GraphicsLayerCA): We need to clear the layer owner on the content layer, since we're setting it for WebGL layers now.

(WebCore::GraphicsLayerCA::didDisplay): Handle didDisplay() calls for the content layer,
as well as the main layer now, getting the correct layer to copy contents from, and using
the correct clone map.

(WebCore::GraphicsLayerCA::setContentsToGraphicsContext3D): Set the layer owner for WebGL
layers, because we need the didDisplay() callback.

  • platform/graphics/mac/WebLayer.mm: (-[WebLayer display]): didDisplay() takes a layer argument.
  • platform/graphics/mac/WebTiledLayer.mm: (-[WebTiledLayer display]): ditto.
4:58 PM Changeset in webkit [53509] by mrowe@apple.com
  • 2 edits in trunk/WebCore

<rdar://problem/7555330> <http://webkit.org/b/33770> dataFunctionMatrix leaks the array allocated by toArray

Reviewed by Oliver Hunt.

Rework toArray to extract elements in to a vector rather than handing out raw pointers. This prevents
callers from forgetting to free the memory, and gives them the option of using stack buffers for
sufficiently small allocations.

  • bindings/js/JSWebGLRenderingContextCustom.cpp:

(WebCore::JSWebGLRenderingContext::texSubImage2D):
(WebCore::toVector):
(WebCore::dataFunctionf):
(WebCore::dataFunctioni):
(WebCore::dataFunctionMatrix):

4:57 PM Changeset in webkit [53508] by eric@webkit.org
  • 2 edits in trunk/WebKitTools

2010-01-19 Victor Wang <victorw@chromium.org>

Reviewed by Eric Seidel.

Correct committer name.
https://bugs.webkit.org/show_bug.cgi?id=33868

  • Scripts/webkitpy/committers.py:
4:37 PM Changeset in webkit [53507] by Simon Fraser
  • 3 edits in trunk/WebCore

2010-01-19 Simon Fraser <Simon Fraser>

Reviewed by Dan Bernstein.

Occasional crash when interacting with page with reflected WebGL
https://bugs.webkit.org/show_bug.cgi?id=33863

If updateCompositingLayers() was called with an updateRoot that was a reflection layer,
then we would determine that the layer does not require compositing, and tear down its
backing (without clearing replicaLayer() on the source layer's GraphicsLayer).

Fix by changing requiresCompositingLayer() on a reflection layer to always give the
same answer for a reflection and its original.

Also add various belt-and-brances code and null checks to ensure that if we ever end up
with a non-composited reflection layer, we won't crash.

No new tests, because the crash depends on timing issues that are hard to reproduce in a test.

  • platform/graphics/GraphicsLayer.h: (WebCore::GraphicsLayer::replicaLayer): Make this public so we can use it in an assertion.
  • rendering/RenderLayerCompositor.cpp: (WebCore::RenderLayerCompositor::updateBacking): Clear the source layer's replica layer pointer if tearing down backing store of a reflection.

(WebCore::RenderLayerCompositor::rebuildCompositingLayerTree): Null-check reflection->backing().
(WebCore::RenderLayerCompositor::updateLayerTreeGeometry): Null-check reflection->backing().
(WebCore::RenderLayerCompositor::updateCompositingDescendantGeometry): reflection->backing().
(WebCore::RenderLayerCompositor::requiresCompositingLayer): If being called for a reflection layer,
use the source layer to answer the question.

4:09 PM Changeset in webkit [53506] by eric@webkit.org
  • 5 edits
    6 adds in trunk

2010-01-19 Carol Szabo <carol.szabo@nokia.com>

Reviewed by Darin Adler.

Another crazy counters bug
https://bugs.webkit.org/show_bug.cgi?id=11031
Added tests for dynamic DOM changes affecting counters.

  • fast/css/counters/counter-increment-002.html: Added.
  • fast/css/counters/counter-reset-000.html: Added.
  • fast/css/counters/counter-reset-002.html: Added.
  • fast/css/counters/counter-increment-002-expected.txt: Added.
  • fast/css/counters/counter-reset-000-expected.txt: Added.
  • fast/css/counters/counter-reset-002-expected.txt: Added.

2010-01-19 Carol Szabo <carol.szabo@nokia.com>

Reviewed by Darin Adler.

Another crazy counters bug
https://bugs.webkit.org/show_bug.cgi?id=11031

This patch actually provides for counter updating when the style
of a renderer changes.

Tests: fast/css/counters/counter-increment-002.html

fast/css/counters/counter-reset-000.html
fast/css/counters/counter-reset-002.html

  • rendering/RenderCounter.cpp: (WebCore::RenderCounter::rendererStyleChanged): This function is added to update the counter hierarchy in response to changes to the style of a renderer.
  • rendering/RenderCounter.h:
  • rendering/RenderObject.cpp: (WebCore::RenderObject::styleDidChange): For changes that may include the counter directives added a call to RenderCounter::rendererStyleChanged.
3:59 PM Changeset in webkit [53505] by kov@webkit.org
  • 2 edits in trunk

Unreviewed. Shared library versioning bump for 1.1.19.

3:53 PM Changeset in webkit [53504] by ap@apple.com
  • 2 edits in trunk/LayoutTests

Land correct expected results - forgot to update them after changing test output.

  • fast/dom/Attr/child-nodes-cache-expected.txt:
3:51 PM Changeset in webkit [53503] by kov@webkit.org
  • 4 edits in trunk

Unreviewed. Build fixes for make distcheck.

3:49 PM Changeset in webkit [53502] by ojan@chromium.org
  • 6 edits in trunk/LayoutTests

2010-01-19 Ojan Vafai <ojan@chromium.org>

Reviewed by Eric Seidel.

More flaky animation/transitions tests
https://bugs.webkit.org/show_bug.cgi?id=33872

Undo my previous changes decreasing test times. This ended up
increasing flakiness.

  • animations/change-one-anim-expected.txt:
  • animations/change-one-anim.html:
  • animations/combo-transform-translate+scale.html:
  • transitions/shorthand-border-transitions-expected.txt:
  • transitions/shorthand-border-transitions.html:
3:32 PM Changeset in webkit [53501] by ap@apple.com
  • 3 edits
    2 adds in trunk

Reviewed by Oliver Hunt.

https://bugs.webkit.org/show_bug.cgi?id=33850
Attr.childNodes does not get updated after DOM mutations

Test: fast/dom/Attr/child-nodes-cache.html

  • dom/Node.cpp: (WebCore::Node::notifyLocalNodeListsAttributeChanged): If the node is an attribute, then changing it shouldn't take the shortcut that only resets a subset of caches.
3:22 PM Changeset in webkit [53500] by sullivan@apple.com
  • 15 edits in trunk

https://bugs.webkit.org/show_bug.cgi?id=33854
Would like a variant of WebHTMLRepresentation's searchForLabelsBeforeElement that returns
more info about where the result was found

WebCore:

Reviewed by Darin Adler.

No new tests. This just adds a couple of out parameters for the benefit of WebKit clients.

  • WebCore.base.exp:

Updated mangled signature for export.

  • page/Frame.cpp:

(WebCore::Frame::searchForLabelsAboveCell):
Now fills in an out parameter with the number of characters from the start of the cell.
(WebCore::Frame::searchForLabelsBeforeElement):
Now fills in an out parameter with the distance as a number of characters, and another
with a bool for whether the result was in a table cell above the current cell (otherwise
it was found in the text before this element and after the previous element or start of form).

  • page/Frame.h:

Updated signatures.

  • page/mac/FrameMac.mm:

(WebCore::Frame::searchForNSLabelsAboveCell):
Same as above. This is a parallel copy of the function using Mac-specific data structures.
(WebCore::Frame::searchForLabelsBeforeElement):
Ditto

WebKit/mac:

Reviewed by Darin Adler

  • WebView/WebHTMLRepresentation.h:

Declare -searchForLabels:beforeElement:resultDistance:resultIsInCellAbove.

  • WebView/WebHTMLRepresentation.mm:

(-[WebHTMLRepresentation searchForLabels:beforeElement:]):
Now calls through to searchForLabels:beforeElement:resultDistance:resultIsInCellAbove.
(-[WebHTMLRepresentation searchForLabels:beforeElement:resultDistance:resultIsInCellAbove:]):
New method, calls through to WebCore.

WebKit/win:

Reviewed by Darin Adler

  • Interfaces/IWebHTMLRepresentation.idl:

Created variant of searchForLabels that includes additional in/out parameters resultDistance and resultIsInCellAbove.

  • Interfaces/WebKit.idl:

Touched in order to get other idl change to propagate correctly.

  • WebHTMLRepresentation.cpp:

(WebHTMLRepresentation::deprecatedSearchForLabels):
Renamed since iDL doesn't support two functions with the same name but different signatures.
(WebHTMLRepresentation::searchForLabels):
Implemented variant of searchForLabels that includes additional in/out parameters resultDistance and resultIsInCellAbove.

  • WebHTMLRepresentation.h:

Declared variant of searchForLabels that includes additional in/out parameters resultDistance and resultIsInCellAbove.

3:09 PM Changeset in webkit [53499] by jpetsovits@rim.com
  • 1 edit
    7 adds in trunk/WebCore

2010-01-19 Jakob Petsovits <jpetsovits@rim.com>

Reviewed by Nikolas Zimmermann.

[OpenVG] Add (EGL) surface/context management
https://bugs.webkit.org/show_bug.cgi?id=33403

The foundations for a new OpenVG port.

OpenVG is not tied to EGL per se, EGL just happens to be
the only usable backend for OpenVG state and painting
at the time of writing.

The purpose of the SurfaceOpenVG class is to provide
an EGL-independent interface for OpenVG-specific code.
The EGLDisplayOpenVG class takes care of keeping track
of EGL displays, surfaces and contexts. It also makes
sure that all created contexts are interoperable, and
that different surfaces use a single context if possible.

  • platform/graphics/openvg/EGLDisplayOpenVG.cpp: Added. (WebCore::displayManagers): (WebCore::EGLDisplayOpenVG::currentSurface): (WebCore::EGLDisplayOpenVG::registerPlatformSurface): (WebCore::EGLDisplayOpenVG::unregisterPlatformSurface): (WebCore::EGLDisplayOpenVG::setCurrentDisplay): (WebCore::EGLDisplayOpenVG::current): (WebCore::EGLDisplayOpenVG::forDisplay): (WebCore::EGLDisplayOpenVG::EGLDisplayOpenVG): (WebCore::EGLDisplayOpenVG::~EGLDisplayOpenVG): (WebCore::EGLDisplayOpenVG::setDefaultPbufferConfig): (WebCore::EGLDisplayOpenVG::defaultPbufferConfig): (WebCore::EGLDisplayOpenVG::setDefaultWindowConfig): (WebCore::EGLDisplayOpenVG::defaultWindowConfig): (WebCore::EGLDisplayOpenVG::sharedPlatformSurface): (WebCore::EGLDisplayOpenVG::createPbufferSurface): (WebCore::EGLDisplayOpenVG::surfaceForWindow): (WebCore::EGLDisplayOpenVG::surfacesCompatible): (WebCore::EGLDisplayOpenVG::destroySurface): (WebCore::EGLDisplayOpenVG::contextForSurface):
  • platform/graphics/openvg/EGLDisplayOpenVG.h: Added. (WebCore::EGLDisplayOpenVG::display):
  • platform/graphics/openvg/EGLUtils.h: Added. (toEGLErrorConstant):
  • platform/graphics/openvg/SurfaceOpenVG.cpp: Added. (WebCore::SurfaceOpenVG::currentSurface): (WebCore::SurfaceOpenVG::SurfaceOpenVG): (WebCore::SurfaceOpenVG::~SurfaceOpenVG): (WebCore::SurfaceOpenVG::isValid): (WebCore::SurfaceOpenVG::width): (WebCore::SurfaceOpenVG::height): (WebCore::SurfaceOpenVG::sharedSurface): (WebCore::SurfaceOpenVG::makeCurrent): (WebCore::SurfaceOpenVG::makeCompatibleCurrent): (WebCore::SurfaceOpenVG::flush):
  • platform/graphics/openvg/SurfaceOpenVG.h: Added. (WebCore::SurfaceOpenVG::eglDisplay): (WebCore::SurfaceOpenVG::eglSurface): (WebCore::SurfaceOpenVG::eglContext):
  • platform/graphics/openvg/VGUtils.h: Added. (toVGErrorConstant):
2:50 PM Changeset in webkit [53498] by eric@webkit.org
  • 2 edits in trunk/WebKitTools

2010-01-19 Kent Tamura <tkent@chromium.org>

Reviewed by Darin Adler.

[DRT][Mac] Add modifiers parameter to eventSender.mouseDown() and eventSender.mouseUp()
https://bugs.webkit.org/show_bug.cgi?id=33783

Some listbox tests check selection behavior by click events with
"meta" or "shift" keys. Behaviors for such modifier keys are
platform-dependent. The new parameter of mouseDown() and mouseUp()
allows to specify not only concrete modifier keys such as
"shiftKey" "metaKey", but also functional names like
"addSelectionKey" "rangeSelectionKey".

  • DumpRenderTree/mac/EventSendingController.mm: (+[EventSendingController isSelectorExcludedFromWebScript:]): (+[EventSendingController webScriptNameForSelector:]): (buildModifierFlags): (-[EventSendingController mouseDown:withModifiers:]): (-[EventSendingController mouseDown:]): (-[EventSendingController mouseUp:withModifiers:]): (-[EventSendingController mouseUp:]): (-[EventSendingController keyDown:withModifiers:withLocation:]):
2:36 PM Changeset in webkit [53497] by steveblock@google.com
  • 15 edits
    4 moves in trunk/WebCore

Renames jni_utility and jni_utility_private to JNIUtility and JNIUtilityPrivate
https://bugs.webkit.org/show_bug.cgi?id=33843

Reviewed by David Levin.

No new tests, refactoring only.

  • Android.jscbindings.mk:
  • Android.v8bindings.mk:
  • GNUmakefile.am:
  • WebCore.xcodeproj/project.pbxproj:
  • bridge/jni/JNIUtility.cpp: Copied from WebCore/bridge/jni/jni_utility.cpp.
  • bridge/jni/JNIUtility.h: Copied from WebCore/bridge/jni/jni_utility.h.
  • bridge/jni/jni_jsobject.mm:
  • bridge/jni/jni_objc.mm:
  • bridge/jni/jni_runtime.cpp:
  • bridge/jni/jni_runtime.h:
  • bridge/jni/jni_utility.cpp: Removed.
  • bridge/jni/jni_utility.h: Removed.
  • bridge/jni/jsc/JNIUtilityPrivate.cpp: Copied from WebCore/bridge/jni/jsc/jni_utility_private.cpp.

(JSC::Bindings::convertValueToJValue):

  • bridge/jni/jsc/JNIUtilityPrivate.h: Copied from WebCore/bridge/jni/jsc/jni_utility_private.h.
  • bridge/jni/jsc/JavaClassJSC.cpp:
  • bridge/jni/jsc/JavaInstanceJSC.cpp:
  • bridge/jni/jsc/JavaStringJSC.h:
  • bridge/jni/jsc/jni_utility_private.cpp: Removed.
  • bridge/jni/jsc/jni_utility_private.h: Removed.
  • platform/android/GeolocationServiceBridge.cpp:
  • platform/android/GeolocationServiceBridge.h:
  • platform/android/TemporaryLinkStubs.cpp:
2:30 PM Changeset in webkit [53496] by eric@webkit.org
  • 2 edits in trunk/WebKitTools

2010-01-19 Adam Barth <abarth@webkit.org>

Reviewed by Eric Seidel.

Unbreak --request-commit
https://bugs.webkit.org/show_bug.cgi?id=33832

  • Scripts/webkitpy/bugzilla.py:
2:18 PM Changeset in webkit [53495] by Simon Fraser
  • 3 edits
    8 adds in trunk

2010-01-19 Simon Fraser <Simon Fraser>

Reviewed by Dan Bernstein.

Some composited reflections incorrectly positioned
https://bugs.webkit.org/show_bug.cgi?id=33856

When setting the position of the replicated layer inside the reflection, we need to take
into account the bounds of the original layer, and the replica layer to get the
reflection in the right place.

Tests: compositing/reflections/nested-reflection-transformed2.html

compositing/reflections/reflection-positioning2.html

  • rendering/RenderLayerBacking.cpp: (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
2:17 PM Changeset in webkit [53494] by enrica@apple.com
  • 3 edits
    2 adds in trunk

WebCore: REGRESSION: Infinite recursion in Position::getInlineBoxAndOffset()
https://bugs.webkit.org/show_bug.cgi?id=33864
<rdar://problem/7552959>

Reviewed by Simon Fraser.

Regression has been introduced by changeset 53085.
The original fix had to be limited to editable content.

Test: editing/selection/selection-applet.html

  • dom/Position.cpp:

(WebCore::Position::getInlineBoxAndOffset):

LayoutTests: REGRESSION: Infinite recursion in Position::getInlineBoxAndOffset()
https://bugs.webkit.org/show_bug.cgi?id=33864
<rdar://problem/7552959>

Reviewed by Simon Fraser.

  • editing/selection/selection-applet-expected.txt: Added.
  • editing/selection/selection-applet.html: Added.
2:14 PM Changeset in webkit [53493] by eric@webkit.org
  • 2 edits in trunk/WebCore

2010-01-19 Kristian Amlie <kristian.amlie@nokia.com>

Reviewed by Laszlo Gombos.

[Qt] Fix qmake warning with qmake in Qt for Symbian
https://bugs.webkit.org/show_bug.cgi?id=33786

  • WebCore.pro: Use QMAKE_LFLAGS instead of MMP_RULES.
2:14 PM Changeset in webkit [53492] by ojan@chromium.org
  • 4 edits in trunk/LayoutTests

2010-01-15 Ojan Vafai <ojan@chromium.org>

Reviewed by Adam Barth.

LayoutTests/animations/play-state.html and LayoutTests/transitions/cancel-transition.html are still flaky
https://bugs.webkit.org/show_bug.cgi?id=33748

  • animations/play-state-expected.txt:
  • animations/play-state.html: Undo my previous change of decreasing the length of the test. I think that made it more flaky. Also increase the tolerance.
  • transitions/cancel-transition.html: Undo my previous change of moving the setTimeout. It was correct where it was. Added a comment to make it more clear. The tolerances were increased since then though, so this test should no longer be flaky after this.
2:10 PM Changeset in webkit [53491] by jpetsovits@rim.com
  • 1 edit in trunk/WebKitTools/Scripts/webkitpy/committers.py

Adding myself to committers.py.

1:53 PM Changeset in webkit [53490] by dbates@webkit.org
  • 2 edits in trunk/WebCore

2010-01-19 Daniel Bates <dbates@rim.com>

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=33851

Fixes an issue in the Apple Mac port where ScrollView::platformVisibleContentRect
returns the rectangle of the document within the content view of
the scroll view (i.e. the rectangle not including scrollbars) when
the parameter includeScrollbars == true

Currently, this behavior contradicts both the comment in ScrollView.h
for method visibleContentRect as well as the behavior in
ScrollView::visibleContentRect() for a platform-independent scroll view.

Instead, it should return the rectangle whose dimensions include
the scrollbars.

Also, removes some extra whitespace at the end of the lines.

No tests included because we cannot test this using either DRT
or a manual test.

  • platform/mac/ScrollViewMac.mm: (WebCore::ScrollView::platformVisibleContentRect): If includeScrollbars == true then return the rectangle whose dimensions are that of the frame (i.e. -[NSScrollView frame]).
1:51 PM Changeset in webkit [53489] by steveblock@google.com
  • 3 edits in trunk/WebCore

Fixes style in WebCore/bridge/jni/jsc/JavaClassJSC
https://bugs.webkit.org/show_bug.cgi?id=33819

Reviewed by David Levin.

No new tests, style fixes only.

  • bridge/jni/jsc/JavaClassJSC.cpp: Modified.
  • bridge/jni/jsc/JavaClassJSC.h: Modified.
1:49 PM Changeset in webkit [53488] by eric@webkit.org
  • 10 edits in trunk

2010-01-19 Jaime Yap <jaimeyap@google.com>

Reviewed by Pavel Feldman.

Test changes to accomodate refactor of TimelineRecordFactory and InspectorTimelineAgent to
support reporting data when closing a record.

https://bugs.webkit.org/show_bug.cgi?id=33853

  • inspector/timeline-layout-expected.txt:
  • inspector/timeline-parse-html-expected.txt:
  • inspector/timeline-recalculate-styles-expected.txt:

2010-01-19 Jaime Yap <jaimeyap@google.com>

Reviewed by Pavel Feldman.

Refactors the TimelineRecordFactory and InspectorTimelineAgent to support reporting data
when closing a record. Also includes grabbing the start and end line number for parse HTML
records as a reference use case for the above refactor

Tests updated:

inspector/timeline-parse-html-expected.txt
inspector/timeline-layout-expected.txt
inspector/timeline-recalculate-styles-expected.txt

https://bugs.webkit.org/show_bug.cgi?id=33853

  • html/HTMLTokenizer.cpp: (WebCore::HTMLTokenizer::write):
  • inspector/InspectorTimelineAgent.cpp: (WebCore::InspectorTimelineAgent::willDispatchEvent): (WebCore::InspectorTimelineAgent::willLayout): (WebCore::InspectorTimelineAgent::willRecalculateStyle): (WebCore::InspectorTimelineAgent::willPaint): (WebCore::InspectorTimelineAgent::willWriteHTML): (WebCore::InspectorTimelineAgent::didWriteHTML): (WebCore::InspectorTimelineAgent::didInstallTimer): (WebCore::InspectorTimelineAgent::didRemoveTimer): (WebCore::InspectorTimelineAgent::willFireTimer): (WebCore::InspectorTimelineAgent::willChangeXHRReadyState): (WebCore::InspectorTimelineAgent::willLoadXHR): (WebCore::InspectorTimelineAgent::willEvaluateScript): (WebCore::InspectorTimelineAgent::willSendResourceRequest): (WebCore::InspectorTimelineAgent::didReceiveResourceResponse): (WebCore::InspectorTimelineAgent::didFinishLoadingResource): (WebCore::InspectorTimelineAgent::didMarkTimeline): (WebCore::InspectorTimelineAgent::didCompleteCurrentRecord): (WebCore::InspectorTimelineAgent::pushCurrentRecord):
  • inspector/InspectorTimelineAgent.h: (WebCore::InspectorTimelineAgent::TimelineRecordEntry::TimelineRecordEntry):
  • inspector/TimelineRecordFactory.cpp: (WebCore::TimelineRecordFactory::createEventDispatchData): (WebCore::TimelineRecordFactory::createGenericTimerData): (WebCore::TimelineRecordFactory::createTimerInstallData): (WebCore::TimelineRecordFactory::createXHRReadyStateChangeData): (WebCore::TimelineRecordFactory::createXHRLoadData): (WebCore::TimelineRecordFactory::createEvaluateScriptData): (WebCore::TimelineRecordFactory::createMarkTimelineData): (WebCore::TimelineRecordFactory::createResourceSendRequestData): (WebCore::TimelineRecordFactory::createResourceReceiveResponseData): (WebCore::TimelineRecordFactory::createResourceFinishData): (WebCore::TimelineRecordFactory::createPaintData): (WebCore::TimelineRecordFactory::createParseHTMLData):
  • inspector/TimelineRecordFactory.h:
1:31 PM Changeset in webkit [53487] by eric@webkit.org
  • 4 edits in trunk

2010-01-19 Joanmarie Diggs <joanmarie.diggs@gmail.com>

Reviewed by Xan Lopez.

https://bugs.webkit.org/show_bug.cgi?id=30883
[Gtk] Implement AtkText for HTML elements which contain text

Moves the text assembling functionality from getPangoLayoutForAtk to
textForObject, which webkit_accessible_text_get_text now falls back on
when it comes up empty.

Adds a check in textForObject so that we don't double-add newlines
when we have a BR.

  • accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: (textForObject): (getPangoLayoutForAtk): (webkit_accessible_text_get_text):

2010-01-19 Joanmarie Diggs <joanmarie.diggs@gmail.com>

Reviewed by Xan Lopez.

https://bugs.webkit.org/show_bug.cgi?id=30883
[Gtk] Implement AtkText for HTML elements which contain text

Adds two news tests.

  • tests/testatk.c (testWebkitAtkGetTextInParagraphAndBodySimple): (testWebkitAtkGetTextInParagraphAndBodyModerate): (main):
1:07 PM Changeset in webkit [53486] by eric.carlson@apple.com
  • 3 edits
    2 adds in trunk

2010-01-19 Eric Carlson <eric.carlson@apple.com>

Reviewed by Adam Roben.

error events don't fire if no <source> elements passed to media engine
https://bugs.webkit.org/show_bug.cgi?id=33855

Test: media/video-source-error-no-candidate.html

  • html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::selectMediaResource): Only bail early if there is no 'src' attribute and no <source> child elements at all.

2010-01-19 Eric Carlson <eric.carlson@apple.com>

Reviewed by Adam Roben.

error events don't fire if no <source> elements passed to media engine
https://bugs.webkit.org/show_bug.cgi?id=33855

  • media/video-source-error-no-candidate-expected.txt: Added.
  • media/video-source-error-no-candidate.html: Added.
1:04 PM Changeset in webkit [53485] by dbates@webkit.org
  • 2 edits in trunk/WebCore

2010-01-19 Daniel Bates <dbates@webkit.org>

Reviewed by Adam Roben.

https://bugs.webkit.org/show_bug.cgi?id=33822

REGRESSION(r53273): Fixes redefinition of XFORM error when building
WebKit using Qt Windows with the MinGW compiler.


Note, MinGW has a slightly different declaration of the struct XFORM
from that in the Microsoft SDK. So, we need to substitute an alternative
typedef for XFORM when compiling with MinGW.

No functionality was changed. So, no new tests.

  • platform/graphics/transforms/TransformationMatrix.h:
12:53 PM Changeset in webkit [53484] by eric@webkit.org
  • 3 edits in trunk/WebKitTools

2010-01-19 Eric Seidel <eric@webkit.org>

Reviewed by Adam Barth.

validate-committer-lists throws exception and committers.py needs a refresh
https://bugs.webkit.org/show_bug.cgi?id=33831

  • Scripts/validate-committer-lists: use webkit_logging
  • Scripts/webkitpy/committers.py: Add recently minted committers. Fix Simon Hausmanns email address list to include his webkit-committers@lists address.
12:40 PM Changeset in webkit [53483] by mrowe@apple.com
  • 4 edits in trunk

Versioning.

12:39 PM Changeset in webkit [53482] by mrowe@apple.com
  • 1 copy in tags/Safari-532.8

New tag.

12:22 PM Changeset in webkit [53481] by kov@webkit.org
  • 2 edits in trunk/WebKit/gtk

Reviewed by Xan Lopez.

News items for 1.1.19.

  • NEWS:
12:19 PM Changeset in webkit [53480] by senorblanco@chromium.org
  • 2 edits in trunk/WebCore

Fix for crash on large TransparencyWin allocation. The fix is
to leave m_layerValid false when the allocPixels of
OwnedBuffers::m_referenceBitmap fails. Then TransparencyWin won't
attempt to use it.

Reviewed by Dimitri Glazkov.

Will be covered by a new unit test in Chromium's test_shell_tests (when
this is rolled into Chromium).

https://bugs.webkit.org/show_bug.cgi?id=33844

  • platform/graphics/chromium/TransparencyWin.cpp:

(WebCore::TransparencyWin::initializeNewContext):
Early return when m_referenceBitmap or its pixels is NULL, leaving
m_layerValid false.

11:48 AM Changeset in webkit [53479] by Laszlo Gombos
  • 2 edits in trunk/JavaScriptCore

2010-01-19 Laszlo Gombos <Laszlo Gombos>

Unreviewed build fix for JIT with RVCT.

Remove IMPORT statement; cti_vm_throw is already defined in JITStubs.h.
Remove extra ')'.

  • jit/JITStubs.cpp: (JSC::ctiVMThrowTrampoline):
11:31 AM Changeset in webkit [53478] by eric.carlson@apple.com
  • 4 edits
    2 adds in trunk

2010-01-19 Eric Carlson <eric.carlson@apple.com>

Reviewed by Adam Roben.

video.networkState remains NETWORK_LOADING indefinitely when no <source> element was able to be loaded
https://bugs.webkit.org/show_bug.cgi?id=33744

Test: media/video-source-none-supported.html

  • html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::loadNextSourceChild): Call waitForSourceChange if

there are no valid source elements.

(WebCore::HTMLMediaElement::waitForSourceChange): New, set networkState to NETWORK_NO_SOURCE.
(WebCore::HTMLMediaElement::setNetworkState): Call waitForSourceChange if the movie

hasn't reached HAVE_METADATA and there are no more <source> elements to try.

  • html/HTMLMediaElement.h: Declare waitForSourceChange.

2010-01-19 Eric Carlson <eric.carlson@apple.com>

Reviewed by Adam Roben.

video.networkState remains NETWORK_LOADING indefinitely when no <source> element was able to be loaded
https://bugs.webkit.org/show_bug.cgi?id=33744

  • media/video-source-none-supported-expected.txt: Added.
  • media/video-source-none-supported.html: Added.
11:11 AM Changeset in webkit [53477] by kov@webkit.org
  • 3 edits in trunk/WebKit/gtk

Reviewed by Xan Lopez.

[GTK] More crashes related to the clipboard management
https://bugs.webkit.org/show_bug.cgi?id=33746

Pass the WebKitWebView object (which is a GObject, thus
ref-counted) to the clipboard functions instead of passing the
Page - this allows us to explicitely protect the object inbetween
the clipboard call and its callbacks, which fixes the crash.

  • WebCoreSupport/EditorClientGtk.cpp: (WebKit::EditorClient::respondToChangedSelection):
  • WebCoreSupport/PasteboardHelperGtk.cpp: (WebKit::getClipboardContentsCallback): (WebKit::clearClipboardContentsCallback): (WebKit::PasteboardHelperGtk::writeClipboardContents):
10:48 AM Changeset in webkit [53476] by dbates@webkit.org
  • 4 edits
    10 adds in trunk

2010-01-19 Daniel Bates <dbates@rim.com>

Reviewed by Adam Treat.

https://bugs.webkit.org/show_bug.cgi?id=33408

Implements an optimization to ignore fixed background images
(i.e. background-attachment: fixed) when a page does not contain
any fixed position elements so as to allow fast repaints (via bit
blit) when scrolling a page.

Currently, if a page has elements that specify either a fixed
background or a fixed position then we perform a slow repaint
(i.e disable blitting) so as to avoid rendering artifacts.
However, on low-powered/mobile devices slow repaints can cause
noticeable delays when scrolling a page with a fixed background
image. By sacrificing support for fixed background images when
there are no fixed elements on the page and with come care, we
don't need to force slow repaints and can avoid rendering artifacts.
Hence, on such devices we can improve the responsiveness of
scrolling a page with a fixed background image.

Note, this optimization is only enabled if the WebKit is built
with FAST_MOBILE_SCROLLING enabled.

Tests: fast/fast-mobile-scrolling/fixed-position-element.html

fast/fast-mobile-scrolling/no-fixed-position-elements.html

  • rendering/RenderBoxModelObject.cpp: (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry): Disable fixed background attachment if we can blit on scroll.
  • rendering/RenderObject.cpp: (WebCore::RenderObject::styleWillChange):

2010-01-19 Daniel Bates <dbates@rim.com>

Reviewed by Adam Treat.

https://bugs.webkit.org/show_bug.cgi?id=33408

Tests that fixed background images are ignored when there are no
fixed elements on a page and honored otherwise.

Note, includes expected failure results for the test
fast/fast-mobile-scrolling/no-fixed-position-elements.html, since
the Mac and Windows ports do not support FAST_MOBILE_SCROLLING.

  • fast/fast-mobile-scrolling: Added.
  • fast/fast-mobile-scrolling/fixed-position-element.html: Added.
  • fast/fast-mobile-scrolling/no-fixed-position-elements.html: Added.
  • platform/mac/fast/fast-mobile-scrolling: Added.
  • platform/mac/fast/fast-mobile-scrolling/fixed-position-element-expected.checksum: Added.
  • platform/mac/fast/fast-mobile-scrolling/fixed-position-element-expected.png: Added.
  • platform/mac/fast/fast-mobile-scrolling/fixed-position-element-expected.txt: Added.
  • platform/mac/fast/fast-mobile-scrolling/no-fixed-position-elements-expected.checksum: Added.
  • platform/mac/fast/fast-mobile-scrolling/no-fixed-position-elements-expected.png: Added. Expected failure result since the Mac port does not enable FAST_MOBILE_SCROLLING.
  • platform/mac/fast/fast-mobile-scrolling/no-fixed-position-elements-expected.txt: Added. Expected failure result since the Mac port does not enable FAST_MOBILE_SCROLLING.
10:29 AM Changeset in webkit [53475] by Adam Roben
  • 2 edits in trunk/WebKit/win

Windows build fix

  • WebScriptWorld.cpp: Added missing #include.
10:26 AM Changeset in webkit [53474] by hyatt@apple.com
  • 2 edits in trunk/WebCore

Build bustage fix. Land modified WebCore.base.exp file that includes export of currentWorld().

  • WebCore.base.exp:
10:24 AM Changeset in webkit [53473] by hyatt@apple.com
  • 2 edits in trunk/WebKit/win

Build bustage fix. Make sure the newly added scriptWorldForGlobalContext function is [local] in the IDL.

  • Interfaces/IWebScriptWorld.idl:
10:17 AM Changeset in webkit [53472] by beidson@apple.com
  • 3 edits
    2 adds in trunk

Crash in Page::backForwardList when using History object from a detached window
<rdar://problem/7556252> and https://bugs.webkit.org/show_bug.cgi?id=33828

Reviewed by Alexey Proskuryakov.

WebCore:

Test: fast/loader/stateobjects/state-api-on-detached-frame-crash.html

  • page/History.cpp:

(WebCore::History::stateObjectAdded): Do an early return when detached. The spec

doesn't really cover expected behavior and we already do something similar in
other places, such as in History::length().

LayoutTests:

  • fast/loader/stateobjects/state-api-on-detached-frame-crash-expected.txt: Added.
  • fast/loader/stateobjects/state-api-on-detached-frame-crash.html: Added.
10:11 AM Changeset in webkit [53471] by sfalken@apple.com
  • 1 edit in trunk/WebKit/win/Interfaces/WebKit.idl

Touch WebKit.idl to fix build.

9:53 AM Changeset in webkit [53470] by hyatt@apple.com
  • 7 edits in trunk/WebKit

WebKit/mac: Add an API to obtain the WebScriptWorld for a given JSGlobalContextRef.

Reviewed by Adam Roben.

  • WebView/WebScriptWorld.h:
  • WebView/WebScriptWorld.mm:

(+[WebScriptWorld scriptWorldForGlobalContext:]):

WebKit/win: Add an API to obtain a WebScriptWorld from a JSGlobalContextRef.

Reviewed by Adam Roben.

  • Interfaces/IWebScriptWorld.idl:
  • WebScriptWorld.cpp:

(WebScriptWorld::scriptWorldForGlobalContext):

  • WebScriptWorld.h:
9:00 AM Changeset in webkit [53469] by yurys@chromium.org
  • 42 edits in trunk

2010-01-19 Yury Semikhatsky <yurys@chromium.org>

Reviewed by NOBODY (build fix).

Revert r53467. Browser crashes on opening inspector if there
are messages in console.

  • bindings/js/JSInjectedScriptHostCustom.cpp: (WebCore::JSInjectedScriptHost::databaseForId): (WebCore::JSInjectedScriptHost::inspectedWindow): (WebCore::JSInjectedScriptHost::wrapCallback): (WebCore::JSInjectedScriptHost::currentCallFrame): (WebCore::JSInjectedScriptHost::nodeForId): (WebCore::JSInjectedScriptHost::wrapObject): (WebCore::JSInjectedScriptHost::unwrapObject): (WebCore::JSInjectedScriptHost::pushNodePathToFrontend): (WebCore::JSInjectedScriptHost::selectDatabase): (WebCore::JSInjectedScriptHost::selectDOMStorage):
  • bindings/js/ScriptController.cpp:
  • bindings/js/ScriptController.h:
  • bindings/js/ScriptObject.h:
  • bindings/js/ScriptValue.cpp: (WebCore::ScriptValue::quarantineValue):
  • bindings/js/ScriptValue.h:
  • bindings/v8/ScriptObject.h:
  • bindings/v8/ScriptValue.h: (WebCore::ScriptValue::quarantineValue):
  • bindings/v8/custom/V8InjectedScriptHostCustom.cpp: (WebCore::V8InjectedScriptHost::inspectedWindowCallback): (WebCore::V8InjectedScriptHost::wrapCallbackCallback): (WebCore::V8InjectedScriptHost::wrapObjectCallback): (WebCore::V8InjectedScriptHost::unwrapObjectCallback):
  • inspector/ConsoleMessage.cpp: (WebCore::ConsoleMessage::ConsoleMessage): (WebCore::ConsoleMessage::addToConsole): (WebCore::ConsoleMessage::isEqual):
  • inspector/ConsoleMessage.h:
  • inspector/InjectedScriptHost.cpp: (WebCore::InjectedScriptHost::wrapObject): (WebCore::InjectedScriptHost::unwrapObject):
  • inspector/InjectedScriptHost.h:
  • inspector/InjectedScriptHost.idl:
  • inspector/InspectorBackend.cpp: (WebCore::InspectorBackend::dispatchOnInjectedScript): (WebCore::InspectorBackend::releaseWrapperObjectGroup):
  • inspector/InspectorBackend.h:
  • inspector/InspectorBackend.idl:
  • inspector/InspectorController.cpp: (WebCore::InspectorController::InspectorController): (WebCore::InspectorController::clearConsoleMessages): (WebCore::InspectorController::inspectedWindowScriptObjectCleared): (WebCore::InspectorController::windowScriptObjectAvailable): (WebCore::InspectorController::scriptObjectReady): (WebCore::InspectorController::setFrontendProxyObject): (WebCore::InspectorController::close): (WebCore::InspectorController::resetScriptObjects): (WebCore::InspectorController::didPause): (WebCore::InspectorController::wrapObject): (WebCore::InspectorController::unwrapObject): (WebCore::InspectorController::releaseWrapperObjectGroup): (WebCore::InspectorController::resetInjectedScript):
  • inspector/InspectorController.h:
  • inspector/InspectorFrontend.cpp: (WebCore::InspectorFrontend::addConsoleMessage): (WebCore::InspectorFrontend::pausedScript):
  • inspector/InspectorFrontend.h:
  • inspector/front-end/AuditsPanel.js: (WebInspector.AuditsPanel.prototype._reloadResources):
  • inspector/front-end/ConsoleView.js: (WebInspector.ConsoleView.prototype.requestClearMessages): (WebInspector.ConsoleView.prototype.completions): (WebInspector.ConsoleView.prototype.doEvalInWindow): (WebInspector.ConsoleView.prototype._formatnode): (WebInspector.ConsoleView.prototype._formatarray):
  • inspector/front-end/DOMAgent.js: (WebInspector.DOMNode): (WebInspector.CSSStyleDeclaration): (WebInspector.CSSStyleDeclaration.parseRule):
  • inspector/front-end/Database.js: (WebInspector.Database.prototype.executeSql):
  • inspector/front-end/ElementsPanel.js: (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged): (WebInspector.ElementsPanel.prototype.setDocument): (WebInspector.ElementsPanel.prototype.searchCanceled): (WebInspector.ElementsPanel.prototype.performSearch):
  • inspector/front-end/ElementsTreeOutline.js: (WebInspector.ElementsTreeElement.prototype.createTooltipForImageNode):
  • inspector/front-end/EventListenersSidebarPane.js: ():
  • inspector/front-end/InjectedScript.js: (InjectedScript.dispatch): (InjectedScript.toggleStyleEnabled): (InjectedScript._serializeRule): (InjectedScript._serializeStyle): (InjectedScript.getProperties): (InjectedScript.setPropertyValue): (InjectedScript._evaluateAndWrap): (InjectedScript.getCallFrames): (InjectedScript._inspectObject): (InjectedScript._ensureCommandLineAPIInstalled): (InjectedScript._resolveObject): (InjectedScript._window): (InjectedScript._objectForId): (InjectedScript.createProxyObject): (InjectedScript.executeSql): (InjectedScript.executeSql.errorCallback): (InjectedScript.executeSql.queryTransaction): (Object.type): (String.prototype.escapeCharacters):
  • inspector/front-end/InjectedScriptAccess.js: (InjectedScriptAccess._installHandler.InjectedScriptAccess.methodName): (InjectedScriptAccess._installHandler):
  • inspector/front-end/MetricsSidebarPane.js: (WebInspector.MetricsSidebarPane): (WebInspector.MetricsSidebarPane.prototype.update.inlineStyleCallback): (WebInspector.MetricsSidebarPane.prototype.update): (WebInspector.MetricsSidebarPane.prototype.editingCommitted):
  • inspector/front-end/ObjectPropertiesSection.js: (WebInspector.ObjectPropertiesSection.prototype.update): (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate): (WebInspector.ObjectPropertyTreeElement.prototype.applyExpression):
  • inspector/front-end/ObjectProxy.js: (WebInspector.ObjectProxy): (WebInspector.ObjectProxy.getPropertiesAsync):
  • inspector/front-end/PropertiesSidebarPane.js: (WebInspector.PropertiesSidebarPane.prototype.update.callback): (WebInspector.PropertiesSidebarPane.prototype.update):
  • inspector/front-end/ResourcesPanel.js: (WebInspector.ResourceSidebarTreeElement.prototype.ondblclick):
  • inspector/front-end/ScriptsPanel.js: (WebInspector.ScriptsPanel.prototype.doEvalInCallFrame):
  • inspector/front-end/StylesSidebarPane.js: (WebInspector.StylesSidebarPane.prototype.update): (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted): (WebInspector.BlankStylePropertiesSection.prototype.editingSelectorCommitted): (WebInspector.StylePropertyTreeElement.prototype):
  • inspector/front-end/WatchExpressionsSidebarPane.js: (WebInspector.WatchExpressionsSection.prototype.update):
  • inspector/front-end/inspector.js: (WebInspector.loaded): (WebInspector.pausedScript): (WebInspector.addConsoleMessage): (WebInspector.log.logMessage): (WebInspector.log):

2010-01-19 Yury Semikhatsky <yurys@chromium.org>

Reviewed by NOBODY (build fix).

Revert r53467. Browser crashes on opening inspector if there
are messages in console.

  • inspector/styles-iframe.html:
7:48 AM Companies and Organizations that have contributed to WebKit edited by xan@webkit.org
(diff)
6:50 AM Changeset in webkit [53468] by steveblock@google.com
  • 2 edits in trunk/WebKit/mac

Unreviewed build fix.

Fixes Snow Leopard build due to http://trac.webkit.org/changeset/53464

  • Plugins/Hosted/WebHostedNetscapePluginView.mm: Modified. Import <WebCore/Bridge.h>
6:27 AM Changeset in webkit [53467] by yurys@chromium.org
  • 42 edits in trunk

2010-01-19 Yury Semikhatsky <yurys@chromium.org>

Reviewed by Pavel Feldman.

Inject inspector script directly into the inspected context. All the
communication between the script and the frontend is serialized into
JSON strings. It allows to get rid of object quarantines in Web Inspector.

https://bugs.webkit.org/show_bug.cgi?id=32554

  • bindings/js/JSInjectedScriptHostCustom.cpp: (WebCore::JSInjectedScriptHost::databaseForId): (WebCore::JSInjectedScriptHost::currentCallFrame): (WebCore::JSInjectedScriptHost::nodeForId): (WebCore::JSInjectedScriptHost::pushNodePathToFrontend): (WebCore::JSInjectedScriptHost::selectDatabase): (WebCore::JSInjectedScriptHost::selectDOMStorage):
  • bindings/js/ScriptController.cpp: (WebCore::ScriptController::mainWorldScriptState):
  • bindings/js/ScriptController.h:
  • bindings/js/ScriptObject.h: (WebCore::ScriptObject::scriptState):
  • bindings/js/ScriptValue.cpp:
  • bindings/js/ScriptValue.h:
  • bindings/v8/ScriptObject.h: (WebCore::ScriptObject::scriptState):
  • bindings/v8/ScriptValue.h:
  • bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
  • inspector/ConsoleMessage.cpp: (WebCore::ConsoleMessage::ConsoleMessage): (WebCore::ConsoleMessage::addToConsole): (WebCore::ConsoleMessage::isEqual):
  • inspector/ConsoleMessage.h:
  • inspector/InjectedScriptHost.cpp: (WebCore::InjectedScriptHost::releaseWrapperObjectGroup):
  • inspector/InjectedScriptHost.h:
  • inspector/InjectedScriptHost.idl:
  • inspector/InspectorBackend.cpp: (WebCore::InspectorBackend::setInjectedScriptSource): (WebCore::InspectorBackend::dispatchOnInjectedScript): (WebCore::InspectorBackend::releaseWrapperObjectGroup):
  • inspector/InspectorBackend.h:
  • inspector/InspectorBackend.idl:
  • inspector/InspectorController.cpp: (WebCore::InspectorController::InspectorController): (WebCore::InspectorController::clearConsoleMessages): (WebCore::InspectorController::inspectedWindowScriptObjectCleared): (WebCore::InspectorController::windowScriptObjectAvailable): (WebCore::InspectorController::scriptObjectReady): (WebCore::InspectorController::setFrontendProxyObject): (WebCore::InspectorController::close): (WebCore::InspectorController::resetScriptObjects): (WebCore::InspectorController::didPause): (WebCore::InspectorController::injectedScriptForNodeId):
  • inspector/InspectorController.h:
  • inspector/InspectorFrontend.cpp: (WebCore::InspectorFrontend::addConsoleMessage): (WebCore::InspectorFrontend::pausedScript):
  • inspector/InspectorFrontend.h:
  • inspector/front-end/AuditsPanel.js: (WebInspector.AuditsPanel.prototype._reloadResources):
  • inspector/front-end/ConsoleView.js: (WebInspector.ConsoleView.prototype.requestClearMessages): (WebInspector.ConsoleView.prototype.doEvalInWindow):
  • inspector/front-end/DOMAgent.js: (WebInspector.DOMNode): (WebInspector.CSSStyleDeclaration): (WebInspector.CSSStyleDeclaration.parseRule):
  • inspector/front-end/Database.js: (WebInspector.Database.prototype.executeSql):
  • inspector/front-end/ElementsPanel.js: (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged.InjectedScriptAccess.get addInspectedNode): (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged): (WebInspector.ElementsPanel.prototype.setDocument): (WebInspector.ElementsPanel.prototype.searchCanceled): (WebInspector.ElementsPanel.prototype.performSearch):
  • inspector/front-end/ElementsTreeOutline.js: (WebInspector.ElementsTreeElement.prototype.createTooltipForImageNode):
  • inspector/front-end/EventListenersSidebarPane.js: ():
  • inspector/front-end/InjectedScript.js: (injectedScriptConstructor): (injectedScriptConstructor.):
  • inspector/front-end/InjectedScriptAccess.js: (InjectedScriptAccess): (InjectedScriptAccess.getDefault): (get InjectedScriptAccess): (InjectedScriptAccess._installHandler.InjectedScriptAccess.prototype.methodName): (InjectedScriptAccess._installHandler):
  • inspector/front-end/MetricsSidebarPane.js: (WebInspector.MetricsSidebarPane): (WebInspector.MetricsSidebarPane.prototype.update.inlineStyleCallback):
  • inspector/front-end/ObjectPropertiesSection.js:
  • inspector/front-end/ObjectProxy.js: (WebInspector.ObjectProxy):
  • inspector/front-end/PropertiesSidebarPane.js: (WebInspector.PropertiesSidebarPane.prototype.update.callback):
  • inspector/front-end/ResourcesPanel.js: (WebInspector.ResourceSidebarTreeElement.prototype.ondblclick):
  • inspector/front-end/ScriptsPanel.js:
  • inspector/front-end/StylesSidebarPane.js: (WebInspector.StylePropertyTreeElement.prototype):
  • inspector/front-end/WatchExpressionsSidebarPane.js: (WebInspector.WatchExpressionsSection.prototype.update):
  • inspector/front-end/inspector.js: (WebInspector.loaded): (WebInspector.pausedScript): (WebInspector.addConsoleMessage): (WebInspector.log.logMessage): (WebInspector.log):

2010-01-19 Yury Semikhatsky <yurys@chromium.org>

Reviewed by Pavel Feldman.

Inject inspector script directly into the inspected context. All the
communication between the script and the frontend is serialized into
JSON strings. It allows to get rid of object quarantines in Web Inspector.

Refactor test case due to InjectedScriptAccess changes.

https://bugs.webkit.org/show_bug.cgi?id=32554

  • inspector/styles-iframe.html:
6:04 AM Changeset in webkit [53466] by hamaji@chromium.org
  • 2 edits in trunk/LayoutTests

2010-01-19 MORITA Hajime <morrita@gmail.com>

Reviewed by Shinichiro Hamaji.

[Chromium] layout_test on linux fails on doubleclick-beside-cr-span.html

Place larger margins before clicking position to grab certain words
instead of clicking blank, whitespaces or tabs before that words.
Note that widths of rendered tab characters are hard to predict,
So such margins are particularly helpful with them.

https://bugs.webkit.org/show_bug.cgi?id=33769

  • editing/selection/doubleclick-beside-cr-span.html: Fix to compute click position using actual character width.
4:30 AM Changeset in webkit [53465] by steveblock@google.com
  • 2 edits in trunk/WebCore

Unreviewed build fix.

Fixes Windows build due to http://trac.webkit.org/changeset/53464
Updates WebCore.vcproj to reflect renaming of runtime.[cpp|h] to Bridge.[cpp|h]

No new tests, build fix only.

  • WebCore.vcproj/WebCore.vcproj:
3:51 AM Changeset in webkit [53464] by steveblock@google.com
  • 43 edits
    2 moves in trunk

Renames WebCore/bridge/runtime.[cpp|h] to WebCore/bridge/Bridge.[cpp|h]
https://bugs.webkit.org/show_bug.cgi?id=33801

Reviewed by Adam Barth.

3:04 AM Changeset in webkit [53463] by Csaba Osztrogonác
  • 3 edits in trunk/LayoutTests

[Qt] REGRESSION (r53450): 3 tests fail on Qt bot
https://bugs.webkit.org/show_bug.cgi?id=33834

Reviewed by Kenneth Rohde Christiansen.

  • platform/qt/Skipped:
    • css1/box_properties/acid_test.html skipped.
    • fast/forms/textarea-scrollbar-height.html skipped.
  • platform/qt/css1/font_properties/font-expected.txt: updated.
2:50 AM WebKit Team edited by Csaba Osztrogonác
typo fix (diff)
1:06 AM Changeset in webkit [53462] by xan@webkit.org
  • 2 edits in trunk/LayoutTests

2010-01-19 Xan Lopez <xlopez@igalia.com>

svg/custom/use-instanceRoot-event-bubbling.xhtml is flakey
https://bugs.webkit.org/show_bug.cgi?id=33835

Skip flakey test.

  • platform/gtk/Skipped:
12:56 AM Changeset in webkit [53461] by xan@webkit.org
  • 1 edit
    2 adds in trunk/LayoutTests

2010-01-19 Xan Lopez <xlopez@igalia.com>

New baseline for failing test.

  • platform/gtk/fast/dynamic/float-in-trailing-whitespace-after-last-line-break-2-expected.txt: Copied from LayoutTests/platform/qt/fast/dynamic/float-in-trailing-whitespace-after-last-line-break-2-expected.txt.
12:39 AM Changeset in webkit [53460] by ggaren@apple.com
  • 7 edits
    2 adds in trunk

JavaScriptCore: REGRESSION (52082): Crash on worker thread when reloading http://radnan.public.iastate.edu/procedural/
https://bugs.webkit.org/show_bug.cgi?id=33826

Reviewed by Oliver Hunt.

This bug was caused by a GC-protected object being destroyed early by
Heap::destroy. Clients of the GC protect APIs (reasonably) expect pointers
to GC-protected memory to be valid.

The solution is to do two passes of tear-down in Heap::destroy. The first
pass tears down all unprotected objects. The second pass ASSERTs that all
previously protected objects are now unprotected, and then tears down
all perviously protected objects. These two passes simulate the two passes
that would have been required to free a protected object during normal GC.

  • API/JSContextRef.cpp: Removed some ASSERTs that have moved into Heap.
  • runtime/Collector.cpp:

(JSC::Heap::destroy): Moved ASSERTs to here.
(JSC::Heap::freeBlock): Tidied up the use of didShrink by moving its
setter to the function that does the shrinking.
(JSC::Heap::freeBlocks): Implemented above algorithm.
(JSC::Heap::shrinkBlocks): Tidied up the use of didShrink.

WebCore: REGRESSION (52082): Crash on worker thread when reloading http://radnan.public.iastate.edu/procedural/
https://bugs.webkit.org/show_bug.cgi?id=33826

Reviewed by Oliver Hunt.

Test: fast/workers/worker-gc2.html

  • bindings/js/WorkerScriptController.cpp:

(WebCore::WorkerScriptController::~WorkerScriptController): Removed some
ASSERTs that have moved to JavaScriptCore.

LayoutTests: REGRESSION (52082): Crash on worker thread when reloading http://radnan.public.iastate.edu/procedural/
https://bugs.webkit.org/show_bug.cgi?id=33826

Reviewed by Oliver Hunt.

Added a test for this edge case.

  • fast/workers/resources/worker-gc2.js: Added.

(Dummy):

  • fast/workers/worker-gc2.html: Added.
12:25 AM Changeset in webkit [53459] by barraclough@apple.com
  • 6 edits
    2 deletes in trunk

Reverting r53455, breaks 2 javascriptcore tests.

Reviewed by NOBODY (build fix).

JavaScriptCore:

  • API/JSContextRef.cpp:
  • runtime/Collector.cpp:

(JSC::Heap::destroy):
(JSC::Heap::freeBlock):
(JSC::Heap::freeBlocks):
(JSC::Heap::shrinkBlocks):

WebCore:

  • bindings/js/WorkerScriptController.cpp:

(WebCore::WorkerScriptController::~WorkerScriptController):

LayoutTests:

  • fast/workers/resources/worker-gc2.js: Removed.
  • fast/workers/worker-gc2.html: Removed.
12:25 AM WebKit Team edited by eric@webkit.org
(diff)
12:20 AM WebKit Team edited by abarth@webkit.org
(diff)
12:19 AM WebKit Team edited by abarth@webkit.org
(diff)
12:14 AM Changeset in webkit [53458] by ggaren@apple.com
  • 1 edit
    1 add in trunk/LayoutTests

Forgot to add this test result.

  • fast/workers/worker-gc2-expected.txt: Added.
12:05 AM Changeset in webkit [53457] by xan@webkit.org
  • 2 edits in trunk/LayoutTests

2010-01-19 Xan Lopez <xlopez@igalia.com>

Skip tests generating new results.

  • platform/gtk/Skipped:

Jan 18, 2010:

11:58 PM WebKit Team edited by abarth@webkit.org
(diff)
11:22 PM Changeset in webkit [53456] by barraclough@apple.com
  • 5 edits in trunk/JavaScriptCore

Revert r53454, since it causes much sadness in this world.

Patch by Gavin Barraclough <barraclough@apple.com> on 2010-01-18
Reviewed by NOBODY (build fix).

  • runtime/UString.cpp:

(JSC::UString::spliceSubstringsWithSeparators):
(JSC::UString::replaceRange):

  • runtime/UStringImpl.cpp:

(JSC::UStringImpl::baseSharedBuffer):
(JSC::UStringImpl::sharedBuffer):
(JSC::UStringImpl::~UStringImpl):

  • runtime/UStringImpl.h:

(JSC::UntypedPtrAndBitfield::UntypedPtrAndBitfield):
(JSC::UntypedPtrAndBitfield::asPtr):
(JSC::UntypedPtrAndBitfield::operator&=):
(JSC::UntypedPtrAndBitfield::operator|=):
(JSC::UntypedPtrAndBitfield::operator&):
(JSC::UStringImpl::create):
(JSC::UStringImpl::cost):
(JSC::UStringImpl::isIdentifier):
(JSC::UStringImpl::setIsIdentifier):
(JSC::UStringImpl::ref):
(JSC::UStringImpl::deref):
(JSC::UStringImpl::checkConsistency):
(JSC::UStringImpl::UStringImpl):
(JSC::UStringImpl::bufferOwnerString):
(JSC::UStringImpl::bufferOwnership):
(JSC::UStringImpl::isStatic):

  • wtf/StringHashFunctions.h:

(WTF::stringHash):

11:00 PM Changeset in webkit [53455] by ggaren@apple.com
  • 6 edits
    2 adds in trunk

2010-01-18 Geoffrey Garen <ggaren@apple.com>

Reviewed by Oliver Hunt.

REGRESSION (52082): Crash on worker thread when reloading http://radnan.public.iastate.edu/procedural/
https://bugs.webkit.org/show_bug.cgi?id=33826

This bug was caused by a GC-protected object being destroyed early by
Heap::destroy. Clients of the GC protect APIs (reasonably) expect pointers
to GC-protected memory to be valid.

The solution is to do two passes of tear-down in Heap::destroy. The first
pass tears down all unprotected objects. The second pass ASSERTs that all
previously protected objects are now unprotected, and then tears down
all perviously protected objects. These two passes simulate the two passes
that would have been required to free a protected object during normal GC.


  • API/JSContextRef.cpp: Removed some ASSERTs that have moved into Heap.
  • runtime/Collector.cpp: (JSC::Heap::destroy): Moved ASSERTs to here. (JSC::Heap::freeBlock): Tidied up the use of didShrink by moving its setter to the function that does the shrinking. (JSC::Heap::freeBlocks): Implemented above algorithm. (JSC::Heap::shrinkBlocks): Tidied up the use of didShrink.

2010-01-18 Geoffrey Garen <ggaren@apple.com>

Reviewed by Oliver Hunt.

REGRESSION (52082): Crash on worker thread when reloading http://radnan.public.iastate.edu/procedural/
https://bugs.webkit.org/show_bug.cgi?id=33826

Test: fast/workers/worker-gc2.html

  • bindings/js/WorkerScriptController.cpp: (WebCore::WorkerScriptController::~WorkerScriptController): Removed some ASSERTs that have moved to JavaScriptCore.

2010-01-18 Geoffrey Garen <ggaren@apple.com>

Reviewed by Oliver Hunt.

REGRESSION (52082): Crash on worker thread when reloading http://radnan.public.iastate.edu/procedural/
https://bugs.webkit.org/show_bug.cgi?id=33826


Added a test for this edge case.

  • fast/workers/resources/worker-gc2.js: Added. (Dummy):
  • fast/workers/worker-gc2.html: Added.
9:51 PM Changeset in webkit [53454] by barraclough@apple.com
  • 5 edits in trunk/JavaScriptCore

https://bugs.webkit.org/show_bug.cgi?id=33731
Remove UntypedPtrAndBitfield from UStringImpl (akin to PtrAndFlags).

Patch by Gavin Barraclough <barraclough@apple.com> on 2010-01-18
Reviewed by Oliver Hunt.

This break the OS X Leaks tool. Instead, free up some more bits from the refCount.

  • runtime/UStringImpl.cpp:

(JSC::UStringImpl::sharedBuffer):
(JSC::UStringImpl::~UStringImpl):

  • runtime/UStringImpl.h:

(JSC::UStringImpl::cost):
(JSC::UStringImpl::checkConsistency):
(JSC::UStringImpl::UStringImpl):
(JSC::UStringImpl::bufferOwnerString):
(JSC::UStringImpl::):

  • wtf/StringHashFunctions.h:

(WTF::stringHash):

8:32 PM Changeset in webkit [53453] by dbates@webkit.org
  • 1 edit
    1 add in trunk/LayoutTests

2010-01-18 Daniel Bates <dbates@webkit.org>

https://bugs.webkit.org/show_bug.cgi?id=33089

Unreviewed. Add expected results for Windows.

  • platform/win/fast/lists/w3-css3-list-styles-alphabetic-expected.txt: Added.
7:10 PM Changeset in webkit [53452] by dbates@webkit.org
  • 10 edits
    2 adds in trunk

2010-01-18 Daniel Bates <dbates@webkit.org>

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=33089

Implements all of the alphabetic CSS3 list-style-types as per
section 4.4 of the CSS3 Lists module <http://www.w3.org/TR/css3-lists/#alphabetic>.

Test: fast/lists/w3-css3-list-styles-alphabetic.html

  • css/CSSParser.cpp: (WebCore::CSSParser::parseValue): Updated comment to include added list-style-types.
  • css/CSSPrimitiveValueMappings.h: (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Added new list style types, alphabetized enums, and removed indent to conform to the WebKit Code Style Guidelines.
  • css/CSSValueKeywords.in:
  • inspector/front-end/CSSSourceSyntaxHighlighter.js: (WebInspector.CSSSourceSyntaxHighlighter): Added new list style types and alphabetized array valueKeywords.
  • platform/text/CharacterNames.h: Added constant ethiopicPrefaceColon.
  • rendering/RenderListMarker.cpp: (WebCore::toAlphabetic): (WebCore::listMarkerSuffix): Added. (WebCore::listMarkerText): (WebCore::RenderListMarker::paint): Modified to call WebCore::listMarkerSuffix. (WebCore::RenderListMarker::calcPrefWidths): Ditto. (WebCore::RenderListMarker::getRelativeMarkerRect): Ditto.
  • rendering/style/RenderStyle.h: (WebCore::):
  • rendering/style/RenderStyleConstants.h: (WebCore::):

2010-01-18 Daniel Bates <dbates@webkit.org>

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=33089

Tests that all of the alphabetic CSS3 list-style-types are supported.

  • fast/lists/w3-css3-list-styles-alphabetic.html: Added.
  • platform/mac/fast/lists/w3-css3-list-styles-alphabetic-expected.txt: Added.
7:08 PM Changeset in webkit [53451] by dbates@webkit.org
  • 2 edits in trunk/WebCore

2010-01-18 Daniel Bates <dbates@webkit.org>

Unreviewed, fix misspelling of the word maximum in comment.

  • html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::maximum):
6:59 PM Changeset in webkit [53450] by mitz@apple.com
  • 17 edits in trunk

Rubber-stamped by Sam Weinig.

<rdar://problem/7476957> REGRESSION (r49567): Business widget list does not line up: too tall due to line height rounding change

WebCore:

Reverted r49567.

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeLogicalBoxHeights):

  • rendering/RenderBR.cpp:

(WebCore::RenderBR::lineHeight):

  • rendering/style/RenderStyle.h:

(WebCore::InheritedFlags::computedLineHeight):

LayoutTests:

Reverted r49567, but left in the test added in that revision, now with a failing result.

  • css1/font_properties/font.html:
  • fast/css/line-height-rounding-expected.txt:
  • platform/mac/css1/font_properties/font-expected.txt:
  • platform/mac/css2.1/t090501-c414-flt-ln-00-d-expected.txt:
  • platform/mac/css2.1/t090501-c414-flt-ln-01-d-g-expected.txt:
  • platform/mac/css2.1/t090501-c414-flt-ln-02-d-expected.txt:
  • platform/mac/css2.1/t090501-c414-flt-ln-03-d-expected.txt:
  • platform/mac/svg/custom/scrolling-embedded-svg-file-image-repaint-problem-expected.checksum:
  • platform/mac/svg/custom/scrolling-embedded-svg-file-image-repaint-problem-expected.txt:
  • platform/mac/svg/custom/svg-fonts-in-html-expected.checksum:
  • platform/mac/svg/custom/svg-fonts-in-html-expected.txt:
6:56 PM Changeset in webkit [53449] by steveblock@google.com
  • 4 edits
    1 add in trunk/WebCore

Moves JSC-specific implementation of JavaString to a private implementation class.
https://bugs.webkit.org/show_bug.cgi?id=33558

Reviewed by Adam Barth.

Also modifies JavaField::name and JavaMethod::name to return const JavaString&, rather than UString::Rep*,
which is JSC-specific. This allows this code to be used with both JSC and V8, as required by Android.

No new tests, refactoring only.

  • WebCore.xcodeproj/project.pbxproj: Modified. Added JavaStringJSC.h
  • bridge/jni/jni_class.cpp: Modified.

(JavaClass::JavaClass): Modified. Updates call sites of JavaField::name and JavaMethod::name.

  • bridge/jni/jni_runtime.h: Modified.

(JSC::Bindings::JavaString::JavaString): Modified. Pass through to implementation.
(JSC::Bindings::JavaString::UTF8String): Modified. Pass through to implementation.
(JSC::Bindings::JavaString::uchars): Modified. Pass through to implementation.
(JSC::Bindings::JavaString::length): Modified. Pass through to implementation.
(JSC::Bindings::JavaString::operator UString): Modified. Pass through to implementation.
(JSC::Bindings::JavaField::name): Modified. Pass through to implementation.
(JSC::Bindings::JavaMethod::name): Modified. Pass through to implementation.

  • bridge/jni/jsc/JavaStringJSC.h: Added.

(JSC::Bindings::JavaStringImpl::~JavaStringImpl):
(JSC::Bindings::JavaStringImpl::init):
(JSC::Bindings::JavaStringImpl::UTF8String):
(JSC::Bindings::JavaStringImpl::uchars):
(JSC::Bindings::JavaStringImpl::length):
(JSC::Bindings::JavaStringImpl::uString):

6:53 PM Changeset in webkit [53448] by eric@webkit.org
  • 4 edits in trunk

2010-01-18 Yuzo Fujishima <yuzo@google.com>

Reviewed by Darin Adler.

Skip an error after invalid blocks in a CSS expression.
https://bugs.webkit.org/show_bug.cgi?id=33650

  • fast/css/parsing-error-recovery.html:

2010-01-18 Yuzo Fujishima <yuzo@google.com>

Reviewed by Darin Adler.

Skip an error after invalid blocks in a CSS expression.
https://bugs.webkit.org/show_bug.cgi?id=33650

  • css/CSSGrammar.y:
6:22 PM Changeset in webkit [53447] by barraclough@apple.com
  • 5 edits in trunk/WebCore

https://bugs.webkit.org/show_bug.cgi?id=33731
Remove uses of PtrAndFlags from WebCore::StringImpl.

Reviewed by Darin Adler & Oliver Hunt.

These break the OS X Leaks tool. Move the management of null-terminated copies
out from StringImpl to String, and use a bit stolen from the refCount to hold the
'InTable' flag.

  • platform/sql/SQLiteFileSystem.cpp:

(WebCore::SQLiteFileSystem::openDatabase):

  • platform/sql/SQLiteStatement.cpp:

(WebCore::SQLiteStatement::prepare):

  • platform/sql/SQLiteStatement.h:
  • platform/text/PlatformString.h:
  • platform/text/String.cpp:

(WebCore::String::copyWithNullTermination):

  • platform/text/StringImpl.cpp:

(WebCore::StringImpl::StringImpl):
(WebCore::StringImpl::~StringImpl):
(WebCore::StringImpl::create):
(WebCore::StringImpl::crossThreadString):
(WebCore::StringImpl::sharedBuffer):

  • platform/text/StringImpl.h:

(WebCore::StringImpl::inTable):
(WebCore::StringImpl::setInTable):

6:20 PM WikiStart edited by skyul@company100.net
(diff)
6:17 PM Changeset in webkit [53446] by Nikolas Zimmermann
  • 32 edits
    12 adds in trunk

2010-01-18 Nikolas Zimmermann <nzimmermann@rim.com>

Reviewed by Dirk Schulze.

Rewrite SVG <use> support in a modern-fashion
https://bugs.webkit.org/show_bug.cgi?id=33776

Tests: svg/custom/relative-sized-deep-shadow-tree-content.xhtml

svg/custom/relative-sized-shadow-tree-content.xhtml

Fixes: svg/W3C-SVG-1.1/animate-elem-30-t.svg (animated circle sometimes takes wrong path)

Rewrite <use> support in less intrusive way. Try hard to avoid recloning where possible, and do it lazily.
Introduce RenderSVGShadowTreeRootContainer as special renderer for SVGUseElement, that now manages the
render tree, instead of SVGUseElement manually hacking around it's own renderer from the DOM side.

Instead of recloning the whole shadow tree for every attribute change (DOM setAttribute / SVG DOM changes / CSS changes / childrenChanged()...)
just notify the RenderSVGShadowTreeRootContainer that it's supposed to reclone the tree upon the next updateFromElement() call.

updateFromElement() is fired from SVGUseElement::attach() / recalcStyle(), as it's done for HTMLFormControlElement/HTMLMediaElement, thus
lazily recloning the shadow tree if necessary.

Animations for <use> elements was a real performance bottlenck as the tree got recloned on every attribute change. Reclones are _completly_
avoided for animations now - the SVGAnim*Element classes already updated the instances of an element manually, though that resulted in a reclone
nontheless, and thus killing performance. <use> elements can only be recloned through mutations of the elements that they reference to.
For example referencing a <rect> element from a <use> element and scripting the <rect> element (setAttribute, or child tree mutations etc.).
We reclone instead of trying to synchronize trees - as it's currenty implemented - because it's very hard to do it right.

Any DOM / SVG DOM / CSS change on the <use> element don't reclone the tree anymore, this is a huge speed benefit.
x/y attribute changes are correctly handled in the render tree now (by an additional local transformation), now percentual values work
as expected, and resize on window changes - affecting lots of testcases.

The <use> implementation is much safer now, not doing any mutations synchronously from svgAttributeChanged etc.
Remove hack to force garbage collection on SVGElementInstance destruction - can't reproduce it anymore.

  • Android.mk: Add new files to build.
  • GNUmakefile.am: Ditto.
  • WebCore.gypi: Ditto.
  • WebCore.pro: Ditto.
  • WebCore.vcproj/WebCore.vcproj: Ditto.
  • WebCore.xcodeproj/project.pbxproj: Ditto.
  • rendering/RenderSVGShadowTreeRootContainer.cpp: Added. This is the rendered now created by SVGUseElement. (WebCore::RenderSVGShadowTreeRootContainer::RenderSVGShadowTreeRootContainer): (WebCore::RenderSVGShadowTreeRootContainer::~RenderSVGShadowTreeRootContainer): (WebCore::RenderSVGShadowTreeRootContainer::updateStyle): Used form SVGUseElement to request style recalculations for the shadow tree renderers (WebCore::RenderSVGShadowTreeRootContainer::updateFromElement): Used from SVGUseElement attach/recalcStyle to eventually request shadow tree updates. (WebCore::RenderSVGShadowTreeRootContainer::styleDidChange): Used to propage style updates across shadow tree boundaries.
  • rendering/RenderSVGShadowTreeRootContainer.h: Added. (WebCore::RenderSVGShadowTreeRootContainer::markShadowTreeForRecreation): Marks the shadow tree for a reclone, next time updateFromElement is used.
  • rendering/RenderSVGTransformableContainer.cpp: (WebCore::RenderSVGTransformableContainer::calculateLocalTransform): Take containerTranslation() into account, supplied by RenderSVGSDhadowTreeContainer.
  • rendering/SVGShadowTreeElements.cpp: Added. This is the root element of the SVG shadow tree residing as (hidden) child of SVGUseElement (DOM wise). (WebCore::SVGShadowTreeContainerElement::SVGShadowTreeContainerElement): (WebCore::SVGShadowTreeContainerElement::~SVGShadowTreeContainerElement): (WebCore::SVGShadowTreeContainerElement::containerTranslation): Used from calculateLocalTransform() to take x/y translation into account for shadow tree container elements. (WebCore::SVGShadowTreeRootElement::SVGShadowTreeRootElement): (WebCore::SVGShadowTreeRootElement::~SVGShadowTreeRootElement): (WebCore::SVGShadowTreeRootElement::attachElement): Used by RenderSVGShadowTreeRootContainer, instead of attach(), as we're a shadow tree root node.
  • rendering/SVGShadowTreeElements.h: Added. This is the root element of each SVG shadow sub-tree (whenever a <use> element is expanded in the shadow tree). (WebCore::SVGShadowTreeContainerElement::isShadowTreeContainerElement): Return true here. (WebCore::SVGShadowTreeContainerElement::setContainerOffset): Used from SVGUseElement to propagate x/y translation values set on <use> elements in the shadow tree. (WebCore::SVGShadowTreeRootElement::isShadowNode): Identify us as shadow node. (WebCore::SVGShadowTreeRootElement::shadowParentNode): Ditto. Return actual shadow parent node (== corresponding use element).
  • svg/SVGElement.cpp: Shrink size of all SVG*Elements, by removing the m_shadowParent parent. SVGShadowTreeRootElement is the new base class for shadow tree. (WebCore::SVGElement::SVGElement): (WebCore::SVGElement::eventParentNode): Call virtual shadowParentNode() method, instead of accessing m_shadowParent.
  • svg/SVGElement.h: Remove isShadowNode() / shadowParentNode() / setShadowParentNode().
  • svg/SVGElementInstance.cpp: Remove the hack, calling garbage collection before destruction. Can't reproduce this anymore, let's see what the bots say. (WebCore::SVGElementInstance::SVGElementInstance): Remove now unnecessary m_needsUpdate flag. (WebCore::SVGElementInstance::invalidateAllInstancesOfElement): Don't invalidate if instance updates are blocked (see SVGStyledElement changes)
  • svg/SVGElementInstance.h: Remove m_needsUpdate, and forgetWrapper() method.
  • svg/SVGGElement.h: (WebCore::SVGGElement::isShadowTreeContainerElement): Add new virtual method here returning false by default, SVGShadowTreeContainerElement will override it.
  • svg/SVGStyledElement.cpp: Remove gElementsWithInstanceUpdatesBlocked HashSet tracking the state of instancesUpdatesBlocked() per SVGStyledElement - make it a member variable.
  • svg/SVGStyledElement.h: Add inline getter/setters around m_instanceUpdatesBlocked. (WebCore::SVGStyledElement::instanceUpdatesBlocked): (WebCore::SVGStyledElement::setInstanceUpdatesBlocked):
  • svg/SVGUseElement.cpp: Full rewrite of <use> support, a detailed discussion would blow the ChangeLog - see short version above. (WebCore::SVGUseElement::SVGUseElement): (WebCore::SVGUseElement::instanceRoot): (WebCore::SVGUseElement::insertedIntoDocument): (WebCore::SVGUseElement::removedFromDocument): (WebCore::SVGUseElement::svgAttributeChanged): (WebCore::updateContainerOffset): (WebCore::SVGUseElement::updateContainerOffsets): (WebCore::SVGUseElement::recalcStyle): (WebCore::dumpInstanceTree): (WebCore::SVGUseElement::buildPendingResource): (WebCore::SVGUseElement::buildShadowAndInstanceTree): (WebCore::SVGUseElement::createRenderer): (WebCore::updateFromElementCallback): (WebCore::SVGUseElement::attach): (WebCore::SVGUseElement::detach): (WebCore::SVGUseElement::toClipPath): (WebCore::SVGUseElement::buildInstanceTree): (WebCore::SVGUseElement::handleDeepUseReferencing): (WebCore::SVGUseElement::buildShadowTree): (WebCore::SVGUseElement::expandUseElementsInShadowTree): (WebCore::SVGUseElement::expandSymbolElementsInShadowTree): (WebCore::SVGUseElement::instanceForShadowTreeElement): (WebCore::SVGUseElement::invalidateShadowTree): (WebCore::SVGUseElement::transferUseAttributesToReplacedElement):
  • svg/SVGUseElement.h: (WebCore::SVGUseElement::isPendingResource):

2010-01-18 Nikolas Zimmermann <nzimmermann@rim.com>

Reviewed by Dirk Schulze.

Rewrite SVG <use> support in a modern-fashion
https://bugs.webkit.org/show_bug.cgi?id=33776

Update some test results, after rewriting <use> support.

  • platform/mac/svg/W3C-SVG-1.1/animate-elem-40-t-expected.txt:
  • platform/mac/svg/custom/relative-sized-deep-shadow-tree-content-expected.checksum: Added.
  • platform/mac/svg/custom/relative-sized-deep-shadow-tree-content-expected.png: Added.
  • platform/mac/svg/custom/relative-sized-deep-shadow-tree-content-expected.txt: Added.
  • platform/mac/svg/custom/relative-sized-shadow-tree-content-expected.checksum: Added.
  • platform/mac/svg/custom/relative-sized-shadow-tree-content-expected.png: Added.
  • platform/mac/svg/custom/relative-sized-shadow-tree-content-expected.txt: Added.
  • platform/mac/svg/custom/use-events-crash-expected.txt:
  • platform/mac/svg/custom/use-on-disallowed-foreign-object-1-expected.txt:
  • platform/mac/svg/custom/use-on-disallowed-foreign-object-3-expected.txt:
  • platform/mac/svg/custom/use-on-non-svg-namespaced-element-expected.txt:
  • platform/mac/svg/custom/use-recursion-1-expected.txt:
  • platform/mac/svg/custom/use-recursion-2-expected.txt:
  • platform/mac/svg/custom/use-recursion-3-expected.txt:
  • platform/mac/svg/custom/use-recursion-4-expected.txt:
  • platform/mac/svg/hixie/error/017-expected.txt:
  • platform/mac/svg/text/text-text-05-t-expected.checksum:
  • platform/mac/svg/text/text-text-05-t-expected.png:
  • svg/custom/relative-sized-deep-shadow-tree-content.xhtml: Added.
  • svg/custom/relative-sized-shadow-tree-content.xhtml: Added.
  • svg/text/text-text-05-t.svg: Remove possible race-condition, between selecting & dumping.
5:49 PM Changeset in webkit [53445] by tkent@chromium.org
  • 14 edits in trunk

2010-01-18 Kent Tamura <tkent@chromium.org>

Reviewed by Darin Adler.

HTMLInputElement::valueAsDate setter support for type=month.
https://bugs.webkit.org/show_bug.cgi?id=33021

Expose the following functions to be used by WebCore:

  • WTF::msToyear()
  • WTF::dayInYear()
  • WTF::monthFromDayInYear()
  • WTF::dayInMonthFromDayInYear()
  • JavaScriptCore.exp:
  • JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
  • wtf/DateMath.cpp: (WTF::msToYear): Remove "static inline". (WTF::dayInYear): Remove "static inline". (WTF::monthFromDayInYear): Remove "static inline". (WTF::dayInMonthFromDayInYear): Remove "static inline".
  • wtf/DateMath.h: Declare the above functions.

2010-01-18 Kent Tamura <tkent@chromium.org>

Reviewed by Darin Adler.

HTMLInputElement::valueAsDate setter support for type=month.
https://bugs.webkit.org/show_bug.cgi?id=33021

Add setter tests to input-valueasdate-month.js, and update the
expectation.

  • fast/forms/input-valueasdate-expected.txt:
  • fast/forms/input-valueasdate-month-expected.txt:
  • fast/forms/script-tests/input-valueasdate-month.js:
  • fast/forms/script-tests/input-valueasdate.js:

2010-01-18 Kent Tamura <tkent@chromium.org>

Reviewed by Darin Adler.

HTMLInputElement::valueAsDate setter support for type=month.
https://bugs.webkit.org/show_bug.cgi?id=33021

Introduce ISODateTime::setMillisecondsSinceEpochForMonth() and
toString() for the Month type, and HTMLInputElement::setValueAsDate()
calls them.

  • html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::setValueAsDate):
  • html/ISODateTime.cpp: (WebCore::beforeGregorianStartDate): (WebCore::ISODateTime::addDay): Use beforeGregorianStartDate(). (WebCore::ISODateTime::parseMonth): Use beforeGregorianStartDate(). (WebCore::ISODateTime::setMillisecondsSinceEpochForDateInternal): (WebCore::ISODateTime::setMillisecondsSinceEpochForMonth): (WebCore::ISODateTime::toString): Implement only for the Month type.
  • html/ISODateTime.h:
5:19 PM Changeset in webkit [53444] by Darin Adler
  • 2 edits in trunk/JavaScriptCore

Fix build by reverting the previous change.

  • runtime/UString.h: Rolled out the FastAllocBase base class.

It was making UString larger, and therefore JSString larger,
and too big for a garbage collection cell.

This raises the unpleasant possibility that many classes became
larger because we added the FastAllocBase base class. I am
worried about this, and it needs to be investigated.

5:12 PM Changeset in webkit [53443] by steveblock@google.com
  • 5 edits
    2 moves in trunk/WebCore

Script attributes are copied and pasted, making cross-domain attacks possible (30019)
<rdar://problem/6008809>
https://bugs.webkit.org/show_bug.cgi?id=30019

Patch by Enrica Casucci <enrica@apple.com> on 2010-01-18
Reviewed by Darin Adler.

When we create the document fragment from a markup string,
either to perform a paste operation or a drag and drop, we
want to remove all the event handlers and any attribute that contain
a value that leads to code execution.
The HTMLParser class is now aware of the needs of stripping these attributes.
I've modified the call to createMarkupString for every platform.

Test: editing/pasteboard/paste-noscript.html

  • WebCore.base.exp:
  • dom/Element.cpp:

(WebCore::isEventHandlerAttribute):
(WebCore::Element::setAttributeMap):

  • dom/Element.h:
  • dom/MappedAttributeEntry.h:

(WebCore::):

  • editing/markup.cpp:

(WebCore::createFragmentFromMarkup):

  • editing/markup.h:
  • html/HTMLElement.cpp:

(WebCore::HTMLElement::createContextualFragment):

  • html/HTMLElement.h:
  • html/HTMLParser.cpp:

(WebCore::HTMLParser::HTMLParser):
(WebCore::HTMLParser::parseToken):

  • html/HTMLParser.h:
  • html/HTMLTokenizer.cpp:

(WebCore::HTMLTokenizer::HTMLTokenizer):
(WebCore::parseHTMLDocumentFragment):

  • html/HTMLTokenizer.h:
  • platform/chromium/DragDataChromium.cpp:

(WebCore::DragData::asFragment):

  • platform/chromium/PasteboardChromium.cpp:

(WebCore::Pasteboard::documentFragment):

  • platform/gtk/PasteboardGtk.cpp:

(WebCore::Pasteboard::documentFragment):

  • platform/mac/PasteboardMac.mm:

(WebCore::Pasteboard::documentFragment):

  • platform/qt/DragDataQt.cpp:

(WebCore::DragData::asFragment):

  • platform/qt/PasteboardQt.cpp:

(WebCore::Pasteboard::documentFragment):

  • platform/win/ClipboardUtilitiesWin.cpp:

(WebCore::fragmentFromCF_HTML):
(WebCore::fragmentFromHTML):

5:07 PM Changeset in webkit [53442] by enrica@apple.com
  • 23 edits
    2 adds in trunk

Script attributes are copied and pasted, making cross-domain attacks possible (30019)
<rdar://problem/6008809>
https://bugs.webkit.org/show_bug.cgi?id=30019

Reviewed by Darin Adler.

WebCore:

When we create the document fragment from a markup string,
either to perform a paste operation or a drag and drop, we
want to remove all the event handlers and any attribute that contain
a value that leads to code execution.
The HTMLParser class is now aware of the needs of stripping these attributes.
I've modified the call to createMarkupString for every platform.

Test: editing/pasteboard/paste-noscript.html

  • WebCore.base.exp:
  • dom/Element.cpp:

(WebCore::isEventHandlerAttribute):
(WebCore::Element::setAttributeMap):

  • dom/Element.h:
  • dom/MappedAttributeEntry.h:

(WebCore::):

  • editing/markup.cpp:

(WebCore::createFragmentFromMarkup):

  • editing/markup.h:
  • html/HTMLElement.cpp:

(WebCore::HTMLElement::createContextualFragment):

  • html/HTMLElement.h:
  • html/HTMLParser.cpp:

(WebCore::HTMLParser::HTMLParser):
(WebCore::HTMLParser::parseToken):

  • html/HTMLParser.h:
  • html/HTMLTokenizer.cpp:

(WebCore::HTMLTokenizer::HTMLTokenizer):
(WebCore::parseHTMLDocumentFragment):

  • html/HTMLTokenizer.h:
  • platform/chromium/DragDataChromium.cpp:

(WebCore::DragData::asFragment):

  • platform/chromium/PasteboardChromium.cpp:

(WebCore::Pasteboard::documentFragment):

  • platform/gtk/PasteboardGtk.cpp:

(WebCore::Pasteboard::documentFragment):

  • platform/mac/PasteboardMac.mm:

(WebCore::Pasteboard::documentFragment):

  • platform/qt/DragDataQt.cpp:

(WebCore::DragData::asFragment):

  • platform/qt/PasteboardQt.cpp:

(WebCore::Pasteboard::documentFragment):

  • platform/win/ClipboardUtilitiesWin.cpp:

(WebCore::fragmentFromCF_HTML):
(WebCore::fragmentFromHTML):

WebKit/mac:

  • WebView/WebFrame.mm:

(-[WebFrame _documentFragmentWithMarkupString:baseURLString:]): Modified the call to createMarkupString.

LayoutTests:

  • editing/pasteboard/paste-noscript-expected.txt: Added.
  • editing/pasteboard/paste-noscript.html: Added.
5:05 PM Changeset in webkit [53441] by sfalken@apple.com
  • 3 edits in trunk/WebCore

<https://bugs.webkit.org/show_bug.cgi?id=33816>
Crashes in Geolocation code due to refcounting, observer balance issues.

Reviewed by Sam Weinig.

Hold a ref to the GeoNotifier while dispatching a callback. The code was
copying a data member to avoid accessing a freed this ptr, but was still
using the this ptr.

Geolocation::removeObserver calls are not always balanced with addObserver.
Instead of asserting and continuing, don't try to remove non-existant
observers.

  • page/Geolocation.cpp:

(WebCore::Geolocation::GeoNotifier::timerFired): Protect notifier.

  • page/GeolocationController.cpp:

(WebCore::GeolocationController::removeObserver): Change ASSERT into an if with early return.

5:03 PM Changeset in webkit [53440] by sfalken@apple.com
  • 2 edits in trunk/WebKit/mac

Rubber-stamped by Sam Weinig.

Add missing export for Geolocation.

  • WebKit.exp:
4:53 PM Changeset in webkit [53439] by ap@apple.com
  • 5 edits
    2 adds in trunk

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=33815
Crash when using DOMTimer from a detached frame

Test: fast/dom/Window/timer-null-script-execution-context.html

  • bindings/js/JSDOMWindowCustom.cpp: (WebCore::JSDOMWindow::setTimeout): (WebCore::JSDOMWindow::setInterval):
  • page/DOMWindow.h:
  • page/DOMWindow.idl: Make setTimer and setInterval raise an exception. It is not specified in HTML5, but both IE and Firefox do raise an exception in this situation, although different ones.
  • page/DOMWindow.cpp: (WebCore::DOMWindow::setTimeout): Raise INVALID_ACCESS_ERR if script execution context is null (meaning that the window is detached). (WebCore::DOMWindow::setInterval): Ditto. (WebCore::DOMWindow::clearTimeout): Silently return early if there is no script execution context. (WebCore::DOMWindow::clearInterval): Ditto. Raise INVALID_ACCESS_ERR if script execution context is null (meaning .
4:50 PM Changeset in webkit [53438] by eric@webkit.org
  • 2 edits in trunk/JavaScriptCore

2010-01-18 Zoltan Horvath <zoltan@webkit.org>

Reviewed by Darin Adler.

Allow custom memory allocation control for UString class
https://bugs.webkit.org/show_bug.cgi?id=27831

Inherits the following class from FastAllocBase because it is
instantiated by 'new' and no need to be copyable:

class name - instantiated at:
classs UString - JavaScriptCore/runtime/UString.cpp:160

  • runtime/UString.h:
4:02 PM Changeset in webkit [53437] by Darin Adler
  • 4 edits in trunk/JavaScriptCore

Add some ALWAYS_INLINE for key functions not inlined by some versions of GCC.
rdar://problem/7553780

Patch by Evan Cheng <evan.cheng@apple.com> on 2010-01-18
Reviewed by Darin Adler.

  • runtime/JSObject.h:

(JSC::JSObject::getPropertySlot): ALWAYS_INLINE both overloads.

  • runtime/JSString.h:

(JSC::JSString::JSString): ALWAYS_INLINE the version that takes a UString.

  • runtime/UString.h:

(JSC::operator==): ALWAYS_INLINE the version that compares two UString objects.

3:49 PM Changeset in webkit [53436] by eric@webkit.org
  • 5 edits in trunk/WebCore

2010-01-18 Steve Block <steveblock@google.com>

Reviewed by Adam Barth.

Fix style in WebCore/bridge/jni/jsc/JavaInstanceJSC.[cpp|h]
https://bugs.webkit.org/show_bug.cgi?id=33792

No new tests, style fixes only.

  • bridge/jni/jni_runtime.cpp: Modified. (JavaField::dispatchValueFromInstance): Modified. Updated to use renamed JavaInstance::m_instance (JavaField::dispatchSetValueToInstance): Modified. Updated to use renamed JavaInstance::m_instance (JavaArray::JavaArray): Modified. Updated to use renamed JavaInstance::m_instance
  • bridge/jni/jni_runtime.h: Modified. (JSC::Bindings::JavaArray::javaArray): Modified. Updated to use renamed JavaInstance::m_instance
  • bridge/jni/jsc/JavaInstanceJSC.cpp: Modified. Fixed style
  • bridge/jni/jsc/JavaInstanceJSC.h: Modified. Fixed style
3:14 PM Changeset in webkit [53435] by bweinstein@apple.com
  • 1 edit
    1 add in trunk/LayoutTests

Rubber-stamped by Tim Hatcher.

Updated Windows results after r53424.

  • platform/win/fast/css/zoom-body-scroll-expected.txt: Added.
3:09 PM Changeset in webkit [53434] by cmarrin@apple.com
  • 2 edits in trunk/WebCore

https://bugs.webkit.org/show_bug.cgi?id=30073
Moved reshape to HTMLCanvasElement::reset and have it always
set the size to the canvas width and height attrs.

This is not testable with LayoutTests, so I instead added logic
to the demo at:

https://cvs.khronos.org/svn/repos/registry/trunk/public/webgl/sdk/demos/webkit/SpinningBox.html

2:51 PM Changeset in webkit [53433] by ap@apple.com
  • 3 edits
    2 adds in trunk

Reviewed by Geoffrey Garen.

https://bugs.webkit.org/show_bug.cgi?id=33813
<rdar://problem/7545104> Crash when using DOMApplicationCache from a destroyed frame

Test: http/tests/appcache/destroyed-frame.html

  • loader/appcache/DOMApplicationCache.cpp: (WebCore::DOMApplicationCache::scriptExecutionContext): Return null when there is no frame.
2:20 PM Changeset in webkit [53432] by mitz@apple.com
  • 3 edits
    4 adds in trunk

REGRESSION (r53420): incomplete repaint of bottom of bugs.webkit.org comment field
https://bugs.webkit.org/show_bug.cgi?id=33809

Reviewed by Darin Adler.

WebCore:

Test: fast/repaint/trailing-floats-root-line-box-overflow.html

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlock::layoutInlineChildren): Copy bottom overflow from the last
root box to the trailing floats box, which is becoming the last root box. This is
needed because painting code assumes that the last line in a block is the one with the
lowest overflow bottom.

LayoutTests:

  • fast/repaint/trailing-floats-root-line-box-overflow-expected.checksum: Added.
  • fast/repaint/trailing-floats-root-line-box-overflow-expected.png: Added.
  • fast/repaint/trailing-floats-root-line-box-overflow-expected.txt: Added.
  • fast/repaint/trailing-floats-root-line-box-overflow.html: Added.
2:14 PM Changeset in webkit [53431] by Csaba Osztrogonác
  • 2 edits in trunk/WebCore

[Qt] Unreviewed trivial buildfix. (r53429)

  • WebCore.pri: missing XMLNS_NAMES added.
2:12 PM Changeset in webkit [53430] by ggaren@apple.com
  • 5 edits in trunk/WebCore

2010-01-18 Geoffrey Garen <ggaren@apple.com>

Reviewed by Darin Adler.

Removed unnecessary use of scriptExecutionContext() when creating a JS event listener.
https://bugs.webkit.org/show_bug.cgi?id=33811

This change simplifies a bunch of code, and also reduces
the number of places that use the difficult-to-understand and possibly
crashy-null scriptExecutionContext() idiom.

  • bindings/js/JSDOMGlobalObject.cpp:
  • bindings/js/JSDOMGlobalObject.h:
  • bindings/js/JSEventListener.h: (WebCore::createJSAttributeEventListener):
  • bindings/scripts/CodeGeneratorJS.pm:
2:05 PM Changeset in webkit [53429] by ap@apple.com
  • 18 edits
    1 add in trunk/WebCore

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=33787
Add constants for more XML strings

No change in functionality, so no tests.

  • WebCore/xml/xmlnsattrs.in: Added a new file for xmlns namespace and attribute - XMLNames.{h,cpp} are auto-generated, and I dodn't see a reasonable way to extend it.
  • platform/text/AtomicString.cpp: (WebCore::AtomicString::init):
  • platform/text/AtomicString.h: Added atomic strings for "xml" and "xmlns".
  • page/Frame.cpp: (WebCore::Frame::Frame): Call XMLNSNames::init().
  • dom/Attr.cpp: (WebCore::Attr::setPrefix):
  • dom/Document.cpp: (WebCore::Document::hasPrefixNamespaceMismatch): (WebCore::Document::createAttributeNS):
  • dom/Node.cpp: (WebCore::Node::checkSetPrefix): (WebCore::Node::isDefaultNamespace): (WebCore::Node::lookupNamespaceURI): (WebCore::Node::lookupNamespacePrefix):
  • dom/XMLTokenizerLibxml2.cpp: (WebCore::XMLTokenizer::XMLTokenizer): (WebCore::handleElementNamespaces):
  • editing/markup.cpp: (WebCore::shouldAddNamespaceAttr): (WebCore::appendNamespace):
  • xml/XPathStep.cpp: (WebCore::XPath::nodeMatchesBasicTest): (WebCore::XPath::Step::nodesInAxis): Use the new constants.
  • Android.derived.mk:
  • DerivedSources.make:
  • GNUmakefile.am:
  • WebCore.gyp/WebCore.gyp:
  • WebCore.pri:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • WebCoreSources.bkl: Added the new files to projects.
2:04 PM Changeset in webkit [53428] by andersca@apple.com
  • 2 edits in trunk/WebCore

Fix !ENABLE(3D_CANVAS) build.

  • rendering/RenderLayerBacking.cpp:

(WebCore::is3DCanvas):

1:58 PM Changeset in webkit [53427] by ap@apple.com
  • 2 edits in trunk/LayoutTests

Rubber-stamped by Adam Roben.

Change a newly added WebSocket test to work on Windows.

  • websocket/tests/multiple-connections.html: Decrease the number of simultaneous connections from 100 to 50. On Windows buildbot, only ~70 connections are allowed for some reason - but we only need much fewer to compare to HTTP simultaneous connection limit anyway.
1:54 PM Changeset in webkit [53426] by Csaba Osztrogonác
  • 2 edits in trunk/LayoutTests

[Qt] Skip test introduced in r53423 because of missing layoutTestController.setDomainRelaxationForbiddenForURLScheme()

  • platform/qt/Skipped: http/tests/security/setDomainRelaxationForbiddenForURLScheme.html added.
1:47 PM Changeset in webkit [53425] by Csaba Osztrogonác
  • 1 edit
    1 copy in trunk/LayoutTests

[Qt] Add platform dependent expected file because of different font size.

Reviewed by Ariya Hidayat.

  • platform/qt/fast/dynamic/float-in-trailing-whitespace-after-last-line-break-2-expected.txt: Copied from LayoutTests/fast/dynamic/float-in-trailing-whitespace-after-last-line-break-2-expected.txt.
1:36 PM Porting Macros plan edited by dbates@webkit.org
Changed OS(WIN) to OS(WINDOWS) since there is no such macro definition … (diff)
1:30 PM Changeset in webkit [53424] by timothy@apple.com
  • 4 edits in trunk

Adjust the scroll position when doing a full page zoom, so the content
stays in relatively the same position.

<rdar://problem/6150099> Zooming should keep the page content in the same place

Reviewed by Oliver Hunt.

  • page/Frame.cpp:

(WebCore::Frame::setZoomFactor): Apply the zoom percent difference to
the scroll position, only when doing a full page zoom.

1:26 PM Changeset in webkit [53423] by Adam Roben
  • 22 edits
    2 adds in trunk

Add WebKit SPI to disallow setting document.domain from certain URL schemes

Fixes <http://webkit.org/b/33806> <rdar://problem/7552837> Would like
API to disallow setting of document.domain for pages with certain URL
schemes

Reviewed by Sam Weinig.

WebCore:

Add SecurityOrigin::{set,is}DomainRelaxationForbiddenForURLScheme and
respect it

Test: http/tests/security/setDomainRelaxationForbiddenForURLScheme.html

  • WebCore.base.exp: Export

SecurityOrigin::setDomainRelaxationForbiddenForURLScheme.

  • dom/Document.cpp:

(WebCore::Document::setDomain): If domain relaxation is forbidden for
our security origin's scheme, throw an exception and don't allow
the domain to be set.

  • page/SecurityOrigin.cpp:

(WebCore::schemesForbiddenFromDomainRelaxation): Added. Returns a
global set of schemes.
(WebCore::SecurityOrigin::setDomainRelaxationForbiddenForURLScheme):
Add or remove the scheme to schemesForbiddenFromDomainRelaxation, as
appropriate.
(WebCore::SecurityOrigin::isDomainRelaxationForbiddenForURLScheme):
Returns true if the scheme is in schemesForbiddenFromDomainRelaxation.

  • page/SecurityOrigin.h: Added

{set,is}DomainRelaxationForbiddenForURLScheme.

WebKit/mac:

Add +[WebView _setDomainRelaxationForbidden:forURLScheme:]

  • WebView/WebView.mm:

(+[WebView _setDomainRelaxationForbidden:forURLScheme:]):

  • WebView/WebViewPrivate.h:

Added. Calls through to SecurityOrigin.

WebKit/win:

Add IWebViewPrivate::setDomainRelaxationForbiddenForURLScheme

  • Interfaces/IWebViewPrivate.idl: Added

setDomainRelaxationForbiddenForURLScheme.

  • Interfaces/WebKit.idl: Touched to force a build.
  • WebView.cpp:

(WebView::setDomainRelaxationForbiddenForURLScheme):

  • WebView.h:

Added. Calls through to SecurityOrigin.

WebKitTools:

Add LayoutTestController support for calling new WebKit SPI to
disallow setting document.domain

  • DumpRenderTree/LayoutTestController.cpp:

(setDomainRelaxationForbiddenForURLSchemeCallback): Added. Calls
through to LayoutTestController.
(LayoutTestController::staticFunctions): Added
setDomainRelaxationForbiddenForURLScheme.

  • DumpRenderTree/LayoutTestController.h: Added

setDomainRelaxationForbiddenForURLScheme.

  • DumpRenderTree/mac/LayoutTestControllerMac.mm:

(LayoutTestController::setDomainRelaxationForbiddenForURLScheme):

  • DumpRenderTree/win/LayoutTestControllerWin.cpp:

(LayoutTestController::setDomainRelaxationForbiddenForURLScheme):
Added. Calls through to WebKit.

  • DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:

(LayoutTestController::setDomainRelaxationForbiddenForURLScheme):

  • DumpRenderTree/wx/LayoutTestControllerWx.cpp:

(LayoutTestController::setDomainRelaxationForbiddenForURLScheme):
Stubbed out.

LayoutTests:

Add tests for new WebKit SPI to disallow setting document.domain

  • http/tests/security/setDomainRelaxationForbiddenForURLScheme-expected.txt: Added.
  • http/tests/security/setDomainRelaxationForbiddenForURLScheme.html: Added.
  • platform/gtk/Skipped: Skip the new test since WebKitGtk doesn't have

this API.

1:18 PM Changeset in webkit [53422] by eric@webkit.org
  • 2 edits in trunk/JavaScriptCore

2010-01-18 Csaba Osztrogonác <Csaba Osztrogonác>

Reviewed by Darin Adler.

Delete dftables-xxxxxxxx.in files automatically.
https://bugs.webkit.org/show_bug.cgi?id=33796

  • pcre/dftables: unlink unnecessary temporary file.
12:57 PM Changeset in webkit [53421] by mitz@apple.com
  • 2 edits in trunk/WebCore

Address review comments on the last change

  • rendering/TrailingFloatsRootInlineBox.h:

(WebCore::TrailingFloatsRootInlineBox::TrailingFloatsRootInlineBox):

12:55 PM Changeset in webkit [53420] by mitz@apple.com
  • 7 edits
    5 adds in trunk

<rdar://problem/6892207> REGRESSION (Safari 4): Menus at sciencedirect.com push the main article context down the page
<rdar://problem/7546035> Second right floated image misplacment
https://bugs.webkit.org/show_bug.cgi?id=33245

Reviewed by Darin Adler.

WebCore:

Test: fast/dynamic/float-in-trailing-whitespace-after-last-line-break-2.html

When the last line of a block contains a line break and there are floats
after the line break, it is incorrect to put those floats in the last line's
floats vector (along with floats from before the break). Instead, create
an additional line box (a TrailingFloatsRootInlineBox) and put those floats
in its floats vector.

  • WebCore.vcproj/WebCore.vcproj: Added TrailingFloatsRootInlineBox.h
  • WebCore.xcodeproj/project.pbxproj: Ditto.
  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::markLinesDirtyInVerticalRange): Added an optional
parameter, which is the highest line to dirty.

  • rendering/RenderBlock.h:
  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlock::layoutInlineChildren): Create a TrailingFloatsRootInlineBox
for the floats occurring after the line break on the last line.
(WebCore::RenderBlock::determineStartPosition): Prevent dirtying of lines
above the first dirty line.

  • rendering/TrailingFloatsRootInlineBox.h: Added.

(WebCore::TrailingFloatsRootInlineBox::TrailingFloatsRootInlineBox): Call
setHasVirtualHeight().
(WebCore::TrailingFloatsRootInlineBox::virtualHeight): Return 0.

LayoutTests:

  • fast/dynamic/float-in-trailing-whitespace-after-last-line-break-2.html: Added.
  • fast/dynamic/float-in-trailing-whitespace-after-last-line-break-2-expected.checksum: Added.
  • fast/dynamic/float-in-trailing-whitespace-after-last-line-break-2-expected.png: Added.
  • fast/dynamic/float-in-trailing-whitespace-after-last-line-break-2-expected.txt: Added.
11:56 AM Changeset in webkit [53419] by ap@apple.com
  • 1 edit
    2 adds in trunk/LayoutTests

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=33804
Test that WebSocket is not subject to HTTP connection limit

  • websocket/tests/multiple-connections-expected.txt: Added.
  • websocket/tests/multiple-connections.html: Added.
11:56 AM QtWebKitBackportingFixes edited by Laszlo Gombos
(diff)
11:44 AM Changeset in webkit [53418] by barraclough@apple.com
  • 12 edits in trunk/WebCore

Eeeep! reverting r53416 & r53417, more to be done to fix windows.

Reviewed by NOBODY (build fix).

  • WebCore.base.exp:
  • platform/sql/SQLiteFileSystem.cpp:

(WebCore::SQLiteFileSystem::openDatabase):

  • platform/sql/SQLiteStatement.cpp:

(WebCore::SQLiteStatement::prepare):

  • platform/sql/SQLiteStatement.h:
  • platform/sql/chromium/SQLiteFileSystemChromium.cpp:

(WebCore::SQLiteFileSystem::openDatabase):

  • platform/text/PlatformString.h:
  • platform/text/String.cpp:

(WebCore::String::charactersWithNullTermination):

  • platform/text/StringImpl.cpp:

(WebCore::StringImpl::operator new):
(WebCore::StringImpl::operator delete):
(WebCore::StringImpl::StringImpl):
(WebCore::StringImpl::~StringImpl):
(WebCore::StringImpl::create):
(WebCore::StringImpl::createWithTerminatingNullCharacter):
(WebCore::StringImpl::crossThreadString):
(WebCore::StringImpl::sharedBuffer):

  • platform/text/StringImpl.h:

(WebCore::StringImpl::hasTerminatingNullCharacter):
(WebCore::StringImpl::inTable):
(WebCore::StringImpl::setInTable):
(WebCore::StringImpl::):

  • platform/win/ClipboardUtilitiesWin.cpp:

(WebCore::createGlobalData):

  • storage/OriginUsageRecord.cpp:

(WebCore::OriginUsageRecord::addDatabase):
(WebCore::OriginUsageRecord::markDatabase):

11:40 AM Changeset in webkit [53417] by barraclough@apple.com
  • 2 edits in trunk/WebCore
  • platform/win/ClipboardUtilitiesWin.cpp:

(WebCore::createGlobalData):

Reviewed by NOBODY (windows build fix).

11:27 AM Changeset in webkit [53416] by barraclough@apple.com
  • 11 edits in trunk/WebCore

https://bugs.webkit.org/show_bug.cgi?id=33731
Remove uses of PtrAndFlags from WebCore::StringImpl.

Reviewed by Darin Adler.

These break the OS X Leaks tool. Move the management of null-terminated copies
out from StringImpl to String, and use a bit stolen from the refCount to hold the
'InTable' flag.

  • platform/sql/SQLiteFileSystem.cpp:

(WebCore::SQLiteFileSystem::openDatabase):

  • platform/sql/SQLiteStatement.cpp:

(WebCore::SQLiteStatement::prepare):

  • platform/sql/SQLiteStatement.h:
  • platform/text/PlatformString.h:
  • platform/text/String.cpp:

(WebCore::String::copyWithNullTermination):

  • platform/text/StringImpl.cpp:

(WebCore::StringImpl::StringImpl):
(WebCore::StringImpl::~StringImpl):
(WebCore::StringImpl::create):
(WebCore::StringImpl::crossThreadString):
(WebCore::StringImpl::sharedBuffer):

  • platform/text/StringImpl.h:

(WebCore::StringImpl::inTable):
(WebCore::StringImpl::setInTable):

10:48 AM Changeset in webkit [53415] by cmarrin@apple.com
  • 5 edits in trunk

Made root compositing layer scroll rather than scroll parent.
https://bugs.webkit.org/show_bug.cgi?id=32279


There's some general cleanup here so the frames, bounds and
positions of all the associated layers are correct.
I also changed API of setScrollFrame to use an IntRect.

10:36 AM Changeset in webkit [53414] by abarth@webkit.org
  • 3 edits in trunk/WebKitTools

2010-01-18 Adam Barth <abarth@webkit.org>

Reviewed by Adam Roben.

Rename patches-to-commit to patches-in-commit-queue
https://bugs.webkit.org/show_bug.cgi?id=33789

The command really lists the patches in the commit-queue not all the
patches that are pending-commit (as the FIXME commands).

  • Scripts/webkitpy/commands/queries.py:
  • Scripts/webkitpy/commands/queries_unittest.py:
10:31 AM Changeset in webkit [53413] by eric@webkit.org
  • 2 edits in trunk/WebCore

2010-01-18 Ilya Tikhonovsky <loislo@chromium.org>

Reviewed by Pavel Feldman.

WebInspector: Timeline panel scrolling speed can be 2 times faster.
https://bugs.webkit.org/show_bug.cgi?id=33794

10:15 AM Changeset in webkit [53412] by eric@webkit.org
  • 6 edits
    2 moves in trunk/WebCore

2010-01-18 Steve Block <steveblock@google.com>

Reviewed by Adam Barth.

Moves JSC-specific version of JavaInstance from bridge/jni/jni_instance to bridge/jni/jsc/JavaInstanceJSC
https://bugs.webkit.org/show_bug.cgi?id=33672

No new tests, refactoring only.

  • Android.jscbindings.mk: Modified. Removed jni_instance.cpp and added JavaInstanceJSC.cpp
  • GNUmakefile.am: Modified. Removed jni_instance.h and added JavaInstanceJSC.h
  • WebCore.xcodeproj/project.pbxproj: Modified. Removed jni_instance.[cpp|h] and added JavaInstanceJSC.[cpp|h]
  • bindings/js/ScriptControllerMac.mm: Modified. Includes JavaInstanceJSC.h
  • bridge/jni/jni_instance.cpp: Removed.
  • bridge/jni/jni_instance.h: Removed.
  • bridge/jni/jni_runtime.h: Modified. Includes JavaInstanceJSC.h
  • bridge/jni/jsc/JavaInstanceJSC.cpp: Copied from WebCore/bridge/jni/jni_instance.cpp.
  • bridge/jni/jsc/JavaInstanceJSC.h: Copied from WebCore/bridge/jni/jni_instance.h.
9:46 AM Changeset in webkit [53411] by pkasting@chromium.org
  • 9 edits in trunk/WebCore

Simplify image decoders slightly by using OwnPtr instead of raw pointers
and eliminating a basically-useless wrapper class in the GIF decoder.
https://bugs.webkit.org/show_bug.cgi?id=28751

Reviewed by Adam Barth.

  • platform/graphics/qt/ImageDecoderQt.cpp:

(WebCore::ImageDecoderQt::ImageDecoderQt):
(WebCore::ImageDecoderQt::~ImageDecoderQt):
(WebCore::ImageDecoderQt::setData):
(WebCore::ImageDecoderQt::internalReadImage):
(WebCore::ImageDecoderQt::failRead):

  • platform/graphics/qt/ImageDecoderQt.h:
  • platform/image-decoders/gif/GIFImageDecoder.cpp:

(WebCore::GIFImageDecoder::GIFImageDecoder):
(WebCore::GIFImageDecoder::~GIFImageDecoder):
(WebCore::GIFImageDecoder::setData):
(WebCore::GIFImageDecoder::frameCount):
(WebCore::GIFImageDecoder::repetitionCount):
(WebCore::GIFImageDecoder::decode):
(WebCore::GIFImageDecoder::decodingHalted):
(WebCore::GIFImageDecoder::initFrameBuffer):
(WebCore::GIFImageDecoder::haveDecodedRow):
(WebCore::GIFImageDecoder::gifComplete):

  • platform/image-decoders/gif/GIFImageDecoder.h:
  • platform/image-decoders/jpeg/JPEGImageDecoder.cpp:

(WebCore::JPEGImageDecoder::JPEGImageDecoder):
(WebCore::JPEGImageDecoder::~JPEGImageDecoder):
(WebCore::JPEGImageDecoder::setData):
(WebCore::JPEGImageDecoder::decode):

  • platform/image-decoders/jpeg/JPEGImageDecoder.h:
  • platform/image-decoders/png/PNGImageDecoder.cpp:

(WebCore::PNGImageDecoder::PNGImageDecoder):
(WebCore::PNGImageDecoder::~PNGImageDecoder):
(WebCore::PNGImageDecoder::setData):
(WebCore::PNGImageDecoder::decode):
(WebCore::PNGImageDecoder::headerAvailable):
(WebCore::PNGImageDecoder::rowAvailable):

  • platform/image-decoders/png/PNGImageDecoder.h:
9:20 AM Changeset in webkit [53410] by Adam Roben
  • 6 edits in trunk

DataTransfer interface broken on Windows--types member is always undefined, and getData() does not work.

https://bugs.webkit.org/show_bug.cgi?id=30527

Patch by Daniel Cheng <dcheng@google.com> on 2010-01-18
Reviewed by Adam Roben.

WebCore:

  • platform/win/ClipboardWin.cpp:

(WebCore::addMimeTypesForFormat): pass FORMATETC as a const ref.
(WebCore::ClipboardWin::types): fix calls to IEnumFORMATETC.
(WebCore::ClipboardWin::hasData): fix calls to IEnumFORMATETC.

LayoutTests:

  • fast/events/drag-and-drop-dataTransfer-types-nocrash-expected.txt: Updated test expectations.
  • fast/events/drag-and-drop-dataTransfer-types-nocrash.html: Added test cases.
  • platform/win/Skipped: Re-enabled fast/events/drag-and-drop-dataTransfer-types-nocrash.html
8:58 AM Changeset in webkit [53409] by eric@webkit.org
  • 2 edits in trunk/WebCore

2010-01-18 Mikhail Naganov <mnaganov@chromium.org>

Reviewed by Timothy Hatcher.

Don't show Profiles welcome screen on panel switch,
if a profile view is shown.

https://bugs.webkit.org/show_bug.cgi?id=33799

  • inspector/front-end/ProfilesPanel.js: (WebInspector.ProfilesPanel.prototype.show):
7:11 AM Changeset in webkit [53408] by vestbo@webkit.org
  • 6 edits in trunk

[Qt] Force qmake to generate a single makefile for DerivedSources.pro

Reviewed by Simon Hausmann.

JavaScriptCore:

  • DerivedSources.pro:

WebCore:

  • DerivedSources.pro:

WebKitTools:

  • Scripts/webkitdirs.pm:
7:05 AM Changeset in webkit [53407] by Adam Roben
  • 3 edits in trunk/WebKitTools

Clean up use of /useenv when invoking Visual C++

This change reverts things to their pre-r49485 state. That revision
(and, subsequently, r49664 and r51788) started passing /useenv to
Visual C++, even in cases where we don't want to do so (such as when
invoking Visual C++ Express), in the name of making the Chromium build
work. Now that Chromium isn't using buildVisualStudioProject or
pdevenv, we can put things back they way they were.

Fixes <http://webkit.org/b/33797> build-webkit fails with VC++ Express
(due to /useenv flag)

Reviewed by Sam Weinig.

  • Scripts/pdevenv: Always pass /useenv. Chromium doesn't use this

script anymore.

  • Scripts/webkitdirs.pm:

(buildVisualStudioProject): Never pass /useenv anymore. pdevenv takes
care of this itself, and we don't want to pass /useenv when not using
pdevenv (e.g., when using VC++ Express, because that will cause it to
ignore the Platform SDK).

6:37 AM Changeset in webkit [53406] by eric@webkit.org
  • 8 edits
    1 copy in trunk

2010-01-18 Jonathan Dixon <joth@chromium.org>

Reviewed by Adam Barth.

Add support for enabling navigator.geolocation at runtime in the V8 bindings.
Adds the [EnabledAtRuntime] modifier to the navigator IDL.
https://bugs.webkit.org/show_bug.cgi?id=33467

  • WebCore.gypi:
  • bindings/v8/RuntimeEnabledFeatures.cpp:
  • bindings/v8/RuntimeEnabledFeatures.h: (WebCore::RuntimeEnabledFeatures::setGeolocationEnabled): (WebCore::RuntimeEnabledFeatures::geolocationEnabled):
  • bindings/v8/custom/V8NavigatorCustom.cpp: Added. (WebCore::V8Navigator::GeolocationEnabled):
  • page/Navigator.cpp: (WebCore::Navigator::geolocation):
  • page/Navigator.idl:

2010-01-18 Jonathan Dixon <joth@chromium.org>

Reviewed by Adam Barth.

Add support for enabling navigator.geolocation at runtime in the V8 bindings.
Adds the [EnabledAtRuntime] modifier to the navigator IDL.
https://bugs.webkit.org/show_bug.cgi?id=33467

  • public/WebRuntimeFeatures.h:
  • src/WebRuntimeFeatures.cpp: (WebKit::WebRuntimeFeatures::enableGeolocation): (WebKit::WebRuntimeFeatures::isGeolocationEnabled):
6:20 AM Changeset in webkit [53405] by eric@webkit.org
  • 4 edits in trunk/WebCore

2010-01-18 Alexander Pavlov <apavlov@chromium.org>

Reviewed by Pavel Feldman.

Improve Resources panel performance for lots of resources

DOM properties are extracted into const's, comparisons are faster.
https://bugs.webkit.org/show_bug.cgi?id=33790

  • inspector/front-end/AbstractTimelinePanel.js: (WebInspector.AbstractTimelinePanel.prototype._updateDividersLabelBarPosition):
  • inspector/front-end/Resource.js: (WebInspector.Resource.CompareByStartTime): (WebInspector.Resource.CompareByResponseReceivedTime): (WebInspector.Resource.CompareByEndTime): (WebInspector.Resource.CompareByDuration): (WebInspector.Resource.CompareByLatency): (WebInspector.Resource.CompareBySize):
  • inspector/front-end/ResourcesPanel.js: (WebInspector.ResourceGraph.prototype.refreshLabelPositions):
6:05 AM Changeset in webkit [53404] by eric@webkit.org
  • 3 edits in trunk/WebKitTools

2010-01-18 Adam Barth <abarth@webkit.org>

Reviewed by Eric Seidel.

webkit-patch land-safely should obsolete old patches
https://bugs.webkit.org/show_bug.cgi?id=33788

When posting a commit-queue+ patch with land-safely, we should
obsolete the old patches on the bug. They're really confusing
because the main use case is to address reviewer feedback on a
previous patch.

  • Scripts/webkitpy/commands/upload.py:
  • Scripts/webkitpy/commands/upload_unittest.py:
5:49 AM Changeset in webkit [53403] by eric@webkit.org
  • 2 edits in trunk/WebKitTools

2010-01-18 Adam Barth <abarth@webkit.org>

Reviewed by David Levin.

webkit-patch should authenticate more often
https://bugs.webkit.org/show_bug.cgi?id=33701

This makes it easier to work with security patches.

  • Scripts/webkitpy/bugzilla.py:
5:33 AM Changeset in webkit [53402] by eric@webkit.org
  • 2 edits in trunk/WebCore

2010-01-18 Daniel Bates <dbates@rim.com>

Reviewed by Eric Seidel.

https://bugs.webkit.org/show_bug.cgi?id=33726

Following up on changes made with respect to bug #33498, we should
fix the the style errors found by the style bot.

Moreover, this fixes all the style errors found by check-webkit-style
except the use of an underline in the variable name _niflags. We should
fix this in a second run through for all the other variables names that
contain an underline because there are many.

No functionality was changed. So, no new tests.

  • rendering/style/SVGRenderStyle.h: (WebCore::SVGRenderStyle::create): (WebCore::SVGRenderStyle::copy): (WebCore::SVGRenderStyle::operator!=): (WebCore::SVGRenderStyle::hasStroke): (WebCore::SVGRenderStyle::hasFill): (WebCore::SVGRenderStyle::InheritedFlags::operator==): (WebCore::SVGRenderStyle::InheritedFlags::operator!=): (WebCore::SVGRenderStyle::NonInheritedFlags::operator==): (WebCore::SVGRenderStyle::NonInheritedFlags::operator!=): (WebCore::SVGRenderStyle::NonInheritedFlags::): (WebCore::SVGRenderStyle::): (WebCore::SVGRenderStyle::setBitDefaults):
4:54 AM Changeset in webkit [53401] by benm@google.com
  • 2 edits in trunk/WebCore

[Android] DOMWrapperMap::Visitor needs virtual destructor
https://bugs.webkit.org/show_bug.cgi?id=33675

Patch by Andrei Popescu <andreip@google.com> on 2010-01-18
Reviewed by Adam Barth.

Add protected virtual dtor to DOMWrapperMap::Visitor. See bug for further discussion.

No new tests needed, functionality not changed.

  • bindings/v8/V8DOMMap.h:

(WebCore::DOMWrapperMap::Visitor::~Visitor): Added.

4:14 AM Changeset in webkit [53400] by Csaba Osztrogonác
  • 9 edits in trunk/JavaScriptCore

Rubber-stamped by Gustavo Noronha Silva.

Rolling out r53391 and r53392 because of random crashes on buildbots.
https://bugs.webkit.org/show_bug.cgi?id=33731

  • bytecode/CodeBlock.h:

(JSC::CallLinkInfo::seenOnce):
(JSC::CallLinkInfo::setSeen):
(JSC::MethodCallLinkInfo::MethodCallLinkInfo):
(JSC::MethodCallLinkInfo::seenOnce):
(JSC::MethodCallLinkInfo::setSeen):

  • jit/JIT.cpp:

(JSC::JIT::unlinkCall):

  • jit/JITPropertyAccess.cpp:

(JSC::JIT::patchMethodCallProto):

  • runtime/UString.cpp:

(JSC::UString::spliceSubstringsWithSeparators):
(JSC::UString::replaceRange):

  • runtime/UString.h:
  • runtime/UStringImpl.cpp:

(JSC::UStringImpl::baseSharedBuffer):
(JSC::UStringImpl::sharedBuffer):
(JSC::UStringImpl::~UStringImpl):

  • runtime/UStringImpl.h:

(JSC::UntypedPtrAndBitfield::UntypedPtrAndBitfield):
(JSC::UntypedPtrAndBitfield::asPtr):
(JSC::UntypedPtrAndBitfield::operator&=):
(JSC::UntypedPtrAndBitfield::operator|=):
(JSC::UntypedPtrAndBitfield::operator&):
(JSC::UStringImpl::create):
(JSC::UStringImpl::cost):
(JSC::UStringImpl::isIdentifier):
(JSC::UStringImpl::setIsIdentifier):
(JSC::UStringImpl::ref):
(JSC::UStringImpl::deref):
(JSC::UStringImpl::checkConsistency):
(JSC::UStringImpl::UStringImpl):
(JSC::UStringImpl::bufferOwnerString):
(JSC::UStringImpl::bufferOwnership):
(JSC::UStringImpl::isStatic):

  • wtf/StringHashFunctions.h:

(WTF::stringHash):

2:13 AM Changeset in webkit [53399] by abarth@webkit.org
  • 3 edits in trunk/WebKitTools

2010-01-18 Adam Barth <abarth@webkit.org>

Reviewed by Darin Adler.

style checker needs to know about GObject-specific requirements
inside WebCore/bindings/gobject/
https://bugs.webkit.org/show_bug.cgi?id=33606

Add an exception to the underscore rule for certain
GObject-specific names.

  • Scripts/webkitpy/style/cpp_style.py:
  • Scripts/webkitpy/style/cpp_style_unittest.py:
2:13 AM Changeset in webkit [53398] by abarth@webkit.org
  • 3 edits in trunk/WebKitTools

2010-01-18 Adam Barth <abarth@webkit.org>

Reviewed by Shinichiro Hamaji.

[check-webkit-style] does understand ResourceHandleWin.h
https://bugs.webkit.org/show_bug.cgi?id=32975

I'm not 100% convinced this fix is correct, but without more examples,
it's hard to generalize. We can always generalize the fix in the
future.

  • Scripts/webkitpy/style/cpp_style.py:
  • Scripts/webkitpy/style/cpp_style_unittest.py:
1:54 AM Changeset in webkit [53397] by Simon Hausmann
  • 2 edits in trunk/JavaScriptCore

Fix the build with strict gcc and RVCT versions: It's not legal to cast a
pointer to a function to a void* without an intermediate cast to a non-pointer
type. A cast to a ptrdiff_t inbetween fixes it.

Reviewed by Kenneth Rohde Christiansen.

  • runtime/JSString.h:

(JSC::Fiber::JSString):

1:29 AM Changeset in webkit [53396] by abarth@webkit.org
  • 2 edits in trunk/WebKitTools

2010-01-18 Adam Barth <abarth@webkit.org>

Unreviewed "build" fix.

  • Scripts/webkitpy/bugzilla.py:
1:15 AM Changeset in webkit [53395] by abarth@webkit.org
  • 3 edits in trunk/WebKitTools

2010-01-18 Adam Barth <abarth@webkit.org>

Unreviewed. Actually make land-safely mark commit-queue+ as
discussed with Eric.

  • Scripts/webkitpy/bugzilla.py:
  • Scripts/webkitpy/steps/postdiffforcommit.py:
1:02 AM Changeset in webkit [53394] by Simon Hausmann
  • 2 edits in trunk/WebCore

Unreviewed Symbian build fix.

If we don't link with def files, then we have to pass EXPORTUNFROZEN,
so that the build system still creates the .dso files in
release/armv5/lib and we can actually link against the created QtWebKit
dlls.

Thanks Iain for the help!

  • WebCore.pro:
Note: See TracTimeline for information about the timeline view.