[GTK] Add the Wayland protocol extension
https://bugs.webkit.org/show_bug.cgi?id=136102

Reviewed by Martin Robinson.

Add the Wayland protocol extension that allows mapping GtkWidget
objects (via an ID that's unique to that GtkWidget) to the
corresponding Wayland surface objects. This way the nested
compositor has the proper information about what GtkWidget has
to be updated when surfaces are committed by the LayerTreeHost.

* PlatformGTK.cmake:
* platform/graphics/wayland: Added.
* platform/graphics/wayland/WebKitGtkWaylandClientProtocol.xml: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@172856 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[EFL] Apply eflsymbols.filter to WebKit2
https://bugs.webkit.org/show_bug.cgi?id=136148

Reviewed by Csaba Osztrogonác.

eflsymbol filter hasn't been applied to WK2 port. Additionally clean up WK1 symbol
in the eflsymbols.filter.

* Source/cmake/OptionsEfl.cmake:
* Source/cmake/eflsymbols.filter:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@172857 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[GTK] install-dependencies don't installs Xvfb that is needed for the tests.
https://bugs.webkit.org/show_bug.cgi?id=136153

Reviewed by Martin Robinson.

* gtk/install-dependencies: Add Xvfb package to the list of dependencies necessary for running tests.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@172858 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Fix iOS build due to r172832 and move RUBBER_BANDING out of FeatureDefines.h
https://bugs.webkit.org/show_bug.cgi?id=136157

Reviewed by Simon Fraser.

Source/JavaScriptCore:

* Configurations/FeatureDefines.xcconfig: Add ENABLE(RUBBER_BANDING).

Source/WebCore:

* Configurations/FeatureDefines.xcconfig: Add ENABLE(RUBBER_BANDING).

Source/WebKit/mac:

* Configurations/FeatureDefines.xcconfig: Add ENABLE(RUBBER_BANDING).
* WebView/WebView.mm:
(-[WebView _preferencesChanged:]): Wrap in ENABLE(RUBBER_BANDING).

Source/WebKit2:

* Configurations/FeatureDefines.xcconfig: Add ENABLE(RUBBER_BANDING).

Source/WTF:

* wtf/FeatureDefines.h: Remove ENABLE(RUBBER_BANDING) logic for Mac platform.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@172860 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Implement rudimentary Bopomofo Ruby support (ruby-position:inter-character)
https://bugs.webkit.org/show_bug.cgi?id=136137
<rdar://problem/12567545>

Reviewed by Sam Weinig.

Source/WebCore:

Added fast/ruby/bopomofo.html and fast/ruby/bopomofo-rl.html.

* css/CSSParser.cpp:
(WebCore::isValidKeywordPropertyAndValue):
* css/CSSPrimitiveValueMappings.h:
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
(WebCore::CSSPrimitiveValue::operator RubyPosition):
* css/CSSPropertyNames.in:
* css/CSSValueKeywords.in:
Add support for the new inter-character value for ruby-position and also
add support for a new font-size keyword, -webkit-ruby-text, that is used
to set a smart initial font size based off the type of ruby being presented.

* css/DeprecatedStyleBuilder.cpp:
(WebCore::ApplyPropertyFontSize::determineRubyTextSizeMultiplier):
(WebCore::ApplyPropertyFontSize::applyValue):
Determine the Ruby text size multiplier when -webkit-ruby-text is specified
as the font size. For ruby-position of before/after, we use 50% of the parent
font size. For inter-character ruby, we default to 25% instead. If inter-character
Ruby is nested, we assume it's to display tone marks, and we use 100% to ensure
the tone mark is the same size and does not get smaller.

* css/StyleResolver.cpp:
(WebCore::StyleResolver::adjustStyleForInterCharacterRuby):
(WebCore::StyleResolver::applyMatchedProperties):
* css/StyleResolver.h:
ruby-position is now the highest priority CSS property, and it is resolved
before all other properties to ensure that its value can be checked when
determining a smart default font size. adjustStyleForInterCharacterRuby is a new
function called to auto-adjust inter-character ruby text to be vertical writing mode when
encountered inside horizontal documents.

* css/html.css:
(ruby > rt):
Change the font-size from 50% to -webkit-ruby-text to allow us to customize it as
needed depending on what kind of Ruby we want to show.

* rendering/RenderRubyRun.cpp:
(WebCore::RenderRubyRun::layout):
* rendering/RenderRubyRun.h:
Add layout code to properly position vertical ruby text relative to a horizontal base.

* rendering/style/RenderStyleConstants.h:
Add the new inter-character constant for ruby-position.

* rendering/style/StyleRareInheritedData.h:
Increase the number of storage bits for RubyPosition from 1 to 2 now that we support 3 values.

LayoutTests:

* fast/ruby/bopomofo-rl.html: Added.
* fast/ruby/bopomofo.html: Added.
* platform/mac/fast/ruby/bopomofo-expected.png: Added.
* platform/mac/fast/ruby/bopomofo-expected.txt: Added.
* platform/mac/fast/ruby/bopomofo-rl-expected.png: Added.
* platform/mac/fast/ruby/bopomofo-rl-expected.txt: Added.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@172861 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed, rolling out r172844.
https://bugs.webkit.org/show_bug.cgi?id=136164

re-applying WEBCORE_EXPORTS patch (Requested by
alexchristensen on #webkit).

Reverted changeset:

"Revert r172831, it broke the Windows build."
http://trac.webkit.org/changeset/172844

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@172862 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Enable fixed executable allocator for any ARM64 target.
https://bugs.webkit.org/show_bug.cgi?id=136162

Patch by Akos Kiss <akiss@inf.u-szeged.hu> on 2014-08-22
Reviewed by Michael Saboff.

The ARM64 macro assembler relies on near calls being implemented by BL
instructions, which have only 128MB offset range from PC. The
on-demand executable allocator cannot ensure that any two locations in
memory allocated for the JIT-compiled code are within this range.
However, the fixed executable allocator has a fixed 16MB memory pool for
ARM64.

* wtf/Platform.h:
Define ENABLE_EXECUTABLE_ALLOCATOR_FIXED if CPU(ARM64), and update
attached comment.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@172863 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Implement paint flashing via GraphicsLayers in the WK2 inspector overlay
https://bugs.webkit.org/show_bug.cgi?id=136136

Reviewed by Sam Weinig, Joseph Pecoraro.
Source/WebCore:

Allow InspectorClient to have a custom implementation of showPaintRect(). For
WebKit2's WebInspectorClient, implement this by creating a set of GraphicsLayers
which are parented in a document overlay, with 0.25s fade-out animations.

Also change InspectorInstrumentation::didPaintImpl() to no longer take a GraphicsContext;
it makes no sense to paint the paint rects directly into the context of the web page.
Now that the paint rects are painted into an overlay, the rectangles need to be converted
to root document coordinates, which is done in InspectorInstrumentation::didPaintImpl().

Remove the generic InspectorOverlay::drawOutline()-based indicators; they will
be reimplemented in a later patch.

* WebCore.exp.in:
* inspector/InspectorClient.h:
(WebCore::InspectorClient::showPaintRect):
* inspector/InspectorInstrumentation.cpp:
(WebCore::InspectorInstrumentation::didPaintImpl):
* inspector/InspectorInstrumentation.h:
(WebCore::InspectorInstrumentation::didPaint):
* inspector/InspectorPageAgent.cpp:
(WebCore::InspectorPageAgent::didPaint):
* inspector/InspectorPageAgent.h:
* page/FrameView.cpp:
(WebCore::FrameView::didPaintContents):
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::paintContents):

Source/WebKit2:

Allow InspectorClient to have a custom implementation of showPaintRect(). For
WebKit2's WebInspectorClient, implement this by creating a set of GraphicsLayers
which are parented in a document overlay, with 0.25s fade-out animations.

Also change InspectorInstrumentation::didPaintImpl() to no longer take a GraphicsContext;
it makes no sense to paint the paint rects directly into the context of the web page.
Now that the paint rects are painted into an overlay, the rectangles need to be converted
to root document coordinates, which is done in InspectorInstrumentation::didPaintImpl().

Remove the generic InspectorOverlay::drawOutline()-based indicators; they will
be reimplemented in a later patch.

* WebProcess/WebCoreSupport/WebInspectorClient.cpp:
(WebKit::RepaintIndicatorLayerClient::RepaintIndicatorLayerClient):
(WebKit::RepaintIndicatorLayerClient::~RepaintIndicatorLayerClient):
(WebKit::RepaintIndicatorLayerClient::notifyAnimationEnded):
(WebKit::WebInspectorClient::WebInspectorClient):
(WebKit::WebInspectorClient::~WebInspectorClient):
(WebKit::WebInspectorClient::showPaintRect):
(WebKit::WebInspectorClient::animationEndedForLayer):
* WebProcess/WebCoreSupport/WebInspectorClient.h:
(WebKit::WebInspectorClient::WebInspectorClient): Deleted.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@172864 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[iOS] Disable ENABLE_IOS_{GESTURE, TOUCH}_EVENTS, and temporarily disable ENABLE_TOUCH_EVENTS
and ENABLE_XSLT when building with the iOS public SDK
https://bugs.webkit.org/show_bug.cgi?id=135945

Reviewed by Andy Estes.

Source/JavaScriptCore:

* Configurations/FeatureDefines.xcconfig:

Source/WebCore:

Towards bringing up the iOS WebKit port using the iOS public SDK, disable the proprietary
iOS gesture and touch event code. For now we also temporarily disable ENABLE_TOUCH_EVENTS
and ENABLE_XSLT while we focus to get the rest of the port built using the public SDK. We'll
look to enable these features once we stabilize the build.

* Configurations/FeatureDefines.xcconfig: Disable ENABLE_IOS_{GESTURE, TOUCH}_EVENTS, ENABLE_TOUCH_EVENTS
and ENABLE_XSLT when building with the public SDK.
* Configurations/WebCore.xcconfig:
* DerivedSources.make: Conditionally generate derived sources for touch and gesture events as applicable and pass
define WTF_USE_APPLE_INTERNAL_SDK when generating bindings (if applicable). Make the logic for determining
whether WTF_PLATFORM_IOS is defined consistent with logic for determining whether WTF_USE_APPLE_INTERNAL_SDK and
ENABLE_ORIENTATION_EVENTS are defined. We should look to further cleanup this code.
* bindings/js/ios/TouchConstructors.cpp: Substitute ENABLE(IOS_TOUCH_EVENTS) for macro expression "PLATFORM(IOS) && ENABLE(TOUCH_EVENTS)".
* bindings/objc/DOMEvents.h: Write preprocessor logic in terms of ENABLE_TOUCH_EVENTS and ENABLE_IOS_GESTURE_EVENTS.
* bindings/objc/PublicDOMInterfaces.h: Include private header <WebKitAdditions/PublicDOMInterfacesIOS.h> when
it exists as opposed to assuming it exists when building for iOS.
* dom/Document.cpp:
(WebCore::Document::Document): Substitute ENABLE(IOS_TOUCH_EVENTS) for macro expression "ENABLE(TOUCH_EVENTS) && PLATFORM(IOS)".
(WebCore::Document::prepareForDestruction): Ditto.
(WebCore::Document::removeAllEventListeners): Ditto.
* dom/Document.h: Write preprocessor logic in terms of ENABLE_IOS_TOUCH_EVENTS and ENABLE_TOUCH_EVENTS.
* dom/Document.idl: Ditto.
* dom/Touch.h: Substitute ENABLE(IOS_TOUCH_EVENTS) for PLATFORM(IOS)..
* dom/TouchEvent.h: Ditto.
* dom/TouchList.h: Ditto.
* dom/ios/TouchEvents.cpp: Substitute ENABLE(IOS_TOUCH_EVENTS) for macro expression "PLATFORM(IOS) && ENABLE(TOUCH_EVENTS)".
* history/CachedFrame.cpp: Add PLATFORM(IOS) guard.
* html/shadow/SliderThumbElement.cpp:
(WebCore::SliderThumbElement::SliderThumbElement): Substitute ENABLE(IOS_TOUCH_EVENTS) for ENABLE(TOUCH_EVENTS).
(WebCore::SliderThumbElement::willDetachRenderers): Ditto.
* html/shadow/SliderThumbElement.h: Ditto.
* loader/EmptyClients.h: Ditto.
* platform/ios/PlatformEventFactoryIOS.h: Write preprocessor logic in terms of ENABLE_IOS_TOUCH_EVENTS and ENABLE_TOUCH_EVENTS.
Only include header <WebKitAdditions/PlatformTouchEventIOS.h> when building with ENABLE_TOUCH_EVENTS enabled.

Source/WebKit/mac:

* Configurations/FeatureDefines.xcconfig: Disable ENABLE_IOS_{GESTURE, TOUCH}_EVENTS, ENABLE_TOUCH_EVENTS
and ENABLE_XSLT when building with the public SDK.
* MigrateHeaders.make: Conditionally migrate headers for touch and gesture events.

Source/WebKit2:

* Configurations/FeatureDefines.xcconfig: Disable ENABLE_IOS_{GESTURE, TOUCH}_EVENTS, ENABLE_TOUCH_EVENTS
and ENABLE_XSLT when building with the public SDK.
* Shared/WebEventConversion.h: Write preprocessor logic in terms of ENABLE(IOS_TOUCH_EVENTS).
* WebProcess/WebPage/WebPage.h: Ditto.

Source/WTF:

* wtf/FeatureDefines.h:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@172865 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Replace use of WKCopyCFLocalizationPreferredName with NSLocale public API
https://bugs.webkit.org/show_bug.cgi?id=136082

Reviewed by Alexey Proskuryakov.

Source/WebCore:

* platform/mac/Language.mm:
(WebCore::httpStyleLanguageCode): Replace use of WKCopyCFLocalizationPreferredName
with new WebCoreNSStringExtras helper.
* platform/mac/WebCoreNSStringExtras.mm: Replacements for the aspects of
WKCopyCFLocalizationPreferredName.
(preferredBundleLocalizationName): New helper - most preferred localization available
in the main bundle, canonicalized the way we like it.
(canonicalLocalizationName): Convert a lcalization name to a string with language and
country code, using default if necessary (e.g. "en" maps to "en_US").
* WebCore.order: Remove mention of WKCopyCFLocalizationPreferredName.
* WebCore.exp.in: ditto; also export preferredBundleLocalizationName for WebKit(2).
* platform/ios/WebCoreSystemInterfaceIOS.mm: ditto
* platform/mac/WebCoreSystemInterface.h: ditto
* platform/mac/WebCoreSystemInterface.mm: ditto

Source/WebKit/mac:

* Plugins/Hosted/NetscapePluginHostManager.mm:
(WebKit::NetscapePluginHostManager::spawnPluginHost): Get current
localization name using WebCore helper instead of SPI.
* Plugins/WebBasePluginPackage.mm: Fixed the include style for this 
file.
(-[WebBasePluginPackage getPluginInfoFromPLists]): Get current
localization name using WebCore helper instead of SPI.
(+[WebBasePluginPackage preferredLocalizationName]): Deleted. This
helper no longer pulls its weight.
* WebCoreSupport/WebSystemInterface.mm: 
(InitWebCoreSystemInterface): Remove mention of
WKCopyCFLocalizationPreferredName.
* WebKit.order: ditto

Source/WebKit2:

* UIProcess/Launcher/mac/ProcessLauncherMac.mm:
(WebKit::connectToService): Remove accidental leftover retrieval
of the localization.
(WebKit::createProcess): Get current localization name from
CFBundle API instead of using SPI.
* WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
(InitWebCoreSystemInterface): Remove mention of WKCopyCFLocalizationPreferredName
* mac/WebKit2.order: ditto


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@172866 268f45cc-cd09-0410-ab3c-d52691b4dbfc
REGRESSION(r163179): Sporadic crash in js/dom/line-column-numbers.html test
https://bugs.webkit.org/show_bug.cgi?id=136111

Reviewed by Filip Pizlo.

The problem was that we weren't properly handling VM::topVMEntryFrame in two ways.

First in the case where we get an exception of a stack overflow during setup of the direct
callee frame of a VM entry frame, we need to throw the exception in the caller's frame.
This requires unrolling topVMEntryFrame while creating the exception object.  This is
accomplished with the renamed NativeCallFrameTracerWithRestore object.  As part of this,
split the JIT rollback exception handling to call a new helper,
callLookupExceptionHandlerFromCallerFrame, which will unroll the callFrame and VMEntryFrame.

Second, when we unwind to find a handler, we also need to unwind topVMCallFrame for the
case where we end up (re)throwing another exception after entering the catch block, but
before another vmEntry call.  Added VM::vmEntryFrameForThrow as a way similar to
VM::callFrameForThrow to pass the appropriate VMENtryFrame to the catch block.


* dfg/DFGJITCompiler.cpp:
(JSC::DFG::JITCompiler::compileExceptionHandlers):
* ftl/FTLCompile.cpp:
(JSC::FTL::fixFunctionBasedOnStackMaps):
* jit/JIT.cpp:
(JSC::JIT::privateCompileExceptionHandlers):
Split out the unroll cases to use the new helper callLookupExceptionHandlerFromCallerFrame()
to unwind both the callFrame and topVMEntryFrame.

* interpreter/Interpreter.cpp:
(JSC::UnwindFunctor::UnwindFunctor):
(JSC::UnwindFunctor::operator()):
(JSC::Interpreter::unwind):
* jit/JITExceptions.cpp:
(JSC::genericUnwind):
Added VMEntryFrame as another component to unwind.

* interpreter/Interpreter.h:
(JSC::NativeCallFrameTracer::NativeCallFrameTracer):
(JSC::NativeCallFrameTracerWithRestore::NativeCallFrameTracerWithRestore):
(JSC::NativeCallFrameTracerWithRestore::~NativeCallFrameTracerWithRestore):
Renamed and changed to save and restore topCallFrame and topVMEntryFrame around the setting of
both values.

* interpreter/StackVisitor.cpp:
(JSC::StackVisitor::gotoNextFrame):
(JSC::StackVisitor::readNonInlinedFrame):
* interpreter/StackVisitor.h:
(JSC::StackVisitor::Frame::vmEntryFrame):
Added code to unwind the VMEntryFrame.

* jit/CCallHelpers.h:
(JSC::CCallHelpers::jumpToExceptionHandler): Updated comment to indicate that the value
the handler should use for VM::topEntryFrame is in VM::vmEntryFrameForThrow.

* jit/JITOpcodes.cpp:
(JSC::JIT::emit_op_catch):
* jit/JITOpcodes32_64.cpp:
(JSC::JIT::emit_op_catch):
* llint/LowLevelInterpreter32_64.asm:
* llint/LowLevelInterpreter64.asm:
Added code to update VM::topVMEntryFrame from VM::vmEntryFrameForThrowOffset.

* jit/JITOperations.cpp:
* jit/JITOperations.h:
(JSC::operationThrowStackOverflowError):
(JSC::operationCallArityCheck):
(JSC::operationConstructArityCheck):

* runtime/VM.h:
(JSC::VM::vmEntryFrameForThrowOffset):
(JSC::VM::topVMEntryFrameOffset):
Added as the side channel to return the topVMEntryFrame that the handler should use.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@172867 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[iOS] Cleanup media code
https://bugs.webkit.org/show_bug.cgi?id=136163

Reviewed by Jer Noble.

No new tests, no functionality was changed.

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::HTMLMediaElement): Don't initialize m_requestingPlay.
(WebCore::HTMLMediaElement::parseMediaPlayerAttribute): Deleted.
(WebCore::HTMLMediaElement::parseAttribute): Don't call parseMediaPlayerAttribute.
(WebCore::HTMLMediaElement::playInternal): m_requestingPlay is dead, Jim.
(WebCore::HTMLMediaElement::updatePlayState): Ditto.
(WebCore::HTMLMediaElement::updatePlayState): Remove obsolete FIXME.
* html/HTMLMediaElement.h:
* platform/graphics/MediaPlayer.cpp:
(WebCore::MediaPlayer::attributeChanged): Deleted.
(WebCore::MediaPlayer::readyForPlayback): Deleted.
* platform/graphics/MediaPlayer.h:
* platform/graphics/MediaPlayerPrivate.h:
(WebCore::MediaPlayerPrivateInterface::attributeChanged): Deleted.
(WebCore::MediaPlayerPrivateInterface::readyForPlayback): Deleted.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@172868 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Implement paint flashing in the WK1 InspectorOverlay page
https://bugs.webkit.org/show_bug.cgi?id=136138

