[chromium] Add baselines for video-controls-layer-creation layout test

Unreviewed expectation update.

* compositing/video/video-controls-layer-creation-expected.txt: Added.
* platform/chromium-linux/compositing/video/video-controls-layer-creation-expected.png: Added.
* platform/chromium-mac-snowleopard/compositing/video/video-controls-layer-creation-expected.png: Added.
* platform/chromium-mac/compositing/video/video-controls-layer-creation-expected.png: Added.
* platform/chromium-win/compositing/video/video-controls-layer-creation-expected.png: Added.
* platform/mac/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125619 268f45cc-cd09-0410-ab3c-d52691b4dbfc
/SAFESEH should not be a common linker option
https://bugs.webkit.org/show_bug.cgi?id=89372

Patch by Alex Christensen <alex.christensen@flexsim.com> on 2012-08-14
Reviewed by Darin Adler.

* win/tools/vsprops/common.vsprops:
removed /SAFESEH as a default option for the linker (doesn't work for x64)

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125622 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Clear pattern to prevent timing problem between cancelVibration and vibrate
https://bugs.webkit.org/show_bug.cgi?id=93957

Patch by Kihong Kwon <kihong.kwon@samsung.com> on 2012-08-14
Reviewed by Kentaro Hara.

There is a timing issue in the cancelVibration.
Since vibrate works based on timer, cancelVibration might be called
eariler than vibrate when cancelVibration is called just after vibrate call.
It can be prevented from clearing m_pattern in the cancelVibration.

* Modules/vibration/Vibration.cpp:
(WebCore::Vibration::cancelVibration):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125624 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Chromium] Fix warnings on Windows build
https://bugs.webkit.org/show_bug.cgi?id=93997

Patch by Scott Graham <scottmg@chromium.org> on 2012-08-14
Reviewed by Kentaro Hara.

Fixes truncation from 'double' to 'float' warnings on Chromium Windows
build.

* tests/CCRenderSurfaceFiltersTest.cpp:
(WebKit::TEST):
* tests/CCScrollbarAnimationControllerLinearFadeTest.cpp:
(WebCore::TEST_F):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125625 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Refactor EventDispatcher, moving code to make actual changes easier to review later.
https://bugs.webkit.org/show_bug.cgi?id=93959

Reviewed by Dimitri Glazkov.

No new tests - no new functionality.

* dom/EventDispatcher.cpp:
(WebCore::EventDispatcher::dispatchScopedEvent):
(WebCore):
(WebCore::EventDispatcher::dispatchSimulatedClick):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125626 268f45cc-cd09-0410-ab3c-d52691b4dbfc
IndexedDB: add tracing to IDBLevelDBBackingStore
https://bugs.webkit.org/show_bug.cgi?id=93914

Patch by Alec Flett <alecflett@chromium.org> on 2012-08-14
Reviewed by Tony Chang.

Add a bunch of trace events to the lower level
database layer, to separate database slowness
from core IDB slowness.

Also moving findKeyInIndex into IDBLevelDBBackingStore to
eventually make it const.

No new tests, just adding debug logging.

* Modules/indexeddb/IDBLevelDBBackingStore.cpp:
(WebCore::IDBLevelDBBackingStore::open):
(WebCore::IDBLevelDBBackingStore::deleteDatabase):
(WebCore::IDBLevelDBBackingStore::getObjectStores):
(WebCore::IDBLevelDBBackingStore::createObjectStore):
(WebCore::IDBLevelDBBackingStore::deleteObjectStore):
(WebCore::IDBLevelDBBackingStore::getObjectStoreRecord):
(WebCore):
(WebCore::IDBLevelDBBackingStore::putObjectStoreRecord):
(WebCore::IDBLevelDBBackingStore::clearObjectStore):
(WebCore::IDBLevelDBBackingStore::deleteObjectStoreRecord):
(WebCore::IDBLevelDBBackingStore::keyExistsInObjectStore):
(WebCore::IDBLevelDBBackingStore::getIndexes):
(WebCore::IDBLevelDBBackingStore::createIndex):
(WebCore::IDBLevelDBBackingStore::deleteIndex):
(WebCore::IDBLevelDBBackingStore::putIndexDataForRecord):
(WebCore::IDBLevelDBBackingStore::findKeyInIndex):
(WebCore::IDBLevelDBBackingStore::getPrimaryKeyViaIndex):
(WebCore::IDBLevelDBBackingStore::keyExistsInIndex):
(WebCore::IDBLevelDBBackingStore::openObjectStoreCursor):
(WebCore::IDBLevelDBBackingStore::openIndexKeyCursor):
(WebCore::IDBLevelDBBackingStore::openIndexCursor):
(WebCore::IDBLevelDBBackingStore::Transaction::commit):
(WebCore::IDBLevelDBBackingStore::Transaction::rollback):
* Modules/indexeddb/IDBLevelDBBackingStore.h:
(IDBLevelDBBackingStore):
* Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
(WebCore):
* Modules/indexeddb/IDBTransaction.cpp:
(WebCore::IDBTransaction::onAbort):
(WebCore::IDBTransaction::onComplete):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125627 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[WK2] Fix some typos in MiniBrowser
https://bugs.webkit.org/show_bug.cgi?id=94047

