[Chromium] Pass the --strip-binary argument to the apk test generator
https://bugs.webkit.org/show_bug.cgi?id=94224

Reviewed by Adam Barth.

The native test generator currently relies on the $STRIP environment
variable to be available, which it shouldn't do. Instead, pass it as an
argument to the script. The $STRIP variable is being deprecated.

Source/WebKit/chromium:

* WebKitUnitTests.gyp:

Tools:

* DumpRenderTree/DumpRenderTree.gyp/DumpRenderTree.gyp:
* TestWebKitAPI/TestWebKitAPI.gyp/TestWebKitAPI.gyp:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125792 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Layout Test media/track/track-active-cues.html frequently times out on Windows.
https://bugs.webkit.org/show_bug.cgi?id=81402

Reviewed by Eric Carlson.

This patch changes the test to use captions-fast.vtt to see if several cuechange
events available at different times helps the test not timeout.

* media/track/track-active-cues.html:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125793 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Accumulate sub-pixel offsets through layers and transforms
https://bugs.webkit.org/show_bug.cgi?id=89238

Reviewed by Eric Seidel.

Source/WebCore: 

Pixel snapping logic makes use of sub-pixel offsets accumulated when walking down
the render tree. When we align RenderLayers to paint on pixel boundaries, we were
also losing that accumulated value. This preserves the fractional offset and passes
it to the RenderLayer's RenderObjects so they paint the proper size and offset.

This also necessitates a new mode of mapLocalToContainer whereby we pixel snap the
offset used in transforms. Otherwise, they wouldn't account for the pixel snapping
done elsewhere in the render tree.

Test: fast/sub-pixel/sub-pixel-accumulates-to-layers.html

* css/CSSComputedStyleDeclaration.cpp:
(WebCore::pixelSnappedSizingBox): The LayoutUnit version of sizingBox returns a
LayoutRect with the location zeroed out. This leads to incorrect pixel snapping, so
we shouldn't put these numbers into a transform. Sadly, I couldn't figure out a
test for this without the rest of the patch.
(WebCore):
(WebCore::computedTransform): Using pixel-snapped values when generating transforms.
* rendering/RenderBox.cpp:
(WebCore::RenderBox::mapLocalToContainer): Adding a mode whereby the values inputed
into the transform are properly pixel snapped.
(WebCore::RenderBox::computeRectForRepaint): Using pixel snapped values for the transform.
* rendering/RenderBox.h:
(RenderBox):
* rendering/RenderGeometryMap.cpp:
(WebCore::RenderGeometryMap::mapToAbsolute):
* rendering/RenderInline.cpp:
(WebCore::RenderInline::mapLocalToContainer):
* rendering/RenderInline.h:
(RenderInline):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::updateTransform): Using pixel snapped values for the transform.
(WebCore::RenderLayer::currentTransform): Ditto.
(WebCore::RenderLayer::perspectiveTransform): Ditto.
(WebCore::RenderLayer::paint): Support passing along the accumulated sub-pixel offset instead
of rounding and use enclosingIntRect for the damageRect.
(WebCore::RenderLayer::paintOverlayScrollbars): Updating to the new paintLayer contract
(WebCore::RenderLayer::paintLayer): Adding a sub-pixel accumulation LayoutSize. We pass this
delta to the Layer's RenderObject when we paint, but align the graphics context to the proper
pixel value.
(WebCore::RenderLayer::paintLayerContentsAndReflection): Ditto.
(WebCore::RenderLayer::paintLayerContents): Ditto.
(WebCore::RenderLayer::paintList): Ditto.
(WebCore::RenderLayer::paintChildLayerIntoColumns): Ditto.
(WebCore::RenderLayer::calculateClipRects): Avoid unnecessary rounding when sub-pixel is enabled.
(WebCore::RenderLayer::calculateRects): Remove unnecessary pixel snapping.
* rendering/RenderLayer.h:
(RenderLayer):
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateLayerTransform): Use pixel-snapped values for transforms.
(WebCore::RenderLayerBacking::paintIntoLayer): Update to new paintLayer contract.
* rendering/RenderObject.cpp:
(WebCore::RenderObject::localToContainerQuad): Adding a mode for optionally pixel snapping.
(WebCore::RenderObject::localToContainerPoint): Ditto.
* rendering/RenderObject.h:
(WebCore::RenderObject::localToAbsoluteQuad): Ditto.
(RenderObject):
* rendering/RenderReplica.cpp:
(WebCore::RenderReplica::paint): Updating to new paintLayer contract.
* rendering/RenderView.h:
(RenderView):
* rendering/svg/RenderSVGForeignObject.cpp:
(WebCore::RenderSVGForeignObject::mapLocalToContainer):
* rendering/svg/RenderSVGForeignObject.h:
(RenderSVGForeignObject):
* rendering/svg/RenderSVGInline.cpp:
(WebCore::RenderSVGInline::mapLocalToContainer):
* rendering/svg/RenderSVGInline.h:
(RenderSVGInline):
* rendering/svg/RenderSVGModelObject.cpp:
(WebCore::RenderSVGModelObject::mapLocalToContainer):
* rendering/svg/RenderSVGModelObject.h:
(RenderSVGModelObject):
* rendering/svg/RenderSVGRoot.h:
(RenderSVGRoot):
* rendering/svg/RenderSVGText.cpp:
(WebCore::RenderSVGText::mapLocalToContainer):
* rendering/svg/RenderSVGText.h:
(RenderSVGText):
* rendering/svg/SVGRenderSupport.cpp:
(WebCore::SVGRenderSupport::mapLocalToContainer):
* rendering/svg/SVGRenderSupport.h:
(SVGRenderSupport):

