Web Inspector: [Network] Refine JSDocs in NetworkRequest.js
https://bugs.webkit.org/show_bug.cgi?id=112412

Reviewed by Vsevolod Vlasov.

Return types for some members are confusing (Object).

* inspector/front-end/NetworkManager.js: Fixed JSDocs.
* inspector/front-end/NetworkRequest.js: Ditto. Plus minor refactorings.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@145926 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Marking sputnik/Conformance/10_Execution_Contexts/10.1_Definitions/10.1.8_Arguments_Object/S10.1.8_A3_T2.html
as a Slow test.

* platform/mac/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@145927 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[V8] Binding: Implement EnforceRange IDL Attribute for long long conversions
https://bugs.webkit.org/show_bug.cgi?id=96798

Reviewed by Kentaro Hara.

Source/WebCore:

Implement [EnforceRange] attribute for V8 bindings, which specifies throwing behavior
on conversions outside int/uint 32/64 ranges and edge cases like NaNs and Infinities.
Conversely, conversions without this attribute should *not* throw.

Tests: fast/js/webidl-type-mapping.html:
       fast/dom/non-numeric-values-numeric-parameters.html
       fast/js/script-tests/select-options-add.html
       storage/indexeddb/intversion-bad-parameters.html

* Modules/indexeddb/IDBCursor.cpp: Remove custom range enforcement for advance()
* Modules/indexeddb/IDBCursor.h: Adjust type to match WebIDL.
* Modules/indexeddb/IDBCursor.idl: Specify [EnforceRange] and type matches spec WebIDL.
* Modules/indexeddb/IDBFactory.cpp: Remove custom range enforcement for open()
* Modules/indexeddb/IDBFactory.h: Adjust type to match WebIDL.
* Modules/indexeddb/IDBFactory.idl: Specify [EnforceRange] and type matches spec WebIDL.
* bindings/scripts/CodeGeneratorJS.pm:
(JSValueToNative): Add FIXME to support [EnforceRange]
* bindings/scripts/CodeGeneratorV8.pm:
(GenerateNormalAttrSetter): Handle [EnforceRange] in attribute setters
(GenerateParametersCheck): Handle [EnforceRange] in parameters.
(JSValueToNative): Pass EnforceRange to toInt() functions as appropriate.
* bindings/scripts/IDLAttributes.txt:
* bindings/scripts/test/TestObj.idl: Tests w/ [EnforceRange]
* bindings/scripts/test/V8/V8TestObj.cpp: Updated expectations
* bindings/scripts/test/V8/V8TestTypedefs.cpp: Updated expectations.
* bindings/v8/V8Binding.cpp: Overloads for toInt() variants that handle constraints.
(WebCore::toInt32):
(WebCore::toUInt32):
(WebCore::toInt64):
(WebCore::toUInt64):
* bindings/v8/V8Binding.h: Ditto, plus helpers for callers not expecting errors.
(WebCore::toInt32):
(WebCore::toUInt32):
(WebCore::toInt64):
(WebCore::toUInt64):
* bindings/v8/V8BindingMacros.h: Helper macros for type conversions that may throw.
* testing/TypeConversions.h: Added new members with EnforceRange constraint.
* testing/TypeConversions.idl: Ditto.

LayoutTests:

Some of the tests for HTMLOptionsCollection.add() assumed it should throw for
Infinities and NaNs, but this is not what the DOM+WebIDL specs say. (Firefox doesn't throw
so this does not appear to be a web-compat issue.) This updates the tests/expectations so
that V8 passes. JSC expectations are FAIL in a few places since it still incorrectly throws
on Infinity/NaN -> int32 conversion (existing tests) and does not implement EnforceRange
(new tests).

Tne non-numeric-values-numeric-parameters test was also broken for NaN testing, reporting
incorrect results which hid some of this behavior.

