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

Timeline



Dec 12, 2011:

10:37 PM Changeset in webkit [102658] by tkent@chromium.org
  • 7 edits in branches/chromium/963

Merge 101998 - "Raw" pseudo selectors don't match if immediately after a child or descendant combinator
https://bugs.webkit.org/show_bug.cgi?id=72933

Source/WebCore:

Remove shortcut that prevents universal selectors from being created before shadow pseudo-elements.

Reviewed by Antti Koivisto.

  • css/CSSParser.cpp:

(WebCore::CSSParser::updateSpecifiersWithElementName):

LayoutTests:

Add tests cases for "raw" shadow pseudo-element selectors with various combinators.
Also add cases with explicit universal '*' selector.

Reviewed by Antti Koivisto.

  • fast/css/css-selector-text-expected.txt:
  • fast/css/css-selector-text.html:
  • fast/css/css-set-selector-text-expected.txt:
  • fast/css/css-set-selector-text.html:
  • fast/css/unknown-pseudo-element-matching-expected.txt:
  • fast/css/unknown-pseudo-element-matching.html:

TBR=rolandsteiner@chromium.org
BUG=97744
Review URL: http://codereview.chromium.org/8931002

9:11 PM Changeset in webkit [102657] by dbates@webkit.org
  • 2 edits in trunk/Source/WebCore

Unreviewed, rolling out r102656.
http://trac.webkit.org/changeset/102656
https://bugs.webkit.org/show_bug.cgi?id=74313

Broke the Mac, Windows and WinCairo builds. We need to look
into this patch some more.

  • bindings/js/ScriptEventListener.cpp:

(WebCore::eventListenerHandlerLocation):

8:07 PM Changeset in webkit [102656] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Implement the JavaScriptCore bindings for eventListenerHandlerLocation
https://bugs.webkit.org/show_bug.cgi?id=74313

Patch by Konrad Piascik <kpiascik@rim.com> on 2011-12-12
Reviewed by Geoffrey Garen.

Open any page in Web Inspector and look at the event listeners. They should now
link to the script which created them.

  • bindings/js/ScriptEventListener.cpp:

(WebCore::eventListenerHandlerLocation):

7:48 PM Changeset in webkit [102655] by commit-queue@webkit.org
  • 6 edits in trunk/Source/WebCore

RenderTheme should have a function for disabled text color adjustment
https://bugs.webkit.org/show_bug.cgi?id=74143

Patch by Yosifumi Inoue <yosin@chromium.org> on 2011-12-12
Reviewed by Kent Tamura.

No new tests / existing tests cover this change.

  • rendering/RenderTextControl.cpp:

(WebCore::RenderTextControl::adjustInnerTextStyle): Use RenderTheme::disabledTextColor instead of PLATFORM wraped static function.

  • rendering/RenderTheme.cpp:

(WebCore::RenderTheme::disabledTextColor): Moved from RenderTextControl.cpp. This method implements for non-Chromium color.

  • rendering/RenderTheme.h: Add new virtual method disabledTextColor.
  • rendering/RenderThemeChromiumMac.h: Implementation of RenderTheme::disabledTextColor for Chrimium Mac.
  • rendering/RenderThemeChromiumSkia.h: Implementation of RenderTheme::disabledTextColor for Chrimium.
7:28 PM Changeset in webkit [102654] by kbr@google.com
  • 2 edits in trunk/LayoutTests

Unreviewed Chromium test expectations update. Actually skip
plugins/netscape-plugin-page-cache-works.html as it looks like its
timeout is causing other tests to fail.

  • platform/chromium/test_expectations.txt:
7:13 PM Changeset in webkit [102653] by kbr@google.com
  • 2 edits in trunk/Source/WebCore

Unreviewed, rolling out r102648.
http://trac.webkit.org/changeset/102648
https://bugs.webkit.org/show_bug.cgi?id=74313

Broke the Snow Leopard and Windows builds

  • bindings/js/ScriptEventListener.cpp:

(WebCore::eventListenerHandlerLocation):

7:08 PM Changeset in webkit [102652] by kling@webkit.org
  • 13 edits in trunk/Source

Resizing Cappuccino is very laggy on WebKit since Safari 5.1
<http://webkit.org/b/71354> and <rdar://problem/10565998>

Reviewed by Anders Carlsson.

Source/WebCore:

  • WebCore.exp.in: Export FloatPoint(const NSPoint&)

Source/WebKit2:

On Mac, we already cache the window rect through the WindowAndViewFramesChanged
message, so simply return that in WebChromeClient::windowRect() instead of
sending a synchronous query to the UIProcess.

Changed WindowAndViewFramesChanged to pass FloatRect/FloatPoint rather than
IntRect/IntPoint to match the ChromeClient::windowRect() return type.

  • UIProcess/API/mac/WKView.mm:

(-[WKView _updateWindowAndViewFrames]):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::setWindowFrame):

  • UIProcess/WebPageProxy.h:
  • UIProcess/mac/WebPageProxyMac.mm:

(WebKit::WebPageProxy::windowAndViewFramesChanged):

  • WebProcess/Plugins/PluginView.cpp:

(WebKit::PluginView::windowAndViewFramesChanged):

  • WebProcess/Plugins/PluginView.h:
  • WebProcess/WebCoreSupport/WebChromeClient.cpp:

(WebKit::WebChromeClient::windowRect):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::windowAndViewFramesChanged):

  • WebProcess/WebPage/WebPage.h:

(WebKit::WebPage::windowFrameInScreenCoordinates):
(WebKit::WebPage::viewFrameInWindowCoordinates):
(WebKit::WebPage::accessibilityPosition):

  • WebProcess/WebPage/mac/WKAccessibilityWebPageObject.mm:

(-[WKAccessibilityWebPageObject accessibilityAttributeValue:]):

6:56 PM Changeset in webkit [102651] by jarred@sencha.com
  • 2 edits in trunk/Source/WebCore

[Qt] QTKIT-based video support must target OS X 10.5 or higher
https://bugs.webkit.org/show_bug.cgi?id=74294

WebCore on OS X Lion fails to build when QTKIT video support is enabled, unless a
deployment target of 10.5+ is specified explicitly.

Reviewed by Noam Rosenthal.

No new tests as this is a build issue.

  • Target.pri:
6:36 PM Changeset in webkit [102650] by macpherson@chromium.org
  • 3 edits in trunk/Source/WebCore

Implement CSS text-decoration property in CSSStyleApplyProperty.
https://bugs.webkit.org/show_bug.cgi?id=74258

Reviewed by Andreas Kling.

No new tests / refactoring only.

  • css/CSSStyleApplyProperty.cpp:

(WebCore::ApplyPropertyTextDecoration::applyValue):
(WebCore::ApplyPropertyTextDecoration::createHandler):
(WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):

  • css/CSSStyleSelector.cpp:

(WebCore::CSSStyleSelector::applyProperty):

6:32 PM Changeset in webkit [102649] by enne@google.com
  • 3 edits
    6 adds in trunk

iframe fails to scroll in composited page
https://bugs.webkit.org/show_bug.cgi?id=72682

Reviewed by Simon Fraser.

Source/WebCore:

FrameView::scrollContentsSlowPath only was catching the case where a
child iframe had a composited parent. Now detect if the child iframe
has any composited ancestor.

Test: compositing/iframes/scroll-grandchild-iframe.html

  • page/FrameView.cpp:

(WebCore::FrameView::scrollContentsSlowPath):

LayoutTests:

  • compositing/iframes/resources/scrollgrandchild-grandparent.html: Added.
  • compositing/iframes/resources/scrollgrandchild-inner.html: Added.
  • compositing/iframes/resources/scrollgrandchild-parent.html: Added.
  • compositing/iframes/scroll-grandchild-iframe-expected.png: Added.
  • compositing/iframes/scroll-grandchild-iframe-expected.txt: Added.
  • compositing/iframes/scroll-grandchild-iframe.html: Added.
6:23 PM Changeset in webkit [102648] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Implement the JavaScriptCore bindings for eventListenerHandlerLocation
https://bugs.webkit.org/show_bug.cgi?id=74313

Patch by Konrad Piascik <kpiascik@rim.com> on 2011-12-12
Reviewed by Geoffrey Garen.

Open any page in Web Inspector and look at the event listeners. They should now
link to the script which created them.

  • bindings/js/ScriptEventListener.cpp:

(WebCore::eventListenerHandlerLocation):

5:45 PM Changeset in webkit [102647] by kbr@google.com
  • 2 edits in trunk/LayoutTests

Unreviewed. Chromium test expectations update to get the bots green.

  • platform/chromium/test_expectations.txt:
5:34 PM Changeset in webkit [102646] by arv@chromium.org
  • 6 edits
    2 deletes in trunk/Source/WebCore

[V8] CodeGeneratorV8.pm does not correctly work with inherited HasIndexGetter
https://bugs.webkit.org/show_bug.cgi?id=74027

Reviewed by Adam Barth.

Instead of having to write a custom indexer when the interface has an inherited indexer
we get the signature from the super interface.

Tested by existing tests.

  • Target.pri: Remove V8DOMSettableTokenListCustom.cpp and V8WebKitCSSFilterValueCustom.cpp.
  • UseV8.cmake: Ditto.
  • WebCore.gypi: Ditto.
  • bindings/scripts/CodeGenerator.pm:

(FindSuperMethod): Returns the first matching function in one of the ancestor interfaces.

  • bindings/scripts/CodeGeneratorV8.pm:

(GenerateImplementationIndexer): If the current interface has no indexer try to find an

indexer in one of the super interfaces.

(GenerateImplementationNamedPropertyGetter): Ditto for named property getter.

  • bindings/v8/custom/V8DOMSettableTokenListCustom.cpp: Removed.
  • bindings/v8/custom/V8WebKitCSSFilterValueCustom.cpp: Removed.
5:14 PM Changeset in webkit [102645] by rniwa@webkit.org
  • 4 edits in trunk/LayoutTests

Mac rebaselines after r102612 and r102538.

  • platform/mac-snowleopard/fast/text/hyphenate-limit-lines-expected.txt:
  • platform/mac/fast/dom/Window/window-properties-expected.txt:
  • platform/mac/fast/dom/Window/window-property-descriptors-expected.txt:
5:05 PM Changeset in webkit [102644] by Simon Fraser
  • 12 edits
    2 copies in trunk/Source/WebCore

Make it possible to substitute a different CALayer implementation for the main root layer
https://bugs.webkit.org/show_bug.cgi?id=74369

Reviewed by Anders Carlsson.

Some platforms may wish to have the main root layer (which corresponds with
the main frame's RenderView's layer) implemented by a custom platform layer,
for example to contain a cache of tiles.

Make this possible on Mac by adding a new method to GraphicsLayerClient(),
and implementing it in RenderLayerBacking. This new behavior is not yet enabled.

Also clean up some WebLayer/WebTiledLayer code.

  • WebCore.xcodeproj/project.pbxproj:
  • platform/graphics/GraphicsLayerClient.h:

(WebCore::GraphicsLayerClient::shouldUseTileCache): New client method that indicates that the GraphicsLayer
should host a tile cache layer instead of a normal layer.

  • platform/graphics/ca/GraphicsLayerCA.cpp:

(WebCore::GraphicsLayerCA::GraphicsLayerCA): Ask the client, if any, whether to create a tile cache layer.

  • platform/graphics/ca/PlatformCALayer.h:
  • platform/graphics/ca/mac/PlatformCALayerMac.mm: NSClassFromString(@"CATransformLayer") was for Leopard;

we can just use the classname now. Handle LayerTypeTileCacheLayer.
(PlatformCALayer::PlatformCALayer):

  • platform/graphics/ca/mac/WebTileCacheLayer.h: Copied from Source/WebCore/platform/graphics/mac/WebLayer.h.
  • platform/graphics/ca/mac/WebTileCacheLayer.mm: Copied from Source/WebCore/platform/graphics/mac/WebLayer.h.
  • platform/graphics/mac/WebLayer.h: Remove the setLayerNeedsDisplayInRect() hackery.
  • platform/graphics/mac/WebLayer.mm: setLayerNeedsDisplayInRect() tried to share code between WebLayer and WebTiledLayer

by using Obj-C runtime methods to find the superclass. This causes infinite recursion if Web[Tiled]Layer is subclassed,
so remove it.
(-[WebLayer setNeedsDisplayInRect:]): Code moved here from setLayerNeedsDisplayInRect.

  • platform/graphics/mac/WebTiledLayer.mm:

(-[WebTiledLayer setNeedsDisplayInRect:]): Code copied here from setLayerNeedsDisplayInRect.

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::RenderLayerBacking): Find out, and cache if we're the main frame's layer.
(WebCore::RenderLayerBacking::shouldUseTileCache): Return m_usingTiledCacheLayer, which is always false for now.
(WebCore::RenderLayerBacking::createPrimaryGraphicsLayer): Use m_isMainFrameRenderViewLayer.
(WebCore::RenderLayerBacking::paintingGoesToWindow): The tile cache layer needs to paint itself.

  • rendering/RenderLayerBacking.h:
  • rendering/RenderLayerCompositor.h: m_compositeForFixedPosition was unused.
4:59 PM Changeset in webkit [102643] by rniwa@webkit.org
  • 7 edits in trunk/Source/WebCore

REGRESSION(r102357): respondToUnappliedEditing exits early for CreateLinkCommand
https://bugs.webkit.org/show_bug.cgi?id=74356

Reviewed by Enrica Casucci.

The problem was that isCreateLinkCommand was called on EditCommandComposition by respondToUnappliedEditing.
Fixed the bug by propagating the value of isCreteLinkCommand from CompositeEditCommand to
EditCommandComposition via wasCreateLinkCommand.

Also move isCreateLinkCommand from EditCommand to CompositeEditCommand to prevent this mistake in the future.

  • editing/CompositeEditCommand.cpp:

(WebCore::EditCommandComposition::create):
(WebCore::EditCommandComposition::EditCommandComposition):
(WebCore::CompositeEditCommand::ensureComposition):
(WebCore::CompositeEditCommand::isCreateLinkCommand):

  • editing/CompositeEditCommand.h:

(WebCore::EditCommandComposition::wasCreateLinkCommand):

  • editing/SpellingCorrectionController.cpp:

(WebCore::SpellingCorrectionController::respondToUnappliedEditing):

  • editing/SpellingCorrectionController.h:
4:58 PM Changeset in webkit [102642] by Lucas Forschler
  • 5 edits in branches/safari-534.53-branch/Source

Versioning.

