BUILD FIX (r146687): setDefaultMIMEType() is unused in ResourceHandleCFNet.cpp on iOS

Fixes the following build failure:

    Source/WebCore/platform/network/cf/ResourceHandleCFNet.cpp:98:13: error: unused function 'setDefaultMIMEType' [-Werror,-Wunused-function]
    static void setDefaultMIMEType(CFURLResponseRef response)
                ^
    1 error generated.

* platform/network/cf/ResourceHandleCFNet.cpp:
(WebCore::setDefaultMIMEType): Add #if !PLATFORM(MAC)/#endif
guard.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@146718 268f45cc-cd09-0410-ab3c-d52691b4dbfc
BUILD FIX (r146667): ResourceRequest constructor in SynchronousLoaderClient.cpp is ambiguous on iOS

Fixes the following build failure:

    Source/WebCore/platform/network/SynchronousLoaderClient.cpp:52:15: error: conversion from 'int' to 'const WebCore::ResourceRequest' is ambiguous
        request = 0;
                  ^
    In file included from Source/WebCore/platform/network/SynchronousLoaderClient.cpp:30:
    In file included from Source/WebCore/platform/network/ResourceHandle.h:37:
    In file included from Source/WebCore/platform/network/ios/QuickLook.h:13:
    Source/WebCore/platform/network/cf/ResourceRequest.h:79:9: note: candidate constructor
            ResourceRequest(NSURLRequest *);
            ^
    Source/WebCore/platform/network/cf/ResourceRequest.h:83:9: note: candidate constructor
            ResourceRequest(CFURLRequestRef cfRequest)
            ^
    1 error generated.

* platform/network/SynchronousLoaderClient.cpp:
(WebCore::SynchronousLoaderClient::willSendRequest): If
USE(CFNETWORK) is defined, use static_cast<CFURLRequestRef>(0),
otherwise use static_cast<NSURLRequest *>(0).

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@146719 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Revert "BUILD FIX (r146667): ResourceRequest constructor in SynchronousLoaderClient.cpp is ambiguous on iOS"

This is platform-agnositic code, so the previous solution won't work.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@146720 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[GTK][Regression] webkit_dom_html_table_element_insert_row returns value that doesn't pass WEBKIT_DOM_IS_HTML_TABLE_ROW_ELEMENT macro
https://bugs.webkit.org/show_bug.cgi?id=111714

Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2013-03-23
Reviewed by Martin Robinson.

Source/WebCore:

Add custom kit implementation for HTMLElements so that the HTML
wrappers are used in that case instead of wrapHTMLElement.

* bindings/gobject/WebKitDOMBinding.cpp:
(WebKit::kit):
(WebKit):
* bindings/gobject/WebKitDOMBinding.h:
(WebCore):
(WebKit):
* bindings/scripts/CodeGeneratorGObject.pm:
(UsesManualKitImplementation):

Source/WebKit/gtk:

Add test that checks webkit_dom_html_table_element_insert_row() to
also preproduce this issue.

* tests/testdomdocument.c:
(test_dom_document_insert_row):
(main):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@146721 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Added a setting for whether JavaScript markup is enabled
https://bugs.webkit.org/show_bug.cgi?id=112999

Rolled out a line from r146664 that was left over from before I adopted
the Settings.in way of adding a new setting.

Reviewed by Ryosuke Niwa.

* WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner): No need
to initialize / override -- Settings.in settings do this automatically.

Also, dydx noticed that this line of code had a typo, and was totaly wrong.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@146722 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Qt] editing/pasteboard/can-read-in-dragstart-event.html and /can-read-in-copy-and-cut-events.html are crashing
https://bugs.webkit.org/show_bug.cgi?id=113126

Reviewed by Ryosuke Niwa.

Source/WebCore:

The ClipboardQt implementation only allows reading or writing, not both. Attempting to read
when the clipboard is only writable will lead to a crash since the corresponding member will
be null. To prevent crashes, change the asserts to early returns. In the long term, the
correct fix is to unify the m_readableData and m_writableData members.

No new tests since no functionality in Qt port should change.

