Wrong error type is thrown for type errors in callbacks
https://bugs.webkit.org/show_bug.cgi?id=101502

Reviewed by Adam Barth.

We should be throwing a TypeError and not a DOMException with code TYPE_MISMATCH_ERR.

http://www.w3.org/TR/WebIDL/#es-callback-function

Source/WebCore:

Updated existing tests.

* bindings/scripts/CodeGeneratorJS.pm:
* bindings/scripts/CodeGeneratorV8.pm:
* bindings/scripts/test/JS/JSTestObj.cpp:
* bindings/scripts/test/V8/V8TestObj.cpp:

LayoutTests:

* fast/mediastream/argument-types-expected.txt:
* fast/mediastream/peerconnection-argument-types-expected.txt:
* fast/mediastream/script-tests/argument-types.js:
* fast/mediastream/script-tests/peerconnection-argument-types.js:
* fast/workers/storage/open-database-inputs-sync-expected.txt:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133932 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Skip frame owner disconnect when there's no frames
https://bugs.webkit.org/show_bug.cgi?id=101619

Patch by Elliott Sprehn <esprehn@chromium.org> on 2012-11-08
Reviewed by Ojan Vafai.

Even when there's no subframes in the document we traverse down every
subtree on Node removal looking for frames to disconnect. This patch
checks document()->frame()->tree()->firstChild() to skip this traversal
if there's no subframes.

No new tests, this just short circuits code for speed.

* dom/ContainerNodeAlgorithms.h:
(WebCore::ChildFrameDisconnector::ChildFrameDisconnector):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133933 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Layout test editing/pasteboard/file-drag-to-editable.html flaky
https://bugs.webkit.org/show_bug.cgi?id=101092

Reviewed by Ryosuke Niwa.

Fix a flaky test.  The problem was that we were confusing the test harness by
trying to do a navigation before the initial load finished (the notifyDone()
call did nothing because waitUntilDone() was missing).  Depending on the state
of the frame loader when the test run, there was a race in whether or not we
would dump the results before or after completing the script execution.

Fix this by restructuring the test to run during onload and by calling notifyDone()
after the file load attempt failed.

* editing/pasteboard/file-drag-to-editable-expected.txt:
* editing/pasteboard/script-tests/file-drag-to-editable.js:
(runTest.window.onbeforeunload): Simplify and don't run nofityDone yet.
(runTest): Run test during onload event.
* platform/chromium/TestExpectations: Remove flaky marker.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133934 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[WK2] Print preview should vend images to the UIProcess instead of PDFs
https://bugs.webkit.org/show_bug.cgi?id=101382
<rdar://problem/9866766>

Reviewed by Alexey Proskuryakov.

In the interests of keeping PDF processing inside the WebProcess, we should
remove print preview's reliance on PDFs, by handing bitmaps back instead.

* Shared/ShareableBitmap.cpp:
(WebKit::ShareableBitmap::create): Add an optional SharedMemory::Protection argument, so we can make
ShareableBitmaps from read-only handles if desired. Defaults to read-write as previously.
(WebKit::ShareableBitmap::createHandle): Add an optional SharedMemory::Protection argument, so we can make
read-only handles if desired. Defaults to read-write as previously.
* Shared/ShareableBitmap.h:
* UIProcess/API/mac/WKPrintingView.h:
(WebImage): Store WebImages instead of raw PDF data for previews.
* UIProcess/API/mac/WKPrintingView.mm:
(pageDidDrawToImage): Add a callback for when a preview we've requested is done rendering into an image.
Cache the image in _pagePreviews if appropriate.
(pageDidDrawToPDF): Do not handle PDF data unless we are expecting a real print callback (not a preview).
(-[WKPrintingView _drawPreview:]): Request an image instead of PDF data when doing a print preview.
* UIProcess/GenericCallback.h:
(ImageCallback): Add a callback type with one argument: a ShareableBitmap::Handle.
I can't use the GenericCallback template because ShareableBitmap::Handle doesn't have a corresponding WK type.
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::close): Add support for ImageCallback.
(WebKit::WebPageProxy::imageCallback): Add support for ImageCallback.
(WebKit::WebPageProxy::drawRectToImage): Rename drawRectToPDF to drawRectToImage.
* UIProcess/WebPageProxy.h:
(WebPageProxy): Rename drawRectToPDF to drawRectToImage, add support for ImageCallback.
* UIProcess/WebPageProxy.messages.in: Add support for ImageCallback.
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::drawRectToImage): Rename drawRectToPDF to drawRectToImage.
Make drawRectToImage create a bitmap snapshot of the page (using the normal snapshotting code),
or, if the page is backed by a *PDFPlugin, draw the PDF document into a bitmap and use that.
* WebProcess/WebPage/WebPage.h:
(WebPage): Rename drawRectToPDF to drawRectToImage.
* WebProcess/WebPage/WebPage.messages.in: Rename drawRectToPDF to drawRectToImage.
* WebProcess/WebPage/mac/WebPageMac.mm:
(WebKit::WebPage::drawPDFDocument): Rename drawRectToPDFFromPDFDocument to drawPDFDocument,
because it's more like drawImage than anything else.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133935 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed chromium rebaselines.

