Source/WebCore: IndexedDB: Propagate more leveldb errors to IDBIndex and IDBObjectStore
https://bugs.webkit.org/show_bug.cgi?id=103782

Reviewed by Tony Chang.

index.get[Key]() and objectStore.get() will receive more error events.

* Modules/indexeddb/IDBBackingStore.cpp:
(WebCore::IDBBackingStore::getRecord):
(WebCore::versionExists):
(WebCore::IDBBackingStore::findKeyInIndex):
(WebCore::IDBBackingStore::getPrimaryKeyViaIndex):
(WebCore::IDBBackingStore::keyExistsInIndex):
* Modules/indexeddb/IDBBackingStore.h:
(IDBBackingStore):
* Modules/indexeddb/IDBIndexBackendImpl.cpp:
(WebCore::IDBIndexBackendImpl::getInternal):
(WebCore::IDBIndexBackendImpl::getKeyInternal):
* Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
(WebCore::IDBObjectStoreBackendImpl::getInternal):
(WebCore):

Source/WebKit/chromium: Unreviewed.  Rolled DEPS.

Patch by Stephen White <senorblanco@chromium.org> on 2012-12-04

* DEPS:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@136592 268f45cc-cd09-0410-ab3c-d52691b4dbfc
nrwt: fix total number of tests computed in the result summary
https://bugs.webkit.org/show_bug.cgi?id=104061

Unreviewed, build fix.

One of the recent changes to the resultsummary refactoring caused
us to not include the number of skipped tests in the total number
of tests, throwing off the totals printed in print_one_line_summary().

Unfortunately, given the current state of the code it is difficult
to construct an accurate unit test for this. I have verified the
fix by hand, and will write a test once the remaining refactoring
patches land, at which point it will be trivial to test it.

* Scripts/webkitpy/layout_tests/controllers/manager.py:
(Manager._prepare_lists):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@136593 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Show a mini visualizer for the tile cache tiles
https://bugs.webkit.org/show_bug.cgi?id=104053

Reviewed by Beth Dakin.

Source/WebCore:

Replace the current red/green/yellow scrolling indicator with a
mini map of the tile cache that shows the current tiles, and the
visible rect.

Visibility is controlled via a new preference.

* WebCore.exp.in: Add Settings::setShowTiledScrollingIndicator(bool),
and remove ScrollingTree::setDebugRootLayer(CALayer*)
* WebCore.xcodeproj/project.pbxproj: Remove ScrollingTreeMac.mm which
is no longer needed; it just contained debug layer stuff.
* page/Settings.cpp:
(WebCore::Settings::Settings): Support the new setting.
(WebCore::Settings::setShowTiledScrollingIndicator):
* page/Settings.h:
(WebCore::Settings::showTiledScrollingIndicator):
* page/scrolling/ScrollingTree.cpp:
(WebCore::ScrollingTree::commitNewTreeState): We no longer update the debug
indicator on tree commit.
* page/scrolling/ScrollingTree.h:
(WebCore::ScrollingTree::hasWheelEventHandlers): Needed for the tiled
scrolling indicator.
(ScrollingTree):
* page/scrolling/mac/ScrollingCoordinatorMac.mm:
(WebCore::ScrollingCoordinatorMac::commitTreeState): Tell the TiledBacking
about the current scrolling mode.
* page/scrolling/mac/ScrollingTreeMac.mm: Removed.
* platform/graphics/TiledBacking.h: Add functions to set the indicator scrolling
mode, and to get the tiled scrolling indicator layer. This has to be parented by
the DrawingArea, to ensure that it's in front of all other layers.
* platform/graphics/ca/mac/TileCache.h:
(WebCore::TileCache::scale): Exposed for the indicator drawing code to use.
* platform/graphics/ca/mac/TileCache.mm:
(-[WebTileCacheMapLayer init]): The indicator has a sublayer which renders the
visible rect frame, owned by it.
(-[WebTileCacheMapLayer drawInContext:]):
(WebCore::TileCache::TileCache): The indicator mode has to be stored here,
since it can be pushed down before we have an indicator layer.
(WebCore::TileCache::~TileCache): Clear the TileCache on the indicator layer, which
may outlive us.
(WebCore::TileCache::revalidateTiles): Call updateTileCoverageMap().
(WebCore::TileCache::updateTileCoverageMap): Resize the indicator layer to fit
within the window, and update the indicator color.
(WebCore::TileCache::tiledScrollingIndicatorLayer): Create and initialize the layer.
(WebCore::TileCache::setScrollingModeIndication):
(WebCore::TileCache::drawTileMapContents): Draw small white rects for the tiles over
an translucent gray background.