4:56 PM Changeset in webkit [102641] by tony@chromium.org
  • 4 edits in trunk

[CSSRegions]Revert RenderObject::style() to its state before region styling
https://bugs.webkit.org/show_bug.cgi?id=74315

Patch by Mihnea Ovidenie <mihnea@adobe.com> on 2011-12-12
Reviewed by Tony Chang.

Source/WebCore:

  • rendering/RenderObject.h:

(WebCore::RenderObject::style):

LayoutTests:

  • platform/mac-snowleopard/Skipped:
4:52 PM Changeset in webkit [102640] by jberlin@webkit.org
  • 12 edits
    1 copy
    2 adds in trunk/Source/WebKit2

Add EventDispatcher class to WebKit2
https://bugs.webkit.org/show_bug.cgi?id=74344

Patch by Anders Carlsson <andersca@apple.com> on 2011-12-12
Reviewed by Sam Weinig.

The EventDispatcher is a singleton which will be in charge of dispatching events to WebPage objects.

  • DerivedSources.make:
  • DerivedSources.pri:
  • GNUmakefile.am:
  • Target.pri:
  • WebKit2.xcodeproj/project.pbxproj:
  • win/WebKit2.vcproj:

Add new files.

  • Platform/CoreIPC/MessageID.h:

Add EventDispatcher.

  • WebProcess/WebConnectionToUIProcess.cpp:

(WebKit::WebConnectionToUIProcess::WebConnectionToUIProcess):
(WebKit::WebConnectionToUIProcess::invalidate):

  • WebProcess/WebConnectionToUIProcess.h:

WebConnectionToUIProcess doesn't need to be a QueueClient. Also, move the call to open into WebProcess since
we don't want to add queue clients after the connection has been opened.

  • WebProcess/WebPage/EventDispatcher.cpp: Added.

(WebKit::EventDispatcher::EventDispatcher):
(WebKit::EventDispatcher::~EventDispatcher):
(WebKit::EventDispatcher::didReceiveMessageOnConnectionWorkQueue):
(WebKit::EventDispatcher::wheelEvent):

  • WebProcess/WebPage/EventDispatcher.h:
  • WebProcess/WebPage/EventDispatcher.messages.in: Added.

Add new stub files.

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::initialize):
Add the event dispatcher as a queue client.

  • WebProcess/WebProcess.h:

Add an EventDispatcher member variable to the web process.

4:48 PM Changeset in webkit [102639] by adamk@chromium.org
  • 3 edits
    2 adds in trunk

Don't crash in StyleAttributeMutationScope if the style declaration's element has been GCed
https://bugs.webkit.org/show_bug.cgi?id=74321

Reviewed by Ryosuke Niwa.

Source/WebCore:

In r101101, Rafael Weinstein added code to CSSMutableStyleDeclaration.cpp
which depended on isInlineStyleDeclaration returning true iff the
element it pointed to was non-null (it will be nulled-out if the
element is garbage collected).

Then, in r101172, Andreas Kling changed the semantics so that
isInlineStyleDeclaration only described the type of the declaration,
not the state of the related element.

This change updates Rafael's code with an explicit check that the
element is still alive.

Test: fast/dom/css-inline-style-declaration-crash.html

  • css/CSSMutableStyleDeclaration.cpp:

LayoutTests:

  • fast/dom/css-inline-style-declaration-crash-expected.txt: Added.
  • fast/dom/css-inline-style-declaration-crash.html: Added.
4:46 PM Changeset in webkit [102638] by Lucas Forschler
  • 1 copy in tags/Safari-534.53.9

New tag.

4:14 PM Changeset in webkit [102637] by Lucas Forschler
  • 5 edits in trunk/Source

Versioning.

4:10 PM Changeset in webkit [102636] by Lucas Forschler
  • 1 copy in tags/Safari-535.13

New Tag.

4:09 PM Changeset in webkit [102635] by bfulgham@webkit.org
  • 2 edits in trunk/LayoutTests

[WinCairo] Unreviewed update to Skipped list to get bot green.

  • platform/wincairo/Skipped: Exclude current failures (and turn on a few new successes).
3:54 PM Changeset in webkit [102634] by Chris Fleizach
  • 6 edits
    2 adds in trunk

AX: aria-hidden inheritance broken when applying to some descendants
https://bugs.webkit.org/show_bug.cgi?id=73940

Reviewed by Darin Adler.

Source/WebCore:

When adding children, we were not updating the children cache for direct AX descendants.
This meant that toggling aria-hidden could result in a stale cache where elements would not be reachable.

Making this fix also exposed a problem in AccessibilityTable where the AccessibilityHeaderObject was not
being managed correctly as a mock element.

Test: platform/mac/accessibility/aria-hidden-changes-for-non-ignored-elements.html

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::addChildren):

  • accessibility/AccessibilityTable.cpp:

(WebCore::AccessibilityTable::clearChildren):
(WebCore::AccessibilityTable::headerContainer):

  • accessibility/AccessibilityTable.h:

LayoutTests:

  • platform/mac/accessibility/aria-hidden-changes-for-non-ignored-elements-expected.txt: Added.
  • platform/mac/accessibility/aria-hidden-changes-for-non-ignored-elements.html: Added.
3:51 PM Changeset in webkit [102633] by weinig@apple.com
  • 10 edits in trunk/Source/WebKit2

Prefix internal methods in Objective-C API files with an underscore
https://bugs.webkit.org/show_bug.cgi?id=74363

Reviewed by Dan Bernstein.

  • UIProcess/API/mac/WKBrowsingContextController.mm:

(-[WKBrowsingContextController _pageRef]):
(-[WKBrowsingContextController loadRequest:]):
(-[WKBrowsingContextController loadFileURL:restrictToFilesWithin:]):
(-[WKBrowsingContextController stopLoading]):
(-[WKBrowsingContextController reload]):
(-[WKBrowsingContextController reloadFromOrigin]):
(-[WKBrowsingContextController goForward]):
(-[WKBrowsingContextController canGoForward]):
(-[WKBrowsingContextController goBack]):
(-[WKBrowsingContextController canGoBack]):
(-[WKBrowsingContextController activeURL]):
(-[WKBrowsingContextController provisionalURL]):
(-[WKBrowsingContextController committedURL]):
(-[WKBrowsingContextController title]):
(-[WKBrowsingContextController textZoom]):
(-[WKBrowsingContextController setTextZoom:]):
(-[WKBrowsingContextController pageZoom]):
(-[WKBrowsingContextController setPageZoom:]):
(-[WKBrowsingContextController setPaginationMode:]):
(-[WKBrowsingContextController paginationMode]):
(-[WKBrowsingContextController setPageLength:]):
(-[WKBrowsingContextController pageLength]):
(-[WKBrowsingContextController setGapBetweenPages:]):
(-[WKBrowsingContextController gapBetweenPages]):
(-[WKBrowsingContextController pageCount]):
(-[WKBrowsingContextController _initWithPageRef:]):

  • UIProcess/API/mac/WKBrowsingContextControllerInternal.h:
  • UIProcess/API/mac/WKBrowsingContextGroup.mm:

(-[WKBrowsingContextGroup allowsJavaScript]):
(-[WKBrowsingContextGroup setAllowsJavaScript:]):
(-[WKBrowsingContextGroup allowsPlugIns]):
(-[WKBrowsingContextGroup setAllowsPlugIns:]):
(-[WKBrowsingContextGroup _pageGroupRef]):

  • UIProcess/API/mac/WKBrowsingContextGroupInternal.h:
  • UIProcess/API/mac/WKConnection.mm:

(-[WKConnection _initWithConnectionRef:]):

  • UIProcess/API/mac/WKConnectionInternal.h:
  • UIProcess/API/mac/WKProcessGroup.mm:

(didCreateConnection):
(-[WKProcessGroup _contextRef]):

  • UIProcess/API/mac/WKProcessGroupInternal.h:
  • UIProcess/API/mac/WKView.mm:

(-[WKView initWithFrame:processGroup:browsingContextGroup:]):
(-[WKView browsingContextController]):

3:51 PM Changeset in webkit [102632] by commit-queue@webkit.org
  • 4 edits
    1 move
    1 add
    1 delete in trunk

When the mouse is dragged out of an :active element, it should lose :hover.
https://bugs.webkit.org/show_bug.cgi?id=57206

Patch by Jeremy Apthorp <jeremya@chromium.org> on 2011-12-12
Reviewed by Ryosuke Niwa.

Source/WebCore:

Test: fast/css/hover-active-drag.html

  • page/EventHandler.cpp:

(WebCore::EventHandler::handleMouseMoveEvent): Don't mark mouse-drag hit tests read-only, since they no longer are.
(WebCore::EventHandler::dragSourceEndedAt): Send a hit test request when the mouse goes up after a drag, so
RenderLayer has a chance to update the hover/active status.

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::updateHoverActiveState): Only allow the :active state to change on mouse down or mouse up.

LayoutTests:

  • fast/css/hover-active-drag-expected.txt: Added.
  • fast/css/hover-active-drag.html: Added.
  • platform/mac/fast/css/hover-active-drag-expected.txt: Removed.
  • platform/chromium/fast/css/hover-active-drag-expected.txt: Removed.
3:21 PM Changeset in webkit [102631] by msaboff@apple.com
  • 5 edits in trunk/Source/JavaScriptCore

Eliminate Duplicate word at a time equal code in StringImpl.cpp and StringHash.h
https://bugs.webkit.org/show_bug.cgi?id=73622

Reviewed by Oliver Hunt.

Moved equal(charType1 *, charType2, unsigned) template methods
from static StringImpl.cpp to StringImpl.h and then replaced the
processor specific character comparison code in StringHash::equal
with calls to these methods.

This change is worth 3% on SunSpider string-unpack-code as reported
by the SunSpider command line harness. No other tests appear to
have measurable performance changes.

  • wtf/text/AtomicString.h:

(WTF::operator==):

  • wtf/text/StringHash.h:

(WTF::StringHash::equal):

  • wtf/text/StringImpl.cpp:
  • wtf/text/StringImpl.h:

(WTF::LChar):
(WTF::UChar):
(WTF::equal):

3:17 PM Changeset in webkit [102630] by kbr@google.com
  • 2 edits in trunk/LayoutTests

Unreviewed Chromium expectations update; skip
plugins/netscape-plugin-page-cache-works.html.

  • platform/chromium/test_expectations.txt:
3:08 PM Changeset in webkit [102629] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

ARMv7 version of DFG soft modulo does register allocation inside of control flow
https://bugs.webkit.org/show_bug.cgi?id=74354

Reviewed by Gavin Barraclough.

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileSoftModulo):

3:05 PM Changeset in webkit [102628] by kbr@google.com
  • 2 edits in trunk/Source/WebCore

Unreviewed Windows build fix after http://trac.webkit.org/changeset/102619 .
Remove OVERRIDE specifier from virtual destructor.

  • html/HTMLPlugInImageElement.h:
2:53 PM Changeset in webkit [102627] by rniwa@webkit.org
  • 13 edits in trunk/Source

WebKit code shouldn't be calling applyCommand directly
https://bugs.webkit.org/show_bug.cgi?id=74337

Reviewed by Darin Adler.

Source/WebCore:

Make WebKit-layer code call Editor::replaceSelectionWithFragment and Editor::replaceSelectionWithText
instead of manually creating and applying ReplaceSelectionCommand.

The only behavioral difference is that new code will end up checking for spell checks. However, this
difference appears to be unintentional since the code predates http://trac.webkit.org/changeset/73886,
which introduced an invocation of spellcheck code.

Unfortunately no tests since there doesn't seem to be anyway to test this change.

  • WebCore.exp.in:
  • editing/EditCommand.cpp:

(WebCore::applyCommand):

  • editing/EditCommand.h:
  • editing/Editor.h:

Source/WebKit/chromium:

  • src/WebFrameImpl.cpp:

(WebKit::WebFrameImpl::replaceSelection):

Source/WebKit/gtk:

  • webkit/webkitwebframe.cpp:

(webkit_web_frame_replace_selection):

Source/WebKit/mac:

  • WebView/WebFrame.mm:

(-[WebFrame _replaceSelectionWithFragment:selectReplacement:smartReplace:matchStyle:]):

Source/WebKit2:

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::replaceSelectionWithText):

2:49 PM Changeset in webkit [102626] by abarth@webkit.org
  • 12 edits in trunk/LayoutTests

Update html5lib test data to latest version
https://bugs.webkit.org/show_bug.cgi?id=74343

Reviewed by Eric Seidel.

This patch imports the latest version of the "dat" files from
http://code.google.com/p/html5lib/

  • html5lib/resources/pending-spec-changes.dat:
  • html5lib/resources/plain-text-unsafe.dat:
  • html5lib/resources/tables01.dat:
  • html5lib/resources/tests16.dat:
  • html5lib/resources/tests19.dat:
  • html5lib/resources/tests26.dat:
  • html5lib/resources/tests_innerHTML_1.dat:
  • html5lib/resources/webkit01.dat:
  • html5lib/runner-expected.txt:
  • html5lib/webkit-resumer-expected.txt:
  • platform/chromium/html5lib/runner-expected.txt:
2:41 PM Changeset in webkit [102625] by weinig@apple.com
  • 2 edits in trunk/Source/WebKit2

Remove unused getter on WKConnection.

Reviewed by Dan Bernstein.

  • UIProcess/API/mac/WKConnection.mm:
2:33 PM Changeset in webkit [102624] by commit-queue@webkit.org
  • 4 edits in trunk

Simplify autotools configure.ac
https://bugs.webkit.org/show_bug.cgi?id=74312

Patch by Andy Wingo <wingo@igalia.com> on 2011-12-12
Reviewed by Martin Robinson.

.:

  • configure.ac: Don't AC_DEFINE so many things. Many of the

defines were stale (ENABLE_YARR, ENABLE_JIT_OPTIMIZE_CALL, etc),
and with Platform.h we don't need to make an explicit decision
here. If the user does pass --enable-jit or --disable-jit, effect
that choice via setting JSC_CPPFLAGS.

Source/JavaScriptCore:

  • GNUmakefile.am: Add JSC_CPPFLAGS to javascriptcore_cppflags.
2:13 PM Changeset in webkit [102623] by fpizlo@apple.com
  • 3 edits
    3 adds in trunk

DFG GetByVal CSE incorrectly assumes that a non-matching PutByVal cannot clobber
https://bugs.webkit.org/show_bug.cgi?id=74329

Reviewed by Gavin Barraclough.