LayoutTests: 

* fast/sub-pixel/sub-pixel-accumulates-to-layers.html: Added.
* platform/chromium-mac/compositing/shadows/shadow-drawing-expected.png:
* platform/chromium-mac/fast/repaint/scroll-fixed-layer-with-transformed-parent-layer-expected.png:
* platform/chromium-mac/fast/sub-pixel/sub-pixel-accumulates-to-layers-expected.png: Added.
* platform/chromium-mac/fast/sub-pixel/sub-pixel-accumulates-to-layers-expected.txt: Added.
* platform/chromium-mac/fast/transforms/transformed-document-element-expected.png:
* platform/chromium-mac/media/audio-repaint-expected.png:
* platform/chromium-mac/svg/transforms/svg-css-transforms-expected.png:
* platform/chromium/TestExpectations:
* platform/efl/Skipped:
* platform/gtk/TestExpectations:
* platform/mac-lion/Skipped:
* platform/mac-snowleopard/Skipped:
* platform/mac-wk2/Skipped:
* platform/mac/Skipped:
* platform/qt-4.8/Skipped:
* platform/qt/Skipped:
* platform/win-wk2/Skipped:
* platform/win-xp/Skipped:
* platform/win/Skipped:
* platform/wincairo/Skipped:
* platform/wk2/Skipped:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125794 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[BlackBerry] SurfacePool::waitForBuffer() sometimes waits for deleted EGLSyncKHR object
https://bugs.webkit.org/show_bug.cgi?id=94208

Patch by Arvid Nilsson <anilsson@rim.com> on 2012-08-16
Reviewed by Rob Buis.

SurfacePool::notifyBuffersComposited() adds a tile's previous
sync object to the garbage list before replacing it with a new one.
However, it failed to thoroughly clear all tiles that were referencing
the old sync object.

Thus it could happen that if a set of tiles A was composited, then
another set of tiles B was composited, only the intersection of A and B
was cleared of the soon-to-be-deleted sync object, and the subtraction
A - B would reference an invalid sync object in case the BackingStore
decided to render to one of the tiles in A - B before they were
composited again.

Fixed by storing each individual sync object in only one place so we
don't have to rummage through all tiles and remove stale references to
sync objects that are about to be destroyed.

