Timeline


and

01/21/10:

23:48 Changeset [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:
23:36 Changeset [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):
23:11 Changeset [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:
22:58 CommitterTips edited by cjerdonek@webkit.org
Fixed manual numbering from previous change. (diff)
22:53 CommitterTips edited by cjerdonek@webkit.org
Corrected information about username/password prompting. (diff)
22:53 Changeset [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):
22:37 Changeset [53679] by cjerdonek@webkit.org
  • 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.
22:21 Changeset [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):
22:05 Changeset [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:
22:01 Changeset [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.
21:39 Changeset [53675] by eric@webkit.org
  • 8 edits in trunk/WebKitTools

2010-01-21 Chris Jerdonek <cjerdonek@webkit.org>

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.
21:27 WikiStart edited by cjerdonek@webkit.org
Retitled committer tips section to make it easier to see (diff)
21:23 Changeset [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):
21:11 CommitterTips edited by cjerdonek@webkit.org
Added first draft of "Walking you through your first commit" (diff)
21:06 Changeset [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:
20:22 Changeset [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:
20:21 Changeset [53671] by eric@webkit.org
  • 6 edits
    1 add in trunk/WebKit/chromium

2010-01-21 Michael Nordman <michaeln@google.com>

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:
20:04 Changeset [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):
19:29 Changeset [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:
19:25 Changeset [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.

18:48 QtWebKitGraphics edited by noam.rosenthal@nokia.com
(diff)
18:35 Changeset [53667] by cjerdonek@webkit.org
  • 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().
18:23 Changeset [53666] by zimmermann@webkit.org
  • 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.
18:07 Changeset [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.

17:40 Changeset [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.
17:28 Changeset [53663] by simon.fraser@apple.com
  • 5 edits
    6 adds in trunk

2010-01-21 Simon Fraser <simon.fraser@apple.com>

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.
17:20 Changeset [53662] by bdakin@apple.com
  • 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:
17:07 Changeset [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.
16:48 Changeset [53660] by darin@apple.com
  • 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.

16:40 Changeset [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.
16:34 Changeset [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:
16:06 Changeset [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.
15:22 Changeset [53656] by zimmermann@webkit.org
  • 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:
15:19 Changeset [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.
15:06 Changeset [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.
15:04 Changeset [53653] by simon.fraser@apple.com
  • 2 edits in trunk/LayoutTests

2010-01-21 Simon Fraser <simon.fraser@apple.com>

No review

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

  • platform/gtk/Skipped:
14:53 Changeset [53652] by ossy@webkit.org
  • 2 edits in trunk/WebCore

Buildfix for r53646.

Reviewed by Dave Hyatt.

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

Unreviewed buildfix after r53644.

  • platform/Scrollbar.cpp:

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

14:24 Changeset [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.
14:17 Changeset [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:
14:10 Changeset [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):

14:02 Changeset [53647] by ossy@webkit.org
  • 2 edits in trunk/WebCore

[Qt] Unreviewed buildfix after r53644.

  • WebCore.pro: accessibility/AccessibilityScrollbar.cpp and accessibility/AccessibilityScrollbar.h added.
13:57 Changeset [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):

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

Build fix, add new file to AccessibilityAllInOne

13:31 Changeset [53644] by bdakin@apple.com
  • 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.
13:08 Changeset [53643] by simon.fraser@apple.com
  • 2 edits in trunk/LayoutTests

2010-01-21 Simon Fraser <simon.fraser@apple.com>

No review

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

  • platform/qt/Skipped:
13:04 Changeset [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.

13:02 Changeset [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):

13:01 Changeset [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 Changeset [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 Changeset [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 Changeset [53637] by simon.fraser@apple.com
  • 7 edits
    2 adds in trunk

2010-01-20 Simon Fraser <simon.fraser@apple.com>

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 Changeset [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 Changeset [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 Changeset [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 Changeset [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 Changeset [53632] by ossy@webkit.org
  • 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 WebKit Team edited by ariya@webkit.org
I am no longer with Qt (diff)
10:24 Changeset [53631] by philn@webkit.org
  • 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 Changeset [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:
09:46 Changeset [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.
09:21 Changeset [53628] by aroben@apple.com
  • 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.

08:05 Changeset [53627] by hausmann@webkit.org
  • 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.

07:42 Changeset [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:
07:01 Changeset [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:
06:54 Changeset [53624] by hausmann@webkit.org
  • 1 edit in trunk/WebCore/WebCore.pro

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

06:52 Changeset [53623] by hausmann@webkit.org
  • 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:
05:49 QtWebKitBackportingFixes edited by hausmann@webkit.org
(diff)
05:42 QtWebKitBackportingFixes edited by hausmann@webkit.org
(diff)
05:08 Changeset [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:
04:30 Changeset [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:
03:52 Changeset [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.
02:25 Changeset [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:
01:49 Changeset [53618] by hausmann@webkit.org
  • 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
01:43 Changeset [53617] by philn@webkit.org
  • 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):
01:27 Changeset [53616] by hausmann@webkit.org
  • 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:
01:12 Changeset [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):
01:02 Changeset [53614] by hausmann@webkit.org
  • 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):

00:42 Changeset [53613] by hausmann@webkit.org
  • 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:
00:37 Changeset [53612] by philn@webkit.org
  • 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:
00:25 Changeset [53611] by hausmann@webkit.org
  • 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:
00:10 Changeset [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:

01/20/10:

23:50 Changeset [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:
23:35 Changeset [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:
23:22 Changeset [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):
23:20 Changeset [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:
23:06 Changeset [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:
21:58 Changeset [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):
21:36 Changeset [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:
21:26 Changeset [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.
21:05 Changeset [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.
20:54 Changeset [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:
20:46 Changeset [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:
20:39 Changeset [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:
20:23 Changeset [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.
20:07 Changeset [53596] by eric@webkit.org
  • 3 edits
    2 adds in trunk

2010-01-20 Michael Nordman <michaeln@google.com>

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 <michaeln@google.com>

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):
19:49 Changeset [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):
19:23 Changeset [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:
19:09 Changeset [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.
18:41 Changeset [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:
18:31 Changeset [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.
18:23 Changeset [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.
18:10 Changeset [53589] by zimmermann@webkit.org
  • 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.
18:08 Changeset [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):
17:46 Changeset [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.
17:35 Changeset [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):
17:13 Changeset [53585] by zimmermann@webkit.org
  • 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:
17:11 Changeset [53584] by mrowe@apple.com
  • 2 edits in trunk/JavaScriptCore

Build fix.

  • wtf/FastMalloc.cpp:

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

17:05 Changeset [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.

17:04 Changeset [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.

17:03 Changeset [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.

17:01 Changeset [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):

17:01 Changeset [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:
16:40 Changeset [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.
16:31 Changeset [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:
16:21 Changeset [53576] by zimmermann@webkit.org
  • 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.
16:15 Changeset [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):

15:53 Changeset [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:
15:49 Changeset [53573] by cfleizach@apple.com
  • 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.
15:30 Changeset [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.

15:19 Changeset [53571] by ossy@webkit.org
  • 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.
15:01 Changeset [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:
14:43 Changeset [53569] by ossy@webkit.org
  • 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.
14:42 Changeset [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.

14:31 Changeset [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.
14:23 Changeset [53566] by zimmermann@webkit.org
  • 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):
14:21 Changeset [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.

14:01 Changeset [53564] by zimmermann@webkit.org
  • 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):
13:56 Changeset [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.
13:50 Changeset [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:
13:37 Changeset [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 Changeset [53560] by kevino@webkit.org
  • 2 edits in trunk/WebCore

Build fix for !ENABLE(SVG).

12:05 Changeset [53559] by ossy@webkit.org
  • 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 Changeset [53558] by levin@chromium.org
  • 43 edits
    2 deletes in trunk

Revert r53552 which caused lots of layout test failures.

11:13 Changeset [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 Changeset [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 Changeset [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.
09:51 Changeset [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.
09:45 Changeset [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.
09:44 Changeset [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:
09:38 Changeset [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::):
09:22 Changeset [53550] by philn@webkit.org
  • 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:
07:59 Changeset [53549] by ossy@webkit.org
  • 4 edits in trunk

[Qt] Unreviewed buildfix for r53547.

JavaScriptCore:

  • DerivedSources.pro:

WebCore:

  • WebCore.pri:
07:48 Changeset [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.
06:27 Changeset [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:
06:15 Changeset [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.
05:58 Changeset [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):
04:56 Changeset [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:
04:33 Changeset [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:
04:12 QtWebKitBackportingFixes edited by girish@forwardbias.in
(diff)
03:57 Changeset [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.
03:37 Changeset [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

03:37 Changeset [53540] by ossy@webkit.org
  • 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.
03:28 Changeset [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:
03:26 Changeset [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:
03:20 Changeset [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.
02:23 Changeset [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):
02:15 Changeset [53535] by hausmann@webkit.org
  • 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:
02:08 BuildingQtOnLinux edited by vestbo@webkit.org
(diff)
02:06 Changeset [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:
01:58 Changeset [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:
01:57 Changeset [53532] by hausmann@webkit.org
  • 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:
01:29 Changeset [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:
01:27 QtWebKitPackaging edited by hausmann@webkit.org
(diff)
01:06 QtWebKitBackportingFixes edited by hausmann@webkit.org
(diff)
00:54 Changeset [53530] by hausmann@webkit.org
  • 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:
00:54 Changeset [53529] by hausmann@webkit.org
  • 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.

00:43 Changeset [53528] by hausmann@webkit.org
  • 2 edits in trunk/WebCore

Add missing files to the build.

Reviewed by Tor Arne Vestbø.

  • WebCore.pro:
00:26 Changeset [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
00:22 QtWebKitPackaging created by hausmann@webkit.org
00:20 Changeset [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:

01/19/10:

23:46 Changeset [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.
21:57 Changeset [53524] by mitz@apple.com
  • 2 edits in trunk/WebCore

Build fix after r53514

  • WebCore.base.exp: Removed threadGlobalData(), which was inlined in r53514.
21:45 Changeset [53523] by simon.fraser@apple.com
  • 2 edits in trunk/WebCore

2010-01-19 Simon Fraser <simon.fraser@apple.com>

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):
21:34 Changeset [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.
21:18 Changeset [53521] by simon.fraser@apple.com
  • 2 edits in trunk/WebKit

2010-01-19 Simon Fraser <simon.fraser@apple.com>

Build fix, no review.

Fix build of DumpRenderTree by making the header WebTypesInternal.h Private
in WebKit.

  • WebKit.xcodeproj/project.pbxproj:
21:08 Changeset [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.

20:09 Changeset [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.

19:43 Changeset [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:
19:24 Changeset [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:
19:05 Changeset [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):

18:30 Writing Layout Tests for DumpRenderTree edited by tkent@chromium.org
Add description of parameters of eventSender.mouseDown(), and add … (diff)
18:27 Changeset [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.

18:25 Changeset [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.
18:03 Changeset [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:
17:43 Changeset [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.
17:16 Changeset [53511] by kov@webkit.org
  • 1 copy in releases/WebKitGTK/webkit-1.1.19

Tagging 1.1.19.

17:10 Changeset [53510] by simon.fraser@apple.com
  • 8 edits
    4 adds in trunk

2010-01-19 Simon Fraser <simon.fraser@apple.com>

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.
16:58 Changeset [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):

16:57 Changeset [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:
16:37 Changeset [53507] by simon.fraser@apple.com
  • 3 edits in trunk/WebCore

2010-01-19 Simon Fraser <simon.fraser@apple.com>

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.

16:09 Changeset [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.
15:59 Changeset [53505] by kov@webkit.org
  • 2 edits in trunk

Unreviewed. Shared library versioning bump for 1.1.19.

15:53 Changeset [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:
15:51 Changeset [53503] by kov@webkit.org
  • 4 edits in trunk

Unreviewed. Build fixes for make distcheck.

15:49 Changeset [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:
15:32 Changeset [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.
15:22 Changeset [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.

15:09 Changeset [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):
14:50 Changeset [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:]):
14:36 Changeset [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:
14:30 Changeset [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:
14:18 Changeset [53495] by simon.fraser@apple.com
  • 3 edits
    8 adds in trunk

2010-01-19 Simon Fraser <simon.fraser@apple.com>

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):
14:17 Changeset [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.
14:14 Changeset [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.
14:14 Changeset [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.
14:10 Changeset [53491] by jpetsovits@rim.com
  • 1 edit in trunk/WebKitTools/Scripts/webkitpy/committers.py

Adding myself to committers.py.

13:53 Changeset [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]).
13:51 Changeset [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.
13:49 Changeset [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:
13:31 Changeset [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):
13:07 Changeset [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.
13:04 Changeset [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 Changeset [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 Changeset [53483] by mrowe@apple.com
  • 4 edits in trunk

Versioning.

12:39 Changeset [53482] by mrowe@apple.com
  • 1 copy in tags/Safari-532.8

New tag.

12:22 Changeset [53481] by kov@webkit.org
  • 2 edits in trunk/WebKit/gtk

Reviewed by Xan Lopez.

News items for 1.1.19.

  • NEWS:
12:19 Changeset [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 Changeset [53479] by laszlo.1.gombos@nokia.com
  • 2 edits in trunk/JavaScriptCore

2010-01-19 Laszlo Gombos <laszlo.1.gombos@nokia.com>

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 Changeset [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 Changeset [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 Changeset [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 Changeset [53475] by aroben@apple.com
  • 2 edits in trunk/WebKit/win

Windows build fix

  • WebScriptWorld.cpp: Added missing #include.
10:26 Changeset [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 Changeset [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 Changeset [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 Changeset [53471] by sfalken@apple.com
  • 1 edit in trunk/WebKit/win/Interfaces/WebKit.idl

Touch WebKit.idl to fix build.

09:53 Changeset [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:
09:00 Changeset [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:
07:48 Companies and Organizations that have contributed to WebKit edited by xan@webkit.org
(diff)
06:50 Changeset [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>
06:27 Changeset [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:
06:04 Changeset [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.
04:30 Changeset [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:
03:51 Changeset [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.

03:04 Changeset [53463] by ossy@webkit.org
  • 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.
02:50 WebKit Team edited by ossy@webkit.org
typo fix (diff)
01:06 Changeset [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:
00:56 Changeset [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.
00:39 Changeset [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.
00:25 Changeset [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.
00:25 WebKit Team edited by eric@webkit.org
(diff)
00:20 WebKit Team edited by abarth@webkit.org
(diff)
00:19 WebKit Team edited by abarth@webkit.org
(diff)
00:14 Changeset [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.
00:05 Changeset [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:

01/18/10:

23:58 WebKit Team edited by abarth@webkit.org
(diff)
23:22 Changeset [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):

23:00 Changeset [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.
21:51 Changeset [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):

20:32 Changeset [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.
19:10 Changeset [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.
19:08 Changeset [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):
18:59 Changeset [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:
18:56 Changeset [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):

18:53 Changeset [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:
18:22 Changeset [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):

18:20 WikiStart edited by skyul@company100.net
(diff)
18:17 Changeset [53446] by zimmermann@webkit.org
  • 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.
17:49 Changeset [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:
17:19 Changeset [53444] by darin@apple.com
  • 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.

17:12 Changeset [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):

17:07 Changeset [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.
17:05 Changeset [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.

17:03 Changeset [53440] by sfalken@apple.com
  • 2 edits in trunk/WebKit/mac

Rubber-stamped by Sam Weinig.

Add missing export for Geolocation.

  • WebKit.exp:
16:53 Changeset [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 .
16:50 Changeset [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:
16:02 Changeset [53437] by darin@apple.com
  • 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.

15:49 Changeset [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
15:14 Changeset [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.
15:09 Changeset [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

14:51 Changeset [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.
14:20 Changeset [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.
14:14 Changeset [53431] by ossy@webkit.org
  • 2 edits in trunk/WebCore

[Qt] Unreviewed trivial buildfix. (r53429)

  • WebCore.pri: missing XMLNS_NAMES added.
14:12 Changeset [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:
14:05 Changeset [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.
14:04 Changeset [53428] by andersca@apple.com
  • 2 edits in trunk/WebCore

Fix !ENABLE(3D_CANVAS) build.

  • rendering/RenderLayerBacking.cpp:

(WebCore::is3DCanvas):

13:58 Changeset [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.
13:54 Changeset [53426] by ossy@webkit.org
  • 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.
13:47 Changeset [53425] by ossy@webkit.org
  • 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.
13:36 Porting Macros plan edited by dbates@webkit.org
Changed OS(WIN) to OS(WINDOWS) since there is no such macro definition … (diff)
13:30 Changeset [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.

13:26 Changeset [53423] by aroben@apple.com
  • 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.

13:18 Changeset [53422] by eric@webkit.org
  • 2 edits in trunk/JavaScriptCore

2010-01-18 Csaba Osztrogonác <ossy@webkit.org>

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 Changeset [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 Changeset [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 Changeset [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 QtWebKitBackportingFixes edited by laszlo.1.gombos@nokia.com
(diff)
11:44 Changeset [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 Changeset [53417] by barraclough@apple.com
  • 2 edits in trunk/WebCore
  • platform/win/ClipboardUtilitiesWin.cpp:

(WebCore::createGlobalData):

Reviewed by NOBODY (windows build fix).

11:27 Changeset [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 Changeset [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 Changeset [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 Changeset [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 Changeset [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.
09:46 Changeset [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:
09:20 Changeset [53410] by aroben@apple.com
  • 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
08:58 Changeset [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):
07:11 Changeset [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:
07:05 Changeset [53407] by aroben@apple.com
  • 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).

06:37 Changeset [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):
06:20 Changeset [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):
06:05 Changeset [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:
05:49 Changeset [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:
05:33 Changeset [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):
04:54 Changeset [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.

04:14 Changeset [53400] by ossy@webkit.org
  • 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):

02:13 Changeset [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:
02:13 Changeset [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:
01:54 Changeset [53397] by hausmann@webkit.org
  • 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):

01:29 Changeset [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:
01:15 Changeset [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:
01:02 Changeset [53394] by hausmann@webkit.org
  • 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:

01/17/10:

23:47 Changeset [53393] by ossy@webkit.org
  • 1 edit
    1 add in trunk/LayoutTests

Rubber-stamped by Eric Seidel.

[Qt] Platform dependent expected file added for r53388. (similar to original one, only styles differ)
https://bugs.webkit.org/show_bug.cgi?id=33784 (need to unify path dumping)

  • platform/qt/svg/custom/transformedMaskFails-expected.txt: Added.
23:36 Changeset [53392] 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).

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):

23:28 Changeset [53391] by barraclough@apple.com
  • 5 edits in trunk/JavaScriptCore

https://bugs.webkit.org/show_bug.cgi?id=33731
Remove uses of PtrAndFlags from JIT data stuctures.

Reviewed by Oliver Hunt.

These break the OS X Leaks tool. Free up a bit in CallLinkInfo, and invalid
permutation of pointer states in MethodCallLinkInfo to represent the removed bits.

  • 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.h:
21:41 Changeset [53390] by laszlo.1.gombos@nokia.com
  • 2 edits in trunk/WebCore

2010-01-17 Srinidhi Shreedhara <srinidhi.shreedhara@nokia.com>

Reviewed by Simon Hausmann.

[Qt] [Symbian] SetWindow call in npapi plugin does not happen when the cooridnates are negative
https://bugs.webkit.org/show_bug.cgi?id=33573

  • plugins/symbian/PluginViewSymbian.cpp: (WebCore::PluginView::setNPWindowIfNeeded): Remove tests for negative coordinates for early return.
20:53 Changeset [53389] by eric@webkit.org
  • 3 edits in trunk/WebKit/chromium

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

Reviewed by Shinichiro Hamaji.

[Chromium] Remove an old runFileChooser() method.
https://bugs.webkit.org/show_bug.cgi?id=33778

Chromium code switched to new runFileChooser() introduced by
r53269. The old one is not needed anymore.

  • public/WebViewClient.h:
  • src/ChromeClientImpl.cpp: (WebKit::ChromeClientImpl::runOpenPanel):
19:59 Changeset [53388] by oliver@apple.com
  • 3 edits
    3 adds in trunk

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

Reviewed by Dan Bernstein.

REGRESSION (r52449): SVG mask wrongly clipped when not at origin for recent nightly build
https://bugs.webkit.org/show_bug.cgi?id=33782

Testcase for a mask containing transformed elements

  • platform/mac/svg/custom/transformedMaskFails-expected.png: Added.
  • svg/custom/transformedMaskFails-expected.txt: Added.
  • svg/custom/transformedMaskFails.svg: Added.

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

Reviewed by Dan Bernstein.

REGRESSION (r52449): SVG mask wrongly clipped when not at origin for recent nightly build
https://bugs.webkit.org/show_bug.cgi?id=33782

Test: svg/custom/transformedMaskFails.svg

When computing the bounds for elements in a mask, we iterate through
all of our children requesting their repaint bounds using
repaintRectInLocalCoordinates(), but we were not converting that
rect into our own coordinate system, thus leading to an incorrect
repaint rect. This patch simply adds the missing localToParent
transform.

  • svg/SVGMaskElement.cpp: (WebCore::SVGMaskElement::drawMaskerContent):
19:28 Changeset [53387] by eric@webkit.org
  • 3 edits in trunk/WebKitTools

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

Reviewed by Darin Adler.

style-queue complains about one-line macros that include multiple statements
https://bugs.webkit.org/show_bug.cgi?id=33173

Add an exception for multiple statements on a line that starts a macro.

  • Scripts/webkitpy/style/cpp_style.py:
  • Scripts/webkitpy/style/cpp_style_unittest.py:
19:11 Changeset [53386] by eric@webkit.org
  • 3 edits in trunk/WebKitTools

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

Reviewed by Darin Adler.

[check-webkit-style] qt unit testing false positives
https://bugs.webkit.org/show_bug.cgi?id=32833

Exempt the Qt API and unit tests from the style checker.

  • Scripts/webkitpy/style/cpp_style.py:
  • Scripts/webkitpy/style/cpp_style_unittest.py:
18:58 Changeset [53385] by mitz@apple.com
  • 91 edits in trunk/LayoutTests/platform

Set the svn:mime-type property of recently-added PNG files to image/png.

18:47 Changeset [53384] by mjs@apple.com
  • 2 edits in trunk/WebCore

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

Reviewed by Dan Bernstein.

Avoid slow access to AX objects on attribute access when AX is off
https://bugs.webkit.org/show_bug.cgi?id=33779

~4% Dromaeo attributes test speedup

  • dom/Element.cpp: (WebCore::Element::updateAfterAttributeChanged): Don't do expensive lookup of AX object cache unless accessibility is on and an AX-related attribute is changed.
18:39 Changeset [53383] by eric@webkit.org
  • 3 edits in trunk/WebKitTools

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

Reviewed by Darin Adler.

style-check script reports loads of errors on gtk2drawing.c
https://bugs.webkit.org/show_bug.cgi?id=33771

Exempt WebCore/platform/gtk/gtk2drawing.c and
WebCore/platform/gtk/gtk2drawing.h from style checks.

  • Scripts/webkitpy/style/cpp_style.py:
  • Scripts/webkitpy/style/cpp_style_unittest.py:
18:22 Changeset [53382] by eric@webkit.org
  • 4 edits in trunk/WebKitTools

2010-01-17 Chris Jerdonek <cjerdonek@webkit.org>

Reviewed by Shinichiro Hamaji.

Finished eliminating _cpp_style_state global state variable from
check-webkit-style code and eliminating _CppStyleState class.

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

  • Scripts/webkitpy/style/checker.py:
    • Minor updates caused by changes to cpp_style.py.
  • Scripts/webkitpy/style/cpp_style.py:
    • Removed _CppStyleState class.
    • Removed verbose_level functions.
    • Added verbosity as a parameter to _FunctionState constructor.
    • Added verbosity as a parameter to process_file().
    • Added verbosity as a parameter to process_file_data().
  • Scripts/webkitpy/style/cpp_style_unittest.py:
    • Added helper functions to set verbosity while running tests.
18:06 Changeset [53381] by eric@webkit.org
  • 3 edits in trunk/WebKitTools

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

Reviewed by Shinichiro Hamaji.

check-webkit-style underscore check should be disabled for Qt methods starting with qt_
https://bugs.webkit.org/show_bug.cgi?id=33663

  • Scripts/webkitpy/style/cpp_style.py:
  • Scripts/webkitpy/style/cpp_style_unittest.py:
17:49 Changeset [53380] by eric@webkit.org
  • 3 edits in trunk/WebKitTools

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

Reviewed by Eric Seidel.

style-queue complains about missing #include of config.h for non-WebCore projects
https://bugs.webkit.org/show_bug.cgi?id=33170

WebKitAPITests are consumers of the WebKit API and therefore do not
need to follow the same include discipline as the rest of WebKit. This
patch exempts them from the include checks.

  • Scripts/webkitpy/style/cpp_style.py:
  • Scripts/webkitpy/style/cpp_style_unittest.py:
17:33 Changeset [53379] by eric@webkit.org
  • 2 edits in trunk/WebKitTools

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

Reviewed by Eric Seidel.

EWS (Early Warning Systems) should build both debug and release
https://bugs.webkit.org/show_bug.cgi?id=33681

Build both debug and release for chromium-ews.

  • Scripts/webkitpy/commands/early_warning_system.py:
16:36 Changeset [53378] by eric@webkit.org
  • 2 edits in trunk/WebKitTools

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

Reviewed by Darin Adler.

style-queue should include instructions for how to file bugs against check-webkit-style
https://bugs.webkit.org/show_bug.cgi?id=32345

Added some text to the error message asking folks to file bugs against
false positives.

  • Scripts/webkitpy/commands/queues.py:
16:31 Changeset [53377] by mrowe@apple.com
  • 4 edits in tags/Safari-6531.21.11/WebKit

Merge r53195.

16:31 Changeset [53376] by mrowe@apple.com
  • 4 edits in tags/Safari-6531.21.11

Versioning.

16:29 Changeset [53375] by mrowe@apple.com
  • 1 copy in tags/Safari-6531.21.11

New tag.

16:04 Changeset [53374] by eric@webkit.org
  • 6 edits in trunk/WebKitTools

2010-01-17 Chris Jerdonek <cjerdonek@webkit.org>

Reviewed by Adam Barth.

Eliminated the error_count global variable and related
check-webkit-style refactoring.

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

  • Scripts/check-webkit-style:
    • Updated to use webkit_argument_defaults().
    • Renamed styleChecker to style_checker.
  • Scripts/webkitpy/style/checker.py:
    • Prefixed the three default arguments with WEBKIT_DEFAULT.
    • Added webkit_argument_defaults().
    • Added default filter_rules parameter to CategoryFilter constructor.
    • Added ne() to CategoryFilter class.
    • Added eq() and ne() to ProcessorOptions class.
    • Added error_count and _write_error attributes to StyleChecker class.
    • Made StyleChecker._handle_error() increment the error count.
  • Scripts/webkitpy/style/checker_unittest.py:
    • Improved CategoryFilterTest.test_eq().
    • Added CategoryFilterTest.test_ne().
    • Added test_eq() and test_ne() to ProcessorOptionsTest class.
    • Updated unit tests to use webkit_argument_defaults().
    • Added StyleCheckerTest class.
  • Scripts/webkitpy/style/cpp_style.py:
    • Removed references to global error_count.
  • Scripts/webkitpy/style/cpp_style_unittest.py:
    • Removed CppStyleStateTest class.
15:39 Changeset [53373] by kevino@webkit.org
  • 2 edits in trunk/WebCore

Reviewed by Kevin Ollivier.

[wx] On Win and GTK, we need to manually apply the transforms when falling back
to GDI / GDK drawing, but this is not needed on Mac since we always use CG there.

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

09:54 Changeset [53372] by eric@webkit.org
  • 5 edits in trunk/WebCore

2010-01-17 Martin Robinson <martin.james.robinson@gmail.com>

Reviewed by Gustavo Noronha Silva.

[GTK] GtkWebKit incompatible with rgba colormaps
https://bugs.webkit.org/show_bug.cgi?id=20736

Fix GTK theme rendering onto drawables with RGBA colormaps. Now
each type of colormap has its own collection of GtkWidgets.

This fix does not introduce any functionality changes, so does not
includes new tests.

  • platform/gtk/RenderThemeGtk.cpp: (WebCore::RenderThemeGtk::RenderThemeGtk): (WebCore::RenderThemeGtk::~RenderThemeGtk): (WebCore::RenderThemeGtk::partsForDrawable): (WebCore::adjustMozillaStyle): (WebCore::setMozillaState): (WebCore::paintMozillaGtkWidget): (WebCore::setToggleSize): (WebCore::RenderThemeGtk::setCheckboxSize): (WebCore::RenderThemeGtk::paintCheckbox): (WebCore::RenderThemeGtk::setRadioSize): (WebCore::RenderThemeGtk::paintRadio): (WebCore::RenderThemeGtk::paintButton): (WebCore::RenderThemeGtk::adjustMenuListStyle): (WebCore::RenderThemeGtk::paintMenuList): (WebCore::RenderThemeGtk::adjustTextFieldStyle): (WebCore::RenderThemeGtk::paintTextField): (WebCore::RenderThemeGtk::paintSearchFieldResultsButton): (WebCore::RenderThemeGtk::paintSearchFieldResultsDecoration): (WebCore::RenderThemeGtk::paintSearchFieldCancelButton):
  • platform/gtk/RenderThemeGtk.h:
  • platform/gtk/gtk2drawing.c: (moz_gtk_use_theme_parts): (ensure_window_widget): (setup_widget_prototype): (ensure_button_widget): (ensure_hpaned_widget): (ensure_vpaned_widget): (ensure_toggle_button_widget): (ensure_button_arrow_widget): (ensure_checkbox_widget): (ensure_radiobutton_widget): (ensure_scrollbar_widget): (ensure_spin_widget): (ensure_scale_widget): (ensure_entry_widget): (moz_gtk_get_combo_box_inner_button): (moz_gtk_get_combo_box_button_inner_widgets): (ensure_combo_box_widgets): (moz_gtk_get_combo_box_entry_inner_widgets): (moz_gtk_get_combo_box_entry_arrow): (ensure_combo_box_entry_widgets): (ensure_handlebox_widget): (ensure_toolbar_widget): (ensure_toolbar_separator_widget): (ensure_tooltip_widget): (ensure_tab_widget): (ensure_progress_widget): (ensure_statusbar_widget): (ensure_frame_widget): (ensure_menu_bar_widget): (ensure_menu_bar_item_widget): (ensure_menu_popup_widget): (ensure_menu_item_widget): (ensure_image_menu_item_widget): (ensure_menu_separator_widget): (ensure_check_menu_item_widget): (ensure_tree_view_widget): (ensure_tree_header_cell_widget): (ensure_expander_widget): (ensure_scrolled_window_widget): (moz_gtk_checkbox_get_metrics): (moz_gtk_radio_get_metrics): (moz_gtk_splitter_get_metrics): (moz_gtk_toggle_paint): (moz_gtk_scrollbar_button_paint): (moz_gtk_scrollbar_trough_paint): (moz_gtk_scrollbar_thumb_paint): (moz_gtk_spin_paint): (moz_gtk_spin_updown_paint): (moz_gtk_scale_paint): (moz_gtk_scale_thumb_paint): (moz_gtk_gripper_paint): (moz_gtk_hpaned_paint): (moz_gtk_vpaned_paint): (moz_gtk_caret_paint): (moz_gtk_treeview_paint): (moz_gtk_tree_header_cell_paint): (moz_gtk_tree_header_sort_arrow_paint): (moz_gtk_treeview_expander_paint): (moz_gtk_expander_paint): (moz_gtk_combo_box_paint): (moz_gtk_downarrow_paint): (moz_gtk_combo_box_entry_button_paint): (moz_gtk_container_paint): (moz_gtk_toggle_label_paint): (moz_gtk_toolbar_paint): (moz_gtk_toolbar_separator_paint): (moz_gtk_tooltip_paint): (moz_gtk_resizer_paint): (moz_gtk_frame_paint): (moz_gtk_progressbar_paint): (moz_gtk_progress_chunk_paint): (moz_gtk_get_tab_thickness): (moz_gtk_tab_paint): (moz_gtk_tabpanels_paint): (moz_gtk_tab_scroll_arrow_paint): (moz_gtk_menu_bar_paint): (moz_gtk_menu_popup_paint): (moz_gtk_menu_separator_paint): (moz_gtk_menu_item_paint): (moz_gtk_menu_arrow_paint): (moz_gtk_check_menu_item_paint): (moz_gtk_window_paint): (moz_gtk_get_widget_border): (moz_gtk_get_combo_box_entry_button_size): (moz_gtk_get_tab_scroll_arrow_size): (moz_gtk_get_downarrow_size): (moz_gtk_get_toolbar_separator_width): (moz_gtk_get_expander_size): (moz_gtk_get_treeview_expander_size): (moz_gtk_get_menu_separator_height): (moz_gtk_get_scalethumb_metrics): (moz_gtk_get_scrollbar_metrics): (moz_gtk_images_in_menus): (moz_gtk_widget_paint): (moz_gtk_get_scrollbar_widget): (moz_gtk_shutdown): (moz_gtk_destroy_theme_parts_widgets):
  • platform/gtk/gtkdrawing.h:
Note: See TracTimeline for information about the timeline view.