64-bit llint PC offset can be negative: using an unsigned shift is a bug.
https://bugs.webkit.org/show_bug.cgi?id=100896.

Reviewed by Filip Pizlo.

Fixed the PC offset divisions in the 64-bit llint asm to use rshift instead of urshift.

* llint/LowLevelInterpreter64.asm:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133089 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Change PopupMenu positioning on Windows such that behaviour on multiple monitors matches Windows standards.
https://bugs.webkit.org/show_bug.cgi?id=100317

Reviewed by Sam Weinig.

The existing code determines which screen the popup menu "belongs" to by determining which screen the owning application's hwnd belongs to,
where ownership is determined by how much of the hwnd is on which screen.
To match what most Windows applications do, the owning screen should be whichever screen the drop down button belongs to.
To determine which screen an element belongs to in Windows we need to pass in an hwnd for that element.
However, since the drop down button is something that WebKit renders there is no hwnd.

To remedy this issue, we can temporarily move the popup menu's hwnd to match the position and size of the button,
determine the correct screen, and then eventually move it back to the correct final position after the rest of 
the calculations have been completed. This is all done in the same function call so no rendering of the popup menu occurs
between the temporary and final positionings.

There's not really a good way of testing popup menus except manually, they're separate hwnds created outside of the WebView.

* platform/win/PopupMenuWin.cpp:
(WebCore::monitorFromHwnd):
(WebCore):
(WebCore::PopupMenuWin::show):
(WebCore::PopupMenuWin::calculatePositionAndSize):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133092 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[chromium] Win rebaselines for media tests.  Unreviewed.

* platform/chromium-win/media/video-aspect-ratio-expected.png:
* platform/chromium-win/media/video-colorspace-yuv420-expected.png:
* platform/chromium-win/media/video-colorspace-yuv422-expected.png:
* platform/chromium-win/media/video-layer-crash-expected.png:
* platform/chromium-win/media/video-transformed-expected.png:
* platform/chromium-win/media/video-zoom-controls-expected.png:
* platform/chromium-win/media/video-zoom-expected.png:
* platform/chromium-win/platform/chromium/media/video-frame-size-change-expected.png:
* platform/efl/media/video-aspect-ratio-expected.png: Removed.
* platform/efl/media/video-layer-crash-expected.png: Removed.
* platform/efl/media/video-transformed-expected.png: Removed.
* platform/efl/media/video-zoom-expected.png: Removed.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133093 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[BlackBerry] Adding window.external to our port
https://bugs.webkit.org/show_bug.cgi?id=100868

Patch by Otto Derek Cheung <otcheung@rim.com> on 2012-10-31
Reviewed by Rob Buis.

Source/WebKit:

Adding ExternalExtension classes to the BB cmake file.

* PlatformBlackBerry.cmake:

Source/WebKit/blackberry:

Attaching the window.external interface to the frame when
it loads up.

When called, the external interface methods call stubs declared
in ChromeClientBlackBerry. The method passes in the url of the search
provider and the url of the frame. Cross-site check has to be done in the
implementation PR.

* WebCoreSupport/ChromeClientBlackBerry.cpp:
(WebCore::ChromeClientBlackBerry::addSearchProvider):
(WebCore):
(WebCore::ChromeClientBlackBerry::isSearchProviderInstalled):
* WebCoreSupport/ChromeClientBlackBerry.h:
(ChromeClientBlackBerry):
* WebCoreSupport/ExternalExtension.cpp: Added.
(addSearchProviderMethod):
(IsSearchProviderInstalledMethod):
(externalExtensionInitialize):
(externalExtensionFinalize):
* WebCoreSupport/ExternalExtension.h: Added.
(WebCore):
* WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
(WebCore::FrameLoaderClientBlackBerry::dispatchDidClearWindowObjectInWorld):

LayoutTests:

Adding BlackBerry platform specific DRT tests for window.external interface.

