commit-queue@webkit.org [Tue, 27 Aug 2013 15:04:22 +0000 (15:04 +0000)]
[EFL] Added new accessibility expectations after r154332
https://bugs.webkit.org/show_bug.cgi?id=120359
Unreviewed EFL gardening.
Patch by Krzysztof Czech <k.czech@samsung.com> on 2013-08-27
* platform/efl-wk1/accessibility/file-upload-button-stringvalue-expected.txt: Added.
* platform/efl-wk2/accessibility/file-upload-button-stringvalue-expected.txt: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154684
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Tue, 27 Aug 2013 15:00:07 +0000 (15:00 +0000)]
[gstreamer] Make sure gstreamer source element is thread-safe
https://bugs.webkit.org/show_bug.cgi?id=115352
Patch by Andre Moreira Magalhaes <andre.magalhaes@collabora.co.uk> on 2013-08-27
Reviewed by Philippe Normand.
Source/WebCore:
GStreamer source element may be created by any gstreamer element on any thread by calling
gst_element_make_from_uri with the URIs handled by the source element.
This patch makes sure the gstreamer source element is thread-safe to avoid issues with it
being created outside the main thread.
* platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
(webkit_web_src_init):
(webKitWebSrcDispose):
(webKitWebSrcFinalize):
(webKitWebSrcSetProperty):
(webKitWebSrcGetProperty):
(removeTimeoutSources):
(webKitWebSrcStop):
(webKitWebSrcStart):
(webKitWebSrcChangeState):
(webKitWebSrcQueryWithParent):
(webKitWebSrcGetUri):
(webKitWebSrcSetUri):
(webKitWebSrcNeedDataMainCb):
(webKitWebSrcNeedDataCb):
(webKitWebSrcEnoughDataMainCb):
(webKitWebSrcEnoughDataCb):
(webKitWebSrcSeekMainCb):
(webKitWebSrcSeekDataCb):
(webKitWebSrcSetMediaPlayer):
(StreamingClient::StreamingClient):
(StreamingClient::~StreamingClient):
(StreamingClient::createReadBuffer):
(StreamingClient::handleResponseReceived):
(StreamingClient::handleDataReceived):
(StreamingClient::handleNotifyFinished):
(CachedResourceStreamingClient::CachedResourceStreamingClient):
(CachedResourceStreamingClient::~CachedResourceStreamingClient):
(CachedResourceStreamingClient::loadFailed):
(CachedResourceStreamingClient::setDefersLoading):
(CachedResourceStreamingClient::getOrCreateReadBuffer):
(CachedResourceStreamingClient::responseReceived):
(CachedResourceStreamingClient::dataReceived):
(CachedResourceStreamingClient::notifyFinished):
(ResourceHandleStreamingClient::ResourceHandleStreamingClient):
(ResourceHandleStreamingClient::~ResourceHandleStreamingClient):
(ResourceHandleStreamingClient::loadFailed):
(ResourceHandleStreamingClient::setDefersLoading):
(ResourceHandleStreamingClient::getOrCreateReadBuffer):
(ResourceHandleStreamingClient::willSendRequest):
(ResourceHandleStreamingClient::didReceiveResponse):
(ResourceHandleStreamingClient::didReceiveData):
(ResourceHandleStreamingClient::didFinishLoading):
(ResourceHandleStreamingClient::didFail):
(ResourceHandleStreamingClient::wasBlocked):
(ResourceHandleStreamingClient::cannotShowURL):
Make element thread-safe, add support to use the element without a player associated (e.g.
the DASH plugin using the webkitsrc to download fragments), use GMutexLocker to simplify
locks and other general improvements.
Source/WTF:
Add convenience class that simplifies locking and unlocking a GMutex.
* GNUmakefile.list.am:
* wtf/gobject/GMutexLocker.h: Added.
(WebCore::GMutexLocker::GMutexLocker):
(WebCore::GMutexLocker::~GMutexLocker):
(WebCore::GMutexLocker::lock):
(WebCore::GMutexLocker::unlock):
(WebCore::GMutexLocker::mutex):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154683
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
antti@apple.com [Tue, 27 Aug 2013 14:39:46 +0000 (14:39 +0000)]
Remove branch from DescendantIteratorAdapter::begin() when invoking for ContainerNode
https://bugs.webkit.org/show_bug.cgi?id=120358
Reviewed by Andreas Kling.
* dom/ContainerNode.h:
Delete isContainerNode() so it can't be called if there is static knowledge that the object is a ContainerNode.
* dom/DescendantIterator.h:
(WebCore::::DescendantIterator):
Make DescendantIterator use Node* as root instead of ContainerNode*. It is only used for equality comparison.
(WebCore::::begin):
Remove branch. Rely on ElementTraversal specialization for ContainerNodes.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154682
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Tue, 27 Aug 2013 14:13:31 +0000 (14:13 +0000)]
Web Inspector: Column Breakpoint not working, may be off by 1
https://bugs.webkit.org/show_bug.cgi?id=120334
Patch by Joseph Pecoraro <pecoraro@apple.com> on 2013-08-27
Reviewed by David Kilzer.
Source/WebCore:
JavaScriptCore changed to 1-based column numbers at some point. We
need to update the ScriptDebugger assumption that they were 0-based.
Test: inspector-protocol/debugger/column-breakpoint.html
* bindings/js/ScriptDebugServer.cpp:
(WebCore::ScriptDebugServer::createCallFrame):
(WebCore::ScriptDebugServer::updateCallFrameAndPauseIfNeeded):
LayoutTests:
Write a protocol test for setting a breakpoint at a line:column.
* inspector-protocol/debugger/column-breakpoint-expected.txt: Added.
* inspector-protocol/debugger/column-breakpoint.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154681
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Tue, 27 Aug 2013 13:41:08 +0000 (13:41 +0000)]
[EFL] Added new accessibility expectations after r153798.
https://bugs.webkit.org/show_bug.cgi?id=120354
Unreviewed EFL gardening.
Patch by Krzysztof Czech <k.czech@samsung.com> on 2013-08-27
* platform/efl-wk1/accessibility/image-link-expected.txt: Added.
* platform/efl-wk1/accessibility/image-map2-expected.txt: Added.
* platform/efl-wk1/accessibility/table-cell-spans-expected.txt: Added.
* platform/efl-wk1/accessibility/table-cells-expected.txt: Added.
* platform/efl-wk2/accessibility/image-link-expected.txt: Added.
* platform/efl-wk2/accessibility/image-map2-expected.txt: Added.
* platform/efl-wk2/accessibility/table-cell-spans-expected.txt:
* platform/efl-wk2/accessibility/table-cells-expected.txt:
* platform/efl/TestExpectations:
* platform/efl/accessibility/image-link-expected.txt: Removed.
* platform/efl/accessibility/image-map2-expected.txt: Removed.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154680
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
antti@apple.com [Tue, 27 Aug 2013 13:04:21 +0000 (13:04 +0000)]
Switch some more code to element child/descendant iterators
https://bugs.webkit.org/show_bug.cgi?id=120355
Reviewed by Andreas Kling.
Move from Traversal<ElementType>::next() and Traversal<ElementType>::nextSibling() to iterators.
* css/CSSFontFaceSource.cpp:
(WebCore::CSSFontFaceSource::getFontData):
* dom/Document.cpp:
(WebCore::Document::removeTitle):
(WebCore::Document::updateBaseURL):
(WebCore::Document::processBaseElement):
* dom/TreeScope.cpp:
(WebCore::TreeScope::labelElementForId):
(WebCore::TreeScope::findAnchor):
* html/HTMLFieldSetElement.cpp:
(WebCore::HTMLFieldSetElement::invalidateDisabledStateUnder):
(WebCore::HTMLFieldSetElement::childrenChanged):
* html/HTMLLabelElement.cpp:
(WebCore::HTMLLabelElement::control):
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::cancelPendingEventsAndCallbacks):
* html/HTMLObjectElement.cpp:
(WebCore::HTMLObjectElement::parametersForPlugin):
* rendering/FilterEffectRenderer.cpp:
(WebCore::FilterEffectRenderer::buildReferenceFilter):
* svg/SVGFilterPrimitiveStandardAttributes.h:
(WebCore::isSVGFilterPrimitiveStandardAttributes):
(WebCore::SVGFilterPrimitiveStandardAttributes):
* svg/animation/SMILTimeContainer.cpp:
(WebCore::SMILTimeContainer::updateDocumentOrderIndexes):
* svg/graphics/SVGImage.cpp:
(WebCore::SVGImage::hasSingleSecurityOrigin):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154679
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
akling@apple.com [Tue, 27 Aug 2013 13:00:34 +0000 (13:00 +0000)]
FocusController::focusedOrMainFrame() should return a reference.
<https://webkit.org/b/120339>
Reviewed by Antti Koivisto.
Now that Page::mainFrame() returns a reference, we can make this return a reference
too, since there's always either a focused or a main frame.
One hectogram of null checks removed as a result.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154678
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kov@webkit.org [Tue, 27 Aug 2013 12:49:52 +0000 (12:49 +0000)]
[l10n] Updated Polish translation of WebKitGTK+
https://bugs.webkit.org/show_bug.cgi?id=119986
Patch by Piotr Drąg <piotrdrag@gmail.com> on 2013-08-27
Reviewed by Gustavo Noronha Silva.
* pl.po: updated.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154677
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
akling@apple.com [Tue, 27 Aug 2013 12:31:51 +0000 (12:31 +0000)]
Document's renderer is always a RenderView.
<https://webkit.org/b/120304>
Reviewed by Darin Adler.
Let's enforce this better by storing a RenderView* instead of a plain RenderObject*.
We should switch callers that grab at Document::renderer() to calling renderView()
instead, but that's better done separately.
* dom/Document.cpp:
(WebCore::Document::Document):
(WebCore::Document::~Document):
(WebCore::Document::setRenderView):
(WebCore::Document::createRenderTree):
(WebCore::Document::detach):
(WebCore::Document::setInPageCache):
* dom/Document.h:
(WebCore::Document::renderView):
(WebCore::Document::renderer):
* html/parser/HTMLResourcePreloader.cpp:
* rendering/RenderObject.cpp:
(WebCore::RenderObject::setStyle):
* rendering/RenderView.h:
* svg/SVGSVGElement.cpp:
(WebCore::SVGSVGElement::updateCurrentTranslate):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154676
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
g.czajkowski@samsung.com [Tue, 27 Aug 2013 12:09:32 +0000 (12:09 +0000)]
grammar-markers.html and grammar-markers-hidpi.html pass even if element does not have grammar marker
https://bugs.webkit.org/show_bug.cgi?id=119797
Reviewed by Ryosuke Niwa.
After tenth attempts of verifying the grammar marker, the tests call'notifyDone'
even if grammar marker was not be found.
Both grammar-marker.html and grammar-marker-hidpi.html call the text checker
asynchronously. Therefore, we need to wait until either the grammar marker
is found or number of attempts is reached.
Dump more information whether the grammar marker was found to be sure that
the tests do not pass when the element does not have the marker.
* editing/spelling/grammar-markers-expected.txt:
* editing/spelling/grammar-markers-hidpi-expected.txt:
Update the expectations.
* editing/spelling/grammar-markers-hidpi.html:
* editing/spelling/grammar-markers.html:
Dump more information.
Additionally, pass 'document' to hasGrammarMarker instead of
'target' as the method does not work for target/source elements.
* platform/mac/editing/spelling/grammar-markers-expected.png:
* platform/mac/editing/spelling/grammar-markers-hidpi-expected.png: Added.
Update the expectations for Mac.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154675
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
allan.jensen@digia.com [Tue, 27 Aug 2013 10:22:20 +0000 (10:22 +0000)]
Font's fast code path doesn't handle partial runs correctly when kerning or ligatures are enabled
https://bugs.webkit.org/show_bug.cgi?id=100050
Reviewed by Darin Adler.
Renamed m_characterIndex to m_characterIndexOfGlyph and gave it an inline size of 10,
which covers around 66% of all cases. The rest of the cases are now preallocated to the
upper limit which is length of the original TextRun.
* platform/graphics/FontFastPath.cpp:
(WebCore::Font::getGlyphsAndAdvancesForSimpleText):
(WebCore::Font::selectionRectForSimpleText):
(WebCore::Font::offsetForPositionForSimpleText):
* platform/graphics/WidthIterator.cpp:
(WebCore::WidthIterator::WidthIterator):
(WebCore::WidthIterator::advanceInternal):
* platform/graphics/WidthIterator.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154674
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ch.dumez@sisa.samsung.com [Tue, 27 Aug 2013 10:09:06 +0000 (10:09 +0000)]
Implement DOM3 wheel event
https://bugs.webkit.org/show_bug.cgi?id=94081
Reviewed by Darin Adler.
Source/WebCore:
Add support for DOM Level 3 WheelEvent:
http://www.w3.org/TR/DOM-Level-3-Events/#events-WheelEvent
Firefox, IE10 and since recently Blink already support it so
it increases our cross-browser compatibility.
The non-standard 'mousewheel' event is still supported for backward
compatibility. Note that the deltas returned by the mousewheel and
the wheel events are not identical:
- They have opposite signs.
- The wheel event reports the actual amount of pixels that should be
scrolled while the legacy mousewheel event reports a factor of the
number of mouse wheel ticks (using a constant multiplier).
Tests: fast/events/wheelevent-basic.html
fast/events/wheelevent-constructor.html
fast/events/wheelevent-mousewheel-interaction.html
* dom/Document.h:
* dom/Document.idl:
* dom/Element.h:
* dom/Element.idl:
* dom/EventNames.h:
* dom/EventTarget.cpp:
(WebCore::legacyType):
(WebCore::EventTarget::shouldObserveLegacyType):
(WebCore::EventTarget::setupLegacyTypeObserverIfNeeded):
(WebCore::EventTarget::fireEventListeners):
* dom/EventTarget.h:
* dom/Node.cpp:
(WebCore::Node::didMoveToNewDocument):
(WebCore::tryAddEventListener):
(WebCore::tryRemoveEventListener):
(WebCore::Node::defaultEventHandler):
* dom/WheelEvent.cpp:
(WebCore::WheelEventInit::WheelEventInit):
(WebCore::WheelEvent::WheelEvent):
(WebCore::WheelEvent::initWheelEvent):
* dom/WheelEvent.h:
(WebCore::WheelEvent::deltaX):
(WebCore::WheelEvent::deltaY):
(WebCore::WheelEvent::deltaZ):
(WebCore::WheelEvent::wheelDelta):
(WebCore::WheelEvent::wheelDeltaX):
(WebCore::WheelEvent::wheelDeltaY):
* dom/WheelEvent.idl:
* html/HTMLAttributeNames.in:
* html/HTMLElement.cpp:
(WebCore::HTMLElement::eventNameForAttributeName):
* page/DOMWindow.cpp:
(WebCore::DOMWindow::addEventListener):
(WebCore::DOMWindow::removeEventListener):
* page/DOMWindow.h:
* page/DOMWindow.idl:
* page/EventHandler.cpp:
(WebCore::EventHandler::defaultWheelEventHandler):
* plugins/blackberry/PluginViewBlackBerry.cpp:
(WebCore::PluginView::handleWheelEvent):
* svg/SVGElementInstance.cpp:
* svg/SVGElementInstance.h:
* svg/SVGElementInstance.idl:
LayoutTests:
Add several layout tests to check support for DOM3 wheel event.
* fast/events/wheelevent-basic-expected.txt: Added.
* fast/events/wheelevent-basic.html: Added.
* fast/events/wheelevent-constructor-expected.txt: Added.
* fast/events/wheelevent-constructor.html: Added.
* fast/events/wheelevent-mousewheel-interaction-expected.txt: Added.
* fast/events/wheelevent-mousewheel-interaction.html: Added.
* platform/efl/fast/events/wheelevent-basic-expected.txt: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154673
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
allan.jensen@digia.com [Tue, 27 Aug 2013 10:00:36 +0000 (10:00 +0000)]
Assertion while scrolling news.google.com
https://bugs.webkit.org/show_bug.cgi?id=115303
Reviewed by Anders Carlsson.
Do not relayout when accessing script elements during painting.
* html/HTMLEmbedElement.cpp:
(WebCore::HTMLEmbedElement::renderWidgetForJSBindings):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154672
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hausmann@webkit.org [Tue, 27 Aug 2013 09:54:21 +0000 (09:54 +0000)]
[Qt] Let Page create the main Frame.
https://bugs.webkit.org/show_bug.cgi?id=120349
Adjust to latest changes in WebCore::Page to create the main frame.
Patch by Arunprasad Rajkumar <arurajku@cisco.com> on 2013-08-27
Reviewed by Simon Hausmann.
* WebCoreSupport/QWebFrameAdapter.cpp:
(QWebFrameData::QWebFrameData):
* WebCoreSupport/QWebPageAdapter.cpp:
(QWebPageAdapter::initializeWebCorePage):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154671
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
carlosgc@webkit.org [Tue, 27 Aug 2013 08:23:01 +0000 (08:23 +0000)]
Unreviewed. Fix GTK+ build after r154601.
* TestWebKitAPI/GNUmakefile.am: Remove mac specific file from
compilation added by mistake in r154601.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154668
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
benjamin@webkit.org [Tue, 27 Aug 2013 07:43:41 +0000 (07:43 +0000)]
Remove DOMSettableTokenList's overload of add() and remove()
https://bugs.webkit.org/show_bug.cgi?id=120341
Reviewed by Ryosuke Niwa.
Little refactoring to make other cleanups easier. Instead of modifying
SpaceSplitString directly, rely on DOMTokenList ultimately changing
the value, which in turn updates the tokens.
* html/DOMSettableTokenList.cpp:
* html/DOMSettableTokenList.h:
* html/DOMTokenList.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154667
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
calvaris@igalia.com [Tue, 27 Aug 2013 07:26:28 +0000 (07:26 +0000)]
[GTK] Volume slider shows incorrect track when muted
https://bugs.webkit.org/show_bug.cgi?id=120253
Reviewed by Philippe Normand.
When painting the volume bar, consider that it could be muted even
then volume is different than zero.
* platform/gtk/RenderThemeGtk.cpp:
(WebCore::RenderThemeGtk::paintMediaVolumeSliderTrack): Asign
painted volume as 0 when media is muted.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154666
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zandobersek@gmail.com [Tue, 27 Aug 2013 06:01:12 +0000 (06:01 +0000)]
Unreviewed GTK build fix.
* WebCoreSupport/FrameLoaderClientGtk.cpp:
(WebKit::FrameLoaderClient::FrameLoaderClient): Remove an assertion that was not removed in r154658.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154664
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
weinig@apple.com [Tue, 27 Aug 2013 04:09:09 +0000 (04:09 +0000)]
EditorInternalCommand should use Frame& where possible
https://bugs.webkit.org/show_bug.cgi?id=120340
Reviewed by Andreas Kling.
Only isSupportedFromDOM still takes a Frame*, as it still has callers that expect null to work.
* dom/UserTypingGestureIndicator.cpp:
* dom/UserTypingGestureIndicator.h:
* editing/Editor.cpp:
* editing/EditorCommand.cpp:
* page/EventHandler.cpp:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154663
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rniwa@webkit.org [Tue, 27 Aug 2013 03:46:42 +0000 (03:46 +0000)]
Elements in a node list of the form element's name getter should not be added to the past names map
https://bugs.webkit.org/show_bug.cgi?id=120279
Reviewed by Darin Adler.
Source/WebCore:
Don't add the element in the named items to the past names map when there are multiple elements.
This matches IE10's behavior and the specified behavior in HTML5:
http://www.w3.org/TR/2013/WD-html51-
20130528/forms.html#dom-form-nameditem
Test: fast/forms/past-names-map-should-not-contain-nodelist-item.html
* html/HTMLFormElement.cpp:
(WebCore::HTMLFormElement::getNamedElements):
LayoutTests:
Add a regression test.
* fast/forms/past-names-map-should-not-contain-nodelist-item-expected.txt: Added.
* fast/forms/past-names-map-should-not-contain-nodelist-item.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154662
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rniwa@webkit.org [Tue, 27 Aug 2013 03:33:21 +0000 (03:33 +0000)]
Another Windows build fix after r154658.
* WebView.cpp:
(WebView::shouldClose):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154661
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Tue, 27 Aug 2013 03:31:30 +0000 (03:31 +0000)]
Fixing compilation warning "unused parameter" in WebPageProxy.cpp
https://bugs.webkit.org/show_bug.cgi?id=120205
Patch by Santosh Mahto <santosh.ma@samsung.com> on 2013-08-26
Reviewed by Anders Carlsson.
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::findPlugin):
(WebKit::WebPageProxy::didBlockInsecurePluginVersion):
Added UNUSED_PARAM to avoid warning.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154660
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rniwa@webkit.org [Tue, 27 Aug 2013 03:26:02 +0000 (03:26 +0000)]
Windows build fix after r154658.
* page/AutoscrollController.cpp:
(WebCore::getMainFrame):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154659
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
akling@apple.com [Tue, 27 Aug 2013 02:47:37 +0000 (02:47 +0000)]
Page::mainFrame() should return a reference.
<http://webkit.org/b/119677>
Reviewed by Antti Koivisto.
Page always creates the main Frame by itself now, so it will never be null during the Page's lifetime.
Let Page::mainFrame() return Frame& and remove a sea of null checks.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154658
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
aestes@apple.com [Tue, 27 Aug 2013 01:25:34 +0000 (01:25 +0000)]
Don't leak objects in HardAutorelease when OBJC_NO_GC is undefined but
Objective-C GC is disabled at runtime.
Reviewed by Darin Adler.
* wtf/ObjcRuntimeExtras.h:
(HardAutorelease):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154655
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
weinig@apple.com [Tue, 27 Aug 2013 00:50:12 +0000 (00:50 +0000)]
Remove two unnecessary .get()s.
Reviewed by Anders Carlsson.
* editing/Editor.h:
(WebCore::Editor::killRing):
(WebCore::Editor::spellChecker):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154654
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap@apple.com [Mon, 26 Aug 2013 23:45:20 +0000 (23:45 +0000)]
[Mac] can-read-in-dragstart-event.html and can-read-in-copy-and-cut-events.html fail
https://bugs.webkit.org/show_bug.cgi?id=113094
* platform/mac-wk2/TestExpectations:
* platform/mac/TestExpectations:
Updated expectations, these tests should be good now.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154653
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap@apple.com [Mon, 26 Aug 2013 23:38:49 +0000 (23:38 +0000)]
WebKitTestRunner needs to protect the user's pasteboard contents while running
https://bugs.webkit.org/show_bug.cgi?id=81419
<rdar://problem/
11066794>
Reviewed by Darin Adler.
Mostly a copy/paste of DRT code.
Tested manually by making sure that editing/pasteboard/copy-image-with-alt-text.html
doesn't interfere with my clipboard while being run in a loop.
* WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
* WebKitTestRunner/mac/PoseAsClass.h: Added.
* WebKitTestRunner/mac/PoseAsClass.mm: Added.
* WebKitTestRunner/mac/TestControllerMac.mm:
(WTR::TestController::platformInitialize):
(WTR::TestController::platformDestroy):
* WebKitTestRunner/mac/WebKitTestRunnerPasteboard.h: Added.
* WebKitTestRunner/mac/WebKitTestRunnerPasteboard.mm: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154652
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
joepeck@webkit.org [Mon, 26 Aug 2013 23:37:16 +0000 (23:37 +0000)]
Web Inspector: We should regenerate InspectorBackendCommands.js for Legacy Inspector.json versions
https://bugs.webkit.org/show_bug.cgi?id=120242
Reviewed by NOBODY (OOPS!).
Source/WebCore:
- Update the Inspector.json CodeGenerator to include an output_js_dir.
- Cleanup multiple trailing newlines in some of the generated files.
- Provide a way to not verify runtime casts, needed for Legacy inputs.
* CMakeLists.txt:
* DerivedSources.make:
* DerivedSources.pri:
* GNUmakefile.am:
* inspector/CodeGeneratorInspector.py:
(resolve_all_types):
(SmartOutput.close):
Source/WebInspectorUI:
- Include the iOS 6.0 Inspector.json which maps to Legacy/6.0/InspectorBackendCommands.js.
- Provide a helper script to regenerate the backend commands file for trunk and Versions.
- Regenerated file now includes enums and other minor changes.
* Scripts/update-InspectorBackendCommands.rb: Added.
* UserInterface/InspectorBackendCommands.js:
* UserInterface/Legacy/6.0/InspectorBackendCommands.js:
* Versions/Inspector-iOS-6.0.json: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154651
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Mon, 26 Aug 2013 23:25:26 +0000 (23:25 +0000)]
Unreviewed, rolling out r154640.
http://trac.webkit.org/changeset/154640
https://bugs.webkit.org/show_bug.cgi?id=120329
Caused flaky crashes on a lot of editing tests (Requested by
rniwa on #webkit).
* WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
* WebKitTestRunner/mac/PoseAsClass.h: Removed.
* WebKitTestRunner/mac/PoseAsClass.mm: Removed.
* WebKitTestRunner/mac/TestControllerMac.mm:
(WTR::TestController::platformInitialize):
(WTR::TestController::platformDestroy):
* WebKitTestRunner/mac/WebKitTestRunnerPasteboard.h: Removed.
* WebKitTestRunner/mac/WebKitTestRunnerPasteboard.mm: Removed.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154650
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz@apple.com [Mon, 26 Aug 2013 23:23:42 +0000 (23:23 +0000)]
Automatic bug reports case pain
https://bugs.webkit.org/show_bug.cgi?id=120330
Reviewed by Anders Carlsson.
* Scripts/webkitpy/tool/commands/download.py: Made the following changes to the Description
of bugs filed by the bot: changed “the sheriff-bot” to “webkitbot”, changed “case pain” to
“fail”, and removed “"Only you can prevent forest fires." -- Smokey the Bear”.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154649
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
weinig@apple.com [Mon, 26 Aug 2013 22:49:18 +0000 (22:49 +0000)]
AlternativeTextController should hold onto Frame as a reference
https://bugs.webkit.org/show_bug.cgi?id=120327
Reviewed by Andreas Kling.
While in the area I also:
- Reference-ified Editor::killRing().
- Const-ified Editor::m_killRing, Editor::m_spellChecker, and Editor::m_alternativeTextController.
* editing/AlternativeTextController.cpp:
(WebCore::AlternativeTextController::AlternativeTextController):
(WebCore::AlternativeTextController::stopPendingCorrection):
(WebCore::AlternativeTextController::isSpellingMarkerAllowed):
(WebCore::AlternativeTextController::applyAlternativeTextToRange):
(WebCore::AlternativeTextController::applyAutocorrectionBeforeTypingIfAppropriate):
(WebCore::AlternativeTextController::respondToUnappliedSpellCorrection):
(WebCore::AlternativeTextController::timerFired):
(WebCore::AlternativeTextController::handleAlternativeTextUIResult):
(WebCore::AlternativeTextController::rootViewRectForRange):
(WebCore::AlternativeTextController::respondToChangedSelection):
(WebCore::AlternativeTextController::respondToAppliedEditing):
(WebCore::AlternativeTextController::respondToUnappliedEditing):
(WebCore::AlternativeTextController::alternativeTextClient):
(WebCore::AlternativeTextController::editorClient):
(WebCore::AlternativeTextController::markPrecedingWhitespaceForDeletedAutocorrectionAfterCommand):
(WebCore::AlternativeTextController::processMarkersOnTextToBeReplacedByResult):
(WebCore::AlternativeTextController::respondToMarkerAtEndOfWord):
(WebCore::AlternativeTextController::insertDictatedText):
(WebCore::AlternativeTextController::applyDictationAlternative):
* editing/AlternativeTextController.h:
(WebCore::AlternativeTextController::UNLESS_ENABLED):
* editing/Editor.cpp:
(WebCore::Editor::Editor):
(WebCore::Editor::addToKillRing):
* editing/Editor.h:
(WebCore::Editor::killRing):
* editing/EditorCommand.cpp:
(WebCore::executeYank):
(WebCore::executeYankAndSelect):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154648
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
aestes@apple.com [Mon, 26 Aug 2013 22:40:55 +0000 (22:40 +0000)]
Fix issues found by the Clang Static Analyzer
https://bugs.webkit.org/show_bug.cgi?id=120230
Reviewed by Darin Adler.
Source/JavaScriptCore:
* API/JSValue.mm:
(valueToString): Don't leak every CFStringRef when in Objective-C GC.
* API/ObjCCallbackFunction.mm:
(JSC::ObjCCallbackFunctionImpl::~ObjCCallbackFunctionImpl): Don't
release m_invocation's target since NSInvocation will do it for us on
-dealloc.
(objCCallbackFunctionForBlock): Tell NSInvocation to retain its target
and -release our reference to the copied block.
* API/tests/minidom.c:
(createStringWithContentsOfFile): Free buffer before returning.
* API/tests/testapi.c:
(createStringWithContentsOfFile): Ditto.
Source/WebCore:
* WebCore.xcodeproj/project.pbxproj: Removed FoundationExtras.h.
* accessibility/mac/WebAccessibilityObjectWrapperMac.mm: Removed CFAutoreleaseHelper().
(AXTextMarkerRange): Used HardAutorelease() instead of
CFAutoreleaseHelper().
(AXTextMarkerRangeStart): Ditto.
(AXTextMarkerRangeEnd): Ditto.
(textMarkerForVisiblePosition): Ditto.
* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(-[WebCoreAVFMovieObserver initWithCallback:]): Called [super init]
first so that we don't later use ivars from the wrong self.
(-[WebCoreAVFLoaderDelegate initWithCallback:]): Ditto.
* platform/mac/FoundationExtras.h: Removed.
* platform/mac/KURLMac.mm:
(WebCore::KURL::operator NSURL *): Used WTF's HardAutorelease().
* platform/mac/WebCoreNSURLExtras.mm:
(WebCore::mapHostNameWithRange): Used HardAutorelease() instead of
WebCoreCFAutorelease().
(WebCore::URLWithData): Ditto.
(WebCore::userVisibleString): Ditto.
(WebCore::URLByRemovingComponentAndSubsequentCharacter): Used Vector<>
with an inline capacity rather than heap-allocating a buffer.
* platform/mac/WebCoreObjCExtras.h: Used HardAutorelease() instead of
WebCoreCFAutorelease().
* platform/text/mac/StringImplMac.mm:
(WTF::StringImpl::operator NSString *): Used WTF's HardAutorelease().
Source/WebKit/mac:
* Misc/WebNSFileManagerExtras.mm:
(-[NSFileManager _webkit_startupVolumeName]): Used HardAutorelease()
instead of WebCFAutorelease().
* Misc/WebNSObjectExtras.h: Removed definition of WebCFAutorelease().
* Misc/WebNSURLExtras.mm:
(-[NSURL _web_URLWithLowercasedScheme]): Used HardAutorelease()
instead of WebCFAutorelease().
* Plugins/Hosted/WebHostedNetscapePluginView.mm:
(-[WebHostedNetscapePluginView createPluginLayer]): Stop leaking
CGColors (CALayer retains its backgroundColor property despite the
property attributes claiming otherwise).
* Plugins/WebBasePluginPackage.mm:
(+[WebBasePluginPackage preferredLocalizationName]): Used
HardAutorelease() instead of WebCFAutorelease().
* WebView/WebDeviceOrientationProviderMock.mm:
(-[WebDeviceOrientationProviderMockInternal lastOrientation]): Stop
leaking WebDeviceOrientations.
* WebView/WebPDFRepresentation.mm:
(-[WebPDFRepresentation convertPostScriptDataSourceToPDF:]): Used
HardAutorelease() instead of WebCFAutorelease().
* WebView/WebView.mm:
(+[WebView _setCacheModel:]): Ditto.
(-[WebView _removeObjectForIdentifier:]): Ditto.
Source/WebKit2:
* UIProcess/API/mac/WKBrowsingContextController.mm:
(autoreleased): Don't leak CFURLs when in Objective-C GC.
* WebProcess/WebPage/mac/WKAccessibilityWebPageObject.mm:
(-[WKAccessibilityWebPageObject accessibilityAttributeValue:forParameter:]):
Don't leak CFStrings when in Objective-C GC.
Source/WTF:
* wtf/ObjcRuntimeExtras.h:
(HardAutorelease): Added a canonical implementation of HardAutorelease.
Tools:
* DumpRenderTree/mac/DumpRenderTreePasteboard.m:
(-[LocalPasteboard initWithName:]): Called [super init] first so that we
don't later use ivars from the wrong self.
* DumpRenderTree/mac/TestRunnerMac.mm:
(-[APITestDelegate initWithCompletionCondition:]): Ditto.
* TestWebKitAPI/Tests/WebKit2ObjC/CustomProtocolsTest.mm:
(TestWebKitAPI::TEST): Don't leak WKProcessGroups,
WKBrowsingContextGroups, and WKViews.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154647
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ossy@webkit.org [Mon, 26 Aug 2013 22:34:41 +0000 (22:34 +0000)]
[WK2] Buildfix for non Mac platforms
https://bugs.webkit.org/show_bug.cgi?id=120294
Reviewed by Darin Adler.
* NetworkProcess/AsynchronousNetworkLoaderClient.cpp:
(WebKit::AsynchronousNetworkLoaderClient::didReceiveBuffer):
* NetworkProcess/NetworkResourceLoader.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154646
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
psolanki@apple.com [Mon, 26 Aug 2013 21:54:39 +0000 (21:54 +0000)]
Page::console() should return a reference
https://bugs.webkit.org/show_bug.cgi?id=120320
Reviewed by Darin Adler.
Page::m_console is never NULL so console() can just return a reference.
* css/CSSParser.cpp:
(WebCore::CSSParser::logError):
* dom/Document.cpp:
(WebCore::Document::addConsoleMessage):
(WebCore::Document::addMessage):
* page/DOMWindow.cpp:
(WebCore::DOMWindow::pageConsole):
* page/Page.h:
(WebCore::Page::console):
* xml/XSLStyleSheetLibxslt.cpp:
(WebCore::XSLStyleSheet::parseString):
* xml/XSLTProcessorLibxslt.cpp:
(WebCore::docLoaderFunc):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154645
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rwlbuis@webkit.org [Mon, 26 Aug 2013 21:53:05 +0000 (21:53 +0000)]
Lonely stop crashes
https://bugs.webkit.org/show_bug.cgi?id=87964
Reviewed by Darin Adler.
Source/WebCore:
Provide a nodeAtFloatPoint implementation for RenderSVGGradientStop to avoid hitting the assert in RenderObject::nodeAtFloatPoint.
Test: svg/custom/stop-crash-hittest.svg
* rendering/svg/RenderSVGGradientStop.h:
LayoutTests:
Add testcase by taking stop-crash.svg and adding hittest instructions.
* svg/custom/stop-crash-hittest-expected.txt: Added.
* svg/custom/stop-crash-hittest.svg: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154644
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
weinig@apple.com [Mon, 26 Aug 2013 21:50:32 +0000 (21:50 +0000)]
Editor::spellChecker() should return a reference
https://bugs.webkit.org/show_bug.cgi?id=120325
Reviewed by Anders Carlsson.
* editing/Editor.cpp:
(WebCore::Editor::Editor):
* editing/Editor.h:
(WebCore::Editor::spellChecker):
* editing/SpellChecker.cpp:
(WebCore::SpellChecker::SpellChecker):
(WebCore::SpellChecker::client):
(WebCore::SpellChecker::isAsynchronousEnabled):
(WebCore::SpellChecker::didCheck):
(WebCore::SpellChecker::didCheckSucceed):
* editing/SpellChecker.h:
* page/EditorClient.h:
* testing/Internals.cpp:
(WebCore::Internals::lastSpellCheckRequestSequence):
(WebCore::Internals::lastSpellCheckProcessedSequence):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154643
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
roger_fong@apple.com [Mon, 26 Aug 2013 21:42:33 +0000 (21:42 +0000)]
AppleWin build fix following r154627.
* WebKit.vcxproj/WebKitGUID/WebKitGUID.vcxproj:
* WebKit.vcxproj/WebKitGUID/WebKitGUID.vcxproj.filters:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154642
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bjonesbe@adobe.com [Mon, 26 Aug 2013 21:35:35 +0000 (21:35 +0000)]
Optimize FloatIntervalSearchAdapter::collectIfNeeded
https://bugs.webkit.org/show_bug.cgi?id=120237
Reviewed by David Hyatt.
Source/WebCore:
This is a port of 3 Blink patches:
https://codereview.chromium.org/
22463002 (By shatch@chromium.org)
https://chromiumcodereview.appspot.com/
22909005 (By me)
https://chromiumcodereview.appspot.com/
23084002 (By me)
shatch optimized FloatIntervalSearchAdapter by having it store the
outermost float instead of making a bunch of calls to
logical(Left/Right/Bottom)ForFloat, and then only making that call
once when heightRemaining needs to be computed.
I noticed that now we were storing both the last float encountered and
the outermost float, and that the behavior for shape-outside wasn't
significantly changed by using the outermost float instead of the last
float encountered (and in most cases, using the outermost float gives
more reasonable behavior). Since this isn't covered in the spec yet, I
changed shape-outside to use the outermost float, making it so that we
only need to store one float pointer when walking the placed floats
tree, and keeping the performance win.
Also while changing updateOffsetIfNeeded, removed const, since that is
a lie. Nothing about that method is const.
Test: fast/shapes/shape-outside-floats/shape-outside-floats-outermost.html
* rendering/RenderBlock.cpp:
(WebCore::::updateOffsetIfNeeded):
(WebCore::::collectIfNeeded):
(WebCore::::getHeightRemaining):
(WebCore::RenderBlock::logicalLeftFloatOffsetForLine):
(WebCore::RenderBlock::logicalRightFloatOffsetForLine):
* rendering/RenderBlock.h:
(WebCore::RenderBlock::FloatIntervalSearchAdapter::FloatIntervalSearchAdapter):
(WebCore::RenderBlock::FloatIntervalSearchAdapter::outermostFloat):
LayoutTests:
Test shape-outside behavior when there is more than one float on a
given line.
* fast/shapes/shape-outside-floats/shape-outside-floats-outermost-expected.html: Added.
* fast/shapes/shape-outside-floats/shape-outside-floats-outermost.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154641
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap@apple.com [Mon, 26 Aug 2013 21:34:58 +0000 (21:34 +0000)]
WebKitTestRunner needs to protect the user's pasteboard contents while running
https://bugs.webkit.org/show_bug.cgi?id=81419
<rdar://problem/
11066794>
Reviewed by Darin Adler.
Mostly a copy/paste of DRT code.
Tested manually by making sure that editing/pasteboard/copy-image-with-alt-text.html
doesn't interfere with my clipboard while being run in a loop.
* WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
* WebKitTestRunner/mac/PoseAsClass.h: Added.
* WebKitTestRunner/mac/PoseAsClass.mm: Added.
* WebKitTestRunner/mac/TestControllerMac.mm:
(WTR::TestController::platformInitialize):
(WTR::TestController::platformDestroy):
* WebKitTestRunner/mac/WebKitTestRunnerPasteboard.h: Added.
* WebKitTestRunner/mac/WebKitTestRunnerPasteboard.mm: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154640
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap@apple.com [Mon, 26 Aug 2013 21:11:12 +0000 (21:11 +0000)]
[Mac] can-read-in-dragstart-event.html and can-read-in-copy-and-cut-events.html fail
https://bugs.webkit.org/show_bug.cgi?id=113094
Reviewed by Darin Adler.
Mac platform implementation has checks for pasteboard change count, but it
didn't use to update the count when writing to pasteboad from JavaScript.
* platform/PasteboardStrategy.h: Changed changeCount function to return a long
instead of an int, as the underlying Mac type is NSInteger. Changed all methods
that modify the pasteboard to return a new change count.
* platform/PlatformPasteboard.h: Changed all methods that modify the pasteboard
to return a new change count.
* platform/mac/PasteboardMac.mm:
(WebCore::Pasteboard::clear): Update m_changeCount.
(WebCore::Pasteboard::writeSelectionForTypes): Ditto.
(WebCore::Pasteboard::writePlainText): Ditto.
(WebCore::writeURLForTypes): Ditto.
(WebCore::Pasteboard::writeURL): Ditto.
(WebCore::writeFileWrapperAsRTFDAttachment): Ditto.
(WebCore::Pasteboard::writeImage): Ditto.
(WebCore::Pasteboard::writePasteboard): Ditto.
(WebCore::addHTMLClipboardTypesForCocoaType): Ditto.
(WebCore::Pasteboard::writeString): Ditto.
* platform/mac/PlatformPasteboardMac.mm:
(WebCore::PlatformPasteboard::changeCount): Changed returned type to long to avoid
data loss.
(WebCore::PlatformPasteboard::copy): Return new change count.
(WebCore::PlatformPasteboard::addTypes): Ditto.
(WebCore::PlatformPasteboard::setTypes): Ditto.
(WebCore::PlatformPasteboard::setBufferForType): Ditto.
(WebCore::PlatformPasteboard::setPathnamesForType): Ditto.
(WebCore::PlatformPasteboard::setStringForType): Ditto. Replaced -[NSURL writeToPasteboard:]
with an equivalent implemnentation that tells use whether writing was successful.
There is difference with invalid URL string handling - we used to silently ignore
such requets, but set pasteboard content to empty URL now.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154639
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bfulgham@apple.com [Mon, 26 Aug 2013 21:09:32 +0000 (21:09 +0000)]
[Windows] Unreviewed build fix after r154629.
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj: Add missing build files.
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154638
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rniwa@webkit.org [Mon, 26 Aug 2013 20:50:45 +0000 (20:50 +0000)]
Another GTK+ build fix.
* WebCoreSupport/FrameLoaderClientGtk.cpp:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154637
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rniwa@webkit.org [Mon, 26 Aug 2013 20:45:47 +0000 (20:45 +0000)]
GTK+ build fix. Like r154620.
* webkit/webkitwebframe.cpp:
(webkit_web_frame_new):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154636
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rniwa@webkit.org [Mon, 26 Aug 2013 20:42:43 +0000 (20:42 +0000)]
Windows build fix attempt after r154629.
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154635
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
roger_fong@apple.com [Mon, 26 Aug 2013 20:37:46 +0000 (20:37 +0000)]
Unreviewed. Add missing interface files that were left out in r154627.
* Interfaces/Accessible2/AccessibleEditableText.idl: Added.
* Interfaces/Accessible2/AccessibleText.idl: Added.
* Interfaces/Accessible2/AccessibleText2.idl: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154634
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mhahnenberg@apple.com [Mon, 26 Aug 2013 20:29:06 +0000 (20:29 +0000)]
JSObject::putDirectIndexBeyondVectorLengthWithArrayStorage does a check on the length of the ArrayStorage after possible reallocing it
https://bugs.webkit.org/show_bug.cgi?id=120278
Reviewed by Geoffrey Garen.
Source/JavaScriptCore:
* runtime/JSObject.cpp:
(JSC::JSObject::putDirectIndexBeyondVectorLengthWithArrayStorage):
LayoutTests:
* fast/js/put-direct-index-beyond-vector-length-resize-expected.txt: Added.
* fast/js/put-direct-index-beyond-vector-length-resize.html: Added.
* fast/js/script-tests/put-direct-index-beyond-vector-length-resize.js: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154633
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
fpizlo@apple.com [Mon, 26 Aug 2013 20:09:11 +0000 (20:09 +0000)]
Fix indention of Executable.h.
Rubber stamped by Mark Hahnenberg.
* runtime/Executable.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154632
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bfulgham@apple.com [Mon, 26 Aug 2013 20:08:31 +0000 (20:08 +0000)]
[Windows] Let Page create the main Frame.
https://bugs.webkit.org/show_bug.cgi?id=120323
Reviewed by Anders Carlsson.
* WebCoreSupport/WebFrameLoaderClient.cpp:
(WebFrameLoaderClient::WebFrameLoaderClient): Remove assertion that frame
is passed as construction argument.
(WebFrameLoaderClient::createFrame): Call new 'createSubframeWithOwnerElement'
* WebCoreSupport/WebFrameLoaderClient.h: Update constructor to
handle case of no default frame argument.
(WebFrameLoaderClient::setWebFrame): Added.
* WebFrame.cpp:
(WebFrame::createSubframeWithOwnerElement): Renamed from 'init'.
(WebFrame::initWithWebFrameView): Added for new page-driven load path.
* WebFrame.h: Added new method signatures.
* WebView.cpp:
(WebView::initWithFrame): Update to match behavior of other ports.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154631
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mhahnenberg@apple.com [Mon, 26 Aug 2013 20:01:55 +0000 (20:01 +0000)]
Object.defineProperty should be able to create a PropertyDescriptor where m_attributes == 0
https://bugs.webkit.org/show_bug.cgi?id=120314
Reviewed by Darin Adler.
Currently with the way that defineProperty works, we leave a stray low bit set in
PropertyDescriptor::m_attributes in the following code:
var o = {};
Object.defineProperty(o, 100, {writable:true, enumerable:true, configurable:true, value:"foo"});
This is due to the fact that the lowest non-zero attribute (ReadOnly) is represented as 1 << 1
instead of 1 << 0. We then calculate the default attributes as (DontDelete << 1) - 1, which is 0xF,
but only the top three bits mean anything. Even in the case above, the top three bits are set
to 0 but the bottom bit remains set, which causes us to think m_attributes is non-zero.
Since some of these attributes and their corresponding values are exposed in the JavaScriptCore
framework's public C API, it's safer to just change how we calculate the default value, which is
where the weirdness was originating from in the first place.
* runtime/PropertyDescriptor.cpp:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154630
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
weinig@apple.com [Mon, 26 Aug 2013 19:19:50 +0000 (19:19 +0000)]
Add support for Promises
https://bugs.webkit.org/show_bug.cgi?id=120260
Reviewed by Darin Adler.
Source/JavaScriptCore:
Add an initial implementation of Promises - http://dom.spec.whatwg.org/#promises.
- Despite Promises being defined in the DOM, the implementation is being put in JSC
in preparation for the Promises eventually being defined in ECMAScript.
* CMakeLists.txt:
* DerivedSources.make:
* DerivedSources.pri:
* GNUmakefile.list.am:
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
* JavaScriptCore.xcodeproj/project.pbxproj:
* Target.pri:
Add new files.
* jsc.cpp:
Update jsc's GlobalObjectMethodTable to stub out the new QueueTaskToEventLoop callback. This mean's
you can't quite use Promises with with the command line tool yet.
* interpreter/CallFrame.h:
(JSC::ExecState::promisePrototypeTable):
(JSC::ExecState::promiseConstructorTable):
(JSC::ExecState::promiseResolverPrototypeTable):
* runtime/VM.cpp:
(JSC::VM::VM):
(JSC::VM::~VM):
* runtime/VM.h:
Add supporting code for the new static lookup tables.
* runtime/CommonIdentifiers.h:
Add 3 new identifiers, "Promise", "PromiseResolver", and "then".
* runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::reset):
(JSC::JSGlobalObject::visitChildren):
Add supporting code Promise and PromiseResolver's constructors and structures.
* runtime/JSGlobalObject.h:
(JSC::TaskContext::~TaskContext):
Add a new callback to the GlobalObjectMethodTable to post a task on the embedder's runloop.
(JSC::JSGlobalObject::promisePrototype):
(JSC::JSGlobalObject::promiseResolverPrototype):
(JSC::JSGlobalObject::promiseStructure):
(JSC::JSGlobalObject::promiseResolverStructure):
(JSC::JSGlobalObject::promiseCallbackStructure):
(JSC::JSGlobalObject::promiseWrapperCallbackStructure):
Add supporting code Promise and PromiseResolver's constructors and structures.
* runtime/JSPromise.cpp: Added.
* runtime/JSPromise.h: Added.
* runtime/JSPromiseCallback.cpp: Added.
* runtime/JSPromiseCallback.h: Added.
* runtime/JSPromiseConstructor.cpp: Added.
* runtime/JSPromiseConstructor.h: Added.
* runtime/JSPromisePrototype.cpp: Added.
* runtime/JSPromisePrototype.h: Added.
* runtime/JSPromiseResolver.cpp: Added.
* runtime/JSPromiseResolver.h: Added.
* runtime/JSPromiseResolverConstructor.cpp: Added.
* runtime/JSPromiseResolverConstructor.h: Added.
* runtime/JSPromiseResolverPrototype.cpp: Added.
* runtime/JSPromiseResolverPrototype.h: Added.
Add Promise implementation.
Source/WebCore:
Add an initial implementation of Promises - http://dom.spec.whatwg.org/#promises.
- Despite Promises being defined in the DOM, the implementation is being put in JSC
in preparation for the Promises eventually being defined in ECMAScript.
Tests: fast/js/Promise-already-fulfilled.html
fast/js/Promise-already-rejected.html
fast/js/Promise-already-resolved.html
fast/js/Promise-catch-in-workers.html
fast/js/Promise-catch.html
fast/js/Promise-chain.html
fast/js/Promise-exception.html
fast/js/Promise-fulfill-in-workers.html
fast/js/Promise-fulfill.html
fast/js/Promise-init-in-workers.html
fast/js/Promise-init.html
fast/js/Promise-reject-in-workers.html
fast/js/Promise-reject.html
fast/js/Promise-resolve-chain.html
fast/js/Promise-resolve-in-workers.html
fast/js/Promise-resolve-with-then-exception.html
fast/js/Promise-resolve-with-then-fulfill.html
fast/js/Promise-resolve-with-then-reject.html
fast/js/Promise-resolve.html
fast/js/Promise-simple-fulfill-inside-callback.html
fast/js/Promise-simple-fulfill.html
fast/js/Promise-simple-in-workers.html
fast/js/Promise-simple.html
fast/js/Promise-static-fulfill.html
fast/js/Promise-static-reject.html
fast/js/Promise-static-resolve.html
fast/js/Promise-then-in-workers.html
fast/js/Promise-then-without-callbacks-in-workers.html
fast/js/Promise-then-without-callbacks.html
fast/js/Promise-then.html
fast/js/Promise-types.html
fast/js/Promise.html
* GNUmakefile.list.am:
* Target.pri:
* UseJSC.cmake:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSBindingsAllInOne.cpp:
Add new files.
* bindings/js/JSDOMGlobalObjectTask.cpp: Added.
(WebCore::JSGlobalObjectCallback::create):
(WebCore::JSGlobalObjectCallback::~JSGlobalObjectCallback):
(WebCore::JSGlobalObjectCallback::call):
(WebCore::JSGlobalObjectCallback::JSGlobalObjectCallback):
(WebCore::JSGlobalObjectTask::JSGlobalObjectTask):
(WebCore::JSGlobalObjectTask::~JSGlobalObjectTask):
(WebCore::JSGlobalObjectTask::performTask):
* bindings/js/JSDOMGlobalObjectTask.h: Added.
(WebCore::JSGlobalObjectTask::create):
Add a new task type to be used with the GlobalObjectMethodTable's new QueueTaskToEventLoop callback.
* bindings/js/JSDOMWindowBase.cpp:
(WebCore::JSDOMWindowBase::queueTaskToEventLoop):
* bindings/js/JSDOMWindowBase.h:
Implement the GlobalObjectMethodTable callback, QueueTaskToEventLoop.
* bindings/js/JSMainThreadExecState.h:
All using JSMainThreadExecState as a simple RAII object.
* bindings/js/JSWorkerGlobalScopeBase.cpp:
(WebCore::JSWorkerGlobalScopeBase::JSWorkerGlobalScopeBase):
(WebCore::JSWorkerGlobalScopeBase::allowsAccessFrom):
(WebCore::JSWorkerGlobalScopeBase::supportsProfiling):
(WebCore::JSWorkerGlobalScopeBase::supportsRichSourceInfo):
(WebCore::JSWorkerGlobalScopeBase::shouldInterruptScript):
(WebCore::JSWorkerGlobalScopeBase::javaScriptExperimentsEnabled):
(WebCore::JSWorkerGlobalScopeBase::queueTaskToEventLoop):
* bindings/js/JSWorkerGlobalScopeBase.h:
Add a GlobalObjectMethodTable and implement QueueTaskToEventLoop. Forward the other callbacks
to JSGlobalObject so they retain their existing behavior.
LayoutTests:
Add tests adapted from the Mozilla and Blink projects.
* fast/js/Promise-already-fulfilled-expected.txt: Added.
* fast/js/Promise-already-fulfilled.html: Added.
* fast/js/Promise-already-rejected-expected.txt: Added.
* fast/js/Promise-already-rejected.html: Added.
* fast/js/Promise-already-resolved-expected.txt: Added.
* fast/js/Promise-already-resolved.html: Added.
* fast/js/Promise-catch-expected.txt: Added.
* fast/js/Promise-catch-in-workers-expected.txt: Added.
* fast/js/Promise-catch-in-workers.html: Added.
* fast/js/Promise-catch.html: Added.
* fast/js/Promise-chain-expected.txt: Added.
* fast/js/Promise-chain.html: Added.
* fast/js/Promise-exception-expected.txt: Added.
* fast/js/Promise-exception.html: Added.
* fast/js/Promise-expected.txt: Added.
* fast/js/Promise-fulfill-expected.txt: Added.
* fast/js/Promise-fulfill-in-workers-expected.txt: Added.
* fast/js/Promise-fulfill-in-workers.html: Added.
* fast/js/Promise-fulfill.html: Added.
* fast/js/Promise-init-expected.txt: Added.
* fast/js/Promise-init-in-workers-expected.txt: Added.
* fast/js/Promise-init-in-workers.html: Added.
* fast/js/Promise-init.html: Added.
* fast/js/Promise-reject-expected.txt: Added.
* fast/js/Promise-reject-in-workers-expected.txt: Added.
* fast/js/Promise-reject-in-workers.html: Added.
* fast/js/Promise-reject.html: Added.
* fast/js/Promise-resolve-chain-expected.txt: Added.
* fast/js/Promise-resolve-chain.html: Added.
* fast/js/Promise-resolve-expected.txt: Added.
* fast/js/Promise-resolve-in-workers-expected.txt: Added.
* fast/js/Promise-resolve-in-workers.html: Added.
* fast/js/Promise-resolve-with-then-exception-expected.txt: Added.
* fast/js/Promise-resolve-with-then-exception.html: Added.
* fast/js/Promise-resolve-with-then-fulfill-expected.txt: Added.
* fast/js/Promise-resolve-with-then-fulfill.html: Added.
* fast/js/Promise-resolve-with-then-reject-expected.txt: Added.
* fast/js/Promise-resolve-with-then-reject.html: Added.
* fast/js/Promise-resolve.html: Added.
* fast/js/Promise-simple-expected.txt: Added.
* fast/js/Promise-simple-fulfill-expected.txt: Added.
* fast/js/Promise-simple-fulfill-inside-callback-expected.txt: Added.
* fast/js/Promise-simple-fulfill-inside-callback.html: Added.
* fast/js/Promise-simple-fulfill.html: Added.
* fast/js/Promise-simple-in-workers-expected.txt: Added.
* fast/js/Promise-simple-in-workers.html: Added.
* fast/js/Promise-simple.html: Added.
* fast/js/Promise-static-fulfill-expected.txt: Added.
* fast/js/Promise-static-fulfill.html: Added.
* fast/js/Promise-static-reject-expected.txt: Added.
* fast/js/Promise-static-reject.html: Added.
* fast/js/Promise-static-resolve-expected.txt: Added.
* fast/js/Promise-static-resolve.html: Added.
* fast/js/Promise-then-expected.txt: Added.
* fast/js/Promise-then-in-workers-expected.txt: Added.
* fast/js/Promise-then-in-workers.html: Added.
* fast/js/Promise-then-without-callbacks-expected.txt: Added.
* fast/js/Promise-then-without-callbacks-in-workers-expected.txt: Added.
* fast/js/Promise-then-without-callbacks-in-workers.html: Added.
* fast/js/Promise-then-without-callbacks.html: Added.
* fast/js/Promise-then.html: Added.
* fast/js/Promise-types-expected.txt: Added.
* fast/js/Promise-types.html: Added.
* fast/js/Promise.html: Added.
* fast/js/resources/Promise-catch-in-workers.js: Added.
* fast/js/resources/Promise-fulfill-in-workers.js: Added.
* fast/js/resources/Promise-init-in-workers.js: Added.
* fast/js/resources/Promise-reject-in-workers.js: Added.
* fast/js/resources/Promise-resolve-in-workers.js: Added.
* fast/js/resources/Promise-simple-in-workers.js: Added.
* fast/js/resources/Promise-then-in-workers.js: Added.
* fast/js/resources/Promise-then-without-callbacks-in-workers.js: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154629
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rwlbuis@webkit.org [Mon, 26 Aug 2013 19:03:46 +0000 (19:03 +0000)]
Computed style of fill/stroke properties incorrect on references
https://bugs.webkit.org/show_bug.cgi?id=114761
Reviewed by Darin Adler.
Source/WebCore:
The computed style of the fill and stroke properties did not include
the url() function. Added the url() string to output.
Updated existing tests to cover the issue.
* css/CSSPrimitiveValue.cpp: Cleanup.
(WebCore::CSSPrimitiveValue::customCssText):
* svg/SVGPaint.cpp: Added "url("
(WebCore::SVGPaint::customCssText):
LayoutTests:
Add tests to verify that url function is included for references.
* svg/css/script-tests/svg-attribute-parser-mode.js:
* svg/css/svg-attribute-parser-mode-expected.txt:
* transitions/svg-transitions-expected.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154628
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
roger_fong@apple.com [Mon, 26 Aug 2013 19:01:23 +0000 (19:01 +0000)]
<https://bugs.webkit.org/show_bug.cgi?id=119829> Add IAccessibleText and IAccessibleEditableText interfaces and implementation to AppleWin port.
Reviewed by Chris Fleizach.
* AccessibleBase.cpp:
(AccessibleBase::createInstance): Create an AccessibleText instance when necessary.
(AccessibleBase::QueryService):
* AccessibleBase.h:
* AccessibleTextImpl.cpp: Added.
(AccessibleText::AccessibleText):
(AccessibleText::addSelection):
(AccessibleText::get_attributes): Not Implemented
(AccessibleText::get_caretOffset):
(AccessibleText::get_characterExtents):
(AccessibleText::get_nSelections):
(AccessibleText::get_offsetAtPoint):
(AccessibleText::get_selection):
(AccessibleText::get_text):
(AccessibleText::get_textBeforeOffset): Not Implemented
(AccessibleText::get_textAfterOffset): Not Implemented
(AccessibleText::get_textAtOffset): Not Implemented
(AccessibleText::removeSelection):
(AccessibleText::setCaretOffset):
(AccessibleText::setSelection):
(AccessibleText::get_nCharacters):
(AccessibleText::scrollSubstringTo):
(AccessibleText::scrollSubstringToPoint):
(AccessibleText::get_newText): Not Implemented
(AccessibleText::get_oldText): Not Implemented
(AccessibleText::get_attributeRange): Not Implemented
(AccessibleText::copyText):
(AccessibleText::deleteText):
(AccessibleText::insertText):
(AccessibleText::cutText):
(AccessibleText::pasteText):
(AccessibleText::replaceText):
(AccessibleText::setAttributes): Not Implemented
(AccessibleText::QueryInterface):
(AccessibleText::Release):
(AccessibleText::convertSpecialOffset):
(AccessibleText::initialCheck):
* AccessibleTextImpl.h: Added.
(AccessibleText::~AccessibleText):
(AccessibleText::AddRef):
* WebKit.vcxproj/Interfaces/Interfaces.vcxproj:
* WebKit.vcxproj/Interfaces/Interfaces.vcxproj.filters:
* WebKit.vcxproj/WebKit/WebKit.vcxproj:
* WebKit.vcxproj/WebKit/WebKit.vcxproj.filters:
* WebKit.vcxproj/WebKitGUID/WebKitGUID.vcxproj:
* WebKit.vcxproj/WebKitGUID/WebKitGUID.vcxproj.filters:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154627
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zandobersek@gmail.com [Mon, 26 Aug 2013 18:45:21 +0000 (18:45 +0000)]
Plenty of -Wcast-align warnings in KeywordLookup.h
https://bugs.webkit.org/show_bug.cgi?id=120316
Reviewed by Darin Adler.
* KeywordLookupGenerator.py: Use reinterpret_cast instead of a C-style cast when casting
the character pointers to types of larger size. This avoids spewing lots of warnings
in the KeywordLookup.h header when compiling with the -Wcast-align option.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154626
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zandobersek@gmail.com [Mon, 26 Aug 2013 18:43:59 +0000 (18:43 +0000)]
Undefine __STDC_LIMIT_MACROS and __STDC_CONSTANT_MACROS before redefining them
https://bugs.webkit.org/show_bug.cgi?id=120313
Reviewed by Darin Adler.
* wtf/LLVMHeaders.h: Undefine the two macros before they are defined again.
This way we avoid the compilation-time warnings about the macros being invalidly redefined.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154625
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zandobersek@gmail.com [Mon, 26 Aug 2013 18:41:26 +0000 (18:41 +0000)]
Prettify generated build guards in HTMLElementFactory.cpp
https://bugs.webkit.org/show_bug.cgi?id=120310
Reviewed by Darin Adler.
Build guards should wrap the constructor definitions without empty lines between
the guards and the constructor code. Similarly, build guards for addTag calls
shouldn't put an empty line after the build guard closure.
* dom/make_names.pl:
(printConstructorInterior):
(printConstructors):
(printFunctionInits):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154623
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
robert@webkit.org [Mon, 26 Aug 2013 18:31:24 +0000 (18:31 +0000)]
Avoid painting every non-edge collapsed border twice over
https://bugs.webkit.org/show_bug.cgi?id=119759
Reviewed by David Hyatt.
Source/WebCore:
Every collapsed border that isn't on the edge of a table gets painted at least twice, once by each
adjacent cell. The joins are painted four times. This is unnecessary and results in tables with semi-transparent
borders getting rendered incorrectly - each border adjoing two cells is painted twice and ends up darker than it should be.
Fixing the overpainting at joins is another day's work. This patch ensures each collapsed border inside a table is only
painted once. It does this by only allowing cells at the top and left edge of the table to paint their top and left collapsed borders.
All the others can only paint their right and bottom collapsed border. This works because the borders are painted from bottom right to top left.
Tests: fast/table/border-collapsing/collapsed-borders-adjoining-sections-vertical-rl.html
fast/table/border-collapsing/collapsed-borders-adjoining-sections.html
* rendering/RenderTableCell.cpp:
(WebCore::RenderTableCell::paintCollapsedBorders):
LayoutTests:
* fast/table/border-collapsing/collapsed-borders-adjoining-sections-expected.html: Added.
* fast/table/border-collapsing/collapsed-borders-adjoining-sections-vertical-rl-expected.png: Added.
* fast/table/border-collapsing/collapsed-borders-adjoining-sections-vertical-rl-expected.txt: Added.
The painting here, though still wrong, is a progression on the behaviour prior to bug 11759 where
the left border was painted twice. The painting can be resolved completely when we no longer paint
twice at the border joins.
* fast/table/border-collapsing/collapsed-borders-adjoining-sections-vertical-rl.html: Added.
* fast/table/border-collapsing/collapsed-borders-adjoining-sections.html: Added.
* fast/table/border-collapsing/collapsed-borders-painted-once-on-inner-cells-expected.png: Added.
* fast/table/border-collapsing/collapsed-borders-painted-once-on-inner-cells-expected.txt: Added.
* fast/table/border-collapsing/collapsed-borders-painted-once-on-inner-cells.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154622
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
akling@apple.com [Mon, 26 Aug 2013 18:18:57 +0000 (18:18 +0000)]
Unreviewed build fix.
Source/WebCore:
* page/Page.cpp:
(WebCore::Page::setNeedsRecalcStyleInAllFrames):
Source/WebKit/mac:
* WebView/WebFrame.mm:
(+[WebFrame _createMainFrameWithPage:frameName:frameView:]):
Source/WebKit2:
* WebProcess/WebPage/WebFrame.cpp:
(WebKit::WebFrame::createWithCoreMainFrame):
(WebKit::WebFrame::createSubframe):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154620
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bfulgham@apple.com [Mon, 26 Aug 2013 18:06:11 +0000 (18:06 +0000)]
Unreviewed buid fix.
* page/Page.cpp:
(WebCore::Page::setNeedsRecalcStyleInAllFrames): Remove extra '{' character.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154619
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
psolanki@apple.com [Mon, 26 Aug 2013 17:57:00 +0000 (17:57 +0000)]
PageGroup::groupSettings() should return a reference
https://bugs.webkit.org/show_bug.cgi?id=120319
Reviewed by Andreas Kling.
PageGroup::m_groupSettings is never NULL so we can just return a reference from groupSettings().
Source/WebCore:
* Modules/indexeddb/IDBFactory.cpp:
* page/PageGroup.h:
(WebCore::PageGroup::groupSettings):
* storage/StorageNamespaceImpl.cpp:
(WebCore::StorageNamespaceImpl::localStorageNamespace):
* workers/DefaultSharedWorkerRepository.cpp:
(WebCore::SharedWorkerProxy::groupSettings):
* workers/WorkerMessagingProxy.cpp:
(WebCore::WorkerMessagingProxy::startWorkerGlobalScope):
Source/WebKit/blackberry:
* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPagePrivate::didChangeSettings):
Source/WebKit/gtk:
* webkit/webkitwebdatabase.cpp:
(webkit_set_web_database_directory_path):
Source/WebKit2:
* WebProcess/Storage/StorageNamespaceImpl.cpp:
(WebKit::StorageNamespaceImpl::createLocalStorageNamespace):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154618
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
akling@apple.com [Mon, 26 Aug 2013 17:54:33 +0000 (17:54 +0000)]
WebCore: Let Page create the main Frame.
<https://webkit.org/b/119964>
Source/WebCore:
Reviewed by Anders Carlsson.
Previously, Frame::create() would call Page::setMainFrame() when constructing the
main Frame for a Page. Up until that point, Page had a null mainFrame().
To guarantee that Page::mainFrame() is never null, we re-order things so that
Page is responsible for creating its own main Frame. We do this at the earliest
possible point; in the Page constructor initializer list.
Constructing a Frame requires a FrameLoaderClient*, so I've added such a field to
the PageClients struct.
When creating a WebKit-layer frame, we now wrap the already-instantiated
Page::mainFrame() instead of creating a new Frame.
* loader/EmptyClients.cpp:
(WebCore::fillWithEmptyClients):
Add an EmptyFrameLoaderClient to the PageClients constructed here.
* inspector/InspectorOverlay.cpp:
(WebCore::InspectorOverlay::overlayPage):
* svg/graphics/SVGImage.cpp:
(WebCore::SVGImage::dataChanged):
Updated to wrap Page::mainFrame() in a FrameView instead of creating their
own Frame manually.
* page/Frame.cpp:
(WebCore::Frame::create):
* page/Page.h:
Remove Page::setMainFrame() and the only call site.
* page/Page.cpp:
(WebCore::Page::Page):
Construct Page::m_mainFrame in the initializer list.
(WebCore::Page::PageClients::PageClients):
Add "FrameLoaderClient* loaderClientForMainFrame" to PageClients.
(WebCore::Page::setNeedsRecalcStyleInAllFrames):
Null-check the Frame::document() before calling through on it. This would
otherwise crash when changing font-related Settings before calling init() on
the Frame (like InspectorOverlay does.)
Source/WebKit/gtk:
Tweak WebKit1/GTK for changes in WebCore.
Patch by Zan Dobersek <zdobersek@igalia.com>
Reviewed by Gustavo Noronha Silva.
* WebCoreSupport/FrameLoaderClientGtk.h:
(WebKit::FrameLoaderClient::setWebFrame):
* webkit/webkitwebframe.cpp:
(webkit_web_frame_new):
* webkit/webkitwebview.cpp:
(webkit_web_view_init):
Source/WebKit/mac:
Reviewed by Anders Carlsson.
* WebCoreSupport/WebFrameLoaderClient.h:
(WebFrameLoaderClient::setWebFrame):
Make it possible to construct a WebFrameLoaderClient with a null WebFrame*.
A WebFrame* is later hooked up with a call to setWebFrame().
* WebView/WebFrame.mm:
(+[WebFrame _createMainFrameWithPage:frameName:frameView:]):
Customized this method to wrap the Page::mainFrame() instead of creating a
new Frame.
* WebView/WebView.mm:
(-[WebView _commonInitializationWithFrameName:groupName:]):
Add a WebFrameLoaderClient to the PageClients passed to Page().
Source/WebKit2:
Reviewed by Anders Carlsson.
* WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::WebFrameLoaderClient):
This starts out with a null WebFrame* pointer now.
(WebKit::WebFrameLoaderClient::setWebFrame):
WebFrame hooks itself up through this as soon as it's constructed.
(WebKit::WebFrameLoaderClient::frameLoaderDestroyed):
Tweak an out-of-date comment. The ref() we're balancing out comes from
WebFrame::create().
* WebProcess/WebPage/WebFrame.cpp:
(WebKit::WebFrame::createWithCoreMainFrame):
Rewrote createMainFrame() as createWithCoreMainFrame(). The new method wraps
an existing WebCore::Frame instead of creating a new one.
(WebKit::WebFrame::createSubframe):
Merged WebFrame::init() into here since the logic isn't shared with main
Frame creation anymore.
(WebKit::WebFrame::create):
(WebKit::WebFrame::WebFrame):
Call WebFrameLoaderClient::setWebFrame(this).
* WebProcess/WebPage/WebFrame.h:
WebFrame::m_frameLoaderClient is now an OwnPtr rather than an inline member.
This way it can be created before the WebFrame.
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::WebPage):
Set up a WebFrameLoaderClient and pass it to the Page constructor along with
the other PageClients.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154616
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bfulgham@apple.com [Mon, 26 Aug 2013 17:51:46 +0000 (17:51 +0000)]
[Windows] Unreviewed build fix.
* rendering/RenderMediaControls.cpp: Remove references to QuickTime controls
that are no longer part of WKSI.
(wkHitTestMediaUIPart):
(wkMeasureMediaUIPart):
(wkDrawMediaUIPart):
(wkDrawMediaSliderTrack):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154615
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Mon, 26 Aug 2013 17:48:49 +0000 (17:48 +0000)]
<https://webkit.org/b/106133> document.body.scrollTop & document.documentElement.scrollTop differ cross-browser
Patch by Gurpreet Kaur <gur.trio@gmail.com> on 2013-08-26
Reviewed by Darin Adler.
Source/WebCore:
Webkit always uses document.body.scrollTop whether quirks or
standard mode. Similiar behaviour is for document.body.scrollLeft.
As per the specification webkit should return document.body.scrollTop
for quirks mode and document.documentElement.scrollTop for standard mode.
Same for document.body.scrollLeft and document.documentElement.scrollLeft.
Tests: fast/dom/Element/scrollLeft-Quirks.html
fast/dom/Element/scrollLeft.html
fast/dom/Element/scrollTop-Quirks.html
fast/dom/Element/scrollTop.html
* dom/Element.cpp:
(WebCore::Element::scrollLeft):
(WebCore::Element::scrollTop):
If the element does not have any associated CSS layout box or the element
is the root element and the Document is in quirks mode return zero.
Else If the element is the root element return the value of scrollY
for scrollTop and scrollX for scrollLeft.
* html/HTMLBodyElement.cpp:
(WebCore::HTMLBodyElement::scrollLeft):
(WebCore::HTMLBodyElement::scrollTop):
If the element is the HTML body element, the Document is in quirks mode,
return the value of scrollY for scrollTop and scrollX for scrollLeft.
LayoutTests:
* fast/dom/Element/scrollLeft-Quirks-expected.txt: Added.
* fast/dom/Element/scrollLeft-Quirks.html: Added.
* fast/dom/Element/scrollLeft-expected.txt: Added.
* fast/dom/Element/scrollLeft.html: Added.
* fast/dom/Element/scrollTop-Quirks-expected.txt: Added.
* fast/dom/Element/scrollTop-Quirks.html: Added.
* fast/dom/Element/scrollTop-expected.txt: Added.
* fast/dom/Element/scrollTop.html: Added.
Added new tests for verifying our behavior for document.body.scrollTop/scrollLeft and
document.documentElement.scrollTop/scrollLeft for both Quirks as well as Standard mode.
* fast/css/zoom-body-scroll-expected.txt:
* fast/css/zoom-body-scroll.html:
* fast/events/mouse-cursor.html:
* http/tests/navigation/anchor-frames-expected.txt:
* http/tests/navigation/anchor-frames-gbk-expected.txt:
* http/tests/navigation/resources/frame-with-anchor-gbk.html:
* http/tests/navigation/resources/frame-with-anchor-same-origin.html:
* http/tests/navigation/resources/frame-with-anchor.html:
* platform/mac-wk2/tiled-drawing/resources/scroll-and-load-page.html:
* platform/mac-wk2/tiled-drawing/tiled-drawing-scroll-position-page-cache-restoration.html:
* platform/win/fast/css/zoom-body-scroll-expected.txt:
Rebaselining existing tests as per the new behavior. The test cases are changed to use
quirks mode because it uses document.body.scrollTop/scrollLeft and as per the new code
document.body.scrollTop/scrollLeft will return correct value if document is in quirk mode
Also test cases have been modified so that it tests what it used to.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154614
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
antti@apple.com [Mon, 26 Aug 2013 17:45:59 +0000 (17:45 +0000)]
REGRESSION (r154581): Some plugin tests failing in debug bots
https://bugs.webkit.org/show_bug.cgi?id=120315
Reviewed by Darin Adler.
We are hitting the new no-event-dispatch-while-iterating assertion.
Detaching deletes a plugin which modifies DOM while it dies.
* dom/Document.cpp:
(WebCore::Document::createRenderTree):
(WebCore::Document::detach):
Don't iterate at all. Document never has more than one Element child anyway.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154613
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
barraclough@apple.com [Mon, 26 Aug 2013 17:43:09 +0000 (17:43 +0000)]
RegExpMatchesArray should not call [[put]]
https://bugs.webkit.org/show_bug.cgi?id=120317
Reviewed by Oliver Hunt.
This will call accessors on the JSObject/JSArray prototypes - so adding an accessor or read-only
property called index or input to either of these prototypes will result in broken behavior.
Source/JavaScriptCore:
* runtime/RegExpMatchesArray.cpp:
(JSC::RegExpMatchesArray::reifyAllProperties):
- put -> putDirect
LayoutTests:
* fast/regex/lastIndex-expected.txt:
* fast/regex/script-tests/lastIndex.js:
- Added test
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154612
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
oliver@apple.com [Mon, 26 Aug 2013 17:33:45 +0000 (17:33 +0000)]
Building is so overrated.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154611
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
oliver@apple.com [Mon, 26 Aug 2013 17:21:38 +0000 (17:21 +0000)]
Disable compression under MSVC for now
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154610
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bfulgham@apple.com [Mon, 26 Aug 2013 16:53:42 +0000 (16:53 +0000)]
[Windows] Updates to WKSI to get external builders working.
* win/include/WebKitSystemInterface/WebKitSystemInterface.h:
* win/lib32/WebKitSystemInterface.lib:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154609
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ddkilzer@apple.com [Mon, 26 Aug 2013 16:28:16 +0000 (16:28 +0000)]
BUILD FIX (r154580): RenderObject::document() returns a reference
See: <https://webkit.org/b/120272>
* accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
(-[WebAccessibilityObjectWrapper _accessibilityParentForSubview:]):
(AXAttributeStringSetHeadingLevel):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154608
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bfulgham@apple.com [Mon, 26 Aug 2013 16:22:21 +0000 (16:22 +0000)]
[Windows] Build fix after r154541.
* WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in: Remove reference
to deleted Element::pseudoElement(PseudoID), and add exports for new
beforePseudoElement() and afterPseudoElement().
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154607
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bfulgham@apple.com [Mon, 26 Aug 2013 16:13:57 +0000 (16:13 +0000)]
[Windows] Build fix after r154578. Return Vector<String>() instead
of ListHashSet<String>().
* platform/win/PasteboardWin.cpp:
(WebCore::Pasteboard::types):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154606
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bfulgham@apple.com [Mon, 26 Aug 2013 16:09:50 +0000 (16:09 +0000)]
[Windows] Build fix after r154580.
* rendering/RenderThemeWin.cpp: Mirror changes made for other ports now that
Frame is known to always be valid when in a render tree. This allows us to
get rid of some unneeded null checks.
(WebCore::RenderThemeWin::getThemeData):
(WebCore::RenderThemeWin::paintMenuList):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154605
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bfulgham@apple.com [Mon, 26 Aug 2013 15:53:22 +0000 (15:53 +0000)]
[Windows] Build fix after r154554.
* page/AutoscrollController.cpp: Correct various places where pointers are now
references.
(WebCore::AutoscrollController::stopAutoscrollTimer):
(WebCore::AutoscrollController::startPanScrolling):
(WebCore::AutoscrollController::autoscrollTimerFired):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154604
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
carlosgc@webkit.org [Mon, 26 Aug 2013 15:09:22 +0000 (15:09 +0000)]
[GTK] Add WebKit2 API for isolated worlds
https://bugs.webkit.org/show_bug.cgi?id=103377
Reviewed by Anders Carlsson.
* GNUmakefile.list.am: Add new files to compilation.
* UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
* UIProcess/API/gtk/tests/TestWebExtensions.cpp:
(testWebExtensionWindowObjectCleared):
(scriptDialogCallback):
(runJavaScriptInIsolatedWorldFinishedCallback):
(testWebExtensionIsolatedWorld):
(beforeAll):
* UIProcess/API/gtk/tests/WebExtensionTest.cpp:
(echoCallback):
(windowObjectCleared):
(getWebPage):
(methodCallCallback):
* WebProcess/InjectedBundle/API/gtk/WebKitFrame.cpp:
(webkit_frame_get_javascript_context_for_script_world): New public
method to tget the JavaScript execution context for a given script
world.
* WebProcess/InjectedBundle/API/gtk/WebKitFrame.h:
* WebProcess/InjectedBundle/API/gtk/WebKitScriptWorld.cpp: Added.
(scriptWorlds): Global WebKitScriptWorld map.
(_WebKitScriptWorldPrivate::~_WebKitScriptWorldPrivate):
(webkitScriptWorldGet): Get the WebKitScriptWorld wrapping the
given injected bundle script world.
(webkitScriptWorldGetInjectedBundleScriptWorld): Get the injected
bundle script world wrapped by the given WebKitScriptWorld.
(webkitScriptWorldWindowObjectCleared): Emit
WebKitScriptWorld::window-object-cleared signal.
(webkitScriptWorldCreate): Create a new WebKitScriptWorld wrapping
the given injected bundle script world.
(createDefaultScriptWorld): Create the default WebKitScriptWorld
wrapping the normal world.
(webkit_script_world_get_default): Return the default WebKitScriptWorld.
(webkit_script_world_new): Create a new isolated WebKitScriptWorld.
* WebProcess/InjectedBundle/API/gtk/WebKitScriptWorld.h: Added.
* WebProcess/InjectedBundle/API/gtk/WebKitScriptWorldPrivate.h: Added.
* WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp:
(didClearWindowObjectForFrame): Call webkitScriptWorldWindowObjectCleared().
(webkitWebPageCreate): Add implementation for callback
didClearWindowObjectForFrame in injected bundle loader client.
* WebProcess/InjectedBundle/API/gtk/webkit-web-extension.h:
Include WebKitScriptWorld.h.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154603
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
carlosgc@webkit.org [Mon, 26 Aug 2013 15:02:42 +0000 (15:02 +0000)]
[WebKit2] Offsets for WKBundlePageLoaderClient in APIClientTraits are wrong
https://bugs.webkit.org/show_bug.cgi?id=120268
Reviewed by Anders Carlsson.
* Shared/APIClientTraits.cpp: Use always the first member of every
version as the offset of the version.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154602
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zandobersek@gmail.com [Mon, 26 Aug 2013 13:32:12 +0000 (13:32 +0000)]
[GTK] Include most of the WebKit2 unit tests into the build and testing
https://bugs.webkit.org/show_bug.cgi?id=120307
Reviewed by Philippe Normand.
There are still various unit test source files that are not being included into
the build. This patch includes most of these, only leaving out tests that do not
compile or test features that are not supported by the GTK port.
* Scripts/run-gtk-tests: Skip four newly-added tests that are failing or timing out.
(TestRunner):
* TestWebKitAPI/GNUmakefile.am:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154601
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
carlosgc@webkit.org [Mon, 26 Aug 2013 13:10:00 +0000 (13:10 +0000)]
[GTK] Allow to run tests without Xvfb in run-gtk-tests
https://bugs.webkit.org/show_bug.cgi?id=120298
Reviewed by Philippe Normand.
Add --no-xvfb command line option to run tests in the current
display.
* Scripts/run-gtk-tests:
(TestRunner._run_xvfb): Return early if option --no-xvfb has been
passed.
(TestRunner._setup_testing_environment): Use helper function
_run_xvfb to start Xvfb if needed.
(TestRunner._tear_down_testing_environment): Check Xvfb is
actually running before trying to terminate it.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154600
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kov@webkit.org [Mon, 26 Aug 2013 12:45:18 +0000 (12:45 +0000)]
[GTK L10N] Updated Brazilian Portuguese translation for WebKitGTK+
https://bugs.webkit.org/show_bug.cgi?id=120193
Patch by Enrico Nicoletto <liverig@gmail.com> on 2013-08-26
Reviewed by Gustavo Noronha Silva.
* pt_BR.po: Updated.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154599
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zarvai@inf.u-szeged.hu [Mon, 26 Aug 2013 11:59:52 +0000 (11:59 +0000)]
Adding Gabor Abraham to contributors.json.
Reviewed by Csaba Osztrogonác.
* Scripts/webkitpy/common/config/contributors.json:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154598
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
akling@apple.com [Mon, 26 Aug 2013 11:13:11 +0000 (11:13 +0000)]
Move DocumentTiming inside ENABLE(WEB_TIMING) guards.
<https://webkit.org/b/120281>
Reviewed by Anders Carlsson.
Looks like this struct is only used by other ENABLE(WEB_TIMING) code, so don't bother
filling it in if we're not building like that.
* dom/Document.cpp:
(WebCore::Document::setReadyState):
(WebCore::Document::finishedParsing):
* dom/Document.h:
* dom/DocumentTiming.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154597
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
gyuyoung.kim@samsung.com [Mon, 26 Aug 2013 10:43:40 +0000 (10:43 +0000)]
Unreviewed, EFL gardening. EFL WK1 DRT doesn't support exif-orientation tests
* platform/efl-wk1/TestExpectations: Add fast/images/exif-orientation-composited.html as failure.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154596
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
carlosgc@webkit.org [Mon, 26 Aug 2013 10:36:03 +0000 (10:36 +0000)]
[GTK] Add support for passing test directories to run-gtk-tests
https://bugs.webkit.org/show_bug.cgi?id=120296
Reviewed by Philippe Normand.
* Scripts/run-gtk-tests:
(TestRunner._get_tests_from_dir): Helper function to return all
unit tests found in a given directory.
(TestRunner._get_tests): Check the given tests passed in the
command line, so that if a directory is found the tests contained
in the directory are added to the list of tests to run.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154595
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
carlosgc@webkit.org [Mon, 26 Aug 2013 10:31:35 +0000 (10:31 +0000)]
[GTK] Improve the stop/reload button implementation in MiniBrowser
https://bugs.webkit.org/show_bug.cgi?id=120292
Reviewed by Philippe Normand.
- Use an instance member of BrowserWindow for the button widget
instead of a global variable.
- Use notify::is-loading to monitor the WebView load instead of
the estimated-load-progress property.
- Use webkit_web_view_is_loading() to check whether the view
is loading to change the button icon instead of a string
comparison of the gtk stock icon id.
- Use the right casts to fix compile warning.
* MiniBrowser/gtk/BrowserWindow.c:
(reloadOrStopCallback):
(webViewLoadProgressChanged):
(webViewIsLoadingChanged):
(browser_window_init):
(browserWindowConstructed):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154594
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Mon, 26 Aug 2013 10:07:28 +0000 (10:07 +0000)]
[Qt] Remove the fix in QWebPage::javaScriptConsoleMessage introduced by (r61433)
https://bugs.webkit.org/show_bug.cgi?id=119791
Source/WebKit/qt:
Patch by Arunprasad Rajkumar <arurajku@cisco.com> on 2013-08-26
Reviewed by Jocelyn Turcotte.
* WidgetApi/qwebpage.cpp:
(QWebPage::javaScriptConsoleMessage): Removed hack specific to DRT, introduced by
(r61433).
Tools:
Patch by Arunprasad Rajkumar <arurajku@cisco.com> on 2013-08-26
Reviewed by Jocelyn Turcotte.
Load empty url to send onunload event to currently running page. onunload event is
mandatory for LayoutTests/plugins/open-and-close-window-with-plugin.html and
LayoutTests/plugins/geturlnotify-during-document-teardown.html.
* DumpRenderTree/qt/DumpRenderTreeQt.cpp:
(WebPage::~WebPage):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154593
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
carlosgc@webkit.org [Mon, 26 Aug 2013 08:43:51 +0000 (08:43 +0000)]
[GTK] Silence MiniBrowser compile warnings due to recent GTK+ deprecations
https://bugs.webkit.org/show_bug.cgi?id=120290
Reviewed by Philippe Normand.
* MiniBrowser/gtk/GNUmakefile.am: Add
-DGDK_VERSION_MIN_REQUIRED=GDK_VERSION_3_6 compile option.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154592
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
carlosgc@webkit.org [Mon, 26 Aug 2013 08:04:40 +0000 (08:04 +0000)]
[GTK] Add missing initializer for pluginLoadPolicy in WKPageLoaderClient
https://bugs.webkit.org/show_bug.cgi?id=120289
Reviewed by Philippe Normand.
* UIProcess/API/gtk/WebKitLoaderClient.cpp:
(attachLoaderClientToView): Add initializer for pluginLoadPolicy
and rename the comment of the previous one as
pluginLoadPolicy_deprecatedForUseWithV2.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154591
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zandobersek@gmail.com [Mon, 26 Aug 2013 07:53:10 +0000 (07:53 +0000)]
[GTK] Add WillLoad test files to the TestWebKitAPI/TestWebKit2 program
https://bugs.webkit.org/show_bug.cgi?id=120288
Reviewed by Carlos Garcia Campos.
* TestWebKitAPI/GNUmakefile.am: Add the WillLoad.cpp build target that should be compiled
into the TestWebKit2 program. The InjectedBundle counterpart file is added to the build as well.
These unit tests are at the moment failing in debug configurations, so it would be nice to
have the GTK builds report these failures as well.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154590
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
carlosgc@webkit.org [Mon, 26 Aug 2013 07:47:55 +0000 (07:47 +0000)]
[GTK] webkitCredentialGetCredential returns a temporary in g_return_val_if_fail
https://bugs.webkit.org/show_bug.cgi?id=120287
Reviewed by Philippe Normand.
* UIProcess/API/gtk/WebKitCredential.cpp:
(webkitCredentialGetCredential): Use ASSERT() instead of
g_return_val_if_fail() since this is a private function.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154589
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
carlosgc@webkit.org [Mon, 26 Aug 2013 07:45:16 +0000 (07:45 +0000)]
[GTK] Fix compile warning in WebKitDOMCustom
https://bugs.webkit.org/show_bug.cgi?id=120286
Reviewed by Philippe Normand.
* bindings/gobject/WebKitDOMCustom.cpp:
(webkit_dom_html_element_get_item_type): Add return 0.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154588
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ryuan.choi@samsung.com [Mon, 26 Aug 2013 06:20:42 +0000 (06:20 +0000)]
[EFL] EWebLauncher is executed as full screen with device pixel ratio
https://bugs.webkit.org/show_bug.cgi?id=120282
Reviewed by Gyuyoung Kim.
* EWebLauncher/main.c:
Use double instead of float for device_pixel_ratio which is passed to ECORE_GETOPT_VALUE_DOUBLE.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154587
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rniwa@webkit.org [Mon, 26 Aug 2013 06:05:05 +0000 (06:05 +0000)]
JSHTMLFormElement::canGetItemsForName needlessly allocates a Vector
https://bugs.webkit.org/show_bug.cgi?id=120277
Reviewed by Sam Weinig.
Added HTMLFormElement::hasNamedElement and used it in JSHTMLFormElement::canGetItemsForName.
This required fixing a bug in HTMLFormElement::getNamedElements that the first call to getNamedElements
after replacing an element A with another element B of the same name caused it to erroneously append A
to namedItems via the aliases mapping. Because getNamedElements used to be always called in pairs, this
wrong behavior was never visible to the Web. Fixed the bug by not adding the old element to namedItem
when namedItem's size is 1.
Also renamed m_elementAliases to m_pastNamesMap along with related member functions.
No new tests are added since there should be no Web exposed behavioral change.
* bindings/js/JSHTMLFormElementCustom.cpp:
(WebCore::JSHTMLFormElement::canGetItemsForName):
* html/HTMLFormElement.cpp:
(WebCore::HTMLFormElement::elementFromPastNamesMap):
(WebCore::HTMLFormElement::addElementToPastNamesMap):
(WebCore::HTMLFormElement::hasNamedElement):
(WebCore::HTMLFormElement::getNamedElements):
* html/HTMLFormElement.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154586
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
akling@apple.com [Mon, 26 Aug 2013 02:21:32 +0000 (02:21 +0000)]
RenderLayerBacking::renderer() should return a reference.
<https://webkit.org/b/120280>
Reviewed by Anders Carlsson.
It's just a forwarding call to RenderLayer::renderer() which already returns a reference.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154585
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
gyuyoung.kim@samsung.com [Mon, 26 Aug 2013 02:08:33 +0000 (02:08 +0000)]
Add toSVGMissingGlyphElement(), and use it.
https://bugs.webkit.org/show_bug.cgi?id=120197
Reviewed by Andreas Kling.
As a step to clean-up static_cast<SVGXXX>, toSVGMissingGlyphElement() is added to clean-up
static_cast<SVGMissingGlyphElement*>.
* svg/SVGFontElement.cpp:
(WebCore::SVGFontElement::firstMissingGlyphElement):
(WebCore::SVGFontElement::ensureGlyphCache):
* svg/SVGMissingGlyphElement.h:
(WebCore::toSVGMissingGlyphElement):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154584
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
akling@apple.com [Mon, 26 Aug 2013 01:02:34 +0000 (01:02 +0000)]
RenderLayer::renderer() should return a reference.
<https://webkit.org/b/120276>
Reviewed by Anders Carlsson.
RenderLayer is always created with a renderer, so make renderer() (and m_renderer) references.
Nuked an assortment of useless null checks.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154583
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Sun, 25 Aug 2013 21:43:39 +0000 (21:43 +0000)]
Improve srcset's layout tests
https://bugs.webkit.org/show_bug.cgi?id=120274
Moved srcset's tests to use js-test-pre, and output text with clear PASS/FAILED statements.
Added expected.txt files to the test directory, since there shouldn't be any platform variance in the results.
For some of the tests, added an equivalent 1x/2x test, to make sure the feature behaves on both DPRs.
Added preload tests on the "change-dynamically" tests, to make sure the 'src' resource is not loaded when it shouldn't.
Patch by Yoav Weiss <yoav@yoav.ws> on 2013-08-25
Reviewed by Andreas Kling.
* fast/hidpi/image-srcset-change-dynamically-from-js-1x-expected.txt: Added.
* fast/hidpi/image-srcset-change-dynamically-from-js-1x.html: Added.
* fast/hidpi/image-srcset-change-dynamically-from-js-2x-expected.txt: Added.
* fast/hidpi/image-srcset-change-dynamically-from-js-2x.html: Added.
* fast/hidpi/image-srcset-change-dynamically-from-js.html: Removed.
* fast/hidpi/image-srcset-data-src-expected.txt: Added.
* fast/hidpi/image-srcset-data-src.html:
* fast/hidpi/image-srcset-data-srcset-expected.txt: Added.
* fast/hidpi/image-srcset-data-srcset.html:
* fast/hidpi/image-srcset-invalid-inputs-correct-src-expected.txt: Added.
* fast/hidpi/image-srcset-invalid-inputs-correct-src.html:
* fast/hidpi/image-srcset-invalid-inputs-except-one-expected.txt: Added.
* fast/hidpi/image-srcset-invalid-inputs-except-one.html:
* fast/hidpi/image-srcset-remove-dynamically-from-js-expected.txt: Added.
* fast/hidpi/image-srcset-remove-dynamically-from-js.html:
* fast/hidpi/image-srcset-same-alternative-for-both-attributes-expected.txt: Added.
* fast/hidpi/image-srcset-same-alternative-for-both-attributes.html:
* fast/hidpi/image-srcset-simple-1x-expected.txt: Added.
* fast/hidpi/image-srcset-simple-1x.html: Added.
* fast/hidpi/image-srcset-simple-2x-expected.txt: Added.
* fast/hidpi/image-srcset-simple-2x.html: Added.
* fast/hidpi/image-srcset-simple.html: Removed.
* fast/hidpi/image-srcset-src-selection-1x-expected.txt: Added.
* fast/hidpi/image-srcset-src-selection-1x.html: Added.
* fast/hidpi/image-srcset-src-selection-2x-expected.txt: Added.
* fast/hidpi/image-srcset-src-selection-2x.html: Added.
* fast/hidpi/image-srcset-src-selection.html: Removed.
* fast/hidpi/image-srcset-viewport-modifiers-expected.txt: Added.
* fast/hidpi/image-srcset-viewport-modifiers.html:
* platform/mac/fast/hidpi/image-srcset-change-dynamically-from-js-expected.txt: Removed.
* platform/mac/fast/hidpi/image-srcset-data-src-expected.txt: Removed.
* platform/mac/fast/hidpi/image-srcset-data-srcset-expected.txt: Removed.
* platform/mac/fast/hidpi/image-srcset-invalid-inputs-correct-src-expected.txt: Removed.
* platform/mac/fast/hidpi/image-srcset-invalid-inputs-except-one-expected.txt: Removed.
* platform/mac/fast/hidpi/image-srcset-remove-dynamically-from-js-expected.txt: Removed.
* platform/mac/fast/hidpi/image-srcset-same-alternative-for-both-attributes-expected.txt: Removed.
* platform/mac/fast/hidpi/image-srcset-simple-expected.txt: Removed.
* platform/mac/fast/hidpi/image-srcset-src-selection-expected.txt: Removed.
* platform/mac/fast/hidpi/image-srcset-viewport-modifiers-expected.txt: Removed.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154582
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
antti@apple.com [Sun, 25 Aug 2013 21:30:10 +0000 (21:30 +0000)]
Element child and descendant iterators
https://bugs.webkit.org/show_bug.cgi?id=120248
Reviewed by Sam Weinig and Andreas Kling.
Add iterators for Element children and descendants.
To iterate over element children:
#include "ChildIterator.h"
for (auto it = elementChildren(this).begin(), end = elementChildren(this).end(); it != end; ++it) {
Element& element = *it;
...
for (auto it = childrenOfType<HTMLAreaElement>(this).begin(), end = childrenOfType<HTMLAreaElement>(this).end(); it != end; ++it) {
HTMLAreaElement& area = *it;
...
To iteratate over element descendants in pre-order:
#include "DescendantIterator.h"
for (auto it = elementDescendants(this).begin(), end = elementDescendants(this).end(); it != end; ++it) {
Element& element = *it;
...
for (auto it = descendantsOfType<HTMLAreaElement>(this).begin(), end = descendantsOfType<HTMLAreaElement>(this).end(); it != end; ++it) {
HTMLAreaElement& area = *it;
...
The iterators assert against DOM mutations and event dispatch while iterating in debug builds.
They are compatible with C++11 range-based for loops. In the future we can use
for (auto& element : elementChildren(this))
...
etc.
The patch all uses the new iterators in a few places.
* WebCore.xcodeproj/project.pbxproj:
* accessibility/AccessibilityNodeObject.cpp:
(WebCore::AccessibilityNodeObject::canvasHasFallbackContent):
(WebCore::siblingWithAriaRole):
* accessibility/AccessibilityRenderObject.cpp:
* accessibility/AccessibilityTable.cpp:
(WebCore::AccessibilityTable::isDataTable):
* dom/ChildIterator.h: Added.
(WebCore::ChildIterator::operator*):
(WebCore::ChildIterator::operator->):
(WebCore::::ChildIterator):
(WebCore::::operator):
(WebCore::=):
(WebCore::::ChildIteratorAdapter):
(WebCore::::begin):
(WebCore::::end):
(WebCore::elementChildren):
(WebCore::childrenOfType):
* dom/DescendantIterator.h: Added.
(WebCore::DescendantIterator::operator*):
(WebCore::DescendantIterator::operator->):
(WebCore::::DescendantIterator):
(WebCore::::operator):
(WebCore::=):
(WebCore::::DescendantIteratorAdapter):
(WebCore::::begin):
(WebCore::::end):
(WebCore::elementDescendants):
(WebCore::descendantsOfType):
* dom/Document.cpp:
(WebCore::Document::buildAccessKeyMap):
(WebCore::Document::childrenChanged):
(WebCore::Document::attach):
(WebCore::Document::detach):
* editing/ApplyStyleCommand.cpp:
(WebCore::ApplyStyleCommand::cleanupUnstyledAppleStyleSpans):
* editing/markup.cpp:
(WebCore::completeURLs):
* html/HTMLMapElement.cpp:
(WebCore::HTMLMapElement::mapMouseEvent):
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::selectMediaResource):
(WebCore::HTMLMediaElement::textTrackModeChanged):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154581
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
akling@apple.com [Sun, 25 Aug 2013 21:22:06 +0000 (21:22 +0000)]
RenderObject::document() should return a reference.
<https://webkit.org/b/120272>
Reviewed by Antti Koivisto.
There's always a Document. We were allocated in someone's arena, after all.
Various null checks and assertions neutralized.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154580
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ddkilzer@apple.com [Sun, 25 Aug 2013 19:43:55 +0000 (19:43 +0000)]
BUILD FIX (r154578): Return Vector<String>() from Pasteboard::types() for iOS
* platform/ios/PasteboardIOS.mm:
(WebCore::Pasteboard::types): Return Vector<String>() instead of
ListHashSet<String>() after r154578.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154579
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin@apple.com [Sun, 25 Aug 2013 17:24:02 +0000 (17:24 +0000)]
Make JavaScript binding for Clipboard::types more normal
https://bugs.webkit.org/show_bug.cgi?id=120271
Reviewed by Anders Carlsson.
* bindings/js/JSClipboardCustom.cpp:
(WebCore::JSClipboard::types): Make a simple custom binding. Only needed because
there is a special value, null, this can return.
* dom/Clipboard.cpp:
(WebCore::Clipboard::types): Return Vector<String> instead of ListHashSet<String>.
* dom/Clipboard.h: Ditto.
* platform/Pasteboard.h: Ditto.
* platform/blackberry/PasteboardBlackBerry.cpp:
(WebCore::Pasteboard::types): Ditto.
* platform/efl/PasteboardEfl.cpp:
(WebCore::Pasteboard::types): Ditto.
* platform/gtk/PasteboardGtk.cpp:
(WebCore::Pasteboard::types): Ditto.
* platform/ios/PasteboardIOS.mm:
(WebCore::Pasteboard::types): Ditto.
* platform/mac/PasteboardMac.mm:
(WebCore::Pasteboard::types): Ditto.
* platform/qt/PasteboardQt.cpp:
(WebCore::Pasteboard::types): Ditto.
* platform/win/PasteboardWin.cpp:
(WebCore::Pasteboard::types): Ditto.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154578
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ddkilzer@apple.com [Sun, 25 Aug 2013 14:21:44 +0000 (14:21 +0000)]
Unreviewed rollout of r154571. Broke internal iOS build.
Reopened: No need for clearTimers function in Frame
https://bugs.webkit.org/show_bug.cgi?id=120265
* history/CachedFrame.cpp:
(WebCore::CachedFrame::CachedFrame):
(WebCore::CachedFrame::destroy):
* page/Frame.cpp:
(WebCore::Frame::clearTimers):
* page/Frame.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154577
268f45cc-cd09-0410-ab3c-
d52691b4dbfc