Source/WebKit2:

Plumb through a preference that controls the visibility of a tiled
scrolling indicator, and parent that layer in the TiledCoreAnimationDrawingArea.

* Shared/WebPreferencesStore.h:
* UIProcess/API/C/WKPreferences.cpp:
(WKPreferencesSetTiledScrollingIndicatorVisible):
(WKPreferencesGetTiledScrollingIndicatorVisible):
* UIProcess/API/C/WKPreferencesPrivate.h:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):
* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
(TiledCoreAnimationDrawingArea):
* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::TiledCoreAnimationDrawingArea::updatePreferences):
(WebKit::TiledCoreAnimationDrawingArea::setRootCompositingLayer):
(WebKit::TiledCoreAnimationDrawingArea::mainFrameTiledBacking):
(WebKit::TiledCoreAnimationDrawingArea::updateDebugInfoLayer):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@136594 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[V8] V8DOMWrapper shouldn't know about NodeFilter
https://bugs.webkit.org/show_bug.cgi?id=104057

Reviewed by Kentaro Hara.

This patch just moves this code into V8Bindings.h, which is where we
have our other type conversion functions. It's too bad that we still
need to special case NodeFilter, but fixing that is going to be a bit
more work.

* bindings/scripts/CodeGeneratorV8.pm:
(JSValueToNative):
* bindings/v8/V8Binding.cpp:
(WebCore::toNodeFilter):
(WebCore):
* bindings/v8/V8Binding.h:
(WebCore):
* bindings/v8/V8DOMWrapper.cpp:
* bindings/v8/V8DOMWrapper.h:
(WebCore):
(V8DOMWrapper):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@136595 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed. Add Windows specific results for some tests following r136558 and r136560.

Tests are indeed passing. The output is just slightly different on Windows.

* platform/win/TestExpectations:
* platform/win/fast/css/image-set-value-not-removed-crash-expected.txt: Added.
* platform/win/fast/images/crossfade-client-not-removed-crash-expected.txt: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@136596 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Web Inspector: simplify reportMemoryUsage signature
https://bugs.webkit.org/show_bug.cgi?id=104028

Reviewed by Vsevolod Vlasov.

Removed const& modifier from instrumented pointer type. Was const T* const&,
now it is const T*

Source/WebCore:

* platform/graphics/NativeImagePtr.h:
(WebCore):
* platform/graphics/skia/NativeImageSkia.cpp:
(WebCore::reportMemoryUsage):

Source/WTF:

* wtf/MemoryInstrumentation.cpp:
(WTF::MemoryClassInfo::addRawBuffer):
* wtf/MemoryInstrumentation.h:
(MemoryInstrumentation):
(WTF::MemoryInstrumentation::selectInstrumentationMethod):
(WTF::MemoryInstrumentation::reportObjectMemoryUsage):
(MemoryClassInfo):
(WTF::reportMemoryUsage):
(WTF::MemoryInstrumentation::addObjectImpl):
(WTF):
* wtf/MemoryInstrumentationArrayBufferView.h:
(WTF::reportMemoryUsage):
* wtf/MemoryInstrumentationHashCountedSet.h:
(WTF::reportMemoryUsage):
* wtf/MemoryInstrumentationHashMap.h:
(WTF::reportMemoryUsage):
* wtf/MemoryInstrumentationHashSet.h:
(WTF::reportMemoryUsage):
* wtf/MemoryInstrumentationListHashSet.h:
(WTF::reportMemoryUsage):
* wtf/MemoryInstrumentationParsedURL.h:
(WTF::reportMemoryUsage):
* wtf/MemoryInstrumentationString.h:
(WTF::reportMemoryUsage):
* wtf/MemoryInstrumentationVector.h:
(WTF::reportMemoryUsage):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@136597 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[WebKit2] WKWebProcessPlugInBrowserContextControllers should be treated as type WKBrowsingContextControllerType for encoding purposes
https://bugs.webkit.org/show_bug.cgi?id=104063

Reviewed by Sam Weinig.

