[EFL] Give the view a size in TestWebKitAPI
https://bugs.webkit.org/show_bug.cgi?id=101770

Patch by Yael Aharon <yael.aharon@intel.com> on 2012-11-09
Reviewed by Laszlo Gombos.

2 tests are currently failing, because they expect us to paint, but we don't paint if the view size is empty.

* TestWebKitAPI/efl/PlatformWebView.cpp:
(TestWebKitAPI::PlatformWebView::PlatformWebView):
(TestWebKitAPI::PlatformWebView::~PlatformWebView):
(TestWebKitAPI):
(TestWebKitAPI::PlatformWebView::resizeTo):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@134079 268f45cc-cd09-0410-ab3c-d52691b4dbfc
MarkStackArray should use the BlockAllocator instead of the MarkStackSegmentAllocator
https://bugs.webkit.org/show_bug.cgi?id=101642

Reviewed by Filip Pizlo.

MarkStackSegmentAllocator is like a miniature version of the BlockAllocator. Now that the BlockAllocator has support 
for a variety of block sizes, we should get rid of the MarkStackSegmentAllocator in favor of the BlockAllocator.

* heap/BlockAllocator.h: Add new specializations of regionSetFor for the new MarkStackSegments.
(JSC):
(JSC::MarkStackSegment):
* heap/GCThreadSharedData.cpp:
(JSC::GCThreadSharedData::GCThreadSharedData):
(JSC::GCThreadSharedData::reset):
* heap/GCThreadSharedData.h:
(GCThreadSharedData):
* heap/MarkStack.cpp: 
(JSC::MarkStackArray::MarkStackArray): We now have a doubly linked list of MarkStackSegments, so we need to refactor 
all the places that used the old custom tail/previous logic.
(JSC::MarkStackArray::~MarkStackArray):
(JSC::MarkStackArray::expand):
(JSC::MarkStackArray::refill):
(JSC::MarkStackArray::donateSomeCellsTo): Refactor to use the new linked list.
(JSC::MarkStackArray::stealSomeCellsFrom): Ditto.
* heap/MarkStack.h:
(JSC):
(MarkStackSegment):
(JSC::MarkStackSegment::MarkStackSegment):
(JSC::MarkStackSegment::sizeFromCapacity):
(MarkStackArray):
* heap/MarkStackInlines.h:
(JSC::MarkStackSegment::create):
(JSC):
(JSC::MarkStackArray::postIncTop):
(JSC::MarkStackArray::preDecTop):
(JSC::MarkStackArray::setTopForFullSegment):
(JSC::MarkStackArray::setTopForEmptySegment):
(JSC::MarkStackArray::top):
(JSC::MarkStackArray::validatePrevious):
(JSC::MarkStackArray::append):
(JSC::MarkStackArray::removeLast):
(JSC::MarkStackArray::isEmpty):
(JSC::MarkStackArray::size):
* heap/SlotVisitor.cpp:
(JSC::SlotVisitor::SlotVisitor):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@134080 268f45cc-cd09-0410-ab3c-d52691b4dbfc
ArrayPrototype should start out with a blank indexing type
https://bugs.webkit.org/show_bug.cgi?id=101719

Reviewed by Mark Hahnenberg.

This allows us to track if the array prototype ever ends up with indexed
properties.

* runtime/ArrayPrototype.cpp:
(JSC::ArrayPrototype::create):
(JSC::ArrayPrototype::ArrayPrototype):
* runtime/ArrayPrototype.h:
(ArrayPrototype):
(JSC::ArrayPrototype::createStructure):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@134081 268f45cc-cd09-0410-ab3c-d52691b4dbfc
CookieJar uses Document class, which is a layering violation
https://bugs.webkit.org/show_bug.cgi?id=101621

Reviewed by Brady Eidson.

Source/WebCore:

Split CookieJar in two parts, one that takes a Document, and another that is a pure
platform one, using NetworkingContext to access the correct platform storage.

* GNUmakefile.list.am:
* PlatformBlackBerry.cmake:
* Target.pri:
* WebCore.gypi:
* WebCore.gyp/WebCore.gyp:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
Updated.

* loader/CookieJar.cpp: Added.
(WebCore::networkingContext):
(WebCore::cookies):
(WebCore::setCookies):
(WebCore::cookiesEnabled):
(WebCore::cookieRequestHeaderFieldValue):
(WebCore::getRawCookies):
(WebCore::deleteCookie):
(WebCore::getHostnamesWithCookies):
(WebCore::deleteCookiesForHostname):
(WebCore::deleteAllCookies):
* loader/CookieJar.h: Copied from Source/WebCore/platform/CookieJar.h.
This is an adaptor for pure platform implementations. Clients continue to use the
old interface unchanged.

