Timeline



Sep 27, 2009:

9:49 PM WebKit Team edited by hamaji@chromium.org
(diff)
4:59 PM Changeset in webkit [48806] by weinig@apple.com
  • 8 edits
    6 moves
    6 adds in trunk

WebCore: Fix for https://bugs.webkit.org/show_bug.cgi?id=29760
Implement CSSOM Range.getClientRects/getBoundingClientRect

Reviewed by Dan Bernstein.

Tests: fast/dom/Range/getBoundingClientRect-getClientRects-relative-to-viewport.html

fast/dom/Range/getBoundingClientRect.html
fast/dom/Range/getClientRects.html

  • dom/Range.cpp:

(WebCore::Range::getClientRects):
(WebCore::Range::getBoundingClientRect):
(WebCore::adjustFloatQuadsForScrollAndAbsoluteZoom):
(WebCore::Range::getBorderAndTextQuads):

  • dom/Range.h:
  • dom/Range.idl:

Implement Range.getClientRects/getBoundingClientRect.

  • dom/Element.cpp:
  • rendering/RenderObject.h:

(WebCore::adjustForAbsoluteZoom):
(WebCore::adjustIntRectForAbsoluteZoom):
(WebCore::adjustFloatPointForAbsoluteZoom):
(WebCore::adjustFloatQuadForAbsoluteZoom):
Move point/quad adjustment methods from Element.cpp to RenderObject.h
so that Range.cpp can use them as well.

LayoutTests: Tests for https://bugs.webkit.org/show_bug.cgi?id=29760
Implement CSSOM Range.getClientRects/getBoundingClientRect

Reviewed by Dan Bernstein.

  • fast/dom/Element/getBoundingClientRect-expected.txt: Copied from LayoutTests/fast/dom/getBoundingClientRect-expected.txt.
  • fast/dom/Element/getBoundingClientRect-getClientRects-relative-to-viewport-expected.txt: Copied from LayoutTests/fast/dom/getBoundingClientRect-getClientRects-relative-to-viewport-expected.txt.
  • fast/dom/Element/getBoundingClientRect-getClientRects-relative-to-viewport.html: Copied from LayoutTests/fast/dom/getBoundingClientRect-getClientRects-relative-to-viewport.html.
  • fast/dom/Element/getBoundingClientRect.html: Copied from LayoutTests/fast/dom/getBoundingClientRect.html.
  • fast/dom/Element/getClientRects-expected.txt: Copied from LayoutTests/fast/dom/getClientRects-expected.txt.
  • fast/dom/Element/getClientRects.html: Copied from LayoutTests/fast/dom/getClientRects.html.
  • fast/dom/Range/getBoundingClientRect-expected.txt: Added.
  • fast/dom/Range/getBoundingClientRect-getClientRects-relative-to-viewport-expected.txt: Added.
  • fast/dom/Range/getBoundingClientRect-getClientRects-relative-to-viewport.html: Added.
  • fast/dom/Range/getBoundingClientRect.html: Added.
  • fast/dom/Range/getClientRects-expected.txt: Added.
  • fast/dom/Range/getClientRects.html: Added.
  • fast/dom/Window/window-properties-expected.txt:
  • fast/dom/getBoundingClientRect-expected.txt: Removed.
  • fast/dom/getBoundingClientRect-getClientRects-relative-to-viewport-expected.txt: Removed.
  • fast/dom/getBoundingClientRect-getClientRects-relative-to-viewport.html: Removed.
  • fast/dom/getBoundingClientRect.html: Removed.
  • fast/dom/getClientRects-expected.txt: Removed.
  • fast/dom/getClientRects.html: Removed.
2:33 PM Changeset in webkit [48805] by eric@webkit.org
  • 4 edits in trunk/WebKit/qt

2009-09-27 Joe Ligman <joseph.ligman@mindspring.com>

Reviewed by Simon Hausmann.

[Qt] Adding API setFocus and hasFocus to QWebElement. This API is needed for
clients that want to check/set the focus node of the document.
https://bugs.webkit.org/show_bug.cgi?id=29682

  • Api/qwebelement.cpp: (QWebElement::hasFocus): (QWebElement::setFocus):
  • Api/qwebelement.h:
  • tests/qwebelement/tst_qwebelement.cpp: (tst_QWebElement::hasSetFocus):
2:32 PM Changeset in webkit [48804] by Simon Hausmann
  • 2 edits in trunk/WebCore

Unreviewed fix for WebInspector with Qt build.

Patch by Simon Hausmann <Simon Hausmann> on 2009-09-27
Simply re-generate the Qt resource file by running
WebKitTools/Scripts/generate-qt-inspector-resource

  • inspector/front-end/WebKit.qrc:
12:45 PM Changeset in webkit [48803] by eric@webkit.org
  • 2 edits in trunk/WebKitTools

2009-09-27 Jakub Wieczorek <faw217@gmail.com>

Reviewed by Darin Adler.

run-webkit-tests: Do not strip the metrics when there is no expected result for a test.
https://bugs.webkit.org/show_bug.cgi?id=29771

  • Scripts/run-webkit-tests:
12:17 PM BuildingGtk edited by kov@webkit.org
(diff)
12:12 PM Changeset in webkit [48802] by eric@webkit.org
  • 2 edits in trunk/LayoutTests

2009-09-27 Jakub Wieczorek <faw217@gmail.com>

Reviewed by Simon Hausmann.

[Qt] Remove tests that are passing from the Skipped list after implementing
the waitForPolicyDelegate() function in LayoutTestController.
https://bugs.webkit.org/show_bug.cgi?id=25037

  • platform/qt/Skipped:
12:05 PM Changeset in webkit [48801] by eric@webkit.org
  • 5 edits in trunk/WebKitTools

2009-09-27 Jakub Wieczorek <faw217@gmail.com>

Reviewed by Simon Hausmann.

[Qt] Implement layoutTestController.waitForPolicyDelegate.
https://bugs.webkit.org/show_bug.cgi?id=25037

  • DumpRenderTree/qt/DumpRenderTree.cpp: (WebCore::WebPage::acceptNavigationRequest):
  • DumpRenderTree/qt/DumpRenderTree.pro:
  • DumpRenderTree/qt/jsobjects.cpp: (LayoutTestController::reset): (LayoutTestController::notifyDone): (LayoutTestController::waitForPolicyDelegate):
  • DumpRenderTree/qt/jsobjects.h: (LayoutTestController::waitForPolicy):
2:44 AM Changeset in webkit [48800] by pfeldman@chromium.org
  • 1 edit in trunk/WebCore/ChangeLog

2009-09-27 Pavel Feldman <pfeldman@chromium.org>

Reviewed by nobody (trivial ChangeLog fix).

Restore WebCore/ChangeLog truncated in r48778.

2:19 AM Changeset in webkit [48799] by pfeldman@chromium.org
  • 3 edits in trunk/WebCore

2009-09-27 Pavel Feldman <pfeldman@chromium.org>

Reviewed by Timothy Hatcher.

Web Inspector: DOM store is being unbound twice, leading to assertion failure.

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

  • inspector/InspectorController.cpp: (WebCore::InspectorController::didOpenDatabase): (WebCore::InspectorController::didUseDOMStorage):
  • inspector/InspectorDOMStorageResource.cpp: (WebCore::InspectorDOMStorageResource::unbind):
2:14 AM Changeset in webkit [48798] by pfeldman@chromium.org
  • 7 edits in trunk/WebCore

2009-09-26 Pavel Feldman <pfeldman@chromium.org>

Reviewed by Timothy Hatcher.

Web Inspector: Do not track DOM changes while inspector window is closed.

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

  • inspector/InspectorController.cpp: (WebCore::InspectorController::inspectedWindowScriptObjectCleared): (WebCore::InspectorController::populateScriptObjects): (WebCore::InspectorController::resetScriptObjects): (WebCore::InspectorController::didCommitLoad):
  • inspector/InspectorController.h:
  • inspector/InspectorDOMAgent.cpp: (WebCore::InspectorDOMAgent::setDocument):
  • inspector/InspectorDOMAgent.h:
  • loader/FrameLoader.cpp: (WebCore::FrameLoader::dispatchWindowObjectAvailable):
  • page/android/InspectorControllerAndroid.cpp: (WebCore::InspectorController::inspectedWindowScriptObjectCleared):
12:08 AM Changeset in webkit [48797] by pfeldman@chromium.org
  • 4 edits in trunk/WebCore

2009-09-26 Pavel Feldman <pfeldman@chromium.org>

Reviewed by Timothy Hatcher.

Web Inspector: [REGRESSION] Double Clicking Resources Fails to Open in New Window

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

  • inspector/front-end/InjectedScript.js: (InjectedScript.setStyleText): (InjectedScript.openInInspectedWindow):
  • inspector/front-end/InjectedScriptAccess.js:
  • inspector/front-end/ResourcesPanel.js: (WebInspector.ResourceSidebarTreeElement.prototype.ondblclick):

Sep 26, 2009:

8:15 PM Changeset in webkit [48796] by ddkilzer@apple.com
  • 2 edits in trunk

GTK BUILD FIX: add ENABLE_ORIENTATION_EVENTS support to configure.ac

  • configure.ac: Added support for ENABLE_ORIENTATION_EVENTS.
8:02 PM Changeset in webkit [48795] by ddkilzer@apple.com
  • 6 edits in trunk

Part 2 of 2: <http://webkit.org/b/29753> DerivedSources.make broken for non-Mac targets

Reviewed by Darin Adler.

Fix ENABLE_ORIENTATION_EVENTS for non-Mac platforms.

WebCore:

  • DerivedSources.make: Moved Platform.h check for ENABLE_ORIENTATION_EVENTS into Mac-only section and added default of ENABLE_ORIENTATION_EVENTS = 0 to non-Mac section. Added ifndef test to make it possible to override both ENABLE_DASHBOARD_SUPPORT and ENABLE_ORIENTATION_EVENTS external to the makefile. Moved addition of ENABLE_ORIENTATION_EVENTS to ADDITIONAL_IDL_DEFINES to common section.
  • GNUmakefile.am: Added support for ENABLE_ORIENTATION_EVENTS if it is ever used.
  • WebCore.pro: Ditto.

WebKit:

  • chromium/features.gypi: Added 'ENABLE_ORIENTATION_EVENTS=0' to disable this feature by default.
4:14 PM Changeset in webkit [48794] by ddkilzer@apple.com
  • 3 edits in trunk/WebKitTools
<http://webkit.org/b/29764> mark-bug-fixed: add -oopen switch

Reviewed by Eric Seidel.

The -oopen switch uses the open(1) command on Mac OS X to

open the bug URL in the default web browser. If there are
similar mechanisms on other platforms, they may be added later.

  • Scripts/mark-bug-fixed:
(MarkBugFixed.init): Added -oopen switch to list of parse

options.
(MarkBugFixed._determine_bug_id_and_svn_revision): Moved logging
code into main() and extracted prompting code into
_prompt_user_for_correctness().
(MarkBugFixed._open_bug_in_web_browser): Added.
(MarkBugFixed._prompt_user_for_correctness): Added.
(MarkBugFixed.main): Added logging code from
_determine_bug_id_and_svn_revision(). Added code to call
_open_bug_in_web_browser() if the switch is set. Added code to
call _prompt_user_for_correctness() when needed.

  • Scripts/modules/bugzilla.py: (Bugzilla.short_bug_url_for_bug_id): Added.
3:57 PM Changeset in webkit [48793] by ddkilzer@apple.com
  • 3 edits in trunk/WebKitTools

svn-unapply and svn-apply don't work when used outside multiple svn working directories

<http://webkit.org/b/29744>
<rdar://problem/7252905>

Reviewed by Eric Seidel.

Some users have a workflow where svn-create-patch, svn-apply and
svn-unapply are used outside of multiple svn working
directories. Instead of aborting the scripts in these cases,
print a warning and assume that Subversion is being used.

  • Scripts/VCSUtils.pm: (determineVCSRoot): Call warn() instead of die() if both isGit() and isSVN() initially return false. Set $VCSUtils::isSVN to 1 to enforce the assumption about Subversion, then return determineSVNRoot().
  • Scripts/svn-apply: Switch to using isGit() and isSVN() from VCSUtils.pm. They both already cache their values and checking here is redundant since determineVCSRoot() is called later.
11:56 AM Changeset in webkit [48792] by eric@webkit.org
  • 18 edits in trunk/WebCore

2009-09-26 Kent Tamura <tkent@chromium.org>

Reviewed by David Kilzer.

Move placeholder-related code to HTMLTextFormControlElement from
HTMLInputElement, WMLInputElement, InputElement, and
HTMLTextAreaElement.
https://bugs.webkit.org/show_bug.cgi?id=28703

  • dom/InputElement.cpp: (WebCore::InputElement::dispatchFocusEvent): (WebCore::InputElement::dispatchBlurEvent): (WebCore::InputElement::setValueFromRenderer):
  • dom/InputElement.h:
  • html/HTMLFormControlElement.cpp: (WebCore::HTMLTextFormControlElement::HTMLTextFormControlElement): (WebCore::HTMLTextFormControlElement::~HTMLTextFormControlElement): (WebCore::HTMLTextFormControlElement::dispatchFocusEvent): (WebCore::HTMLTextFormControlElement::dispatchBlurEvent): (WebCore::HTMLTextFormControlElement::placeholderShouldBeVisible): (WebCore::HTMLTextFormControlElement::updatePlaceholderVisibility):
  • html/HTMLFormControlElement.h: (WebCore::HTMLTextFormControlElement::handleFocusEvent): (WebCore::HTMLTextFormControlElement::handleBlurEvent):
  • html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::HTMLInputElement): (WebCore::HTMLInputElement::handleFocusEvent): (WebCore::HTMLInputElement::handleBlurEvent): (WebCore::HTMLInputElement::parseMappedAttribute): (WebCore::HTMLInputElement::createRenderer): (WebCore::HTMLInputElement::setValue): (WebCore::HTMLInputElement::setValueFromRenderer):
  • html/HTMLInputElement.h: (WebCore::HTMLInputElement::supportsPlaceholder): (WebCore::HTMLInputElement::isEmptyValue):
  • html/HTMLIsIndexElement.cpp: (WebCore::HTMLIsIndexElement::parseMappedAttribute):
  • html/HTMLTextAreaElement.cpp: (WebCore::HTMLTextAreaElement::HTMLTextAreaElement): (WebCore::HTMLTextAreaElement::createRenderer):
  • html/HTMLTextAreaElement.h: (WebCore::HTMLTextAreaElement::supportsPlaceholder): (WebCore::HTMLTextAreaElement::isEmptyValue):
  • rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::RenderTextControl):
  • rendering/RenderTextControl.h:
  • rendering/RenderTextControlMultiLine.cpp: (WebCore::RenderTextControlMultiLine::RenderTextControlMultiLine):
  • rendering/RenderTextControlMultiLine.h:
  • rendering/RenderTextControlSingleLine.cpp: (WebCore::RenderTextControlSingleLine::RenderTextControlSingleLine): (WebCore::RenderTextControlSingleLine::updateFromElement):
  • rendering/RenderTextControlSingleLine.h:
  • wml/WMLInputElement.cpp: (WebCore::WMLInputElement::setValue): (WebCore::WMLInputElement::createRenderer):
  • wml/WMLInputElement.h:
10:51 AM Changeset in webkit [48791] by eric@webkit.org
  • 3 edits
    1 add in trunk/WebKitTools

2009-09-26 Zan Dobersek <zandobersek@gmail.com>

Reviewed by Gustavo Noronha.

[Layout tests] [Gtk] Gtk DumpRenderTree should use WebKit test fonts
https://bugs.webkit.org/show_bug.cgi?id=29689

Load test fonts through FontConfig before each test.
This ensures a more proper rendering of the tests.

  • DumpRenderTree/gtk/DumpRenderTree.cpp: (initializeFonts): (runTest): (main):
  • DumpRenderTree/gtk/fonts.conf: Copied from WebKitTools/DumpRenderTree/qt/fonts.conf.
  • GNUmakefile.am:
8:00 AM Changeset in webkit [48790] by eric@webkit.org
  • 2 edits in trunk/WebCore

2009-09-26 Shu Chang <Chang.Shu@nokia.com>

Reviewed by Alexey Proskuryakov.

Optimize the code so only the text from start to end is scanned.
https://bugs.webkit.org/show_bug.cgi?id=29092

On a platform with webkit+Qt+Symbian, the parsing time for a 600K text
file improved from 400ms to 40ms (10x faster).

  • dom/Text.cpp: (WebCore::Text::createWithLengthLimit):
6:12 AM Changeset in webkit [48789] by eric@webkit.org
  • 2 edits
    2 adds in trunk/WebCore

2009-09-26 Xiaomei Ji <xji@chromium.org>

Reviewed by Eric Seidel.

This Patch fixes [chromium] the drop-down is always left-aligned even
for RTL element.
https://bugs.webkit.org/show_bug.cgi?id=29612

For auto-complete, the items in drop-down should be right-aligned if
the directionality of <input> field is RTL.
For <select><option>, the items in drop-down should be right-aligned
if the directionality of <select> is RTL.

No automatic test is possible. Manual tests are added.

  • manual-tests/autofill_alignment.html: Added.
  • manual-tests/select_alignment.html: Added.
  • platform/chromium/PopupMenuChromium.cpp: (WebCore::PopupListBox::paintRow): Adjust the starting x-axis of text to be paint if it should be right-aligned.
5:47 AM Changeset in webkit [48788] by Simon Hausmann
  • 3 edits
    1 add in trunk/JavaScriptCore

Add MarkStackSymbian.cpp to build JavascriptCore for Symbian.

Patch by Yongjun Zhang <yongjun.zhang@nokia.com> on 2009-09-26
Reviewed by Simon Hausmann.

Re-use Windows shrinkAllocation implementation because Symbian doesn't
support releasing part of memory region.

Use fastMalloc and fastFree to implement allocateStack and releaseStack
for Symbian port.

(JSC::MarkStack::MarkStackArray::shrinkAllocation):

  • runtime/MarkStackSymbian.cpp: Added.

(JSC::MarkStack::initializePagesize):
(JSC::MarkStack::allocateStack):
(JSC::MarkStack::releaseStack):

Sep 25, 2009:

11:43 PM Changeset in webkit [48787] by mitz@apple.com
  • 2 edits in trunk/WebCore

REGRESSION (r48775) FontList.plist written by TOT WebKit causes Safari 4
to crash on launch
https://bugs.webkit.org/show_bug.cgi?id=29759

Reviewed by Sam Weinig.

  • platform/graphics/win/FontDatabase.cpp:

(WebCore::writeFontDatabaseToPlist): Reverted to saving the CG font DB
property list at the root of FontList.plist, but with an additional
key for the last value of the Fonts registry key.
(WebCore::populateFontDatabase): Pass the FontList.plist in its entirety
to populatFontDatabaseFromPlist.

11:41 PM Changeset in webkit [48786] by kevino@webkit.org
  • 2 edits in trunk/WebKit/wx

