currentThis and currentArguments crash if called from outside a callback
https://bugs.webkit.org/show_bug.cgi?id=122620

Reviewed by Filip Pizlo.

The documentation for these methods claims that they will return nil if called
from somewhere other than an API callback, but currently they both crash.

* API/JSContext.mm:
(+[JSContext currentThis]):
(+[JSContext currentArguments]):
* API/tests/testapi.mm:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157258 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed gardening. Add timeout annotation to gtk-wk2-specific expectation for
editing/spelling/spellcheck-paste.html.

* platform/gtk-wk2/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157259 268f45cc-cd09-0410-ab3c-d52691b4dbfc
FTL: Soft-link LLVM as a workaround for LLVM's static initializers and exit-time destructors
https://bugs.webkit.org/show_bug.cgi?id=122566

Source/JavaScriptCore: 

Reviewed by Mark Rowe.
        
The JSC project now builds a libllvmForJSC.dylib. If FTL is enabled, this
gets copied into JavaScriptCore.framework/Versions/A/Libraries. JSC will
load the dylib by finding it using NSBundle APIs and then doing dlopen().
That will only happen lazily, when something happens that requires LLVM.
        
This mostly takes care of LLVM static initialization overhead by deferring
it until it's really needed.
        
This takes care of LLVM's exit-time destructors because inside
libllvmForJSC.dylib, we override __cxa_atexit.
        