* platform/blackberry/external/search-provider/search-provider-installed-expected.txt: Added.
* platform/blackberry/external/search-provider/search-provider-installed.html: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133094 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Implement the canonical "Content-Security-Policy" header.
https://bugs.webkit.org/show_bug.cgi?id=96765

Reviewed by Adam Barth.

Source/WebCore:

The CSP 1.0 specification defines the "Content-Security-Policy" header
as the canonical mechanism of defining a resource's security policy. Up
through this patch, we've implemented the functionality behind a prefix
in order to ensure compatibility with the standard once it's released as
a recommendation. Both the specification and WebKit's implementation are
far enough along in that process that it makes sense to support the
unprefixed header for sites that wish to opt-in to CSP 1.0.

As discussed on public-webappsec[1], we'll keep the experimental 1.1
features behind the prefixed header ('X-WebKit-CSP') until that standard
is far enough along to justify moving them out to the canonical header.

This patch defines the 'Content-Security-Policy' header for all ports,
just as the 'X-WebKit-CSP' header is currently supported on all ports.
Ports that have not opted-in to the CSP_NEXT flag will see exactly the
same behavior with both headers. Ports that have opted-in will see much
of CSP 1.1's current definition on the prefixed header, and CSP 1.0 on
the canonical header.

The functionality in this change is covered by the changes made to
existing tests. No expectations changed, only the headers that are sent.

* dom/Document.cpp:
(WebCore::Document::processHttpEquiv):
    Add canonical header support to 'meta' element definitions.
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::didBeginDocument):
    Add canonical header support to FrameLoader.
* page/ContentSecurityPolicy.cpp:
(WebCore::CSPDirectiveList::headerType):
    The ContentSecurityPolicy::HeaderType enum now has four values:
    prefixed/report-only, unprefixed/report-only, prefixed/enforce, and
    unprefixed/enforce. Instead of creating logic to output the proper
    type based on internal flags, CSPDirectiveList now saves the value
    provided at creation time, and returns it via this method.
(CSPDirectiveList):
(WebCore::CSPDirectiveList::CSPDirectiveList):
    The constructor now accepts a type, which is stored on the object.
    It also stores a new internal variable, 'm_experimental', which
    defines whether or not experimental features ought to be available.
    These features are still locked behind the CSP_NEXT flag, but that
    might not be the case forever.
(WebCore::CSPDirectiveList::create):
    The static constructor wrapper now passes the type into the real
    constructor, which also now handles setting its internal variables.
(WebCore::CSPDirectiveList::parse):
    'parse()' is given the header, so it makes sense to store it here as
    well, rather than in the create wrapper.
(WebCore::CSPDirectiveList::addDirective):
    1.1 directives remain locked behind CSP_NEXT, but now also require
    that 'm_experimental' is set, signaling usage of the prefixed header
    and an implicit opt-in to 1.1.
* page/ContentSecurityPolicy.h:
    Added two new types to the HeaderTypes enum: PrefixedReportOnly, and
    PrefixedEnforcePolicy. These map to 'X-WebKitCSP-Report-Only' and
    'X-WebKit-CSP', respectively.

LayoutTests:

* http/tests/security/contentSecurityPolicy/1.1/plugintypes-invalid.html:
* http/tests/security/contentSecurityPolicy/1.1/plugintypes-url-01.html:
* http/tests/security/contentSecurityPolicy/1.1/plugintypes-url-02.html:
* http/tests/security/contentSecurityPolicy/1.1/scriptnonce-invalidnonce.html:
* http/tests/security/contentSecurityPolicy/1.1/scriptnonce-scriptsrc-blocked.html:
* http/tests/security/contentSecurityPolicy/1.1/scriptnonce-separators-allowed.html:
    Updating these 1.1 tests along with the multiple-iframe-*.js test
    "framework" to ensure that the experimental prefixed header is sent.