wx build fix. Add EmptyPluginHalterClient when creating Page.

11:31 PM Changeset in webkit [48785] by kevino@webkit.org
  • 2 edits in trunk/WebCore

Build fix. Adding missing header files.

9:32 PM Changeset in webkit [48784] by ddkilzer@apple.com
  • 2 edits in trunk/WebCore

Part 1 of 2: <http://webkit.org/b/29753> DerivedSources.make broken for non-Mac targets

Reviewed by Darin Adler.

  • DerivedSources.make: Move tests for ENABLE_CONTEXT_MENUS, ENABLE_DRAG_SUPPORT and ENABLE_INSPECTOR into Mac-only section.
7:35 PM Changeset in webkit [48783] by eric@webkit.org
  • 3 edits
    3 adds in trunk

2009-09-25 Adam Barth <abarth@webkit.org>

Reviewed by Darin Adler.

Load blocks during unload should not affect targeted loads
https://bugs.webkit.org/show_bug.cgi?id=29747

Test that we can follow targeted hyperlinks in an unload handler.

  • fast/loader/resources/unload-hyperlink-targeted-subframe.html: Added.
  • fast/loader/unload-hyperlink-targeted-expected.txt: Added.
  • fast/loader/unload-hyperlink-targeted.html: Added.

2009-09-25 Adam Barth <abarth@webkit.org>

Reviewed by Darin Adler.

Load blocks during unload should not affect targeted loads
https://bugs.webkit.org/show_bug.cgi?id=29747

Move the check of the unload state after checking for targeted links.

Test: fast/loader/unload-hyperlink-targeted.html

  • loader/FrameLoader.cpp: (WebCore::FrameLoader::loadURL):
7:27 PM Changeset in webkit [48782] by eric@webkit.org
  • 7 edits in trunk/JavaScriptCore

2009-09-25 Gabor Loki <loki@inf.u-szeged.hu>

Reviewed by Gavin Barraclough.

Fix unaligned data access in YARR_JIT on ARMv5 and below.
https://bugs.webkit.org/show_bug.cgi?id=29695

On ARMv5 and below all data access should be naturally aligned.
In the YARR_JIT there is a case when character pairs are
loaded from the input string, but this data access is not
naturally aligned. This fix introduces load32WithUnalignedHalfWords
and branch32WithUnalignedHalfWords functions which contain
naturally aligned memory loads - half word loads - on ARMv5 and below.

  • assembler/MacroAssemblerARM.cpp: (JSC::MacroAssemblerARM::load32WithUnalignedHalfWords):
  • assembler/MacroAssemblerARM.h: (JSC::MacroAssemblerARM::load32WithUnalignedHalfWords): (JSC::MacroAssemblerARM::branch32WithUnalignedHalfWords):
  • assembler/MacroAssemblerARMv7.h: (JSC::MacroAssemblerARMv7::load32WithUnalignedHalfWords): (JSC::MacroAssemblerARMv7::branch32): (JSC::MacroAssemblerARMv7::branch32WithUnalignedHalfWords):
  • assembler/MacroAssemblerX86Common.h: (JSC::MacroAssemblerX86Common::load32WithUnalignedHalfWords): (JSC::MacroAssemblerX86Common::branch32WithUnalignedHalfWords):
  • wtf/Platform.h:
  • yarr/RegexJIT.cpp: (JSC::Yarr::RegexGenerator::generatePatternCharacterPair):
7:13 PM Changeset in webkit [48781] by eric@webkit.org
  • 13 edits
    5 copies
    5 adds in trunk

2009-09-25 Kenneth Russell <kbr@google.com>

Reviewed by Dimitri Glazkov.

[Chromium] Add initial V8 bindings for WebGL
https://bugs.webkit.org/show_bug.cgi?id=29664

  • WebCore.gypi:
  • bindings/scripts/CodeGeneratorV8.pm:
  • bindings/v8/DOMObjectsInclude.h:
  • bindings/v8/DerivedSourcesAllInOne.cpp:
  • bindings/v8/V8DOMWrapper.cpp: (WebCore::V8DOMWrapper::getTemplate):
  • bindings/v8/V8Index.cpp:
  • bindings/v8/V8Index.h:
  • bindings/v8/custom/V8CanvasArrayBufferCustom.cpp: Added. (WebCore::CALLBACK_FUNC_DECL):
  • bindings/v8/custom/V8CanvasArrayCustom.h: Added. (WebCore::constructCanvasArray):
  • bindings/v8/custom/V8CanvasByteArrayCustom.cpp: Added. (WebCore::CALLBACK_FUNC_DECL): (WebCore::INDEXED_PROPERTY_GETTER): (WebCore::INDEXED_PROPERTY_SETTER):
  • bindings/v8/custom/V8CanvasFloatArrayCustom.cpp: Added. (WebCore::CALLBACK_FUNC_DECL): (WebCore::INDEXED_PROPERTY_GETTER): (WebCore::INDEXED_PROPERTY_SETTER):
  • bindings/v8/custom/V8CanvasIntArrayCustom.cpp: Added. (WebCore::CALLBACK_FUNC_DECL): (WebCore::INDEXED_PROPERTY_GETTER): (WebCore::INDEXED_PROPERTY_SETTER):
  • bindings/v8/custom/V8CanvasRenderingContext3DCustom.cpp: Added. (WebCore::jsArrayToFloatArray): (WebCore::jsArrayToIntArray): (WebCore::CALLBACK_FUNC_DECL): (WebCore::): (WebCore::vertexAttribAndUniformHelperf): (WebCore::uniformHelperi): (WebCore::uniformMatrixHelper):
  • bindings/v8/custom/V8CanvasShortArrayCustom.cpp: Added. (WebCore::CALLBACK_FUNC_DECL): (WebCore::INDEXED_PROPERTY_GETTER): (WebCore::INDEXED_PROPERTY_SETTER):
  • bindings/v8/custom/V8CanvasUnsignedByteArrayCustom.cpp: Added. (WebCore::CALLBACK_FUNC_DECL): (WebCore::INDEXED_PROPERTY_GETTER): (WebCore::INDEXED_PROPERTY_SETTER):
  • bindings/v8/custom/V8CanvasUnsignedIntArrayCustom.cpp: Added. (WebCore::CALLBACK_FUNC_DECL): (WebCore::INDEXED_PROPERTY_GETTER): (WebCore::INDEXED_PROPERTY_SETTER):
  • bindings/v8/custom/V8CanvasUnsignedShortArrayCustom.cpp: Added. (WebCore::CALLBACK_FUNC_DECL): (WebCore::INDEXED_PROPERTY_GETTER): (WebCore::INDEXED_PROPERTY_SETTER):
  • bindings/v8/custom/V8CustomBinding.h:
  • bindings/v8/custom/V8DocumentCustom.cpp: (WebCore::CALLBACK_FUNC_DECL):
  • bindings/v8/custom/V8HTMLCanvasElementCustom.cpp: (WebCore::CALLBACK_FUNC_DECL):
  • platform/graphics/GraphicsContext3D.h:
6:45 PM Changeset in webkit [48780] by jorlow@chromium.org
  • 4 edits in trunk

JavaScriptCore: This is breaking Chromium try bots, so I'm counting this as a build fix.

Patch by Jeremy Orlow <jorlow@chromium.org> on 2009-09-25
Add more svn:ignore exceptions. On different platforms, these files are
generated with different case for JavaScriptCore. Also there are some
wtf project files that get built apparently.

WebCore: This is breaking Chromium try bots, so I'm counting this as a build fix.

Patch by Jeremy Orlow <jorlow@chromium.org> on 2009-09-25
Add more svn:ignore exceptions. On different platforms, these files are
generated with different case for WebCore.

  • WebCore.gyp: Changed property svn:ignore.
5:57 PM Changeset in webkit [48779] by adachan@apple.com
  • 3 edits in trunk/JavaScriptCore

Build fix.

5:21 PM Changeset in webkit [48778] by ap@apple.com
  • 30 edits
    10 deletes in trunk

Reverting r48767, as it broke Windows build in a non-trivial way.

4:18 PM Changeset in webkit [48777] by agl@chromium.org
  • 2 edits in trunk/WebCore

2009-09-24 Tony Chang <tony@chromium.org>

Reviewed by David Levin.

Add a gyp variable to allow building a debug webcore without debug
symbols. This allows for faster compile, link, and gdb times.

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

No new tests, build config change.

  • WebCore.gyp/WebCore.gyp:
4:11 PM Changeset in webkit [48776] by darin@chromium.org
  • 2 edits in trunk/WebCore

2009-09-25 Darin Fisher <darin@chromium.org>

Reviewed by Dimitri Glazkov.

Declare RegisteredEventListener as a class instead of a struct.
This fixes a warning in the Chromium build.

  • dom/RegisteredEventListener.h:
4:07 PM Changeset in webkit [48775] by mitz@apple.com
  • 6 edits in trunk

WebCore: WebCore part of
<rdar://problem/7211635> 2 byte characters are displayed as garbaged
<rdar://problem/7212626> garbled/gibberish text (off-by-one)

Reviewed by Jon Honeycutt.

When the Windows Fonts directory contains more than one font file for a
given font name, which of the fonts gets assigned to the name in the
Core Graphics font database was determined arbitrarily and did not
always match the font GDI used for the same font name. The mismatch
caused character-to-glyph mapping to use one font and glyph rendering to
use another.

The fix is to update the Core Graphics font database from the registry
entries (that reflect the name-to-font mapping that GDI uses) after
populating it with the result of scanning the Fonts directory. As a
consequence, the directory needs to be scanned at startup every time the
registry key changes, so the last value of the registry key is kept
in the property list on disk so that it could be compared to the current
value on startup.

  • platform/graphics/win/FontDatabase.cpp:

(WebCore::populateFontDatabaseFromPlist): Now takes a property list as
a parameter and avoids round-tripping through XML by calling
wkAddFontsFromPlist() instead of wkAddFontsFromPlistRepresentation().
(WebCore::fontFilenamesFromRegistryKey):
(WebCore::cgFontDBKey):
(WebCore::writeFontDatabaseToPlist): Now takes the CG font DB property
list and a property list with the font filenames from the registry and
writes a dictionary with those property lists as values.
(WebCore::fontFilenamesFromRegistry): Added. Returns an array with the
values in the HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts
registry key.
(WebCore::populateFontDatabase): Changed to read the contents of the
Fonts registry key and compare it with the last-saved value from the
property list, and to call wkAddFontsFromRegistry() after populating the
CG font DB from the file system. Uses wkCreateFontsPlist() instead of
wkCreateFontsPlistRepresentation() to avoid round-tripping through XML.

WebKitLibraries: WebKitSystemInterface changes for
<rdar://problem/7211635> 2 byte characters are displayed as garbaged
<rdar://problem/7212626> garbled/gibberish text (off-by-one)

Reviewed by Adam Roben.

  • win/include/WebKitSystemInterface/WebKitSystemInterface.h: Added

wkAddFontsFromPlistRepresentation() and replaced
wkCreateFontsPlistRepresentation() with wkCreateFontsPlist() and
wkAddFontsFromPlistRepresentation() with wkAddFontsFromPlist().

  • win/lib/WebKitSystemInterface.lib:
  • win/lib/WebKitSystemInterface_debug.lib:
3:26 PM Changeset in webkit [48774] by ggaren@apple.com
  • 18 edits in trunk

JavaScriptCore: Inlined some object creation code, including lexicalGlobalObject access
https://bugs.webkit.org/show_bug.cgi?id=29750

Patch by Geoffrey Garen <ggaren@apple.com> on 2009-09-25
Reviewed by Darin Adler.

SunSpider says 0.5% faster.

0.8% speedup on bench-alloc-nonretained.js.
2.5% speedup on v8-splay.js.

  • interpreter/CachedCall.h:

(JSC::CachedCall::CachedCall):

  • interpreter/CallFrame.h:

(JSC::ExecState::lexicalGlobalObject):
(JSC::ExecState::globalThisValue):

  • interpreter/Interpreter.cpp:

(JSC::Interpreter::dumpRegisters):
(JSC::Interpreter::execute):
(JSC::Interpreter::privateExecute):

  • jit/JITStubs.cpp:

(JSC::DEFINE_STUB_FUNCTION):

  • runtime/FunctionConstructor.cpp:

(JSC::constructFunction):

  • runtime/ScopeChain.cpp:

(JSC::ScopeChainNode::print):

  • runtime/ScopeChain.h:

(JSC::ScopeChainNode::ScopeChainNode):
(JSC::ScopeChainNode::~ScopeChainNode):
(JSC::ScopeChainNode::push):
(JSC::ScopeChain::ScopeChain):
(JSC::ScopeChain::globalObject): Added a globalObject data member to ScopeChainNode.
Replaced accessor function for globalObject() with data member. Replaced
globalThisObject() accessor with direct access to globalThis, to match.

  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::init):

  • runtime/JSGlobalObject.h: Inlined array and object construction.

WebCore: Inlined some object creation code, including lexicalGlobalObject access
https://bugs.webkit.org/show_bug.cgi?id=29750

Patch by Geoffrey Garen <ggaren@apple.com> on 2009-09-25
Reviewed by Darin Adler.

  • bindings/js/JSInspectorBackendCustom.cpp:

(WebCore::JSInspectorBackend::currentCallFrame):

  • inspector/JavaScriptDebugServer.cpp:

(WebCore::JavaScriptDebugServer::hasBreakpoint): Updated for JavaScriptCore
API changes.

3:24 PM Changeset in webkit [48773] by hyatt@apple.com
  • 5 edits in trunk/WebCore

https://bugs.webkit.org/show_bug.cgi?id=24399
Make @import work in user stylesheets. The first bug was that the URL wasn't being set on the
user sheets themselves, so relative @import URLs couldn't resolve properly. The second bug
was that the loads would be denied. This is fixed by using the requestUserCSSStyleSheet method
instead of the normal request method. In order to know when to do this, CSSStyleSheets now have
a propagated boolean, m_isUserStyleSheet, that lets them know if they are user stylesheets or not.

Reviewed by Anders Carlsson.

  • css/CSSImportRule.cpp:

(WebCore::CSSImportRule::insertedIntoParent):

  • css/CSSStyleSheet.cpp:

(WebCore::CSSStyleSheet::CSSStyleSheet):

  • css/CSSStyleSheet.h:

(WebCore::CSSStyleSheet::setIsUserStyleSheet):
(WebCore::CSSStyleSheet::isUserStyleSheet):

  • dom/Document.cpp:

(WebCore::Document::pageUserSheet):
(WebCore::Document::pageGroupUserSheets):

3:02 PM Changeset in webkit [48772] by ddkilzer@apple.com
  • 2 edits in trunk/WebKitTools
<http://webkit.org/b/29718> mark-bug-fixed: add -uupdate-only switch

Reviewed by Eric Seidel.

  • Scripts/mark-bug-fixed:
(MarkBugFixed.init): Added -uupdate-only switch to list

of parse options.

(MarkBugFixed.main): When -uupdate-only is specified, add a

comment to the bug without marking it Resolved/Fixed.

3:01 PM Changeset in webkit [48771] by Simon Fraser
  • 3 edits
    4 adds in trunk

2009-09-25 Simon Fraser <Simon Fraser>

Reviewed by Darin Adler.

Crash with hardware accelerated rotation of a PDF image in a data URL
<rdar://problem/7250378>

PDF images don't return a color space from CGImageGetColorSpace(),
so we need to null-check the return value before use.

Test: compositing/color-matching/pdf-image-match.html

  • platform/graphics/mac/GraphicsLayerCA.mm: (WebCore::GraphicsLayerCA::setContentsToImage):
2:40 PM Changeset in webkit [48770] by Darin Adler
  • 2 edits in trunk/WebKit/win

Speed up access to history items by caching date computation.

Patch by Darin Adler <Darin Adler> on 2009-09-25
Reviewed by Steve Falkenburg.

  • History/WebHistory.mm:

(getDayBoundaries): Refactored from timeIntervalForBeginningOfDay.
Returns the beginning of the day that the passed time is within and
the beginning of the next day.
(beginningOfDay): Added. Uses getDayBoundaries so it can be fast for
multiple dates within the same day, which is the common case.
(dateKey): Added. Calls beginningOfDay and converts to an integer.
(WebHistory::findKey): Changed to call dateKey instead of
timeIntervalForBeginningOfDay.

2:08 PM Changeset in webkit [48769] by Darin Adler
  • 8 edits
    1 copy
    5 adds in trunk

Null-deref when first access to an Attr node is after its Element is destroyed
https://bugs.webkit.org/show_bug.cgi?id=29748

Patch by Darin Adler <Darin Adler> on 2009-09-25
Reviewed by Geoffrey Garen.

WebCore:

Test: fast/dom/Attr/access-after-element-destruction.html

  • bindings/js/JSAttrCustom.cpp:

(WebCore::JSAttr::markChildren): Added. Keeps the ownerElement alive as
long as the Attr is alive.

  • bindings/js/JSNamedNodeMapCustom.cpp:

(WebCore::JSNamedNodeMap::markChildren): Added. Keeps the Element alive as
long as the NamedNodeMap is alive.

  • dom/Attr.idl: Added CustomMarkFunction attribute.
  • dom/NamedAttrMap.cpp:

(WebCore::NamedNodeMap::getAttributeItem): Tweaked formatting.
(WebCore::NamedNodeMap::detachFromElement): Call clearAttributes so we don't
have attributes hanging around that might need an Attr node created; that way
we won't crash with a null-dereference trying to deal with one of them. This
can't happen when working with JavaScript since the Element will be kept
alive due to the change above.
(WebCore::NamedNodeMap::addAttribute): Fix function name in comment.
(WebCore::NamedNodeMap::removeAttribute): Removed unneeded "+ 1" and added
missing braces.

  • dom/NamedAttrMap.h: Made the element function public so it can be used by

the JavaScript binding to keep the Element alive.

  • dom/NamedNodeMap.idl: Added CustomMarkFunction attribute.

LayoutTests:

  • fast/dom/Attr/access-after-element-destruction-expected.txt: Added.
  • fast/dom/Attr/access-after-element-destruction.html: Added.
  • fast/dom/Attr/script-tests/TEMPLATE.html: Copied from LayoutTests/fast/dom/Node/script-tests/TEMPLATE.html.
  • fast/dom/Attr/script-tests/access-after-element-destruction.js: Added.
2:07 PM Changeset in webkit [48768] by Darin Adler
  • 2 edits in trunk/WebKitTools
  • Scripts/prepare-ChangeLog: Leave files from the script-tests directory

out, just as we do for the resources directory.

Reviewed by Geoffrey Garen.

1:44 PM Changeset in webkit [48767] by ap@apple.com
  • 30 edits
    10 adds in trunk

Reviewed by Darin Adler and Sam Weinig.

Onclick not fired for an element copied with cloneContents() or cloneNode()
https://bugs.webkit.org/show_bug.cgi?id=25130