Objective-C message graphs can include browsing context controller
objects, which are decoded as WKWebProcessPlugInBrowserContextControllers
in the web process plug-in and as WKBrowsingContextControllers in the UI
process. Ensure we correctly encode WKWebProcessPlugInBrowserContextControllers
by treating them as type WKBrowsingContextControllerType.

* Shared/mac/ObjCObjectGraphCoders.mm:
(WebKit::typeFromObject):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@136598 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed, rolling out r136597.
http://trac.webkit.org/changeset/136597
https://bugs.webkit.org/show_bug.cgi?id=104065

broke Windows compilation (Requested by yurys on #webkit).

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

Source/WebCore:

* platform/graphics/NativeImagePtr.h:
(WebCore):
* platform/graphics/skia/NativeImageSkia.cpp:
(WebCore::reportMemoryUsage):

Source/WTF:

* wtf/MemoryInstrumentation.cpp:
(WTF::MemoryClassInfo::addRawBuffer):
* wtf/MemoryInstrumentation.h:
(MemoryInstrumentation):
(WTF::MemoryInstrumentation::selectInstrumentationMethod):
(WTF::MemoryInstrumentation::reportObjectMemoryUsage):
(MemoryClassInfo):
(WTF::reportMemoryUsage):
(WTF::MemoryInstrumentation::addObjectImpl):
(WTF):
* wtf/MemoryInstrumentationArrayBufferView.h:
(WTF::reportMemoryUsage):
* wtf/MemoryInstrumentationHashCountedSet.h:
(WTF::reportMemoryUsage):
* wtf/MemoryInstrumentationHashMap.h:
(WTF::reportMemoryUsage):
* wtf/MemoryInstrumentationHashSet.h:
(WTF::reportMemoryUsage):
* wtf/MemoryInstrumentationListHashSet.h:
(WTF::reportMemoryUsage):
* wtf/MemoryInstrumentationParsedURL.h:
(WTF::reportMemoryUsage):
* wtf/MemoryInstrumentationString.h:
(WTF::reportMemoryUsage):
* wtf/MemoryInstrumentationVector.h:
(WTF::reportMemoryUsage):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@136599 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[chromium] Turn on the new Skia mask blur algorithm.
https://bugs.webkit.org/show_bug.cgi?id=103906

Reviewed by Adrienne Walker.

Source/WebKit/chromium:

* skia_webkit.gyp:

LayoutTests:

* platform/chromium/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@136600 268f45cc-cd09-0410-ab3c-d52691b4dbfc
JSC should be able to report profiling data associated with the IR dumps and disassembly
https://bugs.webkit.org/show_bug.cgi?id=102999

Reviewed by Gavin Barraclough.

Source/JavaScriptCore: 

Added a new profiler to JSC. It's simply called "Profiler" in anticipation of it
ultimately replacing the previous profiling infrastructure. This profiler counts the
number of times that a bytecode executes in various engines, and will record both the
counts and all disassembly and bytecode dumps, into a database that can be at any
time turned into either a JS object using any global object or global data of your
choice, or can be turned into a JSON string, or saved to a file.
        
Currently the only use of this is the new '-p <file>' flag to the jsc command-line.
        
The profiler is always compiled in and normally incurs no execution time cost, but is
only activated when you create a Profiler::Database and install it in
JSGlobalData::m_perBytecodeProfiler. From that point on, all code blocks will be
compiled along with disassembly and bytecode dumps stored into the Profiler::Database,
and all code blocks will have execution counts, which are also stored in the database.
The database will continue to keep information about code blocks alive even after they
are otherwise GC'd.
        
This currently still has some glitches, like the fact that it only counts executions
in the JITs. Doing execution counting in the LLInt might require a bit of a rethink
about how the counting is expressed - currently it is implicit in bytecode, so there
is no easy way to "turn it on" in the LLInt. Also, right now there is no information
recorded about OSR exits or out-of-line stubs. But, even so, it's quite cool, and
gives you a peek into what JSC is doing that would otherwise not be possible.

* CMakeLists.txt:
* GNUmakefile.list.am:
* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
* JavaScriptCore.xcodeproj/project.pbxproj:
* Target.pri:
* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::~CodeBlock):
* bytecode/CodeBlock.h:
(CodeBlock):
(JSC::CodeBlock::baselineVersion):
* bytecode/CodeOrigin.cpp:
(JSC::InlineCallFrame::baselineCodeBlock):
(JSC):
* bytecode/CodeOrigin.h:
(InlineCallFrame):
* dfg/DFGAbstractState.cpp:
(JSC::DFG::AbstractState::execute):
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::parseBlock):
* dfg/DFGDisassembler.cpp:
(JSC::DFG::Disassembler::dump):
(DFG):
(JSC::DFG::Disassembler::reportToProfiler):
(JSC::DFG::Disassembler::dumpHeader):
(JSC::DFG::Disassembler::append):
(JSC::DFG::Disassembler::createDumpList):
* dfg/DFGDisassembler.h:
(Disassembler):
(JSC::DFG::Disassembler::DumpedOp::DumpedOp):
(DumpedOp):
* dfg/DFGGraph.cpp:
(JSC::DFG::Graph::Graph):
(JSC::DFG::Graph::dumpCodeOrigin):
(JSC::DFG::Graph::dump):
* dfg/DFGGraph.h:
(Graph):
* dfg/DFGJITCompiler.cpp:
(JSC::DFG::JITCompiler::JITCompiler):
(JSC::DFG::JITCompiler::compile):
(JSC::DFG::JITCompiler::compileFunction):
* dfg/DFGNode.h:
(Node):
(JSC::DFG::Node::hasExecutionCounter):
(JSC::DFG::Node::executionCounter):
* dfg/DFGNodeType.h:
(DFG):
* dfg/DFGPredictionPropagationPhase.cpp:
(JSC::DFG::PredictionPropagationPhase::propagate):
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* jit/JIT.cpp:
(JSC::JIT::JIT):
(JSC::JIT::privateCompileMainPass):
(JSC::JIT::privateCompile):
* jit/JIT.h:
(JIT):
* jit/JITDisassembler.cpp:
(JSC::JITDisassembler::dump):
(JSC::JITDisassembler::reportToProfiler):
(JSC):
(JSC::JITDisassembler::dumpHeader):
(JSC::JITDisassembler::firstSlowLabel):
(JSC::JITDisassembler::dumpVectorForInstructions):
(JSC::JITDisassembler::dumpForInstructions):
(JSC::JITDisassembler::reportInstructions):
* jit/JITDisassembler.h:
(JITDisassembler):
(DumpedOp):
* jsc.cpp:
(CommandLine::CommandLine):
(CommandLine):
(printUsageStatement):
(CommandLine::parseArguments):
(jscmain):
* profiler/ProfilerBytecode.cpp: Added.
(Profiler):
(JSC::Profiler::Bytecode::toJS):
* profiler/ProfilerBytecode.h: Added.
(Profiler):
(Bytecode):
(JSC::Profiler::Bytecode::Bytecode):
(JSC::Profiler::Bytecode::bytecodeIndex):
(JSC::Profiler::Bytecode::description):
(JSC::Profiler::getBytecodeIndexForBytecode):
* profiler/ProfilerBytecodes.cpp: Added.
(Profiler):
(JSC::Profiler::Bytecodes::Bytecodes):
(JSC::Profiler::Bytecodes::~Bytecodes):
(JSC::Profiler::Bytecodes::indexForBytecodeIndex):
(JSC::Profiler::Bytecodes::forBytecodeIndex):
(JSC::Profiler::Bytecodes::dump):
(JSC::Profiler::Bytecodes::toJS):
* profiler/ProfilerBytecodes.h: Added.
(Profiler):
(Bytecodes):
(JSC::Profiler::Bytecodes::append):
(JSC::Profiler::Bytecodes::id):
(JSC::Profiler::Bytecodes::hash):
(JSC::Profiler::Bytecodes::size):
(JSC::Profiler::Bytecodes::at):
* profiler/ProfilerCompilation.cpp: Added.
(Profiler):
(JSC::Profiler::Compilation::Compilation):
(JSC::Profiler::Compilation::~Compilation):
(JSC::Profiler::Compilation::addDescription):
(JSC::Profiler::Compilation::executionCounterFor):
(JSC::Profiler::Compilation::toJS):
* profiler/ProfilerCompilation.h: Added.
(Profiler):
(Compilation):
(JSC::Profiler::Compilation::bytecodes):
(JSC::Profiler::Compilation::kind):
* profiler/ProfilerCompilationKind.cpp: Added.
(WTF):
(WTF::printInternal):
* profiler/ProfilerCompilationKind.h: Added.
(Profiler):
(WTF):
* profiler/ProfilerCompiledBytecode.cpp: Added.
(Profiler):
(JSC::Profiler::CompiledBytecode::CompiledBytecode):
(JSC::Profiler::CompiledBytecode::~CompiledBytecode):
(JSC::Profiler::CompiledBytecode::toJS):
* profiler/ProfilerCompiledBytecode.h: Added.
(Profiler):
(CompiledBytecode):
(JSC::Profiler::CompiledBytecode::originStack):
(JSC::Profiler::CompiledBytecode::description):
* profiler/ProfilerDatabase.cpp: Added.
(Profiler):
(JSC::Profiler::Database::Database):
(JSC::Profiler::Database::~Database):
(JSC::Profiler::Database::addBytecodes):
(JSC::Profiler::Database::ensureBytecodesFor):
(JSC::Profiler::Database::notifyDestruction):
(JSC::Profiler::Database::newCompilation):
(JSC::Profiler::Database::toJS):
(JSC::Profiler::Database::toJSON):
(JSC::Profiler::Database::save):
* profiler/ProfilerDatabase.h: Added.
(Profiler):
(Database):
* profiler/ProfilerExecutionCounter.h: Added.
(Profiler):
(ExecutionCounter):
(JSC::Profiler::ExecutionCounter::ExecutionCounter):
(JSC::Profiler::ExecutionCounter::address):
(JSC::Profiler::ExecutionCounter::count):
* profiler/ProfilerOrigin.cpp: Added.
(Profiler):
(JSC::Profiler::Origin::Origin):
(JSC::Profiler::Origin::dump):
(JSC::Profiler::Origin::toJS):
* profiler/ProfilerOrigin.h: Added.
(JSC):
(Profiler):
(Origin):
(JSC::Profiler::Origin::Origin):
(JSC::Profiler::Origin::operator!):
(JSC::Profiler::Origin::bytecodes):
(JSC::Profiler::Origin::bytecodeIndex):
(JSC::Profiler::Origin::operator!=):
(JSC::Profiler::Origin::operator==):
(JSC::Profiler::Origin::hash):
(JSC::Profiler::Origin::isHashTableDeletedValue):
(JSC::Profiler::OriginHash::hash):
(JSC::Profiler::OriginHash::equal):
(OriginHash):
(WTF):
* profiler/ProfilerOriginStack.cpp: Added.
(Profiler):
(JSC::Profiler::OriginStack::OriginStack):
(JSC::Profiler::OriginStack::~OriginStack):
(JSC::Profiler::OriginStack::append):
(JSC::Profiler::OriginStack::operator==):
(JSC::Profiler::OriginStack::hash):
(JSC::Profiler::OriginStack::dump):
(JSC::Profiler::OriginStack::toJS):
* profiler/ProfilerOriginStack.h: Added.
(JSC):
(Profiler):
(OriginStack):
(JSC::Profiler::OriginStack::OriginStack):
(JSC::Profiler::OriginStack::operator!):
(JSC::Profiler::OriginStack::size):
(JSC::Profiler::OriginStack::fromBottom):
(JSC::Profiler::OriginStack::fromTop):
(JSC::Profiler::OriginStack::isHashTableDeletedValue):
(JSC::Profiler::OriginStackHash::hash):
(JSC::Profiler::OriginStackHash::equal):
(OriginStackHash):
(WTF):
* runtime/CommonIdentifiers.h:
* runtime/ExecutionHarness.h:
(JSC::prepareForExecution):
(JSC::prepareFunctionForExecution):
* runtime/JSGlobalData.cpp:
(JSC::JSGlobalData::JSGlobalData):
(JSC::JSGlobalData::~JSGlobalData):
* runtime/JSGlobalData.h:
(JSGlobalData):
* runtime/Options.h:
(JSC):

