⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Timeline



Feb 11, 2013:

11:58 PM Changeset in webkit [142589] by commit-queue@webkit.org
  • 4 edits in trunk/Tools

webkit-patch upload regenerates the WebCore ChangeLog every time it's called
https://bugs.webkit.org/show_bug.cgi?id=108983

Patch by Timothy Loh <timloh@chromium.com> on 2013-02-11
Reviewed by Ryosuke Niwa.

This patch puts the behaviour from Bug 74358 behind the flag (default=OFF)
--update-changelogs', and removes the flag --no-prepare-changelogs'.
The flag name change from prepare to update is since we still want to
prepare changelogs in the default case when none currently exist.

  • Scripts/webkitpy/tool/commands/commandtest.py:

(CommandsTest.assert_execute_outputs):

  • Scripts/webkitpy/tool/steps/options.py:

(Options):

  • Scripts/webkitpy/tool/steps/preparechangelog.py:

(PrepareChangeLog.options):
(PrepareChangeLog.run):

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

[EFL] Remove webintents from TestExpectations
https://bugs.webkit.org/show_bug.cgi?id=109537

Unreviewed. webintents tests no longer exist.

Patch by KwangYong Choi <ky0.choi@samsung.com> on 2013-02-11

  • platform/efl/TestExpectations:
11:26 PM Changeset in webkit [142587] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebCore

[Qt][EFL][WebGL] Minor refactoring of GraphicsSurface/GraphicsSurfaceGLX
https://bugs.webkit.org/show_bug.cgi?id=108686

Patch by Viatcheslav Ostapenko <sl.ostapenko@samsung.com> on 2013-02-11
Reviewed by Noam Rosenthal.

Remove unused platformSurface()/m_platformSurface from GraphicsSurface.
Move m_texture from GraphicsSurface to GLX GraphicsSurfacePrivate to match
Win and Mac implementations.

No new tests, refactoring only.

  • platform/graphics/surfaces/GraphicsSurface.cpp:

(WebCore::GraphicsSurface::GraphicsSurface):

  • platform/graphics/surfaces/GraphicsSurface.h:

(GraphicsSurface):

  • platform/graphics/surfaces/glx/GraphicsSurfaceGLX.cpp:

(WebCore::GraphicsSurfacePrivate::GraphicsSurfacePrivate):
(WebCore::GraphicsSurfacePrivate::swapBuffers):
(WebCore::GraphicsSurfacePrivate::surface):
(GraphicsSurfacePrivate):
(WebCore::GraphicsSurfacePrivate::textureID):
(WebCore::GraphicsSurfacePrivate::clear):
(WebCore::GraphicsSurface::platformExport):
(WebCore::GraphicsSurface::platformGetTextureID):
(WebCore::GraphicsSurface::platformSwapBuffers):
(WebCore::GraphicsSurface::platformCreate):
(WebCore::GraphicsSurface::platformImport):
(WebCore::GraphicsSurface::platformDestroy):

11:24 PM Changeset in webkit [142586] by commit-queue@webkit.org
  • 4 edits
    3 adds in trunk

[EFL][WebGL] WebGL content is not painted after resizing the viewport.
https://bugs.webkit.org/show_bug.cgi?id=106358

Patch by Viatcheslav Ostapenko <sl.ostapenko@samsung.com> on 2013-02-11
Reviewed by Noam Rosenthal.

Source/WebCore:

When page size changes and layer parameters get updated LayerTreeRenderer::setLayerState
clears the layer backing store and detaches the canvas surface from the layer. If the layer
size is not changed then the canvas is not recreated. This leaves the canvas detached from
the layer, but still referenced from m_surfaceBackingStores.
Don't assign layer backing store to layer in assignImageBackingToLayer if there is a canvas
surface already attached to the layer.

Test: fast/canvas/webgl/webgl-layer-update.html

  • platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp:

(WebCore::CoordinatedGraphicsScene::setLayerState):
(WebCore::CoordinatedGraphicsScene::assignImageBackingToLayer):

  • platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.h:

LayoutTests:

Add test checking that canvas painting is correct if layer parameters were changed,
but webgl canvas didn't change.

  • fast/canvas/webgl/webgl-layer-update-expected.png: Added.
  • fast/canvas/webgl/webgl-layer-update-expected.txt: Added.
  • fast/canvas/webgl/webgl-layer-update.html: Added.
11:19 PM Changeset in webkit [142585] by jochen@chromium.org
  • 5 edits in trunk/Tools

[chromium] move printPage() implementation to testRunner library
https://bugs.webkit.org/show_bug.cgi?id=109436

Reviewed by Adam Barth.

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

(WebTestRunner::WebTestProxy::showContextMenu):
(WebTestRunner::WebTestProxy::printPage):

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

(WebTestRunner):
(WebTestRunner::WebTestProxyBase::printPage):

  • DumpRenderTree/chromium/WebViewHost.cpp:
  • DumpRenderTree/chromium/WebViewHost.h:
10:50 PM Changeset in webkit [142584] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

[EFL] Some placeholder paint order tests are passing now
https://bugs.webkit.org/show_bug.cgi?id=109164

Unreviewed efl gardening.

fast/forms/input-placeholder-paint-order.html and
fast/forms/textarea/textarea-placeholder-paint-order.html are passing now.

RenderTheme::shouldShowPlaceholderWhenFocused() returns true by r127723
and the expectations are added by r140149.

Patch by KwangYong Choi <ky0.choi@samsung.com> on 2013-02-11

  • platform/efl/TestExpectations:
10:49 PM Changeset in webkit [142583] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

[EFL] Remove editing/deleting/deletionUI-single-instance.html from TestExpectations
https://bugs.webkit.org/show_bug.cgi?id=109538

Unreviewed. This test is removed by r142559.

Patch by KwangYong Choi <ky0.choi@samsung.com> on 2013-02-11

  • platform/efl/TestExpectations:
10:46 PM Changeset in webkit [142582] by commit-queue@webkit.org
  • 7 edits
    3 deletes in trunk

[Chromium] Get rid of WebAnimationController
https://bugs.webkit.org/show_bug.cgi?id=109235

Patch by James Robinson <jamesr@chromium.org> on 2013-02-11
Reviewed by Benjamin Poulain.

Source/WebKit/chromium:

  • public/WebAnimationController.h: Removed.
  • public/WebFrame.h:

(WebFrame):

  • src/WebAnimationControllerImpl.cpp: Removed.
  • src/WebAnimationControllerImpl.h: Removed.
  • src/WebFrameImpl.cpp:
  • src/WebFrameImpl.h:

(WebFrameImpl):

Tools:

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

(WebTestRunner::TestRunner::TestRunner):

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

(TestRunner):

10:42 PM Changeset in webkit [142581] by jamesr@google.com
  • 6 edits in trunk/Source

[chromium] Add WebUnitTestSupport::createLayerTreeViewForTesting for webkit_unit_tests
https://bugs.webkit.org/show_bug.cgi?id=109403

Reviewed by Adam Barth.

Source/Platform:

webkit_unit_tests that need compositing support need only a simple WebLayerTreeView implementation, not the full
thing.

  • chromium/public/WebCompositorSupport.h:

(WebCompositorSupport):
(WebKit::WebCompositorSupport::createLayerTreeView):

  • chromium/public/WebUnitTestSupport.h:

(WebKit):
(WebUnitTestSupport):
(WebKit::WebUnitTestSupport::createLayerTreeViewForTesting):

Source/WebKit/chromium:

  • tests/GraphicsLayerChromiumTest.cpp:

(WebKit::GraphicsLayerChromiumTest::GraphicsLayerChromiumTest):

  • tests/ScrollingCoordinatorChromiumTest.cpp:

(WebKit::FakeWebViewClient::initializeLayerTreeView):

10:30 PM Changeset in webkit [142580] by eric.carlson@apple.com
  • 22 edits
    2 adds in trunk

[Mac] Track language selection should be sticky
https://bugs.webkit.org/show_bug.cgi?id=109466

Reviewed by Dean Jackson.

.:

  • Source/autotools/symbols.filter: Export PageGroup::captionPreferences and Page::initGroup.

Source/WebCore:

Choosing a text track from the caption menu should make that track's language the
preferred caption language. Turning captions off from the menu should disable captions
in videos loaded subsequently.

OS X has system support for these settings, so changes made by DRT should not change the
settings on the user's system. Add support for all other ports in DRT only.

Test: media/track/track-user-preferences.html

  • WebCore.exp.in: Export PageGroup::captionPreferences().
  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::HTMLMediaElement): Use page()->group().captionPreferences().
(WebCore::HTMLMediaElement::attach): Ditto.
(WebCore::HTMLMediaElement::detach): Ditto.
(WebCore::HTMLMediaElement::userPrefersCaptions): Ditto.
(WebCore::HTMLMediaElement::configureTextTrackGroup): Ditto. Update for

preferredLanguageFromList change.

(WebCore::HTMLMediaElement::toggleTrackAtIndex): Set user prefs for captions visible and

caption language as appropriate.

  • html/shadow/MediaControlElements.cpp:

(WebCore::MediaControlClosedCaptionsTrackListElement::defaultEventHandler): Remove unneeded comment.
(WebCore::MediaControlTextTrackContainerElement::updateSizes): Use page()->group().captionPreferences().

  • html/shadow/MediaControlsApple.cpp:

(WebCore::MediaControlsApple::closedCaptionTracksChanged): Update caption menu button visibility.

  • page/CaptionUserPreferences.h:

(WebCore::CaptionUserPreferences::userPrefersCaptions): Support "testing" mode.
(WebCore::CaptionUserPreferences::setUserPrefersCaptions): Ditto.
(WebCore::CaptionUserPreferences::registerForPreferencesChangedCallbacks): Ditto.
(WebCore::CaptionUserPreferences::unregisterForPreferencesChangedCallbacks): Ditto.
(WebCore::CaptionUserPreferences::setPreferredLanguage): Ditto.
(WebCore::CaptionUserPreferences::preferredLanguages): Ditto.
(WebCore::CaptionUserPreferences::testingMode): Ditto.
(WebCore::CaptionUserPreferences::setTestingMode): Ditto.
(WebCore::CaptionUserPreferences::CaptionUserPreferences): Ditto.

  • page/CaptionUserPreferencesMac.h:
  • page/CaptionUserPreferencesMac.mm:

(WebCore::CaptionUserPreferencesMac::userPrefersCaptions): Support "testing" mode.
(WebCore::CaptionUserPreferencesMac::setUserPrefersCaptions): Ditto.
(WebCore::CaptionUserPreferencesMac::userHasCaptionPreferences): Ditto.
(WebCore::CaptionUserPreferencesMac::registerForPreferencesChangedCallbacks): Change name from

registerForCaptionPreferencesChangedCallbacks. Support "testing" mode.

(WebCore::CaptionUserPreferencesMac::unregisterForPreferencesChangedCallbacks): Change name from

unregisterForCaptionPreferencesChangedCallbacks. Support "testing" mode.

(WebCore::CaptionUserPreferencesMac::captionsStyleSheetOverride): Support "testing" mode.
(WebCore::CaptionUserPreferencesMac::captionFontSizeScale): Ditto.
(WebCore::CaptionUserPreferencesMac::setPreferredLanguage): Ditto.
(WebCore::CaptionUserPreferencesMac::preferredLanguages): Ditto. Return the platform override when set.

  • page/PageGroup.cpp:

(WebCore::PageGroup::registerForCaptionPreferencesChangedCallbacks): Remove because it is already

available from the caption preference object.

(WebCore::PageGroup::unregisterForCaptionPreferencesChangedCallbacks): Ditto.
(WebCore::PageGroup::userPrefersCaptions): Ditto.
(WebCore::PageGroup::userHasCaptionPreferences): Ditto.
(WebCore::PageGroup::captionFontSizeScale): Ditto.

  • page/PageGroup.h:
  • platform/Language.cpp:

(WebCore::preferredLanguageFromList): Take the list of preferred languages instead of assuming

the system list.

  • platform/Language.h:
  • testing/Internals.cpp:

(WebCore::Internals::resetToConsistentState): Disable caption testing mode.
(WebCore::Internals::Internals): Enable caption testing mode so the user's system

preferences are not modified.

LayoutTests:

  • media/track/track-user-preferences-expected.txt: Added.
  • media/track/track-user-preferences.html: Added.
  • platform/chromium/TestExpectations: Skip new test, it depends on the track menu.
  • platform/efl/TestExpectations: Ditto.
  • platform/gtk/TestExpectations: Ditto.
  • platform/qt/TestExpectations: Ditto.
  • platform/win/TestExpectations: Ditto.
10:26 PM Changeset in webkit [142579] by commit-queue@webkit.org
  • 11 edits in trunk/Source

Coordinated Graphics: Make CoordinatedGraphicsScene not know contents size.
https://bugs.webkit.org/show_bug.cgi?id=108922

Source/WebCore:

Patch by Huang Dongsung <luxtella@company100.net> on 2013-02-11
Reviewed by Noam Rosenthal.

Currently, CoordinatedGraphicsScene has two methods to know contents
size: setContentsSize() and setVisibleContentsRect(). Contents size is
used when adjusting a scroll position, but adjustment is not needed
because EFL and Qt platform code (currently PageViewportController)
already adjusts a scroll position, and it is natural for each platform
to be in charge of adjusting. So this patch makes CoordinatedGraphicsScene
not know contents size.

In addition, now DrawingAreaProxy::coordinatedLayerTreeHostProxy() is only used
to get CoordinatedGraphicsScene.

This patch can only be tested manually since there is no automated
testing facilities for in-motion touch.
Test: ManualTests/fixed-position.html

ManualTests/nested-fixed-position.html

  • platform/graphics/texmap/TextureMapperLayer.cpp:

(WebCore::TextureMapperLayer::setScrollPositionDeltaIfNeeded):

  • platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp:

(WebCore::CoordinatedGraphicsScene::setScrollPosition):
(WebCore::CoordinatedGraphicsScene::adjustPositionForFixedLayers):

  • platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.h:

(CoordinatedGraphicsScene):

Source/WebKit2:

Patch by Huang Dongsung <luxtella@company100.net> on 2013-02-11
Reviewed by Noam Rosenthal.
Signed off for WebKit2 by Benjamin Poulain.

Currently, CoordinatedGraphicsScene has two methods to know contents
size: setContentsSize() and setVisibleContentsRect(). Contents size is
used when adjusting a scroll position, but adjustment is not needed
because EFL and Qt platform code (currently PageViewportController)
already adjusts a scroll position, and it is natural for each platform
to be in charge of adjusting. So this patch makes CoordinatedGraphicsScene
not know contents size.

In addition, now DrawingAreaProxy::coordinatedLayerTreeHostProxy() is only used
to get CoordinatedGraphicsScene.

  • UIProcess/API/qt/qquickwebpage.cpp:

(QQuickWebPagePrivate::updateSize):

  • UIProcess/API/qt/raw/qrawwebview.cpp:

(QRawWebView::setSize):

  • UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.cpp:

(WebKit::CoordinatedLayerTreeHostProxy::setVisibleContentsRect):

  • UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h:

(CoordinatedLayerTreeHostProxy):

  • UIProcess/efl/PageClientLegacyImpl.cpp:

(WebKit::PageClientLegacyImpl::didChangeContentsSize):

  • UIProcess/efl/PageViewportControllerClientEfl.cpp:

(WebKit::PageViewportControllerClientEfl::didChangeContentsSize):

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

Coordinated Graphics: remove the DidChangeScrollPosition message.
https://bugs.webkit.org/show_bug.cgi?id=108051

Patch by Huang Dongsung <luxtella@company100.net> on 2013-02-11
Reviewed by Noam Rosenthal.
Signed off for WebKit2 by Benjamin Poulain.

Currently, we use the DidChangeScrollPosition message to send the scroll
position that WebCore used in this frame to UI Process. We had to have
some member variables for the DidChangeScrollPosition message.
However, we can send a scroll position via the DidRenderFrame message,
because CoordinatedGraphicsScene::m_renderedContentsScrollPosition is
updated at the moment of flushing. So we can remove the
DidChangeScrollPosition message and some redundant member variables.

Source/WebCore:

No tests. No change in behavior.

  • platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp:

(WebCore::CoordinatedGraphicsScene::flushLayerChanges):

  • platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.h:

(CoordinatedGraphicsScene):

Source/WebKit2:

  • UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.cpp:

(WebKit::CoordinatedLayerTreeHostProxy::didRenderFrame):
(WebKit):

  • UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h:

(CoordinatedLayerTreeHostProxy):

  • UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.messages.in: Remove the DidChangeScrollPosition message.
  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:

(WebKit::CoordinatedLayerTreeHost::CoordinatedLayerTreeHost):
(WebKit::CoordinatedLayerTreeHost::flushPendingLayerChanges):

Send a scroll position via the DidChangeScrollPosition message.

(WebKit::CoordinatedLayerTreeHost::syncLayerState):

Don't send a scroll position because flushPendingLayerChanges() does
that. In addition, it is weird to check if we must send a scroll
position at the moment of sending the SyncLayerState message of every
layers.

(WebKit::CoordinatedLayerTreeHost::setVisibleContentsRect):

  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
9:11 PM Changeset in webkit [142577] by oliver@apple.com
  • 2 edits in trunk/Source/WTF

Build fix.

8:55 PM Changeset in webkit [142576] by rniwa@webkit.org
  • 40 edits in trunk

Disable delete button controller on non-Mac ports and delete EditorClient::shouldShowDeleteInterface
https://bugs.webkit.org/show_bug.cgi?id=109534

Reviewed by Anders Carlsson.

Source/WebCore:

  • editing/DeleteButtonController.cpp:

(WebCore::DeleteButtonController::show):

  • editing/Editor.cpp:

(WebCore):

  • editing/Editor.h:

(Editor):

  • loader/EmptyClients.h:

(WebCore::EmptyEditorClient::shouldDeleteRange):
(EmptyEditorClient):
(WebCore::EmptyEditorClient::shouldShowDeleteInterface):

  • page/EditorClient.h:

(EditorClient):

Source/WebKit/blackberry:

  • WebCoreSupport/EditorClientBlackBerry.cpp:

(WebCore):

  • WebCoreSupport/EditorClientBlackBerry.h:

(EditorClientBlackBerry):

Source/WebKit/chromium:

  • src/EditorClientImpl.cpp:

(WebKit):

  • src/EditorClientImpl.h:

(EditorClientImpl):

Source/WebKit/efl:

  • WebCoreSupport/EditorClientEfl.cpp:

(WebCore):

  • WebCoreSupport/EditorClientEfl.h:

(EditorClientEfl):

Source/WebKit/gtk:

  • WebCoreSupport/EditorClientGtk.cpp:

(WebKit):

  • WebCoreSupport/EditorClientGtk.h:

(EditorClient):

  • webkit/webkitwebview.cpp:

(webkit_web_view_class_init):

Source/WebKit/mac:

  • WebCoreSupport/WebEditorClient.h:

Source/WebKit/qt:

  • WebCoreSupport/EditorClientQt.cpp:

(WebCore):

  • WebCoreSupport/EditorClientQt.h:

(EditorClientQt):

Source/WebKit/win:

  • WebCoreSupport/WebEditorClient.cpp:
  • WebCoreSupport/WebEditorClient.h:

(WebEditorClient):

Source/WebKit/wince:

  • WebCoreSupport/EditorClientWinCE.cpp:

(WebKit):

  • WebCoreSupport/EditorClientWinCE.h:

(EditorClientWinCE):

Source/WebKit/wx:

  • WebKitSupport/EditorClientWx.cpp:

(WebCore):

  • WebKitSupport/EditorClientWx.h:

(EditorClientWx):

Source/WebKit2:

  • WebProcess/WebCoreSupport/WebEditorClient.cpp:

(WebKit):

  • WebProcess/WebCoreSupport/WebEditorClient.h:

Source/WTF:

  • wtf/Platform.h:

Tools:

  • DumpRenderTree/gtk/EditingCallbacks.cpp:

(shouldShowDeleteInterfaceForElement):

8:43 PM Changeset in webkit [142575] by hayato@chromium.org
  • 7 edits in trunk/Source/WebCore

Factor EventContext and introduces MouseOrFocusEventContext.
https://bugs.webkit.org/show_bug.cgi?id=109278

Reviewed by Dimitri Glazkov.

To supoort Touch event retargeting (bug 107800), we have to factor
event retargeting code so that it can support not only MouseEvent or FocusEvent,
but also other events.

This is the first attempt to refactor event retargeting code, a
separated patch from bug 109156. EventContext is now factored and
MouseOrFocusEventContext was introduced to support MouseEvent or
FocusEvent separately.

In following patches, I'll introduce TouchEventContext and
TouchEventDispatchMediator to support Touch event retargeting.

No new tests. No change in functionality.

  • dom/EventContext.cpp:

(WebCore::EventContext::EventContext): Factor relatedTarget out from EventContext into MouseOrFocusEventContext.
(WebCore::EventContext::~EventContext):
(WebCore):
(WebCore::EventContext::handleLocalEvents):
(WebCore::EventContext::isMouseOrFocusEventContext):
(WebCore::MouseOrFocusEventContext::MouseOrFocusEventContext): New. Handles MouseEvent's (or FocusEvent's) relatedTarget retargeting.
(WebCore::MouseOrFocusEventContext::~MouseOrFocusEventContext):
(WebCore::MouseOrFocusEventContext::handleLocalEvents):
(WebCore::MouseOrFocusEventContext::isMouseOrFocusEventContext):

  • dom/EventContext.h:

(EventContext):
(WebCore::EventContext::node):
(WebCore::EventContext::target):
(WebCore::EventContext::currentTargetSameAsTarget):
(WebCore):
(MouseOrFocusEventContext):
(WebCore::MouseOrFocusEventContext::relatedTarget):
(WebCore::MouseOrFocusEventContext::setRelatedTarget):

  • dom/EventDispatcher.cpp:

(WebCore::EventRelatedTargetAdjuster::adjust):
(WebCore::EventDispatcher::adjustRelatedTarget):
(WebCore::EventDispatcher::ensureEventPath): Renamad from ensureEventAncestors. Use the DOM Core terminology.
(WebCore::EventDispatcher::dispatchEvent):
(WebCore::EventDispatcher::dispatchEventAtCapturing):
(WebCore::EventDispatcher::dispatchEventAtTarget):
(WebCore::EventDispatcher::dispatchEventAtBubbling):
(WebCore::EventDispatcher::dispatchEventPostProcess):
(WebCore::EventDispatcher::topEventContext):

  • dom/EventDispatcher.h:

(EventRelatedTargetAdjuster):
(EventDispatcher):

  • inspector/InspectorInstrumentation.cpp:

(WebCore):
(WebCore::eventHasListeners):
(WebCore::InspectorInstrumentation::willDispatchEventImpl):

  • inspector/InspectorInstrumentation.h:

(InspectorInstrumentation):
(WebCore::InspectorInstrumentation::willDispatchEvent):

8:34 PM Changeset in webkit [142574] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebCore

[Curl] setCookiesFromDOM function does not save cookies to disk.
https://bugs.webkit.org/show_bug.cgi?id=109285

Patch by peavo@outlook.com <peavo@outlook.com> on 2013-02-11
Reviewed by Brent Fulgham.

Write cookies to disk by using the Curl easy api.

  • platform/network/curl/CookieJarCurl.cpp:

(WebCore::setCookiesFromDOM):Write cookie to disk.

  • platform/network/curl/ResourceHandleManager.cpp:

(WebCore::ResourceHandleManager::getCurlShareHandle): Added method to get Curl share handle.
(WebCore::ResourceHandleManager::getCookieJarFileName): Added method to get cookie file name.

  • platform/network/curl/ResourceHandleManager.h: Added methods to get cookie file name, and Curl share handle.
8:32 PM Changeset in webkit [142573] by hayato@chromium.org
  • 10 edits
    2 adds in trunk/Source/WebCore

Split each RuleSet and feature out from StyleResolver into its own class.
https://bugs.webkit.org/show_bug.cgi?id=107777

Reviewed by Dimitri Glazkov.

Re-landing r141964, which was reverted in r141973, since r141964 seem to be innocent.

No tests. No change in behavior.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • Target.pri:
  • WebCore.gypi:
  • WebCore.xcodeproj/project.pbxproj:
  • css/CSSAllInOne.cpp:
  • css/DocumentRuleSets.cpp: Added.

(WebCore):
(WebCore::DocumentRuleSets::DocumentRuleSets):
(WebCore::DocumentRuleSets::~DocumentRuleSets):
(WebCore::DocumentRuleSets::initUserStyle): New helper to initialize each RuleSets.
(WebCore::DocumentRuleSets::collectRulesFromUserStyleSheets): Factored out from StyleResolver.
(WebCore::makeRuleSet): Ditto.
(WebCore::DocumentRuleSets::resetAuthorStyle): Ditto.
(WebCore::DocumentRuleSets::appendAuthorStyleSheets): Ditto.
(WebCore::DocumentRuleSets::collectFeatures): Ditto.
(WebCore::DocumentRuleSets::reportMemoryUsage): New methods to report memory usage. Factored out from StyleResolver.

  • css/DocumentRuleSets.h: Added.

(WebCore):
(DocumentRuleSets):
(WebCore::DocumentRuleSets::authorStyle): Moved from StyleResolver.
(WebCore::DocumentRuleSets::userStyle): Ditto.
(WebCore::DocumentRuleSets::features): Ditto.
(WebCore::DocumentRuleSets::sibling): Ditto.
(WebCore::DocumentRuleSets::uncommonAttribute): Ditto.

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::StyleResolver):
(WebCore::StyleResolver::appendAuthorStyleSheets): Now calls DocumentRuleSets::appendAuthorStyleSheets.
(WebCore::StyleResolver::matchAuthorRules): Use m_ruleSets.
(WebCore::StyleResolver::matchUserRules): Ditto.
(WebCore::StyleResolver::classNamesAffectedByRules): Ditto.
(WebCore::StyleResolver::locateCousinList): Ditto.
(WebCore::StyleResolver::canShareStyleWithElement): Ditto.
(WebCore::StyleResolver::locateSharedStyle): Ditto.
(WebCore::StyleResolver::styleForPage): Ditto.
(WebCore::StyleResolver::checkRegionStyle): Ditto.
(WebCore::StyleResolver::applyProperty): Ditto.
(WebCore::StyleResolver::reportMemoryUsage): Now calls DocumentRuleSets::reportMemoryUsage.

  • css/StyleResolver.h:

(WebCore::StyleResolver::scopeResolver):
(StyleResolver):
(WebCore::StyleResolver::ruleSets): accessor r to DocumentRuleSets.
(WebCore::StyleResolver::usesSiblingRules): Use m_ruleSets.
(WebCore::StyleResolver::usesFirstLineRules): Ditto.
(WebCore::StyleResolver::usesBeforeAfterRules): Ditto.
(WebCore::StyleResolver::hasSelectorForAttribute): Ditto.
(WebCore::StyleResolver::hasSelectorForClass): Ditto.
(WebCore::StyleResolver::hasSelectorForId): Ditto.

  • dom/DocumentStyleSheetCollection.cpp:

(WebCore::DocumentStyleSheetCollection::updateActiveStyleSheets):

8:24 PM Changeset in webkit [142572] by keishi@webkit.org
  • 6 edits
    3 adds in trunk

REGRESSION (r140778):Calendar Picker buttons are wrong when rtl
https://bugs.webkit.org/show_bug.cgi?id=109158

Reviewed by Kent Tamura.

Source/WebCore:

The calendar picker button's icon and position where wrong when rtl.

Test: platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-ar.html

  • Resources/pagepopups/calendarPicker.css:

(.year-month-button-left .year-month-button): Use -webkit-margin-end so the margin is applide to the right side.
(.year-month-button-right .year-month-button): Use -webkit-margin-start so the margin is applide to the right side.
(.today-clear-area .today-button): Use -webkit-margin-end so the margin is applide to the right side.

  • Resources/pagepopups/calendarPicker.js:

(YearMonthController.prototype._attachLeftButtonsTo): Flip icon image when rtl.
(YearMonthController.prototype._attachRightButtonsTo): Ditto.

LayoutTests:

  • platform/chromium-mac/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-ar-expected.png: Added.
  • platform/chromium-mac/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-required-ar-expected.png:
  • platform/chromium/TestExpectations:
  • platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-ar-expected.txt: Added.
  • platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-ar.html: Added.
8:23 PM Changeset in webkit [142571] by aelias@chromium.org
  • 5 edits in trunk/Source/WebKit/chromium

[chromium] Apply page scale to all WebInputEvent types
https://bugs.webkit.org/show_bug.cgi?id=109370

Reviewed by James Robinson.

Previously we only adjusted a few common input event types by page
scale, but in fact almost every position and size in WebInputEvents
requires it.

I also took the opportunity to change some WebGestureEvent members to
floats (which I checked causes no warnings in Chromium-side code with
GCC or Clang).

New WebInputEventConversionTest: InputEventsScaling

  • public/WebInputEvent.h:

(WebKit::WebGestureEvent::WebGestureEvent):

  • src/WebInputEventConversion.cpp:

