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

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 <Laszlo Gombos> 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 <Laszlo Gombos> 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 <Laszlo Gombos> 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().

Note: See TracTimeline for information about the timeline view.