Timeline



Jan 24, 2010:

11:04 PM Changeset in webkit [53793] by rolandsteiner@chromium.org
  • 17 edits in trunk/LayoutTests

build fix: rubber-stamped by Eric Seidel.

Fix expected baselines for ruby layout tests on Windows.

  • platform/win/fast/ruby/ruby-empty-rt-expected.txt:
  • platform/win/fast/ruby/ruby-length-expected.txt:
  • platform/win/fast/ruby/ruby-run-break-expected.txt:
  • platform/win/fast/ruby/ruby-runs-expected.txt:
  • platform/win/fast/ruby/ruby-runs-spans-expected.txt:
  • platform/win/fast/ruby/ruby-simple-expected.txt:
  • platform/win/fast/ruby/ruby-simple-rp-expected.txt:
  • platform/win/fast/ruby/ruby-trailing-expected.txt:
  • platform/win/fast/ruby/rubyDOM-insert-rt-expected.txt:
  • platform/win/fast/ruby/rubyDOM-insert-text1-expected.txt:
  • platform/win/fast/ruby/rubyDOM-insert-text2-expected.txt:
  • platform/win/fast/ruby/rubyDOM-insert-text3-expected.txt:
  • platform/win/fast/ruby/rubyDOM-remove-rt1-expected.txt:
  • platform/win/fast/ruby/rubyDOM-remove-rt2-expected.txt:
  • platform/win/fast/ruby/rubyDOM-remove-text1-expected.txt:
  • platform/win/fast/ruby/rubyDOM-remove-text2-expected.txt:
10:21 PM Changeset in webkit [53792] by eric.carlson@apple.com
  • 3 edits
    2 adds in trunk

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

Reviewed by Dan Bernstein.

Media element duration changes to zero after playing in reverse
https://bugs.webkit.org/show_bug.cgi?id=34041

Test: media/video-reverse-play-duration.html

  • platform/graphics/mac/MediaPlayerPrivateQTKit.mm: (WebCore::MediaPlayerPrivate::didEnd): QTKit's ended notification fires at time zero when playing in reverse, so don't reset duration in that case.

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

Reviewed by Dan Bernstein.

Media element duration changes to zero after playing in reverse
https://bugs.webkit.org/show_bug.cgi?id=34041

  • media/video-reverse-play-duration-expected.txt: Added.
  • media/video-reverse-play-duration.html: Added.
10:05 PM WebKit Team edited by abarth@webkit.org
(diff)
10:00 PM WebKit Team edited by abarth@webkit.org
(diff)
9:55 PM WebKit Team edited by abarth@webkit.org
(diff)
9:50 PM Changeset in webkit [53791] by rolandsteiner@chromium.org
  • 2 edits in trunk/LayoutTests

Bug 28420 - Re-enable ruby Windows layout tests
(https://bugs.webkit.org/show_bug.cgi?id=28420, patch 5b)

Reviewed by Maciej Stachowiak.

After creating new Latin-character-only layout tests for ruby
(https://bugs.webkit.org/show_bug.cgi?id=31865) and resolving the issue
that caused layout tests to fail then due to the addition of the ruby
layout tests (cf. https://bugs.webkit.org/show_bug.cgi?id=31200, problem
not actually caused by ruby), the ruby layout tests should als be
un-skipped for the Windows platform.

  • platform/win/Skipped:
9:50 PM WebKit Team edited by abarth@webkit.org
(diff)
9:43 PM WebKit Team edited by abarth@webkit.org
(diff)
9:31 PM WebKit Team edited by abarth@webkit.org
(diff)
9:25 PM WebKit Team edited by abarth@webkit.org
(diff)
9:17 PM WebKit Team edited by abarth@webkit.org
(diff)
8:11 PM Changeset in webkit [53790] by mjs@apple.com
  • 3 edits
    2 adds in trunk

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

Reviewed by Dan Bernstein.

Content with heavily nested residual style is so slow, it seems like a hang
https://bugs.webkit.org/show_bug.cgi?id=34059
<rdar://problem/7292906>


Test cast: fast/parser/residual-style-hang.html

  • html/HTMLParser.cpp: (WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks): Limit the number of iterations of the main loop to 5.


The reason this limit is necessary is that otherwise, N misnested open tags followed
by N misnested close tags will cause O(N2) of work due to cloning and attaching subtrees;
at a fixed limit, the cost is at worst O(N).


The code that was in the loop originally ran exactly once - the loop was added in
r21472 to fix <https://bugs.webkit.org/show_bug.cgi?id=13603>. I have verified that
with the iteration limit, the bug is still fixed, both with the original test case
and with the layout tests tht were added.

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

Reviewed by Dan Bernstein.

Content with heavily nested residual style is so slow, it seems like a hang
https://bugs.webkit.org/show_bug.cgi?id=34059
<rdar://problem/7292906>

Test case for the above bug fix.

  • fast/parser/residual-style-hang-expected.txt: Added.
  • fast/parser/residual-style-hang.html: Added.
7:53 PM Changeset in webkit [53789] by eric@webkit.org
  • 2 edits in trunk/JavaScriptCore

2010-01-24 Laszlo Gombos <Laszlo Gombos>

Reviewed by Maciej Stachowiak.

Refactor JITStubs.cpp so that DEFINE_STUB_FUNCTION is only used once for each function
https://bugs.webkit.org/show_bug.cgi?id=33866

Place the guard USE(JSVALUE32_64) inside the body of the DEFINE_STUB_FUNCTION
macro for those functions that are always present.

  • jit/JITStubs.cpp: (JSC::DEFINE_STUB_FUNCTION):
7:26 PM Changeset in webkit [53788] by eric@webkit.org
  • 2 edits
    2 adds
    3 deletes in trunk/LayoutTests

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

Reviewed by Darin Adler.

Improve portability of listbox-selection-2.html
https://bugs.webkit.org/show_bug.cgi?id=33994

  • Convert to dumpAsText().
  • Determine the height of an item at runtime
  • fast/forms/listbox-selection-2-expected.txt: Added.
  • fast/forms/listbox-selection-2.html:
  • fast/forms/script-tests/listbox-selection-2.js
  • platform/mac/fast/forms/listbox-selection-2-expected.checksum: Removed.
  • platform/mac/fast/forms/listbox-selection-2-expected.png: Removed.
  • platform/mac/fast/forms/listbox-selection-2-expected.txt: Removed.
6:15 PM Changeset in webkit [53787] by tkent@chromium.org
  • 7 edits in trunk

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

Reviewed by Darin Adler.

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

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

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

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

Reviewed by Darin Adler.

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

Introduce ISODateTime::setMillisecondsSinceEpochForWeek() and add
Week type support to ISODateTime::toString().

  • html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::valueAsDate): Avoid default:. (WebCore::HTMLInputElement::setValueAsDate): Add WEEK type handling and avoid default:.
  • html/ISODateTime.cpp: (WebCore::offsetTo1stWeekStart): (WebCore::ISODateTime::setMillisecondsSinceEpochForWeek): (WebCore::ISODateTime::millisecondsSinceEpoch): (WebCore::ISODateTime::toString): Add Week type support and avoid default:.
  • html/ISODateTime.h:
4:41 PM WebKit Team edited by ddkilzer@webkit.org
(diff)
4:15 PM WebKit Team edited by Michelangelo De Simone
(diff)
2:54 PM Changeset in webkit [53786] by eric.carlson@apple.com
  • 2 edits in trunk/LayoutTests

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

No review, build fix.

Only log the first 'timeupdate' event from audio-delete-while-slider-thumb-clicked.html
as the number fired can vary according to how long it takes to run the test.

  • media/audio-delete-while-slider-thumb-clicked.html:
2:54 PM Changeset in webkit [53785] by oliver@apple.com
  • 6 edits in trunk/WebCore

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

Reviewed by Darin Adler.

Object Serialization assumes deserialization will always occur in the context of a webpage
https://bugs.webkit.org/show_bug.cgi?id=34056
rdar://7573833

Added ClassInfo to JSDOMGlobalObject and make the window and worker class info
inherit from it. With this in place we're able to determine whether a given
global object is a DOMGlobalObject, and then use that information to avoid
attempting to deserialize types that require the presence of the DOM.

No test as all global objects in webkit inherit from JSDOMGlobalObject.

  • bindings/js/JSDOMGlobalObject.cpp: (WebCore::):
  • bindings/js/JSDOMGlobalObject.h: (WebCore::JSDOMGlobalObject::classInfo):
  • bindings/js/JSDOMWindowBase.cpp: (WebCore::):
  • bindings/js/JSWorkerContextBase.cpp: (WebCore::):
  • bindings/js/SerializedScriptValue.cpp: (WebCore::DeserializingTreeWalker::DeserializingTreeWalker): (WebCore::DeserializingTreeWalker::convertIfTerminal):
2:30 PM Changeset in webkit [53784] by eric@webkit.org
  • 2 edits in trunk/LayoutTests

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

No review.

Middle clicking the primary scroll bars on Chromium Linux triggers a paste event
https://bugs.webkit.org/show_bug.cgi?id=33062

  • platform/gtk/Skipped:
    • This new test fails on Gtk for unknown reasons.
    • Skipping for now to make the bots green, until a Gtk person can look.
2:15 PM Changeset in webkit [53783] by eric@webkit.org
  • 3 edits in trunk/WebKitTools

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

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

Broke 20+ tests on Windows.

  • Scripts/run-webkit-tests:
  • Scripts/webkitdirs.pm:
2:05 PM WebKit Team edited by jpetsovits@rim.com
(diff)
1:05 PM Changeset in webkit [53782] by Chris Jerdonek
  • 3 edits in trunk/WebKitSite

Added to contributing code page a pointer to the preferred
license text. Also added information about copyright lines.

Reviewed by David Kilzer.

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

  • coding/contributing.html:
  • css/main.css:
    • Added CSS class for books.
11:42 AM Changeset in webkit [53781] by Simon Fraser
  • 4 edits in trunk/LayoutTests

2010-01-24 Simon Fraser <Simon Fraser>

No review.

Fix incorrect layout test that I checked in earlier.

  • platform/mac/compositing/reflections/load-video-in-reflection-expected.checksum:
  • platform/mac/compositing/reflections/load-video-in-reflection-expected.png:
  • platform/mac/compositing/reflections/load-video-in-reflection-expected.txt:
10:22 AM Changeset in webkit [53780] by eric.carlson@apple.com
  • 3 edits
    2 adds in trunk

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

Reviewed by Simon Fraser.

https://bugs.webkit.org/show_bug.cgi?id=34047
<rdar://problem/7573699>
Media element "endedPlayback" logic doesn't match spec

Test: media/video-timeupdate-reverse-play.html

  • html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::ended): The 'ended' attribute should only be true when playback rate is positive. (WebCore::HTMLMediaElement::mediaPlayerTimeChanged): Always schedule a 'timeupdate' event when the media engine signals a time discontinuity, scheduleTimeupdateEvent will only queue an event if one hasn't already been posted for the current movie time. (WebCore::HTMLMediaElement::endedPlayback): Update to match the spec logic.

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

Reviewed by Simon Fraser.

