WebKit-https.git
9 years ago[Replaceable] attributes must be readonly
rniwa@webkit.org [Tue, 7 May 2013 04:15:05 +0000 (04:15 +0000)]
[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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149660 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years ago[EFL][WK1][PerformanceTests] Adopt --no-timeout option implementation to DumpRenderTree
kangil.han@samsung.com [Tue, 7 May 2013 04:05:10 +0000 (04:05 +0000)]
[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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149659 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agoUnreviewed, build fix on EFL port
gyuyoung.kim@samsung.com [Tue, 7 May 2013 03:13:12 +0000 (03:13 +0000)]
Unreviewed, build fix on EFL port

* CMakeLists.txt: Add LocalStorageDatabaseTracker.cpp

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149658 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agoUnreviewed, GTK build fix after r149637.
philn@webkit.org [Tue, 7 May 2013 02:18:15 +0000 (02:18 +0000)]
Unreviewed, GTK build fix after r149637.

* GNUmakefile.list.am: Add LocalStorageDatabaseTracker sources to
the build.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149657 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agoUnreviewed. AppleWin build fix.
roger_fong@apple.com [Tue, 7 May 2013 01:36:47 +0000 (01:36 +0000)]
Unreviewed. AppleWin build fix.

* WebKit.vcproj/WebKitExports.def.in:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149656 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agoUse OwnPtr instead of deleteAllValues in DocumentMarkerController
darin@apple.com [Tue, 7 May 2013 00:45:31 +0000 (00:45 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149654 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agoReproducible crash in RenderBoxModelObject::adjustedPositionRelativeToOffsetParent()
bdakin@apple.com [Tue, 7 May 2013 00:33:05 +0000 (00:33 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149653 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agoUnify ways to cache named item in HTMLCollections
rniwa@webkit.org [Tue, 7 May 2013 00:20:05 +0000 (00:20 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149652 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agoRemove some unnecessary soft linking in NetworkProcess.
beidson@apple.com [Tue, 7 May 2013 00:05:12 +0000 (00:05 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149651 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agoUnreviewed, rolling out r149547.
commit-queue@webkit.org [Mon, 6 May 2013 23:55:15 +0000 (23:55 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149650 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agoFlaky Test: fast/frames/crash-remove-iframe-during-object-beforeload.html
akling@apple.com [Mon, 6 May 2013 23:21:39 +0000 (23:21 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149648 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agoMore work on LocalStorageDatabaseTracker
andersca@apple.com [Mon, 6 May 2013 23:06:18 +0000 (23:06 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149647 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years ago <rdar://problem/13479806> [Mac] Pass information about open pages to LaunchSe...
ap@apple.com [Mon, 6 May 2013 22:49:17 +0000 (22:49 +0000)]
    <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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149646 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years ago[jhbuild] bump jhbuild version to take advantage of new improvements
kov@webkit.org [Mon, 6 May 2013 22:47:26 +0000 (22:47 +0000)]
[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.

* jhbuild/jhbuild-wrapper: bump jhbuild to 496974221c3a8ac4fbbc3b0a577c71cac224130d.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149645 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years ago<rdar://problem/13775921> Switch off a deprecated API.
mrowe@apple.com [Mon, 6 May 2013 22:33:15 +0000 (22:33 +0000)]
<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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149644 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agoMove local storage directory handling to LocalStorageDatabaseTracker
andersca@apple.com [Mon, 6 May 2013 21:43:15 +0000 (21:43 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149643 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years ago[GTK] Add webkit_uri_scheme_request_finish_error
commit-queue@webkit.org [Mon, 6 May 2013 21:20:41 +0000 (21:20 +0000)]
[GTK] Add webkit_uri_scheme_request_finish_error
https://bugs.webkit.org/show_bug.cgi?id=94316

Patch by Manuel Rego Casasnovas <rego@igalia.com> 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().

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149642 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agoHeap-use-after-free in WebCore::InlineFlowBox::deleteLine
commit-queue@webkit.org [Mon, 6 May 2013 21:18:30 +0000 (21:18 +0000)]
Heap-use-after-free in WebCore::InlineFlowBox::deleteLine
https://bugs.webkit.org/show_bug.cgi?id=114772

Patch by Bem Jones-Bey <bjonesbe@adobe.com> 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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149641 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agoREGRESSION(r140024): child of fixed div inside of absolute div does not get resized...
robert@webkit.org [Mon, 6 May 2013 21:16:42 +0000 (21:16 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149640 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agoEvery LocalStorageDatabase should know about its tracker
andersca@apple.com [Mon, 6 May 2013 21:07:35 +0000 (21:07 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149639 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years ago[BlackBerry] Enable and Expose Text Autosizing through BlackBerry::WebKit::WebSettings
commit-queue@webkit.org [Mon, 6 May 2013 20:56:10 +0000 (20:56 +0000)]
[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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149638 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agoAdd LocalStorageDatabaseTracker class
andersca@apple.com [Mon, 6 May 2013 20:48:36 +0000 (20:48 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149637 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agocheck-webkit-style should complain about a layering violation if platform-specific...
jberlin@webkit.org [Mon, 6 May 2013 20:32:51 +0000 (20:32 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149635 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agoMisc bugfix and cleaning in sh4 base JIT.
commit-queue@webkit.org [Mon, 6 May 2013 20:28:31 +0000 (20:28 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149634 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agoStop using WTF::deleteAllValues in JavaScriptCore
andersca@apple.com [Mon, 6 May 2013 20:17:43 +0000 (20:17 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149633 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agoUse OwnPtr instead of deleteAllValues in SVGAttributeToPropertyMap
darin@apple.com [Mon, 6 May 2013 20:15:19 +0000 (20:15 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149632 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agoHandle closing the local storage database
andersca@apple.com [Mon, 6 May 2013 20:13:08 +0000 (20:13 +0000)]
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().

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149631 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agowebkit-patch: fix 'upload' command with Bugzilla 4.2.5
ddkilzer@apple.com [Mon, 6 May 2013 19:49:08 +0000 (19:49 +0000)]
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:
(test__check_create_bug_response): Add new test that covers both
old and new <title> variations.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149630 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years ago[BlackBerry] Ensure document is attached before accessing its FrameSelection
commit-queue@webkit.org [Mon, 6 May 2013 19:38:10 +0000 (19:38 +0000)]
[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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149629 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agoRemove more code that was only needed for younger/older shadow trees
antti@apple.com [Mon, 6 May 2013 19:37:44 +0000 (19:37 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149628 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years ago[BlackBerry] Do not spellcheck when composition is active.
commit-queue@webkit.org [Mon, 6 May 2013 19:36:29 +0000 (19:36 +0000)]
[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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149627 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years ago[BlackBerry] Reduce the spellcheck checking range
commit-queue@webkit.org [Mon, 6 May 2013 19:31:37 +0000 (19:31 +0000)]
[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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149626 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years ago[BlackBerry] Use a more descriptive timer name
commit-queue@webkit.org [Mon, 6 May 2013 19:29:52 +0000 (19:29 +0000)]
[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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149625 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years ago[BlackBerry] Update HTML5 progress bar UX.
commit-queue@webkit.org [Mon, 6 May 2013 19:13:30 +0000 (19:13 +0000)]
[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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149624 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years ago[CSS Exclusions] remove unused -webkit-wrap property
commit-queue@webkit.org [Mon, 6 May 2013 19:11:58 +0000 (19:11 +0000)]
[CSS Exclusions] remove unused -webkit-wrap property
https://bugs.webkit.org/show_bug.cgi?id=102105

Patch by Bem Jones-Bey <bjonesbe@adobe.com> 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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149623 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agoBuild with GCC 4.8 fails because of -Wmaybe-uninitialized
abecsi@webkit.org [Mon, 6 May 2013 18:49:10 +0000 (18:49 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149622 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agoUnreviewed. AppleWin VS2010 build fix.
roger_fong@apple.com [Mon, 6 May 2013 18:46:55 +0000 (18:46 +0000)]
Unreviewed. AppleWin VS2010 build fix.

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

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149621 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years ago[WK2] Make the WebNetworkInfoManagerProxy a supplement to the WebContext
zandobersek@gmail.com [Mon, 6 May 2013 18:44:25 +0000 (18:44 +0000)]
[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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149620 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years ago <rdar://problem/13479806> [Mac] Pass plug-in bundle ID to LaunchServices
ap@apple.com [Mon, 6 May 2013 18:40:29 +0000 (18:40 +0000)]
    <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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149619 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agoHandle removeItem and clear in LocalStorageDatabase
andersca@apple.com [Mon, 6 May 2013 18:38:44 +0000 (18:38 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149618 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years ago[Flakiness Dashboard] Stop decoding SnowLeopard builder names into platforms
zandobersek@gmail.com [Mon, 6 May 2013 18:13:35 +0000 (18:13 +0000)]
[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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149617 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agoUnreviewed EFL gardening.
ch.dumez@sisa.samsung.com [Mon, 6 May 2013 18:12:01 +0000 (18:12 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149616 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agoWrite storage changes to disk
andersca@apple.com [Mon, 6 May 2013 18:10:10 +0000 (18:10 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149615 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years ago[BlackBerry] Update HTML5 progress bar UX.
commit-queue@webkit.org [Mon, 6 May 2013 18:05:34 +0000 (18:05 +0000)]
[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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149614 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agoUnreviewed EFL gardening.
ch.dumez@sisa.samsung.com [Mon, 6 May 2013 18:03:12 +0000 (18:03 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149613 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agoUnreviewed EFL gardening.
ch.dumez@sisa.samsung.com [Mon, 6 May 2013 17:56:00 +0000 (17:56 +0000)]
Unreviewed EFL gardening.

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

* platform/efl/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149612 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years ago[Flakiness Dashboard] Remove everything Chromium from the builders.json-generating...
zandobersek@gmail.com [Mon, 6 May 2013 17:55:57 +0000 (17:55 +0000)]
[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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149611 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years ago[Flakiness Dashboard] Update expected outcome in a couple of unit tests after r148778
zandobersek@gmail.com [Mon, 6 May 2013 17:49:55 +0000 (17:49 +0000)]
[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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149610 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agoCherry-pick fixes to bignum from upstream
commit-queue@webkit.org [Mon, 6 May 2013 17:49:52 +0000 (17:49 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149609 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agoUnreviewed EFL gardening.
ch.dumez@sisa.samsung.com [Mon, 6 May 2013 17:48:24 +0000 (17:48 +0000)]
Unreviewed EFL gardening.

Skip repaint test that regressed after r149292.

* platform/efl/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149608 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agoUnreviewed EFL gardening.
ch.dumez@sisa.samsung.com [Mon, 6 May 2013 17:46:59 +0000 (17:46 +0000)]
Unreviewed EFL gardening.

Skip repaint test that regressed after r149292.

* platform/efl/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149607 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agoUnreviewed EFL gardening.
ch.dumez@sisa.samsung.com [Mon, 6 May 2013 17:44:17 +0000 (17:44 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149606 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years ago[Flakiness Dashboard] Remove the remaining traces of platform modifier unions
zandobersek@gmail.com [Mon, 6 May 2013 17:44:16 +0000 (17:44 +0000)]
[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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149605 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years ago[Flakiness Dashboard] Simplify builder-name-based platform recognition
zandobersek@gmail.com [Mon, 6 May 2013 17:32:50 +0000 (17:32 +0000)]
[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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149604 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agoUnreviewed EFL gardening.
ch.dumez@sisa.samsung.com [Mon, 6 May 2013 17:15:17 +0000 (17:15 +0000)]
Unreviewed EFL gardening.

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

* platform/efl/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149603 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agoChange HashTraits<RefPtr<P> >::PassOutType to PassRefPtr for better performance
mikhail.pozdnyakov@intel.com [Mon, 6 May 2013 16:41:38 +0000 (16:41 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149602 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agoJSC ARM traditional failing on Octane NavierStokes test
rgabor@webkit.org [Mon, 6 May 2013 16:37:41 +0000 (16:37 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149601 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years ago[WK2] Make the WebBatteryManagerProxy a supplement to the WebContext
zandobersek@gmail.com [Mon, 6 May 2013 16:17:40 +0000 (16:17 +0000)]
[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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149600 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years ago[texmap] draw content if graphics layer displays a video
commit-queue@webkit.org [Mon, 6 May 2013 15:43:36 +0000 (15:43 +0000)]
[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

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149599 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years ago[CSS Exclusions] shape-inside rounded rectangle tests fail when subpixel layout is...
hmuller@adobe.com [Mon, 6 May 2013 15:28:10 +0000 (15:28 +0000)]
[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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149598 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agoImprove the performance of RenderDeprecatedFlexibleBox.
hyatt@apple.com [Mon, 6 May 2013 15:23:10 +0000 (15:23 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149597 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years ago[EFL] Shadow DOM should be disabled at compile time
ch.dumez@sisa.samsung.com [Mon, 6 May 2013 13:54:58 +0000 (13:54 +0000)]
[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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149596 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agoUnreviewed EFL gardening.
ch.dumez@sisa.samsung.com [Mon, 6 May 2013 13:27:00 +0000 (13:27 +0000)]
Unreviewed EFL gardening.

Remove duplicate Shadow DOM test cases from TestExpectation files.

* platform/efl-wk2/TestExpectations:
* platform/efl/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149595 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agoUnreviewed. Remove duplicate tests from EFL TestExpectation files.
ch.dumez@sisa.samsung.com [Mon, 6 May 2013 12:50:45 +0000 (12:50 +0000)]
Unreviewed. Remove duplicate tests from EFL TestExpectation files.

* platform/efl-wk2/TestExpectations:
* platform/efl/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149594 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agoUnreviewed EFL gardening.
ch.dumez@sisa.samsung.com [Mon, 6 May 2013 12:40:03 +0000 (12:40 +0000)]
Unreviewed EFL gardening.

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

* platform/efl/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149593 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agoUnreviewed GTK gardening.
zandobersek@gmail.com [Mon, 6 May 2013 11:14:58 +0000 (11:14 +0000)]
Unreviewed GTK gardening.

* platform/gtk/TestExpectations: Adding new failure expectations and adjusting an old one.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149592 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agoUnreviewed GTK gardening. Rebaselining after r148720, r149088 and r149407.
zandobersek@gmail.com [Mon, 6 May 2013 10:45:41 +0000 (10:45 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149591 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agoAdded two files I neglected to commit in r149589.
aestes@apple.com [Mon, 6 May 2013 10:32:41 +0000 (10:32 +0000)]
Added two files I neglected to commit in r149589.

* TestWebKitAPI/Tests/mac/CloseNewWindowInNavigationPolicyDelegate.mm: Added.
* TestWebKitAPI/Tests/mac/OpenNewWindow.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149590 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agoREGRESSION (r125592): Reproducible crash in DOMWindow::open when a delegate closes...
aestes@apple.com [Mon, 6 May 2013 10:29:44 +0000 (10:29 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149589 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years ago[GTK] Move GeolocationProviderGeoclue into libPlatform
zandobersek@gmail.com [Mon, 6 May 2013 09:46:58 +0000 (09:46 +0000)]
[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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149588 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years ago[Qt][Win] Unreviewed buildfix after r149579.
zarvai@inf.u-szeged.hu [Mon, 6 May 2013 08:41:01 +0000 (08:41 +0000)]
[Qt][Win] Unreviewed buildfix after r149579.

* plugins/win/PluginDatabaseWin.cpp:
(WebCore::addQtWebKitPluginPath):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149587 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agoManage the presentation of the snapshotted plug-in using JavaScript
graouts@apple.com [Mon, 6 May 2013 08:24:58 +0000 (08:24 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149586 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agoREGRESSION(r140907) - Backport blink r149612 to fix vertical-align and rowspan issue
commit-queue@webkit.org [Mon, 6 May 2013 07:32:33 +0000 (07:32 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149585 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agoWEB SPEECH: deny file-read-data /Library/Speech/Synthesizers
cfleizach@apple.com [Mon, 6 May 2013 05:43:48 +0000 (05:43 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149584 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agoRemove Vector::prepend
andersca@apple.com [Mon, 6 May 2013 04:10:14 +0000 (04:10 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149583 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agoRemove empty function SQLiteFileSystem::registerSQLiteVFS() and its callers
weinig@apple.com [Mon, 6 May 2013 00:22:54 +0000 (00:22 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149582 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agoAX: aria-checked not exposed correctly on menuitemcheckbox or menuitemradio roles
cfleizach@apple.com [Sun, 5 May 2013 23:25:46 +0000 (23:25 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149581 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years ago[wk2] Page Overlays: deviceScaleFactor doesn't update when the display changes
timothy_horton@apple.com [Sun, 5 May 2013 22:11:53 +0000 (22:11 +0000)]
[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

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149580 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agoRemove the Vector::append overload that takes a Vector
andersca@apple.com [Sun, 5 May 2013 19:03:49 +0000 (19:03 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149579 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agoTry to fix the Windows build.
andersca@apple.com [Sun, 5 May 2013 17:48:25 +0000 (17:48 +0000)]
Try to fix the Windows build.

Make plugIns.js have a non-zero length.

* Resources/plugIns.js:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149578 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agoFix incorrect ChangeLog dates on previous commit.
dino@apple.com [Sun, 5 May 2013 05:20:46 +0000 (05:20 +0000)]
Fix incorrect ChangeLog dates on previous commit.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149577 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agoAnimations and Transitions should not start when globally suspended
dino@apple.com [Sun, 5 May 2013 04:43:05 +0000 (04:43 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149576 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agoFix * placement in a few functions as noticed by Mark Rowe.
weinig@apple.com [Sun, 5 May 2013 02:39:51 +0000 (02:39 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149575 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agoMove PopupMenuMac and SearchPopupMenuMac to Source/WebKit/mac
weinig@apple.com [Sun, 5 May 2013 02:35:08 +0000 (02:35 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149574 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agoREGRESSION(r148312): Crash when calling WKPageClose(page) followed by WKPageTerminate...
weinig@apple.com [Sun, 5 May 2013 02:32:24 +0000 (02:32 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149573 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agoGet rid of special cases in AddIncludesForTypeInImpl
ch.dumez@sisa.samsung.com [Sun, 5 May 2013 01:53:46 +0000 (01:53 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149572 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years ago[BlackBerry] Clean up unused spellcheck code
commit-queue@webkit.org [Sun, 5 May 2013 01:47:47 +0000 (01:47 +0000)]
[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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149571 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agoGet rid of AddIncludesForSVGAnimatedType in bindings generator
ch.dumez@sisa.samsung.com [Sun, 5 May 2013 01:34:59 +0000 (01:34 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149570 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agoUpdate code generators to handle a new JavaScript file for snapshotted plug-ins
graouts@apple.com [Sat, 4 May 2013 21:44:41 +0000 (21:44 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149569 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agoUnreviewed, rolling out r149563.
akling@apple.com [Sat, 4 May 2013 20:29:32 +0000 (20:29 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149568 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agoREGRESSION(r142647): Flaky Test: fast/frames/crash-remove-iframe-during-object-before...
akling@apple.com [Sat, 4 May 2013 20:25:13 +0000 (20:25 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149567 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agoRemove GraphicsContext::strokeArc(), which is unused.
akling@apple.com [Sat, 4 May 2013 20:22:01 +0000 (20:22 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149566 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agoRemove unused CSSSelector::isCustomPseudoType().
akling@apple.com [Sat, 4 May 2013 20:10:12 +0000 (20:10 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149565 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agoNo need to declare JSC::LLInt::Data as friend class of WTF::StringImpl
commit-queue@webkit.org [Sat, 4 May 2013 19:36:34 +0000 (19:36 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149563 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agoGet rid of -[NSMutableDictionary _webkit_setObject:forUncopiedKey:]
andersca@apple.com [Sat, 4 May 2013 19:04:27 +0000 (19:04 +0000)]
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:]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149562 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agohttps://bugs.webkit.org/show_bug.cgi?id=115574
bdakin@apple.com [Sat, 4 May 2013 18:46:20 +0000 (18:46 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149561 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agoRemove ShadowRoot's previous/next ShadowRoot pointers.
akling@apple.com [Sat, 4 May 2013 16:29:05 +0000 (16:29 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149560 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agoRenderObject: don't change GraphicsContext state when not drawing dashed/dotted lines.
akling@apple.com [Sat, 4 May 2013 15:27:45 +0000 (15:27 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149559 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agoUnreviewed.
zandobersek@gmail.com [Sat, 4 May 2013 15:18:29 +0000 (15:18 +0000)]
Unreviewed.

* Scripts/webkitpy/common/config/contributors.json: Correcting my igalia.com email address.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149558 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9 years agoRemove CSS selector profiler branches from ElementRuleCollector loop.
akling@apple.com [Sat, 4 May 2013 15:03:26 +0000 (15:03 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149557 268f45cc-cd09-0410-ab3c-d52691b4dbfc