Source/WTF: 

Made some minor changes to support the new profiler. FileOutputStream now has an
open() method, and DataLog uses it. StringPrintStream has a reset() method, which
allows you to reuse the same StringPrintStream for creating multiple strings.
SegmentedVector now has a const operator[]. And, WTFString now can do fromUTF8() on
a CString directly.

* wtf/DataLog.cpp:
(WTF::initializeLogFileOnce):
* wtf/FilePrintStream.cpp:
(WTF::FilePrintStream::open):
(WTF):
* wtf/FilePrintStream.h:
* wtf/SegmentedVector.h:
(WTF::SegmentedVector::at):
(SegmentedVector):
(WTF::SegmentedVector::operator[]):
* wtf/StringPrintStream.cpp:
(WTF::StringPrintStream::reset):
(WTF):
* wtf/StringPrintStream.h:
(StringPrintStream):
* wtf/text/WTFString.cpp:
(WTF::String::fromUTF8):
(WTF):
* wtf/text/WTFString.h:
(String):

Tools: 

Added a tool that allows you to grok the output from JSC's new profiler. Currently,
this still gets confused a bit about the execution counts of a method running
standalone versus a method running inlined, but other than that, it's pretty cool.
See the attached "sampling profiling session" attached to the bug to see it in
action.
        
