crypto.getRandomValues should throw an exception when given a big array
https://bugs.webkit.org/show_bug.cgi?id=95269

Reviewed by Eric Seidel.

Source/WebCore:

The W3C Web Cryptography Working Group has taken up specifying
window.crypto. The latest draft calls for getRandomValues to throw an
exception when given an array that's large.

Test: security/crypto-random-values-limits.html

* page/Crypto.cpp:
(WebCore::Crypto::getRandomValues):

LayoutTests:

* security/crypto-random-values-limits-expected.txt: Added.
* security/crypto-random-values-limits.html: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126953 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Chromium] Update some compositor trace events
https://bugs.webkit.org/show_bug.cgi?id=95275

Patch by John Bates <jbates@google.com> on 2012-08-28
Reviewed by James Robinson.

* platform/graphics/chromium/cc/CCFrameRateController.cpp:
(WebCore::CCFrameRateController::setActive):
* platform/graphics/chromium/cc/CCThreadProxy.cpp:
(WebCore::CCThreadProxy::onVSyncParametersChanged):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126954 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Adding support for adding LLInt opcode extensions.  This will be needed
by the LLInt C loop interpreter later.
https://bugs.webkit.org/show_bug.cgi?id=95277.

Patch by Mark Lam <mark.lam@apple.com> on 2012-08-28
Reviewed by Geoffrey Garen.

* JavaScriptCore.xcodeproj/project.pbxproj:
* bytecode/Opcode.h:
* llint/LLIntOpcode.h: Added.
* llint/LowLevelInterpreter.h:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126955 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Chromium] Scheduler will never process a commit until it receives a vsync tick.
https://bugs.webkit.org/show_bug.cgi?id=94721

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

Source/WebCore:

Add updateResourcesComplete callback to CCScheduler and use this to
indicate completion of texture updates instead of calling
CCSchedulerClient::hasMoreResourceUpdates when receiving a vsync tick.

Unit tests: CCTextureUpdateControllerTest.UpdateMoreTextures
            CCTextureUpdateControllerTest.HasMoreUpdates
            CCTextureUpdateControllerTest.UpdatesCompleteInFiniteTime

* platform/graphics/chromium/cc/CCScheduler.cpp:
(WebCore::CCScheduler::CCScheduler):
(WebCore::CCScheduler::beginFrameComplete):
(WebCore::CCScheduler::vsyncTick):
(WebCore::CCScheduler::updateResourcesComplete):
(WebCore):
(WebCore::CCScheduler::processScheduledActions):
* platform/graphics/chromium/cc/CCScheduler.h:
(CCSchedulerClient):
(CCScheduler):
* platform/graphics/chromium/cc/CCTextureUpdateController.cpp:
(WebCore::CCTextureUpdateController::CCTextureUpdateController):
(WebCore::CCTextureUpdateController::updateMoreTextures):
(WebCore::CCTextureUpdateController::discardUploads):
(WebCore::CCTextureUpdateController::onTimerFired):
(WebCore::CCTextureUpdateController::updateMoreTexturesIfEnoughTimeRemaining):
* platform/graphics/chromium/cc/CCTextureUpdateController.h:
(CCTextureUpdateControllerClient):
(WebCore::CCTextureUpdateControllerClient::~CCTextureUpdateControllerClient):
(WebCore):
(WebCore::CCTextureUpdateController::create):
(CCTextureUpdateController):
* platform/graphics/chromium/cc/CCThreadProxy.cpp:
(WebCore::CCThreadProxy::didLoseContextOnImplThread):
(WebCore::CCThreadProxy::beginFrameCompleteOnImplThread):
(WebCore::CCThreadProxy::scheduledActionCommit):
(WebCore::CCThreadProxy::updateTexturesCompleted):
(WebCore):
* platform/graphics/chromium/cc/CCThreadProxy.h:
(WebCore):

Source/WebKit/chromium:

* tests/CCSchedulerTest.cpp:
(WebKitTests::FakeCCSchedulerClient::reset):
(WebKitTests::TEST):
* tests/CCTextureUpdateControllerTest.cpp:

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