(WebKit::widgetScaleFactor):
(WebKit):
(WebKit::PlatformMouseEventBuilder::PlatformMouseEventBuilder):
(WebKit::PlatformWheelEventBuilder::PlatformWheelEventBuilder):
(WebKit::PlatformGestureEventBuilder::PlatformGestureEventBuilder):
(WebKit::PlatformTouchPointBuilder::PlatformTouchPointBuilder):
(WebKit::updateWebMouseEventFromWebCoreMouseEvent):
(WebKit::WebMouseEventBuilder::WebMouseEventBuilder):
(WebKit::addTouchPoints):
(WebKit::WebTouchEventBuilder::WebTouchEventBuilder):
(WebKit::WebGestureEventBuilder::WebGestureEventBuilder):

  • src/WebViewImpl.cpp:

(WebKit::WebViewImpl::handleGestureEvent):
(WebKit::WebViewImpl::hasTouchEventHandlersAt):
(WebKit::WebViewImpl::handleInputEvent):

  • tests/WebInputEventConversionTest.cpp:

(WebCore::TEST):
(WebCore):

8:22 PM Changeset in webkit [142570] by commit-queue@webkit.org
  • 2 edits
    1 delete in trunk/Source/WebCore

REGRESSION (r142549): Remove web intents code
https://bugs.webkit.org/show_bug.cgi?id=109532

Patch by KwangYong Choi <ky0.choi@samsung.com> on 2013-02-11
Reviewed by Nico Weber.

Remove remaning code related to web intents.

No new tests, no change on behavior.

  • UseJSC.cmake:
  • bindings/js/JSIntentConstructor.cpp: Removed.
8:17 PM Changeset in webkit [142569] by commit-queue@webkit.org
  • 6 edits in trunk/Source

Unreviewed, rolling out r142568.
http://trac.webkit.org/changeset/142568
https://bugs.webkit.org/show_bug.cgi?id=109541

Broke the build, won't compile. (Requested by alancutter on
#webkit).

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

Source/Platform:

  • chromium/public/WebCompositorSupport.h:

(WebCompositorSupport):
(WebKit::WebCompositorSupport::createLayerTreeView):

  • chromium/public/WebUnitTestSupport.h:

Source/WebKit/chromium:

  • tests/GraphicsLayerChromiumTest.cpp:

(WebKit::GraphicsLayerChromiumTest::GraphicsLayerChromiumTest):

  • tests/ScrollingCoordinatorChromiumTest.cpp:

(WebKit::FakeWebViewClient::initializeLayerTreeView):

6:50 PM Changeset in webkit [142568] by jamesr@google.com
  • 6 edits in trunk/Source

[chromium] Add WebUnitTestSupport::createLayerTreeViewForTesting for webkit_unit_tests
https://bugs.webkit.org/show_bug.cgi?id=109403

Reviewed by Adam Barth.

Source/Platform:

webkit_unit_tests that need compositing support need only a simple WebLayerTreeView implementation, not the full
thing.

  • chromium/public/WebCompositorSupport.h:

(WebCompositorSupport):
(WebKit::WebCompositorSupport::createLayerTreeView):

  • chromium/public/WebUnitTestSupport.h:

(WebKit):
(WebUnitTestSupport):
(WebKit::WebUnitTestSupport::createLayerTreeViewForTesting):

Source/WebKit/chromium:

  • tests/GraphicsLayerChromiumTest.cpp:

(WebKit::GraphicsLayerChromiumTest::GraphicsLayerChromiumTest):

  • tests/ScrollingCoordinatorChromiumTest.cpp:

(WebKit::FakeWebViewClient::initializeLayerTreeView):

6:38 PM Changeset in webkit [142567] by kbr@google.com
  • 2 edits in trunk/Source/WebCore

Add temporary typedef to ANGLEWebKitBridge to support incompatible API upgrade
https://bugs.webkit.org/show_bug.cgi?id=109127

Reviewed by Dean Jackson.

No new tests. Built and tested WebKit and Chromium with this change.

  • platform/graphics/ANGLEWebKitBridge.cpp:

(WebCore):

Define temporary typedef spanning int -> size_t change.

(WebCore::getValidationResultValue):
(WebCore::getSymbolInfo):

Use temporary typedef.

6:38 PM Changeset in webkit [142566] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/chromium

Unreviewed. Rolled Chromium DEPS to r181817. Requested by
"James Robinson" <jamesr@chromium.org> via sheriffbot.

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

  • DEPS:
6:06 PM Changeset in webkit [142565] by haraken@chromium.org
  • 5 edits in trunk/Source/WebCore

[V8] ScheduledAction::m_context can be empty, so we shouldn't
retrieve an Isolate by using m_context->GetIsolate()
https://bugs.webkit.org/show_bug.cgi?id=109523

Reviewed by Adam Barth.

Chromium bug: https://code.google.com/p/chromium/issues/detail?id=175307#makechanges

Currently ScheduledAction is retrieving an Isolate by using m_context->GetIsolate().
This can crash because ScheduledAction::m_context can be empty. Specifically,
ScheduledAction::m_context is set to ScriptController::currentWorldContext(),
which can return an empty handle when a frame does not exist. In addition,
'if(context.IsEmpty())' in ScheduledAction.cpp implies that it can be empty.

Alternately, we should pass an Isolate explicitly when a ScheduledAction is instantiated.

No tests. The Chromium crash report doesn't provide enough information
to reproduce the bug.

  • bindings/v8/ScheduledAction.cpp:

(WebCore::ScheduledAction::ScheduledAction):
(WebCore):
(WebCore::ScheduledAction::~ScheduledAction):

  • bindings/v8/ScheduledAction.h:

(ScheduledAction):

  • bindings/v8/custom/V8DOMWindowCustom.cpp:

(WebCore::WindowSetTimeoutImpl):

  • bindings/v8/custom/V8WorkerContextCustom.cpp:

(WebCore::SetTimeoutOrInterval):

5:58 PM Changeset in webkit [142564] by dgrogan@chromium.org
  • 3 edits in trunk/Source/WebKit/chromium

IndexedDB: Add UnknownError to WebIDBDatabaseException
https://bugs.webkit.org/show_bug.cgi?id=109519

Reviewed by Adam Barth.

  • public/WebIDBDatabaseException.h:
  • src/AssertMatchingEnums.cpp:
5:52 PM Changeset in webkit [142563] by commit-queue@webkit.org
  • 4 edits in trunk/Source

Build fix: r142549 broke EFL build
https://bugs.webkit.org/show_bug.cgi?id=109527

Patch by Adenilson Cavalcanti <cavalcantii@gmail.com> on 2013-02-11
Reviewed by Kentaro Hara.

Source/WebCore:

No new tests, no change on behavior.

  • CMakeLists.txt:

Source/WebKit:

Build fix.

  • CMakeLists.txt:
5:42 PM Changeset in webkit [142562] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

[EFL] Build fix
https://bugs.webkit.org/show_bug.cgi?id=109518

Patch by Jae Hyun Park <jae.park@company100.net> on 2013-02-11
Reviewed by Laszlo Gombos.

Fix EFL build by including PluginProcessConnectionManager.messages.in in
CMakeLists.txt

  • CMakeLists.txt:
5:35 PM Changeset in webkit [142561] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

REGRESSION (r142520?): Space no longer scrolls the page
https://bugs.webkit.org/show_bug.cgi?id=109526

Reviewed by Tim Horton.

ScrollingTree::updateTreeFromStateNode() used to bail early when it had
no children (no fixed or sticky elements), but that left updateAfterChildren()
uncalled. Fix by always calling updateAfterChildren(), which updates the scroll
position.

  • page/scrolling/ScrollingTree.cpp:

(WebCore::ScrollingTree::updateTreeFromStateNode):

5:31 PM Changeset in webkit [142560] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebCore

Remove extra early-return in FrameView::setScrollPosition

Rubber-stamped by Simon Fraser.

  • page/FrameView.cpp:

(WebCore::FrameView::setScrollPosition):

5:31 PM Changeset in webkit [142559] by rniwa@webkit.org
  • 6 edits
    3 moves
    4 deletes in trunk/LayoutTests

Move deletionUI tests into platform/mac
https://bugs.webkit.org/show_bug.cgi?id=109517

Reviewed by Benjamin Poulain.

Moved deletionUI tests into platform/mac since Mac is the only port that ships this feature.

  • editing/deleting/5408255-expected.txt: Removed.
  • editing/deleting/5408255.html: Removed.
  • editing/deleting/deletionUI-single-instance.html: Removed.
  • platform/chromium/editing/deleting/deletionUI-single-instance-expected.png: Removed.
  • platform/chromium/editing/deleting/deletionUI-single-instance-expected.txt: Removed.
  • platform/efl/TestExpectations:
  • platform/mac/editing/deleting/deletionUI-click-on-delete-button-expected.txt: Copied from LayoutTests/editing/deleting/5408255-expected.txt.
  • platform/mac/editing/deleting/deletionUI-click-on-delete-button.html: Copied from LayoutTests/editing/deleting/5408255.html.
  • platform/mac/editing/deleting/deletionUI-single-instance.html: Copied from LayoutTests/editing/deleting/deletionUI-single-instance.html.
  • platform/qt-mac/TestExpectations:
  • platform/qt/editing/deleting/deletionUI-single-instance-expected.png: Removed.
  • platform/qt/editing/deleting/deletionUI-single-instance-expected.txt: Removed.
  • platform/win/TestExpectations:
  • platform/wincairo/TestExpectations:
  • platform/wk2/TestExpectations:
5:29 PM Changeset in webkit [142558] by arko@motorola.com
  • 2 edits in trunk/Source/WebCore

[Microdata] Fix crash after r141034 in chromuim port
https://bugs.webkit.org/show_bug.cgi?id=109514

Reviewed by Ryosuke Niwa.

Added V8SkipVTableValidation extended attribute to skip
VTable validation check for DOMSettableTokenList interface.

This patch fixes below test failures:
Tests: fast/dom/MicroData/domsettabletokenlist-attributes-add-token.html

fast/dom/MicroData/domsettabletokenlist-attributes-out-of-range-index.html
fast/dom/MicroData/element-with-empty-itemprop.html
fast/dom/MicroData/itemprop-add-remove-tokens.html
fast/dom/MicroData/itemprop-for-an-element-must-be-correct.html
fast/dom/MicroData/itemprop-must-be-read-only.html
fast/dom/MicroData/itemprop-reflected-by-itemProp-property.html
fast/dom/MicroData/itemref-add-remove-tokens.html
fast/dom/MicroData/itemref-attribute-reflected-by-itemRef-property.html
fast/dom/MicroData/itemref-for-an-element-must-be-correct.html
fast/dom/MicroData/itemref-must-be-read-only.html
fast/dom/MicroData/itemtype-add-remove-tokens.html
fast/dom/MicroData/itemtype-attribute-test.html
fast/dom/MicroData/microdata-domtokenlist-attribute-add-remove-tokens.html
fast/dom/MicroData/properties-collection-namedgetter-with-invalid-name.html
fast/dom/MicroData/propertynodelist-add-remove-itemprop-tokens.html
fast/dom/MicroData/propertynodelist-add-remove-itemref-tokens.html

  • html/DOMSettableTokenList.idl:
5:20 PM Changeset in webkit [142557] by oliver@apple.com
  • 4 edits in trunk/Source/JavaScriptCore

Make JSC API more NULL tolerant
https://bugs.webkit.org/show_bug.cgi?id=109515

Reviewed by Mark Hahnenberg.

We do so much marshalling for the C API these days anyway that a single null
check isn't a performance issue. Yet the existing "null is unsafe" behaviour
leads to crashes in embedding applications whenever there's an untested code
path, so it seems having defined behaviour is superior.

  • API/APICast.h:

(toJS):
(toJSForGC):

  • API/JSObjectRef.cpp:

(JSObjectIsFunction):
(JSObjectCallAsFunction):
(JSObjectIsConstructor):
(JSObjectCallAsConstructor):

  • API/tests/testapi.c:

(main):

5:09 PM Changeset in webkit [142556] by andersca@apple.com
  • 3 edits in trunk/Source/WebKit2

Fix build.

  • WebProcess/Plugins/PluginProcessConnectionManager.cpp:

(WebKit::PluginProcessConnectionManager::didReceiveMessageOnConnectionWorkQueue):

  • WebProcess/WebProcess.cpp:
5:07 PM Changeset in webkit [142555] by abarth@webkit.org
  • 8 edits
    2 adds in trunk

Load event fires too early with threaded HTML parser (take 2)
https://bugs.webkit.org/show_bug.cgi?id=109485

Reviewed by Eric Seidel.

Source/WebCore:

This patch restores the code that was removed in
http://trac.webkit.org/changeset/142492 and adds code to
DocumentLoader.cpp to avoid the regression.

  • dom/Document.cpp:

(WebCore::Document::hasActiveParser):
(WebCore::Document::decrementActiveParserCount):

  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::isLoadingInAPISense):

LayoutTests:

This patch also fixes a bug whereby removing an iframe during the load
event would trigger DumpRenderTree to dump the test in the middle of
the load event. We now wait until the load event is over.

  • compositing/iframes/remove-iframe-crash-expected.txt:
  • fast/frames/iframe-access-screen-of-deleted-expected.txt:
  • fast/frames/remove-frame-during-load-event-expected.txt: Added.
  • fast/frames/remove-frame-during-load-event.html: Added.
  • http/tests/misc/xslt-bad-import-expected.txt:
5:05 PM Changeset in webkit [142554] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed, adding a FIXME to remind ourselves of a bug.
https://bugs.webkit.org/show_bug.cgi?id=109487

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileStrictEqForConstant):

4:55 PM Changeset in webkit [142553] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebKit2

[GTK] Build fix.
https://bugs.webkit.org/show_bug.cgi?id=109516

Patch by Seulgi Kim <seulgikim@company100.net> on 2013-02-11
Reviewed by Csaba Osztrogonác.

PluginProcessConnectionManagerMessages are omitted from messages list.

  • GNUmakefile.list.am:
4:53 PM Changeset in webkit [142552] by eric@webkit.org
  • 7 edits in trunk/Source/WebCore

Fold HTMLTokenizerState back into HTMLTokenizer now that MarkupTokenizerBase is RFG
https://bugs.webkit.org/show_bug.cgi?id=109502

Reviewed by Tony Gentilcore.

Just a search replace of HTMLTokenizerState with HTMLTokenizer and moving the enum.
This restores us to the peacefull world pre-NEW_XML.

  • html/parser/BackgroundHTMLParser.cpp:

(WebCore::BackgroundHTMLParser::forcePlaintextForTextDocument):
(WebCore::BackgroundHTMLParser::simulateTreeBuilder):

  • html/parser/HTMLDocumentParser.cpp:

(WebCore::tokenizerStateForContextElement):
(WebCore::HTMLDocumentParser::forcePlaintextForTextDocument):
(WebCore::HTMLDocumentParser::pumpTokenizer):

  • html/parser/HTMLTokenizer.cpp:

(WebCore::isEndTagBufferingState):
(WebCore):
(WebCore::HTMLTokenizer::reset):
(WebCore::HTMLTokenizer::flushEmitAndResumeIn):
(WebCore::HTMLTokenizer::nextToken):
(WebCore::HTMLTokenizer::updateStateFor):

  • html/parser/HTMLTokenizer.h:

(HTMLTokenizer):
(WebCore::HTMLTokenizer::create):
(WebCore::HTMLTokenizer::shouldSkipNullCharacters):
(WebCore::HTMLTokenizer::emitEndOfFile):

  • html/parser/HTMLTreeBuilder.cpp:

(WebCore::HTMLTreeBuilder::processStartTagForInBody):
(WebCore::HTMLTreeBuilder::processEndTag):
(WebCore::HTMLTreeBuilder::processGenericRCDATAStartTag):
(WebCore::HTMLTreeBuilder::processGenericRawTextStartTag):
(WebCore::HTMLTreeBuilder::processScriptStartTag):

  • html/parser/TextViewSourceParser.cpp:

(WebCore::TextViewSourceParser::TextViewSourceParser):

4:49 PM Changeset in webkit [142551] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/chromium

Unreviewed. Rolled Chromium DEPS to r181787. Requested by
thakis_ via sheriffbot.

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

  • DEPS:
4:46 PM Changeset in webkit [142550] by haraken@chromium.org
  • 2 edits in trunk/Source/WebCore

Build fix after r142528
https://bugs.webkit.org/show_bug.cgi?id=109520

Reviewed by Eric Seidel.

r142528 changed GIFImageReader from a struct to a class.
We also need to fix a forward declaration.

No tests.

  • platform/image-decoders/gif/GIFImageDecoder.h:
4:39 PM Changeset in webkit [142549] by thakis@chromium.org
  • 40 edits
    52 deletes in trunk

Remove web intents code
https://bugs.webkit.org/show_bug.cgi?id=109501

Reviewed by Eric Seidel.

See thread "Removing ENABLE(WEB_INTENTS) code" on webkit-dev.

Source/WebCore:

  • DerivedSources.make:
  • Modules/intents/DOMWindowIntents.cpp: Removed.
  • Modules/intents/DOMWindowIntents.h: Removed.
  • Modules/intents/DOMWindowIntents.idl: Removed.
  • Modules/intents/DeliveredIntent.cpp: Removed.
  • Modules/intents/DeliveredIntent.h: Removed.
  • Modules/intents/DeliveredIntent.idl: Removed.
  • Modules/intents/Intent.cpp: Removed.
  • Modules/intents/Intent.h: Removed.
  • Modules/intents/Intent.idl: Removed.
  • Modules/intents/IntentRequest.cpp: Removed.
  • Modules/intents/IntentRequest.h: Removed.
  • Modules/intents/IntentResultCallback.h: Removed.
  • Modules/intents/IntentResultCallback.idl: Removed.
  • Modules/intents/NavigatorIntents.cpp: Removed.
  • Modules/intents/NavigatorIntents.h: Removed.
  • Modules/intents/NavigatorIntents.idl: Removed.
  • WebCore.gyp/WebCore.gyp:
  • WebCore.gypi:
  • bindings/generic/RuntimeEnabledFeatures.cpp:

(WebCore):

  • bindings/generic/RuntimeEnabledFeatures.h:

(RuntimeEnabledFeatures):

  • bindings/v8/custom/V8IntentCustom.cpp: Removed.
  • html/HTMLElementsAllInOne.cpp:
  • html/HTMLIntentElement.cpp: Removed.
  • html/HTMLIntentElement.h: Removed.
  • html/HTMLIntentElement.idl: Removed.
  • loader/EmptyClients.cpp:
  • loader/EmptyClients.h:

(EmptyFrameLoaderClient):

  • loader/FrameLoaderClient.h:

(WebCore):

  • page/DOMWindow.idl:

Source/WebKit/chromium:

  • WebKit.gyp:
  • features.gypi:
  • public/WebDeliveredIntentClient.h: Removed.
  • public/WebFrame.h:

(WebKit):
(WebFrame):

  • public/WebFrameClient.h:

(WebKit):

  • public/WebIntent.h: Removed.
  • public/WebIntentRequest.h: Removed.
  • public/WebIntentServiceInfo.h: Removed.
  • public/WebRuntimeFeatures.h:

(WebRuntimeFeatures):

  • src/DeliveredIntentClientImpl.cpp: Removed.
  • src/DeliveredIntentClientImpl.h: Removed.
  • src/FrameLoaderClientImpl.cpp:
  • src/FrameLoaderClientImpl.h:

(FrameLoaderClientImpl):

  • src/WebFrameImpl.cpp:
  • src/WebFrameImpl.h:

(WebKit):
(WebFrameImpl):

  • src/WebIntent.cpp: Removed.
  • src/WebIntentRequest.cpp: Removed.
  • src/WebIntentServiceInfo.cpp: Removed.
  • src/WebRuntimeFeatures.cpp:

Tools:

  • DumpRenderTree/TestRunner.cpp:

(TestRunner::staticFunctions):

  • DumpRenderTree/TestRunner.h:

(TestRunner):

  • DumpRenderTree/blackberry/TestRunnerBlackBerry.cpp:
  • DumpRenderTree/chromium/TestRunner/public/WebTestDelegate.h:

(WebKit):

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

(WebKit):
(WebTestRunner::WebTestProxy::didEndEditing):

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

(WebTestRunner::TestRunner::TestRunner):

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

(TestRunner):

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

(WebViewHost):

  • DumpRenderTree/efl/TestRunnerEfl.cpp:
  • DumpRenderTree/gtk/TestRunnerGtk.cpp:
  • DumpRenderTree/mac/TestRunnerMac.mm:
  • DumpRenderTree/win/TestRunnerWin.cpp:
  • DumpRenderTree/wx/TestRunnerWx.cpp:
  • Scripts/webkitperl/FeatureList.pm:

LayoutTests:

  • webintents/intent-tag-expected.txt: Removed.
  • webintents/intent-tag.html: Removed.
  • webintents/resources/pass.html: Removed.
  • webintents/resources/web-intents-reload-orig.html: Removed.
  • webintents/resources/web-intents-testing.js: Removed.
  • webintents/web-intents-api-expected.txt: Removed.
  • webintents/web-intents-api.html: Removed.
  • webintents/web-intents-delivery-expected.txt: Removed.
  • webintents/web-intents-delivery-reuse-expected.txt: Removed.
  • webintents/web-intents-delivery-reuse.html: Removed.
  • webintents/web-intents-delivery.html: Removed.
  • webintents/web-intents-failure-expected.txt: Removed.
  • webintents/web-intents-failure.html: Removed.
  • webintents/web-intents-invoke-expected.txt: Removed.
  • webintents/web-intents-invoke-port-expected.txt: Removed.
  • webintents/web-intents-invoke-port.html: Removed.
  • webintents/web-intents-invoke.html: Removed.
  • webintents/web-intents-obj-constructor-expected.txt: Removed.
  • webintents/web-intents-obj-constructor.html: Removed.
  • webintents/web-intents-reload-expected.txt: Removed.
  • webintents/web-intents-reload.html: Removed.
  • webintents/web-intents-reply-expected.txt: Removed.
  • webintents/web-intents-reply.html: Removed.
4:36 PM Changeset in webkit [142548] by schenney@chromium.org
  • 1 edit
    2 adds in trunk/LayoutTests

SVG DOM manipulation crash
https://bugs.webkit.org/show_bug.cgi?id=108709

Reviewed by Eric Seidel.

Adding a test for the case where an SVG <use> tree is rebuild due to
one event listener and a subsequent listener tries to access it. This
does not crash in WebKit but has caused problems in browser code where
the listener tries to access and use toNode on the target of the
event. The test prevents regressions and gives automated security
tests something to work on.

  • svg/custom/use-listener-append-crash-expected.txt: Added.
  • svg/custom/use-listener-append-crash.html: Added.
4:33 PM Changeset in webkit [142547] by eric@webkit.org
  • 2 edits in trunk/Source/WebCore

Fix Mac build after http://trac.webkit.org/changeset/142535.

Unreviewed build fix.

  • html/parser/HTMLTokenizer.h:

(WebCore::HTMLTokenizer::emitAndReconsumeIn):

4:32 PM Changeset in webkit [142546] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Make WebCore Derived Sources work with SDK identifiers too
https://bugs.webkit.org/show_bug.cgi?id=109324

Patch by David Farler <dfarler@apple.com> on 2013-02-11
Reviewed by Sam Weinig.

  • WebCore.xcodeproj/project.pbxproj: Pass SDKROOT to make for DerivedSources.make
4:31 PM Changeset in webkit [142545] by zmo@google.com
  • 2 edits in trunk/Source/WebCore

WEBGL_compressed_texture_s3tc extension can be enabled even when not supported
https://bugs.webkit.org/show_bug.cgi?id=109508

Reviewed by Kenneth Russell.

  • html/canvas/WebGLRenderingContext.cpp:

(WebCore):
(WebCore::WebGLRenderingContext::getExtension): Check whether the extension support is there before returning the extension pointer.

4:29 PM Changeset in webkit [142544] by fpizlo@apple.com
  • 15 edits
    6 adds in trunk

Strange bug in DFG OSR in JSC
https://bugs.webkit.org/show_bug.cgi?id=109491

Source/JavaScriptCore:

Reviewed by Mark Hahnenberg.

Int32ToDouble was being injected after a side-effecting operation and before a SetLocal. Anytime we
inject something just before a SetLocal we should be aware that the previous operation may have been
a side-effect associated with the current code origin. Hence, we should use a forward exit.
Int32ToDouble does not do forward exits by default.

This patch adds a forward-exiting form of Int32ToDouble, for use in SetLocal Int32ToDouble injections.
Changed the CSE and other things to treat these nodes identically, but for the exit strategy to be
distinct (Int32ToDouble -> backward, ForwardInt32ToDouble -> forward). The use of the NodeType for
signaling exit direction is not "great" but it's what we use in other places already (like
ForwardCheckStructure).

  • dfg/DFGAbstractState.cpp:

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

  • dfg/DFGCSEPhase.cpp:

(JSC::DFG::CSEPhase::int32ToDoubleCSE):
(CSEPhase):
(JSC::DFG::CSEPhase::performNodeCSE):

  • dfg/DFGCommon.h:
  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::fixupNode):
(JSC::DFG::FixupPhase::fixDoubleEdge):
(JSC::DFG::FixupPhase::injectInt32ToDoubleNode):

  • dfg/DFGNode.h:

(JSC::DFG::Node::willHaveCodeGenOrOSR):

  • dfg/DFGNodeType.h:

(DFG):

  • dfg/DFGPredictionPropagationPhase.cpp:

(JSC::DFG::PredictionPropagationPhase::propagate):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::convertLastOSRExitToForward):
(JSC::DFG::SpeculativeJIT::compileInt32ToDouble):

  • dfg/DFGSpeculativeJIT.h:
  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGVariableEventStream.cpp:

(JSC::DFG::VariableEventStream::reconstruct):

LayoutTests:

Reviewed by Mark Hahnenberg.

Added one version of the test (dfg-int32-to-double-on-set-local-and-exit) that is based
exactly on Gabor's original test, and another that ought to fail even if I fix other bugs
in the future (see https://bugs.webkit.org/show_bug.cgi?id=109511).

  • fast/js/dfg-int32-to-double-on-set-local-and-exit-expected.txt: Added.
  • fast/js/dfg-int32-to-double-on-set-local-and-exit.html: Added.
  • fast/js/dfg-int32-to-double-on-set-local-and-sometimes-exit-expected.txt: Added.
  • fast/js/dfg-int32-to-double-on-set-local-and-sometimes-exit.html: Added.
  • fast/js/script-tests/dfg-int32-to-double-on-set-local-and-exit.js: Added.

(checkpoint):
(func1):
(func2):
(func3):
(test):

  • fast/js/script-tests/dfg-int32-to-double-on-set-local-and-sometimes-exit.js: Added.

(checkpoint):
(func1):
(func2):
(func3):
(test):

4:27 PM Changeset in webkit [142543] by Lucas Forschler
  • 5 edits in branches/safari-534.59-branch/Source

Versioning.

4:21 PM Changeset in webkit [142542] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

[WK2] setMinimumLayoutWidth should bail if there's no WebProcess
https://bugs.webkit.org/show_bug.cgi?id=109512
<rdar://problem/13093627>

Reviewed by Anders Carlsson.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::setMinimumLayoutWidth):

4:10 PM Changeset in webkit [142541] by Lucas Forschler
  • 1 copy in branches/safari-534.59-branch

New Branch.

4:08 PM Changeset in webkit [142540] by andersca@apple.com
  • 5 edits in trunk/Source/WebKit2

PluginProcessConnectionManager should be a QueueClient
https://bugs.webkit.org/show_bug.cgi?id=109496

Reviewed by Andreas Kling.

  • WebProcess/Plugins/PluginProcessConnectionManager.cpp:

(WebKit::PluginProcessConnectionManager::didReceiveMessageOnConnectionWorkQueue):
(WebKit):
(WebKit::PluginProcessConnectionManager::didCloseOnConnectionWorkQueue):

  • WebProcess/Plugins/PluginProcessConnectionManager.h:

(PluginProcessConnectionManager):

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::initializeConnection):

  • WebProcess/WebProcess.h:

(WebProcess):

4:07 PM Changeset in webkit [142539] by eae@chromium.org
  • 3 edits
    2 adds in trunk

Change RenderFrameSet::paint to use m-rows/m_cols directly.
https://bugs.webkit.org/show_bug.cgi?id=108503

Source/WebCore:

Reviewed by Eric Seidel.

Test: fast/frames/invalid-frameset.html

  • rendering/RenderFrameSet.cpp:

(WebCore::RenderFrameSet::paint):

LayoutTests:

Reviewed by Eric Seidel.

Add test for how we render an invalid frameset.

  • fast/frames/invalid-frameset-expected.html: Added.
  • fast/frames/invalid-frameset.html: Added.
4:01 PM Changeset in webkit [142538] by yoli@rim.com
  • 2 edits in trunk/Source/WebCore

XMLHttpRequestProgressEventThrottle::resume() always schedules timer even when unnecessary
https://bugs.webkit.org/show_bug.cgi?id=105348

Reviewed by Alexey Proskuryakov.

Let resume() clear the defer flag and return if there is deferred events to dispatch.

No new tests as this should not affect existing cross-platform behavior. It should be
OK as long as it doesn't break anything.

  • xml/XMLHttpRequestProgressEventThrottle.cpp:

(WebCore::XMLHttpRequestProgressEventThrottle::resume):

3:54 PM Changeset in webkit [142537] by ddkilzer@apple.com
  • 2 edits in trunk/Source/WTF