* platform/chromium-linux-x86/fast/css/text-overflow-ellipsis-text-align-center-expected.txt:
* platform/chromium-linux-x86/fast/css/vertical-text-overflow-ellipsis-text-align-center-expected.txt:
* platform/chromium-mac-lion/fast/css/text-overflow-ellipsis-bidi-expected.png: Added.
* platform/chromium-mac-lion/fast/css/text-overflow-ellipsis-expected.png: Added.
* platform/chromium-mac-lion/fast/css/text-overflow-ellipsis-strict-expected.png: Added.
* platform/chromium-mac-lion/fast/css/text-overflow-input-expected.png: Added.
* platform/chromium-mac-lion/fast/css/vertical-text-overflow-ellipsis-text-align-center-expected.png: Added.
* platform/chromium-mac-lion/fast/forms/basic-textareas-quirks-expected.png: Added.
* platform/chromium-mac-lion/fast/forms/input-disabled-color-expected.png: Added.
* platform/chromium-mac-lion/fast/forms/input-readonly-dimmed-expected.png: Added.
* platform/chromium-mac-lion/fast/forms/input-text-scroll-left-on-blur-expected.png: Added.
* platform/chromium-mac-lion/fast/forms/search-rtl-expected.png: Added.
* platform/chromium-mac-lion/fast/multicol/span/anonymous-split-block-crash-expected.png: Added.
* platform/chromium-mac-lion/fast/multicol/span/clone-anonymous-block-non-inline-child-crash-expected.png: Added.
* platform/chromium-mac-lion/fast/replaced/width100percent-textarea-expected.png: Added.
* platform/chromium-mac/fast/css/text-overflow-ellipsis-text-align-center-expected.png:
* platform/chromium-win-xp/fast/css/text-overflow-ellipsis-text-align-center-expected.txt:
* platform/chromium-win-xp/fast/css/vertical-text-overflow-ellipsis-text-align-center-expected.txt:
* platform/chromium-win/fast/css/text-overflow-ellipsis-text-align-center-expected.txt:
* platform/chromium-win/fast/css/vertical-text-overflow-ellipsis-text-align-center-expected.txt:
* platform/efl-wk1/fast/css: Added.
* platform/efl-wk1/fast/css/text-overflow-ellipsis-bidi-expected.png: Added.
* platform/efl-wk1/fast/css/text-overflow-ellipsis-expected.png: Added.
* platform/efl-wk1/fast/css/text-overflow-ellipsis-strict-expected.png: Added.
* platform/efl-wk1/fast/css/text-overflow-ellipsis-text-align-center-expected.png: Added.
* platform/efl-wk1/fast/css/text-overflow-input-expected.png: Added.
* platform/efl-wk1/fast/css/text-overflow-input-expected.txt: Added.
* platform/efl-wk1/fast/css/vertical-text-overflow-ellipsis-text-align-center-expected.png: Added.
* platform/efl/fast/css/text-overflow-ellipsis-bidi-expected.png: Removed.
* platform/efl/fast/css/text-overflow-ellipsis-expected.png: Removed.
* platform/efl/fast/css/text-overflow-ellipsis-strict-expected.png: Removed.
* platform/efl/fast/css/text-overflow-ellipsis-text-align-center-expected.png: Removed.
* platform/efl/fast/css/text-overflow-input-expected.png: Removed.
* platform/efl/fast/css/text-overflow-input-expected.txt: Removed.
* platform/efl/fast/css/vertical-text-overflow-ellipsis-text-align-center-expected.png: Removed.
* platform/efl/fast/forms/basic-textareas-quirks-expected.png: Removed.
* platform/efl/fast/forms/basic-textareas-quirks-expected.txt: Removed.
* platform/efl/fast/forms/input-disabled-color-expected.png: Removed.
* platform/efl/fast/forms/input-disabled-color-expected.txt: Removed.
* platform/efl/fast/forms/input-readonly-dimmed-expected.png: Removed.
* platform/efl/fast/forms/input-readonly-dimmed-expected.txt: Removed.
* platform/efl/fast/forms/input-text-scroll-left-on-blur-expected.png: Removed.
* platform/efl/fast/forms/input-text-scroll-left-on-blur-expected.txt: Removed.
* platform/efl/fast/multicol/span/anonymous-split-block-crash-expected.png: Removed.
* platform/efl/fast/multicol/span/clone-anonymous-block-non-inline-child-crash-expected.png: Removed.
* platform/efl/fast/replaced/width100percent-textarea-expected.png: Removed.


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

Roll Chromium DEPS: 166678 => 166755

* DEPS:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133938 268f45cc-cd09-0410-ab3c-d52691b4dbfc
On Chromium, click-after-nested-block.html, focus_editable_html.html, and autoscroll.html
hit assertion added in r133840
https://bugs.webkit.org/show_bug.cgi?id=101576

Reviewed by Abhishek Arya.

Update layout before invalidating caret rect as needed.
Existing tests cover this.

* editing/FrameSelection.cpp:
(WebCore::FrameSelection::setCaretVisibility): Merged clearCaretRectIfNeeded.
* editing/FrameSelection.h:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133939 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Source/WebCore: IndexedDB: Remove unused error handling clauses when writing to transaction
https://bugs.webkit.org/show_bug.cgi?id=100700

Reviewed by Tony Chang.

Transactions are written into in-memory data structures. This can only fail if allocation
fails, so "success" results are always returned. Change the return types to void, and delete
all of the unreachable error handling code.

No new tests - just refactoring/dead code removal.

* Modules/indexeddb/IDBLevelDBBackingStore.cpp:
(WebCore::putBool): Only write to transactions.
(WebCore):
(WebCore::putInt): Ditto.
(WebCore::putVarInt): Ditto.
(WebCore::putString): Ditto.
(WebCore::putIDBKeyPath): Ditto.
(WebCore::IDBLevelDBBackingStore::updateIDBDatabaseIntVersion):
(WebCore::IDBLevelDBBackingStore::updateIDBDatabaseMetaData):
(WebCore::deleteRange): Writes only to transaction, so can't fail.
(WebCore::setMaxObjectStoreId):
(WebCore::IDBLevelDBBackingStore::createObjectStore):
(WebCore::getNewVersionNumber):
(WebCore::IDBLevelDBBackingStore::putObjectStoreRecord):
(WebCore::IDBLevelDBBackingStore::maybeUpdateKeyGeneratorCurrentNumber):
(WebCore::setMaxIndexId):
(WebCore::IDBLevelDBBackingStore::createIndex):
(WebCore::IDBLevelDBBackingStore::putIndexDataForRecord):
* platform/leveldb/LevelDBTransaction.cpp:
(WebCore::LevelDBTransaction::set): Return type is void.
(WebCore::LevelDBTransaction::put): Ditto.
(WebCore::LevelDBTransaction::remove): Ditto.
* platform/leveldb/LevelDBTransaction.h:
(LevelDBTransaction):

LayoutTests: [Chromium] Unreviewed gardening.