* Configurations/JavaScriptCore.xcconfig:
* Configurations/LLVMForJSC.xcconfig: Added.
* JavaScriptCore.xcodeproj/project.pbxproj:
* dfg/DFGPlan.cpp:
(JSC::DFG::Plan::compileInThreadImpl):
* disassembler/LLVMDisassembler.cpp:
(JSC::tryToDisassembleWithLLVM):
* ftl/FTLAbbreviatedTypes.h:
* ftl/FTLAbbreviations.h:
(JSC::FTL::voidType):
(JSC::FTL::int1Type):
(JSC::FTL::int8Type):
(JSC::FTL::int16Type):
(JSC::FTL::int32Type):
(JSC::FTL::int64Type):
(JSC::FTL::intPtrType):
(JSC::FTL::floatType):
(JSC::FTL::doubleType):
(JSC::FTL::pointerType):
(JSC::FTL::structType):
(JSC::FTL::functionType):
(JSC::FTL::typeOf):
(JSC::FTL::mdKindID):
(JSC::FTL::mdString):
(JSC::FTL::mdNode):
(JSC::FTL::setMetadata):
(JSC::FTL::addFunction):
(JSC::FTL::setLinkage):
(JSC::FTL::setFunctionCallingConv):
(JSC::FTL::getParam):
(JSC::FTL::constInt):
(JSC::FTL::constReal):
(JSC::FTL::constIntToPtr):
(JSC::FTL::constBitCast):
(JSC::FTL::appendBasicBlock):
(JSC::FTL::insertBasicBlock):
(JSC::FTL::buildPhi):
(JSC::FTL::addIncoming):
(JSC::FTL::buildAlloca):
(JSC::FTL::buildAdd):
(JSC::FTL::buildSub):
(JSC::FTL::buildMul):
(JSC::FTL::buildDiv):
(JSC::FTL::buildRem):
(JSC::FTL::buildNeg):
(JSC::FTL::buildFAdd):
(JSC::FTL::buildFSub):
(JSC::FTL::buildFMul):
(JSC::FTL::buildFDiv):
(JSC::FTL::buildFRem):
(JSC::FTL::buildFNeg):
(JSC::FTL::buildAnd):
(JSC::FTL::buildOr):
(JSC::FTL::buildXor):
(JSC::FTL::buildShl):
(JSC::FTL::buildAShr):
(JSC::FTL::buildLShr):
(JSC::FTL::buildNot):
(JSC::FTL::buildLoad):
(JSC::FTL::buildStore):
(JSC::FTL::buildSExt):
(JSC::FTL::buildZExt):
(JSC::FTL::buildFPToSI):
(JSC::FTL::buildFPToUI):
(JSC::FTL::buildSIToFP):
(JSC::FTL::buildUIToFP):
(JSC::FTL::buildIntCast):
(JSC::FTL::buildFPCast):
(JSC::FTL::buildIntToPtr):
(JSC::FTL::buildPtrToInt):
(JSC::FTL::buildBitCast):
(JSC::FTL::buildICmp):
(JSC::FTL::buildFCmp):
(JSC::FTL::buildCall):
(JSC::FTL::setTailCall):
(JSC::FTL::buildExtractValue):
(JSC::FTL::buildSelect):
(JSC::FTL::buildBr):
(JSC::FTL::buildCondBr):
(JSC::FTL::buildSwitch):
(JSC::FTL::addCase):
(JSC::FTL::buildRet):
(JSC::FTL::buildUnreachable):
(JSC::FTL::dumpModule):
(JSC::FTL::verifyModule):
* ftl/FTLCompile.cpp:
(JSC::FTL::compile):
* ftl/FTLFail.cpp:
(JSC::FTL::fail):
* ftl/FTLJITCode.h:
* ftl/FTLJITFinalizer.h:
* ftl/FTLLink.cpp:
* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::lower):
* ftl/FTLOutput.cpp:
(JSC::FTL::Output::Output):
(JSC::FTL::Output::~Output):
* ftl/FTLOutput.h:
(JSC::FTL::Output::appendTo):
* ftl/FTLState.cpp:
(JSC::FTL::State::State):
(JSC::FTL::State::~State):
* ftl/WebKitLLVMLibraryAnchor.cpp: Removed.
* jsc.cpp:
(jscmain):
* llvm: Added.
* llvm/InitializeLLVM.cpp: Added.
(JSC::initializeLLVM):
* llvm/InitializeLLVM.h: Added.
* llvm/InitializeLLVMMac.mm: Added.
(JSC::initializeLLVMImpl):
* llvm/InitializeLLVMPOSIX.cpp: Added.
(JSC::initializeLLVMPOSIX):
* llvm/InitializeLLVMPOSIX.h: Added.
* llvm/LLVMAPI.cpp: Added.
* llvm/LLVMAPI.h: Added.
* llvm/LLVMAPIFunctions.h: Added.
* llvm/LLVMHeaders.h: Added.
* llvm/library: Added.
* llvm/library/LLVMAnchor.cpp: Added.
* llvm/library/LLVMExports.cpp: Added.
(initializeAndGetJSCLLVMAPI):
* llvm/library/LLVMOverrides.cpp: Added.
(__cxa_atexit):
* llvm/library/config_llvm.h: Added.
* runtime/InitializeThreading.cpp:
(JSC::initializeThreadingOnce):
* runtime/Options.h:

Source/WTF: 

Reviewed by Mark Rowe.
        
Remove all LLVM stuff from WTF since to get LLVM you need to soft-link and it's
entirely the responsibility of JSC to do that.
        
Also fixed an export goof that I found after fixing the weak thingy script in JSC.

* WTF.xcodeproj/project.pbxproj:
* wtf/LLVMHeaders.h: Removed.
* wtf/text/CString.h:
(WTF::CStringHash::hash):

Tools: 

Reviewed by Mark Rowe.

* Scripts/configure-llvm:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157260 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Build fix after http://trac.webkit.org/changeset/157253

* WebScrollBar.h:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157261 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Tools: Make sure that DataTypes.h is in the binary drop.

Rubber stamped by Michael Saboff.

* Scripts/export-llvm-build:

WebKitLibraries: Update the binary drops to the latest version of LLVM, built without -fvisibility=hidden
now that we have soft linking. Also include DataTypes.h in the drop.

Rubber stamped by Michael Saboff.

* LLVMIncludesMountainLion.tar.bz2:
* LLVMLibrariesMountainLion.tar.bz2:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157262 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Remove WebScrollBar
https://bugs.webkit.org/show_bug.cgi?id=122623

Reviewed by Brent Fulgham.

Source/WebKit:

Remove files from VS projects.