A new reference counted Fence class is added for this purpose, to store
a sync object. Tiles refer to Fence instances instead of holding a sync
object directly. Since Fence is reference counted, several tiles can
refer to the same Fence instance, and clearing its sync object will
instantly remove it from the grasp of all tiles that depend on that
Fence.

Since there's no point in waiting for the same Fence twice, the only
operation provided on Fence is takePlatformSync() which returns the
sync object and clears the Fence of its sync object.

Reviewed internally by Filip Spacek.

PR 193610

* WebKitSupport/BackingStoreTile.cpp:
(BlackBerry::WebKit::TileBuffer::TileBuffer):
* WebKitSupport/BackingStoreTile.h:
(BlackBerry):
(Fence):
(BlackBerry::Fence::create):
(BlackBerry::Fence::takePlatformSync):
(BlackBerry::Fence::Fence):
(BlackBerry::WebKit::TileBuffer::fence):
(BlackBerry::WebKit::TileBuffer::setFence):
(TileBuffer):
* WebKitSupport/SurfacePool.cpp:
(BlackBerry::WebKit::SurfacePool::waitForBuffer):
(BlackBerry::WebKit::SurfacePool::notifyBuffersComposited):
* WebKitSupport/SurfacePool.h:
(SurfacePool):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125795 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[BlackBerry] Remove Mobile mode from WebPage.cpp and WebPage_p.h
https://bugs.webkit.org/show_bug.cgi?id=94223
PR #192773

Patch by Leo Yang <leoyang@rim.com> on 2012-08-16
Reviewed by Rob Buis.
Reviewed internally by Arvid Nilsson.

Remove Mobile mode as it's not been used. Also remove code that
handle top-level SVG document because now we can handle it in Desktop mode.

* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPagePrivate::setLoadState):
(BlackBerry::WebKit::WebPagePrivate::fixedLayoutSize):
* Api/WebPage_p.h:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125796 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Use initialization from literals for StringStatics
https://bugs.webkit.org/show_bug.cgi?id=94185

Patch by Benjamin Poulain <bpoulain@apple.com> on 2012-08-16
Reviewed by Geoffrey Garen.

* wtf/text/StringStatics.cpp:
Remove the arguments for DEFINE_GLOBAL. They are no longer used by the macro.
(WTF::AtomicString::init):
Use ConstructFromLiteral to initialize the strings faster and to save memory.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125797 268f45cc-cd09-0410-ab3c-d52691b4dbfc
http/tests/security/contentSecurityPolicy/shared-worker-connect-src-blocked.html fails (results weren't updated in r125772)
https://bugs.webkit.org/show_bug.cgi?id=94236

Unreviewed (test gardening)

* http/tests/security/contentSecurityPolicy/shared-worker-connect-src-blocked-expected.txt: Update results here, like the rest of 125772 did.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125798 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[chromium] Impl scrolling crashes when the renderer's initialization failed
https://bugs.webkit.org/show_bug.cgi?id=94232

Reviewed by James Robinson.

Source/WebCore:

CCLayerTreeHostImpl::calculateRenderSurfaceLayerList should not be
called when there is no renderer present or it will crash.

Chromium bug: crbug.com/125482

Tests: CCLayerTreeHostImplTest.scrollWithoutRenderer

* platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
(WebCore::CCLayerTreeHostImpl::calculateRenderSurfaceLayerList):
(WebCore::CCLayerTreeHostImpl::ensureRenderSurfaceLayerList):

Source/WebKit/chromium:

Also updated the finishAllRenderingAfterContextLost to properly fail
renderer initialization.

* tests/CCLayerTreeHostImplTest.cpp:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125799 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Chromium] Schedule texture uploads based on hard-coded timer and vsync.
https://bugs.webkit.org/show_bug.cgi?id=84281

Patch by David Reveman <reveman@chromium.org> on 2012-08-16
Reviewed by James Robinson.

Source/WebCore:

Improve interaction between vsync and texture uploads by performing
uploads in smaller batches and use a hard-coded timer to emulate
upload completion. This greatly reduces the chance of the compositor
missing a vsync due to being busy with texture uploads.

The CCScheduler client is now given a time limit when told to update
more resources. This time limit is passed to an instance of the
CCTextureUpdateController class, which is responsible for performing
texture updates until the limit is reached.

Unit tests: CCSchedulerTest.RequestCommit
            CCTextureUpdateControllerTest.UpdateMoreTextures
            CCTextureUpdateControllerTest.HasMoreUpdates

* platform/graphics/chromium/cc/CCFrameRateController.cpp:
(WebCore::CCFrameRateController::nextTickTime):
(WebCore):
* platform/graphics/chromium/cc/CCFrameRateController.h:
(CCFrameRateController):
* platform/graphics/chromium/cc/CCScheduler.cpp:
(WebCore::CCScheduler::processScheduledActions):
* platform/graphics/chromium/cc/CCScheduler.h:
(CCSchedulerClient):
* platform/graphics/chromium/cc/CCTextureUpdateController.cpp:
(WebCore::CCTextureUpdateController::maxPartialTextureUpdates):
(WebCore::CCTextureUpdateController::CCTextureUpdateController):
(WebCore::CCTextureUpdateController::updateMoreTextures):
(WebCore):
(WebCore::CCTextureUpdateController::onTimerFired):
(WebCore::CCTextureUpdateController::monotonicTimeNow):
(WebCore::CCTextureUpdateController::updateMoreTexturesTime):
(WebCore::CCTextureUpdateController::updateMoreTexturesSize):
(WebCore::CCTextureUpdateController::updateMoreTexturesIfEnoughTimeRemaining):
(WebCore::CCTextureUpdateController::updateMoreTexturesNow):
* platform/graphics/chromium/cc/CCTextureUpdateController.h:
(WebCore::CCTextureUpdateController::create):
(CCTextureUpdateController):
* platform/graphics/chromium/cc/CCThreadProxy.cpp:
(WebCore::CCThreadProxy::beginFrameCompleteOnImplThread):
(WebCore::CCThreadProxy::scheduledActionUpdateMoreResources):
* platform/graphics/chromium/cc/CCThreadProxy.h:

Source/WebKit/chromium:

* tests/CCSchedulerTest.cpp:
(WebKitTests::TEST):
* tests/CCSchedulerTestCommon.h:
(WebKitTests::FakeCCTimeSource::FakeCCTimeSource):
(WebKitTests::FakeCCTimeSource::setNextTickTime):
(FakeCCTimeSource):
* tests/CCTextureUpdateControllerTest.cpp:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125800 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Typo in old-run-webkit-tests script from https://bugs.webkit.org/show_bug.cgi?id=93904.
https://bugs.webkit.org/show_bug.cgi?id=94228

Patch by Roger Fong <roger_fong@apple.com> on 2012-08-16
Reviewed by Tim Horton.

I previously made the change but made a typo that causes the script not ignore mismatch ref tests.

* Scripts/old-run-webkit-tests:
(isUsedInReftest):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125801 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Chromium] Avoid aliasing global symbol monotonicallyIncreasingTime().
https://bugs.webkit.org/show_bug.cgi?id=94233

Patch by David Reveman <reveman@chromium.org> on 2012-08-16
Reviewed by James Robinson.

Source/WebCore:

Rename virtual function CCDelayBasedTimeSource::monotonicallyIncreasingTime()
that exist for testing purposes to CCDelayBasedTimeSource::monotonicTimeNow().

No new tests.

* platform/graphics/chromium/cc/CCDelayBasedTimeSource.cpp:
(WebCore::CCDelayBasedTimeSource::setActive):
(WebCore::CCDelayBasedTimeSource::onTimerFired):
(WebCore::CCDelayBasedTimeSource::monotonicTimeNow):
* platform/graphics/chromium/cc/CCDelayBasedTimeSource.h:

Source/WebKit/chromium:

* tests/CCDelayBasedTimeSourceTest.cpp:
(WebKitTests::TEST):
* tests/CCFrameRateControllerTest.cpp:
(WebKitTests::TEST):
* tests/CCSchedulerTestCommon.h:
(WebKitTests::FakeCCDelayBasedTimeSource::setMonotonicTimeNow):
(WebKitTests::FakeCCDelayBasedTimeSource::FakeCCDelayBasedTimeSource):
(FakeCCDelayBasedTimeSource):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125802 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[BlackBerry] Reload valid page from Error Page keeps history ViewState and zoom.
https://bugs.webkit.org/show_bug.cgi?id=94123

Reviewed by Antonio Gomes.

Reviewed internally by Leo Yang, Jacky Jiang.
PR 178305

* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPagePrivate::setLoadState):Reset the scales and
the user scalable flag if we're reloading from an error page.
(BlackBerry::WebKit::WebPagePrivate::updateViewportSize): Don't update the
viewport size if we're still in the WebPagePrivate::init method.
(BlackBerry::WebKit::WebPagePrivate::zoomToInitialScaleOnLoad):
Properly set the shouldZoom flag if we're not going to restore the
view state.
* WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
(WebCore::FrameLoaderClientBlackBerry::FrameLoaderClientBlackBerry):
(WebCore::FrameLoaderClientBlackBerry::dispatchDidCommitLoad): Set the
ViewState's shouldSaveViewState flag if we're coming from an error page.
(WebCore::FrameLoaderClientBlackBerry::saveViewStateToItem): Set the
new member variable m_shouldRestoreViewState based on the ViewState's
shouldSaveViewState flag.
(WebCore::FrameLoaderClientBlackBerry::restoreViewState): Added early
return if m_shouldRestoreViewState is false.
* WebCoreSupport/FrameLoaderClientBlackBerry.h: Add new method to have
the client track whether we should restore the view state.
(WebCore::FrameLoaderClientBlackBerry::shouldRestoreViewState):
(FrameLoaderClientBlackBerry):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125803 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Chromium] Changing Canvas2DLayerBridge to use SkDeferredCanvas's notification client API
https://bugs.webkit.org/show_bug.cgi?id=94234

Patch by Justin Novosad <junov@chromium.org> on 2012-08-16
Reviewed by James Robinson.

The existing DeviceContext API in skia's SkDeferredCanvas is being
deprecated in favor of the new NotificationClient interface, which is
designed to allow WebKit to control deferred canvas global memory
consumption.

No new tests: this patch does not fix any bug and does not add new
functionality. It is just a transition to a new skia interface.
Coverage is assured by existing tests.

* platform/graphics/chromium/Canvas2DLayerBridge.cpp:
(WebCore):
Removed the AcceleratedDeviceContext class completely and mixed it
into Canvas2DLayerBridge by inheriting
SkDeferredCanvas::NotificationClient
(WebCore::Canvas2DLayerBridge::~Canvas2DLayerBridge):
(WebCore::Canvas2DLayerBridge::deferredCanvas):
(WebCore::Canvas2DLayerBridge::prepareForDraw):
(WebCore::Canvas2DLayerBridge::skCanvas):
* platform/graphics/chromium/Canvas2DLayerBridge.h:
(Canvas2DLayerBridge):
* platform/graphics/skia/ImageBufferSkia.cpp:
Cleaning up unnecessary include of SkDeferredCanvas.h

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125804 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Remove StyleSheetContents::m_finalURL 
https://bugs.webkit.org/show_bug.cgi?id=94140

Reviewed by Andreas Kling.

It is equal (or empty in case of inline stylesheets) to the baseURL passed in CSSParserContext.
Removing it simplifies the constructors and the related code.

* css/CSSStyleSheet.cpp:
(WebCore::CSSStyleSheet::createInline):
(WebCore::CSSStyleSheet::canAccessRules):
(WebCore::CSSStyleSheet::rules):
(WebCore::CSSStyleSheet::cssRules):

    - factor access check to a function
    - allow document always access rules of its inline stylesheets