* platform/chromium/TestExpectations:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133940 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Chromium] DumpRenderTree fix for canvas in software compositing
https://bugs.webkit.org/show_bug.cgi?id=101509

Patch by Slavomir Kaslev <skaslev@google.com> on 2012-11-08
Reviewed by Adrienne Walker.

Don't use accelerated canvas 2d when in software compositing mode.

* DumpRenderTree/chromium/TestShell.cpp:
(TestShell::runFileTest):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133941 268f45cc-cd09-0410-ab3c-d52691b4dbfc
setAttributeNode and friends should not have optional argument
https://bugs.webkit.org/show_bug.cgi?id=101631

Reviewed by Ojan Vafai.

Source/WebCore:

http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-887236154

Fix getAttributeNode, getAttributeNodeNS and removeAttributeNode to make the Attr
argument mandatory.

These used to throw DOMExceptions when an invalid type was passed instead of
TypeError which is also a spec violation.

Updated existing tests.

* bindings/scripts/CodeGeneratorV8.pm:
* dom/Element.cpp:
* dom/Element.idl:

LayoutTests:

Fix getAttributeNode, getAttributeNodeNS and removeAttributeNode to make the Attr
argument mandatory.

These used to throw DOMExceptions when an invalid type was passed instead of
TypeError which is also a spec violation.

* fast/dom/Element/attr-param-typechecking-expected.txt:
* fast/dom/Element/script-tests/attr-param-typechecking.js:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133944 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[V8] Update callers to use the aligned pointer API rather than the deprecated unaligned pointer API
https://bugs.webkit.org/show_bug.cgi?id=101519

Reviewed by Ojan Vafai.

There should be no change in behavior.  The new API is slightly faster
than the old API (and apparently works correctly internally in V8).

* bindings/scripts/CodeGeneratorV8.pm:
(GenerateHeader):
* bindings/scripts/test/V8/V8Float64Array.h:
(WebCore::V8Float64Array::toNative):
* bindings/scripts/test/V8/V8TestActiveDOMObject.h:
(WebCore::V8TestActiveDOMObject::toNative):
* bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
(WebCore::V8TestCustomNamedGetter::toNative):
* bindings/scripts/test/V8/V8TestEventConstructor.h:
(WebCore::V8TestEventConstructor::toNative):
* bindings/scripts/test/V8/V8TestEventTarget.h:
(WebCore::V8TestEventTarget::toNative):
* bindings/scripts/test/V8/V8TestException.h:
(WebCore::V8TestException::toNative):
* bindings/scripts/test/V8/V8TestInterface.h:
(WebCore::V8TestInterface::toNative):
* bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
(WebCore::V8TestMediaQueryListListener::toNative):
* bindings/scripts/test/V8/V8TestNamedConstructor.h:
(WebCore::V8TestNamedConstructor::toNative):
* bindings/scripts/test/V8/V8TestNode.h:
(WebCore::V8TestNode::toNative):
* bindings/scripts/test/V8/V8TestObj.h:
(WebCore::V8TestObj::toNative):
* bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
(WebCore::V8TestSerializedScriptValueInterface::toNative):
* bindings/v8/NPV8Object.cpp:
(WebCore::v8ObjectToNPObject):
(WebCore::npCreateV8ScriptObject):
* bindings/v8/V8Collection.h:
(WebCore::toNativeCollection):
* bindings/v8/V8DOMWindowShell.cpp:
(WebCore::setIsolatedWorldField):
(WebCore::V8DOMWindowShell::enteredIsolatedWorldContext):
* bindings/v8/V8DOMWrapper.cpp:
(WebCore::V8DOMWrapper::isWrapperOfType):
* bindings/v8/V8DOMWrapper.h:
(WebCore::V8DOMWrapper::setDOMWrapper):
(WebCore::V8DOMWrapper::clearDOMWrapper):
* bindings/v8/WrapperTypeInfo.h:
(WebCore::toNative):
(WebCore::toWrapperTypeInfo):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133945 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed. Some more gardening after r133898.

* platform/efl/TestExpectations:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133948 268f45cc-cd09-0410-ab3c-d52691b4dbfc
ASSERT problem on MIPS
https://bugs.webkit.org/show_bug.cgi?id=100589

Patch by Balazs Kilvady <kilvadyb@homejinni.com> on 2012-11-08
Reviewed by Oliver Hunt.

ASSERT fix for MIPS arch.

* jit/JITOpcodes.cpp:
(JSC::JIT::emit_resolve_operations):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133950 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[BlackBerry] Provide pixel coordinates to IMF relative to the screen
https://bugs.webkit.org/show_bug.cgi?id=101628

Patch by Nima Ghanavatian <nghanavatian@rim.com> on 2012-11-08
Reviewed by Rob Buis.

Reviewed internally by Mike Fenton and Jakob Petsovits.

We need to provide the correct pixel coordinates to IMF,
accounting for webkit based fields in UIB as well as browser.
Getting an offset value from the screen point to the document
content point allows us to adjust for when the document,
such as in UIB, does not start at 0,0.

* Api/WebPageClient.h:
* WebKitSupport/InputHandler.cpp:
(BlackBerry::WebKit::InputHandler::requestSpellingCheckingOptions):
* WebKitSupport/InputHandler.h:
(InputHandler):
* WebKitSupport/TouchEventHandler.cpp:
(BlackBerry::WebKit::TouchEventHandler::handleTouchPoint):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133951 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[BlackBerry] Update BB10 date input form.
https://bugs.webkit.org/show_bug.cgi?id=101075

Patch by Tiancheng Jiang <tijiang@rim.com> on 2012-11-08
Reviewed by Rob Buis.

RIM PR 234531
Internally Reviewed by Mike Fenton.
Change date input appearance to button and hide caret when click on them.

Source/WebCore:

* css/themeBlackBerry.css:
(input[type="date"], input[type="datetime"], input[type="datetime-local"], input[type="time"], input[type="month"]):

Source/WebKit/blackberry:

* WebCoreSupport/DatePickerClient.cpp:
(WebCore::DatePickerClient::setValueAndClosePopup):
* WebKitSupport/InputHandler.cpp:
(BlackBerry::WebKit::InputHandler::openDatePopup):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133952 268f45cc-cd09-0410-ab3c-d52691b4dbfc
JSC should infer when indexed storage contains only integers or doubles
https://bugs.webkit.org/show_bug.cgi?id=98606

Reviewed by Oliver Hunt.

Source/JavaScriptCore: 

This adds two new indexing types: int32 and double. It also adds array allocation profiling,
which allows array allocations to converge to allocating arrays using those types to which
those arrays would have been converted.
        
20% speed-up on navier-stokes. 40% speed-up on various Kraken DSP tests. Some slow-downs too,
but a performance win overall on all benchmarks we track.

* API/JSObjectRef.cpp:
(JSObjectMakeArray):
* CMakeLists.txt:
* GNUmakefile.list.am:
* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
* JavaScriptCore.xcodeproj/project.pbxproj:
* Target.pri:
* assembler/AbstractMacroAssembler.h:
(JumpList):
(JSC::AbstractMacroAssembler::JumpList::JumpList):
* assembler/MacroAssemblerX86Common.h:
(JSC::MacroAssemblerX86Common::branchDouble):
* assembler/X86Assembler.h:
(JSC::X86Assembler::jnp):
(X86Assembler):
(JSC::X86Assembler::X86InstructionFormatter::emitRex):
* bytecode/ArrayAllocationProfile.cpp: Added.
(JSC):
(JSC::ArrayAllocationProfile::updateIndexingType):
* bytecode/ArrayAllocationProfile.h: Added.
(JSC):
(ArrayAllocationProfile):
(JSC::ArrayAllocationProfile::ArrayAllocationProfile):
(JSC::ArrayAllocationProfile::selectIndexingType):
(JSC::ArrayAllocationProfile::updateLastAllocation):
(JSC::ArrayAllocationProfile::selectIndexingTypeFor):
(JSC::ArrayAllocationProfile::updateLastAllocationFor):
* bytecode/ArrayProfile.cpp:
(JSC::ArrayProfile::updatedObservedArrayModes):
(JSC):
* bytecode/ArrayProfile.h:
(JSC):
(JSC::arrayModesInclude):
(JSC::shouldUseSlowPutArrayStorage):
(JSC::shouldUseFastArrayStorage):
(JSC::shouldUseContiguous):
(JSC::shouldUseDouble):
(JSC::shouldUseInt32):
(ArrayProfile):
* bytecode/ByValInfo.h:
(JSC::isOptimizableIndexingType):
(JSC::jitArrayModeForIndexingType):
* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::dump):
(JSC::CodeBlock::CodeBlock):
(JSC::CodeBlock::updateAllPredictionsAndCountLiveness):
(JSC):
(JSC::CodeBlock::updateAllValueProfilePredictions):
(JSC::CodeBlock::updateAllArrayPredictions):
(JSC::CodeBlock::updateAllPredictions):
(JSC::CodeBlock::shouldOptimizeNow):
* bytecode/CodeBlock.h:
(CodeBlock):
(JSC::CodeBlock::numberOfArrayAllocationProfiles):
(JSC::CodeBlock::addArrayAllocationProfile):
(JSC::CodeBlock::updateAllValueProfilePredictions):
(JSC::CodeBlock::updateAllArrayPredictions):
* bytecode/DFGExitProfile.h:
(JSC::DFG::exitKindToString):
* bytecode/Instruction.h:
(JSC):
(JSC::Instruction::Instruction):
* bytecode/Opcode.h:
(JSC):
(JSC::padOpcodeName):
* bytecode/SpeculatedType.h:
(JSC):
(JSC::isRealNumberSpeculation):
* bytecode/UnlinkedCodeBlock.cpp:
(JSC::UnlinkedCodeBlock::UnlinkedCodeBlock):
* bytecode/UnlinkedCodeBlock.h:
(JSC):
(JSC::UnlinkedCodeBlock::addArrayAllocationProfile):
(JSC::UnlinkedCodeBlock::numberOfArrayAllocationProfiles):
(UnlinkedCodeBlock):
* bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::newArrayAllocationProfile):
(JSC):
(JSC::BytecodeGenerator::emitNewArray):
(JSC::BytecodeGenerator::emitExpectedFunctionSnippet):
* bytecompiler/BytecodeGenerator.h:
(BytecodeGenerator):
* dfg/DFGAbstractState.cpp:
(JSC::DFG::AbstractState::execute):
* dfg/DFGArrayMode.cpp:
(JSC::DFG::ArrayMode::fromObserved):
(JSC::DFG::ArrayMode::refine):
(DFG):
(JSC::DFG::ArrayMode::alreadyChecked):
(JSC::DFG::arrayTypeToString):
* dfg/DFGArrayMode.h:
(JSC::DFG::ArrayMode::withType):
(ArrayMode):
(JSC::DFG::ArrayMode::withTypeAndConversion):
(JSC::DFG::ArrayMode::usesButterfly):
(JSC::DFG::ArrayMode::isSpecific):
(JSC::DFG::ArrayMode::supportsLength):
(JSC::DFG::ArrayMode::arrayModesThatPassFiltering):
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::getArrayMode):
(ByteCodeParser):
(JSC::DFG::ByteCodeParser::handleIntrinsic):
(JSC::DFG::ByteCodeParser::handleConstantInternalFunction):
(JSC::DFG::ByteCodeParser::parseBlock):
* dfg/DFGCCallHelpers.h:
(JSC::DFG::CCallHelpers::setupArgumentsWithExecState):
(CCallHelpers):
* dfg/DFGCallArrayAllocatorSlowPathGenerator.h:
(JSC::DFG::CallArrayAllocatorSlowPathGenerator::generateInternal):
(JSC::DFG::CallArrayAllocatorWithVariableSizeSlowPathGenerator::generateInternal):
* dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
(JSC::DFG::FixupPhase::checkArray):
* dfg/DFGGraph.cpp:
(JSC::DFG::Graph::dump):
* dfg/DFGGraph.h:
(JSC::DFG::Graph::byValIsPure):
* dfg/DFGNode.h:
(NewArrayBufferData):
(JSC::DFG::Node::hasIndexingType):
(Node):
(JSC::DFG::Node::indexingType):
(JSC::DFG::Node::setIndexingType):
* dfg/DFGOperations.cpp:
* dfg/DFGOperations.h:
* dfg/DFGPredictionPropagationPhase.cpp:
(JSC::DFG::PredictionPropagationPhase::doRoundOfDoubleVoting):
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::emitAllocateJSArray):
(JSC::DFG::SpeculativeJIT::jumpSlowForUnwantedArrayMode):
(DFG):
(JSC::DFG::SpeculativeJIT::checkArray):
(JSC::DFG::SpeculativeJIT::arrayify):
(JSC::DFG::SpeculativeJIT::compileDoublePutByVal):
(JSC::DFG::SpeculativeJIT::compileGetArrayLength):
* dfg/DFGSpeculativeJIT.h:
(JSC::DFG::SpeculativeJIT::callOperation):
(SpeculativeJIT):
(SpeculateIntegerOperand):
(JSC::DFG::SpeculateIntegerOperand::use):
(SpeculateDoubleOperand):
(JSC::DFG::SpeculateDoubleOperand::use):
* dfg/DFGSpeculativeJIT32_64.cpp:
(DFG):
(JSC::DFG::SpeculativeJIT::compileContiguousPutByVal):
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* jit/JIT.h:
(JSC::JIT::emitInt32GetByVal):
(JIT):
(JSC::JIT::emitInt32PutByVal):
(JSC::JIT::emitDoublePutByVal):
(JSC::JIT::emitContiguousPutByVal):
* jit/JITExceptions.cpp:
(JSC::genericThrow):
* jit/JITInlineMethods.h:
(JSC::arrayProfileSaw):
(JSC::JIT::chooseArrayMode):
* jit/JITOpcodes.cpp:
(JSC::JIT::emit_op_new_array):
(JSC::JIT::emit_op_new_array_with_size):
(JSC::JIT::emit_op_new_array_buffer):
* jit/JITPropertyAccess.cpp:
(JSC::JIT::emit_op_get_by_val):
(JSC::JIT::emitDoubleGetByVal):
(JSC):
(JSC::JIT::emitContiguousGetByVal):
(JSC::JIT::emit_op_put_by_val):
(JSC::JIT::emitGenericContiguousPutByVal):
(JSC::JIT::emitSlow_op_put_by_val):
(JSC::JIT::privateCompileGetByVal):
(JSC::JIT::privateCompilePutByVal):
* jit/JITPropertyAccess32_64.cpp:
(JSC::JIT::emit_op_get_by_val):
(JSC::JIT::emitContiguousGetByVal):
(JSC::JIT::emitDoubleGetByVal):
(JSC):
(JSC::JIT::emit_op_put_by_val):
(JSC::JIT::emitGenericContiguousPutByVal):
(JSC::JIT::emitSlow_op_put_by_val):
* jit/JITStubs.cpp:
(JSC::DEFINE_STUB_FUNCTION):
* jit/JITStubs.h:
(JSC):
* jsc.cpp:
(GlobalObject::finishCreation):
* llint/LLIntSlowPaths.cpp:
(JSC::LLInt::jitCompileAndSetHeuristics):
(JSC::LLInt::LLINT_SLOW_PATH_DECL):
* llint/LowLevelInterpreter.asm:
* llint/LowLevelInterpreter32_64.asm:
* llint/LowLevelInterpreter64.asm:
* offlineasm/x86.rb:
* runtime/ArrayConstructor.cpp:
(JSC::constructArrayWithSizeQuirk):
* runtime/ArrayConstructor.h:
(JSC):
* runtime/ArrayPrototype.cpp:
(JSC::arrayProtoFuncConcat):
(JSC::arrayProtoFuncSlice):
(JSC::arrayProtoFuncSplice):
(JSC::arrayProtoFuncFilter):
(JSC::arrayProtoFuncMap):
* runtime/Butterfly.h:
(JSC::Butterfly::contiguousInt32):
(JSC::Butterfly::contiguousDouble):
(JSC::Butterfly::fromContiguous):
* runtime/ButterflyInlineMethods.h:
(JSC::Butterfly::createUninitializedDuringCollection):
* runtime/FunctionPrototype.cpp:
(JSC::functionProtoFuncBind):
* runtime/IndexingHeaderInlineMethods.h:
(JSC::IndexingHeader::indexingPayloadSizeInBytes):
* runtime/IndexingType.cpp:
(JSC::leastUpperBoundOfIndexingTypes):
(JSC):
(JSC::leastUpperBoundOfIndexingTypeAndType):
(JSC::leastUpperBoundOfIndexingTypeAndValue):
(JSC::indexingTypeToString):
* runtime/IndexingType.h:
(JSC):
(JSC::hasUndecided):
(JSC::hasInt32):
(JSC::hasDouble):
* runtime/JSArray.cpp:
(JSC::JSArray::setLength):
(JSC::JSArray::pop):
(JSC::JSArray::push):
(JSC::JSArray::shiftCountWithAnyIndexingType):
(JSC::JSArray::unshiftCountWithAnyIndexingType):
(JSC::compareNumbersForQSortWithInt32):
(JSC):
(JSC::compareNumbersForQSortWithDouble):
(JSC::JSArray::sortNumericVector):
(JSC::JSArray::sortNumeric):
(JSC::JSArray::sortCompactedVector):
(JSC::JSArray::sort):
(JSC::JSArray::sortVector):
(JSC::JSArray::fillArgList):
(JSC::JSArray::copyToArguments):
(JSC::JSArray::compactForSorting):
* runtime/JSArray.h:
(JSArray):
(JSC::createContiguousArrayButterfly):
(JSC::JSArray::create):
(JSC::JSArray::tryCreateUninitialized):
* runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::reset):
(JSC):
(JSC::JSGlobalObject::haveABadTime):
(JSC::JSGlobalObject::visitChildren):
* runtime/JSGlobalObject.h:
(JSGlobalObject):
(JSC::JSGlobalObject::originalArrayStructureForIndexingType):
(JSC::JSGlobalObject::arrayStructureForIndexingTypeDuringAllocation):
(JSC::JSGlobalObject::arrayStructureForProfileDuringAllocation):
(JSC::JSGlobalObject::isOriginalArrayStructure):
(JSC::constructEmptyArray):
(JSC::constructArray):
* runtime/JSObject.cpp:
(JSC::JSObject::copyButterfly):
(JSC::JSObject::getOwnPropertySlotByIndex):
(JSC::JSObject::putByIndex):
(JSC::JSObject::enterDictionaryIndexingMode):
(JSC::JSObject::createInitialIndexedStorage):
(JSC):
(JSC::JSObject::createInitialUndecided):
(JSC::JSObject::createInitialInt32):
(JSC::JSObject::createInitialDouble):
(JSC::JSObject::createInitialContiguous):
(JSC::JSObject::convertUndecidedToInt32):
(JSC::JSObject::convertUndecidedToDouble):
(JSC::JSObject::convertUndecidedToContiguous):
(JSC::JSObject::constructConvertedArrayStorageWithoutCopyingElements):
(JSC::JSObject::convertUndecidedToArrayStorage):
(JSC::JSObject::convertInt32ToDouble):
(JSC::JSObject::convertInt32ToContiguous):
(JSC::JSObject::convertInt32ToArrayStorage):
(JSC::JSObject::convertDoubleToContiguous):
(JSC::JSObject::convertDoubleToArrayStorage):
(JSC::JSObject::convertContiguousToArrayStorage):
(JSC::JSObject::convertUndecidedForValue):
(JSC::JSObject::convertInt32ForValue):
(JSC::JSObject::setIndexQuicklyToUndecided):
(JSC::JSObject::convertInt32ToDoubleOrContiguousWhilePerformingSetIndex):
(JSC::JSObject::convertDoubleToContiguousWhilePerformingSetIndex):
(JSC::JSObject::ensureInt32Slow):
(JSC::JSObject::ensureDoubleSlow):
(JSC::JSObject::ensureContiguousSlow):
(JSC::JSObject::ensureArrayStorageSlow):
(JSC::JSObject::ensureArrayStorageExistsAndEnterDictionaryIndexingMode):
(JSC::JSObject::switchToSlowPutArrayStorage):
(JSC::JSObject::deletePropertyByIndex):
(JSC::JSObject::getOwnPropertyNames):
(JSC::JSObject::putByIndexBeyondVectorLengthWithoutAttributes):
(JSC::JSObject::putByIndexBeyondVectorLength):
(JSC::JSObject::putDirectIndexBeyondVectorLength):
(JSC::JSObject::getNewVectorLength):
(JSC::JSObject::countElements):
(JSC::JSObject::ensureLengthSlow):
(JSC::JSObject::getOwnPropertyDescriptor):
* runtime/JSObject.h:
(JSC::JSObject::getArrayLength):
(JSC::JSObject::getVectorLength):
(JSC::JSObject::canGetIndexQuickly):
(JSC::JSObject::getIndexQuickly):
(JSC::JSObject::tryGetIndexQuickly):
(JSC::JSObject::canSetIndexQuickly):
(JSC::JSObject::canSetIndexQuicklyForPutDirect):
(JSC::JSObject::setIndexQuickly):
(JSC::JSObject::initializeIndex):
(JSC::JSObject::hasSparseMap):
(JSC::JSObject::inSparseIndexingMode):
(JSObject):
(JSC::JSObject::ensureInt32):
(JSC::JSObject::ensureDouble):
(JSC::JSObject::ensureLength):
(JSC::JSObject::indexingData):
(JSC::JSObject::currentIndexingData):
(JSC::JSObject::getHolyIndexQuickly):
(JSC::JSObject::relevantLength):
(JSC::JSObject::currentRelevantLength):
* runtime/JSValue.cpp:
(JSC::JSValue::description):
* runtime/LiteralParser.cpp:
(JSC::::parse):
* runtime/ObjectConstructor.cpp:
(JSC::objectConstructorGetOwnPropertyNames):
(JSC::objectConstructorKeys):
* runtime/StringPrototype.cpp:
(JSC::stringProtoFuncMatch):
(JSC::stringProtoFuncSplit):
* runtime/Structure.cpp:
(JSC::Structure::nonPropertyTransition):
* runtime/StructureTransitionTable.h:
(JSC::newIndexingType):

