[BlackBerry] Unnecessary root layer commits occur during html5 video playback
https://bugs.webkit.org/show_bug.cgi?id=118147

Patch by Andrew Lo <anlo@blackberry.com> on 2013-06-27
Reviewed by Rob Buis.
Internally reviewed by Arvid Nilsson, John Griggs.

Only request layer commits when layer properties change in
GraphicsLayerBlackBerry::updateContentsRect and
GraphicsLayerBlackBerry::setContentsToMedia.
JIRA112749.

* platform/graphics/blackberry/GraphicsLayerBlackBerry.cpp:
(WebCore::GraphicsLayerBlackBerry::setContentsToMedia):
(WebCore::GraphicsLayerBlackBerry::updateContentsRect):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@152132 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Sync up w3c import script with changes in Blink
https://bugs.webkit.org/show_bug.cgi?id=118149

Patch by Bem Jones-Bey <bjonesbe@adobe.com> on 2013-06-27
Reviewed by Dirk Pranke.

This is a port of the following blink changes:

https://codereview.chromium.org/15366004
https://chromiumcodereview.appspot.com/15592005
https://codereview.chromium.org/16021006
https://codereview.chromium.org/15590004
https://codereview.chromium.org/15901008
https://codereview.chromium.org/16171009
https://codereview.chromium.org/16465007
https://codereview.chromium.org/15981013

* Scripts/webkitpy/common/checkout/checkout_unittest.py:
(setUp):
(test_commit_message_for_this_commit):
* Scripts/webkitpy/port/base.py:
(Port):
* Scripts/webkitpy/port/test.py:
* Scripts/webkitpy/w3c/test_converter.py:
(W3CTestConverter.__init__):
(W3CTestConverter.read_webkit_prefixed_css_property_list):
(W3CTestConverter.convert_for_webkit):
(W3CTestConverter.convert_css):
(W3CTestConverter.convert_html):
(W3CTestConverter.convert_testharness_paths):
(W3CTestConverter.convert_prefixed_properties):
(W3CTestConverter.add_webkit_prefix_to_unprefixed_properties):
* Scripts/webkitpy/w3c/test_converter_unittest.py:
* Scripts/webkitpy/w3c/test_importer.py:
(main):
(configure_logging):
(configure_logging.LogHandler):
(configure_logging.LogHandler.format):
(parse_args):
(TestImporter.__init__):
(TestImporter.find_importable_tests):
(TestImporter.import_tests):
(TestImporter.setup_destination_directory):
(TestImporter.remove_deleted_files):
* Scripts/webkitpy/w3c/test_importer_unittest.py:
(TestImporterTest.test_import_dir_with_no_tests_and_no_hg):
(TestImporterTest.test_import_dir_with_no_tests):
(TestImporterTest):
* Scripts/webkitpy/w3c/test_parser.py:
(TestParser.load_file):
(TestParser.analyze_test):
(TestParser.support_files):
* Scripts/webkitpy/w3c/test_parser_unittest.py:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@152133 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Stop using deprecatedCharactersWithNullTermination in SQLite code
https://bugs.webkit.org/show_bug.cgi?id=118146

Reviewed by Filip Pizlo.

Turns out SQLite uses UTF-8 internally so we might just as well use the SQLite functions
that take UTF-8 strings and do the conversion ourselves. This has the added advantage that we can
use String::utf8() which returns a null-terminated string.

Require a version of SQLite newer than 3.6.16 so we can remove two workarounds. 3.6.16 was released
4 years ago so supported port is likely to have it.

* platform/sql/SQLiteFileSystem.cpp:
(WebCore::SQLiteFileSystem::openDatabase):
Use sqlite3_open instead of sqlite3_open16.

* platform/sql/SQLiteFileSystem.h:
Fix parameter name capitalization.

* platform/sql/SQLiteStatement.cpp:
(WebCore::SQLiteStatement::prepare):
Use sqlite3_prepare_v2. Also, pass the length of the string (including the null character), since
that lets SQLite avoid a buffer copy. Remove a workaround for versions of SQLite older than 3.6.16.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@152134 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed. Temporarily add some stderr output to Media Engine load methods to determine which engine buildbots are using for layout tests.

* platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
(WebCore::MediaPlayerPrivateAVFoundation::load):
* platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
(WebCore::MediaPlayerPrivateQuickTimeVisualContext::load):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@152135 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Web Inspector: AX: Console log of the Inspector does not announce output for screen readers
https://bugs.webkit.org/show_bug.cgi?id=115976