* platform/blackberry/CookieJarBlackBerry.cpp: Removed.
* loader/blackberry/CookieJarBlackBerry.cpp: Copied from Source/WebCore/platform/blackberry/CookieJarBlackBerry.cpp.
* platform/network/chromium/CookieJarChromium.cpp: Removed.
* loader/chromium/CookieJarChromium.cpp: Copied from Source/WebCore/platform/network/chromium/CookieJarChromium.cpp.
These platforms do not have a pure platform implementation yet, so they just keep
to use original implementations. Since the code is not in platform/ any more, the
violation is resolved for Chromium and Blackberry, too.

* platform/CookieJar.h: Removed.
* platform/network/PlatformCookieJar.h: Copied from Source/WebCore/platform/CookieJar.h.
The platform interface is now more uniform - all functions take a NetworkingContext
instead of hardcoding which cookie storage to use in some cases.
Renamed functions that are only useful for document.cookie implementation to look
less generic.

* platform/mac/CookieJar.mm: Removed.
* platform/network/mac/CookieJarMac.mm: Copied from Source/WebCore/platform/mac/CookieJar.mm.
(WebCore::cookiesForDOM): This now takes a context instead of Document, and also
takes a firstParty URL (unused on Mac, but used on some other platforms).
(WebCore::cookieRequestHeaderFieldValue): Get cookie storage from context (and
use shared one if context is null).
(WebCore::setCookiesFromDOM): Ditto.
(WebCore::cookiesEnabled): Ditto.
(WebCore::getRawCookies): Ditto.
(WebCore::deleteCookie): Ditto.
(WebCore::getHostnamesWithCookies): Ditto. This used to only support default storage,
but its cleaner to have a uniform interface.
(WebCore::deleteCookiesForHostname): Ditto.
(WebCore::deleteAllCookies): Ditto.

* platform/network/cf/CookieJarCFNet.cpp:
Same changes as on Mac.

* platform/network/curl/CookieJarCurl.cpp:
Updated for new interface. Implementation is largely a dummy one.

* platform/qt/CookieJarQt.h: Removed.
* platform/network/qt/CookieJarQt.h: Copied from Source/WebCore/platform/qt/CookieJarQt.h.
Moved to a common location, most cookie files were in network/ already.

* platform/qt/CookieJarQt.cpp: Removed.
* platform/network/qt/CookieJarQt.cpp: Copied from Source/WebCore/platform/qt/CookieJarQt.cpp.
(WebCore::setCookiesFromDOM): Use context's or shared cooke jar as appropriate.
(WebCore::cookiesForDOM): Ditto.
(WebCore::cookieRequestHeaderFieldValue): Ditto.
(WebCore::cookiesEnabled): Ditto.
(WebCore::getRawCookies): Ditto.
(WebCore::deleteCookie): Ditto.
(WebCore::getHostnamesWithCookies): Back-end implementation can only handle shared
jar here, assert that argument does not request another one.
(WebCore::deleteCookiesForHostname): Ditto.
(WebCore::deleteAllCookies): Ditto.

* platform/network/soup/CookieJarSoup.cpp:
(WebCore::cookieJarForContext):
(WebCore::setCookiesFromDOM):
(WebCore::cookiesForContext):
(WebCore::cookiesForDOM):
(WebCore::cookieRequestHeaderFieldValue):
(WebCore::cookiesEnabled):
(WebCore::getRawCookies):
(WebCore::deleteCookie):
(WebCore::getHostnamesWithCookies):
(WebCore::deleteCookiesForHostname):
(WebCore::deleteAllCookies):
Updated for new function signatures, and use the same cross-platform logic for
choosing a cookie jar.

* platform/network/soup/CookieJarSoup.h: Don't include unnecessary CooieJar.h.

* platform/network/win/CookieJarWin.cpp:
(WebCore::setCookiesFromDOM):
(WebCore::cookiesForDOM):
(WebCore::cookieRequestHeaderFieldValue):
(WebCore::cookiesEnabled):
(WebCore::getRawCookies):
(WebCore::deleteCookie):
(WebCore::getHostnamesWithCookies):
(WebCore::deleteCookiesForHostname):
(WebCore::deleteAllCookies):
Updated for new function signatures.