Source/WebCore: 

Just refactoring WebCore to pass 0 for the ArrayAllocationProfile*.

* bindings/js/JSCanvasRenderingContext2DCustom.cpp:
(WebCore::JSCanvasRenderingContext2D::webkitLineDash):
* bindings/js/JSClipboardCustom.cpp:
(WebCore::JSClipboard::types):
* bindings/js/JSDOMBinding.cpp:
(WebCore::jsArray):
* bindings/js/JSDOMBinding.h:
(WebCore::jsArray):
* bindings/js/JSInjectedScriptHostCustom.cpp:
(WebCore::getJSListenerFunctions):
* bindings/js/JSJavaScriptCallFrameCustom.cpp:
(WebCore::JSJavaScriptCallFrame::scopeChain):
* bindings/js/JSMessageEventCustom.cpp:
(WebCore::JSMessageEvent::ports):
* bindings/js/JSMutationCallbackCustom.cpp:
(WebCore::JSMutationCallback::handleEvent):
* bindings/js/JSWebGLRenderingContextCustom.cpp:
(WebCore::toJS):
(WebCore::JSWebGLRenderingContext::getAttachedShaders):
(WebCore::JSWebGLRenderingContext::getSupportedExtensions):
* bindings/js/SerializedScriptValue.cpp:
(WebCore::CloneDeserializer::deserialize):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133953 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed, rolling out r133945.
http://trac.webkit.org/changeset/133945
https://bugs.webkit.org/show_bug.cgi?id=101645

