Timeline



Jan 20, 2010:

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

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

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

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

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

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

Unreviewed. Fix incorrect close tags.

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

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

Reviewed by Darin Adler.

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

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

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

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

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

Reviewed by Darin Adler.

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

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

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

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

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

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

Unreviewed. Fix a FAIL test by a wrong input.

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

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

Reviewed by Eric Seidel.

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

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

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

Reviewed by Alexey Proskuryakov.

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

Remove the direct use of strdup.

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

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

Reviewed by Dan Bernstein.

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

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

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

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

Reviewed by David Levin.

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

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

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

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

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

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

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

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

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

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

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

Reviewed by David Levin.

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

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

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

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

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

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

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

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

Reviewed by Darin Adler.

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

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

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

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

Reviewed by Darin Adler.

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

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

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

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

Reviewed by Simon Hausmann.

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

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

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

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

Reviewed by Simon Hausmann.

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

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

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

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

2010-01-20 Michael Nordman <Michael Nordman>

Reviewed by Alexey Proskuryakov.

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

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

2010-01-20 Michael Nordman <Michael Nordman>

Reviewed by Alexey Proskuryakov.

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

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

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

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

Reviewed by Dmitry Titov.

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

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

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

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

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

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

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

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

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

Reviewed by Adam Barth.

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

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

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

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

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

Reviewed by Alexey Proskuryakov.

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

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

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

Reviewed by Alexey Proskuryakov.

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

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

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

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

Reviewed by Alexey Proskuryakov.

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

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

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

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

Reviewed by Tor Arne Vestbø.

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

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

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

Test: fast/css/button-height.html

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

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

Reviewed by Tor Arne Vestbø.

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


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

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

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

Reviewed by Sam Weinig.

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

  • loader/FrameLoader.cpp:

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

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

Reviewed by Sam Weinig.

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

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

Reviewed by Oliver Hunt.

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

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

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

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

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

Reviewed by Pavel Feldman.

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

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

Reviewed by Sam Weinig.

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

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

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

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

Reviewed by Pavel Feldman.

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

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

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

Updated uses of SerializedScriptValue:

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

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

Reviewed by Pavel Feldman.

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

Updated uses of SerializedScriptValue:

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

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

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

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

Build fix.

  • wtf/FastMalloc.cpp:

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

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

Add missing implementation for WebGeolocationPosition::initWithTimestamp.

Reviewed by Sam Weinig.

  • WebGeolocationPosition.cpp:

(WebGeolocationPosition::initWithTimestamp): Implemented.

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

Fix crash in geolocation when observers change during iteration.

Reviewed by Sam Weinig.

  • page/GeolocationController.cpp:

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

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

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

Reviewed by Sam Weinig.

  • plugins/PluginView.cpp:

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

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

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

Reviewed by Oliver Hunt.

  • wtf/TCSpinLock.h:

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

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

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

Reviewed by Oliver Hunt.

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

  • wtf/FastMalloc.cpp:

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

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

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

Reviewed by Maciej Stachowiak.

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

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

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

Reviewed by Dan Bernstein.

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

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

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

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

Rubber-stamped by Eric Seidel.

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

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

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

Reviewed by NOBODY.

Revert r53447, since this caused leaks.

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

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

  • platform/text/StringImpl.h:

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

  • storage/OriginUsageRecord.cpp:

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

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

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

Reviewed by Dmitry Titov.

WebCore:

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

(WebCore::JSXMLHttpRequest::send):

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

(WebCore::toInt64):

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

(WebCore::V8XMLHttpRequest::sendCallback):

  • html/File.cpp:

(WebCore::File::File):

  • html/File.h:

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

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

(WebCore::XMLHttpRequest::send):

  • xml/XMLHttpRequest.h:

WebKit/mac:

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

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

Reviewed by Beth Dakin.

WebCore:

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

  • accessibility/AccessibilityRenderObject.cpp:

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

  • html/HTMLAttributeNames.in:

LayoutTests:

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

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

Reviewed by Oliver Hunt.

  • runtime/Collector.cpp:

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

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

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

Reviewed by Nikolas Zimmermann.

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

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

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

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

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

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

Reviewed by Nikolas Zimmermann.

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

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

Reviewed by Oliver Hunt.

JavaScriptCore:

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

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

WebCore:

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

No change functionality so no new tests.

  • loader/WorkerThreadableLoader.cpp:

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

  • loader/WorkerThreadableLoader.h:

Change to use the derived class instead of the ThreadSafeShared version.

  • platform/CrossThreadCopier.cpp:

Add the new template parameter throughout the classes and adjust the class that
handles ThreadSafeShared to allow for derived types.

  • platform/CrossThreadCopier.h:

Add another template parameter to be able to detect classes that derive
from ThreadSafeShared.

  • websockets/WorkerThreadableWebSocketChannel.cpp:

Removed unnecessary casts and changed a type to use the derived class instead of
the ThreadSafeShared version.
(WebCore::WorkerThreadableWebSocketChannel::Peer::Peer):
(WebCore::workerContextDidSend):
(WebCore::workerContextDidGetBufferedAmount):
(WebCore::workerContextDidConnect):
(WebCore::workerContextDidReceiveMessage):
(WebCore::workerContextDidClose):
(WebCore::WorkerThreadableWebSocketChannel::Bridge::setWebSocketChannel):
(WebCore::WorkerThreadableWebSocketChannel::Bridge::mainThreadCreateWebSocketChannel):
(WebCore::WorkerThreadableWebSocketChannel::Bridge::send):
(WebCore::WorkerThreadableWebSocketChannel::Bridge::bufferedAmount):
(WebCore::WorkerThreadableWebSocketChannel::Bridge::clearClientWrapper):
(WebCore::WorkerThreadableWebSocketChannel::Bridge::setMethodNotCompleted):
(WebCore::WorkerThreadableWebSocketChannel::Bridge::waitForMethodCompletion):

  • websockets/WorkerThreadableWebSocketChannel.h:

(WebCore::WorkerThreadableWebSocketChannel::Peer::create): Changed a type to use the
derived class instead of the ThreadSafeShared version.

2:31 PM Changeset in webkit [53567] by jhoneycutt@apple.com
  • 11 edits
    2 adds in trunk

MSAA: accSelect() is not implemented

https://bugs.webkit.org/show_bug.cgi?id=33918
<rdar://problem/7436861>

Reviewed by Darin Adler.

WebCore:

Test: platform/win/accessibility/selection-and-focus.html

  • accessibility/AccessibilityMenuListOption.cpp:

(WebCore::AccessibilityMenuListOption::setSelected):
Return early if the object is not selectable.

WebKit/win:

  • AccessibleBase.cpp:

(AccessibleBase::accSelect):
If there is an invalid combination of state flags, return early. If the
caller passed the "take focus" flag, focus the object. If the "take
selection" flag was passed, check whether the parent object is an
AccessibilityListBox; if so, call the object's setSelectedChildren()
function. If the parent is an AccessibilityMenuListPopup, call the
child object's setSelected() function. Otherwise, if the parent is some
other, unsupported object, return early.
If the selection flags include "add", "remove", or "extend" selection,
and the parent object is not multi-selectable, return early. Otherwise,
set or unset the child's selected flag based on the passed flag.

WebKitTools:

  • DumpRenderTree/AccessibilityUIElement.cpp:

(takeFocusCallback):
Call the object's takeFocus() function.
(takeSelectionCallback):
Call its takeSelection() function.
(addSelectionCallback):
Call its addSelection() function.
(removeSelectionCallback):
Call its removeSelection() function.
(AccessibilityUIElement::getJSClass):
Add new functions to the JS class definition.

  • DumpRenderTree/AccessibilityUIElement.h:

Declare new functions.

  • DumpRenderTree/gtk/AccessibilityUIElementGtk.cpp:

(AccessibilityUIElement::takeFocus):
Stubbed.
(AccessibilityUIElement::takeSelection):
Stubbed.
(AccessibilityUIElement::addSelection):
Stubbed.
(AccessibilityUIElement::removeSelection):
Stubbed.

  • DumpRenderTree/mac/AccessibilityUIElementMac.mm:

(AccessibilityUIElement::takeFocus):
Stubbed.
(AccessibilityUIElement::takeSelection):
Stubbed.
(AccessibilityUIElement::addSelection):
Stubbed.
(AccessibilityUIElement::removeSelection):
Stubbed.

  • DumpRenderTree/win/AccessibilityUIElementWin.cpp:

(AccessibilityUIElement::takeFocus):
Call the object's accSelect() function, passing the appropriate flag.
(AccessibilityUIElement::takeSelection):
Ditto.
(AccessibilityUIElement::addSelection):
Ditto.
(AccessibilityUIElement::removeSelection):
Ditto.

LayoutTests:

  • platform/win/accessibility/selection-and-focus-expected.txt: Added.
  • platform/win/accessibility/selection-and-focus.html: Added.
2:23 PM Changeset in webkit [53566] by Nikolas Zimmermann
  • 2 edits in trunk/WebCore

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

Not reviewed. Fix chromium build, introduced a copy&paste error.

  • bindings/v8/ScriptEventListener.cpp: (WebCore::createAttributeEventListener):
2:21 PM Changeset in webkit [53565] by mitz@apple.com
  • 2 edits in trunk/WebCore

<rdar://problem/6579204> Exception thrown when opening a <select> pop-up that
uses a web font
https://bugs.webkit.org/show_bug.cgi?id=23911

Reviewed by Darin Adler.

  • platform/mac/PopupMenuMac.mm:

(WebCore::PopupMenu::populate): Use the (bold) system font if an NSFont cannot
be obtained.

2:01 PM Changeset in webkit [53564] by Nikolas Zimmermann
  • 14 edits
    2 adds in trunk

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

Reviewed by Alexey Proskuryakov.

svg/custom/use-instanceRoot-event-bubbling.xhtml is flakey
https://bugs.webkit.org/show_bug.cgi?id=33835

mouseEvent fires mutiple times in svg/custom/use-instanceRoot-as-event-target.xhtml
https://bugs.webkit.org/show_bug.cgi?id=32519

Test: svg/custom/use-instanceRoot-event-listener-liveness.xhtml

Stabilize <use> scripting support - use tests are reliable now (tested using --repeach-each 50 --random -p)

Do not reclone trees anymore because of event listener changes, instead keep correspondingElement & shadowTreeElement
synchronized for each SVGElementInstance - any mutations on any event listeners are live, and take immediate effect,
w/o having to rely on a reclone - this was the root of several race conditions making the <use> tests flakey.

Fix SVGUseElement::instanceRoot() to force shadow tree creation, even if it was not attached so far - we can't wait
for finishedParsing() to be called which would recalculate the document style and attach the shadow tree as result.
This is now matching Operas behaviour.

Optimize createAttributeEventListener() to not create event listeners if the supplied Attribute isNull() - otherwhise
DOM calls like removeAttribute("onclick") cause a temporary JSEventListener to be created, added to the event listener
cache and removed afterwards.

  • bindings/js/ScriptEventListener.cpp: (WebCore::createAttributeEventListener): Return early if the supplied attribute is null as discussed with Geoffrey.
  • bindings/v8/ScriptEventListener.cpp: (WebCore::createAttributeEventListener): Ditto.
  • dom/Node.cpp: Synchronize event listeners with all element instances, instead of marking the use elements to reclone. (WebCore::instancesForSVGElement): (WebCore::tryAddEventListener): (WebCore::Node::addEventListener): When adding a listener, get a list of element instances and add it their as well. (WebCore::tryRemoveEventListener): (WebCore::Node::removeEventListener): Ditto for removals, but with special logic for listeners created from markup (see comments)
  • svg/SVGElementInstance.cpp: Cleaned up, removing unncessary checks of correspondingElement() - there is an ASSERT in the ctor. (WebCore::SVGElementInstance::invalidateAllInstancesOfElement): (WebCore::SVGElementInstance::scriptExecutionContext): (WebCore::SVGElementInstance::addEventListener): (WebCore::SVGElementInstance::removeEventListener): (WebCore::SVGElementInstance::removeAllEventListeners): (WebCore::SVGElementInstance::eventTargetData): (WebCore::SVGElementInstance::ensureEventTargetData):
  • svg/SVGUseElement.cpp: Call document()->updateLayoutIgnorePendingStylesheets() to force shadow tree creation, just like CSSStyleDecl works. (WebCore::SVGUseElement::instanceRoot):
1:56 PM Changeset in webkit [53563] by dimich@chromium.org
  • 3 edits in trunk/WebCore

Move local utility class DocumentWeakReference entirely from Document.h into Document.cpp
since it is only used there. It is a followup for http://trac.webkit.org/changeset/53345.

Reviewed by Darin Adler.

No new tests since no change in functionality.

  • dom/Document.cpp: Move definitions of the methods into declaration of the class, remove 'inline'.
  • dom/Document.h: Replace DocumentWeakReference declaration with a forward declaration.
1:50 PM Changeset in webkit [53562] by oliver@apple.com
  • 4 edits in trunk/WebCore

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

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

broke selection repaint for transformed text in html

  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::paintSelection):
  • rendering/RenderForeignObject.cpp:
  • rendering/RenderForeignObject.h:
1:37 PM Changeset in webkit [53561] by oliver@apple.com
  • 4 edits in trunk/WebCore

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

Reviewed by Beth Dakin.

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

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

  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::paintSelection):
  • rendering/RenderForeignObject.cpp: (WebCore::RenderForeignObject::mapLocalToContainer):
  • rendering/RenderForeignObject.h:
12:21 PM Changeset in webkit [53560] by kevino@webkit.org
  • 2 edits in trunk/WebCore

Build fix for !ENABLE(SVG).

12:05 PM Changeset in webkit [53559] by Csaba Osztrogonác
  • 4 edits
    1 add in trunk/WebKitTools

Extract Apache handling to httpd.pm module and use the provided functionality
in scripts where Apache is needed.
The module httpd.pm stores the PID of Apache in a variable and cleans up
the PID directory after Apache properly shut down. Catching INT and TERM
signals allows the scripts to close Apache and clean up its PID directory
even if the testing was interrupted.

Patch by Andras Becsi <abecsi@inf.u-szeged.hu> on 2010-01-20
Reviewed by Alexey Proskuryakov.

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

  • Scripts/webkitperl/httpd.pm: Added.
  • Scripts/run-iexploder-tests:
  • Scripts/run-webkit-httpd:
  • Scripts/run-webkit-tests:
11:26 AM Changeset in webkit [53558] by levin@chromium.org
  • 43 edits
    2 deletes in trunk

Revert r53552 which caused lots of layout test failures.

11:13 AM Changeset in webkit [53557] by steveblock@google.com
  • 9 edits
    2 moves in trunk/WebCore

Renames jni_runtime.[cpp|h] to JNIBridge.[cpp|h]
https://bugs.webkit.org/show_bug.cgi?id=33899

Reviewed by David Levin.

No new tests, refactoring only.

  • Android.jscbindings.mk: Modified. Removes jni_runtime.cpp and adds JNIBridge.cpp
  • GNUmakefile.am: Modified. Removes jni_runtime.h and adds JNIBridge.h
  • WebCore.xcodeproj/project.pbxproj: Modified. Removes jni_runtime.[cpp|h] and adds JNIBridge.[cpp|h]
  • bridge/jni/JNIBridge.cpp: Copied from WebCore/bridge/jni/jni_runtime.cpp.
  • bridge/jni/JNIBridge.h: Copied from WebCore/bridge/jni/jni_runtime.h.
  • bridge/jni/jni_jsobject.mm: Modified. Updated to include JNIBridge.h
  • bridge/jni/jni_runtime.cpp: Removed.
  • bridge/jni/jni_runtime.h: Removed.
  • bridge/jni/jsc/JNIUtilityPrivate.cpp: Modified. Updated to include JNIBridge.h
  • bridge/jni/jsc/JavaClassJSC.cpp: Modified. Removed superfluous include
  • bridge/jni/jsc/JavaClassJSC.h: Modified. Updated to include JNIBridge.h
  • bridge/jni/jsc/JavaInstanceJSC.cpp: Modified. Updated to include JNIBridge.h
11:09 AM Changeset in webkit [53556] by timothy@apple.com
  • 2 edits in trunk/WebKit/mac

Fix erroneous page scrolls when trying to select text or use form elements
with the Web Inspector docked.

http://webkit.org/b/24403
rdar://problem/6753925

Reviewed by John Sullivan and Darin Adler.

  • WebCoreSupport/WebChromeClient.mm:

(WebChromeClient::scrollRectIntoView): The scrollRect.move() call was
incorrectly converting the rect under the assumption that the frame view
is the same size as the WebView. Using convertRect:fromView: instead
is enough to fix the bug, but that code isn't needed since WebCore
already takes care of scrolling the main frame's document view, so it
was redundant to do it here too.

11:00 AM Changeset in webkit [53555] by ap@apple.com
  • 6 edits
    2 adds in trunk

Reviewed by Simon Fraser.

https://bugs.webkit.org/show_bug.cgi?id=33913
Crash under Media::matchMedium in detached frame

Also took the opportunity to fix JS bindings for the Media object.

Test: fast/media/lifetime.html

  • css/Media.h: (WebCore::Media::create): Take and store a Frame pointer, like other similar objects do. (WebCore::Media::disconnectFrame): Zero out the frame pointer (this is called from DOMWindow::clear()).
  • css/Media.cpp: (WebCore::Media::Media): Updated to storing Frame pointer. (WebCore::Media::type): Ditto. (WebCore::Media::matchMedium): Removed null check for document element - every document has one. Also, every Frame has a document, so we only need to check for m_frame being zero.
  • bindings/js/JSDOMWindowCustom.cpp: (WebCore::JSDOMWindow::markChildren):
  • page/DOMWindow.cpp: (WebCore::DOMWindow::clear): (WebCore::DOMWindow::media):
  • page/DOMWindow.h: (WebCore::DOMWindow::optionalMedia): Make sure there's only one Media object per window, and keep its wrapper alive.
9:51 AM Changeset in webkit [53554] by sfalken@apple.com
  • 22 edits
    3 adds in trunk

JavaScriptCore: Feature defines are difficult to maintain on Windows builds
https://bugs.webkit.org/show_bug.cgi?id=33883

Reviewed by Darin Adler and Adam Roben.

FeatureDefines.vsprops are now maintained in a way similar to
Configurations/FeatureDefines.xcconfig, with the added advantage
of having a single FeatureDefines file across all projects.

  • Configurations/FeatureDefines.xcconfig: Add comments about keeping feature definitions in sync.
  • JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj: Add FeatureDefines.vsprops inherited property sheet.
  • JavaScriptCore.vcproj/WTF/WTF.vcproj: Add FeatureDefines.vsprops inherited property sheet.

WebCore: Feature defines are difficult to maintain on Windows builds
https://bugs.webkit.org/show_bug.cgi?id=33883

Reviewed by Darin Adler and Adam Roben.

FeatureDefines.vsprops are now maintained in a way similar to
Configurations/FeatureDefines.xcconfig, with the added advantage
of having a single FeatureDefines file across all projects.

  • Configurations/FeatureDefines.xcconfig: Add comments about keeping feature definitions in sync.
  • WebCore.vcproj/MigrateIDLAndScripts: Remove reference to file that no longer exists.
  • WebCore.vcproj/QTMovieWin.vcproj: Add FeatureDefines.vsprops inherited property sheet.
  • WebCore.vcproj/WebCore.vcproj: Add FeatureDefines.vsprops inherited property sheet.
  • WebCore.vcproj/WebCoreCommon.vsprops: Remove ENABLE_ preprocessor definitions.
  • WebCore.vcproj/WebCoreGenerated.vcproj: Added Cairo configuration for selecting proper features.
  • WebCore.vcproj/WebCoreMediaQT.vsprops: Remove ENABLE_VIDEO. This is picked up from FeatureDefines.vsprops.
  • WebCore.vcproj/build-generated-files.sh: Pick up features from FeatureDefines.vsprops or FeatureDefinesCairo.vsprops.

WebKit/mac: Feature defines are difficult to maintain on Windows builds
https://bugs.webkit.org/show_bug.cgi?id=33883

Reviewed by Darin Adler and Adam Roben.

  • Configurations/FeatureDefines.xcconfig: Add comments about keeping feature definitions in sync.

WebKit/win: Feature defines are difficult to maintain on Windows builds
https://bugs.webkit.org/show_bug.cgi?id=33883

Reviewed by Darin Adler and Adam Roben.

FeatureDefines.vsprops are now maintained in a way similar to
Configurations/FeatureDefines.xcconfig, with the added advantage
of having a single FeatureDefines file across all projects.

  • WebKit.vcproj/Interfaces.vcproj: Add FeatureDefines.vsprops inherited property sheet.
  • WebKit.vcproj/WebKit.sln: Set up Cairo configuration for WebCoreGenerated.
  • WebKit.vcproj/WebKit.vcproj: Remove ENABLE_ preprocessor definitions.

Add FeatureDefines.vsprops inherited property sheet.

  • WebKit.vcproj/WebKitGUID.vcproj: Add FeatureDefines.vsprops inherited property sheet.

WebKitLibraries: Feature defines are difficult to maintain on Windows builds
https://bugs.webkit.org/show_bug.cgi?id=33883

Reviewed by Darin Adler and Adam Roben.

FeatureDefines.vsprops are now maintained in a way similar to
Configurations/FeatureDefines.xcconfig, with the added advantage
of having a single FeatureDefines file across all projects.

Keep this list of features (not enabled/disabled state) in sync with
FeatureDefines.xcconfig files in JavaScriptCore, WebCore, and WebKit.

Add new features to both PreprocessorDefinitions and UserMacro sections.
Set any ENABLE_FEATURE_NAME macro to an empty string to disable that feature.

  • win/tools/scripts/feature-defines.sh: Added.
  • win/tools/vsprops/FeatureDefines.vsprops: Added.
  • win/tools/vsprops/FeatureDefinesCairo.vsprops: Added.
  • win/tools/vsprops/WinCairo.vsprops: Removed ENABLE_FILTERS. Now set in FeatureDefinesCairo.vsprops.
9:45 AM Changeset in webkit [53553] by mitz@apple.com
  • 5 edits in trunk/WebKit/mac

<rdar://problem/7489504> Clicking on an overflow scrollbar when the window doesn't have
focus only focuses the window; it should start scrolling too
https://bugs.webkit.org/show_bug.cgi?id=33906

Reviewed by Simon Fraser.

  • Misc/WebElementDictionary.mm:

(+[WebElementDictionary initializeLookupTable]): Initialize WebElementIsInScrollBarKey.
(-[WebElementDictionary _isInScrollBar]): Added. Returns whether the HitTestResult contains
a scroll bar.

  • WebView/WebHTMLView.mm:

(-[WebHTMLView _isScrollBarEvent:]): Added. Returns whether the event point is in a scroll
bar in this view.
(-[WebHTMLView acceptsFirstMouse:]): Accept scroll bar events.

  • WebView/WebView.mm: Define WebElementIsInScrollBarKey.
  • WebView/WebViewPrivate.h: Declare WebElementIsInScrollBarKey.
9:44 AM Changeset in webkit [53552] by yurys@chromium.org
  • 43 edits
    2 adds in trunk

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

Reviewed by Pavel Feldman.

Inject inspector script directly into the inspected context. All the
communication between the script and the frontend is serialized into
JSON strings. It allows to get rid of object quarantines in Web Inspector.

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

