Versioning.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@144325 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[BlackBerry] Handle Set-Cookie immediately even when loading is deferred
https://bugs.webkit.org/show_bug.cgi?id=111083

Patch by Joe Mason <jmason@rim.com> on 2013-02-28
Reviewed by Yong Li.

Internal PR: 298805
Internally Reviewed By: Leo Yang

Handle Set-Cookie headers immediately, even if loading is being deferred, since any request
created while loading is deferred should include all cookies received. (This especially
affects Set-Cookie headers sent with a 401 response - often this causes an auth dialog to be
opened, which defers loading, but the followup request using the credentials from the dialog
needs to include the cookie.)

This is safe because handleSetCookieHeader only updates the cookiejar, it doesn't call back
into the loader.

* platform/network/blackberry/NetworkJob.cpp:
(WebCore::NetworkJob::notifyHeadersReceived):
(WebCore::NetworkJob::handleNotifyHeaderReceived):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@144326 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Factor SourceBuffer methods out of MediaSourcePrivate & WebMediaSource
into SourceBufferPrivate & WebSourceBuffer respectively.
https://bugs.webkit.org/show_bug.cgi?id=110798

Reviewed by Adam Barth, Jer Noble.

Source/WebCore:

No new tests. No user visible behavior has changed.

* Modules/mediasource/MediaSource.cpp:
(WebCore::MediaSource::addSourceBuffer):
(WebCore::MediaSource::removeSourceBuffer):
* Modules/mediasource/MediaSource.h:
(MediaSource):
* Modules/mediasource/SourceBuffer.cpp:
(WebCore::SourceBuffer::create):
(WebCore):
(WebCore::SourceBuffer::SourceBuffer):
(WebCore::SourceBuffer::buffered):
(WebCore::SourceBuffer::setTimestampOffset):
(WebCore::SourceBuffer::append):
(WebCore::SourceBuffer::abort):
(WebCore::SourceBuffer::removedFromMediaSource):
(WebCore::SourceBuffer::isRemoved):
(WebCore::SourceBuffer::isOpen):
(WebCore::SourceBuffer::isEnded):
* Modules/mediasource/SourceBuffer.h:
(WebCore):
(SourceBuffer):
* Modules/mediasource/SourceBufferList.cpp:
(WebCore::SourceBufferList::SourceBufferList):
(WebCore::SourceBufferList::remove):
(WebCore::SourceBufferList::clear):
* Modules/mediasource/SourceBufferList.h:
(SourceBufferList):
* html/HTMLMediaElement.cpp:
* platform/graphics/MediaSourcePrivate.h:
(WebCore):
(MediaSourcePrivate):
* platform/graphics/SourceBufferPrivate.h:
(WebCore):
(SourceBufferPrivate): Contains methods extracted from MediaPlayerPrivate.
(WebCore::SourceBufferPrivate::SourceBufferPrivate):
(WebCore::SourceBufferPrivate::~SourceBufferPrivate):

Source/WebKit/chromium:

* WebKit.gyp:
* public/WebMediaSourceClient.h:
(WebKit):
(WebMediaSourceClient):
* public/WebSourceBuffer.h:
(WebKit):
(WebSourceBuffer): Contains SourceBuffer methods extracted from WebMediaSource.
(WebKit::WebSourceBuffer::~WebSourceBuffer):
* src/AssertMatchingEnums.cpp:
* src/MediaSourcePrivateImpl.cpp:
(WebKit):
(WebKit::MediaSourcePrivateImpl::MediaSourcePrivateImpl):
(WebKit::MediaSourcePrivateImpl::addSourceBuffer):
(WebKit::MediaSourcePrivateImpl::duration):
(WebKit::MediaSourcePrivateImpl::setDuration):
(WebKit::MediaSourcePrivateImpl::endOfStream):
* src/MediaSourcePrivateImpl.h:
(WebKit):
(MediaSourcePrivateImpl): Adapts MediaSourcePrivate interface to WebMediaSourceClient.
(WebKit::MediaSourcePrivateImpl::~MediaSourcePrivateImpl):
* src/SourceBufferPrivateImpl.cpp:
(WebKit):
(WebKit::SourceBufferPrivateImpl::SourceBufferPrivateImpl):
(WebKit::SourceBufferPrivateImpl::buffered):
(WebKit::SourceBufferPrivateImpl::append):
(WebKit::SourceBufferPrivateImpl::abort):
(WebKit::SourceBufferPrivateImpl::setTimestampOffset):
(WebKit::SourceBufferPrivateImpl::removedFromMediaSource):
* src/SourceBufferPrivateImpl.h:
(WebKit):
(SourceBufferPrivateImpl): Adapts SourceBufferPrivate interface to WebSourceBuffer.
(WebKit::SourceBufferPrivateImpl::~SourceBufferPrivateImpl):
* src/WebMediaPlayerClientImpl.cpp:
(WebMediaSourceClientImpl):
(WebKit):
(WebSourceBufferImpl): Temporary implementation of WebSourceBuffer to keep things working
                       until the Chromium side changes land.
(WebKit::WebMediaSourceClientImpl::addSourceBuffer):
(WebKit::WebMediaSourceClientImpl::duration):
(WebKit::WebMediaSourceClientImpl::setDuration):
(WebKit::WebMediaSourceClientImpl::endOfStream):
(WebKit::WebSourceBufferImpl::WebSourceBufferImpl):
(WebKit::WebSourceBufferImpl::buffered):
(WebKit::WebSourceBufferImpl::append):
(WebKit::WebSourceBufferImpl::abort):
(WebKit::WebSourceBufferImpl::setTimestampOffset):
(WebKit::WebSourceBufferImpl::removedFromMediaSource):
* src/WebMediaSourceImpl.cpp:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@144328 268f45cc-cd09-0410-ab3c-d52691b4dbfc
IndexedDB: Histogram all exits from IDBBackingStore::open
https://bugs.webkit.org/show_bug.cgi?id=110677

Reviewed by Tony Chang.

No tests because this only changes logging code.

* Modules/indexeddb/IDBBackingStore.cpp:
(WebCore::IDBBackingStore::open):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@144330 268f45cc-cd09-0410-ab3c-d52691b4dbfc
This timeout also happens in Release.

* platform/chromium/TestExpectations:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@144331 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Add new webkit API to invoke a context menu.
https://bugs.webkit.org/show_bug.cgi?id=111040

Patch by Varun Jain <varunjain@chromium.org> on 2013-02-28
Reviewed by Adam Barth.

* public/WebView.h:
(WebView):
* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::showContextMenu):
(WebKit):
* src/WebViewImpl.h:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@144332 268f45cc-cd09-0410-ab3c-d52691b4dbfc
PDFPlugin: PDF orientation isn't respected when printing or print-previewing
https://bugs.webkit.org/show_bug.cgi?id=110925
<rdar://problem/13008621>

Reviewed by Alexey Proskuryakov.

* WebProcess/WebPage/mac/WebPageMac.mm:
(WebKit::drawPDFPage): Teach drawPDFPage about PDFPage's rotation property, and use it
to swap the PDF's cropbox. Painting now matches PDFViewController's historical behavior.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@144333 268f45cc-cd09-0410-ab3c-d52691b4dbfc
WebSpeech: support the boundary event
https://bugs.webkit.org/show_bug.cgi?id=107350

Reviewed by Beth Dakin.

Source/WebCore:

Generate boundary events for speech synthesis and have them fire the appropriate events.
This implements for the Mac platform, as well as simulating these events in the mock
synthesizer for testing purposes.

Test: platform/mac/fast/speechsynthesis/speech-synthesis-boundary-events.html