Source/JavaScriptCore:

  • dfg/DFGPropagator.cpp:

(JSC::DFG::Propagator::getByValLoadElimination):

LayoutTests:

  • fast/js/dfg-get-by-val-clobber-expected.txt: Added.
  • fast/js/dfg-get-by-val-clobber.html: Added.
  • fast/js/script-tests/dfg-get-by-val-clobber.js: Added.

(doAccesses):

2:13 PM Changeset in webkit [102622] by abarth@webkit.org
  • 5 edits
    1 delete in trunk/Source/WebCore

Remove platform/audio/fftw
https://bugs.webkit.org/show_bug.cgi?id=73163

Reviewed by Eric Seidel.

The FFTW library is GPL, not LGPL, like WebKit. This patch removes the
integration with the library so folks who use WebAudio don't
accidentially violate the GPL by linking in FFTW.

  • GNUmakefile.am:
  • WebCore.gyp/WebCore.gyp:
  • WebCore.gypi:
  • platform/audio/FFTFrame.h:
  • platform/audio/FFTFrameStub.cpp:
  • platform/audio/fftw: Removed.
  • platform/audio/fftw/FFTFrameFFTW.cpp: Removed.
2:09 PM Changeset in webkit [102621] by kbr@google.com
  • 2 edits in trunk/Source/WebCore

COMPILE_ASSERT in CSSStyleSelector.cpp doesn't compile on Windows
https://bugs.webkit.org/show_bug.cgi?id=74327

Unreviewed build fix. True fix should follow under above bug.

  • css/CSSStyleSelector.cpp:
2:04 PM Changeset in webkit [102620] by dgrogan@chromium.org
  • 7 edits in trunk/Source

Fix compilation error when !ENABLE(WORKERS)
https://bugs.webkit.org/show_bug.cgi?id=74029

Reviewed by Yury Semikhatsky.

Source/WebCore:

  • storage/IDBFactory.cpp:

(WebCore::IDBFactory::open): add #if ENABLE(WORKERS) guard

Source/WebKit/chromium:

  • features.gypi:
  • src/IDBFactoryBackendProxy.cpp:

(WebKit::IDBFactoryBackendProxy::openFromWorker):

  • src/PlatformSupport.cpp:
  • src/WebDevToolsAgentImpl.cpp:

(WebKit::WebDevToolsAgent::disconnectEventAsText):

  • src/WebWorkerRunLoop.cpp:
2:00 PM Changeset in webkit [102619] by beidson@apple.com
  • 20 edits
    3 adds in trunk

Page cache should support pages with plugins.
<rdar://problem/5190122> and https://bugs.webkit.org/show_bug.cgi?id=13634

Source/WebCore:

Reviewed by Anders Carlsson.

By making plugin elements renderers go display:none when entering the page cache,
we destroy the plug-in in a cross platform way as well as handle invalidating script
objects created by that plugin.

By restoring the original style when leaving the page cache and forcing a style recalc
on the plugin element, the plugin is gracefully reinstantiated when the user goes back.

Test: plugins/netscape-plugin-page-cache-works.html

  • dom/Document.cpp:

(WebCore::Document::documentDidBecomeActive): Copy this collection before iterating over

it, as the callbacks might result in mutating the set.

  • dom/Node.h:

(WebCore::Node::setHasCustomStyleForRenderer):
(WebCore::Node::clearHasCustomStyleForRenderer): Expose the ability to stop using a

custom renderer and go back to the default renderer.

  • history/CachedFrame.cpp:

(WebCore::CachedFrame::CachedFrame): Move the document inactivation call to the same place

we suspend active DOM objects. It is important this call be *after* the beforeunload event
is dispatched, and was coincidental non of the elements that using Document activation
had run in to this problem yet.

  • history/PageCache.cpp:

(WebCore::logCanCacheFrameDecision):
(WebCore::PageCache::canCachePageContainingThisFrame): If the page contains plugins but

the PageCacheSupportsPlugins setting is true, allow this page.

Kill and recreate the plugin by listening for Document activation callbacks and setting a custom
display:none render style:

  • html/HTMLPlugInImageElement.cpp:

(WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement):
(WebCore::HTMLPlugInImageElement::~HTMLPlugInImageElement): Unregister for document activation

callbacks.

(WebCore::HTMLPlugInImageElement::createRenderer): Once a renderer (ie. plugin instance) is

created, this element needs Document (in)activation callbacks.

(WebCore::HTMLPlugInImageElement::willMoveToNewOwnerDocument): Manage Document activation

callback registration.

(WebCore::HTMLPlugInImageElement::didMoveToNewOwnerDocument): Ditto.
(WebCore::HTMLPlugInImageElement::documentWillBecomeInactive): Clone the element's current style

and set the clone's display value to None. Start using this custom style and force a style
recall. This destroys the renderer and therefore the plugin instance.

(WebCore::HTMLPlugInImageElement::documentDidBecomeActive): Stop using the custom style and

force a style recall to reinstantiate the plugin.

(WebCore::HTMLPlugInImageElement::customStyleForRenderer): Return the stand-in style that has

display:none set.

  • html/HTMLPlugInImageElement.h:

Add a setting that allows runtime configuration of whether or not the page cache supports plugins:

  • page/Settings.cpp:

(WebCore::Settings::Settings):

  • page/Settings.h:

(WebCore::Settings::setPageCacheSupportsPlugins):
(WebCore::Settings::pageCacheSupportsPlugins):

Source/WebKit/mac:

Expose a WebKit preference for the page cache supporting plugins (on by default).

Reviewed by Anders Carlsson.

  • WebView/WebPreferenceKeysPrivate.h:
  • WebView/WebPreferences.mm:

(-[WebPreferences pageCacheSupportsPlugins]):
(-[WebPreferences setPageCacheSupportsPlugins:]):

  • WebView/WebPreferencesPrivate.h:
  • WebView/WebView.mm:

(-[WebView _preferencesChanged:]):

Source/WebKit2:

Expose a WebKit2 preference for the page cache supporting plugins (on by default).

Reviewed by Anders Carlsson.

  • Shared/WebPreferencesStore.h:
  • UIProcess/API/C/WKPreferences.cpp:

(WKPreferencesSetPageCacheSupportsPlugins):
(WKPreferencesGetPageCacheSupportsPlugins):

  • UIProcess/API/C/WKPreferencesPrivate.h:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::updatePreferences):

LayoutTests:

Reviewed by Anders Carlsson.

  • plugins/netscape-plugin-page-cache-works-expected.txt: Added.
  • plugins/netscape-plugin-page-cache-works.html: Added.
  • plugins/resources/go-back.html: Added.
1:56 PM Changeset in webkit [102618] by Lucas Forschler
  • 2 edits in branches/safari-534.53-branch/Source/WebKit/mac

<rdar://problem/10565832> After installing Duches 53.8, Mail Hangs on Reply all

Fixing a mis-merge of r99617 where an observer was incorrectly added.

  • WebView/WebView.mm:

(-[WebView addWindowObserversForWindow:]):

1:41 PM Changeset in webkit [102617] by Lucas Forschler
  • 3 edits in branches/safari-534.53-branch/Source/WebKit/mac

Merge 97407.

1:41 PM Changeset in webkit [102616] by weinig@apple.com
  • 5 edits
    3 adds in trunk/Source/WebKit2

Add WKConnection objective-c wrapper around WKConnectionRef
<rdar://problem/10446092>
https://bugs.webkit.org/show_bug.cgi?id=74324

Reviewed by Anders Carlsson.

  • UIProcess/API/mac/WKConnection.h: Added.
  • UIProcess/API/mac/WKConnection.mm: Added.

(-[WKConnection dealloc]):
(-[WKConnection connectionRef]):
(-[WKConnection delegate]):
(-[WKConnection setDelegate:]):
(didReceiveMessage):
(didClose):
(setUpClient):
(-[WKConnection initWithConnectionRef:]):

  • UIProcess/API/mac/WKConnectionInternal.h: Added.

Added new class.

  • UIProcess/API/mac/WKProcessGroup.h:
  • UIProcess/API/mac/WKProcessGroup.mm:

(didCreateConnection):
(setUpConnectionClient):
(-[WKProcessGroup initWithInjectedBundleURL:]):
(-[WKProcessGroup delegate]):
(-[WKProcessGroup setDelegate:]):
Add WKProcessGroupDelegate to inform the user of when connections are established.

  • WebKit2.xcodeproj/project.pbxproj:

Add new files.

1:41 PM Changeset in webkit [102615] by andersca@apple.com
  • 9 edits in trunk/Source/WebKit2

Rename QueueClient::willProcessMessageOnClientRunLoop
https://bugs.webkit.org/show_bug.cgi?id=74325

Reviewed by Sam Weinig.

Rename the QueueClient willProcessMessageOnClientRunLoop function to didReceiveMessageOnConnectionWorkQueue
and give it an out parameter to indicate whether the message was handled or not. This makes it more clear that
the function is expected to handle the message.

  • Platform/CoreIPC/Connection.cpp:

(CoreIPC::Connection::processIncomingMessage):

  • Platform/CoreIPC/Connection.h:
  • Scripts/webkit2/messages.py:

(async_case_statement):

  • Scripts/webkit2/messages_unittest.py:
  • WebProcess/WebConnectionToUIProcess.cpp:

(WebKit::WebConnectionToUIProcess::didReceiveMessageOnConnectionWorkQueue):

  • WebProcess/WebConnectionToUIProcess.h:
  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::didReceiveMessageOnConnectionWorkQueue):

  • WebProcess/WebProcess.h:
1:26 PM Changeset in webkit [102614] by Nate Chapin
  • 2 edits
    3 copies in branches/chromium/963

Merge 102602 - Source/WebCore: A SubresourceLoader in the middle of revalidating
a resource should be treated as finishing (similar to
didFinishLoading and didFail) to ensure that willCancel()
doesn't declare the revalidation as having failed reentrantly.
https://bugs.webkit.org/show_bug.cgi?id=72762

Reviewed by Adam Barth.

Test: http/tests/cache/cancel-during-revalidation-succeeded.html

  • loader/SubresourceLoader.cpp:

(WebCore::SubresourceLoader::didReceiveResponse):

LayoutTests: Test for https://bugs.webkit.org/show_bug.cgi?id=72762

Reviewed by Adam Barth.

  • http/tests/cache/cancel-during-revalidation-succeeded-expected.txt: Added.
  • http/tests/cache/cancel-during-revalidation-succeeded.html: Added.
  • http/tests/cache/resources/stylesheet304.php: Added.

TBR=Nate Chapin
Review URL: http://codereview.chromium.org/8920011

1:25 PM Changeset in webkit [102613] by ojan@chromium.org
  • 2 edits in trunk/Source/WebCore

r102234 caused RuleData to use 33 bits in its bitmask
https://bugs.webkit.org/show_bug.cgi?id=74314

Reviewed by Antti Koivisto.

Lower m_position to something more reasonable. A million
should be plenty. Current large sites (e.g. gmail) seem to use
tens of thousands.

Added a COMPILE_ASSERT to ensure this doesn't regress.

No new tests.

  • css/CSSStyleSelector.cpp:
12:58 PM Changeset in webkit [102612] by commit-queue@webkit.org
  • 11 edits in trunk

Rename webkitCancelRequestAnimationFrame to webkitCancelAnimationFrame to match spec change
https://bugs.webkit.org/show_bug.cgi?id=74231

Patch by James Robinson <jamesr@chromium.org> on 2011-12-12
Reviewed by Simon Fraser.

Source/WebCore:

The RequestAnimationFrame spec has renamed cancelRequestAnimationFrame to cancelAnimationFrame in response to
feedback from Mozilla and Microsoft that the old name was too long and didn't parallel setTimeout/clearTimeout
and setInterval/clearInterval very well. This updates our IDL to match, while preserving the old name as an
alias to be compatible with current content.

  • dom/Document.cpp:

(WebCore::Document::webkitCancelAnimationFrame):

  • dom/Document.h:
  • page/DOMWindow.cpp:

(WebCore::DOMWindow::webkitCancelAnimationFrame):

  • page/DOMWindow.h:

(WebCore::DOMWindow::webkitCancelRequestAnimationFrame):

  • page/DOMWindow.idl:

LayoutTests:

Update requestAnimationFrame tests to refer to the new function name.

  • fast/animation/request-animation-frame-missing-arguments.html:
  • fast/animation/script-tests/request-animation-frame-cancel.js:

(window):

  • fast/animation/script-tests/request-animation-frame-cancel2.js:
12:53 PM Changeset in webkit [102611] by commit-queue@webkit.org
  • 4 edits in trunk/Source

[chromium] Remove assumption that empty surface is always at end of list
https://bugs.webkit.org/show_bug.cgi?id=74037

Patch by Shawn Singh <shawnsingh@chromium.org> on 2011-12-12
Reviewed by James Robinson.

Source/WebCore:

Test case added to CCLayerTreeHostCommonTest.cpp, which reproduces
a crash reported in http://code.google.com/p/chromium/issues/detail?id=106734

This patch fixes the crash in a less risky way to be merged into
m17, but the root of the issue needs to be addressed in a
follow-up patch.

  • platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:

(WebCore::calculateDrawTransformsAndVisibilityInternal):

Source/WebKit/chromium:

  • tests/CCLayerTreeHostCommonTest.cpp:

(WebCore::TEST):

12:47 PM Changeset in webkit [102610] by dcheng@chromium.org
  • 3 edits in trunk/Source/WebKit/chromium

[chromium] Remove BufferDrag from WebClipboard::Buffer enum.
https://bugs.webkit.org/show_bug.cgi?id=74227

Reviewed by Tony Chang.

This enum value was intended for asynchronous data retrieval during drop operations; since
that was never implemented, I'm removing this enum value.

  • public/platform/WebClipboard.h:
  • src/AssertMatchingEnums.cpp:
12:29 PM Changeset in webkit [102609] by kbr@google.com
  • 2 edits in trunk/LayoutTests

Unreviewed Chromium gardening. Mark flaky crashing transitions/
test and update previously added flaky compositing test expectations.

  • platform/chromium/test_expectations.txt:
11:16 AM Changeset in webkit [102608] by Simon Fraser
  • 6 edits in trunk/Source/WebCore

Share code that checks for matching sets of transform operations
https://bugs.webkit.org/show_bug.cgi?id=74265

Reviewed by Dan Bernstein.

Add TransformOperations::operationsMatch() and call it from the
three places that used this same code.

Tested by existing tests.

  • page/animation/ImplicitAnimation.cpp:

(WebCore::ImplicitAnimation::validateTransformFunctionList):

  • page/animation/KeyframeAnimation.cpp:

(WebCore::KeyframeAnimation::validateTransformFunctionList):

  • platform/graphics/GraphicsLayer.cpp:

(WebCore::GraphicsLayer::fetchTransformOperationList):

  • platform/graphics/transforms/TransformOperations.cpp:

(WebCore::TransformOperations::operationsMatch):

  • platform/graphics/transforms/TransformOperations.h:
11:11 AM Changeset in webkit [102607] by Philippe Normand
  • 2 edits in trunk/LayoutTests

Unreviewed, remove X86_64 modifier from GTK test_expectations list.

  • platform/gtk/test_expectations.txt:
10:56 AM Changeset in webkit [102606] by Antti Koivisto
  • 5 edits in trunk/Source/WebCore

Cache visited link hash
https://bugs.webkit.org/show_bug.cgi?id=74095

Reviewed by Darin Adler.

Visited link hash is relatively expensive to compute. We can cache it for anchor elements
with minimal relative memory cost for faster style resolve.

On my machine this speeds up style matching on full HTML spec by ~100ms or ~1% of the total
CPU usage. It makes link elements 8 bytes larger, a relatively minor increase to their overall size.

Invalidate the hashes on base URL for completeness sake (lack of style invalidation means
that this scenario is not properly supported currently).

Covered by existing tests. No specific test for visited hash invalidation on dynamic base URL
change as the effect is not testable due to lack of style invalidation.

  • css/SelectorChecker.cpp:

(WebCore::SelectorChecker::determineLinkStateSlowCase):
(WebCore::SelectorChecker::visitedStateChanged):

  • html/Document.cpp:
  • html/HTMLAnchorElement.cpp:

(WebCore::HTMLAnchorElement::HTMLAnchorElement):
(WebCore::HTMLAnchorElement::parseMappedAttribute):

  • html/HTMLAnchorElement.h:

(WebCore::HTMLAnchorElement::visitedLinkHash):

10:48 AM Changeset in webkit [102605] by mitz@apple.com
  • 2 edits in trunk/Source/WebKit/mac

<rdar://problem/10328474> Text highlight changes to gray selection color when menu extra is shown

Reviewed by John Sullivan.

  • WebView/WebView.mm:

(-[WebView _updateActiveState]): Changed to use -[NSWindow _hasKeyAppearance] instead
of -isKeyWindow. The former also returns YES when a menu extra is open.
(-[WebView addWindowObserversForWindow:]): Removed code to observe
NSWindowDidBecomeKeyNotification and NSWindowDidResignKeyNotification.
(-[WebView removeWindowObservers]): Removed code to stop observing the above.
(-[WebView _windowChangedKeyState]): Overridden this to call _updateActiveState.
This is called when the result of -_hasKeyAppearance changes.
(-[WebView _windowWillOrderOnScreen:]): Removed call to _updateActiveState,
previously needed for popovers, because _windowChangedKeyState is invoked
at the right time for them.
(-[WebView _windowWillOrderOffScreen:]): Ditto.

10:44 AM Changeset in webkit [102604] by commit-queue@webkit.org
  • 5 edits in trunk/Source

[GTK] gtk_widget_size_allocate for plugin widgets should happen in the WebView size-allocate method
https://bugs.webkit.org/show_bug.cgi?id=72805

Patch by Martin Robinson <mrobinson@igalia.com> on 2011-12-12
Reviewed by Gustavo Noronha Silva.

Source/WebCore:

No new tests. This is only a performance tweak.

Instead of immediately calling gtk_widget_size during painting, defer
this until the size-allocate method of the WebView.

  • plugins/gtk/PluginViewGtk.cpp:

(WebCore::PluginView::updateWidgetAllocationAndClip): Instead of immediately changing
the widget allocation, just record it in a GObject data attachment.

Source/WebKit/gtk:

Instead of immediately calling gtk_widget_size during painting, defer
this until the size-allocate method of the WebView.

  • WebCoreSupport/ChromeClientGtk.cpp:

(WebKit::ChromeClient::paint): If any child widgets have a pending allocation
call gtk_widget_size_allocate.

  • webkit/webkitwebview.cpp:

(updateChildAllocationFromPendingAllocation): Added this helper.
(webkit_web_view_size_allocate): Call the helper on all child widgets.

10:40 AM Changeset in webkit [102603] by tommyw@google.com
  • 9 edits
    1 copy in trunk/Source/WebKit/chromium

[chromium] MediaStream API: Moving WebMediaStreamSource.h
https://bugs.webkit.org/show_bug.cgi?id=74081

Moving WebMediaStreamSource.h to public/platform.
Keeping a stub in public as to not affect chromium right now.

Reviewed by Darin Fisher.

  • WebKit.gyp:
  • public/WebMediaStreamSource.h:
  • public/platform/WebMediaStreamSource.h: Copied from Source/WebKit/chromium/public/WebMediaStreamSource.h.

(WebKit::WebMediaStreamSource::WebMediaStreamSource):
(WebKit::WebMediaStreamSource::~WebMediaStreamSource):
(WebKit::WebMediaStreamSource::isNull):

  • src/AssertMatchingEnums.cpp:
  • src/UserMediaClientImpl.cpp:
  • src/WebMediaStreamDescriptor.cpp:
  • src/WebMediaStreamRegistry.cpp:
  • src/WebMediaStreamSource.cpp:
  • src/WebUserMediaRequest.cpp:
10:27 AM Changeset in webkit [102602] by Nate Chapin
  • 4 edits
    3 adds in trunk

Source/WebCore: A SubresourceLoader in the middle of revalidating
a resource should be treated as finishing (similar to
didFinishLoading and didFail) to ensure that willCancel()
doesn't declare the revalidation as having failed reentrantly.
https://bugs.webkit.org/show_bug.cgi?id=72762

Reviewed by Adam Barth.

Test: http/tests/cache/cancel-during-revalidation-succeeded.html

  • loader/SubresourceLoader.cpp:

(WebCore::SubresourceLoader::didReceiveResponse):

LayoutTests: Test for https://bugs.webkit.org/show_bug.cgi?id=72762

Reviewed by Adam Barth.

  • http/tests/cache/cancel-during-revalidation-succeeded-expected.txt: Added.
  • http/tests/cache/cancel-during-revalidation-succeeded.html: Added.
  • http/tests/cache/resources/stylesheet304.php: Added.
10:18 AM Changeset in webkit [102601] by kubo@profusion.mobi
  • 3 edits in trunk/Source/WebKit/efl

[EFL] Add API to query the validity of a frame's SSL certificate.
https://bugs.webkit.org/show_bug.cgi?id=74302

Reviewed by Gustavo Noronha Silva.

  • ewk/ewk_frame.cpp:

(ewk_frame_certificate_status_get):

  • ewk/ewk_frame.h:
10:18 AM Changeset in webkit [102600] by kubo@profusion.mobi
  • 7 edits in trunk/Source/WebKit/efl

[EFL] Add API to notify that mixed content has been loaded.
https://bugs.webkit.org/show_bug.cgi?id=74301

Reviewed by Gustavo Noronha Silva.

When mixed content is displayed/run, both frames and views
emit the proper signals to notify API users.

  • WebCoreSupport/FrameLoaderClientEfl.cpp:

(WebCore::FrameLoaderClientEfl::didDisplayInsecureContent):
(WebCore::FrameLoaderClientEfl::didRunInsecureContent):

  • ewk/ewk_frame.cpp:

(ewk_frame_view_create_for_view):
(ewk_frame_mixed_content_displayed_get):
(ewk_frame_mixed_content_run_get):
(ewk_frame_mixed_content_displayed_set):
(ewk_frame_mixed_content_run_set):

  • ewk/ewk_frame.h:
  • ewk/ewk_private.h:
  • ewk/ewk_view.cpp:

(ewk_view_frame_main_cleared):
(ewk_view_mixed_content_displayed_get):
(ewk_view_mixed_content_run_get):
(ewk_view_mixed_content_displayed_set):
(ewk_view_mixed_content_run_set):

  • ewk/ewk_view.h:
10:18 AM Changeset in webkit [102599] by kubo@profusion.mobi
  • 3 edits in trunk/Source/WebKit/efl

[EFL] Add API to manage root X.509 CA certificates.
https://bugs.webkit.org/show_bug.cgi?id=74300

Reviewed by Martin Robinson.

  • ewk/ewk_network.cpp:

(ewk_network_tls_ca_certificates_path_get):
(ewk_network_tls_ca_certificates_path_set):

  • ewk/ewk_network.h:
10:17 AM Changeset in webkit [102598] by kubo@profusion.mobi
  • 4 edits in trunk/Source/WebKit/efl

[EFL] Add API to control whether SSL certificates should be checked.
https://bugs.webkit.org/show_bug.cgi?id=74299

Reviewed by Martin Robinson.

  • ewk/ewk_main.cpp:

(_ewk_init_body): Explicitly disable certificate checks by default.

  • ewk/ewk_network.cpp:

(ewk_network_tls_certificate_check_get):
(ewk_network_tls_certificate_check_set):

  • ewk/ewk_network.h:
10:10 AM Changeset in webkit [102597] by alexis.menard@openbossa.org
  • 1 edit
    1 add
    3 deletes in trunk/Source/WebKit2

Unreviewed cleanup fix.

Add missing files from https://bugs.webkit.org/show_bug.cgi?id=73016

Also remove the files that should be removed.

  • UIProcess/API/qt/tests/qmltests/WebView/tst_navigationHistory.qml: Added.
  • UIProcess/qt/qwkhistory.cpp: Removed.
  • UIProcess/qt/qwkhistory.h: Removed.
  • UIProcess/qt/qwkhistory_p.h: Removed.
10:03 AM Changeset in webkit [102596] by Csaba Osztrogonác
  • 1 edit
    16 adds in trunk/LayoutTests

[Qt] Unreviewed gardening. Add Qt5 specific expected results after r102388.

  • platform/qt-5.0/animations/cross-fade-background-image-expected.png: Added.
  • platform/qt-5.0/animations/cross-fade-background-image-expected.txt: Added.
  • platform/qt-5.0/animations/cross-fade-border-image-source-expected.png: Added.
  • platform/qt-5.0/animations/cross-fade-border-image-source-expected.txt: Added.
  • platform/qt-5.0/animations/cross-fade-list-style-image-expected.png: Added.
  • platform/qt-5.0/animations/cross-fade-list-style-image-expected.txt: Added.
  • platform/qt-5.0/animations/cross-fade-webkit-mask-box-image-expected.png: Added.
  • platform/qt-5.0/animations/cross-fade-webkit-mask-box-image-expected.txt: Added.
  • platform/qt-5.0/animations/cross-fade-webkit-mask-image-expected.png: Added.
  • platform/qt-5.0/animations/cross-fade-webkit-mask-image-expected.txt: Added.
  • platform/qt-5.0/transitions/cross-fade-background-image-expected.png: Added.
  • platform/qt-5.0/transitions/cross-fade-background-image-expected.txt: Added.
  • platform/qt-5.0/transitions/cross-fade-border-image-expected.png: Added.
  • platform/qt-5.0/transitions/cross-fade-border-image-expected.txt: Added.
9:49 AM Changeset in webkit [102595] by kbr@google.com
  • 2 edits in trunk/LayoutTests

Unreviewed. Mark a couple of flaky compositing tests as failing.

  • platform/chromium/test_expectations.txt:
9:48 AM Changeset in webkit [102594] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[Qt] Fix skip list search path and expected file search path in ORWT
https://bugs.webkit.org/show_bug.cgi?id=74281

Expected file search path fixed.

Print all used skipped list and expected search path in verbose mode similar to NRWT.

Patch by Ádám Kallai <Kallai.Adam@stud.u-szeged.hu> on 2011-12-12
Reviewed by Csaba Osztrogonác.

  • Scripts/old-run-webkit-tests:

(buildPlatformResultHierarchy):
(buildPlatformTestHierarchy):
(readSkippedFiles):

9:40 AM Changeset in webkit [102593] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit2

[qt][wk2] Postpone scroll effects when page transition is ongoing.
https://bugs.webkit.org/show_bug.cgi?id=74177

Patch by Michael Bruning <michael.bruning@nokia.com> on 2011-12-12
Reviewed by Kenneth Rohde Christiansen.

  • UIProcess/API/qt/qquickwebview.cpp:

(QQuickWebViewPrivate::scrollPositionRequested):

  • UIProcess/API/qt/qquickwebview_p_p.h:

(QQuickWebViewPrivate::PostTransitionState::apply):

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

[Qt] Missing layoutTestController.dumpWillCacheResponse
https://bugs.webkit.org/show_bug.cgi?id=74287

Patch by Nándor Huszka <huszka.nandor@stud.u-szeged.hu> on 2011-12-12
Reviewed by Csaba Osztrogonác.

Source/WebKit/qt:

  • WebCoreSupport/DumpRenderTreeSupportQt.cpp:

(DumpRenderTreeSupportQt::dumpWillCacheResponseCallbacks):

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

(WebCore::FrameLoaderClientQt::dispatchDidReceiveResponse):

  • WebCoreSupport/FrameLoaderClientQt.h:

Tools:

  • DumpRenderTree/qt/LayoutTestControllerQt.cpp:

(LayoutTestController::reset):
(LayoutTestController::dumpWillCacheResponse):

  • DumpRenderTree/qt/LayoutTestControllerQt.h:

LayoutTests:

  • platform/qt/Skipped: Unskip http/tests/misc/willCacheResponse-delegate-callback.html
9:26 AM Changeset in webkit [102591] by commit-queue@webkit.org
  • 5 edits in trunk

[GTK] platform/gtk/fonts/custom-font-missing-glyphs.html fails on 64-bit Debug
https://bugs.webkit.org/show_bug.cgi?id=73771

Patch by Martin Robinson <mrobinson@igalia.com> on 2011-12-12
Reviewed by Gustavo Noronha Silva.

Tools:

When using a fallback font during testing, always use DejaVu Sans. This prevents
falling back to DejaVu Serif on some systems.

  • DumpRenderTree/gtk/fonts/fonts.conf: Fall back to DejaVu Sans.

LayoutTests:

  • platform/gtk/fonts/custom-font-missing-glyphs-expected.txt: Update results to reflect DejaVu Sans.
  • platform/gtk/Skipped: Unskip a test that is now passing.
8:47 AM Changeset in webkit [102590] by commit-queue@webkit.org
  • 1 edit
    3 adds in trunk/Source/WebCore

