Timeline



May 7, 2013:

11:24 PM Changeset in webkit [149712] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/efl

[EFL] Remove the ewk_settings_shadow_dom_enable_set/get APIs from unit test
https://bugs.webkit.org/show_bug.cgi?id=115771

Patch by Jinwoo Song <jinwoo7.song@samsung.com> on 2013-05-07
Reviewed by Gyuyoung Kim.

Unit test is failing since r149702. Remove the test case related to shadow dom.

  • tests/test_ewk_setting.cpp:
10:08 PM Changeset in webkit [149711] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebKit/blackberry

Clean up load interface in WebPage
https://bugs.webkit.org/show_bug.cgi?id=115622
Patch by Xuefei Ren <xren@blackberry.com> on 2013-05-07
Reviewed by Rob Buis.

Internal PR:315535
Internal reviewed by Mary Wu

  • Api/WebPage.cpp:

(BlackBerry::WebKit::WebPagePrivate::load):
(BlackBerry::WebKit::WebPage::loadFile):
(BlackBerry::WebKit::WebPage::load):

  • Api/WebPage.h:
  • Api/WebPage_p.h:

(WebPagePrivate):

  • WebCoreSupport/FrameLoaderClientBlackBerry.cpp:

(WebCore::FrameLoaderClientBlackBerry::startDownload):

8:18 PM Changeset in webkit [149710] by benjamin@webkit.org
  • 3 edits in trunk/Source/WebCore

Make CanvasStyle's CMYKAValues allocated on the heap and move the pointer in the union.
https://bugs.webkit.org/show_bug.cgi?id=115764

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

CMYKA input is uncommon enough that we should not pay the price for
every CanvasStyle.
Make those values heap allocated and put the pointer in the union. Since
the RGBA32 values are needed for CMYKA, a RGBA32 value is added to the structure.

  • html/canvas/CanvasStyle.cpp:

(WebCore::CanvasStyle::CanvasStyle):
(WebCore::CanvasStyle::~CanvasStyle):
(WebCore::CanvasStyle::isEquivalentColor):
(WebCore::CanvasStyle::isEquivalentCMYKA):
(WebCore::CanvasStyle::applyStrokeColor):
(WebCore::CanvasStyle::applyFillColor):

  • html/canvas/CanvasStyle.h:

(CanvasStyle):
(CMYKAValues):
(WebCore::CanvasStyle::CMYKAValues::CMYKAValues):
(WebCore::CanvasStyle::color):
(WebCore):

7:41 PM Changeset in webkit [149709] by Darin Adler
  • 3 edits in trunk/Source/WebCore

Use OwnPtr instead of deleteAllValues for requests in PluginView
https://bugs.webkit.org/show_bug.cgi?id=115731

Reviewed by Sam Weinig.

  • plugins/PluginView.cpp:

(WebCore::PluginView::~PluginView): Removed the call to deleteAllValues.
(WebCore::PluginView::requestTimerFired): Use release to remove an OwnPtr
from m_requests rather than an explicit delete. Also use !isEmpty instead
of size > 0.
(WebCore::PluginView::scheduleRequest): Changed argument type to PassOwnPtr.
(WebCore::PluginView::load): Use adoptPtr to call scheduleRequest.

  • plugins/PluginView.h: Changed argument type of scheduleRequest to

PassOwnPtr, and m_requests to a Vector<OwnPtr>.

7:03 PM Changeset in webkit [149708] by Antti Koivisto
  • 18 edits
    2 deletes in trunk/Source

Remove SelectRuleFeatureSet
https://bugs.webkit.org/show_bug.cgi?id=115757

Reviewed by Benjamin Poulain.

This is dead code.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • Target.pri:
  • WebCore.exp.in:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • dom/Element.cpp:

(WebCore::Element::attributeChanged):
(WebCore):
(WebCore::Element::didAffectSelector):

  • dom/Element.h:

(Element):

  • dom/ElementShadow.h:

(WebCore::ElementShadow::invalidateDistribution):

  • html/shadow/ContentDistributor.cpp:

(WebCore::ContentDistributor::ContentDistributor):
(WebCore):

  • html/shadow/ContentDistributor.h:

(ContentDistributor):

  • html/shadow/InsertionPoint.cpp:

(WebCore::InsertionPoint::insertedInto):
(WebCore::InsertionPoint::removedFrom):

  • html/shadow/InsertionPoint.h:

(InsertionPoint):

  • html/shadow/SelectRuleFeatureSet.cpp: Removed.
  • html/shadow/SelectRuleFeatureSet.h: Removed.
  • testing/Internals.cpp:

(WebCore):

  • testing/Internals.idl:
6:47 PM Changeset in webkit [149707] by andersca@apple.com
  • 3 edits in trunk/Source/WebCore

Store the quotes in the same allocation as the QuotesData object
https://bugs.webkit.org/show_bug.cgi?id=115768

Reviewed by Andreas Kling.

Since the QuotesData object is immutable we don't need a Vector to store the quote pairs,
they can just be stored after the class data.

  • rendering/style/QuotesData.cpp:

(WebCore::sizeForQuotesDataWithQuoteCount):
Helper function for computing the allocation size.

(WebCore::QuotesData::create):
Use fastMalloc + placement new.

(WebCore::QuotesData::QuotesData):
Use placement new to allocate the quote pairs.

(WebCore::QuotesData::~QuotesData):
Destroy the quote pairs.

(WebCore::QuotesData::openQuote):
Stop using Vector.

(WebCore::QuotesData::closeQuote):
Ditto.

(WebCore::operator==):
Ditto.

  • rendering/style/QuotesData.h:
6:42 PM Changeset in webkit [149706] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebCore

We should not ref() the RefPtr twice in CanvasStyle

Patch by Benjamin Poulain <bpoulain@apple.com> on 2013-05-07
Reviewed by Darin Adler.

  • html/canvas/CanvasStyle.cpp:

(WebCore::CanvasStyle::CanvasStyle):
We leak the ref of PassRefPtr, we should not ref() it a second time.

6:41 PM Changeset in webkit [149705] by rniwa@webkit.org
  • 14 edits in trunk/Source/WebCore

Devirtualize Document class type checking
https://bugs.webkit.org/show_bug.cgi?id=115755

Reviewed by Benjamin Poulain.

Merge https://chromium.googlesource.com/chromium/blink/+/dae5adc768d5ce6bff301df6515745da8ea24950

Document has a bunch of virtual bool is*Document() methods on it, but it also has
two bools for XHTML and HTML documents which is silly. We can merge them all
together into an enum of values and devirtualize the type checking methods.

  • dom/Document.cpp:

(WebCore::Document::Document):
(WebCore::Document::createElement):

  • dom/Document.h:

(WebCore::Document::create):
(WebCore::Document::createXHTML):
(WebCore::Document::isHTMLDocument):
(WebCore::Document::isXHTMLDocument):
(WebCore::Document::isImageDocument):
(WebCore::Document::isSVGDocument):
(WebCore::Document::isPluginDocument):
(WebCore::Document::isMediaDocument):
(WebCore::Document):

  • html/HTMLDocument.cpp:

(WebCore::HTMLDocument::HTMLDocument):

  • html/HTMLDocument.h:

(WebCore::HTMLDocument):

  • html/ImageDocument.cpp:

(WebCore::ImageDocument::ImageDocument):

  • html/ImageDocument.h:

(WebCore::ImageDocument):

  • html/MediaDocument.cpp:

(WebCore::MediaDocument::MediaDocument):

  • html/MediaDocument.h:

(WebCore::MediaDocument):

  • html/PluginDocument.cpp:

(WebCore::PluginDocument::PluginDocument):

  • html/PluginDocument.h:

(WebCore::PluginDocument):

  • loader/PlaceholderDocument.h:

(WebCore::PlaceholderDocument::PlaceholderDocument):

  • svg/SVGDocument.cpp:

(WebCore::SVGDocument::SVGDocument):

  • svg/SVGDocument.h:

(WebCore::SVGDocument):

6:35 PM Changeset in webkit [149704] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

Fix a memory leak introduced in r149692
https://bugs.webkit.org/show_bug.cgi?id=115766

Patch by Alex Christensen <achristensen@apple.com> on 2013-05-07
Reviewed by Mark Rowe.

In r149692, the fix for <http://webkit.org/b/42324>, a call to WKBundleFrameCopyWebArchive was added without any
matching call to WKRelease. An earlier attempted fix in r149697 introduced a RetainPtr but failed to adopt the object.

  • WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:

(WTR::InjectedBundlePage::dumpDOMAsWebArchive):
Fix the memory leak by switching to WKRetainPtr and adopting the returned object.

6:26 PM Changeset in webkit [149703] by Darin Adler
  • 2 edits in trunk/Tools

[Win] Fix storage leak in Windows DumpRenderTree
https://bugs.webkit.org/show_bug.cgi?id=115651

Reviewed by Sam Weinig.

  • DumpRenderTree/win/DumpRenderTree.cpp:

(lastPathComponent): Added a missing call to adoptCF.

6:13 PM Changeset in webkit [149702] by gyuyoung.kim@samsung.com
  • 3 edits in trunk

[CMAKE] Remove SHADOW_DOM from cmakeconfig.h.cmake
https://bugs.webkit.org/show_bug.cgi?id=115712

Reviewed by Andreas Kling.

Nobody uses SHADOW_DOM in cmake.

  • Source/cmake/WebKitFeatures.cmake:
  • Source/cmakeconfig.h.cmake:
5:11 PM Changeset in webkit [149701] by weinig@apple.com
  • 3 edits in trunk/Source/WebKit2

Add SPI to get an array of all the installed plug-ins
https://bugs.webkit.org/show_bug.cgi?id=115688

Reviewed by Anders Carlsson.

  • UIProcess/API/C/mac/WKContextPrivateMac.h:
  • UIProcess/API/C/mac/WKContextPrivateMac.mm:

(createInfoDictionary):
Extract creation of info dictionary into helper.
(WKContextCopyPlugInInfoForBundleIdentifier):
Modified to use the new helper.
(WKContextGetInfoForInstalledPlugIns):
Added.

4:07 PM Changeset in webkit [149700] by andersca@apple.com
  • 7 edits in trunk/Source/WebCore

Begin unraveling the mess that is QuotesData
https://bugs.webkit.org/show_bug.cgi?id=115765

Reviewed by Andreas Kling.

Change QuotesData to be an immutable object and fix other things that are broken.

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::applyProperty):
QuotesData::addPair is gone. Instead, create the Vector up front and pass it to QuotesData.

  • rendering/RenderQuote.cpp:

(WebCore::RenderQuote::originalText):
Update for renames.

  • rendering/style/QuotesData.cpp:

(WebCore::QuotesData::create):
Remove the create overload that wasn't used. Add a new create overload that takes a Vector.

(WebCore::QuotesData::openQuote):
Rename this from getOpenQuote and clean it up.

(WebCore::QuotesData::closeQuote):
Rename this from getCloseQuote and clean it up.

(WebCore::operator==):
Replace the equals member function with a proper equality operator.

  • rendering/style/RenderStyle.cpp:

(WebCore::RenderStyle::diff):
Stop calling QuotesData::equals. Use the same idiom as used for other properties.

(WebCore::RenderStyle::setQuotes):

  • rendering/style/StyleRareInheritedData.cpp:

Use operator==.

(WebCore::quotesDataEquivalent):
Add helper function.

(WebCore::StyleRareInheritedData::operator==):
Call quotesDataEquivalent.

3:54 PM Changeset in webkit [149699] by hmuller@adobe.com
  • 3 edits
    1 add
    1 delete in trunk/LayoutTests

[CSS Exclusions] shape-inside, shape-padding, polygon test failing when subpixel layout is disabled
https://bugs.webkit.org/show_bug.cgi?id=115649

Reviewed by Dirk Schulze.

Another correction of a padded shape test that failed when subpixel layout was disabled.
This test puts a cross pattern made of five Ahem characters on three lines, within a padded
diamond polygon. The left edges of each line depend on the intersection of the padded polygon's
edges with the top of each line, which makes predicting the exact values unreliable. So we
just verify that the left edges of each line are within a pixel of the ideal value. This
change is very similar to the one made for bug 115490.

  • fast/exclusions/shape-inside/shape-inside-polygon-padding-002-expected.html: Removed.
  • fast/exclusions/shape-inside/shape-inside-polygon-padding-002-expected.txt: Added.
  • fast/exclusions/shape-inside/shape-inside-polygon-padding-002.html:
  • platform/mac/TestExpectations:
3:41 PM Changeset in webkit [149698] by enrica@apple.com
  • 3 edits
    3 adds in trunk

Support -webkit-system-font on OS X.
https://bugs.webkit.org/show_bug.cgi?id=115758
<rdar://problem/13433854>

3:26 PM Changeset in webkit [149697] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

fixed a memory leak introduced by bug 42324 by using a RetainPtr
https://bugs.webkit.org/show_bug.cgi?id=115760

Patch by Alex Christensen <achristensen@apple.com> on 2013-05-07
Reviewed by Tim Horton.

  • WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:

(WTR::InjectedBundlePage::dumpDOMAsWebArchive):
fixed memory leak, added UNUSED_PARAM macros

3:14 PM Changeset in webkit [149696] by benjamin@webkit.org
  • 3 edits in trunk/Source/WebCore

Move CanvasGradient and CanvasPattern in the union of CanvasStyle
https://bugs.webkit.org/show_bug.cgi?id=115759

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

The Gradient and Pattern are exclusive with the other values, but they
were left out of the union because they are ref-counted.

This patch moves them in the union, and simply does the ref-counting manually.

  • html/canvas/CanvasStyle.cpp:

(WebCore::CanvasStyle::CanvasStyle):
(WebCore::CanvasStyle::~CanvasStyle):

  • html/canvas/CanvasStyle.h:

(CanvasStyle):
(WebCore::CanvasStyle::canvasGradient):
(WebCore::CanvasStyle::canvasPattern):

3:06 PM Changeset in webkit [149695] by andersca@apple.com
  • 3 edits in trunk/Source/WebCore

Remove custom allocator support from PODArena
https://bugs.webkit.org/show_bug.cgi?id=115762

Reviewed by Andreas Kling.

Nobody uses PODArena with a custom allocator, so just get rid of it and always use fastMalloc/fastFree.

  • platform/PODArena.h:

(WebCore::PODArena::PODArena):
(WebCore::PODArena::allocateBase):
(WebCore::PODArena::Chunk::Chunk):
(WebCore::PODArena::Chunk::~Chunk):
(Chunk):

  • platform/PODFreeListArena.h:

(WebCore::PODFreeListArena::allocate):
(WebCore::PODFreeListArena::FreeListChunk::FreeListChunk):

3:04 PM Changeset in webkit [149694] by andersca@apple.com
  • 12 edits in trunk/Source

Clean up KeyframeValueList and related classes
https://bugs.webkit.org/show_bug.cgi?id=115738

Reviewed by Simon Fraser.

Source/WebCore:

Add static create() functions to the AnimationValue subclasses, and change a bunch of parameters
and return values that can never be null from pointer types to reference types to better indicate this.

  • platform/graphics/GraphicsLayer.cpp:

(WebCore::filterOperationsAt):
(WebCore::GraphicsLayer::validateFilterOperations):
(WebCore::operationsAt):
(WebCore::GraphicsLayer::validateTransformOperations):

  • platform/graphics/GraphicsLayer.h:

(AnimationValue):
(WebCore::AnimationValue::AnimationValue):
(WebCore::FloatAnimationValue::create):
(FloatAnimationValue):
(WebCore::FloatAnimationValue::FloatAnimationValue):
(WebCore::TransformAnimationValue::create):
(TransformAnimationValue):
(WebCore::TransformAnimationValue::value):
(WebCore::TransformAnimationValue::TransformAnimationValue):
(WebCore::FilterAnimationValue::create):
(WebCore::FilterAnimationValue::value):
(WebCore::FilterAnimationValue::FilterAnimationValue):
(FilterAnimationValue):
(WebCore::KeyframeValueList::~KeyframeValueList):
(KeyframeValueList):
(WebCore::KeyframeValueList::at):

  • platform/graphics/ca/GraphicsLayerCA.cpp:

(WebCore::animationHasStepsTimingFunction):
(WebCore::GraphicsLayerCA::createTransformAnimationsFromKeyframes):
(WebCore::GraphicsLayerCA::createFilterAnimationsFromKeyframes):
(WebCore::GraphicsLayerCA::timingFunctionForAnimationValue):
(WebCore::GraphicsLayerCA::setAnimationEndpoints):
(WebCore::GraphicsLayerCA::setAnimationKeyframes):
(WebCore::GraphicsLayerCA::setTransformAnimationEndpoints):
(WebCore::GraphicsLayerCA::setTransformAnimationKeyframes):
(WebCore::GraphicsLayerCA::setFilterAnimationEndpoints):
(WebCore::GraphicsLayerCA::setFilterAnimationKeyframes):

  • platform/graphics/ca/GraphicsLayerCA.h:

(GraphicsLayerCA):

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::startAnimation):
(WebCore::RenderLayerBacking::startTransition):

Source/WebKit2:

Update for WebCore changes.

  • Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:

(CoreIPC::::decode):

2:52 PM Changeset in webkit [149693] by andersca@apple.com
  • 7 edits in trunk/Source

Add and remove databases and origins from the database tracker
https://bugs.webkit.org/show_bug.cgi?id=115752

Reviewed by Andreas Kling.

Source/WebCore:

Add symbols needed by WebKit2.

  • WebCore.exp.in:

Source/WebKit2:

  • UIProcess/Storage/LocalStorageDatabase.cpp:

(WebKit::LocalStorageDatabase::LocalStorageDatabase):
Rename m_databaseFilename to m_databasePath.

(WebKit::LocalStorageDatabase::tryToOpenDatabase):
Rename m_databaseFilename to m_databasePath.

  • UIProcess/Storage/LocalStorageDatabase.h:

Rename m_databaseFilename to m_databasePath.

  • UIProcess/Storage/LocalStorageDatabaseTracker.cpp:

(WebKit::LocalStorageDatabaseTracker::databasePath):
Rename databaseFilename to databasePath.

(WebKit::LocalStorageDatabaseTracker::didOpenDatabaseWithOrigin):
Call addDatabaseWithOriginIdentifier.

(WebKit::LocalStorageDatabaseTracker::deleteEmptyDatabaseWithOrigin):
Call removeDatabaseWithOriginIdentifier.

(WebKit::LocalStorageDatabaseTracker::trackerDatabasePath):
Call databasePath instead of databaseFile.

(WebKit::LocalStorageDatabaseTracker::openTrackerDatabase):
Bail if the database is already open.

(WebKit::LocalStorageDatabaseTracker::updateTrackerDatabaseFromLocalStorageDatabaseFiles):
Call addDatabaseWithOriginIdentifier if this is an origin we don't know about.

(WebKit::LocalStorageDatabaseTracker::addDatabaseWithOriginIdentifier):
Add the database to the Origins table.

(WebKit::LocalStorageDatabaseTracker::removeDatabaseWithOriginIdentifier):
remove the database from the Origins table and delete it.

(WebKit::LocalStorageDatabaseTracker::pathForDatabaseWithOriginIdentifier):
Helper function that looks up a database path given its identifier.

  • UIProcess/Storage/LocalStorageDatabaseTracker.h:

Rename databaseFile to databasePath.

2:26 PM Changeset in webkit [149692] by commit-queue@webkit.org
  • 6 edits
    4 adds in trunk/Tools

WebKitTestRunner needs testRunner.dumpDOMAsWebArchive
https://bugs.webkit.org/show_bug.cgi?id=42324
<rdar://problem/8193633>

Patch by Alex Christensen <achristensen@apple.com> on 2013-05-07
Reviewed by Tim Horton.

  • Tools/WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:

Added dumpDOMAsWebArchive JavaScript function to be called by test cases.

  • Tools/WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:

(WTR::InjectedBundlePage::dumpDOMAsWebArchive):
Added dumpDOMAsWebArchive code that is called when dumping.
(WTR::InjectedBundlePage::dump):
Made DOMAsWebArchive case when dumping call dumpDOMAsWebArchive.

  • Tools/WebKitTestRunner/InjectedBundle/InjectedBundlePage.h:

(InjectedBundlePage):
Added dumpDOMAsWebArchive declaration.

  • Tools/WebKitTestRunner/InjectedBundle/TestRunner.h:

(WTR::TestRunner::dumpDOMAsWebArchive):
Added dumpDOMAsWebArchive JS callback function that sets m_whatToDump to DOMAsWebArchive.

  • Tools/WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:

Added WebArchiveDumpSupport.cpp, WebArchiveDumpSupport.h, WebArchiveDumpSupportMac.mm to project.

  • Tools/WebKitTestRunner/cf: Added.
  • Tools/WebKitTestRunner/cf/WebArchiveDumpSupport.cpp: Added.

Copied from Tools/DumpRenderTree/cf for createXMLStringFromWebArchiveData and other functions it uses.
(convertMIMEType):
(convertWebResourceDataToString):
(normalizeHTTPResponseHeaderFields):
(normalizeWebResourceURL):
(convertWebResourceResponseToDictionary):
(compareResourceURLs):
(createXMLStringFromWebArchiveData):

  • Tools/WebKitTestRunner/cf/WebArchiveDumpSupport.h: Added.

Copied from Tools/DumpRenderTree/cf for used symbol declarations.

  • Tools/WebKitTestRunner/mac/WebArchiveDumpSupportMac.mm: Added.

Copied from Tools/DumpRenderTree/mac for used functions.
(createCFURLResponseFromResponseData):
(supportedNonImageMIMETypes):

2:12 PM Changeset in webkit [149691] by Beth Dakin
  • 3 edits in trunk/Source/WebCore

Still possible to fire paint-related LayoutMilestones before CA has committed the
changes
https://bugs.webkit.org/show_bug.cgi?id=115753
-and corresponding-
<rdar://problem/13822315>

Reviewed by Simon Fraser.

To ensure we wait for the CA commit, we should wait until the end of the runloop
with a zero-delay timer.

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::RenderLayerCompositor):
(WebCore::RenderLayerCompositor::flushPendingLayerChanges):
(WebCore::RenderLayerCompositor::paintRelatedMilestonesTimerFired):
(WebCore):

  • rendering/RenderLayerCompositor.h:

(RenderLayerCompositor):

2:09 PM Changeset in webkit [149690] by Chris Fleizach
  • 2 edits in trunk/Source/WebCore

Bug 115694 - Fix bad cast to RenderHTMLCanvas
https://bugs.webkit.org/show_bug.cgi?id=115694

Reviewed by Ryosuke Niwa.

Don't cast to RenderHTML until we check what kind of object it is.

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored):

1:30 PM Changeset in webkit [149689] by mifenton@rim.com
  • 2 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Increase the padding size for caret based scrolling.
https://bugs.webkit.org/show_bug.cgi?id=115749

Reviewed by Rob Buis.

PR 322670.

Increasing the padding size for scrolling in order to optimize the
number of scrolls required during typing.

  • WebKitSupport/InputHandler.cpp:

(BlackBerry::WebKit::InputHandler::ensureFocusTextElementVisible):

1:07 PM Performance Tests edited by rwlbuis@webkit.org
(diff)
12:42 PM Changeset in webkit [149688] by andersca@apple.com
  • 7 edits in trunk/Source

The storage database tracker should know when databases come and go
https://bugs.webkit.org/show_bug.cgi?id=115748

Reviewed by Andreas Kling.

Source/WebCore:

Export symbol needed by WebKit2.

  • WebCore.exp.in:

Source/WebKit2:

  • UIProcess/Storage/LocalStorageDatabase.cpp:

(WebKit::LocalStorageDatabase::openDatabase):
If we've opened the database successfully, call LocalStorageDatabaseTracker::didOpenDatabaseWithOrigin.

(WebKit::LocalStorageDatabase::tryToOpenDatabase):
Remove a FIXME; we run all storage related things on the same thread.

(WebKit::LocalStorageDatabase::close):
Close the database. If it's empty, call LocalStorageDatabaseTracker::deleteEmptyDatabaseWithOrigin.

(WebKit::LocalStorageDatabase::databaseIsEmpty):
Helper function for determining whether a database is empty.

  • UIProcess/Storage/LocalStorageDatabase.h:
  • UIProcess/Storage/LocalStorageDatabaseTracker.cpp:

(WebKit::LocalStorageDatabaseTracker::databaseFilename):
Add ".localstorage" to the filename.

(WebKit::LocalStorageDatabaseTracker::didOpenDatabaseWithOrigin):
(WebKit::LocalStorageDatabaseTracker::deleteEmptyDatabaseWithOrigin):
Add empty stubs.

12:11 PM Changeset in webkit [149687] by beidson@apple.com
  • 3 edits in trunk/Source/WebKit2

Add JoinExistingSession to the Networking XPC.
<rdar://problem/12902288> and https://bugs.webkit.org/show_bug.cgi?id=114991

Reviewed by Sam Weinig.

  • NetworkProcess/EntryPoint/mac/XPCService/NetworkService.Development/Info.plist:
  • NetworkProcess/EntryPoint/mac/XPCService/NetworkService/Info.plist:
12:08 PM Changeset in webkit [149686] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

Updated style of WebArchiveDumpSupport before putting it into WebKitTestRunner.
https://bugs.webkit.org/show_bug.cgi?id=115745

Patch by Alex Christensen <achristensen@apple.com> on 2013-05-07
Reviewed by Tim Horton.

  • DumpRenderTree/cf/WebArchiveDumpSupport.cpp:

(compareResourceURLs):
Updated style.

11:52 AM Changeset in webkit [149685] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Maintain touch event state throughout processing
https://bugs.webkit.org/show_bug.cgi?id=115663

Patch by Nima Ghanavatian <nghanavatian@blackberry.com> on 2013-05-07
Reviewed by Rob Buis.

Internally reviewed by Otto Cheung and Genevieve Mak.

PR 297691
By maintaining our touch event state, we can get a better idea
of what triggered an update to selection and respond appropriately.
On touch press we set userTouchTriggered to give the UI thread
some context.

  • Api/WebPage.cpp:

(BlackBerry::WebKit::WebPagePrivate::WebPagePrivate):
(BlackBerry::WebKit::WebPagePrivate::handleMouseEvent):
(BlackBerry::WebKit::WebPage::setExtraPluginDirectory):

  • Api/WebPage_p.h:

(WebPagePrivate):

  • WebKitSupport/SelectionHandler.cpp:

(BlackBerry::WebKit::SelectionHandler::selectionPositionChanged):

11:42 AM Changeset in webkit [149684] by Darin Adler
  • 3 edits in trunk/Source/WebCore

Use OwnPtr instead of deleteAllValues in SVGResourcesCache
https://bugs.webkit.org/show_bug.cgi?id=115729

Reviewed by Benjamin Poulain.

  • rendering/svg/SVGResourcesCache.cpp:

(WebCore::SVGResourcesCache::~SVGResourcesCache): Removed call to deleteAllValues.
(WebCore::SVGResourcesCache::addResourcesFromRenderObject): Use adoptPtr and release
to create new SVGResources object.
(WebCore::SVGResourcesCache::removeResourcesFromRenderObject): Use take to remove
the SVGResources from the map rather than a get combined with delete/take.
(WebCore::SVGResourcesCache::cachedResourcesForRenderObject): Removed unneeded
call to contains, since get already returns 0 if there is no item in the map.
(WebCore::SVGResourcesCache::resourceDestroyed): Use typedef for the map type so
we don't have to repeat the type.

  • rendering/svg/SVGResourcesCache.h: Added typedef CacheMap, and changed value

type to OwnPtr.

11:30 AM Changeset in webkit [149683] by andersca@apple.com
  • 4 edits in trunk/Source

REGRESSION(r149647): Assertion failure in LocalStorageDatabaseTracker::setLocalStorageDirectoryInternal
https://bugs.webkit.org/show_bug.cgi?id=115711

Reviewed by Andreas Kling.

Source/WebCore:

Export SQLiteDatabase::close.

  • WebCore.exp.in:

Source/WebKit2:

Handle setting the local storage directory more than once.

  • UIProcess/Storage/LocalStorageDatabaseTracker.cpp:

(WebKit::LocalStorageDatabaseTracker::setLocalStorageDirectoryInternal):
Close the database (if necessary) and clear the origins map before importing the origin identifiers.

11:12 AM Changeset in webkit [149682] by Antoine Quint
  • 4 edits in trunk/Source/WebKit2

Re-establish autostart timeout extension on user interaction
https://bugs.webkit.org/show_bug.cgi?id=113232

Change WebProcess::pluginDidReceiveUserInteraction to use a tuple of
(pluginOrigin, pageOrigin, mimeType) arguments like the other similar
WebProcess methods and gather these arguments from the PlugInView's
plug-in element.

Reviewed by Dean Jackson.

  • WebProcess/Plugins/PluginView.cpp:

(WebKit::PluginView::pluginDidReceiveUserInteraction):
Cast the m_pluginElement to a HTMLPlugInImageElement so we can obtain the
tuple of (pluginOrigin, pageOrigin, mimeType) to pass to pluginDidReceiveUserInteraction().

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::plugInDidReceiveUserInteraction):

  • WebProcess/WebProcess.h:

(WebProcess):
Update method signature to a tuple of (pluginOrigin, pageOrigin, mimeType)
and obtain the plug-in origin hash from that.

10:58 AM Changeset in webkit [149681] by ap@apple.com
  • 26 edits
    1 delete in trunk/LayoutTests

Combine html and js parts fast/url script-tests
https://bugs.webkit.org/show_bug.cgi?id=115739

Rubber-stamped by Brady Eidson.

  • fast/url/anchor.html:
  • fast/url/file-http-base.html:
  • fast/url/file.html:
  • fast/url/host-lowercase-per-scheme.html:
  • fast/url/host.html:
  • fast/url/idna2003.html:
  • fast/url/idna2008.html:
  • fast/url/invalid-urls-utf8.html:
  • fast/url/ipv4.html:
  • fast/url/ipv6.html:
  • fast/url/mailto.html:
  • fast/url/path-url.html:
  • fast/url/path.html:
  • fast/url/port.html:
  • fast/url/query.html:
  • fast/url/relative-unix.html:
  • fast/url/relative-win.html:
  • fast/url/relative.html:
  • fast/url/safari-extension.html:
  • fast/url/scheme.html:
  • fast/url/script-tests: Removed.
  • fast/url/script-tests/TEMPLATE.html: Removed.
  • fast/url/script-tests/anchor.js: Removed.
  • fast/url/script-tests/file-http-base.js: Removed.
  • fast/url/script-tests/file.js: Removed.
  • fast/url/script-tests/host.js: Removed.
  • fast/url/script-tests/idna2003.js: Removed.
  • fast/url/script-tests/idna2008.js: Removed.
  • fast/url/script-tests/ipv4.js: Removed.
  • fast/url/script-tests/ipv6.js: Removed.
  • fast/url/script-tests/mailto.js: Removed.
  • fast/url/script-tests/path-url.js: Removed.
  • fast/url/script-tests/path.js: Removed.
  • fast/url/script-tests/port.js: Removed.
  • fast/url/script-tests/query.js: Removed.
  • fast/url/script-tests/relative-unix.js: Removed.
  • fast/url/script-tests/relative-win.js: Removed.
  • fast/url/script-tests/relative.js: Removed.
  • fast/url/script-tests/scheme.js: Removed.
  • fast/url/script-tests/segments-from-data-url.js: Removed.
  • fast/url/script-tests/segments.js: Removed.
  • fast/url/script-tests/standard-url.js: Removed.
  • fast/url/script-tests/trivial-segments.js: Removed.
  • fast/url/script-tests/trivial.js: Removed.
  • fast/url/segments-from-data-url.html:
  • fast/url/segments.html:
  • fast/url/standard-url.html:
  • fast/url/trivial-segments.html:
  • fast/url/trivial.html:
10:45 AM Changeset in webkit [149680] by andersca@apple.com
  • 3 edits in trunk/Source/WebKit2

Each local storage database should know its origin
https://bugs.webkit.org/show_bug.cgi?id=115737

Reviewed by Andreas Kling.

Store the security origin in a member variable. It'll be used to communicate database state changes to the tracker.

  • UIProcess/Storage/LocalStorageDatabase.cpp:

(WebKit::LocalStorageDatabase::create):
(WebKit::LocalStorageDatabase::LocalStorageDatabase):

  • UIProcess/Storage/LocalStorageDatabase.h:

(LocalStorageDatabase):

10:42 AM Changeset in webkit [149679] by rniwa@webkit.org
  • 8 edits in trunk

Add an 'isReadOnly' member to IDL parse tree structure
https://bugs.webkit.org/show_bug.cgi?id=115704

Reviewed by Kentaro Hara.

Source/WebCore:

Add an 'isReadOnly' member to IDL parse tree structure by merging
https://chromium.googlesource.com/chromium/blink/+/d6add80ecd08bcd88a6ae0e1698d929830b3bd8b
and update Objective-C, C++, and GObject binding generators to use isReadOnly.

  • bindings/scripts/CodeGeneratorCPP.pm:

(GenerateHeader):
(GenerateImplementation):

  • bindings/scripts/CodeGeneratorGObject.pm:

(GetWriteableProperties):
(GenerateProperty):
(GenerateFunctions):

  • bindings/scripts/CodeGeneratorJS.pm:

(IsReadonly):

  • bindings/scripts/CodeGeneratorObjC.pm:

(GenerateHeader):
(GenerateImplementation):

  • bindings/scripts/IDLParser.pm:

(parseAttributeRest):
(parseExceptionField):
(parseAttributeRestOld):

Tools:

Use newly added isReadOnly attribute.

  • WebKitTestRunner/InjectedBundle/Bindings/CodeGeneratorTestRunner.pm:

(_generateHeaderFile):
(_generateImplementationFile):
(_staticValuesGetterImplementation):

10:10 AM Changeset in webkit [149678] by beidson@apple.com
  • 3 edits in trunk/Source/WebKit2

Remove some unnecessary soft linking in NetworkProcess. (Take 2)
<rdar://problem/13821779> and https://bugs.webkit.org/show_bug.cgi?id=115683

Reviewed by Dean Jackson and owned by Andreas Kling.

As a followup to r149651, include the private headers conditionally.
Also, fix a bug introduced with r149651 (bool vs CFBooleanRef).

  • NetworkProcess/mac/DiskCacheMonitor.mm:
  • NetworkProcess/mac/NetworkResourceLoaderMac.mm:

(WebKit::NetworkResourceLoader::tryGetShareableHandleFromSharedBuffer):

9:54 AM Changeset in webkit [149677] by Darin Adler
  • 3 edits in trunk/Source/WebCore

Use OwnPtr instead of deleteAllValues in SMILTimeContainer
https://bugs.webkit.org/show_bug.cgi?id=115730

Reviewed by Geoffrey Garen.

  • svg/animation/SMILTimeContainer.cpp:

(WebCore::SMILTimeContainer::~SMILTimeContainer): Removed call to deleteAllValues.
(WebCore::SMILTimeContainer::schedule): Use add instead of get/set to put a new
AnimationsVector into the map as needed.
(WebCore::SMILTimeContainer::setElapsed): Added get since values are OwnPtr now.
(WebCore::SMILTimeContainer::updateAnimations): Ditto.

  • svg/animation/SMILTimeContainer.h: Changed value type of GroupedAnimationsMap

to OwnPtr instead of raw pointer.

9:53 AM Changeset in webkit [149676] by commit-queue@webkit.org
  • 3 edits in trunk/Source/JavaScriptCore

Take advantage of pre-decrement and post-increment opcodes for sh4 base JIT.
https://bugs.webkit.org/show_bug.cgi?id=115722

Patch by Julien Brianceau <jbrianceau@nds.com> on 2013-05-07
Reviewed by Oliver Hunt.

  • assembler/MacroAssemblerSH4.h:

(JSC::MacroAssemblerSH4::load8PostInc):
(MacroAssemblerSH4):
(JSC::MacroAssemblerSH4::load16Unaligned):
(JSC::MacroAssemblerSH4::load16PostInc):
(JSC::MacroAssemblerSH4::storeDouble):
(JSC::MacroAssemblerSH4::load32WithUnalignedHalfWords):

  • assembler/SH4Assembler.h:

(JSC::SH4Assembler::movwMemRegIn):
(SH4Assembler):
(JSC::SH4Assembler::movbMemRegIn):
(JSC::SH4Assembler::printInstr):

9:24 AM Changeset in webkit [149675] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Read-only fields should not get keyboard focus
https://bugs.webkit.org/show_bug.cgi?id=115725

Patch by Nima Ghanavatian <nghanavatian@blackberry.com> on 2013-05-07
Reviewed by Rob Buis.

Internally reviewed by Mike Fenton.

PR332887
Prevent keyboard focus and FCC from displaying when the user taps on a
read-only field. Further, ensure form controls skip over these fields
with the next/previous buttons.

  • WebKitSupport/DOMSupport.cpp:

(BlackBerry::WebKit::DOMSupport::elementIsReadOnly):
(DOMSupport):

  • WebKitSupport/DOMSupport.h:
  • WebKitSupport/InputHandler.cpp:

(BlackBerry::WebKit::InputHandler::focusedNodeChanged):
(BlackBerry::WebKit::InputHandler::setInputModeEnabled):
(BlackBerry::WebKit::InputHandler::notifyClientOfKeyboardVisibilityChange):
(BlackBerry::WebKit::InputHandler::isActiveTextEdit):
(WebKit):

  • WebKitSupport/InputHandler.h:
9:18 AM Changeset in webkit [149674] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Expand spellcheck logging
https://bugs.webkit.org/show_bug.cgi?id=115482

Patch by Nima Ghanavatian <nghanavatian@blackberry.com> on 2013-05-07
Reviewed by Rob Buis.

Internally reviewed by Mike Fenton.

Fix some build errors when SpellingLog was turned on and expand on the debug
statements to be more verbose. Set up timers and print the duration of each
iteration as we traverse the text to create a range to send out for checking.

  • WebKitSupport/InputHandler.cpp:

(BlackBerry::WebKit::InputHandler::spellCheckingRequestCancelled):
(BlackBerry::WebKit::InputHandler::spellCheckingRequestProcessed):
(BlackBerry::WebKit::InputHandler::setElementFocused):
(WebKit):
(BlackBerry::WebKit::InputHandler::spellCheckTextBlock):

  • WebKitSupport/SpellingHandler.cpp:

(BlackBerry::WebKit::SpellingHandler::spellCheckTextBlock):
(BlackBerry::WebKit::SpellingHandler::parseBlockForSpellChecking):

9:01 AM Changeset in webkit [149673] by andersca@apple.com
  • 30 edits
    1 delete in trunk

Remove AlwaysInline.h from WTF
https://bugs.webkit.org/show_bug.cgi?id=115727

Reviewed by Brent Fulgham.

The macro that used to be in AlwaysInline.h is now in Compiler.h so there's no reason
to keep AlwaysInline.h around anymore.

Source/JavaScriptCore:

  • jit/JSInterfaceJIT.h:
  • parser/Lexer.h:
  • runtime/JSCJSValue.h:
  • runtime/SymbolTable.h:

Source/WebCore:

  • WebCore.vcproj/WebCore.vcproj:
  • bindings/js/JSDOMWindowCustom.h:
  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateHeader):

  • platform/graphics/filters/FEConvolveMatrix.h:
  • rendering/InlineIterator.h:
  • rendering/InlineTextBox.cpp:
  • rendering/RenderBlockLineLayout.cpp:
  • rendering/RenderText.cpp:

Source/WTF:

  • WTF.vcproj/WTF.vcproj:
  • WTF.vcxproj/WTF.vcxproj:
  • WTF.vcxproj/WTF.vcxproj.filters:
  • WTF.xcodeproj/project.pbxproj:
  • wtf/AlwaysInline.h: Removed.
  • wtf/BloomFilter.h:
  • wtf/FastMalloc.cpp:
  • wtf/PassRefPtr.h:
  • wtf/dtoa.cpp:
  • wtf/gobject/GRefPtr.h:

Tools:

  • DumpRenderTree/qt/DumpRenderTreeMain.cpp:
  • WebKitTestRunner/InjectedBundle/qt/InjectedBundleQt.cpp:
8:53 AM Changeset in webkit [149672] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[Curl] POST requests sometimes fail.
https://bugs.webkit.org/show_bug.cgi?id=111844

Patch by peavo@outlook.com <peavo@outlook.com> on 2013-05-07
Reviewed by Brent Fulgham.

Curl adds the header 'Expect: 100-Continue' when sending a POST request.
When we receive the header 'HTTP/1.1 100 Continue', we should not call
ResourceHandleClient::didReceiveResponse(), as this will cancel the request,
because the MIME type is empty in this case, causing the POST request to fail.
This header is only sent as an info header, or provisional response.

In addition, this patch changes the classification of http code 304 (Not modified).
It is not reported as a redirect anymore, but as a response
(ResourceHandleClient::didReceiveResponse() is called.

  • platform/network/curl/ResourceHandleManager.cpp:

(WebCore::isHttpInfo): Added helper method to determine if http code is http info.
(WebCore::isHttpRedirect): Added helper method to determine if http code is http redirect.
(WebCore::headerCallback): Just return when receiving the header'HTTP/1.1 100 Continue'.

8:33 AM Changeset in webkit [149671] by allan.jensen@digia.com
  • 3 edits in trunk/Source/WebKit/qt

Crash when calling QWebFrame::evaluateJavaScript
https://bugs.webkit.org/show_bug.cgi?id=113434

Reviewed by Simon Hausmann.

Ensure we hold the JSLock when converting JSValue to JSValueRef.

  • Api/qwebelement.cpp:

(setupScriptContext):
(QWebElement::evaluateJavaScript):

  • WebCoreSupport/QWebFrameAdapter.cpp:

(QWebFrameAdapter::evaluateJavaScript):

8:13 AM Changeset in webkit [149670] by ryuan.choi@samsung.com
  • 6 edits in trunk/Source/WebKit2

[EFL][WK2] Add ewk APIs for setting and getting user agent
https://bugs.webkit.org/show_bug.cgi?id=114429

Patch by Jinwoo Song <jinwoo7.song@samsung.com> on 2013-05-07
Reviewed by Andreas Kling.

Provide ewk_view_user_agent_get/set APIs which wraps WK APIs.

  • UIProcess/API/efl/EwkView.cpp:

(EwkView::EwkView):
(EwkView::setUserAgent):

  • UIProcess/API/efl/EwkView.h:

(EwkView::userAgent):
(EwkView):

  • UIProcess/API/efl/ewk_view.cpp:

(ewk_view_user_agent_get):
(ewk_view_user_agent_set):

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

(TEST_F):

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

[X11][BlackBerry] Check if MOZ_X11 is defined instead of XP_UNIX npruntime_internal.h
https://bugs.webkit.org/show_bug.cgi?id=113687

Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2013-05-07
Reviewed by Anders Carlsson.

It's assumed that all UNIX platforms use X11 for plugins, which is
not the case of BlackBerry.

  • bridge/npruntime_internal.h: Use MOZ_X11 instead of XP_UNIX.
7:41 AM Changeset in webkit [149668] by commit-queue@webkit.org
  • 3 edits
    4 adds
    32 deletes in trunk/LayoutTests

[CSS Regions] Convert remaining fast/regions/webkit-flow* pixel tests to reftests
https://bugs.webkit.org/show_bug.cgi?id=115422

Patch by Radu Stavila <stavila@adobe.com> on 2013-05-07
Reviewed by Andreas Kling.

Converted following tests from pixel tests to ref tests:

  • webkit-flow-double-pagination-float-push
  • webkit-flow-float-pushed-to-last-region
  • webkit-flow-float-unable-to-push
  • webkit-flow-floats-inside-regions-bounds
  • fast/regions/webkit-flow-double-pagination-float-push-expected.html: Added.
  • fast/regions/webkit-flow-float-pushed-to-last-region-expected.html: Added.
  • fast/regions/webkit-flow-float-pushed-to-last-region.html:
  • fast/regions/webkit-flow-float-unable-to-push-expected.html: Added.
  • fast/regions/webkit-flow-float-unable-to-push.html:
  • fast/regions/webkit-flow-floats-inside-regions-bounds-expected.html: Added.
  • platform/efl/fast/regions/webkit-flow-double-pagination-float-push-expected.png: Removed.
  • platform/efl/fast/regions/webkit-flow-double-pagination-float-push-expected.txt: Removed.
  • platform/efl/fast/regions/webkit-flow-float-pushed-to-last-region-expected.png: Removed.
  • platform/efl/fast/regions/webkit-flow-float-pushed-to-last-region-expected.txt: Removed.
  • platform/efl/fast/regions/webkit-flow-float-unable-to-push-expected.png: Removed.
  • platform/efl/fast/regions/webkit-flow-float-unable-to-push-expected.txt: Removed.
  • platform/efl/fast/regions/webkit-flow-floats-inside-regions-bounds-expected.png: Removed.
  • platform/efl/fast/regions/webkit-flow-floats-inside-regions-bounds-expected.txt: Removed.
  • platform/gtk/fast/regions/webkit-flow-double-pagination-float-push-expected.png: Removed.
  • platform/gtk/fast/regions/webkit-flow-double-pagination-float-push-expected.txt: Removed.
  • platform/gtk/fast/regions/webkit-flow-float-pushed-to-last-region-expected.png: Removed.
  • platform/gtk/fast/regions/webkit-flow-float-pushed-to-last-region-expected.txt: Removed.
  • platform/gtk/fast/regions/webkit-flow-float-unable-to-push-expected.png: Removed.
  • platform/gtk/fast/regions/webkit-flow-float-unable-to-push-expected.txt: Removed.
  • platform/gtk/fast/regions/webkit-flow-floats-inside-regions-bounds-expected.png: Removed.
  • platform/gtk/fast/regions/webkit-flow-floats-inside-regions-bounds-expected.txt: Removed.
  • platform/mac/fast/regions/webkit-flow-double-pagination-float-push-expected.png: Removed.
  • platform/mac/fast/regions/webkit-flow-double-pagination-float-push-expected.txt: Removed.
  • platform/mac/fast/regions/webkit-flow-float-pushed-to-last-region-expected.png: Removed.
  • platform/mac/fast/regions/webkit-flow-float-pushed-to-last-region-expected.txt: Removed.
  • platform/mac/fast/regions/webkit-flow-float-unable-to-push-expected.png: Removed.
  • platform/mac/fast/regions/webkit-flow-float-unable-to-push-expected.txt: Removed.
  • platform/mac/fast/regions/webkit-flow-floats-inside-regions-bounds-expected.png: Removed.
  • platform/mac/fast/regions/webkit-flow-floats-inside-regions-bounds-expected.txt: Removed.
  • platform/qt/fast/regions/webkit-flow-double-pagination-float-push-expected.png: Removed.
  • platform/qt/fast/regions/webkit-flow-double-pagination-float-push-expected.txt: Removed.
  • platform/qt/fast/regions/webkit-flow-float-pushed-to-last-region-expected.png: Removed.
  • platform/qt/fast/regions/webkit-flow-float-pushed-to-last-region-expected.txt: Removed.
  • platform/qt/fast/regions/webkit-flow-float-unable-to-push-expected.png: Removed.
  • platform/qt/fast/regions/webkit-flow-float-unable-to-push-expected.txt: Removed.
  • platform/qt/fast/regions/webkit-flow-floats-inside-regions-bounds-expected.png: Removed.
  • platform/qt/fast/regions/webkit-flow-floats-inside-regions-bounds-expected.txt: Removed.
4:01 AM Changeset in webkit [149667] by abecsi@webkit.org
  • 2 edits in trunk/Tools

[Qt][WTR] QQuickWindowPrivate::setRenderWithoutShowing has been removed from Qt 5
https://bugs.webkit.org/show_bug.cgi?id=114808

Reviewed by Jocelyn Turcotte.

QQuickWindow::grabWindow() has been implemented for isVisible=false for Qt 5.1.
(https://codereview.qt-project.org/#change,54234)

  • WebKitTestRunner/qt/PlatformWebViewQt.cpp:

(WTR::WrapperWindow::handleStatusChanged):

12:42 AM Changeset in webkit [149666] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit/gtk

[GTK] Initialize WebKitWebPlugin path to prevent double-free
https://bugs.webkit.org/show_bug.cgi?id=115624

Patch by Tomas Popela <tpopela@redhat.com> on 2013-05-07
Reviewed by Carlos Garcia Campos.

Use GOwnPtr for WebKitWebPlugin path to prevent double-free
situations. Also use GOwnPtr for GError in webkit_web_plugin_get_path.

  • webkit/webkitwebplugin.cpp:

(webkit_web_plugin_finalize):
(webkit_web_plugin_get_path):

  • webkit/webkitwebpluginprivate.h:
12:23 AM Changeset in webkit [149665] by mikhail.pozdnyakov@intel.com
  • 41 edits in trunk/Source

HashTraits<RefPtr<P> >::PeekType should be raw pointer for better performance
https://bugs.webkit.org/show_bug.cgi?id=115646

Reviewed by Darin Adler.

Source/JavaScriptCore:

  • bytecompiler/StaticPropertyAnalyzer.h:

(JSC::StaticPropertyAnalyzer::putById):

Updated accordingly to new HashMap<.., RefPtr>::get() semantics.

Source/WebCore:

No new tests, no new functionality.

  • accessibility/AXObjectCache.cpp:

(WebCore::AXObjectCache::get):
(WebCore::AXObjectCache::remove):

  • accessibility/AXObjectCache.h:

(WebCore::AXObjectCache::objectFromAXID):

  • css/CSSImageGeneratorValue.cpp:

(WebCore::CSSImageGeneratorValue::getImage):

  • css/InspectorCSSOMWrappers.cpp:

(WebCore::InspectorCSSOMWrappers::getWrapperForRuleInSheets):

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::loadPendingSVGDocuments):

  • html/HTMLAnchorElement.cpp:

(WebCore::HTMLAnchorElement::rootEditableElementForSelectionOnMouseDown):

  • html/HTMLFormElement.cpp:

(WebCore::HTMLFormElement::elementForAlias):

  • html/shadow/ContentDistributor.cpp:

(WebCore::ContentDistributor::findInsertionPointFor):

  • loader/appcache/ApplicationCache.cpp:

(WebCore::ApplicationCache::resourceForURL):

  • loader/archive/ArchiveResourceCollection.cpp:

(WebCore::ArchiveResourceCollection::archiveResourceForURL):

  • page/PageGroup.cpp:

(WebCore::PageGroup::transientLocalStorage):

  • page/animation/CompositeAnimation.cpp:

(WebCore::CompositeAnimation::updateTransitions):
(WebCore::CompositeAnimation::pauseTransitionAtTime):

  • platform/graphics/ca/GraphicsLayerCA.cpp:

(WebCore::GraphicsLayerCA::updateMaskLayer):

  • platform/network/BlobRegistryImpl.cpp:

(WebCore::BlobRegistryImpl::getBlobDataFromURL):

  • plugins/PluginDatabase.cpp:

(WebCore::PluginDatabase::pluginForMIMEType):
(WebCore::PluginDatabase::MIMETypeForExtension):

  • rendering/RenderCounter.cpp:

(WebCore::makeCounterNode):
(showCounterRendererTree):

  • svg/graphics/filters/SVGFilterBuilder.cpp:

(WebCore::SVGFilterBuilder::getEffectById):

Updated accordingly to new HashMap<.., RefPtr>::get() semantics.

Source/WebKit/mac:

  • Plugins/Hosted/NetscapePluginHostProxy.mm:

(WebKit::NetscapePluginHostProxy::pluginInstance):

  • Plugins/Hosted/NetscapePluginInstanceProxy.mm:

(WebKit::NetscapePluginInstanceProxy::cancelStreamLoad):

Updated accordingly to new HashMap<.., RefPtr>::get() semantics.

Source/WebKit2:

  • NetworkProcess/NetworkConnectionToWebProcess.cpp:

(WebKit::NetworkConnectionToWebProcess::convertMainResourceLoadToDownload):

  • NetworkProcess/NetworkResourceLoadScheduler.cpp:

(WebKit::NetworkResourceLoadScheduler::hostForURL):

  • Shared/ImmutableDictionary.h:

(WebKit::ImmutableDictionary::get):

  • UIProcess/Storage/StorageManager.cpp:

(WebKit::StorageManager::createSessionStorageMap):
(WebKit::StorageManager::cloneSessionStorageNamespaceInternal):
(WebKit::StorageManager::findStorageArea):

  • UIProcess/WebContext.h:

(WebKit::WebContext::supplement):

  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::webBackForwardItem):
(WebKit::WebProcessProxy::webFrame):

  • UIProcess/efl/DownloadManagerEfl.cpp:

(WebKit::DownloadManagerEfl::ewkDownloadJob):

  • WebProcess/Network/WebResourceLoadScheduler.h:

(WebKit::WebResourceLoadScheduler::webResourceLoaderForIdentifier):

  • WebProcess/Plugins/Netscape/NetscapePlugin.cpp:

(WebKit::NetscapePlugin::streamFromID):

  • WebProcess/Plugins/PluginProcessConnectionManager.cpp:

(WebKit::PluginProcessConnectionManager::pluginProcessCrashed):

  • WebProcess/Plugins/PluginView.cpp:

(WebKit::PluginView::cancelStreamLoad):

  • WebProcess/WebPage/EventDispatcher.cpp:

(WebKit::EventDispatcher::wheelEvent):

  • WebProcess/WebPage/WebBackForwardListProxy.cpp:

(WebKit::WebBackForwardListProxy::itemForID):
(WebKit::WebBackForwardListProxy::itemAtIndex):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::webUndoStep):
(WebKit::WebPage::didFinishCheckingText):
(WebKit::WebPage::didCancelCheckingText):

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::webPage):
(WebKit::WebProcess::webPageGroup):