* platform/qt/ClipboardQt.cpp:
(WebCore::ClipboardQt::getData):
(WebCore::ClipboardQt::types):
(WebCore::ClipboardQt::files):

LayoutTests:

* platform/qt/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@146723 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Implement Web Speech Synthesis for Chromium
https://bugs.webkit.org/show_bug.cgi?id=111695

Reviewed by Adam Barth.

Source/Platform:

Exposes a platform API that the embedder can implement to
provide speech synthesis for the Chromium port.

* Platform.gypi:
* chromium/public/Platform.h:
(WebKit):
(Platform):
(WebKit::Platform::speechSynthesizer):
* chromium/public/WebSpeechSynthesisUtterance.h: Added.
(WebKit):
(WebSpeechSynthesisUtterance):
(WebKit::WebSpeechSynthesisUtterance::WebSpeechSynthesisUtterance):
(WebKit::WebSpeechSynthesisUtterance::~WebSpeechSynthesisUtterance):
(WebKit::WebSpeechSynthesisUtterance::operator=):
(WebKit::WebSpeechSynthesisUtterance::isNull):
* chromium/public/WebSpeechSynthesisVoice.h: Added.
(WebCore):
(WebKit):
(WebSpeechSynthesisVoice):
(WebKit::WebSpeechSynthesisVoice::WebSpeechSynthesisVoice):
(WebKit::WebSpeechSynthesisVoice::~WebSpeechSynthesisVoice):
(WebKit::WebSpeechSynthesisVoice::operator=):
* chromium/public/WebSpeechSynthesizer.h: Added.
(WebKit):
(WebSpeechSynthesizer):
(WebKit::WebSpeechSynthesizer::~WebSpeechSynthesizer):
* chromium/public/WebSpeechSynthesizerClient.h: Added.
(WebKit):
(WebSpeechSynthesizerClient):
(WebKit::WebSpeechSynthesizerClient::~WebSpeechSynthesizerClient):

Source/WebCore:

Straightforward implementation of speech synthesis
for Chromium by exposing interfaces for the platform
to implement.