* Modules/speech/SpeechSynthesis.cpp:
(WebCore):
(WebCore::SpeechSynthesis::boundaryEventOccurred):
* Modules/speech/SpeechSynthesis.h:
(SpeechSynthesis):
* platform/PlatformSpeechSynthesizer.h:
(WebCore):
(PlatformSpeechSynthesizerClient):
* platform/mac/PlatformSpeechSynthesizerMac.mm:
(-[WebSpeechSynthesisWrapper speechSynthesizer:willSpeakWord:ofString:]):
* platform/mock/PlatformSpeechSynthesizerMock.cpp:
(WebCore::PlatformSpeechSynthesizerMock::speak):

LayoutTests:

* platform/mac/fast/speechsynthesis/speech-synthesis-boundary-events-expected.txt: Added.
* platform/mac/fast/speechsynthesis/speech-synthesis-boundary-events.html: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@144335 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Mac] use HAVE() macro instead of version check
https://bugs.webkit.org/show_bug.cgi?id=111087

Reviewed by Dean Jackson.

Source/WebCore:

No new tests, covered by existing tests.

* page/CaptionUserPreferencesMac.h: Use HAVE(MEDIA_ACCESSIBILITY_FRAMEWORK).
* page/CaptionUserPreferencesMac.mm: Ditto.
(WebCore::CaptionUserPreferencesMac::CaptionUserPreferencesMac): Ditto.
(WebCore::CaptionUserPreferencesMac::~CaptionUserPreferencesMac): Ditto.

* page/PageGroup.cpp:
(WebCore::PageGroup::captionPreferences): Ditto.

Source/WTF:

* wtf/Platform.h: Define HAVE_MEDIA_ACCESSIBILITY_FRAMEWORK.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@144336 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Enable DFG JIT for Qt on Mac
https://bugs.webkit.org/show_bug.cgi?id=111095

Rubber-stamped by Simon Hausmann

* wtf/Platform.h:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@144337 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Source/WebCore: Crash in CachedRawResource::responseReceived().
https://bugs.webkit.org/show_bug.cgi?id=110482

Reviewed by Adam Barth.

Test: http/tests/security/XFrameOptions/x-frame-options-deny-multiple-clients.html

* loader/cache/CachedRawResource.cpp:
(WebCore::CachedRawResource::responseReceived):

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

Reviewed by Adam Barth.

* http/tests/security/XFrameOptions/x-frame-options-deny-multiple-clients-expected.txt: Added.
* http/tests/security/XFrameOptions/x-frame-options-deny-multiple-clients.html: Added.
* platform/chromium/http/tests/security/XFrameOptions/x-frame-options-deny-multiple-clients-expected.txt: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@144338 268f45cc-cd09-0410-ab3c-d52691b4dbfc
DFG CFA should leave behind information in Edge that says if the Edge's type check is proven to succeed
https://bugs.webkit.org/show_bug.cgi?id=110840

Reviewed by Mark Hahnenberg.
        
This doesn't add any observable functionality to the compiler, yet. But it does give
every phase that runs after CFA the ability to know, in O(1) time, whether an edge
will need to execute a type check.

* dfg/DFGAbstractState.h:
(JSC::DFG::AbstractState::filterEdgeByUse):
(JSC::DFG::AbstractState::filterByType):
* dfg/DFGCommon.cpp:
(WTF):
(WTF::printInternal):
* dfg/DFGCommon.h:
(JSC::DFG::isProved):
(DFG):
(JSC::DFG::proofStatusForIsProved):
(WTF):
* dfg/DFGEdge.cpp:
(JSC::DFG::Edge::dump):
* dfg/DFGEdge.h:
(JSC::DFG::Edge::Edge):
(JSC::DFG::Edge::setNode):
(JSC::DFG::Edge::useKindUnchecked):
(JSC::DFG::Edge::setUseKind):
(Edge):
(JSC::DFG::Edge::proofStatusUnchecked):
(JSC::DFG::Edge::proofStatus):
(JSC::DFG::Edge::setProofStatus):
(JSC::DFG::Edge::isProved):
(JSC::DFG::Edge::needsCheck):
(JSC::DFG::Edge::shift):
(JSC::DFG::Edge::makeWord):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@144340 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed, rolling out r144126 and r144176.
http://trac.webkit.org/changeset/144126
http://trac.webkit.org/changeset/144176
https://bugs.webkit.org/show_bug.cgi?id=111096