https://bugs.webkit.org/show_bug.cgi?id=34047
<rdar://problem/7573699>
Media element "endedPlayback" logic doesn't match spec

  • media/video-timeupdate-reverse-play-expected.txt: Added.
  • media/video-timeupdate-reverse-play.html: Added.
9:47 AM Changeset in webkit [53779] by Simon Fraser
  • 4 edits
    4 adds in trunk

2010-01-23 Simon Fraser <Simon Fraser>

Reviewed by Darin Adler.

Video that loads inside reflection doesn't get reflected
https://bugs.webkit.org/show_bug.cgi?id=34046

ensureCloneLayers() made an incorrect assumption that if a clone of the primaryLayer
exists already, then the structural layer and content layer can just be returned.
However, this doesn't account for the situation where a content layer may have
been create after the clone tree was last updated.

Fix by always creating the structural and clone layers on demand.

Test: compositing/reflections/load-video-in-reflection.html

  • platform/graphics/mac/GraphicsLayerCA.h: Added utility method, findOrMakeClone().
  • platform/graphics/mac/GraphicsLayerCA.mm: (WebCore::GraphicsLayerCA::findOrMakeClone): Utility that efficiently finds or creates a layer in a LayerMap. (WebCore::GraphicsLayerCA::ensureCloneLayers): Always look for or clone the structural and content layers, rather than relying on whether there's a primary layer clone already.
4:25 AM Changeset in webkit [53778] by abarth@webkit.org
  • 2 edits in trunk/WebKitTools

Rubber stamped by Eric Seidel.

More pep8 compliance.

  • Scripts/webkitpy/mock_bugzillatool.py:
4:16 AM Changeset in webkit [53777] by abarth@webkit.org
  • 3 edits in trunk/WebKitTools

Rubber stamped by Eric Seidel.

More pep8 compliance.

  • Scripts/webkitpy/executive.py:
  • Scripts/webkitpy/grammar.py:
3:57 AM Changeset in webkit [53776] by abarth@webkit.org
  • 4 edits in trunk/WebKitTools

Rubber stamped by Eric Seidel.

More pep8 compliance.

  • Scripts/webkitpy/comments.py:
  • Scripts/webkitpy/committers.py:
  • Scripts/webkitpy/credentials.py:
3:48 AM Changeset in webkit [53775] by abarth@webkit.org
  • 2 edits in trunk/WebKitTools

Rubber stamped by Eric Seidel.

Make changelogs.py pass pep8.

  • Scripts/webkitpy/changelogs.py:

Jan 23, 2010:

11:44 PM Changeset in webkit [53774] by oliver@apple.com
  • 6 edits in trunk

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

Reviewed by Maciej Stachowiak.

Implement support for FileList cloning in postMessage
https://bugs.webkit.org/show_bug.cgi?id=34048

Add test for passing a FileList through postMessage, and
correct testing already present to test what it was meant
to be.

  • fast/dom/Window/window-postmessage-clone-expected.txt:
  • fast/dom/Window/window-postmessage-clone.html:

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

Reviewed by Maciej Stachowiak.

Implement support for FileList cloning in postMessage
https://bugs.webkit.org/show_bug.cgi?id=34048

Support passing FileList through postMessage APIs. Basically
mechanical task in line with other terminals in the object
graph.

  • bindings/js/SerializedScriptValue.cpp: (WebCore::SerializedFileList::create): (WebCore::SerializedFileList::length): (WebCore::SerializedFileList::item): (WebCore::SerializedFileList::SerializedFileList): (WebCore::SerializedScriptValueData::SerializedScriptValueData): (WebCore::SharedSerializedData::asFileList): (WebCore::SerializingTreeWalker::convertIfTerminal): (WebCore::DeserializingTreeWalker::convertIfTerminal): (WebCore::TeardownTreeWalker::convertIfTerminal):

Rearrange these functions to not use 'default:' handling
so that the compiler will actually tell us when we're
not handling cases.

  • bindings/js/SerializedScriptValue.h: (WebCore::SerializedScriptValueData::): (WebCore::SerializedScriptValueData::asFileList):
5:50 PM Changeset in webkit [53773] by mitz@apple.com
  • 3 edits
    1 delete in trunk

<rdar://problem/7569820> svg/custom/text-zoom.xhtml fails on Windows
https://bugs.webkit.org/show_bug.cgi?id=34006

Reviewed by Maciej Stachowiak.

WebKit/win:

  • WebPreferences.cpp:

(WebPreferences::initializeDefaultSettings): Added WebKitZoomsTextOnlyPreferenceKey
with a default value of true.

LayoutTests:

  • platform/win/svg/custom/text-zoom-expected.txt: Removed.
1:53 PM Changeset in webkit [53772] by kenneth@webkit.org
  • 3 edits in trunk/WebKitTools

[Qt] Unreviewed build fix

  • QtLauncher/QtLauncher.pro:
  • QtLauncher/webinspector.h:
1:40 PM Changeset in webkit [53771] by kenneth@webkit.org
  • 2 edits
    1 add in trunk/WebKitTools

Rubberstamped by Simon Hausmann.

[Qt] Move the WebInspector class to it's own header file.

  • QtLauncher/main.cpp:
  • QtLauncher/webinspector.h: Added.

(WebInspector::WebInspector):
(WebInspector::showEvent):
(WebInspector::hideEvent):

8:54 AM Changeset in webkit [53770] by eric@webkit.org
  • 6 edits in trunk

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

Reviewed by Kenneth Rohde Christiansen.

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-23 Robert Hogan <robert@roberthogan.net>

Reviewed by Kenneth Rohde Christiansen.

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):
8:37 AM Changeset in webkit [53769] by eric@webkit.org
  • 3 edits in trunk/WebKit/qt

2010-01-23 Girish Ramakrishnan <Girish Ramakrishnan>

Reviewed by Kenneth Rohde Christiansen.

[Qt] Fix positioning of ComboBox popup in QGraphicsWebView.

Wrap the popup in a QGraphicsProxyWidget, so that the popup
transforms with the item.

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

  • WebCoreSupport/QtFallbackWebPopup.cpp: (WebCore::QtFallbackWebPopupCombo::hidePopup): (WebCore::QtFallbackWebPopup::QtFallbackWebPopup): (WebCore::QtFallbackWebPopup::~QtFallbackWebPopup): (WebCore::QtFallbackWebPopup::show):
  • WebCoreSupport/QtFallbackWebPopup.h:
8:08 AM Changeset in webkit [53768] by Simon Fraser
  • 3 edits in trunk/WebCore

2010-01-22 Simon Fraser <Simon Fraser>

Reviewed by Eric Carlson.

Race condition in video setup can force videos into software mode
https://bugs.webkit.org/show_bug.cgi?id=34034

We used to call setUpVideoRendering() unconditionally from
acceleratedRenderingStateChanged(); this could happen before the movie had any
data, and thus force the movie into software rendering mode.

Fix by returning early from setUpVideoRendering() if isReadyForRendering() returns false,
which also allows us to remove some other checks for being ready to render.

Timing dependent, hard to make a test for.

  • platform/graphics/mac/GraphicsLayerCA.mm: (WebCore::GraphicsLayerCA::setContentsToMedia): Optimize to do an early return if passing in the same layer that is already being used.
  • platform/graphics/mac/MediaPlayerPrivateQTKit.mm: (WebCore::MediaPlayerPrivate::setUpVideoRendering): Return without doing anything if not ready to render. (WebCore::MediaPlayerPrivate::updateStates): No need to call isReadyForRendering() any more, since setUpVideoRendering() does that. (WebCore::MediaPlayerPrivate::setVisible): No need to check the ready state; this is equivalent to the check inside of setUpVideoRendering().
3:43 AM Changeset in webkit [53767] by yurys@chromium.org
  • 2 edits in trunk/LayoutTests

2010-01-23 Yury Semikhatsky <yurys@chromium.org>

Unreviewed. Add new inspector test added in r53766 to skipi
list on qt platform.

  • platform/qt/Skipped:
2:13 AM Changeset in webkit [53766] by yurys@chromium.org
  • 44 edits
    2 adds in trunk

2010-01-23 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::globalState):
  • 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/ScriptCallStack.h: (WebCore::ScriptCallStack::globalState):
  • 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-23 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:
1:51 AM Changeset in webkit [53765] by mitz@apple.com
  • 2 edits in trunk/WebKitTools

Added a user default for specifying a fallback frameworks path in case
the bundle does not contain frameworks for the current Mac OS X version.

Reviewed by Mark Rowe.

  • WebKitLauncher/main.m:

(fallbackMacOSXVersion): Added. Looks up the fallback version in a dictionary
keyed by the FallbackSystemVersions user default and returns it.
(main): If a frameworks directory for the current system version is not found,
try the fallback.

Jan 22, 2010:

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

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

Reviewed by David Hyatt.

Updated tests due to stylesheet changes.

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

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

Reviewed by David Hyatt.

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

Added support for text elements and updated tag and attribute names

Also, updated the stylesheet added files to the project

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

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

Reviewed by Simon Hausmann.

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

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

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

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

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

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

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

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

Reviewed by David Levin.

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

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

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

Reviewed by Alexey Proskuryakov.

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

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

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

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

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

Reviewed by Alexey Proskuryakov.

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

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

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

Tests: fast/forms/HTMLOptionElement_selected2.html

fast/forms/HTMLOptionElement_selected3.html

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

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

Reviewed by Eric Seidel.

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

V8 code generator does not have associated tests

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

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

Reviewed by David Levin.

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

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

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

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

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

Reviewed by David Levin.

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

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

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

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

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

Reviewed by David Levin.

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

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

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

Reviewed by David Levin.

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

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

Reviewed by Kevin Ollivier.

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

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

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

Build fix after r53718.

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

Update platform-specific test results following r53722

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

LayoutTests

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

Reviewed by Simon Fraser.

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

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

WebKitTools

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

Reviewed by Simon Fraser.

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

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

Roll out r53752 to fix bots.

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

Rubber-stamped by Cameron Zwarich.

Re-enable Geolocation tests on Mac.

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

Mac build fix.

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

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

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

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

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

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

Reviewed by Darin Adler.

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

Not reviewed. backout.

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

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

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

Reviewed by Darin Adler.

JavaScriptCore:

  • Configurations/FeatureDefines.xcconfig:

WebCore:

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

WebKit/mac:

  • Configurations/FeatureDefines.xcconfig:

WebKitLibraries:

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

WebKitTools:

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

2010-01-22 Simon Fraser <Simon Fraser>

No review.

Commit missing test result.

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

Fix tests, unreviewed. Adding expectations file missing from r53739

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

Build fix. Add missing comma.

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

2010-01-22 Simon Fraser <Simon Fraser>

Reviewed by Dan Bernstein.

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

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

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

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

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

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

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

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

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

Reviewed by Darin Adler.

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

Moved Geolocation property testing here.

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

2010-01-22 Simon Fraser <Simon Fraser>

Reviewed by Dan Bernstein.

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

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

Test: fast/dom/Window/webkitConvertPointUpdateLayout.html

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

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

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

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

Reviewed by Adam Roben.

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

No tests since this is a performance change.

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

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

Reviewed by Pavel Feldman.

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

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

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

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

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

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

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

Rubber stamped by Eric Seidel.

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

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

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

Reviewed by Adam Barth.

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

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

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

No review. Updated Qt layout tests due to r53722.

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

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

