1. 21 Nov, 2013 20 commits
  2. 20 Nov, 2013 20 commits
    • stavila@adobe.com's avatar
      [CSS Regions] Implement visual overflow for first & last regions · 6cb976d2
      stavila@adobe.com authored
      https://bugs.webkit.org/show_bug.cgi?id=118665
      
      Source/WebCore:
      
      In order to properly propagate the visual overflow of elements flowed inside regions,
      the responsiblity of painting and hit-testing content inside flow threads has been
      moved to the flow thread layer's level.
      Each region keeps the associated overflow with each box in the RenderBoxRegionInfo
      structure, including one for the flow thread itself. This data is used during
      painting and hit-testing.
      
      Reviewed by David Hyatt.
      
      Tests: fast/regions/overflow-first-and-last-regions-in-container-hidden.html
             fast/regions/overflow-first-and-last-regions.html
             fast/regions/overflow-nested-regions.html
             fast/regions/overflow-region-float.html
             fast/regions/overflow-region-inline.html
             fast/regions/overflow-region-transform.html
      
      * rendering/InlineFlowBox.cpp:
      (WebCore::InlineFlowBox::setLayoutOverflow):
      (WebCore::InlineFlowBox::setVisualOverflow):
      * rendering/InlineFlowBox.h:
      * rendering/RenderBlock.cpp:
      (WebCore::RenderBlock::addOverflowFromChildren):
      (WebCore::RenderBlock::paint):
      (WebCore::RenderBlock::paintObject):
      (WebCore::RenderBlock::estimateRegionRangeForBoxChild):
      (WebCore::RenderBlock::updateRegionRangeForBoxChild):
      * rendering/RenderBlockFlow.cpp:
      (WebCore::RenderBlockFlow::hasNextPage):
      (WebCore::RenderBlockFlow::relayoutForPagination):
      * rendering/RenderBlockLineLayout.cpp:
      (WebCore::RenderBlockFlow::positionNewFloatOnLine):
      * rendering/RenderBox.cpp:
      (WebCore::RenderBox::borderBoxRectInRegion):
      (WebCore::RenderBox::computeRectForRepaint):
      (WebCore::RenderBox::addLayoutOverflow):
      (WebCore::RenderBox::addVisualOverflow):
      (WebCore::RenderBox::isUnsplittableForPagination):
      (WebCore::RenderBox::overflowRectForPaintRejection):
      * rendering/RenderBox.h:
      (WebCore::RenderBox::canHaveOutsideRegionRange):
      * rendering/RenderBoxModelObject.cpp:
      (WebCore::RenderBoxModelObject::paintMaskForTextFillBox):
      (WebCore::RenderBoxModelObject::paintFillLayerExtended):
      * rendering/RenderBoxModelObject.h:
      * rendering/RenderBoxRegionInfo.h:
      (WebCore::RenderBoxRegionInfo::createOverflow):
      * rendering/RenderFlowThread.cpp:
      (WebCore::RenderFlowThread::objectShouldPaintInFlowRegion):
      (WebCore::RenderFlowThread::mapFromLocalToFlowThread):
      (WebCore::RenderFlowThread::mapFromFlowThreadToLocal):
      (WebCore::RenderFlowThread::decorationsClipRectForBoxInRegion):
      (WebCore::RenderFlowThread::flipForWritingModeLocalCoordinates):
      (WebCore::RenderFlowThread::addRegionsOverflowFromChild):
      (WebCore::RenderFlowThread::addRegionsVisualOverflow):
      (WebCore::CurrentRenderFlowThreadMaintainer::CurrentRenderFlowThreadMaintainer):
      * rendering/RenderFlowThread.h:
      * rendering/RenderLayer.cpp:
      (WebCore::RenderLayer::updateLayerPositions):
      (WebCore::expandClipRectForRegionAndReflection):
      (WebCore::expandClipRectForDescendantsAndReflection):
      (WebCore::RenderLayer::paintLayer):
      (WebCore::RenderLayer::paintLayerContents):
      (WebCore::RenderLayer::updatePaintingInfoForFragments):
      (WebCore::RenderLayer::paintForegroundForFragments):
      (WebCore::RenderLayer::hitTest):
      (WebCore::RenderLayer::hitTestLayer):
      (WebCore::RenderLayer::mapLayerClipRectsToFragmentationLayer):
      (WebCore::RenderLayer::calculateClipRects):
      (WebCore::RenderLayer::parentClipRects):
      (WebCore::RenderLayer::calculateRects):
      (WebCore::RenderLayer::intersectsDamageRect):
      (WebCore::RenderLayer::updateDescendantsLayerListsIfNeeded):
      (WebCore::RenderLayer::repaintIncludingDescendants):
      (WebCore::RenderLayer::paintNamedFlowThreadInsideRegion):
      (WebCore::RenderLayer::paintFlowThreadIfRegion):
      (WebCore::RenderLayer::hitTestFlowThreadIfRegion):
      * rendering/RenderLayer.h:
      (WebCore::ClipRect::inflateX):
      (WebCore::ClipRect::inflateY):
      (WebCore::ClipRect::inflate):
      * rendering/RenderLayerCompositor.cpp:
      (WebCore::RenderLayerCompositor::computeCompositingRequirements):
      * rendering/RenderListItem.cpp:
      (WebCore::RenderListItem::addOverflowFromChildren):
      * rendering/RenderMultiColumnSet.cpp:
      (WebCore::RenderMultiColumnSet::flowThreadPortionOverflowRect):
      (WebCore::RenderMultiColumnSet::repaintFlowThreadContent):
      * rendering/RenderMultiColumnSet.h:
      * rendering/RenderNamedFlowFragment.cpp:
      (WebCore::RenderNamedFlowFragment::createStyle):
      (WebCore::RenderNamedFlowFragment::namedFlowThread):
      * rendering/RenderNamedFlowFragment.h:
      * rendering/RenderOverflow.h:
      * rendering/RenderRegion.cpp:
      (WebCore::RenderRegion::flowThreadPortionOverflowRect):
      (WebCore::RenderRegion::flowThreadPortionLocation):
      (WebCore::RenderRegion::regionContainerLayer):
      (WebCore::RenderRegion::overflowRectForFlowThreadPortion):
      (WebCore::RenderRegion::computeOverflowFromFlowThread):
      (WebCore::RenderRegion::repaintFlowThreadContent):
      (WebCore::RenderRegion::repaintFlowThreadContentRectangle):
      (WebCore::RenderRegion::insertedIntoTree):
      (WebCore::RenderRegion::ensureOverflowForBox):
      (WebCore::RenderRegion::rectFlowPortionForBox):
      (WebCore::RenderRegion::addLayoutOverflowForBox):
      (WebCore::RenderRegion::addVisualOverflowForBox):
      (WebCore::RenderRegion::layoutOverflowRectForBox):
      (WebCore::RenderRegion::visualOverflowRectForBox):
      (WebCore::RenderRegion::visualOverflowRectForBoxForPropagation):
      * rendering/RenderRegion.h:
      * rendering/RenderReplaced.cpp:
      (WebCore::RenderReplaced::shouldPaint):
      * rendering/RootInlineBox.cpp:
      (WebCore::RootInlineBox::paint):
      
      LayoutTests:
      
      Rebased some tests due to regions layers changes.
      Updated some tests to increase clarity. Some of them were only passing because two
      regions were close together and the fact that an element was being painted
      inside the wrong region was not visible. Floats are now also unsplittable.
              - bottom-overflow-out-of-first-region
              - float-pushed-width-change-2
              - float-pushed-width-change
              - webkit-flow-float-unable-to-push
      
      Changed top-overflow-out-of-second-region to reftest.
      
      Added new tests for testing the visual overflow in different situations
      (transformed, inline, opacity, floating).
      
      Reviewed by David Hyatt.
      
      * fast/regions/bottom-overflow-out-of-first-region-expected.html:
      * fast/regions/bottom-overflow-out-of-first-region.html:
      * fast/regions/counters/extract-ordered-lists-in-regions-explicit-counters-005-expected.html:
      * fast/regions/counters/extract-ordered-lists-in-regions-explicit-counters-005.html:
      * fast/regions/element-in-named-flow-absolute-from-fixed-expected.txt:
      * fast/regions/element-in-named-flow-fixed-from-absolute-expected.txt:
      * fast/regions/element-inflow-fixed-from-outflow-static-expected.txt:
      * fast/regions/element-outflow-static-from-inflow-fixed-expected.txt:
      * fast/regions/float-pushed-width-change-2-expected.html:
      * fast/regions/float-pushed-width-change-2.html:
      * fast/regions/float-pushed-width-change-expected.html:
      * fast/regions/float-pushed-width-change.html:
      * fast/regions/layers/dynamic-layer-added-with-no-layout-expected.txt: Added.
      * fast/regions/layers/dynamic-layer-removed-with-no-layout-expected.txt: Added.
      * fast/regions/layers/regions-promoted-to-layers-expected.txt: Added.
      * fast/regions/layers/regions-promoted-to-layers-horizontal-bt-expected.txt: Added.
      * fast/regions/layers/regions-promoted-to-layers-vertical-lr-expected.txt: Added.
      * fast/regions/layers/regions-promoted-to-layers-vertical-rl-expected.txt: Added.
      * fast/regions/outline-sides-in-region-expected.html:
      * fast/regions/outline-sides-in-region.html:
      * fast/regions/overflow-first-and-last-regions-expected.html: Added.
      * fast/regions/overflow-first-and-last-regions-in-container-hidden-expected.html: Added.
      * fast/regions/overflow-first-and-last-regions-in-container-hidden.html: Added.
      * fast/regions/overflow-first-and-last-regions.html: Added.
      * fast/regions/overflow-last-region-expected.html: Removed.
      * fast/regions/overflow-last-region.html: Removed.
      * fast/regions/overflow-nested-regions-expected.html: Added.
      * fast/regions/overflow-nested-regions.html: Added.
      * fast/regions/overflow-region-float-expected.html: Added.
      * fast/regions/overflow-region-float.html: Added.
      * fast/regions/overflow-region-inline-expected.html: Added.
      * fast/regions/overflow-region-inline.html: Added.
      * fast/regions/overflow-region-transform-expected.html: Added.
      * fast/regions/overflow-region-transform.html: Added.
      * fast/regions/overflow-scrollable-rotated-fragment-expected.html:
      * fast/regions/overflow-scrollable-rotated-fragment.html:
      * fast/regions/top-overflow-out-of-second-region-expected.html: Copied from LayoutTests/fast/regions/top-overflow-out-of-second-region.html.
      * fast/regions/top-overflow-out-of-second-region.html:
      * fast/regions/webkit-flow-float-unable-to-push-expected.html:
      * fast/regions/webkit-flow-float-unable-to-push.html:
      * platform/gtk/fast/regions/text-region-split-vertical-rl-expected.txt: Removed.
      * platform/gtk/TestExpectations: Add new test expectations for failing tests.
      * platform/efl/TestExpectations: Add new test expectations for failing tests.
      * platform/mac-wk2/TestExpectations:
      * platform/mac/fast/regions/top-overflow-out-of-second-region-expected.png: Removed.
      * platform/mac/fast/regions/top-overflow-out-of-second-region-expected.txt: Removed.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159609 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6cb976d2
    • rniwa@webkit.org's avatar
    • rniwa@webkit.org's avatar
      [HTML parser] reset insertion mode appropriate must check for "in select in table" mode · 303749d9
      rniwa@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=123850
      
      Reviewed by Antti Koivisto.
      
      Source/WebCore:
      
      Merge https://chromium.googlesource.com/chromium/blink/+/2cb7523df57dfb48111f6aa16b7138cd54024ba7
      
      The HTML specification has been updated to detect encountering a template element inside of a select element,
      which in turn is inside of a table element. In this case, the select element will cause the parser to be in
      "InSelectInTable" mode. Thus when the template element closes, it should return to that mode.
      
      The fix here is that resetInsertionModeAppropriately must continue looking up the stack if the first node is
      select element to see whether the select element is inside of a table element.
      
      See also: http://www.whatwg.org/specs/web-apps/current-work/multipage/parsing.html#reset-the-insertion-mode-appropriately
      
      Test: html5lib/resources/template.dat
      
      * html/parser/HTMLTreeBuilder.cpp:
      (WebCore::HTMLTreeBuilder::resetInsertionModeAppropriately):
      
      LayoutTests:
      
      * html5lib/resources/template.dat:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159607 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      303749d9
    • mark.lam@apple.com's avatar
      Build fix for last commit. · 79f7a8eb
      mark.lam@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=124634.
      
      Not reviewed.
      
      No new tests.
      
      * bindings/js/JSCryptoAlgorithmBuilder.cpp:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159606 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      79f7a8eb
    • mark.lam@apple.com's avatar
      Introducing VMEntryScope to update the VM stack limit. · 30721257
      mark.lam@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=124634.
      
      Reviewed by Geoffrey Garen.
      
      Source/JavaScriptCore: 
      
      1. Introduced USE(SEPARATE_C_AND_JS_STACK) (defined in Platform.h).
         Currently, it is hardcoded to use separate C and JS stacks. Once we
         switch to using the C stack for JS frames, we'll need to fix this to
         only be enabled when ENABLE(LLINT_C_LOOP).
      
      2. Stack limits are now tracked in the VM.
      
         Logically, there are 2 stack limits:
         a. m_stackLimit for the native C stack, and
         b. m_jsStackLimit for the JS stack.
      
         If USE(SEPARATE_C_AND_JS_STACK), then the 2 limits are the same
         value, and are implemented as 2 fields in a union.
      
      3. The VM native stackLimit is set as follows:
         a. Initially, the VM sets it to the limit of the stack of the thread that
            instantiated the VM. This allows the parser and bytecode generator to
            run before we enter the VM to execute JS code.
      
         b. Upon entry into the VM to execute JS code (via one of the
            Interpreter::execute...() functions), we instantiate a VMEntryScope
            that sets the VM's stackLimit to the limit of the current thread's
            stack. The VMEntryScope will automatically restore the previous
            entryScope and stack limit upon destruction.
      
         If USE(SEPARATE_C_AND_JS_STACK), the JSStack's methods will set the VM's
         jsStackLimit whenever it grows or shrinks.
      
      4. The VM now provides a isSafeToRecurse() function that compares the
         current stack pointer against its native stackLimit. This subsumes and
         obsoletes the VMStackBounds class.
      
      5. The VMEntryScope class also subsumes DynamicGlobalObjectScope for
         tracking the JSGlobalObject that we last entered the VM with.
      
      6. Renamed dynamicGlobalObject() to vmEntryGlobalObject() since that is
         the value that the function retrieves.
      
      7. Changed JIT and LLINT code to do stack checks against the jsStackLimit
         in the VM class instead of the JSStack.
      
      * API/JSBase.cpp:
      (JSEvaluateScript):
      (JSCheckScriptSyntax):
      * API/JSContextRef.cpp:
      (JSGlobalContextRetain):
      (JSGlobalContextRelease):
      * CMakeLists.txt:
      * GNUmakefile.list.am:
      * JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
      * JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
      * JavaScriptCore.xcodeproj/project.pbxproj:
      * bytecompiler/BytecodeGenerator.cpp:
      (JSC::BytecodeGenerator::BytecodeGenerator):
      * bytecompiler/BytecodeGenerator.h:
      (JSC::BytecodeGenerator::emitNode):
      (JSC::BytecodeGenerator::emitNodeInConditionContext):
      * debugger/Debugger.cpp:
      (JSC::Debugger::detach):
      (JSC::Debugger::recompileAllJSFunctions):
      (JSC::Debugger::pauseIfNeeded):
      * debugger/DebuggerCallFrame.cpp:
      (JSC::DebuggerCallFrame::vmEntryGlobalObject):
      * debugger/DebuggerCallFrame.h:
      * dfg/DFGJITCompiler.cpp:
      (JSC::DFG::JITCompiler::compileFunction):
      * dfg/DFGOSREntry.cpp:
      * ftl/FTLLink.cpp:
      (JSC::FTL::link):
      * ftl/FTLOSREntry.cpp:
      * heap/Heap.cpp:
      (JSC::Heap::lastChanceToFinalize):
      (JSC::Heap::deleteAllCompiledCode):
      * interpreter/CachedCall.h:
      (JSC::CachedCall::CachedCall):
      * interpreter/CallFrame.cpp:
      (JSC::CallFrame::vmEntryGlobalObject):
      * interpreter/CallFrame.h:
      * interpreter/Interpreter.cpp:
      (JSC::unwindCallFrame):
      (JSC::Interpreter::unwind):
      (JSC::Interpreter::execute):
      (JSC::Interpreter::executeCall):
      (JSC::Interpreter::executeConstruct):
      (JSC::Interpreter::prepareForRepeatCall):
      (JSC::Interpreter::debug):
      * interpreter/JSStack.cpp:
      (JSC::JSStack::JSStack):
      (JSC::JSStack::growSlowCase):
      * interpreter/JSStack.h:
      * interpreter/JSStackInlines.h:
      (JSC::JSStack::shrink):
      (JSC::JSStack::grow):
      - Moved these inlined functions here from JSStack.h. It reduces some
        #include dependencies of JSSTack.h which had previously resulted
        in some EWS bots' unhappiness with this patch.
      (JSC::JSStack::updateStackLimit):
      * jit/JIT.cpp:
      (JSC::JIT::privateCompile):
      * jit/JITCall.cpp:
      (JSC::JIT::compileLoadVarargs):
      * jit/JITCall32_64.cpp:
      (JSC::JIT::compileLoadVarargs):
      * jit/JITOperations.cpp:
      * llint/LLIntSlowPaths.cpp:
      * llint/LowLevelInterpreter.asm:
      * parser/Parser.cpp:
      (JSC::::Parser):
      * parser/Parser.h:
      (JSC::Parser::canRecurse):
      * runtime/CommonSlowPaths.h:
      * runtime/Completion.cpp:
      (JSC::evaluate):
      * runtime/FunctionConstructor.cpp:
      (JSC::constructFunctionSkippingEvalEnabledCheck):
      * runtime/JSGlobalObject.cpp:
      * runtime/JSGlobalObject.h:
      * runtime/StringRecursionChecker.h:
      (JSC::StringRecursionChecker::performCheck):
      * runtime/VM.cpp:
      (JSC::VM::VM):
      (JSC::VM::releaseExecutableMemory):
      (JSC::VM::throwException):
      * runtime/VM.h:
      (JSC::VM::addressOfJSStackLimit):
      (JSC::VM::jsStackLimit):
      (JSC::VM::setJSStackLimit):
      (JSC::VM::stackLimit):
      (JSC::VM::setStackLimit):
      (JSC::VM::isSafeToRecurse):
      * runtime/VMEntryScope.cpp: Added.
      (JSC::VMEntryScope::VMEntryScope):
      (JSC::VMEntryScope::~VMEntryScope):
      (JSC::VMEntryScope::requiredCapacity):
      * runtime/VMEntryScope.h: Added.
      (JSC::VMEntryScope::globalObject):
      * runtime/VMStackBounds.h: Removed.
      
      Source/WebCore: 
      
      No new tests.
      
      Renamed dynamicGlobalObject() to vmEntryGlobalObject().
      Replaced uses of DynamicGlobalObjectScope with VMEntryScope.
      
      * ForwardingHeaders/runtime/VMEntryScope.h: Added.
      * WebCore.vcxproj/WebCore.vcxproj:
      * WebCore.vcxproj/WebCore.vcxproj.filters:
      * bindings/js/JSCryptoAlgorithmBuilder.cpp:
      (WebCore::JSCryptoAlgorithmBuilder::add):
      * bindings/js/JSCustomXPathNSResolver.cpp:
      (WebCore::JSCustomXPathNSResolver::create):
      * bindings/js/JSDOMBinding.cpp:
      (WebCore::firstDOMWindow):
      * bindings/js/JSErrorHandler.cpp:
      (WebCore::JSErrorHandler::handleEvent):
      * bindings/js/JSEventListener.cpp:
      (WebCore::JSEventListener::handleEvent):
      * bindings/js/JavaScriptCallFrame.h:
      (WebCore::JavaScriptCallFrame::vmEntryGlobalObject):
      * bindings/js/PageScriptDebugServer.cpp:
      (WebCore::PageScriptDebugServer::recompileAllJSFunctions):
      * bindings/js/ScriptDebugServer.cpp:
      (WebCore::ScriptDebugServer::evaluateBreakpointAction):
      (WebCore::ScriptDebugServer::handlePause):
      * bindings/js/WorkerScriptDebugServer.cpp:
      (WebCore::WorkerScriptDebugServer::recompileAllJSFunctions):
      * bindings/objc/WebScriptObject.mm:
      (WebCore::addExceptionToConsole):
      * bridge/c/c_utility.cpp:
      (JSC::Bindings::convertValueToNPVariant):
      * bridge/objc/objc_instance.mm:
      (ObjcInstance::moveGlobalExceptionToExecState):
      * bridge/objc/objc_runtime.mm:
      (JSC::Bindings::convertValueToObjcObject):
      * bridge/objc/objc_utility.mm:
      (JSC::Bindings::convertValueToObjcValue):
      
      Source/WebKit/mac: 
      
      * WebView/WebScriptDebugger.mm:
      (WebScriptDebugger::sourceParsed):
      
      Source/WTF: 
      
      * wtf/Platform.h:
      * wtf/StackBounds.h:
      (WTF::StackBounds::StackBounds):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159605 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      30721257
    • gyuyoung.kim@samsung.com's avatar
      Generate toHTMLFooElement() to clean up static_cast<> · b86fc58f
      gyuyoung.kim@samsung.com authored
      https://bugs.webkit.org/show_bug.cgi?id=124571
      
      Reviewed by Ryosuke Niwa.
      
      Though there are a lot of clean up commits before, there are still
      use of static_cast<HTMLFooElement*>. To clean up them, we need to generate
      toHTMLDetails|Meta|Summary|TableCaptionElement().
      
      Additionally, other static_cast<> are removed as well.
      
      No new tests, no behavior changes.
      
      * html/HTMLDetailsElement.h:
      * html/HTMLMediaElement.cpp:
      (HTMLMediaElement::selectNextSourceChild):
      * html/HTMLMetaElement.h:
      * html/HTMLObjectElement.cpp:
      (WebCore::HTMLObjectElement::shouldAllowQuickTimeClassIdQuirk):
      * html/HTMLOptionElement.cpp:
      (WebCore::HTMLOptionElement::isDisabledFormControl):
      * html/HTMLPlugInImageElement.cpp:
      (WebCore::HTMLPlugInImageElement::updateWidgetCallback):
      * html/HTMLSummaryElement.cpp:
      (WebCore::HTMLSummaryElement::detailsElement):
      * html/HTMLSummaryElement.h:
      * html/HTMLTableCaptionElement.h:
      * html/HTMLTableElement.cpp:
      (WebCore::HTMLTableElement::caption):
      * html/HTMLTagNames.in:
      * html/MediaDocument.cpp:
      (WebCore::MediaDocumentParser::createDocumentStructure):
      * html/shadow/DetailsMarkerControl.cpp:
      (WebCore::DetailsMarkerControl::summaryElement):
      * loader/FrameLoader.cpp:
      (WebCore::FrameLoader::handleFallbackContent):
      * loader/ImageLoader.cpp:
      (WebCore::ImageLoader::dispatchPendingBeforeLoadEvent):
      * page/DragController.cpp:
      (WebCore::DragController::canProcessDrag):
      * page/Frame.cpp:
      (WebCore::Frame::searchForLabelsBeforeElement):
      * page/SpatialNavigation.cpp:
      (WebCore::frameOwnerElement):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159604 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b86fc58f
    • weinig@apple.com's avatar
      WebPageGroup's should keep track of what processes they are being used by · 8ebc9866
      weinig@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=124556
      
      Reviewed by Dan Bernstein.
      
      * Scripts/webkit2/messages.py:
      (struct_or_class):
      Mark WebPageGroupData as a struct.
      
      * Shared/UserMessageCoders.h:
      * Shared/mac/ObjCObjectGraphCoders.h:
      * Shared/mac/ObjCObjectGraphCoders.mm:
      * WebProcess/InjectedBundle/InjectedBundleUserMessageCoders.h:
      * UIProcess/WebConnectionToWebProcess.cpp:
      * UIProcess/WebContext.cpp:
      * UIProcess/WebContextUserMessageCoders.h:
      * UIProcess/WebPageProxy.cpp:
      * UIProcess/WebPageProxy.h:
      Pass the WebProcess/WebProcessProxy to both encode and decode.
      
      * Shared/WebPageCreationParameters.h:
      Pass the page group by ID when creating a page, as it will have had its own
      creation message sent already.
      
      * UIProcess/WebPageGroup.cpp:
      * UIProcess/WebPageGroup.h:
      Keep track of processes.
      
      * UIProcess/WebProcessProxy.cpp:
      * UIProcess/WebProcessProxy.h:
      Keep track of the page groups used by the process.
      
      * WebProcess/WebPage/WebPage.cpp:
      Get the already created page group on creation.
      
      * WebProcess/WebProcess.cpp:
      * WebProcess/WebProcess.h:
      * WebProcess/WebProcess.messages.in:
      Explicitly create page groups in the WebProcess.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159603 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8ebc9866
    • dino@apple.com's avatar
      Allow settings to be shown/hidden on build.webkit.org/dashboard · 92b0effb
      dino@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=124694
      
      Reviewed by Tim Horton.
      
      In preparation for more options/buttons, allow the page to
      show or hide all the interactive things using a little gear icon
      in the top left corner.
      
      * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Main.js:
      * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Settings.js:
      (Settings.prototype.toggleSettingsDisplay):
      * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/Main.css:
      (div.cellButton.hide):
      (div.cellButton.unhide):
      (.settings-visible div.cellButton.hide, .settings-visible div.cellButton.unhide):
      (.settings):
      (.settings:hover):
      (.settings-visible .settings):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159602 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      92b0effb
    • dino@apple.com's avatar
      No need to base64 SVG on build.webkit.org/dashboard · 01062c89
      dino@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=124687
      
      Reviewed by Tim Horton.
      
      * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/StatusLineView.css:
      (.status-line.good .bubble.pictogram):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159601 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      01062c89
    • dino@apple.com's avatar
      Make links look more like links on build.webkit.org/dashboard · 6235e1c5
      dino@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=124686
      
      Reviewed by Tim Horton.
      
      * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/BuildbotQueueView.css:
      (.queue-view .queueLabel:hover):
      * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/StatusLineView.css:
      (.status-line.linked .label:hover):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159600 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6235e1c5
    • commit-queue@webkit.org's avatar
      Modify webkitdirs to reuse checkForArgumentAndRemoveFromARGV · b09cfb3c
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=124581
      
      Patch by Nick Diego Yamane <nick.yamane@openbossa.org> on 2013-11-20
      Reviewed by Daniel Bates.
      
      Some subroutines are replicating code from checkForArgument**
      functions instead of reusing them as is being done by all other functions.
      
      * Scripts/webkitdirs.pm:
      (determineXcodeSDK): Added.
      (determinePassedConfiguration): Added.
      (determinePassedArchitecture): Added.
      (checkForArgumentAndRemoveFromARGV): Added.
      (checkForArgumentAndRemoveFromARGVGettingValue): Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159599 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b09cfb3c
    • beidson@apple.com's avatar
      IDB related cleanup in WebKit2 · d5e5289e
      beidson@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=124691
      
      Reviewed by Enrica Casucci.
      
      - WebIDBServerConnection.cpp should use the WebCore namespace and get rid of "WebCore::" throughout
      - "backendIndentifier" should be renamed to "serverConnectionIdentifier" throughout
      
      * DatabaseProcess/DatabaseToWebProcessConnection.cpp:
      (WebKit::DatabaseToWebProcessConnection::establishIDBConnection):
      * DatabaseProcess/DatabaseToWebProcessConnection.h:
      * DatabaseProcess/DatabaseToWebProcessConnection.messages.in:
      
      * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp:
      (WebKit::DatabaseProcessIDBConnection::DatabaseProcessIDBConnection):
      * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h:
      (WebKit::DatabaseProcessIDBConnection::create):
      
      * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
      (WebKit::generateServerConnectionIdentifier):
      (WebKit::WebIDBServerConnection::WebIDBServerConnection):
      (WebKit::WebIDBServerConnection::openTransaction):
      (WebKit::WebIDBServerConnection::setIndexKeys):
      (WebKit::WebIDBServerConnection::createObjectStore):
      (WebKit::WebIDBServerConnection::createIndex):
      (WebKit::WebIDBServerConnection::deleteIndex):
      (WebKit::WebIDBServerConnection::get):
      (WebKit::WebIDBServerConnection::put):
      (WebKit::WebIDBServerConnection::openCursor):
      (WebKit::WebIDBServerConnection::count):
      (WebKit::WebIDBServerConnection::deleteRange):
      (WebKit::WebIDBServerConnection::clearObjectStore):
      (WebKit::WebIDBServerConnection::deleteObjectStore):
      (WebKit::WebIDBServerConnection::changeDatabaseVersion):
      (WebKit::WebIDBServerConnection::cursorAdvance):
      (WebKit::WebIDBServerConnection::cursorIterate):
      (WebKit::WebIDBServerConnection::cursorPrefetchIteration):
      (WebKit::WebIDBServerConnection::cursorPrefetchReset):
      * WebProcess/Databases/IndexedDB/WebIDBServerConnection.h:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159598 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d5e5289e
    • beidson@apple.com's avatar
      Add argument coders for IDBDatabaseMetadata classes · 3002fe3e
      beidson@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=124689
      
      Reviewed by Anders Carlsson.
      
      Add coders for:
        - IDBDatabaseMetadata
        - IDBIndexMetadata
        - IDBKeyPath
        - IDBObjectStoreMetadata
      
      * Shared/WebCoreArgumentCoders.cpp:
      (CoreIPC::::encode):
      (CoreIPC::::decode):
      * Shared/WebCoreArgumentCoders.h:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159597 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3002fe3e
    • rniwa@webkit.org's avatar
      Clear TemplateContentDocumentFragment::m_host when HTMLTemplateElement is destroyed · 473cc62e
      rniwa@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=122806
      
      Reviewed by Antti Koivisto.
      
      Source/WebCore:
      
      Merge https://chromium.googlesource.com/chromium/blink/+/858ed5f6341de9d900768c1f4668fcfce870c52e
      
      The document fragment of a template element outlives the element itself.
      Clear the host property on the document fragment when that happens.
      
      Test: fast/dom/HTMLTemplateElement/content-outlives-template-crash.html
      
      * dom/TemplateContentDocumentFragment.h:
      * html/HTMLTemplateElement.cpp:
      (WebCore::HTMLTemplateElement::~HTMLTemplateElement):
      * html/HTMLTemplateElement.h:
      
      LayoutTests:
      
      * fast/dom/HTMLTemplateElement/content-outlives-template-crash-expected.txt: Added.
      * fast/dom/HTMLTemplateElement/content-outlives-template-crash.html: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159596 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      473cc62e
    • commit-queue@webkit.org's avatar
      Delete baseline optimizer · 77a72fb7
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=122333
      
      Patch by Jozsef Berta <jberta@inf.u-szeged.hu> on 2013-11-20
      Reviewed by Ryosuke Niwa.
      
      * Scripts/webkitpy/common/checkout/baselineoptimizer.py: Removed.
      * Scripts/webkitpy/common/checkout/baselineoptimizer_unittest.py: Removed.
      * Scripts/webkitpy/tool/commands/rebaseline.py:
      (RebaselineTest.execute):
      (AbstractParallelRebaselineCommand._files_to_add):
      (AbstractParallelRebaselineCommand._rebaseline):
      * Scripts/webkitpy/tool/commands/rebaseline_unittest.py:
      (TestRebaselineJson.test_rebaseline_all):
      (TestRebaselineJson.test_rebaseline_debug):
      (TestRebaselineExpectations.disabled_test_overrides_are_included_correctly):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159595 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      77a72fb7
    • msaboff@apple.com's avatar
      [Win] JavaScript JIT crash (with DFG enabled). · 0e773038
      msaboff@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=124675
      
      Reviewed by Geoffrey Garen.
      
      Similar to the change in r159427, changed linkClosureCall to use regT0/regT1 (payload/tag) for the callee.
      linkForThunkGenerator already expected the callee in regT0/regT1, but changed the comment to reflect that.
      
      * jit/Repatch.cpp:
      (JSC::linkClosureCall):
      * jit/ThunkGenerators.cpp:
      (JSC::linkForThunkGenerator):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159593 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0e773038
    • cfleizach@apple.com's avatar
      AX: Implement CSS -webkit-alt property (text alternative for generated content... · a171d862
      cfleizach@apple.com authored
      AX: Implement CSS -webkit-alt property (text alternative for generated content pseudo-elements ::before and ::after)
      https://bugs.webkit.org/show_bug.cgi?id=120188
      
      Reviewed by Dean Jackson.
      
      Source/WebCore: 
      
      Add a -webkit-alt CSS property that can be used to label Image content or Text content for accessibility clients.
      
      To accomplish this, it sets the string in the RenderStyle. Then when the ContentData creates an anonymous renderer,
      it sets that string on the TextFragment or RenderImage, which can be queried by accessibility code.
      
      Test: platform/mac/accessibility/webkit-alt-for-css-content.html
      
      * accessibility/AccessibilityNodeObject.cpp:
      (WebCore::AccessibilityNodeObject::alternativeText):
      * accessibility/AccessibilityRenderObject.cpp:
      (WebCore::AccessibilityRenderObject::textUnderElement):
      (WebCore::objectInclusionFromAltText):
      (WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored):
      * css/CSSComputedStyleDeclaration.cpp:
      (WebCore::altTextToCSSValue):
      (WebCore::ComputedStyleExtractor::propertyValue):
      * css/CSSParser.cpp:
      (WebCore::CSSParser::parseValue):
      (WebCore::CSSParser::parseAlt):
      * css/CSSParser.h:
      * css/CSSPropertyNames.in:
      * css/StyleResolver.cpp:
      (WebCore::StyleResolver::applyProperty):
      * rendering/RenderImage.h:
      (WebCore::RenderImage::altText):
      (WebCore::RenderImage::setAltText):
      * rendering/RenderTextFragment.h:
      * rendering/style/ContentData.cpp:
      (WebCore::ImageContentData::createRenderer):
      (WebCore::TextContentData::createRenderer):
      * rendering/style/ContentData.h:
      (WebCore::ContentData::setAltText):
      (WebCore::ContentData::altText):
      * rendering/style/RenderStyle.cpp:
      (WebCore::RenderStyle::setContent):
      (WebCore::RenderStyle::setContentAltText):
      (WebCore::RenderStyle::contentAltText):
      * rendering/style/RenderStyle.h:
      * rendering/style/StyleRareNonInheritedData.h:
      
      LayoutTests: 
      
      * platform/mac/accessibility/webkit-alt-for-css-content-expected.txt: Added.
      * platform/mac/accessibility/webkit-alt-for-css-content.html: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159591 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a171d862
    • roger_fong@apple.com's avatar
      Use compile flag SH_UNFOLD_SHORT_CIRCUIT when compiling shaders. · 235aef9b
      roger_fong@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=124684.
      
      Reviewed by Brent Fulgham.
      
      Existing test webgl/1.0.2/conformance/glsl/misc/shader-with-short-circuiting-operators.html
      
      * platform/graphics/opengl/Extensions3DOpenGLCommon.cpp:
      (WebCore::Extensions3DOpenGLCommon::getTranslatedShaderSourceANGLE):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159590 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      235aef9b
    • dino@apple.com's avatar
      Unreviewed. Updated expected result following · 6bf2d659
      dino@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=124666
      
      * platform/mac/fast/block/margin-collapse/empty-clear-blocks-expected.png:
      * platform/mac/fast/block/margin-collapse/empty-clear-blocks-expected.txt:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159589 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6bf2d659
    • commit-queue@webkit.org's avatar
      [curl] Improve detecting and handling of SSL related errors · f572c773
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=119436
      
      Patch by Robert Sipka <sipka@inf.u-szeged.hu> on 2013-11-20
      Reviewed by Brent Fulgham.
      
      Set the exact SSL verification error on CURL
      and store the enabled domain with certificate.
      
      * WebCore.vcxproj/WebCore.vcxproj:
      * WebCore.vcxproj/WebCore.vcxproj.filters:
      * platform/network/ResourceHandle.h:
      * platform/network/ResourceHandleInternal.h:
      (WebCore::ResourceHandleInternal::ResourceHandleInternal):
      * platform/network/curl/ResourceError.h:
      (WebCore::ResourceError::ResourceError):
      (WebCore::ResourceError::sslErrors):
      (WebCore::ResourceError::setSSLErrors):
      * platform/network/curl/ResourceHandleCurl.cpp:
      (WebCore::ResourceHandle::setHostAllowsAnyHTTPSCertificate):
      * platform/network/curl/ResourceHandleManager.cpp:
      (WebCore::ResourceHandleManager::downloadTimerCallback):
      (WebCore::ResourceHandleManager::initializeHandle):
      * platform/network/curl/SSLHandle.cpp: Added.
      (WebCore::allowsAnyHTTPSCertificateHosts):
      (WebCore::sslIgnoreHTTPSCertificate):
      (WebCore::sslCertificateFlag):
      (WebCore::pemData):
      (WebCore::certVerifyCallback):
      (WebCore::sslctxfun):
      (WebCore::setSSLVerifyOptions):
      * platform/network/curl/SSLHandle.h: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159587 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f572c773