* css/StyleRuleImport.cpp:
(WebCore::StyleRuleImport::setCSSStyleSheet):
(WebCore::StyleRuleImport::requestStyleSheet):
* css/StyleSheetContents.cpp:
(WebCore::StyleSheetContents::StyleSheetContents):
(WebCore::StyleSheetContents::parseAuthorStyleSheet):
* css/StyleSheetContents.h:
(WebCore::StyleSheetContents::create):
(WebCore::StyleSheetContents::originalURL):
(StyleSheetContents):
* dom/ProcessingInstruction.cpp:
(WebCore::ProcessingInstruction::setCSSStyleSheet):
* html/HTMLLinkElement.cpp:
(WebCore::HTMLLinkElement::setCSSStyleSheet):
* inspector/InspectorStyleSheet.cpp:
(WebCore::fillMediaListChain):
(WebCore::InspectorStyleSheet::styleSheetURL):
* xml/XSLImportRule.cpp:
(WebCore::XSLImportRule::loadSheet):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125805 268f45cc-cd09-0410-ab3c-d52691b4dbfc
All op_resolve_global instructions should end up in the list of global resolve instructions
https://bugs.webkit.org/show_bug.cgi?id=94247
<rdar://problem/12103500>

Reviewed by Mark Hahnenberg.

* bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::emitResolveWithBase):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125806 268f45cc-cd09-0410-ab3c-d52691b4dbfc
DirectoryEntry should use Dictionary rather than custom bindings code
https://bugs.webkit.org/show_bug.cgi?id=94207

Reviewed by Eric Seidel.

Source/WebCore:

Since this code was written, we added native support for WebIDL
Dictionary objects. This patch moves DirectoryEntry to use this
automatic facility instead of custom code.

I've also renamed and simplified WebKitFlags. This is possible because
this object was no longer exposed via IDL (even before to this patch).

* GNUmakefile.list.am:
* Modules/filesystem/DOMFileSystemBase.cpp:
(WebCore::DOMFileSystemBase::getFile):
(WebCore::DOMFileSystemBase::getDirectory):
* Modules/filesystem/DOMFileSystemBase.h:
(DOMFileSystemBase):
* Modules/filesystem/DirectoryEntry.cpp:
(WebCore::DirectoryEntry::getFile):
(WebCore::DirectoryEntry::getDirectory):
* Modules/filesystem/DirectoryEntry.h:
(DirectoryEntry):
* Modules/filesystem/DirectoryEntry.idl:
* Modules/filesystem/DirectoryEntrySync.cpp:
(WebCore::DirectoryEntrySync::getFile):
(WebCore::DirectoryEntrySync::getDirectory):
* Modules/filesystem/DirectoryEntrySync.h:
(DirectoryEntrySync):
* Modules/filesystem/DirectoryEntrySync.idl:
* Modules/filesystem/FileSystemCallbacks.cpp:
(WebCore):
(WebCore::ResolveURICallbacks::didOpenFileSystem):
* Modules/filesystem/FileSystemFlags.h: Renamed from Source/WebCore/Modules/filesystem/WebKitFlags.h.
(WebCore):
(WebCore::FileSystemFlags::FileSystemFlags):
(FileSystemFlags):
* Modules/filesystem/WorkerContextFileSystem.cpp:
(WebCore::WorkerContextFileSystem::webkitResolveLocalFileSystemSyncURL):
* Target.pri:
* UseJSC.cmake:
* UseV8.cmake:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSDirectoryEntryCustom.cpp: Removed.
* bindings/js/JSDirectoryEntrySyncCustom.cpp: Removed.
* bindings/v8/custom/V8DirectoryEntryCustom.cpp: Removed.
* bindings/v8/custom/V8DirectoryEntrySyncCustom.cpp: Removed.

LayoutTests:

This patch changes our behavior slightly in that passing a non-object
as a flags Dictionary throws an exception rather than being treated as
an empty dictionary. This new behavior matches the WebIDL spec and
hopefully won't cause compat problems.