Updated accordingly to new HashMap<.., RefPtr>::get() semantics.

Source/WTF:

HashTraits<RefPtr<P> >::PeekType should be raw pointer so that we
can obviate multiple RefPtr copying when invoking HashMap<.., RefPtr>::get()
method.

  • wtf/HashTraits.h:

May 6, 2013:

11:31 PM Changeset in webkit [149664] by zarvai@inf.u-szeged.hu
  • 2 edits in trunk/Source/WebKit2

[Qt] Unreviewed buildfix after r149637.

  • Target.pri:
11:13 PM Changeset in webkit [149663] by Christophe Dumez
  • 2 edits in trunk/Tools

Unreviewed. Add my email to EFL and BindingsScripts watchlists.

  • Scripts/webkitpy/common/config/watchlist:
10:20 PM Changeset in webkit [149662] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebKit2

REGRESSION(r149647): Assertion failure in LocalStorageDatabaseTracker::setLocalStorageDirectoryInternal
https://bugs.webkit.org/show_bug.cgi?id=115711

Rubber-stamped by Anders Carlsson.

Temporarily removed the assertion. Andres is going to investigate it tomorrow.

  • UIProcess/Storage/LocalStorageDatabaseTracker.cpp:

(WebKit::LocalStorageDatabaseTracker::setLocalStorageDirectoryInternal):

9:31 PM Changeset in webkit [149661] by Darin Adler
  • 6 edits in trunk/Source

Use OwnPtr instead of deleteAllValues in KeyframeValueList
https://bugs.webkit.org/show_bug.cgi?id=115652

Reviewed by Simon Fraser.

Source/WebCore:

Also made a few related style fixes in the functions touched.

  • platform/graphics/GraphicsLayer.cpp:

(WebCore::KeyframeValueList::insert): Change argument type to PassOwnPtr
and update use of m_values since it has OwnPtr now instead of raw pointer.

  • platform/graphics/GraphicsLayer.h: Move conditional includes to a

separate paragraph, removed an unneeded forward class declaration.
(WebCore::AnimationValue::AnimationValue): Marked this constructor explicit
and removed an unneeded if statement.
(WebCore::AnimationValue::clone): Changed to use adoptPtr and PassOwnPtr.
(WebCore::FloatAnimationValue::clone): Changed this to return a PassOwnPtr.
(WebCore::TransformAnimationValue::TransformAnimationValue): Marked explicit.
(WebCore::TransformAnimationValue::clone): Changed to use adoptPtr and PassOwnPtr.
(WebCore::FilterAnimationValue::FilterAnimationValue): Marked explicit.
(WebCore::FilterAnimationValue::clone): Changed to use adoptPtr and PassOwnPtr.
(WebCore::KeyframeValueList::KeyframeValueList): Marked explicit.
(WebCore::KeyframeValueList::~KeyframeValueList): Removed, since the default
destructor works without an explicit deleteAllValues call.
(WebCore::KeyframeValueList::at): Added call to get needed since the vector
contains OwnPtr now.
(WebCore::KeyframeValueList::insert): Changed to take PassOwnPtr and then
removed now-redundant comment saying "takes ownership of the pointer".
(WebCore::KeyframeValueList::m_values): Changed type to Vector<OwnPtr>.

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::startAnimation): Added adoptPtr next to the
all the places new was done before calling KeyframeValueList::insert. Also
simplified the booleans and #if in this function.
(WebCore::RenderLayerBacking::startTransition): Ditto.

Source/WebKit2:

  • Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:

(CoreIPC::ArgumentCoder<GraphicsLayerAnimation>::decode): Added adoptPtr
next to new when calling KeyframeValueList::insert.

9:15 PM Changeset in webkit [149660] by rniwa@webkit.org
  • 3 edits in trunk/Source/WebCore

[Replaceable] attributes must be readonly
https://bugs.webkit.org/show_bug.cgi?id=115692

Reviewed by Kentaro Hara.

Merge https://chromium.googlesource.com/chromium/blink/+/ac61fbfe875d3c3c37d529683139ceb0ad4330bb.

Web IDL specification says [Replaceable] attributes are readonly:
http://www.w3.org/TR/2012/CR-WebIDL-20120419/#Replaceable

Update the two instances of [Replaceable] in WebCore that didn't have readonly modifier to match
the specifcation and the rest of WebCore. There should be no behavioral changes as the code generator
already assumed [Replaceable] attributes are readonly.

  • html/HTMLDocument.idl:
  • page/DOMWindow.idl:
9:05 PM Changeset in webkit [149659] by kangil.han@samsung.com
  • 4 edits in trunk/Tools

[EFL][WK1][PerformanceTests] Adopt --no-timeout option implementation to DumpRenderTree
https://bugs.webkit.org/show_bug.cgi?id=115645

Reviewed by Gyuyoung Kim.

To run performance tests in wk1, we need --no-timeout option implementation.
So adopt it from gtk+ port.

  • DumpRenderTree/efl/DumpRenderTree.cpp:

(shouldSetWaitToDumpWatchdog):
(parseCommandLineOptions):

  • DumpRenderTree/efl/DumpRenderTreeEfl.h:
  • DumpRenderTree/efl/TestRunnerEfl.cpp:

(TestRunner::setWaitToDump):

8:13 PM Changeset in webkit [149658] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/Source/WebKit2

Unreviewed, build fix on EFL port

  • CMakeLists.txt: Add LocalStorageDatabaseTracker.cpp
7:18 PM Changeset in webkit [149657] by Philippe Normand
  • 2 edits in trunk/Source/WebKit2

Unreviewed, GTK build fix after r149637.

  • GNUmakefile.list.am: Add LocalStorageDatabaseTracker sources to

the build.

6:36 PM Changeset in webkit [149656] by roger_fong@apple.com
  • 2 edits in trunk/Source/WebKit/win

Unreviewed. AppleWin build fix.

  • WebKit.vcproj/WebKitExports.def.in:
5:46 PM Changeset in webkit [149655] by mark.lam@apple.com
  • 3 edits in branches/dfgFourthTier/Source/JavaScriptCore

Fix broken 32-bit build + some clean up in JITStubs.cpp.
https://bugs.webkit.org/show_bug.cgi?id=115684.

Reviewed by Geoffrey Garen.

  • dfg/DFGSpeculativeJIT32_64.cpp:

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

  • jit/JITStubs.cpp:
  • removed unneeded stubs for CPU(X86_64) && USE(JSVALUE32_64).
  • added some line breaks to more clearly delineate between ports/configurations of stub code.
5:45 PM Changeset in webkit [149654] by Darin Adler
  • 3 edits in trunk/Source/WebCore

Use OwnPtr instead of deleteAllValues in DocumentMarkerController
https://bugs.webkit.org/show_bug.cgi?id=115655

Reviewed by Andreas Kling.

  • dom/DocumentMarkerController.cpp:

(WebCore::DocumentMarkerController::~DocumentMarkerController): Added here
so the destructor isn't implicitly inline.
(WebCore::DocumentMarkerController::detach): Removed now-unneeded code to
call deleteAllValues. Also moved code to set m_possiblyExistingMarkerTypes
to after clearing m_markers to be consistent with how other functions do it.
(WebCore::DocumentMarkerController::addMarker): Changed code to use the
add idiom to avoid double hash table lookup. Changed to use adoptPtr since
the map now contains OwnPtr.
(WebCore::DocumentMarkerController::removeMarkers): Removed explicit calls
to delete list since removing the entry from the map now deletes the list.
Moved the code to check if m_markers has become empty so it's only called
when we actually remove something from m_markers.
(WebCore::DocumentMarkerController::markerContainingPoint): Added get().
(WebCore::DocumentMarkerController::renderedRectsForMarkers): Added get().
(WebCore::DocumentMarkerController::removeMarkers): Changed to use a new
interface to removeMarkersFromList. This eliminated the need to copy the
entire map when removing markers; instead we can just copy the keys.
(WebCore::DocumentMarkerController::removeMarkersFromList): Changed to use
an iterator instead of being passed the key/value pair from the map. Also
rearranged the logic so there is less repeated code and removed some now-
unneeded comments.
(WebCore::DocumentMarkerController::repaintMarkers): Added get().
(WebCore::DocumentMarkerController::invalidateRenderedRectsForMarkersInRect):
Added get().
(WebCore::DocumentMarkerController::showMarkers): Added get().

  • dom/DocumentMarkerController.h: Removed implementation of the destructor

that called the detach function; that was just sharing the now-unneeded
call to deleteAllValues. Changed the type of the map to use an OwnPtr for
the value. Changed the interface of removeMarkersFromList to take a map
iterator instead of a key/value pair.

5:33 PM Changeset in webkit [149653] by Beth Dakin
  • 5 edits in trunk/Source/WebCore

Reproducible crash in RenderBoxModelObject::adjustedPositionRelativeToOffsetParent()
https://bugs.webkit.org/show_bug.cgi?id=115685
-and corresponding-
<rdar://problem/13700734>

Reviewed by Sam Weinig.

This fix here is just to rollout the change that caused this regression, which is
http://trac.webkit.org/changeset/147395 . That change was not intended to cause any
behavioral differences. The change made it so RenderObject::offsetParent() returned
an Element* instead of a RenderBoxModelObject*. However, can muddle things when the
object we are returning is a continuation. Multiple RenderObjects have the same
Element in a continuation, so this new code can lead to a crash in
adjustedPositionRelativeToOffsetParent() when we expect to walk the RenderObject
chain and find the offsetParent in the Element’s parent chain. But we might crash in
some complicated continuation scenarios because we lost this disambiguation of which
RenderObject to start with.

Roll out.

  • dom/Element.cpp:

(WebCore::Element::offsetParent):

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::adjustedPositionRelativeToOffsetParent):

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::offsetParent):

  • rendering/RenderObject.h:

(RenderObject):

5:20 PM Changeset in webkit [149652] by rniwa@webkit.org
  • 25 edits in trunk/Source/WebCore

Unify ways to cache named item in HTMLCollections
https://bugs.webkit.org/show_bug.cgi?id=115584

Reviewed by Antti Koivisto.

Refactor the code to share the same infrastructure for both id and name attributes maps.

Also get rid of shouldRegisterAsNamedItem and shouldRegisterAsExtraNamedItem from various Element subclasses
as these member functions were duplicating the information in HTMLNameCollection.cpp. Nevertheless, HTMLImageElement
and HTMLObjectElement still update HTMLDocument's window and document name getter maps when their presence as named
item changes due to an attribute change and children changes respectively.

  • bindings/js/JSDOMWindowCustom.cpp:

(WebCore::namedItemGetter): Use windowNamedItemMap().containsSingle() instead of collection->hasExactlyOneItem() to
avoid instantiating HTMLCollection until we know for sure we're returning multiple items.
(WebCore::JSDOMWindow::getOwnPropertySlot): Call windowNamedItemMap().contains() instead of document->hasNamedItem()
since the latter has been removed.
(WebCore::JSDOMWindow::getOwnPropertySlotByIndex): Ditto.
(WebCore::JSDOMWindow::getOwnPropertyDescriptor): Ditto.

  • bindings/js/JSHTMLDocumentCustom.cpp:

(WebCore::JSHTMLDocument::canGetItemsForName): Call documentNamedItemMap().contains() instead of
document->hasExtraNamedItem() since the latter has been removed.
(WebCore::JSHTMLDocument::nameGetter): Use documentNamedItemMap().containsSingle() instead of
collection->hasExactlyOneItem() to avoid instantiating HTMLCollection when we're returning the first item.

  • dom/Document.cpp:

(WebCore::Document::windowNamedItems): Instantiate WindowNameCollection, which is a subclass of HTMLNameCollection,
instead of HTMLNameCollection since the latter class no longer has a public constructor.
(WebCore::Document::documentNamedItems): Ditto; instantiate DocumentNameCollection.

  • dom/DocumentOrderedMap.cpp:

(WebCore::keyMatchesName): Added for name attribute.
(WebCore::keyMatchesWindowNamedItem): Added for window name getter.
(WebCore::keyMatchesDocumentNamedItem): Added for document name getter.
(WebCore::DocumentOrderedMap::getElementByName): Added for name attribute.
(WebCore::DocumentOrderedMap::getElementByWindowNamedItem): Added for window name getter.
(WebCore::DocumentOrderedMap::getElementByDocumentNamedItem): Added for document name getter.

  • dom/DocumentOrderedMap.h:

(WebCore::DocumentOrderedMap::containsSingle): Added.
(WebCore::DocumentOrderedMap::containsMultiple): Fixed the bug that containsMultiple returns true even when
the duplicate count has been reduced to 1. Unfortunately this behavior change is not testable because the old code
worked properly (though less efficient) even if this function returned a wrong value.

  • dom/Element.cpp:

(WebCore::Element::insertedInto):
(WebCore::Element::removedFrom):
(WebCore::Element::updateName): Added. Updates TreeScope's name attribute map as well as HTMLDocument's window name
and document name maps.
(WebCore::Element::updateId): Added the code to update HTMLDocument's window name and document name maps.

  • dom/Element.h:

(Element): Removed shouldRegisterAsNamedItem, shouldRegisterAsExtraNamedItem, updateNamedItemRegistration, and
updateExtraNamedItemRegistration as they're no longer used.

  • dom/TreeScope.cpp:

(SameSizeAsTreeScope):
(WebCore::TreeScope::getElementByName): Added.
(WebCore::TreeScope::addElementByName): Added.
(WebCore::TreeScope::removeElementByName): Added.

  • dom/TreeScope.h:

(WebCore::TreeScope::hasElementWithName): Added.
(WebCore::TreeScope::containsMultipleElementsWithName): Added.

  • html/HTMLAppletElement.h:

(HTMLAppletElement):

  • html/HTMLCollection.cpp:

(WebCore::isMatchingElement): Use HTMLNameCollection subclasses' nodeMatches.
(WebCore::HTMLCollection::namedItem): Added a fast path for named item.
(WebCore::HTMLCollection::hasNamedItem): Use namedItem to avoid the work in the fast path.

  • html/HTMLCollection.h:

(HTMLCollection): Removed checkForNameMatch.

  • html/HTMLDocument.cpp:

(WebCore): Removed various member functions related to m_namedItemCounts and m_extraNamedItemCounts.

  • html/HTMLDocument.h:

(WebCore::HTMLDocument::documentNamedItemMap): Added.
(WebCore::HTMLDocument::windowNamedItemMap): Added.
(HTMLDocument): Replaced m_namedItemCounts and m_extraNamedItemCounts by m_documentNamedItem and m_windowNamedItem.
Note that they're not one to one.

  • html/HTMLEmbedElement.h:

(HTMLEmbedElement):

  • html/HTMLFormElement.h:

(HTMLFormElement):

  • html/HTMLIFrameElement.cpp: Removed the code to track the element's name since we already do this in Element.

(WebCore::HTMLIFrameElement::parseAttribute):

  • html/HTMLIFrameElement.h:

(HTMLIFrameElement):

  • html/HTMLImageElement.cpp:

(WebCore::HTMLImageElement::parseAttribute): Update the HTMLDocument's maps when the name attribute's existence
changes its presence on window and document name getters in turn. This behavior change, again, appears to be
untestable due to the old being more graceful when DocumentOrderedMap returned a wrong value.

  • html/HTMLImageElement.h:
  • html/HTMLNameCollection.cpp:

(WebCore::HTMLNameCollection::HTMLNameCollection): No longer overrides itemAfter. This enables backwards traversals
of the tree along with other optimizations in HTMLCollection.

(WebCore::WindowNameCollection::nodeMatchesIfNameAttributeMatch): Added. Used in Element::updateName to determine
whether add() or remove() should be called on HTMLDocument's maps.
(WebCore::WindowNameCollection::nodeMatches): Added.

(WebCore::DocumentNameCollection::nodeMatchesIfIdAttributeMatch): Added. Used in Element::updateName to determine
whether add() or remove() should be called on HTMLDocument's maps.
(WebCore::DocumentNameCollection::nodeMatchesIfNameAttributeMatch): Ditto.
(WebCore::DocumentNameCollection::nodeMatches): Added.

  • html/HTMLNameCollection.h:

(HTMLNameCollection): Removed create since this class shouldn't be instantiated on its own.

(WebCore::WindowNameCollection): Added.
(WebCore::WindowNameCollection::create): Added.
(WebCore::WindowNameCollection::nodeMatches): Added.
(WebCore::WindowNameCollection::nodeMatchesIfIdAttributeMatch): Added.
(WebCore::WindowNameCollection::WindowNameCollection): Added.
(WebCore::DocumentNameCollection): Added.
(WebCore::DocumentNameCollection::create): Added.
(WebCore::DocumentNameCollection::nodeMatches): Added.
(WebCore::DocumentNameCollection::DocumentNameCollection): Added.

  • html/HTMLObjectElement.cpp:

(WebCore::HTMLObjectElement::updateDocNamedItem): Update both window and document getter maps of HTMLDocument when
the visibility of this element changes due to the DOM mutations in the subtree.

  • html/HTMLObjectElement.h:

(WebCore::HTMLObjectElement):
(WebCore::toHTMLObjectElement): Added.

5:05 PM Changeset in webkit [149651] by beidson@apple.com
  • 3 edits in trunk/Source/WebKit2

Remove some unnecessary soft linking in NetworkProcess.
<rdar://problem/13821779> and https://bugs.webkit.org/show_bug.cgi?id=115683

Reviewed by Sam Weinig.

Replace some unneeded soft linking with forward declarations.

  • NetworkProcess/mac/DiskCacheMonitor.mm:

(WebKit::DiskCacheMonitor::DiskCacheMonitor):

  • NetworkProcess/mac/NetworkResourceLoaderMac.mm:

(WebKit::NetworkResourceLoader::tryGetShareableHandleFromCFURLCachedResponse):
(WebKit::NetworkResourceLoader::tryGetShareableHandleFromSharedBuffer):

4:55 PM Changeset in webkit [149650] by commit-queue@webkit.org
  • 1 edit
    8 deletes in trunk/Tools

Unreviewed, rolling out r149547.
http://trac.webkit.org/changeset/149547
https://bugs.webkit.org/show_bug.cgi?id=115682

Added unittests that fail on bots and spits out text into
stdout (Requested by rniwa on #webkit).

  • Scripts/import-w3c-tests: Removed.
  • Scripts/webkitpy/w3c/init.py: Removed.
  • Scripts/webkitpy/w3c/test_converter.py: Removed.
  • Scripts/webkitpy/w3c/test_converter_unittest.py: Removed.
  • Scripts/webkitpy/w3c/test_importer.py: Removed.
  • Scripts/webkitpy/w3c/test_importer_unittest.py: Removed.
  • Scripts/webkitpy/w3c/test_parser.py: Removed.
  • Scripts/webkitpy/w3c/test_parser_unittest.py: Removed.
4:38 PM Changeset in webkit [149649] by ggaren@apple.com
  • 64 edits
    2 adds in branches/dfgFourthTier

Cherry-pick merged some patches to the FTL branch.

Unreviewed.

Source/JavaScriptCore:

r147184
r147190
r147234
r147658
r147669
r147677
r147887
r147892
r149236
r149247
r149418

Source/WebCore:

r147184
r147190
r147234
r147658
r147669
r147677
r147887
r147892
r149236
r149247
r149418

Source/WTF:

r147184
r147190
r147234
r147658
r147669
r147677
r147887
r147892
r149236
r149247
r149418

LayoutTests:

r147184
r147190
r147234
r147658
r147669
r147677
r147887
r147892
r149236
r149247
r149418

4:21 PM Changeset in webkit [149648] by akling@apple.com
  • 2 edits in trunk/Source/WebCore

Flaky Test: fast/frames/crash-remove-iframe-during-object-beforeload.html
<http://webkit.org/b/115674>

Reviewed by Alexey Proskuryakov.

Don't cache the Document::renderer() in a local since layout may blow it away.

  • dom/Document.cpp:

(WebCore::Document::implicitClose):

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

More work on LocalStorageDatabaseTracker
https://bugs.webkit.org/show_bug.cgi?id=115680

Reviewed by Andreas Kling.

Source/WebCore:

Export symbols needed by WebKit2.

  • WebCore.exp.in:

Source/WebKit2:

  • UIProcess/Storage/LocalStorageDatabaseTracker.cpp:

(WebKit::LocalStorageDatabaseTracker::databaseFilename):
Call the new databaseFilename that takes a string.

(WebKit::LocalStorageDatabaseTracker::setLocalStorageDirectoryInternal):
Assert that we don't call this more than once. Dispatch a call to import origin identifiers.

(WebKit::LocalStorageDatabaseTracker::trackerDatabasePath):
New helper function that returns the tracker database path.

(WebKit::LocalStorageDatabaseTracker::openTrackerDatabase):
Open the database and create the Origins table if needed.

(WebKit::LocalStorageDatabaseTracker::importOriginIdentifiers):
Open the database and import the origin identifiers from it, then synchronize it with whatever files are on disk.

(WebKit::LocalStorageDatabaseTracker::updateTrackerDatabaseFromLocalStorageDatabaseFiles):
Bring the tracker database up to date from the database files on disk.

  • UIProcess/Storage/LocalStorageDatabaseTracker.h:

(LocalStorageDatabaseTracker):

3:49 PM Changeset in webkit [149646] by ap@apple.com
  • 5 edits in trunk/Source/WebKit2

<rdar://problem/13479806> [Mac] Pass information about open pages to LaunchServices
https://bugs.webkit.org/show_bug.cgi?id=115665

Reviewed by Darin Adler.

  • WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::didCommitLoad): Moved repeated check for frame->isMainFrame() to the top, matching oter similar functions. Call updateActivePages().
  • WebProcess/WebProcess.cpp: (WebKit::WebProcess::networkProcessConnectionClosed): Removed an obsolete FIXME. (WebKit::WebProcess::updateActivePages): Empty implementation for platforms that don't need to do anything here.
  • WebProcess/WebProcess.h: Added updateActivePages().
  • WebProcess/mac/WebProcessMac.mm: (WebKit::WebProcess::updateActivePages): Collect user visible origins of pages in the process and pass them to LS.
3:47 PM Changeset in webkit [149645] by kov@webkit.org
  • 2 edits in trunk/Tools

[jhbuild] bump jhbuild version to take advantage of new improvements
https://bugs.webkit.org/show_bug.cgi?id=115558

Reviewed by Martin Robinson.

One of the important improvements is jhbuild no longer fetches git
repositories if they are already at the expected revision, which should
make the EWS bots more robust to git servers unavailability.

3:33 PM Changeset in webkit [149644] by mrowe@apple.com
  • 2 edits in trunk/Source/WebKit2

<rdar://problem/13775921> Switch off a deprecated API.

Reviewed by Oliver Hunt.

  • Shared/mac/ChildProcessMac.mm:

(WebKit::ChildProcess::setProcessSuppressionEnabled): When disabling process suppression,
begin an activity that doesn't disable idle sleep, sudden termination or automatic termination.
When enabling process suppression, end the activity.

2:43 PM Changeset in webkit [149643] by andersca@apple.com
  • 7 edits in trunk/Source/WebKit2

Move local storage directory handling to LocalStorageDatabaseTracker
https://bugs.webkit.org/show_bug.cgi?id=115676

Reviewed by Andreas Kling.

  • UIProcess/Storage/LocalStorageDatabase.cpp:

(WebKit::LocalStorageDatabase::create):
(WebKit::LocalStorageDatabase::LocalStorageDatabase):

  • UIProcess/Storage/LocalStorageDatabase.h:

(WebCore):
(LocalStorageDatabase):

  • UIProcess/Storage/LocalStorageDatabaseTracker.cpp:

(WebKit::LocalStorageDatabaseTracker::setLocalStorageDirectory):
(WebKit):
(WebKit::LocalStorageDatabaseTracker::databaseFilename):
(WebKit::LocalStorageDatabaseTracker::setLocalStorageDirectoryInternal):

  • UIProcess/Storage/LocalStorageDatabaseTracker.h:

(WebCore):
(LocalStorageDatabaseTracker):

  • UIProcess/Storage/StorageManager.cpp:

(WebKit::StorageManager::StorageArea::StorageArea):
(WebKit::StorageManager::setLocalStorageDirectory):

  • UIProcess/Storage/StorageManager.h:

(StorageManager):

2:20 PM Changeset in webkit [149642] by commit-queue@webkit.org
  • 19 edits in trunk

[GTK] Add webkit_uri_scheme_request_finish_error
https://bugs.webkit.org/show_bug.cgi?id=94316

Patch by Manuel Rego Casasnovas <Manuel Rego Casasnovas> on 2013-05-06
Reviewed by Anders Carlsson.

Source/WebCore:

No behaviour change, covered by existing tests.

  • platform/network/soup/ResourceError.h:

(ResourceError): Rename genericIOError() to genericGError().

  • platform/network/soup/ResourceErrorSoup.cpp:

(WebCore::ResourceError::httpError): Use genercicGError() instead of
genericIOError().
(WebCore::ResourceError::genericGError): Use error domain instead of
always return a G_IO_ERROR.

  • platform/network/soup/ResourceHandleSoup.cpp: Use genericGError()

instead of genericIOError().
(WebCore::redirectSkipCallback):
(WebCore::readCallback):

Source/WebKit2:

This new method will allow to finish WebKitURISchemeRequest with a
GError that will be passed to the WebKitWebView through the
"load-failed" signal.

  • UIProcess/API/gtk/WebKitURISchemeRequest.cpp:

(webkit_uri_scheme_request_finish_error): Implement new method using
WebSoupRequestManagerProxy::didFailURIRequest().

  • UIProcess/API/gtk/WebKitURISchemeRequest.h: Add new method header.
  • UIProcess/API/gtk/WebKitWebContext.cpp: Include the usage of the new

method in the code example at webkit_web_context_register_uri_scheme()
documentation.

  • UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Include the new

method.

  • UIProcess/API/gtk/tests/LoadTrackingTest.cpp:

(loadFailedCallback): Set m_error to monitor it from the tests.
(LoadTrackingTest::loadURI): Clear m_error before each load.
(LoadTrackingTest::loadHtml): Ditto.
(LoadTrackingTest::loadPlainText): Ditto.
(LoadTrackingTest::loadRequest): Ditto.
(LoadTrackingTest::reload): Ditto.
(LoadTrackingTest::goBack): Ditto.
(LoadTrackingTest::goForward): Ditto.

  • UIProcess/API/gtk/tests/LoadTrackingTest.h: Add new member m_error.
  • UIProcess/API/gtk/tests/TestWebKitWebContext.cpp:

(testWebContextURIScheme): Modify test to check the behavior of the new
method.

  • UIProcess/soup/WebSoupRequestManagerProxy.cpp:

(WebKit::WebSoupRequestManagerProxy::didFailURIRequest):
(WebKit): Implement new method using
WebSoupRequestManager::DidFailURIRequest().

  • UIProcess/soup/WebSoupRequestManagerProxy.h:

(WebSoupRequestManagerProxy): Add new method header.

  • WebProcess/soup/WebSoupRequestManager.cpp:

(WebKit):
(WebKit::WebSoupRequestManager::didFailURIRequest): Implement new method
setting the error and completing the request.

  • WebProcess/soup/WebSoupRequestManager.h:

(WebSoupRequestManager): Add new method header.

  • WebProcess/soup/WebSoupRequestManager.messages.in: Add new method

signature.

Tools:

  • MiniBrowser/gtk/main.c:

(miniBrowserErrorQuark): Add function to create a global quark for
MiniBrowser.
(aboutURISchemeRequestCallback): Update MiniBrowser to use the new
function webkit_uri_scheme_request_finish_error().

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

Heap-use-after-free in WebCore::InlineFlowBox::deleteLine
https://bugs.webkit.org/show_bug.cgi?id=114772

Patch by Bem Jones-Bey <Bem Jones-Bey> on 2013-05-06
Reviewed by David Hyatt.

Source/WebCore:

Fix the new use after free issues in Ruby.

Test: fast/ruby/ruby-svg-crash.html

  • rendering/RenderRubyRun.cpp:

(WebCore::RenderRubyRun::removeChild):

LayoutTests:

Test case generated by the fuzzer. Will only crash when run in a
vulnerable configuration with a memory checking lib enabled.

  • fast/ruby/ruby-svg-crash-expected.txt: Added.
  • fast/ruby/ruby-svg-crash.html: Added.
2:16 PM Changeset in webkit [149640] by robert@webkit.org
  • 3 edits
    2 adds in trunk

REGRESSION(r140024): child of fixed div inside of absolute div does not get resized when window is resized
https://bugs.webkit.org/show_bug.cgi?id=115379

Reviewed by David Hyatt.

Source/WebCore:

When detecting whether a fixed pos object needed to move with an absolute ancestor we checked
whether the logical width of the fixed pos object had changed. This check prevented the fixed pos
object from detecting later on that it needed to relayout its children in layoutBlock(). So recompute the width
for our check instead of updating it.

Test: fast/block/positioning/child-of-fixed-pos-after-movement.html

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::markFixedPositionObjectForLayoutIfNeeded):

LayoutTests:

  • fast/block/positioning/child-of-fixed-pos-after-movement-expected.txt: Added.
  • fast/block/positioning/child-of-fixed-pos-after-movement.html: Added.
2:07 PM Changeset in webkit [149639] by andersca@apple.com
  • 4 edits in trunk/Source/WebKit2

Every LocalStorageDatabase should know about its tracker
https://bugs.webkit.org/show_bug.cgi?id=115673

Reviewed by Andreas Kling.

  • UIProcess/Storage/LocalStorageDatabase.cpp:

(WebKit::LocalStorageDatabase::create):
(WebKit::LocalStorageDatabase::LocalStorageDatabase):

  • UIProcess/Storage/LocalStorageDatabase.h:
  • UIProcess/Storage/StorageManager.cpp:

(WebKit::StorageManager::StorageArea::StorageArea):

1:56 PM Changeset in webkit [149638] by commit-queue@webkit.org
  • 10 edits in trunk

[BlackBerry] Enable and Expose Text Autosizing through BlackBerry::WebKit::WebSettings
https://bugs.webkit.org/show_bug.cgi?id=113808

Patch by Mike Lattanzio <mlattanzio@blackberry.com> on 2013-05-06
Reviewed by Rob Buis.

.:

Set the ENABLE_TEXT_AUTOSIZING default to ON for BlackBerry.

  • Source/cmake/OptionsBlackBerry.cmake:

Source/WebCore:

Added TextAutosizer.cpp to the BlackBerry build.

  • PlatformBlackBerry.cmake:

Source/WebKit/blackberry:

Create a WebSetting for text autosizing. The default is off.

  • Api/WebPage.cpp:

(BlackBerry::WebKit::WebPagePrivate::didChangeSettings):

  • Api/WebSettings.cpp:

(WebKit):
(BlackBerry::WebKit::WebSettings::standardSettings):
(BlackBerry::WebKit::WebSettings::isTextAutosizingEnabled):
(BlackBerry::WebKit::WebSettings::setTextAutosizingEnabled):

  • Api/WebSettings.h:

Tools:

Modify FeatureList.pm and set ENABLE_TEXT_AUTOSIZING to default
to true for BlackBerry.

  • Scripts/webkitperl/FeatureList.pm:
1:48 PM Changeset in webkit [149637] by andersca@apple.com
  • 4 edits
    2 adds in trunk/Source/WebKit2

Add LocalStorageDatabaseTracker class
https://bugs.webkit.org/show_bug.cgi?id=115671

Reviewed by Andreas Kling.

Somewhat unsurprisingly, this class will be used for tracking local storage databases.

  • UIProcess/Storage/LocalStorageDatabaseTracker.cpp: Added.

(WebKit::LocalStorageDatabaseTracker::create):
(WebKit::LocalStorageDatabaseTracker::LocalStorageDatabaseTracker):
(WebKit::LocalStorageDatabaseTracker::~LocalStorageDatabaseTracker):

  • UIProcess/Storage/LocalStorageDatabaseTracker.h: Added.

(LocalStorageDatabaseTracker):

  • UIProcess/Storage/StorageManager.cpp:

(WebKit::StorageManager::StorageManager):
Create a local storage database tracker.

  • WebKit2.xcodeproj/project.pbxproj:

Add new files.

1:48 PM Changeset in webkit [149636] by ggaren@apple.com
  • 89 edits in branches/dfgFourthTier

Rolled back in r149527 with crash fixed.

Reviewed by Oliver Hunt.

Source/JavaScriptCore:

Rationalized 'this' value conversion
https://bugs.webkit.org/show_bug.cgi?id=115542

This fixes a bunch of Sputnik tests, and some bad pointer access.

The new model is that the callee always performs 'this' value conversion.

My ultimate goal is to break up resolve_with_this into single-result
opcodes. This step avoids having to add a special form of convert_this
that distinguishes callers vs callees.

Only the callee knows whether it uses 'this' and/or whether 'this'
conversion should use StrictMode, so it's most natural to perform
convert_this in the callee.

  • API/JSCallbackFunction.cpp: (JSC::JSCallbackFunction::call): Perform 'this' value conversion for our callee, since it may observe 'this'.
  • API/JSCallbackObjectFunctions.h: (JSC::::call): Ditto.
  • API/JSContextRef.cpp: (JSGlobalContextCreateInGroup): Use a proxy 'this' object in global scope even when we're not in the browser. This eliminates some odd cases where API clients used to be able to get a direct reference to an environment record. Now, any reference to an environment record unambiguously means that the VM resolved that record in the scope chain.

(JSContextGetGlobalObject): Removed an incorrect comment. Now that JSC
participates in the proxy 'this' object scheme, the behavior is not
WebCore-only.

  • API/JSObjectRef.cpp: (JSObjectSetPrototype): (JSObjectCallAsFunction): Don't perform 'this' value conversion in the caller; the callee will do it if needed.
  • JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreExports.def:
  • JavaScriptCore.vcxproj/JavaScriptCoreExportGenerator/JavaScriptCoreExports.def.in: What are the chances that this will work?
  • bytecode/CodeBlock.cpp: (JSC::CodeBlock::dumpBytecode): (JSC::CodeBlock::CodeBlock): Renamed convert_this to to_this, to match our other conversion opcodes.
  • bytecode/CodeOrigin.h: (CodeOrigin): (InlineCallFrame): (JSC::CodeOrigin::codeOriginOwner): Use the more precise type for our executable, so compilation can discover where we're in strict mode.
  • bytecode/Opcode.h: (JSC::padOpcodeName): Updated for rename.
  • bytecompiler/BytecodeGenerator.cpp: (JSC::BytecodeGenerator::BytecodeGenerator): Always emit to_this when 'this' is in use -- strict mode still needs to convert environment records to 'undefined'.
  • dfg/DFGAbstractState.cpp: (JSC::DFG::AbstractState::executeEffects):
  • dfg/DFGByteCodeParser.cpp: (JSC::DFG::ByteCodeParser::parseBlock):
  • dfg/DFGCapabilities.h: (JSC::DFG::canCompileOpcode): Updated for renames.
  • dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::fixupNode): Tightened up this code to consider strict mode (a new requirement) and to consider the global object (which was always a requirement).
  • dfg/DFGGraph.h: (JSC::DFG::Graph::globalThisObjectFor): (JSC::DFG::Graph::executableFor):
  • dfg/DFGNodeType.h:
  • dfg/DFGOperations.cpp:
  • dfg/DFGOperations.h:
  • dfg/DFGPredictionPropagationPhase.cpp: (JSC::DFG::PredictionPropagationPhase::propagate):
  • dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::compile):
  • dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::compile): Ditto.
  • interpreter/Interpreter.cpp: (JSC::eval): (JSC::Interpreter::execute): (JSC::Interpreter::executeCall):
  • interpreter/Interpreter.h: Don't ASSERT about 'this' -- it's our job to fix it up if needed.
  • jit/JIT.cpp: (JSC::JIT::privateCompileMainPass): (JSC::JIT::privateCompileSlowCases):
  • jit/JIT.h: (JIT):
  • jit/JITOpcodes.cpp: (JSC::JIT::emit_op_to_this): (JSC::JIT::emitSlow_op_to_this):
  • jit/JITOpcodes32_64.cpp: (JSC::JIT::emit_op_to_this): (JSC::JIT::emitSlow_op_to_this):
  • jit/JITStubs.cpp: (JSC::DEFINE_STUB_FUNCTION):
  • jit/JITStubs.h: Removed special-case code for various kinds of conversions. The baseline fast path is now final objects only. It hurt my brain to think through how to keep the other fast paths working, and our benchmarks do not object.
  • llint/LLIntData.cpp: (JSC::LLInt::Data::performAssertions):
  • llint/LLIntSlowPaths.cpp: (JSC::LLInt::LLINT_SLOW_PATH_DECL):
  • llint/LLIntSlowPaths.h: (LLInt):
  • llint/LowLevelInterpreter.asm:
  • llint/LowLevelInterpreter32_64.asm:
  • llint/LowLevelInterpreter64.asm: Updated for renames. Removed some special case code, as in the JIT above.
  • profiler/ProfileGenerator.cpp: (JSC::ProfileGenerator::addParentForConsoleStart):
  • runtime/CallData.cpp: (JSC::call):
  • runtime/ClassInfo.h: (MethodTable):
  • runtime/Completion.cpp: (JSC::evaluate):
  • runtime/DatePrototype.cpp: (JSC::dateProtoFuncToJSON): The callee performs 'this' conversion, not the caller.
  • runtime/GetterSetter.cpp: (JSC::callGetter): (JSC::callSetter):
  • runtime/GetterSetter.h: Added helper functions for invoking getters and setters from C++ code, since this was duplicated in a bunch of places.
  • runtime/JSActivation.cpp: (JSC::JSActivation::toThis):
  • runtime/JSActivation.h: (JSActivation):
  • runtime/JSCJSValue.cpp: (JSC::JSValue::toThisSlowCase): (JSC::JSValue::putToPrimitive):
  • runtime/JSCJSValue.h: (JSValue):
  • runtime/JSCJSValueInlines.h: (JSC::JSValue::toThis):
  • runtime/JSCell.cpp: (JSC::JSCell::toThis):
  • runtime/JSCell.h: (JSCell):
  • runtime/JSGlobalObject.cpp: (JSC::JSGlobalObject::toThis):
  • runtime/JSGlobalObject.h: (JSGlobalObject): Filled out runtime support for converting 'this' values as needed, according to the appropriate strictness, using helper functions where getter/setter code was duplicated.
  • runtime/JSGlobalObjectFunctions.cpp: (JSC::globalFuncProtoGetter): (JSC::globalFuncProtoSetter): Perform 'this' value conversion, since we observe 'this'.
  • runtime/JSNameScope.cpp: (JSC::JSNameScope::toThis):
  • runtime/JSNameScope.h: (JSNameScope): Same as JSActivation.
  • runtime/JSObject.cpp: (JSC::JSObject::put): (JSC::JSObject::setPrototypeWithCycleCheck): Bug fix. Don't peform 'this' value conversion in this helper function. The proto setter does this for us, since it's the function that logically observes 'this' -- and we can ASSERT so. Also, the previous code used "globalExec()->thisValue()", which is a read past the beginning of a buffer! I don't think this ever worked on purpose.

(JSC::JSObject::toThis):
(JSC::JSObject::fillGetterPropertySlot):

  • runtime/JSObject.h: (JSC::JSObject::inlineGetOwnPropertySlot):
  • runtime/JSScope.cpp: (JSC::JSScope::resolveWithThis):
  • runtime/JSString.cpp: (JSC::JSString::toThis):
  • runtime/JSString.h: (JSString):
  • runtime/PropertySlot.cpp: (JSC::PropertySlot::functionGetter):
  • runtime/PropertySlot.h: (JSC): (JSC::PropertySlot::setGetterSlot): (JSC::PropertySlot::setCacheableGetterSlot):
  • runtime/SparseArrayValueMap.cpp: (JSC::SparseArrayEntry::get): (JSC::SparseArrayEntry::put):
  • runtime/StrictEvalActivation.cpp: (JSC::StrictEvalActivation::toThis):
  • runtime/StrictEvalActivation.h: (StrictEvalActivation): Ditto.

Source/WebCore:

Rationalized 'this' value conversion
https://bugs.webkit.org/show_bug.cgi?id=115542

Source/WebKit/mac:

Rationalized 'this' value conversion
https://bugs.webkit.org/show_bug.cgi?id=115542

Source/WebKit2:

Rationalized 'this' value conversion
https://bugs.webkit.org/show_bug.cgi?id=115542

LayoutTests:

Rationalized 'this' value conversion
https://bugs.webkit.org/show_bug.cgi?id=115542

1:32 PM Changeset in webkit [149635] by jberlin@webkit.org
  • 3 edits in trunk/Tools

check-webkit-style should complain about a layering violation if platform-specific guards are
used in WebCore outside of the platform directory
https://bugs.webkit.org/show_bug.cgi?id=115567

Reviewed by Benjamin Poulain.

  • Scripts/webkitpy/style/checkers/cpp.py:

(check_for_webcore_platform_layering_violation):
If the file is in WebCore but not in platform and contains #if PLATFORM(SOMETHING), emit an error.
(process_line):
Add the check_for_webcore_platform_layering_violation.
(CppChecker):
List the new check.

  • Scripts/webkitpy/style/checkers/cpp_unittest.py:

(CppStyleTest.test_webcore_platform_layering_violation):
Add tests.

1:28 PM Changeset in webkit [149634] by commit-queue@webkit.org
  • 3 edits in trunk/Source/JavaScriptCore

Misc bugfix and cleaning in sh4 base JIT.
https://bugs.webkit.org/show_bug.cgi?id=115627

Patch by Julien Brianceau <jbrianceau@nds.com> on 2013-05-06
Reviewed by Oliver Hunt.

Get rid of loadX(RegisterID r0, RegisterID src, RegisterID dest) functions.
Remove misplaced extuw() implementation from MacroAssemblerSH4.
Add movbRegMemr0 and movwRegMemr0 functions in SH4Assembler.

  • assembler/MacroAssemblerSH4.h:

(JSC::MacroAssemblerSH4::add32): Skip operation when first operand is a zero immediate.
(JSC::MacroAssemblerSH4::sub32): Skip operation when first operand is a zero immediate.
(JSC::MacroAssemblerSH4::load32): Fix wrong usage of r0 register.
(JSC::MacroAssemblerSH4::load8Signed): Handle "base == r0" case.
(MacroAssemblerSH4):
(JSC::MacroAssemblerSH4::load16): Handle "base == r0" case.
(JSC::MacroAssemblerSH4::load16Unaligned): Use extuw() implementation from SH4Assembler.
(JSC::MacroAssemblerSH4::load16Signed): Cosmetic change.
(JSC::MacroAssemblerSH4::store8): Fix unhandled BaseIndex offset and handle (base == r0) case.
(JSC::MacroAssemblerSH4::store16): Fix unhandled BaseIndex offset and handle (base == r0) case.
(JSC::MacroAssemblerSH4::store32):

  • assembler/SH4Assembler.h:

(JSC::SH4Assembler::movwRegMemr0):
(SH4Assembler):
(JSC::SH4Assembler::movbRegMemr0):
(JSC::SH4Assembler::placeConstantPoolBarrier): Cosmetic change.
(JSC::SH4Assembler::maxJumpReplacementSize):
(JSC::SH4Assembler::replaceWithJump): Correct branch range and save an opcode.
(JSC::SH4Assembler::printInstr):

1:17 PM Changeset in webkit [149633] by andersca@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Stop using WTF::deleteAllValues in JavaScriptCore
https://bugs.webkit.org/show_bug.cgi?id=115670

Reviewed by Oliver Hunt.

Change the Vectors used to Vectors of OwnPtrs instead.

  • heap/DFGCodeBlocks.cpp:

(JSC::DFGCodeBlocks::~DFGCodeBlocks):
(JSC::DFGCodeBlocks::deleteUnmarkedJettisonedCodeBlocks):

1:15 PM Changeset in webkit [149632] by Darin Adler
  • 3 edits in trunk/Source/WebCore

Use OwnPtr instead of deleteAllValues in SVGAttributeToPropertyMap
https://bugs.webkit.org/show_bug.cgi?id=115653

Reviewed by Andreas Kling.

Also made a few style fixes to the code at the same time.

  • svg/properties/SVGAttributeToPropertyMap.cpp:

(WebCore::SVGAttributeToPropertyMap::addProperties): Changed argument to
const because there was no reason for it to be non-const. Added calls to
get() since the items in the map are now OwnPtr. Added a couple FIXMEs
about performance mistakes.
(WebCore::SVGAttributeToPropertyMap::addProperty): Added a FIXME about
a small performance mistake, and updated to use OwnPtr instead of raw
pointers.
(WebCore::SVGAttributeToPropertyMap::synchronizeProperties): Added a call
to get().

  • svg/properties/SVGAttributeToPropertyMap.h: Removed now-unneeded

constructor and destructor definitions. Changed the type for the
addProperties to be const&. Added a comment about incorrect function
naming. Changed the type of the map data member to use OwnPtr.

1:13 PM Changeset in webkit [149631] by andersca@apple.com
  • 4 edits in trunk/Source/WebKit2

Handle closing the local storage database
https://bugs.webkit.org/show_bug.cgi?id=115669

Reviewed by Beth Dakin.

  • UIProcess/Storage/LocalStorageDatabase.cpp:

(WebKit::LocalStorageDatabase::LocalStorageDatabase):
Initialize m_isClosed.

(WebKit::LocalStorageDatabase::~LocalStorageDatabase):
Assert that m_isClosed is false.

(WebKit::LocalStorageDatabase::close):
Set m_isClosed to true and write any pending changes to disk.

(WebKit::LocalStorageDatabase::updateDatabase):
Compute the changed items and pass them to updateDatabaseWithChangedItems.

(WebKit::LocalStorageDatabase::updateDatabaseWithChangedItems):
Split out the code that actually writes to the database from updateDatabase and into this function.

  • UIProcess/Storage/LocalStorageDatabase.h:
  • UIProcess/Storage/StorageManager.cpp:

(WebKit::StorageManager::StorageArea::~StorageArea):
Call close().

12:49 PM Changeset in webkit [149630] by ddkilzer@apple.com
  • 3 edits in trunk/Tools

webkit-patch: fix 'upload' command with Bugzilla 4.2.5
<http://webkit.org/b/115667>

Reviewed by Dirk Pranke.

  • Scripts/webkitpy/common/net/bugzilla/bugzilla.py:

(Bugzilla._check_create_bug_response): Update regex to work with
Bugzilla 3.2.3 and 4.2.5.

  • Scripts/webkitpy/common/net/bugzilla/bugzilla_unittest.py:

(testcheck_create_bug_response): Add new test that covers both
old and new <title> variations.

12:38 PM Changeset in webkit [149629] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Ensure document is attached before accessing its FrameSelection
https://bugs.webkit.org/show_bug.cgi?id=115565

Patch by Nima Ghanavatian <nghanavatian@blackberry.com> on 2013-05-06
Reviewed by Rob Buis.

Internally reviewed by Mike Fenton.

PR 312101
We need to make sure that the node and document
are attached before accessing the FrameSelection. This was
handled earlier but not all call paths were covered.

  • WebKitSupport/InputHandler.cpp:

(BlackBerry::WebKit::InputHandler::setElementUnfocused):
(BlackBerry::WebKit::InputHandler::isActiveTextEdit):
(WebKit):

  • WebKitSupport/InputHandler.h:
12:37 PM Changeset in webkit [149628] by Antti Koivisto
  • 12 edits in trunk/Source

Remove more code that was only needed for younger/older shadow trees
https://bugs.webkit.org/show_bug.cgi?id=115662

Reviewed by Andreas Kling.

This is dead code.

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

(WebCore::nodeCanBeDistributed):
(WebCore::ComposedShadowTreeWalker::traverseParentBackToShadowRootOrHost):

  • dom/EventPathWalker.cpp:

(WebCore::EventPathWalker::moveToParent):

  • html/shadow/ContentDistributor.cpp:

(WebCore::ScopeContentDistribution::ScopeContentDistribution):
(WebCore::ScopeContentDistribution::registerInsertionPoint):
(WebCore::ScopeContentDistribution::unregisterInsertionPoint):
(WebCore):
(WebCore::ScopeContentDistribution::hasInsertionPoint):
(WebCore::ContentDistributor::invalidate):

  • html/shadow/ContentDistributor.h:

(ScopeContentDistribution):

  • html/shadow/InsertionPoint.cpp:

(WebCore::InsertionPoint::contains):
(WebCore::resolveReprojection):
(WebCore::collectInsertionPointsWhereNodeIsDistributed):

  • html/shadow/InsertionPoint.h:
  • testing/Internals.cpp:

(WebCore):

  • testing/Internals.h:

(Internals):

  • testing/Internals.idl:
12:36 PM Changeset in webkit [149627] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Do not spellcheck when composition is active.
https://bugs.webkit.org/show_bug.cgi?id=115562

Patch by Nima Ghanavatian <nghanavatian@blackberry.com> on 2013-05-06
Reviewed by Rob Buis.

Internally reviewed by Mike Fenton.

PR331344
Typing can trigger rechecking since layout changes. Ensure
extra work is only done when we need it, and that it won't
be triggered when composition is active. If the user hasn't
finished a word yet, it is likely future key events will be
arriving, so checking the string at this point is extraneous.

  • WebKitSupport/InputHandler.cpp:

(BlackBerry::WebKit::InputHandler::requestCheckingOfString):

12:31 PM Changeset in webkit [149626] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Reduce the spellcheck checking range
https://bugs.webkit.org/show_bug.cgi?id=115479

Patch by Nima Ghanavatian <nghanavatian@blackberry.com> on 2013-05-06
Reviewed by Rob Buis.

Internally reviewed by Mike Fenton.

PR332773
Previously we were spellchecking the entire field on focus. If relayouting
occurred we rechecked this region, which is very costly. Switch to check
only a small region around the caret in both cases, which should alleviate
much of the delays experienced in very large contenteditable fields. This
allows for faster key input response and less time processing these requests
on the WebKit thread.

  • WebKitSupport/InputHandler.cpp:

(BlackBerry::WebKit::InputHandler::requestCheckingOfString):
(BlackBerry::WebKit::InputHandler::spellCheckTextBlock):

  • WebKitSupport/SpellingHandler.cpp:

(WebKit):
(BlackBerry::WebKit::SpellingHandler::spellCheckTextBlock):

  • WebKitSupport/SpellingHandler.h:

(SpellingHandler):

12:29 PM Changeset in webkit [149625] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Use a more descriptive timer name
https://bugs.webkit.org/show_bug.cgi?id=115481

Patch by Nima Ghanavatian <nghanavatian@blackberry.com> on 2013-05-06
Reviewed by Rob Buis.

Internally reviewed by Mike Fenton.

Changing m_timer to m_iterationDelayTimer.

  • WebKitSupport/SpellingHandler.cpp:

(BlackBerry::WebKit::SpellingHandler::SpellingHandler):
(BlackBerry::WebKit::SpellingHandler::spellCheckTextBlock):
(BlackBerry::WebKit::SpellingHandler::parseBlockForSpellChecking):

  • WebKitSupport/SpellingHandler.h:

(SpellingHandler):

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

[BlackBerry] Update HTML5 progress bar UX.
https://bugs.webkit.org/show_bug.cgi?id=115284.

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

BlackBerry PR 331729.
Internally Reviewed by Jeff Rogers.

Use GL render to paint progress bar to meet UX specs.
Also change the slider range to GL render.

  • platform/blackberry/RenderThemeBlackBerry.cpp:

(WebCore):
(WebCore::RenderThemeBlackBerry::paintSliderTrack):
(WebCore::RenderThemeBlackBerry::paintProgressTrackRect):
(WebCore::drawProgressTexture):
(WebCore::RenderThemeBlackBerry::paintProgressBar):

  • platform/blackberry/RenderThemeBlackBerry.h:

(RenderThemeBlackBerry):

12:11 PM Changeset in webkit [149623] by commit-queue@webkit.org
  • 12 edits
    5 deletes in trunk

[CSS Exclusions] remove unused -webkit-wrap property
https://bugs.webkit.org/show_bug.cgi?id=102105

Patch by Bem Jones-Bey <Bem Jones-Bey> on 2013-05-06
Reviewed by Darin Adler.

Source/WebCore:

Remove -webkit-wrap property and all mentions. This property doesn't
exist in the spec anymore, and was never implemented more than just
parsing the property.

  • WebCore.order:
  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseValue):

  • css/CSSProperty.cpp:

(WebCore::CSSProperty::isInheritedProperty):

  • css/CSSPropertyNames.in:
  • css/StylePropertySet.cpp:

(WebCore::StylePropertySet::getPropertyValue):
(WebCore::StylePropertySet::asText):

  • css/StylePropertyShorthand.cpp:

(WebCore::shorthandForProperty):

  • css/StylePropertyShorthand.h:

(WebCore):

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::applyProperty):

LayoutTests:

Delete tests for the -webkit-wrap property.

  • fast/exclusions/css-exclusions-disabled.html: Remove use of -webkit-wrap.
  • fast/exclusions/script-tests/wrap-parsing.js: Removed.
  • fast/exclusions/wrap-parsing-expected.txt: Removed.
  • fast/exclusions/wrap-parsing.html: Removed.
  • svg/css/style-change-crash-expected.txt: Removed.
  • svg/css/style-change-crash.html: Removed.
11:49 AM Changeset in webkit [149622] by abecsi@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

Build with GCC 4.8 fails because of -Wmaybe-uninitialized
https://bugs.webkit.org/show_bug.cgi?id=115648

Reviewed by Michael Saboff.

Initialize values in Options::setOption since from
there we end up calling OptionRange::init with
uninitialized members.

  • runtime/Options.cpp:
11:46 AM Changeset in webkit [149621] by roger_fong@apple.com
  • 2 edits in trunk/Source/WebKit

Unreviewed. AppleWin VS2010 build fix.

  • WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:
11:44 AM Changeset in webkit [149620] by zandobersek@gmail.com
  • 6 edits in trunk/Source/WebKit2

[WK2] Make the WebNetworkInfoManagerProxy a supplement to the WebContext
https://bugs.webkit.org/show_bug.cgi?id=115654

Reviewed by Andreas Kling.

Rather than holding a RefPtr to the WebNetworkInfoManagerProxy object in WebContext, change the WebNetworkInfoManagerProxy
to implement the WebContextSupplement interface and handle the object as such in WebContext, simplifying its
construction and cleanup, removing the specific RefPtr member variable and its correlating getter method.

  • UIProcess/API/C/WKContext.cpp:

(WKContextGetNetworkInfoManager): Retrieve the WebNetworkInfoManagerProxy object from the suppplements of the WebContext.

  • UIProcess/WebContext.cpp:

(WebKit::WebContext::WebContext): Add the WebNetworkInfoManagerProxy object as a supplement instead of assigning it to
the now-removed member variable.
(WebKit::WebContext::~WebContext): No need for the specific cleanup, the equivalent is achieved when iterating through the
supplements vector.
(WebKit::WebContext::disconnectProcess): Ditto.

  • UIProcess/WebContext.h:

(WebContext): Remove the WebNetworkInfoManagerProxy RefPtr member variable and its getter method.

  • UIProcess/WebNetworkInfoManagerProxy.cpp:

(WebKit::WebNetworkInfoManagerProxy::supplementName): Specift the supplement's name.
(WebKit::WebNetworkInfoManagerProxy::WebNetworkInfoManagerProxy): Initialize as a WebContextSupplement.
(WebKit::WebNetworkInfoManagerProxy::providerDidChangeNetworkInformation): Adjust to use the context() method instead of
accessing the private m_context directly.
(WebKit::WebNetworkInfoManagerProxy::contextDestroyed): Stop updating when invoked.
(WebKit::WebNetworkInfoManagerProxy::processDidClose): Ditto.
(WebKit::WebNetworkInfoManagerProxy::refWebContextSupplement): Call APIObject::ref.
(WebKit::WebNetworkInfoManagerProxy::derefWebContextSupplement): Call APIObject::deref.

  • UIProcess/WebNetworkInfoManagerProxy.h:

(WebNetworkInfoManagerProxy): Inherit from WebContextSupplement, declare the newly-inherited methods.

11:40 AM Changeset in webkit [149619] by ap@apple.com
  • 3 edits in trunk/Source/WebKit2

<rdar://problem/13479806> [Mac] Pass plug-in bundle ID to LaunchServices
https://bugs.webkit.org/show_bug.cgi?id=115483

Reviewed by Darin Adler.

  • PluginProcess/PluginProcess.h: Added m_pluginBundleIdentifier. We now need it in multiple places, so it's easier to pre-compute it.
  • PluginProcess/mac/PluginProcessMac.mm: (WebKit::loadSandboxProfileForDirectory): Changed to use precomputed bundle ID. (WebKit::loadSandboxProfile): Ditto. (WebKit::PluginProcess::platformInitializeProcess): Pre-compute bundle ID. (WebKit::PluginProcess::initializeProcessName): Pass it to LaunchServices. (WebKit::PluginProcess::initializeSandbox): Pass precomputed bundle ID instead of a path.
11:38 AM Changeset in webkit [149618] by andersca@apple.com
  • 4 edits in trunk/Source/WebKit2

Handle removeItem and clear in LocalStorageDatabase
https://bugs.webkit.org/show_bug.cgi?id=115664

Reviewed by Darin Adler.

  • UIProcess/Storage/LocalStorageDatabase.cpp:

(WebKit::LocalStorageDatabase::removeItem):
Call itemDidChange with a null value, indicating that we want to remove this item.

(WebKit::LocalStorageDatabase::clear):
Clear items, set m_shouldClearItems and schedule a database update.

(WebKit::LocalStorageDatabase::updateDatabase):
If m_shouldClearItems is true, clear all items.

  • UIProcess/Storage/StorageManager.cpp:

(WebKit::StorageManager::StorageArea::removeItem):
Call through to the local storage database.

(WebKit::StorageManager::StorageArea::clear):
Ditto.

11:13 AM Changeset in webkit [149617] by zandobersek@gmail.com
  • 3 edits in trunk/Tools

[Flakiness Dashboard] Stop decoding SnowLeopard builder names into platforms
https://bugs.webkit.org/show_bug.cgi?id=115661

Reviewed by Ryosuke Niwa.

The Apple Mac Snow Leopard builders are no long present so there's no need to try to decode such
builders into the APPLE_MAC_SNOW_LEOPARD platforms. Instead, check for the Mountain Lion builders
and decode their names into the APPLE_MAC_MOUNTAIN_LION platforms.

  • TestResultServer/static-dashboards/flakiness_dashboard.js:
  • TestResultServer/static-dashboards/flakiness_dashboard_unittests.js:
11:12 AM Changeset in webkit [149616] by Christophe Dumez
  • 1 edit
    1 add in trunk/LayoutTests

Unreviewed EFL gardening.

Add EFL-specific result for fast/events/event-attribute.html as global expectation
was changed in r149088.

  • platform/efl/fast/events/event-attribute-expected.txt: Added.
11:10 AM Changeset in webkit [149615] by andersca@apple.com
  • 6 edits in trunk/Source

Write storage changes to disk
https://bugs.webkit.org/show_bug.cgi?id=115660

Reviewed by Andreas Kling.

Source/WebCore:

Export symbols needed by WebKit2.

  • WebCore.exp.in:

Source/WebKit2:

  • UIProcess/Storage/LocalStorageDatabase.cpp:

(WebKit::LocalStorageDatabase::LocalStorageDatabase):
Initialize new member variables.

(WebKit::LocalStorageDatabase::tryToOpenDatabase):
Disable database threading checks.

(WebKit::LocalStorageDatabase::importItems):
Only import the items once.

(WebKit::LocalStorageDatabase::setItem):
Call itemDidChange.

(WebKit::LocalStorageDatabase::itemDidChange):
Record the change and schedule a database update.

(WebKit::LocalStorageDatabase::scheduleDatabaseUpdate):
Use WorkQueue::dispatchAfterDelay to schedule a datbase update.

(WebKit::LocalStorageDatabase::updateDatabase):
Write changes to disk. If there are more than 100 pending items, only write the first 100 and then schedule
another database update for the remaining items.

  • UIProcess/Storage/LocalStorageDatabase.h:

Add new member variables.

  • UIProcess/Storage/StorageManager.cpp:

(WebKit::StorageManager::StorageArea::setItem):
Call LocalStorageDatabase::setItem.

11:05 AM Changeset in webkit [149614] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

[BlackBerry] Update HTML5 progress bar UX.
https://bugs.webkit.org/show_bug.cgi?id=115284.

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

BlackBerry PR 331729.
Internally Reviewed by Jeff Rogers.

  • platform/blackberry/RenderThemeBlackBerry.cpp:

(WebCore):
(WebCore::createLinearGradient):
(WebCore::RenderThemeBlackBerry::paintSliderTrack):
(WebCore::RenderThemeBlackBerry::paintSliderTrackRect):
(WebCore::RenderThemeBlackBerry::paintProgressBar):

  • platform/blackberry/RenderThemeBlackBerry.h:

(RenderThemeBlackBerry):

11:03 AM Changeset in webkit [149613] by Christophe Dumez
  • 3 edits
    3 adds in trunk/LayoutTests

Unreviewed EFL gardening.

Rebaseline several test cases for EFL port.

  • platform/efl/editing/input/scroll-to-edge-if-line-break-at-end-of-document-contenteditable-expected.txt: Added.
  • platform/efl/editing/selection/extend-inside-transforms-backward-expected.png: Added.
  • platform/efl/editing/selection/extend-inside-transforms-backward-expected.txt: Added.
  • platform/efl/fast/block/margin-collapse/block-inside-inline/025-expected.png:
  • platform/efl/fast/block/margin-collapse/block-inside-inline/025-expected.txt:
10:56 AM Changeset in webkit [149612] by Christophe Dumez
  • 2 edits in trunk/LayoutTests

Unreviewed EFL gardening.

Mark several test cases as failing after r149292 due to missing repaint rect
dumping.

  • platform/efl/TestExpectations:
10:55 AM Changeset in webkit [149611] by zandobersek@gmail.com
  • 4 edits in trunk/Tools

[Flakiness Dashboard] Remove everything Chromium from the builders.json-generating script
https://bugs.webkit.org/show_bug.cgi?id=114603

Reviewed by Ryosuke Niwa.

  • TestResultServer/generate_builders_json.py:

(insert_builder_and_test_data): Only process the 'layout-tests' steps, but force the name that's used
to represent these to be 'layout-test', for backwards compatibility.
(main): Remove all the build.chromium.org masters.

  • TestResultServer/generate_builders_json_unittest.py: Clean up the Chromium-related test cases and update other ones.

(GenerateBuildersJsonTest.test_generate_json_data.dummy_fetch_json):
(GenerateBuildersJsonTest):
(GenerateBuildersJsonTest.test_generate_json_data):

  • TestResultServer/static-dashboards/builders.jsonp: Updated after changes to the script, now only lists the

test-running builders from the webkit.org master.

10:49 AM Changeset in webkit [149610] by zandobersek@gmail.com
  • 3 edits in trunk/Tools

[Flakiness Dashboard] Update expected outcome in a couple of unit tests after r148778
https://bugs.webkit.org/show_bug.cgi?id=114988

Reviewed by Ryosuke Niwa.

  • TestResultServer/static-dashboards/flakiness_dashboard_unittests.js: Update the expected platforms list, the Chromium

and Apple Mac Snow Leopard platforms were removed with the Apple Mac Mountain Lion platform being added.

  • TestResultServer/static-dashboards/loader_unittests.js: Update the list of the expected loaded expectations platforms,

mac-snowleopard isn't loaded anymore due to the support for the platform being removed, while the mac-wk2 is loaded twice,
once for the Apple Mac Lion and once for the Apple Mac Mountain Lion platform.

10:49 AM Changeset in webkit [149609] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WTF

Cherry-pick fixes to bignum from upstream
https://bugs.webkit.org/show_bug.cgi?id=115658

Patch by Cosmin Truta <ctruta@blackberry.com> on 2013-05-06
Reviewed by Darin Adler.

Cherry-picked the following change lists:

Fix bug in bignum implementation
http://codereview.chromium.org/13454019

Make VS2005 project files compile without errors
http://codereview.chromium.org/6286135

  • wtf/dtoa/bignum.cc:
10:48 AM Changeset in webkit [149608] by Christophe Dumez
  • 17 edits in trunk/LayoutTests

Unreviewed EFL gardening.

Skip repaint test that regressed after r149292.

  • platform/efl/TestExpectations:
10:46 AM Changeset in webkit [149607] by Christophe Dumez
  • 2 edits in trunk/LayoutTests

Unreviewed EFL gardening.

Skip repaint test that regressed after r149292.

  • platform/efl/TestExpectations:
10:44 AM Changeset in webkit [149606] by Christophe Dumez
  • 17 edits in trunk/LayoutTests

Unreviewed EFL gardening.

Rebaseline several repaint test cases after r149292.

  • fast/css-grid-layout/grid-element-change-columns-repaint-expected.txt:
  • fast/css-grid-layout/grid-element-change-rows-repaint-expected.txt:
  • fast/css-grid-layout/grid-item-change-column-repaint-expected.txt:
  • fast/css-grid-layout/grid-item-change-row-repaint-expected.txt:
  • fast/repaint/layer-full-repaint-expected.txt:
  • fast/repaint/overflow-flipped-writing-mode-table-expected.txt:
  • fast/repaint/reflection-table-layout-expected.txt:
  • fast/repaint/selection-gap-absolute-child-expected.txt:
  • fast/repaint/selection-gap-fixed-child-expected.txt:
  • fast/repaint/selection-gap-flipped-absolute-child-expected.txt:
  • fast/repaint/selection-gap-flipped-fixed-child-expected.txt:
  • fast/repaint/selection-gap-transformed-absolute-child-expected.txt:
  • fast/repaint/selection-gap-transformed-fixed-child-expected.txt:
  • fast/repaint/transform-table-layout-expected.txt:
  • platform/efl/fast/images/repaint-subrect-grid-expected.txt:
  • svg/repaint/repaint-webkit-svg-shadow-container-expected.txt:
10:44 AM Changeset in webkit [149605] by zandobersek@gmail.com
  • 3 edits in trunk/Tools

[Flakiness Dashboard] Remove the remaining traces of platform modifier unions
https://bugs.webkit.org/show_bug.cgi?id=114954

Reviewed by Ryosuke Niwa.

  • TestResultServer/static-dashboards/flakiness_dashboard.js:

(processExpectationsForPlatform): Remove the platform tree traversal that checked for presence of the platform
modifier unions in the list of modifiers.
(generatePageForExpectationsUpdate): Only filter through the modifiers that do not represent build types or bug references.

  • TestResultServer/static-dashboards/flakiness_dashboard_unittests.js: Adjust the test cases for the realModifiers unit test.
10:32 AM Changeset in webkit [149604] by zandobersek@gmail.com
  • 3 edits in trunk/Tools

[Flakiness Dashboard] Simplify builder-name-based platform recognition
https://bugs.webkit.org/show_bug.cgi?id=114957

Reviewed by Ryosuke Niwa.

  • TestResultServer/static-dashboards/flakiness_dashboard.js:

(determineBuilderPlatform): Renamed from nonChromiumPlatform.
(chromiumPlatform): Removed, unnecessary.
(platformAndBuildType): With Chromium builders are gone, meaning determineBuilderPlatform can be called by default
to determine the platform of the builder. No need to check for 'DBG' substring in the builder name to determine whether
the builder operates with debug builds, no webkit.org builders are named this way.

  • TestResultServer/static-dashboards/flakiness_dashboard_unittests.js:

(platformAndBuildTypes): Remove Chromium-specific test cases, reducing the number of expected assertions this test will make.

10:15 AM Changeset in webkit [149603] by Christophe Dumez
  • 2 edits in trunk/LayoutTests

Unreviewed EFL gardening.

Skip remaining Shadow DOM test and new accessibility test introduced in
r115659.

  • platform/efl/TestExpectations:
9:41 AM Changeset in webkit [149602] by mikhail.pozdnyakov@intel.com
  • 3 edits in trunk/Source/WTF

Change HashTraits<RefPtr<P> >::PassOutType to PassRefPtr for better performance
https://bugs.webkit.org/show_bug.cgi?id=115410

Reviewed by Darin Adler.

The type HashTraits<RefPtr<P> >::PassOutType is PassRefPtr now to
avoid extra ref/unrefing on return from HashMap methods that transfer
ownership, such as take.

  • wtf/HashTable.h:

(WTF::IdentityHashTranslator::equal):

  • wtf/HashTraits.h:
9:37 AM Changeset in webkit [149601] by rgabor@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

JSC ARM traditional failing on Octane NavierStokes test
https://bugs.webkit.org/show_bug.cgi?id=115626

Reviewed by Zoltan Herczeg.

Change the ARM traditional assembler to use double precision on value
conversions.

  • assembler/ARMAssembler.h:
9:17 AM Changeset in webkit [149600] by zandobersek@gmail.com
  • 6 edits in trunk/Source/WebKit2

[WK2] Make the WebBatteryManagerProxy a supplement to the WebContext
https://bugs.webkit.org/show_bug.cgi?id=115625

Reviewed by Andreas Kling.

Rather than holding a RefPtr to the WebBatteryManagerProxy object in WebContext, change the WebBatteryManagerProxy
to implement the WebContextSupplement interface and handle the object as such in WebContext, simplifying its
construction and cleanup, removing the specific RefPtr member variable and its correlating getter method.

  • UIProcess/API/C/WKContext.cpp:

(WKContextGetBatteryManager): Retrieve the WebBatteryManagerProxy object from the supplements of the WebContext.

  • UIProcess/WebBatteryManagerProxy.cpp:

(WebKit::WebBatteryManagerProxy::supplementName): Specify the supplement's name.
(WebKit::WebBatteryManagerProxy::WebBatteryManagerProxy): Initialize as a WebContextSupplementable.
(WebKit::WebBatteryManagerProxy::providerDidChangeBatteryStatus): Adjust to use the context() method instead of accessing
the private m_context directly.
(WebKit::WebBatteryManagerProxy::providerUpdateBatteryStatus): Ditto.
(WebKit::WebBatteryManagerProxy::contextDestroyed): Stop updating when invoked.
(WebKit::WebBatteryManagerProxy::processDidClose): Ditto.
(WebKit::WebBatteryManagerProxy::refWebContextSupplement): Call APIObject::ref.
(WebKit::WebBatteryManagerProxy::derefWebContextSupplement): Call APIObject::deref.
(WebKit::WebBatteryManagerProxy::startUpdating): Fire up the provider if not yet updating.
(WebKit::WebBatteryManagerProxy::stopUpdating): Wind down the provider if updating.

  • UIProcess/WebBatteryManagerProxy.h:

(WebBatteryManagerProxy): Inherit from WebContextSupplement, declare the newly-inherited methods.

  • UIProcess/WebContext.cpp:

(WebKit::WebContext::WebContext): Add the WebBatteryManagerProxy object as a supplement instead of assigning it to
the now-removed member variable.
(WebKit::WebContext::~WebContext): No need for the specific cleanup, the equivalent is achieved when iterating through the
supplements vector.
(WebKit::WebContext::disconnectProcess): Ditto.

  • UIProcess/WebContext.h:

(WebContext): Remove the WebBatteryManagerProxy RefPtr member variable and its getter method.

8:43 AM Changeset in webkit [149599] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebCore

[texmap] draw content if graphics layer displays a video
https://bugs.webkit.org/show_bug.cgi?id=114742

Patch by Víctor Manuel Jáquez Leal <vjaquez@igalia.com> on 2013-05-06
Reviewed by Noam Rosenthal.

Bug #86410 focuses on having composited/accelerated video using the
TextureMapper. But the video is not rendered fast by using the
repaint() method. In the case of the TextureMapper it is required to
call a content display as fast as possible.

This patch adds the class TextureMapperPlatformLayer::Client with the
method setLayerNeedsDisplay(). The GraphicsLayerTextureMapper
implements this new class and the new method calls
setContentsNeedsDisplay(), causing a faster content display when
requested.

No new tests. Covered by existing tests.

  • platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:

(WebCore::GraphicsLayerTextureMapper::setContentsToMedia): sets itself
as the TextureMapperPlatformLayer's client

  • platform/graphics/texmap/GraphicsLayerTextureMapper.h:

(WebCore::GraphicsLayerTextureMapper::setLayerNeedsDisplay):
TextureMapperPlatformLayer::Client::setLayerNeedsDisplay implementation
(GraphicsLayerTextureMapper):

  • platform/graphics/texmap/TextureMapperPlatformLayer.h:

(Client): New class
(WebCore::TextureMapperPlatformLayer::TextureMapperPlatformLayer):
(WebCore::TextureMapperPlatformLayer::setClient): client setter
(WebCore::TextureMapperPlatformLayer::setLayerNeedsDisplay): facade
for client's method

8:28 AM Changeset in webkit [149598] by hmuller@adobe.com
  • 7 edits in trunk/LayoutTests

[CSS Exclusions] shape-inside rounded rectangle tests fail when subpixel layout is disabled
https://bugs.webkit.org/show_bug.cgi?id=115490

Second round of changes to restore platform/mac exclusion tests that started failing when
subpixel layout was turned off. This set of changes just restores four ref-tests that place
a single square Ahem character cell within a circle or an ellipse. When subpixel layout isn't
enabled the expected origin of the character is adjusted.

Reviewed by Dirk Schulze.

  • fast/exclusions/shape-inside/shape-inside-circle-expected.html:
  • fast/exclusions/shape-inside/shape-inside-circle-padding-expected.html:
  • fast/exclusions/shape-inside/shape-inside-ellipse-expected.html:
  • fast/exclusions/shape-inside/shape-inside-ellipse-padding-expected.html:
  • fast/exclusions/shape-inside/shape-inside-ellipse.html:
  • platform/mac/TestExpectations:
8:23 AM Changeset in webkit [149597] by hyatt@apple.com
  • 3 edits in trunk/Source/WebCore

Improve the performance of RenderDeprecatedFlexibleBox.
https://bugs.webkit.org/show_bug.cgi?id=115543.

Optimize deprecated flexible box layout to be much faster. This patch implements
the following optimizations in the deprecated flexible box:

(1) Defer repainting of children until they have been placed into their final
positions. This is done by collecting all of the old frame rects into a Vector
and then doing a walk after layout is finished to repaint any of the children if
they moved from that position. This code matches the new RenderFlexibleBox's system
for repainting moved children.

(2) Implement support for layout deltas. We keep a Vector of layout deltas for each
child as we shift them around, and every time we lay a child out again, we apply that
child's current layout delta to avoid repainting at the new position. RenderFlexibleBox
does not have support for layout deltas yet, so we'll need to implement this in the
new flexbox code as well.

(3) Optimize flexible objects to avoid laying them out unflexed. When laying out
horizontal and vertical boxes now, we lay out the inflexible items first. We then
check to see if the inflexible extent of all those children has changed.

If this extent didn't change, and the flexible items either don't need layout or there
is only one flexing item, then we avoid laying out the item in an unflexed state
and simply lay out one time with the flex applied instead. The new RenderFlexibleBox
does not have these optimizations and would benefit from them in the block-direction box
case (it uses preferred logical widths in the inline-direction box case, and so avoided
layouts in that direction already).

Reviewed by Beth Dakin.

  • rendering/RenderDeprecatedFlexibleBox.cpp:

(WebCore::appendChildFrameRects):
Cache all of the old child frame rects so that we can compare them with the final
positions for repaintDuringLayoutIfMoved. This collection is identical to what the
new flexbox code does.

(WebCore::appendChildLayoutDeltas):
Build up a vector that tracks layout deltas. We apply these layout deltas every
time we lay out a child so that any repainting done during layout ignores our shifted
position and just keeps using the old position. The new flexbox does not have this
code yet.

(WebCore::repaintChildrenDuringLayoutIfMoved):
After final placement of children, we do a single pass over all of the children and
repaint them if they shifted their positions. This matches how the new flexbox works.

(WebCore::RenderDeprecatedFlexibleBox::layoutBlock):
Collect the frame rects and layout deltas, and defer repainting of children to the
end of layout.

(WebCore::gatherFlexChildrenInfo):
Don't clear flex overrides when gathering flex information. Add additional information
such as the number of flexing items so that we can use it to optimize flex layout.

(WebCore::layoutChildIfNeededApplyingDelta):
A helper for applying your current layout delta for a child when laying that child out.

(WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox):
(WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox):
Both methods are patched to aggregate layout deltas as children move around during
the multiple passes. In addition we now optimize layout in a couple of cases, such
as when the inflexible space stays the same (thus giving a flexible object the
same amount of available space, avoiding a need to lay out unflexed first).

(WebCore::RenderDeprecatedFlexibleBox::placeChild):
Patched to add to our cached layout delta for that child when we do a movement.

  • rendering/RenderDeprecatedFlexibleBox.h:

Changes to method signatures.

6:54 AM Changeset in webkit [149596] by Christophe Dumez
  • 2 edits in trunk

[EFL] Shadow DOM should be disabled at compile time
https://bugs.webkit.org/show_bug.cgi?id=115635

Reviewed by Andreas Kling.

Disable Shadow DOM at compile time for EFL port. Shadow DOM code
is being removed from the tree.

  • Source/cmake/OptionsEfl.cmake:
6:27 AM Changeset in webkit [149595] by Christophe Dumez
  • 3 edits in trunk/LayoutTests

Unreviewed EFL gardening.

Remove duplicate Shadow DOM test cases from TestExpectation files.

  • platform/efl-wk2/TestExpectations:
  • platform/efl/TestExpectations:
5:50 AM Changeset in webkit [149594] by Christophe Dumez
  • 3 edits in trunk/LayoutTests

Unreviewed. Remove duplicate tests from EFL TestExpectation files.

  • platform/efl-wk2/TestExpectations:
  • platform/efl/TestExpectations:
5:40 AM Changeset in webkit [149593] by Christophe Dumez
  • 2 edits in trunk/LayoutTests

Unreviewed EFL gardening.

Skip Shadow DOM tests for EFL port as the feature is being removed.

  • platform/efl/TestExpectations:
4:14 AM Changeset in webkit [149592] by zandobersek@gmail.com
  • 2 edits in trunk/LayoutTests

Unreviewed GTK gardening.

  • platform/gtk/TestExpectations: Adding new failure expectations and adjusting an old one.
3:45 AM Changeset in webkit [149591] by zandobersek@gmail.com
  • 3 edits
    2 adds in trunk/LayoutTests

Unreviewed GTK gardening. Rebaselining after r148720, r149088 and r149407.

  • platform/gtk/fast/block/margin-collapse/block-inside-inline/025-expected.txt:
  • platform/gtk/fast/images/crossfade-client-not-removed-crash-expected.txt: Added.
  • platform/gtk/http/tests/security/contentSecurityPolicy/source-list-parsing-nonascii-expected.txt: Added.
  • platform/gtk/http/tests/w3c/webperf/approved/navigation-timing/html/test_timing_xserver_redirect-expected.txt:
3:32 AM Changeset in webkit [149590] by aestes@apple.com
  • 1 edit
    2 adds in trunk/Tools

Added two files I neglected to commit in r149589.

  • TestWebKitAPI/Tests/mac/CloseNewWindowInNavigationPolicyDelegate.mm: Added.
  • TestWebKitAPI/Tests/mac/OpenNewWindow.html: Added.
3:29 AM Changeset in webkit [149589] by aestes@apple.com
  • 8 edits in trunk

REGRESSION (r125592): Reproducible crash in DOMWindow::open when a delegate closes the new window in decidePolicyForNavigationAction
https://bugs.webkit.org/show_bug.cgi?id=115609

Reviewed by Oliver Hunt.

Source/WebCore:

When a window created by window.open() is navigated, the embedder might
close it in decidePolicyForNavigationAction. If this happens, we end up
with a pointer to a deleted Frame.

Fix this by keeping a strong reference to the Frame created by
createWindow(). We can later determine if the window was closed by
checking if the new Frame has a detached Page.

Added an API test: WebKit1.CloseNewWindowInNavigationPolicyDelegate.

  • page/DOMWindow.cpp:

(WebCore::DOMWindow::createWindow):

Tools:

Added an API test.

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/mac/CloseNewWindowInNavigationPolicyDelegate.mm: Added.