Test: inspector/console-log-before-inspector-open.html

  • bindings/js/JSInjectedScriptHostCustom.cpp: (WebCore::JSInjectedScriptHost::databaseForId): (WebCore::JSInjectedScriptHost::currentCallFrame): (WebCore::JSInjectedScriptHost::nodeForId): (WebCore::JSInjectedScriptHost::pushNodePathToFrontend): (WebCore::JSInjectedScriptHost::selectDatabase): (WebCore::JSInjectedScriptHost::selectDOMStorage):
  • bindings/js/ScriptCallStack.h: (WebCore::ScriptCallStack::state):
  • bindings/js/ScriptController.cpp: (WebCore::ScriptController::mainWorldScriptState):
  • bindings/js/ScriptController.h:
  • bindings/js/ScriptObject.h: (WebCore::ScriptObject::scriptState):
  • bindings/js/ScriptValue.cpp:
  • bindings/js/ScriptValue.h:
  • bindings/v8/ScriptObject.h: (WebCore::ScriptObject::scriptState):
  • bindings/v8/ScriptValue.h:
  • bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
  • inspector/ConsoleMessage.cpp: (WebCore::ConsoleMessage::ConsoleMessage): (WebCore::ConsoleMessage::addToConsole): (WebCore::ConsoleMessage::isEqual):
  • inspector/ConsoleMessage.h:
  • inspector/InjectedScriptHost.cpp: (WebCore::InjectedScriptHost::releaseWrapperObjectGroup):
  • inspector/InjectedScriptHost.h:
  • inspector/InjectedScriptHost.idl:
  • inspector/InspectorBackend.cpp: (WebCore::InspectorBackend::setInjectedScriptSource): (WebCore::InspectorBackend::dispatchOnInjectedScript): (WebCore::InspectorBackend::releaseWrapperObjectGroup):
  • inspector/InspectorBackend.h:
  • inspector/InspectorBackend.idl:
  • inspector/InspectorController.cpp: (WebCore::InspectorController::InspectorController): (WebCore::InspectorController::clearConsoleMessages): (WebCore::InspectorController::inspectedWindowScriptObjectCleared): (WebCore::InspectorController::windowScriptObjectAvailable): (WebCore::InspectorController::scriptObjectReady): (WebCore::InspectorController::setFrontendProxyObject): (WebCore::InspectorController::close): (WebCore::InspectorController::resetScriptObjects): (WebCore::InspectorController::didPause): (WebCore::InspectorController::injectedScriptForNodeId):
  • inspector/InspectorController.h:
  • inspector/InspectorFrontend.cpp: (WebCore::InspectorFrontend::addConsoleMessage): (WebCore::InspectorFrontend::pausedScript):
  • inspector/InspectorFrontend.h:
  • inspector/front-end/AuditsPanel.js: (WebInspector.AuditsPanel.prototype._reloadResources):
  • inspector/front-end/ConsoleView.js: (WebInspector.ConsoleView.prototype.requestClearMessages): (WebInspector.ConsoleView.prototype.doEvalInWindow):
  • inspector/front-end/DOMAgent.js: (WebInspector.DOMNode): (WebInspector.CSSStyleDeclaration): (WebInspector.CSSStyleDeclaration.parseRule):
  • inspector/front-end/Database.js: (WebInspector.Database.prototype.executeSql):
  • inspector/front-end/ElementsPanel.js: (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged.InjectedScriptAccess.get addInspectedNode): (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged): (WebInspector.ElementsPanel.prototype.setDocument): (WebInspector.ElementsPanel.prototype.searchCanceled): (WebInspector.ElementsPanel.prototype.performSearch):
  • inspector/front-end/ElementsTreeOutline.js: (WebInspector.ElementsTreeElement.prototype.createTooltipForImageNode):
  • inspector/front-end/EventListenersSidebarPane.js: ():
  • inspector/front-end/InjectedScript.js: (injectedScriptConstructor): (injectedScriptConstructor.):
  • inspector/front-end/InjectedScriptAccess.js: (InjectedScriptAccess): (InjectedScriptAccess.getDefault): (get InjectedScriptAccess): (InjectedScriptAccess._installHandler.InjectedScriptAccess.prototype.methodName): (InjectedScriptAccess._installHandler):
  • inspector/front-end/MetricsSidebarPane.js: (WebInspector.MetricsSidebarPane): (WebInspector.MetricsSidebarPane.prototype.update.inlineStyleCallback):
  • inspector/front-end/ObjectPropertiesSection.js:
  • inspector/front-end/ObjectProxy.js: (WebInspector.ObjectProxy):
  • inspector/front-end/PropertiesSidebarPane.js: (WebInspector.PropertiesSidebarPane.prototype.update.callback):
  • inspector/front-end/ResourcesPanel.js: (WebInspector.ResourceSidebarTreeElement.prototype.ondblclick):
  • inspector/front-end/ScriptsPanel.js:
  • inspector/front-end/StylesSidebarPane.js: (WebInspector.StylePropertyTreeElement.prototype):
  • inspector/front-end/WatchExpressionsSidebarPane.js: (WebInspector.WatchExpressionsSection.prototype.update):
  • inspector/front-end/inspector.js: (WebInspector.loaded): (WebInspector.pausedScript): (WebInspector.addConsoleMessage): (WebInspector.log.logMessage): (WebInspector.log):

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

Reviewed by Pavel Feldman.

Inject inspector script directly into the inspected context. All the
communication between the script and the frontend is serialized into
JSON strings. It allows to get rid of object quarantines in Web Inspector.

Test that web inspector doesn't crash when opening if there are messages in
the console. Refactor test case due to InjectedScriptAccess changes.

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

  • inspector/console-log-before-inspector-open-expected.txt: Added.
  • inspector/console-log-before-inspector-open.html: Added.
  • inspector/styles-iframe.html:
9:38 AM Changeset in webkit [53551] by tkent@chromium.org
  • 7 edits in trunk

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

Reviewed by Darin Adler.

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

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

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

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

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

Reviewed by Darin Adler.

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

Introduce ISODateTime::setMillisecondsSinceMidnight() and add a
SecondFormat parameter to ISODateTime::toString(). The main code
logic for type=time is implemented in
setMillisecondsSinceMidnightInternal() and toStringForTime()
because the logic is going to be used for other types.

  • html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::setValueAsDate):
  • html/ISODateTime.cpp: (WebCore::positiveFmod): (WebCore::ISODateTime::setMillisecondsSinceMidnightInternal): (WebCore::ISODateTime::setMillisecondsSinceMidnight): (WebCore::ISODateTime::toStringForTime): (WebCore::ISODateTime::toString):
  • html/ISODateTime.h: (WebCore::ISODateTime::):
9:22 AM Changeset in webkit [53550] by Philippe Normand
  • 3 edits in trunk/LayoutTests

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

Reviewed by Darin Adler.

[Gtk] media/video-play-pause-exception.html is flacky
https://bugs.webkit.org/show_bug.cgi?id=33900

Refactored the test to use the pause event instead of a timer.

  • media/video-play-pause-exception.html:
  • platform/gtk/Skipped:
7:59 AM Changeset in webkit [53549] by Csaba Osztrogonác
  • 4 edits in trunk

[Qt] Unreviewed buildfix for r53547.

JavaScriptCore:

  • DerivedSources.pro:

WebCore:

  • WebCore.pri:
7:48 AM Changeset in webkit [53548] by benm@google.com
  • 17 edits
    3 adds in trunk

The touchcancel event is not supported.
https://bugs.webkit.org/show_bug.cgi?id=33598

Reviewed by Simon Hausmann.

WebCore:

This change adds support for the touchcancel event in WebCore and adds a test.

Test: fast/events/touch/send-oncancel-event.html

  • bindings/js/ScriptController.cpp:

(WebCore::ScriptController::processingUserGestureEvent): Considers touchcancel with the other touch events when working out if the event is a user gesture.

  • dom/Document.cpp:

(WebCore::Document::addListenerTypeIfNeeded): Adds a check to consider ontouchcancel a touch event listener.

  • dom/Document.h: Add the touchcancel attribute event listener.
  • dom/Document.idl: ditto.
  • dom/Element.h: ditto.
  • dom/Element.idl: ditto.
  • dom/EventNames.h: Adds touchcancel as an event name.
  • html/HTMLAttributeNames.in:Adds touchcancel as an HTML attribute name.
  • html/HTMLElement.cpp:

(WebCore::HTMLElement::parseMappedAttribute): Parses the ontouchcancel attribute.

  • page/DOMWindow.h: Adds the touchcancel attribute event listener.
  • page/DOMWindow.idl: ditto.
  • page/EventHandler.cpp:

(WebCore::EventHandler::handleTouchEvent): Add code to detect and dispatch touchcancel events.

  • platform/PlatformTouchEvent.h:

(WebCore::): Add TouchCancel as a touch event type.

  • platform/PlatformTouchPoint.h:

(WebCore::PlatformTouchPoint::): Add TouchCanceled as a touch point state.

LayoutTests:

Test for the oncancel event.

  • fast/events/script-tests/send-oncancel-event.js: Added.

(touchcancelHandler):

  • fast/events/touch/send-oncancel-event-expected.txt: Added.
  • fast/events/touch/send-oncancel-event.html: Added.
  • platform/qt/Skipped: Add send-oncancel-event to the Qt Skipped list as there is not support for that type of event on Qt yet.
6:27 AM Changeset in webkit [53547] by vestbo@webkit.org
  • 5 edits in trunk

[Qt] Make extraCompilers for generated sources depend on their scripts

Reviewed by Simon Hausmann.

JavaScriptCore:

  • DerivedSources.pro:

WebCore:

  • DerivedSources.pro:
  • WebCore.pri:
6:15 AM Changeset in webkit [53546] by eric@webkit.org
  • 2 edits in trunk/WebCore

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

Reviewed by Adam Barth.

[Chromium][V8] Fix null pointer dereference in V8Proxy::retrieve().
https://bugs.webkit.org/show_bug.cgi?id=33886

This is equivalent to r53433, and fix a crash by
LayoutTests/http/tests/appcache/destroyed-iframe.html.

  • bindings/v8/V8Proxy.cpp: (WebCore::V8Proxy::retrieve): Check if context is null.
5:58 AM Changeset in webkit [53545] by eric@webkit.org
  • 12 edits in trunk/WebCore

2010-01-20 Alexander Pavlov <apavlov@chromium.org>

Reviewed by Timothy Hatcher.

Optimize resize event handling for hidden views
https://bugs.webkit.org/show_bug.cgi?id=33803

  • inspector/front-end/AbstractTimelinePanel.js: (WebInspector.AbstractTimelinePanel.prototype.resize): (WebInspector.AbstractTimelinePanel.prototype.updateMainViewWidth):
  • inspector/front-end/AuditsPanel.js:
  • inspector/front-end/Panel.js: (WebInspector.Panel.prototype.updateSidebarWidth): (WebInspector.Panel.prototype.resize):
  • inspector/front-end/PanelEnablerView.js: (WebInspector.PanelEnablerView): (WebInspector.PanelEnablerView.prototype.show): (WebInspector.PanelEnablerView.prototype.resize):
  • inspector/front-end/ProfilesPanel.js: (WebInspector.ProfilesPanel.prototype.show): (WebInspector.ProfilesPanel.prototype.addProfileHeader): (WebInspector.ProfilesPanel.prototype.showProfile): (WebInspector.ProfilesPanel.prototype.showView): (WebInspector.ProfilesPanel.prototype.closeVisibleView): (WebInspector.ProfilesPanel.prototype._updateInterface): (WebInspector.ProfilesPanel.prototype.updateMainViewWidth):
  • inspector/front-end/ResourcesPanel.js: (WebInspector.ResourcesPanel.prototype.show): (WebInspector.ResourcesPanel.prototype.get visibleView): (WebInspector.ResourcesPanel.prototype.updateMainViewWidth):
  • inspector/front-end/Settings.js:
  • inspector/front-end/StoragePanel.js: (WebInspector.StoragePanel.prototype.updateMainViewWidth):
  • inspector/front-end/WelcomeView.js: (WebInspector.WelcomeView): (WebInspector.WelcomeView.prototype.show): (WebInspector.WelcomeView.prototype.resize):
  • inspector/front-end/inspector.css:
  • inspector/front-end/inspector.js: (WebInspector.windowResize):
4:56 AM Changeset in webkit [53544] by vestbo@webkit.org
  • 4 edits in trunk/BugsSite

Adjust height of status-bubbles to prevent them being cut.

Reviewed by Adam Barth.

BugSite:

  • template/en/custom/attachment/edit.html.tmpl:
  • template/en/custom/attachment/list.html.tmpl:
  • template/en/custom/attachment/reviewform.html.tmpl:
4:33 AM Changeset in webkit [53543] by vestbo@webkit.org
  • 7 edits in trunk

[Qt] Make DumpRenderTree build on Windows

Reviewed by Simon Hausmann.

  • WebKit.pro:

WebKitTools:

  • DumpRenderTree/qt/DumpRenderTree.pro:
  • DumpRenderTree/qt/DumpRenderTreeQt.cpp:
  • DumpRenderTree/qt/DumpRenderTreeQt.h:
  • DumpRenderTree/qt/main.cpp:
4:12 AM QtWebKitBackportingFixes edited by Girish Ramakrishnan
(diff)
3:57 AM Changeset in webkit [53542] by steveblock@google.com
  • 2 edits in trunk/WebKitTools

Fix commit bot to land patches in order of the bug last modification date.
https://bugs.webkit.org/show_bug.cgi?id=33395

Reviewed by Eric Seidel.

  • Scripts/webkitpy/bugzilla.py: Modified. Added 'order=Last+Changed' to bugzilla commit queue URL.
3:37 AM Changeset in webkit [53541] by steveblock@google.com
  • 8 edits in trunk/WebCore

Fixes style in WebCore/bridge/Bridge
https://bugs.webkit.org/show_bug.cgi?id=33839

Reviewed by David Levin.

No new tests, style fixes only.

  • bridge/Bridge.cpp: Modified.
  • bridge/Bridge.h: Modified.
  • bridge/c/c_instance.cpp: Modified.

(JSC::Bindings::CInstance::invokeMethod): Modified. Use renamed m_rootObject member
(JSC::Bindings::CInstance::invokeDefaultMethod): Modified. Use renamed m_rootObject member
(JSC::Bindings::CInstance::invokeConstruct): Modified. Use renamed m_rootObject member

  • bridge/jni/jni_runtime.cpp: Modified.

(JavaArray::JavaArray): Modified. Use renamed m_rootObject member
(JavaArray::rootObject): Modified. Use renamed m_rootObject member

  • bridge/objc/objc_instance.mm: Modified.

(ObjcInstance::invokeMethod): Modified. Use renamed m_rootObject member
(ObjcInstance::invokeDefaultMethod): Modified. Use renamed m_rootObject member
(ObjcInstance::getValueOfUndefinedField): Modified. Use renamed m_rootObject member

  • bridge/objc/objc_runtime.mm: Modified.

(JSC::Bindings::ObjcArray::valueAt): Modified. Use renamed m_rootObject member

  • bridge/qt/qt_runtime.cpp: Modified.

(JSC::Bindings::::rootObject): Modified. Use renamed m_rootObject member

3:37 AM Changeset in webkit [53540] by Csaba Osztrogonác
  • 2 edits in trunk/LayoutTests

[Qt] fast/frames/set-unloaded-frame-location.html timed out on Qt Linux Release Build Bot
https://bugs.webkit.org/show_bug.cgi?id=33303

It caused by the previously test, so skipped it until fix.

  • platform/qt/Skipped: fast/frames/sandboxed-iframe-navigation-windowopen.html skipped.
3:28 AM Changeset in webkit [53539] by abarth@webkit.org
  • 3 edits in trunk/WebKitTools

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

Reviewed by Eric Seidel.

Teach check-webkit-style about WebKit/gtk/tests
https://bugs.webkit.org/show_bug.cgi?id=33892

Removes false positives found in
https://bugs.webkit.org/show_bug.cgi?id=30883

  • Scripts/webkitpy/style/cpp_style.py:
  • Scripts/webkitpy/style/cpp_style_unittest.py:
3:26 AM Changeset in webkit [53538] by abarth@webkit.org
  • 3 edits in trunk/WebKitTools

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

Reviewed by Eric Seidel.

Teach check-webkit-style about QGVLauncher
https://bugs.webkit.org/show_bug.cgi?id=33890

Remove false positives found in
https://bugs.webkit.org/show_bug.cgi?id=33708

  • Scripts/webkitpy/style/cpp_style.py:
  • Scripts/webkitpy/style/cpp_style_unittest.py:
3:20 AM Changeset in webkit [53537] by eric@webkit.org
  • 6 edits in trunk/WebKitTools

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

Reviewed by Adam Barth.

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

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

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

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

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

Reviewed by Eric Seidel.

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

Fixes style errors exposed by the style bot in the patch
for bug #33770. Moreover, fixes all style errors reported
by check-webkit-style.

No functionality was changed. So, no new tests.

  • bindings/js/JSWebGLRenderingContextCustom.cpp: (WebCore::dataFunctionf): (WebCore::dataFunctioni): (WebCore::dataFunctionMatrix):
2:15 AM Changeset in webkit [53535] by Simon Hausmann
  • 2 edits in trunk

[Qt] Fix the recursive generated_files target to work with qmake -r -o

Patch by Jocelyn Turcotte <jocelyn.turcotte@nokia.com> on 2010-01-20
Reviewed by Simon Hausmann.

  • DerivedSources.pro:
2:08 AM BuildingQtOnLinux edited by vestbo@webkit.org
(diff)
2:06 AM Changeset in webkit [53534] by eric@webkit.org
  • 3 edits in trunk/WebKitTools

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

Reviewed by Darin Adler.

Exempt JavaScriptCore/qt/api from style checks
https://bugs.webkit.org/show_bug.cgi?id=33879

Apparently there is a JavaScriptCore API for Qt as well as a WebKit
API.

  • Scripts/webkitpy/style/cpp_style.py:
  • Scripts/webkitpy/style/cpp_style_unittest.py:
1:58 AM Changeset in webkit [53533] by steveblock@google.com
  • 3 edits in trunk/WebCore

Fixes style in WebCore/bridge/JNIUtility
https://bugs.webkit.org/show_bug.cgi?id=33870

Reviewed by David Levin.

No new tests, style fixes only.

  • bridge/jni/JNIUtility.cpp:
  • bridge/jni/JNIUtility.h:
1:57 AM Changeset in webkit [53532] by Simon Hausmann
  • 2 edits in trunk

[Qt] Make it possible (on *nix at least) to recursively call "make generated_files"

Reviewed by Tor Arne Vestbø.

  • DerivedSources.pro:
1:29 AM Changeset in webkit [53531] by rolandsteiner@chromium.org
  • 2 edits in trunk/LayoutTests