* fast/dom/non-numeric-values-numeric-parameters-expected.txt: Failing behavior for JSC.
* fast/dom/script-tests/non-numeric-values-numeric-parameters.js: HTMLOptionsCollection.add()
should not throw on NaNs/Infinities.
* fast/js/script-tests/select-options-add.js: Ditto.
* fast/js/select-options-add-expected.txt: Failing behavior for JSC.
* fast/js/webidl-type-mapping-expected.txt: Ditto.
* fast/js/webidl-type-mapping.html: Added test cases for [EnforceRange]
* platform/chromium/fast/dom/non-numeric-values-numeric-parameters-expected.txt: Added - passing behavior for V8.
* platform/chromium/fast/js/select-options-add-expected.txt: Ditto.
* platform/chromium/fast/js/webidl-type-mapping-expected.txt: Added.
* storage/indexeddb/intversion-bad-parameters-expected.txt: Added non-finite test cases.
* storage/indexeddb/resources/intversion-bad-parameters.js: Ditto.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@145929 268f45cc-cd09-0410-ab3c-d52691b4dbfc
        Minor cleanup in worker code
        https://bugs.webkit.org/show_bug.cgi?id=112455

        Reviewed by Anders Carlsson.

        - Added OVERRIDE keywords.
        - Toned down FIXMEs about single MessagePort versions of functions. It's not a given
        that we'll want to get rid of them even when implementing array versions.
        - Explicitly marked virtual destructors as virtual.

        * dom/MessageEvent.cpp:
        * dom/MessageEvent.h:
        * workers/Worker.cpp:
        * workers/Worker.h:
        Removed an unused version of postMessage() that took no MessagePorts. This makes
        it less confusing why MessagePortArray is passed by pointer, and not by reference.

        * workers/DedicatedWorkerContext.cpp:
        (WebCore::DedicatedWorkerContext::~DedicatedWorkerContext):
        * workers/DedicatedWorkerContext.h:
        Added a destructor instead of an implicit one.
        Removed an unused version of postMessage() that took no MessagePorts.

        * workers/SharedWorker.h: Removed an unused virtual function (thank you OVERRIDE!)

        * dom/MessagePort.cpp:
        * dom/MessagePort.h:
        * loader/WorkerThreadableLoader.h:
        * page/DOMWindow.h:
        * workers/AbstractWorker.h:
        * workers/DedicatedWorkerThread.h:
        * workers/SharedWorkerContext.h:
        * workers/SharedWorkerThread.h:
        * workers/WorkerContext.h:
        * workers/WorkerMessagingProxy.h:
        * workers/WorkerObjectProxy.h:
        * workers/WorkerScriptLoader.h:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@145930 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Add runtime check for improper register allocations in DFG
https://bugs.webkit.org/show_bug.cgi?id=112380

Reviewed by Geoffrey Garen.

Source/JavaScriptCore: 

Added framework to check for register allocation within a branch source - target range.  All register allocations
are saved using the offset in the code stream where the allocation occurred.  Later when a jump is linked, the
currently saved register allocations are checked to make sure that they didn't occur in the range of code that was
jumped over.  This protects against the case where an allocation could have spilled register contents to free up 
a register and that spill only occurs on one path of a many through the code.  A subsequent fill of the spilled
register may load garbage.  See https://bugs.webkit.org/show_bug.cgi?id=111777 for one such bug.
This code is protected by the compile time check of #if ENABLE(DFG_REGISTER_ALLOCATION_VALIDATION).
The check is only done during the processing of SpeculativeJIT::compile(Node* node) and its callees.
 
* assembler/AbstractMacroAssembler.h:
(JSC::AbstractMacroAssembler::Jump::link): Invoke register allocation checks using source and target of link.
(JSC::AbstractMacroAssembler::Jump::linkTo): Invoke register allocation checks using source and target of link.
(AbstractMacroAssembler):
(RegisterAllocationOffset): New helper class to store the instruction stream offset and compare against a 
jump range.
(JSC::AbstractMacroAssembler::RegisterAllocationOffset::RegisterAllocationOffset):
(JSC::AbstractMacroAssembler::RegisterAllocationOffset::check):
(JSC::AbstractMacroAssembler::addRegisterAllocationAtOffset):
(JSC::AbstractMacroAssembler::clearRegisterAllocationOffsets): 
(JSC::AbstractMacroAssembler::checkRegisterAllocationAgainstBranchRange):
* dfg/DFGSpeculativeJIT.h:
(JSC::DFG::SpeculativeJIT::allocate):
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):

Source/WTF: 