Also had to feed EFL's build system.

* DumpRenderTree/efl/CMakeLists.txt:
* Scripts/display-profiler-output: Added.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@136601 268f45cc-cd09-0410-ab3c-d52691b4dbfc
display-profiler-output should not use reflective infocation to resolve command names

Rubber stamped by Mark Hahnenberg.

Reflection is amazing, but here it was just kind of a bit much.

* Scripts/display-profiler-output:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@136602 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[V8] Cleanup style in V8DOMWrapper
https://bugs.webkit.org/show_bug.cgi?id=104062

Reviewed by Kentaro Hara.

Source/WebCore: 

This patch moves a number of functions from inside the class
declaration to below the class declaration. I've also inlined
domWrapperType into each of its callers and renamed a few functions.
A subsequent patch will improve the names of the remaining functions.

* bindings/scripts/CodeGeneratorV8.pm:
(GenerateToV8Converters):
* bindings/v8/ScriptProfiler.cpp:
(WebCore::ScriptProfiler::visitExternalArrays):
* bindings/v8/V8Collection.h:
(WebCore::getNamedPropertyOfCollection):
(WebCore::getIndexedPropertyOfCollection):
* bindings/v8/V8DOMWrapper.cpp:
(WebCore::V8DOMWrapper::instantiateDOMWrapper):
(WebCore::V8DOMWrapper::isWrapperOfType):
* bindings/v8/V8DOMWrapper.h:
(V8DOMWrapper):
(WebCore::V8DOMWrapper::setWrapperClass):
(WebCore::V8DOMWrapper::setDOMWrapper):
(WebCore):
(WebCore::V8DOMWrapper::clearDOMWrapper):
(WebCore::V8DOMWrapper::lookupDOMWrapper):
(WebCore::V8DOMWrapper::createDOMWrapper):
* bindings/v8/V8GCController.cpp:
* bindings/v8/custom/V8InspectorFrontendHostCustom.cpp:
(WebCore::V8InspectorFrontendHost::showContextMenuCallback):

