Timeline



Nov 18, 2012:

11:59 PM Changeset in webkit [135120] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

[EFL][WK2] Skip networkinformation tests wrongly unskipped in r135096
https://bugs.webkit.org/show_bug.cgi?id=102650

Unreviewed EFL gardening.

Skip again for EFL Debug bots several networkinformation tests
that were wrongly unskipped in r135096 as they still hit an
assertion.

Patch by Christophe Dumez <Christophe Dumez> on 2012-11-18

  • platform/efl-wk2/TestExpectations:
11:55 PM Changeset in webkit [135119] by commit-queue@webkit.org
  • 4 edits in trunk

.: Remove non-existent directories from the make system
https://bugs.webkit.org/show_bug.cgi?id=102632

Patch by Laszlo Gombos <l.gombos@samsung.com> on 2012-11-18
Reviewed by Kenneth Rohde Christiansen.

Remove (non-existent) symbian references from the exclude list for packaging.

  • Source/cmake/WebKitPackaging.cmake:

Source/WebKit/qt: [Qt] Remove remaining traces of symbian
https://bugs.webkit.org/show_bug.cgi?id=102634

Patch by Laszlo Gombos <l.gombos@samsung.com> on 2012-11-18
Reviewed by Kenneth Rohde Christiansen.

Remove symbian related part from the API documentation.

  • Api/qgraphicswebview.cpp:
  • Api/qwebview.cpp:
11:52 PM Changeset in webkit [135118] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[EFL] Not to include "ewk_view_private.h" in Tools
https://bugs.webkit.org/show_bug.cgi?id=102644

Patch by KyungTae Kim <ktf.kim@samsung.com> on 2012-11-18
Reviewed by Gyuyoung Kim.

Include ewk_view.h instead of ewk_view_private.h in Tools

  • DumpRenderTree/efl/PixelDumpSupportEfl.cpp:
11:45 PM Changeset in webkit [135117] by commit-queue@webkit.org
  • 66 edits in trunk/Source/WebKit2

[EFL][WK2] Remove underscore characters in Ewk class names.
https://bugs.webkit.org/show_bug.cgi?id=102641

Patch by Jaehun Lim <ljaehun.lim@samsung.com> on 2012-11-18
Reviewed by Gyuyoung Kim.

WebKit EFL doesn't use '_' in C++ class names.

  • UIProcess/API/efl/EwkViewCallbacks.h:
  • UIProcess/API/efl/EwkViewImpl.h:

(EwkViewImpl::settings):
(EwkViewImpl::backForwardList):
(EwkViewImpl):

  • UIProcess/API/efl/ewk_auth_request.h:
  • UIProcess/API/efl/ewk_auth_request_private.h:
  • UIProcess/API/efl/ewk_back_forward_list.cpp:

(EwkBackForwardList::EwkBackForwardList):
(EwkBackForwardList::nextItem):
(EwkBackForwardList::previousItem):
(EwkBackForwardList::currentItem):
(EwkBackForwardList::itemAt):
(EwkBackForwardList::size):
(EwkBackForwardList::backList):
(EwkBackForwardList::forwardList):
(EwkBackForwardList::getFromCacheOrCreate):
(EwkBackForwardList::createEinaList):
(EwkBackForwardList::update):

  • UIProcess/API/efl/ewk_back_forward_list.h:
  • UIProcess/API/efl/ewk_back_forward_list_item.h:
  • UIProcess/API/efl/ewk_back_forward_list_item_private.h:
  • UIProcess/API/efl/ewk_back_forward_list_private.h:

(EwkBackForwardList::create):
(EwkBackForwardList):

  • UIProcess/API/efl/ewk_color_picker.cpp:

(EwkColorPicker::EwkColorPicker):
(EwkColorPicker::setColor):
(EwkColorPicker::color):

  • UIProcess/API/efl/ewk_color_picker.h:
  • UIProcess/API/efl/ewk_color_picker_private.h:

(EwkColorPicker::create):
(EwkColorPicker):

  • UIProcess/API/efl/ewk_context.h:
  • UIProcess/API/efl/ewk_context_private.h:
  • UIProcess/API/efl/ewk_cookie_manager.cpp:

(EwkCookieManager::EwkCookieManager):
(EwkCookieManager::~EwkCookieManager):
(EwkCookieManager::setPersistentStorage):
(EwkCookieManager::setHTTPAcceptPolicy):
(EwkCookieManager::clearHostnameCookies):
(EwkCookieManager::clearAllCookies):
(EwkCookieManager::watchChanges):
(EwkCookieManager::isWatchingForChanges):
(EwkCookieManager::getHostNamesWithCookies):
(EwkCookieManager::getHTTPAcceptPolicy):
(EwkCookieManager::cookiesDidChange):

  • UIProcess/API/efl/ewk_cookie_manager.h:
  • UIProcess/API/efl/ewk_cookie_manager_private.h:

(EwkCookieManager::create):
(EwkCookieManager):

  • UIProcess/API/efl/ewk_database_manager.cpp:

(EwkDatabaseManager::EwkDatabaseManager):
(EwkDatabaseManager::getDatabaseOrigins):
(EwkDatabaseManager::createOriginList):

  • UIProcess/API/efl/ewk_database_manager.h:
  • UIProcess/API/efl/ewk_database_manager_private.h:

(EwkDatabaseManager::create):
(EwkDatabaseManager):

  • UIProcess/API/efl/ewk_download_job.h:
  • UIProcess/API/efl/ewk_download_job_private.h:
  • UIProcess/API/efl/ewk_error.cpp:

(EwkError::EwkError):
(EwkError::url):
(EwkError::description):
(EwkError::domain):
(EwkError::errorCode):
(EwkError::isCancellation):

  • UIProcess/API/efl/ewk_error.h:
  • UIProcess/API/efl/ewk_error_private.h:

(EwkError::create):
(EwkError):

  • UIProcess/API/efl/ewk_favicon_database.cpp:

(EwkFaviconDatabase::EwkFaviconDatabase):
(EwkFaviconDatabase::~EwkFaviconDatabase):
(EwkFaviconDatabase::iconURLForPageURL):
(EwkFaviconDatabase::watchChanges):
(EwkFaviconDatabase::unwatchChanges):
(EwkFaviconDatabase::iconForPageURL):
(EwkFaviconDatabase::didChangeIconForPageURL):
(EwkFaviconDatabase::getIconSurfaceSynchronously):
(EwkFaviconDatabase::iconDataReadyForPageURL):

  • UIProcess/API/efl/ewk_favicon_database.h:
  • UIProcess/API/efl/ewk_favicon_database_private.h:

(EwkFaviconDatabase::create):
(EwkFaviconDatabase):

  • UIProcess/API/efl/ewk_file_chooser_request.h:
  • UIProcess/API/efl/ewk_file_chooser_request_private.h:
  • UIProcess/API/efl/ewk_form_submission_request.h:
  • UIProcess/API/efl/ewk_form_submission_request_private.h:
  • UIProcess/API/efl/ewk_intent.h:
  • UIProcess/API/efl/ewk_intent_private.h:
  • UIProcess/API/efl/ewk_intent_service.h:
  • UIProcess/API/efl/ewk_intent_service_private.h:
  • UIProcess/API/efl/ewk_navigation_data.h:
  • UIProcess/API/efl/ewk_navigation_data_private.h:
  • UIProcess/API/efl/ewk_navigation_policy_decision.h:
  • UIProcess/API/efl/ewk_navigation_policy_decision_private.h:
  • UIProcess/API/efl/ewk_object.h:
  • UIProcess/API/efl/ewk_object_private.h:

(EwkObject::~EwkObject):
(ewk_object_is_of_type):
(ewk_object_cast_check):
(ewk_object_cast):

  • UIProcess/API/efl/ewk_popup_menu.cpp:

(EwkPopupMenu::EwkPopupMenu):
(EwkPopupMenu::~EwkPopupMenu):
(EwkPopupMenu::close):
(EwkPopupMenu::items):
(EwkPopupMenu::selectedIndex):
(EwkPopupMenu::setSelectedIndex):

  • UIProcess/API/efl/ewk_popup_menu.h:
  • UIProcess/API/efl/ewk_popup_menu_item.cpp:

(EwkPopupMenuItem::EwkPopupMenuItem):
(EwkPopupMenuItem::type):
(EwkPopupMenuItem::textDirection):
(EwkPopupMenuItem::text):
(EwkPopupMenuItem::tooltipText):
(EwkPopupMenuItem::accessibilityText):
(EwkPopupMenuItem::hasTextDirectionOverride):
(EwkPopupMenuItem::isEnabled):
(EwkPopupMenuItem::isLabel):
(EwkPopupMenuItem::isSelected):

  • UIProcess/API/efl/ewk_popup_menu_item.h:
  • UIProcess/API/efl/ewk_popup_menu_item_private.h:

(EwkPopupMenuItem::create):
(EwkPopupMenuItem):

  • UIProcess/API/efl/ewk_popup_menu_private.h:

(EwkPopupMenu::create):
(EwkPopupMenu):

  • UIProcess/API/efl/ewk_resource.h:
  • UIProcess/API/efl/ewk_resource_private.h:
  • UIProcess/API/efl/ewk_security_origin.h:
  • UIProcess/API/efl/ewk_security_origin_private.h:
  • UIProcess/API/efl/ewk_settings.cpp:

(EwkSettings::preferences):

  • UIProcess/API/efl/ewk_settings.h:
  • UIProcess/API/efl/ewk_settings_private.h:

(EwkSettings::create):
(EwkSettings::EwkSettings):

  • UIProcess/API/efl/ewk_storage_manager.cpp:

(EwkStorageManager::EwkStorageManager):
(EwkStorageManager::getStorageOrigins):
(EwkStorageManager::createOriginList):

  • UIProcess/API/efl/ewk_storage_manager.h:
  • UIProcess/API/efl/ewk_storage_manager_private.h:

(EwkStorageManager::create):
(EwkStorageManager):

  • UIProcess/API/efl/ewk_url_request.h:
  • UIProcess/API/efl/ewk_url_request_private.h:
  • UIProcess/API/efl/ewk_url_response.h:
  • UIProcess/API/efl/ewk_url_response_private.h:
  • UIProcess/API/efl/ewk_url_scheme_request.h:
  • UIProcess/API/efl/ewk_url_scheme_request_private.h:
  • UIProcess/API/efl/tests/test_ewk2_object.cpp:

(TEST_F):

11:42 PM Changeset in webkit [135116] by loislo@chromium.org
  • 5 edits in trunk/Source/WebCore

webaudio: clean-up. Replace AudioContext::m_document member with ContextDestructionObserver::scriptExecutionContext().
https://bugs.webkit.org/show_bug.cgi?id=102649

Reviewed by Adam Barth.

AudioContext uses m_document only as a pointer to ScriptExecutionContext.
It could be safely replaced with ContextDestructionObserver::m_scriptExecutionContext.
The lifetime of m_scriptExecutionContext is slightly different but it could be adjusted by m_isStopScheduled flag.

No new tests as there is no new functionality.

  • Modules/webaudio/AudioBufferSourceNode.cpp:

(WebCore::AudioBufferSourceNode::looping):
(WebCore::AudioBufferSourceNode::setLooping):

  • Modules/webaudio/AudioContext.cpp:

(WebCore::AudioContext::AudioContext):
(WebCore::AudioContext::stop):
(WebCore::AudioContext::fireCompletionEvent):
(WebCore::AudioContext::reportMemoryUsage):

  • Modules/webaudio/AudioContext.h:

(WebCore::AudioContext::scriptExecutionContext):
(AudioContext):

  • Modules/webaudio/ScriptProcessorNode.cpp:

(WebCore::ScriptProcessorNode::fireProcessEvent):
(WebCore::ScriptProcessorNode::scriptExecutionContext):

11:35 PM Changeset in webkit [135115] by haraken@chromium.org
  • 2 edits in trunk/Source/WebCore

[V8] Remove unused variables from CodeGeneratorV8.pm
https://bugs.webkit.org/show_bug.cgi?id=102648

Reviewed by Adam Barth.

No tests. No change in generated code.

  • bindings/scripts/CodeGeneratorV8.pm:

(GenerateInterface):
(GenerateHeader):
(GetInternalFields):
(GenerateNormalAttrGetter):
(GenerateSingleBatchedAttribute):
(GenerateImplementationCustomCall):
(GenerateFunctionCallString):
(CreateCustomSignature):
(GetContextEnableFunction):

11:33 PM Changeset in webkit [135114] by haraken@chromium.org
  • 10 edits
    1 delete in trunk/Source/WebCore

Remove IDLStructure.pm
https://bugs.webkit.org/show_bug.cgi?id=102642

Reviewed by Adam Barth.

Previously IDLStructure.pm was full of regular expressions to
parse IDL files. Now a new IDL parser is implemented, IDLStructure.pm
just contains several data structures for the IDL parser. We can
move them to IDLParser.pm and thus remove IDLStructure.pm.

No tests. No change in generated code.

  • CMakeLists.txt:
  • DerivedSources.make:
  • DerivedSources.pri:
  • GNUmakefile.am:
  • WebCore.gyp/WebCore.gyp:
  • WebCore.vcproj/MigrateScripts:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/scripts/IDLParser.pm:

(Parse):
(parseInterface):
(parseException):
(parseConst):
(parseAttributeRest):
(parseOperationRest):
(parseOptionalOrRequiredArgument):
(parseExceptionField):
(parseInterfaceOld):
(parseExceptionOld):
(parseAttributeRestOld):
(applyExtendedAttributeList):

  • bindings/scripts/IDLStructure.pm: Removed.
11:26 PM Changeset in webkit [135113] by haraken@chromium.org
  • 2 edits in trunk/Source/WebCore

[V8] Make more use of $v8Interface in CodeGeneratorV8.pm
https://bugs.webkit.org/show_bug.cgi?id=102639

Reviewed by Adam Barth.

We can replace hard-coded "V8${interfaceName}" with $v8Interface.

No tests. No change in generated code.

  • bindings/scripts/CodeGeneratorV8.pm:

(GenerateNormalAttrGetter):
(GenerateNormalAttrSetter):
(GenerateFunctionCallback):
(GenerateNamedConstructorCallback):
(GenerateImplementationIndexer):
(GenerateImplementationNamedPropertyGetter):
(GenerateImplementation):

10:21 PM Changeset in webkit [135112] by loislo@chromium.org
  • 1 edit
    2 adds in trunk/LayoutTests

Unreviewed: add missed test files for r135111.

  • inspector-protocol/resources/audio-context.html: Added.
  • inspector-protocol/resources/blank.html: Added.
10:10 PM Changeset in webkit [135111] by loislo@chromium.org
  • 16 edits
    2 adds in trunk

webaudio: leak: AudioContext objects are leaking. They retain 36mb of shared data.
https://bugs.webkit.org/show_bug.cgi?id=102356

Reviewed by Adam Barth.

A clean-up code was moved from uninitialize to clear method.
AudioContext marks itself as hasPendingActivity in method constructCommon and unmarks itself in method clear.
m_isStopScheduled filters out second ActiveDOMObject::stop call.
markForDeletion appends AudioNode pointer to m_nodesToDelete array if there is no active audio thread.
adoptRef was added in createOfflineContext method.

Source/WebCore:

Test: inspector-protocol/nmi-webaudio-leak-test.html

  • Modules/webaudio/AudioContext.cpp:

(WebCore::AudioContext::createOfflineContext):
(WebCore::AudioContext::AudioContext):
(WebCore::AudioContext::constructCommon):
(WebCore::AudioContext::~AudioContext):
(WebCore::AudioContext::clear):
(WebCore::AudioContext::uninitialize):
(WebCore::AudioContext::stopDispatch):
(WebCore::AudioContext::stop):
(WebCore::AudioContext::markForDeletion):
(WebCore::AudioContext::scheduleNodeDeletion):
(WebCore::AudioContext::deleteMarkedNodes):

  • Modules/webaudio/AudioContext.h:

(AudioContext):

  • bindings/v8/custom/V8AudioContextCustom.cpp:

(WebCore::V8AudioContext::constructorCallback):

  • inspector/InspectorMemoryAgent.cpp:

(WebCore::InspectorMemoryAgent::getProcessMemoryDistribution):

  • platform/PlatformMemoryInstrumentation.cpp:

(WebCore::PlatformMemoryInstrumentation::reportMemoryUsage):
(WebCore):

  • platform/PlatformMemoryInstrumentation.h:

(PlatformMemoryInstrumentation):
(WebCore):

LayoutTests:

  • inspector-protocol/nmi-webaudio-leak-test-expected.txt: Added.
  • inspector-protocol/nmi-webaudio-leak-test.html: Added.
9:50 PM Changeset in webkit [135110] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

min/max/step support for calendar picker on datetime/datetime-local
https://bugs.webkit.org/show_bug.cgi?id=102628

Patch by Kunihiko Sakamoto <ksakamoto@chromium.org> on 2012-11-18
Reviewed by Kent Tamura.

Source/WebCore:

Gray out dates with no allowed values on calendar picker for datetime/datetime-local
when values are limited by min/max/step attributes.

Test: platform/chromium/fast/forms/calendar-picker/calendar-picker-datetime-with-step.html

  • Resources/pagepopups/calendarPicker.js:

(CalendarPicker.prototype._stepMismatch):
Returns true iff there are any allowed values in the given day.

LayoutTests:

Verify that calendar picker has correct available dates when
min/max/step attributes are set in datetime input.

  • platform/chromium/fast/forms/calendar-picker/calendar-picker-datetime-with-step-expected.txt: Added.
  • platform/chromium/fast/forms/calendar-picker/calendar-picker-datetime-with-step.html: Added.
9:46 PM Changeset in webkit [135109] by commit-queue@webkit.org
  • 6 edits in trunk

Remove non-existent directories from the make system
https://bugs.webkit.org/show_bug.cgi?id=102632

Patch by Laszlo Gombos <l.gombos@samsung.com> on 2012-11-18
Reviewed by Adam Barth.

.:

Remove (non-existent) symbian references from the exclude list for packaging.

  • Source/cmake/WebKitPackaging.cmake:

Source/WebCore:

Remove (non-existent) symbian references from the exclude list in gyp project files.

No new tests as there is no new functionality.

  • WebCore.gyp/WebCore.gyp:

Source/WTF:

Remove (non-existent) symbian references from the exclude list in gyp project files.

  • WTF.gyp/WTF.gyp:
9:45 PM Changeset in webkit [135108] by Patrick Gansterer
  • 7 edits in trunk/Source/WebCore

[WIN] Add a IMLangFontLinkType typedef
https://bugs.webkit.org/show_bug.cgi?id=102584

Reviewed by Brent Fulgham.

Add a central typedef for IMLangFontLink(2) to get rid of a bunch of ifdefs.

  • platform/graphics/FontCache.h:

(WebCore):

  • platform/graphics/win/FontCacheWin.cpp:

(WebCore::FontCache::getFontLinkInterface):
(WebCore::getCJKCodePageMasks):
(WebCore::createMLangFont):
(WebCore::FontCache::getFontDataForCharacters):

  • platform/graphics/win/SimpleFontDataWin.cpp:

(WebCore::SimpleFontData::containsCharacters):

  • platform/graphics/wince/FontCacheWinCE.cpp:

(WebCore):
(WebCore::FontCache::getFontLinkInterface):
(WebCore::getCJKCodePageMasks):
(WebCore::FontCache::getFontDataForCharacters):

  • platform/graphics/wince/FontPlatformData.cpp:

(WebCore::FontFamilyCodePageInfo::codePages):
(WebCore::FixedSizeFontData::create):

  • platform/graphics/wince/GlyphPageTreeNodeWinCE.cpp:

(WebCore::GlyphPage::fill):

9:40 PM Changeset in webkit [135107] by mkwst@chromium.org
  • 3 edits in trunk/Source/WebCore

Web Inspector: Remove unused ConsoleMessage constructor.
https://bugs.webkit.org/show_bug.cgi?id=102590

Reviewed by Brent Fulgham.

We currently have a ConsoleMessage constructor that's unused. Let's
kill it.

  • inspector/ConsoleMessage.cpp:
  • inspector/ConsoleMessage.h:

(ConsoleMessage):

Removing an unused constructor variant.

9:19 PM Changeset in webkit [135106] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

Unreviewed, rolling out r135104.
http://trac.webkit.org/changeset/135104
https://bugs.webkit.org/show_bug.cgi?id=102638

Should not use commit queue to add people to committer list.
(Requested by ap_ on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-11-18

  • Scripts/webkitpy/common/config/committers.py:
9:13 PM Changeset in webkit [135105] by haraken@chromium.org
  • 1 edit
    1 move
    11 adds in trunk/LayoutTests

Unreviewed. Rebaselined images.

  • platform/chromium-linux-x86/fast/block/float/overhanging-tall-block-expected.txt: Added.
  • platform/chromium-linux/fast/block/float/overhanging-tall-block-expected.png: Added.
  • platform/chromium-linux/fast/block/float/overhanging-tall-block-expected.txt: Added.
  • platform/chromium-mac-lion/fast/block/float/overhanging-tall-block-expected.txt: Added.
  • platform/chromium-mac-snowleopard/fast/block/float/overhanging-tall-block-expected.txt: Added.
  • platform/chromium-win-xp/fast/block/float/overhanging-tall-block-expected.png: Added.
  • platform/chromium-win-xp/fast/block/float/overhanging-tall-block-expected.txt: Added.
  • platform/efl-wk1/fast/block/float/overhanging-tall-block-expected.png: Renamed from LayoutTests/platform/efl/fast/block/float/overhanging-tall-block-expected.png.
9:11 PM Changeset in webkit [135104] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

Add myself to committers.py
https://bugs.webkit.org/show_bug.cgi?id=102636

Patch by Vivek Galatage <vivek.vg@samsung.com> on 2012-11-18
Reviewed by Laszlo Gombos.

Add myself to committers.py

  • Scripts/webkitpy/common/config/committers.py:
7:38 PM Changeset in webkit [135103] by mitz@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Try to fix the DFG build after r135099.

  • dfg/DFGCommon.h:

(JSC::DFG::shouldShowDisassembly):

7:29 PM Changeset in webkit [135102] by rniwa@webkit.org
  • 1 edit
    3 adds in trunk/LayoutTests

Chromium rebaseline after r135093.

  • platform/chromium-linux/inspector: Added.
  • platform/chromium-linux/inspector/console: Added.
  • platform/chromium-linux/inspector/console/console-format-collections-expected.txt: Added.
7:16 PM Changeset in webkit [135101] by akling@apple.com
  • 5 edits in trunk/Source/WebCore

StyledElement: Make handling the "style" attribute a litte faster.
<http://webkit.org/b/102623>

Reviewed by Ojan Vafai.

We know that "style" is never a presentation attribute, so avoid the virtual call to isPresentationAttribute()
by hoisting the parseAttribute() logic up into attributeChanged().
Did the same thing with Element::parseAttribute() for consistency.

Knocks ~0.6% of samples off of the DOM/CreateNodes performance test.

  • dom/Element.cpp:

(WebCore::Element::attributeChanged):

  • dom/Element.h:

(WebCore::Element::parseAttribute):

  • dom/StyledElement.cpp:

(WebCore::StyledElement::attributeChanged):

  • dom/StyledElement.h:

(StyledElement):

7:02 PM Changeset in webkit [135100] by commit-queue@webkit.org
  • 7 edits in trunk/Source

[CMake] Consolidate common input files
https://bugs.webkit.org/show_bug.cgi?id=101632

Patch by Laszlo Gombos <l.gombos@samsung.com> on 2012-11-18
Reviewed by Rob Buis.

Source/WebCore:

Consolidate and sort the list of files, move common source files
into CMakeLists.txt from the port specific files.

No new tests as there is no new functionality.

  • CMakeLists.txt:
  • PlatformBlackBerry.cmake:
  • PlatformEfl.cmake:
  • PlatformWinCE.cmake:

Source/WebKit:

Consolidate and sort the list of files.

  • PlatformEfl.cmake:
6:58 PM Changeset in webkit [135099] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed, build fix for !ENABLE(DFG_JIT).

  • dfg/DFGCommon.h:

(JSC::DFG::shouldShowDisassembly):
(DFG):

6:56 PM Changeset in webkit [135098] by akling@apple.com
  • 2 edits in trunk/Source/WebCore

Tighten small SharedBuffers by reserving the exact amount of space needed.
<http://webkit.org/b/102625>

Reviewed by Anders Carlsson.

When adding the first chunk to a small (<4096 bytes) SharedBuffer, reserve the exact
amount of space needed instead of leaving it to Vector<char>::append().

1.86MB progression on Membuster3.

  • platform/SharedBuffer.cpp:

(WebCore::SharedBuffer::append):

6:55 PM Changeset in webkit [135097] by fpizlo@apple.com
  • 5 edits in trunk/Source/JavaScriptCore

JSC should have more logging in structure-related code
https://bugs.webkit.org/show_bug.cgi?id=102630

Reviewed by Simon Fraser.

  • JSValue::description() now tells you if something is a structure, and if so, what kind of structure it is.


  • Jettisoning logic now tells you why things are being jettisoned.


  • It's now possible to turn off GC-triggered jettisoning entirely.
  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::finalizeUnconditionally):
(JSC::CodeBlock::reoptimize):
(JSC::ProgramCodeBlock::jettison):
(JSC::EvalCodeBlock::jettison):
(JSC::FunctionCodeBlock::jettison):

  • bytecode/CodeBlock.h:

(JSC::CodeBlock::shouldImmediatelyAssumeLivenessDuringScan):

  • runtime/JSValue.cpp:

(JSC::JSValue::description):

  • runtime/Options.h:

(JSC):

6:17 PM Changeset in webkit [135096] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

[EFL] Gardening, unskip passing tests
https://bugs.webkit.org/show_bug.cgi?id=102460

Unreviewed EFL gardening.

The tests marked Crash by r132469 are passing now.

fast/dom/nested-script-exceptions.html, networkinformation/multiple-frames.html,
networkinformation/basic-all-types-of-events.html, networkinformation/updates.html,
networkinformation/add-listener-from-callback.html, networkinformation/basic-operation.html

Patch by KwangYong Choi <ky0.choi@samsung.com> on 2012-11-18

  • platform/efl-wk2/TestExpectations:
5:56 PM Changeset in webkit [135095] by haraken@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed. Removed a duplicated entry.

  • platform/chromium/TestExpectations:
5:49 PM Changeset in webkit [135094] by haraken@chromium.org
  • 9 edits
    4 deletes in trunk/Source/WebKit/chromium

Unreviewed, rolling out r135047.
http://trac.webkit.org/changeset/135047
https://bugs.webkit.org/show_bug.cgi?id=102339

it broke Chromium Windows/Mac build

  • WebKit.gyp:
  • WebKit.gypi:
  • public/WebNode.h:

(WebKit):

  • public/WebPluginContainer.h:

(WebKit):
(WebPluginContainer):

  • src/WebFrameImpl.cpp:

(WebKit::pluginContainerFromNode):
(WebKit):
(WebKit::WebFrameImpl::executeCommand):
(WebKit::WebFrameImpl::printBegin):
(WebKit::WebFrameImpl::isPrintScalingDisabledForPlugin):

  • src/WebNode.cpp:
  • src/WebPluginContainerImpl.cpp:
  • src/WebPluginContainerImpl.h:

(WebPluginContainerImpl):

  • tests/FakeWebPlugin.cpp: Removed.
  • tests/FakeWebPlugin.h: Removed.
  • tests/WebPluginContainerTest.cpp: Removed.
  • tests/data/plugin_container.html: Removed.
5:28 PM Changeset in webkit [135093] by rniwa@webkit.org
  • 40 edits
    2 moves
    5 adds in trunk

Make namedItem return a node list only in HTMLFormControlsCollection and HTMLOptionsCollection
https://bugs.webkit.org/show_bug.cgi?id=101311

Reviewed by Darin Adler.

Source/WebCore:

Introduce two new interfaces HTMLFormControlsCollection and HTMLOptionsCollection to be used by form.elements
and select.options. These two interfaces have the named getter and namedItem that returns a live NodeList when
there are multiple matches. Introducing these two interfaces allow us to make "regular" HTMLCollection's named
getter and namedItem return exactly one node or null as specified in HTML5:
http://www.whatwg.org/specs/web-apps/current-work/multipage/common-dom-interfaces.html#collections-0

Unfortunately, HTMLOptionsCollection still has a bug that its named getter and namedItem returns
a static NodeList instead of a live NodeList (DynamicNodeList) at the moment.

Also got rid of Document::objects since it's not exposed in IDL or called anywhere.

Test: fast/dom/html-collections-namedItem.html

  • CMakeLists.txt:
  • DerivedSources.cpp:
  • DerivedSources.make:
  • DerivedSources.pri:
  • GNUmakefile.list.am:
  • Target.pri:
  • UseJSC.cmake:
  • UseV8.cmake:
  • WebCore.gypi:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/JSBindingsAllInOne.cpp:
  • bindings/js/JSHTMLAllCollectionCustom.cpp:

(WebCore::getNamedItems):

  • bindings/js/JSHTMLCollectionCustom.cpp:

(WebCore::JSHTMLCollection::nameGetter): Now returns exactly one node or null.
(WebCore::toJS):

  • bindings/js/JSHTMLFormControlsCollectionCustom.cpp: Added.

(WebCore::getNamedItems): Returns RadioNodeList when there are multiple matches.
(WebCore::JSHTMLFormControlsCollection::canGetItemsForName):
(WebCore::JSHTMLFormControlsCollection::nameGetter):
(WebCore::JSHTMLFormControlsCollection::namedItem):

  • bindings/js/JSHTMLOptionsCollectionCustom.cpp:

(WebCore::getNamedItems): Returns a static NodeList when there are multiple matches.
This is a bug. It should be a live NodeList instead.
(WebCore::JSHTMLOptionsCollection::canGetItemsForName):
(WebCore::JSHTMLOptionsCollection::nameGetter):
(WebCore::JSHTMLOptionsCollection::namedItem):

  • bindings/js/CodeGeneratorJS.pm: Include JSNode.js for all HTML*Collection interfaces for simplicity.
  • bindings/js/CodeGeneratorV8.pm: HTMLOptionsCollection now inherits from HTMLCollection. See

http://www.whatwg.org/specs/web-apps/current-work/multipage/common-dom-interfaces.html#htmloptionscollection

  • bindings/v8/custom/V8HTMLAllCollectionCustom.cpp: Pass in isolate when we can.

(WebCore::getNamedItems): Added a comment about how we should be returning
a HTMLCollection when there are multiple matches.
(WebCore::getItem):
(WebCore::V8HTMLAllCollection::namedPropertyGetter):
(WebCore::V8HTMLAllCollection::namedItemCallback):

  • bindings/v8/custom/V8HTMLCollectionCustom.cpp: Now returns exactly one node or null.

(WebCore::V8HTMLCollection::namedPropertyGetter):
(WebCore::toV8):

  • bindings/v8/custom/V8HTMLFormControlsCollectionCustom.cpp: Added.

(WebCore::getNamedItems): Returns RadioNodeList when there are multiple matches.
(WebCore::V8HTMLFormControlsCollection::namedPropertyGetter):
(WebCore::V8HTMLFormControlsCollection::namedItemCallback):

  • bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:

(WebCore::getNamedItems): Returns a static NodeList when there are multiple matches.
This is a bug. It should be a live NodeList instead.
(WebCore::V8HTMLOptionsCollection::namedPropertyGetter):
(WebCore::V8HTMLOptionsCollection::namedItemCallback):

  • dom/Document.cpp: Removed Document::objects since it was not used anywhere.
  • dom/Document.h:

(Document):

  • dom/Element.cpp:

(WebCore::ElementRareData::ensureCachedHTMLCollection): form.elements should instantiate
a HTMLFormControlsCollection instead of a HTMLCollection.

  • html/CollectionType.h:
  • html/HTMLCollection.idl: Removed [Custom] since namedItem is a regular function call now.
  • html/HTMLFieldSetElement.cpp:
  • html/HTMLFieldSetElement.h:
  • html/HTMLFormCollection.cpp: Removed.
  • html/HTMLFormCollection.h: Removed.
  • html/HTMLFormControlsCollection.cpp: Copied from Source/WebCore/html/HTMLFormCollection.cpp.

(WebCore::HTMLFormControlsCollection::HTMLFormControlsCollection):
(WebCore::HTMLFormControlsCollection::create):
(WebCore::HTMLFormControlsCollection::~HTMLFormControlsCollection):
(WebCore::HTMLFormControlsCollection::formControlElements):
(WebCore::HTMLFormControlsCollection::formImageElements):
(WebCore::HTMLFormControlsCollection::virtualItemAfter):
(WebCore::HTMLFormControlsCollection::namedItem):
(WebCore::HTMLFormControlsCollection::updateNameCache):

  • html/HTMLFormControlsCollection.h: Copied from Source/WebCore/html/HTMLFormCollection.h.

(HTMLFormControlsCollection):

  • html/HTMLFormControlsCollection.idl: Added.
  • html/HTMLFormElement.cpp:
  • html/HTMLFormElement.h:
  • html/HTMLOptionsCollection.idl:

LayoutTests:

Added a regression test to ensure form.elements and select.options use correct interfaces,
and named getter for those two properties return a NodeList when there are multiple matches.

Also added appropriate IDL options to HTMLOptionsCollection.idl.

  • fast/dom/collection-nameditem-move-between-documents-expected.txt: Rebaselined since namedItem

now correctly returns null when there is no match. This test result demonstrates a bug that
HTMLAllCollection doesn't inherit from HTMLCollection.

  • fast/dom/collection-nameditem-move-between-documents.html: Ditto.
  • fast/dom/dom-constructors-expected.txt: Rebaselined.
  • fast/dom/html-collections-named-getter-expected.txt: Added.
  • fast/dom/html-collections-named-getter.html: Added.
  • fast/dom/wrapper-classes-expected.txt: Rebaselined. Since we're exposing HTMLOptionsCollection

on the window object, the constructor property of an instance of HTMLOptionsCollection object
shows up as a function. We should update the test to support this behavior in the future.

  • inspector/console/console-format-collections-expected.txt: Rebaselined.
  • platform/chromium/fast/dom/gc-9-expected.txt: Rebaselined since a test case for

HTMLOptionsCollection now passes.

5:12 PM Changeset in webkit [135092] by haraken@chromium.org
  • 2 edits in trunk/Source/WebCore

[V8] Rename $className to $v8InterfaceName
https://bugs.webkit.org/show_bug.cgi?id=102487

Reviewed by Adam Barth.

In CodeGeneratorV8.pm, $className is always "V8$interfaceName".
We should rename $className to $v8InterfaceName. Also we can
remove GetCallbackClassName().

No tests. No change in behavior.

  • bindings/scripts/CodeGeneratorV8.pm:

(GenerateHeader):
(GetHeaderClassInclude):
(GenerateDomainSafeFunctionGetter):
(GenerateDomainSafeFunctionSetter):
(GenerateParametersCheck):
(GenerateImplementation):
(GenerateHeaderContentHeader):
(GenerateImplementationContentHeader):
(GenerateCallbackHeader):
(GenerateCallbackImplementation):
(GenerateToV8Converters):
(GetPassRefPtrType):

5:05 PM Changeset in webkit [135091] by haraken@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed.
r135025 marked a couple of tests as SKIP in Mac.
This patch marks the tests as SKIP in Chormium.

  • platform/chromium/TestExpectations:
4:56 PM Changeset in webkit [135090] by haraken@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed. Marked platform/chromium/virtual/deferred/fast/images/webgl-teximage2d.html as TIMEOUT.

  • platform/chromium/TestExpectations:
4:54 PM Changeset in webkit [135089] by haraken@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed. Marked fast/images/webgl-teximage2d.html as TIMEOUT.

  • platform/chromium/TestExpectations:
4:41 PM Changeset in webkit [135088] by commit-queue@webkit.org
  • 6 edits in trunk

.: [BlackBerry] Enable Touch Sliders

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

Reviewed by Rob Buis.

Enabled for BlackBerry only
PR #242781
PR #176014

  • Source/cmake/OptionsBlackBerry.cmake:
  • Source/cmake/WebKitFeatures.cmake:
  • Source/cmakeconfig.h.cmake:

Patch by Genevieve Mak <gmak@rim.com> on 2012-11-18

Tools: [BlackBerry] Enable Touch Sliders
https://bugs.webkit.org/show_bug.cgi?id=102516

Patch by Genevieve Mak <gmak@rim.com> on 2012-11-18
Reviewed by Rob Buis.

Enabled for BlackBerry only
PR #242781
PR #176014

  • Scripts/webkitperl/FeatureList.pm:
3:52 PM Changeset in webkit [135087] by haraken@chromium.org
  • 2 edits in trunk/Source/WebCore

[V8] Remove GetTypeFromSignature() from CodeGeneratorV8.pm
https://bugs.webkit.org/show_bug.cgi?id=102499

Reviewed by Adam Barth.

No tests. No change in behavior.

  • bindings/scripts/CodeGeneratorV8.pm:

(GenerateNormalAttrGetter):
(GenerateNormalAttrSetter):
(GenerateParametersCheckExpression):
(GenerateParametersCheck):
(GenerateFunctionCallString):
(GetNativeTypeFromSignature):
(TranslateParameter):
(TypeCanFailConversion):
(JSValueToNative):
(NativeToJSValue):

3:49 PM Changeset in webkit [135086] by Simon Fraser
  • 4 edits in trunk/LayoutTests

Rebaselines.

  • platform/mac/fast/media/mq-js-media-except-02-expected.txt:
  • platform/mac/fast/media/mq-js-media-except-03-expected.txt:
  • platform/mac/svg/custom/baseval-animval-equality-expected.txt:
3:44 PM Changeset in webkit [135085] by haraken@chromium.org
  • 7 edits in trunk/Source/WebCore

Remove GenerateModule() from all code generators
https://bugs.webkit.org/show_bug.cgi?id=102490

Reviewed by Adam Barth.

WebKit IDL files no longer support modules. The Web IDL spec
no longer supports modules. We can remove it from code generators.

No tests. No change in behavior.

  • bindings/scripts/CodeGenerator.pm:

(ProcessDocument):

  • bindings/scripts/CodeGeneratorCPP.pm:
  • bindings/scripts/CodeGeneratorGObject.pm:
  • bindings/scripts/CodeGeneratorJS.pm:
  • bindings/scripts/CodeGeneratorObjC.pm:
  • bindings/scripts/CodeGeneratorV8.pm:
3:42 PM Changeset in webkit [135084] by haraken@chromium.org
  • 2 edits in trunk/Source/WebCore

[V8] Get rid of unused functions and inline redundant functions in CodeGeneratorV8.pm
https://bugs.webkit.org/show_bug.cgi?id=102497

Reviewed by Adam Barth.

No tests. No change in behavior.

  • bindings/scripts/CodeGeneratorV8.pm:

(GenerateDomainSafeFunctionGetter):
(GenerateNormalAttrGetter):
(GenerateFunctionCallString):

3:07 PM Changeset in webkit [135083] by rakuco@webkit.org
  • 5 edits
    6 deletes in trunk/Source/WebCore

Unreviewed, rolling out r135074.
http://trac.webkit.org/changeset/135074
https://bugs.webkit.org/show_bug.cgi?id=102619

Made most layout tests crash. (Requested by rakuco on
#webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-11-18

  • PlatformEfl.cmake:
  • platform/graphics/efl/GraphicsContext3DEfl.cpp:

(WebCore::GraphicsContext3D::create):
(WebCore::GraphicsContext3D::GraphicsContext3D):
(WebCore::GraphicsContext3D::~GraphicsContext3D):
(WebCore::GraphicsContext3D::makeContextCurrent):
(WebCore::GraphicsContext3D::setContextLostCallback):

  • platform/graphics/efl/GraphicsContext3DPrivate.cpp:

(WebCore::GraphicsContext3DPrivate::GraphicsContext3DPrivate):
(WebCore::GraphicsContext3DPrivate::~GraphicsContext3DPrivate):
(WebCore::GraphicsContext3DPrivate::createSurface):
(WebCore::GraphicsContext3DPrivate::setCurrentGLContext):
(WebCore::GraphicsContext3DPrivate::platformGraphicsContext3D):
(WebCore::GraphicsContext3DPrivate::makeContextCurrent):
(WebCore::GraphicsContext3DPrivate::createGraphicsSurfaces):
(WebCore::GraphicsContext3DPrivate::copyToGraphicsSurface):
(WebCore::GraphicsContext3DPrivate::graphicsSurfaceToken):

  • platform/graphics/efl/GraphicsContext3DPrivate.h:

(GraphicsContext3DPrivate):

  • platform/graphics/opengl/GLDefs.h: Removed.
  • platform/graphics/opengl/GLPlatformContext.cpp: Removed.
  • platform/graphics/opengl/GLPlatformContext.h: Removed.
  • platform/graphics/opengl/GLPlatformSurface.cpp: Removed.
  • platform/graphics/opengl/GLPlatformSurface.h: Removed.
  • platform/graphics/surfaces/glx/GLXContext.cpp: Removed.
  • platform/graphics/surfaces/glx/GLXContext.h: Removed.
  • platform/graphics/surfaces/glx/GLXSurface.cpp: Removed.
  • platform/graphics/surfaces/glx/GLXSurface.h: Removed.
2:38 PM Changeset in webkit [135082] by Antti Koivisto
  • 10 edits
    2 adds in trunk

REGRESSION(r129644): User StyleSheet not applying
https://bugs.webkit.org/show_bug.cgi?id=102110

Reviewed by Andreas Kling.

Source/WebCore:

Injected stylesheets added as UserStyleAuthorLevel fail to apply. r129644 implicitly assumed that
such things don't exists but on Chromium addUserStyleSheet() confusingly uses them.

The patch adds injected author stylesheets to DocumentStyleSheetCollection::activeStyleSheets().
It also generally cleans up the code around injected and user stylesheets.

Tests: userscripts/user-script-and-stylesheet.html

userscripts/user-stylesheet-invalidate.html

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::StyleResolver):
(WebCore::StyleResolver::collectRulesFromUserStyleSheets):
(WebCore::collectCSSOMWrappers):

  • css/StyleResolver.h:

(StyleResolver):

  • dom/Document.cpp:

(WebCore::Document::setCompatibilityMode):

  • dom/DocumentStyleSheetCollection.cpp:

(WebCore::DocumentStyleSheetCollection::DocumentStyleSheetCollection):
(WebCore::DocumentStyleSheetCollection::~DocumentStyleSheetCollection):
(WebCore::DocumentStyleSheetCollection::injectedUserStyleSheets):
(WebCore):
(WebCore::DocumentStyleSheetCollection::injectedAuthorStyleSheets):
(WebCore::DocumentStyleSheetCollection::updateInjectedStyleSheetCache):
(WebCore::DocumentStyleSheetCollection::invalidateInjectedStyleSheetCache):
(WebCore::DocumentStyleSheetCollection::addUserSheet):
(WebCore::DocumentStyleSheetCollection::updateActiveStyleSheets):
(WebCore::DocumentStyleSheetCollection::reportMemoryUsage):

  • dom/DocumentStyleSheetCollection.h:

(WebCore::DocumentStyleSheetCollection::documentUserStyleSheets):
(DocumentStyleSheetCollection):

  • page/PageGroup.cpp:

(WebCore::PageGroup::addUserStyleSheetToWorld):
(WebCore::PageGroup::removeUserStyleSheetFromWorld):
(WebCore::PageGroup::removeUserStyleSheetsFromWorld):
(WebCore::PageGroup::removeAllUserContent):
(WebCore::PageGroup::invalidatedInjectedStyleSheetCacheInAllFrames):

  • page/PageGroup.h:

(PageGroup):

LayoutTests:

  • inspector/timeline/timeline-script-tag-1-expected.txt:

Update the test result. The style invalidation log is slightly different.

  • userscripts/user-stylesheet-invalidate-expected.txt: Added.
  • userscripts/user-stylesheet-invalidate.html: Added.
1:55 PM Changeset in webkit [135081] by abarth@webkit.org
  • 12 edits in trunk/Source/WebCore

Unreviewed.

Update run-bindings-tests baselines after
http://trac.webkit.org/changeset/135063

  • bindings/scripts/test/JS/JSTestActiveDOMObject.h:

(JSTestActiveDOMObjectOwner):

  • bindings/scripts/test/JS/JSTestCustomNamedGetter.h:

(JSTestCustomNamedGetterOwner):

  • bindings/scripts/test/JS/JSTestEventConstructor.h:

(JSTestEventConstructorOwner):

  • bindings/scripts/test/JS/JSTestEventTarget.h:

(JSTestEventTargetOwner):

  • bindings/scripts/test/JS/JSTestException.h:

(JSTestExceptionOwner):

  • bindings/scripts/test/JS/JSTestInterface.h:

(JSTestInterfaceOwner):

  • bindings/scripts/test/JS/JSTestMediaQueryListListener.h:

(JSTestMediaQueryListListenerOwner):

  • bindings/scripts/test/JS/JSTestNamedConstructor.h:

(JSTestNamedConstructorOwner):

  • bindings/scripts/test/JS/JSTestObj.h:

(JSTestObjOwner):

  • bindings/scripts/test/JS/JSTestOverloadedConstructors.h:

(JSTestOverloadedConstructorsOwner):

  • bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:

(JSTestSerializedScriptValueInterfaceOwner):

1:37 PM Changeset in webkit [135080] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

Make convertToLayerCoords iterative, rather than recursive
https://bugs.webkit.org/show_bug.cgi?id=102618

Reviewed by Antti Koivisto.

RenderLayer::convertToLayerCoords() is a hot function on profiles.
Change it to be iterative, rather than recursive, so that the
bulk of the function can be inlined.

Was tested with assertions against the old code during development.

  • rendering/RenderLayer.cpp:

(WebCore::accumulateOffsetTowardsAncestor):
(WebCore::RenderLayer::convertToLayerCoords):

1:34 PM Changeset in webkit [135079] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

DFG constant folding phase should say 'changed = true' whenever it changes the graph
https://bugs.webkit.org/show_bug.cgi?id=102550

Rubber stamped by Mark Hahnenberg.

  • dfg/DFGConstantFoldingPhase.cpp:

(JSC::DFG::ConstantFoldingPhase::foldConstants):

12:25 PM Changeset in webkit [135078] by akling@apple.com
  • 3 edits in trunk/Source/WebCore

Inline the StyledElement constructor.
<http://webkit.org/b/102615>

Reviewed by Antti Koivisto.

StyledElement sits between Element and HTMLElement in the inheritance chain, and both of those are inline.
Knocks ~0.4% of samples off of the DOM/CreateNodes performance test.

  • dom/StyledElement.cpp:
  • dom/StyledElement.h:

(WebCore::StyledElement::StyledElement):

10:54 AM Changeset in webkit [135077] by akling@apple.com
  • 2 edits in trunk/Source/WebCore

HTMLMediaElement: Skip unnecessary attribute lookup in parsing of "src" attribute.
<http://webkit.org/b/102614>

Reviewed by Anders Carlsson.

When parsing the "src" attribute, we don't need to look it up with fastHasAttribute()
to know if it's present. If it's not present, 'value' argument will be null.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::parseAttribute):

10:46 AM Changeset in webkit [135076] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit/chromium

[chromium] add WebCursorInfo::imageScaleFactor
https://bugs.webkit.org/show_bug.cgi?id=102612

Patch by Rick Byers <rbyers@chromium.org> on 2012-11-18
Reviewed by Adam Barth.

Add cursor image scale factor (currently always 1) to chromium API, in preparation for
high-dpi cursor support in bug 99493.

  • public/WebCursorInfo.h:

(WebKit::WebCursorInfo::WebCursorInfo):

  • src/WebCursorInfo.cpp:

(WebKit::WebCursorInfo::WebCursorInfo):

10:38 AM Changeset in webkit [135075] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

[EFL][WK2] Wrong transform when using software path.
https://bugs.webkit.org/show_bug.cgi?id=102549

Patch by Yael Aharon <yael.aharon@intel.com> on 2012-11-18
Reviewed by Kenneth Rohde Christiansen.

When using the software path, our transform is not correct and results
in drawing the wrong part of the page. This becomes more obvious after scrolling.

  • UIProcess/efl/WebInspectorProxyEfl.cpp:

(WebKit::WebInspectorProxy::platformCreateInspectorPage):

10:33 AM Changeset in webkit [135074] by commit-queue@webkit.org
  • 5 edits
    10 adds in trunk/Source/WebCore

[EFL] Refactor GraphicsContext3DEFL.
https://bugs.webkit.org/show_bug.cgi?id=101291.

Patch by Kondapally Kalyan <kalyan.kondapally@intel.com> on 2012-11-18
Reviewed by Kenneth Rohde Christiansen.

GraphicsContext3DEfl creates GraphicsContext3DPrivate, which acts as its platform Layer.
GraphicsContext3DPrivate needs to handle the following cases:
1) To provide an off-screen buffer for accelerated composition.
2) Render to a current context.
3) To render directly to host window. (currently not supported.)

Before this patch Evas was used to provide us an off-screen context and buffer. GLX was used in
the other supported case. Evas acts as a glue layer to provide us with appropriate
GL bindings (OpenGL functions), GL context and drawable (surface/offscreenbuffer).
However, primitive rendering is handled by TextureMapper and OpenGLShims is used to load the needed GL functions.

It would be for our advantage to be able to take in to use any optimisations/extensions
provided by underlying drivers, specific to a platform (e.g. GLX_MESA_copy_sub_buffer etc.).
This patch introduces an abstraction layer to make it easy to add support for any GL backend (GLX, EGL etc.)
and do any platform specific optimizations as needed without complicating GraphicsContext3DPrivate class.
Two new classes are added with this implementation, GLPlatformContext and GLPlatformSurface.
GraphicsContext3DPrivate would create and own a GLPlatformContext and GLPlatformSurface.

GLPlatformContext encapsulates an OpenGL context hiding any platform specific management.
It uses GL extension ARB_robustness (when available) to detect driver resets.
It defines a simple interface for things that need to be handled by the context. Support
for multi-threaded usage and shared context-group would be added later.

GLPlatformSurface encapsulates an OpenGL drawable hiding any platform specific management.
It defines a simple interface for things that need to be handled by the surface.
It creates an off-screen rendering area. Any GLPlatformContext (compatible with the surface)
can be used to render into this off-screen area.

This patch also adds GLX implementation. To keep the patch to minimum EGL support would be added in another changeset.

  • PlatformEfl.cmake:
  • platform/graphics/efl/GraphicsContext3DEfl.cpp:

(WebCore::GraphicsContext3D::create):
(WebCore::GraphicsContext3D::GraphicsContext3D):
(WebCore::GraphicsContext3D::~GraphicsContext3D):
(WebCore::GraphicsContext3D::makeContextCurrent):
(WebCore::GraphicsContext3D::setContextLostCallback):

  • platform/graphics/efl/GraphicsContext3DPrivate.cpp:

(WebCore::GraphicsContext3DPrivate::GraphicsContext3DPrivate):
(GraphicsContext3DPrivate::~GraphicsContext3DPrivate):
(GraphicsContext3DPrivate::releaseResources):
(GraphicsContext3DPrivate::setContextLostCallback):
(GraphicsContext3DPrivate::platformGraphicsContext3D):
(GraphicsContext3DPrivate::makeContextCurrent):
(GraphicsContext3DPrivate::createGraphicsSurfaces):
(GraphicsContext3DPrivate::copyToGraphicsSurface):
(GraphicsContext3DPrivate::graphicsSurfaceToken):

  • platform/graphics/efl/GraphicsContext3DPrivate.h:

(GraphicsContext3DPrivate):

  • platform/graphics/opengl/GLDefs.h: Added.

(WebCore):

  • platform/graphics/opengl/GLPlatformContext.cpp: Added.

(WebCore):
(WebCore::GLPlatformContext::createContext):
(WebCore::GLPlatformContext::createOffScreenContext):
(WebCore::GLPlatformContext::createCurrentContextWrapper):
(WebCore::GLPlatformContext::GLPlatformContext):
(WebCore::GLPlatformContext::~GLPlatformContext):
(WebCore::GLPlatformContext::makeCurrent):
(WebCore::GLPlatformContext::isValid):
(WebCore::GLPlatformContext::releaseCurrent):
(WebCore::GLPlatformContext::handle):
(WebCore::GLPlatformContext::isCurrentContext):
(WebCore::GLPlatformContext::initialize):
(WebCore::GLPlatformContext::getCurrent):
(WebCore::GLPlatformContext::platformMakeCurrent):
(WebCore::GLPlatformContext::platformReleaseCurrent):
(WebCore::GLPlatformContext::destroy):

  • platform/graphics/opengl/GLPlatformContext.h: Added.

(WebCore):
(GLPlatformContext):

  • platform/graphics/opengl/GLPlatformSurface.cpp: Added.

(WebCore):
(WebCore::GLPlatformSurface::createOffscreenSurface):
(WebCore::GLPlatformSurface::createTransportSurface):
(WebCore::GLPlatformSurface::GLPlatformSurface):
(WebCore::GLPlatformSurface::~GLPlatformSurface):
(WebCore::GLPlatformSurface::handle):
(WebCore::GLPlatformSurface::geometry):
(WebCore::GLPlatformSurface::sharedDisplay):
(WebCore::GLPlatformSurface::configuration):
(WebCore::GLPlatformSurface::swapBuffers):
(WebCore::GLPlatformSurface::copyTexture):
(WebCore::GLPlatformSurface::updateContents):
(WebCore::GLPlatformSurface::setGeometry):
(WebCore::GLPlatformSurface::destroy):

  • platform/graphics/opengl/GLPlatformSurface.h: Added.

(WebCore):
(GLPlatformSurface):

GLXOffScreenContext creates an off-screen context. This is used when
renderstyle is RenderOffscreen.
It uses GL extension GLX_ARB_create_context (when available)
to create a context else falls back to use glXCreateNewContext.

  • platform/graphics/surfaces/glx/GLXContext.cpp: Added.

(WebCore):
(WebCore::initializeARBExtensions):
(WebCore::GLXOffScreenContext::GLXOffScreenContext):
(WebCore::GLXOffScreenContext::initialize):
(WebCore::GLXOffScreenContext::~GLXOffScreenContext):
(WebCore::GLXOffScreenContext::isCurrentContext):
(WebCore::GLXOffScreenContext::platformMakeCurrent):
(WebCore::GLXOffScreenContext::platformReleaseCurrent):
(WebCore::GLXOffScreenContext::freeResources):
(WebCore::GLXOffScreenContext::destroy):

GLXCurrentContextWrapper acts as a wrapper for current context.
This is used when renderstyle is RenderToCurrentGLContext.

  • platform/graphics/surfaces/glx/GLXContext.h: Added.

(WebCore):
(GLXCurrentContextWrapper):
(WebCore::GLXCurrentContextWrapper::GLXCurrentContextWrapper):
(WebCore::GLXCurrentContextWrapper::~GLXCurrentContextWrapper):
(GLXOffScreenContext):

  • platform/graphics/surfaces/glx/GLXSurface.cpp: Added.

(WebCore):
(WebCore::GLXSurface::GLXSurface):
(WebCore::GLXSurface::~GLXSurface):
(WebCore::GLXSurface::visualInfo):
(WebCore::GLXSurface::xWindow):
(WebCore::GLXSurface::pBufferConfiguration):
(WebCore::GLXSurface::transportSurfaceConfiguration):
(WebCore::GLXSurface::isXRenderExtensionSupported):

GLXTransportSurface creates Window and uses it as an off-screen surface.
Any GLContext that was created with respect to configuration can be used
to render into this.
This is used when contents of the buffer are to be provided to UI Process
for display.

(WebCore::GLXTransportSurface::GLXTransportSurface):
(WebCore::GLXTransportSurface::~GLXTransportSurface):
(WebCore::GLXTransportSurface::configuration):
(WebCore::GLXTransportSurface::swapBuffers):
(WebCore::GLXTransportSurface::setGeometry):
(WebCore::GLXTransportSurface::initialize):
(WebCore::GLXTransportSurface::destroy):
(WebCore::GLXTransportSurface::freeResources):

GLXPBuffer, Creates a GL surface (PBuffer) used for offscreen rendering.
Any GLContext that was created with respect to configuration can be used
to render into this.

(WebCore::GLXPBuffer::GLXPBuffer):
(WebCore::GLXPBuffer::~GLXPBuffer):
(WebCore::GLXPBuffer::initialize):
(WebCore::GLXPBuffer::configuration):
(WebCore::GLXPBuffer::destroy):
(WebCore::GLXPBuffer::freeResources):

  • platform/graphics/surfaces/glx/GLXSurface.h: Added.

(WebCore):

Creates X resources which are shared between surface and context.

(SharedX11Resources):
(WebCore::SharedX11Resources::create):
(WebCore::SharedX11Resources::deref):
(WebCore::SharedX11Resources::getXWindow):
(WebCore::SharedX11Resources::display):
(WebCore::SharedX11Resources::visualInfo):
(WebCore::SharedX11Resources::createConfig):
(WebCore::SharedX11Resources::pBufferContextConfig):
(WebCore::SharedX11Resources::surfaceContextConfig):
(WebCore::SharedX11Resources::isXRenderExtensionSupported):
(WebCore::SharedX11Resources::SharedX11Resources):
(WebCore::SharedX11Resources::~SharedX11Resources):
(GLXSurface):
(GLXTransportSurface):
(GLXPBuffer):

10:07 AM Changeset in webkit [135073] by Simon Fraser
  • 3 edits in branches/safari-536.28-branch/Source/WebCore

<rdar://problem/12726004> Chopin: Don't say there are dirty overlay scrollbars when they are clipped out (102609)
Merge r135064

2012-11-17 Simon Fraser <Simon Fraser>

Don't say there are dirty overlay scrollbars when they are clipped out
https://bugs.webkit.org/show_bug.cgi?id=102609

Reviewed by Brady Eidson.

Painting overlay scrollbars involves a second painting pass over the entire
RenderLayer subtree for a compositing layer, which can be very expensive.

Avoid this when possible by detecting when overflow controls are not in
the damage rect.

  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::rectForHorizontalScrollbar): Compute a local rect for the horizontal scrollbar. (WebCore::RenderLayer::rectForVerticalScrollbar): Compute a local rect for the vertical scrollbar. (WebCore::RenderLayer::positionOverflowControls): Use rectForHorizontalScrollbar() and rectForVerticalScrollbar(). (WebCore::RenderLayer::overflowControlsIntersectRect): Return true if any of the present overflow controls intersect the given local rect. (WebCore::RenderLayer::paintOverflowControls): Bail if the damage rect doesn't intersect any of the overflow controls.
  • rendering/RenderLayer.h: (RenderLayer):
10:07 AM Changeset in webkit [135072] by Simon Fraser
  • 4 edits in branches/safari-536.28-branch

<rdar://problem/12725998> Simplify bounds computation for the RenderView's layer (102597)
Merge r135059

Source/WebCore:

2012-11-17 Simon Fraser <Simon Fraser>

Simplify bounds computation for the RenderView's layer
https://bugs.webkit.org/show_bug.cgi?id=102597

Reviewed by Anders Carlsson.

Computing the bounds of the main layer (that of the RenderView) used to do
a full RenderLayer walk, taking the union of the bounds of all the sublayers,
which is very expensive on large pages.

For the RenderView we can avoid that entirely and just use the RenderView's
document rect. Since page scaling happens as a transform on this layer,
we want the unscaled document rect.

  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::calculateLayerBounds):

LayoutTests:

2012-11-17 Simon Fraser <Simon Fraser>

Simplify bounds computation for the RenderView's layer
https://bugs.webkit.org/show_bug.cgi?id=102597

Reviewed by Anders Carlsson.

Progressions as a result of this change:

  • compositing/layer-creation/fixed-position-out-of-view-expected.txt: The height is now the page height, since the page is scrollable.
  • compositing/tiling/tile-cache-zoomed-expected.txt: The main layer now is not affected by the page scale transform.
  • platform/mac/compositing/tiling/tile-cache-zoomed-expected.txt: Ditto.
10:06 AM Changeset in webkit [135071] by Simon Fraser
  • 5 edits in branches/safari-536.28-branch/Source/WebCore

<rdar://problem/12725980> Fix overlay scrollbar painting in compositing layers (102442)
Merge r135029

2012-11-16 Simon Fraser <Simon Fraser>

Fix overlay scrollbar painting in compositing layers
https://bugs.webkit.org/show_bug.cgi?id=102442

Reviewed by Beth Dakin.

There were two issues with overlay scrollbar painting in
compositing layers.

First, we'd only ever call setContainsDirtyOverlayScrollbars()
on the RenderView's layer, even when encountering an overlay scrollbar
in some descendant compositing layer. This meant that we'd never
run the paintOverlayScrollbars() code for those child compositing
layers, so sometimes scrollbars were missing there.

Even after fixing that, we would fail to render scrollbars that
were not in the composited RenderLayer itself. This happened because
we called into RenderLayer::paintOverlayScrollbars(), which called
paintLayer() with flags that only said to paint the overlay scrollbars
but not any descendants, so this paint path would not walk child
RenderLayers.

Also remove the containsScrollableAreaWithOverlayScrollbars() flag on
ScrollView which is no longer used.

  • platform/ScrollView.cpp: (WebCore::ScrollView::ScrollView): Remove containsScrollableAreaWithOverlayScrollbars(). (WebCore::ScrollView::paint): Remove setting of m_containsScrollableAreaWithOverlayScrollbars.
  • platform/ScrollView.h:
  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::paintOverflowControls): Call setContainsDirtyOverlayScrollbars() on the compositing ancestor or the root. Remove call to setContainsScrollableAreaWithOverlayScrollbars(). (WebCore::RenderLayer::paintOverlayScrollbars): When painting overlay scrollbars, no need to say we have transparency, and no need to use temporary clip rects. (WebCore::RenderLayer::paintLayer): The PaintLayerPaintingOverlayScrollbars check here was only needed because the compositing entrypoint to painting overlay scrollbars went via paintLayer(), which isn't normally used as a composited painting entry point. Now that we no longer call that, we don't need this special check.
  • rendering/RenderLayerBacking.cpp: (WebCore::RenderLayerBacking::paintIntoLayer): Jump into overlay scrollbar painting via paintLayerContents(), not paintOverlayScrollbars(), since the latter does not traverse sublayers.
10:06 AM Changeset in webkit [135070] by Simon Fraser
  • 5 edits
    2 adds in branches/safari-536.28-branch

Prerequisite for <rdar://problem/12725980> Fix overlay scrollbar painting in compositing layers (102442)
Merge r127943

.:

2012-09-07 Simon Fraser <Simon Fraser>

box-shadow causes overlay scrollbars to be in the wrong position when element is composited
https://bugs.webkit.org/show_bug.cgi?id=85647

Reviewed by James Robinson.

Test overlay scrollbars in composited layers.

  • ManualTests/scrollbars/scrollbars-in-composited-layers.html: Added.

Source/WebCore:

2012-09-07 Simon Fraser <Simon Fraser>

box-shadow causes overlay scrollbars to be in the wrong position when element is composited
https://bugs.webkit.org/show_bug.cgi?id=85647

Reviewed by James Robinson.

The code that positioned the GraphicsLayers for scrollbars failed to take
into account any offset between the origin of the compositing layer,
and the renderer. This caused scrollbar layers to be misplaced or hidden
on layers with, for example, box-shadows.

Also moved the code that positions the scrollbar layers into RendderLayerBacking,
since this is where all the rest of the GraphicsLayer-positioning code lives.

Renamed an "offsetFromLayer" param to "offsetFromRoot" which is more accurate.

Manual test, since overlay scrollbars are not enabled in DRT/WTR:

ManualTests/scrollbars/scrollbars-in-composited-layers.html

  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::positionOverflowControls):
  • rendering/RenderLayerBacking.cpp: (WebCore::RenderLayerBacking::positionOverflowControlsLayers):
  • rendering/RenderLayerBacking.h: (RenderLayerBacking):
8:55 AM Changeset in webkit [135069] by akling@apple.com
  • 229 edits in trunk/Source/WebCore

Element::parseAttribute() should take name & value as separate arguments.
<http://webkit.org/b/102608>

Reviewed by Antti Koivisto.

Update the signature of parseAttribute() to take a QualifiedName/AtomicString combo instead
of an Attribute. This lets us pass avoid refcount churn in Element::attributeChanged() since
creating a temporary Attribute is no longer necessary.

This was surprisingly hot (~1%) on the DOM/CreateNodes performance test.

  • bindings/js/ScriptEventListener.cpp:

(WebCore::createAttributeEventListener):

  • bindings/js/ScriptEventListener.h:

(WebCore):

  • bindings/v8/ScriptEventListener.cpp:

(WebCore::createAttributeEventListener):

  • bindings/v8/ScriptEventListener.h:

(WebCore):

  • dom/Element.cpp:

(WebCore::Element::attributeChanged):
(WebCore::Element::parseAttribute):

  • dom/Element.h:

(Element):

  • dom/StyledElement.cpp:

(WebCore::StyledElement::parseAttribute):

  • dom/StyledElement.h:

(StyledElement):

  • html/HTMLAnchorElement.cpp:

(WebCore::HTMLAnchorElement::parseAttribute):

  • html/HTMLAnchorElement.h:

(HTMLAnchorElement):

  • html/HTMLAppletElement.cpp:

(WebCore::HTMLAppletElement::parseAttribute):

  • html/HTMLAppletElement.h:

(HTMLAppletElement):

  • html/HTMLAreaElement.cpp:

(WebCore::HTMLAreaElement::parseAttribute):

  • html/HTMLAreaElement.h:

(HTMLAreaElement):

  • html/HTMLBaseElement.cpp:

(WebCore::HTMLBaseElement::parseAttribute):

  • html/HTMLBaseElement.h:

(HTMLBaseElement):

  • html/HTMLBodyElement.cpp:

(WebCore::HTMLBodyElement::parseAttribute):

  • html/HTMLBodyElement.h:

(HTMLBodyElement):

  • html/HTMLButtonElement.cpp:

(WebCore::HTMLButtonElement::parseAttribute):

  • html/HTMLButtonElement.h:
  • html/HTMLCanvasElement.cpp:

(WebCore::HTMLCanvasElement::parseAttribute):

  • html/HTMLCanvasElement.h:

(HTMLCanvasElement):

  • html/HTMLDetailsElement.cpp:

(WebCore::HTMLDetailsElement::parseAttribute):

  • html/HTMLDetailsElement.h:

(HTMLDetailsElement):

  • html/HTMLElement.cpp:

(WebCore::HTMLElement::parseAttribute):
(WebCore::HTMLElement::dirAttributeChanged):

  • html/HTMLElement.h:

(HTMLElement):

  • html/HTMLEmbedElement.cpp:

(WebCore::HTMLEmbedElement::parseAttribute):

  • html/HTMLEmbedElement.h:

(HTMLEmbedElement):

  • html/HTMLFormControlElement.cpp:

(WebCore::HTMLFormControlElement::parseAttribute):

  • html/HTMLFormControlElement.h:

(HTMLFormControlElement):

  • html/HTMLFormElement.cpp:

(WebCore::HTMLFormElement::parseAttribute):

  • html/HTMLFormElement.h:

(HTMLFormElement):

  • html/HTMLFrameElement.cpp:

(WebCore::HTMLFrameElement::parseAttribute):

  • html/HTMLFrameElement.h:

(HTMLFrameElement):

  • html/HTMLFrameElementBase.cpp:

(WebCore::HTMLFrameElementBase::parseAttribute):

  • html/HTMLFrameElementBase.h:

(HTMLFrameElementBase):

  • html/HTMLFrameSetElement.cpp:

(WebCore::HTMLFrameSetElement::parseAttribute):

  • html/HTMLFrameSetElement.h:

(HTMLFrameSetElement):

  • html/HTMLIFrameElement.cpp:

(WebCore::HTMLIFrameElement::parseAttribute):

  • html/HTMLIFrameElement.h:

(HTMLIFrameElement):

  • html/HTMLImageElement.cpp:

(WebCore::HTMLImageElement::parseAttribute):

  • html/HTMLImageElement.h:

(HTMLImageElement):

  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::parseAttribute):
(WebCore::HTMLInputElement::parseMaxLengthAttribute):

  • html/HTMLInputElement.h:

(HTMLInputElement):

  • html/HTMLKeygenElement.cpp:

(WebCore::HTMLKeygenElement::parseAttribute):

  • html/HTMLKeygenElement.h:

(HTMLKeygenElement):

  • html/HTMLLIElement.cpp:

(WebCore::HTMLLIElement::parseAttribute):

  • html/HTMLLIElement.h:

(HTMLLIElement):

  • html/HTMLLinkElement.cpp:

(WebCore::HTMLLinkElement::parseAttribute):

  • html/HTMLLinkElement.h:

(HTMLLinkElement):

  • html/HTMLMapElement.cpp:

(WebCore::HTMLMapElement::parseAttribute):

  • html/HTMLMapElement.h:

(HTMLMapElement):

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::parseAttribute):

  • html/HTMLMediaElement.h:
  • html/HTMLMetaElement.cpp:

(WebCore::HTMLMetaElement::parseAttribute):

  • html/HTMLMetaElement.h:

(HTMLMetaElement):

  • html/HTMLMeterElement.cpp:

(WebCore::HTMLMeterElement::parseAttribute):

  • html/HTMLMeterElement.h:

(HTMLMeterElement):

  • html/HTMLOListElement.cpp:

(WebCore::HTMLOListElement::parseAttribute):

  • html/HTMLOListElement.h:

(HTMLOListElement):

  • html/HTMLObjectElement.cpp:

(WebCore::HTMLObjectElement::parseAttribute):

  • html/HTMLObjectElement.h:

(HTMLObjectElement):

  • html/HTMLOptGroupElement.cpp:

(WebCore::HTMLOptGroupElement::parseAttribute):

  • html/HTMLOptGroupElement.h:
  • html/HTMLOptionElement.cpp:

(WebCore::HTMLOptionElement::parseAttribute):

  • html/HTMLOptionElement.h:

(HTMLOptionElement):

  • html/HTMLOutputElement.cpp:

(WebCore::HTMLOutputElement::parseAttribute):

  • html/HTMLOutputElement.h:

(HTMLOutputElement):

  • html/HTMLProgressElement.cpp:

(WebCore::HTMLProgressElement::parseAttribute):

  • html/HTMLProgressElement.h:
  • html/HTMLScriptElement.cpp:

(WebCore::HTMLScriptElement::parseAttribute):

  • html/HTMLScriptElement.h:

(HTMLScriptElement):

  • html/HTMLSelectElement.cpp:

(WebCore::HTMLSelectElement::parseAttribute):
(WebCore::HTMLSelectElement::parseMultipleAttribute):

  • html/HTMLSelectElement.h:
  • html/HTMLStyleElement.cpp:

(WebCore::HTMLStyleElement::parseAttribute):

  • html/HTMLStyleElement.h:

(HTMLStyleElement):

  • html/HTMLTableCellElement.cpp:

(WebCore::HTMLTableCellElement::parseAttribute):

  • html/HTMLTableCellElement.h:

(HTMLTableCellElement):

  • html/HTMLTableColElement.cpp:

(WebCore::HTMLTableColElement::parseAttribute):

  • html/HTMLTableColElement.h:

(HTMLTableColElement):

  • html/HTMLTableElement.cpp:

(WebCore::HTMLTableElement::parseAttribute):

  • html/HTMLTableElement.h:

(HTMLTableElement):

  • html/HTMLTextAreaElement.cpp:

(WebCore::HTMLTextAreaElement::parseAttribute):

  • html/HTMLTextAreaElement.h:

(HTMLTextAreaElement):

  • html/HTMLTextFormControlElement.cpp:

(WebCore::HTMLTextFormControlElement::parseAttribute):

  • html/HTMLTextFormControlElement.h:

(HTMLTextFormControlElement):

  • html/HTMLTrackElement.cpp:

(WebCore::HTMLTrackElement::parseAttribute):

  • html/HTMLTrackElement.h:

(HTMLTrackElement):

  • html/HTMLVideoElement.cpp:

(WebCore::HTMLVideoElement::parseAttribute):

  • html/HTMLVideoElement.h:

(HTMLVideoElement):

  • html/shadow/HTMLContentElement.cpp:

(WebCore::HTMLContentElement::parseAttribute):

  • html/shadow/HTMLContentElement.h:

(HTMLContentElement):

  • mathml/MathMLElement.cpp:

(WebCore::MathMLElement::parseAttribute):

  • mathml/MathMLElement.h:

(MathMLElement):

  • svg/SVGAElement.cpp:

(WebCore::SVGAElement::parseAttribute):

  • svg/SVGAElement.h:

(SVGAElement):

  • svg/SVGAnimateMotionElement.cpp:

(WebCore::SVGAnimateMotionElement::parseAttribute):

  • svg/SVGAnimateMotionElement.h:

(SVGAnimateMotionElement):

  • svg/SVGAnimateTransformElement.cpp:

(WebCore::SVGAnimateTransformElement::parseAttribute):

  • svg/SVGAnimateTransformElement.h:

(SVGAnimateTransformElement):

  • svg/SVGAnimationElement.cpp:

(WebCore::SVGAnimationElement::parseAttribute):

  • svg/SVGAnimationElement.h:

(SVGAnimationElement):

  • svg/SVGCircleElement.cpp:

(WebCore::SVGCircleElement::parseAttribute):

  • svg/SVGCircleElement.h:

(SVGCircleElement):

  • svg/SVGClipPathElement.cpp:

(WebCore::SVGClipPathElement::parseAttribute):

  • svg/SVGClipPathElement.h:

(SVGClipPathElement):

  • svg/SVGComponentTransferFunctionElement.cpp:

(WebCore::SVGComponentTransferFunctionElement::parseAttribute):

  • svg/SVGComponentTransferFunctionElement.h:

(SVGComponentTransferFunctionElement):

  • svg/SVGCursorElement.cpp:

(WebCore::SVGCursorElement::parseAttribute):

  • svg/SVGCursorElement.h:

(SVGCursorElement):

  • svg/SVGElement.cpp:

(WebCore::SVGElement::reportAttributeParsingError):
(WebCore::SVGElement::parseAttribute):

  • svg/SVGElement.h:

(SVGElement):

  • svg/SVGEllipseElement.cpp:

(WebCore::SVGEllipseElement::parseAttribute):

  • svg/SVGEllipseElement.h:

(SVGEllipseElement):

  • svg/SVGExternalResourcesRequired.cpp:

(WebCore::SVGExternalResourcesRequired::parseAttribute):

  • svg/SVGExternalResourcesRequired.h:

(SVGExternalResourcesRequired):

  • svg/SVGFEBlendElement.cpp:

(WebCore::SVGFEBlendElement::parseAttribute):

  • svg/SVGFEBlendElement.h:

(SVGFEBlendElement):

  • svg/SVGFEColorMatrixElement.cpp:

(WebCore::SVGFEColorMatrixElement::parseAttribute):

  • svg/SVGFEColorMatrixElement.h:

(SVGFEColorMatrixElement):

  • svg/SVGFEComponentTransferElement.cpp:

(WebCore::SVGFEComponentTransferElement::parseAttribute):

  • svg/SVGFEComponentTransferElement.h:

(SVGFEComponentTransferElement):

  • svg/SVGFECompositeElement.cpp:

(WebCore::SVGFECompositeElement::parseAttribute):

  • svg/SVGFECompositeElement.h:

(SVGFECompositeElement):

  • svg/SVGFEConvolveMatrixElement.cpp:

(WebCore::SVGFEConvolveMatrixElement::parseAttribute):

  • svg/SVGFEConvolveMatrixElement.h:

(SVGFEConvolveMatrixElement):

  • svg/SVGFEDiffuseLightingElement.cpp:

(WebCore::SVGFEDiffuseLightingElement::parseAttribute):

  • svg/SVGFEDiffuseLightingElement.h:

(SVGFEDiffuseLightingElement):

  • svg/SVGFEDisplacementMapElement.cpp:

(WebCore::SVGFEDisplacementMapElement::parseAttribute):

  • svg/SVGFEDisplacementMapElement.h:

(SVGFEDisplacementMapElement):

  • svg/SVGFEDropShadowElement.cpp:

(WebCore::SVGFEDropShadowElement::parseAttribute):

  • svg/SVGFEDropShadowElement.h:

(SVGFEDropShadowElement):

  • svg/SVGFEGaussianBlurElement.cpp:

(WebCore::SVGFEGaussianBlurElement::parseAttribute):

  • svg/SVGFEGaussianBlurElement.h:

(SVGFEGaussianBlurElement):

  • svg/SVGFEImageElement.cpp:

(WebCore::SVGFEImageElement::parseAttribute):

  • svg/SVGFEImageElement.h:

(SVGFEImageElement):

  • svg/SVGFELightElement.cpp:

(WebCore::SVGFELightElement::parseAttribute):

  • svg/SVGFELightElement.h:

(SVGFELightElement):

  • svg/SVGFEMergeNodeElement.cpp:

(WebCore::SVGFEMergeNodeElement::parseAttribute):

  • svg/SVGFEMergeNodeElement.h:

(SVGFEMergeNodeElement):

  • svg/SVGFEMorphologyElement.cpp:

(WebCore::SVGFEMorphologyElement::parseAttribute):

  • svg/SVGFEMorphologyElement.h:

(SVGFEMorphologyElement):

  • svg/SVGFEOffsetElement.cpp:

(WebCore::SVGFEOffsetElement::parseAttribute):

  • svg/SVGFEOffsetElement.h:

(SVGFEOffsetElement):

  • svg/SVGFESpecularLightingElement.cpp:

(WebCore::SVGFESpecularLightingElement::parseAttribute):

  • svg/SVGFESpecularLightingElement.h:

(SVGFESpecularLightingElement):

  • svg/SVGFETileElement.cpp:

(WebCore::SVGFETileElement::parseAttribute):

  • svg/SVGFETileElement.h:

(SVGFETileElement):

  • svg/SVGFETurbulenceElement.cpp:

(WebCore::SVGFETurbulenceElement::parseAttribute):

  • svg/SVGFETurbulenceElement.h:

(SVGFETurbulenceElement):

  • svg/SVGFilterElement.cpp:

(WebCore::SVGFilterElement::parseAttribute):

  • svg/SVGFilterElement.h:

(SVGFilterElement):

  • svg/SVGFilterPrimitiveStandardAttributes.cpp:

(WebCore::SVGFilterPrimitiveStandardAttributes::parseAttribute):

  • svg/SVGFilterPrimitiveStandardAttributes.h:

(SVGFilterPrimitiveStandardAttributes):

  • svg/SVGFitToViewBox.h:

(WebCore::SVGFitToViewBox::parseAttribute):

  • svg/SVGFontFaceElement.cpp:

(WebCore::SVGFontFaceElement::parseAttribute):

  • svg/SVGFontFaceElement.h:

(SVGFontFaceElement):

  • svg/SVGFontFaceUriElement.cpp:

(WebCore::SVGFontFaceUriElement::parseAttribute):

  • svg/SVGFontFaceUriElement.h:

(SVGFontFaceUriElement):

  • svg/SVGForeignObjectElement.cpp:

(WebCore::SVGForeignObjectElement::parseAttribute):

  • svg/SVGForeignObjectElement.h:

(SVGForeignObjectElement):

  • svg/SVGGElement.cpp:

(WebCore::SVGGElement::parseAttribute):

  • svg/SVGGElement.h:

(SVGGElement):

  • svg/SVGGlyphElement.cpp:

(WebCore::SVGGlyphElement::parseAttribute):

  • svg/SVGGlyphElement.h:

(SVGGlyphElement):

  • svg/SVGGlyphRefElement.cpp:

(WebCore::SVGGlyphRefElement::parseAttribute):

  • svg/SVGGlyphRefElement.h:
  • svg/SVGGradientElement.cpp:

(WebCore::SVGGradientElement::parseAttribute):

  • svg/SVGGradientElement.h:
  • svg/SVGImageElement.cpp:

(WebCore::SVGImageElement::parseAttribute):

  • svg/SVGImageElement.h:

(SVGImageElement):

  • svg/SVGLangSpace.cpp:

(WebCore::SVGLangSpace::parseAttribute):

  • svg/SVGLangSpace.h:

(SVGLangSpace):

  • svg/SVGLineElement.cpp:

(WebCore::SVGLineElement::parseAttribute):

  • svg/SVGLineElement.h:

(SVGLineElement):

  • svg/SVGLinearGradientElement.cpp:

(WebCore::SVGLinearGradientElement::parseAttribute):

  • svg/SVGLinearGradientElement.h:

(SVGLinearGradientElement):

  • svg/SVGMPathElement.cpp:

(WebCore::SVGMPathElement::parseAttribute):

  • svg/SVGMPathElement.h:

(SVGMPathElement):

  • svg/SVGMarkerElement.cpp:

(WebCore::SVGMarkerElement::parseAttribute):

  • svg/SVGMarkerElement.h:

(SVGMarkerElement):

  • svg/SVGMaskElement.cpp:

(WebCore::SVGMaskElement::parseAttribute):

  • svg/SVGMaskElement.h:

(SVGMaskElement):

  • svg/SVGPathElement.cpp:

(WebCore::SVGPathElement::parseAttribute):

  • svg/SVGPathElement.h:

(SVGPathElement):

  • svg/SVGPatternElement.cpp:

(WebCore::SVGPatternElement::parseAttribute):

  • svg/SVGPatternElement.h:

(SVGPatternElement):

  • svg/SVGPolyElement.cpp:

(WebCore::SVGPolyElement::parseAttribute):

  • svg/SVGPolyElement.h:

(SVGPolyElement):

  • svg/SVGRadialGradientElement.cpp:

(WebCore::SVGRadialGradientElement::parseAttribute):

  • svg/SVGRadialGradientElement.h:

(SVGRadialGradientElement):

  • svg/SVGRectElement.cpp:

(WebCore::SVGRectElement::parseAttribute):

  • svg/SVGRectElement.h:

(SVGRectElement):

  • svg/SVGSVGElement.cpp:

(WebCore::SVGSVGElement::parseAttribute):

  • svg/SVGSVGElement.h:

(SVGSVGElement):

  • svg/SVGScriptElement.cpp:

(WebCore::SVGScriptElement::parseAttribute):

  • svg/SVGScriptElement.h:

(SVGScriptElement):

  • svg/SVGStopElement.cpp:

(WebCore::SVGStopElement::parseAttribute):

  • svg/SVGStopElement.h:

(SVGStopElement):

  • svg/SVGStyleElement.cpp:

(WebCore::SVGStyleElement::parseAttribute):

  • svg/SVGStyleElement.h:

(SVGStyleElement):

  • svg/SVGStyledElement.cpp:

(WebCore::SVGStyledElement::parseAttribute):

  • svg/SVGStyledElement.h:

(SVGStyledElement):

  • svg/SVGStyledTransformableElement.cpp:

(WebCore::SVGStyledTransformableElement::parseAttribute):

  • svg/SVGStyledTransformableElement.h:

(SVGStyledTransformableElement):

  • svg/SVGSymbolElement.cpp:

(WebCore::SVGSymbolElement::parseAttribute):

  • svg/SVGSymbolElement.h:

(SVGSymbolElement):

  • svg/SVGTRefElement.cpp:

(WebCore::SVGTRefElement::parseAttribute):

  • svg/SVGTRefElement.h:

(SVGTRefElement):

  • svg/SVGTests.cpp:

(WebCore::SVGTests::parseAttribute):

  • svg/SVGTests.h:

(SVGTests):

  • svg/SVGTextContentElement.cpp:

(WebCore::SVGTextContentElement::parseAttribute):

  • svg/SVGTextContentElement.h:

(SVGTextContentElement):

  • svg/SVGTextElement.cpp:

(WebCore::SVGTextElement::parseAttribute):

  • svg/SVGTextElement.h:

(SVGTextElement):

  • svg/SVGTextPathElement.cpp:

(WebCore::SVGTextPathElement::parseAttribute):

  • svg/SVGTextPathElement.h:
  • svg/SVGTextPositioningElement.cpp:

(WebCore::SVGTextPositioningElement::parseAttribute):

  • svg/SVGTextPositioningElement.h:

(SVGTextPositioningElement):

  • svg/SVGURIReference.cpp:

(WebCore::SVGURIReference::parseAttribute):

  • svg/SVGURIReference.h:

(SVGURIReference):

  • svg/SVGUseElement.cpp:

(WebCore::SVGUseElement::parseAttribute):

  • svg/SVGUseElement.h:

(SVGUseElement):

  • svg/SVGViewElement.cpp:

(WebCore::SVGViewElement::parseAttribute):

  • svg/SVGViewElement.h:

(SVGViewElement):

  • svg/SVGZoomAndPan.h:

(WebCore::SVGZoomAndPan::parseAttribute):

  • svg/animation/SVGSMILElement.cpp:

(WebCore::SVGSMILElement::parseAttribute):

  • svg/animation/SVGSMILElement.h:

(SVGSMILElement):

8:33 AM Changeset in webkit [135068] by akling@apple.com
  • 2 edits in trunk/Source/WebCore

StyleResolver: No need to compare "cellpadding" attributes when evaluating style sharing candidates.
<http://webkit.org/b/102596>

Reviewed by Antti Koivisto.

Differences in the cellpadding attribute is caught by comparing additionalPresentationAttributeStyle()
later on in canShareStyleWithElement() and we shouldn't waste time on comparing them.

  • css/StyleResolver.cpp:

(WebCore::haveIdenticalStyleAffectingAttributes):

3:22 AM Changeset in webkit [135067] by Carlos Garcia Campos
  • 2 edits in trunk

Unreviewed. Fix GTK+ build after r135022.

  • Source/autotools/symbols.filter: Add exports for

SerializedScriptValue changes.

3:18 AM Changeset in webkit [135066] by Carlos Garcia Campos
  • 4 edits in trunk/Source/WebKit2

[WK2] REGRESSION: After web process crash a new web process is created for every existing page
https://bugs.webkit.org/show_bug.cgi?id=102520

Reviewed by Alexey Proskuryakov.

When process model is SharedSecondaryProcess a new shared process
should be created instead of a new process per page.

  • UIProcess/WebContext.cpp:

(WebKit::WebContext::ensureSharedWebProcess): Ensure a shared web
process and return it.
(WebKit::WebContext::createWebPage): Update to change in
ensureSharedWebProcess() that returns the shared web process now.

  • UIProcess/WebContext.h:

(WebContext): Remove relaunchProcessIfNecessary().
(WebKit::WebContext::sendToAllProcessesRelaunchingThemIfNecessary):
Use ensureSharedWebProcess() instead of relaunchProcessIfNecessary().

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::reattachToWebProcess): Ensure a shared web
process for SharedSecondaryProcess model or create a new web
process for multi-process models.

12:03 AM Changeset in webkit [135065] by jonlee@apple.com
  • 2 edits in trunk/Source/WebCore

Simulated mouse events should return an accurate offset
https://bugs.webkit.org/show_bug.cgi?id=102606
<rdar://problem/12725627>

Reviewed by Brady Eidson.

A check to see if the event is simulated prior to calculating the offset has existed for a
long time (since at least r14916). Back then the check was needed because the offset was
incrementally adjusted when the target was assigned (through
MouseRelatedEvent::receivedTarget()).

Since r82225, we started calculating the offset only when needed, and calculating the offset
from scratch rather than incrementally adjusting it. Since we recalculate from scratch,
the isSimulated check is irrelevant, and we should remove it.

Tests are not possible because all uses of simulated mouse events provide no underlying
event, so the offset is never recalculated.

  • dom/MouseRelatedEvent.cpp:

(WebCore::MouseRelatedEvent::computeRelativePosition): Remove the m_isSimulated check.

Nov 17, 2012:

11:09 PM Changeset in webkit [135064] by Simon Fraser
  • 3 edits in trunk/Source/WebCore

Don't say there are dirty overlay scrollbars when they are clipped out
https://bugs.webkit.org/show_bug.cgi?id=102609

Reviewed by Brady Eidson.

Painting overlay scrollbars involves a second painting pass over the entire
RenderLayer subtree for a compositing layer, which can be very expensive.

Avoid this when possible by detecting when overflow controls are not in
the damage rect.

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::rectForHorizontalScrollbar): Compute a local rect
for the horizontal scrollbar.
(WebCore::RenderLayer::rectForVerticalScrollbar): Compute a local rect
for the vertical scrollbar.
(WebCore::RenderLayer::positionOverflowControls): Use rectForHorizontalScrollbar()
and rectForVerticalScrollbar().
(WebCore::RenderLayer::overflowControlsIntersectRect): Return true if any
of the present overflow controls intersect the given local rect.
(WebCore::RenderLayer::paintOverflowControls): Bail if the damage rect
doesn't intersect any of the overflow controls.

  • rendering/RenderLayer.h:

(RenderLayer):

9:16 PM Changeset in webkit [135063] by abarth@webkit.org
  • 4 edits in trunk
REGRESSION (r133633): ASSERTION FAILED: m_wrapper
!m_jsFunction

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

Reviewed by Geoffrey Garen.

Source/WebCore:

JSNodeOwner has some smarts that wrappers of subclasses of Node need to
call during garbage collection. This patch teaches subclasses of Node
to have their JSMumbleOwner objects inherit from JSNodeOwner.

The immediate benefit of this patch is that we correctly avoid
collecting wrappers for HTMLAudioElements when they are reachable from
the DOM.

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateHeader):
(GenerateImplementation):

LayoutTests:

Add two calls to gc() to make an ASSERT trigger on every run. One call
to gc() does not appear to be sufficient for reasons I don't fully
understand.

  • media/media-continues-playing-after-replace-source.html:
9:14 PM Changeset in webkit [135062] by Dimitri Glazkov
  • 3 edits in trunk/Tools

Remove unused code I wrote a long time ago from gardeningserver.py
https://bugs.webkit.org/show_bug.cgi?id=102605

Reviewed by Adam Barth.

  • Scripts/webkitpy/tool/servers/gardeningserver.py: Removed.
  • Scripts/webkitpy/tool/servers/gardeningserver_unittest.py: Removed.
9:01 PM Changeset in webkit [135061] by commit-queue@webkit.org
  • 3 edits
    1 add in trunk/Source

Source/JavaScriptCore: Expose JSObject removeDirect and PrivateName to WebCore
https://bugs.webkit.org/show_bug.cgi?id=102546

Patch by Elliott Sprehn <esprehn@chromium.org> on 2012-11-17
Reviewed by Geoffrey Garen.

Export removeDirect for use in WebCore so JSDependentRetained works.

Source/WebCore: Expose JSObject::removeDirect and PrivateName to WebCore
https://bugs.webkit.org/show_bug.cgi?id=102546

Patch by Elliott Sprehn <esprehn@chromium.org> on 2012-11-17
Reviewed by Geoffrey Garen.

Add forwarding header for PrivateName, so JSDependentRetained works.

No new tests, just adding headers.

  • ForwardingHeaders/runtime/PrivateName.h: Added.
8:01 PM Changeset in webkit [135060] by Simon Fraser
  • 6 edits in trunk/Source/WebCore

Reduce the crazy number of parameters to RenderLayer clip-rect functions
https://bugs.webkit.org/show_bug.cgi?id=102604

Reviewed by Dan Bernstein.

Many of the RenderLayer member functions related to clip rect computation
took a long list of similar parameters. Gather these into a struct, ClipRectsContext,
that we pass to these functions

No functional changes.

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::paintLayer):
(WebCore::RenderLayer::paintLayerContents):
(WebCore::RenderLayer::hitTestLayer):
(WebCore::RenderLayer::updateClipRects):
(WebCore::RenderLayer::calculateClipRects):
(WebCore::RenderLayer::parentClipRects):
(WebCore::RenderLayer::backgroundClipRect):
(WebCore::RenderLayer::calculateRects):
(WebCore::RenderLayer::childrenClipRect):
(WebCore::RenderLayer::selfClipRect):
(WebCore::RenderLayer::localClipRect):

  • rendering/RenderLayer.h:

(WebCore::RenderLayer::ClipRectsContext::ClipRectsContext):
(ClipRectsContext):
(RenderLayer):
(WebCore::RenderLayer::clipRects):

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::updateCompositedBounds):
(WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::addToOverlapMap):
(WebCore::RenderLayerCompositor::clippedByAncestor):

  • rendering/RenderTreeAsText.cpp:

(WebCore::writeLayers):

8:01 PM Changeset in webkit [135059] by Simon Fraser
  • 6 edits in trunk

Simplify bounds computation for the RenderView's layer
https://bugs.webkit.org/show_bug.cgi?id=102597

Reviewed by Anders Carlsson.

Source/WebCore:

Computing the bounds of the main layer (that of the RenderView) used to do
a full RenderLayer walk, taking the union of the bounds of all the sublayers,
which is very expensive on large pages.

For the RenderView we can avoid that entirely and just use the RenderView's
document rect. Since page scaling happens as a transform on this layer,
we want the unscaled document rect.

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::calculateLayerBounds):

LayoutTests:

Progressions as a result of this change:

  • compositing/layer-creation/fixed-position-out-of-view-expected.txt: The height

is now the page height, since the page is scrollable.

  • compositing/tiling/tile-cache-zoomed-expected.txt: The main layer now is not

affected by the page scale transform.

  • platform/mac/compositing/tiling/tile-cache-zoomed-expected.txt: Ditto.
7:37 PM Changeset in webkit [135058] by eric@webkit.org
  • 17 edits in trunk/Source/WebCore

Add ScriptWrappable to more WebCore classes which are commonly JS-wrapped
https://bugs.webkit.org/show_bug.cgi?id=102601

Reviewed by Adam Barth.

From my investigations all of these classes exist only to be exposed
to the web (via JavaScript) and are not used internally by WebCore.
I beleive all of them always have wrappers.
These were found using this code:
https://bugs.webkit.org/show_bug.cgi?id=102539#c2

Geolocation -- navigator.geolocation
WebKitCSSMatrix -- represent matrixes in JS through various APIs
DOMStringMap, NamedNodeMap, NodeIterator, TreeWalker -- exclusively for the DOM API
Blob, FileList - used by the File, Clipboard and XHR, also exclusively as API
ValidityState -- formControl.validity
CanvasRenderingContext -- canvas.getContext()
DOMApplicationCache -- window.appcache
Screen -- window.screen
DOMMimeTypeArray -- navigator.mimetypes
DOMPlugin -- navigator.plugins[0]
DOMPluginArray -- navigator.plugins

  • Modules/geolocation/Geolocation.h:
  • css/WebKitCSSMatrix.h:
  • dom/DOMStringMap.h:
  • dom/NamedNodeMap.h:
  • dom/NodeIterator.h:
  • dom/TreeWalker.h:
  • fileapi/Blob.h:
  • fileapi/FileList.h: (had to un-indent to make check-webkit-style happy)

(FileList):
(WebCore::FileList::create):
(WebCore::FileList::length):
(WebCore::FileList::isEmpty):
(WebCore::FileList::clear):
(WebCore::FileList::append):

  • html/ValidityState.h:
  • html/canvas/CanvasRenderingContext.h:
  • loader/appcache/DOMApplicationCache.h:
  • page/Screen.h:
  • platform/graphics/wince/MediaPlayerProxy.cpp:

(WebCore::WebMediaPlayerProxy::initEngine): This code was wrong, fixed to use internal APIs.

  • plugins/DOMMimeTypeArray.h:
  • plugins/DOMPlugin.h:
  • plugins/DOMPluginArray.h:
7:37 PM Changeset in webkit [135057] by rakuco@webkit.org
  • 2 edits in trunk/Source/WebKit2

Remove 8-bit related assertion from NetscapePluginModuleX11.
https://bugs.webkit.org/show_bug.cgi?id=102588

Reviewed by Andreas Kling.

Follow-up to r135043: since String::fromUTF8() is not guaranteed
to give us a 16-bit string, the assertion in
truncateToSingleLine() will fail in that case.

This should make the EFL WK2 Debug bot stop failing all
plugin-related tests because "WebKit Test Plugin" is returned as
an 8-bit string.

  • Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:

(WebKit::truncateToSingleLine):

6:13 PM Changeset in webkit [135056] by Alexandru Chiculita
  • 17 edits
    1 add in trunk/Source

[Texmap][CSS Shaders] Reuse the precompiled shader for custom filters in TextureMapperGL
https://bugs.webkit.org/show_bug.cgi?id=101801

Reviewed by Noam Rosenthal.

Source/WebCore:

Added a HashMap in TextureMapperGL to store the precompiled versions of the shaders.
Also added a new API on TextureMapper that receives a notification when the shader
is no longer needed.

No new tests, the code is tested by existing tests.

  • platform/graphics/filters/CustomFilterOperation.h:

(WebCore::CustomFilterOperation::setProgram):
(CustomFilterOperation): Made the constructor protected, so that we can overwrite the class in WK2.

  • platform/graphics/filters/CustomFilterValidatedProgram.cpp:

(WebCore::CustomFilterValidatedProgram::validatedProgramInfo):
(WebCore):

  • platform/graphics/filters/CustomFilterValidatedProgram.h:

(CustomFilterValidatedProgram):

  • platform/graphics/texmap/TextureMapper.h:

(WebCore):
(TextureMapper):
(WebCore::TextureMapper::removeCachedCustomFilterProgram):
Function to be called by the platform code, when the shader is no longer
needed. This implementation is empty and overridden in TextureMapperGL.

  • platform/graphics/texmap/TextureMapperGL.cpp:

(WebCore::TextureMapperGL::removeCachedCustomFilterProgram):
Removes the compiled shader from the cache. This is called from WK2 when the compiled shader
is no longer needed.
(WebCore):
(WebCore::TextureMapperGL::drawUsingCustomFilter): The first time it uses a new
shader it will cache the compiled version until removeCachedCustomFilterProgram is called.

  • platform/graphics/texmap/TextureMapperGL.h:

(WebCore):
(TextureMapperGL):

Source/WebKit2:

Changed the encoding code for ValidatedCustomFilterOperation to only encode the ID of the program.
LayerTreeCoordinator makes sure to send the programs in full before the encoder runs.
LayerTreeRenderer will maintain a HashMap from these IDs to the real CustomFilterProgram.
The UI process will also receive a message from the WebProcess when the shader is no longer in needed.
LayerTreeRenderer calls the TextureMapper's removeCachedCustomFilterProgram to notify
about the removed CustomFilterProgram.

  • Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:

(CoreIPC::::encode):
(CoreIPC::::decode):
(CoreIPC):

  • Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.h:

(WebCore):

  • Shared/CoordinatedGraphics/WebCustomFilterOperation.h: Added.

(WebCore):
(WebCustomFilterOperation):
(WebCore::WebCustomFilterOperation::create):
(WebCore::WebCustomFilterOperation::programID):
(WebCore::WebCustomFilterOperation::WebCustomFilterOperation):

  • Shared/CoordinatedGraphics/WebCustomFilterProgramProxy.h:

(WebKit::WebCustomFilterProgramProxy::create):
(WebKit::WebCustomFilterProgramProxy::WebCustomFilterProgramProxy):

  • UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:

(WebKit):
(WebKit::LayerTreeCoordinatorProxy::removeCustomFilterProgram):
(WebKit::LayerTreeCoordinatorProxy::createCustomFilterProgram):

  • UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h:

(LayerTreeCoordinatorProxy):

  • UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.messages.in:
  • UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:

(WebKit::LayerTreeRenderer::setLayerFilters):
(WebKit):
(WebKit::LayerTreeRenderer::injectCachedCustomFilterPrograms):
(WebKit::LayerTreeRenderer::createCustomFilterProgram):
(WebKit::LayerTreeRenderer::removeCustomFilterProgram):
(WebKit::LayerTreeRenderer::setLayerAnimations):

  • UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:

(WebCore):
(LayerTreeRenderer):

  • WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:

(WebKit::LayerTreeCoordinator::checkCustomFilterProgramProxies):
(WebKit::LayerTreeCoordinator::removeCustomFilterProgramProxy):
(WebKit::LayerTreeCoordinator::setLayerAnimations):

4:45 PM Changeset in webkit [135055] by beidson@apple.com
  • 14 edits in trunk/Source

Add an integer identifier field to AuthenticationChallengeBase.
https://bugs.webkit.org/show_bug.cgi?id=102593

Reviewed by Darin Adler.

Source/WebCore:

This is to support linking two different challenges that might not compare as equal but that
represent the same logical authentication challenge.

One example is in an IPC environment where the platform challenge can only exist in one process.

No new tests (Platform support, no effect in tested configs).

  • WebCore.exp.in:
  • platform/network/AuthenticationChallengeBase.cpp:

(WebCore::AuthenticationChallengeBase::AuthenticationChallengeBase):

  • platform/network/AuthenticationChallengeBase.h:

(WebCore::AuthenticationChallengeBase::identifier):

  • platform/network/cf/AuthenticationChallenge.h:
  • platform/network/mac/AuthenticationMac.mm:

(WebCore::generateUniqueIdentifier):
(WebCore::AuthenticationChallenge::AuthenticationChallenge): Generate a new unique identifier whenever

constructing a challenge from an NSURLAuthenticationChallenge.

  • platform/network/cf/AuthenticationCF.cpp:

(WebCore::generateUniqueIdentifier):
(WebCore::AuthenticationChallenge::AuthenticationChallenge): Generate a new unique identifier whenever

constructing a challenge from a CFURLAuthChallengeRef.

Implement the new constructor form for ports relevant to WebKit2:

  • platform/network/qt/AuthenticationChallenge.h:

(WebCore::AuthenticationChallenge::AuthenticationChallenge):

  • platform/network/soup/AuthenticationChallenge.h:

(WebCore::AuthenticationChallenge::AuthenticationChallenge):

  • platform/network/win/AuthenticationChallenge.h:

(WebCore::AuthenticationChallenge::AuthenticationChallenge):

Source/WebKit/win:

  • WebURLAuthenticationChallenge.cpp:

(WebURLAuthenticationChallenge::initWithProtectionSpace): Adopt the new constructor with a dummy identifier.

Source/WebKit2:

Properly encode/decode the identifier when sending the challenge over CoreIPC.

  • Shared/WebCoreArgumentCoders.cpp:

(CoreIPC::::encode):
(CoreIPC::::decode):

4:11 PM Changeset in webkit [135054] by Simon Fraser
  • 4 edits in trunk/LayoutTests

Rebaseline three tests affected by the dumping of tile grid extent.

  • platform/mac/compositing/tiling/rotated-tiled-clamped-expected.txt:
  • platform/mac/compositing/tiling/rotated-tiled-preserve3d-clamped-expected.txt:
  • platform/mac/compositing/tiling/tile-cache-zoomed-expected.txt:
3:37 PM Changeset in webkit [135053] by Simon Fraser
  • 12 edits in trunk

Dump the tile cache extent in layout tests
https://bugs.webkit.org/show_bug.cgi?id=102600

Reviewed by Anders Carlsson.

Source/WebCore:

When dumping tiled layer stats in layout tests, also dump the extent
of the tile grid. This will allow us to detect issues related
to zooming, which is not possible with the existing tile coverage rect,
which is dumped in layer (not tile) coordinates.

  • platform/graphics/TiledBacking.h: Added tileGridExtent().
  • platform/graphics/ca/GraphicsLayerCA.cpp:

(WebCore::GraphicsLayerCA::dumpAdditionalProperties): Dump the tile grid extent.

  • platform/graphics/ca/mac/TileCache.h: tileCoverageRect() should be OVERRIDE.
  • platform/graphics/ca/mac/TileCache.mm:

(WebCore::TileCache::getTileIndexRangeForRect):
(WebCore::TileCache::tileGridExtent): Return a rect with the size of
the grid as top,left width,height.

LayoutTests:

New results which contain tile cache extents.

  • platform/mac/tiled-drawing/tile-coverage-after-scroll-expected.txt:
  • platform/mac/tiled-drawing/tile-coverage-scroll-to-bottom-expected.txt:
  • platform/mac/tiled-drawing/tile-coverage-slow-scrolling-expected.txt:
  • platform/mac/tiled-drawing/tiled-drawing-zoom-expected.txt:
  • platform/mac/tiled-drawing/tiled-drawing-zoom-scrolled-expected.txt:
  • platform/mac/tiled-drawing/use-tiled-drawing-expected.txt:
1:41 PM Changeset in webkit [135052] by zandobersek@gmail.com
  • 3 edits in trunk/LayoutTests

Unreviewed GTK gardening. Fixing a test that's failing due to changes
made in r134949 and wasn't updated yet.

  • http/tests/websocket/tests/hybi/workers/close-expected.txt:
  • http/tests/websocket/tests/hybi/workers/resources/close.js:
1:00 PM Changeset in webkit [135051] by akling@apple.com
  • 2 edits in trunk/Source/WebCore

Avoid full style recalc when 'style' attribute changes.
<http://webkit.org/b/78718>

Reviewed by Anders Carlsson.

Use setNeedsStyleRecalc(InlineStyleChange) when the 'style' attribute changes
to reduce the amount of work done in recalcStyle().

  • dom/StyledElement.cpp:

(WebCore::StyledElement::styleAttributeChanged):

12:06 PM Changeset in webkit [135050] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Remove coneGain and distanceGain attributes from PannerNode.idl
https://bugs.webkit.org/show_bug.cgi?id=102343

Patch by Li Yin <li.yin@intel.com> on 2012-11-17
Reviewed by Chris Rogers.

Removing .coneGain and .distanceGain as publicly accessible values,
since normally they only need to be calculated internally.

No changes to tests, since these attributes were not tested and are being removed.

  • Modules/webaudio/PannerNode.idl:
11:58 AM Changeset in webkit [135049] by commit-queue@webkit.org
  • 3 edits in trunk/LayoutTests

biquadfilternode-basic.html test should cover default value of frequency, Q and gain.
https://bugs.webkit.org/show_bug.cgi?id=102305

Patch by Li Yin <li.yin@intel.com> on 2012-11-17
Reviewed by Chris Rogers.

Spec: https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html#BiquadFilterNode
The default values of frequency, Q and gain are clearly specified, we should
have related sub test to over them.

  • webaudio/biquadfilternode-basic-expected.txt:
  • webaudio/biquadfilternode-basic.html:
11:48 AM Changeset in webkit [135048] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/chromium

Unreviewed. Rolled DEPS.

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-11-17

  • DEPS:
10:02 AM Changeset in webkit [135047] by commit-queue@webkit.org
  • 9 edits
    4 adds in trunk/Source/WebKit/chromium

Provide page/window coordinates to plugin's local coordinates translation in WebPluginContainer.
https://bugs.webkit.org/show_bug.cgi?id=102339

Patch by Istiaque Ahmed <lazyboy@chromium.org> on 2012-11-17
Reviewed by Adam Barth.

This change will allow converting a page's window coordinates to plugins's local coordinates,
taking CSS transformations into account. Embedder page of the plugin can use this information
for targetting elements inside the plugin (e.g. devtools can inspect a specific element at the
local coordinate position inside plugin).
Attempting to re-land after Windows build fix.

  • WebKit.gyp:
  • WebKit.gypi:
  • public/WebNode.h:

(WebKit):

  • public/WebPluginContainer.h:

(WebKit):
(WebPluginContainer):

  • src/WebFrameImpl.cpp:

(WebKit::WebFrameImpl::executeCommand):
(WebKit::WebFrameImpl::printBegin):
(WebKit::WebFrameImpl::isPrintScalingDisabledForPlugin):

  • src/WebNode.cpp:

(WebKit::WebNode::pluginContainer):
(WebKit):

  • src/WebPluginContainerImpl.cpp:

(WebKit::WebPluginContainerImpl::windowToLocalPoint):
(WebKit):

  • src/WebPluginContainerImpl.h:

(WebPluginContainerImpl):

  • tests/FakeWebPlugin.cpp: Added.

(WebKit):
(WebKit::FakeWebPlugin::FakeWebPlugin):
(WebKit::FakeWebPlugin::~FakeWebPlugin):
(WebKit::FakeWebPlugin::initialize):
(WebKit::FakeWebPlugin::destroy):

  • tests/FakeWebPlugin.h: Added.

(WebKit):
(FakeWebPlugin):

  • tests/WebPluginContainerTest.cpp: Added.

(WebKit):
(WebPluginContainerTest):
(WebKit::WebPluginContainerTest::WebPluginContainerTest):
(WebKit::WebPluginContainerTest::TearDown):
(WebKit::getWebPluginContainer):
(WebKit::TEST_F):

  • tests/data/plugin_container.html: Added.
7:49 AM Changeset in webkit [135046] by kbalazs@webkit.org
  • 2 edits in trunk/Source/WebCore

[Coordinated Graphics] Resumed animations leave an obsolate GraphicsLayerAnimation behind
https://bugs.webkit.org/show_bug.cgi?id=102530

Reviewed by Noam Rosenthal.

GraphicsLayer::addAnimation is called no only when a new animation is created
but also when resuming a paused animation. If this is a resumed animation we
should remove the obsolate GraphicsLayerAnimation object.

Tested by animations tests.

  • platform/graphics/GraphicsLayerAnimation.cpp:

(WebCore::GraphicsLayerAnimations::add):

5:19 AM Changeset in webkit [135045] by zandobersek@gmail.com
  • 2 edits in trunk/LayoutTests

Unreviewed GTK gardening.

  • platform/gtk/TestExpectations:
5:09 AM Changeset in webkit [135044] by zandobersek@gmail.com
  • 3 edits in trunk/LayoutTests

Unreviewed gardening. Fixing a test that's failing since r134859.

  • http/tests/websocket/tests/hybi/workers/close-expected.txt:
  • http/tests/websocket/tests/hybi/workers/resources/close.js:

(runInvalidStringTest):

4:58 AM Changeset in webkit [135043] by kbalazs@webkit.org
  • 2 edits in trunk/Source/WebKit2

8bit-unaware String usage in NetscapePluginModuleX11.cpp
https://bugs.webkit.org/show_bug.cgi?id=102482

Reviewed by Michael Saboff.

String::fromUTF8 is not guaranteed to give a 16 bit string.

  • Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:

(WebKit::truncateToSingleLine): Do an explicit 16 bit conversion.

2:26 AM Changeset in webkit [135042] by mkwst@chromium.org
  • 7 edits
    3 deletes in trunk/LayoutTests

Web Inspector: http/tests/inspector/stacktraces/* are flakey in JSC
https://bugs.webkit.org/show_bug.cgi?id=102380

Reviewed by Yury Semikhatsky.

The inspector stacktrace tests are quite flakey at the moment under JSC.
This patch drops detail out of the test that a) isn't relevent to what's
being tested, and b) varies under JSC for no discernable reason. A side
benifit of this change is that we can drop most platform-specific test
results, as we're now only looking at data that JSC and V8 agree upon.

  • http/tests/inspector/stacktraces/csp-injected-content-warning-contains-stacktrace-expected.txt:
  • http/tests/inspector/stacktraces/csp-inline-warning-contains-stacktrace-expected.txt:
  • http/tests/inspector/stacktraces/csp-setInterval-warning-contains-stacktrace-expected.txt:
  • http/tests/inspector/stacktraces/csp-setTimeout-warning-contains-stacktrace-expected.txt:

Reset tests based on the new level of detail.

  • http/tests/inspector/stacktraces/resources/stacktrace-test.js:

(test.addMessage):
(test):

Limit the detail of the output to the top frame of the stack, and
drop the column number (which was always 0 in JSC).

  • platform/chromium/http/tests/inspector/stacktraces/csp-injected-content-warning-contains-stacktrace-expected.txt: Removed.
  • platform/chromium/http/tests/inspector/stacktraces/csp-setInterval-warning-contains-stacktrace-expected.txt: Removed.
  • platform/chromium/http/tests/inspector/stacktraces/csp-setTimeout-warning-contains-stacktrace-expected.txt: Removed.

Dropping these platform-specific tests, as this patch limits the test
output detail to a subset that V8 and JSC agree upon.

  • platform/chromium/http/tests/inspector/stacktraces/csp-inline-warning-contains-stacktrace-expected.txt:

Can't drop this one, sadly.

12:37 AM Changeset in webkit [135041] by fpizlo@apple.com
  • 13 edits in trunk/Source/JavaScriptCore

Given a PutById or GetById with a proven structure, the DFG should be able to emit a PutByOffset or GetByOffset instead
https://bugs.webkit.org/show_bug.cgi?id=102327

Reviewed by Mark Hahnenberg.

If the profiler tells us that a GetById or PutById may be polymorphic but our
control flow analysis proves that it isn't, we should trust the control flow
analysis over the profiler. This arises in cases where GetById or PutById were
inlined: the inlined function may have been called from other places that led
to polymorphism, but in the current inlined context, there is no polymorphism.

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::dump):

  • bytecode/GetByIdStatus.cpp:

(JSC::GetByIdStatus::computeFor):
(JSC):

  • bytecode/GetByIdStatus.h:

(JSC::GetByIdStatus::GetByIdStatus):
(GetByIdStatus):

  • bytecode/PutByIdStatus.cpp:

(JSC::PutByIdStatus::computeFor):
(JSC):

  • bytecode/PutByIdStatus.h:

(JSC):
(JSC::PutByIdStatus::PutByIdStatus):
(PutByIdStatus):

  • dfg/DFGAbstractState.cpp:

(JSC::DFG::AbstractState::execute):

  • dfg/DFGAbstractValue.h:

(JSC::DFG::AbstractValue::bestProvenStructure):
(AbstractValue):

  • dfg/DFGConstantFoldingPhase.cpp:

(JSC::DFG::ConstantFoldingPhase::foldConstants):
(JSC::DFG::ConstantFoldingPhase::addStructureTransitionCheck):
(ConstantFoldingPhase):

  • dfg/DFGNode.h:

(JSC::DFG::Node::convertToGetByOffset):
(Node):
(JSC::DFG::Node::convertToPutByOffset):
(JSC::DFG::Node::hasStorageResult):

  • runtime/JSGlobalObject.h:

(JSC::Structure::prototypeChain):
(JSC):
(JSC::Structure::isValid):

  • runtime/Operations.h:

(JSC::isPrototypeChainNormalized):
(JSC):

  • runtime/Structure.h:

(Structure):
(JSC::Structure::transitionDidInvolveSpecificValue):

12:03 AM Changeset in webkit [135040] by Martin Robinson
  • 3 edits in trunk/Source/WebCore

[Soup] CredentialStorage should only be used for HTTP-family requests
https://bugs.webkit.org/show_bug.cgi?id=102582

Reviewed by Gustavo Noronha Silva.

Do not use CredentialStorage when handling non-HTTP family requests. CredentialStorage
only expects to handle requests in the HTTP family.

No new tests. This is covered by existing tests.

  • platform/network/ResourceHandle.h:

(ResourceHandle): Add a shouldUseCredentialStorage helper to ResourceHandle. This
helper returns false when firstRequest() is a non-HTTP family request.

  • platform/network/soup/ResourceHandleSoup.cpp:

(WebCore::applyAuthenticationToRequest): Use the new helper.
(WebCore::createSoupRequestAndMessageForHandle): Ditto.
(WebCore::ResourceHandle::start): Ditto.
(WebCore::ResourceHandle::shouldUseCredentialStorage): Ditto.
(WebCore::ResourceHandle::didReceiveAuthenticationChallenge): Ditto.
(WebCore::ResourceHandle::receivedCredential): Ditto.

Nov 16, 2012:

11:41 PM Changeset in webkit [135039] by Patrick Gansterer
  • 2 edits in trunk/Source/WebCore

Build fix for !USE(ACCELERATED_COMPOSITING) after r135029.

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::paintOverflowControls):

10:26 PM Changeset in webkit [135038] by benjamin@webkit.org
  • 3 edits in trunk/Source/WebCore

Improve the performance of rect transform
https://bugs.webkit.org/show_bug.cgi?id=101828

Patch by Benjamin Poulain <bpoulain@apple.com> on 2012-11-16
Reviewed by Simon Fraser.

Mapping a rect and a quad by a transform is a common operation because
we use it to recompute the repaint rect, overflow rect, etc.

The way it was done, is by transforming through mapRect()->mapQuad()->4 times mapPoint().
Each of those functions tests isIdentityOrTranslation() which has to read the whole matrix
and perform many comparison.
Because of that, the simple mapping of a rect was loading and checking the matrix 5 times
too many.

This patch just cut the intermediary calls.

On ARM, putting the operation together also has the advantage of loading the matrix
only once in registers and reusing it for every point.

  • platform/graphics/transforms/TransformationMatrix.cpp:

(WebCore::TransformationMatrix::mapPoint):
(WebCore::TransformationMatrix::mapRect):

  • platform/graphics/transforms/TransformationMatrix.h:

(WebCore):
(WebCore::TransformationMatrix::mapPointImpl): New convenience function to perform the
point project without doing isIdentityOrTranslation().

10:11 PM Changeset in webkit [135037] by Lucas Forschler
  • 2 edits in tags/Safari-537.19.1/Source/WebKit2

Merge fix from <rdar://problem/12723222>.

10:09 PM Changeset in webkit [135036] by Lucas Forschler
  • 4 edits in tags/Safari-537.19.1/Source/WebKit2

Merged r135020.

10:00 PM Changeset in webkit [135035] by commit-queue@webkit.org
  • 8 edits in trunk/Source/WebKit2

[EFL][WK2] Remove unnecessary #include statemtns
https://bugs.webkit.org/show_bug.cgi?id=102577

Patch by Jaehun Lim <ljaehun.lim@samsung.com> on 2012-11-16
Reviewed by Anders Carlsson.

ewk_*_private.h doesn't need to include RefCounted.h after Ewk_Object refactoring.

  • UIProcess/API/efl/ewk_auth_request_private.h:
  • UIProcess/API/efl/ewk_database_manager.cpp:
  • UIProcess/API/efl/ewk_file_chooser_request_private.h:
  • UIProcess/API/efl/ewk_form_submission_request_private.h:
  • UIProcess/API/efl/ewk_navigation_data_private.h:
  • UIProcess/API/efl/ewk_resource_private.h:
  • UIProcess/API/efl/ewk_storage_manager.cpp:
9:16 PM Changeset in webkit [135034] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

Avoid calling the virtual isBlockFlow() in RenderBox::computeRectForRepaint()
https://bugs.webkit.org/show_bug.cgi?id=102581

Reviewed by Dan Bernstein.

isBlockFlow() is a virtual function call, and shows up in profiles of
Facebook pages as called from RenderBox::computeRectForRepaint().

It's faster to do the hasColumns() bit-check first. Also replace
a call to layer() with the hasLayer() bit-check.

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::computeRectForRepaint):

8:42 PM Changeset in webkit [135033] by Simon Fraser
  • 4 edits in trunk/LayoutTests

Rebaseline.

  • platform/mac-wk2/svg/zoom/page/zoom-svg-through-object-with-absolute-size-expected.txt:
  • platform/mac-wk2/svg/zoom/page/zoom-svg-through-object-with-huge-size-expected.txt:
  • platform/mac-wk2/svg/zoom/page/zoom-svg-through-object-with-override-size-expected.txt:
8:32 PM Changeset in webkit [135032] by Simon Fraser
  • 6 edits
    2 deletes in trunk/LayoutTests

Rebaseline some editing tests.

  • platform/mac-wk2/editing/selection/caret-ltr-right-expected.txt: Removed.
  • platform/mac-wk2/editing/selection/caret-rtl-right-expected.txt: Removed.
  • platform/mac/TestExpectations:
  • platform/mac/editing/pasteboard/innerText-inline-table-expected.txt:
  • platform/mac/editing/selection/iframe-expected.txt:
  • platform/mac/editing/selection/inline-table-expected.txt:
  • platform/mac/editing/selection/table-caret-3-expected.txt:
8:19 PM Changeset in webkit [135031] by danakj@chromium.org
  • 2 edits in trunk/Source/Platform

[chromium] Add conversion between WebTransformation and gfx::Transform
https://bugs.webkit.org/show_bug.cgi?id=102575

Reviewed by James Robinson.

  • chromium/public/WebTransformationMatrix.h:

(WebTransformationMatrix):
(WebKit::WebTransformationMatrix::WebTransformationMatrix):
(WebKit::WebTransformationMatrix::operator=):
(WebKit::WebTransformationMatrix::operator gfx::Transform):

6:52 PM Changeset in webkit [135030] by commit-queue@webkit.org
  • 8 edits in trunk/Source/WebCore

Unreviewed, rolling out r134817.
http://trac.webkit.org/changeset/134817
https://bugs.webkit.org/show_bug.cgi?id=102576

Broke iframes and causing tons of crashes on ClusterFuzz
(Requested by inferno-sec on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-11-16

  • dom/ContainerNode.cpp:

(WebCore::willRemoveChildren):

  • dom/ContainerNodeAlgorithms.cpp:

(WebCore::ChildFrameDisconnector::collectDescendant):

  • dom/ContainerNodeAlgorithms.h:

(WebCore::ChildFrameDisconnector::ChildFrameDisconnector):
(WebCore::ChildFrameDisconnector::~ChildFrameDisconnector):
(ChildFrameDisconnector):
(WebCore::ChildFrameDisconnector::collectDescendant):
(WebCore::ChildFrameDisconnector::disconnect):

  • dom/Node.cpp:
  • dom/Node.h:

(Node):

  • dom/NodeRareData.h:

(WebCore::NodeRareData::NodeRareData):
(NodeRareData):

  • html/HTMLFrameOwnerElement.cpp:

(WebCore::HTMLFrameOwnerElement::setContentFrame):
(WebCore::HTMLFrameOwnerElement::disconnectContentFrame):

6:34 PM CoordinatedGraphicsSystem edited by Helder Correia
(diff)
6:31 PM Changeset in webkit [135029] by Simon Fraser
  • 5 edits in trunk/Source/WebCore

Fix overlay scrollbar painting in compositing layers
https://bugs.webkit.org/show_bug.cgi?id=102442

Reviewed by Beth Dakin.

There were two issues with overlay scrollbar painting in
compositing layers.

First, we'd only ever call setContainsDirtyOverlayScrollbars()
on the RenderView's layer, even when encountering an overlay scrollbar
in some descendant compositing layer. This meant that we'd never
run the paintOverlayScrollbars() code for those child compositing
layers, so sometimes scrollbars were missing there.

Even after fixing that, we would fail to render scrollbars that
were not in the composited RenderLayer itself. This happened because
we called into RenderLayer::paintOverlayScrollbars(), which called
paintLayer() with flags that only said to paint the overlay scrollbars
but not any descendants, so this paint path would not walk child
RenderLayers.

Also remove the containsScrollableAreaWithOverlayScrollbars() flag on
ScrollView which is no longer used.

  • platform/ScrollView.cpp:

(WebCore::ScrollView::ScrollView): Remove containsScrollableAreaWithOverlayScrollbars().
(WebCore::ScrollView::paint): Remove setting of m_containsScrollableAreaWithOverlayScrollbars.

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

(WebCore::RenderLayer::paintOverflowControls): Call setContainsDirtyOverlayScrollbars()
on the compositing ancestor or the root.
Remove call to setContainsScrollableAreaWithOverlayScrollbars().
(WebCore::RenderLayer::paintOverlayScrollbars): When painting overlay
scrollbars, no need to say we have transparency, and no need to use
temporary clip rects.
(WebCore::RenderLayer::paintLayer): The PaintLayerPaintingOverlayScrollbars
check here was only needed because the compositing entrypoint to painting
overlay scrollbars went via paintLayer(), which isn't normally used as
a composited painting entry point. Now that we no longer call that, we
don't need this special check.

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::paintIntoLayer): Jump into overlay scrollbar
painting via paintLayerContents(), not paintOverlayScrollbars(), since
the latter does not traverse sublayers.

6:11 PM Changeset in webkit [135028] by dgrogan@chromium.org
  • 6 edits
    18 deletes in trunk/LayoutTests

IndexedDB: setVersion excision batch 10
https://bugs.webkit.org/show_bug.cgi?id=102565

Reviewed by Tony Chang.

  • storage/indexeddb/mozilla/resources/versionchange.js: Removed. Very similar to a lot of our other tests.
  • storage/indexeddb/resources/set_version_queue.js: Removed. Tests 4 already-open connections calling setVersion, no longer applicable. Though something similar will be set up when we implement 4.1.3#Note2: if two databases with the same name and origin, but with different versions, are being opened at the same time, the one with the highest version will attempt to be opened first.
  • storage/indexeddb/resources/setversion-blocks-open.js: Removed. Tests the same thing as version-change-exclusive, even though version-change-exclusive's description had been inaccurate.
  • storage/indexeddb/resources/setversion-blocks-setversion.js: Removed. Behavior under test is no longer possible. (multiple setVersion calls from same connection.)
  • storage/indexeddb/resources/shared.js:

(indexedDBTest):
Added another optional parameter for version-change-exclusive.

  • storage/indexeddb/resources/three-setversion-calls.js: Removed. Behavior under test is no longer possible. (multiple setVersion calls from same connection.)
  • storage/indexeddb/resources/two-version-changes.js: Removed. Behavior under test is no longer possible. (multiple setVersion calls from same connection.)
  • storage/indexeddb/resources/version-change-abort.js: Straightforward conversion.
  • storage/indexeddb/resources/version-change-exclusive.js: The previous description didn't accurately describe the test.

--Corresponding .html and -expected files also removed.

6:08 PM Changeset in webkit [135027] by jsbell@chromium.org
  • 3 edits
    2 adds in trunk

IndexedDB: Assert hit when getting non-existent object store in version change transaction
https://bugs.webkit.org/show_bug.cgi?id=102547

Reviewed by Tony Chang.

Source/WebCore:

Code did not account for the not-found case in "versionchange" transactions, where all
object stores are implicitly in scope.

Test: storage/indexeddb/object-lookups-in-versionchange.html

  • Modules/indexeddb/IDBTransaction.cpp:

(WebCore::IDBTransaction::objectStore):

LayoutTests:

Regression test - make sure that .objectStore() and .index() fail on unknown names
in "versionchange" transactions.

  • storage/indexeddb/object-lookups-in-versionchange-expected.txt: Added.
  • storage/indexeddb/object-lookups-in-versionchange.html: Added.
6:03 PM Changeset in webkit [135026] by timothy_horton@apple.com
  • 9 edits in trunk/Source/WebKit2

Fix the windows build.

Patch by Sam Weinig <weinig@apple.com> on 2012-11-16

  • WebProcess/Cookies/cf/WebCookieManagerCFNet.cpp:

(WebKit::WebCookieManager::platformSetHTTPCookieAcceptPolicy):
(WebKit::WebCookieManager::platformGetHTTPCookieAcceptPolicy):

  • WebProcess/InjectedBundle/InjectedBundle.cpp:

(WebKit::InjectedBundle::setPrivateBrowsingEnabled):
(WebKit::InjectedBundle::switchNetworkLoaderToNewTestingSession):

  • WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:

(WebKit::WebPlatformStrategies::defaultCookieStorage):

  • WebProcess/WebCoreSupport/win/WebFrameNetworkingContext.h:

(WebFrameNetworkingContext):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::updatePreferences):

  • WebProcess/WebPage/win/WebPageWin.cpp:

(WebKit::cachedResponseForURL):

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::initializeWebProcess):

  • WebProcess/win/WebProcessWin.cpp:

(WebKit::WebProcess::platformSetCacheModel):
(WebKit::WebProcess::platformClearResourceCaches):
(WebKit::WebProcess::platformInitializeWebProcess):

6:03 PM Changeset in webkit [135025] by Simon Fraser
  • 16 edits in trunk

Eliminate ancestor tree walk computing outlineBoundsForRepaint() when updating layer positions
https://bugs.webkit.org/show_bug.cgi?id=101874

Reviewed by Dave Hyatt.

Source/WebCore:

RenderLayer::updateLayerPositions() and updateLayerPositionsAfterScroll() spend a
lot of time in computeRepaintRects(), which does two ancestor tree walks, once
for clippedOverflowRectForRepaint(), and one for outlineBoundsForRepaint().

Eliminate the ancestor tree walk in outlineBoundsForRepaint() by maintaining
a RenderGeometryMap as we traverse the layer tree, and then using it to map
the outline bounds to the repaint container. Replace the hokey cached offsetFromRoot
now that the RenderGeometryMap can do a better job.

The clipped overflow rect cannot be mapped simply, so cannot yet make use of
the geometry map.

Modify the RenderGeometryMap to support mapping to some repaintContainer ancestor.
Add a RenderObject walk that is necessary to detect flipped writing mode blocks.

Pass the RenderGeometryMap as an optional parameter to outlineBoundsForRepaint.

  • page/FrameView.cpp:

(WebCore::FrameView::layout): Make a RenderGeometryMap and pass it down
to updateLayerPositions(). For partial layouts, we have to push layers
between the root and the enclosing layer of the layout subtree.
The geometry map used for repainting does not use SnapOffsetForTransforms,
so initialize it explicitly with just the UseTransforms flag.
(WebCore::FrameView::repaintFixedElementsAfterScrolling): Make a RenderGeometryMap
to pass along to updateLayerPositionsAfterScroll().

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::outlineBoundsForRepaint): Replace the optional cachedOffsetToRepaintContainer
parameter with an optional RenderGeometryMap, and it use to map the compute rect to
repaintContainer coordinates.

  • rendering/RenderBox.h:
  • rendering/RenderGeometryMap.cpp:

(WebCore::RenderGeometryMap::RenderGeometryMap): This now has to store the mapping
flags to use, so that its behavior can match that of mapLocalToContainer(). The
pertinent flag is the confusingly named SnapOffsetForTransforms.
(WebCore::RenderGeometryMap::absolutePoint): Call the new mapToContainer() with
a null container.
(WebCore::RenderGeometryMap::absoluteRect): Ditto.
(WebCore::RenderGeometryMap::mapToContainer): Map to the supplied container,
asserting that we found it. Add point- and rect-based mapping methods
akin to the old absoluteRect/absolutePoint.
(WebCore::canMapViaLayer): We need to test for isRenderFlowThread() here too.
(WebCore::RenderGeometryMap::pushMappingsToAncestor): When mapping via
layers, ensure that the RenderView is pushed as the first step.

  • rendering/RenderGeometryMap.h:

(RenderGeometryMap):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::updateLayerPositionsAfterLayout): New wrapper for updateLayerPositions()
that makes the geometry map.
(WebCore::RenderLayer::updateLayerPositionsAfterScroll): New wrapper for updateLayerPositionsAfterScroll
that makes the geometry map.
(WebCore::RenderLayer::updateLayerPositions): Now takes an optional RenderGeometryMap.
Remove the old offsetFromRoot code. Push and pop layers to/from the geometry map. Use
the geometry map to get the offsetFromRoot as needed by overflow controls. Pass
it to computeRepaintRects().
(WebCore::RenderLayer::computeRepaintRects): Pass the geometry map to outlineBoundsForRepaint().
(WebCore::RenderLayer::updateLayerPositionsAfterScroll): Push and pop to/from the
geometry map, and pass it to computeRepaintRects().
(WebCore::RenderLayer::removeOnlyThisLayer): Remove the offsetFromRootBeforeMove
computation; this could use a geometry map in future if it is shown to be a bottleneck.

  • rendering/RenderLayer.h:

(WebCore::RenderLayer::canUseConvertToLayerCoords): It was thought that the isComposited()
was there because the older cached offsetFromRoot logic was sensitive to compositing,
but convertToLayerCoords() is not affected by compositing so this check is not needed,
and actually harmful.

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::OverlapMap::OverlapMap): The geometry map
used for overlap testing should not use SnapOffsetForTransforms, so initialize
it explicitly with just the UseTransforms flag.

  • rendering/RenderObject.h:

(WebCore::RenderObject::outlineBoundsForRepaint):

  • rendering/svg/RenderSVGModelObject.cpp:

(WebCore::RenderSVGModelObject::outlineBoundsForRepaint):

  • rendering/svg/RenderSVGModelObject.h:

(RenderSVGModelObject):

LayoutTests:

In debug, skip tests that assert because of LayoutUnit truncation.

  • platform/mac/TestExpectations:
6:01 PM Changeset in webkit [135024] by Lucas Forschler
  • 4 edits in tags/Safari-537.19.1/Source

Versioning.

5:58 PM Changeset in webkit [135023] by Lucas Forschler
  • 1 copy in tags/Safari-537.19.1

New Tag.

5:53 PM Changeset in webkit [135022] by alecflett@chromium.org
  • 11 edits
    2 adds in trunk

Add tests for explicit serialization values
https://bugs.webkit.org/show_bug.cgi?id=96818

Reviewed by Adam Barth.

Source/WebCore:

Expose direct access to the serialization/deserialization mechanisms
of SerializedScriptValue to DumpRenderTree.

  • testing/Internals.cpp:

(WebCore::Internals::serializeObject):
(WebCore):
(WebCore::Internals::deserializeBuffer):

  • testing/Internals.h:

(WebCore):

  • testing/Internals.idl:

Source/WebKit2:

Add exports for SerializedScriptValue changes.

  • win/WebKit2.def:
  • win/WebKit2CFLite.def:

LayoutTests:

Make sure SerializedScriptValues are backward compatible with future changes.

  • platform/chromium/fast/storage/serialized-script-value.html: Added.
  • platform/chromium/fast/storage/serialized-script-value.txt: Added.
5:34 PM Changeset in webkit [135021] by akling@apple.com
  • 9 edits in trunk/Source/WebCore

Exploit shared attribute data to avoid parsing identical "style" attributes.
<http://webkit.org/b/101163>

Reviewed by Antti Koivisto.

Track the "inline style dirty" state on ElementAttributeData instead of in a Node flag.
This allows us to avoid duplicate work for ElementAttributeData that are shared between multiple elements,
since the state is no longer per-Element.

  • css/StyleResolver.cpp:

(WebCore::isCacheableInMatchedPropertiesCache):

Disable the matched properties cache for styles with non-standard writing-mode.
This is necessary because some CSS properties have different meaning depending on context -
properties handled by CSSProperty::resolveDirectionAwareProperty().

Now that multiple elements may have identical inlineStyle() pointers, this is necessary to
avoid mapping StylePropertySets with direction-aware properties to RenderStyles with differing
writing-modes in the matched properties cache.

  • dom/Node.h:
  • dom/ElementAttributeData.cpp:

(WebCore::ElementAttributeData::ElementAttributeData):

  • dom/ElementAttributeData.h:

(WebCore::ElementAttributeData::ElementAttributeData):
(ElementAttributeData):

  • dom/Element.h:

(WebCore::Element::updateInvalidAttributes):

  • dom/Element.cpp:

(WebCore::Element::getAttribute):
(WebCore::Element::removeAttribute):

  • dom/StyledElement.h:

(WebCore::StyledElement::invalidateStyleAttribute):

  • dom/StyledElement.cpp:

(WebCore::StyledElement::updateStyleAttribute):

Move "style attribute dirty" flag to ElementAttributeData.

(WebCore::Element::cloneAttributesFromElement):

Remove ugly optimization to avoid reparsing inline style when cloning elements. This now happens
automagically since cloning nodes just refs the original attribute data.

  • dom/StyledElement.cpp:

(WebCore::StyledElement::updateStyleAttribute):
(WebCore::StyledElement::setInlineStyleFromString):
(WebCore::StyledElement::styleAttributeChanged):
(WebCore::StyledElement::inlineStyleChanged):

Avoid reparsing the inline style if the element's attribute data is immutable and already has
a parsed inlineStyle(). Split the set-inline-style-from-string code out of styleAttributeChanged()
to make the code more understandable.

5:34 PM Changeset in webkit [135020] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebKit2

Set task priority of WebKit2 processes to zero on Mac
https://bugs.webkit.org/show_bug.cgi?id=102567

Patch by Kiran Muppala <cmuppala@apple.com> on 2012-11-16
Reviewed by Mark Rowe.

Explicitly set task priority of WebKit2 processes to zero, to
override automatic priority determination by the system.

  • Shared/ChildProcess.cpp:

(WebKit::ChildProcess::ChildProcess): Add call to platformInitialize() and
move MAC specific call to disableProcessSuppression to platformInitialize.
(WebKit::ChildProcess::platformInitialize): Dummy for non MAC platforms.

  • Shared/ChildProcess.h:
  • Shared/mac/ChildProcessMac.mm:

(WebKit::ChildProcess::platformInitialize): Add call to setpriority().

5:06 PM Changeset in webkit [135019] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

Don't update layer positions on scrolling if we're in the middle of layout
https://bugs.webkit.org/show_bug.cgi?id=102556

Reviewed by Dan Bernstein.

RenderLayer::scrollTo() can be called in the middle of layout. When
that happens we should not waste time updating layer positions,
compositing layers, or widget positions, because we'll do those at the
end of layout anyway.

This prevents us from having inconsistent RenderLayer state, which
hinders future optimizations in this area.

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::scrollTo):

4:52 PM Changeset in webkit [135018] by dgrogan@chromium.org
  • 10 edits in trunk/LayoutTests

IndexedDB: setVersion excision batch 9
https://bugs.webkit.org/show_bug.cgi?id=102455

Reviewed by Tony Chang.

  • storage/indexeddb/persistence-expected.txt:
  • storage/indexeddb/resources/persistence.js:

(prepareDatabase):
Little awkwardness to get the initial version number to be 0 (actually,
because of a bug it's "") so that first() will trigger a
versionchange.
(first):

  • storage/indexeddb/resources/set_version_blocked.js: Small "blocked" test. It's probably redundant due to our crazier tests, but it is nice to have a succinct test that checks one thing.
  • storage/indexeddb/resources/shared.js:

(unexpectedBlockedCallback):

  • storage/indexeddb/resources/transaction-basics.js: This test is a mess, obviously written near the dawn of IDB when no one knew how to write an effective test for it. In the interests of preventing the diff from exploding I didn't take all the clarification opportunities that were there.
  • storage/indexeddb/resources/transaction-error.js:
  • storage/indexeddb/set_version_blocked-expected.txt:
  • storage/indexeddb/transaction-basics-expected.txt:
  • storage/indexeddb/transaction-error-expected.txt:
4:40 PM Changeset in webkit [135017] by beidson@apple.com
  • 13 edits
    1 copy in trunk/Source/WebKit2

Move resource loader messaging from NetworkConnectionToWebProcess directly to NetworkResourceLoader
https://bugs.webkit.org/show_bug.cgi?id=102570

Reviewed by Alexey Proskuryakov.

This patch adds the ability for WebResourceLoader to message NetworkResourceLoader directly.

This further cements the 1-to-1 relationship between the two classes and makes it easy to add/change
loader related messaging going forward.

Build/infrastructure stuff:

  • Platform/CoreIPC/MessageID.h:
  • WebKit2.xcodeproj/project.pbxproj:
  • DerivedSources.make:

Remove the WillSendRequestHandled message, and forward NetworkResourceLoader messages on to the correct object:

  • NetworkProcess/NetworkConnectionToWebProcess.cpp:

(WebKit::NetworkConnectionToWebProcess::didReceiveMessage):

  • NetworkProcess/NetworkConnectionToWebProcess.h:
  • NetworkProcess/NetworkConnectionToWebProcess.messages.in:

Hang on to a master map of identifiers to NetworkResourceLoaders:

  • NetworkProcess/NetworkResourceLoadScheduler.cpp:

(WebKit::NetworkResourceLoadScheduler::scheduleResourceLoad):
(WebKit::NetworkResourceLoadScheduler::removeLoadIdentifier):
(WebKit::NetworkResourceLoadScheduler::networkResourceLoaderForIdentifier):

  • NetworkProcess/NetworkResourceLoadScheduler.h:

Change the way "willSendRequestHandled" comes in to be a direct message:

  • NetworkProcess/NetworkResourceLoader.cpp:

(WebKit::NetworkResourceLoader::willSendRequest):
(WebKit::NetworkResourceLoader::willSendRequestHandled):

  • NetworkProcess/NetworkResourceLoader.h:
  • NetworkProcess/NetworkResourceLoader.messages.in:

Make WebResourceLoader a MessageSender:

  • WebProcess/Network/WebResourceLoader.cpp:

(WebKit::WebResourceLoader::connection):
(WebKit::WebResourceLoader::destinationID):
(WebKit::WebResourceLoader::willSendRequest): Use MessageSender abilities to message the NetworkResourceLoader.

  • WebProcess/Network/WebResourceLoader.h:
4:31 PM Changeset in webkit [135016] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit/chromium

Add setChecked API in WebInputElement
https://bugs.webkit.org/show_bug.cgi?id=102422

Patch by Raman Kumar <ramankk@chromium.org> on 2012-11-16
Reviewed by Adam Barth.

  • public/WebInputElement.h:

(WebInputElement): Add setChecked(bool, bool) API

  • src/WebInputElement.cpp:

(WebKit::WebInputElement::setChecked): Implement setChecked by calling
underlying HTMLInputElement's setChecked.
(WebKit):

4:25 PM Changeset in webkit [135015] by Dimitri Glazkov
  • 1 edit
    1 delete in trunk/LayoutTests

[Chromium] Removed unnecessary expectation.

  • platform/chromium-win/fast/canvas/canvas-shadow-expected.txt: Removed.
3:59 PM Changeset in webkit [135014] by tony@chromium.org
  • 16 edits in trunk

Remove ENABLE_CSS_HIERARCHIES since it's no longer in use
https://bugs.webkit.org/show_bug.cgi?id=102554

Reviewed by Andreas Kling.

As mentioned in https://bugs.webkit.org/show_bug.cgi?id=79939#c41 ,
we're going to revist this feature once additional vendor support is
achieved.

.:

  • Source/cmake/WebKitFeatures.cmake:
  • Source/cmakeconfig.h.cmake:

Source/JavaScriptCore:

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore:

No new tests, just removing an unused define.

  • Configurations/FeatureDefines.xcconfig:
  • GNUmakefile.features.am:

Source/WebKit/chromium:

  • features.gypi:

Source/WebKit/mac:

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

  • Configurations/FeatureDefines.xcconfig:

Tools:

  • Scripts/webkitperl/FeatureList.pm:
3:52 PM Changeset in webkit [135013] by pilgrim@chromium.org
  • 10 edits
    1 move
    1 add in trunk/Source

[Chromium] Remove cookie-related functions from PlatformSupport
https://bugs.webkit.org/show_bug.cgi?id=99340

Reviewed by Adam Barth.

Move cookie-related functions out of PlatformSupport and implement
new PlatformCookieJar interface via NetworkContext.

Source/WebCore:

  • WebCore.gyp/WebCore.gyp:
  • WebCore.gypi:
  • loader/CookieJar.cpp:
  • loader/chromium/CookieJarChromium.cpp: Removed.
  • platform/chromium/PlatformSupport.h:

(WebCore):
(PlatformSupport):

  • platform/network/NetworkingContext.h:

(WebKit):
(NetworkingContext):

  • platform/network/chromium/CookieJarChromium.cpp: Copied from Source/WebCore/loader/chromium/CookieJarChromium.cpp.

(WebCore::setCookiesFromDOM):
(WebCore::cookiesForDOM):
(WebCore::cookieRequestHeaderFieldValue):
(WebCore::cookiesEnabled):
(WebCore::getRawCookies):
(WebCore::deleteCookie):
(WebCore::getHostnamesWithCookies):
(WebCore::deleteCookiesForHostname):
(WebCore::deleteAllCookies):

Source/WebKit/chromium:

  • WebKit.gyp:
  • src/FrameNetworkingContextImpl.cpp: Added.

(WebKit):
(WebKit::FrameNetworkingContextImpl::cookieJar):

  • src/FrameNetworkingContextImpl.h:

(FrameNetworkingContextImpl):

  • src/PlatformSupport.cpp:
3:47 PM Changeset in webkit [135012] by aestes@apple.com
  • 2 edits in branches/safari-536.28-branch/Source/WebCore

Fix the Mountain Lion build after r135007.

  • bindings/js/JSDesktopNotificationsCustom.cpp:

(WebCore::JSNotificationCenter::requestPermission):

3:39 PM Changeset in webkit [135011] by Lucas Forschler
  • 7 edits in branches/safari-536.28-branch/Source/WebCore

Merged r131779. <rdar://problem/12536363>

3:31 PM Changeset in webkit [135010] by bfulgham@webkit.org
  • 7 edits in trunk/Source

Source/WebKit/win: [WinCairo] Unreviewed build fix after r134960.

Avoid including Mac-specific headers.

  • WebCoreSupport/WebFrameNetworkingContext.cpp: Stub out

CFNetwork-based implementations.

  • WebCoreSupport/WebFrameNetworkingContext.h: Exclude

CFNetwork data types.

  • WebCoreSupport/WebPlatformStrategies.cpp: Stub out

CFNetwork-based implementations.

  • WebCoreSupport/WebPlatformStrategies.h: Exclude

CFNetwork data types.

Source/WebKit2: [WinCairo] Build correction after r134960.

  • WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: Stub out

calls to CFNetwork-based implementation.

3:30 PM Changeset in webkit [135009] by commit-queue@webkit.org
  • 14 edits
    4 adds in trunk

[JSC] Don't sanitize window.onerror information on crossorigin-enabled scripts
https://bugs.webkit.org/show_bug.cgi?id=70574

Patch by Pablo Flouret <pablof@motorola.com> on 2012-11-16
Reviewed by Geoffrey Garen.

Source/WebCore:

For scripts that use CORS (via the crossorigin attribute in this case),
don't sanitize the information passed to the window's onerror handler (i.e.
message, url, and line number). Useful for scripts hosted on CDNs.

Tests: http/tests/security/script-crossorigin-onerror-information.html

http/tests/security/script-no-crossorigin-onerror-should-be-sanitized.html

  • WebCore.exp.in:
  • WebCore.order:
  • bindings/js/JSDOMBinding.cpp:

(WebCore::reportException):

  • bindings/js/JSDOMBinding.h:

(WebCore):

  • bindings/js/ScriptController.cpp:

(WebCore::ScriptController::evaluateInWorld):

  • bindings/js/ScriptSourceCode.h:

(WebCore::ScriptSourceCode::ScriptSourceCode):
(WebCore::ScriptSourceCode::cachedScript):
(ScriptSourceCode):

  • bindings/js/WorkerScriptController.cpp:

(WebCore::WorkerScriptController::evaluate):

Keep a reference to the cached script in the ScriptSourceCode, so
that it can be passed around and be available when reporting the
exception.

  • dom/ScriptExecutionContext.cpp:

(WebCore::ScriptExecutionContext::sanitizeScriptError):
(WebCore::ScriptExecutionContext::reportException):
(WebCore::ScriptExecutionContext::dispatchErrorEvent):

  • dom/ScriptExecutionContext.h:

(WebCore):
(ScriptExecutionContext):

Check if the script passes the access control checks, and if so,
don't sanitize the error information.

  • html/parser/HTMLPreloadScanner.cpp:

(WebCore::PreloadTask::processAttributes):
(WebCore::PreloadTask::preload):
(PreloadTask):
(WebCore::PreloadTask::crossOriginModeAllowsCookies):

When preloading script elements, check for the crossorigin attribute
and adjust the request's allowCookies value accordingly. Otherwise
when the script is loaded from the cache later on, the cross origin mode
(anonymous/use-credentials) will be effectively ignored.

LayoutTests:

  • http/tests/security/resources/cors-script.php:
  • http/tests/security/script-crossorigin-onerror-information-expected.txt: Added.
  • http/tests/security/script-crossorigin-onerror-information.html: Added.
  • http/tests/security/script-no-crossorigin-onerror-should-be-sanitized-expected.txt: Added.
  • http/tests/security/script-no-crossorigin-onerror-should-be-sanitized.html: Added.
  • platform/chromium/TestExpectations:

This patch only deals with JSC right now, skip the new tests.

3:05 PM Changeset in webkit [135008] by jochen@chromium.org
  • 6 edits in trunk/Tools

[chromium] move stubs from DRTTestRunner to TestRunner
https://bugs.webkit.org/show_bug.cgi?id=102489

Reviewed by Adam Barth.

This is part of moving all methods from DRTTestRunner to TestRunner.
Instead of keeping one stub per method, I'm using a shared stub to
clean up the code.

  • DumpRenderTree/chromium/DRTTestRunner.cpp:

(DRTTestRunner::DRTTestRunner):

  • DumpRenderTree/chromium/DRTTestRunner.h:

(DRTTestRunner):

  • DumpRenderTree/chromium/TestRunner/src/TestRunner.cpp:

(WebTestRunner::TestRunner::TestRunner):
(WebTestRunner):
(WebTestRunner::TestRunner::fallbackMethod):
(WebTestRunner::TestRunner::notImplemented):

  • DumpRenderTree/chromium/TestRunner/src/TestRunner.h:

(WebTestRunner):
(TestRunner):
(WebTestRunner::TestRunner::setDelegate):

  • DumpRenderTree/chromium/TestShell.cpp:

(TestShell::createMainWindow):
(TestShell::~TestShell):

3:02 PM Changeset in webkit [135007] by Lucas Forschler
  • 7 edits in branches/safari-536.28-branch

Merged r131280. <rdar://problem/12516340>

2:51 PM Changeset in webkit [135006] by jochen@chromium.org
  • 5 edits in trunk/Tools

[chromium] fake drag drop operations in the WebTestProxyBase instead of the WebViewHost
https://bugs.webkit.org/show_bug.cgi?id=102495

Reviewed by Adam Barth.

When a drag operation is initiated in a layout test, we need to
simulate a corresponding drop event, otherwise the WebViewImpl will sit
there waiting for it. Instead of having the embedder taking care of
this, move this into the TestRunner library.

  • DumpRenderTree/chromium/TestRunner/public/WebTestProxy.h:

(WebKit):
(WebTestProxyBase):
(WebTestRunner::WebTestProxy::startDragging):

  • DumpRenderTree/chromium/TestRunner/src/WebTestProxy.cpp:

(WebTestRunner::WebTestProxyBase::startDragging):
(WebTestRunner):

  • DumpRenderTree/chromium/WebViewHost.cpp:
  • DumpRenderTree/chromium/WebViewHost.h:

(WebViewHost):

2:48 PM Changeset in webkit [135005] by Lucas Forschler
  • 9 edits in branches/safari-536.28-branch/Source

Merged r130565. <rdar://problem/12516362>

2:46 PM Changeset in webkit [135004] by aestes@apple.com
  • 6 edits
    3 adds in branches/safari-536.28-branch

Merge r130102.

2012-10-01 Filip Pizlo <fpizlo@apple.com>

Address a FIXME in JSArray::sort
https://bugs.webkit.org/show_bug.cgi?id=98080
<rdar://problem/12407844>

Reviewed by Oliver Hunt.

Source/JavaScriptCore:

Get rid of fast sorting of sparse maps. I don't know that it's broken but I do know that we don't
have coverage for it. Then also address the FIXME in JSArray::sort regarding side-effecting
compare functions.

  • runtime/ArrayPrototype.cpp:

(JSC::arrayProtoFuncSort):

  • runtime/JSArray.cpp:

(JSC::JSArray::sortNumeric):
(JSC::JSArray::sort):
(JSC::JSArray::compactForSorting):

  • runtime/JSArray.h:

(JSArray):

  • runtime/JSObject.h:

(JSC::JSObject::hasSparseMap):
(JSObject):

LayoutTests:

  • fast/js/jsc-test-list:
  • fast/js/script-tests/sort-with-side-effecting-comparisons.js: Added.
  • fast/js/sort-with-side-effecting-comparisons-expected.txt: Added.
  • fast/js/sort-with-side-effecting-comparisons.html: Added.
2:42 PM Changeset in webkit [135003] by jonlee@apple.com
  • 7 edits
    4 adds in trunk/Source/WebCore

Change visual look of placeholder
https://bugs.webkit.org/show_bug.cgi?id=102149
<rdar://problem/12695566>

Reviewed by Darin Adler.

Move the button to the lower-right corner. Move the theming into
RenderSnapshottedPlugin for now. Eventually we will want to migrate to using the
shadow DOM instead, and the metrics of the button are needed for click passthrough.

Maintain variables to track whether the mouse is over the button, and the rect
for the button. If the user clicks in the rect, we render a pressed button.

  • rendering/RenderSnapshottedPlugIn.cpp:

(WebCore): Add named constant for bottom and right padding of the button.
(WebCore::RenderSnapshottedPlugIn::RenderSnapshottedPlugIn):
(WebCore::RenderSnapshottedPlugIn::paintReplaced):
(WebCore::startButtonImage): Returns button image.
(WebCore::startButtonPressedImage): Returns pressed button image.
(WebCore::RenderSnapshottedPlugIn::paintButton): Draw the button image in the
lower right hand corner, but only if we are active or hovered.
(WebCore::RenderSnapshottedPlugIn::repaintButton): Stubbed to call repaint().
(WebCore::RenderSnapshottedPlugIn::handleEvent): Repaint the button if we are
hovering over the plugin rect. With a mouse down event, calculate whether the
mouse position is within the button rect.
(WebCore::RenderSnapshottedPlugIn::layout): Cache the rect representing the button
contents.

  • rendering/RenderSnapshottedPlugIn.h:

Remove theming function for now.

  • rendering/RenderTheme.h:

(RenderTheme):

  • rendering/RenderThemeMacShared.h:
  • rendering/RenderThemeMacShared.mm:
2:31 PM Changeset in webkit [135002] by commit-queue@webkit.org
  • 7 edits in trunk

Rename applyDefaultDeviceScaleFactorInCompositor to setApplyDeviceScaleFactorInCompositor
https://bugs.webkit.org/show_bug.cgi?id=102462

Patch by Tien-Ren Chen <trchen@chromium.org> on 2012-11-16
Reviewed by James Robinson.

As we no longer have this "default" device scale factor.

Source/WebKit/chromium:

  • public/WebSettings.h:

(WebKit::WebSettings::setApplyDefaultDeviceScaleFactorInCompositor):

  • src/WebSettingsImpl.cpp:

(WebKit::WebSettingsImpl::WebSettingsImpl):
(WebKit::WebSettingsImpl::setApplyDeviceScaleFactorInCompositor):

  • src/WebSettingsImpl.h:

(WebSettingsImpl):
(WebKit::WebSettingsImpl::applyDeviceScaleFactorInCompositor):

  • src/WebViewImpl.cpp:

(WebKit::WebViewImpl::setDeviceScaleFactor):
(WebKit::WebViewImpl::setIsAcceleratedCompositingActive):

Tools:

  • DumpRenderTree/chromium/WebPreferences.cpp:

(WebPreferences::applyTo):

2:02 PM Changeset in webkit [135001] by eric@webkit.org
  • 8 edits in trunk/Source/WebCore

Deploy ScriptWrappable to more always-wrapped objects
https://bugs.webkit.org/show_bug.cgi?id=102539

Reviewed by Adam Barth.

Add the ScriptWrappable baseclass to:
CSSStyleDeclaration (anttik tells me these should only be used from JS, even though some old Editing code used to use them)
ClientRect (element.getBoundingClientRects)
Event (Not all events end up wrapped, but any which live past dispatch do)
NodeList (this covers Static and Dynamic node list types, like document.all)
HTMLCollection (separate from NodeList, for things like table.rows)
Storage (for window.storage, always wrapped)
XMLHttpRequest (always wrapped, created from JS)

This should be a small memory savings as the inline pointer is only 4-8 bytes
instead of the hashmap entry which would be 8-16. This may also show up
on benchmarks which repeatedly access these objects (like window.storage).

These were found by adding a couple lines of logging-code to
WebCore::createWrapper when we were in the main world, but took the
HashMap (instead of inline) storage path. I used sort and uniq -c
to find the most-frequently wrapped objects (while surfing
a few common sites) and came up with this list. There are still a few
more complicated objects (like CSSStyleDeclaration) which may benifit
from inline-wrapper-access and will be covered in a later patch.

  • css/CSSStyleDeclaration.h:
  • dom/ClientRect.h:
  • dom/Event.h:
  • dom/NodeList.h:
  • html/HTMLCollection.h:
  • storage/Storage.h:
  • xml/XMLHttpRequest.h:
1:53 PM Changeset in webkit [135000] by jonlee@apple.com
  • 2 edits in trunk/Source/WebKit/chromium

Fix build error on Chromium due to r134995.

  • src/WebNode.cpp:

(WebKit::WebNode::simulateClick): Pass in NULL pointer instead.

1:53 PM Changeset in webkit [134999] by Lucas Forschler
  • 2 edits in branches/safari-536.28-branch/Source/WebCore

Merged r134903. <rdar://problem/12721103>

1:52 PM Changeset in webkit [134998] by Dimitri Glazkov
  • 3 edits
    2 moves
    2 deletes in trunk/LayoutTests

[Chromium] Remaining bits of Win7 rebaselines.

1:43 PM Changeset in webkit [134997] by Dimitri Glazkov
  • 16 edits
    6 moves
    1 add
    25 deletes in trunk/LayoutTests

[Chromium] Massive rebaseline after Win7 came back up.

1:40 PM Changeset in webkit [134996] by Lucas Forschler
  • 2 edits in tags/Safari-537.19/Source/WebCore

Merged r134903. <rdar://problem/12683850>

1:39 PM Changeset in webkit [134995] by jonlee@apple.com
  • 5 edits in trunk/Source/WebCore

Simulated events instances do not all have the same underlying event
https://bugs.webkit.org/show_bug.cgi?id=102468
<rdar://problem/12716331>

Reviewed by Alexey Proskuryakov.

The PassRefPtr with the underlying event is included as an argument for the mouse
down, up, and click events. But the PassRefPtr loses its underlying pointer after
the first simulated mouse down event because it gets assigned to that event's
private m_underlyingEvent variable. We therefore send NULL to the other events.

The fix is for this and related functions to pass the raw pointer.

A layout test is not possible to put together because the call sites that use simulated
events with an underlying event do not send mouse events, and those that send mouse
events have a NULL underlying event.

  • dom/EventDispatcher.cpp:

(WebCore::EventDispatcher::dispatchSimulatedClick): Require passing in the raw pointer.

  • dom/EventDispatcher.h:
  • dom/Node.cpp:

(WebCore::Node::dispatchSimulatedClick): Ditto.

  • dom/Node.h:
1:33 PM Changeset in webkit [134994] by Patrick Gansterer
  • 2 edits in trunk/Source/WebCore

Build fix for WinCE after r134936.

  • platform/network/win/CookieJarWin.cpp:

(WebCore::cookieRequestHeaderFieldValue):

1:31 PM Changeset in webkit [134993] by Patrick Gansterer
  • 2 edits in trunk/Source/JavaScriptCore

Build fix for WinCE after r133688.

Use numeric_limits<uint32_t>::max() instead of UINT32_MAX.

  • runtime/CodeCache.h:

(JSC::CacheMap::CacheMap):

1:31 PM Changeset in webkit [134992] by Dimitri Glazkov
  • 9 edits
    2 deletes in trunk

Unreviewed, rolling out r134986.
http://trac.webkit.org/changeset/134986
https://bugs.webkit.org/show_bug.cgi?id=102110

Triggered ASSERT in fast/frames/seamless/seamless-inherited-
origin.html.

Source/WebCore:

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::StyleResolver):
(WebCore::StyleResolver::addAuthorRulesAndCollectUserRulesFromSheets):
(WebCore::collectCSSOMWrappers):

  • css/StyleResolver.h:

(StyleResolver):

  • dom/Document.cpp:

(WebCore::Document::setCompatibilityMode):

  • dom/DocumentStyleSheetCollection.cpp:

(WebCore::DocumentStyleSheetCollection::DocumentStyleSheetCollection):
(WebCore::DocumentStyleSheetCollection::~DocumentStyleSheetCollection):
(WebCore::DocumentStyleSheetCollection::pageGroupUserSheets):
(WebCore):
(WebCore::DocumentStyleSheetCollection::clearPageGroupUserSheets):
(WebCore::DocumentStyleSheetCollection::updatePageGroupUserSheets):
(WebCore::DocumentStyleSheetCollection::addUserSheet):
(WebCore::DocumentStyleSheetCollection::updateActiveStyleSheets):
(WebCore::DocumentStyleSheetCollection::reportMemoryUsage):

  • dom/DocumentStyleSheetCollection.h:

(DocumentStyleSheetCollection):
(WebCore::DocumentStyleSheetCollection::documentUserSheets):

  • page/PageGroup.cpp:

(WebCore::PageGroup::addUserStyleSheetToWorld):
(WebCore::PageGroup::removeUserStyleSheetFromWorld):
(WebCore::PageGroup::removeUserStyleSheetsFromWorld):
(WebCore::PageGroup::removeAllUserContent):
(WebCore::PageGroup::resetUserStyleCacheInAllFrames):

  • page/PageGroup.h:

(PageGroup):

LayoutTests:

  • userscripts/user-stylesheet-invalidate-expected.txt: Removed.
  • userscripts/user-stylesheet-invalidate.html: Removed.
1:29 PM Changeset in webkit [134991] by Lucas Forschler
  • 10 edits
    2 copies in branches/safari-536.28-branch

Merged r128088. <rdar://problem/12516313>

1:01 PM Changeset in webkit [134990] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit/blackberry

https://bugs.webkit.org/show_bug.cgi?id=102540
[BlackBerry] Checkerboard flicker when pinch zooming out on google.com/nwshp

Patch by Adam Treat <atreat@rim.com> on 2012-11-16
Reviewed by George Staikos.
PR 245827

Disable updates to the backingstore tile matrix when backingstore updates
are disabled. This prevents changes to the tile matrix when we are in the
middle of a pinch zoom which can cause checkebroard flickering.

  • Api/BackingStore.cpp:

(BlackBerry::WebKit::BackingStorePrivate::BackingStorePrivate):
(BlackBerry::WebKit::BackingStorePrivate::resumeBackingStoreUpdates):
(BlackBerry::WebKit::BackingStorePrivate::setBackingStoreRect):
(BlackBerry::WebKit::BackingStorePrivate::render):
(BlackBerry::WebKit::BackingStorePrivate::renderVisibleContents):
(BlackBerry::WebKit::BackingStorePrivate::renderBackingStore):
(BlackBerry::WebKit::BackingStorePrivate::updateTileMatrixIfNeeded):
(BlackBerry::WebKit::BackingStorePrivate::contentsSizeChanged):
(BlackBerry::WebKit::BackingStorePrivate::orientationChanged):

  • Api/BackingStore_p.h:

(BlackBerry::WebKit::BackingStorePrivate::setTileMatrixNeedsUpdate):
(BackingStorePrivate):

12:56 PM Changeset in webkit [134989] by commit-queue@webkit.org
  • 9 edits in trunk/Source

IndexedDB: Propagate DOMRequestState to IndexedDB binding utility functions
https://bugs.webkit.org/show_bug.cgi?id=102430

Patch by Michael Pruett <michael@68k.org> on 2012-11-16
Reviewed by Adam Barth.

DOMRequestState is currently propagated to some but not all of
the IndexedDB binding utility functions. In order to implement
these functions for JSC, this state must be propagated to all
of the utility functions.

Source/WebCore:

Tests: storage/indexeddb/*

  • Modules/indexeddb/IDBCursor.cpp:

(WebCore::IDBCursor::update):
(WebCore::IDBCursor::setValueReady):

  • Modules/indexeddb/IDBObjectStore.cpp:

(WebCore::generateIndexKeysForValue):
(WebCore::IDBObjectStore::put):
(WebCore):

  • Modules/indexeddb/IDBRequest.cpp:

(WebCore::IDBRequest::onSuccess):
(WebCore::IDBRequest::dispatchEvent):

  • Modules/indexeddb/IDBRequest.h:

(WebCore::IDBRequest::requestState):
(IDBRequest):

  • bindings/v8/IDBBindingUtilities.cpp:

(WebCore::createIDBKeyFromScriptValueAndKeyPath):
(WebCore::serializeIDBValue):
(WebCore::injectIDBKeyIntoScriptValue):

  • bindings/v8/IDBBindingUtilities.h:

(WebCore):

Source/WebKit/chromium:

  • tests/IDBBindingUtilitiesTest.cpp:

(WebKit::checkKeyFromValueAndKeyPathInternal):
(WebKit::injectKey):

12:49 PM Changeset in webkit [134988] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

Rebaselined run-bindings-tests.
https://bugs.webkit.org/show_bug.cgi?id=102523

Patch by Byungwoo Lee <bw80.lee@samsung.com> on 2012-11-16
Reviewed by Dimitri Glazkov.

Expected results need to be updated after r134931

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

(WebCore::jsTestObjWithScriptArgumentsAndCallStackAttribute):
(WebCore::setJSTestObjWithScriptArgumentsAndCallStackAttribute):
(WebCore::jsTestObjPrototypeFunctionWithScriptArgumentsAndCallStack):

  • bindings/scripts/test/V8/V8TestObj.cpp:

(WebCore::TestObjV8Internal::withScriptArgumentsAndCallStackAttributeAttrGetter):
(WebCore::TestObjV8Internal::withScriptArgumentsAndCallStackAttributeAttrSetter):
(WebCore::TestObjV8Internal::withScriptArgumentsAndCallStackCallback):

12:46 PM Changeset in webkit [134987] by psolanki@apple.com
  • 7 edits in trunk/Source/WebCore

For single element arrays use the pointer into the CFDataRef instead of copying data
https://bugs.webkit.org/show_bug.cgi?id=102306
<rdar://problem/12267471>

Reviewed by Alexey Proskuryakov.

We generally copy the data received from CFNetwork into our own buffers. But if the
CFArrayRef has exactly one CFDataRef inside it, then we can just hold on to the CFDataRef
and access its memory directly and avoid making a copy.

This also moves the creation of PurgeableBuffer from CachedResource to SharedBuffer.
SharedBuffer::createPurgeableBuffer() will avoid creating PurgeableBuffer when the
SharedBuffer is backed by a NSData/CFDataRef and when we want to optimize and directly use
the memory in the data array.

No new tests because no change in functionality.

  • loader/ResourceBuffer.cpp:

(WebCore::ResourceBuffer::createPurgeableBuffer): Added.

  • loader/ResourceBuffer.h:
  • loader/cache/CachedResource.cpp:

(WebCore::CachedResource::makePurgeable):

  • platform/SharedBuffer.cpp:

(WebCore::SharedBuffer::createPurgeableBuffer): Added.
(WebCore::SharedBuffer::data):

  • platform/SharedBuffer.h:
  • platform/cf/SharedBufferCF.cpp:

(WebCore::SharedBuffer::platformData): Use reinterpret_cast instead of C-style cast.
(WebCore::SharedBuffer::maybeTransferPlatformData): Use reinterpret_cast instead of C-style cast.
(WebCore::SharedBuffer::singleDataArrayBuffer): Added.

12:36 PM Changeset in webkit [134986] by Antti Koivisto
  • 9 edits
    2 adds in trunk

REGRESSION(r129644): User StyleSheet not applying
https://bugs.webkit.org/show_bug.cgi?id=102110

Reviewed by Andreas Kling.

Source/WebCore:

Injected stylesheets added as UserStyleAuthorLevel fail to apply. r129644 implicitly assumed that
such things don't exists but on Chromium addUserStyleSheet() confusingly uses them.

The patch adds injected author stylesheets to DocumentStyleSheetCollection::activeStyleSheets().
It also generally cleans up the code around injected and user stylesheets.

Tests: userscripts/user-script-and-stylesheet.html

userscripts/user-stylesheet-invalidate.html

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::StyleResolver):
(WebCore::StyleResolver::collectRulesFromUserStyleSheets):
(WebCore::collectCSSOMWrappers):

  • css/StyleResolver.h:

(StyleResolver):

  • dom/Document.cpp:

(WebCore::Document::setCompatibilityMode):

  • dom/DocumentStyleSheetCollection.cpp:

(WebCore::DocumentStyleSheetCollection::DocumentStyleSheetCollection):
(WebCore::DocumentStyleSheetCollection::~DocumentStyleSheetCollection):
(WebCore::DocumentStyleSheetCollection::injectedUserStyleSheets):
(WebCore):
(WebCore::DocumentStyleSheetCollection::injectedAuthorStyleSheets):
(WebCore::DocumentStyleSheetCollection::updateInjectedStyleSheetCache):
(WebCore::DocumentStyleSheetCollection::invalidateInjectedStyleSheetCache):
(WebCore::DocumentStyleSheetCollection::addUserSheet):
(WebCore::DocumentStyleSheetCollection::updateActiveStyleSheets):
(WebCore::DocumentStyleSheetCollection::reportMemoryUsage):

  • dom/DocumentStyleSheetCollection.h:

(WebCore::DocumentStyleSheetCollection::documentUserStyleSheets):
(DocumentStyleSheetCollection):

  • page/PageGroup.cpp:

(WebCore::PageGroup::addUserStyleSheetToWorld):
(WebCore::PageGroup::removeUserStyleSheetFromWorld):
(WebCore::PageGroup::removeUserStyleSheetsFromWorld):
(WebCore::PageGroup::removeAllUserContent):
(WebCore::PageGroup::invalidatedInjectedStyleSheetCacheInAllFrames):

  • page/PageGroup.h:

(PageGroup):

LayoutTests:

  • userscripts/user-stylesheet-invalidate-expected.txt: Added.
  • userscripts/user-stylesheet-invalidate.html: Added.
12:26 PM Changeset in webkit [134985] by thakis@chromium.org
  • 3 edits
    2 copies in branches/chromium/1312

Merge 134698 - [chromium/mac] Fix drawing of buttons, checkboxes, radio boxes, and steppers when the page is scaled
https://bugs.webkit.org/show_bug.cgi?id=102282

Reviewed by James Robinson.

Chromium uses skia, and skia state is synced with CG context state at
LocalCurrentGraphicsContext construction time. So delay that
construction after context transforms have happened.
(This regressed in http://trac.webkit.org/changeset/125830)

Covered by the new pixel test fast/forms/zoomed-controls.html. I
couldn't find an existing test for this.

  • platform/mac/ThemeMac.mm:

(WebCore::paintCheckbox):
(WebCore::paintRadio):
(WebCore::paintButton):

TBR=thakis@chromium.org
Review URL: https://codereview.chromium.org/11418042

12:23 PM Changeset in webkit [134984] by akling@apple.com
  • 2 edits in trunk/Source/WebCore

StyleResolver: Only input elements need equal "readonly" attribute for style sharing.
<http://webkit.org/b/102536>

Reviewed by Antti Koivisto.

Move the comparison of the "readonly" attribute into canShareStyleWithControl() since it's only
relevant for sharing style between <input> elements.

Also skip attribute comparisons for form control elements that share the same ElementAttributeData.

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::canShareStyleWithControl):
(WebCore::haveIdenticalStyleAffectingAttributes):

12:21 PM Changeset in webkit [134983] by bfulgham@webkit.org
  • 2 edits in trunk/LayoutTests

[WinCairo] Sync with Windows test expectations.

  • platform/wincairo/TestExpectations: Update to match Windows.
12:19 PM Changeset in webkit [134982] by bfulgham@webkit.org
  • 2 edits in trunk/Tools

[Win] key event's location does not work on Windows platform.
https://bugs.webkit.org/show_bug.cgi?id=89742

Patch by Takashi Sakamoto <tasak@google.com> on 2012-11-15
Reviewed by Brent Fulgham.

Modified keyDownCallback to use lparam to specify left-hand keys or
right-hand keys.

  • DumpRenderTree/win/EventSender.cpp:

(makeKeyDataForScanCode):
Given a virtual keycode, generate scancode and extended key bit of
lparam.
(keyDownCallback):
Use lparam for left-hand and right-hand keys, because Windows doesn't
directly provide a virtual keycode which distinguishes between
left-hand and right-hand. For example, when control key is pressed,
wparam has VK_CONTROL, neither VK_RCONTROL nor VK_LCONTROL.

12:18 PM Changeset in webkit [134981] by msaboff@apple.com
  • 2 edits in trunk/Source/WTF

String::fromUTF8() should take advantage of the ASCII check in convertUTF8ToUTF16()
https://bugs.webkit.org/show_bug.cgi?id=100577

Reviewed by Oliver Hunt.

Passed in ASCII flag to convertUTF8ToUTF16() and if try, create an 8 bit string from the original arguments.
Relanding after fix to https://bugs.webkit.org/show_bug.cgi?id=102482.

  • wtf/text/WTFString.cpp:

(WTF::String::fromUTF8):

12:05 PM Changeset in webkit [134980] by rwlbuis@webkit.org
  • 2 edits in trunk/Source/WebKit/blackberry

[BlackBerry] FCC doesn't work in textarea
https://bugs.webkit.org/show_bug.cgi?id=102088

Reviewed by Antonio Gomes.

Remove the cancel button specializations, it was needed at some point but hitting it
works just as well without it. This unbreaks FCC in textarea's.

  • WebKitSupport/FatFingers.cpp:

(BlackBerry::WebKit::FatFingers::isElementClickable):

11:51 AM Changeset in webkit [134979] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Unreviewed, rolling out r134867.
http://trac.webkit.org/changeset/134867
https://bugs.webkit.org/show_bug.cgi?id=102544

Broke security fuzzier test (heap-buffer-overflow) (Requested
by bfulgham on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-11-16

  • platform/audio/Biquad.cpp:

(WebCore::Biquad::process):

11:48 AM Changeset in webkit [134978] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Fix regression causing checkerboard flicker after app wake-up
https://bugs.webkit.org/show_bug.cgi?id=102526

Patch by Adam Treat <atreat@rim.com> on 2012-11-16
Reviewed by George Staikos.
PR 245027

The webkit patch for 219976 introduced an undesirable behavior change
resulting in a regression where there was checkerboard flickering on
resuming from an inactive application state. This patch restores the
previous behavior and fixes the regression.

  • Api/BackingStore.cpp:

(BlackBerry::WebKit::BackingStore::createBackingStoreMemory):
(BlackBerry::WebKit::BackingStore::releaseBackingStoreMemory):

11:37 AM Changeset in webkit [134977] by Dimitri Glazkov
  • 2 edits in trunk/LayoutTests

[Chromium] adjusting expectations for checkerboard.html

11:36 AM Changeset in webkit [134976] by tommyw@google.com
  • 12 edits in trunk/Source

MediaStream API: Update RTCPeerConnection states to match the latest editors draft
https://bugs.webkit.org/show_bug.cgi?id=102382

Reviewed by Adam Barth.

Source/Platform:

Adding a callback for the new RTCPeerConnection::iceGatheringState.

  • chromium/public/WebRTCPeerConnectionHandlerClient.h:

(WebKit::WebRTCPeerConnectionHandlerClient::didChangeICEGatheringState):

Source/WebCore:

Updating readyState & iceState, and adding iceGatheringState.
Also safeguarding the event timer callback.

Patch covered by existing tests.

  • Modules/mediastream/RTCPeerConnection.cpp:

(WebCore::RTCPeerConnection::RTCPeerConnection):
(WebCore::RTCPeerConnection::createOffer):
(WebCore::RTCPeerConnection::createAnswer):
(WebCore::RTCPeerConnection::setLocalDescription):
(WebCore::RTCPeerConnection::localDescription):
(WebCore::RTCPeerConnection::setRemoteDescription):
(WebCore::RTCPeerConnection::remoteDescription):
(WebCore::RTCPeerConnection::updateIce):
(WebCore::RTCPeerConnection::addIceCandidate):
(WebCore::RTCPeerConnection::readyState):
(WebCore::RTCPeerConnection::iceGatheringState):
(WebCore):
(WebCore::RTCPeerConnection::iceState):
(WebCore::RTCPeerConnection::addStream):
(WebCore::RTCPeerConnection::close):
(WebCore::RTCPeerConnection::didChangeIceGatheringState):
(WebCore::RTCPeerConnection::stop):
(WebCore::RTCPeerConnection::changeReadyState):
(WebCore::RTCPeerConnection::scheduledEventTimerFired):

  • Modules/mediastream/RTCPeerConnection.h:

(RTCPeerConnection):

  • Modules/mediastream/RTCPeerConnection.idl:
  • dom/EventNames.h:

(WebCore):

  • platform/mediastream/RTCPeerConnectionHandlerClient.h:

(RTCPeerConnectionHandlerClient):

  • platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.cpp:

(WebCore::RTCPeerConnectionHandlerChromium::didChangeICEGatheringState):
(WebCore):

  • platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.h:

(RTCPeerConnectionHandlerChromium):

Source/WebKit/chromium:

Updating readyState & iceState, and adding iceGatheringState.

  • src/AssertMatchingEnums.cpp:
11:27 AM Changeset in webkit [134975] by Dimitri Glazkov
  • 10 edits
    1 move
    1 delete in trunk/Source

Unreviewed, rolling out r134973.
http://trac.webkit.org/changeset/134973
https://bugs.webkit.org/show_bug.cgi?id=99340

Broke compile on at least Mac and Linux.

Source/WebCore:

  • WebCore.gyp/WebCore.gyp:
  • WebCore.gypi:
  • loader/CookieJar.cpp:
  • loader/chromium/CookieJarChromium.cpp: Renamed from Source/WebKit/chromium/src/FrameNetworkingContextImpl.cpp.

(WebCore):
(WebCore::setCookies):
(WebCore::cookies):
(WebCore::cookieRequestHeaderFieldValue):
(WebCore::cookiesEnabled):
(WebCore::getRawCookies):
(WebCore::deleteCookie):
(WebCore::getHostnamesWithCookies):
(WebCore::deleteCookiesForHostname):
(WebCore::deleteAllCookies):

  • platform/chromium/PlatformSupport.h:

(WebCore):
(PlatformSupport):

  • platform/network/NetworkingContext.h:
  • platform/network/chromium/CookieJarChromium.cpp: Removed.

Source/WebKit/chromium:

  • WebKit.gyp:
  • src/FrameNetworkingContextImpl.h:
  • src/PlatformSupport.cpp:

(WebCore::getCookieJar):
(WebCore):
(WebCore::PlatformSupport::setCookies):
(WebCore::PlatformSupport::cookies):
(WebCore::PlatformSupport::cookieRequestHeaderFieldValue):
(WebCore::PlatformSupport::rawCookies):
(WebCore::PlatformSupport::deleteCookie):
(WebCore::PlatformSupport::cookiesEnabled):

11:06 AM Changeset in webkit [134974] by Martin Robinson
  • 8 edits
    2 adds
    1 delete in trunk/Source

Source/WebCore: [GTK] [WebKit2] Move GtkAuthenticationDialog to the UIProcess
https://bugs.webkit.org/show_bug.cgi?id=101843

Reviewed by Gustavo Noronha Silva.

Make GtkAuthenticationDialog more general, so that it can be subclassed in
WebKit2. We cannot use the WebCore authentication-related classes directly there.

No new tests. This patch does not change behavior.

  • platform/gtk/GtkAuthenticationDialog.cpp:

(WebCore::GtkAuthenticationDialog::GtkAuthenticationDialog): Remove an unused include and reorder
some field initializers.
(WebCore::GtkAuthenticationDialog::authenticate): Now handle both the okay and cancel case here. This
makes it simpler to subclass.
(WebCore::GtkAuthenticationDialog::authenticationDialogResponseCallback): Handle fetching the username
and password here, so that it can be shared with subclasses.

  • platform/gtk/GtkAuthenticationDialog.h: Make some methods virtual and protected so they can be

subclasses.

Source/WebKit2: Move authentication dialog to the UIProcess

[GTK] [WebKit2] Move GtkAuthenticationDialog to the UIProcess
https://bugs.webkit.org/show_bug.cgi?id=101843

Reviewed by Gustavo Noronha Silva.

Move the use of GtkAuthenticationDialog to the UIProcess along with the rest of
the GTK+ widgets. This will allow us to to embed the dialog into the WebView
in the future and to test authentication with the WebKit2 C API.

  • GNUmakefile.list.am: Add the new class to the source list and remove the

GTK+-only WebFrameLoader implementation file.

  • UIProcess/API/gtk/WebKit2GtkAuthenticationDialog.cpp: Added. A subclass of GtkAuthenticationDialog

which uses the WebKit2 classes to do the UIProcess-side authentication.

  • UIProcess/API/gtk/WebKit2GtkAuthenticationDialog.h: Added.
  • UIProcess/API/gtk/WebKitLoaderClient.cpp: Add a callback for didReceiveAuthenticationChallengeInFrame.

(didReceiveAuthenticationChallengeInFrame): Added.
(attachLoaderClientToView): Use the new callback.

  • UIProcess/Authentication/AuthenticationChallengeProxy.h:

(WebKit::AuthenticationChallengeProxy::core): Add this getter for the WebCore class.

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge): Share the implementation
again.

  • WebProcess/WebCoreSupport/gtk/WebFrameLoaderClientGtk.cpp: Removed.
11:02 AM Changeset in webkit [134973] by pilgrim@chromium.org
  • 10 edits
    1 move
    1 add in trunk/Source

[Chromium] Remove cookie-related functions from PlatformSupport
https://bugs.webkit.org/show_bug.cgi?id=99340

Reviewed by Adam Barth.

Move cookie-related functions out of PlatformSupport and implement
new PlatformCookieJar interface via NetworkContext.

Source/WebCore:

  • WebCore.gyp/WebCore.gyp:
  • WebCore.gypi:
  • loader/CookieJar.cpp:
  • loader/chromium/CookieJarChromium.cpp: Removed.
  • platform/chromium/PlatformSupport.h:

(WebCore):
(PlatformSupport):

  • platform/network/NetworkingContext.h:

(WebKit):
(NetworkingContext):

  • platform/network/chromium/CookieJarChromium.cpp: Copied from Source/WebCore/loader/chromium/CookieJarChromium.cpp.

(WebCore::setCookiesFromDOM):
(WebCore::cookiesForDOM):
(WebCore::cookieRequestHeaderFieldValue):
(WebCore::cookiesEnabled):
(WebCore::getRawCookies):
(WebCore::deleteCookie):
(WebCore::getHostnamesWithCookies):
(WebCore::deleteCookiesForHostname):
(WebCore::deleteAllCookies):

Source/WebKit/chromium:

  • WebKit.gyp:
  • src/FrameNetworkingContextImpl.cpp: Added.

(WebKit):
(WebKit::FrameNetworkingContextImpl::cookieJar):

  • src/FrameNetworkingContextImpl.h:

(FrameNetworkingContextImpl):

  • src/PlatformSupport.cpp:
10:57 AM Changeset in webkit [134972] by commit-queue@webkit.org
  • 3 edits in trunk/LayoutTests

audiopannernode-basic.html should cover default value of attribute.
https://bugs.webkit.org/show_bug.cgi?id=102332

Patch by Li Yin <li.yin@intel.com> on 2012-11-16
Reviewed by Chris Rogers.

Spec: https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html#PannerNode
Currently almost all attributes of PannerNode are specified default value clearly,
the test should cover them.

  • webaudio/audiopannernode-basic-expected.txt:
  • webaudio/audiopannernode-basic.html:
10:55 AM Changeset in webkit [134971] by rakuco@webkit.org
  • 2 edits in trunk/Source/WebCore

Fix assertion bug of build fix r134961
https://bugs.webkit.org/show_bug.cgi?id=102533

Patch by Byungwoo Lee <bw80.lee@samsung.com> on 2012-11-16
Reviewed by Martin Robinson.

Assertion condition should be '!d->m_currentWebChallenge.isNull()'

  • platform/network/soup/ResourceHandleSoup.cpp:

(WebCore::ResourceHandle::continueDidReceiveAuthenticationChallenge):

10:39 AM Changeset in webkit [134970] by tommyw@google.com
  • 11 edits in trunk

[chromium] MediaStream API: Add missing WebRTCPeerConnectionHandlerClient::didAddRemoteDataChannel
https://bugs.webkit.org/show_bug.cgi?id=102386

Reviewed by Adam Barth.

Source/Platform:

  • chromium/public/WebRTCPeerConnectionHandlerClient.h:

(WebRTCPeerConnectionHandlerClient):

Source/WebCore:

Existing tests expanded to cover patch.

  • platform/mediastream/RTCDataChannelDescriptor.cpp:

(WebCore::RTCDataChannelDescriptor::RTCDataChannelDescriptor):
(WebCore::RTCDataChannelDescriptor::readyStateChanged):

  • platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.cpp:

(WebCore::RTCPeerConnectionHandlerChromium::didAddRemoteDataChannel):
(WebCore):

  • platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.h:

(WebKit):
(RTCPeerConnectionHandlerChromium):

Tools:

Adding mock data channel functionality.

  • DumpRenderTree/chromium/MockWebRTCPeerConnectionHandler.cpp:

(MockWebRTCPeerConnectionHandler::openDataChannel):

LayoutTests:

  • fast/mediastream/RTCPeerConnection-datachannel.html:
  • fast/mediastream/RTCPeerConnection-datachannel-expected.txt:
10:37 AM Changeset in webkit [134969] by commit-queue@webkit.org
  • 10 edits
    10 adds in trunk/Source

[chromium] Copy linux theme related files to default
https://bugs.webkit.org/show_bug.cgi?id=102403

Patch by Scott Violet <sky@chromium.org> on 2012-11-16
Reviewed by Tony Chang

Transitional patch that copies linux WebThemeEngine to default directory.

No new tests, refactoring only.

Source/Platform:

  • Platform.gypi:
  • chromium/public/default: Added.
  • chromium/public/default/WebThemeEngine.h: Copied from Source/Platform/chromium/public/linux/WebThemeEngine.h.

Source/WebCore:

  • WebCore.gyp/WebCore.gyp: Update compile rules when use_default_render_theme is set.
  • WebCore.gypi: Adds new files.
  • platform/chromium/PlatformSupport.h:
  • platform/chromium/PlatformThemeChromiumDefault.cpp: Copied from Source/WebCore/platform/chromium/PlatformThemeChromiumLinux.cpp.
  • platform/chromium/PlatformThemeChromiumDefault.h: Copied from Source/WebCore/platform/chromium/PlatformThemeChromiumLinux.h.
  • platform/chromium/ScrollbarThemeChromiumDefault.cpp: Copied from Source/WebCore/platform/chromium/ScrollbarThemeChromiumLinux.cpp.
  • platform/chromium/ScrollbarThemeChromiumDefault.h: Copied from Source/WebCore/platform/chromium/ScrollbarThemeChromiumLinux.h.
  • rendering/RenderThemeChromiumDefault.cpp: Copied from Source/WebCore/rendering/RenderThemeChromiumLinux.cpp.
  • rendering/RenderThemeChromiumDefault.h: Copied from Source/WebCore/rendering/RenderThemeChromiumLinux.h.

Source/WebKit/chromium:

  • features.gypi:
  • public/platform/default: Added.
  • public/platform/default/WebThemeEngine.h: Copied from Source/WebKit/chromium/public/platform/linux/WebThemeEngine.h.
  • src/PlatformSupport.cpp: Includes correct theme files when DEFAULT_RENDER_THEME is set.

(WebCore):

  • src/WebViewImpl.cpp: Includes correct theme files when DEFAULT_RENDER_THEME is set.

(WebKit::WebViewImpl::setScrollbarColors): Calls to default theme as necessary.
(WebKit::WebViewImpl::setSelectionColors): Calls to default theme as necessary.

10:33 AM Changeset in webkit [134968] by alecflett@chromium.org
  • 3 edits in trunk/Source/WebCore

IndexedDB: add missing 'explicit' and fix backing store release
https://bugs.webkit.org/show_bug.cgi?id=102450

Reviewed by Tony Chang.

A inconsequential regression was introduced in http://trac.webkit.org/changeset/134129
which resulted in objects sticking around a bit longer than
expected. This makes sure the LevelDBTransaction is released
at the moment of commit/rollback rather than when IDBTransactionBackendImpl
is destroyed.

No new tests, this is just internal state that will affect
some future refactoring.

  • Modules/indexeddb/IDBBackingStore.h:

(Cursor):
(Transaction):
(WebCore::IDBBackingStore::Transaction::reset):

  • Modules/indexeddb/IDBTransactionBackendImpl.cpp:

(WebCore::IDBTransactionBackendImpl::abort):
(WebCore::IDBTransactionBackendImpl::commit):

10:30 AM Changeset in webkit [134967] by jochen@chromium.org
  • 4 edits in trunk/Tools

[chromium] delete unused testRunner methods
https://bugs.webkit.org/show_bug.cgi?id=102479

Reviewed by Adam Barth.

These methods aren't used by any layout test. Remove them to avoid bit rot

  • DumpRenderTree/chromium/DRTTestRunner.cpp:

(DRTTestRunner::DRTTestRunner):
(DRTTestRunner::reset):

  • DumpRenderTree/chromium/DRTTestRunner.h:

(DRTTestRunner):

  • DumpRenderTree/chromium/WebViewHost.cpp:

(WebViewHost::shouldBeginEditing):
(WebViewHost::shouldEndEditing):
(WebViewHost::shouldInsertNode):
(WebViewHost::shouldInsertText):
(WebViewHost::shouldChangeSelectedRange):
(WebViewHost::shouldDeleteRange):
(WebViewHost::shouldApplyStyle):
(WebViewHost::startDragging):
(WebViewHost::enterFullScreenNow):
(WebViewHost::exitFullScreenNow):

10:19 AM Changeset in webkit [134966] by Dimitri Glazkov
  • 2 edits in trunk/Source/WebCore

[Chromium] One last tweak to WebCore.gypi to make Win build not sad.

  • WebCore.gypi: Removed one last mention of accessibility/gtk file.
10:17 AM Changeset in webkit [134965] by commit-queue@webkit.org
  • 13 edits
    2 adds in trunk

Handle gesture events on scrollbars.
https://bugs.webkit.org/show_bug.cgi?id=101516

Patch by Robert Flack <flackr@chromium.org> on 2012-11-16
Reviewed by Antonio Gomes.

Adds a gesture event handler to scrollbars and sends gestures beginning
over a scrollbar to this handler to allow touch scrolling scrollbars.

Source/WebCore:

Test: fast/events/touch/gesture/gesture-scrollbar.html

  • page/EventHandler.cpp:

(WebCore::EventHandler::clear):
(WebCore::EventHandler::handleGestureEvent):
(WebCore::EventHandler::isScrollbarHandlingGestures):
(WebCore):

  • page/EventHandler.h:

(EventHandler):

  • platform/Scrollbar.cpp:

(WebCore::Scrollbar::Scrollbar):
(WebCore):
(WebCore::Scrollbar::gestureEvent):
(WebCore::Scrollbar::mouseMoved):
(WebCore::Scrollbar::mouseUp):
(WebCore::Scrollbar::mouseDown):

  • platform/Scrollbar.h:

(WebCore):
(Scrollbar):

  • platform/ScrollbarTheme.h:

(WebCore::ScrollbarTheme::hitTest):

  • platform/ScrollbarThemeComposite.cpp:

(WebCore::ScrollbarThemeComposite::hitTest):

  • platform/ScrollbarThemeComposite.h:

(ScrollbarThemeComposite):

  • platform/qt/ScrollbarThemeQStyle.cpp:

(WebCore::ScrollbarThemeQStyle::hitTest):

  • platform/qt/ScrollbarThemeQStyle.h:

(ScrollbarThemeQStyle):

Source/WebKit/chromium:

  • src/WebViewImpl.cpp:

(WebKit::WebViewImpl::handleGestureEvent):

LayoutTests:

  • fast/events/touch/gesture/gesture-scrollbar-expected.txt: Added.
  • fast/events/touch/gesture/gesture-scrollbar.html: Added.
10:15 AM Changeset in webkit [134964] by Dimitri Glazkov
  • 1 edit
    1 delete in trunk/LayoutTests

[Chromium] Removed incorrect baseline.

  • platform/chromium-mac/canvas/philip/tests/2d.shadow.enable.blur-expected.txt: Removed.
10:12 AM Changeset in webkit [134963] by wangxianzhu@chromium.org
  • 2 edits in trunk/Source/WebCore

[Chromium-Android] Stack overflow in MediaControlsChromiumAndroid.cpp
https://bugs.webkit.org/show_bug.cgi?id=102444

Reviewed by Adam Barth.

No new tests. Have been covered by many existing layout tests.

  • html/shadow/MediaControlsChromiumAndroid.cpp:

(WebCore::MediaControls::create): Calls createControls instead of itself.

9:54 AM Changeset in webkit [134962] by akling@apple.com
  • 2 edits in trunk/Source/WebCore

StyleResolver: Optimize sharing candidate evaluation for elements with shared attribute data.
<http://webkit.org/b/102507>

Reviewed by Antti Koivisto.

When evaluating two elements as potential style sharing candidate, we have a whole bunch of code
comparing the various attributes that would prevent sharing.

If the two elements both share the same ElementAttributeData, we can skip all those checks
since they are guaranteed to have equal attributes.

Cuts the time spent in canShareStyleWithElement() by 25% on the HTML5 spec at <http://whatwg.org/c>.

  • css/StyleResolver.cpp:

(WebCore::haveIdenticalStyleAffectingAttributes):
(WebCore::StyleResolver::canShareStyleWithElement):

9:51 AM Changeset in webkit [134961] by Martin Robinson
  • 2 edits in trunk/Source/WebCore

[EFL][GTK] Build fix after r134955
https://bugs.webkit.org/show_bug.cgi?id=102527

Patch by Byungwoo Lee <bw80.lee@samsung.com> on 2012-11-16
Reviewed by Martin Robinson.

Fix the EFL,GTK debug bulid fails after r134955.

  • platform/network/soup/ResourceHandleSoup.cpp:

(WebCore::ResourceHandle::continueDidReceiveAuthenticationChallenge):

9:46 AM Changeset in webkit [134960] by ap@apple.com
  • 46 edits
    1 add in trunk

Private Browsing is a per-page setting that sets a global value
https://bugs.webkit.org/show_bug.cgi?id=67870

Reviewed by Sam Weinig.

Make ResourceHandle{Mac,CFNet} use context to access storage session.

  • WebCore.exp.in: We track less session state in WebCore now, so we need fewer exports.
  • loader/FrameNetworkingContext.h: Added an OVERRIDE.
  • page/Settings.cpp: (WebCore::Settings::setPrivateBrowsingEnabled): WebCore no longer keeps track of a globally enabled private CFNetwork storage session.
  • platform/CookiesStrategy.h: Added defaultCookieStorage(). Some cookie jar methods don't have a NetworkingContext pointer, and have to use whatever a client expects them to do. Perhaps we should move those methods away from WebCore eventually.
  • platform/network/NetworkingContext.h: Added storageSession().
  • platform/network/ResourceHandle.h: Removed sttaic methods for dealing with global sessions.
  • platform/network/ResourceHandleInternal.h: Added m_storageSession. We need to remember it post-creation to do things in willSendRequest. Alternatively, we could keep a reference to NetworkingContext itself.
  • platform/network/cf/CookieJarCFNet.cpp: (WebCore::setCookiesFromDOM): currentCFHTTPCookieStorage now needs a context, there is no globally current one any more. Also, we don't really expect cookie stirage to be 0 when not using NSURLConnection. (WebCore::cookiesForDOM): Ditto. (WebCore::cookieRequestHeaderFieldValue): Ditto. (WebCore::cookiesEnabled): Ditto. (WebCore::getRawCookies): Ditto. (WebCore::deleteCookie): Ditto. (WebCore::getHostnamesWithCookies): Ditto. (WebCore::deleteCookiesForHostname): Ditto. (WebCore::deleteAllCookies): Ditto.
  • platform/network/cf/CookieStorageCFNet.cpp: (WebCore::currentCFHTTPCookieStorage): Use a context. (WebCore::defaultCFHTTPCookieStorage): Except for Windows-only override session, this is implemented in a strategy. (WebCore::overridenCookieStorage): Exposed the override for WebKit use on Windows.
  • platform/network/cf/CookieStorageCFNet.h: Ditto.
  • platform/network/cf/ResourceHandleCFNet.cpp: (WebCore::willSendRequest): Use storage session from the context, not global one. (WebCore::makeFinalRequest): Merged this into the only remaining caller. This function didn't really make any sense on its own. (WebCore::shouldRelaxThirdPartyCookiePolicy): Factored out of createCFURLConnection to match Mac. (WebCore::ResourceHandle::createCFURLConnection): While merging makeFinalRequest() in, removed some seemingly nonsensical code that was getting and immediately re-applying cookie storage accept policy. (WebCore::ResourceHandle::start): Store context->storageSession() for use in willSendRequest. (WebCore::ResourceHandle::willSendRequest): Apply the stored session, not global one. (WebCore::ResourceHandle::storageSession): An accessor for static methods that cannot access "d". (WebCore::ResourceHandle::loadResourceSynchronously): Store context->storageSession() for use in willSendRequest. (WebCore::ResourceHandle::willLoadFromCache): Don't call makeFinalRequest here. It didn't match Mac, and nothing in makeFinalRequest should have affected the result.
  • platform/network/cf/ResourceRequestCFNet.cpp: (WebCore::ResourceRequest::doUpdatePlatformRequest): This function used to apply current storage session to every request for no apparent reason.
  • platform/network/mac/CookieJarMac.mm: (WebCore::cookiesForDOM): Changed to pass context to currentCFHTTPCookieStorage. (WebCore::cookieRequestHeaderFieldValue): Ditto. (WebCore::setCookiesFromDOM): Ditto. (WebCore::cookiesEnabled): Ditto. (WebCore::getRawCookies): Ditto. (WebCore::deleteCookie): Ditto. (WebCore::getHostnamesWithCookies): Ditto. (WebCore::deleteCookiesForHostname): Ditto. (WebCore::deleteAllCookies): Ditto.
  • platform/network/mac/ResourceHandleMac.mm: (WebCore::shouldRelaxThirdPartyCookiePolicy): There was no need to special case null currentCFHTTPCookieStorage, WKSI handles that internally. Added a context argument, so that the function can access current session. (WebCore::ResourceHandle::createNSURLConnection): Updated for other code changes. (WebCore::ResourceHandle::start): Store context->storageSession() for use in willSendRequest. (WebCore::ResourceHandle::willLoadFromCache): Style fix. (WebCore::ResourceHandle::loadResourceSynchronously): Store context->storageSession() for use in willSendRequest. (WebCore::ResourceHandle::willSendRequest): Use stored session, not global one.
9:34 AM Changeset in webkit [134959] by Dimitri Glazkov
  • 3 edits in trunk/Source/WebCore

[Chromium] Land a proper fix for r134939.

  • WebCore.gyp/WebCore.gyp: Added exclusion for "atk".
  • WebCore.gypi: Put the accessibility/atk directory back into WebCore.gypi.
9:19 AM Changeset in webkit [134958] by Dimitri Glazkov
  • 2 edits in trunk/Source/WebCore

[Chromium] Just yank the whole accessibility/atk dir out of WebCore.gypi.

8:57 AM Changeset in webkit [134957] by mifenton@rim.com
  • 2 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Use proper keycode value for space instead of hardcoded value.
https://bugs.webkit.org/show_bug.cgi?id=102518

Reviewed by Rob Buis.

Remove hard coded value for space.

Reviewed Internally by Gen Mak.

  • WebKitSupport/InputHandler.cpp:

(BlackBerry::WebKit::InputHandler::setText):

8:56 AM Changeset in webkit [134956] by Dimitri Glazkov
  • 2 edits in trunk/Source/WebCore

[Chromium] Updated WebCore.gypi after r134939.

  • WebCore.gypi: Renamed acessibility/gtk to accessibility/atk.
8:40 AM Changeset in webkit [134955] by commit-queue@webkit.org
  • 11 edits in trunk/Source

[GTK] Move CredentialBackingStore usage from GtkAuthenticationDialog to ResourceHandleSoup
https://bugs.webkit.org/show_bug.cgi?id=101840

Patch by Martin Robinson <mrobinson@igalia.com> on 2012-11-16
Reviewed by Gustavo Noronha Silva.

Source/WebCore:

Make ResourceHandleSoup aware of per-session CredentialStorage and persistent CredentialStorage.
Persistent credential storage interaction is moved from GtkAuthenticationDialog, so that it can
be used whether or not GtkAuthenticationDialog is used or not. We try to properly handle redirects
in the manner that the CFNet backend does.

No new tests. There are tests for this behavior, but they cannot be activated until we finish
plumbing this through to the API layer. Once that patch lands, the tests will be turned on.

  • platform/gtk/GtkAuthenticationDialog.cpp: No longer store credentials into the persistent

storage manually, instead rely on ResourceHandleSoup. Also, we no longer get proposed credentials
from the persistent storage here as well. They are pre-loaded by the ResourceHanndle.

  • platform/gtk/GtkAuthenticationDialog.h: Remove callbacks and members associated with saving

credentials to the persistent credential store.

  • platform/network/ResourceHandle.h:

(ResourceHandle): Add a method which is used to continue asynchronously after looking for
proposed credentials in the persistent credential store.

  • platform/network/ResourceHandleInternal.h: Add a member which tracks persistent credentials to be added once we know

an authentication succeeded.

  • platform/network/gtk/CredentialBackingStore.cpp:

(CredentialForChallengeAsyncReadyCallbackData): Added this data structure used for asynchronous access
of stored credentials.
(WebCore::credentialForChallengeAsyncReadyCallback): Ditto for this callback.
(WebCore::CredentialBackingStore::credentialForChallenge): Make this method asynchronous.

  • platform/network/gtk/CredentialBackingStore.h:

(CredentialBackingStore): Update method signatures for for making credentialForChallenge asynchronous.

  • platform/network/soup/AuthenticationChallenge.h:

(WebCore::AuthenticationChallenge::setProposedCredential): Added a setter so that ResourceHandleSoup
can set proposed credentials from the persistent credential store.

  • platform/network/soup/ResourceHandleSoup.cpp:

(WebCore::gotHeadersCallback): For GTK+ save any pending credential in the persistent credential storage
if the authentication succeeded.
(WebCore::applyAuthenticationToRequest): Added this method which generically embeds stored credentials
in the request URI. This is the method that Soup uses to override any soup-stored session credential.
(WebCore::restartedCallback): Strip credentials for requests that span a security origin. Handle
authenticating requests from the session store.
(WebCore::createSoupRequestAndMessageForHandle): Make the local request reference mutable.
(WebCore::ResourceHandle::start): Remove some code which is now part of applyAuthenticationToRequest.
Call applyAuthenticationToRequest and clear the user and password members like the CFNet backend does.
(WebCore::getCredentialFromPersistentStoreCallback): Added this callback for getting persistently stored credentials.
(WebCore::ResourceHandle::continueDidReceiveAuthenticationChallenge): Split out didReceiveAuthenticationChallenge
into this asynchronous bit.
(WebCore::ResourceHandle::didReceiveAuthenticationChallenge): For GTK+ continue handling this situation after
first looking in the persistent credential store.
(WebCore::ResourceHandle::receivedCredential): Store session credentials in the session storage, which is
at the moment a redundant version of the Soup session storage and also prepare any persistent credentials
for storage later (see gotHeadersCallback).

Source/WebKit/gtk:

Enable the CredentialStore by default for the WebKit1 GTK+ port. Before this value
didn't have an bearing on whether or not the persistent credential storage was used.
Now is does.

  • WebCoreSupport/FrameLoaderClientGtk.cpp:

(WebKit::FrameLoaderClient::shouldUseCredentialStorage): Enable credential storage by default.

8:22 AM Changeset in webkit [134954] by arv@chromium.org
  • 22 edits in trunk

Update DOMException name: TypeMismatchError
https://bugs.webkit.org/show_bug.cgi?id=102418

Reviewed by Kentaro Hara.

Source/WebCore:

Patch 17 of 25 to update DOMException name to match the spec and Firefox.

Updated existing tests.

  • dom/DOMCoreException.cpp:

(WebCore):

  • dom/ExceptionCode.h:

LayoutTests:

Updated tests and expectations.

  • editing/selection/extend-expected.txt:
  • fast/dom/Element/attr-param-typechecking-expected.txt:
  • fast/dom/Geolocation/argument-types-expected.txt:
  • fast/dom/Geolocation/not-enough-arguments-expected.txt:
  • fast/dom/Geolocation/script-tests/argument-types.js:

(test):

  • fast/dom/HTMLSelectElement/select-selectedIndex-expected.txt:
  • fast/dom/HTMLSelectElement/select-selectedIndex-multiple-expected.txt:
  • fast/js/select-options-add-expected.txt:
  • fast/mediastream/RTCIceCandidate-expected.txt:
  • fast/mediastream/RTCPeerConnection-expected.txt:
  • fast/mediastream/RTCSessionDescription-expected.txt:
  • platform/chromium/fast/dynamic/insertAdjacentElement-expected.txt:
  • platform/efl/fast/dynamic/insertAdjacentElement-expected.txt:
  • platform/gtk/fast/dynamic/insertAdjacentElement-expected.txt:
  • platform/mac/fast/dynamic/insertAdjacentElement-expected.txt:
  • platform/qt/fast/dynamic/insertAdjacentElement-expected.txt:
  • security/crypto-random-values-types-expected.txt:
  • svg/dom/SVGTransformList-expected.txt:
8:19 AM Changeset in webkit [134953] by commit-queue@webkit.org
  • 15 edits in trunk/Source/WebKit2

[EFL][WK2] White flicker when scrolling big pages with dark background on slower hardware.
https://bugs.webkit.org/show_bug.cgi?id=102000

Patch by Viatcheslav Ostapenko <v.ostapenko@samsung.com> on 2012-11-16
Reviewed by Kenneth Rohde Christiansen.

Add matching of view background color to the page background. This helps to reduce
visibility of flicker during scrolling/scaling/repainting where page tiles are not
ready. View background color matching is disabled by default and can be enabled
with new API function ewk_view_draws_page_background_set .
View background color can interfere with semi-transparent pages and should be
disabled by default.
Upstreaming changes by Youngtaeck Song(youngtaeck.song@samsung.com).

  • UIProcess/API/efl/EwkViewImpl.cpp:

(EwkViewImpl::EwkViewImpl):
(EwkViewImpl::displayTimerFired):

  • UIProcess/API/efl/EwkViewImpl.h:

(EwkViewImpl::setDrawsBackground):
(EwkViewImpl):

  • UIProcess/API/efl/ewk_view.cpp:

(ewk_view_draws_page_background_set):

  • UIProcess/API/efl/ewk_view.h:
  • UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:

(WebKit::LayerTreeCoordinatorProxy::setBackgroundColor):
(WebKit):

  • UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h:

(LayerTreeCoordinatorProxy):

  • UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.messages.in:
  • UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:

(WebKit::LayerTreeRenderer::LayerTreeRenderer):
(WebKit::LayerTreeRenderer::paintToCurrentGLContext):
(WebKit::LayerTreeRenderer::paintToGraphicsContext):
(WebKit::LayerTreeRenderer::setBackgroundColor):
(WebKit):

  • UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:

(LayerTreeRenderer):
(WebKit::LayerTreeRenderer::setDrawsBackground):

  • WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:

(WebKit::LayerTreeCoordinator::setBackgroundColor):
(WebKit):

  • WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:

(LayerTreeCoordinator):

  • WebProcess/WebPage/LayerTreeHost.h:

(WebKit::LayerTreeHost::setBackgroundColor):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::WebPage):
(WebKit::WebPage::mainFrameDidLayout):

  • WebProcess/WebPage/WebPage.h:

(WebPage):

8:12 AM Changeset in webkit [134952] by kbalazs@webkit.org
  • 2 edits in trunk/Source/WebCore

Coordinated Graphics: support the "freeze animations" API
https://bugs.webkit.org/show_bug.cgi?id=100703

Reviewed by Noam Rosenthal.

Typo fix after previous patch.

No new tests, it's just a typo that only takes effect in the browser.

  • platform/graphics/GraphicsLayerAnimation.cpp:

(WebCore::GraphicsLayerAnimation::GraphicsLayerAnimation):
Initialize members.

8:01 AM Changeset in webkit [134951] by commit-queue@webkit.org
  • 3 edits
    2 moves
    1 add in trunk/Source/WebKit2

[WK2][GTK][EFL] Share WebKit2-GTK's WebProcess Accessibility implementation with other WebKit ports.
https://bugs.webkit.org/show_bug.cgi?id=101748

Patch by Krzysztof Czech <k.czech@samsung.com> on 2012-11-16
Reviewed by Martin Robinson.

Remove and rename files related to Accessibility from WebPage/gtk to WebPage/atk.

  • GNUmakefile.am:
  • GNUmakefile.list.am:
  • WebProcess/WebPage/atk/WebPageAccessibilityObject.h: Renamed from Source/WebKit2/WebProcess/WebPage/gtk/WebPageAccessibilityObject.h.

(WebKit):
(_WebPageAccessibilityObject):
(_WebPageAccessibilityObjectClass):

  • WebProcess/WebPage/atk/WebPageAccessibilityObjectAtk.cpp: Renamed from Source/WebKit2/WebProcess/WebPage/gtk/WebPageAccessibilityObject.cpp.

(accessibilityRootObjectWrapper):
(webPageAccessibilityObjectInitialize):
(webPageAccessibilityObjectGetIndexInParent):
(webPageAccessibilityObjectGetNChildren):
(webPageAccessibilityObjectRefChild):
(web_page_accessibility_object_init):
(web_page_accessibility_object_class_init):
(webPageAccessibilityObjectNew):
(webPageAccessibilityObjectRefresh):

7:47 AM Changeset in webkit [134950] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebCore

add 7 bit strings capabilities to the v8 binding layer
https://bugs.webkit.org/show_bug.cgi?id=91850

Patch by Dan Carney <dcarney@google.com> on 2012-11-16
Reviewed by Adam Barth.

This change enables the v8 binding layer to make use of webkit's
8 bit string capabilities. Using 8 bit strings leads to certain
benchmark performance improvemnts as can be seen in
https://bug-91850-attachments.webkit.org/attachment.cgi?id=163334.

No new tests. Test coverage already extensive.

  • bindings/v8/V8PerIsolateData.cpp:

(WebCore::V8PerIsolateData::visitExternalStrings):

  • bindings/v8/V8StringResource.cpp:

(StringTraits):
(WebCore::false):
(WebCore):
(WebCore::true):
(WebCore::v8StringToWebCoreString):

  • bindings/v8/V8ValueCache.cpp:

(WebCore::makeExternalString):
(WebCore::WebCoreStringResourceBase::toWebCoreStringResourceBase):
(WebCore):
(WebCore::WebCoreStringResourceBase::visitStrings):

  • bindings/v8/V8ValueCache.h:

(WebCoreStringResourceBase):
(WebCore::WebCoreStringResourceBase::WebCoreStringResourceBase):
(WebCore::WebCoreStringResourceBase::~WebCoreStringResourceBase):
(WebCore::WebCoreStringResourceBase::atomicString):
(WebCore::WebCoreStringResourceBase::memoryConsumption):
(WebCoreStringResource16):
(WebCore::WebCoreStringResource16::WebCoreStringResource16):
(WebCore):
(WebCoreStringResource8):
(WebCore::WebCoreStringResource8::WebCoreStringResource8):

7:44 AM Changeset in webkit [134949] by arv@chromium.org
  • 25 edits in trunk

Update DOMException name: InvalidAccessError
https://bugs.webkit.org/show_bug.cgi?id=102400

Reviewed by Kentaro Hara.

Source/WebCore:

Patch 15 of 25 to update DOMException name to match the spec and Firefox.

Updated existing tests.

  • dom/DOMCoreException.cpp:

LayoutTests:

Updated tests and expectations.

  • editing/undomanager/undomanager-reenter-expected.txt:
  • editing/undomanager/undomanager-reenter.html:
  • editing/undomanager/undoscopehost-use-after-free-expected.txt:
  • editing/undomanager/undoscopehost-use-after-free.html:
  • fast/css/CSSPrimitiveValue-exceptions-expected.txt:
  • fast/css/getFloatValueForUnit-expected.txt:
  • fast/css/getFloatValueForUnit.html:
  • fast/css/resources/CSSPrimitiveValue-exceptions.js:
  • fast/dom/XMLSerializer-doctype2-expected.txt:
  • fast/dom/XMLSerializer-doctype2.html:
  • fast/dom/setPrimitiveValue-exceptions-expected.txt:
  • fast/xmlhttprequest/xmlhttprequest-responsetype-before-open-sync-request-expected.txt:
  • fast/xmlhttprequest/xmlhttprequest-responsetype-sync-request-expected.txt:
  • fast/xmlhttprequest/xmlhttprequest-sync-disabled-expected.txt:
  • http/tests/media/media-source/video-media-source-add-and-remove-buffers-expected.txt:
  • http/tests/media/media-source/video-media-source-duration-changed-expected.txt:
  • http/tests/websocket/tests/hybi/close-expected.txt:
  • http/tests/websocket/tests/hybi/close.html:
  • platform/chromium-mac/fast/dom/setPrimitiveValue-exceptions-expected.txt:
  • platform/chromium-win/fast/dom/setPrimitiveValue-exceptions-expected.txt:
  • webintents/web-intents-api-expected.txt:
  • webintents/web-intents-api.html:
7:39 AM Changeset in webkit [134948] by Alexandru Chiculita
  • 14 edits
    5 adds in trunk/Source

[Texmap][CSS Shaders] Make the CustomFilterValidatedProgram maintain the platform compiled program
https://bugs.webkit.org/show_bug.cgi?id=102414

Reviewed by Noam Rosenthal.

Source/WebCore:

Added WebCore classes needed for the WebKit2 implementation of Texture Mapper to keep a reference to the
platform compiled custom filter. It is just used to maintain the life-time of the objects. WebKit2 injects a
client in TextureMapperPlatformCompiledProgram and receives a callback when the custom filter program is not
used to render any layer on the page.

Note that CustomFilterValidatedProgram are reused across multiple elements of the same page. Also, the instances
are reused across frames, so animations should reuse the same pre-validated program. In this case, the mechanism is
extended and reused in the platform compositor.

No new tests, existing tests for CSS Custom Filters already cover this path.

  • CMakeLists.txt:
  • GNUmakefile.am:
  • GNUmakefile.list.am:
  • Target.pri:
  • WebCore.pri:
  • platform/graphics/filters/CustomFilterValidatedProgram.cpp:

(WebCore):

  • platform/graphics/filters/CustomFilterValidatedProgram.h:

(WebCore):
(CustomFilterValidatedProgram):

  • platform/graphics/filters/texmap/CustomFilterValidatedProgramTextureMapper.cpp: Added.

(WebCore):
(WebCore::CustomFilterValidatedProgram::platformCompiledProgram): Platform implementation for creating and deleting the reference.
(WebCore::CustomFilterValidatedProgram::platformInit):
(WebCore::CustomFilterValidatedProgram::platformDestroy):

  • platform/graphics/filters/texmap/TextureMapperPlatformCompiledProgram.h: Added.

(WebCore):
(TextureMapperPlatformCompiledProgramClient):
(WebCore::TextureMapperPlatformCompiledProgramClient::ref):
(WebCore::TextureMapperPlatformCompiledProgramClient::deref):
(TextureMapperPlatformCompiledProgram):
Stores a link to a TextureMapperPlatformCompiledProgramClient. It's main purpose is to call unref on the client when
the shader is not needed anymore. WebKit2 can use that to delete the corresponding shader from the compositor side.
(WebCore::TextureMapperPlatformCompiledProgram::create):
(WebCore::TextureMapperPlatformCompiledProgram::setClient): Used by WebKit2 to inject the platform client.
(WebCore::TextureMapperPlatformCompiledProgram::client):
(WebCore::TextureMapperPlatformCompiledProgram::TextureMapperPlatformCompiledProgram):

Source/WebKit2:

This is the first part of shader caching implementation for the Custom Filters in WK2 LayerTreeCoordinator.
In this patch it will just make the LayerTreeCoordinator knowledgeable about the life-time
of the custom filter programs. It can allocate IDs for the filters and it also gets a callback when the
filters are not needed anymore.

The UI process is still recreating the shader every time, but https://bugs.webkit.org/show_bug.cgi?id=101801
will fix that and try to reuse existing custom filters.

  • CMakeLists.txt:
  • Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:

(CoreIPC::::encode):

  • Shared/CoordinatedGraphics/WebCustomFilterProgramProxy.cpp: Added.

(WebKit):
(WebKit::WebCustomFilterProgramProxy::~WebCustomFilterProgramProxy):

  • Shared/CoordinatedGraphics/WebCustomFilterProgramProxy.h: Added.

(WebKit):
(WebCustomFilterProgramProxyClient):
(WebCustomFilterProgramProxy):
(WebKit::WebCustomFilterProgramProxy::create):
(WebKit::WebCustomFilterProgramProxy::id):
(WebKit::WebCustomFilterProgramProxy::refFromValidatedProgram):
(WebKit::WebCustomFilterProgramProxy::derefFromValidatedProgram):
(WebKit::WebCustomFilterProgramProxy::setClient):
(WebKit::WebCustomFilterProgramProxy::client):
(WebKit::WebCustomFilterProgramProxy::WebCustomFilterProgramProxy):

  • Target.pri:
  • WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:

(WebKit::LayerTreeCoordinator::~LayerTreeCoordinator):
(WebKit::LayerTreeCoordinator::syncLayerFilters):
(WebKit):
(WebKit::LayerTreeCoordinator::checkCustomFilterProgramProxies):
(WebKit::LayerTreeCoordinator::removeCustomFilterProgramProxy):
(WebKit::LayerTreeCoordinator::disconnectCustomFilterPrograms):

  • WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:

(LayerTreeCoordinator):

7:21 AM Changeset in webkit [134947] by akling@apple.com
  • 2 edits in trunk/Source/WebCore

Short-circuit Element::hasEquivalentAttributes() if elements share attribute data.
<http://webkit.org/b/102498>

Reviewed by Antti Koivisto.

Add a fast path to hasEquivalentAttributes() that checks if both elements are using
the same ElementAttributeData.

  • dom/Element.cpp:

(WebCore::Element::hasEquivalentAttributes):

6:58 AM Changeset in webkit [134946] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit2

[Qt][Mac] Fix the build after r124873
https://bugs.webkit.org/show_bug.cgi?id=102475

Patch by Peter Gal <galpeter@inf.u-szeged.hu> on 2012-11-16
Reviewed by Noam Rosenthal.

Change the CoordinatedImageBackingID typedef from uintptr_t to uint64_t.

  • Shared/WebLayerTreeInfo.h:
  • UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.messages.in:
6:55 AM Changeset in webkit [134945] by zeno.albisser@digia.com
  • 2 edits in trunk/Source/WebCore

[Qt] Adding a null pointer check for currentContext to GraphicsContext3DQt.
https://bugs.webkit.org/show_bug.cgi?id=102360

QOpenGLContext::currentContext() will return null, in case there is
no current context. Therefore currentContext must be null-checked
before it can be reused.
Making a context current on a null-surface on the other hand is
perfectly possible.

Reviewed by Kenneth Rohde Christiansen.

  • platform/graphics/qt/GraphicsContext3DQt.cpp:

(WebCore::GraphicsContext3DPrivate::blitMultisampleFramebufferAndRestoreContext):

6:38 AM Changeset in webkit [134944] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

Web Inspector: Workaround to show shortcuts for panels that hasn't been loaded.
https://bugs.webkit.org/show_bug.cgi?id=102488

Patch by Eugene Klyuchnikov <eustas.bug@gmail.com> on 2012-11-16
Reviewed by Vsevolod Vlasov.

Panels are lazily loaded / instantiated.
Panel constructors register keyboard shortcuts.

When user open shortcuts screen all panel should be loaded.
Otherwise some shortcuts will be missing.

  • inspector/front-end/ShortcutsScreen.js: Added callback invokation.
  • inspector/front-end/inspector.js:

Provided callback that loads all panels.

6:36 AM Changeset in webkit [134943] by dominik.rottsches@intel.com
  • 3 edits
    4 adds
    2 deletes in trunk/LayoutTests

[EFL] Gardening failure cases on EFL build bots
https://bugs.webkit.org/show_bug.cgi?id=102496

Unreviewed EFL gardening.

Patch by Sudarsana Nagineni <sudarsana.nagineni@intel.com> on 2012-11-16

  • platform/efl-wk1/fast/media/mq-js-media-except-02-expected.png: Removed.
  • platform/efl-wk1/fast/media/mq-js-media-except-03-expected.png: Removed.
  • platform/efl-wk2/TestExpectations:
  • platform/efl/TestExpectations:
  • platform/efl/fast/media/mq-js-media-except-02-expected.png: Added.
  • platform/efl/fast/media/mq-js-media-except-02-expected.txt: Added.
  • platform/efl/fast/media/mq-js-media-except-03-expected.png: Added.
  • platform/efl/fast/media/mq-js-media-except-03-expected.txt: Added.
6:26 AM Changeset in webkit [134942] by zandobersek@gmail.com
  • 1 edit
    2 adds in trunk/LayoutTests

Unreviewed GTK gardening, rebaselining after r134859.

  • platform/gtk/fast/media/mq-js-media-except-02-expected.txt: Added.
  • platform/gtk/fast/media/mq-js-media-except-03-expected.txt: Added.
6:00 AM Changeset in webkit [134941] by yael@webkit.org
  • 2 edits in trunk/Tools

Unreviewed. Help bugzilla find me.

  • Scripts/webkitpy/common/config/committers.py:
5:59 AM Changeset in webkit [134940] by haraken@chromium.org
  • 4 edits in trunk/Source/WebCore

[V8] Remove IsSubType() from CodeGeneratorV8.pm
https://bugs.webkit.org/show_bug.cgi?id=102348

Reviewed by Adam Barth.

CodeGenerator.pm has IsStrictSubType(). CodeGeneratorV8.pm should use it.

No tests. No change in behavior.

  • bindings/scripts/CodeGenerator.pm:

(IsSubType):

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateImplementation):

  • bindings/scripts/CodeGeneratorV8.pm:

(GenerateHeader):
(GetInternalFields):
(GenerateNormalAttrGetter):
(GenerateNormalAttrSetter):
(GenerateFunctionCallback):
(GenerateImplementationIndexer):
(GenerateToV8Converters):

5:47 AM Changeset in webkit [134939] by mario@webkit.org
  • 3 edits
    30 moves
    1 add in trunk/Source/WebCore

[EFL] Share WebKit-Gtk's Accessibility implementation with others WebKit ports.
https://bugs.webkit.org/show_bug.cgi?id=99578

Reviewed by Martin Robinson.

Renamed WebCore/accessibility/gtk to WebCore/accessibility/atk.

  • GNUmakefile.am:
  • GNUmakefile.list.am:
  • accessibility/atk/AXObjectCacheAtk.cpp: Renamed from

Source/WebCore/accessibility/gtk/AXObjectCacheAtk.cpp.

  • accessibility/atk/AccessibilityObjectAtk.cpp: Renamed from

Source/WebCore/accessibility/gtk/AccessibilityObjectAtk.cpp.

  • accessibility/atk/WebKitAccessibleHyperlink.cpp: Renamed from

Source/WebCore/accessibility/gtk/WebKitAccessibleHyperlink.cpp.

  • accessibility/atk/WebKitAccessibleHyperlink.h: Renamed from

Source/WebCore/accessibility/gtk/WebKitAccessibleHyperlink.h.

  • accessibility/atk/WebKitAccessibleInterfaceAction.cpp: Renamed

from Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceAction.cpp.

  • accessibility/atk/WebKitAccessibleInterfaceAction.h: Renamed

from Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceAction.h.

  • accessibility/atk/WebKitAccessibleInterfaceComponent.cpp:

Renamed from Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceComponent.cpp.

  • accessibility/atk/WebKitAccessibleInterfaceComponent.h: Renamed

from Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceComponent.h.

  • accessibility/atk/WebKitAccessibleInterfaceDocument.cpp: Renamed

from Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceDocument.cpp.

  • accessibility/atk/WebKitAccessibleInterfaceDocument.h: Renamed

from Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceDocument.h.

  • accessibility/atk/WebKitAccessibleInterfaceEditableText.cpp:

Renamed from Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceEditableText.cpp.

  • accessibility/atk/WebKitAccessibleInterfaceEditableText.h:

Renamed from Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceEditableText.h.

  • accessibility/atk/WebKitAccessibleInterfaceHyperlinkImpl.cpp:

Renamed from Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceHyperlinkImpl.cpp.

  • accessibility/atk/WebKitAccessibleInterfaceHyperlinkImpl.h:

Renamed from Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceHyperlinkImpl.h.

  • accessibility/atk/WebKitAccessibleInterfaceHypertext.cpp:

Renamed from Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceHypertext.cpp.

  • accessibility/atk/WebKitAccessibleInterfaceHypertext.h: Renamed

from Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceHypertext.h.

  • accessibility/atk/WebKitAccessibleInterfaceImage.cpp: Renamed

from Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceImage.cpp.

  • accessibility/atk/WebKitAccessibleInterfaceImage.h: Renamed from

Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceImage.h.

  • accessibility/atk/WebKitAccessibleInterfaceSelection.cpp:

Renamed from Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceSelection.cpp.

  • accessibility/atk/WebKitAccessibleInterfaceSelection.h: Renamed

from Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceSelection.h.

  • accessibility/atk/WebKitAccessibleInterfaceTable.cpp: Renamed

from Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceTable.cpp.

  • accessibility/atk/WebKitAccessibleInterfaceTable.h: Renamed from

Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceTable.h.

  • accessibility/atk/WebKitAccessibleInterfaceText.cpp: Renamed

from Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceText.cpp.

  • accessibility/atk/WebKitAccessibleInterfaceText.h: Renamed from

Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceText.h.

  • accessibility/atk/WebKitAccessibleInterfaceValue.cpp: Renamed

from Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceValue.cpp.

  • accessibility/atk/WebKitAccessibleInterfaceValue.h: Renamed from

Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceValue.h.

  • accessibility/atk/WebKitAccessibleUtil.cpp: Renamed from

Source/WebCore/accessibility/gtk/WebKitAccessibleUtil.cpp.

  • accessibility/atk/WebKitAccessibleUtil.h: Renamed from

Source/WebCore/accessibility/gtk/WebKitAccessibleUtil.h.

  • accessibility/atk/WebKitAccessibleWrapperAtk.cpp: Renamed from

Source/WebCore/accessibility/gtk/WebKitAccessibleWrapperAtk.cpp.

  • accessibility/atk/WebKitAccessibleWrapperAtk.h: Renamed from

Source/WebCore/accessibility/gtk/WebKitAccessibleWrapperAtk.h.

5:39 AM Changeset in webkit [134938] by shinyak@chromium.org
  • 4 edits
    4 adds in trunk

Changing pseudoClass (:indeterminate) should cause distribution
https://bugs.webkit.org/show_bug.cgi?id=101903

Reviewed by Dimitri Glazkov.

Source/WebCore:

<progress> and <input type="checkbox"> have 'indeterminate' state. When their state is changed, we have to
invalidate distribution if necessary. To check it, we collect a feature that :invalidate is used in select attributes.

For <input>, we also have to see 'type' is changed. According to the spec, :indeterminate should match only
progress element or <input type="checkbox">. So changing 'type' might also change :indeterminate state.

Tests: fast/dom/shadow/pseudoclass-update-indeterminate-input.html

fast/dom/shadow/pseudoclass-update-indeterminate-progress.html

  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::updateType):
(WebCore::HTMLInputElement::setIndeterminate):

  • html/HTMLProgressElement.cpp:

(WebCore::HTMLProgressElement::didElementStateChange):

LayoutTests:

I've used "-webkit-appearance: none" for progress element because of Bug 102459.
It prevents from testing progress element on Windows.

  • fast/dom/shadow/pseudoclass-update-indeterminate-input-expected.html: Added.
  • fast/dom/shadow/pseudoclass-update-indeterminate-input.html: Added.
  • fast/dom/shadow/pseudoclass-update-indeterminate-progress-expected.html: Added.
  • fast/dom/shadow/pseudoclass-update-indeterminate-progress.html: Added.
5:37 AM Changeset in webkit [134937] by alexis@webkit.org
  • 2 edits in trunk/Source/WebCore

Factorize the creation of primitive values with a pair into a function.
https://bugs.webkit.org/show_bug.cgi?id=102485

Reviewed by Antti Koivisto.

The pattern is already existing in various call sites inside CSSParser
and more will be added in the future (see bug 102104).

No new tests : It's a refactoring only, the tests should cover it.

  • css/CSSParser.cpp:

(WebCore):
(WebCore::createPrimitiveValuePair):
(WebCore::CSSParser::parseValue):
(WebCore::CSSParser::parseFillSize):
(WebCore::CSSParser::parseBorderImageRepeat):
(WebCore::CSSParser::parseBorderRadius):
(WebCore::CSSParser::parseCounter):

5:35 AM Changeset in webkit [134936] by pilgrim@chromium.org
  • 9 edits in trunk/Source/WebCore

Expand PlatformCookieJar interface to allow for other ports
https://bugs.webkit.org/show_bug.cgi?id=102456

Reviewed by Adam Barth.

Add firstParty and cookieURL arguments to several functions to
prepare for integrating Chromium port into new PlatformCookieJar
interface.

  • loader/CookieJar.cpp:

(WebCore::cookiesEnabled):
(WebCore::cookieRequestHeaderFieldValue):
(WebCore::getRawCookies):

  • platform/network/PlatformCookieJar.h:

(WebCore):

  • platform/network/cf/CookieJarCFNet.cpp:

(WebCore::cookieRequestHeaderFieldValue):
(WebCore::cookiesEnabled):
(WebCore::getRawCookies):

  • platform/network/curl/CookieJarCurl.cpp:

(WebCore::cookieRequestHeaderFieldValue):
(WebCore::cookiesEnabled):
(WebCore::getRawCookies):

  • platform/network/mac/CookieJarMac.mm:

(WebCore::cookieRequestHeaderFieldValue):
(WebCore::cookiesEnabled):
(WebCore::getRawCookies):

  • platform/network/qt/CookieJarQt.cpp:

(WebCore::cookieRequestHeaderFieldValue):
(WebCore::cookiesEnabled):
(WebCore::getRawCookies):

  • platform/network/soup/CookieJarSoup.cpp:

(WebCore::cookieRequestHeaderFieldValue):
(WebCore::cookiesEnabled):
(WebCore::getRawCookies):

  • platform/network/win/CookieJarWin.cpp:

(WebCore::cookieRequestHeaderFieldValue):
(WebCore::cookiesEnabled):
(WebCore::getRawCookies):

5:32 AM Changeset in webkit [134935] by jchaffraix@webkit.org
  • 3 edits in trunk/Source/WebCore

RenderGrid should have a function to resolve grid position
https://bugs.webkit.org/show_bug.cgi?id=102441

Reviewed by Ojan Vafai.

The code was doing this conversion implicitly inside RenderGrid::findChildLogicalPosition.
Also note that we also provided a fallback by returning LayoutPoint() (ie the (0, 0) position
on the grid) if we couldn't handle the value. The explicit conversion is needed in order to
support render areas and add a proper grid model to RenderGrid.

No expected change in behavior.

  • rendering/RenderGrid.h:
  • rendering/RenderGrid.cpp:

(WebCore::RenderGrid::resolveGridPosition):
Added this new function to handle the conversion. We re-use Length but should never see
a lot of the <length> values so I added some ASSERTs to enforce and catch that.

(WebCore::RenderGrid::findChildLogicalPosition):
Simplified the function now that it just use resolveGridPosition.

5:19 AM Changeset in webkit [134934] by commit-queue@webkit.org
  • 4 edits in trunk

[V8] Increment the amount of externally allocated memory for the receiving V8 isolate when transferring ArrayBuffer
https://bugs.webkit.org/show_bug.cgi?id=94463

Patch by Ulan Degenbaev <ulan@chromium.org> on 2012-11-16
Reviewed by Kentaro Hara.

Call AdjustAmountOfExternalAllocatedMemory when V8ArrayBuffer is deserialized and transferred.

.:

  • ManualTests/typed-array-memory.html:

Source/WebCore:

Test: ManualTests/typed-array-memory.html

  • bindings/v8/SerializedScriptValue.cpp:
4:53 AM Changeset in webkit [134933] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

[EFL][WK2] Unset the tooltip when the web process has crashed
https://bugs.webkit.org/show_bug.cgi?id=102232

Patch by Sudarsana Nagineni <sudarsana.nagineni@intel.com> on 2012-11-16
Reviewed by Gyuyoung Kim.

Emit 'tooltip,text,unset' signal to unset the tooltip
when the web process has crashed.

  • UIProcess/efl/PageClientBase.cpp:

(WebKit::PageClientBase::processDidCrash):

4:37 AM Changeset in webkit [134932] by commit-queue@webkit.org
  • 5 edits in trunk/Source

Unreviewed, rolling out r134694.
http://trac.webkit.org/changeset/134694
https://bugs.webkit.org/show_bug.cgi?id=102481

it made API test crash on EFL port (Requested by gyuyoung on
#webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-11-16

Source/WebCore:

  • platform/efl/RenderThemeEfl.cpp:

(WebCore::fillColorsFromEdjeClass):
(WebCore::RenderThemeEfl::setColorFromThemeClass):
(WebCore::RenderThemeEfl::loadTheme):
(WebCore::RenderThemeEfl::RenderThemeEfl):

  • platform/efl/RenderThemeEfl.h:

(RenderThemeEfl):

Source/WebKit/efl:

  • DefaultTheme/default.edc:
4:32 AM Changeset in webkit [134931] by mkwst@chromium.org
  • 17 edits in trunk/Source/WebCore

Web Inspector: Move call stack generation out of bindings.
https://bugs.webkit.org/show_bug.cgi?id=101331

Reviewed by Yury Semikhatsky.

Currently, we generate stack traces for console messages at each call
site. Bug 100650 has the end goal of moving all stack trace generation
inside of the Inspector in order to ensure that we never send a console
message without a stack trace if it's possible to generate one. This
also ensures that we never generate unused call stacks.

This patch is the first step in that direction, moving stack trace
generation out of the Console bindings, and into either Console or
InspectorConsoleAgent.

No visible change in behavior should result; this refactoring should
continue to pass all existing inspector tests.

  • bindings/js/JSConsoleCustom.cpp:

(WebCore::JSConsole::profile):
(WebCore::JSConsole::profileEnd):

Adjust custom JSC Console bindings to drop call stack generation.

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateCallWith):

  • bindings/scripts/CodeGeneratorV8.pm:

(GenerateCallWith):

Drop call stack generation from JSC and V8 bindings.

  • bindings/scripts/CodeGeneratorGObject.pm:

Skip timeEnd explicitly in these bindings; it used to include
ScriptArguments, which autoskipped it. Now it doesn't, so it needs
to be called out on its own.

  • bindings/v8/ScriptCallStackFactory.cpp:

(WebCore::createScriptCallStackForConsole):
(WebCore::createScriptCallStack):
(WebCore):

  • bindings/v8/ScriptCallStackFactory.h:

(WebCore):

Add 'createScriptCallStack(ScriptState*, size_t)' to V8's
ScriptCallStackFactory in order to match JCS' implementation.
It simply delegates to 'createScriptCallStackForConsole', which
now also accepts a 'maxStackSize' parameter.

  • bindings/v8/custom/V8ConsoleCustom.cpp:

(WebCore::V8Console::traceCallback):
(WebCore::V8Console::assertCallback):
(WebCore::V8Console::profileCallback):
(WebCore::V8Console::profileEndCallback):

Adjust custom V8 bindings to drop call stack generation.

  • inspector/InspectorConsoleAgent.cpp:

(WebCore::InspectorConsoleAgent::addMessageToConsole):

With the eventual goal of getting rid of the call stack parameter
entirely, this patch drops it from one version of
'addMessageToConsole' (replacing it with ScriptState*), and creates
a new version that only accepts a call stack. We should be able to
migrate most (all?) external call sites over to the arguments
version in future patches.

(WebCore):
(WebCore::InspectorConsoleAgent::count):

Count takes 'ScriptState*' instead of a call stack, and generates
the stack as needed.

  • inspector/InspectorConsoleAgent.h:

(InspectorConsoleAgent):

  • inspector/InspectorConsoleInstrumentation.h:

(WebCore::InspectorInstrumentation::addMessageToConsole):
(WebCore):
(WebCore::InspectorInstrumentation::consoleCount):

  • inspector/InspectorInstrumentation.cpp:

(WebCore):
(WebCore::InspectorInstrumentation::addMessageToConsoleImpl):
(WebCore::InspectorInstrumentation::consoleCountImpl):

  • inspector/InspectorInstrumentation.h:

(InspectorInstrumentation):

Changes the InspectorInstrumentation pipeline to match the
InspectorConsoleAgent changes.

  • page/Console.cpp:

(WebCore::Console::addMessage):

We now (always) generate one frame of a stack trace in order to
populate line numbers and caller URLs. If we need to print the whole
trace here, we generate a full stack.

(WebCore::Console::debug):
(WebCore::Console::error):
(WebCore::Console::info):
(WebCore::Console::log):
(WebCore::Console::warn):
(WebCore::Console::dir):
(WebCore::Console::dirxml):
(WebCore::Console::clear):
(WebCore::Console::trace):
(WebCore::Console::assertCondition):
(WebCore::Console::count):
(WebCore::Console::markTimeline):
(WebCore::Console::timeEnd):
(WebCore::Console::timeStamp):
(WebCore::Console::group):
(WebCore::Console::groupCollapsed):
(WebCore::Console::profile):
(WebCore::Console::profileEnd):

s/ScriptCallStack/ScriptState*/g. Also, printing the stack trace
has been moved out of 'trace' and into 'addMessage'.

  • page/Console.h:

(Console):

  • page/Console.idl:

Drop the call stack, add the script state.

  • workers/WorkerContext.cpp:

(WebCore::WorkerContext::addMessageToWorkerConsole):

Use the new, explicitly call stacked addMessageToConsole. We'll kill
this in a future patch.

4:21 AM Changeset in webkit [134930] by commit-queue@webkit.org
  • 32 edits
    2 copies in trunk/Source/WebCore

Add initiator to CachedResourceRequest.
https://bugs.webkit.org/show_bug.cgi?id=101935

Patch by Marja Hölttä <marja@chromium.org> on 2012-11-16
Reviewed by Adam Barth.

Motivation: Chromium needs to know which elements request a
resource (such as an image or a script) (bug 92761). In addition,
for exposing resource timing information (bug 84883) we need to
store the initiator, and this is the first step towards it.

No new tests: No visible change in behavior.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • Target.pri:
  • WebCore.gypi:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • css/CSSCursorImageValue.cpp:

(WebCore::CSSCursorImageValue::cachedImage):

  • css/CSSFontFaceSrcValue.cpp:

(WebCore::CSSFontFaceSrcValue::cachedFont):

  • css/CSSImageSetValue.cpp:

(WebCore::CSSImageSetValue::cachedImageSet):

  • css/CSSImageValue.cpp:

(WebCore::CSSImageValue::cachedImage):

  • css/CSSImageValue.h:

(WebCore):
(CSSImageValue):

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::loadPendingImage):

  • css/StyleRuleImport.cpp:

(WebCore::StyleRuleImport::requestStyleSheet):

  • css/WebKitCSSSVGDocumentValue.cpp:

(WebCore::WebKitCSSSVGDocumentValue::load):

  • css/WebKitCSSShaderValue.cpp:

(WebCore::WebKitCSSShaderValue::cachedShader):

  • dom/ScriptElement.cpp:

(WebCore::ScriptElement::requestScript):

  • html/HTMLLinkElement.cpp:

(WebCore::HTMLLinkElement::process):

  • html/parser/CSSPreloadScanner.cpp:

(WebCore::CSSPreloadScanner::emitRule):

  • html/parser/CSSPreloadScanner.h:

(CSSPreloadScanner):

  • html/parser/HTMLPreloadScanner.cpp:

(WebCore::PreloadTask::preload):

  • loader/ImageLoader.cpp:

(WebCore::ImageLoader::updateFromElement):

  • loader/cache/CachedResourceLoader.cpp:

(WebCore::CachedResourceLoader::requestImage):
(WebCore::CachedResourceLoader::requestResource):
(WebCore::CachedResourceLoader::determineRevalidationPolicy):
(WebCore):
(WebCore::CachedResourceLoader::preload):

  • loader/cache/CachedResourceLoader.h:

(WebCore):
(CachedResourceLoader):

  • loader/cache/CachedResourceRequest.cpp:

(WebCore::CachedResourceRequest::CachedResourceRequest):
(WebCore):
(WebCore::CachedResourceRequest::~CachedResourceRequest):
(WebCore::CachedResourceRequest::setInitiator):
(WebCore::CachedResourceRequest::initiatorName):
(WebCore::CachedResourceRequest::initiatorDocument):
(WebCore::CachedResourceRequest::initiatorElement):

  • loader/cache/CachedResourceRequest.h:

(WebCore):
(WebCore::CachedResourceRequest::setOptions):
(WebCore::CachedResourceRequest::defer):
(WebCore::CachedResourceRequest::setDefer):
(CachedResourceRequest):

  • loader/cache/CachedResourceRequestInitiators.cpp: Copied from Source/WebCore/loader/cache/CachedResourceRequest.cpp.

(WebCore):
(WebCore::CachedResourceRequestInitiators::CachedResourceRequestInitiators):

  • loader/cache/CachedResourceRequestInitiators.h: Copied from Source/WebCore/loader/cache/CachedResourceRequest.cpp.

(WebCore):
(CachedResourceRequestInitiators):
(WebCore::cachedResourceRequestInitiators):

  • loader/icon/IconLoader.cpp:

(WebCore::IconLoader::startLoading):

  • platform/ThreadGlobalData.cpp:

(WebCore::ThreadGlobalData::ThreadGlobalData):

  • platform/ThreadGlobalData.h:

(WebCore):
(WebCore::ThreadGlobalData::cachedResourceRequestInitiators):
(ThreadGlobalData):

  • svg/SVGFEImageElement.cpp:

(WebCore::SVGFEImageElement::requestImageResource):

  • svg/SVGFontFaceUriElement.cpp:

(WebCore::SVGFontFaceUriElement::loadFont):

  • svg/SVGUseElement.cpp:

(WebCore::SVGUseElement::svgAttributeChanged):

4:19 AM Changeset in webkit [134929] by mkwst@chromium.org
  • 2 edits in trunk/LayoutTests

[chromium] Unreviewed gardening.

http/tests/security/sandboxed-iframe-form-top.html is leaking state into
the next test, and should have been skipped for Chromium as well as mac
in r134789. This patch remedies that oversight.

  • platform/chromium/TestExpectations:
4:04 AM Changeset in webkit [134928] by yurys@chromium.org
  • 6 edits in trunk

Web Inspector: don't show an Error when evaluating a watch expression results in an exception
https://bugs.webkit.org/show_bug.cgi?id=102470

Reviewed by Vsevolod Vlasov.

Source/WebCore:

Dim watch expression and show "<not available>" as its value in cases when it evaluates
into an exception.

  • English.lproj/localizedStrings.js:
  • inspector/front-end/WatchExpressionsSidebarPane.js:

(WebInspector.WatchExpressionTreeElement.prototype.update):

  • inspector/front-end/inspector.css:

LayoutTests:

Check that watch expression has value "<not available>" in case of exception
during its evaluation instead of a special style class tha has been removed.

  • inspector/debugger/error-in-watch-expressions.html:
4:00 AM Changeset in webkit [134927] by vsevik@chromium.org
  • 21 edits
    1 delete in trunk/Source/WebCore

Web Inspector: Rollout 134404 134548 134552 Temporarily rolling out to ease merging.
https://bugs.webkit.org/show_bug.cgi?id=102476

Unreviewed rolling out.

  • English.lproj/localizedStrings.js:
  • WebCore.gypi:
  • WebCore.vcproj/WebCore.vcproj:
  • inspector/compile-front-end.py:
  • inspector/front-end/AdvancedSearchController.js:
  • inspector/front-end/CallStackSidebarPane.js:

(WebInspector.CallStackSidebarPane.prototype.registerShortcuts):

  • inspector/front-end/ConsoleView.js:

(WebInspector.ConsoleView.prototype._registerShortcuts):

  • inspector/front-end/ElementsPanel.js:

(WebInspector.ElementsPanel):
(WebInspector.ElementsPanel.prototype._registerShortcuts):

  • inspector/front-end/ElementsPanelDescriptor.js:
  • inspector/front-end/GoToLineDialog.js:

(WebInspector.GoToLineDialog.install):

  • inspector/front-end/KeyboardShortcut.js:

(WebInspector.KeyboardShortcut._keyName):

  • inspector/front-end/Panel.js:

(WebInspector.Panel.prototype.registerShortcut):
(WebInspector.Panel.prototype.unregisterShortcut):
(WebInspector.PanelDescriptor.prototype.panel):

  • inspector/front-end/ScriptsPanel.js:

(WebInspector.ScriptsPanel):
(WebInspector.ScriptsPanel.prototype._createDebugToolbar):
(WebInspector.ScriptsPanel.prototype._createButtonAndRegisterShortcuts):

  • inspector/front-end/ScriptsPanelDescriptor.js:
  • inspector/front-end/ShortcutsScreen.js:

(WebInspector.ShortcutsScreen):
(WebInspector.ShortcutsSection):
(WebInspector.ShortcutsSection.prototype._renderKey):

  • inspector/front-end/StylesSidebarPane.js:

(WebInspector.StylesSidebarPane.prototype.registerShortcuts):

  • inspector/front-end/TimelinePanel.js:

(WebInspector.TimelinePanel.prototype._registerShortcuts):

  • inspector/front-end/TimelinePanelDescriptor.js: Removed.
  • inspector/front-end/WebKit.qrc:
  • inspector/front-end/inspector.html:
  • inspector/front-end/inspector.js:

(WebInspector._panelDescriptors):
(WebInspector._registerShortcuts):

3:35 AM Changeset in webkit [134926] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Web Inspector: Memory Timeline Crash
https://bugs.webkit.org/show_bug.cgi?id=102390

Patch by Eugene Klyuchnikov <eustas.bug@gmail.com> on 2012-11-16
Reviewed by Vsevolod Vlasov.

Crash seems to be caused by IPC overflow.
Messages "ParsedScriptSource" are routed to
ResourceScriptMapping.prototype.addScript that process them in time
linear to number of already registered non-anonymous non-inline scripts.

Fixed this with replacing repreated filtering with "on-line" bucketing.

  • inspector/front-end/ResourceScriptMapping.js:

(WebInspector.ResourceScriptMapping):
Removed duplicating initialization code.
(WebInspector.ResourceScriptMapping.prototype.addScript):
Added script bucketing by sourceURL/isInline parameters.
(WebInspector.ResourceScriptMapping.prototype._scriptsForSourceURL):
Avoid filterfig.
(WebInspector.ResourceScriptMapping.prototype._createUISourceCode):
Added outgoing muatable array safeguard.
(WebInspector.ResourceScriptMapping.prototype._reset):
Added type information and added two new maps.

3:30 AM Changeset in webkit [134925] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

REGRESSION (r134774-r134779): fast/frames/detached-shadow-frame.html failing on Apple Win 7 Release (Tests)
https://bugs.webkit.org/show_bug.cgi?id=102433

Patch by Elliott Sprehn <esprehn@chromium.org> on 2012-11-16
Reviewed by Dimitri Glazkov.

Need to include the Shadow DOM polyfill.js since not all ports
web expose the WebkitShadowRoot constructor.

  • fast/frames/detached-shadow-frame.html:
3:23 AM Changeset in webkit [134924] by peter@chromium.org
  • 3 edits in trunk/Tools

Running TestWebKitAPI and webkit_unit_tests for Chromium Android should defer to the Chromium-sided test runner
https://bugs.webkit.org/show_bug.cgi?id=102245

Reviewed by Tony Chang.

When running TestWebKitAPI and webkit_unit_test for Chromium Android, defer
the actual running part to the test runner which lives on the Chromium side.
Re-implementing or even generalizing the device-interaction part in WebKit
is error prone and not worth the effort.

  • Scripts/run-api-tests:
  • Scripts/run-chromium-webkit-unit-tests:
3:11 AM Changeset in webkit [134923] by Csaba Osztrogonác
  • 8 edits in trunk/LayoutTests

[Qt] Unreviewed gardening.

  • http/tests/websocket/tests/hybi/bad-sub-protocol-control-chars-expected.txt: Updated after r134859.
  • platform/qt/TestExpectations: Skip fast/frames/detached-shadow-frame.html, because ENABLE(SHADOW_DOM) is disabled.
  • platform/qt/fast/media/mq-js-media-except-02-expected.txt: Updated after r134859.
  • platform/qt/fast/media/mq-js-media-except-03-expected.txt: Updated after r134859.
  • platform/qt/http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-expected.txt: Revert r134754, because r134649 was reverted.
  • platform/qt/http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-in-body-expected.txt: Revert r134754, because r134649 was reverted.
  • platform/qt/http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-parent-same-origin-deny-expected.txt: Revert r134754, because r134649 was reverted.
2:57 AM Changeset in webkit [134922] by haraken@chromium.org
  • 1 edit
    1 delete in trunk/LayoutTests

Unreviewed. Rebaselined pixel results.

  • platform/chromium-mac/fast/text/international/combining-marks-position-expected.txt: Removed.
2:56 AM Changeset in webkit [134921] by Csaba Osztrogonác
  • 2 edits in trunk/LayoutTests

[Qt][WK1] Gardening after r134816. Skipped a newly added failing test.
https://bugs.webkit.org/show_bug.cgi?id=102471

Patch by János Badics <János Badics> on 2012-11-16
Reviewed by Csaba Osztrogonác.

  • platform/qt-5.0-wk1/TestExpectations:
2:47 AM Changeset in webkit [134920] by peter@chromium.org
  • 2 edits in trunk/Source/WebKit/chromium

Unreviewed. Rolled DEPS.

  • DEPS:
2:31 AM Changeset in webkit [134919] by commit-queue@webkit.org
  • 10 edits in trunk/Source

[CoordGfx] Follow coding style on explicit constructors
https://bugs.webkit.org/show_bug.cgi?id=102451

Patch by Helder Correia <Helder Correia> on 2012-11-16
Reviewed by Noam Rosenthal.

Use the explicit keyword on single argument constructors.

No new tests needed.

Source/WebCore:

  • platform/graphics/texmap/GraphicsLayerTextureMapper.h:

(GraphicsLayerTextureMapper):

  • platform/graphics/texmap/TextureMapper.h:

(TextureMapper):

  • platform/graphics/texmap/TextureMapperBackingStore.h:

(WebCore::TextureMapperTile::TextureMapperTile):

  • platform/graphics/texmap/TextureMapperGL.cpp:

(WebCore::TextureMapperGLData::SharedGLData::SharedGLData):
(WebCore::TextureMapperGLData::TextureMapperGLData):

  • platform/graphics/texmap/TextureMapperGL.h:

(BitmapTextureGL):

  • platform/graphics/texmap/TextureMapperShaderManager.h:

(TextureMapperShaderManager):

Source/WebKit2:

  • UIProcess/CoordinatedGraphics/CoordinatedBackingStore.h:

(WebKit::CoordinatedBackingStoreTile::CoordinatedBackingStoreTile):

  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedTile.h:

(CoordinatedTileBackend):

2:19 AM Changeset in webkit [134918] by kihong.kwon@samsung.com
  • 15 edits
    3 adds in trunk/Source

Add DeviceController base-class to remove duplication of DeviceXXXControler
https://bugs.webkit.org/show_bug.cgi?id=96894

Reviewed by Hajime Morita.

Source/WebCore:

Add DeviceController which is extracted from DeviceOrientationController to remove duplication.
And soon-to-be-added DeviceMotionController and ProximityController.

Covered by existing tests.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • Target.pri:
  • WebCore.gypi:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • dom/DeviceOrientationClient.h:
  • dom/DeviceOrientationController.cpp:

Remove member functions to move to DeviceController.

  • addListener(), removeListener(), removeAllListeners(), isActive()

(WebCore::DeviceOrientationController::DeviceOrientationController):
(WebCore::DeviceOrientationController::didChangeDeviceOrientation):
(WebCore::DeviceOrientationController::client):
(WebCore::DeviceOrientationController::hasLastData):
(WebCore::DeviceOrientationController::getLastEvent):
(WebCore::DeviceOrientationController::from):
(WebCore):

  • dom/DeviceOrientationController.h:

(WebCore):
(WebCore::DeviceOrientationController::~DeviceOrientationController):
(DeviceOrientationController):

  • dom/Document.cpp:

Remove suspendEventsForAllListeners() and resumeEventsForAllListeners() function calls.
These calls can be made by checking activeDOMObjectsAreSuspended() and activeDOMObjectsAreStopped() before dispatchEvent.
(WebCore::Document::suspendActiveDOMObjects):
(WebCore::Document::resumeActiveDOMObjects):

  • loader/EmptyClients.h:

(EmptyDeviceClient):
(WebCore::EmptyDeviceClient::startUpdating):
(WebCore::EmptyDeviceClient::stopUpdating):
(WebCore):

  • page/DOMWindow.cpp:

(WebCore::DOMWindow::addEventListener):
(WebCore::DOMWindow::removeEventListener):
(WebCore::DOMWindow::removeAllEventListeners):

  • page/DeviceClient.h: Added.

(WebCore):
(DeviceClient):
(WebCore::DeviceClient::~DeviceClient):

  • page/DeviceController.cpp: Added.

DeviceController has extracted functions from DeviceOrientationController and DeviceMotionController.

  • addDeviceEventListener(), removeDeviceEventlistener(), removeAllDeviceEventListeners(), dispatchDeviceEvent()

All kind of device event controller which has DeviceClient can be inherited from DeviceController.
(WebCore):
(WebCore::DeviceController::DeviceController):
(WebCore::DeviceController::addDeviceEventListener):
(WebCore::DeviceController::removeDeviceEventListener):
(WebCore::DeviceController::removeAllDeviceEventListeners):
(WebCore::DeviceController::dispatchDeviceEvent):
(WebCore::DeviceController::fireDeviceEvent):

  • page/DeviceController.h: Added.

(WebCore):
(DeviceController):
(WebCore::DeviceController::~DeviceController):
(WebCore::DeviceController::isActive):
(WebCore::DeviceController::client):
(WebCore::DeviceController::hasLastData):
(WebCore::DeviceController::getLastEvent):

Source/WebKit/qt:

Change client() to deviceOrientationClient() to get DeviceOrientationClient*.

  • WebCoreSupport/DumpRenderTreeSupportQt.cpp:

(DumpRenderTreeSupportQt::setMockDeviceOrientation):

1:22 AM Changeset in webkit [134917] by apavlov@chromium.org
  • 2 edits in trunk/Source/WebCore

Web Inspector: [Overrides] Device metrics get reset on navigation, yet remain in the Overrides view
https://bugs.webkit.org/show_bug.cgi?id=102467

Reviewed by Pavel Feldman.

Restore the device metrics overrides from the inspector cookie in InspectorPageAgent::restore().
Drive-by: move the script execution and FPS counter display state restoration from enable() into restore(),
so that they will get restored only upon page navigation, not upon any agent enablement.

  • inspector/InspectorPageAgent.cpp:

(WebCore::InspectorPageAgent::restore): Restore device metrics overrides, script execution and FPS counter display state.
(WebCore::InspectorPageAgent::enable): Don't restore script execution and FPS counter display state on any enablement.

1:19 AM Changeset in webkit [134916] by commit-queue@webkit.org
  • 9 edits in trunk

Unreviewed, rolling out r134908.
http://trac.webkit.org/changeset/134908
https://bugs.webkit.org/show_bug.cgi?id=102473

Broke the Apple Windows Debug build. (Requested by dydx on
#webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-11-16

.:

  • Source/autotools/symbols.filter:

Source/WebCore:

  • WebCore.exp.in:
  • dom/ViewportArguments.cpp:

(WebCore::computeViewportAttributes):

  • dom/ViewportArguments.h:

(WebCore):

Source/WebKit2:

  • win/WebKit2.def:
  • win/WebKit2CFLite.def:
1:08 AM Changeset in webkit [134915] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit2

Unreviewed, rolling out r134913.
http://trac.webkit.org/changeset/134913
https://bugs.webkit.org/show_bug.cgi?id=102472

Incorrect fix. (Requested by dydx on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-11-16

  • win/WebKit2.def:
  • win/WebKit2CFLite.def:
1:06 AM Changeset in webkit [134914] by commit-queue@webkit.org
  • 5 edits
    3 adds in trunk

Web Inspector: show internal properties in inspector frontend
https://bugs.webkit.org/show_bug.cgi?id=100021

Patch by Peter Rybin <prybin@chromium.org> on 2012-11-16
Reviewed by Yury Semikhatsky.

Source/WebCore:

New field 'internalProperties' is parsed and passed via all callbacks to Object Properties section.

Test: inspector/debugger/properties-special.html

  • inspector/front-end/ObjectPropertiesSection.js:

(WebInspector.ObjectPropertiesSection.prototype.update.callback):
(WebInspector.ObjectPropertiesSection.prototype.update):
(.callback):
(WebInspector.ObjectPropertyTreeElement.populate):
(.processProperties):
(WebInspector.ArrayGroupingTreeElement._populateAsFragment):
(WebInspector.ArrayGroupingTreeElement._populateNonIndexProperties):

  • inspector/front-end/RemoteObject.js:

(WebInspector.RemoteObject.prototype.set else):

LayoutTests:

A new test is added. InspectorTest.dumpObjectPropertySectionDeep function is added.

  • http/tests/inspector/elements-test.js:

(initialize_ElementTest.InspectorTest.dumpObjectPropertySectionDeep):
(initialize_ElementTest.InspectorTest.dumpObjectPropertySectionDeep.dumpTreeElement):

  • inspector/debugger/properties-special-expected.txt: Added.
  • inspector/debugger/properties-special.html: Added.
  • platform/chromium/inspector/debugger/properties-special-expected.txt: Added.
12:37 AM Changeset in webkit [134913] by dbates@webkit.org
  • 3 edits in trunk/Source/WebKit2

Attempt to fix the Apple Windows Debug build after http://trac.webkit.org/changeset/134908
(https://bugs.webkit.org/show_bug.cgi?id=102354).

Add symbol.

  • win/WebKit2.def:
  • win/WebKit2CFLite.def:
12:23 AM Changeset in webkit [134912] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebKit2

[WK2] Bug on ASSERT code in CoordinatedBackingStore.cpp
https://bugs.webkit.org/show_bug.cgi?id=102465

Patch by KyungTae Kim <ktf.kim@samsung.com> on 2012-11-16
Reviewed by Noam Rosenthal.

The ASSERT code should be fixed because the 'operator>=' is not defined for WebCore::IntSize.

  • UIProcess/CoordinatedGraphics/CoordinatedBackingStore.cpp:

(WebKit::CoordinatedBackingStoreTile::swapBuffers):

12:16 AM Changeset in webkit [134911] by apavlov@chromium.org
  • 14 edits
    1 copy in trunk/Source/WebCore

Web Inspector: metrics, geolocation, orientation overrides do not belong to the settings panel
https://bugs.webkit.org/show_bug.cgi?id=93691

Reviewed by Vsevolod Vlasov.

  • The Overrides tab contents have been moved from the Settings dialog into a brand new Overrides drawer view,

both receiving a new, more light-weight design.

  • The Cog button now brings up a popup menu with the "Overrides" and "Settings" items.
  • WebCore.gypi:
  • WebCore.vcproj/WebCore.vcproj:
  • inspector/compile-front-end.py:
  • inspector/front-end/ContextMenu.js:

(WebInspector.ContextMenu.prototype.showSoftMenu): Display the ContextMenu as a soft menu.

  • inspector/front-end/OverridesView.js: Copied from Source/WebCore/inspector/front-end/SettingsScreen.js.

(WebInspector.OverridesView.appendBlockTo):
(WebInspector.OverridesView):
(WebInspector.OverridesView.showInDrawer):
(WebInspector.OverridesView.prototype.get listener):
(WebInspector.OverridesView.prototype._createUserAgentSelectRowElement.get const):
(WebInspector.OverridesView.prototype._createUserAgentSelectRowElement.textDoubleClicked):
(WebInspector.OverridesView.prototype._createUserAgentSelectRowElement.textChanged):
(WebInspector.OverridesView.prototype._createUserAgentSelectRowElement.set checkboxClicked):
(WebInspector.OverridesView.prototype._createUserAgentSelectRowElement):
(WebInspector.OverridesView.prototype._createInput):
(WebInspector.OverridesView.prototype._onMetricsCheckboxClicked):
(WebInspector.OverridesView.prototype._applyDeviceMetricsUserInput):
(WebInspector.OverridesView.prototype.):
(WebInspector.OverridesView.prototype.set if):
(WebInspector.OverridesView.prototype._createDeviceMetricsElement.swapDimensionsClicked):
(WebInspector.OverridesView.prototype._createDeviceMetricsElement):
(WebInspector.OverridesView.prototype._onGeolocationOverrideCheckboxClicked):
(WebInspector.OverridesView.prototype._applyGeolocationUserInput):
(WebInspector.OverridesView.prototype._setGeolocationPosition):
(WebInspector.OverridesView.prototype._createGeolocationOverrideElement):
(WebInspector.OverridesView.prototype._onDeviceOrientationOverrideCheckboxClicked):
(WebInspector.OverridesView.prototype._applyDeviceOrientationUserInput):
(WebInspector.OverridesView.prototype._setDeviceOrientation):
(WebInspector.OverridesView.prototype._createDeviceOrientationOverrideElement):

  • inspector/front-end/ScriptsPanel.js:

(WebInspector.ScriptsPanel): Fix the "DOM Breakpoints" pane move upon the panel creation.

  • inspector/front-end/SettingsScreen.js:

(WebInspector.SettingsTab):
(WebInspector.SettingsTab.prototype._appendSection):
(WebInspector.GenericSettingsTab):
(WebInspector.ExperimentsSettingsTab):
(WebInspector.SettingsController): Implement the popup menu upon the button click.
(WebInspector.SettingsController.prototype.showOverrides):
(WebInspector.SettingsController.prototype.showSettings):
(WebInspector.SettingsController.prototype.appendApplicableItems):
(WebInspector.SettingsController.prototype._buttonPressed):
(WebInspector.SettingsController.prototype._onHideSettingsScreen):
(WebInspector.SettingsController.prototype.showSettingsScreen):

  • inspector/front-end/ShortcutsScreen.js: Add "Shortcuts" header.

(WebInspector.ShortcutsScreen.prototype.createShortcutsTabView):

  • inspector/front-end/SoftContextMenu.js: Enable in all cases, implement the alignToCurrentTarget mode in show().

(WebInspector.SoftContextMenu.prototype.show):

  • inspector/front-end/TabbedPane.js: Implement vertical tab layout (skipping the tab width computations).

(WebInspector.TabbedPane.prototype.set verticalTabLayout):
(WebInspector.TabbedPane.prototype._updateWidths):
(WebInspector.TabbedPaneTab.prototype.setWidth):
(WebInspector.TabbedPaneTab.prototype._createTabElement):

  • inspector/front-end/WebKit.qrc:
  • inspector/front-end/helpScreen.css: Update styles for the new Settings and Overrides look-and-feel.
  • inspector/front-end/inspector.css: Drive-by fix small artifacts in the soft menu and drawer view statusbar item label.

(.soft-context-menu-item):
(.drawer-header):

  • inspector/front-end/inspector.html:
12:08 AM Changeset in webkit [134910] by commit-queue@webkit.org
  • 12 edits
    2 deletes in trunk

Unreviewed, rolling out r134865.
http://trac.webkit.org/changeset/134865
https://bugs.webkit.org/show_bug.cgi?id=102466

Broke the Apple Windows Debug build. (Requested by dydx on
#webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-11-16

.:

  • Source/autotools/symbols.filter:

Source/WebCore:

  • WebCore.exp.in:
  • bindings/js/SerializedScriptValue.h:
  • testing/Internals.cpp:
  • testing/Internals.h:

(WebCore):

  • testing/Internals.idl:

Source/WebKit2:

  • win/WebKit2.def:
  • win/WebKit2CFLite.def:

LayoutTests:

  • platform/chromium/fast/storage/serialized-script-value-expected.txt: Removed.
  • platform/chromium/fast/storage/serialized-script-value.html: Removed.
12:06 AM Changeset in webkit [134909] by tasak@google.com
  • 3 edits
    4 adds in trunk

ASSERT_NOT_REACHED() when building a CSSOM wrapper for StyleRuleHost
https://bugs.webkit.org/show_bug.cgi?id=102116

Reviewed by Alexander Pavlov.

Source/WebCore:

Provide a CSSUnknownRule instance as a CSSOM wrapper for StyleRuleHost
rules. Since there is no CSSOM wrapper for @host @-rules and
ASSERT_NOT_REACHED is used when a CSSOM wrapper is requested,
this crash occurs.

Tests: fast/css/at-host-cssom-crash.html

inspector/styles/styles-include-host-rules-crash.html

  • css/StyleRule.cpp:

(WebCore::StyleRuleBase::createCSSOMWrapper):
Return a CSSUnknownRule instance for StyleRuleHost rules instead of
calling ASSERT_NOT_REACHED().

LayoutTests:

  • fast/css/at-host-cssom-crash-expected.txt: Added.
  • fast/css/at-host-cssom-crash.html: Added.
  • inspector/styles/styles-include-host-rules-crash-expected.txt: Added.
  • inspector/styles/styles-include-host-rules-crash.html: Added.
12:02 AM Changeset in webkit [134908] by commit-queue@webkit.org
  • 9 edits in trunk

Avoid copying of ViewportArguments in computeViewportAttributes function
https://bugs.webkit.org/show_bug.cgi?id=102354

Patch by Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> on 2012-11-16
Reviewed by Kenneth Rohde Christiansen.

.:

Updated exported symbols for GTK.

  • Source/autotools/symbols.filter:

Source/WebCore:

Since r134749 we do not need copying of ViewportArguments parameter in
computeViewportAttributes() as it is not modified any more.

Tested by existing tests fast/viewport.

  • WebCore.exp.in: Updated exported symbols for MAC.
  • dom/ViewportArguments.cpp:

(WebCore::computeViewportAttributes):

  • dom/ViewportArguments.h:

(WebCore):

Source/WebKit2:

Update exported symbols.

  • win/WebKit2.def:
  • win/WebKit2CFLite.def:

Nov 15, 2012:

11:34 PM Changeset in webkit [134907] by haraken@chromium.org
  • 9 edits
    4 deletes in trunk/Source/WebKit/chromium

Unreviewed, rolling out r134880.
http://trac.webkit.org/changeset/134880
https://bugs.webkit.org/show_bug.cgi?id=102339

it broke Chromium Windows build

  • WebKit.gyp:
  • WebKit.gypi:
  • public/WebNode.h:

(WebKit):

  • public/WebPluginContainer.h:

(WebKit):
(WebPluginContainer):

  • src/WebFrameImpl.cpp:

(WebKit::pluginContainerFromNode):
(WebKit):
(WebKit::WebFrameImpl::executeCommand):
(WebKit::WebFrameImpl::printBegin):
(WebKit::WebFrameImpl::isPrintScalingDisabledForPlugin):

  • src/WebNode.cpp:
  • src/WebPluginContainerImpl.cpp:
  • src/WebPluginContainerImpl.h:

(WebPluginContainerImpl):

  • tests/FakeWebPlugin.cpp: Removed.
  • tests/FakeWebPlugin.h: Removed.
  • tests/WebPluginContainerTest.cpp: Removed.
  • tests/data/plugin_container.html: Removed.
11:30 PM Changeset in webkit [134906] by yurys@chromium.org
  • 7 edits in trunk

Memory instrumentation: add code for reporting stack traces of unknown instrumented objects
https://bugs.webkit.org/show_bug.cgi?id=102384

Reviewed by Pavel Feldman.

Source/WebCore:

  • inspector/InspectorMemoryAgent.cpp:

(WebCore::MemoryInstrumentationClientImpl::checkCountedObject): return false
if the check fails.

  • inspector/MemoryInstrumentationImpl.h:

(MemoryInstrumentationClientImpl):

Source/WTF:

Added an option to collect stack traces for instrumented pointers so that they
can be printed in case the check failed for the pointer. This code is hidden
behind a define.

  • wtf/MemoryInstrumentation.h:

(MemoryInstrumentationClient):
(WTF::MemoryInstrumentation::checkCountedObject): the method now returns false
in case the check has failed.
(InstrumentedPointer):
(WTF::::InstrumentedPointer):
(WTF):
(WTF::::process):

Tools:

Updated return type in accord with the changes in MemoryInstrumentationClient.

  • TestWebKitAPI/Tests/WTF/MemoryInstrumentationTest.cpp:
11:10 PM Changeset in webkit [134905] by bashi@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed test update.

  • fast/text/international/combining-marks-position.html:

Ignore a slight diff of widths between the reference and target.

10:47 PM Changeset in webkit [134904] by haraken@chromium.org
  • 1 edit
    1 add in trunk/LayoutTests

Unreviewed. Rebaselined pixel results.

  • platform/chromium-mac/fast/text/international/combining-marks-position-expected.txt: Added.
10:36 PM Changeset in webkit [134903] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebCore

Crash at WebCore::PluginData::pluginFileForMimeType const + 38
https://bugs.webkit.org/show_bug.cgi?id=102454

Reviewed by Dan Bernstein.

NULL-check the return value of Page::pluginData().

  • loader/SubframeLoader.cpp:

(WebCore::logPluginRequest):

10:34 PM Changeset in webkit [134902] by bashi@chromium.org
  • 2 edits in trunk/Source/WebCore

[Chromium] Unreviewed build fix attempt on win

Include OpenTypeVerticalData.h

  • platform/graphics/chromium/FontPlatformDataChromiumWin.h:

(WebCore):

10:34 PM Changeset in webkit [134901] by haraken@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed. Marked fast/images/webgl-teximage2d.html as Slow.

  • platform/chromium/TestExpectations:
10:25 PM Changeset in webkit [134900] by fpizlo@apple.com
  • 1 edit in trunk/Source/JavaScriptCore/ChangeLog

Fix embarrassing mispelling in the ChangeLog (chuld -> child)

10:23 PM Changeset in webkit [134899] by haraken@chromium.org
  • 3 edits
    1 add in trunk/LayoutTests

Unreviewed. Rebaselined images.

  • platform/chromium-linux/compositing/checkerboard-expected.png:
  • platform/chromium-mac-lion/compositing/checkerboard-expected.png: Added.
  • platform/chromium-win/compositing/checkerboard-expected.png:
10:23 PM Changeset in webkit [134898] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

ClassInfo.h should have correct indentation.

Rubber stamped by Mark Hahnenberg.

ClassInfo.h had some true creativity in its use of whitespace. Some things within
the namespace were indented four spaces and others where not. One #define had its
contents indented four spaces, while another didn't. I applied the following rule:

  • Non-macro things in the namespace should not be indented (that's our current accepted practice).


  • Macros should never be indented but if they are multi-line then their subsequent bodies should be indented four spaces. I believe that is consistent with what we do elsewhere.
  • runtime/ClassInfo.h:

(JSC):
(MethodTable):
(ClassInfo):
(JSC::ClassInfo::propHashTable):
(JSC::ClassInfo::isSubClassOf):
(JSC::ClassInfo::hasStaticProperties):

10:20 PM Changeset in webkit [134897] by haraken@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed. Marked fast/forms/validation-message-appearance.html as flaky.

  • platform/chromium/TestExpectations:
10:19 PM Changeset in webkit [134896] by fpizlo@apple.com
  • 8 edits in trunk/Source/JavaScriptCore

DFG should copy propagate trivially no-op ConvertThis
https://bugs.webkit.org/show_bug.cgi?id=102445

Reviewed by Oliver Hunt.

Copy propagation is always a good thing, since it reveals must-alias relationships
to the CFA and CSE. This accomplishes copy propagation for ConvertThis by first
converting it to an Identity node (which is done by the constant folder since it
has access to CFA results) and then performing substitution of references to
Identity with references to Identity's chuld in the CSE.

I'm not aiming for a big speed-up here; I just think that this will be useful for
the work on https://bugs.webkit.org/show_bug.cgi?id=102327.

  • dfg/DFGAbstractState.cpp:

(JSC::DFG::AbstractState::execute):

  • dfg/DFGCSEPhase.cpp:

(JSC::DFG::CSEPhase::performNodeCSE):

  • dfg/DFGConstantFoldingPhase.cpp:

(JSC::DFG::ConstantFoldingPhase::foldConstants):

  • dfg/DFGNodeType.h:

(DFG):

  • dfg/DFGPredictionPropagationPhase.cpp:

(JSC::DFG::PredictionPropagationPhase::propagate):

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

10:09 PM Changeset in webkit [134895] by haraken@chromium.org
  • 8 edits
    6 moves
    4 adds
    2 deletes in trunk/LayoutTests

Unreviewed. Rebaselined images.

  • fast/media/mq-js-media-except-02-expected.txt: Renamed from LayoutTests/platform/efl/fast/media/mq-js-media-except-02-expected.txt.
  • fast/media/mq-js-media-except-03-expected.txt: Renamed from LayoutTests/platform/efl/fast/media/mq-js-media-except-03-expected.txt.
  • platform/chromium-mac-lion/fast/media/mq-js-media-except-02-expected.png:
  • platform/chromium-mac-lion/fast/media/mq-js-media-except-03-expected.png:
  • platform/chromium-mac-snowleopard/fast/media/mq-js-media-except-02-expected.png:
  • platform/chromium-mac-snowleopard/fast/media/mq-js-media-except-03-expected.png:
  • platform/chromium-mac/fast/media/mq-js-media-except-02-expected.png:
  • platform/chromium-mac/fast/media/mq-js-media-except-02-expected.txt: Renamed from LayoutTests/platform/chromium/fast/media/mq-js-media-except-02-expected.txt.
  • platform/chromium-mac/fast/media/mq-js-media-except-03-expected.png:
  • platform/chromium-mac/fast/media/mq-js-media-except-03-expected.txt: Renamed from LayoutTests/platform/chromium/fast/media/mq-js-media-except-03-expected.txt.
  • platform/chromium-mac/svg/custom/baseval-animval-equality-expected.png:
  • platform/chromium-mac/svg/custom/baseval-animval-equality-expected.txt: Added.
  • platform/chromium-win-xp/fast/media/mq-js-media-except-02-expected.png: Added.
  • platform/chromium-win-xp/fast/media/mq-js-media-except-03-expected.png: Added.
  • platform/efl-wk1/fast/media/mq-js-media-except-02-expected.png: Renamed from LayoutTests/platform/efl/fast/media/mq-js-media-except-02-expected.png.
  • platform/efl-wk1/fast/media/mq-js-media-except-03-expected.png: Renamed from LayoutTests/platform/efl/fast/media/mq-js-media-except-03-expected.png.
  • platform/gtk/fast/media/mq-js-media-except-02-expected.txt: Removed.
  • platform/gtk/fast/media/mq-js-media-except-03-expected.txt: Removed.
10:02 PM Changeset in webkit [134894] by haraken@chromium.org
  • 1 edit
    2 adds in trunk/LayoutTests

Unreviewed. Rebaselined images.

  • platform/chromium-win-xp/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-expected.png: Added.
  • platform/chromium-win-xp/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-step-expected.png: Added.
9:59 PM Changeset in webkit [134893] by haraken@chromium.org
  • 4 edits in trunk/Source/WebCore

Unreviewed, rolling out r134881.
http://trac.webkit.org/changeset/134881
https://bugs.webkit.org/show_bug.cgi?id=102348

http/tests/appcache tests on JSC platforms are broken

  • bindings/scripts/CodeGenerator.pm:

(IsStrictSubtype):

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateImplementation):

  • bindings/scripts/CodeGeneratorV8.pm:

(GenerateHeader):
(GetInternalFields):
(IsSubType):
(IsNodeSubType):
(GenerateNormalAttrGetter):
(GenerateNormalAttrSetter):
(GenerateFunctionCallback):
(GenerateImplementationIndexer):
(GenerateToV8Converters):

9:51 PM Changeset in webkit [134892] by tkent@chromium.org
  • 4 edits
    2 copies in branches/chromium/1312

Merge 134390 - Unable to set valid time value to input[type=time] with user interaction in some cases
https://bugs.webkit.org/show_bug.cgi?id=102048

Reviewed by Kentaro Hara.

Source/WebCore:

The implementations of shouldMillisecondFieldReadOnly,
shouldMinuteFieldReadOnly, and shouldSecondFieldReadOnly were
incorrect. We need to check if a part of the minimum value matches to
the corresponding part of the current value.

Also, we had better check hour field editability.

Test: fast/forms/time-multiple-fields/time-multiple-fields-readonly-subfield.html

  • html/BaseMultipleFieldsDateAndTimeInputType.cpp:

(WebCore::BaseMultipleFieldsDateAndTimeInputType::shouldHaveSecondField):
Fix a problem that hh:mm:00.sss didn't create a seconds field.

  • html/shadow/DateTimeEditElement.cpp:

(DateTimeEditBuilder): Add shouldHourFieldReadOnly declaration.
(WebCore::DateTimeEditBuilder::visitField):
Add shouldHourFieldReadOnly check to Hour11/Hour12/Hour23/Hour24/Period fields.
(WebCore::DateTimeEditBuilder::shouldHourFieldReadOnly):
Added. An hour field should be read-only if the step value is a multiple
of a day and the hour part of the minimum value matches to the hour part
of the value.
(WebCore::DateTimeEditBuilder::shouldMillisecondFieldReadOnly):
A millisecond field should be read-only if the step value is a multiple
of one second and the millisecond part of the minimum value matches to
the millisecond part of the value.
(WebCore::DateTimeEditBuilder::shouldMinuteFieldReadOnly):
A minute field should be read-only if the step value is a multiple of
one hour and the minute part of the minimum value matches to the minute
part of the value.
(WebCore::DateTimeEditBuilder::shouldSecondFieldReadOnly):
A second field should be read-only if the step value is a multiple of
one minute and the second part of the minimum value matches to the second
part of the value.

  • platform/Decimal.cpp:

(WebCore::Decimal::remainder):
Fix a bug in case that the fractional part of quotient is >= 0.5. Also
make this matches to C99, C++11, ECMAScript behavior.

Source/WebKit/chromium:

  • tests/DecimalTest.cpp:

(TEST_F): Update and add tests.
2.1 % 3 should be 2.1
10 % -3 should be 1
-10 % -3 should be -1
3.6 % 1.3 should be 1
500 % 1000 should be 500
-500 % 1000 should be -500

LayoutTests:

  • fast/forms/time-multiple-fields/time-multiple-fields-readonly-subfield-expected.txt: Added.
  • fast/forms/time-multiple-fields/time-multiple-fields-readonly-subfield.html: Added.

TBR=tkent@chromium.org
BUG=crbug.com/160501
Review URL: https://codereview.chromium.org/11420033

9:44 PM Changeset in webkit [134891] by tkent@chromium.org
  • 11 edits in branches/chromium/1312/Source/WebCore/html

Merge 134239 - Refactoring: set read-only values on layout in DateTimeEditElement
https://bugs.webkit.org/show_bug.cgi?id=101916

Reviewed by Kentaro Hara.

We have always updated read-only values when we set an empty value or
DateTimeFieldsState. It has wasted CPU time because such read-only
values are never updated after layout() essentially. So, we set
read-only values in DateTimeEditBuilder used by layout(), and remove
dateForReadOnlyField arguments of setEmptyValue and
setValueAsDateTimeFieldsState.

No new tests. This should not make behavior changes.

  • html/BaseMultipleFieldsDateAndTimeInputType.cpp:

(WebCore::BaseMultipleFieldsDateAndTimeInputType::restoreFormControlState):
We removed dateForReadOnlyField argument because read-only values are
already set in DateTimeFieldElement::layout().

  • html/shadow/DateTimeEditElement.cpp:

(WebCore::DateTimeEditBuilder::visitField):
Set a value to a read-only minute/second/millisecond field while
building UI elements.
Also, changed variable types for millisecond and second fields to
RefPtr<DateTimeNumericFieldElement> because we'd like to call
setValueAsDate, which is private in DateTimeMillisecondFieldElement and
DateTimeSecondFieldElement
(WebCore::DateTimeEditElement::setValueAsDateTimeFieldsState):
We removed dateForReadOnlyField argument because read-only values are
already set in DateTimeFieldElement::layout().
(WebCore::DateTimeEditElement::setEmptyValue): Ditto.

  • html/shadow/DateTimeEditElement.h:

(DateTimeEditElement):
Removed dateForReadOnlyField argument for setValueAsDateTimeFieldsState.

  • html/shadow/DateTimeFieldElement.cpp:

(WebCore::DateTimeFieldElement::defaultKeyboardEventHandler):
We removed dateForReadOnlyField argument because read-only values are
already set in DateTimeFieldElement::layout().

  • html/shadow/DateTimeFieldElement.h:

(DateTimeFieldElement): Ditto.

  • html/shadow/DateTimeFieldElements.cpp: Ditto.
  • html/shadow/DateTimeFieldElements.h: Ditto.
  • html/shadow/DateTimeNumericFieldElement.cpp:

(WebCore::DateTimeNumericFieldElement::setEmptyValue):
It should do nothing if it is read-only because a read-only value was
already set just after construction.

  • html/shadow/DateTimeNumericFieldElement.h:

(DateTimeNumericFieldElement):
Removed dateForReadOnlyField argument of setEmptyValue.

  • html/shadow/DateTimeSymbolicFieldElement.cpp:

(WebCore::DateTimeSymbolicFieldElement::setEmptyValue): Ditto.

  • html/shadow/DateTimeSymbolicFieldElement.h:

(DateTimeSymbolicFieldElement): Ditto.

TBR=tkent@chromium.org
BUG=crbug.com/160501
Review URL: https://codereview.chromium.org/11420032

9:35 PM Changeset in webkit [134890] by tkent@chromium.org
  • 3 edits in trunk/LayoutTests

fast/forms/select/select-state-restore.html is flaky.
https://bugs.webkit.org/show_bug.cgi?id=90207

Reviewed by Hajime Morita.

  • fast/forms/select/select-state-restore.html:

It was possible that we started the test before loading
js-test-post.js. It means we might miss calling waitUntilDone.

  • platform/chromium/TestExpectations:
9:08 PM Changeset in webkit [134889] by aestes@apple.com
  • 5 edits
    3 adds in branches/safari-536.28-branch

Merge r130266.

2012-10-03 Dominic Mazzoni <dmazzoni@google.com>

AX: Heap-use-after-free when deleting a ContainerNode with an AX object
https://bugs.webkit.org/show_bug.cgi?id=98073

Reviewed by Hajime Morita.

Source/WebCore:

Calls axObjectCache()->remove(this) in ~ContainerNode so that the AX tree
doesn't try to access the container node while walking up the parent chain
from one of the container node's children.

Test: accessibility/container-node-delete-causes-crash.html

  • dom/ContainerNode.cpp:

(WebCore::ContainerNode::~ContainerNode):

  • dom/Node.cpp:

(WebCore::Node::~Node):

  • dom/Node.h:

(WebCore::Node::document):
(WebCore::Node::documentInternal):

LayoutTests:

Adds test for heap-use-after-free when container node with AX object is deleted.

  • accessibility/container-node-delete-causes-crash-expected.txt: Added.
  • accessibility/container-node-delete-causes-crash.html: Added.
8:46 PM Changeset in webkit [134888] by tkent@chromium.org
  • 9 edits
    36 adds in trunk/LayoutTests

[Chromium] Rebaseline for recent calendar picker and suggestion picker changes

  • platform/chromium-linux-x86/platform/chromium/fast/forms/suggestion-picker/month-suggestion-picker-appearance-rtl-expected.png: Added.
  • platform/chromium-linux/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-ru-expected.png: Added.
  • platform/chromium-linux/platform/chromium/fast/forms/calendar-picker/month-picker-appearance-expected.png: Added.
  • platform/chromium-linux/platform/chromium/fast/forms/calendar-picker/month-picker-appearance-step-expected.png: Added.
  • platform/chromium-linux/platform/chromium/fast/forms/suggestion-picker/month-suggestion-picker-appearance-expected.png: Added.
  • platform/chromium-linux/platform/chromium/fast/forms/suggestion-picker/month-suggestion-picker-appearance-rtl-expected.png: Added.
  • platform/chromium-linux/platform/chromium/fast/forms/suggestion-picker/month-suggestion-picker-appearance-with-scroll-bar-expected.png: Added.
  • platform/chromium-mac-lion/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-ru-expected.png: Added.
  • platform/chromium-mac-lion/platform/chromium/fast/forms/calendar-picker/month-picker-appearance-expected.png: Added.
  • platform/chromium-mac-lion/platform/chromium/fast/forms/calendar-picker/month-picker-appearance-step-expected.png: Added.
  • platform/chromium-mac-lion/platform/chromium/fast/forms/calendar-picker/week-picker-appearance-expected.png: Added.
  • platform/chromium-mac-lion/platform/chromium/fast/forms/calendar-picker/week-picker-appearance-step-expected.png: Added.
  • platform/chromium-mac-lion/platform/chromium/fast/forms/suggestion-picker/month-suggestion-picker-appearance-expected.png: Added.
  • platform/chromium-mac-lion/platform/chromium/fast/forms/suggestion-picker/month-suggestion-picker-appearance-rtl-expected.png: Added.
  • platform/chromium-mac-lion/platform/chromium/fast/forms/suggestion-picker/month-suggestion-picker-appearance-with-scroll-bar-expected.png: Added.
  • platform/chromium-mac-snowleopard/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-ru-expected.png: Added.
  • platform/chromium-mac-snowleopard/platform/chromium/fast/forms/calendar-picker/month-picker-appearance-expected.png: Added.
  • platform/chromium-mac-snowleopard/platform/chromium/fast/forms/calendar-picker/month-picker-appearance-step-expected.png: Added.
  • platform/chromium-mac-snowleopard/platform/chromium/fast/forms/calendar-picker/week-picker-appearance-expected.png: Added.
  • platform/chromium-mac-snowleopard/platform/chromium/fast/forms/calendar-picker/week-picker-appearance-step-expected.png: Added.
  • platform/chromium-mac-snowleopard/platform/chromium/fast/forms/suggestion-picker/month-suggestion-picker-appearance-expected.png: Added.
  • platform/chromium-mac-snowleopard/platform/chromium/fast/forms/suggestion-picker/month-suggestion-picker-appearance-rtl-expected.png: Added.
  • platform/chromium-mac-snowleopard/platform/chromium/fast/forms/suggestion-picker/month-suggestion-picker-appearance-with-scroll-bar-expected.png: Added.
  • platform/chromium-mac/platform/chromium/fast/forms/calendar-picker/month-picker-appearance-expected.png:
  • platform/chromium-mac/platform/chromium/fast/forms/calendar-picker/month-picker-appearance-step-expected.png:
  • platform/chromium-mac/platform/chromium/fast/forms/calendar-picker/week-picker-appearance-expected.png:
  • platform/chromium-mac/platform/chromium/fast/forms/calendar-picker/week-picker-appearance-step-expected.png:
  • platform/chromium-mac/platform/chromium/fast/forms/suggestion-picker/month-suggestion-picker-appearance-expected.png:
  • platform/chromium-mac/platform/chromium/fast/forms/suggestion-picker/month-suggestion-picker-appearance-rtl-expected.png:
  • platform/chromium-mac/platform/chromium/fast/forms/suggestion-picker/month-suggestion-picker-appearance-with-scroll-bar-expected.png:
  • platform/chromium-win-xp/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-ru-expected.png: Added.
  • platform/chromium-win-xp/platform/chromium/fast/forms/calendar-picker/month-picker-appearance-expected.png: Added.
  • platform/chromium-win-xp/platform/chromium/fast/forms/calendar-picker/month-picker-appearance-step-expected.png: Added.
  • platform/chromium-win-xp/platform/chromium/fast/forms/calendar-picker/week-picker-appearance-expected.png: Added.
  • platform/chromium-win-xp/platform/chromium/fast/forms/calendar-picker/week-picker-appearance-step-expected.png: Added.
  • platform/chromium-win-xp/platform/chromium/fast/forms/suggestion-picker/month-suggestion-picker-appearance-expected.png: Added.
  • platform/chromium-win-xp/platform/chromium/fast/forms/suggestion-picker/month-suggestion-picker-appearance-rtl-expected.png: Added.
  • platform/chromium-win-xp/platform/chromium/fast/forms/suggestion-picker/month-suggestion-picker-appearance-with-scroll-bar-expected.png: Added.
  • platform/chromium-win/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-ru-expected.png: Added.
  • platform/chromium-win/platform/chromium/fast/forms/calendar-picker/month-picker-appearance-expected.png: Added.
  • platform/chromium-win/platform/chromium/fast/forms/calendar-picker/month-picker-appearance-step-expected.png: Added.
  • platform/chromium/TestExpectations:
8:31 PM Changeset in webkit [134887] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

[TexMap][Cairo][Qt] Refactor BitmapTextureGL::updateContents().
https://bugs.webkit.org/show_bug.cgi?id=102420

Patch by Viatcheslav Ostapenko <v.ostapenko@samsung.com> on 2012-11-15
Reviewed by Gyuyoung Kim.

Moved out texture upload without swizzle to the separate method and changed
drawRepaintCounter to use no-swizzle method. This also fixes blue background
of repaint counters in Qt Minibrowser.
Added condition for sub-image buffer creation to not create it if full image is
uploaded. This should give noticeable improvement for platforms that do not
support sub-image upload to texture.

Covered by existing tests.

  • platform/graphics/texmap/TextureMapperGL.cpp:

(WebCore::TextureMapperGL::drawRepaintCounter):
(WebCore::BitmapTextureGL::updateContentsNoSwizzle):
(WebCore):
(WebCore::BitmapTextureGL::updateContents):

  • platform/graphics/texmap/TextureMapperGL.h:

(BitmapTextureGL):

8:30 PM Changeset in webkit [134886] by tkent@chromium.org
  • 12 edits
    1 add in trunk/Source/WebCore

A Spin button should release mouse event capturing when a modal dialog opens
https://bugs.webkit.org/show_bug.cgi?id=98007

Reviewed by Hajime Morita.

Description of bug:
If the mouse left button is pressed on a spin button in
input[type=number] and a 'change' event handler opens a modal dialog
such as alert(), a repeating timer doesn't stop and mouse event
capturing isn't released even though the mouse pointer isn't on the spin
button.
A user will see repeating alert dialogs for a document like <input
type=number value=1 onchange="if (this.value==1) {alert(...);
this.value=1;}"> by clicking the up button.

How to solve:
We should notify modal dialog or popup open to a spin button.
This patch introduce PopupOpeningObserver. Chrome notifies it when
any dialogs / popups is opening. SpinButtonElement implements
PopupOpeningObserver and registers/unregisters itself to/from
Chrome.

No new tests. This is a behavior change, but it's very hard to make an
automated test for timer-related behavior.

  • page/PopupOpeningObserver.h: Added.
  • GNUmakefile.list.am: Add PopupOpeningObserver.h
  • Target.pri: Ditto.
  • WebCore.gypi: Ditto.
  • WebCore.vcproj/WebCore.vcproj: Ditto.
  • WebCore.xcodeproj/project.pbxproj: Ditto.
  • page/Chrome.cpp:

(WebCore::Chrome::runJavaScriptAlert): Calls notifyPopupOpeningObservers.
(WebCore::Chrome::runJavaScriptConfirm): Ditto.
(WebCore::Chrome::runJavaScriptPrompt): Ditto.
(WebCore::Chrome::createColorChooser): Ditto.
(WebCore::Chrome::openDateTimeChooser):
Added. Calls notifyPopupOpeningObservers before calling
ChromeClient::openDateTimeChooser.
(WebCore::Chrome::runOpenPanel): Calls notifyPopupOpeningObservers.
(WebCore::Chrome::createPopupMenu): Ditto.
(WebCore::Chrome::createSearchPopupMenu): Ditto.
(WebCore::Chrome::registerPopupOpeningObserver): Added.
(WebCore::Chrome::unregisterPopupOpeningObserver): Added.
(WebCore::Chrome::notifyPopupOpeningObservers): Added.

  • page/Chrome.h: Added new members and required class/struct declarations.
  • html/BaseChooserOnlyDateAndTimeInputType.cpp:

(WebCore::BaseChooserOnlyDateAndTimeInputType::handleDOMActivateEvent):
Use Chrome::openDateTimeChooser instead of ChromeClient::openDateTimeChooser.

  • html/shadow/PickerIndicatorElement.cpp:

(WebCore::PickerIndicatorElement::openPopup): Ditto.

  • html/shadow/SpinButtonElement.h:

(SpinButtonElement): Declare willOpenPopup.

  • html/shadow/SpinButtonElement.cpp:

(WebCore::SpinButtonElement::defaultEventHandler):
Change the order of timer start and changing the value so that we
can cancel the timer correctly.
Calls Chrome::registerPopupOpeningObserver on starting mouse capturing.
(WebCore::SpinButtonElement::willOpenPopup):
Release mouse event capturing before opening a modal dialog.
(WebCore::SpinButtonElement::releaseCapture):
Calls Chrome::unregisterPopupOpeningObserver.

8:25 PM Changeset in webkit [134885] by commit-queue@webkit.org
  • 2 edits
    1 delete in trunk/LayoutTests

[EFL] Update TestExpectations for fast/forms/zoomed-controls.html
https://bugs.webkit.org/show_bug.cgi?id=102369

Unreviewed. Pixel test of fast/forms/zoomed-controls.html is failing
introduced by r134698. Mark this test Missing and remove wrong expectation.

Patch by KwangYong Choi <ky0.choi@samsung.com> on 2012-11-15

  • platform/efl/TestExpectations:
  • platform/efl/fast/forms/zoomed-controls-expected.png: Removed.
8:23 PM Changeset in webkit [134884] by Lucas Forschler
  • 26 edits in branches/safari-536.28-branch/Source/WebKit2

Merged r130347. <rdar://problem/12611664>

7:54 PM Changeset in webkit [134883] by shinyak@chromium.org
  • 8 edits
    18 adds in trunk

Chaging pseudoClass (:enabled) should cause distribution
https://bugs.webkit.org/show_bug.cgi?id=101900

Reviewed by Dimitri Glazkov.

Source/WebCore:

When element's 'enabled' state is changed, we have to invalidate distribution.

According to the spec, :enabled matches anchor/area/link element having href attribute,
and several form control elements which is not disabled. However, currently :enalbed does not match
anchor/area/link yet. See https://bugs.webkit.org/show_bug.cgi?id=102349

Tests: fast/dom/shadow/pseudoclass-update-enabled-anchor.html

fast/dom/shadow/pseudoclass-update-enabled-area.html
fast/dom/shadow/pseudoclass-update-enabled-button.html
fast/dom/shadow/pseudoclass-update-enabled-fieldset.html
fast/dom/shadow/pseudoclass-update-enabled-input.html
fast/dom/shadow/pseudoclass-update-enabled-optgroup.html
fast/dom/shadow/pseudoclass-update-enabled-option.html
fast/dom/shadow/pseudoclass-update-enabled-select.html
fast/dom/shadow/pseudoclass-update-enabled-textarea.html

  • html/HTMLAnchorElement.cpp:

(WebCore::HTMLAnchorElement::parseAttribute):

  • html/HTMLFormControlElement.cpp:

(WebCore::HTMLFormControlElement::disabledAttributeChanged):

  • html/HTMLOptGroupElement.cpp:

(WebCore::HTMLOptGroupElement::parseAttribute):

  • html/HTMLOptionElement.cpp:

(WebCore::HTMLOptionElement::parseAttribute):

LayoutTests:

Currently :enabled matches an anchor/area/link element yet. I marked these tests as Failure.

  • fast/dom/shadow/pseudoclass-update-enabled-anchor-expected.html: Added.
  • fast/dom/shadow/pseudoclass-update-enabled-anchor.html: Added.
  • fast/dom/shadow/pseudoclass-update-enabled-area-expected.html: Added.
  • fast/dom/shadow/pseudoclass-update-enabled-area.html: Added.
  • fast/dom/shadow/pseudoclass-update-enabled-button-expected.html: Added.
  • fast/dom/shadow/pseudoclass-update-enabled-button.html: Added.
  • fast/dom/shadow/pseudoclass-update-enabled-fieldset-expected.html: Added.
  • fast/dom/shadow/pseudoclass-update-enabled-fieldset.html: Added.
  • fast/dom/shadow/pseudoclass-update-enabled-input-expected.html: Added.
  • fast/dom/shadow/pseudoclass-update-enabled-input.html: Added.
  • fast/dom/shadow/pseudoclass-update-enabled-optgroup-expected.txt: Added.
  • fast/dom/shadow/pseudoclass-update-enabled-optgroup.html: Added.
  • fast/dom/shadow/pseudoclass-update-enabled-option-expected.txt: Added.
  • fast/dom/shadow/pseudoclass-update-enabled-option.html: Added.
  • fast/dom/shadow/pseudoclass-update-enabled-select-expected.html: Added.
  • fast/dom/shadow/pseudoclass-update-enabled-select.html: Added.
  • fast/dom/shadow/pseudoclass-update-enabled-textarea-expected.html: Added.
  • fast/dom/shadow/pseudoclass-update-enabled-textarea.html: Added.
  • platform/chromium/TestExpectations:
  • platform/efl/TestExpectations:
7:51 PM Changeset in webkit [134882] by arv@chromium.org
  • 3 edits in trunk/Source/WebCore

Update DOMException name: ValidationError
https://bugs.webkit.org/show_bug.cgi?id=102416

Reviewed by Kentaro Hara.

Patch 16 of 25 to update DOMException name to match the spec and Firefox.

VALIDATION_ERR is historical and not used in any spec or our code.

  • dom/DOMCoreException.cpp:
  • dom/ExceptionCode.h:
7:41 PM Changeset in webkit [134881] by haraken@chromium.org
  • 4 edits in trunk/Source/WebCore

[V8] Remove IsSubType() from CodeGeneratorV8.pm
https://bugs.webkit.org/show_bug.cgi?id=102348

Reviewed by Adam Barth.

CodeGenerator.pm has IsStrictSubType(). CodeGeneratorV8.pm should use it.

No tests. No change in behavior.

  • bindings/scripts/CodeGenerator.pm:

(IsSubType):

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateImplementation):

  • bindings/scripts/CodeGeneratorV8.pm:

(GenerateHeader):
(GetInternalFields):
(GenerateNormalAttrGetter):
(GenerateNormalAttrSetter):
(GenerateFunctionCallback):
(GenerateImplementationIndexer):
(GenerateToV8Converters):

7:40 PM Changeset in webkit [134880] by commit-queue@webkit.org
  • 9 edits
    4 adds in trunk/Source/WebKit/chromium

Provide page/window coordinates to plugin's local coordinates translation in WebPluginContainer.
https://bugs.webkit.org/show_bug.cgi?id=102339

Patch by Istiaque Ahmed <lazyboy@chromium.org> on 2012-11-15
Reviewed by Adam Barth.

This change will allow converting a page's window coordinates to plugins's local coordinates,
taking CSS transformations into account. Embedder page of the plugin can use this information
for targetting elements inside the plugin (e.g. devtools can inspect a specific element at the
local coordinate position inside plugin).

  • WebKit.gyp:
  • WebKit.gypi:
  • public/WebNode.h:

(WebKit):

  • public/WebPluginContainer.h:

(WebKit):
(WebPluginContainer):

  • src/WebFrameImpl.cpp:

(WebKit::WebFrameImpl::executeCommand):
(WebKit::WebFrameImpl::printBegin):
(WebKit::WebFrameImpl::isPrintScalingDisabledForPlugin):

  • src/WebNode.cpp:

(WebKit::WebNode::pluginContainer):
(WebKit):

  • src/WebPluginContainerImpl.cpp:

(WebKit::WebPluginContainerImpl::windowToLocalPoint):
(WebKit):

  • src/WebPluginContainerImpl.h:

(WebPluginContainerImpl):

  • tests/FakeWebPlugin.cpp: Added.

(WebKit):
(WebKit::FakeWebPlugin::FakeWebPlugin):
(WebKit::FakeWebPlugin::~FakeWebPlugin):
(WebKit::FakeWebPlugin::initialize):
(WebKit::FakeWebPlugin::destroy):

  • tests/FakeWebPlugin.h: Added.

(WebKit):
(FakeWebPlugin):

  • tests/WebPluginContainerTest.cpp: Added.

(WebKit):
(WebPluginContainerTest):
(WebKit::WebPluginContainerTest::WebPluginContainerTest):
(WebKit::WebPluginContainerTest::TearDown):
(WebKit::getWebPluginContainer):
(WebKit::TEST_F):

  • tests/data/plugin_container.html: Added.
7:29 PM Changeset in webkit [134879] by arv@chromium.org
  • 10 edits in trunk

Update DOMException name: NamespaceError
https://bugs.webkit.org/show_bug.cgi?id=102395

Reviewed by Kentaro Hara.

Source/WebCore:

Patch 14 of 25 to update DOMException name to match the spec and Firefox.

Updated existing tests.

  • dom/DOMCoreException.cpp:

LayoutTests:

Updated tests and expectations.

  • fast/dom/EntityReference/readonly-exceptions-expected.txt:
  • fast/dom/SelectorAPI/not-supported-namespace-in-selector-expected.txt:
  • fast/dom/node-prefix-setter-namespace-exception-expected.txt:
  • fast/dom/script-tests/setAttributeNS-prefix-and-null-namespace.js:
  • fast/dom/setAttributeNS-prefix-and-null-namespace-expected.txt:
  • fast/xpath/attr-namespace-expected.txt:
  • fast/xpath/py-dom-xpath/nodetests-expected.txt:
7:10 PM Changeset in webkit [134878] by commit-queue@webkit.org
  • 7 edits in trunk/Source

Add Settings to disable custom scrollbars on main frame
https://bugs.webkit.org/show_bug.cgi?id=102323

Patch by Tien-Ren Chen <trchen@chromium.org> on 2012-11-15
Reviewed by Adam Barth.

Custom scrollbars on main frame don't really work well on touch devices.
Add a setting to inhibit their creation.

Source/WebCore:

No new tests. No change in default layout behavior.

  • page/FrameView.cpp:

(WebCore::FrameView::createScrollbar):

  • page/Settings.in:

Source/WebKit/chromium:

  • public/WebSettings.h:
  • src/WebSettingsImpl.cpp:

(WebKit::WebSettingsImpl::setAllowCustomScrollbarInMainFrame):
(WebKit):

  • src/WebSettingsImpl.h:

(WebSettingsImpl):

6:45 PM Changeset in webkit [134877] by Lucas Forschler
  • 4 edits in trunk/Source

Versioning.

6:38 PM Changeset in webkit [134876] by Lucas Forschler
  • 1 copy in tags/Safari-537.19

New Tag.

6:28 PM Changeset in webkit [134875] by Lucas Forschler
  • 4 edits in branches/safari-536.28-branch/Source

Versioning.

6:28 PM Changeset in webkit [134874] by commit-queue@webkit.org
  • 11 edits
    5 adds in trunk

custom CSS cursors ignore hotspot values embedded in CUR files
https://bugs.webkit.org/show_bug.cgi?id=100059

Patch by Rick Byers <rbyers@chromium.org> on 2012-11-15
Reviewed by Kenneth Russell.

Source/WebCore:

Add reading the hotspot values to the ICOImageDecoder (for CUR files only),
and plumb it through so that the existing calls to ImageSource::getHotSpot
actually return the hot spot value when there is one.

Tests: fast/events/mouse-cursor.html, fast/events/mouse-cursor-multiframecur.html

  • platform/graphics/ImageSource.cpp:

(WebCore::ImageSource::getHotSpot):

  • platform/graphics/chromium/DeferredImageDecoder.cpp:

(WebCore::DeferredImageDecoder::hotSpot):
(WebCore::DeferredImageDecoder::hotSpotAtIndex):

  • platform/graphics/chromium/DeferredImageDecoder.h:

(DeferredImageDecoder):

  • platform/image-decoders/ImageDecoder.h:

(WebCore::ImageDecoder::hotSpot):
(WebCore::ImageDecoder::hotSpotAtIndex):
(ImageDecoder):

  • platform/image-decoders/ico/ICOImageDecoder.cpp:

(WebCore::ICOImageDecoder::hotSpot):
(WebCore::ICOImageDecoder::hotSpotAtIndex):
(WebCore::ICOImageDecoder::processDirectory):
(WebCore::ICOImageDecoder::readDirectoryEntry):

  • platform/image-decoders/ico/ICOImageDecoder.h:

(ICOImageDecoder):
(IconDirectoryEntry):

LayoutTests:

Add mouse cursor test cases that use CUR files that have embedded hotspot values.

  • fast/events/mouse-cursor-expected.txt:
  • fast/events/mouse-cursor-multiframecur-expected.txt: Added.
  • fast/events/mouse-cursor-multiframecur.html: Copied from LayoutTests/fast/events/mouse-cursor.html.
  • fast/events/mouse-cursor.html:
  • fast/events/resources/greenbox-3frames.cur: Added.
  • fast/events/resources/greenbox-hotspot35-4.cur: Added.
  • fast/events/resources/greenbox-hotspot5-4.cur: Added.
  • platform/mac/TestExpectations: Skip the multi-frame case on mac because it causes a hang
6:24 PM Changeset in webkit [134873] by commit-queue@webkit.org
  • 14 edits
    2 adds in trunk/Source/WebKit2

Coordinated Graphics: Refactor code related to directly composited images.
https://bugs.webkit.org/show_bug.cgi?id=101023

Patch by Huang Dongsung <luxtella@company100.net> on 2012-11-15
Reviewed by Noam Rosenthal.

Internal Review by Gwang Yoon Hwang and Jae Hyun Park.

Currently, LayerTreeCoordinator manages composited images using
ShareableBitmap. This patch introduces CoordinatedImageBacking which
plays a role in managing composited images. CoordinatedImageBacking makes us
gather code related to a directly composited image into a single class.

We create only one CoordinatedImageBacking per image. For example, in the leaves
demo, we create only 3 textures of leaves.

  • CMakeLists.txt:
  • Shared/WebLayerTreeInfo.h:

(WebKit::WebLayerInfo::WebLayerInfo):
(WebLayerInfo):

  • Target.pri:
  • UIProcess/CoordinatedGraphics/CoordinatedBackingStore.cpp:

(WebKit::CoordinatedBackingStoreTile::swapBuffers):

  • UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:

(WebKit::LayerTreeCoordinatorProxy::createImageBacking):
(WebKit::LayerTreeCoordinatorProxy::updateImageBacking):
(WebKit):
(WebKit::LayerTreeCoordinatorProxy::removeImageBacking):

  • UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h:

(LayerTreeCoordinatorProxy):

  • UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.messages.in:
  • UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:

(WebKit::LayerTreeRenderer::setLayerState):
(WebKit::LayerTreeRenderer::createImageBacking):
(WebKit::LayerTreeRenderer::updateImageBacking):
(WebKit::LayerTreeRenderer::removeImageBacking):
(WebKit):
(WebKit::LayerTreeRenderer::assignImageBackingToLayer):
(WebKit::LayerTreeRenderer::removeReleasedImageBackingsIfNeeded):
(WebKit::LayerTreeRenderer::flushLayerChanges):
(WebKit::LayerTreeRenderer::purgeGLResources):

  • UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:

(LayerTreeRenderer):

  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:

(WebCore::CoordinatedGraphicsLayer::setContentsToImage):
(WebCore::CoordinatedGraphicsLayer::syncImageBacking):
(WebCore::CoordinatedGraphicsLayer::releaseImageBackingIfNeeded):
(WebCore::CoordinatedGraphicsLayer::beginContentUpdate):

  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:

(CoordinatedGraphicsLayerClient):
(CoordinatedGraphicsLayer):

  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedImageBacking.cpp: Added.

(WebKit):
(WebKit::CoordinatedImageBacking::getCoordinatedImageBackingID):
(WebKit::CoordinatedImageBacking::create):
(WebKit::CoordinatedImageBacking::CoordinatedImageBacking):
(WebKit::CoordinatedImageBacking::~CoordinatedImageBacking):
(WebKit::CoordinatedImageBacking::addLayerClient):
(WebKit::CoordinatedImageBacking::removeLayerClient):
(WebKit::CoordinatedImageBacking::markDirty):
(WebKit::CoordinatedImageBacking::update):
(WebKit::CoordinatedImageBacking::releaseSurfaceIfNeeded):

  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedImageBacking.h: Added.

(WebCore):
(WebKit):
(CoordinatedImageBacking):
(Coordinator):
(WebKit::CoordinatedImageBacking::id):

  • WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:

(WebKit::LayerTreeCoordinator::flushPendingLayerChanges):
(WebKit::LayerTreeCoordinator::createImageBackingIfNeeded):
(WebKit::LayerTreeCoordinator::createImageBacking):
(WebKit::LayerTreeCoordinator::updateImageBacking):
(WebKit::LayerTreeCoordinator::removeImageBacking):
(WebKit::LayerTreeCoordinator::flushPendingImageBackingChanges):
(WebKit::LayerTreeCoordinator::purgeBackingStores):

  • WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:

(LayerTreeCoordinator):

5:58 PM Changeset in webkit [134872] by aestes@apple.com
  • 27 edits
    5 adds in branches/safari-536.28-branch

Merge r116629 and r127534.

2012-09-04 Sergey Glazunov <serg.glazunov@gmail.com>

Frame element doesn't always unload its child frame.
https://bugs.webkit.org/show_bug.cgi?id=94717

Reviewed by Hajime Morita.

Source/WebCore:

It's possible for a frame element that has been removed from the document
to retain an active child frame. This inconsistent state may become a source
of security vulnerabilities.

The patch adds a global HashSet to store the nodes currently processed by
ChildFrameDisconnector. Insertion into these nodes' subtrees is not allowed until
the processing is complete.

Also, the ChildFrameDisconnector call in removeChild(ren) is now immediately
followed by the actual removal.

Test: fast/frames/out-of-document-iframe-has-child-frame.html

  • dom/ContainerNode.cpp:

(WebCore::willRemoveChildren): Move the ChildFrameDisconnector call out of a loop.
(WebCore::ContainerNode::removeChild): Rearrange some event firing code.
(WebCore::ContainerNode::removeChildren): Ditto.

  • dom/ContainerNodeAlgorithms.cpp:

(WebCore::ChildFrameDisconnector::collectDescendant): Pass a new parameter to collectDescendant(Node*).

  • dom/ContainerNodeAlgorithms.h:

(WebCore::ChildFrameDisconnector::ChildFrameDisconnector):
(ChildFrameDisconnector): Maintain a list of nodes that have an active ChildFrameDisconnector.
(WebCore::ChildFrameDisconnector::~ChildFrameDisconnector):
(WebCore::ChildFrameDisconnector::rootNodes):
(WebCore::ChildFrameDisconnector::collectDescendant): Add ShouldIncludeRoot parameter.
(WebCore::ChildFrameDisconnector::nodeHasDisconnector):
(WebCore):

  • dom/Node.cpp:

(WebCore::checkAcceptChild): Reject a parent node if it or one of its parents has an active ChildFrameDisconnector.

  • html/HTMLFrameElementBase.cpp:

(WebCore::HTMLFrameElementBase::didNotifySubtreeInsertions): Check if an element is still in the document.

2012-05-10 MORITA Hajime <morrita@google.com>

Remove support for Node::willRemove()
https://bugs.webkit.org/show_bug.cgi?id=55209

Reviewed by Ryosuke Niwa.

This change de-virtualizes Node::willRemove(), gains
5% speedup on Dromaeo dom-modify.

Originally there were 5 willRemove() overrides:

  • Element
  • HTMLStyleElement
  • HTMLSourceElement
  • HTMLTrackElement
  • HTMLFrameOwnerElement

For first 4 items, this change moves their implementations to
Node::removedFrom() overrides.

Then HTMLFrameOwnerElement is the only class which needs the
notification. Because it emits the "unload" event, it needs some
notification _before_ its removal. To handle that, this change
introduces ChildFrameDisconnector which collects
corresponding decendant elements and disconnect their content frame.

Even though this approach doesn't kill pre-removal tree traversal
completely, it's a bit more efficient due to the de-virtualization.

No new tests. Covered by existing test.

  • dom/ContainerNode.cpp:

(WebCore::willRemoveChild): Replaced willRemove() call with ChildFrameDisconnector.
(WebCore::willRemoveChildren): Ditto.
(WebCore::ContainerNode::disconnectDescendantFrames): Added. Used from FrameLoader to replace Document::willRemove() call.
(WebCore):

  • dom/ContainerNode.h:

(ContainerNode):

  • dom/ContainerNodeAlgorithms.cpp:

(WebCore::ChildFrameDisconnector::collectDescendant):
(WebCore):
(WebCore::ChildFrameDisconnector::Target::disconnect):

  • dom/ContainerNodeAlgorithms.h:

(ChildFrameDisconnector):
(Target):
(WebCore::ChildFrameDisconnector::Target::Target):
(WebCore::ChildFrameDisconnector::Target::isValid):
(WebCore):
(WebCore::ChildFrameDisconnector::ChildFrameDisconnector):
(WebCore::ChildFrameDisconnector::collectDescendant):
(WebCore::ChildFrameDisconnector::disconnect):

  • dom/Element.cpp:

(WebCore::Element::removedFrom):

  • dom/Element.h:
  • dom/ElementShadow.cpp:
  • dom/ElementShadow.h:

(ElementShadow):

  • dom/Node.cpp:
  • dom/Node.h: Added IsFrameOwnerElement flag to de-virtualize IsFrameOwnerElement().

(WebCore::Node::isFrameOwnerElement): De-virtualized.
(Node):

  • html/HTMLElement.h:

(HTMLElement):
(WebCore::HTMLElement::HTMLElement):

  • html/HTMLFrameOwnerElement.cpp:

(WebCore::HTMLFrameOwnerElement::HTMLFrameOwnerElement):
(WebCore::HTMLFrameOwnerElement::disconnectContentFrame): Extracted from original willRemove().

  • html/HTMLFrameOwnerElement.h:

(HTMLFrameOwnerElement):
(WebCore::toFrameOwnerElement):
(WebCore):

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::sourceWasRemoved): Renamed from sourceWillBeRemoved(), dealing with the timing change.

  • html/HTMLMediaElement.h:

(HTMLMediaElement):
(WebCore::isMediaElement):
(WebCore):
(WebCore::toMediaElement):

  • html/HTMLSourceElement.cpp:

(WebCore::HTMLSourceElement::removedFrom): Moved some code from willRemove().

  • html/HTMLSourceElement.h:

(HTMLSourceElement):

  • html/HTMLStyleElement.cpp:

(WebCore::HTMLStyleElement::removedFrom):
(WebCore):

  • html/HTMLStyleElement.h:

(HTMLStyleElement):

  • html/HTMLTrackElement.cpp:

(WebCore::HTMLTrackElement::removedFrom): Moved some code from willRemove().

  • html/HTMLTrackElement.h:

(HTMLTrackElement):

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::clear):

LayoutTests:

  • fast/frames/out-of-document-iframe-has-child-frame-expected.txt: Added.
  • fast/frames/out-of-document-iframe-has-child-frame.html: Added.
  • fast/innerHTML/innerHTML-iframe-expected.txt:
  • platform/chromium/fast/frames/out-of-document-iframe-has-child-frame-expected.txt: Added.
  • platform/chromium/fast/innerHTML: Added.
  • platform/chromium/fast/innerHTML/innerHTML-iframe-expected.txt: Added.
5:55 PM Changeset in webkit [134871] by bashi@chromium.org
  • 10 edits in trunk/Source/WebCore

Make OpenTypeVerticalData be ref-counted
https://bugs.webkit.org/show_bug.cgi?id=101971

Reviewed by Tony Chang.

FontCache::purgeInactiveFontData() uses mark & sweep algorithm to remove unused
OpenTypeVerticalData objects. It marks only OpenTypeVerticalData which can be reached
via SimpleFontData in gFontDataCache. However, OpenTypeVerticalData can be referred by
SimpleFontData which resides in CSSFontFaceSource::m_fontDataTable so the algorithm can
delete active OpenTypeVerticalData. To avoid deleting active OpenTypeVerticalData, make
it be ref-counted.

No new tests. No changes in behavior. Checked manually that the use-after-free was fixed.

  • platform/graphics/FontCache.cpp:

(WebCore): Use RefPtr instead of OwnPtr for FontVerticalDataCache.
(WebCore::FontCache::getVerticalData): Return PassRefPtr<OpenTypeVerticalData>.
(WebCore::FontCache::purgeInactiveFontData): Follow the change of OwnPtr -> RefPtr.

  • platform/graphics/FontCache.h:
  • platform/graphics/SimpleFontData.cpp:

(WebCore::SimpleFontData::SimpleFontData):

  • platform/graphics/SimpleFontData.h:

Use RefPtr instead of raw const pointer for OpenTypeVerticalData.
(WebCore::SimpleFontData::verticalData):

  • platform/graphics/chromium/FontPlatformDataChromiumWin.cpp:

(WebCore::FontPlatformData::verticalData): Return PassRefPtr<OpenTypeVerticalData>.

  • platform/graphics/chromium/FontPlatformDataChromiumWin.h:

(FontPlatformData):

  • platform/graphics/harfbuzz/FontPlatformDataHarfBuzz.cpp:

(WebCore::FontPlatformData::verticalData): Ditto.

  • platform/graphics/harfbuzz/FontPlatformDataHarfBuzz.h:

(WebCore):
(FontPlatformData):

  • platform/graphics/opentype/OpenTypeVerticalData.h:

(WebCore::OpenTypeVerticalData::create): Added.
(OpenTypeVerticalData):

5:39 PM Changeset in webkit [134870] by bashi@chromium.org
  • 2 edits in trunk/LayoutTests

Use complex path for the reference text in fast/text/international/combining-marks-position.html
https://bugs.webkit.org/show_bug.cgi?id=101009

Reviewed by Kent Tamura.

Arial has a kerning pair for U+043A U+0430 so the width of the text can be
different between simple path and complex path. Use text-rendering: optimizeLegibility
to force using complex text for reference text.

  • fast/text/international/combining-marks-position.html:
5:32 PM Changeset in webkit [134869] by roger_fong@apple.com
  • 2 edits in trunk/LayoutTests

Unreviewed. Skipped media/video-src-blob.html on Windows.
Blob not enabled on Windows.

  • platform/win/TestExpectations:
5:22 PM Changeset in webkit [134868] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit2

Coordinated Graphics: A Minor optimization of calculating transforms in CoordinagedGraphicsLayer.
https://bugs.webkit.org/show_bug.cgi?id=102309

We calculate an inverse transform each tiledBackingStoreVisibleRect() call by
a TiledBackingStore and every tiles.
This patch caches the inverse transform to reuse it.

Patch by Huang Dongsung <luxtella@company100.net> on 2012-11-15
Reviewed by Noam Rosenthal.

  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:

(WebCore::CoordinatedGraphicsLayer::tiledBackingStoreVisibleRect):
(WebCore::CoordinatedGraphicsLayer::computeTransformedVisibleRect):

  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:

(CoordinatedGraphicsLayer):

5:19 PM Changeset in webkit [134867] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Optimize the multiply-add in Biquad.cpp::process
https://bugs.webkit.org/show_bug.cgi?id=75528

Patch by Xingnan Wang <xingnan.wang@intel.com> on 2012-11-15
Reviewed by Brent Fulgham.

Pipeline the multiply-add with SSE2 intrinsics.
Get ~45% performance improvement for the function.

  • platform/audio/Biquad.cpp:

(WebCore::Biquad::process):

5:14 PM Changeset in webkit [134866] by dgrogan@chromium.org
  • 13 edits
    6 deletes in trunk/LayoutTests

IndexedDB: setVersion batch 8
https://bugs.webkit.org/show_bug.cgi?id=102434

Reviewed by Tony Chang.

2 lines were added to intversion-bad-parameters to capture the tests
that were in the now-deleted setVersion-{null,undefined}.

  • storage/indexeddb/intversion-bad-parameters-expected.txt:
  • storage/indexeddb/key-generator-expected.txt:
  • storage/indexeddb/open-during-transaction-expected.txt:
  • storage/indexeddb/readonly-properties-expected.txt:
  • storage/indexeddb/resources/intversion-bad-parameters.js:

(deleteSuccess):

  • storage/indexeddb/resources/key-generator.js: Again awkward to call indexedDBTest all over the place. The prefix line's gotta go, and we could also pull a resetDatabase method out of indexedDBTest that would just do a delete and open.

(runTests.nextTest.prepareDatabase):
(runTests.nextTest.onSuccess.finishTest):
(runTests.nextTest.onSuccess):
(runTests.nextTest):
(testAcrossConnections.prepareDatabase):

  • storage/indexeddb/resources/open-during-transaction.js:

(prepareDatabase.event.target.transaction.oncomplete):
(prepareDatabase):
(tryOpens):

  • storage/indexeddb/resources/readonly-properties.js:

(prepareDatabase):

  • storage/indexeddb/resources/setVersion-null.js: Removed.
  • storage/indexeddb/resources/setVersion-undefined.js: Removed.
  • storage/indexeddb/resources/transaction-after-close.js:

(prepareDatabase):
(firstTransactionComplete):
(onFinalPutSuccess):

  • storage/indexeddb/resources/versionchangerequest-activedomobject.js:

(testSetVersion):
(upgradeNeededCallback):
(successCallback):

  • storage/indexeddb/setVersion-null-expected.txt: Removed.
  • storage/indexeddb/setVersion-null.html: Removed.
  • storage/indexeddb/setVersion-undefined-expected.txt: Removed.
  • storage/indexeddb/setVersion-undefined.html: Removed.
  • storage/indexeddb/transaction-after-close-expected.txt:
  • storage/indexeddb/versionchangerequest-activedomobject-expected.txt:
5:07 PM Changeset in webkit [134865] by alecflett@chromium.org
  • 11 edits
    2 adds in trunk

Add tests for explicit serialization values
https://bugs.webkit.org/show_bug.cgi?id=96818

Reviewed by Adam Barth.

Source/WebCore:

Expose direct access to the serialization/deserialization mechanisms
of SerializedScriptValue to DumpRenderTree.

  • testing/Internals.cpp:

(WebCore::Internals::serializeObject):
(WebCore):
(WebCore::Internals::deserializeBuffer):

  • testing/Internals.h:

(WebCore):

  • testing/Internals.idl:

Source/WebKit2:

Add exports for SerializedScriptValue changes.

  • win/WebKit2.def:
  • win/WebKit2CFLite.def:

LayoutTests:

Make sure SerializedScriptValues are backward compatible with future changes.

  • platform/chromium/fast/storage/serialized-script-value.html: Added.
  • platform/chromium/fast/storage/serialized-script-value.txt: Added.
5:05 PM Changeset in webkit [134864] by kov@webkit.org
  • 11 edits in trunk

[GTK] Split WebCore/platform into a separate library
https://bugs.webkit.org/show_bug.cgi?id=94435

Reviewed by Martin Robinson.

More people have been reporting problems when linking WebCore because
the command line limit is being exceeded. Splitting WebCore a bit more
is in order.

.:

  • GNUmakefile.am: add variable that will hold the list of source files

for libWebCorePlatform .

Source/WebCore:

  • GNUmakefile.am: add new libWebCorePlatform convenience library.
  • GNUmakefile.list.am: move list of platform/* files to its own variable.

Source/WebKit/gtk:

  • GNUmakefile.am: link libWebCorePlatform into libwebkitgtk

Source/WebKit2:

  • GNUmakefile.am: link libWebCorePlatform into libwebkit2gtk

Tools:

  • GNUmakefile.am: link libWebCorePlatform into DRT
4:56 PM Changeset in webkit [134863] by roger_fong@apple.com
  • 1 edit
    4 adds in trunk/LayoutTests

Unreviewed. Add missing text test expectations for Mac and Windows ports.

  • platform/mac/css3/filters/effect-reference-ordering-hw-expected.txt: Added.
  • platform/mac/fast/css/text-overflow-input-expected.txt: Added.
  • platform/mac/fast/forms/input-readonly-dimmed-expected.txt: Added.
  • platform/mac/fast/forms/input-text-scroll-left-on-blur-expected.txt: Added.
4:50 PM Changeset in webkit [134862] by Lucas Forschler
  • 1 copy in tags/Safari-536.28.1

New Tag.

4:49 PM Changeset in webkit [134861] by macpherson@chromium.org
  • 2 edits in trunk/Source/WebCore

Remove unused macro HANDLE_INHERIT_AND_INITIAL_WITH_VALUE in StyleResolver.cpp
https://bugs.webkit.org/show_bug.cgi?id=102036

Reviewed by Darin Adler.

Remove HANDLE_INHERIT_AND_INITIAL_WITH_VALUE macro, as it is not used anywhere.

No tests added because code is unused, and compile is enough to verify that conculsively.

  • css/StyleResolver.cpp:
4:47 PM Changeset in webkit [134860] by jianli@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed. Updated chromium test expectations to clean up some passed
tests.

  • platform/chromium/TestExpectations:
4:42 PM Changeset in webkit [134859] by arv@chromium.org
  • 85 edits in trunk

Update DOMException name: SyntaxError
https://bugs.webkit.org/show_bug.cgi?id=102279

Reviewed by Kentaro Hara.

Source/WebCore:

Patch 12 of 25 to update DOMException name to match the spec and Firefox.

Updated existing tests.

  • dom/DOMCoreException.cpp:

LayoutTests:

Updated tests and expectations.

  • fast/canvas/canvas-gradient-addStop-error-expected.txt:
  • fast/canvas/canvas-pattern-behaviour-expected.txt:
  • fast/canvas/gradient-addColorStop-with-invalid-color-expected.txt:
  • fast/canvas/script-tests/gradient-addColorStop-with-invalid-color.js:
  • fast/css/css3-nth-tokens-script-expected.txt:
  • fast/css/css3-nth-tokens-script.html:
  • fast/dom/HTMLElement/insertAdjacentHTML-errors-expected.txt:
  • fast/dom/HTMLElement/script-tests/insertAdjacentHTML-errors.js:
  • fast/dom/HTMLElement/set-invalid-value-expected.txt:
  • fast/dom/HTMLElement/set-invalid-value.html:
  • fast/dom/SelectorAPI/dumpNodeList-almost-strict-expected.txt:
  • fast/dom/SelectorAPI/dumpNodeList-expected.txt:
  • fast/dom/Window/custom-constructors-expected.txt:
  • fast/dom/Window/invalid-protocol-expected.txt:
  • fast/dom/css-mediarule-functions-expected.txt:
  • fast/dom/css-mediarule-functions.html:
  • fast/dom/dataset-expected.txt:
  • fast/dom/dataset-xhtml-expected.txt:
  • fast/dom/element-attribute-js-null-expected.txt:
  • fast/dom/register-protocol-handler.html:
  • fast/dom/script-tests/dataset-xhtml.js:
  • fast/dom/script-tests/dataset.js:
  • fast/dom/xhtml-fragment-parsing-exceptions-expected.txt:
  • fast/dynamic/insertAdjacentHTML-expected.txt:
  • fast/eventsource/eventsource-constructor-expected.txt:
  • fast/innerHTML/innerHTML-changing-document-properties-expected.txt:
  • fast/mutation/observe-exceptions-expected.txt:
  • fast/workers/worker-constructor-expected.txt:
  • http/tests/security/postMessage/invalid-origin-throws-exception-expected.txt:
  • http/tests/security/postMessage/target-origin-expected.txt:
  • http/tests/websocket/tests/hybi/bad-sub-protocol-empty-expected.txt:
  • http/tests/websocket/tests/hybi/bad-sub-protocol-non-ascii-expected.txt:
  • http/tests/websocket/tests/hybi/close-expected.txt:
  • http/tests/websocket/tests/hybi/close-reason-too-long-expected.txt:
  • http/tests/websocket/tests/hybi/close-reason-too-long.html:
  • http/tests/websocket/tests/hybi/close.html:
  • http/tests/websocket/tests/hybi/invalid-subprotocol-characters-expected.txt:
  • http/tests/websocket/tests/hybi/invalid-subprotocol-characters.html:
  • http/tests/websocket/tests/hybi/invalid-subprotocols-expected.txt:
  • http/tests/websocket/tests/hybi/invalid-subprotocols.html:
  • http/tests/websocket/tests/hybi/url-parsing-expected.txt:
  • http/tests/xmlhttprequest/inject-header-expected.txt:
  • http/tests/xmlhttprequest/xmlhttprequest-open-empty-method-expected.txt:
  • http/tests/xmlhttprequest/xmlhttprequest-setrequestheader-no-name-expected.txt:
  • platform/chromium-linux/fast/media/mq-js-media-except-02-expected.png:
  • platform/chromium-linux/fast/media/mq-js-media-except-03-expected.png:
  • platform/chromium-mac/fast/dom/SelectorAPI/dumpNodeList-almost-strict-expected.txt:
  • platform/chromium-mac/fast/dom/SelectorAPI/dumpNodeList-expected.txt:
  • platform/chromium-win/fast/dom/SelectorAPI/dumpNodeList-almost-strict-expected.txt:
  • platform/chromium-win/fast/dom/SelectorAPI/dumpNodeList-expected.txt:
  • platform/chromium-win/fast/media/mq-js-media-except-02-expected.txt:
  • platform/chromium-win/fast/media/mq-js-media-except-03-expected.txt:
  • platform/chromium-win/fast/workers/worker-constructor-expected.txt:
  • platform/chromium-win/websocket/tests/bad-sub-protocol-non-ascii-expected.txt:
  • platform/chromium-win/websocket/tests/url-parsing-expected.txt:
  • platform/chromium/canvas/philip/tests/2d.missingargs-expected.txt:
  • platform/chromium/fast/dom/register-protocol-handler-expected.txt:
  • platform/chromium/fast/media/mq-js-media-except-02-expected.txt:
  • platform/chromium/fast/media/mq-js-media-except-03-expected.txt:
  • platform/chromium/fast/workers/worker-constructor-expected.txt:
  • platform/chromium/http/tests/websocket/tests/hixie76/url-parsing-expected.txt:
  • platform/chromium/http/tests/websocket/tests/hybi/bad-sub-protocol-control-chars-expected.txt:
  • platform/chromium/http/tests/websocket/tests/hybi/url-parsing-expected.txt:
  • platform/efl/fast/media/mq-js-media-except-02-expected.txt:
  • platform/efl/fast/media/mq-js-media-except-03-expected.txt:
  • platform/gtk/fast/media/mq-js-media-except-02-expected.txt:
  • platform/gtk/fast/media/mq-js-media-except-03-expected.txt:
  • platform/mac/canvas/philip/tests/2d.missingargs-expected.txt:
  • platform/mac/fast/media/mq-js-media-except-02-expected.txt:
  • platform/mac/fast/media/mq-js-media-except-03-expected.txt:
  • platform/qt-5.0-wk2/http/tests/websocket/tests/hybi/bad-sub-protocol-non-ascii-expected.txt:
  • platform/qt/fast/media/mq-js-media-except-02-expected.txt:
  • platform/qt/fast/media/mq-js-media-except-03-expected.txt:
  • platform/qt/http/tests/websocket/tests/hixie76/bad-sub-protocol-non-ascii-expected.txt:
  • platform/qt/http/tests/websocket/tests/hybi/bad-sub-protocol-non-ascii-expected.txt:
  • svg/dom/SVGAngle-expected.txt:
  • transforms/cssmatrix-2d-interface-expected.txt:
  • transforms/cssmatrix-3d-interface-expected.txt:
  • webintents/web-intents-api-expected.txt:
  • webintents/web-intents-api.html:
  • webintents/web-intents-obj-constructor-expected.txt:
  • webintents/web-intents-obj-constructor.html:
4:40 PM Changeset in webkit [134858] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

CallData.h should have correct indentation.

Rubber stamped by Mark Hahneberg.

  • runtime/CallData.h:

(JSC):

4:39 PM Changeset in webkit [134857] by jamesr@google.com
  • 2 edits in trunk/LayoutTests

Clean up some TestExpectations for tests that pass now.

  • platform/chromium/TestExpectations:
4:37 PM Changeset in webkit [134856] by fpizlo@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Remove methodCallDummy since it is not used anymore.

Rubber stamped by Mark Hahnenberg.

  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::reset):
(JSC):
(JSC::JSGlobalObject::visitChildren):

  • runtime/JSGlobalObject.h:

(JSGlobalObject):

4:30 PM Changeset in webkit [134855] by bfulgham@webkit.org
  • 2 edits in trunk/Source/WebCore

[Win] key event's location does not work on Windows platform.
https://bugs.webkit.org/show_bug.cgi?id=89742

Patch by Takashi Sakamoto <tasak@google.com> on 2012-11-15
Reviewed by Brent Fulgham.

As WM_KEYDOWN, WM_KEYUP, WM_SYSKEYDOWN, and WM_SYSKEYUP doesn't
directly provide a virtual keycode which distinguish between left-hand
and right-hand keys. To obtain a virtual keycode, we have to look at
lparam, i.e. scancode and extended key bit. So if the given virtual
keycode is control, shift, or menu, use MapVirtualKey with scancode and
extended key bit and recreate a virtual keycode which distinguishes
between left-hand and right-hand.

No new tests, because left-hand keys, right-hand keys layout tests
have been already added.

  • platform/win/KeyEventWin.cpp:

(WebCore::windowsKeycodeWithLocation):
Use wparam and lparam to recreate a virtual keycode which distinguishes
between left-hand and right-hand if the given wparam (=virtual keycode)
is control, shift, or menu.
(WebCore):
(WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
Use the newly added function to obtain windows virtual keycode.

4:29 PM Changeset in webkit [134854] by dgrogan@chromium.org
  • 15 edits in trunk/LayoutTests

IndexedDB setVersion-removal batch 7
https://bugs.webkit.org/show_bug.cgi?id=102415

Reviewed by Tony Chang.

  • storage/indexeddb/mozilla/object-store-remove-values-expected.txt:
  • storage/indexeddb/mozilla/readyState-expected.txt:
  • storage/indexeddb/mozilla/resources/object-store-remove-values.js:
  • storage/indexeddb/mozilla/resources/readyState.js: Moved one check into shared.js, a few others around, and the check for setVersion's request.readyState==pending is deleted.
  • storage/indexeddb/mozilla/resources/versionchange-abort.js: First test I've converted that makes the initial open fail, but request.onsuccess is unhooked to not cause the whole test to fail.

(prepareDatabase):
(postAbort):

  • storage/indexeddb/mozilla/versionchange-abort-expected.txt:
  • storage/indexeddb/objectstore-basics-expected.txt:
  • storage/indexeddb/objectstore-basics-workers-expected.txt:
  • storage/indexeddb/odd-strings-expected.txt:
  • storage/indexeddb/readonly-expected.txt:
  • storage/indexeddb/resources/objectstore-basics.js:
  • storage/indexeddb/resources/odd-strings.js:
  • storage/indexeddb/resources/readonly.js: Moved the checks at the beginning to the end of the test, but everything was preserved.
  • storage/indexeddb/resources/shared.js: Moved a check from readyState to here as the readyState layout test doesn't have access to the open request before any events are fired.
4:23 PM Changeset in webkit [134853] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[BlackBerry] Don't assert when notifyAuthReceived is called with a different auth type
https://bugs.webkit.org/show_bug.cgi?id=102436

Patch by Joe Mason <jmason@rim.com> on 2012-11-15
Reviewed by Rob Buis.

The server type could change if we contact a site taking HTTP auth, through an HTTP proxy
taking auth of its own. First we get a 407 from the proxy, and then when get past the
proxy, we get a 401 from the end site - so notifyAuthReceived gets called again with auth
type Proxy instead of HTTP.

The correct thing to do when that happens is skip the "update the auth type in the
credentials" step, since these are actually new credentials and not just credentials being
reused for a different auth type on the same server.

PR 241637

  • platform/network/blackberry/NetworkJob.cpp:

(WebCore::NetworkJob::notifyAuthReceived):

4:23 PM Changeset in webkit [134852] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit/chromium

Ignore autocomplete=off for chrome generated passwords.
https://bugs.webkit.org/show_bug.cgi?id=102426

Patch by Yue Zhang <zysxqn@google.com> on 2012-11-15
Reviewed by Adam Barth.

Record the autocomplete attribute in the web password form data,
so that we can handle autocomplete in chromium code. The
motivation/background is: we should ignore autocomplete=off field
for password forms with chrome generated passwords (has passed
security review). By handling autocomplete in chromium code we can
distinguish password forms with chrome generated passwords and
those normal password forms. Note that we haven't turned off
checking autocomplete=off in the Webkit code for now so there is
no behavior change after this CL, and we will turn off after we
make the chromium side change to be safe.

  • public/WebPasswordFormData.h:

(WebPasswordFormData):

  • src/WebPasswordFormData.cpp:
4:22 PM Changeset in webkit [134851] by schenney@chromium.org
  • 4 edits
    2 adds in trunk

mpath elements do not clear resource lists before destruction
https://bugs.webkit.org/show_bug.cgi?id=101505

Reviewed by Abhishek Arya.

Source/WebCore:

The destructor for SVGMPathElement should clear its resources before
deletion, so as not to leave hanging pointers in resource lists.

Test: svg/animations/mpath-remove-from-dependents-on-delete-crash.html

  • svg/SVGMPathElement.cpp:

(WebCore::SVGMPathElement::~SVGMPathElement): Add destructor that calls clearResourceReferences.
(WebCore):

  • svg/SVGMPathElement.h:

(SVGMPathElement): Add destructor.

LayoutTests:

Test that causes a mpath element to be deleted before the path that it
references.

  • svg/animations/mpath-remove-from-dependents-on-delete-crash-expected.html: Added.
  • svg/animations/mpath-remove-from-dependents-on-delete-crash.html: Added.
4:17 PM Changeset in webkit [134850] by danakj@chromium.org
  • 3 edits in trunk/Tools

[chromium] Stop using the WebCompositorSupport methods for changing settings
https://bugs.webkit.org/show_bug.cgi?id=101968

Reviewed by James Robinson.

  • DumpRenderTree/chromium/TestShell.cpp:
  • DumpRenderTree/chromium/TestShell.h:

(TestShell::setPerTilePaintingEnabled):
(TestShell::setAcceleratedAnimationEnabled):

4:16 PM Changeset in webkit [134849] by haraken@chromium.org
  • 7 edits in trunk/Source/WebCore

Remove CodeGenerator::StripModule
https://bugs.webkit.org/show_bug.cgi?id=102338

Reviewed by Adam Barth.

Now WebKit IDL files have no modules. (The Web IDL spec has no modules.)
We can remove CodeGenerator::StripModule.
This might break some internal builds if the internal builds are still
using modules. Ping haraken@ you observe it.

No tests. No change in behavior.

  • bindings/scripts/CodeGenerator.pm:

(ForAllParents):
(AttributeNameForGetterAndSetter):
(IsStrictSubtype):

  • bindings/scripts/CodeGeneratorCPP.pm:

(GetClassName):
(GetImplClassName):
(GetParentImplClassName):
(GetParent):
(ConversionNeeded):
(GetCPPTypeGetter):
(AddForwardDeclarationsForType):
(AddIncludesForType):
(GenerateImplementation):

  • bindings/scripts/CodeGeneratorGObject.pm:

(GetParentClassName):
(GetParentGObjType):
(GetClassName):

  • bindings/scripts/CodeGeneratorJS.pm:

(GetParentClassName):
(AddIncludesForTypeInImpl):
(AddIncludesForTypeInHeader):
(GenerateParametersCheckExpression):
(GenerateImplementation):
(GenerateParametersCheck):
(GetNativeTypeFromSignature):
(JSValueToNative):
(NativeToJSValue):

  • bindings/scripts/CodeGeneratorObjC.pm:

(GetClassName):
(GetImplClassName):
(GetParentImplClassName):
(GetParentAndProtocols):
(GetPropertyAttributes):
(ConversionNeeded):
(GetObjCTypeGetter):
(AddForwardDeclarationsForType):
(AddIncludesForType):
(GenerateImplementation):

  • bindings/scripts/CodeGeneratorV8.pm:

(AddIncludesForType):
(GenerateHeader):
(IsSubType):
(GenerateSingleBatchedAttribute):
(GenerateImplementation):
(BaseInterfaceName):
(GetTypeFromSignature):
(IsWrapperType):

4:16 PM Changeset in webkit [134848] by roger_fong@apple.com
  • 2 edits in trunk/LayoutTests

Unreviewed. CSS3_TEXT is not enabled on Windows.
Skipping tests:
fast/css3-text/css3-text-align-last/getComputedStyle/getComputedStyle-text-align-last-inherited.html
fast/css3-text/css3-text-align-last/getComputedStyle/getComputedStyle-text-align-last.html
fast/css3-text/css3-text-decoration/getComputedStyle/getComputedStyle-text-decoration-line.html

  • platform/win/TestExpectations:
4:13 PM Changeset in webkit [134847] by schenney@chromium.org
  • 1 edit
    3 adds in trunk/LayoutTests

[Chromium] Test expectations - we're passing!

Unreviewed expectations for canvas-shadow.html

  • platform/chromium-linux-x86/platform/chromium/virtual/gpu/fast/canvas/canvas-shadow-expected.txt: Added.
  • platform/chromium-linux/platform/chromium/virtual/gpu/fast/canvas/canvas-shadow-expected.txt: Added.
  • platform/chromium-win-xp/platform/chromium/virtual/gpu/fast/canvas/canvas-shadow-expected.txt: Added.
4:13 PM Changeset in webkit [134846] by macpherson@chromium.org
  • 2 edits in trunk/Source/WebCore

Make assumptions about m_parentStyle consistent within StyleResolver::applyProperty()
https://bugs.webkit.org/show_bug.cgi?id=101696

Reviewed by Tony Chang.

Most of the code in StyleResolver::applyProperty assumes that isInherit implies that m_parentStyle is available.
This patch ASSERTs that this assumption is correct, and removes the few existing checks to maintain consistency.

No new tests / covered by all existing CSS tests.

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::applyProperty):

4:12 PM Changeset in webkit [134845] by haraken@chromium.org
  • 2 edits in trunk/Source/WebCore

[V8] Remove redundant $interfaceName from function parameters
https://bugs.webkit.org/show_bug.cgi?id=102334

Reviewed by Adam Barth.

'sub func { my $dataNode = shift; my $interfaceName = shift; }'
is redundant. We can get $interfaceName by $dataNode->name.

No tests. No change in behavior.

  • bindings/scripts/CodeGeneratorV8.pm:

(GenerateOpaqueRootForGC):
(GenerateHeader):
(GenerateConstructorGetter):
(GenerateNormalAttrGetter):
(GenerateReplaceableAttrSetter):
(GenerateNormalAttrSetter):
(GenerateOverloadedFunctionCallback):
(GenerateFunctionCallback):
(GenerateOverloadedConstructorCallback):
(GenerateSingleConstructorCallback):
(GenerateConstructorCallback):
(GenerateEventConstructorCallback):
(GenerateTypedArrayConstructorCallback):
(GenerateNamedConstructorCallback):
(GenerateBatchedAttributeData):
(GenerateImplementation):
(GenerateToV8Converters):
(GetNativeTypeForConversions):

4:10 PM Changeset in webkit [134844] by dgrogan@chromium.org
  • 3 edits in trunk/LayoutTests

IndexedDB: remove setVersion from intversion-long-queue
https://bugs.webkit.org/show_bug.cgi?id=102322

Reviewed by Tony Chang.

This test probably doesn't provide as much value as it used to but
tests like this, where there's a long sequence of interdependent
events, have caught stuff for us in the past. There are endless
variants that will all exercise our code differently.

  • storage/indexeddb/intversion-long-queue-expected.txt:
  • storage/indexeddb/resources/intversion-long-queue.js:

(prepareDatabase):
(connection1Success):
(connection1VersionChangeCallback):
(connection2Blocked):
(deleteDatabaseBlockedCallback):
(deleteDatabaseSuccessCallback):
(connection2UpgradeNeeded):
(connection2Success):
(connection2TransactionComplete):
(connection2VersionChangeEvent):
(connection3UpgradeNeeded):
(connection3Success):

3:46 PM Changeset in webkit [134843] by Simon Fraser
  • 3 edits in trunk/Source/WebCore

Ensure that scrollbar layers show debug borders
https://bugs.webkit.org/show_bug.cgi?id=102429

Reviewed by Anders Carlsson.

After r133517, scrollbar layers no longer showed debug borders, which
was very confusing. Fix this by explicitly calling setShowDebugBorder()
on the scrollbar-related layers owned by RenderLayerCompositor
and RenderLayerBacking.

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::updateDebugIndicators):

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::cacheAcceleratedCompositingFlags):
(WebCore::RenderLayerCompositor::updateOverflowControlsLayers):

3:43 PM Changeset in webkit [134842] by akling@apple.com
  • 2 edits in trunk/Source/WebCore

ASSERTION FAILED: fastAttributeLookupAllowed(name) for 7 layout tests
<http://webkit.org/b/102423>

Reviewed by Anders Carlsson.

Use Element::getAttributeItem() to find out if the element has a given attribute
instead of fastHasAttribute() since that causes assertions for the "style" attribute.

  • html/parser/HTMLConstructionSite.cpp:

(WebCore::HTMLConstructionSite::mergeAttributesFromTokenIntoElement):

3:33 PM Changeset in webkit [134841] by roger_fong@apple.com
  • 2 edits
    2 adds in trunk/LayoutTests

Unreviewed. More subpixel layout test rebaselines for Windows.

  • platform/win/fast/multicol/vertical-rl/float-multicol-expected.txt: Added.
  • platform/win/fast/multicol/vertical-rl/nested-columns-expected.txt: Added.
  • platform/win/scrollbars/custom-scrollbar-with-incomplete-style-expected.txt:
3:26 PM Changeset in webkit [134840] by arv@chromium.org
  • 3 edits in trunk/Source/WebCore

Update DOMException name: DOMStringSizeError
https://bugs.webkit.org/show_bug.cgi?id=102089

Reviewed by Ojan Vafai.

Patch 2 of 25 to update DOMException name to match the spec and Firefox.

DOMSTRING_SIZE_ERR is historical and not used in any spec or in our code.

  • dom/DOMCoreException.cpp:
  • dom/ExceptionCode.h:
3:24 PM Changeset in webkit [134839] by arv@chromium.org
  • 8 edits
    4 copies
    1 move
    6 adds in trunk/LayoutTests

Unreviewed gardening.

Rebaselining pixel tests after r102427

  • platform/chromium-mac-lion/svg/custom/baseval-animval-equality-expected.png:
  • platform/chromium-mac-lion/svg/custom/baseval-animval-equality-expected.txt: Copied from LayoutTests/platform/gtk/svg/custom/baseval-animval-equality-expected.txt.
  • platform/chromium-mac-lion/svg/dom/SVGLengthList-basics-expected.png:
  • platform/chromium-mac-snowleopard/svg/custom/baseval-animval-equality-expected.png:
  • platform/chromium-mac-snowleopard/svg/custom/baseval-animval-equality-expected.txt: Copied from LayoutTests/platform/gtk/svg/custom/baseval-animval-equality-expected.txt.
  • platform/chromium-mac-snowleopard/svg/dom/SVGLengthList-basics-expected.png:
  • platform/chromium-mac/svg/dom/SVGLengthList-basics-expected.png:
  • platform/chromium-win-xp/svg/custom/baseval-animval-equality-expected.png: Added.
  • platform/chromium-win-xp/svg/dom/SVGLengthList-basics-expected.png: Added.
  • platform/efl-wk1/svg/dom/SVGLengthList-basics-expected.png: Renamed from LayoutTests/platform/efl/svg/dom/SVGLengthList-basics-expected.png.
  • platform/gtk/svg/custom/baseval-animval-equality-expected.txt:
  • platform/mac-lion/svg/custom/baseval-animval-equality-expected.txt: Copied from LayoutTests/platform/gtk/svg/custom/baseval-animval-equality-expected.txt.
  • platform/mac-wk2/svg/custom/baseval-animval-equality-expected.txt: Copied from LayoutTests/platform/gtk/svg/custom/baseval-animval-equality-expected.txt.
  • platform/qt/svg/custom/baseval-animval-equality-expected.txt:
3:17 PM Changeset in webkit [134838] by jsbell@chromium.org
  • 3 edits
    2 adds in trunk

IndexedDB: Indexing tests are flaky-crashing
https://bugs.webkit.org/show_bug.cgi?id=102283

Reviewed by Tony Chang.

Source/WebCore:

Processing the final task can cause IDBTransactionBackendImpl references to be released
by all holders. Prior to looping over the tasks (or, in an even earlier implementation,
swapping queues) control would fall off the end of the function. The loop termination
check introduced in http://wkrev.com/134529 requires that |this| be kept alive until
the method completes.

Test: storage/indexeddb/transaction-crash-in-tasks.html

  • Modules/indexeddb/IDBTransactionBackendImpl.cpp:

(WebCore::IDBTransactionBackendImpl::abort): Rename self => protect.
(WebCore::IDBTransactionBackendImpl::commit): Rename self => protect.
(WebCore::IDBTransactionBackendImpl::taskTimerFired): New self-ref.

LayoutTests:

Reduced repro case, although the behavior is still flaky.

  • storage/indexeddb/transaction-crash-in-tasks-expected.txt: Added.
  • storage/indexeddb/transaction-crash-in-tasks.html: Added.
3:01 PM Changeset in webkit [134837] by commit-queue@webkit.org
  • 2 edits in trunk/Source

[chromium] Create default directory so that cq can apply patch
https://bugs.webkit.org/show_bug.cgi?id=102421

Patch by Scott Violet <sky@chromium.org> on 2012-11-15
Reviewed by Tony Chang.

Done in hopes of patch that copies files to this directory working.

Source/Platform:

  • chromium/public/default: Added.

Source/WebKit/chromium:

  • public/platform/default: Added.
2:56 PM Changeset in webkit [134836] by roger_fong@apple.com
  • 1 edit
    1 add in trunk/LayoutTests

Unreviewed. HiDPI is not enabled on Windows (as indicated by test result). Adding failing expected result.

  • platform/win/fast/canvas/canvas-resize-reset-pixelRatio-expected.txt: Added.
2:42 PM Changeset in webkit [134835] by roger_fong@apple.com
  • 2 edits in trunk/LayoutTests

Unreviewed. WebGL not supported on Windows. Skipping fast/images/webgl-teximage2d.html.

  • platform/win/TestExpectations:
2:27 PM Changeset in webkit [134834] by Lucas Forschler
  • 8 edits
    3 copies in branches/safari-536.28-branch

Merged r127595. <rdar://problem/12516304>

2:07 PM Changeset in webkit [134833] by danakj@chromium.org
  • 2 edits in trunk/Source/Platform

[chromium] Remove unused debug border setters from the WebLayer API
https://bugs.webkit.org/show_bug.cgi?id=102274

Reviewed by James Robinson.

  • chromium/public/WebLayer.h:

(WebLayer):

2:07 PM Changeset in webkit [134832] by jianli@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed. Update chromium test expectations.

  • platform/chromium/TestExpectations:
2:01 PM Changeset in webkit [134831] by Lucas Forschler
  • 2 edits in branches/safari-536.28-branch/Source/WTF

Merged r134797. <rdar://problem/12711314>

1:48 PM Changeset in webkit [134830] by commit-queue@webkit.org
  • 7 edits
    2 adds in trunk

MutationObserver wrapper should not be collected while still observing
https://bugs.webkit.org/show_bug.cgi?id=102328

Patch by Elliott Sprehn <esprehn@chromium.org> on 2012-11-15
Reviewed by Adam Barth.

Source/WebCore:

Make MutationObserver an ActiveDOMObject so that the wrapper is not
collected while it is still observing the DOM. This is needed because
the wrapper is passed into the callback and expandos on the wrapper
should be preserved.

Test: fast/mutation/observer-wrapper-dropoff.html

  • bindings/js/JSMutationObserverCustom.cpp:

(WebCore::JSMutationObserverConstructor::constructJSMutationObserver):

  • bindings/v8/custom/V8MutationObserverCustom.cpp:

(WebCore::V8MutationObserver::constructorCallback):

  • dom/MutationObserver.cpp:

(WebCore::MutationObserver::create):
(WebCore::MutationObserver::MutationObserver):
(WebCore::MutationObserver::observationStarted):
(WebCore::MutationObserver::observationEnded):

  • dom/MutationObserver.h:

(WebCore):

  • dom/MutationObserver.idl:

LayoutTests:

Test that a MutationObserver wrapper is not collected while the observer
is still observing since the wrapper must be passed into the callback
later.

  • fast/mutation/observer-wrapper-dropoff-expected.txt: Added.
  • fast/mutation/observer-wrapper-dropoff.html: Added.
1:44 PM Changeset in webkit [134829] by Lucas Forschler
  • 4 edits in branches/safari-536.28-branch/Source/WebCore

Merged r134083. <rdar://problem/12673139>

1:41 PM Changeset in webkit [134828] by tony@chromium.org
  • 19 edits
    2 adds in trunk

Generate Settings from a .in file
https://bugs.webkit.org/show_bug.cgi?id=100393

Reviewed by Adam Barth.

.:

Generate SettingsMacros.h for cmake.

  • Source/cmake/WebKitMacros.cmake:

Source/WebCore:

Generate most settings from an .in file to reduce human mistakes and
to make it easier to add/remove new settings.

I only moved settings that are easy to move at this point. There are many more that
have some minor naming inconsistencies that we can also move to Settings.in, but I'll
do that in a follow up patch.

This doesn't generate SettingInternals.* yet-- we can do that in a follow up patch.

No new tests, this is a refactor.

  • CMakeLists.txt:
  • DerivedSources.make: Run make_settings.pl.
  • DerivedSources.pri: Run make_settings.pl.
  • GNUmakefile.am: Run make_settings.pl.
  • GNUmakefile.list.am:
  • WebCore.exp.in: Remove functions that are now inline in the header.
  • WebCore.gyp/WebCore.gyp: Run action_makenames.py, which will run make_settings.pl.
  • WebCore.gyp/scripts/action_makenames.py:

(main): Allow make_settings.pl.

  • WebCore.order: Remove functions that are now inline in the header.
  • html/ValidationMessage.cpp:

(WebCore::ValidationMessage::setMessageDOMAndStartTimer): Fix a typo in "magnification".

  • page/Settings.cpp:

(WebCore::Settings::Settings): Replace generated settings with SETTINGS_INITIALIZER_LIST.

  • page/Settings.h:

(Settings): Replace generated settings with SETTINGS_GETTERS_AND_SETTERS and SETTINGS_MEMBER_VARIABLES.

  • page/Settings.in: Added.
  • page/make_settings.pl: Added.

(defaultItemFactory):
(generateCode):
(generateHeader): Use a similar model as make_names.pl.
(printConditionalMacros):
(printGettersAndSetters):
(printMemberVariables):
(printGetterAndSetter):
(printInitializerList):
(printInitializer):

Tools:

Add the generated WebCore files to the include dir.

  • TestWebKitAPI/CMakeLists.txt:
  • WebKitTestRunner/CMakeLists.txt:
1:38 PM Changeset in webkit [134827] by Lucas Forschler
  • 2 edits in branches/safari-536.28-branch/Source/WebKit/mac

Merged r133977. <rdar://problem/12674097>

1:36 PM Changeset in webkit [134826] by Lucas Forschler
  • 2 edits in branches/safari-536.28-branch/Source/WebCore

Merged r130449. <rdar://problem/12536387>

1:34 PM Changeset in webkit [134825] by dgrogan@chromium.org
  • 2 edits
    1 move
    2 adds
    2 deletes in trunk/LayoutTests

IndexedDB: setVersion test conversion batch 6
https://bugs.webkit.org/show_bug.cgi?id=102318

Reviewed by Tony Chang.

Salvaged the useful parts of intversion-and-setversion as
intversion-upgrades.

  • storage/indexeddb/intversion-and-setversion-expected.txt: Removed.
  • storage/indexeddb/intversion-upgrades-expected.txt: Added.
  • storage/indexeddb/intversion-upgrades.html: Renamed from LayoutTests/storage/indexeddb/intversion-and-setversion.html.
  • storage/indexeddb/resources/intversion-and-setversion.js: Removed.
  • storage/indexeddb/resources/intversion-upgrades.js: Added.

(test):
(deleteSuccess):
(initialUpgradeNeeded):
(openSuccess):
(connection1VersionChangeCallback):
(connection2BlockedCallback):
(connection2UpgradeNeeded):
(transactionCompleted):
(connection2Success):
(connection3Success):
(errorWhenTryingLowVersion):
(connection4UpgradeNeeded):
(connection4Success):
(connection5Success):

  • storage/indexeddb/resources/shared.js:

(unexpectedVersionChangeCallback):

1:25 PM Changeset in webkit [134824] by roger_fong@apple.com
  • 2 edits in trunk/Tools

Make old-run-webkit-tests handle setting the results directory properly.
https://bugs.webkit.org/show_bug.cgi?id=102273
<rdar://problem/11571607>

Reviewed by Timothy Horton.

A call to chdirWebkit in old-run-webkit-tests set the current working directory to the OpenSource folder.
Thus setting --results-directory to OpenSource/layout-test-results would create OpenSource/layout-test-results inside the main OpenSource folder.
This caused many other problems including failure to upload test results and failed future test runs.
The solution is to save the current working directory before calling chdirWebKit and then reconstructing the full path to the results directory
using the saved directory when setting $testResultsDirectory.

  • Scripts/old-run-webkit-tests:
1:13 PM FeatureFlags edited by rbyers@chromium.org
(diff)
12:58 PM Changeset in webkit [134823] by Lucas Forschler
  • 1 copy in tags/Safari-536.27.3

New Tag.

12:57 PM Changeset in webkit [134822] by hclam@chromium.org
  • 8 edits in trunk/Source/WebCore

[chromium] Refactoring to move logic of creating lazy decoded SkBitmap into DeferredImageDecoder
https://bugs.webkit.org/show_bug.cgi?id=102019

Reviewed by Stephen White.

Goal of this change is to keep ImageDecodingStore clean and only do
image caching. Logic of creating lazily decoded SkBitmaps is moved into
DeferredImageDecoder.

In particular these two methods are moved:

  • ImageDecodingStore::createLazyDecodedSkBitmap
  • ImageDecodingStore::resizeLazyDecodedSkBitmap

No new tests. There is no new code (really). It is just moved from
ImageDecodingStore to DeferredImageDecoder.

No change in behavior. Code is tested with:
Unit tests: webkit_unit_tests
Layout test: platform/chromium/virtual/deferred

  • platform/graphics/chromium/DeferredImageDecoder.cpp:

(WebCore::DeferredImageDecoder::isLazyDecoded):
(WebCore):
(WebCore::DeferredImageDecoder::resizeLazyDecodedSkBitmap):
(WebCore::DeferredImageDecoder::frameBufferAtIndex):
(WebCore::DeferredImageDecoder::setData):
(WebCore::DeferredImageDecoder::createLazyDecodedSkBitmap):

  • platform/graphics/chromium/DeferredImageDecoder.h:

(WebCore):
(DeferredImageDecoder):

  • platform/graphics/chromium/ImageDecodingStore.cpp:
  • platform/graphics/chromium/ImageDecodingStore.h:

(ImageDecodingStore):

  • platform/graphics/chromium/ImageFrameGenerator.cpp:

(WebCore::ImageFrameGenerator::ImageFrameGenerator):

  • platform/graphics/chromium/ImageFrameGenerator.h:

(WebCore::ImageFrameGenerator::create):
(ImageFrameGenerator):

  • platform/graphics/skia/NativeImageSkia.cpp:

(WebCore::NativeImageSkia::resizedBitmap):

12:57 PM Changeset in webkit [134821] by Lucas Forschler
  • 2 edits in branches/safari-536.27-branch/Source/WTF

Merged r134797 -> <rdar://problem/12711308>

12:55 PM Changeset in webkit [134820] by andersca@apple.com
  • 9 edits in trunk/Source/WebKit2

Consolidate four accelerated compositing WKView methods into a single method
https://bugs.webkit.org/show_bug.cgi?id=102419

Reviewed by Andreas Kling.

Add a single -[WKView _setAcceleratedCompositingModeRootLayer:] method and have
the existing PageClientImpl member functions call it. Also, add a new
PageClient member function, setAcceleratedCompositingRootLayer.

  • UIProcess/API/mac/PageClientImpl.h:
  • UIProcess/API/mac/PageClientImpl.mm:

(WebKit::PageClientImpl::enterAcceleratedCompositingMode):
(WebKit::PageClientImpl::exitAcceleratedCompositingMode):
(WebKit::PageClientImpl::updateAcceleratedCompositingMode):
(WebKit::PageClientImpl::setAcceleratedCompositingRootLayer):

  • UIProcess/API/mac/WKView.mm:

(-[WKView _processDidCrash]):
(-[WKView _setAcceleratedCompositingModeRootLayer:]):

  • UIProcess/API/mac/WKViewInternal.h:
  • UIProcess/PageClient.h:
  • UIProcess/WebPageProxy.h:
  • UIProcess/mac/RemoteLayerTreeHost.mm:

(WebKit::RemoteLayerTreeHost::commit):

  • UIProcess/mac/WebPageProxyMac.mm:

(WebKit::WebPageProxy::setAcceleratedCompositingRootLayer):

12:54 PM Changeset in webkit [134819] by dgrogan@chromium.org
  • 15 edits in trunk/LayoutTests

IndexedDB test conversions batch 5
https://bugs.webkit.org/show_bug.cgi?id=102308

Reviewed by Tony Chang.

  • storage/indexeddb/mozilla/cursor-update-updates-indexes-expected.txt:
  • storage/indexeddb/mozilla/event-source-expected.txt:
  • storage/indexeddb/mozilla/global-data-expected.txt:
  • storage/indexeddb/mozilla/key-requirements-put-null-key-expected.txt:
  • storage/indexeddb/mozilla/odd-result-order-expected.txt:
  • storage/indexeddb/mozilla/remove-objectstore-expected.txt:
  • storage/indexeddb/mozilla/resources/cursor-update-updates-indexes.js: Calls indexedDBTest a bunch of times, which seems awkward, but is really convenient.
  • storage/indexeddb/mozilla/resources/event-source.js: Now that setVersion is gone, it appears that no request should have a database as a source so the dropped test is ok.
  • storage/indexeddb/mozilla/resources/global-data.js:

(prepareDatabase):
(open2Success):

  • storage/indexeddb/mozilla/resources/key-requirements-put-null-key.js:

(prepareDatabase):

  • storage/indexeddb/mozilla/resources/odd-result-order.js: The tests had to be run in slightly different order but they are all preserved.

(prepareDatabase):
(openSuccess):
(deleteSuccess):

  • storage/indexeddb/mozilla/resources/remove-objectstore.js:

(prepareDatabase):
(checkObjectStore):
(inSetVersion2.request.onsuccess):
(inSetVersion2):
(setVersion3):
(inSetVersion3):
(deleteThirdObjectStore):

  • storage/indexeddb/objectstore-removeobjectstore-expected.txt:
  • storage/indexeddb/resources/objectstore-removeobjectstore.js:

(getValue):
(checkResult):
(addIndex):
(deleteObjectStore):
(createObjectStoreAgain):

12:54 PM Changeset in webkit [134818] by roger_fong@apple.com
  • 3 edits in trunk/Source/WebCore

Unreviewed. Build fix for Windows after r134767.

Update vsprops and vcproj files to reflect changes to file locations in r134767.

  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.vcproj/WebCoreCommon.vsprops:
12:38 PM Changeset in webkit [134817] by commit-queue@webkit.org
  • 8 edits in trunk/Source/WebCore

Track subframe count to avoid traversing the tree when there's no subframes
https://bugs.webkit.org/show_bug.cgi?id=101821

Patch by Elliott Sprehn <esprehn@chromium.org> on 2012-11-15
Reviewed by Ojan Vafai.

Bug 101619 showed a 9-14% improvement from not walking the children during
removeChild looking for frames when there's known to be no frames. The fix
in that bug only avoids this walk when the whole document has no frames, this
patch extends it to skip traversing subtrees that have no iframes by hooking
the frame assignment to walk up the tree and keep track of the count of frames
in the subtree on contentFrame assignment and then decrement it on disconnect.

No new tests, this is just a perf refactor.

  • dom/ContainerNode.cpp:

(WebCore::willRemoveChildren):

  • dom/ContainerNodeAlgorithms.cpp:

(WebCore::ChildFrameDisconnector::collectFrameOwners):

  • dom/ContainerNodeAlgorithms.h:

(WebCore::ChildFrameDisconnector::ChildFrameDisconnector):
(ChildFrameDisconnector):
(WebCore::ChildFrameDisconnector::collectFrameOwners):

Renamed from collectDescendant() to better reflect what it really does.

(WebCore::ChildFrameDisconnector::disconnectCollectedFrameOwners):

Renamed from disconnect() to better reflect what it really does.

(WebCore::ChildFrameDisconnector::disconnect):

New method that does the collection of frame owners on either the root
or only it's descendants.

  • dom/Node.cpp:

(WebCore::Node::connectedSubframeCount):
(WebCore::Node::incrementConnectedSubframeCount):
(WebCore::Node::decrementConnectedSubframeCount):

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

(WebCore::NodeRareData::NodeRareData):
(WebCore::NodeRareData::connectedSubframeCount):
(WebCore::NodeRareData::incrementConnectedSubframeCount):
(WebCore::NodeRareData::decrementConnectedSubframeCount):

  • html/HTMLFrameOwnerElement.cpp:

(WebCore::HTMLFrameOwnerElement::setContentFrame):
(WebCore::HTMLFrameOwnerElement::disconnectContentFrame):

12:35 PM Changeset in webkit [134816] by hclam@chromium.org
  • 3 edits
    2 adds in trunk

[chromium] WebGL texImage2D fails with deferred image decoding
https://bugs.webkit.org/show_bug.cgi?id=102310

Reviewed by Kenneth Russell.

Source/WebCore:

Skia's implementation of GraphicsContext3D::getImageData() uses ImageSource
to decode an image. When deferred image decoding is enabled this class
generates an ImageFrame marked as incomplete, which WebGL rejects. This results
in failing of texImage2D.

This change uses ImageDecoder directly instead of ImageSource. This skips
the code path of deferred image decoding. This behavior is correct because
GraphicsContext3D wants to decode the image differently with alpha not
premultiplied and color profile applied optionally.

Added a test to prove this change fixed the bug.

Test: fast/images/webgl-teximage2d.html

  • platform/graphics/skia/GraphicsContext3DSkia.cpp:

(WebCore::GraphicsContext3D::getImageData):

LayoutTests:

Added a test to exercise texImage2D with an Image object.

  • fast/images/webgl-teximage2d-expected.txt: Added.
  • fast/images/webgl-teximage2d.html: Added.
12:34 PM Changeset in webkit [134815] by schenney@chromium.org
  • 55 edits
    41 adds
    22 deletes in trunk/LayoutTests

Test rebaselines after SK_IGNORE_FAST_BLURRECT has been removed

Unreviewed test expectations update.

  • fast/box-shadow/single-pixel-shadow-expected.png: Added.
  • platform/chromium-linux-x86/fast/box-shadow: Removed.
  • platform/chromium-linux-x86/fast/box-shadow/single-pixel-shadow-expected.png: Removed.
  • platform/chromium-linux-x86/fast/repaint/transform-replaced-shadows-expected.png: Added.
  • platform/chromium-linux-x86/svg/filters/shadow-on-rect-with-filter-expected.png:
  • platform/chromium-linux/fast/box-shadow/single-pixel-shadow-expected.png: Removed.
  • platform/chromium-linux/fast/repaint/shadow-multiple-horizontal-expected.png:
  • platform/chromium-linux/fast/repaint/shadow-multiple-strict-horizontal-expected.png:
  • platform/chromium-linux/fast/repaint/shadow-multiple-strict-vertical-expected.png:
  • platform/chromium-linux/fast/repaint/transform-replaced-shadows-expected.png: Added.
  • platform/chromium-mac-lion/compositing/shadows/shadow-drawing-expected.png:
  • platform/chromium-mac-lion/fast/box-shadow/basic-shadows-expected.png:
  • platform/chromium-mac-lion/fast/box-shadow/box-shadow-transformed-expected.png:
  • platform/chromium-mac-lion/fast/canvas/canvas-incremental-repaint-expected.png:
  • platform/chromium-mac-lion/fast/repaint/box-shadow-h-expected.png:
  • platform/chromium-mac-lion/fast/repaint/box-shadow-v-expected.png:
  • platform/chromium-mac-lion/fast/repaint/shadow-multiple-horizontal-expected.png: Added.
  • platform/chromium-mac-lion/fast/repaint/shadow-multiple-strict-horizontal-expected.png: Added.
  • platform/chromium-mac-lion/fast/repaint/shadow-multiple-strict-vertical-expected.png: Added.
  • platform/chromium-mac-lion/fast/repaint/shadow-multiple-vertical-expected.png:
  • platform/chromium-mac-lion/fast/repaint/transform-replaced-shadows-expected.png: Added.
  • platform/chromium-mac-lion/fast/transforms/shadows-expected.png:
  • platform/chromium-mac-lion/platform/chromium/virtual/softwarecompositing/shadows/shadow-drawing-expected.png:
  • platform/chromium-mac-lion/svg/css/group-with-shadow-expected.png:
  • platform/chromium-mac-lion/svg/filters/shadow-on-rect-with-filter-expected.png: Added.
  • platform/chromium-mac-snowleopard/compositing/shadows/shadow-drawing-expected.png:
  • platform/chromium-mac-snowleopard/fast/box-shadow/basic-shadows-expected.png:
  • platform/chromium-mac-snowleopard/fast/box-shadow/box-shadow-transformed-expected.png:
  • platform/chromium-mac-snowleopard/fast/box-shadow/single-pixel-shadow-expected.png: Removed.
  • platform/chromium-mac-snowleopard/fast/repaint/box-shadow-h-expected.png:
  • platform/chromium-mac-snowleopard/fast/repaint/box-shadow-v-expected.png:
  • platform/chromium-mac-snowleopard/fast/repaint/shadow-multiple-horizontal-expected.png:
  • platform/chromium-mac-snowleopard/fast/repaint/shadow-multiple-strict-horizontal-expected.png:
  • platform/chromium-mac-snowleopard/fast/repaint/shadow-multiple-strict-vertical-expected.png:
  • platform/chromium-mac-snowleopard/fast/repaint/shadow-multiple-vertical-expected.png:
  • platform/chromium-mac-snowleopard/fast/repaint/transform-replaced-shadows-expected.png: Added.
  • platform/chromium-mac-snowleopard/platform/chromium/virtual/softwarecompositing/shadows/shadow-drawing-expected.png:
  • platform/chromium-mac-snowleopard/svg/filters/shadow-on-rect-with-filter-expected.png:
  • platform/chromium-mac/compositing/shadows/shadow-drawing-expected.png:
  • platform/chromium-mac/fast/box-shadow/basic-shadows-expected.png:
  • platform/chromium-mac/fast/box-shadow/box-shadow-clipped-slices-expected.png:
  • platform/chromium-mac/fast/box-shadow/box-shadow-radius-expected.png:
  • platform/chromium-mac/fast/box-shadow/box-shadow-transformed-expected.png:
  • platform/chromium-mac/fast/box-shadow/scaled-box-shadow-expected.png:
  • platform/chromium-mac/fast/box-shadow/single-pixel-shadow-expected.png:
  • platform/chromium-mac/fast/canvas/canvas-incremental-repaint-expected.png:
  • platform/chromium-mac/fast/canvas/canvas-shadow-expected.txt: Removed.
  • platform/chromium-mac/fast/repaint/box-shadow-h-expected.png:
  • platform/chromium-mac/fast/repaint/box-shadow-v-expected.png:
  • platform/chromium-mac/fast/repaint/shadow-multiple-horizontal-expected.png: Added.
  • platform/chromium-mac/fast/repaint/shadow-multiple-strict-horizontal-expected.png: Added.
  • platform/chromium-mac/fast/repaint/shadow-multiple-strict-vertical-expected.png: Added.
  • platform/chromium-mac/fast/repaint/shadow-multiple-vertical-expected.png:
  • platform/chromium-mac/fast/repaint/transform-replaced-shadows-expected.png: Added.
  • platform/chromium-mac/fast/transforms/shadows-expected.png:
  • platform/chromium-mac/platform/chromium/virtual/softwarecompositing/shadows/shadow-drawing-expected.png:
  • platform/chromium-mac/svg/css/group-with-shadow-expected.png:
  • platform/chromium-mac/svg/filters/shadow-on-rect-with-filter-expected.png:
  • platform/chromium-win-xp/compositing/shadows/shadow-drawing-expected.png:
  • platform/chromium-win-xp/fast/box-shadow: Removed.
  • platform/chromium-win-xp/fast/box-shadow/single-pixel-shadow-expected.png: Removed.
  • platform/chromium-win-xp/fast/repaint/box-shadow-h-expected.png: Added.
  • platform/chromium-win-xp/fast/repaint/box-shadow-v-expected.png: Added.
  • platform/chromium-win-xp/fast/repaint/shadow-multiple-horizontal-expected.png: Added.
  • platform/chromium-win-xp/fast/repaint/shadow-multiple-strict-horizontal-expected.png: Added.
  • platform/chromium-win-xp/fast/repaint/shadow-multiple-strict-vertical-expected.png: Added.
  • platform/chromium-win-xp/fast/repaint/shadow-multiple-vertical-expected.png: Added.
  • platform/chromium-win-xp/fast/repaint/transform-replaced-shadows-expected.png: Added.
  • platform/chromium-win-xp/fast/transforms/shadows-expected.png: Added.
  • platform/chromium-win-xp/platform/chromium/virtual/softwarecompositing/shadows: Added.
  • platform/chromium-win-xp/platform/chromium/virtual/softwarecompositing/shadows/shadow-drawing-expected.png: Added.
  • platform/chromium-win-xp/svg/css/group-with-shadow-expected.png:
  • platform/chromium-win-xp/svg/filters/shadow-on-rect-with-filter-expected.png:
  • platform/chromium-win/compositing/shadows/shadow-drawing-expected.png:
  • platform/chromium-win/fast/box-shadow/basic-shadows-expected.png:
  • platform/chromium-win/fast/box-shadow/box-shadow-clipped-slices-expected.png:
  • platform/chromium-win/fast/box-shadow/box-shadow-transformed-expected.png:
  • platform/chromium-win/fast/box-shadow/single-pixel-shadow-expected.png:
  • platform/chromium-win/fast/canvas/canvas-incremental-repaint-expected.png:
  • platform/chromium-win/fast/canvas/canvas-shadow-expected.txt: Added.
  • platform/chromium-win/fast/repaint/shadow-multiple-horizontal-expected.png:
  • platform/chromium-win/fast/repaint/shadow-multiple-strict-horizontal-expected.png:
  • platform/chromium-win/fast/repaint/shadow-multiple-strict-vertical-expected.png:
  • platform/chromium-win/fast/repaint/transform-replaced-shadows-expected.png:
  • platform/chromium/TestExpectations:
  • platform/chromium/fast/repaint/shadow-multiple-horizontal-expected.png: Removed.
  • platform/chromium/fast/repaint/shadow-multiple-strict-horizontal-expected.png: Removed.
  • platform/chromium/fast/repaint/shadow-multiple-strict-vertical-expected.png: Removed.
  • platform/efl-wk1/compositing/shadows: Added.
  • platform/efl-wk1/compositing/shadows/shadow-drawing-expected.png: Added.
  • platform/efl-wk1/fast/box-shadow: Added.
  • platform/efl-wk1/fast/box-shadow/basic-shadows-expected.png: Added.
  • platform/efl-wk1/fast/box-shadow/box-shadow-clipped-slices-expected.png: Added.
  • platform/efl-wk1/fast/box-shadow/box-shadow-transformed-expected.png: Added.
  • platform/efl-wk1/fast/box-shadow/scaled-box-shadow-expected.png: Added.
  • platform/efl-wk1/fast/canvas: Added.
  • platform/efl-wk1/fast/canvas/canvas-incremental-repaint-expected.png: Added.
  • platform/efl-wk1/fast/repaint/shadow-multiple-horizontal-expected.png: Added.
  • platform/efl-wk1/fast/repaint/shadow-multiple-strict-horizontal-expected.png: Added.
  • platform/efl-wk1/fast/repaint/shadow-multiple-strict-vertical-expected.png: Added.
  • platform/efl-wk1/fast/repaint/shadow-multiple-vertical-expected.png: Added.
  • platform/efl-wk1/fast/transforms: Added.
  • platform/efl-wk1/fast/transforms/shadows-expected.png: Added.
  • platform/efl-wk1/svg/css: Added.
  • platform/efl-wk1/svg/css/group-with-shadow-expected.png: Added.
  • platform/efl/compositing/shadows/shadow-drawing-expected.png: Removed.
  • platform/efl/fast/box-shadow/basic-shadows-expected.png: Removed.
  • platform/efl/fast/box-shadow/box-shadow-clipped-slices-expected.png: Removed.
  • platform/efl/fast/box-shadow/box-shadow-transformed-expected.png: Removed.
  • platform/efl/fast/box-shadow/scaled-box-shadow-expected.png: Removed.
  • platform/efl/fast/box-shadow/single-pixel-shadow-expected.png: Removed.
  • platform/efl/fast/canvas/canvas-incremental-repaint-expected.png: Removed.
  • platform/efl/fast/repaint/shadow-multiple-horizontal-expected.png: Removed.
  • platform/efl/fast/repaint/shadow-multiple-strict-horizontal-expected.png: Removed.
  • platform/efl/fast/repaint/shadow-multiple-strict-vertical-expected.png: Removed.
  • platform/efl/fast/repaint/shadow-multiple-vertical-expected.png: Removed.
  • platform/efl/fast/transforms/shadows-expected.png: Removed.
  • platform/efl/svg/css/group-with-shadow-expected.png: Removed.
  • platform/gtk/fast/box-shadow/single-pixel-shadow-expected.png: Removed.
12:29 PM Changeset in webkit [134814] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebCore

Further unreviewed build fix. Add explicit static_casts to avoid implicit precision warnings.

  • platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.mm:

(WebCore::WebCoreAVFResourceLoader::fulfillRequestWithResource):

12:20 PM Changeset in webkit [134813] by fpizlo@apple.com
  • 4 edits in trunk/Source/JavaScriptCore

Structure should be able to easily tell if the prototype chain might intercept a store
https://bugs.webkit.org/show_bug.cgi?id=102326

Reviewed by Geoffrey Garen.

This improves our ability to reason about the correctness of the more optimized
prototype chain walk in JSObject::put(), while also making it straight forward to
check if the prototype chain will do strange things to a property store by just
looking at the structure.

  • runtime/JSObject.cpp:

(JSC::JSObject::put):

  • runtime/Structure.cpp:

(JSC::Structure::prototypeChainMayInterceptStoreTo):
(JSC):

  • runtime/Structure.h:

(Structure):

12:04 PM Changeset in webkit [134812] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebCore

Unreviewed build fix. Avoid implicit precision and unused parameter warnings.

  • platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.mm:

(WebCore::WebCoreAVFResourceLoader::responseReceived):
(WebCore::WebCoreAVFResourceLoader::fulfillRequestWithResource):

12:01 PM Changeset in webkit [134811] by abarth@webkit.org
  • 13 edits in trunk/Source/WebCore

[V8] We shouldn't call deprecated V8 APIs
https://bugs.webkit.org/show_bug.cgi?id=102407

Reviewed by Eric Seidel.

This patch was written by Sven Panne on the V8 team. He would prefer
that we not call deprecated V8 APIs. This patch updates these call
sites to more modern idioms.

  • bindings/scripts/CodeGeneratorV8.pm:

(GenerateConstructorGetter):
(GenerateImplementation):

  • bindings/scripts/test/V8/V8TestObj.cpp:

(WebCore::TestObjV8Internal::TestObjConstructorGetter):

  • bindings/v8/PageScriptDebugServer.cpp:

(WebCore::PageScriptDebugServer::addListener):

  • bindings/v8/ScriptController.cpp:

(WebCore::ScriptController::setContextDebugId):
(WebCore::ScriptController::contextDebugId):

  • bindings/v8/ScriptProfiler.cpp:

(WebCore::ScriptProfiler::objectByHeapObjectId):

  • This code doesn't seem to do anything anymore.
  • bindings/v8/V8DOMConfiguration.h:

(WebCore::V8DOMConfiguration::configureAttribute):

  • bindings/v8/V8DOMWindowShell.cpp:

(WebCore::setInjectedScriptContextDebugId):

  • bindings/v8/V8DOMWrapper.cpp:

(WebCore::V8DOMWrapper::maybeDOMWrapper):
(WebCore::V8DOMWrapper::isWrapperOfType):

  • bindings/v8/V8EventListenerList.h:

(WebCore::V8EventListenerList::doFindWrapper):
(WebCore::V8EventListenerList::findOrCreateWrapper):

  • bindings/v8/WorkerContextExecutionProxy.cpp:

(WebCore::WorkerContextExecutionProxy::initializeIfNeeded):

  • bindings/v8/WrapperTypeInfo.h:

(WebCore::WrapperTypeInfo::unwrap):

11:59 AM Changeset in webkit [134810] by commit-queue@webkit.org
  • 18 edits in trunk

Unreviewed, rolling out r134800 and r134805.
http://trac.webkit.org/changeset/134800
http://trac.webkit.org/changeset/134805
https://bugs.webkit.org/show_bug.cgi?id=102417

This patch broke chromium port (Requested by jianli on
#webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-11-15

Source/Platform:

  • chromium/public/WebRTCPeerConnectionHandlerClient.h:

(WebRTCPeerConnectionHandlerClient):

Source/WebCore:

  • Modules/mediastream/RTCPeerConnection.cpp:

(WebCore::RTCPeerConnection::RTCPeerConnection):
(WebCore::RTCPeerConnection::createOffer):
(WebCore::RTCPeerConnection::createAnswer):
(WebCore::RTCPeerConnection::setLocalDescription):
(WebCore::RTCPeerConnection::localDescription):
(WebCore::RTCPeerConnection::setRemoteDescription):
(WebCore::RTCPeerConnection::remoteDescription):
(WebCore::RTCPeerConnection::updateIce):
(WebCore::RTCPeerConnection::addIceCandidate):
(WebCore::RTCPeerConnection::readyState):
(WebCore::RTCPeerConnection::iceState):
(WebCore::RTCPeerConnection::addStream):
(WebCore::RTCPeerConnection::close):
(WebCore::RTCPeerConnection::stop):
(WebCore::RTCPeerConnection::changeReadyState):
(WebCore::RTCPeerConnection::scheduledEventTimerFired):

  • Modules/mediastream/RTCPeerConnection.h:

(RTCPeerConnection):

  • Modules/mediastream/RTCPeerConnection.idl:
  • dom/EventNames.h:

(WebCore):

  • platform/mediastream/RTCDataChannelDescriptor.cpp:

(WebCore::RTCDataChannelDescriptor::RTCDataChannelDescriptor):
(WebCore::RTCDataChannelDescriptor::readyStateChanged):

  • platform/mediastream/RTCPeerConnectionHandlerClient.h:

(RTCPeerConnectionHandlerClient):

  • platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.cpp:
  • platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.h:

(RTCPeerConnectionHandlerChromium):

Source/WebKit/chromium:

  • src/AssertMatchingEnums.cpp:

Tools:

  • DumpRenderTree/chromium/MockWebRTCPeerConnectionHandler.cpp:

(MockWebRTCPeerConnectionHandler::openDataChannel):

LayoutTests:

  • fast/mediastream/RTCPeerConnection-datachannel-expected.txt:
  • fast/mediastream/RTCPeerConnection-datachannel.html:
11:57 AM Changeset in webkit [134809] by commit-queue@webkit.org
  • 4 edits in trunk/Source

[chromium] Do not mark an event (mouse wheel, scroll update) as handled if nothing was scrolled.
https://bugs.webkit.org/show_bug.cgi?id=102246

Patch by Sadrul Habib Chowdhury <sadrul@chromium.org> on 2012-11-15
Reviewed by James Robinson.

  • src/WebCompositorInputHandlerImpl.cpp:

(WebKit::WebCompositorInputHandlerImpl::handleInputEventInternal):

  • tests/WebCompositorInputHandlerImplTest.cpp:

(MockWebInputHandlerClient):
(WebKit::TEST_F):

11:56 AM Changeset in webkit [134808] by Lucas Forschler
  • 1 edit in branches/safari-536.28-branch/LayoutTests/ChangeLog

Remove trailing .'s from ChangeLog.

11:55 AM Changeset in webkit [134807] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Animate changes to viewport due to input focus changes.
https://bugs.webkit.org/show_bug.cgi?id=102410

Patch by Andrew Lo <anlo@rim.com> on 2012-11-15
Reviewed by Rob Buis.

When changing scroll position or zoom level for input field focus,
animate the change.
Internal PR 231937

Internally reviewed by Mike Fenton.

  • WebKitSupport/InputHandler.cpp:

(BlackBerry::WebKit::InputHandler::ensureFocusTextElementVisible):

11:39 AM Changeset in webkit [134806] by commit-queue@webkit.org
  • 6 edits in trunk/Source/WebCore

Remove Node::aboutToUnload and be more explicit about what it was for
https://bugs.webkit.org/show_bug.cgi?id=102357

Patch by Elliott Sprehn <esprehn@chromium.org> on 2012-11-15
Reviewed by Ryosuke Niwa.

Node::aboutToUnload was confusingly named because it was only called on
the focused node, and it really only existed to support notifying the
embedder that inputs should stop being editable on unload. Instead add
a new method to HTMLInputElement that ends editing and call that
explicitly in the FrameLoader so it's clear what this is about.

No new tests, this is just a refactoring.

  • dom/Node.h:
  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::endEditing):

New method that handles finishing editing.

  • html/HTMLInputElement.h:

(HTMLInputElement):

  • html/TextFieldInputType.cpp:

(WebCore::TextFieldInputType::handleBlurEvent):

Use the new method to reduce code duplication.

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::stopLoading):

Be explicit about what this check was for.

11:22 AM Changeset in webkit [134805] by tommyw@google.com
  • 11 edits in trunk

[chromium] MediaStream API: Add missing WebRTCPeerConnectionHandlerClient::didAddRemoteDataChannel
https://bugs.webkit.org/show_bug.cgi?id=102386

Reviewed by Adam Barth.

Source/Platform:

  • chromium/public/WebRTCPeerConnectionHandlerClient.h:

(WebRTCPeerConnectionHandlerClient):

Source/WebCore:

Existing tests expanded to cover patch.

  • platform/mediastream/RTCDataChannelDescriptor.cpp:

(WebCore::RTCDataChannelDescriptor::RTCDataChannelDescriptor):
(WebCore::RTCDataChannelDescriptor::readyStateChanged):

  • platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.cpp:

(WebCore::RTCPeerConnectionHandlerChromium::didAddRemoteDataChannel):
(WebCore):

  • platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.h:

(WebKit):
(RTCPeerConnectionHandlerChromium):

Tools:

Adding mock data channel functionality.

  • DumpRenderTree/chromium/MockWebRTCPeerConnectionHandler.cpp:

(MockWebRTCPeerConnectionHandler::openDataChannel):

LayoutTests:

  • fast/mediastream/RTCPeerConnection-datachannel.html:
  • fast/mediastream/RTCPeerConnection-datachannel-expected.txt:
11:20 AM Changeset in webkit [134804] by Lucas Forschler
  • 5 edits in branches/safari-536.28-branch/Source

Remove trailing .'s from ChangeLogs.

11:15 AM Changeset in webkit [134803] by commit-queue@webkit.org
  • 14 edits
    2 adds in trunk

No tests for changing mouse cursors
https://bugs.webkit.org/show_bug.cgi?id=100550

Patch by Rick Byers <rbyers@chromium.org> on 2012-11-15
Reviewed by Brent Fulgham.

.:

Add necessary exports for Internals::getCurrentCursorInfo

  • Source/autotools/symbols.filter:

Source/WebCore:

Add infrastructure to keep track of the last set mouse cursor,
and then to query it from DumpRenderTree. Also adds ASSERTs to help ensure
we can reliably detect when an uninitialized Cursor object is used (such as
the one that can be returned from OptionalCursor in the NoCursorChange scenario).

Test: fast/events/mouse-cursor.html

  • WebCore.exp.in: Add Cursor copy ctor export
  • page/EventHandler.cpp:

(WebCore::OptionalCursor::cursor):
(WebCore::EventHandler::handleMouseMoveEvent): Keep track of last set mouse cursor

  • page/EventHandler.h:

(WebCore::EventHandler::currentMouseCursor): New getter for last set mouse cursor

  • platform/Cursor.h:

(WebCore::Cursor::Cursor): Mark uninitialized cursor types as invalid.
(WebCore::Cursor::type): Assert cursor type is valid.

  • testing/Internals.cpp:

(WebCore::cursorTypeToString): Helper to convert cursor type to enum
(WebCore):
(WebCore::Internals::getCurrentCursorInfo): New function to return a string describing the last set mouse cursor

  • testing/Internals.h: Declare getCurrentCursorInfo
  • testing/Internals.idl: Declare getCurrentCursorInfo

Source/WebKit2:

Add necessary exports for Internals::getCurrentCursorInfo

  • win/WebKit2.def:
  • win/WebKit2CFLite.def:

LayoutTests:

Add a simple test covering the basic scenarios of changing a mouse
cursor with CSS. This includes most of the cases currently covered
by ManualTests/*cursor*.

  • fast/events/mouse-cursor-expected.txt: Added.
  • fast/events/mouse-cursor.html: Added.
11:08 AM Changeset in webkit [134802] by jer.noble@apple.com
  • 12 edits
    4 adds in trunk

Support loading of blob URLs in AVFoundation.
https://bugs.webkit.org/show_bug.cgi?id=102182

Reviewed by Eric Carlson.

Source/WebCore:

Add support for BLOB (and other non-natively supported schemed) URLs through the AVAssetResourceLoader API.

Test: media/video-src-blob.html

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:

(WebCore::MediaPlayerPrivateAVFoundationObjC::shouldWaitForLoadingOfResource): Only go down the encrypted

media path if the key scheme is skp://.

(WebCore::MediaPlayerPrivateAVFoundationObjC::didCancelLoadingRequest): Added. Cancel resource loading if

the media engine requests it.

(WebCore::MediaPlayerPrivateAVFoundationObjC::addKey): Use the new, non-deprecated API.

Use the dispatch_main_queue() as the AVAssetResourceLoadDelegate queue now that <rdar://problem/12362461> is fixed.

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:

(WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL):
(-[WebCoreAVFLoaderDelegate resourceLoader:shouldWaitForLoadingOfRequestedResource:]):
(-[WebCoreAVFLoaderDelegate resourceLoader:didCancelLoadingRequest:]):

Add a new helper class to manage loading the CachedRawResource and feed the incoming
data to the AVAssetResourceLoader.

  • platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.h: Added.
  • platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.mm: Added.

(WebCore::WebCoreAVFResourceLoader::create): Simple factory.
(WebCore::WebCoreAVFResourceLoader::WebCoreAVFResourceLoader): Simple constructor.
(WebCore::WebCoreAVFResourceLoader::~WebCoreAVFResourceLoader): Simple destructor.
(WebCore::WebCoreAVFResourceLoader::startLoading): Tell the cachedResourceLoader to schedule loading.
(WebCore::WebCoreAVFResourceLoader::stopLoading): Remove this as a client of the resource.
(WebCore::WebCoreAVFResourceLoader::responseReceived): Fill in the contentInformation field of the

AVAssetResourceLoadingRequest.

(WebCore::WebCoreAVFResourceLoader::dataReceived): Call fulfillRequestWithResource.
(WebCore::WebCoreAVFResourceLoader::notifyFinished): Tell the AVAssetResourceLoadingRequest that loading

has completed.

(WebCore::WebCoreAVFResourceLoader::fulfillRequestWithResource): Fill in (if possible) the dataRequest

field of the AVAssetResourceLoadingRequest.

Add a MediaPlayerClient method allowing MediaPlayerPrivate subclasses to access the HTMLMediaElement's
document's cachedResourceLoader.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::mediaPlayerCachedResourceLoader):

  • html/HTMLMediaElement.h:
  • platform/graphics/MediaPlayer.cpp:

(WebCore::MediaPlayer::cachedResourceLoader):

  • platform/graphics/MediaPlayer.h:

(WebCore::MediaPlayerClient::mediaPlayerCachedResourceLoader):

Add a convenience method to convert from MIME type -> UTI.

  • platform/network/mac/UTIUtilities.h:
  • platform/network/mac/UTIUtilities.mm:

(WebCore::UTIFromMIMEType):

Add new files to project.

  • WebCore.xcodeproj/project.pbxproj:

LayoutTests:

Add a new test which verifies blob url support in video elements.

  • media/video-src-blob-expected.txt: Added.
  • media/video-src-blob.html: Added.
  • platform/mac/TestExpectations: Add expected failure results for OSX releases where

custom media loading is not supported.

11:06 AM Changeset in webkit [134801] by kenneth@webkit.org
  • 6 edits in trunk/Source

Remove initiallyFitToViewport attribute
https://bugs.webkit.org/show_bug.cgi?id=102392

Reviewed by Noam Rosenthal.

Remove the initiallyFitToViewport which shouldn't have been
added in the first place. We now reset userScalable to auto (-1)
in case it was not explicitly set by the web author.

Same behavior, covered by existing tests.

Source/WebCore:

  • dom/ViewportArguments.cpp:

(WebCore::ViewportArguments::resolve):

  • dom/ViewportArguments.h:

(ViewportAttributes):

Source/WebKit2:

  • UIProcess/PageViewportController.cpp:

(WebKit::PageViewportController::PageViewportController):
(WebKit::PageViewportController::pageTransitionViewportReady):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::sendViewportAttributesChanged):

11:01 AM Changeset in webkit [134800] by tommyw@google.com
  • 12 edits in trunk/Source

MediaStream API: Update RTCPeerConnection states to match the latest editors draft
https://bugs.webkit.org/show_bug.cgi?id=102382

Reviewed by Adam Barth.

Source/Platform:

Adding a callback for the new RTCPeerConnection::iceGatheringState.

  • chromium/public/WebRTCPeerConnectionHandlerClient.h:

(WebKit::WebRTCPeerConnectionHandlerClient::didChangeICEGatheringState):

Source/WebCore:

Updating readyState & iceState, and adding iceGatheringState.
Also safeguarding the event timer callback.

Patch covered by existing tests.

  • Modules/mediastream/RTCPeerConnection.cpp:

(WebCore::RTCPeerConnection::RTCPeerConnection):
(WebCore::RTCPeerConnection::createOffer):
(WebCore::RTCPeerConnection::createAnswer):
(WebCore::RTCPeerConnection::setLocalDescription):
(WebCore::RTCPeerConnection::localDescription):
(WebCore::RTCPeerConnection::setRemoteDescription):
(WebCore::RTCPeerConnection::remoteDescription):
(WebCore::RTCPeerConnection::updateIce):
(WebCore::RTCPeerConnection::addIceCandidate):
(WebCore::RTCPeerConnection::readyState):
(WebCore::RTCPeerConnection::iceGatheringState):
(WebCore):
(WebCore::RTCPeerConnection::iceState):
(WebCore::RTCPeerConnection::addStream):
(WebCore::RTCPeerConnection::close):
(WebCore::RTCPeerConnection::didChangeIceGatheringState):
(WebCore::RTCPeerConnection::stop):
(WebCore::RTCPeerConnection::changeReadyState):
(WebCore::RTCPeerConnection::scheduledEventTimerFired):

  • Modules/mediastream/RTCPeerConnection.h:

(RTCPeerConnection):

  • Modules/mediastream/RTCPeerConnection.idl:
  • dom/EventNames.h:

(WebCore):

  • platform/mediastream/RTCPeerConnectionHandlerClient.h:

(RTCPeerConnectionHandlerClient):

  • platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.cpp:

(WebCore::RTCPeerConnectionHandlerChromium::didChangeICEGatheringState):
(WebCore):

  • platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.h:

(RTCPeerConnectionHandlerChromium):

Source/WebKit/chromium:

Updating readyState & iceState, and adding iceGatheringState.

  • src/AssertMatchingEnums.cpp:
11:00 AM Changeset in webkit [134799] by commit-queue@webkit.org
  • 16 edits in trunk

Unreviewed, rolling out r134649 and r134665.
http://trac.webkit.org/changeset/134649
http://trac.webkit.org/changeset/134665
https://bugs.webkit.org/show_bug.cgi?id=102413

Broke a ton of downstream chromium tests (Requested by japhet
on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-11-15

Source/WebCore:

  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::DocumentLoader):
(WebCore::DocumentLoader::~DocumentLoader):
(WebCore::DocumentLoader::finishedLoading):
(WebCore::DocumentLoader::clearMainResourceLoader):
(WebCore::DocumentLoader::isLoadingInAPISense):
(WebCore::DocumentLoader::documentURL):
(WebCore::DocumentLoader::isLoadingMainResource):
(WebCore::DocumentLoader::startLoadingMainResource):

  • loader/DocumentLoader.h:

(DocumentLoader):

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::FrameLoader):
(WebCore::FrameLoader::init):

  • loader/FrameLoaderStateMachine.cpp:

(WebCore::FrameLoaderStateMachine::FrameLoaderStateMachine):

  • loader/FrameLoaderStateMachine.h:
  • loader/MainResourceLoader.cpp:

(WebCore::shouldLoadAsEmptyDocument):
(WebCore):
(WebCore::MainResourceLoader::continueAfterContentPolicy):
(WebCore::MainResourceLoader::didReceiveResponse):
(WebCore::MainResourceLoader::didFinishLoading):
(WebCore::MainResourceLoader::handleEmptyLoad):
(WebCore::MainResourceLoader::loadNow):
(WebCore::MainResourceLoader::load):

  • loader/MainResourceLoader.h:

(MainResourceLoader):

Tools:

  • DumpRenderTree/chromium/WebViewHost.cpp:

(WebViewHost::updateForCommittedLoad):

LayoutTests:

  • http/tests/inspector/network/network-iframe-load-and-delete.html:
  • http/tests/loading/redirect-methods-expected.txt:
  • http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-expected.txt:
  • http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-in-body-expected.txt:
  • http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-parent-same-origin-deny-expected.txt:
10:56 AM Changeset in webkit [134798] by haraken@chromium.org
  • 4 edits in trunk/Source/WebCore

Correct syntax of old-style IDL files
https://bugs.webkit.org/show_bug.cgi?id=102335

Reviewed by Adam Barth.

Recently tasak@ corrected an IDL syntax of almost all IDL files.
We should correct the rest of them.

No tests. No change in behavior.

  • html/canvas/OESElementIndexUint.idl:
  • page/PerformanceMark.idl:
  • page/PerformanceMeasure.idl:
10:53 AM Changeset in webkit [134797] by mhahnenberg@apple.com
  • 2 edits in trunk/Source/WTF

Windows Fibers can corrupt the cached StackBounds
https://bugs.webkit.org/show_bug.cgi?id=102411

Reviewed by Geoffrey Garen.

Windows has support for something called fibers, which are like lightweight versions of
threads. Multiple fibers can run within the context of a single thread and they have access
to the same thread local storage but have different stacks. If we create a new JSGlobalContext
on one fiber, then switch to another fiber and create a JSGlobalContext there, we will call
initializeThreading() once for each new JSGlobalContext created. However, since these fibers
are technically running inside the same thread, they will clobber each other's wtfThreadData(),
which is stored using thread local storage. This can lead to corruption of the WTFThreadData
structure for the fibers other than the last one to create a new JSGlobalContext, including
the StackBounds data structure which is used during conservative scanning, among other things.
This can lead to crashes during garbage collection on Windows if fibers are used.

A quick fix would be to always get a fresh StackBounds data structure when asking for it
instead of using the cached version from the thread local storage. There is a larger problem
in that these fibers can corrupt other WebKit data that uses thread local storage. We'll leave
those theoretical fixes for future theoretical bugs.

  • wtf/WTFThreadData.h:

(WTF::WTFThreadData::stack): We now refresh the m_stackBounds field whenever somebody asks for
the StackBounds.

10:41 AM Changeset in webkit [134796] by commit-queue@webkit.org
  • 3 edits
    1 add in trunk/Source/WebKit/chromium

Use correct unscaled document size when calculating scale limits
https://bugs.webkit.org/show_bug.cgi?id=102028

Patch by Tien-Ren Chen <trchen@chromium.org> on 2012-11-15
Reviewed by Adam Barth.

Fixes bug http://crbug.com/160581
Using contentsSize / pageScaleFactor as unscaled contents size results
in rounding errors. This can cause scale factor to oscillate indefinitely.

  • src/WebViewImpl.cpp:

(WebKit::unscaledContentsSize):
(WebKit):
(WebKit::WebViewImpl::computePageScaleFactorLimits):

  • tests/WebFrameTest.cpp:
  • tests/data/scale_oscillate.html: Added.
10:40 AM Changeset in webkit [134795] by mifenton@rim.com
  • 3 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Don't restore zoom and scroll when leaving an input field.
https://bugs.webkit.org/show_bug.cgi?id=102376

Reviewed by Yong Li.

Restoring the zoom causes undesirable behavior when switching between fields.

Reviewed Internally by Andrew Lo.

  • WebKitSupport/InputHandler.cpp:

(BlackBerry::WebKit::InputHandler::InputHandler):
(BlackBerry::WebKit::InputHandler::ensureFocusTextElementVisible):

  • WebKitSupport/InputHandler.h:

(InputHandler):

10:33 AM Changeset in webkit [134794] by commit-queue@webkit.org
  • 6 edits in trunk

Source/WebCore: Remove isHTMLInputElement since it's unused and toInputElement exists
https://bugs.webkit.org/show_bug.cgi?id=102358

Patch by Elliott Sprehn <esprehn@chromium.org> on 2012-11-15
Reviewed by Ojan Vafai.

Remove isHTMLInputElement as no one uses it. Everyone just uses
Node::toInputElement and checks for a 0 return value instead.

toInputElement is also more reliable as there's no requirement that
subclasses of HTMLInputElement have the tag name of inputTag so using
this method in a check could potentially miss future subclasses with
different tag names, though none exist right now.

No new tests, this just deletes dead code.

  • html/HTMLInputElement.h:

Source/WebKit/chromium: [chromium] Move allowWebGL query to WebFrameClient
https://bugs.webkit.org/show_bug.cgi?id=102319

Patch by Kenneth Russell <kbr@google.com> on 2012-11-15
Reviewed by Adam Barth.

Moved allowWebGL query to WebFrameClient to avoid polluting
content/ API.

  • public/WebFrameClient.h:

(WebFrameClient):
(WebKit::WebFrameClient::allowWebGL):

  • public/WebPermissionClient.h:
  • src/FrameLoaderClientImpl.cpp:

(WebKit::FrameLoaderClientImpl::allowWebGL):

LayoutTests: Unreviewed: Skipping http/tests/security/sandboxed-iframe-form-top.html
https://bugs.webkit.org/show_bug.cgi?id=102391

This test is leaking state into the following test. Skipping it here,
and will look for a fix in 85522 (oooooold!).

Patch by Mike West <mkwst@chromium.org> on 2012-11-15

  • platform/mac/TestExpectations:

Skip sandboxed-iframe-form-top.html

  • platform/max/http/tests/security/sandboxed-iframe-origin-add-expected.txt:

We're no longer leaking into this test; remove the platform specific
results.

10:18 AM Changeset in webkit [134793] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

[CMake] Do not regenerate LLIntAssembly.h on every incremental build
https://bugs.webkit.org/show_bug.cgi?id=102248

Patch by Thiago Marcos P. Santos <thiago.santos@intel.com> on 2012-11-15
Reviewed by Kenneth Rohde Christiansen.

Update LLIntAssembly.h's mtime after running asm.rb to make the build
system dependency tracking consistent.

  • CMakeLists.txt:
10:17 AM Changeset in webkit [134792] by arv@chromium.org
  • 60 edits in trunk

Update DOMException name: NotSupportedError
https://bugs.webkit.org/show_bug.cgi?id=102139

Reviewed by Ojan Vafai.

Source/WebCore:

Patch 9 of 25 to update DOMException name to match the spec and Firefox.

Updated existing tests.

  • dom/DOMCoreException.cpp:

LayoutTests:

Updated tests and expectations.

  • editing/pasteboard/data-transfer-items-expected.txt:
  • fast/canvas/canvas-2d-imageData-create-nonfinite-expected.txt:
  • fast/canvas/canvas-createImageData-expected.txt:
  • fast/canvas/canvas-getImageData-invalid-expected.txt:
  • fast/canvas/canvas-putImageData-expected.txt:
  • fast/canvas/canvas-putImageData.js:
  • fast/canvas/linearGradient-infinite-values-expected.txt:
  • fast/canvas/radialGradient-infinite-values-expected.txt:
  • fast/canvas/resources/canvas-2d-imageData-create-nonfinite.js:
  • fast/canvas/script-tests/canvas-createImageData.js:
  • fast/canvas/script-tests/canvas-getImageData-invalid.js:
  • fast/canvas/script-tests/linearGradient-infinite-values.js:
  • fast/canvas/script-tests/radialGradient-infinite-values.js:
  • fast/dom/HTMLMeterElement/script-tests/set-meter-properties.js:
  • fast/dom/HTMLMeterElement/set-meter-properties-expected.txt:
  • fast/dom/HTMLProgressElement/script-tests/set-progress-properties.js:
  • fast/dom/HTMLProgressElement/set-progress-properties-expected.txt:
  • fast/dom/Node/initial-values-expected.txt:
  • fast/dom/importNode-null-expected.txt:
  • fast/dynamic/insertAdjacentText-expected.txt:
  • fast/forms/date/input-valueasnumber-date-expected.txt:
  • fast/forms/date/input-valueasnumber-date.html:
  • fast/forms/datetime/input-valueasnumber-datetime-expected.txt:
  • fast/forms/datetime/input-valueasnumber-datetime.html:
  • fast/forms/datetimelocal/input-valueasnumber-datetimelocal-expected.txt:
  • fast/forms/datetimelocal/input-valueasnumber-datetimelocal.html:
  • fast/forms/month/input-valueasnumber-month-expected.txt:
  • fast/forms/month/input-valueasnumber-month.html:
  • fast/forms/number/number-valueasnumber-expected.txt:
  • fast/forms/number/number-valueasnumber.html:
  • fast/forms/range/input-valueasnumber-range-expected.txt:
  • fast/forms/range/input-valueasnumber-range.html:
  • fast/forms/time/time-valueasnumber-expected.txt:
  • fast/forms/time/time-valueasnumber.html:
  • fast/forms/week/input-valueasnumber-week-expected.txt:
  • fast/forms/week/input-valueasnumber-week.html:
  • fast/mediastream/RTCPeerConnection-expected.txt:
  • fast/mediastream/argument-types-expected.txt:
  • fast/mediastream/getusermedia-expected.txt:
  • fast/mediastream/script-tests/argument-types.js:
  • http/tests/media/media-source/video-media-source-add-and-remove-buffers-expected.txt:
  • platform/chromium/canvas/philip/tests/2d.missingargs-expected.txt:
  • platform/chromium/dom/xhtml/level3/core/documentsetxmlversion03-expected.txt:
  • platform/chromium/fast/dynamic/insertAdjacentElement-expected.txt:
  • platform/efl/fast/dynamic/insertAdjacentElement-expected.txt:
  • platform/gtk/fast/dynamic/insertAdjacentElement-expected.txt:
  • platform/mac/canvas/philip/tests/2d.missingargs-expected.txt:
  • platform/mac/fast/dynamic/insertAdjacentElement-expected.txt:
  • platform/qt/fast/dynamic/insertAdjacentElement-expected.txt:
  • svg/dom/SVGAngle-expected.txt:
  • svg/dom/SVGLength-expected.txt:
  • svg/dom/SVGLength-px-expected.txt:
  • svg/dom/SVGPreserveAspectRatio-expected.txt:
  • transforms/cssmatrix-2d-interface-expected.txt:
  • transforms/cssmatrix-3d-interface-expected.txt:
10:15 AM Changeset in webkit [134791] by mjs@apple.com
  • 2 edits in trunk/Source/WTF

Fix an erroneous comment about the operators required by binarySearch
https://bugs.webkit.org/show_bug.cgi?id=102406

Reviewed by Anders Carlsson.

  • wtf/StdLibExtras.h: binarySearch needs '==' and '<', not '--', '<' and '>'.
10:13 AM Changeset in webkit [134790] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Remove isHTMLInputElement since it's unused and toInputElement exists
https://bugs.webkit.org/show_bug.cgi?id=102358

Patch by Elliott Sprehn <esprehn@chromium.org> on 2012-11-15
Reviewed by Ojan Vafai.

Remove isHTMLInputElement as no one uses it. Everyone just uses
Node::toInputElement and checks for a 0 return value instead.

toInputElement is also more reliable as there's no requirement that
subclasses of HTMLInputElement have the tag name of inputTag so using
this method in a check could potentially miss future subclasses with
different tag names, though none exist right now.

No new tests, this just deletes dead code.

  • html/HTMLInputElement.h:
10:13 AM Changeset in webkit [134789] by mkwst@chromium.org
  • 2 edits
    1 delete in trunk/LayoutTests

Unreviewed: Skipping http/tests/security/sandboxed-iframe-form-top.html
https://bugs.webkit.org/show_bug.cgi?id=102391

This test is leaking state into the following test. Skipping it here,
and will look for a fix in 85522 (oooooold!).

  • platform/mac/TestExpectations:

Skip sandboxed-iframe-form-top.html

  • platform/max/http/tests/security/sandboxed-iframe-origin-add-expected.txt:

We're no longer leaking into this test; remove the platform specific
results.

9:57 AM Changeset in webkit [134788] by jpetsovits@rim.com
  • 3 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Fix suspend/resume assertion in setCompositor().
https://bugs.webkit.org/show_bug.cgi?id=102397
RIM PR 244701

Reviewed by Adam Treat.

If a compositor is used but no surface pool is ever
allocated (which is a perfectly valid use case), initial
suspension of the backingstore is skipped because of an
early return. This will cause an assertion to be triggered
and a bug. Fix this by suspending it before the return.

With Adam Treat's recent change to split suspension of
screen and backingstore into two different functions,
this can now be reduced to a mere screen (blitting)
suspension. That was the original intention of this code.

  • Api/BackingStore.cpp:

(BlackBerry::WebKit::BackingStorePrivate::createSurfaces):

  • Api/WebPage.cpp:

(BlackBerry::WebKit::WebPagePrivate::setCompositor):

9:37 AM Changeset in webkit [134787] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/chromium

Unreviewed. Rolled DEPS.

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-11-15

  • DEPS:
9:16 AM Changeset in webkit [134786] by akling@apple.com
  • 2 edits in trunk/Tools

Update my e-mail address.

Rubber-stamped by Anders Koivisto.

  • Scripts/webkitpy/common/config/committers.py:
9:08 AM Changeset in webkit [134785] by arv@chromium.org
  • 32 edits in trunk

Update DOMException name: NoModificationAllowedError
https://bugs.webkit.org/show_bug.cgi?id=102134

Reviewed by Ojan Vafai.

Source/WebCore:

Patch 7 of 25 to update DOMException name to match the spec and Firefox.

Updated existing tests.

  • dom/DOMCoreException.cpp:

LayoutTests:

Updated tests and expectations.

  • dom/xhtml/level1/core/hc_nodevalue03-expected.txt:
  • fast/dom/EntityReference/readonly-exceptions-expected.txt:
  • fast/dom/HTMLElement/insertAdjacentHTML-errors-expected.txt:
  • fast/dom/HTMLElement/script-tests/insertAdjacentHTML-errors.js:
  • fast/dom/computed-style-set-property-expected.txt:
  • fast/dom/insertAdjacentHTML-DocumentFragment-crash-expected.txt:
  • fast/dom/outerText-no-element-expected.txt:
  • fast/dom/setPrimitiveValue-exceptions-expected.txt:
  • fast/dom/setPrimitiveValue-expected.txt:
  • fast/dynamic/outerHTML-no-element-expected.txt:
  • fast/frames/out-of-document-iframe-has-child-frame-expected.txt:
  • platform/chromium-mac/fast/dom/setPrimitiveValue-exceptions-expected.txt:
  • platform/chromium-win/fast/dom/setPrimitiveValue-exceptions-expected.txt:
  • platform/chromium-win/svg/custom/baseval-animval-equality-expected.txt:
  • platform/chromium/fast/dom/insertAdjacentHTML-DocumentFragment-crash-expected.txt:
  • platform/chromium/fast/frames/out-of-document-iframe-has-child-frame-expected.txt:
  • platform/chromium/svg/custom/baseval-animval-equality-expected.txt:
  • platform/gtk/svg/custom/baseval-animval-equality-expected.txt:
  • platform/mac/svg/custom/baseval-animval-equality-expected.txt:
  • platform/qt/svg/custom/baseval-animval-equality-expected.txt:
  • platform/qt/svg/dom/altGlyph-dom-expected.txt:
  • svg/animations/animate-gradient-transform-expected.txt:
  • svg/dom/SVGColor-expected.txt:
  • svg/dom/SVGLengthList-basics-expected.txt:
  • svg/dom/SVGNumberList-basics-expected.txt:
  • svg/dom/SVGPaint-expected.txt:
  • svg/dom/SVGTransformList-basics-expected.txt:
  • svg/dom/SVGViewSpec-defaults-expected.txt:
  • svg/dom/altGlyph-dom-expected.txt:
9:06 AM Changeset in webkit [134784] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebCore

Remove unnecesary dependencies INPUT_TYPE_COLOR
https://bugs.webkit.org/show_bug.cgi?id=102379

Patch by Miguel Garcia <miguelg@chromium.org> on 2012-11-15
Reviewed by Darin Adler.

Platforms should be able to enable INPUT_TYPE_COLOR without enabling
CALENDAR_PICKER and DATALIST_ELEMENT. Before this patch however there would be
compile errors in such configuration.

No new tests since this is not adding any extra functionality.

  • WebCore.gyp/WebCore.gyp:
  • html/ColorInputType.cpp:

(WebCore::ColorInputType::shouldShowSuggestions):

  • make-file-arrays.py:

(main):

9:05 AM Changeset in webkit [134783] by eric.carlson@apple.com
  • 7 edits
    2 adds in trunk

Update computed line position algorithm
https://bugs.webkit.org/show_bug.cgi?id=93779

Reviewed by Philippe Normand.

Compute the position of a text track relative to rendered tracks. This is needed to position
cues correctly when there is more than one text track.

Source/WebCore:

Test: media/track/track-cue-container-rendering-position.html

  • html/track/TextTrack.cpp:

(WebCore::TextTrack::invalidateTrackIndex): Invalidate both cached track indices.
(WebCore::TextTrack::trackIndexRelativeToRenderedTracks): Return the index of the track relative

to other rendered tracks.

  • html/track/TextTrack.h:
  • html/track/TextTrackCue.cpp:

(WebCore::TextTrackCue::calculateComputedLinePosition): Use trackIndexRelativeToRenderedTracks()

instead of trackIndex() so cues are positioned correctly.

  • html/track/TextTrackList.cpp:

(TextTrackList::getTrackIndex): Change return type from unsigned to int.
(TextTrackList::getTrackIndexRelativeToRenderedTracks): New.

  • html/track/TextTrackList.h:

LayoutTests:

  • media/track/track-cue-container-rendering-position-expected.txt: Added.
  • media/track/track-cue-container-rendering-position.html: Added.
9:02 AM Changeset in webkit [134782] by jpetsovits@rim.com
  • 5 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Leave surface resizing to the client.
https://bugs.webkit.org/show_bug.cgi?id=102280
RIM PR 235034
RIM PR 160619

Reviewed by Adam Treat.

Now that we always blit on the user interface thread and
use the client's userInterfaceViewportAccessor() to determine
the destination rectangle for blitting, changing the viewport
size does not affect the window or target surface directly.
The only way that blitted output is affected is through
layout, scroll position or scale changes. None of these
require us to synchronize with the UI thread to resize its
target surface.

This commit simplifies setViewportSize() and removes a
blocking message dispatch by simply offloading all surface
resizing responsibilities to the client. This is safer,
cleaner and easier.

  • Api/WebPage.cpp:

(BlackBerry::WebKit::WebPagePrivate::WebPagePrivate):
(BlackBerry::WebKit::WebPage::setScreenOrientation):
(BlackBerry::WebKit::WebPagePrivate::setViewportSize):

  • Api/WebPage.h:
  • Api/WebPageClient.h:
  • Api/WebPage_p.h:

(WebPagePrivate):

8:59 AM Changeset in webkit [134781] by dominik.rottsches@intel.com
  • 4 edits
    2 adds in trunk

[EFL] Bump Harfbuzz to allow fixing bug 101009 on EFL
https://bugs.webkit.org/show_bug.cgi?id=101323

Reviewed by Martin Robinson.

Source/WebCore:

Removing ifdef since we bumped Harfbuzz dependency. This is the
real fix replacing the previous workaround of having a Chromium
specific ifdef here, since Chromium uses a newer HarfBuzz version
already.

No new tests, covered by css3/flexbox/inline-flex-crash.html
which will not crash anymore even with the ifdef removed.

  • platform/graphics/harfbuzz/ng/HarfBuzzShaper.cpp:

(WebCore::HarfBuzzShaper::shapeHarfBuzzRuns):

Tools:

Bumping Harfbuzz to newer version so that we can remove the
ifdef round the fix for bug 101009 for EFL, too.
We're using the zip snapshot since jhbuild can fallback to the previously
downloaded blob in case of network failures which leads to better
buildbot robustness. This zip snapshot currently needs to be locally
patched to fix ICU detection on systems that don't have icu pkg-config files.
The patch is suggested for merging into HarfBuzz. We can remove it locally
once it's accepted into HarfBuzz upstream.

  • efl/patches/harfbuzz-icu-detection-fix.patch: Applied after retrieving source to fix harfbuzz detection on systems that don't have pkg-config files for it.
  • efl/jhbuild.modules: Bumping harfbuzz version.
8:50 AM Changeset in webkit [134780] by ap@apple.com
  • 2 edits in trunk/Tools

[Mac] Implement WTR --no-timeout-at-all option
https://bugs.webkit.org/show_bug.cgi?id=102251

Reviewed by Eric Carlson.

  • WebKitTestRunner/mac/TestControllerMac.mm: (WTR::TestController::platformRunUntil):

Just do it, and convert to Objective C on the way for simplicity.

8:35 AM Changeset in webkit [134779] by kling@webkit.org
  • 4 edits
    2 adds in trunk

REGRESSION(r134408): Heap-use-after-free in WebCore::HTMLConstructionSite::mergeAttributesFromTokenIntoElement().
<http://webkit.org/b/102304>

Reviewed by Anders Carlsson.

Source/WebCore:

Test: fast/dom/cloneNode-below-body-attribute-merging.html

  • html/parser/HTMLConstructionSite.cpp:

(WebCore::HTMLConstructionSite::mergeAttributesFromTokenIntoElement):

Use Element::fastHasAttribute() to determine if a given attribute is already present on the element
we're merging attributes into.

  • dom/ElementAttributeData.h:

(ElementAttributeData):

Remove a now-unnecessary friend declaration.

LayoutTests:

  • fast/dom/cloneNode-below-body-attribute-merging-expected.txt: Added.
  • fast/dom/cloneNode-below-body-attribute-merging.html: Added.
8:11 AM Changeset in webkit [134778] by schenney@chromium.org
  • 2 edits in trunk/Source/WebKit/chromium

[Chromium] Move SK_DISABLE_FAST_AA_STROKE_RECT to skia_webkit.gyp

Unreviewed non-funtional, behavior-neutral change

  • skia_webkit.gyp: Add SK_DISABLE_FAST_AA_STROKE_RECT=1 so that it can be removed from Chromium's skia.gyp
7:48 AM Changeset in webkit [134777] by junov@google.com
  • 2 edits in trunk/LayoutTests

Cleanup test expectations after rebaseline r134668
https://bugs.webkit.org/show_bug.cgi?id=101974

Unreviewed

  • platform/chromium/TestExpectations:
7:46 AM Changeset in webkit [134776] by rakuco@webkit.org
  • 2 edits
    20 copies
    4 moves
    2 adds
    4 deletes in trunk/LayoutTests

[EFL] Gardening.

Move some expectations from efl-wk1/ to efl/ since they should
work for both ports (and were originally there).

Skip an additional HiDPI test.

  • platform/efl-wk1/fast/borders: Removed.
  • platform/efl-wk1/fast/borders/border-radius-wide-border-01-expected.png: Removed.
  • platform/efl-wk1/fast/borders/borderRadiusInset01-expected.png: Removed.
  • platform/efl-wk1/fast/css: Removed.
  • platform/efl-wk1/fast/css/text-overflow-ellipsis-bidi-expected.png: Removed.
  • platform/efl-wk1/fast/css/text-overflow-ellipsis-expected.png: Removed.
  • platform/efl-wk1/fast/css/text-overflow-ellipsis-strict-expected.png: Removed.
  • platform/efl-wk1/fast/css/text-overflow-ellipsis-text-align-center-expected.png: Removed.
  • platform/efl-wk1/fast/css/text-overflow-input-expected.png: Removed.
  • platform/efl-wk1/fast/css/text-overflow-input-expected.txt: Removed.
  • platform/efl-wk1/fast/css/vertical-text-overflow-ellipsis-text-align-center-expected.png: Removed.
  • platform/efl-wk1/fast/forms/menulist-clip-expected.png: Removed.
  • platform/efl-wk1/fast/forms/menulist-option-wrap-expected.png: Removed.
  • platform/efl-wk1/fast/forms/select-empty-option-height-expected.png: Removed.
  • platform/efl-wk1/fast/media: Removed.
  • platform/efl-wk1/fast/media/mq-js-media-except-01-expected.png: Removed.
  • platform/efl-wk1/fast/media/mq-js-media-except-01-expected.txt: Removed.
  • platform/efl-wk1/fast/repaint/control-clip-expected.png: Removed.
  • platform/efl-wk1/svg/dom: Removed.
  • platform/efl-wk1/svg/dom/SVGLengthList-appendItem-expected.png: Removed.
  • platform/efl-wk1/svg/dom/SVGLengthList-basics-expected.png: Removed.
  • platform/efl-wk1/svg/dom/SVGLengthList-getItem-expected.png: Removed.
  • platform/efl-wk1/svg/dom/SVGLengthList-initialize-expected.png: Removed.
  • platform/efl-wk1/svg/dom/SVGLengthList-insertItemBefore-expected.png: Removed.
  • platform/efl-wk1/svg/dom/SVGLengthList-removeItem-expected.png: Removed.
  • platform/efl-wk1/svg/dom/SVGLengthList-replaceItem-expected.png: Removed.
  • platform/efl-wk1/svg/dom/SVGNumberList-basics-expected.png: Removed.
  • platform/efl-wk1/svg/dom/SVGTransformList-basics-expected.png: Removed.
  • platform/efl/TestExpectations:
  • platform/efl/fast/borders/border-radius-wide-border-01-expected.png: Copied from LayoutTests/platform/efl-wk1/fast/borders/border-radius-wide-border-01-expected.png.
  • platform/efl/fast/borders/border-radius-wide-border-05-expected.png: Added.
  • platform/efl/fast/borders/borderRadiusInset01-expected.png: Copied from LayoutTests/platform/efl-wk1/fast/borders/borderRadiusInset01-expected.png.
  • platform/efl/fast/css/text-overflow-ellipsis-bidi-expected.png: Copied from LayoutTests/platform/efl-wk1/fast/css/text-overflow-ellipsis-bidi-expected.png.
  • platform/efl/fast/css/text-overflow-ellipsis-expected.png: Copied from LayoutTests/platform/efl-wk1/fast/css/text-overflow-ellipsis-expected.png.
  • platform/efl/fast/css/text-overflow-ellipsis-strict-expected.png: Copied from LayoutTests/platform/efl-wk1/fast/css/text-overflow-ellipsis-strict-expected.png.
  • platform/efl/fast/css/text-overflow-ellipsis-text-align-center-expected.png: Copied from LayoutTests/platform/efl-wk1/fast/css/text-overflow-ellipsis-text-align-center-expected.png.
  • platform/efl/fast/css/text-overflow-input-expected.png: Copied from LayoutTests/platform/efl-wk1/fast/css/text-overflow-input-expected.png.
  • platform/efl/fast/css/text-overflow-input-expected.txt: Copied from LayoutTests/platform/efl-wk1/fast/css/text-overflow-input-expected.txt.
  • platform/efl/fast/css/vertical-text-overflow-ellipsis-text-align-center-expected.png: Copied from LayoutTests/platform/efl-wk1/fast/css/vertical-text-overflow-ellipsis-text-align-center-expected.png.
  • platform/efl/fast/forms/menulist-clip-expected.png: Copied from LayoutTests/platform/efl-wk1/fast/forms/menulist-clip-expected.png.
  • platform/efl/fast/forms/menulist-option-wrap-expected.png: Copied from LayoutTests/platform/efl-wk1/fast/forms/menulist-option-wrap-expected.png.
  • platform/efl/fast/forms/select-empty-option-height-expected.png: Copied from LayoutTests/platform/efl-wk1/fast/forms/select-empty-option-height-expected.png.
  • platform/efl/fast/forms/zoomed-controls-expected.png: Added.
  • platform/efl/fast/media/mq-js-media-except-01-expected.png: Copied from LayoutTests/platform/efl-wk1/fast/media/mq-js-media-except-01-expected.png.
  • platform/efl/fast/media/mq-js-media-except-01-expected.txt: Copied from LayoutTests/platform/efl-wk1/fast/media/mq-js-media-except-01-expected.txt.
  • platform/efl/fast/repaint/control-clip-expected.png: Copied from LayoutTests/platform/efl-wk1/fast/repaint/control-clip-expected.png.
  • platform/efl/svg/dom/SVGLengthList-appendItem-expected.png: Copied from LayoutTests/platform/efl-wk1/svg/dom/SVGLengthList-appendItem-expected.png.
  • platform/efl/svg/dom/SVGLengthList-basics-expected.png: Copied from LayoutTests/platform/efl-wk1/svg/dom/SVGLengthList-basics-expected.png.
  • platform/efl/svg/dom/SVGLengthList-getItem-expected.png: Copied from LayoutTests/platform/efl-wk1/svg/dom/SVGLengthList-getItem-expected.png.
  • platform/efl/svg/dom/SVGLengthList-initialize-expected.png: Copied from LayoutTests/platform/efl-wk1/svg/dom/SVGLengthList-initialize-expected.png.
  • platform/efl/svg/dom/SVGLengthList-insertItemBefore-expected.png: Copied from LayoutTests/platform/efl-wk1/svg/dom/SVGLengthList-insertItemBefore-expected.png.
  • platform/efl/svg/dom/SVGLengthList-removeItem-expected.png: Copied from LayoutTests/platform/efl-wk1/svg/dom/SVGLengthList-removeItem-expected.png.
  • platform/efl/svg/dom/SVGLengthList-replaceItem-expected.png: Copied from LayoutTests/platform/efl-wk1/svg/dom/SVGLengthList-replaceItem-expected.png.
  • platform/efl/svg/dom/SVGNumberList-basics-expected.png: Copied from LayoutTests/platform/efl-wk1/svg/dom/SVGNumberList-basics-expected.png.
  • platform/efl/svg/dom/SVGTransformList-basics-expected.png: Copied from LayoutTests/platform/efl-wk1/svg/dom/SVGTransformList-basics-expected.png.
7:42 AM Changeset in webkit [134775] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

Prevent creation of detached frames in ShadowRoot
https://bugs.webkit.org/show_bug.cgi?id=102333

Patch by Elliott Sprehn <esprehn@chromium.org> on 2012-11-15
Reviewed by Dimitri Glazkov.

Source/WebCore:

Similar to Bug 94717 you can create a loaded iframe in a detached
subtree using ShadowRoot. To fix this we just need to make
SubframeLoadingDisabler traverse through shadow boundaries.

Test: fast/frames/detached-shadow-frame.html

  • html/HTMLFrameOwnerElement.h:

(WebCore::SubframeLoadingDisabler::canLoadFrame):

LayoutTests:

Test that you cannot create a detached frame using a ShadowRoot
and iframe unload handlers.

  • fast/frames/detached-shadow-frame-expected.txt: Added.
  • fast/frames/detached-shadow-frame.html: Added.
7:28 AM Changeset in webkit [134774] by shinyak@chromium.org
  • 6 edits
    4 adds in trunk

Changing pseudoClass (:visited) should cause distribution.
https://bugs.webkit.org/show_bug.cgi?id=101700

Reviewed by Dimitri Glazkov.

Source/WebCore:

When href attribute of an anchor or area element is changed, we have to invalidate distribution.

Since we would like to check a few pseudoClasses at once, we make the argument of
SelectRuleFeatureSet::hasSelectorFor int.

Tests: fast/dom/shadow/pseudoclass-update-visited-anchor.html

fast/dom/shadow/pseudoclass-update-visited-area.html

  • dom/ElementShadow.cpp:

(WebCore::invalidateParentDistributionIfNecessary):

  • dom/ElementShadow.h:

(WebCore):

  • html/HTMLAnchorElement.cpp:

(WebCore::HTMLAnchorElement::parseAttribute):

  • html/shadow/SelectRuleFeatureSet.h:

(WebCore::SelectRuleFeatureSet::hasSelectorFor):

LayoutTests:

  • fast/dom/shadow/pseudoclass-update-visited-anchor-expected.html: Added.
  • fast/dom/shadow/pseudoclass-update-visited-anchor.html: Added.
  • fast/dom/shadow/pseudoclass-update-visited-area-expected.html: Added.
  • fast/dom/shadow/pseudoclass-update-visited-area.html: Added.
7:28 AM Changeset in webkit [134773] by zandobersek@gmail.com
  • 2 edits in trunk/Source/WebKit/gtk

Unreviewed build fix attempt after r134765.

  • webkit/webkitviewportattributes.cpp:

(webkitViewportAttributesRecompute):

7:27 AM Changeset in webkit [134772] by kbalazs@webkit.org
  • 6 edits in trunk/Source

Coordinated Graphics: support the "freeze animations" API
https://bugs.webkit.org/show_bug.cgi?id=100703

Reviewed by Noam Rosenthal.

Source/WebCore:

Make animations resumable in Coordinated Graphics.
Pausing was already implemented.

Tested with animations and transitions tests. No tests to be
unskipped because these tests has been working without this API
as well (although this is the preferred way).

  • platform/graphics/GraphicsLayerAnimation.cpp:

(WebCore::GraphicsLayerAnimation::apply):
(WebCore::GraphicsLayerAnimation::computeTotalRunningTime):
Do not consider the time while we was suspended as part of
the total running time.
(WebCore):
(WebCore::GraphicsLayerAnimation::resume):
(WebCore::GraphicsLayerAnimations::suspend):
(WebCore::GraphicsLayerAnimations::resume):

  • platform/graphics/GraphicsLayerAnimation.h:

(GraphicsLayerAnimation):
(GraphicsLayerAnimations):

Source/WebKit2:

Implement suspendAnimations and resumeAnimations in CoordinatedGraphicsLayer.

  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:

(WebCore::CoordinatedGraphicsLayer::suspendAnimations):
(WebCore):
(WebCore::CoordinatedGraphicsLayer::resumeAnimations):

  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:

(CoordinatedGraphicsLayer):

7:06 AM Changeset in webkit [134771] by schenney@chromium.org
  • 18 edits in trunk

[Chromium] Disable SK_IGNORE_FAST_BLURRECT

Source/WebKit/chromium:

Unreviewed test update.

This flag is enabled purely to simplify rebaselining. I am now
removing it and doing the rebaslining.

  • skia_webkit.gyp: Remove the line for SK_IGNORE_FAST_BLURRECT

LayoutTests:

Unreviewed test expectations update

  • platform/chromium-linux/compositing/shadows/shadow-drawing-expected.png:
  • platform/chromium-linux/fast/box-shadow/basic-shadows-expected.png:
  • platform/chromium-linux/fast/box-shadow/box-shadow-clipped-slices-expected.png:
  • platform/chromium-linux/fast/box-shadow/box-shadow-transformed-expected.png:
  • platform/chromium-linux/fast/box-shadow/single-pixel-shadow-expected.png:
  • platform/chromium-linux/fast/canvas/canvas-incremental-repaint-expected.png:
  • platform/chromium-linux/fast/repaint/box-shadow-h-expected.png:
  • platform/chromium-linux/fast/repaint/box-shadow-v-expected.png:
  • platform/chromium-linux/fast/repaint/shadow-multiple-vertical-expected.png:
  • platform/chromium-linux/fast/transforms/shadows-expected.png:
  • platform/chromium-linux/svg/css/group-with-shadow-expected.png:
  • platform/chromium-linux/svg/filters/shadow-on-rect-with-filter-expected.png:
  • platform/chromium-win/fast/box-shadow/box-shadow-radius-expected.png:
  • platform/chromium-win/fast/box-shadow/scaled-box-shadow-expected.png:
  • platform/chromium/TestExpectations:
6:18 AM Changeset in webkit [134770] by schenney@chromium.org
  • 4 edits in trunk/LayoutTests

Rebaseline after r134736

Unreviewed expectations update.

Very minor changes, not entirely clear why but not a problem at all.
Probably due to animation cauising an initial valeue to differ
slightly.

  • platform/chromium-linux/compositing/checkerboard-expected.png:
  • platform/chromium-mac/compositing/checkerboard-expected.png:
  • platform/chromium-win/compositing/checkerboard-expected.png:
6:13 AM Changeset in webkit [134769] by commit-queue@webkit.org
  • 3 edits in trunk/LayoutTests

[EFL] Update pixel test expectation for datalist tests
https://bugs.webkit.org/show_bug.cgi?id=102365

Unreviewed EFL gardening.

Patch by KwangYong Choi <ky0.choi@samsung.com> on 2012-11-15

  • platform/efl/fast/forms/datalist/input-appearance-range-with-datalist-zoomed-expected.png:
  • platform/efl/fast/forms/datalist/input-appearance-range-with-padding-with-datalist-expected.png:
5:59 AM Changeset in webkit [134768] by Csaba Osztrogonác
  • 2 edits in trunk/LayoutTests

REGRESSION(r134495): It made svg/custom/use-instanceRoot-event-listeners.xhtml fail and fast/events/attribute-listener-deletion-crash.html timeout
https://bugs.webkit.org/show_bug.cgi?id=102183

Unreviewed gardening, unskip now passing tests after r134666.

  • platform/qt/TestExpectations:
5:42 AM Changeset in webkit [134767] by rgabor@webkit.org
  • 9 edits
    6 copies
    1 add
    1 delete in trunk/Source/WebCore

Relocate the ARM NEON SVG filter optimizations
https://bugs.webkit.org/show_bug.cgi?id=102214

Reviewed by Zoltan Herczeg.

Relocate the ARM filter optimizations into platform/graphics/cpu/arm
to keep them together with the others.
From now all graphics optimization for ARM NEON should go here.

  • CMakeLists.txt:
  • GNUmakefile.am:
  • GNUmakefile.list.am:
  • Target.pri:
  • WebCore.gyp/WebCore.gyp:
  • WebCore.gypi:
  • WebCore.pri:
  • WebCore.xcodeproj/project.pbxproj:
  • platform/graphics/cpu/arm/filters/FEBlendNEON.h: Renamed from Source/WebCore/platform/graphics/filters/arm/FEBlendNEON.h.

(WebCore):
(FEBlendUtilitiesNEON):
(WebCore::FEBlendUtilitiesNEON::div255):
(WebCore::FEBlendUtilitiesNEON::normal):
(WebCore::FEBlendUtilitiesNEON::multiply):
(WebCore::FEBlendUtilitiesNEON::screen):
(WebCore::FEBlendUtilitiesNEON::darken):
(WebCore::FEBlendUtilitiesNEON::lighten):
(WebCore::FEBlend::platformApplyNEON):

  • platform/graphics/cpu/arm/filters/FECompositeArithmeticNEON.h: Renamed from Source/WebCore/platform/graphics/filters/arm/FECompositeArithmeticNEON.h.

(WebCore):
(WebCore::FEComposite::computeArithmeticPixelsNeon):
(WebCore::FEComposite::platformArithmeticNeon):

  • platform/graphics/cpu/arm/filters/FEGaussianBlurNEON.h: Renamed from Source/WebCore/platform/graphics/filters/arm/FEGaussianBlurNEON.h.

(WebCore):
(WebCore::boxBlurNEON):

  • platform/graphics/cpu/arm/filters/FELightingNEON.cpp: Renamed from Source/WebCore/platform/graphics/filters/arm/FELightingNEON.cpp.

(WebCore):
(WebCore::feLightingConstantsForNeon):
(WebCore::FELighting::platformApplyNeonWorker):
(WebCore::FELighting::getPowerCoefficients):

  • platform/graphics/cpu/arm/filters/FELightingNEON.h: Renamed from Source/WebCore/platform/graphics/filters/arm/FELightingNEON.h.

(WebCore):
(FELightingFloatArgumentsForNeon):
(FELightingPaintingDataForNeon):
(WebCore::FELighting::platformApplyNeon):

  • platform/graphics/cpu/arm/filters/NEONHelpers.h: Renamed from Source/WebCore/platform/graphics/filters/arm/NEONHelpers.h.

(WebCore):
(WebCore::loadRGBA8AsFloat):
(WebCore::storeFloatAsRGBA8):

5:04 AM Changeset in webkit [134766] by mkwst@chromium.org
  • 10 edits
    4 adds in trunk

We should trigger a console warning when we encounter invalid sandbox flags.
https://bugs.webkit.org/show_bug.cgi?id=101956

Reviewed by Adam Barth.

Source/WebCore:

A developer who writes '<iframe sandbox="allowScripts">' probably has
something in mind other than what the browser interprets. In these
situations, we should log a console warning that notes 'allowScripts'
is an invalid sandbox flag ('allow-scripts' is probably what she
meant).

This patch does the simplest thing possible: it throws a warning that
lists the invalid flags encountered for sandbox attributes on iframes,
and for sandbox Content Security Policy directives.

Tests: http/tests/security/contentSecurityPolicy/sandbox-invalid-header.html

http/tests/security/sandboxed-iframe-invalid.html

  • dom/SecurityContext.cpp:

(WebCore::SecurityContext::parseSandboxPolicy):

  • dom/SecurityContext.h:

(SecurityContext):

Accept a new out parameter, invalidTokensErrorMessage. If invalid
tokens are encountered, build an error message string, and pass it
back to the caller through this parameter.

  • html/HTMLIFrameElement.cpp:

(WebCore::HTMLIFrameElement::parseAttribute):

  • page/ContentSecurityPolicy.cpp:

(WebCore::CSPDirectiveList::applySandboxPolicy):

When applying a sandbox policy, pass a string into
SecurityContext::parseSandboxPolicy to grab any errors that might
be encountered, and log a warning in that event.

(WebCore::ContentSecurityPolicy::reportInvalidSandboxFlags):
(WebCore):

  • page/ContentSecurityPolicy.h:

Adding a new method to report invalid sandbox flags.

LayoutTests:

  • http/tests/security/contentSecurityPolicy/sandbox-invalid-header-expected.txt: Added.
  • http/tests/security/contentSecurityPolicy/sandbox-invalid-header.html: Added.
  • http/tests/security/sandboxed-iframe-invalid-expected.txt: Added.
  • http/tests/security/sandboxed-iframe-invalid.html: Added.
5:00 AM Changeset in webkit [134765] by kenneth@webkit.org
  • 5 edits in trunk/Source

Rename member vars in ViewportArgument to match css-device-adapt
https://bugs.webkit.org/show_bug.cgi?id=102355

Reviewed by Gyuyoung Kim.

Source/WebCore:

No behavior change, thus no new tests.

  • dom/ViewportArguments.cpp:

(WebCore::ViewportArguments::resolve):
(WebCore::setViewportFeature):

  • dom/ViewportArguments.h:

(WebCore::ViewportArguments::ViewportArguments):
(ViewportArguments):
(WebCore::ViewportArguments::operator==):

Source/WebKit/efl:

  • ewk/ewk_view.cpp:

(_ewk_view_priv_new): Update to reflect name change.

4:46 AM Changeset in webkit [134764] by keishi@webkit.org
  • 2 edits
    20 adds in trunk/LayoutTests

[Chromium] Add tests for month suggestion picker
https://bugs.webkit.org/show_bug.cgi?id=102040

Reviewed by Kent Tamura.

Adding tests for <input type=date> with datalist.

  • platform/chromium-mac/platform/chromium/fast/forms/suggestion-picker/month-suggestion-appearance-expected.png: Added.
  • platform/chromium-mac/platform/chromium/fast/forms/suggestion-picker/month-suggestion-picker-appearance-rtl-expected.png: Added.
  • platform/chromium-mac/platform/chromium/fast/forms/suggestion-picker/month-suggestion-picker-appearance-with-scroll-bar-expected.png: Added.
  • platform/chromium-win/platform/chromium/fast/forms/suggestion-picker/month-suggestion-picker-key-operations-expected.txt: Added.
  • platform/chromium/fast/forms/suggestion-picker/month-suggestion-appearance-expected.txt: Added.
  • platform/chromium/fast/forms/suggestion-picker/month-suggestion-appearance.html: Added.
  • platform/chromium/fast/forms/suggestion-picker/month-suggestion-picker-appearance-rtl-expected.txt: Added.
  • platform/chromium/fast/forms/suggestion-picker/month-suggestion-picker-appearance-rtl.html: Added.
  • platform/chromium/fast/forms/suggestion-picker/month-suggestion-picker-appearance-with-scroll-bar-expected.txt: Added.
  • platform/chromium/fast/forms/suggestion-picker/month-suggestion-picker-appearance-with-scroll-bar.html: Added.
  • platform/chromium/fast/forms/suggestion-picker/month-suggestion-picker-key-operations-expected.txt: Added.
  • platform/chromium/fast/forms/suggestion-picker/month-suggestion-picker-key-operations.html: Added.
  • platform/chromium/fast/forms/suggestion-picker/month-suggestion-picker-min-max-attribute-expected.txt: Added.
  • platform/chromium/fast/forms/suggestion-picker/month-suggestion-picker-min-max-attribute.html: Added.
  • platform/chromium/fast/forms/suggestion-picker/month-suggestion-picker-mouse-operations-expected.txt: Added.
  • platform/chromium/fast/forms/suggestion-picker/month-suggestion-picker-mouse-operations.html: Added.
  • platform/chromium/fast/forms/suggestion-picker/month-suggestion-picker-reset-value-after-reload-expected.txt: Added.
  • platform/chromium/fast/forms/suggestion-picker/month-suggestion-picker-reset-value-after-reload.html: Added.
  • platform/chromium/fast/forms/suggestion-picker/month-suggestion-picker-step-attribute-expected.txt: Added.
  • platform/chromium/fast/forms/suggestion-picker/month-suggestion-picker-step-attribute.html: Added.
  • platform/chromium/TestExpectations:
4:45 AM Changeset in webkit [134763] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

Fix compiler warnings about signed/unsigned comparison on i386
https://bugs.webkit.org/show_bug.cgi?id=102249

Patch by Thiago Marcos P. Santos <thiago.santos@intel.com> on 2012-11-15
Reviewed by Kenneth Rohde Christiansen.

Add casting to unsigned to shut up gcc warnings. Build was broken on
JSVALUE32_64 ports compiling with -Werror.

  • llint/LLIntData.cpp:

(JSC::LLInt::Data::performAssertions):

4:36 AM Changeset in webkit [134762] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

[EFL] Gardening after r134628
https://bugs.webkit.org/show_bug.cgi?id=102368

Unreviewed gardening.

Skip test compositing/overflow/scrolling-without-painting.html added at r134628
and which does not pass on EFL.

Patch by Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> on 2012-11-15

  • platform/efl/TestExpectations:
4:23 AM Changeset in webkit [134761] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Web Inspector: [WebGL] cloneNode for images with revoked Blob URIs fails
https://bugs.webkit.org/show_bug.cgi?id=102366

Patch by Andrey Adaikin <aandrey@chromium.org> on 2012-11-15
Reviewed by Vsevolod Vlasov.

  • inspector/InjectedScriptCanvasModuleSource.js:

(.):

4:13 AM Changeset in webkit [134760] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebKit2

[EFL][WK2] Add APIs to get/set whether scripts can open new windows.
https://bugs.webkit.org/show_bug.cgi?id=102054

Patch by Yuni Jeong <yhnet.jung@samsung.com> on 2012-11-15
Reviewed by Gyuyoung Kim.

Added setting APIs make it possible to allow or prevent scripts from opening new windows automatically.

  • UIProcess/API/efl/ewk_settings.cpp:

(ewk_settings_scripts_can_open_windows_set):
(ewk_settings_scripts_can_open_windows_get):

  • UIProcess/API/efl/ewk_settings.h:
  • UIProcess/API/efl/tests/test_ewk2_settings.cpp:

(TEST_F):

3:35 AM Changeset in webkit [134759] by rniwa@webkit.org
  • 4 edits in trunk/LayoutTests

Fix tests after r134637.

  • fast/harness/perftests/runs-per-second-iterations.html:
  • fast/harness/perftests/runs-per-second-log.html:
  • platform/qt/TestExpectations:
3:34 AM Changeset in webkit [134758] by commit-queue@webkit.org
  • 1 edit
    2 adds in trunk/LayoutTests

[EFL][WK2] Rebase fast/media/mq-js-media-except-01.html after r134618
https://bugs.webkit.org/show_bug.cgi?id=102362

Unreviewed rebaseline.

Rebased fast/media/mq-js-media-except-01.html after r134618.

Patch by Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> on 2012-11-15

  • platform/efl-wk2/fast/media/mq-js-media-except-01-expected.txt: Added.
3:01 AM Changeset in webkit [134757] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/Source/WebKit/efl

Unreviewed. Fix build break when using --no-tiled-backing-store option.

  • ewk/ewk_frame_private.h:

(WebCore):

2:55 AM Changeset in webkit [134756] by Csaba Osztrogonác
  • 2 edits in trunk/LayoutTests

[Qt] Unreviewed gardening, skip new failing tests.

  • platform/qt/TestExpectations:
2:07 AM Changeset in webkit [134755] by mrowe@apple.com
  • 4 edits in trunk/Source/WebCore

Build fix.

Disable deprecation warnings in a few places that need it.

  • platform/graphics/ca/mac/TileCache.mm:

(WebCore::TileCache::drawRepaintCounter):

  • platform/graphics/mac/FontMac.mm:

(WebCore::showGlyphsWithAdvances):

  • platform/graphics/mac/WebLayer.mm:

(drawLayerContents):

2:04 AM Changeset in webkit [134754] by kkristof@inf.u-szeged.hu
  • 4 edits in trunk/LayoutTests

[Qt] Unreviewed gardening. Rebaseline after r134649.

  • platform/qt/http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-expected.txt:
  • platform/qt/http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-in-body-expected.txt:
  • platform/qt/http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-parent-same-origin-deny-expected.txt:
1:47 AM Changeset in webkit [134753] by tkent@chromium.org
  • 11 edits in trunk

Support stand-alone month names in calendar picker
https://bugs.webkit.org/show_bug.cgi?id=102196

Reviewed by Kentaro Hara.

.:

  • ManualTests/forms/calendar-picker.html:
  • Remove monthLabels arguments.
  • Add a mock implementation of pagePopupController.formatMonth.

Source/WebCore:

We have showed non stand-alone month names in any locales. However
we should show stand-alone month names in some locales such as
Russian.

This patch introduce PagePopupController::formatMonth. It is
exposed to page-popups, and format year-month pairs in the same
way as input[type=month].

No new tests. Affects platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-ru.html.

  • Resources/pagepopups/calendarPicker.js:

(Month.prototype.toLocaleString):
Calls pagePopupController.formatMonth except Japanese locale.
(handleArgumentsTimeout):
Remove unnecessary default monthLabels.

  • page/PagePopupController.cpp:

(WebCore::PagePopupController::formatMonth): Added.

  • page/PagePopupController.h:

(PagePopupController): Declare formatMonth.

  • page/PagePopupController.idl: Add formatMonth.

Source/WebKit/chromium:

  • src/DateTimeChooserImpl.cpp:

(WebKit::DateTimeChooserImpl::writeDocument):
We don't need to pass monthLabels any more.

LayoutTests:

Update a pixel result for Russian calendar picker. Now it contains
a stand-alone month name.

  • platform/chromium-mac/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-ru-expected.png:
1:08 AM Changeset in webkit [134752] by haraken@chromium.org
  • 2 edits
    1 add in trunk/LayoutTests

Unreviewed. Rebaselined images.

  • platform/chromium-win/fast/forms/zoomed-controls-expected.png: Added.
  • platform/chromium/TestExpectations:
12:55 AM Changeset in webkit [134751] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebCore

Web Inspector: Fix new JS compiler warnings.
https://bugs.webkit.org/show_bug.cgi?id=102341

Patch by Eugene Klyuchnikov <eustas.bug@gmail.com> on 2012-11-15
Reviewed by Yury Semikhatsky.

New version of compiler finds new inconsistencies.

  • inspector/front-end/DOMAgent.js: Replaced 2 simiar cases with loop.
  • inspector/front-end/DOMBreakpointsSidebarPane.js:

Declared instance property on WebInspector.

  • inspector/front-end/Script.js: Normalized parameter notation.
12:53 AM Changeset in webkit [134750] by kenneth@webkit.org
  • 2 edits in trunk/Source/WebCore

Unreviewed build fix.

  • dom/ViewportArguments.cpp:

(WebCore::convertToUserSpace): Add static

12:20 AM Changeset in webkit [134749] by kenneth@webkit.org
  • 3 edits in trunk/Source/WebCore

Refactor ViewportArguments to only use CSS units
https://bugs.webkit.org/show_bug.cgi?id=102287

Reviewed by Noam Rosenthal.

Refactor the ViewportArgument code to use a member method for
resolving the viewport. This new method only uses arguments in
CSS units.

This is preparation for adding the CSS Device Adaptation support.

Tested by existing tests fast/viewport.

  • dom/ViewportArguments.cpp:

(WebCore::clampLengthValue):
(WebCore::clampScaleValue): New utility functions.
(WebCore::ViewportArguments::resolve):
(WebCore::convertToUserSpace): Added until everyone provides arguments
only in CSS units and not device ones.
(WebCore::computeViewportAttributes):
(WebCore::computeMinimumScaleFactorForContentContained):
(WebCore):
(WebCore::restrictMinimumScaleFactorToViewportSize):

  • dom/ViewportArguments.h:

(ViewportArguments):

Nov 14, 2012:

11:41 PM Changeset in webkit [134748] by shinyak@chromium.org
  • 5 edits
    14 adds in trunk

Changing pseudoClass (:disabled) should cause distribution.
https://bugs.webkit.org/show_bug.cgi?id=101901

Reviewed by Hajime Morita.

Source/WebCore:

We have to invalidate distribution when pseudo-class (:disabled) is changed.

According to the HTML5 spec, :disabled will match button, input, select, textarea, optgroup,
option, command, li, and fieldset. However, command is not implemented yet, we skip li and command. li might
have 'disabled' state, but we need a command element to make it 'disabled' state.

Tests: fast/dom/shadow/pseudoclass-update-disabled-button.html

fast/dom/shadow/pseudoclass-update-disabled-fieldset.html
fast/dom/shadow/pseudoclass-update-disabled-input.html
fast/dom/shadow/pseudoclass-update-disabled-optgroup.html
fast/dom/shadow/pseudoclass-update-disabled-option.html
fast/dom/shadow/pseudoclass-update-disabled-select.html
fast/dom/shadow/pseudoclass-update-disabled-textarea.html

  • html/HTMLFormControlElement.cpp:

(WebCore::HTMLFormControlElement::disabledAttributeChanged):

  • html/HTMLOptGroupElement.cpp:

(WebCore::HTMLOptGroupElement::parseAttribute):

  • html/HTMLOptionElement.cpp:

(WebCore::HTMLOptionElement::parseAttribute):

LayoutTests:

  • fast/dom/shadow/pseudoclass-update-disabled-button-expected.html: Added.
  • fast/dom/shadow/pseudoclass-update-disabled-button.html: Added.
  • fast/dom/shadow/pseudoclass-update-disabled-fieldset-expected.html: Added.
  • fast/dom/shadow/pseudoclass-update-disabled-fieldset.html: Added.
  • fast/dom/shadow/pseudoclass-update-disabled-input-expected.html: Added.
  • fast/dom/shadow/pseudoclass-update-disabled-input.html: Added.
  • fast/dom/shadow/pseudoclass-update-disabled-optgroup-expected.txt: Added.
  • fast/dom/shadow/pseudoclass-update-disabled-optgroup.html: Added.
  • fast/dom/shadow/pseudoclass-update-disabled-option-expected.txt: Added.
  • fast/dom/shadow/pseudoclass-update-disabled-option.html: Added.
  • fast/dom/shadow/pseudoclass-update-disabled-select-expected.html: Added.
  • fast/dom/shadow/pseudoclass-update-disabled-select.html: Added.
  • fast/dom/shadow/pseudoclass-update-disabled-textarea-expected.html: Added.
  • fast/dom/shadow/pseudoclass-update-disabled-textarea.html: Added.
11:34 PM Changeset in webkit [134747] by commit-queue@webkit.org
  • 10 edits
    2 deletes in trunk

Unreviewed, rolling out r134691, r134703, r134715, r134716,
and r134733.
http://trac.webkit.org/changeset/134691
http://trac.webkit.org/changeset/134703
http://trac.webkit.org/changeset/134715
http://trac.webkit.org/changeset/134716
http://trac.webkit.org/changeset/134733
https://bugs.webkit.org/show_bug.cgi?id=102342

"Broke the Apple Windows Debug and GTK builds." (Requested by
dydx on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-11-14

Source/WebCore:

  • WebCore.exp.in:
  • bindings/js/SerializedScriptValue.h:
  • testing/Internals.cpp:
  • testing/Internals.h:

(WebCore):

  • testing/Internals.idl:

Source/WebKit2:

  • win/WebKit2.def:
  • win/WebKit2CFLite.def:

LayoutTests:

  • platform/chromium/fast/storage/serialized-script-value-expected.txt: Removed.
  • platform/chromium/fast/storage/serialized-script-value.html: Removed.
11:12 PM Changeset in webkit [134746] by haraken@chromium.org
  • 1 edit
    4 adds in trunk/LayoutTests

Unreviewed. Rebaselined images.

  • platform/chromium-linux/platform/chromium/fast/forms/calendar-picker/week-picker-appearance-expected.png: Added.
  • platform/chromium-linux/platform/chromium/fast/forms/calendar-picker/week-picker-appearance-step-expected.png: Added.
  • platform/chromium-win/platform/chromium/fast/forms/calendar-picker/week-picker-appearance-expected.png: Added.
  • platform/chromium-win/platform/chromium/fast/forms/calendar-picker/week-picker-appearance-step-expected.png: Added.
10:57 PM Changeset in webkit [134745] by pfeldman@chromium.org
  • 3 edits in trunk/Source/WebCore

Not reviewed: fixing inspector tests under Qt.

  • inspector/front-end/TestController.js:
  • inspector/front-end/utilities.js:

(.):

10:51 PM Changeset in webkit [134744] by commit-queue@webkit.org
  • 5 edits in trunk

Unreviewed, rolling out r134741.
http://trac.webkit.org/changeset/134741
https://bugs.webkit.org/show_bug.cgi?id=102337

"Change is incorrect." (Requested by dydx on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-11-14

.:

  • Source/autotools/symbols.filter:

Source/WebKit2:

  • win/WebKit2.def:
  • win/WebKit2CFLite.def:
10:44 PM Changeset in webkit [134743] by commit-queue@webkit.org
  • 12 edits in trunk

[EFL] Port tiled backing store
https://bugs.webkit.org/show_bug.cgi?id=71352

Patch by Ryuan Choi <ryuan.choi@gmail.com> on 2012-11-14
Reviewed by Gyuyoung Kim.

Source/WebKit/efl:

Added ewk_view_setting_tiled_backing_store_enabled_{get|set} to give possibility
to use WebCore's tiled backing store in WebKit/Efl port. This makes WebKit/Efl
compliant with WebKit's generic solution of tiled backing store.

  • WebCoreSupport/ChromeClientEfl.cpp:

(WebCore::ChromeClientEfl::invalidateRootView):
(WebCore):
(WebCore::ChromeClientEfl::visibleRectForTiledBackingStore):

  • WebCoreSupport/ChromeClientEfl.h:

(ChromeClientEfl):

  • ewk/ewk_frame_private.h:

Declared missing classes which used in this file.

  • ewk/ewk_paint_context.cpp:

(ewk_paint_context_paint): Implemented to paint tiled backing store

  • ewk/ewk_view.cpp:

(ewk_view_setting_tiled_backing_store_enabled_set):
Added API to enable/disable the WebCore's tiled backing store.
(ewk_view_setting_tiled_backing_store_enabled_get):
Added API to query if the WebCore's tiled backing store is enabled.
(ewk_view_tiled_backing_store_invalidate):

  • ewk/ewk_view.h:
  • ewk/ewk_view_private.h:
  • ewk/ewk_view_single.cpp:

(_ewk_view_single_smart_repaints_process):
Implemented to update visible area of tiled backing store.

  • tests/test_ewk_view.cpp: Added test case of ewk_view_setting_tiled_backing_store.

(TEST_F):

Tools:

  • EWebLauncher/main.c: Added option to test the WebCore's tiled backing store.

(_User_Arguments):
(windowCreate):
(parseUserArguments):

10:42 PM Changeset in webkit [134742] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/chromium

Unreviewed. Rolled DEPS.

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-11-14

  • DEPS:
10:37 PM Changeset in webkit [134741] by dbates@webkit.org
  • 5 edits in trunk

Attempt to fix the Apple Windows Debug and GTK builds after <http://trac.webkit.org/changeset/134691>
(https://bugs.webkit.org/show_bug.cgi?id=96818)

.:

Export symbols similar to the ones we added to WebCore.exp.in in
<http://trac.webkit.org/changeset/134691>.

  • Source/autotools/symbols.filter:

Source/WebKit2:

Export symbols of the form:
?deserializeBuffer@Internals@WebCore[...]
?serializeObject@Internals@WebCore[...]

  • win/WebKit2.def:
  • win/WebKit2CFLite.def:
10:13 PM Changeset in webkit [134740] by Simon Fraser
  • 3 edits in branches/safari-536.28-branch/Source/WebCore

<rdar://problem/12705908> Scrolling some versions of the facebook page is very slow

Merge r134737

2012-11-14 Simon Fraser <Simon Fraser>

Don't use temporary clip rects when hit testing
https://bugs.webkit.org/show_bug.cgi?id=102329

Reviewed by Beth Dakin.

We now cache clip rects separately for painting, hit testing etc. Hit testing
clip rects are always shrunk to exclude scrollbars (so that hit testing on
the scrollbars works), so we no longer every need to use temporary clip rects
during hit testing.

Added an assertion that the scrollbar relevancy when we computed the clip rects
is the same as that when using them.

  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::hitTestLayer): (WebCore::RenderLayer::updateClipRects):
  • rendering/RenderLayer.h: (WebCore::ClipRectsCache::ClipRectsCache): (ClipRectsCache):
10:11 PM Changeset in webkit [134739] by timothy@apple.com
  • 10 edits in branches/safari-536.28-branch

Merge r134100.

9:48 PM Changeset in webkit [134738] by haraken@chromium.org
  • 2 edits in trunk/Source/WebCore

Unreviewed. Rebaselined run-bindings-tests.

  • bindings/scripts/test/V8/V8TestNode.h:

(WebCore::toV8Fast):

9:47 PM Changeset in webkit [134737] by Simon Fraser
  • 3 edits in trunk/Source/WebCore

Don't use temporary clip rects when hit testing
https://bugs.webkit.org/show_bug.cgi?id=102329

Reviewed by Beth Dakin.

We now cache clip rects separately for painting, hit testing etc. Hit testing
clip rects are always shrunk to exclude scrollbars (so that hit testing on
the scrollbars works), so we no longer every need to use temporary clip rects
during hit testing.

Added an assertion that the scrollbar relevancy when we computed the clip rects
is the same as that when using them.

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::hitTestLayer):
(WebCore::RenderLayer::updateClipRects):

  • rendering/RenderLayer.h:

(WebCore::ClipRectsCache::ClipRectsCache):
(ClipRectsCache):

9:33 PM Changeset in webkit [134736] by krit@webkit.org
  • 9 edits in trunk

Support animation of basic shape 'polygon'
https://bugs.webkit.org/show_bug.cgi?id=102080

Reviewed by Daniel Bates.

Source/WebCore:

The basic shapes 'circle', 'rectangle' and 'ellipse' are animatable with the committed
patch http://trac.webkit.org/changeset/134352.
This is a follow-up patch to make 'polygon' animatable as well, as long as the number
of vertices between start and end polygon is the same.

Added polygon animation test to existing test:

fast/exclusions/shape-inside/shape-inside-animation.html
css3/masking/clip-path-animation.html

  • page/animation/CSSPropertyAnimation.cpp: Forgot to add copyright with last commits.
  • rendering/style/BasicShapes.cpp:

(WebCore::BasicShape::canBlend): Polygons are allowed now.
(WebCore::BasicShapePolygon::blend): Interpolate polygon shapes.

LayoutTests:

Added animation test for basic shape 'polygon' to existing test
css3/masking/clip-path-animation.html and
fast/exclusions/shape-inside/shape-inside-animation.html.

  • animations/resources/animation-test-helpers.js:

(parseBasicShape):

  • css3/masking/clip-path-animation-expected.txt:
  • css3/masking/clip-path-animation.html:
  • fast/exclusions/shape-inside/shape-inside-animation-expected.txt:
  • fast/exclusions/shape-inside/shape-inside-animation.html:
9:27 PM Changeset in webkit [134735] by haraken@chromium.org
  • 2 edits in trunk/Source/WebCore

Unreviewed. Fix code generator warnings.

  • bindings/scripts/CodeGeneratorV8.pm:

(GenerateFunctionCallback):
(GenerateImplementation):

9:18 PM Changeset in webkit [134734] by timothy@apple.com
  • 4 edits
    2 adds in branches/safari-536.28-branch

Merge r134099.

8:53 PM Changeset in webkit [134733] by alecflett@chromium.org
  • 3 edits in trunk/Source/WebKit2

Fix windows build exports (again)
https://bugs.webkit.org/show_bug.cgi?id=102324

Unreviewed windows-only build fix.

Add one more export that was causing unit tests to fail to link.

  • win/WebKit2.def:
  • win/WebKit2CFLite.def:
8:29 PM Changeset in webkit [134732] by shinyak@chromium.org
  • 4 edits
    4 adds in trunk

Changing pseudoClass (:checked) should cause distribution.
https://bugs.webkit.org/show_bug.cgi?id=101902

Reviewed by Dimitri Glazkov.

Source/WebCore:

When the 'checked' state is changed, we have to invalidate distribution.

According to the HTML5 spec, :checked should match a checked input[type="checkbox"],
a checked input[type="radio"], a selected option, and commands. However, we don't have a command element yet.

Tests: fast/dom/shadow/pseudoclass-update-checked-input.html

fast/dom/shadow/pseudoclass-update-checked-option.html

  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::setChecked):

  • html/HTMLOptionElement.cpp:

(WebCore::HTMLOptionElement::setSelectedState):

LayoutTests:

Since an option element does not create a renderer, we cannot make its test a reftest.

  • fast/dom/shadow/pseudoclass-update-checked-input-expected.html: Added.
  • fast/dom/shadow/pseudoclass-update-checked-input.html: Added.
  • fast/dom/shadow/pseudoclass-update-checked-option-expected.txt: Added.
  • fast/dom/shadow/pseudoclass-update-checked-option.html: Added.
7:52 PM Changeset in webkit [134731] by keishi@webkit.org
  • 3 edits
    11 adds in trunk/LayoutTests

Add tests for week picker
https://bugs.webkit.org/show_bug.cgi?id=101555

Reviewed by Kent Tamura.

Adding tests for month picker.

  • platform/chromium-mac/platform/chromium/fast/forms/calendar-picker/week-picker-appearance-expected.png: Added.
  • platform/chromium-mac/platform/chromium/fast/forms/calendar-picker/week-picker-appearance-step-expected.png: Added.
  • platform/chromium/fast/forms/calendar-picker/resources/calendar-picker-common.js:

(selectedWeek): Returns value of selected week.

  • platform/chromium/fast/forms/calendar-picker/week-picker-appearance-expected.txt: Added.
  • platform/chromium/fast/forms/calendar-picker/week-picker-appearance-step-expected.txt: Added.
  • platform/chromium/fast/forms/calendar-picker/week-picker-appearance-step.html: Added.
  • platform/chromium/fast/forms/calendar-picker/week-picker-appearance.html: Added.
  • platform/chromium/fast/forms/calendar-picker/week-picker-key-operations-expected.txt: Added.
  • platform/chromium/fast/forms/calendar-picker/week-picker-key-operations.html: Added.
  • platform/chromium/fast/forms/calendar-picker/week-picker-mouse-operations-expected.txt: Added.
  • platform/chromium/fast/forms/calendar-picker/week-picker-mouse-operations.html: Added.
  • platform/chromium/TestExpectations:
7:45 PM Changeset in webkit [134730] by haraken@chromium.org
  • 2 edits in trunk/Source/WebCore

[V8] Kill $implClassName from CodeGeneratorV8.pm
https://bugs.webkit.org/show_bug.cgi?id=102312

Reviewed by Adam Barth.

$implClassName and $interfaceName are the same.
Sometimes we are passing both $implClassName and $interfaceName to
subroutines. We can kill $implClassName.

No tests. No change in behavior.

  • bindings/scripts/CodeGeneratorV8.pm:

(GenerateOpaqueRootForGC):
(GenerateHeader):
(GenerateDomainSafeFunctionGetter):
(GenerateDomainSafeFunctionSetter):
(GenerateConstructorGetter):
(GenerateNormalAttrGetter):
(GenerateReplaceableAttrSetter):
(GenerateNormalAttrSetter):
(GenerateEventListenerCallback):
(GenerateOverloadedFunctionCallback):
(GenerateFunctionCallback):
(GenerateParametersCheck):
(GenerateOverloadedConstructorCallback):
(GenerateSingleConstructorCallback):
(GenerateConstructorCallback):
(GenerateEventConstructorCallback):
(GenerateTypedArrayConstructorCallback):
(GenerateNamedConstructorCallback):
(GenerateImplementation):
(GenerateFunctionCallString):

7:41 PM Changeset in webkit [134729] by abarth@webkit.org
  • 2 edits in trunk/Source/WebCore

[V8] We can shave one instruction off toV8Fast
https://bugs.webkit.org/show_bug.cgi?id=102297

Reviewed by Kentaro Hara.

There's no reason to store info.Holder in a local variable. Calling
Holder() is essentially free because it's inlined to an offset read.

I doubt this patch moves the performance needle in any measurable way,
but it makes the code slightly prettier.

  • bindings/scripts/CodeGeneratorV8.pm:

(GenerateHeader):

  • bindings/scripts/test/V8/V8TestNode.h:

(WebCore::toV8Fast):

7:31 PM Changeset in webkit [134728] by haraken@chromium.org
  • 2 edits in trunk/Source/WebCore

[V8] Get rid of a redundant branch in JSValueToNative()
https://bugs.webkit.org/show_bug.cgi?id=102311

Reviewed by Adam Barth.

No tests. No change in behavior.

  • bindings/scripts/CodeGeneratorV8.pm:

(JSValueToNative):
(NativeToJSValue):

7:17 PM Changeset in webkit [134727] by shinyak@chromium.org
  • 3 edits
    4 adds in trunk

Changing pseudoClass (:link) should cause distribution
https://bugs.webkit.org/show_bug.cgi?id=101698

Reviewed by Hajime Morita.

Source/WebCore:

CSSSelector :link matches anchor element with href attribute. When href attribute of an anchor element is changed,
we have to invalidate distribution.

According to the HTML spec, :link matches a link element having href attribute, currently we have not implemented it yet.

Tests: fast/dom/shadow/pseudoclass-update-link-anchor.html

fast/dom/shadow/pseudoclass-update-link-area.html

  • html/HTMLAnchorElement.cpp:

(WebCore::HTMLAnchorElement::parseAttribute):

LayoutTests:

  • fast/dom/shadow/pseudoclass-update-link-anchor-expected.html: Added.
  • fast/dom/shadow/pseudoclass-update-link-anchor.html: Added.
  • fast/dom/shadow/pseudoclass-update-link-area-expected.html: Added.
  • fast/dom/shadow/pseudoclass-update-link-area.html: Added.
7:16 PM Changeset in webkit [134726] by haraken@chromium.org
  • 2 edits in trunk/Source/WebCore

Remove unused functions from CodeGenerator.pm
https://bugs.webkit.org/show_bug.cgi?id=102316

Reviewed by Adam Barth.

No tests. No change in behavior.

  • bindings/scripts/CodeGenerator.pm:

(GenerateCompileTimeCheckForEnumsIfNeeded):

7:05 PM Changeset in webkit [134725] by danakj@chromium.org
  • 4 edits in trunk/Source/Platform

[chromium] Clamp negative sizes to zero when converting to gfx:: types
https://bugs.webkit.org/show_bug.cgi?id=102159

Reviewed by James Robinson.

Here we clamp Rect, RectF and Size types to not have negative widths or
heights. WebSizes that you want to keep their negative values, because
they are vectors, should be converted to Vector2d instead.

  • chromium/public/WebFloatRect.h:

(WebKit::WebFloatRect::operator gfx::RectF):

  • chromium/public/WebRect.h:

(WebKit::WebRect::operator gfx::Rect):

  • chromium/public/WebSize.h:

(WebKit::WebSize::operator gfx::Size):

6:59 PM Changeset in webkit [134724] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

[BlackBerry] Update BB10 form theme.
https://bugs.webkit.org/show_bug.cgi?id=100760

Patch by Tiancheng Jiang <tijiang@rim.com> on 2012-11-14
Reviewed by Rob Buis.

RIM PR 225755
Internally Reviewed by Eli Fidler.
Update checkbox, radio and menulist button style. Adjust border width
and line height.

  • platform/blackberry/RenderThemeBlackBerry.cpp:

(WebCore::RenderThemeBlackBerry::adjustMenuListButtonStyle):

  • platform/blackberry/RenderThemeBlackBerry.h:

(RenderThemeBlackBerry):

6:56 PM Changeset in webkit [134723] by haraken@chromium.org
  • 10 edits
    3 moves in trunk/LayoutTests

Unreviewed. Rebaselined images.

  • platform/chromium-mac-lion/fast/forms/menulist-clip-expected.png:
  • platform/chromium-mac-lion/fast/forms/menulist-option-wrap-expected.png:
  • platform/chromium-mac-lion/fast/repaint/control-clip-expected.png:
  • platform/chromium-mac-snowleopard/fast/forms/menulist-clip-expected.png:
  • platform/chromium-mac-snowleopard/fast/forms/menulist-option-wrap-expected.png:
  • platform/chromium-mac-snowleopard/fast/repaint/control-clip-expected.png:
  • platform/chromium-mac/fast/forms/menulist-clip-expected.png:
  • platform/chromium-mac/fast/forms/menulist-option-wrap-expected.png:
  • platform/chromium-mac/fast/repaint/control-clip-expected.png:
  • platform/efl-wk1/fast/forms/menulist-clip-expected.png: Renamed from LayoutTests/platform/efl/fast/forms/menulist-clip-expected.png.
  • platform/efl-wk1/fast/forms/menulist-option-wrap-expected.png: Renamed from LayoutTests/platform/efl/fast/forms/menulist-option-wrap-expected.png.
  • platform/efl-wk1/fast/repaint/control-clip-expected.png: Renamed from LayoutTests/platform/efl/fast/repaint/control-clip-expected.png.
6:53 PM Changeset in webkit [134722] by haraken@chromium.org
  • 2 edits
    1 move in trunk/LayoutTests

Unreviwed. Rebaselined images.

  • platform/chromium-mac/fast/forms/select-empty-option-height-expected.png:
  • platform/efl-wk1/fast/forms/select-empty-option-height-expected.png: Renamed from LayoutTests/platform/efl/fast/forms/select-empty-option-height-expected.png.
6:51 PM Changeset in webkit [134721] by haraken@chromium.org
  • 2 edits
    4 adds in trunk/LayoutTests

Unreviewed. Rebaselined images.

  • platform/chromium-linux/fast/forms/zoomed-controls-expected.png: Added.
  • platform/chromium-mac-lion/fast/forms/zoomed-controls-expected.png: Added.
  • platform/chromium-mac-snowleopard/fast/forms/zoomed-controls-expected.png: Added.
  • platform/chromium-mac/fast/forms/zoomed-controls-expected.png: Added.
  • platform/chromium/TestExpectations:
6:33 PM Changeset in webkit [134720] by arv@chromium.org
  • 2 edits in trunk/Source/WebCore

Update DOMException name: InvalidModificationError
https://bugs.webkit.org/show_bug.cgi?id=102281

Reviewed by Kentaro Hara.

Patch 13 of 25 to update DOMException name to match the spec and Firefox.

DOMExcecption INVALID_MODIFICATION_ERR is not used in our code.

  • dom/DOMCoreException.cpp:
6:31 PM Changeset in webkit [134719] by bfulgham@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

[Windows, WinCairo] Unreviewed build fix.

Missed one of the exports that was part of the WebKit2.def.

6:26 PM Changeset in webkit [134718] by Beth Dakin
  • 43 edits in branches/safari-536.28-branch/LayoutTests

testRunner is called layoutTestController on the branch.

Reviewed by Simon Fraser.

  • compositing/video/video-controls-layer-creation.html:
  • editing/pasteboard/resources/paste-noscript-content.html:
  • fast/block/layer-not-removed-from-parent-crash.html:
  • fast/block/positioning/relayout-nested-positioned-elements-crash-2.html:
  • fast/css/crash-comparing-equal.html:
  • fast/css/variables/deferred-image-load-from-variable.html:
  • fast/css/xml-stylesheet-removed.xhtml:
  • fast/dom/Geolocation/error-clear-watch.html:
  • fast/dom/Geolocation/success-clear-watch.html:
  • fast/dom/beforeload/clear-video-poster-in-beforeload-listener.html:
  • fast/dom/beforeload/remove-video-poster-in-beforeload-listener.html:
  • fast/dom/clone-node-load-event-crash.html:
  • fast/events/display-none-on-focus-crash.html:
  • fast/events/dom-character-data-modified-textarea-crash.html:
  • fast/files/file-reader-done-reading-abort.html:
  • fast/files/file-reader-immediate-abort.html:
  • fast/runin/input-text-runin.html:
  • fast/runin/textarea-runin.html:
  • fast/table/crash-split-table-section-no-cell-recalc.html:
  • fast/table/split-anonymous-boxes-around-table-repaint-crash.html:
  • fast/table/split-table-no-section-update-crash.html:
  • fast/text/text-combine-first-line-crash.html:
  • fast/xpath/xpath-detached-nodes.html:
  • http/tests/loading/remove-child-triggers-parser.html:
  • http/tests/plugins/get-url-beforeunload-destroys-plugin.html:
  • http/tests/plugins/resources/notify-done.html:
  • media/event-queue-crash.html:
  • platform/mac-wk2/plugins/asychronous-deadlock-with-timer-and-evaluate.html:
  • platform/mac-wk2/plugins/asynchronous-destroy-before-initialization.html:
  • platform/mac-wk2/plugins/slow/asynchronous-plugin-initialization-multiple.html:
  • platform/mac-wk2/plugins/slow/asynchronous-plugin-initialization.html:
  • platform/mac-wk2/plugins/slow/resources/asynchronous-plugin-initialization-multiple-finish.html:
  • svg/animations/dynamic-modify-attributename-crash2.svg:
  • svg/animations/dynamic-modify-transform-without-baseval.html:
  • svg/animations/smil-setcurrenttime-crash.svg:
  • svg/custom/animate-reference-crash.html:
  • svg/custom/clip-path-document-change-assert.html:
  • svg/custom/system-language-crash.html:
  • svg/custom/tref-nested-events-crash.svg:
  • svg/custom/tref-stale-listener-crash.html:
  • svg/filters/feMorphology-crash.html:
  • webaudio/delaynode-maxdelaylimit.html:
6:19 PM Changeset in webkit [134717] by aestes@apple.com
  • 2 edits in trunk/Tools

Fix the build.

  • TestWebKitAPI/mac/TestBrowsingContextLoadDelegate.h:
6:18 PM Changeset in webkit [134716] by bfulgham@webkit.org
  • 2 edits in trunk/Source/WebKit2

[WinCairo] Build correction after r134703.

  • win/WebKit2CFLite.def: Add exports to CFLite version of

Windows build to match Alec's last update.

6:14 PM Changeset in webkit [134715] by bfulgham@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

[Windows, WinCairo] Correct build failure.
https://bugs.webkit.org/show_bug.cgi?id=102302

WebCore symbols were mistakenly added to the JavaScriptCore
library definition file.

WebCore symbols that were incorrectly added to the export file.

6:11 PM Changeset in webkit [134714] by abarth@webkit.org
  • 2 edits in trunk/Source/WebCore

document variable in Document::axObjectCache is actually the topDocument
https://bugs.webkit.org/show_bug.cgi?id=101966

Reviewed by Chris Fleizach.

Name change requested by Darin Adler.

  • dom/Document.cpp:

(WebCore::Document::axObjectCache):

6:07 PM Changeset in webkit [134713] by Simon Fraser
  • 4 edits in branches/safari-536.28-branch/Source/WebCore

<rdar://problem/12705731> Don't pass a paintingRoot when painting from RenderLayerBacking (102256)

Merge r134642

2012-11-14 Simon Fraser <Simon Fraser>

Don't pass a paintingRoot when painting from RenderLayerBacking
https://bugs.webkit.org/show_bug.cgi?id=102256

Reviewed by David Hyatt.

The 'paintingRoot' parameter to the RenderLayer paint functions
is used when painting just a subtree (e.g. when painting dragged
selections). There is no need to pass it when a RenderLayerBacking
paints its contents or overlay scrollbars.

Passing it requires an expensive isDescendant() check, so passing
null is more efficient.

  • rendering/RenderLayer.h: (WebCore::RenderLayer::LayerPaintingInfo::LayerPaintingInfo):
  • rendering/RenderLayerBacking.cpp: (WebCore::RenderLayerBacking::paintIntoLayer): (WebCore::RenderLayerBacking::paintContents):
  • rendering/RenderLayerBacking.h: (RenderLayerBacking):
6:07 PM Changeset in webkit [134712] by Simon Fraser
  • 3 edits in branches/safari-536.28-branch/Source/WebCore

<rdar://problem/12705458> Chopin: Avoid calling calculateLayerBounds() and convertToLayerCoords() more than once per layer paint (102031)

Merge r134356

2012-11-12 Simon Fraser <Simon Fraser>

Avoid calling calculateLayerBounds() and convertToLayerCoords() more than once per layer paint
https://bugs.webkit.org/show_bug.cgi?id=102031

Reviewed by Beth Dakin.

RenderLayer::paintLayerContents() and callees could end up calling convertToLayerCoords()
and calculateLayerBounds() multiple times for painting a single layer.

Keep track of whether we've computed the root-relative bounds and do it on demand.
Compute the offset relative to rootLayer once, and pass it around as an optional parameter
to functions that need it.

  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::paintLayerContents): (WebCore::RenderLayer::hitTestLayer): (WebCore::RenderLayer::calculateRects): (WebCore::RenderLayer::intersectsDamageRect): (WebCore::RenderLayer::boundingBox): (WebCore::RenderLayer::calculateLayerBounds):
  • rendering/RenderLayer.h:
  • rendering/RenderLayerCompositor.cpp: (WebCore::RenderLayerCompositor::calculateCompositedBounds):
6:07 PM Changeset in webkit [134711] by Simon Fraser
  • 4 edits in branches/safari-536.28-branch/Source/WebCore

Prerequisite for <rdar://problem/12705357>.

Merge r134355

2012-11-12 Simon Fraser <Simon Fraser>

Change calculateLayerBounds() from a static function to a member function
https://bugs.webkit.org/show_bug.cgi?id=102022

Reviewed by Beth Dakin.

calculateLayerBounds() has grown into a substantial function after
starting live as a little utility function, so make it a member function
of RenderLayer, and adjust callers accordingly.

  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::setFilterBackendNeedsRepaintingInRect): (WebCore::RenderLayer::paintLayerContents): (WebCore::RenderLayer::calculateLayerBounds):
  • rendering/RenderLayer.h:
  • rendering/RenderLayerCompositor.cpp: (WebCore::RenderLayerCompositor::calculateCompositedBounds):
6:07 PM Changeset in webkit [134710] by Simon Fraser
  • 2 edits in branches/safari-536.28-branch/Source/WebCore

Merge r134330

2012-11-12 Simon Fraser <Simon Fraser>

Fix filter dirty rect regression from r134311
https://bugs.webkit.org/show_bug.cgi?id=102002

Reviewed by Beth Dakin.

When rendering with filters, the code can inflate the root-relative
paintDirtyRect in RenderLayer::paintLayerContents(), and my cleanup
broke this behavior.

Fix by making a local copy of LayerPaintingInfo, updating its paintDirtyRect,
and using it for the rest of the function.

  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::paintLayerContents):
6:07 PM Changeset in webkit [134709] by Simon Fraser
  • 5 edits in branches/safari-536.28-branch/Source/WebCore

<rdar://problem/12705446> Reduce the crazy number of parameters to RenderLayer painting member functions (101895)

Merge r134311

2012-11-12 Simon Fraser <Simon Fraser>

Reduce the crazy number of parameters to RenderLayer painting member functions
https://bugs.webkit.org/show_bug.cgi?id=101895

Reviewed by Beth Dakin.

The various RenderLayer::paintLayer* functions took a lot of arguments, most
of which were passed down directly to descendants.

Gather these arguments into a LayerPaintingInfo struct.

  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::paint): Create a LayerPaintingInfo struct to pass to descendant paint calls. (WebCore::RenderLayer::paintOverlayScrollbars): Ditto. (WebCore::RenderLayer::paintLayer): When painting transformed layers, we make a new LayerPaintingInfo because the root layer is shifted. (WebCore::RenderLayer::paintLayerContentsAndReflection): (WebCore::RenderLayer::paintLayerContents): (WebCore::RenderLayer::paintList): (WebCore::RenderLayer::paintPaginatedChildLayer): (WebCore::RenderLayer::paintChildLayerIntoColumns): Create a new LayerPaintingInfo struct for column painting.
  • rendering/RenderLayer.h: (WebCore::RenderLayer::LayerPaintingInfo::LayerPaintingInfo): (LayerPaintingInfo):
  • rendering/RenderLayerBacking.cpp: (WebCore::RenderLayerBacking::paintIntoLayer): Build a LayerPaintingInfo to enter layer painting.
  • rendering/RenderReplica.cpp: (WebCore::RenderReplica::paint): Ditto.
6:07 PM Changeset in webkit [134708] by Simon Fraser
  • 3 edits in branches/safari-536.28-branch/Source/WebCore

<rdar://problem/12705577> Save one call to containerForRepaint() when updating layer positions (101856)

Merge r134174

2012-11-10 Simon Fraser <Simon Fraser>

Save one call to containerForRepaint() when updating layer positions
https://bugs.webkit.org/show_bug.cgi?id=101856

Reviewed by Dan Bernstein.

RenderLayer::updateLayerPositions() has already computed the repaint container,
but calls computeRepaintRects() which computes it again. Computing the repaint
container involves a walk back up the layer tree, so calling it during a tree
traversal is costly.

Fix by passing the repaint container down into computeRepaintRects().

  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::updateLayerPositions): (WebCore::RenderLayer::computeRepaintRects): (WebCore::RenderLayer::computeRepaintRectsIncludingDescendants): (WebCore::RenderLayer::updateLayerPositionsAfterScroll): (WebCore::RenderLayer::setHasVisibleContent):
  • rendering/RenderLayer.h: (RenderLayer):
6:07 PM Changeset in webkit [134707] by Simon Fraser
  • 3 edits in branches/safari-536.28-branch/Source/WebCore

<rdar://problem/12705261> Cache absolute clip rects on RenderLayer for compositing overlap testing (87212)

Merge r119458

2012-06-04 Simon Fraser <Simon Fraser>

Leaking ClipRects
https://bugs.webkit.org/show_bug.cgi?id=88282

Reviewed by Dan Bernstein.

In r118562 I made the ClipRectsCache use RefPtr<ClipRects>. However, ClipRects
was initialized with m_refCnt=0, not 1 as adoptRef() and friends expect. Also,
there was a manual ref() in RenderLayer::updateClipRects() which this patch removes.

  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::updateClipRects):
  • rendering/RenderLayer.h: (WebCore::ClipRects::ClipRects):
6:07 PM Changeset in webkit [134706] by Simon Fraser
  • 3 edits
    2 adds in branches/safari-536.28-branch

<rdar://problem/12705261> Cache absolute clip rects on RenderLayer for compositing overlap testing (87212)

Source/WebCore:

Merge r118612

2012-05-26 Simon Fraser <Simon Fraser>

Clip rects assertion when hovering div with transform
https://bugs.webkit.org/show_bug.cgi?id=87580

Reviewed by Eric Seidel.

Hit testing used to use temporary clip rects in composited documents,
until r118562. Now that we cache clip rects for hit testing, we need
to clear the cache on descendant layers when a layer gains or loses
a transform.

Test: fast/layers/clip-rects-assertion.html

  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::updateTransform):

LayoutTests:

Merge r118612

2012-05-26 Simon Fraser <Simon Fraser>

Clip rects assertion when hovering div with transform
https://bugs.webkit.org/show_bug.cgi?id=87580

Reviewed by Eric Seidel.

Test that changes transform on hover style, testing for clipRect-related
assertions.

  • fast/layers/clip-rects-assertion-expected.txt: Added.
  • fast/layers/clip-rects-assertion.html: Added.
6:06 PM Changeset in webkit [134705] by Simon Fraser
  • 7 edits in branches/safari-536.28-branch/Source/WebCore

<rdar://problem/12705261> Cache absolute clip rects on RenderLayer for compositing overlap testing (87212)

Merge r119458.

2012-05-25 Simon Fraser <Simon Fraser>

Cache absolute clip rects on RenderLayer for compositing overlap testing
https://bugs.webkit.org/show_bug.cgi?id=87212

Reviewed by Dave Hyatt.

Enhance the cache of ClipRects on RenderLayers to store three
different types of ClipRects, rather than just one.

We need to compute clip rects relative to different layers
for different purposes. For painting, we compute relative to
the compositing layer which is acting as a painting root.
For hit testing, we compute relative to the root, except
for transformed layers. For composting overlap testing, we
compute relative to the root ("absolute"). At other times, we do one-off
computation which we never want to cache ("temporary clip rects").

This change allows us to cache rects for hit testing, and for
compositing overlap testing. This has huge performance benefits
on some pages (bug 84410).

This change also makes ClipRects not arena-allocated, so we
can use RefPtr<ClipRect>.

No testable behavior change.

  • rendering/RenderBoxModelObject.cpp: (WebCore::RenderBoxModelObject::willBeDestroyed): No need for the explicit clipRects teardown, since clipRects don't need a live RenderObject for arena-based destruction.
  • rendering/RenderLayer.cpp: Remove arena-related new and delete. (WebCore::RenderLayer::RenderLayer): No need to explicitly initialize m_clipRects, since it's an OwnPtr now. (WebCore::RenderLayer::~RenderLayer): No explicit clipRect teardown required. (WebCore::RenderLayer::clippingRootForPainting): Renamed to make its purpose more obvious. (WebCore::RenderLayer::paintLayer): Use the TemporaryClipRects type when necessary. (WebCore::RenderLayer::paintLayerContents): Ditto (WebCore::RenderLayer::hitTestLayer): No longer need to use temporary clipRects when hit testing since we cache clip rects for hit testing. (WebCore::RenderLayer::updateClipRects): Take a ClipRectsType and pass it through. (WebCore::RenderLayer::calculateClipRects): Ditto (WebCore::RenderLayer::parentClipRects): Ditto (WebCore::RenderLayer::backgroundClipRect): Ditto (WebCore::RenderLayer::calculateRects): Take ClipRectsType, which obviates temporaryClipRects. (WebCore::RenderLayer::childrenClipRect): Use clippingRootForPainting(). (WebCore::RenderLayer::selfClipRect): Ditto (WebCore::RenderLayer::localClipRect): Ditto (WebCore::RenderLayer::clearClipRectsIncludingDescendants): Take a type of clip rect to clear (include all). Allows us to just clear painting clip rects. (WebCore::RenderLayer::clearClipRects):
  • rendering/RenderLayer.h: (WebCore::ClipRects::create): We don't use RefCounted<> in order to use a bit in the refCount for a flag. Add create() method. (WebCore::ClipRects::deref): No longer arena-allocated. (WebCore::ClipRectsCache::ClipRectsCache): Struct that holds a small array of the 3 types of clipRects (and, in debug, the layer relative to which they were computed). (WebCore::RenderLayer::clipRects):
  • rendering/RenderLayerBacking.cpp: (WebCore::RenderLayerBacking::updateCompositedBounds): Use AbsoluteClipRects; rootLayer is always the RenderView's layer here. (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): Use TemporaryClipRects. (WebCore::RenderLayerBacking::setRequiresOwnBackingStore): When this variable changes, we need to invalidate painting clipRects, since it affects the ancestor relative to which those rects are computed.
  • rendering/RenderLayerBacking.h:
  • rendering/RenderLayerCompositor.cpp: (WebCore::RenderLayerCompositor::updateBacking): When the composited state of a layer changes, we have to clear all descendant clip rects, since this can affect the layers relative to which clip rects are computed. (WebCore::RenderLayerCompositor::addToOverlapMap): Use AbsoluteClipRects. (WebCore::RenderLayerCompositor::computeCompositingRequirements): No need to call updateLayerPosition(), since that should have always happened after layout. That call cleared clip rects, so removing it is very beneficial. (WebCore::RenderLayerCompositor::clippedByAncestor): Use TemporaryClipRects.
  • rendering/RenderTreeAsText.cpp: (WebCore::writeLayers): Use TemporaryClipRects.
6:06 PM Changeset in webkit [134704] by Simon Fraser
  • 26 edits
    2 adds in branches/safari-536.28-branch/Source/WebCore

<rdar://problem/12705190> Terrible performance on http://alliances.commandandconquer.com/ and http://www.lordofultima.com/ and App Store (84410)

Merge r118567, r118617, r118957, r119172, r121124, r121130, r121306, r121446, r122376, r122653 (partial), r122802 (partial),
r133248

2012-11-01 Tien-Ren Chen <trchen@chromium.org>

Fix assertion failure in RenderGeometryMap::absoluteRect when frame scale != 1.0
https://bugs.webkit.org/show_bug.cgi?id=100912

Reviewed by Simon Fraser.

Frame scale will add transformation to RenderView, so fixed position doesn't
get propagated up to the viewport by RenderGeometryMap. This is handled
correctly in RenderView::mapLocalToContainer, causing the assertion to fail.
This patch corrects RenderGeometryMap::mapToAbsolute to handle the RenderView
transformation case.

A layout test is added to catch this issue. The test will crash debug build
without this patch.

Test: compositing/geometry/fixed-position-composited-page-scale-scroll.html

  • rendering/RenderGeometryMap.cpp: (WebCore::RenderGeometryMap::mapToAbsolute):

2012-07-16 Kiran Muppala <cmuppala@apple.com>

REGRESSION: RenderInline::absoluteQuads produces incorrect results for fixed position.
https://bugs.webkit.org/show_bug.cgi?id=91451

Reviewed by Simon Fraser.

RenderInline::absoluteQuads relies on copies of RenderGeometryMap,
created indirectly by passing AbsoluteQuadsGeneratorContext object by
value. These copies are unsafe because the individual transform steps
within the geometry map include a owned poitner to their respective
transform.

Modify the callee methods to take context by reference and disable
copy constructor for RenderGeometryMap.

Test: fast/inline/inline-fixed-position-boundingbox.html

  • rendering/RenderGeometryMap.h: (WebCore::RenderGeometryMapStep::RenderGeometryMapStep): Add missing m_offset to copy constructor initialization list. (RenderGeometryMap): Disable copy constructor.
  • rendering/RenderInline.cpp: Pass context object by reference. (WebCore::RenderInline::generateLineBoxRects): (WebCore::RenderInline::generateCulledLineBoxRects): (WebCore::RenderInline::absoluteRects): (WebCore::RenderInline::absoluteQuads): (WebCore::RenderInline::linesBoundingBox): (WebCore::RenderInline::culledInlineVisualOverflowBoundingBox): (WebCore::RenderInline::addFocusRingRects):
  • rendering/RenderInline.h: (RenderInline::generateLineBoxRects): Update method declarations to show pass by reference context parameter. (RenderInline::generateCulledLineBoxRects): Ditto.

2012-07-13 Kiran Muppala <cmuppala@apple.com>

REGRESSION: RenderInline boundingBox ignores relative position offset
https://bugs.webkit.org/show_bug.cgi?id=91168

Reviewed by Simon Fraser.

RenderGeometryMap, used for caching the transform to the view,
expects the first mapping pushed, to be that of the view itself.
RenderInline was instead pushing it's own offset first. Besides
the offset of the view itself was not being pushed.

Relaxed the RenderGeometryMap restriction that the first pushed
step should be of the view. It is sufficient that the view's mapping
is pushed in the first call to pushMappingsToAncestor. Modified
RenderInline to push the offset of the view also to the geometry map.

Test: fast/inline/inline-relative-offset-boundingbox.html

  • rendering/RenderGeometryMap.cpp: (WebCore::RenderGeometryMap::pushMappingsToAncestor): Add assertion to check if mapping to view was pushed in first invocation. (WebCore::RenderGeometryMap::pushView): Correct assertion that checks if the view's mapping is the first one to be applied. (WebCore::RenderGeometryMap::stepInserted): Use isRenderView to check if a mapping step belongs to a view instead of using mapping size. (WebCore::RenderGeometryMap::stepRemoved): Ditto.
  • rendering/RenderInline.cpp: (WebCore::(anonymous namespace)::AbsoluteQuadsGeneratorContext::AbsoluteQuadsGeneratorContext): Push mappings all the way up to and including the view.

2012-07-10 Simon Fraser <Simon Fraser>

Assertion ASSERTION FAILED: enclosingIntRect(rendererMappedResult) == enclosingIntRect(FloatQuad(result).boundingBox()) when compositing in paginated mode
https://bugs.webkit.org/show_bug.cgi?id=90919

Reviewed by Antti Koivisto.

r121124 added a fast path for geometry mapping that goes via layers
when possible. However, this broke paginated pages, which put
the root (RenderView) layer into column mode, because it failed
to check for columns on the ancestor layer.

Rather than make a risky change to convertToLayerCoords(), add a local
function canMapViaLayer(), which is like RenderLayer::canUseConvertToLayerCoords(),
but doesn't check for compositing (compositing itself is not a reason
to avoid convertToLayerCoords). Call canMapViaLayer() with the ancestorLayer
to check whether the ancestor has columns, which fixes the bug.

Test: compositing/columns/geometry-map-paginated-assert.html

  • rendering/RenderGeometryMap.cpp: (WebCore::canMapViaLayer): (WebCore::RenderGeometryMap::pushMappingsToAncestor):

2012-06-28 Antti Koivisto <Antti Koivisto>

Don't malloc RenderGeometryMap steps individually
https://bugs.webkit.org/show_bug.cgi?id=90074

Reviewed by Simon Fraser.

Mallocs and frees for steps under RenderGeometryMap::pus/popMappingsToAncestor can total ~2% of the profile when animating transforms.

  • rendering/RenderGeometryMap.cpp: (WebCore): (WebCore::RenderGeometryMap::absolutePoint): (WebCore::RenderGeometryMap::absoluteRect): (WebCore::RenderGeometryMap::mapToAbsolute): (WebCore::RenderGeometryMap::push): (WebCore::RenderGeometryMap::pushView): (WebCore::RenderGeometryMap::popMappingsToAncestor):
  • rendering/RenderGeometryMap.h: (WebCore): (WebCore::RenderGeometryMapStep::RenderGeometryMapStep):

Move to header.

(RenderGeometryMapStep):
(RenderGeometryMap):

Make the step vector hold RenderGeometryMapSteps instead of RenderGeometryMapStep*'s.

(WTF):

Give RenderGeometryMapSteps SimpleClassVectorTraits. This is needed for dealing with OwnPtr in the struct (and makes it faster too).
The type is simple enought to move by memcpy.

2012-06-26 Simon Fraser <Simon Fraser>

Optimize mappings of simple transforms in RenderGeometryMap
https://bugs.webkit.org/show_bug.cgi?id=90034

Reviewed by Dean Jackson.

For transforms that are identity or simple translations, don't
fall off the fast path in RenderGeometryMap; we can just
treat them as offsets.

Improves performance on pages with lots of translateZ(0) elements.

Remove RenderGeometryMapStep::mapPoint() and mapQuad(), which
were unused.

No new tests; optimization only, and tested by assertions.

  • rendering/RenderGeometryMap.cpp: (WebCore::RenderGeometryMap::push):

2012-06-24 Antti Koivisto <Antti Koivisto>

REGRESSION(r121124): LayoutTests/fast/block/inline-children-root-linebox-crash.html asserts
https://bugs.webkit.org/show_bug.cgi?id=89844

Reviewed by Dan Bernstein.

We need to check for the flipped writing mode and take the slow path if it is used.

  • rendering/RenderGeometryMap.cpp: (WebCore::RenderGeometryMap::pushMappingsToAncestor):

2012-06-24 Antti Koivisto <Antti Koivisto>

Optimize RenderGeometryMap mappings gathering
https://bugs.webkit.org/show_bug.cgi?id=89828

Reviewed by Simon Fraser.

RenderGeometryMap currently gathers mappings by climbing the rendering tree. This is slow and can produce
large number of mapping steps. In the common case we already have the child layer coordinates available in
the layer tree and we can just use that.

The combination of faster mappings gathering and fewer number of applying steps reduces time spent under
RenderLayerCompositor::computeCompositingRequirements to less than half when scrolling the mobile version
of twitter.com.

  • rendering/RenderGeometryMap.cpp: (WebCore): (WebCore::RenderGeometryMap::pushMappingsToAncestor):

Use pre-computed mapping from the layer tree when possible.

(WebCore::RenderGeometryMap::popMappingsToAncestor):

  • rendering/RenderGeometryMap.h:

Add some inline capacity.

(WebCore):
(RenderGeometryMap):

  • rendering/RenderLayer.h: (WebCore::RenderLayer::canUseConvertToLayerCoords): (RenderLayer):
  • rendering/RenderLayerCompositor.cpp: (WebCore::RenderLayerCompositor::addToOverlapMapRecursive): (WebCore::RenderLayerCompositor::computeCompositingRequirements):

2012-05-31 Simon Fraser <Simon Fraser>

RenderLayerCompositor cleanup: make RenderGeometryMap part of the OverlapMap
https://bugs.webkit.org/show_bug.cgi?id=88021

Reviewed by James Robinson.

We only ever use the RenderGeometryMap when we have an OverlapMap, so make
it a member of the OverlapMap.

No behavior change.

  • rendering/RenderLayerCompositor.cpp: (RenderLayerCompositor::OverlapMap): (WebCore::RenderLayerCompositor::OverlapMap::geometryMap): (WebCore::RenderLayerCompositor::updateCompositingLayers): (WebCore::RenderLayerCompositor::addToOverlapMap): (WebCore::RenderLayerCompositor::addToOverlapMapRecursive): (WebCore::RenderLayerCompositor::computeCompositingRequirements):
  • rendering/RenderLayerCompositor.h: (WebCore): (RenderLayerCompositor):

2012-05-29 Adrienne Walker <enne@google.com>

Transformed fixed position layers have an incorrect overlap map entry
https://bugs.webkit.org/show_bug.cgi?id=64201

Reviewed by Darin Adler.

Previously, layers that both had a transform and were fixed position
were not considered as being fixed position in RenderGeometryMap or in
RenderBox::mapLocalToContainer (although this case is not incorrect in
the case of painting, so an external caller likely adjusts for this).

Tests: compositing/layer-creation/fixed-position-and-transform.html

compositing/layer-creation/fixed-position-under-transform.html

  • rendering/RenderBox.cpp: (WebCore::RenderBox::mapLocalToContainer):
  • rendering/RenderGeometryMap.cpp: (WebCore::RenderGeometryMap::mapToAbsolute):

2012-05-26 Simon Fraser <Simon Fraser>

fast/block/inline-children-root-linebox-crash.html asserts after r118567
https://bugs.webkit.org/show_bug.cgi?id=87544

Reviewed by Darin Adler.

Remove fast/block/inline-children-root-linebox-crash.html from the skipped
list.

New, more complex writing mode flipping test with compositing.

  • compositing/geometry/flipped-blocks-inline-mapping-expected.txt: Added.
  • compositing/geometry/flipped-blocks-inline-mapping.html: Added.
  • platform/mac/Skipped:

2012-05-25 Simon Fraser <Simon Fraser>

Terrible performance on http://alliances.commandandconquer.com/ and http://www.lordofultima.com/
https://bugs.webkit.org/show_bug.cgi?id=84410

Reviewed by Dave Hyatt.

First part of fixing O(N2) issues when walking the RenderLayer tree
for computeCompositingRequirements().

For each layer that goes into the OverlapMap, we were computing an absolute
layer bounds, which requires walking back to the root of the tree.
Optimize this when possible by storing a stack of offsets as we walk
the tree, and using this stack to do the mapping.

The stack of offsets and transforms is managed by RenderGeometryMap.
When visiting a RenderLayer, RenderLayerCompositor pushes onto
the geometry map stack data about offsets and transforms between
the current layer and its stacking-parent. RenderGeometryMap handles
the case where the previous renderer pushed is between the current
renderer and its container. RenderGeometryMap can also handle callers
pushing renderers with multiple containers between them.

RenderGeometryMap stores some flags about whether the set of mapping
steps in the stack involve transforms, fixed position, or special non-uniform
mappings like CSS columns. In some cases, it falls back to mapping via
renderers.

Once constructed, the RenderGeometryMap stack can be used to map multiple
rects or points efficiently. Stacks consisting of simple offsets are
collapsed to a single offset.

Mappings between renderers and their containers are pushed by pushMappingToContainer()
methods, which are similar to mapLocalToContainer() methods. Having this code
in RenderObjects was deemed preferable to handling columns, transforms etc. all in
RenderLayer code.

Tested by assertions in RenderGeometryMap code that its mapping matches
mapping via localToAbsolute() calls.

RenderLayerCompositor::updateCompositingLayers() creates a RenderGeometryMap,
and pushes and pops layer renderers as it visits them. The geometry map is used
by RenderLayerCompositor::addToOverlapMap() when computing absolute layer bounds.

Futher optimizations in RenderGeometryMap are possible, especially with stacks that
have many offsets and a few transforms.

Tests: compositing/geometry/composited-in-columns.html

compositing/geometry/flipped-writing-mode.html

  • CMakeLists.txt: Add RenderGeometryMap
  • GNUmakefile.list.am: Ditt
  • Target.pri: Ditto
  • WebCore.gypi: Ditto
  • WebCore.vcproj/WebCore.vcproj: Ditto
  • WebCore.xcodeproj/project.pbxproj: Ditto
  • rendering/RenderBox.cpp: (WebCore::RenderBox::absoluteContentBox): (WebCore::RenderBox::pushMappingToContainer): (WebCore::RenderBox::offsetFromContainer):
  • rendering/RenderBox.h:
  • rendering/RenderGeometryMap.cpp: Added. (RenderGeometryMapStep): (WebCore::RenderGeometryMapStep::RenderGeometryMapStep): (WebCore::RenderGeometryMapStep::mapPoint): (WebCore::RenderGeometryMapStep::mapQuad): (WebCore::RenderGeometryMap::RenderGeometryMap): (WebCore::RenderGeometryMap::~RenderGeometryMap): (WebCore::RenderGeometryMap::absolutePoint): (WebCore::RenderGeometryMap::absoluteRect): (WebCore::RenderGeometryMap::mapToAbsolute): (WebCore::RenderGeometryMap::pushMappingsToAncestor): (WebCore::RenderGeometryMap::push): (WebCore::RenderGeometryMap::pushView): (WebCore::RenderGeometryMap::popMappingsToAncestor): (WebCore::RenderGeometryMap::stepInserted): (WebCore::RenderGeometryMap::stepRemoved):
  • rendering/RenderGeometryMap.h: Added. (RenderGeometryMap): (WebCore::RenderGeometryMap::hasNonUniformStep): (WebCore::RenderGeometryMap::hasTransformStep): (WebCore::RenderGeometryMap::hasFixedPositionStep):
  • rendering/RenderInline.cpp: (WebCore::RenderInline::offsetFromContainer): (WebCore::RenderInline::pushMappingToContainer):
  • rendering/RenderInline.h: (RenderInline):
  • rendering/RenderLayerCompositor.cpp: (WebCore::RenderLayerCompositor::updateCompositingLayers): (WebCore::RenderLayerCompositor::addToOverlapMap): (WebCore::RenderLayerCompositor::addToOverlapMapRecursive): (WebCore::RenderLayerCompositor::computeCompositingRequirements):
  • rendering/RenderLayerCompositor.h: (RenderLayerCompositor):
  • rendering/RenderObject.cpp: (WebCore::RenderObject::mapLocalToContainer): (WebCore::RenderObject::pushMappingToContainer): (WebCore::RenderObject::offsetFromContainer): (WebCore::RenderObject::container):
  • rendering/RenderObject.h:
  • rendering/RenderTableCell.cpp: (WebCore::RenderTableCell::offsetFromContainer):
  • rendering/RenderTableCell.h: (RenderTableCell):
  • rendering/RenderView.cpp: (WebCore::RenderView::pushMappingToContainer):
  • rendering/RenderView.h:
  • rendering/svg/RenderSVGForeignObject.cpp: (WebCore::RenderSVGForeignObject::pushMappingToContainer):
  • rendering/svg/RenderSVGForeignObject.h: (RenderSVGForeignObject):
  • rendering/svg/RenderSVGInline.cpp: (WebCore::RenderSVGInline::pushMappingToContainer):
  • rendering/svg/RenderSVGInline.h: (RenderSVGInline):
  • rendering/svg/RenderSVGModelObject.cpp: (WebCore::RenderSVGModelObject::pushMappingToContainer):
  • rendering/svg/RenderSVGModelObject.h: (RenderSVGModelObject):
  • rendering/svg/RenderSVGRoot.cpp: (WebCore::RenderSVGRoot::pushMappingToContainer):
  • rendering/svg/RenderSVGRoot.h: (RenderSVGRoot):
  • rendering/svg/RenderSVGText.cpp: (WebCore::RenderSVGText::pushMappingToContainer):
  • rendering/svg/RenderSVGText.h: (RenderSVGText):
  • rendering/svg/SVGRenderSupport.cpp: (WebCore::SVGRenderSupport::pushMappingToContainer):
  • rendering/svg/SVGRenderSupport.h: (SVGRenderSupport):
5:37 PM Changeset in webkit [134703] by alecflett@chromium.org
  • 2 edits in trunk/Source/WebKit2

Fix Windows exports for TestWebKit
https://bugs.webkit.org/show_bug.cgi?id=102302

Unreviewed, fixing Safari Win build.

Add missing exports.

  • win/WebKit2.def:
5:30 PM Changeset in webkit [134702] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

[CF]: XMLHttpRequest "timeout" events firing as "error" events
https://bugs.webkit.org/show_bug.cgi?id=102271

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2012-11-14
Reviewed by David Kilzer.

Initialize the tiemout flag if the error results from a timeout
in the USE(CFNETWORK) cases.

No new tests. This is covered by http/tests/xmlhttprequest/timeout
tests on ports that USE(CFNETWORK).

  • platform/network/cf/ResourceErrorCF.cpp:

(WebCore::ResourceError::ResourceError):

  • platform/network/mac/ResourceErrorMac.mm:

(WebCore::ResourceError::ResourceError):

5:28 PM Changeset in webkit [134701] by dpranke@chromium.org
  • 14 edits
    1 add
    1 delete in trunk/Tools

webkitpy: consolidate webkit-base-finding code
https://bugs.webkit.org/show_bug.cgi?id=102007

Reviewed by Eric Seidel.

This patch creates a new "WebKitFinder" class that other
modules can use to find the top of the WebKit tree and
commonly used subdirectories. This logic was in the
webkitpy.layout_test.port classes but wasn't specific to those
classes and now can be used by other modules without needing a port
(e.g., by the check-webkit-style python linter).

This code is somewhat redundant with the code for find_checkout_root()
in the scm modules, but it does not rely on the presence of a version
control system to work. This is a requirement for some uses of the
tree (e.g., Chromium tester checkouts).

This patch removes most of the logic from the layout_tests.port.config
module and makes that as private as possible. Now we just need to move
the default_configuration and flag_from_configuration logic into
DeprecatedPort (or someplace else appropriate) and we can finish
getting rid of the Config class (but that is a separate patch).

  • Scripts/webkitpy/common/webkit_finder.py: Added.

(WebKitFinder):
(WebKitFinder.init):
(WebKitFinder.webkit_base):
(WebKitFinder.path_from_webkit_base):
(WebKitFinder.path_to_script):
(WebKitFinder.layout_tests_dir):
(WebKitFinder.perf_tests_dir):

  • Scripts/webkitpy/layout_tests/port/base.py:

(Port.init):
(Port):
(Port.webkit_base):
(Port.path_from_webkit_base):
(Port.path_to_script):
(Port.layout_tests_dir):
(Port.perf_tests_dir):
(Port.set_option_default):
(Port._run_script):

  • Scripts/webkitpy/layout_tests/port/base_unittest.py:

(PortTest.test_diff_text):

  • Scripts/webkitpy/layout_tests/port/chromium_linux.py:

(ChromiumLinuxPort._determine_driver_path_statically):

  • Scripts/webkitpy/layout_tests/port/chromium_unittest.py:
  • Scripts/webkitpy/layout_tests/port/config.py:

(Config.init):
(Config.build_directory):
(Config.default_configuration):
(Config._read_configuration):

  • Scripts/webkitpy/layout_tests/port/config_mock.py: Removed.
  • Scripts/webkitpy/layout_tests/port/config_unittest.py:

(ConfigTest.test_default_configurationstandalone):
(ConfigTest.test_default_configuration
scripterror):

  • Scripts/webkitpy/layout_tests/port/driver_unittest.py:

(DriverTest.make_port):
(DriverTest.test_no_timeout):

  • Scripts/webkitpy/layout_tests/port/gtk.py:

(GtkPort.setup_environ_for_server):

  • Scripts/webkitpy/layout_tests/port/mac.py:

(MacPort.show_results_html_file):

  • Scripts/webkitpy/layout_tests/port/port_testcase.py:

(TestWebKitPort.init):
(PortTestCase.make_port):

  • Scripts/webkitpy/layout_tests/port/win_unittest.py:

(WinPortTest.test_expectations_files):

  • Scripts/webkitpy/layout_tests/port/xvfbdriver_unittest.py:

(XvfbDriverTest.make_driver):
(XvfbDriverTest.test_stop):

  • Scripts/webkitpy/style/checkers/python.py:

(Pylinter.init):

5:19 PM Changeset in webkit [134700] by dgrogan@chromium.org
  • 21 edits
    2 deletes in trunk/LayoutTests

IndexedDB: Test conversions batch 4
https://bugs.webkit.org/show_bug.cgi?id=102267

Reviewed by Tony Chang.

These are tests that don't have the js file in resources. The only
interesting bit is that lazy-index-population uncovered a potential bug.

I think tutorial.html has outlived its usefulness now that there are
more tutorials on the web. It was very outdated. It is deleted in
this patch.

  • storage/indexeddb/deletedatabase-transaction-expected.txt:
  • storage/indexeddb/deletedatabase-transaction.html:
  • storage/indexeddb/dont-commit-on-blocked-expected.txt:
  • storage/indexeddb/dont-commit-on-blocked.html:
  • storage/indexeddb/lazy-index-population-expected.txt:
  • storage/indexeddb/lazy-index-population.html:
  • storage/indexeddb/mozilla/index-prev-no-duplicate-expected.txt:
  • storage/indexeddb/mozilla/index-prev-no-duplicate.html:
  • storage/indexeddb/mozilla/resources/object-identity.js: Test added here to replace test covered in tutorial.html
  • storage/indexeddb/noblobs-expected.txt:
  • storage/indexeddb/noblobs.html:
  • storage/indexeddb/resources/dont-commit-on-blocked-worker.js:

(onSetVersionSuccess):

  • storage/indexeddb/structured-clone-expected.txt:
  • storage/indexeddb/structured-clone.html:
  • storage/indexeddb/transaction-complete-with-js-recursion-cross-frame-expected.txt:
  • storage/indexeddb/transaction-complete-with-js-recursion-cross-frame.html:
  • storage/indexeddb/transaction-complete-with-js-recursion-expected.txt:
  • storage/indexeddb/transaction-complete-with-js-recursion.html:
  • storage/indexeddb/tutorial-expected.txt: Removed.
  • storage/indexeddb/tutorial.html: Removed.
5:15 PM Changeset in webkit [134699] by Lucas Forschler
  • 2 edits in branches/safari-536.28-branch/Source/JavaScriptCore

Merge fix for <rdar://problem/12691662>.

5:11 PM Changeset in webkit [134698] by thakis@chromium.org
  • 3 edits
    2 adds in trunk

[chromium/mac] Fix drawing of buttons, checkboxes, radio boxes, and steppers when the page is scaled
https://bugs.webkit.org/show_bug.cgi?id=102282

Reviewed by James Robinson.

Chromium uses skia, and skia state is synced with CG context state at
LocalCurrentGraphicsContext construction time. So delay that
construction after context transforms have happened.
(This regressed in http://trac.webkit.org/changeset/125830)

Covered by the new pixel test fast/forms/zoomed-controls.html. I
couldn't find an existing test for this.

  • platform/mac/ThemeMac.mm:

(WebCore::paintCheckbox):
(WebCore::paintRadio):
(WebCore::paintButton):

5:01 PM Changeset in webkit [134697] by mark.lam@apple.com
  • 11 edits
    1 add in trunk/Source

Change JSEventListener::m_jsFunction to be a weak ref.
https://bugs.webkit.org/show_bug.cgi?id=101989.

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

Added infrastructure for scanning weak ref slots.

  • heap/SlotVisitor.cpp: Added #include "SlotVisitorInlines.h".
  • heap/SlotVisitor.h:

(SlotVisitor): Added SlotVisitor::appendUnbarrieredWeak().

  • heap/SlotVisitorInlines.h: Added #include "Weak.h".

(JSC::SlotVisitor::appendUnbarrieredWeak): Added.

  • heap/Weak.h:

(JSC::operator==): Added operator==() for Weak.

  • runtime/JSCell.h: Removed #include "SlotVisitorInlines.h".
  • runtime/JSObject.h: Added #include "SlotVisitorInlines.h".

Source/WebCore:

No new tests.

  • ForwardingHeaders/heap/SlotVisitor.h: Added.
  • bindings/js/JSDOMBinding.h: Added #include <heap/SlotVisitor.h>
  • bindings/js/JSEventListener.cpp:

(WebCore::JSEventListener::JSEventListener):
(WebCore::JSEventListener::visitJSFunction):
(WebCore::JSEventListener::operator==):

  • Removed the m_wrapper checks in operator==() because they are not needed. There is no longer any threat of m_jsFunction pointing to recycled memory. The use of weak refs will ensure that m_jsFunction is either still holding on to its old memory exclusively, or is 0'ed out when the GC collects it.
  • bindings/js/JSEventListener.h:

(JSEventListener):
(WebCore::JSEventListener::jsFunction):

4:58 PM Changeset in webkit [134696] by commit-queue@webkit.org
  • 50 edits in trunk/Source/WebCore

[V8] Rename dispatchWrap
https://bugs.webkit.org/show_bug.cgi?id=102240

Patch by Dan Carney <dcarney@google.com> on 2012-11-14
Reviewed by Adam Barth.

Mostly a rename:
dispatchWrap->wrap
wrapSlow->createWrapper
dispatchWrapCustom->wrap

No new tests. No change in functionality.

  • bindings/scripts/CodeGeneratorV8.pm:

(GenerateHeader):
(GenerateNormalAttrGetter):
(GenerateImplementation):
(GenerateToV8Converters):

  • bindings/scripts/IDLAttributes.txt:
  • bindings/scripts/test/V8/V8Float64Array.cpp:

(WebCore::wrap):
(WebCore::V8Float64Array::createWrapper):

  • bindings/scripts/test/V8/V8Float64Array.h:

(V8Float64Array):
(WebCore):
(WebCore::toV8Object):
(WebCore::toV8):

  • bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:

(WebCore::V8TestActiveDOMObject::createWrapper):

  • bindings/scripts/test/V8/V8TestActiveDOMObject.h:

(V8TestActiveDOMObject):
(WebCore::wrap):
(WebCore::toV8Object):
(WebCore::toV8):

  • bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:

(WebCore::V8TestCustomNamedGetter::createWrapper):

  • bindings/scripts/test/V8/V8TestCustomNamedGetter.h:

(V8TestCustomNamedGetter):
(WebCore::wrap):
(WebCore::toV8Object):
(WebCore::toV8):

  • bindings/scripts/test/V8/V8TestEventConstructor.cpp:

(WebCore::V8TestEventConstructor::createWrapper):

  • bindings/scripts/test/V8/V8TestEventConstructor.h:

(V8TestEventConstructor):
(WebCore::wrap):
(WebCore::toV8Object):
(WebCore::toV8):

  • bindings/scripts/test/V8/V8TestEventTarget.cpp:

(WebCore::V8TestEventTarget::createWrapper):

  • bindings/scripts/test/V8/V8TestEventTarget.h:

(V8TestEventTarget):
(WebCore::wrap):
(WebCore::toV8Object):
(WebCore::toV8):

  • bindings/scripts/test/V8/V8TestException.cpp:

(WebCore::V8TestException::createWrapper):

  • bindings/scripts/test/V8/V8TestException.h:

(V8TestException):
(WebCore::wrap):
(WebCore::toV8Object):
(WebCore::toV8):

  • bindings/scripts/test/V8/V8TestInterface.cpp:

(WebCore::V8TestInterface::createWrapper):

  • bindings/scripts/test/V8/V8TestInterface.h:

(V8TestInterface):
(WebCore::wrap):
(WebCore::toV8Object):
(WebCore::toV8):

  • bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:

(WebCore::V8TestMediaQueryListListener::createWrapper):

  • bindings/scripts/test/V8/V8TestMediaQueryListListener.h:

(V8TestMediaQueryListListener):
(WebCore::wrap):
(WebCore::toV8Object):
(WebCore::toV8):

  • bindings/scripts/test/V8/V8TestNamedConstructor.cpp:

(WebCore::V8TestNamedConstructor::createWrapper):

  • bindings/scripts/test/V8/V8TestNamedConstructor.h:

(V8TestNamedConstructor):
(WebCore::wrap):
(WebCore::toV8Object):
(WebCore::toV8):

  • bindings/scripts/test/V8/V8TestNode.cpp:

(WebCore::V8TestNode::createWrapper):

  • bindings/scripts/test/V8/V8TestNode.h:

(V8TestNode):
(WebCore::wrap):
(WebCore::toV8Object):
(WebCore::toV8):
(WebCore::toV8Fast):

  • bindings/scripts/test/V8/V8TestObj.cpp:

(WebCore::V8TestObj::createWrapper):

  • bindings/scripts/test/V8/V8TestObj.h:

(V8TestObj):
(WebCore::wrap):
(WebCore::toV8Object):
(WebCore::toV8):

  • bindings/scripts/test/V8/V8TestOverloadedConstructors.cpp:

(WebCore::V8TestOverloadedConstructors::createWrapper):

  • bindings/scripts/test/V8/V8TestOverloadedConstructors.h:

(V8TestOverloadedConstructors):
(WebCore::wrap):
(WebCore::toV8Object):
(WebCore::toV8):

  • bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:

(WebCore::V8TestSerializedScriptValueInterface::createWrapper):

  • bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:

(V8TestSerializedScriptValueInterface):
(WebCore::wrap):
(WebCore::toV8Object):
(WebCore::toV8):

  • bindings/v8/custom/V8BlobCustom.cpp:

(WebCore::wrap):

  • bindings/v8/custom/V8CSSRuleCustom.cpp:

(WebCore::wrap):

  • bindings/v8/custom/V8CSSValueCustom.cpp:

(WebCore::wrap):

  • bindings/v8/custom/V8CanvasRenderingContextCustom.cpp:

(WebCore::wrap):

  • bindings/v8/custom/V8DataViewCustom.cpp:

(WebCore::wrap):

  • bindings/v8/custom/V8DocumentCustom.cpp:

(WebCore::wrap):

  • bindings/v8/custom/V8ElementCustom.cpp:

(WebCore):
(WebCore::wrap):

  • bindings/v8/custom/V8EntryCustom.cpp:

(WebCore::wrap):

  • bindings/v8/custom/V8EntrySyncCustom.cpp:

(WebCore::wrap):

  • bindings/v8/custom/V8EventCustom.cpp:

(WebCore):
(WebCore::wrap):

  • bindings/v8/custom/V8HTMLCollectionCustom.cpp:

(WebCore::wrap):

  • bindings/v8/custom/V8HTMLDocumentCustom.cpp:

(WebCore::wrap):

  • bindings/v8/custom/V8HTMLElementCustom.cpp:

(WebCore::wrap):

  • bindings/v8/custom/V8ImageDataCustom.cpp:

(WebCore::wrap):

  • bindings/v8/custom/V8NodeCustom.cpp:

(WebCore::wrap):

  • bindings/v8/custom/V8PerformanceEntryCustom.cpp:

(WebCore::wrap):

  • bindings/v8/custom/V8SVGDocumentCustom.cpp:

(WebCore::wrap):

  • bindings/v8/custom/V8SVGElementCustom.cpp:

(WebCore::wrap):

  • bindings/v8/custom/V8SVGPathSegCustom.cpp:

(WebCore::wrap):

  • bindings/v8/custom/V8StyleSheetCustom.cpp:

(WebCore::wrap):

  • dom/make_names.pl:

(printWrapperFunctions):
(printWrapperFactoryCppFile):

4:50 PM Changeset in webkit [134695] by fpizlo@apple.com
  • 4 edits
    3 adds in trunk

Read-only properties created with putDirect() should tell the structure that there are read-only properties
https://bugs.webkit.org/show_bug.cgi?id=102292

Reviewed by Gavin Barraclough.

Source/JavaScriptCore:

This mostly affects things like function.length.

  • runtime/JSObject.h:

(JSC::JSObject::putDirectInternal):

LayoutTests:

  • fast/js/function-dot-length-read-only-expected.txt: Added.
  • fast/js/function-dot-length-read-only.html: Added.
  • fast/js/jsc-test-list:
  • fast/js/script-tests/function-dot-length-read-only.js: Added.

(foo):
(Bar):

4:49 PM Changeset in webkit [134694] by commit-queue@webkit.org
  • 5 edits in trunk/Source

[EFL] Refactor theme to choose whether to support foreground color of selection
https://bugs.webkit.org/show_bug.cgi?id=102037

Patch by Ryuan Choi <ryuan.choi@gmail.com> on 2012-11-14
Reviewed by Gyuyoung Kim.

Source/WebCore:

RenderThemeEfl can change foreground color of selection using theme file.
But it can not disable supports of foreground color to keep the text color
which is selected.

This patch refactors color classes of theme file from active/inactive classes
to foreground/background classes so that RenderThemeEfl checks whether
theme file supports foreground color class.

  • platform/efl/RenderThemeEfl.cpp:

(WebCore::fillColorsFromEdjeClass):
(WebCore::RenderThemeEfl::setColorFromThemeClass):
(WebCore::RenderThemeEfl::loadTheme):
(WebCore::RenderThemeEfl::RenderThemeEfl):
(WebCore::RenderThemeEfl::supportsSelectionForegroundColors):
(WebCore):

  • platform/efl/RenderThemeEfl.h:

(RenderThemeEfl):

Source/WebKit/efl:

  • DefaultTheme/default.edc:

Refactored color classes from active/inactive to foreground/background.

4:48 PM Changeset in webkit [134693] by tony@chromium.org
  • 11 edits in trunk/Source/WebCore

Convert m_selectorVector back to a stack allocated m_reusableSelectorVector
https://bugs.webkit.org/show_bug.cgi?id=102295

Reviewed by Andreas Kling.

Revert r125252 because we're not going to go forward with implementing CSS hierarchies at this time.

No new tests because there should be no change in behavior.

  • css/CSSGrammar.y.in:
  • css/CSSParser.cpp:

(WebCore::CSSParser::CSSParser):
(WebCore::CSSParser::parseValue):
(WebCore::CSSParser::parseColor):
(WebCore::CSSParser::parseDeclaration):
(WebCore):
(WebCore::filterProperties):
(WebCore::CSSParser::createStylePropertySet):
(WebCore::CSSParser::addProperty):
(WebCore::CSSParser::rollbackLastProperties):
(WebCore::CSSParser::clearProperties):
(WebCore::CSSParser::parse4Values):
(WebCore::CSSParser::parseFlowThread):
(WebCore::CSSParser::addTextDecorationProperty):
(WebCore::CSSParser::createFloatingSelectorVector):
(WebCore::CSSParser::sinkFloatingSelectorVector):
(WebCore::CSSParser::createStyleRule):
(WebCore::CSSParser::createFontFaceRule):
(WebCore::CSSParser::createPageRule):
(WebCore::CSSParser::setReusableRegionSelectorVector):
(WebCore::CSSParser::startDeclarationsForMarginBox):
(WebCore::CSSParser::endDeclarationsForMarginBox):
(WebCore::CSSParser::deleteFontFaceOnlyValues):

  • css/CSSParser.h:

(WebCore::CSSParser::hasProperties):
(WebCore::CSSParser::reusableSelectorVector):
(CSSParser):
(WebCore::CSSParser::reusableRegionSelectorVector):

  • css/CSSParserValues.cpp:

(WebCore::CSSParserSelector::adoptSelectorVector):

  • css/CSSParserValues.h:

(CSSParserSelector):

  • css/CSSSelectorList.cpp:

(WebCore::CSSSelectorList::adoptSelectorVector):

  • css/CSSSelectorList.h:

(CSSSelectorList):

  • css/SVGCSSParser.cpp:

(WebCore::CSSParser::parseSVGValue):

  • css/StyleRule.cpp:

(WebCore::StyleRuleRegion::StyleRuleRegion):

  • css/StyleRule.h:

(WebCore::StyleRule::parserAdoptSelectorVector):
(WebCore::StyleRulePage::parserAdoptSelectorVector):
(WebCore::StyleRuleRegion::create):
(StyleRuleRegion):

4:43 PM Changeset in webkit [134692] by danakj@chromium.org
  • 2 edits in trunk/Tools

[chromium] WebPreferences reset() should set perTilePainting and acceleratedAnimation settings to false.
https://bugs.webkit.org/show_bug.cgi?id=102296

Reviewed by James Robinson.

These settings are always set by TestShell anyhow, but we should be
setting them to false here along with everything else.

  • DumpRenderTree/chromium/WebPreferences.cpp:

(WebPreferences::reset):

4:34 PM Changeset in webkit [134691] by alecflett@chromium.org
  • 8 edits
    3 adds in trunk

Add tests for explicit serialization values
https://bugs.webkit.org/show_bug.cgi?id=96818

Reviewed by Adam Barth.

Source/WebCore:

Expose direct access to the serialization/deserialization mechanisms
of SerializedScriptValue to DumpRenderTree.

  • testing/Internals.cpp:

(WebCore::Internals::serializeObject):
(WebCore):
(WebCore::Internals::deserializeBuffer):

  • testing/Internals.h:

(WebCore):

  • testing/Internals.idl:

LayoutTests:

Make sure SerializedScriptValues are backward compatible with future changes.

  • platform/chromium/fast/storage/serialized-script-value.html: Added.
4:29 PM Changeset in webkit [134690] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

Coordinated Graphics: Remove unused members and methods in CoordinatedGraphicsLayer.
https://bugs.webkit.org/show_bug.cgi?id=102172

Patch by Huang Dongsung <luxtella@company100.net> on 2012-11-14
Reviewed by Noam Rosenthal.

  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:

(CoordinatedGraphicsLayer):

4:23 PM Changeset in webkit [134689] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

IndexedDB: Add clear() method to JSC ScriptValue
https://bugs.webkit.org/show_bug.cgi?id=102288

Patch by Michael Pruett <michael@68k.org> on 2012-11-14
Reviewed by Kentaro Hara.

IndexedDB uses the ScriptValue::clear() method, which existed
previously only in the V8 implementation of ScriptValue. This
change is necessary to implement IndexedDB for JSC.

Tests: storage/indexeddb/*

  • bindings/js/ScriptValue.h:

(WebCore::ScriptValue::clear):
(ScriptValue):

4:19 PM Changeset in webkit [134688] by Dimitri Glazkov
  • 2 edits in trunk/LayoutTests

[Chromium] Marked more virtual/deferred/fast/images as failing.
https://bugs.webkit.org/show_bug.cgi?id=102294

3:59 PM Changeset in webkit [134687] by beidson@apple.com
  • 13 edits
    1 copy in trunk/Source/WebKit2

Move loading responsibility out of WebResourceLoadScheduler into a new WebResourceLoader
https://bugs.webkit.org/show_bug.cgi?id=102259

Reviewed by Alexey Proskuryakov.

Add a new WebResourceLoader message class which allows NetworkResourceLoader to message
WebResourceLoaders directly.

Consolidate the NetworkProcessConnection and WebResourceLoadScheduler messaging responsibilities
directly into WebResourceLoader.

Build-system infrastructure stuff:

  • DerivedSources.make:
  • Platform/CoreIPC/MessageID.h:
  • WebKit2.xcodeproj/project.pbxproj:

Message directly to WebResourceLoader instead of NetworkProcessConnection:

  • NetworkProcess/NetworkResourceLoader.cpp:

(WebKit::NetworkResourceLoader::connection):
(WebKit::NetworkResourceLoader::didReceiveResponse):
(WebKit::NetworkResourceLoader::didReceiveData):
(WebKit::NetworkResourceLoader::didFinishLoading):
(WebKit::NetworkResourceLoader::didFail):
(WebKit::NetworkResourceLoader::willSendRequest):

  • NetworkProcess/NetworkResourceLoader.h:

(WebKit::NetworkResourceLoader::destinationID):

For now handle the only relevant message class which is the WebResourceLoader class:

  • WebProcess/Network/NetworkProcessConnection.cpp:

(WebKit::NetworkProcessConnection::didReceiveMessage):

  • WebProcess/Network/NetworkProcessConnection.h:
  • WebProcess/Network/NetworkProcessConnection.messages.in:

Allow access to WebResourceLoaders by identifier:

  • WebProcess/Network/WebResourceLoadScheduler.cpp:
  • WebProcess/Network/WebResourceLoadScheduler.h:

(WebKit::WebResourceLoadScheduler::webResourceLoaderForIdentifier):

Directly handle resource loading messages instead of having WebResourceLoadScheduler do it:

  • WebProcess/Network/WebResourceLoader.cpp:

(WebKit::WebResourceLoader::willSendRequest):
(WebKit::WebResourceLoader::didReceiveResponse):
(WebKit::WebResourceLoader::didReceiveData):
(WebKit::WebResourceLoader::didFinishResourceLoad):
(WebKit::WebResourceLoader::didFailResourceLoad):
(WebKit::WebResourceLoader::didReceiveResource):

  • WebProcess/Network/WebResourceLoader.h:
  • WebProcess/Network/WebResourceLoader.messages.in:
3:56 PM Changeset in webkit [134686] by aestes@apple.com
  • 2 edits in trunk/Source/WebKit2

Fix the Lion build after r134681.

  • WebProcess/Network/CustomProtocols/mac/CustomProtocolManagerMac.mm:
3:52 PM Changeset in webkit [134685] by jsbell@chromium.org
  • 2 edits in trunk/Source/WebCore

IndexedDB: Indexing tests are flaky-crashing
https://bugs.webkit.org/show_bug.cgi?id=102283

Reviewed by Tony Chang.

Don't commit the transaction if there are outstanding pre-emptive events
from indexing operations.

Speculative fix for the flakiness.

  • Modules/indexeddb/IDBTransactionBackendImpl.cpp:

(WebCore::IDBTransactionBackendImpl::taskEventTimerFired):

3:43 PM Changeset in webkit [134684] by Dimitri Glazkov
  • 2 edits in trunk/LayoutTests

[Chromium] Marked platform/chromium/virtual/deferred/fast/images/exif-orientation.html as failing.
https://bugs.webkit.org/show_bug.cgi?id=102294

3:36 PM Changeset in webkit [134683] by tony@chromium.org
  • 4 edits
    2 adds in trunk

Crash in flexbox when removing absolutely positioned children
https://bugs.webkit.org/show_bug.cgi?id=100465

Reviewed by Ojan Vafai.

Source/WebCore:

We use m_numberOfChildrenOnFirstLine when computing baseline alignment.
This value gets set during flexbox layout. When we remove an absolutely
positioned child, we don't relayout and this value would get stale.

Change m_numberOfChildrenOnFirstLine to m_numberOfInFlowChildrenOnFirstLine
so the value doesn't get stale when we remove absolutely positioned children.
Also change the loop in firstLineBoxBaseline to bail if we run off the end of
the iterator.

Test: css3/flexbox/crash-removing-out-of-flow-child.html

  • rendering/RenderFlexibleBox.cpp:

(WebCore::RenderFlexibleBox::RenderFlexibleBox):
(WebCore::RenderFlexibleBox::firstLineBoxBaseline):
(WebCore::RenderFlexibleBox::layoutBlock):
(WebCore::RenderFlexibleBox::repositionLogicalHeightDependentFlexItems):
(WebCore::RenderFlexibleBox::layoutAndPlaceChildren):

  • rendering/RenderFlexibleBox.h:

LayoutTests:

Test case for the crash.

  • css3/flexbox/crash-removing-out-of-flow-child-expected.txt: Added.
  • css3/flexbox/crash-removing-out-of-flow-child.html: Added.
3:34 PM Changeset in webkit [134682] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Don't access Node& after adding nodes to the graph.
https://bugs.webkit.org/show_bug.cgi?id=102005

Reviewed by Oliver Hunt.

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::fixupNode):

3:29 PM Changeset in webkit [134681] by aestes@apple.com
  • 21 edits
    3 copies
    10 adds in trunk

[WebKit2] Need API in UIProcess to enable loading of custom protocols
https://bugs.webkit.org/show_bug.cgi?id=101674

Reviewed by Brady Eidson.

Source/WebKit2:

Enable clients of WebKit2 to implement NSURLProtocol subclasses to
control the loading of resources with schemes that WebKit2 cannot
handle natively. Since loading happens in a different process, we
accomplish this by registering a global NSURLProtocol in the web
process and proxying NSURLProtocol and NSURLProtocolClient calls to
the client's NSURLProtocol in the UI process.

  • DerivedSources.make: Addded new .messages.in files.
  • Platform/CoreIPC/MessageID.h:
  • Shared/WebProcessCreationParameters.cpp: Added the list of supported schemes.

(WebKit::WebProcessCreationParameters::encode):
(WebKit::WebProcessCreationParameters::decode):

  • Shared/WebProcessCreationParameters.h:
  • UIProcess/API/mac/WKBrowsingContextController.h:
  • UIProcess/API/mac/WKBrowsingContextController.mm:

(+[WKBrowsingContextController registerSchemeForCustomProtocol:]):
Added a class method where a client can register a scheme that it supports.
(+[WKBrowsingContextController unregisterSchemeForCustomProtocol:]):
Added a class method where a client can unregister a scheme that it no longer supports.
(+[WKBrowsingContextController customSchemes]):

  • UIProcess/API/mac/WKBrowsingContextControllerInternal.h:
  • UIProcess/Network/CustomProtocols/CustomProtocolManagerProxy.h: Added.
  • UIProcess/Network/CustomProtocols/CustomProtocolManagerProxy.messages.in: Added.
  • UIProcess/Network/CustomProtocols/mac/CustomProtocolManagerProxyMac.mm: Added.

Implemented an NSURLConnectionDelegate that proxies messages to the
equivalent NSURLProtocolClient in the web process:
(-[WKCustomProtocolLoader initWithCustomProtocolManagerProxy:customProtocolID:request:connection:]):
(-[WKCustomProtocolLoader dealloc]):
(-[WKCustomProtocolLoader connection:didFailWithError:]):
(-[WKCustomProtocolLoader connection:willCacheResponse:]):
(-[WKCustomProtocolLoader connection:didReceiveResponse:]):
(-[WKCustomProtocolLoader connection:didReceiveData:]):
(-[WKCustomProtocolLoader connection:willSendRequest:redirectResponse:]):
(-[WKCustomProtocolLoader connectionDidFinishLoading:]):

Implemented a proxy that recieves -startLoading and -stopLoading
messages from the NSURLProtocol in the web process and starts an
NSURLConnection in the UI process, which will instantiate the client's NSURLProtocol:
(WebKit::CustomProtocolManagerProxy::CustomProtocolManagerProxy):
(WebKit::CustomProtocolManagerProxy::didReceiveMessage):
(WebKit::CustomProtocolManagerProxy::startLoading):
(WebKit::CustomProtocolManagerProxy::stopLoading):

  • UIProcess/WebContext.h: Declared strings that store names of

NSNotifications used for scheme registration in the UI process.

  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::WebProcessProxy):
(WebKit::WebProcessProxy::didReceiveMessage): Forwarded messages to the
CustomProtocolManagerProxy.

  • UIProcess/WebProcessProxy.h:
  • UIProcess/mac/WebContextMac.mm:

(WebKit::WebContext::platformInitializeWebProcess): Added the currently
registered schemes to the WebProcessCreationParameters and register
NSNotification observers for new scheme registration that forwards to
the context's web processes.

  • WebKit2.xcodeproj/project.pbxproj:
  • WebKit2Prefix.h: Enabled the CUSTOM_PROTOCOLS macro for the Mac.
  • WebProcess/Network/CustomProtocols/CustomProtocolManager.h: Added.
  • WebProcess/Network/CustomProtocols/CustomProtocolManager.messages.in: Added.
  • WebProcess/Network/CustomProtocols/mac/CustomProtocolManagerMac.mm: Added.

(generateCustomProtocolID): Generate a per-WebProcess unique ID.

Implemented a global NSURLProtocol that claims to support all schemes
registered in the UI process. When NSURLConnection calls -startLoading
and -stopLoading, we forward these messages to the client's NSURLProtocol
in the UI process:
(+[WKCustomProtocol canInitWithRequest:]):
(+[WKCustomProtocol canonicalRequestForRequest:]):
(+[WKCustomProtocol requestIsCacheEquivalent:toRequest:]):
(-[WKCustomProtocol initWithRequest:cachedResponse:client:]):
(-[WKCustomProtocol startLoading]):
(-[WKCustomProtocol stopLoading]):

Implemented a manager that receives NSURLConnectionDelegate messages
forwarded from the UI process and passes them to the global NSURLProtocol's NSURLProtocolClient:
(WebKit::CustomProtocolManager::shared):
(WebKit::CustomProtocolManager::registerCustomProtocolClass):
(WebKit::CustomProtocolManager::addCustomProtocol):
(WebKit::CustomProtocolManager::removeCustomProtocol):
(WebKit::CustomProtocolManager::registerScheme):
(WebKit::CustomProtocolManager::unregisterScheme):
(WebKit::CustomProtocolManager::supportsScheme):
(WebKit::CustomProtocolManager::didReceiveMessage):
(WebKit::CustomProtocolManager::didFailWithError):
(WebKit::CustomProtocolManager::didLoadData):
(WebKit::CustomProtocolManager::didReceiveResponse):
(WebKit::CustomProtocolManager::didFinishLoading):
(WebKit::CustomProtocolManager::protocolForID):

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::didReceiveMessage): Forwarded messages to the
shared CustomProtocolManager.
(WebKit::WebProcess::registerSchemeForCustomProtocol): Register a
scheme received from the UI process.
(WebKit::WebProcess::unregisterSchemeForCustomProtocol): Unregister a
scheme received from the UI process.

  • WebProcess/WebProcess.h:
  • WebProcess/WebProcess.messages.in: Declared messages for passing

supported schemes from the UI process the web process.

  • WebProcess/mac/WebProcessMac.mm:

(WebKit::WebProcess::platformInitializeWebProcess): Register the
schemes contained in the WebProcessCreationParameters.

Tools:

Add an API test that implements a custom protocol and attempts to load
a resource requiring that protocol in a WKView. The test passes only if
didFinishLoadForFrame: fires.

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebKit2ObjC/CustomProtocolsTest.mm: Added.

(+[TestProtocol canInitWithRequest:]):
(+[TestProtocol canonicalRequestForRequest:]):
(+[TestProtocol requestIsCacheEquivalent:toRequest:]):
(-[TestProtocol startLoading]):
(-[TestProtocol stopLoading]):

  • TestWebKitAPI/Tests/WebKit2ObjC/UserContentTest.mm:
  • TestWebKitAPI/mac/TestBrowsingContextLoadDelegate.h: Copied from Source/WebKit2/UIProcess/API/mac/WKBrowsingContextControllerInternal.h.
  • TestWebKitAPI/mac/TestBrowsingContextLoadDelegate.mm: Copied from Source/WebKit2/UIProcess/API/mac/WKBrowsingContextControllerInternal.h.

(-[TestBrowsingContextLoadDelegate initWithBlockToRunOnLoad:]):
(-[TestBrowsingContextLoadDelegate browsingContextControllerDidFinishLoad:]):

3:28 PM Changeset in webkit [134680] by jsbell@chromium.org
  • 5 edits in trunk/Source

IndexedDB: Remove magic numbers in record comparator, handle missing case
https://bugs.webkit.org/show_bug.cgi?id=102255

Reviewed by Tony Chang.

Source/WebCore:

For some ranges of metadata entries, a simple type byte comparison is sufficient
for the backing store comparator. In two places those ranges used magic numbers,
one of which was incorrect - which could lead to failed reads/writes.

Test: webkit_unit_tests --gtest_filter='IDBLevelDBCodingTest.ComparisonTest'

  • Modules/indexeddb/IDBLevelDBCoding.cpp:

(IDBLevelDBCoding):
(WebCore::IDBLevelDBCoding::compare):

  • Modules/indexeddb/IDBLevelDBCoding.h:

Source/WebKit/chromium:

Add test keys for various metadata types.

  • tests/IDBLevelDBCodingTest.cpp:

(IDBLevelDBCoding::TEST):

3:27 PM Changeset in webkit [134679] by krit@webkit.org
  • 4 edits in trunk/Source/WebCore

Cleanup BasicShape blending check
https://bugs.webkit.org/show_bug.cgi?id=102289

Reviewed by Daniel Bates.

CSSPropertyAnimation had the same code for varifying that two BasicShape objects can be blended
twice. Refactor the code and add a canBlend method in BasicShape that combines both checks. This
is a preparation for follow-up patches.

Pure refactoring without behavior change, no new tests.

  • page/animation/CSSPropertyAnimation.cpp:

(WebCore::blendFunc): Call new canBlend method for blending verification.

  • rendering/style/BasicShapes.cpp:

(WebCore::BasicShape::canBlend): Check if two BasicShape objects can be blended.
(WebCore):

  • rendering/style/BasicShapes.h:
3:09 PM Changeset in webkit [134678] by krit@webkit.org
  • 4 edits
    2 adds in trunk

[CSS Exclusions] Basic shapes on 'shape-inside' should be animatable
https://bugs.webkit.org/show_bug.cgi?id=102123

Reviewed by Antti Koivisto.

Source/WebCore:

The '-webkit-shape-inside' propery takes a BasicShape as input like
'-webkit-clip-path'. Follow up on http://trac.webkit.org/changeset/134352 and
make '-webkit-shape-inside' animatable as well.

Test: fast/exclusions/shape-inside/shape-inside-animation.html

  • page/animation/CSSPropertyAnimation.cpp:

(WebCore::blendFunc): Blend fuction for exclusion shapes. The property takes another

input then '-webkit-clip-path'.

(WebCore):
(PropertyWrapperBasicShape): Add wrapper for BasicShape object. Can be reused by

'-webkit-shape-ourside' as well.

(WebCore::PropertyWrapperBasicShape::PropertyWrapperBasicShape):
(WebCore::CSSPropertyAnimation::ensurePropertyMap):

LayoutTests:

Add new animation test for 'shape-inside', similar to 'clip-path' test.

  • animations/resources/animation-test-helpers.js:

(getPropertyValue):
(comparePropertyValue):

  • fast/exclusions/shape-inside/shape-inside-animation-expected.txt: Added.
  • fast/exclusions/shape-inside/shape-inside-animation.html: Added.
3:04 PM Changeset in webkit [134677] by msaboff@apple.com
  • 2 edits in trunk/Source/WTF

String::append() should handle two 8 bit strings without converting both to 16 bits
https://bugs.webkit.org/show_bug.cgi?id=102286

Reviewed by Oliver Hunt.

If both strings are 8 bit, then allocate and copy to a new 8 bit string. Since most strings are
8 bit, this will save up to 3x the resulting string length in bytes. 2x is due to the possible
surviving 16 bit source string upconversion and 1x for the 16 bit result now being 8 bit.

  • wtf/text/WTFString.cpp:

(WTF::String::append):

3:02 PM Changeset in webkit [134676] by commit-queue@webkit.org
  • 4 edits in trunk/Source

[TexMap][Cairo] Accelerated compositing debug visuals
https://bugs.webkit.org/show_bug.cgi?id=101883

Patch by Helder Correia <Helder Correia> on 2012-11-14
Reviewed by Kenneth Rohde Christiansen.

No new tests, just introducing a debug feature.

Add a Cairo implementation to complement the patch from bug 90116
(http://trac.webkit.org/changeset/122275).

For this feature to be enabled, the environment variable
WEBKIT_SHOW_COMPOSITING_DEBUG_VISUALS must be set to 1. Once enabled,
both repaint counters and tile borders will be painted.

A Cairo-specific drawRepaintCounter() implementation was added to
TextureMapperGL. A cairo_surface_t is used as scratch buffer to paint
the counters. It is then uploaded to a BitmapTexture acquired
from the pool and finally draw by TextureMapper. The actual compositing
happens inside LayerBackingStore::paintToTextureMapper(). Each
LayerBackingStoreTile has a repaint counter which gets incremented in
LayerBackingStore::updateTile().

Source/WebCore:

  • platform/graphics/texmap/TextureMapperGL.cpp:

(WebCore::TextureMapperGL::drawRepaintCounter):

Source/WebKit2:

  • UIProcess/CoordinatedGraphics/CoordinatedBackingStore.cpp:

(WebKit::shouldShowTileDebugVisuals):

3:01 PM Changeset in webkit [134675] by ojan@chromium.org
  • 2 edits in trunk/Tools

Fix some defuct flakiness dashboard unittests.

  • TestResultServer/static-dashboards/flakiness_dashboard_unittests.js:
2:47 PM Changeset in webkit [134674] by commit-queue@webkit.org
  • 18 edits in trunk/Source/WebCore

IndexedDB: Add JSNoStaticTables to IndexedDB interfaces
https://bugs.webkit.org/show_bug.cgi?id=102268

Patch by Michael Pruett <michael@68k.org> on 2012-11-14
Reviewed by Geoffrey Garen.

Add JSNoStaticTables attribute to IndexedDB interface
definitions. This attribute must be specified in interfaces
which can be accessed from workers.

Tests: storage/indexeddb/*

  • Modules/indexeddb/IDBAny.idl:
  • Modules/indexeddb/IDBCursor.idl:
  • Modules/indexeddb/IDBCursorWithValue.idl:
  • Modules/indexeddb/IDBDatabase.idl:
  • Modules/indexeddb/IDBDatabaseException.idl:
  • Modules/indexeddb/IDBFactory.idl:
  • Modules/indexeddb/IDBIndex.idl:
  • Modules/indexeddb/IDBKey.idl:
  • Modules/indexeddb/IDBKeyRange.idl:
  • Modules/indexeddb/IDBObjectStore.idl:
  • Modules/indexeddb/IDBOpenDBRequest.idl:
  • Modules/indexeddb/IDBRequest.idl:
  • Modules/indexeddb/IDBTransaction.idl:
  • Modules/indexeddb/IDBUpgradeNeededEvent.idl:
  • Modules/indexeddb/IDBVersionChangeEvent.idl:
  • Modules/indexeddb/IDBVersionChangeRequest.idl:
  • dom/DOMStringList.idl:
2:42 PM Changeset in webkit [134673] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

IndexedDB: Replace int64 with int64_t
https://bugs.webkit.org/show_bug.cgi?id=102270

Patch by Michael Pruett <michael@68k.org> on 2012-11-14
Reviewed by Tony Chang.

Cleaning up coding inconsistencies, no change in behavior.

Tests: storage/indexeddb/*

  • Modules/indexeddb/IDBDatabase.cpp:

(WebCore::IDBDatabase::deleteObjectStore):

  • Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:

(WebCore::IDBObjectStoreBackendImpl::putInternal):

2:39 PM Changeset in webkit [134672] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Do not clear the ProcessingChangeGuard state on DeleteBackward
https://bugs.webkit.org/show_bug.cgi?id=102284

Patch by Nima Ghanavatian <nghanavatian@rim.com> on 2012-11-14
Reviewed by Rob Buis.

PR237497
When holding backspace, clearing the state forces a keyboard
update which resets the state of the keyboard. Handling this
specific corner case separate from all other editor commands.

Internally reviewed by Mike Fenton.

  • WebCoreSupport/EditorClientBlackBerry.cpp:

(WebCore::EditorClientBlackBerry::handleKeyboardEvent):

2:29 PM Changeset in webkit [134671] by commit-queue@webkit.org
  • 6 edits in trunk/Source/WebCore

[EFL][WK2] White flicker when scrolling big pages with dark background on slower hardware.
https://bugs.webkit.org/show_bug.cgi?id=102000

Patch by Viatcheslav Ostapenko <v.ostapenko@samsung.com> on 2012-11-14
Reviewed by Noam Rosenthal.

Add helper functions to clear viewport before painting. Those functions
used by EFL Webkit2 port to set view background to match page background
in order to reduce visibility of flicker during scrolling/scaling/repainting
where page tiles are not ready.

  • platform/graphics/texmap/TextureMapper.h:
  • platform/graphics/texmap/TextureMapperGL.cpp:

(WebCore::TextureMapperGL::drawSolidColor):
(WebCore):

  • platform/graphics/texmap/TextureMapperGL.h:
  • platform/graphics/texmap/TextureMapperImageBuffer.cpp:

(WebCore::TextureMapperImageBuffer::drawSolidColor):
(WebCore):

  • platform/graphics/texmap/TextureMapperImageBuffer.h:
2:25 PM Changeset in webkit [134670] by commit-queue@webkit.org
  • 3 edits in trunk/Tools

webkitpy: print-expectations - add --paths option to print only paths of test expectation files
https://bugs.webkit.org/show_bug.cgi?id=102269

Patch by Glenn Adams <glenn@skynav.com> on 2012-11-14
Reviewed by Dirk Pranke.

Add --paths option to print-expectations command in order to obtain list of applicable
test expectation file paths.

  • Scripts/webkitpy/tool/commands/queries.py:

(PrintExpectations.init):
(PrintExpectations.execute):

  • Scripts/webkitpy/tool/commands/queries_unittest.py:

(PrintExpectationsTest.run_test):
(PrintExpectationsTest.test_paths):

2:24 PM Changeset in webkit [134669] by danakj@chromium.org
  • 2 edits in trunk/Source/Platform

[chromium] Match the LayerTreeSetting default for acceleratedAnimationEnabled in the WebLayerTreeSetting
https://bugs.webkit.org/show_bug.cgi?id=102285

Reviewed by James Robinson.

Accelerated animations default to on.

  • chromium/public/WebLayerTreeView.h:

(WebKit::WebLayerTreeView::Settings::Settings):

2:16 PM Changeset in webkit [134668] by junov@google.com
  • 16 edits
    4 adds
    4 deletes in trunk/LayoutTests

Updating baselines after r134631
https://bugs.webkit.org/show_bug.cgi?id=101974

Unreviewed

  • platform/chromium-linux/fast/borders/border-radius-wide-border-01-expected.png: Removed.
  • platform/chromium-linux/fast/borders/borderRadiusInset01-expected.png:
  • platform/chromium-linux/fast/forms/validation-message-appearance-expected.png:
  • platform/chromium-linux/svg/custom/svg-fonts-in-html-expected.png:
  • platform/chromium-mac-lion/fast/forms/validation-message-appearance-expected.png:
  • platform/chromium-mac-lion/svg/custom/svg-fonts-in-html-expected.png:
  • platform/chromium-mac-snowleopard/fast/forms/validation-message-appearance-expected.png:
  • platform/chromium-mac-snowleopard/svg/custom/svg-fonts-in-html-expected.png:
  • platform/chromium-mac/fast/borders/border-radius-wide-border-01-expected.png:
  • platform/chromium-mac/fast/borders/borderRadiusInset01-expected.png:
  • platform/chromium-mac/fast/forms/validation-message-appearance-expected.png:
  • platform/chromium-mac/svg/custom/svg-fonts-in-html-expected.png:
  • platform/chromium-win/fast/borders/border-radius-wide-border-01-expected.png:
  • platform/chromium-win/fast/borders/borderRadiusInset01-expected.png:
  • platform/chromium-win/fast/forms/validation-message-appearance-expected.png:
  • platform/chromium-win/svg/custom/svg-fonts-in-html-expected.png:
  • platform/efl-wk1/fast/borders: Added.
  • platform/efl-wk1/fast/borders/border-radius-wide-border-01-expected.png: Added.
  • platform/efl-wk1/fast/borders/borderRadiusInset01-expected.png: Added.
  • platform/efl-wk1/fast/forms/validation-message-appearance-expected.png: Added.
  • platform/efl/fast/borders/border-radius-wide-border-01-expected.png: Removed.
  • platform/efl/fast/borders/borderRadiusInset01-expected.png: Removed.
  • platform/efl/fast/forms/validation-message-appearance-expected.png: Removed.
2:09 PM Changeset in webkit [134667] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

webgl-background-color.html started failing
https://bugs.webkit.org/show_bug.cgi?id=102247

Patch by James Robinson <jamesr@chromium.org> on 2012-11-14
Reviewed by Adrienne Walker.

The compositor thread should outlive the WebView.

  • DumpRenderTree/chromium/TestShell.h:

(TestShell):

2:07 PM Changeset in webkit [134666] by mark.lam@apple.com
  • 3 edits in trunk/Source/WebCore

Fixed regressions due to adding JSEventListener::m_wrapper null checks.
https://bugs.webkit.org/show_bug.cgi?id=102183.

Reviewed by Geoffrey Garen.

Fixed JSEventListener::operator==() to work within the contract that
when m_wrapper is 0, m_jsFunction is also expected to be 0. Also fixed
some typos in comments.

No new tests.

  • bindings/js/JSEventListener.cpp:

(WebCore::JSEventListener::visitJSFunction):
(WebCore::JSEventListener::operator==):

  • bindings/js/JSEventListener.h:

(WebCore::JSEventListener::jsFunction):

2:02 PM Changeset in webkit [134665] by Nate Chapin
  • 2 edits in trunk/Source/WebCore

2012-11-14 Nate Chapin <Nate Chapin>

Fix chromium asserts from r134649.

Rubber-stamped by Adam Barth.

MainResourceLoader was calling releaseResources() twice when cancelled
within MainResourceLoader::load(), so check reachedTerminalState() before
calling releaseResources() there.

  • loader/MainResourceLoader.cpp: (WebCore::MainResourceLoader::load):
1:58 PM Changeset in webkit [134664] by kling@webkit.org
  • 6 edits in trunk/Source/WebCore

Only resolve presentation attribute style once per shared ElementAttributeData.
<http://webkit.org/b/100990>

Reviewed by Antti Koivisto.

Track the "presentation attribute style dirty" state on ElementAttributeData instead of in a Node flag.
This allows us to avoid duplicate work for ElementAttributeData that are shared between multiple elements,
since the state is no longer per-Element.

I've left the presentation attribute cache in there for now, since it still covers the case where
two elements have the same presentation attributes but different non-presentation attributes.
It's likely that we're not gaining much from it anymore, but that's a topic for another patch.

(WebCore::StyledElement::rebuildPresentationAttributeStyle):

  • dom/StyledElement.h:

(WebCore::StyledElement::presentationAttributeStyle):
(WebCore::ElementAttributeData::ElementAttributeData):

  • dom/ElementAttributeData.h:

(WebCore::ElementAttributeData::ElementAttributeData):
(ElementAttributeData):

  • dom/Node.h:

Move presentation attribute style dirty flag from Node to ElementAttributeData.

  • dom/ElementAttributeData.cpp:

(SameSizeAsElementAttributeData):

Add a compile-time object size assertion for ElementAttributeData.

  • dom/StyledElement.cpp:

(WebCore::StyledElement::attributeChanged):

Don't mark the presentation attribute style dirty if the element is using an immutable (implies
shared) ElementAttributeData and another element has already generated the StylePropertySet.
The element itself is still marked for style recalc like before, this just avoids the process
of converting the attributes to CSS properties.

1:56 PM Changeset in webkit [134663] by noam.rosenthal@nokia.com
  • 5 edits in trunk/Source/WebKit2

Coordinated Graphics: Rename m_CoordinatedGraphicsLayerClient to m_coordinator
https://bugs.webkit.org/show_bug.cgi?id=102133

Renamed m_CoordinatedGraphicsLayerClient to m_coordinator.
Also, there is no need for calling setCoordinator every time the tree changes,
since we can call it once when the layer is created, now that LayerTreeCoordinator
is the GraphicsLayerFactory.

Reviewed by Kenneth Rohde Christiansen

No change in functionality.

  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:

(WebCore::CoordinatedGraphicsLayer::CoordinatedGraphicsLayer):
(WebCore::CoordinatedGraphicsLayer::~CoordinatedGraphicsLayer):
(WebCore::CoordinatedGraphicsLayer::setChildren):
(WebCore::CoordinatedGraphicsLayer::addChild):
(WebCore::CoordinatedGraphicsLayer::addChildAtIndex):
(WebCore::CoordinatedGraphicsLayer::addChildAbove):
(WebCore::CoordinatedGraphicsLayer::addChildBelow):
(WebCore::CoordinatedGraphicsLayer::replaceChild):
(WebCore::CoordinatedGraphicsLayer::setContentsToImage):
(WebCore::CoordinatedGraphicsLayer::setMaskLayer):
(WebCore::CoordinatedGraphicsLayer::setReplicatedByLayer):
(WebCore::CoordinatedGraphicsLayer::flushCompositingState):
(WebCore::CoordinatedGraphicsLayer::syncChildren):
(WebCore::CoordinatedGraphicsLayer::syncFilters):
(WebCore::CoordinatedGraphicsLayer::syncLayerState):
(WebCore::CoordinatedGraphicsLayer::syncAnimations):
(WebCore::CoordinatedGraphicsLayer::syncCanvas):
(WebCore::CoordinatedGraphicsLayer::ensureImageBackingStore):
(WebCore::CoordinatedGraphicsLayer::tiledBackingStoreUpdatesAllowed):
(WebCore::CoordinatedGraphicsLayer::tiledBackingStoreVisibleRect):
(WebCore::CoordinatedGraphicsLayer::beginContentUpdate):
(WebCore::CoordinatedGraphicsLayer::createTile):
(WebCore::CoordinatedGraphicsLayer::updateTile):
(WebCore::CoordinatedGraphicsLayer::removeTile):
(WebCore::CoordinatedGraphicsLayer::purgeBackingStores):
(WebCore::CoordinatedGraphicsLayer::setCoordinator):

  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:

(CoordinatedGraphicsLayer):

  • WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:

(WebKit::LayerTreeCoordinator::~LayerTreeCoordinator):
(WebKit::LayerTreeCoordinator::LayerTreeCoordinator):
(WebKit::LayerTreeCoordinator::paintContents):

1:56 PM Changeset in webkit [134662] by commit-queue@webkit.org
  • 7 edits
    4 adds in trunk/Source/WebCore

[Chromium] Refactor theme font lookup into a factory
https://bugs.webkit.org/show_bug.cgi?id=101949

Patch by Scott Violet <sky@chromium.org> on 2012-11-14
Reviewed by Tony Chang.

This will ultimately allow us to use what is currently in RenderThemeChromiumLinux on windows.

No new tests. Refactoring only.

  • WebCore.gyp/WebCore.gyp:
  • WebCore.gypi:
  • rendering/RenderThemeChromiumFontProvider.cpp: Added.

(WebCore):
(WebCore::RenderThemeChromiumFontProvider::defaultGUIFont): Moved into RenderThemeFontProvider.

  • rendering/RenderThemeChromiumFontProvider.h: Added.

(WTF):
(WebCore):
(RenderThemeChromiumFontProvider): This is the font related methods.

  • rendering/RenderThemeChromiumFontProviderLinux.cpp: Added.

(WebCore):
(WebCore::RenderThemeChromiumFontProvider::setDefaultFontSize): What was in RenderThemeChromiumSkia::setDefaultFontSize.
(WebCore::RenderThemeChromiumFontProvider::systemFont): What was in RenderThemeChromiumSkia::systemFont.

  • rendering/RenderThemeChromiumFontProviderWin.cpp: Added.

(WebCore):
(WebCore::pointsToPixels): Moved from RenderThemeChromiumWin.
(WebCore::getNonClientMetrics): Moved from RenderThemeChromiumWin.
(WebCore::systemFontSize): Moved from RenderThemeChromiumWin.
(WebCore::RenderThemeChromiumFontProvider::systemFont): Moved from RenderThemeChromiumWin.
(WebCore::RenderThemeChromiumFontProvider::setDefaultFontSize): Moved from RenderThemeChromiumWin.

  • rendering/RenderThemeChromiumSkia.cpp:

(WebCore::RenderThemeChromiumSkia::RenderThemeChromiumSkia): Moved into RenderThemeFontProvider.
(WebCore::RenderThemeChromiumSkia::systemFont): Calls to RenderThemeChromiumFontProvider.
(WebCore::RenderThemeChromiumSkia::setDefaultFontSize): Calls to RenderThemeChromiumFontProvider.

  • rendering/RenderThemeChromiumSkia.h:

(RenderThemeChromiumSkia): Moves defaultFontSize into RenderThemeChromiumFontProvider.

  • rendering/RenderThemeChromiumWin.cpp: Moves font code into RenderThemeFontProviderWin.

(WebCore):

  • rendering/RenderThemeChromiumWin.h: Removed overriden methods now handled by RenderThemeChromiumSkia.

(RenderThemeChromiumWin):

1:52 PM Changeset in webkit [134661] by dgrogan@chromium.org
  • 14 edits in trunk/LayoutTests

IndexedDB: test conversion batch 3
https://bugs.webkit.org/show_bug.cgi?id=102168

Reviewed by Tony Chang.

These were all pretty straightforward. metadata.html could include
some additional tests that check the metadata after a versionchange
transaction aborts, but I think that's tested in one of the intversion
tests.

  • storage/indexeddb/exceptions-expected.txt:
  • storage/indexeddb/factory-deletedatabase-expected.txt:
  • storage/indexeddb/index-duplicate-keypaths-expected.txt:
  • storage/indexeddb/index-multientry-expected.txt:
  • storage/indexeddb/index-population-expected.txt:
  • storage/indexeddb/metadata-expected.txt:
  • storage/indexeddb/resources/database-basics.js: Fix failure when run as a chromium browser test.
  • storage/indexeddb/resources/exceptions.js: Moved some asserts from running before the database is opened to afterward but they appear to be testing the same thing.

(transactionComplete):

close can't proceed until the transactions are complete, something
setVersion didn't have to deal with.

  • storage/indexeddb/resources/factory-deletedatabase.js: The conditions under which deleteDatabase is called in this test is _slightly_ different. Previously, deleteDatabase was called from inside a versionchange transaction, causing the original connection to receive a versionchange event. With upgradeneeded we have to close the original connection before entering a versionchange transaction, so the second connection is now what closes in response to the deleteDatabase's versionchange event.
  • storage/indexeddb/resources/index-duplicate-keypaths.js:

(testCollideAutoIncrementSetup):
(testCollideAutoIncrement):

  • storage/indexeddb/resources/index-multientry.js:

(prepareDatabase):
(createIndexOnStoreWithData):

  • storage/indexeddb/resources/index-population.js:

(prepareDatabase.request.onsuccess):
(prepareDatabase):
(doSetVersion2):
(setVersion2):
(setVersion2Abort):

  • storage/indexeddb/resources/metadata.js:

(prepareDatabase):
(snapshotConnection1):
(secondOpen.request.onupgradeneeded):
(secondOpen.request.onsuccess):
(secondOpen):
(thirdOpen.request.onupgradeneeded):
(thirdOpen.request.onerror):
(thirdOpen):
(fourthOpen.request.onupgradeneeded):
(fourthOpen.request.onsuccess):
(fourthOpen):
(checkState):

1:47 PM Changeset in webkit [134660] by Dimitri Glazkov
  • 2 edits
    2 adds in trunk/LayoutTests

[Chromium] Updating baselines after r134631.

1:27 PM Changeset in webkit [134659] by arv@chromium.org
  • 4 edits in trunk

Update DOMException name: InUseAttributeError
https://bugs.webkit.org/show_bug.cgi?id=102141

Reviewed by Ojan Vafai.

Patch 10 of 25 to update DOMException name to match the spec and Firefox.

The name for this is not in the spec but the case was selected to match
Firefox. http://mxr.mozilla.org/mozilla-central/source/dom/base/domerr.msg#18

INUSE_ATTRIBUTE_ERR is historical and not used in any spec or any of our tests.

  • dom/DOMCoreException.cpp:
  • dom/ExceptionCode.h:
1:27 PM Changeset in webkit [134658] by Dimitri Glazkov
  • 2 edits in trunk/LayoutTests

Marked fake-mouse-move tests as failing.
https://bugs.webkit.org/show_bug.cgi?id=102277

1:26 PM Changeset in webkit [134657] by bfulgham@webkit.org
  • 2 edits in trunk/Source/WebCore

[WinCairo] Incorrect line-height for styled menulist (select tag)
in windows theme.
https://bugs.webkit.org/show_bug.cgi?id=79435

Patch by Lynn Neir <lynn.neir@skype.net> on 2012-11-14
Reviewed by Brent Fulgham

Applied same fix as in RenderThemeSafari::adjustMenuListButtonStyle
to Windows theme to fix issue.

Tests: fast/forms/menulist-restrict-line-height.html

fast/forms/control-restrict-line-height.html
fast/forms/basic-selects.html

  • rendering/RenderThemeWin.cpp:

(WebCore::RenderThemeWin::adjustMenuListButtonStyle): Set line
height to the correct initial height.

1:16 PM Changeset in webkit [134656] by andersca@apple.com
  • 4 edits in trunk/Source/WebKit2

More steps towards actually hosting layers in the UI process
https://bugs.webkit.org/show_bug.cgi?id=102275

Reviewed by Andreas Kling.

  • Shared/mac/RemoteLayerTreeTransaction.h:

(WebKit::RemoteLayerTreeTransaction::rootLayerID):
Add a getter for the root layer ID.

  • UIProcess/mac/RemoteLayerTreeHost.h:

(RemoteLayerTreeHost):
Add root layer member variable. Make the RemoteLayerTreeHost class a GraphicsLayerClient.

  • UIProcess/mac/RemoteLayerTreeHost.mm:

(WebKit::RemoteLayerTreeHost::RemoteLayerTreeHost):
Initialize the root layer to null.

(WebKit::RemoteLayerTreeHost::notifyAnimationStarted):
(WebKit::RemoteLayerTreeHost::notifyFlushRequired):
(WebKit::RemoteLayerTreeHost::paintContents):
Add empty stubs.

(WebKit::RemoteLayerTreeHost::commit):
Try to get the root layer.

(WebKit::RemoteLayerTreeHost::getOrCreateLayer):
Look up the layer with the given ID in the m_layers hash table and create it if it doesn't exist.

1:05 PM Changeset in webkit [134655] by arv@chromium.org
  • 6 edits in trunk

Update DOMException name: WrongDocumentError
https://bugs.webkit.org/show_bug.cgi?id=102096

Reviewed by Ojan Vafai.

Source/WebCore:

Patch 4 of 25 to update DOMException name to match the spec and Firefox.

Updated existing tests.

  • dom/DOMCoreException.cpp:

LayoutTests:

Updated tests and expectations.

  • fast/dom/Range/compareBoundaryPoints-1-expected.txt:
  • fast/dom/Range/compareBoundaryPoints-1.html:
  • fast/dom/move-nodes-across-documents.html:
12:52 PM Changeset in webkit [134654] by ericu@chromium.org
  • 2 edits in trunk/Source/WebKit/chromium

[chromium] Don't let shift-click turn popup into tab.
https://bugs.webkit.org/show_bug.cgi?id=102254

Reviewed by Adam Barth.

Change http://trac.webkit.org/changeset/132399 broke shift-click on
compose in GMail. We didn't want to change behavior that people were
depending on, and this quick fix seems a good compromise between user
intent and developer intent.

  • src/ChromeClientImpl.cpp:

(WebKit::updatePolicyForEvent):

12:51 PM Changeset in webkit [134653] by rwlbuis@webkit.org
  • 2 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Improve debug functionality in FatFingers
https://bugs.webkit.org/show_bug.cgi?id=102263

Reviewed by Antonio Gomes.

  • use logAlways to log even in release.
  • dump shadow tree info if available.
  • WebKitSupport/FatFingers.cpp:

(BlackBerry::WebKit::FatFingers::isElementClickable):
(BlackBerry::WebKit::FatFingers::checkFingerIntersection):
(BlackBerry::WebKit::FatFingers::findIntersectingRegions):
(BlackBerry::WebKit::FatFingers::checkForText):

12:48 PM Changeset in webkit [134652] by Beth Dakin
  • 7 edits in branches/safari-536.28-branch/Source/WebCore

Merge r134348

2012-11-12 Beth Dakin <Beth Dakin>


https://bugs.webkit.org/show_bug.cgi?id=101787
Zoomed-in scrolling is very slow when deviceScaleFactor > 1


Reviewed by Simon Fraser.


This patch adds a new member to the GraphicsContextState that tracks
whether or not fonts should be subpixel-quantized. We want to default
to sibpixel-quantizing, but we'll turn it off if we're scrolling
content that cannot be scrolled on the scrolling thread.

State has a new bool shouldSubpixelQuantizeFonts. It defaults to true
since normally we do want to quantize.

  • platform/graphics/GraphicsContext.cpp: (WebCore::GraphicsContext::setShouldSubpixelQuantizeFonts): (WebCore::GraphicsContext::shouldSubpixelQuantizeFonts):
  • platform/graphics/GraphicsContext.h: (WebCore::GraphicsContextState::GraphicsContextState): (GraphicsContextState): (GraphicsContext):


wkSetCGFontRenderingMode now takes a BOOL parameter which indicates
whether or not it should try to subpixel-quantize the fonts.

  • platform/graphics/mac/FontMac.mm: (WebCore::Font::drawGlyphs):
  • platform/mac/WebCoreSystemInterface.h:
  • platform/mac/WebCoreSystemInterface.mm:


Disable subpixel-quantization for overflow areas, subframes, and
content that is scrolling on the main thread.

  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::paintLayerContents):
12:42 PM Changeset in webkit [134651] by beidson@apple.com
  • 2 edits in trunk/Source/WebKit2

Fix the Production build after r134640 broke it.

  • WebProcess/Network/WebResourceLoader.h:

(WebKit::WebResourceLoader::resourceLoadIdentifier): Use the un-used.

12:38 PM Changeset in webkit [134650] by timothy_horton@apple.com
  • 6 edits in trunk/Source/WebKit2

PDFPlugin should make use of PDFKit's fluid zooming
https://bugs.webkit.org/show_bug.cgi?id=101962
<rdar://problem/12555229>

Reviewed by Anders Carlsson.

Expose the notion of a frame that handles page scale gestures via WebFrame and to the bundle via WKBundleFrame.
The only frames that will purport to handle page scale gestures are those which contain PluginDocuments
backed by PDFPlugin, for now. Also, allow PDFKit to do its own fluid zooming animation.

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

(WKBundleFrameHandlesPageScaleGesture): Provide WKBundleFrameHandlesPageScaleGesture to
inform the injected bundle whether or not the frame handles scaling itself.

  • WebProcess/InjectedBundle/API/c/WKBundleFramePrivate.h: Add WKBundleFrameHandlesPageScaleGesture.
  • WebProcess/Plugins/PDF/PDFPlugin.mm:

(WebKit::PDFPlugin::geometryDidChange): Allow PDFKit to use its fluid zooming instead of changing
the scale factor immediately.

  • WebProcess/WebPage/WebFrame.cpp:

(WebKit::WebFrame::handlesPageScaleGesture): For now, the only frames that handle page scale
gestures themselves are plugins that purport to handle page scale changes themselves (i.e. only PDFPlugin).

  • WebProcess/WebPage/WebFrame.h:

(WebFrame):

12:35 PM Changeset in webkit [134649] by Nate Chapin
  • 16 edits in trunk

Move empty loading to DocumentLoader, simplify FrameLoader::init()
https://bugs.webkit.org/show_bug.cgi?id=101512

Reviewed by Adam Barth.

Source/WebCore:

No new tests, though several outputs changed because we no longer send resource

load callbacks for empty loads.

  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::startLoadingMainResource): Handle empty main resource

loads directly here.

  • loader/DocumentLoader.h:
  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::FrameLoader): Initialize some variables whose values

were previously being reset in init(). Given that the FrameLoader is in
an inconsistent state before init() is called anyway, there doesn't seem
to be a disadvantage to just initializing them to their post-init() values.

(WebCore::FrameLoader::init): Just call startLoadingMainResource(), instead of

doing a bunch of direct calls to functions FrameLoader shouldn't know about.

  • loader/FrameLoaderStateMachine.cpp:
  • loader/FrameLoaderStateMachine.h:
  • loader/MainResourceLoader.cpp: Throughout, remove the concept of an empty load.

(WebCore::MainResourceLoader::loadNow): This only returned true when an empty

load got deferred, which won't happen now. Return void and always treat
as returning false.

  • loader/MainResourceLoader.h:

Tools:

Chromium DRT has some code that doesn't play nicely with empty urls and incorrectly
interprets them as a non-empty load. This ensures
http/tests/navigation/new-window-redirect-history.html continues to pass
in chromium.

  • DumpRenderTree/chromium/WebViewHost.cpp:

(WebViewHost::updateForCommittedLoad):

LayoutTests:

Don't expect resource load callbacks for empty loads.

  • http/tests/inspector/network/network-iframe-load-and-delete.html:
  • http/tests/loading/redirect-methods-expected.txt:
  • http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-expected.txt:
  • http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-in-body-expected.txt:
  • http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-parent-same-origin-deny-expected.txt:
12:28 PM Changeset in webkit [134648] by arv@chromium.org
  • 83 edits in trunk

Update DOMException name: InvalidStateError
https://bugs.webkit.org/show_bug.cgi?id=102241

Reviewed by Ojan Vafai.

Source/WebCore:

Patch 11 of 25 to update DOMException name to match the spec and Firefox.

Updated existing tests.

  • dom/DOMCoreException.cpp:

LayoutTests:

Updated tests and expectations.

  • fast/dom/HTMLDialogElement/dialog-open-expected.txt:
  • fast/dom/HTMLDialogElement/dialog-open.html:
  • fast/dom/HTMLDialogElement/dialog-show-modal-expected.txt:
  • fast/dom/HTMLDialogElement/dialog-show-modal.html:
  • fast/dom/Range/range-intersectsNode-exception-expected.txt:
  • fast/dom/Range/range-intersectsNode-exception.html:
  • fast/dom/Range/range-intersectsNode-expected.txt:
  • fast/dom/Range/resources/intersectsNode.js:
  • fast/dom/Selection/collapseToX-empty-selection-expected.txt:
  • fast/dom/Selection/script-tests/collapseToX-empty-selection.js:
  • fast/events/message-port-clone-expected.txt:
  • fast/events/message-port-multi-expected.txt:
  • fast/files/read-file-async-expected.txt:
  • fast/files/workers/worker-read-file-async-expected.txt:
  • fast/forms/color/color-setrangetext-expected.txt:
  • fast/forms/date/date-setrangetext-expected.txt:
  • fast/forms/date/date-stepup-stepdown-expected.txt:
  • fast/forms/date/date-stepup-stepdown.html:
  • fast/forms/datetime/datetime-setrangetext-expected.txt:
  • fast/forms/datetime/datetime-stepup-stepdown-expected.txt:
  • fast/forms/datetime/datetime-stepup-stepdown.html:
  • fast/forms/datetimelocal/datetimelocal-setrangetext-expected.txt:
  • fast/forms/datetimelocal/datetimelocal-stepup-stepdown-expected.txt:
  • fast/forms/datetimelocal/datetimelocal-stepup-stepdown.html:
  • fast/forms/file/file-setrangetext-expected.txt:
  • fast/forms/file/input-file-value-expected.txt:
  • fast/forms/hidden/hidden-setrangetext-expected.txt:
  • fast/forms/image/image-setrangetext-expected.txt:
  • fast/forms/input-stepup-stepdown-expected.txt:
  • fast/forms/input-stepup-stepdown.html:
  • fast/forms/input-valueasnumber-unsupported-expected.txt:
  • fast/forms/input-valueasnumber-unsupported.html:
  • fast/forms/month/input-valueasdate-expected.txt:
  • fast/forms/month/input-valueasdate.html:
  • fast/forms/month/month-setrangetext-expected.txt:
  • fast/forms/month/month-stepup-stepdown-expected.txt:
  • fast/forms/month/month-stepup-stepdown.html:
  • fast/forms/number/number-setrangetext-expected.txt:
  • fast/forms/number/number-stepup-stepdown-expected.txt:
  • fast/forms/number/number-stepup-stepdown-from-renderer.html:
  • fast/forms/number/number-stepup-stepdown.html:
  • fast/forms/number/number-valueasnumber-expected.txt:
  • fast/forms/number/number-valueasnumber.html:
  • fast/forms/range/range-setrangetext-expected.txt:
  • fast/forms/range/range-stepup-stepdown-expected.txt:
  • fast/forms/range/range-stepup-stepdown-from-renderer.html:
  • fast/forms/range/range-stepup-stepdown.html:
  • fast/forms/setrangetext-expected.txt:
  • fast/forms/time-multiple-fields/time-multiple-fields-stepup-stepdown-from-renderer.html:
  • fast/forms/time/time-setrangetext-expected.txt:
  • fast/forms/time/time-stepup-stepdown-expected.txt:
  • fast/forms/time/time-stepup-stepdown.html:
  • fast/forms/week/week-setrangetext-expected.txt:
  • fast/forms/week/week-stepup-stepdown-expected.txt:
  • fast/forms/week/week-stepup-stepdown.html:
  • fast/js/dfg-custom-getter-throw-expected.txt:
  • fast/js/dfg-custom-getter-throw-inlined-expected.txt:
  • fast/js/script-tests/dfg-custom-getter-throw-inlined.js:
  • fast/js/script-tests/dfg-custom-getter-throw.js:
  • fast/mediastream/MediaStreamTrackList-expected.txt:
  • fast/notifications/notifications-document-close-crash-expected.txt:
  • fast/speech/scripted/start-exception-expected.txt:
  • fast/speech/scripted/start-exception.html:
  • fast/workers/worker-context-multi-port-expected.txt:
  • fast/workers/worker-multi-port-expected.txt:
  • fast/xmlhttprequest/xmlhttprequest-responseXML-xml-text-responsetype-expected.txt:
  • fast/xmlhttprequest/xmlhttprequest-responsetype-arraybuffer-expected.txt:
  • fast/xmlhttprequest/xmlhttprequest-responsetype-document-expected.txt:
  • fast/xmlhttprequest/xmlhttprequest-responsetype-set-at-headers-received-expected.txt:
  • fast/xmlhttprequest/xmlhttprequest-responsetype-text-expected.txt:
  • fast/xpath/detached-subtree-invalidate-iterator-expected.txt:
  • http/tests/media/media-source/video-media-source-add-and-remove-buffers-expected.txt:
  • http/tests/media/media-source/video-media-source-duration-changed-expected.txt:
  • http/tests/media/media-source/video-media-source-objects-expected.txt:
  • http/tests/xmlhttprequest/exceptions-expected.txt:
  • http/tests/xmlhttprequest/zero-length-response-expected.txt:
  • platform/chromium-mac/fast/notifications/notifications-document-close-crash-expected.txt:
  • platform/qt/editing/pasteboard/data-transfer-items-expected.txt:
  • platform/qt/fast/notifications/notifications-document-close-crash-expected.txt:
  • storage/websql/open-database-set-empty-version-expected.txt:
12:27 PM Changeset in webkit [134647] by timothy_horton@apple.com
  • 8 edits in trunk/Source/WebKit2

PDFPlugin should support downloading PDFs
https://bugs.webkit.org/show_bug.cgi?id=102152
<rdar://problem/12555313>

Reviewed by Alexey Proskuryakov.

Clicking on the "Download PDF" HUD button should download the current
PDF to the Downloads folder.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::savePDFToFileInDownloadsFolder): Added. Save the
PDF data to disk, in the Downloads folder. This will only save files with
the .pdf extension, and of MIME type "application/pdf".

  • UIProcess/WebPageProxy.h:

(WebPageProxy): Add savePDFToFileInDownloadsFolder.

  • UIProcess/WebPageProxy.messages.in: Add savePDFToFileInDownloadsFolder.
  • WebProcess/Plugins/PDF/PDFPlugin.h:

(PDFPlugin): Add saveToPDF().

  • WebProcess/Plugins/PDF/PDFPlugin.mm:

(-[WKPDFLayerControllerDelegate saveToPDF]): Forward saveToPDF delegate callback to PDFPlugin.
(WebKit::PDFPlugin::saveToPDF): Hand WebPageProxy the raw data for the
current PDF, which it will save to the Downloads folder. We receive
the suggested filename during loading.

  • WebProcess/Plugins/PDF/SimplePDFPlugin.h:

(WebKit::SimplePDFPlugin::suggestedFilename): Expose a getter for suggestedFilename.

  • WebProcess/Plugins/PDF/SimplePDFPlugin.mm:

(WebKit::SimplePDFPlugin::pluginInfo): Add a missing space after an operator.

12:22 PM Changeset in webkit [134646] by jsbell@chromium.org
  • 23 edits in trunk/Source/WebCore

Rename NATIVE_TYPE_ERR to TypeError
https://bugs.webkit.org/show_bug.cgi?id=102114

Reviewed by Kentaro Hara.

Defines names (mostly) matching WebIDL exception types for use by dom (etc) code.
V8 binding code had colliding enum members, which required prefixing.

No new tests - just internal renames.

  • Modules/indexeddb/IDBCursor.cpp: s/NATIVE_TYPE_ERR/TypeError/g

(WebCore::IDBCursor::advance):
(WebCore::IDBCursor::stringToDirection):
(WebCore::IDBCursor::directionToString):

  • Modules/indexeddb/IDBDatabase.cpp: Ditto.

(WebCore::IDBDatabase::setVersion):

  • Modules/indexeddb/IDBFactory.cpp: Ditto.

(WebCore::IDBFactory::open):
(WebCore::IDBFactory::openInternal):
(WebCore::IDBFactory::deleteDatabase):

  • Modules/indexeddb/IDBObjectStore.cpp: Ditto.

(WebCore::IDBObjectStore::createIndex):

  • Modules/indexeddb/IDBTransaction.cpp: Ditto.

(WebCore::IDBTransaction::stringToMode):
(WebCore::IDBTransaction::modeToString):

  • bindings/js/JSDOMBinding.cpp: Ditto.

(WebCore::setDOMException):

  • bindings/v8/DateExtension.cpp: Prefix ErrorType enum/members w/ V8/v8.

(WebCore::DateExtension::OnSleepDetected):

  • bindings/v8/NPV8Object.cpp: Ditto.

(_NPN_SetException):

  • bindings/v8/V8Binding.cpp: Ditto.

(WebCore::throwError):
(WebCore::handleMaxRecursionDepthExceeded):

  • bindings/v8/V8Binding.h: Ditto.

(WebCore):

  • bindings/v8/V8NPObject.cpp: Ditto.

(WebCore::npObjectInvokeImpl):
(WebCore::npObjectGetProperty):
(WebCore::npObjectSetProperty):
(WebCore::npObjectPropertyEnumerator):

  • bindings/v8/V8ThrowException.cpp: Rename ALL the errors!

(WebCore::V8ThrowException::setDOMException):
(WebCore::V8ThrowException::throwError):
(WebCore::V8ThrowException::throwTypeError):
(WebCore::V8ThrowException::throwNotEnoughArgumentsError):

  • bindings/v8/V8ThrowException.h:

(V8ThrowException):

  • bindings/v8/WorkerContextExecutionProxy.cpp: Prefixing (continued)

(WebCore::WorkerContextExecutionProxy::evaluate):

  • bindings/v8/custom/V8ArrayBufferCustom.cpp: Ditto.

(WebCore::V8ArrayBuffer::constructorCallback):

  • bindings/v8/custom/V8ArrayBufferViewCustom.h: Ditto.

(WebCore::constructWebGLArrayWithArrayBufferArgument):
(WebCore::constructWebGLArray):
(WebCore::setWebGLArrayHelper):

  • bindings/v8/custom/V8AudioContextCustom.cpp: Ditto.

(WebCore::V8AudioContext::constructorCallback):

  • bindings/v8/custom/V8BlobCustom.cpp: Ditto.

(WebCore::V8Blob::constructorCallback):

  • bindings/v8/custom/V8ClipboardCustom.cpp: Ditto.

(WebCore::V8Clipboard::clearDataCallback):
(WebCore::V8Clipboard::setDragImageCallback):

  • bindings/v8/custom/V8DOMFormDataCustom.cpp: Ditto.

(WebCore::V8DOMFormData::appendCallback):

  • bindings/v8/custom/V8SQLResultSetRowListCustom.cpp: Ditto.

(WebCore::V8SQLResultSetRowList::itemCallback):

  • dom/ExceptionCode.h: Add WebIDL exception types.
12:19 PM Changeset in webkit [134645] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[BlackBerry] Style BB10 time input field font.
https://bugs.webkit.org/show_bug.cgi?id=102260.

Patch by Tiancheng Jiang <tijiang@rim.com> on 2012-11-14
Reviewed by Rob Buis.

RIM PR 243355
Adjust time input field font using BB10 system default font.

  • css/themeBlackBerry.css:

(input[type="date"], input[type="datetime"], input[type="datetime-local"], input[type="time"], input[type="month"]):

12:14 PM Changeset in webkit [134644] by commit-queue@webkit.org
  • 9 edits in trunk

createDelay should raise exception when the maxDelayTime parameter is incorrect.
https://bugs.webkit.org/show_bug.cgi?id=102173

Patch by Li Yin <li.yin@intel.com> on 2012-11-14
Reviewed by Chris Rogers.

Spec: https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html
The specified value must be greater than zero and less than three minutes or a
NOT_SUPPORTED_ERR exception will be thrown.

Source/WebCore:

Tests: webaudio/delaynode-maxdelaylimit.html

  • Modules/webaudio/AudioContext.cpp:

(WebCore::AudioContext::createDelay):

  • Modules/webaudio/AudioContext.h:

(AudioContext):

  • Modules/webaudio/AudioContext.idl: Add raising exception for createDelay.
  • Modules/webaudio/DelayNode.cpp:

(WebCore):
(WebCore::DelayNode::DelayNode):

  • Modules/webaudio/DelayNode.h:

(WebCore::DelayNode::create):
(DelayNode):

LayoutTests:

  • webaudio/delaynode-maxdelaylimit-expected.txt:
  • webaudio/delaynode-maxdelaylimit.html:
11:57 AM Changeset in webkit [134643] by Dimitri Glazkov
  • 2 edits in trunk/LayoutTests

[Chromium] css3/filters/custom/custom-filter-property-computed-style.html is a flaky timeout in debug.
https://bugs.webkit.org/show_bug.cgi?id=90207

11:48 AM Changeset in webkit [134642] by Simon Fraser
  • 4 edits in trunk/Source/WebCore

Don't pass a paintingRoot when painting from RenderLayerBacking
https://bugs.webkit.org/show_bug.cgi?id=102256

Reviewed by David Hyatt.

The 'paintingRoot' parameter to the RenderLayer paint functions
is used when painting just a subtree (e.g. when painting dragged
selections). There is no need to pass it when a RenderLayerBacking
paints its contents or overlay scrollbars.

Passing it requires an expensive isDescendant() check, so passing
null is more efficient.

  • rendering/RenderLayer.h:

(WebCore::RenderLayer::LayerPaintingInfo::LayerPaintingInfo):

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::paintIntoLayer):
(WebCore::RenderLayerBacking::paintContents):

  • rendering/RenderLayerBacking.h:

(RenderLayerBacking):

11:44 AM Changeset in webkit [134641] by Dimitri Glazkov
  • 2 edits in trunk/LayoutTests

[Chromium] Updated the type of flakiness for fast/forms/select/select-state-restore.html.
https://bugs.webkit.org/show_bug.cgi?id=90207

  • platform/chromium/TestExpectations: Updated.
11:43 AM Changeset in webkit [134640] by beidson@apple.com
  • 4 edits
    2 adds in trunk/Source/WebKit2

Part of "Move loading responsibility out of WebResourceLoadScheduler into a new WebResourceLoader"
https://bugs.webkit.org/show_bug.cgi?id=102259

Reviewed by Alexey Proskuryakov.

WebResourceLoadScheduler has taken on too many responsibilities that shouldn't belong to it.

We should create a WebResourceLoader that will eventually act as an intermediary between
WebCore::ResourceLoader and NetworkResourceLoader.

This patch is prep-work: It adds a new skeleton class to the WebProcess.

  • WebKit2.xcodeproj/project.pbxproj:

Add the new WebResourceLoader class which is a very thin skeleton for now:

  • WebProcess/Network/WebResourceLoader.cpp: Added.

(WebKit::WebResourceLoader::create):
(WebKit::WebResourceLoader::WebResourceLoader):
(WebKit::WebResourceLoader::~WebResourceLoader):

  • WebProcess/Network/WebResourceLoader.h: Added.

(WebKit::WebResourceLoader::coreLoader):

Adapt WebResourceLoadScheduler to use this new class where appropriate:

  • WebProcess/Network/WebResourceLoadScheduler.cpp:

(WebKit::WebResourceLoadScheduler::scheduleLoad):
(WebKit::WebResourceLoadScheduler::addMainResourceLoad):
(WebKit::WebResourceLoadScheduler::remove):
(WebKit::WebResourceLoadScheduler::willSendRequest):
(WebKit::WebResourceLoadScheduler::didReceiveResponse):
(WebKit::WebResourceLoadScheduler::didReceiveData):
(WebKit::WebResourceLoadScheduler::didFinishResourceLoad):
(WebKit::WebResourceLoadScheduler::didReceiveResource):
(WebKit::WebResourceLoadScheduler::didFailResourceLoad):

  • WebProcess/Network/WebResourceLoadScheduler.h:
11:43 AM Changeset in webkit [134639] by arv@chromium.org
  • 21 edits
    8 moves
    1 add
    2 deletes in trunk/LayoutTests

Unreviewed. Rebaselined test results.

  • fast/media/mq-js-media-except-01-expected.txt: Renamed from LayoutTests/platform/mac/fast/media/mq-js-media-except-01-expected.txt.
  • platform/chromium-linux-x86/svg/dom/SVGTransformList-basics-expected.png: Removed.
  • platform/chromium-mac-lion/svg/dom/SVGLengthList-appendItem-expected.png:
  • platform/chromium-mac-lion/svg/dom/SVGLengthList-basics-expected.png:
  • platform/chromium-mac-lion/svg/dom/SVGLengthList-getItem-expected.png:
  • platform/chromium-mac-lion/svg/dom/SVGLengthList-initialize-expected.png:
  • platform/chromium-mac-lion/svg/dom/SVGLengthList-insertItemBefore-expected.png:
  • platform/chromium-mac-lion/svg/dom/SVGLengthList-removeItem-expected.png:
  • platform/chromium-mac-lion/svg/dom/SVGLengthList-replaceItem-expected.png:
  • platform/chromium-mac-lion/svg/dom/SVGNumberList-basics-expected.png:
  • platform/chromium-mac-lion/svg/dom/SVGTransformList-basics-expected.png:
  • platform/chromium-win/fast/media/mq-js-media-except-01-expected.png:
  • platform/chromium-win/svg/dom/SVGLengthList-appendItem-expected.png:
  • platform/chromium-win/svg/dom/SVGLengthList-basics-expected.png:
  • platform/chromium-win/svg/dom/SVGLengthList-getItem-expected.png:
  • platform/chromium-win/svg/dom/SVGLengthList-initialize-expected.png:
  • platform/chromium-win/svg/dom/SVGLengthList-insertItemBefore-expected.png:
  • platform/chromium-win/svg/dom/SVGLengthList-removeItem-expected.png:
  • platform/chromium-win/svg/dom/SVGLengthList-replaceItem-expected.png:
  • platform/chromium-win/svg/dom/SVGNumberList-basics-expected.png:
  • platform/chromium-win/svg/dom/SVGTransformList-basics-expected.png:
  • platform/chromium/fast/media/mq-js-media-except-01-expected.txt: Removed.
  • platform/efl-wk1/fast/media/mq-js-media-except-01-expected.txt: Renamed from LayoutTests/platform/efl/fast/media/mq-js-media-except-01-expected.txt.
  • platform/efl-wk1/svg/dom/SVGLengthList-appendItem-expected.png: Renamed from LayoutTests/platform/efl/svg/dom/SVGLengthList-appendItem-expected.png.
  • platform/efl-wk1/svg/dom/SVGLengthList-basics-expected.png: Renamed from LayoutTests/platform/efl/svg/dom/SVGLengthList-basics-expected.png.
  • platform/efl-wk1/svg/dom/SVGLengthList-initialize-expected.png: Renamed from LayoutTests/platform/efl/svg/dom/SVGLengthList-initialize-expected.png.
  • platform/efl-wk1/svg/dom/SVGLengthList-insertItemBefore-expected.png: Renamed from LayoutTests/platform/efl/svg/dom/SVGLengthList-insertItemBefore-expected.png.
  • platform/efl-wk1/svg/dom/SVGLengthList-replaceItem-expected.png: Renamed from LayoutTests/platform/efl/svg/dom/SVGLengthList-replaceItem-expected.png.
  • platform/efl-wk1/svg/dom/SVGNumberList-basics-expected.png: Renamed from LayoutTests/platform/efl/svg/dom/SVGNumberList-basics-expected.png.
  • platform/qt/fast/files/workers/worker-read-blob-sync-expected.txt: Added.
  • platform/qt/fast/media/mq-js-media-except-01-expected.txt:
11:37 AM Changeset in webkit [134638] by zandobersek@gmail.com
  • 2 edits
    1 add in trunk/LayoutTests

Unreviewed GTK gardening.

Adding back and updating baselines that were removed by accident in r133908.

  • platform/gtk/fast/forms/basic-textareas-quirks-expected.png:
  • platform/gtk/fast/forms/basic-textareas-quirks-expected.txt: Added.
11:34 AM Changeset in webkit [134637] by rniwa@webkit.org
  • 16 edits in trunk/PerformanceTests

runCount in runner.js should be renamed to iterationCount
https://bugs.webkit.org/show_bug.cgi?id=102208

Reviewed by Tony Chang.

Prior to this patch, there were terminology confusions between "runs" and "iterations".
The term "run" should refer to running a performance test once, and "iteration" should
refer to one measurement in the test. i.e. Executing run-perf-should once will result in
a single "run" of performance tests and each test may execute multiple "iterations"
to complete the run.

Unfortunately, we still overload the meaning of "runs" in "runs/s" (is "function calls/s")
but that could be addressed in a separate patch.

  • Animation/balls.html:
  • DOM/DOMTable.html:
  • DOM/resources/dom-perf.js:
  • Layout/floats_100_100.html:
  • Layout/floats_100_100_nested.html:
  • Layout/floats_20_100.html:
  • Layout/floats_20_100_nested.html:
  • Layout/floats_2_100.html:
  • Layout/floats_2_100_nested.html:
  • Layout/floats_50_100.html:
  • Layout/floats_50_100_nested.html:
  • Layout/subtree-detaching.html:
  • Parser/html5-full-render.html:
  • SVG/SvgHitTesting.html:
  • resources/runner.js:
11:29 AM Changeset in webkit [134636] by zandobersek@gmail.com
  • 96 edits in trunk/Tools

Remove uses of deprecated unittest.TestCase aliases
https://bugs.webkit.org/show_bug.cgi?id=102253

Reviewed by Dirk Pranke.

Replace the deprecated unittest.TestCase methods with the corresponding methods
everywhere inside the Tools directory. The following replacements are done:

  • assertEquals -> assertEqual
  • assert_ -> assertTrue
  • failUnlessRaises -> assertRaises
  • BuildSlaveSupport/build.webkit.org-config/mastercfg_unittest.py:

(SVNMirrorTest.test_CheckOutSource):

  • QueueStatusServer/model/queuepropertymixin_unittest.py:

(QueuePropertyMixinTest.test_queue_property):

  • QueueStatusServer/model/queues_unittest.py:

(QueueTest._assert_short_name):
(QueueTest._assert_display_name):
(QueueTest._assert_name_with_underscores):

  • QueueStatusServer/model/workitems_unittest.py:

(WorkItemsTest.test_display_position_for_attachment):

  • Scripts/webkitpy/common/checkout/changelog_unittest.py:

(test_parse_log_entries_from_changelog):
(test_parse_log_entries_from_annotated_file):
(_assert_parse_reviewer_text_and_list):
(_assert_parse_reviewer_text_list):
(_assert_fuzzy_reviewer_match):
(_assert_parse_authors):
(test_latest_entry_parse):
(test_latest_entry_parse_single_entry):
(test_set_reviewer):
(test_set_short_description_and_bug_url):

  • Scripts/webkitpy/common/checkout/diff_parser_unittest.py:

(DiffParserTest.test_diff_parser):

  • Scripts/webkitpy/common/checkout/scm/scm_unittest.py:

(GitSVNTest.test_revisions_changing_files_with_local_commit):
(GitSVNTest.test_upstream_branch):
(GitSVNTest.test_create_patch_with_rm_and_changed_files):
(GitTestWithMock.test_push_local_commits_to_server_with_username_and_password):

  • Scripts/webkitpy/common/config/ports_unittest.py:

(DeprecatedPortTest.test_mac_port):
(DeprecatedPortTest.test_gtk_port):
(DeprecatedPortTest.test_efl_port):
(DeprecatedPortTest.test_qt_port):
(DeprecatedPortTest.test_chromium_port):
(DeprecatedPortTest.test_chromium_android_port):
(DeprecatedPortTest.test_chromium_xvfb_port):

  • Scripts/webkitpy/common/config/urls_unittest.py:

(URLsTest.test_parse_bug_id):
(URLsTest.test_parse_attachment_id):

  • Scripts/webkitpy/common/find_files_unittest.py:

(TestWinNormalize.assert_filesystem_normalizes):

  • Scripts/webkitpy/common/net/bugzilla/bugzilla_unittest.py:

(test_url_creation):
(test_parse_bug_id):
(_assert_dictionaries_equal):
(test_parse_bugs_from_xml):
(test_attachment_detail_bug_parsing):
(_assert_result_count):
(test_request_page_parsing):
(test_quip_page_parsing):
(EditUsersParserTest._assert_login_userid_pairs):

  • Scripts/webkitpy/common/net/buildbot/buildbot_unittest.py:

(test_status_parsing):
(test_latest_cached_build):
(test_results_zip_url):

  • Scripts/webkitpy/common/net/credentials_unittest.py:

(test_credentials_from_environment):

  • Scripts/webkitpy/common/net/failuremap_unittest.py:

(FailureMapTest.test_failing_revisions):
(FailureMapTest.test_new_failures):
(FailureMapTest.test_new_failures_with_old_revisions):
(FailureMapTest.test_new_failures_with_more_old_revisions):
(FailureMapTest.test_tests_failing_for):
(FailureMapTest.test_failing_tests):

  • Scripts/webkitpy/common/net/layouttestresults_unittest.py:

(LayoutTestResultsTest.test_set_failure_limit_count):

  • Scripts/webkitpy/common/net/unittestresults_unittest.py:

(UnitTestResultsTest.test_nostring):
(UnitTestResultsTest.test_emptystring):

  • Scripts/webkitpy/common/read_checksum_from_png_unittest.py:

(ReadChecksumFromPngTest.test_read_checksum):

  • Scripts/webkitpy/common/system/deprecated_logging_unittest.py:

(LoggingTest.assert_log_equals):

  • Scripts/webkitpy/common/system/executive_unittest.py:

(ScriptErrorTest.test_string_from_args):
(ScriptErrorTest.test_message_with_output):
(ExecutiveTest.test_run_command_with_bad_command):
(ExecutiveTest.test_run_command_with_unicode):
(ExecutiveTest.serial_test_run_in_parallel):

  • Scripts/webkitpy/common/system/filesystem_mock_unittest.py:

(MockFileSystemTest.quick_check):

  • Scripts/webkitpy/common/system/filesystem_unittest.py:

(GenericFileSystemTests.test_globtrailing_asterisk):
(GenericFileSystemTests.test_glob
leading_asterisk):
(GenericFileSystemTests.test_globmiddle_asterisk):
(GenericFileSystemTests.test_glob
period_is_escaped):
(RealFileSystemTest.test_chdir):
(RealFileSystemTest.test_remove_file_with_retry):
(RealFileSystemTest.test_sep):

  • Scripts/webkitpy/common/system/logtesting.py:

(TestLogStream.assertMessages):

  • Scripts/webkitpy/common/system/logutils_unittest.py:

(GetLoggerTest.test_get_logger_in_webkitpy):
(GetLoggerTest.test_get_logger_not_in_webkitpy):

  • Scripts/webkitpy/common/system/outputcapture.py:

(OutputCaptureTestCaseBase.assertStdout):
(OutputCaptureTestCaseBase.assertStderr):

  • Scripts/webkitpy/common/system/path_unittest.py:

(AbspathTest.test_abspath_to_uri_cygwin):
(AbspathTest.test_abspath_to_uri_unixy):
(AbspathTest.test_abspath_to_uri_win):
(AbspathTest.test_abspath_to_uri_escaping_unixy):
(AbspathTest.test_abspath_to_uri_escaping_cygwin):

  • Scripts/webkitpy/common/system/platforminfo_unittest.py:

(TestPlatformInfo.test_real_code):
(TestPlatformInfo.test_os_name_and_wrappers):
(TestPlatformInfo.test_os_version):
(TestPlatformInfo.test_total_bytes_memory):

  • Scripts/webkitpy/common/system/user_unittest.py:

(UserTest.test_confirm.mock_raw_input):
(UserTest.test_confirm):

  • Scripts/webkitpy/common/system/zipfileset_unittest.py:

(ZipFileSetTest.test_open):
(ZipFileSetTest.test_read):

  • Scripts/webkitpy/common/watchlist/watchlist_unittest.py:

(WatchListTest.test_filename_definition_no_matches):
(WatchListTest.test_filename_definition):
(WatchListTest.test_cc_rules_simple):
(WatchListTest.test_cc_rules_complex):
(WatchListTest.test_cc_and_message_rules_complex):
(WatchListTest.test_cc_and_message_rules_no_matches):
(WatchListTest.test_added_match):
(WatchListTest.test_deleted_match):
(WatchListTest.test_more_and_less_match):
(WatchListTest.test_complex_match):

  • Scripts/webkitpy/layout_tests/controllers/layout_test_runner_unittest.py:

(LockCheckingRunner.handle_finished_list):
(LayoutTestRunnerTests.test_interrupt_if_at_failure_limits):
(LayoutTestRunnerTests.test_update_summary_with_result):
(LayoutTestRunnerTests.test_servers_started):
(SharderTests.assert_shards):
(SharderTests.test_shard_in_two_has_no_locked_shards):
(SharderTests.test_shard_in_two_has_no_unlocked_shards):
(NaturalCompareTest.assert_cmp):
(KeyCompareTest.assert_cmp):

  • Scripts/webkitpy/layout_tests/models/test_configuration_unittest.py:

(TestConfigurationTest.test_items):
(TestConfigurationTest.test_keys):
(TestConfigurationTest.test_str):
(TestConfigurationTest.test_repr):
(TestConfigurationTest.test_hash):
(TestConfigurationTest.test_eq):
(TestConfigurationTest.test_values):
(SpecifierSorterTest.test_init):
(SpecifierSorterTest.test_add_specifier):
(SpecifierSorterTest.test_add_macros):
(SpecifierSorterTest.test_category_priority):
(SpecifierSorterTest.test_specifier_priority):
(SpecifierSorterTest.test_sort_specifiers):
(TestConfigurationConverterTest.test_symmetric_difference):
(TestConfigurationConverterTest.test_to_config_set):
(TestConfigurationConverterTest.test_macro_expansion):
(TestConfigurationConverterTest.test_to_specifier_lists):
(TestConfigurationConverterTest.test_macro_collapsing):
(TestConfigurationConverterTest.test_converter_macro_collapsing):
(TestConfigurationConverterTest.test_specifier_converter_access):

  • Scripts/webkitpy/layout_tests/models/test_expectations_unittest.py:

(assert_exp):
(MiscTests.test_result_was_expected):
(MiscTests.test_remove_pixel_failures):
(MiscTests.test_suffixes_for_expectations):
(MiscTests.test_get_expectations_string):
(SkippedTests.check):
(ExpectationSyntaxTests.assert_tokenize_exp):
(SemanticTests.test_bad_bugid):
(SemanticTests.test_missing_bugid):
(TestExpectationSerializationTests.test_reconstitute_only_these):

  • Scripts/webkitpy/layout_tests/models/test_failures_unittest.py:

(TestFailuresTest.test_crashes):

  • Scripts/webkitpy/layout_tests/port/base_unittest.py:

(PortTest.test_nonexistant_expectations):
(PortTest.test_additional_expectations):

  • Scripts/webkitpy/layout_tests/port/builders_unittest.py:

(BuildersTest.test_path_from_name):

  • Scripts/webkitpy/layout_tests/port/chromium_android_unittest.py:

(ChromiumAndroidPortTest.test_attributes):
(ChromiumAndroidPortTest.test_default_timeout_ms):
(ChromiumAndroidPortTest.test_get_devices_one_device):
(ChromiumAndroidPortTest.test_get_devices_two_devices):
(ChromiumAndroidPortTest.test_get_device_serial_one_device):
(ChromiumAndroidPortTest.test_get_device_serial_two_devices):
(ChromiumAndroidPortTest.test_must_require_http_server):
(ChromiumAndroidDriverTest.test_get_last_stacktrace):
(ChromiumAndroidDriverTest.test_get_crash_log):
(ChromiumAndroidDriverTest.test_cmd_line):
(ChromiumAndroidDriverTest.test_read_prompt):
(ChromiumAndroidDriverTest.test_command_from_driver_input):
(ChromiumAndroidDriverTwoDriversTest.test_two_drivers):
(ChromiumAndroidTwoPortsTest.test_options_with_two_ports):

  • Scripts/webkitpy/layout_tests/port/chromium_linux_unittest.py:

(ChromiumLinuxPortTest.assert_architecture):
(ChromiumLinuxPortTest.test_determine_architecture_fails):
(ChromiumLinuxPortTest.test_path_to_image_diff):

  • Scripts/webkitpy/layout_tests/port/chromium_mac_unittest.py:

(ChromiumMacPortTest.assert_name):
(ChromiumMacPortTest.test_baseline_path):
(ChromiumMacPortTest.test_path_to_image_diff):

  • Scripts/webkitpy/layout_tests/port/chromium_port_testcase.py:

(ChromiumPortTestCase.test_default_max_locked_shards):
(ChromiumPortTestCase.test_default_timeout_ms):
(ChromiumPortTestCase.test_default_pixel_tests):
(ChromiumPortTestCase.test_all_test_configurations):
(ChromiumPortTestCase.test_default_configuration):
(ChromiumPortTestCase.test_diff_image):
(ChromiumPortTestCase.test_diff_image_crashed):
(ChromiumPortTestCase.test_expectations_files):

  • Scripts/webkitpy/layout_tests/port/chromium_win_unittest.py:

(ChromiumWinTest.test_setup_environ_for_server_cygpath):
(ChromiumWinTest.assert_name):
(ChromiumWinTest.test_baseline_path):
(ChromiumWinTest.test_path_to_image_diff):

  • Scripts/webkitpy/layout_tests/port/driver_unittest.py:

(DriverTest.test_read_block):
(DriverTest.test_read_binary_block):
(DriverTest.test_read_base64_block):
(DriverTest.test_no_timeout):
(DriverTest.test_check_for_driver_crash.assert_crash):
(DriverTest.test_creating_a_port_does_not_write_to_the_filesystem):

  • Scripts/webkitpy/layout_tests/port/factory_unittest.py:

(FactoryTest.test_get_from_builder_name):

  • Scripts/webkitpy/layout_tests/port/gtk_unittest.py:

(GtkPortTest.test_default_timeout_ms):

  • Scripts/webkitpy/layout_tests/port/http_lock_unittest.py:

(HttpLockTest.test_current_lock_pid):

  • Scripts/webkitpy/layout_tests/port/image_diff_unittest.py:

(TestImageDiffer.test_diff_image_failed):
(TestImageDiffer.test_diff_image_passed):

  • Scripts/webkitpy/layout_tests/port/leakdetector_unittest.py:

(LeakDetectorTest.test_leaks_args):
(test_parse_leaks_output):
(test_leaks_files_in_directory):
(test_count_total_leaks):

  • Scripts/webkitpy/layout_tests/port/mac_unittest.py:

(MacTest.test_default_timeout_ms):
(assert_name):
(test_setup_environ_for_server):
(_assert_search_path):
(test_32bit):
(test_64bit):

  • Scripts/webkitpy/layout_tests/port/mock_drt_unittest.py:

(MockTestShellTest.test_pixeltestfails):
(MockTestShellTest.test_test_shell_parse_options):

  • Scripts/webkitpy/layout_tests/port/port_testcase.py:

(PortTestCase.test_default_max_locked_shards):
(PortTestCase.test_default_timeout_ms):
(PortTestCase.test_default_pixel_tests):
(PortTestCase.test_diff_image):
(PortTestCase.test_diff_image_crashed):
(PortTestCase.test_get_crash_log):
(PortTestCase.assert_build_path):
(PortTestCase.test_expectations_ordering):
(_assert_config_file_for_platform):
(test_path_to_apache_config_file):
(test_additional_platform_directory):

  • Scripts/webkitpy/layout_tests/port/qt_unittest.py:

(QtPortTest._assert_search_path):
(QtPortTest._assert_expectations_files):
(QtPortTest.test_setup_environ_for_server):

  • Scripts/webkitpy/layout_tests/port/server_process_unittest.py:

(TestServerProcess.test_basic):
(TestServerProcess.test_broken_pipe):

  • Scripts/webkitpy/layout_tests/port/win_unittest.py:

(WinPortTest._assert_search_path):
(WinPortTest._assert_version):
(WinPortTest.test_runtime_feature_list):
(WinPortTest.test_expectations_files):

  • Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py:

(LintTest.test_all_configurations):
(MainTest.test_all):
(MainTest.test_repeat_each):
(MainTest.test_skipped_flag):
(MainTest.test_iterations):
(MainTest.test_run_chunk):
(MainTest.test_run_part):
(MainTest.test_run_singly):
(MainTest.test_run_singly_actually_runs_tests):
(MainTest.test_single_file):
(MainTest.test_single_file_with_prefix):
(MainTest.test_single_skipped_file):
(MainTest.test_stderr_is_saved):
(MainTest.test_test_list):
(MainTest.test_test_list_with_prefix):
(MainTest.test_missing_and_unexpected_results):
(MainTest.test_pixel_test_directories):
(MainTest.test_missing_and_unexpected_results_with_custom_exit_code):
(MainTest.test_crash_log):
(MainTest.test_web_process_crash_log):
(MainTest.test_exit_after_n_failures_upload):
(MainTest.test_exit_after_n_failures):
(MainTest.test_exit_after_n_crashes):
(MainTest.test_retrying_and_flaky_tests):
(MainTest.test_run_orderinline):
(MainTest.test_reftest_run):
(MainTest.test_reftest_run_reftests_if_pixel_tests_are_disabled):
(MainTest.test_reftest_skip_reftests_if_no_ref_tests):
(MainTest.test_reftest_expected_html_should_be_ignored):
(MainTest.test_reftest_driver_should_run_expected_html):
(MainTest.test_reftest_driver_should_run_expected_mismatch_html):
(MainTest.test_output_diffs):
(MainTest.test_unsupported_platform):
(EndToEndTest.test_end_to_end):
(RebaselineTest.test_reset_results):
(RebaselineTest.test_missing_results):
(RebaselineTest.test_new_baseline):

  • Scripts/webkitpy/layout_tests/servers/http_server_integrationtest.py:

(BaseTest.integration_test_servernormal):
(BaseTest.integration_test_server
fails):
(BaseTest.integration_test_port_and_root):

  • Scripts/webkitpy/layout_tests/servers/http_server_unittest.py:

(TestHttpServer.test_start_cmd):

  • Scripts/webkitpy/layout_tests/views/metered_stream_unittest.py:

(RegularTest.test_logging_not_included):
(RegularTest._basic):
(RegularTest.test_basic):
(RegularTest.test_log_after_update):
(RegularTest.test_log_args):
(TtyTest.test_basic):
(TtyTest.test_log_after_update):
(VerboseTest.test_basic):
(VerboseTest.test_log_after_update):
(VerboseTest.test_log_args):

  • Scripts/webkitpy/layout_tests/views/printing_unittest.py:

(Testprinter.assertWritten):
(test_test_status_line):

  • Scripts/webkitpy/performance_tests/perftestsrunner_unittest.py:

(MainTest.assertWritten):

  • Scripts/webkitpy/style/checker_unittest.py:

(GlobalVariablesTest.test_webkit_base_filter_rules):
(CheckerDispatcherSkipTest._assert_should_skip_without_warning):
(CheckerDispatcherCarriageReturnTest.test_should_check_and_strip_carriage_returns):
(CheckerDispatcherDispatchTest.assert_checker):
(CheckerDispatcherDispatchTest.test_changelog_paths):
(CheckerDispatcherDispatchTest.test_cpp_paths):
(CheckerDispatcherDispatchTest.test_json_paths):
(CheckerDispatcherDispatchTest.test_python_paths):
(CheckerDispatcherDispatchTest.test_text_paths):
(CheckerDispatcherDispatchTest.test_xml_paths):
(StyleProcessorConfigurationTest.test_init):
(StyleProcessorConfigurationTest.test_write_style_error_emacs):
(StyleProcessorConfigurationTest.test_write_style_error_vs7):
(StyleProcessor_EndToEndTest.test_init):
(StyleProcessor_EndToEndTest.test_process):
(StyleProcessor_CodeCoverageTest.test_processchecker_dispatched):

  • Scripts/webkitpy/style/checkers/changelog_unittest.py:

(ChangeLogCheckerTest.assert_error.handle_style_error):
(ChangeLogCheckerTest.test_init):

  • Scripts/webkitpy/style/checkers/common_unittest.py:

(CarriageReturnCheckerTest.assert_carriage_return):
(TabCheckerTest.assert_tab):

  • Scripts/webkitpy/style/checkers/cpp_unittest.py:

(CppFunctionsTest.test_convert_to_lower_with_underscores):
(CppFunctionsTest.test_create_acronym):
(CppFunctionsTest.test_parameter):
(CppFunctionsTest.test_single_line_view):
(CppFunctionsTest.test_create_skeleton_parameters):
(CppFunctionsTest.test_find_parameter_name_index):
(CppFunctionsTest.test_parameter_list):
(CppFunctionsTest.test_check_parameter_against_text):
(CppStyleTestBase.perform_lint):
(CppStyleTestBase.assert_lint):
(CppStyleTestBase.assert_lint_one_of_many_errors_re):
(CppStyleTestBase.assert_multi_line_lint):
(CppStyleTestBase.assert_language_rules_check):
(CppStyleTestBase.assert_include_what_you_use):
(CppStyleTestBase.assert_blank_lines_check):
(CppStyleTestBase.assert_positions_equal):
(FunctionDetectionTest.perform_function_detection):
(CppStyleTest.test_get_line_width):
(CppStyleTest.test_find_next_multi_line_comment_start):
(CppStyleTest.test_find_next_multi_line_comment_end):
(CppStyleTest.test_remove_multi_line_comments_from_range):
(CppStyleTest.test_position):
(CppStyleTest.test_rfind_in_lines):
(CppStyleTest.test_close_expression):
(CppStyleTest.test_include_what_you_use_no_implementation_files):
(CppStyleTest.test_include_what_you_use):
(CppStyleTest.test_files_belong_to_same_module):
(CppStyleTest.test_cleanse_line):
(CppStyleTest.test_multiline_strings):
(CppStyleTest.test_newline_at_eof.do_test):
(CppStyleTest.test_invalid_utf8.do_test):
(CppStyleTest.test_is_blank_line):
(CppStyleTest.test_allow_blank_line_before_closing_namespace):
(CppStyleTest.test_allow_blank_line_before_if_else_chain):
(CppStyleTest.test_else_on_same_line_as_closing_braces):
(CppStyleTest.test_build_header_guard):
(CppStyleTest.test_legal_copyright):
(CleansedLinesTest.test_init):
(CleansedLinesTest.test_init_empty):
(CleansedLinesTest.test_collapse_strings):
(CheckForFunctionLengthsTest.assert_function_lengths_check):
(PassPtrTest.assert_pass_ptr_check):
(LeakyPatternTest.assert_leaky_pattern_check):
(WebKitStyleTest.test_parameter_names):
(WebKitStyleTest.test_webkit_export_check):
(CppCheckerTest.test_init):

  • Scripts/webkitpy/style/checkers/jsonchecker_unittest.py:

(JSONCheckerTest.assert_error.handle_style_error):
(JSONCheckerTest.test_init):

  • Scripts/webkitpy/style/checkers/png_unittest.py:

(PNGCheckerTest.test_init):
(PNGCheckerTest.test_check):

  • Scripts/webkitpy/style/checkers/python_unittest.py:

(PythonCheckerTest.test_init):
(PythonCheckerTest.test_check):

  • Scripts/webkitpy/style/checkers/test_expectations_unittest.py:

(TestExpectationsTestCase._expect_port_for_expectations_path):
(TestExpectationsTestCase.assert_lines_lint):

  • Scripts/webkitpy/style/checkers/text_unittest.py:

(TextStyleTestCase.assertNoError):
(TextStyleTestCase.assertError.error_for_test):
(TextStyleTestCase.assertError):
(TextCheckerTest.test_init):

  • Scripts/webkitpy/style/checkers/watchlist_unittest.py:

(WatchListTest.test_basic_error_message.handle_style_error):
(WatchListTest):

  • Scripts/webkitpy/style/checkers/xcodeproj_unittest.py:

(XcodeProjectFileCheckerTest.assert_error):

  • Scripts/webkitpy/style/checkers/xml_unittest.py:

(XMLCheckerTest.assert_error.handle_style_error):
(XMLCheckerTest.test_init):

  • Scripts/webkitpy/style/error_handlers_unittest.py:

(DefaultStyleErrorHandlerTest._check_initialized):
(DefaultStyleErrorHandlerTest.test_non_reportable_error):
(DefaultStyleErrorHandlerTest.test_max_reports_per_category):
(DefaultStyleErrorHandlerTest.test_line_numbers):

  • Scripts/webkitpy/style/filereader_unittest.py:

(TextFileReaderTest._assert_file_reader):
(TextFileReaderTest.test_process_filedoes_not_exist):
(TextFileReaderTest.test_count_delete_only_file):

  • Scripts/webkitpy/style/filter_unittest.py:

(CategoryFilterTest.test_init):
(CategoryFilterTest.test_init_default_arguments):
(CategoryFilterTest.test_str):
(FilterConfigurationTest.test_init):
(FilterConfigurationTest.test_default_arguments):

  • Scripts/webkitpy/style/main_unittest.py:

(ChangeDirectoryTest._assert_result):

  • Scripts/webkitpy/style/optparser_unittest.py:

(ArgumentPrinterTest.test_to_flag_string):
(ArgumentParserTest.test_parse_default_arguments):
(ArgumentParserTest.test_parse_explicit_arguments):
(ArgumentParserTest.test_parse_files):
(CommandOptionValuesTest.test_init):

  • Scripts/webkitpy/style/patchreader_unittest.py:

(PatchReaderTest._assert_checked):

  • Scripts/webkitpy/test/finder_unittest.py:

(FinderTest.test_additional_system_paths):
(FinderTest.test_to_module):
(FinderTest.check_names):

  • Scripts/webkitpy/test/main_unittest.py:

(TesterTest.test_individual_names_are_not_run_twice):
(TesterTest.test_integration_tests_are_not_found_by_default):
(TesterTest.test_integration_tests_are_found):
(TesterTest.integration_test_coverage_works):

  • Scripts/webkitpy/test/runner_unittest.py:

(RunnerTest.test_run):

  • Scripts/webkitpy/tool/bot/commitqueuetask_unittest.py:

(_expect_validate):

  • Scripts/webkitpy/tool/bot/expectedfailures_unittest.py:

(ExpectedFailuresTest._assert_can_trust):
(ExpectedFailuresTest.test_unexpected_failures_observed):
(ExpectedFailuresTest.test_unexpected_failures_observed_when_tree_is_hosed):

  • Scripts/webkitpy/tool/bot/feeders_unittest.py:

(test_patches_with_acceptable_review_flag):

  • Scripts/webkitpy/tool/bot/irc_command_unittest.py:

(IRCCommandTest.test_whois):
(IRCCommandTest.test_create_bug):
(IRCCommandTest.test_roll_chromium_deps):
(IRCCommandTest.test_rollout):

  • Scripts/webkitpy/tool/bot/layouttestresultsreader_unittest.py:

(LayoutTestResultsReaderTest.test_missing_layout_test_results):
(test_missing_unit_test_results_path):
(test_layout_test_results):

  • Scripts/webkitpy/tool/bot/queueengine_unittest.py:

(LoggingDelegate.process_work_item):
(LoggingDelegate.handle_unexpected_error):
(QueueEngineTest.test_trivial):
(QueueEngineTest.test_unexpected_error):
(QueueEngineTest.test_handled_error):
(QueueEngineTest._test_terminating_queue):

  • Scripts/webkitpy/tool/commands/openbugs_unittest.py:

(OpenBugsTest.test_find_bugs_in_string):

  • Scripts/webkitpy/tool/commands/queries_unittest.py:

(FailureReasonTest.test_blame_line_for_revision):
(PrintExpectationsTest.run_test):
(PrintBaselinesTest.test_basic):
(PrintBaselinesTest.test_multiple):
(PrintBaselinesTest.test_csv):

  • Scripts/webkitpy/tool/commands/queues_unittest.py:

(AbstractQueueTest.test_log_directory):
(AbstractPatchQueueTest.test_next_patch):
(test_auto_retry):

  • Scripts/webkitpy/tool/commands/rebaseline_unittest.py:

(test_rebaseline_updates_expectations_file):
(test_rebaseline_does_not_include_overrides):
(test_rebaseline_test):
(test_rebaseline_test_with_results_directory):
(test_rebaseline_test_and_print_scm_changes):
(test_rebaseline_and_copy_test):
(test_rebaseline_and_copy_test_no_existing_result):
(test_rebaseline_and_copy_test_with_lion_result):
(test_rebaseline_and_copy_no_overwrite_test):
(test_rebaseline_test_internal_with_move_overwritten_baselines_to):
(TestRebaselineJson.test_rebaseline_all):
(TestRebaselineJson.test_rebaseline_debug):
(TestRebaselineJson.test_move_overwritten):
(TestRebaselineJson.test_no_optimize):
(TestRebaselineJson.test_results_directory):
(TestRebaseline.test_rebaseline):
(TestRebaselineExpectations.test_rebaseline_expectations_noop):
(TestRebaselineExpectations.disabled_test_overrides_are_included_correctly):
(TestAnalyzeBaselines.test_default):
(TestAnalyzeBaselines.test_missing_baselines):

  • Scripts/webkitpy/tool/commands/roll_unittest.py:

(PostRollCommandsTest.test_prepare_state):

  • Scripts/webkitpy/tool/servers/gardeningserver_unittest.py:

(BuildCoverageExtrapolatorTest.test_extrapolate):

  • Scripts/webkitpy/tool/steps/addsvnmimetypeforpng_unittest.py:

(AddSvnMimetypeForPngTest.test_run):

  • Scripts/webkitpy/tool/steps/preparechangelog_unittest.py:

(PrepareChangeLogTest.test_ensure_bug_url):

  • Scripts/webkitpy/tool/steps/preparechangelogforrevert_unittest.py:

(_assert_message_for_revert_output):

  • TestResultServer/model/jsonresults_unittest.py:

(JsonResultsTest._test_merge):
(JsonResultsTest._test_get_test_list):

11:28 AM Changeset in webkit [134635] by zandobersek@gmail.com
  • 3 edits
    1 add in trunk/LayoutTests

Unreviewed GTK gardening.

Adding or updating baselines for changes in r134618.
Adding timeout expectations for

  • fast/dom/Window/open-window-min-size.html, added in r134586 and
  • inspector-protocol/nmi-webaudio.html, added in r134593.
  • platform/gtk/TestExpectations:
  • platform/gtk/fast/files/workers/worker-read-blob-sync-expected.txt: Added.
  • platform/gtk/fast/media/mq-js-media-except-01-expected.txt:
11:26 AM Changeset in webkit [134634] by bfulgham@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

Replace (typeof(x) != <"object", "undefined", ...>) with
!(typeof(x) == <"object",..>). Later is_object, is_<...> bytecode operation
will be used.

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

Patch by Valery Ignatyev <valery.ignatyev@ispras.ru> on 2012-11-14
Reviewed by Filip Pizlo.

This eliminates expensive typeof implementation and
allows to use DFG optimizations, which doesn't support 'typeof'.

  • bytecompiler/NodesCodegen.cpp:

(JSC::BinaryOpNode::emitBytecode):

11:24 AM Changeset in webkit [134633] by enne@google.com
  • 2 edits
    39 adds in trunk/LayoutTests

[Chromium] Rebaselined video LayoutTests for software compositor
https://bugs.webkit.org/show_bug.cgi?id=101973

Patch by Slavomir Kaslev <skaslev@google.com> on 2012-11-12
Reviewed by Adrienne Walker.

Rebaselined failing video LayouTests caused by different filtering
result between Skia and Mesa for the software compositor.

  • platform/chromium-linux/platform/chromium/virtual/softwarecompositing/geometry/video-fixed-scrolling-expected.png: Added.
  • platform/chromium-linux/platform/chromium/virtual/softwarecompositing/geometry/video-opacity-overlay-expected.png: Added.
  • platform/chromium-linux/platform/chromium/virtual/softwarecompositing/layers-inside-overflow-scroll-expected.png: Added.
  • platform/chromium-linux/platform/chromium/virtual/softwarecompositing/overflow/overflow-compositing-descendant-expected.png: Added.
  • platform/chromium-linux/platform/chromium/virtual/softwarecompositing/overflow/scroll-ancestor-update-expected.png: Added.
  • platform/chromium-linux/platform/chromium/virtual/softwarecompositing/reflections/load-video-in-reflection-expected.png: Added.
  • platform/chromium-linux/platform/chromium/virtual/softwarecompositing/self-painting-layers-expected.png: Added.
  • platform/chromium-mac-lion/platform/chromium/virtual/softwarecompositing/geometry/video-fixed-scrolling-expected.png: Added.
  • platform/chromium-mac-lion/platform/chromium/virtual/softwarecompositing/geometry/video-opacity-overlay-expected.png: Added.
  • platform/chromium-mac-lion/platform/chromium/virtual/softwarecompositing/layers-inside-overflow-scroll-expected.png: Added.
  • platform/chromium-mac-lion/platform/chromium/virtual/softwarecompositing/overflow/overflow-compositing-descendant-expected.png: Added.
  • platform/chromium-mac-lion/platform/chromium/virtual/softwarecompositing/overflow/scroll-ancestor-update-expected.png: Added.
  • platform/chromium-mac-lion/platform/chromium/virtual/softwarecompositing/reflections/load-video-in-reflection-expected.png: Added.
  • platform/chromium-mac-lion/platform/chromium/virtual/softwarecompositing/self-painting-layers-expected.png: Added.
  • platform/chromium-mac-snowleopard/platform/chromium/virtual/softwarecompositing/geometry/video-fixed-scrolling-expected.png: Added.
  • platform/chromium-mac-snowleopard/platform/chromium/virtual/softwarecompositing/geometry/video-opacity-overlay-expected.png: Added.
  • platform/chromium-mac-snowleopard/platform/chromium/virtual/softwarecompositing/layers-inside-overflow-scroll-expected.png: Added.
  • platform/chromium-mac-snowleopard/platform/chromium/virtual/softwarecompositing/overflow/overflow-compositing-descendant-expected.png: Added.
  • platform/chromium-mac-snowleopard/platform/chromium/virtual/softwarecompositing/overflow/scroll-ancestor-update-expected.png: Added.
  • platform/chromium-mac-snowleopard/platform/chromium/virtual/softwarecompositing/reflections/load-video-in-reflection-expected.png: Added.
  • platform/chromium-mac-snowleopard/platform/chromium/virtual/softwarecompositing/self-painting-layers-expected.png: Added.
  • platform/chromium-mac/platform/chromium/virtual/softwarecompositing/geometry/video-fixed-scrolling-expected.png: Added.
  • platform/chromium-mac/platform/chromium/virtual/softwarecompositing/geometry/video-opacity-overlay-expected.png: Added.
  • platform/chromium-mac/platform/chromium/virtual/softwarecompositing/layers-inside-overflow-scroll-expected.png: Added.
  • platform/chromium-mac/platform/chromium/virtual/softwarecompositing/overflow/overflow-compositing-descendant-expected.png: Added.
  • platform/chromium-mac/platform/chromium/virtual/softwarecompositing/overflow/scroll-ancestor-update-expected.png: Added.
  • platform/chromium-mac/platform/chromium/virtual/softwarecompositing/reflections/load-video-in-reflection-expected.png: Added.
  • platform/chromium-mac/platform/chromium/virtual/softwarecompositing/self-painting-layers-expected.png: Added.
  • platform/chromium-mac/platform/chromium/virtual/softwarecompositing/visibility/visibility-simple-video-layer-expected.png: Added.
  • platform/chromium-win/platform/chromium/virtual/softwarecompositing/geometry/video-fixed-scrolling-expected.png: Added.
  • platform/chromium-win/platform/chromium/virtual/softwarecompositing/geometry/video-opacity-overlay-expected.png: Added.
  • platform/chromium-win/platform/chromium/virtual/softwarecompositing/layers-inside-overflow-scroll-expected.png: Added.
  • platform/chromium-win/platform/chromium/virtual/softwarecompositing/overflow/overflow-compositing-descendant-expected.png: Added.
  • platform/chromium-win/platform/chromium/virtual/softwarecompositing/overflow/scroll-ancestor-update-expected.png: Added.
  • platform/chromium-win/platform/chromium/virtual/softwarecompositing/reflections/load-video-in-reflection-expected.png: Added.
  • platform/chromium-win/platform/chromium/virtual/softwarecompositing/self-painting-layers-expected.png: Added.
  • platform/chromium-win/platform/chromium/virtual/softwarecompositing/visibility/visibility-simple-video-layer-expected.png: Added.
  • platform/chromium/TestExpectations:
11:16 AM Changeset in webkit [134632] by alecflett@chromium.org
  • 9 edits
    1 copy in trunk/Source

Add DOMRequestState to maintain world/ScriptExecutionContext state
https://bugs.webkit.org/show_bug.cgi?id=102102

Reviewed by Adam Barth.

Introduce DOMRequestState, and convert IndexedDB over.

No new tests, this is an abstraction layer for existing code.

  • Modules/indexeddb/IDBRequest.cpp:

(WebCore::IDBRequest::IDBRequest):
(WebCore::IDBRequest::onSuccess):
(WebCore::IDBRequest::dispatchEvent):

  • Modules/indexeddb/IDBRequest.h:

(IDBRequest):

  • WebCore.gypi:
  • bindings/v8/DOMRequestState.h: Added.

(WebCore):
(DOMRequestState):
(WebCore::DOMRequestState::DOMRequestState):
(Scope):
(WebCore::DOMRequestState::Scope::Scope):
(WebCore::DOMRequestState::scope):

11:12 AM Changeset in webkit [134631] by junov@google.com
  • 7 edits
    3 adds in trunk

Boxes with rounded corners and thin borders are too slow to draw
https://bugs.webkit.org/show_bug.cgi?id=101974

Reviewed by Simon Fraser.

Source/WebCore:

With the current implementation RenderBox::
determineBackgroundBleedAvoidance() uses the slow path
BackgroundBleedUseTransparencyLayer for some very common use cases,
notably for drawing rectangles with rounded corners that have thin
borders. This is because the BackgroundBleedShrinkBackground
strategy requires a border at least two pixels wide on all sides. This
patch introduce drawing strategy BackgroundBleedBackgroundOverBorder.
This approach consists in drawing the border first, with an inset inner
edge (for anti-aliased compositing to work well). This approach only
works with opaque solid edges and opaque single-layer backgrounds.
By using this approach rather than BackgroundBleedUseTransparencyLayer,
we save two clipPath, one save and one saveLayer on the
GraphicsContext. This patch gets good coverage from existing layout
tests. One additional test was added to exercise mitring, thick edges
and anti-aliasing edge cases under the new painting algorithm.

Test: fast/borders/border-radius-wide-border-05.html

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::determineBackgroundBleedAvoidance):
Added selection criteria for BackgroundOverBorder
(WebCore::RenderBox::paintBoxDecorations):
Added a preliminary paintBorder pass for BackgroundOverBorder
(WebCore::RenderBox::paintBackground):
Insetting the background to to innerBorder when bleedAvoidance is
BackgroundOverBorder. This why BackgroundOverBorder only works for
Opaque solid edges.
(WebCore):
(WebCore::RenderBox::backgroundIsSingleOpaqueLayer):
Utility method use by determineBackgroundBleedAvoidance to test the
background's eligibility for BackgroundOverBorder bleed avoidance
strategy. The reason the background must be a single layer is to avoid
color bleeding from layer compositing along anti-aliased edges

  • rendering/RenderBox.h:

(RenderBox):

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::getBackgroundRoundedRect):
(WebCore::RenderBoxModelObject::borderInnerRectAdjustedForBleedAvoidance):
Added support for BackgroundOverBorder by applying a one pixel inset.
(WebCore::RenderBoxModelObject::backgroundRoundedRectAdjustedForBleedAvoidance):
Set the background rect to the inner border for BackgroundOverBorder
(WebCore):
(WebCore::RenderBoxModelObject::paintFillLayerExtended):
Added support for BackgroundOverBorder by using
backgroundRoundedRectAdjustedForBleedAvoidance
(WebCore::RenderBoxModelObject::paintBorderSides):
Added support for BackgroundOverBorder by applying per-side inset
adjustments.
(WebCore::RenderBoxModelObject::paintTranslucentBorderSides):
(WebCore::RenderBoxModelObject::paintBorder):
Added support for BackgroundOverBorder by using an adjusted inner
border, but not if sides are painted individually.

  • rendering/RenderBoxModelObject.h:

(RenderBoxModelObject):

LayoutTests:

New test that purposely triggers the BackgroundOverBorder painting path
in WebCore::RenderBox, to test it with thick borders, off-diagonal
mitring, an anti-aliased rounded border wedge, and a border of width 0.

  • fast/borders/border-radius-wide-border-05.html: Added.
  • fast/borders/border-radius-wide-border-05-expected.txt: Added.
  • LayoutTests/platform/chromium-win/fast/borders/border-radius-wide-border-05-expected.png: Added.
  • LayoutTests/platform/chromium/TestExpectations: Added Expectations.

Added expectations for tests pixels results that require rebaselining

11:03 AM Changeset in webkit [134630] by commit-queue@webkit.org
  • 7 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Break suspend/resume of the backingstore and screen into separate methods
https://bugs.webkit.org/show_bug.cgi?id=102126

Patch by Adam Treat <atreat@rim.com> on 2012-11-14
Reviewed by George Staikos.
PR 219976

Modify the suspend/resume methods so that they can be called from the UI thread
itself and split up the suspend/resume methods so that we can suspend/resume
the screen or backingstore separately.

  • Api/BackingStore.cpp:

(BlackBerry::WebKit::BackingStorePrivate::suspendBackingStoreUpdates):
(WebKit):
(BlackBerry::WebKit::BackingStorePrivate::suspendScreenUpdates):
(BlackBerry::WebKit::BackingStorePrivate::resumeBackingStoreUpdates):
(BlackBerry::WebKit::BackingStorePrivate::resumeScreenUpdates):
(BlackBerry::WebKit::BackingStorePrivate::blitVisibleContents):
(BlackBerry::WebKit::BackingStorePrivate::createSurfaces):
(BlackBerry::WebKit::BackingStore::suspendBackingStoreUpdates):
(BlackBerry::WebKit::BackingStore::resumeBackingStoreUpdates):
(BlackBerry::WebKit::BackingStore::suspendScreenUpdates):
(BlackBerry::WebKit::BackingStore::resumeScreenUpdates):
(BlackBerry::WebKit::BackingStore::createBackingStoreMemory):
(BlackBerry::WebKit::BackingStore::releaseBackingStoreMemory):

  • Api/BackingStore.h:
  • Api/BackingStore_p.h:

(BackingStorePrivate):

  • Api/WebPage.cpp:

(BlackBerry::WebKit::WebPagePrivate::setLoadState):
(BlackBerry::WebKit::WebPagePrivate::zoomAboutPoint):
(BlackBerry::WebKit::WebPagePrivate::zoomBlock):
(BlackBerry::WebKit::WebPage::destroy):
(BlackBerry::WebKit::WebPagePrivate::setViewportSize):
(BlackBerry::WebKit::WebPagePrivate::setCompositor):
(BlackBerry::WebKit::WebPagePrivate::exitFullScreenForElement):
(BlackBerry::WebKit::WebPagePrivate::restoreHistoryViewState):

  • WebCoreSupport/FrameLoaderClientBlackBerry.cpp:

(WebCore::FrameLoaderClientBlackBerry::transitionToCommittedForNewPage):
(WebCore::FrameLoaderClientBlackBerry::restoreViewState):

  • WebKitSupport/InputHandler.cpp:

(BlackBerry::WebKit::InputHandler::setBatchEditingActive):

10:53 AM Changeset in webkit [134629] by bfulgham@webkit.org
  • 2 edits in trunk/Source/WebCore

[WinCairo] Fix cairo_t* memory leak in GraphicsContext::platformInit
https://bugs.webkit.org/show_bug.cgi?id=76219

Patch by Hideki Yoshida <yoshida-hxa@necst.nec.co.jp> on 2012-11-14
Reviewed by Brent Fulgham.

This patch is to fix a memory leak problem which occurs
in every rendering process on Wincairo port.
By applying this patch, the memory allocated in cairo
library will be released by calling cairo_destroy.

  • platform/graphics/win/GraphicsContextCairoWin.cpp:

(WebCore::GraphicsContext::platformInit):

10:51 AM Changeset in webkit [134628] by commit-queue@webkit.org
  • 8 edits
    1 copy
    1 add in trunk

Optimize painting of composited scrolling layers
https://bugs.webkit.org/show_bug.cgi?id=96087

Patch by Sami Kyostila <skyostil@chromium.org> on 2012-11-14
Reviewed by Simon Fraser.

Source/WebCore:

Don't completely repaint accelerated scrolling layers when the scroll offset
changes.

Test: compositing/overflow/scrolling-without-painting.html

  • platform/graphics/GraphicsLayer.cpp:

(WebCore::GraphicsLayer::setOffsetFromRenderer):

  • platform/graphics/GraphicsLayer.h:

(GraphicsLayer):

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):

LayoutTests:

Test that accelerated scrolling layers can be scrolled without repainting
their contents. Note that this test will not pass unless
ENABLE_ACCELERATED_OVERFLOW_SCROLLING is enabled.

  • compositing/overflow/scrolling-without-painting-expected.txt: Added.
  • compositing/overflow/scrolling-without-painting.html: Added.
  • platform/chromium/TestExpectations: Mark test as expected to fail by default.
  • platform/mac/TestExpectations: Skip the test.
10:48 AM Changeset in webkit [134627] by pfeldman@chromium.org
  • 3 edits in trunk/Source/WebCore

Web Inspector: keep track of mutation observers and disconnect them upon upload
https://bugs.webkit.org/show_bug.cgi?id=102239

Reviewed by Vsevolod Vlasov.

Otherwise we hit memory leaks.

  • inspector/front-end/DefaultTextEditor.js:

(WebInspector.DefaultTextEditor.prototype.wasShown):
(WebInspector.DefaultTextEditor.prototype.willHide):
(WebInspector.TextEditorMainPanel.prototype._wasShown):
(WebInspector.TextEditorMainPanel.prototype._willHide):
(WebInspector.TextEditorMainPanel.prototype._attachMutationObserver):
(WebInspector.TextEditorMainPanel.prototype._detachMutationObserver):

  • inspector/front-end/utilities.js:
10:43 AM Changeset in webkit [134626] by reed@google.com
  • 2 edits in trunk/Source/WebKit/chromium

Dynamically create canvas in Setup() to avoid calling DEPRECATED function setDevice().
https://bugs.webkit.org/show_bug.cgi?id=102242

Reviewed by Stephen White.

This change should not change any test results, it is an equivalent implementation that avoids
using a (now) DEPRECATED function.

  • tests/DeferredImageDecoderTest.cpp:

(WebCore::createRasterCanvas):
(WebCore):
(WebCore::DeferredImageDecoderTest::SetUp):
(DeferredImageDecoderTest):
(WebCore::TEST_F):

10:39 AM Changeset in webkit [134625] by Dimitri Glazkov
  • 5 edits
    1 move
    1 add in trunk/LayoutTests

Rebaseline fast/media/mq-js-media-except-01.html after r134618.

10:37 AM Changeset in webkit [134624] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Add FocusBased context node detection strategy
https://bugs.webkit.org/show_bug.cgi?id=102238

Patch by Andy Chen <andchen@rim.com> on 2012-11-14
Reviewed by Rob Buis.

If last fat finger result is invalid, we need to return current
focus element as context node, because when user tap on selection
overlay, there is not touch event sent to webkit.
PR 241382

Internally reviewed by Genevieve Mak and Mike Fenton.

  • Api/WebPage.cpp:

(BlackBerry::WebKit::WebPagePrivate::contextNode):

  • Api/WebPage.h:
  • WebKitSupport/InputHandler.h:

(BlackBerry::WebKit::InputHandler::currentFocusElement):

10:20 AM Changeset in webkit [134623] by beidson@apple.com
  • 8 edits in trunk/Source/WebKit2

Deliver data from NetworkProcess to resources progressively.
https://bugs.webkit.org/show_bug.cgi?id=102171

Reviewed by Alexey Proskuryakov.

Instead of buffering up the data for an entire resource and delivering it in one chunk, we need
to deliver data progressively.

This allows progressive parsing of textual resources and progressive rendering of images,
as well as allows endless multipart resources (e.g., multipart jpegs) to work at all.

  • NetworkProcess/NetworkResourceLoader.cpp:

(WebKit::NetworkResourceLoader::didReceiveData): Don't buffer data locally (for now) but rather

pass it straight through to the WebProcess.

(WebKit::NetworkResourceLoader::didFinishLoading): Only notify didFinishLoading instead of

delivering a chunk of buffered data.

(WebKit::NetworkResourceLoader::didFail):

  • NetworkProcess/NetworkResourceLoader.h:
  • WebProcess/Network/NetworkProcessConnection.cpp:

(WebKit::NetworkProcessConnection::didReceiveData): Pass through towards ResourceLoader.
(WebKit::NetworkProcessConnection::didFinishResourceLoad):
(WebKit::NetworkProcessConnection::didFailResourceLoad):

  • WebProcess/Network/NetworkProcessConnection.h:
  • WebProcess/Network/NetworkProcessConnection.messages.in:
  • WebProcess/Network/WebResourceLoadScheduler.cpp:

(WebKit::WebResourceLoadScheduler::didReceiveData): Hand this chunk of data to the ResourceLoader directly.
(WebKit::WebResourceLoadScheduler::didFinishResourceLoad):

  • WebProcess/Network/WebResourceLoadScheduler.h:
10:07 AM Changeset in webkit [134622] by Dimitri Glazkov
  • 2 edits in trunk/LayoutTests

[Chromium] Mark webgl-background-color.html as failing.
http://webkit.org/b/102247

  • platform/chromium/TestExpectations: Marked as failing.
9:57 AM Changeset in webkit [134621] by arv@chromium.org
  • 20 edits
    3 moves
    1 add in trunk/LayoutTests

Unreviewed gardening.

Updating pixel tests expectations after r134613

  • LayoutTests/platform/chromium/TestExpectations:
  • platform/chromium-mac-snowleopard/svg/dom/SVGLengthList-appendItem-expected.png:
  • platform/chromium-mac-snowleopard/svg/dom/SVGLengthList-basics-expected.png:
  • platform/chromium-mac-snowleopard/svg/dom/SVGLengthList-getItem-expected.png:
  • platform/chromium-mac-snowleopard/svg/dom/SVGLengthList-initialize-expected.png:
  • platform/chromium-mac-snowleopard/svg/dom/SVGLengthList-insertItemBefore-expected.png:
  • platform/chromium-mac-snowleopard/svg/dom/SVGLengthList-removeItem-expected.png:
  • platform/chromium-mac-snowleopard/svg/dom/SVGLengthList-replaceItem-expected.png:
  • platform/chromium-mac-snowleopard/svg/dom/SVGNumberList-basics-expected.png:
  • platform/chromium-mac-snowleopard/svg/dom/SVGTransformList-basics-expected.png:
  • platform/chromium-mac/svg/dom/SVGLengthList-appendItem-expected.png:
  • platform/chromium-mac/svg/dom/SVGLengthList-basics-expected.png:
  • platform/chromium-mac/svg/dom/SVGLengthList-getItem-expected.png:
  • platform/chromium-mac/svg/dom/SVGLengthList-initialize-expected.png:
  • platform/chromium-mac/svg/dom/SVGLengthList-insertItemBefore-expected.png:
  • platform/chromium-mac/svg/dom/SVGLengthList-removeItem-expected.png:
  • platform/chromium-mac/svg/dom/SVGLengthList-replaceItem-expected.png:
  • platform/chromium-mac/svg/dom/SVGNumberList-basics-expected.png:
  • platform/chromium-mac/svg/dom/SVGTransformList-basics-expected.png:
  • platform/efl-wk1/svg/dom/SVGLengthList-getItem-expected.png: Renamed from LayoutTests/platform/efl/svg/dom/SVGLengthList-getItem-expected.png.
  • platform/efl-wk1/svg/dom/SVGLengthList-removeItem-expected.png: Renamed from LayoutTests/platform/efl/svg/dom/SVGLengthList-removeItem-expected.png.
  • platform/efl-wk1/svg/dom/SVGTransformList-basics-expected.png: Renamed from LayoutTests/platform/efl/svg/dom/SVGTransformList-basics-expected.png.
9:46 AM Changeset in webkit [134620] by sergio@webkit.org
  • 2 edits in trunk/Source/WebCore

[Qt] Use a node image if there is no drag image set for Drag&Drop
https://bugs.webkit.org/show_bug.cgi?id=102124

Reviewed by Simon Hausmann.

Use the nodeImage provided by the frame if there is no dragImage in
the clipboard for the current drag&drop operation.

  • platform/qt/ClipboardQt.cpp:

(WebCore::ClipboardQt::createDragImage):

9:37 AM Changeset in webkit [134619] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebCore

Call to enclosingFilterLayer() in RenderObject::containerForRepaint() is expensive
https://bugs.webkit.org/show_bug.cgi?id=101846

Patch by Max Vujovic <mvujovic@adobe.com> on 2012-11-14
Reviewed by Simon Fraser.

If software-rendered CSS Filters have not been used in the document, avoid doing the second
tree walk in RenderObject::containerForRepaint, which determines the RenderObject's
enclosing filter layer.

No new tests. We now avoid a filters related code path for a performance improvement when
we're not using filters.

  • page/FrameView.cpp:

(WebCore::FrameView::FrameView):

  • page/FrameView.h:

(FrameView):
(WebCore::FrameView::setHasSoftwareFilters):
(WebCore::FrameView::hasSoftwareFilters):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::updateOrRemoveFilterEffectRenderer):

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::containerForRepaint):

9:33 AM Changeset in webkit [134618] by arv@chromium.org
  • 31 edits in trunk

Update DOMException name: NotFoundError
https://bugs.webkit.org/show_bug.cgi?id=102137

Reviewed by Ojan Vafai.

Source/WebCore:

Patch 8 of 25 to update DOMException name to match the spec and Firefox.

Updated existing tests.

  • dom/DOMCoreException.cpp:

LayoutTests:

Updated tests and expectations.

  • fast/dom/Document/replaceChild-null-oldChild-expected.txt:
  • fast/dom/Document/script-tests/replaceChild-null-oldChild.js:
  • fast/dom/NamedNodeMap-setNamedItem-crash-expected.txt:
  • fast/dom/Range/range-intersectsNode-expected.txt:
  • fast/dom/incompatible-operations-expected.txt:
  • fast/dom/incompatible-operations.html:
  • fast/dom/setter-type-enforcement-expected.txt:
  • fast/dom/timer-clear-interval-in-handler-and-generate-error-expected.txt:
  • fast/events/remove-target-with-shadow-in-drag-expected.txt:
  • fast/files/workers/worker-read-blob-sync-expected.txt:
  • fast/files/workers/worker-read-file-sync-expected.txt:
  • fast/inspector-support/uncaught-dom8-exception-expected.txt:
  • fast/js/dot-node-base-exception-expected.txt:
  • fast/js/script-tests/dot-node-base-exception.js:
  • fast/mutation/observe-exceptions-expected.txt:
  • platform/chromium-linux/fast/media/mq-js-media-except-01-expected.png:
  • platform/chromium-win/fast/media/mq-js-media-except-01-expected.txt:
  • platform/chromium/fast/dom/NamedNodeMap-setNamedItem-crash-expected.txt:
  • platform/chromium/fast/dom/timer-clear-interval-in-handler-and-generate-error-expected.txt:
  • platform/chromium/fast/events/remove-target-with-shadow-in-drag-expected.txt:
  • platform/chromium/fast/files/workers/worker-read-blob-sync-expected.txt:
  • platform/chromium/fast/inspector-support/uncaught-dom8-exception-expected.txt:
  • platform/chromium/fast/media/mq-js-media-except-01-expected.txt:
  • platform/efl/fast/media/mq-js-media-except-01-expected.txt:
  • platform/gtk/fast/events/remove-target-with-shadow-in-drag-expected.txt:
  • platform/gtk/fast/media/mq-js-media-except-01-expected.txt:
  • platform/mac/fast/media/mq-js-media-except-01-expected.txt:
  • platform/qt/fast/media/mq-js-media-except-01-expected.txt:
9:07 AM Changeset in webkit [134617] by Dimitri Glazkov
  • 2 edits in trunk/LayoutTests

Mark files that need rebaselines as failing.
https://bugs.webkit.org/show_bug.cgi?id=102087

  • platform/chromium/TestExpectations: Added expectations.
9:04 AM Changeset in webkit [134616] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Use mispelled-marker offsets relative to the element
https://bugs.webkit.org/show_bug.cgi?id=102236

Patch by Nima Ghanavatian <nghanavatian@rim.com> on 2012-11-14
Reviewed by Rob Buis.

DocumentMarker offsets are calculated relative to a node. This is causing
problems for contenteditable which can have numerous nodes. Creating a Range around a word
and calculating its location and length gives us the correct override in this case for starting
and ending points to pass to IMF.

Internally reviewed by Mike Fenton.

  • WebKitSupport/InputHandler.cpp:

(BlackBerry::WebKit::InputHandler::requestSpellingCheckingOptions):

8:53 AM Changeset in webkit [134615] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[BlackBerry] Updating BB Cookie database to use WAL
https://bugs.webkit.org/show_bug.cgi?id=102237

Patch by Otto Derek Cheung <otcheung@rim.com> on 2012-11-14
Reviewed by Rob Buis.

The cookie database is accessed by one process only and should be updated to
use the WAL journal mode for better I/O performance.

PR 236553

cookieCollection.db-wal is created after the conversion to WAL.
Tested cookie persistence by logging on to random sites and restarting the browser and
check if it automatically logs in.
Also tested using Opera's cookie persistence test.

  • platform/blackberry/CookieDatabaseBackingStore/CookieDatabaseBackingStore.cpp:

(WebCore::CookieDatabaseBackingStore::invokeOpen):

8:31 AM Changeset in webkit [134614] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[Qt][ARM] Fix 'nullptr' is a keyword in C++11 [-Wc++0x-compat] warning
https://bugs.webkit.org/show_bug.cgi?id=102083

Patch by János Badics <János Badics> on 2012-11-14
Reviewed by Csaba Osztrogonác.

Modified compiler name regex in condition that tests if -std=c++0x, c++11,
gnu++0x or gnu++11 are enabled in order to match linux-arm-gnueabi-g++ too,
thus enabling -Wno-c++0x-compat also on ARM compiler.

  • qmake/mkspecs/features/unix/default_post.prf:
8:26 AM Changeset in webkit [134613] by arv@chromium.org
  • 63 edits in trunk

Update DOMException name: IndexSizeError
https://bugs.webkit.org/show_bug.cgi?id=102087

Reviewed by Ojan Vafai.

Source/WebCore:

This is the first in a series of updates to DOMException name to match
the spec and Firefox.

Patch 1 of 25

Updated existing tests.

  • dom/DOMCoreException.cpp:

(WebCore):

LayoutTests:

Updated tests and expectations.

  • editing/selection/extend-expected.txt:
  • fast/canvas/canvas-getImageData-invalid-expected.txt:
  • fast/canvas/canvas-overloads-drawImage-expected.txt:
  • fast/canvas/script-tests/canvas-getImageData-invalid.js:
  • fast/canvas/script-tests/canvas-overloads-drawImage.js:
  • fast/canvas/webgl/data-view-test-expected.txt:
  • fast/dom/HTMLInputElement/input-size-attribute-expected.txt:
  • fast/dom/HTMLInputElement/input-size-attribute.html:
  • fast/dom/HTMLSelectElement/select-selectedIndex-expected.txt:
  • fast/dom/HTMLSelectElement/select-selectedIndex-multiple-expected.txt:
  • fast/dom/css-mediarule-functions-expected.txt:
  • fast/dom/css-mediarule-functions.html:
  • fast/forms/input-maxlength-expected.txt:
  • fast/forms/input-maxlength.html:
  • fast/forms/number/number-size-expected.txt:
  • fast/forms/number/number-size.html:
  • fast/forms/search/search-setrangetext-expected.txt:
  • fast/forms/setrangetext-expected.txt:
  • fast/forms/textarea-maxlength-expected.txt:
  • fast/forms/textarea-maxlength.html:
  • fast/forms/textarea/textarea-setrangetext-expected.txt:
  • fast/html/marquee-element-expected.txt:
  • fast/inspector-support/uncaught-dom1-exception-expected.txt:
  • fast/js/select-options-add-expected.txt:
  • fast/speech/scripted/speechgrammar-basics-expected.txt:
  • inspector/styles/set-property-boundaries-expected.txt:
  • platform/chromium-mac/fast/dynamic/015-expected.txt:
  • platform/chromium-win/fast/dynamic/015-expected.txt:
  • platform/chromium/canvas/philip/tests/2d.missingargs-expected.txt:
  • platform/chromium/fast/inspector-support/uncaught-dom1-exception-expected.txt:
  • platform/efl/fast/dynamic/015-expected.txt:
  • platform/gtk/fast/dynamic/015-expected.txt:
  • platform/mac/canvas/philip/tests/2d.missingargs-expected.txt:
  • platform/mac/fast/dynamic/015-expected.txt:
  • platform/qt/fast/dynamic/015-expected.txt:
  • svg/custom/acid3-test-77-expected.txt:
  • svg/custom/getSubStringLength-expected.txt:
  • svg/custom/selectSubString-expected.txt:
  • svg/dom/SVGLengthList-appendItem-expected.txt:
  • svg/dom/SVGLengthList-basics-expected.txt:
  • svg/dom/SVGLengthList-getItem-expected.txt:
  • svg/dom/SVGLengthList-initialize-expected.txt:
  • svg/dom/SVGLengthList-insertItemBefore-expected.txt:
  • svg/dom/SVGLengthList-removeItem-expected.txt:
  • svg/dom/SVGLengthList-replaceItem-expected.txt:
  • svg/dom/SVGNumberList-basics-expected.txt:
  • svg/dom/SVGPathSegList-clear-and-initialize-expected.txt:
  • svg/dom/SVGPointList-basics-expected.txt:
  • svg/dom/SVGStringList-basics-expected.txt:
  • svg/dom/SVGTransformList-basics-expected.txt:
  • svg/dom/svglist-exception-on-out-bounds-error-expected.txt:
8:18 AM Changeset in webkit [134612] by Csaba Osztrogonác
  • 4 edits in trunk/Source/JavaScriptCore

[Qt][ARM]REGRESSION(r133985): It broke the build
https://bugs.webkit.org/show_bug.cgi?id=101740

Patch by Peter Gal <galpeter@inf.u-szeged.hu> on 2012-11-14
Reviewed by Csaba Osztrogonác.

Changed the emitGenericContiguousPutByVal to accept the additional IndexingType argument.
This information was passed as a template parameter.

  • jit/JIT.h:

(JSC::JIT::emitInt32PutByVal):
(JSC::JIT::emitDoublePutByVal):
(JSC::JIT::emitContiguousPutByVal):
(JIT):

  • jit/JITPropertyAccess.cpp:

(JSC::JIT::emitGenericContiguousPutByVal):

  • jit/JITPropertyAccess32_64.cpp:

(JSC::JIT::emitGenericContiguousPutByVal):

8:02 AM Changeset in webkit [134611] by rgabor@webkit.org
  • 2 edits in trunk/Source/WebCore

Fix [-Wmissing-braces] warnings in graphics/cpu/arm/GraphicsContext3DNEON.h
https://bugs.webkit.org/show_bug.cgi?id=102205

Reviewed by Csaba Osztrogonác.

Fixing some warnings in GraphicsContext3DNEON.h which have been caused by missing braces.

  • platform/graphics/cpu/arm/GraphicsContext3DNEON.h:

(WebCore::ARM::unpackOneRowOfRGBA4444ToRGBA8NEON):
(WebCore::ARM::unpackOneRowOfRGBA5551ToRGBA8NEON):
(WebCore::ARM::unpackOneRowOfRGB565ToRGBA8NEON):

7:55 AM Changeset in webkit [134610] by arv@chromium.org
  • 3 edits in trunk/Source/WebCore

Update DOMException name: NoDataAllowedError
https://bugs.webkit.org/show_bug.cgi?id=102132

Reviewed by Darin Adler.

Patch 6 of 25 to update DOMException name to match the spec and Firefox.

NO_DATA_ALLOWED_ERR is historical and not used in any spec or in our code.

  • dom/DOMCoreException.cpp:

(WebCore):

  • dom/ExceptionCode.h:
7:35 AM Changeset in webkit [134609] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WTF

[Qt][ARM] Enable the DFG JIT on ARMv7(Thumb2)
https://bugs.webkit.org/show_bug.cgi?id=101747

Reviewed by Simon Hausmann.

  • wtf/Platform.h:
7:25 AM Changeset in webkit [134608] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

Fix the MIPS build after r134332
https://bugs.webkit.org/show_bug.cgi?id=102227

Patch by Peter Gal <galpeter@inf.u-szeged.hu> on 2012-11-14
Reviewed by Csaba Osztrogonác.

Added missing methods for the MacroAssemblerMIPS, based on the MacroAssemblerARMv7.

  • assembler/MacroAssemblerMIPS.h:

(JSC::MacroAssemblerMIPS::canJumpReplacePatchableBranchPtrWithPatch):
(MacroAssemblerMIPS):
(JSC::MacroAssemblerMIPS::startOfPatchableBranchPtrWithPatch):
(JSC::MacroAssemblerMIPS::revertJumpReplacementToPatchableBranchPtrWithPatch):

7:20 AM Changeset in webkit [134607] by rakuco@webkit.org
  • 1 edit
    3 adds in trunk/LayoutTests

[EFL] Add some missing pixel expectations.

  • platform/efl/fast/multicol/span/anonymous-split-block-crash-expected.png: Added.
  • platform/efl/fast/multicol/span/clone-anonymous-block-non-inline-child-crash-expected.png: Added.
  • platform/efl/fast/replaced/width100percent-textarea-expected.png: Added.
7:14 AM Changeset in webkit [134606] by rakuco@webkit.org
  • 2 edits
    4 adds in trunk/LayoutTests

[EFL] WK1 gardening.

Skip fast/dom/Window/open-window-min-size.html and add some
WK1-specific pixel results which do not look wrong per se.

  • platform/efl-wk1/TestExpectations:
  • platform/efl-wk1/fast/repaint/japanese-rl-selection-clear-expected.png: Added.
  • platform/efl-wk1/fast/repaint/selection-after-delete-expected.png: Added.
  • platform/efl-wk1/fast/repaint/selection-after-remove-expected.png: Added.
  • platform/efl-wk1/fast/repaint/selection-gap-overflow-scroll-2-expected.png: Added.
7:12 AM Changeset in webkit [134605] by pfeldman@chromium.org
  • 2 edits in trunk/Source/WebCore

Web Inspector: "Reveal in Element Panel" doesn't work if Elements panel hasn't been opened
https://bugs.webkit.org/show_bug.cgi?id=102219

Reviewed by Alexander Pavlov.

Force elements module load upon context menu invocation.

  • inspector/front-end/ElementsTreeOutline.js:

(WebInspector.ElementsTreeOutline.prototype._contextMenuEventFired.focusElement):
(WebInspector.ElementsTreeOutline.prototype._contextMenuEventFired):

6:52 AM Changeset in webkit [134604] by kadam@inf.u-szeged.hu
  • 2 edits in trunk/LayoutTests

[Qt] Unreviewed gardening. Skip failing tests.

  • platform/qt/TestExpectations:
6:51 AM Changeset in webkit [134603] by Csaba Osztrogonác
  • 2 edits in trunk/Source/JavaScriptCore

Fix the [-Wreturn-type] warning in JavaScriptCore/assembler/MacroAssemblerARM.h
https://bugs.webkit.org/show_bug.cgi?id=102206

Patch by Peter Gal <galpeter@inf.u-szeged.hu> on 2012-11-14
Reviewed by Csaba Osztrogonác.

Add a return value for the function to suppress the warning.

  • assembler/MacroAssemblerARM.h:

(JSC::MacroAssemblerARM::startOfPatchableBranchPtrWithPatch):

6:41 AM Changeset in webkit [134602] by Csaba Osztrogonác
  • 3 edits in trunk/Source/JavaScriptCore

Unreviewed, rolling out r134599.
http://trac.webkit.org/changeset/134599
https://bugs.webkit.org/show_bug.cgi?id=102225

It broke the 32 bit EFL build (Requested by Ossy on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-11-14

  • jit/JITPropertyAccess.cpp:
  • jit/JITPropertyAccess32_64.cpp:

(JSC):
(JSC::JIT::emitGenericContiguousPutByVal):

6:40 AM Changeset in webkit [134601] by commit-queue@webkit.org
  • 10 edits
    1 delete in trunk/Source

Unreviewed, rolling out r134523.
http://trac.webkit.org/changeset/134523
https://bugs.webkit.org/show_bug.cgi?id=102218

brake chrome windows build, as it references a non existing
header js/DOMRequestState.h (Requested by jochen on
#webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-11-14

Source/WebCore:

  • Modules/indexeddb/IDBCursor.cpp:

(WebCore::IDBCursor::setValueReady):

  • Modules/indexeddb/IDBCursor.h:

(IDBCursor):

  • Modules/indexeddb/IDBRequest.cpp:

(WebCore::IDBRequest::IDBRequest):
(WebCore::IDBRequest::onSuccess):
(WebCore::IDBRequest::stop):
(WebCore::IDBRequest::dispatchEvent):

  • Modules/indexeddb/IDBRequest.h:

(IDBRequest):

  • WebCore.gypi:
  • bindings/v8/DOMRequestState.h: Removed.
  • bindings/v8/IDBBindingUtilities.cpp:

(WebCore::deserializeIDBValue):
(WebCore::idbKeyToScriptValue):

  • bindings/v8/IDBBindingUtilities.h:

(WebCore):

Source/WebKit/chromium:

  • src/WebIDBKey.cpp:
6:26 AM Changeset in webkit [134600] by commit-queue@webkit.org
  • 16 edits
    1 move
    6 adds in trunk/Source

Add platform implementation of remote web inspector server for GTK port.
https://bugs.webkit.org/show_bug.cgi?id=88094

Patch by Anton Obzhirov <Anton Obzhirov> on 2012-11-14
Reviewed by Gustavo Noronha Silva.

Source/WebCore:

Extra SocketStreamHandle constructor is added to accept existing GSocketConnection.
Needed to pass remote inspector server socket connection. The change is tested with
inspector server API tests.

  • platform/network/soup/SocketStreamHandle.h:

(WebCore::SocketStreamHandle::create):
(SocketStreamHandle):

  • platform/network/soup/SocketStreamHandleSoup.cpp:

(WebCore::SocketStreamHandle::SocketStreamHandle):
(WebCore):
(WebCore::SocketStreamHandle::connected):
(WebCore::SocketStreamHandle::platformSend):
(WebCore::SocketStreamHandle::platformClose):

Source/WebKit2:

The platform implementation is based on GSocket API (WebInspectorServerGtk.cpp and WebSocketServerGtk.cpp).
The server listens on port 2999 by default. IP address of the server can be set
in WEBKIT_INSPECTOR_SERVER (for example export WEBKIT_INSPECTOR_SERVER="192.168.124.130:2999").
The server is started during WebKit context initialization.
Once a page is loaded insector server can be accessed via other WebKit based browser.
New WebKit API gtk tests have beed added.
inspectorPageIndex.html has been moved to new location to share the file between GTK and Qt ports.

Test: test-page-list, test-remote-debugging-message, test-open-debugging-session

  • GNUmakefile.am:
  • GNUmakefile.list.am:
  • Platform/Logging.cpp:

(WebKit):
(WebKit::getChannelFromName):
(WebKit::initializeLogChannelsIfNecessary):

  • Platform/Logging.h:

(WebKit):

  • UIProcess/API/gtk/tests/GNUmakefile.am:
  • UIProcess/API/gtk/tests/InspectorTestServer.cpp: Added.

(loadChangedCallback):
(main):

  • UIProcess/API/gtk/tests/TestInspectorServer.cpp: Added.

(stopTestServer):
(sigAbortHandler):
(testServerMonitorThreadFunc):
(startTestServerMonitor):
(startTestServer):
(testInspectorServerPageList):
(testRemoteDebuggingMessage):
(openRemoteDebuggingSession):
(beforeAll):
(afterAll):

  • UIProcess/InspectorServer/WebInspectorServer.h:

(WebInspectorServer):

  • UIProcess/InspectorServer/WebSocketServer.h:

(WebSocketServer):

  • UIProcess/InspectorServer/WebSocketServerConnection.cpp:

(WebKit::WebSocketServerConnection::WebSocketServerConnection):
(WebKit::WebSocketServerConnection::shutdownNow):
(WebKit::WebSocketServerConnection::shutdownAfterSendOrNow):
(WebKit::WebSocketServerConnection::didCloseSocketStream):
(WebKit::WebSocketServerConnection::didReceiveSocketStreamData):
(WebKit):
(WebKit::WebSocketServerConnection::didUpdateBufferedAmount):

  • UIProcess/InspectorServer/WebSocketServerConnection.h:

(WebSocketServerConnection):

  • UIProcess/InspectorServer/front-end: Added.
  • UIProcess/InspectorServer/front-end/inspectorPageIndex.html: Added.
  • UIProcess/InspectorServer/gtk: Added.
  • UIProcess/InspectorServer/gtk/WebInspectorServerGtk.cpp: Added.

(WebKit):
(WebKit::WebInspectorServer::platformResourceForPath):
(WebKit::WebInspectorServer::buildPageList):

  • UIProcess/InspectorServer/gtk/WebSocketServerGtk.cpp: Added.

(WebKit):
(WebKit::connectionCallback):
(WebKit::WebSocketServer::platformInitialize):
(WebKit::WebSocketServer::platformListen):
(WebKit::WebSocketServer::platformClose):

  • UIProcess/gtk/WebContextGtk.cpp:

(WebKit::initInspectorServer):
(WebKit):
(WebKit::WebContext::platformInitializeWebProcess):

  • WebKit2.qrc:
  • config.h:
  • qt/Resources/inspectorPageIndex.html: Removed.
6:23 AM Changeset in webkit [134599] by Csaba Osztrogonác
  • 3 edits in trunk/Source/JavaScriptCore

[Qt][ARM]REGRESSION(r133985): It broke the build
https://bugs.webkit.org/show_bug.cgi?id=101740

Patch by Balazs Kilvady <kilvadyb@homejinni.com> on 2012-11-14
Reviewed by Csaba Osztrogonác.

Template function body moved to fix VALUE_PROFILER disabled case.

  • jit/JITPropertyAccess.cpp:

(JSC):
(JSC::JIT::emitGenericContiguousPutByVal):

  • jit/JITPropertyAccess32_64.cpp:
6:03 AM Changeset in webkit [134598] by loislo@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed test fix for r134593.

  • inspector-protocol/nmi-webaudio.html:
5:35 AM Changeset in webkit [134597] by dominik.rottsches@intel.com
  • 2 edits in trunk/LayoutTests

[EFL] Unreviewed gardening.

anchor-*download.html wander between crashing and failing.
Marking winsize test as failure and added to bug.

  • platform/efl-wk2/TestExpectations:
5:29 AM Changeset in webkit [134596] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebKit/qt

[Qt] Fix tst_QWebFrame::setUrlWithPendingLoads() API test
https://bugs.webkit.org/show_bug.cgi?id=63237

Reviewed by Jocelyn Turcotte.

Uncomment this API test, because it works fine now.

  • tests/qwebframe/tst_qwebframe.cpp:

(tst_QWebFrame):
(tst_QWebFrame::setUrlWithPendingLoads):

5:14 AM Changeset in webkit [134595] by pfeldman@chromium.org
  • 2 edits in trunk/Source/WebCore

Web Inspector: context menu on ObjectPropertyTreeElement's values is masked by the section.
https://bugs.webkit.org/show_bug.cgi?id=102212

Reviewed by Vsevolod Vlasov.

  • inspector/front-end/ObjectPropertiesSection.js:

(WebInspector.ObjectPropertiesSection.prototype.enableContextMenu):

4:39 AM Changeset in webkit [134594] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

REGRESSION(r133757): Causing webkitpy unit tests to fail
https://bugs.webkit.org/show_bug.cgi?id=101444

Patch by Thiago Marcos P. Santos <thiago.santos@intel.com> on 2012-11-14
Reviewed by Csaba Osztrogonác.

Updated the bot name on the unit tests.

  • Scripts/webkitpy/tool/commands/rebaseline_unittest.py:

(TestRebaselineTest.test_baseline_directory):

4:13 AM Changeset in webkit [134593] by loislo@chromium.org
  • 28 edits
    2 adds in trunk

Web Inspector: NMI add instrumentation for WebAudo related stuff.
They use about 16Mb for shared data on pages with webaudio.
As example Angry Birds app.
https://bugs.webkit.org/show_bug.cgi?id=101729

Reviewed by Yury Semikhatsky.

Plain vanilla instrumentation for audio and webaudio classes.
AudioContext is a kind of ActiveDOMObject. I found that these objects
are accessible through ScriptExecutuionContext and ScriptExecutionContext
is an ancestor of Document. Document class was instrumented earler.
I instrumented ActiveDOMObject, ScriptExecutionContext and other ancestors
and now AudioContext and other ActiveDOMObjects are reacheable from Document.

Source/WebCore:

Test: inspector-protocol/nmi-webaudio.html

  • Modules/webaudio/AudioContext.cpp:

(WebCore::AudioContext::reportMemoryUsage):
(WebCore):

  • Modules/webaudio/AudioContext.h:

(AudioContext):

  • Modules/webaudio/AudioNode.cpp:

(WebCore::AudioNode::reportMemoryUsage):
(WebCore):

  • Modules/webaudio/AudioNode.h:

(AudioNode):

  • dom/ActiveDOMObject.cpp:

(WebCore::ActiveDOMObject::reportMemoryUsage):
(WebCore):

  • dom/ActiveDOMObject.h:

(ActiveDOMObject):

  • dom/Document.cpp:

(WebCore::Document::reportMemoryUsage):

  • dom/ScriptExecutionContext.cpp:

(WebCore::ScriptExecutionContext::reportMemoryUsage):
(WebCore):

  • dom/ScriptExecutionContext.h:

(ScriptExecutionContext):

  • dom/SecurityContext.cpp:

(WebCore::SecurityContext::reportMemoryUsage):
(WebCore):

  • dom/SecurityContext.h:

(SecurityContext):

  • dom/WebCoreMemoryInstrumentation.cpp:

(WebCore):

  • dom/WebCoreMemoryInstrumentation.h:

(WebCoreMemoryTypes):

  • platform/audio/AudioArray.h:

(AudioArray):
(WebCore::AudioArray::reportMemoryUsage):

  • platform/audio/FFTFrame.cpp:

(WebCore::FFTFrame::reportMemoryUsage):
(WebCore):

  • platform/audio/FFTFrame.h:

(FFTFrame):

  • platform/audio/HRTFDatabase.cpp:

(WebCore::HRTFDatabase::reportMemoryUsage):
(WebCore):

  • platform/audio/HRTFDatabase.h:

(HRTFDatabase):

  • platform/audio/HRTFDatabaseLoader.cpp:

(WebCore::HRTFDatabaseLoader::reportMemoryUsage):
(WebCore):

  • platform/audio/HRTFDatabaseLoader.h:

(HRTFDatabaseLoader):

  • platform/audio/HRTFElevation.cpp:

(WebCore::HRTFElevation::reportMemoryUsage):
(WebCore):

  • platform/audio/HRTFElevation.h:

(HRTFElevation):

  • platform/audio/HRTFKernel.cpp:

(WebCore::HRTFKernel::reportMemoryUsage):
(WebCore):

  • platform/audio/HRTFKernel.h:

(HRTFKernel):

LayoutTests:

  • inspector-protocol/nmi-webaudio-expected.txt: Added.
  • inspector-protocol/nmi-webaudio.html: Added.
3:45 AM Changeset in webkit [134592] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Web Inspector: Settings screen: close button overlays view title on mac.
https://bugs.webkit.org/show_bug.cgi?id=102198

Patch by Eugene Klyuchnikov <eustas.bug@gmail.com> on 2012-11-14
Reviewed by Pavel Feldman.

Added margin-left for mac. Adjusted title height and vertical positioning.

  • inspector/front-end/helpScreen.css:

(.help-window-caption): Adjusted title height.
(.help-window-title): Adjusted title vertical positioning.
(body.platform-mac .help-window-main .help-window-title): Fixed margin.

3:32 AM Changeset in webkit [134591] by pfeldman@chromium.org
  • 3 edits in trunk/Source/WebCore

Web Inspector: use last selection as complementary signal when applying DOM changes to the text model.
https://bugs.webkit.org/show_bug.cgi?id=101905

Reviewed by Vsevolod Vlasov.

Currently we use heuristics for detecting damaged model range upon DOM mutation.
This change adds signals from the last selection and keyboard events in order to
further improve the heuristics quality.

  • inspector/front-end/DefaultTextEditor.js:

(WebInspector.DefaultTextEditor):
(WebInspector.DefaultTextEditor.EditInfo):
(WebInspector.DefaultTextEditor.prototype._handleTextInput):
(WebInspector.DefaultTextEditor.prototype._handleKeyDown):
(WebInspector.DefaultTextEditor.prototype.lastSelection):
(WebInspector.DefaultTextEditor.prototype.wasShown):
(WebInspector.TextEditorMainPanel.prototype._applyDomUpdates):
(WebInspector.TextEditorMainPanel.prototype._guessEditRangeBasedOnSelection):
(WebInspector.TextEditorMainPanel.prototype._guessEditRangeBasedOnDiff):
(WebInspector.TextEditorMainPanel.prototype._closingBlockOffset):
(WebInspector.TextEditorMainPanel.prototype._handleSelectionChange):

  • inspector/front-end/TextEditorModel.js:

(WebInspector.TextRange.prototype.compareTo):
(WebInspector.TextRange.prototype.shift):
(WebInspector.TextEditorModel.endsWithBracketRegex.):

3:24 AM Changeset in webkit [134590] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

[EFL][WK2][AC] Print out warning if we fallback back to software mode
https://bugs.webkit.org/show_bug.cgi?id=102188

Patch by Christophe Dumez <Christophe Dumez> on 2012-11-14
Reviewed by Kenneth Rohde Christiansen.

Print out a warning if accelerated compositing is enabled but the
implementation is falling back to software mode for some reason.

  • UIProcess/API/efl/EwkViewImpl.cpp:

(EwkViewImpl::createGLSurface):

3:21 AM Changeset in webkit [134589] by pfeldman@chromium.org
  • 2 edits
    1 copy in trunk/LayoutTests

Not reviewed: proper baselines for inspector's timeline-timer-fired-from-eval-call-site.

  • inspector/timeline/timeline-timer-fired-from-eval-call-site-expected.txt:
3:14 AM Changeset in webkit [134588] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

[V8] use toV8Fast in all relevant Node getters
https://bugs.webkit.org/show_bug.cgi?id=100851

Patch by Dan Carney <dcarney@google.com> on 2012-11-14
Reviewed by Kentaro Hara.

The toV8Fast function for Node objects is now called in all getters
instead of toV8.

No new tests. Test coverage extensive.

  • bindings/scripts/CodeGeneratorV8.pm:

(GenerateHeader):
(GenerateNormalAttrGetter):
(IsDOMNodeType):

  • bindings/scripts/test/V8/V8TestNode.h:

(WebCore::toV8Fast):

3:05 AM Changeset in webkit [134587] by abecsi@webkit.org
  • 2 edits in trunk/Source/WebKit/qt

[Qt] QStyleFacadeImp should use a QPointer to store the application style
https://bugs.webkit.org/show_bug.cgi?id=102084

Reviewed by Simon Hausmann.

QStyleFacadeImp implicitly creates a default style during the first
call to QApplication::style() in QStyleFacadeImp::style() but this
style is deleted when a custom style is set, thus the stored m_style
raw pointer in QStyleFacadeImp becomes dangling.
Use a QPointer to cache the style instead of a raw pointer.

This fixes the start-up crash in the anomaly example.
(https://bugreports.qt-project.org/browse/QTBUG-27924)

  • WebCoreSupport/QStyleFacadeImp.h:

(QStyleFacadeImp):

3:05 AM Changeset in webkit [134586] by kenneth@webkit.org
  • 6 edits
    3 adds in trunk

Clean up use of adjustWindowRect
https://bugs.webkit.org/show_bug.cgi?id=102072

Reviewed by Gyuyoung Kim.

Source/WebCore:

Tested by fast/dom/Window/open-window-min-size.html

  • loader/FrameLoader.cpp:

(WebCore::createWindow):

Validate the window size here so that it is not just done for
.open, but also for .showModalDialog. This is compatible with
other browsers such as IE and Firefox (though IE > 6, enforces
a minimum width of 250 instead of 100 as Firefox and us.)

  • page/DOMWindow.cpp:

(WebCore):
(WebCore::DOMWindow::adjustWindowRect):

Make it a static method which only takes page. It was never
called from anywhere without a valid page, so the page check
has been turned into an assert, and two of the arguments have
been removed as they can be accessed via the page.

(WebCore::DOMWindow::moveBy):
(WebCore::DOMWindow::moveTo):
(WebCore::DOMWindow::resizeBy):
(WebCore::DOMWindow::resizeTo):

Update use of adjustWindowRect.

(WebCore::DOMWindow::open):

Avoid modifying the WindowFeatures as the WebCore::createWindow
validates and adjusts the arguments.

  • page/DOMWindow.h:

(DOMWindow):

LayoutTests:

Test that minimum sizes are honored.

  • fast/dom/Window/open-window-min-size.html: Added.
  • fast/dom/Window/open-window-min-size-expected.txt: Added.
  • fast/dom/Window/resources/report-size-and-close.html: Added.
  • platform/mac/TestExpectations: Skipped as it times out.
2:57 AM Changeset in webkit [134585] by haraken@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed. Fixed lint error.

  • platform/chromium/TestExpectations:
2:47 AM Changeset in webkit [134584] by tasak@google.com
  • 4 edits
    4 adds in trunk

Crash when replacing parts of text inputs with content: url(...)
https://bugs.webkit.org/show_bug.cgi?id=101133

Reviewed by Kent Tamura.

Source/WebCore:

Disable directly setting content of elements in an input element's
shadow dom tree, because the setting breaks input element's behavior.

Tests: fast/forms/number/number-content-url-crash.html

fast/forms/search/search-content-url-crash.html

  • css/html.css:

(input::-webkit-textfield-decoration-container):
Use important to disable overriding an input element's content
property.

  • html/TextFieldInputType.cpp:

(WebCore::TextFieldInputType::attach):
Added ASSERTION. No content should be applied to
input::-webkit-textfield-decoration-container.

LayoutTests:

  • fast/forms/number/number-content-url-crash-expected.txt: Added.
  • fast/forms/number/number-content-url-crash.html: Added.
  • fast/forms/search/search-content-url-crash-expected.txt: Added.
  • fast/forms/search/search-content-url-crash.html: Added.
2:44 AM Changeset in webkit [134583] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[EFL][WK2] Rename variables, structures and functions of the MiniBrowser.
https://bugs.webkit.org/show_bug.cgi?id=101517

Patch by Byungwoo Lee <bw80.lee@samsung.com> on 2012-11-14
Reviewed by Gyuyoung Kim.

Rename variables, structures and functions of the MiniBrowser
for the naming consistency.

1) Browser_Window* {app_data|browser_window|window} -> window

2) Browser_Window::webview -> Browser_Window::ewk_view

The webkit API functions are ewk_view_xxx not webview_xxx.
So using ewk_view will be better than webview.

3) Browser_Window::window -> Browser_Window::elm_window

The name is changed to be distinguished with 'Browser_Window *window'

4) browser_{window|view}_find() -> window_find_with_{elm_window|ewk_view}()

This is changed because the name of the function can be confused.
Currently, browser_window_find() returns Browser_Window*. And
browser_view_find() also returns Browser_Window*.

5) FileSelectorData -> File_Selector_Data / AuthData -> Auth_Data

The type definition is moved to the top of the source file
and the name is changed to follow EFL style.

  • MiniBrowser/efl/main.c:

(miniBrowserViewSmartClass):
(_Browser_Window):
(_File_Selector_Data):
(_Auth_Data):
(window_find_with_ewk_view):
(window_free):
(on_key_down):
(view_focus_set):
(on_mouse_down):
(title_set):
(on_title_changed):
(on_url_changed):
(on_back_forward_list_changed):
(on_new_window):
(on_close_window):
(on_progress):
(on_error):
(on_download_request):
(close_file_picker):
(on_filepicker_parent_deletion):
(on_filepicker_deletion):
(on_fileselector_done):
(on_file_chooser_request):
(on_download_finished):
(on_download_failed):
(on_favicon_received):
(on_view_icon_changed):
(on_url_bar_activated):
(on_url_bar_clicked):
(on_back_button_clicked):
(on_forward_button_clicked):
(on_refresh_button_clicked):
(on_javascript_alert):
(on_javascript_confirm):
(on_javascript_prompt):
(on_window_geometry_get):
(on_window_geometry_set):
(on_fullscreen_deny):
(on_fullscreen_enter):
(on_fullscreen_exit):
(auth_popup_close):
(on_auth_cancel):
(on_auth_ok):
(on_authentication_request):
(on_tooltip_text_set):
(on_tooltip_text_unset):
(on_home_button_clicked):
(on_window_deletion):
(window_create):

2:38 AM Changeset in webkit [134582] by haraken@chromium.org
  • 2 edits in trunk/Source/WebCore

Unreviewed. Rebaselined run-bindings-tests results.

  • bindings/scripts/test/V8/V8TestOverloadedConstructors.cpp:

(WebCore::V8TestOverloadedConstructors::constructor1Callback):
(WebCore::V8TestOverloadedConstructors::constructor2Callback):
(WebCore::V8TestOverloadedConstructors::constructor3Callback):
(WebCore::V8TestOverloadedConstructors::constructor4Callback):
(WebCore::V8TestOverloadedConstructors::wrapSlow):

2:24 AM Changeset in webkit [134581] by dominik.rottsches@intel.com
  • 2 edits in trunk/LayoutTests

[EFL] Unreviewed gardening.

The bots don't have mercy today.

  • platform/efl-wk2/TestExpectations:
2:06 AM Changeset in webkit [134580] by antonm@chromium.org
  • 2 edits in trunk/Source/WebCore

Provide return types for custom WebGLRenderingContext methods
https://bugs.webkit.org/show_bug.cgi?id=100777

Reviewed by Kenneth Russell.

No new tests as doesn't change generated code.

  • html/canvas/WebGLRenderingContext.idl:
2:05 AM Changeset in webkit [134579] by tkent@chromium.org
  • 7 edits
    3 adds in trunk

Support for localization tests of calendar picker
https://bugs.webkit.org/show_bug.cgi?id=102181

Reviewed by Kentaro Hara.

Source/WebCore:

Introduce DateTimeChooserParameters::locale to inform locale to
DateTimeChooser implementations. However we pass defaultLanguage
unless tests calls internals.settings.
setLangAttributeAwareFormControlUIEnabled(true) explicitly.

Test: platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-ru.html

  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::setupDateTimeChooserParameters):
Set DateTimeChooserParameters::locale up.

  • platform/DateTimeChooser.h:

(DateTimeChooserParameters): Add 'locale' member.

Source/WebKit/chromium:

  • src/DateTimeChooserImpl.cpp:

Use DateTimeChooserParameters::locale.
(WebKit::DateTimeChooserImpl::DateTimeChooserImpl):
(WebKit::DateTimeChooserImpl::writeDocument):

LayoutTests:

  • platform/chromium-mac/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-ru-expected.png: Added.
  • platform/chromium/TestExpectations:
  • platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-ru-expected.txt: Added.
  • platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-ru.html: Added.
1:57 AM Changeset in webkit [134578] by commit-queue@webkit.org
  • 2 edits in trunk

[EFL] Turn on error on warnings for "sign-compare"
https://bugs.webkit.org/show_bug.cgi?id=101761

Patch by KyungTae Kim <ktf.kim@samsung.com> on 2012-11-14
Reviewed by Gyuyoung Kim.

Remove "-Wno-error=sign-compare" to turn on error on warnings for "sign-compare"

  • Source/cmake/WebKitHelpers.cmake:
1:57 AM Changeset in webkit [134577] by pfeldman@chromium.org
  • 4 edits in trunk/Source/WebCore

Web Inspector: highlight is not updating as one edits CSS properties
https://bugs.webkit.org/show_bug.cgi?id=102191

Reviewed by Alexander Pavlov.

We should update highlight upon layout / style recalculation.

  • inspector/InspectorInstrumentation.cpp:

(WebCore):
(WebCore::InspectorInstrumentation::didRecalculateStyleImpl):

  • inspector/InspectorPageAgent.cpp:

(WebCore::InspectorPageAgent::InspectorPageAgent):
(WebCore::InspectorPageAgent::enable):
(WebCore::InspectorPageAgent::disable):
(WebCore::InspectorPageAgent::domContentEventFired):
(WebCore::InspectorPageAgent::didPaint):
(WebCore::InspectorPageAgent::didLayout):
(WebCore::InspectorPageAgent::didScroll):
(WebCore):
(WebCore::InspectorPageAgent::didRecalculateStyle):

  • inspector/InspectorPageAgent.h:
1:54 AM Changeset in webkit [134576] by haraken@chromium.org
  • 7 edits
    3 deletes in trunk

Unreviewed, rolling out r134566.
http://trac.webkit.org/changeset/134566
https://bugs.webkit.org/show_bug.cgi?id=102197

"it broke Chromium Android Release build" (Requested by
haraken on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-11-14

Source/WebCore:

  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::setupDateTimeChooserParameters):

  • platform/DateTimeChooser.h:

(DateTimeChooserParameters):

Source/WebKit/chromium:

  • src/DateTimeChooserImpl.cpp:

(WebKit::DateTimeChooserImpl::DateTimeChooserImpl):
(WebKit::DateTimeChooserImpl::writeDocument):

LayoutTests:

  • platform/chromium-mac/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-ru-expected.png: Removed.
  • platform/chromium/TestExpectations:
  • platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-ru-expected.txt: Removed.
  • platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-ru.html: Removed.
1:34 AM Changeset in webkit [134575] by zandobersek@gmail.com
  • 3 edits in trunk/LayoutTests

Unreviewed GTK gardening.

Updating the platform-specific baseline for fast/js/global-constructors.html
and removing the failure expectation for said test.

  • platform/gtk/TestExpectations:
  • platform/gtk/fast/js/global-constructors-expected.txt:
1:30 AM Changeset in webkit [134574] by vsevik@chromium.org
  • 3 edits in trunk/Source/WebCore

Web Inspector: No content available for requests made from flash
https://bugs.webkit.org/show_bug.cgi?id=101560

Reviewed by Pavel Feldman.

Network request data is now saved to inspector cache in following cases:

  • Error status code;
  • No cached resource available;
  • Cached resource has ShouldNotBufferData option set.

Drive-by: refactored didReceiveResponse logic to be clearer.

  • inspector/InspectorResourceAgent.cpp:

(WebCore::InspectorResourceAgent::didReceiveResponse):
(WebCore::InspectorResourceAgent::didReceiveData):

  • loader/cache/CachedResource.h:

(WebCore::CachedResource::shouldBufferData):

1:29 AM Changeset in webkit [134573] by commit-queue@webkit.org
  • 1 edit
    2 adds in trunk/LayoutTests

Web Inspector: Timeline: 'undefined' javascript filenames.
https://bugs.webkit.org/show_bug.cgi?id=101334

Patch by Eugene Klyuchnikov <eustas.bug@gmail.com> on 2012-11-14
Reviewed by Yury Semikhatsky.

Test that callSite for TimerFired is resolved even for evaled scripts.

  • inspector/timeline/timeline-timer-fired-from-eval-call-site-expected.txt: Added.
  • inspector/timeline/timeline-timer-fired-from-eval-call-site.html: Added.
1:28 AM Changeset in webkit [134572] by shinyak@chromium.org
  • 6 edits
    2 adds in trunk

Changing pseudoClass (:target) should cause distribution
https://bugs.webkit.org/show_bug.cgi?id=101699

Reviewed by Hajime Morita.

Source/WebCore:

When cssTarget element is changed, we might have to invalidate distribution. We check its necessity
by consulting with SelectRuleFeatureSet.

We also implement invalidateParentDistributionIfNecessary for all collected features in this patch.

Test: fast/dom/shadow/pseudoclass-update-target.html

  • dom/Document.cpp:

(WebCore::Document::setCSSTarget):

  • dom/ElementShadow.cpp:

(WebCore::invalidateParentDistributionIfNecessary):
(WebCore):

  • dom/ElementShadow.h:

(WebCore):

  • html/shadow/SelectRuleFeatureSet.h:

(WebCore::SelectRuleFeatureSet::hasSelectorFor):
(SelectRuleFeatureSet):

LayoutTests:

  • fast/dom/shadow/pseudoclass-update-target-expected.html: Added.
  • fast/dom/shadow/pseudoclass-update-target.html: Added.
1:24 AM Changeset in webkit [134571] by dominik.rottsches@intel.com
  • 4 edits in trunk/Source/WebKit2

Unreviewed, rolling out r134531.
http://trac.webkit.org/changeset/134531
https://bugs.webkit.org/show_bug.cgi?id=102193

Makes >70 tests crash on EFL and Qt bots. (Requested by drott
on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-11-14

  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:

(WebCore::CoordinatedGraphicsLayer::CoordinatedGraphicsLayer):
(WebCore::CoordinatedGraphicsLayer::~CoordinatedGraphicsLayer):
(WebCore::CoordinatedGraphicsLayer::setChildren):
(WebCore::CoordinatedGraphicsLayer::addChild):
(WebCore::CoordinatedGraphicsLayer::addChildAtIndex):
(WebCore::CoordinatedGraphicsLayer::addChildAbove):
(WebCore::CoordinatedGraphicsLayer::addChildBelow):
(WebCore::CoordinatedGraphicsLayer::replaceChild):
(WebCore::CoordinatedGraphicsLayer::setMaskLayer):
(WebCore::CoordinatedGraphicsLayer::setReplicatedByLayer):
(WebCore::CoordinatedGraphicsLayer::flushCompositingState):
(WebCore::CoordinatedGraphicsLayer::syncChildren):
(WebCore::CoordinatedGraphicsLayer::syncFilters):
(WebCore::CoordinatedGraphicsLayer::syncImageBacking):
(WebCore::CoordinatedGraphicsLayer::syncLayerState):
(WebCore::CoordinatedGraphicsLayer::syncAnimations):
(WebCore::CoordinatedGraphicsLayer::syncCanvas):
(WebCore::CoordinatedGraphicsLayer::releaseImageBackingIfNeeded):
(WebCore::CoordinatedGraphicsLayer::tiledBackingStoreUpdatesAllowed):
(WebCore::CoordinatedGraphicsLayer::tiledBackingStoreVisibleRect):
(WebCore::CoordinatedGraphicsLayer::beginContentUpdate):
(WebCore::CoordinatedGraphicsLayer::createTile):
(WebCore::CoordinatedGraphicsLayer::updateTile):
(WebCore::CoordinatedGraphicsLayer::removeTile):
(WebCore::CoordinatedGraphicsLayer::setCoordinatedGraphicsLayerClient):

  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:

(CoordinatedGraphicsLayer):

  • WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:

(WebKit::LayerTreeCoordinator::~LayerTreeCoordinator):
(WebKit::LayerTreeCoordinator::LayerTreeCoordinator):
(WebKit::LayerTreeCoordinator::createGraphicsLayer):

1:22 AM Changeset in webkit [134570] by dominik.rottsches@intel.com
  • 2 edits in trunk/LayoutTests

[EFL] Unreviewed gardening.

Mark two failures after r134456.

  • platform/efl/TestExpectations:
12:54 AM Changeset in webkit [134569] by haraken@chromium.org
  • 7 edits in trunk/Source/WebCore

[V8] DOM wrapper objects should be collected in minor GC cycles
https://bugs.webkit.org/show_bug.cgi?id=98725

Reviewed by Adam Barth.

Previously minor GC cycles cannot collect DOM Nodes. All DOM Nodes
have to survive two minor GC cycles, be promoted to the old space
and wait for a heavy major GC cycle.

This patch enables V8 to collect DOM Nodes in minor GC cycles.
For real world applications, I confirmed that minor GC cycles
reclaims a substantial amount of memory (24 MB for Facebook,
235 MB for Google Calendar) with acceptable overhead (~10 ms
per minor GC cycle). No performance regression in Dromaeo
DOM tests.

A design document: https://docs.google.com/a/google.com/document/d/16DeHrzkm3cO9XCPT1aK3Y5qgUxXB3RFmueqQWYmN2rI/edit
Performance results: https://docs.google.com/a/google.com/document/d/1h0-EsHu7T0sSMuZm5eE0r1e8sCAzY3weLvsDUpOSngE/edit
A slide: https://docs.google.com/a/google.com/presentation/d/1uifwVYGNYTZDoGLyCb7sXa7g49mWNMW2gaWvMN5NLk8/edit#slide=id.p

  • bindings/v8/IntrusiveDOMWrapperMap.h:

(WebCore::IntrusiveDOMWrapperMap::set):

  • bindings/v8/V8DOMWindowShell.cpp:

(WebCore::initializeV8IfNeeded):

  • bindings/v8/V8GCController.cpp:

(WebCore):
(WebCore::gcTree):
(WebCore::V8GCController::newWrapperBorn):
(WebCore::V8GCController::gcPrologue):
(WebCore::V8GCController::minorGCPrologue):
(WebCore::V8GCController::majorGCPrologue):
(WebCore::V8GCController::gcEpilogue):
(WebCore::V8GCController::minorGCEpilogue):
(WebCore::V8GCController::majorGCEpilogue):

  • bindings/v8/V8GCController.h:

(WebCore):
(V8GCController):

  • bindings/v8/WorkerContextExecutionProxy.cpp:

(WebCore::WorkerContextExecutionProxy::initIsolate):

  • dom/Element.cpp:

(WebCore::Element::focus):

  • dom/Node.h:

(WebCore::Node::inEden):
(WebCore::Node::setEden):
(Node):

12:52 AM Changeset in webkit [134568] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

webkitpy: Update the EFL list of bots
https://bugs.webkit.org/show_bug.cgi?id=102121

Patch by Thiago Marcos P. Santos <thiago.santos@intel.com> on 2012-11-14
Reviewed by Kenneth Rohde Christiansen.

Update the EFL bots so we can use garden-o-matic.

  • Scripts/webkitpy/layout_tests/port/builders.py:
12:49 AM Changeset in webkit [134567] by haraken@chromium.org
  • 29 edits in trunk/Source/WebCore

[V8] Replace setDOMWrapper() + setJSWrapperForDOMObject() with createDOMWrapper()
https://bugs.webkit.org/show_bug.cgi?id=101917

Reviewed by Adam Barth.

setJSWrapperForDOMObject() is always coupled with setDOMWrapper().
We can replace setDOMWrapper() + setJSWrapperForDOMObject() with
createDOMWrapper(). (c.f. CREATE_DOM_WRAPPER() in JSC)

No tests. No change in behavior.

  • bindings/scripts/CodeGeneratorV8.pm:

(GenerateConstructorCallback):
(GenerateEventConstructorCallback):
(GenerateNamedConstructorCallback):
(GenerateToV8Converters):

  • bindings/v8/V8DOMWindowShell.cpp:

(WebCore::V8DOMWindowShell::installDOMWindow):

  • bindings/v8/V8DOMWrapper.cpp:

(WebCore::V8DOMWrapper::instantiateV8Object):

  • bindings/v8/V8DOMWrapper.h:

(V8DOMWrapper):
(WebCore::V8DOMWrapper::createDOMWrapper):

  • bindings/v8/WorkerContextExecutionProxy.cpp:

(WebCore::WorkerContextExecutionProxy::initializeIfNeeded):

  • bindings/v8/custom/V8ArrayBufferCustom.cpp:

(WebCore::V8ArrayBuffer::constructorCallback):

  • bindings/v8/custom/V8ArrayBufferViewCustom.h:

(WebCore::wrapArrayBufferView):
(WebCore::constructWebGLArray):

  • bindings/v8/custom/V8DOMFormDataCustom.cpp:

(WebCore::V8DOMFormData::constructorCallback):

  • bindings/v8/custom/V8DataViewCustom.cpp:

(WebCore::V8DataView::constructorCallback):

  • bindings/v8/custom/V8HTMLImageElementConstructor.cpp:

(WebCore::v8HTMLImageElementConstructorCallback):

  • bindings/v8/custom/V8IntentConstructor.cpp:

(WebCore::V8Intent::constructorCallback):

  • bindings/v8/custom/V8MessageChannelConstructor.cpp:

(WebCore::V8MessageChannel::constructorCallback):

  • bindings/v8/custom/V8MutationObserverCustom.cpp:

(WebCore::V8MutationObserver::constructorCallback):

  • bindings/v8/custom/V8WebKitPointConstructor.cpp:

(WebCore::V8WebKitPoint::constructorCallback):

  • bindings/v8/custom/V8WebSocketCustom.cpp:

(WebCore::V8WebSocket::constructorCallback):

  • bindings/v8/custom/V8XMLHttpRequestConstructor.cpp:

(WebCore::V8XMLHttpRequest::constructorCallback):

12:43 AM Changeset in webkit [134566] by tkent@chromium.org
  • 7 edits
    3 adds in trunk

Support for localization tests of calendar picker
https://bugs.webkit.org/show_bug.cgi?id=102181

Reviewed by Kentaro Hara.

Source/WebCore:

Introduce DateTimeChooserParameters::locale to inform locale to
DateTimeChooser implementations. However we pass defaultLanguage
unless tests calls internals.settings.
setLangAttributeAwareFormControlUIEnabled(true) explicitly.

Test: platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-ru.html

  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::setupDateTimeChooserParameters):
Set DateTimeChooserParameters::locale up.

  • platform/DateTimeChooser.h:

(DateTimeChooserParameters): Add 'locale' member.

Source/WebKit/chromium:

  • src/DateTimeChooserImpl.cpp:

Use DateTimeChooserParameters::locale.
(WebKit::DateTimeChooserImpl::DateTimeChooserImpl):
(WebKit::DateTimeChooserImpl::writeDocument):

LayoutTests:

  • platform/chromium-mac/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-ru-expected.png: Added.
  • platform/chromium/TestExpectations:
  • platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-ru-expected.txt: Added.
  • platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-ru.html: Added.
12:29 AM Changeset in webkit [134565] by zandobersek@gmail.com
  • 2 edits in trunk/LayoutTests

Unreviewed GTK gardening.

Moving some expectations into a more proper section while
merging the others.

  • platform/gtk/TestExpectations:
12:20 AM Changeset in webkit [134564] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Web Inspector: Show total memory in the NMI snapshot header
https://bugs.webkit.org/show_bug.cgi?id=101922

Patch by Alexei Filippov <alph@chromium.org> on 2012-11-14
Reviewed by Pavel Feldman.

  • inspector/front-end/NativeMemorySnapshotView.js:

(WebInspector.NativeMemoryProfileType.prototype.buttonClicked.didReceiveMemorySnapshot):
(WebInspector.NativeMemoryProfileType.prototype.buttonClicked):

12:18 AM Changeset in webkit [134563] by mihnea@adobe.com
  • 3 edits in trunk/LayoutTests

After r134205 was rolled out in http://trac.webkit.org/changeset/134425,
we have to re-enable the skipped tests that were failing because of r134205.
https://bugs.webkit.org/show_bug.cgi?id=102090

Reviewed by Adam Barth.

The initial rollout for r134205 and the related r134226, r134419 failed.

  • platform/chromium/TestExpectations:
  • platform/qt/TestExpectations:
12:18 AM Changeset in webkit [134562] by yurys@chromium.org
  • 2 edits
    1 delete in trunk/Source/WebKit/chromium

Remove MemoryInstrumentationTest.ImageObserver
https://bugs.webkit.org/show_bug.cgi?id=102185

Reviewed by Pavel Feldman.

Removed obsolete memory instrumenation unit test.

  • WebKit.gypi:
  • tests/MemoryInstrumentationTest.cpp: Removed.
12:12 AM Changeset in webkit [134561] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Web Inspector: CodeMirrorTextEditor fails to scroll breakpoint into view after the first time
https://bugs.webkit.org/show_bug.cgi?id=102142

Patch by Jan Keromnes <janx@linux.com> on 2012-11-14
Reviewed by Pavel Feldman.

Calling revealLine in highlightLine like in DefaultTextEditor does the trick.

  • inspector/front-end/CodeMirrorTextEditor.js:

(WebInspector.CodeMirrorTextEditor.prototype.highlightLine):

12:08 AM Changeset in webkit [134560] by tkent@chromium.org
  • 4 edits
    4 adds in trunk/Source/WebKit/chromium

[Chromium] Add API to expose WebCore::DateTimeChooser
https://bugs.webkit.org/show_bug.cgi?id=101196

Reviewed by Hajime Morita.

Add ability to open date/time choosers to WebViewClient.

  • ExternalDateTimeChooser forwards DateTimeChooser requests from WebCore to WebViewClient, and waits for WebDateTimeChooerCompletion notifications.
  • WebDateTimeChooserParams contains various information to create chooser UI.
  • WebDateTimeChooserCompletion informs value selection by users to ExternalDateTimeChooser.

The design is very similar to existing WebFileChooserParams and
WebFileChooserCompletion.

These interfaces are used only if ENABLE_INPUT_MULTIPLE_FIELDS_UI is not
enabled, that is to say, in Chromium-Android port. Non-Android Chromium
ports use DateTimeChooserImpl and WebKit-internal choosers.

  • WebKit.gyp: Add WebDateTimeChooserCompletion.h,

WebDateTimeChooserParams.h, ExternalDateTimeChooser.cpp, and
ExternalDateTimeChooser.h.

  • public/WebDateTimeChooserCompletion.h: Added.

(WebDateTimeChooserCompletion):
(WebKit::WebDateTimeChooserCompletion::~WebDateTimeChooserCompletion):

  • public/WebDateTimeChooserParams.h: Added.

(WebDateTimeChooserParams):
(WebKit::WebDateTimeChooserParams::WebDateTimeChooserParams):

  • public/WebViewClient.h:

(WebKit): Add some forward declarations.
(WebKit::WebViewClient::openDateTimeChooser): Added.

  • src/ChromeClientImpl.cpp:

(WebKit::ChromeClientImpl::openDateTimeChooser):
Creates ExternalDateTimeChooser if !ENABLE(INPUT_MULTIPLE_FIELDS_UI).

  • src/ExternalDateTimeChooser.cpp: Added.

(WebDateTimeChooserCompletionImpl): An implementation of
WebDateTimeChooserCompletion. When didChooseValue or didCancelChooser is
called, it notifies to an ExternalDateTimeChooser and kill itself.
(WebKit::ExternalDateTimeChooser::~ExternalDateTimeChooser): Added.
(WebKit::ExternalDateTimeChooser::ExternalDateTimeChooser): Added.
(WebKit::ExternalDateTimeChooser::create):
Cretes an object, then asks the WebViewClient to open date/time chooser.
If an open request fails, an empty PassRefPtr<> is returned.
We don't ask to open in the constructor because open requests might fail
and it's hard for the constructor to tell the failure.
(WebKit::ExternalDateTimeChooser::openDateTimeChooser): Prepares a
WebDateTimeChooserParams and a WebDateTimeChooserCompletion, calls
WebViewClient::openDateTimeChooser, and kill the
WebDateTimeChooserCompletion if openDateTimeChooser fails.
(WebKit::ExternalDateTimeChooser::didChooseValue):
Called by WebDateTimeChooserCompletion.
We need to check m_client because the requester is already dead.
(WebKit::ExternalDateTimeChooser::didCancelChooser): Ditto.
(WebKit::ExternalDateTimeChooser::endChooser):
Called by the requester when it wants to close the chooser.
We don't close the chooser here, and just disconnect the association of
the client and this object.

  • src/ExternalDateTimeChooser.h: Added.
12:04 AM Changeset in webkit [134559] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/win

Implementation for mehods in WebMutableURLRequest.cpp
https://bugs.webkit.org/show_bug.cgi?id=83671

Patch by George Tsoumalis <tsumalis96@gmail.com> on 2012-11-14
Reviewed by Brent Fulgham..

  • WebMutableURLRequest.cpp:

(WebMutableURLRequest::addValue):
(WebMutableURLRequest::setMainDocumentURL):
(WebMutableURLRequest::setHTTPShouldHandleCookies):

Note: See TracTimeline for information about the timeline view.