Upstream 3 files into WebCore/platform/blackberry
https://bugs.webkit.org/show_bug.cgi?id=74275

Patch by Mary Wu <mary.wu@torchmobile.com.cn> on 2011-12-12
Reviewed by Rob Buis.

Initial upstream, no new tests.

  • platform/blackberry/ContextMenuBlackBerry.cpp: Added.
  • platform/blackberry/ContextMenuItemBlackBerry.cpp: Added.
  • platform/blackberry/TemporaryLinkStubs.cpp: Added.
8:44 AM Changeset in webkit [102589] by pierre.rossi@gmail.com
  • 2 edits in trunk/Source/WebCore

[Qt] Rendering issues with sliders and QStyle
https://bugs.webkit.org/show_bug.cgi?id=73921

With QStyle's origins being deeply rooted with widgets,
several styles make wrong assumptions, leading to sliders
not being painted properly in WebKit. We can solve a lot
of problems by systematically translating the painter to
the top left corner of the render object.

Reviewed by Simon Hausmann.

No new tests. The Qt tests are ran with the Windows
style, this fixes some quirks affecting other styles.

  • platform/qt/RenderThemeQStyle.cpp:

(WebCore::RenderThemeQStyle::paintSliderTrack):
(WebCore::RenderThemeQStyle::paintSliderThumb):

8:35 AM Changeset in webkit [102588] by commit-queue@webkit.org
  • 1 edit
    5 adds in trunk/Source/WebCore

Upstream 5 files into WebCore/platform/blackberry
https://bugs.webkit.org/show_bug.cgi?id=73798

Patch by Mary Wu <mary.wu@torchmobile.com.cn> on 2011-12-12
Reviewed by Rob Buis.

Main contributors:
Genevieve Mak <gmak@rim.com>
Mike Lattanzio <mlattanzio@rim.com>
George Staikos <gstaikos@rim.com>

Initial upstream, no new tests.

  • platform/blackberry/PlatformTouchEventBlackBerry.cpp: Added.

(WebCore::PlatformTouchEvent::PlatformTouchEvent):

  • platform/blackberry/PlatformTouchPointBlackBerry.cpp: Added.

(WebCore::PlatformTouchPoint::PlatformTouchPoint):

  • platform/blackberry/SharedBufferBlackBerry.cpp: Added.

(WebCore::SharedBuffer::createWithContentsOfFile):

  • platform/blackberry/SharedTimerBlackBerry.cpp: Added.

(WebCore::SharedTimerBlackBerry::SharedTimerBlackBerry):
(WebCore::SharedTimerBlackBerry::~SharedTimerBlackBerry):
(WebCore::SharedTimerBlackBerry::instance):
(WebCore::SharedTimerBlackBerry::start):
(WebCore::SharedTimerBlackBerry::stop):
(WebCore::setSharedTimerFiredFunction):
(WebCore::setSharedTimerFireInterval):
(WebCore::stopSharedTimer):

  • platform/blackberry/SystemTimeBlackBerry.cpp: Added.

(WebCore::userIdleTime):

8:28 AM Changeset in webkit [102587] by Philippe Normand
  • 2 edits in trunk/LayoutTests

Unreviewed, mark
http/tests/security/cross-origin-xsl-redirect-BLOCKED.html as
expected crasher on GTK 64-bit Debug.

  • platform/gtk/test_expectations.txt:
8:14 AM Changeset in webkit [102586] by caio.oliveira@openbossa.org
  • 3 edits in trunk/Source/WebKit2

[Qt][WK2] Remove dead code from QtWebPageProxy
https://bugs.webkit.org/show_bug.cgi?id=74296

Reviewed by Andreas Kling.

  • UIProcess/qt/QtWebPageProxy.cpp:
  • UIProcess/qt/QtWebPageProxy.h:
7:50 AM Changeset in webkit [102585] by Simon Hausmann
  • 2 edits
    3 adds in trunk/Source/WebKit2

Unreviewed build fix.

Add missing files from https://bugs.webkit.org/show_bug.cgi?id=73016

  • UIProcess/API/qt/qwebnavigationhistory.cpp: Added.

(QWebNavigationListModelPrivate::QWebNavigationListModelPrivate):
(QWebNavigationListModelPrivate::createWebNavigationModel):
(QWebNavigationHistoryPrivate::QWebNavigationHistoryPrivate):
(QWebNavigationHistoryPrivate::createHistory):
(QWebNavigationHistoryPrivate::reset):
(QWebNavigationHistoryPrivate::goBackTo):
(QWebNavigationHistoryPrivate::goForwardTo):
(QWebNavigationListModel::QWebNavigationListModel):
(QWebNavigationListModel::~QWebNavigationListModel):
(QWebNavigationListModel::rowCount):
(QWebNavigationListModel::data):
(QWebNavigationHistory::QWebNavigationHistory):
(QWebNavigationHistory::~QWebNavigationHistory):
(QWebNavigationHistory::backItems):
(QWebNavigationHistory::forwardItems):

  • UIProcess/API/qt/qwebnavigationhistory_p.h: Added.
  • UIProcess/API/qt/qwebnavigationhistory_p_p.h: Added.
7:47 AM Changeset in webkit [102584] by apavlov@chromium.org
  • 4 edits in trunk/Source/WebCore

Implement a cache for CSSStyleRule::selectorText()
https://bugs.webkit.org/show_bug.cgi?id=74269

This change is geared towards speeding up the CSS selector profiler,
its implementation tracked at https://bugs.webkit.org/show_bug.cgi?id=74004.
Using a proof-of-concept implementation of the profiler, this change reduces
the profiler temporal overhead on PerformanceTests/Parser/html5-full-render.html
roughly by 86% (from ~72 seconds down to ~10 seconds). This change also does not
considerably increase average memory usage, as reading selectorText is a relatively
rare case during normal web browsing.

Reviewed by Andreas Kling.

No new tests, as this functionality is covered by existing tests.

  • css/CSSRule.h:
  • css/CSSStyleRule.cpp:

(WebCore::CSSStyleRule::~CSSStyleRule):
(WebCore::selectorTextCache):
(WebCore::CSSStyleRule::cleanup):
(WebCore::CSSStyleRule::generateSelectorText):
(WebCore::CSSStyleRule::selectorText):
(WebCore::CSSStyleRule::setSelectorText):

  • css/CSSStyleRule.h:
7:42 AM Changeset in webkit [102583] by Simon Hausmann
  • 4 edits in trunk/Source/WebKit2

[Qt] Move postMessage/messageReceived APIS to experimental

Reviewed by Tor Arne Vestbø.

  • UIProcess/API/qt/qquickwebview.cpp:

(QQuickWebViewPrivate::setPageProxy):
(QQuickWebViewExperimental::QQuickWebViewExperimental):
(QQuickWebViewExperimental::postMessage):

  • UIProcess/API/qt/qquickwebview_p.h:
  • UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_messaging.qml:
7:39 AM Changeset in webkit [102582] by alexis.menard@openbossa.org
  • 13 edits in trunk

[Qt][WK2] History is not accessible in QML.
https://bugs.webkit.org/show_bug.cgi?id=73016

Reviewed by Simon Hausmann.

.:

Add the new QWebNavigationHistory in the map file.

  • Source/qtwebkit-export.map:

Source/WebKit/qt:

Register QWebNavigationHistory and QWebNavigationListModel in the QML plugin.

  • declarative/experimental/plugin.cpp:

(WebKitQmlPlugin::registerTypes):

Source/WebKit2:

Remove the old qwkhistory and create QWebNavigationHistory which is QML
friendly with data models you can plug to a view in QML

  • Target.pri:
  • UIProcess/API/qt/qquickwebview.cpp:

(QQuickWebViewPrivate::didChangeBackForwardList):
(QQuickWebViewExperimental::navigationHistory):
(QQuickWebViewExperimental::goForwardTo):
(QQuickWebViewExperimental::goBackTo):

  • UIProcess/API/qt/qquickwebview_p.h:
  • UIProcess/API/qt/qquickwebview_p_p.h:
  • UIProcess/API/qt/qwebnavigationhistory.cpp: Added.

(QWebNavigationListModelPrivate::QWebNavigationListModelPrivate):
(QWebNavigationListModelPrivate::createWebNavigationModel):
(QWebNavigationHistoryPrivate::QWebNavigationHistoryPrivate):
(QWebNavigationHistoryPrivate::createHistory):
(QWebNavigationHistoryPrivate::reset):
(QWebNavigationHistoryPrivate::goBackTo):
(QWebNavigationHistoryPrivate::goForwardTo):
(QWebNavigationListModel::QWebNavigationListModel):
(QWebNavigationListModel::~QWebNavigationListModel):
(QWebNavigationListModel::rowCount):
(QWebNavigationListModel::data):
(QWebNavigationHistory::QWebNavigationHistory):
(QWebNavigationHistory::~QWebNavigationHistory):
(QWebNavigationHistory::backItems):
(QWebNavigationHistory::forwardItems):

  • UIProcess/API/qt/qwebnavigationhistory_p.h: Added.
  • UIProcess/API/qt/qwebnavigationhistory_p_p.h: Renamed from Source/WebKit2/UIProcess/qt/qwkhistory_p.h.
  • UIProcess/API/qt/tests/qmltests/WebView/tst_navigationHistory.qml: Added.
  • UIProcess/qt/QtWebPageLoadClient.cpp:

(QtWebPageLoadClient::QtWebPageLoadClient):
(QtWebPageLoadClient::didChangeBackForwardList):

  • UIProcess/qt/QtWebPageLoadClient.h:
  • UIProcess/qt/QtWebPageProxy.cpp:

(QtWebPageProxy::QtWebPageProxy):
(QtWebPageProxy::~QtWebPageProxy):
(QtWebPageProxy::goBackTo):
(QtWebPageProxy::goForwardTo):
(QtWebPageProxy::navigationHistory):

  • UIProcess/qt/QtWebPageProxy.h:
  • UIProcess/qt/qwkhistory.cpp: Removed.
  • UIProcess/qt/qwkhistory.h: Removed.
7:24 AM Changeset in webkit [102581] by apavlov@chromium.org
  • 5 edits in trunk

Web Inspector: [Styles] Modified selector text needs sanitization
https://bugs.webkit.org/show_bug.cgi?id=74291

Reviewed by Yury Semikhatsky.

Source/WebCore:

  • inspector/front-end/StylesSidebarPane.js:

LayoutTests:

  • inspector/styles/commit-selector-expected.txt:
  • inspector/styles/commit-selector.html:
7:13 AM Changeset in webkit [102580] by reni@webkit.org
  • 4 edits in trunk/Source/WebCore

Fulfill FIXME in HTMLLinkElement.h.
https://bugs.webkit.org/show_bug.cgi?id=74278

Rename HTMLLinkElement::isLoading() to isStyleSheetLoading().

Reviewed by Andreas Kling.

No new tests because the functionality remains the same.

  • dom/Document.cpp:

(WebCore::Document::recalcStyleSelector):

  • html/HTMLLinkElement.cpp:

(WebCore::HTMLLinkElement::setDisabledState):
(WebCore::HTMLLinkElement::isStyleSheetLoading):
(WebCore::HTMLLinkElement::sheetLoaded):

  • html/HTMLLinkElement.h:
6:54 AM Changeset in webkit [102579] by jesus@webkit.org
  • 7 edits in trunk/Source/WebKit2

[Qt][WK2] Move startDrag implementation to QtWebPageEventHandler
https://bugs.webkit.org/show_bug.cgi?id=73145

Reviewed by Simon Hausmann.

Move QtWebPageProxy::startDrag to QtWebPageEventHandler::startDrag
and call it straight from QtPageClient.

  • UIProcess/API/qt/qquickwebview.cpp:

(QQuickWebViewPrivate::QQuickWebViewPrivate):

  • UIProcess/qt/QtWebPageEventHandler.cpp:

(dragOperationToDropAction):
(dragOperationToDropActions):
(dropActionToDragOperation):
Now these functions are static inline and not part of QtWebPageEventHandler
anymore.

(QtWebPageEventHandler::QtWebPageEventHandler):
(QtWebPageEventHandler::startDrag):

  • UIProcess/qt/QtWebPageEventHandler.h:
  • UIProcess/qt/QtWebPageProxy.cpp:

(QtWebPageProxy::startDrag): removed.

6:46 AM Changeset in webkit [102578] by apavlov@chromium.org
  • 12 edits in trunk

WebKit does not enumerate over CSS properties in HTMLElement.style
https://bugs.webkit.org/show_bug.cgi?id=23946

Reviewed by Darin Adler.

Source/JavaScriptCore:

Add a few exports to follow the JSCSSStyleDeclaration.cpp changes,
introduce an std::sort() comparator function.

(WTF::codePointCompareLessThan): Used by std::sort() to sort properties.

Source/WebCore:

This change generates a list of JavaScript mirrors of the CSS properties and allows to enumerate them
using the "in" operator on the CSSStyleDeclaration object.

Test: fast/css/style-enumerate-properties.html

  • bindings/js/JSCSSStyleDeclarationCustom.cpp:

(WebCore::JSCSSStyleDeclaration::getOwnPropertyNames): Added.

  • bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:

(WebCore::V8CSSStyleDeclaration::namedPropertyEnumerator): Added.
(WebCore::V8CSSStyleDeclaration::namedPropertyQuery): Added.
(WebCore::V8CSSStyleDeclaration::namedPropertyGetter): A small drive-by optimization (local initialization moved down).

  • css/CSSStyleDeclaration.idl: Use a custom property enumerator.
  • css/makeprop.pl: Add a function to convert CSS property names into JS ones.

LayoutTests:

  • fast/css/style-enumerate-properties-expected.txt: Added.
  • fast/css/style-enumerate-properties.html: Added.
  • fast/dom/domListEnumeration-expected.txt:
  • fast/dom/script-tests/domListEnumeration.js:
6:27 AM Changeset in webkit [102577] by loislo@chromium.org
  • 2 edits in trunk/LayoutTests

Web Inspector: unreviewed test fix for r102574

  • inspector/profiler/detailed-heapshots-test.js:
6:09 AM Changeset in webkit [102576] by pierre.rossi@gmail.com
  • 2 edits in trunk/Tools

Add myself as a committer

  • Scripts/webkitpy/common/config/committers.py:
6:06 AM Changeset in webkit [102575] by apavlov@chromium.org
  • 12 edits
    2 deletes in trunk

Unreviewed, build fix.

Revert r102570 which broke SnowLeopard builders.