* http/tests/security/contentSecurityPolicy/blob-urls-match-self.html:
* http/tests/security/contentSecurityPolicy/combine-multiple-policies.html:
* http/tests/security/contentSecurityPolicy/connect-src-eventsource-allowed.html:
* http/tests/security/contentSecurityPolicy/connect-src-eventsource-blocked.html:
* http/tests/security/contentSecurityPolicy/connect-src-websocket-allowed.html:
* http/tests/security/contentSecurityPolicy/connect-src-websocket-blocked.html:
* http/tests/security/contentSecurityPolicy/connect-src-xmlhttprequest-allowed.html:
* http/tests/security/contentSecurityPolicy/connect-src-xmlhttprequest-blocked.html:
* http/tests/security/contentSecurityPolicy/default-src-inline-allowed.html:
* http/tests/security/contentSecurityPolicy/default-src-inline-blocked.html:
* http/tests/security/contentSecurityPolicy/duplicate-directive.html:
* http/tests/security/contentSecurityPolicy/eval-allowed.html:
* http/tests/security/contentSecurityPolicy/eval-blocked-in-about-blank-iframe.html:
* http/tests/security/contentSecurityPolicy/eval-blocked.html:
* http/tests/security/contentSecurityPolicy/eval-scripts-setInterval-allowed.html:
* http/tests/security/contentSecurityPolicy/eval-scripts-setInterval-blocked.html:
* http/tests/security/contentSecurityPolicy/eval-scripts-setTimeout-allowed.html:
* http/tests/security/contentSecurityPolicy/eval-scripts-setTimeout-blocked.html:
* http/tests/security/contentSecurityPolicy/filesystem-urls-match-self.html:
* http/tests/security/contentSecurityPolicy/frame-src-about-blank-allowed-by-default.html:
* http/tests/security/contentSecurityPolicy/frame-src-about-blank-allowed-by-scheme.html:
* http/tests/security/contentSecurityPolicy/frame-src-allowed.html:
* http/tests/security/contentSecurityPolicy/frame-src-blocked.html:
* http/tests/security/contentSecurityPolicy/function-constructor-allowed.html:
* http/tests/security/contentSecurityPolicy/function-constructor-blocked.html:
* http/tests/security/contentSecurityPolicy/iframe-inside-csp.html:
* http/tests/security/contentSecurityPolicy/image-allowed.html:
* http/tests/security/contentSecurityPolicy/image-blocked.html:
* http/tests/security/contentSecurityPolicy/image-full-host-wildcard-allowed.html:
* http/tests/security/contentSecurityPolicy/image-host-wildcard-allowed.html:
* http/tests/security/contentSecurityPolicy/injected-inline-script-allowed.html:
* http/tests/security/contentSecurityPolicy/injected-inline-script-blocked.html:
* http/tests/security/contentSecurityPolicy/injected-inline-style-allowed.html:
* http/tests/security/contentSecurityPolicy/injected-inline-style-blocked.html:
* http/tests/security/contentSecurityPolicy/inline-script-allowed.html:
* http/tests/security/contentSecurityPolicy/inline-script-blocked-goofy.html:
* http/tests/security/contentSecurityPolicy/inline-script-blocked-javascript-url.html:
* http/tests/security/contentSecurityPolicy/inline-script-blocked.html:
* http/tests/security/contentSecurityPolicy/inline-style-allowed.html:
* http/tests/security/contentSecurityPolicy/inline-style-attribute-allowed.html:
* http/tests/security/contentSecurityPolicy/inline-style-attribute-blocked.html:
* http/tests/security/contentSecurityPolicy/inline-style-attribute-on-html.html:
* http/tests/security/contentSecurityPolicy/inline-style-blocked.html:
* http/tests/security/contentSecurityPolicy/media-src-allowed.html:
* http/tests/security/contentSecurityPolicy/media-src-blocked.html:
* http/tests/security/contentSecurityPolicy/object-src-no-url-allowed.html:
* http/tests/security/contentSecurityPolicy/object-src-no-url-blocked.html:
* http/tests/security/contentSecurityPolicy/object-src-url-allowed.html:
* http/tests/security/contentSecurityPolicy/object-src-url-blocked.html:
* http/tests/security/contentSecurityPolicy/policy-does-not-affect-child.html:
* http/tests/security/contentSecurityPolicy/register-bypassing-scheme.html:
* http/tests/security/contentSecurityPolicy/report-and-enforce.html:
* http/tests/security/contentSecurityPolicy/report-blocked-uri-cross-origin.html:
* http/tests/security/contentSecurityPolicy/report-blocked-uri.html:
* http/tests/security/contentSecurityPolicy/report-only-from-header.php:
* http/tests/security/contentSecurityPolicy/report-only.html:
* http/tests/security/contentSecurityPolicy/report-uri.html:
* http/tests/security/contentSecurityPolicy/resources/echo-iframe.pl:
* http/tests/security/contentSecurityPolicy/resources/echo-multiple-headers.pl:
    s/X-WebKit-CSP/Content-Security-Policy/g