Source/WebKit2:

* UIProcess/API/C/WKAPICast.h: Don't include CookieJar.h, its completely unnecessary.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@134082 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Plugin diagnostic logging should send plugin file basename instead of MIME type.
https://bugs.webkit.org/show_bug.cgi?id=101679

Reviewed by Eric Carlson.

Log the basename of the plugin file rather than the mime type so as to more
accurately log which plugin was used to handle the request.

* loader/SubframeLoader.cpp:
(WebCore::logPluginRequest): Log the plugin 'file' field, if present.
* plugins/PluginData.cpp:
(WebCore::PluginData::pluginInfoForMimeType): Factored out from pluginNameForMimeType.
(WebCore::PluginData::pluginNameForMimeType): Use pluginInfoForMimeType to retrieve name field.
(WebCore::PluginData::pluginFileForMimeType): Use pluginInfoForMimeType to retrieve file field.
* plugins/PluginData.h:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@134083 268f45cc-cd09-0410-ab3c-d52691b4dbfc
MediaStream API: Deleting all files relating to the deprecated PeerConnection00
https://bugs.webkit.org/show_bug.cgi?id=101730

Reviewed by Adam Barth.

Since RTCPeerConenction has superseeded PeerConnection00 this patch removes all
files relating to the old API.

Source/Platform:

* Platform.gypi:
* chromium/public/Platform.h:
(WebKit):
(Platform):
* chromium/public/WebICECandidateDescriptor.h: Removed.
* chromium/public/WebICEOptions.h: Removed.
* chromium/public/WebMediaHints.h: Removed.
* chromium/public/WebMediaStreamCenter.h:
(WebKit):
(WebMediaStreamCenter):
* chromium/public/WebPeerConnection00Handler.h: Removed.
* chromium/public/WebPeerConnection00HandlerClient.h: Removed.
* chromium/public/WebPeerConnectionHandler.h: Removed.
* chromium/public/WebPeerConnectionHandlerClient.h: Removed.
* chromium/public/WebSessionDescriptionDescriptor.h: Removed.

Source/WebCore:

No testing needed, the remaining tests makes sure that nothing else breaks.

* CMakeLists.txt:
* GNUmakefile.list.am:
* Modules/mediastream/DOMWindowMediaStream.idl:
* Modules/mediastream/IceCallback.h: Removed.
* Modules/mediastream/IceCallback.idl: Removed.
* Modules/mediastream/IceCandidate.cpp: Removed.
* Modules/mediastream/IceCandidate.h: Removed.
* Modules/mediastream/IceCandidate.idl: Removed.
* Modules/mediastream/PeerConnection00.cpp: Removed.
* Modules/mediastream/PeerConnection00.h: Removed.
* Modules/mediastream/PeerConnection00.idl: Removed.
* Modules/mediastream/SessionDescription.cpp: Removed.
* Modules/mediastream/SessionDescription.h: Removed.
* Modules/mediastream/SessionDescription.idl: Removed.
* WebCore.gypi:
* bindings/generic/RuntimeEnabledFeatures.cpp:
(WebCore):
* bindings/generic/RuntimeEnabledFeatures.h:
(RuntimeEnabledFeatures):
* dom/EventTargetFactory.in:
* platform/chromium/support/WebICECandidateDescriptor.cpp: Removed.
* platform/chromium/support/WebICEOptions.cpp: Removed.
* platform/chromium/support/WebMediaHints.cpp: Removed.
* platform/mediastream/IceCandidateDescriptor.cpp: Removed.
* platform/mediastream/IceCandidateDescriptor.h: Removed.
* platform/mediastream/IceOptions.cpp: Removed.
* platform/mediastream/IceOptions.h: Removed.
* platform/mediastream/MediaHints.cpp: Removed.
* platform/mediastream/MediaHints.h: Removed.
* platform/mediastream/MediaStreamCenter.h:
(WebCore):
(MediaStreamCenter):
* platform/mediastream/PeerConnection00Handler.cpp: Removed.
* platform/mediastream/PeerConnection00Handler.h: Removed.
* platform/mediastream/PeerConnection00HandlerClient.h: Removed.
* platform/mediastream/SessionDescriptionDescriptor.cpp: Removed.
* platform/mediastream/SessionDescriptionDescriptor.h: Removed.
* platform/mediastream/blackberry/MediaStreamCenterBlackBerry.cpp:
* platform/mediastream/blackberry/MediaStreamCenterBlackBerry.h:
(WebCore):
(MediaStreamCenterBlackBerry):
* platform/mediastream/chromium/MediaStreamCenterChromium.cpp:
* platform/mediastream/chromium/MediaStreamCenterChromium.h:
(WebCore):
(MediaStreamCenterChromium):
* platform/mediastream/chromium/PeerConnection00Handler.cpp: Removed.
* platform/mediastream/chromium/PeerConnection00HandlerInternal.cpp: Removed.
* platform/mediastream/chromium/PeerConnection00HandlerInternal.h: Removed.
* platform/mediastream/gstreamer/MediaStreamCenterGStreamer.cpp:
* platform/mediastream/gstreamer/MediaStreamCenterGStreamer.h:
(WebCore):
(MediaStreamCenterGStreamer):