* WebKit.vcxproj/Interfaces/Interfaces.vcxproj:
* WebKit.vcxproj/Interfaces/Interfaces.vcxproj.filters:
* WebKit.vcxproj/WebKit/WebKit.vcxproj:
* WebKit.vcxproj/WebKit/WebKit.vcxproj.filters:

Source/WebKit/win:

WebScrollBar isn't used by anyone, remove it.

* ForEachCoClass.h:
* Interfaces/IWebScrollBarDelegatePrivate.idl: Removed.
* Interfaces/IWebScrollBarPrivate.idl: Removed.
* Interfaces/WebKit.idl:
* WebKitClassFactory.cpp:
(WebKitClassFactory::CreateInstance):
* WebScrollBar.cpp: Removed.
* WebScrollBar.h: Removed.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157263 268f45cc-cd09-0410-ab3c-d52691b4dbfc
OSR exit using llvm.webkit.stackmap should pass more tests
https://bugs.webkit.org/show_bug.cgi?id=122518

Reviewed by Mark Hahnenberg.
        
- Make the X86Assembler capable of dealing with all XMM registers.
        
- Make the StackMaps code on WebKit's side capable of dealing with XMM registers.
        
- Factor out most of the smarts of StackMaps::Location into a self-contained object.
  Previously you needed both StackMaps::Location and a StackMaps reference to do most
  things since the Location might have referred to a constant. Now you can just get a
  self-contained Location object.
        
- Fix a bug where OSR exit generation thunk generator was assuming that the call frame
  register is already in argumentGPR0. In the future, the call frame will just be the
  machine FP and we won't have to do anything special. But for now the "call frame" is
  just a normal value in LLVM IR and may end up in any register. Make the OSR exit
  generation thunk generator polymorphic over the call frame argument's Location.
        
- Move the stuff that depends on the polymorphic OSR exit generation thunk generator
  into the finalizer, since generating and linking one of those thunks requires a cache
  flush and we need to do that on the main thread.

* JavaScriptCore.xcodeproj/project.pbxproj:
* assembler/ARMv7Assembler.h:
(JSC::ARMv7Assembler::firstRegister):
(JSC::ARMv7Assembler::lastRegister):
(JSC::ARMv7Assembler::firstFPRegister):
(JSC::ARMv7Assembler::lastFPRegister):
* assembler/AbstractMacroAssembler.h:
(JSC::AbstractMacroAssembler::firstFPRegister):
(JSC::AbstractMacroAssembler::lastFPRegister):
* assembler/MacroAssembler.h:
(JSC::MacroAssembler::nextFPRegister):
* assembler/MacroAssemblerARMv7.h:
* assembler/MacroAssemblerX86Common.h:
* assembler/X86Assembler.h:
(JSC::X86Assembler::firstFPRegister):
(JSC::X86Assembler::lastFPRegister):
* dfg/DFGDriver.cpp:
(JSC::DFG::compileImpl):
* ftl/FTLCompile.cpp:
(JSC::FTL::fixFunctionBasedOnStackMaps):
* ftl/FTLExitThunkGenerator.cpp:
(JSC::FTL::ExitThunkGenerator::emitThunk):
(JSC::FTL::ExitThunkGenerator::emitThunks):
* ftl/FTLJITFinalizer.cpp:
(JSC::FTL::JITFinalizer::finalizeFunction):
* ftl/FTLJITFinalizer.h:
* ftl/FTLLink.cpp:
(JSC::FTL::link):
* ftl/FTLLocation.cpp: Added.
(JSC::FTL::Location::forStackmaps):
(JSC::FTL::Location::dump):
(JSC::FTL::Location::involvesGPR):
(JSC::FTL::Location::isGPR):
(JSC::FTL::Location::gpr):
(JSC::FTL::Location::isFPR):
(JSC::FTL::Location::fpr):
(JSC::FTL::Location::restoreInto):
(WTF::printInternal):
* ftl/FTLLocation.h: Added.
(JSC::FTL::Location::Location):
(JSC::FTL::Location::forRegister):
(JSC::FTL::Location::forIndirect):
(JSC::FTL::Location::forConstant):
(JSC::FTL::Location::kind):
(JSC::FTL::Location::hasDwarfRegNum):
(JSC::FTL::Location::dwarfRegNum):
(JSC::FTL::Location::hasOffset):
(JSC::FTL::Location::offset):
(JSC::FTL::Location::hasConstant):
(JSC::FTL::Location::constant):
(JSC::FTL::Location::operator!):
(JSC::FTL::Location::isHashTableDeletedValue):
(JSC::FTL::Location::operator==):
(JSC::FTL::Location::hash):
(JSC::FTL::LocationHash::hash):
(JSC::FTL::LocationHash::equal):
* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::appendOSRExit):
(JSC::FTL::LowerDFGToLLVM::linkOSRExitsAndCompleteInitializationBlocks):
* ftl/FTLSaveRestore.cpp:
(JSC::FTL::bytesForFPRs):
(JSC::FTL::requiredScratchMemorySizeInBytes):
(JSC::FTL::offsetOfFPR):
(JSC::FTL::saveAllRegisters):
(JSC::FTL::restoreAllRegisters):
* ftl/FTLSaveRestore.h:
* ftl/FTLStackMaps.cpp:
(JSC::FTL::StackMaps::Location::restoreInto):
* ftl/FTLStackMaps.h:
* ftl/FTLState.h:
* ftl/FTLThunks.cpp:
(JSC::FTL::osrExitGenerationWithoutStackMapThunkGenerator):
(JSC::FTL::osrExitGenerationWithStackMapThunkGenerator):
* ftl/FTLThunks.h:
(JSC::FTL::generateIfNecessary):
(JSC::FTL::Thunks::getOSRExitGenerationThunk):
* runtime/VM.cpp:
(JSC::VM::VM):
* runtime/VM.h:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157264 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Add SPI for telling WebKit to prefer pictograph glyphs over monochrome ones
https://bugs.webkit.org/show_bug.cgi?id=122608