Source/WebKit/chromium: 

* src/WebBindings.cpp:
(WebKit::getRangeImpl):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@136603 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed gardening - suppressing failing svg/custom/use-href-update-crash.svg on Mac and
Qt.

* platform/mac/TestExpectations:
* platform/qt/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@136604 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[V8] Rename V8DOMWrapper member functions to be more descriptive
https://bugs.webkit.org/show_bug.cgi?id=104069

Reviewed by Eric Seidel.

In addition to the renames, this patch also inline lookupDOMWrapper
into its callers.

* bindings/scripts/CodeGeneratorV8.pm:
(GenerateDomainSafeFunctionGetter):
(GenerateDomainSafeFunctionSetter):
(GenerateNormalAttrGetter):
(GenerateSingleConstructorCallback):
(GenerateEventConstructorCallback):
(GenerateNamedConstructorCallback):
(GenerateToV8Converters):
* bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
(WebCore::V8TestSerializedScriptValueInterface::constructorCallback):
* bindings/v8/Dictionary.cpp:
(WebCore::Dictionary::get):
* bindings/v8/PageScriptDebugServer.cpp:
(WebCore::retrieveFrameWithGlobalObjectCheck):
* bindings/v8/V8Binding.cpp:
(WebCore::toDOMWindow):
(WebCore::toScriptExecutionContext):
* bindings/v8/V8DOMWindowShell.cpp:
(WebCore::V8DOMWindowShell::clearForNavigation):
(WebCore::V8DOMWindowShell::installDOMWindow):
* bindings/v8/V8DOMWrapper.cpp:
(WebCore::V8DOMWrapper::create):
* bindings/v8/V8DOMWrapper.h:
(V8DOMWrapper):
(WebCore::V8DOMWrapper::setNativeInfo):
(WebCore::V8DOMWrapper::clearNativeInfo):
(WebCore::V8DOMWrapper::associateObjectWithWrapper):
* bindings/v8/V8Initializer.cpp:
(WebCore::findFrame):
* bindings/v8/V8NPObject.cpp:
(WebCore::createV8ObjectForNPObject):
(WebCore::forgetV8ObjectForNPObject):
* bindings/v8/WorkerScriptController.cpp:
(WebCore::WorkerScriptController::initializeContextIfNeeded):
(WebCore::WorkerScriptController::controllerForContext):
* bindings/v8/custom/V8ArrayBufferCustom.cpp:
(WebCore::V8ArrayBuffer::constructorCallbackCustom):
* bindings/v8/custom/V8ArrayBufferViewCustom.h:
(WebCore::wrapArrayBufferView):
(WebCore::constructWebGLArray):
* bindings/v8/custom/V8AudioContextCustom.cpp:
(WebCore::V8AudioContext::constructorCallbackCustom):
* bindings/v8/custom/V8DOMFormDataCustom.cpp:
(WebCore::V8DOMFormData::constructorCallbackCustom):
* bindings/v8/custom/V8DOMWindowCustom.cpp:
(WebCore::V8DOMWindow::eventAccessorGetter):
(WebCore::V8DOMWindow::eventAccessorSetter):
(WebCore::V8DOMWindow::toStringCallback):
(WebCore::V8DOMWindow::namedSecurityCheck):
(WebCore::V8DOMWindow::indexedSecurityCheck):
(WebCore::toV8):
* bindings/v8/custom/V8DataViewCustom.cpp:
(WebCore::V8DataView::constructorCallbackCustom):
* bindings/v8/custom/V8HTMLDocumentCustom.cpp:
(WebCore::V8HTMLDocument::wrapInShadowObject):
* bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
(WebCore::v8HTMLImageElementConstructorCallback):
* bindings/v8/custom/V8InjectedScriptManager.cpp:
(WebCore::createInjectedScriptHostV8Wrapper):
(WebCore::InjectedScriptManager::canAccessInspectedWindow):
* bindings/v8/custom/V8IntentCustom.cpp:
(WebCore::V8Intent::constructorCallbackCustom):
* bindings/v8/custom/V8LocationCustom.cpp:
(WebCore::V8Location::reloadAccessorGetter):
(WebCore::V8Location::replaceAccessorGetter):
(WebCore::V8Location::assignAccessorGetter):
* bindings/v8/custom/V8MessageChannelCustom.cpp:
(WebCore::V8MessageChannel::constructorCallbackCustom):
* bindings/v8/custom/V8MessageEventCustom.cpp:
(WebCore::V8MessageEvent::initMessageEventCallback):
* bindings/v8/custom/V8MutationObserverCustom.cpp:
(WebCore::V8MutationObserver::constructorCallbackCustom):
* bindings/v8/custom/V8ScriptProfileCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8ScriptProfileNodeCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8WebKitPointCustom.cpp:
(WebCore::V8WebKitPoint::constructorCallbackCustom):
* bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
(WebCore::V8XMLHttpRequest::constructorCallbackCustom):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@136605 268f45cc-cd09-0410-ab3c-d52691b4dbfc
display-profiler-output should be able to show source code
https://bugs.webkit.org/show_bug.cgi?id=104073