Caused fast/notifications/notifications-request-
permission.html to crash (Requested by abarth on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2013-02-28

Source/WebCore:

* GNUmakefile.list.am:
* Modules/notifications/Notification.h:
(Notification):
* Modules/notifications/Notification.idl:
* Target.pri:
* UseJSC.cmake:
* UseV8.cmake:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSNotificationCustom.cpp: Added.
(WebCore):
(WebCore::JSNotification::requestPermission):
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateParametersCheck):
* bindings/scripts/test/JS/JSTestObj.cpp:
* bindings/v8/custom/V8NotificationCustom.cpp: Added.
(WebCore):
(WebCore::V8Notification::requestPermissionMethodCustom):

LayoutTests:

* fast/notifications/notifications-request-permission-optional-expected.txt: Removed.
* fast/notifications/notifications-request-permission-optional.html: Removed.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@144341 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Remove these supressions now that we've reverted http://trac.webkit.org/changeset/144126.

* platform/chromium/TestExpectations:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@144343 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Remove the quirk margin bits from RenderObject and put them back in RenderBlock.
https://bugs.webkit.org/show_bug.cgi?id=111089

Reviewed by Dan Bernstein.

This patch removes the marginBeforeQuirk and marginAfterQuirk bits from RenderObject
and puts them into RenderBlock instead. I also did some renaming and clean-up after
moving them, e.g., to hasMarginBeforeQuirk and hasMarginAfterQuirk.
        
Even though it's pretty irrelevant, I also made the code writing-mode-correct so that
the correct child margin quirk is propagated across differing writing mode
boundaries.

* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::MarginInfo::MarginInfo):
(WebCore::RenderBlock::RenderBlock):
(WebCore::RenderBlock::layoutBlock):
(WebCore::RenderBlock::collapseMargins):
(WebCore::RenderBlock::marginBeforeEstimateForChild):
(WebCore::RenderBlock::setCollapsedBottomMargin):
(WebCore::RenderBlock::handleAfterSideOfBlock):
(WebCore::RenderBlock::hasMarginBeforeQuirk):
(WebCore):
(WebCore::RenderBlock::hasMarginAfterQuirk):
* rendering/RenderBlock.h:
(WebCore::RenderBlock::setHasMarginBeforeQuirk):
(WebCore::RenderBlock::setHasMarginAfterQuirk):
(RenderBlock):
(WebCore::RenderBlock::hasMarginBeforeQuirk):
(WebCore::RenderBlock::hasMarginAfterQuirk):
(MarginInfo):
(WebCore::RenderBlock::MarginInfo::setHasMarginBeforeQuirk):
(WebCore::RenderBlock::MarginInfo::setHasMarginAfterQuirk):
(WebCore::RenderBlock::MarginInfo::hasMarginBeforeQuirk):
(WebCore::RenderBlock::MarginInfo::hasMarginAfterQuirk):
* rendering/RenderObject.h:
(RenderObject):
(WebCore::RenderObject::RenderObjectBitfields::RenderObjectBitfields):
(RenderObjectBitfields):
* rendering/style/RenderStyle.h:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@144344 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Chromium] Unreviewed gardening, update expectation

* platform/chromium/TestExpectations: Add Win modifier for compositing/rtl/rtl-iframe-fixed-overflow-scrolled.html
    and remove modifiers for fast/forms/textarea/textarea-state-restore.html


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@144345 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Crash in JSC::MarkedBlock::FreeList JSC::MarkedBlock::sweepHelper
https://bugs.webkit.org/show_bug.cgi?id=111059