Reviewed by Sam Weinig, Joseph Pecoraro.

Implement paint flashing for the WebKit1 InspectorOverlay via a second canvas in the overlay page.
We avoid allocating backing store for this canvas until we have paint rects.

Because this overlay page is weird and doesn't know how to paint itself, InspectorOverlay manages
an array of rects, and pushes them to the page when they change, before forcing a paint.

Because iOS doesn't use the InspectorOverlay page, stub out setShowPaintRects on its
WebKit WebInspectorClient, but don't yet implement paint flashing there.

Source/WebCore:

* inspector/InspectorOverlay.cpp:
(WebCore::InspectorOverlay::InspectorOverlay):
(WebCore::InspectorOverlay::shouldShowOverlay):
(WebCore::InspectorOverlay::update):
(WebCore::buildObjectForRect):
(WebCore::InspectorOverlay::setShowingPaintRects):
(WebCore::InspectorOverlay::showPaintRect):
(WebCore::InspectorOverlay::updatePaintRectsTimerFired):
(WebCore::InspectorOverlay::drawPaintRects):
(WebCore::InspectorOverlay::forcePaint):
(WebCore::quadToPath): Deleted.
(WebCore::drawOutlinedQuad): Deleted.
(WebCore::InspectorOverlay::drawOutline): Deleted.
* inspector/InspectorOverlay.h:
* inspector/InspectorOverlayPage.html:
* inspector/InspectorOverlayPage.js:
(updatePaintRects):
(reset):
(_drawShapeHighlight):
* inspector/InspectorPageAgent.cpp:
(WebCore::InspectorPageAgent::setShowPaintRects):
(WebCore::InspectorPageAgent::didPaint):