Patch by James Craig <james@cookiecrook.com> on 2013-06-27
Reviewed by Timothy Hatcher.

Main console log area (div.console-messages) is now an ARIA live region (role="log")
so screen readers speak plain text updates.

Also added contextual labels (e.g. input/output) but speech output verification of
those is currently blocked by http://webkit.org/b/118096

* Localizations/en.lproj/localizedStrings.js:
* UserInterface/ConsoleCommand.js:
(WebInspector.ConsoleCommand.prototype.toMessageElement):
* UserInterface/ConsoleCommandResult.js:
(WebInspector.ConsoleCommandResult.prototype.toMessageElement):
* UserInterface/LogContentView.css:
(@media reader):
* UserInterface/LogContentView.js:
(WebInspector.LogContentView):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@152136 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Remove call to deprecatedCharactersWithNullTermination() in WebGL code
https://bugs.webkit.org/show_bug.cgi?id=118154

Reviewed by Dean Jackson.

Remove an unneeded call to deprecatedCharactersWithNullTermination(). Ultimately,
the string we used to call it on gets converted to an UTF-8 CString that has a null character anyway.

* html/canvas/WebGLProgram.cpp:
(WebCore::WebGLProgram::cacheActiveAttribLocations):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@152137 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Mac WK2] compositing/repaint/positioned-movement.html flaky, missing repaint
https://bugs.webkit.org/show_bug.cgi?id=118153

Update the expectation to reflect that the test is also flakey on release and other
platforms

* platform/mac-wk2/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@152138 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Implement parsing of MathML lengths.
https://bugs.webkit.org/show_bug.cgi?id=118053

Patch by Frédéric Wang <fred.wang@free.fr> on 2013-06-27
Reviewed by Chris Fleizach.

Source/WebCore:

A parsing function for MathML lengths, similar to Gecko's one, is
implemented. It is currently only used to parse mfrac@linethickness but
will be convenient to parse other MathML attributes in the future.

Tests: mathml/presentation/mfrac-linethickness1.html
       mathml/presentation/mfrac-linethickness2.html
       mathml/presentation/mfrac-linethickness3.html

* rendering/mathml/RenderMathMLBlock.cpp: add parsing functions
(WebCore::parseMathMLLength): parsing MathML Length (number unit)
(WebCore::parseNamedSpace): parsing MathML namedspaces
* rendering/mathml/RenderMathMLBlock.h: declare parsing functions
* rendering/mathml/RenderMathMLFraction.cpp: use the parsing function for linethickness
(WebCore::RenderMathMLFraction::updateFromElement):

LayoutTests:

Add some reftests for mfrac@linethickness. Better tests for the parsing
of MathML lengths will be provided when mspace is implemented
(bug 115610)

* mathml/presentation/mfrac-linethickness1-expected-mismatch.html: Added.
* mathml/presentation/mfrac-linethickness1.html: Added.
* mathml/presentation/mfrac-linethickness2-expected.html: Added.
* mathml/presentation/mfrac-linethickness2.html: Added.
* mathml/presentation/mfrac-linethickness3-expected-mismatch.html: Added.
* mathml/presentation/mfrac-linethickness3.html: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@152140 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Web Inspector: AX: Add container ARIA roles (toolbar, main, labeled regions, etc.)
so the layout is more discoverable to screen reader users
https://bugs.webkit.org/show_bug.cgi?id=118104

Patch by James Craig <james@cookiecrook.com> on 2013-06-27
Reviewed by Timothy Hatcher.

Made the basic layout (toolbar, sidebars, main) of the Web Inspector understandable
and navigable with VoiceOver.

* Localizations/en.lproj/localizedStrings.js:
* UserInterface/ButtonNavigationItem.js:
* UserInterface/CSSStyleDetailsSidebarPanel.js:
* UserInterface/DashboardManager.js:
* UserInterface/Main.js:
* UserInterface/NavigationBar.js:
* UserInterface/NavigationItem.js:
* UserInterface/NavigationSidebarPanel.js:
* UserInterface/RadioButtonNavigationItem.js:
* UserInterface/Sidebar.js:
* UserInterface/SidebarPanel.js:
* UserInterface/Toolbar.js:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@152141 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Add a new String::charactersWithNullTermination() function that returns a vector
https://bugs.webkit.org/show_bug.cgi?id=118155