Numerous layout and unit test failures (Requested by
jsbell|gardener on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-11-08

* bindings/scripts/CodeGeneratorV8.pm:
(GenerateHeader):
* bindings/scripts/test/V8/V8Float64Array.h:
(WebCore::V8Float64Array::toNative):
* bindings/scripts/test/V8/V8TestActiveDOMObject.h:
(WebCore::V8TestActiveDOMObject::toNative):
* bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
(WebCore::V8TestCustomNamedGetter::toNative):
* bindings/scripts/test/V8/V8TestEventConstructor.h:
(WebCore::V8TestEventConstructor::toNative):
* bindings/scripts/test/V8/V8TestEventTarget.h:
(WebCore::V8TestEventTarget::toNative):
* bindings/scripts/test/V8/V8TestException.h:
(WebCore::V8TestException::toNative):
* bindings/scripts/test/V8/V8TestInterface.h:
(WebCore::V8TestInterface::toNative):
* bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
(WebCore::V8TestMediaQueryListListener::toNative):
* bindings/scripts/test/V8/V8TestNamedConstructor.h:
(WebCore::V8TestNamedConstructor::toNative):
* bindings/scripts/test/V8/V8TestNode.h:
(WebCore::V8TestNode::toNative):
* bindings/scripts/test/V8/V8TestObj.h:
(WebCore::V8TestObj::toNative):
* bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
(WebCore::V8TestSerializedScriptValueInterface::toNative):
* bindings/v8/NPV8Object.cpp:
(WebCore::v8ObjectToNPObject):
(WebCore::npCreateV8ScriptObject):
* bindings/v8/V8Collection.h:
(WebCore::toNativeCollection):
* bindings/v8/V8DOMWindowShell.cpp:
(WebCore::setIsolatedWorldField):
(WebCore::V8DOMWindowShell::enteredIsolatedWorldContext):
* bindings/v8/V8DOMWrapper.cpp:
(WebCore::V8DOMWrapper::isWrapperOfType):
* bindings/v8/V8DOMWrapper.h:
(WebCore::V8DOMWrapper::setDOMWrapper):
(WebCore::V8DOMWrapper::clearDOMWrapper):
* bindings/v8/WrapperTypeInfo.h:
(WebCore::toNative):
(WebCore::toWrapperTypeInfo):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133954 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Coordinated Graphics: Remove an invisible TiledBackingStore of CoordinatedGraphicsLayer.
https://bugs.webkit.org/show_bug.cgi?id=101424

Patch by Huang Dongsung <luxtella@company100.net> on 2012-11-08
Reviewed by Noam Rosenthal.

Source/WebCore:

This patch adds ASSERT to TextureMapperLayer while fixing this bug in
WebKit2.

* platform/graphics/texmap/TextureMapperLayer.cpp:
(WebCore::TextureMapperLayer::paintSelf):

Source/WebKit2:

We must remove an invisible TiledBackingStore of CoordinatedGraphicsLayer.
Currently, CoordinatedGraphicsLayer only removes a TiledBackingStore if
!drawsContent() while TextureMapperLayer::updateBackingStore() removes a backing
store if (!m_state.drawsContent || !m_state.contentsVisible || m_size.isEmpty()).
CoordinatedGraphicsLayer must have the same behavior.

In addition, this patch makes LayerTreeRenderer remove a backing store from
GraphicsLayerTextureMapper when CoordinatedBackingStore does not have any tiles.

Test: compositing/nested-direct-image-compositing.html

* UIProcess/CoordinatedGraphics/CoordinatedBackingStore.cpp:
(WebKit::CoordinatedBackingStore::removeTile):
(WebKit::CoordinatedBackingStore::isEmpty):
(WebKit):
(WebKit::CoordinatedBackingStore::commitTileOperations):
* UIProcess/CoordinatedGraphics/CoordinatedBackingStore.h:
(CoordinatedBackingStore):
* UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
(WebKit::LayerTreeRenderer::removeBackingStoreIfNeeded):
(WebKit):
(WebKit::LayerTreeRenderer::removeTile):
* UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
(LayerTreeRenderer):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
(WebCore::CoordinatedGraphicsLayer::adjustContentsScale):

LayoutTests:

Coordinated Graphics had a bug when a compositing div has a compositing
img with an absolute position property. This test is added to prevent from
a regression.

* compositing/nested-direct-image-compositing-expected.png: Added.
* compositing/nested-direct-image-compositing-expected.txt: Added.
* compositing/nested-direct-image-compositing.html: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133955 268f45cc-cd09-0410-ab3c-d52691b4dbfc
DFG should not assume that something is a double just because it might be undefined
https://bugs.webkit.org/show_bug.cgi?id=101438

Reviewed by Oliver Hunt.

This changes all non-bitop arithmetic to (a) statically expect that variables are
defined prior to use in arithmetic and (b) not fall off into double paths just
because a value may not be a number. This is accomplished with two new notions of
speculation:
        
shouldSpeculateIntegerExpectingDefined: Should we speculate that the value is an
integer if we ignore undefined (i.e. SpecOther) predictions?
        
shouldSpeculateIntegerForArithmetic: Should we speculate that the value is an
integer if we ignore non-numeric predictions?
        
This is a ~2x speed-up on programs that seem to our prediction propagator to have
paths in which otherwise numeric variables are undefined.

* bytecode/SpeculatedType.h:
(JSC::isInt32SpeculationForArithmetic):
(JSC):
(JSC::isInt32SpeculationExpectingDefined):
(JSC::isDoubleSpeculationForArithmetic):
(JSC::isNumberSpeculationExpectingDefined):
* dfg/DFGAbstractState.cpp:
(JSC::DFG::AbstractState::execute):
* dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
* dfg/DFGGraph.h:
(JSC::DFG::Graph::addShouldSpeculateInteger):
(JSC::DFG::Graph::mulShouldSpeculateInteger):
(JSC::DFG::Graph::negateShouldSpeculateInteger):
(JSC::DFG::Graph::addImmediateShouldSpeculateInteger):
(JSC::DFG::Graph::mulImmediateShouldSpeculateInteger):
* dfg/DFGNode.h:
(JSC::DFG::Node::shouldSpeculateIntegerForArithmetic):
(Node):
(JSC::DFG::Node::shouldSpeculateIntegerExpectingDefined):
(JSC::DFG::Node::shouldSpeculateDoubleForArithmetic):
(JSC::DFG::Node::shouldSpeculateNumberExpectingDefined):
* dfg/DFGPredictionPropagationPhase.cpp:
(JSC::DFG::PredictionPropagationPhase::propagate):
(JSC::DFG::PredictionPropagationPhase::doRoundOfDoubleVoting):
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileAdd):
(JSC::DFG::SpeculativeJIT::compileArithMod):
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* jit/JITArithmetic.cpp:
(JSC::JIT::emit_op_div):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133956 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Have NetworkProcess do the actual loading of subresources.
https://bugs.webkit.org/show_bug.cgi?id=101640