Source/WebKit/ios:

* WebCoreSupport/WebInspectorClientIOS.mm:
(WebInspectorClient::setShowPaintRects):
(WebInspectorClient::showPaintRect):

Source/WebKit/mac:

* WebCoreSupport/WebInspectorClient.h:
* WebCoreSupport/WebInspectorClient.mm:
(WebInspectorClient::WebInspectorClient):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@172869 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Maybe fix Windows.

* inspector/InspectorOverlay.cpp:
(WebCore::InspectorOverlay::showPaintRect):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@172870 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Google Canvas2D maps are too slow and uncontrollable with Safari with full screen mode
https://bugs.webkit.org/show_bug.cgi?id=136168

Reviewed by Tim Horton.

When Google maps are using their 2D "lite" fallback and you're drawing in a huge
window such as fullscreen 4K, we would drop back to unaccelerated mode, thinking
that we'd exceeded the maximum IOSurface size.

Remove the hardcoded limit on IOSurface sizes, and instead ask the system
what it believe the maximum to be. This was significantly higher than our
limit on the systems I tested.

* platform/graphics/cg/ImageBufferCG.cpp:
(WebCore::ImageBuffer::ImageBuffer): Include our IOSurface wrapper, which
has a query for maximum size, and use that instead.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@172871 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Use the correct rect for paint flashing
https://bugs.webkit.org/show_bug.cgi?id=136169