Source/JavaScriptCore:

Source/WebCore:

  • bindings/js/JSCSSStyleDeclarationCustom.cpp:
  • bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:

(WebCore::V8CSSStyleDeclaration::namedPropertyGetter):

  • css/CSSStyleDeclaration.idl:
  • css/makeprop.pl:

LayoutTests:

  • fast/css/style-enumerate-properties-expected.txt: Removed.
  • fast/css/style-enumerate-properties.html: Removed.
  • fast/dom/domListEnumeration-expected.txt:
  • fast/dom/script-tests/domListEnumeration.js:
5:58 AM Changeset in webkit [102574] by loislo@chromium.org
  • 6 edits in trunk/Source/WebCore

Web Inspector: chromium: UI: Detailed Heap snapshot shows too many objects' hidden properties.
https://bugs.webkit.org/show_bug.cgi?id=74289

WebCore objects have many hidden properties.
The Detailed Heap shapshot view shows all these props for a selected object.
The result view looks too heavy and users usually failed to find a useful information about the object.
Looks like such ability is unnecessary in the most cases.
I'd like to introduce a configurable property that will show/hide these props from the view.

Reviewed by Yury Semikhatsky.

  • English.lproj/localizedStrings.js:
  • inspector/front-end/DetailedHeapshotGridNodes.js:
  • inspector/front-end/DetailedHeapshotView.js:
  • inspector/front-end/HeapSnapshotProxy.js:

(WebInspector.HeapSnapshotProxy.prototype.createPathFinder):

  • inspector/front-end/SettingsScreen.js:

(WebInspector.SettingsScreen):

5:53 AM Changeset in webkit [102573] by caio.oliveira@openbossa.org
  • 14 edits
    3 adds
    2 deletes in trunk

[Qt] [WK2] Support customizing popup menus with QML
https://bugs.webkit.org/show_bug.cgi?id=73560

Reviewed by Tor Arne Vestbø.

Source/WebKit2:

Add a new property 'itemSelector' to WebView (experimental for now) that contains
the QML component used when it needs to spawn a popup menu. For example, <select>
HTML tag may trigger a popup menu.

When loaded the component will have the 'model' available in its context with two
properties: 'elementRect', describing the position of the element which spawned
the item selector, and 'items', which is a model ready to be used by ListView. The
'model' also have methods to accept/reject the selection.

Option groups are available as a property for each row in the 'items' model. This
can be used together with ListView to create sections, as demonstrated in the
MiniBrowser. QML tests were added as well.

The existing Desktop version is removed since after the Qt5 refactoring isn't
working correctly. Once Qt have its own QML components for popup, we hope to use
it as a default if no other popupMenu is specified.

  • Target.pri:
  • UIProcess/API/qt/qquickwebview.cpp:

(QQuickWebViewPrivate::QQuickWebViewPrivate):
(QQuickWebViewExperimental::itemSelector):
(QQuickWebViewExperimental::setItemSelector):

  • UIProcess/API/qt/qquickwebview_p.h:
  • UIProcess/API/qt/qquickwebview_p_p.h:

(QQuickWebViewPrivate::get):

  • UIProcess/API/qt/tests/qmltests/WebView/tst_itemSelector.qml: Added.
  • UIProcess/API/qt/tests/qmltests/common/select.html: Added.
  • UIProcess/API/qt/tests/qmltests/qmltests.pro:
  • UIProcess/qt/QtPageClient.cpp:
  • UIProcess/qt/QtWebPageProxy.cpp:

(QtWebPageProxy::createPopupMenuProxy):

  • UIProcess/qt/WebPopupMenuProxyQt.cpp:

(WebKit::PopupMenuItemModel::rowCount):
(WebKit::PopupMenuItemModel::Item::Item):
(WebKit::ItemSelectorContextObject::elementRect):
(WebKit::ItemSelectorContextObject::items):
(WebKit::ItemSelectorContextObject::reject):
(WebKit::ItemSelectorContextObject::ItemSelectorContextObject):
(WebKit::ItemSelectorContextObject::accept):
(WebKit::createRoleNamesHash):
(WebKit::PopupMenuItemModel::PopupMenuItemModel):
(WebKit::PopupMenuItemModel::data):
(WebKit::PopupMenuItemModel::select):
(WebKit::PopupMenuItemModel::selectedOriginalIndex):
(WebKit::PopupMenuItemModel::buildItems):
(WebKit::WebPopupMenuProxyQt::WebPopupMenuProxyQt):
(WebKit::WebPopupMenuProxyQt::showPopupMenu):
(WebKit::WebPopupMenuProxyQt::hidePopupMenu):
(WebKit::WebPopupMenuProxyQt::selectIndex):
(WebKit::WebPopupMenuProxyQt::createItem):
(WebKit::WebPopupMenuProxyQt::createContext):
(WebKit::WebPopupMenuProxyQt::notifyValueChanged):

  • UIProcess/qt/WebPopupMenuProxyQt.h:

(WebKit::WebPopupMenuProxyQt::create):

  • UIProcess/qt/WebPopupMenuProxyQtDesktop.cpp: Removed.
  • UIProcess/qt/WebPopupMenuProxyQtDesktop.h: Removed.

Tools:

Add an Item Selector to our WebView using the experimental API.

  • MiniBrowser/qt/MiniBrowser.pro:
  • MiniBrowser/qt/MiniBrowser.qrc:
  • MiniBrowser/qt/qml/BrowserWindow.qml:
  • MiniBrowser/qt/qml/ItemSelector.qml: Added.
5:41 AM Changeset in webkit [102572] by haraken@chromium.org
  • 6 edits
    1 delete in trunk/Source/WebCore

Unreviewed, rolling out r102556.
http://trac.webkit.org/changeset/102556
https://bugs.webkit.org/show_bug.cgi?id=73394

clobber build failure

  • WebCore.gyp/WebCore.gyp:
  • WebCore.gyp/scripts/action_derivedsourcesallinone.py:

(main):

  • WebCore.gypi:
  • bindings/scripts/generate-bindings.pl:
  • page/DOMWindow.idl:
  • webaudio/DOMWindowWebAudio.idl: Removed.
5:39 AM Changeset in webkit [102571] by haraken@chromium.org
  • 3 edits
    1 delete in trunk/Source/WebCore

Unreviewed, rolling out r102558.
http://trac.webkit.org/changeset/102558
https://bugs.webkit.org/show_bug.cgi?id=74160

clobber build failure

  • WebCore.gypi:
  • page/DOMWindow.idl:
  • websockets/DOMWindowWebSocket.idl: Removed.
5:23 AM Changeset in webkit [102570] by apavlov@chromium.org
  • 12 edits
    2 adds in trunk

WebKit does not enumerate over CSS properties in HTMLElement.style
https://bugs.webkit.org/show_bug.cgi?id=23946

Reviewed by Darin Adler.

Source/JavaScriptCore:

Add a few exports to follow the JSCSSStyleDeclaration.cpp changes,
introduce an std::sort() comparator function.

(WTF::codePointCompareLessThan): Used by std::sort() to sort properties.

Source/WebCore:

This change generates a list of JavaScript mirrors of the CSS properties and allows to enumerate them
using the "in" operator on the CSSStyleDeclaration object.

Test: fast/css/style-enumerate-properties.html

  • bindings/js/JSCSSStyleDeclarationCustom.cpp:

(WebCore::JSCSSStyleDeclaration::getOwnPropertyNames): Added.

  • bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:

(WebCore::V8CSSStyleDeclaration::namedPropertyEnumerator): Added.
(WebCore::V8CSSStyleDeclaration::namedPropertyQuery): Added.
(WebCore::V8CSSStyleDeclaration::namedPropertyGetter): A small drive-by optimization (local initialization moved down).

  • css/CSSStyleDeclaration.idl: Use a custom property enumerator.
  • css/makeprop.pl: Add a function to convert CSS property names into JS ones, and a string comparator.

LayoutTests:

  • fast/css/style-enumerate-properties-expected.txt: Added.
  • fast/css/style-enumerate-properties.html: Added.
  • fast/dom/domListEnumeration-expected.txt:
  • fast/dom/script-tests/domListEnumeration.js:
5:09 AM Changeset in webkit [102569] by yurys@chromium.org
  • 12 edits
    1 add in trunk/Source/WebCore

Web Inspector: provide per Document Node count statistics
https://bugs.webkit.org/show_bug.cgi?id=74100

Memory agent now returns counters for nodes with given names. For each
object group root user will see total number of its descendtants and per
tag name counts.

This patch also moves generic CounterVisitor code out of V8 bindings. It
may well be used with both JS engines.

Reviewed by Pavel Feldman.

  • GNUmakefile.list.am:
  • Target.pri:
  • WebCore.gypi:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/ScriptProfiler.h:

(WebCore::ScriptProfiler::visitJSDOMWrappers):

  • bindings/v8/ScriptProfiler.cpp:

(WebCore::ScriptProfiler::visitJSDOMWrappers):

  • bindings/v8/ScriptProfiler.h:
  • inspector/DOMWrapperVisitor.h: Added.

(WebCore::DOMWrapperVisitor::~DOMWrapperVisitor):

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

(WebCore::InspectorMemoryAgent::getDOMNodeCount):

  • inspector/InspectorMemoryAgent.h:
5:08 AM Changeset in webkit [102568] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[Qt] MiniBrowser should only visualize mock touch points when in non-desktop mode
https://bugs.webkit.org/show_bug.cgi?id=74283

Patch by Alexander Færøy <alexander.faeroy@nokia.com> on 2011-12-12
Reviewed by Simon Hausmann.

  • MiniBrowser/qt/MiniBrowserApplication.cpp:

(MiniBrowserApplication::sendTouchEvent):

4:30 AM Changeset in webkit [102567] by Philippe Normand
  • 2 edits in trunk/LayoutTests

Unreviewed, skip flaky fast/events/overflow-events.html test on GTK.

  • platform/gtk/test_expectations.txt:
3:54 AM Changeset in webkit [102566] by Philippe Normand
  • 2 edits in trunk/LayoutTests

Unreviewed, skip failing test on GTK.

  • platform/gtk/Skipped: Skip editing/pasteboard/emacs-ctrl-k-with-move.html
2:54 AM Changeset in webkit [102565] by Philippe Normand
  • 3 edits in trunk/LayoutTests

Unreviewed, skip a flaky test and a failing test on GTK.

  • platform/gtk/Skipped: Skip fast/events/dont-loose-last-event.html
  • platform/gtk/test_expectations.txt: Mark

fullscreen/full-screen-iframe-legacy.html flaky.

2:03 AM Changeset in webkit [102564] by Carlos Garcia Campos
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed. Fix make distcheck issues.

  • GNUmakefile.list.am:
1:39 AM Changeset in webkit [102563] by Philippe Normand
  • 1 edit
    7 adds in trunk/LayoutTests

Unreviewed, GTK baselines for tests added in r102388.

  • platform/gtk/animations/cross-fade-background-image-expected.txt: Added.
  • platform/gtk/animations/cross-fade-border-image-source-expected.txt: Added.
  • platform/gtk/animations/cross-fade-list-style-image-expected.txt: Added.
  • platform/gtk/animations/cross-fade-webkit-mask-box-image-expected.txt: Added.
  • platform/gtk/animations/cross-fade-webkit-mask-image-expected.txt: Added.
  • platform/gtk/transitions/cross-fade-background-image-expected.txt: Added.
  • platform/gtk/transitions/cross-fade-border-image-expected.txt: Added.
12:58 AM Changeset in webkit [102562] by haraken@chromium.org
  • 2 edits in trunk/Tools

[Refactoring] In prepare-ChangeLog, move into a method the top-level code
to show ChangeLogs diff and open ChangeLogs in an editor
https://bugs.webkit.org/show_bug.cgi?id=74266

Reviewed by Ryosuke Niwa.

We are planning to write unit-tests for prepare-ChangeLog
in a run-leaks_unittest manner. This patch is one of the incremental
refactorings to remove all top-level code and global variables from
prepare-ChangeLog.

  • Scripts/prepare-ChangeLog: Moved the top-level code to show ChangeLogs diff into printDiff().

Moved the top-level code to open ChangeLogs in an editor into openChangeLogs().
Renamed @changed_files to @changedFiles.
Renamed %conflict_files to %conflictFiles.
(generateFunctionLists):
(printDiff):
(openChangeLogs):

12:10 AM Changeset in webkit [102561] by noel.gordon@gmail.com
  • 3 edits in trunk/Source/WebCore

WebPImageDecoder: Increase image/webp decoding performance 10-20%
https://bugs.webkit.org/show_bug.cgi?id=74263

Reviewed by Adam Barth.

Avoid copying data from the RGB buffer of decoded image output to the
backing pixel store. That is slow - costs 10% of the overall decoding
time at libwebp 0.1.2, and 20% at libwebp 0.1.3.

Instead, instruct the decoder to write the decoded pixels directly to
the backing pixel store.

No new tests. Covered by existing tests. No progressive decoding test
exists in DRT, see https://bugs.webkit.org/show_bug.cgi?id=74062

  • platform/image-decoders/webp/WEBPImageDecoder.cpp:

(outputMode): Define output pixel format. On little-endian machines,
output BGRA pixels to the backing store, for example.
(WebCore::WEBPImageDecoder::WEBPImageDecoder):
(WebCore::WEBPImageDecoder::decode):

  • platform/image-decoders/webp/WEBPImageDecoder.h:

Dec 11, 2011:

11:44 PM Changeset in webkit [102560] by zherczeg@webkit.org
  • 3 edits
    2 adds in trunk

Add new CSS nth-children parsing tests
https://bugs.webkit.org/show_bug.cgi?id=74178

Source/WebCore:

Reviewed by Darin Adler.

Test: fast/css/parsing-css-nth-child.html

  • css/CSSParser.cpp:

(WebCore::isValidNthToken): Add "-n" to the possible identifiers.

LayoutTests:

The test covers several valid and invalid nth-child tokens.

Reviewed by Darin Adler.

  • fast/css/parsing-css-nth-child-expected.txt: Added.
  • fast/css/parsing-css-nth-child.html: Added.
11:07 PM Changeset in webkit [102559] by haraken@chromium.org
  • 2 edits in trunk/Tools

[Refactoring] Move top-level code to resolve conflicted ChangeLogs into a method
https://bugs.webkit.org/show_bug.cgi?id=74257

Reviewed by Ryosuke Niwa.