[iOS] Upstream changes to Platform.h
<http://webkit.org/b/109459>

Reviewed by Benjamin Poulain.

  • wtf/Platform.h:
  • Changes for armv7s.
  • Add ENABLE() definitions for DASHBOARD_SUPPORT and WEBGL.
  • Re-sort USE() macros.
  • Remove ENABLE() macros for JIT, LLINT and YARR_JIT to enable on iOS Simulator. They are already defined below.
  • Turn off HAVE(HOSTED_CORE_ANIMATION) for iOS.
  • Turn on USE(COREMEDIA) for iOS 6.0 and later.
3:53 PM Changeset in webkit [142536] by oliver@apple.com
  • 3 edits in trunk/Source/WTF

Harden FastMalloc (again)
https://bugs.webkit.org/show_bug.cgi?id=109334

Reviewed by Mark Hahnenberg.

Re-implement hardening of linked lists in TCMalloc.

In order to keep heap introspection working, we need to thread the
heap entropy manually as the introspection process can't use the
address of a global in determining the mask. Given we now have to
thread a value through anyway, I've stopped relying on ASLR for entropy
and am simply using arc4random() on darwin, and time + ASLR everywhere
else.

I've also made an explicit struct type for the FastMalloc singly linked
lists, as it seemed like the only way to reliably distinguish between
void*'s that were lists vs. void* that were not. This also made it
somewhat easier to reason about things across processes.

Verified that all the introspection tools work as expected.

  • wtf/FastMalloc.cpp:

(WTF::internalEntropyValue):
(WTF):
(HardenedSLL):
(WTF::HardenedSLL::create):
(WTF::HardenedSLL::null):
(WTF::HardenedSLL::setValue):
(WTF::HardenedSLL::value):
(WTF::HardenedSLL::operator!):
(WTF::HardenedSLL::operator UnspecifiedBoolType):
(TCEntry):
(WTF::SLL_Next):
(WTF::SLL_SetNext):
(WTF::SLL_Push):
(WTF::SLL_Pop):
(WTF::SLL_PopRange):
(WTF::SLL_PushRange):
(WTF::SLL_Size):
(PageHeapAllocator):
(WTF::PageHeapAllocator::Init):
(WTF::PageHeapAllocator::New):
(WTF::PageHeapAllocator::Delete):
(WTF::PageHeapAllocator::recordAdministrativeRegions):
(WTF::Span::next):
(WTF::Span::remoteNext):
(WTF::Span::prev):
(WTF::Span::setNext):
(WTF::Span::setPrev):
(Span):
(WTF::DLL_Init):
(WTF::DLL_Remove):
(WTF::DLL_IsEmpty):
(WTF::DLL_Length):
(WTF::DLL_Prepend):
(TCMalloc_Central_FreeList):
(WTF::TCMalloc_Central_FreeList::enumerateFreeObjects):
(WTF::TCMalloc_Central_FreeList::entropy):
(TCMalloc_PageHeap):
(WTF::TCMalloc_PageHeap::init):
(WTF::TCMalloc_PageHeap::scavenge):
(WTF::TCMalloc_PageHeap::New):
(WTF::TCMalloc_PageHeap::AllocLarge):
(WTF::TCMalloc_PageHeap::Carve):
(WTF::TCMalloc_PageHeap::Delete):
(WTF::TCMalloc_PageHeap::ReturnedBytes):
(WTF::TCMalloc_PageHeap::Check):
(WTF::TCMalloc_PageHeap::CheckList):
(WTF::TCMalloc_PageHeap::ReleaseFreeList):
(TCMalloc_ThreadCache_FreeList):
(WTF::TCMalloc_ThreadCache_FreeList::Init):
(WTF::TCMalloc_ThreadCache_FreeList::empty):
(WTF::TCMalloc_ThreadCache_FreeList::Push):
(WTF::TCMalloc_ThreadCache_FreeList::PushRange):
(WTF::TCMalloc_ThreadCache_FreeList::PopRange):
(WTF::TCMalloc_ThreadCache_FreeList::Pop):
(WTF::TCMalloc_ThreadCache_FreeList::enumerateFreeObjects):
(TCMalloc_ThreadCache):
(WTF::TCMalloc_Central_FreeList::Init):
(WTF::TCMalloc_Central_FreeList::ReleaseListToSpans):
(WTF::TCMalloc_Central_FreeList::ReleaseToSpans):
(WTF::TCMalloc_Central_FreeList::InsertRange):
(WTF::TCMalloc_Central_FreeList::RemoveRange):
(WTF::TCMalloc_Central_FreeList::FetchFromSpansSafe):
(WTF::TCMalloc_Central_FreeList::FetchFromSpans):
(WTF::TCMalloc_Central_FreeList::Populate):
(WTF::TCMalloc_ThreadCache::Init):
(WTF::TCMalloc_ThreadCache::Deallocate):
(WTF::TCMalloc_ThreadCache::FetchFromCentralCache):
(WTF::TCMalloc_ThreadCache::ReleaseToCentralCache):
(WTF::TCMalloc_ThreadCache::InitModule):
(WTF::TCMalloc_ThreadCache::NewHeap):
(WTF::TCMalloc_ThreadCache::CreateCacheIfNecessary):

  • wtf/MallocZoneSupport.h:

(RemoteMemoryReader):

3:52 PM Changeset in webkit [142535] by eric@webkit.org
  • 10 edits
    1 delete in trunk/Source/WebCore

Fold MarkupTokenizerBase into HTMLTokenizer now that it is the only subclass
https://bugs.webkit.org/show_bug.cgi?id=109499

Reviewed by Adam Barth.

For great justice. And sanity.
Epic amount of template code deleted.

  • GNUmakefile.list.am:
  • Target.pri:
  • WebCore.gypi:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • html/parser/HTMLTokenizer.cpp:

(WebCore::HTMLTokenizer::HTMLTokenizer):

  • html/parser/HTMLTokenizer.h:

(HTMLTokenizer):
(Checkpoint):
(WebCore::HTMLTokenizer::state):
(WebCore::HTMLTokenizer::setState):
(WebCore::HTMLTokenizer::shouldSkipNullCharacters):
(WebCore::HTMLTokenizer::bufferCharacter):
(WebCore::HTMLTokenizer::emitAndResumeIn):
(WebCore::HTMLTokenizer::emitAndReconsumeIn):
(WebCore::HTMLTokenizer::emitEndOfFile):
(WebCore::HTMLTokenizer::haveBufferedCharacterToken):

  • xml/parser/MarkupTokenizerBase.h: Removed.
3:48 PM Changeset in webkit [142534] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[Text Autosizing] Collect narrow descendants and process them separately. Refactoring for
a change to follow.
https://bugs.webkit.org/show_bug.cgi?id=109054

Preparational change to combine narrow descendants of the same autosizing cluster into
groups by the width difference between the descendant and the block containing all text of
the parent autosizing cluster. The groups will be autosized with the same multiplier.

For example, on sites with a sidebar, sometimes the paragraphs next to the sidebar will have
a large margin individually applied (via a CSS selector), causing them all to individually
appear narrower than their enclosing blockContainingAllText. Rather than making each of
these paragraphs into a separate cluster, we eventually want to be able to merge them back
together into one (or a few) descendant clusters.

Patch by Anton Vayvod <avayvod@chromium.org> on 2013-02-11
Reviewed by Julien Chaffraix.

No behavioral changes thus no new tests or test changes.

  • rendering/TextAutosizer.cpp:

(TextAutosizingClusterInfo): Vector of narrow descendants.
(WebCore::TextAutosizer::processCluster): Process narrow descendants separately.
(WebCore::TextAutosizer::processContainer):

Remember narrow descendants of the parent cluster for later processing.

3:47 PM Changeset in webkit [142533] by enrica@apple.com
  • 15 edits in trunk/Source

Source/WebCore: Add ENABLE_DELETION_UI to control the use of the deletion UI.
https://bugs.webkit.org/show_bug.cgi?id=109463.

Reviewed by Ryosuke Niwa.

This patch adds #if ENABLE(DELETION_UI) in every spot where
DeleteButtonController is used. This class is now only instantiated
if the feature is enabled. I've also done some cleanup in the
DeleteButtonController class, removing unused methods and making
private some methods only used internally to the class.
Both DeleteButtonController and DeleteButton classes are now excluded
from the compilation if the feature is not enabled.

No new tests, no change of functionality.

  • dom/ContainerNode.cpp:

(WebCore::ContainerNode::cloneChildNodes):

  • editing/CompositeEditCommand.cpp:

(WebCore::EditCommandComposition::unapply):
(WebCore::EditCommandComposition::reapply):
(WebCore::CompositeEditCommand::apply):

  • editing/DeleteButton.cpp:
  • editing/DeleteButtonController.cpp:
  • editing/DeleteButtonController.h: Some cleanup.

(WebCore::DeleteButtonController::enabled): Made private.

  • editing/EditCommand.cpp:

(WebCore::EditCommand::EditCommand):

  • editing/Editor.cpp:

(WebCore::Editor::notifyComponentsOnChangedSelection):
(WebCore::Editor::Editor):
(WebCore::Editor::rangeForPoint):
(WebCore::Editor::deviceScaleFactorChanged):

  • editing/Editor.h:
  • editing/htmlediting.cpp: avoidIntersectionWithNode is

used only if the feature is enabled.

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

(WebCore::createMarkup):
(WebCore::createFragmentFromNodes):

  • rendering/RenderTable.cpp: Removed unnecessary include

fo DeleteButtonController.h

Source/WTF: Add ENABLE_DELETION_UI to control the use of the deletion UI.
https://bugs.webkit.org/show_bug.cgi?id=109463.

ENABLE_DELETION_UI is set to 1 by default for
all ports. It is explicitly enabled for MAC and disabled for iOS.

Reviewed by Ryosuke Niwa.

  • wtf/Platform.h:
3:42 PM Changeset in webkit [142532] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebKit2

Unreviewed WK2 buildfix after r142518.

  • DerivedSources.pri:
3:34 PM Changeset in webkit [142531] by rafaelw@chromium.org
  • 5 edits in trunk

[HTMLTemplateElement] <template> inside of <head> may not create <body> if EOF is hit
https://bugs.webkit.org/show_bug.cgi?id=109338

Reviewed by Adam Barth.

Source/WebCore:

This patch adds the logic to clear the stack of open elements back to the first <template> when EOF
is hit. This allows a <body> to be generated if the initial <template> was opened inside of <head>.

Tests added to html5lib.

  • html/parser/HTMLTreeBuilder.cpp:

(WebCore):
(WebCore::HTMLTreeBuilder::popAllTemplates):
(WebCore::HTMLTreeBuilder::processEndTag):
(WebCore::HTMLTreeBuilder::processEndOfFile):

  • html/parser/HTMLTreeBuilder.h:

(HTMLTreeBuilder):

LayoutTests:

  • html5lib/resources/template.dat:
3:34 PM Changeset in webkit [142530] by fpizlo@apple.com
  • 8 edits in trunk/Source/JavaScriptCore

NonStringCell and Object are practically the same thing for the purpose of speculation
https://bugs.webkit.org/show_bug.cgi?id=109492

Reviewed by Mark Hahnenberg.

Removed isNonStringCellSpeculation, and made all callers use isObjectSpeculation.

Changed isNonStringCellOrOtherSpeculation to be isObjectOrOtherSpeculation.

I believe this is correct because even weird object types like JSNotAnObject end up
being "objects" from the standpoint of our typesystem. Anyway, the assumption that
"is cell but not a string" equates to "object" is an assumption that is already made
in other places in the system so there's little value in being paranoid about it.

  • bytecode/SpeculatedType.h:

(JSC::isObjectSpeculation):
(JSC::isObjectOrOtherSpeculation):

  • dfg/DFGAbstractState.cpp:

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

  • dfg/DFGNode.h:

(Node):
(JSC::DFG::Node::shouldSpeculateObjectOrOther):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compilePeepHoleBranch):
(JSC::DFG::SpeculativeJIT::compare):
(JSC::DFG::SpeculativeJIT::compileStrictEq):

  • dfg/DFGSpeculativeJIT.h:

(SpeculativeJIT):

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::compileObjectOrOtherLogicalNot):
(JSC::DFG::SpeculativeJIT::compileLogicalNot):
(JSC::DFG::SpeculativeJIT::emitObjectOrOtherBranch):
(JSC::DFG::SpeculativeJIT::emitBranch):
(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::compileObjectOrOtherLogicalNot):
(JSC::DFG::SpeculativeJIT::compileLogicalNot):
(JSC::DFG::SpeculativeJIT::emitObjectOrOtherBranch):
(JSC::DFG::SpeculativeJIT::emitBranch):
(JSC::DFG::SpeculativeJIT::compile):

3:28 PM Changeset in webkit [142529] by akling@apple.com
  • 2 edits in trunk/Source/WebCore

RenderText::isAllCollapsibleWhitespace() shouldn't upconvert string to 16-bit.
<http://webkit.org/b/109354>

Reviewed by Eric Seidel.

254 KB progression on Membuster3.

  • rendering/RenderText.cpp:

(WebCore::RenderText::isAllCollapsibleWhitespace):

3:21 PM Changeset in webkit [142528] by hclam@chromium.org
  • 4 edits in trunk/Source/WebCore

Fix code style violations in GIFImageReader.{cc|h}
https://bugs.webkit.org/show_bug.cgi?id=109007

Reviewed by Stephen White.

This is just a style clean up for GIFImageReader.{cc|h}.

There's going to be a lot changes in these two files and style check
will add a lot of noise in later reviews. Fix style problems first.

There is no change in logic at all. Just style fixes.

No new tests.

  • platform/image-decoders/gif/GIFImageDecoder.cpp:

(WebCore::GIFImageDecoder::frameCount):
(WebCore::GIFImageDecoder::repetitionCount):
(WebCore::GIFImageDecoder::haveDecodedRow):
(WebCore::GIFImageDecoder::initFrameBuffer):

  • platform/image-decoders/gif/GIFImageReader.cpp:

(GIFImageReader::outputRow):
(GIFImageReader::doLZW):
(GIFImageReader::read):

  • platform/image-decoders/gif/GIFImageReader.h:

(GIFFrameContext):
(GIFFrameContext::GIFFrameContext):
(GIFFrameContext::~GIFFrameContext):
(GIFImageReader::GIFImageReader):
(GIFImageReader::~GIFImageReader):
(GIFImageReader):
(GIFImageReader::imagesCount):
(GIFImageReader::loopCount):
(GIFImageReader::globalColormap):
(GIFImageReader::globalColormapSize):
(GIFImageReader::frameContext):

3:17 PM Changeset in webkit [142527] by commit-queue@webkit.org
  • 15 edits
    2 adds in trunk

[CSS Exclusions] Handle shape-outside changing a float's overhang behavior
https://bugs.webkit.org/show_bug.cgi?id=106927

Patch by Bem Jones-Bey <Bem Jones-Bey> on 2013-02-11
Reviewed by Julien Chaffraix.

Source/WebCore:

When the position on a shape outside causes a float to spill out into
another block than it's container, it was not being drawn correctly. It
became apparent that in order to fix this properly, the approach to
positioning shape outsides and floats needed to be changed. The new
approach also fixes some other outstanding issues, like hit detection.

When a float has a shape outside, inline and float layout happens
using the exclusion shape bounds instead of the float's box. The
effect of this is that the float itself no longer has any effect on
layout, both with respect to positioning of the float's siblings as
well as positioning the float's box. This means that when the float is
positioned, it is the shape's box that must obey the positioning rules
for floats. When the shape is given a position relative to the float's
box, the rules for float positioning determine where the shape sits
in the parent, causing the float's box to be offset by the position of
the shape. Since the float's box does not affect layout (due to the
shape), this is similar to relative positioning in that the offset is
a paint time occurrence.

So the new approach is to implement positioning of shape outside on
floats similar to how relative positioning is implemented, using a
RenderLayer.

This is also tested by the existing tests for shape outside on floats positioning.

Test: fast/exclusions/shape-outside-floats/shape-outside-floats-overhang.html

  • rendering/ExclusionShapeOutsideInfo.h:

(WebCore::ExclusionShapeOutsideInfo::shapeLogicalOffset): Utility method to create a LayoutSize for computing the layer offset.
(ExclusionShapeOutsideInfo):

  • rendering/LayoutState.cpp:

(WebCore::LayoutState::LayoutState): Check for floats with shape outside as well as in flow positioning.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::flipFloatForWritingModeForChild): Remove old positioning implementation.
(WebCore::RenderBlock::paintFloats): Remove old positioning implementation.
(WebCore::RenderBlock::blockSelectionGaps): Check for floats with shape outside as well as in flow positioning.
(WebCore::RenderBlock::positionNewFloats): Remove old positioning implementation.
(WebCore::RenderBlock::addOverhangingFloats): Remove FIXME.
(WebCore::positionForPointRespectingEditingBoundaries): Check for floats with shape outside as well as in flow positioning.

  • rendering/RenderBlock.h:

(RenderBlock): Remove old positioning implementation.
(WebCore::RenderBlock::xPositionForFloatIncludingMargin): Remove old positioning implementation.
(WebCore::RenderBlock::yPositionForFloatIncludingMargin): Remove old positioning implementation.

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::mapLocalToContainer): Check for floats with shape outside as well as in flow positioning.
(WebCore::RenderBox::offsetFromContainer): Check for floats with shape outside as well as in flow positioning.
(WebCore::RenderBox::computeRectForRepaint): Check for floats with shape outside as well as in flow positioning.
(WebCore::RenderBox::layoutOverflowRectForPropagation): Check for floats with shape outside as well as in flow positioning.

  • rendering/RenderBox.h: Make floats with shape outside get a layer.
  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::paintOffset): Method to return in flow

positioning offset + offset from shape outside on floats.

  • rendering/RenderBoxModelObject.h:

(RenderBoxModelObject): Add paintOffset method.

  • rendering/RenderInline.cpp:

(WebCore::RenderInline::clippedOverflowRectForRepaint): Check for floats with shape outside as well as in flow positioning.
(WebCore::RenderInline::computeRectForRepaint): Check for floats with shape outside as well as in flow positioning.
(WebCore::RenderInline::mapLocalToContainer): Check for floats with shape outside as well as in flow positioning.

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::updateLayerPosition): Check for floats with shape outside as well as in flow positioning.
(WebCore::RenderLayer::calculateClipRects): Check for floats with shape outside as well as in flow positioning.

  • rendering/RenderLayer.h:

(WebCore::RenderLayer::paintOffset): Rename offsetForInFlowPosition to reflect that it's not just for

in flow positioning, it also reflects shape outside position on floats.

(RenderLayer):

  • rendering/RenderObject.h:

(WebCore::RenderObject::hasPaintOffset): Determines if this object is in flow positioined or is a float with shape outside.

  • rendering/style/RenderStyle.h: Add hasPaintOffset method, analagous to method with same name on RenderObject.

LayoutTests:

This is also tested by the existing tests for shape outside on floats positioning.

  • fast/exclusions/shape-outside-floats/shape-outside-floats-overhang-expected.html: Added.
  • fast/exclusions/shape-outside-floats/shape-outside-floats-overhang.html: Added.
3:13 PM Changeset in webkit [142526] by timothy_horton@apple.com
  • 7 edits
    2 adds in trunk

FrameView::setScrollPosition should clamp scroll position before handing it to
ScrollingCoordinator instead of depending on ScrollView to do this
https://bugs.webkit.org/show_bug.cgi?id=109497
<rdar://problem/12631789>

Reviewed by Simon Fraser.

Clamp scroll position before handing it to ScrollingCoordinator. Also, like ScrollView does,
bail out if we've already scrolled to the clamped scroll position.

Test: platform/mac-wk2/tiled-drawing/clamp-out-of-bounds-scrolls.html

  • page/FrameView.cpp:

(WebCore::FrameView::setScrollPosition):

Adjust some test results which previously expected out-of-bounds scrolling to happen.

Add a test that ensures that out-of-bounds scrolling doesn't happen.

  • platform/mac-wk2/tiled-drawing/clamp-out-of-bounds-scrolls-expected.txt: Added.
  • platform/mac-wk2/tiled-drawing/clamp-out-of-bounds-scrolls.html: Added.
  • platform/mac-wk2/tiled-drawing/fixed/negative-scroll-offset-expected.txt:
  • platform/mac-wk2/tiled-drawing/fixed/negative-scroll-offset-in-view-expected.txt:
  • platform/mac-wk2/tiled-drawing/sticky/negative-scroll-offset-expected.txt:
  • platform/mac-wk2/tiled-drawing/tile-coverage-scroll-to-bottom-expected.txt:
3:11 PM Changeset in webkit [142525] by abarth@webkit.org
  • 3 edits
    2 adds in trunk

The threaded HTML parser should pass all the fast/parser tests
https://bugs.webkit.org/show_bug.cgi?id=109486

Reviewed by Tony Gentilcore.

Source/WebCore:

This patch fixes the last two test failures in fast/parser, which were
crashes caused by not having a tokenizer when document.close() was
called. (The tokenizer is created lazily by calls to document.write,
which might not happen before document.close).

fast/parser/document-close-iframe-load.html
fast/parser/document-close-nested-iframe-load.html

In addition, I've added a new test to make sure we flush the tokenizer
properly in these cases.

Test: fast/parser/document-close-iframe-load-partial-entity.html

  • html/parser/HTMLDocumentParser.cpp:

(WebCore::HTMLDocumentParser::prepareToStopParsing):
(WebCore::HTMLDocumentParser::pumpTokenizer):

LayoutTests:

  • fast/parser/document-close-iframe-load-partial-entity-expected.txt: Added.
  • fast/parser/document-close-iframe-load-partial-entity.html: Added.
3:07 PM Changeset in webkit [142524] by Bruno de Oliveira Abinader
  • 3 edits in trunk/Source/WebCore

[texmap] Implement frames-per-second debug counter
https://bugs.webkit.org/show_bug.cgi?id=107942

Reviewed by Noam Rosenthal.

Adds FPS counter via WEBKIT_SHOW_FPS=<interval> environment variable,
where <interval> is the period in seconds (i.e. =1.5) between FPS
updates on screen. It is measured by counting
CoordinatedGraphicsScene::paintTo* calls and is painted using
drawRepaintCounter() after TextureMapperLayer has finished painting its
contents.

Visual debugging feature, no need for new tests.

  • platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp:

(WebCore::CoordinatedGraphicsScene::CoordinatedGraphicsScene):
(WebCore::CoordinatedGraphicsScene::paintToCurrentGLContext):
(WebCore::CoordinatedGraphicsScene::paintToGraphicsContext):
(WebCore::CoordinatedGraphicsScene::updateFPS):

  • platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.h:
3:00 PM Changeset in webkit [142523] by jchaffraix@webkit.org
  • 6 edits in trunk/LayoutTests

Unreviewed Chromium rebaselining after r142500.

  • platform/chromium-linux/fast/repaint/selection-after-remove-expected.png:
  • platform/chromium-mac-lion/fast/repaint/selection-after-remove-expected.png:
  • platform/chromium-mac-snowleopard/fast/repaint/selection-after-remove-expected.png:
  • platform/chromium-mac/fast/repaint/selection-after-remove-expected.png:
  • platform/chromium-win/fast/repaint/selection-after-remove-expected.png:

Slight painting regression that brings us back to pre-r132591 baselines.

3:00 PM Changeset in webkit [142522] by eric@webkit.org
  • 11 edits
    1 delete in trunk/Source/WebCore

Fold MarkupTokenBase into HTMLToken now that it has no other subclasses
https://bugs.webkit.org/show_bug.cgi?id=109483

Reviewed by Adam Barth.

This deletes an epic amount of template yuck, as well as removes
a vtable !?! from HTMLToken.

This paves the way for further cleanup of HTMLToken now that we
can see the whole object at once.
We'll also probably re-create an HTMLToken.cpp again, now that we're
free from the chains of template nonsense.

  • GNUmakefile.list.am:
  • Target.pri:
  • WebCore.gypi:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • html/parser/HTMLToken.h:

(WebCore::findAttributeInVector):
(WebCore):
(HTMLToken):
(Attribute):
(Range):
(WebCore::HTMLToken::HTMLToken):
(WebCore::HTMLToken::clear):
(WebCore::HTMLToken::isUninitialized):
(WebCore::HTMLToken::type):
(WebCore::HTMLToken::makeEndOfFile):
(WebCore::HTMLToken::startIndex):
(WebCore::HTMLToken::endIndex):
(WebCore::HTMLToken::setBaseOffset):
(WebCore::HTMLToken::end):
(WebCore::HTMLToken::data):
(WebCore::HTMLToken::isAll8BitData):
(WebCore::HTMLToken::name):
(WebCore::HTMLToken::appendToName):
(WebCore::HTMLToken::nameString):
(WebCore::HTMLToken::selfClosing):
(WebCore::HTMLToken::setSelfClosing):
(WebCore::HTMLToken::beginStartTag):
(WebCore::HTMLToken::beginEndTag):
(WebCore::HTMLToken::addNewAttribute):
(WebCore::HTMLToken::beginAttributeName):
(WebCore::HTMLToken::endAttributeName):
(WebCore::HTMLToken::beginAttributeValue):
(WebCore::HTMLToken::endAttributeValue):
(WebCore::HTMLToken::appendToAttributeName):
(WebCore::HTMLToken::appendToAttributeValue):
(WebCore::HTMLToken::attributes):
(WebCore::HTMLToken::eraseValueOfAttribute):
(WebCore::HTMLToken::ensureIsCharacterToken):
(WebCore::HTMLToken::characters):
(WebCore::HTMLToken::appendToCharacter):
(WebCore::HTMLToken::comment):
(WebCore::HTMLToken::beginComment):
(WebCore::HTMLToken::appendToComment):
(WebCore::HTMLToken::eraseCharacters):

  • html/parser/HTMLTokenTypes.h:
  • html/parser/XSSAuditor.h:
  • xml/parser/MarkupTokenBase.h: Removed.
2:58 PM Changeset in webkit [142521] by barraclough@apple.com
  • 7 edits in trunk/Source

PluginProcess should quit immediately if idle in response to low-memory notifications
https://bugs.webkit.org/show_bug.cgi?id=109103
<rdar://problem/12679827>

Reviewed by Brady Eidson.

Source/WebCore:

This patch allows a process to set a custom callback for low memory warnings
(defaulting to the current behaviour, as implemented in releaseMemory).

  • platform/MemoryPressureHandler.cpp:

(WebCore::MemoryPressureHandler::MemoryPressureHandler):

  • Initialize m_lowMemoryHandler to releaseMemory.

(WebCore::MemoryPressureHandler::install):
(WebCore::MemoryPressureHandler::uninstall):
(WebCore::MemoryPressureHandler::holdOff):

  • Cleaned up spacing.

(WebCore::MemoryPressureHandler::releaseMemory):

  • Added null implementation for non-Mac builds.
  • platform/MemoryPressureHandler.h:

(WebCore::MemoryPressureHandler::setLowMemoryHandler):

  • Added method to set m_lowMemoryHandler.
  • platform/mac/MemoryPressureHandlerMac.mm:

(WebCore::MemoryPressureHandler::respondToMemoryPressure):

  • Changed to call releaseMemory via m_lowMemoryHandler.

Source/WebKit2:

PluginProcess now installs a MemoryPressureHandler for the process, providing
a custom callback which will call terminate if appropriate (if the plugin is not
currently in use).

  • PluginProcess/PluginProcess.cpp:

(WebKit::PluginProcess::lowMemoryHandler):

  • Custom callback to terminate if appropriate.

(WebKit::PluginProcess::initializeProcess):

  • Install the MemoryPressureHandler.

(WebKit::PluginProcess::shouldTerminate):

  • This method now also needs to be callable in situations where it might return false.
  • PluginProcess/PluginProcess.h:

(PluginProcess):

  • Added declaration for lowMemoryHandler.
2:57 PM Changeset in webkit [142520] by Simon Fraser
  • 13 edits in trunk/Source/WebCore

REGRESSION (r133807): Sticky-position review bar on bugzilla review page is jumpy
https://bugs.webkit.org/show_bug.cgi?id=104276
<rdar://problem/12827187>

Reviewed by Tim Horton.

When committing new scrolling tree state, if the root node has a scroll
position update, we would handle that before updating the state of child
nodes (with possibly new viewport constraints). That would cause incorrect
child layer updates.

Fix by adding a second 'update' phase that happens after child nodes,
and moving the scroll position update into that.

Scrolling tests only dump the state tree, so cannot test the bug.

  • page/FrameView.cpp:

(WebCore::FrameView::setScrollPosition): If the scroll position didn't
actually change, don't request a scroll position update from the ScrollingCoordinator.

  • page/scrolling/ScrollingTree.cpp:

(WebCore::ScrollingTree::updateTreeFromStateNode): Keep track of the scrolling node so
that we can call updateAfterChildren() on it.

  • page/scrolling/ScrollingTreeNode.h:

(ScrollingTreeNode):
(WebCore::ScrollingTreeNode::updateAfterChildren):

  • page/scrolling/ScrollingTreeScrollingNode.cpp:

(WebCore::ScrollingTreeScrollingNode::updateBeforeChildren):

  • page/scrolling/ScrollingTreeScrollingNode.h:

(ScrollingTreeScrollingNode):

  • page/scrolling/mac/ScrollingCoordinatorMac.mm:

(WebCore::ScrollingCoordinatorMac::updateViewportConstrainedNode):
In the current bug the scrolling tree was scheduled for commit because of a
scroll position request, but if only the viewport constraints change, we also need
to commit the tree.

  • page/scrolling/mac/ScrollingTreeFixedNode.h:

(ScrollingTreeFixedNode):

  • page/scrolling/mac/ScrollingTreeFixedNode.mm:

(WebCore::ScrollingTreeFixedNode::updateBeforeChildren):

  • page/scrolling/mac/ScrollingTreeScrollingNodeMac.h:

(ScrollingTreeScrollingNodeMac):

  • page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:

(WebCore::ScrollingTreeScrollingNodeMac::updateBeforeChildren):
(WebCore::ScrollingTreeScrollingNodeMac::updateAfterChildren): Move code here
that updates things that have to happen after children.

  • page/scrolling/mac/ScrollingTreeStickyNode.h:

(ScrollingTreeStickyNode):

  • page/scrolling/mac/ScrollingTreeStickyNode.mm:

(WebCore::ScrollingTreeStickyNode::updateBeforeChildren):

2:47 PM Changeset in webkit [142519] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebKit/win

Build fix for Windows after r142509

  • WebKit.vcproj/WebKitExports.def.in:
2:40 PM Changeset in webkit [142518] by andersca@apple.com
  • 9 edits
    1 add in trunk/Source/WebKit2

Move the PluginProcessCrashed message to PluginProcessConnectionManager
https://bugs.webkit.org/show_bug.cgi?id=109493

Reviewed by Andreas Kling.

This is in preparation for making PluginProcessConnectionManager a connection queue client.

  • DerivedSources.make:
  • UIProcess/Plugins/PluginProcessProxy.cpp:

(WebKit::PluginProcessProxy::didClose):

  • WebKit2.xcodeproj/project.pbxproj:
  • WebProcess/Plugins/PluginProcessConnectionManager.cpp:

(WebKit::PluginProcessConnectionManager::pluginProcessCrashed):

  • WebProcess/Plugins/PluginProcessConnectionManager.h:

(PluginProcessConnectionManager):

  • WebProcess/Plugins/PluginProcessConnectionManager.messages.in: Added.
  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::didReceiveMessageOnConnectionWorkQueue):
(WebKit::WebProcess::webResourceLoadScheduler):

  • WebProcess/WebProcess.h:

(WebProcess):

  • WebProcess/WebProcess.messages.in:
2:33 PM Changeset in webkit [142517] by roger_fong@apple.com
  • 2 edits in trunk/Source/WebCore

Unreviewed. Build fix for Win7 Release.
Because of InspectorAllInOne.cpp static globals must be named differently in files included by InspectorAllInOne.
This was the case for UserInitiatedProfileName. Also removed the repeated HeapProfileType definition in
InspectorHeapProfilerAgent.cpp since it wasn't being used anyways.

  • inspector/InspectorHeapProfilerAgent.cpp:

(WebCore):
(WebCore::InspectorHeapProfilerAgent::takeHeapSnapshot):

2:24 PM Changeset in webkit [142516] by fmalita@chromium.org
  • 2 edits in trunk/Source/WebKit/chromium

Unreviewed. Rolled Chromium DEPS to r181770.

  • DEPS:
2:23 PM Changeset in webkit [142515] by fpizlo@apple.com
  • 9 edits in trunk/Source/JavaScriptCore

DFG CompareEq(a, null) and CompareStrictEq(a, const) are unsound with respect to constant folding
https://bugs.webkit.org/show_bug.cgi?id=109387

Reviewed by Oliver Hunt and Mark Hahnenberg.

Lock in the decision to use a non-speculative constant comparison as early as possible
and don't let the CFA change it by folding constants. This might be a performance
penalty on some really weird code (FWIW, I haven't seen this on benchmarks), but on
the other hand it completely side-steps the unsoundness that the bug speaks of.

Rolling back in after adding 32-bit path.

  • dfg/DFGAbstractState.cpp:

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

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::isConstantForCompareStrictEq):
(ByteCodeParser):
(JSC::DFG::ByteCodeParser::parseBlock):

  • dfg/DFGCSEPhase.cpp:

(JSC::DFG::CSEPhase::performNodeCSE):

  • dfg/DFGNodeType.h:

(DFG):

  • dfg/DFGPredictionPropagationPhase.cpp:

(JSC::DFG::PredictionPropagationPhase::propagate):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileStrictEq):

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

2:22 PM Changeset in webkit [142514] by tonyg@chromium.org
  • 2 edits in trunk/Source/WebCore

SegmentedString's copy ctor should copy all fields
https://bugs.webkit.org/show_bug.cgi?id=109477

Reviewed by Adam Barth.

This fixes http/tests/inspector-enabled/document-write.html (and likely others) for the threaded HTML parser.

No new tests because covered by existing tests.

  • platform/text/SegmentedString.cpp:

(WebCore::SegmentedString::SegmentedString):

2:13 PM Changeset in webkit [142513] by jsbell@chromium.org
  • 8 edits
    3 adds in trunk

IndexedDB: database connections don't close after versionchange transaction aborts
https://bugs.webkit.org/show_bug.cgi?id=102298

Reviewed by Tony Chang.

Source/WebCore:

Per spec, close the database if the "versionchange" transaction aborts.

Tests: storage/indexeddb/aborted-versionchange-closes.html

storage/indexeddb/lazy-index-population.html
storage/objectstore-basics.html

  • Modules/indexeddb/IDBTransaction.cpp:

(WebCore::IDBTransaction::onAbort): Tell the IDBDatabase (connection) to close if
this was a "versionchange" transaction.

LayoutTests:

Added dedicated test, updated tests dependent on buggy behavior.

  • storage/indexeddb/aborted-versionchange-closes-expected.txt: Added.
  • storage/indexeddb/aborted-versionchange-closes.html: Added.
  • storage/indexeddb/lazy-index-population-expected.txt:
  • storage/indexeddb/lazy-index-population.html: Remove manual closing.
  • storage/indexeddb/objectstore-basics-expected.txt:
  • storage/indexeddb/objectstore-basics-workers-expected.txt:
  • storage/indexeddb/resources/aborted-versionchange-closes.js: Added.
  • storage/indexeddb/resources/objectstore-basics.js: Removed dependency on bug.
1:59 PM Changeset in webkit [142512] by Christophe Dumez
  • 7 edits in trunk

[EFL] fast/forms/number/number-l10n-input.html is failing
https://bugs.webkit.org/show_bug.cgi?id=109440

Reviewed by Laszlo Gombos.

Source/WebCore:

Use LocaleICU instead of LocaleNone on EFL port. The EFL
port already depends on ICU library and we get additional
functionality this way.

No new tests, already covered by existing tests.

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

LayoutTests:

Unskip fast/forms/number/number-l10n-input.html on EFL port
now that it passes.

  • platform/efl/TestExpectations:
1:48 PM Changeset in webkit [142511] by bfulgham@webkit.org
  • 2 edits in trunk/Source/WebKit

Rename Visual Studio solution folders to avoid conflicts with project names
https://bugs.webkit.org/show_bug.cgi?id=109484

Reviewed by Tim Horton.

  • WebKit.vcxproj/WebKit.sln: Rename several solution folders (e.g.,

WTF, WebCore, WebKit, JavaScriptCore) so that they do not conflict
with projects using the same name.

1:48 PM Changeset in webkit [142510] by abarth@webkit.org
  • 2 edits in trunk/LayoutTests

Remove failure expectation now that this test is passing.

  • platform/chromium/TestExpectations:
1:41 PM Changeset in webkit [142509] by benjamin@webkit.org
  • 51 edits in trunk

Kill TestRunner::setMinimumTimerInterval; implement the feature with InternalSettings
https://bugs.webkit.org/show_bug.cgi?id=109349

Reviewed by Sam Weinig.

.:

  • Source/autotools/symbols.filter:

Source/WebCore:

Expose setMinimumTimerInterval() and implement the backup/restore to keep
a consistent state between tests.

  • testing/InternalSettings.cpp:

(WebCore::InternalSettings::Backup::Backup):
(WebCore::InternalSettings::Backup::restoreTo):
(WebCore::InternalSettings::setMinimumTimerInterval):
(WebCore):

  • testing/InternalSettings.h:

(Backup):
(InternalSettings):

  • testing/InternalSettings.idl:

Source/WebKit/gtk:

  • WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
  • WebCoreSupport/DumpRenderTreeSupportGtk.h:

(DumpRenderTreeSupportGtk):

Source/WebKit/mac:

  • WebView/WebView.mm:
  • WebView/WebViewPrivate.h:

Source/WebKit/qt:

  • WebCoreSupport/DumpRenderTreeSupportQt.cpp:
  • WebCoreSupport/DumpRenderTreeSupportQt.h:

Source/WebKit2:

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

(InjectedBundle):

Tools:

Get rid of TestRunner's setMinimumTimerInterval and all the related functions.

This also fixes an oddity:
TestRunners were initialized with a minimum timer interval of 10 milliseconds instead
of using the default value. All with the same copy of an outdated comment.

  • DumpRenderTree/TestRunner.cpp:

(TestRunner::staticFunctions):

  • DumpRenderTree/TestRunner.h:

(TestRunner):

  • DumpRenderTree/blackberry/TestRunnerBlackBerry.cpp:
  • DumpRenderTree/chromium/TestRunner/public/WebPreferences.h:
  • DumpRenderTree/chromium/TestRunner/src/TestRunner.cpp:

(WebTestRunner::TestRunner::TestRunner):

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

(TestRunner):

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

(WebTestRunner::WebPreferences::reset):
(WebTestRunner::WebPreferences::applyTo):

  • DumpRenderTree/chromium/WebViewHost.cpp:

(WebViewHost::reset):

  • DumpRenderTree/efl/DumpRenderTreeChrome.cpp:

(DumpRenderTreeChrome::resetDefaultsToConsistentValues):

  • DumpRenderTree/efl/TestRunnerEfl.cpp:
  • DumpRenderTree/gtk/DumpRenderTree.cpp:

(resetDefaultsToConsistentValues):

  • DumpRenderTree/gtk/TestRunnerGtk.cpp:
  • DumpRenderTree/mac/DumpRenderTree.mm:

(resetWebViewToConsistentStateBeforeTesting):

  • DumpRenderTree/mac/TestRunnerMac.mm:
  • DumpRenderTree/qt/DumpRenderTreeQt.cpp:

(WebCore::WebPage::resetSettings):

  • DumpRenderTree/qt/TestRunnerQt.cpp:
  • DumpRenderTree/qt/TestRunnerQt.h:

(TestRunner):

  • DumpRenderTree/win/DumpRenderTree.cpp:

(resetWebViewToConsistentStateBeforeTesting):

  • DumpRenderTree/win/TestRunnerWin.cpp:
  • DumpRenderTree/wx/TestRunnerWx.cpp:
  • WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
  • WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:

(WTR::InjectedBundle::beginTesting):

  • WebKitTestRunner/InjectedBundle/TestRunner.cpp:
  • WebKitTestRunner/InjectedBundle/TestRunner.h:

(TestRunner):

LayoutTests:

Update the tests to use InternalSettings.

  • fast/dom/timer-increase-min-interval-and-reset-part-1.html:
  • fast/dom/timer-increase-min-interval-repeating.html:
  • fast/dom/timer-increase-min-interval.html:
  • fast/dom/timer-increase-then-decrease-min-interval-repeating.html:
  • fast/dom/timer-increase-then-decrease-min-interval.html:
1:39 PM Changeset in webkit [142508] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

DFG TypeOf implementation should have its backend code aligned to what the CFA does
https://bugs.webkit.org/show_bug.cgi?id=109385

Reviewed by Sam Weinig.

The problem was that if we ended up trying to constant fold, but didn't succeed
because of prediction mismatches, then we would also fail to do filtration.

Rearranged the control flow in the CFA to fix that.

As far as I know, this is asymptomatic - it's sort of OK for the CFA to prove less
things, which is what the bug was.

  • dfg/DFGAbstractState.cpp:

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

1:34 PM Changeset in webkit [142507] by dino@apple.com
  • 24 edits in trunk

Source/WebCore: Source/WebCore: Snapshotted plug-in should use shadow root
https://bugs.webkit.org/show_bug.cgi?id=108284

Reviewed by Simon Fraser.

Take three - relanding after rollout in r142400 that was caused by a global
selector interfering with CSS Instrumentation in the Inspector.

A snapshotted plugin needs to indicate to the user that it can be clicked
to be restarted. Previously this was done with an image that had embedded
text. Instead, we now use an internal shadow root to embed some markup that
will display instructions that can be localised.

The UA stylesheet for plug-ins provides a default styling for the label, which
can be overridden by ports.

In the process, RenderSnapshottedPlugIn no longer inherits from RenderEmbeddedObject,
since it is only responsible for drawing a paused plug-in. The snapshot creation
can work with the default renderer, but a shadow root requires something like
RenderBlock in order to draw its children. We swap from one renderer to another when
necessary either by creating the shadow root or by explicitly detaching and attaching
the plugin element.

Unfortunately this is difficult to test, because the snapshotting requires
time to execute, and also a PluginView to be instantiated.

  • css/plugIns.css:

(object::-webkit-snapshotted-plugin-content): New rules for a default label style.

  • platform/LocalizedStrings.cpp: Make sure all ports have plugin strings, now it is called.
  • platform/LocalizedStrings.h:
  • platform/blackberry/LocalizedStringsBlackBerry.cpp:
  • platform/chromium/LocalizedStringsChromium.cpp:
  • platform/efl/LocalizedStringsEfl.cpp:
  • platform/gtk/LocalizedStringsGtk.cpp:
  • platform/qt/LocalizedStringsQt.cpp:
  • html/HTMLPlugInElement.cpp:

(WebCore::HTMLPlugInElement::defaultEventHandler): Take into account the fact
that RenderSnapshottedPlugIn no longer is an embedded object.

  • html/HTMLPlugInImageElement.cpp:

(WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement): New default values in constructor.
(WebCore::HTMLPlugInElement::defaultEventHandler): Make sure to call base class.
(WebCore::HTMLPlugInElement::willRecalcStyle): No need to reattach if we're a snapshot.
(WebCore::HTMLPlugInImageElement::createRenderer): If we're showing a snapshot, create such

a renderer, otherwise use the typical plug-in path.

(WebCore::HTMLPlugInImageElement::updateSnapshot): Keep a record of the snapshot, since we'll

need to give it to the renderer.

(WebCore::HTMLPlugInImageElement::didAddUserAgentShadowRoot): Build a subtree that will display a label.

  • html/HTMLPlugInImageElement.h:

(HTMLPlugInImageElement): New member variable to record the snapshot image and whether the label

should show immediately.

(WebCore::HTMLPlugInImageElement::swapRendererTimerFired): The callback function triggered when we need

to swap to the Shadow Root.

(WebCore::HTMLPlugInImageElement::userDidClickSnapshot): The user has tapped on the snapshot so the plugin

in being recreated. Make sure we reattach so that a plugin renderer will be created.

(WebCore::HTMLPlugInImageElement::subframeLoaderWillCreatePlugIn): Make sure we set the right

displayState for snapshots.

  • html/HTMLPlugInImageElement.h:

(HTMLPlugInImageElement): The new methods listed above.
(WebCore::HTMLPlugInImageElement::setShouldShowSnapshotLabelAutomatically): Indicates whether or not

a snapshot should be immediately labeled.

  • page/ChromeClient.h: No need for plugInStartLabelImage any more.
  • rendering/RenderSnapshottedPlugIn.cpp:

(WebCore::RenderSnapshottedPlugIn::RenderSnapshottedPlugIn): New inheritance.
(WebCore::RenderSnapshottedPlugIn::paint): If we're in the background paint phase, render the snapshot image.
(WebCore::RenderSnapshottedPlugIn::paintSnapshotImage): Rename.
(WebCore::RenderSnapshottedPlugIn::paintSnapshot): Rename.
(WebCore::RenderSnapshottedPlugIn::paintSnapshotWithLabel): Rename. No need for label sizes.
(WebCore::RenderSnapshottedPlugIn::getCursor):
(WebCore::RenderSnapshottedPlugIn::handleEvent): The renderer doesn't restart the plug-in any more. Tell the element and it will do it.

  • rendering/RenderSnapshottedPlugIn.h:

(RenderSnapshottedPlugIn): New inheritance. Some method renaming.

Source/WebKit2: Snapshotted plug-in should use shadow root
https://bugs.webkit.org/show_bug.cgi?id=108284

Reviewed by Simon Fraser.

Take three of this commit - after rollout in r142400 and r142405.
We no longer have any need for plugInStartLabelImage.

  • WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp: Remove plugInStartLabelImage.
  • WebProcess/InjectedBundle/InjectedBundlePageUIClient.h: Ditto.
  • WebProcess/WebCoreSupport/WebChromeClient.cpp: Ditto.
  • WebProcess/WebCoreSupport/WebChromeClient.h: Ditto.

Tools: Remove use of plugInStartLabelImage
https://bugs.webkit.org/show_bug.cgi?id=108273

Reviewed by Simon Fraser.

Take two - after rollout in r142405.
Removed plugInStartLabelImage entry from client structure.

  • WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:

(WTR::InjectedBundlePage::InjectedBundlePage):

1:29 PM Changeset in webkit [142506] by mkwst@chromium.org
  • 4 edits
    2 adds in trunk

CSP reports for blocked 'data:' URLs should report the scheme only.
https://bugs.webkit.org/show_bug.cgi?id=109429

Reviewed by Adam Barth.

Source/WebCore:

https://dvcs.w3.org/hg/content-security-policy/rev/001dc8e8bcc3 changed
the CSP 1.1 spec to require that blocked URLs that don't refer to
generally resolvable schemes (e.g. 'data:', 'javascript:', etc.) be
stripped down to their scheme in violation reports.

Test: http/tests/security/contentSecurityPolicy/report-blocked-data-uri.html

  • page/ContentSecurityPolicy.cpp:

(WebCore::ContentSecurityPolicy::reportViolation):

If the blocked URL is a web-resolvable scheme, apply the current
stripping logic to it, otherwise, strip it to the scheme only.

  • platform/KURL.h:

(KURL):

Move KURL::isHierarchical() out into KURL's public API.

LayoutTests:

  • http/tests/security/contentSecurityPolicy/report-blocked-data-uri-expected.txt: Added.
  • http/tests/security/contentSecurityPolicy/report-blocked-data-uri.html: Added.
1:28 PM Changeset in webkit [142505] by Simon Fraser
  • 5 edits in trunk/Source/WebCore

ScrollingTree node maps keep getting larger
https://bugs.webkit.org/show_bug.cgi?id=109348

Reviewed by Sam Weinig.

When navigating between pages, nodes would get left in the ScrollingTree's
node map, and the ScrollingStateTree's node map, so these would get larger
and larger as you browse.

Simplify map maintenance by clearing the map when setting a new root node
(which happens on the first commit of a new page). Also, don't keep root nodes
around, but create them afresh for each page, which simplifies their ID
management.

This is closer to the original behavior; keeping the root nodes around was
a fix for bug 99668, but we avoid regressing that fix by bailing early
from frameViewLayoutUpdated() if there is no root state node (we'll get
called again anyway).

This now allows state nodeIDs to be purely read-only.

  • page/scrolling/ScrollingStateNode.h:
  • page/scrolling/ScrollingStateTree.cpp:

(WebCore::ScrollingStateTree::ScrollingStateTree):
(WebCore::ScrollingStateTree::attachNode):
(WebCore::ScrollingStateTree::clear):
(WebCore::ScrollingStateTree::removeNode):

  • page/scrolling/ScrollingTree.cpp:

(WebCore::ScrollingTree::updateTreeFromStateNode):

  • page/scrolling/mac/ScrollingCoordinatorMac.mm:

(WebCore::ScrollingCoordinatorMac::frameViewLayoutUpdated):

1:28 PM Changeset in webkit [142504] by Simon Fraser
  • 5 edits in trunk/Source/WebCore

Move m_stateNodeMap from ScrollingCoordinatorMac to ScrollingStateTree
https://bugs.webkit.org/show_bug.cgi?id=109361

Reviewed by Sam Weinig.

The map of scrolling node IDs to ScollingStateNodes was maintained by
ScrollingCoordinatorMac, rather than ScrollingStateTree. This is different
from the ScrollingTree (which owns its node map), and added some amount
of to-and-fro between ScrollingStateTree and ScrollingCoordinatorMac.

Having ScrollingCoordinatorMac maintain the map of IDs to state nodes
simplifies things.

No behavior change.

  • page/scrolling/ScrollingStateTree.cpp:

(WebCore::ScrollingStateTree::attachNode):
(WebCore::ScrollingStateTree::detachNode):
(WebCore::ScrollingStateTree::clear):
(WebCore::ScrollingStateTree::removeNode):
(WebCore::ScrollingStateTree::stateNodeForID):

  • page/scrolling/ScrollingStateTree.h:

(ScrollingStateTree): Remove some stale comments.
(WebCore::ScrollingStateTree::removedNodes):

  • page/scrolling/mac/ScrollingCoordinatorMac.h:

(ScrollingCoordinatorMac):

  • page/scrolling/mac/ScrollingCoordinatorMac.mm:

(WebCore::ScrollingCoordinatorMac::frameViewLayoutUpdated):
(WebCore::ScrollingCoordinatorMac::recomputeWheelEventHandlerCountForFrameView):
(WebCore::ScrollingCoordinatorMac::frameViewRootLayerDidChange):
(WebCore::ScrollingCoordinatorMac::requestScrollPositionUpdate):
(WebCore::ScrollingCoordinatorMac::attachToStateTree):
(WebCore::ScrollingCoordinatorMac::detachFromStateTree):
(WebCore::ScrollingCoordinatorMac::clearStateTree):
(WebCore::ScrollingCoordinatorMac::updateScrollingNode):
(WebCore::ScrollingCoordinatorMac::updateViewportConstrainedNode):

1:26 PM Changeset in webkit [142503] by mrowe@apple.com
  • 2 edits in trunk/Source/WebCore

Build fix.

  • platform/mac/PlatformSpeechSynthesizerMac.mm: Fix the case in the include.
1:26 PM Changeset in webkit [142502] by andersca@apple.com
  • 3 edits in trunk/Source/WebKit2

The plug-in process connection manager doesn't need to be heap allocated
https://bugs.webkit.org/show_bug.cgi?id=109479

Reviewed by Andreas Kling.

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::WebProcess):
(WebKit::WebProcess::pluginProcessConnectionManager):
(WebKit::WebProcess::pluginProcessCrashed):

  • WebProcess/WebProcess.h:

(WebKit):
(WebProcess):

1:24 PM Changeset in webkit [142501] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/chromium

Unreviewed. Rolled Chromium DEPS to r181742. Requested by
fmalita_ via sheriffbot.

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

  • DEPS:
1:11 PM Changeset in webkit [142500] by jchaffraix@webkit.org
  • 7 edits
    2 adds in trunk

Regression(r131539): Heap-use-after-free in WebCore::RenderBlock::willBeDestroyed
https://bugs.webkit.org/show_bug.cgi?id=107189

Reviewed by Abhishek Arya.

Source/WebCore:

Test: fast/dynamic/continuation-detach-crash.html

This patch reverts r131539 and the following changes (r132591 and r139664).
This means we redo detaching from the bottom-up which solves the regression.
It fixes the attached test case as we re-attach child nodes before detaching
the parent. It seems wrong to do but this avoid a stale continuation.

  • dom/ContainerNode.cpp:

(WebCore::ContainerNode::detach): Detach the children first, then ourself.

  • dom/Node.cpp:

(WebCore::Node::detach): Clear the renderer instead of ASSERT'ing.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::willBeDestroyed): Removed the code to clear the associated node's renderer.
(WebCore::RenderObject::destroyAndCleanupAnonymousWrappers):

  • rendering/RenderObjectChildList.cpp:

(WebCore::RenderObjectChildList::removeChildNode):
Moved the repainting logic back into removeChildNode from destroyAndCleanupAnonymousWrappers.
(WebCore::RenderObjectChildList::destroyLeftoverChildren): Re-added the code to clear the associated node's
renderer.

  • rendering/RenderTextFragment.cpp:

(WebCore::RenderTextFragment::setText): Re-added the code to set the associated node's renderer.

  • dom/ContainerNode.cpp:

(WebCore::ContainerNode::detach):

  • dom/Node.cpp:

(WebCore::Node::detach):

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::willBeDestroyed):
(WebCore::RenderObject::destroyAndCleanupAnonymousWrappers):

  • rendering/RenderObjectChildList.cpp:

(WebCore::RenderObjectChildList::destroyLeftoverChildren):
(WebCore::RenderObjectChildList::removeChildNode):

  • rendering/RenderTextFragment.cpp:

(WebCore::RenderTextFragment::setText):

LayoutTests:

  • fast/dynamic/continuation-detach-crash-expected.txt: Added.
  • fast/dynamic/continuation-detach-crash.html: Added.
1:04 PM Changeset in webkit [142499] by tony@chromium.org
  • 47 edits
    2 adds in trunk

Move setFrameFlatteningEnabled from layoutTestController to window.internals.settings
https://bugs.webkit.org/show_bug.cgi?id=87149

Reviewed by Simon Fraser.

Source/WebKit2:

  • WebProcess/InjectedBundle/InjectedBundle.cpp:

(WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner): Add setFrameFlatteningEnabled to the list of overridable values.

Tools:

Remove testRunner.setFrameFlatteningEnabled from DRT and WTR. WebKit API
methods are left because there may be users of it. Add a test for Apple Mac
to ensure that the API for the preference still works using overridePreference.

  • DumpRenderTree/TestRunner.cpp:

(TestRunner::staticFunctions):

  • DumpRenderTree/TestRunner.h:

(TestRunner):

  • DumpRenderTree/blackberry/DumpRenderTree.cpp:

(BlackBerry::WebKit::DumpRenderTree::resetToConsistentStateBeforeTesting):

  • DumpRenderTree/blackberry/TestRunnerBlackBerry.cpp:
  • DumpRenderTree/efl/TestRunnerEfl.cpp:
  • DumpRenderTree/gtk/DumpRenderTree.cpp:

(resetDefaultsToConsistentValues):

  • DumpRenderTree/gtk/TestRunnerGtk.cpp:
  • DumpRenderTree/mac/TestRunnerMac.mm:
  • DumpRenderTree/qt/DumpRenderTreeQt.cpp:

(WebCore::WebPage::resetSettings):

  • DumpRenderTree/qt/TestRunnerQt.cpp:
  • DumpRenderTree/qt/TestRunnerQt.h:

(TestRunner):

  • DumpRenderTree/win/DumpRenderTree.cpp:

(resetDefaultsToConsistentValues):

  • DumpRenderTree/win/TestRunnerWin.cpp:
  • DumpRenderTree/wx/TestRunnerWx.cpp:
  • WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
  • WebKitTestRunner/InjectedBundle/TestRunner.cpp:
  • WebKitTestRunner/InjectedBundle/TestRunner.h:

(TestRunner):

LayoutTests:

Update tests to use internal.settings.setFrameFlatteningEnabled, which is automatically
generated from Settings.in.
Add a Mac only test that uses overridePreference to test the API.

  • fast/frames/flattening/crash-svg-document.html:
  • fast/frames/flattening/frameset-flattening-advanced.html:
  • fast/frames/flattening/frameset-flattening-grid.html:
  • fast/frames/flattening/frameset-flattening-simple.html:
  • fast/frames/flattening/frameset-flattening-subframe-resize.html:
  • fast/frames/flattening/frameset-flattening-subframesets.html:
  • fast/frames/flattening/iframe-flattening-crash.html:
  • fast/frames/flattening/iframe-flattening-fixed-height.html:
  • fast/frames/flattening/iframe-flattening-fixed-width-and-height-no-scrolling-with-js-forced-layout.html:
  • fast/frames/flattening/iframe-flattening-fixed-width-and-height-no-scrolling.html:
  • fast/frames/flattening/iframe-flattening-fixed-width-and-height-zero-size.html:
  • fast/frames/flattening/iframe-flattening-fixed-width-and-height.html:
  • fast/frames/flattening/iframe-flattening-fixed-width.html:
  • fast/frames/flattening/iframe-flattening-nested.html:
  • fast/frames/flattening/iframe-flattening-offscreen.html:
  • fast/frames/flattening/iframe-flattening-out-of-view-and-scroll.html:
  • fast/frames/flattening/iframe-flattening-out-of-view-scroll-and-relayout.html:
  • fast/frames/flattening/iframe-flattening-out-of-view.html:
  • fast/frames/flattening/iframe-flattening-selection-crash.html:
  • fast/frames/flattening/iframe-flattening-simple.html:
  • fast/frames/flattening/iframe-tiny.html:
  • fast/spatial-navigation/snav-iframe-flattening-simple.html:
  • fast/text-autosizing/narrow-iframe-flattened.html:
  • http/tests/misc/iframe-flattening-3level-nesting-with-blocking-resource.html:
  • platform/chromium/TestExpectations: Chromium doesn't use frame flattening on mobile either.
  • plugins/frameset-with-plugin-frame.html:
  • fast/frames/flattening/crash-svg-document.html:
  • fast/frames/flattening/frameset-flattening-advanced.html:
  • fast/frames/flattening/frameset-flattening-grid.html:
  • fast/frames/flattening/frameset-flattening-simple.html:
  • fast/frames/flattening/frameset-flattening-subframe-resize.html:
  • fast/frames/flattening/frameset-flattening-subframesets.html:
  • fast/frames/flattening/iframe-flattening-crash.html:
  • fast/frames/flattening/iframe-flattening-fixed-height.html:
  • fast/frames/flattening/iframe-flattening-fixed-width-and-height-no-scrolling-with-js-forced-layout.html:
  • fast/frames/flattening/iframe-flattening-fixed-width-and-height-no-scrolling.html:
  • fast/frames/flattening/iframe-flattening-fixed-width-and-height-zero-size.html:
  • fast/frames/flattening/iframe-flattening-fixed-width-and-height.html:
  • fast/frames/flattening/iframe-flattening-fixed-width.html:
  • fast/frames/flattening/iframe-flattening-nested.html:
  • fast/frames/flattening/iframe-flattening-offscreen.html:
  • fast/frames/flattening/iframe-flattening-out-of-view-and-scroll.html:
  • fast/frames/flattening/iframe-flattening-out-of-view-scroll-and-relayout.html:
  • fast/frames/flattening/iframe-flattening-out-of-view.html:
  • fast/frames/flattening/iframe-flattening-selection-crash.html:
  • fast/frames/flattening/iframe-flattening-simple.html:
  • fast/frames/flattening/iframe-tiny.html:
  • fast/spatial-navigation/snav-iframe-flattening-simple.html:
  • fast/text-autosizing/narrow-iframe-flattened.html:
  • http/tests/misc/iframe-flattening-3level-nesting-with-blocking-resource.html:
  • platform/chromium/TestExpectations:
  • platform/mac/fast/frames/flattening/set-preference-expected.txt: Added.
  • platform/mac/fast/frames/flattening/set-preference.html: Added.
  • plugins/frameset-with-plugin-frame.html:
12:43 PM Changeset in webkit [142498] by commit-queue@webkit.org
  • 8 edits in trunk/Source/JavaScriptCore

Unreviewed, rolling out r142491.
http://trac.webkit.org/changeset/142491
https://bugs.webkit.org/show_bug.cgi?id=109470

broke the 32 bit build (Requested by jessieberlin on #webkit).

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

  • dfg/DFGAbstractState.cpp:

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

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::parseBlock):

  • dfg/DFGCSEPhase.cpp:

(JSC::DFG::CSEPhase::performNodeCSE):

  • dfg/DFGNodeType.h:

(DFG):

  • dfg/DFGPredictionPropagationPhase.cpp:

(JSC::DFG::PredictionPropagationPhase::propagate):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileStrictEq):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

12:41 PM Changeset in webkit [142497] by eric@webkit.org
  • 14 edits
    1 add in trunk/Source/WebCore

Make WebVTTTokenizer stop inheriting from MarkupTokenizerBase
https://bugs.webkit.org/show_bug.cgi?id=109411

Reviewed by Adam Barth.

Moved InputStreamPreprocessor into its own header file so it can be
used by both WebVTTTokenizer and HTMLTokenizer.

Also split out kEndOfFileMarker from InputStreamPreprocessor<T> so that
it can be used w/o a specific instantiation of the template class.
This also made it possible to fix three old fixmes about wanting to share
that constant.

Again, separating WebVTT code from Markup* base classes made it simpler
at the cost of a little copy/paste code. WebVTT tokenization is remarkably
simple compared to HTML.

This will make it immediately possible to pull MarkupTokenizerBase up into
HTMLTokenizer and further simplify the code.

  • GNUmakefile.list.am:
  • Target.pri:
  • WebCore.gypi:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • html/parser/BackgroundHTMLParser.cpp:

(WebCore::BackgroundHTMLParser::markEndOfFile):

  • html/parser/HTMLInputStream.h:

(WebCore::HTMLInputStream::markEndOfFile):

  • html/parser/HTMLTokenizer.cpp:

(WebCore::HTMLTokenizer::nextToken):

  • html/parser/InputStreamPreprocessor.h: Added.

(WebCore):
(InputStreamPreprocessor):
(WebCore::InputStreamPreprocessor::InputStreamPreprocessor):
(WebCore::InputStreamPreprocessor::nextInputCharacter):
(WebCore::InputStreamPreprocessor::peek):
(WebCore::InputStreamPreprocessor::advance):
(WebCore::InputStreamPreprocessor::skipNextNewLine):
(WebCore::InputStreamPreprocessor::reset):
(WebCore::InputStreamPreprocessor::shouldTreatNullAsEndOfFileMarker):

  • html/track/WebVTTTokenizer.cpp:

(WebCore::WebVTTTokenizer::WebVTTTokenizer):
(WebCore::WebVTTTokenizer::nextToken):

  • html/track/WebVTTTokenizer.h:

(WebVTTTokenizer):
(WebCore::WebVTTTokenizer::haveBufferedCharacterToken):
(WebCore::WebVTTTokenizer::bufferCharacter):
(WebCore::WebVTTTokenizer::emitAndResumeIn):
(WebCore::WebVTTTokenizer::emitEndOfFile):
(WebCore::WebVTTTokenizer::shouldSkipNullCharacters):

  • xml/parser/MarkupTokenizerBase.h:

(MarkupTokenizerBase):
(WebCore::MarkupTokenizerBase::bufferCharacter):

12:37 PM Changeset in webkit [142496] by fmalita@chromium.org
  • 2 edits in trunk/Source/Platform

[Chromium] FilterTypeSaturatingBrightness enum
https://bugs.webkit.org/show_bug.cgi?id=109380

Introduce a new WebFilterOperation::FilterType enum (FilterTypeSaturatingBrightness)
to support existing interntal clients which rely on the current saturating brightness
behavior (in preparation of switching to the new brightness implementation).

Reviewed by James Robinson.

  • chromium/public/WebFilterOperation.h:

(WebKit::WebFilterOperation::amount):
(WebKit::WebFilterOperation::createSaturatingBrightnessFilter):
(WebKit::WebFilterOperation::setAmount):

12:36 PM Changeset in webkit [142495] by roger_fong@apple.com
  • 2 edits in trunk/Tools

Unreviewed. Windows 7 Debug mode build fix.

  • DumpRenderTree/TestNetscapePlugIn/win/TestNetscapePlugin.vcproj:
12:23 PM Changeset in webkit [142494] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit/chromium

[Chromium] Replace correct misspelled range in WebKit::WebFrameImpl::replaceMisspelledRange
https://bugs.webkit.org/show_bug.cgi?id=108513

Patch by Rouslan Solomakhin <rouslan@chromium.org> on 2013-02-11
Reviewed by Tony Chang.

WebKit::WebFrameImpl::replaceMisspelledRange is going to be used by Chromium instead of
WebKit::WebFrameImpl::replaceSelection for correcting misspellings. The current implementation
of WebKit::WebFrameImpl::replaceMisspelledRange sometimes replaces the wrong range. This change
uses Range::create instead of TextIterator::rangeFromLocationAndLength to select the correct
range. This change also disables smart replace in WebKit::WebFrameImpl::replaceMisspelledRange
to avoid introducing spaces around misspellings.

  • src/WebFrameImpl.cpp:

(WebKit::WebFrameImpl::replaceMisspelledRange): Replace correct misspelled range.

  • tests/WebFrameTest.cpp: Add unit test for WebKit::WebFrameImpl::replaceMisspelledRange method.
11:53 AM Changeset in webkit [142493] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

[WK2][Notifications] Missing early return in populateCopyOfNotificationPermissions
https://bugs.webkit.org/show_bug.cgi?id=108459

Patch by Claudio Saavedra <Claudio Saavedra> on 2013-02-11
Reviewed by Alexey Proskuryakov.

  • UIProcess/Notifications/WebNotificationManagerProxy.cpp:

(WebKit::WebNotificationManagerProxy::populateCopyOfNotificationPermissions):
Providers might return 0 and we will end up with a null-pointer dereference.
Early check against this.

11:48 AM Changeset in webkit [142492] by abarth@webkit.org
  • 3 edits
    2 adds in trunk

document.write during window.onload can trigger DumpRenderTree to dump the render tree
https://bugs.webkit.org/show_bug.cgi?id=109465

Reviewed by Eric Seidel.

Source/WebCore:

This patch is a partial revert of
http://trac.webkit.org/changeset/142378. It's not safe to call
checkComplete during the load event. We'll need to find another way of
calling checkComplete at the right time.

Test: fast/parser/document-write-during-load.html

  • dom/Document.cpp:

(WebCore::Document::decrementActiveParserCount):

LayoutTests:

  • fast/parser/document-write-during-load-expected.txt: Added.
  • fast/parser/document-write-during-load.html: Added.
11:21 AM Changeset in webkit [142491] by fpizlo@apple.com
  • 8 edits in trunk/Source/JavaScriptCore

DFG CompareEq(a, null) and CompareStrictEq(a, const) are unsound with respect to constant folding
https://bugs.webkit.org/show_bug.cgi?id=109387

Reviewed by Oliver Hunt.

Lock in the decision to use a non-speculative constant comparison as early as possible
and don't let the CFA change it by folding constants. This might be a performance
penalty on some really weird code (FWIW, I haven't seen this on benchmarks), but on
the other hand it completely side-steps the unsoundness that the bug speaks of.

  • dfg/DFGAbstractState.cpp:

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

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::isConstantForCompareStrictEq):
(ByteCodeParser):
(JSC::DFG::ByteCodeParser::parseBlock):

  • dfg/DFGCSEPhase.cpp:

(JSC::DFG::CSEPhase::performNodeCSE):

  • dfg/DFGNodeType.h:

(DFG):

  • dfg/DFGPredictionPropagationPhase.cpp:

(JSC::DFG::PredictionPropagationPhase::propagate):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileStrictEq):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

11:13 AM Changeset in webkit [142490] by Christophe Dumez
  • 2 edits in trunk/LayoutTests

Unreviewed EFL gardening.

Mark fast/flexbox/line-clamp-link-after-ellipsis.html as failing
on EFL port. This test was introduced in r142335.

  • platform/efl/TestExpectations:
10:16 AM Changeset in webkit [142489] by Csaba Osztrogonác
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed fix after r13954 for !ENABLE(JIT) builds.

  • llint/LowLevelInterpreter.cpp:
10:15 AM Changeset in webkit [142488] by caseq@chromium.org
  • 4 edits
    2 adds in trunk

Web Inspector: Timeline: invalidate and force locations are same for Layout records caused by style recalculaiton
https://bugs.webkit.org/show_bug.cgi?id=109294

Reviewed by Pavel Feldman.

Source/WebCore:

Use the stack that caused style recalculation as a cause for relayout performed due to
layout invalidation caused by style recalculation.

  • inspector/front-end/TimelinePresentationModel.js:

(WebInspector.TimelinePresentationModel.prototype.reset):
(WebInspector.TimelinePresentationModel.Record):

LayoutTests:

  • inspector/timeline/timeline-layout-reason-expected.txt: Added.
  • inspector/timeline/timeline-layout-reason.html: Added.
  • inspector/timeline/timeline-test.js:

(initialize_Timeline.step2):
(initialize_Timeline.InspectorTest.evaluateWithTimeline): Extracted "performActions" step from performActionsAndPrint()
(initialize_Timeline.):
(initialize_Timeline.InspectorTest.performActionsAndPrint):
(initialize_Timeline.InspectorTest.findPresentationRecord.findByType):
(initialize_Timeline.InspectorTest.findPresentationRecord):

10:11 AM Changeset in webkit [142487] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[BlackBerry] Set mouse document position for mouse event in DRT.
https://bugs.webkit.org/show_bug.cgi?id=109094.

Patch by Tiancheng Jiang <tijiang@rim.com> on 2013-02-11
Reviewed by Rob Buis.

RIM PR 246976.
Internally Reviewed by Nima Ghanavatian & Genevieve Mak.

Set mouse document position when we create mouse event in DRT.

  • DumpRenderTree/blackberry/EventSender.cpp:

(setMouseEventDocumentPos):
(mouseDownCallback):
(mouseUpCallback):
(mouseMoveToCallback):

10:05 AM Changeset in webkit [142486] by caseq@chromium.org
  • 7 edits in trunk

Web Inspector: [Extension API] adjust inspectedWindow.eval() callback parameters to expose non-exceptional error
https://bugs.webkit.org/show_bug.cgi?id=108640

Reviewed by Vsevolod Vlasov.

Source/WebCore:

  • only set first parameter to eval() callback iff expression successfully evaluates;
  • use object, not bool as second parameter;
  • pass exceptions and extension errors as second parameter if evaluate failed;
  • minor drive-by changes in ExtensionAPI utilities.
  • inspector/front-end/ExtensionAPI.js:

(injectedExtensionAPI.ExtensionSidebarPaneImpl.prototype.setExpression):
(injectedExtensionAPI.InspectedWindow.prototype.):
(injectedExtensionAPI.InspectedWindow.prototype.eval):
(injectedExtensionAPI.extractCallbackArgument):

  • inspector/front-end/ExtensionServer.js:

(WebInspector.ExtensionServer.prototype.):
(WebInspector.ExtensionServer.prototype._onEvaluateOnInspectedPage):
(WebInspector.ExtensionStatus):

LayoutTests:

Rebase tests following change in exception parameter to inspectedWindow.eval() callback.

  • inspector/extensions/extensions-eval-expected.txt:
  • inspector/extensions/extensions-eval.html:
  • inspector/extensions/extensions-sidebar-expected.txt:
10:01 AM Changeset in webkit [142485] by caseq@chromium.org
  • 6 edits in trunk

Web Inspector: [Extensions API] expose ExtensionServerClient to tests so tests use same port as extensions API
https://bugs.webkit.org/show_bug.cgi?id=109443

Reviewed by Vsevolod Vlasov.

Source/WebCore:

Promote extensionServer var to the outer closure, so it may be accessed by platform-specific (or test) code.

  • inspector/front-end/ExtensionAPI.js:

(buildExtensionAPIInjectedScript):

LayoutTests:

  • replace additional message ports used for evaluating code in front-end with normal extension transport.
  • http/tests/inspector/extensions-test.js:

(initialize_ExtensionsTest.window.buildPlatformExtensionAPI):
(initialize_ExtensionsTest.InspectorTest._replyToExtension):
(initialize_ExtensionsTest.onEvaluate):

  • http/tests/inspector/resources/extension-main.js:
  • inspector/extensions/extensions-audits.html:
9:54 AM Changeset in webkit [142484] by eric@webkit.org
  • 2 edits in trunk/Source/WebCore

Move WebVTTToken off of MarkupTokenBase
https://bugs.webkit.org/show_bug.cgi?id=109410

Reviewed by Tony Gentilcore.

This introduces a small amount of "copy/paste" code
but actually makes WebVTTToken much smaller and simpler!
This also frees the HTMLParser to have its Token class
back to itself so we can tune it to make HTML faster.

  • html/track/WebVTTToken.h:

(WebVTTToken):
(WebCore::WebVTTToken::WebVTTToken):
(WebCore::WebVTTToken::appendToName):
(WebCore::WebVTTToken::type):
(WebCore::WebVTTToken::name):
(WebCore::WebVTTToken::ensureIsCharacterToken):
(WebCore::WebVTTToken::appendToCharacter):
(WebCore::WebVTTToken::beginEmptyStartTag):
(WebCore::WebVTTToken::beginStartTag):
(WebCore::WebVTTToken::beginEndTag):
(WebCore::WebVTTToken::beginTimestampTag):
(WebCore::WebVTTToken::makeEndOfFile):
(WebCore::WebVTTToken::clear):

9:28 AM Changeset in webkit [142483] by jsbell@chromium.org
  • 6 edits
    3 adds in trunk

[V8] IndexedDB: Minor GC can collect IDBDatabase wrapper with versionchange handler
https://bugs.webkit.org/show_bug.cgi?id=108670

Reviewed by Kentaro Hara.

Source/WebCore:

Prevent IDBDatabase's wrapper from being GC'd while the database is open if it has
listeners, as those listeners may close the database in response to events.

Also, removed extraneous super-calls from hasPendingActivity() overrides.

Test: storage/indexeddb/database-wrapper.html

  • Modules/indexeddb/IDBDatabase.cpp:

(WebCore::IDBDatabase::hasPendingActivity): Implemented.

  • Modules/indexeddb/IDBDatabase.h: Declared.
  • Modules/indexeddb/IDBRequest.cpp:

(WebCore::IDBRequest::hasPendingActivity): Simplified.

  • Modules/indexeddb/IDBTransaction.cpp:

(WebCore::IDBTransaction::hasPendingActivity): Simplified.

LayoutTests:

  • storage/indexeddb/database-wrapper-expected.txt: Added.
  • storage/indexeddb/database-wrapper.html: Added.
  • storage/indexeddb/resources/database-wrapper.js: Added.

(test):
(openDB):
(onUpgradeNeeded):
(openSuccess.get request.onsuccess):
(onVersionChange):
(collectGarbage):
(openAgain):
(onBlocked):
(openAgainSuccess):

9:17 AM Changeset in webkit [142482] by mifenton@rim.com
  • 6 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Add form navigation control state tracking.
https://bugs.webkit.org/show_bug.cgi?id=109300

Reviewed by Rob Buis.

Add form navigation control state tracking.

  • Api/WebPage.cpp:

(BlackBerry::WebKit::WebPage::focusNextField):
(WebKit):
(BlackBerry::WebKit::WebPage::focusPreviousField):
(BlackBerry::WebKit::WebPage::submitForm):

  • Api/WebPage.h:
  • Api/WebPageClient.h:
  • WebKitSupport/InputHandler.cpp:

(BlackBerry::WebKit::InputHandler::InputHandler):
(BlackBerry::WebKit::InputHandler::setElementUnfocused):
(BlackBerry::WebKit::InputHandler::updateFormState):

  • WebKitSupport/InputHandler.h:

(InputHandler):

9:01 AM Changeset in webkit [142481] by rgabor@webkit.org
  • 5 edits in trunk/Source/JavaScriptCore

JSC build failing with verbose debug mode
https://bugs.webkit.org/show_bug.cgi?id=109441

Reviewed by Darin Adler.

Fixing some verbose messages which caused build errors.

  • dfg/DFGAbstractState.cpp:

(JSC::DFG::AbstractState::mergeToSuccessors):

  • dfg/DFGCFAPhase.cpp:

(JSC::DFG::CFAPhase::performBlockCFA):

  • dfg/DFGCSEPhase.cpp:

(JSC::DFG::CSEPhase::setReplacement):
(JSC::DFG::CSEPhase::eliminate):

  • dfg/DFGPredictionInjectionPhase.cpp:

(JSC::DFG::PredictionInjectionPhase::run):

8:52 AM Changeset in webkit [142480] by eric@webkit.org
  • 4 edits in trunk/Source/WebCore

Remove AttributeBase now that NEW_XML is gone
https://bugs.webkit.org/show_bug.cgi?id=109408

Reviewed by Adam Barth.

Just deleting code. HTMLToken::Attribute is now just
the real class and not a typedef.

  • html/parser/CompactHTMLToken.cpp:

(WebCore::CompactHTMLToken::CompactHTMLToken):

  • html/parser/HTMLTokenizer.cpp:

(WebCore::AtomicHTMLToken::nameForAttribute):

  • xml/parser/MarkupTokenBase.h:

(WebCore):
(MarkupTokenBase):
(Attribute):
(Range):

8:24 AM Changeset in webkit [142479] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[BlackBerry] Add graphics subdirectory to include path.
https://bugs.webkit.org/show_bug.cgi?id=109437

Patch by Mike Lattanzio <mlattanzio@rim.com> on 2013-02-11
Reviewed by Rob Buis.

Add browser/platform/graphics to include path.

Internal review by Jeff Rogers.

  • Scripts/webkitdirs.pm:

(blackberryCMakeArguments):

8:19 AM Changeset in webkit [142478] by Christophe Dumez
  • 2 edits in trunk/LayoutTests

Unreviewed EFL gardening.

Skip fast/forms/number/number-l10n-input.html that was added in r142122
but fails on EFL port.

  • platform/efl/TestExpectations:
8:06 AM Changeset in webkit [142477] by Christophe Dumez
  • 2 edits in trunk/Tools

[EFL][WKTR] Regression(r141836) fast/dom/Window/mozilla-focus-blur.html started failing
https://bugs.webkit.org/show_bug.cgi?id=109438

Reviewed by Kenneth Rohde Christiansen.

Some refactoring in r141836 caused the view not to get focus if the focused
frame is not the main one. The idea of the code was to remove focus from the
view if the focused frame was not the main one, and then focus the view again.
However, after the refactoring, the second step never happened: Focus was
removed but not given again.

  • WebKitTestRunner/efl/PlatformWebViewEfl.cpp:

(WTR::PlatformWebView::focus):

8:00 AM Changeset in webkit [142476] by vsevik@chromium.org
  • 3 edits in trunk/LayoutTests

Unreviewed revert test fix attempt and skip it.

  • inspector/editor/text-editor-home-button.html:
  • platform/chromium/TestExpectations:
7:58 AM Changeset in webkit [142475] by eric@webkit.org
  • 2 edits in trunk/Source/WebCore

Rename PreloadTask to StartTagScanner to match its purpose
https://bugs.webkit.org/show_bug.cgi?id=109406

Reviewed by Sam Weinig.

As discussed in bug 107807.

  • html/parser/HTMLPreloadScanner.cpp:

(WebCore::StartTagScanner::StartTagScanner):
(WebCore::StartTagScanner::processAttributes):
(WebCore::HTMLPreloadScanner::processToken):

7:50 AM Changeset in webkit [142474] by vsevik@chromium.org
  • 13 edits
    1 move in trunk

Web Inspector: WebInspector.Project refactorings.
https://bugs.webkit.org/show_bug.cgi?id=109433

Reviewed by Alexander Pavlov.

Source/WebCore:

This change prepares Workspace and Project to migration to project-per-domain mode for network based projects.
Renamed WebInspector.WorkspaceProvider to WebInspector.ProjectDelegate.
Renamed Project.name() to Project.id() and delegated it to project delegate.
Added Project.displayName() method that is delegated to project delegate.
SimpleWorkspaceProvider is now responsible for creation of SimpleWorkspaceDelegates and
isolates various mappings from Project/ProjectDelegate concept.
UISourceCode is now created based on path in the project.
UISourceCode uri is now calculated based on project and path (right now uri is equal to path).

  • WebCore.gypi:
  • WebCore.vcproj/WebCore.vcproj:
  • inspector/compile-front-end.py:
  • inspector/front-end/FileSystemProjectDelegate.js: Renamed from Source/WebCore/inspector/front-end/FileSystemWorkspaceProvider.js.

(WebInspector.FileSystemProjectDelegate):
(WebInspector.FileSystemProjectDelegate.prototype.id):
(WebInspector.FileSystemProjectDelegate.prototype.type):
(WebInspector.FileSystemProjectDelegate.prototype.displayName):
(WebInspector.FileSystemProjectDelegate.prototype.innerCallback):
(WebInspector.FileSystemProjectDelegate.prototype.requestFileContent):
(WebInspector.FileSystemProjectDelegate.prototype.setFileContent):
(WebInspector.FileSystemProjectDelegate.prototype.contentCallback):
(WebInspector.FileSystemProjectDelegate.prototype.searchInFileContent):
(WebInspector.FileSystemProjectDelegate.prototype._contentTypeForPath):
(WebInspector.FileSystemProjectDelegate.prototype._populate.filesLoaded):
(WebInspector.FileSystemProjectDelegate.prototype._populate):
(WebInspector.FileSystemProjectDelegate.prototype._addFile):
(WebInspector.FileSystemProjectDelegate.prototype._removeFile):
(WebInspector.FileSystemProjectDelegate.prototype.reset):
(WebInspector.FileSystemUtils):
(WebInspector.FileSystemUtils.errorHandler):
(WebInspector.FileSystemUtils.requestFileSystem):
(.fileSystemLoaded):
(.innerCallback):
(WebInspector.FileSystemUtils.requestFilesRecursive):
(.fileEntryLoaded):
(.fileLoaded):
(.readerLoadEnd):
(WebInspector.FileSystemUtils.requestFileContent):
(.fileWriterCreated.fileTruncated):
(.fileWriterCreated):
(.writerEnd):
(WebInspector.FileSystemUtils.setFileContent):
(WebInspector.FileSystemUtils._getDirectory):
(.toArray):
(WebInspector.FileSystemUtils._readDirectory):
(WebInspector.FileSystemUtils._requestEntries):

  • inspector/front-end/IsolatedFileSystemModel.js:

(WebInspector.IsolatedFileSystemModel.prototype._innerAddFileSystem):

  • inspector/front-end/SimpleWorkspaceProvider.js:

(WebInspector.SimpleProjectDelegate):
(WebInspector.SimpleProjectDelegate.prototype.id):
(WebInspector.SimpleProjectDelegate.prototype.displayName):
(WebInspector.SimpleProjectDelegate.prototype.requestFileContent):
(WebInspector.SimpleProjectDelegate.prototype.setFileContent):
(WebInspector.SimpleProjectDelegate.prototype.searchInFileContent):
(WebInspector.SimpleProjectDelegate.prototype.addFile):
(WebInspector.SimpleProjectDelegate.prototype._uniquePath):
(WebInspector.SimpleProjectDelegate.prototype.removeFile):
(WebInspector.SimpleProjectDelegate.prototype.reset):
(WebInspector.SimpleWorkspaceProvider):
(WebInspector.SimpleWorkspaceProvider.uriForURL):
(WebInspector.SimpleWorkspaceProvider.prototype.addFileForURL):
(WebInspector.SimpleWorkspaceProvider.prototype.addUniqueFileForURL):
(WebInspector.SimpleWorkspaceProvider.prototype._innerAddFileForURL):
(WebInspector.SimpleWorkspaceProvider.prototype.removeFile):
(WebInspector.SimpleWorkspaceProvider.prototype.reset):

  • inspector/front-end/UISourceCode.js:

(WebInspector.UISourceCode):
(WebInspector.UISourceCode.prototype.path):
(WebInspector.UISourceCode.prototype.uri):

  • inspector/front-end/WebKit.qrc:
  • inspector/front-end/Workspace.js:

(WebInspector.FileDescriptor):
(WebInspector.ProjectDelegate):
(WebInspector.ProjectDelegate.prototype.id):
(WebInspector.ProjectDelegate.prototype.displayName):
(WebInspector.ProjectDelegate.prototype.requestFileContent):
(WebInspector.ProjectDelegate.prototype.setFileContent):
(WebInspector.ProjectDelegate.prototype.searchInFileContent):
(WebInspector.Project):
(WebInspector.Project.prototype.id):
(WebInspector.Project.prototype.type):
(WebInspector.Project.prototype.displayName):
(WebInspector.Project.prototype.isServiceProject):
(WebInspector.Project.prototype._fileAdded):
(WebInspector.Project.prototype._fileRemoved):
(WebInspector.Project.prototype._reset):
(WebInspector.Project.prototype.uiSourceCode):
(WebInspector.Project.prototype.uiSourceCodeForOriginURL):
(WebInspector.Project.prototype.uiSourceCodeForURI):
(WebInspector.Project.prototype.uiSourceCodes):
(WebInspector.Project.prototype.requestFileContent):
(WebInspector.Project.prototype.setFileContent):
(WebInspector.Project.prototype.searchInFileContent):
(WebInspector.Project.prototype.dispose):
(WebInspector.Workspace.prototype.uiSourceCode):
(WebInspector.Workspace.prototype.uiSourceCodeForURI):
(WebInspector.Workspace.prototype.addProject):
(WebInspector.Workspace.prototype.removeProject):
(WebInspector.Workspace.prototype.project):
(WebInspector.Workspace.prototype.uiSourceCodes):
(WebInspector.Workspace.prototype.projectForUISourceCode):

  • inspector/front-end/inspector.html:

LayoutTests:

  • inspector/debugger/live-edit-breakpoints.html:
  • inspector/uisourcecode-revisions.html:
7:45 AM Changeset in webkit [142473] by yurys@chromium.org
  • 3 edits in trunk/Source/WebCore

Web Inspector: fix closure compiler warnings in the profiler code
https://bugs.webkit.org/show_bug.cgi?id=109432

Reviewed by Pavel Feldman.

Updated type annotations to match the code.

  • inspector/front-end/NativeMemorySnapshotView.js:
  • inspector/front-end/ProfilesPanel.js:
7:44 AM Changeset in webkit [142472] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[QT] Regression (r142444): Broke qt linux minimal build
https://bugs.webkit.org/show_bug.cgi?id=109423

Patch by Alexander Shalamov <alexander.shalamov@intel.com> on 2013-02-11
Reviewed by Kenneth Rohde Christiansen.

Test: cssom/cssvalue-comparison.html

  • css/CSSValue.cpp:

(WebCore::CSSValue::equals):

7:40 AM Changeset in webkit [142471] by commit-queue@webkit.org
  • 7 edits
    1 add in trunk/Source/WebCore

Web Inspector: introduce WebInspector.TextUtils
https://bugs.webkit.org/show_bug.cgi?id=109289

Patch by Andrey Lushnikov <lushnikov@chromium.org> on 2013-02-11
Reviewed by Pavel Feldman.

Add new WebInspector.TextUtils file and extract commonly used
text-operation subroutines from DefaultTextEditor into it.

