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