Reviewed by Sam Weinig.

Use the rect we've converted to root document coordinates for paint flashing.

* inspector/InspectorPageAgent.cpp:
(WebCore::InspectorPageAgent::didPaint):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@172872 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Fix showing paint rects when selecting lines in the timeline
https://bugs.webkit.org/show_bug.cgi?id=136173

Reviewed by Joseph Pecoraro.

Fix the condition used to decide when to show the overlay.

* inspector/InspectorOverlay.cpp:
(WebCore::InspectorOverlay::shouldShowOverlay):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@172873 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Add proper support for letter-spacing to bopomofo Ruby
https://bugs.webkit.org/show_bug.cgi?id=136171

Reviewed by Sam Weinig.

Source/WebCore:

Added fast/ruby/bopomofo-letter-spacing.html

* rendering/RenderRubyRun.cpp:
(WebCore::RenderRubyRun::layout):
Alter the layout of bopomofo ruby so that the distance between the base characters is the max of
the letter-spacing between the characters and the minimum required width to hold two rows of
Ruby.

Push the bopomofo ruby into the letter-spacing to ensure that it comes right after the base character
and not after all the letter-spacing.

LayoutTests:

* fast/ruby/bopomofo-letter-spacing.html: Added.
* platform/mac/fast/ruby/bopomofo-expected.png:
* platform/mac/fast/ruby/bopomofo-expected.txt:
* platform/mac/fast/ruby/bopomofo-letter-spacing-expected.png: Added.
* platform/mac/fast/ruby/bopomofo-letter-spacing-expected.txt: Added.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@172874 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed, rolling out r172866.
https://bugs.webkit.org/show_bug.cgi?id=136177

Broke iOS build (Requested by othermaciej on #webkit).

Reverted changeset:

"Replace use of WKCopyCFLocalizationPreferredName with
NSLocale public API"
https://bugs.webkit.org/show_bug.cgi?id=136082
http://trac.webkit.org/changeset/172866

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@172875 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Remove unnecessary WTFString creation in Dictionary getter
https://bugs.webkit.org/show_bug.cgi?id=136184

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2014-08-22
Reviewed by Benjamin Poulain.

* bindings/js/Dictionary.cpp:
(WebCore::Dictionary::getWithUndefinedOrNullCheck):
* bindings/js/Dictionary.h:
* bindings/js/JSDictionary.cpp:
(WebCore::JSDictionary::getWithUndefinedOrNullCheck):
* bindings/js/JSDictionary.h:

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