* wtf/Platform.h: Added new ENABLE_DFG_REGISTER_ALLOCATION_VALIDATION compilation flag to
enable generation of register allocation checking.  This is on for debug builds.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@145931 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Custom Elements] Any HTMLElement subclass should become a superclass of custom element
https://bugs.webkit.org/show_bug.cgi?id=110436

Reviewed by Dimitri Glazkov.

Source/WebCore:

This change introduces "type extension" concept of custom elements.
With the type extension, each custom elements are able to inherit
from not only HTMLElement, but also any HTML element. To make it work,
this change extends the plumbing.

This change does following changes:

= Data structure:

- Let CustomElementConstructor objects being keyed by pair of (element
  name, local name) as the standard requries, instead of just using
  single name. See CustomElementRegistry::ConstructorMap and CustomElementRegistry::find().

- Creates mapping from WrapperTypeInfo to element name.  This map
  can be looked-up by generated functions like
  findHTMLTagNameOfV8Type().  With this table, WebKit can determine
  the custom element local name of given prototype object. See  make_names.pl.
  Note that V8 prototype object knows associated WrapperTypeInfo. See r144865.

= Hooking up element lifecyle:

- Create appropriate C++ instance for each custom element.  Before
  this change, the C++ backend of custom elements were always
  HTMLUnknownElements or HTMLElement.  See
  CustomElementConstructor::createElement() and ElementFactories in
  make_names.pl.

- Hooks up element construction and element wrapper creation for
  custom element "before" non-custom case instead of "after"
  that. We do this because custom element needs to
  override non-custom case when @is attribute is given for
  otherwise-non-custom elements like <div is=x-bar>.
  See make_names.pl.

- Gives @is attributes to elements if needed. See setTypeExtension() call sites
  like Document::createElement(), Document::createElementtNS() and CustomElementConstructor::createElementt()

Test: fast/dom/custom/document-register-type-extensions.html

* bindings/scripts/CodeGeneratorV8.pm:
(GenerateHeader):
* bindings/scripts/test/V8/V8Float64Array.h:
* bindings/scripts/test/V8/V8TestActiveDOMObject.h:
* bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
* bindings/scripts/test/V8/V8TestEventConstructor.h:
* bindings/scripts/test/V8/V8TestEventTarget.h:
* bindings/scripts/test/V8/V8TestException.h:
* bindings/scripts/test/V8/V8TestInterface.h:
* bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
* bindings/scripts/test/V8/V8TestNamedConstructor.h:
* bindings/scripts/test/V8/V8TestNode.h:
* bindings/scripts/test/V8/V8TestObj.h:
* bindings/scripts/test/V8/V8TestOverloadedConstructors.h:
* bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
* bindings/scripts/test/V8/V8TestTypedefs.h:
* bindings/v8/CustomElementHelpers.cpp:
(WebCore::hasValidPrototypeChain):
(WebCore::CustomElementHelpers::isValidPrototypeParameter):
(WebCore::CustomElementHelpers::findLocalName):
(WebCore):
(WebCore::CustomElementHelpers::findWrapperType):
* bindings/v8/CustomElementHelpers.h:
(CustomElementHelpers):
* bindings/v8/V8CustomElement.cpp:
(WebCore::V8CustomElement::createWrapper):
* bindings/v8/V8CustomElement.h:
(V8CustomElement):
(WebCore::V8CustomElement::wrap):
(WebCore::V8CustomElement::constructorOf):
* bindings/v8/WrapperTypeInfo.h:
(WrapperTypeTraits): Added.
* bindings/v8/custom/V8CustomElementConstructorCustom.cpp:
(WebCore::V8CustomElementConstructor::callAsFunctionCallback):
* dom/CustomElementConstructor.cpp:
(WebCore::CustomElementConstructor::create):
(WebCore::CustomElementConstructor::CustomElementConstructor):
(WebCore::CustomElementConstructor::createElement):
(WebCore::setTypeExtension):
* dom/CustomElementConstructor.h:
(CustomElementConstructor):
(WebCore::CustomElementConstructor::document):
(WebCore::CustomElementConstructor::typeName):
(WebCore::CustomElementConstructor::localName):
* dom/CustomElementRegistry.cpp:
(WebCore::nameIncludesHyphen):
(WebCore::CustomElementRegistry::isValidName):
(WebCore::CustomElementRegistry::registerElement):
(WebCore::CustomElementRegistry::findFor):
(WebCore::CustomElementRegistry::find):
(WebCore::CustomElementRegistry::createElement):
* dom/CustomElementRegistry.h:
(CustomElementRegistry):
* dom/Document.cpp:
(WebCore::Document::createElement):
(WebCore::Document::createElementNS):
(WebCore::Document::registerElement):
* dom/Document.h:
(Document):
(WebCore::Document::registry): Moved from Document.cpp to be inlined.
* dom/Document.idl:
* dom/make_names.pl:
(printFactoryCppFile):
(printWrapperFactoryCppFile):
(printWrapperFactoryHeaderFile):
* html/HTMLAttributeNames.in: Added @is attribute