Unreviewed. Don't call seek on a NoneType.

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

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

Reviewed by David Levin.

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

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

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

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

Reviewed by Eric Seidel.

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

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

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

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

Reviewed by Darin Adler.

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

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

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

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

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

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

Reviewed by Nikolas Zimmermann.

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

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

Reviewed by Simon Fraser.

Update r53711 for GraphicsLayer method rename.

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

Not reviewed, test fix.

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

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

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

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

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

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

Reviewed by Darin Adler.

  • page/DOMWindow.idl:

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

Reviewed by Darin Adler.

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

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

Reviewed by Adele Peterson.

  • WebView/WebFrame.mm:

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

out of underneath a WebFrame.

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

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

Reviewed by Darin Adler.

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

Rubber-stamped by Adam Roben.

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

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

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

Reviewed by David Hyatt.

WebCore:

  • editing/EditorCommand.cpp:

(WebCore::verticalScrollDistance):

  • platform/ScrollView.cpp:

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

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

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

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::updateScrollInfoAfterLayout):

WebKit/mac:

  • WebView/WebFrameView.mm:

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

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

Not reviewed, attempted Snow Leopard build fix.

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

Not reviewed, backout.

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

WebCore:

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

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

  • platform/gtk/PopupMenuGtk.cpp:

(WebCore::PopupMenu::menuUnmapped):

  • platform/mac/PopupMenuMac.mm:

(WebCore::PopupMenu::show):

  • platform/qt/QtAbstractWebPopup.cpp:

(WebCore::QtAbstractWebPopup::popupDidHide):

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

(WebCore::PopupMenu::hide):

  • platform/wx/PopupMenuWx.cpp:

(WebCore::PopupMenu::OnMenuItemSelected):

  • rendering/RenderMenuList.cpp:

(WebCore::RenderMenuList::popupDidHide):

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

(WebCore::RenderTextControlSingleLine::popupDidHide):

  • rendering/RenderTextControlSingleLine.h:

WebKit/chromium:

  • src/AutocompletePopupMenuClient.cpp:

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

  • src/AutocompletePopupMenuClient.h:

WebKit/qt:

  • WebCoreSupport/QtFallbackWebPopup.cpp:

(WebCore::QtFallbackWebPopupCombo::hidePopup):

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

33791: Proposed patch 1 (amended with preferred license)

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

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

Reviewed by Maciej Stachowiak.

JavaScriptCore:

Test is added to DumpRenderTree.mm.

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

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

  • wtf/ThreadIdentifierDataPthreads.h: Added.

(WTF::ThreadIdentifierData::ThreadIdentifierData):

  • wtf/Threading.cpp:

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

sure it is invoked when ThreadIdentifier is already established.

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

(WTF::initializeCurrentThreadInternal): Ditto.

  • wtf/ThreadingWin.cpp:

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

  • wtf/gtk/ThreadingGtk.cpp:

(WTF::initializeCurrentThreadInternal): Ditto.

  • wtf/qt/ThreadingQt.cpp:

(WTF::initializeCurrentThreadInternal): Ditto.

  • wtf/ThreadingPthreads.cpp:

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

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

WebKitTools:

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

  • DumpRenderTree/mac/DumpRenderTree.mm:

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

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

Rubber-stamped by Darin Adler.

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

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

(WebCore::ScrollView::scrollContents):

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

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

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

Reviewed by Darin Adler.

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

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

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

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

Reviewed by Adam Roben.

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

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

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

is ready to draw.

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

only when movie is ready to render.

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

in accelerated mode.

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

rate drawing code to paintCompleted.

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

built with DRAW_FRAME_RATE, draw framerate.

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

repaint differently when drawing to a layer.

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

(render to a layer whenever possible).

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

and set up new mode when necessary.

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

is time to draw the current frame.

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

movie is not ready to render.

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

accelerated rendering state.

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

when it wants to schedule a redraw.

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

New, return information about the offscreen render buffer.

(QTMovieWin::initializeQuickTime):

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

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

Reviewed by Darin Fisher.

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

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

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

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

Reviewed by Darin Fisher.

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

This change is not visible to layoutTests/web pages.

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

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

Reviewed by Dan Bernstein.

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

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

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

Reviewed by Dan Bernstein.

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

  • page/Geolocation.cpp:

(WebCore::createGeoposition):

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

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

Reviewed by Adele Peterson.

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

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

Reviewed by Darin Adler.

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

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

This makes getOwnPropertyDescriptor() consistent with getOwnPropertyNames().

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

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

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

Reviewed by David Levin.

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

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

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

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

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

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

Rubber-stamped by Dan Bernstein.

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

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

Reviewed by Simon Hausmann.

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

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

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

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

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

Reviewed by Darin Adler.

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

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

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

Reviewed by Maciej Stachowiak.

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

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

Unreviewed Qt "build" fix.

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

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

Reviewed by Kenneth Rohde Christiansen.

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

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

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

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

Reviewed by Timothy Hatcher.

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

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

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

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

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

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

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

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

Reviewed by Eric Seidel.

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

Add the Android specific files and update the Android makefile.

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

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

Unreviewed trivial fix.

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

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

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

Reviewed by Kenneth Rohde Christiansen.

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

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

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

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

Reviewed by Maciej Stachowiak.

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

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

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

Reviewed by Maciej Stachowiak.

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

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

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

Reviewed by Maciej Stachowiak.

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

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

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

Reviewed by Eric Seidel.

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

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

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

emikhatsky <yurys@chromium.org>

Reviewed by Pavel Feldman.

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

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

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

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

Reviewed by Dmitry Titov.

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

Add missing ENABLE(DATABASE) guard.

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

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

Rubberstamped by Antti Koivisto.

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

(WebView::mousePressEvent):

  • QtLauncher/webpage.cpp: Added.

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

  • QtLauncher/webpage.h: Added.

(WebPage::WebPage):

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

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

Reviewed by Gustavo Noronha.

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

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

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

Reviewed by Gustavo Noronha.

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

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

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

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

Reviewed by Darin Adler.

WebCore:

Test: svg/custom/text-zoom.xhtml

  • svg/SVGSVGElement.cpp:

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

  • svg/SVGSVGElement.h: Added m_scale member.

LayoutTests:

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

Jan 21, 2010:

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

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

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

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

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

Reviewed by Alexey Proskuryakov.

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

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

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

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

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

Reviewed by Eric Seidel.

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

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

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

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

Reviewed by Eric Seidel.

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

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

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

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

Reviewed by Darin Adler.

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

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

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

Reviewed by Darin Adler.

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

Test: editing/execCommand/change-font.html

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

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

Reviewed by David Levin.

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

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

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

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

Reviewed by Darin Fisher.

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

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

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

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

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

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

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

Reviewed by Maciej Stachowiak.

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

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

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

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

Reviewed by Shinichiro Hamaji.

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

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

2010-01-21 Chris Jerdonek <Chris Jerdonek>

Reviewed by Shinichiro Hamaji.

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

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

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

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

Reviewed by Darin Adler.

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

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

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

Reviewed by David Levin.

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

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

No new tests, just platform code.

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

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

Reviewed by Maciej Stachowiak.

JavaScriptCore:

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

WebCore:

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

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

  • loader/RedirectScheduler.cpp:

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

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

LayoutTests:

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

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

2010-01-21 Michael Nordman <Michael Nordman>

Reviewed by Darin Fisher.

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

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

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

Reviewed by Tor Arne Vestbø.

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

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

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

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

Reviewed by Darin Adler.

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

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

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

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

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

Reviewed by Darin Adler.

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

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

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

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

Reviewed by Sam Weinig.

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


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


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


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

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

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

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

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

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

Reviewed by David Kilzer.

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

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

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

Reviewed by Sam Weinig.

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

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

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

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

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

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

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

Reviewed by Darin Adler.

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

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

2010-01-21 Simon Fraser <Simon Fraser>

Reviewed by Dan Bernstein.

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

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

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

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

Rubber-stamped by Eric Seidel.

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

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

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

Reviewed by Eric Seidel.

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

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

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

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

Reviewed by Mark Rowe.

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

  • platform/cf/SharedBufferCF.cpp:

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

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

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

Reviewed by Darin Adler.

WebCore:

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

editing/pasteboard/paste-visible-script.html

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

  • dom/Element.cpp:

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

  • html/HTMLParser.cpp:

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

  • html/HTMLTokenizer.cpp:

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

  • html/HTMLTokenizer.h:

LayoutTests:

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

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

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

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

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

Reviewed by Oliver Hunt.

Always create a prototype for automatically managed classes.


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

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

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

Reviewed by Dirk Schulze.

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

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

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

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

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

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

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

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

Reviewed by Darin Adler.

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

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

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

Rubber-stamped by Adam Roben.

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

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

2010-01-21 Simon Fraser <Simon Fraser>

No review

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

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

Buildfix for r53646.

Reviewed by Dave Hyatt.

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

Unreviewed buildfix after r53644.

  • platform/Scrollbar.cpp:

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

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

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

Reviewed by David Levin.

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

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

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

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

[chromium] Unreviewed build fix.

Fix possible use of initialized variable warning in release mode.

  • bindings/v8/SerializedScriptValue.cpp:

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

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

[Qt] Unreviewed buildfix after r53644.

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

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

Reviewed by Oliver Hunt.

  • bindings/js/SerializedScriptValue.cpp:

(WebCore::SerializedScriptValueData::deserialize):

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

Build fix, add new file to AccessibilityAllInOne

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

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

Reviewed by Oliver Hunt.

New class AccessibilityScrollbar inherits directly from
AccessibilityObject.

  • accessibility/AccessibilityScrollbar.cpp: Added.

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

  • accessibility/AccessibilityScrollbar.h: Added.

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

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

  • accessibility/AXObjectCache.cpp:

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

  • accessibility/AXObjectCache.h:

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

  • platform/Scrollbar.cpp:

(WebCore::Scrollbar::scroll):

Fix project files.

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

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

Reviewed by Oliver Hunt.

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

2010-01-21 Simon Fraser <Simon Fraser>

No review

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

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

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

Reviewed by Geoff Garen.

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

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

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

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

No new tests - fixes database layout tests in Chromium.

WebCore:

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

WebKit/chromium:

  • src/WebRuntimeFeatures.cpp:

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

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

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

Reviewed by Oliver Hunt.

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

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

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

Reviewed by Oliver Hunt.

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

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

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

Reviewed by Adam Treat.

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

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

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

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

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

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

Reviewed by Geoffrey Garen.

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

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

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

2010-01-20 Simon Fraser <Simon Fraser>

Reviewed by Dave Hyatt.

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

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

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

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

Test: plugins/mouse-events-fixedpos.html

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

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

Reviewed by David Levin.

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

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

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

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

Reviewed by Kenneth Rohde Christiansen.

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

  • platform/qt/Skipped:

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

Reviewed by Kenneth Rohde Christiansen.

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

  • Api/qwebsecurityorigin.cpp: (qt_drt_setDomainRelaxationForbiddenForURLScheme):

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

Reviewed by Kenneth Rohde Christiansen.

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

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

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

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

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

No new tests, fixing the build.

  • bindings/v8/NPV8Object.cpp:

(_NPN_Evaluate):

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

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