Reviewed by Ryosuke Niwa.

Sometimes C++'s implicit operator conversion rules suck.
Add explicit operator== and !=.

* wtf/FastMalloc.cpp:
(WTF::HardenedSLL::operator!=):
(WTF::HardenedSLL::operator==):
(HardenedSLL):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@144346 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Re-baselining expected pixels for fast/borders/border-radius-percent.html on linux
https://bugs.webkit.org/show_bug.cgi?id=110889

Unreviewed

* TestExpectations:
* platform/chromium-linux/fast/borders/border-radius-percent-expected.png:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@144349 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Focus ring for a child layer is incorrectly offset by ancestor composited layer's position
https://bugs.webkit.org/show_bug.cgi?id=110895

Reviewed by Simon Fraser.

Source/WebCore:

Test: compositing/sub-layer-focus-ring.html

The problem occurs in RenderBlock::addFocusRingRects() where the absolute position of a sub-layer is used to calculate the focus ring rect of the layer.
Should use the relative position to the current paintContainer instead.

To fix the issue:
- RenderLayer passes LayerPaintingInfo.rootLayer to PaintInfo.paintContainer
- Let RenderObject::paintFocusRing() and RenderObject::paintOutline() take PaintInfo instead of GraphicsContext* so that the paintContainer can be passed
- RenderBlock::addFocusRingRects() uses localToContainerPoint(FloatPoint(), paintContainer) instead of localToAbsolute() to calculate the focus ring rect of a sublayer.

* rendering/PaintInfo.h:
(WebCore):
(WebCore::PaintInfo::PaintInfo): Add a field paintContainer (the RenderLayerModelObject which originates the current painting)
(PaintInfo):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::paintObject):
(WebCore::RenderBlock::paintContinuationOutlines):
(WebCore::RenderBlock::addFocusRingRects): Use the added paintContainer parameter to calculate the relative offset of the child layer.
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::paintBackgroundForFragments): Pass LayerPaintingInfo.rootLayer to PaintInfo.paintContainer.
(WebCore::RenderLayer::paintForegroundForFragmentsWithPhase): Ditto.
(WebCore::RenderLayer::paintOutlineForFragments): Ditto.
(WebCore::RenderLayer::paintMaskForFragments): Ditto.
* rendering/RenderLayer.cpp:
* rendering/RenderObject.cpp:
(WebCore::RenderObject::paintFocusRing): Now takes PaintInfo instead of GraphicsContext*. Pass paintInfo.paintContainer to addFocusRingRects().
(WebCore::RenderObject::paintOutline): Now takes PaintInfo instead of GraphicsContext*.
(WebCore::RenderObject::absoluteFocusRingQuads):
* rendering/RenderObject.h:
(WebCore::RenderObject::addFocusRingRects): Add paintContainer parameter.

LayoutTests:

New ref test for the bug.

* compositing/sub-layer-focus-ring-expected.html: Added.
* compositing/sub-layer-focus-ring.html: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@144350 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Implement more StorageAreaProxy member functions
https://bugs.webkit.org/show_bug.cgi?id=111103

Reviewed by Sam Weinig.

Source/WebCore:

Export two more StorageMap symbols required by WebKit2.

* WebCore.exp.in:

Source/WebKit2:

* Shared/SecurityOriginData.cpp:
(WebKit::SecurityOriginData::securityOrigin):
* Shared/SecurityOriginData.h:
Add helper to create a WebCore::SecurityOrigin from a SecurityOriginData object.

* WebProcess/Storage/StorageAreaProxy.cpp:
(WebKit::StorageAreaProxy::key):
Fill the storage map and call through to StorageMap::key.

(WebKit::StorageAreaProxy::contains):
Fill the storage map and call through to StorageMap::contains.

(WebKit::StorageAreaProxy::memoryBytesUsedByCache):
Return 0; this matches StorageAreaImpl.

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