LayoutTests:

* fast/dom/custom/document-register-basic-expected.txt:
* fast/dom/custom/document-register-basic.html:
* fast/dom/custom/document-register-type-extensions-expected.txt: Added.
* fast/dom/custom/document-register-type-extensions.html: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@145932 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Cleanup of DFG and Baseline JIT debugging code
https://bugs.webkit.org/show_bug.cgi?id=111871

Reviewed by Geoffrey Garen.

Fixed various debug related issue in baseline and DFG JITs. See below.

* dfg/DFGRepatch.cpp:
(JSC::DFG::dfgLinkClosureCall): Used pointerDump() to handle when calleeCodeBlock is NULL.
* dfg/DFGScratchRegisterAllocator.h: Now use ScratchBuffer::activeLengthPtr() to get
pointer to scratch register length.
(JSC::DFG::ScratchRegisterAllocator::preserveUsedRegistersToScratchBuffer):
(JSC::DFG::ScratchRegisterAllocator::restoreUsedRegistersFromScratchBuffer):
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::checkConsistency): Added missing case labels for DataFormatOSRMarker,
DataFormatDead, and DataFormatArguments and made them RELEASE_ASSERT_NOT_REACHED();
* jit/JITCall.cpp:
(JSC::JIT::privateCompileClosureCall): Used pointerDump() to handle when calleeCodeBlock is NULL.
* jit/JITCall32_64.cpp:
(JSC::JIT::privateCompileClosureCall): Used pointerDump() to handle when calleeCodeBlock is NULL.
* runtime/JSGlobalData.h:
(JSC::ScratchBuffer::ScratchBuffer): Fixed buffer allocation alignment to
be on a double boundary.
(JSC::ScratchBuffer::setActiveLength):
(JSC::ScratchBuffer::activeLength):
(JSC::ScratchBuffer::activeLengthPtr):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@145933 268f45cc-cd09-0410-ab3c-d52691b4dbfc
RenderSnapshottedPlugIn can't be a RenderBlock (what if it's display: inline?)
https://bugs.webkit.org/show_bug.cgi?id=112432
<rdar://problem/13187211>

Reviewed by Simon Fraser and Dean Jackson.

Re-use code from PLUGIN_PROXY_FOR_VIDEO to allow RenderEmbeddedObject to lay out its children,
and make RenderSnapshottedPlugIn a RenderEmbeddedObject subclass once again. This will ensure that
RenderSnapshottedPlugIn lays itself out in the page the same as the RenderEmbeddedObject it replaces did,
preventing snapshotted plug-ins from breaking the layout when they are display: inline.

* html/HTMLPlugInElement.cpp:
(WebCore::HTMLPlugInElement::defaultEventHandler):
RenderSnapshottedPlugIn is a RenderEmbeddedObject subclass again, so we need to check
for it when we have a RenderEmbeddedObject, instead of when we don't.

* page/FrameView.cpp:
(WebCore::FrameView::updateWidget):
Ditto.

* rendering/RenderEmbeddedObject.cpp:
(WebCore::RenderEmbeddedObject::layout):
(WebCore::RenderEmbeddedObject::canHaveChildren):
Allow RenderEmbeddedObject to have and lay out children if it is a RenderSnapshottedPlugIn.
Also, preserve the code that allows children if it is a media element and PLUGIN_PROXY_FOR_VIDEO is enabled.
Don't call addWidgetToUpdate for instances which will never have a widget, like RenderSnapshottedPlugIn.