The change here is that JS event listeners don't keep a reference to a global object from
where they were created, and instead take it as a parameter when parsing source code. Also,
the listener creation won't fail just because it happens for an element in a frameless
document.
Thus, moving nodes between documents no longer results in having incorrect registered
lazy event listeners on them.

Tests: fast/events/attribute-listener-cloned-from-frameless-doc-context-2.html

fast/events/attribute-listener-cloned-from-frameless-doc-context.html
fast/events/attribute-listener-cloned-from-frameless-doc.xhtml
fast/events/attribute-listener-extracted-from-frameless-doc-context-2.html
fast/events/attribute-listener-extracted-from-frameless-doc-context.html

  • bindings/js/JSEventListener.cpp: (WebCore::JSEventListener::JSEventListener): Don't take a reference to JSDOMGlobalObject. (WebCore::JSEventListener::jsFunction): Take ScriptExecutionContext as a parameter for getting to JSDOMGlobalObject. It's not used in base class, but is in JSLazyEventListner. (WebCore::JSEventListener::markJSFunction): Don't mark the global object. (WebCore::JSEventListener::handleEvent): Get global object from ScriptExecutionContext. (WebCore::JSEventListener::reportError): Ditto.
  • bindings/js/JSEventListener.h: (WebCore::JSEventListener::create): Don't keep a reference to JSDOMGlobalObject.
  • bindings/js/JSLazyEventListener.cpp: (WebCore::JSLazyEventListener::parseCode): Listener creation was split between this function and ScriptEventListener; moved it here, as JS global object can be different now.
  • bindings/js/JSLazyEventListener.h: (WebCore::JSLazyEventListener::create): Keep source URL, which can not be determined at parsing time.
  • bindings/js/ScriptEventListener.cpp: (WebCore::createAttributeEventListener): Moved code for listener creation to JSLazyEventListener. XSSAuditor code remains here, because tests expect that errors are logged at document parsing time, and because I don't know what other side effects moving it vould have.
  • dom/EventListener.h: handleEvent() and reportError() now take ScriptExecutionContext, because JSC needs a global context here.
  • bindings/js/JSAbstractWorkerCustom.cpp: (WebCore::JSAbstractWorker::addEventListener): (WebCore::JSAbstractWorker::removeEventListener):
  • bindings/js/JSDOMApplicationCacheCustom.cpp: (WebCore::JSDOMApplicationCache::addEventListener): (WebCore::JSDOMApplicationCache::removeEventListener):
  • bindings/js/JSDOMGlobalObject.cpp: (WebCore::JSDOMGlobalObject::createJSAttributeEventListener):
  • bindings/js/JSDOMWindowCustom.cpp: (WebCore::JSDOMWindow::addEventListener): (WebCore::JSDOMWindow::removeEventListener):
  • bindings/js/JSEventSourceCustom.cpp: (WebCore::JSEventSource::addEventListener): (WebCore::JSEventSource::removeEventListener):
  • bindings/js/JSMessagePortCustom.cpp: (WebCore::JSMessagePort::addEventListener): (WebCore::JSMessagePort::removeEventListener):
  • bindings/js/JSNodeCustom.cpp: (WebCore::JSNode::addEventListener): (WebCore::JSNode::removeEventListener):
  • bindings/js/JSSVGElementInstanceCustom.cpp: (WebCore::JSSVGElementInstance::addEventListener): (WebCore::JSSVGElementInstance::removeEventListener):
  • bindings/js/JSWorkerContextCustom.cpp: (WebCore::JSWorkerContext::addEventListener): (WebCore::JSWorkerContext::removeEventListener):
  • bindings/js/JSXMLHttpRequestCustom.cpp: (WebCore::JSXMLHttpRequest::addEventListener): (WebCore::JSXMLHttpRequest::removeEventListener):
  • bindings/js/JSXMLHttpRequestUploadCustom.cpp: (WebCore::JSXMLHttpRequestUpload::addEventListener): (WebCore::JSXMLHttpRequestUpload::removeEventListener):
  • bindings/objc/ObjCEventListener.h:
  • bindings/objc/ObjCEventListener.mm: (WebCore::ObjCEventListener::handleEvent):
  • bindings/scripts/CodeGeneratorJS.pm:
  • dom/EventTarget.cpp: (WebCore::EventTarget::fireEventListeners):
  • inspector/InspectorDOMAgent.cpp: (WebCore::InspectorDOMAgent::handleEvent):
  • inspector/InspectorDOMAgent.h:
  • inspector/InspectorDOMStorageResource.cpp: (WebCore::InspectorDOMStorageResource::handleEvent):
  • inspector/InspectorDOMStorageResource.h:
  • loader/ImageDocument.cpp: (WebCore::ImageEventListener::handleEvent):
  • svg/animation/SVGSMILElement.cpp: (WebCore::ConditionEventListener::handleEvent):
  • workers/WorkerContext.cpp: (WebCore::WorkerContext::reportException): Don't pass global object to JSEventListener::create(), which no longer needs it. Note that some of these functions still have an early return for null global object, which can probably be removed in a later patch. Pass ScriptExecutionContext to EventListener methods that now need it.
1:24 PM Changeset in webkit [48766] by Darin Adler
  • 1 edit
    1 add in trunk/LayoutTests

Checked in a file that was created by make-script-test-wrappers.

Patch by Darin Adler <Darin Adler> on 2009-09-25

  • platform/gtk/editing/pasteboard/middle-click-onpaste.html: Added.
1:00 PM Changeset in webkit [48765] by abarth@webkit.org
  • 2 edits in trunk/WebKitTools

2009-09-25 Adam Barth <abarth@webkit.org>

Unreviewed. Added Tony to committers.py because he's a
committer now.

  • Scripts/modules/committers.py:
11:55 AM Changeset in webkit [48764] by adele@apple.com
  • 5 edits
    2 adds in trunk

WebCore: Fix for https://bugs.webkit.org/show_bug.cgi?id=29740
<rdar://problem/7168738> Gmail: After changing a foreground text color, pressing return doesn't apply background to new line

Patch by Enrica Casucci <enrica@apple.com> on 2009-09-25
Reviewed by Darin Adler, Dan Bernstein, Adele Peterson, and others.

Change the way style is preserved when inserting a new paragraph.
The original code handled insertion at the beginning and at the end of a paragraph as special
cases. The newly created paragraph contained a set of nodes generated starting from the
computed style of the insertion node. This approach has two problems:

  1. if the insertion node has a non opaque background color and one of the parent element did have

