1. 23 Aug, 2012 40 commits
    • eae@chromium.org's avatar
      Add saturation arithmetic support to FractionalLayoutUnit · 5fcc0d68
      eae@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=94364
      
      Reviewed by Benjamin Poulain.
      
      Source/WebCore:
      
      Add experimental saturation arithmetic support to FractionalLayoutUnit,
      guarded by a flag.
      The idea here is to saturate (or clamp) rather than overflow when
      computing positions and sizes.
      
      No new tests for WebCore, not enabled by default.
      
      * platform/FractionalLayoutUnit.h:
      (WebCore::FractionalLayoutUnit::intMinForLayoutUnit):
      Use INT_MIN instead of -INT_MAX to compute minimum value as the two are
      not the same.
      
      (WebCore::FractionalLayoutUnit::FractionalLayoutUnit):
      (WebCore::FractionalLayoutUnit::fromFloatCeil):
      (WebCore::FractionalLayoutUnit::fromFloatFloor):
      (WebCore::FractionalLayoutUnit::fromFloatRound):
      (WebCore::FractionalLayoutUnit::setValue):
      Add range checks.
      
      (WebCore::operator*):
      (WebCore::operator+):
      (WebCore::operator-):
      (WebCore::operator+=):
      (WebCore::operator-=):
      Use the saturatedAddition and saturatedSubtraction functions, which have
      been optimized to reduce branching, instead of range checks for the most
      common operators.
      
      Source/WTF:
      
      Add support functions for saturated addition and subtraction.
      
      Test: TestWebKitAPI/Tests/WTF/SaturatedArithmeticOperations.cpp
      
      * GNUmakefile.list.am:
      * WTF.gypi:
      * WTF.pro:
      * WTF.vcproj/WTF.vcproj:
      * WTF.xcodeproj/project.pbxproj:
      * WTF/wtf/CMakeLists.txt:
      Add SaturatedArithmetic.h to build files.
      
      * wtf/SaturatedArithmetic.h: Added.
      (saturatedAddition):
      (saturatedSubtraction):
      Support functions for saturated addition/subtraction. Compares the signed
      bit of the values instead of using range checks to reduce branching.
      
      * wtf/Platform.h:
      Add ENABLE_SATURATED_LAYOUT_ARITHMETIC flag.
      
      Tools:
      
      Add test for new saturatedArithmetic functions.
      
      * TestWebKitAPI/CMakeLists.txt:
      * TestWebKitAPI/GNUmakefile.am:
      * TestWebKitAPI/TestWebKitAPI.gypi:
      * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
      * TestWebKitAPI/Tests/WTF/SaturatedArithmeticOperations.cpp: Added.
      (TestWebKitAPI):
      (TestWebKitAPI::TEST):
      * TestWebKitAPI/win/TestWebKitAPI.vcproj:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126509 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5fcc0d68
    • haraken@chromium.org's avatar
      Unreviewed. Just added comments I forgot to add in r126506. · 0979988e
      haraken@chromium.org authored
      * bindings/v8/ScriptController.h:
      (WebCore):
      (ScriptController):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126508 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0979988e
    • kbr@google.com's avatar
      Unreviewed, rolling out r126483. · b56ad5f6
      kbr@google.com authored
      http://trac.webkit.org/changeset/126483
      https://bugs.webkit.org/show_bug.cgi?id=92272
      
      Caused two Chromium browser_tests to time out 100% reliably.
      
      * loader/FrameLoader.cpp:
      (WebCore::FrameLoader::init):
      (WebCore::FrameLoader::prepareForLoadStart):
      (WebCore::FrameLoader::clearProvisionalLoad):
      (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
      (WebCore::FrameLoader::detachFromParent):
      * loader/FrameLoader.h:
      (FrameLoader):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126507 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b56ad5f6
    • haraken@chromium.org's avatar
      [V8] Remove V8Proxy.{h,cpp} · 53d0c05d
      haraken@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=94794
      
      Reviewed by Dimitri Glazkov.
      
      Now V8Proxy is no longer used. We can completely remove V8Proxy from the codebase.
      
      No tests. No change in behavior.
      
      Source/WebCore:
      
      * UseV8.cmake:
      * WebCore.gypi:
      * bindings/scripts/CodeGeneratorV8.pm:
      (GenerateImplementation):
      (GenerateCallbackImplementation):
      * bindings/scripts/test/V8/V8Float64Array.cpp:
      * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
      * bindings/scripts/test/V8/V8TestCallback.cpp:
      * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
      * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
      * bindings/scripts/test/V8/V8TestEventTarget.cpp:
      * bindings/scripts/test/V8/V8TestException.cpp:
      * bindings/scripts/test/V8/V8TestInterface.cpp:
      * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
      * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
      * bindings/scripts/test/V8/V8TestNode.cpp:
      * bindings/scripts/test/V8/V8TestObj.cpp:
      * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
      * bindings/v8/ScriptController.cpp:
      (WebCore::ScriptController::ScriptController):
      (WebCore::ScriptController::~ScriptController):
      (WebCore::ScriptController::callFunction):
      (WebCore::ScriptController::clearWindowShell):
      * bindings/v8/ScriptController.h:
      (WebCore):
      (ScriptController):
      * bindings/v8/V8AbstractEventListener.h:
      (WebCore):
      * bindings/v8/V8Binding.cpp:
      * bindings/v8/V8DOMWindowShell.cpp:
      (WebCore::reportFatalErrorInV8):
      * bindings/v8/V8DOMWrapper.h:
      (WebCore):
      * bindings/v8/V8ObjectConstructor.cpp:
      (WebCore::V8ObjectConstructor::newInstanceInDocument):
      * bindings/v8/V8Proxy.cpp: Removed.
      * bindings/v8/V8Proxy.h: Removed.
      * bindings/v8/V8RecursionScope.h:
      (WebCore):
      * bindings/v8/V8Utilities.cpp:
      * bindings/v8/custom/V8CustomXPathNSResolver.h:
      
      Source/WebKit/chromium:
      
      * src/ChromeClientImpl.cpp:
      * src/WebBindings.cpp:
      * src/WebDOMMessageEvent.cpp:
      * src/WebDevToolsAgentImpl.cpp:
      * src/WebMediaPlayerClientImpl.cpp:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126506 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      53d0c05d
    • oliver@apple.com's avatar
      Autogenerate Opcode definitions · 4249a95e
      oliver@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=94840
      
      Reviewed by Gavin Barraclough.
      
      Start the process of autogenerating the code emission for the bytecode.
      We'll just start with automatic generation of the list of Opcodes as that
      requires the actual definition of the opcodes, and the logic for parsing
      them.
      
      Due to some rather annoying dependency cycles, this initial version has
      the OpcodeDefinitions.h file checked into the tree, although with some
      work I hope to be able to fix that.
      
      * DerivedSources.make:
      * JavaScriptCore.xcodeproj/project.pbxproj:
      * bytecode/Opcode.h:
        Include OpcodeDefinitions.h as our definitive source of info
        about the opcodes.
      * bytecode/OpcodeDefinitions.h: Added.
        Autogenerated file
      * bytecode/opcodes: Added.
        The new opcode definition file
      * opcode_definition_generator.py: Added.
      (generateOpcodeDefinition):
      (generate):
        Module that generates the content for OpcodeDefinitions.h
      * opcode_generator.py: Added.
      (printUsage):
      (main):
        Driver script
      * opcode_parser.py: Added.
        Simple parser for the opcode definitions.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126505 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4249a95e
    • commit-queue@webkit.org's avatar
      [BlackBerry] Add a check to filter out cookies that tries to set the domain to a top level domain · 31d99047
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=94722
      
      Patch by Otto Derek Cheung <otcheung@rim.com> on 2012-08-23
      Reviewed by Rob Buis.
      
      Changing the topleveldomain method name for better readability.
      
      Also renaming the TopLevelDomain.h in platform to DomainTools
      because there exists other tests that should belong in the same file.
      
      Only changing method names and include file names.
      
      * platform/blackberry/CookieParser.cpp:
      (WebCore::CookieParser::parseOneCookie):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126504 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      31d99047
    • commit-queue@webkit.org's avatar
      Fix cross-direction stretch for replaced elements in column flexbox · f165a9b2
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=94604
      
      Patch by Shezan Baig <shezbaig.wk@gmail.com> on 2012-08-23
      Reviewed by Ojan Vafai.
      
      Source/WebCore:
      
      Moved the logic that constrains logical width by MinSize and MaxSize to
      a new helper function called constrainLogicalWidthInRegionByMinMax.
      This helper function is used from both computeLogicalWidthInRegion and
      RenderFlexibleBox::applyStretchAlignmentToChild.
      
      RenderFlexibleBox no longer checks for isMultiline when stretching
      elements in a column flexbox. Instead, we now constrain the available
      width by the child's min-width and max-width, and set the override
      width only if that constrained width is different from the child's
      current logicalWidth.
      
      No new tests. The existing css3/flexbox/flexitem.html test was extended
      to exercise the new code.
      
      * rendering/RenderBox.cpp:
      (WebCore::RenderBox::constrainLogicalWidthInRegionByMinMax): New helper
      method to constrain logical width by min-width and max-width.
      (WebCore):
      (WebCore::RenderBox::computeLogicalWidthInRegion): Changed to use the
      new constrainLogicalWidthInRegionByMinMax helper method.
      * rendering/RenderBox.h:
      (RenderBox):
      * rendering/RenderFlexibleBox.cpp:
      (WebCore::RenderFlexibleBox::applyStretchAlignmentToChild): Changed to
      use constrainLogicalWidthInRegionByMinMax to determine the override
      width for the child.
      
      LayoutTests:
      
      Fixed failing test cases. Add tests for min/max width/height.
      
      * css3/flexbox/flexitem-expected.txt:
      * css3/flexbox/flexitem.html:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126503 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f165a9b2
    • abarth@webkit.org's avatar
      [V8] ScriptState is using stone knifes and bear skins · 3115a9c8
      abarth@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=94846
      
      Reviewed by Eric Seidel.
      
      This patch just modernizes ScriptState to use some of the newer tools
      available in the V8 bindings. There shouldn't be any behavior changes.
      
      * bindings/v8/ScriptState.cpp:
      (WebCore::ScriptState::ScriptState):
      (WebCore::ScriptState::~ScriptState):
      (WebCore::ScriptState::domWindow):
      (WebCore::ScriptState::scriptExecutionContext):
      (WebCore::ScriptState::forContext):
      (WebCore::ScriptState::current):
      * bindings/v8/ScriptState.h:
      (WebCore):
      (WebCore::ScriptState::context):
      (ScriptState):
      (WebCore::ScriptStateProtectedPtr::ScriptStateProtectedPtr):
      (ScriptStateProtectedPtr):
      * bindings/v8/V8Binding.cpp:
      (WebCore::toScriptExecutionContext):
      (WebCore):
      * bindings/v8/V8Binding.h:
      (WebCore):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126502 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3115a9c8
    • danakj@chromium.org's avatar
      [chromium] Don't require a RenderSurface* in order to create a RenderPass · 6b601d16
      danakj@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=94862
      
      Reviewed by Adrienne Walker.
      
      Source/WebCore:
      
      If a test wants to create a RenderPass, they are required to create a
      Layer, and a RenderSurface. This is not ideal, we should let tests
      create RenderPasses more simply by giving the information that it needs.
      
      This also helps us recreate the RenderPasses after receiving a copy
      via IPC.
      
      * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
      (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
      * platform/graphics/chromium/cc/CCRenderPass.cpp:
      (WebCore::CCRenderPass::create):
      (WebCore::CCRenderPass::CCRenderPass):
      * platform/graphics/chromium/cc/CCRenderPass.h:
      (CCRenderPass):
      
      Source/WebKit/chromium:
      
      * tests/CCLayerTreeHostImplTest.cpp:
      * tests/CCRendererGLTest.cpp:
      (FakeCCRendererClient::FakeCCRendererClient):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126501 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6b601d16
    • abarth@webkit.org's avatar
      [V8] ScriptValue should use ScopedPresistent rather than calling New/Dispose directly · 4963b09f
      abarth@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=94864
      
      Reviewed by Eric Seidel.
      
      ScriptValue was created before ScopedPersistent existed and therefore
      calls New/Dispose manually. Instead, it should use the less error-prone
      approach of having ScopedPersistent balance those calls.
      
      * bindings/v8/ScriptValue.cpp:
      (WebCore::ScriptValue::serialize):
      (WebCore::ScriptValue::getString):
      (WebCore::ScriptValue::toString):
      (WebCore::ScriptValue::toInspectorValue):
      * bindings/v8/ScriptValue.h:
      (WebCore::ScriptValue::ScriptValue):
      (WebCore::ScriptValue::operator=):
      (WebCore::ScriptValue::operator==):
      (WebCore::ScriptValue::isEqual):
      (WebCore::ScriptValue::isFunction):
      (WebCore::ScriptValue::isNull):
      (WebCore::ScriptValue::isUndefined):
      (WebCore::ScriptValue::isObject):
      (WebCore::ScriptValue::hasNoValue):
      (WebCore::ScriptValue::clear):
      (WebCore::ScriptValue::v8Value):
      (ScriptValue):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126500 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4963b09f
    • kbr@google.com's avatar
      Unreviewed Chromium gardening. Generalized a few Snow Leopard-only · 4506d670
      kbr@google.com authored
      expectations to Mac in order to get the new Lion bot green.
      
      * platform/chromium/TestExpectations:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126499 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4506d670
    • jamesr@google.com's avatar
      [chromium] Remove WebLayer::setChildren API · f3def915
      jamesr@google.com authored
      https://bugs.webkit.org/show_bug.cgi?id=94749
      
      Reviewed by Adrienne Walker.
      
      Source/Platform:
      
      This is redundant with removeAllChildren() / addChild() and less efficient.
      
      * chromium/public/WebLayer.h:
      (WebLayer):
      
      Source/WebCore:
      
      Sets up the child list directly instead of building an intermediate buffer. Covered by compositing/*
      
      * platform/graphics/chromium/GraphicsLayerChromium.cpp:
      (WebCore::GraphicsLayerChromium::updateChildList):
      
      Source/WebKit/chromium:
      
      * src/WebLayer.cpp:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126498 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f3def915
    • rniwa@webkit.org's avatar
      Replay tests take forever to load · 884bd80c
      rniwa@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=94764
      
      Reviewed by Adam Barth.
      
      Don't load about:blank at the beginning. This appears to clog the DRT.
      
      * Scripts/webkitpy/performance_tests/perftest.py:
      (ReplayPerfTest.run_single):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126497 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      884bd80c
    • dmazzoni@google.com's avatar
      AX: Focusable elements without a role should not be ignored · 61b42270
      dmazzoni@google.com authored
      https://bugs.webkit.org/show_bug.cgi?id=94302
      
      Reviewed by Chris Fleizach.
      
      Source/WebCore:
      
      Changes the accessibility logic so that a generic element that's focusable is
      not ignored for accessibility, and returns its inner text as its title. That way
      if you Tab to the element, a reasonable accessibility notification is generated.
      
      One exception is the body element, because focusing the body is equivalent to
      blurring the current focused element and does not result in a "focus" accessibility
      notification.
      
      Also fixes logic that determined if an element was contentEditable by making
      sure it catches the case with no attribute value (e.g. <div contentEditable>),
      which also implies contentEditable=true according to the spec.
      
      Test: accessibility/focusable-div.html
      
      * accessibility/AccessibilityRenderObject.cpp:
      (WebCore):
      (WebCore::nodeHasContentEditableAttributeSet):
      (WebCore::AccessibilityRenderObject::title):
      (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
      
      LayoutTests:
      
      Adds a new test to make sure that a generic focusable element (like a div with tabindex=0)
      can get focus and return an appropriate title, just like a form control or element with
      an ARIA role.
      
      Modifies three existing tests that were previously assuming that a focusable node
      with no role would be ignored for accessibility ("accessibilityIsIgnored").
      
      * accessibility/editable-webarea-context-menu-point.html:
      * accessibility/focusable-div-expected.txt: Added.
      * accessibility/focusable-div.html: Added.
      * accessibility/table-detection.html:
      * platform/mac/accessibility/listbox-hit-test.html:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126496 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      61b42270
    • jchaffraix@webkit.org's avatar
      Remove RenderTable::removeChild · 18b99b57
      jchaffraix@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=94842
      
      Reviewed by Abhishek Arya.
      
      This change removed removeChild, replaced by willBeRemovedFromTree calls. The upside is that
      the invalidations are now guaranteed to run if we split a table (which is not guaranteed when
      using removeChild). This change also shows that our code may be doing too much work in some
      of the child's removal, in which case the code was marked as needed.
      
      Covered by existing tests.
      
      * rendering/RenderTable.cpp:
      (WebCore::RenderTable::removeCaption):
      Helper function used to remove the caption from our Vector. The invalidation are very likely
      unneeded so added a comment about that.
      
      * rendering/RenderTable.h:
      * rendering/RenderTableCaption.cpp:
      (WebCore::RenderTableCaption::willBeRemovedFromTree):
      (WebCore::RenderTableCaption::table):
      * rendering/RenderTableCaption.h:
      * rendering/RenderTableCol.cpp:
      (WebCore::RenderTableCol::willBeRemovedFromTree):
      * rendering/RenderTableCol.h:
      Added the following functions to do the invalidation.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126495 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      18b99b57
    • mhahnenberg@apple.com's avatar
      Change behavior of MasqueradesAsUndefined to better accommodate DFG changes · 3b9069ce
      mhahnenberg@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=93884
      
      Reviewed by Filip Pizlo.
      
      Source/JavaScriptCore: 
      
      With some upcoming changes to the DFG to remove uses of ClassInfo, we will be changing the behavior of  
      MasqueradesAsUndefined. In order to make this change consistent across all of our execution engines,  
      we will make this change to MasqueradesAsUndefined as a separate patch. After this patch, MasqueradesAsUndefined  
      objects will only masquerade as undefined in their original context (i.e. their original JSGlobalObject).  
      For example, if an object that masquerades as undefined in frame A is passed to frame B, it will not  
      masquerade as undefined within frame B, but it will continue to masquerade in frame A. 
      
      There are two primary changes that are taking place here. One is to thread the ExecState* through  
      JSValue::toBoolean and JSCell::toBoolean so that JSCell::toBoolean can check the object's  
      JSGlobalObject to compare it to the lexical JSGlobalObject of the currently running code. If the two  
      are distinct, then the object cannot MasqueradeAsUndefined. 
      
      The other change is to perform this comparison of JSGlobalObjects everywhere where the MasqueradesAsUndefined 
      flag in the Structure is checked. For C++ code, this check has been factored into its own function in  
      Structure::masqueradesAsUndefined. We only perform this check in the DFG if the current JSGlobalObject has  
      had a MasqueradesAsUndefined object allocated within its context. This conditional compilation is managed  
      through the use of a WatchpointSet in each JSGlobalObject and alternate create() functions for JS DOM wrappers 
      that are MasqueradesAsUndefined.
      
      * API/JSValueRef.cpp:
      (JSValueToBoolean):
      * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
      * bytecode/Watchpoint.h:
      (WatchpointSet):
      * debugger/DebuggerCallFrame.h:
      (JSC::DebuggerCallFrame::callFrame):
      * dfg/DFGAbstractState.cpp:
      (JSC::DFG::AbstractState::execute):
      * dfg/DFGCFGSimplificationPhase.cpp:
      (JSC::DFG::CFGSimplificationPhase::run):
      * dfg/DFGOperations.cpp:
      * dfg/DFGOperations.h:
      * dfg/DFGSpeculativeJIT32_64.cpp:
      (JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeCompareNull):
      (JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeBranchNull):
      (JSC::DFG::SpeculativeJIT::compile):
      * dfg/DFGSpeculativeJIT64.cpp:
      (JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeCompareNull):
      (JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeBranchNull):
      (JSC::DFG::SpeculativeJIT::compile):
      * interpreter/Interpreter.cpp:
      (JSC::Interpreter::privateExecute):
      * jit/JITOpcodes.cpp:
      (JSC::JIT::emit_op_is_undefined):
      (JSC::JIT::emit_op_jeq_null):
      (JSC::JIT::emit_op_jneq_null):
      (JSC::JIT::emit_op_eq_null):
      (JSC::JIT::emit_op_neq_null):
      * jit/JITOpcodes32_64.cpp:
      (JSC::JIT::emit_op_is_undefined):
      (JSC::JIT::emit_op_jeq_null):
      (JSC::JIT::emit_op_jneq_null):
      (JSC::JIT::emit_op_eq_null):
      (JSC::JIT::emit_op_neq_null):
      * jit/JITStubs.cpp:
      (JSC::DEFINE_STUB_FUNCTION):
      * llint/LLIntSlowPaths.cpp:
      (JSC::LLInt::LLINT_SLOW_PATH_DECL):
      * llint/LowLevelInterpreter32_64.asm:
      * llint/LowLevelInterpreter64.asm:
      * runtime/ArrayPrototype.cpp:
      (JSC::arrayProtoFuncFilter):
      (JSC::arrayProtoFuncEvery):
      (JSC::arrayProtoFuncSome):
      * runtime/BooleanConstructor.cpp:
      (JSC::constructBoolean):
      (JSC::callBooleanConstructor):
      * runtime/JSCell.h:
      (JSCell):
      * runtime/JSGlobalObject.cpp:
      (JSC::JSGlobalObject::JSGlobalObject):
      * runtime/JSGlobalObject.h:
      (JSGlobalObject):
      (JSC::JSGlobalObject::masqueradesAsUndefinedWatchpoint):
      * runtime/JSString.h:
      (JSC::JSCell::toBoolean):
      (JSC::JSValue::toBoolean):
      * runtime/JSValue.h:
      * runtime/ObjectConstructor.cpp:
      (JSC::toPropertyDescriptor):
      * runtime/Operations.cpp:
      (JSC::jsTypeStringForValue):
      (JSC::jsIsObjectType):
      * runtime/Operations.h:
      (JSC):
      (JSC::JSValue::equalSlowCaseInline):
      * runtime/RegExpConstructor.cpp:
      (JSC::setRegExpConstructorMultiline):
      * runtime/RegExpPrototype.cpp:
      (JSC::regExpProtoFuncToString):
      * runtime/Structure.h:
      (Structure):
      (JSC::Structure::globalObjectOffset):
      (JSC::Structure::masqueradesAsUndefined):
      (JSC):
      
      Source/WebCore: 
      
      With some upcoming changes to the DFG to remove uses of ClassInfo, we will be changing the behavior of  
      MasqueradesAsUndefined. In order to make this change consistent across all of our execution engines,  
      we will make this change to MasqueradesAsUndefined as a separate patch. After this patch, MasqueradesAsUndefined  
      objects will only masquerade as undefined in their original context (i.e. their original JSGlobalObject).  
      For example, if an object that masquerades as undefined in frame A is passed to frame B, it will not  
      masquerade as undefined within frame B, but it will continue to masquerade in frame A. 
      
      Test: fast/js/document-all-between-frames.html
      
      All of the changes in WebCore are simply passing the additional ExecState argument to JSValue::toBoolean. 
      
      * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
      (WebCore::JSSQLStatementErrorCallback::handleEvent):
      * bindings/js/JSDOMWindowCustom.cpp:
      (WebCore::JSDOMWindow::addEventListener):
      (WebCore::JSDOMWindow::removeEventListener):
      * bindings/js/JSDataViewCustom.cpp:
      (WebCore::getDataViewMember):
      * bindings/js/JSDeviceMotionEventCustom.cpp:
      (WebCore::JSDeviceMotionEvent::initDeviceMotionEvent):
      * bindings/js/JSDeviceOrientationEventCustom.cpp:
      (WebCore::JSDeviceOrientationEvent::initDeviceOrientationEvent):
      * bindings/js/JSDictionary.cpp:
      (WebCore::JSDictionary::convertValue):
      * bindings/js/JSHTMLCanvasElementCustom.cpp:
      (WebCore::JSHTMLCanvasElement::getContext):
      * bindings/js/JSInspectorFrontendHostCustom.cpp:
      (WebCore::populateContextMenuItems):
      * bindings/js/JSMessageEventCustom.cpp:
      (WebCore::handleInitMessageEvent):
      * bindings/js/JSWebGLRenderingContextCustom.cpp:
      (WebCore::dataFunctionMatrix):
      * bindings/js/JSXMLHttpRequestCustom.cpp:
      (WebCore::JSXMLHttpRequest::open):
      * bindings/js/JavaScriptCallFrame.cpp:
      (WebCore::JavaScriptCallFrame::exec):
      (WebCore):
      * bindings/js/JavaScriptCallFrame.h:
      (JavaScriptCallFrame):
      * bindings/js/ScriptDebugServer.cpp:
      (WebCore::ScriptDebugServer::hasBreakpoint):
      * bindings/js/SerializedScriptValue.cpp:
      (WebCore::CloneSerializer::dumpIfTerminal):
      * bindings/scripts/CodeGeneratorJS.pm: Also add the custom create function for MasqueradesAsUndefined JS DOM wrappers. 
      (GenerateEventListenerCall):
      (GenerateHeader):
      (JSValueToNative):
      * bindings/scripts/test/JS/JSTestEventTarget.cpp:
      (WebCore::jsTestEventTargetPrototypeFunctionAddEventListener):
      (WebCore::jsTestEventTargetPrototypeFunctionRemoveEventListener):
      * bindings/scripts/test/JS/JSTestEventTarget.h:
      (WebCore::JSTestEventTarget::create):
      * bindings/scripts/test/JS/JSTestObj.cpp:
      (WebCore::setJSTestObjCreate):
      (WebCore::setJSTestObjReflectedBooleanAttr):
      (WebCore::setJSTestObjReflectedCustomBooleanAttr):
      (WebCore::jsTestObjPrototypeFunctionAddEventListener):
      (WebCore::jsTestObjPrototypeFunctionRemoveEventListener):
      * bridge/c/c_utility.cpp:
      (JSC::Bindings::convertValueToNPVariant):
      * bridge/jni/jni_jsobject.mm:
      (JavaJSObject::convertValueToJObject):
      * bridge/qt/qt_runtime.cpp:
      (JSC::Bindings::convertValueToQVariant):
      
      Source/WebKit/mac: 
      
      With some upcoming changes to the DFG to remove uses of ClassInfo, we will be changing the behavior of  
      MasqueradesAsUndefined. In order to make this change consistent across all of our execution engines,  
      we will make this change to MasqueradesAsUndefined as a separate patch. After this patch, MasqueradesAsUndefined  
      objects will only masquerade as undefined in their original context (i.e. their original JSGlobalObject).  
      For example, if an object that masquerades as undefined in frame A is passed to frame B, it will not  
      masquerade as undefined within frame B, but it will continue to masquerade in frame A. 
      
      * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
      (WebKit::NetscapePluginInstanceProxy::addValueToArray): Passing ExecState to toBoolean call.
      
      Source/WebKit2: 
      
      With some upcoming changes to the DFG to remove uses of ClassInfo, we will be changing the behavior of  
      MasqueradesAsUndefined. In order to make this change consistent across all of our execution engines,  
      we will make this change to MasqueradesAsUndefined as a separate patch. After this patch, MasqueradesAsUndefined  
      objects will only masquerade as undefined in their original context (i.e. their original JSGlobalObject).  
      For example, if an object that masquerades as undefined in frame A is passed to frame B, it will not  
      masquerade as undefined within frame B, but it will continue to masquerade in frame A.
      
      * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
      (WebKit::NPRuntimeObjectMap::convertJSValueToNPVariant): Passing ExecState to toBoolean call.
      
      LayoutTests: 
      
      Added a test that uses a variety of ways of checking whether something is correctly 
      masquerading as undefined (or not) in a subframe.
      
      * fast/js/document-all-between-frames-expected.txt: Added.
      * fast/js/document-all-between-frames.html: Added.
      * fast/js/resources/document-all-between-frames-subframe.html: Added.
      * platform/chromium/TestExpectations: Chromium treats document.all differently, so skip our new test.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126494 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3b9069ce
    • commit-queue@webkit.org's avatar
      CSSParser: Move enumeration to a common place (StylePropertyShorthand) · df781cd7
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=93210
      
      Patch by Adenilson Cavalcanti <cavalcantii@gmail.com> on 2012-08-23
      Reviewed by Dean Jackson.
      
      CSSParser::parseAnimationShorthand() uses an enumeration with the same
      elements as another enumeration present in StylePropertyShorthand, but
      with different ordering of values. This patch puts both enums in the same place.
      
      No new tests. No change in behavior.
      
      * css/CSSParser.cpp:
      (WebCore::CSSParser::parseAnimationShorthand):
      * css/StylePropertyShorthand.cpp:
      (WebCore::webkitAnimationShorthandForParsing):
      (WebCore):
      * css/StylePropertyShorthand.h:
      (WebCore):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126491 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      df781cd7
    • beidson@apple.com's avatar
      REGRESSION (r124815): PDF in frame does not display any more · a4a3de05
      beidson@apple.com authored
      <rdar://problem/12063306> and https://bugs.webkit.org/show_bug.cgi?id=94869
      
      Reviewed by Alexey Proskuryakov.
      
      * WebProcess/Plugins/PDF/BuiltInPDFView.mm:
      (WebKit::BuiltInPDFView::initialize): Tell the controller that initialization was successful.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126490 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a4a3de05
    • commit-queue@webkit.org's avatar
      Adjust test expectations for fast/js/toString-overrides.html and fast/js/eval-cross-window.html · 643d0176
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=94824
      
      Patch by Ulan Degenbaev <ulan@chromium.org> on 2012-08-23
      Reviewed by Kentaro Hara.
      
      Add a bug number for tracking failing cases in fast/js/toString-overrides.html.
      Upload Chromium specific test expectations for fast/js/eval-cross-window.html.
      
      Failing tests in eval-cross-window swap the eval() function in the main window and the frame.
      This behaviour is not specified in ECMA-262 and is probably implementation dependent.
      Both Firefox and Chromium produce the same result for this test.
      
      * platform/chromium/TestExpectations:
      * platform/chromium/fast/js/eval-cross-window-expected.txt: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126489 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      643d0176
    • commit-queue@webkit.org's avatar
      Trailing spaces in CSP source lists should not generate console warnings. · aabbd494
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=94847
      
      Patch by Mike West <mkwst@chromium.org> on 2012-08-23
      Reviewed by Adam Barth.
      
      Trailing space after a valid source in a Content Security Policy source
      list was accidentally generating console warnings about an invalid
      (empty) source. This patch silently ignores trailing whitespace instead.
      
      Source/WebCore:
      
      A test-case has been added to 'source-list-parsing-02.html' to cover
      this case.
      
      * page/ContentSecurityPolicy.cpp:
      (WebCore::CSPSourceList::parse):
          Return early if we reach the end of the source list after skipping
          leading whitespace.
      
      LayoutTests:
      
      * http/tests/security/contentSecurityPolicy/source-list-parsing-02-expected.txt:
      * http/tests/security/contentSecurityPolicy/source-list-parsing-02.html:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126488 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      aabbd494
    • kbr@google.com's avatar
      [Chromium] LayoutTests: css3/selector3/xml tests are flaky / have wrong... · 096b8a66
      kbr@google.com authored
      [Chromium] LayoutTests: css3/selector3/xml tests are flaky / have wrong expectations on Snow Leopard
      https://bugs.webkit.org/show_bug.cgi?id=82122
      
      Unreviewed Chromium gardening. Expanded expectations from Snow Leopard to Mac.
      
      * platform/chromium/TestExpectations:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126487 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      096b8a66
    • mrowe@apple.com's avatar
      Remove some unneeded cruft from WebCore.xcodeproj. · 0e45d772
      mrowe@apple.com authored
      * WebCore.xcodeproj/project.pbxproj:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126486 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0e45d772
    • commit-queue@webkit.org's avatar
      [BlackBerry] Replace the three different rendering mechanisms for clearing the render queue · 459c5ea7
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=94837
      
      Patch by Adam Treat <atreat@rim.com> on 2012-08-23
      Reviewed by George Staikos.
      
      PR 197738
      
      Currently, we have three different mechanisms for clearing the render queue.
      The first mechanism is render on idle.  Whenever the webkit thread becomes idle
      (read: no more events in its queue) we render the next job in the render queue.
       This is the primary means we use for clearing the render queue.  However, this
      mechanism has a flaw, it is such a low priority mechanism that sometimes the
      queue grows so fast due to higher priority events adding rects to the queue
      that this mechanism can't possibly keep up.  That is what leads to the second
      mechanism: rendering right before a timer is fired when we discover that the
      render queue is under pressure and rendering on idle can't keep up.  However,
      there are still degenerate cases where even this mechanism does not allow us to
      keep up.  That brings us to the third mechanism: rendering based on a timer
      that is a catch-all.
      
      The second and third mechanisms lead to very large render jobs as they try and
      clear the queue faster when it comes under pressure.  These very large render
      jobs end up keeping the webkit thread busy with a message that can take large
      fractions of a second to resolve.
      
      These three mechanisms were put in place when the backingstore had a different
      overall design that was not truly asynchronous.  This patch replaces these
      three mechanisms with a single one that uses the platform messaging classes to
      full purpose - a uniquely coalescing message that has a higher priority level
      than timers making sure the render queue can never come under pressure.
      
      * Api/BackingStore.cpp:
      (BlackBerry::WebKit::BackingStorePrivate::BackingStorePrivate):
      (WebKit):
      (RenderJobMessage):
      (BlackBerry::WebKit::RenderJobMessage::RenderJobMessage):
      (BlackBerry::WebKit::BackingStorePrivate::dispatchRenderJob):
      (BlackBerry::WebKit::BackingStorePrivate::renderJob):
      (BlackBerry::WebKit::BackingStore::blitContents):
      * Api/BackingStore.h:
      * Api/BackingStore_p.h:
      (BackingStorePrivate):
      * Api/WebPage.cpp:
      * Api/WebPage.h:
      * WebKitSupport/RenderQueue.cpp:
      (BlackBerry::WebKit::RenderQueue::reset):
      (BlackBerry::WebKit::RenderQueue::addToRegularQueue):
      (BlackBerry::WebKit::RenderQueue::addToScrollZoomQueue):
      (BlackBerry::WebKit::RenderQueue::clear):
      (BlackBerry::WebKit::RenderQueue::clearVisibleZoom):
      (BlackBerry::WebKit::RenderQueue::render):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126485 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      459c5ea7
    • abarth@webkit.org's avatar
      [V8] OwnHandle is a bit of a misnomer · f55497a9
      abarth@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=94841
      
      Reviewed by Eric Seidel.
      
      You don't really own the handle in the same way that you own a pointer
      with OwnPtr. This class is more correctly called ScopedPersistent
      because it just forces you to balance New() and Dispose() calls.
      
      * WebCore.gypi:
      * bindings/v8/JavaScriptCallFrame.h:
      (JavaScriptCallFrame):
      * bindings/v8/OwnHandle.h: Removed.
      * bindings/v8/ScheduledAction.h:
      (ScheduledAction):
      * bindings/v8/ScopedPersistent.h: Copied from Source/WebCore/bindings/v8/OwnHandle.h.
      (ScopedPersistent):
      (WebCore::ScopedPersistent::ScopedPersistent):
      (WebCore::ScopedPersistent::~ScopedPersistent):
      * bindings/v8/ScriptDebugServer.cpp:
      (WebCore::ScriptDebugServer::compileScript):
      (WebCore::ScriptDebugServer::runScript):
      * bindings/v8/ScriptDebugServer.h:
      (ScriptDebugServer):
      * bindings/v8/ScriptInstance.h:
      (V8ScriptInstance):
      * bindings/v8/V8PerContextData.h:
      (V8PerContextData):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126484 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f55497a9
    • japhet@chromium.org's avatar
      ProgressTracker never completes if iframe detached during parsing · d18ba1f0
      japhet@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=92272
      
      Reviewed by Adam Barth.
      
      Add a simple helper class to FrameLoader to ensure progressStarted/progressCompleted calls are matched,
      and balance the calls when the Frame is detached.
      
      No new tests, as this behavior has only been producing reliably by setting a breakpoint in a specific place.
      
      * loader/FrameLoader.cpp:
      (WebCore::FrameLoader::init):
      (WebCore::FrameLoader::FrameProgressTracker::progressStarted):
      (WebCore::FrameLoader::FrameProgressTracker::progressCompleted):
      (WebCore::FrameLoader::FrameProgressTracker::~FrameProgressTracker):
      (WebCore::FrameLoader::prepareForLoadStart):
      (WebCore::FrameLoader::clearProvisionalLoad):
      (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
      (WebCore::FrameLoader::detachFromParent):
      * loader/FrameLoader.h:
      (FrameProgressTracker):
      (WebCore::FrameLoader::FrameProgressTracker::create):
      (WebCore::FrameLoader::FrameProgressTracker::FrameProgressTracker):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126483 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d18ba1f0
    • danakj@chromium.org's avatar
      [chromium] Create sharedQuadState at same time as creating quads and give them to the quadSink · 62428a0f
      danakj@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=94752
      
      Reviewed by Adrienne Walker.
      
      Source/WebCore:
      
      Previously, CCRenderPass would create a sharedQuadState for a layer,
      and pass it in to the layer. Then the layer would point all its quads
      at the sharedQuadState.
      
      After this change, the layer creates its own sharedQuadState, gives it
      to the RenderPass (via CCQuadSink), and points its quads at it.
      
      This approach allows a layer to generate more than one sharedQuadState
      with different quads pointing to different shared states. Also, this
      will allow the layer representing a delegating renderer (via ubercomp)
      to copy sharedQuadStates from the delegating renderer in order to
      merge its quads into the RenderPass for the current renderer.
      
      Covered by existing tests, no change in behaviour.
      
      * platform/graphics/chromium/cc/CCHeadsUpDisplayLayerImpl.cpp:
      (WebCore::CCHeadsUpDisplayLayerImpl::appendQuads):
      * platform/graphics/chromium/cc/CCHeadsUpDisplayLayerImpl.h:
      (CCHeadsUpDisplayLayerImpl):
      * platform/graphics/chromium/cc/CCIOSurfaceLayerImpl.cpp:
      (WebCore::CCIOSurfaceLayerImpl::appendQuads):
      * platform/graphics/chromium/cc/CCIOSurfaceLayerImpl.h:
      (CCIOSurfaceLayerImpl):
      * platform/graphics/chromium/cc/CCLayerImpl.cpp:
      (WebCore::CCLayerImpl::createSharedQuadState):
      * platform/graphics/chromium/cc/CCLayerImpl.h:
      (CCLayerImpl):
      (WebCore::CCLayerImpl::appendQuads):
      * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
      (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
      * platform/graphics/chromium/cc/CCQuadCuller.cpp:
      (WebCore::CCQuadCuller::CCQuadCuller):
      (WebCore::CCQuadCuller::append):
      (WebCore::CCQuadCuller::useSharedQuadState):
      (WebCore):
      * platform/graphics/chromium/cc/CCQuadCuller.h:
      (WebCore):
      (CCQuadCuller):
      * platform/graphics/chromium/cc/CCQuadSink.h:
      (WebCore):
      (CCQuadSink):
      * platform/graphics/chromium/cc/CCRenderPass.cpp:
      (WebCore::CCRenderPass::appendQuadsForLayer):
      (WebCore::CCRenderPass::appendQuadsForRenderSurfaceLayer):
      (WebCore::CCRenderPass::appendQuadsToFillScreen):
      * platform/graphics/chromium/cc/CCRenderPass.h:
      (WebCore):
      (CCRenderPass):
      * platform/graphics/chromium/cc/CCRenderSurface.cpp:
      (WebCore::CCRenderSurface::appendQuads):
      * platform/graphics/chromium/cc/CCRenderSurface.h:
      (CCRenderSurface):
      * platform/graphics/chromium/cc/CCScrollbarLayerImpl.cpp:
      (WebCore::CCScrollbarLayerImpl::appendQuads):
      * platform/graphics/chromium/cc/CCScrollbarLayerImpl.h:
      (CCScrollbarLayerImpl):
      * platform/graphics/chromium/cc/CCSharedQuadState.cpp:
      (WebCore::CCSharedQuadState::create):
      (WebCore::CCSharedQuadState::CCSharedQuadState):
      * platform/graphics/chromium/cc/CCSharedQuadState.h:
      (CCSharedQuadState):
      * platform/graphics/chromium/cc/CCSolidColorLayerImpl.cpp:
      (WebCore::CCSolidColorLayerImpl::appendQuads):
      * platform/graphics/chromium/cc/CCSolidColorLayerImpl.h:
      (CCSolidColorLayerImpl):
      * platform/graphics/chromium/cc/CCTextureLayerImpl.cpp:
      (WebCore::CCTextureLayerImpl::appendQuads):
      * platform/graphics/chromium/cc/CCTextureLayerImpl.h:
      (CCTextureLayerImpl):
      * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
      (WebCore::CCTiledLayerImpl::appendQuads):
      * platform/graphics/chromium/cc/CCTiledLayerImpl.h:
      (CCTiledLayerImpl):
      * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
      (WebCore::CCVideoLayerImpl::appendQuads):
      * platform/graphics/chromium/cc/CCVideoLayerImpl.h:
      (CCVideoLayerImpl):
      
      Source/WebKit/chromium:
      
      * tests/CCLayerTreeHostImplTest.cpp:
      * tests/CCLayerTreeHostTest.cpp:
      (WTF::EvictionTestLayerImpl::appendQuads):
      * tests/CCQuadCullerTest.cpp:
      * tests/CCRenderSurfaceTest.cpp:
      * tests/CCSolidColorLayerImplTest.cpp:
      (CCLayerTestCommon::TEST):
      * tests/CCTiledLayerImplTest.cpp:
      (CCLayerTestCommon::TEST):
      (CCLayerTestCommon::getQuads):
      (CCLayerTestCommon::coverageVisibleRectOnTileBoundaries):
      (CCLayerTestCommon::coverageVisibleRectIntersectsTiles):
      (CCLayerTestCommon::coverageVisibleRectIntersectsBounds):
      * tests/MockCCQuadCuller.h:
      (WebCore::MockCCQuadCuller::MockCCQuadCuller):
      (MockCCQuadCuller):
      (WebCore::MockCCQuadCuller::quadList):
      (WebCore::MockCCQuadCuller::sharedQuadStateList):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126482 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      62428a0f
    • mrowe@apple.com's avatar
      Roll out part of r126475 that breaks the build with older versions of Clang. · 5b976d70
      mrowe@apple.com authored
      * wtf/FastMalloc.cpp:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126481 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5b976d70
    • pfeldman@chromium.org's avatar
    • mrowe@apple.com's avatar
      Make gtest build with the latest version of clang. · 079611c8
      mrowe@apple.com authored
      Reviewed by Dan Bernstein.
      
      * gtest/src/gtest-internal-inl.h:
      (GTestFlagSaver): Remove an unused member.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126479 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      079611c8
    • mrowe@apple.com's avatar
      Make WebKit2 build with the latest version of clang. · 9fa13da6
      mrowe@apple.com authored
      Reviewed by Dan Bernstein.
      
      * Configurations/Base.xcconfig: Ensure that operator new isn't exported as a weak external symbol.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126478 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      9fa13da6
    • mrowe@apple.com's avatar
      Make WebCore build with the latest version of clang. · 60e8454c
      mrowe@apple.com authored
      Reviewed by Dan Bernstein.
      
      * html/shadow/MediaControlRootElement.h: Remove m_textTrackDisplay as it is unused.
      * platform/audio/mac/AudioFileReaderMac.cpp:
      (WebCore::AudioFileReader::AudioFileReader): Remove m_filePath as it is unused.
      * platform/audio/mac/AudioFileReaderMac.h:
      (AudioFileReader): Ditto.
      * platform/graphics/ImageSource.h:
      (ImageSource): Guard m_alphaOption and m_gammaAndColorProfileOption with !USE(CG)
      as they're unused on platforms using CG.
      * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
      (MediaPlayerPrivateAVFoundationObjC): Remove m_player as it is unused.
      * platform/graphics/cg/ImageSourceCG.cpp:
      (WebCore::ImageSource::ImageSource): Don't initialize the m_alphaOption and
      m_gammaAndColorProfileOption members since we never use them.
      * platform/graphics/mac/GraphicsContext3DMac.mm:
      (WebCore::GraphicsContext3DPrivate::GraphicsContext3DPrivate): Remove m_graphicsContext3D
      as it is unused.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126477 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      60e8454c
    • mrowe@apple.com's avatar
      Make JavaScriptCore build with the latest version of clang. · 448d7a77
      mrowe@apple.com authored
      Reviewed by Dan Bernstein.
      
      * heap/MachineStackMarker.cpp:
      (JSC::MachineThreads::MachineThreads): The m_heap member is only used within
      assertions, so guard its initialization with !ASSERT_DISABLED.
      * heap/MachineStackMarker.h:
      (MachineThreads): Ditto for its declaration.
      * jit/JITStubCall.h:
      (JSC::JITStubCall::JITStubCall): The m_returnType member is only used within
      assertions or if we're using JSVALUE32_64, so guard its uses with the appropriate
      (JITStubCall): Ditto.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126476 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      448d7a77
    • mrowe@apple.com's avatar
      Make WTF build with the latest version of clang. · 2d4a2c7f
      mrowe@apple.com authored
      Reviewed by Dan Bernstein.
      
      * wtf/FastMalloc.cpp:
      (WTF): Disable the -Wunused-private-field warning around the declaration of
      TCMalloc_Central_FreeListPadded since the padding is intentionally unused.
      (WTF::AdminRegionRecorder): Remove the unused m_reader member.
      (WTF::FastMallocZone::enumerate): Don't pass in the RemoteMemoryReader since
      it is no longer needed.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126475 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2d4a2c7f
    • tonikitoo@webkit.org's avatar
      [BlackBerry] Unify slow and fast in-region scrolling code paths · bb91a166
      tonikitoo@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=94834
      PR #197662
      
      Reviewed by Rob Buis.
      Patch by Antonio Gomes <agomes@rim.com>
      Internally reviewed by Arvid Nilsson.
      
      In order to be able to remove a bunch of obsolete code from
      InRegionScroller.cpp, we need to unify the codepaths for slow
      and fast in-region scrolling.
      
      This patch caches the root scrollable node of each scrollable block
      in InRegionScrollableArea also for the non-composited-scrolling case now too
      (analogly to the way we cache LayerWebKitThread for the composited scrolling case).
      
      Now the client (libwebview) can dispatch an in-region scrolling with one single code path,
      making use of a boolean (argh!) to inform if the scroll of the given
      layer supports compositing or not. Later on, this boolean is used to casting the proper element.
      
      * Api/InRegionScroller.cpp:
      (BlackBerry::WebKit::InRegionScroller::setScrollPositionWebKitThread):
      (BlackBerry::WebKit::InRegionScrollerPrivate::setScrollPositionWebKitThread):
      * Api/InRegionScroller.h:
      * Api/InRegionScroller_p.h:
      (InRegionScrollerPrivate):
      * WebKitSupport/InRegionScrollableArea.cpp:
      (WebKit):
      (BlackBerry::WebKit::InRegionScrollableArea::InRegionScrollableArea):
      (BlackBerry::WebKit::enclosingLayerNode):
      * WebKitSupport/InRegionScrollableArea.h:
      (WebCore):
      (InRegionScrollableArea):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126474 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      bb91a166
    • aelias@chromium.org's avatar
      [chromium] Rename LayerRendererChromium to GL-specific name · 08009b8d
      aelias@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=94835
      
      Reviewed by James Robinson.
      
      Over time, LayerRendererChromium has evolved to be a GL-specific
      subclass of CCRenderer that has no awareness of layers (as it operates
      only with drawQuads).
      
      This patch renames LayerRendererChromium to CCRendererGL, replaces all
      instances of "layerRenderer" with just "renderer", and removes a
      few unnecessary includes of LayerRendererChromium.h.
      
      Source/WebCore:
      
      No new tests (no-op refactoring).
      
      * WebCore.gypi:
      * platform/graphics/chromium/Canvas2DLayerBridge.cpp:
      * platform/graphics/chromium/ContentLayerChromium.cpp:
      (WebCore::ContentLayerChromium::createTextureUpdaterIfNeeded):
      * platform/graphics/chromium/GeometryBinding.cpp:
      * platform/graphics/chromium/HeadsUpDisplayLayerChromium.cpp:
      (WebCore::HeadsUpDisplayLayerChromium::update):
      * platform/graphics/chromium/ImageLayerChromium.cpp:
      (WebCore::ImageLayerChromium::createTextureUpdaterIfNeeded):
      * platform/graphics/chromium/LayerTextureSubImage.cpp:
      * platform/graphics/chromium/ProgramBinding.cpp:
      * platform/graphics/chromium/RenderSurfaceChromium.h:
      (WebCore):
      * platform/graphics/chromium/ScrollbarLayerChromium.cpp:
      (WebCore::ScrollbarLayerChromium::createTextureUpdaterIfNeeded):
      * platform/graphics/chromium/TextureCopier.cpp:
      * platform/graphics/chromium/TiledLayerChromium.cpp:
      (WebCore::TiledLayerChromium::updateTileSizeAndTilingOption):
      * platform/graphics/chromium/cc/CCHeadsUpDisplayLayerImpl.cpp:
      * platform/graphics/chromium/cc/CCIOSurfaceLayerImpl.cpp:
      * platform/graphics/chromium/cc/CCLayerImpl.cpp:
      (WebCore::sortLayers):
      * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
      (WebCore::CCLayerTreeHost::CCLayerTreeHost):
      (WebCore::CCLayerTreeHost::initializeRenderer):
      (WebCore::CCLayerTreeHost::deleteContentsTexturesOnImplThread):
      (WebCore::CCLayerTreeHost::finishAllRendering):
      (WebCore::CCLayerTreeHost::rendererCapabilities):
      (WebCore::CCLayerTreeHost::initializeRendererIfNeeded):
      (WebCore::CCLayerTreeHost::updateLayers):
      * platform/graphics/chromium/cc/CCLayerTreeHost.h:
      (WebCore::RendererCapabilities::RendererCapabilities):
      (CCLayerTreeHost):
      * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
      (WebCore::CCLayerTreeHostImpl::canDraw):
      (WebCore::CCLayerTreeHostImpl::calculateRenderSurfaceLayerList):
      (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
      (WebCore::CCLayerTreeHostImpl::drawLayers):
      (WebCore::CCLayerTreeHostImpl::finishAllRendering):
      (WebCore::CCLayerTreeHostImpl::isContextLost):
      (WebCore::CCLayerTreeHostImpl::rendererCapabilities):
      (WebCore::CCLayerTreeHostImpl::swapBuffers):
      (WebCore::CCLayerTreeHostImpl::readback):
      (WebCore::CCLayerTreeHostImpl::setVisible):
      (WebCore::CCLayerTreeHostImpl::initializeRenderer):
      (WebCore::CCLayerTreeHostImpl::setViewportSize):
      (WebCore::CCLayerTreeHostImpl::ensureRenderSurfaceLayerList):
      * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
      (WebCore):
      (WebCore::CCLayerTreeHostImpl::renderer):
      (CCLayerTreeHostImpl):
      * platform/graphics/chromium/cc/CCPrioritizedTexture.cpp:
      * platform/graphics/chromium/cc/CCPrioritizedTextureManager.cpp:
      * platform/graphics/chromium/cc/CCPriorityCalculator.cpp:
      * platform/graphics/chromium/cc/CCProxy.h:
      (WebCore):
      (CCProxy):
      * platform/graphics/chromium/cc/CCRenderSurface.cpp:
      * platform/graphics/chromium/cc/CCRenderSurface.h:
      (WebCore):
      * platform/graphics/chromium/cc/CCRenderer.h:
      (CCRenderer):
      * platform/graphics/chromium/cc/CCRendererGL.cpp: Renamed from Source/WebCore/platform/graphics/chromium/LayerRendererChromium.cpp.
      (WebCore::CCRendererGL::create):
      (WebCore):
      (WebCore::CCRendererGL::CCRendererGL):
      (WebCore::CCRendererGL::initialize):
      (WebCore::CCRendererGL::~CCRendererGL):
      (WebCore::CCRendererGL::context):
      (WebCore::CCRendererGL::debugGLCall):
      (WebCore::CCRendererGL::setVisible):
      (WebCore::CCRendererGL::releaseRenderPassTextures):
      (WebCore::CCRendererGL::viewportChanged):
      (WebCore::CCRendererGL::clearFramebuffer):
      (WebCore::CCRendererGL::beginDrawingFrame):
      (WebCore::CCRendererGL::doNoOp):
      (WebCore::CCRendererGL::drawQuad):
      (WebCore::CCRendererGL::drawCheckerboardQuad):
      (WebCore::CCRendererGL::drawDebugBorderQuad):
      (WebCore::applyFilters):
      (WebCore::CCRendererGL::drawBackgroundFilters):
      (WebCore::CCRendererGL::drawRenderPassQuad):
      (WebCore::CCRendererGL::drawSolidColorQuad):
      (TileProgramUniforms):
      (WebCore::tileUniformLocation):
      (WebCore::CCRendererGL::drawTileQuad):
      (WebCore::CCRendererGL::drawYUVVideoQuad):
      (WebCore::CCRendererGL::drawStreamVideoQuad):
      (WebCore::TextureProgramBinding::set):
      (TextureProgramBinding):
      (WebCore::TexTransformTextureProgramBinding::set):
      (TexTransformTextureProgramBinding):
      (WebCore::CCRendererGL::drawTextureQuad):
      (WebCore::CCRendererGL::drawIOSurfaceQuad):
      (WebCore::CCRendererGL::finishDrawingFrame):
      (WebCore::CCRendererGL::toGLMatrix):
      (WebCore::CCRendererGL::setShaderFloatQuad):
      (WebCore::CCRendererGL::setShaderOpacity):
      (WebCore::CCRendererGL::drawQuadGeometry):
      (WebCore::CCRendererGL::copyTextureToFramebuffer):
      (WebCore::CCRendererGL::finish):
      (WebCore::CCRendererGL::swapBuffers):
      (WebCore::CCRendererGL::onSwapBuffersComplete):
      (WebCore::CCRendererGL::onMemoryAllocationChanged):
      (WebCore::CCRendererGL::onMemoryAllocationChangedOnImplThread):
      (WebCore::CCRendererGL::discardFramebuffer):
      (WebCore::CCRendererGL::ensureFramebuffer):
      (WebCore::CCRendererGL::onContextLost):
      (WebCore::CCRendererGL::getFramebufferPixels):
      (WebCore::CCRendererGL::getFramebufferTexture):
      (WebCore::CCRendererGL::useScopedTexture):
      (WebCore::CCRendererGL::bindFramebufferToOutputSurface):
      (WebCore::CCRendererGL::bindFramebufferToTexture):
      (WebCore::CCRendererGL::enableScissorTestRect):
      (WebCore::CCRendererGL::disableScissorTest):
      (WebCore::CCRendererGL::setDrawViewportSize):
      (WebCore::CCRendererGL::makeContextCurrent):
      (WebCore::CCRendererGL::initializeSharedObjects):
      (WebCore::CCRendererGL::tileCheckerboardProgram):
      (WebCore::CCRendererGL::solidColorProgram):
      (WebCore::CCRendererGL::renderPassProgram):
      (WebCore::CCRendererGL::renderPassProgramAA):
      (WebCore::CCRendererGL::renderPassMaskProgram):
      (WebCore::CCRendererGL::renderPassMaskProgramAA):
      (WebCore::CCRendererGL::tileProgram):
      (WebCore::CCRendererGL::tileProgramOpaque):
      (WebCore::CCRendererGL::tileProgramAA):
      (WebCore::CCRendererGL::tileProgramSwizzle):
      (WebCore::CCRendererGL::tileProgramSwizzleOpaque):
      (WebCore::CCRendererGL::tileProgramSwizzleAA):
      (WebCore::CCRendererGL::textureProgram):
      (WebCore::CCRendererGL::textureProgramFlip):
      (WebCore::CCRendererGL::textureIOSurfaceProgram):
      (WebCore::CCRendererGL::videoYUVProgram):
      (WebCore::CCRendererGL::videoStreamTextureProgram):
      (WebCore::CCRendererGL::cleanupSharedObjects):
      (WebCore::CCRendererGL::isContextLost):
      * platform/graphics/chromium/cc/CCRendererGL.h: Renamed from Source/WebCore/platform/graphics/chromium/LayerRendererChromium.h.
      (WebKit):
      (WebCore):
      (CCRendererGL):
      (WebCore::CCRendererGL::sharedGeometryQuad):
      (WebCore::CCRendererGL::sharedGeometry):
      (WebCore::CCRendererGL::isFramebufferDiscarded):
      * platform/graphics/chromium/cc/CCResourceProvider.cpp:
      * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
      (WebCore::CCSingleThreadProxy::CCSingleThreadProxy):
      (WebCore::CCSingleThreadProxy::initializeRenderer):
      (WebCore::CCSingleThreadProxy::recreateContext):
      (WebCore::CCSingleThreadProxy::rendererCapabilities):
      (WebCore::CCSingleThreadProxy::doCommit):
      (WebCore::CCSingleThreadProxy::forceSerializeOnSwapBuffers):
      (WebCore::CCSingleThreadProxy::commitAndComposite):
      * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
      (CCSingleThreadProxy):
      * platform/graphics/chromium/cc/CCSolidColorLayerImpl.h:
      * platform/graphics/chromium/cc/CCThreadProxy.cpp:
      (WebCore::CCThreadProxy::CCThreadProxy):
      (WebCore::CCThreadProxy::compositeAndReadback):
      (WebCore::CCThreadProxy::initializeRenderer):
      (WebCore::CCThreadProxy::recreateContext):
      (WebCore::CCThreadProxy::rendererCapabilities):
      (WebCore::CCThreadProxy::forceSerializeOnSwapBuffersOnImplThread):
      (WebCore::CCThreadProxy::beginFrame):
      (WebCore::CCThreadProxy::beginFrameCompleteOnImplThread):
      (WebCore::CCThreadProxy::scheduledActionDrawAndSwapInternal):
      (WebCore::CCThreadProxy::initializeRendererOnImplThread):
      (WebCore::CCThreadProxy::recreateContextOnImplThread):
      * platform/graphics/chromium/cc/CCThreadProxy.h:
      (CCThreadProxy):
      
      Source/WebKit/chromium:
      
      * WebKit.gypi:
      * tests/CCLayerTreeHostImplTest.cpp:
      * tests/CCLayerTreeHostTest.cpp:
      (WTF::CCLayerTreeHostTestLayerOcclusion::beginTest):
      (WTF::CCLayerTreeHostTestLayerOcclusionWithFilters::beginTest):
      (WTF::CCLayerTreeHostTestManySurfaces::beginTest):
      (WTF::CCLayerTreeHostTestSurfaceNotAllocatedForLayersOutsideMemoryLimit::drawLayersOnCCThread):
      * tests/CCRendererGLTest.cpp: Renamed from Source/WebKit/chromium/tests/LayerRendererChromiumTest.cpp.
      (FrameCountingMemoryAllocationSettingContext):
      (FrameCountingMemoryAllocationSettingContext::FrameCountingMemoryAllocationSettingContext):
      (FrameCountingMemoryAllocationSettingContext::prepareTexture):
      (FrameCountingMemoryAllocationSettingContext::setMemoryAllocationChangedCallbackCHROMIUM):
      (FrameCountingMemoryAllocationSettingContext::getString):
      (FrameCountingMemoryAllocationSettingContext::frameCount):
      (FrameCountingMemoryAllocationSettingContext::setMemoryAllocation):
      (FakeCCRendererClient):
      (FakeCCRendererClient::FakeCCRendererClient):
      (FakeCCRendererClient::setFullRootLayerDamageCount):
      (FakeCCRendererClient::rootRenderPass):
      (FakeCCRendererClient::renderPassesInDrawOrder):
      (FakeCCRendererClient::renderPasses):
      (FakeCCRendererClient::memoryAllocationLimitBytes):
      (FakeCCRendererGL):
      (FakeCCRendererGL::FakeCCRendererGL):
      (CCRendererGLTest):
      (CCRendererGLTest::CCRendererGLTest):
      (CCRendererGLTest::SetUp):
      (CCRendererGLTest::TearDown):
      (CCRendererGLTest::swapBuffers):
      (CCRendererGLTest::context):
      (TEST_F):
      (ForbidSynchronousCallContext):
      (ForbidSynchronousCallContext::ForbidSynchronousCallContext):
      (ForbidSynchronousCallContext::getActiveAttrib):
      (ForbidSynchronousCallContext::getActiveUniform):
      (ForbidSynchronousCallContext::getAttachedShaders):
      (ForbidSynchronousCallContext::getAttribLocation):
      (ForbidSynchronousCallContext::getBooleanv):
      (ForbidSynchronousCallContext::getBufferParameteriv):
      (ForbidSynchronousCallContext::getContextAttributes):
      (ForbidSynchronousCallContext::getError):
      (ForbidSynchronousCallContext::getFloatv):
      (ForbidSynchronousCallContext::getFramebufferAttachmentParameteriv):
      (ForbidSynchronousCallContext::getIntegerv):
      (ForbidSynchronousCallContext::getProgramiv):
      (ForbidSynchronousCallContext::getShaderiv):
      (ForbidSynchronousCallContext::getString):
      (ForbidSynchronousCallContext::getProgramInfoLog):
      (ForbidSynchronousCallContext::getRenderbufferParameteriv):
      (ForbidSynchronousCallContext::getShaderInfoLog):
      (ForbidSynchronousCallContext::getShaderPrecisionFormat):
      (ForbidSynchronousCallContext::getShaderSource):
      (ForbidSynchronousCallContext::getTexParameterfv):
      (ForbidSynchronousCallContext::getTexParameteriv):
      (ForbidSynchronousCallContext::getUniformfv):
      (ForbidSynchronousCallContext::getUniformiv):
      (ForbidSynchronousCallContext::getUniformLocation):
      (ForbidSynchronousCallContext::getVertexAttribfv):
      (ForbidSynchronousCallContext::getVertexAttribiv):
      (ForbidSynchronousCallContext::getVertexAttribOffset):
      (TEST):
      (LoseContextOnFirstGetContext):
      (LoseContextOnFirstGetContext::LoseContextOnFirstGetContext):
      (ContextThatDoesNotSupportMemoryManagmentExtensions):
      (ContextThatDoesNotSupportMemoryManagmentExtensions::ContextThatDoesNotSupportMemoryManagmentExtensions):
      (ContextThatDoesNotSupportMemoryManagmentExtensions::prepareTexture):
      (ContextThatDoesNotSupportMemoryManagmentExtensions::setMemoryAllocationChangedCallbackCHROMIUM):
      (ContextThatDoesNotSupportMemoryManagmentExtensions::getString):
      (ClearCountingContext):
      (ClearCountingContext::ClearCountingContext):
      (ClearCountingContext::clear):
      (ClearCountingContext::clearCount):
      * tests/TiledLayerChromiumTest.cpp:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126473 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      08009b8d
    • annacc@chromium.org's avatar
      [Chromium] Removing media/track/track-mode.html - resolved. · 30666de6
      annacc@chromium.org authored
      [Chromium] Removing media/track/track-cues-cuechange.html - appears to be no longer failing.
      
      Unreviewed gardening.
      
      * platform/chromium/TestExpectations:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126471 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      30666de6
    • zhajiang@rim.com's avatar
      [BlackBerry] Web pages are zoomed out to much on initial load · e77bce75
      zhajiang@rim.com authored
      https://bugs.webkit.org/show_bug.cgi?id=94830
      
      Reviewed by Adam Treat.
      Patch by Jacky Jiang <zhajiang@rim.com>
      
      PR: 193943
      Browser continuously adds paddings to the left and right sides of the
      main contents which makes the main contents even smaller.
      The issue can be reproduced on the desktop websites such as
      huffingtonpost.ca, bloomberg.com, online.wsj.com, nytimes.com,
      yahoo.com, thestar.com, sina.com.cn, sohu.com and so on.
      The root cause is that we layout those contents at the width of 1280
      although the fixed width of the main contents of those websites is
      less than 1000, which results in adding the paddings.
      To fix this, we need to get back to the default max layout size
      1024 * 768, which will make the main contents of those popular websites
      take full advantage of the screen real estate and look much better.
      
      Internally reviewed by Adam Treat.
      
      * Api/WebPage.cpp:
      (BlackBerry::WebKit::WebPagePrivate::fixedLayoutSize):
      (BlackBerry::WebKit::WebPagePrivate::recomputeVirtualViewportFromViewportArguments):
      * Api/WebPage_p.h:
      (WebPagePrivate):
      * WebKitSupport/RenderQueue.cpp:
      (BlackBerry::WebKit::RenderQueue::splittingFactor):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126470 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e77bce75
    • senorblanco@chromium.org's avatar
      Unreviewed. Rolled DEPS. · 0590bab1
      senorblanco@chromium.org authored
      * DEPS:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126469 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0590bab1
    • commit-queue@webkit.org's avatar
      Flexbox doesn't need to compute logical height for stretched items in row flow · f6c0c711
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=94807
      
      Patch by Shezan Baig <shezbaig.wk@gmail.com> on 2012-08-23
      Reviewed by Tony Chang.
      
      Change logicalHeightConstrainedByMinMax to
      constrainLogicalHeightByMinMax. The new method doesn't compute the
      MainOrPreferred logical height (that computation has been moved back to
      computeLogicalHeight). RenderFlexibleBox now just constrains the
      stretchedLogicalHeight by min/max.
      
      No new tests. This is a cleanup of bug 94237.
      
      * rendering/RenderBox.cpp:
      (WebCore::RenderBox::constrainLogicalHeightByMinMax): Instead of
      computing the MainOrPreferred logical height, just constrain the given
      logical height by MinSize and MaxSize.
      (WebCore::RenderBox::computeLogicalHeight): Compute the MainOrPreferred
      logical height before constraining by min/max.
      * rendering/RenderBox.h:
      (RenderBox):
      * rendering/RenderFlexibleBox.cpp:
      (WebCore::RenderFlexibleBox::applyStretchAlignmentToChild): Use
      constrainLogicalHeightByMinMax to constrain the stretchedLogicalHeight.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126468 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f6c0c711
    • commit-queue@webkit.org's avatar
      [EFL] Update pixel test expectations for layout test fast/forms/ · caee5ed9
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=94687
      
      Unreviewed, rebaseline.
      
      Some tests have wrong pixel test expectations. They should be replaced.
      
      Patch by KwangYong Choi <ky0.choi@samsung.com> on 2012-08-23
      
      * platform/efl/fast/forms/003-expected.png:
      * platform/efl/fast/forms/006-expected.png:
      * platform/efl/fast/forms/007-expected.png:
      * platform/efl/fast/forms/HTMLOptionElement_label01-expected.png:
      * platform/efl/fast/forms/HTMLOptionElement_label02-expected.png:
      * platform/efl/fast/forms/HTMLOptionElement_label03-expected.png:
      * platform/efl/fast/forms/HTMLOptionElement_label04-expected.png:
      * platform/efl/fast/forms/HTMLOptionElement_label05-expected.png:
      * platform/efl/fast/forms/basic-buttons-expected.png:
      * platform/efl/fast/forms/basic-inputs-expected.png:
      * platform/efl/fast/forms/button-align-expected.png:
      * platform/efl/fast/forms/button-cannot-be-nested-expected.png:
      * platform/efl/fast/forms/button-default-title-expected.png:
      * platform/efl/fast/forms/button-generated-content-expected.png:
      * platform/efl/fast/forms/button-inner-block-reuse-expected.png:
      * platform/efl/fast/forms/button-sizes-expected.png:
      * platform/efl/fast/forms/button-style-color-expected.png:
      * platform/efl/fast/forms/button-table-styles-expected.png:
      * platform/efl/fast/forms/button-text-transform-expected.png:
      * platform/efl/fast/forms/button-white-space-expected.png:
      * platform/efl/fast/forms/control-clip-expected.png:
      * platform/efl/fast/forms/control-clip-overflow-expected.png:
      * platform/efl/fast/forms/control-restrict-line-height-expected.png:
      * platform/efl/fast/forms/disabled-select-change-index-expected.png:
      * platform/efl/fast/forms/encoding-test-expected.png:
      * platform/efl/fast/forms/fieldset-align-expected.png:
      * platform/efl/fast/forms/file/file-input-direction-expected.png:
      * platform/efl/fast/forms/file/file-input-disabled-expected.png:
      * platform/efl/fast/forms/floating-textfield-relayout-expected.png:
      * platform/efl/fast/forms/form-hides-table-expected.png:
      * platform/efl/fast/forms/image-border-expected.png:
      * platform/efl/fast/forms/input-appearance-bkcolor-expected.png:
      * platform/efl/fast/forms/input-appearance-default-bkcolor-expected.png:
      * platform/efl/fast/forms/input-appearance-focus-expected.png:
      * platform/efl/fast/forms/input-appearance-preventDefault-expected.png:
      * platform/efl/fast/forms/input-appearance-selection-expected.png:
      * platform/efl/fast/forms/input-appearance-visibility-expected.png:
      * platform/efl/fast/forms/input-appearance-width-expected.png:
      * platform/efl/fast/forms/input-button-sizes-expected.png:
      * platform/efl/fast/forms/input-disabled-color-expected.png:
      * platform/efl/fast/forms/input-double-click-selection-gap-bug-expected.png:
      * platform/efl/fast/forms/input-field-text-truncated-expected.png:
      * platform/efl/fast/forms/input-readonly-dimmed-expected.png:
      * platform/efl/fast/forms/input-readonly-empty-expected.png:
      * platform/efl/fast/forms/input-spaces-expected.png:
      * platform/efl/fast/forms/input-table-expected.png:
      * platform/efl/fast/forms/input-text-click-inside-expected.png:
      * platform/efl/fast/forms/input-text-option-delete-expected.png:
      * platform/efl/fast/forms/input-text-self-emptying-click-expected.png:
      * platform/efl/fast/forms/input-text-word-wrap-expected.png:
      * platform/efl/fast/forms/input-type-text-min-width-expected.png:
      * platform/efl/fast/forms/input-value-expected.png:
      * platform/efl/fast/forms/input-width-expected.png:
      * platform/efl/fast/forms/listbox-bidi-align-expected.png:
      * platform/efl/fast/forms/listbox-scrollbar-incremental-load-expected.png:
      * platform/efl/fast/forms/listbox-width-change-expected.png:
      * platform/efl/fast/forms/menulist-clip-expected.png:
      * platform/efl/fast/forms/menulist-option-wrap-expected.png:
      * platform/efl/fast/forms/menulist-width-change-expected.png:
      * platform/efl/fast/forms/minWidthPercent-expected.png:
      * platform/efl/fast/forms/negativeLineHeight-expected.png:
      * platform/efl/fast/forms/option-index-expected.png:
      * platform/efl/fast/forms/option-script-expected.png:
      * platform/efl/fast/forms/option-strip-whitespace-expected.png:
      * platform/efl/fast/forms/option-text-clip-expected.png:
      * platform/efl/fast/forms/search-display-none-cancel-button-expected.png:
      * platform/efl/fast/forms/search-vertical-alignment-expected.png:
      * platform/efl/fast/forms/searchfield-heights-expected.png:
      * platform/efl/fast/forms/select-align-expected.png:
      * platform/efl/fast/forms/select-block-background-expected.png:
      * platform/efl/fast/forms/select-change-listbox-size-expected.png:
      * platform/efl/fast/forms/select-change-listbox-to-popup-expected.png:
      * platform/efl/fast/forms/select-change-popup-to-listbox-expected.png:
      * platform/efl/fast/forms/select-dirty-parent-pref-widths-expected.png:
      * platform/efl/fast/forms/select-display-none-style-resolve-expected.png:
      * platform/efl/fast/forms/select-initial-position-expected.png:
      * platform/efl/fast/forms/select-item-background-clip-expected.png:
      * platform/efl/fast/forms/select-list-box-with-height-expected.png:
      * platform/efl/fast/forms/select-size-expected.png:
      * platform/efl/fast/forms/select-visual-hebrew-expected.png:
      * platform/efl/fast/forms/select/optgroup-rendering-expected.png:
      * platform/efl/fast/forms/tabbing-input-iframe-expected.png:
      * platform/efl/fast/forms/targeted-frame-submission-expected.png:
      * platform/efl/fast/forms/text-style-color-expected.png:
      * platform/efl/fast/forms/textAreaLineHeight-expected.png:
      * platform/efl/fast/forms/textarea-align-expected.png:
      * platform/efl/fast/forms/textarea-width-expected.png:
      * platform/efl/fast/forms/textfield-focus-ring-expected.png:
      * platform/efl/fast/forms/textfield-outline-expected.png:
      * platform/efl/fast/forms/visual-hebrew-text-field-expected.png:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126466 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      caee5ed9