* rendering/RenderEmbeddedObject.h:
(RenderEmbeddedObject):
We need canHaveChildren() and children() and m_children now.
Add canHaveWidget(), which returns true. Subclasses can override if need be.

* rendering/RenderSnapshottedPlugIn.h: Add canHaveWidget(), which is false for RenderSnapshottedPlugIn.
* rendering/RenderSnapshottedPlugIn.cpp:
(WebCore::RenderSnapshottedPlugIn::RenderSnapshottedPlugIn):
(WebCore::RenderSnapshottedPlugIn::layout):
(WebCore::RenderSnapshottedPlugIn::getCursor):
Make RenderSnapshottedPlugIn a RenderEmbeddedObject.

(WebCore::RenderSnapshottedPlugIn::paint):
Paint our children.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@145934 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[iOS] Fix the length pass to memcmp in the fallback versions of String's equal
https://bugs.webkit.org/show_bug.cgi?id=112463

Patch by Benjamin Poulain <bpoulain@apple.com> on 2013-03-15
Reviewed by Ryosuke Niwa.

* wtf/text/StringImpl.h:
(WTF::equal): It might be a good idea to compare the full UChar strings...


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@145935 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed, build fix. Also gather translatable strings from WebKit2 files.

* POTFILES.in: added WebKit2GTK+ files that have translatable strings.
* ar.po: regenerated.
* as.po: ditto.
* bg.po: ditto.
* cs.po: ditto.
* de.po: ditto.
* el.po: ditto.
* en_CA.po: ditto.
* en_GB.po: ditto.
* eo.po: ditto.
* es.po: ditto.
* et.po: ditto.
* eu.po: ditto.
* fr.po: ditto.
* gl.po: ditto.
* gu.po: ditto.
* he.po: ditto.
* hi.po: ditto.
* hu.po: ditto.
* id.po: ditto.
* it.po: ditto.
* ko.po: ditto.
* lt.po: ditto.
* lv.po: ditto.
* mr.po: ditto.
* nb.po: ditto.
* nl.po: ditto.
* pa.po: ditto.
* pl.po: ditto.
* pt.po: ditto.
* pt_BR.po: ditto.
* ro.po: ditto.
* ru.po: ditto.
* sl.po: ditto.
* sr.po: ditto.
* sr@latin.po: ditto.
* sv.po: ditto.
* uk.po: ditto.
* vi.po: ditto.
* zh_CN.po: ditto.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@145936 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Auto height column flexboxes with border and padding are too short
https://bugs.webkit.org/show_bug.cgi?id=112398

Reviewed by Tony Chang.

Source/WebCore:

Test: css3/flexbox/auto-height-column-with-border-and-padding.html

* rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::mainAxisContentExtent):
computeLogicalHeight expects that you pass in the border-box logicalHeight, not
the contentLogicalHeight. Since we subtract the border, padding and scrollbar height from
the returned m_extent, if we pass in the contentLogicalHeight and the flexbox is auto-sized
then we end up incorrectly subtracting border, padding and scrollbar height from the
contentLogicalHeight.

LayoutTests:

* css3/flexbox/auto-height-column-with-border-and-padding-expected.html: Added.
* css3/flexbox/auto-height-column-with-border-and-padding.html: Added.
* css3/flexbox/resources/flexbox.css:
(.flex-one-one-auto):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@145937 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Source/WebCore: Remove unused unified textchecker variable
https://bugs.webkit.org/show_bug.cgi?id=112362

Patch by Rouslan Solomakhin <rouslan@chromium.org> on 2013-03-15
Reviewed by Tony Chang.

The variable m_originalUnifiedSpellCheckerEnabled is never used. The generated
code from Settings.in already backs up and restores unified textchecker setting.

* testing/InternalSettings.h: Remove unusued m_originalUnifiedSpellCheckerEnabled variable.

Tools: Remove setAsynchronousSpellCheckingEnabled from test runners
https://bugs.webkit.org/show_bug.cgi?id=112362

Patch by Rouslan Solomakhin <rouslan@chromium.org> on 2013-03-15
Reviewed by Tony Chang.

Remove setAsynchronousSpellCheckingEnabled from test runners. The setting is now
in internals.settings, so all ports can share it.

