editing/pasteboard/paste-4035648-fix.html should be a dump-as-markup test
https://bugs.webkit.org/show_bug.cgi?id=111639

Reviewed by Levi Weintraub.

Converted the test. Also renamed it to line-feed-between-br-and-b-should-not-reorder-pasted-content.html
to reflect the semantics of the test, and also added more description per radar bug.

* editing/pasteboard/line-feed-between-br-and-b-should-not-reorder-pasted-content-expected.txt: Added.
* editing/pasteboard/line-feed-between-br-and-b-should-not-reorder-pasted-content.html: Copied from
LayoutTests/editing/pasteboard/paste-4035648-fix.html.
* editing/pasteboard/paste-4035648-fix.html: Removed.
* platform/chromium-linux/editing/pasteboard/paste-4035648-fix-expected.png: Removed.
* platform/chromium-mac-lion/editing/pasteboard/paste-4035648-fix-expected.png: Removed.
* platform/chromium-mac/editing/pasteboard/paste-4035648-fix-expected.png: Removed.
* platform/chromium-win/editing/pasteboard/paste-4035648-fix-expected.png: Removed.
* platform/chromium-win/editing/pasteboard/paste-4035648-fix-expected.txt: Removed.
* platform/chromium/editing/pasteboard/paste-4035648-fix-expected.txt: Removed.
* platform/gtk/editing/pasteboard/paste-4035648-fix-expected.png: Removed.
* platform/gtk/editing/pasteboard/paste-4035648-fix-expected.txt: Removed.
* platform/mac/editing/pasteboard/paste-4035648-fix-expected.png: Removed.
* platform/mac/editing/pasteboard/paste-4035648-fix-expected.txt: Removed.
* platform/qt/editing/pasteboard/paste-4035648-fix-expected.png: Removed.
* platform/qt/editing/pasteboard/paste-4035648-fix-expected.txt: Removed.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@144999 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Bring back eager resolution of function scoped variables
https://bugs.webkit.org/show_bug.cgi?id=111497

Reviewed by Geoffrey Garen.

This reverts the get/put_scoped_var part of the great non-local
variable resolution refactoring.  This still leaves all the lazy
variable resolution logic as it's necessary for global property
resolution, and i don't want to make the patch bigger than it
already is.

* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::dumpBytecode):
(JSC::CodeBlock::CodeBlock):
* bytecode/CodeBlock.h:
(CodeBlock):
* bytecode/Opcode.h:
(JSC):
(JSC::padOpcodeName):
* bytecode/UnlinkedCodeBlock.cpp:
(JSC::generateFunctionCodeBlock):
(JSC::UnlinkedFunctionExecutable::codeBlockFor):
(JSC::UnlinkedCodeBlock::UnlinkedCodeBlock):
* bytecode/UnlinkedCodeBlock.h:
(JSC):
(UnlinkedFunctionExecutable):
(UnlinkedCodeBlock):
(JSC::UnlinkedCodeBlock::usesGlobalObject):
(JSC::UnlinkedCodeBlock::setGlobalObjectRegister):
(JSC::UnlinkedCodeBlock::globalObjectRegister):
* bytecompiler/BytecodeGenerator.cpp:
(JSC::ResolveResult::checkValidity):
(JSC::BytecodeGenerator::BytecodeGenerator):
(JSC::BytecodeGenerator::emitLoadGlobalObject):
(JSC):
(JSC::BytecodeGenerator::resolve):
(JSC::BytecodeGenerator::resolveConstDecl):
(JSC::BytecodeGenerator::emitResolve):
(JSC::BytecodeGenerator::emitResolveBase):
(JSC::BytecodeGenerator::emitResolveBaseForPut):
(JSC::BytecodeGenerator::emitResolveWithBaseForPut):
(JSC::BytecodeGenerator::emitResolveWithThis):
(JSC::BytecodeGenerator::emitGetStaticVar):
(JSC::BytecodeGenerator::emitPutStaticVar):
* bytecompiler/BytecodeGenerator.h:
(JSC::ResolveResult::lexicalResolve):
(JSC::ResolveResult::isStatic):
(JSC::ResolveResult::depth):
(JSC::ResolveResult::index):
(ResolveResult):
(JSC::ResolveResult::ResolveResult):
(BytecodeGenerator):
* bytecompiler/NodesCodegen.cpp:
(JSC::ResolveNode::isPure):
(JSC::FunctionCallResolveNode::emitBytecode):
(JSC::PostfixNode::emitResolve):
(JSC::TypeOfResolveNode::emitBytecode):
(JSC::PrefixNode::emitResolve):
(JSC::ReadModifyResolveNode::emitBytecode):
(JSC::AssignResolveNode::emitBytecode):
(JSC::ConstDeclNode::emitCodeSingle):
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::parseBlock):
* dfg/DFGCapabilities.cpp:
(JSC::DFG::debugFail):
* dfg/DFGCapabilities.h:
(JSC::DFG::canCompileOpcode):
(JSC::DFG::canInlineOpcode):
* jit/JIT.cpp:
(JSC::JIT::privateCompileMainPass):
* jit/JIT.h:
(JIT):
* jit/JITPropertyAccess.cpp:
(JSC::JIT::emit_op_get_scoped_var):
(JSC):
(JSC::JIT::emit_op_put_scoped_var):
* jit/JITPropertyAccess32_64.cpp:
(JSC::JIT::emit_op_get_scoped_var):
(JSC):
(JSC::JIT::emit_op_put_scoped_var):
* llint/LowLevelInterpreter32_64.asm:
* llint/LowLevelInterpreter64.asm:
* runtime/CodeCache.cpp:
(JSC::CodeCache::getCodeBlock):
(JSC::CodeCache::getProgramCodeBlock):
(JSC::CodeCache::getEvalCodeBlock):
* runtime/CodeCache.h:
(JSC):
(CodeCache):
* runtime/Executable.cpp:
(JSC::EvalExecutable::compileInternal):
(JSC::FunctionExecutable::produceCodeBlockFor):
* runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::createEvalCodeBlock):
* runtime/JSGlobalObject.h:
(JSGlobalObject):
* runtime/Options.cpp:
(JSC::Options::initialize):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@145000 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Full screen from an iframe with a z-index style will allow siblings with higher z-index to overlay full screen content.
https://bugs.webkit.org/show_bug.cgi?id=111637