Reviewed by Dan Bernstein.

Based on patches by Dan Bernstein.

Source/WebCore:

Test: fonts/font-fallback-prefers-pictographs.html

Created a mechanism to append a font to the end of a font's fallback
list, before the system fallback list. This mechanism is used when
Settings::fontFallbackPrefersPictographs() is true to insert a
pictograph font ahead of a monochrome one from the system fallback list.

* WebCore.exp.in: Moved
__ZN7WebCore8Settings33setFontFallbackPrefersPictographsEb outside of
an iOS platform guard.
* css/CSSFontSelector.cpp:
(WebCore::CSSFontSelector::fallbackFontDataCount): Retuned 1 if
pictograph fonts are preferred.
(WebCore::CSSFontSelector::getFallbackFontData): Returned the
pictograph font's FontData if it is preferred.
* css/CSSFontSelector.h:
* page/Settings.cpp:
(WebCore::Settings::Settings): Initialized
m_fontFallbackPrefersPictographs to false.
(WebCore::Settings::setFontFallbackPrefersPictographs): Set
m_fontFallbackPrefersPictographs and called
Page::setNeedsRecalcStyleInAllFrames().
* page/Settings.h:
(WebCore::Settings::fontFallbackPrefersPictographs):
* platform/graphics/FontGlyphs.cpp:
(WebCore::FontGlyphs::realizeFontDataAt): Realized the selector's
fallback font if necessary.
* platform/graphics/FontSelector.h:
* style/StyleResolveTree.cpp:
(WebCore::Style::resolveTree): Removed iOS platform guards.
* testing/InternalSettings.cpp:
(WebCore::InternalSettings::setFontFallbackPrefersPictographs): Set the
corresponding WebCore::Setting.
* testing/InternalSettings.h: Defined an internal setting for the test.
* testing/InternalSettings.idl: Ditto.

Source/WebKit/mac:

* WebView/WebView.mm:
(-[WebView _setFontFallbackPrefersPictographs:]): Called
WebCore::Settings::setFontFallbackPrefersPictographs().
* WebView/WebViewPrivate.h:

LayoutTests:

* fonts/font-fallback-prefers-pictographs-expected.html: Added.
* fonts/font-fallback-prefers-pictographs.html: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157265 268f45cc-cd09-0410-ab3c-d52691b4dbfc
transition cti_op_* methods returning int to JIT operations.
https://bugs.webkit.org/show_bug.cgi?id=122563

Reviewed by Oliver Hunt.

Moved serveral operationCompare* functions from DFGOperations to JITOperations as well as changing
dfgConvertJSValueToBoolean to operationConvertJSValueToBoolean so that they can be shared with the baseline JIT.
Added JITOperation operationHasProperty().  Added needed callOperation helpers and transitioned baseline JIT code
to use the new operations.
        
* dfg/DFGOperations.cpp:
* dfg/DFGOperations.h:
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compileLogicalNot):
(JSC::DFG::SpeculativeJIT::emitBranch):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compileLogicalNot):
(JSC::DFG::SpeculativeJIT::emitBranch):
* jit/JIT.h:
* jit/JITArithmetic.cpp:
(JSC::JIT::emitSlow_op_jless):
(JSC::JIT::emitSlow_op_jlesseq):
(JSC::JIT::emitSlow_op_jgreater):
(JSC::JIT::emitSlow_op_jgreatereq):
(JSC::JIT::emitSlow_op_jnless):
(JSC::JIT::emitSlow_op_jnlesseq):
(JSC::JIT::emitSlow_op_jngreater):
(JSC::JIT::emitSlow_op_jngreatereq):
(JSC::JIT::emit_compareAndJumpSlow):
* jit/JITArithmetic32_64.cpp:
(JSC::JIT::emit_compareAndJumpSlow):
* jit/JITInlines.h:
(JSC::JIT::callOperation):
* jit/JITOpcodes.cpp:
(JSC::JIT::emit_op_next_pname):
(JSC::JIT::emitSlow_op_jfalse):
(JSC::JIT::emitSlow_op_jtrue):
(JSC::JIT::emitSlow_op_eq):
(JSC::JIT::emitSlow_op_neq):
* jit/JITOpcodes32_64.cpp:
(JSC::JIT::emitSlow_op_jfalse):
(JSC::JIT::emitSlow_op_jtrue):
(JSC::JIT::emitSlow_op_eq):
(JSC::JIT::emitSlow_op_neq):
(JSC::JIT::emit_op_next_pname):
* jit/JITOperations.cpp:
* jit/JITOperations.h:
* jit/JITStubs.cpp:
* jit/JITStubs.h:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157266 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Further improve ArrayIterator performance
https://bugs.webkit.org/show_bug.cgi?id=122575

Reviewed by Mark Hahnenberg.

Source/JavaScriptCore:

Add an assembly thunk for ArrayIterator.@@next so that we
can avoid marshalling costs when iterating arrays.

* jit/SpecializedThunkJIT.h:
(JSC::SpecializedThunkJIT::SpecializedThunkJIT):
(JSC::SpecializedThunkJIT::loadSpecificClassArgument):
* jit/ThunkGenerators.cpp:
(JSC::arrayIteratorNextThunkGenerator):
* jit/ThunkGenerators.h:
* runtime/ArrayIteratorPrototype.cpp:
(JSC::ArrayIteratorPrototype::finishCreation):
* runtime/Intrinsic.h:
* runtime/JSArrayIterator.h:
(JSC::JSArrayIterator::offsetOfIterationKind):
(JSC::JSArrayIterator::offsetOfIteratedObject):
(JSC::JSArrayIterator::offsetOfNextIndex):
* runtime/JSCJSValue.h:
(JSC::JSValue::offsetOfPayload):
* runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::reset):
* runtime/JSGlobalObject.h:
(JSC::JSGlobalObject::iteratorResultStructureOffset):
* runtime/VM.cpp:
(JSC::thunkGeneratorForIntrinsic):

LayoutTests:

Add a few new tests to make sure the new asm thunk correctly
handles non-arrays.

