Timeline


and

07/29/10:

23:50 Changeset [64339] by mrobinson@webkit.org

Fix another bad ChangeLog merge.

23:44 Changeset [64338] by mrobinson@webkit.org

2010-07-29 Martin Robinson <mrobinson@igalia.com>

Reviewed by Dirk Schulze.

Cairo: Need to implement GraphicsContext::clipConvexPolygon()
https://bugs.webkit.org/show_bug.cgi?id=41308

Enable tests for path based borders.

  • platform/gtk/fast/borders/border-radius-circle-expected.checksum: Added.
  • platform/gtk/fast/borders/border-radius-circle-expected.png: Added.
  • platform/gtk/fast/borders/border-radius-circle-expected.txt: Copied from LayoutTests/platform/mac/fast/borders/border-radius-circle-expected.txt.
  • platform/gtk/fast/borders/border-radius-groove-01-expected.checksum: Added.
  • platform/gtk/fast/borders/border-radius-groove-01-expected.png: Added.
  • platform/gtk/fast/borders/border-radius-groove-01-expected.txt: Copied from LayoutTests/platform/mac/fast/borders/border-radius-groove-01-expected.txt.
  • platform/gtk/fast/borders/border-radius-groove-02-expected.checksum: Added.
  • platform/gtk/fast/borders/border-radius-groove-02-expected.png: Added.
  • platform/gtk/fast/borders/border-radius-groove-02-expected.txt: Copied from LayoutTests/platform/mac/fast/borders/border-radius-groove-02-expected.txt.
  • platform/gtk/fast/borders/border-radius-groove-03-expected.checksum: Added.
  • platform/gtk/fast/borders/border-radius-groove-03-expected.png: Added.
  • platform/gtk/fast/borders/border-radius-groove-03-expected.txt: Copied from LayoutTests/platform/mac/fast/borders/border-radius-groove-03-expected.txt.
  • platform/gtk/fast/borders/border-radius-wide-border-01-expected.checksum: Added.
  • platform/gtk/fast/borders/border-radius-wide-border-01-expected.png: Added.
  • platform/gtk/fast/borders/border-radius-wide-border-01-expected.txt: Copied from LayoutTests/platform/mac/fast/borders/border-radius-wide-border-01-expected.txt.
  • platform/gtk/fast/borders/border-radius-wide-border-02-expected.checksum: Added.
  • platform/gtk/fast/borders/border-radius-wide-border-02-expected.png: Added.
  • platform/gtk/fast/borders/border-radius-wide-border-02-expected.txt: Copied from LayoutTests/platform/mac/fast/borders/border-radius-wide-border-02-expected.txt.
  • platform/gtk/fast/borders/border-radius-wide-border-03-expected.checksum: Added.
  • platform/gtk/fast/borders/border-radius-wide-border-03-expected.png: Added.
  • platform/gtk/fast/borders/border-radius-wide-border-03-expected.txt: Copied from LayoutTests/platform/mac/fast/borders/border-radius-wide-border-03-expected.txt.
  • platform/gtk/fast/borders/border-radius-wide-border-04-expected.checksum: Added.
  • platform/gtk/fast/borders/border-radius-wide-border-04-expected.png: Added.
  • platform/gtk/fast/borders/border-radius-wide-border-04-expected.txt: Copied from LayoutTests/platform/mac/fast/borders/border-radius-wide-border-04-expected.txt.
  • platform/gtk/fast/borders/borderRadiusDashed04-expected.checksum: Added.
  • platform/gtk/fast/borders/borderRadiusDashed04-expected.png: Added.
  • platform/gtk/fast/borders/borderRadiusDashed04-expected.txt: Copied from LayoutTests/platform/mac/fast/borders/borderRadiusDashed04-expected.txt.
  • platform/gtk/fast/borders/borderRadiusDashed05-expected.checksum: Added.
  • platform/gtk/fast/borders/borderRadiusDashed05-expected.png: Added.
  • platform/gtk/fast/borders/borderRadiusDashed05-expected.txt: Copied from LayoutTests/platform/mac/fast/borders/borderRadiusDashed05-expected.txt.
  • platform/gtk/fast/borders/borderRadiusDashed06-expected.checksum: Added.
  • platform/gtk/fast/borders/borderRadiusDashed06-expected.png: Added.
  • platform/gtk/fast/borders/borderRadiusDashed06-expected.txt: Copied from LayoutTests/platform/mac/fast/borders/borderRadiusDashed06-expected.txt.
  • platform/gtk/fast/borders/borderRadiusDotted04-expected.checksum: Added.
  • platform/gtk/fast/borders/borderRadiusDotted04-expected.png: Added.
  • platform/gtk/fast/borders/borderRadiusDotted04-expected.txt: Copied from LayoutTests/platform/mac/fast/borders/borderRadiusDotted04-expected.txt.
  • platform/gtk/fast/borders/borderRadiusDotted05-expected.checksum: Added.
  • platform/gtk/fast/borders/borderRadiusDotted05-expected.png: Added.
  • platform/gtk/fast/borders/borderRadiusDotted05-expected.txt: Copied from LayoutTests/platform/mac/fast/borders/borderRadiusDotted05-expected.txt.
  • platform/gtk/fast/borders/borderRadiusDotted06-expected.checksum: Added.
  • platform/gtk/fast/borders/borderRadiusDotted06-expected.png: Added.
  • platform/gtk/fast/borders/borderRadiusDotted06-expected.txt: Copied from LayoutTests/platform/mac/fast/borders/borderRadiusDotted06-expected.txt.
  • platform/gtk/fast/borders/borderRadiusDouble04-expected.checksum: Added.
  • platform/gtk/fast/borders/borderRadiusDouble04-expected.png: Added.
  • platform/gtk/fast/borders/borderRadiusDouble04-expected.txt: Copied from LayoutTests/platform/mac/fast/borders/borderRadiusDouble04-expected.txt.
  • platform/gtk/fast/borders/borderRadiusDouble05-expected.checksum: Added.
  • platform/gtk/fast/borders/borderRadiusDouble05-expected.png: Added.
  • platform/gtk/fast/borders/borderRadiusDouble05-expected.txt: Copied from LayoutTests/platform/mac/fast/borders/borderRadiusDouble05-expected.txt.
  • platform/gtk/fast/borders/borderRadiusDouble06-expected.checksum: Added.
  • platform/gtk/fast/borders/borderRadiusDouble06-expected.png: Added.
  • platform/gtk/fast/borders/borderRadiusDouble06-expected.txt: Copied from LayoutTests/platform/mac/fast/borders/borderRadiusDouble06-expected.txt.
  • platform/gtk/fast/borders/borderRadiusDouble07-expected.checksum: Added.
  • platform/gtk/fast/borders/borderRadiusDouble07-expected.png: Added.
  • platform/gtk/fast/borders/borderRadiusDouble07-expected.txt: Copied from LayoutTests/platform/mac/fast/borders/borderRadiusDouble07-expected.txt.
  • platform/gtk/fast/borders/borderRadiusDouble08-expected.checksum: Added.
  • platform/gtk/fast/borders/borderRadiusDouble08-expected.png: Added.
  • platform/gtk/fast/borders/borderRadiusDouble08-expected.txt: Copied from LayoutTests/platform/mac/fast/borders/borderRadiusDouble08-expected.txt.
  • platform/gtk/fast/borders/borderRadiusDouble09-expected.checksum: Added.
  • platform/gtk/fast/borders/borderRadiusDouble09-expected.png: Added.
  • platform/gtk/fast/borders/borderRadiusDouble09-expected.txt: Copied from LayoutTests/platform/mac/fast/borders/borderRadiusDouble09-expected.txt.
  • platform/gtk/fast/borders/different-color-borders-expected.checksum: Added.
  • platform/gtk/fast/borders/different-color-borders-expected.png: Added.
  • platform/gtk/fast/borders/different-color-borders-expected.txt: Added.

2010-07-29 Ryosuke Niwa <rniwa@webkit.org>

Reviewed by Darin Adler.

InsertOrderedList does not switch the list type properly when it has an inner list.
https://bugs.webkit.org/show_bug.cgi?id=43166

The bug was caused by forcedCreateList was not set to true when the start and the end
of the selection lies in the same list. Added selectionHasListOfType to fix this problem.

WebKit used not to convert the outer lists even when the list is fully selected.
Corrected this behavior by converting the entire list at once when the list is fully selected.
To decide whether or not a list is fully selected, added currentSelection argument to doApplyForSingleParagraph.

Tests: editing/execCommand/switch-list-type-with-inner-list.html

editing/execCommand/switch-list-type-with-orphaned-li.html

  • editing/InsertListCommand.cpp: (WebCore::InsertListCommand::mergeWithNeighboringLists): Extracted the code to merge lists. (WebCore::InsertListCommand::selectionHasListOfType): attachment.cgi (WebCore::InsertListCommand::doApply): Calls selectionHasListOfType. (WebCore::InsertListCommand::doApplyForSingleParagraph): See above. (WebCore::InsertListCommand::listifyParagraph): Calls mergeWithNeighboringLists.
  • editing/InsertListCommand.h:
  • editing/htmlediting.cpp: (WebCore::canMergeLists): Ensures lists being merged are instances of HTMLElement. (WebCore::isNodeVisiblyContainedWithin): Works properly when one end is inside the range.
23:39 Changeset [64337] by rniwa@webkit.org

InsertOrderedList does not switch the list type properly when it has an inner list.
https://bugs.webkit.org/show_bug.cgi?id=43166

Reviewed by Darin Adler.

WebCore:

The bug was caused by forcedCreateList was not set to true when the start and the end
of the selection lies in the same list. Added selectionHasListOfType to fix this problem.

WebKit used not to convert the outer lists even when the list is fully selected.
Corrected this behavior by converting the entire list at once when the list is fully selected.
To decide whether or not a list is fully selected, added currentSelection argument to doApplyForSingleParagraph.

Tests: editing/execCommand/switch-list-type-with-inner-list.html

editing/execCommand/switch-list-type-with-orphaned-li.html

  • editing/InsertListCommand.cpp:

(WebCore::InsertListCommand::mergeWithNeighboringLists): Extracted the code to merge lists.
(WebCore::InsertListCommand::selectionHasListOfType): attachment.cgi
(WebCore::InsertListCommand::doApply): Calls selectionHasListOfType.
(WebCore::InsertListCommand::doApplyForSingleParagraph): See above.
(WebCore::InsertListCommand::listifyParagraph): Calls mergeWithNeighboringLists.

  • editing/InsertListCommand.h:
  • editing/htmlediting.cpp:

(WebCore::canMergeLists): Ensures lists being merged are instances of HTMLElement.
(WebCore::isNodeVisiblyContainedWithin): Works properly when one end is inside the range.

LayoutTests:

Added a test to convert an unordered list with a nested list to an ordered list.
Also added a test to convert multiple lists with an orphaned list to an ordered list.
The behavior of WebKit is changed not to flatten the lists when inserting ordered/unordered
lists on nested lists.

  • editing/execCommand/5207369-expected.txt: No longer flattens the list to match Firefox and MSIE.
  • editing/execCommand/5207369.html: Updated.
  • editing/execCommand/remove-list-items-expected.txt: Removed one whitespace.
  • editing/execCommand/switch-list-type-with-inner-list-expected.txt: Added.
  • editing/execCommand/switch-list-type-with-inner-list.html: Added.
  • editing/execCommand/switch-list-type-with-orphaned-li-expected.txt: Added.
  • editing/execCommand/switch-list-type-with-orphaned-li.html: Added.
23:22 Changeset [64336] by mrobinson@webkit.org

Fix ChangeLog snafu caused by bad merge.

23:13 Changeset [64335] by mrobinson@webkit.org

2010-07-29 Sheriff Bot <webkit.review.bot@gmail.com>

Unreviewed, rolling out r64313.
http://trac.webkit.org/changeset/64313
https://bugs.webkit.org/show_bug.cgi?id=43233

Some Chromium bots are not happy with it for some unknown
reason. (Requested by dumi on #webkit).

  • bindings/js/JSCustomVoidCallback.cpp: (WebCore::JSCustomVoidCallback::~JSCustomVoidCallback):
  • bindings/scripts/CodeGeneratorJS.pm:
  • bindings/scripts/test/JS/JSTestCallback.cpp: (WebCore::JSTestCallback::~JSTestCallback):
  • platform/sql/SQLiteDatabase.cpp: (WebCore::SQLiteDatabase::SQLiteDatabase): (WebCore::SQLiteDatabase::close): (WebCore::SQLiteDatabase::lock): (WebCore::SQLiteDatabase::unlock):
  • platform/sql/SQLiteDatabase.h:
  • platform/sql/SQLiteStatement.cpp: (WebCore::SQLiteStatement::prepare): (WebCore::SQLiteStatement::step):
  • storage/AbstractDatabase.cpp:
  • storage/AbstractDatabase.h:
  • storage/DatabaseTracker.cpp:
  • storage/DatabaseTracker.h:
  • storage/SQLStatement.cpp: (WebCore::SQLStatement::execute):
  • storage/SQLStatementSync.cpp: (WebCore::SQLStatementSync::execute):
  • storage/SQLTransaction.cpp: (WebCore::SQLTransaction::checkAndHandleClosedDatabase): (WebCore::SQLTransaction::performNextStep): (WebCore::SQLTransaction::performPendingCallback): (WebCore::SQLTransaction::deliverTransactionCallback): (WebCore::SQLTransaction::postflightAndCommit): (WebCore::SQLTransaction::deliverTransactionErrorCallback): (WebCore::SQLTransaction::cleanupAfterTransactionErrorCallback):
  • storage/SQLTransaction.h:
  • storage/chromium/DatabaseTrackerChromium.cpp:
  • workers/WorkerThread.cpp: (WebCore::WorkerThread::stop):
22:09 Changeset [64334] by commit-queue@webkit.org

2010-07-29 Sheriff Bot <webkit.review.bot@gmail.com>

Unreviewed, rolling out r64313.
http://trac.webkit.org/changeset/64313
https://bugs.webkit.org/show_bug.cgi?id=43233

Some Chromium bots are not happy with it for some unknown
reason. (Requested by dumi on #webkit).

  • JavaScriptCore.exp:
  • JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
  • wtf/Threading.h:
  • wtf/ThreadingPthreads.cpp:
  • wtf/ThreadingWin.cpp:
  • wtf/gtk/ThreadingGtk.cpp:
  • wtf/qt/ThreadingQt.cpp:

2010-07-29 Sheriff Bot <webkit.review.bot@gmail.com>

Unreviewed, rolling out r64313.
http://trac.webkit.org/changeset/64313
https://bugs.webkit.org/show_bug.cgi?id=43233

Some Chromium bots are not happy with it for some unknown
reason. (Requested by dumi on #webkit).

  • fast/workers/storage/interrupt-database-expected.txt: Removed.
  • fast/workers/storage/interrupt-database-sync-expected.txt: Removed.
  • fast/workers/storage/interrupt-database-sync.html: Removed.
  • fast/workers/storage/interrupt-database.html: Removed.
  • fast/workers/storage/resources/interrupt-database-sync.js: Removed.
  • fast/workers/storage/resources/interrupt-database.js: Removed.

2010-07-29 Sheriff Bot <webkit.review.bot@gmail.com>

Unreviewed, rolling out r64313.
http://trac.webkit.org/changeset/64313
https://bugs.webkit.org/show_bug.cgi?id=43233

Some Chromium bots are not happy with it for some unknown
reason. (Requested by dumi on #webkit).

  • bindings/js/JSCustomVoidCallback.cpp: (WebCore::JSCustomVoidCallback::~JSCustomVoidCallback):
  • bindings/scripts/CodeGeneratorJS.pm:
  • bindings/scripts/test/JS/JSTestCallback.cpp: (WebCore::JSTestCallback::~JSTestCallback):
  • platform/sql/SQLiteDatabase.cpp: (WebCore::SQLiteDatabase::SQLiteDatabase): (WebCore::SQLiteDatabase::close): (WebCore::SQLiteDatabase::lock): (WebCore::SQLiteDatabase::unlock):
  • platform/sql/SQLiteDatabase.h:
  • platform/sql/SQLiteStatement.cpp: (WebCore::SQLiteStatement::prepare): (WebCore::SQLiteStatement::step):
  • storage/AbstractDatabase.cpp:
  • storage/AbstractDatabase.h:
  • storage/DatabaseTracker.cpp:
  • storage/DatabaseTracker.h:
  • storage/SQLStatement.cpp: (WebCore::SQLStatement::execute):
  • storage/SQLStatementSync.cpp: (WebCore::SQLStatementSync::execute):
  • storage/SQLTransaction.cpp: (WebCore::SQLTransaction::checkAndHandleClosedDatabase): (WebCore::SQLTransaction::performNextStep): (WebCore::SQLTransaction::performPendingCallback): (WebCore::SQLTransaction::deliverTransactionCallback): (WebCore::SQLTransaction::postflightAndCommit): (WebCore::SQLTransaction::deliverTransactionErrorCallback): (WebCore::SQLTransaction::cleanupAfterTransactionErrorCallback):
  • storage/SQLTransaction.h:
  • storage/chromium/DatabaseTrackerChromium.cpp:
  • workers/WorkerThread.cpp: (WebCore::WorkerThread::stop):
19:09 Changeset [64333] by andersca@apple.com

Add PluginTest.cpp

  • DumpRenderTree/qt/TestNetscapePlugin/TestNetscapePlugin.pro:
18:43 Changeset [64332] by dpranke@chromium.org

2010-07-29 Dirk Pranke <dpranke@chromium.org>

Reviewed by Eric Seidel.

Update download URLs for python irclib package; the old URLs
pointed at a specific mirror host and not the general sourceforge
URLs.

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

  • Scripts/webkitpy/thirdparty/init.py:
18:41 Changeset [64331] by andersca@apple.com

Fix typo.

  • DumpRenderTree/qt/TestNetscapePlugin/TestNetscapePlugin.pro:
18:39 Changeset [64330] by andersca@apple.com

Another attempt at fixing the Qt and GTK+ build.

  • DumpRenderTree/unix/TestNetscapePlugin/TestNetscapePlugin.cpp:

(webkit_test_plugin_new_instance):
(webkit_test_plugin_destroy_stream):

18:34 Changeset [64329] by victorw@chromium.org

2010-07-29 Victor Wang <victorw@chromium.org>

Unreviewed. Update chromium test expectations for test:
plugins/document-open.html

  • platform/chromium/test_expectations.txt:
18:29 Changeset [64328] by andersca@apple.com

Another build fix attempt.

  • DumpRenderTree/TestNetscapePlugIn/PluginTest.cpp:
  • DumpRenderTree/qt/TestNetscapePlugin/TestNetscapePlugin.pro:
  • DumpRenderTree/unix/TestNetscapePlugin/TestNetscapePlugin.cpp:

(webkit_test_plugin_new_instance):

  • GNUmakefile.am:
18:27 Changeset [64327] by commit-queue@webkit.org

2010-07-29 Sheriff Bot <webkit.review.bot@gmail.com>

Unreviewed, rolling out r64302.
http://trac.webkit.org/changeset/64302
https://bugs.webkit.org/show_bug.cgi?id=43223

Assertion is bogus (Requested by olliej on #webkit).

  • assembler/ARMAssembler.cpp: (JSC::ARMAssembler::executableCopy):
  • assembler/AssemblerBuffer.h: (JSC::AssemblerBuffer::putShortUnchecked): (JSC::AssemblerBuffer::putIntUnchecked): (JSC::AssemblerBuffer::putInt64Unchecked):
  • jit/JITStubs.cpp:
  • pcre/pcre_compile.cpp: (jsRegExpCompile):
  • wtf/FastMalloc.cpp: (WTF::PageHeapAllocator::New): (WTF::TCMalloc_Central_FreeList::Populate):
  • wtf/MD5.cpp: (WTF::reverseBytes): (WTF::MD5::addBytes): (WTF::MD5::checksum):
  • wtf/StdLibExtras.h:
  • wtf/Vector.h: (WTF::VectorBuffer::inlineBuffer):
  • wtf/qt/StringQt.cpp: (WebCore::String::String):
18:03 Changeset [64326] by andersca@apple.com

Unreviewed build fix.

Patch by Martin Robinson <mrobinson@igalia.com> on 2010-07-29
Fix installation of autogenerated header files.

  • GNUmakefile.am: Fix autogenerated header file installation.
17:51 Changeset [64325] by dumi@chromium.org

Unreviewed, re-enabling all storage tests on Windows in Chromium.

  • platform/chromium/test_expectations.txt:
17:40 Changeset [64324] by beidson@apple.com

2010-07-29 Brady Eidson <beidson@apple.com>

Reviewed by Sam Weinig.

Setting empty document schemes on the WKContext shouldn't start the WebProcess
<rdar://problem/8253734> and https://bugs.webkit.org/show_bug.cgi?id=43222


  • UIProcess/WebContext.cpp: (WebKit::WebContext::ensureWebProcess): (WebKit::WebContext::registerURLSchemeAsEmptyDocument):
  • UIProcess/WebContext.h:
17:11 Changeset [64323] by andersca@apple.com

Refactor TestNetscapePlugin so tests can be split in separate files
https://bugs.webkit.org/show_bug.cgi?id=43220

Reviewed by Sam Weinig.

WebKitTools:

  • DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:

Add PluginTest.cpp, PluginTest.h and Tests/DocumentOpenInDestroyStream.cpp.

  • DumpRenderTree/TestNetscapePlugIn/PluginObject.cpp:

(pluginAllocate):
Initialize pluginTest to 0. Remove testDocumentOpenInDestroyStream.

  • DumpRenderTree/TestNetscapePlugIn/PluginObject.h:
  • DumpRenderTree/TestNetscapePlugIn/PluginTest.cpp: Added.

(PluginTest::PluginTest):
Initialize m_npp and the test identifier.

(PluginTest::createTestFunctions):
Return the map from identifiers to createTest functions.

(PluginTest::registerCreateTestFunction):
Insert the identifier and create function pair in the map.

(PluginTest::create):
Look for a createTest function. If one is found, call it. Otherwise create a vanilla PluginTest object.

  • DumpRenderTree/TestNetscapePlugIn/PluginTest.h: Added.

(PluginTest::Register::Register):
Helper class template for registering plug-in tests.

(PluginTest::Register::create):
Create a new test of the given type.

  • DumpRenderTree/TestNetscapePlugIn/Tests/DocumentOpenInDestroyStream.cpp: Added.

(DocumentOpenInDestroyStream::DocumentOpenInDestroyStream):
Add a test that calls testDocumentOpen from its NPP_DestroyStream callback.

  • DumpRenderTree/TestNetscapePlugIn/main.cpp:

(NPP_New):
Create a PluginTest given the identifier. Remove the check for "testdocumentopenindestroystream".

(NPP_DestroyStream):
Call the plug-in test NPP_DestroyStream member function.

  • DumpRenderTree/TestNetscapePlugIn/win/TestNetscapePlugin.vcproj:

Add PluginTest.cpp, PluginTest.h and Tests/DocumentOpenInDestroyStream.cpp.

LayoutTests:

  • plugins/document-open.html:

Pass the test identifier as an attribute of the embed tag.

16:43 Changeset [64322] by mrobinson@webkit.org

2010-07-29 Martin Robinson <mrobinson@igalia.com>

Unreviewed, rolling out r64318.
http://trac.webkit.org/changeset/64318
https://bugs.webkit.org/show_bug.cgi?id=41732

This change broke many tests.

  • platform/graphics/cairo/GraphicsContextCairo.cpp: (WebCore::GraphicsContext::drawEllipse): (WebCore::GraphicsContext::drawConvexPolygon): (WebCore::GraphicsContext::fillPath): (WebCore::GraphicsContext::strokePath): (WebCore::GraphicsContext::drawPath): (WebCore::GraphicsContext::drawFocusRing): (WebCore::GraphicsContext::addInnerRoundedRectClip): (WebCore::GraphicsContext::beginPath): (WebCore::GraphicsContext::addPath): (WebCore::GraphicsContext::clipOut): (WebCore::GraphicsContext::fillRoundedRect):
  • platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
16:34 Changeset [64321] by dumi@chromium.org

Unreviewed, updating Chromium expectations.

All storage tests started failing on the Windows canary bot after
r64313. Disabling these tests on that bot until we figure out
what's wrong.

  • platform/chromium/test_expectations.txt:
16:29 Changeset [64320] by barraclough@apple.com

Changed the handling for removing and adding elements at the front
of an array. The code now keeps a bias that indicates the amount of
JSValue sized holes are prior to the ArrayStorage block. This means
that shift operations are now memmove's of the header part of
the ArrayStorage and unshift operations are similar, but may require a
realloc first to create the space. Similar operations are performed
for special cases of splice and slice.
Also optimized the new Array(size) case so that we don't allocate and
initialize array elements until the JS code starts using elements.
The array growth code is slightly more aggressive for initial growth
based on size growth of any previous array.

Patch by Michael Saboff <msaboff@apple.com> on 2010-07-29
Reviewed by Gavin Barraclough.

  • Configurations/JavaScriptCore.xcconfig:
  • jit/JITPropertyAccess.cpp:

(JSC::JIT::emit_op_get_by_val):
(JSC::JIT::emit_op_put_by_val):
(JSC::JIT::privateCompilePatchGetArrayLength):

  • jit/JITPropertyAccess32_64.cpp:

(JSC::JIT::emit_op_get_by_val):
(JSC::JIT::emit_op_put_by_val):
(JSC::JIT::privateCompilePatchGetArrayLength):

  • runtime/ArrayPrototype.cpp:

(JSC::arrayProtoFuncShift):
(JSC::arrayProtoFuncSplice):
(JSC::arrayProtoFuncUnShift):

  • runtime/JSArray.cpp:

(JSC::JSArray::JSArray):
(JSC::JSArray::~JSArray):
(JSC::JSArray::getOwnPropertySlot):
(JSC::JSArray::getOwnPropertyDescriptor):
(JSC::JSArray::put):
(JSC::JSArray::putSlowCase):
(JSC::JSArray::deleteProperty):
(JSC::JSArray::getOwnPropertyNames):
(JSC::JSArray::getNewVectorLength):
(JSC::JSArray::increaseVectorLength):
(JSC::JSArray::increaseVectorPrefixLength):
(JSC::JSArray::setLength):
(JSC::JSArray::pop):
(JSC::JSArray::push):
(JSC::JSArray::shiftCount):
(JSC::JSArray::unshiftCount):
(JSC::JSArray::sortNumeric):
(JSC::JSArray::sort):
(JSC::JSArray::fillArgList):
(JSC::JSArray::copyToRegisters):
(JSC::JSArray::compactForSorting):
(JSC::JSArray::subclassData):
(JSC::JSArray::setSubclassData):
(JSC::JSArray::checkConsistency):

  • runtime/JSArray.h:

(JSC::JSArray::length):
(JSC::JSArray::canGetIndex):
(JSC::JSArray::getIndex):
(JSC::JSArray::setIndex):
(JSC::JSArray::uncheckedSetIndex):
(JSC::JSArray::arrayStorage):
(JSC::JSArray::setArrayStorage):
(JSC::JSArray::markChildrenDirect):

16:19 Changeset [64319] by barraclough@apple.com

Changed MINIMUM_CELL_SIZE to be fixed at 64 bytes.

Patch by Michael Saboff <msaboff@apple.com> on 2010-07-29
Reviewed by Darin Adler.

  • runtime/Collector.h:
16:17 Changeset [64318] by mrobinson@webkit.org

2010-07-29 Martin Robinson <mrobinson@igalia.com>

Reviewed by Dirk Schulze.

[Cairo] Bring behavior of paths on the Cairo GraphicsContext into line with the CoreGraphics port
https://bugs.webkit.org/show_bug.cgi?id=41732

Do not apply paths added to the Cairo GraphicsContext, until they are used.
This prevents drawing routines such as fillRect from interacting with any
path which callers are constructing on the GraphicsContext.

This behavior is necessary to close bug https://bugs.webkit.org/show_bug.cgi?id=41308
so tests for that issue will test this fix.

  • platform/graphics/cairo/GraphicsContextCairo.cpp: (WebCore::appendPathToCairoContext): Added. A helper method which adds a path to a native Cairo context. (WebCore::setPathOnCairoContext): Added. Like appendPathToCairoContext, but clears the existing path first. (WebCore::appendWebCorePathToCairoContext): Added. Like appendPathToCairoContext, but operates on a WebCore path. (WebCore::GraphicsContext::drawEllipse): Only clear the Cairo path if cairo_stroke was not called, because cairo_stroke implicitly clears the path. (WebCore::GraphicsContext::drawConvexPolygon): Ditto. (WebCore::GraphicsContext::fillPath): Copy the path from m_pendingPath to the context and clear m_pendingPath, instead of relying on the pre-existing context path. (WebCore::GraphicsContext::strokePath): Ditto. (WebCore::GraphicsContext::drawPath): Ditto. (WebCore::GraphicsContext::drawFocusRing): Use the new appendWebCorePathToCairoContext helper instead of addPath (which will blow away any path callers are building). (WebCore::GraphicsContext::addInnerRoundedRectClip): Use the new appendWebCorePathToCairoContext helper instead of addPath (which will blow away any path callers are building). (WebCore::GraphicsContext::beginPath): Clear out m_pendingPath here instead of the main native context. (WebCore::GraphicsContext::addPath): Add the path to m_pendingPath instead of the main native context. Also ensure that the transformation matrix of the m_pendingPath is equal to that of the main cairo context. (WebCore::GraphicsContext::clipOut): Use the appendWebCorePathToCairoContext helper here. (WebCore::GraphicsContext::fillRoundedRect): Ditto and remove an unnecessary beginPath call.
  • platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h: Add a new m_pendingPath member.
16:16 Changeset [64317] by beidson@apple.com

2010-07-29 Brady Eidson <beidson@apple.com>

Reviewed by Sam Weinig.

Make all public facing client setters take const pointers
https://bugs.webkit.org/show_bug.cgi?id=43219

  • UIProcess/API/C/WKContext.cpp: (WKContextSetInjectedBundleClient): (WKContextSetHistoryClient):
  • UIProcess/API/C/WKContext.h:
  • UIProcess/API/C/WKPage.cpp: (WKPageSetPageLoaderClient): (WKPageSetPagePolicyClient): (WKPageSetPageUIClient):
  • UIProcess/API/C/WKPage.h:
  • UIProcess/WebContext.cpp: (WebKit::WebContext::initializeInjectedBundleClient): (WebKit::WebContext::initializeHistoryClient):
  • UIProcess/WebContext.h:
  • UIProcess/WebContextInjectedBundleClient.cpp: (WebKit::WebContextInjectedBundleClient::initialize):
  • UIProcess/WebContextInjectedBundleClient.h:
  • UIProcess/WebHistoryClient.cpp: (WebKit::WebHistoryClient::initialize):
  • UIProcess/WebHistoryClient.h:
  • UIProcess/WebLoaderClient.cpp: (WebKit::WebLoaderClient::initialize):
  • UIProcess/WebLoaderClient.h:
  • UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::initializeLoaderClient): (WebKit::WebPageProxy::initializePolicyClient): (WebKit::WebPageProxy::initializeUIClient):
  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPolicyClient.cpp: (WebKit::WebPolicyClient::initialize):
  • UIProcess/WebPolicyClient.h:
  • UIProcess/WebUIClient.cpp: (WebKit::WebUIClient::initialize):
  • UIProcess/WebUIClient.h:
15:42 Changeset [64316] by andersca@apple.com

Implement NPN_SetProperty
https://bugs.webkit.org/show_bug.cgi?id=43217

Reviewed by Sam Weinig.

  • WebProcess/Plugins/NPJSObject.cpp:

(WebKit::NPJSObject::setProperty):
Convert the NPVariant to a JSValue and set it on the underlying JSObject.

(WebKit::NPJSObject::NP_SetProperty):
Call NPJSObject::setProperty.

  • WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:

(WebKit::NPN_GetProperty):
Remove unused parameter name.

(WebKit::NPN_SetProperty):
Call the NPClass::setProperty function.

15:37 Changeset [64315] by mrobinson@webkit.org

2010-07-29 Martin Robinson <mrobinson@igalia.com>

Reviewed by Dirk Schulze.

[Cairo] Remove setStrokeStyle workaround for InlineTextBoxes
https://bugs.webkit.org/show_bug.cgi?id=43136

Remove workaround added in https://bugs.webkit.org/show_bug.cgi?id=15659
to fix stroke style for InlineTextBox underlines.

No new tests as this should not change functionality.

  • platform/graphics/cairo/GraphicsContextCairo.cpp: (WebCore::GraphicsContext::drawLineForText): Remove old workaround.
15:36 Changeset [64314] by mrobinson@webkit.org

2010-07-29 Martin Robinson <mrobinson@igalia.com>

Unreviewed build fix.

Add missing second argument to assert_lint in new style checker tests.

  • Scripts/webkitpy/style/checkers/cpp_unittest.py:
15:30 Changeset [64313] by dumi@chromium.org

JavaScriptCore: Added a yield() function.
https://bugs.webkit.org/show_bug.cgi?id=42843

Reviewed by David Levin.

(WTF::yield):

  • wtf/ThreadingWin.cpp:

(WTF::yield):

  • wtf/gtk/ThreadingGtk.cpp:

(WTF::yield):

  • wtf/qt/ThreadingQt.cpp:

(WTF::yield):

WebCore: Interrupt all DB operations when the worker is terminating.
https://bugs.webkit.org/show_bug.cgi?id=42843

Reviewed by David Levin.

Tests: fast/workers/storage/interrupt-database-sync.html

fast/workers/storage/interrupt-database.html

  • bindings/js/JSCustomVoidCallback.cpp:

(WebCore::JSCustomVoidCallback::~JSCustomVoidCallback): If the
destructor is called on the context thread, delete m_data directly
instead of posting a task to do that. We need to do that to make
sure that all JS objects are destroyed before
WorkerThreadShutdownFinishTask (in WorkerThread.cpp) calls
WorkerContext::clearScript().

  • bindings/scripts/CodeGeneratorJS.pm: Same change as above, for

all auto-generated callbacks.

  • bindings/scripts/test/JS/JSTestCallback.cpp:

(WebCore::JSTestCallback::~JSTestCallback): Updated the
expectations for run-bindings-tests.

  • platform/sql/SQLiteDatabase.cpp: Added the ability to interrupt

all DB operations in progress, unless the database was closed or
is being closed. Unlike sqlite3_interrupt(),
SQLiteDatabase::interrupt() is sticky: once it's called, trying to
run any statement on that database will fail with a
SQLITE_INTERRUPT error code.
(WebCore::SQLiteDatabase::SQLiteDatabase):
(WebCore::SQLiteDatabase::close):
(WebCore::SQLiteDatabase::interrupt):
(WebCore::SQLiteDatabase::isInterrupted):

  • platform/sql/SQLiteDatabase.h: Added a mutex that can used by

SQLiteStatement to check if the database was interrupted.
(WebCore::SQLiteDatabase::databaseMutex):

  • platform/sql/SQLiteStatement.cpp: Changed prepare() and step()

to check if the database was interrupted, before trying to prepare
or run the statement. The other methods don't need to hold on to
the DB lock while running, because they're fast, so we don't need
to interrupt them.
(WebCore::SQLiteStatement::prepare):
(WebCore::SQLiteStatement::step):

  • storage/AbstractDatabase.cpp: Made SQLiteDatabase::interrupt()

and isInterrupted() visible to WebSQLDatabases classes.
(WebCore::AbstractDatabase::interrupt):
(WebCore::AbstractDatabase::isInterrupted):

  • storage/AbstractDatabase.h:
  • storage/DatabaseTracker.cpp: Added a method to interrupt all

databases in a given context.
(WebCore::DatabaseTracker::interruptAllDatabasesForContext):

  • storage/DatabaseTracker.h:
  • storage/SQLStatement.cpp: Changed the exception/error reported

when a statement is interrupted.
(WebCore::SQLStatement::execute):

  • storage/SQLStatementSync.cpp:

(WebCore::SQLStatementSync::execute):

  • storage/SQLTransaction.cpp: Changed the code to release the

callback objects as soon as they're not needed.
(WebCore::SQLTransaction::checkAndHandleClosedOrInterruptedDatabase):
Changed this method to not schedule the next transaction step when
the database is interrupted.
(WebCore::SQLTransaction::performNextStep):
(WebCore::SQLTransaction::performPendingCallback):
(WebCore::SQLTransaction::deliverTransactionCallback):
(WebCore::SQLTransaction::postflightAndCommit):
(WebCore::SQLTransaction::deliverTransactionErrorCallback):
(WebCore::SQLTransaction::cleanupAfterTransactionErrorCallback):

  • storage/SQLTransaction.h:
  • storage/chromium/DatabaseTrackerChromium.cpp: Added a method to

interrupt all databases in a given context.
(WebCore::DatabaseTracker::interruptAllDatabasesForContext):

  • workers/WorkerThread.cpp:

(WebCore::WorkerThread::stop): Added a call to
DatabaseTracker::interruptAllDatabasesForContext().

LayoutTests: Test that terminating a worker interrupts all DB operations in that worker.
https://bugs.webkit.org/show_bug.cgi?id=42843

Reviewed by David Levin.

  • fast/workers/storage/interrupt-database-expected.txt: Added.
  • fast/workers/storage/interrupt-database-sync-expected.txt: Added.
  • fast/workers/storage/interrupt-database-sync.html: Added.
  • fast/workers/storage/interrupt-database.html: Added.
  • fast/workers/storage/resources/interrupt-database-sync.js: Added.
  • fast/workers/storage/resources/interrupt-database.js: Added.

(runTransaction):

15:21 Changeset [64312] by andersca@apple.com

Implement NPN_Enumerate
https://bugs.webkit.org/show_bug.cgi?id=43215

Reviewed by Sam Weinig.

  • WebProcess/Plugins/JSNPObject.cpp:

(WebKit::npIdentifierFromIdentifier):
Get the UTF-8 string representation instead of the lossy ASCII representation.

(WebKit::JSNPObject::getOwnPropertyNames):
Implement by calling the NPClass::enumerate function.

  • WebProcess/Plugins/JSNPObject.h:
  • WebProcess/Plugins/NPJSObject.cpp:

(WebKit::NPJSObject::enumerate):
Implement by calling JSObject::getPropertyNames.

(WebKit::NPJSObject::npClass):
(WebKit::NPJSObject::NP_Enumerate):
Call NPJSObject::enumerate.

  • WebProcess/Plugins/NPJSObject.h:
  • WebProcess/Plugins/NPRuntimeUtilities.cpp:

(WebKit::createNPObject):
Fix a comment.

  • WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:

(WebKit::NPN_Enumerate):
Call the NPClass::enumerate function.

15:09 Changeset [64311] by commit-queue@webkit.org

2010-07-29 Bernhard Bauer <bauerb@chromium.org>

Reviewed by Darin Fisher.

Check if plugins are allowed before creating a Java applet.
https://bugs.webkit.org/show_bug.cgi?id=43196

  • loader/SubframeLoader.cpp: (WebCore::SubframeLoader::createJavaAppletWidget):
15:05 Changeset [64310] by victorw@chromium.org

2010-07-29 Victor Wang <victorw@chromium.org>

Unreviewed. Update chromium expectation for test:
fast/js/regexp-look-ahead-empty.html

  • platform/chromium/fast/js/regexp-look-ahead-empty-expected.txt: Added.
14:35 Changeset [64309] by andersca@apple.com

check-webkit-style shouldn't complain about NPAPI functions
https://bugs.webkit.org/show_bug.cgi?id=43211

Reviewed by Adam Roben.

Allow underscores in functions that start with NPN_, NPP_ or NP_.

  • Scripts/webkitpy/style/checkers/cpp.py:
  • Scripts/webkitpy/style/checkers/cpp_unittest.py:
14:35 Changeset [64308] by jamesr@google.com

2010-07-29 James Robinson <jamesr@chromium.org>

Reviewed by Simon Fraser.

Ask a canvas' rendering context if it is accelerated instead tying it directly to webgl
https://bugs.webkit.org/show_bug.cgi?id=43206

This unifies the logic for whether a canvas is accelerated or not into one place
and makes it easier to expand the logic in the future to, for example, cover some
2d canvases.

Just a refactoring, no change in behavior so no new tests.

  • html/canvas/CanvasRenderingContext.h: (WebCore::CanvasRenderingContext::isAccelerated):
  • html/canvas/WebGLRenderingContext.h: (WebCore::WebGLRenderingContext::isAccelerated):
  • rendering/RenderHTMLCanvas.cpp: (WebCore::RenderHTMLCanvas::requiresLayer):
  • rendering/RenderLayerCompositor.cpp: (WebCore::RenderLayerCompositor::requiresCompositingForCanvas):
14:33 Changeset [64307] by commit-queue@webkit.org

2010-07-29 Michael Saboff <msaboff@apple.com>

Reviewed by Oliver Hunt.

Fixed issue where RegExp greedy jit code loops when no input is
consumed. Changed the code to only loop if some input was consumed,
but fall through if we successfully match an alternative that
doesn't consume any input.
https://bugs.webkit.org/show_bug.cgi?id=42664

  • yarr/RegexJIT.cpp: (JSC::Yarr::RegexGenerator::generateParenthesesGreedyNoBacktrack):

2010-07-29 Michael Saboff <msaboff@apple.com>

Reviewed by Oliver Hunt.

Added tests to correspond to the changes made in
JavaScriptCore/yarr/RegexJIT.cpp to fix
https://bugs.webkit.org/show_bug.cgi?id=42664.
Note that some of the new test cases fail due to one or more
unrelated bugs in the pcre interpreter. The expected results
for these tests will need to be updated when the implementation
conforms to the JS standard.

  • fast/js/regexp-look-ahead-empty-expected.txt: Added.
  • fast/js/regexp-look-ahead-empty.html: Added.
  • fast/js/script-tests/regexp-look-ahead-empty.js: Added.
14:05 Changeset [64306] by sullivan@apple.com

<https://bugs.webkit.org/show_bug.cgi?id=43203>
WebBackForwardList::back/ForwardListWithLimit() crashes if passed a limit larger than max int

Reviewed by Sam Weinig.

  • UIProcess/WebBackForwardList.cpp:

(WebKit::WebBackForwardList::backListAsImmutableArrayWithLimit):
Fixed casting so that a large unsigned won't become a negative int.
(WebKit::WebBackForwardList::forwardListAsImmutableArrayWithLimit):
Ditto.

14:00 Changeset [64305] by ojan@chromium.org

2010-07-29 Ojan Vafai <ojan@chromium.org>

Reviewed by Tor Arne Vestbø.

fix for editing/style/remove-underline-from-stylesheet.html on qt after r64303
https://bugs.webkit.org/show_bug.cgi?id=43208

  • platform/qt/editing/style/remove-underline-from-stylesheet-expected.txt:
13:41 Changeset [64304] by andersca@apple.com

Implement NPN_Status
https://bugs.webkit.org/show_bug.cgi?id=43205

Reviewed by Sam Weinig.

WebCore:

  • WebCore.exp.in:

Export Chrome::setStatusText.

WebKit2:

  • WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:

(WebKit::NPN_Status):
Convert the message char* to a String and call NetscapePlugin::setStatusbarText.

  • WebProcess/Plugins/Netscape/NetscapePlugin.cpp:

(WebKit::NetscapePlugin::setStatusbarText):
Call PluginController::setStatusbarText.

  • WebProcess/Plugins/PluginController.h:

Add setStatusbarText.

  • WebProcess/Plugins/PluginView.cpp:

(WebKit::PluginView::setStatusbarText):
Call the Chrome member function.

LayoutTests:

  • platform/mac-wk2/Skipped:

Add plugins/access-after-page-destroyed.html since we don't support
layoutTestController.setCanOpenWindows.

Remove plugins/set-status.html.

13:16 Changeset [64303] by ojan@chromium.org

2010-07-27 Ojan Vafai <ojan@chromium.org>

Reviewed by Adam Barth.

dump-as-markup should have better output
https://bugs.webkit.org/show_bug.cgi?id=43015

-Merge dom2string into dump-as-markup and pull over all dom2string features (e.g. indent).
-#-prefix selection markers

  • editing/deleting/delete-br-in-last-table-cell-expected.txt:
  • editing/execCommand/crash-indenting-list-item-expected.txt:
  • editing/execCommand/crash-on-enter-in-contentEditable-list-expected.txt:
  • editing/execCommand/create-list-from-range-selection-expected.txt:
  • editing/execCommand/hilitecolor-expected.txt:
  • editing/execCommand/indent-pre-expected.txt:
  • editing/execCommand/insert-list-empty-div-expected.txt:
  • editing/selection/dump-as-markup-expected.txt:
  • editing/selection/dump-as-markup.html:
  • editing/selection/home-inside-noneditable-table-expected.txt:
  • editing/style/remove-underline-from-stylesheet-expected.txt:
  • editing/style/style-text-node-without-editable-parent-expected.txt:
  • editing/undo/redo-split-text-node-expected.txt:
  • editing/undo/redo-split-text-with-removal-expected.txt:
  • html5lib/resources/dom2string.js: Removed.
  • html5lib/resources/tests4.dat:
  • html5lib/resources/tests6.dat:
  • html5lib/runner-expected.txt:
  • html5lib/runner.html:
  • html5lib/webkit-resumer.html:
  • resources/dump-as-markup.js: (Markup.notifyDone): (Markup._get): (Markup._namespace): (Markup._dumpCalls.0.Markup._indent): (Markup._toAsciiLowerCase): (Markup._getMarkupForTextNode): (Markup._getSelectionMarker):
12:52 Changeset [64302] by ossy@webkit.org

2010-07-29 Gabor Loki <loki@webkit.org>

Reviewed by Gavin Barraclough.

Avoid increasing required alignment of target type warning on ARM
https://bugs.webkit.org/show_bug.cgi?id=38045

The reinterpret_cast<Type1*>([pointer to Type2]) expressions - where
sizeof(Type1) > sizeof(Type2) - cause the following warning on ARM:
increases required alignment of target type warnings.
Casting the type of [pointer to Type2] object to void* bypasses the
warning.

  • assembler/ARMAssembler.cpp: (JSC::ARMAssembler::executableCopy):
  • assembler/AssemblerBuffer.h: (JSC::AssemblerBuffer::putShortUnchecked): (JSC::AssemblerBuffer::putIntUnchecked): (JSC::AssemblerBuffer::putInt64Unchecked):
  • jit/JITStubs.cpp:
  • pcre/pcre_compile.cpp: (jsRegExpCompile):
  • wtf/FastMalloc.cpp: (WTF::PageHeapAllocator::New): (WTF::TCMalloc_Central_FreeList::Populate):
  • wtf/MD5.cpp: (WTF::reverseBytes): (WTF::MD5::addBytes): (WTF::MD5::checksum):
  • wtf/StdLibExtras.h: (reinterpret_cast_ptr):
  • wtf/Vector.h: (WTF::VectorBuffer::inlineBuffer):
  • wtf/qt/StringQt.cpp: (WebCore::String::String):
12:51 Changeset [64301] by victorw@chromium.org

2010-07-29 Victor Wang <victorw@chromium.org>

Reviewed by Jeremy Orlow.

Update png baseline in mac-leopard for test svg/custom/mask-colorspace.html

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

  • platform/mac-leopard/svg/custom/mask-colorspace-expected.png:
12:31 Changeset [64300] by andersca@apple.com

Add JSNPObject::getConstructData
https://bugs.webkit.org/show_bug.cgi?id=43165

Reviewed by Sam Weinig.

  • WebProcess/Plugins/JSNPObject.cpp:

(WebKit::JSNPObject::callMethod):
Add a null check for m_npObject.

(WebKit::JSNPObject::callConstructor):
Call NPClass::construct.

(WebKit::JSNPObject::getConstructData):
Set up the construct data.

(WebKit::JSNPObject::propertyGetter):
convertNPVariantToJSValue now takes a JSGlobalObject as well.

  • WebProcess/Plugins/NPJSObject.cpp:

(WebKit::NPJSObject::invoke):
(WebKit::NPJSObject::invokeDefault):
(WebKit::NPJSObject::construct):
convertNPVariantToJSValue now takes a JSGlobalObject as well.

  • WebProcess/Plugins/NPJSObject.h:

Make isNPJSObject and toNPJSObject public.

  • WebProcess/Plugins/NPRuntimeObjectMap.cpp:

(WebKit::NPRuntimeObjectMap::convertNPVariantToJSValue):
Convert NPObjects correctly.

(WebKit::NPRuntimeObjectMap::globalObject):
Get the globalObject from the frame.

(WebKit::NPRuntimeObjectMap::globalExec):
Call globalObject.

  • WebProcess/Plugins/NPRuntimeObjectMap.h:
12:09 Changeset [64299] by victorw@chromium.org

2010-07-29 Victor Wang <victorw@chromium.org>

Unreviewed, rolling out r64270.
http://trac.webkit.org/changeset/64270
https://bugs.webkit.org/show_bug.cgi?id=39589

The patch breaks chromium webkit unittest

  • WebCore.exp.in:
  • WebCore.xcodeproj/project.pbxproj:
  • dom/DeviceOrientationClient.h: (WebCore::DeviceOrientationClient::~DeviceOrientationClient):
  • dom/DeviceOrientationController.cpp: (WebCore::DeviceOrientationController::DeviceOrientationController):
  • dom/DeviceOrientationEvent.cpp:
  • platform/mock/DeviceOrientationClientMock.cpp: Removed.
  • platform/mock/DeviceOrientationClientMock.h: Removed.

2010-07-29 Victor Wang <victorw@chromium.org>

Unreviewed, rolling out r64270.
http://trac.webkit.org/changeset/64270
https://bugs.webkit.org/show_bug.cgi?id=39589

The patch breaks chromium webkit unittest

  • fast/dom/DeviceOrientation/basic-operation-expected.txt: Removed.
  • fast/dom/DeviceOrientation/basic-operation.html: Removed.
  • fast/dom/DeviceOrientation/script-tests/basic-operation.js: Removed.
  • platform/gtk/Skipped:

2010-07-29 Victor Wang <victorw@chromium.org>

Unreviewed, rolling out r64270.
http://trac.webkit.org/changeset/64270
https://bugs.webkit.org/show_bug.cgi?id=39589

The patch breaks chromium webkit unittest

  • DumpRenderTree/LayoutTestController.cpp: (LayoutTestController::staticFunctions):
  • DumpRenderTree/LayoutTestController.h:
  • DumpRenderTree/chromium/LayoutTestController.cpp: (LayoutTestController::LayoutTestController):
  • DumpRenderTree/chromium/LayoutTestController.h:
  • DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
  • DumpRenderTree/mac/LayoutTestControllerMac.mm:
  • DumpRenderTree/qt/LayoutTestControllerQt.cpp:
  • DumpRenderTree/qt/LayoutTestControllerQt.h:
  • DumpRenderTree/win/LayoutTestControllerWin.cpp:
  • DumpRenderTree/wx/LayoutTestControllerWx.cpp:
  • Scripts/build-webkit:
11:50 Changeset [64298] by simon.fraser@apple.com

2010-07-29 Simon Fraser <simon.fraser@apple.com>

Reviewed by Darin Adler.

Resizer control does not paint in otherwise empty compositing layer
https://bugs.webkit.org/show_bug.cgi?id=42306

Ensure that we create backing store for an empty element with resize: both,
in order to render the resizer control.

Test: compositing/overflow/resize-painting.html

  • rendering/RenderLayerBacking.h:
  • rendering/RenderLayerBacking.cpp: (WebCore::RenderLayerBacking::isSimpleContainerCompositingLayer): Check for hasOverflowControls() earlier, before any child checks. (WebCore::RenderLayerBacking::hasNonCompositingDescendants): Renamed from hasNonCompositingContent() to clarify its purpose.
11:44 Changeset [64297] by tonikitoo@webkit.org

2010-07-29 Antonio Gomes <tonikitoo@webkit.org>

Reviewed by Kenneth Christiansen.

[Qt] QtTestBrowser: Move WebPage class methods definitions from main.cpp to webpage.cpp
https://bugs.webkit.org/show_bug.cgi?id=43199

There is no sense in keeping WebPage method definitions in main.cpp once
webpage.cpp already exists.

No behavior change.

  • QtTestBrowser/main.cpp:
  • QtTestBrowser/webpage.cpp: (WebPage::createWindow): (WebPage::createPlugin):
11:41 Changeset [64296] by simon.fraser@apple.com

2010-07-29 Simon Fraser <simon.fraser@apple.com>

Reviewed by Darin Adler.

SHOULD NEVER BE REACHED assertion when switching tabs with composited content
https://bugs.webkit.org/show_bug.cgi?id=43167

When the root layer becomes unattached (e.g. when switching tabs), don't return
'false' from paintingGoesToWindow() because that will cause a -setNeedsDispay, which
both allocates wasteful backing store, and causes an assertion when we try to
paint the layer.

Test: manual-tests/compositing/assert-on-tab-switch.html: Added.

  • rendering/RenderLayerBacking.cpp: (WebCore::RenderLayerBacking::paintingGoesToWindow):
11:36 Changeset [64295] by aroben@apple.com

Remove WKCACFLayer::Lanczos

This member is also unused.

Rubber-stamped in advance by John Sullivan.

  • platform/graphics/win/WKCACFLayer.cpp:

(WebCore::toCACFFilterType):
(WebCore::fromCACFFilterType):

  • platform/graphics/win/WKCACFLayer.h:

(WebCore::WKCACFLayer::):

11:14 Changeset [64294] by aroben@apple.com

Remove some unused WKCACFLayer members

Fixes <http://webkit.org/b/43200> WKCACFLayer has some unused members

Reviewed by John Sullivan.

  • platform/graphics/win/WKCACFLayer.h: Removed [set]ClearsContext,

[set]Filters, and [set]SortsSublayers.

11:11 Changeset [64293] by jschuh@chromium.org

2010-07-28 Justin Schuh <jschuh@chromium.org>

Reviewed by Nate Chapin.

Clear PluginData's page pointer on Page destruction
https://bugs.webkit.org/show_bug.cgi?id=43147

Test: plugins/access-after-page-destroyed.html

  • page/Page.cpp: (WebCore::Page::~Page):

2010-07-28 Justin Schuh <jschuh@chromium.org>

Reviewed by Nate Chapin.

Clear PluginData's page pointer on Page destruction
https://bugs.webkit.org/show_bug.cgi?id=43147

  • plugins/access-after-page-destroyed-expected.txt: Added.
  • plugins/access-after-page-destroyed.html: Added.
10:49 Changeset [64292] by jorlow@chromium.org

2010-07-29 Jeremy Orlow <jorlow@chromium.org>

Rebaseline 2 tests that are actually a bit distinct from mac (because of fonts).

Not reviewed.

  • platform/chromium-win/svg/custom/use-events-crash-expected.txt: Added.
  • platform/chromium-win/svg/hixie/error/017-expected.txt: Added.
10:48 Changeset [64291] by tonikitoo@webkit.org

2010-07-29 Antonio Gomes <tonikitoo@webkit.org>

Reviewed by Kenneth Christiansen.

[Qt] Factor out LauncherWindow class out of main.cpp (QtTestBrowser)
https://bugs.webkit.org/show_bug.cgi?id=43170

Moving LauncherWindow class out of main.cpp to its own .cpp and .h files:
launcherwindow.{cpp|h}

No behavior change.

Also changed all global static variables (named "gXXX") from main.cpp to
static public variables of the LauncherWindow class.

  • QtTestBrowser/QtTestBrowser.pro:
  • QtTestBrowser/launcherwindow.cpp: Added.
  • QtTestBrowser/launcherwindow.h: Added.
  • QtTestBrowser/main.cpp: (LauncherApplication::handleUserOptions): (main):
10:32 Changeset [64290] by mrobinson@webkit.org

2010-07-29 Martin Robinson <mrobinson@igalia.com>

Reviewed by Xan Lopez.

Build fix for building against GTK+ 3.x. GSEAL requires that we
access internals of the GdkDragContext via methods. For older versions
of GTK+, define those methods.

  • DumpRenderTree/gtk/EventSender.cpp: (gdk_drag_context_get_selected_action): Added. (gdk_drag_context_get_actions): Added. (dispatchEvent): Use the two new accessor methods.
09:56 Changeset [64289] by simon.fraser@apple.com

2010-07-29 Simon Fraser <simon.fraser@apple.com>

Reviewed by Pavel Feldman.

Crash when computing pseudo-style of a vanished scrollbar in inspector
https://bugs.webkit.org/show_bug.cgi?id=42561

When a styled overflow:scroll scrollbar gets destroyed, we need to clear out the m_owner pointer,
otherwise the event handling code (which keeps the Scrollbar alive) later causes the scrollbar
to try to use m_owner to get pseudo style.

Test: scrollbars/overflow-custom-scrollbar-crash.html

  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::destroyScrollbar): If this is a custom scrollbar, clear the owning renderer.
  • rendering/RenderScrollbar.cpp: (WebCore::RenderScrollbar::getScrollbarPseudoStyle): Bail if m_owner is 0.
  • rendering/RenderScrollbar.h: (WebCore::RenderScrollbar::clearOwningRenderer): New method.
09:55 Changeset [64288] by kevino@webkit.org

[wx] Build fix, add file missing from DOM bindings commit.

09:53 Changeset [64287] by aroben@apple.com

Always say "plugins directory" when referring to a directory containing one or more plugins

Fixes <http://webkit.org/b/43197> WebKit2 often says "plugin
directory" when it means "plugins directory"

Reviewed by John Sullivan.

WebKit2:

  • UIProcess/API/C/WKContext.cpp:

(_WKContextSetAdditionalPluginsDirectory):

  • UIProcess/API/C/WKContextPrivate.h:

Renamed from _WKContextSetAdditionalPluginDirectory.

  • UIProcess/Plugins/PluginInfoStore.cpp:

(WebKit::PluginInfoStore::setAdditionalPluginsDirectories): Renamed
from setAdditionalPluginDirectories.
(WebKit::PluginInfoStore::loadPluginsIfNecessary): Updated for rename.

  • UIProcess/Plugins/PluginInfoStore.h: Renamed

m_additionalPluginDirectories to m_additionalPluginsDirectories.

  • UIProcess/Plugins/mac/PluginInfoStoreMac.mm:

(WebKit::PluginInfoStore::pluginsDirectories):

  • UIProcess/Plugins/qt/PluginInfoStoreQt.cpp:

(WebKit::PluginInfoStore::pluginsDirectories):

  • UIProcess/Plugins/win/PluginInfoStoreWin.cpp:

(WebKit::PluginInfoStore::pluginsDirectories):
Renamed from pluginDirectories.

  • UIProcess/WebContext.cpp:

(WebKit::WebContext::setAdditionalPluginsDirectory):

  • UIProcess/WebContext.h:

Renamed from setAdditionalPluginDirectory.

WebKitTools:

  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::initialize): Updated for rename.

09:40 Changeset [64286] by aroben@apple.com

Always say "directory" when referring to a plugin directory

Fixes <http://webkit.org/b/43195> WebKit2 often says "plugin path"
when it means "plugin directory"

Reviewed by John Sullivan.

WebKit2:

  • UIProcess/API/C/WKContext.cpp:

(_WKContextSetAdditionalPluginDirectory):

  • UIProcess/API/C/WKContextPrivate.h:

Renamed from _WKContextSetAdditionalPluginPath.

  • UIProcess/Plugins/PluginInfoStore.cpp:

(WebKit::PluginInfoStore::setAdditionalPluginDirectories): Renamed
from setAdditionalPluginPaths.
(WebKit::PluginInfoStore::loadPluginsIfNecessary): Updated for rename.

  • UIProcess/Plugins/PluginInfoStore.h: Renamed m_additionalPluginPaths

to m_additionalPluginDirectories.

  • UIProcess/WebContext.cpp:

(WebKit::WebContext::setAdditionalPluginDirectory):

  • UIProcess/WebContext.h:

Renamed from setAdditionalPluginPath, and updated for PluginInfoStore
rename.

WebKitTools:

  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::initialize): Updated for renames.

  • WebKitTestRunner/TestController.h: Renamed m_testPluginPath to

m_testPluginDirectory.
(WTR::TestController::testPluginDirectory): Renamed from
testPluginPath.

  • WebKitTestRunner/mac/TestControllerMac.mm:

(WTR::TestController::initializeTestPluginDirectory):

  • WebKitTestRunner/win/TestControllerWin.cpp:

(WTR::TestController::initializeTestPluginDirectory):
Renamed from initializeTestPluginPath and updated for rename.

09:35 Changeset [64285] by ossy@webkit.org

Reviewed by Antonio Gomes.

Initialize all members of NPClass struct.
https://bugs.webkit.org/show_bug.cgi?id=43193

  • DumpRenderTree/TestNetscapePlugIn/PluginObject.cpp:
09:29 Changeset [64284] by commit-queue@webkit.org

2010-07-29 Alexis Menard <alexis.menard@nokia.com>

Reviewed by Antonio Gomes.

QWebFrame and QWebView documentation fix.

The QWebFrame and the QWebView setHtml() methods are a bit confusing.
There are a few registered bugs in Webkit's bugzilla that source is
in a bad usage of the function.
Additional information were added.

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

  • Api/qgraphicswebview.cpp:
  • Api/qwebframe.cpp:
  • Api/qwebview.cpp:
09:15 Changeset [64283] by jorlow@chromium.org

2010-07-29 Jeremy Orlow <jorlow@chromium.org>

Reviewed by Dimitri Glazkov.

[Chromium] Rebaseline 8 tests which are no longer failing
https://bugs.webkit.org/show_bug.cgi?id=43194

http://trac.webkit.org/changeset/64275/ appears to have fixed
a bunch of SVG stuff for Chromium. Rebaseline all of these. (The
baselines that are modified or deleted were all incorrect, btw. I don't
know why they were committed rather than just being "fail"s.)

  • platform/chromium-linux/svg/custom/gradient-cycle-detection-expected.checksum:
  • platform/chromium-linux/svg/custom/gradient-cycle-detection-expected.png:
  • platform/chromium-linux/svg/custom/recursive-clippath-expected.checksum: Added.
  • platform/chromium-linux/svg/custom/recursive-clippath-expected.png: Added.
  • platform/chromium-linux/svg/custom/recursive-filter-expected.checksum: Added.
  • platform/chromium-linux/svg/custom/recursive-filter-expected.png: Added.
  • platform/chromium-linux/svg/custom/recursive-gradient-expected.checksum:
  • platform/chromium-linux/svg/custom/recursive-gradient-expected.png: Added.
  • platform/chromium-linux/svg/custom/recursive-mask-expected.checksum: Added.
  • platform/chromium-linux/svg/custom/recursive-mask-expected.png: Added.
  • platform/chromium-linux/svg/custom/recursive-pattern-expected.checksum:
  • platform/chromium-linux/svg/custom/recursive-pattern-expected.png: Added.
  • platform/chromium-win/svg/custom/gradient-cycle-detection-expected.checksum:
  • platform/chromium-win/svg/custom/gradient-cycle-detection-expected.png:
  • platform/chromium-win/svg/custom/recursive-clippath-expected.checksum: Added.
  • platform/chromium-win/svg/custom/recursive-clippath-expected.png:
  • platform/chromium-win/svg/custom/recursive-clippath-expected.txt: Added.
  • platform/chromium-win/svg/custom/recursive-filter-expected.checksum:
  • platform/chromium-win/svg/custom/recursive-filter-expected.png:
  • platform/chromium-win/svg/custom/recursive-filter-expected.txt: Added.
  • platform/chromium-win/svg/custom/recursive-gradient-expected.checksum:
  • platform/chromium-win/svg/custom/recursive-gradient-expected.png:
  • platform/chromium-win/svg/custom/recursive-gradient-expected.txt: Added.
  • platform/chromium-win/svg/custom/recursive-mask-expected.checksum:
  • platform/chromium-win/svg/custom/recursive-mask-expected.png:
  • platform/chromium-win/svg/custom/recursive-mask-expected.txt: Added.
  • platform/chromium-win/svg/custom/recursive-pattern-expected.checksum:
  • platform/chromium-win/svg/custom/recursive-pattern-expected.png:
  • platform/chromium-win/svg/custom/recursive-pattern-expected.txt: Added.
  • platform/chromium-win/svg/custom/use-events-crash-expected.txt: Removed.
  • platform/chromium-win/svg/hixie/error/017-expected.txt: Removed.
09:13 Changeset [64282] by ossy@webkit.org

2010-07-29 Csaba Osztrogonác <ossy@webkit.org>

Reviewed by Antonio Gomes.

Warning fix on platforms where XP_MACOSX is undefined.
https://bugs.webkit.org/show_bug.cgi?id=43192

  • DumpRenderTree/TestNetscapePlugIn/PluginObject.h: Use #if defined(XP_MACOSX) instead of #if XP_MACOSX .
09:07 Changeset [64281] by mrobinson@webkit.org

2010-07-29 Martin Robinson <mrobinson@igalia.com>

Unreviewed build fix.

Fix installation of autogenerated header files.

  • GNUmakefile.am: Fix autogenerated header file installation.

2010-07-29 Martin Robinson <mrobinson@igalia.com>

Unreviewed build fix.

Include a missing header in the source list to fix 'make dist.'

  • GNUmakefile.am: Include missing header.
08:41 QtWebKitTableOfFeatures20 edited by henry.haverinen@nokia.com
(diff)
08:38 QtWebKitTableOfFeatures20 edited by henry.haverinen@nokia.com
(diff)
08:10 Changeset [64280] by aroben@apple.com

Give find-included-framework-headers our standard license

  • Scripts/find-included-framework-headers: Used the license from

WebCore/LICENSE-APPLE.

08:10 QtWebKitTableOfFeatures20 edited by henry.haverinen@nokia.com
(diff)
08:09 QtWebKitTableOfFeatures20 edited by henry.haverinen@nokia.com
(diff)
08:06 Changeset [64279] by zimmermann@webkit.org

2010-07-29 Nikolas Zimmermann <nzimmermann@rim.com>

Not reviewed. Update Qt specific baselines for three svg/custom tests.

  • platform/qt/svg/custom/recursive-gradient-expected.txt:
  • platform/qt/svg/custom/recursive-mask-expected.txt:
  • platform/qt/svg/custom/recursive-pattern-expected.txt:
08:02 QtWebKitTableOfFeatures20 edited by henry.haverinen@nokia.com
(diff)
07:43 Changeset [64278] by aroben@apple.com

Remove PluginInfoStore::mimeTypeFromExtension

WebCore::MIMETypeRegistry already provides a cross-platform interface
for this.

Fixes <http://webkit.org/b/43188>
PluginInfoStore::mimeTypeFromExtension is unnecessary

Reviewed by Nikolas Zimmermann.

  • UIProcess/Plugins/PluginInfoStore.cpp:

(WebKit::PluginInfoStore::findPlugin): Changed to use
MIMETypeRegistry.

  • UIProcess/Plugins/PluginInfoStore.h:
  • UIProcess/Plugins/mac/PluginInfoStoreMac.mm:
  • UIProcess/Plugins/qt/PluginInfoStoreQt.cpp:
  • UIProcess/Plugins/win/PluginInfoStoreWin.cpp:

Removed mimeTypeFromExtension.

07:12 Changeset [64277] by zimmermann@webkit.org

2010-07-29 Nikolas Zimmermann <nzimmermann@rim.com>

Not reviewed. Fix release builds, by removing unused variables, that only served for ASSERTs that are no longer needed.

  • rendering/SVGRenderSupport.cpp: (WebCore::SVGRenderSupport::prepareToRenderSVGContent): (WebCore::SVGRenderSupport::pointInClippingArea):
07:08 Changeset [64276] by zimmermann@webkit.org

2010-07-29 Nikolas Zimmermann <nzimmermann@rim.com>

Not reviewed. Fix build warning about unreachable code, seen on the windows slave.

  • rendering/RenderSVGContainer.cpp: (WebCore::RenderSVGContainer::selfWillPaint):
  • rendering/RenderSVGRoot.cpp: (WebCore::RenderSVGRoot::selfWillPaint):
06:50 Changeset [64275] by zimmermann@webkit.org

2010-07-29 Nikolas Zimmermann <nzimmermann@rim.com>

Reviewed by Dirk Schulze.

WebKit shouldn't ignore resource cycles, but break them as Opera does
https://bugs.webkit.org/show_bug.cgi?id=43031

mask images are not updated when render objects' bounds change
https://bugs.webkit.org/show_bug.cgi?id=15124

SVG Gradients do not resize correctly
https://bugs.webkit.org/show_bug.cgi?id=41902

svg/dynamic-updates: SVGMarkerElement markerHeight/Width tests are broken
https://bugs.webkit.org/show_bug.cgi?id=42616

svg/dynamic-updates: SVGMaskElement tests are all broken
https://bugs.webkit.org/show_bug.cgi?id=42617

Don't ignore resources containing cyclic references, but break them, as discussed on SVG WG mailing lists - to be compatible with Opera which already does that.

We used to lookup RenderSVGResourceContainers objects, by extracting the URI reference from the SVGRenderStyle, then utilizing getElementById() to lookup the
node, and access its renderer. Opera ignores such references, if they point to resources that contain cyclic references. Ignoring them would mean we have
to mutate the render style to empty the resource strings. That obviously doesn't work, as it would break expectations (getComputedStyle, etc.).

Introduce a SVGResources class that stores pointers to all resources, that can be applied to a RenderObject (clipper/filter/markers/masker).
Add a SVGResourcesCache class, which is basically a HashMap<RenderObject*, SVGResources*>. Whenever a RenderObject receives style, we extract the URI references
from the SVGRenderStyle, look up the RenderSVGResourceContainer* objects, and store them in a SVGResources* class. Then we execute a cycle detection logic,
which detects cyclic references and breaks them. Breaking them means just nulling the pointer to the resource in the SVGResources object. Those SVGResources
objects are cached, and used throughout the render tree to access resources. This way it's guaranteed that all cyclic references are resolved until layout/paint
phase begins.

Add destroy/styleDidChange/updateFromElement methods to all SVG renderers, in order to keep track of resource/client changes in the SVGResourcesCache.
As side-effect the SVGResourcesCache now knows which RenderObject references which resource, and thus can handle client registration for a RenderSVGResourceContainer.
The RenderSVGResourceContainer now holds a HashSet of RenderObjects, that's always up2date, and not related to the fact wheter a resources has already been used
for painting. The old logic missed to register clients for a resource, when the resource was in an invalid state. Fixing that fixes the svg/dynamic-updates/SVGMaskElement* tests.

Rewrite all svg/custom/recursive-(filter|gradient|mask|pattern).svg tests to contain a reference image how it should be renderered. All 1:1 compatible with Opera now.

  • rendering/RenderForeignObject.cpp: (WebCore::RenderForeignObject::layout): Grab selfNeedsLayout() before calling RenderBlock::layout(), otherwhise it's always false.
  • rendering/RenderPath.cpp: Don't look up resources manually, use SVGResourcesCache. (WebCore::RenderPath::fillContains): Remove constness, to avoid the need to pass around const RenderObjects* to the SVGResourcesCache. (WebCore::RenderPath::strokeContains): Ditto. (WebCore::RenderPath::layout): s/RenderSVGResource::invalidateAllResourcesOfRenderer/SVGResourcesCache::clientLayoutChanged/. (WebCore::RenderPath::calculateMarkerBoundsIfNeeded): Remove special client handling for markers, it's all unified now. (WebCore::RenderPath::styleWillChange): Only call setNeedsBoundariesUpdate when handling StyleDifferenceRepaint/Layout.
  • rendering/RenderPath.h:
  • rendering/RenderSVGBlock.cpp: (WebCore::RenderSVGBlock::destroy): Forward to SVGResourcesCache::clientDestroyed. (WebCore::RenderSVGBlock::styleDidChange): Forward to SVGResourcesCache::clientStyleChanged. (WebCore::RenderSVGBlock::updateFromElement): Forward to SVGResourcesCache::clientUpdatedFromElement.
  • rendering/RenderSVGBlock.h:
  • rendering/RenderSVGContainer.cpp: (WebCore::RenderSVGContainer::layout): s/RenderSVGResource::invalidateAllResourcesOfRenderer/SVGResourcesCache::clientLayoutChanged/. (WebCore::RenderSVGContainer::selfWillPaint): Don't look up resources manually, use SVGResourcesCache.
  • rendering/RenderSVGContainer.h:
  • rendering/RenderSVGGradientStop.cpp: (WebCore::RenderSVGGradientStop::styleDidChange): Rewrite, as invalidateResourceClients() is gone.
  • rendering/RenderSVGHiddenContainer.h: Make layout() protected, as RenderSVGResourceContainer overrides it.
  • rendering/RenderSVGImage.cpp: (WebCore::RenderSVGImage::layout): s/RenderSVGResource::invalidateAllResourcesOfRenderer/SVGResourcesCache::clientLayoutChanged/. (WebCore::RenderSVGImage::destroy): Forward to SVGResourcesCache::clientDestroyed. (WebCore::RenderSVGImage::styleDidChange): Forward to SVGResourcesCache::clientStyleChanged. (WebCore::RenderSVGImage::updateFromElement): Forward to SVGResourcesCache::clientUpdatedFromElement. (WebCore::RenderSVGImage::imageChanged): Don't look up resources manually, use SVGResourcesCache.
  • rendering/RenderSVGImage.h:
  • rendering/RenderSVGInline.cpp: (WebCore::RenderSVGInline::destroy): Forward to SVGResourcesCache::clientDestroyed. (WebCore::RenderSVGInline::styleDidChange): Forward to SVGResourcesCache::clientStyleChanged. (WebCore::RenderSVGInline::updateFromElement): Forward to SVGResourcesCache::clientUpdatedFromElement.
  • rendering/RenderSVGInline.h:
  • rendering/RenderSVGModelObject.cpp: (WebCore::RenderSVGModelObject::destroy): Forward to SVGResourcesCache::clientDestroyed. (WebCore::RenderSVGModelObject::styleDidChange): Forward to SVGResourcesCache::clientStyleChanged. (WebCore::RenderSVGModelObject::updateFromElement): Forward to SVGResourcesCache::clientUpdatedFromElement.
  • rendering/RenderSVGModelObject.h:
  • rendering/RenderSVGResource.cpp: (WebCore::RenderSVGResource::fillPaintingResource): Remove const from RenderObject parameter. (WebCore::RenderSVGResource::strokePaintingResource): Ditto. (WebCore::RenderSVGResource::markForLayoutAndParentResourceInvalidation): Early exit if we found the first parent resource.
  • rendering/RenderSVGResource.h:
  • rendering/RenderSVGResourceClipper.cpp: (WebCore::RenderSVGResourceClipper::~RenderSVGResourceClipper): Early exit if m_clipper is empty. (WebCore::RenderSVGResourceClipper::invalidateClients): Use new helper functions to invalidate clients, shared between all resources in RenderSVGResourceContainer. (WebCore::RenderSVGResourceClipper::invalidateClient): Ditto. (WebCore::RenderSVGResourceClipper::applyResource): Remove containsCyclicReference() check, SVGResourcesCycleSolver breaks cyclic references, resources do not need to take care anymore. (WebCore::RenderSVGResourceClipper::createClipData): Don't look up resources manually, use SVGResourcesCache. (WebCore::RenderSVGResourceClipper::hitTestClipContent): Remove containsCyclicReference() check, SVGResourcesCycleSolver breaks cyclic references, resources do not need to take care anymore.
  • rendering/RenderSVGResourceClipper.h:
  • rendering/RenderSVGResourceContainer.cpp: (WebCore::svgExtensionsFromNode): (WebCore::RenderSVGResourceContainer::RenderSVGResourceContainer): Stop registering resource from the constructor, delegate to styleDidChange. (WebCore::RenderSVGResourceContainer::~RenderSVGResourceContainer): Only deregister resource if it was ever registered. (WebCore::RenderSVGResourceContainer::layout): invalidateClients() here, to avoid the need for invalidateResourceClients() in the SVG DOM. Just call setNeedsLayout() from the SVG DOM. (WebCore::RenderSVGResourceContainer::destroy): Forward to SVGResourcesCache::resourceDestroyed. (WebCore::RenderSVGResourceContainer::styleDidChange): Register resource not in the constructor but when it first receives style. (WebCore::RenderSVGResourceContainer::idChanged): Don't duplicate code, use existing methods from SVGResourcesCache. (WebCore::RenderSVGResourceContainer::markAllClientsForInvalidation): Add new helper function, to share code between all resources. (WebCore::RenderSVGResourceContainer::markClientForInvalidation): Ditto. (WebCore::RenderSVGResourceContainer::addClient): SVGResourcesCache now manages the list of clients. It calls addClient() for each RenderObject that uses this resource. (WebCore::RenderSVGResourceContainer::removeClient): SVGResourcesCache now manages the list of clients. (WebCore::RenderSVGResourceContainer::registerResource): New helper function sharing code between idChanged / styleDidChange. (WebCore::RenderSVGResourceContainer::transformOnNonScalingStroke): Add FIXME that the function is misplaced.
  • rendering/RenderSVGResourceContainer.h: Move most functions to the new RenderSVGResourceContainer.cpp file.
  • rendering/RenderSVGResourceFilter.cpp: (WebCore::RenderSVGResourceFilter::~RenderSVGResourceFilter): Early exit if m_filter is empty. (WebCore::RenderSVGResourceFilter::invalidateClients): Use new helper functions to invalidate clients, shared between all resources in RenderSVGResourceContainer. (WebCore::RenderSVGResourceFilter::invalidateClient): Ditto.
  • rendering/RenderSVGResourceGradient.cpp: (WebCore::RenderSVGResourceGradient::~RenderSVGResourceGradient): Early exit if m_gradient is empty. (WebCore::RenderSVGResourceGradient::invalidateClients): Use new helper functions to invalidate clients, shared between all resources in RenderSVGResourceContainer. (WebCore::RenderSVGResourceGradient::invalidateClient): Ditto.
  • rendering/RenderSVGResourceMarker.cpp: (WebCore::RenderSVGResourceMarker::~RenderSVGResourceMarker): Now a no-op, markers are unified within the new client handling concept, no more special code needed. (WebCore::RenderSVGResourceMarker::layout): As RenderSVGResourceMarker skips the RenderSVGResourceContainer::layout() method, we also need to call invalidateClients() here. (WebCore::RenderSVGResourceMarker::invalidateClients): Use new helper functions to invalidate clients, shared between all resources in RenderSVGResourceContainer. (WebCore::RenderSVGResourceMarker::invalidateClient): Ditto. (WebCore::RenderSVGResourceMarker::draw): Remove marker specific logic to catch circular references.
  • rendering/RenderSVGResourceMarker.h:
  • rendering/RenderSVGResourceMasker.cpp: (WebCore::RenderSVGResourceMasker::~RenderSVGResourceMasker): Early exit if m_masker is empty. (WebCore::RenderSVGResourceMasker::invalidateClients): Use new helper functions to invalidate clients, shared between all resources in RenderSVGResourceContainer. (WebCore::RenderSVGResourceMasker::invalidateClient): Ditto. (WebCore::RenderSVGResourceMasker::applyResource): Remove containsCyclicReference() check, SVGResourcesCycleSolver breaks cyclic references, resources do not need to take care anymore.
  • rendering/RenderSVGResourceMasker.h:
  • rendering/RenderSVGResourcePattern.cpp: (WebCore::RenderSVGResourcePattern::~RenderSVGResourcePattern): Early exit if m_pattern is empty. (WebCore::RenderSVGResourcePattern::invalidateClients): Use new helper functions to invalidate clients, shared between all resources in RenderSVGResourceContainer. (WebCore::RenderSVGResourcePattern::invalidateClient): Ditto. (WebCore::RenderSVGResourcePattern::createTileImage): Remove containsCyclicReference() check, SVGResourcesCycleSolver breaks cyclic references, resources do not need to take care anymore.
  • rendering/RenderSVGResourcePattern.h:
  • rendering/RenderSVGRoot.cpp: (WebCore::RenderSVGRoot::selfWillPaint): Don't look up resources manually, use SVGResourcesCache. (WebCore::RenderSVGRoot::destroy): Forward to SVGResourcesCache::clientDestroyed. (WebCore::RenderSVGRoot::styleDidChange): Forward to SVGResourcesCache::clientStyleChanged. (WebCore::RenderSVGRoot::updateFromElement): Forward to SVGResourcesCache::clientUpdatedFromElement.
  • rendering/RenderSVGRoot.h:
  • rendering/RenderSVGText.cpp: (WebCore::RenderSVGText::layout): s/RenderSVGResource::invalidateAllResourcesOfRenderer/SVGResourcesCache::clientLayoutChanged/.
  • rendering/RenderSVGText.h:
  • rendering/SVGInlineTextBox.cpp: (WebCore::SVGInlineTextBox::acquirePaintingResource): Add RenderObject* parameter, don't assume the style comes from the InlineTextBox parent renderer. (WebCore::SVGInlineTextBox::prepareGraphicsContextForTextPainting): Pass the parent()->renderer() to acquirePaintingResource. (WebCore::SVGInlineTextBox::paintDecoration): Pass the decoration renderer to acquirePaintingResource. (WebCore::SVGInlineTextBox::paintDecorationWithStyle): Ditto. (WebCore::SVGInlineTextBox::paintText): When a selection pseudo style is used to paint the selection, swap styles in the SVGResourcesCache, to take the right resources when painting.
  • rendering/SVGInlineTextBox.h:
  • rendering/SVGRenderSupport.cpp: (WebCore::SVGRenderSupport::prepareToRenderSVGContent): Don't look up resources manually, use SVGResourcesCache. (WebCore::SVGRenderSupport::finishRenderSVGContent): Ditto. (WebCore::SVGRenderSupport::intersectRepaintRectWithResources): Ditto. (WebCore::SVGRenderSupport::pointInClippingArea): Remove const from RenderObject parameter.
  • rendering/SVGRenderSupport.h:
  • rendering/SVGRenderTreeAsText.cpp: (WebCore::writeStyle): Add two const_cast now that fill/strokePaintingResource take RenderObject* parameters. This was the less intrusive approach, otherwhise more const_casts would be needed. (WebCore::writeResources): Add FIXME that we should dump the resources present in the SVGResourcesCache instead of manually looking them up from the SVGRenderStyle, to avoid dumping cycles.
  • rendering/SVGResourcesCache.cpp: (WebCore::SVGResourcesCache::clientStyleChanged): Use markForLayoutAndParentResourceInvalidation() instead of duplicating code.
  • rendering/SVGResourcesCycleSolver.cpp: (WebCore::setFollowLinkForChainableResource): Implemented stub method.
  • rendering/style/SVGRenderStyle.cpp: (WebCore::SVGRenderStyle::diff): Return StyleDifferenceLayout, not Repaint for stroke paint changes, otherwhise the cached boundaries are not correctly updated.
  • svg/SVGClipPathElement.cpp: (WebCore::SVGClipPathElement::svgAttributeChanged): Don't use invalidateResourceClients(), it's not needed anymore, only call setNeedsLayout() on the renderer. (WebCore::SVGClipPathElement::childrenChanged): Ditto.
  • svg/SVGClipPathElement.h: (WebCore::SVGClipPathElement::needsPendingResourceHandling): Return false, buildPendingResource() logic not needed anymore for resources, handled by RenderSVGResourceContainer.
  • svg/SVGElement.cpp: (WebCore::SVGElement::insertedIntoDocument): Only execute buildPendingResource() logic, if needsPendingResourceHandling() returns true. Cleaned up code a bit, to deploy early returns.
  • svg/SVGElement.h: (WebCore::SVGElement::needsPendingResourceHandling): Return true (default). Only needed by SVGTextPathElement/SVGUseElement, and should be removed in future.
  • svg/SVGFilterElement.cpp: (WebCore::SVGFilterElement::SVGFilterElement): Initialize m_followLink=true. (WebCore::SVGFilterElement::setFilterRes): Don't use invalidateResourceClients(), it's not needed anymore, only call setNeedsLayout() on the renderer. (WebCore::SVGFilterElement::svgAttributeChanged): Ditto. (WebCore::SVGFilterElement::childrenChanged): Ditto.
  • svg/SVGFilterElement.h: (WebCore::SVGFilterElement::needsPendingResourceHandling): Return false, buildPendingResource() logic not needed anymore for resources, handled by RenderSVGResourceContainer. (WebCore::SVGFilterElement::setFollowLink): Used by SVGResourcesCycleSolver, to stop following xlink:href links, if that leads to cyclic references.
  • svg/SVGFilterPrimitiveStandardAttributes.cpp: (WebCore::SVGFilterPrimitiveStandardAttributes::childrenChanged): Don't use invalidateResourceClients(), it's a no-op as effects don't have a renderer -> use invalidateFilter().
  • svg/SVGFilterPrimitiveStandardAttributes.h: (WebCore::SVGFilterPrimitiveStandardAttributes::invalidateFilter): Don't use invalidateResourceClients(), it's not needed anymore, only call setNeedsLayout() on the renderer.
  • svg/SVGGradientElement.cpp: (WebCore::SVGGradientElement::SVGGradientElement): Initialize m_followLink=true. (WebCore::SVGGradientElement::svgAttributeChanged): Don't use invalidateResourceClients(), it's not needed anymore, only call setNeedsLayout() on the renderer. (WebCore::SVGGradientElement::childrenChanged): Ditto.
  • svg/SVGGradientElement.h: (WebCore::SVGGradientElement::needsPendingResourceHandling): Return false, buildPendingResource() logic not needed anymore for resources, handled by RenderSVGResourceContainer. (WebCore::SVGGradientElement::setFollowLink): Used by SVGResourcesCycleSolver, to stop following xlink:href links, if that leads to cyclic references.
  • svg/SVGLinearGradientElement.cpp: (WebCore::SVGLinearGradientElement::svgAttributeChanged): Don't use invalidateResourceClients(), it's not needed anymore, only call setNeedsLayout() on the renderer. (WebCore::SVGLinearGradientElement::collectGradientProperties): Only follow xlink:href links if m_followLinks == true.
  • svg/SVGMarkerElement.cpp: (WebCore::SVGMarkerElement::svgAttributeChanged): Don't use invalidateResourceClients(), it's not needed anymore, only call setNeedsLayout() on the renderer. (WebCore::SVGMarkerElement::childrenChanged): Ditto. (WebCore::SVGMarkerElement::setOrientToAuto): Ditto. (WebCore::SVGMarkerElement::setOrientToAngle): Ditto.
  • svg/SVGMarkerElement.h: (WebCore::SVGMarkerElement::needsPendingResourceHandling): Return false, buildPendingResource() logic not needed anymore for resources, handled by RenderSVGResourceContainer.
  • svg/SVGMaskElement.cpp: (WebCore::SVGMaskElement::svgAttributeChanged): Don't use invalidateResourceClients(), it's not needed anymore, only call setNeedsLayout() on the renderer. (WebCore::SVGMaskElement::childrenChanged): Ditto.
  • svg/SVGMaskElement.h: (WebCore::SVGMaskElement::needsPendingResourceHandling): Return false, buildPendingResource() logic not needed anymore for resources, handled by RenderSVGResourceContainer.
  • svg/SVGPatternElement.cpp: (WebCore::SVGPatternElement::SVGPatternElement): Initialize m_followLink=true. (WebCore::SVGPatternElement::svgAttributeChanged): Don't use invalidateResourceClients(), it's not needed anymore, only call setNeedsLayout() on the renderer. (WebCore::SVGPatternElement::childrenChanged): Ditto. (WebCore::SVGPatternElement::collectPatternProperties): Only follow xlink:href links if m_followLinks == true.
  • svg/SVGPatternElement.h: (WebCore::SVGPatternElement::needsPendingResourceHandling): Return false, buildPendingResource() logic not needed anymore for resources, handled by RenderSVGResourceContainer. (WebCore::SVGPatternElement::setFollowLink): Used by SVGResourcesCycleSolver, to stop following xlink:href links, if that leads to cyclic references.
  • svg/SVGRadialGradientElement.cpp: (WebCore::SVGRadialGradientElement::svgAttributeChanged): Don't use invalidateResourceClients(), it's not needed anymore, only call setNeedsLayout() on the renderer. (WebCore::SVGRadialGradientElement::collectGradientProperties): Only follow xlink:href links if m_followLinks == true.
  • svg/SVGStyledElement.cpp: (WebCore::SVGStyledElement::attach): Call updateFromElement upon attach(), needed by all resource renderers. Defaults to a no-op in RenderObject.h
  • svg/SVGStyledElement.h: Remove invalidateResourceClients(), it's not needed anymore.

2010-07-29 Nikolas Zimmermann <nzimmermann@rim.com>

Reviewed by Dirk Schulze.

WebKit shouldn't ignore resource cycles, but break them as Opera does
https://bugs.webkit.org/show_bug.cgi?id=43031

Rebaseline results now that cycles are broken, instead of ignored.

  • platform/mac/svg/clip-path/clip-path-recursive-call-by-child-expected.txt:
  • platform/mac/svg/clip-path/clip-path-recursive-call-expected.checksum:
  • platform/mac/svg/clip-path/clip-path-recursive-call-expected.png:
  • platform/mac/svg/custom/circular-marker-reference-4-expected.txt:
  • platform/mac/svg/custom/gradient-cycle-detection-expected.checksum:
  • platform/mac/svg/custom/gradient-cycle-detection-expected.png:
  • platform/mac/svg/custom/recursive-clippath-expected.checksum:
  • platform/mac/svg/custom/recursive-clippath-expected.png:
  • platform/mac/svg/custom/recursive-clippath-expected.txt:
  • platform/mac/svg/custom/recursive-filter-expected.checksum:
  • platform/mac/svg/custom/recursive-filter-expected.png:
  • platform/mac/svg/custom/recursive-filter-expected.txt:
  • platform/mac/svg/custom/recursive-gradient-expected.checksum:
  • platform/mac/svg/custom/recursive-gradient-expected.png:
  • platform/mac/svg/custom/recursive-gradient-expected.txt:
  • platform/mac/svg/custom/recursive-mask-expected.checksum:
  • platform/mac/svg/custom/recursive-mask-expected.png:
  • platform/mac/svg/custom/recursive-mask-expected.txt:
  • platform/mac/svg/custom/recursive-pattern-expected.checksum:
  • platform/mac/svg/custom/recursive-pattern-expected.png:
  • platform/mac/svg/custom/recursive-pattern-expected.txt:
  • platform/mac/svg/custom/use-events-crash-expected.txt:
  • platform/mac/svg/dynamic-updates/SVGMarkerElement-dom-markerHeight-attr-expected.checksum:
  • platform/mac/svg/dynamic-updates/SVGMarkerElement-dom-markerHeight-attr-expected.png:
  • platform/mac/svg/dynamic-updates/SVGMarkerElement-dom-markerWidth-attr-expected.checksum:
  • platform/mac/svg/dynamic-updates/SVGMarkerElement-dom-markerWidth-attr-expected.png:
  • platform/mac/svg/dynamic-updates/SVGMarkerElement-svgdom-markerHeight-prop-expected.checksum:
  • platform/mac/svg/dynamic-updates/SVGMarkerElement-svgdom-markerHeight-prop-expected.png:
  • platform/mac/svg/dynamic-updates/SVGMarkerElement-svgdom-markerWidth-prop-expected.checksum:
  • platform/mac/svg/dynamic-updates/SVGMarkerElement-svgdom-markerWidth-prop-expected.png:
  • platform/mac/svg/dynamic-updates/SVGMaskElement-dom-height-attr-expected.checksum:
  • platform/mac/svg/dynamic-updates/SVGMaskElement-dom-height-attr-expected.png:
  • platform/mac/svg/dynamic-updates/SVGMaskElement-dom-maskContentUnits-attr-expected.checksum:
  • platform/mac/svg/dynamic-updates/SVGMaskElement-dom-maskContentUnits-attr-expected.png:
  • platform/mac/svg/dynamic-updates/SVGMaskElement-dom-maskUnits-attr-expected.checksum:
  • platform/mac/svg/dynamic-updates/SVGMaskElement-dom-maskUnits-attr-expected.png:
  • platform/mac/svg/dynamic-updates/SVGMaskElement-dom-width-attr-expected.checksum:
  • platform/mac/svg/dynamic-updates/SVGMaskElement-dom-width-attr-expected.png:
  • platform/mac/svg/dynamic-updates/SVGMaskElement-dom-x-attr-expected.checksum:
  • platform/mac/svg/dynamic-updates/SVGMaskElement-dom-x-attr-expected.png:
  • platform/mac/svg/dynamic-updates/SVGMaskElement-dom-y-attr-expected.checksum:
  • platform/mac/svg/dynamic-updates/SVGMaskElement-dom-y-attr-expected.png:
  • platform/mac/svg/dynamic-updates/SVGMaskElement-svgdom-height-prop-expected.checksum:
  • platform/mac/svg/dynamic-updates/SVGMaskElement-svgdom-height-prop-expected.png:
  • platform/mac/svg/dynamic-updates/SVGMaskElement-svgdom-maskContentUnits-prop-expected.checksum:
  • platform/mac/svg/dynamic-updates/SVGMaskElement-svgdom-maskContentUnits-prop-expected.png:
  • platform/mac/svg/dynamic-updates/SVGMaskElement-svgdom-maskUnits-prop-expected.checksum:
  • platform/mac/svg/dynamic-updates/SVGMaskElement-svgdom-maskUnits-prop-expected.png:
  • platform/mac/svg/dynamic-updates/SVGMaskElement-svgdom-width-prop-expected.checksum:
  • platform/mac/svg/dynamic-updates/SVGMaskElement-svgdom-width-prop-expected.png:
  • platform/mac/svg/dynamic-updates/SVGMaskElement-svgdom-x-prop-expected.checksum:
  • platform/mac/svg/dynamic-updates/SVGMaskElement-svgdom-x-prop-expected.png:
  • platform/mac/svg/dynamic-updates/SVGMaskElement-svgdom-y-prop-expected.checksum:
  • platform/mac/svg/dynamic-updates/SVGMaskElement-svgdom-y-prop-expected.png:
  • platform/mac/svg/hixie/error/017-expected.txt:
  • svg/clip-path/clip-path-recursive-call-by-child.svg: Rewrite test to match expectations, now that cycles are broken, not ignored. Looks like in Opera.
  • svg/custom/js-late-clipPath-and-object-creation.svg: Don't update from within the onload event, instead use zero-ms timeouts, to test updating reliable. It failed before this patch.
  • svg/custom/js-late-clipPath-creation.svg: Ditto.
  • svg/custom/js-late-gradient-and-object-creation.svg: Ditto.
  • svg/custom/js-late-gradient-creation.svg: Ditto.
  • svg/custom/js-late-marker-and-object-creation.svg: Ditto.
  • svg/custom/js-late-marker-creation.svg: Ditto.
  • svg/custom/js-late-mask-and-object-creation.svg: Ditto.
  • svg/custom/js-late-mask-creation.svg: Ditto.
  • svg/custom/js-late-pattern-and-object-creation.svg: Ditto.
  • svg/custom/js-late-pattern-creation.svg: Ditto.
  • svg/custom/recursive-clippath.svg: Add a reference rendering, side by side to the test, for the ease of comparision. Passes in WebKit + Opera.
  • svg/custom/recursive-filter.svg: Ditto.
  • svg/custom/recursive-gradient.svg: Ditto.
  • svg/custom/recursive-mask.svg: Ditto.
  • svg/custom/recursive-pattern.svg: Ditto.
06:45 Changeset [64274] by aroben@apple.com

Speed up find-included-framework-headers

We only do one invocation of find now, no longer pipe to grep, and
replace uniq with sort -u.

Also added a license header.

  • Scripts/find-included-framework-headers:
06:33 Changeset [64273] by commit-queue@webkit.org

2010-07-29 Gyuyoung Kim <gyuyoung.kim@samsung.com>

Reviewed by Kenneth Rohde Christiansen.

[EFL] Support to enable WML in WebKit EFL
https://bugs.webkit.org/show_bug.cgi?id=43178

WebKit EFL cannot enable WML. WML files are added to CMakeLists.txt
to enable WML in WebKit EFL.

  • CMakeLists.txt: Support to enable WML.
06:19 Changeset [64272] by tonikitoo@webkit.org

2010-07-21 Grace Kloba <klobag@gmail.com> , Antonio Gomes <tonikitoo@webkit.org>

Reviewed by David Hyatt.

Enhance the hit testing to take a rectangle instead of a point
https://bugs.webkit.org/show_bug.cgi?id=40197

The primary goal of this change is to provide mechanisms for more precise tap
actions by the users on mobile devices.

Patch extends the hit testing system to work considering a rectangular area
as input instead of a point, when applicable. For that, the HitTestResult class
was modified to take a padding (IntSize). The padding specifies a fuzzy range for
accepting input events in pixels coordinates for both vertical and horizontal
orientations. In other words, it tells how much to expand the search rect
around a supposed touch point.

If it non-positive, hit testing will behavior as the current point based hit testing,
and methods are no-op'ed to not regress this common behavior performance-wise.
When positive IntSize is provided, the hit test result will keep record of all
nodes that intersect the built up test area. The logic will continue searching when it
finds a candidate until the rectangle is fully enclosed by the boundaries of a candidate.
The result will be a list of nodes in the z-order they are hit-tested.
Caller will decide how to process them.

In order to expose the functionality, the patch:

  • Adds a nodesFromRect method to the Document class, exposing the funcionality to the DOM. Method returns a NodeList with all nodes that intersect the given hit-tested area.
  • Extends hitTestResultAtPoint method of the EventHandler with an extra 'padding' parameter, defaulting to IntSize(0, 0). The rect-based hit test is performed when a positive padding is passed in.

Test: fast/dom/nodesFromRect-basic.html

  • WebCore.base.exp:
  • dom/Document.cpp: (WebCore::Document::nodesFromRect): This method exposes the rect based funcionality to the DOM. It works similarly to elementFromPoint, however receiving a rectangular area as input instead of a point, and returning a z-index ordered list of nodes (not elements) whose area intersect the hit test rect.
  • dom/Document.h: Ditto.
  • dom/Document.idl: Ditto.
  • page/EventHandler.cpp: (WebCore::EventHandler::hitTestResultAtPoint): The funcionality is also exposed through this method. Patch adds a additional IntSize parameter to work as the padding area, building up the hit test rect.
  • page/EventHandler.h: Ditto.
  • rendering/HitTestResult.cpp: (WebCore::HitTestResult::HitTestResult): Rect based hit test constructor. Receives a padding IntSize as parameter. It can be (0,0). (WebCore::HitTestResult::operator=): Modified to assign the m_rectBasedTestResult as well. (WebCore::HitTestResult::append): Merge to HitTestResult objects in a way that the list node's of both objects get amended. (WebCore::HitTestResult::addNodeToRectBasedTestResult): Adds a given Node to the list of hit nodes.
  • rendering/HitTestResult.h: (WebCore::HitTestResult::padding): Returns the padding as an IntSize. (WebCore::HitTestResult::isRectBasedTest): Returns if the HitTestResult is rect based or not. (WebCore::HitTestResult::.rectBasedTestResult): Returns the list nodes hit. (WebCore::HitTestResult::rectFromPoint): Returns the hit test rect given the hit test point and padding.
  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::hitTestLayer): (WebCore::RenderLayer::hitTestList): (WebCore::RenderLayer::hitTestChildLayerColumns):
  • rendering/EllipsisBox.cpp: (WebCore::EllipsisBox::nodeAtPoint): Method is modified to support rect based hit test extension. Now it not just checks if the boundary of the node being hit-tested contains a hit test point, but instead it checks if the boundary of the node intersects a hit test rect. It is implemented so that the common case (point based hit test) works as previously.
  • rendering/InlineFlowBox.cpp: (WebCore::InlineFlowBox::nodeAtPoint): Ditto.
  • rendering/InlineTextBox.cpp: (WebCore::InlineTextBox::nodeAtPoint): Ditto.
  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::nodeAtPoint): Ditto. (WebCore::RenderBlock::hitTestColumns): Ditto.
  • rendering/RenderBox.cpp: (WebCore::RenderBox::nodeAtPoint): Ditto.
  • rendering/RenderImage.cpp: (WebCore::RenderImage::nodeAtPoint): Ditto.
  • rendering/RenderLineBoxList.cpp: (WebCore::RenderLineBoxList::hitTest):
  • rendering/RenderSVGRoot.cpp: (WebCore::RenderSVGRoot::nodeAtPoint): Ditto.
  • rendering/RenderTable.cpp: (WebCore::RenderTable::nodeAtPoint): Ditto.
  • rendering/RenderTableSection.cpp: (WebCore::RenderTableSection::nodeAtPoint): Ditto.
  • rendering/RenderWidget.cpp: (WebCore::RenderWidget::nodeAtPoint): Ditto.
06:16 QtWebKitTriageRoster edited by hausmann@webkit.org
(diff)
05:00 Changeset [64271] by andreip@google.com

2010-07-29 Andrei Popescu <andreip@google.com>

Reviewed by Jeremy Orlow.

[IndexedDB] WebDOMStringList ctor is not exported and causes link errors for the multi-dll chromium build
https://bugs.webkit.org/show_bug.cgi?id=43186

Add WEBKIT_API to WebDOMStringList default ctor.

  • public/WebDOMStringList.h:
04:52 QtWebKitTableOfFeatures20 edited by henry.haverinen@nokia.com
(diff)
04:46 QtWebKitTableOfFeatures20 edited by henry.haverinen@nokia.com
(diff)
04:43 QtWebKitTableOfFeatures20 edited by henry.haverinen@nokia.com
(diff)
04:41 Changeset [64270] by steveblock@google.com

2010-07-29 Steve Block <steveblock@google.com>

Reviewed by Jeremy Orlow.

Add LayoutTestController methods to test DeviceOrientation
https://bugs.webkit.org/show_bug.cgi?id=39589

  • fast/dom/DeviceOrientation/basic-operation-expected.txt: Added.
  • fast/dom/DeviceOrientation/basic-operation.html: Added.
  • fast/dom/DeviceOrientation/script-tests/basic-operation.js: Added.
  • platform/gtk/Skipped:

2010-07-29 Steve Block <steveblock@google.com>

Reviewed by Jeremy Orlow.

Add LayoutTestController methods to test DeviceOrientation
https://bugs.webkit.org/show_bug.cgi?id=39589

This patch does not hook up the new LayoutTestController method to WebKit
for any platform. This will be done in later patches.
https://bugs.webkit.org/show_bug.cgi?id=43181 tracks this for Mac.

Test: fast/dom/DeviceOrientation/basic-operation.html

  • WebCore/WebCore.exp.in:
  • WebCore.xcodeproj/project.pbxproj:
  • dom/DeviceOrientationClient.h: (WebCore::DeviceOrientationClient::~DeviceOrientationClient):
  • dom/DeviceOrientationController.cpp: (WebCore::DeviceOrientationController::DeviceOrientationController):
  • dom/DeviceOrientationEvent.cpp:
  • platform/mock/DeviceOrientationClientMock.cpp: Added. (WebCore::DeviceOrientationClientMock::DeviceOrientationClientMock): (WebCore::DeviceOrientationClientMock::setController): (WebCore::DeviceOrientationClientMock::startUpdating): (WebCore::DeviceOrientationClientMock::stopUpdating): (WebCore::DeviceOrientationClientMock::setOrientation): (WebCore::DeviceOrientationClientMock::timerFired):
  • platform/mock/DeviceOrientationClientMock.h: Added. (WebCore::DeviceOrientationClientMock::lastOrientation):

2010-07-29 Steve Block <steveblock@google.com>

Reviewed by Jeremy Orlow.

Add LayoutTestController methods to test DeviceOrientation
https://bugs.webkit.org/show_bug.cgi?id=39589

  • DumpRenderTree/LayoutTestController.cpp: (setMockDeviceOrientationCallback): (LayoutTestController::staticFunctions):
  • DumpRenderTree/LayoutTestController.h:
  • DumpRenderTree/chromium/LayoutTestController.cpp:
  • DumpRenderTree/chromium/LayoutTestController.h:
  • DumpRenderTree/gtk/LayoutTestControllerGtk.cpp: (LayoutTestController::setMockDeviceOrientation):
  • DumpRenderTree/mac/LayoutTestControllerMac.mm: (LayoutTestController::setMockDeviceOrientation):
  • DumpRenderTree/qt/LayoutTestControllerQt.cpp: (LayoutTestController::setMockDeviceOrientation):
  • DumpRenderTree/qt/LayoutTestControllerQt.h:
  • DumpRenderTree/win/LayoutTestControllerWin.cpp: (LayoutTestController::setMockDeviceOrientation):
  • DumpRenderTree/wx/LayoutTestControllerWx.cpp: (LayoutTestController::setMockDeviceOrientation):
  • Scripts/build-webkit:
04:39 QtWebKitTableOfFeatures20 edited by henry.haverinen@nokia.com
(diff)
04:39 QtWebKitTableOfFeatures20 edited by henry.haverinen@nokia.com
(diff)
04:31 QtWebKitTableOfFeatures20 edited by henry.haverinen@nokia.com
(diff)
04:27 Changeset [64269] by commit-queue@webkit.org

2010-07-29 Satish Sampath <satish@chromium.org>

Reviewed by Steve Block.

Runtime feature switch for speech input.
https://bugs.webkit.org/show_bug.cgi?id=43146

Add a runtime feature switch that decides whether speech input attributes are available or not.
Defaults to true.

  • bindings/generic/RuntimeEnabledFeatures.cpp:
  • bindings/generic/RuntimeEnabledFeatures.h: (WebCore::RuntimeEnabledFeatures::setSpeechInputEnabled): (WebCore::RuntimeEnabledFeatures::speechInputEnabled): (WebCore::RuntimeEnabledFeatures::speechEnabled):
  • html/HTMLInputElement.idl:

2010-07-29 Satish Sampath <satish@chromium.org>

Reviewed by Steve Block.

Runtime feature switch for speech input
https://bugs.webkit.org/show_bug.cgi?id=43146

Add a runtime feature switch that decides whether speech input attributes are available or not.
Defaults to true.

  • public/WebRuntimeFeatures.h:
  • src/SpeechInputClientImpl.cpp: (WebKit::SpeechInputClientImpl::SpeechInputClientImpl):
  • src/WebRuntimeFeatures.cpp: (WebKit::WebRuntimeFeatures::enableSpeechInput): (WebKit::WebRuntimeFeatures::isSpeechInputEnabled):
04:15 QtWebKitTableOfFeatures20 edited by henry.haverinen@nokia.com
(diff)
04:10 QtWebKitTableOfFeatures20 edited by henry.haverinen@nokia.com
(diff)
04:09 QtWebKitTableOfFeatures20 edited by henry.haverinen@nokia.com
(diff)
03:27 Changeset [64268] by jorlow@chromium.org

2010-07-29 Jeremy Orlow <jorlow@chromium.org>

http://trac.webkit.org/changeset/64266 and its parents missed one
baseline. Add it.

Not reviewed.

  • platform/chromium-win/svg/custom/convolution-crash-expected.checksum: Added.
  • platform/chromium-win/svg/custom/convolution-crash-expected.png: Added.
02:05 Changeset [64267] by apavlov@chromium.org

2010-07-27 Alexander Pavlov <apavlov@chromium.org>

Reviewed by Pavel Feldman.

Inspector should display CDATA section data
https://bugs.webkit.org/show_bug.cgi?id=16259

WebCore:

  • inspector/InspectorDOMAgent.cpp: (WebCore::InspectorDOMAgent::buildObjectForNode):
  • inspector/front-end/ElementsTreeOutline.js: ():

LayoutTests:

  • inspector/elements-panel-xhtml-structure-expected.txt:
  • inspector/elements-panel-xhtml-structure.xhtml:
01:22 Changeset [64266] by commit-queue@webkit.org

2010-07-29 Alex Nicolaou <anicolao@chromium.org>

Reviewed by Dirk Schulze.

[chromium] new svg failures after r63485
https://bugs.webkit.org/show_bug.cgi?id=42428

Now that my fix for https://bugs.webkit.org/show_bug.cgi?id=43102
is checked in, 42428 is fixed also as well as a bunch of other tests
that were previously failing because of the wrong colourspace for the
SVG mask. This change resets expectations to pass for the appropriate
tests.

  • platform/chromium/test_expectations.txt:

07/28/10:

23:27 WinCE edited by paroga@paroga.com
(diff)
22:52 Changeset [64265] by commit-queue@webkit.org

2010-07-28 Kavita Kanetkar <kkanetkar@chromium.org>

Reviewed by Pavel Feldman.

Web Inspector: Enable UI for chromium's appcache inspection.
https://bugs.webkit.org/show_bug.cgi?id=43098

  • inspector/front-end/Settings.js: Removed appCacheEnabled.
  • inspector/front-end/StoragePanel.js: Removed appCacheEnabled condition. (WebInspector.StoragePanel): (WebInspector.StoragePanel.prototype.reset): (WebInspector.StoragePanel.prototype.addApplicationCache):

2010-07-28 Kavita Kanetkar <kkanetkar@chromium.org>

Reviewed by Pavel Feldman.

Web Inspector: Enable UI for chromium's appcache inspection.
https://bugs.webkit.org/show_bug.cgi?id=43098

21:02 Changeset [64264] by victorw@chromium.org

2010-07-28 Victor Wang <victorw@chromium.org>

Unreviewed. Update chromium test expectations for svg test.
After Alex Nicolaou's patch http://trac.webkit.org/changeset/64254,
Chromium should have same results with platform/mac or platform/mac-leopard.
Also rebaselin leopard result for the new test added by r64254.

  • platform/chromium-mac/svg/W3C-SVG-1.1/filters-composite-02-b-expected.checksum: Removed.
  • platform/chromium-mac/svg/W3C-SVG-1.1/filters-composite-02-b-expected.png: Removed.
  • platform/chromium-mac/svg/W3C-SVG-1.1/filters-conv-01-f-expected.checksum: Removed.
  • platform/chromium-mac/svg/W3C-SVG-1.1/filters-conv-01-f-expected.png: Removed.
  • platform/chromium-mac/svg/W3C-SVG-1.1/filters-diffuse-01-f-expected.checksum: Removed.
  • platform/chromium-mac/svg/W3C-SVG-1.1/filters-diffuse-01-f-expected.png: Removed.
  • platform/chromium-mac/svg/W3C-SVG-1.1/filters-displace-01-f-expected.checksum: Removed.
  • platform/chromium-mac/svg/W3C-SVG-1.1/filters-displace-01-f-expected.png: Removed.
  • platform/chromium-mac/svg/W3C-SVG-1.1/filters-example-01-b-expected.checksum: Removed.
  • platform/chromium-mac/svg/W3C-SVG-1.1/filters-example-01-b-expected.png: Removed.
  • platform/chromium-mac/svg/W3C-SVG-1.1/filters-image-01-b-expected.checksum: Removed.
  • platform/chromium-mac/svg/W3C-SVG-1.1/filters-image-01-b-expected.png: Removed.
  • platform/chromium-mac/svg/W3C-SVG-1.1/filters-light-01-f-expected.checksum: Removed.
  • platform/chromium-mac/svg/W3C-SVG-1.1/filters-light-01-f-expected.png: Removed.
  • platform/chromium-mac/svg/W3C-SVG-1.1/filters-light-04-f-expected.checksum: Removed.
  • platform/chromium-mac/svg/W3C-SVG-1.1/filters-light-04-f-expected.png: Removed.
  • platform/chromium-mac/svg/W3C-SVG-1.1/filters-specular-01-f-expected.checksum: Removed.
  • platform/chromium-mac/svg/W3C-SVG-1.1/filters-specular-01-f-expected.png: Removed.
  • platform/chromium-mac/svg/custom/feDisplacementMap-01-expected.checksum: Removed.
  • platform/chromium-mac/svg/custom/feDisplacementMap-01-expected.png: Removed.
  • platform/chromium-mac/svg/custom/image-with-transform-clip-filter-expected.checksum: Removed.
  • platform/chromium-mac/svg/custom/image-with-transform-clip-filter-expected.png: Removed.
  • platform/chromium-mac/svg/custom/recursive-filter-expected.checksum: Removed.
  • platform/chromium-mac/svg/custom/recursive-filter-expected.png: Removed.
  • platform/chromium-mac/svg/filters/feLighting-crash-expected.checksum: Removed.
  • platform/chromium-mac/svg/filters/feLighting-crash-expected.png: Removed.
  • platform/chromium-mac/svg/filters/filter-on-tspan-expected.checksum: Removed.
  • platform/chromium-mac/svg/filters/filter-on-tspan-expected.png: Removed.
  • platform/chromium-mac/svg/filters/filter-width-update-expected.checksum: Removed.
  • platform/chromium-mac/svg/filters/filteredImage-expected.checksum: Removed.
  • platform/chromium-mac/svg/filters/parent-children-with-same-filter-expected.checksum: Removed.
  • platform/chromium-mac/svg/filters/parent-children-with-same-filter-expected.png: Removed.
  • platform/mac-leopard/svg/custom/mask-colorspace-expected.checksum: Added.
  • platform/mac-leopard/svg/custom/mask-colorspace-expected.png: Added.
20:36 Changeset [64263] by commit-queue@webkit.org

2010-07-28 Kenichi Ishibashi <bashi@google.com>

Reviewed by Shinichiro Hamaji.

Fixed <https://bugs.webkit.org/show_bug.cgi?id=33814>
check-webkit-style gives false positives in single-line functions.

  • Scripts/webkitpy/style/checkers/cpp.py:
  • Scripts/webkitpy/style/checkers/cpp_unittest.py:
20:24 Changeset [64262] by commit-queue@webkit.org

2010-07-28 Bryan Gislason <bgislason@rim.com>

Reviewed by Nate Chapin.

Minor compile errors in loadMediaPlayerProxyPlugin
https://bugs.webkit.org/show_bug.cgi?id=43141

  • WebCore/loader/SubframeLoader.cpp:
20:22 Changeset [64261] by barraclough@apple.com

Bug 43162 - Add support for MADV_FREE to PageAllocation.

Reviewed by Darin Adler.

  • wtf/PageAllocation.cpp:

(WTF::PageAllocation::commit):
(WTF::PageAllocation::decommit):

20:12 Changeset [64260] by commit-queue@webkit.org

2010-07-28 Dominic Mazzoni <dmazzoni@google.com>

Reviewed by Dimitri Glazkov.

Add a missing dependency.
https://bugs.webkit.org/show_bug.cgi?id=43044

  • css/CSSPrimitiveValueMappings.h:

2010-07-28 Dominic Mazzoni <dmazzoni@google.com>

Reviewed by Dimitri Glazkov.

Add access to the computed style display to WebAccessibilityObject.
https://bugs.webkit.org/show_bug.cgi?id=43044

  • public/WebAccessibilityObject.h:
  • src/WebAccessibilityObject.cpp: (WebKit::WebAccessibilityObject::hasComputedStyle): (WebKit::WebAccessibilityObject::computedStyleDisplay):
20:08 Changeset [64259] by dbates@webkit.org

2010-07-28 Daniel Bates <dbates@rim.com>

Reviewed by Darin Adler.

Output more descriptive PASS messages for list layout tests
https://bugs.webkit.org/show_bug.cgi?id=42938

Output a more descriptive PASS message so that it is clear
what we are testing in the test cases: fast/lists/w3-css3-list-styles-alphabetic.html
and fast/lists/w3-css3-list-styles-numeric.html.

Currently, we only output "PASS" if the list marker equals
its list item text for every <li> in the list. Instead, we
should output a PASS message for each <li> so that we can
ensure that we are comparing the list marker and list
item text.

  • fast/lists/resources/dump-list.js: Removed printPassedIfEmptyString() instead merged pass message into testListItemMarkerEqualsListItemText(). (filterListsWithReplacement): Removed support for a post filter function as this is not needed anymore. (testListItemMarkerEquals): Added. (testListItemMarkerEqualsListItemText): Added.
  • fast/lists/w3-css3-list-styles-alphabetic-expected.txt: Rebased result.
  • fast/lists/w3-css3-list-styles-alphabetic.html: Updated to call testListItemMarkerEqualsListItemText().
  • fast/lists/w3-css3-list-styles-numeric-expected.txt: Rebased result.
  • fast/lists/w3-css3-list-styles-numeric.html: Modified JavaScript to call testListItemMarkerEquals() so that we can remove the redundant code.
20:01 Changeset [64258] by weinig@apple.com

Another Windows build fix.

  • UIProcess/API/C/WKBase.h:
  • win/WebKit2Generated.make:
19:52 Changeset [64257] by crogers@google.com

fix audio branch build

19:18 Changeset [64256] by commit-queue@webkit.org

2010-07-28 Hans Wennborg <hans@chromium.org>

Reviewed by Jeremy Orlow.

Set ENABLE_DEVICE_ORIENTATION=1 in features.gypi for chromium
https://bugs.webkit.org/show_bug.cgi?id=43122

Enable the compile-time switch for device orientation.
The switch was already enabled in features_override.gypi in the Chromium
repository (in revision 53317), and should be set here as well.

The feature is being implemented behind a run-time flag which
defaults to off in Chromium.

  • features.gypi: Set ENABLE_DEVICE_ORIENTATION=1.
19:03 Changeset [64255] by weinig@apple.com

Fix builds.

  • UIProcess/API/C/WKAPICast.h:

(WebKit::ProxyingRefPtr::operator APIType):
(toURLRef):
(toCopiedRef):
(toCopiedURLRef):

  • UIProcess/win/WebView.h:

(WebKit::WebView::type):

18:52 Changeset [64254] by victorw@chromium.org

2010-07-28 Alex Nicolaou <anicolao@chromium.org>

Reviewed by Ojan Vafai.

Set incorrect but close expectations for mask-colorspace.svg on mac
https://bugs.webkit.org/show_bug.cgi?id=43102

Blocks:

[chromium] r63450 caused some svg mask tests to fail pixel tests
https://bugs.webkit.org/show_bug.cgi?id=42403

ImageBufferCG.cpp uses CoreGraphics to do the transform of SVG masks
into LinearRGB, but only for MAC which means not for CHROMIUM, so I
have changed the #if to account for both platforms. I am assuming this
isn't in for windows because it's missing in CG itself, but I didn't
verify that.

  • platform/graphics/cg/ImageBufferCG.cpp: (WebCore::ImageBuffer::ImageBuffer):

2010-07-28 Alex Nicolaou <anicolao@chromium.org>

Reviewed by Ojan Vafai.

Set incorrect but close expectations for mask-colorspace.svg on mac
https://bugs.webkit.org/show_bug.cgi?id=43102

Blocks:

[chromium] r63450 caused some svg mask tests to fail pixel tests
https://bugs.webkit.org/show_bug.cgi?id=42403

On my Mac, after my best efforts, the mask colorspace doesn't
seem to come out right. Though the pixel values in the test
rectangle should be 111, they come out to 104, and ultimately
it is because the pixel values coming out of ImageBufferCG are
not linearized properly. Checking in this expected result because
visually the colours are close enough and I want to catch other
regressions, but if this starts to fail because the first image
has color 111,111,111 in the rectange and 76,76,76 or 78,78,78 in
the circle, the actual problem will have been corrected. (111 and
78 are the correct values).

Also removed fail expectations for those tests that are now
passing on my Mac.

  • platform/chromium/test_expectations.txt:
  • platform/mac/svg/custom/mask-colorspace-expected.checksum:
  • platform/mac/svg/custom/mask-colorspace-expected.png:
18:41 Changeset [64253] by weinig@apple.com

Patch for https://bugs.webkit.org/show_bug.cgi?id=43163
Add a CF-style base type (WKTypeRef) as a base for polymorphic functions.

Reviewed by Darin Adler.

  • Add first polymorphic function, WKGetTypeID.
  • Add functions to each WK type to get their respective TypeIDs.
  • Adds WebURL to complement WebString.
  • Shared/APIObject.h:

(WebKit::APIObject::):
(WebKit::APIObject::~APIObject):

  • Shared/ImmutableArray.h:

(WebKit::ImmutableArray::type):

  • Shared/WebString.h:

(WebKit::WebString::type):

  • Shared/WebURL.h: Added.

(WebKit::WebURL::create):
(WebKit::WebURL::type):
(WebKit::WebURL::isNull):
(WebKit::WebURL::isEmpty):
(WebKit::WebURL::string):
(WebKit::WebURL::WebURL):

  • UIProcess/API/C/WKAPICast.h:

(WebKit::ProxyingRefPtr::ProxyingRefPtr):
(WebKit::ProxyingRefPtr::operator APIType):
(toRef):
(toURLRef):
(toCopiedURLRef):

  • UIProcess/API/C/WKArray.cpp:

(WKArrayGetTypeID):

  • UIProcess/API/C/WKArray.h:
  • UIProcess/API/C/WKBackForwardList.cpp:

(WKBackForwardListGetTypeID):

  • UIProcess/API/C/WKBackForwardList.h:
  • UIProcess/API/C/WKBackForwardListItem.cpp:

(WKBackForwardListItemGetTypeID):

  • UIProcess/API/C/WKBackForwardListItem.h:
  • UIProcess/API/C/WKBase.h:
  • UIProcess/API/C/WKContext.cpp:

(WKContextGetTypeID):

  • UIProcess/API/C/WKContext.h:
  • UIProcess/API/C/WKFrame.cpp:

(WKFrameGetTypeID):

  • UIProcess/API/C/WKFrame.h:
  • UIProcess/API/C/WKFramePolicyListener.cpp:

(WKFramePolicyListenerGetTypeID):

  • UIProcess/API/C/WKFramePolicyListener.h:
  • UIProcess/API/C/WKNavigationData.cpp:

(WKNavigationDataGetTypeID):

  • UIProcess/API/C/WKNavigationData.h:
  • UIProcess/API/C/WKPage.cpp:

(WKPageGetTypeID):

  • UIProcess/API/C/WKPage.h:
  • UIProcess/API/C/WKPageNamespace.cpp:

(WKPageNamespaceGetTypeID):

  • UIProcess/API/C/WKPageNamespace.h:
  • UIProcess/API/C/WKPreferences.cpp:

(WKPreferencesGetTypeID):

  • UIProcess/API/C/WKPreferences.h:
  • UIProcess/API/C/WKString.cpp:

(WKStringGetTypeID):

  • UIProcess/API/C/WKString.h:
  • UIProcess/API/C/WKType.cpp: Added.

(WKGetTypeID):

  • UIProcess/API/C/WKType.h: Added.
  • UIProcess/API/C/WKURL.cpp:

(WKURLGetTypeID):

  • UIProcess/API/C/WKURL.h:
  • UIProcess/API/win/WKView.cpp:

(WKViewGetTypeID):

  • UIProcess/API/win/WKView.h:
  • UIProcess/WebBackForwardList.h:

(WebKit::WebBackForwardList::type):

  • UIProcess/WebBackForwardListItem.h:

(WebKit::WebBackForwardListItem::type):

  • UIProcess/WebContext.h:

(WebKit::WebContext::type):

  • UIProcess/WebFramePolicyListenerProxy.h:

(WebKit::WebFramePolicyListenerProxy::type):

  • UIProcess/WebFrameProxy.h:

(WebKit::WebFrameProxy::type):

  • UIProcess/WebNavigationData.h:

(WebKit::WebNavigationData::type):

  • UIProcess/WebPageNamespace.h:

(WebKit::WebPageNamespace::type):

  • UIProcess/WebPageProxy.h:

(WebKit::WebPageProxy::type):

  • UIProcess/WebPreferences.h:

(WebKit::WebPreferences::type):

  • WebKit2.xcodeproj/project.pbxproj:
  • WebProcess/InjectedBundle/API/c/WKBundle.cpp:

(WKBundleGetTypeID):

  • WebProcess/InjectedBundle/API/c/WKBundle.h:
  • WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:

(WKBundleFrameGetTypeID):

  • WebProcess/InjectedBundle/API/c/WKBundleFrame.h:
  • WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:

(WKBundlePageGetTypeID):
(WKBundlePageSetEditorClient):
(WKBundlePageSetLoaderClient):
(WKBundlePageSetUIClient):

  • WebProcess/InjectedBundle/API/c/WKBundlePage.h:
  • WebProcess/WebPage/WebFrame.h:

(WebKit::WebFrame::type):

  • WebProcess/WebPage/WebPage.h:

(WebKit::WebPage::type):

  • win/WebKit2.vcproj:
18:31 Changeset [64252] by tkent@chromium.org

2010-07-28 Kent Tamura <tkent@chromium.org>

Unreviewed, test expectation update.

  • Rebaseline input-appearance-spinbutton-disabled-readonly.html for Chromium-mac and Chromium-linux.
  • Remove input-number-events.html. It passes on Chromium now.
  • platform/chromium-linux/fast/forms/input-appearance-spinbutton-disabled-readonly-expected.checksum: Added.
  • platform/chromium-linux/fast/forms/input-appearance-spinbutton-disabled-readonly-expected.png: Added.
  • platform/chromium-linux/fast/forms/input-appearance-spinbutton-disabled-readonly-expected.txt: Added.
  • platform/chromium-mac/fast/forms/input-appearance-spinbutton-disabled-readonly-expected.checksum: Added.
  • platform/chromium-mac/fast/forms/input-appearance-spinbutton-disabled-readonly-expected.png: Added.
  • platform/chromium/test_expectations.txt:
18:27 Changeset [64251] by darin@apple.com

WebKitTestRunner needs to support layoutTestController.execCommand
<https://bugs.webkit.org/show_bug.cgi?id=42538>

Reviewed by Sam Weinig.

WebKitTestRunner needs layoutTestController.isCommandEnabled
<https://bugs.webkit.org/show_bug.cgi?id=42671>

WebKit2:

  • WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:

(WKBundlePageExecuteEditingCommand): Added.
(WKBundlePageIsEditingCommandEnabled): Added.

  • WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h: Ditto.
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::executeEditingCommand): Added.
(WebKit::WebPage::isEditingCommandEnabled): Added.

  • WebProcess/WebPage/WebPage.h: Ditto.

WebKitTools:

  • WebKitTestRunner/InjectedBundle/Bindings/LayoutTestController.idl:

Added execCommand and isCommandEnabled.

  • WebKitTestRunner/InjectedBundle/LayoutTestController.cpp:

(WTR::LayoutTestController::execCommand): Added.
(WTR::LayoutTestController::isCommandEnabled): Added.

  • WebKitTestRunner/InjectedBundle/LayoutTestController.h: Ditto.

LayoutTests:

  • platform/mac-wk2/Skipped: Don't skip the now-functioning tests.
17:56 Changeset [64250] by tkent@chromium.org

[Chromium] Improve read-only arrow button appearance
https://bugs.webkit.org/show_bug.cgi?id=43108

Reviewed by Darin Fisher.

No new tests. This is a fix for fast/forms/
input-appearance-spinbutton-disabled-readonly.html

  • platform/chromium/PlatformThemeChromiumGtk.cpp:

(WebCore::PlatformThemeChromiumGtk::paintArrowButton):
If the button has ReadOnlyState, paint the button as same as it is disabled.

17:54 Changeset [64249] by tkent@chromium.org

2010-07-28 Kent Tamura <tkent@chromium.org>

Reviewed by Dimitri Glazkov.

[DRT/Chromium] Introduce drt_expectations.txt for NRWT
https://bugs.webkit.org/show_bug.cgi?id=43123

  • platform/chromium/drt_expectations.txt: Added.

2010-07-28 Kent Tamura <tkent@chromium.org>

Reviewed by Dimitri Glazkov.

[DRT/Chromium] Introduce drt_expectations.txt for NRWT
https://bugs.webkit.org/show_bug.cgi?id=43123

Introduce LayoutTests/platform/chromium/drt_expectations.txt,
which overrides test expectations only for DumpRenderTree, in
order to manage what problems are investigated.
This change will be reverted when we switch to DRT completely.

  • Scripts/webkitpy/layout_tests/port/chromium.py: Add drt_expectations.txt content to the result of test_expectations_overrides() if --use-drt is specified.
17:51 Changeset [64248] by andersca@apple.com

Fix 64-bit build.

  • WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:

(WebKit::NPN_GetValue):

17:41 Changeset [64247] by beidson@apple.com

2010-07-28 Brady Eidson <beidson@apple.com>

Reviewed by Darin Adler.

First pass at visited link support for WK2
https://bugs.webkit.org/show_bug.cgi?id=43157

  • MiniBrowser/mac/AppDelegate.m: (didNavigateWithNavigationData): (didPerformClientRedirect): (didPerformServerRedirect): (didUpdateHistoryTitle): (populateVisitedLinks): Added for the new version of the HistoryClient. (-[BrowserAppDelegate init]): Set the HistoryClient right after creating the context(s)


  • MiniBrowser/mac/BrowserWindowController.m: (-[BrowserWindowController awakeFromNib]):

2010-07-28 Brady Eidson <beidson@apple.com>

Reviewed by Darin Adler.

First pass at visited link support for WK2
https://bugs.webkit.org/show_bug.cgi?id=43157

  • Shared/CoreIPCSupport/WebPageProxyMessageKinds.h: (WebPageProxyMessage::):
  • Shared/CoreIPCSupport/WebProcessMessageKinds.h: (WebProcessMessage::):
  • Shared/CoreIPCSupport/WebProcessProxyMessageKinds.h: (WebProcessProxyMessage::):

Move HistoryClient support from the page...:

  • UIProcess/API/C/WKPage.cpp:
  • UIProcess/API/C/WKPage.h:


...to the Context

  • UIProcess/API/C/WKContext.cpp: (WKContextSetHistoryClient):
  • UIProcess/API/C/WKContext.h:
  • UIProcess/WebContext.cpp: (WebKit::WebContext::initializeHistoryClient): (WebKit::WebContext::ensureWebProcess): When a new WebProcess is created, set its "should track visited links" mode. (WebKit::WebContext::didNavigateWithNavigationData): (WebKit::WebContext::didPerformClientRedirect): (WebKit::WebContext::didPerformServerRedirect): (WebKit::WebContext::didUpdateHistoryTitle): (WebKit::WebContext::populateVisitedLinks):
  • UIProcess/WebContext.h: (WebKit::WebContext::hasValidProcess):
  • UIProcess/WebHistoryClient.cpp: (WebKit::WebHistoryClient::initialize): (WebKit::WebHistoryClient::didNavigateWithNavigationData): (WebKit::WebHistoryClient::didPerformClientRedirect): (WebKit::WebHistoryClient::didPerformServerRedirect): (WebKit::WebHistoryClient::didUpdateHistoryTitle): (WebKit::WebHistoryClient::populateVisitedLinks):
  • UIProcess/WebHistoryClient.h: (WebKit::WebHistoryClient::shouldTrackVisitedLinks):
  • UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::didReceiveMessage):
  • UIProcess/WebPageProxy.h:
  • UIProcess/WebProcessProxy.cpp: (WebKit::WebProcessProxy::didReceiveMessage): (WebKit::WebProcessProxy::didReceiveSyncMessage):
  • WebProcess/WebCoreSupport/WebChromeClient.cpp: (WebKit::WebChromeClient::populateVisitedLinks):
  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: (WebKit::WebFrameLoaderClient::updateGlobalHistory): (WebKit::WebFrameLoaderClient::updateGlobalHistoryRedirectLinks): (WebKit::WebFrameLoaderClient::setTitle):
  • WebProcess/WebProcess.cpp: (WebKit::WebProcess::didReceiveMessage):
17:26 WebKitGtkLayoutTests edited by mrobinson@webkit.org
(diff)
17:25 WebKitGtkLayoutTests edited by mrobinson@webkit.org
Fix depth argument to Xvfb (16 -> 24) (diff)
17:14 Changeset [64246] by andersca@apple.com

Implement NPN_InvokeDefault and NPN_Construct
https://bugs.webkit.org/show_bug.cgi?id=43160

Reviewed by Sam Weinig.

WebKit2:

  • WebProcess/Plugins/NPJSObject.cpp:

(WebKit::NPJSObject::invoke):
Just call invoke directly.

(WebKit::NPJSObject::invokeDefault):
Call invoke.

(WebKit::NPJSObject::construct):
Implement this.

(WebKit::NPJSObject::invoke):
Add new invoke overload that takes the function as a JSValue.

(WebKit::NPJSObject::npClass):
Add NP_Construct.

(WebKit::NPJSObject::NP_InvokeDefault):
Call NPJSObject::invokeDefault.

(WebKit::NPJSObject::NP_Construct):
Call NPJSObject::construct.

  • WebProcess/Plugins/NPJSObject.h:
  • WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:

(WebKit::NPN_GetValue):
Handle the Core Animation drawing model and the Carbon event model.

(WebKit::NPN_InvokeDefault):
Call the NPClass::invokeDefault function.

(WebKit::NPN_Construct):
Call the NPClass::construct function.

LayoutTests:

  • platform/mac-wk2/Skipped:

Remove plugins/npruntime/invoke-default.html

16:45 Changeset [64245] by kim.1.gronholm@nokia.com

2010-07-28 Kim Grönholm <kim.1.gronholm@nokia.com>

Reviewed by Antonio Gomes.

[Qt] Decouple QTouchEvent's accepted flag from JS prevent default
https://bugs.webkit.org/show_bug.cgi?id=42892

Added comments to the touch event handling code.

  • Api/qgraphicswebview.cpp: (QGraphicsWebView::sceneEvent):
  • Api/qwebpage.cpp: (QWebPagePrivate::touchEvent): (QWebPage::event):
  • Api/qwebpage_p.h:
  • Api/qwebview.cpp: (QWebView::event):
16:38 Changeset [64244] by andersca@apple.com

Implement NPN_Invoke
https://bugs.webkit.org/show_bug.cgi?id=43158

Reviewed by Sam Weinig.

WebKit2:

  • WebProcess/Plugins/NPJSObject.cpp:

(WebKit::NPJSObject::hasMethod):
Use the free getCallData function.

(WebKit::NPJSObject::invoke):
Get the JavaScript function and call it.

(WebKit::NPJSObject::NP_Invoke):
Call NPJSObject::invoke.

  • WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:

(WebKit::NPN_Invoke):
Call the NPClass::invoke function.

LayoutTests:

  • platform/mac-wk2/Skipped:

Remove plugins/npruntime/invoke.html.

16:32 Changeset [64243] by darin@chromium.org

2010-07-28 Gene Gutnik <gene@google.com>

Reviewed by Darin Fisher.

Fix mouse coordinate conversion. WindowX,Y is an absolute
mouse coordinates within browser window, x,y - are coordinates
relative to the plugin.
https://bugs.webkit.org/show_bug.cgi?id=42987

  • src/WebInputEventConversion.cpp: (WebKit::WebMouseEventBuilder::WebMouseEventBuilder): (WebKit::WebMouseWheelEventBuilder::WebMouseWheelEventBuilder):
  • src/WebInputEventConversion.h:
  • src/WebPluginContainerImpl.cpp: (WebKit::WebPluginContainerImpl::handleMouseEvent): (WebKit::WebPluginContainerImpl::handleWheelEvent):
16:21 Changeset [64242] by tony@chromium.org

2010-07-28 Tony Chang <tony@chromium.org>

Reviewed by Ojan Vafai.

implement getData('text/html') for webkit win
https://bugs.webkit.org/show_bug.cgi?id=37981

  • platform/win/Skipped: 2 tests now pass

2010-07-28 Tony Chang <tony@chromium.org>

Reviewed by Ojan Vafai.

implement getData('text/html') for webkit win
https://bugs.webkit.org/show_bug.cgi?id=37981

  • platform/win/ClipboardUtilitiesWin.cpp: (WebCore::extractMarkupFromCFHTML): (WebCore::getCFHTML): (WebCore::fragmentFromCFHTML): (WebCore::fragmentFromHTML):
  • platform/win/ClipboardUtilitiesWin.h:
  • platform/win/ClipboardWin.cpp: (WebCore::): (WebCore::clipboardTypeFromMIMEType): (WebCore::ClipboardWin::getData):
16:18 Changeset [64241] by commit-queue@webkit.org

2010-07-28 Alex Nicolaou <anicolao@chromium.org>

Reviewed by Darin Adler.

mask-colorspace.svg result for chromium-linux
https://bugs.webkit.org/show_bug.cgi?id=43100

blocking:

[chromium] r63450 caused some svg mask tests to fail pixel tests
https://bugs.webkit.org/show_bug.cgi?id=42403

New expectations and baseline for mask-colorspace on Linux that
reflect my idea of what should be the passing output as of when
I wrote the original patch. In fact the inner circle should be
78,78,78 instead of 76,76,76 but while I sort out the broken
baselines I'm going to consider this an improvement; at least
the two images match each other as intended in the original test.

  • platform/chromium-linux/svg/custom/mask-colorspace-expected.checksum: Added.
  • platform/chromium-linux/svg/custom/mask-colorspace-expected.png: Added.
  • platform/chromium/test_expectations.txt:
16:03 Changeset [64240] by andersca@apple.com

Implement NPN_HasMethod
https://bugs.webkit.org/show_bug.cgi?id=43155

Reviewed by Sam Weinig.

WebKit2:

  • WebProcess/Plugins/NPJSObject.cpp:

(WebKit::NPJSObject::hasMethod):
Check if the JSObject has a property with the given name. If it does, check that the value is a function.

(WebKit::NPJSObject::hasProperty):
Add a JSLock.

(WebKit::NPJSObject::npClass):
Add some stubbed out functions.

(WebKit::NPJSObject::NP_HasMethod):
Call NPJSObject::hasMethod.

(WebKit::NPJSObject::NP_Invoke):
(WebKit::NPJSObject::NP_InvokeDefault):
(WebKit::NPJSObject::NP_SetProperty):
Stub out functions.

  • WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:

(WebKit::NPN_HasMethod):
Call the NPClass::hasMethod function.

LayoutTests:

  • platform/mac-wk2/Skipped:

Remove plugins/npruntime/invoke-browserfuncs.html.

15:50 Changeset [64239] by kevino@webkit.org

[wx] wxPython build fix that was missed in last commit.

15:39 Changeset [64238] by beidson@apple.com

Make sure new pages are always added to the same PageGroup (for now).

Rubberstamped by Sam Weinig.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::WebPage):

15:31 Changeset [64237] by abarth@webkit.org

2010-07-28 Adam Barth <abarth@webkit.org>

Reviewed by Eric Seidel.

Update numbered header element closing to match recent spec change
https://bugs.webkit.org/show_bug.cgi?id=43072

  • html5lib/runner-expected-html5.txt:

2010-07-28 Adam Barth <abarth@webkit.org>

Reviewed by Eric Seidel.

Update numbered header element closing to match recent spec change
https://bugs.webkit.org/show_bug.cgi?id=43072

Pretty straightforward transcription of the spec change.

  • html/HTMLElementStack.cpp: (WebCore::HTMLNames::isNumberedHeaderElement): (WebCore::HTMLElementStack::popUntilNumberedHeaderElementPopped): (WebCore::HTMLElementStack::hasOnlyHTMLElementsInScope): (WebCore::HTMLElementStack::hasNumberedHeaderElementInScope):
  • html/HTMLElementStack.h:
  • html/HTMLTreeBuilder.cpp: (WebCore::HTMLTreeBuilder::HTMLTreeBuilder): (WebCore::HTMLTreeBuilder::processEndTagForInBody):
15:15 Changeset [64236] by kevino@webkit.org

[wx] Build fix after recent changes.

15:09 Changeset [64235] by andersca@apple.com

Implement JSNPObject::put
https://bugs.webkit.org/show_bug.cgi?id=43149

Reviewed by Sam Weinig.

WebKit2:

  • WebProcess/Plugins/JSNPObject.cpp:

(WebKit::JSNPObject::getOwnPropertySlot):
Fix a typo.

(WebKit::JSNPObject::getOwnPropertyDescriptor):
Implement this in the same way as it's implemented in RuntimeObject.

(WebKit::JSNPObject::put):
Implement this, call NPClass::setProperty.

  • WebProcess/Plugins/JSNPObject.h:

LayoutTests:

  • platform/mac-wk2/Skipped:

Remove now passing tests.

14:55 Changeset [64234] by eric@webkit.org

2010-07-28 Eric Seidel <eric@webkit.org>

No review. Skipping test to restore peace and justice.

REGRESSION(63862): animations/play-state.html fails intermittently
https://bugs.webkit.org/show_bug.cgi?id=42821

  • platform/mac/Skipped:
    • Attempt to staunch the bleeding by skipping this flake-zor.
14:51 UsingGitWithWebKit edited by dimich@chromium.org
(diff)
14:47 Changeset [64233] by victorw@chromium.org

2010-07-28 Victor Wang <victorw@chromium.org>

Unreviewed. Add chromium baselines for test:
fast/table/early-table-layout

  • platform/chromium-linux/fast/table/early-table-layout-expected.checksum: Added.
  • platform/chromium-linux/fast/table/early-table-layout-expected.png: Added.
  • platform/chromium-mac/fast/table/early-table-layout-expected.checksum: Added.
  • platform/chromium-mac/fast/table/early-table-layout-expected.png: Added.
  • platform/chromium-mac/fast/table/early-table-layout-expected.txt: Added.
  • platform/chromium-win/fast/table/early-table-layout-expected.checksum: Added.
  • platform/chromium-win/fast/table/early-table-layout-expected.png: Added.
  • platform/chromium-win/fast/table/early-table-layout-expected.txt: Added.
14:42 Changeset [64232] by weinig@apple.com

Patch for https://bugs.webkit.org/show_bug.cgi?id=43097
Make all objects in the WebKit2 API inherit from a single base class

Reviewed by Anders Carlsson.

  • Adds an APIObject base class for all objects which can get vender through the C API to inherit from.
  • Adds a WebString class which wraps WebCore::String for now. I am not too fond of this solution, so we continue should iterate on it.
  • This is a first step toward make a CF-style base type (eg. CFTypeRef) for the C-API.
  • Shared/APIObject.h: Added.

(WebKit::APIObject::APIObject):
Base class for API objects.

  • Shared/ImmutableArray.h:

Make inherit from APIObject.

  • Shared/WebString.h: Added.

(WebKit::WebString::create):
(WebKit::WebString::isNull):
(WebKit::WebString::isEmpty):
(WebKit::WebString::string):
(WebKit::WebString::WebString):
Wraps a WebCore::String so that it can be passed out to the API
and still inherit from APIObject.

  • UIProcess/API/C/WKAPICast.h:

(WebKit::WebStringAdaptor::WebStringAdaptor):
(WebKit::WebStringAdaptor::operator WKStringRef):
(WebKit::WebStringAdaptor::operator WKURLRef):
Update conversion methods to deal in terms of WebStrings. Added WebStringAdaptor
to ease passing strings to client functions.

  • UIProcess/API/C/WKContext.cpp:

(WKContextCreateWithInjectedBundlePath):
(WKContextPostMessageToInjectedBundle):
(_WKContextSetAdditionalPluginPath):
(_WKContextRegisterURLSchemeAsEmptyDocument):
Get the WebCore::String from the WebString.

  • UIProcess/API/C/WKPage.cpp:

(WKPageLoadURL):
Ditto.

  • UIProcess/API/C/WKString.cpp:

(WKStringIsEmpty):
Implement in terms of WebString.

  • UIProcess/API/C/WKURL.cpp:
  • UIProcess/API/C/cf/WKStringCF.cpp:

(WKStringCreateWithCFString):
(WKStringCopyCFString):
Ditto.

  • UIProcess/API/C/cf/WKURLCF.cpp:

(WKURLCreateWithCFURL):
(WKURLCopyCFURL):
Ditto.

  • UIProcess/WebBackForwardList.h:

Make inherit from APIObject.

  • UIProcess/WebBackForwardListItem.h:

Ditto.

  • UIProcess/WebContext.cpp:

(WebKit::WebContext::didReceiveMessageFromInjectedBundle):
(WebKit::WebContext::postMessageToInjectedBundle):
(WebKit::WebContext::registerURLSchemeAsEmptyDocument):
Use String instead of StringImpl to be consistent.

  • UIProcess/WebContext.h:

Make inherit from APIObject.

  • UIProcess/WebFramePolicyListenerProxy.h:

Ditto.

  • UIProcess/WebFrameProxy.h:

Ditto.

  • UIProcess/WebNavigationData.h:

Ditto.

  • UIProcess/WebPageNamespace.h:

Ditto.

  • UIProcess/WebPageProxy.h:

Ditto.

  • UIProcess/WebPreferences.h:

Ditto.

  • UIProcess/WebUIClient.cpp:

(WebKit::WebUIClient::runJavaScriptPrompt):
Implement in terms of WebString.

  • UIProcess/win/WebView.h:

Make inherit from APIObject.

  • WebKit2.xcodeproj/project.pbxproj:

Add new files.

  • WebProcess/InjectedBundle/API/c/WKBundle.cpp:

(WKBundlePostMessage):
Get the WebCore::String from the WebString.

  • WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:

(WKBundleFramePauseAnimationOnElementWithId):
Ditto.

  • WebProcess/InjectedBundle/InjectedBundle.cpp:

(WebKit::InjectedBundle::postMessage):

  • WebProcess/InjectedBundle/InjectedBundle.h:

Use String instead of StringImpl to be consistent.

  • WebProcess/WebPage/WebFrame.h:

Make inherit from APIObject.

  • WebProcess/WebPage/WebPage.h:

Make inherit from APIObject.

  • win/WebKit2.vcproj:

Add new files.

14:30 Changeset [64231] by andersca@apple.com

Add support for calling NPObject methods
https://bugs.webkit.org/show_bug.cgi?id=43145

Reviewed by Sam Weinig.

WebCore:

  • WebCore.exp.in:

Export JSHTMLElement::s_info and pluginScriptObject.

  • WebCore.xcodeproj/project.pbxproj:

Make JSHTMLElement.h and JSPluginElementFunctions.h private headers.

  • bindings/js/JSPluginElementFunctions.cpp:

(WebCore::pluginScriptObject):

  • bindings/js/JSPluginElementFunctions.h:

Make pluginScriptObject a public function.

WebKit2:

  • WebKit2.xcodeproj/project.pbxproj:

Add JSNPMethod.cpp and JSNPMethod.h

  • WebProcess/Plugins/JSNPMethod.cpp: Added.
  • WebProcess/Plugins/JSNPMethod.h: Added.
  • WebProcess/Plugins/JSNPObject.cpp:

(WebKit::):
Add a ClassInfo static variable for JSNPObject.

(WebKit::JSNPObject::callMethod):
Convert the passed in arguments, call the method and convert the result back.

(WebKit::JSNPObject::getOwnPropertySlot):
Check if the NPObject has a method.

(WebKit::JSNPObject::methodGetter):
Return a new JSNPMethod.

  • WebProcess/Plugins/JSNPObject.h:

(WebKit::JSNPObject::classInfo):
Return the s_info.

  • WebProcess/Plugins/NPJSObject.cpp:

(WebKit::NPJSObject::getProperty):
Get the property from the JSObject.

  • WebProcess/Plugins/NPRuntimeObjectMap.cpp:

(WebKit::NPRuntimeObjectMap::convertJSValueToNPVariant):
Convert the given JSValue to an NPVariant.

  • win/WebKit2.vcproj:

Add JSNPMethod.cpp and JSNPMethod.h

LayoutTests:

  • platform/mac-wk2/Skipped:

Remove plugins/npruntime/get-int-identifier-special-values.html since it passes now.

14:18 Changeset [64230] by jamesr@google.com

2010-07-28 James Robinson <jamesr@chromium.org>

Reviewed by Darin Fisher.

[chromium] Add a bool to Settings to control accelerated 2d canvas
https://bugs.webkit.org/show_bug.cgi?id=43094

  • public/WebSettings.h:
  • src/WebSettingsImpl.cpp: (WebKit::WebSettingsImpl::setAccelerated2dCanvasEnabled):
  • src/WebSettingsImpl.h:

2010-07-28 James Robinson <jamesr@chromium.org>

Reviewed by Darin Fisher.

[chromium] Add a bool to Settings to control accelerated 2d canvas
https://bugs.webkit.org/show_bug.cgi?id=43094

Currently this doesn't control anything, but it will soon.

  • page/Settings.cpp: (WebCore::Settings::Settings): (WebCore::Settings::setAccelerated2dCanvasEnabled):
  • page/Settings.h: (WebCore::Settings::accelerated2dCanvasEnabled):
13:51 Changeset [64229] by kevino@webkit.org

Reviewed by Kevin Ollivier.

Add DOM bindings support for wx port.

13:47 WebKitGtkLayoutTests edited by mrobinson@webkit.org
(diff)
13:46 WebKitGtkLayoutTests edited by mrobinson@webkit.org
(diff)
13:45 WebKitGtkLayoutTests edited by mrobinson@webkit.org
Added some further information about running layout tests (diff)
13:41 WebKitGtkLayoutTests created by mrobinson@webkit.org
13:41 Changeset [64228] by victorw@chromium.org

2010-07-28 Victor Wang <victorw@chromium.org>

Unreviewed. Fix chromium test expectations:
Remove duplicate expectation for test:
tables/mozilla/other/slashlogo.html

  • platform/chromium/test_expectations.txt:
13:24 WebKitGTK edited by mrobinson@webkit.org
(diff)
13:23 WebKitGTK edited by mrobinson@webkit.org
(diff)
13:21 Changeset [64227] by senorblanco@chromium.org

2010-07-28 Stephen White <senorblanco@chromium.org>

Reviewed by Darin Fisher.

Hook the GLES2 rendering path up to GraphicsContextSkia.
https://bugs.webkit.org/show_bug.cgi?id=43119


This connects the state-setting and drawing calls implemented in
so far in GLES2Canvas, and calls PlatformContextSkia's
prepareForSoftwareDraw() for all the non-accelerated paths.

  • platform/graphics/skia/GraphicsContextSkia.cpp: (WebCore::GraphicsContext::addInnerRoundedRectClip): (WebCore::GraphicsContext::addPath): (WebCore::GraphicsContext::beginPath): (WebCore::GraphicsContext::clip): (WebCore::GraphicsContext::drawConvexPolygon): (WebCore::GraphicsContext::drawEllipse): (WebCore::GraphicsContext::drawFocusRing): (WebCore::GraphicsContext::drawLine): (WebCore::GraphicsContext::drawLineForMisspellingOrBadGrammar): (WebCore::GraphicsContext::drawLineForText): (WebCore::GraphicsContext::drawRect): (WebCore::GraphicsContext::fillPath): (WebCore::GraphicsContext::fillRoundedRect): (WebCore::GraphicsContext::strokeArc): (WebCore::GraphicsContext::strokePath): (WebCore::GraphicsContext::strokeRect): These calls are software-only; call preSoftwareDraw() for these. (WebCore::GraphicsContext::savePlatformState): (WebCore::GraphicsContext::restorePlatformState): (WebCore::GraphicsContext::setAlpha): (WebCore::GraphicsContext::setCompositeOperation): (WebCore::GraphicsContext::setPlatformFillColor): (WebCore::GraphicsContext::scale): (WebCore::GraphicsContext::rotate): (WebCore::GraphicsContext::translate): (WebCore::GraphicsContext::concatCTM): These ones set state on both Skia and GLES2Canvas. (WebCore::GraphicsContext::clearRect): (WebCore::GraphicsContext::fillRect): These ones have a GLES2 implementation; call through to it if PlatformContextSkia's useGPU() flag is set and the state permits.
  • platform/graphics/skia/PlatformContextSkia.cpp: (PlatformContextSkia::prepareForSoftwareDraw): (PlatformContextSkia::prepareForHardwareDraw): Rename preXXXDraw() -> prepareForXXXDraw().
  • platform/graphics/skia/PlatformContextSkia.h: (PlatformContextSkia::prepareForSoftwareDraw): (PlatformContextSkia::prepareForHardwareDraw): Rename preXXXDraw() -> prepareForXXXDraw().
13:12 Changeset [64226] by crogers@google.com

another audio branch build fix

13:07 Changeset [64225] by jamesr@google.com

2010-07-28 fsamuel@chromium.org <fsamuel@chromium.org>

Reviewed by David Hyatt.

REGRESSION (r63994): Bank of America's home page is horribly mis-rendered
https://bugs.webkit.org/show_bug.cgi?id=42993

Fixed bug introduced by patch for bug 40775.

The new table rendering code did not take into account table layouts starting
during a partial construction of the table render tree. As such,
multiple layouts on the same table resulted in more columns being generated.
This patch solves this issue.

  • rendering/AutoTableLayout.cpp: (WebCore::AutoTableLayout::recalcColumn):
  • rendering/RenderTable.cpp: (WebCore::RenderTable::cellAbove): (WebCore::RenderTable::cellBelow): (WebCore::RenderTable::cellBefore):
  • rendering/RenderTableSection.cpp: (WebCore::RenderTableSection::ensureRows): (WebCore::RenderTableSection::addCell): (WebCore::RenderTableSection::setCellWidths): (WebCore::RenderTableSection::calcRowHeight): (WebCore::RenderTableSection::layoutRows): (WebCore::RenderTableSection::paintObject): (WebCore::RenderTableSection::appendColumn): (WebCore::RenderTableSection::splitColumn):
  • rendering/RenderTableSection.h: (WebCore::RenderTableSection::CellStruct::CellStruct):

2010-07-28 fsamuel@chromium.org <fsamuel@chromium.org>

Reviewed by David Hyatt.

REGRESSION (r63994): Bank of America's home page is horribly mis-rendered
https://bugs.webkit.org/show_bug.cgi?id=42993

Restored the expectation for the slashdot logo table test.

Added a new layout test to check for the correctness of early table layout.

  • fast/table/early-table-layout.html: Added.
  • platform/chromium/test_expectations.txt:
  • platform/gtk/fast/table/early-table-layout-expected.checksum: Added.
  • platform/gtk/fast/table/early-table-layout-expected.png: Added.
  • platform/gtk/fast/table/early-table-layout-expected.txt: Added.
12:54 Changeset [64224] by aroben@apple.com

Teach CoreIPC how to handle with a pipe closing during a write

Fixes <http://webkit.org/b/43131> Assertion failure in
Connection::sendOutgoingMessage if the other process exits at just the
wrong time

Reviewed by Darin Adler.

  • Platform/CoreIPC/win/ConnectionWin.cpp:

(CoreIPC::Connection::sendOutgoingMessage): If ::WriteFile fails with
ERROR_NO_DATA, the pipe (and thus the connection) has closed.

12:54 Changeset [64223] by aroben@apple.com

Teach CoreIPC the right way to send large messages on Windows

r63776 added support for ::WriteFile failing with ERROR_IO_PENDING,
but it had a major flaw: we didn't ensure that the data being sent
(which is owned by the ArgumentEncoder) stayed around until the write
finished. We'd destroy the data immediately, leading to ::WriteFile
accessing that freed memory later. This seemed to always manifest
itself as a crash in ::WaitForMultipleObjects.

The correct solution (as hinted above) is to make sure that the data
being written is not destroyed until the write completes. When
::WriteFile fails with ERROR_IO_PENDING, we store the data being sent
in Connection::m_pendingWriteArguments, and don't send any more
messages until that write completes. We use an event in the OVERLAPPED
structure passed to ::WriteFile to detect when the write has completed
(similar to what we do for reads).

Fixes <http://webkit.org/b/42785> <rdar://problem/8218522> Crash in
WebKit2WebProcess in WaitForMultipleObjects beneath
WorkQueue::workQueueThreadBody when running tests that produce a lot
of output

Reviewed by Anders Carlsson.

  • Platform/CoreIPC/Connection.cpp:

(CoreIPC::Connection::canSendOutgoingMessages): Added. This calls out
to a platform-specific function to allow each platform to have its own
policy for when messages can and can't be sent.
(CoreIPC::Connection::sendOutgoingMessages): Use the new
canSendOutgoingMessages to determine whether we can send any messages
right now. We now remove one message at a time from m_outgoingMessages
and send it. We stop sending messages when sendOutgoingMessage returns
false.

  • Platform/CoreIPC/Connection.h: Added m_pendingWriteArguments and

m_writeState on Windows.
(CoreIPC::Connection::Message::Message): Added this default
constructor.

  • Platform/CoreIPC/MessageID.h:

(CoreIPC::MessageID::MessageID): Made the default constructor public
for Message's benefit.

  • Platform/CoreIPC/mac/ConnectionMac.cpp:

(CoreIPC::Connection::platformCanSendOutgoingMessages): Added. Always
returns true.
(CoreIPC::Connection::sendOutgoingMessage): Changed to return a
boolean indicating whether more messages can be sent at this time.

  • Platform/CoreIPC/qt/ConnectionQt.cpp:

(CoreIPC::Connection::platformCanSendOutgoingMessages): Added. Returns
true if we have a socket.
(CoreIPC::Connection::sendOutgoingMessage): Changed a null-check of
m_socket to an assertion since it should be checked for null in
platformCanSendOutgoingMessages. Changed to return a boolean
indicating whether more messages can be sent at this time.

  • Platform/CoreIPC/win/ConnectionWin.cpp:

(CoreIPC::Connection::platformInitialize): Added initialization of
m_writeState.
(CoreIPC::Connection::platformInvalidate): Close m_writeState's event
handle.
(CoreIPC::Connection::writeEventHandler): Added. Checks if the pending
write has completed, cleans up our pending write state, and sends any
remaining messages.
(CoreIPC::Connection::open): Register our write event with the
WorkQueue so that writeEventHandler will be called when the event is
signaled.
(CoreIPC::Connection::platformCanSendOutgoingMessages): Added. We can
only send messages if there isn't a write pending.
(CoreIPC::Connection::sendOutgoingMessage): Changed to return a
boolean indicating whether more messages can be sent at this time. We
now pass m_writeState to ::WriteFile instead of an empty OVERLAPPED
struct so that our write event will be signaled when the write
completes. We also no longer pass a pointer to receive how many bytes
were written, as recommended by MSDN. If ::WriteFile fails with
ERROR_IO_PENDING, we save the ArgumentEncoder for this message and
return false to indicate that no more messages can be sent at this
time.

12:53 Changeset [64222] by crogers@google.com

Fix audio branch build

12:53 Changeset [64221] by aroben@apple.com

Stop leaking Connection::m_readState.hEvent on Windows

Fixes <http://webkit.org/b/43129> CoreIPC::Connection leaks its read
event on Windows

Reviewed by Darin Adler.

  • Platform/CoreIPC/win/ConnectionWin.cpp:

(CoreIPC::Connection::platformInvalidate): Close the event handle.

12:44 Changeset [64220] by brettw@chromium.org

2010-07-28 Brett Wilson <brettw@chromium.org>

Reviewed by Darin Fisher.

Fix forward declares to be struct instead of class.
https://bugs.webkit.org/show_bug.cgi?id=43127

  • public/WebFont.h:
12:23 Changeset [64219] by tony@chromium.org

2010-07-28 Tony Chang <tony@chromium.org>

Reviewed by Kent Tamura.

[chromium] cleanup temp files left by Linux DRT
https://bugs.webkit.org/show_bug.cgi?id=43062

  • BuildSlaveSupport/build.webkit.org-config/config.json: Rename the chromium bots to include the OS
  • BuildSlaveSupport/build.webkit.org-config/master.cfg: add a step on chromium-linux to delete temp files left

by crashed DRTs

12:20 Changeset [64218] by victorw@chromium.org

2010-07-28 Victor Wang <victorw@chromium.org>

Unreviewed. Update chromium test expectations for tesst that
may crash on mac or linux:
fast/dom/prototype-inheritance-2.html

  • platform/chromium/test_expectations.txt:
12:16 Changeset [64217] by tonikitoo@webkit.org

2010-07-28 Antonio Gomes <tonikitoo@webkit.org>

Rubber-stamped by Kenneth Christiansen.

More Developer menu items reordering.

Grouping related menu items together, visually and logically (in the code).

No behavior change.

  • QtTestBrowser/main.cpp:
12:04 Changeset [64216] by crogers@google.com

Add DelayNode variable audio delay effect

  • currently limited to no more than one second delay, but not difficult to increase limit
12:04 Changeset [64215] by crogers@google.com

Add AudioChannelSplitter and AudioChannelMerger classes

  • works with the limited testing so far
  • currently hard-coded to limit of no more than six channels (sufficient for up to 5.1) but can easily be increased
11:31 Changeset [64214] by victorw@chromium.org

2010-07-28 Victor Wang <victorw@chromium.org>

Unreviewed. Update chromium test expectations for test:
storage/indexeddb/objectstore-basics.html

  • storage/indexeddb/objectstore-basics-expected.txt:
11:18 WebKit Team edited by noam.rosenthal@nokia.com
(diff)
11:17 WebKit Team edited by noam.rosenthal@nokia.com
(diff)
11:04 WebKitGTK edited by mrobinson@webkit.org
Small cleanups (diff)
11:01 WebKitGTK edited by mrobinson@webkit.org
Added information about filing bugs against WebKitGTK (diff)
10:54 Changeset [64213] by tonyg@chromium.org

2010-07-28 Tony Gentilcore <tonyg@chromium.org>

Reviewed by Pavel Feldman.

Exclude DNS and SSL time from connect time
https://bugs.webkit.org/show_bug.cgi?id=43083

The ResourceLoadTiming API's definition of the connect phase includes
DNS and SSL time. However, the Web Timing spec wants just the TCP time.
So this patch subtracts those phases out.

No new tests because ResourceLoadTiming fields are not populated by
TestShell yet.

  • page/Timing.cpp: (WebCore::Timing::connectStart): (WebCore::Timing::connectEnd):
10:40 Changeset [64212] by andreip@google.com

2010-07-28 Andrei Popescu <andreip@google.com>

Reviewed by Jeremy Orlow.

The text expectations for storage/objectore-basics.html are out of date
https://bugs.webkit.org/show_bug.cgi?id=43126

Following http://trac.webkit.org/changeset/64209
the objectstore-basics-expected.txt file should be updated to reflect
the new tests.

  • storage/indexeddb/objectstore-basics-expected.txt:
10:17 Changeset [64211] by pfeldman@chromium.org

2010-07-28 Pavel Feldman <pfeldman@chromium.org>

Reviewed by Dimitri Glazkov.

Chromium DevTools: [REGRESSION] sourceURL is not respected.

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

  • src/js/DebuggerScript.js:
09:34 Changeset [64210] by andreip@google.com

2010-07-28 Andrei Popescu <andreip@google.com>

Reviewed by Jeremy Orlow.

Skip IDBKeyRange from the prototype-inheritance layout test.
IDBKeyRange is a DOM object and, with V8, it seems that such objects
do not respect the prototype inheritance.

Once IndexedDatabase is done, we should remove indexedDB and IDBKeyRange
from the list of skipped window properties and we should update the
Chromium and Android test expectations.

fast/dom/prototype-inheritance.html fails from r64141
https://bugs.webkit.org/show_bug.cgi?id=43067

  • fast/dom/script-tests/prototype-inheritance.js:
  • platform/chromium/test_expectations.txt:
09:27 Changeset [64209] by andreip@google.com

2010-07-28 Andrei Popescu <andreip@google.com>

Reviewed by Jeremy Orlow.

[IndexedDB] WebDOMStringList default ctor does not initialize its m_private member
variable so any attempt to append strings to a WebDOMStringList instance results in a crash.
https://bugs.webkit.org/show_bug.cgi?id=43120

  • storage/indexeddb/script-tests/objectstore-basics.js: (openSuccess): (createSuccess):

2010-07-28 Andrei Popescu <andreip@google.com>

Reviewed by Jeremy Orlow.

[IndexedDB] WebDOMStringList default ctor does not initialize its m_private member
variable so any attempt to append strings to a WebDOMStringList instance results in a crash.
https://bugs.webkit.org/show_bug.cgi?id=43120

Makes the default WebKit::WebDOMStringList ctor actually create its wrapped
WebCore::DOMStringList instance.

  • public/WebDOMStringList.h:
  • src/WebDOMStringList.cpp: (WebKit::WebDOMStringList::WebDOMStringList):
09:13 Changeset [64208] by steveblock@google.com

2010-07-26 Steve Block <steveblock@google.com>

Reviewed by Jeremy Orlow.

Page clients should be passed to Page constructor via structure of pointers
https://bugs.webkit.org/show_bug.cgi?id=42834

  • src/WebViewImpl.cpp: (WebKit::WebViewImpl::WebViewImpl):

2010-07-26 Steve Block <steveblock@google.com>

Reviewed by Jeremy Orlow.

Page clients should be passed to Page constructor via structure of pointers
https://bugs.webkit.org/show_bug.cgi?id=42834

  • Api/qwebpage.cpp: (QWebPagePrivate::QWebPagePrivate):

2010-07-26 Steve Block <steveblock@google.com>

Reviewed by Jeremy Orlow.

Page clients should be passed to Page constructor via structure of pointers
https://bugs.webkit.org/show_bug.cgi?id=42834

  • webkit/webkitwebview.cpp: (webkit_web_view_init):

2010-07-26 Steve Block <steveblock@google.com>

Reviewed by Jeremy Orlow.

Page clients should be passed to Page constructor via structure of pointers
https://bugs.webkit.org/show_bug.cgi?id=42834

  • WebView.cpp: (WebView::initWithFrame):

2010-07-26 Steve Block <steveblock@google.com>

Reviewed by Jeremy Orlow.

Page clients should be passed to Page constructor via structure of pointers
https://bugs.webkit.org/show_bug.cgi?id=42834

  • WebView.cpp: (wxWebView::Create):

2010-07-26 Steve Block <steveblock@google.com>

Reviewed by Jeremy Orlow.

Page clients should be passed to Page constructor via structure of pointers
https://bugs.webkit.org/show_bug.cgi?id=42834

  • WebView/WebView.mm: (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):

2010-07-26 Steve Block <steveblock@google.com>

Reviewed by Jeremy Orlow.

Page clients should be passed to Page constructor via structure of pointers
https://bugs.webkit.org/show_bug.cgi?id=42834

  • ewk/ewk_view.cpp: (_ewk_view_priv_new):

2010-07-26 Steve Block <steveblock@google.com>

Reviewed by Jeremy Orlow.

Page clients should be passed to Page constructor via structure of pointers
https://bugs.webkit.org/show_bug.cgi?id=42834

No new tests, refactoring only.

  • WebCore.exp.in:
  • page/Page.cpp: (WebCore::Page::Page):
  • page/Page.h: (WebCore::Page::PageClients::PageClients):
  • svg/graphics/SVGImage.cpp: (WebCore::SVGImage::dataChanged):

2010-07-26 Steve Block <steveblock@google.com>

Reviewed by Jeremy Orlow.

Page clients should be passed to Page constructor via structure of pointers
https://bugs.webkit.org/show_bug.cgi?id=42834

  • WebKit2/WebProcess/WebPage/WebPage.cpp: (WebPage::WebPage):
09:00 Changeset [64207] by commit-queue@webkit.org

2010-07-28 Xianzhu Wang <phnixwxz@gmail.com>

Reviewed by Dan Bernstein.

Line not wrapped at certain punctuations
https://bugs.webkit.org/show_bug.cgi?id=37698

  • fast/text/line-breaks-after-closing-punctuations-expected.txt: Added.
  • fast/text/line-breaks-after-closing-punctuations.html: Added.

2010-07-28 Xianzhu Wang <phnixwxz@gmail.com>

Reviewed by Dan Bernstein.

Line not wrapped at certain punctuations
https://bugs.webkit.org/show_bug.cgi?id=37698
Added a line breaking table for all printable ASCII chars to replace
the original line breaking table for only '?'.

Test: fast/text/line-breaks-after-closing-punctuations.html

  • rendering/break_lines.cpp: (WebCore::isBreakableSpace): (WebCore::): (WebCore::shouldBreakAfter): (WebCore::needsLineBreakIterator):
08:26 Changeset [64206] by leandro@webkit.org

2010-07-28 Lucas De Marchi <lucas.demarchi@profusion.mobi>

Unreviewed build fix.

Fix EFL build with SHARED_CORE=ON after r64124.

  • CMakeLists.txt:
08:19 Changeset [64205] by jcivelli@chromium.org

2010-07-28 Jay Civelli <jcivelli@chromium.org>

Reviewed by Kent Tamura.

[Chromium] The popup now layouts properly its rows by
taking into account the label width.
https://bugs.webkit.org/show_bug.cgi?id=42910

  • platform/chromium/PopupMenuChromium.cpp: (WebCore::PopupListBox::layout):
07:59 Changeset [64204] by pfeldman@chromium.org

2010-07-28 Pavel Feldman <pfeldman@chromium.org>

Not reviewed: chromium tests fix.
Chromium Dev Tools: [REGRESSION] Pause is not working.

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

  • src/js/DevTools.js: (InspectorBackend.pause):
07:32 Changeset [64203] by loislo@chromium.org

2010-07-28 Ilya Tikhonovsky <loislo@chromium.org>

Reviewed by Pavel Feldman.

WebInspector: Navigating to anchor prior to opening WebInspector
makes resource have 'other' type.
https://bugs.webkit.org/show_bug.cgi?id=43110

  • inspector/InspectorResource.cpp: (WebCore::InspectorResource::type): (WebCore::InspectorResource::resourceData):
  • inspector/front-end/ResourceView.js: (WebInspector.ResourceView.prototype._innerSelectContentTab):
05:55 Changeset [64202] by andreas.kling@nokia.com

2010-07-28 Andreas Kling <andreas.kling@nokia.com>

Reviewed by Kenneth Rohde Christiansen.

[Qt] putImageData(): Combine premultiplication and BGR->RGB
https://bugs.webkit.org/show_bug.cgi?id=43114

Further optimized putImageData() by doing BGR->RGB inside the
premultiplication routine.

  • platform/graphics/qt/ImageBufferQt.cpp: (WebCore::premultiplyABGRtoARGB): Renamed from premultiply. (WebCore::putImageData):
05:37 Changeset [64201] by andreip@google.com

2010-07-28 Andrei Popescu <andreip@google.com>

Reviewed by Jeremy Orlow.

[IndexedDB] IDBKeyRange should be a runtime-enabled feature.
https://bugs.webkit.org/show_bug.cgi?id=43116

IDBKeyRange should be enabled at runtime only when IndexedDB is also
enabled.

No new tests needed, functionality not changed.

  • bindings/generic/RuntimeEnabledFeatures.h: (WebCore::RuntimeEnabledFeatures::iDBKeyRangeEnabled):
  • page/DOMWindow.idl:
04:53 WinCE edited by cortexian@gmail.com
(diff)
04:20 Changeset [64200] by zimmermann@webkit.org

2010-07-28 Nikolas Zimmermann <nzimmermann@rim.com>

Not reviewed. Forgot to land GNUmakefile.am changes, broke build in r64196.

  • GNUmakefile.am: Add SVGResources.* / SVGResourcesCache.* / SVGResourcesCycleSolver.* to build.
04:16 Changeset [64199] by zimmermann@webkit.org

2010-07-28 Nikolas Zimmermann <nzimmermann@rim.com>

Not reviewed. Fix two layout test failure on the windows slave. Remove win-xp specific results after the r64186 change.

  • platform/win-xp/fast/lists: Removed.
  • platform/win-xp/fast/lists/w3-css3-list-styles-alphabetic-expected.txt: Removed.
  • platform/win-xp/fast/lists/w3-css3-list-styles-numeric-expected.txt: Removed.
04:14 Changeset [64198] by zimmermann@webkit.org

2010-07-28 Nikolas Zimmermann <nzimmermann@rim.com>

Not reviewed. Fix layout test failure on Leopard Intel Debug slave. Remove leopard specific result after the r64186 change.

  • platform/mac-leopard/fast/lists: Removed.
  • platform/mac-leopard/fast/lists/w3-css3-list-styles-numeric-expected.txt: Removed.
04:09 Changeset [64197] by zimmermann@webkit.org

2010-07-28 Nikolas Zimmermann <nzimmermann@rim.com>

Reviewed by Dirk Schulze.

SVGMaskElement/SVGForeignObjectElement should not inherit from SVGURIReference
https://bugs.webkit.org/show_bug.cgi?id=43113

Remove wrong SVGURIReference inheritance for SVGMaskElement/SVGForeignObjectElement. Old copy/paste bug.

  • svg/SVGForeignObjectElement.cpp: (WebCore::SVGForeignObjectElement::synchronizeProperty):
  • svg/SVGForeignObjectElement.h:
  • svg/SVGMaskElement.cpp: (WebCore::SVGMaskElement::SVGMaskElement): (WebCore::SVGMaskElement::parseMappedAttribute): (WebCore::SVGMaskElement::svgAttributeChanged): (WebCore::SVGMaskElement::synchronizeProperty):
  • svg/SVGMaskElement.h:
03:55 Changeset [64196] by zimmermann@webkit.org

2010-07-28 Nikolas Zimmermann <nzimmermann@rim.com>

Reviewed by Dirk Schulze.

WebKit shouldn't ignore resource cycles, but break them as Opera does
https://bugs.webkit.org/show_bug.cgi?id=43031

Don't ignore resources containing cyclic references, but break them, as discussed on SVG WG mailing lists - to be compatible with Opera which already does that.

We used to lookup RenderSVGResourceContainers objects, by extracting the URI reference from the SVGRenderStyle, then utilizing getElementById() to lookup the
node, and access its renderer. Opera ignores such references, if they point to resources that contain cyclic references. Ignoring them would mean we have
to mutate the render style to empty the resource strings. That obviously doesn't work, as it would break expectations (getComputedStyle, etc.).

Introduce a SVGResources class that stores pointers to all resources, that can be applied to a RenderObject (clipper/filter/markers/masker).
Add a SVGResourcesCache class, which is basically a HashMap<RenderObject*, SVGResources*>. Whenever a RenderObject receives style, we extract the URI references
from the SVGRenderStyle, look up the RenderSVGResourceContainer* objects, and store them in a SVGResources* class. Then we execute a cycle detection logic,
which detects cyclic references and breaks them. Breaking them means just nulling the pointer to the resource in the SVGResources object. Those SVGResources
objects are cached, and used throughout the render tree to access resources. This way it's guaranteed that all cyclic references are resolved until layout/paint
phase begins.

This is the first chunk, which just adds the new SVGResources/SVGResourcesCache/SVGResourcesCycleSolver files, and does minor cleanups.
It's not yet glued in and doesn't affect any tests.

  • Android.mk: Add SVGResources.* / SVGResourcesCache.* / SVGResourcesCycleSolver.* to build.
  • CMakeLists.txt: Ditto.
  • WebCore.gypi: Ditto.
  • WebCore.pro: Ditto.
  • WebCore.vcproj/WebCore.vcproj: Ditto.
  • WebCore.xcodeproj/project.pbxproj: Ditto.
  • rendering/RenderInline.h: Make styleDidChange protected, RenderSVGInline wants to override it.
  • rendering/RenderSVGAllInOne.cpp: Add SVGResources.* / SVGResourcesCache.* / SVGResourcesCycleSolver.* to build.
  • rendering/RenderSVGHiddenContainer.h: (WebCore::RenderSVGHiddenContainer::isSVGHiddenContainer): Make isSVGHiddenContainer() private and renderName() public.
  • rendering/RenderSVGResourceContainer.cpp: Added. Moved most methods from the header in the implementation file. (WebCore::RenderSVGResourceContainer::RenderSVGResourceContainer): (WebCore::RenderSVGResourceContainer::~RenderSVGResourceContainer): (WebCore::RenderSVGResourceContainer::idChanged): (WebCore::RenderSVGResourceContainer::transformOnNonScalingStroke): (WebCore::RenderSVGResourceContainer::containsCyclicReference):
  • rendering/RenderSVGResourceContainer.h: Add stubs, that SVGResourcesCache uses - a follow-up patch will add the logic. (WebCore::RenderSVGResourceContainer::addClient): (WebCore::RenderSVGResourceContainer::removeClient):
  • rendering/SVGResources.cpp: Added. Holds a list of resources applyable to a RenderObject (fill/stroke, mask/markers/clipper/filter) (WebCore::paintingResourceFromSVGPaint): Helper function looking up a RenderSVGResource for a SVGPaint object. (WebCore::registerPendingResource): Helper function that register a RenderSVGResource as pending in the SVGDocumentExtensions. (WebCore::SVGResources::buildCachedResources): Build a list of resources for a RenderObject/RenderStyle pair, handles pending resources, if needed. (WebCore::SVGResources::invalidateClient): Helper function that calls invalidateClient() on all resources. (WebCore::SVGResources::resourceDestroyed): Helper function that calls invalidateClients() on a certain resource, and nulls it. (WebCore::SVGResources::buildSetOfResources): Helper function that stashes all resources present in the SVGResources members in a HashSet, used in SVGResourcesCycleSolver. (WebCore::SVGResources::resetClipper): Helper methods nulling a resource. (WebCore::SVGResources::resetFilter): Ditto. (WebCore::SVGResources::resetMarkerStart): Ditto. (WebCore::SVGResources::resetMarkerMid): Ditto. (WebCore::SVGResources::resetMarkerEnd): Ditto. (WebCore::SVGResources::resetMasker): Ditto. (WebCore::SVGResources::resetFill): Ditto. (WebCore::SVGResources::resetStroke): Ditto. (WebCore::SVGResources::dump):
  • rendering/SVGResources.h: Added. (WebCore::SVGResources::clipper): Accesor of the cached m_foo variable. (WebCore::SVGResources::filter): Ditto. (WebCore::SVGResources::markerStart): Ditto. (WebCore::SVGResources::markerMid): Ditto. (WebCore::SVGResources::markerEnd): Ditto. (WebCore::SVGResources::masker): Ditto. (WebCore::SVGResources::fill): Ditto. (WebCore::SVGResources::stroke): Ditto.
  • rendering/SVGResourcesCache.cpp: Added. Holds a HashMap<RenderObject*, SVGResources*> and utility functions that update/invalidate the cache. (WebCore::SVGResourcesCache::SVGResourcesCache): (WebCore::SVGResourcesCache::~SVGResourcesCache): (WebCore::SVGResourcesCache::addResourcesFromRenderObject): Build a SVGResources object for a RenderObject and adds it to the cache, then detects & breaks cycles using SVGResourcesCycleSolver. (WebCore::SVGResourcesCache::removeResourcesFromRenderObject): Remove a SVGResources object from the cache. (WebCore::resourcesCacheFromRenderObject): Helper function, retrieving a SVGResourcesCache method from a RenderObject. (WebCore::SVGResourcesCache::cachedResourcesForRenderObject): Returns a SVGResources object from the cache. (WebCore::SVGResourcesCache::clientLayoutChanged): (static) Calls invalidateClient() on all resources that are used by the passed RenderObject. (WebCore::SVGResourcesCache::clientStyleChanged): (static) Updates the cache (calling removeResourceFromRenderObject/addResourcesFrom...) and invalidates resources in the ancestor chain. (WebCore::SVGResourcesCache::clientUpdatedFromElement): (static) Does the same, without invalidating the ancestor chain. (WebCore::SVGResourcesCache::clientDestroyed): (static) Calls removeResourcesFromRenderObject() on the SVGResourcesCache, for the given renderer. (WebCore::SVGResourcesCache::resourceDestroyed): (static) Updates all SVGResources objects in the cache, that refer to the given resource.
  • rendering/SVGResourcesCache.h: Added.
  • rendering/SVGResourcesCycleSolver.cpp: Added. Detects and breaks cyclic references, just the way Opera handles it. Break cycles as they are detected. (WebCore::SVGResourcesCycleSolver::SVGResourcesCycleSolver): (WebCore::SVGResourcesCycleSolver::~SVGResourcesCycleSolver): (WebCore::SVGResourcesCycleSolver::resourceContainsCycles): Operates only on the render tree (WebCore::targetReferenceFromResource): Helper method for chainableResourceContainsCycles(). (WebCore::setFollowLinkForChainableResource): Ditto. (WebCore::SVGResourcesCycleSolver::chainableResourceContainsCycles): Handles cycles for resources that are chainable through xlink:href (filter/gradient/pattern). (WebCore::SVGResourcesCycleSolver::resolveCycles): Main method executing the cycle breaking logic, utilizing (chainableResource)resourceContainsCycles. (WebCore::SVGResourcesCycleSolver::breakCycle): Nulls a resource in the given SVGResources* object, to avoid using an invalid resource while rendering/layouting.
  • rendering/SVGResourcesCycleSolver.h: Added.
  • svg/SVGDocumentExtensions.cpp: (WebCore::SVGDocumentExtensions::SVGDocumentExtensions): Create SVGResourcesCache object once per SVGDocumentExtensions.
  • svg/SVGDocumentExtensions.h: (WebCore::SVGDocumentExtensions::resourcesCache): Expose accesor method for the SVGResourcesCache.
03:12 Changeset [64195] by jorlow@chromium.org

2010-07-28 Jeremy Orlow <jorlow@chromium.org>

Updating Chromium test expectations to expect 8 tests to fail since
our "test shell" doesn't implement a method required by Daniel Bates'
http://trac.webkit.org/changeset/64186/ change.

Not reviewed.

  • platform/chromium/test_expectations.txt:
03:01 Changeset [64194] by zimmermann@webkit.org

2010-07-28 Nikolas Zimmermann <nzimmermann@rim.com>

Not reviewed. Rebaseline mac-leopard specific pixel test result after the path cleanup patch.

  • platform/mac-leopard/svg/custom/svg-fonts-in-html-expected.checksum:
  • platform/mac-leopard/svg/custom/svg-fonts-in-html-expected.png:
02:50 Changeset [64193] by abecsi@webkit.org

2010-07-28 Andras Becsi <abecsi@webkit.org>

Unreviewed trivial build fix.

[Qt] Follow the API changes after r64172.

  • UIProcess/API/qt/qwkpage.cpp: (QWKPage::url): (QWKPage::title):
01:56 QtWebKitTableOfFeatures20 edited by henry.haverinen@nokia.com
(diff)
01:44 QtWebKitTableOfFeatures20 edited by henry.haverinen@nokia.com
(diff)
01:33 QtWebKitTableOfFeatures20 edited by henry.haverinen@nokia.com
(diff)
01:08 Changeset [64192] by zherczeg@webkit.org

SVGFilterElement & SVGFE*Element don't support dynamic invalidation, when attributes change
https://bugs.webkit.org/show_bug.cgi?id=42244

Reviewed by Nikolas Zimmermann.

WebCore:

Implementing svgAttributeChanged for SVGFEOffsetElement object.

Tests: svg/dynamic-updates/SVGFEOffsetElement-dom-dx-attr.html

svg/dynamic-updates/SVGFEOffsetElement-dom-dy-attr.html
svg/dynamic-updates/SVGFEOffsetElement-dom-in-attr.html
svg/dynamic-updates/SVGFEOffsetElement-svgdom-dx-prop.html
svg/dynamic-updates/SVGFEOffsetElement-svgdom-dy-prop.html
svg/dynamic-updates/SVGFEOffsetElement-svgdom-in-prop.html

  • svg/SVGFEOffsetElement.cpp:

(WebCore::SVGFEOffsetElement::svgAttributeChanged):

  • svg/SVGFEOffsetElement.h:

LayoutTests:

  • platform/mac/svg/dynamic-updates/SVGFEOffsetElement-dom-dx-attr-expected.checksum: Added.
  • platform/mac/svg/dynamic-updates/SVGFEOffsetElement-dom-dx-attr-expected.png: Added.
  • platform/mac/svg/dynamic-updates/SVGFEOffsetElement-dom-dy-attr-expected.checksum: Added.
  • platform/mac/svg/dynamic-updates/SVGFEOffsetElement-dom-dy-attr-expected.png: Added.
  • platform/mac/svg/dynamic-updates/SVGFEOffsetElement-dom-in-attr-expected.checksum: Added.
  • platform/mac/svg/dynamic-updates/SVGFEOffsetElement-dom-in-attr-expected.png: Added.
  • platform/mac/svg/dynamic-updates/SVGFEOffsetElement-svgdom-dx-prop-expected.checksum: Added.
  • platform/mac/svg/dynamic-updates/SVGFEOffsetElement-svgdom-dx-prop-expected.png: Added.
  • platform/mac/svg/dynamic-updates/SVGFEOffsetElement-svgdom-dy-prop-expected.checksum: Added.
  • platform/mac/svg/dynamic-updates/SVGFEOffsetElement-svgdom-dy-prop-expected.png: Added.
  • platform/mac/svg/dynamic-updates/SVGFEOffsetElement-svgdom-in-prop-expected.checksum: Added.
  • platform/mac/svg/dynamic-updates/SVGFEOffsetElement-svgdom-in-prop-expected.png: Added.
  • svg/dynamic-updates/SVGFEOffsetElement-dom-dx-attr-expected.txt: Added.
  • svg/dynamic-updates/SVGFEOffsetElement-dom-dx-attr.html: Added.
  • svg/dynamic-updates/SVGFEOffsetElement-dom-dy-attr-expected.txt: Added.
  • svg/dynamic-updates/SVGFEOffsetElement-dom-dy-attr.html: Added.
  • svg/dynamic-updates/SVGFEOffsetElement-dom-in-attr-expected.txt: Added.
  • svg/dynamic-updates/SVGFEOffsetElement-dom-in-attr.html: Added.
  • svg/dynamic-updates/SVGFEOffsetElement-svgdom-dx-prop-expected.txt: Added.
  • svg/dynamic-updates/SVGFEOffsetElement-svgdom-dx-prop.html: Added.
  • svg/dynamic-updates/SVGFEOffsetElement-svgdom-dy-prop-expected.txt: Added.
  • svg/dynamic-updates/SVGFEOffsetElement-svgdom-dy-prop.html: Added.
  • svg/dynamic-updates/SVGFEOffsetElement-svgdom-in-prop-expected.txt: Added.
  • svg/dynamic-updates/SVGFEOffsetElement-svgdom-in-prop.html: Added.
  • svg/dynamic-updates/script-tests/SVGFEOffsetElement-dom-dx-attr.js: Added.

(executeTest):

  • svg/dynamic-updates/script-tests/SVGFEOffsetElement-dom-dy-attr.js: Added.

(executeTest):

  • svg/dynamic-updates/script-tests/SVGFEOffsetElement-dom-in-attr.js: Added.

(executeTest):

  • svg/dynamic-updates/script-tests/SVGFEOffsetElement-svgdom-dx-prop.js: Added.

(executeTest):

  • svg/dynamic-updates/script-tests/SVGFEOffsetElement-svgdom-dy-prop.js: Added.

(executeTest):

  • svg/dynamic-updates/script-tests/SVGFEOffsetElement-svgdom-in-prop.js: Added.

(executeTest):

01:03 Changeset [64191] by zherczeg@webkit.org

SVGFilterElement & SVGFE*Element don't support dynamic invalidation, when attributes change
https://bugs.webkit.org/show_bug.cgi?id=42244

Reviewed by Nikolas Zimmermann.

WebCore:

Implementing svgAttributeChanged for SVGFEDiffuseLightingElement object.

Tests: svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-diffuseConstant-attr.html

svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-in-attr.html
svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-lighting-color-attr.html
svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-surfaceScale-attr.html
svg/dynamic-updates/SVGFEDiffuseLightingElement-lighting-color-css-prop.html
svg/dynamic-updates/SVGFEDiffuseLightingElement-svgdom-diffuseConstant-prop.html
svg/dynamic-updates/SVGFEDiffuseLightingElement-svgdom-in-prop.html
svg/dynamic-updates/SVGFEDiffuseLightingElement-svgdom-surfaceScale-prop.html

  • svg/SVGFEDiffuseLightingElement.cpp:

(WebCore::SVGFEDiffuseLightingElement::svgAttributeChanged):

  • svg/SVGFEDiffuseLightingElement.h:

LayoutTests:

  • platform/mac/svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-diffuseConstant-attr-expected.checksum: Added.
  • platform/mac/svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-diffuseConstant-attr-expected.png: Added.
  • platform/mac/svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-in-attr-expected.checksum: Added.
  • platform/mac/svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-in-attr-expected.png: Added.
  • platform/mac/svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-lighting-color-attr-expected.checksum: Added.
  • platform/mac/svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-lighting-color-attr-expected.png: Added.
  • platform/mac/svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-surfaceScale-attr-expected.checksum: Added.
  • platform/mac/svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-surfaceScale-attr-expected.png: Added.
  • platform/mac/svg/dynamic-updates/SVGFEDiffuseLightingElement-lighting-color-css-prop-expected.checksum: Added.
  • platform/mac/svg/dynamic-updates/SVGFEDiffuseLightingElement-lighting-color-css-prop-expected.png: Added.
  • platform/mac/svg/dynamic-updates/SVGFEDiffuseLightingElement-svgdom-diffuseConstant-prop-expected.checksum: Added.
  • platform/mac/svg/dynamic-updates/SVGFEDiffuseLightingElement-svgdom-diffuseConstant-prop-expected.png: Added.
  • platform/mac/svg/dynamic-updates/SVGFEDiffuseLightingElement-svgdom-in-prop-expected.checksum: Added.
  • platform/mac/svg/dynamic-updates/SVGFEDiffuseLightingElement-svgdom-in-prop-expected.png: Added.
  • platform/mac/svg/dynamic-updates/SVGFEDiffuseLightingElement-svgdom-surfaceScale-prop-expected.checksum: Added.
  • platform/mac/svg/dynamic-updates/SVGFEDiffuseLightingElement-svgdom-surfaceScale-prop-expected.png: Added.
  • svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-diffuseConstant-attr-expected.txt: Added.
  • svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-diffuseConstant-attr.html: Added.
  • svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-in-attr-expected.txt: Added.
  • svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-in-attr.html: Added.
  • svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-lighting-color-attr-expected.txt: Added.
  • svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-lighting-color-attr.html: Added.
  • svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-surfaceScale-attr-expected.txt: Added.
  • svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-surfaceScale-attr.html: Added.
  • svg/dynamic-updates/SVGFEDiffuseLightingElement-lighting-color-css-prop-expected.txt: Added.
  • svg/dynamic-updates/SVGFEDiffuseLightingElement-lighting-color-css-prop.html: Added.
  • svg/dynamic-updates/SVGFEDiffuseLightingElement-svgdom-diffuseConstant-prop-expected.txt: Added.
  • svg/dynamic-updates/SVGFEDiffuseLightingElement-svgdom-diffuseConstant-prop.html: Added.
  • svg/dynamic-updates/SVGFEDiffuseLightingElement-svgdom-in-prop-expected.txt: Added.
  • svg/dynamic-updates/SVGFEDiffuseLightingElement-svgdom-in-prop.html: Added.
  • svg/dynamic-updates/SVGFEDiffuseLightingElement-svgdom-surfaceScale-prop-expected.txt: Added.
  • svg/dynamic-updates/SVGFEDiffuseLightingElement-svgdom-surfaceScale-prop.html: Added.
  • svg/dynamic-updates/script-tests/SVGFEDiffuseLightingElement-dom-diffuseConstant-attr.js: Added.

(executeTest):

  • svg/dynamic-updates/script-tests/SVGFEDiffuseLightingElement-dom-in-attr.js: Added.

(executeTest):

  • svg/dynamic-updates/script-tests/SVGFEDiffuseLightingElement-dom-lighting-color-attr.js: Added.

(executeTest):

  • svg/dynamic-updates/script-tests/SVGFEDiffuseLightingElement-dom-surfaceScale-attr.js: Added.

(executeTest):

  • svg/dynamic-updates/script-tests/SVGFEDiffuseLightingElement-lighting-color-css-prop.js: Added.

(executeTest):

  • svg/dynamic-updates/script-tests/SVGFEDiffuseLightingElement-svgdom-diffuseConstant-prop.js: Added.

(executeTest):

  • svg/dynamic-updates/script-tests/SVGFEDiffuseLightingElement-svgdom-in-prop.js: Added.

(executeTest):

  • svg/dynamic-updates/script-tests/SVGFEDiffuseLightingElement-svgdom-surfaceScale-prop.js: Added.

(executeTest):

07/27/10:

22:59 Changeset [64190] by mrobinson@webkit.org

2010-07-27 Martin Robinson <mrobinson@igalia.com>

Unreviewed build fix.

Add missing webkitdomdefines.h header to the sources list.

  • GNUmakefile.am: Add missing header to the sources list.
22:16 Changeset [64189] by kinuko@chromium.org

2010-07-27 Kinuko Yasuda <kinuko@chromium.org>

Reviewed by Ojan Vafai.

Add FILE_SYSTEM build flag for FileSystem API
https://bugs.webkit.org/show_bug.cgi?id=42915

  • Configurations/FeatureDefines.xcconfig:

2010-07-27 Kinuko Yasuda <kinuko@chromium.org>

Reviewed by Ojan Vafai.

Add FILE_SYSTEM build flag for FileSystem API
https://bugs.webkit.org/show_bug.cgi?id=42915

  • features.gypi:

2010-07-27 Kinuko Yasuda <kinuko@chromium.org>

Reviewed by Ojan Vafai.

Add FILE_SYSTEM build flag for FileSystem API
https://bugs.webkit.org/show_bug.cgi?id=42915

  • Configurations/FeatureDefines.xcconfig:

2010-07-27 Kinuko Yasuda <kinuko@chromium.org>

Reviewed by Ojan Vafai.

Add FILE_SYSTEM build flag for FileSystem API
https://bugs.webkit.org/show_bug.cgi?id=42915

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

2010-07-27 Kinuko Yasuda <kinuko@chromium.org>

Reviewed by Ojan Vafai.

Add FILE_SYSTEM build flag for FileSystem API
https://bugs.webkit.org/show_bug.cgi?id=42915

  • Configurations/FeatureDefines.xcconfig:
  • GNUmakefile.am:
  • WebCore.pri:

2010-07-27 Kinuko Yasuda <kinuko@chromium.org>

Reviewed by Ojan Vafai.

Add FILE_SYSTEM build flag for FileSystem API
https://bugs.webkit.org/show_bug.cgi?id=42915

  • configure.ac:

2010-07-27 Kinuko Yasuda <kinuko@chromium.org>

Reviewed by Ojan Vafai.

Add FILE_SYSTEM build flag for FileSystem API
https://bugs.webkit.org/show_bug.cgi?id=42915

  • Scripts/build-webkit:
21:09 Changeset [64188] by dbates@webkit.org

2010-07-27 Daniel Bates <dbates@rim.com>

Unreviewed; remove platform-specific expected results.
https://bugs.webkit.org/show_bug.cgi?id=42803

We no longer need the Qt an GTK platform-specific render tree dumps
as we now dump text.

  • platform/gtk/fast/lists/alpha-boundary-values-expected.txt: Removed.
  • platform/gtk/fast/lists/w3-css3-list-styles-alphabetic-expected.txt: Removed.
  • platform/qt/fast/lists/alpha-boundary-values-expected.checksum: Removed.
  • platform/qt/fast/lists/alpha-boundary-values-expected.png: Removed.
  • platform/qt/fast/lists/alpha-boundary-values-expected.txt: Removed.
  • platform/qt/fast/lists/w3-css3-list-styles-numeric-expected.txt: Removed.
  • platform/qt/fast/lists/w3-list-styles-expected.txt: Removed.
20:48 Changeset [64187] by yuzo@google.com

2010-07-26 Yuzo Fujishima <yuzo@google.com>

Reviewed by Shinichiro Hamaji.

@page rules in media queries should be tested.
Added tests for such rules.
https://bugs.webkit.org/show_bug.cgi?id=42971

  • printing/page-rule-selection-expected.txt:
  • printing/page-rule-selection.html:

2010-07-26 Yuzo Fujishima <yuzo@google.com>

Reviewed by Shinichiro Hamaji.

@page rules in media queries should be tested.
https://bugs.webkit.org/show_bug.cgi?id=42971

  • page/PrintContext.cpp: (WebCore::PrintContext::pageProperty): Fixed to properly begin printing. Added support for size property.
20:44 Changeset [64186] by dbates@webkit.org

2010-07-27 Daniel Bates <dbates@rim.com>

Reviewed by Darin Adler.

Convert DRT list tests from pixel-tests/render tree dumps to text
https://bugs.webkit.org/show_bug.cgi?id=42803

With the passing of Bug #37929 and Bug #37930, convert a subset of the
DRT tests for lists from pixel-tests to text-based tests now that we
can retrieve the list item marker text in both the Mac and Windows ports.

  • fast/lists/alpha-boundary-values-expected.txt: Added.
  • fast/lists/alpha-boundary-values.html: Modified to dump as text.
  • fast/lists/alpha-list-wrap-expected.txt: Added.
  • fast/lists/alpha-list-wrap.html: Modified to dump as text.
  • fast/lists/decimal-leading-zero-expected.txt: Added.
  • fast/lists/decimal-leading-zero.html: Modified to dump as text.
  • fast/lists/li-values-expected.txt: Added.
  • fast/lists/li-values.html: Modified to dump as text.
  • fast/lists/list-style-type-dynamic-change-expected.txt: Added.
  • fast/lists/list-style-type-dynamic-change.html: Modified to dump as text.
  • fast/lists/resources/dump-list.js: (dumpList): Modified to call processList. (filterListsWithReplacement): Added. (processList): Added. (dumpListItemAsHTML): Added. (printPassedIfEmptyString): Added. (printFailedIfListItemMarkerNotEqualListItemText): Added.
  • fast/lists/w3-css3-list-styles-alphabetic-expected.txt: Added.
  • fast/lists/w3-css3-list-styles-alphabetic.html: Modified to dump as text.
  • fast/lists/w3-css3-list-styles-numeric-expected.txt: Added.
  • fast/lists/w3-css3-list-styles-numeric.html: Modified to dump as text. Also, fix typos in the binary list-style-type results.
  • fast/lists/w3-list-styles-expected.txt: Added.
  • fast/lists/w3-list-styles.html: Modified to dump as text.
  • platform/mac/fast/lists/alpha-boundary-values-expected.checksum: Removed.
  • platform/mac/fast/lists/alpha-boundary-values-expected.png: Removed.
  • platform/mac/fast/lists/alpha-boundary-values-expected.txt: Removed.
  • platform/mac/fast/lists/alpha-list-wrap-expected.checksum: Removed.
  • platform/mac/fast/lists/alpha-list-wrap-expected.png: Removed.
  • platform/mac/fast/lists/alpha-list-wrap-expected.txt: Removed.
  • platform/mac/fast/lists/decimal-leading-zero-expected.checksum: Removed.
  • platform/mac/fast/lists/decimal-leading-zero-expected.png: Removed.
  • platform/mac/fast/lists/decimal-leading-zero-expected.txt: Removed.
  • platform/mac/fast/lists/li-values-expected.checksum: Removed.
  • platform/mac/fast/lists/li-values-expected.png: Removed.
  • platform/mac/fast/lists/li-values-expected.txt: Removed.
  • platform/mac/fast/lists/list-style-type-dynamic-change-expected.checksum: Removed.
  • platform/mac/fast/lists/list-style-type-dynamic-change-expected.png: Removed.
  • platform/mac/fast/lists/list-style-type-dynamic-change-expected.txt: Removed.
  • platform/mac/fast/lists/w3-css3-list-styles-alphabetic-expected.checksum: Removed.
  • platform/mac/fast/lists/w3-css3-list-styles-alphabetic-expected.png: Removed.
  • platform/mac/fast/lists/w3-css3-list-styles-alphabetic-expected.txt: Removed.
  • platform/mac/fast/lists/w3-css3-list-styles-numeric-expected.checksum: Removed.
  • platform/mac/fast/lists/w3-css3-list-styles-numeric-expected.png: Removed.
  • platform/mac/fast/lists/w3-css3-list-styles-numeric-expected.txt: Removed.
  • platform/mac/fast/lists/w3-list-styles-expected.checksum: Removed.
  • platform/mac/fast/lists/w3-list-styles-expected.png: Removed.
  • platform/mac/fast/lists/w3-list-styles-expected.txt: Removed.
  • platform/win/fast/lists: Removed.
  • platform/win/fast/lists/w3-css3-list-styles-alphabetic-expected.txt: Removed.
  • platform/win/fast/lists/w3-css3-list-styles-numeric-expected.txt: Removed.
18:50 Changeset [64185] by mrobinson@webkit.org

2010-07-27 Martin Robinson <mrobinson@igalia.com>

Reviewed by David Levin.

Stylebot should not complain about NULL usage in calls to gdk_pixbuf_save_to
https://bugs.webkit.org/show_bug.cgi?id=43090

  • Scripts/webkitpy/style/checkers/cpp.py: Add exemption for some GdkPixbuf methods.
  • Scripts/webkitpy/style/checkers/cpp_unittest.py: Added some tests for this behavior.
17:36 Changeset [64184] by barraclough@apple.com

Temporarily rolling out http://trac.webkit.org/changeset/64177,
this seems to give QT ARM/Win a headache (specifically, looks
like structure layour differs, objects get too large -
"..\..\..\JavaScriptCore\runtime\ArrayPrototype.cpp:41:"
"error: size of array 'dummyclass_fits_in_cell' is negative").

  • jit/JITPropertyAccess.cpp:

(JSC::JIT::emit_op_get_by_val):
(JSC::JIT::emit_op_put_by_val):
(JSC::JIT::privateCompilePatchGetArrayLength):

  • jit/JITPropertyAccess32_64.cpp:

(JSC::JIT::emit_op_get_by_val):
(JSC::JIT::emit_op_put_by_val):
(JSC::JIT::privateCompilePatchGetArrayLength):

  • runtime/ArrayPrototype.cpp:

(JSC::arrayProtoFuncShift):
(JSC::arrayProtoFuncSplice):
(JSC::arrayProtoFuncUnShift):

  • runtime/JSArray.cpp:

(JSC::increasedVectorLength):
(JSC::JSArray::JSArray):
(JSC::JSArray::~JSArray):
(JSC::JSArray::getOwnPropertySlot):
(JSC::JSArray::getOwnPropertyDescriptor):
(JSC::JSArray::put):
(JSC::JSArray::putSlowCase):
(JSC::JSArray::deleteProperty):
(JSC::JSArray::getOwnPropertyNames):
(JSC::JSArray::increaseVectorLength):
(JSC::JSArray::setLength):
(JSC::JSArray::pop):
(JSC::JSArray::push):
(JSC::JSArray::sortNumeric):
(JSC::JSArray::sort):
(JSC::JSArray::fillArgList):
(JSC::JSArray::copyToRegisters):
(JSC::JSArray::compactForSorting):
(JSC::JSArray::subclassData):
(JSC::JSArray::setSubclassData):
(JSC::JSArray::checkConsistency):

  • runtime/JSArray.h:

(JSC::JSArray::length):
(JSC::JSArray::canGetIndex):
(JSC::JSArray::getIndex):
(JSC::JSArray::setIndex):
(JSC::JSArray::uncheckedSetIndex):
(JSC::JSArray::markChildrenDirect):

17:30 Changeset [64183] by barraclough@apple.com

Speculative build fix for Chromium/Win

  • wtf/Platform.h:
17:04 Changeset [64182] by barraclough@apple.com

Oh! that makes more sense! Maybe C++-style comments are bringing teh bad mojo.

  • wtf/Platform.h:
17:00 Changeset [64181] by andersca@apple.com

Fix Windows build.

  • WebProcess/Plugins/JSNPObject.cpp:

(WebKit::JSNPObject::propertyGetter):
Remove unreachable code.

16:57 Changeset [64180] by barraclough@apple.com

Speculative build fix for GTK/64 ... seems to be barfing on a comment o_O

  • wtf/Platform.h:
16:41 Changeset [64179] by scherkus@chromium.org

2010-07-27 Andrew Scherkus <scherkus@chromium.org>

Unreviewed.

Marking media/controls-drag-timebar.html as flaky due to new seek behaviour.

  • platform/chromium/test_expectations.txt:
16:38 Changeset [64178] by jhawkins@chromium.org

2010-07-27 James Hawkins <jhawkins@chromium.org>

Unreviewed Build Fix.

Add a missing itemIcon() method to TestPopupMenuClient.

  • tests/PopupMenuTest.cpp: (WebKit::TestPopupMenuClient::itemIcon):
16:26 Changeset [64177] by barraclough@apple.com

Changed the handling for removing and adding elements at the front
of an array. The code now keeps a bias that indicates the amount of
JSValue sized holes are prior to the ArrayStorage block. This means
that shift operations are now memmove's of the header part of
the ArrayStorage and unshift operations are similar, but may require a
realloc first to create the space. Similar operations are performed
for special cases of splice and slice.
Also optimized the new Array(size) case so that we don't allocate and
initialize array elements until the JS code starts using elements.
The array growth code is slightly more aggressive for initial growth
based on size growth of any previous array.

Patch by Michael Saboff <msaboff@apple.com> on 2010-07-27
Reviewed by Gavin Barraclough.

  • Configurations/JavaScriptCore.xcconfig:
  • jit/JITPropertyAccess.cpp:

(JSC::JIT::emit_op_get_by_val):
(JSC::JIT::emit_op_put_by_val):
(JSC::JIT::privateCompilePatchGetArrayLength):

  • jit/JITPropertyAccess32_64.cpp:

(JSC::JIT::emit_op_get_by_val):
(JSC::JIT::emit_op_put_by_val):
(JSC::JIT::privateCompilePatchGetArrayLength):

  • runtime/ArrayPrototype.cpp:

(JSC::arrayProtoFuncShift):
(JSC::arrayProtoFuncSplice):
(JSC::arrayProtoFuncUnShift):

  • runtime/JSArray.cpp:

(JSC::JSArray::JSArray):
(JSC::JSArray::~JSArray):
(JSC::JSArray::getOwnPropertySlot):
(JSC::JSArray::getOwnPropertyDescriptor):
(JSC::JSArray::put):
(JSC::JSArray::putSlowCase):
(JSC::JSArray::deleteProperty):
(JSC::JSArray::getOwnPropertyNames):
(JSC::JSArray::getNewVectorLength):
(JSC::JSArray::increaseVectorLength):
(JSC::JSArray::increaseVectorPrefixLength):
(JSC::JSArray::setLength):
(JSC::JSArray::pop):
(JSC::JSArray::push):
(JSC::JSArray::shiftCount):
(JSC::JSArray::unshiftCount):
(JSC::JSArray::sortNumeric):
(JSC::JSArray::sort):
(JSC::JSArray::fillArgList):
(JSC::JSArray::copyToRegisters):
(JSC::JSArray::compactForSorting):
(JSC::JSArray::subclassData):
(JSC::JSArray::setSubclassData):
(JSC::JSArray::checkConsistency):

  • runtime/JSArray.h:

(JSC::JSArray::length):
(JSC::JSArray::canGetIndex):
(JSC::JSArray::getIndex):
(JSC::JSArray::setIndex):
(JSC::JSArray::uncheckedSetIndex):
(JSC::JSArray::arrayStorage):
(JSC::JSArray::setArrayStorage):
(JSC::JSArray::markChildrenDirect):

16:19 Changeset [64176] by barraclough@apple.com

Bug 43089 - Cleanup JIT related switched in Platform.h

Reviewed by Oliver Hunt.

The code the enable to JIT checks every permutation of platform & OS individually, but
now the JIT is enabled on the majority much all x86/x86-64/ARM/MIPS systems. It should
be cleaner to just enable by default on these platforms, and explicitly disable on configs
that don't aren't supported.

Also, rename ENABLE_JIT_OPTIMIZE_MOD to ENABLE_JIT_USE_SOFT_MODULO. I always find this
confusing since enabling this "optimization" would be possible, but would be a regression
on x86/x86-64 systems! I think it's clearer to reserve "JIT_OPTIMIZE" for compiler
technologies applicable to all platforms, and make a more optional behaviour like this a
"USE".

  • jit/ExecutableAllocator.h:

(JSC::ExecutableAllocator::cacheFlush):

  • jit/JIT.h:
  • jit/JITArithmetic.cpp:

(JSC::JIT::emit_op_mod):
(JSC::JIT::emitSlow_op_mod):

  • jit/JITArithmetic32_64.cpp:

(JSC::JIT::emit_op_mod):
(JSC::JIT::emitSlow_op_mod):

  • jit/JITOpcodes.cpp:

(JSC::JIT::privateCompileCTIMachineTrampolines):

  • jit/JITOpcodes32_64.cpp:

(JSC::JIT::privateCompileCTIMachineTrampolines):

  • wtf/Platform.h:
16:16 Changeset [64175] by tkent@chromium.org

2010-07-27 Kent Tamura <tkent@chromium.org>

Unreviewed, trivial typo fix.

  • Scripts/webkitpy/layout_tests/port/chromium.py: Fix a wrong method name committed by r64109.
16:15 Changeset [64174] by andersca@apple.com

Implement JSNPObject::propertyGetter
https://bugs.webkit.org/show_bug.cgi?id=43091

Reviewed by Sam Weinig.

WebKit2:

  • WebProcess/Plugins/JSNPObject.cpp:

(WebKit::JSNPObject::propertyGetter):
Ask the NPObject for its property.

  • WebProcess/Plugins/NPRuntimeObjectMap.cpp:

(WebKit::NPRuntimeObjectMap::jsNPObjectDestroyed):
Add a stub.

(WebKit::NPRuntimeObjectMap::convertNPVariantToValue):
Implement this for everything except objects.

LayoutTests:

  • platform/mac-wk2/Skipped:

Add a test I forgot to add, and remove plugins/npruntime/embed-property.html because it passes now.

16:02 Changeset [64173] by jhawkins@chromium.org

2010-07-27 James Hawkins <jhawkins@chromium.org>

Reviewed by Darin Fisher.

[Chromium] Add the ability to show right-aligned icons in the AutoFill popup.
https://bugs.webkit.org/show_bug.cgi?id=43076

  • public/WebView.h:
  • src/AutoFillPopupMenuClient.cpp: (WebKit::AutoFillPopupMenuClient::getIcon): (WebKit::AutoFillPopupMenuClient::removeSuggestionAtIndex): (WebKit::AutoFillPopupMenuClient::itemIcon): (WebKit::AutoFillPopupMenuClient::initialize): (WebKit::AutoFillPopupMenuClient::setSuggestions):
  • src/AutoFillPopupMenuClient.h:
  • src/WebViewImpl.cpp: (WebKit::WebViewImpl::applyAutoFillSuggestions): (WebKit::WebViewImpl::applyAutocompleteSuggestions):
  • src/WebViewImpl.h:

2010-07-27 James Hawkins <jhawkins@chromium.org>

Reviewed by Darin Fisher.

Add itemIcon() method to the PopupMenuClient, used by Chrome AutoFill
to display right-aligned credit card icons in the suggestions popup.
https://bugs.webkit.org/show_bug.cgi?id=43076

No new tests as this is only used by the Chromium WebKit API.

  • platform/PopupMenuClient.h:
  • platform/chromium/PopupMenuChromium.cpp: (WebCore::PopupListBox::paintRow):
  • rendering/RenderMenuList.cpp: (WebCore::RenderMenuList::itemIcon):
  • rendering/RenderMenuList.h:
  • rendering/RenderTextControlSingleLine.cpp: (WebCore::RenderTextControlSingleLine::itemIcon):
  • rendering/RenderTextControlSingleLine.h:
15:47 Changeset [64172] by weinig@apple.com

Patch for https://bugs.webkit.org/show_bug.cgi?id=43087
Clean up handling of strings at the WebKit2 API layer.

Reviewed by Anders Carlsson.

WebKit2:

  • Always use the "copy" rule for functions that return WKStringRefs or WKURLRefs.
  • Never return a null WKStringRef or WKURLRef.
  • UIProcess/API/C/WKAPICast.h:

(toRef):
(toURLRef):
(toCopiedRef):
(toCopiedURLRef):

  • UIProcess/API/C/WKBackForwardListItem.cpp:

(WKBackForwardListItemCopyOriginalURL):
(WKBackForwardListItemCopyURL):
(WKBackForwardListItemCopyTitle):

  • UIProcess/API/C/WKBackForwardListItem.h:
  • UIProcess/API/C/WKFrame.cpp:

(WKFrameIsMainFrame):
(WKFrameCopyProvisionalURL):
(WKFrameCopyURL):
(WKFrameGetPage):
(WKFrameRetain):
(WKFrameRelease):

  • UIProcess/API/C/WKFrame.h:
  • UIProcess/API/C/WKNavigationData.cpp:

(WKNavigationDataCopyTitle):
(WKNavigationDataCopyURL):

  • UIProcess/API/C/WKNavigationData.h:
  • UIProcess/API/C/WKPage.cpp:

(WKPageCopyTitle):

  • UIProcess/API/C/WKPage.h:
  • WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:

(WKBundleFrameCopyURL):
(WKBundleFrameCopyName):
(WKBundleFrameCopyCounterValue):
(WKBundleFrameCopyMarkerText):

  • WebProcess/InjectedBundle/API/c/WKBundleFrame.h:
  • WebProcess/InjectedBundle/API/c/WKBundleNode.cpp:

(WKBundleNodeCopyNodeName):

  • WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:

(WKBundlePageCopyRenderTreeExternalRepresentation):

WebKitTools:

  • MiniBrowser/mac/BrowserWindowController.m:

(runJavaScriptAlert):
(runJavaScriptConfirm):
(runJavaScriptPrompt):
(didNavigateWithNavigationData):
(-[BrowserWindowController updateProvisionalURLForFrame:]):

  • MiniBrowser/mac/WebBundle/WebBundleMain.m:

(_didClearWindowForFrame):

15:46 Changeset [64171] by mrobinson@webkit.org

2010-07-27 Martin Robinson <mrobinson@igalia.com>

Unreviewed.

Unskip a test that is passing and add expected results to another.

  • platform/gtk/Skipped: Unskip passing test.
  • platform/gtk/fast/canvas/set-colors-expected.txt: Copied from LayoutTests/platform/chromium-win/fast/canvas/set-colors-expected.txt.
15:41 Changeset [64170] by jamesr@google.com

2010-07-27 James Robinson <jamesr@chromium.org>

Reviewed by Darin Fisher.

[chromium] Make PLATFORM(CHROMIUM) and not OS(MAC) turn USE(GLES2_RENDERING) on
https://bugs.webkit.org/show_bug.cgi?id=43084

This turns USE(GLES2_RENDERING) on for chromium on windows/linux. This causes no
change in behavior, that's all controlled by ENABLE() macros that are currently off.

  • wtf/Platform.h:
15:36 Changeset [64169] by andersca@apple.com

Explicitly list all skipped tests in plugins/ so we can start removing passing tests.

Reviewed by Sam Weinig.

  • platform/mac-wk2/Skipped:
15:23 Changeset [64168] by joepeck@webkit.org

2010-07-27 Joseph Pecoraro <joepeck@webkit.org>

Reviewed by David Kilzer.

Provide a Helpful Link for Web Inspector Bugs in Bugzilla
https://bugs.webkit.org/show_bug.cgi?id=43065

  • template/en/custom/global/choose-product.html.tmpl: Added. Explicitly added a link for the Web Inspector.
15:20 Changeset [64167] by andersca@apple.com

Add JSNPObject, a JSObject that wraps an NPObject
https://bugs.webkit.org/show_bug.cgi?id=43079

Reviewed by Sam Weinig.

  • WebKit2.xcodeproj/project.pbxproj:

Add JSNPObject.cpp and JSNPObject.h

  • WebProcess/Plugins/JSNPObject.cpp: Added.

(WebKit::npIdentifierFromIdentifier):
(WebKit::JSNPObject::JSNPObject):
(WebKit::JSNPObject::~JSNPObject):
(WebKit::JSNPObject::getOwnPropertySlot):
Check if the NPObject has the given property.

(WebKit::JSNPObject::propertyGetter):
(WebKit::JSNPObject::throwInvalidAccessError):

  • WebProcess/Plugins/JSNPObject.h: Added.

(WebKit::JSNPObject::createStructure):

  • WebProcess/Plugins/NPJSObject.h:
  • win/WebKit2.vcproj:

Add JSNPObject.cpp and JSNPObject.h

15:16 Changeset [64166] by victorw@chromium.org

2010-07-27 Victor Wang <victorw@chromium.org>

Unreviewed. Update chromium test expectations for failed test:
fast/canvas/canvas-ImageData-behaviour.html

  • platform/chromium/test_expectations.txt:
15:16 Changeset [64165] by commit-queue@webkit.org

2010-07-27 Jedrzej Nowacki <jedrzej.nowacki@nokia.com>

Reviewed by Kenneth Rohde Christiansen.

Update the QScriptValue autotests suite.

QScriptValue generated files were updated, changes are:

  • More tested values (for example QSE::newObject() and QSE::newArray())
  • Tested values are recreated before each test and are not reused. The change implies better code coverage and some expected result changes.
  • A new test to check copy and assign functions.
  • Tests are using standard QTestLib interface, without any custom macros.

[Qt] Improve test coverage for the QScriptValue
https://bugs.webkit.org/show_bug.cgi?id=42366

  • tests/qscriptvalue/tst_qscriptvalue.cpp: (tst_QScriptValue::tst_QScriptValue): (tst_QScriptValue::~tst_QScriptValue): (tst_QScriptValue::assignAndCopyConstruct_data): (tst_QScriptValue::assignAndCopyConstruct):
  • tests/qscriptvalue/tst_qscriptvalue.h:
  • tests/qscriptvalue/tst_qscriptvalue_generated_comparison.cpp: (tst_QScriptValue::equals_data): (tst_QScriptValue::equals): (tst_QScriptValue::strictlyEquals_data): (tst_QScriptValue::strictlyEquals): (tst_QScriptValue::instanceOf_data): (tst_QScriptValue::instanceOf):
  • tests/qscriptvalue/tst_qscriptvalue_generated_init.cpp: (tst_QScriptValue::initScriptValues):
  • tests/qscriptvalue/tst_qscriptvalue_generated_istype.cpp: (tst_QScriptValue::isValid_data): (tst_QScriptValue::isValid): (tst_QScriptValue::isBool_data): (tst_QScriptValue::isBool): (tst_QScriptValue::isBoolean_data): (tst_QScriptValue::isBoolean): (tst_QScriptValue::isNumber_data): (tst_QScriptValue::isNumber): (tst_QScriptValue::isFunction_data): (tst_QScriptValue::isFunction): (tst_QScriptValue::isNull_data): (tst_QScriptValue::isNull): (tst_QScriptValue::isString_data): (tst_QScriptValue::isString): (tst_QScriptValue::isUndefined_data): (tst_QScriptValue::isUndefined): (tst_QScriptValue::isObject_data): (tst_QScriptValue::isObject): (tst_QScriptValue::isArray_data): (tst_QScriptValue::isArray): (tst_QScriptValue::isError_data): (tst_QScriptValue::isError):
  • tests/qscriptvalue/tst_qscriptvalue_generated_totype.cpp: (tst_QScriptValue::toString_data): (tst_QScriptValue::toString): (tst_QScriptValue::toNumber_data): (tst_QScriptValue::toNumber): (tst_QScriptValue::toBool_data): (tst_QScriptValue::toBool): (tst_QScriptValue::toBoolean_data): (tst_QScriptValue::toBoolean): (tst_QScriptValue::toInteger_data): (tst_QScriptValue::toInteger): (tst_QScriptValue::toInt32_data): (tst_QScriptValue::toInt32): (tst_QScriptValue::toUInt32_data): (tst_QScriptValue::toUInt32): (tst_QScriptValue::toUInt16_data): (tst_QScriptValue::toUInt16):
15:07 Changeset [64164] by andreas.kling@nokia.com

2010-07-27 Andreas Kling <andreas.kling@nokia.com>

Reviewed by Kenneth Rohde Christiansen.

[Qt] putImageData(): Fast premultiply() if alpha == 255

  • platform/graphics/qt/ImageBufferQt.cpp: (WebCore::premultiply): Do nothing for opaque pixels.
14:52 Changeset [64163] by rniwa@webkit.org

REGRESSION: editing/style/remove-underline-from-stylesheet.html fails on Qt platform after r64083
https://bugs.webkit.org/show_bug.cgi?id=43061

Reviewed by Justin Garcia.

Added a qt-specific test result because the final range and the generated DOM is same.

  • platform/qt/editing/style/remove-underline-from-stylesheet-expected.txt: Added.
14:42 Changeset [64162] by jianli@chromium.org

Enhance FileThreadTask to support return type.
https://bugs.webkit.org/show_bug.cgi?id=43078

Reviewed by David Levin.

This is needed to support synchronous calls of FileStream methods in
addition to asynchronous calls via FileThreadTask.

  • html/FileThreadTask.h:

(WebCore::createFileThreadTask):

14:37 Changeset [64161] by jamesr@google.com

2010-07-27 James Robinson <jamesr@chromium.org>

Reviewed by Darin Fisher.

[chromium] Let PlatformContextSkia draw to a GLES2Canvas in addition to an SkCanvas
https://bugs.webkit.org/show_bug.cgi?id=43070

This adds a GLES2Canvas as drawing surface to PlatformContextSkia and lets callers
issue draw commands to either. The PlatformContextSkia keeps track of where
rendering results are being accumulated and can blend the hardware and software
backing stores into each other when necessary.

Still just plumbing, no functionality change.

  • platform/graphics/chromium/GLES2Canvas.cpp: (WebCore::GLES2Canvas::GLES2Canvas):
  • platform/graphics/chromium/GLES2Canvas.h:
  • platform/graphics/skia/PlatformContextSkia.cpp: (PlatformContextSkia::PlatformContextSkia): (PlatformContextSkia::setGLES2Context): (PlatformContextSkia::preSoftwareDraw): (PlatformContextSkia::preHardwareDraw): (PlatformContextSkia::forceToSoftware): (PlatformContextSkia::uploadSoftwareToHardware): (PlatformContextSkia::readbackHardwareToSoftware):
  • platform/graphics/skia/PlatformContextSkia.h: (PlatformContextSkia::useGPU): (PlatformContextSkia::gpuCanvas): (PlatformContextSkia::preSoftwareDraw): (PlatformContextSkia::preHardwareDraw): (PlatformContextSkia::forceToSoftware): (PlatformContextSkia::):
14:30 Changeset [64160] by brettw@chromium.org

2010-07-27 Brett Wilson <brettw@chromium.org>

Reviewed by Darin Fisher.

Add the ability to select fonts and do basic text drawing to the
Chromium WebKit API.
https://bugs.webkit.org/show_bug.cgi?id=42999

  • WebKit.gyp:
  • public/WebFloatPoint.h: Added. (WebKit::WebFloatPoint::WebFloatPoint): (WebKit::WebFloatPoint::operator=): (WebKit::WebFloatPoint::operator WebCore::FloatPoint): (WebKit::operator==): (WebKit::operator!=):
  • public/WebFloatRect.h: Added. (WebKit::WebFloatRect::isEmpty): (WebKit::WebFloatRect::WebFloatRect): (WebKit::WebFloatRect::operator=): (WebKit::WebFloatRect::operator WebCore::FloatRect): (WebKit::operator==): (WebKit::operator!=):
  • public/WebFont.h: Added.
  • public/WebFontDescription.h: Added. (WebKit::WebFontDescription::): (WebKit::WebFontDescription::WebFontDescription):
  • public/WebTextRun.h: Added. (WebKit::WebTextRun::WebTextRun):
  • src/AssertMatchingEnums.cpp:
  • src/WebFontDescription.cpp: Added. (WebKit::WebFontDescription::WebFontDescription): (WebKit::WebFontDescription::operator WebCore::FontDescription):
  • src/WebFontImpl.cpp: Added. (WebKit::WebFont::Create): (WebKit::WebFontImpl::WebFontImpl): (WebKit::WebFontImpl::fontDescription): (WebKit::WebFontImpl::ascent): (WebKit::WebFontImpl::descent): (WebKit::WebFontImpl::height): (WebKit::WebFontImpl::lineSpacing): (WebKit::WebFontImpl::xHeight): (WebKit::WebFontImpl::drawText): (WebKit::WebFontImpl::computeWidth): (WebKit::WebFontImpl::offsetForPosition): (WebKit::WebFontImpl::selectionRectForText):
  • src/WebFontImpl.h: Added.
  • src/WebTextRun.cpp: Added. (WebKit::WebTextRun::operator WebCore::TextRun):
14:23 Changeset [64159] by victorw@chromium.org

2010-07-27 Victor Wang <victorw@chromium.org>

Unreviewed. Update chromium test expectations for failed test on mac:
fast/dom/prototype-inheritance.html

  • platform/chromium/test_expectations.txt:
14:18 Changeset [64158] by simon.fraser@apple.com

2010-07-27 Simon Fraser <simon.fraser@apple.com>

Reviewed by Darin Adler.

Incomplete repaint of some Safari extension content which falls into a composited iframe
<rdar://problem/8235044>

syncCompositingStateRecursive() bails if it thinks that a layout is pending, because
the layout may update layers and make this sync obsolete. However, it only checked for an
active layout timer. This ignores other sources of pending style changes and layouts, like
the document's style recalc timer. So use needsLayout(), which does check this.

Unable to create a test because it depends on Safari extension behavior.

  • page/FrameView.cpp: (WebCore::FrameView::syncCompositingStateRecursive):
14:17 Changeset [64157] by andreas.kling@nokia.com

2010-07-27 Andreas Kling <andreas.kling@nokia.com>

Reviewed by Kenneth Rohde Christiansen.

[Qt] putImageData() optimizations
https://bugs.webkit.org/show_bug.cgi?id=43059

  • Single-pass premultiplication and BGR->RGB conversion
  • Use ARGB32PM for the temporary image so Qt calls the fast Source composition function
  • platform/graphics/qt/ImageBufferQt.cpp: (WebCore::premultiply): Added (static inline) (WebCore::putImageData):
14:11 Changeset [64156] by andreas.kling@nokia.com

2010-07-23 Helder Correia <heldercorreia@codeaurora.org>

Reviewed by Darin Adler.

Canvas tests 2d.imageData.object.round and 2d.imageData.object.wrap are
failing. For canvas image data manipulation, the values passed should
be truncated and wrapped. Also fix the canvas-ImageData-behaviour test
to expect wrapping rather than clamping, and add some new checkings.
https://bugs.webkit.org/show_bug.cgi?id=40272

  • runtime/JSByteArray.h: (JSC::JSByteArray::setIndex): (JSC::JSByteArray::JSByteArray):

2010-07-23 Helder Correia <heldercorreia@codeaurora.org>

Reviewed by Darin Adler.

Canvas tests 2d.imageData.object.round and 2d.imageData.object.wrap are
failing. For canvas image data manipulation, the values passed should
be truncated and wrapped. Also fix the canvas-ImageData-behaviour test
to expect wrapping rather than clamping, and add some new checkings.
https://bugs.webkit.org/show_bug.cgi?id=40272

  • canvas/philip/tests/2d.imageData.object.round-expected.txt:
  • canvas/philip/tests/2d.imageData.object.round.html:
  • canvas/philip/tests/2d.imageData.object.wrap-expected.txt:
  • fast/canvas/canvas-ImageData-behaviour-expected.txt:
  • fast/canvas/canvas-ImageData-behaviour.js:
  • platform/mac/Skipped:
  • platform/qt/Skipped:
14:06 Changeset [64155] by aroben@apple.com

Fix PageClient ownership in WebPageProxy

WKView now owns the PageClient, similar to how things work on Windows
(where the WebView is the PageClient).

Fixes <http://webkit.org/b/40185> WebPageProxy should keep a weak
reference to the PageClient

Reviewed by Anders Carlsson.

  • UIProcess/API/mac/WKView.mm:

(-[WKView initWithFrame:pageNamespaceRef:]): Store the PageClientImpl
on our WKViewData object and pass it to the WebPageProxy.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::setPageClient):

  • UIProcess/WebPageProxy.h:

Removed Mac-specific code that put the PageClient in an OwnPtr. We now
store it in a bare pointer just like on Windows.

13:55 Changeset [64154] by andersca@apple.com

Expose interface for returning the plug-in script JSObject
https://bugs.webkit.org/show_bug.cgi?id=43074

Reviewed by Sam Weinig.

WebCore:

PluginViewBase::scriptObject should be a virtual function.

  • plugins/PluginViewBase.h:

(WebCore::PluginViewBase::scriptObject):

WebKit2:

  • WebProcess/Plugins/NPRuntimeObjectMap.cpp:

(WebKit::NPRuntimeObjectMap::getOrCreateJSObject):
Add empty stub.

  • WebProcess/Plugins/NPRuntimeObjectMap.h:
  • WebProcess/Plugins/Netscape/NetscapePlugin.cpp:

(WebKit::NetscapePlugin::pluginScriptableNPObject):
Ask the plug-in for it's scriptable NPObject.

  • WebProcess/Plugins/Netscape/NetscapePlugin.h:
  • WebProcess/Plugins/Plugin.h:

Add pluginScritableNPObject.

  • WebProcess/Plugins/PluginView.cpp:

(WebKit::PluginView::PluginView):
Call PluginViewBase constructor.

(WebKit::PluginView::scriptObject):
Ask the plug-in for its scriptable object and wrap it.

  • WebProcess/Plugins/PluginView.h:

PluginView now inherits from PluginViewBase.

13:23 Changeset [64153] by ojan@chromium.org

2010-07-27 Ojan Vafai <ojan@chromium.org>

Reviewed by Eric Seidel.

webkit-patch post-commits is broken: AttributeError: Values instance has no attribute 'no_squash'
https://bugs.webkit.org/show_bug.cgi?id=42984

squash and no_squash have been intentionally erroring for a couple weeks now.
But post-commits was just broken. Just remove squash/no_squash.

  • Scripts/webkitpy/tool/steps/abstractstep.py:
  • Scripts/webkitpy/tool/steps/options.py:
13:18 Changeset [64152] by jianli@chromium.org

Add ScriptExecutionContext argument to File/Blob constructors.
https://bugs.webkit.org/show_bug.cgi?id=40587

Reviewed by David Levin.

Remove DragData::createClipboard and add Clipboard::create for it to be
called directly in DragController. This is because we need to pass
Frame pointer to Clipboard class and use it to get ScriptExecutionContext
in order to construct File objects in Clipboard::files().

  • bindings/js/SerializedScriptValue.cpp:

(WebCore::DeserializingTreeWalker::convertIfTerminal):

  • bindings/v8/SerializedScriptValue.cpp:

(WebCore::ZigZag::Reader::readBlob):
(WebCore::ZigZag::Reader::readFile):
(WebCore::ZigZag::Reader::readFileList):

  • dom/Clipboard.h:
  • editing/Editor.cpp:

(WebCore::Editor::dispatchCPPEvent):

  • editing/Editor.h:
  • editing/android/EditorAndroid.cpp:

(WebCore::Editor::newGeneralClipboard):

  • editing/brew/EditorBrew.cpp:

(WebCore::Editor::newGeneralClipboard):

  • editing/chromium/EditorChromium.cpp:

(WebCore::Editor::newGeneralClipboard):

  • editing/haiku/EditorHaiku.cpp:

(WebCore::Editor::newGeneralClipboard):

  • editing/mac/EditorMac.mm:

(WebCore::Editor::newGeneralClipboard):

  • editing/qt/EditorQt.cpp:

(WebCore::Editor::newGeneralClipboard):

  • editing/wx/EditorWx.cpp:

(WebCore::Editor::newGeneralClipboard):

  • html/Blob.cpp:

(WebCore::Blob::Blob):
(WebCore::Blob::slice):

  • html/Blob.h:

(WebCore::Blob::create):

  • html/Blob.idl:
  • html/BlobBuilder.cpp:

(WebCore::BlobBuilder::getBlob):

  • html/BlobBuilder.h:
  • html/BlobBuilder.idl:
  • html/File.cpp:

(WebCore::File::File):

  • html/File.h:

(WebCore::File::create):

  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::appendFormData):
(WebCore::HTMLInputElement::setFileListFromRenderer):

  • page/DragController.cpp:

(WebCore::DragController::dragExited):
(WebCore::DragController::performDrag):
(WebCore::DragController::tryDHTMLDrag):

  • page/chromium/EventHandlerChromium.cpp:

(WebCore::EventHandler::createDraggingClipboard):

  • page/gtk/EventHandlerGtk.cpp:

(WebCore::EventHandler::createDraggingClipboard):

  • page/win/EventHandlerWin.cpp:

(WebCore::EventHandler::createDraggingClipboard):

  • platform/DragData.h:
  • platform/android/ClipboardAndroid.cpp:

(WebCore::Clipboard::create):

  • platform/android/DragDataAndroid.cpp:
  • platform/brew/ClipboardBrew.cpp:

(WebCore::Clipboard::create):

  • platform/brew/DragDataBrew.cpp:
  • platform/chromium/ClipboardChromium.cpp:

(WebCore::Clipboard::create):
(WebCore::ClipboardChromium::ClipboardChromium):
(WebCore::ClipboardChromium::create):
(WebCore::ClipboardChromium::files):

  • platform/chromium/ClipboardChromium.h:
  • platform/chromium/DragDataChromium.cpp:
  • platform/efl/ClipboardEfl.cpp:

(WebCore::Editor::newGeneralClipboard):
(WebCore::Clipboard::create):

  • platform/efl/DragDataEfl.cpp:
  • platform/gtk/ClipboardGtk.cpp:

(WebCore::Editor::newGeneralClipboard):
(WebCore::Clipboard::create):
(WebCore::ClipboardGtk::ClipboardGtk):
(WebCore::ClipboardGtk::files):

  • platform/gtk/ClipboardGtk.h:

(WebCore::ClipboardGtk::create):

  • platform/gtk/DragDataGtk.cpp:
  • platform/haiku/ClipboardHaiku.cpp:

(WebCore::Clipboard::create):

  • platform/haiku/DragDataHaiku.cpp:
  • platform/mac/ClipboardMac.mm:

(WebCore::Clipboard::create):
(WebCore::ClipboardMac::files):

  • platform/mac/DragDataMac.mm:
  • platform/qt/ClipboardQt.cpp:

(WebCore::Clipboard::create):

  • platform/qt/DragDataQt.cpp:
  • platform/win/ClipboardWin.cpp:

(WebCore::Clipboard::create):
(WebCore::ClipboardWin::ClipboardWin):
(WebCore::ClipboardWin::files):

  • platform/win/ClipboardWin.h:

(WebCore::ClipboardWin::create):

  • platform/win/DragDataWin.cpp:
  • platform/win/EditorWin.cpp:

(WebCore::Editor::newGeneralClipboard):

  • platform/wince/DragDataWince.cpp:
  • platform/wince/EditorWince.cpp:

(WebCore::Editor::newGeneralClipboard):

  • platform/wx/ClipboardWx.cpp:

(WebCore::Clipboard::create):

  • platform/wx/DragDataWx.cpp:
13:07 Changeset [64151] by dumi@chromium.org

Move all WebSQLDatabases-specific code behind #if ENABLE(DATABASE).
https://bugs.webkit.org/show_bug.cgi?id=43035

Reviewed by David Levin.

WebCore:

Make Chromium compile with ENABLE_DATABASE=0. The #ifdefs in
DatabaseAuthorizer and ChromiumBridge are removed, because they're
used by non-HTML5 DBs too (the classes in WebCore/platform/sql/),
which are used by other features too. So they need to be compiled
in even if HTML5 DBs are disabled.

  • bindings/v8/custom/V8DOMWindowCustom.cpp:
  • page/DOMWindow.idl:
  • platform/chromium/ChromiumBridge.h:
  • storage/DatabaseAuthorizer.cpp:
  • storage/chromium/DatabaseObserver.h:
  • storage/chromium/DatabaseTrackerChromium.cpp:
  • storage/chromium/QuotaTracker.cpp:
  • storage/chromium/QuotaTracker.h:
  • storage/chromium/SQLTransactionClientChromium.cpp:

WebKit/chromium:

Make Chromium compile with ENABLE_DATABASE=0.

  • src/ChromiumBridge.cpp:

(WebCore::ChromiumBridge::databaseGetFileSize):

  • src/DatabaseObserver.cpp:
  • src/WebDatabase.cpp:

(WebCore::AbstractDatabase::stringIdentifier):
(WebCore::AbstractDatabase::displayName):
(WebCore::AbstractDatabase::estimatedSize):
(WebCore::AbstractDatabase::securityOrigin):
(WebKit::WebDatabase::updateDatabaseSize):
(WebKit::WebDatabase::closeDatabaseImmediately):

12:48 Changeset [64150] by kevino@webkit.org

[wx] Build fix after introduction of EXECUTABLE_ALLOCATOR_DEMAND.

12:38 Changeset [64149] by cfleizach@apple.com

AX: Misspellings not shown in AXAttributedStringForTextMarkerRange when selection is on word
https://bugs.webkit.org/show_bug.cgi?id=41817

Reviewed by David Kilzer.

WebCore:

Change how misspelled words are identified for accessibility. No longer rely on the
cached markers in Document. Calculate on the fly, which is more accurate in a variety of
circumstances (like when selection has not moved across words, of if the cursor is in the middle
of a misspelled word).

Test: platform/mac/accessibility/attributed-string-includes-misspelled-with-selection.html

  • accessibility/mac/AccessibilityObjectWrapper.mm:

(AXAttributeStringSetSpelling):
(AXAttributedStringAppendText):
(-[AccessibilityObjectWrapper doAXAttributedStringForTextMarkerRange:]):

LayoutTests:

  • platform/mac/accessibility/attributed-string-includes-misspelled-with-selection-expected.txt: Added.
  • platform/mac/accessibility/attributed-string-includes-misspelled-with-selection.html: Added.
12:34 Changeset [64148] by victorw@chromium.org

2010-07-27 Victor Wang <victorw@chromium.org>

Unreviewed. Update chromium test expectations.

  • platform/chromium/test_expectations.txt:
  • storage/indexeddb/keyrange-expected.txt:
12:29 Changeset [64147] by andersca@apple.com

Move NPJSObject out into separate files
https://bugs.webkit.org/show_bug.cgi?id=43068

Reviewed by Adam Roben.

  • WebKit2.xcodeproj/project.pbxproj:
  • WebProcess/Plugins/NPJSObject.cpp: Added.

(WebKit::NPJSObject::create):
(WebKit::NPJSObject::NPJSObject):
(WebKit::NPJSObject::~NPJSObject):
(WebKit::NPJSObject::isNPJSObject):
(WebKit::NPJSObject::initialize):
(WebKit::identifierFromIdentifierRep):
(WebKit::NPJSObject::hasProperty):
(WebKit::NPJSObject::getProperty):
(WebKit::NPJSObject::npClass):
(WebKit::NPJSObject::NP_Allocate):
(WebKit::NPJSObject::NP_Deallocate):
(WebKit::NPJSObject::NP_HasProperty):
(WebKit::NPJSObject::NP_GetProperty):

  • WebProcess/Plugins/NPJSObject.h: Added.

(WebKit::NPJSObject::jsObject):
(WebKit::NPJSObject::toNPJSObject):

  • WebProcess/Plugins/NPRuntimeObjectMap.cpp:

(WebKit::NPRuntimeObjectMap::npJSObjectDestroyed):
(WebKit::NPRuntimeObjectMap::globalExec):

  • WebProcess/Plugins/NPRuntimeObjectMap.h:
  • win/WebKit2.vcproj:
12:14 Changeset [64146] by barraclough@apple.com

Bug 42621 - Add a bump allocator for the YARR interpreter

Reviewed by Oliver Hunt.

The regex engine requires lifo allocation, however currently uses the general purpose
malloc/free memory allocation. A simple bump pointer allocator should provide a lower
overhead allocation solution.

JavaScriptCore:

When using YARR interpreter, 15% progression on v8-regex.

  • JavaScriptCore.xcodeproj/project.pbxproj:
  • runtime/JSGlobalData.h:
  • runtime/RegExp.cpp:

(JSC::RegExp::compile):

  • wtf/BumpPointerAllocator.h: Added.

(WTF::BumpPointerPool::ensureCapacity):
(WTF::BumpPointerPool::alloc):
(WTF::BumpPointerPool::dealloc):
(WTF::BumpPointerPool::operator new):
(WTF::BumpPointerPool::BumpPointerPool):
(WTF::BumpPointerPool::create):
(WTF::BumpPointerPool::shrink):
(WTF::BumpPointerPool::destroy):
(WTF::BumpPointerPool::ensureCapacityCrossPool):
(WTF::BumpPointerPool::deallocCrossPool):
(WTF::BumpPointerAllocator::BumpPointerAllocator):
(WTF::BumpPointerAllocator::~BumpPointerAllocator):
(WTF::BumpPointerAllocator::startAllocator):
(WTF::BumpPointerAllocator::stopAllocator):

  • yarr/RegexInterpreter.cpp:

(JSC::Yarr::Interpreter::allocDisjunctionContext):
(JSC::Yarr::Interpreter::freeDisjunctionContext):
(JSC::Yarr::Interpreter::allocParenthesesDisjunctionContext):
(JSC::Yarr::Interpreter::freeParenthesesDisjunctionContext):
(JSC::Yarr::Interpreter::interpret):
(JSC::Yarr::Interpreter::Interpreter):
(JSC::Yarr::ByteCompiler::compile):
(JSC::Yarr::byteCompileRegex):

  • yarr/RegexInterpreter.h:

(JSC::Yarr::BytecodePattern::BytecodePattern):

JavaScriptGlue:

  • ForwardingHeaders/wtf/BumpPointerAllocator.h: Added.

WebCore:

  • ForwardingHeaders/wtf/BumpPointerAllocator.h: Added.
12:04 Changeset [64145] by andersca@apple.com

Rename NPJSObjectMap to NPRuntimeObjectMap
https://bugs.webkit.org/show_bug.cgi?id=43066

Reviewed by Adam Roben.

  • WebKit2.xcodeproj/project.pbxproj:
  • WebProcess/Plugins/NPJSObjectMap.cpp: Removed.
  • WebProcess/Plugins/NPJSObjectMap.h: Removed.
  • WebProcess/Plugins/NPRuntimeObjectMap.cpp: Added.

(WebKit::NPJSObject::NPJSObject):
(WebKit::NPJSObject::~NPJSObject):
(WebKit::NPJSObject::toNPJSObject):
(WebKit::NPJSObject::create):
(WebKit::NPJSObject::isNPJSObject):
(WebKit::NPJSObject::initialize):
(WebKit::identifierFromIdentifierRep):
(WebKit::NPJSObject::hasProperty):
(WebKit::NPJSObject::getProperty):
(WebKit::NPJSObject::npClass):
(WebKit::NPJSObject::NP_Allocate):
(WebKit::NPJSObject::NP_Deallocate):
(WebKit::NPJSObject::NP_HasProperty):
(WebKit::NPJSObject::NP_GetProperty):
(WebKit::NPRuntimeObjectMap::NPRuntimeObjectMap):
(WebKit::NPRuntimeObjectMap::getOrCreateNPObject):
(WebKit::NPRuntimeObjectMap::invalidate):

  • WebProcess/Plugins/NPRuntimeObjectMap.h: Added.
  • WebProcess/Plugins/PluginView.cpp:

(WebKit::PluginView::PluginView):
(WebKit::PluginView::~PluginView):
(WebKit::PluginView::windowScriptNPObject):
(WebKit::PluginView::pluginElementNPObject):

  • WebProcess/Plugins/PluginView.h:
  • win/WebKit2.vcproj:
11:32 Changeset [64144] by pfeldman@chromium.org

2010-07-27 Pavel Feldman <pfeldman@chromium.org>

Reviewed by Joseph Pecoraro.

Web Inspector: render network timing as gant chart in popover.

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

  • inspector/InspectorResource.cpp: (WebCore::InspectorResource::buildObjectForTiming):
  • inspector/front-end/ResourcesPanel.js: (WebInspector.ResourcesPanel.prototype._showPopover):
  • inspector/front-end/inspector.css: (.resource-timing-row): (.resource-timing-bar): (.resource-timing-bar-title):
  • inspector/front-end/utilities.js:
11:16 Changeset [64143] by ossy@webkit.org

Unreviewed.

[Qt] Add inspector/debugger-breakpoints-not-activated-on-reload.html (introduced in r64133) to the Skipped list.

  • platform/qt/Skipped: inspector/debugger-breakpoints-not-activated-on-reload.html skipped.
11:14 Changeset [64142] by victorw@chromium.org

2010-07-27 Victor Wang <victorw@chromium.org>

Unreviewed, rolling out r64104.
http://trac.webkit.org/changeset/64104
https://bugs.webkit.org/show_bug.cgi?id=40768

The patch causes chromium webkit socket laytest crashes on
windows randomly

  • inspector/InspectorController.cpp: (WebCore::InspectorController::addResource): (WebCore::InspectorController::removeResource):
  • inspector/InspectorController.h:
  • inspector/InspectorResource.cpp: (WebCore::InspectorResource::InspectorResource): (WebCore::InspectorResource::updateScriptObject): (WebCore::InspectorResource::cachedResource): (WebCore::InspectorResource::type): (WebCore::InspectorResource::resourceData):
  • inspector/InspectorResource.h: (WebCore::InspectorResource::): (WebCore::InspectorResource::create):
  • inspector/front-end/Resource.js: (WebInspector.Resource.Type.toString): (WebInspector.Resource.prototype.set type): (WebInspector.Resource.prototype._mimeTypeIsConsistentWithType):
  • inspector/front-end/ResourceView.js: (WebInspector.ResourceView.prototype._refreshRequestHeaders): (WebInspector.ResourceView.prototype._refreshResponseHeaders): (WebInspector.ResourceView.prototype._refreshHeaders):
  • inspector/front-end/inspector.css: (.resources-category-scripts, .resources-category-xhr, .resources-category-fonts, .resources-category-other):
  • inspector/front-end/inspector.js: (WebInspector.loaded): (WebInspector.updateResource):
  • websockets/WebSocketChannel.cpp: (WebCore::WebSocketChannel::WebSocketChannel): (WebCore::WebSocketChannel::disconnect): (WebCore::WebSocketChannel::didOpen): (WebCore::WebSocketChannel::didClose): (WebCore::WebSocketChannel::processBuffer):
  • websockets/WebSocketChannel.h:
11:04 Changeset [64141] by andreip@google.com

2010-07-27 Andrei Popescu <andreip@google.com>

Reviewed by Jeremy Orlow.

[IndexedDB] Key range methods belong to the IDBKeyRange interface
https://bugs.webkit.org/show_bug.cgi?id=43052

  • storage/indexeddb/script-tests/keyrange.js: (checkSingleKeyRange): (checkLeftBoundKeyRange): ():

2010-07-27 Andrei Popescu <andreip@google.com>

Reviewed by Jeremy Orlow.

[IndexedDB] Key range methods belong to the IDBKeyRange interface
https://bugs.webkit.org/show_bug.cgi?id=43052

Move the key range methods from the IndexedDatabaseRequest interface
to the IDBKeyRange interface. Also add a global IDBKeyRange object
that can be used to access the IDBKeyRange constants and factory methods.

  • page/DOMWindow.cpp: (WebCore::DOMWindow::clear): (WebCore::DOMWindow::iDBKeyRange):
  • page/DOMWindow.h:
  • page/DOMWindow.idl:
  • storage/IDBKeyRange.cpp: (WebCore::IDBKeyRange::only): (WebCore::IDBKeyRange::leftBound): (WebCore::IDBKeyRange::rightBound): (WebCore::IDBKeyRange::bound):
  • storage/IDBKeyRange.h:
  • storage/IDBKeyRange.idl:
  • storage/IndexedDatabaseRequest.cpp:
  • storage/IndexedDatabaseRequest.h:
  • storage/IndexedDatabaseRequest.idl:
10:45 QtScript edited by kent.hansen@nokia.com
(diff)
10:42 QtScript edited by kent.hansen@nokia.com
(diff)
10:39 BugAdvice created by ojan@chromium.org
10:17 Changeset [64140] by aroben@apple.com

Make preferences APIs robust against web process crashes

Fixes <http://webkit.org/b/43049> Crash in
WebPageNamespace::preferencesDidChange if preferences are changed
after the web process crashes

Reviewed by Anders Carlsson.

  • UIProcess/WebContext.cpp:

(WebKit::WebContext::preferencesDidChange): Bail out if we don't have
a web process. The new preference values will get propogated to the
web process if and when it launches.

10:14 Changeset [64139] by cfleizach@apple.com

AX: consolidate parentObjectIfExists() and parentObject() code
https://bugs.webkit.org/show_bug.cgi?id=42981

Reviewed by Darin Adler.

Consolidate duplicate code in parentObject and parentObjectIfExists

No tests. No functionality changed.

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::renderParentObject):
(WebCore::AccessibilityRenderObject::parentObjectIfExists):
(WebCore::AccessibilityRenderObject::parentObject):

  • accessibility/AccessibilityRenderObject.h:
09:56 WikiStart edited by ojan@chromium.org
(diff)
09:44 Changeset [64138] by leandro@webkit.org

2010-07-26 ryuan choi <ryuan.choi@samsung.com>

Unreviewed build fix.

[EFL]REGRESSION(r63952): build break because of InspectorBackendDispatcher.cpp
https://bugs.webkit.org/show_bug.cgi?id=43021

Modify cmake script to fix build break as adding InspectorBackendDispatcher.

  • cmake/WebKitGenerators.cmake:
09:33 Changeset [64137] by cfleizach@apple.com

AX: replace m_renderer->document->axObjectCache() with just axObjectCache()
https://bugs.webkit.org/show_bug.cgi?id=42979

Reviewed by Adam Barth.

No new tests. Code cleanup only.

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::firstChild):
(WebCore::AccessibilityRenderObject::lastChild):
(WebCore::AccessibilityRenderObject::previousSibling):
(WebCore::AccessibilityRenderObject::nextSibling):
(WebCore::AccessibilityRenderObject::parentObjectIfExists):
(WebCore::AccessibilityRenderObject::parentObject):
(WebCore::AccessibilityRenderObject::menuForMenuButton):
(WebCore::AccessibilityRenderObject::menuButtonForMenu):
(WebCore::AccessibilityRenderObject::addRadioButtonGroupMembers):
(WebCore::AccessibilityRenderObject::axObjectCache):
(WebCore::AccessibilityRenderObject::contentChanged):
(WebCore::AccessibilityRenderObject::addChildren):

09:30 Changeset [64136] by commit-queue@webkit.org

2010-07-27 Rafael Antognolli <antognolli@profusion.mobi>

Reviewed by Antonio Gomes.

[EFL] Changing library names (appending suffix "_efl")
https://bugs.webkit.org/show_bug.cgi?id=42902

Instead of having libwebcore.so, we will have libwebcore_efl.so.
Same for javascriptcore and wtf when compiled as shared, and for jsc.

  • cmake/OptionsEfl.cmake:
09:19 Changeset [64135] by mrobinson@webkit.org

2010-07-27 Martin Robinson <mrobinson@igalia.com>

Unreviewed.

Remove some mistakenly skipped tests from the skipped list as well as
a couple tests that no longer exist.

  • platform/gtk/Skipped: Fix some errors in the skipped list.
09:18 Changeset [64134] by aroben@apple.com

Mac build fix

  • MiniBrowser/mac/BrowserWindowController.m:

(processDidExit):
(-[BrowserWindowController awakeFromNib]):
Added processDidExit support.

09:12 Changeset [64133] by commit-queue@webkit.org

2010-07-27 Pavel Podivilov <podivilov@chromium.org>

Reviewed by Pavel Feldman.

Web Inspector: do not activate all breakpoints on page reload
https://bugs.webkit.org/show_bug.cgi?id=41461

  • http/tests/inspector/debugger-test.js: (frontend_scriptsAreParsed): (frontend_waitUntilScriptsAreParsed.waitForAllScripts): (frontend_waitUntilScriptsAreParsed): (frontend_ensureSourceFrameLoaded): (frontend_showScriptSource):
  • inspector/debugger-breakpoints-not-activated-on-reload-expected.txt: Added.
  • inspector/debugger-breakpoints-not-activated-on-reload.html: Added.
  • platform/gtk/Skipped: skip the test on GTK due to JSC debugger issue

2010-07-27 Pavel Podivilov <podivilov@chromium.org>

Reviewed by Pavel Feldman.

Web Inspector: do not activate all breakpoints on page reload
https://bugs.webkit.org/show_bug.cgi?id=41461

Test: inspector/debugger-breakpoints-not-activated-on-reload.html

  • inspector/front-end/ScriptView.js: (WebInspector.ScriptView.prototype._addBreakpoint):
  • inspector/front-end/ScriptsPanel.js: (WebInspector.ScriptsPanel): (WebInspector.ScriptsPanel.prototype._breakpointAdded): (WebInspector.ScriptsPanel.prototype.toggleBreakpointsClicked):
  • inspector/front-end/SourceView.js: (WebInspector.SourceView.prototype._addBreakpoint):

2010-07-27 Pavel Podivilov <podivilov@chromium.org>

Reviewed by Pavel Feldman.

Web Inspector: if breakpoints were deactivated, add new breakpoints as disabled.
https://bugs.webkit.org/show_bug.cgi?id=41461

  • src/js/DebuggerScript.js: ():
09:06 Changeset [64132] by aroben@apple.com

Add a ProcessDidExit callback to the WKPageLoaderClient

Fixes <http://webkit.org/b/43048> UI process needs a way to find out
when the web process crashes

Reviewed by Anders Carlsson.

  • UIProcess/API/C/WKPage.h: Added WKPageProcessDidExitCallback, and a

processDidExit member of that type to WKPageLoaderClient.

  • UIProcess/WebLoaderClient.cpp:

(WebKit::WebLoaderClient::processDidExit): Added. Calls through to the
WKPageLoaderClient.

  • UIProcess/WebLoaderClient.h: Added processDidExit.
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::processDidExit): Tell the loader client the
process exited.

08:54 Changeset [64131] by tonikitoo@webkit.org

2010-07-26 Antonio Gomes <tonikitoo@webkit.org>

Rubber-stamped by Simon Hausmann.

[Qt] Reorder some items in Developers' menu so QGraphicsView one is easier accessible.

Move some less useful menu items on Developers menu from the top to the bottom, so
QGraphicsView menu goes to the top, and becomes more quickly accessible.

  • QtTestBrowser/main.cpp: (LauncherWindow::createChrome):
08:37 Changeset [64130] by commit-queue@webkit.org

2010-07-27 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>

Reviewed by Kenneth Rohde Christiansen.

[Qt] Implement QScriptEngine::newFunction() parts that doesn't depend on QScriptContext
https://bugs.webkit.org/show_bug.cgi?id=42174

Since our function can be called in Javascript both as a function
and as a constructor, we couldn't use the existing
JSObjectMakeFunctionWithCallback() and JSObjectMakeConstructor().

Instead, a JSClassRef was created, implementing the needed
callbacks (the callAsConstructor is not there yet because its
behaviour depends on QScriptContext).

For the moment, QScriptContext is defined as a void type, since we
still don't use it.

The variant of newFunction() that also takes an external argument
was also implemented. The details of implementation were added to
the qscriptfunction{.c,_p.h} files.

This commit also adds tests, some of them from Qt's upstream.

  • api/QtScript.pro:
  • api/qscriptengine.cpp: (QScriptEngine::newFunction):
  • api/qscriptengine.h:
  • api/qscriptengine_p.cpp: (QScriptEnginePrivate::QScriptEnginePrivate): (QScriptEnginePrivate::~QScriptEnginePrivate): (QScriptEnginePrivate::newFunction):
  • api/qscriptengine_p.h:
  • api/qscriptfunction.cpp: Added. (qt_NativeFunction_finalize): (qt_NativeFunction_callAsFunction): (qt_NativeFunctionWithArg_finalize): (qt_NativeFunctionWithArg_callAsFunction):
  • api/qscriptfunction_p.h: Added. (QNativeFunctionData::QNativeFunctionData): (QNativeFunctionWithArgData::QNativeFunctionWithArgData):
  • api/qscriptoriginalglobalobject_p.h: (QScriptOriginalGlobalObject::QScriptOriginalGlobalObject): (QScriptOriginalGlobalObject::~QScriptOriginalGlobalObject): (QScriptOriginalGlobalObject::functionPrototype):
  • tests/qscriptengine/tst_qscriptengine.cpp: (myFunction): (myFunctionWithArg): (myFunctionThatReturns): (myFunctionThatReturnsWithoutEngine): (myFunctionThatReturnsWrongEngine): (tst_QScriptEngine::newFunction):
08:29 QtWebKitTableOfFeatures20 edited by henry.haverinen@nokia.com
(diff)
08:25 QtScript created by kent.hansen@nokia.com
08:25 Changeset [64129] by aroben@apple.com

Fix the path to InjectedBundle.dll in Debug_Internal builds

Fixes <http://webkit.org/b/42994> WebKitTestRunner fails to load
InjectedBundle.dll in the Debug_Internal configuration

Reviewed by Anders Carlsson.

  • WebKitTestRunner/win/TestControllerWin.cpp:

(WTR::TestController::initializeInjectedBundlePath): Add the _debug
suffix only in Debug_All builds.

08:06 Changeset [64128] by commit-queue@webkit.org

2010-07-27 Pranav Kedia <pranavk@chromium.org>

Reviewed by Adam Barth.

Chrome browser Bug: Pause button stays when <audio> hits end
https://bugs.webkit.org/show_bug.cgi?id=42677

The change is just in chromium media. Tested using media part of
WebKit layout tests. The following test that was failing is passing.
media/video-duration-known-after-eos.html -> unexpected pass

  • rendering/RenderMediaControlsChromium.cpp: (WebCore::paintMediaPlayButton): Using mediaElement->canPlay() instead of mediaElement->paused() to paint the play/pause button.
08:01 Changeset [64127] by abecsi@webkit.org

2010-07-27 Andras Becsi <abecsi@webkit.org>

Reviewed by Kenneth Rohde Christiansen.

[Qt] WebEventFactory::createWebMouseEvent should follow WebKit2 API changes
https://bugs.webkit.org/show_bug.cgi?id=43042

  • Shared/qt/WebEventFactoryQt.cpp: (WebKit::WebEventFactory::createWebMouseEvent): Set deltaX, deltaY and deltaZ arguments.
07:12 Changeset [64126] by steveblock@google.com

2010-07-27 Steve Block <steveblock@google.com>

Reviewed by Jeremy Orlow.

Client-based Geolocation does not pass enableHighAccuracy option to controller and client
https://bugs.webkit.org/show_bug.cgi?id=40374

This change passes the enableHighAccuracy request option to the GeolocationController.
The GeolocationController tracks whether this should be used by the client.

No new tests possible as the mock provider doesn't support this feature.

  • page/Geolocation.cpp: (WebCore::Geolocation::setIsAllowed): (WebCore::Geolocation::startUpdating):
  • page/GeolocationController.cpp: (WebCore::GeolocationController::addObserver): (WebCore::GeolocationController::removeObserver):
  • page/GeolocationController.h:
  • page/GeolocationControllerClient.h:

2010-07-27 Steve Block <steveblock@google.com>

Reviewed by Jeremy Orlow.

Client-based Geolocation does not pass enableHighAccuracy option to controller and client
https://bugs.webkit.org/show_bug.cgi?id=40374

Stub out setEnableHighAccuracy method for the Mac port.

  • WebCoreSupport/WebGeolocationControllerClient.h: (WebGeolocationControllerClient::setEnableHighAccuracy):

2010-07-27 Steve Block <steveblock@google.com>

Reviewed by Alexey Proskuryakov.

Client-based Geolocation does not pass enableHighAccuracy option to controller and client
https://bugs.webkit.org/show_bug.cgi?id=40374

Stub out setEnableHighAccuracy method for the Win port.

  • WebCoreSupport/WebGeolocationControllerClient.h: (WebGeolocationControllerClient::setEnableHighAccuracy):
06:55 Changeset [64125] by steveblock@google.com

2010-07-27 Steve Block <steveblock@google.com>

Reviewed by Jeremy Orlow.

LayoutTests/fast/dom/DeviceOrientation/window-property.html assumes use of V8
https://bugs.webkit.org/show_bug.cgi?id=43025

This change modifies window-property.html and its expected result to work with JSC.
A V8-specific expected result is added for Android.

  • fast/dom/DeviceOrientation/script-tests/window-property.js:
  • fast/dom/DeviceOrientation/window-property-expected.txt:
  • platform/android-v8: Added.
  • platform/android-v8/fast: Added.
  • platform/android-v8/fast/dom: Added.
  • platform/android-v8/fast/dom/DeviceOrientation: Added.
  • platform/android-v8/fast/dom/DeviceOrientation/window-property-expected.txt: Added.
06:44 QtWebKitTableOfFeatures20 edited by henry.haverinen@nokia.com
(diff)
06:41 Changeset [64124] by loislo@chromium.org

2010-07-27 Ilya Tikhonovsky <loislo@chromium.org>

Reviewed by Pavel Feldman.

WebInspector: Current implementation of message based inspector
transport generated by CodeGeneratorInspector should be upstreamed
from WebKit/chromium to WebCore.
https://bugs.webkit.org/show_bug.cgi?id=42983

  • Android.derived.v8bindings.mk:
  • CMakeLists.txt:
  • DerivedSources.cpp:
  • DerivedSources.make:
  • GNUmakefile.am:
  • WebCore.exp.in:
  • WebCore.gypi:
  • WebCore.pri:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/ScriptObject.cpp:
  • bindings/js/ScriptObject.h:
  • bindings/v8/ScriptObject.cpp:
  • bindings/v8/ScriptObject.h:
  • inspector/CodeGeneratorInspector.pm:
  • inspector/InspectorBackend.idl: Removed.
  • inspector/InspectorFrontendClient.h:
  • inspector/InspectorFrontendClientLocal.cpp: (WebCore::InspectorFrontendClientLocal::windowObjectCleared): (WebCore::InspectorFrontendClientLocal::sendMessageToBackend):
  • inspector/InspectorFrontendClientLocal.h:
  • inspector/InspectorFrontendHost.cpp: (WebCore::InspectorFrontendHost::sendMessageToBackend):
  • inspector/InspectorFrontendHost.h:
  • inspector/InspectorFrontendHost.idl:
  • inspector/front-end/InspectorBackendStub.js: (.WebInspector.InspectorBackendStub): (.WebInspector.InspectorBackendStub.prototype._registerDelegate): (.WebInspector.InspectorBackendStub.prototype.sendMessageToBackend):

2010-07-27 Ilya Tikhonovsky <loislo@chromium.org>

Reviewed by Pavel Feldman.

WebInspector: Current implementation of message based inspector
transport generated by CodeGeneratorInspector should be upstreamed
from WebKit/chromium to WebCore.
https://bugs.webkit.org/show_bug.cgi?id=42983

  • WebKit.gypi:
  • src/InspectorFrontendClientImpl.cpp: (WebKit::InspectorFrontendClientImpl::sendMessageToBackend):
  • src/InspectorFrontendClientImpl.h:
  • src/ToolsAgent.h:
  • src/WebDevToolsAgentImpl.cpp: (WebKit::WebDevToolsAgentImpl::dispatchOnInspectorController): (WebKit::WebDevToolsAgentImpl::initDevToolsAgentHost):
  • src/WebDevToolsAgentImpl.h:
  • src/js/InspectorControllerImpl.js: Removed.
06:10 QtWebKitTableOfFeatures20 edited by henry.haverinen@nokia.com
(diff)
06:01 Changeset [64123] by andreas.kling@nokia.com

2010-07-25 Mahesh Kulkarni <mahesh.kulkarni@nokia.com>

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=42947
Check for WEBKIT_TESTFONTS for qt, gtk and windows port and throw
error. Without which dumpRenderTree crashes.

  • Scripts/old-run-webkit-tests:
05:56 QtWebKitTableOfFeatures20 edited by henry.haverinen@nokia.com
(diff)
05:49 QtWebKitTableOfFeatures20 edited by henry.haverinen@nokia.com
(diff)
05:43 QtWebKitTableOfFeatures20 edited by henry.haverinen@nokia.com
(diff)
05:27 Changeset [64122] by commit-queue@webkit.org

2010-07-27 Balazs Kelemen <kb@inf.u-szeged.hu>

Reviewed by Kenneth Rohde Christiansen.

[Qt] WebKit::PageClient implementation needs a dedicated class

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

  • UIProcess/API/qt/qwkpage.cpp: (PageClientImpl::PageClientImpl): Added. (PageClientImpl::pageDidEnterAcceleratedCompositing): Moved from QWKPagePrivate. (PageClientImpl::pageDidLeaveAcceleratedCompositing): Ditto. (PageClientImpl::processDidExit): Ditto. (PageClientImpl::processDidRevive): Ditto. (PageClientImpl::setCursor): Ditto. (PageClientImpl::takeFocus): Ditto. (PageClientImpl::toolTipChanged): Ditto. (QWKPagePrivate::QWKPagePrivate): Set a new instance of the PageClientImpl as PageClient rather than 'this'.
  • UIProcess/API/qt/qwkpage_p.h: Removed PageClient implementation methods from QWKPagePrivate.
05:08 Changeset [64121] by antonm@chromium.org

2010-07-27 Anton Muhin <antonm@chromium.org>

Reviewed by Darin Adler.

Extend a test checking access to nested elements on the document to cover recent regression in Chromium
https://bugs.webkit.org/show_bug.cgi?id=42980

See http://code.google.com/p/chromium/issues/detail?id=48804 for more details.

  • fast/dom/HTMLDocument/document-special-properties-expected.txt:
  • fast/dom/HTMLDocument/document-special-properties.html:
04:56 QtWebKitBackportingFixes edited by hausmann@webkit.org
(diff)
04:56 QtWebKitBackportingFixes edited by hausmann@webkit.org
(diff)
03:55 Changeset [64120] by hausmann@webkit.org

[Qt] Incorrect input method hints
https://bugs.webkit.org/show_bug.cgi?id=43037

Reviewed by Tor Arne Vestbø.

Properly set or reset all input method hints when
activating input fields.

  • WebCoreSupport/EditorClientQt.cpp:

(WebCore::EditorClientQt::setInputMethodState):

  • tests/qwebview/tst_qwebview.cpp:

(tst_QWebView::focusInputTypes): Extended unit test to verify that we
reset hints.

03:05 Changeset [64119] by vestbo@webkit.org

[Qt] Fix failing layout-tests after r64114

03:04 Companies and Organizations that have contributed to WebKit edited by zherczeg@webkit.org
(diff)
02:51 Changeset [64118] by kim.1.gronholm@nokia.com

2010-07-27 Kim Grönholm <kim.1.gronholm@nokia.com>

Reviewed by Simon Hausmann.

[Qt] Decouple QTouchEvent's accepted flag from JS prevent default
https://bugs.webkit.org/show_bug.cgi?id=42892

We need to always accept the QTouchEvents in order to get TouchUpdate and
TouchEnd events. QWebPage::event() return value is used to indicate
whether the default action was prevented for the touch events.

  • Api/qgraphicswebview.cpp: (QGraphicsWebView::sceneEvent):
  • Api/qwebpage.cpp: (QWebPagePrivate::touchEvent): (QWebPage::event):
  • Api/qwebpage_p.h:
  • Api/qwebview.cpp: (QWebView::event):
02:36 Changeset [64117] by tkent@chromium.org

Unreviewed. Trivial test fix.

  • fast/forms/script-tests/input-number-events.js: Adjust pixel values in order to work on Windows.
02:29 Changeset [64116] by vestbo@webkit.org

Update expected result as well to match r64115.

Reviewed by NOBODY.

  • fast/events/spatial-navigation/snav-clipped-overflowed-content-expected.txt:
02:12 Changeset [64115] by vestbo@webkit.org

Fix GTK layout-test break after r64114

Reviewed by NOBODY.

Skipping the test for Qt until we can find a non-fragile way to write
the test.

  • fast/events/spatial-navigation/snav-clipped-overflowed-content.html:
  • platform/qt/Skipped:
01:38 Changeset [64114] by vestbo@webkit.org

[Qt] Change default font from sans-serif to serif

Reviewed by Simon Hausmann.

This matches what other ports and browser engines do.

We now also use QFont's defaultFontFamily() to resolve the
correct fonts for each platform. For Qt >= 4.7 we can take
advantage of the new enums for generic font families.

The spatial-navigation test had to be changed due to the
fragile nature of the down-action. By changing the font we
hit the case where the two down actions were not enough to
scroll the link into view.

01:33 Changeset [64113] by commit-queue@webkit.org

2010-07-27 Dominic Mazzoni <dmazzoni@google.com>

Reviewed by Chris Fleizach.

Add accessors for node and document to WebAccessibilityObject,
needed to support some Windows screenreader functionality.

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

  • public/WebAccessibilityObject.h:
  • src/WebAccessibilityObject.cpp: (WebKit::WebAccessibilityObject::node): (WebKit::WebAccessibilityObject::document):
01:07 Changeset [64112] by commit-queue@webkit.org

2010-07-27 Dominic Mazzoni <dmazzoni@google.com>

Reviewed by Chris Fleizach.

For Windows accessibility, have WebElement provide access
to its attributes.

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

  • WebKit.gyp:
  • public/WebAttribute.h: Added. (WebKit::WebAttribute::~WebAttribute): (WebKit::WebAttribute::WebAttribute): (WebKit::WebAttribute::operator=):
  • public/WebElement.h:
  • public/WebNamedNodeMap.h: Added. (WebKit::WebNamedNodeMap::~WebNamedNodeMap): (WebKit::WebNamedNodeMap::WebNamedNodeMap): (WebKit::WebNamedNodeMap::operator=):
  • src/WebAttribute.cpp: Added. (WebKit::WebAttribute::reset): (WebKit::WebAttribute::assign): (WebKit::WebAttribute::WebAttribute): (WebKit::WebAttribute::localName): (WebKit::WebAttribute::value):
  • src/WebElement.cpp: (WebKit::WebElement::attributes):
  • src/WebNamedNodeMap.cpp: Added. (WebKit::WebNamedNodeMap::reset): (WebKit::WebNamedNodeMap::assign): (WebKit::WebNamedNodeMap::WebNamedNodeMap): (WebKit::WebNamedNodeMap::length): (WebKit::WebNamedNodeMap::attributeItem):
00:50 Changeset [64111] by commit-queue@webkit.org

2010-07-27 Satish Sampath <satish@chromium.org>

Reviewed by Kent Tamura.

Simplify speech input plumbing in webcore and webkit
https://bugs.webkit.org/show_bug.cgi?id=43008

No new tests as functionality is not changed.

  • GNUmakefile.am: Removed a header file.
  • WebCore.gypi:
  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • page/Page.cpp: (WebCore::Page::speechInput): Creates and returns SpeechInput when needed.
  • page/Page.h:
  • page/SpeechInput.cpp: Added methods to proxy and callbacks between input elements and WebKit (WebCore::SpeechInput::SpeechInput): (WebCore::SpeechInput::didCompleteRecording): (WebCore::SpeechInput::didCompleteRecognition): (WebCore::SpeechInput::setRecognitionResult): (WebCore::SpeechInput::startRecognition): (WebCore::SpeechInput::stopRecording):
  • page/SpeechInput.h:
  • page/SpeechInputClient.h:
  • page/SpeechInputClientListener.h: Removed.
  • page/SpeechInputListener.h:
  • rendering/TextControlInnerElements.cpp: Added one more callback. (WebCore::InputFieldSpeechButtonElement::defaultEventHandler): (WebCore::InputFieldSpeechButtonElement::speechInput): (WebCore::InputFieldSpeechButtonElement::didCompleteRecognition):
  • rendering/TextControlInnerElements.h:

2010-07-27 Satish Sampath <satish@chromium.org>

Reviewed by Kent Tamura.

Simplify speech input plumbing in webcore and webkit
https://bugs.webkit.org/show_bug.cgi?id=43008

  • src/SpeechInputClientImpl.cpp: Move functionality to WebCore::SpeechInput and make this a dummy proxy. (WebKit::SpeechInputClientImpl::startRecognition): (WebKit::SpeechInputClientImpl::cancelRecognition): (WebKit::SpeechInputClientImpl::didCompleteRecording): (WebKit::SpeechInputClientImpl::didCompleteRecognition): (WebKit::SpeechInputClientImpl::setRecognitionResult):
  • src/SpeechInputClientImpl.h:
00:31 Changeset [64110] by tkent@chromium.org

Add a runtime setting for interactive form validation.
https://bugs.webkit.org/show_bug.cgi?id=40520

Reviewed by Ojan Vafai.

WebCore:

The interactive validation feature was disabled for non-strict
modes by r61059 to avoid a compatibility issue. This removes the
mode checking and introduce a runtime setting to enable/disable
the feature instead.
The default value is 'disable' and we'll remove the setting when
the compatibility issue is resolved and interactive validation
implementation is completed.

  • html/HTMLFormElement.cpp:

(WebCore::HTMLFormElement::validateInteractively):

  • page/Settings.cpp:

(WebCore::Settings::Settings):

  • page/Settings.h:

(WebCore::Settings::setInteractiveFormValidationEnabled):
(WebCore::Settings::interactiveFormValidationEnabled):

LayoutTests:

Remove the mode-specific tests and skip tests which don't work
without the interactive validation feature.

  • fast/forms/interactive-validation-compat-mode-expected.txt: Removed.
  • fast/forms/interactive-validation-compat-mode.html: Removed.
  • fast/forms/interactive-validation-html4-expected.txt: Removed.
  • fast/forms/interactive-validation-html4.html: Removed.
  • platform/chromium/test_expectations.txt:
  • platform/gtk/Skipped:
  • platform/mac/Skipped:
  • platform/qt/Skipped:
  • platform/win/Skipped:
00:05 Changeset [64109] by tkent@chromium.org

2010-07-27 Kent Tamura <tkent@chromium.org>

Reviewed by Dimitri Glazkov.

https://bugs.webkit.org/show_bug.cgi?id=42956
[DRT/Chromium] Fix "out of sync" assertion error

Fix an assertion error on Windows like the following:
100721 20:16:46 chromium.py:386 CRITICAL Test got out of sync:
|file:///c:/WebKitBuildSlave2/chromium-win-release-tests/build/LayoutTests/http/tests/local/blob/send-data-blob.html|
|file:///C:/WebKitBuildSlave2/chromium-win-release-tests/build/LayoutTests/http/tests/local/blob/send-data-blob.html|

  • Scripts/webkitpy/layout_tests/port/chromium.py: If the url matches with "file:///[a-z]:", does case-ignore comparison. GURL capitalize the driver letter of a file: URL.

07/26/10:

23:04 Changeset [64108] by barraclough@apple.com

Windows build fix from Chromium/GTK build fix!

  • wtf/PageAllocation.cpp:
22:51 Changeset [64107] by barraclough@apple.com

Chromium/GTK build fix

  • wtf/PageAllocation.cpp:
22:23 Changeset [64106] by barraclough@apple.com

Build fix for !Mac platforms.

22:02 Changeset [64105] by barraclough@apple.com

Bug 43009 - Abstract out page allocation from executable allocators

Reviewed by Oliver Hunt.

JavaScriptCore:

It would be great to have a single platform abstraction for block allocation, rather than copy/paste code.

In this initial implementation I've made Symbian fall back to use malloc/free for non-executable memory.
I think this will match current behaviour for the next client we will want to port across (RegisterFile &
Collector).

(JSC::ExecutableAllocator::intializePageSize):
(JSC::ExecutablePool::systemAlloc):
(JSC::ExecutablePool::systemRelease):
(JSC::ExecutableAllocator::isValid):

  • jit/ExecutableAllocator.h:

(JSC::ExecutablePool::ExecutablePool):
(JSC::ExecutablePool::poolAllocate):

  • jit/ExecutableAllocatorFixedVMPool.cpp:

(JSC::FixedVMPoolAllocator::release):
(JSC::FixedVMPoolAllocator::reuse):
(JSC::FixedVMPoolAllocator::FixedVMPoolAllocator):
(JSC::FixedVMPoolAllocator::alloc):
(JSC::FixedVMPoolAllocator::free):
(JSC::FixedVMPoolAllocator::isValid):
(JSC::FixedVMPoolAllocator::isWithinVMPool):
(JSC::ExecutablePool::systemAlloc):
(JSC::ExecutablePool::systemRelease):

  • jit/ExecutableAllocatorPosix.cpp: Removed.
  • jit/ExecutableAllocatorSymbian.cpp: Removed.
  • jit/ExecutableAllocatorWin.cpp: Removed.
  • wscript:
  • wtf/PageAllocator.cpp: Added.

(WTF::protection):
(WTF::PageAllocation::commit):
(WTF::PageAllocation::decommit):
(WTF::PageAllocator::allocate):
(WTF::PageAllocator::reserve):
(WTF::PageAllocator::deallocate):
(WTF::PageAllocator::pagesize):

  • wtf/PageAllocator.h: Added.

(WTF::PageAllocation::PageAllocation):
(WTF::PageAllocation::base):
(WTF::PageAllocation::size):
(WTF::PageAllocation::chunk):
(WTF::PageAllocation::operator!):
(WTF::PageAllocator::):

JavaScriptGlue:

  • ForwardingHeaders/wtf/PageAllocation.h: Added.

WebCore:

  • ForwardingHeaders/wtf/PageAllocation.h: Added.
21:51 Changeset [64104] by commit-queue@webkit.org

2010-07-26 Yuta Kitamura <yutak@chromium.org>

Reviewed by Pavel Feldman.

Add WebSocket resource type to Web Inspector.

When a new WebSocket connection is established, a line for that connection
will appear in Web Inspector's Resources tab. If the resource name is
clicked, the details of handshake request and response will be shown.

Web Inspector: WebSocket in Resources tab
https://bugs.webkit.org/show_bug.cgi?id=40768

  • inspector/InspectorController.cpp: (WebCore::InspectorController::addResource): WebSocket resource does not have an associated loader, thus frame might be null. Need to check it. (WebCore::InspectorController::removeResource): Ditto. (WebCore::InspectorController::didCreateWebSocket): (WebCore::InspectorController::willSendWebSocketHandshakeRequest): (WebCore::InspectorController::didReceiveWebSocketHandshakeResponse): (WebCore::InspectorController::didCloseWebSocket):
  • inspector/InspectorController.h:
  • inspector/InspectorResource.cpp: Add null checks of m_loader and m_frame, because WebSocket does not have a loader and we need to allow null for these variables. (WebCore::createReadableStringFromBinary): (WebCore::InspectorResource::InspectorResource): (WebCore::InspectorResource::create): Factory function of regular (non-WebSocket) resources. (WebCore::InspectorResource::createWebSocket): Factory function of WebSocket resources. (WebCore::InspectorResource::updateWebSocketRequest): (WebCore::InspectorResource::updateWebSocketResponse): (WebCore::InspectorResource::updateScriptObject): m_frame->document() becomes available when Frame::setDocument() is called. We cannot obtain documentURL during the constructor or updateRequest() function, because m_frame->document() is not available yet at that point and documentURL will contain a wrong URL. As far as I know, updateScriptObject() is the only place where we can safely obtain documentURL. (WebCore::InspectorResource::cachedResource): (WebCore::InspectorResource::type): (WebCore::InspectorResource::resourceData):
  • inspector/InspectorResource.h: (WebCore::InspectorResource::): (WebCore::InspectorResource::markWebSocket):
  • inspector/front-end/Resource.js: (WebInspector.Resource.Type.toString): (WebInspector.Resource.prototype.set type): (WebInspector.Resource.prototype._mimeTypeIsConsistentWithType):
  • inspector/front-end/ResourceView.js: (WebInspector.ResourceView.prototype._refreshRequestHeaders): (WebInspector.ResourceView.prototype._refreshResponseHeaders): (WebInspector.ResourceView.prototype._refreshHeaders):
  • inspector/front-end/inspector.css: (.resources-category-websockets, .resources-category-other): (.resources-category-websockets .resources-graph-bar): (.resources-category-websockets.resource-cached .resources-graph-bar):
  • inspector/front-end/inspector.js: (WebInspector.loaded): (WebInspector.updateResource):
  • websockets/WebSocketChannel.cpp: (WebCore::WebSocketChannel::WebSocketChannel): (WebCore::WebSocketChannel::disconnect): (WebCore::WebSocketChannel::didOpen): (WebCore::WebSocketChannel::didClose): (WebCore::WebSocketChannel::processBuffer): (WebCore::WebSocketChannel::identifier):
  • websockets/WebSocketChannel.h:
21:34 Changeset [64103] by commit-queue@webkit.org

2010-07-26 Cosmin Truta <ctruta@chromium.org>

Reviewed by Eric Seidel.

Some SVGs with empty <g> elements crash Chromium on Linux
https://bugs.webkit.org/show_bug.cgi?id=41175

Remove the suppression of this bug's test on Chromium. The new fix in WebKit no longer requires
an update in Chromium, making this test safe to expose.

  • platform/chromium/test_expectations.txt:

2010-07-26 Cosmin Truta <ctruta@chromium.org>

Reviewed by Eric Seidel.

Some SVGs with empty <g> elements crash Chromium on Linux
https://bugs.webkit.org/show_bug.cgi?id=41175

Redo the old fix using a different approach, to avoid regressing
svg/batik/filters/filterRegions.svg with Chromium on Linux.
Specifically, handle empty SkBitmap objects by exiting early upon
encountering unconfigured (i.e. empty) bitmaps.

No new tests. This bug's old test (svg/filters/filter-empty-g.svg)
and the above-mentioned regressed test are expected to pass.

  • WebCore/platform/graphics/skia/ImageBufferSkia.cpp: (ImageBuffer::ImageBuffer): Undo the old fix. (getImageData): The new fix.
20:43 Changeset [64102] by simon.fraser@apple.com

2010-07-26 Simon Fraser <simon.fraser@apple.com>

Fix a couple of test results after r64095.

  • compositing/geometry/limit-layer-bounds-clipping-ancestor-expected.txt:
  • compositing/geometry/limit-layer-bounds-transformed-overflow-expected.txt:
19:53 Changeset [64101] by barraclough@apple.com

Rolling out r64097:64100, oops, more b0rked than I relized by my last changes, sorry!

(JSC::ExecutableAllocator::reprotectRegion):
(JSC::ExecutableAllocator::cacheFlush):

  • jit/ExecutableAllocator.h:

(JSC::ExecutablePool::ExecutablePool):
(JSC::ExecutablePool::poolAllocate):

  • jit/ExecutableAllocatorFixedVMPool.cpp:

(JSC::FixedVMPoolAllocator::release):
(JSC::FixedVMPoolAllocator::reuse):
(JSC::FixedVMPoolAllocator::FixedVMPoolAllocator):
(JSC::FixedVMPoolAllocator::alloc):
(JSC::FixedVMPoolAllocator::free):
(JSC::FixedVMPoolAllocator::isValid):
(JSC::FixedVMPoolAllocator::isWithinVMPool):
(JSC::ExecutablePool::systemAlloc):
(JSC::ExecutablePool::systemRelease):

  • jit/ExecutableAllocatorPosix.cpp: Added.

(JSC::ExecutableAllocator::intializePageSize):
(JSC::ExecutablePool::systemAlloc):
(JSC::ExecutablePool::systemRelease):
(JSC::ExecutableAllocator::isValid):

  • jit/ExecutableAllocatorSymbian.cpp: Added.

(JSC::ExecutableAllocator::intializePageSize):
(JSC::ExecutablePool::systemAlloc):
(JSC::ExecutablePool::systemRelease):
(JSC::ExecutableAllocator::isValid):

  • jit/ExecutableAllocatorWin.cpp: Added.

(JSC::ExecutableAllocator::intializePageSize):
(JSC::ExecutablePool::systemAlloc):
(JSC::ExecutablePool::systemRelease):
(JSC::ExecutableAllocator::isValid):

  • wscript:
  • wtf/PageAllocation.cpp: Removed.
  • wtf/PageAllocation.h: Removed.
19:39 Changeset [64100] by barraclough@apple.com

Speculative !debug build fix II.

  • wtf/PageAllocation.h:

(WTF::PageAllocation::PageAllocation):

19:37 Changeset [64099] by barraclough@apple.com

Speculative !debug build fix.

  • wtf/PageAllocation.h:

(WTF::PageAllocation::PageAllocation):

19:12 Changeset [64098] by barraclough@apple.com

Bug 43009 - Abstract out page allocation from executable allocators

Reviewed by Oliver Hunt.

It would be great to have a single platform abstraction for block allocation, rather than copy/paste code.

In this initial implementation I've made Symbian fall back to use malloc/free for non-executable memory.
I think this will match current behaviour for the next client we will want to port across (RegisterFile &
Collector).

(JSC::ExecutableAllocator::intializePageSize):
(JSC::ExecutablePool::systemAlloc):
(JSC::ExecutablePool::systemRelease):
(JSC::ExecutableAllocator::isValid):

  • jit/ExecutableAllocator.h:

(JSC::ExecutablePool::ExecutablePool):
(JSC::ExecutablePool::poolAllocate):

  • jit/ExecutableAllocatorFixedVMPool.cpp:

(JSC::FixedVMPoolAllocator::release):
(JSC::FixedVMPoolAllocator::reuse):
(JSC::FixedVMPoolAllocator::FixedVMPoolAllocator):
(JSC::FixedVMPoolAllocator::alloc):
(JSC::FixedVMPoolAllocator::free):
(JSC::FixedVMPoolAllocator::isValid):
(JSC::FixedVMPoolAllocator::isWithinVMPool):
(JSC::ExecutablePool::systemAlloc):
(JSC::ExecutablePool::systemRelease):

  • jit/ExecutableAllocatorPosix.cpp: Removed.
  • jit/ExecutableAllocatorSymbian.cpp: Removed.
  • jit/ExecutableAllocatorWin.cpp: Removed.
  • wscript:
  • wtf/PageAllocator.cpp: Added.

(WTF::protection):
(WTF::PageAllocation::commit):
(WTF::PageAllocation::decommit):
(WTF::PageAllocator::allocate):
(WTF::PageAllocator::reserve):
(WTF::PageAllocator::deallocate):
(WTF::PageAllocator::pagesize):

  • wtf/PageAllocator.h: Added.

(WTF::PageAllocation::PageAllocation):
(WTF::PageAllocation::base):
(WTF::PageAllocation::size):
(WTF::PageAllocation::chunk):
(WTF::PageAllocation::operator!):
(WTF::PageAllocator::):

19:10 Changeset [64097] by commit-queue@webkit.org

2010-07-26 Rafael Antognolli <antognolli@profusion.mobi>

Reviewed by Antonio Gomes.

[EFL] Move CMakeListsEfl.txt to WebKit/efl/
https://bugs.webkit.org/show_bug.cgi?id=43002

This should reduce the noise in WebKit/ChangeLog that comes from EFL
port. Most of the changes on EFL port should be logged in
WebKit/efl/ChangeLog.

  • CMakeLists.txt: Just change the path from where to include the file.

2010-07-26 Rafael Antognolli <antognolli@profusion.mobi>

Reviewed by Antonio Gomes.

[EFL] Move CMakeListsEfl.txt to WebKit/efl/
https://bugs.webkit.org/show_bug.cgi?id=43002

This should reduce the noise in WebKit/ChangeLog that comes from EFL
port. Most of the changes on EFL port should be logged in
WebKit/efl/ChangeLog.

  • CMakeListsEfl.txt: Renamed from WebKit/CMakeListsEfl.txt.
18:17 Changeset [64096] by darin@apple.com

WebKitTestRunner needs to support layoutTestController.counterValueForElementById
https://bugs.webkit.org/show_bug.cgi?id=42537

Reviewed by Sam Weinig.

WebKitTestRunner needs layoutTestController.markerTextForListItem
https://bugs.webkit.org/show_bug.cgi?id=42549

WebKit2:

  • UIProcess/API/C/WKString.cpp:

(WKStringIsEmpty): Added.

  • UIProcess/API/C/WKString.h: Added WKStringIsEmpty.
  • WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:

(copiedString): Added. Helper for functions that return a
WKStringRef that follows the copy rule.
(WKBundleFrameCopyName): Use copiedString.
(WKBundleFrameCopyCounterValue): Added. Calls counterValue.
(WKBundleFrameCopyMarkerText): Added. Calls markerText.

  • WebProcess/InjectedBundle/API/c/WKBundleFramePrivate.h:

Added WKBundleFrameCopyCounterValue and WKBundleFrameCopyMarkerText.

  • WebProcess/WebPage/WebFrame.cpp:

(WebKit::WebFrame::computedStyleIncludingVisitedInfo):
Renamed argument to streamline function a bit.
(WebKit::WebFrame::counterValue): Added.
(WebKit::WebFrame::markerText): Added.

  • WebProcess/WebPage/WebFrame.h: Added counterValue and markerText.

WebKitTools:

  • WebKitTestRunner/InjectedBundle/Bindings/CodeGeneratorTestRunner.pm:

Fixed _paramterExpression typo. Improved support for string type as a
return value, so we don't try to include DOMString.h and we can convert
the string to a JSValue by calling JSValueMakeStringOrNull.

  • WebKitTestRunner/InjectedBundle/Bindings/JSWrappable.h:

Added JSValueMakeStringOrNull, used by the code generator.

  • WebKitTestRunner/InjectedBundle/Bindings/LayoutTestController.idl:

Added counterValueForElementById and markerTextForListItem.

  • WebKitTestRunner/InjectedBundle/LayoutTestController.cpp:

Moved constant to the top of the file.
(WTR::toCF): Added. Converts strings to CFStringRef.
(WTR::toWK): Added. Converts strings to WKStringRef.
(WTR::toJS): Added. Converts strings to JSStringRef.
(WTR::setProperty): Moved this function to the top of the file
rather than having it down where it's used inside the class. Also
renamed it so it's a separate function rather than an overload of
JSObjectSetProperty.
(WTR::propertyValue): Copied this here from InjectedBundlePage.cpp.
Should move it somewhere we can share it.
(WTR::propertyObject): Ditto.
(WTR::getElementById): Added. Calls getElementById through the magic
of JavaScript.
(WTR::LayoutTestController::pauseAnimationAtTimeOnElementWithId):
Chagned to use toWK instead of four local variables.
(WTR::LayoutTestController::counterValueForElementById): Added.
Calls WKBundleFrameCopyCounterValue.
(WTR::LayoutTestController::markerTextForListItem): Added.
Calls WKBundleFrameCopyMarkerText.

  • WebKitTestRunner/InjectedBundle/LayoutTestController.h:

Added counterValueForElementById and markerTextForListItem.

LayoutTests:

  • platform/mac-wk2/Skipped: Removed tests that were failing due to one of the above.
17:21 Changeset [64095] by simon.fraser@apple.com

2010-07-26 Simon Fraser <simon.fraser@apple.com>

Reviewed by Dan Bernstein.

Google image search results broken on pages with Flash
https://bugs.webkit.org/show_bug.cgi?id=43014

The test for overflow added in r63452 is wrong in that it ignores the effects
of positioning on overflow.

The correct approach is to start by using RenderView's layoutOverflowRect as the largest bounds,
then getting the oveflow rect via backgroundClipRect() relative to the root layer.

Test: compositing/geometry/limit-layer-bounds-overflow-root.html

  • rendering/RenderLayerBacking.cpp: (WebCore::layerOrAncestorIsTransformed): (WebCore::RenderLayerBacking::updateCompositedBounds):
17:19 Changeset [64094] by crogers@google.com

Get rid of AudioMixer and AudioMixerNode in derived sources

17:09 Changeset [64093] by andersca@apple.com

Plug-in views should be able to return JSObjects directly
https://bugs.webkit.org/show_bug.cgi?id=43019

Reviewed by Sam Weinig.

  • bindings/js/JSHTMLAppletElementCustom.cpp:

(WebCore::JSHTMLAppletElement::putDelegate):
(WebCore::JSHTMLAppletElement::getCallData):

  • bindings/js/JSHTMLEmbedElementCustom.cpp:

(WebCore::JSHTMLEmbedElement::putDelegate):
(WebCore::JSHTMLEmbedElement::getCallData):

  • bindings/js/JSHTMLObjectElementCustom.cpp:

(WebCore::JSHTMLObjectElement::putDelegate):
(WebCore::JSHTMLObjectElement::getCallData):
runtimeObjectCustomPut and runtimeObjectGetCallData now take a JSHTMLElement instead of a HTMLElement.

  • bindings/js/JSPluginElementFunctions.cpp:

(WebCore::pluginScriptObject):
First, ask the PluginViewBase for a JSObject and fall back to getting the JSObject from the instance.

(WebCore::runtimeObjectPropertyGetter):
(WebCore::runtimeObjectCustomGetOwnPropertySlot):
(WebCore::runtimeObjectCustomGetOwnPropertyDescriptor):
Call pluginScriptObject.

(WebCore::runtimeObjectCustomPut):
Change to take a JSHTMLElement. Call pluginScriptObject.

(WebCore::runtimeObjectGetCallData):
Change to take a JSHTMLElement.

  • bridge/jsc/BridgeJSC.cpp:
  • bridge/jsc/BridgeJSC.h:

(JSC::Bindings::Instance::createRuntimeObject):
Change this to return a JSObject.

  • html/HTMLPlugInElement.cpp:

(WebCore::HTMLPlugInElement::getInstance):
Call pluginWidget.

(WebCore::HTMLPlugInElement::pluginWidget):
Return the plug-in widget for this element.

  • html/HTMLPlugInElement.h:
  • plugins/PluginViewBase.h:

(WebCore::PluginViewBase::scriptObject):
Add default implementation of scriptObject.

17:01 Changeset [64092] by commit-queue@webkit.org

2010-07-26 Dominic Mazzoni <dmazzoni@google.com>

Reviewed by Chris Fleizach.

Add accessor to get the doctype of a WebDocument, needed to
implement Windows accessibility.

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

  • WebKit.gyp:
  • public/WebDocument.h:
  • public/WebDocumentType.h: Added. (WebKit::WebDocumentType::WebDocumentType): (WebKit::WebDocumentType::operator=): (WebKit::WebDocumentType::assign):
  • src/WebDocument.cpp: (WebKit::WebDocument::doctype):
  • src/WebDocumentType.cpp: Added. (WebKit::WebDocumentType::name): (WebKit::WebDocumentType::WebDocumentType): (WebKit::WebDocumentType::operator=): (WebKit::WebDocumentType::operator PassRefPtr<DocumentType>):
17:00 Changeset [64091] by weinig@apple.com

Part 2 of https://bugs.webkit.org/show_bug.cgi?id=43013
<rdar://problem/8152434>
Add support for scrolling using the keyboard in WebKit2

Reviewed by Anders Carlsson.

Add support for scrolling with the space bar and ensure that we don't scroll
if WebCore is handling the event in another way.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::keyEvent):
(WebKit::getScrollMapping):
(WebKit::WebPage::performDefaultBehaviorForKeyEvent):

  • WebProcess/WebPage/WebPage.h:
16:54 Changeset [64090] by crogers@google.com

Get rid of explicit ownership (part 2)

  • now that it is unused/ignored, completely get rid of optional "owner" argument in AudioContext create methods
16:54 Changeset [64089] by crogers@google.com

Remove obsolete AudioMixerNode and AudioMixerInputNode classes

  • they have been replaced with AudioGainNode and unity-gain summing junctions in AudioNodeInput
16:33 Changeset [64088] by cfleizach@apple.com

AX: Safari does not support ARIA mixed checkboxes
https://bugs.webkit.org/show_bug.cgi?id=43016

Reviewed by Darin Adler.

WebCore:

Test: platform/mac/accessibility/mixed-checkbox.html

  • accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::checkboxOrRadioValue):

  • accessibility/AccessibilityObject.h:
  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::isNativeCheckboxOrRadio):
(WebCore::AccessibilityRenderObject::checkboxOrRadioValue):

  • accessibility/AccessibilityRenderObject.h:
  • accessibility/mac/AccessibilityObjectWrapper.mm:

(-[AccessibilityObjectWrapper accessibilityAttributeValue:]):

LayoutTests:

  • platform/mac/accessibility/mixed-checkbox-expected.txt: Added.
  • platform/mac/accessibility/mixed-checkbox.html: Added.
16:11 Changeset [64087] by commit-queue@webkit.org

2010-07-26 Shimeng (Simon) Wang <swang@google.com>

Reviewed by Darin Adler.

Add android specific expected test results for auto hyphenation
tests.

  • platform/android: Added.
  • platform/android/fast: Added.
  • platform/android/fast/text: Added.
  • platform/android/fast/text/hyphenate-character-expected.txt: Added.
  • platform/android/fast/text/hyphens-expected.txt: Added.

2010-07-26 Shimeng (Simon) Wang <swang@google.com>

Reviewed by Darin Adler.

Add auto hyphenation support for Android.
https://bugs.webkit.org/show_bug.cgi?id=42800

  • platform/text/android/HyphenationAndroid.cpp: Added. (WebCore::loadHyphenationDictionary): (WebCore::lastHyphenLocation):
16:06 Changeset [64086] by weinig@apple.com

Patch for https://bugs.webkit.org/show_bug.cgi?id=43013
Part of <rdar://problem/8152434>
Add support for scrolling using the keyboard in WebKit2

Reviewed by Anders Carlsson.

WebCore:

Add a new export and make WindowsKeyboardCodes private.

  • WebCore.exp.in:
  • WebCore.xcodeproj/project.pbxproj:

WebKit2:

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::getScrollMapping):
(WebKit::WebPage::keyEvent):
Scroll the page in response to keyDown.

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/mac/WebPageMac.mm:

Use WindowsKeyboardCodes.h instead of redefining the constants.

15:58 Changeset [64085] by darin@apple.com

2010-07-26 Darin Adler <darin@apple.com>

Reviewed by Eric Carlson.

Don't handle empty URL attributes specially in reflection, even in cases such as <img src="">
https://bugs.webkit.org/show_bug.cgi?id=42087

  • html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::insertedIntoDocument): Check if the src attribute is empty by calling getAttribute instead of calling the src function. This keeps the behavior correct with the reflection change, and has a side benefit of being more efficient as well since there is no reason to resolve the URL. (WebCore::HTMLMediaElement::loadResource): Call getNonEmptyURLAttribute directly here instead of using the poster function. (WebCore::HTMLMediaElement::getPluginProxyParams): Ditto.
  • html/HTMLMediaElement.h: Removed the poster virtual function. The code that gets the poster attribute is already video-specific and uses generic attribute fetching code, so we no longer need a virtual function. Removed the src function. Since this would give a different result from the JavaScript reflected src attribute, it's safer not to have it, and it was easy to convert all the callers.
  • html/HTMLMediaElement.idl: Removed the NonEmpty extended attribute from the src attribute.
  • html/HTMLSourceElement.cpp: Removed the src function for the same reason as above.
  • html/HTMLSourceElement.h: Ditto.
  • html/HTMLSourceElement.idl: Removed the NonEmpty extended attribute from the src attribute.
  • html/HTMLVideoElement.cpp: (WebCore::HTMLVideoElement::parseMappedAttribute): Removed code to update m_posterURL, which is no longer needed. Changed call site that used the poster() function to instead use getNonEmptyURLAttribute. (WebCore::HTMLVideoElement::updatePosterImage): Check if the poster attribute is empty by calling getAttribute instead of calling the poster function. This keeps the behavior correct with the reflection change, and has a side benefit of being more efficient as well since there is no reason to resolve the URL.
  • html/HTMLVideoElement.h: Removed the poster function for the same reason we removed the src function above. Also removed now-unneeded m_posterURL data member.
  • html/HTMLVideoElement.idl: Removed the NonEmpty extended attribute from the poster attribute.

2010-07-26 Darin Adler <darin@apple.com>

Reviewed by Eric Carlson.

Don’t handle empty URL attributes specially in reflection, even in cases such as <img src="">
https://bugs.webkit.org/show_bug.cgi?id=42087

  • fast/dom/URL-attribute-reflection-expected.txt: Updated.
  • fast/dom/script-tests/URL-attribute-reflection.js: Updated test expectations so that even for URLs where "" is invalid, we reflect the empty string resolved to the base URL.
  • media/video-poster-expected.txt: Updated.
  • media/video-poster.html: Updated to expect poster="" to reflect as the base URL.
  • media/video-source-error-no-candidate-expected.txt: Updated.
  • media/video-src-none-expected.txt: Updated.
  • media/video-src-none.html: Updated to expect src="" to reflect as the base URL.
15:49 Changeset [64084] by cfleizach@apple.com

AX: remove intValue() hasIntValue() from AccessibilityObject
https://bugs.webkit.org/show_bug.cgi?id=43006

Reviewed by Darin Adler.

These methods are very Mac centric. The mac centric code should be moved into the Mac wrapper.

No new tests, existing tests cover changes to logic.

  • accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::checkboxOrRadioValue):

  • accessibility/AccessibilityObject.h:

(WebCore::):

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::selectedRadioButton):
(WebCore::AccessibilityRenderObject::selectedTabItem):
(WebCore::AccessibilityRenderObject::checkboxOrRadioValue):

  • accessibility/AccessibilityRenderObject.h:
  • accessibility/mac/AccessibilityObjectWrapper.mm:

(-[AccessibilityObjectWrapper accessibilityAttributeValue:]):

15:47 Changeset [64083] by rniwa@webkit.org

Applying inline style to a text node whose parent is an inline editable root causes crash
https://bugs.webkit.org/show_bug.cgi?id=39989

Reviewed by Darin Adler.

WebCore:

The crash was caused by splitTextElementAtStart and splitTextElementAtEnd assuming that the parent
and the grandparent of the specified text node is editable.

Modified splitTextElementAtStart and splitTextElementAtEnd so that they call splitTextAtStart
and splitTextAtEnd respectively when the grandparent is not editable.

Also modified SplitTextNodeContainingElement to exit early if the grandparent of m_text is not editable.

Test: editing/style/style-text-node-without-editable-parent.html

  • editing/ApplyStyleCommand.cpp:

(WebCore::ApplyStyleCommand::splitTextElementAtStart):
(WebCore::ApplyStyleCommand::splitTextElementAtEnd):

  • editing/SplitTextNodeContainingElementCommand.cpp:

(WebCore::SplitTextNodeContainingElementCommand::doApply):

LayoutTests:

Added a test to apply inline styles to a text node which is a editable root's child.
The test should not crash.

Two tests require rebaseline for the editing delegates. However, the final selection is kept same.

  • editing/execCommand/hilitecolor-expected.txt:
  • editing/style/remove-underline-from-stylesheet-expected.txt:
  • editing/style/style-text-node-without-editable-parent-expected.txt: Added.
  • editing/style/style-text-node-without-editable-parent.html: Added.
  • resources/dump-as-markup.js:
15:34 Changeset [64082] by mrobinson@webkit.org

2010-07-26 Martin Robinson <mrobinson@igalia.com>

Reviewed by Gustavo Noronha Silva.

[GTK] The EventSender should support simulating drop events
https://bugs.webkit.org/show_bug.cgi?id=39844

Unskip tests that are now passing and add baselines for new tests. Re-organize
remaining failures so they can be unskipped more easily in the future.

  • platform/gtk/Skipped:
  • platform/gtk/editing/pasteboard/dataTransfer-setData-getData-expected.txt: Added.
  • platform/gtk/editing/pasteboard/drag-drop-dead-frame-expected.txt: Added.
  • platform/gtk/editing/pasteboard/drag-drop-modifies-page-expected.txt: Added.
  • platform/gtk/editing/pasteboard/drop-text-without-selection-expected.txt: Added.
  • platform/gtk/editing/pasteboard/subframe-dragndrop-1-expected.txt: Added.
  • platform/gtk/editing/selection/drag-select-1-expected.txt: Added.
  • platform/gtk/editing/selection/drag-text-delay-expected.txt: Added.
  • platform/gtk/fast/events/bogus-dropEffect-effectAllowed-expected.txt: Removed.
  • platform/gtk/fast/forms/input-text-drag-down-expected.txt: Added.
  • platform/gtk/fast/lists/drag-into-marker-expected.txt: Added.

2010-07-26 Martin Robinson <mrobinson@igalia.com>

Reviewed by Gustavo Noronha Silva.

[GTK] The EventSender should support simulating drop events
https://bugs.webkit.org/show_bug.cgi?id=39844

Add initial dropping support to the GTK+ EventSender.

  • DumpRenderTree/gtk/DumpRenderTree.cpp: (createWebView): Listen for some new drag-and-drop signals.
  • DumpRenderTree/gtk/EventSender.cpp: Add currentDragSourceContext. (dispatchEvent): Detect situations where a drag is either starting or ending and massage GTK+ into sending the appropriate signals to the WebView. (replaySavedEvents): Remove comment. (makeEventSender): Clear the currentDragSourceContext when creating a new EventSender. (dragBeginCallback): Capture the new currentDragSourceContext when a drag begins. (dragEndCallback): Clear the currentDragSourceContext when a drag ends. (dragFailedCallback): Disable the GTK+ drag failed animation.
  • DumpRenderTree/gtk/EventSender.h: Add declarations for new signal callbacks.
15:23 Changeset [64081] by victorw@chromium.org

2010-07-26 Victor Wang <victorw@chromium.org>

Unreviewed. Update chromium test expectations for flaky test on linux:
tables/mozilla_expected_failures/bugs/bug89315.html

  • platform/chromium/test_expectations.txt:
15:11 Changeset [64080] by simon.fraser@apple.com

2010-07-26 Simon Fraser <simon.fraser@apple.com>

Fix tests on Leopard.

No need for these Leopard-specific results any more.

  • platform/mac-leopard/compositing/iframes/connect-compositing-iframe-delayed-expected.txt: Removed.
  • platform/mac-leopard/compositing/iframes/connect-compositing-iframe3-expected.txt: Removed.
  • platform/mac-leopard/compositing/iframes/iframe-resize-expected.txt: Removed.
  • platform/mac-leopard/compositing/iframes/iframe-size-from-zero-expected.txt: Removed.
  • platform/mac-leopard/compositing/iframes/overlapped-iframe-expected.txt: Removed.
  • platform/mac-leopard/compositing/iframes/scrolling-iframe-expected.txt: Removed.
15:03 Changeset [64079] by adachan@apple.com

Fix Windows build.

  • win/WebKit2Generated.make:
14:41 Changeset [64078] by simon.fraser@apple.com

2010-07-26 Simon Fraser <simon.fraser@apple.com>

Reviewed by Anders Carlsson.

Gmail compose is upside-down after r64054
https://bugs.webkit.org/show_bug.cgi?id=43000

We need to call setGeometryOrientation() whenever the iframe compositing layer attachment changes,
not just when requiresScrollLayer() returns false. This ensures that the orientation is updated
correctly.

Test: compositing/iframes/iframe-content-flipping.html

  • rendering/RenderLayerCompositor.cpp: (WebCore::RenderLayerCompositor::ensureRootPlatformLayer):
14:36 Changeset [64077] by jschuh@chromium.org

2010-07-26 Justin Schuh <jschuh@chromium.org>

Reviewed by Darin Fisher.

Check history state against origin before setting
https://bugs.webkit.org/show_bug.cgi?id=42858

Tests: fast/loader/stateobjects/replacestate-base-illegal.html

fast/loader/stateobjects/replacestate-base-legal.html

  • page/History.cpp: (WebCore::History::urlForState): (WebCore::History::stateObjectAdded):

2010-07-26 Justin Schuh <jschuh@chromium.org>

Reviewed by Darin Fisher.

Check history state when base URL is changed
https://bugs.webkit.org/show_bug.cgi?id=42858

  • fast/loader/stateobjects/replacestate-base-illegal-expected.txt: Added.
  • fast/loader/stateobjects/replacestate-base-illegal.html: Added.
  • fast/loader/stateobjects/replacestate-base-legal-expected.txt: Added.
  • fast/loader/stateobjects/replacestate-base-legal.html: Added.
  • fast/loader/stateobjects/resources/replacestate-base-pass.html: Added.
14:33 Changeset [64076] by andersca@apple.com

Fix Windows build.

  • WebProcess/Plugins/Netscape/NetscapePlugin.h:

(WebKit::NetscapePlugin::platformHandleMouseEnterEvent):
(WebKit::NetscapePlugin::platformHandleMouseLeaveEvent):

14:32 Changeset [64075] by mrobinson@webkit.org

2010-07-26 Martin Robinson <mrobinson@igalia.com>

Reviewed by Xan Lopez.

[GTK] Get rid of libgdom
https://bugs.webkit.org/show_bug.cgi?id=42378

Remove the need to build the libgdom intermediate library.

  • GNUmakefile.am: Move the source list for the GObject DOM bindings to the top-level GNUmakefile.am, since they are logically part of WebKit, instead of WebCore. List all auto-generated files statically and remove no-longer- used variables. Fix an issue where some places expected webkitenumtypes.cpp to be generated in different directories.

2010-07-26 Martin Robinson <mrobinson@igalia.com>

Reviewed by Xan Lopez.

[GTK] Get rid of libgdom
https://bugs.webkit.org/show_bug.cgi?id=42378

Remove all build steps for building GObject DOM bindings.

  • GNUmakefile.am: Remove GObject DOM bindings build.
14:28 WikiStart edited by rniwa@webkit.org
Added a link "Writing DumpAsMarkup Tests" page to "WikiStart" (diff)
14:26 Writing DumpAsMarkup Tests created by rniwa@webkit.org
Added "Writing DumpAsMarkup Tests" page
14:20 Changeset [64074] by mrowe@apple.com

Disable a test that was added to verify the vendor prefix change that I rolled out in r64071.
It can be reenabled when the vendor prefix change is reintroduced in a more limited fashion.

  • fast/css/limited-vendor-prefix-behavior.html-disabled: Renamed from LayoutTests/fast/css/limited-vendor-prefix-behavior.html.
14:15 Changeset [64073] by andersca@apple.com

Handle mouseenter/mouseleave + focus events
https://bugs.webkit.org/show_bug.cgi?id=42997

Reviewed by Sam Weinig.

  • WebProcess/Plugins/Netscape/NetscapePlugin.cpp:

(WebKit::NetscapePlugin::handleMouseEnterEvent):
Call platformHandleMouseEnterEvent.

(WebKit::NetscapePlugin::handleMouseLeaveEvent):
Call platformHandleMouseExitEvent.

(WebKit::NetscapePlugin::setFocus):
Call platformSetFocus.

  • WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:

(WebKit::fillInCocoaEventFromMouseEvent):
Factor out code that fills in an NPCocoaEvent from a WebMouseEvent.

(WebKit::initializeMouseEvent):
Call fillInCocoaEventFromMouseEvent.

(WebKit::NetscapePlugin::platformHandleMouseEnterEvent):
Send an NPCocoaEventMouseEntered event.

(WebKit::NetscapePlugin::platformHandleMouseLeaveEvent):
Send an NPCocoaEventMouseExited event.

(WebKit::NetscapePlugin::platformSetFocus):
Send an NPCocoaEventFocusChanged.

  • WebProcess/Plugins/Plugin.h:
  • WebProcess/Plugins/PluginView.cpp:

(WebKit::PluginView::handleEvent):
Dispatch mouse enter and mouse leave events. Call focusPluginElement on mousedown.

(WebKit::PluginView::focusPluginElement):
Focus the plug-in's containing frame and its element.

(WebKit::PluginView::setFocus):
Call Plugin::setFocus.

13:58 Changeset [64072] by dbates@webkit.org

2010-07-26 Daniel Bates <dbates@rim.com>

Reviewed by Darin Adler.

svn-unapply warns of uninitialized variable when unapplying
a patch that describes an svn move operation
https://bugs.webkit.org/show_bug.cgi?id=42036

Fixes Perl uninitialized variable warnings when un-applying
a patch that moves a file.

  • Scripts/svn-unapply:
    • Modified patch() so that it initializes $patch to the empty string when we don't have svnConvertedText (such as when reversing a diff that represents a svn copy/move operation).
13:53 Changeset [64071] by mrowe@apple.com

<http://webkit.org/b/42990> REGRESSION (r63854): Safari RSS layout is broken due to changes in vendor prefix handling

Reviewed by Dan Bernstein.

In r63854 support for properties with the -khtml vendor prefix was removed. This breaks the layout of
Safari's RSS interface, several Dashboard widgets that are included with Mac OS X, and at least one
popular third-party Mac OS X application. This change will need to be revisited in a manner that has
a clearer backwards-compatibility strategy. <http://webkit.org/b/42093> will be reopened to track that.

  • css/CSSParser.cpp:

(WebCore::cssPropertyID): Revert the WebCore change from r63854.

13:37 Changeset [64070] by beidson@apple.com

2010-07-26 Brady Eidson <beidson@apple.com>

Reviewed by Sam Weinig.

Add ability for WK2 to register a scheme to always be displayed as an empty document
https://bugs.webkit.org/show_bug.cgi?id=42995

No new tests. (Currently not possible to test in WebKit1 DRT, can be testing in future WK2 tester)

  • WebCore.exp.in:


  • loader/MainResourceLoader.cpp: (WebCore::shouldLoadAsEmptyDocument):


  • platform/SchemeRegistry.cpp: (WebCore::emptyDocumentSchemes): (WebCore::SchemeRegistry::registerURLSchemeAsEmptyDocument): (WebCore::SchemeRegistry::shouldLoadURLSchemeAsEmptyDocument):
  • platform/SchemeRegistry.h:

2010-07-26 Brady Eidson <beidson@apple.com>

Reviewed by Sam Weinig.

Add ability for WK2 to register a scheme to always be displayed as an empty document
https://bugs.webkit.org/show_bug.cgi?id=42995

  • Shared/CoreIPCSupport/WebProcessMessageKinds.h: (WebProcessMessage::):


  • UIProcess/API/C/WKContext.cpp: (_WKContextRegisterURLSchemeAsEmptyDocument):
  • UIProcess/API/C/WKContextPrivate.h:


  • UIProcess/WebContext.cpp: (WebKit::WebContext::registerURLSchemeAsEmptyDocument):
  • UIProcess/WebContext.h:


  • WebProcess/WebProcess.cpp: (WebKit::WebProcess::registerURLSchemeAsEmptyDocument): (WebKit::WebProcess::didReceiveMessage):
  • WebProcess/WebProcess.h:
13:16 Changeset [64069] by victorw@chromium.org

2010-07-26 Simon Fraser <simon.fraser@apple.com>

Fix compositing iframe tests on Leopard.

Add Leopard-specific results where geometry flipping causes a different test output.

  • platform/mac-leopard/compositing/iframes/connect-compositing-iframe-delayed-expected.txt: Added.
  • platform/mac-leopard/compositing/iframes/connect-compositing-iframe3-expected.txt: Added.
  • platform/mac-leopard/compositing/iframes/iframe-resize-expected.txt: Added.
  • platform/mac-leopard/compositing/iframes/iframe-size-from-zero-expected.txt: Added.
  • platform/mac-leopard/compositing/iframes/overlapped-iframe-expected.txt: Added.
  • platform/mac-leopard/compositing/iframes/scrolling-iframe-expected.txt: Added.
13:16 Changeset [64068] by andersca@apple.com

Get rid of the dummy plug-in.

Reviewed by Adam Roben.

  • WebKit2.xcodeproj/project.pbxproj:
  • WebProcess/Plugins/DummyPlugin.cpp: Removed.
  • WebProcess/Plugins/DummyPlugin.h: Removed.
  • win/WebKit2.vcproj:
13:09 Changeset [64067] by weinig@apple.com

Move some non-APIish functions into private headers.

Reviewed by Anders Carlsson.

WebKit2:

  • WebKit2.xcodeproj/project.pbxproj:
  • WebProcess/InjectedBundle/API/c/WKBundle.cpp:
  • WebProcess/InjectedBundle/API/c/WKBundle.h:
  • WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
  • WebProcess/InjectedBundle/API/c/WKBundleFrame.h:
  • WebProcess/InjectedBundle/API/c/WKBundleFramePrivate.h: Copied from WebProcess/InjectedBundle/API/c/WKBundleFrame.h.
  • WebProcess/InjectedBundle/API/c/WKBundlePrivate.h: Copied from WebProcess/InjectedBundle/API/c/WKBundle.h.
  • win/WebKit2.vcproj:

WebKitTools:

  • WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
  • WebKitTestRunner/InjectedBundle/LayoutTestController.cpp:
12:57 Changeset [64066] by simon.fraser@apple.com

2010-07-26 Simon Fraser <simon.fraser@apple.com>

Fix compositing iframe tests on Leopard.

Add Leopard-specific results where geometry flipping causes a different test output.

  • platform/mac-leopard/compositing/iframes/connect-compositing-iframe-delayed-expected.txt: Added.
  • platform/mac-leopard/compositing/iframes/connect-compositing-iframe3-expected.txt: Added.
  • platform/mac-leopard/compositing/iframes/iframe-resize-expected.txt: Added.
  • platform/mac-leopard/compositing/iframes/iframe-size-from-zero-expected.txt: Added.
  • platform/mac-leopard/compositing/iframes/overlapped-iframe-expected.txt: Added.
  • platform/mac-leopard/compositing/iframes/scrolling-iframe-expected.txt: Added.
12:57 Changeset [64065] by weinig@apple.com

Fix for https://bugs.webkit.org/show_bug.cgi?id=42986
Add prompt and confirm client functions to WebKit2

Reviewed by Anders Carlsson.

WebKit2:

  • Shared/CoreIPCSupport/WebPageProxyMessageKinds.h:

(WebPageProxyMessage::):

  • UIProcess/API/C/WKPage.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::didReceiveSyncMessage):
(WebKit::WebPageProxy::runJavaScriptAlert):
(WebKit::WebPageProxy::runJavaScriptConfirm):
(WebKit::WebPageProxy::runJavaScriptPrompt):

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebUIClient.cpp:

(WebKit::WebUIClient::runJavaScriptAlert):
(WebKit::WebUIClient::runJavaScriptConfirm):
(WebKit::WebUIClient::runJavaScriptPrompt):

  • UIProcess/WebUIClient.h:
  • WebKit2.xcodeproj/project.pbxproj:
  • WebProcess/WebCoreSupport/WebChromeClient.cpp:

(WebKit::WebChromeClient::runJavaScriptConfirm):
(WebKit::WebChromeClient::runJavaScriptPrompt):

WebKitTools:

  • MiniBrowser/mac/BrowserWindowController.m:

(-[BrowserWindowController awakeFromNib]):

12:48 Changeset [64064] by crogers@google.com

Get rid of explicit ownership (part 1)

  • implement the complex type of ref-counting necessary to deal with nodes which keep playing without JS references
  • AudioNodeInput now keeps track of "active" connections, as well as disabled connections
  • still need to address some thread safety issues, but code generally runs well
  • still need to get rid of "owner" argument (since it's now totally ignored)
12:41 Changeset [64063] by andersca@apple.com

Deliver mouse and wheel events to plug-ins
https://bugs.webkit.org/show_bug.cgi?id=42988

Reviewed by Sam Weinig.

  • Shared/WebEvent.h:

(WebKit::WebMouseEvent::WebMouseEvent):
(WebKit::WebMouseEvent::deltaX):
(WebKit::WebMouseEvent::deltaY):
(WebKit::WebMouseEvent::deltaZ):

  • Shared/mac/WebEventFactory.mm:

(WebKit::WebEventFactory::createWebMouseEvent):
Add deltaX, deltaY and deltaZ member variables to WebMosueEvent.

  • WebKit2.xcodeproj/project.pbxproj:

Rename NetscapePluginMac.cpp to NetscapePluginMac.mm.

  • WebProcess/Plugins/Netscape/NetscapePlugin.cpp:

(WebKit::NetscapePlugin::NPP_HandleEvent):
Add NPP_ wrapper.

(WebKit::NetscapePlugin::handleMouseEvent):
(WebKit::NetscapePlugin::handleWheelEvent):
Call the platform variants.

  • WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm: Added.

(WebKit::modifierFlags):
(WebKit::buttonNumber):
(WebKit::initializeMouseEvent):
(WebKit::NetscapePlugin::platformHandleMouseEvent):
Create an NPCocoaEvent and send it to the plug-in.

(WebKit::NetscapePlugin::platformHandleWheelEvent):
Ditto.

  • WebProcess/Plugins/PluginView.cpp:

(WebKit::PluginView::handleEvent):
Get the current WebEvent and send it to the plug-in if necessary.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::currentEvent):
(WebKit::CurrentEvent::CurrentEvent):
(WebKit::CurrentEvent::~CurrentEvent):
(WebKit::WebPage::mouseEvent):
(WebKit::WebPage::wheelEvent):
(WebKit::WebPage::keyEvent):

  • WebProcess/WebPage/WebPage.h:

Add RAII object for keeping track of the current event.

12:30 Changeset [64062] by commit-queue@webkit.org

2010-07-26 Patrick Gansterer <paroga@paroga.com>

Reviewed by Kent Tamura.

[WINCE] Port ClipboardUtilities to WinCE
https://bugs.webkit.org/show_bug.cgi?id=42929

Make ClipboardUtilitiesWin more portable and remove the global namespace prefix
from GlobalLock/GlobalUnlock, since they are only macros on WinCE.

  • platform/win/ClipboardUtilitiesWin.cpp: (WebCore::urlFromPath): (WebCore::getWebLocData): (WebCore::createGlobalData): (WebCore::getURL): (WebCore::getPlainText): (WebCore::fragmentFromHTML):
12:22 Changeset [64061] by victorw@chromium.org

2010-07-26 Victor Wang <victorw@chromium.org>

Unreviewed. Update chromium test expectations fro flaky test.

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

  • platform/chromium/test_expectations.txt:
12:10 Changeset [64060] by commit-queue@webkit.org

2010-07-26 Patrick Gansterer <paroga@paroga.com>

Reviewed by Adam Roben.

[WINCE] Buildfix for BitmapImage.h
https://bugs.webkit.org/show_bug.cgi?id=42931

Use AffineTransform insted of TransformationMatrix.

  • platform/graphics/BitmapImage.h:
11:57 Changeset [64059] by aroben@apple.com

Windows build fix

WebKit2:

  • win/WebKit2.vcproj:
  • win/WebKit2WebProcess.vcproj:

Removed empty attributes so the values will be picked up from the
vsprops files. (Also removed a couple of attributes that accidentally
duplicated values from the vsprops files.)

WebKitTools:

  • MiniBrowser/MiniBrowser.vcproj:
  • WebKitTestRunner/InjectedBundle/win/InjectedBundle.vcproj:

Removed empty attributes so the values will be picked up from the
vsprops files. (Also removed a couple of attributes that accidentally
duplicated values from the vsprops files.)

11:41 Changeset [64058] by krit@webkit.org

2010-07-26 Dirk Schulze <krit@webkit.org>

Unreviewed sort of XCode project file.

  • WebCore.xcodeproj/project.pbxproj:
11:32 Changeset [64057] by ddkilzer@apple.com

<http://webkit.org/b/42982> Streamline Inspector Source build phase script should use CONFIGURATION not BUILD_STYLE
<rdar://problem/6341764>

Reviewed by Mark Rowe.

  • WebCore.xcodeproj/project.pbxproj: Switched Streamline

Inspector Source build phase script to use CONFIGURATION instead
of BUILD_STYLE.

11:28 Changeset [64056] by ojan@chromium.org

2010-07-23 Ojan Vafai <ojan@chromium.org>

Reviewed by Darin Adler.

crash in insertParagraph in a contentEditable list
https://bugs.webkit.org/show_bug.cgi?id=42919

  • editing/execCommand/crash-on-enter-in-contentEditable-list-expected.txt: Added.
  • editing/execCommand/crash-on-enter-in-contentEditable-list.html: Added.

2010-07-23 Ojan Vafai <ojan@chromium.org>

Reviewed by Darin Adler.

crash in insertParagraph in a contentEditable list
https://bugs.webkit.org/show_bug.cgi?id=42919

Don't try to break out of a list item if the list it's in
is the rootEditableElement.

  • editing/CompositeEditCommand.cpp: (WebCore::CompositeEditCommand::breakOutOfEmptyListItem):
11:15 Changeset [64055] by bulach@chromium.org

2010-07-26 Marcus Bulach <bulach@chromium.org>

Reviewed by Jeremy Orlow.

Moves IDBKeyRange to use IDBKey rather than SerializedScriptValue / IDBAny.
https://bugs.webkit.org/show_bug.cgi?id=42583

Tests: existing storage/indexeddb/idb-keyrange.html must pass.

  • storage/IDBKeyRange.cpp: (WebCore::IDBKeyRange::IDBKeyRange):
  • storage/IDBKeyRange.h: (WebCore::IDBKeyRange::create): (WebCore::IDBKeyRange::left): (WebCore::IDBKeyRange::right):
  • storage/IDBKeyRange.idl:
  • storage/IndexedDatabaseRequest.cpp: (WebCore::IndexedDatabaseRequest::makeSingleKeyRange): (WebCore::IndexedDatabaseRequest::makeLeftBoundKeyRange): (WebCore::IndexedDatabaseRequest::makeRightBoundKeyRange): (WebCore::IndexedDatabaseRequest::makeBoundKeyRange):
  • storage/IndexedDatabaseRequest.h:
  • storage/IndexedDatabaseRequest.idl:
10:48 Changeset [64054] by simon.fraser@apple.com

2010-07-26 Simon Fraser <simon.fraser@apple.com>

Reviewed by Anders Carlsson.

Composited layers don't scroll in WebKit2
https://bugs.webkit.org/show_bug.cgi?id=42771

Rename two methods on RenderLayerCompositor to make their use more clear, and call them
when the FrameView gets resized and scrolled.

  • page/FrameView.h:
  • page/FrameView.cpp: (WebCore::FrameView::setFrameRect): override so we know when the size of the FrameView changes, so that the RenderLayerCompositor can update its clipping layer. (WebCore::FrameView::scrollPositionChanged): Call compositor()->frameViewDidScroll().
  • rendering/RenderLayerBacking.cpp: (WebCore::RenderLayerBacking::updateAfterWidgetResize): updateContentLayerOffset() was renamed.
  • rendering/RenderLayerCompositor.h:
  • rendering/RenderLayerCompositor.cpp: (WebCore::RenderLayerCompositor::frameViewDidChangeSize): Renamed from updateContentLayerOffset(). (WebCore::RenderLayerCompositor::frameViewDidScroll): Renamed from updateContentLayerScrollPosition(). (WebCore::RenderLayerCompositor::shouldPropagateCompositingToEnclosingIFrame): Propagate compositing on Mac for any FrameView that doesn't have a native widget, which is the case with WebKit2. (WebCore::RenderLayerCompositor::requiresScrollLayer): New method to tell us whether we need to handle scrolling (and clipping) ourselves. (WebCore::RenderLayerCompositor::ensureRootPlatformLayer): Do geometry flipping on the root platform layer only if we're not doing our own scrolling, and use the new requiresScrollLayer() method. (WebCore::RenderLayerCompositor::attachRootPlatformLayer): Send out the rootPlatformLayer(), so that it returns the clipping layer if we have one.
10:37 Changeset [64053] by jorlow@chromium.org

2010-07-26 Jeremy Orlow <jorlow@chromium.org>

Reviewed by Ojan Vafai.

Rename indexedDB tests to match new scheme
https://bugs.webkit.org/show_bug.cgi?id=42375

No changes to the tests themselves.

  • storage/indexeddb/script-tests/basics.js: Added. (openCallback): (test):
  • storage/indexeddb/script-tests/database-basics.js: Added. (openSuccess): (test):
  • storage/indexeddb/script-tests/idb-database-request.js: Removed.
  • storage/indexeddb/script-tests/idb-objectstore-request.js: Removed.
  • storage/indexeddb/script-tests/indexed-database-request.js: Removed.
  • storage/indexeddb/script-tests/keyrange.js: Renamed from LayoutTests/storage/indexeddb/script-tests/idb-keyrange.js. (checkSingleKeyRange): (checkLeftBoundKeyRange): ():
  • storage/indexeddb/script-tests/objectstore-basics.js: Added. (test): (openSuccess): (createSuccess): (addSuccess): (getSuccess): (removeSuccess):
10:19 WebKit Team edited by simon.fraser@apple.com
(diff)
10:11 Changeset [64052] by bweinstein@apple.com

Touch MiniBrowser's stdafx to fix the build.

Rubber-stamped by Adam Roben.

  • MiniBrowser/win/stdafx.h:
10:03 Changeset [64051] by tonyg@chromium.org

2010-07-26 Tony Gentilcore <tonyg@chromium.org>

Reviewed by Darin Fisher.

Move DocumentLoadTiming struct to a new file
https://bugs.webkit.org/show_bug.cgi?id=42917

Also makes DocumentLoadTiming Noncopyable.

No new tests because no new functionality.

  • GNUmakefile.am:
  • WebCore.gypi:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • loader/DocumentLoadTiming.h: Added. (WebCore::DocumentLoadTiming::DocumentLoadTiming):
  • loader/DocumentLoader.h:
  • loader/FrameLoader.cpp:
  • loader/FrameLoaderTypes.h:
  • loader/MainResourceLoader.cpp:
  • page/Timing.cpp:
10:03 Changeset [64050] by andersca@apple.com

Clean up event handling functions
https://bugs.webkit.org/show_bug.cgi?id=42977

Reviewed by Sam Weinig.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::mouseEvent):
(WebKit::WebPage::wheelEvent):
(WebKit::WebPage::keyEvent):
(WebKit::WebPage::didReceiveMessage):

  • WebProcess/WebPage/WebPage.h:
09:24 Changeset [64049] by mrowe@apple.com

Fix an #if in WebCore.exp.in to correctly detect whether SVG filters are enabled.

  • WebCore.exp.in:
09:01 Changeset [64048] by steveblock@google.com

2010-07-26 Steve Block <steveblock@google.com>

Reviewed by Jeremy Orlow.

DeviceOrientation event listeners should never be called synchronously from addEventListener()
https://bugs.webkit.org/show_bug.cgi?id=42304

No new tests as there are currently no implementations to test. Tests will be
added once LayoutTestController methods for providing a mock implementation are
in place, see Bug 39589.

  • dom/DeviceOrientationController.cpp: (WebCore::DeviceOrientationController::DeviceOrientationController): (WebCore::DeviceOrientationController::timerFired): (WebCore::DeviceOrientationController::addListener): (WebCore::DeviceOrientationController::removeListener): (WebCore::DeviceOrientationController::removeAllListeners):
  • dom/DeviceOrientationController.h:
08:56 Changeset [64047] by andreas.kling@nokia.com

2010-07-26 Andreas Kling <andreas.kling@nokia.com>

Reviewed by Tor Arne Vestbø.

[Qt] Canvas: Optimize GraphicsContext::addPath()

Avoid "deep concatenating" the canvas path onto the GC path
if the GC path has no elements.

  • platform/graphics/qt/GraphicsContextQt.cpp: (WebCore::GraphicsContext::addPath):
08:43 Changeset [64046] by senorblanco@chromium.org

2010-07-23 Stephen White <senorblanco@chromium.org>

Reviewed by Darin Fisher.

Implement OpenGLES2 helper classes.
https://bugs.webkit.org/show_bug.cgi?id=42905

GLES2Canvas and GLES2Texture are some simple OpenGLES2 helper classes
for managing state, samplers and textures.

When this is hooked up, it will be covered by many layout tests.

  • WebCore.gypi: Add new files to chromium build (contents are protected by #if's for now).
  • platform/graphics/chromium/GLES2Canvas.cpp: Added. (WebCore::affineTo3x3): (WebCore::GLES2Canvas::State::State): (WebCore::GLES2Canvas::GLES2Canvas): (WebCore::GLES2Canvas::~GLES2Canvas): (WebCore::GLES2Canvas::clearRect): (WebCore::GLES2Canvas::fillRect): (WebCore::GLES2Canvas::setFillColor): (WebCore::GLES2Canvas::setAlpha): (WebCore::GLES2Canvas::translate): (WebCore::GLES2Canvas::rotate): (WebCore::GLES2Canvas::scale): (WebCore::GLES2Canvas::concatCTM): (WebCore::GLES2Canvas::save): (WebCore::GLES2Canvas::restore): (WebCore::GLES2Canvas::drawTexturedRect): (WebCore::GLES2Canvas::setCompositeOperation): (WebCore::GLES2Canvas::applyCompositeOperator): (WebCore::GLES2Canvas::getQuadVertices): (WebCore::GLES2Canvas::getQuadIndices): (WebCore::loadShader): (WebCore::GLES2Canvas::getSimpleProgram): (WebCore::GLES2Canvas::getTexProgram): (WebCore::GLES2Canvas::createTexture): (WebCore::GLES2Canvas::getTexture): (WebCore::GLES2Canvas::checkGLError):
  • platform/graphics/chromium/GLES2Canvas.h: Added. (WebCore::GLES2Canvas::gles2Context):
  • platform/graphics/chromium/GLES2Texture.cpp: Added. (WebCore::GLES2Texture::GLES2Texture): (WebCore::GLES2Texture::~GLES2Texture): (WebCore::GLES2Texture::create): (WebCore::convertFormat): (WebCore::GLES2Texture::load): (WebCore::GLES2Texture::bind):
  • platform/graphics/chromium/GLES2Texture.h: Added. (WebCore::GLES2Texture::): (WebCore::GLES2Texture::format): (WebCore::GLES2Texture::width): (WebCore::GLES2Texture::height):
07:52 EFLWebKit edited by antognolli@profusion.mobi
(diff)
07:49 Changeset [64045] by jorlow@chromium.org

2010-07-26 Jeremy Orlow <jorlow@chromium.org>

Reviewed by Steve Block.

Fix IndexedDB release build on mac
https://bugs.webkit.org/show_bug.cgi?id=42377

  • storage/IDBDatabaseImpl.cpp: (WebCore::IDBDatabaseImpl::objectStore):
07:43 EFLWebKit edited by antognolli@profusion.mobi
(diff)
07:42 EFLWebKit edited by antognolli@profusion.mobi
(diff)
06:47 Changeset [64044] by commit-queue@webkit.org

2010-07-26 Hayato Ito <hayato@chromium.org>

Reviewed by Shinichiro Hamaji.

Add pretty printer of WTF::Vector for GDB 7.

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

  • gdb/wtf.py: Added.
05:04 Changeset [64043] by bulach@chromium.org

2010-07-26 Marcus Bulach <bulach@chromium.org>

Unreviewed. Add chromium expectations for failing tests.

tables/mozilla/other/slashlogo.html fails after r63994
https://bugs.webkit.org/show_bug.cgi?id=42964

Adds a suppression for chromium.

  • platform/chromium/test_expectations.txt:
04:52 Changeset [64042] by commit-queue@webkit.org

2010-07-26 Satish Sampath <satish@chromium.org>

Reviewed by Steve Block.

Add WebKit plumbing to connect speech requests and callbacks between WebCore and the embedder.
https://bugs.webkit.org/show_bug.cgi?id=42367

No new tests, the relevant LayoutTestController bindings will be added in the next patch.

  • page/SpeechInput.cpp: renamed a method.
  • page/SpeechInput.h: renamed a method.
  • page/SpeechInputClient.h: added an extra method to optionally let users stop recording once they have spoken.
  • page/SpeechInputClientListener.h: renamed a method.
  • page/SpeechInputListener.h: renamed a method.

2010-07-26 Satish Sampath <satish@chromium.org>

Reviewed by Steve Block.

Add WebKit plumbing to connect speech requests and callbacks between WebCore and the embedder.
https://bugs.webkit.org/show_bug.cgi?id=42367

No new tests, the relevant LayoutTestController bindings and tests will be added in the next patch.

  • public/WebSpeechInputController.h: Added new interface, implemented by embedder and called by WebKit (WebKit::WebSpeechInputController::~WebSpeechInputController):
  • public/WebSpeechInputListener.h: Added new interface, implemented by WebKit and called by embedder. (WebKit::WebSpeechInputListener::~WebSpeechInputListener):
  • public/WebViewClient.h: (WebKit::WebViewClient::createSpeechInputClient): New method to get the embedder's speech input client interface.
  • src/SpeechInputClientImpl.cpp: Added new class, implementation of a two way connector between WebCore and the embedder for requests and responses. (WebKit::SpeechInputClientImpl::SpeechInputClientImpl): (WebKit::SpeechInputClientImpl::~SpeechInputClientImpl): (WebKit::SpeechInputClientImpl::startRecognition): (WebKit::SpeechInputClientImpl::stopRecording): (WebKit::SpeechInputClientImpl::didCompleteRecording): (WebKit::SpeechInputClientImpl::setRecognitionResult): (WebKit::SpeechInputClientImpl::didCompleteRecognition):
  • src/SpeechInputClientImpl.h: Added.
  • src/WebViewImpl.cpp: (WebKit::WebViewImpl::WebViewImpl): Pass on the above mentioned speech input connector to WebCore.
  • src/WebViewImpl.h:
04:51 Changeset [64041] by andreas.kling@nokia.com

2010-07-26 Andreas Kling <andreas.kling@nokia.com>

Reviewed by Kenneth Rohde Christiansen.

[Qt] getImageData(): Single-pass RGB->BGR and un-premultiplication
https://bugs.webkit.org/show_bug.cgi?id=42945

Combine the two operations into a single loop over the pixel data.
Yields a considerable FPS gain on http://www.semantix.gr/statue.html

  • platform/graphics/qt/ImageBufferQt.cpp: (WebCore::getImageData):
04:21 Changeset [64040] by pfeldman@chromium.org

2010-07-26 Pavel Feldman <pfeldman@chromium.org>

Reviewed by Shinichiro Hamaji.

Web Inspector: make sure proxy objects are JSON-stringifiable.

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

  • inspector/front-end/InjectedScript.js: (injectedScriptConstructor):
04:12 Changeset [64039] by vestbo@webkit.org

[Qt] Fix feature detection regexp

Reviewed by Simon Hausmann.

We were missing the last feature

  • Scripts/webkitdirs.pm:
02:52 Changeset [64038] by ossy@webkit.org

Unreviewed.

[Qt] DRT sideeffect revealed by r63657
https://bugs.webkit.org/show_bug.cgi?id=42578

  • platform/qt/Skipped: Add tests to the Skipped list until fix.
    • http/tests/xmlhttprequest/authorization-header.html
    • http/tests/xmlhttprequest/null-auth.php
02:37 Changeset [64037] by apavlov@chromium.org

2010-07-26 Alexander Pavlov <apavlov@chromium.org>

Reviewed by Joseph Pecoraro.

Inspector should remember resources sorting set by the user
https://bugs.webkit.org/show_bug.cgi?id=19208

Sorting options both for time and size graphs are memorized in a single property,
which makes them possible to retrieve in a single message (e.g. useful for remote debugging).

  • inspector/front-end/ResourcesPanel.js: (WebInspector.ResourcesPanel.prototype.populateSidebar): (WebInspector.ResourcesPanel.prototype._settingsLoaded): (WebInspector.ResourcesPanel.prototype._loadSortOptions): (WebInspector.ResourcesPanel.prototype._loadSortOptionForGraph): (WebInspector.ResourcesPanel.prototype._graphSelected): (WebInspector.ResourcesPanel.prototype._changeSortingFunction): (WebInspector.ResourcesPanel.prototype._selectedOptionNameForGraph): (WebInspector.ResourcesPanel.prototype._doChangeSortingFunction):
  • inspector/front-end/Settings.js: (WebInspector.populateApplicationSettings):
01:53 Changeset [64036] by hausmann@webkit.org

[Qt] Use the default timeout interval for JS as the HTML tokenizer delay for setHtml()

Patch by Tor Arne Vestbø <tor.arne.vestbo@nokia.com> on 2009-10-30
Reviewed by Kenneth Rohde Christiansen.

This ensures that long-running JavaScript (for example due to a modal alert() dialog),
will not trigger a deferred load after only 500ms (the default tokenizer delay) while
still giving a reasonable timeout (10 seconds) to prevent deadlock.

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

JavaScriptCore:

  • runtime/TimeoutChecker.h: Add getter for the timeout interval

WebKit/qt:

  • Api/qwebframe.cpp: Document the behaviour
  • WebCoreSupport/FrameLoaderClientQt.cpp: set the custom tokenizer delay for substitute loads
  • tests/qwebframe/tst_qwebframe.cpp: Add test
01:29 Changeset [64035] by loislo@chromium.org

2010-07-26 Ilya Tikhonovsky <loislo@chromium.org>

Reviewed by Pavel Feldman.

Chromium DevTools: refactor query params, add basic
support for WebSocket-based backend.

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

  • src/js/DevTools.js: (devtools.ToolsAgent.prototype.dispatchOnClient_): (WebInspector.loaded): (WebInspector.doLoadedDone): (devtools.domContentLoaded):
  • src/js/InspectorControllerImpl.js:
01:19 Changeset [64034] by rniwa@webkit.org

WebCore: Redo fails after text node is split by SplitTextNodeCommand
https://bugs.webkit.org/show_bug.cgi?id=42941

Reviewed by Darin Adler.

The bug was caused by SplitTextNodeCommand not implementing doReapply.
Implemented doReapply and added insertText1AndTrimText2 to share the code between doApply and doReapply.

Test: editing/undo/redo-split-text-node.html

editing/undo/redo-split-text-node-with-removal.html

  • editing/SplitTextNodeCommand.cpp:

(WebCore::SplitTextNodeCommand::doApply): Calls executeApply.
(WebCore::SplitTextNodeCommand::doUnapply): Don't delete m_text1, which is later used in doReapply.
(WebCore::SplitTextNodeCommand::doReapply): Added.
(WebCore::SplitTextNodeCommand::insertText1AndTrimText2): Added.

  • editing/SplitTextNodeCommand.h:

LayoutTests: Added a test that splits a text node by inserting a paragraph and applies inline style.
The test then ensures that the style is preserved after undos and redos.

Reviewed by Darin Adler.

Also added a test in which the text node is removed by the script after undo.

Redo fails after text node is split by SplitTextNodeCommand
https://bugs.webkit.org/show_bug.cgi?id=42941

  • editing/undo/redo-split-text-node-expected.txt: Added.
  • editing/undo/redo-split-text-node.html: Added.
  • editing/undo/redo-split-text-with-removal-expected.txt: Added.
  • editing/undo/redo-split-text-with-removal.html: Added.

07/25/10:

23:57 Changeset [64033] by darin@apple.com

2010-07-25 Darin Adler <darin@apple.com>

Reviewed by Dan Bernstein.

WebKitTestRunner needs to support layoutTestController.dumpSelectionRect
https://bugs.webkit.org/show_bug.cgi?id=42326

  • platform/mac-wk2/Skipped: Removed all the tests from the list that were there only because they called dumpSelectionRect. Most of them pass now.

2010-07-25 Darin Adler <darin@apple.com>

Reviewed by Dan Bernstein.

WebKitTestRunner needs to support layoutTestController.dumpSelectionRect
https://bugs.webkit.org/show_bug.cgi?id=42326

  • WebKitTestRunner/InjectedBundle/Bindings/LayoutTestController.idl: Added dumpSelectionRect.
  • WebKitTestRunner/InjectedBundle/LayoutTestController.h: (WTR::LayoutTestController::dumpSelectionRect): Added. For now, this does nothing because its purpose is to change pixel test output and we do not have pixel tests implemented yet.
23:40 Changeset [64032] by philn@webkit.org

2010-07-23 Philippe Normand <pnormand@igalia.com>

Reviewed by Eric Carlson.

[GTK] media/media-can-play-mpeg-audio.html fails
https://bugs.webkit.org/show_bug.cgi?id=42895

Fixed advertizing of mp3, mpeg and mp4 mime-types in the player.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: (WebCore::mimeTypeCache):

LayoutTests:

2010-07-23 Philippe Normand <pnormand@igalia.com>

Reviewed by Eric Carlson.

[GTK] media/media-can-play-mpeg-audio.html fails
https://bugs.webkit.org/show_bug.cgi?id=42895

  • platform/gtk/Skipped: Unskip fixed test.
23:35 Changeset [64031] by philn@webkit.org

2010-07-23 Philippe Normand <pnormand@igalia.com>

Reviewed by Eric Carlson.

LayoutTests/media/media-document-audio-size.html failure
https://bugs.webkit.org/show_bug.cgi?id=38376

Advertize audio/x-wav along with audio/wav when appropriate,
otherwise WebKit attempts to use a plugin to play the media.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: (WebCore::mimeTypeCache):

LayoutTests:

2010-07-23 Philippe Normand <pnormand@igalia.com>

Reviewed by Eric Carlson.

LayoutTests/media/media-document-audio-size.html failure
https://bugs.webkit.org/show_bug.cgi?id=38376

  • platform/gtk/Skipped: Unskip fixed test on GTK port.
23:13 Changeset [64030] by darin@apple.com

2010-07-25 Darin Adler <darin@apple.com>

Reviewed by Maciej Stachowiak.

Need to support unsafe access console messages in WebKitTestRunner
https://bugs.webkit.org/show_bug.cgi?id=42320

  • platform/mac-wk2/Skipped: Since unsafe access console messages are working properly, moved the failing tests listed under this bug to other sections in the file based on the reason they are failing. Removed the tests that are passing.
23:03 Changeset [64029] by darin@apple.com

2010-07-25 Darin Adler <darin@apple.com>

Reviewed by Maciej Stachowiak.

WebKitTestRunner needs to support layoutTestController.keepWebHistory
https://bugs.webkit.org/show_bug.cgi?id=42323

  • platform/mac-wk2/Skipped: Removed the tests that needed only keepWebHistory and computedStyleIncludingVisitedInfo. Moved the other tests in the keepWebHistory section of the file into the other appropriate lists.

2010-07-25 Darin Adler <darin@apple.com>

Reviewed by Maciej Stachowiak.

WebKitTestRunner needs to support layoutTestController.keepWebHistory
https://bugs.webkit.org/show_bug.cgi?id=42323

Added keepWebHistory and computedStyleIncludingVisitedInfo.

Also fixed misspellings of the word "receive".

Also tweaked the names of some of the LayoutTestController members.

  • WebKitTestRunner/InjectedBundle/Bindings/CodeGeneratorTestRunner.pm: Added support for a type named "object" that is passed and returns as a JSValueRef.
  • WebKitTestRunner/InjectedBundle/Bindings/LayoutTestController.idl: Added keepWebHistory and computedStyleIncludingVisitedInfo. Also put setAcceptsEditing up nearer the top.
  • WebKitTestRunner/InjectedBundle/InjectedBundle.cpp: (WTR::InjectedBundle::_didReceiveMessage): Fixed mispellings of receive. (WTR::InjectedBundle::initialize): Ditto. (WTR::InjectedBundle::didReceiveMessage): Ditto. (WTR::InjectedBundle::reset): Reset the state of visited links between tests. Also eliminated the unused argument to the LayoutTestController create function. (WTR::InjectedBundle::setShouldTrackVisitedLinks): Added.
  • WebKitTestRunner/InjectedBundle/InjectedBundle.h: Ditto.
  • WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: (WTR::InjectedBundlePage::shouldBeginEditing): Call shouldAllowEditing instead of acceptsEditing. (WTR::InjectedBundlePage::shouldEndEditing): Ditto. (WTR::InjectedBundlePage::shouldInsertNode): Ditto. (WTR::InjectedBundlePage::shouldInsertText): Ditto. (WTR::InjectedBundlePage::shouldDeleteRange): Ditto. (WTR::InjectedBundlePage::shouldChangeSelectedRange): Ditto. (WTR::InjectedBundlePage::shouldApplyStyle): Ditto.
  • WebKitTestRunner/InjectedBundle/LayoutTestController.cpp: (WTR::LayoutTestController::create): Removed uneeded argument. (WTR::LayoutTestController::LayoutTestController): Removed unneeded argument. Updated for rename of m_acceptsEditing to m_shouldAllowEditing. (WTR::LayoutTestController::numberOfActiveAnimations): Added some FIXMEs about the fact that this works on the main frame. (WTR::LayoutTestController::pauseAnimationAtTimeOnElementWithId): Ditto. (WTR::LayoutTestController::keepWebHistory): Added. (WTR::LayoutTestController::computedStyleIncludingVisitedInfo): Added. (WTR::JSObjectSetProperty): Added. Helper to make the function below cleaner. (WTR::LayoutTestController::makeWindowObject): Changed to use the overload of JSObjectSetProperty above.
  • WebKitTestRunner/InjectedBundle/LayoutTestController.h: Changes to match above.
  • WebKitTestRunner/TestController.cpp: (WTR::TestController::initialize): Fixed mispellings of receive. (WTR::TestController::_didReceiveMessageFromInjectedBundle): Ditto. (WTR::TestController::didReceiveMessageFromInjectedBundle): Ditto.
  • WebKitTestRunner/TestController.h: Ditto.
  • WebKitTestRunner/TestInvocation.cpp: (WTR::TestInvocation::didReceiveMessageFromInjectedBundle): Ditto.
  • WebKitTestRunner/TestInvocation.h: Ditto.

2010-07-25 Darin Adler <darin@apple.com>

Reviewed by Maciej Stachowiak.

WebKitTestRunner needs to support layoutTestController.keepWebHistory
https://bugs.webkit.org/show_bug.cgi?id=42323

Added WKBundleSetShouldTrackVisitedLinks, WKBundleRemoveAllVisitedLinks,
and WKBundleFrameGetComputedStyleIncludingVisitedInfo.

Also fixed misspellings of the word "receive".

  • WebProcess/InjectedBundle/API/c/WKBundle.cpp: (WKBundleSetShouldTrackVisitedLinks): Added. (WKBundleRemoveAllVisitedLinks): Added.
  • WebProcess/InjectedBundle/API/c/WKBundle.h: Added functions and fixed mispellings of receive.
  • WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp: (WKBundleFrameGetJavaScriptContext): Moved the code from here into WebFrame, to be consistent with the rest of the functions in this file. (WKBundleFrameGetComputedStyleIncludingVisitedInfo): Added.
  • WebProcess/InjectedBundle/API/c/WKBundleFrame.h: Added WKBundleFrameGetComputedStyleIncludingVisitedInfo and tried to rearrange the file to be more logically ordered and grouped.
  • WebProcess/InjectedBundle/InjectedBundle.cpp: (WebKit::InjectedBundle::setShouldTrackVisitedLinks): Added. (WebKit::InjectedBundle::removeAllVisitedLinks): Added. (WebKit::InjectedBundle::didReceiveMessage): Fixed mispellings of receive.
  • WebProcess/InjectedBundle/InjectedBundle.h: Ditto.
  • WebProcess/WebPage/WebFrame.cpp: (WebKit::WebFrame::jsContext): Added. Contains the code that used to be in WKBundleFrameGetJavaScriptContext. (WebKit::WebFrame::computedStyleIncludingVisitedInfo): Added.
  • WebProcess/WebPage/WebFrame.h: Ditto.
  • UIProcess/API/C/WKContext.h: Fixed misspellings of receive.
  • UIProcess/WebContext.cpp: (WebKit::WebContext::didReceiveMessageFromInjectedBundle): Ditto.
  • UIProcess/WebContext.h: Ditto.
  • UIProcess/WebContextInjectedBundleClient.cpp: (WebKit::WebContextInjectedBundleClient::didReceiveMessageFromInjectedBundle): Ditto.
  • UIProcess/WebContextInjectedBundleClient.h: Ditto.
  • UIProcess/WebProcessProxy.cpp: (WebKit::WebProcessProxy::forwardMessageToWebContext): Ditto.
  • WebProcess/WebProcess.cpp: (WebKit::WebProcess::forwardMessageToInjectedBundle): Ditto.
21:10 Changeset [64028] by rniwa@webkit.org

splitTextAt*IfNeed and splitTextElementAt*IfNeed need to be cleaned up
https://bugs.webkit.org/show_bug.cgi?id=42937

Reviewed by Kent Tamura.

Isolated the code to decide whether or not text node should be split into isValidCaretPositionInTextNode.
Moved the condition check out of *IfNeeded methods to applyRelativeFontStyleChange and applyInlineStyle.

No new tests added since this is a clean up.

  • editing/ApplyStyleCommand.cpp:

(WebCore::ApplyStyleCommand::applyRelativeFontStyleChange): Uses isValidCaretPositionInTextNode.
(WebCore::ApplyStyleCommand::applyInlineStyle): Uses isValidCaretPositionInTextNode.
(WebCore::ApplyStyleCommand::splitTextAtStart): Renamed from splitTextAtStartIfNeeded.
(WebCore::ApplyStyleCommand::splitTextAtEnd): Renamed from splitTextAtEndIfNeeded.
(WebCore::ApplyStyleCommand::splitTextElementAtStart): Renamed from splitTextElementAtStartIfNeeded.
(WebCore::ApplyStyleCommand::splitTextElementAtEnd): Renamed from splitTextElementAtEndIfNeeded.
(WebCore::ApplyStyleCommand::isValidCaretPositionInTextNode): Returns true if the position lies within a text node.

  • editing/ApplyStyleCommand.h:
21:01 Changeset [64027] by commit-queue@webkit.org

2010-07-25 Patrick Gansterer <paroga@paroga.com>

Reviewed by Kent Tamura.

[WINCE] Buildfix for JSC in release mode
https://bugs.webkit.org/show_bug.cgi?id=42934

  • jsc.cpp: Don't use try on WinCE.
20:48 Changeset [64026] by commit-queue@webkit.org

2010-07-25 Patrick Gansterer <paroga@paroga.com>

Reviewed by Kent Tamura.

[WINCE] Buildfix for ImageBufferWince
https://bugs.webkit.org/show_bug.cgi?id=42928

  • platform/graphics/wince/ImageBufferWince.cpp: (WebCore::): (WebCore::BufferedImage::draw): Pass through ColorSpace parameter. (WebCore::BufferedImage::drawPattern): Ditto. (WebCore::ImageBuffer::platformTransformColorSpace): Added.
20:33 Changeset [64025] by commit-queue@webkit.org

2010-07-25 Patrick Gansterer <paroga@paroga.com>

Reviewed by Kent Tamura.

[WINCE] Buildfix for PopupMenuWin.cpp
https://bugs.webkit.org/show_bug.cgi?id=42932

Add #if !OS(WINCE) around unsupported window messages.

  • platform/win/PopupMenuWin.cpp: (WebCore::PopupMenu::show): (WebCore::PopupMenu::wndProc):
14:51 Changeset [64024] by abarth@webkit.org

2010-07-25 Adam Barth <abarth@webkit.org>

Reviewed by Eric Seidel.

Implement adjustMathMLAttributes
https://bugs.webkit.org/show_bug.cgi?id=42952

Yay test progression.

  • html5lib/runner-expected-html5.txt:

2010-07-25 Adam Barth <abarth@webkit.org>

Reviewed by Eric Seidel.

Implement adjustMathMLAttributes
https://bugs.webkit.org/show_bug.cgi?id=42952

This is kind of mechanical overkill for adjusting one attribute name,
but it's nice to use the same machinery as SVG.

  • html/HTMLTreeBuilder.cpp:
  • mathml/mathattrs.in:
14:36 Changeset [64023] by abarth@webkit.org

2010-07-25 Adam Barth <abarth@webkit.org>

Reviewed by Eric Seidel.

Functions supporting the legacy tree builder are confusing
https://bugs.webkit.org/show_bug.cgi?id=42951

This patch just inlines these functions into their one call site and
removes the notImplemented() calls. We thought we were going to grow
these to support the new tree builder, but we took a different path.
Previous to this patch, these functions were confusing because they
looked like part of the new tree builder.

  • html/HTMLTreeBuilder.cpp: (WebCore::HTMLTreeBuilder::passTokenToLegacyParser):
  • html/HTMLTreeBuilder.h:
13:05 Changeset [64022] by abarth@webkit.org

2010-07-25 Adam Barth <abarth@webkit.org>

Reviewed by Eric Seidel.

Recent HTML5 TreeBuilder Regression? All canvas tests ASSERT
https://bugs.webkit.org/show_bug.cgi?id=42948

Remove ASSERT and replace with correct branch. I put this ASSERT in
to make sure we had test coverage for this branch. I guess we do. :)

  • html/HTMLConstructionSite.cpp: (WebCore::HTMLConstructionSite::attach):
08:46 Changeset [64021] by pfeldman@chromium.org

2010-07-25 Pavel Feldman <pfeldman@chromium.org>

Reviewed by Timothy Hatcher.

Web Inspector: check of jQuery object type prior to treating it as an array.

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

  • inspector/front-end/InjectedScript.js: (injectedScriptConstructor):
00:56 Changeset [64020] by ap@apple.com

2010-07-25 Alexey Proskuryakov <ap@apple.com>

Reviewed by Sam Weinig.

https://bugs.webkit.org/show_bug.cgi?id=42193
Support layoutTestController.dumpEditingDelegates in WebKitTestRunner

Step 2 - add the rest of editing delegates.

  • platform/mac-wk2/Skipped: Changed the bug tracking why the tests are skipped - the delegates are now implemented, but one of them isn't called for some reason.

2010-07-25 Alexey Proskuryakov <ap@apple.com>

Reviewed by Sam Weinig.

https://bugs.webkit.org/show_bug.cgi?id=42193
Support layoutTestController.dumpEditingDelegates in WebKitTestRunner

Step 2 - add the rest of editing delegates.

  • WebProcess/InjectedBundle/API/c/WKBundleAPICast.h:
  • WebProcess/InjectedBundle/API/c/WKBundleBase.h: Added enums for EditorInsertAction and EAffinity. Also added a dummy type for CSSStyleDeclaration - neither DumpRenderTree not WebKitTestRunner actually use that.
  • WebProcess/InjectedBundle/API/c/WKBundlePage.h:
  • WebProcess/InjectedBundle/InjectedBundlePageEditorClient.cpp: (WebKit::InjectedBundlePageEditorClient::shouldBeginEditing): (WebKit::InjectedBundlePageEditorClient::shouldEndEditing): (WebKit::InjectedBundlePageEditorClient::shouldInsertNode): (WebKit::InjectedBundlePageEditorClient::shouldInsertText): (WebKit::InjectedBundlePageEditorClient::shouldDeleteRange): (WebKit::InjectedBundlePageEditorClient::shouldChangeSelectedRange): (WebKit::InjectedBundlePageEditorClient::shouldApplyStyle): (WebKit::InjectedBundlePageEditorClient::didBeginEditing): (WebKit::InjectedBundlePageEditorClient::didEndEditing): (WebKit::InjectedBundlePageEditorClient::didChange): (WebKit::InjectedBundlePageEditorClient::didChangeSelection):
  • WebProcess/InjectedBundle/InjectedBundlePageEditorClient.h:
  • WebProcess/WebCoreSupport/WebEditorClient.cpp: (WebKit::WebEditorClient::shouldDeleteRange): (WebKit::WebEditorClient::shouldEndEditing): (WebKit::WebEditorClient::shouldInsertNode): (WebKit::WebEditorClient::shouldInsertText): (WebKit::WebEditorClient::shouldChangeSelectedRange): (WebKit::WebEditorClient::shouldApplyStyle): (WebKit::WebEditorClient::didBeginEditing): (WebKit::WebEditorClient::respondToChangedContents): (WebKit::WebEditorClient::respondToChangedSelection): (WebKit::WebEditorClient::didEndEditing): Added remaining delagates that are needed for WebKitTestRunner.

2010-07-25 Alexey Proskuryakov <ap@apple.com>

Reviewed by Sam Weinig.

https://bugs.webkit.org/show_bug.cgi?id=42193
Support layoutTestController.dumpEditingDelegates in WebKitTestRunner

Step 2 - add the rest of editing delegates.

  • WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: (WTR::operator<<): Fixed to not crash when range is null. (WTR::InjectedBundlePage::InjectedBundlePage): (WTR::InjectedBundlePage::_shouldEndEditing): (WTR::InjectedBundlePage::_shouldInsertNode): (WTR::InjectedBundlePage::_shouldInsertText): (WTR::InjectedBundlePage::_shouldDeleteRange): (WTR::InjectedBundlePage::_shouldChangeSelectedRange): (WTR::InjectedBundlePage::_shouldApplyStyle): (WTR::InjectedBundlePage::_didBeginEditing): (WTR::InjectedBundlePage::_didEndEditing): (WTR::InjectedBundlePage::_didChange): (WTR::InjectedBundlePage::_didChangeSelection): (WTR::InjectedBundlePage::shouldEndEditing): (WTR::InjectedBundlePage::shouldInsertNode): (WTR::InjectedBundlePage::shouldInsertText): (WTR::InjectedBundlePage::shouldDeleteRange): (WTR::InjectedBundlePage::shouldChangeSelectedRange): (WTR::InjectedBundlePage::shouldApplyStyle): (WTR::InjectedBundlePage::didBeginEditing): (WTR::InjectedBundlePage::didEndEditing): (WTR::InjectedBundlePage::didChange): (WTR::InjectedBundlePage::didChangeSelection):
  • WebKitTestRunner/InjectedBundle/InjectedBundlePage.h:
Note: See TracTimeline for information about the timeline view.