Reviewed by Jon Honeycutt.

* MiniBrowser/mac/AppDelegate.m:
(didReceiveMessageFromInjectedBundle): (-[BrowserAppDelegate init]):
* MiniBrowser/mac/WebBundle/WebBundleMain.m:
(didReceiveMessage):
(WKBundleInitialize):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125628 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[CSS Shaders][Chromium] Filters area applied twice when CustomFilterOperation is in the list
https://bugs.webkit.org/show_bug.cgi?id=93900

Reviewed by James Robinson.

Source/WebCore:

Whenever the platform cannot render a shader in hardware it will fallback to software.
In such cases, the platform should remove any old filters applied, so that the filters do not apply twice.

Test: css3/filters/custom/filter-fallback-to-software.html

* platform/graphics/chromium/GraphicsLayerChromium.cpp:
(WebCore::GraphicsLayerChromium::setFilters):

LayoutTests:

Added a test that first applies a blur and then switches to a CSS Shader plus a blur.
The test was failing on Chromium by not removing the old blur filter from the platform layer.

* css3/filters/custom/filter-fallback-to-software-expected.html: Added.
* css3/filters/custom/filter-fallback-to-software.html: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125629 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Handle the XPath / (root) operator correctly for nodes that aren't attached to the document.
https://bugs.webkit.org/show_bug.cgi?id=36427

Reviewed by Abhishek Arya.

Source/WebCore:

We now behave the same as Firefox 14.
The consensus seems to be that the XPath spec is ambiguous for the case of detached nodes, and that using the fragment root is more intuitive than the document root for the case of detached nodes.
For example, http://www.w3.org/TR/xpath/ section 2 "Location Paths" is only clear for attached nodes: "A / by itself selects the root node of the document containing the context node. If it is followed by a relative location path, then the location path selects the set of nodes that would be selected by the relative location path relative to the root node of the document containing the context node."

Test: fast/xpath/xpath-detached-nodes.html

* xml/XPathPath.cpp:
(WebCore::XPath::LocationPath::evaluate): Jump to the root of the detached subtree instead of the parent document if the node isn't attached to the document.

LayoutTests:

* fast/xpath/xpath-detached-nodes-expected.txt: Added.
* fast/xpath/xpath-detached-nodes.html: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125631 268f45cc-cd09-0410-ab3c-d52691b4dbfc
r125591 broke tests with SUBPIXEL_LAYOUT disabled
https://bugs.webkit.org/show_bug.cgi?id=94027

Reviewed by Eric Seidel.

The previous patch to fix block preferred widths for subpixel layout broke ports
without the flag enabled. This patch adds a static inline function --
adjustFloatForSubPixelLayout -- that truncates with sub-pixel layout disabled, and
ceil's to the nearest FractionalLayoutUnit when sub-pixel layout is enabled.

A block's max preferred width should be enough to layout the entire line without
wrapping. r125591 addressed a bug whereby converting floats to LayoutUnits with sub-
pixel layout enabled lost precision in certain cases, and could result in a line
being layed out to slightly over the max preferred width of the block.