* js/array-iterators-expected.txt:
* js/script-tests/array-iterators.js:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157267 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Create MediaStream object with ended attribute set if all tracks that are being used on its creation are ended
https://bugs.webkit.org/show_bug.cgi?id=122358

Patch by Thiago de Barros Lacerda <thiago.lacerda@openbossa.org> on 2013-10-10
Reviewed by Jer Noble.

Source/WebCore:

Spec tells that if all tracks that belongs to a new MediaStream object being created are ended,
then the ended attribute of this MediaStream must be set to true.
http://www.w3.org/TR/mediacapture-streams/#widl-MediaStream-ended

Since there is no port supporting MediaStream yet, we are skipping this test for now.

Test: fast/mediastream/MediaStream-construct-with-ended-tracks.html

* Modules/mediastream/MediaStream.cpp:
(WebCore::createFromSourceVectors):
(WebCore::MediaStream::create):
* Modules/webaudio/MediaStreamAudioDestinationNode.cpp:
(WebCore::MediaStreamAudioDestinationNode::MediaStreamAudioDestinationNode):
* platform/mediastream/MediaStreamDescriptor.cpp:
(WebCore::MediaStreamDescriptor::create):
(WebCore::MediaStreamDescriptor::MediaStreamDescriptor):
* platform/mediastream/MediaStreamDescriptor.h:
* platform/mock/MockMediaStreamCenter.cpp:
(WebCore::MockMediaStreamCenter::createMediaStream):

LayoutTests:

Since there is no port supporting MediaStream yet, we are skipping this test for now.

* TestExpectations:
* fast/mediastream/MediaStream-construct-with-ended-tracks.html: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157268 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Web Inspector: content views and managers should save/restore view state.
https://bugs.webkit.org/show_bug.cgi?id=122546

To restore the same content view and sidebars when re-opening the
inspector, a cookie is saved whenever a new content view is shown
in the main content browser. Previously, this cookie was created
and restored using navigation sidebar-specific logic. This has two
major flaws: non-default sidebars for a represented object are not
restored correctly; and it centralizes storage of view-specific
state such as subview selections.

This patch adds ContentView methods for saving a key for the
view's represented object, and saving/restoring any view-specific
state as the view is shown. The 'type' field of the cookie
specifies the manager which deserializes the cookie into a
represented object.

Patch by Brian J. Burg <burg@cs.washington.edu> on 2013-10-10
Reviewed by Timothy Hatcher.