* DumpRenderTree/TestRunner.cpp: Remove setAsynchronousSpellCheckingEnabled() method.
* DumpRenderTree/TestRunner.h: Remove setAsynchronousSpellCheckingEnabled() method.
* DumpRenderTree/blackberry/TestRunnerBlackBerry.cpp: Remove setAsynchronousSpellCheckingEnabled() method.
* DumpRenderTree/chromium/TestRunner/src/TestRunner.cpp: Remove setAsynchronousSpellCheckingEnabled() method.
* DumpRenderTree/chromium/TestRunner/src/TestRunner.h: Remove setAsynchronousSpellCheckingEnabled() method.
* DumpRenderTree/efl/TestRunnerEfl.cpp: Remove setAsynchronousSpellCheckingEnabled() method.
* DumpRenderTree/gtk/TestRunnerGtk.cpp: Remove setAsynchronousSpellCheckingEnabled() method.
* DumpRenderTree/mac/TestRunnerMac.mm: Remove setAsynchronousSpellCheckingEnabled() method.
* DumpRenderTree/qt/TestRunnerQt.cpp: Remove setAsynchronousSpellCheckingEnabled() method.
* DumpRenderTree/qt/TestRunnerQt.h: Remove setAsynchronousSpellCheckingEnabled() method.
* DumpRenderTree/win/TestRunnerWin.cpp: Remove setAsynchronousSpellCheckingEnabled() method.
* DumpRenderTree/wx/TestRunnerWx.cpp: Remove setAsynchronousSpellCheckingEnabled() method.

LayoutTests: Move setAsynchronousSpellCheckingEnabled to internals.settings
https://bugs.webkit.org/show_bug.cgi?id=112362

Patch by Rouslan Solomakhin <rouslan@chromium.org> on 2013-03-15
Reviewed by Tony Chang.

Changed the tests from using testRunner.setAsynchronousSpellCheckingEnabled(bool)
with port-specific implementations to use internals.settings.setAsynchronousSpellCheckingEnabled(bool)
with one common implementation, similar to internals.settings.setUnifiedTextCheckerEnabled(bool).
Changed the tests to not reset these settings when they finish, because the test harness resets
the settings automatically.

* editing/spelling/grammar-markers-hidpi.html: Use internals.settings.setAsynchronousSpellCheckingEnabled(bool) instead of testRunner.setAsynchronousSpellCheckingEnabled(bool).
* editing/spelling/grammar-markers.html: Use internals.settings.setAsynchronousSpellCheckingEnabled(bool) instead of testRunner.setAsynchronousSpellCheckingEnabled(bool).
* editing/spelling/grammar-paste.html: Use internals.settings.setAsynchronousSpellCheckingEnabled(bool) instead of testRunner.setAsynchronousSpellCheckingEnabled(bool).
* editing/spelling/resources/util.js: Use internals.settings.setAsynchronousSpellCheckingEnabled(bool) instead of testRunner.setAsynchronousSpellCheckingEnabled(bool).
* editing/spelling/script-tests/spellcheck-paste.js: Use internals.settings.setAsynchronousSpellCheckingEnabled(bool) instead of testRunner.setAsynchronousSpellCheckingEnabled(bool).
* editing/spelling/spellcheck-async-mutation.html: Use internals.settings.setAsynchronousSpellCheckingEnabled(bool) instead of testRunner.setAsynchronousSpellCheckingEnabled(bool).
* editing/spelling/spellcheck-async-remove-frame.html: Use internals.settings.setAsynchronousSpellCheckingEnabled(bool) instead of testRunner.setAsynchronousSpellCheckingEnabled(bool).
* editing/spelling/spellcheck-async.html: Use internals.settings.setAsynchronousSpellCheckingEnabled(bool) instead of testRunner.setAsynchronousSpellCheckingEnabled(bool).
* editing/spelling/spellcheck-paste-disabled.html: Use internals.settings.setAsynchronousSpellCheckingEnabled(bool) instead of testRunner.setAsynchronousSpellCheckingEnabled(bool).
* editing/spelling/spellcheck-queue.html: Use internals.settings.setAsynchronousSpellCheckingEnabled(bool) instead of testRunner.setAsynchronousSpellCheckingEnabled(bool).
* editing/spelling/spellcheck-sequencenum.html: Use internals.settings.setAsynchronousSpellCheckingEnabled(bool) instead of testRunner.setAsynchronousSpellCheckingEnabled(bool).
* editing/spelling/spelling-marker-description.html: Use internals.settings.setAsynchronousSpellCheckingEnabled(bool) instead of testRunner.setAsynchronousSpellCheckingEnabled(bool).
* platform/chromium/editing/spelling/delete-misspelled-word.html: Use internals.settings.setAsynchronousSpellCheckingEnabled(bool) instead of testRunner.setAsynchronousSpellCheckingEnabled(bool).
* platform/chromium/editing/spelling/move-cursor-to-misspelled-word.html: Use internals.settings.setAsynchronousSpellCheckingEnabled(bool) instead of testRunner.setAsynchronousSpellCheckingEnabled(bool).

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@145940 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Convert inspector to new-flexbox
https://bugs.webkit.org/show_bug.cgi?id=112399