This patch reverts the behavior when sub-pixel layout is disabled to truncating
sub-pixel values (such as those that originate in Length) when assigning them to
LayoutUnits, and ceiling the length of the entire line to the next largest integer.

Covered by existing tests.

* rendering/RenderBlock.cpp:
(WebCore):
(WebCore::adjustFloatForSubPixelLayout):
(WebCore::RenderBlock::computeInlinePreferredLogicalWidths):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125632 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Initial call to webkitRequestAnimationFrame returns 0, Spec indicates the handle should always be > 0
https://bugs.webkit.org/show_bug.cgi?id=85819

Reviewed by James Robinson.

Source/WebCore:

The callback id returned by requestAnimationFrame was beginning at zero, when the spec
says it should be above one. Use a pre-increment rather than a post-increment.

Test: fast/animation/request-animation-frame-callback-id.html

* dom/ScriptedAnimationController.cpp:
(WebCore::ScriptedAnimationController::registerCallback): Pre-increment rather than post-increment.

LayoutTests:

* fast/animation/request-animation-frame-callback-id-expected.txt: Added.
* fast/animation/request-animation-frame-callback-id.html: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125633 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Forms] Make input type "time" to use multiple field time input UI
https://bugs.webkit.org/show_bug.cgi?id=93929

Reviewed by Kent Tamura.

Source/WebCore:

This patch changes input type "time" UI to use multiple field time
input UI when build flag ENABLE_INPUT_TYPE_TIME_MULTIPLE_FIELDS
enabled.

No new tests. This patch doesn't change behavior for users, however,
this patch changes behavior on layout tests. Tests will be added
in another patch with runtime enabled feature flag is enabled.

Test expectations for following tests are updated:
 - fast/forms/time/time-input-visible-string.html
 - fast/forms/time/time-stepup-stepdown-from-renderer.html

* html/BaseDateAndTimeInputType.h:
(BaseDateAndTimeInputType): Exposed serialize() to derived classes.
* html/TimeInputType.cpp:
(WebCore::TimeInputType::DateTimeEditControlOwnerImpl::DateTimeEditControlOwnerImpl):
(WebCore::TimeInputType::DateTimeEditControlOwnerImpl::~DateTimeEditControlOwnerImpl):
(WebCore::TimeInputType::DateTimeEditControlOwnerImpl::editControlMouseFocus):
(WebCore::TimeInputType::DateTimeEditControlOwnerImpl::editControlValueChanged):
(WebCore::TimeInputType::DateTimeEditControlOwnerImpl::isEditControlOwnerDisabled):
(WebCore::TimeInputType::DateTimeEditControlOwnerImpl::isEditControlOwnerReadOnly):
(WebCore::TimeInputType::TimeInputType):
(WebCore::TimeInputType::~TimeInputType):
(WebCore::TimeInputType::createRenderer):
(WebCore::TimeInputType::createShadowSubtree):
(WebCore::TimeInputType::destroyShadowSubtree):
(WebCore::TimeInputType::forwardEvent):
(WebCore::TimeInputType::disabledAttributeChanged):
(WebCore::TimeInputType::handleKeydownEvent):
(WebCore::TimeInputType::handleDOMActivateEvent):
(WebCore::TimeInputType::isKeyboardFocusable):
(WebCore::TimeInputType::isMouseFocusable):
(WebCore::TimeInputType::minOrMaxAttributeChanged):
(WebCore::TimeInputType::readonlyAttributeChanged):
(WebCore::TimeInputType::isTextField):
(WebCore::TimeInputType::setValue):
(WebCore::TimeInputType::shouldUseInputMethod):
(WebCore::TimeInputType::stepAttributeChanged):
(WebCore::TimeInputType::updateEditElementLayout):
(WebCore::TimeInputType::updateInnerTextValue):
(WebCore::TimeInputType):
* html/TimeInputType.h:
(TimeInputType):
(DateTimeEditControlOwnerImpl):

LayoutTests:

This patch added test expectations for multiple fields time input UI
testing which are different behavior from single field time input UI
for Chromium which enables multiple fields time input UI.