Reviewed by Oliver Hunt.

Source/JavaScriptCore: 

Modify the profiler database to store source code. For functions, we store the
function including the function signature.

* bytecode/CodeBlock.h:
(JSC::CodeBlock::unlinkedCodeBlock):
(CodeBlock):
* profiler/ProfilerBytecodes.cpp:
(JSC::Profiler::Bytecodes::Bytecodes):
(JSC::Profiler::Bytecodes::toJS):
* profiler/ProfilerBytecodes.h:
(Bytecodes):
(JSC::Profiler::Bytecodes::sourceCode):
* profiler/ProfilerDatabase.cpp:
(JSC::Profiler::Database::addBytecodes):
(JSC::Profiler::Database::ensureBytecodesFor):
* profiler/ProfilerDatabase.h:
(Database):
* runtime/CommonIdentifiers.h:
* runtime/Executable.h:
(FunctionExecutable):
(JSC::FunctionExecutable::unlinkedExecutable):

Tools: 

Display source code in the summary, using a one-line shortening.

* Scripts/display-profiler-output:



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

* platform/chromium-mac-snowleopard/fast/parser/document-write-ignores-later-network-bytes-expected.txt: Removed, rebaseline.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@136607 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Web Inspector: simplify reportMemoryUsage signature
https://bugs.webkit.org/show_bug.cgi?id=104028