Reviewed by Simon Fraser.

Source/WebCore:

No new tests; updated fullscreen/full-screen-iframe-zIndex.html to expose bug.

Pages with explicit z-index: styles on their iframes will override the default z-index: UA style when
elements within that iframe enter full screen mode. Mark the UA style as !important so as to not allow
iframe siblings with higher z-index styles to overlay the full screen element.

* css/fullscreen.css:
(:-webkit-full-screen):

LayoutTests:

* fullscreen/full-screen-iframe-zIndex.html:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@145001 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[GTK] Return m_inspectorFilesPath if it is not null
https://bugs.webkit.org/show_bug.cgi?id=111633

Patch by Sudarsana Nagineni <sudarsana.nagineni@intel.com> on 2013-03-06
Reviewed by Martin Robinson.

Added missing return in InspectorClient::inspectorFilesPath().

* WebCoreSupport/InspectorClientGtk.cpp:
(WebKit::InspectorClient::inspectorFilesPath):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@145002 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Default mouse cursor behavior should be auto-hide for full screen video with custom controls
https://bugs.webkit.org/show_bug.cgi?id=107601

Reviewed by Beth Dakin.

Source/WebCore:

Test: fullscreen/video-cursor-auto-hide.html

To facilitate automatically hiding the mouse cursor after a certain amount of idle mouse
time, add a new CSS property '-webkit-cursor-visibility', and handle that value inside of
EventHandler. When that value is present, the EventHandler will start a timer which, when
fired, will set the view's cursor to the None cursor. Subsequent mouse moves will either
cancel the timer, or reset the auto-hide timer.

Add a new CSS property, '-webkit-cursor-visibility':
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
* css/CSSParser.cpp:
(WebCore::CSSParser::parseValue):
* css/CSSPrimitiveValueMappings.h:
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
(WebCore::CSSPrimitiveValue::operator ECursorVisibility):
* css/CSSProperty.cpp:
(WebCore::CSSProperty::isInheritedProperty):
* css/CSSPropertyNames.in:
* css/CSSValueKeywords.in:
* css/StyleBuilder.cpp:
(WebCore::StyleBuilder::StyleBuilder):
* css/StyleResolver.cpp:
(WebCore::StyleResolver::applyProperty):

Add a rule for video descendants of full screen elements to auto-hide the cursor on hover:
* css/fullscreen.css:
(:-webkit-full-screen video:hover):

Add a new timer, m_autoHideCursorTimer, to control resetting the view's cursor to None after
enough mouse idle time has passed.
* page/EventHandler.cpp:
(WebCore::EventHandler::EventHandler):
(WebCore::EventHandler::~EventHandler):
(WebCore::EventHandler::clear):
(WebCore::EventHandler::selectCursor):
(WebCore::EventHandler::startAutoHideCursorTimer):
(WebCore::EventHandler::cancelAutoHideCursorTimer):
(WebCore::EventHandler::autoHideCursorTimerFired):
* page/EventHandler.h:

Make FrameView::isActive() a public function (like it is in its superclass).
* page/FrameView.h:
(FrameView):

Move the definition for timeWithoutMouseMovementBeforeHidingControls from page->theme()
to page->settings() and allow that setting to be overridden in InternalSettings for
testing purposes:
* page/Settings.cpp:
(WebCore::Settings::Settings):
* page/Settings.h:
(WebCore::Settings::setTimeWithoutMouseMovementBeforeHidingControls):
(WebCore::Settings::timeWithoutMouseMovementBeforeHidingControls):
* rendering/RenderTheme.h:
* testing/InternalSettings.cpp:
(WebCore::InternalSettings::Backup::Backup):
(WebCore::InternalSettings::Backup::restoreTo):
(WebCore::InternalSettings::setTimeWithoutMouseMovementBeforeHidingControls):
* testing/InternalSettings.h:
(InternalSettings):
* testing/InternalSettings.idl:
* html/shadow/MediaControls.cpp:
(WebCore::MediaControls::startHideFullscreenControlsTimer):

Add support to FeatureObserver for CURSOR_VISIBILITY:
* page/FeatureObserver.h:

Enable the feature flag:
* Configurations/FeatureDefines.xcconfig:

Source/WebKit:

Enable the CURSOR_VISIBILITY feature.

* WebKit.vcxproj/FeatureDefines.props:

Source/WebKit/mac:

Enable the CURSOR_VISIBILITY feature.

* Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

Enable the CURSOR_VISIBILITY feature.

* Configurations/FeatureDefines.xcconfig:

Source/WTF:

Enable the CURSOR_VISIBILITY feature.

* wtf/FeatureDefines.h:

LayoutTests:

* fullscreen/video-cursor-auto-hide-expected.txt: Added.
* fullscreen/video-cursor-auto-hide.html: Added.

Add an expected failing result in platforms which do not enable CURSOR_VISIBILITY.
* platform/chromium/TestExpectations:
* platform/efl/TestExpectations:
* platform/gtk/TestExpectations:
* platform/qt/TestExpectations:

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