a solid background color the new paragraph did not have the element with the solid color in the tree.

  1. in some circumstances it generated more markup than the original paragraph had (a span with bold, italic,

background color and some font attribute was being reproduced as span + bold + italic + font as separate tags.
The new approach is to recreate in the new paragraph the same hierarchy of nodes found in the
paragraph where the insertion point is.

Test: editing/inserting/insert-bg-font.html

  • editing/InsertParagraphSeparatorCommand.cpp:

(WebCore::InsertParagraphSeparatorCommand::getAncestorsInsideBlock): retrieves the list of all the ancestors
between the insert node and the outer block.
(WebCore::InsertParagraphSeparatorCommand::cloneHierarchyUnderNewBlock): uses the list of ancestors to recreate
in the new paragraph the same element hierarchy present in the starting paragraph.
(WebCore::InsertParagraphSeparatorCommand::doApply): changed the code to handle the general case of insertion
in the middle of the paragraph to use the new methods. Changed the handling of the insertion at the beginning and
at the end of the paragraph to use the new methods instead of applying the calculated style.

  • editing/InsertParagraphSeparatorCommand.h: added methods getAncestorsInsideBlock and cloneHierarchyUnderNewBlock.

LayoutTests: Updated the expected results to reflect the changes in the way the new paragraph
is created and added test case for https://bugs.webkit.org/show_bug.cgi?id=29740
<rdar://problem/7168738> Gmail: After changing a foreground text color, pressing return doesn't apply background to new line

Patch by Enrica Casucci <enrica@apple.com> on 2009-09-25
Reviewed by Darin Adler, Dan Bernstein, Adele Peterson, and others.

  • editing/inserting/insert-bg-font.html: Added.
  • platform/mac/editing/inserting/insert-bg-font-expected.txt: Added.
  • platform/mac/editing/pasteboard/5478250-expected.txt:
11:36 AM Changeset in webkit [48763] by eric@webkit.org
  • 4 edits in trunk/WebCore

2009-09-25 Patrick Mueller <Patrick_Mueller@us.ibm.com>

Reviewed by Timothy Hatcher.

Content-type parameters not taken into account when building form-data
https://bugs.webkit.org/show_bug.cgi?id=28970

existing manual test case extended with new tests

  • English.lproj/localizedStrings.js:
  • inspector/front-end/ResourceView.js: (WebInspector.ResourceView.prototype._refreshFormData): (WebInspector.ResourceView.prototype._refreshParms):
  • manual-tests/inspector/display-form-data.html:
11:27 AM Changeset in webkit [48762] by eric@webkit.org
  • 5 edits in trunk/WebKitTools

2009-09-25 Eric Seidel <eric@webkit.org>

Reviewed by Adam Barth.

commit-queue should auto-retry patches which fail to commit due to out of date files
https://bugs.webkit.org/show_bug.cgi?id=28316

  • Scripts/bugzilla-tool:
    • Handle new CheckoutNeedsUpdate exception.
  • Scripts/modules/logging_unittest.py:
    • Call the ScriptError constructor correctly (this test had regressed).
  • Scripts/modules/scm.py:
    • Added the ability to define custom error handlers for run_command and added a commit_error_handler which throws CheckoutNeedsUpdate instead of ScriptError.
    • Re-ordered ScriptError constructor arguments to make ScriptError("message text") usage possible.
  • Scripts/modules/scm_unittest.py:
    • Added tests of new error handlers.
10:53 AM Changeset in webkit [48761] by eric@webkit.org
  • 6 edits
    4 adds in trunk

2009-09-25 Yuan Song <song.yuan@ericsson.com>

Reviewed by Darin Adler.

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

Add test "invalid-domain-change-throws-exception.html" to ensure a SECURITY_ERR exception is raised if an attempt is made to change document.domain to an invalid value. In the existing test case "basic-textareas.html", fix the faulty behavior of setting document.domain to invalid value, and replace the data URL to a file URL that points to "basic-textareas-standards.html" in order to make "basic-textareas.html" runnable in a browser.

  • fast/forms/basic-textareas.html:
  • fast/forms/resources/basic-textareas-standards.html: Added.
  • fast/js/invalid-domain-change-throws-exception-expected.txt: Added.
  • fast/js/invalid-domain-change-throws-exception.html: Added.
  • fast/js/resources/invalid-domain-change-throws-exception.js: Added.

2009-09-25 Yuan Song <song.yuan@ericsson.com>

Reviewed by Darin Adler.

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

Raise SECURITY_ERR exception if an attempt is made to change document.domain to an invalid value.

Test: fast/js/invalid-domain-change-throws-exception.html

  • dom/Document.cpp: (WebCore::Document::setDomain):
  • dom/Document.h:
  • dom/Document.idl:
10:40 AM Changeset in webkit [48760] by eric@webkit.org
  • 3 edits in trunk/WebKitTools

2009-09-25 Eric Seidel <eric@webkit.org>

Reviewed by Adam Barth.

commit-queue should give better feedback when failing a patch
https://bugs.webkit.org/show_bug.cgi?id=29316

  • Scripts/bugzilla-tool:
    • Update ScriptError uses to the new constructor format.
    • Move CommitQueue._run_command to WebKitLandingScripts.run_command_with_teed_output so that we can print to both stdout as well as an output buffer for error reporting.
    • Update run_and_throw_if_fail to use teed output so that it can report the "output" as part of ScriptError.
    • Use e.message_with_output() when failing a patch (this is the real fix here). I also removed use of "This patch will require manual commit." as that's not always true.
    • Add missing word "bug" from log message.
  • Scripts/modules/scm.py:
    • Make ScriptError save a bunch more data so that error messages can be nicer.
    • Update ScriptError callers.
10:31 AM BuildingOnWindows edited by dbates@webkit.org
Changed title of subsection to reflect fix for linker problems (diff)
9:36 AM Changeset in webkit [48759] by eric@webkit.org
  • 3 edits
    2 adds in trunk

2009-09-25 Adam Barth <abarth@webkit.org>

Reviewed by Dimitri Glazkov.

[V8] Teach ScheduledAction::execute about isolated worlds
https://bugs.webkit.org/show_bug.cgi?id=27703

Test a strange error condition after clearing a setInterval
timer. The key point is not to crash on this test.

  • fast/dom/timer-clear-interval-in-handler-and-generate-error-expected.txt: Added.
  • fast/dom/timer-clear-interval-in-handler-and-generate-error.html: Added.

2009-09-25 Adam Barth <abarth@webkit.org>

Reviewed by Dimitri Glazkov.

[V8] Teach ScheduledAction::execute about isolated worlds
https://bugs.webkit.org/show_bug.cgi?id=27703

When setTimeout is called with a string argument in an isolated
world, we now compile the string in the isolated world.

Last time we tried this change, we got a lot of crashes. This
time we're using a fresh local handle as our context to avoid
trouble if the peristent handle gets disposed before we leave
the context.

Test: fast/dom/timer-clear-interval-in-handler-and-generate-error.html

  • bindings/v8/ScheduledAction.cpp: (WebCore::ScheduledAction::execute):
9:30 AM Changeset in webkit [48758] by eric@webkit.org
  • 2 edits in trunk/WebKit/qt

2009-09-25 Csaba Osztrogonac <oszi@inf.u-szeged.hu>

Reviewed by Simon Hausmann.

[Qt] Make tst_qwebframe work if Qt built without SSL support
https://bugs.webkit.org/show_bug.cgi?id=29735

  • tests/qwebframe/tst_qwebframe.cpp: Missing #ifndef blocks added.
9:23 AM Changeset in webkit [48757] by eric@webkit.org
  • 2 edits in trunk/WebCore

2009-09-25 Paul Godavari <paul@chromium.org>

Reviewed by Darin Fisher.

Fix a regression in Mac Chromium popup menus, where the user's
selection was ignored and the popup became unresponsive.
https://bugs.webkit.org/show_bug.cgi?id=29726

The fix is to notify the popup's client that the popup was hidden,
even if the popup has no parent.

  • platform/chromium/PopupMenuChromium.cpp: (WebCore::PopupListBox::hidePopup):
9:10 AM Changeset in webkit [48756] by eric@webkit.org
  • 2 edits in trunk/JavaScriptCore

2009-09-25 Laszlo Gombos <Laszlo Gombos>

Reviewed by Gavin Barraclough.

Add ARM version detection rules for Symbian
https://bugs.webkit.org/show_bug.cgi?id=29715

  • wtf/Platform.h:
8:47 AM Changeset in webkit [48755] by pfeldman@chromium.org
  • 5 edits in trunk/WebCore

2009-09-25 Alexander Pavlov <apavlov@chromium.org>

Reviewed by Dan Bernstein.

Enable Pasteboard::writePlainText for Chromium and fix code style nits.
https://bugs.webkit.org/show_bug.cgi?id=29734

  • platform/chromium/PasteboardChromium.cpp: (WebCore::Pasteboard::writePlainText):
  • platform/gtk/PasteboardGtk.cpp: (WebCore::Pasteboard::writePlainText): (WebCore::Pasteboard::writeURL):
  • platform/mac/PasteboardMac.mm: (WebCore::Pasteboard::writeSelection): (WebCore::Pasteboard::writePlainText): (WebCore::Pasteboard::writeURL):
  • platform/qt/PasteboardQt.cpp: (WebCore::Pasteboard::writePlainText):
8:32 AM Changeset in webkit [48754] by Adam Roben
  • 4 edits in trunk/WebKit/win

Add SPI to invalidate a WebView's backing store

This is useful in conjunction with
IWebUIDelegatePrivate2::drawBackground. This provides a way for the UI
delegate to force WebView to get its background redrawn.

Fixes <http://webkit.org/b/29737> Need SPI to invalidate a WebView's
backing store

Reviewed by Anders Carlsson.

  • Interfaces/IWebViewPrivate.idl: Added invalidateBackingStore.
  • WebView.cpp:

(WebView::invalidateBackingStore): If rect is 0, invalidate our whole
client rect. Otherwise invalidate the intersection of rect with our
client rect.

  • WebView.h:
7:01 AM Changeset in webkit [48753] by kov@webkit.org
  • 4 edits in trunk/WebKit/gtk

2009-09-25 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>

Reviewed by Xan Lopez.

Pop down the context menu when the page transitions to committed,
to avoid keeping a context menu out of context.

  • WebCoreSupport/FrameLoaderClientGtk.cpp: (WebKit::FrameLoaderClient::transitionToCommittedForNewPage):
  • webkit/webkitprivate.h:
  • webkit/webkitwebview.cpp: (destroy_menu_cb): (webkit_web_view_forward_context_menu_event):
1:54 AM Changeset in webkit [48752] by Simon Hausmann
  • 2 edits in trunk/WebCore

https://bugs.webkit.org/show_bug.cgi?id=28876
[Qt] reduce peak memory consumption of text decoding.

Patch by Yongjun Zhang <yongjun.zhang@nokia.com> on 2009-09-25
Reviewed by Ariya Hidayat.

Chop large input buffer into small buffers to reduce peak memory
during decoding.

  • platform/text/qt/TextCodecQt.cpp:

(WebCore::TextCodecQt::decode):

1:53 AM Changeset in webkit [48751] by Simon Hausmann
  • 4 edits in trunk/WebKit/qt

[Qt] Update QWebElement API to remove script related methods.
QWebElement::evaluateScript is the only one kept, these are
removed to postpone most of the QtWebKit<->JavaScript API design
after 4.6.
https://bugs.webkit.org/show_bug.cgi?id=29708

Patch by Jocelyn Turcotte <jocelyn.turcotte@nokia.com> on 2009-09-24
Reviewed by Simon Hausmann.

  • Api/qwebelement.cpp:
  • Api/qwebelement.h:

Methods removed:

  • QWebElement::callFunction
  • QWebElement::functions
  • QWebElement::scriptableProperty
  • QWebElement::setScriptableProperty
  • QWebElement::scriptableProperties
  • tests/qwebelement/tst_qwebelement.cpp:

(tst_QWebElement::evaluateScript):

1:19 AM Changeset in webkit [48750] by Simon Hausmann
  • 4 edits in trunk/WebKit/qt

[Qt] Rename QWebElement::evaluateScript
to QWebElement::evaluateJavaScript.
https://bugs.webkit.org/show_bug.cgi?id=29709

Patch by Jocelyn Turcotte <jocelyn.turcotte@nokia.com> on 2009-09-25
Reviewed by Simon Hausmann.

  • Api/qwebelement.cpp:

(QWebElement::evaluateJavaScript):

  • Api/qwebelement.h:
  • tests/qwebelement/tst_qwebelement.cpp:

(tst_QWebElement::evaluateJavaScript):

1:18 AM Changeset in webkit [48749] by Simon Hausmann
  • 5 edits in trunk/WebKit/qt

[Qt] Update the stypeProperty API of QWebElement.
https://bugs.webkit.org/show_bug.cgi?id=29711

Patch by Jocelyn Turcotte <jocelyn.turcotte@nokia.com> on 2009-09-25
Reviewed by Simon Hausmann.

  • Api/qwebelement.cpp:

(QWebElement::styleProperty):

  • Merge the stypeProperty and the computedStyleProperty methods
  • Remove the default value for the style resolving enum
  • Rename ResolveRule to StyleResolveStrategy

(QWebElement::setStyleProperty):

  • Remove the priority argument since it is possible to control the behaviour by adding !important or removing in the value.
  • Api/qwebelement.h:
  • tests/qwebelement/tst_qwebelement.cpp:

(tst_QWebElement::style):
(tst_QWebElement::computedStyle):

  • tests/qwebframe/tst_qwebframe.cpp:

Sep 24, 2009:

11:53 PM Changeset in webkit [48748] by jhoneycutt@apple.com
  • 30 edits
    7 adds in trunk

Add a mechanism for automatically halting plug-ins.

Reviewed by Oliver Hunt and Alice Liu.

WebCore:

  • GNUmakefile.am:
  • WebCore.base.exp:

Update export of Page constructor.

  • WebCore.gypi:
  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:

Add PluginHalter.{h,cpp}, PluginHalterClient.h, and
HaltablePlugin.h.

  • WebCore.xcodeproj/project.pbxproj:

Add files to Mac project.

  • loader/EmptyClients.h:

Added an empty PluginHalterClient.
(WebCore::EmptyPluginHalterClient::shouldHaltPlugin):
Return false.

  • page/PluginHalter.cpp: Added.

(WebCore::PluginHalter::PluginHalter):
(WebCore::PluginHalter::didStartPlugin):
Add the object to the plug-in set. If this is the only item in the set,
set m_oldestStartTime to this object's time, and start the timer.
(WebCore::PluginHalter::didStopPlugin):
Remove the plug-in from the set.
(WebCore::PluginHalter::timerFired):
Find the cut-off time as the current time minus the allowed run time;
plug-ins older than this may be halted. Iterate over the plug-ins. Find
the object with the oldest start time that is too young to be halted;
we'll use its start time to set the timer's next fire time. For all
plug-ins that are candidates to be halted, call the
PluginHalterClient's shouldHaltPlugin(). If this function returns true,
call the plug-in's halt() function. Remove these objects from the set
of tracked plug-ins. Call startTimerIfNecessary() to restart the timer.
(WebCore::PluginHalter::startTimerIfNecessary):
If the timer is set to fire, or the set of tracked plug-ins is empty,
return early. Set the timer to fire after the oldest plug-in has run
for the allowed run time.

  • page/PluginHalter.h: Added.

(WebCore::PluginHalter::setPluginAllowedRunTime):

  • page/PluginHalterClient.h: Added.

(WebCore::PluginHalterClient::~PluginHalterClient)

  • page/Page.cpp:

(WebCore::Page::Page):
Initialize m_pluginHalterClient. Call pluginHalterEnabledStateChanged()
to create the PluginHalter if necessary.
(WebCore::Page::pluginHalterEnabledStateChanged):
If plug-in halting is enabled, create the PluginHalter. If it is
disabled, clear it.
(WebCore::Page::pluginAllowedRunTimeChanged):
If there is a plug-in halter, call its setPluginAllowedRunTime().
(WebCore::Page::didStartPlugin):
If there is a plug-in halter, call its didStartPlugin().
(WebCore::Page::didStopPlugin):
If there is a plug-in halter, call its didStopPlugin().

  • page/Page.h:

Add a parameter to the Page constructor for the PluginHalterClient.
Added declarations for didStartPlugin() and didStopPlugin(), which are
called when HaltablePlugins are added to or removed from the page. Adds
pluginAllowedRunTimeChanged() and pluginHalterEnabledStateChanged() to
notify the Page when these settings are changed. Added members to hold
the PluginHalter and the PluginHalterClient.

  • page/Settings.cpp:

(WebCore::Settings::Settings):
(WebCore::Settings::setPluginHalterEnabled):
If the enabled state has changed, call the Page's
pluginHalterEnabledStateChanged().
(WebCore::Settings::setPluginAllowedRunTime):
Call the Page's pluginAllowedRunTimeChanged().

  • page/Settings.h:

(WebCore::Settings::pluginHalterEnabled):
(WebCore::Settings::pluginAllowedRunTime):

  • page/HaltablePlugin.h: Added. Defines an interface for plug-ins that

can be automatically halted.
(WebCore::HaltablePlugin::~HaltablePlugin)

  • svg/graphics/SVGImage.cpp:

(WebCore::SVGImage::dataChanged):
Pass a dummy PluginHalterClient.

WebKit/gtk/:

  • webkit/webkitwebview.cpp:

(webkit_web_view_init):
Pass 0 for new Page constructor argument.

WebKit/mac/:

  • WebView/WebView.mm:

(-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
Pass 0 for new Page constructor argument.

WebKit/qt/:

  • Api/qwebpage.cpp:

(QWebPagePrivate::QWebPagePrivate):
Pass 0 for new Page constructor argument.

WebKit/win:

  • Interfaces/IWebPluginHalterDelegate.idl: Added. Defines an interface

for a delegate that determines whether plug-ins should be halted.

  • Interfaces/IWebPreferencesPrivate.idl:

Declare functions to get and set the enabled state of the plug-in
halter and the plug-in allowed run time.

  • Interfaces/IWebViewPrivate.idl:

Declare functions to get and set the IWebPluginHalterDelegate.

  • Interfaces/WebKit.idl:
  • WebCoreSupport/WebPluginHalterClient.cpp: Added.

(WebPluginHalterClient::WebPluginHalterClient):
(WebPluginHalterClient::shouldHaltPlugin):
Get the IWebPluginHalterDelegate for the WebView. Create a WebKit
DOMNode for the WebCore Node. Call the delegate's shouldHaltPlugin().
If the call fails, return false. Otherwise, return the result of the
call.

  • WebCoreSupport/WebPluginHalterClient.h: Added.
  • WebKit.vcproj/Interfaces.vcproj:

Add IWebPluginHalterDelegate.idl.

  • WebKit.vcproj/WebKit.vcproj:

Add WebPluginHalterClient.{h,cpp}.

  • WebPreferenceKeysPrivate.h:

Define WebKitPluginHalterEnabledPreferenceKey and
WebKitPluginAllowedRunTimePreferenceKey.

  • WebPreferences.cpp:

(WebPreferences::initializeDefaultSettings):
Leave plug-in halting disabled by default. Set the default value for
the plug-in allowed run time to the max value of an unsigned int.
(WebPreferences::setPluginHalterEnabled):
(WebPreferences::pluginHalterEnabled):
(WebPreferences::setPluginAllowedRunTime):
(WebPreferences::pluginAllowedRunTime):

  • WebPreferences.h:
  • WebView.cpp:

(WebView::close):
Clear the IWebPluginHalterDelegate.
(WebView::initWithFrame):
Pass a WebPluginHalterClient when creating the Page.
(WebView::notifyPreferencesChanged):
Set the new settings when the preferences changed notification is
received.
(WebView::setPluginHalterDelegate):
(WebView::pluginHalterDelegate):

  • WebView.h:

Declare overrides of setPluginHalterDelegate() and
pluginHalterDelegate(). Added a member to track the
IWebPluginHalterDelegate.

11:26 PM Changeset in webkit [48747] by xan@webkit.org
  • 2 edits in trunk/JavaScriptCore

2009-09-24 Xan Lopez <xlopez@igalia.com>

Reviewed by Mark "Do It!" Rowe.

Some GCC versions don't like C++-style comments in preprocessor
directives, change to C-style to shut them up.

  • wtf/Platform.h:
8:53 PM Changeset in webkit [48746] by Simon Fraser
  • 3 edits
    4 adds in trunk

2009-09-24 Simon Fraser <Simon Fraser>

Reviewed by Dan Bernstein.

REGRESSION: webkit-transform scale no longer works properly in nightly build
https://bugs.webkit.org/show_bug.cgi?id=29730

When the initial or final state of a scale animation does not specify a transform,
use a default scale of 1, rather than zero.

Test: compositing/transitions/scale-transition-no-start.html

  • platform/graphics/mac/GraphicsLayerCA.mm: (WebCore::getTransformFunctionValue):
7:45 PM Changeset in webkit [48745] by atwilson@chromium.org
  • 21 edits in trunk

WebCore: isEnabled switch for notifications (experimental) in Page Settings
https://bugs.webkit.org/show_bug.cgi?id=28930

Patch by John Gregg <johnnyg@google.com> on 2009-09-14
Reviewed by Eric Seidel.

Adds a run-time flag in Settings object that controls whether
to expose desktop notifications.

No new test, but test code also modified to set this preference.

  • page/DOMWindow.cpp:

(WebCore::DOMWindow::webkitNotifications): check preference before returning notifications object

  • page/Settings.cpp:

(WebCore::Settings::Settings):
(WebCore::Settings::setExperimentalNotificationsEnabled):

  • page/Settings.h:

(WebCore::Settings::experimentalNotificationsEnabled):

WebKit/mac: isEnabled switch for notifications (experimental) in Page Settings
https://bugs.webkit.org/show_bug.cgi?id=28930

Patch by John Gregg <johnnyg@google.com> on 2009-09-14
Reviewed by Eric Seidel.

Adds support for the experimentalNotificationsEnabled flag in Settings
through WebPreferencesPrivate.

  • WebView/WebPreferenceKeysPrivate.h:
  • WebView/WebPreferences.mm:

(+[WebPreferences initialize]):
(-[WebPreferences experimentalNotificationsEnabled]):
(-[WebPreferences setExperimentalNotificationsEnabled:]):

  • WebView/WebPreferencesPrivate.h:
  • WebView/WebView.mm:

(-[WebView _preferencesChangedNotification:]):

WebKit/win: Enable switch for notifications (experimental) in Page Settings
https://bugs.webkit.org/show_bug.cgi?id=28930

Patch by John Gregg <johnnyg@google.com> on 2009-09-14
Reviewed by Eric Seidel.

Adds support for the experimentalNotificationsEnabled flag in Settings through
WebPreferencesPrivate interface. Also cleans up some issues accessing the
notification delegate through DumpRenderTree.

  • Interfaces/IWebPreferencesPrivate.idl:
  • WebCoreSupport/WebDesktopNotificationsDelegate.cpp:

(WebDesktopNotificationsDelegate::hasNotificationDelegate):
(WebDesktopNotificationsDelegate::notificationDelegate):

  • WebPreferenceKeysPrivate.h:
  • WebPreferences.cpp:

(WebPreferences::initializeDefaultSettings):
(WebPreferences::setExperimentalNotificationsEnabled):
(WebPreferences::experimentalNotificationsEnabled):

  • WebPreferences.h:
  • WebView.cpp:

(WebView::notifyPreferencesChanged):

WebKitTools: Enable switch for notifications (experimental) in Page Settings
https://bugs.webkit.org/show_bug.cgi?id=28930

Patch by John Gregg <johnnyg@google.com> on 2009-09-14
Reviewed by Eric Seidel.

Now that desktop notifications are controlled by run-time switch,
set that switch to true for DumpRenderTree.

  • DumpRenderTree/mac/DumpRenderTree.mm:

(resetDefaultsToConsistentValues):

  • DumpRenderTree/win/DumpRenderTree.cpp:

(resetDefaultsToConsistentValues):

  • DumpRenderTree/win/UIDelegate.cpp:

(UIDelegate::QueryInterface):

7:40 PM Changeset in webkit [48744] by oliver@apple.com
  • 5 edits in trunk/JavaScriptCore

Division is needlessly slow in 64-bit
https://bugs.webkit.org/show_bug.cgi?id=29723

Reviewed by Gavin Barraclough.

Add codegen for op_div on x86-64

7:25 PM Changeset in webkit [48743] by mitz@apple.com
  • 3 edits
    2 adds in trunk

WebCore: Fix <rdar://problem/7162000> Crash while trying to
calculate the horizontal position of image

Reviewed by Sam Weinig.

Test: fast/inline-block/relative-positioned-rtl-crash.html

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::calcAbsoluteHorizontalReplaced): Corrected an
isInline() test to isRenderInline(). This is similar to r41259.

LayoutTests: Test for <rdar://problem/7162000> Crash while trying to
calculate the horizontal position of image

Reviewed by Sam Weinig.

  • fast/inline-block/relative-positioned-rtl-crash-expected.txt: Added.
  • fast/inline-block/relative-positioned-rtl-crash.html: Added.
7:16 PM Changeset in webkit [48742] by jberlin@webkit.org
  • 2 edits in trunk/WebCore

Fix expanding profile call stacks being broken after sorting.
https://bugs.webkit.org/show_bug.cgi?id=26423

Patch by Jessie Berlin <jberlin@webkit.org> on 2009-09-24
Reviewed by Timothy Hatcher.

  • inspector/front-end/ProfileDataGridTree.js:

(WebInspector.ProfileDataGridNode.prototype.sort):
Set shouldRefreshChildren to true on collapsed nodes with children so that expanding it
causes the children to be placed in the right positions.

6:13 PM Changeset in webkit [48741] by kevino@webkit.org
  • 4 edits in trunk/WebKitTools

wx build fix. SnowLeopard fixes for Mac dependencies.

5:18 PM Changeset in webkit [48740] by ggaren@apple.com
  • 2 edits in trunk/WebCore

Fixed sudden termination console spew due to too many calls to
enableSuddenTermination.

Patch by Geoffrey Garen <ggaren@apple.com> on 2009-09-24
Reviewed by Stephanie Lewis.

<rdar://problem/7063125> 10A410: Safari logging enableSuddenTermination errors

  • page/DOMWindow.cpp:

(WebCore::removeUnloadEventListener):
(WebCore::removeAllUnloadEventListeners):
(WebCore::removeBeforeUnloadEventListener):
(WebCore::removeAllBeforeUnloadEventListeners): Only
enableSuddenTermination if the set of listeners is empty *and* this
window was in the set. Otherwise, a no-op will cause us to enableSuddenTermination.

4:44 PM Changeset in webkit [48739] by eric@webkit.org
  • 6 edits
    2 deletes in trunk

2009-09-24 Carol Szabo <carol.szabo@nokia.com>

Reviewed by Alexey Proskuryakov.

WebKit returns "" instead of null when getting
inexistent, forbidden or invalidly named headers.
https://bugs.webkit.org/show_bug.cgi?id=29140

  • http/tests/xmlhttprequest/get-dangerous-headers.html: Updated to test for null instead of ""
  • http/tests/xmlhttprequest/getResponseHeader-expected.txt:
  • http/tests/xmlhttprequest/getResponseHeader.html: Extended to also test for headers that should return null.
  • http/tests/xmlhttprequest/xmlhttprequest-invalidHeader-getRequestHeader.html: Removed. getResponseHeader.html now covers this case as well.

2009-09-24 Carol Szabo <carol.szabo@nokia.com>

Reviewed by Alexey Proskuryakov.

WebKit returns "" instead of null when getting
inexistent, forbidden or invalidly named headers.
https://bugs.webkit.org/show_bug.cgi?id=29140

  • xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::getResponseHeader): Changed to return null as it should according to the spec.
3:34 PM Changeset in webkit [48738] by jorlow@chromium.org
  • 4 edits in trunk

JavaScriptCore: Add GYP generated files to svn:ignore
https://bugs.webkit.org/show_bug.cgi?id=29724

Patch by Jeremy Orlow <jorlow@chromium.org> on 2009-09-24
Reviewed by Dimitri Glazkov.

Adding the following files to the svn:ignore list (all in the
JavaScriptCore/JavaScriptCore.gyp directory)

JavaScriptCore.xcodeproj
JavaScriptCore.sln
JavaScriptCore.vcproj
JavaScriptCore_Debug.rules
JavaScriptCore_Release.rules
JavaScriptCore_Release - no tcmalloc.rules
JavaScriptCore_Purify.rules
JavaScriptCore.mk
JavaScriptCore_Debug_rules.mk
JavaScriptCore_Release_rules.mk
JavaScriptCore_Release - no tcmalloc_rules.mk
JavaScriptCore_Purify_rules.mk
JavaScriptCore.scons
JavaScriptCore_main.scons

WebCore: Add GYP generated files to svn:ignore
https://bugs.webkit.org/show_bug.cgi?id=29724

Patch by Jeremy Orlow <jorlow@chromium.org> on 2009-09-24
Reviewed by Dimitri Glazkov.

Adding the following files to the svn:ignore list (all in the
WebCore/WebCore.gyp directory)

WebCore.xcodeproj
WebCore.sln
WebCore.vcproj
WebCore_Debug.rules
WebCore_Release.rules
WebCore_Release - no tcmalloc.rules
WebCore_Purify.rules
WebCore.mk
WebCore_Debug_rules.mk
WebCore_Release_rules.mk
WebCore_Release - no tcmalloc_rules.mk
WebCore_Purify_rules.mk
WebCore.scons
WebCore_main.scons

  • WebCore.gyp: Changed property svn:ignore.
3:24 PM Changeset in webkit [48737] by kov@webkit.org
  • 2 edits in trunk/WebCore

Unreviewed Mac build fix

3:00 PM Changeset in webkit [48736] by eric@webkit.org
  • 3 edits in trunk/JavaScriptCore

2009-09-24 Yong Li <yong.li@torchmobile.com>

Reviewed by Adam Barth.

Replace platform-dependent code with WTF::currentTime()
https://bugs.webkit.org/show_bug.cgi?id=29148

  • jsc.cpp: (StopWatch::start): (StopWatch::stop): (StopWatch::getElapsedMS):
  • runtime/TimeoutChecker.cpp: (JSC::getCPUTime):
2:58 PM Changeset in webkit [48735] by kov@webkit.org
  • 8 edits
    3 adds in trunk

Implement correct horizontal scrollbar behavior for GTK+

WebCore

2009-09-24 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>

Reviewed by Oliver Hunt.

Implement correct horizontal scrollbar behavior for GTK+ also on
styled scrollbars.

https://bugs.webkit.org/show_bug.cgi?id=29348
[Gtk] Scrollwheel on horizontal scrollbars should slide horizontally

Test: platform/gtk/scrollbars/overflow-scrollbar-horizontal-wheel-scroll.html

  • page/EventHandler.cpp: (WebCore::EventHandler::handleWheelEvent): on GTK+, when using the wheel with the pointer on the horizontal scrollbar, scroll horizontally;
  • platform/PlatformWheelEvent.h:
  • platform/gtk/WheelEventGtk.cpp: (WebCore::PlatformWheelEvent::swapOrientation): allow adding a vertical scroll to the horizontal one;

WebKitTools

2009-09-24 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>

Reviewed by Oliver Hunt.

Add support for DRT to send mouse wheel events.

https://bugs.webkit.org/show_bug.cgi?id=29348
[Gtk] Scrollwheel on horizontal scrollbars should slide horizontally

  • DumpRenderTree/gtk/EventSender.cpp: (mouseWheelToCallback):