* platform/chromium/fast/forms/time/time-input-visible-string-expected.txt: Select all in a field doesn't select text.
* platform/chromium/fast/forms/time/time-stepup-stepdown-from-renderer-expected.txt: Fields don't change value on Up/Down keyboard events when they don't have focus and Up/Down keyboard increment/decrement value on hour field rather than minute field.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125634 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Fix access to m_markupBox in WebCore::EllipsisBox::paint
https://bugs.webkit.org/show_bug.cgi?id=91138

Reviewed by Abhishek Arya.

Source/WebCore:

EllipsisBox would hold on to m_markupBox, which would then get destroyed during
the followup layoutIfNeeded in layoutVerticalBox. Instead, have EllipsisBox
dynamically grab to pointer to the markup box during paint since there's no
straightforward way to notify the EllipsisBox that the markupBox has been destroyed
and/or point it at the new markupBox.

Test: fast/overflow/line-clamp-and-columns.html

* rendering/EllipsisBox.cpp:
(WebCore::EllipsisBox::paint):
(WebCore):
(WebCore::EllipsisBox::paintMarkupBox):
* rendering/EllipsisBox.h:
(WebCore::EllipsisBox::EllipsisBox):
Just store a boolean that we have a markup box that needs painting.
* rendering/RenderDeprecatedFlexibleBox.cpp:
(WebCore::RenderDeprecatedFlexibleBox::applyLineClamp):
Clearing the override size right after setting it was incorrect because
there are cases where we'll do a followup layout in layoutVerticalBox, at which
point we'll still need the override size.
(WebCore::RenderDeprecatedFlexibleBox::clearLineClamp):
Clear the override size here to handle cases where line clamp is removed since
we don't call applyLineClamp in those cases.

LayoutTests:

* fast/overflow/line-clamp-and-columns-expected.html: Added.
* fast/overflow/line-clamp-and-columns.html: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125635 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Chromium] Unreviewed test expectation update. Address new flakiness
and slow tests.

* platform/chromium/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125636 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Array checks should use the structure, not the class info
https://bugs.webkit.org/show_bug.cgi?id=93150

Reviewed by Mark Hahnenberg.

This changes all array checks used in array accesses (get, put, get length,
push, pop) to use the structure, not the class info. Additionally, these
checks in the LLInt and baseline JIT record the structure in an ArrayProfile,
so that the DFG can know exactly what structure to check for.
        
* CMakeLists.txt:
* GNUmakefile.list.am:
* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
* JavaScriptCore.xcodeproj/project.pbxproj:
* Target.pri:
* bytecode/ArrayProfile.cpp: Added.
(JSC):
(JSC::ArrayProfile::computeUpdatedPrediction):
* bytecode/ArrayProfile.h: Added.
(JSC):
(JSC::arrayModeFromStructure):
(ArrayProfile):
(JSC::ArrayProfile::ArrayProfile):
(JSC::ArrayProfile::bytecodeOffset):
(JSC::ArrayProfile::addressOfLastSeenStructure):
(JSC::ArrayProfile::observeStructure):
(JSC::ArrayProfile::expectedStructure):
(JSC::ArrayProfile::structureIsPolymorphic):
(JSC::ArrayProfile::hasDefiniteStructure):
(JSC::ArrayProfile::observedArrayModes):
* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::dump):
(JSC::CodeBlock::getArrayProfile):
(JSC):
(JSC::CodeBlock::getOrAddArrayProfile):
(JSC::CodeBlock::updateAllPredictionsAndCountLiveness):
* bytecode/CodeBlock.h:
(JSC::CodeBlock::executionEntryCount):
(JSC::CodeBlock::numberOfArrayProfiles):
(JSC::CodeBlock::arrayProfiles):
(JSC::CodeBlock::addArrayProfile):
(CodeBlock):
* bytecode/Instruction.h:
(JSC):
(JSC::Instruction::Instruction):
* bytecode/Opcode.h:
(JSC):
(JSC::padOpcodeName):
* bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::emitGetArgumentByVal):
(JSC::BytecodeGenerator::emitGetByVal):
(JSC::BytecodeGenerator::emitPutByVal):
* dfg/DFGAbstractState.cpp:
(JSC::DFG::AbstractState::initialize):
(JSC::DFG::AbstractState::execute):
* dfg/DFGAbstractValue.h:
(JSC::DFG::StructureAbstractValue::hasSingleton):
(StructureAbstractValue):
(JSC::DFG::StructureAbstractValue::singleton):
* dfg/DFGArgumentsSimplificationPhase.cpp:
(JSC::DFG::ArgumentsSimplificationPhase::run):
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::parseBlock):
* dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::speculateArray):
(DFG):
(JSC::DFG::SpeculativeJIT::compile):
(JSC::DFG::SpeculativeJIT::checkArgumentTypes):
(JSC::DFG::SpeculativeJIT::compileGetIndexedPropertyStorage):
* dfg/DFGSpeculativeJIT.h:
(SpeculativeJIT):
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGStructureCheckHoistingPhase.cpp:
(JSC::DFG::StructureCheckHoistingPhase::run):
* jit/JITPropertyAccess.cpp:
(JSC::JIT::emit_op_get_by_val):
(JSC::JIT::emit_op_put_by_val):
(JSC::JIT::privateCompilePatchGetArrayLength):
* jit/JITPropertyAccess32_64.cpp:
(JSC::JIT::emit_op_get_by_val):
(JSC::JIT::emit_op_put_by_val):
(JSC::JIT::privateCompilePatchGetArrayLength):
* llint/LLIntOffsetsExtractor.cpp:
* llint/LowLevelInterpreter32_64.asm:
* llint/LowLevelInterpreter64.asm:
* runtime/Structure.h:
(Structure):
(JSC::Structure::classInfoOffset):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125637 268f45cc-cd09-0410-ab3c-d52691b4dbfc
fast/events/overflow-scroll-fake-mouse-move.html and fast/events/frame-scroll-fake-mouse-move.html are failing in WebKit1
https://bugs.webkit.org/show_bug.cgi?id=94045