Bug 28420 - Re-enable fast/ruby layout tests after the issue with mixedContent was fixed.
(https://bugs.webkit.org/show_bug.cgi?id=28420, patch 5a)

Reviewed by Darin Adler.

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

  • platform/mac/Skipped:
1:27 AM QtWebKitPackaging edited by Simon Hausmann
(diff)
1:06 AM QtWebKitBackportingFixes edited by Simon Hausmann
(diff)
12:54 AM Changeset in webkit [53530] by Simon Hausmann
  • 2 edits in trunk/WebCore

On Linux link QtWebKit with -no-undefined to catch build breakages due to missing
files in the .pro file, resulting in unresolved symbols.

Reviewed by Tor Arne Vestbø.

  • WebCore.pro:
12:54 AM Changeset in webkit [53529] by Simon Hausmann
  • 2 edits in trunk/WebCore

[Qt] Make it possible to link with -no-undefined.

Reviewed by Tor Arne Vestbø.

  • WebCore.pro: Add missing explicit dependency to libXrender due to the

use of XRenderFindVisualFormat in the X11 plugin code.

12:43 AM Changeset in webkit [53528] by Simon Hausmann
  • 2 edits in trunk/WebCore

Add missing files to the build.

Reviewed by Tor Arne Vestbø.

  • WebCore.pro:
12:26 AM Changeset in webkit [53527] by hamaji@chromium.org
  • 5 edits
    1 delete in trunk

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

Reviewed by Darin Fisher.

[Chromium] computePageRectsForFrame seems to be unnecessary
https://bugs.webkit.org/show_bug.cgi?id=33881

  • WebCore.gypi: Removed FrameChromium.h
  • page/chromium/FrameChromium.cpp: Removed computePageRectsForFrame.
  • page/chromium/FrameChromium.h: Removed.

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

Reviewed by Darin Fisher.

[Chromium] computePageRectsForFrame seems to be unnecessary
https://bugs.webkit.org/show_bug.cgi?id=33881

  • src/WebFrameImpl.cpp: Stop including FrameChromium.h
12:22 AM QtWebKitPackaging created by Simon Hausmann
12:20 AM Changeset in webkit [53526] by vestbo@webkit.org
  • 4 edits in trunk/WebKitTools

[Qt] Don't use QSocketNotifier in the DRT for reading stdin

Reviewed by Simon Hausmann.

QSocketNotifier is not available on Windows. Instead we read
stdin synchronously after each test using signals and slots.

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

Jan 19, 2010:

11:46 PM Changeset in webkit [53525] by rolandsteiner@chromium.org
  • 7 edits
    28 adds
    2 deletes in trunk

Bug 33266 - WebCore::InlineFlowBox::determineSpacingForFlowBoxes ReadAV@NULL (43c64e8abbda6766e5f5edbd254c2d57)
(https://bugs.webkit.org/show_bug.cgi?id=33266)

Reviewed by Dan Bernstein.

WebCore:

Ruby did not handle malformed cases correctly when the ruby base was in
block flow. Changed the code to handle all possible cases.
Also, added some simplification methods to RenderBlock.

Tests: fast/ruby/ruby-illegal-1.html

fast/ruby/ruby-illegal-2.html
fast/ruby/ruby-illegal-3.html
fast/ruby/ruby-illegal-4.html
fast/ruby/ruby-illegal-5.html
fast/ruby/ruby-illegal-6.html
fast/ruby/ruby-illegal-7.html
fast/ruby/ruby-illegal-combined.html
fast/ruby/rubyDOM-insert-rt-block-1.html
fast/ruby/rubyDOM-insert-rt-block-2.html
fast/ruby/rubyDOM-insert-rt-block-3.html
fast/ruby/rubyDOM-remove-rt-block-1.html
fast/ruby/rubyDOM-remove-rt-block-2.html
fast/ruby/rubyDOM-remove-rt-block-3.html

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::moveAllChildrenTo): useful for anonymous block manipulation
(WebCore::RenderBlock::removeChild): making use of moveAllChildrenTo

  • rendering/RenderBlock.h:
  • rendering/RenderRubyBase.cpp:

(WebCore::RenderRubyBase::hasOnlyWrappedInlineChildren):
(WebCore::RenderRubyBase::moveChildren):
(WebCore::RenderRubyBase::moveInlineChildren):
(WebCore::RenderRubyBase::moveBlockChildren):
(WebCore::RenderRubyBase::mergeBlockChildren):

  • rendering/RenderRubyBase.h:
  • rendering/RenderRubyRun.cpp:

(WebCore::RenderRubyRun::addChild):
(WebCore::RenderRubyRun::removeChild):

LayoutTests:

Layout tests for ruby with malformed HTML.
Split up in individual tests, as well ass added a single combined test
(whose resulting render tree is probably completely different from what
you'd expect), since that combined test showed additional issues not
covered by the individual tests.

  • fast/ruby/ruby-illegal-1-expected.txt: Added.
  • fast/ruby/ruby-illegal-1.html: Added.
  • fast/ruby/ruby-illegal-2-expected.txt: Added.
  • fast/ruby/ruby-illegal-2.html: Added.
  • fast/ruby/ruby-illegal-3-expected.txt: Added.
  • fast/ruby/ruby-illegal-3.html: Added.
  • fast/ruby/ruby-illegal-4-expected.txt: Added.
  • fast/ruby/ruby-illegal-4.html: Added.
  • fast/ruby/ruby-illegal-5-expected.txt: Added.
  • fast/ruby/ruby-illegal-5.html: Added.
  • fast/ruby/ruby-illegal-6-expected.txt: Added.
  • fast/ruby/ruby-illegal-6.html: Added.
  • fast/ruby/ruby-illegal-7-expected.txt: Added.
  • fast/ruby/ruby-illegal-7.html: Added.
  • fast/ruby/ruby-illegal-combined-expected.txt: Added.
  • fast/ruby/ruby-illegal-combined.html: Added.
  • fast/ruby/ruby-illegal-expected.txt: Removed.
  • fast/ruby/ruby-illegal.html: Removed.
  • fast/ruby/rubyDOM-insert-rt-block-1-expected.txt: Added.
  • fast/ruby/rubyDOM-insert-rt-block-1.html: Added.
  • fast/ruby/rubyDOM-insert-rt-block-2-expected.txt: Added.
  • fast/ruby/rubyDOM-insert-rt-block-2.html: Added.
  • fast/ruby/rubyDOM-insert-rt-block-3-expected.txt: Added.
  • fast/ruby/rubyDOM-insert-rt-block-3.html: Added.
  • fast/ruby/rubyDOM-remove-rt-block-1-expected.txt: Added.
  • fast/ruby/rubyDOM-remove-rt-block-1.html: Added.
  • fast/ruby/rubyDOM-remove-rt-block-2-expected.txt: Added.
  • fast/ruby/rubyDOM-remove-rt-block-2.html: Added.
  • fast/ruby/rubyDOM-remove-rt-block-3-expected.txt: Added.
  • fast/ruby/rubyDOM-remove-rt-block-3.html: Added.
9:57 PM Changeset in webkit [53524] by mitz@apple.com
  • 2 edits in trunk/WebCore

Build fix after r53514

  • WebCore.base.exp: Removed threadGlobalData(), which was inlined in r53514.
9:45 PM Changeset in webkit [53523] by Simon Fraser
  • 2 edits in trunk/WebCore

2010-01-19 Simon Fraser <Simon Fraser>

Reviewed by Dan Bernstein.

Avoid calling NSEqualRects() on the garbage rect obtained
by calling -frame on a null view.

  • platform/mac/WidgetMac.mm: (WebCore::Widget::setFrameRect):
9:34 PM Changeset in webkit [53522] by mitz@apple.com
  • 5 edits in trunk/WebKit

WebKit: Redo DumpRenderTree build fix without making WebTypesInternal.h a private header

  • WebKit.xcodeproj/project.pbxproj:

WebKit/mac: Redo Tiger build fix without making WebTypesInternal.h a private header

  • WebView/WebHTMLRepresentation.h: Define and use WebNSUInteger.
  • WebView/WebHTMLRepresentation.mm: Import WebTypesInternal.h.
9:18 PM Changeset in webkit [53521] by Simon Fraser
  • 2 edits in trunk/WebKit

2010-01-19 Simon Fraser <Simon Fraser>

Build fix, no review.

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

  • WebKit.xcodeproj/project.pbxproj:
9:08 PM Changeset in webkit [53520] by mitz@apple.com
  • 5 edits in trunk/WebKit/mac

<rdar://problem/7068584> Crash at NetscapePluginHostProxy::processRequests

Patch by Anders Carlsson <andersca@apple.com> on 2009-12-18
Reviewed by Dan Bernstein.

  • Plugins/Hosted/NetscapePluginInstanceProxy.h:

(WebKit::NetscapePluginInstanceProxy::waitForReply): Wrapped with calls
to willCallPluginFunction/didCallPluginFunction. This prevents the plug-in
from being stopped while waiting for reply.

  • Plugins/Hosted/NetscapePluginInstanceProxy.mm:

(WebKit::NetscapePluginInstanceProxy::createBindingsInstance): Protect the
instance proxy in case the plug-in host crashes while waiting for reply.

  • Plugins/Hosted/ProxyInstance.h:

(WebKit::ProxyInstance::waitForReply): Added. Calls through to
NetscapePluginInstanceProxy::waitForReply(), but returns a null reply if the
proxy gets invalidated while waiting for the reply.

  • Plugins/Hosted/ProxyInstance.mm:

(WebKit::ProxyInstance::invoke): Use ProxyInstance::waitForReply().
(WebKit::ProxyInstance::supportsInvokeDefaultMethod): Ditto.
(WebKit::ProxyInstance::supportsConstruct): Ditto.
(WebKit::ProxyInstance::getPropertyNames): Ditto.
(WebKit::ProxyInstance::methodsNamed): Ditto.
(WebKit::ProxyInstance::fieldNamed): Ditto.
(WebKit::ProxyInstance::fieldValue): Ditto.
(WebKit::ProxyInstance::setFieldValue): Ditto.

8:09 PM Changeset in webkit [53519] by sullivan@apple.com
  • 2 edits in trunk/WebKit/mac

Tiger build fix.

  • WebView/WebHTMLRepresentation.h:

Added #import for WebTypesInternal.h so NSUInteger will be defined on Tiger.

7:43 PM Changeset in webkit [53518] by abarth@webkit.org
  • 2 edits in trunk/WebKitTools

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

Rubber stamped by Eric Seidel.

Move chromium-ews back to building release only to make the EWS faster.

  • Scripts/webkitpy/commands/early_warning_system.py:
7:24 PM Changeset in webkit [53517] by mjs@apple.com
  • 2 edits in trunk/WebCore

Unreviewed build fix.

Remove currentWorld from the exports file again, since it is now inline.

  • WebCore.base.exp:
7:05 PM Changeset in webkit [53516] by bweinstein@apple.com
  • 9 edits in trunk

JavaScriptCore: When JavaScriptCore calls Debugger::Exception, have it pass a
hasHandler variable that represents if exception is being handled
in the same function (not in a parent on the call stack).

Reviewed by Tim Hatcher.

This just adds a new parameter, no behavior is changed.

  • debugger/Debugger.h:
  • interpreter/Interpreter.cpp:

(JSC::Interpreter::throwException):

WebCore: Part of <http://webkit.org/b/28622>.
Caught exceptions still pause the debugger.

Reviewed by Tim Hatcher.

Update JavaScriptDebugServer::exception to take a hasHandler parameter,
so later we can differentiate between a caught and an uncaught exception.

This just adds a new parameter, no behavior is changed.

No change in functionality, so no tests.

  • inspector/JavaScriptDebugServer.cpp:

(WebCore::JavaScriptDebugServer::exception):

  • inspector/JavaScriptDebugServer.h:

WebKit/mac: Part of <http://webkit.org/b/28622>.
Caught exceptions still pause the debugger.

Reviewed by Tim Hatcher.

Update WebScriptDebugger::exception to have the hasHandler parameter.

This just adds a new parameter, no behavior is changed.

  • WebView/WebScriptDebugger.h:
  • WebView/WebScriptDebugger.mm:

(WebScriptDebugger::exception):

6:30 PM Writing Layout Tests for DumpRenderTree edited by tkent@chromium.org
Add description of parameters of eventSender.mouseDown(), and add … (diff)
6:27 PM Changeset in webkit [53515] by jhoneycutt@apple.com
  • 3 edits in trunk/WebKit/chromium

Chromium build fix.

  • public/WebAccessibilityRole.h:

(WebKit::):
Correct enum names.

  • src/LocalizedStrings.cpp:

(WebCore::AXMenuListPopupActionVerb):
Stubbed.
(WebCore::AXMenuListActionVerb):
Stubbed.

6:25 PM Changeset in webkit [53514] by mjs@apple.com
  • 23 edits in trunk

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

Reviewed by Adam Barth.

Inline functions that are hot in DOM manipulation
https://bugs.webkit.org/show_bug.cgi?id=33820


(3% speedup on Dromaeo DOM Core tests)

  • runtime/WeakGCMap.h: (JSC::::get): inline

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

Reviewed by Adam Barth.

Inline functions that are hot in DOM manipulation
https://bugs.webkit.org/show_bug.cgi?id=33820

(3% speedup on Dromaeo DOM Core tests)

  • bindings/js/JSDOMBinding.h: (WebCore::currentWorld): Inlined. (WebCore::jsString): Inlined String& overload and split off slow case.
  • bindings/js/JSDOMBinding.cpp: (WebCore::jsStringSlowCase): Slow case for the above.
  • dom/Document.h: (WebCore::Document::isHTMLDocument): Use a bit and an inline method instead of a virtual method, since this is so hot and size of Document is not a prime concern. (WebCore::Document::create): Adapt for above. (WebCore::Document::createXHTML): ditto
  • dom/Document.cpp: (WebCore::Document::Document): ditto
  • html/HTMLDocument.cpp: (WebCore::HTMLDocument::HTMLDocument): ditto
  • html/HTMLDocument.h: ditto
  • loader/PlaceholderDocument.h: (WebCore::PlaceholderDocument::PlaceholderDocument): ditto
  • svg/SVGDocument.cpp: (WebCore::SVGDocument::SVGDocument): ditto
  • dom/Element.h: (WebCore::Element::attributes): Inlined. (WebCore::Element::updateId): Inlined.
  • dom/Element.cpp: (Remove inlined methods.)
  • dom/NamedAttrMap.h: (WebCore::NamedNodeMap::getAttributeItem): Inlined and split off slow case.
  • dom/NamedAttrMap.cpp: (WebCore::NamedNodeMap::getAttributeItemSlowCase): Slow case for the above.
  • inspector/InspectorController.cpp:
  • inspector/InspectorController.h: (WebCore::InspectorController::didInsertDOMNode): Inlined so the fast case early exit doesn't incur a function call. (WebCore::InspectorController::didRemoveDOMNode): ditto (WebCore::InspectorController::didModifyDOMAttr): ditto
  • platform/ThreadGlobalData.h: (WebCore::threadGlobalData): Inlined.
  • platform/ThreadGlobalData.cpp: (Removed inline methods).
  • platform/Timer.h: (WebCore::TimerBase::isActive): Inlined.
  • platform/Timer.cpp: (Removed inline methods).
  • WebCore.xcodeproj/project.pbxproj: Install new heares.
  • WebCore.base.exp: Add appropriate exports.
6:03 PM Changeset in webkit [53513] by jhoneycutt@apple.com
  • 5 edits in trunk

Chromium build fix.

WebCore:

  • accessibility/chromium/AccessibilityObjectChromium.cpp:

(WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
Call correct function.

WebKit/chromium:

  • public/WebAccessibilityRole.h:

(WebKit::):

  • src/AssertMatchingEnums.cpp:
5:43 PM Changeset in webkit [53512] by jhoneycutt@apple.com
  • 37 edits
    2 copies
    6 adds in trunk

MSAA: The child <option> elements of a non-multiple <select> are not
exposed

https://bugs.webkit.org/show_bug.cgi?id=33773
<rdar://problem/7550556>

WebCore:

Reviewed by Alice Liu.

This exposes the child <option> elements in a format similar to
Firefox's: the <select> element has one child, a hidden list object,
and this list has as its children the <option> elements.

  • GNUmakefile.am:
  • WebCore.gypi:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:

Add new files to project.

  • accessibility/AXObjectCache.cpp:

(WebCore::AXObjectCache::getOrCreate):
If the element is a RenderMenuList, create an AccessibilityMenuList.
(WebCore::AXObjectCache::getOrCreate):
Add new types to create by role value.

  • accessibility/AccessibilityMenuList.cpp: Added.

(WebCore::AccessibilityMenuList::AccessibilityMenuList):
Call the base class constructor. Assert that the RenderObject passed
is a RenderMenuList.
(WebCore::AccessibilityMenuList::press):
Show or hide the popup menu.
(WebCore::AccessibilityMenuList::addChildren):
Create an AccessibilityMenuListPopup. If the platform ignores its
accessibility, remove it from the object cache and return early.
Otherwise, set its parent object to this object, add it to our list of
children, and tell it to add its children.
(WebCore::AccessibilityMenuList::childrenChanged):
Tell our child hidden list that its children changed.
(WebCore::AccessibilityMenuList::isCollapsed):
Return whether the popup menu is visible.

  • accessibility/AccessibilityMenuList.h: Added.

(WebCore::AccessibilityMenuList::create):
Adopt and return a new RenderMenuList.
(WebCore::AccessibilityMenuList::isMenuList):
(WebCore::AccessibilityMenuList::roleValue):
(WebCore::AccessibilityMenuList::accessibilityIsIgnored):
(WebCore::AccessibilityMenuList::canSetFocusAttribute):

  • accessibility/AccessibilityMenuListOption.cpp: Added.

(WebCore::AccessibilityMenuListOption::AccessibilityMenuListOption):
Initialize the pointer to our parent popup menu.
(WebCore::AccessibilityMenuListOption::setElement):
Assert that the element is an <option> element.
(WebCore::AccessibilityMenuListOption::actionElement):
Return our element.
(WebCore::AccessibilityMenuListOption::parentObject):
Return our parent popup menu.
(WebCore::AccessibilityMenuListOption::isEnabled):
Return true if the element itself is enabled.
(WebCore::AccessibilityMenuListOption::isVisible):
Return true if the popup is visible, or return true if the popup is
collapsed but the element is selected.
(WebCore::AccessibilityMenuListOption::isOffScreen):
Return true if the object is invisible.
(WebCore::AccessibilityMenuListOption::isSelected):
(WebCore::AccessibilityMenuListOption::setSelected):
(WebCore::AccessibilityMenuListOption::nameForMSAA):
Return the <option> element's text.
(WebCore::AccessibilityMenuListOption::canSetSelectedAttribute):
Return true if enabled.
(WebCore::AccessibilityMenuListOption::elementRect):
Return the AccessibilityMenuList's rect.

  • accessibility/AccessibilityMenuListOption.h: Added.

(WebCore::AccessibilityMenuListOption::create):
Adopt and return a new AccessibilityMenuListOption.
(WebCore::AccessibilityMenuListOption::setParent):
(WebCore::AccessibilityMenuListOption::isMenuListOption):
(WebCore::AccessibilityMenuListOption::roleValue):
(WebCore::AccessibilityMenuListOption::canHaveChildren):
(WebCore::AccessibilityMenuListOption::size):

  • accessibility/AccessibilityMenuListPopup.cpp: Added.

(WebCore::AccessibilityMenuListPopup::AccessibilityMenuListPopup):
Initialize the pointer to our parent list.
(WebCore::AccessibilityMenuListPopup::isVisible):
Return false; we're never considered visible.
(WebCore::AccessibilityMenuListPopup::isOffScreen):
Return true if the popup is collapsed.
(WebCore::AccessibilityMenuListPopup::parentObject):
Return our parent AccessibilityMenuList.
(WebCore::AccessibilityMenuListPopup::isEnabled):
Return true if our parent is enabled.
(WebCore::AccessibilityMenuListPopup::menuListOptionAccessibilityObject):
If the element is an <option> element, create a list item for it, and
set the object's element to this element.
(WebCore::AccessibilityMenuListPopup::press):
Call our parent's press() function to show or hide the popup menu.
(WebCore::AccessibilityMenuListPopup::addChildren):
Walk the select element's children, and create list items for them. Add
them to our list of children.
(WebCore::AccessibilityMenuListPopup::childrenChanged):
If any of our children have been detached from the document, remove
them from the AXObjectCache and from our child list.
(WebCore::AccessibilityMenuListPopup::setMenuList):

  • accessibility/AccessibilityMenuListPopup.h: Added.

(WebCore::AccessibilityMenuListPopup::create):
Adopt and return an AccessibilityMenuListPopup.
(WebCore::AccessibilityMenuListPopup::isMenuListPopup):
(WebCore::AccessibilityMenuListPopup::elementRect):
(WebCore::AccessibilityMenuListPopup::size):
(WebCore::AccessibilityMenuListPopup::roleValue):

  • accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::actionVerb):
Add the menuListAction and menuListPopupAction verbs.

  • accessibility/AccessibilityObject.h:

(WebCore::):
Add new roles.
(WebCore::AccessibilityObject::isMenuList):
Stubbed.
(WebCore::AccessibilityObject::isMenuListHiddenList):
Stubbed.
(WebCore::AccessibilityObject::isMenuListOption):
Stubbed.
(WebCore::AccessibilityObject::isVisible):
Stubbed.

  • accessibility/chromium/AccessibilityObjectChromium.cpp:

(WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
Ignore the new object type.

  • accessibility/gtk/AccessibilityObjectAtk.cpp:

(WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
Ditto.

  • accessibility/mac/AccessibilityObjectMac.mm:

(WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
Ditto.

  • accessibility/qt/AccessibilityObjectQt.cpp:

(WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
Ditto.

  • accessibility/win/AccessibilityObjectWin.cpp:

(WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
Allow the new object types.

  • accessibility/wx/AccessibilityObjectWx.cpp:

(WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
Ignore the new object type.

  • accessibility/win/AccessibilityObjectWin.cpp:

(WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
If the object is an AccessibilityMenuListHiddenList or
AccessibilityMenuListOption, include it.

  • html/HTMLOptionElement.cpp:

(WebCore::HTMLOptionElement::disabled):
Call ownElementDisabled().

  • html/HTMLOptionElement.h:

(WebCore::HTMLOptionElement::ownElementDisabled):
Return the base class implementation of disabled, which returns
whether this <option> itself is disabled.

  • platform/LocalizedStrings.h:

Declare new localized string functions.

  • platform/gtk/LocalizedStringsGtk.cpp:

(WebCore::AXMenuListPopupActionVerb):
Stubbed.
(WebCore::AXMenuListActionVerb):
Stubbed.

  • platform/haiku/LocalizedStringsHaiku.cpp:

(WebCore::AXMenuListPopupActionVerb):
Stubbed.
(WebCore::AXMenuListActionVerb):
Stubbed.

  • platform/mac/LocalizedStringsMac.mm:

(WebCore::AXMenuListPopupActionVerb):
Call the view factory's method.
(WebCore::AXMenuListActionVerb):
Ditto.

  • platform/qt/Localizations.cpp:

(WebCore::AXMenuListPopupActionVerb):
Stubbed.
(WebCore::AXMenuListActionVerb):
Stubbed.

  • platform/wx/LocalizedStringsWx.cpp:

(WebCore::AXMenuListPopupActionVerb):
Stubbed.
(WebCore::AXMenuListActionVerb):
Stubbed.

WebKit:

Reviewed by Alice Liu.

  • English.lproj/Localizable.strings:

Add new localized strings.

WebKit/mac:

  • WebCoreSupport/WebViewFactory.mm:

(-[WebViewFactory AXMenuListPopupActionVerb]):
Stubbed.
(-[WebViewFactory AXMenuListActionVerb]):
Stubbed.

WebKit/win:

Reviewed by Alice Liu.

  • AccessibleBase.cpp:

(AccessibleBase::get_accState):
If the object is invisible, set the invisible state flag. If the object
is collapsed, set the collapsed state. If the object is a combo box,
set the has popup flag, and if it's not collapsed, set the expanded
flag.
(MSAARole):
Add new WebCore to MSAA role mappings.

  • WebCoreLocalizedStrings.cpp:

(WebCore::AXMenuListActionVerb):
Return the action verb that Firefox uses for <select> elements with
popups.
(WebCore::AXMenuListPopupActionVerb):
Return the verb that Firefox uses for a popup list.

WebKitTools:

Reviewed by Alice Liu.

  • DumpRenderTree/AccessibilityUIElement.cpp:

(getIsVisibleCallback):
Call the object's isVisible() function.
(getIsOffScreenCallback):
Ditto, for isOffScreen().
(getIsCollapsedCallback):
Ditto, for isCollapsed().
(getHasPopupCallback):
Ditto, for hasPopup().
(AccessibilityUIElement::getJSClass):
Add isVisible and isOffScreen attributes.

  • DumpRenderTree/AccessibilityUIElement.h:

Declare new functions.

  • DumpRenderTree/gtk/AccessibilityUIElementGtk.cpp:

(AccessibilityUIElement::isVisible):
Stubbed.
(AccessibilityUIElement::isOffScreen):
Stubbed.
(AccessibilityUIElement::isCollapsed):
Stubbed.
(AccessibilityUIElement::hasPopup):
Stubbed.

  • DumpRenderTree/mac/AccessibilityUIElementMac.mm:

(AccessibilityUIElement::isVisible):
Stubbed.
(AccessibilityUIElement::isOffScreen):
Stubbed.
(AccessibilityUIElement::isCollapsed):
Stubbed.
(AccessibilityUIElement::hasPopup):
Stubbed.

  • DumpRenderTree/win/AccessibilityUIElementWin.cpp:

(AccessibilityUIElement::showMenu):
Call the object's accDoDefaultAction() to show its popup menu.
(AccessibilityUIElement::isEnabled):
Check that the object does not have the "unavailable" state.
(AccessibilityUIElement::isVisible):
Check that the object does not have the "invisible" state.
(AccessibilityUIElement::isOffScreen):
Check whether the object has the "offscreen" state.
(AccessibilityUIElement::isCollapsed):
Check whether the object has the "collapsed" state.
(AccessibilityUIElement::hasPopup):
Check whether the object has the "has popup" state.

LayoutTests:

Reviewed by Alice Liu.

  • platform/win/accessibility/single-select-children-expected.txt: Added.
  • platform/win/accessibility/single-select-children.html: Added.
5:16 PM Changeset in webkit [53511] by kov@webkit.org
  • 1 copy in releases/WebKitGTK/webkit-1.1.19

Tagging 1.1.19.

5:10 PM Changeset in webkit [53510] by Simon Fraser
  • 8 edits
    4 adds in trunk

2010-01-19 Simon Fraser <Simon Fraser>

Reviewed by Dan Bernstein.

Support reflections on WebGL
https://bugs.webkit.org/show_bug.cgi?id=33754

Support reflections of WebGL content, by ensuring that when the Canvas3DLayer containing the
WebGL content gets displayed, we correctly copy its content to the clone layers.

Test: compositing/webgl/webgl-reflection.html

  • platform/graphics/GraphicsLayer.h: (WebCore::GraphicsLayer::didDisplay): Give the didDisplay() client method a parameter which is the layer that displayed.
  • platform/graphics/mac/Canvas3DLayer.mm: (-[Canvas3DLayer display]): Override -[CALayer display], and call the client didDisplay().
  • platform/graphics/mac/GraphicsLayerCA.h: didDisplay() takes a PlatformLayer parameter.
  • platform/graphics/mac/GraphicsLayerCA.mm: (WebCore::GraphicsLayerCA::~GraphicsLayerCA): We need to clear the layer owner on the content layer, since we're setting it for WebGL layers now.

(WebCore::GraphicsLayerCA::didDisplay): Handle didDisplay() calls for the content layer,
as well as the main layer now, getting the correct layer to copy contents from, and using
the correct clone map.

(WebCore::GraphicsLayerCA::setContentsToGraphicsContext3D): Set the layer owner for WebGL
layers, because we need the didDisplay() callback.

  • platform/graphics/mac/WebLayer.mm: (-[WebLayer display]): didDisplay() takes a layer argument.
  • platform/graphics/mac/WebTiledLayer.mm: (-[WebTiledLayer display]): ditto.
4:58 PM Changeset in webkit [53509] by mrowe@apple.com
  • 2 edits in trunk/WebCore

<rdar://problem/7555330> <http://webkit.org/b/33770> dataFunctionMatrix leaks the array allocated by toArray

Reviewed by Oliver Hunt.

Rework toArray to extract elements in to a vector rather than handing out raw pointers. This prevents
callers from forgetting to free the memory, and gives them the option of using stack buffers for
sufficiently small allocations.

  • bindings/js/JSWebGLRenderingContextCustom.cpp:

(WebCore::JSWebGLRenderingContext::texSubImage2D):
(WebCore::toVector):
(WebCore::dataFunctionf):
(WebCore::dataFunctioni):
(WebCore::dataFunctionMatrix):

4:57 PM Changeset in webkit [53508] by eric@webkit.org
  • 2 edits in trunk/WebKitTools

2010-01-19 Victor Wang <victorw@chromium.org>

Reviewed by Eric Seidel.

Correct committer name.
https://bugs.webkit.org/show_bug.cgi?id=33868

  • Scripts/webkitpy/committers.py:
4:37 PM Changeset in webkit [53507] by Simon Fraser
  • 3 edits in trunk/WebCore

2010-01-19 Simon Fraser <Simon Fraser>

Reviewed by Dan Bernstein.

Occasional crash when interacting with page with reflected WebGL
https://bugs.webkit.org/show_bug.cgi?id=33863

If updateCompositingLayers() was called with an updateRoot that was a reflection layer,
then we would determine that the layer does not require compositing, and tear down its
backing (without clearing replicaLayer() on the source layer's GraphicsLayer).

Fix by changing requiresCompositingLayer() on a reflection layer to always give the
same answer for a reflection and its original.

Also add various belt-and-brances code and null checks to ensure that if we ever end up
with a non-composited reflection layer, we won't crash.

No new tests, because the crash depends on timing issues that are hard to reproduce in a test.

  • platform/graphics/GraphicsLayer.h: (WebCore::GraphicsLayer::replicaLayer): Make this public so we can use it in an assertion.
  • rendering/RenderLayerCompositor.cpp: (WebCore::RenderLayerCompositor::updateBacking): Clear the source layer's replica layer pointer if tearing down backing store of a reflection.

(WebCore::RenderLayerCompositor::rebuildCompositingLayerTree): Null-check reflection->backing().
(WebCore::RenderLayerCompositor::updateLayerTreeGeometry): Null-check reflection->backing().
(WebCore::RenderLayerCompositor::updateCompositingDescendantGeometry): reflection->backing().
(WebCore::RenderLayerCompositor::requiresCompositingLayer): If being called for a reflection layer,
use the source layer to answer the question.

4:09 PM Changeset in webkit [53506] by eric@webkit.org
  • 5 edits
    6 adds in trunk

2010-01-19 Carol Szabo <carol.szabo@nokia.com>

Reviewed by Darin Adler.

Another crazy counters bug
https://bugs.webkit.org/show_bug.cgi?id=11031
Added tests for dynamic DOM changes affecting counters.

  • fast/css/counters/counter-increment-002.html: Added.
  • fast/css/counters/counter-reset-000.html: Added.
  • fast/css/counters/counter-reset-002.html: Added.
  • fast/css/counters/counter-increment-002-expected.txt: Added.
  • fast/css/counters/counter-reset-000-expected.txt: Added.
  • fast/css/counters/counter-reset-002-expected.txt: Added.

2010-01-19 Carol Szabo <carol.szabo@nokia.com>

Reviewed by Darin Adler.

Another crazy counters bug
https://bugs.webkit.org/show_bug.cgi?id=11031

This patch actually provides for counter updating when the style
of a renderer changes.

Tests: fast/css/counters/counter-increment-002.html

fast/css/counters/counter-reset-000.html
fast/css/counters/counter-reset-002.html

  • rendering/RenderCounter.cpp: (WebCore::RenderCounter::rendererStyleChanged): This function is added to update the counter hierarchy in response to changes to the style of a renderer.
  • rendering/RenderCounter.h:
  • rendering/RenderObject.cpp: (WebCore::RenderObject::styleDidChange): For changes that may include the counter directives added a call to RenderCounter::rendererStyleChanged.
3:59 PM Changeset in webkit [53505] by kov@webkit.org
  • 2 edits in trunk

Unreviewed. Shared library versioning bump for 1.1.19.

3:53 PM Changeset in webkit [53504] by ap@apple.com
  • 2 edits in trunk/LayoutTests

Land correct expected results - forgot to update them after changing test output.

  • fast/dom/Attr/child-nodes-cache-expected.txt:
3:51 PM Changeset in webkit [53503] by kov@webkit.org
  • 4 edits in trunk

Unreviewed. Build fixes for make distcheck.

3:49 PM Changeset in webkit [53502] by ojan@chromium.org
  • 6 edits in trunk/LayoutTests

2010-01-19 Ojan Vafai <ojan@chromium.org>

Reviewed by Eric Seidel.

More flaky animation/transitions tests
https://bugs.webkit.org/show_bug.cgi?id=33872

Undo my previous changes decreasing test times. This ended up
increasing flakiness.

  • animations/change-one-anim-expected.txt:
  • animations/change-one-anim.html:
  • animations/combo-transform-translate+scale.html:
  • transitions/shorthand-border-transitions-expected.txt:
  • transitions/shorthand-border-transitions.html:
3:32 PM Changeset in webkit [53501] by ap@apple.com
  • 3 edits
    2 adds in trunk

Reviewed by Oliver Hunt.

https://bugs.webkit.org/show_bug.cgi?id=33850
Attr.childNodes does not get updated after DOM mutations

Test: fast/dom/Attr/child-nodes-cache.html

  • dom/Node.cpp: (WebCore::Node::notifyLocalNodeListsAttributeChanged): If the node is an attribute, then changing it shouldn't take the shortcut that only resets a subset of caches.
3:22 PM Changeset in webkit [53500] by sullivan@apple.com
  • 15 edits in trunk

https://bugs.webkit.org/show_bug.cgi?id=33854
Would like a variant of WebHTMLRepresentation's searchForLabelsBeforeElement that returns
more info about where the result was found

WebCore:

Reviewed by Darin Adler.

No new tests. This just adds a couple of out parameters for the benefit of WebKit clients.

  • WebCore.base.exp:

Updated mangled signature for export.

  • page/Frame.cpp:

(WebCore::Frame::searchForLabelsAboveCell):
Now fills in an out parameter with the number of characters from the start of the cell.
(WebCore::Frame::searchForLabelsBeforeElement):
Now fills in an out parameter with the distance as a number of characters, and another
with a bool for whether the result was in a table cell above the current cell (otherwise
it was found in the text before this element and after the previous element or start of form).

  • page/Frame.h:

Updated signatures.

  • page/mac/FrameMac.mm:

(WebCore::Frame::searchForNSLabelsAboveCell):
Same as above. This is a parallel copy of the function using Mac-specific data structures.
(WebCore::Frame::searchForLabelsBeforeElement):
Ditto

WebKit/mac:

Reviewed by Darin Adler

  • WebView/WebHTMLRepresentation.h:

Declare -searchForLabels:beforeElement:resultDistance:resultIsInCellAbove.

  • WebView/WebHTMLRepresentation.mm:

(-[WebHTMLRepresentation searchForLabels:beforeElement:]):
Now calls through to searchForLabels:beforeElement:resultDistance:resultIsInCellAbove.
(-[WebHTMLRepresentation searchForLabels:beforeElement:resultDistance:resultIsInCellAbove:]):
New method, calls through to WebCore.

WebKit/win:

Reviewed by Darin Adler

  • Interfaces/IWebHTMLRepresentation.idl:

Created variant of searchForLabels that includes additional in/out parameters resultDistance and resultIsInCellAbove.

  • Interfaces/WebKit.idl:

Touched in order to get other idl change to propagate correctly.

  • WebHTMLRepresentation.cpp:

(WebHTMLRepresentation::deprecatedSearchForLabels):
Renamed since iDL doesn't support two functions with the same name but different signatures.
(WebHTMLRepresentation::searchForLabels):
Implemented variant of searchForLabels that includes additional in/out parameters resultDistance and resultIsInCellAbove.

  • WebHTMLRepresentation.h:

Declared variant of searchForLabels that includes additional in/out parameters resultDistance and resultIsInCellAbove.

3:09 PM Changeset in webkit [53499] by jpetsovits@rim.com
  • 1 edit
    7 adds in trunk/WebCore

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

Reviewed by Nikolas Zimmermann.

[OpenVG] Add (EGL) surface/context management
https://bugs.webkit.org/show_bug.cgi?id=33403

The foundations for a new OpenVG port.

OpenVG is not tied to EGL per se, EGL just happens to be
the only usable backend for OpenVG state and painting
at the time of writing.

The purpose of the SurfaceOpenVG class is to provide
an EGL-independent interface for OpenVG-specific code.
The EGLDisplayOpenVG class takes care of keeping track
of EGL displays, surfaces and contexts. It also makes
sure that all created contexts are interoperable, and
that different surfaces use a single context if possible.

  • platform/graphics/openvg/EGLDisplayOpenVG.cpp: Added. (WebCore::displayManagers): (WebCore::EGLDisplayOpenVG::currentSurface): (WebCore::EGLDisplayOpenVG::registerPlatformSurface): (WebCore::EGLDisplayOpenVG::unregisterPlatformSurface): (WebCore::EGLDisplayOpenVG::setCurrentDisplay): (WebCore::EGLDisplayOpenVG::current): (WebCore::EGLDisplayOpenVG::forDisplay): (WebCore::EGLDisplayOpenVG::EGLDisplayOpenVG): (WebCore::EGLDisplayOpenVG::~EGLDisplayOpenVG): (WebCore::EGLDisplayOpenVG::setDefaultPbufferConfig): (WebCore::EGLDisplayOpenVG::defaultPbufferConfig): (WebCore::EGLDisplayOpenVG::setDefaultWindowConfig): (WebCore::EGLDisplayOpenVG::defaultWindowConfig): (WebCore::EGLDisplayOpenVG::sharedPlatformSurface): (WebCore::EGLDisplayOpenVG::createPbufferSurface): (WebCore::EGLDisplayOpenVG::surfaceForWindow): (WebCore::EGLDisplayOpenVG::surfacesCompatible): (WebCore::EGLDisplayOpenVG::destroySurface): (WebCore::EGLDisplayOpenVG::contextForSurface):
  • platform/graphics/openvg/EGLDisplayOpenVG.h: Added. (WebCore::EGLDisplayOpenVG::display):
  • platform/graphics/openvg/EGLUtils.h: Added. (toEGLErrorConstant):
  • platform/graphics/openvg/SurfaceOpenVG.cpp: Added. (WebCore::SurfaceOpenVG::currentSurface): (WebCore::SurfaceOpenVG::SurfaceOpenVG): (WebCore::SurfaceOpenVG::~SurfaceOpenVG): (WebCore::SurfaceOpenVG::isValid): (WebCore::SurfaceOpenVG::width): (WebCore::SurfaceOpenVG::height): (WebCore::SurfaceOpenVG::sharedSurface): (WebCore::SurfaceOpenVG::makeCurrent): (WebCore::SurfaceOpenVG::makeCompatibleCurrent): (WebCore::SurfaceOpenVG::flush):
  • platform/graphics/openvg/SurfaceOpenVG.h: Added. (WebCore::SurfaceOpenVG::eglDisplay): (WebCore::SurfaceOpenVG::eglSurface): (WebCore::SurfaceOpenVG::eglContext):
  • platform/graphics/openvg/VGUtils.h: Added. (toVGErrorConstant):
2:50 PM Changeset in webkit [53498] by eric@webkit.org
  • 2 edits in trunk/WebKitTools

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

Reviewed by Darin Adler.

[DRT][Mac] Add modifiers parameter to eventSender.mouseDown() and eventSender.mouseUp()
https://bugs.webkit.org/show_bug.cgi?id=33783

Some listbox tests check selection behavior by click events with
"meta" or "shift" keys. Behaviors for such modifier keys are
platform-dependent. The new parameter of mouseDown() and mouseUp()
allows to specify not only concrete modifier keys such as
"shiftKey" "metaKey", but also functional names like
"addSelectionKey" "rangeSelectionKey".

  • DumpRenderTree/mac/EventSendingController.mm: (+[EventSendingController isSelectorExcludedFromWebScript:]): (+[EventSendingController webScriptNameForSelector:]): (buildModifierFlags): (-[EventSendingController mouseDown:withModifiers:]): (-[EventSendingController mouseDown:]): (-[EventSendingController mouseUp:withModifiers:]): (-[EventSendingController mouseUp:]): (-[EventSendingController keyDown:withModifiers:withLocation:]):
2:36 PM Changeset in webkit [53497] by steveblock@google.com
  • 15 edits
    4 moves in trunk/WebCore

Renames jni_utility and jni_utility_private to JNIUtility and JNIUtilityPrivate
https://bugs.webkit.org/show_bug.cgi?id=33843

Reviewed by David Levin.

No new tests, refactoring only.

  • Android.jscbindings.mk:
  • Android.v8bindings.mk:
  • GNUmakefile.am:
  • WebCore.xcodeproj/project.pbxproj:
  • bridge/jni/JNIUtility.cpp: Copied from WebCore/bridge/jni/jni_utility.cpp.
  • bridge/jni/JNIUtility.h: Copied from WebCore/bridge/jni/jni_utility.h.
  • bridge/jni/jni_jsobject.mm:
  • bridge/jni/jni_objc.mm:
  • bridge/jni/jni_runtime.cpp:
  • bridge/jni/jni_runtime.h:
  • bridge/jni/jni_utility.cpp: Removed.
  • bridge/jni/jni_utility.h: Removed.
  • bridge/jni/jsc/JNIUtilityPrivate.cpp: Copied from WebCore/bridge/jni/jsc/jni_utility_private.cpp.

(JSC::Bindings::convertValueToJValue):

  • bridge/jni/jsc/JNIUtilityPrivate.h: Copied from WebCore/bridge/jni/jsc/jni_utility_private.h.
  • bridge/jni/jsc/JavaClassJSC.cpp:
  • bridge/jni/jsc/JavaInstanceJSC.cpp:
  • bridge/jni/jsc/JavaStringJSC.h:
  • bridge/jni/jsc/jni_utility_private.cpp: Removed.
  • bridge/jni/jsc/jni_utility_private.h: Removed.
  • platform/android/GeolocationServiceBridge.cpp:
  • platform/android/GeolocationServiceBridge.h:
  • platform/android/TemporaryLinkStubs.cpp:
2:30 PM Changeset in webkit [53496] by eric@webkit.org
  • 2 edits in trunk/WebKitTools

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

Reviewed by Eric Seidel.

Unbreak --request-commit
https://bugs.webkit.org/show_bug.cgi?id=33832

  • Scripts/webkitpy/bugzilla.py:
2:18 PM Changeset in webkit [53495] by Simon Fraser
  • 3 edits
    8 adds in trunk

2010-01-19 Simon Fraser <Simon Fraser>

Reviewed by Dan Bernstein.

Some composited reflections incorrectly positioned
https://bugs.webkit.org/show_bug.cgi?id=33856

When setting the position of the replicated layer inside the reflection, we need to take
into account the bounds of the original layer, and the replica layer to get the
reflection in the right place.

Tests: compositing/reflections/nested-reflection-transformed2.html

compositing/reflections/reflection-positioning2.html

  • rendering/RenderLayerBacking.cpp: (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
2:17 PM Changeset in webkit [53494] by enrica@apple.com
  • 3 edits
    2 adds in trunk

WebCore: REGRESSION: Infinite recursion in Position::getInlineBoxAndOffset()
https://bugs.webkit.org/show_bug.cgi?id=33864
<rdar://problem/7552959>

Reviewed by Simon Fraser.

Regression has been introduced by changeset 53085.
The original fix had to be limited to editable content.

Test: editing/selection/selection-applet.html

  • dom/Position.cpp:

(WebCore::Position::getInlineBoxAndOffset):

LayoutTests: REGRESSION: Infinite recursion in Position::getInlineBoxAndOffset()
https://bugs.webkit.org/show_bug.cgi?id=33864
<rdar://problem/7552959>

Reviewed by Simon Fraser.

  • editing/selection/selection-applet-expected.txt: Added.
  • editing/selection/selection-applet.html: Added.
2:14 PM Changeset in webkit [53493] by eric@webkit.org
  • 2 edits in trunk/WebCore

2010-01-19 Kristian Amlie <kristian.amlie@nokia.com>

Reviewed by Laszlo Gombos.

[Qt] Fix qmake warning with qmake in Qt for Symbian
https://bugs.webkit.org/show_bug.cgi?id=33786

  • WebCore.pro: Use QMAKE_LFLAGS instead of MMP_RULES.
2:14 PM Changeset in webkit [53492] by ojan@chromium.org
  • 4 edits in trunk/LayoutTests

2010-01-15 Ojan Vafai <ojan@chromium.org>

Reviewed by Adam Barth.

LayoutTests/animations/play-state.html and LayoutTests/transitions/cancel-transition.html are still flaky
https://bugs.webkit.org/show_bug.cgi?id=33748

  • animations/play-state-expected.txt:
  • animations/play-state.html: Undo my previous change of decreasing the length of the test. I think that made it more flaky. Also increase the tolerance.
  • transitions/cancel-transition.html: Undo my previous change of moving the setTimeout. It was correct where it was. Added a comment to make it more clear. The tolerances were increased since then though, so this test should no longer be flaky after this.
2:10 PM Changeset in webkit [53491] by jpetsovits@rim.com
  • 1 edit in trunk/WebKitTools/Scripts/webkitpy/committers.py

Adding myself to committers.py.

1:53 PM Changeset in webkit [53490] by dbates@webkit.org
  • 2 edits in trunk/WebCore

2010-01-19 Daniel Bates <dbates@rim.com>

Reviewed by Darin Adler.

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

Fixes an issue in the Apple Mac port where ScrollView::platformVisibleContentRect
returns the rectangle of the document within the content view of
the scroll view (i.e. the rectangle not including scrollbars) when
the parameter includeScrollbars == true

Currently, this behavior contradicts both the comment in ScrollView.h
for method visibleContentRect as well as the behavior in
ScrollView::visibleContentRect() for a platform-independent scroll view.

Instead, it should return the rectangle whose dimensions include
the scrollbars.

Also, removes some extra whitespace at the end of the lines.

No tests included because we cannot test this using either DRT
or a manual test.

  • platform/mac/ScrollViewMac.mm: (WebCore::ScrollView::platformVisibleContentRect): If includeScrollbars == true then return the rectangle whose dimensions are that of the frame (i.e. -[NSScrollView frame]).
1:51 PM Changeset in webkit [53489] by steveblock@google.com
  • 3 edits in trunk/WebCore

Fixes style in WebCore/bridge/jni/jsc/JavaClassJSC
https://bugs.webkit.org/show_bug.cgi?id=33819

Reviewed by David Levin.

No new tests, style fixes only.

  • bridge/jni/jsc/JavaClassJSC.cpp: Modified.
  • bridge/jni/jsc/JavaClassJSC.h: Modified.
1:49 PM Changeset in webkit [53488] by eric@webkit.org
  • 10 edits in trunk

2010-01-19 Jaime Yap <jaimeyap@google.com>

Reviewed by Pavel Feldman.

Test changes to accomodate refactor of TimelineRecordFactory and InspectorTimelineAgent to
support reporting data when closing a record.

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

  • inspector/timeline-layout-expected.txt:
  • inspector/timeline-parse-html-expected.txt:
  • inspector/timeline-recalculate-styles-expected.txt:

2010-01-19 Jaime Yap <jaimeyap@google.com>

Reviewed by Pavel Feldman.

Refactors the TimelineRecordFactory and InspectorTimelineAgent to support reporting data
when closing a record. Also includes grabbing the start and end line number for parse HTML
records as a reference use case for the above refactor

Tests updated:

inspector/timeline-parse-html-expected.txt
inspector/timeline-layout-expected.txt
inspector/timeline-recalculate-styles-expected.txt

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

  • html/HTMLTokenizer.cpp: (WebCore::HTMLTokenizer::write):
  • inspector/InspectorTimelineAgent.cpp: (WebCore::InspectorTimelineAgent::willDispatchEvent): (WebCore::InspectorTimelineAgent::willLayout): (WebCore::InspectorTimelineAgent::willRecalculateStyle): (WebCore::InspectorTimelineAgent::willPaint): (WebCore::InspectorTimelineAgent::willWriteHTML): (WebCore::InspectorTimelineAgent::didWriteHTML): (WebCore::InspectorTimelineAgent::didInstallTimer): (WebCore::InspectorTimelineAgent::didRemoveTimer): (WebCore::InspectorTimelineAgent::willFireTimer): (WebCore::InspectorTimelineAgent::willChangeXHRReadyState): (WebCore::InspectorTimelineAgent::willLoadXHR): (WebCore::InspectorTimelineAgent::willEvaluateScript): (WebCore::InspectorTimelineAgent::willSendResourceRequest): (WebCore::InspectorTimelineAgent::didReceiveResourceResponse): (WebCore::InspectorTimelineAgent::didFinishLoadingResource): (WebCore::InspectorTimelineAgent::didMarkTimeline): (WebCore::InspectorTimelineAgent::didCompleteCurrentRecord): (WebCore::InspectorTimelineAgent::pushCurrentRecord):
  • inspector/InspectorTimelineAgent.h: (WebCore::InspectorTimelineAgent::TimelineRecordEntry::TimelineRecordEntry):
  • inspector/TimelineRecordFactory.cpp: (WebCore::TimelineRecordFactory::createEventDispatchData): (WebCore::TimelineRecordFactory::createGenericTimerData): (WebCore::TimelineRecordFactory::createTimerInstallData): (WebCore::TimelineRecordFactory::createXHRReadyStateChangeData): (WebCore::TimelineRecordFactory::createXHRLoadData): (WebCore::TimelineRecordFactory::createEvaluateScriptData): (WebCore::TimelineRecordFactory::createMarkTimelineData): (WebCore::TimelineRecordFactory::createResourceSendRequestData): (WebCore::TimelineRecordFactory::createResourceReceiveResponseData): (WebCore::TimelineRecordFactory::createResourceFinishData): (WebCore::TimelineRecordFactory::createPaintData): (WebCore::TimelineRecordFactory::createParseHTMLData):
  • inspector/TimelineRecordFactory.h:
1:31 PM Changeset in webkit [53487] by eric@webkit.org
  • 4 edits in trunk

2010-01-19 Joanmarie Diggs <joanmarie.diggs@gmail.com>

Reviewed by Xan Lopez.

https://bugs.webkit.org/show_bug.cgi?id=30883
[Gtk] Implement AtkText for HTML elements which contain text

Moves the text assembling functionality from getPangoLayoutForAtk to
textForObject, which webkit_accessible_text_get_text now falls back on
when it comes up empty.

Adds a check in textForObject so that we don't double-add newlines
when we have a BR.

  • accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: (textForObject): (getPangoLayoutForAtk): (webkit_accessible_text_get_text):

2010-01-19 Joanmarie Diggs <joanmarie.diggs@gmail.com>

Reviewed by Xan Lopez.

https://bugs.webkit.org/show_bug.cgi?id=30883
[Gtk] Implement AtkText for HTML elements which contain text

Adds two news tests.

  • tests/testatk.c (testWebkitAtkGetTextInParagraphAndBodySimple): (testWebkitAtkGetTextInParagraphAndBodyModerate): (main):
1:07 PM Changeset in webkit [53486] by eric.carlson@apple.com
  • 3 edits
    2 adds in trunk

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

Reviewed by Adam Roben.

error events don't fire if no <source> elements passed to media engine
https://bugs.webkit.org/show_bug.cgi?id=33855

Test: media/video-source-error-no-candidate.html

  • html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::selectMediaResource): Only bail early if there is no 'src' attribute and no <source> child elements at all.

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

Reviewed by Adam Roben.

error events don't fire if no <source> elements passed to media engine
https://bugs.webkit.org/show_bug.cgi?id=33855

  • media/video-source-error-no-candidate-expected.txt: Added.
  • media/video-source-error-no-candidate.html: Added.
1:04 PM Changeset in webkit [53485] by dbates@webkit.org
  • 2 edits in trunk/WebCore

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

Reviewed by Adam Roben.

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

REGRESSION(r53273): Fixes redefinition of XFORM error when building
WebKit using Qt Windows with the MinGW compiler.


Note, MinGW has a slightly different declaration of the struct XFORM
from that in the Microsoft SDK. So, we need to substitute an alternative
typedef for XFORM when compiling with MinGW.

No functionality was changed. So, no new tests.

  • platform/graphics/transforms/TransformationMatrix.h:
12:53 PM Changeset in webkit [53484] by eric@webkit.org
  • 3 edits in trunk/WebKitTools

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

Reviewed by Adam Barth.

validate-committer-lists throws exception and committers.py needs a refresh
https://bugs.webkit.org/show_bug.cgi?id=33831

  • Scripts/validate-committer-lists: use webkit_logging
  • Scripts/webkitpy/committers.py: Add recently minted committers. Fix Simon Hausmanns email address list to include his webkit-committers@lists address.
12:40 PM Changeset in webkit [53483] by mrowe@apple.com
  • 4 edits in trunk

Versioning.

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

New tag.

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

Reviewed by Xan Lopez.

News items for 1.1.19.

  • NEWS:
12:19 PM Changeset in webkit [53480] by senorblanco@chromium.org
  • 2 edits in trunk/WebCore

Fix for crash on large TransparencyWin allocation. The fix is
to leave m_layerValid false when the allocPixels of
OwnedBuffers::m_referenceBitmap fails. Then TransparencyWin won't
attempt to use it.

Reviewed by Dimitri Glazkov.

Will be covered by a new unit test in Chromium's test_shell_tests (when
this is rolled into Chromium).

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

  • platform/graphics/chromium/TransparencyWin.cpp:

(WebCore::TransparencyWin::initializeNewContext):
Early return when m_referenceBitmap or its pixels is NULL, leaving
m_layerValid false.

11:48 AM Changeset in webkit [53479] by Laszlo Gombos
  • 2 edits in trunk/JavaScriptCore

2010-01-19 Laszlo Gombos <Laszlo Gombos>

Unreviewed build fix for JIT with RVCT.

Remove IMPORT statement; cti_vm_throw is already defined in JITStubs.h.
Remove extra ')'.

  • jit/JITStubs.cpp: (JSC::ctiVMThrowTrampoline):
11:31 AM Changeset in webkit [53478] by eric.carlson@apple.com
  • 4 edits
    2 adds in trunk

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

Reviewed by Adam Roben.

video.networkState remains NETWORK_LOADING indefinitely when no <source> element was able to be loaded
https://bugs.webkit.org/show_bug.cgi?id=33744

Test: media/video-source-none-supported.html

  • html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::loadNextSourceChild): Call waitForSourceChange if

there are no valid source elements.

(WebCore::HTMLMediaElement::waitForSourceChange): New, set networkState to NETWORK_NO_SOURCE.
(WebCore::HTMLMediaElement::setNetworkState): Call waitForSourceChange if the movie

hasn't reached HAVE_METADATA and there are no more <source> elements to try.

  • html/HTMLMediaElement.h: Declare waitForSourceChange.

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

Reviewed by Adam Roben.

video.networkState remains NETWORK_LOADING indefinitely when no <source> element was able to be loaded
https://bugs.webkit.org/show_bug.cgi?id=33744

  • media/video-source-none-supported-expected.txt: Added.
  • media/video-source-none-supported.html: Added.
11:11 AM Changeset in webkit [53477] by kov@webkit.org
  • 3 edits in trunk/WebKit/gtk

Reviewed by Xan Lopez.

[GTK] More crashes related to the clipboard management
https://bugs.webkit.org/show_bug.cgi?id=33746

Pass the WebKitWebView object (which is a GObject, thus
ref-counted) to the clipboard functions instead of passing the
Page - this allows us to explicitely protect the object inbetween
the clipboard call and its callbacks, which fixes the crash.

  • WebCoreSupport/EditorClientGtk.cpp: (WebKit::EditorClient::respondToChangedSelection):
  • WebCoreSupport/PasteboardHelperGtk.cpp: (WebKit::getClipboardContentsCallback): (WebKit::clearClipboardContentsCallback): (WebKit::PasteboardHelperGtk::writeClipboardContents):
10:48 AM Changeset in webkit [53476] by dbates@webkit.org
  • 4 edits
    10 adds in trunk

2010-01-19 Daniel Bates <dbates@rim.com>

Reviewed by Adam Treat.

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

Implements an optimization to ignore fixed background images
(i.e. background-attachment: fixed) when a page does not contain
any fixed position elements so as to allow fast repaints (via bit
blit) when scrolling a page.

Currently, if a page has elements that specify either a fixed
background or a fixed position then we perform a slow repaint
(i.e disable blitting) so as to avoid rendering artifacts.
However, on low-powered/mobile devices slow repaints can cause
noticeable delays when scrolling a page with a fixed background
image. By sacrificing support for fixed background images when
there are no fixed elements on the page and with come care, we
don't need to force slow repaints and can avoid rendering artifacts.
Hence, on such devices we can improve the responsiveness of
scrolling a page with a fixed background image.

Note, this optimization is only enabled if the WebKit is built
with FAST_MOBILE_SCROLLING enabled.

Tests: fast/fast-mobile-scrolling/fixed-position-element.html

fast/fast-mobile-scrolling/no-fixed-position-elements.html

  • rendering/RenderBoxModelObject.cpp: (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry): Disable fixed background attachment if we can blit on scroll.
  • rendering/RenderObject.cpp: (WebCore::RenderObject::styleWillChange):

2010-01-19 Daniel Bates <dbates@rim.com>

Reviewed by Adam Treat.

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

Tests that fixed background images are ignored when there are no
fixed elements on a page and honored otherwise.

Note, includes expected failure results for the test
fast/fast-mobile-scrolling/no-fixed-position-elements.html, since
the Mac and Windows ports do not support FAST_MOBILE_SCROLLING.

  • fast/fast-mobile-scrolling: Added.
  • fast/fast-mobile-scrolling/fixed-position-element.html: Added.
  • fast/fast-mobile-scrolling/no-fixed-position-elements.html: Added.
  • platform/mac/fast/fast-mobile-scrolling: Added.
  • platform/mac/fast/fast-mobile-scrolling/fixed-position-element-expected.checksum: Added.
  • platform/mac/fast/fast-mobile-scrolling/fixed-position-element-expected.png: Added.
  • platform/mac/fast/fast-mobile-scrolling/fixed-position-element-expected.txt: Added.
  • platform/mac/fast/fast-mobile-scrolling/no-fixed-position-elements-expected.checksum: Added.
  • platform/mac/fast/fast-mobile-scrolling/no-fixed-position-elements-expected.png: Added. Expected failure result since the Mac port does not enable FAST_MOBILE_SCROLLING.
  • platform/mac/fast/fast-mobile-scrolling/no-fixed-position-elements-expected.txt: Added. Expected failure result since the Mac port does not enable FAST_MOBILE_SCROLLING.
10:29 AM Changeset in webkit [53475] by Adam Roben
  • 2 edits in trunk/WebKit/win

Windows build fix

  • WebScriptWorld.cpp: Added missing #include.
10:26 AM Changeset in webkit [53474] by hyatt@apple.com
  • 2 edits in trunk/WebCore

Build bustage fix. Land modified WebCore.base.exp file that includes export of currentWorld().

  • WebCore.base.exp:
10:24 AM Changeset in webkit [53473] by hyatt@apple.com
  • 2 edits in trunk/WebKit/win

Build bustage fix. Make sure the newly added scriptWorldForGlobalContext function is [local] in the IDL.

  • Interfaces/IWebScriptWorld.idl:
10:17 AM Changeset in webkit [53472] by beidson@apple.com
  • 3 edits
    2 adds in trunk

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

Reviewed by Alexey Proskuryakov.

WebCore:

Test: fast/loader/stateobjects/state-api-on-detached-frame-crash.html

  • page/History.cpp:

(WebCore::History::stateObjectAdded): Do an early return when detached. The spec

doesn't really cover expected behavior and we already do something similar in
other places, such as in History::length().

LayoutTests:

  • fast/loader/stateobjects/state-api-on-detached-frame-crash-expected.txt: Added.
  • fast/loader/stateobjects/state-api-on-detached-frame-crash.html: Added.
10:11 AM Changeset in webkit [53471] by sfalken@apple.com
  • 1 edit in trunk/WebKit/win/Interfaces/WebKit.idl

Touch WebKit.idl to fix build.

9:53 AM Changeset in webkit [53470] by hyatt@apple.com
  • 7 edits in trunk/WebKit

WebKit/mac: Add an API to obtain the WebScriptWorld for a given JSGlobalContextRef.

Reviewed by Adam Roben.

  • WebView/WebScriptWorld.h:
  • WebView/WebScriptWorld.mm:

(+[WebScriptWorld scriptWorldForGlobalContext:]):

WebKit/win: Add an API to obtain a WebScriptWorld from a JSGlobalContextRef.

Reviewed by Adam Roben.

  • Interfaces/IWebScriptWorld.idl:
  • WebScriptWorld.cpp:

(WebScriptWorld::scriptWorldForGlobalContext):

  • WebScriptWorld.h:
9:00 AM Changeset in webkit [53469] by yurys@chromium.org
  • 42 edits in trunk

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

Reviewed by NOBODY (build fix).

Revert r53467. Browser crashes on opening inspector if there
are messages in console.

  • bindings/js/JSInjectedScriptHostCustom.cpp: (WebCore::JSInjectedScriptHost::databaseForId): (WebCore::JSInjectedScriptHost::inspectedWindow): (WebCore::JSInjectedScriptHost::wrapCallback): (WebCore::JSInjectedScriptHost::currentCallFrame): (WebCore::JSInjectedScriptHost::nodeForId): (WebCore::JSInjectedScriptHost::wrapObject): (WebCore::JSInjectedScriptHost::unwrapObject): (WebCore::JSInjectedScriptHost::pushNodePathToFrontend): (WebCore::JSInjectedScriptHost::selectDatabase): (WebCore::JSInjectedScriptHost::selectDOMStorage):
  • bindings/js/ScriptController.cpp:
  • bindings/js/ScriptController.h:
  • bindings/js/ScriptObject.h:
  • bindings/js/ScriptValue.cpp: (WebCore::ScriptValue::quarantineValue):
  • bindings/js/ScriptValue.h:
  • bindings/v8/ScriptObject.h:
  • bindings/v8/ScriptValue.h: (WebCore::ScriptValue::quarantineValue):
  • bindings/v8/custom/V8InjectedScriptHostCustom.cpp: (WebCore::V8InjectedScriptHost::inspectedWindowCallback): (WebCore::V8InjectedScriptHost::wrapCallbackCallback): (WebCore::V8InjectedScriptHost::wrapObjectCallback): (WebCore::V8InjectedScriptHost::unwrapObjectCallback):
  • inspector/ConsoleMessage.cpp: (WebCore::ConsoleMessage::ConsoleMessage): (WebCore::ConsoleMessage::addToConsole): (WebCore::ConsoleMessage::isEqual):
  • inspector/ConsoleMessage.h:
  • inspector/InjectedScriptHost.cpp: (WebCore::InjectedScriptHost::wrapObject): (WebCore::InjectedScriptHost::unwrapObject):
  • inspector/InjectedScriptHost.h:
  • inspector/InjectedScriptHost.idl:
  • inspector/InspectorBackend.cpp: (WebCore::InspectorBackend::dispatchOnInjectedScript): (WebCore::InspectorBackend::releaseWrapperObjectGroup):
  • inspector/InspectorBackend.h:
  • inspector/InspectorBackend.idl:
  • inspector/InspectorController.cpp: (WebCore::InspectorController::InspectorController): (WebCore::InspectorController::clearConsoleMessages): (WebCore::InspectorController::inspectedWindowScriptObjectCleared): (WebCore::InspectorController::windowScriptObjectAvailable): (WebCore::InspectorController::scriptObjectReady): (WebCore::InspectorController::setFrontendProxyObject): (WebCore::InspectorController::close): (WebCore::InspectorController::resetScriptObjects): (WebCore::InspectorController::didPause): (WebCore::InspectorController::wrapObject): (WebCore::InspectorController::unwrapObject): (WebCore::InspectorController::releaseWrapperObjectGroup): (WebCore::InspectorController::resetInjectedScript):
  • inspector/InspectorController.h:
  • inspector/InspectorFrontend.cpp: (WebCore::InspectorFrontend::addConsoleMessage): (WebCore::InspectorFrontend::pausedScript):
  • inspector/InspectorFrontend.h:
  • inspector/front-end/AuditsPanel.js: (WebInspector.AuditsPanel.prototype._reloadResources):
  • inspector/front-end/ConsoleView.js: (WebInspector.ConsoleView.prototype.requestClearMessages): (WebInspector.ConsoleView.prototype.completions): (WebInspector.ConsoleView.prototype.doEvalInWindow): (WebInspector.ConsoleView.prototype._formatnode): (WebInspector.ConsoleView.prototype._formatarray):
  • inspector/front-end/DOMAgent.js: (WebInspector.DOMNode): (WebInspector.CSSStyleDeclaration): (WebInspector.CSSStyleDeclaration.parseRule):
  • inspector/front-end/Database.js: (WebInspector.Database.prototype.executeSql):
  • inspector/front-end/ElementsPanel.js: (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged): (WebInspector.ElementsPanel.prototype.setDocument): (WebInspector.ElementsPanel.prototype.searchCanceled): (WebInspector.ElementsPanel.prototype.performSearch):
  • inspector/front-end/ElementsTreeOutline.js: (WebInspector.ElementsTreeElement.prototype.createTooltipForImageNode):
  • inspector/front-end/EventListenersSidebarPane.js: ():
  • inspector/front-end/InjectedScript.js: (InjectedScript.dispatch): (InjectedScript.toggleStyleEnabled): (InjectedScript._serializeRule): (InjectedScript._serializeStyle): (InjectedScript.getProperties): (InjectedScript.setPropertyValue): (InjectedScript._evaluateAndWrap): (InjectedScript.getCallFrames): (InjectedScript._inspectObject): (InjectedScript._ensureCommandLineAPIInstalled): (InjectedScript._resolveObject): (InjectedScript._window): (InjectedScript._objectForId): (InjectedScript.createProxyObject): (InjectedScript.executeSql): (InjectedScript.executeSql.errorCallback): (InjectedScript.executeSql.queryTransaction): (Object.type): (String.prototype.escapeCharacters):
  • inspector/front-end/InjectedScriptAccess.js: (InjectedScriptAccess._installHandler.InjectedScriptAccess.methodName): (InjectedScriptAccess._installHandler):
  • inspector/front-end/MetricsSidebarPane.js: (WebInspector.MetricsSidebarPane): (WebInspector.MetricsSidebarPane.prototype.update.inlineStyleCallback): (WebInspector.MetricsSidebarPane.prototype.update): (WebInspector.MetricsSidebarPane.prototype.editingCommitted):
  • inspector/front-end/ObjectPropertiesSection.js: (WebInspector.ObjectPropertiesSection.prototype.update): (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate): (WebInspector.ObjectPropertyTreeElement.prototype.applyExpression):
  • inspector/front-end/ObjectProxy.js: (WebInspector.ObjectProxy): (WebInspector.ObjectProxy.getPropertiesAsync):
  • inspector/front-end/PropertiesSidebarPane.js: (WebInspector.PropertiesSidebarPane.prototype.update.callback): (WebInspector.PropertiesSidebarPane.prototype.update):
  • inspector/front-end/ResourcesPanel.js: (WebInspector.ResourceSidebarTreeElement.prototype.ondblclick):
  • inspector/front-end/ScriptsPanel.js: (WebInspector.ScriptsPanel.prototype.doEvalInCallFrame):
  • inspector/front-end/StylesSidebarPane.js: (WebInspector.StylesSidebarPane.prototype.update): (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted): (WebInspector.BlankStylePropertiesSection.prototype.editingSelectorCommitted): (WebInspector.StylePropertyTreeElement.prototype):
  • inspector/front-end/WatchExpressionsSidebarPane.js: (WebInspector.WatchExpressionsSection.prototype.update):
  • inspector/front-end/inspector.js: (WebInspector.loaded): (WebInspector.pausedScript): (WebInspector.addConsoleMessage): (WebInspector.log.logMessage): (WebInspector.log):

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

Reviewed by NOBODY (build fix).

Revert r53467. Browser crashes on opening inspector if there
are messages in console.

  • inspector/styles-iframe.html:
7:48 AM Companies and Organizations that have contributed to WebKit edited by xan@webkit.org
(diff)
6:50 AM Changeset in webkit [53468] by steveblock@google.com
  • 2 edits in trunk/WebKit/mac

Unreviewed build fix.

Fixes Snow Leopard build due to http://trac.webkit.org/changeset/53464

  • Plugins/Hosted/WebHostedNetscapePluginView.mm: Modified. Import <WebCore/Bridge.h>
6:27 AM Changeset in webkit [53467] by yurys@chromium.org
  • 42 edits in trunk

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

Reviewed by Pavel Feldman.

Inject inspector script directly into the inspected context. All the
communication between the script and the frontend is serialized into
JSON strings. It allows to get rid of object quarantines in Web Inspector.

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

  • bindings/js/JSInjectedScriptHostCustom.cpp: (WebCore::JSInjectedScriptHost::databaseForId): (WebCore::JSInjectedScriptHost::currentCallFrame): (WebCore::JSInjectedScriptHost::nodeForId): (WebCore::JSInjectedScriptHost::pushNodePathToFrontend): (WebCore::JSInjectedScriptHost::selectDatabase): (WebCore::JSInjectedScriptHost::selectDOMStorage):
  • bindings/js/ScriptController.cpp: (WebCore::ScriptController::mainWorldScriptState):
  • bindings/js/ScriptController.h:
  • bindings/js/ScriptObject.h: (WebCore::ScriptObject::scriptState):
  • bindings/js/ScriptValue.cpp:
  • bindings/js/ScriptValue.h:
  • bindings/v8/ScriptObject.h: (WebCore::ScriptObject::scriptState):
  • bindings/v8/ScriptValue.h:
  • bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
  • inspector/ConsoleMessage.cpp: (WebCore::ConsoleMessage::ConsoleMessage): (WebCore::ConsoleMessage::addToConsole): (WebCore::ConsoleMessage::isEqual):
  • inspector/ConsoleMessage.h:
  • inspector/InjectedScriptHost.cpp: (WebCore::InjectedScriptHost::releaseWrapperObjectGroup):
  • inspector/InjectedScriptHost.h:
  • inspector/InjectedScriptHost.idl:
  • inspector/InspectorBackend.cpp: (WebCore::InspectorBackend::setInjectedScriptSource): (WebCore::InspectorBackend::dispatchOnInjectedScript): (WebCore::InspectorBackend::releaseWrapperObjectGroup):
  • inspector/InspectorBackend.h:
  • inspector/InspectorBackend.idl:
  • inspector/InspectorController.cpp: (WebCore::InspectorController::InspectorController): (WebCore::InspectorController::clearConsoleMessages): (WebCore::InspectorController::inspectedWindowScriptObjectCleared): (WebCore::InspectorController::windowScriptObjectAvailable): (WebCore::InspectorController::scriptObjectReady): (WebCore::InspectorController::setFrontendProxyObject): (WebCore::InspectorController::close): (WebCore::InspectorController::resetScriptObjects): (WebCore::InspectorController::didPause): (WebCore::InspectorController::injectedScriptForNodeId):
  • inspector/InspectorController.h:
  • inspector/InspectorFrontend.cpp: (WebCore::InspectorFrontend::addConsoleMessage): (WebCore::InspectorFrontend::pausedScript):
  • inspector/InspectorFrontend.h:
  • inspector/front-end/AuditsPanel.js: (WebInspector.AuditsPanel.prototype._reloadResources):
  • inspector/front-end/ConsoleView.js: (WebInspector.ConsoleView.prototype.requestClearMessages): (WebInspector.ConsoleView.prototype.doEvalInWindow):
  • inspector/front-end/DOMAgent.js: (WebInspector.DOMNode): (WebInspector.CSSStyleDeclaration): (WebInspector.CSSStyleDeclaration.parseRule):
  • inspector/front-end/Database.js: (WebInspector.Database.prototype.executeSql):
  • inspector/front-end/ElementsPanel.js: (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged.InjectedScriptAccess.get addInspectedNode): (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged): (WebInspector.ElementsPanel.prototype.setDocument): (WebInspector.ElementsPanel.prototype.searchCanceled): (WebInspector.ElementsPanel.prototype.performSearch):
  • inspector/front-end/ElementsTreeOutline.js: (WebInspector.ElementsTreeElement.prototype.createTooltipForImageNode):
  • inspector/front-end/EventListenersSidebarPane.js: ():
  • inspector/front-end/InjectedScript.js: (injectedScriptConstructor): (injectedScriptConstructor.):
  • inspector/front-end/InjectedScriptAccess.js: (InjectedScriptAccess): (InjectedScriptAccess.getDefault): (get InjectedScriptAccess): (InjectedScriptAccess._installHandler.InjectedScriptAccess.prototype.methodName): (InjectedScriptAccess._installHandler):
  • inspector/front-end/MetricsSidebarPane.js: (WebInspector.MetricsSidebarPane): (WebInspector.MetricsSidebarPane.prototype.update.inlineStyleCallback):
  • inspector/front-end/ObjectPropertiesSection.js:
  • inspector/front-end/ObjectProxy.js: (WebInspector.ObjectProxy):
  • inspector/front-end/PropertiesSidebarPane.js: (WebInspector.PropertiesSidebarPane.prototype.update.callback):
  • inspector/front-end/ResourcesPanel.js: (WebInspector.ResourceSidebarTreeElement.prototype.ondblclick):
  • inspector/front-end/ScriptsPanel.js:
  • inspector/front-end/StylesSidebarPane.js: (WebInspector.StylePropertyTreeElement.prototype):
  • inspector/front-end/WatchExpressionsSidebarPane.js: (WebInspector.WatchExpressionsSection.prototype.update):
  • inspector/front-end/inspector.js: (WebInspector.loaded): (WebInspector.pausedScript): (WebInspector.addConsoleMessage): (WebInspector.log.logMessage): (WebInspector.log):

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

Reviewed by Pavel Feldman.

Inject inspector script directly into the inspected context. All the
communication between the script and the frontend is serialized into
JSON strings. It allows to get rid of object quarantines in Web Inspector.

Refactor test case due to InjectedScriptAccess changes.

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

  • inspector/styles-iframe.html:
6:04 AM Changeset in webkit [53466] by hamaji@chromium.org
  • 2 edits in trunk/LayoutTests

2010-01-19 MORITA Hajime <morrita@gmail.com>

Reviewed by Shinichiro Hamaji.

[Chromium] layout_test on linux fails on doubleclick-beside-cr-span.html

Place larger margins before clicking position to grab certain words
instead of clicking blank, whitespaces or tabs before that words.
Note that widths of rendered tab characters are hard to predict,
So such margins are particularly helpful with them.

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

  • editing/selection/doubleclick-beside-cr-span.html: Fix to compute click position using actual character width.
4:30 AM Changeset in webkit [53465] by steveblock@google.com
  • 2 edits in trunk/WebCore

Unreviewed build fix.

Fixes Windows build due to http://trac.webkit.org/changeset/53464
Updates WebCore.vcproj to reflect renaming of runtime.[cpp|h] to Bridge.[cpp|h]

No new tests, build fix only.

  • WebCore.vcproj/WebCore.vcproj:
3:51 AM Changeset in webkit [53464] by steveblock@google.com
  • 43 edits
    2 moves in trunk

Renames WebCore/bridge/runtime.[cpp|h] to WebCore/bridge/Bridge.[cpp|h]
https://bugs.webkit.org/show_bug.cgi?id=33801

Reviewed by Adam Barth.

3:04 AM Changeset in webkit [53463] by Csaba Osztrogonác
  • 3 edits in trunk/LayoutTests

[Qt] REGRESSION (r53450): 3 tests fail on Qt bot
https://bugs.webkit.org/show_bug.cgi?id=33834

Reviewed by Kenneth Rohde Christiansen.

  • platform/qt/Skipped:
    • css1/box_properties/acid_test.html skipped.
    • fast/forms/textarea-scrollbar-height.html skipped.
  • platform/qt/css1/font_properties/font-expected.txt: updated.
2:50 AM WebKit Team edited by Csaba Osztrogonác
typo fix (diff)
1:06 AM Changeset in webkit [53462] by xan@webkit.org
  • 2 edits in trunk/LayoutTests

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

svg/custom/use-instanceRoot-event-bubbling.xhtml is flakey
https://bugs.webkit.org/show_bug.cgi?id=33835

Skip flakey test.

  • platform/gtk/Skipped:
12:56 AM Changeset in webkit [53461] by xan@webkit.org
  • 1 edit
    2 adds in trunk/LayoutTests

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

New baseline for failing test.

  • platform/gtk/fast/dynamic/float-in-trailing-whitespace-after-last-line-break-2-expected.txt: Copied from LayoutTests/platform/qt/fast/dynamic/float-in-trailing-whitespace-after-last-line-break-2-expected.txt.
12:39 AM Changeset in webkit [53460] by ggaren@apple.com
  • 7 edits
    2 adds in trunk

JavaScriptCore: REGRESSION (52082): Crash on worker thread when reloading http://radnan.public.iastate.edu/procedural/
https://bugs.webkit.org/show_bug.cgi?id=33826

Reviewed by Oliver Hunt.

This bug was caused by a GC-protected object being destroyed early by
Heap::destroy. Clients of the GC protect APIs (reasonably) expect pointers
to GC-protected memory to be valid.

The solution is to do two passes of tear-down in Heap::destroy. The first
pass tears down all unprotected objects. The second pass ASSERTs that all
previously protected objects are now unprotected, and then tears down
all perviously protected objects. These two passes simulate the two passes
that would have been required to free a protected object during normal GC.

  • API/JSContextRef.cpp: Removed some ASSERTs that have moved into Heap.
  • runtime/Collector.cpp:

(JSC::Heap::destroy): Moved ASSERTs to here.
(JSC::Heap::freeBlock): Tidied up the use of didShrink by moving its
setter to the function that does the shrinking.
(JSC::Heap::freeBlocks): Implemented above algorithm.
(JSC::Heap::shrinkBlocks): Tidied up the use of didShrink.

WebCore: REGRESSION (52082): Crash on worker thread when reloading http://radnan.public.iastate.edu/procedural/
https://bugs.webkit.org/show_bug.cgi?id=33826

Reviewed by Oliver Hunt.

Test: fast/workers/worker-gc2.html

  • bindings/js/WorkerScriptController.cpp:

(WebCore::WorkerScriptController::~WorkerScriptController): Removed some
ASSERTs that have moved to JavaScriptCore.

LayoutTests: REGRESSION (52082): Crash on worker thread when reloading http://radnan.public.iastate.edu/procedural/
https://bugs.webkit.org/show_bug.cgi?id=33826

Reviewed by Oliver Hunt.

Added a test for this edge case.

  • fast/workers/resources/worker-gc2.js: Added.

(Dummy):

  • fast/workers/worker-gc2.html: Added.
12:25 AM Changeset in webkit [53459] by barraclough@apple.com
  • 6 edits
    2 deletes in trunk

Reverting r53455, breaks 2 javascriptcore tests.

Reviewed by NOBODY (build fix).

JavaScriptCore:

  • API/JSContextRef.cpp:
  • runtime/Collector.cpp:

(JSC::Heap::destroy):
(JSC::Heap::freeBlock):
(JSC::Heap::freeBlocks):
(JSC::Heap::shrinkBlocks):

WebCore:

  • bindings/js/WorkerScriptController.cpp:

(WebCore::WorkerScriptController::~WorkerScriptController):

LayoutTests:

  • fast/workers/resources/worker-gc2.js: Removed.
  • fast/workers/worker-gc2.html: Removed.
12:25 AM WebKit Team edited by eric@webkit.org
(diff)
12:20 AM WebKit Team edited by abarth@webkit.org
(diff)
12:19 AM WebKit Team edited by abarth@webkit.org
(diff)
12:14 AM Changeset in webkit [53458] by ggaren@apple.com
  • 1 edit
    1 add in trunk/LayoutTests

Forgot to add this test result.

  • fast/workers/worker-gc2-expected.txt: Added.
12:05 AM Changeset in webkit [53457] by xan@webkit.org
  • 2 edits in trunk/LayoutTests

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

Skip tests generating new results.

  • platform/gtk/Skipped:

Jan 18, 2010:

11:58 PM WebKit Team edited by abarth@webkit.org
(diff)
11:22 PM Changeset in webkit [53456] by barraclough@apple.com
  • 5 edits in trunk/JavaScriptCore

Revert r53454, since it causes much sadness in this world.

Patch by Gavin Barraclough <barraclough@apple.com> on 2010-01-18
Reviewed by NOBODY (build fix).

  • runtime/UString.cpp:

(JSC::UString::spliceSubstringsWithSeparators):
(JSC::UString::replaceRange):

  • runtime/UStringImpl.cpp:

(JSC::UStringImpl::baseSharedBuffer):
(JSC::UStringImpl::sharedBuffer):
(JSC::UStringImpl::~UStringImpl):

  • runtime/UStringImpl.h:

(JSC::UntypedPtrAndBitfield::UntypedPtrAndBitfield):
(JSC::UntypedPtrAndBitfield::asPtr):
(JSC::UntypedPtrAndBitfield::operator&=):
(JSC::UntypedPtrAndBitfield::operator|=):
(JSC::UntypedPtrAndBitfield::operator&):
(JSC::UStringImpl::create):
(JSC::UStringImpl::cost):
(JSC::UStringImpl::isIdentifier):
(JSC::UStringImpl::setIsIdentifier):
(JSC::UStringImpl::ref):
(JSC::UStringImpl::deref):
(JSC::UStringImpl::checkConsistency):
(JSC::UStringImpl::UStringImpl):
(JSC::UStringImpl::bufferOwnerString):
(JSC::UStringImpl::bufferOwnership):
(JSC::UStringImpl::isStatic):

  • wtf/StringHashFunctions.h:

(WTF::stringHash):

11:00 PM Changeset in webkit [53455] by ggaren@apple.com
  • 6 edits
    2 adds in trunk

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

Reviewed by Oliver Hunt.

REGRESSION (52082): Crash on worker thread when reloading http://radnan.public.iastate.edu/procedural/
https://bugs.webkit.org/show_bug.cgi?id=33826

This bug was caused by a GC-protected object being destroyed early by
Heap::destroy. Clients of the GC protect APIs (reasonably) expect pointers
to GC-protected memory to be valid.

The solution is to do two passes of tear-down in Heap::destroy. The first
pass tears down all unprotected objects. The second pass ASSERTs that all
previously protected objects are now unprotected, and then tears down
all perviously protected objects. These two passes simulate the two passes
that would have been required to free a protected object during normal GC.


  • API/JSContextRef.cpp: Removed some ASSERTs that have moved into Heap.
  • runtime/Collector.cpp: (JSC::Heap::destroy): Moved ASSERTs to here. (JSC::Heap::freeBlock): Tidied up the use of didShrink by moving its setter to the function that does the shrinking. (JSC::Heap::freeBlocks): Implemented above algorithm. (JSC::Heap::shrinkBlocks): Tidied up the use of didShrink.

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

Reviewed by Oliver Hunt.

REGRESSION (52082): Crash on worker thread when reloading http://radnan.public.iastate.edu/procedural/
https://bugs.webkit.org/show_bug.cgi?id=33826

Test: fast/workers/worker-gc2.html

  • bindings/js/WorkerScriptController.cpp: (WebCore::WorkerScriptController::~WorkerScriptController): Removed some ASSERTs that have moved to JavaScriptCore.

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

Reviewed by Oliver Hunt.

REGRESSION (52082): Crash on worker thread when reloading http://radnan.public.iastate.edu/procedural/
https://bugs.webkit.org/show_bug.cgi?id=33826


Added a test for this edge case.

  • fast/workers/resources/worker-gc2.js: Added. (Dummy):
  • fast/workers/worker-gc2.html: Added.
9:51 PM Changeset in webkit [53454] by barraclough@apple.com
  • 5 edits in trunk/JavaScriptCore

https://bugs.webkit.org/show_bug.cgi?id=33731
Remove UntypedPtrAndBitfield from UStringImpl (akin to PtrAndFlags).

Patch by Gavin Barraclough <barraclough@apple.com> on 2010-01-18
Reviewed by Oliver Hunt.

This break the OS X Leaks tool. Instead, free up some more bits from the refCount.

  • runtime/UStringImpl.cpp:

(JSC::UStringImpl::sharedBuffer):
(JSC::UStringImpl::~UStringImpl):

  • runtime/UStringImpl.h:

(JSC::UStringImpl::cost):
(JSC::UStringImpl::checkConsistency):
(JSC::UStringImpl::UStringImpl):
(JSC::UStringImpl::bufferOwnerString):
(JSC::UStringImpl::):

  • wtf/StringHashFunctions.h:

(WTF::stringHash):

8:32 PM Changeset in webkit [53453] by dbates@webkit.org
  • 1 edit
    1 add in trunk/LayoutTests

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

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

Unreviewed. Add expected results for Windows.

  • platform/win/fast/lists/w3-css3-list-styles-alphabetic-expected.txt: Added.
7:10 PM Changeset in webkit [53452] by dbates@webkit.org
  • 10 edits
    2 adds in trunk

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

Reviewed by Darin Adler.

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

Implements all of the alphabetic CSS3 list-style-types as per
section 4.4 of the CSS3 Lists module <http://www.w3.org/TR/css3-lists/#alphabetic>.

Test: fast/lists/w3-css3-list-styles-alphabetic.html

  • css/CSSParser.cpp: (WebCore::CSSParser::parseValue): Updated comment to include added list-style-types.
  • css/CSSPrimitiveValueMappings.h: (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Added new list style types, alphabetized enums, and removed indent to conform to the WebKit Code Style Guidelines.
  • css/CSSValueKeywords.in:
  • inspector/front-end/CSSSourceSyntaxHighlighter.js: (WebInspector.CSSSourceSyntaxHighlighter): Added new list style types and alphabetized array valueKeywords.
  • platform/text/CharacterNames.h: Added constant ethiopicPrefaceColon.
  • rendering/RenderListMarker.cpp: (WebCore::toAlphabetic): (WebCore::listMarkerSuffix): Added. (WebCore::listMarkerText): (WebCore::RenderListMarker::paint): Modified to call WebCore::listMarkerSuffix. (WebCore::RenderListMarker::calcPrefWidths): Ditto. (WebCore::RenderListMarker::getRelativeMarkerRect): Ditto.
  • rendering/style/RenderStyle.h: (WebCore::):
  • rendering/style/RenderStyleConstants.h: (WebCore::):

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

Reviewed by Darin Adler.

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

Tests that all of the alphabetic CSS3 list-style-types are supported.

  • fast/lists/w3-css3-list-styles-alphabetic.html: Added.
  • platform/mac/fast/lists/w3-css3-list-styles-alphabetic-expected.txt: Added.
7:08 PM Changeset in webkit [53451] by dbates@webkit.org
  • 2 edits in trunk/WebCore

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

Unreviewed, fix misspelling of the word maximum in comment.

  • html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::maximum):
6:59 PM Changeset in webkit [53450] by mitz@apple.com
  • 17 edits in trunk

Rubber-stamped by Sam Weinig.

<rdar://problem/7476957> REGRESSION (r49567): Business widget list does not line up: too tall due to line height rounding change

WebCore:

Reverted r49567.

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeLogicalBoxHeights):

  • rendering/RenderBR.cpp:

(WebCore::RenderBR::lineHeight):

  • rendering/style/RenderStyle.h:

(WebCore::InheritedFlags::computedLineHeight):

LayoutTests:

Reverted r49567, but left in the test added in that revision, now with a failing result.

  • css1/font_properties/font.html:
  • fast/css/line-height-rounding-expected.txt:
  • platform/mac/css1/font_properties/font-expected.txt:
  • platform/mac/css2.1/t090501-c414-flt-ln-00-d-expected.txt:
  • platform/mac/css2.1/t090501-c414-flt-ln-01-d-g-expected.txt:
  • platform/mac/css2.1/t090501-c414-flt-ln-02-d-expected.txt:
  • platform/mac/css2.1/t090501-c414-flt-ln-03-d-expected.txt:
  • platform/mac/svg/custom/scrolling-embedded-svg-file-image-repaint-problem-expected.checksum:
  • platform/mac/svg/custom/scrolling-embedded-svg-file-image-repaint-problem-expected.txt:
  • platform/mac/svg/custom/svg-fonts-in-html-expected.checksum:
  • platform/mac/svg/custom/svg-fonts-in-html-expected.txt:
6:56 PM Changeset in webkit [53449] by steveblock@google.com
  • 4 edits
    1 add in trunk/WebCore

Moves JSC-specific implementation of JavaString to a private implementation class.
https://bugs.webkit.org/show_bug.cgi?id=33558

Reviewed by Adam Barth.

Also modifies JavaField::name and JavaMethod::name to return const JavaString&, rather than UString::Rep*,
which is JSC-specific. This allows this code to be used with both JSC and V8, as required by Android.

No new tests, refactoring only.

  • WebCore.xcodeproj/project.pbxproj: Modified. Added JavaStringJSC.h
  • bridge/jni/jni_class.cpp: Modified.

(JavaClass::JavaClass): Modified. Updates call sites of JavaField::name and JavaMethod::name.

  • bridge/jni/jni_runtime.h: Modified.

(JSC::Bindings::JavaString::JavaString): Modified. Pass through to implementation.
(JSC::Bindings::JavaString::UTF8String): Modified. Pass through to implementation.
(JSC::Bindings::JavaString::uchars): Modified. Pass through to implementation.
(JSC::Bindings::JavaString::length): Modified. Pass through to implementation.
(JSC::Bindings::JavaString::operator UString): Modified. Pass through to implementation.
(JSC::Bindings::JavaField::name): Modified. Pass through to implementation.
(JSC::Bindings::JavaMethod::name): Modified. Pass through to implementation.

  • bridge/jni/jsc/JavaStringJSC.h: Added.

(JSC::Bindings::JavaStringImpl::~JavaStringImpl):
(JSC::Bindings::JavaStringImpl::init):
(JSC::Bindings::JavaStringImpl::UTF8String):
(JSC::Bindings::JavaStringImpl::uchars):
(JSC::Bindings::JavaStringImpl::length):
(JSC::Bindings::JavaStringImpl::uString):

6:53 PM Changeset in webkit [53448] by eric@webkit.org
  • 4 edits in trunk

2010-01-18 Yuzo Fujishima <yuzo@google.com>

Reviewed by Darin Adler.

Skip an error after invalid blocks in a CSS expression.
https://bugs.webkit.org/show_bug.cgi?id=33650

  • fast/css/parsing-error-recovery.html:

2010-01-18 Yuzo Fujishima <yuzo@google.com>

Reviewed by Darin Adler.

Skip an error after invalid blocks in a CSS expression.
https://bugs.webkit.org/show_bug.cgi?id=33650

  • css/CSSGrammar.y:
6:22 PM Changeset in webkit [53447] by barraclough@apple.com
  • 5 edits in trunk/WebCore

https://bugs.webkit.org/show_bug.cgi?id=33731
Remove uses of PtrAndFlags from WebCore::StringImpl.

Reviewed by Darin Adler & Oliver Hunt.

These break the OS X Leaks tool. Move the management of null-terminated copies
out from StringImpl to String, and use a bit stolen from the refCount to hold the
'InTable' flag.

  • platform/sql/SQLiteFileSystem.cpp:

(WebCore::SQLiteFileSystem::openDatabase):

  • platform/sql/SQLiteStatement.cpp:

(WebCore::SQLiteStatement::prepare):

  • platform/sql/SQLiteStatement.h:
  • platform/text/PlatformString.h:
  • platform/text/String.cpp:

(WebCore::String::copyWithNullTermination):

  • platform/text/StringImpl.cpp:

(WebCore::StringImpl::StringImpl):
(WebCore::StringImpl::~StringImpl):
(WebCore::StringImpl::create):
(WebCore::StringImpl::crossThreadString):
(WebCore::StringImpl::sharedBuffer):

  • platform/text/StringImpl.h:

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

6:20 PM WikiStart edited by skyul@company100.net
(diff)
6:17 PM Changeset in webkit [53446] by Nikolas Zimmermann
  • 32 edits
    12 adds in trunk

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

Reviewed by Dirk Schulze.

Rewrite SVG <use> support in a modern-fashion
https://bugs.webkit.org/show_bug.cgi?id=33776

Tests: svg/custom/relative-sized-deep-shadow-tree-content.xhtml

svg/custom/relative-sized-shadow-tree-content.xhtml

Fixes: svg/W3C-SVG-1.1/animate-elem-30-t.svg (animated circle sometimes takes wrong path)

Rewrite <use> support in less intrusive way. Try hard to avoid recloning where possible, and do it lazily.
Introduce RenderSVGShadowTreeRootContainer as special renderer for SVGUseElement, that now manages the
render tree, instead of SVGUseElement manually hacking around it's own renderer from the DOM side.

Instead of recloning the whole shadow tree for every attribute change (DOM setAttribute / SVG DOM changes / CSS changes / childrenChanged()...)
just notify the RenderSVGShadowTreeRootContainer that it's supposed to reclone the tree upon the next updateFromElement() call.

updateFromElement() is fired from SVGUseElement::attach() / recalcStyle(), as it's done for HTMLFormControlElement/HTMLMediaElement, thus
lazily recloning the shadow tree if necessary.

Animations for <use> elements was a real performance bottlenck as the tree got recloned on every attribute change. Reclones are _completly_
avoided for animations now - the SVGAnim*Element classes already updated the instances of an element manually, though that resulted in a reclone
nontheless, and thus killing performance. <use> elements can only be recloned through mutations of the elements that they reference to.
For example referencing a <rect> element from a <use> element and scripting the <rect> element (setAttribute, or child tree mutations etc.).
We reclone instead of trying to synchronize trees - as it's currenty implemented - because it's very hard to do it right.

Any DOM / SVG DOM / CSS change on the <use> element don't reclone the tree anymore, this is a huge speed benefit.
x/y attribute changes are correctly handled in the render tree now (by an additional local transformation), now percentual values work
as expected, and resize on window changes - affecting lots of testcases.

The <use> implementation is much safer now, not doing any mutations synchronously from svgAttributeChanged etc.
Remove hack to force garbage collection on SVGElementInstance destruction - can't reproduce it anymore.

  • Android.mk: Add new files to build.
  • GNUmakefile.am: Ditto.
  • WebCore.gypi: Ditto.
  • WebCore.pro: Ditto.
  • WebCore.vcproj/WebCore.vcproj: Ditto.
  • WebCore.xcodeproj/project.pbxproj: Ditto.
  • rendering/RenderSVGShadowTreeRootContainer.cpp: Added. This is the rendered now created by SVGUseElement. (WebCore::RenderSVGShadowTreeRootContainer::RenderSVGShadowTreeRootContainer): (WebCore::RenderSVGShadowTreeRootContainer::~RenderSVGShadowTreeRootContainer): (WebCore::RenderSVGShadowTreeRootContainer::updateStyle): Used form SVGUseElement to request style recalculations for the shadow tree renderers (WebCore::RenderSVGShadowTreeRootContainer::updateFromElement): Used from SVGUseElement attach/recalcStyle to eventually request shadow tree updates. (WebCore::RenderSVGShadowTreeRootContainer::styleDidChange): Used to propage style updates across shadow tree boundaries.
  • rendering/RenderSVGShadowTreeRootContainer.h: Added. (WebCore::RenderSVGShadowTreeRootContainer::markShadowTreeForRecreation): Marks the shadow tree for a reclone, next time updateFromElement is used.
  • rendering/RenderSVGTransformableContainer.cpp: (WebCore::RenderSVGTransformableContainer::calculateLocalTransform): Take containerTranslation() into account, supplied by RenderSVGSDhadowTreeContainer.
  • rendering/SVGShadowTreeElements.cpp: Added. This is the root element of the SVG shadow tree residing as (hidden) child of SVGUseElement (DOM wise). (WebCore::SVGShadowTreeContainerElement::SVGShadowTreeContainerElement): (WebCore::SVGShadowTreeContainerElement::~SVGShadowTreeContainerElement): (WebCore::SVGShadowTreeContainerElement::containerTranslation): Used from calculateLocalTransform() to take x/y translation into account for shadow tree container elements. (WebCore::SVGShadowTreeRootElement::SVGShadowTreeRootElement): (WebCore::SVGShadowTreeRootElement::~SVGShadowTreeRootElement): (WebCore::SVGShadowTreeRootElement::attachElement): Used by RenderSVGShadowTreeRootContainer, instead of attach(), as we're a shadow tree root node.
  • rendering/SVGShadowTreeElements.h: Added. This is the root element of each SVG shadow sub-tree (whenever a <use> element is expanded in the shadow tree). (WebCore::SVGShadowTreeContainerElement::isShadowTreeContainerElement): Return true here. (WebCore::SVGShadowTreeContainerElement::setContainerOffset): Used from SVGUseElement to propagate x/y translation values set on <use> elements in the shadow tree. (WebCore::SVGShadowTreeRootElement::isShadowNode): Identify us as shadow node. (WebCore::SVGShadowTreeRootElement::shadowParentNode): Ditto. Return actual shadow parent node (== corresponding use element).
  • svg/SVGElement.cpp: Shrink size of all SVG*Elements, by removing the m_shadowParent parent. SVGShadowTreeRootElement is the new base class for shadow tree. (WebCore::SVGElement::SVGElement): (WebCore::SVGElement::eventParentNode): Call virtual shadowParentNode() method, instead of accessing m_shadowParent.
  • svg/SVGElement.h: Remove isShadowNode() / shadowParentNode() / setShadowParentNode().
  • svg/SVGElementInstance.cpp: Remove the hack, calling garbage collection before destruction. Can't reproduce this anymore, let's see what the bots say. (WebCore::SVGElementInstance::SVGElementInstance): Remove now unnecessary m_needsUpdate flag. (WebCore::SVGElementInstance::invalidateAllInstancesOfElement): Don't invalidate if instance updates are blocked (see SVGStyledElement changes)
  • svg/SVGElementInstance.h: Remove m_needsUpdate, and forgetWrapper() method.
  • svg/SVGGElement.h: (WebCore::SVGGElement::isShadowTreeContainerElement): Add new virtual method here returning false by default, SVGShadowTreeContainerElement will override it.
  • svg/SVGStyledElement.cpp: Remove gElementsWithInstanceUpdatesBlocked HashSet tracking the state of instancesUpdatesBlocked() per SVGStyledElement - make it a member variable.
  • svg/SVGStyledElement.h: Add inline getter/setters around m_instanceUpdatesBlocked. (WebCore::SVGStyledElement::instanceUpdatesBlocked): (WebCore::SVGStyledElement::setInstanceUpdatesBlocked):
  • svg/SVGUseElement.cpp: Full rewrite of <use> support, a detailed discussion would blow the ChangeLog - see short version above. (WebCore::SVGUseElement::SVGUseElement): (WebCore::SVGUseElement::instanceRoot): (WebCore::SVGUseElement::insertedIntoDocument): (WebCore::SVGUseElement::removedFromDocument): (WebCore::SVGUseElement::svgAttributeChanged): (WebCore::updateContainerOffset): (WebCore::SVGUseElement::updateContainerOffsets): (WebCore::SVGUseElement::recalcStyle): (WebCore::dumpInstanceTree): (WebCore::SVGUseElement::buildPendingResource): (WebCore::SVGUseElement::buildShadowAndInstanceTree): (WebCore::SVGUseElement::createRenderer): (WebCore::updateFromElementCallback): (WebCore::SVGUseElement::attach): (WebCore::SVGUseElement::detach): (WebCore::SVGUseElement::toClipPath): (WebCore::SVGUseElement::buildInstanceTree): (WebCore::SVGUseElement::handleDeepUseReferencing): (WebCore::SVGUseElement::buildShadowTree): (WebCore::SVGUseElement::expandUseElementsInShadowTree): (WebCore::SVGUseElement::expandSymbolElementsInShadowTree): (WebCore::SVGUseElement::instanceForShadowTreeElement): (WebCore::SVGUseElement::invalidateShadowTree): (WebCore::SVGUseElement::transferUseAttributesToReplacedElement):
  • svg/SVGUseElement.h: (WebCore::SVGUseElement::isPendingResource):

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

Reviewed by Dirk Schulze.

Rewrite SVG <use> support in a modern-fashion
https://bugs.webkit.org/show_bug.cgi?id=33776

Update some test results, after rewriting <use> support.

  • platform/mac/svg/W3C-SVG-1.1/animate-elem-40-t-expected.txt:
  • platform/mac/svg/custom/relative-sized-deep-shadow-tree-content-expected.checksum: Added.
  • platform/mac/svg/custom/relative-sized-deep-shadow-tree-content-expected.png: Added.
  • platform/mac/svg/custom/relative-sized-deep-shadow-tree-content-expected.txt: Added.
  • platform/mac/svg/custom/relative-sized-shadow-tree-content-expected.checksum: Added.
  • platform/mac/svg/custom/relative-sized-shadow-tree-content-expected.png: Added.
  • platform/mac/svg/custom/relative-sized-shadow-tree-content-expected.txt: Added.
  • platform/mac/svg/custom/use-events-crash-expected.txt:
  • platform/mac/svg/custom/use-on-disallowed-foreign-object-1-expected.txt:
  • platform/mac/svg/custom/use-on-disallowed-foreign-object-3-expected.txt:
  • platform/mac/svg/custom/use-on-non-svg-namespaced-element-expected.txt:
  • platform/mac/svg/custom/use-recursion-1-expected.txt:
  • platform/mac/svg/custom/use-recursion-2-expected.txt:
  • platform/mac/svg/custom/use-recursion-3-expected.txt:
  • platform/mac/svg/custom/use-recursion-4-expected.txt:
  • platform/mac/svg/hixie/error/017-expected.txt:
  • platform/mac/svg/text/text-text-05-t-expected.checksum:
  • platform/mac/svg/text/text-text-05-t-expected.png:
  • svg/custom/relative-sized-deep-shadow-tree-content.xhtml: Added.
  • svg/custom/relative-sized-shadow-tree-content.xhtml: Added.
  • svg/text/text-text-05-t.svg: Remove possible race-condition, between selecting & dumping.
5:49 PM Changeset in webkit [53445] by tkent@chromium.org
  • 14 edits in trunk

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

Reviewed by Darin Adler.

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

Expose the following functions to be used by WebCore:

  • WTF::msToyear()
  • WTF::dayInYear()
  • WTF::monthFromDayInYear()
  • WTF::dayInMonthFromDayInYear()
  • JavaScriptCore.exp:
  • JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
  • wtf/DateMath.cpp: (WTF::msToYear): Remove "static inline". (WTF::dayInYear): Remove "static inline". (WTF::monthFromDayInYear): Remove "static inline". (WTF::dayInMonthFromDayInYear): Remove "static inline".
  • wtf/DateMath.h: Declare the above functions.

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

Reviewed by Darin Adler.

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

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

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

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

Reviewed by Darin Adler.

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

Introduce ISODateTime::setMillisecondsSinceEpochForMonth() and
toString() for the Month type, and HTMLInputElement::setValueAsDate()
calls them.

  • html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::setValueAsDate):
  • html/ISODateTime.cpp: (WebCore::beforeGregorianStartDate): (WebCore::ISODateTime::addDay): Use beforeGregorianStartDate(). (WebCore::ISODateTime::parseMonth): Use beforeGregorianStartDate(). (WebCore::ISODateTime::setMillisecondsSinceEpochForDateInternal): (WebCore::ISODateTime::setMillisecondsSinceEpochForMonth): (WebCore::ISODateTime::toString): Implement only for the Month type.
  • html/ISODateTime.h:
5:19 PM Changeset in webkit [53444] by Darin Adler
  • 2 edits in trunk/JavaScriptCore

Fix build by reverting the previous change.

  • runtime/UString.h: Rolled out the FastAllocBase base class.

It was making UString larger, and therefore JSString larger,
and too big for a garbage collection cell.

This raises the unpleasant possibility that many classes became
larger because we added the FastAllocBase base class. I am
worried about this, and it needs to be investigated.

5:12 PM Changeset in webkit [53443] by steveblock@google.com
  • 5 edits
    2 moves in trunk/WebCore

Script attributes are copied and pasted, making cross-domain attacks possible (30019)
<rdar://problem/6008809>
https://bugs.webkit.org/show_bug.cgi?id=30019

Patch by Enrica Casucci <enrica@apple.com> on 2010-01-18
Reviewed by Darin Adler.

When we create the document fragment from a markup string,
either to perform a paste operation or a drag and drop, we
want to remove all the event handlers and any attribute that contain
a value that leads to code execution.
The HTMLParser class is now aware of the needs of stripping these attributes.
I've modified the call to createMarkupString for every platform.

Test: editing/pasteboard/paste-noscript.html

  • WebCore.base.exp:
  • dom/Element.cpp:

(WebCore::isEventHandlerAttribute):
(WebCore::Element::setAttributeMap):

  • dom/Element.h:
  • dom/MappedAttributeEntry.h:

(WebCore::):

  • editing/markup.cpp:

(WebCore::createFragmentFromMarkup):

  • editing/markup.h:
  • html/HTMLElement.cpp:

(WebCore::HTMLElement::createContextualFragment):

  • html/HTMLElement.h:
  • html/HTMLParser.cpp:

(WebCore::HTMLParser::HTMLParser):
(WebCore::HTMLParser::parseToken):

  • html/HTMLParser.h:
  • html/HTMLTokenizer.cpp:

(WebCore::HTMLTokenizer::HTMLTokenizer):
(WebCore::parseHTMLDocumentFragment):

  • html/HTMLTokenizer.h:
  • platform/chromium/DragDataChromium.cpp:

(WebCore::DragData::asFragment):

  • platform/chromium/PasteboardChromium.cpp:

(WebCore::Pasteboard::documentFragment):

  • platform/gtk/PasteboardGtk.cpp:

(WebCore::Pasteboard::documentFragment):

  • platform/mac/PasteboardMac.mm:

(WebCore::Pasteboard::documentFragment):

  • platform/qt/DragDataQt.cpp:

(WebCore::DragData::asFragment):

  • platform/qt/PasteboardQt.cpp:

(WebCore::Pasteboard::documentFragment):

  • platform/win/ClipboardUtilitiesWin.cpp:

(WebCore::fragmentFromCF_HTML):
(WebCore::fragmentFromHTML):

5:07 PM Changeset in webkit [53442] by enrica@apple.com
  • 23 edits
    2 adds in trunk

Script attributes are copied and pasted, making cross-domain attacks possible (30019)
<rdar://problem/6008809>
https://bugs.webkit.org/show_bug.cgi?id=30019

Reviewed by Darin Adler.

WebCore:

When we create the document fragment from a markup string,
either to perform a paste operation or a drag and drop, we
want to remove all the event handlers and any attribute that contain
a value that leads to code execution.
The HTMLParser class is now aware of the needs of stripping these attributes.
I've modified the call to createMarkupString for every platform.

Test: editing/pasteboard/paste-noscript.html

  • WebCore.base.exp:
  • dom/Element.cpp:

(WebCore::isEventHandlerAttribute):
(WebCore::Element::setAttributeMap):

  • dom/Element.h:
  • dom/MappedAttributeEntry.h:

(WebCore::):

  • editing/markup.cpp:

(WebCore::createFragmentFromMarkup):

  • editing/markup.h:
  • html/HTMLElement.cpp:

(WebCore::HTMLElement::createContextualFragment):

  • html/HTMLElement.h:
  • html/HTMLParser.cpp:

(WebCore::HTMLParser::HTMLParser):
(WebCore::HTMLParser::parseToken):

  • html/HTMLParser.h:
  • html/HTMLTokenizer.cpp:

(WebCore::HTMLTokenizer::HTMLTokenizer):
(WebCore::parseHTMLDocumentFragment):

  • html/HTMLTokenizer.h:
  • platform/chromium/DragDataChromium.cpp:

(WebCore::DragData::asFragment):

  • platform/chromium/PasteboardChromium.cpp:

(WebCore::Pasteboard::documentFragment):

  • platform/gtk/PasteboardGtk.cpp:

(WebCore::Pasteboard::documentFragment):

  • platform/mac/PasteboardMac.mm:

(WebCore::Pasteboard::documentFragment):

  • platform/qt/DragDataQt.cpp:

(WebCore::DragData::asFragment):

  • platform/qt/PasteboardQt.cpp:

(WebCore::Pasteboard::documentFragment):

  • platform/win/ClipboardUtilitiesWin.cpp:

(WebCore::fragmentFromCF_HTML):
(WebCore::fragmentFromHTML):

WebKit/mac:

  • WebView/WebFrame.mm:

(-[WebFrame _documentFragmentWithMarkupString:baseURLString:]): Modified the call to createMarkupString.

LayoutTests:

  • editing/pasteboard/paste-noscript-expected.txt: Added.
  • editing/pasteboard/paste-noscript.html: Added.
5:05 PM Changeset in webkit [53441] by sfalken@apple.com
  • 3 edits in trunk/WebCore

<https://bugs.webkit.org/show_bug.cgi?id=33816>
Crashes in Geolocation code due to refcounting, observer balance issues.

Reviewed by Sam Weinig.

Hold a ref to the GeoNotifier while dispatching a callback. The code was
copying a data member to avoid accessing a freed this ptr, but was still
using the this ptr.

Geolocation::removeObserver calls are not always balanced with addObserver.
Instead of asserting and continuing, don't try to remove non-existant
observers.

  • page/Geolocation.cpp:

(WebCore::Geolocation::GeoNotifier::timerFired): Protect notifier.

  • page/GeolocationController.cpp:

(WebCore::GeolocationController::removeObserver): Change ASSERT into an if with early return.

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

Rubber-stamped by Sam Weinig.

Add missing export for Geolocation.

  • WebKit.exp:
4:53 PM Changeset in webkit [53439] by ap@apple.com
  • 5 edits
    2 adds in trunk

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=33815
Crash when using DOMTimer from a detached frame

Test: fast/dom/Window/timer-null-script-execution-context.html

  • bindings/js/JSDOMWindowCustom.cpp: (WebCore::JSDOMWindow::setTimeout): (WebCore::JSDOMWindow::setInterval):
  • page/DOMWindow.h:
  • page/DOMWindow.idl: Make setTimer and setInterval raise an exception. It is not specified in HTML5, but both IE and Firefox do raise an exception in this situation, although different ones.
  • page/DOMWindow.cpp: (WebCore::DOMWindow::setTimeout): Raise INVALID_ACCESS_ERR if script execution context is null (meaning that the window is detached). (WebCore::DOMWindow::setInterval): Ditto. (WebCore::DOMWindow::clearTimeout): Silently return early if there is no script execution context. (WebCore::DOMWindow::clearInterval): Ditto. Raise INVALID_ACCESS_ERR if script execution context is null (meaning .
4:50 PM Changeset in webkit [53438] by eric@webkit.org
  • 2 edits in trunk/JavaScriptCore

2010-01-18 Zoltan Horvath <zoltan@webkit.org>

Reviewed by Darin Adler.

Allow custom memory allocation control for UString class
https://bugs.webkit.org/show_bug.cgi?id=27831

Inherits the following class from FastAllocBase because it is
instantiated by 'new' and no need to be copyable:

class name - instantiated at:
classs UString - JavaScriptCore/runtime/UString.cpp:160

  • runtime/UString.h:
4:02 PM Changeset in webkit [53437] by Darin Adler
  • 4 edits in trunk/JavaScriptCore

Add some ALWAYS_INLINE for key functions not inlined by some versions of GCC.
rdar://problem/7553780

Patch by Evan Cheng <evan.cheng@apple.com> on 2010-01-18
Reviewed by Darin Adler.

  • runtime/JSObject.h:

(JSC::JSObject::getPropertySlot): ALWAYS_INLINE both overloads.

  • runtime/JSString.h:

(JSC::JSString::JSString): ALWAYS_INLINE the version that takes a UString.

  • runtime/UString.h:

(JSC::operator==): ALWAYS_INLINE the version that compares two UString objects.

3:49 PM Changeset in webkit [53436] by eric@webkit.org
  • 5 edits in trunk/WebCore

2010-01-18 Steve Block <steveblock@google.com>

Reviewed by Adam Barth.

Fix style in WebCore/bridge/jni/jsc/JavaInstanceJSC.[cpp|h]
https://bugs.webkit.org/show_bug.cgi?id=33792

No new tests, style fixes only.

  • bridge/jni/jni_runtime.cpp: Modified. (JavaField::dispatchValueFromInstance): Modified. Updated to use renamed JavaInstance::m_instance (JavaField::dispatchSetValueToInstance): Modified. Updated to use renamed JavaInstance::m_instance (JavaArray::JavaArray): Modified. Updated to use renamed JavaInstance::m_instance
  • bridge/jni/jni_runtime.h: Modified. (JSC::Bindings::JavaArray::javaArray): Modified. Updated to use renamed JavaInstance::m_instance
  • bridge/jni/jsc/JavaInstanceJSC.cpp: Modified. Fixed style
  • bridge/jni/jsc/JavaInstanceJSC.h: Modified. Fixed style
3:14 PM Changeset in webkit [53435] by bweinstein@apple.com
  • 1 edit
    1 add in trunk/LayoutTests

Rubber-stamped by Tim Hatcher.

Updated Windows results after r53424.

  • platform/win/fast/css/zoom-body-scroll-expected.txt: Added.
3:09 PM Changeset in webkit [53434] by cmarrin@apple.com
  • 2 edits in trunk/WebCore

https://bugs.webkit.org/show_bug.cgi?id=30073
Moved reshape to HTMLCanvasElement::reset and have it always
set the size to the canvas width and height attrs.

This is not testable with LayoutTests, so I instead added logic
to the demo at:

https://cvs.khronos.org/svn/repos/registry/trunk/public/webgl/sdk/demos/webkit/SpinningBox.html

2:51 PM Changeset in webkit [53433] by ap@apple.com
  • 3 edits
    2 adds in trunk

Reviewed by Geoffrey Garen.

https://bugs.webkit.org/show_bug.cgi?id=33813
<rdar://problem/7545104> Crash when using DOMApplicationCache from a destroyed frame

Test: http/tests/appcache/destroyed-frame.html

  • loader/appcache/DOMApplicationCache.cpp: (WebCore::DOMApplicationCache::scriptExecutionContext): Return null when there is no frame.
2:20 PM Changeset in webkit [53432] by mitz@apple.com
  • 3 edits
    4 adds in trunk

REGRESSION (r53420): incomplete repaint of bottom of bugs.webkit.org comment field
https://bugs.webkit.org/show_bug.cgi?id=33809

Reviewed by Darin Adler.

WebCore:

Test: fast/repaint/trailing-floats-root-line-box-overflow.html

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlock::layoutInlineChildren): Copy bottom overflow from the last
root box to the trailing floats box, which is becoming the last root box. This is
needed because painting code assumes that the last line in a block is the one with the
lowest overflow bottom.

LayoutTests:

  • fast/repaint/trailing-floats-root-line-box-overflow-expected.checksum: Added.
  • fast/repaint/trailing-floats-root-line-box-overflow-expected.png: Added.
  • fast/repaint/trailing-floats-root-line-box-overflow-expected.txt: Added.
  • fast/repaint/trailing-floats-root-line-box-overflow.html: Added.
2:14 PM Changeset in webkit [53431] by Csaba Osztrogonác
  • 2 edits in trunk/WebCore

[Qt] Unreviewed trivial buildfix. (r53429)

  • WebCore.pri: missing XMLNS_NAMES added.
2:12 PM Changeset in webkit [53430] by ggaren@apple.com
  • 5 edits in trunk/WebCore

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

Reviewed by Darin Adler.

Removed unnecessary use of scriptExecutionContext() when creating a JS event listener.
https://bugs.webkit.org/show_bug.cgi?id=33811

This change simplifies a bunch of code, and also reduces
the number of places that use the difficult-to-understand and possibly
crashy-null scriptExecutionContext() idiom.

  • bindings/js/JSDOMGlobalObject.cpp:
  • bindings/js/JSDOMGlobalObject.h:
  • bindings/js/JSEventListener.h: (WebCore::createJSAttributeEventListener):
  • bindings/scripts/CodeGeneratorJS.pm:
2:05 PM Changeset in webkit [53429] by ap@apple.com
  • 18 edits
    1 add in trunk/WebCore

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=33787
Add constants for more XML strings

No change in functionality, so no tests.

  • WebCore/xml/xmlnsattrs.in: Added a new file for xmlns namespace and attribute - XMLNames.{h,cpp} are auto-generated, and I dodn't see a reasonable way to extend it.
  • platform/text/AtomicString.cpp: (WebCore::AtomicString::init):
  • platform/text/AtomicString.h: Added atomic strings for "xml" and "xmlns".
  • page/Frame.cpp: (WebCore::Frame::Frame): Call XMLNSNames::init().
  • dom/Attr.cpp: (WebCore::Attr::setPrefix):
  • dom/Document.cpp: (WebCore::Document::hasPrefixNamespaceMismatch): (WebCore::Document::createAttributeNS):
  • dom/Node.cpp: (WebCore::Node::checkSetPrefix): (WebCore::Node::isDefaultNamespace): (WebCore::Node::lookupNamespaceURI): (WebCore::Node::lookupNamespacePrefix):
  • dom/XMLTokenizerLibxml2.cpp: (WebCore::XMLTokenizer::XMLTokenizer): (WebCore::handleElementNamespaces):
  • editing/markup.cpp: (WebCore::shouldAddNamespaceAttr): (WebCore::appendNamespace):
  • xml/XPathStep.cpp: (WebCore::XPath::nodeMatchesBasicTest): (WebCore::XPath::Step::nodesInAxis): Use the new constants.
  • Android.derived.mk:
  • DerivedSources.make:
  • GNUmakefile.am:
  • WebCore.gyp/WebCore.gyp:
  • WebCore.pri:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • WebCoreSources.bkl: Added the new files to projects.
2:04 PM Changeset in webkit [53428] by andersca@apple.com
  • 2 edits in trunk/WebCore

Fix !ENABLE(3D_CANVAS) build.

  • rendering/RenderLayerBacking.cpp:

(WebCore::is3DCanvas):

1:58 PM Changeset in webkit [53427] by ap@apple.com
  • 2 edits in trunk/LayoutTests

Rubber-stamped by Adam Roben.

Change a newly added WebSocket test to work on Windows.

  • websocket/tests/multiple-connections.html: Decrease the number of simultaneous connections from 100 to 50. On Windows buildbot, only ~70 connections are allowed for some reason - but we only need much fewer to compare to HTTP simultaneous connection limit anyway.
1:54 PM Changeset in webkit [53426] by Csaba Osztrogonác
  • 2 edits in trunk/LayoutTests

[Qt] Skip test introduced in r53423 because of missing layoutTestController.setDomainRelaxationForbiddenForURLScheme()

  • platform/qt/Skipped: http/tests/security/setDomainRelaxationForbiddenForURLScheme.html added.
1:47 PM Changeset in webkit [53425] by Csaba Osztrogonác
  • 1 edit
    1 copy in trunk/LayoutTests

[Qt] Add platform dependent expected file because of different font size.

Reviewed by Ariya Hidayat.

  • platform/qt/fast/dynamic/float-in-trailing-whitespace-after-last-line-break-2-expected.txt: Copied from LayoutTests/fast/dynamic/float-in-trailing-whitespace-after-last-line-break-2-expected.txt.
1:36 PM Porting Macros plan edited by dbates@webkit.org
Changed OS(WIN) to OS(WINDOWS) since there is no such macro definition … (diff)
1:30 PM Changeset in webkit [53424] by timothy@apple.com
  • 4 edits in trunk

Adjust the scroll position when doing a full page zoom, so the content
stays in relatively the same position.

<rdar://problem/6150099> Zooming should keep the page content in the same place

Reviewed by Oliver Hunt.

  • page/Frame.cpp:

(WebCore::Frame::setZoomFactor): Apply the zoom percent difference to
the scroll position, only when doing a full page zoom.

1:26 PM Changeset in webkit [53423] by Adam Roben
  • 22 edits
    2 adds in trunk

Add WebKit SPI to disallow setting document.domain from certain URL schemes

Fixes <http://webkit.org/b/33806> <rdar://problem/7552837> Would like
API to disallow setting of document.domain for pages with certain URL
schemes

Reviewed by Sam Weinig.

WebCore:

Add SecurityOrigin::{set,is}DomainRelaxationForbiddenForURLScheme and
respect it

Test: http/tests/security/setDomainRelaxationForbiddenForURLScheme.html

  • WebCore.base.exp: Export

SecurityOrigin::setDomainRelaxationForbiddenForURLScheme.

  • dom/Document.cpp:

(WebCore::Document::setDomain): If domain relaxation is forbidden for
our security origin's scheme, throw an exception and don't allow
the domain to be set.

  • page/SecurityOrigin.cpp:

(WebCore::schemesForbiddenFromDomainRelaxation): Added. Returns a
global set of schemes.
(WebCore::SecurityOrigin::setDomainRelaxationForbiddenForURLScheme):
Add or remove the scheme to schemesForbiddenFromDomainRelaxation, as
appropriate.
(WebCore::SecurityOrigin::isDomainRelaxationForbiddenForURLScheme):
Returns true if the scheme is in schemesForbiddenFromDomainRelaxation.

  • page/SecurityOrigin.h: Added

{set,is}DomainRelaxationForbiddenForURLScheme.

WebKit/mac:

Add +[WebView _setDomainRelaxationForbidden:forURLScheme:]

  • WebView/WebView.mm:

(+[WebView _setDomainRelaxationForbidden:forURLScheme:]):

  • WebView/WebViewPrivate.h:

Added. Calls through to SecurityOrigin.

WebKit/win:

Add IWebViewPrivate::setDomainRelaxationForbiddenForURLScheme

  • Interfaces/IWebViewPrivate.idl: Added

setDomainRelaxationForbiddenForURLScheme.

  • Interfaces/WebKit.idl: Touched to force a build.
  • WebView.cpp:

(WebView::setDomainRelaxationForbiddenForURLScheme):

  • WebView.h:

Added. Calls through to SecurityOrigin.

WebKitTools:

Add LayoutTestController support for calling new WebKit SPI to
disallow setting document.domain

  • DumpRenderTree/LayoutTestController.cpp:

(setDomainRelaxationForbiddenForURLSchemeCallback): Added. Calls
through to LayoutTestController.
(LayoutTestController::staticFunctions): Added
setDomainRelaxationForbiddenForURLScheme.

  • DumpRenderTree/LayoutTestController.h: Added

setDomainRelaxationForbiddenForURLScheme.

  • DumpRenderTree/mac/LayoutTestControllerMac.mm:

(LayoutTestController::setDomainRelaxationForbiddenForURLScheme):

  • DumpRenderTree/win/LayoutTestControllerWin.cpp:

(LayoutTestController::setDomainRelaxationForbiddenForURLScheme):
Added. Calls through to WebKit.

  • DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:

(LayoutTestController::setDomainRelaxationForbiddenForURLScheme):

  • DumpRenderTree/wx/LayoutTestControllerWx.cpp:

(LayoutTestController::setDomainRelaxationForbiddenForURLScheme):
Stubbed out.

LayoutTests:

Add tests for new WebKit SPI to disallow setting document.domain

  • http/tests/security/setDomainRelaxationForbiddenForURLScheme-expected.txt: Added.
  • http/tests/security/setDomainRelaxationForbiddenForURLScheme.html: Added.
  • platform/gtk/Skipped: Skip the new test since WebKitGtk doesn't have

this API.

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

2010-01-18 Csaba Osztrogonác <Csaba Osztrogonác>

Reviewed by Darin Adler.

Delete dftables-xxxxxxxx.in files automatically.
https://bugs.webkit.org/show_bug.cgi?id=33796

  • pcre/dftables: unlink unnecessary temporary file.
12:57 PM Changeset in webkit [53421] by mitz@apple.com
  • 2 edits in trunk/WebCore

Address review comments on the last change

  • rendering/TrailingFloatsRootInlineBox.h:

(WebCore::TrailingFloatsRootInlineBox::TrailingFloatsRootInlineBox):

12:55 PM Changeset in webkit [53420] by mitz@apple.com
  • 7 edits
    5 adds in trunk

<rdar://problem/6892207> REGRESSION (Safari 4): Menus at sciencedirect.com push the main article context down the page
<rdar://problem/7546035> Second right floated image misplacment
https://bugs.webkit.org/show_bug.cgi?id=33245

Reviewed by Darin Adler.

WebCore:

Test: fast/dynamic/float-in-trailing-whitespace-after-last-line-break-2.html

When the last line of a block contains a line break and there are floats
after the line break, it is incorrect to put those floats in the last line's
floats vector (along with floats from before the break). Instead, create
an additional line box (a TrailingFloatsRootInlineBox) and put those floats
in its floats vector.

  • WebCore.vcproj/WebCore.vcproj: Added TrailingFloatsRootInlineBox.h
  • WebCore.xcodeproj/project.pbxproj: Ditto.
  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::markLinesDirtyInVerticalRange): Added an optional
parameter, which is the highest line to dirty.

  • rendering/RenderBlock.h:
  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlock::layoutInlineChildren): Create a TrailingFloatsRootInlineBox
for the floats occurring after the line break on the last line.
(WebCore::RenderBlock::determineStartPosition): Prevent dirtying of lines
above the first dirty line.

  • rendering/TrailingFloatsRootInlineBox.h: Added.

(WebCore::TrailingFloatsRootInlineBox::TrailingFloatsRootInlineBox): Call
setHasVirtualHeight().
(WebCore::TrailingFloatsRootInlineBox::virtualHeight): Return 0.

LayoutTests:

  • fast/dynamic/float-in-trailing-whitespace-after-last-line-break-2.html: Added.
  • fast/dynamic/float-in-trailing-whitespace-after-last-line-break-2-expected.checksum: Added.
  • fast/dynamic/float-in-trailing-whitespace-after-last-line-break-2-expected.png: Added.
  • fast/dynamic/float-in-trailing-whitespace-after-last-line-break-2-expected.txt: Added.
11:56 AM Changeset in webkit [53419] by ap@apple.com
  • 1 edit
    2 adds in trunk/LayoutTests

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=33804
Test that WebSocket is not subject to HTTP connection limit

  • websocket/tests/multiple-connections-expected.txt: Added.
  • websocket/tests/multiple-connections.html: Added.
11:56 AM QtWebKitBackportingFixes edited by Laszlo Gombos
(diff)
11:44 AM Changeset in webkit [53418] by barraclough@apple.com
  • 12 edits in trunk/WebCore

Eeeep! reverting r53416 & r53417, more to be done to fix windows.

Reviewed by NOBODY (build fix).

  • WebCore.base.exp:
  • platform/sql/SQLiteFileSystem.cpp:

(WebCore::SQLiteFileSystem::openDatabase):

  • platform/sql/SQLiteStatement.cpp:

(WebCore::SQLiteStatement::prepare):

  • platform/sql/SQLiteStatement.h:
  • platform/sql/chromium/SQLiteFileSystemChromium.cpp:

(WebCore::SQLiteFileSystem::openDatabase):

  • platform/text/PlatformString.h:
  • platform/text/String.cpp:

(WebCore::String::charactersWithNullTermination):

  • platform/text/StringImpl.cpp:

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

  • platform/text/StringImpl.h:

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

  • platform/win/ClipboardUtilitiesWin.cpp:

(WebCore::createGlobalData):

  • storage/OriginUsageRecord.cpp:

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

11:40 AM Changeset in webkit [53417] by barraclough@apple.com
  • 2 edits in trunk/WebCore
  • platform/win/ClipboardUtilitiesWin.cpp:

(WebCore::createGlobalData):

Reviewed by NOBODY (windows build fix).

11:27 AM Changeset in webkit [53416] by barraclough@apple.com
  • 11 edits in trunk/WebCore

https://bugs.webkit.org/show_bug.cgi?id=33731
Remove uses of PtrAndFlags from WebCore::StringImpl.

Reviewed by Darin Adler.

These break the OS X Leaks tool. Move the management of null-terminated copies
out from StringImpl to String, and use a bit stolen from the refCount to hold the
'InTable' flag.

  • platform/sql/SQLiteFileSystem.cpp:

(WebCore::SQLiteFileSystem::openDatabase):

  • platform/sql/SQLiteStatement.cpp:

(WebCore::SQLiteStatement::prepare):

  • platform/sql/SQLiteStatement.h:
  • platform/text/PlatformString.h:
  • platform/text/String.cpp:

(WebCore::String::copyWithNullTermination):

  • platform/text/StringImpl.cpp:

(WebCore::StringImpl::StringImpl):
(WebCore::StringImpl::~StringImpl):
(WebCore::StringImpl::create):
(WebCore::StringImpl::crossThreadString):
(WebCore::StringImpl::sharedBuffer):

  • platform/text/StringImpl.h:

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

10:48 AM Changeset in webkit [53415] by cmarrin@apple.com
  • 5 edits in trunk

Made root compositing layer scroll rather than scroll parent.
https://bugs.webkit.org/show_bug.cgi?id=32279


There's some general cleanup here so the frames, bounds and
positions of all the associated layers are correct.
I also changed API of setScrollFrame to use an IntRect.

10:36 AM Changeset in webkit [53414] by abarth@webkit.org
  • 3 edits in trunk/WebKitTools

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

Reviewed by Adam Roben.

Rename patches-to-commit to patches-in-commit-queue
https://bugs.webkit.org/show_bug.cgi?id=33789

The command really lists the patches in the commit-queue not all the
patches that are pending-commit (as the FIXME commands).

  • Scripts/webkitpy/commands/queries.py:
  • Scripts/webkitpy/commands/queries_unittest.py:
10:31 AM Changeset in webkit [53413] by eric@webkit.org
  • 2 edits in trunk/WebCore

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

Reviewed by Pavel Feldman.

WebInspector: Timeline panel scrolling speed can be 2 times faster.
https://bugs.webkit.org/show_bug.cgi?id=33794

10:15 AM Changeset in webkit [53412] by eric@webkit.org
  • 6 edits
    2 moves in trunk/WebCore

2010-01-18 Steve Block <steveblock@google.com>

Reviewed by Adam Barth.

Moves JSC-specific version of JavaInstance from bridge/jni/jni_instance to bridge/jni/jsc/JavaInstanceJSC
https://bugs.webkit.org/show_bug.cgi?id=33672

No new tests, refactoring only.

  • Android.jscbindings.mk: Modified. Removed jni_instance.cpp and added JavaInstanceJSC.cpp
  • GNUmakefile.am: Modified. Removed jni_instance.h and added JavaInstanceJSC.h
  • WebCore.xcodeproj/project.pbxproj: Modified. Removed jni_instance.[cpp|h] and added JavaInstanceJSC.[cpp|h]
  • bindings/js/ScriptControllerMac.mm: Modified. Includes JavaInstanceJSC.h
  • bridge/jni/jni_instance.cpp: Removed.
  • bridge/jni/jni_instance.h: Removed.
  • bridge/jni/jni_runtime.h: Modified. Includes JavaInstanceJSC.h
  • bridge/jni/jsc/JavaInstanceJSC.cpp: Copied from WebCore/bridge/jni/jni_instance.cpp.
  • bridge/jni/jsc/JavaInstanceJSC.h: Copied from WebCore/bridge/jni/jni_instance.h.
9:46 AM Changeset in webkit [53411] by pkasting@chromium.org
  • 9 edits in trunk/WebCore

Simplify image decoders slightly by using OwnPtr instead of raw pointers
and eliminating a basically-useless wrapper class in the GIF decoder.
https://bugs.webkit.org/show_bug.cgi?id=28751

Reviewed by Adam Barth.

  • platform/graphics/qt/ImageDecoderQt.cpp:

(WebCore::ImageDecoderQt::ImageDecoderQt):
(WebCore::ImageDecoderQt::~ImageDecoderQt):
(WebCore::ImageDecoderQt::setData):
(WebCore::ImageDecoderQt::internalReadImage):
(WebCore::ImageDecoderQt::failRead):

  • platform/graphics/qt/ImageDecoderQt.h:
  • platform/image-decoders/gif/GIFImageDecoder.cpp:

(WebCore::GIFImageDecoder::GIFImageDecoder):
(WebCore::GIFImageDecoder::~GIFImageDecoder):
(WebCore::GIFImageDecoder::setData):
(WebCore::GIFImageDecoder::frameCount):
(WebCore::GIFImageDecoder::repetitionCount):
(WebCore::GIFImageDecoder::decode):
(WebCore::GIFImageDecoder::decodingHalted):
(WebCore::GIFImageDecoder::initFrameBuffer):
(WebCore::GIFImageDecoder::haveDecodedRow):
(WebCore::GIFImageDecoder::gifComplete):

  • platform/image-decoders/gif/GIFImageDecoder.h:
  • platform/image-decoders/jpeg/JPEGImageDecoder.cpp:

(WebCore::JPEGImageDecoder::JPEGImageDecoder):
(WebCore::JPEGImageDecoder::~JPEGImageDecoder):
(WebCore::JPEGImageDecoder::setData):
(WebCore::JPEGImageDecoder::decode):

  • platform/image-decoders/jpeg/JPEGImageDecoder.h:
  • platform/image-decoders/png/PNGImageDecoder.cpp:

(WebCore::PNGImageDecoder::PNGImageDecoder):
(WebCore::PNGImageDecoder::~PNGImageDecoder):
(WebCore::PNGImageDecoder::setData):
(WebCore::PNGImageDecoder::decode):
(WebCore::PNGImageDecoder::headerAvailable):
(WebCore::PNGImageDecoder::rowAvailable):

  • platform/image-decoders/png/PNGImageDecoder.h:
9:20 AM Changeset in webkit [53410] by Adam Roben
  • 6 edits in trunk

DataTransfer interface broken on Windows--types member is always undefined, and getData() does not work.

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

Patch by Daniel Cheng <dcheng@google.com> on 2010-01-18
Reviewed by Adam Roben.

WebCore:

  • platform/win/ClipboardWin.cpp:

(WebCore::addMimeTypesForFormat): pass FORMATETC as a const ref.
(WebCore::ClipboardWin::types): fix calls to IEnumFORMATETC.
(WebCore::ClipboardWin::hasData): fix calls to IEnumFORMATETC.

LayoutTests:

  • fast/events/drag-and-drop-dataTransfer-types-nocrash-expected.txt: Updated test expectations.
  • fast/events/drag-and-drop-dataTransfer-types-nocrash.html: Added test cases.
  • platform/win/Skipped: Re-enabled fast/events/drag-and-drop-dataTransfer-types-nocrash.html
8:58 AM Changeset in webkit [53409] by eric@webkit.org
  • 2 edits in trunk/WebCore

2010-01-18 Mikhail Naganov <mnaganov@chromium.org>

Reviewed by Timothy Hatcher.

Don't show Profiles welcome screen on panel switch,
if a profile view is shown.

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

  • inspector/front-end/ProfilesPanel.js: (WebInspector.ProfilesPanel.prototype.show):
7:11 AM Changeset in webkit [53408] by vestbo@webkit.org
  • 6 edits in trunk

[Qt] Force qmake to generate a single makefile for DerivedSources.pro

Reviewed by Simon Hausmann.

JavaScriptCore:

  • DerivedSources.pro:

WebCore:

  • DerivedSources.pro:

WebKitTools:

  • Scripts/webkitdirs.pm:
7:05 AM Changeset in webkit [53407] by Adam Roben
  • 3 edits in trunk/WebKitTools

Clean up use of /useenv when invoking Visual C++

This change reverts things to their pre-r49485 state. That revision
(and, subsequently, r49664 and r51788) started passing /useenv to
Visual C++, even in cases where we don't want to do so (such as when
invoking Visual C++ Express), in the name of making the Chromium build
work. Now that Chromium isn't using buildVisualStudioProject or
pdevenv, we can put things back they way they were.

Fixes <http://webkit.org/b/33797> build-webkit fails with VC++ Express
(due to /useenv flag)

Reviewed by Sam Weinig.

  • Scripts/pdevenv: Always pass /useenv. Chromium doesn't use this

script anymore.

  • Scripts/webkitdirs.pm:

(buildVisualStudioProject): Never pass /useenv anymore. pdevenv takes
care of this itself, and we don't want to pass /useenv when not using
pdevenv (e.g., when using VC++ Express, because that will cause it to
ignore the Platform SDK).

6:37 AM Changeset in webkit [53406] by eric@webkit.org
  • 8 edits
    1 copy in trunk

2010-01-18 Jonathan Dixon <joth@chromium.org>

Reviewed by Adam Barth.

Add support for enabling navigator.geolocation at runtime in the V8 bindings.
Adds the [EnabledAtRuntime] modifier to the navigator IDL.
https://bugs.webkit.org/show_bug.cgi?id=33467

  • WebCore.gypi:
  • bindings/v8/RuntimeEnabledFeatures.cpp:
  • bindings/v8/RuntimeEnabledFeatures.h: (WebCore::RuntimeEnabledFeatures::setGeolocationEnabled): (WebCore::RuntimeEnabledFeatures::geolocationEnabled):
  • bindings/v8/custom/V8NavigatorCustom.cpp: Added. (WebCore::V8Navigator::GeolocationEnabled):
  • page/Navigator.cpp: (WebCore::Navigator::geolocation):
  • page/Navigator.idl:

2010-01-18 Jonathan Dixon <joth@chromium.org>

Reviewed by Adam Barth.

Add support for enabling navigator.geolocation at runtime in the V8 bindings.
Adds the [EnabledAtRuntime] modifier to the navigator IDL.
https://bugs.webkit.org/show_bug.cgi?id=33467

  • public/WebRuntimeFeatures.h:
  • src/WebRuntimeFeatures.cpp: (WebKit::WebRuntimeFeatures::enableGeolocation): (WebKit::WebRuntimeFeatures::isGeolocationEnabled):
6:20 AM Changeset in webkit [53405] by eric@webkit.org
  • 4 edits in trunk/WebCore

2010-01-18 Alexander Pavlov <apavlov@chromium.org>

Reviewed by Pavel Feldman.

Improve Resources panel performance for lots of resources

DOM properties are extracted into const's, comparisons are faster.
https://bugs.webkit.org/show_bug.cgi?id=33790

  • inspector/front-end/AbstractTimelinePanel.js: (WebInspector.AbstractTimelinePanel.prototype._updateDividersLabelBarPosition):
  • inspector/front-end/Resource.js: (WebInspector.Resource.CompareByStartTime): (WebInspector.Resource.CompareByResponseReceivedTime): (WebInspector.Resource.CompareByEndTime): (WebInspector.Resource.CompareByDuration): (WebInspector.Resource.CompareByLatency): (WebInspector.Resource.CompareBySize):
  • inspector/front-end/ResourcesPanel.js: (WebInspector.ResourceGraph.prototype.refreshLabelPositions):
6:05 AM Changeset in webkit [53404] by eric@webkit.org
  • 3 edits in trunk/WebKitTools

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

Reviewed by Eric Seidel.

webkit-patch land-safely should obsolete old patches
https://bugs.webkit.org/show_bug.cgi?id=33788

When posting a commit-queue+ patch with land-safely, we should
obsolete the old patches on the bug. They're really confusing
because the main use case is to address reviewer feedback on a
previous patch.

  • Scripts/webkitpy/commands/upload.py:
  • Scripts/webkitpy/commands/upload_unittest.py:
5:49 AM Changeset in webkit [53403] by eric@webkit.org
  • 2 edits in trunk/WebKitTools

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

Reviewed by David Levin.

webkit-patch should authenticate more often
https://bugs.webkit.org/show_bug.cgi?id=33701

This makes it easier to work with security patches.

  • Scripts/webkitpy/bugzilla.py:
5:33 AM Changeset in webkit [53402] by eric@webkit.org
  • 2 edits in trunk/WebCore

2010-01-18 Daniel Bates <dbates@rim.com>

Reviewed by Eric Seidel.

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

Following up on changes made with respect to bug #33498, we should
fix the the style errors found by the style bot.

Moreover, this fixes all the style errors found by check-webkit-style
except the use of an underline in the variable name _niflags. We should
fix this in a second run through for all the other variables names that
contain an underline because there are many.

No functionality was changed. So, no new tests.

  • rendering/style/SVGRenderStyle.h: (WebCore::SVGRenderStyle::create): (WebCore::SVGRenderStyle::copy): (WebCore::SVGRenderStyle::operator!=): (WebCore::SVGRenderStyle::hasStroke): (WebCore::SVGRenderStyle::hasFill): (WebCore::SVGRenderStyle::InheritedFlags::operator==): (WebCore::SVGRenderStyle::InheritedFlags::operator!=): (WebCore::SVGRenderStyle::NonInheritedFlags::operator==): (WebCore::SVGRenderStyle::NonInheritedFlags::operator!=): (WebCore::SVGRenderStyle::NonInheritedFlags::): (WebCore::SVGRenderStyle::): (WebCore::SVGRenderStyle::setBitDefaults):
4:54 AM Changeset in webkit [53401] by benm@google.com
  • 2 edits in trunk/WebCore

[Android] DOMWrapperMap::Visitor needs virtual destructor
https://bugs.webkit.org/show_bug.cgi?id=33675

Patch by Andrei Popescu <andreip@google.com> on 2010-01-18
Reviewed by Adam Barth.

Add protected virtual dtor to DOMWrapperMap::Visitor. See bug for further discussion.

No new tests needed, functionality not changed.

  • bindings/v8/V8DOMMap.h:

(WebCore::DOMWrapperMap::Visitor::~Visitor): Added.

4:14 AM Changeset in webkit [53400] by Csaba Osztrogonác
  • 9 edits in trunk/JavaScriptCore

Rubber-stamped by Gustavo Noronha Silva.

Rolling out r53391 and r53392 because of random crashes on buildbots.
https://bugs.webkit.org/show_bug.cgi?id=33731

  • bytecode/CodeBlock.h:

(JSC::CallLinkInfo::seenOnce):
(JSC::CallLinkInfo::setSeen):
(JSC::MethodCallLinkInfo::MethodCallLinkInfo):
(JSC::MethodCallLinkInfo::seenOnce):
(JSC::MethodCallLinkInfo::setSeen):

  • jit/JIT.cpp:

(JSC::JIT::unlinkCall):

  • jit/JITPropertyAccess.cpp:

(JSC::JIT::patchMethodCallProto):

  • runtime/UString.cpp:

(JSC::UString::spliceSubstringsWithSeparators):
(JSC::UString::replaceRange):

  • runtime/UString.h:
  • runtime/UStringImpl.cpp:

(JSC::UStringImpl::baseSharedBuffer):
(JSC::UStringImpl::sharedBuffer):
(JSC::UStringImpl::~UStringImpl):

  • runtime/UStringImpl.h:

(JSC::UntypedPtrAndBitfield::UntypedPtrAndBitfield):
(JSC::UntypedPtrAndBitfield::asPtr):
(JSC::UntypedPtrAndBitfield::operator&=):
(JSC::UntypedPtrAndBitfield::operator|=):
(JSC::UntypedPtrAndBitfield::operator&):
(JSC::UStringImpl::create):
(JSC::UStringImpl::cost):
(JSC::UStringImpl::isIdentifier):
(JSC::UStringImpl::setIsIdentifier):
(JSC::UStringImpl::ref):
(JSC::UStringImpl::deref):
(JSC::UStringImpl::checkConsistency):
(JSC::UStringImpl::UStringImpl):
(JSC::UStringImpl::bufferOwnerString):
(JSC::UStringImpl::bufferOwnership):
(JSC::UStringImpl::isStatic):

  • wtf/StringHashFunctions.h:

(WTF::stringHash):

2:13 AM Changeset in webkit [53399] by abarth@webkit.org
  • 3 edits in trunk/WebKitTools

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

Reviewed by Darin Adler.

style checker needs to know about GObject-specific requirements
inside WebCore/bindings/gobject/
https://bugs.webkit.org/show_bug.cgi?id=33606

Add an exception to the underscore rule for certain
GObject-specific names.

  • Scripts/webkitpy/style/cpp_style.py:
  • Scripts/webkitpy/style/cpp_style_unittest.py:
2:13 AM Changeset in webkit [53398] by abarth@webkit.org
  • 3 edits in trunk/WebKitTools

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

Reviewed by Shinichiro Hamaji.

[check-webkit-style] does understand ResourceHandleWin.h
https://bugs.webkit.org/show_bug.cgi?id=32975

I'm not 100% convinced this fix is correct, but without more examples,
it's hard to generalize. We can always generalize the fix in the
future.

  • Scripts/webkitpy/style/cpp_style.py:
  • Scripts/webkitpy/style/cpp_style_unittest.py:
1:54 AM Changeset in webkit [53397] by Simon Hausmann
  • 2 edits in trunk/JavaScriptCore

Fix the build with strict gcc and RVCT versions: It's not legal to cast a
pointer to a function to a void* without an intermediate cast to a non-pointer
type. A cast to a ptrdiff_t inbetween fixes it.

Reviewed by Kenneth Rohde Christiansen.

  • runtime/JSString.h:

(JSC::Fiber::JSString):

1:29 AM Changeset in webkit [53396] by abarth@webkit.org
  • 2 edits in trunk/WebKitTools

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

Unreviewed "build" fix.

  • Scripts/webkitpy/bugzilla.py:
1:15 AM Changeset in webkit [53395] by abarth@webkit.org
  • 3 edits in trunk/WebKitTools

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

Unreviewed. Actually make land-safely mark commit-queue+ as
discussed with Eric.

  • Scripts/webkitpy/bugzilla.py:
  • Scripts/webkitpy/steps/postdiffforcommit.py:
1:02 AM Changeset in webkit [53394] by Simon Hausmann
  • 2 edits in trunk/WebCore

Unreviewed Symbian build fix.

If we don't link with def files, then we have to pass EXPORTUNFROZEN,
so that the build system still creates the .dso files in
release/armv5/lib and we can actually link against the created QtWebKit
dlls.

Thanks Iain for the help!

  • WebCore.pro:

Jan 17, 2010:

11:47 PM Changeset in webkit [53393] by Csaba Osztrogonác
  • 1 edit
    1 add in trunk/LayoutTests

Rubber-stamped by Eric Seidel.

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

  • platform/qt/svg/custom/transformedMaskFails-expected.txt: Added.
11:36 PM Changeset in webkit [53392] by barraclough@apple.com
  • 5 edits in trunk/JavaScriptCore

https://bugs.webkit.org/show_bug.cgi?id=33731
Remove UntypedPtrAndBitfield from UStringImpl (akin to PtrAndFlags).

Reviewed by Oliver Hunt.

This break the OS X Leaks tool. Instead, free up some more bits from the refCount.

  • runtime/UStringImpl.cpp:

(JSC::UStringImpl::sharedBuffer):
(JSC::UStringImpl::~UStringImpl):

  • runtime/UStringImpl.h:

(JSC::UStringImpl::cost):
(JSC::UStringImpl::checkConsistency):
(JSC::UStringImpl::UStringImpl):
(JSC::UStringImpl::bufferOwnerString):
(JSC::UStringImpl::):

  • wtf/StringHashFunctions.h:

(WTF::stringHash):

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

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

Reviewed by Oliver Hunt.

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

  • bytecode/CodeBlock.h:

(JSC::CallLinkInfo::seenOnce):
(JSC::CallLinkInfo::setSeen):
(JSC::MethodCallLinkInfo::MethodCallLinkInfo):
(JSC::MethodCallLinkInfo::seenOnce):
(JSC::MethodCallLinkInfo::setSeen):

  • jit/JIT.cpp:

(JSC::JIT::unlinkCall):

  • jit/JITPropertyAccess.cpp:

(JSC::JIT::patchMethodCallProto):

  • runtime/UString.h:
9:41 PM Changeset in webkit [53390] by Laszlo Gombos
  • 2 edits in trunk/WebCore

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

Reviewed by Simon Hausmann.

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

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

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

Reviewed by Shinichiro Hamaji.

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

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

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

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

Reviewed by Dan Bernstein.

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

Testcase for a mask containing transformed elements

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

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

Reviewed by Dan Bernstein.

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

Test: svg/custom/transformedMaskFails.svg

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

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

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

Reviewed by Darin Adler.

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

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

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

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

Reviewed by Darin Adler.

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

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

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

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

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

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

Reviewed by Dan Bernstein.

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

~4% Dromaeo attributes test speedup

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

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

Reviewed by Darin Adler.

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

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

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

2010-01-17 Chris Jerdonek <Chris Jerdonek>

Reviewed by Shinichiro Hamaji.

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

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

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

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

Reviewed by Shinichiro Hamaji.

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

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

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

Reviewed by Eric Seidel.

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

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

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

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

Reviewed by Eric Seidel.

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

Build both debug and release for chromium-ews.

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

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

Reviewed by Darin Adler.

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

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

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

Merge r53195.

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

Versioning.

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

New tag.

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

2010-01-17 Chris Jerdonek <Chris Jerdonek>

Reviewed by Adam Barth.

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

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

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

Reviewed by Kevin Ollivier.

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

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

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

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

Reviewed by Gustavo Noronha Silva.

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

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

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

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

Jan 16, 2010:

11:18 PM Changeset in webkit [53371] by mjs@apple.com
  • 12 edits in trunk

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

Reviewed by Oliver Hunt.

Cache JS string values made from DOM strings (Dromaeo speedup)
https://bugs.webkit.org/show_bug.cgi?id=33768
<rdar://problem/7353576>

  • runtime/JSString.h: (JSC::jsStringWithFinalizer): Added new mechanism for a string to have an optional finalizer callback, for the benefit of weak-referencing caches. (JSC::): (JSC::Fiber::JSString): (JSC::Fiber::~JSString):
  • runtime/JSString.cpp: (JSC::JSString::resolveRope): Clear fibers so this doesn't look like a string with a finalizer.
  • runtime/WeakGCMap.h: Include "Collector.h" to make this header includable by itself.

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

Reviewed by Oliver Hunt.

Cache JS string values made from DOM strings (Dromaeo speedup)
https://bugs.webkit.org/show_bug.cgi?id=33768
<rdar://problem/7353576>


  • Plugins/Hosted/ProxyInstance.mm: (WebKit::ProxyInstance::stringValue): Explicitly make a String, since char* is now ambiguous.

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

Reviewed by Oliver Hunt.

Cache JS string values made from DOM strings (Dromaeo speedup)
https://bugs.webkit.org/show_bug.cgi?id=33768
<rdar://problem/7353576>

Added a new cache for JSString values that are created from Strings or AtomicStrings
in the DOM. It's common for the same string to be retrieved from the DOM repeatedly,
and it is wasteful to make a new JS-level string value every time.


The string cache is per-world, and thus thread-safe and not a
vector for accidental information exchange.


~30% speedup on Dromaeo Attributes test, also substantially helps other Dromaeo DOM tests.

  • bindings/js/JSDOMBinding.cpp: (WebCore::jsStringCache): Helper function to get the string cache for the current world. (WebCore::jsString): Some new overloads including the caching version. (WebCore::stringWrapperDestroyed): Finalizer callback - remove from relevant caches.
  • bindings/js/JSDOMBinding.h: (WebCore::jsString): Prototype new overloads (and define a few inline).
  • bindings/js/JSJavaScriptCallFrameCustom.cpp: (WebCore::JSJavaScriptCallFrame::type): Explicitly make a UString.
  • bindings/js/ScriptFunctionCall.cpp: (WebCore::ScriptFunctionCall::appendArgument): Ditto.
  • WebCore.base.exp: Add new JSString overloads that WebCore gets to see.
6:31 PM Changeset in webkit [53370] by oliver@apple.com
  • 2 edits in trunk/WebCore

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

Reviewed by Nikolas Zimmermann.

SVG Markers are getting culled incorrectly
https://bugs.webkit.org/show_bug.cgi?id=33767

Use applyTransformToPaintInfo to transform the paintInfo, otherwise
the paint rect is not updated leading to incorrect culling.

  • svg/graphics/SVGResourceMarker.cpp: (WebCore::SVGResourceMarker::draw):
5:42 PM Changeset in webkit [53369] by jhoneycutt@apple.com
  • 3 edits
    2 adds in trunk

MSAA: Screen rect for <option> elements is always the zero rect

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

Reviewed by Oliver Hunt.

WebKit/win:

  • AccessibleBase.cpp:

(AccessibleBase::accLocation):
Use elementRect() rather than boundingBoxRect(), which
AccessibilityListBoxOption overrides.

LayoutTests:

  • platform/win/accessibility/option-element-position-and-size-expected.txt: Added.
  • platform/win/accessibility/option-element-position-and-size.html: Added.
5:42 PM Changeset in webkit [53368] by jhoneycutt@apple.com
  • 5 edits
    2 adds in trunk

get_accParent should try to retrieve parent AccessibilityObject, before
calling upon window

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

Reviewed by Darin Adler.

WebKit/win:

  • AccessibleBase.cpp:

(AccessibleBase::get_accParent):
If the object has a parent object, return it. If not, return the
accessible for the WebView window.

WebKitTools:

  • DumpRenderTree/win/AccessibilityUIElementWin.cpp:

(AccessibilityUIElement::parentElement):
Get the object's parent. Query it for IAccessible, and return it.

LayoutTests:

  • platform/win/accessibility/parent-element-expected.txt: Added.
  • platform/win/accessibility/parent-element.html: Added.
5:03 PM Changeset in webkit [53367] by sullivan@apple.com
  • 3 edits in trunk/WebCore

https://bugs.webkit.org/show_bug.cgi?id=33751 and <rdar://problem/7538330>
Zip code field is misidentified as street address because id attribute isn't checked.

Reviewed by Darin Adler

No new tests. I believe this code is used only by Safari AutoFill, but in any case
it does not affect page rendering or anything else at the WebCore/WebKit level.

  • page/Frame.cpp:

(WebCore::matchLabelsAgainstString):
New function, split out from matchLabelsAgainstElement.
(WebCore::Frame::matchLabelsAgainstElement):
Now calls matchLabelsAgainstString for the id attribute if no match is found for the name attribute.

  • page/mac/FrameMac.mm:

(WebCore::matchLabelsAgainstString):
Same as above. This is a parallel copy of the function using Mac-specific data structures.
(WebCore::Frame::matchLabelsAgainstElement):
Ditto.

3:30 PM Changeset in webkit [53366] by timothy@apple.com
  • 8 edits in trunk/WebCore

Use String.trim() instead of a regex in the Web Inspector.

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

Reviewed by George Staikos.

  • inspector/front-end/ElementsPanel.js:

(WebInspector.ElementsPanel.prototype.performSearch): Use .trim().

  • inspector/front-end/ObjectPropertiesSection.js:

(WebInspector.ObjectPropertyTreeElement.prototype.applyExpression): Ditto.

  • inspector/front-end/ProfileView.js:
  • inspector/front-end/SourceFrame.js:

(WebInspector.SourceFrame.prototype._evalSelectionInCallFrame): Ditto.

  • inspector/front-end/StylesSidebarPane.js:

(WebInspector.StylePropertyTreeElement.prototype): Ditto.

  • inspector/front-end/utilities.js:

(String.prototype.trimLeadingWhitespace): Removed.
(String.prototype.trimTrailingWhitespace): Removed.
(String.prototype.trimWhitespace): Removed.

3:04 PM Changeset in webkit [53365] by oliver@apple.com
  • 15 edits in trunk/WebCore

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

Reviewed by Nikolas Zimmermann.

Copying TransformationMatrix consumed a lot of cpu time while scroll with cursor over content
https://bugs.webkit.org/show_bug.cgi?id=33766

Make localToParentTransform return by reference to avid copy overhead.
This is a little gnarly in places as it means we need to be able to
return temporary values in a few implementations, so we have to add
class fields to hold them, heppily the classes that these effect are

sufficiently uncommon for this to be okay.

  • rendering/RenderForeignObject.cpp: (WebCore::RenderForeignObject::localToParentTransform):
  • rendering/RenderForeignObject.h:
  • rendering/RenderObject.cpp: (WebCore::RenderObject::localTransform): (WebCore::RenderObject::localToParentTransform):
  • rendering/RenderObject.h:
  • rendering/RenderPath.cpp: (WebCore::RenderPath::localToParentTransform): (WebCore::RenderPath::nodeAtFloatPoint):
  • rendering/RenderPath.h:
  • rendering/RenderSVGImage.h: (WebCore::RenderSVGImage::localToParentTransform):
  • rendering/RenderSVGRoot.cpp: (WebCore::RenderSVGRoot::localToParentTransform):
  • rendering/RenderSVGRoot.h:
  • rendering/RenderSVGText.h: (WebCore::RenderSVGText::localToParentTransform):
  • rendering/RenderSVGTransformableContainer.cpp: (WebCore::RenderSVGTransformableContainer::localToParentTransform):
  • rendering/RenderSVGTransformableContainer.h:
  • rendering/RenderSVGViewportContainer.cpp: (WebCore::RenderSVGViewportContainer::localToParentTransform):
  • rendering/RenderSVGViewportContainer.h:
1:36 PM Changeset in webkit [53364] by Darin Adler
  • 5 edits
    2 adds in trunk

ValidityState can hold a stale pointer to control
https://bugs.webkit.org/show_bug.cgi?id=33729
rdar://problem/7545114

Reviewed by Oliver Hunt and Alexey Proskuryakov.

WebCore:

Test: fast/forms/ValidityState-removed-control.html

  • html/HTMLFormControlElement.h: Use OwnPtr instead of

RefPtr to point to the ValidityState object.

  • html/ValidityState.cpp: Use a constant instead of a

macro for the email validation regular expression.
(WebCore::ValidityState::validationMessage): Use
m_control instead of control function; we don't need
a function for this. Also marked const.
(WebCore::ValidityState::typeMismatch): Ditto.
Fixed some minor style problems.
(WebCore::ValidityState::rangeUnderflow): Ditto.
(WebCore::ValidityState::rangeOverflow): Ditto.
(WebCore::ValidityState::stepMismatch): Ditto.
(WebCore::ValidityState::valid): Ditto.
(WebCore::ValidityState::isValidEmailAddress):
Changed local variable names for clarity. Got rid of
an unneeded global variable.

  • html/ValidityState.h: Removed RefCounted as a base

class, deriving from Noncopyable instead. Changed
creation to use PassOwnPtr instead of PassRefPtr.
Eliminated unneeded control function. Added ref and
deref functions that forward the reference counting
to the control. Moved constructor here and made it
inline.

LayoutTests:

  • fast/forms/ValidityState-removed-control-expected.txt: Added.
  • fast/forms/ValidityState-removed-control.html: Added.
12:53 PM Changeset in webkit [53363] by ap@apple.com
  • 5 edits
    5 adds in trunk

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=33752
Assertion failure when getting a href attribute with prefix

This was due to a temporary change made in 2005 (r9639) - checks in checkSetPrefix were
disabled during introduction of QualifiedName, but never re-enabled.

Tests: fast/dom/bad-href-attribute.html

fast/dom/node-prefix-setter-namespace-exception.html

  • dom/Attr.cpp: (WebCore::Attr::setPrefix):
  • dom/Element.cpp: (WebCore::Element::setPrefix):
  • dom/Node.cpp: (WebCore::Node::checkSetPrefix): Re-enabled the checks. Also, changed the prefix setter to treat "" as null, matching Firefox (DOM 3 Core spec says this behavior is implementation defined).
11:29 AM Changeset in webkit [53362] by mitz@apple.com
  • 2 edits in trunk/WebKitTools

<rdar://problem/7529519> DumpRenderTree crashes in makeLargeMallocFailSilently()

Reviewed by Mark Rowe.

  • DumpRenderTree/mac/CheckedMalloc.cpp:

(makeLargeMallocFailSilently): Temporarily allow writing to the default
malloc zone structure while modifying it.

11:18 AM Changeset in webkit [53361] by beidson@apple.com
  • 10 edits in trunk

<rdar://problem/7536748> and https://bugs.webkit.org/show_bug.cgi?id=33571
History traversals to a new document do not get the popstate event

Reviewed by Darin Adler.

WebCore:

State objects now live-on in their HistoryItem indefinitely.
This means any back/forward navigation might result in a popstate event, not just to
pre-existing documents as was previously the case.

  • history/HistoryItem.cpp:

(WebCore::HistoryItem::documentDetached): State objects are held beyond Document lifetime.

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::begin): If there is a pending state object for this Frame load, pass it

on to the Document after the Document is created.

(WebCore::FrameLoader::transitionToCommitted): If the current history item has a state object,

set it as the FrameLoad's pending state object.

  • loader/FrameLoader.h:


  • page/Page.cpp:

(WebCore::Page::goToItem): Remove a now-invalid ASSERT.

LayoutTests:

Updated existing tests to match new correct behavior.

  • fast/loader/stateobjects/document-destroyed-navigate-back-expected.txt:
  • fast/loader/stateobjects/document-destroyed-navigate-back-with-fragment-scroll-expected.txt:
  • fast/loader/stateobjects/document-destroyed-navigate-back-with-fragment-scroll.html:
  • fast/loader/stateobjects/document-destroyed-navigate-back.html:
7:20 AM Changeset in webkit [53360] by ddkilzer@apple.com
  • 3 edits in trunk/WebKitTools

Added back removed properties to iExploder input files

While the update-iexploder-cssproperties script works great to
add new properties, it has the side-effect of removing old
properties that once were parsed.

  • iExploder/htdocs/cssproperties.in: Added back removed

properties into their own section.

  • iExploder/htdocs/htmlattrs.in: Ditto.
6:58 AM Changeset in webkit [53359] by ddkilzer@apple.com
  • 1 edit in trunk/WebKitTools/ChangeLog

Added bug url to ChangeLog for r53358.

6:44 AM Changeset in webkit [53358] by eric@webkit.org
  • 4 edits in trunk/WebKitTools

2010-01-16 Holger Hans Peter Freyther <zecke@selfish.org>

Reviewed by David Kilzer.

Update iExploder/htdocs/*.in by running update-iexploder-cssproperties

  • iExploder/htdocs/cssproperties.in: New CSS attributes
  • iExploder/htdocs/htmlattrs.in: New HTML attributes
  • iExploder/htdocs/htmltags.in: New HTML tags
12:51 AM QtWebKitMirrorGuide edited by zecke@selfish.org
Mention the manipulate-content.py script for post-processing. (diff)
12:48 AM QtWebKitPerformanceUtilities edited by zecke@selfish.org
Add an example to post-process the db. (diff)
12:40 AM QtWebKitPerformanceToolBackLog: edited by zecke@selfish.org
Add some new commits (diff)
12:35 AM QtWebKitReleases edited by zecke@selfish.org
(diff)
Note: See TracTimeline for information about the timeline view.