Reviewed by Alexey Proskuryakov.

Source/WebCore:

No new tests (No change in behavior in any configuration we test.)

* WebCore.exp.in:
* loader/ResourceBuffer.h: Virtualize a few methods for ports to override.

Source/WebKit2:

This adds actual loading of subresources in the NetworkProcess.

Currently a resource just gets its entire buffer of data built up and then delivered to the WebProcess in one chunk.

Many FIXMEs point the path towards much better behavior.

Project file stuff:
* WebKit2.xcodeproj/project.pbxproj:

Add a new Logging channel for scheduling so the one for loading can be separate:
* Platform/Logging.cpp:
* Platform/Logging.h:

Add an enhancement FIXME:
* NetworkProcess/HostRecord.cpp:
(WebKit::HostRecord::remove):

NetworkRequest now derives from ResourceHandleClient and does actual loading, messaging WebProcess as it does:
* NetworkProcess/NetworkRequest.cpp:
(WebKit::NetworkRequest::NetworkRequest):
(WebKit::NetworkRequest::~NetworkRequest):
(WebKit::NetworkRequest::start):
(WebKit::requestsToStopMutex):
(WebKit::requestsToStop):
(WebKit::NetworkRequest::scheduleStopOnMainThread): Stop
(WebKit::NetworkRequest::performStops):
(WebKit::NetworkRequest::stop): Does NetworkRequest cleanup that happens no matter the state of the network load.
(WebKit::NetworkRequest::didReceiveResponse):
(WebKit::NetworkRequest::didReceiveData):
(WebKit::NetworkRequest::didFinishLoading):
(WebKit::NetworkRequest::didFail):
* NetworkProcess/NetworkRequest.h:

Change some logging and now invalid asserts, as well as starting requests in-process instead of relying on WebProcess:
* NetworkProcess/NetworkResourceLoadScheduler.cpp:
(WebKit::NetworkResourceLoadScheduler::scheduleNetworkRequest):
(WebKit::NetworkResourceLoadScheduler::addLoadInProgress):
(WebKit::NetworkResourceLoadScheduler::removeLoadIdentifier):
(WebKit::NetworkResourceLoadScheduler::crossOriginRedirectReceived):
(WebKit::NetworkResourceLoadScheduler::servePendingRequests):
(WebKit::NetworkResourceLoadScheduler::servePendingRequestsForHost):
(WebKit::NetworkResourceLoadScheduler::removeScheduledLoadIdentifiers):
(WebKit::NetworkResourceLoadScheduler::scheduleRemoveLoadIdentifier):
* NetworkProcess/NetworkResourceLoadScheduler.h:
(NetworkResourceLoadScheduler):

Add a "ShareableResource" which includes a SharedMemory block, an offset into that block, and a size:
* Shared/ShareableResource.cpp: Added.
(WebKit::ShareableResource::Handle::Handle):
(WebKit::ShareableResource::Handle::encode):
(WebKit::ShareableResource::Handle::decode):
(WebKit::ShareableResource::create):
(WebKit::ShareableResource::ShareableResource):
(WebKit::ShareableResource::~ShareableResource):
(WebKit::ShareableResource::createHandle):
(WebKit::ShareableResource::data):
(WebKit::ShareableResource::size):
* Shared/ShareableResource.h:
(WebKit::ShareableResource::Handle::isNull):
(WebKit::ShareableResource::Handle::size):

Add an implementation of WebCore::ResourceBuffer that wraps a ShareableResource instead of a SharedBuffer:
* Shared/WebResourceBuffer.cpp:
(WebKit::WebResourceBuffer::WebResourceBuffer):
(WebKit::WebResourceBuffer::~WebResourceBuffer):
(WebKit::WebResourceBuffer::data):
(WebKit::WebResourceBuffer::size):
* Shared/WebResourceBuffer.h:
(WebResourceBuffer):
(WebKit::WebResourceBuffer::create):

Add messaging that responds to resource load events from the NetworkProcess and passes them to the scheduler:
* WebProcess/Network/NetworkProcessConnection.cpp:
(WebKit::NetworkProcessConnection::didReceiveResponse):
(WebKit::NetworkProcessConnection::didReceiveResource):
(WebKit::NetworkProcessConnection::didFailResourceLoad):
* WebProcess/Network/NetworkProcessConnection.h:
* WebProcess/Network/NetworkProcessConnection.messages.in:

Takes resource load events passed from the NetworkProcess and hands them off directly to WebCore ResourceLoaders:
* WebProcess/Network/WebResourceLoadScheduler.cpp:
(WebKit::WebResourceLoadScheduler::scheduleLoad): Update some logging.
(WebKit::WebResourceLoadScheduler::addMainResourceLoad): Ditto.
(WebKit::WebResourceLoadScheduler::remove): Ditto.
(WebKit::WebResourceLoadScheduler::crossOriginRedirectReceived): Ditto.
(WebKit::WebResourceLoadScheduler::servePendingRequests): Ditto.
(WebKit::WebResourceLoadScheduler::didReceiveResponse): Call through to ResourceLoader.
(WebKit::WebResourceLoadScheduler::didReceiveResource): Ditto.
(WebKit::WebResourceLoadScheduler::didFailResourceLoad): Ditto.
* WebProcess/Network/WebResourceLoadScheduler.h:

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