* UserInterface/ApplicationCacheFrameContentView.js:
(WebInspector.ApplicationCacheFrameContentView):
(WebInspector.ApplicationCacheFrameContentView.prototype.saveToCookie):
(WebInspector.ApplicationCacheFrameContentView.prototype._maybeUpdate):
(WebInspector.ApplicationCacheFrameContentView.prototype._updateStatus):
(WebInspector.ApplicationCacheFrameContentView.prototype.updateStatus):
(WebInspector.ApplicationCacheFrameContentView.prototype._updateCallback):
* UserInterface/ApplicationCacheManager.js:
(WebInspector.ApplicationCacheManager.prototype.networkStateUpdated):
(WebInspector.ApplicationCacheManager.prototype.applicationCacheStatusUpdated):
(WebInspector.ApplicationCacheManager.prototype.):
(WebInspector.ApplicationCacheManager.prototype.requestApplicationCache):
(WebInspector.ApplicationCacheManager.prototype.objectForCookie):
(WebInspector.ApplicationCacheManager.prototype._manifestForFrameLoaded):
(WebInspector.ApplicationCacheManager.prototype._framesWithManifestsLoaded):
(WebInspector.ApplicationCacheManager.prototype._frameManifestUpdated):
* UserInterface/BackForwardEntry.js:
(WebInspector.BackForwardEntry):
(WebInspector.BackForwardEntry.prototype._restoreFromCookie):
* UserInterface/ContentBrowser.js:
(WebInspector.ContentBrowser.prototype.showContentViewForRepresentedObject):
(WebInspector.ContentBrowser.prototype.showContentView):
* UserInterface/ContentView.js:
(WebInspector.ContentView.prototype.saveToCookie):
(WebInspector.ContentView.prototype.restoreFromCookie):
* UserInterface/ContentViewContainer.js:
(WebInspector.ContentViewContainer.prototype.showContentView):
* UserInterface/CookieStorageContentView.js:
(WebInspector.CookieStorageContentView.prototype.update):
(WebInspector.CookieStorageContentView.prototype.saveToCookie):
(WebInspector.CookieStorageContentView.prototype._rebuildTable):
(WebInspector.CookieStorageContentView.prototype._filterCookies):
* UserInterface/DOMStorageContentView.js:
(WebInspector.DOMStorageContentView.prototype.saveToCookie):
* UserInterface/DatabaseContentView.js:
(WebInspector.DatabaseContentView.prototype.saveToCookie):
(WebInspector.DatabaseContentView.prototype._messagesClicked):
* UserInterface/DatabaseTableContentView.js:
(WebInspector.DatabaseTableContentView):
(WebInspector.DatabaseTableContentView.prototype.saveToCookie):
* UserInterface/FrameContentView.js:
(WebInspector.FrameContentView.prototype.saveToCookie):
(WebInspector.FrameContentView.prototype.restoreFromCookie):
* UserInterface/FrameResourceManager.js:
(WebInspector.FrameResourceManager.prototype.objectForCookie):
* UserInterface/InstrumentSidebarPanel.js:
(WebInspector.InstrumentSidebarPanel):
(WebInspector.InstrumentSidebarPanel.prototype.showTimeline):
(WebInspector.InstrumentSidebarPanel.prototype.shown):
(WebInspector.InstrumentSidebarPanel.prototype._timelinesTreeElementSelected):
* UserInterface/Main.js:
(WebInspector.loaded):
(WebInspector.contentLoaded):
(WebInspector.openURL):
(WebInspector._updateCurrentContentViewCookie):
(WebInspector._showContentViewForCookie.lastAttemptToRestoreFromCookie):
(WebInspector._showContentViewForCookie):
(WebInspector._resolveAndShowPendingContentViewCookie.delayedWork):
(WebInspector._resolveAndShowPendingContentViewCookie):
(WebInspector.elementDragStart):
(WebInspector.elementDragEnd):
(WebInspector.createMessageTextView):
(WebInspector.linkifyStringAsFragment):
* UserInterface/NavigationSidebarPanel.js:
* UserInterface/ResourceClusterContentView.js:
(WebInspector.ResourceClusterContentView.prototype.saveToCookie):
(WebInspector.ResourceClusterContentView.prototype.restoreFromCookie):
* UserInterface/ResourceSidebarPanel.js:
(WebInspector.ResourceSidebarPanel.prototype.showSourceCode):
(WebInspector.ResourceSidebarPanel.prototype._mainFrameDidChange):
(WebInspector.ResourceSidebarPanel.prototype._domStorageObjectWasAdded):
(WebInspector.ResourceSidebarPanel.prototype._databaseWasAdded):
(WebInspector.ResourceSidebarPanel.prototype._cookieStorageObjectWasAdded):
(WebInspector.ResourceSidebarPanel.prototype._frameManifestAdded):
* UserInterface/ScriptContentView.js:
(WebInspector.ScriptContentView.prototype.saveToCookie):
(WebInspector.ScriptContentView.prototype.restoreFromCookie):
* UserInterface/StorageManager.js:
(WebInspector.StorageManager.prototype.findMatchingObjectInArray):
(WebInspector.StorageManager.prototype.objectForCookie):
* UserInterface/TimelineManager.js:
(WebInspector.TimelineManager):
(WebInspector.TimelineManager.prototype.get timelines):
(WebInspector.TimelineManager.prototype.objectForCookie):
* UserInterface/TimelinesContentView.js:
(WebInspector.TimelinesContentView.prototype.saveToCookie):
(WebInspector.TimelinesContentView.prototype.restoreFromCookie):
(WebInspector.TimelinesContentView.prototype._makeColumnScopeBar):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157269 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed build fix after r157250