LayoutTests

2009-09-24 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>

Reviewed by Oliver Hunt.

Test for correct wheel scrolling behavior.

https://bugs.webkit.org/show_bug.cgi?id=29348
[Gtk] Scrollwheel on horizontal scrollbars should slide horizontally

  • platform/gtk/scrollbars/overflow-scrollbar-horizontal-wheel-scroll.html: Added.
  • platform/gtk/scrollbars/overflow-scrollbar-horizontal-wheel-scroll-expected.txt: Added.
2:36 PM Changeset in webkit [48734] by jorlow@chromium.org
  • 7 edits in trunk/WebCore

2009-09-24 Jeremy Orlow <jorlow@chromium.org>

Reviewed by Eric Seidel.

StorageNamespace::storageArea() should take in a PassRefPtr<StorageOrigin>
https://bugs.webkit.org/show_bug.cgi?id=29290

Modified StorageNamespace::storageArea() to take in a PassRefPtr<StorageOrigin>
per http://webkit.org/coding/RefPtr.html

No behavior change, so no tests.

  • storage/StorageNamespace.h:
  • storage/StorageNamespaceImpl.cpp: (WebCore::StorageNamespaceImpl::storageArea):
  • storage/StorageNamespaceImpl.h:
2:25 PM Changeset in webkit [48733] by mrowe@apple.com
  • 4 edits in trunk/JavaScriptCore

<rdar://problem/7215058> FastMalloc scavenging thread should be named

Reviewed by Sam Weinig.

  • wtf/FastMalloc.cpp:

(WTF::TCMalloc_PageHeap::scavengerThread): Set the thread name.

  • wtf/Platform.h: Move the knowledge of whether pthread_setname_np exists to here as HAVE(PTHREAD_SETNAME_NP).
  • wtf/ThreadingPthreads.cpp:

(WTF::setThreadNameInternal): Use HAVE(PTHREAD_SETNAME_NP).

2:18 PM Changeset in webkit [48732] by ggaren@apple.com
  • 4 edits in trunk

JavaScriptCore: Renamed clear to removeAll, as suggested by Darin Adler.

Patch by Geoffrey Garen <ggaren@apple.com> on 2009-09-24
Reviewed by Sam Weinig.

  • wtf/HashCountedSet.h:

(WTF::::removeAll):

WebCore: Added back enable/disableSuddenTermination() functionality I accidentally
removed in my last patch.

Patch by Geoffrey Garen <ggaren@apple.com> on 2009-09-24
Reviewed by Sam Weinig.

  • page/DOMWindow.cpp:

(WebCore::addUnloadEventListener):
(WebCore::removeUnloadEventListener):
(WebCore::removeAllUnloadEventListeners):
(WebCore::addBeforeUnloadEventListener):
(WebCore::removeBeforeUnloadEventListener):
(WebCore::removeAllBeforeUnloadEventListeners):
(WebCore::DOMWindow::dispatchAllPendingUnloadEvents):
(WebCore::DOMWindow::~DOMWindow):
(WebCore::DOMWindow::addEventListener):
(WebCore::DOMWindow::removeEventListener):
(WebCore::DOMWindow::removeAllEventListeners):

2:15 PM Changeset in webkit [48731] by mrowe@apple.com
  • 3 edits in trunk/JavaScriptCore

Fix FastMalloc to build with assertions enabled.

Reviewed by Gavin Barraclough.

  • wtf/FastMalloc.cpp:

(WTF::TCMalloc_Central_FreeList::ReleaseToSpans):

  • wtf/TCSpinLock.h:

(TCMalloc_SpinLock::IsHeld):

1:40 PM Changeset in webkit [48730] by eric@webkit.org
  • 2 edits
    12 adds in trunk/WebKitTools

2009-09-17 Eric Seidel <eric@webkit.org>

Reviewed by David Levin.

commit-queue needs web-based status reporting
https://bugs.webkit.org/show_bug.cgi?id=29307

Add a first-pass web-based status for the commit-queue.
The bot is currently reachable at:
http://webkit-commit-queue.appspot.com/

  • CommitQueueStatus/app.yaml: Added.
    • Application description file required by App Engine.
  • CommitQueueStatus/filters/init.py: Added.
    • Required by python to treat 'filters' as a module.
  • CommitQueueStatus/filters/webkit_extras.py: Added.
    • Support for turning 'bug 123' and 'patch 123' into links. This lets us use plain text strings in our logs yet display nice HTML (help prevent XSS attacks on the page).
  • CommitQueueStatus/index.html: Added.
  • CommitQueueStatus/index.yaml: Added.
    • Some auto-generated file from app engine.
  • CommitQueueStatus/queue_status.py: Added.
    • The core logic of this bot. We could eventually split this file out into pieces.
  • CommitQueueStatus/stylesheets/main.css: Added.
    • Some basic lame-o CSS to make the page look less awful.
  • CommitQueueStatus/update_status.html: Added.
    • The form that the commit-queue (or a human) can use to update the status.
  • Scripts/bugzilla-tool:
    • Add some very basic update_status calls.
  • Scripts/modules/statusbot.py: Added.
    • Knows how to post to the CommitQueueStatus web application.
1:32 PM Changeset in webkit [48729] by weinig@apple.com
  • 2 edits in trunk/WebCore

Don't pass -F to GCC on non-mac platforms since it is an darwin only.

Reviewed by Steve Falkenburg and Mark Rowe.

  • DerivedSources.make:
12:42 PM Changeset in webkit [48728] by weinig@apple.com
  • 2 edits in trunk/WebCore

Fix windows build.

  • dom/Element.idl:
12:37 PM Changeset in webkit [48727] by ggaren@apple.com
  • 2 edits in trunk/JavaScriptCore

Suggested by Darin Adler.

Patch by Geoffrey Garen <ggaren@apple.com> on 2009-09-24
Removed some unnecessary parameter names.

  • wtf/HashCountedSet.h:
11:51 AM Changeset in webkit [48726] by senorblanco@chromium.org
  • 3 edits in trunk/WebCore

Fix for https://bugs.webkit.org/show_bug.cgi?id=29696 ([CHROMIUM] Paths fail to render in SVG with large viewbox)

Revert the relevant parts of r47925, and implement an alternate
fix (localize the coordinate check to GraphicsContext::clipPath()).
See http://crbug.com/21174.

Reviewed by Eric Seidel.

Covered by LayoutTests/svg/dynamic-updates/SVGClipPathElement-dom-clipPathUnits-attr.html.

  • platform/graphics/skia/GraphicsContextSkia.cpp:

(WebCore::GraphicsContext::clipPath):

  • platform/graphics/skia/PlatformContextSkia.cpp:

(PlatformContextSkia::currentPathInLocalCoordinates):

11:18 AM Changeset in webkit [48725] by beidson@apple.com
  • 2 edits in trunk/WebCore

Merge changes from Mozilla's FTP directory parser.
<rdar://problem/7227620> and https://bugs.webkit.org/show_bug.cgi?id=29294

Reviewed by Sam Weinig.

FTP layout tests not possible at this time.
https://bugs.webkit.org/show_bug.cgi?id=29719 tracks making them possible.

  • loader/FTPDirectoryParser.cpp:

(WebCore::ParsingFailed):
(WebCore::parseOneFTPLine):

10:55 AM Changeset in webkit [48724] by kov@webkit.org
  • 4 edits in trunk

WebCore

2009-09-24 Philippe Normand <pnormand@igalia.com>

Reviewed by Gustavo Noronha.

[GTK] re-enable some media tests
https://bugs.webkit.org/show_bug.cgi?id=29716

make canPlayType() return "probably" if mime-type is known
and codecs string is not empty. If codecs is empty return
"maybe".

  • platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: (WebCore::MediaPlayerPrivate::supportsType):

LayoutTests

2009-09-24 Philippe Normand <pnormand@igalia.com>

Reviewed by Gustavo Noronha.

[GTK] re-enable some media tests
https://bugs.webkit.org/show_bug.cgi?id=29716

  • platform/gtk/Skipped:
10:47 AM Changeset in webkit [48723] by weinig@apple.com
  • 29 edits in trunk

WebCore: Fix for https://bugs.webkit.org/show_bug.cgi?id=29703
Add a function to element to check whether it matches a CSS selector

Reviewed by Dan Bernstein.

Implement Element.webkitMatchesSelector.

  • css/CSSSelectorList.cpp:

(WebCore::forEachTagSelector):
(WebCore::forEachSelector):
(WebCore::SelectorNeedsNamespaceResolutionFunctor::operator()):
(WebCore::CSSSelectorList::selectorsNeedNamespaceResolution):

  • css/CSSSelectorList.h:

Moved code to iterate the CSSSelectorList and determine if any
selectors need namespace resolution from a static function in
Node.cpp to CSSSelectorList so that it can be used by webkitMatchesSelector
as well as querySelector/querySelectorAll.

  • dom/Element.cpp:

(WebCore::Element::webkitMatchesSelector):

  • dom/Element.h:
  • dom/Element.idl:

Implement the new function. Handles exceptional cases identically to
querySelector/querySelectorAll.

  • dom/Node.cpp:

(WebCore::Node::querySelector):
(WebCore::Node::querySelectorAll):
Moved selectorsNeedNamespaceResolution to CSSSelectorList from here.

LayoutTests: Update tests for https://bugs.webkit.org/show_bug.cgi?id=29703
Add a function to element to check whether it matches a CSS selector

Reviewed by Dan Bernstein.

Add webkitMatchesSelector to SelectorAPI tests.

  • fast/dom/SelectorAPI/caseID-almost-strict-expected.txt:
  • fast/dom/SelectorAPI/caseID-almost-strict.html:
  • fast/dom/SelectorAPI/caseID-expected.txt:
  • fast/dom/SelectorAPI/caseID-strict-expected.txt:
  • fast/dom/SelectorAPI/caseID-strict.html:
  • fast/dom/SelectorAPI/caseID.html:
  • fast/dom/SelectorAPI/caseTag-expected.txt:
  • fast/dom/SelectorAPI/caseTag.html:
  • fast/dom/SelectorAPI/caseTagX-expected.txt:
  • fast/dom/SelectorAPI/caseTagX.xhtml:
  • fast/dom/SelectorAPI/detached-element-expected.txt:
  • fast/dom/SelectorAPI/not-supported-namespace-in-selector-expected.txt:
  • fast/dom/SelectorAPI/not-supported-namespace-in-selector.html:
  • fast/dom/SelectorAPI/script-tests/detached-element.js:
  • fast/dom/SelectorAPI/script-tests/undefined-null-stringify.js:
  • fast/dom/SelectorAPI/script-tests/viewless-document.js:
  • fast/dom/SelectorAPI/undefined-null-stringify-expected.txt:
  • fast/dom/SelectorAPI/viewless-document-expected.txt:
  • fast/dom/Window/window-properties-expected.txt:
  • fast/dom/domListEnumeration-expected.txt:
  • fast/dom/script-tests/domListEnumeration.js:
10:14 AM Changeset in webkit [48722] by ddkilzer@apple.com
  • 2 edits in trunk/WebKitTools
<http://webkit.org/b/29712> mark-bug-fixed: add -mcomment switch

Reviewed by Adam Roben.

  • Scripts/mark-bug-fixed:
(MarkBugFixed.init): Added -mcomment switch to list of

parse options.
(MarkBugFixed.main): When specified, prepend comment from

-mcomment command-line switch to the bug comment.
7:15 AM Changeset in webkit [48721] by kov@webkit.org
  • 2 edits in trunk/WebKitTools

2009-09-24 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>

Reviewed by Jan Alonzo.

[GTK] DRT must display window instead of just realizing, to enable synthesizing events correctly
https://bugs.webkit.org/show_bug.cgi?id=29693

Show the window, to be able to synthesize events correctly.

  • DumpRenderTree/gtk/DumpRenderTree.cpp: (runTest): (main):
7:11 AM Changeset in webkit [48720] by pfeldman@chromium.org
  • 11 edits in trunk/WebCore

2009-09-24 Vitaly Repeshko <vitalyr@chromium.org>

Reviewed by Dimitri Glazkov.

[V8] Fixed bindings build after http://trac.webkit.org/changeset/48701
https://bugs.webkit.org/show_bug.cgi?id=29713

Got rid of isWindowEvent in function signatures:

  • bindings/v8/V8AbstractEventListener.cpp: (WebCore::V8AbstractEventListener::invokeEventHandler): (WebCore::V8AbstractEventListener::handleEvent): (WebCore::V8AbstractEventListener::getReceiverObject):
  • bindings/v8/V8AbstractEventListener.h:
  • bindings/v8/V8LazyEventListener.cpp: (WebCore::V8LazyEventListener::callListenerFunction):
  • bindings/v8/V8LazyEventListener.h:
  • bindings/v8/V8WorkerContextEventListener.cpp: (WebCore::V8WorkerContextEventListener::handleEvent): (WebCore::V8WorkerContextEventListener::callListenerFunction): (WebCore::V8WorkerContextEventListener::getReceiverObject):
  • bindings/v8/V8WorkerContextEventListener.h:
  • bindings/v8/custom/V8CustomEventListener.cpp: (WebCore::V8EventListener::callListenerFunction):
  • bindings/v8/custom/V8CustomEventListener.h:

Switched to EventTarget methods of adding/removing listeners:

  • bindings/v8/custom/V8DOMApplicationCacheCustom.cpp: (WebCore::toEventID): (WebCore::ACCESSOR_SETTER):
  • dom/EventTarget.h: Some functions were incorrectly marked as JSC-specific.
5:54 AM Changeset in webkit [48719] by xan@webkit.org
  • 4 edits in trunk/WebKit/gtk

2009-09-24 Xan Lopez <xlopez@igalia.com>

Reviewed by Gustavo Noronha and Jan Alonzo.
[GTK] Add WEBKIT_LOAD_ERROR status
https://bugs.webkit.org/show_bug.cgi?id=29644

Add a new load-status enum value, WEBKIT_LOAD_FAILED, emitted when
there's an error during the load process. This is needed if we
want notify::load-status to be able to handle all situations,
since WEBKIT_LOAD_FINISHED is not emitted when there's an error
and we are lacking a notification of the load being stopped.

  • WebCoreSupport/FrameLoaderClientGtk.cpp: (WebKit::FrameLoaderClient::dispatchDidFailLoad):
  • tests/testloading.c: (web_loading_fixture_setup): (load_error_status_changed_cb): (load_error_cb): (test_loading_error): (load_cancelled_cb): (stop_load): (load_cancelled_status_changed_cb): (test_loading_cancelled): (main):
  • webkit/webkitwebframe.h:
5:00 AM Changeset in webkit [48718] by pfeldman@chromium.org
  • 3 edits in trunk/WebCore

2009-09-24 Pavel Feldman <pfeldman@chromium.org>

Reviewed by Timothy Hatcher.

Web Inspector: Color-code watch expression errors with red.

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

  • inspector/front-end/WatchExpressionsSidebarPane.js: (WebInspector.WatchExpressionsSection.prototype.update): (WebInspector.WatchExpressionTreeElement.prototype.update):
  • inspector/front-end/inspector.css:
4:57 AM Changeset in webkit [48717] by pfeldman@chromium.org
  • 5 edits in trunk/WebCore

2009-09-24 Pavel Feldman <pfeldman@chromium.org>

Reviewed by Timothy Hatcher.

Web Inspector: Fix formatting for messages derived from resource warnings,
couple of drive-by formatting fixes.

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

  • inspector/InspectorFrontend.cpp: (WebCore::InspectorFrontend::addMessageToConsole):
  • inspector/front-end/ConsoleView.js:
  • inspector/front-end/InjectedScript.js: (InjectedScript._evaluateAndWrap):
  • inspector/front-end/WatchExpressionsSidebarPane.js: (WebInspector.WatchExpressionsSection.prototype.update):
4:45 AM Changeset in webkit [48716] by pfeldman@chromium.org
  • 5 edits in trunk/WebCore

2009-09-22 Pavel Feldman <pfeldman@chromium.org>

Reviewed by Timothy Hatcher.

WebInspector: Implement InspectorController::copyNode(id).

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

  • inspector/InspectorBackend.cpp: (WebCore::InspectorBackend::copyNode):
  • inspector/InspectorBackend.h:
  • inspector/InspectorBackend.idl:
  • inspector/front-end/ElementsPanel.js: (WebInspector.ElementsPanel.prototype.handleCopyEvent):
3:55 AM Changeset in webkit [48715] by oliver@apple.com
  • 8 edits in trunk

Roll out r48712 as it is incorrect.

Reviewed by NOBODY(rollout)

3:52 AM Changeset in webkit [48714] by xan@webkit.org
  • 6 edits in trunk

Revert r48697, since it broke key handling notification to GTK+.

3:49 AM Changeset in webkit [48713] by eric@webkit.org
  • 2 edits in trunk/WebCore

2009-09-24 Philippe Normand <pnormand@igalia.com>

Reviewed by Xan Lopez.

[GTK] GStreamer MediaPlayer is unable to correctly querry duration
https://bugs.webkit.org/show_bug.cgi?id=24639

check duration returned by gst_element_query_duration() only
when using GStreamer < 0.10.23.

  • platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: (WebCore::MediaPlayerPrivate::duration):
3:42 AM Changeset in webkit [48712] by eric@webkit.org
  • 8 edits in trunk

2009-09-24 Benjamin Poulain <benjamin.poulain@nokia.com>

Reviewed by Eric Seidel.

The indices of RuntimeArray should be enumerated like for a regular array.
https://bugs.webkit.org/show_bug.cgi?id=29005

  • platform/mac/fast/dom/wrapper-classes-objc-expected.txt:
  • platform/mac/fast/dom/wrapper-classes-objc.html:

2009-09-24 Benjamin Poulain <benjamin.poulain@nokia.com>

Reviewed by Eric Seidel.

The indices of RuntimeArray should be enumerated like for a regular array.
https://bugs.webkit.org/show_bug.cgi?id=29005

  • bridge/runtime_array.cpp: (JSC::RuntimeArray::getPropertyNames):
  • bridge/runtime_array.h:

2009-09-24 Benjamin Poulain <benjamin.poulain@nokia.com>

Reviewed by Eric Seidel.

https://bugs.webkit.org/show_bug.cgi?id=29005
The indices of RuntimeArray should be enumerated like for a regular array.

  • DumpRenderTree/mac/ObjCController.m: (+[ObjCController isSelectorExcludedFromWebScript:]): (+[ObjCController webScriptNameForSelector:]): (-[ObjCController arrayOfString]):
3:12 AM Changeset in webkit [48711] by Simon Hausmann
  • 2 edits in trunk/JavaScriptCore

On Windows JSChar is typedef'ed to wchar_t.

Patch by Janne Koskinen <janne.p.koskinen@digia.com> on 2009-09-24
Reviewed by Simon Hausmann.

When building with WINSCW for Symbian we need to do the
same typedef.

  • API/JSStringRef.h:
2:38 AM Changeset in webkit [48710] by pfeldman@chromium.org
  • 12 edits in trunk/WebCore