* Modules/speech/SpeechSynthesis.cpp:
(WebCore::SpeechSynthesis::boundaryEventOccurred):
(WebCore::SpeechSynthesis::didStartSpeaking):
(WebCore::SpeechSynthesis::didPauseSpeaking):
(WebCore::SpeechSynthesis::didResumeSpeaking):
(WebCore::SpeechSynthesis::didFinishSpeaking):
(WebCore::SpeechSynthesis::speakingErrorOccurred):
(WebCore):
* Modules/speech/SpeechSynthesis.h:
(SpeechSynthesis):
* Modules/speech/SpeechSynthesisUtterance.cpp:
(WebCore::SpeechSynthesisUtterance::SpeechSynthesisUtterance):
(WebCore):
(WebCore::SpeechSynthesisUtterance::~SpeechSynthesisUtterance):
(WebCore::SpeechSynthesisUtterance::setVoice):
* Modules/speech/SpeechSynthesisUtterance.h:
(SpeechSynthesisUtterance):
(WebCore::SpeechSynthesisUtterance::text):
(WebCore::SpeechSynthesisUtterance::setText):
(WebCore::SpeechSynthesisUtterance::lang):
(WebCore::SpeechSynthesisUtterance::setLang):
(WebCore::SpeechSynthesisUtterance::volume):
(WebCore::SpeechSynthesisUtterance::setVolume):
(WebCore::SpeechSynthesisUtterance::rate):
(WebCore::SpeechSynthesisUtterance::setRate):
(WebCore::SpeechSynthesisUtterance::pitch):
(WebCore::SpeechSynthesisUtterance::setPitch):
(WebCore::SpeechSynthesisUtterance::startTime):
(WebCore::SpeechSynthesisUtterance::setStartTime):
(WebCore::SpeechSynthesisUtterance::platformUtterance):
* Modules/speech/SpeechSynthesisVoice.h:
(WebCore::SpeechSynthesisVoice::~SpeechSynthesisVoice):
* WebCore.exp.in:
* WebCore.gypi:
* platform/PlatformSpeechSynthesis.h:
(PlatformSpeechSynthesis):
* platform/PlatformSpeechSynthesisUtterance.cpp:
(WebCore):
(WebCore::PlatformSpeechSynthesisUtterance::create):
* platform/PlatformSpeechSynthesisUtterance.h:
(PlatformSpeechSynthesisUtterance):
(WebCore::PlatformSpeechSynthesisUtterance::setClient):
* platform/PlatformSpeechSynthesisVoice.cpp:
(WebCore):
(WebCore::PlatformSpeechSynthesisVoice::create):
(WebCore::PlatformSpeechSynthesisVoice::PlatformSpeechSynthesisVoice):
* platform/PlatformSpeechSynthesisVoice.h:
(PlatformSpeechSynthesisVoice):
(WebCore::PlatformSpeechSynthesisVoice::setVoiceURI):
(WebCore::PlatformSpeechSynthesisVoice::setName):
(WebCore::PlatformSpeechSynthesisVoice::setLang):
(WebCore::PlatformSpeechSynthesisVoice::setLocalService):
(WebCore::PlatformSpeechSynthesisVoice::setIsDefault):
* platform/PlatformSpeechSynthesizer.cpp:
(WebCore::PlatformSpeechSynthesizer::create):
(WebCore::PlatformSpeechSynthesizer::setVoiceList):
(WebCore):
* platform/PlatformSpeechSynthesizer.h:
(WebKit):
(PlatformSpeechSynthesizerClient):
(PlatformSpeechSynthesizer):
* platform/chromium/PlatformSpeechSynthesizerChromium.cpp: Added.
(WebCore):
(WebCore::PlatformSpeechSynthesizer::PlatformSpeechSynthesizer):
(WebCore::PlatformSpeechSynthesizer::~PlatformSpeechSynthesizer):
(WebCore::PlatformSpeechSynthesizer::initializeVoiceList):
(WebCore::PlatformSpeechSynthesizer::speak):
(WebCore::PlatformSpeechSynthesizer::pause):
(WebCore::PlatformSpeechSynthesizer::resume):
(WebCore::PlatformSpeechSynthesizer::cancel):
* platform/chromium/support/WebSpeechSynthesisUtterance.cpp: Added.
(WebKit):
(WebKit::WebSpeechSynthesisUtterance::WebSpeechSynthesisUtterance):
(WebKit::WebSpeechSynthesisUtterance::operator=):
(WebKit::WebSpeechSynthesisUtterance::assign):
(WebKit::WebSpeechSynthesisUtterance::reset):
(WebKit::WebSpeechSynthesisUtterance::operator PassRefPtr<PlatformSpeechSynthesisUtterance>):
(WebKit::WebSpeechSynthesisUtterance::operator PlatformSpeechSynthesisUtterance*):
(WebKit::WebSpeechSynthesisUtterance::text):
(WebKit::WebSpeechSynthesisUtterance::lang):
(WebKit::WebSpeechSynthesisUtterance::voice):
(WebKit::WebSpeechSynthesisUtterance::volume):
(WebKit::WebSpeechSynthesisUtterance::rate):
(WebKit::WebSpeechSynthesisUtterance::pitch):
(WebKit::WebSpeechSynthesisUtterance::startTime):
* platform/chromium/support/WebSpeechSynthesisVoice.cpp: Added.
(WebKit):
(WebKit::WebSpeechSynthesisVoice::assign):
(WebKit::WebSpeechSynthesisVoice::reset):
(WebKit::WebSpeechSynthesisVoice::setVoiceURI):
(WebKit::WebSpeechSynthesisVoice::setName):
(WebKit::WebSpeechSynthesisVoice::setLanguage):
(WebKit::WebSpeechSynthesisVoice::setIsLocalService):
(WebKit::WebSpeechSynthesisVoice::setIsDefault):
(WebKit::WebSpeechSynthesisVoice::operator PassRefPtr<WebCore::PlatformSpeechSynthesisVoice>):
* platform/chromium/support/WebSpeechSynthesizerClientImpl.cpp: Added.
(WebCore):
(WebCore::WebSpeechSynthesizerClientImpl::WebSpeechSynthesizerClientImpl):
(WebCore::WebSpeechSynthesizerClientImpl::~WebSpeechSynthesizerClientImpl):
(WebCore::WebSpeechSynthesizerClientImpl::setVoiceList):
(WebCore::WebSpeechSynthesizerClientImpl::didStartSpeaking):
(WebCore::WebSpeechSynthesizerClientImpl::didFinishSpeaking):
(WebCore::WebSpeechSynthesizerClientImpl::didPauseSpeaking):
(WebCore::WebSpeechSynthesizerClientImpl::didResumeSpeaking):
(WebCore::WebSpeechSynthesizerClientImpl::speakingErrorOccurred):
(WebCore::WebSpeechSynthesizerClientImpl::wordBoundaryEventOccurred):
(WebCore::WebSpeechSynthesizerClientImpl::sentenceBoundaryEventOccurred):
* platform/chromium/support/WebSpeechSynthesizerClientImpl.h: Added.
(WebCore):
(WebSpeechSynthesizerClientImpl):
* platform/mac/PlatformSpeechSynthesizerMac.mm:
(-[WebSpeechSynthesisWrapper speakUtterance:WebCore::]):
(-[WebSpeechSynthesisWrapper speechSynthesizer:didFinishSpeaking:]):
(WebCore::PlatformSpeechSynthesizer::PlatformSpeechSynthesizer):
(WebCore):
(WebCore::PlatformSpeechSynthesizer::~PlatformSpeechSynthesizer):
(WebCore::PlatformSpeechSynthesizer::speak):
* platform/mock/PlatformSpeechSynthesizerMock.cpp:
(WebCore::PlatformSpeechSynthesizerMock::PlatformSpeechSynthesizerMock):
(WebCore::PlatformSpeechSynthesizerMock::speakingFinished):
(WebCore::PlatformSpeechSynthesizerMock::speak):
* platform/mock/PlatformSpeechSynthesizerMock.h:
(PlatformSpeechSynthesizerMock):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@146724 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Drop full URLs from cross-origin access errors caused by sandboxing.
https://bugs.webkit.org/show_bug.cgi?id=113029