(+[TestDelegate shared]):
(-[TestDelegate webView:decidePolicyForNavigationAction:request:frame:decisionListener:]):
(-[TestDelegate webView:createWebViewWithRequest:]):
(TestWebKitAPI):
(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/mac/OpenNewWindow.html: Added.
2:46 AM Changeset in webkit [149588] by zandobersek@gmail.com
  • 7 edits in trunk/Source

[GTK] Move GeolocationProviderGeoclue into libPlatform
https://bugs.webkit.org/show_bug.cgi?id=115591

Reviewed by Martin Robinson.

Source/Platform:

  • GNUmakefile.am: List the Source/WebCore/platform/geoclue directory under platform_webcore_cppflags.

Add Geoclue dependency CPPFLAGS to the list of libPlatform's CPPFLAGS.

Source/WebCore:

No new tests - no new functionality.

  • GNUmakefile.am: Remove the Source/WebCore/platform/geoclue directory from the webkitgtk_cppflags list.
  • GNUmakefile.list.am: Move the GeolocationProviderGeoclue(Client) sources under platform_sources.

Source/WebKit/gtk:

  • GNUmakefile.am: Add platform_webcore_cppflags to the list of libwebkitgtk's CPPFLAGS.
1:41 AM Changeset in webkit [149587] by zarvai@inf.u-szeged.hu
  • 2 edits in trunk/Source/WebCore

[Qt][Win] Unreviewed buildfix after r149579.

  • plugins/win/PluginDatabaseWin.cpp:

(WebCore::addQtWebKitPluginPath):

1:31 AM WebKit Team edited by yuqiang.xian@intel.com
(diff)
1:24 AM Changeset in webkit [149586] by Antoine Quint
  • 18 edits in trunk

Manage the presentation of the snapshotted plug-in using JavaScript
https://bugs.webkit.org/show_bug.cgi?id=115548

Reviewed by Dean Jackson.

Source/WebCore:

  • Resources/plugIns.js:

(createOverlay):
Implement the createOverlay(shadowRoot, titleText, subtitleText) method
that is called from WebCore (HTMLPlugInImageElement::didAddUserAgentShadowRoot)
to allow the injected script to customize the shadow root for a snapshotted
plug-in. This is a default implementation, clients are expected to customize
this by providing their own JS file with enhanced behavior.

  • css/CSSDefaultStyleSheets.cpp:

(WebCore::CSSDefaultStyleSheets::ensureDefaultStyleSheetsForElement):
Since we no longer have a default shadow tree generated in C++, it makes little
sense for clients to extend the default snapshotted plug-in stylesheet, so we
only insert it if no custom one is provided by the chrome client.

  • css/plugIns.css:

Better styling of the default snapshotted plug-in overlay look by using CSS
flex boxes. Also using more explicit selector as an optimization.

  • dom/Document.cpp:

(WebCore::Document::ensurePlugInsInjectedScript):
Expose a new method to allow HTMLPlugInImageElement instances to ensure that
the JavaScript code required to customize the snapshotted plug-in's shadow root
is indeed injected in the current document. The actual injection would only
happen once per document so all snapshotted plug-ins share the same scripting
context.

  • dom/Document.h:

Expose the new ensurePlugInsInjectedScript method and the m_hasInjectedPlugInsScript
property used to ensure injection happens only once per document.

  • html/HTMLPlugInImageElement.cpp:

(WebCore::titleText):
(WebCore::subtitleText):
Store the localized strings for each mime-type in a static hash map as it can be
costly to retrieve them each time from the client. It is expected the chrome client
will want to provide localized strings taking into account the snapshotted plug-in's
mime-type, so we're adding this as a parameter.
(WebCore::HTMLPlugInImageElement::checkSnapshotStatus):
Dispatch a "resize" event to the shadow root to notify the injected script that the
snapshotted plug-in's metrics have changed and to allow the overlay to update itself
as a result.
(WebCore::HTMLPlugInImageElement::didAddUserAgentShadowRoot):
Remove all the DOM generation code in favor of an approach where we create a shared
DOM scripting world in which we inject JavaScript code that will perform the same
task but will additionally be provided by the client in order to provide a completely
custom overlay for the snapshotted plug-in. The sole contract is for the JavaScript
to implement a createOverlay(shadowRoot, titleText, subtitleText) method.
(WebCore::HTMLPlugInImageElement::partOfSnapshotOverlay):
Renamed method to be generic to the overlay as opposed to text labels and use the
element with CSS class name "snapshot-overlay" as the comparison node.

  • html/HTMLPlugInImageElement.h:

(HTMLPlugInImageElement):
Removing a couple of unused members since we no longer generate the shadow DOM from C++
and rename the partOfSnapshotLabel method to partOfSnapshotOverlay.

  • page/ChromeClient.h:

(WebCore::ChromeClient::plugInStartLabelTitle):
(WebCore::ChromeClient::plugInStartLabelSubtitle):
(WebCore::ChromeClient::plugInExtraScript):
Pass in the mime-type to plugInStartLabelTitle and plugInStartLabelSubtitle and expose
a new plugInExtraScript method to allow the chrome client to provide a custom JS file
for the management of the shadow root.

  • rendering/RenderSnapshottedPlugIn.cpp:

(WebCore::RenderSnapshottedPlugIn::handleEvent):
Update the terminology from "label" to "overlay" per the changes made in HTMLPlugInImageElement.

Source/WebKit2:

Expose a new plugInExtraScript method to support the injection of
a JS file from the chrome client to customize the rendering of a
snapshotted plug-in's shadow tree. Additionally, it is expected
the chrome client will want to provide localized strings taking
into account the snapshotted plug-in's mime-type, so we're adding
this as a parameter to both plugInStartLabelTitle and
plugInStartLabelSubtitle methods.

  • WebProcess/InjectedBundle/API/c/WKBundlePage.h:
  • WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp:

(WebKit::InjectedBundlePageUIClient::plugInStartLabelTitle):
(WebKit::InjectedBundlePageUIClient::plugInStartLabelSubtitle):
(WebKit::InjectedBundlePageUIClient::plugInExtraScript):

  • WebProcess/InjectedBundle/InjectedBundlePageUIClient.h:

(InjectedBundlePageUIClient):

  • WebProcess/WebCoreSupport/WebChromeClient.cpp:

(WebKit::WebChromeClient::plugInStartLabelTitle):
(WebKit::WebChromeClient::plugInStartLabelSubtitle):
(WebKit::WebChromeClient::plugInExtraScript):

  • WebProcess/WebCoreSupport/WebChromeClient.h:

(WebChromeClient):

Tools:

Take into account the new plugInExtraScript method added to support
the injection of a JS file from the chrome client to customize the
rendering of a snapshotted plug-in's shadow tree.

  • WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:

(WTR::InjectedBundlePage::InjectedBundlePage):

12:32 AM Changeset in webkit [149585] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

REGRESSION(r140907) - Backport blink r149612 to fix vertical-align and rowspan issue
https://bugs.webkit.org/show_bug.cgi?id=115611

Source/WebCore:

Patch by Julien Chaffraix.
Patch by Robert Hogan <robert@webkit.org> on 2013-05-06
Reviewed by Benjamin Poulain.

Backport phttps://src.chromium.org/viewvc/blink?view=rev&revision=149612 from
https://chromiumcodereview.appspot.com/14105010

Fix the rows' height computation with vertical-align: baseline and rowspan.
r140907 was careful in avoiding updating the baseline descent for
spanning cells. However it still added the non-spanning cells baseline
descent to the spanning cells' row height computation.
This change avoids the previous issue by not adding the baseline
descent in this case.

Test: fast/table/baseline-align-rowspan.html

  • rendering/RenderTableSection.cpp:

(WebCore::RenderTableSection::calcRowLogicalHeight):

LayoutTests:

Patch by Robert Hogan <robert@webkit.org> on 2013-05-06
Reviewed by Benjamin Poulain.

  • fast/table/baseline-align-rowspan-expected.txt: Added.
  • fast/table/baseline-align-rowspan.html: Added.

May 5, 2013:

10:43 PM Changeset in webkit [149584] by Chris Fleizach
  • 2 edits in trunk/Source/WebKit2

WEB SPEECH: deny file-read-data /Library/Speech/Synthesizers
https://bugs.webkit.org/show_bug.cgi?id=115621

Reviewed by Alexey Proskuryakov.

Allow access to the location where 3rd party speech synthesizers are stored.

  • WebProcess/com.apple.WebProcess.sb.in:
9:10 PM Changeset in webkit [149583] by andersca@apple.com
  • 13 edits in trunk/Source

Remove Vector::prepend
https://bugs.webkit.org/show_bug.cgi?id=115618

Reviewed by Geoffrey Garen.

Source/WebCore:

Replace calls to Vector::prepend with either Vector::insert,
or a combination of Vector::append and Vector::reverse.

  • accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::scrollToGlobalPoint):

  • css/CSSGradientValue.cpp:

(WebCore::CSSGradientValue::addStops):

  • css/CSSValueList.h:

(WebCore::CSSValueList::prepend):

  • dom/Document.cpp:

(WebCore::Document::iconURLs):

  • editing/TextIterator.cpp:

(WebCore::SearchBuffer::prependContext):

  • editing/VisibleUnits.cpp:

(WebCore::previousBoundary):
(WebCore::nextBoundary):

  • history/HistoryItem.cpp:

(WebCore::HistoryItem::padDailyCountsForNewVisit):
(WebCore::HistoryItem::collapseDailyVisitsToWeekly):

  • inspector/InjectedScriptHost.cpp:

(WebCore::InjectedScriptHost::addInspectedObject):

  • platform/graphics/SVGGlyph.cpp:

(WebCore::charactersWithArabicForm):

Source/WTF:

Given the performance characteristics of prepending something to a Vector, not having prepend
will hopefully make developers think about whether prepending is necessary at all. For example,
the functions in HexNumber.h were easily converted to using Vector::append and then Vector::reverse.

  • wtf/HexNumber.h:

(WTF::appendUnsignedAsHex):
(WTF::appendUnsignedAsHexFixedSize):

  • wtf/Vector.h:

(Vector):

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

Remove empty function SQLiteFileSystem::registerSQLiteVFS() and its callers
https://bugs.webkit.org/show_bug.cgi?id=115619

Reviewed by Dan Bernstein.

  • Modules/webdatabase/DatabaseTracker.cpp:
  • platform/sql/SQLiteFileSystem.cpp:
  • platform/sql/SQLiteFileSystem.h:
  • storage/StorageTracker.cpp:
4:25 PM Changeset in webkit [149581] by Chris Fleizach
  • 4 edits
    2 adds in trunk

AX: aria-checked not exposed correctly on menuitemcheckbox or menuitemradio roles
https://bugs.webkit.org/show_bug.cgi?id=115499

Reviewed by Tim Horton.

Source/WebCore:

Expose isChecked() for menu item objects.
Return the Mac-platform specific value that you find on menu items for "checked" menu items.

Test: platform/mac/accessibility/aria-menuitem-checked-value.html

  • accessibility/AccessibilityNodeObject.cpp:

(WebCore::AccessibilityNodeObject::isChecked):

  • accessibility/mac/WebAccessibilityObjectWrapperMac.mm:

(-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):

LayoutTests:

  • platform/mac/accessibility/aria-menuitem-checked-value-expected.txt: Added.
  • platform/mac/accessibility/aria-menuitem-checked-value.html: Added.
3:11 PM Changeset in webkit [149580] by timothy_horton@apple.com
  • 4 edits in trunk/Source

[wk2] Page Overlays: deviceScaleFactor doesn't update when the display changes
https://bugs.webkit.org/show_bug.cgi?id=115577
<rdar://problem/13762583>

Reviewed by Darin Adler.

  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:

(WebKit::TiledCoreAnimationDrawingArea::setDeviceScaleFactor):
Invalidate the page overlay layers' device scale factor when
TiledCoreAnimationDrawingArea is notified that it has changed.

  • WebCore.exp.in:

Export GraphicsLayer::noteDeviceOrPageScaleFactorChangedIncludingDescendants

12:03 PM Changeset in webkit [149579] by andersca@apple.com
  • 42 edits in trunk

Remove the Vector::append overload that takes a Vector
https://bugs.webkit.org/show_bug.cgi?id=115535

Reviewed by Andreas Kling.

Source/WebCore:

Use Vector::appendVector instead.

  • Modules/indexeddb/IDBBackingStore.cpp:

(WebCore::IDBBackingStore::putRecord):
(WebCore::IDBBackingStore::putIndexDataForRecord):

  • Modules/indexeddb/IDBLevelDBCoding.cpp:

(WebCore::IDBLevelDBCoding::encodeStringWithLength):
(WebCore::IDBLevelDBCoding::encodeIDBKey):
(WebCore::IDBLevelDBCoding::encodeIDBKeyPath):
(WebCore::IDBLevelDBCoding::SchemaVersionKey::encode):
(WebCore::IDBLevelDBCoding::MaxDatabaseIdKey::encode):
(WebCore::IDBLevelDBCoding::DataVersionKey::encode):
(WebCore::IDBLevelDBCoding::DatabaseFreeListKey::encode):
(WebCore::IDBLevelDBCoding::DatabaseNameKey::encode):
(WebCore::IDBLevelDBCoding::DatabaseMetaDataKey::encode):
(WebCore::IDBLevelDBCoding::ObjectStoreMetaDataKey::encode):
(WebCore::IDBLevelDBCoding::IndexMetaDataKey::encode):
(WebCore::IDBLevelDBCoding::ObjectStoreFreeListKey::encode):
(WebCore::IDBLevelDBCoding::IndexFreeListKey::encode):
(WebCore::IDBLevelDBCoding::ObjectStoreNamesKey::encode):
(WebCore::IDBLevelDBCoding::IndexNamesKey::encode):
(WebCore::IDBLevelDBCoding::ObjectStoreDataKey::encode):
(WebCore::IDBLevelDBCoding::ExistsEntryKey::encode):
(WebCore::IDBLevelDBCoding::IndexDataKey::encode):

  • Modules/webaudio/AudioContext.cpp:

(WebCore::AudioContext::clear):
(WebCore::AudioContext::scheduleNodeDeletion):

  • accessibility/AccessibilityARIAGrid.cpp:

(WebCore::AccessibilityARIAGrid::addTableCellChild):

  • accessibility/AccessibilityTable.cpp:

(WebCore::AccessibilityTable::cells):

  • css/RuleFeature.cpp:

(WebCore::RuleFeatureSet::add):

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::addToMatchedPropertiesCache):

  • dom/DocumentStyleSheetCollection.cpp:

(WebCore::collectActiveCSSStyleSheetsFromSeamlessParents):
(WebCore::DocumentStyleSheetCollection::updateActiveStyleSheets):

  • dom/Range.cpp:

(WebCore::Range::getBorderAndTextQuads):

  • html/FormController.cpp:

(WebCore::FormController::getReferencedFilePaths):

  • html/canvas/CanvasRenderingContext2D.cpp:

(WebCore::CanvasRenderingContext2D::setLineDash):

  • html/parser/HTMLFormattingElementList.cpp:

(WebCore::HTMLFormattingElementList::tryToEnsureNoahsArkConditionQuickly):

  • html/track/WebVTTToken.h:

(WebCore::WebVTTToken::addNewClass):
(WebCore::WebVTTToken::addNewAnnotation):

  • page/CaptionUserPreferencesMac.mm:

(WebCore::CaptionUserPreferencesMac::preferredLanguages):

  • platform/FileChooser.cpp:

(WebCore::FileChooserSettings::acceptTypes):

  • platform/SharedBufferChunkReader.cpp:

(WebCore::SharedBufferChunkReader::nextChunk):

  • platform/graphics/MediaPlayer.cpp:

(WebCore::MediaPlayer::getSitesInMediaCache):

  • platform/graphics/ca/GraphicsLayerCA.cpp:

(WebCore::GraphicsLayerCA::updateSublayerList):

  • platform/mac/PasteboardMac.mm:

(WebCore::createWritableTypesForImage):
(WebCore::writableTypesForImage):
(WebCore::Pasteboard::writeSelectionForTypes):

  • platform/network/FormDataBuilder.cpp:

(WebCore::FormDataBuilder::generateUniqueBoundaryString):

  • plugins/PluginDatabase.cpp:

(WebCore::PluginDatabase::defaultPluginDirectories):

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::constructBidiRunsForSegment):

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::OverlapMap::popCompositingContainer):

  • rendering/RenderTableSection.cpp:

(WebCore::RenderTableSection::splitColumn):

  • svg/SVGGlyphMap.h:

(WebCore::SVGGlyphMap::collectGlyphsForString):

  • xml/XPathNodeSet.h:

(WebCore::XPath::NodeSet::append):

Source/WebKit2:

Use Vector::appendVector instead.

  • NetworkProcess/FileAPI/NetworkBlobRegistry.cpp:

(WebKit::NetworkBlobRegistry::registerBlobURL):

  • NetworkProcess/SchedulableLoader.cpp:

(WebKit::SchedulableLoader::SchedulableLoader):

  • Platform/CoreIPC/Connection.cpp:

(CoreIPC::Connection::SyncMessageState::dispatchMessages):

  • UIProcess/Plugins/unix/PluginInfoStoreUnix.cpp:

(WebKit::PluginInfoStore::pluginsDirectories):

Source/WTF:

The Vector::append overload that takes a Vector conflicts with rvalues in C++11, so remove it and
replace calls to it with calls to appendVector.

  • wtf/Vector.h:

(Vector):

Tools:

Use Vector::appendVector instead.

  • DumpRenderTree/mac/AccessibilityUIElementMac.mm:

(concatenateAttributeAndValue):

  • WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:

(WTR::concatenateAttributeAndValue):

10:48 AM Changeset in webkit [149578] by andersca@apple.com
  • 2 edits in trunk/Source/WebCore

Try to fix the Windows build.

Make plugIns.js have a non-zero length.

  • Resources/plugIns.js:

May 4, 2013:

10:20 PM Changeset in webkit [149577] by dino@apple.com
  • 3 edits in trunk

Fix incorrect ChangeLog dates on previous commit.

9:43 PM Changeset in webkit [149576] by dino@apple.com
  • 26 edits
    4 adds in trunk

Animations and Transitions should not start when globally suspended
https://bugs.webkit.org/show_bug.cgi?id=114915

Reviewed by Sam Weinig.

.:

Export AnimationController::isSuspended().

  • Source/autotools/symbols.filter:

Source/WebCore:

When the Document's AnimationController was suspended, we still
started new transitions and animations. Change this so that
animations enter a paused-but-new state, where they are frozen
until the AnimationController resumes. At that time, it is as
if they had just appeared: any delay counts down before
the animation starts.

For transitions, the change in value must still happen, but
it does so immediately. No transitionend event should be fired.
This produces a slightly confusing behaviour, because any
in-progress transitions are suspended, but any new style changes
happen instantly. This might sound contradictory, but in general
suspending the document is a rare (and dangerous) thing to do.

Previously, the Document would call resumeAnimations as it loaded,
effectively starting all the animations. This meant if you suspended
animations before loading a document, it was ignored as soon as the
load finished. Now there is a separate method startAnimationsIfNotSuspended
which checks to see if the document is suspended as it loads.

In order to handle this case, I added a new state to the Animation
machinery: AnimationStatePausedNew. This is an animation that was created
in the suspended state.

Tests: animations/added-while-suspended.html

transitions/started-while-suspended.html

  • WebCore.exp.in: Export AnimationController::isSuspended().
  • dom/Document.cpp:

(WebCore::Document::implicitClose):

resumeAnimationsForDocument() -> startAnimationsIfNotSuspended()

  • page/animation/AnimationBase.cpp:

(WebCore::nameForState): New name for AnimationStatePausedNew.
(WebCore::AnimationBase::updateStateMachine): Handle new state AnimationStatePausedNew. The

most important change is that when go from PausedNew to Running, we jump back into
the New state and continue from there.

(WebCore::AnimationBase::updatePlayState): suspended -> isSuspended

  • page/animation/AnimationBase.h: New state: AnimationStatePausedNew

(WebCore::AnimationBase::waitingToStart): Add AnimationStatePausedNew.
(WebCore::AnimationBase::paused): Add AnimationStatePausedNew.
(WebCore::AnimationBase::isNew): Add AnimationStatePausedNew.

  • page/animation/AnimationController.cpp:

(WebCore::AnimationControllerPrivate::AnimationControllerPrivate): Initialise m_suspended.
(WebCore::AnimationControllerPrivate::clear): suspended -> isSuspended
(WebCore::AnimationControllerPrivate::updateAnimations): Ditto.
(WebCore::AnimationControllerPrivate::updateAnimationTimerForRenderer): Ditto.
(WebCore::AnimationControllerPrivate::suspendAnimations): Update m_suspended.
(WebCore::AnimationControllerPrivate::resumeAnimations): Ditto.
(WebCore::AnimationControllerPrivate::suspendAnimationsForDocument):
(WebCore::AnimationControllerPrivate::resumeAnimationsForDocument):
(WebCore::AnimationControllerPrivate::startAnimationsIfNotSuspended): New method that will

only resume animations if we were not globally suspended.

(WebCore::AnimationController::isSuspended): New method.
(WebCore::AnimationController::suspendAnimations): Add logging.
(WebCore::AnimationController::resumeAnimations): Add logging.
(WebCore::AnimationController::suspendAnimationsForDocument): Add logging.
(WebCore::AnimationController::resumeAnimationsForDocument): Add logging.
(WebCore::AnimationController::startAnimationsIfNotSuspended): Calls private method.

  • page/animation/AnimationController.h:

(AnimationController): Add isSuspended() and animationsForDocumentMayStart().

  • page/animation/AnimationControllerPrivate.h:

(WebCore::AnimationControllerPrivate::isSuspended): New method.
(AnimationControllerPrivate): Add m_isSuspended member.

  • page/animation/CompositeAnimation.cpp:

(WebCore::CompositeAnimation::CompositeAnimation): Moved from header - initialise m_isSuspended.
(WebCore::CompositeAnimation::updateTransitions): Do not create ImplicitAnimation if suspended.
(WebCore::CompositeAnimation::updateKeyframeAnimations): Move to AnimationStatePausedNew if suspended.
(WebCore::CompositeAnimation::suspendAnimations): m_suspended -> m_isSuspended
(WebCore::CompositeAnimation::resumeAnimations): Ditto.

  • page/animation/CompositeAnimation.h:

(WebCore::CompositeAnimation::isSuspended): Renamed from suspended()

  • page/animation/KeyframeAnimation.cpp:

(WebCore::KeyframeAnimation::animate): If we're in the AnimationStatePausedNew state, then

we need to go to the first frame (to handle fill mode).

  • testing/Internals.cpp:

(WebCore::Internals::animationsAreSuspended): New exposed method to reflect AnimationController.

  • testing/Internals.h: Add animationsAreSuspended.
  • testing/Internals.idl: Ditto.

Source/WebKit:

Export AnimationController::isSuspended

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

Source/WebKit/mac:

The WebView private API cssAnimationsSuspended did not necessarily
reflect the reality of the Frame's AnimationController value because it
was caching rather than asking directly. While the WebCore part of this
patch ensured loading the Document wouldn't resume all animations, it
is still better to ask directly.

  • WebView/WebView.mm:

(-[WebView cssAnimationsSuspended]): Call into AnimationController.
(-[WebView setCSSAnimationsSuspended:]): Ditto.

  • WebView/WebViewData.h: Remove cssAnimationsSuspended boolean.
  • WebView/WebViewData.mm: Ditto.

(-[WebViewPrivate init]):

Source/WebKit/win:

Export AnimationController::isSuspended

  • WebKit.vcproj/WebKitExports.def.in:

LayoutTests:

Two new tests. Add an animation or transition to
the document when the global animation controller is suspended.
In the animation case, nothing should happen until the
animations are resumed. In the transition case, the style
change should happen immediately and not fire any events.

  • animations/added-while-suspended-expected.txt: Added.
  • animations/added-while-suspended.html: Added.
  • animations/suspend-transform-animation.html: Make sure to resume suspended animations

before quitting the test.

  • transitions/started-while-suspended-expected.txt: Added.
  • transitions/started-while-suspended.html: Added.
  • transitions/suspend-transform-transition.html: Make sure to resume suspended animations

before quitting the test.

7:39 PM Changeset in webkit [149575] by weinig@apple.com
  • 3 edits in trunk/Source/WebKit2

Fix * placement in a few functions as noticed by Mark Rowe.

Rubber-stamped by Dan Bernstein.

  • WebProcess/WebPage/PageBanner.h:

(PageBanner):

  • WebProcess/WebPage/mac/PageBannerMac.mm:

(WebKit::PageBanner::create):
(WebKit::PageBanner::PageBanner):

7:35 PM Changeset in webkit [149574] by weinig@apple.com
  • 7 edits
    4 moves in trunk/Source

Move PopupMenuMac and SearchPopupMenuMac to Source/WebKit/mac
matching where they are in WebKit2.

Reviewed by Anders Carlsson.

Source/WebCore:

  • WebCore.exp.in:
  • WebCore.xcodeproj/project.pbxproj:
  • platform/mac/PopupMenuMac.h: Removed.
  • platform/mac/PopupMenuMac.mm: Removed.
  • platform/mac/SearchPopupMenuMac.h: Removed.
  • platform/mac/SearchPopupMenuMac.mm: Removed.

Source/WebKit:

  • WebKit.xcodeproj/project.pbxproj:

Source/WebKit/mac:

  • WebCoreSupport/PopupMenuMac.h: Copied from WebCore/platform/mac/PopupMenuMac.h.
  • WebCoreSupport/PopupMenuMac.mm: Copied from WebCore/platform/mac/PopupMenuMac.mm.
  • WebCoreSupport/SearchPopupMenuMac.h: Copied from WebCore/platform/mac/SearchPopupMenuMac.h.
  • WebCoreSupport/SearchPopupMenuMac.mm: Copied from WebCore/platform/mac/SearchPopupMenuMac.mm.
  • WebCoreSupport/WebChromeClient.mm:
7:32 PM Changeset in webkit [149573] by weinig@apple.com
  • 4 edits
    1 add in trunk

REGRESSION(r148312): Crash when calling WKPageClose(page) followed by WKPageTerminate(page)
<rdar://problem/13702008>
https://bugs.webkit.org/show_bug.cgi?id=115607

Reviewed by Benjamin Poulain.

Source/WebKit2:

API Test: WebKit2.CloseThenTerminate

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::resetStateAfterProcessExited):
Don't try to reset the state if the page is closed, it won't work and its not worth it.

Tools:

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebKit2/CloseThenTerminate.cpp: Added.

(TestWebKitAPI::didFinishLoadForFrame):
(TestWebKitAPI::TEST):
Add test that calls WKPageClose, follow by WKPageTerminate. If it crashes, its not working.

6:53 PM Changeset in webkit [149572] by Christophe Dumez
  • 2 edits in trunk/Source/WebCore

Get rid of special cases in AddIncludesForTypeInImpl
https://bugs.webkit.org/show_bug.cgi?id=115602

Reviewed by Benjamin Poulain.

Get rid of the special cases in AddIncludesForTypeInImpl subroutine in the
JS bindings generator. Those are no longer needed and special cases should
be avoided in the generator.