We are planning to write unit-tests for prepare-ChangeLog
in a run-leaks_unittest/ manner. This patch is one of the incremental
refactorings to remove all top-level code and global variables from
prepare-ChangeLog.

  • Scripts/prepare-ChangeLog: Moved top-level code to get the latest ChangeLogs

into getLatestChangeLogs(), and moved top-level code to resolve conflicted ChangeLogs
into resolveConflictedChangeLogs().
(getLatestChangeLogs):
(resolveConflictedChangeLogs):

11:01 PM Changeset in webkit [102558] by haraken@chromium.org
  • 3 edits
    1 add in trunk/Source/WebCore

Use [Supplemental] IDL in WebSocket
https://bugs.webkit.org/show_bug.cgi?id=74160

Reviewed by Adam Barth.

By using the [Supplemental] IDL, this patch moves declarations of WebSocket
attributes from DOMWindow.idl to websocket/DOMWindowWebSocket.idl,
which helps make WebSocket a self-contained module.

No new tests, no change in behavior.
Confirm that http/tests/websocket/* pass.

  • WebCore.gypi: Added DOMWindowWebSocket.idl.
  • page/DOMWindow.idl: Added the [Supplemented] IDL to WebSocket-related attributes. This [Supplemented] IDL will be removed after all platforms support the [Supplemental] IDL (See bug 73394 for more details).
  • websockets/DOMWindowWebSocket.idl: Added. Used the [Supplemental=DOMWindow] IDL. The attributes in this IDL file are treated as if they are described in DOMWindow.idl.
8:06 PM Changeset in webkit [102557] by macpherson@chromium.org
  • 3 edits in trunk/Source/WebCore

Implement webkit-line-grid and webkit-line-grid-snap CSS properties in CSSStyleApplyProperty.
https://bugs.webkit.org/show_bug.cgi?id=74262

Reviewed by Andreas Kling.

No new tests / refactoring only.

  • css/CSSStyleApplyProperty.cpp:

(WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):

  • css/CSSStyleSelector.cpp:

(WebCore::CSSStyleSelector::applyProperty):

7:55 PM Changeset in webkit [102556] by haraken@chromium.org
  • 6 edits
    1 add in trunk/Source/WebCore

Use the [Supplemental] IDL for webaudio attributes in Chromium
https://bugs.webkit.org/show_bug.cgi?id=73394

Reviewed by Adam Barth.

  • Overview: Using the [Supplemental] IDL, this patch moves the attribute

declarations of webaudio from DOMWindow.idl into a new IDL file
webaudio/DOMWindowWebAudio.idl, which helps make webaudio a self-contained
feature (aka a module).

  • This patch changes the build flow of WebCore.gyp as follows:

Previous build flow:

foreach $idl (all IDL files) {

generate-bindings.pl depends on $idl;
generate-bindings.pl reads $idl;
generate-bindings.pl generates .h and .cpp files for $idl;

}

New build flow (See the discussions in bug 72138 for more details):

resolve-supplemental.pl depends on all IDL files;
resolve-supplemental.pl reads all IDL files;
resolve-supplemental.pl resolves the dependency of [Supplemental=XXXX];
resolve-supplemental.pl outputs supplemental_dependency.tmp;
foreach $idl (all IDL files) {

generate-bindings.pl depends on $idl and supplemental_dependency.tmp;
generate-bindings.pl reads $idl;
generate-bindings.pl reads supplemental_dependency.tmp;
generate-bindings.pl generates .h and .cpp files for $idl, including all attributes in IDL files whilementing $idl;

}

  • This patch introduces a temporary IDL, [Supplemented]. The [Supplemented] IDL

will be removed after build scripts for all platforms support the [Supplemental] IDL.
The motivation for the [Supplemented] IDL is as follows:

In order to support the [Supplemental] IDL, we need to
(1) run resolve-supplemental.pl and generate supplemental_dependency.tmp
(2) and run generate-bindings.pl with the supplemental_dependency.tmp.

This build flow requires a change on the following build scripts,
but changing all the build scripts all at once without any regression is too difficult:

  • DerivedSources.make
  • DerivedSources.pri
  • GNUmakefile.am
  • PlatformBlackBerry.cmake
  • UseJSC.cmake
  • UseV8.cmake
  • WebCore.vcproj/MigrateScripts
  • WebCore.vcproj/WebCore.vcproj
  • bindings/gobject/GNUmakefile.am
  • WebCore.gyp/WebCore.gyp

Thus, we are planning to change the build scripts one by one, which implies that
we need to allow the temporary state in which some build scripts support [Supplemental] IDL
but others do not. To accomplish this, we introduce a temporary IDL, [Supplemented].
The [Supplemented] IDL on an attribute means that the attribute is marked with [Supplemental]
in another IDL file somewhere, like this:

DOMWindowWebAudio.idl:

interface [

Supplemental=DOMWindow

] DOMWindowWebAudio {

attribute attr1;
attribute attr2;

};

DOMWindow.idl:

interface [
] DOMWindow {

attribute [Supplemented] attr1; This line will be removed after all build scripts support the [Su IDL
attribute [Supplemented] attr2;
This line will be removed after all build scripts support the [Su IDL.
attribute attr3;
attribute attr4;

};

Assuming these IDL files, this patch implements the following logic in generate-bindings.pl:

  • If a given build script supports the [Supplemental] IDL, generate-bindings.pl ignores all attributes with the [Supplemented] IDL.
  • Otherwise, generate-bindings.pl treats all attributes with the [Supplemented] IDL as normal attributes and instead ignores all attributes with the [Supplemental] IDL (i.e. generate-bindings.pl generates nothing from the IDL file with the [Supplemental] IDL).

Tests: webaudio/*

  • WebCore.gyp/WebCore.gyp: Describes the build flow that I described above.
  • WebCore.gyp/scripts/action_derivedsourcesallinone.py:

(main): Reads the IDL file names from the input file (i.e. supplemental_dependency.tmp), which are described at the first column of each line in the input file. If the file name is a "/cygdrive/c/..."-style path, it is converted to a "C:\cygwin\..."-style path by the cygpath command.

  • WebCore.gypi: Added DOMWindowWebAudio.idl.
  • bindings/scripts/generate-bindings.pl: As a temporary solution, if the platform does not support the [Supplemental] IDL, the perl script ignores the [Supplemental] IDL and instead uses the [Supplemented] IDL. Otherwise, the perl script ignores the [Supplemented] IDL and instead uses the [Supplemental] IDL.
  • page/DOMWindow.idl: Added the [Supplemented] IDL to webaudio-related attributes. As I described above, the [Supplemented] IDL will be removed after all platforms support the [Supplemental] IDL.
  • webaudio/DOMWindowWebAudio.idl: Added. Describes the [Supplemental=DOMWindow] IDL. The attributes in this IDL file should be treated as if they are written in DOMWindow.idl.
7:43 PM Changeset in webkit [102555] by kling@webkit.org
  • 3 edits in trunk/Source/WebCore

Micro-optimize CSSStyleSelector::findSiblingForStyleSharing().
<http://webkit.org/b/74261>

Reviewed by Antti Koivisto.

Move the isStyledElement() check from canShareStyleWithElement() into the
loop in findSiblingForStyleSharing(), and tighten up the argument/return
types to StyledElement* as appropriate.

  • css/CSSStyleSelector.cpp:

(WebCore::CSSStyleSelector::canShareStyleWithElement):
(WebCore::CSSStyleSelector::findSiblingForStyleSharing):
(WebCore::CSSStyleSelector::locateSharedStyle):

  • css/CSSStyleSelector.h:
7:25 PM Changeset in webkit [102554] by commit-queue@webkit.org
  • 2 edits
    2 adds in trunk/Source/WebKit2

[Qt] QQuickWebView missing titleChanged signal tests
https://bugs.webkit.org/show_bug.cgi?id=73923

Patch by Gopal Raghavan <gopal.1.raghavan@nokia.com> on 2011-12-11
Reviewed by Simon Hausmann.

Added tests for QQuickWebView tilteChanged signal.

  • UIProcess/API/qt/tests/qmltests/WebView/tst_titleChanged.qml: Added.
  • UIProcess/API/qt/tests/qmltests/common/test3.html: Added.
  • UIProcess/API/qt/tests/qmltests/qmltests.pro:
7:12 PM Changeset in webkit [102553] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebCore

Asynchronous path synchronous path of SpellChecker should share the code to mark misspellings.
https://bugs.webkit.org/show_bug.cgi?id=73616

Patch by Shinya Kawanaka <shinyak@google.com> on 2011-12-11
Reviewed by Hajime Morita.

Asynchronous spellchecking path should call the same method for the synchronous spellchecking path
to mark misspellings.

No new tests. Covered by existing tests.

  • editing/Editor.cpp:

(WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
(WebCore::Editor::markAndReplaceFor):

Takes SpellCheckRequest object.

  • editing/Editor.h:
  • editing/SpellChecker.cpp:

(WebCore::SpellChecker::didCheck):

Calls the same method of synchronous spellchecking path.

6:24 PM Changeset in webkit [102552] by macpherson@chromium.org
  • 3 edits in trunk/Source/WebCore

Implement CSS display property in CSSStyleApplyProperty.
https://bugs.webkit.org/show_bug.cgi?id=73500

Reviewed by Andreas Kling.

Refactoring only / no functionality changed.

  • css/CSSStyleApplyProperty.cpp:

(WebCore::ApplyPropertyDisplay::isValidDisplayValue):
(WebCore::ApplyPropertyDisplay::applyInheritValue):
(WebCore::ApplyPropertyDisplay::applyInitialValue):
(WebCore::ApplyPropertyDisplay::applyValue):
(WebCore::ApplyPropertyDisplay::createHandler):
(WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):

  • css/CSSStyleSelector.cpp:

(WebCore::CSSStyleSelector::applyProperty):

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

Crash when trying to garbage collect JavaScript objects
https://bugs.webkit.org/show_bug.cgi?id=74259
<rdar://problem/10556188>

Reviewed by Sam Weinig.

  • UIProcess/WebContext.cpp:

(WebKit::WebContext::garbageCollectJavaScriptObjects):
Use sendToAllProcesses which is more correct and also handles m_process being null.

5:22 PM Changeset in webkit [102550] by weinig@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Fix another signed vs. unsigned warning

  • runtime/ArgList.h:

(JSC::MarkedArgumentBuffer::~MarkedArgumentBuffer):

5:05 PM Changeset in webkit [102549] by weinig@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Fix a signed vs. unsigned warning.

  • runtime/ArgList.cpp:

(JSC::MarkedArgumentBuffer::slowAppend):
Cast inlineCapacity to an int to appease the warning. This is known OK
since inlineCapacity is defined to be 8.

4:50 PM Changeset in webkit [102548] by ggaren@apple.com
  • 2 edits in trunk/Source/WebCore

Try to fix the Qt build.

Unreviewed.

  • css/CSSStyleDeclaration.cpp: Maybe an #include will solve our problem?

Someday, compiler error messages will not suck. Today is not that day.

4:45 PM Changeset in webkit [102547] by ggaren@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Rolled out *another* debugging change I committed accidentally.

Unreviewed.

  • Configurations/Base.xcconfig:
4:40 PM Changeset in webkit [102546] by ggaren@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Rolled out a debug counter I committed accidentally.

Unreviewed.

  • jit/JITStubs.cpp:

(JSC::arityCheckFor):

4:35 PM Changeset in webkit [102545] by ggaren@apple.com
  • 38 edits in trunk/Source/JavaScriptCore

v8 benchmark takes 12-13 million function call slow paths due to extra arguments
https://bugs.webkit.org/show_bug.cgi?id=74244

Reviewed by Filip Pizlo.

.arguments function of order the Reversed

10% speedup on v8-raytrace, 1.7% speedup on v8 overall, neutral on Kraken
and SunSpider.

  • bytecode/CodeBlock.h:

(JSC::CodeBlock::valueProfileForArgument): Clarified that the interface
to this function is an argument number.

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::BytecodeGenerator):
(JSC::BytecodeGenerator::emitCall):
(JSC::BytecodeGenerator::emitConstruct):
(JSC::BytecodeGenerator::isArgumentNumber): Switched to using CallFrame
helper functions for computing offsets for arguments, rather than doing
the math by hand.

Switched to iterating argument offsets backwards (--) instead of forwards (++).

  • bytecompiler/BytecodeGenerator.h:

(JSC::CallArguments::thisRegister):
(JSC::CallArguments::argumentRegister):
(JSC::CallArguments::registerOffset): Updated for arguments being reversed.

  • bytecompiler/NodesCodegen.cpp: Allocate arguments in reverse order.
  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::getArgument):
(JSC::DFG::ByteCodeParser::setArgument):
(JSC::DFG::ByteCodeParser::flush):
(JSC::DFG::ByteCodeParser::addCall):
(JSC::DFG::ByteCodeParser::handleCall):
(JSC::DFG::ByteCodeParser::handleInlining):
(JSC::DFG::ByteCodeParser::handleMinMax):
(JSC::DFG::ByteCodeParser::handleIntrinsic):
(JSC::DFG::ByteCodeParser::parseBlock):
(JSC::DFG::ByteCodeParser::processPhiStack): Use abstract argument indices
that just-in-time convert to bytecode operands (i.e., indexes in the register
file) through helper functions. This means only one piece of code needs
to know how arguments are laid out in the register file.

  • dfg/DFGGraph.cpp:

(JSC::DFG::Graph::dump): Ditto.

  • dfg/DFGGraph.h:

(JSC::DFG::Graph::valueProfileFor): Ditto.

  • dfg/DFGJITCompiler.cpp:

(JSC::DFG::JITCompiler::compileFunction): The whole point of this patch:
Treat too many arguments as an arity match.

  • dfg/DFGOSRExit.h:

(JSC::DFG::OSRExit::variableForIndex):
(JSC::DFG::OSRExit::operandForIndex): Use helper functions, as above.

  • dfg/DFGOperands.h:

(JSC::DFG::operandToArgument):
(JSC::DFG::argumentToOperand): These are now the only two lines of code in
the DFG compiler that know how arguments are laid out in memory.

(JSC::DFG::Operands::operand):
(JSC::DFG::Operands::setOperand): Use helper functions, as above.

  • dfg/DFGOperations.cpp: The whole point of this patch:

Treat too many arguments as an arity match.

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::emitCall): Use helper functions, as above.

Also, don't tag the caller frame slot as a cell, because it's not a cell.

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::emitCall): Use helper functions, as above.

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compile): Use helper functions, as above.

(JSC::DFG::SpeculativeJIT::checkArgumentTypes): Use already-computed
argument virtual register instead of recomputing by hand.

  • dfg/DFGSpeculativeJIT.h:

(JSC::DFG::SpeculativeJIT::callFrameSlot):
(JSC::DFG::SpeculativeJIT::argumentSlot):
(JSC::DFG::SpeculativeJIT::callFrameTagSlot):
(JSC::DFG::SpeculativeJIT::callFramePayloadSlot):
(JSC::DFG::SpeculativeJIT::argumentTagSlot):
(JSC::DFG::SpeculativeJIT::argumentPayloadSlot): Added a few helper
functions for dealing with callee arguments specifically. These still
build on top of our other helper functions, and have no direct knowledge
of how arguments are laid out in the register file.

(JSC::DFG::SpeculativeJIT::resetCallArguments):
(JSC::DFG::SpeculativeJIT::addCallArgument): Renamed argumentIndex to
argumentOffset to match CallFrame naming.

(JSC::DFG::SpeculativeJIT::valueSourceReferenceForOperand): Use helper
functions, as above.

  • interpreter/CallFrame.h:

(JSC::ExecState::argumentOffset):
(JSC::ExecState::argumentOffsetIncludingThis):
(JSC::ExecState::argument):
(JSC::ExecState::setArgument):
(JSC::ExecState::thisArgumentOffset):
(JSC::ExecState::thisValue):
(JSC::ExecState::setThisValue):
(JSC::ExecState::offsetFor):
(JSC::ExecState::hostThisRegister):
(JSC::ExecState::hostThisValue): Added a bunch of helper functions for
computing where an argument is in the register file. Anything in the
runtime that needs to access arguments should use these helpers.

  • interpreter/CallFrameClosure.h:

(JSC::CallFrameClosure::setThis):
(JSC::CallFrameClosure::setArgument):
(JSC::CallFrameClosure::resetCallFrame): This stuff is a lot simpler, now
that too many arguments counts as an arity match and doesn't require
preserving two copies of our arguments.

  • interpreter/Interpreter.cpp:

(JSC::Interpreter::slideRegisterWindowForCall): Only need to do something
special if the caller provided too few arguments.

Key simplification: We never need to maintain two copies of our arguments
anymore.

(JSC::eval):
(JSC::loadVarargs): Use helper functions.

(JSC::Interpreter::unwindCallFrame): Updated for new interface.

(JSC::Interpreter::execute):
(JSC::Interpreter::executeCall):
(JSC::Interpreter::executeConstruct):
(JSC::Interpreter::prepareForRepeatCall): Seriously, though: use helper
functions.

(JSC::Interpreter::privateExecute): No need to check for stack overflow
when calling host functions because they have zero callee registers.

(JSC::Interpreter::retrieveArguments): Explicitly tear off the arguments
object, since there's no special constructor for this anymore.

  • interpreter/Interpreter.h: Reduced the C++ re-entry depth because some

workers tests were hitting stack overflow in some of my testing. We should
make this test more exact in future.

  • interpreter/RegisterFile.h: Death to all runtime knowledge of argument

location that does not belong to the CallFrame class!

  • jit/JIT.cpp:

(JSC::JIT::privateCompile): I am a broken record and I use helper functions.

Also, the whole point of this patch: Treat too many arguments as an arity match.

  • jit/JITCall32_64.cpp:

(JSC::JIT::compileLoadVarargs):

  • jit/JITCall.cpp:

(JSC::JIT::compileLoadVarargs): Updated the argument copying math to use
helper functions, for backwards-correctness. Removed the condition
pertaining to declared argument count because, now that arguments are
always in just one place, this optimization is valid for all functions.
Standardized the if predicate for each line of the optimization. This might
fix a bug, but I couldn't get the bug to crash in practice.

  • jit/JITOpcodes32_64.cpp:

(JSC::JIT::emit_op_create_arguments):
(JSC::JIT::emit_op_get_argument_by_val):
(JSC::JIT::emitSlow_op_get_argument_by_val):

  • jit/JITOpcodes.cpp:

(JSC::JIT::emit_op_create_arguments):
(JSC::JIT::emit_op_get_argument_by_val):
(JSC::JIT::emitSlow_op_get_argument_by_val): Removed cti_op_create_arguments_no_params
optimization because it's no longer an optimization, now that arguments
are always contiguous in a known location.

Updated argument access opcode math for backwards-correctness.

  • jit/JITStubs.cpp:

(JSC::arityCheckFor): Updated just like slideRegisterWindowForCall. This
function is slightly different because it copies the call frame in
addition to the arguments. (In the Interpreter, the call frame is not
set up by this point.)

(JSC::lazyLinkFor): The whole point of this patch: Treat too many
arguments as an arity match.

(JSC::DEFINE_STUB_FUNCTION): Updated for new iterface to tearOff().

  • jit/JITStubs.h:
  • jit/SpecializedThunkJIT.h:

(JSC::SpecializedThunkJIT::loadDoubleArgument):
(JSC::SpecializedThunkJIT::loadCellArgument):
(JSC::SpecializedThunkJIT::loadInt32Argument): Use helper functions! They
build strong bones and teeth!

  • runtime/ArgList.cpp:

(JSC::ArgList::getSlice):
(JSC::MarkedArgumentBuffer::slowAppend):

  • runtime/ArgList.h:

(JSC::MarkedArgumentBuffer::MarkedArgumentBuffer):
(JSC::MarkedArgumentBuffer::~MarkedArgumentBuffer):
(JSC::MarkedArgumentBuffer::at):
(JSC::MarkedArgumentBuffer::clear):
(JSC::MarkedArgumentBuffer::append):
(JSC::MarkedArgumentBuffer::removeLast):
(JSC::MarkedArgumentBuffer::last):
(JSC::ArgList::ArgList):
(JSC::ArgList::at): Updated for backwards-correctness. WTF::Vector doesn't
play nice with backwards-ness, so I changed to using manual allocation.

Fixed a FIXME about not all values being marked in the case of out-of-line
arguments. I had to rewrite the loop anyway, and I didn't feel like
maintaining fidelity to its old bugs.

  • runtime/Arguments.cpp:

(JSC::Arguments::visitChildren):
(JSC::Arguments::copyToArguments):
(JSC::Arguments::fillArgList):
(JSC::Arguments::getOwnPropertySlotByIndex):
(JSC::Arguments::getOwnPropertySlot):
(JSC::Arguments::getOwnPropertyDescriptor):
(JSC::Arguments::putByIndex):
(JSC::Arguments::put):
(JSC::Arguments::tearOff):

  • runtime/Arguments.h:

(JSC::Arguments::create):
(JSC::Arguments::Arguments):
(JSC::Arguments::argument):
(JSC::Arguments::finishCreation): Secondary benefit of this patch: deleted
lots of tricky code designed to maintain two different copies of function
arguments. Now that arguments are always contiguous in one place in memory,
this complexity can go away.

Reduced down to one create function for the Arguments class, from three.

Moved tearOff() into an out-of-line function because it's huge.

Moved logic about whether to tear off eagerly into the Arguments class,
so we didn't have to duplicate it elsewhere.

  • runtime/JSActivation.cpp:

(JSC::JSActivation::JSActivation):
(JSC::JSActivation::visitChildren): Renamed m_numParametersMinusThis to
m_numCapturedArgs because if the value really were m_numParametersMinusThis
we would be marking too much. (We shouldn't mark 'this' because it can't
be captured.) Also, use helper functions.

  • runtime/JSActivation.h:

(JSC::JSActivation::tearOff): Use helper functions.

  • runtime/JSArray.cpp:

(JSC::JSArray::copyToArguments):

  • runtime/JSArray.h: Use helper functions, as above.
4:24 PM Changeset in webkit [102544] by macpherson@chromium.org
  • 3 edits in trunk/Source/WebCore

Implement CSS resize property in CSSStyleApplyProperty.
https://bugs.webkit.org/show_bug.cgi?id=74162

Reviewed by Julien Chaffraix.

No new tests / refactoring only.

  • css/CSSStyleApplyProperty.cpp:

(WebCore::ApplyPropertyResize::applyValue):
(WebCore::ApplyPropertyResize::createHandler):
(WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):

  • css/CSSStyleSelector.cpp:

(WebCore::CSSStyleSelector::applyProperty):

3:07 PM Changeset in webkit [102543] by kling@webkit.org
  • 12 edits
    2 adds in trunk/Source/WebCore

Move CSSElementStyleDeclaration to its own cpp/h files.
<http://webkit.org/b/74256>

Reviewed by Sam Weinig.

CSSElementStyleDeclaration is old enough to move out of CSSMutableStyleDeclaration's
attic and into her own apartment.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • Target.pri:
  • WebCore.gypi:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/JSDOMBinding.h:
  • css/CSSElementStyleDeclaration.cpp: Added.

(WebCore::CSSElementStyleDeclaration::styleSheet):

  • css/CSSElementStyleDeclaration.h: Added.

(WebCore::CSSElementStyleDeclaration::element):
(WebCore::CSSElementStyleDeclaration::setElement):
(WebCore::CSSElementStyleDeclaration::CSSElementStyleDeclaration):
(WebCore::CSSElementStyleDeclaration::~CSSElementStyleDeclaration):

  • css/CSSInlineStyleDeclaration.h:
  • css/CSSMutableStyleDeclaration.cpp:
  • css/CSSMutableStyleDeclaration.h:
  • dom/CSSMappedAttributeDeclaration.h:
2:20 PM Changeset in webkit [102542] by benjamin@webkit.org
  • 3 edits in trunk/Source/WebCore

Add KillRingNone.cpp to Mac build system
https://bugs.webkit.org/show_bug.cgi?id=74168

Patch by Benjamin Poulain <bpoulain@apple.com> on 2011-12-11
Reviewed by David Kilzer.

Add KillRingNone.cpp so it can be used on iOS, but
blacklist the file from the build in order to avoid
conflicts with KillRingMac.

  • Configurations/WebCore.xcconfig:
  • WebCore.xcodeproj/project.pbxproj:
12:44 PM Changeset in webkit [102541] by loislo@chromium.org
  • 2 edits in trunk/Source/WebCore

Web Inspector: [protocol] alter some type names generated from Inspector.json
https://bugs.webkit.org/show_bug.cgi?id=74247

Patch by Peter Rybin <peter.rybin@gmail.com> on 2011-12-11
Reviewed by Pavel Feldman.

Manually-filled map added that contains problem type names and its replacement.

  • inspector/CodeGeneratorInspector.py:

(fix_type_name.Result):
(fix_type_name.Result.output_comment):
(fix_type_name):
(TypeBindings.create_for_named_type_declaration.write_doc):
(TypeBindings.create_for_named_type_declaration.EnumBinding.generate_type_builder):
(TypeBindings.create_for_named_type_declaration.PlainString.generate_type_builder):
(TypeBindings):
(TypeBindings.create_for_named_type_declaration.ClassBinding.generate_type_builder):
(Generator.process_types):

11:38 AM Changeset in webkit [102540] by kling@webkit.org
  • 7 edits
    2 adds in trunk

WK2/NetscapePlugin: Incorrect mouse event coordinates when frameScaleFactor != 1.
<http://webkit.org/b/74209> and <rdar://problem/10438197>

Reviewed by Anders Carlsson.

Source/WebCore:

  • WebCore.exp.in: Export AffineTransform::scale(double).

Source/WebKit2:

  • Shared/WebEvent.h:
  • Shared/WebMouseEvent.cpp:

Remove the WebMouseEvent "copy" constructor that applied a scale factor
to the coordinates of an existing event.

  • WebProcess/Plugins/PluginView.cpp:

(WebKit::PluginView::handleEvent):

Pass the WebMouseEvent through to the plugin unmodified.

(WebKit::PluginView::viewGeometryDidChange):

Plumb a complex translate+scale transform through to the plugin, so coordinate
space transformations in will behave correctly with scale factors other than 1.

LayoutTests:

Add a test verifying that NetscapePlugins receive correctly transformed
mouse events with a page scale factor applied.

  • platform/mac-wk2/plugins/mouse-events-scaled-expected.txt: Added.
  • platform/mac-wk2/plugins/mouse-events-scaled.html: Added.
11:33 AM Changeset in webkit [102539] by kling@webkit.org
  • 2 edits in trunk/Source/WebCore

Remove OS(SYMBIAN) block from Settings constructor.
<http://webkit.org/b/74248>

Reviewed by Benjamin Poulain.

Kill the last OS(SYMBIAN) block in WebKit!

  • page/Settings.cpp:

(WebCore::Settings::Settings):

11:06 AM Changeset in webkit [102538] by mitz@apple.com
  • 4 edits
    2 adds in trunk

Source/WebCore: <rdar://problem/10561285> REGRESSION (r80438): First word on a line or after collapsed space may not be hyphenated even though it should
https://bugs.webkit.org/show_bug.cgi?id=74239

Reviewed by Anders Carlsson.

Tests: fast/text/hyphenate-first-word-after-skipped-space-expected.html

fast/text/hyphenate-first-word-after-skipped-space.html

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::tryHyphenating): Replaced the assumption that the character at lastSpace is a space
iff lastSpace is non-zero with a test of whether it is a space, in the sense that it should
not be counted as part of the prefix when comparing it to the value of hyphenate-limit-before.

LayoutTests: Test and updated results for <rdar://problem/10561285> REGRESSION (r80438): First word on a line or after collapsed space may not be hyphenated even though it should
https://bugs.webkit.org/show_bug.cgi?id=74239

Reviewed by Anders Carlsson.

  • fast/text/hyphenate-first-word-after-skipped-space-expected.html: Added.
  • fast/text/hyphenate-first-word-after-skipped-space.html: Added.
  • platform/mac/fast/text/hyphenate-limit-lines-expected.txt:
10:04 AM Changeset in webkit [102537] by haraken@chromium.org
  • 2 edits in trunk/Tools

[Refactoring] Move top-level code to generate a new ChangeLog into a method
https://bugs.webkit.org/show_bug.cgi?id=74253

Reviewed by David Kilzer.

The objective is to make prepare-ChangeLog a loadable Perl module for unit testing,
which requires to remove top-level code and global variables. This patch is one of
the incremental refactorings for that.

  • Scripts/prepare-ChangeLog: Moved top-level code to generate a new ChangeLog into generateNewChangeLogs().

(generateFunctionLists):
(findChangeLogs):
(generateNewChangeLogs):
(generateFileList): Removed an unnecessary variable $didChangeRegressionTests.

Note: See TracTimeline for information about the timeline view.