* http/tests/security/contentSecurityPolicy/resources/echo-object-data.pl:
* http/tests/security/contentSecurityPolicy/resources/echo-script-src.pl:
    Reworking these two scripts in order to support sending both
    the experimental header and the canonical header, as required.
* http/tests/security/contentSecurityPolicy/resources/event-handler.pl:
* http/tests/security/contentSecurityPolicy/resources/generate-csp-report.html:
* http/tests/security/contentSecurityPolicy/resources/javascript-url.pl:
* http/tests/security/contentSecurityPolicy/resources/mixed-content-with-csp.html:
    s/X-WebKit-CSP/Content-Security-Policy/g
* http/tests/security/contentSecurityPolicy/resources/multiple-iframe-plugin-test.js:
(testExperimentalPolicy):
(test):
(testImpl.iframe.onload):
(testImpl):
* http/tests/security/contentSecurityPolicy/resources/multiple-iframe-test.js:
(testPreescapedPolicy):
(testExperimentalPolicy):
(test):
(testImpl.iframe.onload):
(testImpl):
    Reworking these two "frameworks" in order to support sending both
    the experimental header and the canonical header, as required.
* http/tests/security/contentSecurityPolicy/resources/sandbox.php:
* http/tests/security/contentSecurityPolicy/resources/sandboxed-eval.php:
* http/tests/security/contentSecurityPolicy/sandbox-allow-scripts-subframe.html:
* http/tests/security/contentSecurityPolicy/sandbox-allow-scripts.html:
* http/tests/security/contentSecurityPolicy/sandbox-empty-subframe.html:
* http/tests/security/contentSecurityPolicy/sandbox-empty.html:
* http/tests/security/contentSecurityPolicy/script-src-overrides-default-src.html:
* http/tests/security/contentSecurityPolicy/shared-worker-connect-src-allowed.html:
* http/tests/security/contentSecurityPolicy/shared-worker-connect-src-blocked.html:
* http/tests/security/contentSecurityPolicy/source-list-parsing-malformed-meta.html:
* http/tests/security/contentSecurityPolicy/srcdoc-doesnt-bypass-script-src.html:
* http/tests/security/contentSecurityPolicy/style-allowed.html:
* http/tests/security/contentSecurityPolicy/style-blocked.html:
* http/tests/security/contentSecurityPolicy/worker-connect-src-allowed.html:
* http/tests/security/contentSecurityPolicy/worker-connect-src-blocked.html:
* http/tests/security/contentSecurityPolicy/worker-eval-blocked.html:
* http/tests/security/contentSecurityPolicy/worker-function-function-blocked.html:
* http/tests/security/contentSecurityPolicy/worker-script-src.html:
* http/tests/security/contentSecurityPolicy/worker-set-timeout-blocked.html:
* http/tests/security/contentSecurityPolicy/xsl-allowed.php:
* http/tests/security/contentSecurityPolicy/xsl-blocked.php:
* http/tests/security/contentSecurityPolicy/xsl-img-blocked.php:
* http/tests/security/contentSecurityPolicy/xsl-unaffected-by-style-src-1.php:
* http/tests/security/contentSecurityPolicy/xsl-unaffected-by-style-src-2.php:
    s/X-WebKit-CSP/Content-Security-Policy/g


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133095 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Chromium] Unreviewed gardening.  svg/custom/font-face-simple.svg
seems to be failing on Windows (wrong font).