Reviewed by Geoff Garen.

* DumpRenderTree/mac/DumpRenderTreeWindow.mm:
(-[DumpRenderTreeWindow _hasKeyAppearance]): Added. Returns [self isKeyWindow]. This is
needed now that WebView uses -_hasKeyAppearance instead of -isKeyWindow.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125638 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed, build fix for !ENABLE(DFG_JIT)

* jit/JITPropertyAccess.cpp:
(JSC::JIT::emit_op_get_by_val):
(JSC::JIT::emit_op_put_by_val):
(JSC::JIT::privateCompilePatchGetArrayLength):
* jit/JITPropertyAccess32_64.cpp:
(JSC::JIT::emit_op_get_by_val):
(JSC::JIT::emit_op_put_by_val):
(JSC::JIT::privateCompilePatchGetArrayLength):
* llint/LowLevelInterpreter32_64.asm:
* llint/LowLevelInterpreter64.asm:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125639 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Chromium] Unreviewed. Add new test expectation for nested-rounded-corners.html.

* platform/chromium/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125640 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Share common code between calendar picker and color suggestion picker
https://bugs.webkit.org/show_bug.cgi?id=93802

Reviewed by Kent Tamura.

.:

* ManualTests/forms/calendar-picker.html:
* ManualTests/forms/color-suggestion-picker.html:

Source/WebCore:

We want to share common code like utility functions between picker page popups.

No new tests because no behavior change. Covered by existing tests, color-suggestion-picker-appearance.html and calendar-picker-apeparance.html.

* Resources/pagepopups/calendarPicker.js:
(YearMonthController.prototype.attachTo):
(YearMonthController.prototype._showPopup):
* Resources/pagepopups/colorSuggestionPicker.js:
(handleMessage):
(handleArgumentsTimeout):
* Resources/pagepopups/pickerCommon.css: Added.
(body):
* Resources/pagepopups/pickerCommon.js: Added.
(createElement):
(resizeWindow):
(getScrollbarWidth):
* WebCore.gyp/WebCore.gyp: Add actions for pickerCommon.{css,js}
* html/shadow/CalendarPickerElement.cpp:
(WebCore::CalendarPickerElement::writeDocument):

Source/WebKit/chromium:

* src/ColorChooserUIController.cpp:
(WebKit::ColorChooserUIController::writeDocument):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125641 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Chromium] Unreviewed, another gardening. Add one slow test.

* platform/chromium/TestExpectations:

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