* fast/filesystem/flags-passing-expected.txt:
* fast/filesystem/script-tests/flags-passing.js:
(runNullTest):
(runNonObjectTest):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125807 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[BlackBerry] Use form state to determine the VKB enter key.
https://bugs.webkit.org/show_bug.cgi?id=94239

Reviewed by Rob Buis.

PR 188234.

If the enter key for the VKB is not explicitly set, use
submit if we are in a single line input and a default
button exists for the form.

Reviewed Internally by Gen Mak.

* WebKitSupport/InputHandler.cpp:
(BlackBerry::WebKit::InputHandler::setElementFocused):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125808 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Do not perform 8 to 16bits characters conversion when converting a WTFString to NSString/CFString
https://bugs.webkit.org/show_bug.cgi?id=90720

Patch by Benjamin Poulain <bpoulain@apple.com> on 2012-08-16
Reviewed by Geoffrey Garen.

In most String to CFString conversion, we should be able to use the "NoCopy" constructor and have
a relatively cheap conversion from WTF::String to CFString.

When the String is 8 bits, it was converted to 16 bits by getData16SlowCase() because of the call
to String::characters().

This patch adds a path for creating a CFString from a 8bits string using CFStringCreateWithBytes.

This is covered by existing tests.

* platform/text/cf/StringCF.cpp:
(WTF::String::createCFString): CFSTR() create static CFString, it is unecessary to retain it.
* platform/text/cf/StringImplCF.cpp:
(WTF::StringImpl::createCFString): The logic to avoid the StringWrapperCFAllocator has also been simplified.
The allocator creation is now closer to where it is useful.

The function CFStringCreateWithBytesNoCopy() does not necessarilly allocate a new string, it can reuse
existing strings. In those cases, the allocator is not used. For that reason, the assertion regarding
currentString is moved to the branch that always allocate new strings.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125809 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Regression(r118248): Replaced element not layout
https://bugs.webkit.org/show_bug.cgi?id=85804

Reviewed by Levi Weintraub.

Source/WebCore:

r118248 moved the layout call of replaced elements to nextLineBreak.
This was intended to delay the layout after all the lineboxes are cleared
in RenderBlock::layoutInlineChildren. However, this caused the end line
object to not layout at all. We revert to the old planned way to just
keep a local vector of replaced elements to layout and then layout all of them
after the lineboxes are cleared.

Test: fast/replaced/replaced-last-line-layout.html

* rendering/RenderBlockLineLayout.cpp:
(WebCore::RenderBlock::layoutInlineChildren):
(WebCore::RenderBlock::LineBreaker::nextLineBreak):

LayoutTests:

* fast/replaced/replaced-last-line-layout-expected.html: Added.
* fast/replaced/replaced-last-line-layout.html: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125810 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[BlackBerry] Some media controls are mispositioned for dynamic live streams (HLS)
https://bugs.webkit.org/show_bug.cgi?id=94176

Patch by Max Feil <mfeil@rim.com> on 2012-08-16
Reviewed by Antonio Gomes.

.:

An automated layout test is not possible for this patch because
dynamic live streams require a special dedicated web server.
Putting an external video URL into an automated test is not
correct either. So I have created a manual test that points to
an external HLS video that works today.

* ManualTests/blackberry/video-hls-controls.html: Added.

Source/WebCore:

The default HTML5 media controls for dynamic live streams have
no timeline or timeline container, which for BlackBerry results
in mispositioning of the buttons that are supposed to be to
the right of the timeline (fullscreen and mute). Instead of
being right justified they incorrectly appear on the left next
to the play button. The fix is to explicitly position these 2
buttons whenever the media duration is infinite (indicating a
live stream).

Manual test: ManualTests/blackberry/video-hls-controls.html

* platform/blackberry/RenderThemeBlackBerry.cpp:
(WebCore::RenderThemeBlackBerry::adjustMediaControlStyle):

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