* platform/chromium/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133096 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[BLACKBERRY] Custom WebWorks context menus don't always work.
https://bugs.webkit.org/show_bug.cgi?id=100891

Patch by Genevieve Mak <gmak@rim.com> on 2012-10-31
Reviewed by Rob Buis.

Walk up the dom tree until we find the webworks attribute or run out
of parent nodes.
PR# 227732

* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPagePrivate::webContext):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133097 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Chromium] Unreviewed gardening.
fast/js/post-message-numeric-property.html is flaky in Release as well.

* platform/chromium/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133098 268f45cc-cd09-0410-ab3c-d52691b4dbfc
CustomFilterOperation parameters list is not decoded correctly in CoordinatedGraphicsArgumentCoders
https://bugs.webkit.org/show_bug.cgi?id=100889

Reviewed by Noam Rosenthal.

The custom filters parameters list was initialized with a specific size and then
the decoder was expected to fill it with all the decoded parameters. The decoder was
using the append command which added the paramters at the end, so it doubled the size
of the vector leaving empty spaces at the beginning of the list. Fixed it by writting
directly into the allocated space.

No new tests, the code path is not activated yet.

* Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
(CoreIPC::::decode):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133099 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Add an optimized version of copyLCharsFromUCharSource for ARM
https://bugs.webkit.org/show_bug.cgi?id=94886

Patch by Benjamin Poulain <bpoulain@apple.com> on 2012-10-31
Reviewed by Gavin Barraclough.

Michael Saboff added a SIMD version of copyLCharsFromUCharSource() in r125846.

This patch a similar optimization for ARMv7 by using the interleaved load/store available
in the NEON extension.

The performance gains:
-10000 characters: ~3.5 times faster.
-20 characters (2 vectors): ~55% faster.
-15 characters (1 vector): ~21% faster.
-3 characters (no vector, pure overhead): ~10% slower.

* wtf/text/ASCIIFastPath.h:
(WTF::copyLCharsFromUCharSource):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133100 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Implement optional arguments in AudioBufferSourceNode start() method
https://bugs.webkit.org/show_bug.cgi?id=100894

Reviewed by Kenneth Russell.

Source/WebCore:

The start() method should be able to take 1, 2, or 3 arguments, optionally supporting
offset and duration.  Currently, only 1 and 3 arguments are supported.

Test: webaudio/audiobuffersource-start.html

* Modules/webaudio/AudioBufferSourceNode.cpp:
(WebCore::AudioBufferSourceNode::renderFromBuffer):
(WebCore::AudioBufferSourceNode::startGrain):
(WebCore):
* Modules/webaudio/AudioBufferSourceNode.h:
(AudioBufferSourceNode):
* Modules/webaudio/AudioBufferSourceNode.idl:

LayoutTests:

* webaudio/audiobuffersource-loop-comprehensive.html:
* webaudio/audiobuffersource-start-expected.txt: Added.
* webaudio/audiobuffersource-start.html: Added.
* webaudio/resources/audiobuffersource-testing.js: Added.
(createTestBuffer):
(checkSingleTest):
(checkAllTests):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133101 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[BlackBerry] Crash on html popup form control when element is deleted
https://bugs.webkit.org/show_bug.cgi?id=100869

Reviewed by Yong Li.

Make the element pointers RefPtr so they don't go away before the popup
is closed.

* WebCoreSupport/ColorPickerClient.h:
(ColorPickerClient):
* WebCoreSupport/DatePickerClient.h:
(DatePickerClient):
* WebCoreSupport/SelectPopupClient.h:
(SelectPopupClient):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133102 268f45cc-cd09-0410-ab3c-d52691b4dbfc
A JSC printf (support for %J+s and %b).
https://bugs.webkit.org/show_bug.cgi?id=100566.