Patch by Christian Biesinger <cbiesinger@chromium.org> on 2013-03-15
Reviewed by Ojan Vafai.

No new tests, refactoring.

* inspector/front-end/auditsPanel.css:
(.audit-launcher-view .audit-launcher-view-content):
(.audit-launcher-view div.button-container):
(.audit-launcher-view div.button-container > button):
* inspector/front-end/dialog.css:
(.dialog):
* inspector/front-end/elementsPanel.css:
(.sidebar-pane.composite .metrics):
* inspector/front-end/helpScreen.css:
(.help-window-main):
(.help-content):
* inspector/front-end/inspector.css:
(#toolbar):
(#toolbar-controls):
(#toolbar-dropdown .scrollable-content):
(#toolbar-dropdown .toolbar-item):
(.toolbar-item.close-left, .toolbar-item.close-right):
* inspector/front-end/nativeMemoryProfiler.css:
(.memory-pie-chart-container):
(.memory-pie-chart):
* inspector/front-end/networkPanel.css:
(.network-item-view.visible):
* inspector/front-end/panelEnablerView.css:
(.panel-enabler-view .flexible-space):
* inspector/front-end/profilesPanel.css:
(.profile-launcher-view-content):
(.control-profiling):
* inspector/front-end/splitView.css:
(.sidebar-overlay):
* inspector/front-end/tabbedPane.css:
(.tabbed-pane):
(.tabbed-pane-content):
Replace -webkit-box with -webkit-flex, -webkit-box-orient with
-webkit-flex-direction, etc.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@145943 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Expose whether a UserGestureToken still has gestures via WebKit API
https://bugs.webkit.org/show_bug.cgi?id=112342

Reviewed by Adam Barth.

Source/WebCore:

* dom/UserGestureIndicator.cpp:
* dom/UserGestureIndicator.h:
(UserGestureToken):

Source/WebKit/chromium:

* public/WebUserGestureToken.h:
(WebUserGestureToken):
* src/WebUserGestureToken.cpp:
(WebKit::WebUserGestureToken::hasGestures):
(WebKit):
* tests/WebUserGestureTokenTest.cpp:
(WebCore::TEST):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@145944 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Roll out r145838
https://bugs.webkit.org/show_bug.cgi?id=112458

Unreviewed. Requested by Filip Pizlo.


Source/JavaScriptCore:

* CMakeLists.txt:
* DerivedSources.make:
* DerivedSources.pri:
* GNUmakefile.list.am:
* dfg/DFGOperations.cpp:
* interpreter/CallFrame.h:
(JSC::ExecState::objectPrototypeTable):
* jit/JITStubs.cpp:
(JSC::getByVal):
* llint/LLIntSlowPaths.cpp:
(JSC::LLInt::getByVal):
* runtime/CommonIdentifiers.h:
* runtime/JSCell.cpp:
(JSC):
* runtime/JSCell.h:
(JSCell):
* runtime/JSCellInlines.h:
(JSC):
(JSC::JSCell::fastGetOwnProperty):
* runtime/JSGlobalData.cpp:
(JSC):
(JSC::JSGlobalData::JSGlobalData):
(JSC::JSGlobalData::~JSGlobalData):
* runtime/JSGlobalData.h:
(JSGlobalData):
* runtime/JSObject.cpp:
(JSC):
* runtime/JSObject.h:
(JSObject):
(JSC):
* runtime/Lookup.cpp:
(JSC::setUpStaticFunctionSlot):
* runtime/ObjectPrototype.cpp:
(JSC):
(JSC::ObjectPrototype::finishCreation):
(JSC::ObjectPrototype::getOwnPropertySlot):
(JSC::ObjectPrototype::getOwnPropertyDescriptor):
* runtime/ObjectPrototype.h:
(JSC::ObjectPrototype::create):
(ObjectPrototype):
* runtime/PropertyMapHashTable.h:
(JSC::PropertyTable::findWithString):
* runtime/Structure.h:
(Structure):
* runtime/StructureInlines.h:
(JSC::Structure::get):

LayoutTests:

* fast/js/regress/script-tests/string-lookup-hit-identifier.js: Removed.
* fast/js/regress/script-tests/string-lookup-hit.js: Removed.
* fast/js/regress/script-tests/string-lookup-miss.js: Removed.
* fast/js/regress/string-lookup-hit-expected.txt: Removed.
* fast/js/regress/string-lookup-hit-identifier-expected.txt: Removed.
* fast/js/regress/string-lookup-hit-identifier.html: Removed.
* fast/js/regress/string-lookup-hit.html: Removed.
* fast/js/regress/string-lookup-miss-expected.txt: Removed.
* fast/js/regress/string-lookup-miss.html: Removed.


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

* platform/gtk/TestExpectations: Adding failure expectations for IDB tests that regressed with r145929.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@145946 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Don't also clone StructureRareData when cloning Structure.
<http://webkit.org/b/111672>

Reviewed by Mark Hahnenberg.

We were cloning a lot of StructureRareData with only the previousID pointer set since
the enumerationCache is not shared between clones.

Let the Structure copy constructor decide whether it wants to clone the rare data.
The decision is made by StructureRareData::needsCloning() and will currently always
return false, since StructureRareData only holds on to caches at present.
This may change in the future as more members are added to StructureRareData.

* runtime/Structure.cpp:
(JSC::Structure::Structure):
(JSC::Structure::cloneRareDataFrom):
* runtime/StructureInlines.h:
(JSC::Structure::create):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@145947 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Have the mac port support per_test_timeout in webkitpy
https://bugs.webkit.org/show_bug.cgi?id=112466

Reviewed by Dirk Pranke.

Both WTR and DRT handle --timeout arguments, so we can
have the scripts pass the timeout values down to the tools.

* Scripts/webkitpy/layout_tests/port/mac.py:
(MacPort.supports_per_test_timeout):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@145948 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[iOS] Update StringImpl's equal to have a single version on all supported Apple CPUs
https://bugs.webkit.org/show_bug.cgi?id=112400

Patch by Benjamin Poulain <bpoulain@apple.com> on 2013-03-15
Reviewed by Michael Saboff.

* wtf/text/StringImpl.h:
(WTF::equal):
Tweak the code to make it work on older Apple CPUs:
-Use external "ouput" variable instead of the registers R9 and R12. This gets rid
 of some register pressure previously imposed on the compiler. (Clang nicely
 choose R9 and R12 when needed, following iOS ABI).
-Instead of using "R3" for storing the length / 4, update the length by -4 on
 each iteration and work in the negative space for the tail. This frees one register
 which is then used for isEqual.
-Get rid of the unconditional branch from the loop. By using subs and working in the
 negative space, we can test for the Carry flag to jump back to the next LDR.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@145949 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[GTK] Enforce the C++11 standard when compiling WebKit2
https://bugs.webkit.org/show_bug.cgi?id=112169

Reviewed by Gustavo Noronha Silva.

With a limited set of supported compilers the WebKit2 source code can now
be built with the C++11 language standard enforced.

* GNUmakefile.am:
* UIProcess/API/gtk/WebKitWebContext.cpp:
(injectedBundleDirectory): Adjust the string literals concatenation, moving away from empty strings
(which C++11 refuses to handle as concatenation operators) and using whitespace instead.
* UIProcess/InspectorServer/gtk/WebInspectorServerGtk.cpp:
(WebKit::WebInspectorServer::platformResourceForPath): Ditto.
* UIProcess/gtk/WebInspectorProxyGtk.cpp:
(WebKit::inspectorFilesBasePath): Ditto.


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