No new tests: no change in behaviour.

  • WebCore.gypi:
  • WebCore.vcproj/WebCore.vcproj:
  • inspector/compile-front-end.py:
  • inspector/front-end/DefaultTextEditor.js:

(WebInspector.TextEditorMainPanel.TokenHighlighter.prototype._isWord):
(WebInspector.DefaultTextEditor.WordMovementController.prototype._rangeForCtrlArrowMove):
(WebInspector.TextEditorMainPanel.BraceHighlightController.prototype.handleSelectionChange):

  • inspector/front-end/TextUtils.js: Added.

(WebInspector.TextUtils.isStopChar):
(WebInspector.TextUtils.isWordChar):
(WebInspector.TextUtils.isSpaceChar):
(WebInspector.TextUtils.isWord):
(WebInspector.TextUtils.isBraceChar):

  • inspector/front-end/WebKit.qrc:
  • inspector/front-end/inspector.html:
7:26 AM Changeset in webkit [142470] by Christophe Dumez
  • 4 edits in trunk/LayoutTests

Unreviewed EFL gardening.

  • Rebaseline fast/dynamic/002.html on EFL port after r142015.
  • Skip several compositing test cases that started failing after r142112.
  • Skip several new Kronos WebGL conformance tests that are failing on EFL WK2.
  • platform/efl-wk2/TestExpectations:
  • platform/efl/fast/dynamic/002-expected.png:
  • platform/efl/fast/dynamic/002-expected.txt:
7:12 AM Changeset in webkit [142469] by Bruno de Oliveira Abinader
  • 2 edits in trunk/Websites/webkit.org

Add basysKom to domainAffiliations in team.html
https://bugs.webkit.org/show_bug.cgi?id=109306

Reviewed by Laszlo Gombos.

Register basysKom as contributing company in
http://www.webkit.org/team.html.

  • team.html:
7:09 AM Changeset in webkit [142468] by mikhail.pozdnyakov@intel.com
  • 2 edits in trunk/Websites/webkit.org

Add intel.com to team.html
https://bugs.webkit.org/show_bug.cgi?id=109424

Reviewed by Kenneth Rohde Christiansen.

  • team.html:
7:05 AM Changeset in webkit [142467] by zandobersek@gmail.com
  • 2 edits in trunk/Tools

[GTK] Don't generate documentation if building neither WebKit1 nor WebKit2
https://bugs.webkit.org/show_bug.cgi?id=109420

Reviewed by Philippe Normand.

Don't generate the GTK documentation if neither of the WebKit1 and WebKit2
layers was built. This just results in unnecessary errors being spewed out
by the gtkdoc utilities.

  • Scripts/webkitdirs.pm:

(buildAutotoolsProject):

7:03 AM Changeset in webkit [142466] by zandobersek@gmail.com
  • 1 edit in trunk/Source/WebCore

Adding the svn:ignore property that the previous commit (done through webkit-patch) failed to.

6:59 AM Changeset in webkit [142465] by zandobersek@gmail.com
  • 1 edit in trunk/ChangeLog
  • Source/WebCore: Modified property svn:ignore, adding GNUmakefile.features.am

to the list of paths to be ignored.

6:47 AM Changeset in webkit [142464] by zandobersek@gmail.com
  • 2 edits in trunk/LayoutTests

Unreviewed GTK gardening.

  • platform/gtk/TestExpectations: Adding a failure expectation for the

cssom/cssvalue-comparison.html, the test was added in r142444 and is failing
due to CSS image-set functionality not yet enabled in the GTK port.

6:43 AM Changeset in webkit [142463] by zandobersek@gmail.com
  • 2 edits in trunk/Source/WebCore

[GTK][Clang] Build errors in LocalizedStringsGtk.cpp
https://bugs.webkit.org/show_bug.cgi?id=109418

Reviewed by Philippe Normand.

Use the C++ isfinite(float) and abs(float) (instead of fabsf(float))
methods by including the WTF MathExtras.h header. Use a static cast to
an integer type on the float return value of the abs(float) method call
instead of the C-style cast.

No new tests - no new functiolnality.

  • platform/gtk/LocalizedStringsGtk.cpp:

(WebCore::localizedMediaTimeDescription):

6:42 AM Changeset in webkit [142462] by zandobersek@gmail.com
  • 2 edits in trunk/Source/WebCore

Unreviewed build fix for the WTFURL backend of KURL.

  • platform/KURL.cpp:

(WebCore::KURL::isSafeToSendToAnotherThread): m_urlImpl is of RefPtr type so use
the appropriate operator on it when calling the isSafeToSendToAnotherThread method.

5:55 AM Changeset in webkit [142461] by mkwst@chromium.org
  • 3 edits in trunk/Source/WebCore

Range::collapsed callers should explicitly ASSERT_NO_EXCEPTION.
https://bugs.webkit.org/show_bug.cgi?id=108921

Reviewed by Jochen Eisinger.

For clarity and consistency, this patch adjusts Range::collapsed() to
drop the default value of the ExceptionCode parameter it accepts. The
three call sites that called the method with no arguments (all part of
Editor::rangeOfString) will now explicitly ASSERT_NO_EXCEPTION.

  • dom/Range.h:

(Range):

  • editing/Editor.cpp:

(WebCore::Editor::rangeOfString):

5:54 AM Changeset in webkit [142460] by commit-queue@webkit.org
  • 32 edits
    2 adds in trunk

Web Inspector: Split Profiler domain in protocol into Profiler and HeapProfiler
https://bugs.webkit.org/show_bug.cgi?id=108653

Patch by Alexei Filippov <alph@chromium.org> on 2013-02-11
Reviewed by Yury Semikhatsky.

Currently CPU and heap profilers share the same domain 'Profiler' in the protocol.
In fact these two profile types have not too much in common. So put each into its own domain.
It should also help when Profiles panel gets split into several tools.
This is the phase 1 which adds InspectorHeapProfilerAgent but doesn't
change the original InspectorProfilerAgent.

PerformanceTests:

  • inspector/heap-snapshot-performance-test.js:

(test.performanceTest.cleanup):

Source/WebCore:

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • Target.pri:
  • WebCore.gypi:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • inspector/Inspector.json:
  • inspector/InspectorAllInOne.cpp:
  • inspector/InspectorController.cpp:

(WebCore::InspectorController::InspectorController):

  • inspector/InspectorHeapProfilerAgent.cpp: Added.

(WebCore):
(WebCore::InspectorHeapProfilerAgent::create):
(WebCore::InspectorHeapProfilerAgent::InspectorHeapProfilerAgent):
(WebCore::InspectorHeapProfilerAgent::~InspectorHeapProfilerAgent):
(WebCore::InspectorHeapProfilerAgent::resetState):
(WebCore::InspectorHeapProfilerAgent::resetFrontendProfiles):
(WebCore::InspectorHeapProfilerAgent::setFrontend):
(WebCore::InspectorHeapProfilerAgent::clearFrontend):
(WebCore::InspectorHeapProfilerAgent::restore):
(WebCore::InspectorHeapProfilerAgent::collectGarbage):
(WebCore::InspectorHeapProfilerAgent::createSnapshotHeader):
(WebCore::InspectorHeapProfilerAgent::hasHeapProfiler):
(WebCore::InspectorHeapProfilerAgent::getProfileHeaders):
(WebCore::InspectorHeapProfilerAgent::getHeapSnapshot):
(WebCore::InspectorHeapProfilerAgent::removeProfile):
(WebCore::InspectorHeapProfilerAgent::takeHeapSnapshot):
(WebCore::InspectorHeapProfilerAgent::getObjectByHeapObjectId):
(WebCore::InspectorHeapProfilerAgent::getHeapObjectId):
(WebCore::InspectorHeapProfilerAgent::reportMemoryUsage):

  • inspector/InspectorHeapProfilerAgent.h: Added.

(WebCore):
(InspectorHeapProfilerAgent):
(WebCore::InspectorHeapProfilerAgent::clearProfiles):

  • inspector/InspectorInstrumentation.cpp:

(WebCore):
(WebCore::InspectorInstrumentation::didCommitLoadImpl):

  • inspector/InstrumentingAgents.h:

(WebCore):
(InstrumentingAgents):
(WebCore::InstrumentingAgents::inspectorHeapProfilerAgent):
(WebCore::InstrumentingAgents::setInspectorHeapProfilerAgent):

  • inspector/WorkerInspectorController.cpp:

(WebCore::WorkerInspectorController::WorkerInspectorController):

  • inspector/front-end/HeapSnapshotDataGrids.js:
  • inspector/front-end/HeapSnapshotGridNodes.js:

(WebInspector.HeapSnapshotGenericObjectNode.prototype.queryObjectContent):

  • inspector/front-end/HeapSnapshotView.js:

(WebInspector.HeapProfileHeader.prototype.startSnapshotTransfer):
(WebInspector.HeapProfileHeader.prototype.saveToFile.onOpen):
(WebInspector.HeapProfileHeader.prototype.saveToFile):

  • inspector/front-end/ProfilesPanel.js:

(WebInspector.ProfilesPanel):
(WebInspector.ProfilesPanel.prototype._clearProfiles):
(WebInspector.ProfilesPanel.prototype._garbageCollectButtonClicked):
(WebInspector.ProfilesPanel.prototype._removeProfileHeader):
(WebInspector.ProfilesPanel.prototype._populateProfiles.var):
(WebInspector.ProfilesPanel.prototype._populateProfiles.populateCallback):
(WebInspector.ProfilesPanel.prototype._populateProfiles):
(WebInspector.ProfilesPanel.prototype.takeHeapSnapshot):
(WebInspector.ProfilesPanel.prototype.revealInView):
(WebInspector.HeapProfilerDispatcher):
(WebInspector.HeapProfilerDispatcher.prototype.addProfileHeader):
(WebInspector.HeapProfilerDispatcher.prototype.addHeapSnapshotChunk):
(WebInspector.HeapProfilerDispatcher.prototype.finishHeapSnapshot):
(WebInspector.HeapProfilerDispatcher.prototype.resetProfiles):
(WebInspector.HeapProfilerDispatcher.prototype.reportHeapSnapshotProgress):

  • inspector/front-end/TimelinePanel.js:

(WebInspector.TimelinePanel.prototype._garbageCollectButtonClicked):

  • inspector/front-end/inspector.js:

(WebInspector.doLoadedDone):

Source/WebKit/chromium:

  • src/WebDevToolsAgentImpl.cpp:

(WebKit::WebDevToolsAgent::shouldInterruptForMessage):

LayoutTests:

  • inspector-protocol/heap-profiler/resources/heap-snapshot-common.js:

(InspectorTest.takeHeapSnapshot.InspectorTest.eventHandler.string_appeared_here):
(InspectorTest.takeHeapSnapshot):

  • inspector-protocol/nmi-webaudio-leak-test.html:
  • inspector/profiler/heap-snapshot-get-profile-crash.html:
  • inspector/profiler/heap-snapshot-inspect-dom-wrapper.html:
  • inspector/profiler/heap-snapshot-loader.html:
  • inspector/profiler/heap-snapshot-test.js:

(initialize_HeapSnapshotTest):

5:51 AM Changeset in webkit [142459] by mkwst@chromium.org
  • 2 edits in trunk/Source/WebCore

Use IGNORE_EXCEPTION for Editor::countMatchesForText's ignored exceptions.
https://bugs.webkit.org/show_bug.cgi?id=109372

Reviewed by Jochen Eisinger.

Rather than implicitly ignoring exceptions, we should use the
IGNORE_EXCEPTION macro for clarity.

  • editing/Editor.cpp:

(WebCore::Editor::countMatchesForText):

5:12 AM Changeset in webkit [142458] by Christophe Dumez
  • 2 edits in trunk/LayoutTests

Unreviewed EFL gardening.

Rebaseline EFL expectation for fast/js/global-constructors.html after
r142205.

  • platform/efl/fast/js/global-constructors-expected.txt:
4:55 AM Changeset in webkit [142457] by kadam@inf.u-szeged.hu
  • 2 edits in trunk/Source/WebCore

[Qt] Unreviewed. Fix minimal build after r142444.

Patch by Zoltan Arvai <zarvai@inf.u-szeged.hu> on 2013-02-11

  • css/CSSValue.cpp:

(WebCore::CSSValue::equals):

4:47 AM Changeset in webkit [142456] by vsevik@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed r142439 follow-up: test fix.

  • inspector/editor/text-editor-home-button.html:
4:46 AM Changeset in webkit [142455] by Antoine Quint
  • 2 edits in trunk/Tools

Unreviewed change to add myself to the Inspector IDLs watchlist.

  • Scripts/webkitpy/common/config/watchlist:
4:44 AM Changeset in webkit [142454] by Christophe Dumez
  • 6 edits in trunk/Source

[EFL] Stop using smart pointers for Ecore_Timer
https://bugs.webkit.org/show_bug.cgi?id=109409

Reviewed by Kenneth Rohde Christiansen.

Source/WebCore:

Stop using a smart pointer for Ecore_Timer in RunLoop::TimerBase. This
is a bad idea because the timer handle becomes invalid as soon as the
timer callback returns ECORE_CALLBACK_CANCEL. This may lead to crashes
on destruction because OwnPtr calls ecore_timer_del() on an invalid
handle.

No new tests, already covered by exiting tests.

  • platform/RunLoop.h:

(TimerBase):

  • platform/efl/RunLoopEfl.cpp:

(WebCore::RunLoop::TimerBase::timerFired):
(WebCore::RunLoop::TimerBase::start):
(WebCore::RunLoop::TimerBase::stop):

Source/WTF:

Remove support in OwnPtr for EFL's Ecore_Timer. It is a bad idea to use
OwnPtr for Ecore_Timer because the timer handle may become invalid.

  • wtf/OwnPtrCommon.h:

(WTF):

  • wtf/efl/OwnPtrEfl.cpp:
4:38 AM Changeset in webkit [142453] by Christophe Dumez
  • 2 edits in trunk/LayoutTests

Unreviewed EFL gardening.

Mark 2 webgl/conformance test cases as crashing on EFL WK2.

  • platform/efl-wk2/TestExpectations:
4:15 AM Changeset in webkit [142452] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Web Inspector: Allow SplitView to keep the sidebar size as a fraction of the container size
https://bugs.webkit.org/show_bug.cgi?id=109414

Patch by Vladislav Kaznacheev <kaznacheev@chromium.org> on 2013-02-11
Reviewed by Vsevolod Vlasov.

SplitView now interprets defaultSidebarWidth and defaultSidebarHeight values between 0 and 1 as
fractions of the total container size. The sidebar then will grow or shrink along with the container.
When the sidebar is resized manually the updated ratio is stored in the settings.

  • inspector/front-end/SplitView.js:

(WebInspector.SplitView):
(WebInspector.SplitView.prototype._removeAllLayoutProperties):
(WebInspector.SplitView.prototype._updateTotalSize):
(WebInspector.SplitView.prototype._innerSetSidebarSize):
(WebInspector.SplitView.prototype._saveSidebarSize):

3:51 AM Changeset in webkit [142451] by commit-queue@webkit.org
  • 5 edits
    1 copy
    2 moves
    2 adds in trunk/Tools

[GTK][EFL] Shares WebKit-GTK's DumpRenderTree accessibility implementation with other Webkit ports
https://bugs.webkit.org/show_bug.cgi?id=105007

Patch by Krzysztof Czech <k.czech@samsung.com> on 2013-02-11
Reviewed by Martin Robinson.

Shares specific ATK's accessibility implementation.
Keeps platform specific methods in EFL and GTK's directories.

  • DumpRenderTree/atk/AccessibilityCallbacks.h: Renamed from Tools/DumpRenderTree/gtk/AccessibilityCallbacks.h.
  • DumpRenderTree/atk/AccessibilityCallbacksAtk.cpp: Renamed from Tools/DumpRenderTree/gtk/AccessibilityCallbacks.cpp.

(printAccessibilityEvent):
(axObjectEventListener):
(connectAccessibilityCallbacks):
(disconnectAccessibilityCallbacks):

  • DumpRenderTree/atk/AccessibilityControllerAtk.cpp: Copied from Tools/DumpRenderTree/gtk/AccessibilityControllerGtk.cpp.

(AccessibilityController::AccessibilityController):
(AccessibilityController::~AccessibilityController):
(AccessibilityController::elementAtPoint):
(AccessibilityController::setLogFocusEvents):
(AccessibilityController::setLogScrollingStartEvents):
(AccessibilityController::setLogValueChangeEvents):
(AccessibilityController::setLogAccessibilityEvents):
(AccessibilityController::addNotificationListener):
(AccessibilityController::removeNotificationListener):

  • DumpRenderTree/atk/AccessibilityUIElementAtk.cpp: Copied from Tools/DumpRenderTree/gtk/AccessibilityUIElementGtk.cpp.

(coreAttributeToAtkAttribute):
(roleToString):
(replaceCharactersForResults):
(AccessibilityUIElement::AccessibilityUIElement):
(AccessibilityUIElement::~AccessibilityUIElement):
(AccessibilityUIElement::getLinkedUIElements):
(AccessibilityUIElement::getDocumentLinks):
(AccessibilityUIElement::getChildren):
(AccessibilityUIElement::getChildrenWithRange):
(AccessibilityUIElement::rowCount):
(AccessibilityUIElement::columnCount):
(AccessibilityUIElement::childrenCount):
(AccessibilityUIElement::elementAtPoint):
(AccessibilityUIElement::linkedUIElementAtIndex):
(AccessibilityUIElement::getChildAtIndex):
(AccessibilityUIElement::indexOfChild):
(attributeSetToString):
(AccessibilityUIElement::allAttributes):
(AccessibilityUIElement::attributesOfLinkedUIElements):
(AccessibilityUIElement::attributesOfDocumentLinks):
(AccessibilityUIElement::titleUIElement):
(AccessibilityUIElement::parentElement):
(AccessibilityUIElement::attributesOfChildren):
(AccessibilityUIElement::parameterizedAttributeNames):
(AccessibilityUIElement::role):
(AccessibilityUIElement::subrole):
(AccessibilityUIElement::roleDescription):
(AccessibilityUIElement::title):
(AccessibilityUIElement::description):
(AccessibilityUIElement::stringValue):
(AccessibilityUIElement::language):
(AccessibilityUIElement::x):
(AccessibilityUIElement::y):
(AccessibilityUIElement::width):
(AccessibilityUIElement::height):
(AccessibilityUIElement::clickPointX):
(AccessibilityUIElement::clickPointY):
(AccessibilityUIElement::orientation):
(AccessibilityUIElement::intValue):
(AccessibilityUIElement::minValue):
(AccessibilityUIElement::maxValue):
(AccessibilityUIElement::valueDescription):
(checkElementState):
(AccessibilityUIElement::isEnabled):
(AccessibilityUIElement::insertionPointLineNumber):
(AccessibilityUIElement::isPressActionSupported):
(AccessibilityUIElement::isIncrementActionSupported):
(AccessibilityUIElement::isDecrementActionSupported):
(AccessibilityUIElement::isRequired):
(AccessibilityUIElement::isFocused):
(AccessibilityUIElement::isSelected):
(AccessibilityUIElement::hierarchicalLevel):
(AccessibilityUIElement::ariaIsGrabbed):
(AccessibilityUIElement::ariaDropEffects):
(AccessibilityUIElement::isExpanded):
(AccessibilityUIElement::isChecked):
(AccessibilityUIElement::attributesOfColumnHeaders):
(AccessibilityUIElement::attributesOfRowHeaders):
(AccessibilityUIElement::attributesOfColumns):
(AccessibilityUIElement::attributesOfRows):
(AccessibilityUIElement::attributesOfVisibleCells):
(AccessibilityUIElement::attributesOfHeader):
(AccessibilityUIElement::indexInTable):
(indexRangeInTable):
(AccessibilityUIElement::rowIndexRange):
(AccessibilityUIElement::columnIndexRange):
(AccessibilityUIElement::lineForIndex):
(AccessibilityUIElement::boundsForRange):
(AccessibilityUIElement::stringForRange):
(AccessibilityUIElement::attributedStringForRange):
(AccessibilityUIElement::attributedStringRangeIsMisspelled):
(AccessibilityUIElement::uiElementForSearchPredicate):
(AccessibilityUIElement::cellForColumnAndRow):
(AccessibilityUIElement::selectedTextRange):
(AccessibilityUIElement::setSelectedTextRange):
(AccessibilityUIElement::stringAttributeValue):
(AccessibilityUIElement::numberAttributeValue):
(AccessibilityUIElement::boolAttributeValue):
(AccessibilityUIElement::isAttributeSettable):
(AccessibilityUIElement::isAttributeSupported):
(alterCurrentValue):
(AccessibilityUIElement::increment):
(AccessibilityUIElement::decrement):
(AccessibilityUIElement::press):
(AccessibilityUIElement::showMenu):
(AccessibilityUIElement::disclosedRowAtIndex):
(AccessibilityUIElement::ariaOwnsElementAtIndex):
(AccessibilityUIElement::ariaFlowToElementAtIndex):
(AccessibilityUIElement::selectedRowAtIndex):
(AccessibilityUIElement::rowAtIndex):
(AccessibilityUIElement::disclosedByRow):
(AccessibilityUIElement::accessibilityValue):
(AccessibilityUIElement::documentEncoding):
(AccessibilityUIElement::documentURI):
(AccessibilityUIElement::url):
(AccessibilityUIElement::addNotificationListener):
(AccessibilityUIElement::removeNotificationListener):
(AccessibilityUIElement::isFocusable):
(AccessibilityUIElement::isSelectable):
(AccessibilityUIElement::isMultiSelectable):
(AccessibilityUIElement::isSelectedOptionActive):
(AccessibilityUIElement::isVisible):
(AccessibilityUIElement::isOffScreen):
(AccessibilityUIElement::isCollapsed):
(AccessibilityUIElement::isIgnored):
(AccessibilityUIElement::hasPopup):
(AccessibilityUIElement::takeFocus):
(AccessibilityUIElement::takeSelection):
(AccessibilityUIElement::addSelection):
(AccessibilityUIElement::removeSelection):
(AccessibilityUIElement::scrollToMakeVisible):
(AccessibilityUIElement::scrollToMakeVisibleWithSubFocus):
(AccessibilityUIElement::scrollToGlobalPoint):

  • DumpRenderTree/efl/CMakeLists.txt: Adds ATK headers, libraries, new sources.
  • DumpRenderTree/gtk/AccessibilityControllerGtk.cpp:

(AccessibilityController::focusedElement):
(AccessibilityController::rootElement):
(AccessibilityController::accessibleElementById):

  • DumpRenderTree/gtk/AccessibilityUIElementGtk.cpp:

(AccessibilityUIElement::helpText):

  • GNUmakefile.am: Adds renamed sources.
3:49 AM Changeset in webkit [142450] by pfeldman@chromium.org
  • 2 edits in trunk/Source/WebCore

Web Inspector: highlight DOM nodes on hover while debugging
https://bugs.webkit.org/show_bug.cgi?id=109355

Reviewed by Vsevolod Vlasov.

Along with showing the popover, highlight the remote object as node.

  • inspector/front-end/ObjectPopoverHelper.js:

(WebInspector.ObjectPopoverHelper.prototype.):
(WebInspector.ObjectPopoverHelper.prototype._showObjectPopover):
(WebInspector.ObjectPopoverHelper.prototype._onHideObjectPopover):

3:42 AM Changeset in webkit [142449] by haraken@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed gardening. Marked editing/spelling/spellcheck-async.html
as [ Pass Failure ].

  • platform/chromium/TestExpectations:
3:36 AM Changeset in webkit [142448] by haraken@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed gardening. Added [Timeout] to http/tests/misc/window-dot-stop.html.

  • platform/chromium/TestExpectations:
3:29 AM Changeset in webkit [142447] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Web Inspector: displaying whitespace characters is broken
https://bugs.webkit.org/show_bug.cgi?id=109412

Patch by Andrey Lushnikov <lushnikov@chromium.org> on 2013-02-11
Reviewed by Vsevolod Vlasov.

Add "pointer-events: none" rule for pseudo-class "before", which
maintains rendering of whitespace characters.

No new tests.

  • inspector/front-end/inspectorSyntaxHighlight.css:

(.webkit-whitespace::before):

3:17 AM Changeset in webkit [142446] by zandobersek@gmail.com
  • 2 edits in trunk/LayoutTests

Unreviewed GTK gardening.

Adjusted expectations for two flaky crashers.
Removed failure expectations for tests that pass.

  • platform/gtk/TestExpectations:
3:05 AM Changeset in webkit [142445] by apavlov@chromium.org
  • 10 edits
    4 adds
    2 deletes in trunk

Web Inspector: Implement position-based sourcemapping for stylesheets
https://bugs.webkit.org/show_bug.cgi?id=109168

Source/WebCore:

Reviewed by Vsevolod Vlasov.

This change introduces support for position-based source maps for CSS stylesheets.
Sourcemaps and originating resources (sass, scss, etc.) are loaded synchronously
upon the CSS UISourceCode addition. RangeBasedSourceMap is removed as it is not used.

Test: http/tests/inspector/stylesheet-source-mapping.html

  • inspector/front-end/CSSStyleModel.js:

(WebInspector.CSSStyleModel):
(WebInspector.CSSStyleModel.prototype.setSourceMapping):
(WebInspector.CSSStyleModel.prototype.rawLocationToUILocation):
(WebInspector.CSSStyleModel.LiveLocation.prototype.uiLocation):
(WebInspector.CSSLocation):
(WebInspector.CSSProperty):
(WebInspector.CSSProperty.parsePayload):

  • inspector/front-end/CompilerScriptMapping.js:

(WebInspector.CompilerScriptMapping):
(WebInspector.CompilerScriptMapping.prototype.rawLocationToUILocation):
(WebInspector.CompilerScriptMapping.prototype.loadSourceMapForScript):

  • inspector/front-end/SASSSourceMapping.js:

(WebInspector.SASSSourceMapping):
(WebInspector.SASSSourceMapping.prototype._styleSheetChanged.callback):
(WebInspector.SASSSourceMapping.prototype._styleSheetChanged):
(WebInspector.SASSSourceMapping.prototype._reloadCSS):
(WebInspector.SASSSourceMapping.prototype._resourceAdded.didRequestContent):
(WebInspector.SASSSourceMapping.prototype._resourceAdded):
(WebInspector.SASSSourceMapping.prototype._loadAndProcessSourceMap):
(WebInspector.SASSSourceMapping.prototype.loadSourceMapForStyleSheet):
(WebInspector.SASSSourceMapping.prototype._bindUISourceCode):
(WebInspector.SASSSourceMapping.prototype.rawLocationToUILocation):
(WebInspector.SASSSourceMapping.prototype.uiLocationToRawLocation):
(WebInspector.SASSSourceMapping.prototype._reset):

  • inspector/front-end/SourceMap.js:

(WebInspector.SourceMap):
(WebInspector.SourceMap.load):
(WebInspector.SourceMap.prototype.findEntry):
(WebInspector.SourceMap.prototype.findEntryReversed):
(WebInspector.SourceMap.prototype._parseMap):

  • inspector/front-end/StylesSourceMapping.js:

(WebInspector.StylesSourceMapping):
(WebInspector.StylesSourceMapping.prototype._bindUISourceCode):

  • inspector/front-end/inspector.js:

LayoutTests:

Added test for the stylesheet source mappings, followed the API changes,
removed RangeBasedSourceMap tests as this type of sourcemap is gone.

Reviewed by Vsevolod Vlasov.

  • http/tests/inspector/compiler-script-mapping-expected.txt:
  • http/tests/inspector/compiler-script-mapping.html:
  • http/tests/inspector/resources/example.css.map: Added.
  • http/tests/inspector/resources/example.scss: Added.
  • http/tests/inspector/stylesheet-source-mapping-expected.txt: Added.
  • http/tests/inspector/stylesheet-source-mapping.html: Added.
  • inspector/styles/range-based-mapping-expected.txt: Removed.
  • inspector/styles/range-based-mapping.html: Removed.
3:00 AM Changeset in webkit [142444] by commit-queue@webkit.org
  • 69 edits
    2 adds in trunk

Implement CSSValue::equals(const CSSValue&) to optimise CSSValue comparison
https://bugs.webkit.org/show_bug.cgi?id=102901

Patch by Alexander Shalamov <alexander.shalamov@intel.com> on 2013-02-11
Reviewed by Antti Koivisto.

Source/WebCore:

Added comparison method to CSSValue and its children, so that the
css values could be compared efficiently. Before this patch, CSSValue
objects were compared using strings that were generated by the cssText() method.

Test: cssom/cssvalue-comparison.html

  • css/CSSAspectRatioValue.cpp:

(WebCore::CSSAspectRatioValue::equals):
(WebCore):

  • css/CSSAspectRatioValue.h:

(CSSAspectRatioValue):

  • css/CSSBasicShapes.cpp:

(WebCore::CSSBasicShapeRectangle::equals):
(WebCore):
(WebCore::CSSBasicShapeCircle::equals):
(WebCore::CSSBasicShapeEllipse::equals):
(WebCore::CSSBasicShapePolygon::equals):

  • css/CSSBasicShapes.h:

(CSSBasicShapeRectangle):
(CSSBasicShapeCircle):
(CSSBasicShapeEllipse):
(CSSBasicShapePolygon):

  • css/CSSBorderImageSliceValue.cpp:

(WebCore::CSSBorderImageSliceValue::equals):
(WebCore):

  • css/CSSBorderImageSliceValue.h:

(CSSBorderImageSliceValue):

  • css/CSSCalculationValue.cpp:

(WebCore::CSSCalcValue::equals):
(WebCore):
(WebCore::CSSCalcPrimitiveValue::equals):
(CSSCalcPrimitiveValue):
(WebCore::CSSCalcPrimitiveValue::type):
(WebCore::CSSCalcBinaryOperation::equals):
(CSSCalcBinaryOperation):
(WebCore::CSSCalcBinaryOperation::type):

  • css/CSSCalculationValue.h:

(WebCore::CSSCalcExpressionNode::equals):
(CSSCalcExpressionNode):
(CSSCalcValue):

  • css/CSSCanvasValue.cpp:

(WebCore::CSSCanvasValue::equals):
(WebCore):

  • css/CSSCanvasValue.h:

(CSSCanvasValue):

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
(WebCore::CSSComputedStyleDeclaration::cssPropertyMatches):
(WebCore::CSSComputedStyleDeclaration::getCSSPropertyValuesForSidesShorthand):

  • css/CSSCrossfadeValue.cpp:

(WebCore::CSSCrossfadeValue::equals):
(WebCore):

  • css/CSSCrossfadeValue.h:

(CSSCrossfadeValue):

  • css/CSSCursorImageValue.cpp:

(WebCore::CSSCursorImageValue::equals):
(WebCore):

  • css/CSSCursorImageValue.h:

(CSSCursorImageValue):

  • css/CSSFontFaceSrcValue.cpp:

(WebCore::CSSFontFaceSrcValue::equals):
(WebCore):

  • css/CSSFontFaceSrcValue.h:

(CSSFontFaceSrcValue):

  • css/CSSFunctionValue.cpp:

(WebCore::CSSFunctionValue::equals):
(WebCore):

  • css/CSSFunctionValue.h:

(CSSFunctionValue):

  • css/CSSGradientValue.cpp:

(WebCore::CSSLinearGradientValue::equals):
(WebCore):
(WebCore::CSSRadialGradientValue::equals):

  • css/CSSGradientValue.h:

(WebCore::CSSGradientColorStop::operator==):
(CSSLinearGradientValue):
(CSSRadialGradientValue):

  • css/CSSImageValue.cpp:

(WebCore::CSSImageValue::equals):
(WebCore):

  • css/CSSImageValue.h:

(CSSImageValue):

  • css/CSSInheritedValue.h:

(WebCore::CSSInheritedValue::equals):
(CSSInheritedValue):

  • css/CSSInitialValue.h:

(WebCore::CSSInitialValue::equals):
(CSSInitialValue):

  • css/CSSLineBoxContainValue.h:

(WebCore::CSSLineBoxContainValue::equals):

  • css/CSSPrimitiveValue.cpp:

(WebCore::CSSPrimitiveValue::equals):
(WebCore):

  • css/CSSPrimitiveValue.h:

(CSSPrimitiveValue):

  • css/CSSReflectValue.cpp:

(WebCore::CSSReflectValue::equals):
(WebCore):

  • css/CSSReflectValue.h:

(CSSReflectValue):

  • css/CSSTimingFunctionValue.cpp:

(WebCore::CSSCubicBezierTimingFunctionValue::equals):
(WebCore):
(WebCore::CSSStepsTimingFunctionValue::equals):

  • css/CSSTimingFunctionValue.h:

(WebCore::CSSLinearTimingFunctionValue::equals):
(CSSLinearTimingFunctionValue):
(CSSCubicBezierTimingFunctionValue):
(CSSStepsTimingFunctionValue):

  • css/CSSUnicodeRangeValue.cpp:

(WebCore::CSSUnicodeRangeValue::equals):
(WebCore):

  • css/CSSUnicodeRangeValue.h:

(CSSUnicodeRangeValue):

  • css/CSSValue.cpp:

(WebCore):
(WebCore::compareCSSValues):
(WebCore::CSSValue::equals):

  • css/CSSValue.h:

(CSSValue):
(WebCore):
(WebCore::compareCSSValueVector):
(WebCore::compareCSSValuePtr):

  • css/CSSValueList.cpp:

(WebCore::CSSValueList::removeAll):
(WebCore::CSSValueList::hasValue):
(WebCore::CSSValueList::equals):
(WebCore):

  • css/CSSValueList.h:

(CSSValueList):

  • css/CSSVariableValue.h:

(WebCore::CSSVariableValue::equals):
(CSSVariableValue):

  • css/Counter.h:

(Counter):
(WebCore::Counter::equals):

  • css/DashboardRegion.h:

(WebCore::DashboardRegion::equals):

  • css/FontFeatureValue.cpp:

(WebCore::FontFeatureValue::equals):
(WebCore):

  • css/FontFeatureValue.h:

(FontFeatureValue):

  • css/FontValue.cpp:

(WebCore::FontValue::equals):
(WebCore):

  • css/FontValue.h:

(FontValue):

  • css/MediaQueryExp.h:

(WebCore::MediaQueryExp::operator==):

  • css/Pair.h:

(WebCore::Pair::equals):
(Pair):

  • css/Rect.h:

(WebCore::RectBase::equals):
(RectBase):

  • css/ShadowValue.cpp:

(WebCore::ShadowValue::equals):
(WebCore):

  • css/ShadowValue.h:

(ShadowValue):

  • css/StylePropertySet.cpp:

(WebCore::StylePropertySet::get4Values):
(WebCore::StylePropertySet::propertyMatches):

  • css/WebKitCSSArrayFunctionValue.cpp:

(WebCore::WebKitCSSArrayFunctionValue::equals):
(WebCore):

  • css/WebKitCSSArrayFunctionValue.h:

(WebKitCSSArrayFunctionValue):

  • css/WebKitCSSFilterValue.cpp:

(WebCore::WebKitCSSFilterValue::equals):
(WebCore):

  • css/WebKitCSSFilterValue.h:

(WebKitCSSFilterValue):

  • css/WebKitCSSMixFunctionValue.cpp:

(WebCore::WebKitCSSMixFunctionValue::equals):
(WebCore):

  • css/WebKitCSSMixFunctionValue.h:

(WebKitCSSMixFunctionValue):

  • css/WebKitCSSSVGDocumentValue.cpp:

(WebCore::WebKitCSSSVGDocumentValue::equals):
(WebCore):

  • css/WebKitCSSSVGDocumentValue.h:

(WebKitCSSSVGDocumentValue):

  • css/WebKitCSSShaderValue.cpp:

(WebCore::WebKitCSSShaderValue::equals):
(WebCore):

  • css/WebKitCSSShaderValue.h:

(WebKitCSSShaderValue):

  • css/WebKitCSSTransformValue.h:

(WebCore::WebKitCSSTransformValue::equals):

  • editing/EditingStyle.cpp:

(WebCore::HTMLAttributeEquivalent::valueIsPresentInStyle):

  • svg/SVGColor.cpp:

(WebCore::SVGColor::equals):
(WebCore):

  • svg/SVGColor.h:

(SVGColor):

  • svg/SVGPaint.cpp:

(WebCore::SVGPaint::equals):
(WebCore):

  • svg/SVGPaint.h:

(SVGPaint):

LayoutTests:

New layout test to verify that CSSValue objects comparison works properly.

  • cssom/cssvalue-comparison-expected.txt: Added.
  • cssom/cssvalue-comparison.html: Added.
2:24 AM Changeset in webkit [142443] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[Web Inspector] Network panel, sort by "transferSize" instead of "resourceSize".
https://bugs.webkit.org/show_bug.cgi?id=109142.

Patch by Pan Deng <pan.deng@intel.com> on 2013-02-11
Reviewed by Vsevolod Vlasov.

Sort by "transferSize" as it is the primary rather than "resoureSize".

No new tests.

  • inspector/front-end/NetworkPanel.js:

(WebInspector.NetworkDataGridNode.SizeComparator):

2:22 AM Changeset in webkit [142442] by haraken@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed gardening. Mark svg/custom/foreign-object-skew.svg
as [ ImageOnlyFailure Pass ].

  • platform/chromium/TestExpectations:
2:11 AM Changeset in webkit [142441] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebCore

Web Inspector: [Resources] Prefactorings in DataGrid and CookieTable
https://bugs.webkit.org/show_bug.cgi?id=109141

Patch by Eugene Klyuchnikov <eustas@chromium.org> on 2013-02-11
Reviewed by Vsevolod Vlasov.

1) Make deleteCookie method static and move to WebInspector.Cookie
2) Replace resfreshCallback getter/setter in DataGrid with
constructor parameter

  • inspector/front-end/CookieItemsView.js: Adopt changes.
  • inspector/front-end/CookieParser.js:

(WebInspector.Cookie.prototype.remove): Moved from CookiesTable.

  • inspector/front-end/CookiesTable.js: Adopt changes.
  • inspector/front-end/DataGrid.js:

Replace setter with constructor parameter.

1:39 AM Changeset in webkit [142440] by commit-queue@webkit.org
  • 7 edits in trunk

Web Inspector: Don't throw exceptions in WebInspector.Color
https://bugs.webkit.org/show_bug.cgi?id=104835

Source/WebCore:

Patch by John J. Barton <johnjbarton@chromium.org> on 2013-02-11
Reviewed by Vsevolod Vlasov.

WebInspector.Color.parse() returns a Color from a string, or null;
Ctor calls now call parse();
In the StylesSideBarPane, test null rather than catch(e).

Added case to inspector/styles/styles-invalid-color-values.html

  • inspector/front-end/Color.js:

(WebInspector.Color):
(WebInspector.Color.parse):
(WebInspector.Color.fromRGBA):
(WebInspector.Color.fromRGB):
(WebInspector.Color.prototype.toString):
(WebInspector.Color.prototype._parse.this.alpha.set 0):
(WebInspector.Color.prototype._parse.this.nickname.set 2):
(WebInspector.Color.prototype._parse.this.hsla.set 1):
(WebInspector.Color.prototype._parse.this.rgba.set 0):
(WebInspector.Color.prototype._parse.set WebInspector):
(WebInspector.Color.prototype._parse):

  • inspector/front-end/Spectrum.js:

(WebInspector.Spectrum.prototype.get color):

  • inspector/front-end/StylesSidebarPane.js:

LayoutTests:

Patch by John J. Barton <johnjbarton@chromium.org> on 2013-02-11
Reviewed by Vsevolod Vlasov.

Added case to test parsing 'none' from border style

  • inspector/styles/styles-invalid-color-values-expected.txt:
  • inspector/styles/styles-invalid-color-values.html:
1:34 AM Changeset in webkit [142439] by commit-queue@webkit.org
  • 7 edits
    2 adds in trunk

Web Inspector: home button behaviour is wrong in DTE
https://bugs.webkit.org/show_bug.cgi?id=109154

Patch by Andrey Lushnikov <lushnikov@chromium.org> on 2013-02-11
Reviewed by Vsevolod Vlasov.

Source/WebCore:

Handle home key shortcut explicitly in TextEditorMainPanel.

New test: inspector/editor/text-editor-home-button.html

  • inspector/front-end/DefaultTextEditor.js:

(WebInspector.TextEditorMainPanel.prototype._registerShortcuts):
(WebInspector.TextEditorMainPanel.prototype._handleHomeKey):

LayoutTests:

Add layout test to verify home button behaviour. Exclude this test on
platforms that do not have eventSender object in test shell.

  • inspector/editor/editor-test.js:

(initialize_EditorTests.lineWithCursor):
(initialize_EditorTests.InspectorTest.textWithSelection): Added helper method to add selection symbols in text.

  • inspector/editor/text-editor-home-button-expected.txt: Added.
  • inspector/editor/text-editor-home-button.html: Added.
  • platform/efl/TestExpectations:
  • platform/mac/TestExpectations:
  • platform/qt/TestExpectations:
1:04 AM Changeset in webkit [142438] by jochen@chromium.org
  • 3 edits in trunk/Tools

[chromium] clear the webcache from within the TestRunner library
https://bugs.webkit.org/show_bug.cgi?id=109405

Reviewed by Kentaro Hara.

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

(WebTestRunner::TestInterfaces::resetAll):

  • DumpRenderTree/chromium/TestShell.cpp:

(TestShell::resetTestController):

1:02 AM Changeset in webkit [142437] by jochen@chromium.org
  • 3 edits in trunk/Tools

[chromium] add a destructor to EventSender
https://bugs.webkit.org/show_bug.cgi?id=109401

Reviewed by Kentaro Hara.

Otherwise, the compiler will automatically generate a destructor, for
which we need to unnecessarily include WebContextMenuData.h in the
header.

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

(WebTestRunner):
(WebTestRunner::EventSender::~EventSender):

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

(WebKit):
(EventSender):

12:36 AM Changeset in webkit [142436] by Philippe Normand
  • 2 edits in trunk/LayoutTests

Unreviewed, GTK gardening

  • platform/gtk/TestExpectations: Flagging media tests affected

by bug 108682

12:27 AM Changeset in webkit [142435] by kadam@inf.u-szeged.hu
  • 2 edits in trunk/LayoutTests

[Qt] Unreviewed gardening. Skip faling test.
https://bugs.webkit.org/show_bug.cgi?id=109353.

  • platform/qt/TestExpectations:
12:06 AM Changeset in webkit [142434] by inferno@chromium.org
  • 33 edits in trunk/Source

Add ASSERT_WITH_SECURITY_IMPLICATION to detect out of bounds access
https://bugs.webkit.org/show_bug.cgi?id=108981

Reviewed by Eric Seidel.

Source/WebCore:

  • Modules/mediastream/RTCStatsResponse.cpp:

(WebCore::RTCStatsResponse::addElement):
(WebCore::RTCStatsResponse::addStatistic):

  • Modules/websockets/WebSocketChannel.cpp:

(WebCore::WebSocketChannel::skipBuffer):

  • css/CSSCalculationValue.cpp:

(WebCore::CSSCalcExpressionNodeParser::parseValueMultiplicativeExpression):
(WebCore::CSSCalcExpressionNodeParser::parseAdditiveValueExpression):

  • css/WebKitCSSTransformValue.cpp:

(WebCore::transformValueToCssString):

  • editing/TextIterator.cpp:

(WebCore::SearchBuffer::search):

  • html/HTMLElement.cpp:

(WebCore::parseColorStringWithCrazyLegacyRules):

  • html/ImageData.cpp:

(WebCore::ImageData::ImageData):

  • html/shadow/DateTimeSymbolicFieldElement.cpp:

(WebCore::DateTimeSymbolicFieldElement::DateTimeSymbolicFieldElement):

  • html/track/TextTrackCueList.cpp:

(WebCore::TextTrackCueList::add):

  • platform/SharedBuffer.cpp:

(WebCore::SharedBuffer::getSomeData):

  • platform/SharedBufferChunkReader.cpp:

(WebCore::SharedBufferChunkReader::nextChunk):

  • platform/audio/HRTFDatabase.cpp:

(WebCore::HRTFDatabase::getKernelsFromAzimuthElevation):

  • platform/graphics/GlyphPageTreeNode.cpp:

(WebCore::GlyphPageTreeNode::initializePage):

  • platform/graphics/Region.cpp:

(WebCore::Region::Shape::segments_end):

  • platform/graphics/filters/FEComponentTransfer.cpp:

(WebCore::FEComponentTransfer::getValues):

  • platform/graphics/filters/FilterEffect.cpp:

(WebCore::FilterEffect::inputEffect):

  • platform/text/TextCodecUTF8.cpp:

(WebCore::TextCodecUTF8::decode):

  • platform/text/mac/TextCodecMac.cpp:

(WebCore::TextCodecMac::decode):

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlock::checkFloatsInCleanLine):

  • svg/SVGAnimatedTypeAnimator.h:

(WebCore::SVGAnimatedTypeAnimator::executeAction):

  • svg/SVGAnimationElement.cpp:

(WebCore::SVGAnimationElement::calculatePercentForSpline):

  • svg/animation/SVGSMILElement.cpp:

(WebCore::SVGSMILElement::findInstanceTime):

Source/WebKit/chromium:

  • src/AutofillPopupMenuClient.cpp:

(WebKit::AutofillPopupMenuClient::getSuggestion):
(WebKit::AutofillPopupMenuClient::getLabel):
(WebKit::AutofillPopupMenuClient::getIcon):
(WebKit::AutofillPopupMenuClient::removeSuggestionAtIndex):
(WebKit::AutofillPopupMenuClient::valueChanged):
(WebKit::AutofillPopupMenuClient::selectionChanged):

  • src/ChromeClientImpl.cpp:

(WebKit::ChromeClientImpl::shouldRunModalDialogDuringPageDismissal):

Source/WTF:

  • wtf/BitVector.h:

(WTF::BitVector::quickGet):
(WTF::BitVector::quickSet):
(WTF::BitVector::quickClear):

  • wtf/DecimalNumber.h:

(WTF::DecimalNumber::DecimalNumber):

  • wtf/SegmentedVector.h:

(WTF::SegmentedVector::ensureSegment):

  • wtf/StringPrintStream.cpp:

(WTF::StringPrintStream::vprintf):

  • wtf/Vector.h:

(WTF::::insert):
(WTF::::remove):

  • wtf/dtoa/utils.h:

(WTF::double_conversion::StringBuilder::SetPosition):
(WTF::double_conversion::StringBuilder::AddSubstring):

Feb 10, 2013:

11:24 PM Changeset in webkit [142433] by Chris Fleizach
  • 12 edits
    2 adds in trunk

WebSpeech: Implement basic speaking/finished speaking behavior
https://bugs.webkit.org/show_bug.cgi?id=107135

Reviewed by Sam Weinig.

Source/WebCore:

Implements the basic functionality of speaking utterances.

In the WebCore side, it manages the speech queue the way the spec defines
(that is, new jobs are appended to a queue and wait for other jobs to finish).

On the Mac side, it instantiates a synthesizer and handles the callbacks for when
jobs are finished. It sends those jobs back to WebCore to dispatch the right events.

Test: platform/mac/fast/speechsynthesis/speech-synthesis-speak.html

  • Modules/speech/SpeechSynthesis.cpp:

(WebCore::SpeechSynthesis::SpeechSynthesis):
(WebCore::SpeechSynthesis::paused):
(WebCore::SpeechSynthesis::startSpeakingImmediately):
(WebCore::SpeechSynthesis::speak):
(WebCore):
(WebCore::SpeechSynthesis::fireEvent):
(WebCore::SpeechSynthesis::handleSpeakingCompleted):
(WebCore::SpeechSynthesis::didStartSpeaking):
(WebCore::SpeechSynthesis::didFinishSpeaking):
(WebCore::SpeechSynthesis::speakingErrorOccurred):

  • Modules/speech/SpeechSynthesis.h:

(WebCore):
(WebCore::SpeechSynthesis::speaking):
(SpeechSynthesis):

  • Modules/speech/SpeechSynthesisEvent.cpp:

(WebCore::SpeechSynthesisEvent::create):
(WebCore):
(WebCore::SpeechSynthesisEvent::SpeechSynthesisEvent):

  • Modules/speech/SpeechSynthesisEvent.h:

(SpeechSynthesisEvent):
(WebCore::SpeechSynthesisEvent::interfaceName):

  • Modules/speech/SpeechSynthesisUtterance.h:

(WebCore::SpeechSynthesisUtterance::startTime):
(WebCore::SpeechSynthesisUtterance::setStartTime):
(SpeechSynthesisUtterance):

  • platform/PlatformSpeechSynthesisUtterance.cpp:

(WebCore::PlatformSpeechSynthesisUtterance::PlatformSpeechSynthesisUtterance):

  • platform/PlatformSpeechSynthesisUtterance.h:

(PlatformSpeechSynthesisUtterance):
(WebCore::PlatformSpeechSynthesisUtterance::setVolume):
(WebCore::PlatformSpeechSynthesisUtterance::setRate):
(WebCore::PlatformSpeechSynthesisUtterance::setPitch):
(WebCore::PlatformSpeechSynthesisUtterance::startTime):
(WebCore::PlatformSpeechSynthesisUtterance::setStartTime):
(WebCore::PlatformSpeechSynthesisUtterance::client):

  • platform/PlatformSpeechSynthesizer.cpp:

(WebCore::PlatformSpeechSynthesizer::PlatformSpeechSynthesizer):

  • platform/PlatformSpeechSynthesizer.h:

(PlatformSpeechSynthesizerClient):
(WebCore::PlatformSpeechSynthesizer::client):
(PlatformSpeechSynthesizer):

  • platform/mac/PlatformSpeechSynthesizerMac.mm:

(-[WebSpeechSynthesisWrapper initWithSpeechSynthesizer:WebCore::]):
(-[WebSpeechSynthesisWrapper dealloc]):
(-[WebSpeechSynthesisWrapper convertRateToWPM:]):
(-[WebSpeechSynthesisWrapper speakUtterance:WebCore::]):
(-[WebSpeechSynthesisWrapper speechSynthesizer:didFinishSpeaking:]):
(WebCore::PlatformSpeechSynthesizer::speak):

LayoutTests:

  • platform/mac/fast/speechsynthesis/speech-synthesis-speak-expected.txt: Added.
  • platform/mac/fast/speechsynthesis/speech-synthesis-speak.html: Added.
11:06 PM EFLWebKitBuildBots edited by Christophe Dumez
(diff)
11:04 PM EFLWebKitBuildBots edited by Christophe Dumez
(diff)
10:54 PM Changeset in webkit [142432] by haraken@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed gardening. Rebaselined an image.

  • platform/chromium-mac/fast/backgrounds/repeat/negative-offset-repeat-transformed-expected.png:
10:53 PM Changeset in webkit [142431] by haraken@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed gardening. Marked http/tests/css/css-image-loading.html as SLOW.

  • platform/chromium/TestExpectations:
10:47 PM Changeset in webkit [142430] by haraken@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed gardening. Rebaselined an image.

  • platform/chromium-mac-snowleopard/svg/custom/foreign-object-skew-expected.png:
10:38 PM Changeset in webkit [142429] by commit-queue@webkit.org
  • 2 edits in trunk/Websites/webkit.org

Add adobe.com to team.html
https://bugs.webkit.org/show_bug.cgi?id=109396

Patch by Dirk Schulze <dschulze@adobe.com> on 2013-02-10
Reviewed by Laszlo Gombos.

  • team.html:
9:16 PM Changeset in webkit [142428] by weinig@apple.com
  • 22 edits in trunk/Source/WebKit2

Make the Plug-in XPCService build work even when building in Xcode
<rdar://problem/13011186>
https://bugs.webkit.org/show_bug.cgi?id=109392

Reviewed by Anders Carlsson.

  • Configurations/DebugRelease.xcconfig:

Add a DEBUG_OR_RELEASE variable to test against.

  • Configurations/PluginService.32.xcconfig:
  • Configurations/PluginService.64.xcconfig:

In non-production builds, don't link against WebKit2, so that we don't get warnings about WebKit2.framework
not containing the right architectures. This is ok, as these services are not used in non-production builds.

  • NetworkProcess/EntryPoint/mac/XPCService/NetworkService.Development/Info.plist:
  • NetworkProcess/EntryPoint/mac/XPCService/NetworkService.Development/NetworkServiceMain.Development.mm:
  • NetworkProcess/EntryPoint/mac/XPCService/NetworkService/Info.plist:
  • NetworkProcess/EntryPoint/mac/XPCService/NetworkService/NetworkServiceMain.mm:
  • PluginProcess/EntryPoint/mac/XPCService/PluginService.32/Info.plist:
  • PluginProcess/EntryPoint/mac/XPCService/PluginService.32/PluginService.32.Main.mm:
  • PluginProcess/EntryPoint/mac/XPCService/PluginService.64/Info.plist:
  • PluginProcess/EntryPoint/mac/XPCService/PluginService.64/PluginService.64.Main.mm:
  • PluginProcess/EntryPoint/mac/XPCService/PluginService.Development/Info.plist:
  • PluginProcess/EntryPoint/mac/XPCService/PluginService.Development/PluginService.Development.Main.mm:
  • WebProcess/EntryPoint/mac/XPCService/WebContentService.Development/Info.plist:
  • WebProcess/EntryPoint/mac/XPCService/WebContentService.Development/WebContentServiceMain.Development.mm:
  • WebProcess/EntryPoint/mac/XPCService/WebContentService/Info.plist:
  • WebProcess/EntryPoint/mac/XPCService/WebContentService/WebContentServiceMain.mm:

Switch off the the old idiom of defining a macro for the initializer function, and instead set
it in the Info.plist, so the XPCServiceBootstrapper can grab it.

  • Shared/EntryPointUtilities/mac/XPCService/XPCServiceBootstrapper.Development.h:

(WebKit::XPCServiceEventHandler):

  • Shared/EntryPointUtilities/mac/XPCService/XPCServiceBootstrapper.h:

(WebKit::XPCServiceEventHandler):
Get the entry point from the bundle, rather than the macro. This is not only a bit less gross,
but also allows us to build without having linked against WebKit2.framework.

  • UIProcess/Plugins/mac/PluginProcessProxyMac.mm:

(WebKit::shouldUseXPC):
Re-enable using XPC for plug-ins.

  • WebKit2.xcodeproj/project.pbxproj:

Update project.

9:14 PM Changeset in webkit [142427] by eric@webkit.org
  • 15 edits
    2 adds in trunk/Source/WebCore

Make the existing HTMLPreloadScanner threading-aware
https://bugs.webkit.org/show_bug.cgi?id=107807

Reviewed by Adam Barth.

The HTMLPreloadScanner and CSSPreloadScanner do a number of things.
CSSPreloadScanner is mostly just a helper class for HTMLPreloadScanner.
HTMLPreloadScanner runs its own copy of the HTMLTokenizer and uses
HTMLTokenizer::updateStateFor to emulate enough of the TreeBuilder
to get a realistic stream of tokens. It does some additional TreeBuilder
emulation, including tracking template tags and base tags, but mostly
just scans the token stream for start-tags and looks for URLs in them.
It tracks when it has seen a <style> tag and starts sending all character tokens
to the CSSPreloadScanner until a </style> tag is seen.
It also (unfortunately) knows some about the loader guts and how to construct
a proper CachedResourcRequest and issue a preload.

This patch changes the model so that the preload scanners only know how to produce
PreloadRequest objects and append them to a passed-in vector.

This changes the preload-scanner behavior so that preloads are now all issued in one large
batch at the end of scanning, instead of as we hit each resource. It's possible that
we'll wait to instead check for preload requests more often, at a possible tradeoff
to tokenizing speed.

An alternate approach might be to pass in a preload-delegate of sorts which knew how
to either build a vector, or send requests immediately. For now the build-a-vector-always
approach seems clean, and does not seem to slow down our PerformanceTest microbenchmarks at least.

This patch has 2 main pieces:

  • Remove Document and (and loader) dependencies from HTMLPreloadScanner/CSSPreloadScanner This is done through introduction of a new HTMLResourcePreloader class which holds a Document* and knows how to talk to the CachedResourceLoader.
  • Clean-up HTMLPreloadScanners token-loop to not be tied to having a Tokenizer. (On a background thead, the HTMLPreloadScanner won't own the tokenizer, it will just

be passed in tokens and expected to issue loads if necessary.)

This passes all of the LayoutTests using the main thread parser.

This patch does not make the HTMLPreloadScanner 100% ready for threading
(it still uses AtomicString which is currently not-OK on the parser thread)
but it's very close. Two further (already written) patches will complete this.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • Target.pri:
  • WebCore.gypi:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.xcodeproj/project.pbxproj:
  • html/parser/CSSPreloadScanner.cpp:

(WebCore::CSSPreloadScanner::CSSPreloadScanner):
(WebCore::CSSPreloadScanner::scan):
(WebCore::CSSPreloadScanner::emitRule):

  • html/parser/CSSPreloadScanner.h:

(CSSPreloadScanner):

  • html/parser/HTMLDocumentParser.cpp:

(WebCore::HTMLDocumentParser::HTMLDocumentParser):
(WebCore::HTMLDocumentParser::pumpTokenizer):
(WebCore::HTMLDocumentParser::insert):
(WebCore::HTMLDocumentParser::append):
(WebCore::HTMLDocumentParser::appendCurrentInputStreamToPreloadScannerAndScan):

  • html/parser/HTMLDocumentParser.h:

(HTMLDocumentParser):

  • html/parser/HTMLPreloadScanner.cpp:

(WebCore::isStartTag):
(WebCore):
(WebCore::isStartOrEndTag):
(WebCore::PreloadTask::processAttributes):
(WebCore::PreloadTask::charset):
(PreloadTask):
(WebCore::PreloadTask::resourceType):
(WebCore::PreloadTask::shouldPreload):
(WebCore::PreloadTask::createPreloadRequest):
(WebCore::HTMLPreloadScanner::HTMLPreloadScanner):
(WebCore::HTMLPreloadScanner::scan):
(WebCore::HTMLPreloadScanner::processPossibleTemplateTag):
(WebCore::HTMLPreloadScanner::processPossibleStyleTag):
(WebCore::HTMLPreloadScanner::processPossibleBaseTag):
(WebCore::HTMLPreloadScanner::processToken):

  • html/parser/HTMLPreloadScanner.h:

(HTMLPreloadScanner):

  • html/parser/HTMLResourcePreloader.cpp: Added.