* dom/EventDispatcher.cpp:
(WebCore::EventDispatcher::dispatchEvent):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157270 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Validate uniform input when setting texture sampler uniforms.
https://bugs.webkit.org/show_bug.cgi?id=122610.

Reviewed by Dean Jackson.

Covered by Khronos Conformance Suite 1.0.2.
Specifically, conformance/uniforms/uniform-samplers-test.html.

* html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::uniform1i):
(WebCore::WebGLRenderingContext::uniform1iv):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157271 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Calling setUsePresentationValue on MountainLion results in unrecognized selector 
warnings
https://bugs.webkit.org/show_bug.cgi?id=122624

Reviewed by Tim Horton.

Only call setUsePresentationValue if the scrollbar supports updates on a secondary 
thread.
* platform/mac/ScrollAnimatorMac.mm:
(-[WebScrollbarPainterDelegate scrollerImp:animateKnobAlphaTo:duration:]):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157272 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[MediaStream API] update MediaStream object to match spec
https://bugs.webkit.org/show_bug.cgi?id=121939

Patch by Thiago de Barros Lacerda <thiago.lacerda@openbossa.org> on 2013-10-10
Reviewed by Jer Noble.

Source/WebCore:

Test: fast/mediastream/MediaStream-clone.html

* Modules/mediastream/MediaStream.cpp:
(WebCore::MediaStream::MediaStream):
(WebCore::MediaStream::ended):
(WebCore::MediaStream::clone):
(WebCore::MediaStream::cloneMediaStreamTrackVector):
(WebCore::MediaStream::contextDestroyed):
(WebCore::MediaStream::scheduledEventTimerFired):
* Modules/mediastream/MediaStream.h:
* Modules/mediastream/MediaStream.idl:

LayoutTests:

* TestExpectations:
* fast/mediastream/MediaStream-add-remove-tracks-expected.txt:
* fast/mediastream/MediaStream-add-remove-tracks.html:
* fast/mediastream/MediaStream-clone.html: Added.
* fast/mediastream/MediaStreamConstructor-expected.txt:
* fast/mediastream/MediaStreamConstructor.html:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157273 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed build fix with ENABLE_DEVICE_ORIENTATION after r157215

Now, impl() return reference instead of a pointer.

* bindings/js/JSDeviceMotionEventCustom.cpp:
(WebCore::JSDeviceMotionEvent::acceleration):
(WebCore::JSDeviceMotionEvent::accelerationIncludingGravity):
(WebCore::JSDeviceMotionEvent::rotationRate):
(WebCore::JSDeviceMotionEvent::interval):
(WebCore::JSDeviceMotionEvent::initDeviceMotionEvent):
* bindings/js/JSDeviceOrientationEventCustom.cpp:
(WebCore::JSDeviceOrientationEvent::alpha):
(WebCore::JSDeviceOrientationEvent::beta):
(WebCore::JSDeviceOrientationEvent::gamma):
(WebCore::JSDeviceOrientationEvent::absolute):
(WebCore::JSDeviceOrientationEvent::initDeviceOrientationEvent):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157274 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Web Inspector: Remove the old front-end from WebKit
https://bugs.webkit.org/show_bug.cgi?id=122295

Patch by Marcelo Morais <m.morais@samsung.com> on 2013-10-10
Reviewed by Timothy Hatcher.

.:

* Source/PlatformGTK.cmake: Removed. This file was using files from the
old inspector, not needed anymore.

Source/WebCore:

Updating the project files to remove all references from the old
inspector front-end.

* WebCore.vcxproj/WebCore.vcxproj: Removed the references for the old
inspector front-end.
* WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
* WebCore.xcodeproj/project.pbxproj: Ditto.
* inspector/compile-front-end.py: Removed.

Source/WebKit:

* PlatformBlackBerry.cmake: Removed the references for the old
inspector front-end.

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

* Interfaces/WebKit.idl:
Oops, didn't mean to remove the uuid for WebURLResponse.

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