Reviewed by Vsevolod Vlasov.

Removed const& modifier from instrumented pointer type. Was const T* const&,
now it is const T*

Source/WebCore:

* platform/graphics/NativeImagePtr.h:
(WebCore):
* platform/graphics/skia/NativeImageSkia.cpp:
(WebCore::reportMemoryUsage):

Source/WTF:

* wtf/MemoryInstrumentation.cpp:
(WTF::MemoryClassInfo::addRawBuffer):
* wtf/MemoryInstrumentation.h:
(MemoryInstrumentation):
(WTF::MemoryInstrumentation::selectInstrumentationMethod):
(WTF::MemoryInstrumentation::reportObjectMemoryUsage):
(MemoryClassInfo):
(WTF::reportMemoryUsage):
(WTF::MemoryInstrumentation::addObjectImpl):
(WTF):
* wtf/MemoryInstrumentationArrayBufferView.h:
(WTF::reportMemoryUsage):
* wtf/MemoryInstrumentationHashCountedSet.h:
(WTF::reportMemoryUsage):
* wtf/MemoryInstrumentationHashMap.h:
(WTF::reportMemoryUsage):
* wtf/MemoryInstrumentationHashSet.h:
(WTF::reportMemoryUsage):
* wtf/MemoryInstrumentationListHashSet.h:
(WTF::reportMemoryUsage):
* wtf/MemoryInstrumentationParsedURL.h:
(WTF::reportMemoryUsage):
* wtf/MemoryInstrumentationString.h:
(WTF::reportMemoryUsage):
* wtf/MemoryInstrumentationVector.h:
(WTF::reportMemoryUsage):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@136608 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Associate URLs with GraphicsContext3D instances created for WebGL
https://bugs.webkit.org/show_bug.cgi?id=103793

Reviewed by Adam Barth.

Source/Platform:

* Platform.gyp/Platform.gyp:
    Allow WebURL.h to be included directly or indirectly from Platform.h.
* chromium/public/WebGraphicsContext3D.h:
(Attributes):
    Add top document's URL to context creation attributes.

Source/WebCore:

Pass down the URL of the topmost frame's document creating the
WebGL context to the platform layer through
GraphicsContext3D::Attributes.

Not feasible to write a layout test for this change; has no
user-visible effect. Tested manually with failure injection in
Chromium port.

* html/canvas/WebGLRenderingContext.cpp:
(WebCore):
(WebCore::WebGLRenderingContext::create):
    Pass top document's URL in context creation attributes.
* platform/chromium/support/GraphicsContext3DChromium.cpp:
(WebCore::GraphicsContext3D::create):
    Pass URL through WebKit API.
* platform/graphics/GraphicsContext3D.h:
(Attributes):
    Add top document's URL to context creation attributes.

Source/WebKit/chromium:

* WebKit.gyp:
    Allow WebURL.h to be included directly or indirectly from Platform.h.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@136609 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed gardening - skip use-href-update-crash.svg on Win.

* platform/win/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@136610 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Remove PageClient::didChangeScrollbarsForMainFrame
https://bugs.webkit.org/show_bug.cgi?id=104077

Reviewed by Andreas Kling.

The aforementioned function was only used to implement some Snow Leopard specific behavior that we no longer support.

* UIProcess/API/gtk/PageClientImpl.cpp:
* UIProcess/API/gtk/PageClientImpl.h:
(PageClientImpl):
* UIProcess/API/mac/PageClientImpl.h:
(PageClientImpl):
* UIProcess/API/mac/PageClientImpl.mm:
* UIProcess/API/mac/WKView.mm:
(-[WKView viewWillMoveToWindow:]):
* UIProcess/API/mac/WKViewInternal.h:
* UIProcess/API/qt/raw/qrawwebview_p_p.h:
* UIProcess/PageClient.h:
(PageClient):
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::didChangeScrollbarsForMainFrame):
* UIProcess/efl/PageClientBase.cpp:
(WebKit):
* UIProcess/efl/PageClientBase.h:
(PageClientBase):
* UIProcess/qt/QtPageClient.h:
* UIProcess/win/WebView.cpp:
* UIProcess/win/WebView.h:
(WebView):

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