No new tests, no behavior change.

  • bindings/scripts/CodeGeneratorJS.pm:

(AddIncludesForTypeInImpl):

6:47 PM Changeset in webkit [149571] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Clean up unused spellcheck code
https://bugs.webkit.org/show_bug.cgi?id=115560

Patch by Nima Ghanavatian <nghanavatian@blackberry.com> on 2013-05-04
Reviewed by Benjamin Poulain.
Internally reviewed by Mike Lattanzio

  • Api/WebPage.cpp:

(BlackBerry::WebKit::WebPage::setExtraPluginDirectory):

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

(InputHandler):

6:34 PM Changeset in webkit [149570] by Christophe Dumez
  • 2 edits in trunk/Source/WebCore

Get rid of AddIncludesForSVGAnimatedType in bindings generator
https://bugs.webkit.org/show_bug.cgi?id=115603

Reviewed by Benjamin Poulain.

Remove AddIncludesForSVGAnimatedType subroutine from the bindings generator
as it is a special case which is no longer needed.

No new tests, no behavior change.

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateImplementation):

2:44 PM Changeset in webkit [149569] by Antoine Quint
  • 11 edits
    1 add in trunk/Source/WebCore

Update code generators to handle a new JavaScript file for snapshotted plug-ins
https://bugs.webkit.org/show_bug.cgi?id=115596

Reviewed by Dean Jackson.

In preparation for https://webkit.org/b/115548, adding a new JS file at
Resources/plugIns.js that we will use to provide presentation for the
snapshotted plug-ins overlay.

  • CMakeLists.txt:
  • DerivedSources.cpp:
  • DerivedSources.make:
  • DerivedSources.pri:
  • GNUmakefile.am:
  • GNUmakefile.list.am:
  • Resources/plugIns.js: Added.
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
1:29 PM Changeset in webkit [149568] by akling@apple.com
  • 2 edits in trunk/Source/WTF

Unreviewed, rolling out r149563.
http://trac.webkit.org/changeset/149563
https://bugs.webkit.org/show_bug.cgi?id=115587

Broke LLInt build.

  • wtf/text/StringImpl.h:

(StringImpl):

1:25 PM Changeset in webkit [149567] by akling@apple.com
  • 2 edits in trunk/Source/WebCore

REGRESSION(r142647): Flaky Test: fast/frames/crash-remove-iframe-during-object-beforeload.html
<http://webkit.org/b/115322>
<rdar://problem/13810719>

Reviewed by Anders Carlsson.

Don't cache the FrameView::renderView() in a local since updating Widgets may blow it away.

  • page/FrameView.cpp:

(WebCore::FrameView::performPostLayoutTasks):

1:22 PM Changeset in webkit [149566] by akling@apple.com
  • 6 edits in trunk/Source/WebCore

Remove GraphicsContext::strokeArc(), which is unused.

From Blink r149608 by <jbroman@chromium.org>
<http://src.chromium.org/viewvc/blink?view=revision&revision=149608>

This is no longer used since almost a year ago, when HAVE(PATH_BASED_BORDER_RADIUS_DRAWING) was inlined.

  • platform/graphics/GraphicsContext.h:
  • platform/graphics/blackberry/GraphicsContextBlackBerry.cpp:
  • platform/graphics/cairo/GraphicsContextCairo.cpp:
  • platform/graphics/cg/GraphicsContextCG.cpp:
  • platform/graphics/wince/GraphicsContextWinCE.cpp:
1:10 PM Changeset in webkit [149565] by akling@apple.com
  • 3 edits in trunk/Source/WebCore

Remove unused CSSSelector::isCustomPseudoType().

From Blink r149574 by <dominicc@chromium.org>
<http://src.chromium.org/viewvc/blink?view=revision&revision=149574>

  • css/CSSSelector.h:
  • css/CSSSelector.cpp:
12:42 PM Changeset in webkit [149564] by fpizlo@apple.com
  • 4 edits in branches/dfgFourthTier/Source/JavaScriptCore

fourthTier: DFG::ByteCodeParser doesn't need ExecState*
https://bugs.webkit.org/show_bug.cgi?id=115582

Reviewed by Geoffrey Garen.

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::ByteCodeParser):
(ByteCodeParser):
(JSC::DFG::parse):

  • dfg/DFGByteCodeParser.h:

(DFG):

  • dfg/DFGDriver.cpp:

(JSC::DFG::compile):

12:36 PM Changeset in webkit [149563] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WTF

No need to declare JSC::LLInt::Data as friend class of WTF::StringImpl
https://bugs.webkit.org/show_bug.cgi?id=115587

Patch by Xan Lopez <xlopez@igalia.com> on 2013-05-04
Reviewed by Andreas Kling.

No need to declare LLInt::Data as friend class of WTF::StringImpl,
it does not use any private method/data member of the latter.

  • wtf/text/StringImpl.h:

(StringImpl):

12:04 PM Changeset in webkit [149562] by andersca@apple.com
  • 7 edits in trunk/Source/WebKit/mac

Get rid of -[NSMutableDictionary _webkit_setObject:forUncopiedKey:]
https://bugs.webkit.org/show_bug.cgi?id=115592

Reviewed by Beth Dakin.

Using CFDictionarySetValue to set a key without having to copy it is not supported. Use NSMapTable with strong pointers instead.

  • Misc/WebNSDictionaryExtras.h:
  • Misc/WebNSDictionaryExtras.m:
  • Panels/WebPanelAuthenticationHandler.h:

(NSURLAuthenticationChallenge):

  • Panels/WebPanelAuthenticationHandler.m:

(-[WebPanelAuthenticationHandler init]):
(-[WebPanelAuthenticationHandler enqueueChallenge:forWindow:]):
(-[WebPanelAuthenticationHandler tryNextChallengeForWindow:]):
(-[WebPanelAuthenticationHandler startAuthentication:window:]):
(-[WebPanelAuthenticationHandler cancelAuthentication:]):

  • Plugins/WebNetscapePluginView.h:
  • Plugins/WebNetscapePluginView.mm:

(-[WebNetscapePluginView destroyPlugin]):
(-[WebNetscapePluginView initWithFrame:pluginPackage:URL:baseURL:MIMEType:attributeKeys:attributeValues:loadManually:element:WebCore::]):
(-[WebNetscapePluginView webFrame:didFinishLoadWithReason:]):
(-[WebNetscapePluginView loadPluginRequest:]):

11:46 AM Changeset in webkit [149561] by Beth Dakin
  • 2 edits in trunk/Source/WebKit2

https://bugs.webkit.org/show_bug.cgi?id=115574
Crash using new WKBundlePageSetHeaderBanner() API to set a banner to null

Reviewed by Darin Adler.

Don't call addToPage() on a null banner.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::setHeaderPageBanner):
(WebKit::WebPage::setFooterPageBanner):

9:29 AM Changeset in webkit [149560] by akling@apple.com
  • 4 edits in trunk/Source/WebCore

Remove ShadowRoot's previous/next ShadowRoot pointers.
<http://webkit.org/b/115588>

Reviewed by Anders Carlsson.

ShadowRoot no longer inherits from DoublyLinkedListNode<ShadowRoot> because that code wasn't
doing anything anymore. Shrinks ShadowRoot by two pointers.

  • dom/ElementShadow.h:
  • dom/ShadowRoot.cpp:

(SameSizeAsShadowRoot):
(WebCore::ShadowRoot::ShadowRoot):
(WebCore::ShadowRoot::~ShadowRoot):

  • dom/ShadowRoot.h:
8:27 AM Changeset in webkit [149559] by akling@apple.com
  • 2 edits in trunk/Source/WebCore

RenderObject: don't change GraphicsContext state when not drawing dashed/dotted lines.

From Blink r149546 by <jbroman@chromium.org>
<http://src.chromium.org/viewvc/blink?view=revision&revision=149546>

Previously, there was asymmetry between changing and restoring state (certain state
would be restored only if thickness was positive, i.e. a line was actually drawn.)

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::drawLineForBoxSide):

8:18 AM Changeset in webkit [149558] by zandobersek@gmail.com
  • 2 edits in trunk/Tools

Unreviewed.

  • Scripts/webkitpy/common/config/contributors.json: Correcting my igalia.com email address.
8:03 AM Changeset in webkit [149557] by akling@apple.com
  • 3 edits in trunk/Source/WebCore

Remove CSS selector profiler branches from ElementRuleCollector loop.
<http://webkit.org/b/115581>

Reviewed by Antti Koivisto.

Templatize the method so we don't have to check for active inspector frontends on every
pass through the loop.

Time spent in this loop goes down from 0.5% to 0.2% on iTunes Store, WebCore binary size
goes up 480 bytes (sorry Benjamin, I'll make it up to you.)

  • css/ElementRuleCollector.h:
  • css/ElementRuleCollector.cpp:

(WebCore::ElementRuleCollector::collectMatchingRulesForList):
(WebCore::ElementRuleCollector::doCollectMatchingRulesForList):

7:16 AM May 2013 Meeting edited by mhahnenberg@apple.com
Added transcript for the Status of JSC session. (diff)
7:00 AM Changeset in webkit [149556] by mihnea@adobe.com
  • 2 edits in trunk/Tools

Unreviewed. Adding Radu Stavila as an Adobe contributor, working on CSSRegions.

4:17 AM WebKitGTK/TrackingMemoryErrors edited by elima@igalia.com
(diff)
4:15 AM WebKitGTK/TrackingMemoryErrors edited by elima@igalia.com
(diff)
3:55 AM WebKitGTK/TrackingMemoryErrors edited by elima@igalia.com
(diff)
3:52 AM WebKitGTK/TrackingMemoryErrors edited by elima@igalia.com
(diff)
3:47 AM WebKitGTK/TrackingMemoryErrors edited by elima@igalia.com
(diff)
3:44 AM WebKitGTK/TrackingMemoryErrors edited by elima@igalia.com
(diff)
3:26 AM WebKitGTK/TrackingMemoryErrors created by elima@igalia.com
3:19 AM WebKitGTK edited by elima@igalia.com
(diff)
2:22 AM May 2013 Meeting edited by Joseph Pecoraro
Added Profiling in JavaScriptCore notes (diff)
12:54 AM Changeset in webkit [149555] by zandobersek@gmail.com
  • 2 edits in trunk/Tools

[GTK] Catch select.error exceptions in parse_output_lines
https://bugs.webkit.org/show_bug.cgi?id=115253

Reviewed by Gustavo Noronha Silva.

Catch any select.error exceptions when waiting for the file descriptor to become readable when parsing the
output lines in common.parse_output_lines. These are currently being thrown when running the GTK unit tests on
builders, but are not fatal. Because of that they are at the moment only logged (writing out the file descriptor,
error code and the error message) and the loop is re-entered.

  • gtk/common.py:

(parse_output_lines):

12:50 AM Changeset in webkit [149554] by zandobersek@gmail.com
  • 2 edits in trunk/Tools

[GTK] Set up the TestWebCore in TestWebKitAPI
https://bugs.webkit.org/show_bug.cgi?id=115237

Reviewed by Gustavo Noronha Silva.

Set up the WebCore unit test program, consisting of the unit tests under the TestWebKitAPI/Tests/WebCore directory.
Again the approach of specifying libtool libraries multiple times in the TestWebCore program's LDFLAGS is used as
a workaround for the layer violations and circular dependencies between various static libraries. Linking against
either libwebkitgtk or libwebkit2gtk shared libraries is avoided due to the unit tests covering WebCore, which
shouldn't rely on neither of the two distributable libraries (hence the dirty workaround).

  • TestWebKitAPI/GNUmakefile.am:
12:44 AM Changeset in webkit [149553] by robert@webkit.org
  • 3 edits
    2 adds in trunk

REGRESSION(r140907): Incorrect baseline on cells after updating vertical-align
https://bugs.webkit.org/show_bug.cgi?id=115432

Reviewed by Julien Chaffraix.

Source/WebCore:

If a cell changes vertical-align any intrinsic padding it has is now redundant. It
needs to calculate its new height from RenderTableRow::layout() and then find its
new intrinsic padding in RenderTableSection::layoutRows().

Test: fast/table/correct-baseline-after-style-change.html

  • rendering/RenderTableCell.cpp:

(WebCore::RenderTableCell::styleDidChange):

LayoutTests:

  • fast/table/correct-baseline-after-style-change-expected.html: Added.
  • fast/table/correct-baseline-after-style-change.html: Added.
12:30 AM Changeset in webkit [149552] by msaboff@apple.com
  • 4 edits in trunk/Source/JavaScriptCore

There should be a runtime option to constrain what functions get DFG compiled
https://bugs.webkit.org/show_bug.cgi?id=115576

Reviewed by Mark Hahnenberg.

Added OptionRange to Options to allow checking that something is within an option
or not. The new OptionClass supports range strings in the form of [!]<low>[:<high>].
If only one value is given, then it will be used for both low and high. A leading
'!' inverts the check. If no range is given, then checking for a value within a range
will always return true. Added the option "bytecodeRangeToDFGCompile" that takes an
OptionRange string to select the bytecode range of code blocks to DFG compile.

  • dfg/DFGDriver.cpp:

(JSC::DFG::compile): Added new check for bytecode count within bytecodeRangeToDFGCompile
range.

  • runtime/Options.cpp:

(JSC::parse): Added overloaded parse() for OptionRange.
(JSC::OptionRange::init): Parse range string and then initialize the range.
(JSC::OptionRange::isInRange): Function used by consumer to check if a value is within
the specified range.
(JSC::Options::dumpOption): Added code to dump OptionRange options.

  • runtime/Options.h:

(OptionRange): New class.
(JSC::OptionRange::operator= ): This is really used as a default ctor for use within
the Option static array initialization.
(JSC::OptionRange::rangeString): This is used for debug. It assumes that the char*
passed into OptionRange::init is valid when this function is called.

12:23 AM Changeset in webkit [149551] by ap@apple.com
  • 2 edits in trunk/Source/WebKit2

<rdar://problem/13806836> Tweak sandbox profile.

Reviewed by Dan Bernstein.

  • WebProcess/com.apple.WebProcess.sb.in:

May 3, 2013:

8:49 PM Changeset in webkit [149550] by commit-queue@webkit.org
  • 5 edits
    4 adds in trunk

incorrect repainting when a table has a transform
https://bugs.webkit.org/show_bug.cgi?id=109867

Patch by Arnaud Renevier <a.renevier@sisa.samsung.com> on 2013-05-03
Reviewed by Simon Fraser.

Source/WebCore:

Disable LayoutState when table, tableRow or tableSection render
objects have transforms or reflections.

Tests: fast/repaint/reflection-table-layout.html

fast/repaint/transform-table-layout.html

  • rendering/RenderTable.cpp:

(WebCore::RenderTable::layout):

  • rendering/RenderTableRow.cpp:

(WebCore::RenderTableRow::layout):

  • rendering/RenderTableSection.cpp:

(WebCore::RenderTableSection::layout):
(WebCore::RenderTableSection::layoutRows):

LayoutTests:

Create tests that resize an element inside a display: table element.
Compare to a reference html file where the element has a static size.
In the first test, the table like element has a transform. In the
second, it has a reflection.

  • fast/repaint/reflection-table-layout-expected.html: Added.
  • fast/repaint/reflection-table-layout.html: Added.
  • fast/repaint/transform-table-layout-expected.html: Added.
  • fast/repaint/transform-table-layout.html: Added.
8:43 PM Changeset in webkit [149549] by Antti Koivisto
  • 30 edits in trunk

Remove concept of younger and older shadow trees
https://bugs.webkit.org/show_bug.cgi?id=115570

Reviewed by Andreas Kling.

Source/WebCore:

Younger and older shadow trees are an obscure corner of the Shadow DOM spec.

Support only one shadow tree per element. This simplifies many things.

  • dom/ComposedShadowTreeWalker.cpp:

(WebCore::ComposedShadowTreeWalker::traverseChild):
(WebCore::ComposedShadowTreeWalker::traverseSiblingInCurrentTree):
(WebCore):
(WebCore::ComposedShadowTreeWalker::traverseParent):
(WebCore::ComposedShadowTreeWalker::traverseParentInCurrentTree):
(WebCore::ComposedShadowTreeWalker::traverseParentBackToShadowRootOrHost):

  • dom/ComposedShadowTreeWalker.h:

(WebCore::ComposedShadowTreeWalker::assertPrecondition):
(ComposedShadowTreeWalker):

  • dom/ContainerNodeAlgorithms.cpp:

(WebCore::ChildNodeInsertionNotifier::notifyDescendantInsertedIntoDocument):
(WebCore::ChildNodeInsertionNotifier::notifyDescendantInsertedIntoTree):
(WebCore::ChildNodeRemovalNotifier::notifyDescendantRemovedFromDocument):
(WebCore::ChildNodeRemovalNotifier::notifyDescendantRemovedFromTree):
(WebCore::ChildFrameDisconnector::collectFrameOwners):
(WebCore::assertConnectedSubrameCountIsConsistent):

  • dom/Document.cpp:

(WebCore::Document::buildAccessKeyMap):

  • dom/Element.cpp:

(WebCore::Element::authorShadowRoot):
(WebCore::Element::userAgentShadowRoot):
(WebCore::Element::ensureUserAgentShadowRoot):

  • dom/Element.h:

(Element):
(WebCore::Element::hasAuthorShadowRoot):

  • dom/Element.idl:
  • dom/ElementShadow.cpp:

(WebCore::ElementShadow::addShadowRoot):

Allow only one ShadowRoot per ElementShadow. Remove linked list handling.

(WebCore::ElementShadow::removeAllShadowRoots):
(WebCore::ElementShadow::attach):
(WebCore::ElementShadow::detach):
(WebCore::ElementShadow::childNeedsStyleRecalc):
(WebCore::ElementShadow::needsStyleRecalc):
(WebCore::ElementShadow::recalcStyle):
(WebCore::ElementShadow::removeAllEventListeners):

  • dom/ElementShadow.h:

(WebCore::ElementShadow::shadowRoot):
(ElementShadow):
(WebCore::ElementShadow::host):
(WebCore::Node::shadowRoot):
(WebCore):

  • dom/Node.cpp:

(WebCore):
(WebCore::Node::showNodePathForThis):
(WebCore::traverseTreeAndMark):
(WebCore::showSubTreeAcrossFrame):

  • dom/Node.h:

(Node):

  • dom/ShadowRoot.cpp:

(WebCore::ShadowRoot::insertedInto):

  • dom/ShadowRoot.h:

(ShadowRoot):

Remove LinkedList base.


  • dom/TreeScopeAdopter.cpp:

(WebCore::TreeScopeAdopter::moveTreeToNewScope):
(WebCore::TreeScopeAdopter::moveTreeToNewDocument):

  • html/shadow/ContentDistributor.cpp:

(WebCore::ContentDistributor::distribute):
(WebCore::ContentDistributor::invalidate):
(WebCore::ContentDistributor::ensureSelectFeatureSet):

  • inspector/InspectorDOMAgent.cpp:

(WebCore::InspectorDOMAgent::unbind):
(WebCore::InspectorDOMAgent::buildObjectForNode):

  • page/FocusController.cpp:

(WebCore::FocusNavigationScope::FocusNavigationScope):
(WebCore::FocusNavigationScope::focusNavigationScopeOwnedByShadowHost):

  • rendering/RenderFileUploadControl.cpp:

(WebCore::RenderFileUploadControl::uploadButton):

  • svg/SVGTRefElement.cpp:

(WebCore::SVGTRefElement::updateReferencedText):
(WebCore::SVGTRefElement::detachTarget):

  • svg/SVGUseElement.cpp:

(WebCore::SVGUseElement::clearResourceReferences):
(WebCore::SVGUseElement::buildShadowAndInstanceTree):
(WebCore::SVGUseElement::buildShadowTree):

  • testing/Internals.cpp:

(WebCore::Internals::ensureShadowRoot):
(WebCore::Internals::shadowRoot):
(WebCore):

  • testing/Internals.h:

(Internals):

  • testing/Internals.idl:

LayoutTests:

  • editing/text-iterator/basic-iteration-expected.txt:
  • editing/text-iterator/script-tests/basic-iteration.js:

(addShadowTreeWithDivElement):

  • fast/forms/resources/common-spinbutton-change-and-input-events.js:

(testSpinButtonChangeAndInputEvents):

  • fast/forms/resources/common-spinbutton-click-in-iframe.js:

(getSpinButton):

7:11 PM Changeset in webkit [149548] by commit-queue@webkit.org
  • 2 edits in trunk/PerformanceTests/SunSpider

SunSpider 1.0: 3d-morph: use epsilon to check result
https://bugs.webkit.org/show_bug.cgi?id=115553

Patch by Cosmin Truta <ctruta@blackberry.com> on 2013-05-03
Reviewed by George Staikos.

SunSpider/3d-morph should be more lenient in validating its results, since they depend on Math.sin, which isn't formally specified.

  • tests/sunspider-1.0/3d-morph.js:
7:07 PM Changeset in webkit [149547] by commit-queue@webkit.org
  • 1 edit
    9 adds in trunk/Tools

Create a script to import W3C tests
https://bugs.webkit.org/show_bug.cgi?id=111513

Patch by Rebecca Hauck <rhauck@adobe.com> on 2013-05-03
Reviewed by Dirk Pranke.

Script to automate the import of W3C tests into WebKit.
For the full description of how it works, see the comments
at the top of test_importer.py.

  • Scripts/import-w3c-tests: Added.
  • Scripts/webkitpy/w3c/init.py: Added.
  • Scripts/webkitpy/w3c/test_converter.py: Added.

(TestConverter):
(TestConverter.init):
(TestConverter.load_prefixed_prop_list):
(TestConverter.load_file):
(TestConverter.convert_for_webkit):
(TestConverter.convert_testharness_paths):
(TestConverter.convert_prefixed_properties):
(TestConverter.scrub_unprefixed_props):
(TestConverter.replace_tag):

  • Scripts/webkitpy/w3c/test_converter_unittest.py: Added.

(TestConverterTest):
(TestConverterTest.testLoadPrefixedPropList):
(TestConverterTest.test_convertForWebkitNothingToConvert):
(test_convertForWebkitHarnessOnly):
(test_convertForWebkitPropsOnly):
(test_convertForWebkitHarnessAndProps):
(test_convertTestHarnessPaths):
(test_convertPrefixedProperties):
(verifyTestHarnessPaths):
(verifyPrefixedProperties):
(generateTestContent):

  • Scripts/webkitpy/w3c/test_importer.py: Added.

(main):
(parse_args):
(validate_import_directory):
(TestImporter):
(TestImporter.init):
(TestImporter.do_import):
(TestImporter.get_changeset):
(TestImporter.scan_source_directory):
(TestImporter.import_tests):
(TestImporter.setup_destination_directory):
(TestImporter.get_test_status):
(TestImporter.remove_deleted_files):
(TestImporter.write_import_log):

  • Scripts/webkitpy/w3c/test_importer_unittest.py: Added.

(TestImporterTest):
(TestImporterTest.test_ImportDirWithNoTests):

  • Scripts/webkitpy/w3c/test_parser.py: Added.

(TestParser):
(TestParser.init):
(TestParser.load_file):
(TestParser.analyze_test):
(TestParser.get_reftests):
(TestParser.is_jstest):
(TestParser.get_support_files):

  • Scripts/webkitpy/w3c/test_parser_unittest.py: Added.

(TestParserTest):
(TestParserTest.test_analyzeTestReftestOneMatch):
(test_analyzeTestReftestMultipleMatches):
(test_analyzeTestReftestMatchAndMismatch):
(test_analyzeTestReftestWithRefSupportFiles):
(test_analyzeJSTest):
(test_analyzePixelTestAllTrue):
(test_analyzePixelTestAllFalse):
(test_analyzeNonHTMLFile):

5:40 PM May 2013 Meeting edited by rniwa@webkit.org
Add a link to binding generators script (diff)
5:08 PM May 2013 Meeting edited by betravis@adobe.com
(diff)
5:03 PM Changeset in webkit [149546] by Martin Robinson
  • 5 edits in trunk/Source/WebCore

Simplify the #ifdefs in GraphicsContext3D.h
https://bugs.webkit.org/show_bug.cgi?id=115568

Reviewed by Daniel Bates.

  • platform/graphics/GraphicsContext3D.h:

(GraphicsContext3D): Combine #ifdefs paths that have a common
implementation. This reduces the #ifdef paths from many to just three.

  • platform/graphics/cairo/GraphicsContext3DCairo.cpp:

(WebCore::GraphicsContext3D::platformTexture): Move the implementation
here to simplify the header.

  • platform/graphics/efl/GraphicsContext3DEfl.cpp:

(WebCore::GraphicsContext3D::platformTexture): Ditto.
(WebCore):

4:50 PM Changeset in webkit [149545] by Christophe Dumez
  • 2 edits in trunk/Tools

Unreviewed. Update Viatcheslav Ostapenko's email in contributors.json.

  • Scripts/webkitpy/common/config/contributors.json:
4:44 PM Changeset in webkit [149544] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[Qt] Build with --video-track fails because String(AtomicString) is ambiguous
https://bugs.webkit.org/show_bug.cgi?id=115551

Patch by Brendan Long <b.long@cablelabs.com> on 2013-05-03
Reviewed by Benjamin Poulain.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::configureTextTrackGroup):
Change String(textTrack->kind()) to textTrack->kind().string(), and same thing with language.

4:41 PM Improving the DOM now that we only have 1 JS engine / the removal of ScriptState! created by jonlee@apple.com
4:40 PM May 2013 Meeting edited by jonlee@apple.com
(diff)
4:12 PM Changeset in webkit [149543] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

[GStreamer] GStreamer log crashes in MediaPlayerPrivateGStreamerBase because of uninitialized category
https://bugs.webkit.org/show_bug.cgi?id=115575

Patch by Xabier Rodriguez Calvar <calvaris@igalia.com> on 2013-05-03
Reviewed by Philippe Normand.

No new tests needed.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

Using extern debug category.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:

Declaring debug category as not static.

3:19 PM Changeset in webkit [149542] by zhajiang@rim.com
  • 2 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Page rendering scale is changed after go back and forward
https://bugs.webkit.org/show_bug.cgi?id=115573

Patch by Jacky Jiang <zhajiang@blackberry.com> on 2013-05-03.
Reviewed by Rob Buis.
Internally reviewed by Jeff Rogers.

PR: 326886
When navigating back from page A with viewport to page B without
viewport, we didn't call setViewMode(); therefore, we didn't change
the fixed layout size which was set by page A. In that case, WebCore
would just pick up page A's fixed layout size to layout page B which
caused this issue.
Expecting zoomToInitialScaleOnLoad() or other functions to setViewMode()
later is not a good way, because zoomToInitialScaleOnLoad() has never
been called in this case. So we should always call setViewMode() to set
fixed layout size when a new page is committed.

  • Api/WebPage.cpp:

(BlackBerry::WebKit::WebPagePrivate::setLoadState):