Reviewed by Timothy Hatcher.

Source/WebCore:

Following up on http://wkbug.com/112042, this patch brings cross-origin
access error messages into line with the newly origin-only default
message, and changes the error message text to explicitly refer to the
missing 'allow-same-origin' sandbox flag that's the root cause of the
error.

* page/DOMWindow.cpp:
(WebCore::DOMWindow::crossDomainAccessErrorMessage):
    Note that we're using the origin of the frames' URLs rather than
    their actual origin in these messages. This seems like a reasonable
    thing to do, since we know that at least one of the two origins will
    be "null" in this scenario.

LayoutTests:

* http/tests/security/contentSecurityPolicy/sandbox-allow-scripts-in-http-header-expected.txt:
* http/tests/security/contentSecurityPolicy/sandbox-in-http-header-expected.txt:
* http/tests/security/sandboxed-iframe-blocks-access-from-parent-expected.txt:
* http/tests/security/sandboxed-iframe-origin-add-expected.txt:
* http/tests/security/sandboxed-iframe-origin-remove-expected.txt:
* http/tests/security/xss-DENIED-sandboxed-iframe-expected.txt:
* platform/chromium/http/tests/security/sandboxed-iframe-modify-self-expected.txt:
* platform/chromium/http/tests/security/srcdoc-in-sandbox-cannot-access-parent-expected.txt:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@146725 268f45cc-cd09-0410-ab3c-d52691b4dbfc
AXObjectCache gets recreated during document tear-down.
https://bugs.webkit.org/show_bug.cgi?id=112525

Reviewed by Simon Fraser.

In many cases, a document's AXObjectCache was being created after the
document had detached, which is wasteful and could potentially lead to
crashes because the AXObjectCache has a timer and relies on its document
to exist.

This patch provides a way to get the existing AX object cache, instead of
always creating a new one.
It moves the accessibilityEnabled() checks into the axObjectCache retrieval
for easier readability.
It adds a number of ASSERTs to vieryf that only the correct (top) document is used
for cache manipulation.

* accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::stopCachingComputedObjectAttributes):
* dom/ContainerNode.cpp:
(WebCore::ContainerNode::~ContainerNode):
* dom/Document.cpp:
(WebCore::Document::~Document):
(WebCore::Document::clearAXObjectCache):
(WebCore::Document::existingAXObjectCache):
(WebCore::Document::axObjectCache):
(WebCore::Document::setFocusedNode):
* dom/Document.h:
(Document):
* dom/Element.cpp:
(WebCore::Element::attributeChanged):
* dom/Node.cpp:
(WebCore::Node::~Node):
(WebCore::Node::isEditableToAccessibility):
(WebCore::Node::attach):
(WebCore::Node::rootEditableElement):
(WebCore::Node::didMoveToNewDocument):
* editing/AppendNodeCommand.cpp:
(WebCore::sendAXTextChangedIgnoringLineBreaks):
* editing/DeleteFromTextNodeCommand.cpp:
(WebCore::DeleteFromTextNodeCommand::doApply):
(WebCore::DeleteFromTextNodeCommand::doUnapply):
* editing/Editor.cpp:
(WebCore::Editor::respondToChangedContents):
(WebCore::Editor::markAndReplaceFor):
* editing/InsertIntoTextNodeCommand.cpp:
(WebCore::InsertIntoTextNodeCommand::doApply):
(WebCore::InsertIntoTextNodeCommand::doUnapply):
* editing/InsertNodeBeforeCommand.cpp:
(WebCore::InsertNodeBeforeCommand::doApply):
(WebCore::InsertNodeBeforeCommand::doUnapply):
* editing/atk/FrameSelectionAtk.cpp:
(WebCore::FrameSelection::notifyAccessibilityForSelectionChange):
* editing/chromium/FrameSelectionChromium.cpp:
(WebCore::FrameSelection::notifyAccessibilityForSelectionChange):
* editing/mac/FrameSelectionMac.mm:
(WebCore::FrameSelection::notifyAccessibilityForSelectionChange):
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::setChecked):
* html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::optionElementChildrenChanged):
(WebCore::HTMLSelectElement::setRecalcListItems):
* html/HTMLTextFormControlElement.cpp:
(WebCore::HTMLTextFormControlElement::setInnerTextValue):
* html/InputType.cpp:
(WebCore::InputType::applyStep):
* html/RangeInputType.cpp:
(WebCore::RangeInputType::handleKeydownEvent):
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::prepareForLoadStart):
(WebCore::FrameLoader::checkLoadCompleteForThisFrame):
* page/FocusController.cpp:
(WebCore::FocusController::setInitialFocus):
* page/Frame.cpp:
(WebCore::Frame::disconnectOwnerElement):
* page/FrameView.cpp:
(WebCore::FrameView::removeFromAXObjectCache):
(WebCore::FrameView::layout):
(WebCore::FrameView::scrollToAnchor):
(WebCore::FrameView::axObjectCache):
* platform/ScrollView.cpp:
(WebCore::ScrollView::setHasHorizontalScrollbar):
(WebCore::ScrollView::setHasVerticalScrollbar):
* platform/Scrollbar.cpp:
(WebCore::Scrollbar::~Scrollbar):
(WebCore):
(WebCore::Scrollbar::existingAXObjectCache):
* platform/Scrollbar.h:
(Scrollbar):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::deleteLineBoxTree):
(WebCore::RenderBlock::createRootInlineBox):
(WebCore::RenderBlock::createAndAppendRootInlineBox):
* rendering/RenderListBox.cpp:
(WebCore::RenderListBox::selectionChanged):
* rendering/RenderMenuList.cpp:
(WebCore::RenderMenuList::addChild):
(WebCore::RenderMenuList::didUpdateActiveOption):
* rendering/RenderObject.cpp:
(WebCore::RenderObject::styleWillChange):
(WebCore::RenderObject::willBeDestroyed):
* rendering/RenderObjectChildList.cpp:
(WebCore::RenderObjectChildList::removeChildNode):
(WebCore::RenderObjectChildList::insertChildNode):
* rendering/RenderText.cpp:
(WebCore::RenderText::setText):
* rendering/RenderWidget.cpp:
(WebCore::RenderWidget::willBeDestroyed):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@146726 268f45cc-cd09-0410-ab3c-d52691b4dbfc
AX: Crash in WebCore::AccessibilitySpinButton::incrementButton()
https://bugs.webkit.org/show_bug.cgi?id=111582

