Timeline



Feb 18, 2013:

11:57 PM Changeset in webkit [143303] by hayato@chromium.org
  • 9 edits
    2 adds in trunk

Make EventDispatcher take an Event object in its constructor.
https://bugs.webkit.org/show_bug.cgi?id=109898

Reviewed by Dimitri Glazkov.

Source/WebCore:

Re-landing r143145, which caused a crash when deltaX and deltaY of a PlatformWheelEvent are both zero.

Fixed a crash by early exiting in EventDispatcher::dispatchEvent(Node*, PassRefPtr<EventDispatcher*>)
if mediator's event() returns null.

Also Added a layout test to catch this kind of crash in the future.

Test: fast/events/platform-wheelevent-with-delta-zero-crash.html

  • dom/EventDispatchMediator.cpp:

(WebCore::EventDispatchMediator::dispatchEvent):

  • dom/EventDispatcher.cpp:

(WebCore::EventDispatcher::dispatchEvent):
(WebCore::EventDispatcher::EventDispatcher):
(WebCore::EventDispatcher::ensureEventPath):
(WebCore::EventDispatcher::dispatchSimulatedClick):
(WebCore::EventDispatcher::dispatch):
(WebCore::EventDispatcher::dispatchEventPreProcess):
(WebCore::EventDispatcher::dispatchEventAtCapturing):
(WebCore::EventDispatcher::dispatchEventAtTarget):
(WebCore::EventDispatcher::dispatchEventAtBubbling):
(WebCore::EventDispatcher::dispatchEventPostProcess):

  • dom/EventDispatcher.h:

(EventDispatcher):
(WebCore::EventDispatcher::node):
(WebCore::EventDispatcher::event):

  • dom/FocusEvent.cpp:

(WebCore::FocusEventDispatchMediator::dispatchEvent):
(WebCore::BlurEventDispatchMediator::dispatchEvent):
(WebCore::FocusInEventDispatchMediator::dispatchEvent):
(WebCore::FocusOutEventDispatchMediator::dispatchEvent):

  • dom/GestureEvent.cpp:

(WebCore::GestureEventDispatchMediator::dispatchEvent):

  • dom/MouseEvent.cpp:

(WebCore::MouseEventDispatchMediator::dispatchEvent):

  • dom/WheelEvent.cpp:

(WebCore::WheelEventDispatchMediator::dispatchEvent):
Assert event() rather than an early exit since this code path should be hit only when event() is non-null.

LayoutTests:

  • fast/events/platform-wheelevent-with-delta-zero-crash-expected.txt: Added.
  • fast/events/platform-wheelevent-with-delta-zero-crash.html: Added.
11:48 PM Changeset in webkit [143302] by Carlos Garcia Campos
  • 7 edits in trunk/Source/WebKit2

[GTK] Remove webkit_web_view_get_subresources from WebKit2 GTK+ API
https://bugs.webkit.org/show_bug.cgi?id=110125

Reviewed by Anders Carlsson.

This API is currently implemented caching all resources in the
WebView which causes some problems in documents loading resources
indefinitely. This API was used in WebKit1 mainly to implement
webkit_web_view_save(), but we already have such API in
WebKit2.

  • UIProcess/API/gtk/WebKitInjectedBundleClient.cpp:

(didReceiveWebViewMessageFromInjectedBundle):

  • UIProcess/API/gtk/WebKitWebView.cpp:

(_WebKitWebViewPrivate):
(webkitWebViewLoadChanged):

  • UIProcess/API/gtk/WebKitWebView.h:
  • UIProcess/API/gtk/WebKitWebViewPrivate.h:
  • UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
  • UIProcess/API/gtk/tests/TestResources.cpp:

(testWebViewResources):
(testWebResourceGetData):

11:39 PM Changeset in webkit [143301] by rniwa@webkit.org
  • 2 edits in trunk/LayoutTests

Add a flaky failing test expectation to inspector/editor/brace-matcher.html on Mac per bug 110186.

  • platform/mac/TestExpectations:
11:31 PM Changeset in webkit [143300] by tasak@google.com
  • 5 edits
    2 adds in trunk

:before/:after pseudo elements do not always apply to the proper element
https://bugs.webkit.org/show_bug.cgi?id=93925

Reviewed by Dimitri Glazkov.

Source/WebCore:

Disable sharing a style with siblings if :after or :before pseudo style
is unique.

Test: fast/css/before-after-pseudo-class.html

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::canShareStyleWithElement):
Added a new condition, hasUniquePseudoStyle.

  • rendering/style/RenderStyle.cpp:

(WebCore::RenderStyle::hasUniquePseudoStyle):
Added to check whether any pseudo style has unique bit or not.
(WebCore):

  • rendering/style/RenderStyle.h:

LayoutTests:

  • fast/css/before-after-pseudo-class-expected.html: Added.
  • fast/css/before-after-pseudo-class.html: Added.
11:22 PM Changeset in webkit [143299] by aestes@apple.com
  • 5 edits
    2 adds in trunk

Focusing a new frame (via window.focus()) should blur the active element in the current frame
https://bugs.webkit.org/show_bug.cgi?id=110172

Reviewed by Ryosuke Niwa.

Source/WebCore:

When a change in the focused node crosses a frame boundary, WebKit
doesn't always succeed in blurring the old focused node before focusing
the new one.

Each document remembers its focused node, and a Page-scoped
FocusController remembers the focused frame. If a new focused node is
in a different frame than the focused frame, FocusController tells the
old frame's document to clear its focused node before focusing the new
one (and remembering the new frame).

Unfortunately, web content can confuse FocusController by calling
window.focus() at the wrong time. Since window.focus() changes
FocusController's focused frame without focusing a new node,
FocusController won't think that a frame boundary is being crossed if a
node in this frame is later focused. Therefore it won't clear the old
frame's focused node (it won't even know which frame contained the old
focused node), causing at least two bugs:

1) The node in the old frame will not receive a blur event.
2) Calling document.activeElement on the main frame will return the

previously focused node, but the HTML5 spec says it should return
the frame owner element if a subframe has focus.

Fix both of these bugs by explicitly clearing the current frame's
focused node if window.focus() changes the focused frame. This fix
carries some compatibility risk by changing a long-standing behavior
of the engine (we've had this bug since the beginning of the project,
AFAICT). On the upside, it matches the behavior of both Firefox and IE,
matches what HTML5 says about subframe focus, and fixes at least one
well-known enterprise web app.

Tests: fast/dom/HTMLDocument/active-element-frames.html

fast/frames/frame-focus-blurs-active-element.html

  • page/DOMWindow.cpp:

(WebCore::DOMWindow::focus): If the frame being focused is not the same
as the currently focused frame, clear the currently focused frame's
focused node.

LayoutTests:

  • fast/dom/HTMLDocument/active-element-frames-expected.txt:
  • fast/dom/HTMLDocument/active-element-frames.html: Modified to run the

test a second time, focusing each element's frame before focusing the
element itself.

  • fast/frames/frame-focus-blurs-active-element-expected.txt: Added.
  • fast/frames/frame-focus-blurs-active-element.html: Added a test that

verifies a blur event is fired on the active element when a new frame
is focused.

11:18 PM Changeset in webkit [143298] by loislo@chromium.org
  • 2 edits in trunk/Tools

Unreviewed. Adjust expectations.

  • TestWebKitAPI/Tests/WebCore/HeapGraphSerializerTest.cpp:

(TestWebKitAPI::TEST):

10:57 PM Changeset in webkit [143297] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit2

[WK2][EFL] Stop using internal C++ API in ewk_error
https://bugs.webkit.org/show_bug.cgi?id=108796

Patch by Christophe Dumez <dchris@gmail.com> on 2013-02-18
Reviewed by Benjamin Poulain.

Stop using internal C++ API in ewk_error and use C API instead of avoid
violating API layering.

  • UIProcess/API/efl/ewk_error.cpp:

(EwkError::domain):
(EwkError::isCancellation):
(ewk_error_type_get):

  • UIProcess/API/efl/ewk_error_private.h:

(EwkError):

10:39 PM Changeset in webkit [143296] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

[EFL][WebGL] Enable test webgl/conformance/canvas/texture-bindings-unaffected-on-resize.html.
https://bugs.webkit.org/show_bug.cgi?id=110176

Patch by Kondapally Kalyan <kalyan.kondapally@intel.com> on 2013-02-18
Reviewed by Laszlo Gombos.

Enable the test for EFL port, as it passes after r143220.

  • platform/efl-wk2/TestExpectations:
10:35 PM Changeset in webkit [143295] by Simon Fraser
  • 30 edits in trunk/Source

Clean up the boolean argument to visibleContentRect
https://bugs.webkit.org/show_bug.cgi?id=110167

Source/WebCore:

Reviewed by Simon Fraser.

Replace the boolean argument to visibleContentRect() with
an enum.

No behavior change.

  • WebCore.exp.in:
  • dom/Document.cpp:

(WebCore::Document::viewportSize):

  • inspector/InspectorOverlay.cpp:

(WebCore::InspectorOverlay::update):

  • page/DOMWindow.cpp:

(WebCore::DOMWindow::innerHeight):
(WebCore::DOMWindow::innerWidth):

  • page/FrameView.cpp:

(WebCore::FrameView::calculateScrollbarModesForLayout):
(WebCore::FrameView::layout):
(WebCore::FrameView::performPostLayoutTasks):
(WebCore::FrameView::windowClipRect):

  • page/SpatialNavigation.cpp:

(WebCore::canScrollInDirection):

  • platform/ScrollView.cpp:

(WebCore::ScrollView::unscaledVisibleContentSize):
(WebCore::ScrollView::visibleContentRect):
(WebCore::ScrollView::layoutSize):
(WebCore::ScrollView::updateScrollbars):
(WebCore::ScrollView::paint):

  • platform/ScrollView.h:
  • platform/ScrollableArea.cpp:

(WebCore::ScrollableArea::visibleContentRect):

  • platform/ScrollableArea.h:
  • rendering/RenderDialog.cpp:

(WebCore::RenderDialog::layout):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::maximumScrollPosition):
(WebCore::RenderLayer::visibleContentRect):

  • rendering/RenderLayer.h:
  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::frameViewDidChangeSize):
(WebCore::RenderLayerCompositor::updateRootLayerPosition):

Source/WebKit/blackberry:

Reviewed by Simon Fraser.

Replace the boolean argument to visibleContentRect() with
an enum.

  • Api/WebPage.cpp:

(BlackBerry::WebKit::WebPagePrivate::getRecursiveVisibleWindowRect):

  • WebKitSupport/InRegionScrollableArea.cpp:

(BlackBerry::WebKit::InRegionScrollableArea::InRegionScrollableArea):

Source/WebKit/chromium:

Reviewed by Simon Fraser.

Replace the boolean argument to visibleContentRect() with
an enum.

  • src/ChromeClientImpl.cpp:

(WebKit::ChromeClientImpl::popupOpened):

Source/WebKit/efl:

Reviewed by Simon Fraser.

Replace the boolean argument to visibleContentRect() with
an enum.

  • ewk/ewk_frame.cpp:

(ewk_frame_visible_content_geometry_get):

Source/WebKit/win:

Reviewed by Simon Fraser.

Replace the boolean argument to visibleContentRect() with
an enum.

  • WebFrame.cpp:

(WebFrame::visibleContentRect):
(WebFrame::frameBounds):

Source/WebKit2:

Reviewed by Simon Fraser.

Replace the boolean argument to visibleContentRect() with
an enum.

  • WebProcess/WebPage/WebFrame.cpp:

(WebKit::WebFrame::visibleContentBounds):
(WebKit::WebFrame::visibleContentBoundsExcludingScrollbars):

10:27 PM Changeset in webkit [143294] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebCore

That didn't work either. Just make it public. This is why I hate nested classes. They just don't work.

  • rendering/RenderBlock.h:

(RenderBlock):

10:12 PM Changeset in webkit [143293] by rniwa@webkit.org
  • 3 edits in trunk/Source/WebCore

Windows build fix. Apparently Visual Studio still has a lot of bugs with respect to nested classes.
Work around it by directly instantiating the class inside createFloatingObjects.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::createFloatingObjects): Directly instantiate FloatingObjects.

  • rendering/RenderBlock.h:

(RenderBlock): Moved the declaration of createFloatingObjects up.
(FloatingObjects::FloatingObjects):

9:51 PM Changeset in webkit [143292] by loislo@chromium.org
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed build fix for Apple Windows. Second stage.
Add missed export statement.

7:52 PM Changeset in webkit [143291] by rniwa@webkit.org
  • 2 edits in trunk/LayoutTests

Add a flaky crash expectation to video-controls-captions-trackmenu.html on Mac per bug 110173.

  • platform/mac/TestExpectations:
7:42 PM Changeset in webkit [143290] by rniwa@webkit.org
  • 3 edits in trunk/Source/WebCore

Merge handleSpecialChild into layoutBlockChildren
https://bugs.webkit.org/show_bug.cgi?id=110165

Reviewed by Darin Adler.

Merge handleSpecialChild, handlePositionedChild, and handleFloatingChild into layoutBlockChildren
to make the semantics of the code clear and to get rid of the outdated comment about how there are
four types of four types of special children.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::layoutBlockChildren):

  • rendering/RenderBlock.h:

(RenderBlock):

7:38 PM Changeset in webkit [143289] by rniwa@webkit.org
  • 3 edits in trunk/Source/WebCore

Encapsulate FloatingObject's constructor inside create
https://bugs.webkit.org/show_bug.cgi?id=110169

Reviewed by Darin Adler.

Added FloatingObject::create and made FloatingObject's constructor private.
Also added RenderBlock::ensureFloatingObjects to help lazily creating FloatingObjects.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::insertFloatingObject):
(WebCore::RenderBlock::addOverhangingFloats):
(WebCore::RenderBlock::addIntrudingFloats):
(WebCore::RenderBlock::ensureFloatingObjects):
(WebCore::RenderBlock::FloatingObjects::create):
(WebCore::RenderBlock::FloatingObjects::FloatingObjects):

  • rendering/RenderBlock.h:

(FloatingObjects):
(RenderBlock):

7:20 PM Changeset in webkit [143288] by rniwa@webkit.org
  • 2 edits in trunk/LayoutTests

Remove a stale Mac test expectation.

  • platform/mac/TestExpectations:
6:55 PM Changeset in webkit [143287] by andersca@apple.com
  • 16 edits in trunk/Source

Add a DefaultHash for RefPtr<SecurityOrigin>
https://bugs.webkit.org/show_bug.cgi?id=110170

Reviewed by Andreas Kling.

Remove all explicit uses of SecurityOriginHash.

Source/WebCore:

  • Modules/webdatabase/DatabaseTracker.h:
  • Modules/webdatabase/OriginQuotaManager.h:
  • loader/appcache/ApplicationCacheStorage.cpp:

(WebCore::ApplicationCacheStorage::getOriginsWithCache):

  • loader/cache/MemoryCache.h:
  • page/SecurityOriginHash.h:
  • storage/StorageNamespaceImpl.h:

(StorageNamespaceImpl):

Source/WebKit/mac:

  • WebCoreSupport/WebApplicationCache.mm:

(+[WebApplicationCache originsWithCache]):

Source/WebKit2:

  • UIProcess/Storage/StorageManager.cpp:

(StorageManager::SessionStorageNamespace):

  • WebProcess/ApplicationCache/WebApplicationCacheManager.cpp:

(WebKit::WebApplicationCacheManager::getApplicationCacheOrigins):

  • WebProcess/InjectedBundle/InjectedBundle.cpp:

(WebKit::InjectedBundle::originsWithApplicationCache):

  • WebProcess/Notifications/NotificationPermissionRequestManager.h:

Include SecurityOriginHash.h. This fixes a bug where m_originToIDMap used pointer-equality
for looking up security origins.

  • WebProcess/ResourceCache/WebResourceCacheManager.cpp:

(WebKit::WebResourceCacheManager::clearCacheForOrigin):
This can just take a const reference.

  • WebProcess/ResourceCache/WebResourceCacheManager.h:
6:34 PM Changeset in webkit [143286] by roger_fong@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Unreviewed Windows build fix.

  • JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreExports.def:
  • JavaScriptCore.vcxproj/JavaScriptCoreExportGenerator/JavaScriptCoreExports.def.in:
6:02 PM Changeset in webkit [143285] by cevans@google.com
  • 2 edits in branches/chromium/1410/Source/WebCore/Modules/mediastream

Merge 142887
BUG=176033
Review URL: https://codereview.chromium.org/12297021

6:01 PM Changeset in webkit [143284] by hyatt@apple.com
  • 5 edits
    2 adds in trunk

Padding and border changes don't trigger the relayout of children in some cases.
https://bugs.webkit.org/show_bug.cgi?id=109639.

Reviewed by Ryosuke Niwa.

Source/WebCore:

The fix for this bug was way too general and involved putting code into RenderBox. Since
RenderBox makes no assumptions about what kind of layout system might derive from it, it
was incorrect to just mark all children as needing layout whenever borders and padding
changed widths.

This patch takes the two cases handled by the original code and makes them more
specialized down in subclasses, i.e., RenderBlock and RenderTableRow. RenderBlock has
been refined to only check if children aren't inline and to also not invalidate
floats or irrelevant positioned objects that might not even have this block as their
containing block.

The RenderTableRow code is specialized to only care about collapsing borders and
to only check borders rather than padding. It also requires that a child be a cell
in order to do the invalidation.

Covered by existing tests, since this is just specializing the code to more precisely
cover the test cases that have already been written.

Longer term, it should be layout code that figures this stuff out rather than style
change code, but that involves more dramatic changes that can wait.

Test: fast/block/positioning/border-change-relayout-test.html

  • rendering/RenderBlock.cpp:

(WebCore::borderOrPaddingLogicalWidthChanged):
(WebCore):
(WebCore::RenderBlock::styleDidChange):

  • rendering/RenderBox.cpp:

(WebCore):
(WebCore::RenderBox::styleDidChange):

  • rendering/RenderTableRow.cpp:

(WebCore::borderLogicalWidthChanged):
(WebCore):
(WebCore::RenderTableRow::styleDidChange):

LayoutTests:

  • fast/block/positioning/border-change-relayout-test-expected.html: Added.
  • fast/block/positioning/border-change-relayout-test.html: Added.
5:56 PM Changeset in webkit [143283] by Darin Adler
  • 3 edits in trunk/Source/JavaScriptCore

Remove unneeded explicit function template arguments.
https://bugs.webkit.org/show_bug.cgi?id=110043

Reviewed by Ryosuke Niwa.

  • runtime/Identifier.cpp:

(JSC::IdentifierASCIIStringTranslator::hash): Let the compiler deduce the type
when calling computeHashAndMaskTop8Bits.
(JSC::IdentifierLCharFromUCharTranslator::hash): Ditto.

  • runtime/Identifier.h:

(JSC::IdentifierCharBufferTranslator::hash): Ditto.

5:55 PM Changeset in webkit [143282] by mark.lam@apple.com
  • 3 edits in trunk/Source/WebCore

Small follow up to r143271: Fix SQLTransaction leak.
https://bugs.webkit.org/show_bug.cgi?id=110052.

Reviewed by Geoffrey Garen.

Applied Geoff's suggestion nullify m_frontend sooner for greater
code clarity. Also added some comments about m_frontend.

No new tests.

  • Modules/webdatabase/SQLTransactionBackend.cpp:

(WebCore::SQLTransactionBackend::doCleanup):

  • Modules/webdatabase/SQLTransactionBackend.h:

(SQLTransactionBackend):

5:51 PM Changeset in webkit [143281] by cevans@google.com
  • 4 edits
    2 copies in branches/chromium/1410

Merge 143060
BUG=170184
Review URL: https://codereview.chromium.org/12301012

5:45 PM Changeset in webkit [143280] by Darin Adler
  • 2 edits in trunk/Source/WTF

Style tweaks to StringHasher.h
https://bugs.webkit.org/show_bug.cgi?id=110042

Reviewed by Alexey Proskuryakov.

I have a bug fix coming soon, but figured I'd separate out style tweaks and land them
first to make that patch easier to undrestand.

  • wtf/StringHasher.h: Tweak and rearrange comments a bit.

(WTF::StringHasher::addCharacter): Use character instead of ch.
(WTF::StringHasher::addCharacters): Use remainder instead of rem. Also capitalize the U
that we use to make an unsigned 1 constant.
(WTF::StringHasher::computeHashAndMaskTop8Bits): Ditto.
(WTF::StringHasher::hashMemory): Change version that takes size as a template argument
to call the version that takes the size at runtime, since both generate the same code
anyway. Added a FIXME questioning why this function uses the "mask top 8 bits" version
of the hash. Fix incorrect compile assertion that required sizes that are multiples
of four. This function works on sizes that are multiples of two. Also fixed a spelling
error where we called it a "multible".
(WTF::StringHasher::defaultConverter): Use character instead of ch.
(WTF::StringHasher::addCharactersToHash): Eliminated unnecessary local variable.

5:39 PM Changeset in webkit [143279] by ggaren@apple.com
  • 17 edits
    3 adds in trunk

Shrank the SourceProvider cache
https://bugs.webkit.org/show_bug.cgi?id=110158

Reviewed by Oliver Hunt.

Source/JavaScriptCore:

CodeCache is now our primary source cache, so a long-lived SourceProvider
cache is a waste. I measured this as a 10MB Membuster win; with more
precise instrumentation, Andreas estimated it as up to 30MB.

I didn't eliminate the SourceProvider cache because it's still useful
in speeding up uncached parsing of scripts with large nested functions
(i.e., all scripts).

  • heap/Heap.cpp:

(JSC::Heap::collect): Discard all source provider caches after GC. This
is a convenient place to do so because it's reasonably soon after initial
parsing without being immediate.

  • parser/Parser.cpp:

(JSC::::Parser): Updated for interface change: The heap now owns the
source provider cache, since most SourceProviders are not expected to
have one by default, and the heap is responsible for throwing them away.

(JSC::::parseInner): No need to update statistics on cache size, since
we're going to throw it away no matter what.

(JSC::::parseFunctionInfo): Reduced the minimum function size to 16. This
is a 27% win on a new parsing micro-benchmark I've added. Now that the
cache is temporary, we don't have to worry so much about its memory
footprint.

  • parser/Parser.h:

(Parser): Updated for interface changes.

  • parser/SourceProvider.cpp:

(JSC::SourceProvider::SourceProvider):
(JSC::SourceProvider::~SourceProvider):

  • parser/SourceProvider.h:

(JSC):
(SourceProvider): SourceProvider doesn't own its cache anymore because
the cache is temporary.

  • parser/SourceProviderCache.cpp:

(JSC::SourceProviderCache::clear):
(JSC::SourceProviderCache::add):

  • parser/SourceProviderCache.h:

(JSC::SourceProviderCache::SourceProviderCache):
(SourceProviderCache):

  • parser/SourceProviderCacheItem.h:

(SourceProviderCacheItem): No need to update statistics on cache size,
since we're going to throw it away no matter what.

  • runtime/JSGlobalData.cpp:

(JSC::JSGlobalData::addSourceProviderCache):
(JSC):
(JSC::JSGlobalData::clearSourceProviderCaches):

  • runtime/JSGlobalData.h:

(JSC):
(JSGlobalData): Moved the cache here so it's easier to throw away.

Source/WebCore:

Test: fast/js/regress/nested-function-parsing.html

No need to keep statistics on cache size, since we're going to throw it
away no matter what.

  • WebCore.order:
  • bindings/js/CachedScriptSourceProvider.h:

(CachedScriptSourceProvider):
(WebCore::CachedScriptSourceProvider::CachedScriptSourceProvider):

  • loader/cache/CachedScript.cpp:

(WebCore::CachedScript::destroyDecodedData):
(WebCore):
(WebCore::CachedScript::reportMemoryUsage):

  • loader/cache/CachedScript.h:

(CachedScript):

LayoutTests:

New benchmark to show that a minimum size of 16 is better than 64.

  • fast/js/regress/nested-function-parsing-expected.txt: Added.
  • fast/js/regress/nested-function-parsing.html: Added.
  • fast/js/regress/script-tests/nested-function-parsing.js: Added.
5:29 PM Changeset in webkit [143278] by bfulgham@webkit.org
  • 2 edits in trunk/Source/WebKit

[Windows] Unreviewed VS2010 build correction.

  • WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in: Sync

export definition with VS2005 version.

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

Begin stubbing out session storage classes
https://bugs.webkit.org/show_bug.cgi?id=110168

Reviewed by Andreas Kling.

  • UIProcess/Storage/StorageManager.cpp:

(StorageManager::StorageArea):
(WebKit):
(WebKit::StorageManager::StorageArea::create):
(WebKit::StorageManager::StorageArea::StorageArea):
(WebKit::StorageManager::StorageArea::~StorageArea):
(StorageManager::SessionStorageNamespace):
(WebKit::StorageManager::SessionStorageNamespace::isEmpty):
(WebKit::StorageManager::SessionStorageNamespace::create):
(WebKit::StorageManager::SessionStorageNamespace::SessionStorageNamespace):
(WebKit::StorageManager::SessionStorageNamespace::~SessionStorageNamespace):
(WebKit::StorageManager::SessionStorageNamespace::cloneTo):
(WebKit::StorageManager::createSessionStorageNamespaceInternal):
(WebKit::StorageManager::destroySessionStorageNamespaceInternal):
(WebKit::StorageManager::cloneSessionStorageNamespaceInternal):

  • UIProcess/Storage/StorageManager.h:

(StorageManager):

5:15 PM Changeset in webkit [143276] by fpizlo@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

DFG backend Branch handling has duplicate code and dead code
https://bugs.webkit.org/show_bug.cgi?id=110162

Reviewed by Mark Hahnenberg.

Streamline the code, and make the 64 backend's optimizations make more sense
(i.e. not be dead code).

  • dfg/DFGSpeculativeJIT32_64.cpp:

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

  • dfg/DFGSpeculativeJIT64.cpp:

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

4:40 PM Changeset in webkit [143275] by Christophe Dumez
  • 16 edits
    2 moves
    10 adds in trunk/Source/WebKit2

[EFL][WK2] Add C API for popup menu and popup item
https://bugs.webkit.org/show_bug.cgi?id=109083

Reviewed by Anders Carlsson.

WK2 EFL delegates display of the popup menu to the browser which causes
us to have a strong interdependency between internal C++ classes
(WebPopupMenuProxyEfl, WebPopupItem) and our EFL API implementation
(EwkView, EwkPopupMenu, EwkPopupMenuItem).

Since we want to remove this interdependency, this patch introduces a
for WebPopupMenuProxyEfl (WKPopupMenuListener) and for WebPopupItem
(WKPopupItem). It also introduces a WKPage client with callbacks for
showPopupMenu and hidePopupMenu.

Note that the popup menu functionality is covered by ewk_popup_menu API
tests and no functionality is lost.

  • PlatformEfl.cmake: Add new files to EFL CMake config.
  • Shared/API/c/efl/WKBaseEfl.h: Add typedefs for WKPopupItemRef and

WKPopupMenuListenerRef.

  • Shared/APIObject.h: Add new TypePopupMenuItem APIObject type for EFL

platform.

  • UIProcess/API/C/efl/WKAPICastEfl.h: Add mapping for WKPopupItemRef

and WKPopupMenuListenerRef API types.
(WebKit):
(WebKit::toAPI):

  • UIProcess/API/C/efl/WKPageEfl.cpp: Added.

(WKPageSetUIPopupMenuClient): Add new C API to set the UI Popup Menu
client on the page.

  • UIProcess/API/C/efl/WKPageEfl.h: Added.
  • UIProcess/API/C/efl/WKPopupItem.cpp: Added. Add C API for WebPopupItem.

(WKPopupItemGetType):
(WKPopupItemGetTextDirection):
(WKPopupItemHasTextDirectionOverride):
(WKPopupItemCopyText):
(WKPopupItemCopyToolTipText):
(WKPopupItemCopyAccessibilityText):
(WKPopupItemIsEnabled):
(WKPopupItemIsLabel):
(WKPopupItemIsSelected):

  • UIProcess/API/C/efl/WKPopupItem.h: Added.
  • UIProcess/API/C/efl/WKPopupMenuListener.cpp: Added. Add C API for

WebPopupMenuListenerEfl (formerly WebPopupMenuProxyEfl) so that the
client can report which popup menu item was selected.
(WKPopupMenuListenerSetSelection):

  • UIProcess/API/C/efl/WKPopupMenuListener.h: Added.
  • UIProcess/API/efl/EwkView.cpp: Remove dependency on internal C++ types

(WebPopupMenuProxyEfl and WebPopupItem) and use C API types instead.
(EwkView::requestPopupMenu):

  • UIProcess/API/efl/EwkView.h:

(WebKit):
(EwkView):

  • UIProcess/API/efl/ewk_popup_menu.cpp: Use C API for Popup menu.

(EwkPopupMenu::EwkPopupMenu):
(EwkPopupMenu::setSelectedIndex):

  • UIProcess/API/efl/ewk_popup_menu_private.h:

(EwkPopupMenu::create):
(EwkPopupMenu):

  • UIProcess/WebPageProxy.cpp: Use WKPageUIPopupMenuClient to show / hide

the popup menu on EFL port instead of asking the WebPopupMenuProxy.
(WebKit::WebPageProxy::close):
(WebKit::WebPageProxy::showPopupMenu):
(WebKit::WebPageProxy::hidePopupMenu):

  • UIProcess/WebPageProxy.h: Add new WKPageUIPopupMenuClient member and

corresponding initialization method.
(WebPageProxy):

  • UIProcess/WebPopupMenuProxy.h: Disable showPopupMenu / hidePopupMenu

virtual methods on EFL port since we go via WKPageUIPopupMenuClient
for this now.
(WebPopupMenuProxy):

  • UIProcess/efl/PageUIClientEfl.cpp:

(WebKit::PageUIClientEfl::PageUIClientEfl): Handle WKPageUIPopupMenuClient
callbacks and call corresponding EwkView methods. Previously, the EwkView
methods were called by the internal WebPageProxyEfl class which is no
longer needed.
(WebKit::PageUIClientEfl::showPopupMenu):
(WebKit):
(WebKit::PageUIClientEfl::hidePopupMenu):

  • UIProcess/efl/PageUIClientEfl.h:

(PageUIClientEfl):

  • UIProcess/efl/WebPageProxyEfl.cpp:

(WebKit::WebPageProxy::initializeUIPopupMenuClient):
(WebKit):

  • UIProcess/efl/WebPopupItemEfl.cpp: Added. Add APIObject wrapper for

WebPopupItem so that we can use it in WKPageUIPopupMenuClient.
(WebKit):
(WebKit::WebPopupItemEfl::WebPopupItemEfl):
(WebKit::WebPopupItemEfl::~WebPopupItemEfl):

  • UIProcess/efl/WebPopupItemEfl.h: Added.

(WebKit):
(WebPopupItemEfl):
(WebKit::WebPopupItemEfl::create):
(WebKit::WebPopupItemEfl::data):
(WebKit::WebPopupItemEfl::itemType):
(WebKit::WebPopupItemEfl::text):
(WebKit::WebPopupItemEfl::textDirection):
(WebKit::WebPopupItemEfl::hasTextDirectionOverride):
(WebKit::WebPopupItemEfl::toolTipText):
(WebKit::WebPopupItemEfl::accessibilityText):
(WebKit::WebPopupItemEfl::isEnabled):
(WebKit::WebPopupItemEfl::isLabel):
(WebKit::WebPopupItemEfl::isSelected):
(WebKit::WebPopupItemEfl::type):

  • UIProcess/efl/WebPopupMenuListenerEfl.cpp: Renamed from Source/WebKit2/UIProcess/efl/WebPopupMenuProxyEfl.cpp.

Use WebPopupMenuListenerEfl name instead of WebPopupMenuProxyEfl since
it more accurately represents its functionality now.
(WebKit):
(WebKit::WebPopupMenuListenerEfl::WebPopupMenuListenerEfl):
(WebKit::WebPopupMenuListenerEfl::valueChanged):

  • UIProcess/efl/WebPopupMenuListenerEfl.h: Renamed from Source/WebKit2/UIProcess/efl/WebPopupMenuProxyEfl.h.

(WebKit):
(WebPopupMenuListenerEfl):
(WebKit::WebPopupMenuListenerEfl::create):

  • UIProcess/efl/WebUIPopupMenuClient.cpp: Added.

(WebUIPopupMenuClient::showPopupMenu):
(WebUIPopupMenuClient::hidePopupMenu):

  • UIProcess/efl/WebUIPopupMenuClient.h: Added.

(WebKit):
(WebUIPopupMenuClient):

  • UIProcess/efl/WebView.cpp:

(WebKit::WebView::createPopupMenuProxy):

4:30 PM WebKit Team edited by kbalazs@webkit.org
(diff)
4:19 PM Changeset in webkit [143274] by bfulgham@webkit.org
  • 4 edits in trunk/Source/JavaScriptCore

[Windows] Unreviewed VS2010 build correction after r143273.

file SourceProvider.cpp.

  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters: Ditto.
  • JavaScriptCore.vcxproj/JavaScriptCoreExportGenerator/JavaScriptCoreExports.def.in: Add missing exports.
4:03 PM Changeset in webkit [143273] by andersca@apple.com
  • 5 edits in trunk/Source/WebKit2

Add StorageManager member functions for keeping track of session storage namespaces
https://bugs.webkit.org/show_bug.cgi?id=110163

Reviewed by Andreas Kling.

  • UIProcess/Storage/StorageManager.cpp:

(WebKit::StorageManager::createSessionStorageNamespace):
(WebKit):
(WebKit::StorageManager::destroySessionStorageNamespace):
(WebKit::StorageManager::cloneSessionStorageNamespace):
(WebKit::StorageManager::createSessionStorageNamespaceInternal):
(WebKit::StorageManager::destroySessionStorageNamespaceInternal):
(WebKit::StorageManager::cloneSessionStorageNamespaceInternal):

  • UIProcess/Storage/StorageManager.h:

(StorageManager):

  • UIProcess/WebContext.h:

(WebKit::WebContext::storageManager):
(WebContext):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::close):
(WebKit::WebPageProxy::createNewPage):

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

[Curl] The function cookiesForDOM() does not behave correctly.
https://bugs.webkit.org/show_bug.cgi?id=109923

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

The cookiesForDOM() function should return a list of matching cookies, both persistent and session cookies.

  • platform/network/curl/CookieJarCurl.cpp:

(WebCore::readCurlCookieToken): Added function to read next token from Curl cookie string.
(WebCore::addMatchingCurlCookie): Added function to add matching cookies to cookie list.
(WebCore::setCookiesFromDOM): Add domain and path from url to cookie if not already set.
(WebCore::cookiesForDOM): Return a list of matching cookies, both session and persistent cookies.

3:42 PM Changeset in webkit [143271] by mark.lam@apple.com
  • 11 edits in trunk/Source/WebCore

Fix SQLTransaction leak.
https://bugs.webkit.org/show_bug.cgi?id=110052.

Reviewed by Geoffrey Garen.

With https://bugs.webkit.org/show_bug.cgi?id=104750, there is now a circular
reference between SQLTransaction and its backend. The clean up process needs
to be fixed to explicitly break this reference cycle.

The 5 phases of the SQLTransaction (and backend) phases and their clean up
actions are:

Phase 1. After Birth, before scheduling

  • During shutdown, DatabaseThread::databaseThread() calls DatabaseBackendAsync::close(). DatabaseBackendAsync::close() iterates DatabaseBackendAsync::m_transactionQueue and calls SQLtransactionBackend::notifyDatabaseThreadIsShuttingDown() on each transaction there.

Phase 2. After scheduling, before state AcquireLock

  • ~DatabaseTask() calls SQLtransactionBackend's notifyDatabaseThreadIsShuttingDown().

Phase 3. After state AcquireLock, before "lockAcquired"

  • During shutdown, DatabaseThread::databaseThread() calls SQLTransactionCoordinator::shutdown(), which calls SQLTransactionBackend::notifyDatabaseThreadIsShuttingDown().

Phase 4: After "lockAcquired", before state CleanupAndTerminate

  • Same as Phase 3.

Phase 5: After state CleanupAndTerminate

  • state CleanupAndTerminate calls SQLTransactionBackend::doCleanup().

See comment at the top of SQLTransactionBackend.cpp for more details.

Other supporting changes:

  • Moved Database::close() to the DatabaseBackendAsync.
  • Moved the "if already cleaned up" check from SQLTransactionBackend's notifyDatabaseThreadIsShuttingDown() to doCleanup().
  • Added a check to prevent SQLTransactionCoordinator's releaseLock() from running when it's shutting down.

No new tests.

  • Modules/webdatabase/Database.cpp:
  • Modules/webdatabase/Database.h:
  • Modules/webdatabase/DatabaseBackendAsync.cpp:

(WebCore::DatabaseBackendAsync::close): Move from Database.cpp.

  • Modules/webdatabase/DatabaseBackendAsync.h:
  • Modules/webdatabase/DatabaseTask.cpp:

(WebCore::DatabaseBackendAsync::DatabaseTransactionTask::DatabaseTransactionTask):
(WebCore::DatabaseBackendAsync::DatabaseTransactionTask::~DatabaseTransactionTask):
(WebCore::DatabaseBackendAsync::DatabaseTransactionTask::doPerformTask):

  • Modules/webdatabase/DatabaseTask.h:

(DatabaseBackendAsync::DatabaseTransactionTask):

  • Modules/webdatabase/DatabaseThread.cpp:

(WebCore::DatabaseThread::databaseThread):

  • Modules/webdatabase/SQLTransactionBackend.cpp:

(WebCore::SQLTransactionBackend::doCleanup):
(WebCore::SQLTransactionBackend::notifyDatabaseThreadIsShuttingDown):
(WebCore::SQLTransactionBackend::cleanupAndTerminate):

  • Modules/webdatabase/SQLTransactionCoordinator.cpp:

(WebCore::SQLTransactionCoordinator::SQLTransactionCoordinator):
(WebCore::SQLTransactionCoordinator::acquireLock):
(WebCore::SQLTransactionCoordinator::releaseLock):
(WebCore::SQLTransactionCoordinator::shutdown):

  • Modules/webdatabase/SQLTransactionCoordinator.h:

(SQLTransactionCoordinator):

3:29 PM Changeset in webkit [143270] by ddkilzer@apple.com
  • 2 edits in trunk/Source/WebCore

Fix WebCore Xcode project

  • WebCore.xcodeproj/project.pbxproj: Fix path for CDMPrivate.h.
3:21 PM Changeset in webkit [143269] by fpizlo@apple.com
  • 4 edits
    3 adds in trunk

Structure::flattenDictionaryStructure should compute max offset in a manner that soundly handles the case where the property list becomes empty
https://bugs.webkit.org/show_bug.cgi?id=110155
<rdar://problem/13233773>

Source/JavaScriptCore:

Reviewed by Mark Rowe.

This was a rookie mistake. It was doing:

for (blah) {

m_offset = foo foo's monotonically increase in the loop

}

as a way of computing max offset for all of the properties. Except what if the loop doesn't
execute because there are no properties? Well, then, you're going to have a bogus m_offset.

The solution is to initialize m_offset at the top of the loop.

  • runtime/Structure.cpp:

(JSC::Structure::flattenDictionaryStructure):

LayoutTests:

Reviewed by Mark Rowe.

  • fast/js/flatten-dictionary-structure-from-which-all-properties-were-deleted-expected.txt: Added.
  • fast/js/flatten-dictionary-structure-from-which-all-properties-were-deleted.html: Added.
  • fast/js/jsc-test-list:
  • fast/js/script-tests/flatten-dictionary-structure-from-which-all-properties-were-deleted.js: Added.
3:15 PM Changeset in webkit [143268] by jchaffraix@webkit.org
  • 3 edits in trunk/Source/WebCore

[CSS Grid Layout] Refactor grid position resolution code to support an internal grid representation
https://bugs.webkit.org/show_bug.cgi?id=109718

Reviewed by Ojan Vafai.

In order to support auto placement (where we can't infer a grid item's position from its style),
we need to have 2 code paths:

  • One that places the elements on the grid representation.
  • One that reuse the grid representation to return the position.

This code path implements this split so that we can add auto placement in a follow-up patch(es).
Also in order to avoid a O(n2) behavior [walking over our grid to find a grid item's position],
the cached position code path needed an efficient way to find the grid items -> position mapping.

Refactoring, covered by existing tests.

  • rendering/RenderGrid.cpp:

(WebCore::RenderGrid::cachedGridCoordinate):
(WebCore::RenderGrid::resolveGridPositionFromStyle):
These methods implements the above split. The first one
reuses our cached information whereas the other one is
used to build the cache.

(WebCore::RenderGrid::computeIntrinsicLogicalWidths):
(WebCore::RenderGrid::layoutGridItems):
Added some code to clear the grid items' position.

(WebCore::RenderGrid::findChildLogicalPosition):
(WebCore::RenderGrid::logicalContentHeightForChild):
Updated these functions to use cachedGridPosition.

(WebCore::RenderGrid::maximumIndexInDirection):
Added a comment about why we don't use cachedGridPosition.

(WebCore::RenderGrid::insertItemIntoGrid):
Added this helper function to insert into the grid and
cache the position in the reverse lookup map.

(WebCore::RenderGrid::placeItemsOnGrid):
Updated to call insertItemIntoGrid. Also added an ASSERT
similar to m_grid.

(WebCore::RenderGrid::clearGrid):
Added this helper function to clear our grid structure.

  • rendering/RenderGrid.h:

(GridCoordinate):
(WebCore::RenderGrid::GridCoordinate::GridCoordinate):
Added this POD to hold the coordinates in our reverse map.

3:07 PM Changeset in webkit [143267] by schenney@chromium.org
  • 37 edits
    2 adds in trunk

feFlood incorrectly applied color-interpolation-filters
https://bugs.webkit.org/show_bug.cgi?id=109985

Reviewed by Dirk Schulze.

Source/WebCore:

The SVG spec defines the color-interpolation-filters property for all
filter effect elements in order to control cases where a color is
based on some arithmetic computation on other colors. For example,
when computing gradients or blending colors. feFlood simply fills a
region with the given color, and that given color is always defined to
be in sRGB space, so the feFlood result should always be sRGB.

The new behavior matches both Opera and Firefox.

Tests: svg/filters/feFlood-color-interpolation-expected.svg

svg/filters/feFlood-color-interpolation.svg

  • platform/graphics/filters/FEFlood.cpp:

(WebCore::FEFlood::platformApplySoftware): Force the color mode to be
sRGB before returning.

LayoutTests:

New test for feFlood behavior when color-interpolation-filters is used.

Failing expectations for tests affected by this change.

  • platform/chromium/TestExpectations:
  • platform/mac/TestExpectations:
  • platform/win/TestExpectations:
  • svg/filters/feFlood-color-interpolation-expected.svg: Added.
  • svg/filters/feFlood-color-interpolation.svg: Added.
3:00 PM Changeset in webkit [143266] by hyatt@apple.com
  • 2 edits in trunk/LayoutTests

Just skip the seamless iframe flowed into regions test on chromium. It's failing with a repaint issue.

  • platform/chromium/TestExpectations:
2:38 PM Changeset in webkit [143265] by ap@apple.com
  • 2 edits in trunk/Source/WTF

Make HexNumber functions return 8-bit strings
https://bugs.webkit.org/show_bug.cgi?id=110152

Reviewed by Michael Saboff.

  • wtf/HexNumber.h: (Internal): (WTF::Internal::hexDigitsForMode): (WTF::appendByteAsHex): (WTF::placeByteAsHexCompressIfPossible): (WTF::placeByteAsHex): (WTF::appendUnsignedAsHex): (WTF::appendUnsignedAsHexFixedSize): Use LChar everywhere.
2:31 PM Changeset in webkit [143264] by mark.lam@apple.com
  • 15 edits
    2 adds in trunk/Source/WebCore

Introduced AbstractSQLStatement and AbstractSQLStatementBackend.
https://bugs.webkit.org/show_bug.cgi?id=110148.

Reviewed by Geoff Garen.

This is part of the webdatabase refactoring for webkit2.

  • Also changed the frontend and backend to only refer to the abstract interface of each other.

No new tests.

  • GNUmakefile.list.am:
  • Modules/webdatabase/AbstractSQLStatement.h: Added.

(AbstractSQLStatement):
(WebCore::AbstractSQLStatement::~AbstractSQLStatement):

  • Modules/webdatabase/AbstractSQLStatementBackend.h: Added.

(AbstractSQLStatementBackend):
(WebCore::AbstractSQLStatementBackend::~AbstractSQLStatementBackend):

  • Modules/webdatabase/SQLStatement.cpp:

(WebCore::SQLStatement::setBackend):

  • Modules/webdatabase/SQLStatement.h:

(SQLStatement):

  • Modules/webdatabase/SQLStatementBackend.cpp:

(WebCore::SQLStatementBackend::create):
(WebCore::SQLStatementBackend::SQLStatementBackend):
(WebCore::SQLStatementBackend::frontend):

  • Modules/webdatabase/SQLStatementBackend.h:

(SQLStatementBackend):

  • Modules/webdatabase/SQLTransaction.cpp:

(WebCore::SQLTransaction::deliverStatementCallback):

  • Modules/webdatabase/SQLTransactionBackend.cpp:

(WebCore::SQLTransactionBackend::currentStatement):
(WebCore::SQLTransactionBackend::executeSQL):

  • Modules/webdatabase/SQLTransactionBackend.h:

(SQLTransactionBackend):

  • Target.pri:
  • WebCore.gypi:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
2:11 PM Changeset in webkit [143263] by ddkilzer@apple.com
  • 5 edits in trunk/Source/WebCore

BUILD FIX (r143230): Fix renamed header and implementation of -[WebAccessibilityObjectWrapper accessibilityPostedNotification:]
<http://webkit.org/b/110077>

Fixes the following build failures:

AccessibilityObjectIOS.mm:35:9: fatal error: 'AccessibilityObjectWrapperIOS.h' file not found
#import "AccessibilityObjectWrapperIOS.h"


1 error generated.

WebAccessibilityObjectWrapperIOS.mm:2051:35: error: use of undeclared identifier 'notificationString'; did you mean 'notificationType'?

if (AXNotificationCallback && notificationString)

~
notificationType

WebAccessibilityObjectWrapperIOS.mm:2049:81: note: 'notificationType' declared here

  • (void)accessibilityPostedNotification:(WebCore::AXObjectCache::AXNotification)notificationType


WebAccessibilityObjectWrapperIOS.mm:2052:38: error: use of undeclared identifier 'notificationString'; did you mean 'notificationType'?

AXNotificationCallback(self, notificationString, AXPostedNotificationContext);

~
notificationType

WebAccessibilityObjectWrapperIOS.mm:2049:81: note: 'notificationType' declared here

  • (void)accessibilityPostedNotification:(WebCore::AXObjectCache::AXNotification)notificationType


WebAccessibilityObjectWrapperIOS.mm:2052:38: error: cannot initialize a parameter of type 'NSString *' with an lvalue of type 'WebCore::AXObjectCache::AXNotification'

AXNotificationCallback(self, notificationString, AXPostedNotificationContext);

~

WebAccessibilityObjectWrapperIOS.mm:2049:81: error: conflicting parameter types in implementation of 'accessibilityPostedNotification:': 'NSString *' vs 'WebCore::AXObjectCache::AXNotification' [-Werror,-Wmismatched-parameter-types]

  • (void)accessibilityPostedNotification:(WebCore::AXObjectCache::AXNotification)notificationType


WebAccessibilityObjectWrapperBase.h:48:53: note: previous definition is here

  • (void)accessibilityPostedNotification:(NSString *)notificationName;


4 errors generated.

  • accessibility/ios/AccessibilityObjectIOS.mm: Fix name of

included header.

  • accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:

(-[WebAccessibilityObjectWrapper accessibilityPostedNotification:]):
Fix implementation to match declaration.

  • accessibility/ios/WebAccessibilityObjectWrapperIOS.h:
  • accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
  • accessibility/ios/AXObjectCacheIOS.mm:
  • Clean up #endif comments.
1:52 PM Changeset in webkit [143262] by andersca@apple.com
  • 6 edits in trunk/Source/WebKit2

StorageManager message handlers should take the connection
https://bugs.webkit.org/show_bug.cgi?id=110151

Reviewed by Andreas Kling.

  • Platform/CoreIPC/HandleMessage.h:

(CoreIPC):
(CoreIPC::callMemberFunction):
(CoreIPC::handleMessage):

  • Scripts/webkit2/messages.py:

(sync_message_statement):
(generate_message_handler):

  • UIProcess/Storage/StorageManager.cpp:

(WebKit::StorageManager::createStorageArea):
(WebKit::StorageManager::destroyStorageArea):
(WebKit::StorageManager::getValues):

  • UIProcess/Storage/StorageManager.h:

(StorageManager):

  • UIProcess/Storage/StorageManager.messages.in:
1:52 PM Changeset in webkit [143261] by jochen@chromium.org
  • 2 edits in trunk/LayoutTests

clear databases before running read-transactions-running-concurrently test
https://bugs.webkit.org/show_bug.cgi?id=110144

Reviewed by Nico Weber.

Otherwise, we might not have enough quota when running this tests and lots
of databases from previous tests are hanging around.

  • storage/websql/read-transactions-running-concurrently.html:
1:44 PM Changeset in webkit [143260] by Lucas Forschler
  • 6 edits in tags/Safari-537.31.3/Source

Merge <rdar://problem/12968169>

1:37 PM Changeset in webkit [143259] by jer.noble@apple.com
  • 6 edits
    2 adds in trunk/Source/WebCore

EME: Add a CDMPrivate implementation using AVFoundation.
https://bugs.webkit.org/show_bug.cgi?id=109739

Reviewed by Eric Carlson.

Add a CDMPrivate implementation using AVFoundation, similar to the EME v1 implementation
in MediaPlayerPrivateAVFoundationObjC. This requires passing the AVAssetResourceLoadingRequest
from the MediaPlayerPrivateAVFoundationObjC instance to CDMSessionAVFoundation. To do so
without adding platform-specific API to MediaPlayer, add a static map from MediaPlayer ->
MediaPlayerPrivateAVFoundationObjC instances to be used to vend the AVAssetResourceLoadingRequest
to CDMSessionAVFoundation.

  • Modules/encryptedmedia/CDM.cpp:

(WebCore::installedCDMFactories): Add the factory for CDMPrivateAVFoundation.

  • Modules/encryptedmedia/CDM.h:
  • Modules/encryptedmedia/CDMPrivateAVFoundation.h: Added.

(WebCore::CDMPrivateAVFoundation::create): Simple factory method.
(WebCore::CDMPrivateAVFoundation::~CDMPrivateAVFoundation): Simple virtual destructor.
(WebCore::CDMPrivateAVFoundation::cdm): Simple getter.
(WebCore::CDMPrivateAVFoundation::CDMPrivateAVFoundation): Simple constructor.

  • Modules/encryptedmedia/CDMPrivateAVFoundation.mm: Added.

(WebCore::CDMSessionAVFoundation::~CDMSessionAVFoundation): Simple destructor.
(WebCore::CDMPrivateAVFoundation::supportsKeySytem): Check whether the given key system is supported.
(WebCore::CDMPrivateAVFoundation::supportsMIMEType): Check whether the given MIME type is supported.
(WebCore::CDMPrivateAVFoundation::createSession): Return a new CDMSessionAVFoundation.
(WebCore::CDMSessionAVFoundation::CDMSessionAVFoundation): Simple constructor.
(WebCore::CDMSessionAVFoundation::generateKeyRequest): Retrieve the AVAssetResourceLoadingRequest

from the MediaPlayer, and use it to generate a key request.

(WebCore::CDMSessionAVFoundation::releaseKeys): No-op.
(WebCore::CDMSessionAVFoundation::update): Add the passed in key to the AVAssetResourceLoadingRequest.

  • WebCore.xcodeproj/project.pbxproj:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:

(WebCore::playerToPrivateMap): Lazily instantiate static map.
(WebCore::MediaPlayerPrivateAVFoundationObjC::MediaPlayerPrivateAVFoundationObjC): Register with the playerToPrivateMap.
(WebCore::MediaPlayerPrivateAVFoundationObjC::~MediaPlayerPrivateAVFoundationObjC): Unregister from same.
(WebCore::MediaPlayerPrivateAVFoundationObjC::shouldWaitForLoadingOfResource): Also send keyNeeded event in ENCRYPTED_MEDIA_V2.
(WebCore::MediaPlayerPrivateAVFoundationObjC::extractKeyURIKeyIDAndCertificateFromInitData): Convert this

method from file-static to class static.

(WebCore::MediaPlayerPrivateAVFoundationObjC::takeRequestForPlayerAndKeyURI): Pull the AVAssetResourceLoadingRequest

from m_keyURIToRequestMap and return it, if present.

1:36 PM Changeset in webkit [143258] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebKit2

[EFL][WK2] Use C API inside ewk_security_origin
https://bugs.webkit.org/show_bug.cgi?id=107923

Patch by Christophe Dumez <Christophe Dumez> on 2013-02-18
Reviewed by Alexey Proskuryakov.

Use C API inside ewk_security_origin instead of accessing
directly internal C++ classes, to avoid breaking API
layering.

  • UIProcess/API/efl/EwkView.cpp:

(EwkView::enterFullScreen):

  • UIProcess/API/efl/ewk_security_origin.cpp:

(EwkSecurityOrigin::EwkSecurityOrigin):

  • UIProcess/API/efl/ewk_security_origin_private.h:

(EwkSecurityOrigin::create):
(EwkSecurityOrigin):

1:25 PM Changeset in webkit [143257] by pdr@google.com
  • 3 edits
    2 adds in trunk

Fix scaling of tiled SVG backgrounds on high-dpi displays
https://bugs.webkit.org/show_bug.cgi?id=110047

Reviewed by Dirk Schulze.

Source/WebCore:

This patch fixes the scaling of SVG when used for drawing patterns. Tiled/patterend SVG
images are first drawn into an image buffer and then the image buffer is used to stamp
out tiles. Because it is a raster source, the size of the image buffer needs to
be scaled to the final resolution of the device. After scaling the image buffer, the
source rect and pattern transforms need to be adjusted so they align in device pixel
coordinates. This adjustment was not done before this patch, causing pixelated rendering.

Additionally, a FIXME has been added due to webkit.org/b/110065 and the image buffer
has been manually scaled (using "zoomedAndScaledContainerRect") instead of relying
on the ImageBuffer's resolutionScale parameter.

Test: svg/as-background-image/tiled-background-image.html

  • svg/graphics/SVGImage.cpp:

(WebCore::SVGImage::drawPatternForContainer):

Note that fixing the FIXME does not change that the source rect and transform need
to be adjusted for page scale.

LayoutTests:

  • svg/as-background-image/tiled-background-image-expected.html: Added.
  • svg/as-background-image/tiled-background-image.html: Added.
1:20 PM Changeset in webkit [143256] by hyatt@apple.com
  • 7 edits
    8 adds in trunk

Make seamless iframes paginate properly in their enclosing document's pagination context.
https://bugs.webkit.org/show_bug.cgi?id=106125
<rdar://problem/12922720> Text in iframe is clipped while printing

Reviewed by Simon Fraser.

Added new tests in fast/multicol and fast/region.

Source/WebCore:

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::clampToStartAndEndRegions):
Don't clamp when the RenderView is the containing block of an object in a RenderFlowThread.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::containerForRepaint):
Don't attempt any repaint container antics when we're in a seamless iframe, since the ancestor
document will actually do the handoff into the flow thread.

  • rendering/RenderView.cpp:

(WebCore::enclosingSeamlessRenderer):
Heper function to test for an enclosing seamless iframe.

(WebCore::RenderView::addChild):
Subclass addChild on RenderView to properly set the inRenderFlowThread state for a seamless
child document so thta it will check regions.

(WebCore::RenderView::initializeLayoutState):
New helper method for setting up the initial layout state of a RenderView. If inside a seamless
paginated ancestor, set up the appropriate pagination information so the child document
knows about it. This method will expand to inherit info about line grids and exclusions eventually
also.

(WebCore::RenderView::layout):
Now calls initializeLayoutState to set up the layout state.

  • rendering/RenderView.h:

(WebCore::RenderView::pageLogicalHeight):
(WebCore::RenderView::setPageLogicalHeight):
(RenderView):
Fix the type of the page logical height methods to be LayoutUnit instead of unsigned.

LayoutTests:

  • fast/multicol/resources/ipad.jpg: Added.
  • fast/multicol/resources/seamless.html: Added.
  • fast/multicol/seamless-flowed-through-columns-expected.html: Added.
  • fast/multicol/seamless-flowed-through-columns.html: Added.
  • fast/regions/resources/ipad.jpg: Added.
  • fast/regions/resources/seamless.html: Added.
  • fast/regions/seamless-iframe-flowed-into-regions-expected.html: Added.
  • fast/regions/seamless-iframe-flowed-into-regions.html: Added.
12:25 PM Changeset in webkit [143255] by Lucas Forschler
  • 3 edits in tags/Safari-537.31.3/Source/WebKit2

Merged r143111. <rdar://problem/13205468>

12:25 PM Changeset in webkit [143254] by benjamin@webkit.org
  • 2 edits in trunk/Source/WTF

Remove Vector::dataSlot(), it has no implementation
https://bugs.webkit.org/show_bug.cgi?id=109999

Patch by Benjamin Poulain <bpoulain@apple.com> on 2013-02-18
Reviewed by Andreas Kling.

VectorBufferBase does not implement any function bufferSlot().
The file only compiles because that part of the template is never
instantiated.

  • wtf/Vector.h:
12:22 PM Changeset in webkit [143253] by Lucas Forschler
  • 2 edits in tags/Safari-537.31.3/Source/WebKit2

Merged r143091. <rdar://problem/13212621>

12:19 PM Changeset in webkit [143252] by Lucas Forschler
  • 4 edits
    1 copy in tags/Safari-537.31.3

Merged r143074. <rdar://problem/13216100>

12:15 PM Changeset in webkit [143251] by Lucas Forschler
  • 8 edits in tags/Safari-537.31.3/Source/WebCore

Merged r142936. <rdar://problem/13210723>

12:08 PM Changeset in webkit [143250] by Lucas Forschler
  • 2 edits in tags/Safari-537.31.3/Source/WebKit2

Merged r142836. <rdar://problem/13211893>

12:05 PM Changeset in webkit [143249] by Lucas Forschler
  • 1 edit in tags/Safari-537.31.3/Source/WebCore/English.lproj/Localizable.strings

Update localizable strings.

11:29 AM Changeset in webkit [143248] by Christophe Dumez
  • 2 edits in trunk/Source/WTF

Move ENABLE macros for WebCore out from Platform.h
https://bugs.webkit.org/show_bug.cgi?id=105735

Unreviewed, build fix when NETSCAPE_PLUGIN_API is disabled.

Enable ENABLE_PLUGIN_PACKAGE_SIMPLE_HASH even if
NETSCAPE_PLUGIN_API is disabled (Qt, Efl, GTK, WX ports).

Patch by Laszlo Gombos <l.gombos@samsung.com> on 2013-02-18

  • wtf/FeatureDefines.h:
11:25 AM Changeset in webkit [143247] by commit-queue@webkit.org
  • 13 edits in trunk/Source

MIPS DFG implementation.
https://bugs.webkit.org/show_bug.cgi?id=101328

Patch by Balazs Kilvady <kilvadyb@homejinni.com> on 2013-02-18
Reviewed by Oliver Hunt.

DFG implementation for MIPS.

Source/JavaScriptCore:

  • assembler/MIPSAssembler.h:

(JSC::MIPSAssembler::MIPSAssembler):
(JSC::MIPSAssembler::sllv):
(JSC::MIPSAssembler::movd):
(MIPSAssembler):
(JSC::MIPSAssembler::negd):
(JSC::MIPSAssembler::labelForWatchpoint):
(JSC::MIPSAssembler::label):
(JSC::MIPSAssembler::vmov):
(JSC::MIPSAssembler::linkDirectJump):
(JSC::MIPSAssembler::maxJumpReplacementSize):
(JSC::MIPSAssembler::revertJumpToMove):
(JSC::MIPSAssembler::replaceWithJump):

  • assembler/MacroAssembler.h:

(MacroAssembler):
(JSC::MacroAssembler::poke):

  • assembler/MacroAssemblerMIPS.h:

(JSC::MacroAssemblerMIPS::add32):
(MacroAssemblerMIPS):
(JSC::MacroAssemblerMIPS::and32):
(JSC::MacroAssemblerMIPS::lshift32):
(JSC::MacroAssemblerMIPS::mul32):
(JSC::MacroAssemblerMIPS::or32):
(JSC::MacroAssemblerMIPS::rshift32):
(JSC::MacroAssemblerMIPS::urshift32):
(JSC::MacroAssemblerMIPS::sub32):
(JSC::MacroAssemblerMIPS::xor32):
(JSC::MacroAssemblerMIPS::store32):
(JSC::MacroAssemblerMIPS::jump):
(JSC::MacroAssemblerMIPS::branchAdd32):
(JSC::MacroAssemblerMIPS::branchMul32):
(JSC::MacroAssemblerMIPS::branchSub32):
(JSC::MacroAssemblerMIPS::branchNeg32):
(JSC::MacroAssemblerMIPS::call):
(JSC::MacroAssemblerMIPS::loadDouble):
(JSC::MacroAssemblerMIPS::moveDouble):
(JSC::MacroAssemblerMIPS::swapDouble):
(JSC::MacroAssemblerMIPS::subDouble):
(JSC::MacroAssemblerMIPS::mulDouble):
(JSC::MacroAssemblerMIPS::divDouble):
(JSC::MacroAssemblerMIPS::negateDouble):
(JSC::MacroAssemblerMIPS::branchEqual):
(JSC::MacroAssemblerMIPS::branchNotEqual):
(JSC::MacroAssemblerMIPS::branchTruncateDoubleToInt32):
(JSC::MacroAssemblerMIPS::branchTruncateDoubleToUint32):
(JSC::MacroAssemblerMIPS::truncateDoubleToInt32):
(JSC::MacroAssemblerMIPS::truncateDoubleToUint32):
(JSC::MacroAssemblerMIPS::branchDoubleNonZero):
(JSC::MacroAssemblerMIPS::branchDoubleZeroOrNaN):
(JSC::MacroAssemblerMIPS::invert):
(JSC::MacroAssemblerMIPS::replaceWithJump):
(JSC::MacroAssemblerMIPS::maxJumpReplacementSize):

  • dfg/DFGAssemblyHelpers.h:

(AssemblyHelpers):
(JSC::DFG::AssemblyHelpers::preserveReturnAddressAfterCall):
(JSC::DFG::AssemblyHelpers::restoreReturnAddressBeforeReturn):
(JSC::DFG::AssemblyHelpers::debugCall):

  • dfg/DFGCCallHelpers.h:

(CCallHelpers):
(JSC::DFG::CCallHelpers::setupArguments):
(JSC::DFG::CCallHelpers::setupArgumentsWithExecState):

  • dfg/DFGFPRInfo.h:

(DFG):
(FPRInfo):
(JSC::DFG::FPRInfo::toRegister):
(JSC::DFG::FPRInfo::toIndex):
(JSC::DFG::FPRInfo::debugName):

  • dfg/DFGGPRInfo.h:

(DFG):
(GPRInfo):
(JSC::DFG::GPRInfo::toRegister):
(JSC::DFG::GPRInfo::toIndex):
(JSC::DFG::GPRInfo::debugName):

  • dfg/DFGSpeculativeJIT.h:

(SpeculativeJIT):

  • jit/JSInterfaceJIT.h:

(JSInterfaceJIT):

  • runtime/JSGlobalData.h:

(JSC::ScratchBuffer::allocationSize):
(ScratchBuffer):

Source/WTF:

  • wtf/Platform.h:
11:16 AM Changeset in webkit [143246] by Lucas Forschler
  • 4 edits in tags/Safari-537.31.3/Source

Versioning.

11:13 AM Changeset in webkit [143245] by Lucas Forschler
  • 1 copy in tags/Safari-537.31.3

New Tag.

11:07 AM Changeset in webkit [143244] by commit-queue@webkit.org
  • 7 edits in trunk/Source/WebCore

Unreviewed, rolling out r143145.
http://trac.webkit.org/changeset/143145
https://bugs.webkit.org/show_bug.cgi?id=110143

Causes frequent crashes. (Requested by eric_carlson on
#webkit).

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

  • dom/EventDispatchMediator.cpp:

(WebCore::EventDispatchMediator::dispatchEvent):

  • dom/EventDispatcher.cpp:

(WebCore::EventDispatcher::dispatchEvent):
(WebCore::EventDispatcher::EventDispatcher):
(WebCore::EventDispatcher::ensureEventPath):
(WebCore::EventDispatcher::dispatchSimulatedClick):
(WebCore::EventDispatcher::dispatchEventPreProcess):
(WebCore::EventDispatcher::dispatchEventAtCapturing):
(WebCore::EventDispatcher::dispatchEventAtTarget):
(WebCore::EventDispatcher::dispatchEventAtBubbling):
(WebCore::EventDispatcher::dispatchEventPostProcess):

  • dom/EventDispatcher.h:

(EventDispatcher):
(WebCore::EventDispatcher::node):
(WebCore):

  • dom/FocusEvent.cpp:

(WebCore::FocusEventDispatchMediator::dispatchEvent):
(WebCore::BlurEventDispatchMediator::dispatchEvent):
(WebCore::FocusInEventDispatchMediator::dispatchEvent):
(WebCore::FocusOutEventDispatchMediator::dispatchEvent):

  • dom/GestureEvent.cpp:

(WebCore::GestureEventDispatchMediator::dispatchEvent):

  • dom/MouseEvent.cpp:

(WebCore::MouseEventDispatchMediator::dispatchEvent):

11:01 AM Changeset in webkit [143243] by Christophe Dumez
  • 2 edits in trunk/Source/WebCore

[Soup] Free cookies explicitly in loops instead of using GOwnPtr
https://bugs.webkit.org/show_bug.cgi?id=110103

Reviewed by Martin Robinson.

Free cookies explicitly in loops instead of using GOwnPtr for this.
Until now, the code was mixing both styles. This patch makes the
code consistent one way. Adopting list items with GOwnPtr for the
sole purpose to free them makes the freeing less obvious and may
lead to mistakes if someone refactors the code and calls "break;"
to abort loop iteration.

No new tests, no behavior change.

  • platform/network/soup/CookieJarSoup.cpp:

(WebCore::getRawCookies):
(WebCore::deleteCookie):
(WebCore::getHostnamesWithCookies):

10:43 AM Changeset in webkit [143242] by fpizlo@apple.com
  • 7 edits in trunk/Source/JavaScriptCore

DFG::SpeculativeJIT::isKnownXYZ methods should use CFA rather than other things
https://bugs.webkit.org/show_bug.cgi?id=110092

Reviewed by Geoffrey Garen.

These methods were previously using GenerationInfo and other things to try to
gain information that the CFA could give away for free, if you asked kindly
enough.

Also fixed CallLinkStatus's dump() method since it was making an invalid
assertion: we most certainly can have a status where the structure is non-null
and the executable is null, like if we're dealing with an InternalFunction.

Also removed calls to isKnownNotXYZ from fillSpeculateABC methods in 32_64. I
don't know why that was there. But it was causing asserts if the value was
empty - i.e. we had already exited unconditionally but we didn't know it. I
could have fixed this by introducing another form of isKnownNotXYZ which was
tolerant of empty values, but I didn't feel like fixing code that I knew to be
unnecessary. (More deeply, isKnownNotCell, for example, really asks: "do you
know that this value can never be a cell?" while some of the previous uses
wanted to ask: "do you know that this is a value that is not a cell?". The
former is "true" if the value is a contradiction [i.e. BOTTOM], while the
latter is "false" for contradictions, since contradictions are not values.)

  • bytecode/CallLinkStatus.cpp:

(JSC::CallLinkStatus::dump):

  • bytecode/CallLinkStatus.h:

(JSC::CallLinkStatus::CallLinkStatus):

  • dfg/DFGSpeculativeJIT.cpp:

(DFG):

  • dfg/DFGSpeculativeJIT.h:

(JSC::DFG::SpeculativeJIT::isKnownInteger):
(JSC::DFG::SpeculativeJIT::isKnownCell):
(JSC::DFG::SpeculativeJIT::isKnownNotInteger):
(JSC::DFG::SpeculativeJIT::isKnownNotNumber):
(JSC::DFG::SpeculativeJIT::isKnownNotCell):

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::fillSpeculateIntInternal):
(JSC::DFG::SpeculativeJIT::fillSpeculateDouble):
(JSC::DFG::SpeculativeJIT::fillSpeculateCell):

  • dfg/DFGStructureAbstractValue.h:

(JSC::DFG::StructureAbstractValue::dump):

10:40 AM Changeset in webkit [143241] by fpizlo@apple.com
  • 11 edits
    3 adds in trunk

Get rid of DFG::DoubleOperand and simplify ValueToInt32
https://bugs.webkit.org/show_bug.cgi?id=110072

Source/JavaScriptCore:

Reviewed by Geoffrey Garen.

ValueToInt32 had a side-effecting path, which was not OSR-friendly: an OSR after
the side-effect would lead to the side-effect re-executing. I got rid of that path
and replaced it with an optimization for the case where the input is speculated
number-or-other. This makes idioms like null|0 and true|0 work as expected, and
get optimized appropriately.

Also got rid of DoubleOperand. Replaced all remaining uses of it with
SpeculateDoubleOperand. Because the latter asserts that the Edge is a DoubleUse
edge and the remaining uses of DoubleOperand are all for untyped uses, I worked
around the assertion by setting the UseKind to DoubleUse by force. This is sound,
since all existing assertions for DoubleUse are actually asserting that we're not
converting a value to double unexpectedly. But all of these calls to
SpeculateDoubleOperand are when the operand is already known to be represented as
double, so there is no conversion.

This is neutral on benchmarks, except stanford-crypto-ccm, which speeds up a
little. Mostly, this is intended to delete a bunch of code. DoubleOperand was
equivalent to the replace-edge-with-DoubleUse trick that I'm using now, except it
involved a _lot_ more code.

  • dfg/DFGAbstractState.cpp:

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

  • dfg/DFGCSEPhase.cpp:

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

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::fixupNode):

  • dfg/DFGNodeType.h:

(DFG):

  • dfg/DFGSpeculativeJIT.cpp:

(DFG):
(JSC::DFG::SpeculativeJIT::compileValueToInt32):

  • dfg/DFGSpeculativeJIT.h:

(SpeculativeJIT):
(DFG):
(FPRTemporary):

  • dfg/DFGSpeculativeJIT32_64.cpp:

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

  • dfg/DFGSpeculativeJIT64.cpp:

(DFG):

LayoutTests:

Reviewed by Geoffrey Garen.

  • fast/js/dfg-value-to-int32-with-side-effect-expected.txt: Added.
  • fast/js/dfg-value-to-int32-with-side-effect.html: Added.
  • fast/js/jsc-test-list:
  • fast/js/script-tests/dfg-value-to-int32-with-side-effect.js: Added.

(foo):
(.result.foo):

10:33 AM Changeset in webkit [143240] by commit-queue@webkit.org
  • 5 edits in trunk

[JSC]: ASSERT in KURL(ParsedURLStringTag) under sourceMapURLForScript
https://bugs.webkit.org/show_bug.cgi?id=109987

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2013-02-18
Reviewed by Pavel Feldman.

Source/WebCore:

Improved an existing test to cover this.

  • bindings/js/ScriptDebugServer.cpp:

(WebCore::ScriptDebugServer::dispatchDidParseSource):
Remove the sourceURL parsing and script.url replacement from the JSC
implementation of ScriptDebugServer. The WebCore inspector code that
this was added for already does this, at a more appropriate time.

LayoutTests:

  • inspector/debugger/source-url-comment-expected.txt:
  • inspector/debugger/source-url-comment.html:

Add a test for a sourceURL with a non-relative path. This was causing
an ASSERT, rightfully so, in JSC builds.

10:21 AM Changeset in webkit [143239] by mkwst@chromium.org
  • 3 edits
    2 adds in trunk

compareDocumentPosition reports disconnected nodes as following each other
https://bugs.webkit.org/show_bug.cgi?id=108274

Reviewed by Dimitri Glazkov.

Source/WebCore:

jQuery has had to implement their own sorting mechanism in Sizzle[1] due
to Node::compareDocumentPosition always reporting disconnected nodes
as following each other. According to spec[2], we should instead be
indicating that the result is (a) disconnected, (b) implementation
specific, and (c) deterministically ordered.

[1]: https://github.com/jquery/sizzle/commit/1c8aec91284af8d8c14447976235d5dd72b0d75e
[2]: http://dom.spec.whatwg.org/#dom-node-comparedocumentposition

Test: fast/dom/compare-document-position-disconnected-nodes.html

  • dom/Node.cpp:

(WebCore::Node::compareDocumentPosition):

After walking the parentNode chain of both Nodes, compare the root.
If the Nodes don't share a root, they're in distinct trees, and
should return as described above. We determine which element
"preceeds" the other in an arbitrary fashion via pointer comparison.

LayoutTests:

  • fast/dom/compare-document-position-disconnected-nodes-expected.txt: Added.
  • fast/dom/compare-document-position-disconnected-nodes.html: Added.
10:06 AM Changeset in webkit [143238] by senorblanco@chromium.org
  • 2 edits in trunk/LayoutTests

[chromium] Unreviewed gardening.
Update test expectations for recent failures.

  • platform/chromium/TestExpectations:
9:45 AM Changeset in webkit [143237] by aandrey@chromium.org
  • 5 edits in trunk

Web Inspector: [Canvas] fix replay log grouping by frames
https://bugs.webkit.org/show_bug.cgi?id=110122

Reviewed by Pavel Feldman.

Source/WebCore:

Bug: log grouping by frames did not work if a frame end call is not a draw call.
Drive-by: Last draw call group may not contain a draw call. In this case merge it into the previous group.

  • inspector/front-end/CanvasProfileView.js:

(WebInspector.CanvasProfileView.prototype._appendCallNode):
(WebInspector.CanvasProfileView.prototype._maybeMergeLastDrawCallGroups):

LayoutTests:

Canvas replay test: last command is not a draw call.

  • inspector/profiler/canvas2d/canvas-replay-log-grid-expected.txt:
  • inspector/profiler/canvas2d/canvas-replay-log-grid.html:
9:42 AM Changeset in webkit [143236] by senorblanco@chromium.org
  • 2 edits in trunk/LayoutTests

[chromium] Unreviewed gardening.
Fix test expectations for effect-reference* tests which I messed up
in my last commit.

  • platform/chromium/TestExpectations:
9:33 AM Changeset in webkit [143235] by kadam@inf.u-szeged.hu
  • 2 edits in trunk/Source/JavaScriptCore

[Qt] Mountain Lion buildfix after r143147.

Reviewed by Csaba Osztrogonác.

  • runtime/DateConstructor.cpp:
9:19 AM Changeset in webkit [143234] by sergio@webkit.org
  • 4 edits in trunk/LayoutTests

Unreviewed GTK gardening.

Moved WK1 specific failures from the shared TestExpectations file
to the wk1 one. Also removed some tests from the WK2
TestExpectations file as they have been consistently passing on
bots.

  • platform/gtk-wk1/TestExpectations:
  • platform/gtk-wk2/TestExpectations:
  • platform/gtk/TestExpectations:
9:19 AM Changeset in webkit [143233] by Christophe Dumez
  • 2 edits in trunk/Source/WebCore

[Soup] Superfluous HashMap check in SocketStreamHandleSoup::getHandleFromId()
https://bugs.webkit.org/show_bug.cgi?id=110107

Reviewed by Martin Robinson.

Remove Superfluous HashMap::contains() call in SocketStreamHandleSoup::getHandleFromId()
as HashMap::get() will already return 0 in this case anyway.

No new tests, no behavior change.

  • platform/network/soup/SocketStreamHandleSoup.cpp:

(WebCore):
(WebCore::getHandleFromId):

9:13 AM Changeset in webkit [143232] by zandobersek@gmail.com
  • 66 edits in trunk/Source

Stop placing std::isfinite and std::signbit inside the global scope
https://bugs.webkit.org/show_bug.cgi?id=109817

Reviewed by Darin Adler.

Prefix calls to the isfinite and signbit methods with std:: as the two
methods are no longer being imported into the global scope.

Source/JavaScriptCore:

  • assembler/MacroAssembler.h:

(JSC::MacroAssembler::shouldBlindDouble):

  • offlineasm/cloop.rb:
  • runtime/BigInteger.h:

(JSC::BigInteger::BigInteger):

  • runtime/DateConstructor.cpp:

(JSC::constructDate):

  • runtime/DatePrototype.cpp:

(JSC::fillStructuresUsingTimeArgs):
(JSC::fillStructuresUsingDateArgs):
(JSC::dateProtoFuncToISOString):
(JSC::dateProtoFuncSetYear):

  • runtime/JSCJSValueInlines.h:

(JSC::JSValue::JSValue):

  • runtime/JSGlobalObjectFunctions.cpp:

(JSC::globalFuncIsFinite):

  • runtime/JSONObject.cpp:

(JSC::Stringifier::appendStringifiedValue):

  • runtime/MathObject.cpp:

(JSC::mathProtoFuncMax): Also include an opportunistic style fix.
(JSC::mathProtoFuncMin): Ditto.

  • runtime/NumberPrototype.cpp:

(JSC::toStringWithRadix):
(JSC::numberProtoFuncToExponential):
(JSC::numberProtoFuncToFixed):
(JSC::numberProtoFuncToPrecision):
(JSC::numberProtoFuncToString):

  • runtime/Uint16WithFraction.h:

(JSC::Uint16WithFraction::Uint16WithFraction):

Source/WebCore:

No new tests as there's no change in functionality.

  • bindings/js/JSCanvasRenderingContext2DCustom.cpp:

(WebCore::JSCanvasRenderingContext2D::setWebkitLineDash):

  • bindings/js/JSDOMBinding.cpp:

(WebCore::jsDateOrNull):

  • bindings/js/JSDOMBinding.h:

(WebCore::finiteInt32Value):

  • bindings/v8/V8Binding.h:

(WebCore::v8DateOrNull):

  • css/CSSPrimitiveValue.cpp:

(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):

  • html/BaseDateAndTimeInputType.cpp:

(WebCore::BaseDateAndTimeInputType::parseToNumber):

  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::setValueAsNumber):

  • html/HTMLMeterElement.cpp:

(WebCore::HTMLMeterElement::setMin):
(WebCore::HTMLMeterElement::setMax):
(WebCore::HTMLMeterElement::setValue):
(WebCore::HTMLMeterElement::setLow):
(WebCore::HTMLMeterElement::setHigh):
(WebCore::HTMLMeterElement::setOptimum):

  • html/HTMLProgressElement.cpp:

(WebCore::HTMLProgressElement::value):
(WebCore::HTMLProgressElement::setValue):
(WebCore::HTMLProgressElement::max):
(WebCore::HTMLProgressElement::setMax):

  • html/MonthInputType.cpp:

(WebCore::MonthInputType::valueAsDate):
(WebCore::MonthInputType::defaultValueForStepUp):
(WebCore::MonthInputType::parseToNumber):

  • html/NumberInputType.cpp:

(WebCore::NumberInputType::typeMismatchFor):
(WebCore::NumberInputType::sanitizeValue):
(WebCore::NumberInputType::hasBadInput):

  • html/RangeInputType.cpp:

(WebCore::RangeInputType::typeMismatchFor):

  • html/TimeInputType.cpp:

(WebCore::TimeInputType::defaultValueForStepUp):

  • html/canvas/CanvasPathMethods.cpp:

(WebCore::CanvasPathMethods::moveTo):
(WebCore::CanvasPathMethods::lineTo):
(WebCore::CanvasPathMethods::quadraticCurveTo):
(WebCore::CanvasPathMethods::bezierCurveTo):
(WebCore::CanvasPathMethods::arcTo):
(WebCore::CanvasPathMethods::arc):
(WebCore::CanvasPathMethods::rect):

  • html/canvas/CanvasRenderingContext2D.cpp:

(WebCore::CanvasRenderingContext2D::setLineWidth):
(WebCore::CanvasRenderingContext2D::setMiterLimit):
(WebCore::CanvasRenderingContext2D::setShadowOffsetX):
(WebCore::CanvasRenderingContext2D::setShadowOffsetY):
(WebCore::CanvasRenderingContext2D::setShadowBlur):
(WebCore::lineDashSequenceIsValid):
(WebCore::CanvasRenderingContext2D::setLineDashOffset):
(WebCore::CanvasRenderingContext2D::scale):
(WebCore::CanvasRenderingContext2D::rotate):
(WebCore::CanvasRenderingContext2D::translate):
(WebCore::CanvasRenderingContext2D::transform):
(WebCore::CanvasRenderingContext2D::setTransform):
(WebCore::validateRectForCanvas):
(WebCore::CanvasRenderingContext2D::isPointInPath):
(WebCore::CanvasRenderingContext2D::isPointInStroke):
(WebCore::CanvasRenderingContext2D::drawImage):
(WebCore::CanvasRenderingContext2D::createLinearGradient):
(WebCore::CanvasRenderingContext2D::createRadialGradient):
(WebCore::CanvasRenderingContext2D::createImageData):
(WebCore::CanvasRenderingContext2D::getImageData):
(WebCore::CanvasRenderingContext2D::putImageData):
(WebCore::CanvasRenderingContext2D::drawTextInternal):

  • html/parser/HTMLParserIdioms.cpp:

(WebCore::parseToDoubleForNumberType):

  • html/shadow/MediaControlElements.cpp:

(WebCore::MediaControlTimelineElement::setDuration):

  • html/shadow/MediaControls.cpp:

(WebCore::MediaControls::reset):

  • html/shadow/MediaControlsApple.cpp:

(WebCore::MediaControlsApple::reset):

  • html/shadow/MediaControlsBlackBerry.cpp:

(WebCore::MediaControlFullscreenTimelineElement::setDuration):
(WebCore::MediaControlsBlackBerry::reset):

  • inspector/InspectorValues.cpp:

(WebCore::InspectorBasicValue::writeJSON):

  • loader/cache/CachedResource.cpp:

(WebCore::CachedResource::currentAge):
(WebCore::CachedResource::freshnessLifetime):

  • page/DOMWindow.cpp:

(WebCore::DOMWindow::adjustWindowRect):

  • platform/DateComponents.cpp:

(WebCore::DateComponents::setMillisecondsSinceEpochForDate):
(WebCore::DateComponents::setMillisecondsSinceEpochForDateTime):
(WebCore::DateComponents::setMillisecondsSinceEpochForMonth):
(WebCore::DateComponents::setMillisecondsSinceMidnight):
(WebCore::DateComponents::setMonthsSinceEpoch):
(WebCore::DateComponents::setMillisecondsSinceEpochForWeek):

  • platform/Decimal.cpp:

(WebCore::Decimal::fromDouble):

  • platform/FileSystem.h:

(WebCore::isValidFileTime):

  • platform/LocalizedStrings.cpp:

(WebCore::localizedMediaTimeDescription):

  • platform/graphics/cairo/CairoUtilities.cpp:

(WebCore::drawPatternToCairoContext):

  • platform/graphics/cairo/PathCairo.cpp:

(WebCore::Path::addArc):
(WebCore::Path::contains):

  • platform/graphics/cg/PathCG.cpp:

(WebCore::Path::addArc):

  • platform/graphics/gstreamer/FullscreenVideoControllerGStreamer.cpp:

(WebCore::FullscreenVideoControllerGStreamer::timeToString):

  • platform/graphics/openvg/PathOpenVG.cpp:

(WebCore::Path::addArc):

  • platform/graphics/skia/SkiaUtils.h:

(WebCore::WebCoreFloatToSkScalar):
(WebCore::WebCoreDoubleToSkScalar):

  • platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:

(WebCore::MediaPlayerPrivateQuickTimeVisualContext::maxTimeSeekable):

  • platform/gtk/LocalizedStringsGtk.cpp:

(WebCore::localizedMediaTimeDescription):

  • platform/mac/WebVideoFullscreenHUDWindowController.mm:

(timeToString):

  • platform/network/ResourceResponseBase.cpp:

(WebCore::parseDateValueInHeader):

  • platform/qt/LocalizedStringsQt.cpp:

(WebCore::localizedMediaTimeDescription):

  • rendering/RenderFlexibleBox.cpp:

(WebCore::RenderFlexibleBox::resolveFlexibleLengths):

  • rendering/RenderMediaControlsChromium.cpp:

(WebCore::formatChromiumMediaControlsTime):

  • rendering/RenderTheme.cpp:

(WebCore::RenderTheme::formatMediaControlsTime):

  • rendering/style/RenderStyle.cpp:

(WebCore::RenderStyle::setFontSize):

  • svg/SVGPathParser.cpp:

(WebCore::SVGPathParser::decomposeArcToCubic):

  • xml/XPathFunctions.cpp:

(WebCore::XPath::FunRound::round):

  • xml/XPathValue.cpp:

(WebCore::XPath::Value::toString):

Source/WebKit/win:

  • FullscreenVideoController.cpp:

(timeToString):

Source/WTF:

On Solaris and OpenBSD platforms or when using Visual C++ the two methods
are now defined (as incompatibility workarounds) inside the std namespace.

  • wtf/DateMath.cpp:

(WTF::timeClip):

  • wtf/DecimalNumber.h:

(WTF::DecimalNumber::DecimalNumber):

  • wtf/MathExtras.h:

(std):
(std::isfinite):
(std::signbit):
(lrint):
(wtf_pow):
(decomposeDouble):

  • wtf/MediaTime.cpp:

(WTF::MediaTime::createWithFloat):
(WTF::MediaTime::createWithDouble):

  • wtf/dtoa.cpp:

(WTF::dtoa):

9:08 AM Changeset in webkit [143231] by kadam@inf.u-szeged.hu
  • 2 edits in trunk/Source/JavaScriptCore

[Qt] Mountain Lion buildfix after r143147.

Reviewed by Csaba Osztrogonác.

  • runtime/DateInstance.cpp:
9:06 AM Changeset in webkit [143230] by Chris Fleizach
  • 3 edits
    2 moves in trunk/Source/WebCore

AX: Make iOS wrapper use the WebAccessibilityObjectBase wrapper
https://bugs.webkit.org/show_bug.cgi?id=110077

Reviewed by David Kilzer.

Make the iOS wrapper a subclass of the shared wrapper so that iOS can re-use code from the Mac.
Rename the iOS file to reflect the class name.

  • WebCore.xcodeproj/project.pbxproj:
  • accessibility/ios/AXObjectCacheIOS.mm:

(WebCore::AXObjectCache::attachWrapper):
(WebCore::AXObjectCache::postPlatformNotification):

  • accessibility/ios/AccessibilityObjectWrapperIOS.h: Removed.
  • accessibility/ios/AccessibilityObjectWrapperIOS.mm: Removed.
  • accessibility/ios/WebAccessibilityObjectWrapperIOS.h: Copied from Source/WebCore/accessibility/ios/AccessibilityObjectWrapperIOS.h.
  • accessibility/ios/WebAccessibilityObjectWrapperIOS.mm: Copied from Source/WebCore/accessibility/ios/AccessibilityObjectWrapperIOS.mm.

(-[WebAccessibilityObjectWrapper initWithAccessibilityObject:]):
(-[WebAccessibilityObjectWrapper attachmentView]):
(-[WebAccessibilityObjectWrapper accessibilityPostedNotification:WebCore::AXObjectCache::]):

9:06 AM Changeset in webkit [143229] by zandobersek@gmail.com
  • 2 edits in trunk/Tools

Unreviewed GTK gardening.

  • Scripts/run-gtk-tests:

(TestRunner): Skipped the ReloadPageAfterCrash unit test as it is flakily timing out.

9:04 AM Changeset in webkit [143228] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebCore

Unreviewed, rolling out r143210.
http://trac.webkit.org/changeset/143210
https://bugs.webkit.org/show_bug.cgi?id=110128

Still causing some test timeouts (Requested by anttik on
#webkit).

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

  • platform/SharedTimer.h:

(SharedTimer):
(WebCore):
(WebCore::MainThreadSharedTimer::stop):

  • platform/ThreadTimers.cpp:

(WebCore::ThreadTimers::fireTimersInNestedEventLoop):

  • platform/mac/SharedTimerMac.mm:

(WebCore):
(WebCore::PowerObserver::restartSharedTimer):
(WebCore::setSharedTimerFireInterval):
(WebCore::stopSharedTimer):

8:54 AM Changeset in webkit [143227] by pfeldman@chromium.org
  • 3 edits in trunk/Source/WebCore

Web Inspector: Disable hiding the debugger when it is below the source code
https://bugs.webkit.org/show_bug.cgi?id=110106

Patch by Vladislav Kaznacheev <kaznacheev@chromium.org> on 2013-02-18
Reviewed by Pavel Feldman.

When the "Split horizontally" option is checked in the Sources panel the button responsible for the sidebar
visibility is hidden and the sidebar is force-shown. Also set the "Split sidebar" option default to true.

No new tests.

  • inspector/front-end/ScriptsPanel.js:

(WebInspector.ScriptsPanel):

  • inspector/front-end/scriptsPanel.css:

(.split-view-horizontal #scripts-debug-sidebar-resizer-widget):

8:49 AM Changeset in webkit [143226] by jer.noble@apple.com
  • 3 edits in trunk/Source/WebKit2

pinch-zooming webpage messes up full-screening of embedded video
https://bugs.webkit.org/show_bug.cgi?id=106115

Reviewed by Maciej Stachowiak.

Reset the page scale when entering full screen, and reset to the original scale when exiting.

  • UIProcess/mac/WKFullScreenWindowController.h:
  • UIProcess/mac/WKFullScreenWindowController.mm:

(-[WKFullScreenWindowController enterFullScreen:]):
(-[WKFullScreenWindowController finishedExitFullScreenAnimation:]):

8:48 AM Changeset in webkit [143225] by betravis@adobe.com
  • 6 edits
    2 adds in trunk

[CSS Exclusions] Support outside-shape layout for shape-inside property
https://bugs.webkit.org/show_bug.cgi?id=102571

Reviewed by David Hyatt.

Source/WebCore:

A shape-inside value of 'outside-shape' should resolve to the value of
the shape-outside property for layout. This patch introduces a helper
method to resolve shape-inside in RenderStyle, and replaces calls to
RenderStyle::shapeInside() when the resolved (layout) value should be
used.

Test: fast/exclusions/shape-inside/shape-inside-outside-shape.html

  • rendering/ExclusionShapeInfo.cpp:

(WebCore::::computedShape): Use the resolved shape-inside getter.

  • rendering/ExclusionShapeInsideInfo.h:

(WebCore::ExclusionShapeInsideInfo::isEnabledFor): Ditto.
(WebCore::ExclusionShapeInsideInfo::ExclusionShapeInsideInfo): Ditto.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::styleDidChange): Ditto.
(WebCore::RenderBlock::exclusionShapeInsideInfo): Ditto.

  • rendering/style/RenderStyle.h: Add the resolved shape inside getter.

LayoutTests:

Test that the shape-outside value correctly propagates to shape-inside
when shape-inside has a value of 'outside-shape,' using both an
undefined and a simple shape outside value.

  • fast/exclusions/shape-inside/shape-inside-outside-shape-expected.html: Added.
  • fast/exclusions/shape-inside/shape-inside-outside-shape.html: Added.
8:41 AM Changeset in webkit [143224] by pfeldman@chromium.org
  • 7 edits in trunk/Source/WebCore

Web Inspector: hide vertical-sidebar-split in dock-to-right mode behind single experimental flag.
https://bugs.webkit.org/show_bug.cgi?id=110119

Reviewed by Vsevolod Vlasov.

Removed context menus, made it toggle automatically upon dock orientation change.

  • inspector/front-end/DockController.js:

(WebInspector.DockController.prototype._toggleDockState):

  • inspector/front-end/ElementsPanel.js:

(WebInspector.ElementsPanel):
(WebInspector.ElementsPanel.prototype._sidebarContextMenuEventFired):
(WebInspector.ElementsPanel.prototype._dockSideChanged):
(WebInspector.ElementsPanel.prototype._setVerticalSplit):

  • inspector/front-end/ScriptsPanel.js:

(WebInspector.ScriptsPanel):
(WebInspector.ScriptsPanel.prototype._appendUISourceCodeItems):
(WebInspector.ScriptsPanel.prototype._dockSideChanged):

  • inspector/front-end/Settings.js:

(WebInspector.ExperimentsSettings):

  • inspector/front-end/inspector.css:
  • inspector/front-end/scriptsPanel.css:

(#scripts-sidebar-stack-pane):
(div.sidebar-pane-stack#scripts-debug-sidebar-contents):

  • inspector/front-end/tabbedPane.css:

(.tabbed-pane):

8:34 AM Changeset in webkit [143223] by commit-queue@webkit.org
  • 4 edits in trunk

[GTK] Fix nits for configuration
https://bugs.webkit.org/show_bug.cgi?id=110083

Patch by ChangSeok Oh <ChangSeok Oh> on 2013-02-18
Reviewed by Martin Robinson.

.:

Remove unicode backend printing option. The only backend for unicode is icu
after changeset 142724.

  • Source/autotools/PrintBuildConfiguration.m4:

Source/WebCore:

Remove trailing white space. It has caused annoying warning while configuration.

No new tests since no funtionality change.

  • GNUmakefile.list.am:
8:29 AM Changeset in webkit [143222] by zandobersek@gmail.com
  • 2 edits in trunk/LayoutTests

Unreviewed GTK gardening.

  • platform/gtk/TestExpectations: Adjusting failure expectation for an inspector

test which now times out.

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

[Qt][WK2] Remove duped test name and append new test in project file
https://bugs.webkit.org/show_bug.cgi?id=110117

A new WK2 API test has landed recently (ResizeWindowAfterCrash), this patch will
add this test into the runnable test suite and remove a duped test in project file.

Patch by Adenilson Cavalcanti <cavalcantii@gmail.com> on 2013-02-18
Reviewed by Jocelyn Turcotte.

  • TestWebKitAPI/Tests/WebKit2/WebKit2.pro:
8:15 AM Changeset in webkit [143220] by commit-queue@webkit.org
  • 18 edits in trunk/Source/WebCore

[WebGL][EFL] Refactor GraphicsContext3DPrivate to add support for SharedContext.
https://bugs.webkit.org/show_bug.cgi?id=109988

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

Covered by existing WebGL tests.

This patch refactors PlatformContext and GraphicsContext3DPrivate to
add support for Shared Context. This would help share GL resources
between transport surface and offscreen surface without having to worry
about the context state. So far, we used the same drawable as transport
surface and offscreen surface. After this patch we use pixmap surface as
offscreen surface and use shared context to render texture content to
transport surface. This would also align as to how shared surface is implemented
on EFL and Qt ports.

  • platform/graphics/efl/GraphicsContext3DEfl.cpp:

(WebCore::GraphicsContext3D::GraphicsContext3D):

  • platform/graphics/efl/GraphicsContext3DPrivate.cpp:

(WebCore::GraphicsContext3DPrivate::GraphicsContext3DPrivate):
(WebCore):
(WebCore::GraphicsContext3DPrivate::initialize):
(WebCore::GraphicsContext3DPrivate::makeSharedContextCurrent):
(WebCore::GraphicsContext3DPrivate::copyToGraphicsSurface):

  • platform/graphics/efl/GraphicsContext3DPrivate.h:

(GraphicsContext3DPrivate):

  • platform/graphics/opengl/GLPlatformContext.cpp:

(WebCore::GLPlatformContext::initialize):

  • platform/graphics/opengl/GLPlatformContext.h:

Needed changes to take shared context into use.

  • platform/graphics/opengl/GLPlatformSurface.cpp:

(WebCore::GLPlatformSurface::createOffScreenSurface):
(WebCore::GLPlatformSurface::updateContents):

  • platform/graphics/opengl/GLPlatformSurface.h:

(GLPlatformSurface):

  • platform/graphics/surfaces/glx/GLXConfigSelector.h:

(WebCore::GLXConfigSelector::GLXConfigSelector):
(WebCore::GLXConfigSelector::visualInfo):
(WebCore::GLXConfigSelector::pixmapContextConfig):
(GLXConfigSelector):
(WebCore::GLXConfigSelector::reset):

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

Added support to query configiration supporting
pixmap surface.

(WebCore::GLXOffScreenContext::initialize):

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

(GLXOffScreenContext):

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

(WebCore::GLXTransportSurface::GLXTransportSurface):
(WebCore::GLXTransportSurface::swapBuffers):
(WebCore::GLXOffScreenSurface::GLXOffScreenSurface):
(WebCore::GLXOffScreenSurface::~GLXOffScreenSurface):
(WebCore::GLXOffScreenSurface::initialize):
(WebCore::GLXOffScreenSurface::configuration):
(WebCore::GLXOffScreenSurface::destroy):
(WebCore::GLXOffScreenSurface::freeResources):
(WebCore::GLXOffScreenSurface::setGeometry):
Renamed GLXPBuffer surface as GLXOffScreenSurface.

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

(GLXTransportSurface):
(GLXOffScreenSurface):

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

(WebCore::GraphicsSurfacePrivate::createSurface):

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

(WebCore::X11Helper::createPixmap):
(WebCore):
(WebCore::X11Helper::destroyPixmap):
(WebCore::X11Helper::createOffScreenWindow):

  • platform/graphics/surfaces/glx/X11Helper.h:

(X11Helper):
Added functions to create and destroy pixmap.

8:14 AM Changeset in webkit [143219] by commit-queue@webkit.org
  • 2 edits in trunk/Websites/webkit.org

Add Digia to the domain affiliations
https://bugs.webkit.org/show_bug.cgi?id=110116

Patch by Simon Hausmann <simon.hausmann@digia.com> on 2013-02-18
Reviewed by Kenneth Rohde Christiansen.

  • team.html:
7:46 AM Changeset in webkit [143218] by loislo@chromium.org
  • 9 edits in trunk/Source/WebCore

Web Inspector: Native Memory Instrumentation: Generate meta information for HeapSnapshot parser.
https://bugs.webkit.org/show_bug.cgi?id=110104

Reviewed by Yury Semikhatsky.

The format of Native heap snapshot is slightly different so it should provide its own meta information.

  • inspector/HeapGraphSerializer.cpp:

(WebCore::HeapGraphSerializer::HeapGraphSerializer):
(WebCore::HeapGraphSerializer::finish):
(WebCore::HeapGraphSerializer::reportMemoryUsage):
(WebCore::HeapGraphSerializer::registerTypeString):
(WebCore):

  • inspector/HeapGraphSerializer.h:

(HeapGraphSerializer):

  • inspector/Inspector.json:
  • inspector/InspectorMemoryAgent.cpp:

(WebCore::InspectorMemoryAgent::getProcessMemoryDistribution):
(WebCore::InspectorMemoryAgent::getProcessMemoryDistributionImpl):

  • inspector/InspectorMemoryAgent.h:

(InspectorMemoryAgent):

  • inspector/front-end/HeapSnapshot.js:

(WebInspector.HeapSnapshot.prototype._buildPostOrderIndex):

  • inspector/front-end/NativeHeapSnapshot.js:

(WebInspector.NativeHeapSnapshot):

7:40 AM Changeset in webkit [143217] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/chromium

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

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

  • DEPS:
7:33 AM Changeset in webkit [143216] by thakis@chromium.org
  • 2 edits in trunk/Source/WebKit/chromium

[chromium] Remove ahem_path from WebKit.gyp
https://bugs.webkit.org/show_bug.cgi?id=110111

Reviewed by Jochen Eisinger.

It's only used in DumpRenderTree.gyp, and that file defines its own
copy of this variable.

  • WebKit.gyp:
7:32 AM Changeset in webkit [143215] by betravis@adobe.com
  • 1 edit in trunk/Tools/Scripts/webkitpy/common/config/committers.py

Unreviewed. Add myself to committers list.

7:32 AM Changeset in webkit [143214] by Christophe Dumez
  • 2 edits in trunk/LayoutTests

Unreviewed EFL gardening.

Mark perf/show-hide-table-rows.html as sometimes failing or slow
on EFL port.

  • platform/efl/TestExpectations:
6:47 AM Changeset in webkit [143213] by jochen@chromium.org
  • 2 edits in trunk/Tools

[chromium] remove log spew from dumpAllBackForwardLists
https://bugs.webkit.org/show_bug.cgi?id=110108

Reviewed by Nico Weber.

  • DumpRenderTree/chromium/TestRunner/src/WebTestProxy.cpp:
6:45 AM Changeset in webkit [143212] by Carlos Garcia Campos
  • 18 edits in trunk/Source/WebCore

[GTK] Force single header includes in GObject DOM bindings
https://bugs.webkit.org/show_bug.cgi?id=104676

Reviewed by Xan Lopez.

Only including <webkitdom/webkitdom.h> should be allowed from
apps.

  • bindings/scripts/CodeGeneratorGObject.pm:

(GenerateHeader):

  • bindings/scripts/gobject-generate-headers.pl:
  • bindings/scripts/test/GObject/WebKitDOMFloat64Array.h:
  • bindings/scripts/test/GObject/WebKitDOMTestActiveDOMObject.h:
  • bindings/scripts/test/GObject/WebKitDOMTestCallback.h:
  • bindings/scripts/test/GObject/WebKitDOMTestCustomNamedGetter.h:
  • bindings/scripts/test/GObject/WebKitDOMTestEventConstructor.h:
  • bindings/scripts/test/GObject/WebKitDOMTestEventTarget.h:
  • bindings/scripts/test/GObject/WebKitDOMTestException.h:
  • bindings/scripts/test/GObject/WebKitDOMTestInterface.h:
  • bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListener.h:
  • bindings/scripts/test/GObject/WebKitDOMTestNamedConstructor.h:
  • bindings/scripts/test/GObject/WebKitDOMTestNode.h:
  • bindings/scripts/test/GObject/WebKitDOMTestObj.h:
  • bindings/scripts/test/GObject/WebKitDOMTestOverloadedConstructors.h:
  • bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.h:
6:35 AM Changeset in webkit [143211] by commit-queue@webkit.org
  • 10 edits
    1 add in trunk/Source

Move ENABLE macros for WebCore out from Platform.h
https://bugs.webkit.org/show_bug.cgi?id=105735

Source/WebKit/chromium:

Move the chromium specific WebCore ENABLE macro definitions
from Platform.h to features.gypi.

Patch by Laszlo Gombos <l.gombos@samsung.com> on 2013-02-18
Reviewed by Darin Adler and Benjamin Poulain.

  • features.gypi: Set ENABLE_SUBPIXEL_LAYOUT to 1.

Source/WTF:

Patch by Laszlo Gombos <l.gombos@samsung.com> on 2013-02-18
Reviewed by Darin Adler and Benjamin Poulain.

Introduce FeatureDefines.h by combining the existing rules from
Platform.h and adding new rules for all the ENABLE flags that are
listed in the FeatureFlags wiki.

The new rules are not used at the moment by any ports
as the port specific build systems already define these flags
so the !defined() guard will prevent redefinition of the macros.

  • GNUmakefile.list.am: Add FeatureDefines.h.
  • WTF.gypi: Ditto.
  • WTF.pro: Ditto.
  • WTF.vcproj/WTF.vcproj: Ditto.
  • WTF.xcodeproj/project.pbxproj: Ditto.
  • wtf/CMakeLists.txt: Ditto.
  • wtf/FeatureDefines.h: Added.
  • wtf/Platform.h: Move macro definitions to FeatureDefines.h.
6:28 AM Changeset in webkit [143210] by Antti Koivisto
  • 4 edits in trunk/Source/WebCore

Reschedule shared CFRunLoopTimer instead of reconstructing it
https://bugs.webkit.org/show_bug.cgi?id=109765

Reviewed by Andreas Kling.

Using CFRunLoopTimerSetNextFireDate is over 2x faster than deleting and reconstructing timers.

  • platform/SharedTimer.h:

(WebCore::SharedTimer::willEnterNestedEventLoop):
(WebCore):
(MainThreadSharedTimer):
(WebCore::MainThreadSharedTimer::willEnterNestedEventLoop):

  • platform/ThreadTimers.cpp:

(WebCore::ThreadTimers::fireTimersInNestedEventLoop):

  • platform/mac/SharedTimerMac.mm:

(WebCore):
(WebCore::PowerObserver::clearSharedTimer):
(WebCore::ensurePowerObserver):
(WebCore::sharedTimer):
(WebCore::reinsertSharedTimer):

Before entering nested runloop (used for inspector debugger mostly) reconstruct and reinsert the timer. For some reason
the timer doesn't fire otherwise.

(WebCore::setSharedTimerFireInterval):
(WebCore::stopSharedTimer):

6:10 AM Changeset in webkit [143209] by apavlov@chromium.org
  • 2 edits in trunk/Source/WebCore

Web Inspector: [Resources] Only remember the tree element selection if explicitly made by user
https://bugs.webkit.org/show_bug.cgi?id=110105

Reviewed by Pavel Feldman.

This change instructs the Resources panel to remember the selected tree element only if it has been
selected by the user (not automatically, like selecting a parent when its child is removed).
All onselect() overrides pass the selectedByUser argument value
to BaseStorageTreeElement.prototype.onselect.
Drive-by: Use === comparisons everywhere.

  • inspector/front-end/ResourcesPanel.js:

(WebInspector.ResourcesPanel.prototype._reset): Do not detach [immutable] category views.
(WebInspector.BaseStorageTreeElement.prototype.onselect): Remember itemURL on user gesture only.
(WebInspector.StorageCategoryTreeElement.prototype.onselect):
(WebInspector.FrameTreeElement.prototype.onselect):
(WebInspector.FrameResourceTreeElement.prototype.onselect):
(WebInspector.DatabaseTreeElement.prototype.onselect):
(WebInspector.DatabaseTableTreeElement.prototype.onselect):
(WebInspector.IDBDatabaseTreeElement.prototype.onselect):
(WebInspector.IDBObjectStoreTreeElement.prototype.onselect):
(WebInspector.IDBIndexTreeElement.prototype.onselect):
(WebInspector.DOMStorageTreeElement):
(WebInspector.DOMStorageTreeElement.prototype.onselect):
(WebInspector.CookieTreeElement.prototype.onselect):
(WebInspector.ApplicationCacheManifestTreeElement.prototype.onselect):
(WebInspector.ApplicationCacheFrameTreeElement.prototype.onselect):
(WebInspector.FileSystemTreeElement.prototype.onselect):
(WebInspector.FileSystemTreeElement.prototype.clear):
(WebInspector.ResourcesSearchController.prototype.nextSearchResult):

6:03 AM Changeset in webkit [143208] by Christophe Dumez
  • 2 edits in trunk/LayoutTests

Unreviewed EFL gardening.

Mark fast/dom/shadow/shadow-dom-event-dispatching-distributed-child.html as
failing on EFL port. The test was introduced in r143191.

  • platform/efl/TestExpectations:
6:01 AM Changeset in webkit [143207] by commit-queue@webkit.org
  • 4 edits in trunk

Web Inspector: Color picker should not be available in Computed Styles pane
https://bugs.webkit.org/show_bug.cgi?id=109697

Patch by Vladislav Kaznacheev <kaznacheev@chromium.org> on 2013-02-18
Reviewed by Pavel Feldman.

Source/WebCore:

Refactored PropertiesSection and TreeElement inheritors in StylesSidebarPane.js for cleaner separation
of read-only and editable properties.

  • inspector/front-end/StylesSidebarPane.js:

(WebInspector.StylePropertiesSection.prototype.onpopulate):
(WebInspector.StylePropertiesSection.prototype.addNewBlankProperty):
(WebInspector.ComputedStylePropertiesSection):
(WebInspector.ComputedStylePropertiesSection.prototype.onpopulate):
(WebInspector.BlankStylePropertiesSection):
(WebInspector.StylePropertyTreeElementBase):
(WebInspector.StylePropertyTreeElementBase.prototype.node):
(WebInspector.StylePropertyTreeElementBase.prototype.editablePane):
(WebInspector.StylePropertyTreeElementBase.prototype.onattach):
(WebInspector.StylePropertyTreeElementBase.prototype.updateTitle.linkifyURL):
(WebInspector.StylePropertyTreeElementBase.prototype.updateTitle.):
(WebInspector.StylePropertyTreeElementBase.prototype):
(.event):
(.isRevert):

LayoutTests:

  • inspector/styles/undo-add-property.html:
5:45 AM Changeset in webkit [143206] by aandrey@chromium.org
  • 9 edits in trunk

Web Inspector: [Canvas] group replay log calls by frames
https://bugs.webkit.org/show_bug.cgi?id=110101

Reviewed by Pavel Feldman.

Source/WebCore:

Group canvas replay log by frames, then by draw calls.

  • inspector/InjectedScriptCanvasModuleSource.js:

(.):

  • inspector/Inspector.json:
  • inspector/front-end/CanvasProfileView.js:

(WebInspector.CanvasProfileView):
(WebInspector.CanvasProfileView.prototype.dispose):
(WebInspector.CanvasProfileView.prototype._appendCallNode):
(WebInspector.CanvasProfileView.prototype._appendDrawCallGroup):

LayoutTests:

  • inspector/profiler/canvas-profiler-test.js:
  • inspector/profiler/canvas2d/canvas-replay-log-grid-expected.txt:
  • inspector/profiler/canvas2d/canvas-replay-log-grid.html:
  • inspector/profiler/canvas2d/canvas-stack-trace-expected.txt:
5:35 AM Changeset in webkit [143205] by kadam@inf.u-szeged.hu
  • 1 edit
    1 delete in trunk/LayoutTests

[Qt] Deleted extraneous file. It has been added accidentally in r142135.
https://bugs.webkit.org/show_bug.cgi?id=109953.

  • platform/qt-5.0-wk2/TestExpectations.orig: Removed.
5:29 AM Changeset in webkit [143204] by Christophe Dumez
  • 2 edits in trunk/Source/WebCore

[Soup] CookieJarSoup::deleteCookie() should stop looking for the cookie after it is removed
https://bugs.webkit.org/show_bug.cgi?id=110100

Reviewed by Kenneth Rohde Christiansen.

CookieJarSoup::deleteCookie() retrieves the list of cookies that apply to a given URL, then
iterates through the cookies to find the one with the right name and delete it. However, the
current implementation keeps on comparing cookie names after the cookie was removed. This
patch introduces a "wasDeleted" boolean to stop comparing cookie names after the cookie was
deleted. Note that we cannot break as soon as the cookie is found as we need to keep iterating
so that the cookies get freed by GOwnPtr.

No new tests, no behavior change.

  • platform/network/soup/CookieJarSoup.cpp:

(WebCore::deleteCookie):

5:26 AM Changeset in webkit [143203] by Christophe Dumez
  • 4 edits in trunk

[EFL][WK2] Disable failing API tests
https://bugs.webkit.org/show_bug.cgi?id=110081

Reviewed by Kenneth Rohde Christiansen.

Source/WebKit2:

Disable EWK2UnitTestBase.ewk_view_scale API test as it is failing.

  • UIProcess/API/efl/tests/test_ewk2_view.cpp:

(TEST_F):

Tools:

Disable DOMWindowExtensionBasic WK2 test on EFL port as it times out.

  • TestWebKitAPI/PlatformEfl.cmake:
5:26 AM Changeset in webkit [143202] by vsevik@chromium.org
  • 10 edits in trunk

Web Inspector: Create separate project for each domain for UISourceCode based on browser resources.
https://bugs.webkit.org/show_bug.cgi?id=109691

Reviewed by Pavel Feldman.

Source/WebCore:

Separate project of certain type is now created for each domain.
UISourceCode path represents a path in the project now.
UISourceCode uri is now calculated based on project id and path.
It is also possible to calculate path based on projectId and URI, which is used for uiSourceCodeForURI() methods.

  • inspector/front-end/FileSystemProjectDelegate.js:

(WebInspector.FileSystemProjectDelegate.prototype._filePathForPath):
(WebInspector.FileSystemProjectDelegate.prototype.setFileContent):
(WebInspector.FileSystemProjectDelegate.prototype._populate.filesLoaded):
(WebInspector.FileSystemProjectDelegate.prototype._populate):
(WebInspector.FileSystemProjectDelegate.prototype._removeFile):

  • inspector/front-end/ScriptSnippetModel.js:

(WebInspector.ScriptSnippetModel.prototype._addScriptSnippet):

  • inspector/front-end/SimpleWorkspaceProvider.js:

(WebInspector.SimpleProjectDelegate):
(WebInspector.SimpleProjectDelegate.projectId):
(WebInspector.SimpleProjectDelegate.prototype.id):
(WebInspector.SimpleProjectDelegate.prototype.displayName):
(WebInspector.SimpleProjectDelegate.prototype.addFile):
(WebInspector.SimpleWorkspaceProvider):
(WebInspector.SimpleWorkspaceProvider.splitURL):
(WebInspector.SimpleWorkspaceProvider._pathForSplittedURL):
(WebInspector.SimpleWorkspaceProvider.uriForURL):
(WebInspector.SimpleWorkspaceProvider.prototype._projectDelegate):
(WebInspector.SimpleWorkspaceProvider.prototype._innerAddFileForURL):
(WebInspector.SimpleWorkspaceProvider.prototype.addFileByName):
(WebInspector.SimpleWorkspaceProvider.prototype._innerAddFile):
(WebInspector.SimpleWorkspaceProvider.prototype.removeFileByName):
(WebInspector.SimpleWorkspaceProvider.prototype.reset):

  • inspector/front-end/UISourceCode.js:

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

  • inspector/front-end/Workspace.js:

(WebInspector.Project.prototype._fileAdded):
(WebInspector.Project.prototype._fileRemoved):
(WebInspector.Project.prototype.uiSourceCodeForURI):

LayoutTests:

  • inspector/debugger/live-edit-breakpoints-expected.txt:
  • inspector/debugger/live-edit-breakpoints.html:
  • inspector/uisourcecode-revisions.html:
5:21 AM Changeset in webkit [143201] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[Qt] Disable the build if certain configure checks fail
https://bugs.webkit.org/show_bug.cgi?id=110094

Patch by Simon Hausmann <simon.hausmann@digia.com> on 2013-02-18
Reviewed by Tor Arne Vestbø.

Allow for the build to be skipped (clear out SUBDIRS) if certain
configure conditions aren't met.

  • qmake/mkspecs/features/configure.prf:
5:20 AM Changeset in webkit [143200] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebKit/efl

[EFL] Fix build when CONTEXT_MENUS flag is turned off
https://bugs.webkit.org/show_bug.cgi?id=109924

Patch by Michał Pakuła vel Rutka <Michał Pakuła vel Rutka> on 2013-02-18
Reviewed by Gyuyoung Kim.

  • WebCoreSupport/ContextMenuClientEfl.cpp:
  • WebCoreSupport/ContextMenuClientEfl.h:
  • ewk/ewk_view.cpp:

(_Ewk_View_Private_Data):
(_ewk_view_priv_new):
(_ewk_view_priv_del):
(ewk_view_context_menu_get):

5:12 AM Changeset in webkit [143199] by zarvai@inf.u-szeged.hu
  • 4 edits in trunk/LayoutTests

[Qt] Unreviewed gardening.

  • platform/qt/TestExpectations: Skip test after r143073.
  • platform/qt/css3/filters/effect-reference-expected.png: Rebaseline after r143101.
  • platform/qt/css3/filters/effect-reference-expected.txt: Rebaseline after r143101.
5:06 AM Changeset in webkit [143198] by gyuyoung.kim@samsung.com
  • 22 edits in trunk

[EFL] Rebaseline failure media tests after r142947
https://bugs.webkit.org/show_bug.cgi?id=109904

Reviewed by Kenneth Rohde Christiansen.

Source/WebCore:

  • css/mediaControlsEfl.css: Align time text vertically.

(audio::-webkit-media-controls-current-time-display, video::-webkit-media-controls-current-time-display):

LayoutTests:

  • platform/efl/TestExpectations:
  • platform/efl/media/audio-controls-rendering-expected.png:
  • platform/efl/media/audio-controls-rendering-expected.txt:
  • platform/efl/media/controls-after-reload-expected.png:
  • platform/efl/media/controls-after-reload-expected.txt:
  • platform/efl/media/controls-strict-expected.png:
  • platform/efl/media/controls-strict-expected.txt:
  • platform/efl/media/controls-styling-expected.png:
  • platform/efl/media/controls-styling-expected.txt:
  • platform/efl/media/controls-styling-strict-expected.png:
  • platform/efl/media/controls-styling-strict-expected.txt:
  • platform/efl/media/controls-without-preload-expected.png:
  • platform/efl/media/controls-without-preload-expected.txt:
  • platform/efl/media/video-controls-rendering-expected.png:
  • platform/efl/media/video-controls-rendering-expected.txt:
  • platform/efl/media/video-display-toggle-expected.png:
  • platform/efl/media/video-display-toggle-expected.txt:
  • platform/efl/media/video-playing-and-pause-expected.png:
  • platform/efl/media/video-playing-and-pause-expected.txt:
5:00 AM Changeset in webkit [143197] by allan.jensen@digia.com
  • 9 edits
    6 adds in trunk

[Qt][WK2] Support WK2 API tests
https://bugs.webkit.org/show_bug.cgi?id=109843

Reviewed by Jocelyn Turcotte.

Source/WebKit2:

  • UIProcess/API/qt/qquickwebview_p.h:

(TestWebKitAPI):

Tools:

  • TestWebKitAPI/DerivedSources.pri: Added.
  • TestWebKitAPI/InjectedBundle.pri: Added.
  • TestWebKitAPI/PlatformWebView.h:
  • TestWebKitAPI/TestWebKitAPI.pri:
  • TestWebKitAPI/TestWebKitAPI.pro:
  • TestWebKitAPI/Tests/JavaScriptCore/JavaScriptCore.pro: Added.
  • TestWebKitAPI/Tests/WTF/WTF.pro:
  • TestWebKitAPI/Tests/WebKit2/WebKit2.pro: Added.
  • TestWebKitAPI/qt/PlatformUtilitiesQt.cpp:

(TestWebKitAPI::Util::sleep):
(TestWebKitAPI::Util::createInjectedBundlePath):
(TestWebKitAPI::Util::createURLForResource):
(TestWebKitAPI::Util::isKeyDown):
(Util):

  • TestWebKitAPI/qt/PlatformWebViewQt.cpp: Added.

(TestWebKitAPI):
(WrapperWindow):
(TestWebKitAPI::WrapperWindow::WrapperWindow):
(TestWebKitAPI::WrapperWindow::handleStatusChanged):
(TestWebKitAPI::PlatformWebView::PlatformWebView):
(TestWebKitAPI::PlatformWebView::~PlatformWebView):
(TestWebKitAPI::PlatformWebView::resizeTo):
(TestWebKitAPI::PlatformWebView::page):
(TestWebKitAPI::PlatformWebView::focus):
(TestWebKitAPI::PlatformWebView::simulateSpacebarKeyPress):
(TestWebKitAPI::PlatformWebView::simulateAltKeyPress):
(TestWebKitAPI::PlatformWebView::simulateMouseMove):
(TestWebKitAPI::PlatformWebView::simulateRightClick):

  • TestWebKitAPI/qt/main.cpp:

(addQtWebProcessToPath):
(main):

4:56 AM Changeset in webkit [143196] by vsevik@chromium.org
  • 9 edits
    1 move
    1 add in trunk/Source/WebCore

Web Inspector: Extract FileSystemUtils from FileSystemProjectDelegate as IsolatedFileSystem class.
https://bugs.webkit.org/show_bug.cgi?id=110086

Reviewed by Pavel Feldman.

Extracted IsolatedFileSystem class that could be mocked for tests now.
Renamed IsolatedFileSystemModel to IsolatedFileSystemManager.

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

(WebInspector.FileSystemProjectDelegate):
(WebInspector.FileSystemProjectDelegate.prototype.id):
(WebInspector.FileSystemProjectDelegate.prototype.displayName):
(WebInspector.FileSystemProjectDelegate.prototype.setFileContent):
(WebInspector.FileSystemProjectDelegate.prototype._populate.filesLoaded):
(WebInspector.FileSystemProjectDelegate.prototype._populate):

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

(WebInspector.IsolatedFileSystem):
(WebInspector.IsolatedFileSystem.errorMessage):
(WebInspector.IsolatedFileSystem.prototype.id):
(WebInspector.IsolatedFileSystem.prototype.path):
(WebInspector.IsolatedFileSystem.prototype._requestFileSystem):
(WebInspector.IsolatedFileSystem.prototype.fileSystemLoaded):
(WebInspector.IsolatedFileSystem.prototype.innerCallback):
(WebInspector.IsolatedFileSystem.prototype.requestFilesRecursive):
(WebInspector.IsolatedFileSystem.prototype.fileEntryLoaded):
(WebInspector.IsolatedFileSystem.prototype.fileLoaded):
(WebInspector.IsolatedFileSystem.prototype.readerLoadEnd):
(WebInspector.IsolatedFileSystem.prototype.errorHandler):
(WebInspector.IsolatedFileSystem.prototype.requestFileContent):
(WebInspector.IsolatedFileSystem.prototype.fileWriterCreated.fileTruncated):
(WebInspector.IsolatedFileSystem.prototype.fileWriterCreated):
(WebInspector.IsolatedFileSystem.prototype.writerEnd):
(WebInspector.IsolatedFileSystem.prototype.setFileContent):
(WebInspector.IsolatedFileSystem.prototype.):
(WebInspector.IsolatedFileSystem.prototype.toArray):
(WebInspector.IsolatedFileSystem.prototype._readDirectory):
(WebInspector.IsolatedFileSystem.prototype._requestEntries):

  • inspector/front-end/IsolatedFileSystemManager.js: Renamed from Source/WebCore/inspector/front-end/IsolatedFileSystemModel.js.

(WebInspector.IsolatedFileSystemManager):
(WebInspector.IsolatedFileSystemManager.prototype.mapping):
(WebInspector.IsolatedFileSystemManager.prototype.supportsFileSystems):
(WebInspector.IsolatedFileSystemManager.prototype._requestFileSystems):
(WebInspector.IsolatedFileSystemManager.prototype.addFileSystem):
(WebInspector.IsolatedFileSystemManager.prototype.removeFileSystem):
(WebInspector.IsolatedFileSystemManager.prototype._fileSystemsLoaded):
(WebInspector.IsolatedFileSystemManager.prototype._innerAddFileSystem):
(WebInspector.IsolatedFileSystemManager.prototype._fileSystemPaths):
(WebInspector.IsolatedFileSystemManager.prototype._processPendingFileSystemRequests):
(WebInspector.IsolatedFileSystemManager.prototype._fileSystemAdded):
(WebInspector.IsolatedFileSystemManager.prototype._fileSystemRemoved):
(WebInspector.IsolatedFileSystemManager.prototype._isolatedFileSystem):
(WebInspector.IsolatedFileSystemManager.prototype.requestDOMFileSystem):
(WebInspector.IsolatedFileSystemDispatcher):
(WebInspector.IsolatedFileSystemDispatcher.prototype.fileSystemsLoaded):
(WebInspector.IsolatedFileSystemDispatcher.prototype.fileSystemRemoved):
(WebInspector.IsolatedFileSystemDispatcher.prototype.fileSystemAdded):

  • inspector/front-end/SettingsScreen.js:

(WebInspector.WorkspaceSettingsTab.prototype._createFileSystemsEditor):
(WebInspector.WorkspaceSettingsTab.prototype._addFileSystemRow.removeFileSystemClicked):
(WebInspector.WorkspaceSettingsTab.prototype._addFileSystemClicked):

  • inspector/front-end/WebKit.qrc:
  • inspector/front-end/inspector.html:
  • inspector/front-end/inspector.js:
4:54 AM Changeset in webkit [143195] by abecsi@webkit.org
  • 2 edits in trunk/Source/WebKit2

[Qt][WK2] Changing WebView.contentY and WebView.contentX does not redraw content
https://bugs.webkit.org/show_bug.cgi?id=108337

Reviewed by Jocelyn Turcotte.

We should not ignore content position changes unless pinch zoom or bounce-back
animation is ongoing.
This way we notify the web process about visible rect changes if the contentX
and contentY properties are used to programmatically scroll the content from QML.
One important usecase for this is when implementing scrollbars.

  • UIProcess/qt/PageViewportControllerClientQt.cpp:

(WebKit::PageViewportControllerClientQt::PageViewportControllerClientQt):
(WebKit::PageViewportControllerClientQt::flickMoveStarted):
(WebKit::PageViewportControllerClientQt::flickMoveEnded):
(WebKit::PageViewportControllerClientQt::pageItemPositionChanged):
(WebKit::PageViewportControllerClientQt::scaleAnimationStateChanged):
(WebKit::PageViewportControllerClientQt::pinchGestureStarted):

4:11 AM Changeset in webkit [143194] by commit-queue@webkit.org
  • 4 edits in trunk

[EFL][WK2] compositing/layer-creation/fixed-position-out-of-view-scaled.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=110059

Patch by Huang Dongsung <luxtella@company100.net> on 2013-02-18
Reviewed by Kenneth Rohde Christiansen.

Source/WebCore:

Remove the ASSERT check in TextureMapperLayer. This assertion seems
valid because CoordinatedGraphicsScene::adjustPositionForFixedLayers() calls
TextureMapperLayer::setScrollPositionDeltaIfNeeded() when the graphics
layer is a fixed position layer. However, the assertion can be failed
because it is possible that TextureMapperLayer is a non-fixed position
layer when the graphics layer that holds the TextureMapperLayer is a
fixed position layer. When CoordinatedGraphicsScene flushes,
TextureMapperLayer becomes a fixed position layer.

No new tests. No change in behavior.

  • platform/graphics/texmap/TextureMapperLayer.cpp:

(WebCore::TextureMapperLayer::setScrollPositionDeltaIfNeeded):

LayoutTests:

Unskip two tests on EFL port. Now those pass.
compositing/layer-creation/fixed-position-out-of-view-scaled.html
compositing/layer-creation/fixed-position-out-of-view-scaled-scroll.html

  • platform/efl-wk2/TestExpectations:
3:45 AM Changeset in webkit [143193] by Christophe Dumez
  • 2 edits in trunk/LayoutTests

Unreviewed EFL gardening.

Unskip several webgl/conformance tests that started passing after
r142854.

  • platform/efl-wk2/TestExpectations:
3:33 AM Changeset in webkit [143192] by g.czajkowski@samsung.com
  • 8 edits in trunk/Source

[WK2][EFL] Unified text checker implementation
https://bugs.webkit.org/show_bug.cgi?id=107682

Reviewed by Anders Carlsson.

Source/WebCore:

No new tests, covered by editing/spelling tests.

  • platform/text/TextChecking.h:

(WebCore):
Enabling unified text checker feature for WebKit-EFL.

Source/WebKit/efl:

Add an empty checkTextOfParagraph implementation for WK1-EFL
to do not break build when WTF_USE_UNIFIED_TEXT_CHECKING
is enabled.

  • WebCoreSupport/EditorClientEfl.h:

(EditorClientEfl):
(WebCore::EditorClientEfl::checkTextOfParagraph):

Source/WebKit2:

  • UIProcess/efl/TextCheckerEfl.cpp:

(WebKit):
(WebKit::nextWordOffset):
Helper function to determine the word offset to do not call
client's checkSpellingOfString for the word separators.

(WebKit::TextChecker::checkTextOfParagraph):
Allow to check spelling for multiple words,
their misspelling location and length are saved to the vector.

  • WebProcess/WebCoreSupport/WebEditorClient.h:

Add UNIFIED_TEXT_CHECKING guard to checkTextOfParagraph.

  • WebProcess/WebCoreSupport/efl/WebEditorClientEfl.cpp:

(WebKit):
(WebKit::WebEditorClient::checkTextOfParagraph):
As spelling implementation is exposed to UIProcess,
send a meesage to UIProcess to call TextChecker::checkTextOfParagraph.

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

fast/dom/shadow/shadow-dom-event-dispatching.html flake
https://bugs.webkit.org/show_bug.cgi?id=103299

Reviewed by Jochen Eisinger.

This patch breaks fast/dom/shadow/shadow-dom-event-dispatching.html out
into 12 separate tests to avoid timeouts. Common logic for all these
dispatching tests is now in resources/event-dispatching.js, and each
individual test function now runs in its own HTML file.

  • fast/dom/shadow/resources/event-dispatching.js: Added.

(moveMouseOver):
(recordEvent):
(dumpNode):
(dumpComposedShadowTree):
(addEventListeners):
(debugDispatchedEvent):
(moveMouse):
(showSandboxTree):

  • fast/dom/shadow/shadow-dom-event-dispatching-child-of-inactive-content-expected.txt: Added.
  • fast/dom/shadow/shadow-dom-event-dispatching-child-of-inactive-content.html: Added.
  • fast/dom/shadow/shadow-dom-event-dispatching-details-summary-expected.txt: Added.
  • fast/dom/shadow/shadow-dom-event-dispatching-details-summary.html: Added.
  • fast/dom/shadow/shadow-dom-event-dispatching-distributed-child-expected.txt: Added.
  • fast/dom/shadow/shadow-dom-event-dispatching-distributed-child.html: Added.
  • fast/dom/shadow/shadow-dom-event-dispatching-distributed-text-node-expected.txt: Added.
  • fast/dom/shadow/shadow-dom-event-dispatching-distributed-text-node.html: Added.
  • fast/dom/shadow/shadow-dom-event-dispatching-fallback-nodes-expected.txt: Added.
  • fast/dom/shadow/shadow-dom-event-dispatching-fallback-nodes.html: Added.
  • fast/dom/shadow/shadow-dom-event-dispatching-manually-fired-with-same-related-target-expected.txt: Added.
  • fast/dom/shadow/shadow-dom-event-dispatching-manually-fired-with-same-related-target.html: Added.
  • fast/dom/shadow/shadow-dom-event-dispatching-manually-fired-expected.txt: Added.
  • fast/dom/shadow/shadow-dom-event-dispatching-manually-fired.html: Added.
  • fast/dom/shadow/shadow-dom-event-dispatching-multiple-shadow-roots-expected.txt: Added.
  • fast/dom/shadow/shadow-dom-event-dispatching-multiple-shadow-roots.html: Added.
  • fast/dom/shadow/shadow-dom-event-dispatching-nested-shadow-roots-expected.txt: Added.
  • fast/dom/shadow/shadow-dom-event-dispatching-nested-shadow-roots.html: Added.
  • fast/dom/shadow/shadow-dom-event-dispatching-non-distributed-nodes-expected.txt: Added.
  • fast/dom/shadow/shadow-dom-event-dispatching-non-distributed-nodes.html: Added.
  • fast/dom/shadow/shadow-dom-event-dispatching-svg-in-shadow-subtree-expected.txt: Added.
  • fast/dom/shadow/shadow-dom-event-dispatching-svg-in-shadow-subtree.html: Added.
  • fast/dom/shadow/shadow-dom-event-dispatching-text-node-in-shadow-root-expected.txt: Added.
  • fast/dom/shadow/shadow-dom-event-dispatching-text-node-in-shadow-root.html: Added.

New tests!

  • fast/dom/shadow/shadow-dom-event-dispatching-expected.txt: Removed.
  • fast/dom/shadow/shadow-dom-event-dispatching.html: Removed.
  • platform/chromium/TestExpectations:

Dropped the old, monolithic test, and removed it from Chromium's
TestExpectations file.

3:24 AM Changeset in webkit [143190] by Christophe Dumez
  • 12 edits in trunk

[EFL][WK2] Refactor Ewk_Favicon code and stop relying on internal C++ API
https://bugs.webkit.org/show_bug.cgi?id=108598

Reviewed by Kenneth Rohde Christiansen.

Source/WebKit2:

Refactor the Ewk_Favicon code so that it no longer relies on internal
C++ API and so that it is based solely on the C API. The API is changed
a little as well so that the Favicon URL is no longer exposed to the
client. Also the client is now only notified of icon changes once the
favicon data is actually available.

The API is covered by existing API tests and by MiniBrowser which are
both updated accordingly in this patch.

  • UIProcess/API/efl/EwkView.cpp:

(EwkView::informURLChange):
(EwkView::createFavicon):
(EwkView::onFaviconChanged):

  • UIProcess/API/efl/EwkView.h:

(EwkView):

  • UIProcess/API/efl/EwkViewCallbacks.h:
  • UIProcess/API/efl/ewk_favicon_database.cpp:

Client are now notified of favicon changes only when the favicon data
becomes available and make API to retrieve a favicon synchronous. NULL
is returned if the favicon data is not available.

(EwkFaviconDatabase::EwkFaviconDatabase):
(EwkFaviconDatabase::getIconSurfaceSynchronously):
(EwkFaviconDatabase::iconDataReadyForPageURL):
(ewk_favicon_database_icon_get):

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

(EwkFaviconDatabase):

  • UIProcess/API/efl/ewk_view.cpp:

(ewk_view_favicon_get):

  • UIProcess/API/efl/ewk_view.h:

Rename 'icon,changed' signal to 'favicon,changed' for clarity and
consistency with the rest of the favicon API. Remove API to retrieve
the favicon URL and replace it by one to retrieve the favicon image as
an Evas_Object instead.

  • UIProcess/API/efl/tests/test_ewk2_favicon_database.cpp:

Update API tests to use the new favicon API.

Tools:

Update EFL's MiniBrowser to make use of new Ewk_Favicon API.

  • MiniBrowser/efl/main.c:

(update_view_favicon):
(on_view_favicon_changed):
(window_create):

3:22 AM Changeset in webkit [143189] by Christophe Dumez
  • 2 edits in trunk/LayoutTests

Unreviewed EFL gardening.

Unskip several webaudio test cases that pass now that we updated to
gstreamer 1.0.

  • platform/efl/TestExpectations:
2:59 AM Changeset in webkit [143188] by thakis@chromium.org
  • 2 edits in trunk/Source/WebCore

[chromium/clang] Remove -Wno-return-type-c-linkage
https://bugs.webkit.org/show_bug.cgi?id=110098

Reviewed by Jochen Eisinger.

The one instance where this triggered was removed in
http://trac.webkit.org/changeset/141184 . A clang that has this
warning landed in chromium r182694, so it should be safe to turn
the warning on now.

  • WebCore.gyp/WebCore.gyp:
2:56 AM Changeset in webkit [143187] by Christophe Dumez
  • 3 edits in trunk/LayoutTests

Unreviewed EFL gardening.

Update expectations for several test cases to make the bots green.

  • platform/efl-wk2/TestExpectations:
  • platform/efl/TestExpectations:
2:51 AM Changeset in webkit [143186] by pfeldman@chromium.org
  • 21 edits
    2 adds in trunk

Web Inspector: provide basic console.table implementation (no [,columns] support)
https://bugs.webkit.org/show_bug.cgi?id=109453

Reviewed by Vsevolod Vlasov.

Source/WebCore:

Test: inspector/console/console-format-table.html

Using console preview infrastructure to support console.table.

  • English.lproj/localizedStrings.js:
  • inspector/ConsoleAPITypes.h:
  • inspector/ConsoleMessage.cpp:

(WebCore::messageTypeValue):
(WebCore::ConsoleMessage::addToFrontend):

  • inspector/InjectedScript.cpp:

(WebCore::InjectedScript::wrapObject):
(WebCore):
(WebCore::InjectedScript::wrapTable):

  • inspector/InjectedScript.h:

(InjectedScript):

  • inspector/InjectedScriptSource.js:

(.):

  • inspector/Inspector.json:
  • inspector/InspectorDOMAgent.cpp:

(WebCore::InspectorDOMAgent::buildObjectForEventListener):

  • inspector/front-end/ConsoleMessage.js:

(WebInspector.ConsoleMessageImpl):
(WebInspector.ConsoleMessageImpl.prototype.willHide):
(WebInspector.ConsoleMessageImpl.prototype._format):
(WebInspector.ConsoleMessageImpl.prototype._appendObjectPreview):
(WebInspector.ConsoleMessageImpl.prototype._renderPropertyPreview):
(WebInspector.ConsoleMessageImpl.prototype._formatParameterAsTable):

  • inspector/front-end/ConsoleModel.js:
  • inspector/front-end/ConsoleView.js:

(WebInspector.ConsoleView.prototype._appendConsoleMessage):
(WebInspector.ConsoleView.prototype._consoleCleared):
(WebInspector.ConsoleView.prototype._updateMessageList):
(WebInspector.ConsoleCommand.prototype.wasShown):
(WebInspector.ConsoleCommand.prototype.willHide):
(WebInspector.ConsoleGroup.prototype.addMessage):

  • inspector/front-end/DataGrid.js:

(.sortDataGrid.comparator):
(.sortDataGrid):
(WebInspector.DataGrid.createSortableDataGrid):
(WebInspector.DataGrid.prototype.renderInline):

  • inspector/front-end/DatabaseQueryView.js:

(WebInspector.DatabaseQueryView.prototype._queryFinished):

  • inspector/front-end/dataGrid.css:

(.data-grid.inline):
(.data-grid.inline td.corner):

  • inspector/front-end/resourcesPanel.css:

(.storage-view > .data-grid):

  • page/Console.cpp:

(WebCore::Console::table):
(WebCore):

  • page/Console.h:

(Console):

  • page/Console.idl:

LayoutTests:

  • inspector/console/command-line-api-expected.txt:
  • inspector/console/console-format-table-expected.txt: Added.
  • inspector/console/console-format-table.html: Added.
2:45 AM Changeset in webkit [143185] by yurys@chromium.org
  • 2 edits in branches/chromium/1410/Source/WebCore/inspector/front-end

Merge 142870

Web Inspector: fix to record button remaining red after heap snapshot is taken
https://bugs.webkit.org/show_bug.cgi?id=109804

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

Revert part of r142243 fix. Namely heap snapshot taking button made
stateless as it was before.

  • inspector/front-end/HeapSnapshotView.js:

(WebInspector.HeapSnapshotProfileType.prototype.buttonClicked):

  • inspector/front-end/ProfilesPanel.js:

(WebInspector.ProfilesPanel.prototype.toggleRecordButton):

TBR=commit-queue@webkit.org
Review URL: https://codereview.chromium.org/12294013

2:45 AM Changeset in webkit [143184] by vsevik@chromium.org
  • 4 edits in trunk/Source/WebCore

Web Inspector: JavaScriptSourceFrame should inherit UISourceCodeFrame
https://bugs.webkit.org/show_bug.cgi?id=110091

Reviewed by Pavel Feldman.

Removed duplicated code from JavaScriptSourceFrame and made it inherit UISourceCodeFrame.

  • inspector/front-end/JavaScriptSourceFrame.js:

(WebInspector.JavaScriptSourceFrame):
(WebInspector.JavaScriptSourceFrame.prototype.onUISourceCodeContentChanged):
(WebInspector.JavaScriptSourceFrame.prototype.populateTextAreaContextMenu):

  • inspector/front-end/ScriptsPanel.js:
  • inspector/front-end/UISourceCodeFrame.js:

(WebInspector.UISourceCodeFrame.prototype.canEditSource):
(WebInspector.UISourceCodeFrame.prototype.onTextChanged):
(WebInspector.UISourceCodeFrame.prototype._onFormattedChanged):
(WebInspector.UISourceCodeFrame.prototype.onUISourceCodeContentChanged):
(WebInspector.UISourceCodeFrame.prototype._innerSetContent):

2:35 AM Changeset in webkit [143183] by apavlov@chromium.org
  • 3 edits in branches/chromium/1410/Source/WebCore/inspector/front-end

Merge 142745

Web Inspector: Fixed colorpicker editing and scrolling.
https://bugs.webkit.org/show_bug.cgi?id=109434.

Patch by Vladislav Kaznacheev <kaznacheev@chromium.org> on 2013-02-13
Reviewed by Alexander Pavlov.

The color picker scrolling logic relied on the fixed DOM structure which changed with the introduction of
SidebarPaneStack (https://bugs.webkit.org/show_bug.cgi?id=108183).
Added a special CSS class to mark the scroll target.

No new tests.

  • inspector/front-end/SplitView.js:

(WebInspector.SplitView):

  • inspector/front-end/StylesSidebarPane.js:

(WebInspector.StylePropertyTreeElement.prototype.updateTitle.):

  • inspector/front-end/TabbedPane.js:

(WebInspector.TabbedPane):

TBR=commit-queue@webkit.org
Review URL: https://codereview.chromium.org/12301008

2:31 AM Changeset in webkit [143182] by pfeldman@chromium.org
  • 3 edits in trunk/LayoutTests

Follow up to r143112, fixing tests.
Not reviewed.

  • inspector/elements/insert-node-expected.txt:
  • inspector/elements/insert-node.html:
2:30 AM Changeset in webkit [143181] by loislo@chromium.org
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed speculative build fix for Apple Win bots.

2:29 AM Changeset in webkit [143180] by vsevik@chromium.org
  • 2 edits in trunk/Source/WebCore

Web Inspector: Remove unused _files field in FileSystemProjectDelegate
https://bugs.webkit.org/show_bug.cgi?id=110082

Reviewed by Pavel Feldman.

  • inspector/front-end/FileSystemProjectDelegate.js:

(WebInspector.FileSystemProjectDelegate):
(WebInspector.FileSystemProjectDelegate.prototype._addFile):
(WebInspector.FileSystemProjectDelegate.prototype._removeFile):

2:28 AM Changeset in webkit [143179] by pfeldman@chromium.org
  • 5 edits in trunk

Web Inspector: allow 0 as a formatted parameter in console message.
https://bugs.webkit.org/show_bug.cgi?id=110096

Reviewed by Vsevolod Vlasov.

Source/WebCore:

  • inspector/front-end/ConsoleMessage.js:

(WebInspector.ConsoleMessageImpl.prototype.append):
(WebInspector.ConsoleMessageImpl.prototype._formatWithSubstitutionString):

LayoutTests:

  • inspector/console/console-format.html:
2:20 AM Changeset in webkit [143178] by loislo@chromium.org
  • 2 edits in trunk/Source/WebCore

Unreviewed speculative fix for Chromium Mac.

  • WebCore.gypi:
2:15 AM Changeset in webkit [143177] by kadam@inf.u-szeged.hu
  • 3 edits in trunk/LayoutTests

[Qt] Unreviewed gardening. Skipped failing tests.

  • platform/qt-5.0-wk1/TestExpectations:
  • platform/qt/TestExpectations:
2:11 AM Changeset in webkit [143176] by zarvai@inf.u-szeged.hu
  • 2 edits in trunk/Tools

Unreviewed. Add myself as a committer.

  • Scripts/webkitpy/common/config/committers.py:
1:54 AM Changeset in webkit [143175] by loislo@chromium.org
  • 6 edits
    1 add in trunk

Web Inspector: Native Memory Instrumentation: reportLeaf method doesn't report the leaf node properly.
https://bugs.webkit.org/show_bug.cgi?id=109554

In some cases leaves have no pointer so with the old schema we can't generate nodeId for them because we
can't insert 0 into hashmap. It happens when we call addPrivateBuffer method.

Drive by fix: I introduced a client interface for the HeapGraphSerializer.
It helps me to do the tests for the serializer.

Reviewed by Yury Semikhatsky.

It is covered by newly added tests in TestWebKitAPI.

Source/WebCore:

  • inspector/HeapGraphSerializer.cpp:

(WebCore::HeapGraphSerializer::HeapGraphSerializer):
(WebCore::HeapGraphSerializer::pushUpdate):
(WebCore::HeapGraphSerializer::reportNode):
(WebCore::HeapGraphSerializer::toNodeId):
(WebCore::HeapGraphSerializer::addRootNode):

  • inspector/HeapGraphSerializer.h:

(HeapGraphSerializer):
(Client):
(WebCore::HeapGraphSerializer::Client::~Client):

  • inspector/InspectorMemoryAgent.cpp:

(WebCore):
(WebCore::InspectorMemoryAgent::getProcessMemoryDistributionImpl):

Tools:

  • TestWebKitAPI/TestWebKitAPI.gypi:
  • TestWebKitAPI/Tests/WebCore/HeapGraphSerializerTest.cpp: Added.

(TestWebKitAPI):
(HeapGraphReceiver):
(TestWebKitAPI::HeapGraphReceiver::HeapGraphReceiver):
(TestWebKitAPI::HeapGraphReceiver::printGraph):
(TestWebKitAPI::HeapGraphReceiver::dumpNodes):
(TestWebKitAPI::HeapGraphReceiver::dumpEdges):
(TestWebKitAPI::HeapGraphReceiver::dumpBaseToRealNodeId):
(TestWebKitAPI::HeapGraphReceiver::dumpStrings):
(TestWebKitAPI::HeapGraphReceiver::serializer):
(TestWebKitAPI::HeapGraphReceiver::chunkPart):
(TestWebKitAPI::HeapGraphReceiver::dumpPart):
(TestWebKitAPI::HeapGraphReceiver::stringValue):
(TestWebKitAPI::HeapGraphReceiver::intValue):
(TestWebKitAPI::HeapGraphReceiver::nodeToString):
(TestWebKitAPI::HeapGraphReceiver::edgeToString):
(TestWebKitAPI::HeapGraphReceiver::printNode):
(Helper):
(TestWebKitAPI::Helper::Helper):
(TestWebKitAPI::Helper::addNode):
(TestWebKitAPI::Helper::addEdge):
(TestWebKitAPI::Helper::done):
(Object):
(TestWebKitAPI::Helper::Object::Object):
(TestWebKitAPI::TEST):
(Owner):
(TestWebKitAPI::Owner::Owner):
(TestWebKitAPI::Owner::reportMemoryUsage):

1:30 AM Changeset in webkit [143174] by commit-queue@webkit.org
  • 9 edits in trunk

Unreviewed, rolling out r143100.
http://trac.webkit.org/changeset/143100
https://bugs.webkit.org/show_bug.cgi?id=110088

Breaks file system support in workspace. (Requested by vsevik
on #webkit).

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

Source/WebCore:

  • inspector/front-end/ScriptSnippetModel.js:

(WebInspector.ScriptSnippetModel.prototype._addScriptSnippet):

  • inspector/front-end/SimpleWorkspaceProvider.js:

(WebInspector.SimpleProjectDelegate):
(WebInspector.SimpleProjectDelegate.prototype.id):
(WebInspector.SimpleProjectDelegate.prototype.displayName):
(WebInspector.SimpleProjectDelegate.prototype.addFile):
(WebInspector.SimpleWorkspaceProvider):
(WebInspector.SimpleWorkspaceProvider.uriForURL):
(WebInspector.SimpleWorkspaceProvider.prototype._innerAddFileForURL):
(WebInspector.SimpleWorkspaceProvider.prototype.removeFile):
(WebInspector.SimpleWorkspaceProvider.prototype.reset):

  • inspector/front-end/UISourceCode.js:

(WebInspector.UISourceCode.prototype.uri):

  • inspector/front-end/Workspace.js:

(WebInspector.Project.prototype._fileAdded):
(WebInspector.Project.prototype._fileRemoved):
(WebInspector.Project.prototype.uiSourceCodeForURI):
(WebInspector.Workspace.prototype.projectForUISourceCode):

LayoutTests:

  • inspector/debugger/live-edit-breakpoints-expected.txt:
  • inspector/debugger/live-edit-breakpoints.html:
  • inspector/uisourcecode-revisions.html:
1:27 AM Changeset in webkit [143173] by zandobersek@gmail.com
  • 3 edits in trunk/LayoutTests

Unreviewed gardening.

Adding failure expectations for two tests that are failing on GTK and Qt,
most likely due to disabled subpixel layout.

  • platform/gtk/TestExpectations:
  • platform/qt/TestExpectations:
1:26 AM Changeset in webkit [143172] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Fix indentation of StructureStubInfo.h

Rubber stamped by Mark Hahnenberg.

  • bytecode/StructureStubInfo.h:
1:25 AM Changeset in webkit [143171] by fpizlo@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Fix indentation of JSGlobalObject.h and JSGlobalObjectFunctions.h

Rubber stamped by Mark Hahnenberg.

  • runtime/JSGlobalObject.h:
  • runtime/JSGlobalObjectFunctions.h:
1:20 AM Changeset in webkit [143170] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Fix indention of Operations.h

Rubber stamped by Mark Hahnenberg.

  • runtime/Operations.h:
1:16 AM Changeset in webkit [143169] by Christophe Dumez
  • 3 edits
    2 deletes in trunk/LayoutTests

Unreviewed. Clean up a few EFL unexpected passes.

  • platform/efl-wk2/TestExpectations:
  • platform/efl/TestExpectations:
  • platform/efl/ietestcenter/css3/bordersbackgrounds/background-repeat-space-padding-box-expected.txt: Removed.
  • platform/efl/ietestcenter/css3/text/textshadow-005-expected.txt: Removed.
1:16 AM Changeset in webkit [143168] by fpizlo@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Remove DFG::SpeculativeJIT::isKnownNumeric(), since it's not called from anywhere.

Rubber stamped by Andy Estes.

  • dfg/DFGSpeculativeJIT.cpp:

(DFG):

  • dfg/DFGSpeculativeJIT.h:

(SpeculativeJIT):

1:11 AM Changeset in webkit [143167] by fpizlo@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Remove DFG::SpeculativeJIT::isStrictInt32(), since it's not called from anywhere.

Rubber stampted by Andy Estes.

  • dfg/DFGSpeculativeJIT.cpp:

(DFG):

  • dfg/DFGSpeculativeJIT.h:

(SpeculativeJIT):

1:00 AM Changeset in webkit [143166] by tommyw@google.com
  • 2 edits in branches/chromium/1364/Source/WebCore/Modules/mediastream

Merge 142887

MediaStream API: RTCDataChannel triggers a use-after-free
https://bugs.webkit.org/show_bug.cgi?id=109806

Reviewed by Adam Barth.

Making sure RTCPeerConnection::stop() is always called at least once.
Also making sure that RTCDataChannels state gets set to Closed correctly.

Hard to test in WebKit but covered by Chromium tests.

  • Modules/mediastream/RTCDataChannel.cpp:

(WebCore::RTCDataChannel::stop):

  • Modules/mediastream/RTCPeerConnection.cpp:

(WebCore::RTCPeerConnection::~RTCPeerConnection):
(WebCore::RTCPeerConnection::stop):

TBR=tommyw@google.com
Review URL: https://codereview.chromium.org/12301006

12:59 AM Changeset in webkit [143165] by fpizlo@apple.com
  • 7 edits in trunk/Source/JavaScriptCore

Remove dead code for ValueToNumber from the DFG.

Rubber stamped by Andy Estes.

We killed ValueToNumber at some point, but forgot to kill all of the backend support
for it.

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::handleMinMax):

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

(SpeculativeJIT):

  • dfg/DFGSpeculativeJIT32_64.cpp:
  • dfg/DFGSpeculativeJIT64.cpp:
12:59 AM Changeset in webkit [143164] by Christophe Dumez
  • 2 edits
    4 deletes in trunk/LayoutTests

Unreviewed. Clean up a few EFL unexpected passes.

  • platform/efl/TestExpectations:
  • platform/efl/fast/repaint/block-selection-gap-in-table-cell-expected.png: Removed.
  • platform/efl/fast/repaint/block-selection-gap-in-table-cell-expected.txt: Removed.
  • platform/efl/fast/repaint/caret-with-transformation-expected.png: Removed.
  • platform/efl/fast/repaint/caret-with-transformation-expected.txt: Removed.
12:46 AM Changeset in webkit [143163] by Christophe Dumez
  • 2 edits
    12 deletes in trunk/LayoutTests

Unreviewed. Remove invalid EFL results that were wrongly added in r140249.

  • platform/efl/TestExpectations:
  • platform/efl/fast/css/color-correction-on-background-image-expected.png: Removed.
  • platform/efl/fast/css/color-correction-on-background-image-expected.txt: Removed.
  • platform/efl/fast/css/color-correction-on-backgrounds-expected.png: Removed.
  • platform/efl/fast/css/color-correction-on-backgrounds-expected.txt: Removed.
  • platform/efl/fast/css/color-correction-on-box-shadow-expected.png: Removed.
  • platform/efl/fast/css/color-correction-on-box-shadow-expected.txt: Removed.
  • platform/efl/fast/css/color-correction-on-text-expected.png: Removed.
  • platform/efl/fast/css/color-correction-on-text-expected.txt: Removed.
  • platform/efl/fast/css/color-correction-on-text-shadow-expected.png: Removed.
  • platform/efl/fast/css/color-correction-on-text-shadow-expected.txt: Removed.
  • platform/efl/fast/css/color-correction-untagged-images-expected.png: Removed.
  • platform/efl/fast/css/color-correction-untagged-images-expected.txt: Removed.
12:38 AM Changeset in webkit [143162] by rniwa@webkit.org
  • 2 edits in trunk/Tools

WKR build fix. Always use ascii since irclib/ircbot doesn't support unicode.

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

(NewCommitBot.next_work_item):

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

Unreviewed. Unskip several test cases that are now passing on
EFL port, most of them due to enabling subpixel layout.

  • platform/efl/TestExpectations:
12:22 AM Changeset in webkit [143160] by Christophe Dumez
  • 2 edits in trunk/LayoutTests

Unreviewed. Unskip several compositing tests that are now
passing on WK2 EFL.

  • platform/efl/TestExpectations:

Feb 17, 2013:

11:51 PM Changeset in webkit [143159] by eustas@chromium.org
  • 12 edits
    1 add in trunk

Web Inspector: Introduce ProfilesPanelDescriptor.
https://bugs.webkit.org/show_bug.cgi?id=109906

Reviewed by Pavel Feldman.

Source/WebCore:

Some constants/methods should be accesible before ProfilesPanel
is instantiated.

Extracted methods to check if profile is "user-initiated" and what is
its index.

Also profile URL regexp moved to ProfilesPanelDescriptor.

  • inspector/front-end/ProfilesPanelDescriptor.js: Added.
  • WebCore.gypi: Added ProfilesPanelDescriptor.js
  • WebCore.vcproj/WebCore.vcproj: Ditto.
  • inspector/compile-front-end.py: Ditto.
  • inspector/front-end/WebKit.qrc: Ditto.
  • inspector/front-end/inspector.html: Ditto.
  • inspector/front-end/HeapSnapshotView.js: Adopted changes.
  • inspector/front-end/ProfilesPanel.js: Ditto.
  • inspector/front-end/externs.js: Ditto.
  • inspector/front-end/inspector.js: Ditto.

LayoutTests:

  • inspector/profiler/heap-snapshot-test.js: Adopted changes.
11:50 PM WebKit Team edited by kangil.han@samsung.com
(diff)
11:47 PM Changeset in webkit [143158] by kangil.han@samsung.com
  • 2 edits in trunk/Tools

Unreviewed. Add myself as a committer.

  • Scripts/webkitpy/common/config/committers.py:
11:46 PM Changeset in webkit [143157] by toyoshim@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed, update test expectation for chromium.
https://bugs.webkit.org/show_bug.cgi?id=110079

  • platform/chromium/TestExpectations:
11:44 PM Changeset in webkit [143156] by commit-queue@webkit.org
  • 7 edits in trunk/Tools

GCE EWS bots are all offline
https://bugs.webkit.org/show_bug.cgi?id=110069

Patch by Alan Cutter <alancutter@chromium.org> on 2013-02-17
Reviewed by Eric Seidel.

Updated GCE EWS build scripts to use the gcel-10-04-v20130104 image instead of the obsoleted ubuntu-10-04-v20120621.
This changed the ephemeral disk path to /dev/sdb and required /etc/hosts to be chmodded to 644.

  • EWSTools/GoogleComputeEngine/build-chromium-ews.sh:
  • EWSTools/GoogleComputeEngine/build-commit-queue.sh:
  • EWSTools/GoogleComputeEngine/build-cr-linux-debug-ews.sh:
  • EWSTools/GoogleComputeEngine/build-feeder-style-sheriffbot.sh:
  • EWSTools/build-vm.sh:
  • EWSTools/start-queue.sh:
11:35 PM Changeset in webkit [143155] by vivek.vg@samsung.com
  • 2 edits in trunk/LayoutTests

Add missing braces in fast/parser/noscript-with-javascript-enabled.html
https://bugs.webkit.org/show_bug.cgi?id=110078

Unreviewed gardening. Adding the missing braces.

  • fast/parser/noscript-with-javascript-enabled.html:
11:25 PM WebKit Team edited by vivekg@webkit.org
(diff)
11:18 PM Changeset in webkit [143154] by Csaba Osztrogonác
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed buildfix for JSVALUE32_64 builds after r143147.

  • jit/JIT.h:
10:50 PM Changeset in webkit [143153] by eustas@chromium.org
  • 2 edits in trunk/Tools

Unreviewed, add myself to commiters.py.

  • Scripts/webkitpy/common/config/committers.py:
10:44 PM Changeset in webkit [143152] by Dimitri Glazkov
  • 3 edits in trunk/Source/WebCore

Stop passing around SelectorChecker in SelectorQuery, now that it's stack-allocated.
https://bugs.webkit.org/show_bug.cgi?id=110038

Reviewed by Andreas Kling.

No functional changes, covered by existing tests.

  • dom/SelectorQuery.cpp:

(WebCore::SelectorDataList::matches): Moved instantiation of SelectorChecker in here.
(WebCore::SelectorDataList::queryAll): Got rid of unneeded SelectorChecker arg.
(WebCore::SelectorDataList::queryFirst): Ditto.
(WebCore::SelectorDataList::execute): Moved instantiation of SelectorChecker in here.
(WebCore::SelectorQuery::matches): Removed instantiation of SelectorChecker here.
(WebCore::SelectorQuery::queryAll): Ditto.
(WebCore::SelectorQuery::queryFirst): Ditto.

  • dom/SelectorQuery.h:

(WebCore): Tweaked headers to make SelectorChecker just an implementation detail.
(SelectorDataList): Tweaked decls to remove SelectorChecker args.

10:38 PM Changeset in webkit [143151] by toyoshim@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed, update test expectation for chromium.
https://bugs.webkit.org/show_bug.cgi?id=110076

  • platform/chromium/TestExpectations:
10:37 PM Changeset in webkit [143150] by Dimitri Glazkov
  • 3 edits in trunk/Source/WebCore

Stop passing around SelectorChecker in ContentSelectorQuery.
https://bugs.webkit.org/show_bug.cgi?id=110041

Now that SelectorChecker has no interesting state, we can simplify ContentSelectorQuery and get rid of a class.

Reviewed by Andreas Kling.

No functional changes, covered by existing tests.

  • html/shadow/ContentSelectorQuery.cpp:

(WebCore::ContentSelectorDataList::checkContentSelector): Zapped ContentSelectorChecker and moved its only remaining method here.
(WebCore::ContentSelectorDataList::matches): Removed SelectorChecker argument.
(WebCore::ContentSelectorQuery::ContentSelectorQuery): Removed an unnecessary member.
(WebCore::ContentSelectorQuery::matches): Removed unnecessary argument.

  • html/shadow/ContentSelectorQuery.h:

(WebCore): Cleaned up the file.
(ContentSelectorDataList): Updated decls.
(ContentSelectorQuery): Ditto.

10:33 PM Changeset in webkit [143149] by dw.im@samsung.com
  • 2 edits in trunk/Tools

Unreviewed. Add myself as a committer.

  • Scripts/webkitpy/common/config/committers.py:
10:31 PM Changeset in webkit [143148] by mkwst@chromium.org
  • 3 edits
    2 adds in trunk

WheelEvent should not target text nodes.
https://bugs.webkit.org/show_bug.cgi?id=109939

Reviewed by Darin Adler.

Source/WebCore:

WheelEvent, like other mouse events, should not target text nodes.
EventHandler correctly handles other mouse events by retargeting
events to text nodes' parents; this patch adds that logic to the
WheelEvent handler.

This should allow jQuery to stop working around WebKit's behavior[1].

[1]: https://github.com/jquery/jquery/commit/c61150427fc8ccc8e884df8f221a6c9bb5477929

Test: fast/events/wheelevent-in-text-node.html

  • page/EventHandler.cpp:

(WebCore::EventHandler::handleWheelEvent):

If a WheelEvent's hit test lands on a text node, retarget the
event to the text node's parent. Do this before latching the node.

LayoutTests:

  • fast/events/wheelevent-in-text-node-expected.txt: Added.
  • fast/events/wheelevent-in-text-node.html: Added.
10:28 PM Changeset in webkit [143147] by fpizlo@apple.com
  • 35 edits
    4 adds in trunk/Source

Move all Structure out-of-line inline methods to StructureInlines.h
https://bugs.webkit.org/show_bug.cgi?id=110024

Source/JavaScriptCore:

Rubber stamped by Mark Hahnenberg and Sam Weinig.

This was supposed to be easy.

But, initially, there was a Structure inline method in CodeBlock.h, and moving that
into StructureInlines.h meant that Operations.h included CodeBlock.h. This would
cause WebCore build failures, because CodeBlock.h transitively included the JSC
parser (via many, many paths), and the JSC parser defines tokens using enumeration
elements that CSSGrammar.cpp (generated by bison) would #define. For example,
bison would give CSSGrammar.cpp a #define FUNCTION 123, and would do so before
including anything interesting. The JSC parser would have an enum that included
FUNCTION as an element. Hence the JSC parser included into CSSGrammar.cpp would have
a token element called FUNCTION declared in an enumeration, but FUNCTION was
#define'd to 123, leading to a parser error.

Wow.

So I removed all transitive include paths from CodeBlock.h to the JSC Parser. I
believe I was able to do so without out-of-lining anything interesting or performance
critical. This is probably a purely good thing to have done: it will be nice to be
able to make changes to the parser without having to compile the universe.

Of course, doing this caused a bunch of other things to not compile, since a bunch of
headers relied on things being implicitly included for them when they transitively
included the parser. I fixed a lot of that.

Finally, I ended up removing the method that depended on CodeBlock.h from
StructureInlines.h, and putting it in Structure.cpp. That might seem like all of this
was a waste of time, except that I suspect it was a worthwhile forcing function for
cleaning up a bunch of cruft.

  • API/JSCallbackFunction.cpp:
  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • Target.pri:
  • bytecode/CodeBlock.h:

(JSC):

  • bytecode/EvalCodeCache.h:
  • bytecode/SamplingTool.h:
  • bytecode/UnlinkedCodeBlock.cpp:

(JSC::UnlinkedFunctionExecutable::parameterCount):
(JSC):

  • bytecode/UnlinkedCodeBlock.h:

(UnlinkedFunctionExecutable):

  • bytecompiler/BytecodeGenerator.h:
  • bytecompiler/Label.h:

(JSC):

  • dfg/DFGByteCodeParser.cpp:
  • dfg/DFGByteCodeParser.h:
  • dfg/DFGFPRInfo.h:
  • dfg/DFGRegisterBank.h:
  • heap/HandleStack.cpp:
  • jit/JITWriteBarrier.h:
  • parser/Nodes.h:

(JSC):

  • parser/Parser.h:
  • parser/ParserError.h: Added.

(JSC):
(JSC::ParserError::ParserError):
(ParserError):
(JSC::ParserError::toErrorObject):

  • parser/ParserModes.h:
  • parser/SourceProvider.cpp: Added.

(JSC):
(JSC::SourceProvider::SourceProvider):
(JSC::SourceProvider::~SourceProvider):

  • parser/SourceProvider.h:

(JSC):
(SourceProvider):

  • runtime/ArrayPrototype.cpp:
  • runtime/DatePrototype.cpp:
  • runtime/Executable.h:
  • runtime/JSGlobalObject.cpp:
  • runtime/JSGlobalObject.h:

(JSC):

  • runtime/Operations.h:
  • runtime/Structure.cpp:

(JSC::Structure::prototypeForLookup):
(JSC):

  • runtime/Structure.h:

(JSC):

  • runtime/StructureInlines.h: Added.

(JSC):
(JSC::Structure::create):
(JSC::Structure::createStructure):
(JSC::Structure::get):
(JSC::Structure::masqueradesAsUndefined):
(JSC::SlotVisitor::internalAppend):
(JSC::Structure::transitivelyTransitionedFrom):
(JSC::Structure::setEnumerationCache):
(JSC::Structure::enumerationCache):
(JSC::Structure::prototypeForLookup):
(JSC::Structure::prototypeChain):
(JSC::Structure::isValid):

  • runtime/StructureRareData.cpp:

Source/WebCore:

Rubber stamped by Sam Weinig.

No new tests because no new behavior. Just rewiring includes.

  • ForwardingHeaders/parser/SourceProviderCache.h: Added.
  • loader/cache/CachedScript.cpp:
10:02 PM WebKit Team edited by dw.im@samsung.com
(diff)
9:53 PM Changeset in webkit [143146] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit2

Remove unnecessary public method DrawingAreaImpl::createGraphicsContext()
https://bugs.webkit.org/show_bug.cgi?id=109893

Patch by Jae Hyun Park <jae.park@company100.net> on 2013-02-17
Reviewed by Anders Carlsson.

DrawingAreaImpl::createGraphicsContext() is unnecessary since
createGraphicsContext can be called directly using ShareableBitmap.

  • WebProcess/WebPage/DrawingAreaImpl.cpp:

(WebKit::DrawingAreaImpl::display):

  • WebProcess/WebPage/DrawingAreaImpl.h:

(DrawingAreaImpl):

9:51 PM Changeset in webkit [143145] by hayato@chromium.org
  • 7 edits in trunk/Source/WebCore

Make EventDispatcher take an Event object in its constructor.
https://bugs.webkit.org/show_bug.cgi?id=109898

Reviewed by Dimitri Glazkov.

That makes EventDispatcher more RAII-like so that we can calculate
an EventPath in its constructor. I'll remove
EventDispatcher::ensureEventPath() in a following patch.

No tests. No change in behavior.

  • dom/EventDispatchMediator.cpp:

(WebCore::EventDispatchMediator::dispatchEvent):

  • dom/EventDispatcher.cpp:

(WebCore::EventDispatcher::dispatchEvent):
(WebCore::EventDispatcher::EventDispatcher):
(WebCore::EventDispatcher::ensureEventPath):
(WebCore::EventDispatcher::dispatchSimulatedClick):
(WebCore::EventDispatcher::dispatch):
(WebCore::EventDispatcher::dispatchEventPreProcess):
(WebCore::EventDispatcher::dispatchEventAtCapturing):
(WebCore::EventDispatcher::dispatchEventAtTarget):
(WebCore::EventDispatcher::dispatchEventAtBubbling):
(WebCore::EventDispatcher::dispatchEventPostProcess):

  • dom/EventDispatcher.h:

(EventDispatcher):
(WebCore::EventDispatcher::node):
(WebCore::EventDispatcher::event):

  • dom/FocusEvent.cpp:

(WebCore::FocusEventDispatchMediator::dispatchEvent):
(WebCore::BlurEventDispatchMediator::dispatchEvent):
(WebCore::FocusInEventDispatchMediator::dispatchEvent):
(WebCore::FocusOutEventDispatchMediator::dispatchEvent):

  • dom/GestureEvent.cpp:

(WebCore::GestureEventDispatchMediator::dispatchEvent):

  • dom/MouseEvent.cpp:

(WebCore::MouseEventDispatchMediator::dispatchEvent):

9:38 PM Changeset in webkit [143144] by pdr@google.com
  • 3 edits
    2 adds in trunk

Fix non-root SVG viewport under zoom
https://bugs.webkit.org/show_bug.cgi?id=99453

Reviewed by Dirk Schulze.

Source/WebCore:

The root SVG element handles zoom differently than other SVG nodes because it needs
to translate between CSS (where zoom is applied to all units) and SVG (where zoom is only
applied at the top level). A good description of this difference can be found here:
http://trac.webkit.org/browser/trunk/Source/WebCore/css/StyleResolver.cpp?rev=142855#L2598

SVG elements can appear as children in the SVG tree as well, and in this mode
SVGSVGElement should not consider the current zoom level. This patch fixes a bug
where non-root viewport calculations were removing zoom.

Test: svg/custom/symbol-zoom.html

  • svg/SVGSVGElement.cpp:

(WebCore::SVGSVGElement::currentViewportSize):

This change removes the unnecessary zoom calculation for non-root nodes. This is similar
to how zoom is handled elsewhere, e.g., SVGSVGElement::localCoordinateSpaceTransform.

LayoutTests:

  • svg/custom/symbol-zoom-expected.html: Added.
  • svg/custom/symbol-zoom.html: Added.
9:31 PM WebKit Team edited by bw80.lee@samsung.com
(diff)
9:30 PM Changeset in webkit [143143] by Chris Fleizach
  • 2 edits
    5 adds in trunk/Source/WebCore

AX: Upstream iOS Accessibility files
https://bugs.webkit.org/show_bug.cgi?id=110071

Reviewed by David Kilzer.

Upstream the iOS Accessibility files for WebCore.

  • WebCore.xcodeproj/project.pbxproj:
  • accessibility/ios: Added.
  • accessibility/ios/AXObjectCacheIOS.mm: Added.

(WebCore):
(WebCore::AXObjectCache::detachWrapper):
(WebCore::AXObjectCache::attachWrapper):
(WebCore::AXObjectCache::postPlatformNotification):
(WebCore::AXObjectCache::nodeTextChangePlatformNotification):
(WebCore::AXObjectCache::frameLoadingEventPlatformNotification):
(WebCore::AXObjectCache::handleFocusedUIElementChanged):
(WebCore::AXObjectCache::handleScrolledToAnchor):

  • accessibility/ios/AccessibilityObjectIOS.mm: Added.

(-[WAKView accessibilityIsIgnored]):
(WebCore):
(WebCore::AccessibilityObject::detachFromParent):
(WebCore::AccessibilityObject::overrideAttachmentParent):
(WebCore::AccessibilityObject::accessibilityPasswordFieldLength):
(WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
(WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):

  • accessibility/ios/AccessibilityObjectWrapperIOS.h: Added.

(WAKView):

  • accessibility/ios/AccessibilityObjectWrapperIOS.mm: Added.

(AccessibilityUnignoredAncestor):
(-[WebAccessibilityTextMarker initWithTextMarker:cache:]):
(-[WebAccessibilityTextMarker initWithData:cache:]):
(-[WebAccessibilityTextMarker initWithData:accessibilityObject:]):
(+[WebAccessibilityTextMarker textMarkerWithVisiblePosition:cache:]):
(-[WebAccessibilityTextMarker dataRepresentation]):
(-[WebAccessibilityTextMarker visiblePosition]):
(-[WebAccessibilityTextMarker description]):
(-[WebAccessibilityObjectWrapper initWithAccessibilityObject:]):
(-[WebAccessibilityObjectWrapper detach]):
(-[WebAccessibilityObjectWrapper dealloc]):
(-[WebAccessibilityObjectWrapper _prepareAccessibilityCall]):
(-[WebAccessibilityObjectWrapper accessibilityObject]):
(-[WebAccessibilityObjectWrapper accessibilityCanFuzzyHitTest]):
(-[WebAccessibilityObjectWrapper accessibilityPostProcessHitTest:]):
(-[WebAccessibilityObjectWrapper accessibilityHitTest:]):
(-[WebAccessibilityObjectWrapper accessibilityElementCount]):
(-[WebAccessibilityObjectWrapper accessibilityElementAtIndex:]):
(-[WebAccessibilityObjectWrapper indexOfAccessibilityElement:]):
(-[WebAccessibilityObjectWrapper accessibilityLanguage]):
(-[WebAccessibilityObjectWrapper _accessibilityIsLandmarkRole:]):
(-[WebAccessibilityObjectWrapper _accessibilityListAncestor]):
(-[WebAccessibilityObjectWrapper _accessibilityLandmarkAncestor]):
(-[WebAccessibilityObjectWrapper _accessibilityTableAncestor]):
(-[WebAccessibilityObjectWrapper _accessibilityTraitsFromAncestors]):
(-[WebAccessibilityObjectWrapper accessibilityTraits]):
(-[WebAccessibilityObjectWrapper determineIsAccessibilityElement]):
(-[WebAccessibilityObjectWrapper isAccessibilityElement]):
(-[WebAccessibilityObjectWrapper stringValueShouldBeUsedInLabel]):
(-[WebAccessibilityObjectWrapper accessibilityLabel]):
(-[WebAccessibilityObjectWrapper tableCellParent]):
(-[WebAccessibilityObjectWrapper tableParent]):
(-[WebAccessibilityObjectWrapper accessibilityTitleElement]):
(-[WebAccessibilityObjectWrapper accessibilityHeaderElements]):
(-[WebAccessibilityObjectWrapper accessibilityElementForRow:andColumn:]):
(-[WebAccessibilityObjectWrapper accessibilityRowRange]):
(-[WebAccessibilityObjectWrapper accessibilityColumnRange]):
(-[WebAccessibilityObjectWrapper accessibilityPlaceholderValue]):
(-[WebAccessibilityObjectWrapper accessibilityValue]):
(-[WebAccessibilityObjectWrapper accessibilityIsComboBox]):
(-[WebAccessibilityObjectWrapper accessibilityHint]):
(-[WebAccessibilityObjectWrapper accessibilityURL]):
(-[WebAccessibilityObjectWrapper _convertIntRectToScreenCoordinates:]):
(-[WebAccessibilityObjectWrapper accessibilityElementRect]):
(-[WebAccessibilityObjectWrapper accessibilityActivationPoint]):
(-[WebAccessibilityObjectWrapper accessibilityFrame]):
(-[WebAccessibilityObjectWrapper containsUnnaturallySegmentedChildren]):
(-[WebAccessibilityObjectWrapper accessibilityContainer]):
(-[WebAccessibilityObjectWrapper accessibilityFocusedUIElement]):
(-[WebAccessibilityObjectWrapper _accessibilityWebDocumentView]):
(-[WebAccessibilityObjectWrapper _accessibilityNextElementsWithCount:]):
(-[WebAccessibilityObjectWrapper _accessibilityPreviousElementsWithCount:]):
(-[WebAccessibilityObjectWrapper accessibilityRequired]):
(-[WebAccessibilityObjectWrapper accessibilityFlowToElements]):
(-[WebAccessibilityObjectWrapper accessibilityLinkedElement]):
(-[WebAccessibilityObjectWrapper isAttachment]):
(-[WebAccessibilityObjectWrapper _accessibilityActivate]):
(-[WebAccessibilityObjectWrapper attachmentView]):
(rendererForView):
(-[WebAccessibilityObjectWrapper _accessibilityParentForSubview:]):
(-[WebAccessibilityObjectWrapper postFocusChangeNotification]):
(-[WebAccessibilityObjectWrapper postSelectedTextChangeNotification]):
(-[WebAccessibilityObjectWrapper postLayoutChangeNotification]):
(-[WebAccessibilityObjectWrapper postLiveRegionChangeNotification]):
(-[WebAccessibilityObjectWrapper postLoadCompleteNotification]):
(-[WebAccessibilityObjectWrapper postChildrenChangedNotification]):
(-[WebAccessibilityObjectWrapper postInvalidStatusChangedNotification]):
(-[WebAccessibilityObjectWrapper accessibilityElementDidBecomeFocused]):
(-[WebAccessibilityObjectWrapper accessibilityModifySelection:increase:]):
(-[WebAccessibilityObjectWrapper accessibilityIncreaseSelection:]):
(-[WebAccessibilityObjectWrapper accessibilityDecreaseSelection:]):
(-[WebAccessibilityObjectWrapper accessibilityMoveSelectionToMarker:]):
(-[WebAccessibilityObjectWrapper accessibilityIncrement]):
(-[WebAccessibilityObjectWrapper accessibilityDecrement]):
(-[WebAccessibilityObjectWrapper _addAccessibilityObject:toTextMarkerArray:]):
(-[WebAccessibilityObjectWrapper stringForTextMarkers:]):
(blockquoteLevel):
(AXAttributeStringSetBlockquoteLevel):
(AXAttributeStringSetHeadingLevel):
(AXAttributeStringSetFont):
(AXAttributeStringSetNumber):
(AXAttributeStringSetStyle):
(AXAttributedStringAppendText):
(-[WebAccessibilityObjectWrapper arrayOfTextForTextMarkers:attributed:]):
(-[WebAccessibilityObjectWrapper _convertToNSRange:]):
(-[WebAccessibilityObjectWrapper _convertToDOMRange:]):
(-[WebAccessibilityObjectWrapper positionForTextMarker:]):
(-[WebAccessibilityObjectWrapper textMarkerRange]):
(-[WebAccessibilityObjectWrapper elementTextRange]):
(-[WebAccessibilityObjectWrapper accessibilityObjectForTextMarker:]):
(-[WebAccessibilityObjectWrapper textMarkerRangeForSelection]):
(-[WebAccessibilityObjectWrapper textMarkerForPosition:]):
(-[WebAccessibilityObjectWrapper _stringForRange:attributed:]):
(-[WebAccessibilityObjectWrapper stringForRange:]):
(-[WebAccessibilityObjectWrapper attributedStringForRange:]):
(-[WebAccessibilityObjectWrapper elementsForRange:]):
(-[WebAccessibilityObjectWrapper selectionRangeString]):
(-[WebAccessibilityObjectWrapper selectedTextMarker]):
(-[WebAccessibilityObjectWrapper lineEndMarkerForMarker:]):
(-[WebAccessibilityObjectWrapper lineStartMarkerForMarker:]):
(-[WebAccessibilityObjectWrapper nextMarkerForMarker:]):
(-[WebAccessibilityObjectWrapper previousMarkerForMarker:]):
(-[WebAccessibilityObjectWrapper frameForTextMarkers:]):
(-[WebAccessibilityObjectWrapper textMarkerForPoint:]):
(-[WebAccessibilityObjectWrapper accessibilityIdentifier]):
(-[WebAccessibilityObjectWrapper accessibilitySpeechHint]):
(-[WebAccessibilityObjectWrapper accessibilityARIAIsBusy]):
(-[WebAccessibilityObjectWrapper accessibilityARIALiveRegionStatus]):
(-[WebAccessibilityObjectWrapper accessibilityARIARelevantStatus]):
(-[WebAccessibilityObjectWrapper accessibilityARIALiveRegionIsAtomic]):
(-[WebAccessibilityObjectWrapper accessibilityInvalidStatus]):
(-[WebAccessibilityObjectWrapper accessibilityMathRootIndexObject]):
(-[WebAccessibilityObjectWrapper accessibilityMathRadicandObject]):
(-[WebAccessibilityObjectWrapper accessibilityMathNumeratorObject]):
(-[WebAccessibilityObjectWrapper accessibilityMathDenominatorObject]):
(-[WebAccessibilityObjectWrapper accessibilityMathBaseObject]):
(-[WebAccessibilityObjectWrapper accessibilityMathSubscriptObject]):
(-[WebAccessibilityObjectWrapper accessibilityMathSuperscriptObject]):
(-[WebAccessibilityObjectWrapper accessibilityMathUnderObject]):
(-[WebAccessibilityObjectWrapper accessibilityMathOverObject]):
(-[WebAccessibilityObjectWrapper accessibilityMathFencedOpenString]):
(-[WebAccessibilityObjectWrapper accessibilityMathFencedCloseString]):
(-[WebAccessibilityObjectWrapper accessibilityIsMathTopObject]):
(-[WebAccessibilityObjectWrapper accessibilityMathType]):
(-[WebAccessibilityObjectWrapper accessibilitySetPostedNotificationCallback:withContext:]):
(-[WebAccessibilityObjectWrapper accessibilityPostedNotification:WebCore::AXObjectCache::]):
(-[WebAccessibilityObjectWrapper description]):

7:34 PM Changeset in webkit [143142] by Chris Fleizach
  • 4 edits
    2 moves
    2 adds in trunk/Source/WebCore

AX: rename WebAccessibilityObjectWrapper to WebAccessibilityObjectWrapperBase
https://bugs.webkit.org/show_bug.cgi?id=110061

Reviewed by David Kilzer.

Rename the base accessibility wrapper class so that the iOS class can share the same name.

  • WebCore.xcodeproj/project.pbxproj:
  • accessibility/mac/AXObjectCacheMac.mm:

(WebCore::AXObjectCache::attachWrapper):

  • accessibility/mac/WebAccessibilityObjectWrapper.h: Replaced with Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperMac.h.
  • accessibility/mac/WebAccessibilityObjectWrapper.mm: Replaced with Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperMac.mm.
  • accessibility/mac/WebAccessibilityObjectWrapperBase.h: Copied from Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapper.h.
  • accessibility/mac/WebAccessibilityObjectWrapperBase.mm: Copied from Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapper.mm.
  • accessibility/mac/WebAccessibilityObjectWrapperMac.h: Removed.
  • accessibility/mac/WebAccessibilityObjectWrapperMac.mm: Removed.
7:33 PM Changeset in webkit [143141] by roger_fong@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed. Windows build fix.

  • runtime/CodeCache.h:

(CodeCacheMap):

7:13 PM Changeset in webkit [143140] by roger_fong@apple.com
  • 2 edits in trunk/Tools

Unreviewed. Fix typo in script.

  • EWSTools/start-queue-win.sh:
5:58 PM Changeset in webkit [143139] by roger_fong@apple.com
  • 2 edits in trunk/Tools

Pass in bot name as parameter to start-queue-win script.
https://bugs.webkit.org/show_bug.cgi?id=109998.

Reviewed by Darin Adler.

  • EWSTools/start-queue-win.sh:
5:25 PM Changeset in webkit [143138] by bw80.lee@samsung.com
  • 2 edits in trunk/Tools

Unreviewed. Add myself as a committer.

  • Scripts/webkitpy/common/config/committers.py:
3:26 PM Changeset in webkit [143137] by akling@apple.com
  • 2 edits in trunk/Source/WebCore

REGRESSION(r143125): ~5% performance hit on Chromium's intl2 page cycler.
<http://webkit.org/b/108835>

Reviewed by Ojan Vafai.

Streamline the case where GlyphPage has a per-glyph SimpleFontData* lookup table to allow
taking earlier branches on pages with lots of mixed-font text.
We accomplish this by explicitly storing a null SimpleFontData* for glyph #0 in the per-glyph
lookup table instead of relying on "if (!glyph)" checks in getters.

This is a speculative optimization, I can't get stable enough numbers locally to tell if this
will resolve the issue on the bots.

  • platform/graphics/GlyphPage.h:

(WebCore::GlyphPage::glyphDataForIndex):
(WebCore::GlyphPage::fontDataForCharacter):
(WebCore::GlyphPage::setGlyphDataForIndex):

12:57 PM Changeset in webkit [143136] by Chris Fleizach
  • 17 edits
    2 adds in trunk

WebSpeech: plumb through a method to generate fake speech jobs for testing
https://bugs.webkit.org/show_bug.cgi?id=107351

Reviewed by Adam Barth.

Source/WebCore:

We can't reliably use the platforms synthesizer to test speech synthesis internals.
This patch adds an Internals method to enable a mock synthesizer, which is inherits
from the PlatformSpeechSythesizer.

The fake synthesizer goes through all the motions of a real synthesizer but doesn't do anything.
A bunch of changes were needed here to make PlatformSpeechSynthesizer subclassable so that the
right virtual are used.

The Mock synthesizer only lives in WebCoreTestSupport. Because PlatformSpeechSynthesizer uses
a RetainPtr, I needed to make WebCoreTestSupport link CoreFoundation

LayoutTests:

  • platform/mac/fast/speechsynthesis/speech-synthesis-speak.html:
  • platform/mac/fast/speechsynthesis/speech-synthesis-voices.html:
12:05 PM Changeset in webkit [143135] by Christophe Dumez
  • 2 edits in trunk/LayoutTests

Unreviewed EFL gardening.

Mark compositing/layer-creation/fixed-position-out-of-view-scaled.html as
flaky on WebKit2 EFL. It sometimes hits an assertion.

  • platform/efl-wk2/TestExpectations:
11:55 AM Changeset in webkit [143134] by Christophe Dumez
  • 2 edits in trunk/Source/WebKit2

[WK2][EFL] Remove fullscreen manager proxy as a message receiver on invalidate()
https://bugs.webkit.org/show_bug.cgi?id=109451

Patch by Sudarsana Nagineni <sudarsana.nagineni@intel.com> on 2013-02-17
Reviewed by Anders Carlsson.

Remove fullscreen manager proxy as a message receiver on invalidate(), like
other ports do after r142160.

  • UIProcess/efl/WebFullScreenManagerProxyEfl.cpp:

(WebKit::WebFullScreenManagerProxy::invalidate):

11:15 AM Changeset in webkit [143133] by ggaren@apple.com
  • 5 edits in trunk/Source/JavaScriptCore

Code cache should be explicit about what it caches
https://bugs.webkit.org/show_bug.cgi?id=110039

Reviewed by Oliver Hunt.

This patch makes the code cache more explicit in two ways:

(1) The cache caches top-level scripts. Any sub-functions executed as a
part of a script are cached with it and evicted with it.

This simplifies things by eliminating out-of-band sub-function tracking,
and fixes pathological cases where functions for live scripts would be
evicted in favor of functions for dead scripts, and/or high probability
functions executed early in script lifetime would be evicted in favor of
low probability functions executed late in script lifetime, due to LRU.

Statistical data from general browsing and PLT confirms that caching
functions independently of scripts is not profitable.

(2) The cache tracks script size, not script count.

This reduces the worst-case cache size by a factor of infinity.

Script size is a reasonable first-order estimate of in-memory footprint
for a cached script because there are no syntactic constructs that have
super-linear memory footprint.

  • bytecode/UnlinkedCodeBlock.cpp:

(JSC::generateFunctionCodeBlock): Moved this function out of the cache
because it does not consult the cache, and is not managed by it.

(JSC::UnlinkedFunctionExecutable::visitChildren): Visit our code blocks
because they are strong references now, rather than weak, a la (1).

(JSC::UnlinkedFunctionExecutable::codeBlockFor): Updated for interface changes.

  • bytecode/UnlinkedCodeBlock.h:

(UnlinkedFunctionExecutable):
(UnlinkedFunctionCodeBlock): Strong now, not weak, a la (1).

  • runtime/CodeCache.cpp:

(JSC::CodeCache::CodeCache):

  • runtime/CodeCache.h:

(JSC::SourceCodeKey::length):
(SourceCodeKey):
(CodeCacheMap):
(JSC::CodeCacheMap::CodeCacheMap):
(JSC::CodeCacheMap::find):
(JSC::CodeCacheMap::set):
(JSC::CodeCacheMap::clear):
(CodeCache):
(JSC::CodeCache::clear): Removed individual function tracking, due to (1).
Added explicit character counting, for (2).

You might think 16000000 characters is a lot. It is. But this patch
didn't establish that limit -- it just took the existing limit and
made it more visible. I intend to reduce the size of the cache in a
future patch.

10:59 AM Changeset in webkit [143132] by Christophe Dumez
  • 4 edits in trunk

Regression(r143124): Caused plugins/plugin-javascript-access.html to fail
https://bugs.webkit.org/show_bug.cgi?id=110053

Reviewed by Alexey Proskuryakov.

Source/WebKit2:

Clear m_plugins in loadPluginsIfNecessary() before populating the
vector again. We get duplicates otherwise.

  • UIProcess/Plugins/PluginInfoStore.cpp:

(WebKit::PluginInfoStore::loadPluginsIfNecessary):

LayoutTests:

Unskip plugins/plugin-javascript-access.html for WK2 EFL now that the
Test is passing again.

  • platform/efl-wk2/TestExpectations:
10:53 AM Changeset in webkit [143131] by Christophe Dumez
  • 3 edits in trunk/LayoutTests

Unreviewed. Remove duplicates from EFL port's TestExpectations.

  • platform/efl-wk2/TestExpectations:
  • platform/efl/TestExpectations:
7:39 AM Changeset in webkit [143130] by Christophe Dumez
  • 1 edit
    2 adds in trunk/LayoutTests

Unreviewed EFL gardening.

Generate baseline for svg/filters/filter-hidden-content.svg on EFL
port.

  • platform/efl/svg/filters/filter-hidden-content-expected.png: Added.
  • platform/efl/svg/filters/filter-hidden-content-expected.txt: Added.
7:35 AM Changeset in webkit [143129] by Christophe Dumez
  • 2 edits in trunk/LayoutTests

Unreviewed EFL gardening.

Mark compositing/geometry/limit-layer-bounds-fixed.html as failing on
EFL WK2. This test was introduced in r143073 but never passed on EFL.

  • platform/efl-wk2/TestExpectations:
7:19 AM Changeset in webkit [143128] by Christophe Dumez
  • 2 edits in trunk/LayoutTests

Unreviewed EFL gardening.

Mark plugins/plugin-javascript-access.html as failing on WK2 EFL
due to a regression in r143124.

  • platform/efl-wk2/TestExpectations:
1:14 AM Changeset in webkit [143127] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebCore

[Qt] Unreviewed buildfix for !USE(LIBXML) builds after r143112.

  • xml/parser/XMLDocumentParserQt.cpp:

(WebCore::XMLDocumentParser::XMLDocumentParser):

12:50 AM FeatureFlags edited by Laszlo Gombos
See r142533 (diff)
12:44 AM Changeset in webkit [143126] by rniwa@webkit.org
  • 2 edits in trunk/Tools

Rename new-commit-bot to WKR to disambiguate it from commit-queue.

Rubber-stamped by Andreas Kling.

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

(NewCommitBot.begin_work_queue):

12:17 AM Changeset in webkit [143125] by akling@apple.com
  • 4 edits in trunk/Source/WebCore

Optimize GlyphPage for case where all glyphs are available in the same font.
<http://webkit.org/b/108835>
<rdar://problem/13157042>

Reviewed by Antti Koivisto.

Let GlyphPage begin optimistically assuming that all its glyphs will be represented in
the same SimpleFontData*. In this (very common) case, only keep a single SimpleFontData*.

If glyphs from multiple fonts are mixed in one page, an array of per-glyph SimpleFontData*
is allocated transparently.

This was landed before with some bogus branch prediction hints and didn't fare well on
page cyclers (intl2 specifically.) These have been removed this time around, and will
hopefully be regression-free.

4.98 MB progression on Membuster3.

  • platform/graphics/GlyphPageTreeNode.cpp:

(WebCore::GlyphPageTreeNode::initializePage):

  • platform/graphics/GlyphPage.h:

(WebCore::GlyphPage::createUninitialized):
(WebCore::GlyphPage::createZeroedSystemFallbackPage):
(WebCore::GlyphPage::createCopiedSystemFallbackPage):

There are now three ways of constructing a GlyphPage, two of them are only used for
creating system fallback pages.

(WebCore::GlyphPage::setGlyphDataForIndex):

Hold off creating a SimpleFontData* array until we're sure there are two different
SimpleFontData* backing the glyphs in this page.
We don't store font data for glyph #0, instead we let the getters always return null for it.

(WebCore::GlyphPage::~GlyphPage):

Free the SimpleFontData* array if needed.

(WebCore::GlyphPage::glyphDataForCharacter):
(WebCore::GlyphPage::glyphDataForIndex):
(WebCore::GlyphPage::fontDataForCharacter):

The font data for glyph #0 is always a null pointer now.

(WebCore::GlyphPage::clearForFontData):

Updated for new storage format.

  • rendering/svg/SVGTextRunRenderingContext.cpp:

(WebCore::SVGTextRunRenderingContext::glyphDataForCharacter):

Fix bug where non-zero glyph was temporarily associated with null font data,
which triggered the new assertion in setGlyphDataForIndex().

Feb 16, 2013:

10:01 PM Changeset in webkit [143124] by akling@apple.com
  • 6 edits in trunk/Source

Source/WebCore: Remove multi-threading gunk from WebKit2's PluginInfoStore.
<http://webkit.org/b/110046>

Reviewed by Alexey Proskuryakov.

Remove now-unused code for making deep (isolated) copies of WebCore plugin structures.

  • plugins/PluginData.h:

(MimeClassInfo):
(PluginInfo):

Source/WebKit2: Remove multi-threading gunk from PluginInfoStore.
<http://webkit.org/b/110046>

Reviewed by Alexey Proskuryakov.

PluginInfoStore is never accessed from multiple threads anymore, so remove the Mutex locking
and stop making isolated copies of everything.

  • Shared/Plugins/PluginModuleInfo.h:

(PluginModuleInfo):

  • UIProcess/Plugins/PluginInfoStore.cpp:

(WebKit::PluginInfoStore::loadPluginsIfNecessary):
(WebKit::PluginInfoStore::plugins):
(WebKit::PluginInfoStore::findPluginForMIMEType):
(WebKit::PluginInfoStore::findPluginForExtension):
(WebKit::PluginInfoStore::findPlugin):
(WebKit::PluginInfoStore::infoForPluginWithPath):

  • UIProcess/Plugins/PluginInfoStore.h:

(PluginInfoStore):

9:42 PM Changeset in webkit [143123] by ap@apple.com
  • 2 edits in trunk/Source/WebCore

Identifier generated twice in FrameLoader::loadResourceSynchronously()
https://bugs.webkit.org/show_bug.cgi?id=110022

Reviewed by Darin Adler.

  • loader/FrameLoader.cpp: (WebCore::FrameLoader::loadResourceSynchronously): Fix an apparent refactoring mistake.
9:36 PM Changeset in webkit [143122] by fpizlo@apple.com
  • 8 edits
    1 delete in trunk/Source/JavaScriptCore

Remove support for bytecode comments, since it doesn't build, and hasn't been used in a while.
https://bugs.webkit.org/show_bug.cgi?id=110035

Rubber stamped by Andreas Kling.

There are other ways of achieving the same effect, like adding print statements to the bytecode generator.
The fact that this feature doesn't build and nobody noticed implies that it's probably not a popular
feature. As well, the amount of wiring that was required for it was quite big considering its relatively
modest utility.

  • GNUmakefile.list.am:
  • JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • bytecode/CodeBlock.cpp:

(JSC):
(JSC::CodeBlock::dumpBytecode):
(JSC::CodeBlock::CodeBlock):

  • bytecode/CodeBlock.h:

(CodeBlock):

  • bytecode/Comment.h: Removed.
  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::BytecodeGenerator):
(JSC::BytecodeGenerator::emitOpcode):
(JSC):

  • bytecompiler/BytecodeGenerator.h:

(BytecodeGenerator):
(JSC::BytecodeGenerator::symbolTable):

9:19 PM Changeset in webkit [143121] by glenn@skynav.com
  • 2 edits in trunk/Tools

Unreviewed. Add myself as a committer.

8:08 PM Changeset in webkit [143120] by bfulgham@webkit.org
  • 3 edits in trunk/Source/JavaScriptCore

[Windows] Unreviewed Visual Studio 2010 build fix after r143117

  • JavaScriptCore.vcxproj/LLInt/LLIntOffsetsExtractor/LLIntOffsetsExtractorDebug.props: Reference new path to property sheets.
  • JavaScriptCore.vcxproj/JavaScriptCoreExportGenerator/JavaScriptCoreExports.def.in:

Build correction after new operator == added.

5:03 PM Changeset in webkit [143119] by rniwa@webkit.org
  • 3 edits in trunk/Tools

new-commit-bot should report the full name of committer and reviewer instead of just nicks
https://bugs.webkit.org/show_bug.cgi?id=110040

Reviewed by Darin Adler.

Have it report names like "Ryosuke Niwa (rniwa)" instead of just "rniwa".

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

(NewCommitBot):
(NewCommitBot._summarize_commit_log):

  • Scripts/webkitpy/tool/commands/newcommitbot_unittest.py:
5:02 PM Changeset in webkit [143118] by akling@apple.com
  • 3 edits in trunk/Source/WebCore

[JSC] Remove custom mark function for NamedNodeMap.
<http://webkit.org/b/110029>

Reviewed by Darin Adler.

NamedNodeMap refs and unrefs its Element owner, so there's no need for the wrapper to keep the Element alive.

Covered by fast/dom/Attr/access-after-element-destruction.html

  • bindings/js/JSNamedNodeMapCustom.cpp:
  • dom/NamedNodeMap.idl:
4:11 PM Changeset in webkit [143117] by weinig@apple.com
  • 2 edits in trunk/Source/WebKit2

Fix non-production builds.

  • WebKit2.xcodeproj/project.pbxproj:
3:51 PM Changeset in webkit [143116] by Darin Adler
  • 2 edits in trunk/Source/WTF

Remove redundant use of inline keyword in StringHasher.h
https://bugs.webkit.org/show_bug.cgi?id=110036

Reviewed by Geoffrey Garen.

I have some other improvements for StringHasher.h, but wanted to get the simplest ones
out of the way first.

  • wtf/StringHasher.h: Remove inline keyword on functions inside the class definition,

since functions defined inside the class are automatically inline.

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

REGRESSION(r143076): Crash when calling removeNamedItem or removeNamedItemNS with a non-existent attribute of newly created element.
<http://webkit.org/b/110019>

Patch by Peter Nelson <peter@peterdn.com> on 2013-02-16
Reviewed by Andreas Kling.

Now checks Element::hasAttributes() before calling Element::getAttributeItemIndex().

Test: http/tests/misc/acid3.html

  • dom/NamedNodeMap.cpp:

(WebCore::NamedNodeMap::removeNamedItem):
(WebCore::NamedNodeMap::removeNamedItemNS):

3:34 PM Changeset in webkit [143114] by akling@apple.com
  • 9 edits in trunk/Source/WebCore

Element: Devirtualize attribute synchronization functions.
<http://webkit.org/b/110033>

Reviewed by Darin Adler.

Devirtualize the functions that perform re-serialization of lazy attributes and give
them "synchronize"-style names:

  • SVGElement::synchronizeAnimatedSVGAttribute()
  • StyledElement::synchronizeStyleAttributeInternal()
  • dom/Element.cpp:

(WebCore::Element::synchronizeAllAttributes):
(WebCore::Element::synchronizeAttribute):

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

(WebCore::StyledElement::synchronizeStyleAttribute):

  • dom/StyledElement.h:

(StyledElement):

  • rendering/svg/RenderSVGResourceGradient.cpp:

(WebCore::RenderSVGResourceGradient::applyResource):

  • rendering/svg/RenderSVGResourcePattern.cpp:

(WebCore::RenderSVGResourcePattern::buildPattern):

  • svg/SVGElement.cpp:

(WebCore::SVGElement::synchronizeAnimatedSVGAttribute):

  • svg/SVGElement.h:

(SVGElement):

3:02 PM Changeset in webkit [143113] by weinig@apple.com
  • 2 edits
    1 delete in trunk/Source/WebKit2

The Plugin.32 target does not build
https://bugs.webkit.org/show_bug.cgi?id=110032

Reviewed by Anders Carlsson.

  • PluginProcess/EntryPoint/mac/XPCService/PluginService.32/PluginService.32.Main.mm: Removed.

This was meant to be removed already.

  • WebKit2.xcodeproj/project.pbxproj:

Add Plugin.32 as dependency in All as it should be.

2:57 PM Changeset in webkit [143112] by akling@apple.com
  • 4 edits in trunk/Source/WebCore

Element: Avoid unrelated attribute synchronization on other attribute access.
<http://webkit.org/b/110025>

Reviewed by Darin Adler.

We've been extremely trigger happy with re-serializing the style attribute (and SVG animatables)
whenever any Element attribute API was used. This patch narrows this down to (almost always)
only synchronizing an attribute when someone specifically wants to read/update it.

Also removed two more confusing ElementData accessors:

  • Element::elementDataWithSynchronizedAttributes()
  • Element::ensureElementDataWithSynchronizedAttributes()
  • dom/Element.h:
  • dom/Element.cpp:

(WebCore::Element::hasAttributes):
(WebCore::Element::hasEquivalentAttributes):
(WebCore::Element::cloneAttributesFromElement):
(WebCore::Element::synchronizeAllAttributes):

Renamed updateInvalidAttributes() to synchronizeAllAttributes().
This function should only be used when we need every single attribute to be up-to-date.

(WebCore::Element::synchronizeAttribute):

Broke out logic for synchronizing a specific attribute, given either a full QualifiedName
or a localName.

(WebCore::Element::setSynchronizedLazyAttribute):

Don't call ensureUniqueElementData() indisciminately here. This avoids converting the attribute
storage when re-serializing the inline style yields the same CSS text that was already in the
style attribute.

(WebCore::Element::hasAttribute):
(WebCore::Element::hasAttributeNS):
(WebCore::Element::getAttribute):
(WebCore::Element::getAttributeNode):
(WebCore::Element::getAttributeNodeNS):
(WebCore::Element::setAttribute):
(WebCore::Element::setAttributeNode):
(WebCore::Element::removeAttributeNode):

Only synchronize the attribute in question.

  • dom/Node.cpp:

(WebCore::Node::compareDocumentPosition):

Call synchronizeAllAttributes() when comparing two Attr nodes on the same Element instead
of relying on the side-effects of another function doing this.

2:27 PM Changeset in webkit [143111] by Darin Adler
  • 3 edits in trunk/Source/WebKit2

Fix WKDOMRangePrivate.h mistakes
https://bugs.webkit.org/show_bug.cgi?id=110028

Reviewed by Ryosuke Niwa.

  • WebProcess/InjectedBundle/API/mac/WKDOMRange.mm:

Added include of WKDOMRangePrivate.h.

  • WebProcess/InjectedBundle/API/mac/WKDOMRangePrivate.h:

Fixed class name and include to be WKDOMRange.
Fixed method name, _copyBundleRangeHandleRef, to match the
name in the source file.

2:24 PM Changeset in webkit [143110] by rniwa@webkit.org
  • 2 edits in trunk/LayoutTests

Add a flaky image only failure expectation to the test added in r142979 on Mac per bug 110027.

  • platform/mac/TestExpectations:
1:57 PM Changeset in webkit [143109] by rniwa@webkit.org
  • 8 edits
    2 adds in trunk/Tools

We need a CIA replacement
https://bugs.webkit.org/show_bug.cgi?id=110008

Reviewed by Andreas Kling.

Added new-commit-bot.

  • Scripts/webkitpy/tool/bot/queueengine.py:

(QueueEngine.init):
(QueueEngine): Made the sleep tiem configurable.
(QueueEngine._sleep_message):
(QueueEngine._sleep):

  • Scripts/webkitpy/tool/bot/queueengine_unittest.py:

(QueueEngineTest.test_sleep_message):

  • Scripts/webkitpy/tool/commands/init.py:
  • Scripts/webkitpy/tool/commands/newcommitbot.py: Added.

(PingPong): Added. Implements the ping pong protocol.
(NewCommitBot):
(NewCommitBot.begin_work_queue):
(NewCommitBot.work_item_log_path):
(NewCommitBot.next_work_item): Update SVN revision and report any new commits made since
the last time we checked the head SVN revision.
(NewCommitBot.process_work_item):
(NewCommitBot._update_checkout): svn up.
(NewCommitBot._new_svn_revisions): Returns a range of new revisions.
(NewCommitBot._summarize_commit_log): Summarize a commit log to be posted on IRC.
(NewCommitBot.handle_unexpected_error):
(NewCommitBot.handle_script_error):

  • Scripts/webkitpy/tool/commands/newcommitbot_unittest.py: Added.

(NewCommitBotTest.test_summarize_commit_log_basic): Tests for summarizing non-rollout commits.
(NewCommitBotTest.test_summarize_commit_log_rollout): Tests for summarizing rollouts.

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

(AbstractQueue.execute):

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

(MockQueueEngine.init):

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

(SheriffBotTest.test_command_aliases):

  • Scripts/webkitpy/tool/main.py:

(WebKitPatch):

1:00 PM Changeset in webkit [143108] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Fix build warnings after r139853
https://bugs.webkit.org/show_bug.cgi?id=109929

Patch by Seokju Kwon <Seokju Kwon> on 2013-02-16
Reviewed by Alexey Proskuryakov.

Use UNUSED_PARAM macro to fix build warning -Wunused-parameter
when INSPECTOR is disabled.

No new tests, no behavior change.

  • inspector/InspectorInstrumentation.h:

(WebCore::InspectorInstrumentation::frameStartedLoading):
(WebCore::InspectorInstrumentation::frameStoppedLoading):
(WebCore::InspectorInstrumentation::frameScheduledNavigation):
(WebCore::InspectorInstrumentation::frameClearedScheduledNavigation):

12:07 PM Changeset in webkit [143107] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Fix indentation of Structure.h

Rubber stamped by Mark Hahnenberg.

  • runtime/Structure.h:
10:27 AM Changeset in webkit [143106] by jochen@chromium.org
  • 3 edits in trunk/Tools

[chromium] initialize all variables of TestRunner classes
https://bugs.webkit.org/show_bug.cgi?id=110013

Reviewed by Adam Barth.

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

(WebTestRunner::TestInterfaces::TestInterfaces):

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

(WebTestRunner::TestRunner::TestRunner):

10:08 AM Changeset in webkit [143105] by jochen@chromium.org
  • 2 edits in trunk/Tools

[chromium] destroy the TestPlugin when the destroy() method is invoked.
https://bugs.webkit.org/show_bug.cgi?id=110012

Reviewed by Adam Barth.

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

(WebTestRunner::TestPlugin::destroy):

9:09 AM Changeset in webkit [143104] by commit-queue@webkit.org
  • 11 edits
    3 deletes in trunk

Unreviewed, rolling out r142734.
http://trac.webkit.org/changeset/142734
https://bugs.webkit.org/show_bug.cgi?id=110018

"Triggered crashes on lots of websites" (Requested by ggaren
on #webkit).

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

Source/WebCore:

  • bindings/js/JSLocationCustom.cpp:

(WebCore::JSLocation::getOwnPropertySlotDelegate):

LayoutTests:

  • http/tests/plugins/resources/cross-frame-object-access.html:
  • http/tests/security/cross-frame-access-callback-explicit-domain-DENY-expected.txt:
  • http/tests/security/cross-frame-access-location-get-expected.txt:
  • http/tests/security/cross-frame-access-location-get.html:
  • http/tests/security/resources/cross-frame-access.js:
  • http/tests/security/resources/cross-frame-iframe-callback-explicit-domain-DENY.html:
  • http/tests/security/resources/cross-frame-iframe-for-location-get-test.html:
  • http/tests/security/sandboxed-iframe-blocks-access-from-parent-expected.txt:
  • platform/chromium/http/tests/security/cross-frame-access-callback-explicit-domain-DENY-expected.txt: Removed.
  • platform/chromium/http/tests/security/cross-frame-access-location-get-expected.txt: Removed.
  • platform/chromium/http/tests/security/sandboxed-iframe-blocks-access-from-parent-expected.txt: Removed.
8:35 AM Changeset in webkit [143103] by toyoshim@chromium.org
  • 2 edits
    1 delete in trunk/LayoutTests

Rebaseline for Win7.

Unreviewed chromium gardening.

  • platform/chromium-win-xp/fast/backgrounds/size/contain-and-cover-zoomed-expected.png: Removed.
  • platform/chromium-win/fast/backgrounds/size/contain-and-cover-zoomed-expected.png:
5:06 AM Changeset in webkit [143102] by robert@webkit.org
  • 5 edits
    10 adds in trunk

percentage top value of position:relative element not calculated using parent's min-height unless height set
https://bugs.webkit.org/show_bug.cgi?id=14762

Reviewed by Julien Chaffraix.

Source/WebCore:

Percentage height "is calculated with respect to the height of the generated box's containing block" says
http://www.w3.org/TR/CSS21/visudet.html#the-height-property and "If the height of the containing block is not
specified explicitly (i.e., it depends on content height), and this element is not absolutely positioned, the
value computes to 'auto'." So when calculating the used height of a replaced element do not crawl through ancestor
blocks except when traversing anonymous blocks. Ensure that anonymous table cells are not skipped through though.

http://www.w3.org/TR/CSS21/tables.html#height-layout adds "In CSS 2.1, the height of a cell box is the minimum
height required by the content." This height is decided by allowing table cells to report their height as auto.
It's not clear why http://trac.webkit.org/changeset/91242 decided it should no longer do this - doing so caused
us to regress in our rendering of computed-image-width-with-percent-height-inside-table-cell-and-fixed-ancestor.html.

Tests: fast/block/percent-top-parent-respects-min-height.html

fast/replaced/computed-image-width-with-percent-height-and-fixed-ancestor-vertical-lr.html
fast/replaced/computed-image-width-with-percent-height-and-fixed-ancestor.html
fast/replaced/computed-image-width-with-percent-height-inside-table-cell-and-fixed-ancestor-vertical-lr.html
fast/replaced/computed-image-width-with-percent-height-inside-table-cell-and-fixed-ancestor.html

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::hasAutoHeightOrContainingBlockWithAutoHeight):
(WebCore):
(WebCore::RenderBoxModelObject::relativePositionOffset):

  • rendering/RenderBoxModelObject.h:

(RenderBoxModelObject):

  • rendering/RenderReplaced.cpp:

(WebCore::RenderReplaced::hasReplacedLogicalHeight):

LayoutTests:

  • fast/block/percent-top-parent-respects-min-height-expected.txt: Added.
  • fast/block/percent-top-parent-respects-min-height.html: Added.
  • fast/replaced/computed-image-width-with-percent-height-and-fixed-ancestor-expected.txt: Added.
  • fast/replaced/computed-image-width-with-percent-height-and-fixed-ancestor-vertical-lr-expected.txt: Added.
  • fast/replaced/computed-image-width-with-percent-height-and-fixed-ancestor-vertical-lr.html: Added.
  • fast/replaced/computed-image-width-with-percent-height-and-fixed-ancestor.html: Added.
  • fast/replaced/computed-image-width-with-percent-height-inside-table-cell-and-fixed-ancestor-expected.txt: Added.
  • fast/replaced/computed-image-width-with-percent-height-inside-table-cell-and-fixed-ancestor-vertical-lr-expected.txt: Added.
  • fast/replaced/computed-image-width-with-percent-height-inside-table-cell-and-fixed-ancestor-vertical-lr.html: Added.
  • fast/replaced/computed-image-width-with-percent-height-inside-table-cell-and-fixed-ancestor.html: Added.
4:45 AM Changeset in webkit [143101] by senorblanco@chromium.org
  • 7 edits
    1 add in trunk

[skia] FEOffset should have a Skia implementation.
https://bugs.webkit.org/show_bug.cgi?id=109831

Reviewed by James Robinson.

Source/WebCore:

Covered by css3/filters/effect-reference.html and -hw.html.

  • WebCore.gypi:
  • platform/graphics/filters/FEOffset.h: Implement createImageFilter()

for the Skia path.

  • platform/graphics/filters/skia/FEOffsetSkia.cpp: Added.

(WebCore::FEOffset::createImageFilter):
Instantiate an SkOffsetImageFilter when building the Skia DAG.

LayoutTests:

  • css3/filters/effect-reference-hw.html:
  • css3/filters/effect-reference.html:
  • platform/chromium/TestExpectations:
3:28 AM Changeset in webkit [143100] by vsevik@chromium.org
  • 9 edits in trunk

Web Inspector: Create separate project for each domain for UISourceCode based on browser resources.
https://bugs.webkit.org/show_bug.cgi?id=109691

Reviewed by Pavel Feldman.

Source/WebCore:

Separate project of certain type is now created for each domain.
UISourceCode path represents a path in the project now.
UISourceCode uri is now calculated based on project id and path.
It is also possible to calculate path based on projectId and URI, which is used for uiSourceCodeForURI() methods.

  • inspector/front-end/ScriptSnippetModel.js:

(WebInspector.ScriptSnippetModel.prototype._addScriptSnippet):

  • inspector/front-end/SimpleWorkspaceProvider.js:

(WebInspector.SimpleProjectDelegate):
(WebInspector.SimpleProjectDelegate.projectId):
(WebInspector.SimpleProjectDelegate.prototype.id):
(WebInspector.SimpleProjectDelegate.prototype.displayName):
(WebInspector.SimpleProjectDelegate.prototype.addFile):
(WebInspector.SimpleWorkspaceProvider):
(WebInspector.SimpleWorkspaceProvider.splitURL):
(WebInspector.SimpleWorkspaceProvider._pathForSplittedURL):
(WebInspector.SimpleWorkspaceProvider.uriForURL):
(WebInspector.SimpleWorkspaceProvider.prototype._projectDelegate):
(WebInspector.SimpleWorkspaceProvider.prototype._innerAddFileForURL):
(WebInspector.SimpleWorkspaceProvider.prototype.addFileByName):
(WebInspector.SimpleWorkspaceProvider.prototype._innerAddFile):
(WebInspector.SimpleWorkspaceProvider.prototype.removeFileByName):
(WebInspector.SimpleWorkspaceProvider.prototype.reset):

  • inspector/front-end/UISourceCode.js:

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

  • inspector/front-end/Workspace.js:

(WebInspector.Project.prototype._fileAdded):
(WebInspector.Project.prototype._fileRemoved):
(WebInspector.Project.prototype.uiSourceCodeForURI):

LayoutTests:

  • inspector/debugger/live-edit-breakpoints-expected.txt:
  • inspector/debugger/live-edit-breakpoints.html:
  • inspector/uisourcecode-revisions.html:
12:46 AM Changeset in webkit [143099] by Christophe Dumez
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed build fix.

Export symbol for new CString operator== operator to fix Windows build.

Feb 15, 2013:

11:36 PM WikiStart edited by fpizlo@apple.com
(diff)
11:35 PM JavaScriptCore edited by fpizlo@apple.com
(diff)
10:15 PM WebKit Team edited by silviapf@chromium.org
added new committer silvia (diff)
9:56 PM Changeset in webkit [143098] by Chris Fleizach
  • 5 edits
    2 copies in trunk/Source/WebCore

AX: Split WebAccessibilityObjectWrapper so code can be shared with iOS
https://bugs.webkit.org/show_bug.cgi?id=109849

Reviewed by David Kilzer.

Split up the WebAccessibilityObjectWrapper so that iOS can share more
code with MacOS. I imagine over time, more code will move into this base class,
but for now this will be a good start.

A base class called WebAccessibilityObjectWrapper now exists, and Mac has a subclass
of that. iOS will be able to do the same.

  • WebCore.xcodeproj/project.pbxproj:
  • accessibility/mac/AXObjectCacheMac.mm:

(WebCore::AXObjectCache::attachWrapper):

  • accessibility/mac/WebAccessibilityObjectWrapper.h:
  • accessibility/mac/WebAccessibilityObjectWrapper.mm:

(-[WebAccessibilityObjectWrapper detach]):
(-[WebAccessibilityObjectWrapper attachmentView]):
(-[WebAccessibilityObjectWrapper accessibilityObject]):
(-[WebAccessibilityObjectWrapper accessibilityPostedNotification:]):
(-[WebAccessibilityObjectWrapper titleTagShouldBeUsedInDescriptionField]):
(-[WebAccessibilityObjectWrapper accessibilityTitle]):
(-[WebAccessibilityObjectWrapper accessibilityDescription]):
(-[WebAccessibilityObjectWrapper accessibilityHelpText]):

  • accessibility/mac/WebAccessibilityObjectWrapperMac.h: Added.
  • accessibility/mac/WebAccessibilityObjectWrapperMac.mm: Added.

(std):
(-[WebAccessibilityObjectWrapperMac detach]):
(-[WebAccessibilityObjectWrapperMac attachmentView]):
(CFAutoreleaseHelper):
(AXObjectIsTextMarker):
(AXObjectIsTextMarkerRange):
(AXTextMarkerRange):
(AXTextMarkerRangeStart):
(AXTextMarkerRangeEnd):
(SearchKeyEntry):
(createAccessibilitySearchKeyMap):
(accessibilitySearchKeyForString):
(textMarkerForVisiblePosition):
(-[WebAccessibilityObjectWrapperMac textMarkerForVisiblePosition:]):
(visiblePositionForTextMarker):
(-[WebAccessibilityObjectWrapperMac visiblePositionForTextMarker:]):
(visiblePositionForStartOfTextMarkerRange):
(visiblePositionForEndOfTextMarkerRange):
(textMarkerRangeFromMarkers):
(AXAttributedStringRangeIsValid):
(AXAttributeStringSetFont):
(CreateCGColorIfDifferent):
(AXAttributeStringSetColor):
(AXAttributeStringSetNumber):
(AXAttributeStringSetStyle):
(AXAttributeStringSetBlockquoteLevel):
(AXAttributeStringSetSpelling):
(AXAttributeStringSetHeadingLevel):
(AXAttributeStringSetElement):
(AXAttributedStringAppendText):
(nsStringForReplacedNode):
(-[WebAccessibilityObjectWrapperMac doAXAttributedStringForTextMarkerRange:]):
(textMarkerRangeFromVisiblePositions):
(-[WebAccessibilityObjectWrapperMac textMarkerRangeFromVisiblePositions:endPosition:]):
(-[WebAccessibilityObjectWrapperMac accessibilityActionNames]):
(-[WebAccessibilityObjectWrapperMac additionalAccessibilityAttributeNames]):
(-[WebAccessibilityObjectWrapperMac accessibilityAttributeNames]):
(-[WebAccessibilityObjectWrapperMac visiblePositionRangeForTextMarkerRange:]):
(-[WebAccessibilityObjectWrapperMac renderWidgetChildren]):
(-[WebAccessibilityObjectWrapperMac remoteAccessibilityParentObject]):
(convertToVector):
(convertToNSArray):
(-[WebAccessibilityObjectWrapperMac textMarkerRangeForSelection]):
(-[WebAccessibilityObjectWrapperMac position]):
(createAccessibilityRoleMap):
(roleValueToNSString):
(-[WebAccessibilityObjectWrapperMac role]):
(-[WebAccessibilityObjectWrapperMac subrole]):
(-[WebAccessibilityObjectWrapperMac roleDescription]):
(-[WebAccessibilityObjectWrapperMac scrollViewParent]):
(-[WebAccessibilityObjectWrapperMac titleTagShouldBeUsedInDescriptionField]):
(-[WebAccessibilityObjectWrapperMac accessibilityTitle]):
(-[WebAccessibilityObjectWrapperMac accessibilityDescription]):
(-[WebAccessibilityObjectWrapperMac accessibilityHelpText]):
(-[WebAccessibilityObjectWrapperMac accessibilityAttributeValue:]):
(-[WebAccessibilityObjectWrapperMac accessibilityFocusedUIElement]):
(-[WebAccessibilityObjectWrapperMac accessibilityHitTest:]):
(-[WebAccessibilityObjectWrapperMac accessibilityIsAttributeSettable:]):
(-[WebAccessibilityObjectWrapperMac accessibilityIsIgnored]):
(-[WebAccessibilityObjectWrapperMac accessibilityParameterizedAttributeNames]):
(-[WebAccessibilityObjectWrapperMac accessibilityPerformPressAction]):
(-[WebAccessibilityObjectWrapperMac accessibilityPerformIncrementAction]):
(-[WebAccessibilityObjectWrapperMac accessibilityPerformDecrementAction]):
(-[WebAccessibilityObjectWrapperMac accessibilityPerformShowMenuAction]):
(-[WebAccessibilityObjectWrapperMac accessibilityShowContextMenu]):
(-[WebAccessibilityObjectWrapperMac accessibilityPerformAction:]):
(-[WebAccessibilityObjectWrapperMac accessibilitySetValue:forAttribute:]):
(rendererForView):
(-[WebAccessibilityObjectWrapperMac _accessibilityParentForSubview:]):
(-[WebAccessibilityObjectWrapperMac accessibilityActionDescription:]):
(-[WebAccessibilityObjectWrapperMac doAXAttributedStringForRange:]):
(-[WebAccessibilityObjectWrapperMac _convertToNSRange:]):
(-[WebAccessibilityObjectWrapperMac _indexForTextMarker:]):
(-[WebAccessibilityObjectWrapperMac _textMarkerForIndex:]):
(-[WebAccessibilityObjectWrapperMac doAXRTFForRange:]):
(-[WebAccessibilityObjectWrapperMac accessibilityAttributeValue:forParameter:]):
(-[WebAccessibilityObjectWrapperMac accessibilitySupportsOverriddenAttributes]):
(-[WebAccessibilityObjectWrapperMac accessibilityShouldUseUniqueId]):
(-[WebAccessibilityObjectWrapperMac accessibilityIndexOfChild:]):
(-[WebAccessibilityObjectWrapperMac accessibilityArrayAttributeCount:]):
(-[WebAccessibilityObjectWrapperMac accessibilityArrayAttributeValues:index:maxCount:]):
([WebAccessibilityObjectWrapperMac accessibilitySetShouldRepostNotifications:]):
(-[WebAccessibilityObjectWrapperMac accessibilityPostedNotification:]):

9:31 PM Changeset in webkit [143097] by fpizlo@apple.com
  • 4 edits in trunk/Source/JavaScriptCore

Structure should be more methodical about the relationship between m_offset and m_propertyTable
https://bugs.webkit.org/show_bug.cgi?id=109978

Reviewed by Mark Hahnenberg.

Allegedly, the previous relationship was that either m_propertyTable or m_offset
would be set, and if m_propertyTable was not set you could rebuild it. In reality,
we would sometimes "reset" both: some transitions wouldn't set m_offset, and other
transitions would clear the previous structure's m_propertyTable. So, in a
structure transition chain of A->B->C you could have:

A transitions to B: B doesn't copy m_offset but does copy m_propertyTable, because

that seemed like a good idea at the time (this was a common idiom in the code).

B transitions to C: C steals B's m_propertyTable, leaving B with neither a

m_propertyTable nor a m_offset.

Then we would ask for the size of the property storage of B and get the answer
"none". That's not good.

Now, there is a new relationship, which, hopefully, should fix things: m_offset is
always set and always refers to the maximum offset ever used by the property table.
From this, you can infer both the inline and out-of-line property size, and
capacity. This is accomplished by having PropertyTable::add() take a
PropertyOffset reference, which must be Structure::m_offset. It will update this
offset. As well, all transitions now copy m_offset. And we frequently assert
(using RELEASE_ASSERT) that the m_offset matches what m_propertyTable would tell
you. Hence if you ever modify the m_propertyTable, you'll also update the offset.
If you ever copy the property table, you'll also copy the offset. Life should be
good, I think.

  • runtime/PropertyMapHashTable.h:

(JSC::PropertyTable::add):

  • runtime/Structure.cpp:

(JSC::Structure::materializePropertyMap):
(JSC::Structure::addPropertyTransition):
(JSC::Structure::removePropertyTransition):
(JSC::Structure::changePrototypeTransition):
(JSC::Structure::despecifyFunctionTransition):
(JSC::Structure::attributeChangeTransition):
(JSC::Structure::toDictionaryTransition):
(JSC::Structure::sealTransition):
(JSC::Structure::freezeTransition):
(JSC::Structure::preventExtensionsTransition):
(JSC::Structure::nonPropertyTransition):
(JSC::Structure::flattenDictionaryStructure):
(JSC::Structure::checkConsistency):
(JSC::Structure::putSpecificValue):
(JSC::Structure::createPropertyMap):
(JSC::PropertyTable::checkConsistency):

  • runtime/Structure.h:

(JSC):
(JSC::Structure::putWillGrowOutOfLineStorage):
(JSC::Structure::outOfLineCapacity):
(JSC::Structure::outOfLineSize):
(JSC::Structure::isEmpty):
(JSC::Structure::materializePropertyMapIfNecessary):
(JSC::Structure::materializePropertyMapIfNecessaryForPinning):
(Structure):
(JSC::Structure::checkOffsetConsistency):

9:19 PM Changeset in webkit [143096] by benjamin@webkit.org
  • 8 edits in trunk/Source

[Mac] remove wkCaptionAppearance from WebKitSystemInterface
https://bugs.webkit.org/show_bug.cgi?id=109996

Patch by Eric Carlson <eric.carlson@apple.com> on 2013-02-15
Reviewed by Simon Fraser.

Source/WebCore:

  • platform/mac/WebCoreSystemInterface.h:
  • platform/mac/WebCoreSystemInterface.mm:

Source/WebKit/mac:

  • WebCoreSupport/WebSystemInterface.mm:

(InitWebCoreSystemInterface):

Source/WebKit2:

  • WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:

(InitWebCoreSystemInterface):

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

Unreviewed, rolling out r143088.
http://trac.webkit.org/changeset/143088
https://bugs.webkit.org/show_bug.cgi?id=110000

Breaks the build (Requested by dgorbik on #webkit).

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

Source/WebCore:

  • platform/mac/WebCoreSystemInterface.h:
  • platform/mac/WebCoreSystemInterface.mm:

Source/WebKit/mac:

  • WebCoreSupport/WebSystemInterface.mm:

(InitWebCoreSystemInterface):

Source/WebKit2:

  • WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:

(InitWebCoreSystemInterface):

7:47 PM Changeset in webkit [143094] by crogers@google.com
  • 3 edits in trunk/Source/WebCore

Enhance AudioBus copyFrom() and sumFrom() to be able to handle discrete and speakers up and down-mixing
https://bugs.webkit.org/show_bug.cgi?id=109983

Reviewed by Kenneth Russell.

The Web Audio spec has a more detailed explanation for how channels are to be up and down-mixed:
https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html#UpMix

This patch adds the initial support for handling ChannelInterpretation, although no
new JS API is yet implemented.

No new tests since no new APIs have yet been exposed.

  • platform/audio/AudioBus.cpp:

(WebCore::AudioBus::copyFrom):
(WebCore):
(WebCore::AudioBus::sumFrom):
(WebCore::AudioBus::speakersCopyFrom):
(WebCore::AudioBus::speakersSumFrom):
(WebCore::AudioBus::discreteCopyFrom):
(WebCore::AudioBus::discreteSumFrom):

  • platform/audio/AudioBus.h:

(AudioBus):

7:26 PM Changeset in webkit [143093] by Martin Robinson
  • 5 edits
    3 moves in trunk/Source

[GTK] Spread the gyp build files throughout the tree
https://bugs.webkit.org/show_bug.cgi?id=109960

Reviewed by Dirk Pranke.

Source/JavaScriptCore:

  • JavaScriptCore.gyp/JavaScriptCoreGTK.gyp: Renamed from Source/WebKit/gtk/gyp/JavaScriptCore.gyp.
  • JavaScriptCore.gyp/generate-derived-sources.sh: Renamed from Source/WebKit/gtk/gyp/generate-derived-sources.sh.

Source/WebKit/gtk:

  • gyp/Configuration.gypi.in: Remove the 'Source', since now it cannot be shared.
  • gyp/run-gyp: Update the path to the JavaScriptCore gypfile.

Source/WTF:

  • WTF.gyp/WTFGTK.gyp: Renamed from Source/WebKit/gtk/gyp/WTF.gyp.
7:06 PM Changeset in webkit [143092] by tony@chromium.org
  • 4 edits
    2 adds in trunk

Padding and border changes doesn't trigger relayout of children
https://bugs.webkit.org/show_bug.cgi?id=109639

Reviewed by Kent Tamura.

Source/WebCore:

In RenderBlock::layoutBlock, we only relayout our children if our logical width
changes. This misses cases where our logical width doesn't change (i.e., padding
or border changes), but our content width does change.

Also convert the needsLayout ASSERT into the if statement. This is because
RenderScrollbarPart can change border widths and not need a layout if the scrollbar
doesn't have a parent. In this case, we don't need to set any children for layout.

This is a more general case of bug 104997.

Test: fast/block/dynamic-padding-border.html

  • rendering/RenderBox.cpp:

(WebCore::borderOrPaddingLogicalWidthChanged): Only check if the logical width changed.
(WebCore::RenderBox::styleDidChange): Drop the border-box condition since this can happen
even without border-box box sizing.

LayoutTests:

  • fast/block/dynamic-padding-border-expected.txt: Added.
  • fast/block/dynamic-padding-border.html: Added.
  • fast/table/border-collapsing/cached-change-row-border-width-expected.txt: We should have been relaying

out the table when the border changed. The pixel results in this case is the same, but the
render tree shows the difference.

7:06 PM Changeset in webkit [143091] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

Disable sudden termination on Mac
https://bugs.webkit.org/show_bug.cgi?id=109990

Patch by Kiran Muppala <cmuppala@apple.com> on 2013-02-15
Reviewed by Mark Rowe.

Sudden Termination is causing WebContent XPC services to be killed in
response to memory pressure. Hence, disable it until we can identify
if it is being enabled in error or not.

  • Shared/mac/ChildProcessMac.mm:

(WebKit::ChildProcess::platformInitialize): Add call to
[NSProcessInfo disableSuddenTermination].

7:03 PM Changeset in webkit [143090] by mark.lam@apple.com
  • 17 edits
    2 copies in trunk/Source/WebCore

Split SQLStatement work between the frontend and backend.
https://bugs.webkit.org/show_bug.cgi?id=104751.

Reviewed by Geoffrey Garen.

This is part of the webdatabase refactoring for webkit2.

  1. Copied SQLTransaction to SQLTransactionBackend, and then reduce the 2 to only handle frontend and backend work respectively.
  1. Changed how statements are created.
  • SQLTransaction::executeSQL() first creates a SQLStatement frontend which encapsulates the 2 script callbacks. It then passes the SQLStatement to the backend database to create the SQLStatementBackend.
  • The SQLStatementBackend manages all sqlite work.
  1. Remove the Database::reportExecuteStatementResult() wrapper because it is only needed in the backend now.
  1. Added new files to the build / project files.
  1. Updated / added comments about how the SQLStatement life-cycle works.

No new tests.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • Modules/webdatabase/Database.cpp:
  • Modules/webdatabase/Database.h:

(Database):
(WebCore::Database::reportCommitTransactionResult):

  • Modules/webdatabase/DatabaseBackend.h:

(DatabaseBackend):

  • Modules/webdatabase/SQLStatement.cpp:

(WebCore::SQLStatement::create):
(WebCore::SQLStatement::SQLStatement):
(WebCore::SQLStatement::setBackend):
(WebCore::SQLStatement::hasCallback):
(WebCore::SQLStatement::hasErrorCallback):
(WebCore::SQLStatement::performCallback):

  • Modules/webdatabase/SQLStatement.h:

(SQLStatement):

  • Modules/webdatabase/SQLStatementBackend.cpp: Copied from Source/WebCore/Modules/webdatabase/SQLStatement.cpp.

(WebCore::SQLStatementBackend::create):
(WebCore::SQLStatementBackend::SQLStatementBackend):
(WebCore::SQLStatementBackend::frontend):
(WebCore::SQLStatementBackend::sqlError):
(WebCore::SQLStatementBackend::sqlResultSet):
(WebCore::SQLStatementBackend::execute):
(WebCore::SQLStatementBackend::setDatabaseDeletedError):
(WebCore::SQLStatementBackend::setVersionMismatchedError):
(WebCore::SQLStatementBackend::setFailureDueToQuota):
(WebCore::SQLStatementBackend::clearFailureDueToQuota):
(WebCore::SQLStatementBackend::lastExecutionFailedDueToQuota):

  • Modules/webdatabase/SQLStatementBackend.h: Copied from Source/WebCore/Modules/webdatabase/SQLStatement.h.

(SQLStatementBackend):
(WebCore::SQLStatementBackend::hasStatementCallback):
(WebCore::SQLStatementBackend::hasStatementErrorCallback):

  • Modules/webdatabase/SQLTransaction.cpp:

(WebCore::SQLTransaction::deliverStatementCallback):
(WebCore::SQLTransaction::deliverQuotaIncreaseCallback):
(WebCore::SQLTransaction::executeSQL):

  • Modules/webdatabase/SQLTransactionBackend.cpp:

(WebCore::SQLTransactionBackend::doCleanup):
(WebCore::SQLTransactionBackend::currentStatement):
(WebCore::SQLTransactionBackend::enqueueStatementBackend):
(WebCore::SQLTransactionBackend::executeSQL):
(WebCore::SQLTransactionBackend::runStatements):
(WebCore::SQLTransactionBackend::getNextStatement):
(WebCore::SQLTransactionBackend::runCurrentStatementAndGetNextState):
(WebCore::SQLTransactionBackend::nextStateForCurrentStatementError):

  • Modules/webdatabase/SQLTransactionBackend.h:

(SQLTransactionBackend):

  • Target.pri:
  • WebCore.gypi:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
6:36 PM Changeset in webkit [143089] by esprehn@chromium.org
  • 20 edits in trunk/Source/WebCore

Rename HasCustomCallbacks to HasCustomStyleCallbacks
https://bugs.webkit.org/show_bug.cgi?id=109982

Reviewed by Eric Seidel.

Now that inside ChildFrameDisconnector we only call isFrameOwnerElement()
on elements that report having descendants (or themselves) have connected
frames we don't need to be as agressive about avoiding the virtual call
to isFrameOwnerElement() which lets us rename hasCustomCallbacks to
hasCustomStyleCallbacks to better reflect it's purpose.

  • dom/ContainerNodeAlgorithms.h:

(WebCore::ChildFrameDisconnector::collectFrameOwners):

  • dom/Element.cpp:

(WebCore::Element::styleForRenderer):
(WebCore::Element::recalcStyle):
(WebCore::Element::willRecalcStyle):
(WebCore::Element::didRecalcStyle):
(WebCore::Element::customStyleForRenderer):

  • dom/Node.h:

(WebCore::Node::pseudoId):
(WebCore::Node::hasCustomStyleCallbacks):
(WebCore::Node::customPseudoId):
(WebCore::Node::setHasCustomStyleCallbacks):

  • dom/PseudoElement.cpp:

(WebCore::PseudoElement::PseudoElement):

  • dom/ShadowRoot.cpp:

(WebCore::ShadowRoot::recalcStyle):

  • html/HTMLFormControlElement.cpp:

(WebCore::HTMLFormControlElement::HTMLFormControlElement):

  • html/HTMLFrameOwnerElement.cpp:

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

  • html/HTMLFrameSetElement.cpp:

(WebCore::HTMLFrameSetElement::HTMLFrameSetElement):

  • html/HTMLIFrameElement.cpp:

(WebCore::HTMLIFrameElement::HTMLIFrameElement):

  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::HTMLInputElement):

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::HTMLMediaElement):

  • html/HTMLOptGroupElement.cpp:

(WebCore::HTMLOptGroupElement::HTMLOptGroupElement):

  • html/HTMLOptionElement.cpp:

(WebCore::HTMLOptionElement::HTMLOptionElement):

  • html/HTMLPlugInImageElement.cpp:

(WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement):

  • html/shadow/DateTimeEditElement.cpp:

(WebCore::DateTimeEditElement::DateTimeEditElement):

  • html/shadow/TextControlInnerElements.cpp:

(WebCore::TextControlInnerElement::TextControlInnerElement):
(WebCore::TextControlInnerTextElement::TextControlInnerTextElement):

  • html/shadow/TextFieldDecorationElement.cpp:

(WebCore::TextFieldDecorationElement::TextFieldDecorationElement):

  • svg/SVGElement.cpp:

(WebCore::SVGElement::SVGElement):

  • svg/SVGUseElement.cpp:

(WebCore::SVGUseElement::SVGUseElement):

6:33 PM Changeset in webkit [143088] by eric.carlson@apple.com
  • 7 edits in trunk/Source

[Mac] remove wkCaptionAppearance from WebKitSystemInterface
https://bugs.webkit.org/show_bug.cgi?id=109996

Reviewed by Simon Fraser.

Source/WebCore:

  • platform/mac/WebCoreSystemInterface.h:
  • platform/mac/WebCoreSystemInterface.mm:

Source/WebKit/mac:

  • WebCoreSupport/WebSystemInterface.mm:

(InitWebCoreSystemInterface):

Source/WebKit2:

  • WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:

(InitWebCoreSystemInterface):

6:23 PM Changeset in webkit [143087] by cevans@google.com
  • 1 edit
    2 copies in branches/chromium/1410

Merge 142899
BUG=168982
Review URL: https://codereview.chromium.org/12279020

6:19 PM Changeset in webkit [143086] by cevans@google.com
  • 5 edits
    2 copies in branches/chromium/1410

Merge 142500
BUG=169398
Review URL: https://codereview.chromium.org/12278026

6:13 PM Changeset in webkit [143085] by cevans@google.com
  • 1 edit
    2 copies in branches/chromium/1410

Merge 142922
BUG=170679
Review URL: https://codereview.chromium.org/12284016

6:11 PM Changeset in webkit [143084] by cevans@google.com
  • 2 edits
    2 copies in branches/chromium/1410

Merge 142816
BUG=171557
Review URL: https://codereview.chromium.org/12281016

6:09 PM Changeset in webkit [143083] by cevans@google.com
  • 2 edits in branches/chromium/1410/Source/WebCore/Modules/webaudio

Merge 142687
BUG=172331
Review URL: https://codereview.chromium.org/12284015

6:00 PM Changeset in webkit [143082] by cevans@google.com
  • 3 edits in branches/chromium/1410

Merge 142635
BUG=172794
Review URL: https://codereview.chromium.org/12285018

5:58 PM Changeset in webkit [143081] by cevans@google.com
  • 1 edit
    2 copies in branches/chromium/1410

Merge 142539
BUG=173068
Review URL: https://codereview.chromium.org/12282015

5:56 PM Changeset in webkit [143080] by cevans@google.com
  • 1 edit
    2 copies in branches/chromium/1410

Merge 142657
BUG=173399
Review URL: https://codereview.chromium.org/12283026

5:49 PM Changeset in webkit [143079] by cevans@google.com
  • 15 edits in branches/chromium/1410

Merge 142759
BUG=174566
Review URL: https://codereview.chromium.org/12288020

5:44 PM Changeset in webkit [143078] by cevans@google.com
  • 1 edit in branches/chromium/1410/Source/WebCore/editing/CompositeEditCommand.cpp

Merge 142642
BUG=175342
Review URL: https://codereview.chromium.org/12286016

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

[Qt][WK2] Crash on window resize if WebProcess is closed/crashed
https://bugs.webkit.org/show_bug.cgi?id=109216

Patch by Adenilson Cavalcanti <cavalcantii@gmail.com> on 2013-02-15
Reviewed by Benjamin Poulain.

Only make calls into DrawingAreaProxy pointer after checking its state.

When the WebProcess was closed or crashed, WebKit::WebPageProxy will set
its DrawingAreaProxy pointer to null. Resize events on UIProcess/client will
try to access the object to update the geometry and forward this information
into the WebProcess. This would create a crash scenario that is fixed by this patch.

  • UIProcess/API/qt/qquickwebview.cpp:

(QQuickWebViewPrivate::didRelaunchProcess):
(QQuickWebViewLegacyPrivate::updateViewportSize):

5:39 PM Changeset in webkit [143076] by akling@apple.com
  • 3 edits in trunk/Source/WebCore

Calling DOM Element.attributes shouldn't force creation of ElementData.
<http://webkit.org/b/109976>

Reviewed by Darin Adler.

Don't create ElementData for an Element unnecessarily just because someone calls .attributes on it.
Previously, JS like this would create empty ElementData when 'element' has no attributes:

for (i = 0; i < element.attributes.length; ++i)

doStuff(element.attributes[i]);

Make NamedNodeMap::length() short-circuit and return 0 if !Element::hasAttributes().

  • dom/Element.cpp:

(WebCore::Element::attributes):

  • dom/NamedNodeMap.cpp:

(WebCore::NamedNodeMap::length):

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

[V8] An "EvenTarget" type in IDL should be converted to EventTarget*, not to Node*
https://bugs.webkit.org/show_bug.cgi?id=109895

Reviewed by Adam Barth.

Currently an "EventTarget" type in IDL is converted to Node*.
This is wrong because there are non-Node interfaces that inherit
a EventTarget. We should convert an "EventTarget" type to EventTarget*.
This will fix FIXMEs in CodeGeneratorV8.pm.

  • bindings/scripts/CodeGeneratorV8.pm:

(GetNativeType):
(JSValueToNative):

5:20 PM Changeset in webkit [143074] by Simon Fraser
  • 4 edits
    1 add in trunk

REGRESSION (r142505?): Crashes in WebCore::ScrollingStateNode::appendChild when using back/forward buttons
https://bugs.webkit.org/show_bug.cgi?id=109826
<rdar://problem/13216100>

Source/WebCore:

Reviewed by Beth Dakin.

Fix a crash when going Back on some pages with fixed position elements.

When a page was being restored from the page cache, and a layout from
FrameLoader::commitProvisionalLoad() caused us to try to register the fixed
position layer before the main scrolling layer, we'd crash trying to dereference
the root node.

Fix by bailing from ScrollingStateTree::attachNode() if we can't find the parent
node.

Test: platform/mac-wk2/tiled-drawing/null-parent-back-crash.html

  • page/scrolling/ScrollingStateTree.cpp:

(WebCore::ScrollingStateTree::attachNode):
(WebCore::ScrollingStateTree::stateNodeForID):

  • page/scrolling/mac/ScrollingCoordinatorMac.mm:

(WebCore::ScrollingCoordinatorMac::updateViewportConstrainedNode):

LayoutTests:

Reviewed by Beth Dakin.

Test having a page with an iframe that navigates forwards then back.

  • platform/mac-wk2/tiled-drawing/null-parent-back-crash.html: Added.
5:05 PM Changeset in webkit [143073] by Simon Fraser
  • 3 edits
    2 adds in trunk

Constrain fixed layers to the viewport, not the document
https://bugs.webkit.org/show_bug.cgi?id=109646

Source/WebCore:

Reviewed by Beth Dakin.

It's bad to constrain position:fixed compositing layers to the
document rect, because their bounds will change every time the scroll
position changes, and we're not good currently at synchronizing scrolling
thread layer updates with main thread layer updates, so jiggles ensue.

Fix by constraining position:fixed layers to the viewport.

Test: compositing/geometry/limit-layer-bounds-fixed.html

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::updateCompositedBounds):

LayoutTests:

Reviewed by Beth Dakin.

Test with a big fixed element in a compositing layer.

  • compositing/geometry/limit-layer-bounds-fixed-expected.txt: Added.
  • compositing/geometry/limit-layer-bounds-fixed.html: Added.
5:03 PM Changeset in webkit [143072] by jer.noble@apple.com
  • 7 edits in trunk/Source/WebCore

Add a CDMClient class which allows the CDM to query for the currently attached MediaPlayer.
https://bugs.webkit.org/show_bug.cgi?id=109702

Reviewed by Eric Carlson.

Some CDM implementations will need to work closely with an associated
MediaPlayer in order to generate key requests and provide keys. Add a
client protocol to be implemented by the MediaKeys object which can
provide access to the associated MediaPlayer if present.

  • Modules/encryptedmedia/CDM.cpp:

(WebCore::CDM::CDM): Initialize the m_client ivar.
(WebCore::CDM::mediaPlayer): Pass to the client, if present.

  • Modules/encryptedmedia/CDM.h:

(WebCore::CDM::client): Simple getter.
(WebCore::CDM::setClient): Simple setter.

  • Modules/encryptedmedia/MediaKeys.cpp:

(WebCore::MediaKeys::MediaKeys): Initialize the m_mediaElement ivar

and call setClient() on the passed in CDM.

(WebCore::MediaKeys::setMediaElement): Simple setter.
(WebCore::MediaKeys::cdmMediaPlayer): Retrieve the MediaPlayer from

the m_mediaElement if present.

  • Modules/encryptedmedia/MediaKeys.h:
  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::~HTMLMediaElement): Call setMediaKeys(0)

to clear the mediaElement in any associated MediaKeys.

(WebCore::HTMLMediaElement::setMediaKeys): Clear the mediaElement on

any associated MediaKeys, and set the mediaElement on the newly
associated MediaKeys.

5:01 PM Changeset in webkit [143071] by andersca@apple.com
  • 5 edits in trunk/Source

Add HashMap::isValidKey and HashSet::isValidValue
https://bugs.webkit.org/show_bug.cgi?id=109977

Reviewed by Sam Weinig and Darin Adler.

Source/WebKit2:

Just call HashMap::isValidKey directly.

  • UIProcess/WebProcessProxy.cpp:

(WebKit::generatePageID):
Initialize the id to 0 and use prefix increment.

(WebKit::WebProcessProxy::webFrame):
(WebKit::WebProcessProxy::canCreateFrame):
(WebKit::WebProcessProxy::didDestroyFrame):

Source/WTF:

Add helper functions for determining whether keys are valid, i.e. if
they are _not_ empty or deleted according to the hash traits.

  • wtf/HashMap.h:
  • wtf/HashSet.h:
4:55 PM Changeset in webkit [143070] by Simon Fraser
  • 4 edits
    2 adds in trunk

drop-shadow filter with overflow:hidden child misbehaves
https://bugs.webkit.org/show_bug.cgi?id=109783

Source/WebCore:

Reviewed by Dean Jackson.

The change in r112745 was not sufficient; it failed to account
for descendant layers that needed to not clipping to avoid artefacts
with filters like drop-shadow.

Test: css3/filters/filter-repaint-shadow-layer-child.html

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::paintLayerContents): Remove the useClipRect bool.
Replace it with a clipToDirtyRect member on the LayerPaintingInfo, which
gets passed to descendants. Remove some "Restore the clip" comments that added
nothing.

  • rendering/RenderLayer.h:

(WebCore::RenderLayer::LayerPaintingInfo::LayerPaintingInfo):
(LayerPaintingInfo):

LayoutTests:

Reviewed by Dean Jackson.

  • css3/filters/filter-repaint-shadow-layer-child-expected.html: Added.
  • css3/filters/filter-repaint-shadow-layer-child.html: Added.
4:52 PM Changeset in webkit [143069] by commit-queue@webkit.org
  • 4 edits
    2 deletes in trunk/Source/WebCore

Unreviewed, rolling out r143066.
http://trac.webkit.org/changeset/143066
https://bugs.webkit.org/show_bug.cgi?id=109986

Broke the Apple Lion build (among others). (Requested by
ddkilzer on #webkit).

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

  • accessibility/mac/AXObjectCacheMac.mm:

(WebCore::AXObjectCache::attachWrapper):

  • accessibility/mac/WebAccessibilityObjectWrapper.h:
  • accessibility/mac/WebAccessibilityObjectWrapper.mm:

(-[WebAccessibilityObjectWrapper unregisterUniqueIdForUIElement]):
(-[WebAccessibilityObjectWrapper detach]):
(-[WebAccessibilityObjectWrapper accessibilityObject]):
(-[WebAccessibilityObjectWrapper attachmentView]):
(CFAutoreleaseHelper):
(AXObjectIsTextMarker):
(AXObjectIsTextMarkerRange):
(AXTextMarkerRange):
(AXTextMarkerRangeStart):
(AXTextMarkerRangeEnd):
(SearchKeyEntry):
(createAccessibilitySearchKeyMap):
(accessibilitySearchKeyForString):
(textMarkerForVisiblePosition):
(-[WebAccessibilityObjectWrapper textMarkerForVisiblePosition:]):
(visiblePositionForTextMarker):
(-[WebAccessibilityObjectWrapper visiblePositionForTextMarker:]):
(visiblePositionForStartOfTextMarkerRange):
(visiblePositionForEndOfTextMarkerRange):
(textMarkerRangeFromMarkers):
(AXAttributedStringRangeIsValid):
(AXAttributeStringSetFont):
(CreateCGColorIfDifferent):
(AXAttributeStringSetColor):
(AXAttributeStringSetNumber):
(AXAttributeStringSetStyle):
(AXAttributeStringSetBlockquoteLevel):
(AXAttributeStringSetSpelling):
(AXAttributeStringSetHeadingLevel):
(AXAttributeStringSetElement):
(AXAttributedStringAppendText):
(nsStringForReplacedNode):
(-[WebAccessibilityObjectWrapper doAXAttributedStringForTextMarkerRange:]):
(textMarkerRangeFromVisiblePositions):
(-[WebAccessibilityObjectWrapper textMarkerRangeFromVisiblePositions:endPosition:]):
(-[WebAccessibilityObjectWrapper accessibilityActionNames]):
(-[WebAccessibilityObjectWrapper additionalAccessibilityAttributeNames]):
(-[WebAccessibilityObjectWrapper accessibilityAttributeNames]):
(-[WebAccessibilityObjectWrapper visiblePositionRangeForTextMarkerRange:]):
(-[WebAccessibilityObjectWrapper renderWidgetChildren]):
(-[WebAccessibilityObjectWrapper remoteAccessibilityParentObject]):
(convertToVector):
(convertToNSArray):
(-[WebAccessibilityObjectWrapper textMarkerRangeForSelection]):
(-[WebAccessibilityObjectWrapper position]):
(createAccessibilityRoleMap):
(roleValueToNSString):
(-[WebAccessibilityObjectWrapper role]):
(-[WebAccessibilityObjectWrapper subrole]):
(-[WebAccessibilityObjectWrapper roleDescription]):
(-[WebAccessibilityObjectWrapper scrollViewParent]):
(-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
(-[WebAccessibilityObjectWrapper accessibilityFocusedUIElement]):
(-[WebAccessibilityObjectWrapper accessibilityHitTest:]):
(-[WebAccessibilityObjectWrapper accessibilityIsAttributeSettable:]):
(-[WebAccessibilityObjectWrapper accessibilityIsIgnored]):
(-[WebAccessibilityObjectWrapper accessibilityParameterizedAttributeNames]):
(-[WebAccessibilityObjectWrapper accessibilityPerformPressAction]):
(-[WebAccessibilityObjectWrapper accessibilityPerformIncrementAction]):
(-[WebAccessibilityObjectWrapper accessibilityPerformDecrementAction]):
(-[WebAccessibilityObjectWrapper accessibilityPerformShowMenuAction]):
(-[WebAccessibilityObjectWrapper accessibilityShowContextMenu]):
(-[WebAccessibilityObjectWrapper accessibilityPerformAction:]):
(-[WebAccessibilityObjectWrapper accessibilitySetValue:forAttribute:]):
(rendererForView):
(-[WebAccessibilityObjectWrapper _accessibilityParentForSubview:]):
(-[WebAccessibilityObjectWrapper accessibilityActionDescription:]):
(-[WebAccessibilityObjectWrapper doAXAttributedStringForRange:]):
(-[WebAccessibilityObjectWrapper _convertToNSRange:]):
(-[WebAccessibilityObjectWrapper _indexForTextMarker:]):
(-[WebAccessibilityObjectWrapper _textMarkerForIndex:]):
(-[WebAccessibilityObjectWrapper doAXRTFForRange:]):
(-[WebAccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
(-[WebAccessibilityObjectWrapper accessibilitySupportsOverriddenAttributes]):
(-[WebAccessibilityObjectWrapper accessibilityShouldUseUniqueId]):
(-[WebAccessibilityObjectWrapper accessibilityIndexOfChild:]):
(-[WebAccessibilityObjectWrapper accessibilityArrayAttributeCount:]):
(-[WebAccessibilityObjectWrapper accessibilityArrayAttributeValues:index:maxCount:]):

  • accessibility/mac/WebAccessibilityObjectWrapperMac.h: Removed.
  • accessibility/mac/WebAccessibilityObjectWrapperMac.m: Removed.
4:33 PM Changeset in webkit [143068] by eae@chromium.org
  • 2 edits in trunk/Source/WebCore

Change MouseRelatedEvent to use LayoutPoint::scale
https://bugs.webkit.org/show_bug.cgi?id=109979

Reviewed by Dimitri Glazkov.

Change MouseRelatedEvent::MouseRelatedEvent to use LayoutPoint::
scale to adjust location and scroll offset for scale factor and
zooming.

No new tests, no change in functionality.

  • dom/MouseRelatedEvent.cpp:

(WebCore::MouseRelatedEvent::MouseRelatedEvent):

4:22 PM Changeset in webkit [143067] by benjamin@webkit.org
  • 4 edits
    1 add in trunk/Tools

[WK2] Write a test to simulate crashed WebProcess followed by Window resize
https://bugs.webkit.org/show_bug.cgi?id=109842

Patch by Adenilson Cavalcanti <cavalcantii@gmail.com> on 2013-02-15
Reviewed by Benjamin Poulain.

This new test will kill WebProcess, followed by next resizing the Window. It helps to
identify if the port is testing for WebPageProxy data members state (e.g. DrawingArea, Frames)
before making calls into them.

  • TestWebKitAPI/GNUmakefile.am:
  • TestWebKitAPI/PlatformEfl.cmake:
  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebKit2/ResizeWindowAfterCrash.cpp: Added.

(TestWebKitAPI):
(TestWebKitAPI::didFinishLoad):
(TestWebKitAPI::didCrash):
(TestWebKitAPI::TEST):

4:17 PM Changeset in webkit [143066] by Chris Fleizach
  • 4 edits
    2 adds in trunk/Source/WebCore

AX: Split WebAccessibilityObjectWrapper so code can be shared with iOS
https://bugs.webkit.org/show_bug.cgi?id=109849

Reviewed by David Kilzer.

Split up the WebAccessibilityObjectWrapper so that iOS can share more
code with MacOS. I imagine over time, more code will move into this base class,
but for now this will be a good start.

A base class called WebAccessibilityObjectWrapper now exists, and Mac has a subclass
of that. iOS will be able to do the same.

  • WebCore.xcodeproj/project.pbxproj:
  • accessibility/mac/AXObjectCacheMac.mm:

(WebCore::AXObjectCache::attachWrapper):

  • accessibility/mac/WebAccessibilityObjectWrapper.h:
  • accessibility/mac/WebAccessibilityObjectWrapper.mm:

(-[WebAccessibilityObjectWrapper detach]):
(-[WebAccessibilityObjectWrapper attachmentView]):
(-[WebAccessibilityObjectWrapper accessibilityObject]):
(-[WebAccessibilityObjectWrapper accessibilityPostedNotification:]):
(-[WebAccessibilityObjectWrapper titleTagShouldBeUsedInDescriptionField]):
(-[WebAccessibilityObjectWrapper accessibilityTitle]):
(-[WebAccessibilityObjectWrapper accessibilityDescription]):
(-[WebAccessibilityObjectWrapper accessibilityHelpText]):

  • accessibility/mac/WebAccessibilityObjectWrapperMac.h: Added.
  • accessibility/mac/WebAccessibilityObjectWrapperMac.m: Added.

(std):
(-[WebAccessibilityObjectWrapperMac detach]):
(-[WebAccessibilityObjectWrapperMac attachmentView]):
(CFAutoreleaseHelper):
(AXObjectIsTextMarker):
(AXObjectIsTextMarkerRange):
(AXTextMarkerRange):
(AXTextMarkerRangeStart):
(AXTextMarkerRangeEnd):
(SearchKeyEntry):
(createAccessibilitySearchKeyMap):
(accessibilitySearchKeyForString):
(textMarkerForVisiblePosition):
(-[WebAccessibilityObjectWrapperMac textMarkerForVisiblePosition:]):
(visiblePositionForTextMarker):
(-[WebAccessibilityObjectWrapperMac visiblePositionForTextMarker:]):
(visiblePositionForStartOfTextMarkerRange):
(visiblePositionForEndOfTextMarkerRange):
(textMarkerRangeFromMarkers):
(AXAttributedStringRangeIsValid):
(AXAttributeStringSetFont):
(CreateCGColorIfDifferent):
(AXAttributeStringSetColor):
(AXAttributeStringSetNumber):
(AXAttributeStringSetStyle):
(AXAttributeStringSetBlockquoteLevel):
(AXAttributeStringSetSpelling):
(AXAttributeStringSetHeadingLevel):
(AXAttributeStringSetElement):
(AXAttributedStringAppendText):
(nsStringForReplacedNode):
(-[WebAccessibilityObjectWrapperMac doAXAttributedStringForTextMarkerRange:]):
(textMarkerRangeFromVisiblePositions):
(-[WebAccessibilityObjectWrapperMac textMarkerRangeFromVisiblePositions:endPosition:]):
(-[WebAccessibilityObjectWrapperMac accessibilityActionNames]):
(-[WebAccessibilityObjectWrapperMac additionalAccessibilityAttributeNames]):
(-[WebAccessibilityObjectWrapperMac accessibilityAttributeNames]):
(-[WebAccessibilityObjectWrapperMac visiblePositionRangeForTextMarkerRange:]):
(-[WebAccessibilityObjectWrapperMac renderWidgetChildren]):
(-[WebAccessibilityObjectWrapperMac remoteAccessibilityParentObject]):
(convertToVector):
(convertToNSArray):
(-[WebAccessibilityObjectWrapperMac textMarkerRangeForSelection]):
(-[WebAccessibilityObjectWrapperMac position]):
(createAccessibilityRoleMap):
(roleValueToNSString):
(-[WebAccessibilityObjectWrapperMac role]):
(-[WebAccessibilityObjectWrapperMac subrole]):
(-[WebAccessibilityObjectWrapperMac roleDescription]):
(-[WebAccessibilityObjectWrapperMac scrollViewParent]):
(-[WebAccessibilityObjectWrapperMac titleTagShouldBeUsedInDescriptionField]):
(-[WebAccessibilityObjectWrapperMac accessibilityTitle]):
(-[WebAccessibilityObjectWrapperMac accessibilityDescription]):
(-[WebAccessibilityObjectWrapperMac accessibilityHelpText]):
(-[WebAccessibilityObjectWrapperMac accessibilityAttributeValue:]):
(-[WebAccessibilityObjectWrapperMac accessibilityFocusedUIElement]):
(-[WebAccessibilityObjectWrapperMac accessibilityHitTest:]):
(-[WebAccessibilityObjectWrapperMac accessibilityIsAttributeSettable:]):
(-[WebAccessibilityObjectWrapperMac accessibilityIsIgnored]):
(-[WebAccessibilityObjectWrapperMac accessibilityParameterizedAttributeNames]):
(-[WebAccessibilityObjectWrapperMac accessibilityPerformPressAction]):
(-[WebAccessibilityObjectWrapperMac accessibilityPerformIncrementAction]):
(-[WebAccessibilityObjectWrapperMac accessibilityPerformDecrementAction]):
(-[WebAccessibilityObjectWrapperMac accessibilityPerformShowMenuAction]):
(-[WebAccessibilityObjectWrapperMac accessibilityShowContextMenu]):
(-[WebAccessibilityObjectWrapperMac accessibilityPerformAction:]):
(-[WebAccessibilityObjectWrapperMac accessibilitySetValue:forAttribute:]):
(rendererForView):
(-[WebAccessibilityObjectWrapperMac _accessibilityParentForSubview:]):
(-[WebAccessibilityObjectWrapperMac accessibilityActionDescription:]):
(-[WebAccessibilityObjectWrapperMac doAXAttributedStringForRange:]):
(-[WebAccessibilityObjectWrapperMac _convertToNSRange:]):
(-[WebAccessibilityObjectWrapperMac _indexForTextMarker:]):
(-[WebAccessibilityObjectWrapperMac _textMarkerForIndex:]):
(-[WebAccessibilityObjectWrapperMac doAXRTFForRange:]):
(-[WebAccessibilityObjectWrapperMac accessibilityAttributeValue:forParameter:]):
(-[WebAccessibilityObjectWrapperMac accessibilitySupportsOverriddenAttributes]):
(-[WebAccessibilityObjectWrapperMac accessibilityShouldUseUniqueId]):
(-[WebAccessibilityObjectWrapperMac accessibilityIndexOfChild:]):
(-[WebAccessibilityObjectWrapperMac accessibilityArrayAttributeCount:]):
(-[WebAccessibilityObjectWrapperMac accessibilityArrayAttributeValues:index:maxCount:]):
([WebAccessibilityObjectWrapperMac accessibilitySetShouldRepostNotifications:]):
(-[WebAccessibilityObjectWrapperMac accessibilityPostedNotification:]):

3:58 PM Changeset in webkit [143065] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebKit2

Typo fix after r143064.

  • Platform/CoreIPC/win/ConnectionWin.cpp:

(CoreIPC::Connection::sendOutgoingMessage):

3:47 PM Changeset in webkit [143064] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebKit2

One more buildfix after r143052.

  • Platform/CoreIPC/win/ConnectionWin.cpp:

(CoreIPC::Connection::sendOutgoingMessage):

3:14 PM Changeset in webkit [143063] by roger_fong@apple.com
  • 1 edit in trunk/Tools/EWSTools/start-queue-win.sh

Win EWS script, credentials passed in.

3:14 PM Changeset in webkit [143062] by Csaba Osztrogonác
  • 12 edits in trunk/Source/WebKit2

Unreviewed buildfix after r143052 for Qt/GTK/EFL ports.

  • Platform/unix/SharedMemoryUnix.cpp:

(WebKit::SharedMemory::Handle::encode):

  • Platform/win/SharedMemoryWin.cpp:

(WebKit::SharedMemory::Handle::encode):

  • Shared/Network/NetworkResourceLoadParameters.cpp:

(WebKit::NetworkResourceLoadParameters::encode):

  • Shared/WebBatteryStatus.cpp:

(WebKit::WebBatteryStatus::Data::encode):

  • Shared/WebNetworkInfo.cpp:

(WebKit::WebNetworkInfo::Data::encode):

  • Shared/efl/LayerTreeContextEfl.cpp:

(WebKit::LayerTreeContext::encode):

  • Shared/gtk/LayerTreeContextGtk.cpp:

(WebKit::LayerTreeContext::encode):

  • Shared/qt/LayerTreeContextQt.cpp:

(WebKit::LayerTreeContext::encode):

  • Shared/qt/QtNetworkReplyData.cpp:

(WebKit::QtNetworkReplyData::encode):

  • Shared/qt/QtNetworkRequestData.cpp:

(WebKit::QtNetworkRequestData::encode):

  • Shared/soup/PlatformCertificateInfo.cpp:

(WebKit::PlatformCertificateInfo::encode):

3:12 PM Changeset in webkit [143061] by commit-queue@webkit.org
  • 20 edits
    1 delete in trunk/Source/WTF

Remove support for RVCT version less than 4.0
https://bugs.webkit.org/show_bug.cgi?id=109390

The 4.0 version of the RVCT compiler was
released in 2008.

Remove support for version older then 4.0 of RVCT,
and keep the support for newer RVCT versions.

Patch by Laszlo Gombos <l.gombos@samsung.com> on 2013-02-15
Reviewed by Zoltan Herczeg.

  • WTF.gypi: Remove StringExtras.cpp.
  • WTF.vcproj/WTF.vcproj: Remove StringExtras.cpp.
  • WTF.vcxproj/WTF.vcxproj: Remove StringExtras.cpp.
  • WTF.vcxproj/WTF.vcxproj.filters: Remove StringExtras.cpp.
  • WTF.xcodeproj/project.pbxproj: Remove StringExtras.cpp.
  • wtf/CMakeLists.txt: Remove StringExtras.cpp.
  • wtf/Compiler.h: Remove tests for RVCT_VERSION_AT_LEAST(3, 0, 0, 0).
  • wtf/Float32Array.h: Remove a quirk introduced for RVCT version <=2.2 .
  • wtf/Float64Array.h: Ditto.
  • wtf/Int16Array.h: Ditto.
  • wtf/Int32Array.h: Ditto.
  • wtf/Int8Array.h: Ditto.
  • wtf/MathExtras.h: Remove a quirk needed for RVCT version <= 3.0.
  • wtf/Platform.h: Remove test for RVCT 4.0. Remove OS(RVCT).
  • wtf/StringExtras.cpp: Removed.
  • wtf/StringExtras.h: Remove a quirk introduced for RVCT version < 4.0.
  • wtf/Uint16Array.h: Remove a quirk introduced for RVCT version <= 2.2.
  • wtf/Uint32Array.h: Ditto.
  • wtf/Uint8Array.h: Ditto.
  • wtf/Uint8ClampedArray.h: Ditto.
3:11 PM Changeset in webkit [143060] by esprehn@chromium.org
  • 6 edits
    2 adds in trunk

RenderQuote should not mark renderers as needing layout during layout
https://bugs.webkit.org/show_bug.cgi?id=109876

Reviewed by Ojan Vafai.

Source/WebCore:

Marking RenderQuotes as needing pref width recalcs and layouts during a
layout is dangerous since an ancestor may mark itself as having completed
layout, but then some subtree still thinks it needs layout.

Instead, since the only time we create RenderQuote instances is inside
PseudoElement, we can call attachQuote inside PseudoElement::attach during
the regular tree mutating cycle. We can then use RenderQuote::styleDidChange
to update the kind of quotes on normal style changes.

This makes RenderQuote behave much more similarly to DOM nodes and means
we no longer need to set dirty bits during layout.

Test: fast/css-generated-content/quote-layout-focus-crash.html

  • dom/PseudoElement.cpp:

(WebCore::PseudoElement::attach): Now call attachQuote().

  • rendering/RenderQuote.cpp:

(WebCore::RenderQuote::~RenderQuote):
(WebCore::RenderQuote::willBeRemovedFromTree):
(WebCore::RenderQuote::styleDidChange):
(WebCore::RenderQuote::updateText):
(WebCore::RenderQuote::attachQuote):
(WebCore::RenderQuote::detachQuote):
(WebCore::RenderQuote::updateDepth):

  • rendering/RenderQuote.h:

(RenderQuote):

LayoutTests:

  • fast/block/float/float-not-removed-from-pre-block-expected.txt:
  • fast/css-generated-content/quote-layout-focus-crash-expected.txt: Added.
  • fast/css-generated-content/quote-layout-focus-crash.html: Added.
3:07 PM Changeset in webkit [143059] by roger_fong@apple.com
  • 1 edit in trunk/Tools/EWSTools/start-queue-win.sh

Unreviewed. Modify Win EWS script.

3:07 PM Changeset in webkit [143058] by sadrul@chromium.org
  • 1 edit in trunk/Tools/Scripts/webkitpy/common/config/committers.py

Add myself (sadrul@chromium.org) as committer.

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

DFG SpeculativeJIT64 should be more precise about when it's dealing with a cell (even though it probably doesn't matter)
https://bugs.webkit.org/show_bug.cgi?id=109625

Reviewed by Mark Hahnenberg.

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::compileObjectEquality):
(JSC::DFG::SpeculativeJIT::compileObjectToObjectOrOtherEquality):
(JSC::DFG::SpeculativeJIT::compilePeepHoleObjectToObjectOrOtherEquality):
(JSC::DFG::SpeculativeJIT::compile):

2:49 PM Changeset in webkit [143056] by abarth@webkit.org
  • 1 edit
    2 copies in branches/chromium/1410

Merge 142492

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.

TBR=abarth@webkit.org
Review URL: https://codereview.chromium.org/12287016

2:48 PM Changeset in webkit [143055] by alecflett@chromium.org
  • 2 edits in trunk/Source/WebKit/chromium

IndexedDB: Stub out SharedBuffer version of get()
https://bugs.webkit.org/show_bug.cgi?id=108993

Reviewed by Darin Fisher.

All asynchronous get()-like calls go through WebIDBCallbacks,
so this includes both get() and cursor callbacks.

  • public/WebIDBCallbacks.h:

(WebKit::WebIDBCallbacks::onSuccess):
(WebKit::WebIDBCallbacks::onSuccessWithPrefetch):

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

Unreviewed, rolling out r143044.
http://trac.webkit.org/changeset/143044
https://bugs.webkit.org/show_bug.cgi?id=109974

broke windows build (Requested by kling on #webkit).

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

  • dom/DocumentSharedObjectPool.cpp:

(WebCore::DocumentSharedObjectPool::cachedShareableElementDataWithAttributes):

  • dom/Element.cpp:

(WebCore::sizeForShareableElementDataWithAttributeCount):
(WebCore::ShareableElementData::ShareableElementData):
(WebCore::ShareableElementData::~ShareableElementData):
(WebCore::UniqueElementData::UniqueElementData):

  • dom/Element.h:

(WebCore::ShareableElementData::immutableAttributeArray):
(ShareableElementData):
(WebCore::ElementData::attributeItem):

2:41 PM Changeset in webkit [143053] by jamesr@google.com
  • 11 edits in branches/chromium/1410/Source/WebCore

Revert 140571

https://bugs.webkit.org/show_bug.cgi?id=107628
Sometimes scroll position is jerky during rubber-band, affects nytimes.com
-and corresponding-
<rdar://problem/12679549>

Reviewed by Simon Fraser.

The basic problem here is that isRubberBandInProgress() was only implemented for
main thread scrolling. So when we were actually scrolling on the scrolling thread,
that function would always return false regardless.

New ScrollableArea virtual function isRubberBandInProgress() will allow us to ask
the ScrollingCoordinator when the scrolling thread is scrolling, or the
ScrollAnimator otherwise.

  • page/FrameView.cpp:

(WebCore::FrameView::isRubberBandInProgress):

  • page/FrameView.h:

(FrameView):

  • platform/ScrollableArea.h:

(WebCore::ScrollableArea::isRubberBandInProgress):

New ScrollingCoordinator function isRubberBandInProgress() always returns false
for non-Mac ports, and is overridden in ScrollingCoordinatorMac to consult the
ScrollingTree.

  • page/scrolling/ScrollingCoordinator.h:

(WebCore::ScrollingCoordinator::isRubberBandInProgress):

  • page/scrolling/mac/ScrollingCoordinatorMac.h:

(ScrollingCoordinatorMac):

  • page/scrolling/mac/ScrollingCoordinatorMac.mm:

(WebCore::ScrollingCoordinatorMac::isRubberBandInProgress):

New variable m_mainFrameIsRubberBanding keeps track of whether there is currently
a rubber-band happening on the scrolling thread.

  • page/scrolling/ScrollingTree.cpp:

(WebCore::ScrollingTree::ScrollingTree):
(WebCore::ScrollingTree::isRubberBandInProgress):
(WebCore::ScrollingTree::setMainFrameIsRubberBanding):

  • page/scrolling/ScrollingTree.h:

(ScrollingTree):
(WebCore::ScrollingTree::rootNode):

Call setMainFrameIsRubberBanding() whenever the stretchAmount is calculated and
whenever we stop the rubber-band timer.

  • page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:

(WebCore::ScrollingTreeScrollingNodeMac::stretchAmount):
(WebCore::ScrollingTreeScrollingNodeMac::stopSnapRubberbandTimer):

Consult FrameView for isRubberBandInProgress().

  • platform/ScrollView.cpp:

(WebCore::ScrollView::updateScrollbars):

TBR=jamesr@chromium.org
BUG=173009
Review URL: https://codereview.chromium.org/12279017

2:27 PM Changeset in webkit [143052] by andersca@apple.com
  • 9 edits in trunk/Source/WebKit2

Make most ArgumentEncoder::encode member functions private
https://bugs.webkit.org/show_bug.cgi?id=109973

Reviewed by Sam Weinig.

Make the encode overloads private; the stream operator should be used instead.

  • Platform/CoreIPC/ArgumentEncoder.h:

(ArgumentEncoder):

  • Platform/CoreIPC/Arguments.h:

(CoreIPC::Arguments1::encode):
(CoreIPC::Arguments2::encode):
(CoreIPC::Arguments3::encode):
(CoreIPC::Arguments4::encode):
(CoreIPC::Arguments5::encode):
(CoreIPC::Arguments6::encode):
(CoreIPC::Arguments7::encode):
(CoreIPC::Arguments8::encode):
(CoreIPC::Arguments10::encode):

  • Platform/CoreIPC/Connection.cpp:

(CoreIPC::Connection::createSyncMessageEncoder):

  • Platform/CoreIPC/MessageEncoder.cpp:

(CoreIPC::MessageEncoder::MessageEncoder):

  • Scripts/webkit2/messages.py:

(generate_message_handler):

  • Scripts/webkit2/messages_unittest.py:
  • Shared/Network/NetworkResourceLoadParameters.cpp:

(WebKit::NetworkResourceLoadParameters::encode):

  • WebProcess/WebPage/EncoderAdapter.cpp:

(WebKit::EncoderAdapter::EncoderAdapter):
(WebKit::EncoderAdapter::encodeBytes):
(WebKit::EncoderAdapter::encodeBool):
(WebKit::EncoderAdapter::encodeUInt16):
(WebKit::EncoderAdapter::encodeUInt32):
(WebKit::EncoderAdapter::encodeUInt64):
(WebKit::EncoderAdapter::encodeInt32):
(WebKit::EncoderAdapter::encodeInt64):
(WebKit::EncoderAdapter::encodeFloat):
(WebKit::EncoderAdapter::encodeDouble):
(WebKit::EncoderAdapter::encodeString):

2:14 PM Changeset in webkit [143051] by abarth@webkit.org
  • 12 edits in trunk/Source/WebCore

Enable the preload scanner on the background parser thread
https://bugs.webkit.org/show_bug.cgi?id=108027

Reviewed by Tony Gentilcore.

The patch causes us to pass all the fast/preloader tests with the
threaded parser enabled.

This patch wires up the BackgroundHTMLParser to the
TokenPreloadScanner. Currently, we bail out of preload scanning if we
encounter a document.write becaues we don't know how to rewind the
preload scanner, but that's something we can tune in the future.

The BackgroundHTMLParser delivers the preloads to the
HTMLDocumentParser together with the token stream. If the
HTMLDocumentParser isn't able to use the token stream immediately, it
kicks off the preloads.

  • html/parser/BackgroundHTMLParser.cpp:

(WebCore::checkThatPreloadsAreSafeToSendToAnotherThread):
(WebCore::BackgroundHTMLParser::BackgroundHTMLParser):
(WebCore::BackgroundHTMLParser::resumeFrom):
(WebCore::BackgroundHTMLParser::pumpTokenizer):
(WebCore::BackgroundHTMLParser::sendTokensToMainThread):

  • html/parser/BackgroundHTMLParser.h:

(Configuration):

  • We need to add a struct for the create function because the number of arguments exceeds the limits of Functional.h.

(BackgroundHTMLParser):
(WebCore::BackgroundHTMLParser::create):

  • html/parser/CSSPreloadScanner.cpp:

(WebCore::CSSPreloadScanner::scanCommon):
(WebCore::CSSPreloadScanner::scan):
(WebCore::CSSPreloadScanner::emitRule):

  • We need to use a new string here so that the string is safe to send to another thread.
  • html/parser/CSSPreloadScanner.h:

(CSSPreloadScanner):

  • html/parser/HTMLDocumentParser.cpp:

(WebCore::HTMLDocumentParser::didReceiveParsedChunkFromBackgroundParser):
(WebCore::HTMLDocumentParser::startBackgroundParser):

  • Following the example of the XSSAuditor, we create the TokenPreloadScanner on the main thread and then send it to the background thread for operation.
  • html/parser/HTMLDocumentParser.h:

(WebCore):
(ParsedChunk):

  • html/parser/HTMLParserOptions.h:

(HTMLParserOptions):

  • We need to add a default constructor so that the HTMLDocumentParser can create an empty BackgroundHTMLParser::Configuration struct.
  • html/parser/HTMLPreloadScanner.cpp:

(WebCore::TokenPreloadScanner::scan):
(WebCore::TokenPreloadScanner::scanCommon):
(WebCore::HTMLPreloadScanner::scan):

  • html/parser/HTMLPreloadScanner.h:

(TokenPreloadScanner):
(WebCore::TokenPreloadScanner::isSafeToSendToAnotherThread):

  • html/parser/HTMLResourcePreloader.cpp:

(WebCore::HTMLResourcePreloader::takeAndPreload):
(WebCore):

  • html/parser/HTMLResourcePreloader.h:

(WebCore::PreloadRequest::PreloadRequest):
(WebCore):
(HTMLResourcePreloader):

2:01 PM Changeset in webkit [143050] by andersca@apple.com
  • 6 edits in trunk/Source/WebKit2

Add a synchronous GetValues message to StorageManager
https://bugs.webkit.org/show_bug.cgi?id=109968

Reviewed by Sam Weinig.

  • Platform/CoreIPC/Connection.cpp:

(CoreIPC::Connection::dispatchWorkQueueMessageReceiverMessage):
Handle synchronous messages.

(CoreIPC::Connection::processIncomingMessage):
Check for work queue message receivers before doing any other processing.

  • UIProcess/Storage/StorageManager.cpp:

(WebKit::StorageManager::getValues):
Add empty stub.

  • UIProcess/Storage/StorageManager.h:
  • UIProcess/Storage/StorageManager.messages.in:

Add GetValues message.

  • WebProcess/Storage/StorageAreaProxy.cpp:

(WebKit::StorageAreaProxy::loadValuesIfNeeded):
Send the GetValues message.

1:53 PM Changeset in webkit [143049] by Christophe Dumez
  • 5 edits in trunk

Add CString operators for comparison with const char*
https://bugs.webkit.org/show_bug.cgi?id=109947

Reviewed by Darin Adler.

Source/WTF:

Add operators to WTF::CString for equality/inequality comparison
with const char* strings. This avoids constructing a CString
from a const char* in such cases, which is can be expensive as
it would copy it and call strlen().

  • wtf/text/CString.cpp:

(WTF::operator==): Use memcmp instead of strncmp to compare the
CString buffers as we know they are the same size and we don't
want to scan for terminating null byte.
(WTF):

  • wtf/text/CString.h:

(WTF):
(WTF::operator!=):

Tools:

Add tests for WTF::CString's comparison operators.

  • TestWebKitAPI/Tests/WTF/CString.cpp:

(TEST):

1:50 PM Changeset in webkit [143048] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebCore

Build fix after r143030. We need to keep updatedRange around until createMarkupInternal returns.

  • editing/markup.cpp:

(WebCore::createMarkup):

1:48 PM Changeset in webkit [143047] by alecflett@chromium.org
  • 2 edits in trunk/Source/WebKit/chromium

IndexedDB: fix chromium windows bustage
https://bugs.webkit.org/show_bug.cgi?id=109970

Unreviewed build fix for Chromium Windows.

  • tests/IDBDatabaseBackendTest.cpp:
1:43 PM Changeset in webkit [143046] by commit-queue@webkit.org
  • 23 edits
    10 adds in trunk

Add platform support for -webkit-background-blend-mode to CG context
https://bugs.webkit.org/show_bug.cgi?id=108549

Patch by Rik Cabanier <cabanier@adobe.com> on 2013-02-15
Reviewed by Dean Jackson.

Source/WebCore:

Tests: css3/compositing/effect-background-blend-mode-stacking.html

css3/compositing/effect-background-blend-mode.html

This patch adds support for blending on background images to the Core Graphics port of WebKit.

  • platform/graphics/CrossfadeGeneratedImage.cpp: Added interface change for blending.

(WebCore::CrossfadeGeneratedImage::drawPattern):

  • platform/graphics/CrossfadeGeneratedImage.h: Added interface change for blending.

(CrossfadeGeneratedImage):

  • platform/graphics/GeneratedImage.h: Added interface change for blending.

(GeneratedImage):

  • platform/graphics/GeneratorGeneratedImage.cpp: Added interface change for blending.

(WebCore::GeneratorGeneratedImage::drawPattern):

  • platform/graphics/GeneratorGeneratedImage.h: Added interface change for blending.

(GeneratorGeneratedImage):

  • platform/graphics/GraphicsContext.cpp: Added interface change for blending and passes blend mode to image object.

(WebCore::GraphicsContext::drawTiledImage):
(WebCore::GraphicsContext::blendModeOperation):
(WebCore):

  • platform/graphics/GraphicsContext.h: Added interface change for blending.

(GraphicsContext):

  • platform/graphics/Image.cpp: Added interface change for blending and passed it to graphics layer.

(WebCore::Image::drawTiled):

  • platform/graphics/Image.h: Added interface change for blending.

(Image):

  • platform/graphics/cg/ImageCG.cpp: Added interface change for blending and passed it to OS.

(WebCore::Image::drawPattern):

  • rendering/RenderBoxModelObject.cpp: Passed blend mode when drawing background images.

(WebCore::RenderBoxModelObject::paintFillLayerExtended):

  • platform/graphics/cairo/ImageCairo.cpp: Added interface change for blending.

(WebCore::Image::drawPattern):

  • platform/graphics/qt/ImageQt.cpp: Added interface change for blending.

(WebCore::Image::drawPattern):

  • platform/graphics/skia/ImageSkia.cpp: Added interface change for blending.

(WebCore::Image::drawPattern):

  • rendering/RenderBoxModelObject.cpp: Added interface change for blending.

(WebCore::RenderBoxModelObject::paintFillLayerExtended):

  • svg/graphics/SVGImageForContainer.cpp: Added interface change for blending.

(WebCore::SVGImageForContainer::drawPattern):

  • svg/graphics/SVGImageForContainer.h: Added interface change for blending.

Source/WebKit:

Fixed build issue.

  • WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:

Source/WebKit/win:

Fixed build issue.

  • WebKit.vcproj/WebKitExports.def.in:

LayoutTests:

Added tests for background images.

  • css3/compositing/effect-background-blend-mode-expected.png: Added.
  • css3/compositing/effect-background-blend-mode-expected.txt: Added.
  • css3/compositing/effect-background-blend-mode-stacking-expected.png: Added.
  • css3/compositing/effect-background-blend-mode-stacking-expected.txt: Added.
  • css3/compositing/effect-background-blend-mode-stacking.html: Added.
  • css3/compositing/effect-background-blend-mode.html: Added.
  • css3/compositing/resources/ducky.png: Added.
  • platform/chromium/TestExpectations:
  • platform/mac/css3/compositing: Added.
  • platform/mac/css3/compositing/effect-background-blend-mode-expected.png: Added.
  • platform/mac/css3/compositing/effect-background-blend-mode-stacking-expected.png: Added.
1:35 PM Changeset in webkit [143045] by eae@chromium.org
  • 3 edits
    2 adds in trunk

Clamp span value in RenderTableCell::parse[Col|Row]SpanFromDOM
https://bugs.webkit.org/show_bug.cgi?id=109878

Source/WebCore:

Reviewed by Abhishek Arya.

Test: fast/table/colspan-huge-number.html

Clamp colspan and rowspan values to their respective maximum
supported values.

  • rendering/RenderTableCell.cpp:

(WebCore::RenderTableCell::parseColSpanFromDOM):
(WebCore::RenderTableCell::parseRowSpanFromDOM):

LayoutTests:

Reviewed by Abhishek Arya.

Add test for handling of very large colspan value.

  • fast/table/colspan-huge-number-expected.txt: Added.
  • fast/table/colspan-huge-number.html: Added.
1:30 PM Changeset in webkit [143044] by akling@apple.com
  • 4 edits in trunk/Source/WebCore

ShareableElementData should use zero-length array for storage.
<http://webkit.org/b/109959>

Reviewed by Anders Carlsson.

Use a zero-length Attribute array instead of always casting from void* to an array.
It was done this way originally because I didn't know we could sidestep the MSVC
build error with some #pragma hackery.

  • dom/DocumentSharedObjectPool.cpp:

(WebCore::DocumentSharedObjectPool::cachedShareableElementDataWithAttributes):

  • dom/Element.cpp:

(WebCore::sizeForShareableElementDataWithAttributeCount):
(WebCore::ShareableElementData::ShareableElementData):
(WebCore::ShareableElementData::~ShareableElementData):
(WebCore::UniqueElementData::UniqueElementData):

  • dom/Element.h:

(ShareableElementData):
(WebCore::ElementData::attributeItem):

1:18 PM Changeset in webkit [143043] by ojan@chromium.org
  • 3 edits in trunk/Source/WebCore

Implement RenderGrid::computeIntrinsicLogicalWidths
https://bugs.webkit.org/show_bug.cgi?id=109881

Reviewed by Tony Chang.

For now this is not observable due to the FIXMEs for unimplemented bits
of computePreferredLogicalWidths. But, soon, I'll be removing the computePreferredLogicalWidths
override entirely and instead use RenderBlock's, which will also address the
RenderGrid FIXMEs.

  • rendering/RenderGrid.cpp:

(WebCore::RenderGrid::computeIntrinsicLogicalWidths):
const_cast the usages of m_grid. Alternately, we could stack allocate it, but there's disagreement on
whether that's the right choice. See https://bugs.webkit.org/show_bug.cgi?id=109880.

(WebCore::RenderGrid::computePreferredLogicalWidths):

  • rendering/RenderGrid.h:
1:16 PM Changeset in webkit [143042] by commit-queue@webkit.org
  • 3 edits
    6 adds in trunk

Flexbox should ignore firstLine pseudo element.
https://bugs.webkit.org/show_bug.cgi?id=104485

Patch by Xueqing Huang <huangxueqing@baidu.com> on 2013-02-15
Reviewed by Tony Chang.

Source/WebCore:

Spec[1] said that "None of the properties defined in this module
apply to '::first-line' or '::first-letter' pseudo-elements." and
css2[2] define "The :first-line pseudo-element can only be attached
to a block container element."
[1]http://dev.w3.org/csswg/css3-flexbox/#display-flex
[2]http://www.w3.org/TR/CSS2/selector.html#first-line-pseudo

tests:
css3/flexbox/flexbox-ignore-firstLine.html
css3/flexbox/flexitem-firstLine-valid.html
css3/flexbox/inline-flexbox-ignore-firstLine.html

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::firstLineBlock):

LayoutTests:

Spec[1] said that "None of the properties defined in this module
apply to '::first-line' or '::first-letter' pseudo-elements." and
css2[2] define "The :first-line pseudo-element can only be attached
to a block container element."
[1]http://dev.w3.org/csswg/css3-flexbox/#display-flex
[2]http://www.w3.org/TR/CSS2/selector.html#first-line-pseudo

some case by Kenny Lu <kanghaol@oupeng.com>

  • css3/flexbox/flex-item-firstLine-valid-expected.txt: Added.
  • css3/flexbox/flex-item-firstLine-valid.html: Added.
  • css3/flexbox/flexbox-ignore-firstLine-expected.txt: Added.
  • css3/flexbox/flexbox-ignore-firstLine.html: Added.
  • css3/flexbox/inline-flexbox-ignore-firstLine-expected.txt: Added.
  • css3/flexbox/inline-flexbox-ignore-firstLine.html: Added.
1:15 PM Changeset in webkit [143041] by Lucas Forschler
  • 4 edits in tags/Safari-537.31.2/Source

Versioning.

1:11 PM Changeset in webkit [143040] by Lucas Forschler
  • 1 copy in tags/Safari-537.31.2

New Tag.

1:05 PM Changeset in webkit [143039] by Martin Robinson
  • 5 edits in trunk/Source/WebKit/gtk

Unreviewed, rolling out parts of r142731.
http://trac.webkit.org/changeset/142731
https://bugs.webkit.org/show_bug.cgi?id=109672

This patch broke the GTK+ gyp build. Roll out the changes there,
since they were actually unnecessary.

  • gyp/Configuration.gypi.in:
  • gyp/Dependencies.gyp:
  • gyp/JavaScriptCore.gyp:
  • gyp/WTF.gyp:
1:03 PM Changeset in webkit [143038] by andersca@apple.com
  • 5 edits in trunk/Source/WebKit2

A storage area should know its storage type
https://bugs.webkit.org/show_bug.cgi?id=109964

Reviewed by Andreas Kling.

  • WebProcess/Storage/StorageAreaProxy.cpp:

(WebKit::StorageAreaProxy::StorageAreaProxy):
(WebKit::StorageAreaProxy::disabledByPrivateBrowsingInFrame):

  • WebProcess/Storage/StorageAreaProxy.h:

(StorageAreaProxy):

  • WebProcess/Storage/StorageNamespaceProxy.cpp:

(WebKit::StorageNamespaceProxy::storageType):
(WebKit):

  • WebProcess/Storage/StorageNamespaceProxy.h:

(StorageNamespaceProxy):

1:01 PM Changeset in webkit [143037] by alecflett@chromium.org
  • 13 edits in trunk/Source

IndexedDB: Implement SharedBuffer version of put()
https://bugs.webkit.org/show_bug.cgi?id=109092

Reviewed by Adam Barth.

Source/WebCore:

Switch IDBDatabaseBackendInterface::put over
to SharedBuffer, to avoid buffer copies of the value.

No new tests, this is a refactor.

  • Modules/indexeddb/IDBBackingStore.cpp:

(WebCore::IDBBackingStore::putRecord):

  • Modules/indexeddb/IDBBackingStore.h:

(WebCore):
(IDBBackingStore):

  • Modules/indexeddb/IDBDatabaseBackendImpl.cpp:

(WebCore::PutOperation::create):
(WebCore::PutOperation::PutOperation):
(PutOperation):
(WebCore::IDBDatabaseBackendImpl::put):

  • Modules/indexeddb/IDBDatabaseBackendImpl.h:

(IDBDatabaseBackendImpl):

  • Modules/indexeddb/IDBDatabaseBackendInterface.h:

(WebCore):

  • Modules/indexeddb/IDBObjectStore.cpp:

(WebCore::IDBObjectStore::put):

Source/WebKit/chromium:

Implement SharedBuffer/WebData version of
IDBDatabaseBackendInterface::put, and put
temporary scaffolding in until chrome is ready.

  • src/IDBDatabaseBackendProxy.cpp:

(WebKit::IDBDatabaseBackendProxy::put):

  • src/IDBDatabaseBackendProxy.h:

(IDBDatabaseBackendProxy):

  • src/WebIDBDatabaseImpl.cpp:

(WebKit::WebIDBDatabaseImpl::put):
(WebKit):

  • src/WebIDBDatabaseImpl.h:

(WebIDBDatabaseImpl):

  • tests/IDBDatabaseBackendTest.cpp:
12:56 PM Changeset in webkit [143036] by pdr@google.com
  • 28 edits in trunk/LayoutTests

Rebaseline 7 SVG tests after r142765.

Unreviewed rebaseline of test expectations.

  • platform/chromium-linux/svg/as-image/animated-svg-as-image-no-fixed-intrinsic-size-expected.png:
  • platform/chromium-linux/svg/as-image/img-preserveAspectRatio-support-2-expected.png:
  • platform/chromium-linux/svg/as-image/svg-image-change-content-size-expected.png:
  • platform/chromium-linux/svg/wicd/test-scalable-background-image1-expected.png:
  • platform/chromium-linux/svg/wicd/test-scalable-background-image2-expected.png:
  • platform/chromium-mac-lion/svg/as-image/animated-svg-as-image-no-fixed-intrinsic-size-expected.png:
  • platform/chromium-mac-lion/svg/as-image/img-preserveAspectRatio-support-2-expected.png:
  • platform/chromium-mac-lion/svg/as-image/svg-image-change-content-size-expected.png:
  • platform/chromium-mac-lion/svg/wicd/test-scalable-background-image1-expected.png:
  • platform/chromium-mac-lion/svg/wicd/test-scalable-background-image2-expected.png:
  • platform/chromium-mac-snowleopard/svg/as-image/animated-svg-as-image-no-fixed-intrinsic-size-expected.png:
  • platform/chromium-mac-snowleopard/svg/as-image/svg-image-change-content-size-expected.png:
  • platform/chromium-mac-snowleopard/svg/wicd/test-scalable-background-image1-expected.png:
  • platform/chromium-mac-snowleopard/svg/wicd/test-scalable-background-image2-expected.png:
  • platform/chromium-mac/svg/as-image/animated-svg-as-image-no-fixed-intrinsic-size-expected.png:
  • platform/chromium-mac/svg/as-image/img-preserveAspectRatio-support-2-expected.png:
  • platform/chromium-mac/svg/as-image/svg-image-change-content-size-expected.png:
  • platform/chromium-mac/svg/as-image/svg-non-integer-scaled-image-expected.png:
  • platform/chromium-mac/svg/wicd/test-scalable-background-image1-expected.png:
  • platform/chromium-mac/svg/wicd/test-scalable-background-image2-expected.png:
  • platform/chromium-win/svg/as-image/animated-svg-as-image-no-fixed-intrinsic-size-expected.png:
  • platform/chromium-win/svg/as-image/img-preserveAspectRatio-support-2-expected.png:
  • platform/chromium-win/svg/as-image/svg-image-change-content-size-expected.png:
  • platform/chromium-win/svg/as-image/svg-non-integer-scaled-image-expected.png:
  • platform/chromium-win/svg/wicd/test-scalable-background-image1-expected.png:
  • platform/chromium-win/svg/wicd/test-scalable-background-image2-expected.png:
  • platform/chromium/TestExpectations:
12:50 PM Changeset in webkit [143035] by enne@google.com
  • 2 edits in trunk/LayoutTests

[chromium] Mark inspector/profiler/heap-snapshot-get-profile-crash.html flaky crasher
https://bugs.webkit.org/show_bug.cgi?id=109963

Unreviewed gardening.

  • platform/chromium/TestExpectations:
12:49 PM Changeset in webkit [143034] by andersca@apple.com
  • 5 edits in trunk/Source

Implement StorageAreaProxy::length
https://bugs.webkit.org/show_bug.cgi?id=109962

Reviewed by Andreas Kling.

Source/WebCore:

Export a symbol needed by WebKit2.

  • WebCore.exp.in:

Source/WebKit2:

  • WebProcess/Storage/StorageAreaProxy.cpp:

(WebKit::StorageAreaProxy::length):
Load the values if needed and then return the length.

(WebKit::StorageAreaProxy::disabledByPrivateBrowsingInFrame):
Add helper function.

(WebKit::StorageAreaProxy::loadValuesIfNeeded):
Just allocate the hash map for now.

  • WebProcess/Storage/StorageAreaProxy.h:

(StorageAreaProxy):

12:45 PM Changeset in webkit [143033] by zandobersek@gmail.com
  • 4 edits in trunk/Tools

webkit-patch suggest-reviewers should limit itself to 5 reviewers
https://bugs.webkit.org/show_bug.cgi?id=107528

Reviewed by Eric Seidel.

  • Scripts/webkitpy/common/checkout/checkout.py:

(Checkout.suggested_reviewers): Iterate through the sorted commit info list,
scraping reviewers from the commit information and in the end producing a list
of reviewers that's sorted from the most to least recent activity of any reviewer
that has reviewed or authored patches for the changed files.

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

(SuggestReviewers): Use the SuggestReviewers step instead of reimplementing much of
the same logic.
(SuggestReviewers._prepare_state): Force the reviewer suggestion because the option
defaults to False.

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

(SuggestReviewers.run): Only list the first five suggested reviewers, now printed out
on a single line. Only ask for CC-ing the suggested reviewers to the bug if the
bug ID is located in the command's state.

12:35 PM Changeset in webkit [143032] by aelias@chromium.org
  • 3 edits in trunk/Source/WebKit/chromium

[chromium] WebInputEventBuilders should not reverse page scale
https://bugs.webkit.org/show_bug.cgi?id=109901

Reviewed by James Robinson.

Though in theory logical that if WebInputEvent -> PlatformEvent
conversions divide by page scale, then the reverse builders should
multiply, in reality the only user of the reverse builders is
plugins which expect the same coordinate space as WebCore.

  • src/WebInputEventConversion.cpp:

(WebKit::updateWebMouseEventFromWebCoreMouseEvent):
(WebKit::WebMouseEventBuilder::WebMouseEventBuilder):
(WebKit::addTouchPoints):
(WebKit::WebGestureEventBuilder::WebGestureEventBuilder):

  • tests/WebInputEventConversionTest.cpp:

(WebCore::TEST):

12:05 PM Changeset in webkit [143031] by andersca@apple.com
  • 10 edits in trunk/Source

Remove const from a bunch of StorageArea member functions
https://bugs.webkit.org/show_bug.cgi?id=109957

Reviewed by Beth Dakin.

Source/WebCore:

StorageArea is an abstract base class, and its subclasses might want to mutate the object
when certain member functions are called so remove const from all member functions.

  • storage/StorageArea.h:

(WebCore):
(StorageArea):
(WebCore::StorageArea::~StorageArea):
(WebCore::StorageArea::incrementAccessCount):
(WebCore::StorageArea::decrementAccessCount):
(WebCore::StorageArea::closeDatabaseIfIdle):

  • storage/StorageAreaImpl.cpp:

(WebCore::StorageAreaImpl::canAccessStorage):
(WebCore::StorageAreaImpl::length):
(WebCore::StorageAreaImpl::key):
(WebCore::StorageAreaImpl::getItem):
(WebCore::StorageAreaImpl::contains):
(WebCore::StorageAreaImpl::memoryBytesUsedByCache):

  • storage/StorageAreaImpl.h:

(StorageAreaImpl):

Source/WebKit/chromium:

Update for WebCore changes.

  • src/StorageAreaProxy.cpp:

(WebCore::StorageAreaProxy::length):
(WebCore::StorageAreaProxy::key):
(WebCore::StorageAreaProxy::getItem):
(WebCore::StorageAreaProxy::contains):
(WebCore::StorageAreaProxy::canAccessStorage):
(WebCore::StorageAreaProxy::memoryBytesUsedByCache):

  • src/StorageAreaProxy.h:

(StorageAreaProxy):

Source/WebKit2:

Update for WebCore changes.

  • WebProcess/Storage/StorageAreaProxy.cpp:

(WebKit::StorageAreaProxy::length):
(WebKit::StorageAreaProxy::key):
(WebKit::StorageAreaProxy::getItem):
(WebKit::StorageAreaProxy::contains):
(WebKit::StorageAreaProxy::canAccessStorage):
(WebKit::StorageAreaProxy::memoryBytesUsedByCache):

  • WebProcess/Storage/StorageAreaProxy.h:

(StorageAreaProxy):

11:59 AM Changeset in webkit [143030] by rniwa@webkit.org
  • 4 edits in trunk/Source/WebCore

DeleteButtonController::enable and disable should be called via a RAII object
https://bugs.webkit.org/show_bug.cgi?id=109550

Reviewed by Enrica Casucci.

Added DeleteButtonControllerDisableScope, a friend class of DeleteButtonController,
and made DeleteButtonController::enable/disable private.

  • dom/ContainerNode.cpp:
  • editing/CompositeEditCommand.cpp:

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

  • editing/DeleteButtonController.h:

(WebCore):
(DeleteButtonController):
(DeleteButtonControllerDisableScope):
(WebCore::DeleteButtonControllerDisableScope::DeleteButtonControllerDisableScope):
(WebCore::DeleteButtonControllerDisableScope::~DeleteButtonControllerDisableScope):

  • editing/markup.cpp:

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

11:58 AM Changeset in webkit [143029] by pdr@google.com
  • 16 edits in trunk/LayoutTests

Rebaseline 4 svg/zoom/page tests after r142765

Unreviewed rebaseline of test expectations.

  • platform/chromium-linux/svg/zoom/page/zoom-background-images-expected.png:
  • platform/chromium-linux/svg/zoom/page/zoom-img-preserveAspectRatio-support-1-expected.png:
  • platform/chromium-linux/svg/zoom/page/zoom-svg-as-background-with-relative-size-and-viewBox-expected.png:
  • platform/chromium-linux/svg/zoom/page/zoom-svg-as-background-with-relative-size-expected.png:
  • platform/chromium-mac-lion/svg/zoom/page/zoom-img-preserveAspectRatio-support-1-expected.png:
  • platform/chromium-mac-snowleopard/svg/zoom/page/zoom-img-preserveAspectRatio-support-1-expected.png:
  • platform/chromium-mac/svg/zoom/page/zoom-background-images-expected.png:
  • platform/chromium-mac/svg/zoom/page/zoom-img-preserveAspectRatio-support-1-expected.png:
  • platform/chromium-mac/svg/zoom/page/zoom-svg-as-background-with-relative-size-and-viewBox-expected.png:
  • platform/chromium-mac/svg/zoom/page/zoom-svg-as-background-with-relative-size-expected.png:
  • platform/chromium-win/svg/zoom/page/zoom-background-images-expected.png:
  • platform/chromium-win/svg/zoom/page/zoom-img-preserveAspectRatio-support-1-expected.png:
  • platform/chromium-win/svg/zoom/page/zoom-svg-as-background-with-relative-size-and-viewBox-expected.png:
  • platform/chromium-win/svg/zoom/page/zoom-svg-as-background-with-relative-size-expected.png:
  • platform/chromium/TestExpectations:
11:54 AM Changeset in webkit [143028] by mvujovic@adobe.com
  • 7 edits
    6 adds in trunk

Source/WebCore: Add code from other branch.

[CSS Shaders] Parse src property in @-webkit-filter at-rules
https://bugs.webkit.org/show_bug.cgi?id=109770

Reviewed by Dean Jackson.

This patch implements the parsing for the CSS src property in @-webkit-filter at-rules.

The Filter Effects spec [1] specifies its syntax:

src: [ <uri> [format(<string>)]?]#

In practice, it can look like:

src: url(shader.vs) format('x-shader/x-vertex'),

url(shader.fs) format('x-shader/x-fragment');

This src property is similar to the src property in CSS font-face rules, but a little
different. The CSS Fonts spec [2] specifies:

src: [ <uri> [format(<string>#)]? | <font-face-name> ]#
The syntax for a <font-face-name> is a unique font face name enclosed by "local("
and ")".

Unlike the filter src property, the font face src property accepts the local function
[e.g. src: local("SomeFont");]. Also, the font face src property accepts a list of strings
instead of just one string in its format function.

[1]: https://dvcs.w3.org/hg/FXTF/raw-file/tip/filters/index.html#custom-filter-src
[2]: http://www.w3.org/TR/css3-fonts/#src-desc

Tests: css3/filters/custom-with-at-rule-syntax/parsing-src-property-invalid.html

css3/filters/custom-with-at-rule-syntax/parsing-src-property-valid.html

  • css/CSSGrammar.y.in:

Set (and unset) a flag called "m_inFilterRule", which tells us if we are in a
@-webkit-filter at-rule or in a @font-face at-rule when we encounter a src property.
We parse the two variants of the src property separately so that we can create different
objects (WebKitCSSShaderValue vs. CSSFontFaceSrcValue) and because their syntax is a
little different.

  • css/CSSParser.cpp:

(WebCore::CSSParser::CSSParser):
(WebCore::CSSParser::parseValue):
(WebCore::CSSParser::parseFilterRuleSrcUriAndFormat):

Parses a URI and format pair found in the @-webkit-filter src property.

(WebCore::CSSParser::parseFilterRuleSrc):

Parse the @-webkit-filter src property.

  • css/CSSParser.h:

(CSSParser):

  • css/WebKitCSSShaderValue.cpp:

(WebCore::WebKitCSSShaderValue::customCssText):

WebKitCSSShaderValue now has an m_format member, which needs to be included in its
cssText.

(WebCore::WebKitCSSShaderValue::reportDescendantMemoryUsage):

  • css/WebKitCSSShaderValue.h:

(WebCore::WebKitCSSShaderValue::format):
(WebCore::WebKitCSSShaderValue::setFormat):
(WebKitCSSShaderValue):

LayoutTests: [CSS Shaders] Parse src property in @-webkit-filter at-rules
https://bugs.webkit.org/show_bug.cgi?id=109770

Reviewed by Dean Jackson.

Add positive and negative parsing tests for the @-webkit-filter src property.

  • css3/filters/custom-with-at-rule-syntax/parsing-src-property-invalid-expected.txt: Added.
  • css3/filters/custom-with-at-rule-syntax/parsing-src-property-invalid.html: Added.
  • css3/filters/custom-with-at-rule-syntax/parsing-src-property-valid-expected.txt: Added.
  • css3/filters/custom-with-at-rule-syntax/parsing-src-property-valid.html: Added.
  • css3/filters/custom-with-at-rule-syntax/script-tests/parsing-src-property-invalid.js: Added.

(testInvalidSrcProperty):

  • css3/filters/custom-with-at-rule-syntax/script-tests/parsing-src-property-valid.js: Added.

(testSrcProperty):

11:54 AM Changeset in webkit [143027] by ggaren@apple.com
  • 4 edits in trunk/Source

Merged the global function cache into the source code cache
https://bugs.webkit.org/show_bug.cgi?id=108660

Reviewed by Sam Weinig.

Responding to review comments by Darin Adler.

../JavaScriptCore:

  • runtime/CodeCache.h:

(JSC::SourceCodeKey::SourceCodeKey): Don't initialize m_name and m_flags
in the hash table deleted value because they're meaningless.

../WTF:

  • wtf/HashTraits.h: Added a using directive to simplify client code.
11:53 AM Changeset in webkit [143026] by pdr@google.com
  • 19 edits in trunk/LayoutTests

Rebaseline 4 tests after r142765

Unreviewed rebaseline of test expectations.

  • platform/chromium-linux/css2.1/20110323/background-intrinsic-004-expected.png:
  • platform/chromium-linux/css2.1/20110323/background-intrinsic-005-expected.png:
  • platform/chromium-linux/svg/as-border-image/svg-as-border-image-expected.png:
  • platform/chromium-linux/svg/as-image/same-image-two-instances-expected.png:
  • platform/chromium-mac-lion/css2.1/20110323/background-intrinsic-004-expected.png:
  • platform/chromium-mac-lion/css2.1/20110323/background-intrinsic-005-expected.png:
  • platform/chromium-mac-lion/svg/as-border-image/svg-as-border-image-expected.png:
  • platform/chromium-mac-snowleopard/css2.1/20110323/background-intrinsic-004-expected.png:
  • platform/chromium-mac-snowleopard/css2.1/20110323/background-intrinsic-005-expected.png:
  • platform/chromium-mac/css2.1/20110323/background-intrinsic-004-expected.png:
  • platform/chromium-mac/css2.1/20110323/background-intrinsic-005-expected.png:
  • platform/chromium-mac/svg/as-border-image/svg-as-border-image-expected.png:
  • platform/chromium-mac/svg/as-image/same-image-two-instances-expected.png:
  • platform/chromium-win/css2.1/20110323/background-intrinsic-004-expected.png:
  • platform/chromium-win/css2.1/20110323/background-intrinsic-005-expected.png:
  • platform/chromium-win/svg/as-border-image/svg-as-border-image-expected.png:
  • platform/chromium-win/svg/as-image/same-image-two-instances-expected.png:
  • platform/chromium/TestExpectations:
11:50 AM Changeset in webkit [143025] by pablof@motorola.com
  • 2 edits in trunk/Tools

Unreviewed. Add myself as a committer.

  • Scripts/webkitpy/common/config/committers.py:
11:47 AM Changeset in webkit [143024] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

DFG AbstractState should filter operands to NewArray more precisely
https://bugs.webkit.org/show_bug.cgi?id=109900

Reviewed by Mark Hahnenberg.

NewArray for primitive indexing types speculates that the inputs are the appropriate
primitives. Now, the CFA filters the abstract state accordingly, as well.

  • dfg/DFGAbstractState.cpp:

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

11:46 AM Changeset in webkit [143023] by pdr@google.com
  • 11 edits
    1 add in trunk/LayoutTests

Rebaseline 3 tests after r142765

Unreviewed rebaseline of test expectations.

  • platform/chromium-linux/fast/backgrounds/size/contain-and-cover-expected.png:
  • platform/chromium-linux/fast/backgrounds/size/contain-and-cover-zoomed-expected.png:
  • platform/chromium-linux/fast/writing-mode/block-level-images-expected.png:
  • platform/chromium-mac/fast/backgrounds/size/contain-and-cover-expected.png:
  • platform/chromium-mac/fast/backgrounds/size/contain-and-cover-zoomed-expected.png:
  • platform/chromium-mac/fast/writing-mode/block-level-images-expected.png:
  • platform/chromium-win-xp/fast/backgrounds/size/contain-and-cover-zoomed-expected.png: Added.
  • platform/chromium-win/fast/backgrounds/size/contain-and-cover-expected.png:
  • platform/chromium-win/fast/backgrounds/size/contain-and-cover-zoomed-expected.png:
  • platform/chromium-win/fast/writing-mode/block-level-images-expected.png:
  • platform/chromium/TestExpectations:
11:17 AM Changeset in webkit [143022] by roger_fong@apple.com
  • 1 edit
    1 add in trunk/Tools

Get Win EWS startup script checked into tree so we can make changes to all the EWS bots more easily.

  • EWSTools/start-queue-win.sh: Added.
11:15 AM Changeset in webkit [143021] by eric.carlson@apple.com
  • 4 edits in trunk

Crash occurs at WebCore::TextTrackList::length() when enabling closed captions in movie
https://bugs.webkit.org/show_bug.cgi?id=109886

Reviewed by Dean Jackson.

Source/WebCore:

No new tests, media/media-captions.html does not crash with this change.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::markCaptionAndSubtitleTracksAsUnconfigured): Early return when

m_textTracks is NULL.

LayoutTests:

  • platform/mac/TestExpectations: Remove media/media-captions.html.
11:11 AM Changeset in webkit [143020] by abarth@webkit.org
  • 5 edits in trunk/Source/WebCore

TokenPreloadScanner should be able to scan CompactHTMLTokens
https://bugs.webkit.org/show_bug.cgi?id=109861

Reviewed by Eric Seidel.

This patch moves the main scanning logic for the TokenPreloadScanner to
a templated scanCommon routine that can scan either an HTMLToken or a
CompactHTMLToken. This patch will let the BackgroundHTMLParser preload
scan its CompactHTMLTokens.

  • html/parser/CSSPreloadScanner.cpp:

(WebCore):
(WebCore::CSSPreloadScanner::scanCommon):
(WebCore::CSSPreloadScanner::scan):

  • html/parser/CSSPreloadScanner.h:

(CSSPreloadScanner):

  • Tweak the CSSPreloadScanner API slightly to make it easier to call from templated code.
  • html/parser/HTMLPreloadScanner.cpp:

(WebCore::TokenPreloadScanner::tagIdFor):
(WebCore):
(WebCore::TokenPreloadScanner::StartTagScanner::processAttributes):
(TokenPreloadScanner::StartTagScanner):
(WebCore::TokenPreloadScanner::scan):
(WebCore::TokenPreloadScanner::scanCommon):
(WebCore::TokenPreloadScanner::updatePredictedBaseURL):
(WebCore::HTMLPreloadScanner::scan):

  • html/parser/HTMLPreloadScanner.h:

(TokenPreloadScanner):

11:06 AM WebKit Team edited by glenn@skynav.com
add myself as committer (diff)
11:06 AM Changeset in webkit [143019] by alexis@webkit.org
  • 10 edits in trunk

WebKit shouldn't accept "none, none" in transition shorthand property.
https://bugs.webkit.org/show_bug.cgi?id=108751

Reviewed by Dean Jackson.

Source/WebCore:

http://dev.w3.org/csswg/css3-transitions/#transition-shorthand-property
specifies that if there is more than one transition defined in the
shorthand and any of them has a value of 'none' then the declaration is
invalid. This patch fixes the problem by passing a parsing context to
track if a keyword has been set for the transition-property and if so
then use it to invalidate or not the declaration.

Test: transitions/transitions-parsing.html

  • css/CSSParser.cpp:

(AnimationParseContext):
(WebCore::AnimationParseContext::AnimationParseContext):
(WebCore::AnimationParseContext::commitFirstAnimation): track whether
it's the first <single-transition/animation> or not defined in the
shorthand.
(WebCore::AnimationParseContext::hasCommittedFirstAnimation):
(WebCore::AnimationParseContext::commitAnimationPropertyKeywordInShorthand):
In the shorthand as soon as a keyword has been found then the parsing
is 'finished', if any other animation/transition declaration part of
the shorthand are with a keyword then it's invalid.
(WebCore::AnimationParseContext::animationPropertyKeywordInShorthandAllowed):
(WebCore::AnimationParseContext::hasSeenAnimationPropertyKeyword):
(WebCore::AnimationParseContext::sawAnimationPropertyKeyword):
(WebCore):
(WebCore::CSSParser::parseValue):
(WebCore::CSSParser::parseAnimationShorthand):
(WebCore::CSSParser::parseTransitionShorthand):
(WebCore::CSSParser::parseAnimationProperty):

  • css/CSSParser.h:

(WebCore):

LayoutTests:

Extend exisiting tests to cover the bug. Modify old tests with invalid declarations.

  • fast/css/transform-inline-style-expected.txt:
  • fast/css/transform-inline-style-remove-expected.txt:
  • fast/css/transform-inline-style-remove.html:
  • fast/css/transform-inline-style.html:
  • transitions/transitions-parsing-expected.txt:
  • transitions/transitions-parsing.html:
10:56 AM Changeset in webkit [143018] by akling@apple.com
  • 6 edits in trunk/Source/JavaScriptCore

Yarr: Use OwnPtr to make pattern/disjunction/character-class ownership clearer.
<http://webkit.org/b/109218>

Reviewed by Benjamin Poulain.

  • Let classes that manage lifetime of other objects hold on to them with OwnPtr instead of raw pointers.
  • Placed some strategic Vector::shrinkToFit(), ::reserveInitialCapacity() and ::swap().

668 kB progression on Membuster3.

  • yarr/YarrInterpreter.cpp:

(JSC::Yarr::ByteCompiler::atomParenthesesSubpatternEnd):
(JSC::Yarr::ByteCompiler::emitDisjunction):
(ByteCompiler):

  • yarr/YarrInterpreter.h:

(JSC::Yarr::BytecodePattern::BytecodePattern):
(BytecodePattern):

  • yarr/YarrJIT.cpp:

(JSC::Yarr::YarrGenerator::opCompileParenthesesSubpattern):
(JSC::Yarr::YarrGenerator::opCompileParentheticalAssertion):
(JSC::Yarr::YarrGenerator::opCompileBody):

  • yarr/YarrPattern.cpp:

(JSC::Yarr::CharacterClassConstructor::charClass):
(JSC::Yarr::YarrPatternConstructor::YarrPatternConstructor):
(JSC::Yarr::YarrPatternConstructor::reset):
(JSC::Yarr::YarrPatternConstructor::atomPatternCharacter):
(JSC::Yarr::YarrPatternConstructor::atomCharacterClassEnd):
(JSC::Yarr::YarrPatternConstructor::copyDisjunction):
(JSC::Yarr::YarrPatternConstructor::setupDisjunctionOffsets):
(JSC::Yarr::YarrPatternConstructor::checkForTerminalParentheses):
(JSC::Yarr::YarrPatternConstructor::optimizeBOL):
(JSC::Yarr::YarrPatternConstructor::containsCapturingTerms):
(JSC::Yarr::YarrPatternConstructor::optimizeDotStarWrappedExpressions):

  • yarr/YarrPattern.h:

(JSC::Yarr::PatternDisjunction::addNewAlternative):
(PatternDisjunction):
(YarrPattern):
(JSC::Yarr::YarrPattern::reset):
(JSC::Yarr::YarrPattern::newlineCharacterClass):
(JSC::Yarr::YarrPattern::digitsCharacterClass):
(JSC::Yarr::YarrPattern::spacesCharacterClass):
(JSC::Yarr::YarrPattern::wordcharCharacterClass):
(JSC::Yarr::YarrPattern::nondigitsCharacterClass):
(JSC::Yarr::YarrPattern::nonspacesCharacterClass):
(JSC::Yarr::YarrPattern::nonwordcharCharacterClass):

10:55 AM Changeset in webkit [143017] by akling@apple.com
  • 2 edits in trunk/Tools

Unbreak webkit-patch -- can't have both Committer and Contributor entry with same e-mail address.

  • Scripts/webkitpy/common/config/committers.py:
10:33 AM Changeset in webkit [143016] by jdiggs@igalia.com
  • 2 edits in trunk/Tools

Unreviewed. Add myself as a committer.

  • Scripts/webkitpy/common/config/committers.py:
10:29 AM Changeset in webkit [143015] by rniwa@webkit.org
  • 2 edits in trunk/Tools

NRWT: ML Debug Test bot is timing out after cleaning up ports
https://bugs.webkit.org/show_bug.cgi?id=109912

Reviewed by Simon Fraser.

Added more debug messgaes to diagnose the issue.

  • Scripts/webkitpy/layout_tests/controllers/manager.py:

(Manager.run):

10:28 AM Changeset in webkit [143014] by akling@apple.com
  • 3 edits in trunk/Source/WebCore

ElementData: Move leafy things out of the base class.
<http://webkit.org/b/109888>

Reviewed by Antti Koivisto.

  • Moved functions for mutating/adding/removing attributes into UniqueElementData. Attempts to modify shared element data will now fail at compile-time.
  • Removed mutableAttributeVector() and have call sites access the vector directly.
  • Move immutableAttributeArray() to ShareableElementData.
  • Move some function bodies from Element.h to Element.cpp since all clients are in there.
  • dom/Element.cpp:

(WebCore::Element::addAttributeInternal):
(WebCore::ShareableElementData::ShareableElementData):
(WebCore::UniqueElementData::makeShareableCopy):
(WebCore::UniqueElementData::addAttribute):
(WebCore::UniqueElementData::removeAttribute):
(WebCore::ElementData::reportMemoryUsage):
(WebCore::UniqueElementData::getAttributeItem):
(WebCore::UniqueElementData::attributeItem):

  • dom/Element.h:

(ElementData):
(WebCore::ShareableElementData::immutableAttributeArray):
(ShareableElementData):
(UniqueElementData):
(WebCore::ElementData::length):
(WebCore::ElementData::attributeItem):

10:27 AM Changeset in webkit [143013] by Claudio Saavedra
  • 2 edits in trunk/Tools

Unreviewed. Add myself as a committer.

  • Scripts/webkitpy/common/config/committers.py:
10:24 AM Changeset in webkit [143012] by Christophe Dumez
  • 2 edits in trunk/Tools

Unreviewed. Update Yi Shen, Antonio Gomes and Laszlo Gombos'
emails on their behalf.

  • Scripts/webkitpy/common/config/committers.py:
10:09 AM WebKit Team edited by jdiggs@igalia.com
adding myself as a committer (diff)
9:53 AM Changeset in webkit [143011] by sudarsana.nagineni@linux.intel.com
  • 3 edits in trunk/LayoutTests

Unreviewed EFL gardening.

Skip failing tests on EFL wk1 and wk2 bots.

  • platform/efl-wk2/TestExpectations:
  • platform/efl/TestExpectations:
9:31 AM Changeset in webkit [143010] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

[CSS Exclusions] Enable shape-inside support for circles
https://bugs.webkit.org/show_bug.cgi?id=109713

Patch by Hans Muller <hmuller@adobe.com> on 2013-02-15
Reviewed by Dirk Schulze.

Source/WebCore:

Removed the test that disabled circle values for shape-inside.
The remaining support for circles, which is based on rounded rectangles
whose width/height is equal to their radiusX/radiusY, has not changed.

Test: fast/exclusions/shape-inside/shape-inside-circle.html

  • rendering/ExclusionShapeInsideInfo.h:

(WebCore::ExclusionShapeInsideInfo::isEnabledFor): Now only disallows ellipse.

LayoutTests:

Added a test for circle shape-inside values.

  • fast/exclusions/shape-inside/shape-inside-circle-expected.html: Added.
  • fast/exclusions/shape-inside/shape-inside-circle.html: Added.
9:09 AM Changeset in webkit [143009] by Christophe Dumez
  • 2 edits in trunk/Source/WebCore

[Soup] Leverage new soup_cookie_jar_get_cookie_list() API
https://bugs.webkit.org/show_bug.cgi?id=109931

Reviewed by Kenneth Rohde Christiansen.

In several cases, the CookieJarSoup implementation was retrieving / copying ALL the
cookies using soup_cookie_jar_all_cookies() and then using soup_cookie_applies_to_uri()
to filter out cookies it is not interested in. This was inefficient.

In libsoup 2.40, soup_cookie_jar_get_cookie_list() was introduced to retrieve only the
cookies that apply to a given URI. This patch leverages this new API in CookieJarSoup's
getRawCookies() and deleteCookie(). This way, only the cookies we are interested in
are retrieved and copied. Libsoup does not need to iterate over all the cookies itself
because it keeps the cookies in a hash table using the host names as key.

No new tests, no behavior change.

  • platform/network/soup/CookieJarSoup.cpp:

(WebCore::getRawCookies):
(WebCore::deleteCookie):

9:09 AM Changeset in webkit [143008] by commit-queue@webkit.org
  • 6 edits in trunk/Source/WebKit2

[EFL][WK2] Use C API inside BatteryProvider and NetworkInfoProvider
https://bugs.webkit.org/show_bug.cgi?id=107821

Patch by Sudarsana Nagineni <sudarsana.nagineni@intel.com> on 2013-02-15
Reviewed by Anders Carlsson.

BatteryProvider and NetworkInfoProvider should use C API
instead of accessing the internal C++ classes directly.

  • UIProcess/API/efl/ewk_context.cpp:

(EwkContext::EwkContext):

  • UIProcess/efl/BatteryProvider.cpp:

(BatteryProvider::~BatteryProvider):
(BatteryProvider::create):
(BatteryProvider::BatteryProvider):
(BatteryProvider::didChangeBatteryStatus):

  • UIProcess/efl/BatteryProvider.h:

(BatteryProvider):

  • UIProcess/efl/NetworkInfoProvider.cpp:

(NetworkInfoProvider::create):
(NetworkInfoProvider::NetworkInfoProvider):
(NetworkInfoProvider::~NetworkInfoProvider):

  • UIProcess/efl/NetworkInfoProvider.h:

(NetworkInfoProvider):

9:07 AM Changeset in webkit [143007] by mikhail.pozdnyakov@intel.com
  • 4 edits in trunk/Source/WebKit2

[WK2][EFL]REGRESSION (r141978): ewk_view_type_check api test failing
https://bugs.webkit.org/show_bug.cgi?id=109038

Reviewed by Anders Carlsson.

EFL API is defensive by its nature and expects graceful handling of wrong function arguments
whereas webkit implementation code does not. This patch adds new 'toEwkViewChecked' function,
which provides handling of wrong arguments, to be used within EFL API layer code.

  • UIProcess/API/efl/EwkView.cpp:

(toEwkView):

EwkView* toEwkView(const Ewk_View_Smart_Data* smartData) is not exported anymore
as it's used within EwkView class only.

(EwkView::handleTouchMove):

  • UIProcess/API/efl/EwkView.h:
  • UIProcess/API/efl/ewk_view.cpp:

(toEwkViewChecked):

9:05 AM Changeset in webkit [143006] by commit-queue@webkit.org
  • 8 edits in trunk/Source/WebCore

Web Inspector: Added an option to split Elements and Sources sidebars in two panes.
https://bugs.webkit.org/show_bug.cgi?id=109298.

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

Introduced the "Split sidebar" context menu option that splits the horizontal sidebar into two panes.
The width split ratio is 1:1 by default and is preserved when the Inspector window is resized.
Elements sidebar is split into two tabbed panes, Sources sidebar is split into a pane stack and a tabbed pane.

No new tests.

  • inspector/front-end/DOMBreakpointsSidebarPane.js:

(WebInspector.DOMBreakpointsSidebarPane.Proxy.prototype._reattachBody):

  • inspector/front-end/ElementsPanel.js:

(WebInspector.ElementsPanel.get this):
(WebInspector.ElementsPanel):
(WebInspector.ElementsPanel.prototype._sidebarContextMenuEventFired):
(WebInspector.ElementsPanel.prototype._populateContextMenuForSidebar.toggleSetting):
(WebInspector.ElementsPanel.prototype.get _arrangeSidebarPanes.get this):
(WebInspector.ElementsPanel.prototype.addExtensionSidebarPane):

  • inspector/front-end/ExtensionServer.js:

(WebInspector.ExtensionServer.prototype._onCreateSidebarPane):

  • inspector/front-end/ScriptsPanel.js:

(WebInspector.ScriptsPanel):
(WebInspector.ScriptsPanel.prototype._appendUISourceCodeItems):
(WebInspector.ScriptsPanel.prototype._contextMenuEventFired):
(WebInspector.ScriptsPanel.prototype._sidebarContextMenuEventFired):
(WebInspector.ScriptsPanel.prototype._populateContextMenuForSidebar.toggleSetting):
(WebInspector.ScriptsPanel.prototype.get _arrangeSidebarPanes.get this):

  • inspector/front-end/SidebarPane.js:

(WebInspector.SidebarPane):
(WebInspector.SidebarPane.prototype.expand):
(WebInspector.SidebarPane.prototype.onContentReady):
(WebInspector.SidebarPane.prototype._setExpandCallback):
(WebInspector.SidebarPane.prototype.wasShown):
(WebInspector.SidebarPaneTitle):
(WebInspector.SidebarPaneTitle.prototype._expand):
(WebInspector.SidebarPaneTitle.prototype._collapse):
(WebInspector.SidebarPaneTitle.prototype._toggleExpanded):
(WebInspector.SidebarPaneTitle.prototype._onTitleKeyDown):
(WebInspector.SidebarPaneStack):
(WebInspector.SidebarPaneStack.prototype.addPane):
(WebInspector.SidebarTabbedPane):
(WebInspector.SidebarTabbedPane.prototype.addPane):

  • inspector/front-end/SidebarView.js:
  • inspector/front-end/SplitView.js:

(WebInspector.SplitView):
(WebInspector.SplitView.prototype.get mainElement):
(WebInspector.SplitView.prototype.get sidebarElement):

8:53 AM Changeset in webkit [143005] by vsevik@chromium.org
  • 5 edits in trunk

Web Inspector: Several consecutive Backspace or Delete strikes should not be marked as undoable state.
https://bugs.webkit.org/show_bug.cgi?id=109915

Reviewed by Pavel Feldman.

Source/WebCore:

Extracted _isEditRangeUndoBoundary() and _isEditRangeAdjacentToLastCommand() in TextEditorModel
to detect if markUndoableState() call is needed before and after editRange.

  • inspector/front-end/TextEditorModel.js:

(WebInspector.TextRange.prototype.immediatelyPrecedes):
(WebInspector.TextRange.prototype.immediatelyFollows):
(WebInspector.TextEditorModel.endsWithBracketRegex.):

LayoutTests:

  • inspector/editor/text-editor-undo-redo-expected.txt:
  • inspector/editor/text-editor-undo-redo.html:
8:49 AM Changeset in webkit [143004] by Christophe Dumez
  • 10 edits
    6 deletes in trunk/Source/WebKit2

[EFL][WK2] Have WebView subclass PageClient
https://bugs.webkit.org/show_bug.cgi?id=109684

Reviewed by Anders Carlsson.

Stop constructing the PageClient in EwkView. PageClient is an internal
class and we should not use it directly in our Ewk implementation.
Instead, have WebView subclass PageClient. The PageClient implementation
just calls WebView methods otherwise.

  • PlatformEfl.cmake:
  • UIProcess/API/efl/EwkView.cpp:

(EwkView::EwkView):
(EwkView::setSize):

  • UIProcess/API/efl/EwkView.h:

(WebKit):
(EwkView):
(EwkView::webView):

  • UIProcess/API/efl/ewk_view.cpp:
  • UIProcess/efl/PageClientBase.cpp: Removed.
  • UIProcess/efl/PageClientBase.h: Removed.
  • UIProcess/efl/PageClientDefaultImpl.cpp: Removed.
  • UIProcess/efl/PageClientDefaultImpl.h: Removed.
  • UIProcess/efl/PageClientLegacyImpl.cpp: Removed.
  • UIProcess/efl/PageClientLegacyImpl.h: Removed.
  • UIProcess/efl/PageLoadClientEfl.cpp:

(WebKit::PageLoadClientEfl::didCommitLoadForFrame):

  • UIProcess/efl/PageViewportControllerClientEfl.h:
  • UIProcess/efl/WebPageProxyEfl.cpp:

(WebKit::WebPageProxy::viewWidget):

  • UIProcess/efl/WebView.cpp:

(WebKit::WebView::WebView):
(WebKit::WebView::~WebView):
(WebKit::WebView::initialize):
(WebKit):
(WebKit::WebView::evasObject):
(WebKit::WebView::setThemePath):
(WebKit::WebView::setDrawsBackground):
(WebKit::WebView::drawsBackground):
(WebKit::WebView::setDrawsTransparentBackground):
(WebKit::WebView::drawsTransparentBackground):
(WebKit::WebView::suspendActiveDOMObjectsAndAnimations):
(WebKit::WebView::resumeActiveDOMObjectsAndAnimations):
(WebKit::WebView::didCommitLoad):
(WebKit::WebView::updateViewportSize):
(WebKit::WebView::didChangeContentsSize):
(WebKit::WebView::createDrawingAreaProxy):
(WebKit::WebView::setViewNeedsDisplay):
(WebKit::WebView::displayView):
(WebKit::WebView::scrollView):
(WebKit::WebView::viewSize):
(WebKit::WebView::isViewWindowActive):
(WebKit::WebView::isViewFocused):
(WebKit::WebView::isViewVisible):
(WebKit::WebView::isViewInWindow):
(WebKit::WebView::processDidCrash):
(WebKit::WebView::didRelaunchProcess):
(WebKit::WebView::pageClosed):
(WebKit::WebView::toolTipChanged):
(WebKit::WebView::setCursor):
(WebKit::WebView::setCursorHiddenUntilMouseMoves):
(WebKit::WebView::registerEditCommand):
(WebKit::WebView::clearAllEditCommands):
(WebKit::WebView::canUndoRedo):
(WebKit::WebView::executeUndoRedo):
(WebKit::WebView::screenToWindow):
(WebKit::WebView::windowToScreen):
(WebKit::WebView::doneWithKeyEvent):
(WebKit::WebView::doneWithTouchEvent):
(WebKit::WebView::createPopupMenuProxy):
(WebKit::WebView::createContextMenuProxy):
(WebKit::WebView::createColorChooserProxy):
(WebKit::WebView::setFindIndicator):
(WebKit::WebView::enterAcceleratedCompositingMode):
(WebKit::WebView::exitAcceleratedCompositingMode):
(WebKit::WebView::updateAcceleratedCompositingMode):
(WebKit::WebView::didCommitLoadForMainFrame):
(WebKit::WebView::didFinishLoadingDataForCustomRepresentation):
(WebKit::WebView::customRepresentationZoomFactor):
(WebKit::WebView::setCustomRepresentationZoomFactor):
(WebKit::WebView::flashBackingStoreUpdates):
(WebKit::WebView::findStringInCustomRepresentation):
(WebKit::WebView::countStringMatchesInCustomRepresentation):
(WebKit::WebView::updateTextInputState):
(WebKit::WebView::handleDownloadRequest):
(WebKit::WebView::convertToDeviceSpace):
(WebKit::WebView::convertToUserSpace):
(WebKit::WebView::didChangeViewportProperties):
(WebKit::WebView::pageDidRequestScroll):
(WebKit::WebView::didRenderFrame):
(WebKit::WebView::pageTransitionViewportReady):

  • UIProcess/efl/WebView.h:

(WebKit):
(WebView):
(WebKit::WebView::pageRef):
(WebKit::WebView::page):
(WebKit::WebView::canScrollView):

8:26 AM Changeset in webkit [143003] by aandrey@chromium.org
  • 2 edits in trunk/Source/WebCore

Fix inconsistency in WebGLRenderingContext.idl for getAttribLocation
https://bugs.webkit.org/show_bug.cgi?id=109892

Reviewed by Kentaro Hara.

  • html/canvas/WebGLRenderingContext.idl:
8:21 AM Changeset in webkit [143002] by sudarsana.nagineni@linux.intel.com
  • 2 edits in trunk/LayoutTests

Unreviewed EFL gardening.

Skip failing WebGL conformance tests added in r142851.

  • platform/efl-wk2/TestExpectations:
8:12 AM Changeset in webkit [143001] by kov@webkit.org
  • 2 edits in trunk

Unreviewed build fix.

  • Source/autotools/SetupLibtool.m4: Move AR_FLAGS definition so it comes before dolt

and libtool initialization, thus having an effect once again.

7:56 AM Changeset in webkit [143000] by aandrey@chromium.org
  • 12 edits
    2 adds in trunk

Web Inspector: [Canvas] show replay log grouped by draw calls
https://bugs.webkit.org/show_bug.cgi?id=109592

Reviewed by Pavel Feldman.

Source/WebCore:

Show canvas capturing log grouped by drawing calls.
Drive-by: extended Array.prototype with a handy peekLast function.
Drive-by: removed code dups in few places.

  • inspector/front-end/CanvasProfileView.js:

(WebInspector.CanvasProfileView):
(WebInspector.CanvasProfileView.prototype.dispose):
(WebInspector.CanvasProfileView.prototype._onReplayStepClick):
(WebInspector.CanvasProfileView.prototype._onReplayDrawingCallClick):
(WebInspector.CanvasProfileView.prototype._onReplayLastStepClick):
(WebInspector.CanvasProfileView.prototype._replayTraceLog.didReplayTraceLog):
(WebInspector.CanvasProfileView.prototype._replayTraceLog):
(WebInspector.CanvasProfileView.prototype._didReceiveTraceLog):
(WebInspector.CanvasProfileView.prototype._selectedCallIndex):
(WebInspector.CanvasProfileView.prototype._selectedDrawCallGroupIndex):
(WebInspector.CanvasProfileView.prototype._appendCallNode):

  • inspector/front-end/DataGrid.js:

(WebInspector.DataGrid.prototype.setColumnVisible):
(WebInspector.DataGridNode.prototype.set hasChildren):
(WebInspector.DataGridNode.prototype.set revealed):
(WebInspector.DataGridNode.prototype.get leftPadding):

  • inspector/front-end/externs.js:

(Array.prototype.peekLast):

  • inspector/front-end/utilities.js:

LayoutTests:

A test to dump canvas replay log.

  • inspector/profiler/canvas2d/canvas-replay-log-grid-expected.txt: Added.
  • inspector/profiler/canvas2d/canvas-replay-log-grid.html: Added.
7:47 AM Changeset in webkit [142999] by yurys@chromium.org
  • 3 edits in trunk/Source/WebCore

Web Inspector: highlight record revealed in Timeline
https://bugs.webkit.org/show_bug.cgi?id=109930

Reviewed by Pavel Feldman.

Revealed timeline record is now highlighted with yellow background
that fades out in 2 seconds.

  • inspector/front-end/TimelinePanel.js:

(WebInspector.TimelinePanel.prototype._revealRecord):
(WebInspector.TimelinePanel.prototype._refreshRecords):
(WebInspector.TimelinePanel.prototype._clearRecordHighlight):

  • inspector/front-end/timelinePanel.css:

(.highlighted-timeline-record):
(@-webkit-keyframes timeline_record_highlight):
(to):

7:45 AM Changeset in webkit [142998] by vsevik@chromium.org
  • 6 edits in trunk

Web Inspector: Pass original selection to textModel to correctly restore it after undo.
https://bugs.webkit.org/show_bug.cgi?id=109911

Reviewed by Pavel Feldman.

Source/WebCore:

We can distinguish backspace pressed with and without selection now.

  • inspector/front-end/DefaultTextEditor.js:

(WebInspector.TextEditorMainPanel.prototype._applyDomUpdates):
(WebInspector.DefaultTextEditor.WordMovementController.prototype._handleCtrlBackspace):

  • inspector/front-end/TextEditorModel.js:

(WebInspector.TextEditorCommand):
(WebInspector.TextEditorModel.endsWithBracketRegex.):

LayoutTests:

  • inspector/editor/text-editor-undo-redo-expected.txt:
  • inspector/editor/text-editor-undo-redo.html:
7:33 AM Changeset in webkit [142997] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit2

[Qt] Restore URL Scheme Delegates after QtWebProcess crash
https://bugs.webkit.org/show_bug.cgi?id=108808

When the QtWebProcess crashes, the registered URL Scheme
Delegates are not properly restored over IPC in the newly
launched process instance.

Patch by Milian Wolff <milian.wolff@kdab.com> on 2013-02-15
Reviewed by Simon Hausmann.

  • UIProcess/API/qt/qquickwebview.cpp:

(QQuickWebViewPrivate::didRelaunchProcess):
(QQuickWebViewPrivate::updateSchemeDelegates):

  • UIProcess/API/qt/qquickwebview_p_p.h:

(QQuickWebViewPrivate):

7:25 AM Changeset in webkit [142996] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

[BlackBerry] Remove redundant requireAuth parameter of NetworkJob::notifyAuthReceived
https://bugs.webkit.org/show_bug.cgi?id=109855

Patch by Joe Mason <jmason@rim.com> on 2013-02-15
Reviewed by Yong Li.

Internal PR: 296697
Internally Reviewed By: Leo Yang

Code cleanup: The requireAuth parameter of NetworkJob::notifyAuthReceived is redundant as its value
can be determined from "result" - if result is AuthResultRetry, requireAuth is false, otherwise it
is true.

No new tests as there is no behaviour change.

  • platform/network/blackberry/NetworkJob.cpp:

(WebCore::NetworkJob::notifyAuthReceived):

  • platform/network/blackberry/NetworkJob.h:

(NetworkJob):

7:03 AM QtWebKitBuildBots edited by Csaba Osztrogonác
(diff)
6:56 AM Changeset in webkit [142995] by atwilson@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed chromium rebaselines for r142947.

  • platform/chromium-mac/media/track/track-cue-rendering-vertical-expected.png:
6:55 AM Changeset in webkit [142994] by vsevik@chromium.org
  • 4 edits in trunk

Web Inspector: Redo in text editor should always collapse selection to end.
https://bugs.webkit.org/show_bug.cgi?id=109907

Reviewed by Pavel Feldman.

Source/WebCore:

  • inspector/front-end/TextEditorModel.js:

(WebInspector.TextEditorModel.endsWithBracketRegex.):

LayoutTests:

  • inspector/editor/text-editor-undo-redo-expected.txt:
6:53 AM Changeset in webkit [142993] by sudarsana.nagineni@linux.intel.com
  • 2 edits in trunk/LayoutTests

Unreviewed EFL gardening.

Skip failing tests after r142947.

  • platform/efl/TestExpectations:
6:42 AM Changeset in webkit [142992] by atwilson@chromium.org
  • 46 edits
    1 add in trunk/LayoutTests

Unreviewed chromium expectations changes for r142947.

  • platform/chromium-mac-lion/media/audio-repaint-expected.png:
  • platform/chromium-mac-lion/media/controls-after-reload-expected.png:
  • platform/chromium-mac-lion/media/controls-strict-expected.png:
  • platform/chromium-mac-lion/media/controls-styling-expected.png:
  • platform/chromium-mac-lion/media/controls-styling-strict-expected.png:
  • platform/chromium-mac-lion/media/controls-without-preload-expected.png:
  • platform/chromium-mac-lion/media/media-document-audio-repaint-expected.png:
  • platform/chromium-mac-lion/media/track/track-cue-rendering-horizontal-expected.png: Added.
  • platform/chromium-mac-lion/media/video-controls-rendering-expected.png:
  • platform/chromium-mac-lion/media/video-display-toggle-expected.png:
  • platform/chromium-mac-lion/media/video-playing-and-pause-expected.png:
  • platform/chromium-mac-snowleopard/media/audio-repaint-expected.png:
  • platform/chromium-mac-snowleopard/media/controls-after-reload-expected.png:
  • platform/chromium-mac-snowleopard/media/controls-strict-expected.png:
  • platform/chromium-mac-snowleopard/media/controls-styling-expected.png:
  • platform/chromium-mac-snowleopard/media/controls-styling-strict-expected.png:
  • platform/chromium-mac-snowleopard/media/controls-without-preload-expected.png:
  • platform/chromium-mac-snowleopard/media/media-document-audio-repaint-expected.png:
  • platform/chromium-mac-snowleopard/media/track/track-cue-rendering-horizontal-expected.png:
  • platform/chromium-mac-snowleopard/media/video-controls-rendering-expected.png:
  • platform/chromium-mac-snowleopard/media/video-display-toggle-expected.png:
  • platform/chromium-mac-snowleopard/media/video-playing-and-pause-expected.png:
  • platform/chromium-mac/media/audio-repaint-expected.png:
  • platform/chromium-mac/media/controls-after-reload-expected.png:
  • platform/chromium-mac/media/controls-strict-expected.png:
  • platform/chromium-mac/media/controls-styling-expected.png:
  • platform/chromium-mac/media/controls-styling-strict-expected.png:
  • platform/chromium-mac/media/controls-without-preload-expected.png:
  • platform/chromium-mac/media/media-document-audio-repaint-expected.png:
  • platform/chromium-mac/media/track/track-cue-rendering-horizontal-expected.png:
  • platform/chromium-mac/media/video-controls-rendering-expected.png:
  • platform/chromium-mac/media/video-display-toggle-expected.png:
  • platform/chromium-mac/media/video-playing-and-pause-expected.png:
  • platform/chromium-mac/media/video-zoom-controls-expected.txt:
  • platform/chromium-win/media/audio-repaint-expected.png:
  • platform/chromium-win/media/controls-after-reload-expected.png:
  • platform/chromium-win/media/controls-strict-expected.png:
  • platform/chromium-win/media/controls-styling-expected.png:
  • platform/chromium-win/media/controls-styling-strict-expected.png:
  • platform/chromium-win/media/controls-without-preload-expected.png:
  • platform/chromium-win/media/media-document-audio-repaint-expected.png:
  • platform/chromium-win/media/track/track-cue-rendering-horizontal-expected.png:
  • platform/chromium-win/media/video-controls-rendering-expected.png:
  • platform/chromium-win/media/video-display-toggle-expected.png:
  • platform/chromium-win/media/video-playing-and-pause-expected.png:
  • platform/chromium/TestExpectations:
6:38 AM Changeset in webkit [142991] by kadam@inf.u-szeged.hu
  • 6 edits in trunk/LayoutTests

[Qt] Unreviewed gardening. Skip failing tests.

  • platform/qt/TestExpectations:
  • platform/qt/fast/replaced/width100percent-image-expected.png: Added after r142931.
  • platform/qt/fast/replaced/width100percent-image-expected.txt: Added after r142931.
  • platform/qt/tables/mozilla_expected_failures/bugs/bug85016-expected.png: Added after r142931.
  • platform/qt/tables/mozilla_expected_failures/bugs/bug85016-expected.txt: Added after r142931.
6:20 AM Changeset in webkit [142990] by sudarsana.nagineni@linux.intel.com
  • 5 edits
    1 delete in trunk/LayoutTests

Unreviewed EFL gardening.

Rebaselining after r142931 and r142759.

  • platform/efl/fast/replaced/width100percent-image-expected.png:
  • platform/efl/fast/replaced/width100percent-image-expected.txt:
  • platform/efl/svg/dom/SVGLengthList-basics-expected.txt: Removed.
  • platform/efl/tables/mozilla_expected_failures/bugs/bug85016-expected.png:
  • platform/efl/tables/mozilla_expected_failures/bugs/bug85016-expected.txt:
6:15 AM Changeset in webkit [142989] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[v8] persistent handle dispose before last use
https://bugs.webkit.org/show_bug.cgi?id=109927

Patch by Dan Carney <dcarney@google.com> on 2013-02-15
Reviewed by Jochen Eisinger.

No new tests. No change in functionality.

  • bindings/v8/ScriptWrappable.h:

(WebCore::ScriptWrappable::weakCallback):

6:05 AM Changeset in webkit [142988] by keishi@webkit.org
  • 15 edits in trunk/Source

PagePopupController.formatMonth should support short month format
https://bugs.webkit.org/show_bug.cgi?id=109530

Reviewed by Kent Tamura.

Source/WebCore:

PagePopupController.formatMonth should support short month format so we
can use it in the new calendar picker.

Tested by LocaleMacTest::formatMonth.

  • page/PagePopupController.cpp:

(WebCore::PagePopupController::formatMonth): Take an extra bool argument to switch to short month format.

  • page/PagePopupController.h:

(PagePopupController):

  • page/PagePopupController.idl:
  • platform/text/LocaleICU.cpp:

(WebCore::LocaleICU::shortMonthFormat):
(WebCore):

  • platform/text/LocaleICU.h:

(LocaleICU):

  • platform/text/LocaleNone.cpp:

(WebCore::shortMonthFormat):
(WebCore):

  • platform/text/PlatformLocale.cpp:

(WebCore::DateTimeStringBuilder::visitField):
(WebCore::Locale::formatDateTime):

  • platform/text/PlatformLocale.h:

(Locale):

  • platform/text/mac/LocaleMac.h:

(LocaleMac):

  • platform/text/mac/LocaleMac.mm:

(WebCore::LocaleMac::shortMonthFormat):
(WebCore):

  • platform/text/win/LocaleWin.cpp:

(WebCore::LocaleWin::shortMonthFormat): Windows doesn't have a short
month format so we just replace MMMM with MMM.
(WebCore):

  • platform/text/win/LocaleWin.h:

(LocaleWin):

Source/WebKit/chromium:

  • tests/LocaleMacTest.cpp:

(LocaleMacTest::formatMonth):
(TEST_F):

5:36 AM Changeset in webkit [142987] by keishi@webkit.org
  • 21 edits in trunk

Add setValue and closePopup methods to PagePopupController
https://bugs.webkit.org/show_bug.cgi?id=109897

Reviewed by Kent Tamura.

.:

  • ManualTests/forms/calendar-picker.html: Added mock setValue and closePopup implementation.
  • ManualTests/forms/color-suggestion-picker.html: Ditto.

Source/WebCore:

The new calendar picker (Bug 109439) needs to set a value without
closing the popup. We can't do that with the existing
setValueAndClosePopup.

No new tests. Existing calendar picker and color suggestion picker tests
that closing and setting values work properly.

  • Resources/pagepopups/pickerCommon.js:

(Picker.prototype.submitValue): Stop using setValueAndClosePopup.
(Picker.prototype.handleCancel): Ditto.

  • page/PagePopupClient.h:

(PagePopupClient):

  • page/PagePopupController.cpp:

(WebCore::PagePopupController::setValue): Sets value to element without closing popup.
(WebCore):
(WebCore::PagePopupController::closePopup): Just closes popup.

  • page/PagePopupController.h:

(PagePopupController):

  • page/PagePopupController.idl:

Source/WebKit/blackberry:

  • WebCoreSupport/ColorPickerClient.cpp:

(WebCore::ColorPickerClient::setValue): Added empty implementation.
(WebCore):

  • WebCoreSupport/ColorPickerClient.h:

(ColorPickerClient):

  • WebCoreSupport/DatePickerClient.cpp:

(WebCore::DatePickerClient::setValue): Ditto.
(WebCore):

  • WebCoreSupport/DatePickerClient.h:

(DatePickerClient):

  • WebCoreSupport/SelectPopupClient.cpp:

(WebCore::SelectPopupClient::setValue): Ditto.
(WebCore):

  • WebCoreSupport/SelectPopupClient.h:

(SelectPopupClient):

Source/WebKit/chromium:

  • src/ColorChooserPopupUIController.cpp:

(WebKit::ColorChooserPopupUIController::setValue):
(WebKit):

  • src/ColorChooserPopupUIController.h:

(ColorChooserPopupUIController):

  • src/DateTimeChooserImpl.cpp:

(WebKit::DateTimeChooserImpl::setValueAndClosePopup): Use setValue and closePopup.
(WebKit):
(WebKit::DateTimeChooserImpl::setValue):
(WebKit::DateTimeChooserImpl::closePopup):

  • src/DateTimeChooserImpl.h:

(DateTimeChooserImpl):

5:18 AM Changeset in webkit [142986] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/LayoutTests

Unreviewed EFL WK1 gardening.

EFL WK1 doesn't support WebGL conformance tests which were added by r142847.

  • platform/efl-wk1/TestExpectations: Skipped WebGL conformance tests.
5:04 AM Changeset in webkit [142985] by atwilson@chromium.org
  • 1 edit
    2 moves
    1 add in trunk/LayoutTests

Unreviewed chromium expectations update for r142955.

  • platform/chromium-mac/svg/filters/filter-hidden-content-expected.png: Added.
  • platform/chromium-win/svg/filters/filter-hidden-content-expected.png: Renamed from LayoutTests/platform/chromium-linux/svg/filters/filter-hidden-content-expected.png.
  • platform/chromium/svg/filters/filter-hidden-content-expected.txt: Renamed from LayoutTests/platform/chromium-linux/svg/filters/filter-hidden-content-expected.txt.
5:00 AM Changeset in webkit [142984] by mihnea@adobe.com
  • 10 edits in trunk

[CSS Regions] RenderRegion should inherit from RenderBlock
https://bugs.webkit.org/show_bug.cgi?id=74132

Reviewed by Julien Chaffraix.

Source/WebCore:

Change the base class for RenderRegion to be RenderBlock instead of RenderReplaced.
Per spec http://dev.w3.org/csswg/css3-regions/#the-flow-from-property, a region is a non-replaced block container.
This change is covered by the existing regions tests (in fast/region and fast/repaint).

The RenderFlowThread object is a self-painting layer (it requires layer and is positioned).
Because of that, the RenderFlowThread object is responsible for painting its children,
the collected objects. When the RenderRegion::paintObject is called during paint, it delegates painting
of content collected inside the flow thread to the associated RenderFlowThread object.
Since we do not want to paint the flow thread content multiple times (for each paint phase
in which the RenderRegion::paintObject is called), we allow RenderFlowThread painting only for
selection and foreground paint phases.

  • rendering/RenderBox.cpp: Clean-up the code from regions specific stuff, now that the regions are render blocks.

(WebCore::RenderBox::computePositionedLogicalWidth):
(WebCore::RenderBox::computePositionedLogicalHeight):

  • rendering/RenderLayerBacking.cpp: A region should always render content from its associated flow thread,

even when it does not have children of its own.
(WebCore::RenderLayerBacking::isSimpleContainerCompositingLayer):

  • rendering/RenderMultiColumnSet.cpp: Make changes to match the new inheritance for RenderRegion.

(WebCore::RenderMultiColumnSet::paint):
(WebCore::RenderMultiColumnSet::paintColumnRules):

  • rendering/RenderMultiColumnSet.h:
  • rendering/RenderRegion.cpp:

(WebCore::RenderRegion::RenderRegion):
(WebCore::RenderRegion::paintObject):
(WebCore::RenderRegion::styleDidChange):
(WebCore::RenderRegion::layoutBlock):
(WebCore::RenderRegion::insertedIntoTree):
(WebCore::RenderRegion::willBeRemovedFromTree):
(WebCore::RenderRegion::computePreferredLogicalWidths): Use this method instead of min/maxPreferredLogicalWidth.
(WebCore::RenderRegion::updateLogicalHeight):

  • rendering/RenderRegion.h: For now, assume the region is not allowed to have children.

When we will implement the processing model for pseudo-elements http://dev.w3.org/csswg/css3-regions/#processing-model,
we will have to remove this function. By having this function return false i was able to leave some tests unchanged.

LayoutTests:

Fix tests that were failing after the inheritance change.

  • fast/regions/flows-dependency-dynamic-remove.html: As a block, an empty region can self collapse,

which was not possible for a replaced element. I used '-webkit-margin-collapse: separate' to prevent
margins self collapsing for body and avoid recreating the expectations.
I want regions margins to be able to self collapse, just like the other block elements.

  • fast/regions/flows-dependency-same-flow.html: Ditto.
4:30 AM Changeset in webkit [142983] by commit-queue@webkit.org
  • 9 edits
    2 adds in trunk

Web Inspector: implement smart braces functionality
https://bugs.webkit.org/show_bug.cgi?id=109200

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

Source/WebCore:

  • implement SmartBraceController which will handle character insertions

and override them if brace character was inserted. Additionally it
should handle Backspace key and override it if a cursor is located
inside of a bracket pair.

  • guard smart brace functionality via experiment checkbox.

New test: inspector/editor/text-editor-smart-braces.html

  • inspector/front-end/DefaultTextEditor.js:

(WebInspector.TextEditorMainPanel):
(WebInspector.TextEditorMainPanel.prototype._registerShortcuts):
(WebInspector.TextEditorMainPanel.prototype._handleKeyPress):
(WebInspector.TextEditorMainPanel.SmartBraceController):
(WebInspector.TextEditorMainPanel.SmartBraceController.prototype.registerShortcuts):
(WebInspector.TextEditorMainPanel.SmartBraceController.prototype.registerCharOverrides):
(WebInspector.TextEditorMainPanel.SmartBraceController.prototype._handleBackspace):
(WebInspector.TextEditorMainPanel.SmartBraceController.prototype._handleBracePairInsertion):
(WebInspector.TextEditorMainPanel.SmartBraceController.prototype._handleClosingBraceOverride):

  • inspector/front-end/Settings.js:

(WebInspector.ExperimentsSettings):

Tools:

Fix eventSender.keyDown implementation to correctly process opening
round brace symbol.

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

(WebTestRunner):
(WebTestRunner::EventSender::keyDown):

LayoutTests:

  • inspector/editor/text-editor-smart-braces-expected.txt: Added.
  • inspector/editor/text-editor-smart-braces.html: Added.
  • platform/efl/TestExpectations:
  • platform/mac/TestExpectations:
  • platform/qt/TestExpectations:
4:28 AM Changeset in webkit [142982] by commit-queue@webkit.org
  • 7 edits in trunk

[CSS Regions][Mac] fast/regions/full-screen-video-from-region.html hits an assertion in RenderFlowThread::removeRenderBoxRegionInfo
https://bugs.webkit.org/show_bug.cgi?id=106075

Patch by Andrei Bucur <abucur@adobe.com> on 2013-02-15
Reviewed by Tony Chang.

Source/WebCore:

The crash is caused by two issues.

The first problem is how a block inside a flow thread determines if the children needs relayout or not.
When the region chain is invalidated, the information is lost so we need to return true, even for the
enclosing RenderFlowThread. Because the video renderer is the first child of the flow thread this doesn't
happen.

The patch implements this behaviour by inspecting both if the region chain has changed and
if the block has no range computed yet.

The second problem is RenderMedia not inheriting from RenderBlock. The logic of child relayout doesn't apply
to it. In the test case, when the full screen button is pressed, the region changes width to fill the viewport,
the chain is invalidated and the box info hash map is cleared. When the video is laid out again (after fixing
the first issue) it has the same size so the controls don't do a layout. They remain without box info inside
the flow thread, thus causing the assertion.

The patch forces the controls to relayout if the region chain was invalidated. We can't use the
logicalWidthChangedInRegions method because it is block specific. This will be fixed in a later patch.

Tests: No new tests. fast/regions/full-screen-video-from-region.html no longer crashes.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::checkForPaginationLogicalHeightChange):

  • rendering/RenderFlowThread.cpp:

(WebCore::RenderFlowThread::RenderFlowThread):
(WebCore::RenderFlowThread::layout):
(WebCore::RenderFlowThread::logicalWidthChangedInRegions):

  • rendering/RenderFlowThread.h: Renamed pageLogicalHeightChanged to pageLogicalSizeChanged.
  • rendering/RenderMedia.cpp:

(WebCore::RenderMedia::layout):

LayoutTests:

Removed the crash/fail expectation for fast/regions/full-screen-video-from-region.html.

  • platform/mac/TestExpectations:
4:25 AM Changeset in webkit [142981] by atwilson@chromium.org
  • 10 edits
    2 copies
    1 move
    1 delete in trunk/LayoutTests

Unreviewed chromium expectation changes after r142931.

  • platform/chromium-mac-lion/fast/replaced/width100percent-image-expected.png:
  • platform/chromium-mac-lion/fast/replaced/width100percent-image-expected.txt: Copied from LayoutTests/platform/chromium-mac/fast/replaced/width100percent-image-expected.txt.
  • platform/chromium-mac-lion/tables/mozilla_expected_failures/bugs/bug85016-expected.png:
  • platform/chromium-mac-snowleopard/fast/replaced/width100percent-image-expected.png:
  • platform/chromium-mac-snowleopard/fast/replaced/width100percent-image-expected.txt: Copied from LayoutTests/platform/chromium-mac/fast/replaced/width100percent-image-expected.txt.
  • platform/chromium-mac-snowleopard/tables/mozilla_expected_failures/bugs/bug85016-expected.png:
  • platform/chromium-mac/fast/replaced/width100percent-image-expected.png:
  • platform/chromium-mac/fast/replaced/width100percent-image-expected.txt:
  • platform/chromium-mac/tables/mozilla_expected_failures/bugs/bug85016-expected.png:
  • platform/chromium-mac/tables/mozilla_expected_failures/bugs/bug85016-expected.txt: Removed.
  • platform/chromium-win/fast/replaced/width100percent-image-expected.png:
  • platform/chromium-win/tables/mozilla_expected_failures/bugs/bug85016-expected.png:
  • tables/mozilla_expected_failures/bugs/bug85016-expected.txt: Renamed from LayoutTests/platform/mac/tables/mozilla_expected_failures/bugs/bug85016-expected.txt.
4:18 AM Changeset in webkit [142980] by zandobersek@gmail.com
  • 3 edits
    1 add in trunk/LayoutTests

Unreviewed GTK gardening.

  • platform/gtk/TestExpectations: Adding expectations for tests that need checking after r142947.
  • platform/gtk/fast/replaced/width100percent-image-expected.txt: Added. Rebaselining after r142931.
  • platform/gtk/tables/mozilla_expected_failures/bugs/bug85016-expected.txt: Ditto.
4:09 AM Changeset in webkit [142979] by allan.jensen@digia.com
  • 7 edits
    2 adds in trunk

Source/WebCore: [CoordGfx] Regression from r135212: big layers with transform animations sometime fail to render tiles
https://bugs.webkit.org/show_bug.cgi?id=109179

Reviewed by Jocelyn Turcotte.

Fix adjustForContentsRect logic for AC layers that are higher or wider than the visible rect.

Force updates of the visible rect while it is animating, and until we have done one last update after
it stops animating.

Test: compositing/transitions/transform-on-large-layer.html

  • platform/graphics/TiledBackingStore.cpp:

(WebCore::TiledBackingStore::adjustForContentsRect):
(WebCore::TiledBackingStore::computeCoverAndKeepRect):

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

(WebCore::CoordinatedGraphicsLayer::CoordinatedGraphicsLayer):
(WebCore::CoordinatedGraphicsLayer::flushCompositingStateForThisLayerOnly):
(WebCore::CoordinatedGraphicsLayer::computePixelAlignment):
(WebCore::CoordinatedGraphicsLayer::computeTransformedVisibleRect):

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

(CoordinatedGraphicsLayer):

LayoutTests: [CoordGfx] Regression from r135212: big layers with transform animations sometime fail to render tiles.
https://bugs.webkit.org/show_bug.cgi?id=109179

Reviewed by Jocelyn Turcotte.

Test of a large layer with an animated transform. Skipped on WK1 due to resize event not firing in DRT.

  • compositing/transitions/transform-on-large-layer-expected.html: Added.
  • compositing/transitions/transform-on-large-layer.html: Added.
  • platform/mac/TestExpectations:
  • platform/qt-5.0-wk1/TestExpectations:
3:40 AM Changeset in webkit [142978] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Unreviewed, rolling out r142876.
http://trac.webkit.org/changeset/142876
https://bugs.webkit.org/show_bug.cgi?id=109920

Broke relative URL linkification in the computed styles pane
(Requested by apavlov on #webkit).

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

  • inspector/front-end/StylesSidebarPane.js:

(WebInspector.StylesSidebarPane.prototype._rebuildSectionsForStyleRules):

2:46 AM Changeset in webkit [142977] by allan.jensen@digia.com
  • 46 edits in trunk

Simplify hitTestResultAtPoint and nodesFromRect APIs
https://bugs.webkit.org/show_bug.cgi?id=95720

.:

Reviewed by Julien Chaffraix.

Update exported symbols.

  • Source/autotools/symbols.filter:

Source/WebCore:

Reviewed by Julien Chaffraix.

The existing API was overloaded and could be simplified by passing all the bool arguments in
a HitTestRequest argument. This should also help clarify the call as the enum values explicitely
state what they do.

  • WebCore.exp.in:
  • WebCore.order:
  • dom/Document.cpp:

(WebCore::Document::nodesFromRect):

  • dom/Document.h:

(Document):

  • page/ContextMenuController.cpp:

(WebCore::ContextMenuController::createContextMenu):

  • page/DragController.cpp:

(WebCore::DragController::canProcessDrag):
(WebCore::DragController::startDrag):

  • page/EventHandler.cpp:

(WebCore::EventHandler::hitTestResultAtPoint):
(WebCore::EventHandler::handleMousePressEvent):
(WebCore::EventHandler::handleGestureEvent):
(WebCore::EventHandler::handleGestureForTextSelectionOrContextMenu):
(WebCore::EventHandler::bestClickableNodeForTouchPoint):
(WebCore::EventHandler::bestContextMenuNodeForTouchPoint):
(WebCore::EventHandler::bestZoomableAreaForTouchPoint):
(WebCore::EventHandler::handleTouchEvent):

  • page/EventHandler.h:

(WebCore):
(EventHandler):

  • page/FocusController.cpp:

(WebCore::updateFocusCandidateIfNeeded):

  • page/Frame.cpp:

(WebCore::Frame::visiblePositionForPoint):
(WebCore::Frame::documentAtPoint):

  • page/TouchDisambiguation.cpp:

(WebCore::findGoodTouchTargets):

  • rendering/HitTestRequest.h:

(WebCore::HitTestRequest::allowsFrameScrollbars):

  • testing/Internals.cpp:

(WebCore::Internals::nodesFromRect):

Source/WebKit/blackberry:

Reviewed by Julien Chaffraix.

Update calls to new API.

  • Api/WebPage.cpp:

(BlackBerry::WebKit::WebPagePrivate::contextNode):
(BlackBerry::WebKit::WebPagePrivate::nodeForZoomUnderPoint):
(BlackBerry::WebKit::WebPagePrivate::handleMouseEvent):
(BlackBerry::WebKit::WebPage::nodeAtDocumentPoint):
(BlackBerry::WebKit::WebPagePrivate::hitTestResult):

  • WebKitSupport/SelectionHandler.cpp:

(BlackBerry::WebKit::visiblePositionForPointIgnoringClipping):

Source/WebKit/chromium:

Reviewed by Julien Chaffraix.

Update calls to new API.

  • src/ContextMenuClientImpl.cpp:

(WebKit::selectMisspelledWord):

  • src/FrameLoaderClientImpl.cpp:

(WebKit::FrameLoaderClientImpl::dispatchDecidePolicyForNavigationAction):

  • src/WebFrameImpl.cpp:

(WebKit::WebFrameImpl::characterIndexForPoint):

  • src/WebPluginContainerImpl.cpp:

(WebKit::WebPluginContainerImpl::isRectTopmost):

  • src/WebViewImpl.cpp:

(WebKit::WebViewImpl::handleMouseDown):
(WebKit::WebViewImpl::computeBlockBounds):
(WebKit::WebViewImpl::bestTouchLinkNode):
(WebKit::WebViewImpl::hitTestResultForWindowPos):

Source/WebKit/efl:

Reviewed by Julien Chaffraix.

Update calls to new API.

  • ewk/ewk_frame.cpp:

(ewk_frame_hit_test_new):

Source/WebKit/mac:

Reviewed by Julien Chaffraix.

Update calls to new API.

  • WebCoreSupport/WebFrameLoaderClient.mm:

(WebFrameLoaderClient::actionDictionary):

  • WebView/WebFrame.mm:

(-[WebFrame elementAtPoint:]):

  • WebView/WebHTMLView.mm:

(-[WebHTMLView elementAtPoint:allowShadowContent:]):

Source/WebKit/qt:

Reviewed by Julien Chaffraix.

Update calls to new API.

  • WebCoreSupport/FrameLoaderClientQt.cpp:

(WebCore::FrameLoaderClientQt::dispatchDecidePolicyForNavigationAction):

  • WebCoreSupport/QWebFrameAdapter.cpp:

(QWebFrameAdapter::hitTestContent):

  • WebCoreSupport/QWebPageAdapter.cpp:

(QWebPageAdapter::TouchAdjuster::findCandidatePointForTouch):
(QWebPageAdapter::handleSoftwareInputPanel):
(QWebPageAdapter::updatePositionDependentMenuActions):

Source/WebKit/win:

Reviewed by Julien Chaffraix.

Update calls to new API.

  • WebActionPropertyBag.cpp:

(WebActionPropertyBag::Read):

  • WebKit.vcproj/WebKitExports.def.in:
  • WebView.cpp:

(WebView::handleContextMenuEvent):
(WebView::elementAtPoint):

Source/WebKit/wx:

Reviewed by Julien Chaffraix.

Update calls to new API.

  • WebFrame.cpp:

(WebKit::WebFrame::HitTest):

Source/WebKit2:

Reviewed by Julien Chaffraix and Maciej Stachowiak.

Update calls to new API and update exported symbols.

  • WebProcess/InjectedBundle/InjectedBundleNavigationAction.cpp:

(WebKit::InjectedBundleNavigationAction::InjectedBundleNavigationAction):

  • WebProcess/WebPage/WebFrame.cpp:

(WebKit::WebFrame::hitTest):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::handleContextMenuEvent):
(WebKit::WebPage::highlightPotentialActivation):
(WebKit::WebPage::findZoomableAreaForPoint):

  • WebProcess/WebPage/mac/WebPageMac.mm:

(WebKit::WebPage::characterIndexForPoint):
(WebKit::WebPage::performDictionaryLookupAtLocation):
(WebKit::WebPage::shouldDelayWindowOrderingEvent):
(WebKit::WebPage::acceptsFirstMouse):

2:37 AM Changeset in webkit [142976] by pfeldman@chromium.org
  • 8 edits in trunk/Source/WebCore

Web Inspector: make component-based compile-front-end happy
https://bugs.webkit.org/show_bug.cgi?id=109798

Reviewed by Vsevolod Vlasov.

  • inspector/Inspector.json:
  • inspector/InspectorDebuggerAgent.cpp:

(WebCore::InspectorDebuggerAgent::setVariableValue):

  • inspector/InspectorDebuggerAgent.h:

(InspectorDebuggerAgent):

  • inspector/compile-front-end.py:
  • inspector/front-end/AuditResultView.js:
  • inspector/front-end/CPUProfileView.js:
  • inspector/front-end/DataGrid.js:
  • inspector/front-end/InspectorFrontendAPI.js:

(InspectorFrontendAPI.loadTimelineFromURL):

2:29 AM Changeset in webkit [142975] by apavlov@chromium.org
  • 12 edits
    3 adds in trunk

Web Inspector: Implement tracking of active stylesheets in the frontend
https://bugs.webkit.org/show_bug.cgi?id=105828

Reviewed by Pavel Feldman.

Source/WebCore:

  • This change introduces the CSS.styleSheetAdded() and CSS.styleSheetRemoved() events

that update the frontend with all active stylesheet changes in the inspected page.
As such, fetching stylesheet headers from the backend manually is no longer needed,
and many asynchronous methods have been turned into normal accessors.

  • One notable change to the stylesheet binding process is that when a via-inspector stylesheet

is created, it is instantly reported through the instrumentation, and the viaInspectorStyleSheet() method
is [indirectly] called recursively from bindStyleSheet(). Thus, the actual creation and registration
of the respective InspectorStyleSheet have been moved into bindStyleSheet(),
which relies upon the m_creatingViaInspectorStyleSheet flag.

Test: inspector/styles/stylesheet-tracking.html

  • dom/DocumentStyleSheetCollection.cpp:

(WebCore::DocumentStyleSheetCollection::updateActiveStyleSheets): Instrumented.

  • inspector/Inspector.json: Add events, update the CSS domain description.
  • inspector/InspectorCSSAgent.cpp:

(WebCore::InspectorCSSAgent::InspectorCSSAgent):
(WebCore::InspectorCSSAgent::clearFrontend):
(WebCore::InspectorCSSAgent::enable): Push all existing stylesheet headers into the frontend.
(WebCore::InspectorCSSAgent::activeStyleSheetsUpdated): Push added/removed stylesheet into the frontend.
(WebCore::InspectorCSSAgent::getAllStyleSheets): Slightly refactored to make use of collectAllStyleSheets().
(WebCore::InspectorCSSAgent::collectAllStyleSheets): Added to collect InspectorStyleSheets rather than headers.
(WebCore::InspectorCSSAgent::collectStyleSheets):
(WebCore::InspectorCSSAgent::bindStyleSheet): Binds via-inspector stylesheets, too.
(WebCore::InspectorCSSAgent::unbindStyleSheet): Now we can unbind stylesheets upon their removal from the document.
(WebCore::InspectorCSSAgent::viaInspectorStyleSheet): Modifies m_creatingViaInspectorStyleSheet when necessary.
(WebCore::InspectorCSSAgent::detectOrigin): Modified to make use of m_creatingViaInspectorStyleSheet.
(WebCore::InspectorCSSAgent::buildObjectForRule): Removed extraneous bound InspectorStyleSheet 0-check.

  • inspector/InspectorCSSAgent.h:
  • inspector/InspectorInstrumentation.cpp: Instrumentation of active stylesheet set updates.

(WebCore::InspectorInstrumentation::activeStyleSheetsUpdatedImpl):

  • inspector/InspectorInstrumentation.h: Ditto.

(WebCore::InspectorInstrumentation::activeStyleSheetsUpdated):

  • inspector/front-end/CSSStyleModel.js:

(WebInspector.CSSStyleModel.prototype.styleSheetHeaders):
(WebInspector.CSSStyleModel.prototype._styleSheetAdded): Added.
(WebInspector.CSSStyleModel.prototype._styleSheetRemoved): Added.
(WebInspector.CSSStyleModel.prototype.viaInspectorResourceForRule):
(WebInspector.CSSStyleModelResourceBinding.prototype._setHeaderForStyleSheetId):
(WebInspector.CSSStyleModelResourceBinding.prototype.resourceURLForStyleSheetId):
(WebInspector.CSSStyleModelResourceBinding.prototype.styleSheetIdForResource):
(WebInspector.CSSStyleModelResourceBinding.prototype._headerKey): Calculate the (frameID + URL) key for CSSStyleSheetHeader.
(WebInspector.CSSStyleModelResourceBinding.prototype._createInspectorResource):
(WebInspector.CSSStyleModelResourceBinding.prototype._inspectorResource):
(WebInspector.CSSStyleModelResourceBinding.prototype._reset):
(WebInspector.CSSDispatcher.prototype.styleSheetAdded): Added.
(WebInspector.CSSDispatcher.prototype.styleSheetRemoved): Added.

  • inspector/front-end/SASSSourceMapping.js: Get rid of async implementations.

(WebInspector.SASSSourceMapping.prototype._styleSheetChanged):

  • inspector/front-end/StylesSidebarPane.js: Ditto.

(WebInspector.StylePropertiesSection.prototype._createRuleOriginNode):

  • inspector/front-end/StylesSourceMapping.js: Ditto.

(WebInspector.StyleContentBinding.prototype._innerStyleSheetChanged):

LayoutTests:

  • inspector/styles/resources/stylesheet-tracking.css: Added.
  • inspector/styles/stylesheet-tracking-expected.txt: Added.
  • inspector/styles/stylesheet-tracking.html: Added.
2:22 AM Changeset in webkit [142974] by commit-queue@webkit.org
  • 5 edits
    8 adds in trunk

Implement the -webkit-margin-collapse properties correct rendering
https://bugs.webkit.org/show_bug.cgi?id=108168

Patch by Andrei Bucur <abucur@adobe.com> on 2013-02-15
Reviewed by David Hyatt.

Source/WebCore:

The patch implements the correct behavior for the -webkit-margin-collapse properties:

  • a value of "discard" on a margin will truncate all the margins collapsing with it;
  • a value of "separate" will prevent the margin to collapse;
  • a value of "collapse" is the default collapse behavior.

The implementation is aware of multiple writing-modes:

  • if the writing mode of a child is parallel with the writing mode of the container and has the same direction,

the -webkit-margin-collapse properties on the child are left as is;

  • if the writing mode of a child is parallel with the writing mode of the container but has a different direction,

the -webkit-margin-collapse properties on the child are reversed;

  • if the writing mode of a child is perpendicular on the writing mode of the container,

the -webkit-margin-collapse properties on the child are ignored;

  1. The "discard" value implementation

There are two new bits (before and after) added on the RenderBlockRareData structure specifying if the margins
of the block will be discarded or not. We can't rely only on the value from style() because
it's possible a block to discard it's margins because it has collapsed with a children that
specified "discard" for -webkit-margin-collapse. However, the bits are set only if it is
required.
Another bit is added on the MarginInfo structure specifying if the margin has to be discarded or not. When
collapsing at the before side of a block it will hold information if the container block needs to discard
or not. If the collapsing happens between siblings/with after side of the container it will tell if the previous
child discards the margin or not. The self collapsing blocks are a special case. If any of its margins
discards then both its margins discard and all the other margins collapsing with it.
To ensure an optimal behavior it is asserted margin values can't be set on the MarginInfo object if the
discard flag is active. If this happens it may indicate someone ignored the possibility of the margin being
discarded altogether and incorrectly updated the margin values.
Float clearing also needs to change because it may force margins to stop collapsing. If this happens the discard
flags and margins needs to be restored to their values before the collapse.

  1. The "separate" value implementation

The implementation for separate was not changed too much. I've added new accessor methods for the property
that take writing mode into consideration and I've removed some code that didn't work correctly in layoutBlockChild.
The problem was the marginInfo structure was cleared if the child was specifying the "separate" value for before.
This is wrong because you lose the margin information of the previous child/before side.

Tests: fast/block/margin-collapse/webkit-margin-collapse-container.html

fast/block/margin-collapse/webkit-margin-collapse-floats.html
fast/block/margin-collapse/webkit-margin-collapse-siblings-bt.html
fast/block/margin-collapse/webkit-margin-collapse-siblings.html

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::MarginInfo::MarginInfo):
(WebCore::RenderBlock::layoutBlock):
(WebCore::RenderBlock::collapseMargins):
(WebCore::RenderBlock::clearFloatsIfNeeded):
(WebCore::RenderBlock::marginBeforeEstimateForChild):
(WebCore::RenderBlock::estimateLogicalTopPosition):
(WebCore::RenderBlock::setCollapsedBottomMargin):
(WebCore::RenderBlock::handleAfterSideOfBlock):
(WebCore::RenderBlock::layoutBlockChild):
(WebCore::RenderBlock::setMustDiscardMarginBefore):
(WebCore):
(WebCore::RenderBlock::setMustDiscardMarginAfter):
(WebCore::RenderBlock::mustDiscardMarginBefore):
(WebCore::RenderBlock::mustDiscardMarginAfter):
(WebCore::RenderBlock::mustDiscardMarginBeforeForChild):
(WebCore::RenderBlock::mustDiscardMarginAfterForChild):
(WebCore::RenderBlock::mustSeparateMarginBeforeForChild):
(WebCore::RenderBlock::mustSeparateMarginAfterForChild):

  • rendering/RenderBlock.h:

(RenderBlock):
(WebCore::RenderBlock::initMaxMarginValues):
(MarginInfo):
(WebCore::RenderBlock::MarginInfo::setPositiveMargin):
(WebCore::RenderBlock::MarginInfo::setNegativeMargin):
(WebCore::RenderBlock::MarginInfo::setPositiveMarginIfLarger):
(WebCore::RenderBlock::MarginInfo::setNegativeMarginIfLarger):
(WebCore::RenderBlock::MarginInfo::setMargin):
(WebCore::RenderBlock::MarginInfo::setCanCollapseMarginAfterWithChildren):
(WebCore::RenderBlock::MarginInfo::setDiscardMargin):
(WebCore::RenderBlock::MarginInfo::discardMargin):
(WebCore::RenderBlock::RenderBlockRareData::RenderBlockRareData):
(WebCore::RenderBlock::RenderBlockRareData::positiveMarginBeforeDefault):
(RenderBlockRareData):

  • rendering/style/RenderStyle.h:

LayoutTests:

Four new tests covering the -webkit-margin-collapse property basic behavior: collapsing
between a block container and its children, collapsing between sibling boxes in both TTB
and BTT direction. The last test verifies if a container's before margin correctly resets
the discard value after a clear of the child that initally caused it.

  • fast/block/margin-collapse/webkit-margin-collapse-container-expected.html: Added.
  • fast/block/margin-collapse/webkit-margin-collapse-container.html: Added.
  • fast/block/margin-collapse/webkit-margin-collapse-floats-expected.html: Added.
  • fast/block/margin-collapse/webkit-margin-collapse-floats.html: Added.
  • fast/block/margin-collapse/webkit-margin-collapse-siblings-bt-expected.html: Added.
  • fast/block/margin-collapse/webkit-margin-collapse-siblings-bt.html: Added.
  • fast/block/margin-collapse/webkit-margin-collapse-siblings-expected.html: Added.
  • fast/block/margin-collapse/webkit-margin-collapse-siblings.html: Added.
1:49 AM Changeset in webkit [142973] by jochen@chromium.org
  • 2 edits in trunk/Tools

Speculative build fix for chromium-win.

Unreviewed build fix.

Add declarations of the copy constructor and assignment operator to
WebTestProxyBase, so VS doesn't try to generate them.

  • DumpRenderTree/chromium/TestRunner/public/WebTestProxy.h:
1:44 AM Changeset in webkit [142972] by commit-queue@webkit.org
  • 10 edits
    1 delete in trunk

[Qt] Port GCController to JSC C API
https://bugs.webkit.org/show_bug.cgi?id=109690

Patch by Simon Hausmann <simon.hausmann@digia.com> on 2013-02-15
Reviewed by Benjamin Poulain.

Source/WebKit/qt:

Add hooks to retrieve JSContextRef and window object.

  • WebCoreSupport/DumpRenderTreeSupportQt.cpp:

(DumpRenderTreeSupportQt::getJSWindowObject):

  • WebCoreSupport/DumpRenderTreeSupportQt.h:

Tools:

Rename TestRunner to TestRunnerQt to avoid conflict when
including TestRunner.h in the future.

Replaced QObject based GCController implementation with JSC C API
based one.

  • DumpRenderTree/qt/DumpRenderTree.pro:
  • DumpRenderTree/qt/DumpRenderTreeQt.cpp:

(WebCore::DumpRenderTree::DumpRenderTree):
(WebCore::DumpRenderTree::open):
(WebCore::DumpRenderTree::initJSObjects):
(WebCore::methodNameStringForFailedTest):

  • DumpRenderTree/qt/DumpRenderTreeQt.h:

(WebCore::DumpRenderTree::testRunner):
(DumpRenderTree):

  • DumpRenderTree/qt/GCControllerQt.cpp:

(GCController::getJSObjectCount):

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

(TestRunnerQt::TestRunnerQt):
(TestRunnerQt::reset):
(TestRunnerQt::dumpNotifications):
(TestRunnerQt::processWork):
(TestRunnerQt::maybeDump):
(TestRunnerQt::dumpAsText):
(TestRunnerQt::waitUntilDone):
(TestRunnerQt::setViewModeMediaFeature):
(TestRunnerQt::webHistoryItemCount):
(TestRunnerQt::keepWebHistory):
(TestRunnerQt::notifyDone):
(TestRunnerQt::windowCount):
(TestRunnerQt::grantWebNotificationPermission):
(TestRunnerQt::ignoreLegacyWebNotificationPermissionRequests):
(TestRunnerQt::denyWebNotificationPermission):
(TestRunnerQt::removeAllWebNotificationPermissions):
(TestRunnerQt::simulateWebNotificationClick):
(TestRunnerQt::simulateLegacyWebNotificationClick):
(TestRunnerQt::display):
(TestRunnerQt::displayInvalidatedRegion):
(TestRunnerQt::clearBackForwardList):
(TestRunnerQt::pathToLocalResource):
(TestRunnerQt::dumpEditingCallbacks):
(TestRunnerQt::dumpFrameLoadCallbacks):
(TestRunnerQt::dumpProgressFinishedCallback):
(TestRunnerQt::dumpUserGestureInFrameLoadCallbacks):
(TestRunnerQt::dumpResourceLoadCallbacks):
(TestRunnerQt::dumpResourceResponseMIMETypes):
(TestRunnerQt::dumpWillCacheResponse):
(TestRunnerQt::dumpHistoryCallbacks):
(TestRunnerQt::setWillSendRequestReturnsNullOnRedirect):
(TestRunnerQt::setWillSendRequestReturnsNull):
(TestRunnerQt::setWillSendRequestClearHeader):
(TestRunnerQt::setDeferMainResourceDataLoad):
(TestRunnerQt::queueBackNavigation):
(TestRunnerQt::queueForwardNavigation):
(TestRunnerQt::queueLoad):
(TestRunnerQt::queueLoadHTMLString):
(TestRunnerQt::queueReload):
(TestRunnerQt::queueLoadingScript):
(TestRunnerQt::queueNonLoadingScript):
(TestRunnerQt::provisionalLoad):
(TestRunnerQt::timerEvent):
(TestRunnerQt::encodeHostName):
(TestRunnerQt::decodeHostName):
(TestRunnerQt::closeWebInspector):
(TestRunnerQt::setDeveloperExtrasEnabled):
(TestRunnerQt::setAsynchronousSpellCheckingEnabled):
(TestRunnerQt::showWebInspector):
(TestRunnerQt::evaluateInWebInspector):
(TestRunnerQt::goBack):
(TestRunnerQt::setDefersLoading):
(TestRunnerQt::setAllowUniversalAccessFromFileURLs):
(TestRunnerQt::setAllowFileAccessFromFileURLs):
(TestRunnerQt::setAppCacheMaximumSize):
(TestRunnerQt::setAutofilled):
(TestRunnerQt::setValueForUser):
(TestRunnerQt::setFixedContentsSize):
(TestRunnerQt::setPrivateBrowsingEnabled):
(TestRunnerQt::setSpatialNavigationEnabled):
(TestRunnerQt::setPopupBlockingEnabled):
(TestRunnerQt::setPluginsEnabled):
(TestRunnerQt::setPOSIXLocale):
(TestRunnerQt::setWindowIsKey):
(TestRunnerQt::setMainFrameIsFirstResponder):
(TestRunnerQt::setJavaScriptCanAccessClipboard):
(TestRunnerQt::setXSSAuditorEnabled):
(TestRunnerQt::dispatchPendingLoadRequests):
(TestRunnerQt::clearAllApplicationCaches):
(TestRunnerQt::clearApplicationCacheForOrigin):
(TestRunnerQt::localStorageDiskUsageForOrigin):
(TestRunnerQt::setApplicationCacheOriginQuota):
(TestRunnerQt::applicationCacheDiskUsageForOrigin):
(TestRunnerQt::originsWithApplicationCache):
(TestRunnerQt::setCacheModel):
(TestRunnerQt::setDatabaseQuota):
(TestRunnerQt::clearAllDatabases):
(TestRunnerQt::addOriginAccessWhitelistEntry):
(TestRunnerQt::removeOriginAccessWhitelistEntry):
(TestRunnerQt::setCustomPolicyDelegate):
(TestRunnerQt::waitForPolicyDelegate):
(TestRunnerQt::overridePreference):
(TestRunnerQt::setUserStyleSheetLocation):
(TestRunnerQt::setCaretBrowsingEnabled):
(TestRunnerQt::setAuthorAndUserStylesEnabled):
(TestRunnerQt::setUserStyleSheetEnabled):
(TestRunnerQt::setDomainRelaxationForbiddenForURLScheme):
(TestRunnerQt::callShouldCloseOnWebView):
(TestRunnerQt::setScrollbarPolicy):
(TestRunnerQt::setSmartInsertDeleteEnabled):
(TestRunnerQt::setSelectTrailingWhitespaceEnabled):
(TestRunnerQt::execCommand):
(TestRunnerQt::isCommandEnabled):
(TestRunnerQt::findString):
(TestRunnerQt::markerTextForListItem):
(TestRunnerQt::computedStyleIncludingVisitedInfo):
(TestRunnerQt::elementDoesAutoCompleteForElementWithId):
(TestRunnerQt::authenticateSession):
(TestRunnerQt::setIconDatabaseEnabled):
(TestRunnerQt::setMockDeviceOrientation):
(TestRunnerQt::setGeolocationPermission):
(TestRunnerQt::numberOfPendingGeolocationPermissionRequests):
(TestRunnerQt::setGeolocationPermissionCommon):
(TestRunnerQt::setMockGeolocationPositionUnavailableError):
(TestRunnerQt::setMockGeolocationPosition):
(TestRunnerQt::addMockSpeechInputResult):
(TestRunnerQt::setMockSpeechInputDumpRect):
(TestRunnerQt::startSpeechInput):
(TestRunnerQt::evaluateScriptInIsolatedWorldAndReturnValue):
(TestRunnerQt::evaluateScriptInIsolatedWorld):
(TestRunnerQt::addUserStyleSheet):
(TestRunnerQt::removeAllVisitedLinks):
(TestRunnerQt::addURLToRedirect):
(TestRunnerQt::originsWithLocalStorage):
(TestRunnerQt::deleteAllLocalStorage):
(TestRunnerQt::deleteLocalStorageForOrigin):
(TestRunnerQt::observeStorageTrackerNotifications):
(TestRunnerQt::syncLocalStorage):
(TestRunnerQt::resetPageVisibility):
(TestRunnerQt::setPageVisibility):
(TestRunnerQt::setAutomaticLinkDetectionEnabled):
(TestRunnerQt::setTextDirection):
(TestRunnerQt::setAlwaysAcceptCookies):
(TestRunnerQt::setAlwaysBlockCookies):
(TestRunnerQt::setAudioData):

  • DumpRenderTree/qt/TestRunnerQt.h:

(TestRunnerQt):

1:02 AM Changeset in webkit [142971] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

[EFL] fast/forms/input-text-scroll-left-on-blur.html is passing now
https://bugs.webkit.org/show_bug.cgi?id=109896

Unreviewed efl gardening.

The expectations are added by r140250 and the test seems to be passing now.

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

  • platform/efl/TestExpectations:
1:00 AM Changeset in webkit [142970] by zherczeg@webkit.org
  • 1 edit in trunk/Source/JavaScriptCore/ChangeLog

ChangeLog fix for bug 109689.
https://bugs.webkit.org/show_bug.cgi?id=109689

Feb 14, 2013:

11:45 PM Changeset in webkit [142969] by yurys@chromium.org
  • 2 edits in trunk/Source/WebCore

Web Inspector: always show memory size in Mb on the native memory graph
https://bugs.webkit.org/show_bug.cgi?id=109813

Reviewed by Pavel Feldman.

Memory size vlue is alway shown in Mb on the native memory graph.

  • inspector/front-end/NativeMemoryGraph.js:

(WebInspector.NativeMemoryCounterUI.prototype.updateCurrentValue):

11:28 PM EnableFormFeatures edited by tkent@chromium.org
(diff)
11:27 PM chooser-only.png attached to EnableFormFeatures by tkent@chromium.org
11:15 PM Changeset in webkit [142968] by commit-queue@webkit.org
  • 17 edits in trunk/Source/WebKit2

[WK2] Rename from scrollOffset to scrollDelta in WebChromeClient.
https://bugs.webkit.org/show_bug.cgi?id=109885

Patch by Huang Dongsung <luxtella@company100.net> on 2013-02-14
Reviewed by Simon Fraser.

Chrome sends a scroll delta to WebChromeClient but WebChromeClient names it
scrollOffset. So this patch corrects this misnaming.

In addition, all subclasses of LayerTreeHost don't use the misnamed
scrollOffset in scrollNonCompositedContents(), so this patch removes the
scrollOffset argument.

  • WebProcess/WebCoreSupport/WebChromeClient.cpp:

(WebKit::WebChromeClient::scroll):

  • WebProcess/WebCoreSupport/WebChromeClient.h:

(WebChromeClient):

  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:

(WebKit::CoordinatedLayerTreeHost::scrollNonCompositedContents):

  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:

(CoordinatedLayerTreeHost):

  • WebProcess/WebPage/DrawingArea.h:

(DrawingArea):

  • WebProcess/WebPage/DrawingAreaImpl.cpp:

(WebKit::DrawingAreaImpl::scroll):

  • WebProcess/WebPage/DrawingAreaImpl.h:

(DrawingAreaImpl):

  • WebProcess/WebPage/LayerTreeHost.h:

(LayerTreeHost):

  • WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:

(WebKit::LayerTreeHostGtk::scrollNonCompositedContents):

  • WebProcess/WebPage/gtk/LayerTreeHostGtk.h:

(LayerTreeHostGtk):

  • WebProcess/WebPage/mac/LayerTreeHostMac.h:

(LayerTreeHostMac):

  • WebProcess/WebPage/mac/LayerTreeHostMac.mm:

(WebKit::LayerTreeHostMac::scrollNonCompositedContents):

  • WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:

(RemoteLayerTreeDrawingArea):

  • WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:

(WebKit::RemoteLayerTreeDrawingArea::scroll):

  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:

(TiledCoreAnimationDrawingArea):

  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:

(WebKit::TiledCoreAnimationDrawingArea::scroll):

11:01 PM Changeset in webkit [142967] by aandrey@chromium.org
  • 2 edits in trunk/Source/WebCore

Use GL typedefs in WebGLRenderingContext.idl
https://bugs.webkit.org/show_bug.cgi?id=109060

Reviewed by Kenneth Russell.

Use GL typedefs in WebGLRenderingContext.idl according to the specs.
Added a FIXME about inconsistency with the current WebGL spec for getAttribLocation.

Tested manually that generators V8, JS, ObjC, GObject, CPP produce same output.

  • html/canvas/WebGLRenderingContext.idl:
10:41 PM Changeset in webkit [142966] by ggaren@apple.com
  • 5 edits in trunk/Source/JavaScriptCore

Merged the global function cache into the source code cache
https://bugs.webkit.org/show_bug.cgi?id=108660

Reviewed by Sam Weinig.

This has a few benefits:

(*) Saves a few kB by removing a second cache data structure.

(*) Reduces the worst case memory usage of the cache by 1.75X. (Heavy
use of 'new Function' and other techniques could cause us to fill
both root caches, and they didn't trade off against each other.)

(*) Paves the way for future improvements based on a non-trivial
cache key (for example, shrinkable pointer to the key string, and
more precise cache size accounting).

Also cleaned up the cache implementation and simplified it a bit.

  • heap/Handle.h:

(HandleBase):

  • heap/Strong.h:

(Strong): Build!

  • runtime/CodeCache.cpp:

(JSC):
(JSC::CodeCache::getCodeBlock):
(JSC::CodeCache::generateFunctionCodeBlock):
(JSC::CodeCache::getFunctionExecutableFromGlobalCode):
(JSC::CodeCache::usedFunctionCode): Updated for three interface changes:

(*) SourceCodeKey is a class, not a pair.

(*) Table values are abstract pointers, since they can be executables
or code blocks. (In a future patch, I'd like to change this so we
always store only code blocks. But that's too much for one patch.)

(*) The cache function is named "set" because it always overwrites
unconditionally.

  • runtime/CodeCache.h:

(CacheMap):
(JSC::CacheMap::find):
(JSC::CacheMap::set):
(JSC::CacheMap::clear): Added support for specifying hash traits, so we
can use a SourceCodeKey.

Removed side table and random number generator to save space and reduce
complexity. Hash tables are already random, so we don't need another source
of randomness.

(SourceCodeKey):
(JSC::SourceCodeKey::SourceCodeKey):
(JSC::SourceCodeKey::isHashTableDeletedValue):
(JSC::SourceCodeKey::hash):
(JSC::SourceCodeKey::isNull):
(JSC::SourceCodeKey::operator==):
(JSC::SourceCodeKeyHash::hash):
(JSC::SourceCodeKeyHash::equal):
(SourceCodeKeyHash):
(SourceCodeKeyHashTraits):
(JSC::SourceCodeKeyHashTraits::isEmptyValue): A SourceCodeKey is just a
fancy triplet: source code string; function name (or null, for non-functions);
and flags. Flags and function name distinguish between functions and programs
with identical code, so they can live in the same cache.

I chose to use the source code string as the primary hashing reference
because it's likely to be unique. We can use profiling to choose another
technique in future, if collisions between functions and programs prove
to be hot. I suspect they won't.

(JSC::CodeCache::clear):
(CodeCache): Removed the second cache.

  • heap/Handle.h:

(HandleBase):

  • heap/Strong.h:

(Strong):

  • runtime/CodeCache.cpp:

(JSC):
(JSC::CodeCache::getCodeBlock):
(JSC::CodeCache::generateFunctionCodeBlock):
(JSC::CodeCache::getFunctionExecutableFromGlobalCode):
(JSC::CodeCache::usedFunctionCode):

  • runtime/CodeCache.h:

(JSC):
(CacheMap):
(JSC::CacheMap::find):
(JSC::CacheMap::set):
(JSC::CacheMap::clear):
(SourceCodeKey):
(JSC::SourceCodeKey::SourceCodeKey):
(JSC::SourceCodeKey::isHashTableDeletedValue):
(JSC::SourceCodeKey::hash):
(JSC::SourceCodeKey::isNull):
(JSC::SourceCodeKey::operator==):
(JSC::SourceCodeKeyHash::hash):
(JSC::SourceCodeKeyHash::equal):
(SourceCodeKeyHash):
(SourceCodeKeyHashTraits):
(JSC::SourceCodeKeyHashTraits::isEmptyValue):
(JSC::CodeCache::clear):
(CodeCache):

10:39 PM Changeset in webkit [142965] by vsevik@chromium.org
  • 5 edits in trunk

Web Inspector: Copy-pasting selected text over itself should be an undoable state.
https://bugs.webkit.org/show_bug.cgi?id=109830

Reviewed by Pavel Feldman.

Source/WebCore:

  • inspector/front-end/TextEditorModel.js:

(WebInspector.TextEditorModel.endsWithBracketRegex.):

LayoutTests:

  • inspector/editor/text-editor-undo-redo-expected.txt:
  • inspector/editor/text-editor-undo-redo.html:
10:33 PM Changeset in webkit [142964] by rniwa@webkit.org
  • 2 edits in trunk/LayoutTests

Remove a test expectation now that the culprit has been rolled out in r142962.

  • platform/mac/TestExpectations:
10:29 PM Changeset in webkit [142963] by vsevik@chromium.org
  • 2 edits in trunk/Source/WebKit/chromium

Unreviewed chromium test fix: incorrect field was used for UISourceCode url.

  • src/js/Tests.js:

(.TestSuite.prototype.testNoScriptDuplicatesOnPanelSwitch.checkNoDuplicates):
(.TestSuite.prototype.uiSourceCodesToString_):

10:26 PM Changeset in webkit [142962] by commit-queue@webkit.org
  • 4 edits
    2 deletes in trunk

Unreviewed, rolling out r142889.
http://trac.webkit.org/changeset/142889
https://bugs.webkit.org/show_bug.cgi?id=109891

It caused an assertion failure in scrollbars/overflow-
scrollbar-combinations.html (Requested by tkent on #webkit).

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

Source/WebCore:

  • rendering/RenderBox.cpp:

(WebCore::borderWidthChanged):
(WebCore::RenderBox::styleDidChange):

LayoutTests:

  • fast/block/dynamic-padding-border-expected.txt: Removed.
  • fast/block/dynamic-padding-border.html: Removed.
  • fast/table/border-collapsing/cached-change-row-border-width-expected.txt:
10:21 PM Changeset in webkit [142961] by rniwa@webkit.org
  • 3 edits in trunk/LayoutTests

Add assertion failure expectations on Mac per bugs 109869 and 109890.

  • platform/mac/TestExpectations:
  • platform/mac-wk2/TestExpectations:
10:06 PM JavaScriptCore edited by fpizlo@apple.com
(diff)
9:59 PM JavaScriptCore slides.pdf attached to JavaScriptCore by fpizlo@apple.com
9:59 PM JavaScriptCore slides.key attached to JavaScriptCore by fpizlo@apple.com
9:59 PM Changeset in webkit [142960] by commit-queue@webkit.org
  • 4 edits
    2 adds in trunk

Caret positioned at the end of a text line (followed by an empty block) in vertical writing mode disappears when pressing the right/down arrow key.
https://bugs.webkit.org/show_bug.cgi?id=106452

Patch by Arpita Bahuguna <arpitabahuguna@gmail.com> on 2013-02-14
Reviewed by Ryosuke Niwa.

Source/WebCore:

Pressing the down or the right arrow key at the end of a text line in
vertical writing mode would make the caret dissapear. This occurs only
when the text line is followed by an empty block.

When trying to compute the next position for placing the caret (for
down/right key), we try to ascertain whether the renderer (in this
case the empty block) is a valid candidate or not. For blockFlow
elements we check against their height.
In vertical writing mode though we would fail such a check since we
should instead be comparing against the renderer's width and not
it's height. Thus, a valid position for the placement of the caret
was not found in such a case.

Test: editing/selection/caret-at-end-of-text-line-followed-by-empty-block-in-vertical-mode.html

  • dom/Position.cpp:

(WebCore::Position::isCandidate):

  • dom/PositionIterator.cpp:

(WebCore::PositionIterator::isCandidate):
Instead of checking against the height(), check against the
logicalHeight() of the renderer has been added. logicalHeight()
on blockFlow renderer's returns a value in accordance with
the writing mode.

LayoutTests:

  • editing/selection/caret-at-end-of-text-line-followed-by-empty-block-in-vertical-mode-expected.txt: Added.
  • editing/selection/caret-at-end-of-text-line-followed-by-empty-block-in-vertical-mode.html: Added.

Layout test case added for verifying that pressing the down or the right arrow
key at the end of the text line in vertical writing mode will not make the caret
dissapear.
Caret positions at the start, the end, and after pressing the right and the down
arrow keys at the end of the text line, are compared for verification.

9:55 PM Changeset in webkit [142959] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebCore

Windows build fix after r142957.

  • dom/DOMAllInOne.cpp:
9:54 PM JavaScriptCore edited by fpizlo@apple.com
(diff)
9:53 PM JavaScriptCore edited by fpizlo@apple.com
(diff)
9:47 PM Changeset in webkit [142958] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebCore

Fix a typo introduced in r142705.

Without this fix, text-input-controller.html can fail when DeleteButtonController is enabled.
e.g. "run-webkit-tests platform/mac/editing/deleting/deletionUI-single-instance.html

platform/mac/editing/input/text-input-controller.html --child-processes=1"

  • editing/Editor.cpp:

(WebCore::Editor::avoidIntersectionWithDeleteButtonController):

9:47 PM JavaScriptCore edited by fpizlo@apple.com
(diff)
8:38 PM Changeset in webkit [142957] by hayato@chromium.org
  • 11 edits
    2 adds in trunk/Source/WebCore

Factor Event retargeting code.
https://bugs.webkit.org/show_bug.cgi?id=109156

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,
but also other events.

New class, EventRetargeter, was introduced. From now,
EventDispatchMediator (and its subclasses) should call, if event
retargeting is required, an appropriate function provided in
EventRetargeter rather than calling
EventDispatcher::adjustRelatedTarget(), which was removed in this
patch.

No tests. No change in behavior.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • Target.pri:
  • WebCore.gypi:
  • WebCore.xcodeproj/project.pbxproj:
  • dom/EventDispatchMediator.cpp:
  • dom/EventDispatcher.cpp:

(WebCore):
(WebCore::EventDispatcher::ensureEventPath): Changed to return an EventPath, which will be used by EventRetargeter.
(WebCore::EventDispatcher::dispatchScopedEvent):
(WebCore::EventDispatcher::dispatchEvent):
(WebCore::EventDispatcher::dispatchEventPostProcess):

  • dom/EventDispatcher.h:

(WebCore):
(EventDispatcher):

  • dom/EventRetargeter.cpp: Added.

(WebCore):
(WebCore::inTheSameScope):
(WebCore::determineDispatchBehavior):
(WebCore::EventRetargeter::calculateEventPath): Factored out from EventDispatcher::ensureEventPath().
(WebCore::EventRetargeter::adjustForMouseEvent):
(WebCore::EventRetargeter::adjustForFocusEvent):
(WebCore::EventRetargeter::adjustForRelatedTarget):
(WebCore::EventRetargeter::calculateAdjustedNodes): Factored out from EventRelatedTargetAjuster::adjustRelatedTarget().
(WebCore::EventRetargeter::buildRelatedNodeMap): Factored out from EventRelatedTargetAjuster::adjustRelatedTarget().
(WebCore::EventRetargeter::findRelatedNode):

  • dom/EventRetargeter.h: Added.

(WebCore):
(EventRetargeter):
(WebCore::EventRetargeter::eventTargetRespectingTargetRules):

  • dom/FocusEvent.cpp:

(WebCore::FocusEventDispatchMediator::dispatchEvent): Changed to call EventRetargeter::adjustForFocusEvent().
(WebCore::BlurEventDispatchMediator::dispatchEvent): Ditto.
(WebCore::FocusInEventDispatchMediator::dispatchEvent): Ditto.
(WebCore::FocusOutEventDispatchMediator::dispatchEvent): Ditto.

  • dom/MouseEvent.cpp:

(WebCore::MouseEventDispatchMediator::dispatchEvent): Changed to call EventRetargeter::adjustForMouseEvent().

8:28 PM Changeset in webkit [142956] by Simon Fraser
  • 6 edits
    4 deletes in trunk

Reverting r142861. Hit testing inside of style recalc is fundamentally wrong

Source/WebCore:

  • page/EventHandler.cpp:

(WebCore::EventHandler::selectCursor):
(WebCore::EventHandler::handleMouseMoveEvent):

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

(WebCore::RenderObject::setStyle):
(WebCore::areNonIdenticalCursorListsEqual):
(WebCore::areCursorsEqual):
(WebCore::RenderObject::styleDidChange):

LayoutTests:

  • fast/events/mouse-cursor-change-expected.txt: Removed.
  • fast/events/mouse-cursor-change.html: Removed.
  • fast/events/mouse-cursor-no-mousemove-expected.txt: Removed.
  • fast/events/mouse-cursor-no-mousemove.html: Removed.
  • platform/mac/TestExpectations:
7:58 PM Changeset in webkit [142955] by fmalita@chromium.org
  • 11 edits
    3 adds in trunk

[SVG] Cached filter results are not invalidated on repaint rect change
https://bugs.webkit.org/show_bug.cgi?id=106221

Reviewed by Dean Jackson.

Source/WebCore:

Since the cached filter results are not invalidated for different repaint rects, we need
to render the content of the whole filter region upfront (otherwise elements not visible
during the initial paint due to scrolling/window size/etc. are never redrawn).

Tests: svg/filters/filter-hidden-content-expected.svg

svg/filters/filter-hidden-content.svg

  • rendering/svg/RenderSVGResourceFilter.cpp:

(WebCore::RenderSVGResourceFilter::applyResource):
(WebCore::RenderSVGResourceFilter::drawingRegion):
(WebCore):

  • rendering/svg/RenderSVGResourceFilter.h:

(FilterData):
(RenderSVGResourceFilter):
Track the filter drawing region in FilterData.

  • rendering/svg/SVGRenderingContext.cpp:

(WebCore::SVGRenderingContext::~SVGRenderingContext):
(WebCore::SVGRenderingContext::prepareToRenderSVGContent):

  • rendering/svg/SVGRenderingContext.h:

Update paintInfo.rect to cover the whole drawing region while rendering filter content, and
restore it when done.

LayoutTests:

  • svg/filters/filter-hidden-content-expected.svg: Added.
  • svg/filters/filter-hidden-content.svg: Added.
7:57 PM Changeset in webkit [142954] by roger_fong@apple.com
  • 19 edits in trunk

Unreviewed. Some final touch-ups to the VS2010 WebKit solution before nuking the VS2005 solution.
Remove un-needed include directories and force includes.
Update exports file.

  • WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:
  • WebKit.vcxproj/common.props:
  • DumpRenderTree/DumpRenderTree.vcxproj/DumpRenderTree/DumpRenderTreeLauncherCommon.props:
  • DumpRenderTree/DumpRenderTree.vcxproj/ImageDiff/ImageDiffLauncherCommon.props:
  • DumpRenderTree/DumpRenderTree.vcxproj/TestNetscapePlugin/TestNetscapePlugin.vcxproj:
  • DumpRenderTree/DumpRenderTree.vcxproj/TestNetscapePlugin/TestNetscapePlugin.vcxproj.filters:
  • TestWebKitAPI/TestWebKitAPI.vcxproj/TestWebKitAPI.vcxproj:
  • TestWebKitAPI/TestWebKitAPI.vcxproj/TestWebKitAPI.vcxproj.filters:
  • WinLauncher/WinLauncher.vcxproj/WinLauncherCommon.props:
  • win/record-memory/record-memoryCommon.props:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • JavaScriptCore.vcxproj/JavaScriptCoreCommon.props:
  • JavaScriptCore.vcxproj/JavaScriptCoreExportGenerator/JavaScriptCoreExports.def.in:
  • JavaScriptCore.vcxproj/jsc/jscCommon.props:
  • JavaScriptCore.vcxproj/testRegExp/testRegExp.vcxproj:
  • JavaScriptCore.vcxproj/testapi/testapi.vcxproj:
  • WTF.vcxproj/WTFCommon.props:
7:07 PM Changeset in webkit [142953] by morrita@google.com
  • 2 edits
    1 copy in trunk/LayoutTests

Unreviewed rebaselining following r142940.

  • fast/events/onerror-no-constructor-expected.txt:
  • platform/chromium/fast/events/onerror-no-constructor-expected.txt: Copied from LayoutTests/fast/events/onerror-no-constructor-expected.txt.
6:38 PM Changeset in webkit [142952] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[EFL] Correct the mismatched cursor map
https://bugs.webkit.org/show_bug.cgi?id=109655

Patch by Jinwoo Song <jinwoo7.song@samsung.com> on 2013-02-14
Reviewed by Laszlo Gombos.

Correct the mismatched ECORE_X_CURSOR values in the cursor map.

  • platform/efl/EflScreenUtilities.cpp:

(WebCore::CursorMap::CursorMap):

6:07 PM Changeset in webkit [142951] by haraken@chromium.org
  • 6 edits in trunk/Source/WebCore

Unreviewed. Rebaselined run-bindings-tests.

  • bindings/scripts/test/CPP/WebDOMTestObj.cpp:

(WebDOMTestObj::anyAttribute):
(WebDOMTestObj::setAnyAttribute):

  • bindings/scripts/test/CPP/WebDOMTestObj.h:
  • bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:

(webkit_dom_test_obj_get_any_attribute):

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

(WebCore::jsTestTypedefsPrototypeFunctionFuncWithClamp):

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

(WebCore::TestTypedefsV8Internal::funcWithClampCallback):

6:02 PM Changeset in webkit [142950] by kareng@chromium.org
  • 1 edit in trunk/Tools/ChangeLog

adding myself as a committer

6:00 PM Changeset in webkit [142949] by kareng@chromium.org
  • 1 edit in trunk/Tools/Scripts/webkitpy/common/config/committers.py

adding myself as a committer

5:42 PM Changeset in webkit [142948] by roger_fong@apple.com
  • 1 edit in trunk/Source/WebCore/Modules/webdatabase/SQLTransactionStateMachine.cpp

Commented out code meant to be deleted.

5:39 PM Changeset in webkit [142947] by commit-queue@webkit.org
  • 158 edits in trunk

Convert media controls from DeprecatedFlexibleBox to FlexibleBox
https://bugs.webkit.org/show_bug.cgi?id=109775

Patch by Christian Biesinger <cbiesinger@chromium.org> on 2013-02-14
Reviewed by Ojan Vafai.

Source/WebCore:

Covered by existing tests in media/.

  • css/mediaControls.css:
  • css/mediaControlsBlackBerry.css:
  • css/mediaControlsChromium.css:
  • css/mediaControlsChromiumAndroid.css:
  • css/mediaControlsEfl.css:
  • css/mediaControlsGtk.css:
  • css/mediaControlsQt.css:
  • css/mediaControlsQuickTime.css:

Automated search and replace of old flexbox CSS rules to new ones.
Minor tuning of the chromium rules.

  • rendering/RenderMediaControlElements.cpp:

(WebCore::RenderMediaControlTimeDisplay::RenderMediaControlTimeDisplay):
(WebCore::RenderMediaControlTimeDisplay::layout):

  • rendering/RenderMediaControlElements.h:

Make media controls inherit from RenderFlexibleBox

LayoutTests:

Rebaselined lots of tests. There were two kinds of changes:

  • Replaced the RenderDeprecatedFlexibleBox class name with

RenderFlexibleBox, and minor printing differences

  • Slight positioning/size changes due to a different algorithm for

shrinking elements (old flexbox shrinks elements evenly, new flexbox
shrinks in proportion to the size of the flex item)

5:28 PM Changeset in webkit [142946] by roger_fong@apple.com
  • 2 edits in trunk/Source/WebCore

Build fix for Windows.

  • Modules/webdatabase/SQLTransactionStateMachine.cpp:

(WebCore::nameForSQLTransactionState):

5:23 PM Changeset in webkit [142945] by rniwa@webkit.org
  • 3 edits
    1 add
    1 delete in trunk/LayoutTests

Mac rebaseline after r142931.

  • platform/chromium-mac/fast/replaced/width100percent-image-expected.txt: Added.
  • platform/chromium/fast/replaced/width100percent-image-expected.txt: Removed.
  • platform/mac/fast/replaced/width100percent-image-expected.txt:
  • platform/mac/tables/mozilla_expected_failures/bugs/bug85016-expected.txt:
5:19 PM Changeset in webkit [142944] by dino@apple.com
  • 2 edits in trunk/Source/WebCore

Inspector doesn't show rules from pluginsStyleSheet
https://bugs.webkit.org/show_bug.cgi?id=109872

Reviewed by Darin Adler.

Make sure getWrapperForRuleInSheets collects the rules
from CSSDefaultStyleSheets::plugInsStyleSheet.

Making a test for this is difficult because the rules in
this sheet only apply to snapshotted plugins at the moment,
which are disabled in DRT, and would require a fairly long
timeout in the test.

  • css/InspectorCSSOMWrappers.cpp:

(WebCore::InspectorCSSOMWrappers::getWrapperForRuleInSheets):

5:19 PM Changeset in webkit [142943] by dino@apple.com
  • 1 edit
    2 adds in trunk/LayoutTests

Clicking outside captions menu should dismiss it
https://bugs.webkit.org/show_bug.cgi?id=109648

Unreviewed. Adding the files I forgot to commit in r142774.

  • media/video-controls-captions-trackmenu-hide-on-click.html: Added.
  • platform/mac/media/video-controls-captions-trackmenu-hide-on-click-expected.txt: Added.
5:01 PM Changeset in webkit [142942] by hayato@chromium.org
  • 2 edits in trunk/Source/WebCore

Recover edge names used in MemoryInstrumentation for DocumentRuleSets.
https://bugs.webkit.org/show_bug.cgi?id=109800

Reviewed by Hajime Morita.

This is a following patch for r142573.
r142563 accidentally removes edge names for MemoryInstrumentation. We should recover edge names.

No tests. No change in behavior.

  • css/DocumentRuleSets.cpp:

(WebCore::DocumentRuleSets::reportMemoryUsage):

4:56 PM Changeset in webkit [142941] by commit-queue@webkit.org
  • 18 edits
    1 add in trunk

new-run-webkit-tests needs a shared TestExpectations between all WebKit ports
https://bugs.webkit.org/show_bug.cgi?id=37565

Introduce generic TestExpectations file that applies as a fallback for all ports, the location of which
is LayoutTests/TestExpectations.

Patch by Glenn Adams <glenn@skynav.com> on 2013-02-14
Reviewed by Dirk Pranke.

Tools:

  • Scripts/webkitpy/layout_tests/lint_test_expectations_unittest.py:

(FakePort.path_to_generic_test_expectations_file):

  • Scripts/webkitpy/layout_tests/models/test_expectations.py:

(TestExpectations.init):

  • Scripts/webkitpy/layout_tests/port/base.py:

(Port.path_to_generic_test_expectations_file):
(Port):
(Port._port_specific_expectations_files):
(Port.expectations_files):

  • Scripts/webkitpy/layout_tests/port/chromium.py:

(ChromiumPort._port_specific_expectations_files):

  • Scripts/webkitpy/layout_tests/port/chromium_android.py:

(ChromiumAndroidPort._port_specific_expectations_files):

  • Scripts/webkitpy/layout_tests/port/chromium_port_testcase.py:

(ChromiumPortTestCase.test_expectations_files):

  • Scripts/webkitpy/layout_tests/port/efl.py:

(EflPort._port_specific_expectations_files):

  • Scripts/webkitpy/layout_tests/port/gtk.py:

(GtkPort._port_specific_expectations_files):

  • Scripts/webkitpy/layout_tests/port/gtk_unittest.py:

(GtkPortTest.test_expectations_files):

  • Scripts/webkitpy/layout_tests/port/mac.py:

(MacPort._port_specific_expectations_files):

  • Scripts/webkitpy/layout_tests/port/port_testcase.py:

(PortTestCase.test_expectations_ordering):
(test_expectations_files):

  • Scripts/webkitpy/layout_tests/port/qt.py:

(QtPort._port_specific_expectations_files):

  • Scripts/webkitpy/layout_tests/port/qt_unittest.py:

(QtPortTest.test_expectations_files):

  • Scripts/webkitpy/layout_tests/port/win_unittest.py:

(WinPortTest.test_expectations_files):

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

(PrintExpectationsTest.test_paths):

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

(RebaselineTest._update_expectations_file):

LayoutTests:

4:42 PM Changeset in webkit [142940] by morrita@google.com
  • 3 edits
    2 adds in trunk

[V8] Assertion failure on an exception is thrown
https://bugs.webkit.org/show_bug.cgi?id=109129

Source/WebCore:

An assertion in V8AbstractEventListener is wrong. This change turns it into an error check.

Reviewed by Kentaro Hara.

Test: fast/events/onerror-no-constructor.html

  • bindings/v8/V8AbstractEventListener.cpp:

(WebCore::V8AbstractEventListener::handleEvent):

LayoutTests:

Reviewed by Kentaro Hara.

  • fast/events/onerror-no-constructor-expected.txt: Added.
  • fast/events/onerror-no-constructor.html: Added.
4:38 PM Changeset in webkit [142939] by haraken@chromium.org
  • 2 edits in trunk/Source/WebCore

[V8] CodeGeneratorV8.pm can assume that DOMWindow has [CheckSecurity]
https://bugs.webkit.org/show_bug.cgi?id=109788

Reviewed by Adam Barth.

There is code like this:

if ($extendedAttr{"CheckSecurity"}
$interfaceName eq "DOMWindow")

This check is redundant. DOMWindow has [CheckSecurity]. We can remove the
DOMWindow check.

No tests. No change in behavior.

  • bindings/scripts/CodeGeneratorV8.pm:

(GenerateReplaceableAttrSetter):
(GenerateFunctionCallback):
(GenerateNonStandardFunction):
(GenerateImplementation):

4:36 PM Changeset in webkit [142938] by jsbell@chromium.org
  • 2 edits in trunk/Source/WebCore

[V8] IndexedDB: Remove unused creationContext paramter from idbKeyToV8Value
https://bugs.webkit.org/show_bug.cgi?id=109870

Reviewed by Kentaro Hara.

This parameter was left over from when the function was toV8(IDBKey). Remove it.

No new tests - just removing dead code.

  • bindings/v8/IDBBindingUtilities.cpp:

(WebCore::idbKeyToV8Value): Remove unused parameter.
(WebCore::injectIDBKeyIntoScriptValue): No need for dummy handle.
(WebCore::idbKeyToScriptValue): No need for dummy handle.

4:35 PM Changeset in webkit [142937] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

[WebGL][Qt] regression:r142786 Qt Build fix for Arm and Windows.
https://bugs.webkit.org/show_bug.cgi?id=109797

Patch by Kondapally Kalyan <kalyan.kondapally@intel.com> on 2013-02-14
Reviewed by Csaba Osztrogonác.

After r142786, we use OpenGLShims to load necessary GL functions
exposed by ARB_vertex_array_object extension. Qt uses OpenGLShims
to load functions with GLES too. This patch adds support for loading the
equivalent functions on GLES exposed by OES_vertex_array_object.

  • platform/graphics/OpenGLShims.cpp:

(WebCore::initializeOpenGLShims):

  • platform/graphics/OpenGLShims.h:
4:27 PM Changeset in webkit [142936] by ap@apple.com
  • 8 edits in trunk/Source/WebCore

<rdar://problem/13210723> CORS preflight broken with NetworkProcess
https://bugs.webkit.org/show_bug.cgi?id=109753

Reviewed by Brady Eidson.

  • loader/DocumentThreadableLoader.h:
  • loader/DocumentThreadableLoader.cpp: (WebCore::DocumentThreadableLoader::DocumentThreadableLoader): (WebCore::DocumentThreadableLoader::cancel): (WebCore::DocumentThreadableLoader::didReceiveResponse): (WebCore::DocumentThreadableLoader::dataReceived): (WebCore::DocumentThreadableLoader::didReceiveData): (WebCore::DocumentThreadableLoader::notifyFinished): (WebCore::DocumentThreadableLoader::didFinishLoading): (WebCore::DocumentThreadableLoader::didFail): (WebCore::DocumentThreadableLoader::preflightFailure): Notify InspectorInstrumentation immediately. In addition to keeping up eith other changes, this means that an accurate error will be passed now, not a cancellation. (WebCore::DocumentThreadableLoader::loadRequest): Get rid of m_preflightRequestIdentifier. Every loader has an identifier, and tracking identifiers twice is wrong. Pass identifier explicitly to more internal functions, so that they would not have to second-guess callers.
  • loader/ResourceLoader.cpp: (WebCore::ResourceLoader::willSendRequest): Create an identifier for all loaders, not just those that we expect to have client callbacks about. Both Inspector and NetworkProcess need identifiers everywhere.
  • loader/TextTrackLoader.cpp: (WebCore::TextTrackLoader::deprecatedDidReceiveCachedResource):
  • loader/TextTrackLoader.h:
  • loader/cache/CachedResourceClient.h: (WebCore::CachedResourceClient::deprecatedDidReceiveCachedResource):
  • loader/cache/CachedTextTrack.cpp: (WebCore::CachedTextTrack::data): Renamed didReceiveData to avoid conflict with the new DocumentThreadableLoader::didReceiveData. And we should really get rid of this CachedResourceClient function anyway.
4:25 PM Changeset in webkit [142935] by haraken@chromium.org
  • 18 edits in trunk/Source/WebCore

Replace 'DOMObject' with 'any'
https://bugs.webkit.org/show_bug.cgi?id=109793

Reviewed by Dimitri Glazkov.

In the Web IDL spec, there is no type named 'DOMObject'.
It should be 'any'. We should replace all 'DOMObject's in WebKit IDLs with 'any's.

  • Modules/webdatabase/SQLResultSetRowList.idl:
  • bindings/scripts/CodeGeneratorCPP.pm:

(GetClassName):
(AddIncludesForType):

  • bindings/scripts/CodeGeneratorGObject.pm:

(GenerateFunction):

  • bindings/scripts/CodeGeneratorJS.pm:

(AddIncludesForType):
(GenerateImplementation):
(JSValueToNative):
(NativeToJSValue):

  • bindings/scripts/CodeGeneratorV8.pm:

(GetNativeType):
(JSValueToNative):
(GetV8HeaderName):

  • dom/CustomEvent.idl:
  • dom/MessageEvent.idl:
  • dom/PopStateEvent.idl:
  • fileapi/FileReader.idl:
  • html/HTMLCanvasElement.idl:
  • html/HTMLElement.idl:
  • html/canvas/DataView.idl:
  • inspector/InjectedScriptHost.idl:
  • inspector/InspectorFrontendHost.idl:
  • inspector/JavaScriptCallFrame.idl:
  • page/DOMWindow.idl:
  • page/Location.idl:
4:17 PM Changeset in webkit [142934] by haraken@chromium.org
  • 2 edits in trunk/Source/WebCore

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

Reviewed by Adam Barth.

Some code is duplicated between GenerateEventListenerCallback()
and GenerateFunctionCallback(). By inlining GenerateEventListenerCallback()
into GenerateFunctionCallback(), we can remove the duplication.

No tests. No change in behavior.

  • bindings/scripts/CodeGeneratorV8.pm:

(GenerateFunctionCallback):

4:16 PM Changeset in webkit [142933] by ap@apple.com
  • 3 edits in trunk/Source/WebKit2

<rdar://problem/13161700> REGRESSION: Safari is unable to make SSL connections
when running from recovery partition

Reviewed by Sam Weinig.

  • NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in:
  • WebProcess/com.apple.WebProcess.sb.in: Re-added /private/var/db/mds/system rules lost in r141445.
4:08 PM Changeset in webkit [142932] by pdr@google.com
  • 41 edits
    1 delete in trunk/LayoutTests

Rebaseline 9 SVG tests after r142765

Unreviewed rebaseline of test expectations.

  • platform/chromium-linux/svg/as-background-image/animated-svg-as-background-expected.png:
  • platform/chromium-linux/svg/as-background-image/background-image-preserveaspectRatio-support-expected.png:
  • platform/chromium-linux/svg/as-background-image/svg-as-background-1-expected.png:
  • platform/chromium-linux/svg/as-background-image/svg-as-background-3-expected.png:
  • platform/chromium-linux/svg/as-background-image/svg-as-background-4-expected.png:
  • platform/chromium-linux/svg/as-background-image/svg-as-background-5-expected.png:
  • platform/chromium-linux/svg/as-background-image/svg-as-background-6-expected.png:
  • platform/chromium-linux/svg/as-background-image/svg-as-background-with-relative-size-expected.png:
  • platform/chromium-linux/svg/as-background-image/svg-background-partial-redraw-expected.png:
  • platform/chromium-mac-lion/svg/as-background-image/animated-svg-as-background-expected.png:
  • platform/chromium-mac-lion/svg/as-background-image/background-image-preserveaspectRatio-support-expected.png:
  • platform/chromium-mac-lion/svg/as-background-image/svg-as-background-1-expected.png:
  • platform/chromium-mac-lion/svg/as-background-image/svg-as-background-3-expected.png:
  • platform/chromium-mac-lion/svg/as-background-image/svg-as-background-4-expected.png:
  • platform/chromium-mac-lion/svg/as-background-image/svg-as-background-6-expected.png:
  • platform/chromium-mac-lion/svg/as-background-image/svg-background-partial-redraw-expected.png:
  • platform/chromium-mac-snowleopard/svg/as-background-image/background-image-preserveaspectRatio-support-expected.png:
  • platform/chromium-mac-snowleopard/svg/as-background-image/svg-as-background-1-expected.png:
  • platform/chromium-mac-snowleopard/svg/as-background-image/svg-as-background-6-expected.png:
  • platform/chromium-mac-snowleopard/svg/as-background-image/svg-background-partial-redraw-expected.png:
  • platform/chromium-mac/svg/as-background-image/animated-svg-as-background-expected.png:
  • platform/chromium-mac/svg/as-background-image/background-image-preserveaspectRatio-support-expected.png:
  • platform/chromium-mac/svg/as-background-image/svg-as-background-1-expected.png:
  • platform/chromium-mac/svg/as-background-image/svg-as-background-2-expected.png:
  • platform/chromium-mac/svg/as-background-image/svg-as-background-3-expected.png:
  • platform/chromium-mac/svg/as-background-image/svg-as-background-4-expected.png:
  • platform/chromium-mac/svg/as-background-image/svg-as-background-5-expected.png:
  • platform/chromium-mac/svg/as-background-image/svg-as-background-6-expected.png:
  • platform/chromium-mac/svg/as-background-image/svg-as-background-with-relative-size-expected.png:
  • platform/chromium-mac/svg/as-background-image/svg-background-partial-redraw-expected.png:
  • platform/chromium-win-xp/svg/as-background-image: Removed.
  • platform/chromium-win-xp/svg/as-background-image/svg-as-background-1-expected.png: Removed.
  • platform/chromium-win-xp/svg/as-background-image/svg-as-background-3-expected.png: Removed.
  • platform/chromium-win/svg/as-background-image/animated-svg-as-background-expected.png:
  • platform/chromium-win/svg/as-background-image/background-image-preserveaspectRatio-support-expected.png:
  • platform/chromium-win/svg/as-background-image/svg-as-background-1-expected.png:
  • platform/chromium-win/svg/as-background-image/svg-as-background-2-expected.png:
  • platform/chromium-win/svg/as-background-image/svg-as-background-3-expected.png:
  • platform/chromium-win/svg/as-background-image/svg-as-background-4-expected.png:
  • platform/chromium-win/svg/as-background-image/svg-as-background-6-expected.png:
  • platform/chromium-win/svg/as-background-image/svg-as-background-with-relative-size-expected.png:
  • platform/chromium-win/svg/as-background-image/svg-background-partial-redraw-expected.png:
  • platform/chromium/TestExpectations:
3:58 PM Changeset in webkit [142931] by ojan@chromium.org
  • 10 edits
    2 adds in trunk

Intrinsic and preferred widths on replaced elements are wrong in many cases
https://bugs.webkit.org/show_bug.cgi?id=109859

Reviewed by Levi Weintraub.

Source/WebCore:

Test: fast/replaced/preferred-widths.html

  • rendering/RenderReplaced.cpp:

(WebCore::RenderReplaced::computeIntrinsicLogicalWidths):
Separate out computing the intrinsic widths. Eventually,
we should be able to share computePreferredLogicalWidth implementations
for all replaced elements and form controls since only the intrinsic width
changes.

(WebCore::RenderReplaced::computePreferredLogicalWidths):
-Apply min-width and max-width constraints and then add borderAndPaddingLogicalWidth
at the end to make sure it's always applied. This matches all our other
computePreferredLogicalWidths override and makes use match Gecko's/Opera's rendering.
-Only set the minPreferredLogicalWidth to 0 if the width or max-width is a percent value.
Doing it for height values and for min-width doesn't make any sense and doesn't
match other browsers. Doing this for max-width still doesn't match other browsers,
but it sounds like Gecko at least would like to change that.

  • rendering/RenderReplaced.h:

(WebCore::RenderReplaced::hasRelativeIntrinsicLogicalWidth):

  • rendering/svg/RenderSVGRoot.cpp:

(WebCore::RenderSVGRoot::hasRelativeIntrinsicLogicalWidth):
Add a way to check if the logicalWidth is relative so that we only check
the width in computePreferredLogicalWidths instead of also checking the height.

  • rendering/svg/RenderSVGRoot.h:

LayoutTests:

  • fast/replaced/preferred-widths-expected.txt: Added.
  • fast/replaced/preferred-widths.html: Added.

These results match Gecko and Opera except for the 3rd container div.
Talking to dbaron and bz and Mozilla they sound likely to match our behavior there.
See https://bugzilla.mozilla.org/show_bug.cgi?id=823483 for example.

The width of the containers is wrong in some of these cases because our
computePreferredLogicalWidths methods don't currently account for
intrinsic sizes (e.g. min-content, max-content, etc).

  • platform/chromium-linux/fast/replaced/width100percent-image-expected.png:
  • platform/chromium-linux/tables/mozilla_expected_failures/bugs/bug85016-expected.png:
  • platform/chromium-win/fast/replaced/width100percent-image-expected.txt:
  • platform/chromium-win/tables/mozilla_expected_failures/bugs/bug85016-expected.txt:

These new results are more correct. The width100percent-image case now
matches other browsers and is due to not setting the minPreferrredLogicalWidth to
0 if the height is a percentage. The bugs85016 case is different because we
now correctly add the border and padding width to the preferred width of the image.

3:51 PM Changeset in webkit [142930] by rniwa@webkit.org
  • 2 edits in trunk/LayoutTests

Add a crash test expectation to media/media-captions.html on Mac per bug 109869.

  • platform/mac/TestExpectations:
3:49 PM Changeset in webkit [142929] by jochen@chromium.org
  • 15 edits in trunk/Tools

[chromium] move pixel generation logic to TestRunner library
https://bugs.webkit.org/show_bug.cgi?id=109686

Reviewed by Stephen White.

  • DumpRenderTree/DumpRenderTree.gyp/DumpRenderTree.gyp:
  • DumpRenderTree/chromium/TestRunner/public/WebTestDelegate.h:
  • DumpRenderTree/chromium/TestRunner/public/WebTestInterfaces.h:

(WebTestRunner):

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

(WebTestRunner):

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

(WebTestRunner::TestInterfaces::~TestInterfaces):
(WebTestRunner::TestInterfaces::setWebView):
(WebTestRunner::TestInterfaces::proxy):
(WebTestRunner):

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

(WebTestRunner):
(TestInterfaces):

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

(WebTestRunner::TestRunner::setWebView):
(WebTestRunner):
(WebTestRunner::TestRunner::setBackingScaleFactor):
(WebTestRunner::TestRunner::display):
(WebTestRunner::TestRunner::displayInvalidatedRegion):

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

(WebTestRunner):
(TestRunner):

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

(WebTestRunner::WebTestInterfaces::setWebView):

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

(WebTestRunner::WebTestProxyBase::reset):
(WebTestRunner::WebTestProxyBase::capturePixels):
(WebTestRunner):
(WebTestRunner::WebTestProxyBase::paintRect):
(WebTestRunner::WebTestProxyBase::paintInvalidatedRegion):
(WebTestRunner::WebTestProxyBase::paintPagesWithBoundaries):
(WebTestRunner::WebTestProxyBase::canvas):
(WebTestRunner::WebTestProxyBase::displayRepaintMask):
(WebTestRunner::WebTestProxyBase::display):
(WebTestRunner::WebTestProxyBase::displayInvalidatedRegion):
(WebTestRunner::WebTestProxyBase::discardBackingStore):
(WebTestRunner::WebTestProxyBase::setWindowRect):
(WebTestRunner::WebTestProxyBase::userMediaClient):

  • DumpRenderTree/chromium/TestShell.cpp:

(TestShell::createMainWindow):
(TestShell::~TestShell):
(TestShell::showDevTools):
(TestShell::closeDevTools):
(TestShell::dump):

  • DumpRenderTree/chromium/WebViewHost.cpp:

(WebViewHost::setWindowRect):
(WebViewHost::setDeviceScaleFactor):
(WebViewHost::reset):

  • DumpRenderTree/chromium/WebViewHost.h:

(WebViewHost):

3:45 PM Changeset in webkit [142928] by schenney@chromium.org
  • 4 edits
    2 adds in trunk

Crash when selecting a HarfBuzz text run with SVG fonts included
https://bugs.webkit.org/show_bug.cgi?id=109833

Reviewed by Tony Chang.

Source/WebCore:

There is an assert in SimpleFontData::applyTransforms that should not
be there, as the code is valid for SVG fonts. If we get past this,
then the HarfBuzz text run shaping code assumes that font data has a
SkTypeface member, and SVG fonts do not. So we crash there too.

For now, we fix the crashes. This still leaves incorrect selection
rectangles in this situation, on all platforms, tracked in
https://bugs.webkit.org/show_bug.cgi?id=108133

Test: svg/css/font-face-crash.html

  • platform/graphics/SimpleFontData.h:

(WebCore::SimpleFontData::applyTransforms): Remove ASSERT_NOT_REACHED as the code can legally be reached for SVG fonts.

  • platform/graphics/harfbuzz/HarfBuzzShaper.cpp:

(WebCore::HarfBuzzShaper::shapeHarfBuzzRuns): Check for SVG fonts in the text run, and abort if we find them.

LayoutTests:

Only known to crash on Chromium Linux (without the patch), but other platforms may be affected.

  • svg/css/font-face-crash-expected.txt: Added.
  • svg/css/font-face-crash.html: Added.
3:42 PM Changeset in webkit [142927] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebKit/chromium

[chromium] No triggering autofill on unfocus
https://bugs.webkit.org/show_bug.cgi?id=109735

Patch by David Trainor <dtrainor@chromium.org> on 2013-02-14
Reviewed by James Robinson.

Need to notify the autofill client to not process text changes when we're setting
focus to false and are trying to commit a composition.

  • public/WebAutofillClient.h:

(WebAutofillClient):
(WebKit::WebAutofillClient::setIgnoreTextChanges):
(WebKit::WebAutofillClient::~WebAutofillClient):

  • src/WebViewImpl.cpp:

(WebKit::WebViewImpl::setFocus):

  • tests/WebViewTest.cpp:
3:14 PM Changeset in webkit [142926] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebCore

[BlackBerry] Notify platform layer of failing to get authentication credentials
https://bugs.webkit.org/show_bug.cgi?id=109751

Patch by Joe Mason <jmason@rim.com> on 2013-02-13
Reviewed by Yong Li.
Reviewed internally by Leo Yang
Internal PR: 181302

The BlackBerry platform network layer needs to know if a stream failed to get authentication credentials.
This patch is using newly added stream API to do it.

No functionality changed no new tests.

  • platform/network/blackberry/NetworkJob.cpp:

(WebCore::NetworkJob::notifyAuthReceived):
(WebCore::NetworkJob::sendRequestWithCredentials):
(WebCore::NetworkJob::notifyChallengeResult):

  • platform/network/blackberry/NetworkJob.h:
  • platform/network/blackberry/NetworkManager.cpp:

(WebCore::protectionSpaceToPlatformAuth):
(WebCore):
(WebCore::setAuthCredentials):

  • platform/network/blackberry/NetworkManager.h:

(WebCore):

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

[GTK] Fix indentation in GNUmakefile.list.am.
https://bugs.webkit.org/show_bug.cgi?id=109854

Patch by Kondapally Kalyan <kalyan.kondapally@intel.com> on 2013-02-14
Reviewed by Martin Robinson.

This patch fixes indentation in GNUmakefile.list.am.

  • GNUmakefile.list.am:
2:50 PM Changeset in webkit [142924] by mitz@apple.com
  • 2 edits in trunk/Source/WTF

No easy way to use a RetainPtr as a key in a HashMap using object (rather than pointer) equality
https://bugs.webkit.org/show_bug.cgi?id=109864

Reviewed by Sam Weinig and Benjamin Poulain.

Added RetainPtrObjectHashTraits and RetainPtrObjectHash, which use CFEqual
and CFHash.

  • wtf/RetainPtr.h:

(RetainPtrObjectHashTraits):
(WTF::RetainPtrObjectHashTraits::emptyValue):
(WTF::RetainPtrObjectHashTraits::constructDeletedValue):
(WTF::RetainPtrObjectHashTraits::isDeletedValue):
(WTF):
(WTF::RetainPtrObjectHash::hash):
(WTF::RetainPtrObjectHash::equal):
(RetainPtrObjectHash):

2:46 PM Changeset in webkit [142923] by tony@chromium.org
  • 81 edits in trunk

Unreviewed, set svn:eol-style native for .sln, .vsprops, and .vcproj files.
https://bugs.webkit.org/show_bug.cgi?id=96934

2:34 PM Changeset in webkit [142922] by inferno@chromium.org
  • 3 edits
    2 adds in trunk

Bad cast in RenderBlock::splitBlocks.
https://bugs.webkit.org/show_bug.cgi?id=108691

Reviewed by Levi Weintraub.

Source/WebCore:

Test: fast/multicol/remove-child-split-flow-crash.html

  • rendering/RenderBlock.cpp:

(WebCore):
(WebCore::RenderBlock::addChildIgnoringAnonymousColumnBlocks): rename gIsInColumnFlowSplit to gColumnFlowSplitEnabled
and use it to decide when to do the column flow split or not.
(WebCore::RenderBlock::removeChild): Do not allow column flow split inside removeChild
since we might be merging anonymous blocks.

LayoutTests:

  • fast/multicol/remove-child-split-flow-crash-expected.txt: Added.
  • fast/multicol/remove-child-split-flow-crash.html: Added.
2:31 PM Changeset in webkit [142921] by mark.lam@apple.com
  • 32 edits
    4 adds in trunk/Source/WebCore

Split SQLTransaction work between the frontend and backend.
https://bugs.webkit.org/show_bug.cgi?id=104750.

Reviewed by Sam Weinig.

This is part of the webdatabase refactoring for webkit2.

  1. Changed how transactions are created.
  • Database::runTransaction() first creates a SQLTransaction frontend which encapsulates the 3 script callbacks. It then passes the SQLTransaction to the backend database to create the SQLTransactionBackend.
  • The SQLTransactionBackend manages all SQLiteTransaction work.
  1. Introduced SQLTransactionState and SQLTransactionStateMachine.
  • Instead of tracking the transaction phases as "steps" in m_nextStep, we now use m_nextState which is of enum class SQLTransactionState. Unlike m_nextStep which is a pointer to a "step" function, m_nextState is a state variable which is used to index into a state dispatch table.
  • Both SQLTransaction and SQLTransactionBackend now extends SQLTransactionStateMachine, and uses its dispatch mechanism based on the SQLTransactionState.
  • Instead of having 1 state machine instances, there are 2: 1 in the frontend, and 1 in the backend. The 2 have mirrored states, and transfers work to the other state machine when needed.
  • Previously, state functions can be called inline from other states. They are now only called from the state machines runStateMachine() method. This makes it possible to isolate the state transition mechanism going between the sides (frontend and backend) to 2 functions only: SQLTransaction::sendToBackendState() and SQLTransactionBackend::sendToFrontendState().
  1. Consolidated cleanup work (mostly) to a unified cleanup function.
  1. Changed the frontend Database::runTransaction() to use a ChangeVersionData* (instead of a ChangeVersionWrapper ref ptr).
  • This is necessary because ChangeVersionWrapper contains functionality used in processing a transaction (to be invoked in the backend). Instead, what we want is to simply pass the 2 old and new version strings to the backend. The new ChangeVersionData simply packages up these 2 strings.
  • This makes ChangeVersionData easy to serialize for IPC messaging later.
  1. Moved some transaction functions back to the frontend SQLTransaction because they belong there.
  1. Moved some Database functions to its DatabaseBackendAsync backend now that the transaction has been split up.
  • This is driven naturally by those functions being used exclusively in the backend for transaction work.
  • SQLTransactionClient, SQLTransactionCoordinator, and SQLTransactionWrapper are now exclusively backend data structures. SQLTransactionClient still has some frontend "pollution" that I'll fix later.
  1. Made the few database report functions used only by Chromium conditional on PLATFORM(chromium).
  • The report functions gets re-routed to Chromium's DatabaseObserver which further routes them elsewhere. It is unclear how Chromium uses these routed messages, and I am therefore not able to determine how they should work in a frontend/backend world. So, I'm #ifdef'ing them out. They still work like in the old way for Chromium.
  1. Added new files to the build / project files.
  1. Updated / added comments about how the transaction and its states work.

No new tests.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • Modules/webdatabase/AbstractDatabaseServer.h:
  • Modules/webdatabase/ChangeVersionData.h: Added.

(ChangeVersionData):
(WebCore::ChangeVersionData::ChangeVersionData):
(WebCore::ChangeVersionData::oldVersion):
(WebCore::ChangeVersionData::newVersion):

  • Modules/webdatabase/ChangeVersionWrapper.cpp:

(WebCore::ChangeVersionWrapper::performPreflight):
(WebCore::ChangeVersionWrapper::performPostflight):
(WebCore::ChangeVersionWrapper::handleCommitFailedAfterPostflight):

  • Modules/webdatabase/ChangeVersionWrapper.h:

(ChangeVersionWrapper):

  • Modules/webdatabase/Database.cpp:

(WebCore::Database::Database):
(WebCore::Database::close):
(WebCore::Database::changeVersion):
(WebCore::Database::transaction):
(WebCore::Database::readTransaction):
(WebCore::Database::runTransaction):
(WebCore::Database::reportStartTransactionResult):
(WebCore::Database::reportCommitTransactionResult):
(WebCore::Database::reportExecuteStatementResult):

  • Modules/webdatabase/Database.h:

(WebCore::Database::databaseContext):
(Database):
(WebCore::Database::reportStartTransactionResult):
(WebCore::Database::reportCommitTransactionResult):
(WebCore::Database::reportExecuteStatementResult):

  • Modules/webdatabase/DatabaseBackend.cpp:
  • Modules/webdatabase/DatabaseBackend.h:

(DatabaseBackend):
(WebCore::DatabaseBackend::reportOpenDatabaseResult):
(WebCore::DatabaseBackend::reportChangeVersionResult):
(WebCore::DatabaseBackend::reportStartTransactionResult):
(WebCore::DatabaseBackend::reportCommitTransactionResult):
(WebCore::DatabaseBackend::reportExecuteStatementResult):
(WebCore::DatabaseBackend::reportVacuumDatabaseResult):

  • Modules/webdatabase/DatabaseBackendAsync.cpp:

(WebCore::DatabaseBackendAsync::DatabaseBackendAsync):
(WebCore::DatabaseBackendAsync::runTransaction):
(WebCore::DatabaseBackendAsync::inProgressTransactionCompleted): Moved from frontend.
(WebCore::DatabaseBackendAsync::scheduleTransaction): Moved from frontend.
(WebCore::DatabaseBackendAsync::scheduleTransactionStep): Moved from frontend.
(WebCore::DatabaseBackendAsync::transactionClient): Moved from frontend.
(WebCore::DatabaseBackendAsync::transactionCoordinator): Moved from frontend.

  • Modules/webdatabase/DatabaseBackendAsync.h:

(DatabaseBackendAsync):

  • Modules/webdatabase/DatabaseBackendContext.cpp:

(WebCore::DatabaseBackendContext::frontend):

  • Modules/webdatabase/DatabaseBackendContext.h:

(DatabaseBackendContext):

  • Modules/webdatabase/DatabaseManager.cpp:
  • Modules/webdatabase/DatabaseManager.h:

(DatabaseManager):

  • Modules/webdatabase/DatabaseServer.cpp:
  • Modules/webdatabase/DatabaseServer.h:
  • Modules/webdatabase/DatabaseTask.cpp:

(WebCore::DatabaseBackendAsync::DatabaseTransactionTask::doPerformTask):

  • Modules/webdatabase/SQLTransaction.cpp:

(WebCore::SQLTransaction::create):
(WebCore::SQLTransaction::SQLTransaction):
(WebCore::SQLTransaction::setBackend):
(WebCore::SQLTransaction::stateFunctionFor):
(WebCore::SQLTransaction::requestTransitToState):
(WebCore::SQLTransaction::nextStateForTransactionError):

  • was handleTransactionError(). There's also a backend version.

(WebCore::SQLTransaction::deliverTransactionCallback): Moved from backend.
(WebCore::SQLTransaction::deliverTransactionErrorCallback): Moved from backend.
(WebCore::SQLTransaction::deliverStatementCallback): Moved from backend.
(WebCore::SQLTransaction::deliverQuotaIncreaseCallback): Moved from backend.
(WebCore::SQLTransaction::deliverSuccessCallback): Moved from backend.
(WebCore::SQLTransaction::unreachableState):
(WebCore::SQLTransaction::sendToBackendState):
(WebCore::SQLTransaction::performPendingCallback): Moved from backend.
(WebCore::SQLTransaction::executeSQL): Moved from backend.
(WebCore::SQLTransaction::checkAndHandleClosedOrInterruptedDatabase):
(WebCore::SQLTransaction::clearCallbackWrappers):

  • Modules/webdatabase/SQLTransaction.h:

(SQLTransaction):
(WebCore::SQLTransaction::database):
(WebCore::SQLTransaction::hasCallback):
(WebCore::SQLTransaction::hasSuccessCallback):
(WebCore::SQLTransaction::hasErrorCallback):

  • Modules/webdatabase/SQLTransactionBackend.cpp:

(WebCore::SQLTransactionBackend::create):
(WebCore::SQLTransactionBackend::SQLTransactionBackend):
(WebCore::SQLTransactionBackend::doCleanup):
(WebCore::SQLTransactionBackend::transactionError):
(WebCore::SQLTransactionBackend::setShouldRetryCurrentStatement):
(WebCore::SQLTransactionBackend::stateFunctionFor):
(WebCore::SQLTransactionBackend::enqueueStatement):
(WebCore::SQLTransactionBackend::checkAndHandleClosedOrInterruptedDatabase):
(WebCore::SQLTransactionBackend::performNextStep):
(WebCore::SQLTransactionBackend::notifyDatabaseThreadIsShuttingDown):
(WebCore::SQLTransactionBackend::acquireLock):
(WebCore::SQLTransactionBackend::lockAcquired):
(WebCore::SQLTransactionBackend::openTransactionAndPreflight):
(WebCore::SQLTransactionBackend::runStatements):
(WebCore::SQLTransactionBackend::runCurrentStatementAndGetNextState):

  • was runCurrentStatement().

(WebCore::SQLTransactionBackend::nextStateForCurrentStatementError):

  • was handleCurrentStatementError().

(WebCore::SQLTransactionBackend::postflightAndCommit):
(WebCore::SQLTransactionBackend::cleanupAndTerminate):
(WebCore::SQLTransactionBackend::nextStateForTransactionError):

  • was handleTransactionError(). There's also a frontend version.

(WebCore::SQLTransactionBackend::cleanupAfterTransactionErrorCallback):
(WebCore::SQLTransactionBackend::requestTransitToState):
(WebCore::SQLTransactionBackend::unreachableState):
(WebCore::SQLTransactionBackend::sendToFrontendState):

  • Modules/webdatabase/SQLTransactionBackend.h:

(SQLTransactionWrapper):
(SQLTransactionBackend):
(WebCore::SQLTransactionBackend::database):

  • Modules/webdatabase/SQLTransactionClient.cpp:

(WebCore::SQLTransactionClient::didCommitWriteTransaction):
(WebCore::SQLTransactionClient::didExecuteStatement):

  • Modules/webdatabase/SQLTransactionCoordinator.cpp:

(WebCore::getDatabaseIdentifier):

  • Modules/webdatabase/SQLTransactionState.h: Added.
  • Modules/webdatabase/SQLTransactionStateMachine.cpp: Added.

(WebCore::nameForSQLTransactionState):

  • was debugStepName().
  • Modules/webdatabase/SQLTransactionStateMachine.h: Added.

(SQLTransactionStateMachine):
(WebCore::SQLTransactionStateMachine::~SQLTransactionStateMachine):
(WebCore::::SQLTransactionStateMachine):
(WebCore::::setStateToRequestedState):
(WebCore::::runStateMachine):

  • Target.pri:
  • WebCore.gypi:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • inspector/InspectorDatabaseAgent.cpp:
2:30 PM Changeset in webkit [142920] by leviw@chromium.org
  • 1 edit
    2 copies in branches/chromium/1410

Merge 142788. Requested by Christian Biesinger <cbiesinger@chromium.org>.

Crash when encountering <object style="resize:both;">
https://bugs.webkit.org/show_bug.cgi?id=109728

Source/WebCore:

See also https://code.google.com/p/chromium/issues/detail?id=175535
This bug can be reproduced on
http://dramalink.net/tudou.y/?xink=162601060

Patch by Christian Biesinger <cbiesinger@chromium.org> on 2013-02-13
Reviewed by Eric Seidel.

Test: fast/css/resize-object-crash.html

  • rendering/RenderWidget.cpp:

(WebCore::RenderWidget::paint):
Only call paintResizer() if we have a layer and canResize() is true

LayoutTests:

See also https://code.google.com/p/chromium/issues/detail?id=175535

Patch by Christian Biesinger <cbiesinger@chromium.org> on 2013-02-13
Reviewed by Eric Seidel.

  • fast/css/resize-object-crash-expected.txt: Added.
  • fast/css/resize-object-crash.html: Added.

TBR=commit-queue@webkit.org
Review URL: https://codereview.chromium.org/12252048

2:27 PM Changeset in webkit [142919] by andersca@apple.com
  • 7 edits
    1 move in trunk

Add WKContextIsPlugInUpdateAvailable
https://bugs.webkit.org/show_bug.cgi?id=109862
<rdar://problem/13173140>

Reviewed by Sam Weinig.

Source/WebKit2:

  • UIProcess/API/C/mac/WKContextPrivateMac.h:
  • UIProcess/API/C/mac/WKContextPrivateMac.mm: Renamed from Source/WebKit2/UIProcess/API/C/mac/WKContextPrivateMac.cpp.

(WKContextGetProcessSuppressionEnabled):
(WKContextSetProcessSuppressionEnabled):
(WKContextIsPlugInUpdateAvailable):

  • WebKit2.xcodeproj/project.pbxproj:

WebKitLibraries:

Roll WebKitSystemInterface DEPS.

  • WebKitSystemInterface.h:
  • libWebKitSystemInterfaceLion.a:
  • libWebKitSystemInterfaceMountainLion.a:
2:26 PM Changeset in webkit [142918] by jer.noble@apple.com
  • 10 edits in trunk

EME: replace MediaKeySession.addKey() -> update()
https://bugs.webkit.org/show_bug.cgi?id=109461

Source/WebCore:

Reviewed by Eric Carlson.

No new tests; updated media/encrypted-media/encrypted-media-v2-syntax.html test.

In the latest draft of the Encrypted Media Spec, the addKeys() method has been replaced
with update().

  • Modules/encryptedmedia/CDM.h:
  • Modules/encryptedmedia/MediaKeySession.cpp:

(WebCore::MediaKeySession::update):
(WebCore::MediaKeySession::addKeyTimerFired):

  • Modules/encryptedmedia/MediaKeySession.h:
  • Modules/encryptedmedia/MediaKeySession.idl:
  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::webkitAddKey):

  • testing/MockCDM.cpp:

(WebCore::MockCDMSession::update):

LayoutTests:

Rebaseline after API change.

Reviewed by Eric Carlson.

  • media/encrypted-media/encrypted-media-v2-syntax-expected.txt:
  • media/encrypted-media/encrypted-media-v2-syntax.html:
2:04 PM Changeset in webkit [142917] by roger_fong@apple.com
  • 51 edits
    5 moves in trunk

Move all .props files from WebKitLibraries folder to WebKit Source folder.
https://bugs.webkit.org/show_bug.cgi?id=109761

Reviewed by Brent Fulgham.

  • win/tools/vsprops/FeatureDefines.props: Removed.
  • win/tools/vsprops/common.props: Removed.
  • win/tools/vsprops/debug.props: Removed.
  • win/tools/vsprops/release.props: Removed.
  • win/tools/vsprops/releaseproduction.props: Removed.
2:01 PM Changeset in webkit [142916] by Lucas Forschler
  • 7 edits
    3 copies in tags/Safari-537.31.1/Source/WebKit2

Merged r142900. <rdar://problem/13205468>

2:00 PM Changeset in webkit [142915] by tony@chromium.org
  • 14 edits in trunk

Unreviewed, set svn:eol-style CRLF for .sln files.

Source/JavaScriptCore:

  • JavaScriptCore.vcproj/JavaScriptCore.sln: Modified property svn:eol-style.
  • JavaScriptCore.vcproj/JavaScriptCoreSubmit.sln: Modified property
  • svn:eol-style.

Source/ThirdParty:

  • gtest/msvc/gtest-md.sln: Added property svn:eol-style.
  • gtest/msvc/gtest.sln: Added property svn:eol-style.

Source/WebCore:

  • WebCore.vcproj/WebCore.sln: Modified property svn:eol-style.
  • WebCore.vcproj/WebCore.submit.sln: Modified property svn:eol-style.

Source/WebKit:

  • WebKit.vcxproj/WebKit.sln: Modified property svn:eol-style.

Source/WebKit/win:

  • WebKit.vcproj/WebKit.sln: Modified property svn:eol-style.
  • WebKit.vcproj/WebKit.submit.sln: Modified property svn:eol-style.

Source/WTF:

  • WTF.vcproj/WTF.sln: Added property svn:eol-style.

Tools:

  • CLWrapper/CLWrapper.sln: Modified property svn:eol-style.
  • DumpRenderTree/DumpRenderTree.sln: Modified property svn:eol-style.
  • MIDLWrapper/MIDLWrapper.sln: Modified property svn:eol-style.
  • WebKitTestRunner/WebKitTestRunner.sln: Modified property svn:eol-style.
1:58 PM Changeset in webkit [142914] by tony@chromium.org
  • 7 edits in trunk

Unreviewed, set svn:eol-style CRLF for .sln files.

Source/JavaScriptCore:

  • JavaScriptCore.vcproj/JavaScriptCore.sln: Modified property svn:eol-style.
  • JavaScriptCore.vcproj/JavaScriptCoreSubmit.sln: Modified property svn:eol-style.

Source/ThirdParty:

  • gtest/msvc/gtest-md.sln: Added property svn:eol-style.
  • gtest/msvc/gtest.sln: Added property svn:eol-style.

Source/WebCore:

  • WebCore.vcproj/WebCore.sln: Modified property svn:eol-style.
  • WebCore.vcproj/WebCore.submit.sln: Modified property svn:eol-style.

Source/WebKit:

  • WebKit.vcxproj/WebKit.sln: Modified property svn:eol-style.

Source/WebKit/win:

  • WebKit.vcproj/WebKit.sln: Modified property svn:eol-style.
  • WebKit.vcproj/WebKit.submit.sln: Modified property svn:eol-style.

Source/WTF:

  • WTF.vcproj/WTF.sln: Added property svn:eol-style.

Tools:

  • CLWrapper/CLWrapper.sln: Modified property svn:eol-style.
  • DumpRenderTree/DumpRenderTree.sln: Modified property svn:eol-style.
  • MIDLWrapper/MIDLWrapper.sln: Modified property svn:eol-style.
  • WebKitTestRunner/WebKitTestRunner.sln: Modified property svn:eol-style.
1:56 PM Changeset in webkit [142913] by aelias@chromium.org
  • 4 edits in trunk/Source/WebKit/chromium

[chromium] Fix scaling in WebViewImpl::handleGestureEvent, second try
https://bugs.webkit.org/show_bug.cgi?id=109671

Reviewed by James Robinson.

My patch 142571 broke a bunch of things in handleGestureEvent that
assumed the event came in scaled, most notably tap highlight and
double-tap zoom. Switch those to PlatformGestureEvent.

142808 was an earlier version of this patch that was reverted
due to fling events asserting they can't be converted to
PlatformGestureEvent. This version moves fling earlier in the
function to avoid that.

  • src/WebViewImpl.cpp:

(WebKit::WebViewImpl::handleGestureEvent):
(WebKit::WebViewImpl::bestTapNode):
(WebKit::WebViewImpl::enableTapHighlight):

  • src/WebViewImpl.h:

(WebViewImpl):

  • tests/LinkHighlightTest.cpp:

(WebCore::TEST):

1:54 PM Changeset in webkit [142912] by Lucas Forschler
  • 1 delete in tags/Safari-537.31.1/Safari-537.31
1:54 PM Changeset in webkit [142911] by dpranke@chromium.org
  • 2 edits in trunk/Source/WebKit/chromium

Unreviewed, rolling out r142901.
http://trac.webkit.org/changeset/142901

r182258 introduces a dependency on chrome.gyp that breaks the win
build. Rolling back to r182150 until I can work up a workaround.

  • DEPS:
1:51 PM Changeset in webkit [142910] by eric.carlson@apple.com
  • 2 edits in trunk/Source/WebCore

[Mac] adjust caption color user preference calculation
https://bugs.webkit.org/show_bug.cgi?id=109840

Reviewed by Dean Jackson.

No new tests, it isn't possible to test this with DRT.

  • page/CaptionUserPreferencesMac.mm:

(WebCore::CaptionUserPreferencesMac::captionsWindowCSS): The color is "important" if either the

color or opacity are supposed to override.

(WebCore::CaptionUserPreferencesMac::captionsBackgroundCSS): Ditto.
(WebCore::CaptionUserPreferencesMac::captionsTextColor): Ditto.

1:49 PM Changeset in webkit [142909] by commit-queue@webkit.org
  • 7 edits in trunk/Source/WebCore

Numeric identifiers of events are not guaranteed to be unique
https://bugs.webkit.org/show_bug.cgi?id=103259

Patch by Cosmin Truta <ctruta@rim.com> on 2013-02-14
Reviewed by Alexey Proskuryakov.

The results of setTimeout, setInterval and navigator.geolocation.watchPosition
are positive integer values extracted from a simple circular sequential number
generator, whose uniqueness can be guaranteed for no more than 231 calls to
any of these functions. In order to provide this guarantee beyond this limit,
we repeatedly ask for the next sequential id until we get one that's not used
already.

This solution works instantly under normal circumstances, when there are few
live timeout ids or geolocation ids at any given moment. Handling millions of
live ids will require another solution.

No new tests. Brief tests of uniqueness already exist.
Moreover, reproducing this particular issue would require 231 set/clear
function calls, which is prohibitively expensive.

  • Modules/geolocation/Geolocation.cpp:

(WebCore::Geolocation::Watchers::add): Rename from Watchers::set; return false if watch id already exists.
(WebCore::Geolocation::watchPosition): Repeat until the new watch id is unique.

  • Modules/geolocation/Geolocation.h:

(Watchers): Rename Watchers::set to Watchers::add.

  • Modules/geolocation/Geolocation.idl: Rename the argument of Geolocation::clearWatch to WatchID.
  • dom/ScriptExecutionContext.cpp:

(WebCore::ScriptExecutionContext::ScriptExecutionContext): Update initialization.
(WebCore::ScriptExecutionContext::circularSequentialID): Rename from newUniqueID; remove FIXME note.

  • dom/ScriptExecutionContext.h:

(ScriptExecutionContext): Rename ScriptExecutionContext::newUniqueID to ScriptExecutionContext::circularSequentialID.
(WebCore::ScriptExecutionContext::addTimeout): Return false (do not assert) if timeout id already exists.

  • page/DOMTimer.cpp:

(WebCore::DOMTimer::DOMTimer): Repeat until the new timeout id is unique.

1:40 PM Changeset in webkit [142908] by zandobersek@gmail.com
  • 7 edits in trunk

[GTK] Errors when building WebKit2 with Clang
https://bugs.webkit.org/show_bug.cgi?id=109603

Reviewed by Alexey Proskuryakov.

Source/WebKit2:

  • UIProcess/API/gtk/WebKitUIClient.cpp:

(setWindowFrame): Cast the position parameters to the integer type when constructing the GdkRectangle.

  • UIProcess/Authentication/WebCredential.cpp: Add an empty implementation of the newly specified destructor.
  • UIProcess/Authentication/WebCredential.h: Work around the incomplete WebCertificateInfo type errors thrown in the inline

RefPtr destructor of the m_certificateInfo class member by defining a destructor in the class.

  • WebProcess/WebCoreSupport/WebEditorClient.h: The GTK-specific methods are not virtual and as such cannot be overriden.

The OVERRIDE keywords are thus unnecessary.

Tools:

  • WebKitTestRunner/gtk/PlatformWebViewGtk.cpp:

(WTR::PlatformWebView::resizeTo): Cast the width and height parameters to the integer
type when constructing the GtkAllocation.

1:34 PM Changeset in webkit [142907] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Unreviewed, rolling out r142825.
http://trac.webkit.org/changeset/142825
https://bugs.webkit.org/show_bug.cgi?id=109856

Causes some inspector tests to time out (Requested by anttik
on #webkit).

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

  • platform/mac/SharedTimerMac.mm:

(WebCore):
(WebCore::PowerObserver::restartSharedTimer):
(WebCore::setSharedTimerFireInterval):
(WebCore::stopSharedTimer):

1:31 PM Changeset in webkit [142906] by Lucas Forschler
  • 1 copy in tags/Safari-537.31.1/Safari-537.31

New Tag.

1:30 PM Changeset in webkit [142905] by Lucas Forschler
  • 1 copy in tags/Safari-537.31.1

New Tag.

1:18 PM Changeset in webkit [142904] by commit-queue@webkit.org
  • 12 edits
    2 adds in trunk

Support the ch unit from css3-values
https://bugs.webkit.org/show_bug.cgi?id=85755

Patch by Lamarque V. Souza <Lamarque.Souza@basyskom.com> on 2013-02-14
Reviewed by David Hyatt.

Original patch by Sumedha Widyadharma <sumedha.widyadharma@basyskom.com>.

Source/WebCore:

Test: fast/css/css3-ch-unit.html

  • css/CSSCalculationValue.cpp:

(WebCore::unitCategory):

  • css/CSSGrammar.y.in:
  • css/CSSParser.cpp:

(WebCore::CSSParser::validUnit):
(WebCore::CSSParser::createPrimitiveNumericValue):
(WebCore::CSSParser::parseValidPrimitive):
(WebCore::CSSParser::detectNumberToken):

  • css/CSSParserValues.cpp:

(WebCore::CSSParserValue::createCSSValue):

  • css/CSSPrimitiveValue.cpp:

(WebCore::isValidCSSUnitTypeForDoubleConversion):
(WebCore::CSSPrimitiveValue::cleanup):
(WebCore::CSSPrimitiveValue::computeLengthDouble):
(WebCore::CSSPrimitiveValue::customCssText):
(WebCore::CSSPrimitiveValue::cloneForCSSOM):

  • css/CSSPrimitiveValue.h:

(WebCore::CSSPrimitiveValue::isFontRelativeLength):
(WebCore::CSSPrimitiveValue::isLength):

  • platform/graphics/FontMetrics.h:

(WebCore::FontMetrics::FontMetrics):
(WebCore::FontMetrics::zeroWidth):
(WebCore::FontMetrics::setZeroWidth):
(FontMetrics):
(WebCore::FontMetrics::hasZeroWidth):
(WebCore::FontMetrics::setHasZeroWidth):

  • platform/graphics/SimpleFontData.cpp:

(WebCore::SimpleFontData::platformGlyphInit):

  • platform/graphics/SimpleFontData.h:

(WebCore::SimpleFontData::zeroGlyph):
(WebCore::SimpleFontData::setZeroGlyph):
(SimpleFontData):

  • platform/graphics/qt/SimpleFontDataQt.cpp:

(WebCore::SimpleFontData::platformInit):

LayoutTests:

  • fast/css/css3-ch-unit-expected.txt: Added.
  • fast/css/css3-ch-unit.html: Added.
1:16 PM Changeset in webkit [142903] by ddkilzer@apple.com
  • 10 edits in trunk/Source

[Mac] Clean up WARNING_CFLAGS
<http://webkit.org/b/109747>
<rdar://problem/13208373>

Reviewed by Mark Rowe.

Source/JavaScriptCore:

  • Configurations/Base.xcconfig: Use

GCC_WARN_64_TO_32_BIT_CONVERSION to enable and disable
-Wshorten-64-to-32 rather than WARNING_CFLAGS.

Source/WebCore:

  • Configurations/Base.xcconfig: Use

GCC_WARN_64_TO_32_BIT_CONVERSION to enable and disable
-Wshorten-64-to-32 rather than WARNING_CFLAGS.

Source/WebKit/mac:

  • Configurations/Base.xcconfig: Use

GCC_WARN_64_TO_32_BIT_CONVERSION to enable and disable
-Wshorten-64-to-32 rather than WARNING_CFLAGS.

Source/WebKit2:

  • Configurations/Base.xcconfig: Use

GCC_WARN_64_TO_32_BIT_CONVERSION to enable and disable
-Wshorten-64-to-32 rather than WARNING_CFLAGS.

Source/WTF:

  • Configurations/Base.xcconfig: Use

GCC_WARN_64_TO_32_BIT_CONVERSION to enable and disable
-Wshorten-64-to-32 rather than WARNING_CFLAGS.

1:11 PM Changeset in webkit [142902] by Christophe Dumez
  • 5 edits in trunk/Source/WebCore

Add addHTTPHeaderField() method to ResourceResponse
https://bugs.webkit.org/show_bug.cgi?id=109844

Reviewed by Adam Barth.

ResourceRequestBase provides both setHTTPHeaderField() and addHTTPHeaderField(). However,
ResourceResponseBase only provides setHTTPHeaderField(). This is a bit inconsistent. As a
result, the addHTTPHeaderField() functionality's implementation is duplicated in several
ports (at least chromium and soup).

This patch introduces addHTTPHeaderField() to ResourceResponseBase and makes use of it
in Chromium and Soup backends.

No new tests, no behavior change.

  • platform/chromium/support/WebURLResponse.cpp:

(WebKit::WebURLResponse::addHTTPHeaderField): Use ResourceResponseBase::addHTTPHeaderField().

  • platform/network/ResourceResponseBase.cpp:

(WebCore::ResourceResponseBase::updateHeaderParsedState): Move headers' parsed state update code
from setHTTPHeaderField() to a new updateHeaderParsedState() method to avoid code duplication.
(WebCore):
(WebCore::ResourceResponseBase::setHTTPHeaderField):
(WebCore::ResourceResponseBase::addHTTPHeaderField):

  • platform/network/ResourceResponseBase.h:

(ResourceResponseBase):

  • platform/network/soup/ResourceResponseSoup.cpp:

(WebCore::ResourceResponse::updateFromSoupMessageHeaders): Use ResourceResponseBase::addHTTPHeaderField().

1:08 PM Changeset in webkit [142901] by dpranke@chromium.org
  • 2 edits in trunk/Source/WebKit/chromium

Unreviewed, chromium roll 182150 -> 182448

  • DEPS:
12:53 PM Changeset in webkit [142900] by weinig@apple.com
  • 7 edits
    3 adds in trunk/Source/WebKit2

Add conversions between ObjC and C DOM wrappers
<rdar://problem/13205468>
https://bugs.webkit.org/show_bug.cgi?id=109851

Reviewed by Anders Carlsson.

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

(WKBundleRangeHandleCreate):

  • WebProcess/InjectedBundle/API/c/WKBundleRangeHandlePrivate.h: Added.
  • WebProcess/InjectedBundle/API/mac/WKDOMNode.mm:

(-[WKDOMNode _copyBundleNodeHandleRef]):

  • WebProcess/InjectedBundle/API/mac/WKDOMNodePrivate.h: Added.
  • WebProcess/InjectedBundle/API/mac/WKDOMRange.mm:

(-[WKDOMRange _copyBundleRangeHandleRef]):

  • WebProcess/InjectedBundle/API/mac/WKDOMRangePrivate.h: Added.
  • WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.cpp:

(WebKit::InjectedBundleRangeHandle::getOrCreate):

  • WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.h:

(InjectedBundleRangeHandle):

12:16 PM Changeset in webkit [142899] by pdr@google.com
  • 3 edits
    2 adds in trunk

Prevent inconsistent firstChild during document destruction
https://bugs.webkit.org/show_bug.cgi?id=106530

Reviewed by Abhishek Arya.

Source/WebCore:

During document destruction, addChildNodesToDeletionQueue can allow a container
node to have an invalid first child, causing a crash. This patch updates
addChildNodesToDeletionQueue to maintain a valid value for firstChild() even
while updating its children.

Test: svg/custom/animateMotion-path-change-crash.svg

  • dom/ContainerNodeAlgorithms.h:

(WebCore::Private::addChildNodesToDeletionQueue):

To ensure prevoiusSibling() is also valid, this code was slightly refactored
to call setPreviousSibling(0) on the next node instead of the current node.

LayoutTests:

  • svg/custom/animateMotion-path-change-crash-expected.txt: Added.
  • svg/custom/animateMotion-path-change-crash.svg: Added.
12:15 PM Changeset in webkit [142898] by jchaffraix@webkit.org
  • 3 edits in trunk/Source/WebCore

[CSS Grid Layout] Add an internal 2D grid representation to RenderGrid
https://bugs.webkit.org/show_bug.cgi?id=109714

Reviewed by Ojan Vafai.

This change introduces a 2D grid representation of the grid areas. Our implementation
is a straight Vector of Vectors for the grid areas, each grid area able to hold an
arbitrary number of RenderBox* so they hold a Vector of RenderBoxes. As an optimization,
each grid area has enough inline storage to hold one grid item which should cover
most cases.

In order to keep the code readable, a GridIterator was introduced to hide the new grid.

Refactoring, covered by existing tests.

  • rendering/RenderGrid.cpp:

(RenderGrid::GridIterator):
(WebCore::RenderGrid::GridIterator::GridIterator):
(WebCore::RenderGrid::GridIterator::nextGridItem):
Added a mono-directional iterator. In order to be more aligned with the rest of the code,
this iterator actually walks orthogonally to the |direction| (ie fixing the |direction|'s track).

  • rendering/RenderGrid.cpp:

(WebCore::RenderGrid::computePreferredLogicalWidths):
(WebCore::RenderGrid::layoutGridItems):
Updated these 2 functions to place the items on the grid and clear it at the end.

(WebCore::RenderGrid::computePreferredTrackWidth):
(WebCore::RenderGrid::resolveContentBasedTrackSizingFunctionsForItems):
Updated to use the GridIterator to walk over the rows / columns.

(WebCore::RenderGrid::placeItemsOnGrid):
Added this function that inserts the grid items into the right grid area.

  • rendering/RenderGrid.h:

(WebCore::RenderGrid::gridColumnCount):
(WebCore::RenderGrid::gridRowCount):
Added these helper functions.

11:53 AM Changeset in webkit [142897] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebCore

Unreviewed, rolling out r141990.
http://trac.webkit.org/changeset/141990
https://bugs.webkit.org/show_bug.cgi?id=109850

~5% regression on intl2 page cycler (Requested by kling on
#webkit).

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

  • platform/graphics/GlyphPage.h:

(WebCore::GlyphPage::create):
(WebCore::GlyphPage::glyphDataForCharacter):
(WebCore::GlyphPage::glyphDataForIndex):
(WebCore::GlyphPage::fontDataForCharacter):
(WebCore::GlyphPage::setGlyphDataForIndex):
(GlyphPage):
(WebCore::GlyphPage::copyFrom):
(WebCore::GlyphPage::clear):
(WebCore::GlyphPage::clearForFontData):
(WebCore::GlyphPage::GlyphPage):

  • platform/graphics/GlyphPageTreeNode.cpp:

(WebCore::GlyphPageTreeNode::initializePage):

  • rendering/svg/SVGTextRunRenderingContext.cpp:

(WebCore::SVGTextRunRenderingContext::glyphDataForCharacter):

11:31 AM Changeset in webkit [142896] by pilgrim@chromium.org
  • 10 edits
    2 moves
    1 add in trunk/Source

[Chromium] Move PlatformMessagePortChannel to WebCore
https://bugs.webkit.org/show_bug.cgi?id=109845

Reviewed by Adam Barth.

Part of a larger refactoring series; see tracking bug 106829.

Source/WebCore:

  • WebCore.gyp/WebCore.gyp:
  • WebCore.gypi:
  • dom/default/chromium: Added.
  • dom/default/chromium/PlatformMessagePortChannelChromium.cpp: Added.

(WebCore):
(WebCore::MessagePortChannel::create):
(WebCore::MessagePortChannel::createChannel):
(WebCore::MessagePortChannel::MessagePortChannel):
(WebCore::MessagePortChannel::~MessagePortChannel):
(WebCore::MessagePortChannel::entangleIfOpen):
(WebCore::MessagePortChannel::disentangle):
(WebCore::MessagePortChannel::postMessageToRemote):
(WebCore::MessagePortChannel::tryGetMessageFromRemote):
(WebCore::MessagePortChannel::close):
(WebCore::MessagePortChannel::isConnectedTo):
(WebCore::MessagePortChannel::hasPendingActivity):
(WebCore::MessagePortChannel::locallyEntangledPort):
(WebCore::PlatformMessagePortChannel::create):
(WebCore::PlatformMessagePortChannel::PlatformMessagePortChannel):
(WebCore::PlatformMessagePortChannel::~PlatformMessagePortChannel):
(WebCore::PlatformMessagePortChannel::createChannel):
(WebCore::PlatformMessagePortChannel::messageAvailable):
(WebCore::PlatformMessagePortChannel::entangleIfOpen):
(WebCore::PlatformMessagePortChannel::disentangle):
(WebCore::PlatformMessagePortChannel::postMessageToRemote):
(WebCore::PlatformMessagePortChannel::tryGetMessageFromRemote):
(WebCore::PlatformMessagePortChannel::close):
(WebCore::PlatformMessagePortChannel::isConnectedTo):
(WebCore::PlatformMessagePortChannel::hasPendingActivity):
(WebCore::PlatformMessagePortChannel::setEntangledChannel):
(WebCore::PlatformMessagePortChannel::webChannelRelease):

  • dom/default/chromium/PlatformMessagePortChannelChromium.h: Added.

(WebKit):
(WebCore):
(PlatformMessagePortChannel):

Source/WebKit/chromium:

  • WebKit.gyp:
  • src/PlatformMessagePortChannel.cpp: Removed.
  • src/PlatformMessagePortChannel.h: Removed.
  • src/SharedWorkerRepository.cpp:
  • src/WebDOMMessageEvent.cpp:
  • src/WebFrameImpl.cpp:
  • src/WebSharedWorkerImpl.cpp:
  • src/WebWorkerClientImpl.cpp:
11:22 AM Changeset in webkit [142895] by Chris Fleizach
  • 9 edits in trunk/Source/WebCore

Remove Leopard Accessibility support from WebCore (now that no port builds on Leopard)
https://bugs.webkit.org/show_bug.cgi?id=90250

Reviewed by Eric Seidel.

The Leopard era checks for accessibility lists and accessibility tables can be removed now.

  • accessibility/AccessibilityARIAGrid.cpp:

(WebCore):

  • accessibility/AccessibilityARIAGrid.h:

(AccessibilityARIAGrid):
(WebCore::AccessibilityARIAGrid::isTableExposableThroughAccessibility):

  • accessibility/AccessibilityList.cpp:

(WebCore::AccessibilityList::computeAccessibilityIsIgnored):

  • accessibility/AccessibilityList.h:
  • accessibility/AccessibilityTable.cpp:

(WebCore::AccessibilityTable::AccessibilityTable):
(WebCore::AccessibilityTable::init):

  • accessibility/AccessibilityTable.h:

(AccessibilityTable):

  • accessibility/mac/AXObjectCacheMac.mm:

(WebCore::AXObjectCache::postPlatformNotification):

  • accessibility/mac/WebAccessibilityObjectWrapper.mm:

(createAccessibilityRoleMap):

11:17 AM Changeset in webkit [142894] by eric@webkit.org
  • 2 edits in trunk/Source/WTF

String(Vector) behaves differently from String(vector.data(), vector.size()) for vectors with inline capacity in the size=0 case
https://bugs.webkit.org/show_bug.cgi?id=109784

Reviewed by Darin Adler.

This makes String(Vector) never return null strings.
Which matches behavior of String(UChar*, size_t)
for vectors with inlineCapacity, but differs from
String(UChar*, size_t) in the no-inlineCapacity case.

This incidentally will fix a behavioral regression
in the html threaded parser which came from converting
many String(UChar*, size_t) callsites to using String(Vector).

  • wtf/text/WTFString.h:

(String):
(WTF::String::String):

11:09 AM Changeset in webkit [142893] by commit-queue@webkit.org
  • 10 edits in trunk

Make outside-shape the default value for shape-inside
https://bugs.webkit.org/show_bug.cgi?id=109605

Patch by Bear Travis <betravis@adobe.com> on 2013-02-14
Reviewed by Levi Weintraub.

Source/WebCore:

Creating a single reference outside-shape value and setting it as the default
for shape-inside.

Existing tests cover the default value, just updating them to use outside-shape.

  • rendering/style/RenderStyle.cpp:

(WebCore::RenderStyle::initialShapeInside): Define a local static outside-shape
value.
(WebCore):

  • rendering/style/RenderStyle.h: Move the initialShapeInside method to the .cpp

file.

LayoutTests:

Updating tests to account for the new default value of shape-inside.

  • fast/exclusions/css-exclusions-disabled-expected.txt:
  • fast/exclusions/css-exclusions-disabled.html:
  • fast/exclusions/parsing-wrap-shape-inside-expected.txt:
  • fast/exclusions/parsing-wrap-shape-lengths-expected.txt:
  • fast/exclusions/parsing-wrap-shape-lengths.html:
  • fast/exclusions/script-tests/parsing-wrap-shape-inside.js:

(negative_test):

11:06 AM Changeset in webkit [142892] by roger_fong@apple.com
  • 3 edits
    1 add in trunk/Tools

Add eol-style=native to solution files. Add a new solution file.

  • DumpRenderTree/DumpRenderTree.vcxproj/DumpRenderTree.sln: Added property svn:eol-style.
  • TestWebKitAPI/TestWebKitAPI.vcxproj: Added property svn:eol-style. Modified property svn:ignore.
  • TestWebKitAPI/TestWebKitAPI.vcxproj/TestWebKitAPI.sln: Added.
10:49 AM Changeset in webkit [142891] by commit-queue@webkit.org
  • 7 edits in trunk/Source

Passing alpha to DeferredImageDecoder once decoding completes
https://bugs.webkit.org/show_bug.cgi?id=108892

Patch by Min Qin <qinmin@chromium.org> on 2013-02-14
Reviewed by Stephen White.

Source/WebCore:

We should pass hasAlpha value back to the DeferredImageDecoder once decoding is completed
Added unit tests in ImageFrameGeneratorTest.

  • platform/graphics/chromium/DeferredImageDecoder.cpp:

(WebCore::DeferredImageDecoder::frameHasAlphaAtIndex):

  • platform/graphics/chromium/ImageFrameGenerator.cpp:

(WebCore::ImageFrameGenerator::tryToScale):
(WebCore::ImageFrameGenerator::decode):

  • platform/graphics/chromium/LazyDecodingPixelRef.cpp:

(WebCore::LazyDecodingPixelRef::LazyDecodingPixelRef):
(WebCore::LazyDecodingPixelRef::onUnlockPixels):

  • platform/graphics/chromium/LazyDecodingPixelRef.h:

(WebCore::LazyDecodingPixelRef::hasAlpha):
(LazyDecodingPixelRef):

  • platform/graphics/chromium/ScaledImageFragment.cpp:

(WebCore::ScaledImageFragment::ScaledImageFragment):

  • platform/graphics/chromium/ScaledImageFragment.h:

(WebCore::ScaledImageFragment::create):
(ScaledImageFragment):
(WebCore::ScaledImageFragment::hasAlpha):

Source/WebKit/chromium:

Add test to check that alpha value is passed from the decoder to ImageFrameGenerator.

  • tests/ImageFrameGeneratorTest.cpp:

(WebCore::MockImageDecoderFactory::create):
(WebCore::TEST_F):

  • tests/MockImageDecoder.h:

(WebCore::MockImageDecoder::MockImageDecoder):
(WebCore::MockImageDecoder::setFrameHasAlpha):
(MockImageDecoder):
(WebCore::MockImageDecoder::frameHasAlphaAtIndex):

10:17 AM Changeset in webkit [142890] by dgrogan@chromium.org
  • 2 edits in trunk/Source/WebCore

IndexedDB: Add a few more histogram calls
https://bugs.webkit.org/show_bug.cgi?id=109762

Reviewed by Tony Chang.

A few places where commits could fail weren't being logged.

  • Modules/indexeddb/IDBBackingStore.cpp:

(WebCore::IDBBackingStore::deleteDatabase):
(WebCore::IDBBackingStore::Transaction::commit):

9:53 AM Changeset in webkit [142889] by tony@chromium.org
  • 4 edits
    2 adds in trunk

Padding and border changes doesn't trigger relayout of children
https://bugs.webkit.org/show_bug.cgi?id=109639

Reviewed by Kent Tamura.

Source/WebCore:

In RenderBlock::layoutBlock, we only relayout our children if our logical width
changes. This misses cases where our logical width doesn't change (i.e., padding
or border changes), but our content width does change.

This is a more general case of bug 104997.

Test: fast/block/dynamic-padding-border.html

  • rendering/RenderBox.cpp:

(WebCore::borderOrPaddingLogicalWidthChanged): Only check if the logical width changed.
(WebCore::RenderBox::styleDidChange): Drop the border-box condition since this can happen
even without border-box box sizing.

LayoutTests:

  • fast/block/dynamic-padding-border-expected.txt: Added.
  • fast/block/dynamic-padding-border.html: Added.
  • fast/table/border-collapsing/cached-change-row-border-width-expected.txt: We should have been relaying

out the table when the border changed. The pixel results in this case is the same, but the
render tree shows the difference.

9:52 AM Changeset in webkit [142888] by commit-queue@webkit.org
  • 6 edits in trunk/Source/WebCore

Web Inspector: fix closure compilation warnings caused by setVariableValue change
https://bugs.webkit.org/show_bug.cgi?id=109488

Patch by Peter Rybin <prybin@chromium.org> on 2013-02-14
Reviewed by Pavel Feldman.

Annotations are fixed as required by closure compiler.
Parameters in Inspector.json are reordered as required.

  • inspector/InjectedScriptExterns.js:

(InjectedScriptHost.prototype.setFunctionVariableValue):
(JavaScriptCallFrame.prototype.setVariableValue):

  • inspector/InjectedScriptSource.js:

(.):

  • inspector/Inspector.json:
  • inspector/InspectorDebuggerAgent.cpp:

(WebCore::InspectorDebuggerAgent::setVariableValue):

  • inspector/InspectorDebuggerAgent.h:

(InspectorDebuggerAgent):

9:47 AM Changeset in webkit [142887] by tommyw@google.com
  • 3 edits in trunk/Source/WebCore

MediaStream API: RTCDataChannel triggers a use-after-free
https://bugs.webkit.org/show_bug.cgi?id=109806

Reviewed by Adam Barth.

Making sure RTCPeerConnection::stop() is always called at least once.
Also making sure that RTCDataChannels state gets set to Closed correctly.

Hard to test in WebKit but covered by Chromium tests.

  • Modules/mediastream/RTCDataChannel.cpp:

(WebCore::RTCDataChannel::stop):

  • Modules/mediastream/RTCPeerConnection.cpp:

(WebCore::RTCPeerConnection::~RTCPeerConnection):
(WebCore::RTCPeerConnection::stop):

9:38 AM Changeset in webkit [142886] by vsevik@chromium.org
  • 5 edits in trunk

Web Inspector: [Regression] When several consecutive characters are typed each of them is marked as undoable state.
https://bugs.webkit.org/show_bug.cgi?id=109823

Reviewed by Pavel Feldman.

Source/WebCore:

  • inspector/front-end/TextEditorModel.js:

(WebInspector.TextEditorModel.endsWithBracketRegex.):

LayoutTests:

  • inspector/editor/text-editor-undo-redo-expected.txt:
  • inspector/editor/text-editor-undo-redo.html:
9:23 AM Changeset in webkit [142885] by commit-queue@webkit.org
  • 7 edits
    2 deletes in trunk

Unreviewed, rolling out r142820.
http://trac.webkit.org/changeset/142820
https://bugs.webkit.org/show_bug.cgi?id=109839

Causing crashes on chromium canaries (Requested by atwilson_
on #webkit).

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

Source/WebCore:

  • dom/Document.cpp:

(WebCore::Document::updateLayout):
(WebCore::Document::implicitClose):

  • rendering/RenderQuote.h:

(RenderQuote):

  • rendering/RenderView.cpp:
  • rendering/RenderView.h:

LayoutTests:

  • fast/block/float/float-not-removed-from-pre-block-expected.txt:
  • fast/css-generated-content/quote-layout-focus-crash-expected.txt: Removed.
  • fast/css-generated-content/quote-layout-focus-crash.html: Removed.
9:21 AM Changeset in webkit [142884] by mifenton@rim.com
  • 2 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Update keyboard event details to match platform details.
https://bugs.webkit.org/show_bug.cgi?id=109693

Reviewed by Yong Li.

PR 220170.

When re-creating the Platform::Keyboard event ensure
all values are updated.

Reviewed Internally by Nima Ghanavatian.

  • WebKitSupport/InputHandler.cpp:

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

9:15 AM Changeset in webkit [142883] by mario@webkit.org
  • 9 edits
    2 adds in trunk

[GTK] Missing call to g_object_ref while retrieving accessible table cells
https://bugs.webkit.org/show_bug.cgi?id=106903

Reviewed by Martin Robinson.

Source/WebCore:

Add missing extra ref to implementation of atk_table_ref_at().

Test: accessibility/table-cell-for-column-and-row-crash.html

  • accessibility/atk/WebKitAccessibleInterfaceTable.cpp:

(webkitAccessibleTableRefAt): This method transfers full ownership
over the returned AtkObject, so an extra reference is needed here.

Tools:

Both DRT and WKTR need to call g_object_unref() now that an extra
reference is added in the implementation of atk_table_ref_at().

  • DumpRenderTree/atk/AccessibilityUIElementGtk.cpp:

(AccessibilityUIElement::cellForColumnAndRow): Call g_object_unref
before returning the new instance of AccessibilityUIElement.

  • WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:

(WTR::AccessibilityUIElement::cellForColumnAndRow): Ditto.

LayoutTests:

Added new test. It should work fine at least in Mac and GTK ports,
but will need specific results for chromium and windows.

  • accessibility/table-cell-for-column-and-row-crash.html: Added.
  • accessibility/table-cell-for-column-and-row-crash-expected.txt: Added.
  • platform/chromium/TestExpectations: Skipped test.
  • platform/win/TestExpectations: Ditto.
  • platform/wincairo/TestExpectations: Ditto.
9:11 AM Changeset in webkit [142882] by mifenton@rim.com
  • 4 edits in trunk/Source

[BlackBerry] Update keyboard event details to match platform details.
https://bugs.webkit.org/show_bug.cgi?id=109693

Reviewed by Yong Li.

PR 220170.

Source/WebCore:

Update the keyboard event details to match the
platform details available.

Rename helper function to better describe the conversion.

Reviewed Internally by Nima Ghanavatian and Gen Mak.

  • platform/blackberry/PlatformKeyboardEventBlackBerry.cpp:

(WebCore::windowsKeyCodeForBlackBerryKeycode):
(WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):

Source/WebKit/blackberry:

Update keyboard event details.

Reviewed Internally by Nima Ghanavatian and Gen Mak.

  • Api/WebPage.cpp:

(BlackBerry::WebKit::WebPage::keyEvent):

9:06 AM Changeset in webkit [142881] by kadam@inf.u-szeged.hu
  • 2 edits
    6 adds in trunk/LayoutTests

[Qt] Reviewing TestExpectations. Added platform specific expected files and unskip them.
https://bugs.webkit.org/show_bug.cgi?id=59334.

  • platform/qt-5.0-wk2/http/tests/misc/will-send-request-returns-null-on-redirect-expected.txt: Added.
  • platform/qt-5.0-wk2/http/tests/security/XFrameOptions/x-frame-options-deny-expected.txt: Added.
  • platform/qt-5.0-wk2/http/tests/security/XFrameOptions/x-frame-options-parent-same-origin-deny-expected.txt: Added.
  • platform/qt/TestExpectations:
  • platform/qt/http/tests/misc/will-send-request-returns-null-on-redirect-expected.txt: Added.
  • platform/qt/http/tests/security/XFrameOptions/x-frame-options-deny-expected.txt: Added.
  • platform/qt/http/tests/security/XFrameOptions/x-frame-options-parent-same-origin-deny-expected.txt: Added.
8:47 AM Changeset in webkit [142880] by fmalita@chromium.org
  • 21 edits in trunk/LayoutTests

[Chromium] Unreviewed rebaseline after brightness filter update.

  • platform/chromium-linux/css3/filters/effect-brightness-clamping-expected.png:
  • platform/chromium-linux/css3/filters/effect-brightness-clamping-hw-expected.png:
  • platform/chromium-linux/css3/filters/effect-brightness-expected.png:
  • platform/chromium-linux/css3/filters/effect-brightness-hw-expected.png:
  • platform/chromium-linux/css3/filters/effect-combined-hw-expected.png:
  • platform/chromium-mac/css3/filters/effect-brightness-clamping-expected.png:
  • platform/chromium-mac/css3/filters/effect-brightness-clamping-hw-expected.png:
  • platform/chromium-mac/css3/filters/effect-brightness-expected.png:
  • platform/chromium-mac/css3/filters/effect-brightness-hw-expected.png:
  • platform/chromium-mac/css3/filters/effect-combined-expected.png:
  • platform/chromium-mac/css3/filters/effect-combined-hw-expected.png:
  • platform/chromium-mac/css3/filters/multiple-filters-invalidation-expected.png:
  • platform/chromium-win/css3/filters/effect-brightness-clamping-expected.png:
  • platform/chromium-win/css3/filters/effect-brightness-clamping-hw-expected.png:
  • platform/chromium-win/css3/filters/effect-brightness-expected.png:
  • platform/chromium-win/css3/filters/effect-brightness-hw-expected.png:
  • platform/chromium-win/css3/filters/effect-combined-expected.png:
  • platform/chromium-win/css3/filters/effect-combined-hw-expected.png:
  • platform/chromium-win/css3/filters/multiple-filters-invalidation-expected.png:
  • platform/chromium/TestExpectations:
8:39 AM Changeset in webkit [142879] by caseq@chromium.org
  • 18 edits in trunk

Web Inspector: expose did{Begin,Cancel}Frame() and {will,did}Composite() on WebDebToolsAgent
https://bugs.webkit.org/show_bug.cgi?id=109192

Reviewed by Pavel Feldman.

.:

  • Source/autotools/symbols.filter:

Source/WebCore:

  • remove frame and compositing instrumentation methods from InspectorInstrumentation;
  • expose those methods on InspectorController instead.
  • WebCore.exp.in:
  • inspector/InspectorController.cpp:

(WebCore::InspectorController::didBeginFrame):
(WebCore):
(WebCore::InspectorController::didCancelFrame):
(WebCore::InspectorController::willComposite):
(WebCore::InspectorController::didComposite):

  • inspector/InspectorController.h:

(InspectorController):

  • inspector/InspectorInstrumentation.cpp:

(WebCore):

  • inspector/InspectorInstrumentation.h:

(InspectorInstrumentation):

  • testing/Internals.cpp:

(WebCore::Internals::emitInspectorDidBeginFrame):
(WebCore::Internals::emitInspectorDidCancelFrame):

Source/WebKit/blackberry:

  • invoke frame instrumentation methods on InspectorController, not on InspectorInstrumentation.
  • Api/BackingStore.cpp:

(BlackBerry::WebKit::BackingStorePrivate::instrumentBeginFrame):
(BlackBerry::WebKit::BackingStorePrivate::instrumentCancelFrame):

Source/WebKit/chromium:

  • expose frame and compositing insturmentation methods on WebDevToolsAgent;
  • temporarily route them from WebViewImpl to WebDevToolsAgent;
  • public/WebDevToolsAgent.h:

(WebDevToolsAgent):

  • src/WebDevToolsAgentImpl.cpp:

(WebKit::WebDevToolsAgentImpl::didBeginFrame):
(WebKit):
(WebKit::WebDevToolsAgentImpl::didCancelFrame):
(WebKit::WebDevToolsAgentImpl::willComposite):
(WebKit::WebDevToolsAgentImpl::didComposite):

  • src/WebDevToolsAgentImpl.h:

(WebDevToolsAgentImpl):

  • src/WebViewImpl.cpp:

(WebKit::WebViewImpl::instrumentBeginFrame):
(WebKit::WebViewImpl::instrumentCancelFrame):
(WebKit::WebViewImpl::didBeginFrame):
(WebKit::WebViewImpl::willCommit):

Source/WebKit/win:

  • WebKit.vcproj/WebKitExports.def.in:
8:15 AM Changeset in webkit [142878] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Web Inspector: Fixed a layout regression in CanvasProfileView.
https://bugs.webkit.org/show_bug.cgi?id=109835

Patch by Vladislav Kaznacheev <kaznacheev@chromium.org> on 2013-02-14
Reviewed by Pavel Feldman.

Changed splitView.css to supported nested SplitView instances.

  • inspector/front-end/splitView.css:

(.split-view-vertical > .split-view-contents):
(.split-view-vertical > .split-view-contents-first):
(.split-view-vertical > .split-view-contents-first.maximized):
(.split-view-vertical > .split-view-contents-second):
(.split-view-vertical > .split-view-contents-second.maximized):
(.split-view-horizontal > .split-view-contents):
(.split-view-horizontal > .split-view-contents-first):
(.split-view-horizontal > .split-view-contents-first.maximized):
(.split-view-horizontal > .split-view-contents-second):
(.split-view-horizontal > .split-view-contents-second.maximized):
(.split-view-vertical > .split-view-sidebar.split-view-contents-first:not(.maximized)):
(.split-view-vertical > .split-view-sidebar.split-view-contents-second:not(.maximized)):
(.split-view-horizontal > .split-view-sidebar.split-view-contents-first:not(.maximized)):
(.split-view-horizontal > .split-view-sidebar.split-view-contents-second:not(.maximized)):
(.split-view-vertical > .split-view-resizer):
(.split-view-horizontal > .split-view-resizer):

8:05 AM Changeset in webkit [142877] by jochen@chromium.org
  • 2 edits in trunk/LayoutTests

Unskip mediastream tests that are passing after webkit_support update

Unreviewed gardening.

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

Web Inspector: Color picker should not be available in Computed Styles pane.
https://bugs.webkit.org/show_bug.cgi?id=109697

Patch by Vladislav Kaznacheev <kaznacheev@chromium.org> on 2013-02-14
Reviewed by Alexander Pavlov.

Changed the parentPane parameter of WebInspector.ComputedStylePropertiesSection to the correct value
(the ComputedStyleSidebarPane instance).

  • inspector/front-end/StylesSidebarPane.js:

(WebInspector.StylesSidebarPane.prototype._rebuildSectionsForStyleRules):

5:53 AM Changeset in webkit [142875] by mnaganov@chromium.org
  • 6 edits
    2 adds in trunk/Source/WebKit/chromium

[Chromium] Add a setting to control scaling content to fit viewport
https://bugs.webkit.org/show_bug.cgi?id=109584

Adds a setting called 'initializeAtMinimumPageScale'. By default,
it is set to 'true' which corresponds to Chrome on Android behavior--
adjust the page scale to make the content fit into the viewport
by width. When set to false, the setting instructs ChromeClientImpl to
set page scale to 1.0, unless the scale value is set by the page
in the viewport meta-tag.

Reviewed by Adam Barth.

  • public/WebSettings.h:
  • src/ChromeClientImpl.cpp:

(WebKit::ChromeClientImpl::dispatchViewportPropertiesDidChange):

  • src/WebSettingsImpl.cpp:

(WebKit::WebSettingsImpl::WebSettingsImpl):
(WebKit::WebSettingsImpl::setInitializeAtMinimumPageScale):
(WebKit):

  • src/WebSettingsImpl.h:

(WebSettingsImpl):
(WebKit::WebSettingsImpl::initializeAtMinimumPageScale):

  • tests/WebFrameTest.cpp:
  • tests/data/viewport-2x-initial-scale.html: Added.
  • tests/data/viewport-auto-initial-scale.html: Added.
5:39 AM Changeset in webkit [142874] by kadam@inf.u-szeged.hu
  • 2 edits in trunk/LayoutTests

[Qt] Unreviewed gardening. Skip flaky test after r140689.

  • platform/qt/TestExpectations:
5:19 AM Changeset in webkit [142873] by yurys@chromium.org
  • 2 edits in trunk/Source/WebCore

Web Inspector: don't create static local string for program literal in InspectorTimelineAgent
https://bugs.webkit.org/show_bug.cgi?id=109811

Reviewed by Pavel Feldman.

Use const char* constant value instead of creating String from it in thread-unsafe
static local variable.

  • inspector/InspectorTimelineAgent.cpp:

(WebCore::InspectorTimelineAgent::innerAddRecordToTimeline):

5:08 AM Changeset in webkit [142872] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebKit/chromium

Unreviewed, rolling out r142808.
http://trac.webkit.org/changeset/142808
https://bugs.webkit.org/show_bug.cgi?id=109816

Crashes on chromium webkit canary bots (Requested by atwilson_
on #webkit).

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

  • src/WebViewImpl.cpp:

(WebKit::WebViewImpl::handleGestureEvent):
(WebKit::WebViewImpl::bestTouchLinkNode):
(WebKit::WebViewImpl::enableTouchHighlight):

  • src/WebViewImpl.h:

(WebViewImpl):

  • tests/LinkHighlightTest.cpp:

(WebCore::TEST):

5:01 AM Changeset in webkit [142871] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

[Web Inspector] Fix initiator name issue in reload scenario for Network Panel.
https://bugs.webkit.org/show_bug.cgi?id=108746.

Patch by Pan Deng <pan.deng@intel.com> on 2013-02-14
Reviewed by Vsevolod Vlasov.

WebInspector.displayNameForURL() does not work as expected in the reload scenario,
for example, "http://www.yahoo.com/" was trimed to "/" at one time, but at another,
the full host name will be displayed.
This fix return host + "/" in the issue scenario, and keep with get displayName() in ParsedURL.

No new tests.

  • inspector/front-end/ParsedURL.js:

(WebInspector.ParsedURL.prototype.get displayName): append "/" in the display host scenario.

  • inspector/front-end/ResourceUtils.js:

(WebInspector.displayNameForURL): add host in the head if url trimed as a "/".

4:57 AM Changeset in webkit [142870] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

Web Inspector: fix to record button remaining red after heap snapshot is taken
https://bugs.webkit.org/show_bug.cgi?id=109804

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

Revert part of r142243 fix. Namely heap snapshot taking button made
stateless as it was before.

  • inspector/front-end/HeapSnapshotView.js:

(WebInspector.HeapSnapshotProfileType.prototype.buttonClicked):

  • inspector/front-end/ProfilesPanel.js:

(WebInspector.ProfilesPanel.prototype.toggleRecordButton):

4:47 AM Changeset in webkit [142869] by apavlov@chromium.org
  • 5 edits in trunk/Source/WebCore

Web Inspector: Consistently use SecurityOrigin::toRawString() for serialization across the backend code
https://bugs.webkit.org/show_bug.cgi?id=109801

Reviewed by Yury Semikhatsky.

No new tests, as existing tests cover the change.

  • inspector/InspectorAgent.cpp:

(WebCore::InspectorAgent::didClearWindowObjectInWorld):

  • inspector/InspectorIndexedDBAgent.cpp:

(WebCore::InspectorIndexedDBAgent::requestDatabaseNamesForFrame):

  • inspector/InspectorPageAgent.cpp:

(WebCore::InspectorPageAgent::buildObjectForFrame):

  • inspector/PageRuntimeAgent.cpp:

(WebCore::PageRuntimeAgent::notifyContextCreated):

4:35 AM Changeset in webkit [142868] by sergio@webkit.org
  • 2 edits in trunk/Source/WebCore

Add logging support to IndexedDB for non-Chromium platforms
https://bugs.webkit.org/show_bug.cgi?id=109809

Reviewed by Kentaro Hara.

Enable logging of IndexedDB through the StorageAPI log channel for
non-Chromium architectures.

No new tests required, we're just enabling logging for IndexedDB
using the currently available logging framework.

  • Modules/indexeddb/IDBTracing.h:
4:27 AM Changeset in webkit [142867] by vsevik@chromium.org
  • 6 edits in trunk

Web Inspector: Remove uriForFile and fileForURI methods from FileSystemMapping.
https://bugs.webkit.org/show_bug.cgi?id=109704

Reviewed by Alexander Pavlov.

Source/WebCore:

Replaced this methods with one line implementation on the only call site.

  • inspector/front-end/FileSystemMapping.js:
  • inspector/front-end/FileSystemProjectDelegate.js:

(WebInspector.FileSystemProjectDelegate.prototype._filePathForURI):
(WebInspector.FileSystemProjectDelegate.prototype.setFileContent):
(WebInspector.FileSystemProjectDelegate.prototype._populate.filesLoaded):
(WebInspector.FileSystemProjectDelegate.prototype._populate):

LayoutTests:

  • inspector/file-system-mapping-expected.txt:
  • inspector/file-system-mapping.html:
4:09 AM Changeset in webkit [142866] by commit-queue@webkit.org
  • 4 edits
    2 adds in trunk

[Text Autosizing] Process narrow descendants with the same multiplier for the font size.
https://bugs.webkit.org/show_bug.cgi?id=109573

Source/WebCore:

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

Combine narrow descendants of the same autosizing cluster into a group that is 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 want them all to share the same multiplier, as
if they were a single cluster.

Test: fast/text-autosizing/narrow-descendants-combined.html

  • rendering/TextAutosizer.cpp:

(WebCore::TextAutosizer::processClusterInternal):

Common implementation for processCluster() and processCompositeCluster that accepts the
text width and whether the cluster should be autosized as parameters instead of
calculating it inline.

(WebCore::TextAutosizer::processCluster):

Calculates the text width for a single cluster and whether it should be autosized, then
calls processClusterInternal() to apply the multiplier and process the cluster's
descendants.

(WebCore::TextAutosizer::processCompositeCluster):

Calculates the text width for a group of renderers and if the group should be autosized,
then calls processClusterInternal() repeatedly with the same multiplier to apply it and
process all the descendants of the group.

(WebCore::TextAutosizer::clusterShouldBeAutosized):

Calls the multiple renderers version to avoid code duplication.

(WebCore::TextAutosizer::compositeClusterShouldBeAutosized):

The multiple renderers version of clusterShouldBeAutosized.

  • rendering/TextAutosizer.h:

Updated method declarations.

LayoutTests:

Test to verify that all narrow descendants of a cluster are autosized with the same
multiplier.

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

  • fast/text-autosizing/narrow-descendants-combined-expected.html: Added.
  • fast/text-autosizing/narrow-descendants-combined.html: Added.
3:53 AM Changeset in webkit [142865] by aandrey@chromium.org
  • 2 edits
    13 adds in trunk/Source/WebCore

Look into possibilities of typedef in webkit idl files
https://bugs.webkit.org/show_bug.cgi?id=52340

Reviewed by Kentaro Hara.

Add typedef support for WebKit IDL parser.
Drive by: fixed a bug of generating "unrestrictedfloat" without a space.

Added a new IDL test TestTypedefs.idl. The results were generated without typedefs.

  • bindings/scripts/IDLParser.pm:

(assertNoExtendedAttributesInTypedef):
(parseDefinitions):
(applyTypedefs):
(applyTypedefsForSignature):
(parseTypedef):
(parseUnrestrictedFloatType):

  • bindings/scripts/test/CPP/WebDOMTestTypedefs.cpp: Added.

(WebDOMTestTypedefs::WebDOMTestTypedefsPrivate::WebDOMTestTypedefsPrivate):
(WebDOMTestTypedefs::WebDOMTestTypedefsPrivate):
(WebDOMTestTypedefs::WebDOMTestTypedefs):
(WebDOMTestTypedefs::operator=):
(WebDOMTestTypedefs::impl):
(WebDOMTestTypedefs::~WebDOMTestTypedefs):
(WebDOMTestTypedefs::unsignedLongLongAttr):
(WebDOMTestTypedefs::setUnsignedLongLongAttr):
(WebDOMTestTypedefs::immutableSerializedScriptValue):
(WebDOMTestTypedefs::setImmutableSerializedScriptValue):
(WebDOMTestTypedefs::func):
(WebDOMTestTypedefs::multiTransferList):
(WebDOMTestTypedefs::setShadow):
(WebDOMTestTypedefs::nullableArrayArg):
(WebDOMTestTypedefs::immutablePointFunction):
(toWebCore):
(toWebKit):

  • bindings/scripts/test/CPP/WebDOMTestTypedefs.h: Added.

(WebCore):
(WebDOMTestTypedefs):

  • bindings/scripts/test/GObject/WebKitDOMTestTypedefs.cpp: Added.

(_WebKitDOMTestTypedefsPrivate):
(WebKit):
(WebKit::kit):
(WebKit::core):
(WebKit::wrapTestTypedefs):
(webkit_dom_test_typedefs_finalize):
(webkit_dom_test_typedefs_set_property):
(webkit_dom_test_typedefs_get_property):
(webkit_dom_test_typedefs_constructor):
(webkit_dom_test_typedefs_class_init):
(webkit_dom_test_typedefs_init):
(webkit_dom_test_typedefs_func):
(webkit_dom_test_typedefs_multi_transfer_list):
(webkit_dom_test_typedefs_set_shadow):
(webkit_dom_test_typedefs_nullable_array_arg):
(webkit_dom_test_typedefs_immutable_point_function):
(webkit_dom_test_typedefs_string_array_function):
(webkit_dom_test_typedefs_get_unsigned_long_long_attr):
(webkit_dom_test_typedefs_set_unsigned_long_long_attr):
(webkit_dom_test_typedefs_get_immutable_serialized_script_value):
(webkit_dom_test_typedefs_set_immutable_serialized_script_value):

  • bindings/scripts/test/GObject/WebKitDOMTestTypedefs.h: Added.

(_WebKitDOMTestTypedefs):
(_WebKitDOMTestTypedefsClass):

  • bindings/scripts/test/GObject/WebKitDOMTestTypedefsPrivate.h: Added.

(WebKit):

  • bindings/scripts/test/JS/JSTestTypedefs.cpp: Added.

(WebCore):
(WebCore::JSTestTypedefsConstructor::constructJSTestTypedefs):
(WebCore::JSTestTypedefsConstructor::JSTestTypedefsConstructor):
(WebCore::JSTestTypedefsConstructor::finishCreation):
(WebCore::JSTestTypedefsConstructor::getOwnPropertySlot):
(WebCore::JSTestTypedefsConstructor::getOwnPropertyDescriptor):
(WebCore::JSTestTypedefsConstructor::getConstructData):
(WebCore::JSTestTypedefsPrototype::self):
(WebCore::JSTestTypedefsPrototype::getOwnPropertySlot):
(WebCore::JSTestTypedefsPrototype::getOwnPropertyDescriptor):
(WebCore::JSTestTypedefs::JSTestTypedefs):
(WebCore::JSTestTypedefs::finishCreation):
(WebCore::JSTestTypedefs::createPrototype):
(WebCore::JSTestTypedefs::destroy):
(WebCore::JSTestTypedefs::~JSTestTypedefs):
(WebCore::JSTestTypedefs::getOwnPropertySlot):
(WebCore::JSTestTypedefs::getOwnPropertyDescriptor):
(WebCore::jsTestTypedefsUnsignedLongLongAttr):
(WebCore::jsTestTypedefsImmutableSerializedScriptValue):
(WebCore::jsTestTypedefsConstructorTestSubObj):
(WebCore::jsTestTypedefsConstructor):
(WebCore::JSTestTypedefs::put):
(WebCore::setJSTestTypedefsUnsignedLongLongAttr):
(WebCore::setJSTestTypedefsImmutableSerializedScriptValue):
(WebCore::JSTestTypedefs::getConstructor):
(WebCore::jsTestTypedefsPrototypeFunctionFunc):
(WebCore::jsTestTypedefsPrototypeFunctionMultiTransferList):
(WebCore::jsTestTypedefsPrototypeFunctionSetShadow):
(WebCore::jsTestTypedefsPrototypeFunctionMethodWithSequenceArg):
(WebCore::jsTestTypedefsPrototypeFunctionNullableArrayArg):
(WebCore::jsTestTypedefsPrototypeFunctionFuncWithClamp):
(WebCore::jsTestTypedefsPrototypeFunctionImmutablePointFunction):
(WebCore::jsTestTypedefsPrototypeFunctionStringArrayFunction):
(WebCore::isObservable):
(WebCore::JSTestTypedefsOwner::isReachableFromOpaqueRoots):
(WebCore::JSTestTypedefsOwner::finalize):
(WebCore::toJS):
(WebCore::toTestTypedefs):

  • bindings/scripts/test/JS/JSTestTypedefs.h: Added.

(WebCore):
(JSTestTypedefs):
(WebCore::JSTestTypedefs::create):
(WebCore::JSTestTypedefs::createStructure):
(WebCore::JSTestTypedefs::impl):
(WebCore::JSTestTypedefs::releaseImpl):
(WebCore::JSTestTypedefs::releaseImplIfNotNull):
(JSTestTypedefsOwner):
(WebCore::wrapperOwner):
(WebCore::wrapperContext):
(JSTestTypedefsPrototype):
(WebCore::JSTestTypedefsPrototype::create):
(WebCore::JSTestTypedefsPrototype::createStructure):
(WebCore::JSTestTypedefsPrototype::JSTestTypedefsPrototype):
(JSTestTypedefsConstructor):
(WebCore::JSTestTypedefsConstructor::create):
(WebCore::JSTestTypedefsConstructor::createStructure):

  • bindings/scripts/test/ObjC/DOMTestTypedefs.h: Added.
  • bindings/scripts/test/ObjC/DOMTestTypedefs.mm: Added.

(-[DOMTestTypedefs dealloc]):
(-[DOMTestTypedefs finalize]):
(-[DOMTestTypedefs unsignedLongLongAttr]):
(-[DOMTestTypedefs setUnsignedLongLongAttr:]):
(-[DOMTestTypedefs immutableSerializedScriptValue]):
(-[DOMTestTypedefs setImmutableSerializedScriptValue:]):
(-[DOMTestTypedefs multiTransferList:tx:second:txx:]):
(-[DOMTestTypedefs setShadow:height:blur:color:alpha:]):
(-[DOMTestTypedefs immutablePointFunction]):
(core):
(kit):

  • bindings/scripts/test/ObjC/DOMTestTypedefsInternal.h: Added.

(WebCore):

  • bindings/scripts/test/TestTypedefs.idl: Added.
  • bindings/scripts/test/V8/V8TestTypedefs.cpp: Added.

(WebCore):
(WebCore::checkTypeOrDieTrying):
(TestTypedefsV8Internal):
(WebCore::TestTypedefsV8Internal::V8_USE):
(WebCore::TestTypedefsV8Internal::unsignedLongLongAttrAttrGetter):
(WebCore::TestTypedefsV8Internal::unsignedLongLongAttrAttrSetter):
(WebCore::TestTypedefsV8Internal::immutableSerializedScriptValueAttrGetter):
(WebCore::TestTypedefsV8Internal::immutableSerializedScriptValueAttrSetter):
(WebCore::TestTypedefsV8Internal::TestTypedefsConstructorGetter):
(WebCore::TestTypedefsV8Internal::TestTypedefsReplaceableAttrSetter):
(WebCore::TestTypedefsV8Internal::funcCallback):
(WebCore::TestTypedefsV8Internal::multiTransferListCallback):
(WebCore::TestTypedefsV8Internal::setShadowCallback):
(WebCore::TestTypedefsV8Internal::methodWithSequenceArgCallback):
(WebCore::TestTypedefsV8Internal::nullableArrayArgCallback):
(WebCore::TestTypedefsV8Internal::funcWithClampCallback):
(WebCore::TestTypedefsV8Internal::immutablePointFunctionCallback):
(WebCore::TestTypedefsV8Internal::stringArrayFunctionCallback):
(WebCore::V8TestTypedefs::constructorCallback):
(WebCore::ConfigureV8TestTypedefsTemplate):
(WebCore::V8TestTypedefs::GetRawTemplate):
(WebCore::V8TestTypedefs::GetTemplate):
(WebCore::V8TestTypedefs::HasInstance):
(WebCore::V8TestTypedefs::createWrapper):
(WebCore::V8TestTypedefs::derefObject):

  • bindings/scripts/test/V8/V8TestTypedefs.h: Added.

(WebCore):
(V8TestTypedefs):
(WebCore::V8TestTypedefs::toNative):
(WebCore::V8TestTypedefs::installPerContextProperties):
(WebCore::V8TestTypedefs::installPerContextPrototypeProperties):
(WebCore::wrap):
(WebCore::toV8):
(WebCore::toV8Fast):

3:18 AM Changeset in webkit [142864] by haraken@chromium.org
  • 2 edits in trunk

[V8] Rename XXXAccessorGetter() to XXXAttrGetterCustom(),
and XXXAccessorSetter() to XXXAttrSetterCustom()
https://bugs.webkit.org/show_bug.cgi?id=109679

Reviewed by Adam Barth.

For naming consistency and clarification.

No tests. No change in behavior.

  • bindings/scripts/CodeGeneratorV8.pm:

(GenerateHeader):
(GenerateHeaderCustomCall):
(GenerateNormalAttrGetter):
(GenerateNormalAttrSetter):
(GenerateImplementation):

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

(WebCore::TestInterfaceV8Internal::supplementalStr3AttrGetter):
(WebCore::TestInterfaceV8Internal::supplementalStr3AttrSetter):

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

(WebCore::TestObjV8Internal::customAttrAttrGetter):
(WebCore::TestObjV8Internal::customAttrAttrSetter):

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

(V8TestObj):

  • bindings/v8/custom/V8AudioBufferSourceNodeCustom.cpp:

(WebCore::V8AudioBufferSourceNode::bufferAttrSetterCustom):

  • bindings/v8/custom/V8BiquadFilterNodeCustom.cpp:

(WebCore::V8BiquadFilterNode::typeAttrSetterCustom):

  • bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:

(WebCore::V8CanvasRenderingContext2D::strokeStyleAttrGetterCustom):
(WebCore::V8CanvasRenderingContext2D::strokeStyleAttrSetterCustom):
(WebCore::V8CanvasRenderingContext2D::fillStyleAttrGetterCustom):
(WebCore::V8CanvasRenderingContext2D::fillStyleAttrSetterCustom):

  • bindings/v8/custom/V8ClipboardCustom.cpp:

(WebCore::V8Clipboard::typesAttrGetterCustom):

  • bindings/v8/custom/V8CoordinatesCustom.cpp:

(WebCore::V8Coordinates::altitudeAttrGetterCustom):
(WebCore::V8Coordinates::altitudeAccuracyAttrGetterCustom):
(WebCore::V8Coordinates::headingAttrGetterCustom):
(WebCore::V8Coordinates::speedAttrGetterCustom):

  • bindings/v8/custom/V8CustomEventCustom.cpp:

(WebCore::V8CustomEvent::detailAttrGetterCustom):

  • bindings/v8/custom/V8DOMWindowCustom.cpp:

(WebCore::V8DOMWindow::eventAttrGetterCustom):
(WebCore::V8DOMWindow::eventAttrSetterCustom):
(WebCore::V8DOMWindow::locationAttrSetterCustom):
(WebCore::V8DOMWindow::openerAttrSetterCustom):

  • bindings/v8/custom/V8DeviceMotionEventCustom.cpp:

(WebCore::V8DeviceMotionEvent::accelerationAttrGetterCustom):
(WebCore::V8DeviceMotionEvent::accelerationIncludingGravityAttrGetterCustom):
(WebCore::V8DeviceMotionEvent::rotationRateAttrGetterCustom):
(WebCore::V8DeviceMotionEvent::intervalAttrGetterCustom):

  • bindings/v8/custom/V8DeviceOrientationEventCustom.cpp:

(WebCore::V8DeviceOrientationEvent::alphaAttrGetterCustom):
(WebCore::V8DeviceOrientationEvent::betaAttrGetterCustom):
(WebCore::V8DeviceOrientationEvent::gammaAttrGetterCustom):
(WebCore::V8DeviceOrientationEvent::absoluteAttrGetterCustom):

  • bindings/v8/custom/V8DocumentLocationCustom.cpp:

(WebCore::V8Document::locationAttrGetterCustom):
(WebCore::V8Document::locationAttrSetterCustom):

  • bindings/v8/custom/V8EventCustom.cpp:

(WebCore::V8Event::dataTransferAttrGetterCustom):
(WebCore::V8Event::clipboardDataAttrGetterCustom):

  • bindings/v8/custom/V8FileReaderCustom.cpp:

(WebCore::V8FileReader::resultAttrGetterCustom):

  • bindings/v8/custom/V8HTMLDocumentCustom.cpp:

(WebCore::V8HTMLDocument::allAttrSetterCustom):

  • bindings/v8/custom/V8HTMLElementCustom.cpp:

(WebCore::V8HTMLElement::itemValueAttrGetterCustom):
(WebCore::V8HTMLElement::itemValueAttrSetterCustom):

  • bindings/v8/custom/V8HTMLFrameElementCustom.cpp:

(WebCore::V8HTMLFrameElement::locationAttrSetterCustom):

  • bindings/v8/custom/V8HTMLInputElementCustom.cpp:

(WebCore::V8HTMLInputElement::selectionStartAttrGetterCustom):
(WebCore::V8HTMLInputElement::selectionStartAttrSetterCustom):
(WebCore::V8HTMLInputElement::selectionEndAttrGetterCustom):
(WebCore::V8HTMLInputElement::selectionEndAttrSetterCustom):
(WebCore::V8HTMLInputElement::selectionDirectionAttrGetterCustom):
(WebCore::V8HTMLInputElement::selectionDirectionAttrSetterCustom):

  • bindings/v8/custom/V8HTMLLinkElementCustom.cpp:

(WebCore::V8HTMLLinkElement::sizesAttrGetterCustom):
(WebCore::V8HTMLLinkElement::sizesAttrSetterCustom):

  • bindings/v8/custom/V8HTMLMediaElementCustom.cpp:

(WebCore::V8HTMLMediaElement::controllerAttrSetterCustom):

  • bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:

(WebCore::V8HTMLOptionsCollection::lengthAttrSetterCustom):

  • bindings/v8/custom/V8HistoryCustom.cpp:

(WebCore::V8History::stateAttrGetterCustom):

  • bindings/v8/custom/V8JavaScriptCallFrameCustom.cpp:

(WebCore::V8JavaScriptCallFrame::scopeChainAttrGetterCustom):
(WebCore::V8JavaScriptCallFrame::thisObjectAttrGetterCustom):
(WebCore::V8JavaScriptCallFrame::typeAttrGetterCustom):

  • bindings/v8/custom/V8LocationCustom.cpp:

(WebCore::V8Location::hashAttrSetterCustom):
(WebCore::V8Location::hostAttrSetterCustom):
(WebCore::V8Location::hostnameAttrSetterCustom):
(WebCore::V8Location::hrefAttrSetterCustom):
(WebCore::V8Location::pathnameAttrSetterCustom):
(WebCore::V8Location::portAttrSetterCustom):
(WebCore::V8Location::protocolAttrSetterCustom):
(WebCore::V8Location::searchAttrSetterCustom):
(WebCore::V8Location::reloadAttrGetterCustom):
(WebCore::V8Location::replaceAttrGetterCustom):
(WebCore::V8Location::assignAttrGetterCustom):

  • bindings/v8/custom/V8MessageEventCustom.cpp:

(WebCore::V8MessageEvent::dataAttrGetterCustom):
(WebCore::V8MessageEvent::portsAttrGetterCustom):

  • bindings/v8/custom/V8OscillatorNodeCustom.cpp:

(WebCore::V8OscillatorNode::typeAttrSetterCustom):

  • bindings/v8/custom/V8PannerNodeCustom.cpp:

(WebCore::V8PannerNode::panningModelAttrSetterCustom):
(WebCore::V8PannerNode::distanceModelAttrSetterCustom):

  • bindings/v8/custom/V8PopStateEventCustom.cpp:

(WebCore::V8PopStateEvent::stateAttrGetterCustom):

  • bindings/v8/custom/V8SVGLengthCustom.cpp:

(WebCore::V8SVGLength::valueAttrGetterCustom):
(WebCore::V8SVGLength::valueAttrSetterCustom):

  • bindings/v8/custom/V8TrackEventCustom.cpp:

(WebCore::V8TrackEvent::trackAttrGetterCustom):

  • bindings/v8/custom/V8WebKitAnimationCustom.cpp:

(WebCore::V8WebKitAnimation::iterationCountAttrGetterCustom):

  • bindings/v8/custom/V8XMLHttpRequestCustom.cpp:

(WebCore::V8XMLHttpRequest::responseTextAttrGetterCustom):
(WebCore::V8XMLHttpRequest::responseAttrGetterCustom):

2:23 AM Changeset in webkit [142863] by eric@webkit.org
  • 2 edits in trunk/Source/WTF

REGRESSION(r142712): attribute values show up as "(null)" instead of null with the threaded parser
https://bugs.webkit.org/show_bug.cgi?id=109784

Reviewed by Benjamin Poulain.

When I changed many callsites to use the (existing) String(Vector) constructor
I inadvertantly made those callsites convert empty vectors to null strings
instead of empty strings (like String(UChar,size_t) does).

This is due to an oddity/bug in our Vector implementation where data()
will be 0 if the Vector is empty, but only if it doesn't have inline capacity.
https://bugs.webkit.org/show_bug.cgi?id=109792

This changes String(Vector) to exactly match the behavior of String(vector.data(), vector.size()).

This regression was easily detectable with the threaded parser, because we use String
instead of AtomicString in our CompactToken (used to send the Token data
between threads). The main-thread parser path uses AtomicHTMLToken which
uses AtomicString(Vector) and does not have this bug.

  • wtf/text/WTFString.h:

(String):
(WTF::String::String):

2:22 AM Changeset in webkit [142862] by yurys@chromium.org
  • 8 edits
    1 add in trunk/Source/WebCore

Web Inspector: extract DOM counters graph implementation into its own class
https://bugs.webkit.org/show_bug.cgi?id=109796

Reviewed by Alexander Pavlov.

Extracted DOM counters graph implementation into DOMCountersGraph.js leaving
in MemoryStatistics.js only common parts shared with NativeMemoryGraph.js
Added some closure annotations and converted object literals into classes
with named constructors.

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

(WebInspector.DOMCountersGraph):
(WebInspector.DOMCounterUI):
(WebInspector.DOMCountersGraph.Counter):
(WebInspector.DOMCounterUI.prototype.setRange):
(WebInspector.DOMCounterUI.prototype.updateCurrentValue):
(WebInspector.DOMCounterUI.prototype.clearCurrentValueAndMarker):
(WebInspector.DOMCounterUI.prototype.saveImageUnderMarker):
(WebInspector.DOMCounterUI.prototype.restoreImageUnderMarker):
(WebInspector.DOMCounterUI.prototype.discardImageUnderMarker):
(WebInspector.DOMCountersGraph.prototype._createCurrentValuesBar):
(WebInspector.DOMCountersGraph.prototype._createCounterUIList):
(WebInspector.DOMCountersGraph.prototype._createCounterUIList.getNodeCount):
(WebInspector.DOMCountersGraph.prototype._createCounterUIList.getListenerCount):
(WebInspector.DOMCountersGraph.prototype._canvasHeight):
(WebInspector.DOMCountersGraph.prototype._onRecordAdded):
(WebInspector.DOMCountersGraph.prototype._draw):
(WebInspector.DOMCountersGraph.prototype._restoreImageUnderMarker):
(WebInspector.DOMCountersGraph.prototype._saveImageUnderMarker):
(WebInspector.DOMCountersGraph.prototype._drawMarker):
(WebInspector.DOMCountersGraph.prototype._drawGraph):
(WebInspector.DOMCountersGraph.prototype._discardImageUnderMarker):

  • inspector/front-end/MemoryStatistics.js:

(WebInspector.MemoryStatistics):
(WebInspector.MemoryStatistics.Counter):
(WebInspector.MemoryStatistics.prototype._createCurrentValuesBar):
(WebInspector.MemoryStatistics.prototype._createCounterUIList):
(WebInspector.MemoryStatistics.prototype.setTopPosition):
(WebInspector.MemoryStatistics.prototype._canvasHeight):
(WebInspector.MemoryStatistics.prototype._onRecordAdded):
(WebInspector.MemoryStatistics.prototype._draw):
(WebInspector.MemoryStatistics.prototype._onClick):
(WebInspector.MemoryStatistics.prototype._onMouseOut):
(WebInspector.MemoryStatistics.prototype._onMouseOver):
(WebInspector.MemoryStatistics.prototype._onMouseMove):
(WebInspector.MemoryStatistics.prototype._restoreImageUnderMarker):
(WebInspector.MemoryStatistics.prototype._drawMarker):
(WebInspector.MemoryStatistics.prototype._discardImageUnderMarker):

  • inspector/front-end/NativeMemoryGraph.js:

(WebInspector.NativeMemoryGraph.Counter):
(WebInspector.NativeMemoryGraph.prototype._onRecordAdded.addStatistics):
(WebInspector.NativeMemoryGraph.prototype._onRecordAdded):
(WebInspector.NativeMemoryGraph.prototype._draw):

  • inspector/front-end/TimelinePanel.js:
  • inspector/front-end/WebKit.qrc:
2:14 AM Changeset in webkit [142861] by commit-queue@webkit.org
  • 6 edits
    4 adds in trunk

Source/WebCore: Updating mouse cursor on style changes without emitting fake mousemove event
https://bugs.webkit.org/show_bug.cgi?id=101857

Patch by Aivo Paas <aivopaas@gmail.com> on 2013-02-14
Reviewed by Allan Sandfeld Jensen.

Mouse cursor changes in styles used to be reflected in UI through dispatching a fake
mousemove event. The old approach has some flaws: it emits a mousemove event in
javascript when there is no mouse movement involved (bug 85343); the fake mousemove
event is cancelled while there is a mouse button held down - cursor won't change
until mouse is moved or the button released (bug 53341); it has extra overhead of
using a timer which was introduced to make scrolling smoother.

The new approach does not use the fake mousemove event. Instead, it uses only the logic
needed for the actual cursor change to happen. This bypasses all the mousemove event related
overhead. The remaining code is a stripped version of what was run through the mousemove
event path. Everything that was not needed for changing a cursor is stripped off, everything
that is needed, remains the same.

The call to update cursor was moved up in the call tree from RenderObject::StyleDidChange
to RenderObject::SetStyle right after the StyleDidChange call. This allows to any updates
and style propagations in StyleDidChange to happen and makes sure that a cursor change is
not missed. Previous place was at the end of RenderObject::StyleDidChange, where it could
have been missed because of an early exit. For example, cursor change on mousedown/up on
a text node missed the correct cursor in the first pass.

Refactored EventHandler::selectCursor to not take a whole mouse event but instead work with
HitTestResult so that EventHandler::updateCursor must not create a useless PlatformEvent.

Fixes: https://bugs.webkit.org/show_bug.cgi?id=85343 (mousemove event on cursor change)

https://bugs.webkit.org/show_bug.cgi?id=53341 (no cursor change when mouse button down)

Tests: fast/events/mouse-cursor-change.html

fast/events/mouse-cursor-no-mousemove.html

  • page/EventHandler.cpp:

(WebCore::EventHandler::updateCursor): Newly added method for updating mouse cursor
(WebCore):
(WebCore::EventHandler::selectCursor):
(WebCore::EventHandler::handleMouseMoveEvent):

  • page/EventHandler.h:

(EventHandler):

  • rendering/RenderObject.cpp:

(WebCore::areNonIdenticalCursorListsEqual):
(WebCore):
(WebCore::areCursorsEqual):
(WebCore::RenderObject::setStyle):
(WebCore::RenderObject::styleDidChange):

LayoutTests: Updating mouse cursor on style changes without emitting fake mousemove event
https://bugs.webkit.org/show_bug.cgi?id=101857
Changing CSS cursor should work no matter is mouse button is pressed or not
https://bugs.webkit.org/show_bug.cgi?id=53341

Patch by Aivo Paas <aivopaas@gmail.com> on 2013-02-14
Reviewed by Allan Sandfeld Jensen.

Added tests for changing cursor on mousemove, mousedown, mouseup and mousemove
while mouse button being hold down. Also added test to verify that a mousemove
event is not fired for changing cursor while mouse is not moving.

  • fast/events/mouse-cursor-change-expected.txt: Added.
  • fast/events/mouse-cursor-change.html: Added.
  • fast/events/mouse-cursor-no-mousemove-expected.txt: Added.
  • fast/events/mouse-cursor-no-mousemove.html: Added.
  • platform/mac/TestExpectations:
1:16 AM Changeset in webkit [142860] by commit-queue@webkit.org
  • 7 edits in trunk

Unreviewed, rolling out r142841.
http://trac.webkit.org/changeset/142841
https://bugs.webkit.org/show_bug.cgi?id=109791

Caused webkit_unit_tests to crash on chromium bots. (Requested
by atwilson_ on #webkit).

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

Source/Platform:

  • chromium/public/WebUnitTestSupport.h:

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

Source/WebKit/chromium:

  • tests/GraphicsLayerChromiumTest.cpp:

(WebKit::GraphicsLayerChromiumTest::GraphicsLayerChromiumTest):

  • tests/ScrollingCoordinatorChromiumTest.cpp:

(WebKit::FakeWebViewClient::initializeLayerTreeView):

Tools:

  • DumpRenderTree/chromium/WebViewHost.cpp:

(WebViewHost::createOutputSurface):
(WebViewHost::initializeLayerTreeView):

12:57 AM Changeset in webkit [142859] by rakuco@webkit.org
  • 2 edits in trunk/Tools

[EFL][jhbuild] Silence GSettings-related warning.
https://bugs.webkit.org/show_bug.cgi?id=109749

Reviewed by Martin Robinson.

Apply the same change done to the GTK+ port in r109127; this
silences the warnings printed by glib about the memory GSettings
backend being used.

Not only does this make the bots (as well as manual runs of, say,
WebKitTestRunner) much more silent, but it also removes an stderr
line (which run-perf-tests considers as a failure).

  • Scripts/webkitpy/layout_tests/port/efl.py:

(EflPort.setup_environ_for_server): Explicitly set the
GSETTINGS_BACKEND environment variable to "memory".

12:38 AM Changeset in webkit [142858] by loislo@chromium.org
  • 4 edits in trunk/Source/WebCore

Web Inspector: Native Memory Instrumentation: Report child nodes as direct members of a container node to make them look like a tree in the snapshot.
https://bugs.webkit.org/show_bug.cgi?id=109703

Also we need to traverse the tree from the top root element down to the leaves.

Reviewed by Yury Semikhatsky.

  • dom/ContainerNode.cpp:

(WebCore::ContainerNode::reportMemoryUsage):

  • dom/Node.cpp:

(WebCore::Node::reportMemoryUsage):

  • inspector/InspectorMemoryAgent.cpp:

(WebCore):

12:07 AM Changeset in webkit [142857] by jochen@chromium.org
  • 11 edits
    2 moves in trunk/Tools

[chromium] move mock notification presenter to TestRunner library
https://bugs.webkit.org/show_bug.cgi?id=109706

Reviewed by Adam Barth.

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

(WebKit):
(WebTestRunner::WebTestProxy::notificationPresenter):

  • DumpRenderTree/chromium/TestRunner/src/NotificationPresenter.cpp: Renamed from Tools/DumpRenderTree/chromium/NotificationPresenter.cpp.

(WebTestRunner::NotificationPresenter::NotificationPresenter):
(WebTestRunner):
(WebTestRunner::NotificationPresenter::~NotificationPresenter):
(WebTestRunner::NotificationPresenter::grantPermission):
(WebTestRunner::NotificationPresenter::simulateClick):
(WebTestRunner::NotificationPresenter::show):
(WebTestRunner::NotificationPresenter::cancel):
(WebTestRunner::NotificationPresenter::objectDestroyed):
(WebTestRunner::NotificationPresenter::checkPermission):
(WebTestRunner::NotificationPresenter::requestPermission):

  • DumpRenderTree/chromium/TestRunner/src/NotificationPresenter.h: Renamed from Tools/DumpRenderTree/chromium/NotificationPresenter.h.

(WebTestRunner):
(NotificationPresenter):
(WebTestRunner::NotificationPresenter::setDelegate):
(WebTestRunner::NotificationPresenter::reset):

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

(WebTestRunner::TestRunner::TestRunner):
(WebTestRunner::TestRunner::setDelegate):
(WebTestRunner::TestRunner::reset):
(WebTestRunner::TestRunner::notificationPresenter):
(WebTestRunner):
(WebTestRunner::TestRunner::grantWebNotificationPermission):
(WebTestRunner::TestRunner::simulateLegacyWebNotificationClick):

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

(WebKit):
(WebTestRunner):
(TestRunner):

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

(WebTestRunner::WebTestProxyBase::notificationPresenter):
(WebTestRunner):

  • DumpRenderTree/chromium/TestShell.cpp:

(TestShell::initialize):
(TestShell::resetTestController):

  • DumpRenderTree/chromium/TestShell.h:

(WebKit):
(TestShell):

  • DumpRenderTree/chromium/WebViewHost.cpp:
  • DumpRenderTree/chromium/WebViewHost.h:
12:01 AM Changeset in webkit [142856] by Gregg Tavares
  • 2 edits
    15 adds in trunk/LayoutTests

Adds the WebGL Conformance Tests limits folder.
https://bugs.webkit.org/show_bug.cgi?id=108904

Reviewed by Kenneth Russell.

  • platform/mac/TestExpectations:
  • webgl/conformance/limits/gl-max-texture-dimensions-expected.txt: Added.
  • webgl/conformance/limits/gl-max-texture-dimensions.html: Added.
  • webgl/conformance/limits/gl-min-attribs-expected.txt: Added.
  • webgl/conformance/limits/gl-min-attribs.html: Added.
  • webgl/conformance/limits/gl-min-textures-expected.txt: Added.
  • webgl/conformance/limits/gl-min-textures.html: Added.
  • webgl/conformance/limits/gl-min-uniforms-expected.txt: Added.
  • webgl/conformance/limits/gl-min-uniforms.html: Added.
  • webgl/resources/webgl_test_files/conformance/limits/00_test_list.txt: Added.
  • webgl/resources/webgl_test_files/conformance/limits/gl-max-texture-dimensions.html: Added.
  • webgl/resources/webgl_test_files/conformance/limits/gl-min-attribs.html: Added.
  • webgl/resources/webgl_test_files/conformance/limits/gl-min-textures.html: Added.
  • webgl/resources/webgl_test_files/conformance/limits/gl-min-uniforms.html: Added.
Note: See TracTimeline for information about the timeline view.