(WebCore):
(WebCore::isStringSafeToSendToAnotherThread):
(WebCore::PreloadRequest::isSafeToSendToAnotherThread):
(WebCore::PreloadRequest::completeURL):
(WebCore::PreloadRequest::resourceRequest):
(WebCore::HTMLResourcePreloader::preload):

  • html/parser/HTMLResourcePreloader.h: Added.

(WebCore):
(PreloadRequest):
(WebCore::PreloadRequest::create):
(WebCore::PreloadRequest::PreloadRequest):
(HTMLResourcePreloader):
(WebCore::HTMLResourcePreloader::HTMLResourcePreloader):
(WebCore::HTMLResourcePreloader::createWeakPtr):

  • loader/cache/CachedResourceRequest.h:
8:37 PM Changeset in webkit [142426] by haraken@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed gardening. Rebaselined an image.

  • platform/chromium-mac-snowleopard/svg/custom/foreign-object-skew-expected.png:
8:29 PM Changeset in webkit [142425] by commit-queue@webkit.org
  • 2 edits in trunk/Websites/webkit.org

Add sisa.samsung.com to team.html
https://bugs.webkit.org/show_bug.cgi?id=109394

Patch by Laszlo Gombos <Laszlo Gombos> on 2013-02-10
Reviewed by Dirk Schulze.

  • team.html:
8:14 PM Changeset in webkit [142424] by haraken@chromium.org
  • 11 edits in trunk/Source/WebCore

[V8] Rename isolated() to getWorld(), rename worldForEnteredContextIfIsolated() to worldForEnteredContext()
https://bugs.webkit.org/show_bug.cgi?id=109039

Reviewed by Adam Barth.

This is a follow-up patch for r141983.
Rename methods for consistency.

No tests. No change in behavior.

  • bindings/v8/DOMDataStore.cpp:

(WebCore::DOMDataStore::current):

  • bindings/v8/DOMWrapperWorld.h:

(WebCore::DOMWrapperWorld::getWorld):

  • bindings/v8/ScriptController.cpp:

(WebCore::ScriptController::shouldBypassMainWorldContentSecurityPolicy):
(WebCore::ScriptController::currentWorldContext):

  • bindings/v8/V8Binding.h:

(WebCore::worldForEnteredContext):

  • bindings/v8/WorldContextHandle.cpp:

(WebCore::WorldContextHandle::WorldContextHandle):

  • bindings/v8/custom/V8DocumentCustom.cpp:

(WebCore::wrap):

  • bindings/v8/custom/V8HTMLDocumentCustom.cpp:

(WebCore::wrap):

  • bindings/v8/custom/V8SVGDocumentCustom.cpp:

(WebCore::wrap):

  • bindings/v8/custom/V8XMLHttpRequestCustom.cpp:

(WebCore::V8XMLHttpRequest::constructorCallbackCustom):

6:54 PM Changeset in webkit [142423] by aelias@chromium.org
  • 2 edits in trunk/Source/WebCore

[chromium] Fix Android scrollbar size
https://bugs.webkit.org/show_bug.cgi?id=109374

Reviewed by James Robinson.

This shrinks scrollbars to 3 device-independent pixels (usually 6
physical pixels) and deletes the edge fade. Although the Android
system theme does have an edge fade, it's a much sharper cliff
than we had (against black, the colors go 64 -> 64 -> 52 -> 21 -> 0)
and I can't perceive any difference compared with no fade at all.

No new tests (due for rewrite in a week anyway).

  • platform/chromium/ScrollbarThemeChromiumAndroid.cpp:

(WebCore):
(WebCore::ScrollbarThemeChromiumAndroid::paintThumb):

6:38 PM Changeset in webkit [142422] by commit-queue@webkit.org
  • 18 edits in trunk/Source/WebKit/chromium

[chromium] Enable more of webkit_unit_tests in component builds
https://bugs.webkit.org/show_bug.cgi?id=109369

Patch by James Robinson <jamesr@chromium.org> on 2013-02-10
Reviewed by Darin Fisher.

Updates all webkit_unit_tests (except for LevelDBTest) to go through the Platform API instead of directly
calling into webkit_support so they work in component builds.

  • WebKit.gyp:
  • tests/AssociatedURLLoaderTest.cpp:
  • tests/EventListenerTest.cpp:
  • tests/FrameTestHelpers.cpp:

(WebKit::FrameTestHelpers::createWebViewAndLoad):
(QuitTask):
(WebKit::FrameTestHelpers::QuitTask::run):
(FrameTestHelpers):
(WebKit::FrameTestHelpers::runPendingTasks):

  • tests/FrameTestHelpers.h:

(FrameTestHelpers):

  • tests/ListenerLeakTest.cpp:
  • tests/PopupMenuTest.cpp:
  • tests/PrerenderingTest.cpp:
  • tests/ScrollingCoordinatorChromiumTest.cpp:

(WebKit::ScrollingCoordinatorChromiumTest::~ScrollingCoordinatorChromiumTest):
(WebKit::ScrollingCoordinatorChromiumTest::navigateTo):

  • tests/URLTestHelpers.cpp:

(WebKit::URLTestHelpers::registerMockedURLLoad):

  • tests/WebFrameTest.cpp:
  • tests/WebImageTest.cpp:

(WebKit::readFile):

  • tests/WebPageNewSerializerTest.cpp:
  • tests/WebPageSerializerTest.cpp:
  • tests/WebPluginContainerTest.cpp:

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

  • tests/WebViewTest.cpp:
5:29 PM Changeset in webkit [142421] by haraken@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed gardening. Marked fast/frames/seamless/seamless-inherited-origin.html as FAIL.

  • platform/chromium/TestExpectations:
5:23 PM Changeset in webkit [142420] by haraken@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed gardening. Rebaselined svg/custom/foreign-object-skew.svg.

  • platform/chromium-mac-snowleopard/svg/custom/foreign-object-skew-expected.png:
5:16 PM Changeset in webkit [142419] by haraken@chromium.org
  • 7 edits in trunk/Source/WebCore

[V8] Remove V8GCController::m_edenNodes and make minor DOM GC more precise
https://bugs.webkit.org/show_bug.cgi?id=108579

Reviewed by Adam Barth.

Currently V8GCController::m_edenNodes stores a list of nodes whose
wrappers have been created since the latest GC. The reason why we
needed m_edenNodes is that there was no way to know a list of wrappers
in the new space of V8. By using m_edenNodes, we had been approximating
'wrappers in the new space' by 'wrappers that have been created since
the latest GC'.

Now V8 provides VisitHandlesForPartialDependence(), with which WebKit
can know a list of wrappers in the new space. By using the API, we can
remove V8GCController::m_edenNodes. The benefit is that (1) we no longer
need to keep m_edenNodes and that (2) it enables more precise minor
DOM GC (Remember that m_edenNodes was just an approximation).

Performance benchmark: https://bugs.webkit.org/attachment.cgi?id=185940
The benchmark runs 300 iterations, each of which creates 100000 elements.
The benchmark measures average, min, median, max and stdev of execution times
of the 300 iterations. This will tell us the worst-case overhead of this change.

Before:

mean=59.91ms, min=39ms, median=42ms, max=258ms, stdev=47.48ms

After:

mean=58.75ms, min=35ms, median=41ms, max=250ms, stdev=47.32ms

As shown above, I couldn't observe any performance regression.

No tests. No change in behavior.

  • bindings/v8/DOMDataStore.h:

(WebCore::DOMDataStore::setWrapperInObject):

  • bindings/v8/DOMWrapperWorld.h:

(DOMWrapperWorld):
(WebCore::DOMWrapperWorld::getWorldWithoutContextCheck):

  • bindings/v8/V8Binding.h:

(WebCore):
(WebCore::worldForEnteredContextIfIsolated):
(WebCore::worldForEnteredContextWithoutContextCheck):

  • bindings/v8/V8DOMWindowShell.cpp:

(WebCore::V8DOMWindowShell::initializeIfNeeded):

  • bindings/v8/V8GCController.cpp:

(WebCore::gcTree):
(WebCore):
(MinorGCWrapperVisitor):
(WebCore::MinorGCWrapperVisitor::MinorGCWrapperVisitor):
(WebCore::MinorGCWrapperVisitor::notifyFinished):
(WebCore::MajorGCWrapperVisitor::MajorGCWrapperVisitor):
(WebCore::V8GCController::gcPrologue):
(WebCore::V8GCController::minorGCPrologue):
(WebCore::V8GCController::majorGCPrologue):

  • bindings/v8/V8GCController.h:

(V8GCController):

1:50 PM Changeset in webkit [142418] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/chromium

Unreviewed. Rolled Chromium DEPS to r181645. Requested by
"James Robinson" <jamesr@chromium.org> via sheriffbot.

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2013-02-10

  • DEPS:
1:04 PM Changeset in webkit [142417] by commit-queue@webkit.org
  • 6 edits in trunk

Consolidate the way WTF_USE_PTHREADS is enabled
https://bugs.webkit.org/show_bug.cgi?id=108191

Patch by Laszlo Gombos <Laszlo Gombos> on 2013-02-10
Reviewed by Benjamin Poulain.

.:

Remove duplicated definition of WTF_USE_PTHREADS.

WTF_USE_PTHREADS is defined to 1 on all OS(UNIX) environments in
Platform.h.

  • Source/cmake/OptionsBlackBerry.cmake:
  • Source/cmake/OptionsEfl.cmake:

Source/WTF:

Define WTF_USE_PTHREADS to 1 on all OS(UNIX) environments.

  • WTF.gyp/WTF.gyp: Remove duplicated definition of WTF_USE_PTHREADS.
  • wtf/Platform.h:
12:11 PM Changeset in webkit [142416] by timothy_horton@apple.com
  • 3 edits
    5 adds in trunk

REGRESSION (r132422): Page content and scrollbars are incorrectly offset after restoring a page from the page cache
https://bugs.webkit.org/show_bug.cgi?id=109317
<rdar://problem/12649131>

Reviewed by Simon Fraser.

Mark all scrolling that occurs beneath FrameView::layout as programmatic.

Test: platform/mac-wk2/tiled-drawing/tiled-drawing-scroll-position-page-cache-restoration.html

  • page/FrameView.cpp:

(WebCore::FrameView::layout):

Add a test that ensures that scroll position is correctly restored for pages coming out of the page cache when tiled drawing is enabled.

  • platform/mac-wk2/tiled-drawing/resources/go-back.html: Added.
  • platform/mac-wk2/tiled-drawing/resources/scroll-and-load-page.html: Added.
  • platform/mac-wk2/tiled-drawing/tiled-drawing-scroll-position-page-cache-restoration.html: Added.
11:54 AM Changeset in webkit [142415] by timothy_horton@apple.com
  • 2 edits in trunk/Tools

Unreviewed attempted build fix for Gtk after r142412

  • WebKitTestRunner/gtk/PlatformWebViewGtk.cpp:

(WTR::PlatformWebView::PlatformWebView):

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

Unreviewed, rolling out r142413.
http://trac.webkit.org/changeset/142413
https://bugs.webkit.org/show_bug.cgi?id=109383

didn't fix the gtk build (Requested by thorton on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2013-02-10

  • WebKitTestRunner/gtk/PlatformWebViewGtk.cpp:
11:40 AM Changeset in webkit [142413] by timothy_horton@apple.com
  • 2 edits in trunk/Tools

Unreviewed attempted build fix for Gtk after r142412

  • WebKitTestRunner/gtk/PlatformWebViewGtk.cpp:
11:27 AM Changeset in webkit [142412] by timothy_horton@apple.com
  • 7 edits in trunk/Tools

WKTR should propagate view creation options to opened windows
https://bugs.webkit.org/show_bug.cgi?id=109381

Reviewed by Simon Fraser.

  • WebKitTestRunner/PlatformWebView.h:

(WTR::PlatformWebView::options):
Add storage and a getter for PlatformWebView's creation options dictionary.

  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::createOtherPage):
Propagate creation options from parent to child PlatformWebView when creating subwindows.

  • WebKitTestRunner/efl/PlatformWebViewEfl.cpp:

(WTR::PlatformWebView::PlatformWebView):

  • WebKitTestRunner/gtk/PlatformWebViewGtk.cpp:

(WTR::PlatformWebView::PlatformWebView):

  • WebKitTestRunner/mac/PlatformWebViewMac.mm:

(WTR::PlatformWebView::PlatformWebView):

  • WebKitTestRunner/qt/PlatformWebViewQt.cpp:

(WTR::PlatformWebView::PlatformWebView):
Store creation options on the PlatformWebView.

10:26 AM Changeset in webkit [142411] by Martin Robinson
  • 2 edits in trunk/Source/JavaScriptCore

Fix the GTK+ gyp build

reflect what's in the repository and remove the offsets extractor
from the list of JavaScriptCore files. It's only used to build
the extractor binary.

10:18 AM Changeset in webkit [142410] by tkent@chromium.org
  • 2 edits in trunk/Source/WebCore

[Mac] Fix release build failure by recent reverts

  • WebCore.exp.in:
9:55 AM Changeset in webkit [142409] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Add back code that was accidentally removed when moving plug-in enumeration back to the main thread
https://bugs.webkit.org/show_bug.cgi?id=109379

Reviewed by Andreas Kling.

  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::getPlugins):

9:48 AM Changeset in webkit [142408] by mitz@apple.com
  • 2 edits in trunk/Source/WebKit/mac

Added *.pdf to EXCLUDED_SOURCE_FILE_NAMES_iphoneos.

Rubber-stamped by Anders Carlsson.

  • Configurations/WebKit.xcconfig:
9:33 AM Changeset in webkit [142407] by Philippe Normand
  • 2 edits in trunk/LayoutTests

Unreviewed, GTK gardening.

  • platform/gtk/TestExpectations: Remove duplicate test expectation

for media/track/track-in-band-style.html.

9:29 AM Changeset in webkit [142406] by Philippe Normand
  • 9 edits in trunk

[GStreamer] media/video-controls-fullscreen-volume.html crashes
https://bugs.webkit.org/show_bug.cgi?id=108682

Reviewed by Martin Robinson.

Source/WebCore:

Clean up various signal handlers and avoid bad interaction between
the FullscreenVideoControllerGStreamer and its subclasses,
especially when the platform video window is created.

  • platform/graphics/gstreamer/FullscreenVideoControllerGStreamer.cpp:

(WebCore::FullscreenVideoControllerGStreamer::enterFullscreen):
Initialize the window before connecting to the volume/mute
signals. This ensures that the signals won't ever interfere with
an inexisting window.

  • platform/graphics/gstreamer/GStreamerGWorld.cpp:

(WebCore::GStreamerGWorld::~GStreamerGWorld): Remove GstBus
synchronous handler function.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:

(WebCore::MediaPlayerPrivateGStreamerBase::~MediaPlayerPrivateGStreamerBase):
Disconnect from volume/mute signals.
(WebCore::MediaPlayerPrivateGStreamerBase::setStreamVolumeElement):
Keep a trace of volume/mute signal handlers.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:

Various forward type declarations to avoid un-necessary header includes.
(MediaPlayerPrivateGStreamerBase):

  • platform/graphics/gtk/FullscreenVideoControllerGtk.cpp:

(WebCore::FullscreenVideoControllerGtk::FullscreenVideoControllerGtk):
(WebCore::FullscreenVideoControllerGtk::volumeChanged): Bail out
if volume button hasn't been created yet.
(WebCore::FullscreenVideoControllerGtk::muteChanged): Ditto.

LayoutTests:

  • platform/gtk/TestExpectations: Unflag now passing tests.
8:39 AM Changeset in webkit [142405] by tkent@chromium.org
  • 5 edits in trunk

Unreviewed, rolling out r142347.
http://trac.webkit.org/changeset/142347
https://bugs.webkit.org/show_bug.cgi?id=108273

Because a depending change r142343 was rolled out.

Source/WebKit2:

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

(WebKit::InjectedBundlePageUIClient::plugInStartLabelTitle):
(WebKit::InjectedBundlePageUIClient::plugInStartLabelSubtitle):

Tools:

  • WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:

(WTR::InjectedBundlePage::InjectedBundlePage):

8:04 AM Changeset in webkit [142404] by akling@apple.com
  • 5 edits in trunk/Source/WebCore

RenderStyle should use copy-on-write inheritance for NinePieceImage.
<http://webkit.org/b/109366>

Reviewed by Antti Koivisto.

Refactor NinePieceImage to hold a copy-on-write DataRef like other RenderStyle substructures.
This allows us to avoids copying the NinePieceImageData when one RenderStyle inherits from another
but modifies something in the substructure holding the NinePieceImage (typically StyleSurroundData.)

Also made RenderStyle not copy-on-write its StyleSurroundData prematurely when doing a no-op write
to a border-image related value.

1.23 MB progression on Membuster3.

  • rendering/style/NinePieceImage.cpp:

(WebCore::defaultData):
(WebCore::NinePieceImage::NinePieceImage):
(WebCore::NinePieceImageData::NinePieceImageData):
(WebCore::NinePieceImageData::operator==):

  • rendering/style/NinePieceImage.h:

(WebCore::NinePieceImageData::create):
(WebCore::NinePieceImageData::copy):
(NinePieceImageData):
(NinePieceImage):
(WebCore::NinePieceImage::operator==):
(WebCore::NinePieceImage::operator!=):
(WebCore::NinePieceImage::hasImage):
(WebCore::NinePieceImage::image):
(WebCore::NinePieceImage::setImage):
(WebCore::NinePieceImage::imageSlices):
(WebCore::NinePieceImage::setImageSlices):
(WebCore::NinePieceImage::fill):
(WebCore::NinePieceImage::setFill):
(WebCore::NinePieceImage::borderSlices):
(WebCore::NinePieceImage::setBorderSlices):
(WebCore::NinePieceImage::outset):
(WebCore::NinePieceImage::setOutset):
(WebCore::NinePieceImage::horizontalRule):
(WebCore::NinePieceImage::setHorizontalRule):
(WebCore::NinePieceImage::verticalRule):
(WebCore::NinePieceImage::setVerticalRule):
(WebCore::NinePieceImage::copyImageSlicesFrom):
(WebCore::NinePieceImage::copyBorderSlicesFrom):
(WebCore::NinePieceImage::copyOutsetFrom):
(WebCore::NinePieceImage::copyRepeatFrom):
(WebCore::NinePieceImage::setMaskDefaults):
(WebCore::NinePieceImage::computeOutset):

  • rendering/style/RenderStyle.cpp:

(WebCore::RenderStyle::setBorderImageSource):
(WebCore::RenderStyle::setBorderImageSlices):
(WebCore::RenderStyle::setBorderImageWidth):
(WebCore::RenderStyle::setBorderImageOutset):

  • rendering/style/RenderStyle.h:
7:05 AM Changeset in webkit [142403] by tkent@chromium.org
  • 2 edits in trunk/Tools

[Chromium] Build fix for r142371
https://bugs.webkit.org/show_bug.cgi?id=109313

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

(WebKit):

6:33 AM Changeset in webkit [142402] by tkent@chromium.org
  • 2 edits in trunk/LayoutTests

[Chromium] Test expectation update
https://bugs.webkit.org/show_bug.cgi?id=109376

  • platform/chromium/TestExpectations:

fast/frames/seamless/seamless-inherited-origin.html is failing on debug bots.

6:26 AM Changeset in webkit [142401] by Philippe Normand
  • 2 edits in trunk/LayoutTests

Unreviewed, GTK gardening.

  • platform/gtk/TestExpectations: Flag new failing media/track test.
6:24 AM Changeset in webkit [142400] by tkent@chromium.org
  • 21 edits in trunk/Source

Unreviewed, rolling out r142343.
http://trac.webkit.org/changeset/142343
https://bugs.webkit.org/show_bug.cgi?id=108284

It might make inspector/profiler/selector-profiler-url.html
crashy.

Source/WebCore:

  • WebCore.exp.in:
  • css/plugIns.css:

(p):

  • html/HTMLPlugInElement.cpp:

(WebCore::HTMLPlugInElement::defaultEventHandler):

  • html/HTMLPlugInImageElement.cpp:

(WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement):
(WebCore::HTMLPlugInImageElement::createRenderer):
(WebCore::HTMLPlugInImageElement::willRecalcStyle):
(WebCore::HTMLPlugInImageElement::updateSnapshot):
(WebCore::HTMLPlugInImageElement::userDidClickSnapshot):
(WebCore::HTMLPlugInImageElement::subframeLoaderWillCreatePlugIn):

  • html/HTMLPlugInImageElement.h:

(WebCore):
(HTMLPlugInImageElement):

  • page/ChromeClient.h:

(WebCore::ChromeClient::plugInStartLabelImage):

  • platform/LocalizedStrings.cpp:
  • platform/LocalizedStrings.h:
  • platform/blackberry/LocalizedStringsBlackBerry.cpp:
  • platform/chromium/LocalizedStringsChromium.cpp:
  • platform/efl/LocalizedStringsEfl.cpp:

(WebCore):

  • platform/gtk/LocalizedStringsGtk.cpp:

(WebCore):

  • platform/qt/LocalizedStringsQt.cpp:
  • rendering/RenderSnapshottedPlugIn.cpp:

(WebCore):
(WebCore::RenderSnapshottedPlugIn::RenderSnapshottedPlugIn):
(WebCore::RenderSnapshottedPlugIn::paint):
(WebCore::RenderSnapshottedPlugIn::paintReplaced):
(WebCore::RenderSnapshottedPlugIn::paintSnapshot):
(WebCore::RenderSnapshottedPlugIn::paintReplacedSnapshot):
(WebCore::RenderSnapshottedPlugIn::startLabelImage):
(WebCore::RenderSnapshottedPlugIn::paintReplacedSnapshotWithLabel):
(WebCore::RenderSnapshottedPlugIn::getCursor):
(WebCore::RenderSnapshottedPlugIn::handleEvent):
(WebCore::RenderSnapshottedPlugIn::tryToFitStartLabel):

  • rendering/RenderSnapshottedPlugIn.h:

Source/WebKit2:

  • WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp:

(WebKit::InjectedBundlePageUIClient::plugInStartLabelImage):
(WebKit):

  • WebProcess/InjectedBundle/InjectedBundlePageUIClient.h:

(InjectedBundlePageUIClient):

  • WebProcess/WebCoreSupport/WebChromeClient.cpp:

(WebKit::WebChromeClient::plugInStartLabelImage):
(WebKit):

  • WebProcess/WebCoreSupport/WebChromeClient.h:

(WebChromeClient):

6:13 AM Changeset in webkit [142399] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WTF

Refactor the way HAVE_XXX macros are set
https://bugs.webkit.org/show_bug.cgi?id=108132

Patch by Laszlo Gombos <Laszlo Gombos> on 2013-02-10
Reviewed by Benjamin Poulain.

OS(WINDOWS) and OS(UNIX) are so broadly defined that for each
builds exactly one of them is enabled. Use this assumption to
cleanup Platform.h.

  • wtf/Platform.h:
5:44 AM Changeset in webkit [142398] by akling@apple.com
  • 3 edits in trunk/Source/WebCore

RenderText: Access characters through m_text instead of caching data pointers separately.
<http://webkit.org/b/109357>

Reviewed by Antti Koivisto.

Go through RenderText::m_text.impl() instead of caching the character data pointer.
RenderText should never have a null String in m_text so it's safe to access impl() directly.
We have assertions for this since before.

Removing this pointer shrinks RenderText by 8 bytes, allowing it to fit into a snugger size class.
749 KB progression on Membuster3.

  • rendering/RenderText.cpp:

(SameSizeAsRenderText):
(WebCore::RenderText::RenderText):
(WebCore::RenderText::setTextInternal):

  • rendering/RenderText.h:

(WebCore::RenderText::is8Bit):
(WebCore::RenderText::characters8):
(WebCore::RenderText::characters16):
(WebCore::RenderText::characterAt):
(WebCore::RenderText::operator[]):
(RenderText):

5:01 AM Changeset in webkit [142397] by tkent@chromium.org
  • 2 edits in trunk/LayoutTests

[Chromium] Test expectation update
https://bugs.webkit.org/show_bug.cgi?id=92941

  • platform/chromium/TestExpectations:

accessibility/loading-iframe-updates-axtree.html is [ Timeout ].

4:49 AM FeatureFlags edited by tkent@chromium.org
Remove GLIB_SUPPORT, add ENCRYPTED_MEDiA_V2 and NOSNIFF (diff)
4:42 AM Changeset in webkit [142396] by Christophe Dumez
  • 2 edits in trunk/LayoutTests

Unreviewed EFL gardening.

Unskip fast/encoding/parser-tests-*.html tests now that the crashes
have been fixed by r142385.

  • platform/efl-wk2/TestExpectations:
3:23 AM Changeset in webkit [142395] by commit-queue@webkit.org
  • 18 edits in trunk

Rename ENABLE(GLIB_SUPPORT) to USE(GLIB)
https://bugs.webkit.org/show_bug.cgi?id=104266

Patch by Jae Hyun Park <jae.park08@gmail.com> on 2013-02-10
Reviewed by Philippe Normand.

Using USE(GLIB) instead of ENABLE(GLIB_SUPPORT) is more consistent with
the existing macro naming conventions.

From Platform.h
USE() - use a particular third-party library or optional OS service
ENABLE() - turn on a specific feature of WebKit

.:

  • Source/autotools/SetupAutoconfHeader.m4:
  • Source/cmake/OptionsEfl.cmake:

Source/WebCore:

No new tests, no new functionality.

  • WebCore.pri:

Source/WebKit/gtk:

  • gyp/Configuration.gypi:

Source/WebKit/mac:

  • WebView/WebView.mm:

(-[WebView _commonInitializationWithFrameName:groupName:]):
(-[WebView _close]):

  • WebView/WebViewData.h:
  • WebView/WebViewInternal.h:

Source/WTF:

  • WTF.pri:
  • wtf/Platform.h:
  • wtf/gobject/GOwnPtr.cpp:
  • wtf/gobject/GOwnPtr.h:
  • wtf/gobject/GRefPtr.cpp:
  • wtf/gobject/GRefPtr.h:
2:44 AM Changeset in webkit [142394] by zandobersek@gmail.com
  • 3 edits in trunk/Tools

gtkdoc-scangobj throwing warnings when using Clang, causes generate-gtkdoc to fail
https://bugs.webkit.org/show_bug.cgi?id=109315

Patch by Zan Dobersek <zdobersek@igalia.com> on 2013-02-10
Reviewed by Philippe Normand.

  • GNUmakefile.am: Define the CC environment variable to the CC compiler that the whole

project was configured to use. This ensures both the regular build and the gtkdoc-scangobj
program use the same compiler.

  • gtk/generate-gtkdoc: Add '-Qunused-arguments' to the CFLAGS in case we're using Clang. This

forces Clang to suppress unused arguments warnings that can unnecessarily cause generate-gtkdoc
script to fail.

2:42 AM Changeset in webkit [142393] by zandobersek@gmail.com
  • 2 edits in trunk/Source/WebKit2

[WebKit2][Gtk] Remove the fullscreen manager proxy message receiver upon invalidating
https://bugs.webkit.org/show_bug.cgi?id=109352

Patch by Zan Dobersek <zdobersek@igalia.com> on 2013-02-10
Reviewed by Sam Weinig.

As added for the Mac port in r142160 due to the changes in the same revision, remove
the fullscreen manager proxy as a message receiver. Also fixes a failing unit test.

  • UIProcess/gtk/WebFullScreenManagerProxyGtk.cpp:

(WebKit::WebFullScreenManagerProxy::invalidate):

2:40 AM Changeset in webkit [142392] by zandobersek@gmail.com
  • 2 edits in trunk/Source/WebCore

[GTK] Build errors in TextureMapperShaderProgram.cpp when compiling with Clang
https://bugs.webkit.org/show_bug.cgi?id=109321

Patch by Zan Dobersek <zdobersek@igalia.com> on 2013-02-10
Reviewed by Noam Rosenthal.

Clang is reporting errors due to non-constant expressions that cannot be narrowed
from double to float type in initializer list when constructing a matrix of GC3Dfloat
numbers. To avoid this every parameter is passed through an explicit GC3Dfloat constructor.

No new tests - no new functionality.

  • platform/graphics/texmap/TextureMapperShaderProgram.cpp:

(WebCore::TextureMapperShaderProgram::setMatrix):

2:00 AM Changeset in webkit [142391] by Philippe Normand
  • 2 edits in trunk/Source/WebCore

[GStreamer] audio is muted when playback rate is between 0.8 and 2.0
https://bugs.webkit.org/show_bug.cgi?id=109362

Reviewed by Martin Robinson.

Don't mute sound if the audio pitch is preserved. If this is not
the case mute it if it's too extreme, as the HTML5 spec recommends.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::MediaPlayerPrivateGStreamer::setRate):

12:36 AM Changeset in webkit [142390] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

[WK2] Fix build on PLUGIN_ARCHITECTURE(UNSUPPORTED) after r142314
https://bugs.webkit.org/show_bug.cgi?id=109364

Patch by Zoltan Arvai <zarvai@inf.u-szeged.hu> on 2013-02-10
Reviewed by Simon Hausmann.

void NetscapePlugin::platformPreInitialize() is need to be added to NetscapePluginNone.cpp.

  • WebProcess/Plugins/Netscape/NetscapePluginNone.cpp:

(WebKit::NetscapePlugin::platformPreInitialize):
(WebKit):

Note: See TracTimeline for information about the timeline view.