Reviewed by David Levin.

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

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

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

[Qt] Unreviewed buildfix after r53625.

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

  • platform/qt/RenderThemeQt.cpp:

(WebCore::RenderThemeQt::paintMediaSliderTrack):

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

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

Rubber-stamped by Eric Carlson.

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

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

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

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

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

No new tests needed, functionality not changed.

  • bindings/v8/V8DOMWrapper.cpp:

(WebCore::V8DOMWrapper::getTemplate):

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

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

Reviewed by Darin Adler.

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


Test: media/adopt-node-crash.html

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

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

Reviewed by Darin Adler.

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

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

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

More Windows build fixing

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

event of all configurations, not just Debug.

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

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

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

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

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

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

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

Unreviewed build fix.

Copy BridgeJSC.h to generated headers on Windows

No new tests, build fix only.

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

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

Reviewed by Darin Adler.

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

No new tests, only dead code was removed.

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

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

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

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

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

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

Unreviewed speculative build fix for Windows.

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

No new tests, build fix only.

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

Unreviewed build fix.

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

No new tests, build fix only.

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

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

Reviewed by David Levin.

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

No new tests, refactoring only.

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

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

Reviewed by David Levin.

No new tests, style fixes only.

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

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

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

.:

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

on versions higher than 4.5

WebCore:

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

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

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

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

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

WebKit/qt:

Here we have the QGraphicsWebView support for accelerated compositing

  • Api/qgraphicswebview.cpp:

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

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

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

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

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

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

  • QGVLauncher/main.cpp:

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

  • WebCoreSupport/ChromeClientQt.cpp:

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

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

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

Reviewed by Oliver Hunt.

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

Media redirections support.

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

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

WebKitTools:

  • DumpRenderTree/qt/DumpRenderTreeQt.cpp:

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

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

(LayoutTestController::maybeDump):

LayoutTests:

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

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

Reviewed by Simon Hausmann.

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

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

This fixes the following tests:

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

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

  • platform/qt/Skipped:

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

Reviewed by Simon Hausmann.

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

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

This fixes the following tests:

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

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

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

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

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

Remove qWait() of the test when possible.

  • tests/qwebpage/tst_qwebpage.cpp:

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

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

Prospective build fix for the Qt build.

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

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

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

Reviewed by Eric Carlson.

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

Refactored the test to use the "seeked" event.

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

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

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

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

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

Tests are in WebKit/qt/tests/hybridPixmap

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

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

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

toHTMLImageElement, toDataURL, width, height

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

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

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

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

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

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

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

  • tests/hybridPixmap/widget.cpp: Added.

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

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

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

Reviewed by Kenneth Rohde Christiansen.

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

Optimization of the WebCore support to combobox popup delegate.

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

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

Reviewed by Kenneth Rohde Christiansen.

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

Adjusting QtFallbackWebPopupCombo to the changes in WebCore layer.

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

Jan 20, 2010:

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

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

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

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

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

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

Unreviewed. Fix incorrect close tags.

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

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

Reviewed by Darin Adler.

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

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

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

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

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

Reviewed by Darin Adler.

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

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

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

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

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

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

Unreviewed. Fix a FAIL test by a wrong input.

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

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

Reviewed by Eric Seidel.

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

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

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

Reviewed by Alexey Proskuryakov.

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

Remove the direct use of strdup.

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

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

Reviewed by Dan Bernstein.

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

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

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

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

Reviewed by David Levin.

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

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

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

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

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

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

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

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

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

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

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

Reviewed by David Levin.

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

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

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

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

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

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

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

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

Reviewed by Darin Adler.

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

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

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

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

Reviewed by Darin Adler.

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

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

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

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

Reviewed by Simon Hausmann.

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

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

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

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

Reviewed by Simon Hausmann.

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

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

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

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

2010-01-20 Michael Nordman <Michael Nordman>

Reviewed by Alexey Proskuryakov.

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

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

2010-01-20 Michael Nordman <Michael Nordman>

Reviewed by Alexey Proskuryakov.

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

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

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

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

Reviewed by Dmitry Titov.

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

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

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

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

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

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

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

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

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

Reviewed by Adam Barth.

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

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

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

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

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

Reviewed by Alexey Proskuryakov.

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

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

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

Reviewed by Alexey Proskuryakov.

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

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

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

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

Reviewed by Alexey Proskuryakov.

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

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

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

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

Reviewed by Tor Arne Vestbø.

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

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

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

Test: fast/css/button-height.html

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

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

Reviewed by Tor Arne Vestbø.

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


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

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

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

Reviewed by Sam Weinig.

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

  • loader/FrameLoader.cpp:

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

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

Reviewed by Sam Weinig.

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

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

Reviewed by Oliver Hunt.

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

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

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

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

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

Reviewed by Pavel Feldman.

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

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

Reviewed by Sam Weinig.

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

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

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

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

Reviewed by Pavel Feldman.

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

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

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

Updated uses of SerializedScriptValue:

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

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

Reviewed by Pavel Feldman.

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

Updated uses of SerializedScriptValue:

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

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

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

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

Build fix.

  • wtf/FastMalloc.cpp:

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

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

Add missing implementation for WebGeolocationPosition::initWithTimestamp.

Reviewed by Sam Weinig.

  • WebGeolocationPosition.cpp:

(WebGeolocationPosition::initWithTimestamp): Implemented.

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

Fix crash in geolocation when observers change during iteration.

Reviewed by Sam Weinig.

  • page/GeolocationController.cpp:

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

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

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

Reviewed by Sam Weinig.

  • plugins/PluginView.cpp:

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

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

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

Reviewed by Oliver Hunt.

  • wtf/TCSpinLock.h:

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

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

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

Reviewed by Oliver Hunt.

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

  • wtf/FastMalloc.cpp:

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

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

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

Reviewed by Maciej Stachowiak.

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

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

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

Reviewed by Dan Bernstein.

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

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

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

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

Rubber-stamped by Eric Seidel.

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

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

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

Reviewed by NOBODY.

Revert r53447, since this caused leaks.

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

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

  • platform/text/StringImpl.h:

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

  • storage/OriginUsageRecord.cpp:

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

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

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

Reviewed by Dmitry Titov.

WebCore:

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

(WebCore::JSXMLHttpRequest::send):

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

(WebCore::toInt64):

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

(WebCore::V8XMLHttpRequest::sendCallback):

  • html/File.cpp:

(WebCore::File::File):

  • html/File.h:

(WebCore::File::create):
(WebCore::File::name):
(WebCore::File::fileName):
(WebCore::File::fileSize):

  • html/File.idl:
  • xml/XMLHttpRequest.cpp:

(WebCore::XMLHttpRequest::send):

  • xml/XMLHttpRequest.h:

WebKit/mac:

  • MigrateHeaders.make:
3:49 PM Changeset in webkit [53573] by Chris Fleizach
  • 4 edits
    2 adds in trunk

WAI-ARIA popup buttons spoken as simply 'button'
https://bugs.webkit.org/show_bug.cgi?id=33922

Reviewed by Beth Dakin.

WebCore:

Test: platform/mac/accessibility/aria-popup.html

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::actionElement):
(WebCore::AccessibilityRenderObject::determineAriaRoleAttribute):

  • html/HTMLAttributeNames.in:

LayoutTests:

  • platform/mac/accessibility/aria-popup-expected.txt: Added.
  • platform/mac/accessibility/aria-popup.html: Added.
3:30 PM Changeset in webkit [53572] by ggaren@apple.com
  • 2 edits in trunk/JavaScriptCore

<rdar://problem/7562708> REGRESSION(53460): Heap::destroy may not run
all destructors

Reviewed by Oliver Hunt.

  • runtime/Collector.cpp:

(JSC::Heap::freeBlocks): Instead of fully marking protected objects,
just set their mark bits. This prevents protected objects from keeping
unprotected objects alive. Destructor order is not guaranteed, so it's
OK to destroy objects pointed to by protected objects before destroying
protected objects.

3:19 PM Changeset in webkit [53571] by Csaba Osztrogonác
  • 1 edit
    3 adds in trunk/LayoutTests

[Qt] Platform dependent expected files added for tests introduced in r53476,
because these tests pass. Compared to png files.

Reviewed by Nikolas Zimmermann.

  • platform/qt/fast/fast-mobile-scrolling/fixed-position-element-expected.txt: Added.
  • platform/qt/fast/fast-mobile-scrolling/no-fixed-position-elements-expected.txt: Added.
3:01 PM Changeset in webkit [53570] by eric@webkit.org
  • 6 edits in trunk/WebKitTools

2010-01-20 Eric Seidel <eric@webkit.org>

No review, rolling out r53537.
http://trac.webkit.org/changeset/53537
https://bugs.webkit.org/show_bug.cgi?id=33496

Added a failure condition to the commit-queue and looks to
have broken the EWS bots

  • Scripts/webkitpy/commands/early_warning_system.py:
  • Scripts/webkitpy/commands/queues.py:
  • Scripts/webkitpy/queueengine.py:
  • Scripts/webkitpy/scm.py:
  • Scripts/webkitpy/scm_unittest.py:
2:43 PM Changeset in webkit [53569] by Csaba Osztrogonác
  • 1 edit
    2 adds in trunk/LayoutTests

[Qt] Platform dependent expected files added for tests introduced in r53446,
because these tests pass. Compared to png files.

Reviewed by Nikolas Zimmermann.

  • platform/qt/svg/custom/relative-sized-deep-shadow-tree-content-expected.txt: Added.
  • platform/qt/svg/custom/relative-sized-shadow-tree-content-expected.txt: Added.
2:42 PM Changeset in webkit [53568] by levin@chromium.org
  • 10 edits in trunk

CrossThreadCopier needs to support ThreadSafeShared better.
https://bugs.webkit.org/show_bug.cgi?id=33698

Reviewed by Oliver Hunt.

JavaScriptCore:

  • wtf/TypeTraits.cpp: Added tests for the new type traits.
  • wtf/TypeTraits.h:

(WTF::IsSubclass): Determines if a class is a derived from another class.
(WTF::IsSubclassOfTemplate): Determines if a class is a derived from a
template class (with one parameter that is unknown).
(WTF::RemoveTemplate): Reveals the type for a template parameter.

WebCore:

Now the copier is able to handle types that derive from ThreadSafeShared.

No change functionality so no new tests.

  • loader/WorkerThreadableLoader.cpp:

(WebCore::WorkerThreadableLoader::MainThreadBridge::cancel): Remove unnecessary cast.
(WebCore::WorkerThreadableLoader::MainThreadBridge::clearClientWrapper): Ditto.

  • loader/WorkerThreadableLoader.h:

Change to use the derived class instead of the ThreadSafeShared version.

  • platform/CrossThreadCopier.cpp:

Add the new template parameter throughout the classes and adjust the class that
handles ThreadSafeShared to allow for derived types.

  • platform/CrossThreadCopier.h:

Add another template parameter to be able to detect classes that derive
from ThreadSafeShared.

  • websockets/WorkerThreadableWebSocketChannel.cpp:

Removed unnecessary casts and changed a type to use the derived class instead of
the ThreadSafeShared version.
(WebCore::WorkerThreadableWebSocketChannel::Peer::Peer):
(WebCore::workerContextDidSend):
(WebCore::workerContextDidGetBufferedAmount):
(WebCore::workerContextDidConnect):
(WebCore::workerContextDidReceiveMessage):
(WebCore::workerContextDidClose):
(WebCore::WorkerThreadableWebSocketChannel::Bridge::setWebSocketChannel):
(WebCore::WorkerThreadableWebSocketChannel::Bridge::mainThreadCreateWebSocketChannel):
(WebCore::WorkerThreadableWebSocketChannel::Bridge::send):
(WebCore::WorkerThreadableWebSocketChannel::Bridge::bufferedAmount):
(WebCore::WorkerThreadableWebSocketChannel::Bridge::clearClientWrapper):
(WebCore::WorkerThreadableWebSocketChannel::Bridge::setMethodNotCompleted):
(WebCore::WorkerThreadableWebSocketChannel::Bridge::waitForMethodCompletion):

  • websockets/WorkerThreadableWebSocketChannel.h:

(WebCore::WorkerThreadableWebSocketChannel::Peer::create): Changed a type to use the
derived class instead of the ThreadSafeShared version.

2:31 PM Changeset in webkit [53567] by jhoneycutt@apple.com
  • 11 edits
    2 adds in trunk

MSAA: accSelect() is not implemented

https://bugs.webkit.org/show_bug.cgi?id=33918
<rdar://problem/7436861>

Reviewed by Darin Adler.

WebCore:

Test: platform/win/accessibility/selection-and-focus.html

  • accessibility/AccessibilityMenuListOption.cpp:

(WebCore::AccessibilityMenuListOption::setSelected):
Return early if the object is not selectable.

WebKit/win:

  • AccessibleBase.cpp:

(AccessibleBase::accSelect):
If there is an invalid combination of state flags, return early. If the
caller passed the "take focus" flag, focus the object. If the "take
selection" flag was passed, check whether the parent object is an
AccessibilityListBox; if so, call the object's setSelectedChildren()
function. If the parent is an AccessibilityMenuListPopup, call the
child object's setSelected() function. Otherwise, if the parent is some
other, unsupported object, return early.
If the selection flags include "add", "remove", or "extend" selection,
and the parent object is not multi-selectable, return early. Otherwise,
set or unset the child's selected flag based on the passed flag.

WebKitTools:

  • DumpRenderTree/AccessibilityUIElement.cpp:

(takeFocusCallback):
Call the object's takeFocus() function.
(takeSelectionCallback):
Call its takeSelection() function.
(addSelectionCallback):
Call its addSelection() function.
(removeSelectionCallback):
Call its removeSelection() function.
(AccessibilityUIElement::getJSClass):
Add new functions to the JS class definition.

  • DumpRenderTree/AccessibilityUIElement.h:

Declare new functions.

  • DumpRenderTree/gtk/AccessibilityUIElementGtk.cpp:

(AccessibilityUIElement::takeFocus):
Stubbed.
(AccessibilityUIElement::takeSelection):
Stubbed.
(AccessibilityUIElement::addSelection):
Stubbed.
(AccessibilityUIElement::removeSelection):
Stubbed.

  • DumpRenderTree/mac/AccessibilityUIElementMac.mm:

(AccessibilityUIElement::takeFocus):
Stubbed.
(AccessibilityUIElement::takeSelection):
Stubbed.
(AccessibilityUIElement::addSelection):
Stubbed.
(AccessibilityUIElement::removeSelection):
Stubbed.

  • DumpRenderTree/win/AccessibilityUIElementWin.cpp:

(AccessibilityUIElement::takeFocus):
Call the object's accSelect() function, passing the appropriate flag.
(AccessibilityUIElement::takeSelection):
Ditto.
(AccessibilityUIElement::addSelection):
Ditto.
(AccessibilityUIElement::removeSelection):
Ditto.

LayoutTests:

  • platform/win/accessibility/selection-and-focus-expected.txt: Added.
  • platform/win/accessibility/selection-and-focus.html: Added.
2:23 PM Changeset in webkit [53566] by Nikolas Zimmermann
  • 2 edits in trunk/WebCore

2010-01-20 Nikolas Zimmermann <nzimmermann@rim.com>

Not reviewed. Fix chromium build, introduced a copy&paste error.

  • bindings/v8/ScriptEventListener.cpp: (WebCore::createAttributeEventListener):
2:21 PM Changeset in webkit [53565] by mitz@apple.com
  • 2 edits in trunk/WebCore

<rdar://problem/6579204> Exception thrown when opening a <select> pop-up that
uses a web font
https://bugs.webkit.org/show_bug.cgi?id=23911

Reviewed by Darin Adler.

  • platform/mac/PopupMenuMac.mm:

(WebCore::PopupMenu::populate): Use the (bold) system font if an NSFont cannot
be obtained.

2:01 PM Changeset in webkit [53564] by Nikolas Zimmermann
  • 14 edits
    2 adds in trunk

2010-01-19 Nikolas Zimmermann <nzimmermann@rim.com>

Reviewed by Alexey Proskuryakov.

svg/custom/use-instanceRoot-event-bubbling.xhtml is flakey
https://bugs.webkit.org/show_bug.cgi?id=33835

mouseEvent fires mutiple times in svg/custom/use-instanceRoot-as-event-target.xhtml
https://bugs.webkit.org/show_bug.cgi?id=32519

Test: svg/custom/use-instanceRoot-event-listener-liveness.xhtml

Stabilize <use> scripting support - use tests are reliable now (tested using --repeach-each 50 --random -p)

Do not reclone trees anymore because of event listener changes, instead keep correspondingElement & shadowTreeElement
synchronized for each SVGElementInstance - any mutations on any event listeners are live, and take immediate effect,
w/o having to rely on a reclone - this was the root of several race conditions making the <use> tests flakey.

Fix SVGUseElement::instanceRoot() to force shadow tree creation, even if it was not attached so far - we can't wait
for finishedParsing() to be called which would recalculate the document style and attach the shadow tree as result.
This is now matching Operas behaviour.

Optimize createAttributeEventListener() to not create event listeners if the supplied Attribute isNull() - otherwhise
DOM calls like removeAttribute("onclick") cause a temporary JSEventListener to be created, added to the event listener
cache and removed afterwards.

  • bindings/js/ScriptEventListener.cpp: (WebCore::createAttributeEventListener): Return early if the supplied attribute is null as discussed with Geoffrey.
  • bindings/v8/ScriptEventListener.cpp: (WebCore::createAttributeEventListener): Ditto.
  • dom/Node.cpp: Synchronize event listeners with all element instances, instead of marking the use elements to reclone. (WebCore::instancesForSVGElement): (WebCore::tryAddEventListener): (WebCore::Node::addEventListener): When adding a listener, get a list of element instances and add it their as well. (WebCore::tryRemoveEventListener): (WebCore::Node::removeEventListener): Ditto for removals, but with special logic for listeners created from markup (see comments)
  • svg/SVGElementInstance.cpp: Cleaned up, removing unncessary checks of correspondingElement() - there is an ASSERT in the ctor. (WebCore::SVGElementInstance::invalidateAllInstancesOfElement): (WebCore::SVGElementInstance::scriptExecutionContext): (WebCore::SVGElementInstance::addEventListener): (WebCore::SVGElementInstance::removeEventListener): (WebCore::SVGElementInstance::removeAllEventListeners): (WebCore::SVGElementInstance::eventTargetData): (WebCore::SVGElementInstance::ensureEventTargetData):
  • svg/SVGUseElement.cpp: Call document()->updateLayoutIgnorePendingStylesheets() to force shadow tree creation, just like CSSStyleDecl works. (WebCore::SVGUseElement::instanceRoot):
1:56 PM Changeset in webkit [53563] by dimich@chromium.org
  • 3 edits in trunk/WebCore

Move local utility class DocumentWeakReference entirely from Document.h into Document.cpp
since it is only used there. It is a followup for http://trac.webkit.org/changeset/53345.

Reviewed by Darin Adler.

No new tests since no change in functionality.

  • dom/Document.cpp: Move definitions of the methods into declaration of the class, remove 'inline'.
  • dom/Document.h: Replace DocumentWeakReference declaration with a forward declaration.
1:50 PM Changeset in webkit [53562] by oliver@apple.com
  • 4 edits in trunk/WebCore

2010-01-20 Oliver Hunt <oliver@apple.com>

No review, rolling out r53561.
http://trac.webkit.org/changeset/53561
https://bugs.webkit.org/show_bug.cgi?id=16318

broke selection repaint for transformed text in html

  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::paintSelection):
  • rendering/RenderForeignObject.cpp:
  • rendering/RenderForeignObject.h:
1:37 PM Changeset in webkit [53561] by oliver@apple.com
  • 4 edits in trunk/WebCore

2010-01-19 Oliver Hunt <oliver@apple.com>

Reviewed by Beth Dakin.

Insufficient repaint issues with html embedded in foreignObject
https://bugs.webkit.org/show_bug.cgi?id=16318

Partial fix for selection repaint in foreignObject, basically we
just need to make sure foreignObject correctly applies the svg
transform to the selection rect.

  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::paintSelection):
  • rendering/RenderForeignObject.cpp: (WebCore::RenderForeignObject::mapLocalToContainer):
  • rendering/RenderForeignObject.h:
12:21 PM Changeset in webkit [53560] by kevino@webkit.org
  • 2 edits in trunk/WebCore

Build fix for !ENABLE(SVG).

12:05 PM Changeset in webkit [53559] by Csaba Osztrogonác
  • 4 edits
    1 add in trunk/WebKitTools

Extract Apache handling to httpd.pm module and use the provided functionality
in scripts where Apache is needed.
The module httpd.pm stores the PID of Apache in a variable and cleans up
the PID directory after Apache properly shut down. Catching INT and TERM
signals allows the scripts to close Apache and clean up its PID directory
even if the testing was interrupted.

Patch by Andras Becsi <abecsi@inf.u-szeged.hu> on 2010-01-20
Reviewed by Alexey Proskuryakov.

https://bugs.webkit.org/show_bug.cgi?id=33153

  • Scripts/webkitperl/httpd.pm: Added.
  • Scripts/run-iexploder-tests:
  • Scripts/run-webkit-httpd:
  • Scripts/run-webkit-tests:
11:26 AM Changeset in webkit [53558] by levin@chromium.org
  • 43 edits
    2 deletes in trunk

Revert r53552 which caused lots of layout test failures.

11:13 AM Changeset in webkit [53557] by steveblock@google.com
  • 9 edits
    2 moves in trunk/WebCore

Renames jni_runtime.[cpp|h] to JNIBridge.[cpp|h]
https://bugs.webkit.org/show_bug.cgi?id=33899

Reviewed by David Levin.