Reviewed by Michael Saboff.

Source/JavaScriptCore: 

Added VMInspector::printf(), fprintf(), sprintf(), and snprintf().
- %b prints ints as boolean TRUE (non-zero) or FALSE (zero).
- %Js prints a WTF::String* like a %s prints a char*.
  Also works for 16bit WTF::Strings (prints wchar_t* using %S).
- '+' is a modifier meaning 'use verbose mode', and %J+s is an example
  of its use.

* JavaScriptCore.xcodeproj/project.pbxproj:
* interpreter/VMInspector.cpp:
(FormatPrinter):
(JSC::FormatPrinter::~FormatPrinter):
(JSC::FormatPrinter::print):
(JSC::FormatPrinter::printArg):
(JSC::FormatPrinter::printWTFString):
(JSC::FileFormatPrinter::FileFormatPrinter):
(JSC::FileFormatPrinter::printArg):
(JSC::StringFormatPrinter::StringFormatPrinter):
(JSC::StringFormatPrinter::printArg):
(JSC::StringNFormatPrinter::StringNFormatPrinter):
(JSC::StringNFormatPrinter::printArg):
(JSC::VMInspector::fprintf):
(JSC::VMInspector::printf):
(JSC::VMInspector::sprintf):
(JSC::VMInspector::snprintf):
* interpreter/VMInspector.h:
(VMInspector):

Source/WebCore: 

Added forwarding header for VMInspector.h.

No new tests needed for this.

* ForwardingHeaders/interpreter/VMInspector.h: Added.

Tools: 

Added regression tests for VMInspector::fprintf() sprintf() and snprintf().

* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/JavaScriptCore: Added.
* TestWebKitAPI/Tests/JavaScriptCore/VMInspector.cpp: Added.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133103 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed. Skipping http/tests/xmlhttprequest/timeout/xmlhttprequest-timeout-synconmain.html. 
Not supported in CFNetwork yet. https://bugs.webkit.org/show_bug.cgi?id=100349.

* platform/win/TestExpectations:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133104 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed. Skip another failing drag and drop test.
Drag & Drop doesn't work correctly in DRT <rdar://5621244>

* platform/win/TestExpectations:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133105 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[CSS Exclusions] Test that dynamically setting shape-inside causes relayout in child elements
https://bugs.webkit.org/show_bug.cgi?id=97721

Patch by Bear Travis <betravis@adobe.com> on 2012-10-31
Reviewed by Dirk Schulze.

Adding a test that dynamically sets shape-inside on a block containing multiple block children.

* fast/exclusions/resources/simple-rectangle.js:
(createRectangleTest): Modifying test to work with elements with existing content.
(createRectangleTestResult): Modifying test expectation to work with elements with existing content.
* fast/exclusions/shape-inside/shape-inside-multiple-blocks-dynamic-expected.html: Added.
* fast/exclusions/shape-inside/shape-inside-multiple-blocks-dynamic.html: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133106 268f45cc-cd09-0410-ab3c-d52691b4dbfc
IndexedDB: add methods to support id-based backend APIs
https://bugs.webkit.org/show_bug.cgi?id=100425

Reviewed by Tony Chang.

Source/WebCore:

First half of refactor involves adding a number of methods that
are int64_t-based rather than String-based. As a part of this, the
IDB*Metadata structs and the backend objectStore/index maps all
use int64_t as keys, rather than String.

In addition, there were a number of cleanups that came out of the
refactor:

- The list of object stores active in a transaction is now
  maintained by the frontend IDBTransaction rather than the backend
  IDBTransactionBackendImpl. This also had a simplifying rippling
  effect through other call signatures.

- I was able to remove an apparently old FIXME from
  IDBTransactionBackendImpl::objectStore and replace it with an ASSERT.

- IDBObjectStoreBackendImpl's IndexWriter class got a little
  simpler since the id is now easily available in the
  IDBIndexMetadata.