3:14 PM Changeset in webkit [149541] by bfulgham@webkit.org
  • 2 edits in trunk/Source/WebCore

[WinCairo] Unreviewed VS2010 Build Correction.

  • WebCore.vcxproj/WebCore.vcxproj: Exclude CG-only

SubimageCacheWithTimer.cpp from WinCairo build.

3:12 PM Changeset in webkit [149540] by commit-queue@webkit.org
  • 3 edits
    3 adds in trunk

[Cairo] Anti-aliasing should not be always disabled for lines
https://bugs.webkit.org/show_bug.cgi?id=109535

Patch by Viatcheslav Ostapenko <viatchslav.o@samsung.com> on 2013-05-03
Reviewed by Martin Robinson.

Source/WebCore:

Don't disable antialiasing for text lines because it produces ugly picture if
page is scaled.

Test: fast/css3-text/css3-text-decoration/text-decoration-line-scaled.html

  • platform/graphics/cairo/GraphicsContextCairo.cpp:

(WebCore::drawLineOnCairoContext):

LayoutTests:

Add pixel test with scaled text lines.

  • fast/css3-text/css3-text-decoration/text-decoration-line-scaled.html: Added.
  • platform/efl/fast/css3-text/css3-text-decoration/text-decoration-line-scaled-expected.png: Added.
  • platform/efl/fast/css3-text/css3-text-decoration/text-decoration-line-scaled-expected.txt: Added.
2:41 PM Changeset in webkit [149539] by dbates@webkit.org
  • 2 edits in trunk/Source/WebCore

Remove unnecessary include HTMLNames.h from RenderThemeGtk.cpp
https://bugs.webkit.org/show_bug.cgi?id=115571

Reviewed by Martin Robinson.

  • platform/gtk/RenderThemeGtk.cpp:
2:18 PM Changeset in webkit [149538] by ggaren@apple.com
  • 81 edits in branches/dfgFourthTier

Rolled out r149527 because it caused a crash.

Source/JavaScriptCore:

Rationalized 'this' value conversion
https://bugs.webkit.org/show_bug.cgi?id=115542

Source/WebCore:

Rationalized 'this' value conversion
https://bugs.webkit.org/show_bug.cgi?id=115542

Source/WebKit/mac:

Rationalized 'this' value conversion
https://bugs.webkit.org/show_bug.cgi?id=115542

Source/WebKit2:

Rationalized 'this' value conversion
https://bugs.webkit.org/show_bug.cgi?id=115542

LayoutTests:

Rationalized 'this' value conversion
https://bugs.webkit.org/show_bug.cgi?id=115542

2:06 PM May 2013 Meeting edited by betravis@adobe.com
(diff)
1:56 PM Changeset in webkit [149537] by ap@apple.com
  • 2 edits in trunk/Source/WebCore

[Mac] setMetadataURL incorrectly treats path bytes as Latin-1
https://bugs.webkit.org/show_bug.cgi?id=115557

Reviewed by Sam Weinig.

  • platform/mac/FileSystemMac.mm: (WebCore::setMetaData): Use the correct constructor.
1:56 PM Changeset in webkit [149536] by timothy_horton@apple.com
  • 4 edits in trunk/Source/WebKit2

PDFPlugin: Changes being made to active annotation aren't saved when the PDF is exported
https://bugs.webkit.org/show_bug.cgi?id=115544
<rdar://problem/13801789>

Reviewed by Alexey Proskuryakov.

Commit changes to the active annotation (if there is one) before
returning the live PDF data, so that said changes are represented
in the exported or printed output.

  • WebProcess/Plugins/PDF/PDFPlugin.h: Override liveData.
  • WebProcess/Plugins/PDF/PDFPlugin.mm:

(WebKit::PDFPlugin::liveData): Commit the active annotation if there is one.

  • WebProcess/Plugins/PDF/SimplePDFPlugin.h:

(SimplePDFPlugin): Make liveData virtual.

1:56 PM Changeset in webkit [149535] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

Web process crashes at WebPage::determinePrimarySnapshottedPlugInTimerFired + 8
https://bugs.webkit.org/show_bug.cgi?id=115056
<rdar://problem/13719543>

Reviewed by Simon Fraser.

Null-check m_page. In theory, we shouldn't get here, because we stop
the timer at the only point where m_page is cleared, but crash logs say
we're still crashing here.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::determinePrimarySnapshottedPlugInTimerFired):

1:55 PM Changeset in webkit [149534] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

Remove some "what" comments from FindController
https://bugs.webkit.org/show_bug.cgi?id=115546

Reviewed by Andreas Kling.

  • WebProcess/WebPage/FindController.cpp:

(WebKit::FindController::countStringMatches):
(WebKit::FindController::updateFindUIAfterPageScroll):
(WebKit::FindController::willMoveToWebPage):
(WebKit::FindController::mouseEvent):
Remove or reword some comments.

1:48 PM Changeset in webkit [149533] by abucur@adobe.com
  • 4 edits in trunk/Source/WebCore

Move pixelSnappedLayoutOverflowRect and maxLayoutOverflow from RenderBox
https://bugs.webkit.org/show_bug.cgi?id=115550

Reviewed by Simon Fraser.

The patch moves pixelSnappedLayoutOverflowRect and maxLayoutOverflow out
of RenderBox somewhere logically closer to their usage place.

pixelSnappedLayoutOverflowRect - moved to RenderView because it's called only
for RenderView at this moment.
There are other places when the overflow rect is pixel snapped but only after
the rect is adjusted for writing modes or inflated.

maxLayoutOverflow - moved to RenderTreeAsText.cpp as a static function because
it's used only there.

Tests: no new functional change.

  • rendering/RenderBox.h: The functions declarations are removed.
  • rendering/RenderTreeAsText.cpp:

(WebCore::maxLayoutOverflow):

  • rendering/RenderView.h:

(WebCore::RenderView::pixelSnappedLayoutOverflowRect):

1:43 PM Changeset in webkit [149532] by akling@apple.com
  • 11 edits in trunk/Source

StyleResolver: Have "list of matched rules" API vend internal types instead of CSSOM wrappers.
<http://webkit.org/b/115563>

Reviewed by Antti Koivisto.

Source/WebCore:

Change styleRulesForElement() and pseudoStyleRulesForElement() to return Vectors of StyleRuleBase
instead of CSSRuleLists. This defers instantiating CSSOM wrappers until they're actually needed
for exposure to web API.

  • page/DOMWindow.cpp:

(WebCore::DOMWindow::getMatchedCSSRules):

Create a StaticCSSRuleList and populate it with CSSOM wrappers for the matched rules.
This is the one place where we expose this functionality to the web.

  • css/ElementRuleCollector.h:
  • css/ElementRuleCollector.cpp:

(WebCore::ElementRuleCollector::matchedRuleList):
(WebCore::ElementRuleCollector::sortAndTransferMatchedRules):

Collect internal StyleRuleBase pointers here instead of creating wrappers.

  • css/StyleResolver.h:
  • css/StyleResolver.cpp:

(WebCore::StyleResolver::styleRulesForElement):
(WebCore::StyleResolver::pseudoStyleRulesForElement):

Vend said pointers.

  • editing/EditingStyle.cpp:

(WebCore::styleFromMatchedRulesForElement):

Dodge CSSOM wrapper instantiation (Woop woop!)

  • inspector/InspectorCSSAgent.h:
  • inspector/InspectorCSSAgent.cpp:

(WebCore::InspectorCSSAgent::buildObjectForRule):

Split buildObjectForRule() into two versions, one for CSSStyleRule and one for StyleRule.
The CSSStyleRule one doesn't need a special path for parent-less rules, since those always
come in through the StyleRule interface instead. This factoring can be improved further
after this change.

(WebCore::InspectorCSSAgent::getMatchedStylesForNode):
(WebCore::InspectorCSSAgent::buildArrayForRuleList):
(WebCore::InspectorCSSAgent::buildArrayForMatchedRuleList):

Tweaked for changes in StyleResolver API.

Source/WebKit/qt:

  • Api/qwebelement.cpp:

(QWebElement::styleProperty):

Tweaked for changes in StyleResolver API.

1:29 PM Changeset in webkit [149531] by ap@apple.com
  • 2 edits in trunk/Source/WebCore

REGRESSION (r145042): Downloading a file sometimes results in could not create
a sandbox extension Console message and file stays as a .download file
https://bugs.webkit.org/show_bug.cgi?id=115559
<rdar://problem/13785101>

Reviewed by Sam Weinig.

CString is evil, it has two lengths which can be different - specifically, fileSystemRepresentation()
creates a string with maximum possible buffer size. This was confusing resolveSymlinksInPath().

  • platform/cf/FileSystemCF.cpp: (WebCore::fileSystemRepresentation): Change fileSystemRepresentation to be less surprising. Really, we should rip apart CString and update callers to use better defined semantics, but this is the one function that repeatedly causes problems in practice.
1:27 PM Changeset in webkit [149530] by akling@apple.com
  • 13 edits in trunk/Source/WebCore

CSSRule style declarations getters shouldn't be const.
<http://webkit.org/b/115572>

Reviewed by Antti Koivisto.

Accessing the CSSStyleDeclaration for a CSSRule is a potentially mutating operation,
and should not be const.

  • css/CSSFontFaceRule.cpp:

(WebCore::CSSFontFaceRule::style):

  • css/CSSFontFaceRule.h:
  • css/CSSPageRule.cpp:

(WebCore::CSSPageRule::style):

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

(WebCore::CSSStyleRule::style):

  • css/CSSStyleRule.h:

(CSSStyleRule):

  • css/WebKitCSSFilterRule.cpp:

(WebCore::WebKitCSSFilterRule::style):

  • css/WebKitCSSFilterRule.h:
  • css/WebKitCSSKeyframeRule.cpp:

(WebCore::WebKitCSSKeyframeRule::style):

  • css/WebKitCSSKeyframeRule.h:

(WebKitCSSKeyframeRule):

  • css/WebKitCSSViewportRule.cpp:

(WebCore::WebKitCSSViewportRule::style):

  • css/WebKitCSSViewportRule.h:
12:31 PM Changeset in webkit [149529] by akling@apple.com
  • 7 edits in trunk/Source/WebCore

Use NotNull tag for placement new in WebCore.
<http://webkit.org/b/115569>

Reviewed by Antti Koivisto.

Avoid emitting null checks where we use placement new to construct objects into safe locations.

  • css/StylePropertySet.cpp:

(WebCore::ImmutableStylePropertySet::create):

  • dom/Element.cpp:

(WebCore::ShareableElementData::createWithAttributes):
(WebCore::ShareableElementData::ShareableElementData):
(WebCore::UniqueElementData::makeShareableCopy):

  • dom/QualifiedName.cpp:

(WebCore::QualifiedName::init):
(WebCore::createQualifiedName):

  • dom/make_names.pl:

(printNamesCppFile):

  • platform/ThreadGlobalData.h:

(WebCore::threadGlobalData):

  • platform/graphics/GlyphPage.h:

(WebCore::GlyphPage::createForMixedFontData):

12:11 PM Changeset in webkit [149528] by akling@apple.com
  • 4 edits in trunk/Source/WebCore

Simplify CSSSelectorList creation/adoption.
<http://webkit.org/b/106649>

Reviewed by Antti Koivisto.

Remove the optimization that special-cased construction of CSSSelectorLists with a single entry.
This is in preparation for changing the way we store the selector lists on style rules.

  • css/CSSParser.h:
  • css/CSSSelector.h:

Remove move(PassOwnPtr<CSSSelector> from, CSSSelector* to), inlining it into
CSSSelectorList::adoptSelectorVector instead.

  • css/CSSSelectorList.cpp:

(WebCore::CSSSelectorList::CSSSelectorList):
(WebCore::CSSSelectorList::deleteSelectors):

Handle all selector list lengths the same way.

(WebCore::CSSSelectorList::adoptSelectorVector):

Merge move() from CSSSelector.h into this code since it was the only call site.
Also some minor readability cleanups.

11:46 AM Changeset in webkit [149527] by ggaren@apple.com
  • 81 edits in branches/dfgFourthTier

Rationalized 'this' value conversion
https://bugs.webkit.org/show_bug.cgi?id=115542

Reviewed by Filip Pizlo.

Source/JavaScriptCore:

This fixes a bunch of Sputnik tests.

The new model is that the callee always performs 'this' value conversion.

My ultimate goal is to break up resolve_with_this into single-result
opcodes. This step avoids having to add a new kind of convert_this for
call sites.

  • API/JSCallbackFunction.cpp:

(JSC::JSCallbackFunction::call): Perform 'this' value conversion for
our callee, since it may observe 'this'.

  • API/JSCallbackObjectFunctions.h:

(JSC::::call): Ditto.

  • API/JSContextRef.cpp:

(JSGlobalContextCreateInGroup): Use a proxy 'this' object in global scope
even when we're not in the browser. This eliminates some odd cases where
API clients used to be able to get a direct reference to an environment
record. Now, any reference to an environment record unambiguously means
that the VM resolved that record in the scope chain.

(JSContextGetGlobalObject): Removed an incorrect comment. Now that JSC
participates in the proxy 'this' object scheme, the behavior is not
WebCore-only.

  • JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreExports.def:
  • JavaScriptCore.vcxproj/JavaScriptCoreExportGenerator/JavaScriptCoreExports.def.in:

What are the chances that this will work?

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::dumpBytecode):
(JSC::CodeBlock::CodeBlock): Renamed convert_this to to_this, to match our
other conversion opcodes.

  • bytecode/CodeOrigin.h:

(CodeOrigin):
(InlineCallFrame):
(JSC::CodeOrigin::codeOriginOwner): Use the more precise type for our
executable, so compilation can discover where we're in strict mode.

  • bytecode/Opcode.h:

(JSC::padOpcodeName): Updated for rename.

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::BytecodeGenerator): Always emit to_this when
'this' is in use -- strict mode still needs to convert environment
records to 'undefined'.

  • dfg/DFGAbstractState.cpp:

(JSC::DFG::AbstractState::executeEffects):

  • dfg/DFGByteCodeParser.cpp:

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

  • dfg/DFGCapabilities.h:

(JSC::DFG::canCompileOpcode): Updated for renames.

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::fixupNode): Tightened up this code to consider
strict mode (a new requirement) and to consider the global object (which
was always a requirement).

  • dfg/DFGGraph.h:

(JSC::DFG::Graph::globalThisObjectFor):
(JSC::DFG::Graph::executableFor):

  • dfg/DFGNodeType.h:
  • dfg/DFGOperations.cpp:
  • dfg/DFGOperations.h:
  • dfg/DFGPredictionPropagationPhase.cpp:

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

  • dfg/DFGSpeculativeJIT32_64.cpp:

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

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::compile): Ditto.

  • interpreter/Interpreter.cpp:

(JSC::eval):
(JSC::Interpreter::execute):
(JSC::Interpreter::executeCall):

  • interpreter/Interpreter.h: Don't ASSERT about 'this' -- it's our job

to fix it up if needed.

  • jit/JIT.cpp:

(JSC::JIT::privateCompileMainPass):
(JSC::JIT::privateCompileSlowCases):

  • jit/JIT.h:

(JIT):

  • jit/JITOpcodes.cpp:

(JSC::JIT::emit_op_to_this):
(JSC::JIT::emitSlow_op_to_this):

  • jit/JITOpcodes32_64.cpp:

(JSC::JIT::emit_op_to_this):
(JSC::JIT::emitSlow_op_to_this):

  • jit/JITStubs.cpp:

(JSC::DEFINE_STUB_FUNCTION):

  • jit/JITStubs.h: Removed special case code for various kinds of

conversions. The baseline fast path is now only final objects. It hurt
my brain to think through how to keep the other fast paths working, and
our benchmarks do not object.

  • llint/LLIntData.cpp:

(JSC::LLInt::Data::performAssertions):

  • llint/LLIntSlowPaths.cpp:

(JSC::LLInt::LLINT_SLOW_PATH_DECL):

  • llint/LLIntSlowPaths.h:
  • llint/LowLevelInterpreter.asm:
  • llint/LowLevelInterpreter32_64.asm:
  • llint/LowLevelInterpreter64.asm:
  • profiler/ProfileGenerator.cpp:

(JSC::ProfileGenerator::addParentForConsoleStart):

  • runtime/CallData.cpp:

(JSC::call):

  • runtime/ClassInfo.h:

(MethodTable):
(JSC):

  • runtime/Completion.cpp:

(JSC::evaluate):

  • runtime/DatePrototype.cpp:

(JSC::dateProtoFuncToJSON):

  • runtime/JSActivation.cpp:

(JSC::JSActivation::toThis):

  • runtime/JSActivation.h:

(JSActivation):

  • runtime/JSCJSValue.cpp:

(JSC::JSValue::toThisSlowCase):

  • runtime/JSCJSValue.h:

(JSValue):

  • runtime/JSCJSValueInlines.h:

(JSC::JSValue::toThis):

  • runtime/JSCell.cpp:

(JSC::JSCell::toThis):

  • runtime/JSCell.h:

(JSCell):

  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::toThis):

  • runtime/JSGlobalObject.h:

(JSGlobalObject):

  • runtime/JSNameScope.cpp:

(JSC::JSNameScope::toThis):

  • runtime/JSNameScope.h:

(JSNameScope):

  • runtime/JSObject.cpp:

(JSC::JSObject::put):
(JSC::JSObject::toThis):

  • runtime/JSObject.h:

(JSObject):

  • runtime/JSScope.cpp:

(JSC::JSScope::resolveWithThis):

  • runtime/JSString.cpp:

(JSC::JSString::toThis):

  • runtime/JSString.h:

(JSString):

  • runtime/PropertySlot.cpp:

(JSC::PropertySlot::functionGetter):

  • runtime/SparseArrayValueMap.cpp:

(JSC::SparseArrayEntry::get):
(JSC::SparseArrayEntry::put):

  • runtime/StrictEvalActivation.cpp:

(JSC::StrictEvalActivation::toThis):

  • runtime/StrictEvalActivation.h:

(StrictEvalActivation): Filled out runtime support for converting 'this'
values as needed, according to the strictness of the caller.

Source/WebCore:

Updated to match JSC requirement that the callee performs 'this' value
conversion.

  • WebCore.order:
  • bindings/js/JSErrorHandler.cpp:

(WebCore::JSErrorHandler::handleEvent):

  • bindings/js/JSInjectedScriptHostCustom.cpp:

(WebCore::JSInjectedScriptHost::internalConstructorName):

  • bindings/js/JSMainThreadExecState.h:

(WebCore::JSMainThreadExecState::call):

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateImplementation):

  • bridge/NP_jsobject.cpp:

(_NPN_Invoke):

Source/WebKit/mac:

Updated to match JSC requirement that the callee performs 'this' value
conversion.

  • Plugins/Hosted/NetscapePluginInstanceProxy.mm:

(WebKit::NetscapePluginInstanceProxy::invoke):
(WebKit::NetscapePluginInstanceProxy::invokeDefault):

Source/WebKit2:

Updated to match JSC requirement that the callee performs 'this' value
conversion.

  • WebProcess/Plugins/Netscape/NPJSObject.cpp:

(WebKit::NPJSObject::invoke):

LayoutTests:

We pass these tests now:

  • sputnik/Conformance/11_Expressions/11.1_Primary_Expressions/11.1.1_The_this_Keyword/S11.1.1_A2-expected.txt:
  • sputnik/Conformance/15_Native_Objects/15.5_String/15.5.4/15.5.4.10_String.prototype.match/S15.5.4.10_A1_T3-expected.txt:
  • sputnik/Conformance/15_Native_Objects/15.5_String/15.5.4/15.5.4.11_String.prototype.replace/S15.5.4.11_A1_T3-expected.txt:
  • sputnik/Conformance/15_Native_Objects/15.5_String/15.5.4/15.5.4.12_String.prototype.search/S15.5.4.12_A1_T3-expected.txt:
  • sputnik/Conformance/15_Native_Objects/15.5_String/15.5.4/15.5.4.13_String.prototype.slice/S15.5.4.13_A1_T3-expected.txt:
  • sputnik/Conformance/15_Native_Objects/15.5_String/15.5.4/15.5.4.14_String.prototype.split/S15.5.4.14_A1_T3-expected.txt:
  • sputnik/Conformance/15_Native_Objects/15.5_String/15.5.4/15.5.4.15_String.prototype.substring/S15.5.4.15_A1_T3-expected.txt:
  • sputnik/Conformance/15_Native_Objects/15.5_String/15.5.4/15.5.4.6_String.prototype.concat/S15.5.4.6_A1_T3-expected.txt:
  • sputnik/Conformance/15_Native_Objects/15.5_String/15.5.4/15.5.4.7_String.prototype.indexOf/S15.5.4.7_A1_T3-expected.txt:
  • sputnik/Conformance/15_Native_Objects/15.5_String/15.5.4/15.5.4.8_String.prototype.lastIndexOf/S15.5.4.8_A1_T3-expected.txt:
11:26 AM Changeset in webkit [149526] by Stephanie Lewis
  • 1 edit
    1 add in trunk/LayoutTests

Revert to old results on Lion.

Unreviewed.

Results were updated in (http://trac.webkit.org/changeset/149503) but that is compiled
out on Lion (http://trac.webkit.org/changeset/149510).

  • platform/mac-lion/media/video-controls-captions-trackmenu-localized-expected.txt: Added.
11:08 AM Changeset in webkit [149525] by Antti Koivisto
  • 18 edits
    3 deletes in trunk/Source/WebCore

Remove HTMLShadowElement
https://bugs.webkit.org/show_bug.cgi?id=115555

Reviewed by Andreas Kling.

This is not used internally.

  • CMakeLists.txt:
  • DerivedSources.cpp:
  • DerivedSources.make:
  • DerivedSources.pri:
  • GNUmakefile.list.am:
  • Target.pri:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • dom/ComposedShadowTreeWalker.cpp:
  • dom/NodeRenderingContext.cpp:
  • html/HTMLElementsAllInOne.cpp:
  • html/HTMLTagNames.in:
  • html/InputType.cpp:

(WebCore::InputType::destroyShadowSubtree):

  • html/shadow/ContentDistributor.cpp:

(WebCore::ContentDistributor::distribute):

  • html/shadow/HTMLShadowElement.cpp: Removed.
  • html/shadow/HTMLShadowElement.h: Removed.
  • html/shadow/HTMLShadowElement.idl: Removed.
  • page/DOMWindow.idl:
11:08 AM Changeset in webkit [149524] by bfulgham@webkit.org
  • 2 edits in trunk/Source/WTF

Make ThreadFunctionInvocation fast allocated.
https://bugs.webkit.org/show_bug.cgi?id=115552

Reviewed by Benjamin Poulain.

  • wtf/ThreadFunctionInvocation.h:

(ThreadFunctionInvocation): Make Fast-allocated.

10:12 AM Changeset in webkit [149523] by mikhail.pozdnyakov@intel.com
  • 12 edits
    1 delete in trunk/Source

Remove WTF::ListRefPtr class
https://bugs.webkit.org/show_bug.cgi?id=115516

Reviewed by Anders Carlsson.

ListRefPtr was used only by FontFamily class, besides it strongly depended
on FontFamily class semantics which made it non-generic and inappropriate
for being present inside WTF.

This patch removes WTF::ListRefPtr class and moves its the functionality
into FontFamily class.

Source/WebCore:

No new tests, no change in the behavior.

  • page/FrameTree.h:

(FrameTree):

  • platform/graphics/FontFamily.h:

(FontFamily):
(WebCore::FontFamily::~FontFamily):
(WebCore):

Source/WTF:

  • GNUmakefile.list.am:
  • WTF.pro:
  • WTF.vcproj/WTF.vcproj:
  • WTF.vcxproj/WTF.vcxproj:
  • WTF.vcxproj/WTF.vcxproj.filters:
  • WTF.xcodeproj/project.pbxproj:
  • wtf/CMakeLists.txt:
  • wtf/Forward.h:

(WTF):

  • wtf/ListRefPtr.h: Removed.
9:58 AM Changeset in webkit [149522] by joone.hur@intel.com
  • 2 edits in trunk/LayoutTests

Unreviewed EFL gardening.

Skip some failing tests after r149504.

  • platform/efl/TestExpectations:
3:35 AM WebKitGTK/2.0.x edited by zandobersek@gmail.com
Adding r149486 as a proposed merge. (diff)
3:02 AM WebKitGTK/2.0.x edited by agarcia@igalia.com
(diff)
2:34 AM Changeset in webkit [149521] by allan.jensen@digia.com
  • 2 edits in trunk/Source/WebCore

Crash when calling QWebFrame::evaluateJavaScript
https://bugs.webkit.org/show_bug.cgi?id=113434

Reviewed by Simon Hausmann.

We must take the JS API lock before accessing internal JS methods.

  • bridge/qt/qt_runtime.cpp:

(JSC::Bindings::unwrapBoxedPrimitive):
(JSC::Bindings::getGregorianDateTimeUTC):
(JSC::Bindings::convertQVariantToValue):

12:45 AM May 2013 Meeting edited by Joseph Pecoraro
Added Merging iOS WebKit notes (diff)
12:10 AM Changeset in webkit [149520] by aestes@apple.com
  • 2 edits in trunk/Source/WebKit2

[WK2][CustomProtocols] NSURLProtocolClient methods should be dispatched on NSURLConnection's resource loader run loop
https://bugs.webkit.org/show_bug.cgi?id=115539

Reviewed by Alexey Proskuryakov.

It turns out that calling NSURLProtocolClient methods from a different
thread than the one running the NSURLConnection run loop is unsafe.
Although I can't capture it reliably in a test case, doing so can
sometimes result in a load timing out because the call to
-[NSURLProtocolClient URLProtocolDidFinishLoading:] was ignored by
NSURLConnection.

Fix this by dispatching these methods on the NSURLConnection resource
load run loop. This matches where NSURLProtocolClient methods are
dispatched by typical NSURLProtocol implementations, and in my testing
this solves the timeout issue.

  • Shared/Network/CustomProtocols/CustomProtocolManager.h: Declare

dispatchOnResourceLoaderRunLoop().

  • Shared/Network/CustomProtocols/mac/CustomProtocolManagerMac.mm:

Declare +[NSURLConnection resourceLoaderRunLoop] on a category of
NSURLConnection. Also include the header that declares it if it's present.
(WebKit::CustomProtocolManager::didFailWithError): Call the
NSURLProtocolClient method via dispatchOnResourceLoaderRunLoop().
(WebKit::CustomProtocolManager::didLoadData): Ditto.
(WebKit::CustomProtocolManager::didReceiveResponse): Ditto.
(WebKit::CustomProtocolManager::didFinishLoading): Ditto.
(WebKit::CustomProtocolManager::dispatchOnResourceLoaderRunLoop):
Dispatch a block on the NSURLConnection resource loader run loop and
then wake up the run loop.

12:05 AM May 2013 Meeting edited by Joseph Pecoraro
Added Web Inspector talk notes (diff)
Note: See TracTimeline for information about the timeline view.