Reviewed by Andreas Kling.

Source/WebCore:

Change calls to deprecatedCharactersWithNullTermination() to charactersWithNullTermination().data()

* platform/graphics/win/FontCacheWin.cpp:
(WebCore::getLinkedFonts):
* platform/graphics/win/FontCustomPlatformData.cpp:
(WebCore::FontCustomPlatformData::fontPlatformData):
* platform/graphics/win/FontCustomPlatformDataCairo.cpp:
(WebCore::FontCustomPlatformData::fontPlatformData):
* platform/graphics/win/IconWin.cpp:
(WebCore::Icon::createIconForFiles):
* platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
(WebCore::MediaPlayerPrivateQuickTimeVisualContext::setUpCookiesForQuickTime):
* platform/graphics/wince/FontPlatformData.cpp:
(WebCore::FontPlatformData::FontPlatformData):
* platform/network/curl/CurlDownload.cpp:
(CurlDownload::moveFileToDestination):
* platform/network/win/CookieJarWin.cpp:
(WebCore::setCookiesFromDOM):
(WebCore::cookiesForDOM):
* platform/network/win/DownloadBundleWin.cpp:
(WebCore::DownloadBundle::appendResumeData):
(WebCore::DownloadBundle::extractResumeData):
* platform/network/win/ResourceHandleWin.cpp:
(WebCore::createInternetHandle):
(WebCore::ResourceHandle::start):
(WebCore::ResourceHandle::fileLoadTimer):
* platform/text/win/LocaleWin.cpp:
(WebCore::LCIDFromLocaleInternal):
* platform/text/win/TextCodecWin.cpp:
(WebCore::TextCodecWin::enumerateSupportedEncodings):
* platform/win/ClipboardUtilitiesWin.cpp:
(WebCore::getWebLocData):
(WebCore::createGlobalData):
(WebCore::setFileDescriptorData):
(WebCore::getURL):
(WebCore::setCFData):
* platform/win/ContextMenuWin.cpp:
(WebCore::ContextMenu::createPlatformContextMenuFromItems):
* platform/win/DragImageWin.cpp:
(WebCore::createDragImageIconForCachedImageFilename):
* platform/win/FileSystemWin.cpp:
(WebCore::getFindData):
(WebCore::deleteFile):
(WebCore::deleteEmptyDirectory):
(WebCore::pathByAppendingComponent):
(WebCore::makeAllDirectories):
(WebCore::pathGetFileName):
(WebCore::openTemporaryFile):
(WebCore::openFile):
* platform/win/MIMETypeRegistryWin.cpp:
(WebCore::mimeTypeForExtension):
(WebCore::MIMETypeRegistry::getPreferredExtensionForMIMEType):
* platform/win/PasteboardWin.cpp:
(WebCore::createGlobalImageFileDescriptor):
(WebCore::createGlobalHDropContent):
* platform/win/PathWalker.cpp:
(WebCore::PathWalker::PathWalker):
* platform/win/SSLKeyGeneratorWin.cpp:
(WebCore::WebCore::signedPublicKeyAndChallengeString):
* platform/win/SharedBufferWin.cpp:
(WebCore::SharedBuffer::createWithContentsOfFile):
* platform/wince/FileSystemWinCE.cpp:
(WebCore::getFileInfo):
(WebCore::fileExists):
(WebCore::deleteFile):
(WebCore::deleteEmptyDirectory):
(WebCore::makeAllDirectories):
(WebCore::openTemporaryFile):
(WebCore::openFile):
* plugins/win/PluginDatabaseWin.cpp:
(WebCore::PluginDatabase::getPluginPathsInDirectories):
(WebCore::addMozillaPluginDirectories):
(WebCore::addAdobeAcrobatPluginDirectory):
(WebCore::addJavaPluginDirectory):
* plugins/win/PluginPackageWin.cpp:
(WebCore::getVersionInfo):
(WebCore::PluginPackage::fetchInfo):
(WebCore::PluginPackage::load):
* plugins/win/PluginViewWin.cpp:
(WebCore::PluginView::handlePostReadFile):

Source/WTF:

This new String::charactersWithNullTermination() function returns a new Vector<UChar>
and does not modify the underlying string data.

* wtf/text/WTFString.cpp:
(WTF::String::charactersWithNullTermination):
* wtf/text/WTFString.h:

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