Source/WebKit/chromium:

* WebKit.gyp:
* public/WebRuntimeFeatures.h:
(WebRuntimeFeatures):
* public/platform/WebICECandidateDescriptor.h: Removed.
* public/platform/WebICEOptions.h: Removed.
* public/platform/WebMediaHints.h: Removed.
* public/platform/WebPeerConnection00Handler.h: Removed.
* public/platform/WebPeerConnection00HandlerClient.h: Removed.
* public/platform/WebPeerConnectionHandler.h: Removed.
* public/platform/WebPeerConnectionHandlerClient.h: Removed.
* public/platform/WebSessionDescriptionDescriptor.h: Removed.
* src/AssertMatchingEnums.cpp:
* src/WebRuntimeFeatures.cpp:
(WebKit::WebRuntimeFeatures::isPeerConnectionEnabled):
* src/WebSessionDescriptionDescriptor.cpp: Removed.

Tools:

* DumpRenderTree/chromium/MockWebMediaStreamCenter.cpp:
* DumpRenderTree/chromium/MockWebMediaStreamCenter.h:
(MockWebMediaStreamCenter):
* DumpRenderTree/chromium/TestShell.cpp:
(TestShell::TestShell):

LayoutTests:

* fast/mediastream/SessionDescription-expected.txt: Removed.
* fast/mediastream/SessionDescription.html: Removed.
* fast/mediastream/constructors-expected.txt:
* fast/mediastream/constructors.html:
* fast/mediastream/peerconnection-Attributes-expected.txt: Removed.
* fast/mediastream/peerconnection-Attributes.html: Removed.
* fast/mediastream/peerconnection-addstream-expected.txt: Removed.
* fast/mediastream/peerconnection-addstream.html: Removed.
* fast/mediastream/peerconnection-argument-types-expected.txt: Removed.
* fast/mediastream/peerconnection-argument-types.html: Removed.
* fast/mediastream/peerconnection-eventlistener-optional-argument-expected.txt: Removed.
* fast/mediastream/peerconnection-eventlistener-optional-argument.html: Removed.
* fast/mediastream/peerconnection-iceoptions-expected.txt: Removed.
* fast/mediastream/peerconnection-iceoptions.html: Removed.
* fast/mediastream/peerconnection-mediastreamlist-expected.txt: Removed.
* fast/mediastream/peerconnection-mediastreamlist.html: Removed.
* fast/mediastream/peerconnection-removestream-expected.txt: Removed.
* fast/mediastream/peerconnection-removestream.html: Removed.
* fast/mediastream/script-tests/peerconnection-Attributes.js: Removed.
* fast/mediastream/script-tests/peerconnection-addstream.js: Removed.
* fast/mediastream/script-tests/peerconnection-argument-types.js: Removed.
* fast/mediastream/script-tests/peerconnection-removestream.js: Removed.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@134084 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[CSSRegions] Region styling properties are not filtered correctly
https://bugs.webkit.org/show_bug.cgi?id=101768

Reviewed by Andreas Kling.

Source/WebCore:

Region styling allows only a handful of css properties. There is a mechanism in place,
in StyleResolver::isValidRegionStyleProperty that filters the supported region style properties.
In order to be effective, this mechanism relies on RuleData::m_isInRegionRule being set correctly.
This patch makes sure that the flag RuleData::m_isInRegionRule is set properly in RuleData constructor.

Test: fast/regions/region-style-not-supported-properties.html

* css/RuleSet.cpp:
(WebCore::RuleData::RuleData):

LayoutTests:

Visibility is not a supported region style property, therefore using it inside @-webkit-region
should not be possible.

* fast/regions/region-style-not-supported-properties-expected.html: Added.
* fast/regions/region-style-not-supported-properties.html: Added.


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