- A number of methods got simpler in their int64_t versions,
  specifically dropping a number of ExceptionCodes.

There is also some glue code
(getIndexId/getIndexIds/getObjectStoreId) that will go away with
the 2nd half of this: https://bugs.webkit.org/show_bug.cgi?id=100425

No new tests, no new functionality as this is just a refactor.

* Modules/indexeddb/IDBDatabase.cpp:
(WebCore::IDBDatabase::objectStoreNames):
(WebCore::IDBDatabase::createObjectStore):
(WebCore::IDBDatabase::deleteObjectStore):
(WebCore::IDBDatabase::transaction):
* Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
(WebCore::IDBDatabaseBackendImpl::metadata):
(WebCore::IDBDatabaseBackendImpl::createObjectStore):
(WebCore::IDBDatabaseBackendImpl::objectStore):
(WebCore::IDBDatabaseBackendImpl::getObjectStoreId):
(WebCore):
(WebCore::IDBDatabaseBackendImpl::deleteObjectStore):
(WebCore::IDBDatabaseBackendImpl::transaction):
(WebCore::IDBDatabaseBackendImpl::loadObjectStores):
(WebCore::IDBDatabaseBackendImpl::removeObjectStoreFromMap):
(WebCore::IDBDatabaseBackendImpl::addObjectStoreToMap):
* Modules/indexeddb/IDBDatabaseBackendImpl.h:
(WebCore::IDBDatabaseBackendImpl::deleteObjectStore):
(IDBDatabaseBackendImpl):
* Modules/indexeddb/IDBDatabaseBackendInterface.h:
(IDBDatabaseBackendInterface):
* Modules/indexeddb/IDBIndex.h:
(WebCore::IDBIndex::id):
(WebCore::IDBIndex::openKeyCursor):
* Modules/indexeddb/IDBIndexBackendInterface.h:
* Modules/indexeddb/IDBMetadata.h:
(WebCore::IDBIndexMetadata::IDBIndexMetadata):
(IDBIndexMetadata):
(IDBObjectStoreMetadata):
(WebCore::IDBObjectStoreMetadata::containsIndex):
(IDBDatabaseMetadata):
(WebCore::IDBDatabaseMetadata::IDBDatabaseMetadata):
(WebCore::IDBDatabaseMetadata::containsObjectStore):
* Modules/indexeddb/IDBObjectStore.cpp:
(WebCore::IDBObjectStore::indexNames):
(WebCore::IDBObjectStore::put):
(WebCore::IDBObjectStore::createIndex):
(WebCore::IDBObjectStore::index):
(WebCore::IDBObjectStore::deleteIndex):
* Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
(WebCore::IDBObjectStoreBackendImpl::put):
(WebCore::IDBObjectStoreBackendImpl::putWithIndexKeys):
(WebCore):
(WebCore::makeIndexWriters):
(WebCore::IDBObjectStoreBackendImpl::setIndexKeys):
(WebCore::IDBObjectStoreBackendImpl::setIndexesReady):
(WebCore::IDBObjectStoreBackendImpl::setIndexesReadyInternal):
(WebCore::IDBObjectStoreBackendImpl::putInternal):
(WebCore::IDBObjectStoreBackendImpl::deleteInternal):
(WebCore::IDBObjectStoreBackendImpl::createIndex):
(WebCore::IDBObjectStoreBackendImpl::index):
(WebCore::IDBObjectStoreBackendImpl::getIndexId):
(WebCore::IDBObjectStoreBackendImpl::getIndexIds):
(WebCore::IDBObjectStoreBackendImpl::deleteIndex):
(WebCore::IDBObjectStoreBackendImpl::loadIndexes):
(WebCore::IDBObjectStoreBackendImpl::removeIndexFromMap):
(WebCore::IDBObjectStoreBackendImpl::addIndexToMap):
* Modules/indexeddb/IDBObjectStoreBackendImpl.h:
(IDBObjectStoreBackendImpl):
* Modules/indexeddb/IDBObjectStoreBackendInterface.h:
* Modules/indexeddb/IDBOpenDBRequest.cpp:
(WebCore::IDBOpenDBRequest::onUpgradeNeeded):
* Modules/indexeddb/IDBRequest.cpp:
(WebCore::IDBRequest::onSuccess):
(WebCore::IDBRequest::uncaughtExceptionInEventHandler):
* Modules/indexeddb/IDBTransaction.cpp:
(WebCore::IDBTransaction::create):
(WebCore::IDBTransaction::IDBTransaction):
(WebCore::IDBTransaction::objectStore):
* Modules/indexeddb/IDBTransaction.h:
(IDBTransaction):
* Modules/indexeddb/IDBTransactionBackendImpl.cpp:
(WebCore::IDBTransactionBackendImpl::create):
(WebCore::IDBTransactionBackendImpl::IDBTransactionBackendImpl):
(WebCore::IDBTransactionBackendImpl::objectStore):
(WebCore):
(WebCore::IDBTransactionBackendImpl::scheduleTask):
* Modules/indexeddb/IDBTransactionBackendImpl.h:
(IDBTransactionBackendImpl):
* Modules/indexeddb/IDBTransactionBackendInterface.h:

Source/WebKit/chromium:

Chromium Proxy and WebIDB* support for new int64_t-based methods.

* public/WebIDBDatabase.h:
(WebKit::WebIDBDatabase::deleteObjectStore):
(WebKit::WebIDBDatabase::transaction):
* public/WebIDBObjectStore.h:
(WebKit::WebIDBObjectStore::put):
(WebKit::WebIDBObjectStore::setIndexKeys):
(WebKit::WebIDBObjectStore::setIndexesReady):
(WebKit::WebIDBObjectStore::index):
(WebKit::WebIDBObjectStore::deleteIndex):
* public/WebIDBTransaction.h:
(WebKit::WebIDBTransaction::objectStore):
* src/IDBDatabaseBackendProxy.cpp:
(WebKit::IDBDatabaseBackendProxy::deleteObjectStore):
(WebKit):
(WebKit::IDBDatabaseBackendProxy::transaction):
* src/IDBDatabaseBackendProxy.h:
(IDBDatabaseBackendProxy):
* src/IDBObjectStoreBackendProxy.cpp:
(WebKit::IDBObjectStoreBackendProxy::put):
(WebKit):
(WebKit::IDBObjectStoreBackendProxy::setIndexKeys):
(WebKit::IDBObjectStoreBackendProxy::setIndexesReady):
(WebKit::IDBObjectStoreBackendProxy::index):
(WebKit::IDBObjectStoreBackendProxy::deleteIndex):
* src/IDBObjectStoreBackendProxy.h:
(IDBObjectStoreBackendProxy):
* src/IDBTransactionBackendProxy.cpp:
(WebKit::IDBTransactionBackendProxy::objectStore):
* src/IDBTransactionBackendProxy.h:
(IDBTransactionBackendProxy):
* src/WebIDBMetadata.cpp:
(WebKit::WebIDBMetadata::WebIDBMetadata):
(WebKit::WebIDBMetadata::operator IDBDatabaseMetadata):
* src/WebIDBTransactionImpl.cpp:
(WebKit::WebIDBTransactionImpl::objectStore):
(WebKit):
* src/WebIDBTransactionImpl.h:
* tests/IDBDatabaseBackendTest.cpp:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133107 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed. fast\text\international\text-combine-image-test-expected.txt needs some 1 pixel off rebaselines on Windows.

* platform/win/fast/text/international/text-combine-image-test-expected.txt:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133108 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Fix build.
<rdar://problem/12612207>.

Reviewed by Sam Weinig.

Source/WebKit/mac:

* Panels/WebAuthenticationPanel.m:
(-[WebAuthenticationPanel loadNib]):

Source/WTF:

* wtf/CheckedArithmetic.h:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133109 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Chromium] Unreviewed gardening.

* platform/chromium/TestExpectations:

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