Reviewed by Tim Horton.

Source/WebCore: 

There are two ways to create a spin button: from a textfield counter or from ARIA.
If an ARIA spin button is created, it was returning true for isSpinButton, so we were 
casting to the other kind of spin button, leading to a crash.

We need to be more specific about our class types.

Test: platform/mac/accessibility/aria-spinbutton-crash.html

* accessibility/AccessibilityObject.h:
(WebCore::AccessibilityObject::isNativeSpinButton):
* accessibility/AccessibilitySpinButton.h:
(WebCore::AccessibilitySpinButton::isNativeSpinButton):
(WebCore::toAccessibilitySpinButton):
* accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):

LayoutTests: 

* platform/mac/accessibility/aria-spinbutton-crash-expected.txt: Added.
* platform/mac/accessibility/aria-spinbutton-crash.html: Added.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@146727 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[EFL] NetworkStateNotifier::updateState() is called too often
https://bugs.webkit.org/show_bug.cgi?id=113152

Reviewed by Kenneth Rohde Christiansen.

Wait until we have read all the data on the Netlink socket before
reporting a possible network interface change. This way, we make
sure we don't call NetworkStateNotifier::updateState() several
times in a row for no reason.

We also call NetworkStateNotifier::updateState() only if we get a
RTM_NEWADDR event and we are currently offline, or if we get a
RTM_DELADDR and we are currently online. This avoids calling
NetworkStateNotifier::updateState() uselessly as there is no way
the online state can change otherwise.

No new tests, no behavior change for layout tests.

* platform/network/efl/NetworkStateNotifierEfl.cpp:
(WebCore::NetworkStateNotifier::readSocketCallback):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@146728 268f45cc-cd09-0410-ab3c-d52691b4dbfc
BUILD FIX (r146704): Settings::setHiddenPageDOMTimerThrottlingEnabled() isn't always built
<http://webkit.org/b/112308>

* WebCore.exp.in: Export
Settings::setHiddenPageDOMTimerThrottlingEnabled()
conditionally based on ENABLE(HIDDEN_PAGE_DOM_TIMER_THROTTLING).

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@146729 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[EFL] Add support to check for current Drawable.
https://bugs.webkit.org/show_bug.cgi?id=113103

Patch by KondapallyKalyan <kalyan.kondapally@intel.com> on 2013-03-24
Reviewed by Kenneth Rohde Christiansen.

Covered by existing WebGL tests.

In MakeCurrent we do an early return if it is
the current GL context but ignore Surface. This
patch fixes the issue, we now check for both
context and surface before doing an early return
in MakeCurrent.

* platform/graphics/opengl/GLPlatformContext.cpp:
(WebCore::GLPlatformContext::makeCurrent):
(WebCore::GLPlatformContext::releaseCurrent):
(WebCore::GLPlatformContext::destroy):
* platform/graphics/opengl/GLPlatformSurface.cpp:
(WebCore):
(WebCore::GLPlatformSurface::isCurrentDrawable):
(WebCore::GLPlatformSurface::onMakeCurrent):
* platform/graphics/opengl/GLPlatformSurface.h:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@146730 268f45cc-cd09-0410-ab3c-d52691b4dbfc
HandleSet should use HeapBlocks for storing handles
https://bugs.webkit.org/show_bug.cgi?id=113145

Reviewed by Geoffrey Garen.