2009-09-23 Alexander Pavlov <apavlov@chromium.org>

Reviewed by Eric Seidel.

Introduce Pasteboard::writePlaintext(const String&) so that copying
of the inspected elements HTML will be possible in WebInspector.
https://bugs.webkit.org/show_bug.cgi?id=29634

  • platform/Pasteboard.h:
  • platform/android/TemporaryLinkStubs.cpp: (Pasteboard::writePlainText):
  • platform/chromium/ChromiumBridge.h:
  • platform/chromium/PasteboardChromium.cpp: (WebCore::Pasteboard::writePlainText):
  • platform/gtk/PasteboardGtk.cpp: (WebCore::Pasteboard::writePlainText):
  • platform/haiku/PasteboardHaiku.cpp: (WebCore::Pasteboard::writePlainText):
  • platform/mac/PasteboardMac.mm: (WebCore::Pasteboard::writePlainText):
  • platform/qt/PasteboardQt.cpp: (WebCore::Pasteboard::writePlainText):
  • platform/win/PasteboardWin.cpp: (WebCore::Pasteboard::writeSelection): (WebCore::Pasteboard::writePlainText):
  • platform/wince/PasteboardWince.cpp: (WebCore::Pasteboard::writePlainText):
  • platform/wx/PasteboardWx.cpp: (WebCore::Pasteboard::writeSelection): (WebCore::Pasteboard::writePlainText): (WebCore::Pasteboard::writeURL):
1:11 AM Changeset in webkit [48709] by Simon Hausmann
  • 2 edits in trunk/WebCore

Fix QApp::translate() calls to provide the correct class name without
a trailing comma.

Patch by Oswald Buddenhagen <oswald.buddenhagen@nokia.com> on 2009-09-24
Reviewed by Simon Hausmann.

  • platform/qt/Localizations.cpp:

(WebCore::localizedMediaTimeDescription):

1:11 AM Changeset in webkit [48708] by Simon Hausmann
  • 2 edits in trunk/WebKit/qt

qdoc: Added \brief texts to all the since 4.6 functions.

Patch by Martin Smith <msmith@trolltech.com> on 2009-09-24
Reviewed by Simon Hausmann.

  • Api/qwebhistory.cpp:
12:20 AM Changeset in webkit [48707] by ggaren@apple.com
  • 5 edits in trunk/WebCore

More build fix: Removed JSSharedWorkerContextCustom.cpp from project
files, since it no longer exists in the repository.

Patch by Geoffrey Garen <ggaren@apple.com> on 2009-09-24

  • GNUmakefile.am:
  • WebCore.gypi:
  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
12:15 AM Changeset in webkit [48706] by ggaren@apple.com
  • 2 edits in trunk/WebCore

Windows build fix: Declare set/unsetPendingActivity public, so
SharedWorkerScriptLoader can call them.

Patch by Geoffrey Garen <ggaren@apple.com> on 2009-09-24

  • dom/ActiveDOMObject.h:
12:12 AM Changeset in webkit [48705] by ggaren@apple.com
  • 3 edits in trunk/WebCore

Fixed a bit of the Windows build.

Patch by Geoffrey Garen <ggaren@apple.com> on 2009-09-24

  • workers/SharedWorker.idl: Declare a custom mark function. (I accidentally

removed this in my last patch.)

  • WebCore.xcodeproj/project.pbxproj: Added JSSharedWorkerCustom.cpp back

to the build. (I accidentally removed this in my last patch.)

Sep 23, 2009:

11:49 PM Changeset in webkit [48704] by ggaren@apple.com
  • 2 edits in trunk/WebCore

32-bit build fix: restore previous cast that I thought was unnecessary.

Patch by Geoffrey Garen <ggaren@apple.com> on 2009-09-23

  • xml/XMLHttpRequest.cpp:

(WebCore::XMLHttpRequest::didSendData):
(WebCore::XMLHttpRequest::didReceiveData):

11:39 PM Changeset in webkit [48703] by ggaren@apple.com
  • 2 edits in trunk/JavaScriptCore

A piece of my last patch that I forgot.

Patch by Geoffrey Garen <ggaren@apple.com> on 2009-09-23

  • wtf/HashCountedSet.h:

(WTF::::clear): Added HashCountedSet::clear.

11:10 PM Changeset in webkit [48702] by zoltan@webkit.org
  • 2 edits in trunk/JavaScriptCore

2009-09-24 Gabor Loki <loki@inf.u-szeged.hu>

Reviewed by Gavin Barraclough.

Avoid clear_cache built-in function if DISABLE_BUILTIN_CLEAR_CACHE define is set
https://bugs.webkit.org/show_bug.cgi?id=28886

There are some GCC packages (for example GCC-2006q3 from CodeSourcery)
which contain clear_cache built-in function only for C while the C++
version of
clear_cache is missing on ARM architectures.

Fixed a small bug in the inline assembly of cacheFlush function on
ARM_TRADITIONAL.

  • jit/ExecutableAllocator.h: (JSC::ExecutableAllocator::cacheFlush):
10:53 PM Changeset in webkit [48701] by ggaren@apple.com
  • 131 edits
    6 adds
    1 delete in trunk

JavaScriptCore: Added the ability to swap vectors with inline capacities, so you can
store a vector with inline capacity in a hash table.

Patch by Geoffrey Garen <ggaren@apple.com> on 2009-09-23
Reviewed by Sam Weinig.

  • wtf/Vector.h:

(WTF::swap):
(WTF::VectorBuffer::swap):

WebCore: Bring a little sanity to this crazy EventTarget world of ours
https://bugs.webkit.org/show_bug.cgi?id=29701

Patch by Geoffrey Garen <ggaren@apple.com> on 2009-09-23
Reviewed by Sam Weinig.

Lots of EventTarget refactoring to achieve a single shared implementation
that fixes some of the performance and correctness bugs of the many individual
implementations, and makes reasoning about EventTargets and EventListeners
much easier.

The basic design is this:

  • EventTarget manages a set of EventListeners.
  • onXXX EventListener attributes forward to standard EventTarget APIs.
  • Since the onXXX code is repetitive, it is usually done with macros of the form DEFINE_ATTRIBUTE_EVENT_LISTENER(attributeName).
  • EventTarget provides a shared implementation of dispatchEvent, which subclasses with special event dispatch rules, like Node, override.
  • To support Node, which lazily instantiates its EventTarget data, EventTarget has no data members, and instead makes a virtual call to get its data from wherever its subclass chose to store it.


Code that used to call dispatchEvent, passing an ExceptionCode paratmeter,
even though no exception could be thrown, has been changed not to do so,
to improve clarity and performance.

Code that used to call a special dispatchXXXEvent function, which just
turned around and called dispatchEvent, has been changed to call
dispatchEvent, to improve clarity and performance.

  • WebCore.base.exp:
  • WebCore.xcodeproj/project.pbxproj: Another day in the life of a WebKit

engineer.

  • bindings/js/JSDOMBinding.cpp:

(WebCore::isObservableThroughDOM): Updated for Node API change. Added
"is not in the document but is firing event listeners" as a condition
that makes a Node observable in the DOM, so that event listeners firing
on removed nodes are not destroyed midstream. (This was a long-standing
bug that was somewhat hidden by the old implementation's habit of
copying the RegisteredEventListener vector before firing events, which
would keep almost all the relevant objects from being destroyed.)

  • bindings/js/JSEventListener.cpp:

(WebCore::JSEventListener::handleEvent): Removed the isWindowEvent flag
because it was one of the most elaborately planned no-ops in the history
of software crime, and one of the reasons clients thought they needed more
than one dispatchEvent function even though they didn't.

  • bindings/js/JSEventListener.h:
  • bindings/js/JSDOMWindowCustom.cpp:

(WebCore::JSDOMWindow::markChildren):
(WebCore::JSMessagePort::markChildren):

  • bindings/js/JSNodeCustom.cpp:

(WebCore::JSNode::markChildren):

  • bindings/js/JSAbstractWorkerCustom.cpp:
  • bindings/js/JSDOMApplicationCacheCustom.cpp:
  • bindings/js/JSDedicatedWorkerContextCustom.cpp:
  • bindings/js/JSEventSourceCustom.cpp:
  • bindings/js/JSMessagePortCustom.cpp:
  • bindings/js/JSSharedWorkerContextCustom.cpp: Removed.
  • bindings/js/JSWebSocketCustom.cpp:
  • bindings/js/JSWorkerContextCustom.cpp:

(WebCore::JSWorkerContext::markChildren):

  • bindings/js/JSWorkerCustom.cpp:
  • bindings/js/JSXMLHttpRequestCustom.cpp:

(WebCore::JSXMLHttpRequest::markChildren):

  • bindings/js/JSXMLHttpRequestUploadCustom.cpp:

(WebCore::JSXMLHttpRequestUpload::markChildren): EventListener marking is
now autogenerated. Classes that still have custom mark functions for other
reasons now call a shared EventTarget API to mark their EventListeners.

  • bindings/objc/ObjCEventListener.h:
  • bindings/objc/ObjCEventListener.mm:

(WebCore::ObjCEventListener::handleEvent): Bye bye isWindowEvent.

  • bindings/scripts/CodeGeneratorJS.pm: Autogeneration support for

marking and invalidating event listeners.

  • dom/CharacterData.cpp:

(WebCore::CharacterData::dispatchModifiedEvent):

  • dom/ContainerNode.cpp:

(WebCore::ContainerNode::insertBefore):
(WebCore::ContainerNode::replaceChild):
(WebCore::willRemoveChild):
(WebCore::ContainerNode::appendChild):
(WebCore::dispatchChildInsertionEvents):
(WebCore::dispatchChildRemovalEvents):

  • dom/Document.cpp:

(WebCore::Document::removeAllEventListeners):
(WebCore::Document::implicitClose):
(WebCore::Document::setFocusedNode):
(WebCore::Document::dispatchWindowEvent):
(WebCore::Document::dispatchWindowLoadEvent):
(WebCore::Document::finishedParsing):

  • dom/Document.h: Use dispatchEvent directly.
  • dom/Element.h: Moved a few event listener attributes down from Node,

since they don't apply to all Nodes, only Elements.

  • dom/EventListener.h: Removed isWindowEvent parameter.
  • dom/EventNames.h: Added the "display" event name, so it works correctly

with attribute macros, and for performance.

  • dom/EventTarget.cpp:

(WebCore::forbidEventDispatch):
(WebCore::allowEventDispatch):
(WebCore::eventDispatchForbidden): Made this code (embarrasingly) thread
safe, since it's now called on multiple threads. (Currently, we only forbid
event dispatch on the main thread. If we ever want to forbid event dispatch
on secondary threads, we can improve it then.)

(WebCore::EventTarget::addEventListener):
(WebCore::EventTarget::removeEventListener):
(WebCore::EventTarget::setAttributeEventListener):
(WebCore::EventTarget::getAttributeEventListener):
(WebCore::EventTarget::clearAttributeEventListener):
(WebCore::EventTarget::dispatchEvent):
(WebCore::EventTarget::fireEventListeners):
(WebCore::EventTarget::getEventListeners):
(WebCore::EventTarget::removeAllEventListeners):

  • dom/EventTarget.h:

(WebCore::FiringEventEndIterator::FiringEventEndIterator):
(WebCore::EventTarget::ref):
(WebCore::EventTarget::deref):
(WebCore::EventTarget::markEventListeners):
(WebCore::EventTarget::invalidateEventListeners):
(WebCore::EventTarget::isFiringEventListeners):
(WebCore::EventTarget::hasEventListeners): The ONE TRUE IMPLEMENTATION of
EventTarget APIs, crafted from an amalgam of all the different versions
we used to have. The most significant change here is that we no longer
make a copy of an EventListener vector before firing the events in the
vector -- instead, we use a reference to the original vector, along with
a notification mechanism for the unlikely case when an EventListener is
removed from the vector. This substantially reduces malloc, copying, and
refcount overhead, and complexity.

  • dom/InputElement.cpp:

(WebCore::InputElement::setValueFromRenderer):

  • dom/MessageEvent.h:

(WebCore::MessageEvent::create): Use dispatchEvent directly.

  • dom/MessagePort.cpp:

(WebCore::MessagePort::dispatchMessages):
(WebCore::MessagePort::eventTargetData):
(WebCore::MessagePort::ensureEventTargetData):

  • dom/MessagePort.h:

(WebCore::MessagePort::setOnmessage):
(WebCore::MessagePort::onmessage):

  • dom/MessagePort.idl: Removed custom EventTarget implementation.
  • dom/MutationEvent.h:

(WebCore::MutationEvent::create): Added some default values so callers
can construct MutationEvents more easily, without calling a custom dispatch
function.

  • dom/Node.cpp:

(WebCore::Node::addEventListener):
(WebCore::Node::removeEventListener):
(WebCore::Node::eventTargetData):
(WebCore::Node::ensureEventTargetData):
(WebCore::Node::handleLocalEvents):
(WebCore::Node::dispatchEvent):
(WebCore::Node::dispatchGenericEvent):
(WebCore::Node::dispatchSubtreeModifiedEvent):
(WebCore::Node::dispatchUIEvent):
(WebCore::Node::dispatchKeyEvent):
(WebCore::Node::dispatchMouseEvent):
(WebCore::Node::dispatchWheelEvent):
(WebCore::Node::dispatchFocusEvent):
(WebCore::Node::dispatchBlurEvent):

  • dom/Node.h:

(WebCore::Node::preDispatchEventHandler):
(WebCore::Node::postDispatchEventHandler):

  • dom/Node.idl:
  • dom/NodeRareData.h:

(WebCore::NodeRareData::eventTargetData):
(WebCore::NodeRareData::ensureEventTargetData): Use the shared EventTarget
interface, and call dispatchEvent directly instead of custom dispatchXXXEvent
functions that just forwarded to dispatchEvent.

  • dom/RegisteredEventListener.cpp:
  • dom/RegisteredEventListener.h:

(WebCore::RegisteredEventListener::RegisteredEventListener):
(WebCore::operator==): This is just a simple struct now, since we no longer
do a complicated copy / refCount / isRemoved dance just to honor the rule
that an EventListener can be removed during event dispatch.

  • history/CachedFrame.cpp:

(WebCore::CachedFrameBase::restore): Removed another custom dispatchEvent.

  • html/HTMLBodyElement.cpp:
  • html/HTMLBodyElement.h: Use the shared EventTarget API.
  • html/HTMLFormControlElement.cpp:

(WebCore::HTMLFormControlElement::dispatchFormControlChangeEvent):
(WebCore::HTMLFormControlElement::checkValidity):

  • html/HTMLFormElement.cpp:

(WebCore::HTMLFormElement::handleLocalEvents):
(WebCore::HTMLFormElement::prepareSubmit):
(WebCore::HTMLFormElement::reset):

  • html/HTMLFormElement.h: Use the standard dispatchEvent API.
  • html/HTMLFrameSetElement.cpp:
  • html/HTMLFrameSetElement.h: Use the shared EventTarget API.
  • html/HTMLImageLoader.cpp:

(WebCore::HTMLImageLoader::dispatchLoadEvent):

  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::onSearch):

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::loadInternal):

  • html/HTMLScriptElement.cpp:

(WebCore::HTMLScriptElement::dispatchLoadEvent):
(WebCore::HTMLScriptElement::dispatchErrorEvent):

  • html/HTMLSourceElement.cpp:

(WebCore::HTMLSourceElement::errorEventTimerFired):

  • html/HTMLTokenizer.cpp:

(WebCore::HTMLTokenizer::notifyFinished): Use the standard dispatchEvent API.

  • inspector/InspectorDOMAgent.cpp:

(WebCore::InspectorDOMAgent::handleEvent):

  • inspector/InspectorDOMAgent.h:
  • inspector/InspectorDOMStorageResource.cpp:

(WebCore::InspectorDOMStorageResource::handleEvent):

  • inspector/InspectorDOMStorageResource.h:
  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::stopLoading):
(WebCore::FrameLoader::canCachePageContainingThisFrame):
(WebCore::FrameLoader::logCanCacheFrameDecision):
(WebCore::HashChangeEventTask::performTask):
(WebCore::FrameLoader::pageHidden): No more isWindowEvent.

  • loader/ImageDocument.cpp:

(WebCore::ImageEventListener::handleEvent):

  • loader/appcache/ApplicationCacheGroup.cpp:

(WebCore::CallCacheListenerTask::performTask):

  • loader/appcache/ApplicationCacheHost.cpp:

(WebCore::ApplicationCacheHost::notifyDOMApplicationCache):

  • loader/appcache/ApplicationCacheHost.h:
  • loader/appcache/DOMApplicationCache.cpp:

(WebCore::DOMApplicationCache::eventTargetData):
(WebCore::DOMApplicationCache::ensureEventTargetData):

  • loader/appcache/DOMApplicationCache.h:
  • loader/appcache/DOMApplicationCache.idl: Switched to the standard

EventTarget API. As a part of this, I switched this class from using a
custom internal event name enumeration to using the standard EventNames.

  • notifications/Notification.cpp:

(WebCore::Notification::eventTargetData):
(WebCore::Notification::ensureEventTargetData):

  • notifications/Notification.h:

(WebCore::Notification::scriptExecutionContext):

  • notifications/Notification.idl: Switched to the standard EventTarget API.
  • page/DOMWindow.cpp:

(WebCore::PostMessageTimer::event):
(WebCore::windowsWithUnloadEventListeners):
(WebCore::windowsWithBeforeUnloadEventListeners):
(WebCore::allowsBeforeUnloadListeners):
(WebCore::DOMWindow::dispatchAllPendingBeforeUnloadEvents):
(WebCore::DOMWindow::pendingUnloadEventListeners):
(WebCore::DOMWindow::dispatchAllPendingUnloadEvents): Changed the "pending"
unload / beforeunload listener tracker just to track which windows had
such listeners, instead of actually keeping a copy of the listeners. Now,
this code can use the standard EventTarget API.

(WebCore::DOMWindow::~DOMWindow):
(WebCore::DOMWindow::postMessageTimerFired):
(WebCore::DOMWindow::addEventListener):
(WebCore::DOMWindow::removeEventListener):
(WebCore::DOMWindow::dispatchLoadEvent):
(WebCore::DOMWindow::dispatchEvent):
(WebCore::DOMWindow::removeAllEventListeners):
(WebCore::DOMWindow::captureEvents):
(WebCore::DOMWindow::releaseEvents):
(WebCore::DOMWindow::eventTargetData):
(WebCore::DOMWindow::ensureEventTargetData):

  • page/DOMWindow.h:
  • page/DOMWindow.idl: Use the standard EventTarget APIs.
  • page/EventHandler.cpp:

(WebCore::EventHandler::canMouseDownStartSelect):
(WebCore::EventHandler::canMouseDragExtendSelect):
(WebCore::EventHandler::sendResizeEvent):
(WebCore::EventHandler::sendScrollEvent): Use dispatchEvent directly.

  • page/EventSource.cpp:

(WebCore::EventSource::endRequest):
(WebCore::EventSource::didReceiveResponse):
(WebCore::EventSource::parseEventStreamLine):
(WebCore::EventSource::stop):
(WebCore::EventSource::createMessageEvent):
(WebCore::EventSource::eventTargetData):
(WebCore::EventSource::ensureEventTargetData):

  • page/EventSource.h:
  • page/EventSource.idl: Use the standard EventTarget APIs.
  • page/FocusController.cpp:

(WebCore::dispatchEventsOnWindowAndFocusedNode):
(WebCore::FocusController::setFocusedFrame):

  • page/Frame.cpp:

(WebCore::Frame::shouldClose):

  • page/Frame.h:
  • page/Page.cpp:

(WebCore::networkStateChanged):

  • page/animation/AnimationController.cpp:

(WebCore::AnimationControllerPrivate::updateStyleIfNeededDispatcherFired):

  • rendering/RenderListBox.cpp:

(WebCore::RenderListBox::valueChanged):

  • rendering/RenderTextControl.cpp:

(WebCore::RenderTextControl::selectionChanged):

  • rendering/RenderTextControlMultiLine.cpp:

(WebCore::RenderTextControlMultiLine::subtreeHasChanged): Use dispatchEvent.

  • svg/SVGElement.cpp:

(WebCore::hasLoadListener): Rewritten for new EventTarget API.

  • svg/SVGElementInstance.cpp:

(WebCore::dummyEventTargetData):
(WebCore::SVGElementInstance::addEventListener):
(WebCore::SVGElementInstance::removeEventListener):
(WebCore::SVGElementInstance::removeAllEventListeners):
(WebCore::SVGElementInstance::dispatchEvent):
(WebCore::SVGElementInstance::eventTargetData):
(WebCore::SVGElementInstance::ensureEventTargetData): Use the EventTarget API.

  • svg/SVGElementInstance.h:
  • svg/SVGImageLoader.cpp:

(WebCore::SVGImageLoader::dispatchLoadEvent):

  • svg/SVGScriptElement.cpp:

(WebCore::SVGScriptElement::dispatchErrorEvent): Use dispatchEvent directly.

  • svg/SVGUseElement.cpp:

(WebCore::SVGUseElement::transferEventListenersToShadowTree): Updated for
new EventTarget API.

  • svg/animation/SVGSMILElement.cpp:

(WebCore::ConditionEventListener::handleEvent): No more isWindowEvent.

  • websockets/WebSocket.cpp:

(WebCore::ProcessWebSocketEventTask::create):
(WebCore::ProcessWebSocketEventTask::performTask):
(WebCore::ProcessWebSocketEventTask::ProcessWebSocketEventTask):
(WebCore::WebSocket::didConnect):
(WebCore::WebSocket::didReceiveMessage):
(WebCore::WebSocket::didClose):
(WebCore::WebSocket::eventTargetData):
(WebCore::WebSocket::ensureEventTargetData):

  • websockets/WebSocket.h:
  • websockets/WebSocket.idl:
  • workers/AbstractWorker.cpp:

(WebCore::AbstractWorker::eventTargetData):
(WebCore::AbstractWorker::ensureEventTargetData):

  • workers/AbstractWorker.h:
  • workers/AbstractWorker.idl:
  • workers/DedicatedWorkerContext.cpp:
  • workers/DedicatedWorkerContext.h:
  • workers/DedicatedWorkerContext.idl:
  • workers/DefaultSharedWorkerRepository.cpp:

(WebCore::SharedWorkerConnectTask::performTask):
(WebCore::SharedWorkerScriptLoader::load):
(WebCore::SharedWorkerScriptLoader::notifyFinished):

  • workers/SharedWorker.idl:
  • workers/SharedWorkerContext.cpp:

(WebCore::createConnectEvent):

  • workers/SharedWorkerContext.h:
  • workers/SharedWorkerContext.idl:
  • workers/Worker.cpp:

(WebCore::Worker::notifyFinished):

  • workers/Worker.h:
  • workers/Worker.idl:
  • workers/WorkerContext.cpp:

(WebCore::WorkerContext::eventTargetData):
(WebCore::WorkerContext::ensureEventTargetData):

  • workers/WorkerContext.h:
  • workers/WorkerContext.idl:
  • workers/WorkerMessagingProxy.cpp:

(WebCore::MessageWorkerContextTask::performTask):
(WebCore::MessageWorkerTask::performTask):
(WebCore::WorkerExceptionTask::performTask):

  • xml/XMLHttpRequest.cpp:

(WebCore::XMLHttpRequest::callReadyStateChangeListener):
(WebCore::XMLHttpRequest::createRequest):
(WebCore::XMLHttpRequest::abort):
(WebCore::XMLHttpRequest::networkError):
(WebCore::XMLHttpRequest::abortError):
(WebCore::XMLHttpRequest::didSendData):
(WebCore::XMLHttpRequest::didReceiveData):
(WebCore::XMLHttpRequest::eventTargetData):
(WebCore::XMLHttpRequest::ensureEventTargetData):

  • xml/XMLHttpRequest.h:
  • xml/XMLHttpRequest.idl:
  • xml/XMLHttpRequestProgressEvent.h:

(WebCore::XMLHttpRequestProgressEvent::create):

  • xml/XMLHttpRequestUpload.cpp:

(WebCore::XMLHttpRequestUpload::eventTargetData):
(WebCore::XMLHttpRequestUpload::ensureEventTargetData):

  • xml/XMLHttpRequestUpload.h:
  • xml/XMLHttpRequestUpload.idl: Use new EventTarget API.

WebKit/mac: Updated for a WebCore rename.

Patch by Geoffrey Garen <ggaren@apple.com> on 2009-09-23
Reviewed by Sam Weinig.

  • WebView/WebFrame.mm:

(-[WebFrame _cacheabilityDictionary]):

LayoutTests: Layout tests for event target sanitization.

Patch by Geoffrey Garen <ggaren@apple.com> on 2009-09-23
Reviewed by Sam Weinig.

New tests for event dispatch:

  • fast/events/event-attributes-after-exception-expected.txt: Added.
  • fast/events/event-attributes-after-exception.html: Added.
  • fast/events/event-fire-order-expected.txt: Added.
  • fast/events/event-fire-order.html: Added.
  • fast/events/event-fired-after-removal-expected.txt: Added.
  • fast/events/event-fired-after-removal.html: Added.


Fixed these tests:

  • fast/xmlhttprequest/xmlhttprequest-get-expected.txt: eventPhase should

be AT_TARGET (2) when firing an event on an XHR, not INVALID (0).

  • http/tests/xmlhttprequest/infoOnProgressEvent-expected.txt: ditto
  • http/tests/xmlhttprequest/event-target-expected.txt:
  • http/tests/xmlhttprequest/event-target.html: Removing an event listener

during event dispatch should prevent it from firing. (This test was backwards.)

  • svg/custom/loadevents-capturing.svg: Enhanced this test to tell you

why it fails when it fails. Changed it to register runTest() (now named
reportResults()) using addEventListener() instead of the 'onload' attribute.
The test relies on reportResults() running after handler(), so it needs
to register reportResults() after handler().

10:00 PM Changeset in webkit [48700] by ddkilzer@apple.com
  • 3 edits
    2 adds in trunk/WebKitTools

<http://webkit.org/b/28910> Move bugzilla-tool mark-fixed to standalone mark-bug-fixed tool

Reviewed by Darin Adler.

Also fixed a bug where specifying a revision on the command-line
as 'r12345' would fail. See <http://webkit.org/b/29699>.

  • Scripts/bugzilla-tool: Updated module import statements. (parse_bug_id): Removed. Moved to bugzilla.py. (bug_comment_from_svn_revision): Removed. Moved to comments.py. (bug_comment_from_commit_text): Removed. Moved to comments.py. (MarkBugFixed): Removed. Code moved to mark-bug-fixed. (BugzillaTool.init): Removed mark-fixed subcommand.
  • Scripts/mark-bug-fixed: Added.
  • Scripts/modules/bugzilla.py: (parse_bug_id): Added. Moved from bugzilla-tool.
  • Scripts/modules/comments.py: Added. (bug_comment_from_svn_revision): Added. Moved from bugzilla-tool. (bug_comment_from_commit_text): Added. Moved from bugzilla-tool.
8:02 PM Changeset in webkit [48699] by eric@webkit.org
  • 1 edit
    4 adds in trunk/LayoutTests

2009-09-23 Karen Grünberg <karen+webkit@chromium.org>

Reviewed by Eric Seidel.

This tests all types of inputs text and password,
both enabled and disabled, the existing tests
weren't thorough enough for chromium.

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

  • fast/forms/basic-inputs.html: Added.
  • platform/mac/fast/forms/basic-inputs-expected.checksum: Added.
  • platform/mac/fast/forms/basic-inputs-expected.png: Added.
  • platform/mac/fast/forms/basic-inputs-expected.txt: Added.
7:55 PM Changeset in webkit [48698] by eric@webkit.org
  • 8 edits
    3 adds in trunk

2009-09-23 Kent Tamura <tkent@chromium.org>

Reviewed by Darin Adler.

Tests for maxLength of <textarea>
https://bugs.webkit.org/show_bug.cgi?id=29292

  • fast/forms/script-tests/textarea-maxlength.js: Added.
  • fast/forms/textarea-maxlength-expected.txt: Added.
  • fast/forms/textarea-maxlength.html: Added.

2009-09-23 Kent Tamura <tkent@chromium.org>

Reviewed by Darin Adler.

Test: fast/forms/textarea-maxlength.html

  • dom/InputElement.cpp: (WebCore::InputElement::sanitizeUserInputValue): (WebCore::InputElement::handleBeforeTextInsertedEvent):
  • html/HTMLTextAreaElement.cpp: (WebCore::HTMLTextAreaElement::defaultEventHandler): (WebCore::HTMLTextAreaElement::handleBeforeTextInsertedEvent): (WebCore::HTMLTextAreaElement::sanitizeUserInputValue): (WebCore::HTMLTextAreaElement::maxLength): (WebCore::HTMLTextAreaElement::setMaxLength):
  • html/HTMLTextAreaElement.h:
  • html/HTMLTextAreaElement.idl:
  • platform/text/PlatformString.h:
  • platform/text/String.cpp: (WebCore::String::numGraphemeClusters): (WebCore::String::numCharactersInGraphemeClusters):
7:44 PM Changeset in webkit [48697] by eric@webkit.org
  • 6 edits in trunk

2009-09-23 Martin Robinson <martin.james.robinson@gmail.com>

Reviewed by Xan Lopez.

[GTK] REGRESSION: BitmapImage::getGdkPixbuf fails for non-square images
https://bugs.webkit.org/show_bug.cgi?id=29654

Enable tests which are now passing because of key event fixes.

  • platform/gtk/Skipped:

2009-09-23 Martin Robinson <martin.james.robinson@gmail.com>

Reviewed by Xan Lopez.

[GTK] REGRESSION: BitmapImage::getGdkPixbuf fails for non-square images
https://bugs.webkit.org/show_bug.cgi?id=29654

Give GDK_Backspace key events the proper text properties.

Instead of adding new tests, this change removes existing tests
from Gtk's skipped list.

  • platform/gtk/KeyEventGtk.cpp: (WebCore::keyIdentifierForGdkKeyCode): (WebCore::singleCharacterString):

2009-09-23 Martin Robinson <martin.james.robinson@gmail.com>

Reviewed by Xan Lopez.

[GTK] REGRESSION: BitmapImage::getGdkPixbuf fails for non-square images
https://bugs.webkit.org/show_bug.cgi?id=29654

Ensure that even when GTKSimpleIMContext filters non-IME keystrokes,
keyboard events are fired properly.

  • WebCoreSupport/EditorClientGtk.cpp: (WebKit::clearPendingIMData): (WebKit::imContextCommitted): (WebKit::imContextPreeditChanged): (WebKit::EditorClient::shouldBeginEditing): (WebKit::EditorClient::shouldEndEditing): (WebKit::interpretEditorCommandKeyEvent): (WebKit::handleCaretBrowsingKeyboardEvent): (WebKit::EditorClient::handleKeyboardEvent): (WebKit::EditorClient::handleInputMethodKeydown):
7:17 PM Changeset in webkit [48696] by eric@webkit.org
  • 1 edit
    33 adds in trunk/LayoutTests

2009-09-23 Eric Seidel <eric@webkit.org>

No review, just adding missing pixel test results from recent test additions.

  • platform/mac/compositing/generated-content-expected.checksum: Added.
  • platform/mac/compositing/generated-content-expected.png: Added.
  • platform/mac/compositing/masks/masked-ancestor-expected.png: Added.
  • platform/mac/compositing/masks/multiple-masks-expected.png: Added.
  • platform/mac/compositing/masks/simple-composited-mask-expected.png: Added.
  • platform/mac/compositing/reflections/reflection-on-composited-expected.checksum: Added.
  • platform/mac/compositing/reflections/reflection-on-composited-expected.png: Added.
  • platform/mac/compositing/self-painting-layers-expected.checksum: Added.
  • platform/mac/compositing/self-painting-layers-expected.png: Added.
  • platform/mac/compositing/sibling-positioning-expected.checksum: Added.
  • platform/mac/compositing/sibling-positioning-expected.png: Added.
  • platform/mac/fast/forms/button-style-color-expected.checksum: Added.
  • platform/mac/fast/forms/button-style-color-expected.png: Added.
  • platform/mac/fast/forms/text-style-color-expected.checksum: Added.
  • platform/mac/fast/forms/text-style-color-expected.png: Added.
  • platform/mac/fast/forms/textarea-placeholder-pseudo-style-expected.checksum: Added.
  • platform/mac/fast/forms/textarea-placeholder-pseudo-style-expected.png: Added.
  • platform/mac/fast/forms/textarea-placeholder-set-attribute-expected.checksum: Added.
  • platform/mac/fast/forms/textarea-placeholder-set-attribute-expected.png: Added.
  • platform/mac/fast/forms/textarea-placeholder-set-value-expected.checksum: Added.
  • platform/mac/fast/forms/textarea-placeholder-set-value-expected.png: Added.
  • platform/mac/fast/frames/viewsource-on-image-file-expected.checksum: Added.
  • platform/mac/fast/frames/viewsource-on-image-file-expected.png: Added.
  • platform/mac/fast/text/international/khmer-selection-expected.checksum: Added.
  • platform/mac/fast/text/international/khmer-selection-expected.png: Added.
  • platform/mac/media/audio-no-installed-engines-expected.checksum: Added.
  • platform/mac/media/audio-no-installed-engines-expected.png: Added.
  • platform/mac/media/controls-strict-expected.checksum: Added.
  • platform/mac/media/controls-strict-expected.png: Added.
  • platform/mac/media/controls-styling-expected.checksum: Added.
  • platform/mac/media/controls-styling-expected.png: Added.
  • platform/mac/media/video-no-audio-expected.checksum: Added.
  • platform/mac/media/video-no-audio-expected.png: Added.
6:56 PM Changeset in webkit [48695] by weinig@apple.com
  • 3 edits
    4 adds in trunk

WebCore: Fix for https://bugs.webkit.org/show_bug.cgi?id=26989
Should allow navigation of top-level openers
<rdar://problem/7034025>

Reviewed by Adam Barth.

Allow navigation of cross-origin window.opener if it is top-level frame.

Test: http/tests/security/frameNavigation/cross-origin-opener.html

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::shouldAllowNavigation):

LayoutTests: Test for https://bugs.webkit.org/show_bug.cgi?id=26989
Should allow navigation of top-level openers
<rdar://problem/7034025>

Reviewed by Adam Barth.

  • http/tests/security/frameNavigation/cross-origin-opener-expected.txt: Added.
  • http/tests/security/frameNavigation/cross-origin-opener.html: Added.
  • http/tests/security/frameNavigation/resources/cross-origin-opener-opener.html: Added.
  • http/tests/security/frameNavigation/resources/navigate-opener.html: Added.
6:20 PM Changeset in webkit [48694] by eric@webkit.org
  • 19 edits in trunk/LayoutTests

2009-09-23 Andrew Scherkus <scherkus@chromium.org>

Reviewed by Eric Carlson.

Updating 17 media layout tests to provide different media files based on supported codecs.

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

  • media/audio-constructor-autobuffer.html: Switched to findMediaFile().
  • media/audio-constructor-src.html: Ditto.
  • media/audio-constructor.html: Ditto.
  • media/audio-controls-rendering.html: Ditto.
  • media/audio-delete-while-slider-thumb-clicked.html: Ditto.
  • media/audio-delete-while-step-button-clicked.html: Ditto.
  • media/broken-video.html: Ditto.
  • media/controls-after-reload.html: Ditto, and also changed initial video to counting.mp4 since scaled-matrix.mov is QuickTime specific.
  • media/controls-right-click-on-timebar.html: Ditto.
  • media/event-attributes.html: Ditto.
  • media/media-load-event.html: Ditto.
  • media/media-startTime.html: Ditto.
  • media/progress-event-total-expected.txt: Added new total value.
  • media/progress-event-total.html: Switched to for loop and findMediaFile(), added new total value.
  • media/progress-event.html: Switched to findMediaFile().
  • media/remove-from-document-no-load.html: Ditto.
  • media/remove-from-document.html: Ditto.
  • media/unsupported-tracks.html: Ditto.
6:02 PM Changeset in webkit [48693] by eric@webkit.org
  • 2 edits in trunk/WebKit/qt

2009-09-23 J-P Nurmi <jpnurmi@gmail.com>

Reviewed by Simon Hausmann.

Prevent QWebPage::setView() from changing the viewport size on the fly
in case the view doesn't actually change. QWebPage::setView() is
called upon every QWebGraphicsItem::hoverMoveEvent(), which forced
the viewport size to be equal to the size of the whole graphics view.

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

  • Api/qwebpage.cpp: (QWebPage::setView):
5:54 PM Changeset in webkit [48692] by eric@webkit.org
  • 7 edits in trunk

2009-09-23 Marshall Culpepper <mculpepper@appcelerator.com>

Reviewed by Eric Seidel.

Added $(WebKitLibrariesDir)/include/cairo so cairo.h is found by
default when the necessary dependencies are extracted into the
WebKitLibrariesDir.
https://bugs.webkit.org/show_bug.cgi?id=29661

  • WebCore.vcproj/WebCoreCairo.vsprops:

2009-09-23 Marshall Culpepper <mculpepper@appcelerator.com>

Reviewed by Eric Seidel.

Added $(WebKitLibrariesDir)/include/cairo so cairo.h is found by
default when the necessary dependencies are extracted into the
WebKitLibrariesDir.
https://bugs.webkit.org/show_bug.cgi?id=29661

  • win/tools/vsprops/WinCairo.vsprops:

2009-09-23 Marshall Culpepper <mculpepper@appcelerator.com>

Reviewed by Eric Seidel.

jpeg.lib is now libjpeg.lib in DRT Cairo dependencies. return
"false" in non-implemented stub for setAlwaysAcceptCookies.
https://bugs.webkit.org/show_bug.cgi?id=29661

  • DumpRenderTree/win/DumpRenderTree.vcproj:
  • DumpRenderTree/win/DumpRenderTree.cpp:
5:47 PM Changeset in webkit [48691] by eric@webkit.org
  • 2 edits in trunk/WebKit/qt

2009-09-23 Jedrzej Nowacki <jedrzej.nowacki@nokia.com>

Reviewed by Simon Hausmann.

[Qt] Crash fix in QWebHistory back and forward methods.

QWebHistory::back() and QWebHistory::forward() were crashing on
ASSERT in WebCore::BackForwardList. The methods should check
canGoBack() and canGoForward() at the beginning.

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

  • Api/qwebhistory.cpp: (QWebHistory::back): (QWebHistory::forward):
5:40 PM Changeset in webkit [48690] by eric@webkit.org
  • 1 edit
    4 adds in trunk/LayoutTests

2009-09-23 Karen Grünberg <karen+webkit@chromium.org>

Reviewed by Dimitri Glazkov.

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

Added layout test to test buttons extensively
with different paddings. Testing both buttons
with images and text. Existing tests were not
comprehensive enough.

  • fast/forms/basic-buttons.html: Added.
  • platform/mac/fast/forms/basic-buttons-expected.checksum: Added.
  • platform/mac/fast/forms/basic-buttons-expected.png: Added.
  • platform/mac/fast/forms/basic-buttons-expected.txt: Added.
5:33 PM Changeset in webkit [48689] by Darin Adler
  • 2 edits in trunk/WebKit/mac

Speed up access to history items by caching date computation.

Patch by Darin Adler <Darin Adler> on 2009-09-23
Reviewed by Dan Bernstein.

  • History/WebHistory.mm:

(getDayBoundaries): Refactored from timeIntervalForBeginningOfDay.
Returns the beginning of the day that the passed time is within and
the beginning of the next day.
(beginningOfDay): Added. Uses getDayBoundaries so it can be fast for
multiple dates within the same day, which is the common case.
(dateKey): Added. Calls beginningOfDay and converts to an integer.
(-[WebHistoryPrivate findKey:forDay:]): Changed to call dateKey
insetad of timeIntervalForBeginningOfDay.

5:33 PM Changeset in webkit [48688] by eric@webkit.org
  • 4 edits in trunk/WebKit/qt

2009-09-23 Jedrzej Nowacki <jedrzej.nowacki@nokia.com>

Reviewed by Simon Hausmann.

[Qt] Bug fix. QWebHistory should call QWebPage::updateNavigationActions

In QWebHistory's methods that change item count or current item call
to QWebPage::updateNavigationActions should be executed.
QWebHistory::clear() and QWebHistory::restorState() were changed.
New helper method, QWebPagePrivate accesor, were created in
QWebHistoryPrivate class.
Two autotest were developed.

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

  • Api/qwebhistory.cpp: (QWebHistory::clear): (QWebHistory::restoreState): (QWebHistoryPrivate::page):
  • Api/qwebhistory_p.h:
  • tests/qwebhistory/tst_qwebhistory.cpp: (tst_QWebHistory::saveAndRestore_1): (tst_QWebHistory::clear):
4:27 PM Changeset in webkit [48687] by Darin Adler
  • 4 edits
    2 adds in trunk/WebCore

Crash when website does a history.back() followed by an alert()
https://bugs.webkit.org/show_bug.cgi?id=29686
rdar://problem/6984996

Patch by Darin Adler <Darin Adler> on 2009-09-23
Reviewed by Sam Weinig.

When loading is deferred, we need to defer timer-based loads
too, not just networking-driven loads. Otherwise we can get
syncronouse navigation while running a script, which leads to
crashes and other badness.

This patch includes a manual test; an automated test may be
possible some time in the future.

  • dom/Document.cpp:

(WebCore::Document::processHttpEquiv): Use scheduleLocationChange
instead of scheduleHTTPRedirection to implement the navigation
needed for x-frame-options.

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::FrameLoader): Updated for data members with
new names and new data members.
(WebCore::FrameLoader::setDefersLoading): When turning deferral
off, call startRedirectionTimer and startCheckCompleteTimer, since
either of them might have been fired and ignored while defersLoading
was true.
(WebCore::FrameLoader::clear): Updated for replacement of the
m_checkCompletedTimer and m_checkLoadCompleteTimer timers.
(WebCore::FrameLoader::allAncestorsAreComplete): Added.
(WebCore::FrameLoader::checkCompleted): Added code to set
m_shouldCallCheckCompleted to false. Changed code that calls
startRedirectionTimer to call it unconditionally, since that
function now knows when to do work and doesn't expect callers
to handle that any more.
(WebCore::FrameLoader::checkTimerFired): Added. Replaces the old
timer fired callbacks. Calls checkCompleted and checkLoadComplete
as appropriate, but not when defersLoading is true.
(WebCore::FrameLoader::startCheckCompleteTimer): Added. Replaces
the two different calls to start timers before. Only starts the
timers if they are needed.
(WebCore::FrameLoader::scheduleCheckCompleted): Changed to call
startCheckCompleteTimer after setting boolean.
(WebCore::FrameLoader::scheduleCheckLoadComplete): Ditto.
(WebCore::FrameLoader::scheduleHistoryNavigation): Removed
canGoBackOrForward check. The logic works more naturally when
we don't do anything until the timer fires.
(WebCore::FrameLoader::redirectionTimerFired): Do nothing if
defersLoading is true. Also moved canGoBackOrForward check here.
(WebCore::FrameLoader::scheduleRedirection): Changed code that
calls startRedirectionTimer to do so unconditionally. That
function now handles the rules about when to start the timer
rather than expecting the caller to do so.
(WebCore::FrameLoader::startRedirectionTimer): Added code to
handle the case where there is no redirection scheduled,
where the timer is already active, or where this is a classic
redirection and there is an ancestor that has not yet completed
loading.
(WebCore::FrameLoader::completed): Call startRedirectionTimer
here directly instead of calling a cover named parentCompleted.
Hooray! One less function in the giant FrameLoader class!
(WebCore::FrameLoader::checkLoadComplete): Added code to set
m_shouldCallCheckLoadComplete to false.

  • loader/FrameLoader.h: Replaced the two functions

checkCompletedTimerFired and checkLoadCompleteTimerFired with
one function, checkTimerFired. Removed the parentCompleted
function. Added the startCheckCompleteTimer and
allAncestorsAreComplete functions. Replaced the
m_checkCompletedTimer and m_checkLoadCompleteTimer data
members with m_checkTimer, m_shouldCallCheckCompleted, and
m_shouldCallCheckLoadComplete.

  • manual-tests/go-back-after-alert.html: Added.
  • manual-tests/resources/alert-and-go-back.html: Added.
3:03 PM Changeset in webkit [48686] by ddkilzer@apple.com
  • 3 edits
    1 move in trunk/WebCore

<http://webkit.org/b/29660> Move "Generate 64-bit Export File" build phase script into DerivedSources.make

Reviewed by Mark Rowe.

The "Generate 64-bit Export File" build phase script generated
the WebCore.LP64.exp export file used to link 64-bit WebCore.
Instead of having a separate build phase script, move its
generation into DerivedSources.make where WebCore.exp is
generated.

  • DerivedSources.make: Added a rule to make WebCore.LP64.exp. Added code to append WebCore.PluginHostProcess.exp to $(WEBCORE_EXPORT_DEPENDENCIES) when WTF_USE_PLUGIN_HOST_PROCESS is set to 1.
  • WebCore.PluginHostProcess.exp: Renamed from WebCore/WebCore.LP64.exp.
  • WebCore.xcodeproj/project.pbxproj: Removed the "Generate 64-bit Export File" build phase script. Renamed WebCore.LP64.exp to WebCore.PluginHostProcess.exp.
3:03 PM Changeset in webkit [48685] by ddkilzer@apple.com
  • 4 edits in trunk

Move definition of USE(PLUGIN_HOST_PROCESS) from WebKitPrefix.h to Platform.h

Reviewed by Mark Rowe.

JavaScriptCore:

  • wtf/Platform.h: Define WTF_USE_PLUGIN_HOST_PROCESS to 1 when building on 64-bit SnowLeopard. Define to 0 elsewhere.

WebKit/mac:

  • WebKitPrefix.h: Removed definition of WTF_USE_PLUGIN_HOST_PROCESS.
2:18 PM Changeset in webkit [48684] by pkasting@chromium.org
  • 2 edits in trunk/WebCore

https://bugs.webkit.org/show_bug.cgi?id=29694
[Chromium] Eliminate dependency on gfx::Rect from ImageSkia.

Reviewed by Dimitri Glazkov.

  • platform/graphics/skia/ImageSkia.cpp:

(WebCore::drawResampledBitmap):

12:43 PM Changeset in webkit [48683] by timothy@apple.com
  • 8 edits in trunk

WebCore: Prevent scrolling multiple elements during latched wheel events.

Reviewed by Anders Carlsson.

  • page/EventHandler.cpp:

(WebCore::scrollAndAcceptEvent):
(WebCore::EventHandler::clear):
(WebCore::EventHandler::handleWheelEvent):

  • page/EventHandler.h:
  • rendering/RenderBox.cpp:

(WebCore::RenderBox::scroll):

  • rendering/RenderBox.h:

WebKit/mac: Prevent scrolling multiple frames during latched wheel events.

Reviewed by Anders Carlsson.

  • WebView/WebDynamicScrollBarsView.h:
  • WebView/WebDynamicScrollBarsView.mm:

(-[WebDynamicScrollBarsView scrollWheel:]):

12:18 PM Changeset in webkit [48682] by kov@webkit.org
  • 5 edits in trunk

WebKit/gtk

2009-09-23 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>

Reviewed by Xan Lopez.

[GTK] need to dump number of pending unload handlers
https://bugs.webkit.org/show_bug.cgi?id=29685

  • webkit/webkitprivate.h:
  • webkit/webkitwebframe.cpp: (webkit_web_frame_get_pending_unload_event_count): New function to satisfy DRT needs.

WebKitTools

2009-09-23 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>

Reviewed by Xan Lopez.

[GTK] need to dump number of pending unload handlers
https://bugs.webkit.org/show_bug.cgi?id=29685

Implement dumping of the number of pending unload handlers.

The following tests will pass:

fast/loader/unload-form-about-blank.html
fast/loader/unload-form-post-about-blank.html
fast/loader/unload-form-post.html
fast/loader/unload-form.html
fast/loader/unload-hyperlink.html
fast/loader/unload-javascript-url.html
fast/loader/unload-reload.html
fast/loader/unload-window-location.html

  • DumpRenderTree/gtk/DumpRenderTree.cpp: (getFrameNameSuitableForTestResult): (webViewLoadFinished):
11:52 AM Changeset in webkit [48681] by andersca@apple.com
  • 2 edits in trunk/WebKit/win

<rdar://problem/7243354>
REGRESSION(48580-48636): Crash clicking embedded QT preview button on apple.com/trailers

Reviewed by Adam Roben.

Check for a null IWebPolicyDelegatePrivate.

  • WebCoreSupport/WebFrameLoaderClient.cpp:

(WebFrameLoaderClient::shouldLoadMediaElementURL):

11:19 AM Changeset in webkit [48680] by dbates@webkit.org
  • 5 edits
    4 adds in trunk

2009-09-23 Daniel Bates <dbates@webkit.org>

Reviewed by Adam Barth.

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


Fixes an issue where a JavaScript URL that was URL-encoded twice can bypass the
XSSAuditor.


The method FrameLoader::executeIfJavaScriptURL decodes the URL escape
sequences in a JavaScript URL before it is eventually passed to the XSSAuditor.
Because the XSSAuditor also decodes the URL escape sequences as part of its
canonicalization, the double decoding of a JavaScript URL would
not match the canonicalization of the input parameters.

Tests: http/tests/security/xssAuditor/iframe-javascript-url-url-encoded.html

http/tests/security/xssAuditor/javascript-link-url-encoded.html

  • bindings/js/ScriptController.cpp: (WebCore::ScriptController::evaluate): Moved call to XSSAuditor::canEvaluateJavaScriptURL into FrameLoader::executeIfJavaScriptURL.
  • bindings/v8/ScriptController.cpp: (WebCore::ScriptController::evaluate): Ditto.
  • loader/FrameLoader.cpp: (WebCore::FrameLoader::executeIfJavaScriptURL): Modified to call XSSAuditor::canEvaluateJavaScriptURL on the JavaScript URL before it is decoded.

2009-09-23 Daniel Bates <dbates@webkit.org>

Reviewed by Adam Barth.

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


Tests that JavaScript URLs that were URL-encoded twice do not bypass the XSSAuditor.

  • http/tests/security/xssAuditor/iframe-javascript-url-url-encoded-expected.txt: Added.
  • http/tests/security/xssAuditor/iframe-javascript-url-url-encoded.html: Added.
  • http/tests/security/xssAuditor/javascript-link-url-encoded-expected.txt: Added.
  • http/tests/security/xssAuditor/javascript-link-url-encoded.html: Added.
9:53 AM Changeset in webkit [48679] by hyatt@apple.com
  • 4 edits
    4 adds in trunk

https://bugs.webkit.org/show_bug.cgi?id=29657
Columns don't break properly in positioned elements with a fixed height. Make sure that
a block is still considered to have columns even when the column count is 1 if the column
width is non-auto.

Reviewed by John Sullivan.

Added fast/multicol/positioned-with-constrained-height.html

WebCore:

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::setDesiredColumnCountAndWidth):

LayoutTests:

  • fast/multicol/positioned-with-constrained-height.html: Added.
  • platform/mac/fast/multicol/float-multicol-expected.txt:
  • platform/mac/fast/multicol/positioned-with-constrained-height-expected.checksum: Added.
  • platform/mac/fast/multicol/positioned-with-constrained-height-expected.png: Added.
  • platform/mac/fast/multicol/positioned-with-constrained-height-expected.txt: Added.
9:38 AM Changeset in webkit [48678] by zecke@webkit.org
  • 2 edits in trunk/WebCore

2009-09-23 Holger Hans Peter Freyther <zecke@selfish.org>

Rubber-stamped by Simon Hausmann.

Add a null check for the Document*. In the mirror benchmarking
application a crash from a call from JavaScript was observed.

I was not able to come up with a test case for this issue.

  • platform/qt/CookieJarQt.cpp: (WebCore::cookieJar):
9:28 AM Changeset in webkit [48677] by kov@webkit.org
  • 2 edits in trunk/LayoutTests

2009-09-23 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>

Unreviewed. Skipping new tests, and
plugins/destroy-during-npp-new.html, after reporting
https://bugs.webkit.org/show_bug.cgi?id=29683.

  • platform/gtk/Skipped:
9:23 AM Changeset in webkit [48676] by eric@webkit.org
  • 3 edits in trunk/WebKit/qt

2009-09-23 Norbert Leser <norbert.leser@nokia.com>

Reviewed by Tor Arne Vestbø.

Need to guard QX11Info include with Q_WS_X11.
That class may not be available (in QT 4.5 for Symbian, for instance).
Completes fixes in r48627 and r48604.

  • Api/qwebgraphicsitem.cpp:
  • Api/qwebview.cpp:
8:16 AM Changeset in webkit [48675] by kov@webkit.org
  • 2 edits in trunk/LayoutTests

2009-09-23 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>

Unreviewed. Updated to match the changes done in r48566.

  • platform/gtk/fast/dom/prototype-inheritance-2-expected.txt:
6:59 AM Changeset in webkit [48674] by Simon Hausmann
  • 2 edits in trunk/WebCore

Fix the Qt/Windows build, after the introduction of
the page client.

Patch by Simon Hausmann <simon.hausmann@nokia.com> on 2009-09-23
Reviewed by Tor Arne Vestbø.

  • plugins/win/PluginViewWin.cpp:

(windowHandleForPageClient):
(WebCore::PluginView::getValue):
(WebCore::PluginView::forceRedraw):
(WebCore::PluginView::platformStart):

6:25 AM Changeset in webkit [48673] by xan@webkit.org
  • 2 edits in trunk

2009-09-23 Xan Lopez <xlopez@igalia.com>

Reviewed by Gustavo Noronha.

Do not add unneeded include paths for gir files, and add the
include paths for headers manually instead of relying on our own
pc file and installed headers, since that adds a circular
dependency.

  • GNUmakefile.am:
6:08 AM Changeset in webkit [48672] by jmalonzo@webkit.org
  • 4 edits
    1 move in trunk

2009-09-23 Jan Michael Alonzo <jmalonzo@webkit.org>

Reviewed by Xan Lopez.

Minor reorganization to the patch landed in
http://trac.webkit.org/changeset/48670. Also move JSCore-1.0.gir
in the gtk directory as that's only useful to the Gtk port at the
moment.

  • JSCore-1.0.gir: Renamed from JSCore-1.0.gir.
  • GNUmakefile.am:
  • configure.ac:
5:49 AM Changeset in webkit [48671] by kov@webkit.org
  • 2 edits in trunk/WebCore

2009-09-23 Gustavo Noronha Silva <Gustavo Noronha Silva>

Reviewed by Xan Lopez.

[GTK] media tests failing after their rework
https://bugs.webkit.org/show_bug.cgi?id=29532

Correctly advertise the mime types used by the common formats used
in the tests.

Tests that regressed, and will pass again:

media/video-canvas-source.html
media/video-controls.html
media/video-currentTime-set2.html
media/video-dom-autoplay.html
media/video-dom-src.html
media/video-error-abort.html
media/video-load-networkState.html
media/video-load-readyState.html
media/video-muted.html
media/video-no-autoplay.html
media/video-pause-empty-events.html
media/video-play-empty-events.html
media/video-seekable.html
media/video-seeking.html
media/video-size.html
media/video-source-type-params.html
media/video-source-type.html
media/video-source.html
media/video-src-change.html
media/video-src-invalid-remove.html
media/video-src-remove.html
media/video-src-set.html
media/video-src-source.html
media/video-src.html
media/video-timeupdate-during-playback.html
media/video-volume.html

  • platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: (WebCore::mimeTypeCache):
5:03 AM Changeset in webkit [48670] by xan@webkit.org
  • 3 edits
    1 add in trunk

2009-09-23 Xan Lopez <xlopez@igalia.com>

Reviewed by Gustavo Noronha.

[GTK] We should generate our own gir file for introspection
https://bugs.webkit.org/show_bug.cgi?id=29603

Generate gir and typelib files for WebKit and JSCore. The JSCore
gir file is handwritten (since it's only useful, for now, as a
dependency of the WebKit gir file), the WebKit one is
autogenerated from the headers.

  • GNUmakefile.am:
  • JSCore-1.0.gir: Added.
  • configure.ac:
1:59 AM Changeset in webkit [48669] by zoltan@webkit.org
  • 2 edits in trunk/LayoutTests

2009-09-23 Andras Becsi <becsi.andras@stud.u-szeged.hu>

Reviewed by Tor Arne Vestbø.

[Qt] Skipping test added in r48644 due to missing layoutTestController features.

Note: See TracTimeline for information about the timeline view.