No new tests, refactoring only.

  • Android.jscbindings.mk: Modified. Removes jni_runtime.cpp and adds JNIBridge.cpp
  • GNUmakefile.am: Modified. Removes jni_runtime.h and adds JNIBridge.h
  • WebCore.xcodeproj/project.pbxproj: Modified. Removes jni_runtime.[cpp|h] and adds JNIBridge.[cpp|h]
  • bridge/jni/JNIBridge.cpp: Copied from WebCore/bridge/jni/jni_runtime.cpp.
  • bridge/jni/JNIBridge.h: Copied from WebCore/bridge/jni/jni_runtime.h.
  • bridge/jni/jni_jsobject.mm: Modified. Updated to include JNIBridge.h
  • bridge/jni/jni_runtime.cpp: Removed.
  • bridge/jni/jni_runtime.h: Removed.
  • bridge/jni/jsc/JNIUtilityPrivate.cpp: Modified. Updated to include JNIBridge.h
  • bridge/jni/jsc/JavaClassJSC.cpp: Modified. Removed superfluous include
  • bridge/jni/jsc/JavaClassJSC.h: Modified. Updated to include JNIBridge.h
  • bridge/jni/jsc/JavaInstanceJSC.cpp: Modified. Updated to include JNIBridge.h
11:09 AM Changeset in webkit [53556] by timothy@apple.com
  • 2 edits in trunk/WebKit/mac

Fix erroneous page scrolls when trying to select text or use form elements
with the Web Inspector docked.

http://webkit.org/b/24403
rdar://problem/6753925

Reviewed by John Sullivan and Darin Adler.

  • WebCoreSupport/WebChromeClient.mm:

(WebChromeClient::scrollRectIntoView): The scrollRect.move() call was
incorrectly converting the rect under the assumption that the frame view
is the same size as the WebView. Using convertRect:fromView: instead
is enough to fix the bug, but that code isn't needed since WebCore
already takes care of scrolling the main frame's document view, so it
was redundant to do it here too.

11:00 AM Changeset in webkit [53555] by ap@apple.com
  • 6 edits
    2 adds in trunk

Reviewed by Simon Fraser.

https://bugs.webkit.org/show_bug.cgi?id=33913
Crash under Media::matchMedium in detached frame

Also took the opportunity to fix JS bindings for the Media object.

Test: fast/media/lifetime.html

  • css/Media.h: (WebCore::Media::create): Take and store a Frame pointer, like other similar objects do. (WebCore::Media::disconnectFrame): Zero out the frame pointer (this is called from DOMWindow::clear()).
  • css/Media.cpp: (WebCore::Media::Media): Updated to storing Frame pointer. (WebCore::Media::type): Ditto. (WebCore::Media::matchMedium): Removed null check for document element - every document has one. Also, every Frame has a document, so we only need to check for m_frame being zero.
  • bindings/js/JSDOMWindowCustom.cpp: (WebCore::JSDOMWindow::markChildren):
  • page/DOMWindow.cpp: (WebCore::DOMWindow::clear): (WebCore::DOMWindow::media):
  • page/DOMWindow.h: (WebCore::DOMWindow::optionalMedia): Make sure there's only one Media object per window, and keep its wrapper alive.
9:51 AM Changeset in webkit [53554] by sfalken@apple.com
  • 22 edits
    3 adds in trunk

JavaScriptCore: Feature defines are difficult to maintain on Windows builds
https://bugs.webkit.org/show_bug.cgi?id=33883

Reviewed by Darin Adler and Adam Roben.

FeatureDefines.vsprops are now maintained in a way similar to
Configurations/FeatureDefines.xcconfig, with the added advantage
of having a single FeatureDefines file across all projects.

  • Configurations/FeatureDefines.xcconfig: Add comments about keeping feature definitions in sync.
  • JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj: Add FeatureDefines.vsprops inherited property sheet.
  • JavaScriptCore.vcproj/WTF/WTF.vcproj: Add FeatureDefines.vsprops inherited property sheet.

WebCore: Feature defines are difficult to maintain on Windows builds
https://bugs.webkit.org/show_bug.cgi?id=33883

Reviewed by Darin Adler and Adam Roben.

FeatureDefines.vsprops are now maintained in a way similar to
Configurations/FeatureDefines.xcconfig, with the added advantage
of having a single FeatureDefines file across all projects.

  • Configurations/FeatureDefines.xcconfig: Add comments about keeping feature definitions in sync.
  • WebCore.vcproj/MigrateIDLAndScripts: Remove reference to file that no longer exists.
  • WebCore.vcproj/QTMovieWin.vcproj: Add FeatureDefines.vsprops inherited property sheet.
  • WebCore.vcproj/WebCore.vcproj: Add FeatureDefines.vsprops inherited property sheet.
  • WebCore.vcproj/WebCoreCommon.vsprops: Remove ENABLE_ preprocessor definitions.
  • WebCore.vcproj/WebCoreGenerated.vcproj: Added Cairo configuration for selecting proper features.
  • WebCore.vcproj/WebCoreMediaQT.vsprops: Remove ENABLE_VIDEO. This is picked up from FeatureDefines.vsprops.
  • WebCore.vcproj/build-generated-files.sh: Pick up features from FeatureDefines.vsprops or FeatureDefinesCairo.vsprops.

WebKit/mac: Feature defines are difficult to maintain on Windows builds
https://bugs.webkit.org/show_bug.cgi?id=33883

Reviewed by Darin Adler and Adam Roben.

  • Configurations/FeatureDefines.xcconfig: Add comments about keeping feature definitions in sync.

WebKit/win: Feature defines are difficult to maintain on Windows builds
https://bugs.webkit.org/show_bug.cgi?id=33883

Reviewed by Darin Adler and Adam Roben.

FeatureDefines.vsprops are now maintained in a way similar to
Configurations/FeatureDefines.xcconfig, with the added advantage
of having a single FeatureDefines file across all projects.

  • WebKit.vcproj/Interfaces.vcproj: Add FeatureDefines.vsprops inherited property sheet.
  • WebKit.vcproj/WebKit.sln: Set up Cairo configuration for WebCoreGenerated.
  • WebKit.vcproj/WebKit.vcproj: Remove ENABLE_ preprocessor definitions.

Add FeatureDefines.vsprops inherited property sheet.

  • WebKit.vcproj/WebKitGUID.vcproj: Add FeatureDefines.vsprops inherited property sheet.

WebKitLibraries: Feature defines are difficult to maintain on Windows builds
https://bugs.webkit.org/show_bug.cgi?id=33883

Reviewed by Darin Adler and Adam Roben.

FeatureDefines.vsprops are now maintained in a way similar to
Configurations/FeatureDefines.xcconfig, with the added advantage
of having a single FeatureDefines file across all projects.

Keep this list of features (not enabled/disabled state) in sync with
FeatureDefines.xcconfig files in JavaScriptCore, WebCore, and WebKit.

Add new features to both PreprocessorDefinitions and UserMacro sections.
Set any ENABLE_FEATURE_NAME macro to an empty string to disable that feature.

  • win/tools/scripts/feature-defines.sh: Added.
  • win/tools/vsprops/FeatureDefines.vsprops: Added.
  • win/tools/vsprops/FeatureDefinesCairo.vsprops: Added.
  • win/tools/vsprops/WinCairo.vsprops: Removed ENABLE_FILTERS. Now set in FeatureDefinesCairo.vsprops.
9:45 AM Changeset in webkit [53553] by mitz@apple.com
  • 5 edits in trunk/WebKit/mac

<rdar://problem/7489504> Clicking on an overflow scrollbar when the window doesn't have
focus only focuses the window; it should start scrolling too
https://bugs.webkit.org/show_bug.cgi?id=33906

Reviewed by Simon Fraser.

  • Misc/WebElementDictionary.mm:

(+[WebElementDictionary initializeLookupTable]): Initialize WebElementIsInScrollBarKey.
(-[WebElementDictionary _isInScrollBar]): Added. Returns whether the HitTestResult contains
a scroll bar.

  • WebView/WebHTMLView.mm:

(-[WebHTMLView _isScrollBarEvent:]): Added. Returns whether the event point is in a scroll
bar in this view.
(-[WebHTMLView acceptsFirstMouse:]): Accept scroll bar events.

  • WebView/WebView.mm: Define WebElementIsInScrollBarKey.
  • WebView/WebViewPrivate.h: Declare WebElementIsInScrollBarKey.
9:44 AM Changeset in webkit [53552] by yurys@chromium.org
  • 43 edits
    2 adds in trunk

2010-01-20 Yury Semikhatsky <yurys@chromium.org>

Reviewed by Pavel Feldman.

Inject inspector script directly into the inspected context. All the
communication between the script and the frontend is serialized into
JSON strings. It allows to get rid of object quarantines in Web Inspector.

https://bugs.webkit.org/show_bug.cgi?id=32554

Test: inspector/console-log-before-inspector-open.html

  • bindings/js/JSInjectedScriptHostCustom.cpp: (WebCore::JSInjectedScriptHost::databaseForId): (WebCore::JSInjectedScriptHost::currentCallFrame): (WebCore::JSInjectedScriptHost::nodeForId): (WebCore::JSInjectedScriptHost::pushNodePathToFrontend): (WebCore::JSInjectedScriptHost::selectDatabase): (WebCore::JSInjectedScriptHost::selectDOMStorage):
  • bindings/js/ScriptCallStack.h: (WebCore::ScriptCallStack::state):
  • bindings/js/ScriptController.cpp: (WebCore::ScriptController::mainWorldScriptState):
  • bindings/js/ScriptController.h:
  • bindings/js/ScriptObject.h: (WebCore::ScriptObject::scriptState):
  • bindings/js/ScriptValue.cpp:
  • bindings/js/ScriptValue.h:
  • bindings/v8/ScriptObject.h: (WebCore::ScriptObject::scriptState):
  • bindings/v8/ScriptValue.h:
  • bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
  • inspector/ConsoleMessage.cpp: (WebCore::ConsoleMessage::ConsoleMessage): (WebCore::ConsoleMessage::addToConsole): (WebCore::ConsoleMessage::isEqual):
  • inspector/ConsoleMessage.h:
  • inspector/InjectedScriptHost.cpp: (WebCore::InjectedScriptHost::releaseWrapperObjectGroup):
  • inspector/InjectedScriptHost.h:
  • inspector/InjectedScriptHost.idl:
  • inspector/InspectorBackend.cpp: (WebCore::InspectorBackend::setInjectedScriptSource): (WebCore::InspectorBackend::dispatchOnInjectedScript): (WebCore::InspectorBackend::releaseWrapperObjectGroup):
  • inspector/InspectorBackend.h:
  • inspector/InspectorBackend.idl:
  • inspector/InspectorController.cpp: (WebCore::InspectorController::InspectorController): (WebCore::InspectorController::clearConsoleMessages): (WebCore::InspectorController::inspectedWindowScriptObjectCleared): (WebCore::InspectorController::windowScriptObjectAvailable): (WebCore::InspectorController::scriptObjectReady): (WebCore::InspectorController::setFrontendProxyObject): (WebCore::InspectorController::close): (WebCore::InspectorController::resetScriptObjects): (WebCore::InspectorController::didPause): (WebCore::InspectorController::injectedScriptForNodeId):
  • inspector/InspectorController.h:
  • inspector/InspectorFrontend.cpp: (WebCore::InspectorFrontend::addConsoleMessage): (WebCore::InspectorFrontend::pausedScript):
  • inspector/InspectorFrontend.h:
  • inspector/front-end/AuditsPanel.js: (WebInspector.AuditsPanel.prototype._reloadResources):
  • inspector/front-end/ConsoleView.js: (WebInspector.ConsoleView.prototype.requestClearMessages): (WebInspector.ConsoleView.prototype.doEvalInWindow):
  • inspector/front-end/DOMAgent.js: (WebInspector.DOMNode): (WebInspector.CSSStyleDeclaration): (WebInspector.CSSStyleDeclaration.parseRule):
  • inspector/front-end/Database.js: (WebInspector.Database.prototype.executeSql):
  • inspector/front-end/ElementsPanel.js: (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged.InjectedScriptAccess.get addInspectedNode): (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged): (WebInspector.ElementsPanel.prototype.setDocument): (WebInspector.ElementsPanel.prototype.searchCanceled): (WebInspector.ElementsPanel.prototype.performSearch):
  • inspector/front-end/ElementsTreeOutline.js: (WebInspector.ElementsTreeElement.prototype.createTooltipForImageNode):
  • inspector/front-end/EventListenersSidebarPane.js: ():
  • inspector/front-end/InjectedScript.js: (injectedScriptConstructor): (injectedScriptConstructor.):
  • inspector/front-end/InjectedScriptAccess.js: (InjectedScriptAccess): (InjectedScriptAccess.getDefault): (get InjectedScriptAccess): (InjectedScriptAccess._installHandler.InjectedScriptAccess.prototype.methodName): (InjectedScriptAccess._installHandler):
  • inspector/front-end/MetricsSidebarPane.js: (WebInspector.MetricsSidebarPane): (WebInspector.MetricsSidebarPane.prototype.update.inlineStyleCallback):
  • inspector/front-end/ObjectPropertiesSection.js:
  • inspector/front-end/ObjectProxy.js: (WebInspector.ObjectProxy):
  • inspector/front-end/PropertiesSidebarPane.js: (WebInspector.PropertiesSidebarPane.prototype.update.callback):
  • inspector/front-end/ResourcesPanel.js: (WebInspector.ResourceSidebarTreeElement.prototype.ondblclick):
  • inspector/front-end/ScriptsPanel.js:
  • inspector/front-end/StylesSidebarPane.js: (WebInspector.StylePropertyTreeElement.prototype):
  • inspector/front-end/WatchExpressionsSidebarPane.js: (WebInspector.WatchExpressionsSection.prototype.update):
  • inspector/front-end/inspector.js: (WebInspector.loaded): (WebInspector.pausedScript): (WebInspector.addConsoleMessage): (WebInspector.log.logMessage): (WebInspector.log):