* GNUmakefile.list.am: Build project changes.
* JavaScriptCore.gypi: Ditto.
* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj: Ditto.
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj: Ditto.
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters: Ditto.
* JavaScriptCore.xcodeproj/project.pbxproj: Ditto.
* heap/BlockAllocator.cpp: Rename the RegionSet to m_fourKBBlockRegionSet because there are 
too many block types to include them all in the name now.
(JSC::BlockAllocator::BlockAllocator):
* heap/BlockAllocator.h:
(BlockAllocator): Add the appropriate override for regionSetFor.
(JSC::WeakBlock):
(JSC::MarkStackSegment):
(JSC::HandleBlock):
* heap/HandleBlock.h: Added.
(HandleBlock): New class for HandleBlocks.
(JSC::HandleBlock::blockFor): Static method to get the block of the given HandleNode pointer. Allows
us to quickly figure out which HandleSet the HandleNode belongs to without storing the pointer to it
in the HandleNode.
(JSC::HandleBlock::handleSet): Getter.
* heap/HandleBlockInlines.h: Added.
(JSC::HandleBlock::create):
(JSC::HandleBlock::HandleBlock):
(JSC::HandleBlock::payloadEnd):
(JSC::HandleBlock::payload):
(JSC::HandleBlock::nodes):
(JSC::HandleBlock::nodeAtIndex):
(JSC::HandleBlock::nodeCapacity):
* heap/HandleSet.cpp:
(JSC::HandleSet::~HandleSet): 
(JSC::HandleSet::grow):
* heap/HandleSet.h:
(HandleNode): Move the internal Node class from HandleSet to be its own public class so it can be 
used by HandleBlock.
(HandleSet): Add a typedef so that Node refers to the new HandleNode class.
(JSC::HandleSet::toHandle):
(JSC::HandleSet::toNode):
(JSC::HandleSet::allocate):
(JSC::HandleSet::deallocate):
(JSC::HandleNode::HandleNode):
(JSC::HandleNode::slot):
(JSC::HandleNode::handleSet): Use the new blockFor static function to get the right HandleBlock and lookup 
the HandleSet.
(JSC::HandleNode::setPrev):
(JSC::HandleNode::prev):
(JSC::HandleNode::setNext):
(JSC::HandleNode::next):
(JSC::HandleSet::forEachStrongHandle):
* heap/Heap.h: Friend HandleSet so that it can access the BlockAllocator when allocating HandleBlocks.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@146734 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed.  Rolled Chromium DEPS to r190276.  Requested by
"Dana Jansens" <danakj@chromium.org> via sheriffbot.

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

* DEPS:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@146735 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[chromium] Wire windows scrollByPage enum up to compositor thread input handling
https://bugs.webkit.org/show_bug.cgi?id=113117

Reviewed by Adrienne Walker.

Source/Platform:

* chromium/public/WebInputHandlerClient.h:

Source/WebKit/chromium:

* src/WebCompositorInputHandlerImpl.cpp:
(WebKit::WebCompositorInputHandlerImpl::handleInputEventInternal):
* tests/WebCompositorInputHandlerImplTest.cpp:
(MockWebInputHandlerClient):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@146736 268f45cc-cd09-0410-ab3c-d52691b4dbfc
GIFImageReader should reports parsing error to client
https://bugs.webkit.org/show_bug.cgi?id=113141

Reviewed by Stephen White.

Source/WebCore:

GIFImageReader nows reports parsing error to client (GIFImageDecoder) such that errors can be handled.
In the case of corrupted GIF images GIFImageReader will be deleted and decoding will fail.

Unit test is updated to reflect change in behavior.
Tested with a local corpus which showed better handling of corrupted GIF images.

* platform/image-decoders/gif/GIFImageReader.cpp:
(GIFImageReader::decode):

Source/WebKit/chromium:

Updated unit test that runs on a broken GIF image file, decoding should fail.

* tests/GIFImageDecoderTest.cpp:
(WebKit::TEST):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@146737 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Shadow] Add a test of insertionParent for <shadow> element.
https://bugs.webkit.org/show_bug.cgi?id=113021

Reviewed by Dimitri Glazkov.

* fast/dom/shadow/insertion-parent-shadow-expected.txt: Added.
* fast/dom/shadow/insertion-parent-shadow.html: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@146738 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[chromium] Roll chromium deps to 190311.
https://bugs.webkit.org/show_bug.cgi?id=113161

Unreviewed, rolling deps.


* DEPS:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@146739 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[l10n] Updated Polish translation of WebKitGTK+
https://bugs.webkit.org/show_bug.cgi?id=113113

Patch by Piotr Drąg <piotrdrag@gmail.com> on 2013-03-24
Reviewed by Gustavo Noronha Silva (kov).

* pl.po: updated translation.

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