2010-01-20 Yury Semikhatsky <yurys@chromium.org>

Reviewed by Pavel Feldman.

Inject inspector script directly into the inspected context. All the
communication between the script and the frontend is serialized into
JSON strings. It allows to get rid of object quarantines in Web Inspector.

Test that web inspector doesn't crash when opening if there are messages in
the console. Refactor test case due to InjectedScriptAccess changes.

https://bugs.webkit.org/show_bug.cgi?id=32554

  • inspector/console-log-before-inspector-open-expected.txt: Added.
  • inspector/console-log-before-inspector-open.html: Added.
  • inspector/styles-iframe.html:
9:38 AM Changeset in webkit [53551] by tkent@chromium.org
  • 7 edits in trunk

2010-01-20 Kent Tamura <tkent@chromium.org>

Reviewed by Darin Adler.

HTMLInputElement::valueAsDate setter support for type=time.
https://bugs.webkit.org/show_bug.cgi?id=33825

Add setter tests to input-valueasdate-time.js, and update the
expectation.

Note: the expectation file contains some FAIL lines. They are
intentional because they test a unimplemented feature.

  • fast/forms/input-valueasdate-time-expected.txt:
  • fast/forms/script-tests/input-valueasdate-time.js:

2010-01-20 Kent Tamura <tkent@chromium.org>

Reviewed by Darin Adler.

HTMLInputElement::valueAsDate setter support for type=time.
https://bugs.webkit.org/show_bug.cgi?id=33825

Introduce ISODateTime::setMillisecondsSinceMidnight() and add a
SecondFormat parameter to ISODateTime::toString(). The main code
logic for type=time is implemented in
setMillisecondsSinceMidnightInternal() and toStringForTime()
because the logic is going to be used for other types.

  • html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::setValueAsDate):
  • html/ISODateTime.cpp: (WebCore::positiveFmod): (WebCore::ISODateTime::setMillisecondsSinceMidnightInternal): (WebCore::ISODateTime::setMillisecondsSinceMidnight): (WebCore::ISODateTime::toStringForTime): (WebCore::ISODateTime::toString):
  • html/ISODateTime.h: (WebCore::ISODateTime::):
9:22 AM Changeset in webkit [53550] by Philippe Normand
  • 3 edits in trunk/LayoutTests

2010-01-20 Philippe Normand <pnormand@igalia.com>

Reviewed by Darin Adler.

[Gtk] media/video-play-pause-exception.html is flacky
https://bugs.webkit.org/show_bug.cgi?id=33900

Refactored the test to use the pause event instead of a timer.

  • media/video-play-pause-exception.html:
  • platform/gtk/Skipped:
7:59 AM Changeset in webkit [53549] by Csaba Osztrogonác
  • 4 edits in trunk

[Qt] Unreviewed buildfix for r53547.

JavaScriptCore:

  • DerivedSources.pro:

WebCore:

  • WebCore.pri:
7:48 AM Changeset in webkit [53548] by benm@google.com
  • 17 edits
    3 adds in trunk

The touchcancel event is not supported.
https://bugs.webkit.org/show_bug.cgi?id=33598

Reviewed by Simon Hausmann.

WebCore:

This change adds support for the touchcancel event in WebCore and adds a test.

Test: fast/events/touch/send-oncancel-event.html

  • bindings/js/ScriptController.cpp:

(WebCore::ScriptController::processingUserGestureEvent): Considers touchcancel with the other touch events when working out if the event is a user gesture.

  • dom/Document.cpp:

(WebCore::Document::addListenerTypeIfNeeded): Adds a check to consider ontouchcancel a touch event listener.

  • dom/Document.h: Add the touchcancel attribute event listener.
  • dom/Document.idl: ditto.
  • dom/Element.h: ditto.
  • dom/Element.idl: ditto.
  • dom/EventNames.h: Adds touchcancel as an event name.
  • html/HTMLAttributeNames.in:Adds touchcancel as an HTML attribute name.
  • html/HTMLElement.cpp:

(WebCore::HTMLElement::parseMappedAttribute): Parses the ontouchcancel attribute.

  • page/DOMWindow.h: Adds the touchcancel attribute event listener.
  • page/DOMWindow.idl: ditto.
  • page/EventHandler.cpp:

(WebCore::EventHandler::handleTouchEvent): Add code to detect and dispatch touchcancel events.

  • platform/PlatformTouchEvent.h:

(WebCore::): Add TouchCancel as a touch event type.

  • platform/PlatformTouchPoint.h:

(WebCore::PlatformTouchPoint::): Add TouchCanceled as a touch point state.

LayoutTests:

Test for the oncancel event.

  • fast/events/script-tests/send-oncancel-event.js: Added.

(touchcancelHandler):

  • fast/events/touch/send-oncancel-event-expected.txt: Added.
  • fast/events/touch/send-oncancel-event.html: Added.
  • platform/qt/Skipped: Add send-oncancel-event to the Qt Skipped list as there is not support for that type of event on Qt yet.
6:27 AM Changeset in webkit [53547] by vestbo@webkit.org
  • 5 edits in trunk

[Qt] Make extraCompilers for generated sources depend on their scripts

Reviewed by Simon Hausmann.

JavaScriptCore:

  • DerivedSources.pro:

WebCore:

  • DerivedSources.pro:
  • WebCore.pri:
6:15 AM Changeset in webkit [53546] by eric@webkit.org
  • 2 edits in trunk/WebCore

2010-01-20 Kent Tamura <tkent@chromium.org>

Reviewed by Adam Barth.

[Chromium][V8] Fix null pointer dereference in V8Proxy::retrieve().
https://bugs.webkit.org/show_bug.cgi?id=33886

This is equivalent to r53433, and fix a crash by
LayoutTests/http/tests/appcache/destroyed-iframe.html.

  • bindings/v8/V8Proxy.cpp: (WebCore::V8Proxy::retrieve): Check if context is null.
5:58 AM Changeset in webkit [53545] by eric@webkit.org
  • 12 edits in trunk/WebCore

2010-01-20 Alexander Pavlov <apavlov@chromium.org>

Reviewed by Timothy Hatcher.

Optimize resize event handling for hidden views
https://bugs.webkit.org/show_bug.cgi?id=33803

  • inspector/front-end/AbstractTimelinePanel.js: (WebInspector.AbstractTimelinePanel.prototype.resize): (WebInspector.AbstractTimelinePanel.prototype.updateMainViewWidth):
  • inspector/front-end/AuditsPanel.js:
  • inspector/front-end/Panel.js: (WebInspector.Panel.prototype.updateSidebarWidth): (WebInspector.Panel.prototype.resize):
  • inspector/front-end/PanelEnablerView.js: (WebInspector.PanelEnablerView): (WebInspector.PanelEnablerView.prototype.show): (WebInspector.PanelEnablerView.prototype.resize):
  • inspector/front-end/ProfilesPanel.js: (WebInspector.ProfilesPanel.prototype.show): (WebInspector.ProfilesPanel.prototype.addProfileHeader): (WebInspector.ProfilesPanel.prototype.showProfile): (WebInspector.ProfilesPanel.prototype.showView): (WebInspector.ProfilesPanel.prototype.closeVisibleView): (WebInspector.ProfilesPanel.prototype._updateInterface): (WebInspector.ProfilesPanel.prototype.updateMainViewWidth):
  • inspector/front-end/ResourcesPanel.js: (WebInspector.ResourcesPanel.prototype.show): (WebInspector.ResourcesPanel.prototype.get visibleView): (WebInspector.ResourcesPanel.prototype.updateMainViewWidth):
  • inspector/front-end/Settings.js:
  • inspector/front-end/StoragePanel.js: (WebInspector.StoragePanel.prototype.updateMainViewWidth):
  • inspector/front-end/WelcomeView.js: (WebInspector.WelcomeView): (WebInspector.WelcomeView.prototype.show): (WebInspector.WelcomeView.prototype.resize):
  • inspector/front-end/inspector.css:
  • inspector/front-end/inspector.js: (WebInspector.windowResize):
4:56 AM Changeset in webkit [53544] by vestbo@webkit.org
  • 4 edits in trunk/BugsSite

Adjust height of status-bubbles to prevent them being cut.

Reviewed by Adam Barth.

BugSite:

  • template/en/custom/attachment/edit.html.tmpl:
  • template/en/custom/attachment/list.html.tmpl:
  • template/en/custom/attachment/reviewform.html.tmpl:
4:33 AM Changeset in webkit [53543] by vestbo@webkit.org
  • 7 edits in trunk

[Qt] Make DumpRenderTree build on Windows

Reviewed by Simon Hausmann.

  • WebKit.pro:

WebKitTools:

  • DumpRenderTree/qt/DumpRenderTree.pro:
  • DumpRenderTree/qt/DumpRenderTreeQt.cpp:
  • DumpRenderTree/qt/DumpRenderTreeQt.h:
  • DumpRenderTree/qt/main.cpp:
4:12 AM QtWebKitBackportingFixes edited by Girish Ramakrishnan
(diff)
3:57 AM Changeset in webkit [53542] by steveblock@google.com
  • 2 edits in trunk/WebKitTools

Fix commit bot to land patches in order of the bug last modification date.
https://bugs.webkit.org/show_bug.cgi?id=33395

Reviewed by Eric Seidel.

  • Scripts/webkitpy/bugzilla.py: Modified. Added 'order=Last+Changed' to bugzilla commit queue URL.
3:37 AM Changeset in webkit [53541] by steveblock@google.com
  • 8 edits in trunk/WebCore

Fixes style in WebCore/bridge/Bridge
https://bugs.webkit.org/show_bug.cgi?id=33839

Reviewed by David Levin.

No new tests, style fixes only.

  • bridge/Bridge.cpp: Modified.
  • bridge/Bridge.h: Modified.
  • bridge/c/c_instance.cpp: Modified.

(JSC::Bindings::CInstance::invokeMethod): Modified. Use renamed m_rootObject member
(JSC::Bindings::CInstance::invokeDefaultMethod): Modified. Use renamed m_rootObject member
(JSC::Bindings::CInstance::invokeConstruct): Modified. Use renamed m_rootObject member

  • bridge/jni/jni_runtime.cpp: Modified.

(JavaArray::JavaArray): Modified. Use renamed m_rootObject member
(JavaArray::rootObject): Modified. Use renamed m_rootObject member

  • bridge/objc/objc_instance.mm: Modified.

(ObjcInstance::invokeMethod): Modified. Use renamed m_rootObject member
(ObjcInstance::invokeDefaultMethod): Modified. Use renamed m_rootObject member
(ObjcInstance::getValueOfUndefinedField): Modified. Use renamed m_rootObject member

  • bridge/objc/objc_runtime.mm: Modified.

(JSC::Bindings::ObjcArray::valueAt): Modified. Use renamed m_rootObject member

  • bridge/qt/qt_runtime.cpp: Modified.

(JSC::Bindings::::rootObject): Modified. Use renamed m_rootObject member

3:37 AM Changeset in webkit [53540] by Csaba Osztrogonác
  • 2 edits in trunk/LayoutTests

[Qt] fast/frames/set-unloaded-frame-location.html timed out on Qt Linux Release Build Bot
https://bugs.webkit.org/show_bug.cgi?id=33303

It caused by the previously test, so skipped it until fix.

  • platform/qt/Skipped: fast/frames/sandboxed-iframe-navigation-windowopen.html skipped.
3:28 AM Changeset in webkit [53539] by abarth@webkit.org
  • 3 edits in trunk/WebKitTools

2010-01-20 Adam Barth <abarth@webkit.org>

Reviewed by Eric Seidel.

Teach check-webkit-style about WebKit/gtk/tests
https://bugs.webkit.org/show_bug.cgi?id=33892

Removes false positives found in
https://bugs.webkit.org/show_bug.cgi?id=30883

  • Scripts/webkitpy/style/cpp_style.py:
  • Scripts/webkitpy/style/cpp_style_unittest.py:
3:26 AM Changeset in webkit [53538] by abarth@webkit.org
  • 3 edits in trunk/WebKitTools

2010-01-20 Adam Barth <abarth@webkit.org>

Reviewed by Eric Seidel.

Teach check-webkit-style about QGVLauncher
https://bugs.webkit.org/show_bug.cgi?id=33890

Remove false positives found in
https://bugs.webkit.org/show_bug.cgi?id=33708

  • Scripts/webkitpy/style/cpp_style.py:
  • Scripts/webkitpy/style/cpp_style_unittest.py:
3:20 AM Changeset in webkit [53537] by eric@webkit.org
  • 6 edits in trunk/WebKitTools

2010-01-20 Eric Seidel <eric@webkit.org>

Reviewed by Adam Barth.

webkit-commit-queue status page is confusing
https://bugs.webkit.org/show_bug.cgi?id=33496

This should improve the status page by removing more Fail messages.
To do this, I re-factored the CommitQueue and the AbstractReviewQueues
to behave more like one another. This meant moving where the failure reporting was done.
Previously the AbstractReviewQueue always used the parent process to report the error,
while CommitQueue used the subprocess when possible, and the parent only reported errors
that we didn't know how to handle (bugs in the commit-queue itself).
Now the AbstractReviewQueue follow's the commit-queue's model. This got rid of a try-block
in both implementations and required teaching handle_script_error in each to post Fail messages
to the status server instead of calling exit(1).

This will also make the style-queue share more bug posting logic with other queues:
https://bugs.webkit.org/show_bug.cgi?id=33871

  • Scripts/webkitpy/commands/early_warning_system.py:
    • Don't exit(1) as that will cause the calling queue to also report Fail to the status server. Implementors of handle_script_error are expected to update the status server if needed, but only exit if the error could not be handled. So we instead pass patch_has_failed_this_queue=True to _update_status_for_script_error in the case that this was a real failure. _update_status_for_script_error knows how to post the Fail message to the status server.
    • Teach _update_status_for_script_error how to post Fail messages to the status server.
  • Scripts/webkitpy/commands/queues.py:
    • Remove the try block from process_work_item since the caller already has one.
    • Only CC watchers on failure to cut down on commit-queue generated mail.
    • handle_unexpected_error needs to mark _did_fail now that the try block is gone from process_work_item.
    • Abstract _format_script_error_output_for_bug to share code between all queues.
    • The new _format_script_error_output_for_bug allows the style-queue to share the posting limit with other queues, as well as support linking to the full output.
    • Rename _can_build_and_test to _current_checkout_builds_and_passes_tests to better explain what revision it's testing.
    • Move logging out of _can_build_and_test and make the logs explain what revision we're testing.
    • handle_script_error now posts Fail instead of the try block in process_work_item handling it.
  • Scripts/webkitpy/queueengine.py:
    • QueueEngine is no longer used just by the commit-queue, update the logging to say "processing" instead of landing.
  • Scripts/webkitpy/scm.py:
    • Add new checkout_revision function.
  • Scripts/webkitpy/scm_unittest.py:
    • Test our new checkout_revision function.
2:23 AM Changeset in webkit [53536] by eric@webkit.org
  • 2 edits in trunk/WebCore

2010-01-20 Daniel Bates <dbates@webkit.org>

Reviewed by Eric Seidel.

https://bugs.webkit.org/show_bug.cgi?id=33885

Fixes style errors exposed by the style bot in the patch
for bug #33770. Moreover, fixes all style errors reported
by check-webkit-style.

No functionality was changed. So, no new tests.

  • bindings/js/JSWebGLRenderingContextCustom.cpp: (WebCore::dataFunctionf): (WebCore::dataFunctioni): (WebCore::dataFunctionMatrix):
2:15 AM Changeset in webkit [53535] by Simon Hausmann
  • 2 edits in trunk

[Qt] Fix the recursive generated_files target to work with qmake -r -o

Patch by Jocelyn Turcotte <jocelyn.turcotte@nokia.com> on 2010-01-20
Reviewed by Simon Hausmann.

  • DerivedSources.pro:
2:08 AM BuildingQtOnLinux edited by vestbo@webkit.org
(diff)
2:06 AM Changeset in webkit [53534] by eric@webkit.org
  • 3 edits in trunk/WebKitTools

2010-01-20 Adam Barth <abarth@webkit.org>

Reviewed by Darin Adler.

Exempt JavaScriptCore/qt/api from style checks
https://bugs.webkit.org/show_bug.cgi?id=33879

Apparently there is a JavaScriptCore API for Qt as well as a WebKit
API.

  • Scripts/webkitpy/style/cpp_style.py:
  • Scripts/webkitpy/style/cpp_style_unittest.py:
1:58 AM Changeset in webkit [53533] by steveblock@google.com
  • 3 edits in trunk/WebCore

Fixes style in WebCore/bridge/JNIUtility
https://bugs.webkit.org/show_bug.cgi?id=33870

Reviewed by David Levin.

No new tests, style fixes only.

  • bridge/jni/JNIUtility.cpp:
  • bridge/jni/JNIUtility.h:
1:57 AM Changeset in webkit [53532] by Simon Hausmann
  • 2 edits in trunk

[Qt] Make it possible (on *nix at least) to recursively call "make generated_files"

Reviewed by Tor Arne Vestbø.

  • DerivedSources.pro:
1:29 AM Changeset in webkit [53531] by rolandsteiner@chromium.org
  • 2 edits in trunk/LayoutTests

Bug 28420 - Re-enable fast/ruby layout tests after the issue with mixedContent was fixed.
(https://bugs.webkit.org/show_bug.cgi?id=28420, patch 5a)

Reviewed by Darin Adler.

cf. https://bugs.webkit.org/show_bug.cgi?id=31200

  • platform/mac/Skipped:
1:27 AM QtWebKitPackaging edited by Simon Hausmann
(diff)
1:06 AM QtWebKitBackportingFixes edited by Simon Hausmann
(diff)
12:54 AM Changeset in webkit [53530] by Simon Hausmann
  • 2 edits in trunk/WebCore

On Linux link QtWebKit with -no-undefined to catch build breakages due to missing
files in the .pro file, resulting in unresolved symbols.

Reviewed by Tor Arne Vestbø.

  • WebCore.pro:
12:54 AM Changeset in webkit [53529] by Simon Hausmann
  • 2 edits in trunk/WebCore

[Qt] Make it possible to link with -no-undefined.

Reviewed by Tor Arne Vestbø.

  • WebCore.pro: Add missing explicit dependency to libXrender due to the

use of XRenderFindVisualFormat in the X11 plugin code.

12:43 AM Changeset in webkit [53528] by Simon Hausmann
  • 2 edits in trunk/WebCore

Add missing files to the build.

Reviewed by Tor Arne Vestbø.

  • WebCore.pro:
12:26 AM Changeset in webkit [53527] by hamaji@chromium.org
  • 5 edits
    1 delete in trunk

2010-01-20 Shinichiro Hamaji <hamaji@chromium.org>

Reviewed by Darin Fisher.

[Chromium] computePageRectsForFrame seems to be unnecessary
https://bugs.webkit.org/show_bug.cgi?id=33881

  • WebCore.gypi: Removed FrameChromium.h
  • page/chromium/FrameChromium.cpp: Removed computePageRectsForFrame.
  • page/chromium/FrameChromium.h: Removed.

2010-01-20 Shinichiro Hamaji <hamaji@chromium.org>

Reviewed by Darin Fisher.

[Chromium] computePageRectsForFrame seems to be unnecessary
https://bugs.webkit.org/show_bug.cgi?id=33881

  • src/WebFrameImpl.cpp: Stop including FrameChromium.h
12:22 AM QtWebKitPackaging created by Simon Hausmann
12:20 AM Changeset in webkit [53526] by vestbo@webkit.org
  • 4 edits in trunk/WebKitTools

[Qt] Don't use QSocketNotifier in the DRT for reading stdin

Reviewed by Simon Hausmann.

QSocketNotifier is not available on Windows. Instead we read
stdin synchronously after each test using signals and slots.

  • DumpRenderTree/qt/DumpRenderTreeQt.cpp:
  • DumpRenderTree/qt/DumpRenderTreeQt.h:
  • DumpRenderTree/qt/main.cpp:
Note: See TracTimeline for information about the timeline view.